@build-astron-co/nimbus 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +268 -89
- package/README.md +26 -567
- package/dist/src/agent/compaction-agent.js +24 -12
- package/dist/src/agent/context-manager.js +2 -1
- package/dist/src/agent/expand-files.js +2 -1
- package/dist/src/agent/loop.js +71 -33
- package/dist/src/agent/permissions.js +4 -2
- package/dist/src/agent/system-prompt.js +34 -17
- package/dist/src/app.js +1 -1
- package/dist/src/auth/keychain.js +8 -4
- package/dist/src/auth/store.js +70 -107
- package/dist/src/cli/init.js +35 -19
- package/dist/src/cli/run.js +18 -10
- package/dist/src/cli/serve.js +4 -2
- package/dist/src/cli.js +52 -11
- package/dist/src/commands/alias.js +5 -3
- package/dist/src/commands/audit/index.js +2 -1
- package/dist/src/commands/aws-terraform.js +36 -18
- package/dist/src/commands/completions.js +1 -1
- package/dist/src/commands/config.js +3 -2
- package/dist/src/commands/connect-github.js +92 -0
- package/dist/src/commands/cost/index.js +3 -2
- package/dist/src/commands/deploy.js +15 -10
- package/dist/src/commands/doctor.js +9 -6
- package/dist/src/commands/drift/index.js +2 -1
- package/dist/src/commands/export.js +5 -3
- package/dist/src/commands/generate-terraform.js +110 -2
- package/dist/src/commands/import.js +3 -3
- package/dist/src/commands/incident.js +10 -5
- package/dist/src/commands/login.js +8 -93
- package/dist/src/commands/logs.js +16 -8
- package/dist/src/commands/onboarding.js +6 -4
- package/dist/src/commands/pipeline.js +6 -3
- package/dist/src/commands/plugin.js +3 -2
- package/dist/src/commands/profile.js +27 -14
- package/dist/src/commands/questionnaire.js +1 -1
- package/dist/src/commands/rollback.js +3 -2
- package/dist/src/commands/rollout.js +5 -3
- package/dist/src/commands/runbook.js +17 -10
- package/dist/src/commands/schedule.js +10 -5
- package/dist/src/commands/status.js +2 -1
- package/dist/src/commands/team-context.js +12 -7
- package/dist/src/commands/template.js +1 -1
- package/dist/src/commands/tf/index.js +6 -3
- package/dist/src/commands/upgrade.js +5 -3
- package/dist/src/commands/version.js +6 -3
- package/dist/src/commands/watch.js +6 -3
- package/dist/src/compat/sqlite.js +5 -3
- package/dist/src/config/mode-store.js +2 -1
- package/dist/src/config/profiles.js +4 -2
- package/dist/src/config/types.js +2 -1
- package/dist/src/engine/executor.js +8 -4
- package/dist/src/engine/planner.js +9 -5
- package/dist/src/llm/providers/anthropic.js +6 -3
- package/dist/src/llm/providers/ollama.js +1 -1
- package/dist/src/llm/router.js +22 -7
- package/dist/src/nimbus.js +1 -0
- package/dist/src/sessions/manager.js +6 -3
- package/dist/src/sharing/viewer.js +2 -1
- package/dist/src/tools/file-ops.js +1 -2
- package/dist/src/tools/schemas/devops.js +197 -108
- package/dist/src/tools/schemas/standard.js +1 -1
- package/dist/src/ui/App.js +25 -13
- package/dist/src/ui/FileDiffModal.js +22 -11
- package/dist/src/ui/HelpModal.js +2 -1
- package/dist/src/ui/InputBox.js +6 -3
- package/dist/src/ui/MessageList.js +40 -20
- package/dist/src/ui/TerminalPane.js +2 -1
- package/dist/src/ui/ToolCallDisplay.js +12 -6
- package/dist/src/ui/TreePane.js +2 -1
- package/dist/src/ui/ink/index.js +37 -21
- package/dist/src/version.js +1 -1
- package/dist/src/watcher/index.js +8 -4
- package/package.json +3 -5
- package/src/__tests__/alias.test.ts +0 -133
- package/src/__tests__/app.test.ts +0 -76
- package/src/__tests__/audit.test.ts +0 -877
- package/src/__tests__/circuit-breaker.test.ts +0 -116
- package/src/__tests__/cli-run.test.ts +0 -351
- package/src/__tests__/compat-sqlite.test.ts +0 -68
- package/src/__tests__/context-manager.test.ts +0 -632
- package/src/__tests__/context.test.ts +0 -242
- package/src/__tests__/devops-terminal-gaps.test.ts +0 -718
- package/src/__tests__/doctor.test.ts +0 -48
- package/src/__tests__/enterprise.test.ts +0 -401
- package/src/__tests__/export.test.ts +0 -236
- package/src/__tests__/gap-11-18-20.test.ts +0 -958
- package/src/__tests__/generator.test.ts +0 -433
- package/src/__tests__/helm-streaming.test.ts +0 -127
- package/src/__tests__/hooks.test.ts +0 -582
- package/src/__tests__/incident.test.ts +0 -179
- package/src/__tests__/init.test.ts +0 -487
- package/src/__tests__/intent-parser.test.ts +0 -229
- package/src/__tests__/llm-router.test.ts +0 -209
- package/src/__tests__/logs.test.ts +0 -107
- package/src/__tests__/loop-errors.test.ts +0 -244
- package/src/__tests__/lsp.test.ts +0 -293
- package/src/__tests__/modes.test.ts +0 -336
- package/src/__tests__/perf-optimizations.test.ts +0 -847
- package/src/__tests__/permissions.test.ts +0 -338
- package/src/__tests__/pipeline.test.ts +0 -50
- package/src/__tests__/polish-phase3.test.ts +0 -340
- package/src/__tests__/profile.test.ts +0 -237
- package/src/__tests__/rollback.test.ts +0 -83
- package/src/__tests__/runbook.test.ts +0 -219
- package/src/__tests__/schedule.test.ts +0 -206
- package/src/__tests__/serve.test.ts +0 -275
- package/src/__tests__/sessions.test.ts +0 -322
- package/src/__tests__/sharing.test.ts +0 -340
- package/src/__tests__/snapshots.test.ts +0 -581
- package/src/__tests__/standalone-migration.test.ts +0 -199
- package/src/__tests__/state-db.test.ts +0 -334
- package/src/__tests__/status.test.ts +0 -158
- package/src/__tests__/stream-with-tools.test.ts +0 -778
- package/src/__tests__/subagents.test.ts +0 -176
- package/src/__tests__/system-prompt.test.ts +0 -248
- package/src/__tests__/terminal-gap-v2.test.ts +0 -395
- package/src/__tests__/terminal-parity.test.ts +0 -393
- package/src/__tests__/tf-apply.test.ts +0 -187
- package/src/__tests__/tool-converter.test.ts +0 -256
- package/src/__tests__/tool-schemas.test.ts +0 -602
- package/src/__tests__/tools.test.ts +0 -144
- package/src/__tests__/version-json.test.ts +0 -184
- package/src/__tests__/version.test.ts +0 -49
- package/src/__tests__/watch.test.ts +0 -129
- package/src/agent/compaction-agent.ts +0 -266
- package/src/agent/context-manager.ts +0 -499
- package/src/agent/context.ts +0 -427
- package/src/agent/deploy-preview.ts +0 -487
- package/src/agent/expand-files.ts +0 -108
- package/src/agent/index.ts +0 -68
- package/src/agent/loop.ts +0 -1998
- package/src/agent/modes.ts +0 -429
- package/src/agent/permissions.ts +0 -513
- package/src/agent/subagents/base.ts +0 -116
- package/src/agent/subagents/cost.ts +0 -51
- package/src/agent/subagents/explore.ts +0 -42
- package/src/agent/subagents/general.ts +0 -54
- package/src/agent/subagents/index.ts +0 -102
- package/src/agent/subagents/infra.ts +0 -59
- package/src/agent/subagents/security.ts +0 -69
- package/src/agent/system-prompt.ts +0 -990
- package/src/app.ts +0 -180
- package/src/audit/activity-log.ts +0 -290
- package/src/audit/compliance-checker.ts +0 -540
- package/src/audit/cost-tracker.ts +0 -318
- package/src/audit/index.ts +0 -23
- package/src/audit/security-scanner.ts +0 -641
- package/src/auth/guard.ts +0 -75
- package/src/auth/index.ts +0 -56
- package/src/auth/keychain.ts +0 -82
- package/src/auth/oauth.ts +0 -465
- package/src/auth/providers.ts +0 -470
- package/src/auth/sso.ts +0 -113
- package/src/auth/store.ts +0 -505
- package/src/auth/types.ts +0 -187
- package/src/build.ts +0 -141
- package/src/cli/index.ts +0 -16
- package/src/cli/init.ts +0 -1227
- package/src/cli/openapi-spec.ts +0 -356
- package/src/cli/run.ts +0 -628
- package/src/cli/serve-auth.ts +0 -80
- package/src/cli/serve.ts +0 -539
- package/src/cli/web.ts +0 -71
- package/src/cli.ts +0 -1728
- package/src/clients/core-engine-client.ts +0 -227
- package/src/clients/enterprise-client.ts +0 -334
- package/src/clients/generator-client.ts +0 -351
- package/src/clients/git-client.ts +0 -627
- package/src/clients/github-client.ts +0 -410
- package/src/clients/helm-client.ts +0 -504
- package/src/clients/index.ts +0 -80
- package/src/clients/k8s-client.ts +0 -497
- package/src/clients/llm-client.ts +0 -161
- package/src/clients/rest-client.ts +0 -130
- package/src/clients/service-discovery.ts +0 -38
- package/src/clients/terraform-client.ts +0 -482
- package/src/clients/tools-client.ts +0 -1843
- package/src/clients/ws-client.ts +0 -115
- package/src/commands/alias.ts +0 -100
- package/src/commands/analyze/index.ts +0 -352
- package/src/commands/apply/helm.ts +0 -473
- package/src/commands/apply/index.ts +0 -213
- package/src/commands/apply/k8s.ts +0 -454
- package/src/commands/apply/terraform.ts +0 -582
- package/src/commands/ask.ts +0 -167
- package/src/commands/audit/index.ts +0 -357
- package/src/commands/auth-cloud.ts +0 -407
- package/src/commands/auth-list.ts +0 -134
- package/src/commands/auth-profile.ts +0 -121
- package/src/commands/auth-refresh.ts +0 -187
- package/src/commands/auth-status.ts +0 -141
- package/src/commands/aws/ec2.ts +0 -501
- package/src/commands/aws/iam.ts +0 -397
- package/src/commands/aws/index.ts +0 -133
- package/src/commands/aws/lambda.ts +0 -396
- package/src/commands/aws/rds.ts +0 -439
- package/src/commands/aws/s3.ts +0 -439
- package/src/commands/aws/vpc.ts +0 -393
- package/src/commands/aws-discover.ts +0 -542
- package/src/commands/aws-terraform.ts +0 -755
- package/src/commands/azure/aks.ts +0 -376
- package/src/commands/azure/functions.ts +0 -253
- package/src/commands/azure/index.ts +0 -116
- package/src/commands/azure/storage.ts +0 -478
- package/src/commands/azure/vm.ts +0 -355
- package/src/commands/billing/index.ts +0 -256
- package/src/commands/chat.ts +0 -320
- package/src/commands/completions.ts +0 -268
- package/src/commands/config.ts +0 -372
- package/src/commands/cost/cloud-cost-estimator.ts +0 -266
- package/src/commands/cost/estimator.ts +0 -79
- package/src/commands/cost/index.ts +0 -810
- package/src/commands/cost/parsers/terraform.ts +0 -273
- package/src/commands/cost/parsers/types.ts +0 -25
- package/src/commands/cost/pricing/aws.ts +0 -544
- package/src/commands/cost/pricing/azure.ts +0 -499
- package/src/commands/cost/pricing/gcp.ts +0 -396
- package/src/commands/cost/pricing/index.ts +0 -40
- package/src/commands/demo.ts +0 -250
- package/src/commands/deploy.ts +0 -260
- package/src/commands/doctor.ts +0 -1386
- package/src/commands/drift/index.ts +0 -787
- package/src/commands/explain.ts +0 -277
- package/src/commands/export.ts +0 -146
- package/src/commands/feedback.ts +0 -389
- package/src/commands/fix.ts +0 -324
- package/src/commands/fs/index.ts +0 -402
- package/src/commands/gcp/compute.ts +0 -325
- package/src/commands/gcp/functions.ts +0 -271
- package/src/commands/gcp/gke.ts +0 -438
- package/src/commands/gcp/iam.ts +0 -344
- package/src/commands/gcp/index.ts +0 -129
- package/src/commands/gcp/storage.ts +0 -284
- package/src/commands/generate-helm.ts +0 -1249
- package/src/commands/generate-k8s.ts +0 -1508
- package/src/commands/generate-terraform.ts +0 -1202
- package/src/commands/gh/index.ts +0 -863
- package/src/commands/git/index.ts +0 -1343
- package/src/commands/helm/index.ts +0 -1126
- package/src/commands/help.ts +0 -715
- package/src/commands/history.ts +0 -149
- package/src/commands/import.ts +0 -868
- package/src/commands/incident.ts +0 -166
- package/src/commands/index.ts +0 -367
- package/src/commands/init.ts +0 -1051
- package/src/commands/k8s/index.ts +0 -1137
- package/src/commands/login.ts +0 -716
- package/src/commands/logout.ts +0 -83
- package/src/commands/logs.ts +0 -167
- package/src/commands/onboarding.ts +0 -405
- package/src/commands/pipeline.ts +0 -186
- package/src/commands/plan/display.ts +0 -279
- package/src/commands/plan/index.ts +0 -599
- package/src/commands/plugin.ts +0 -398
- package/src/commands/preview.ts +0 -452
- package/src/commands/profile.ts +0 -342
- package/src/commands/questionnaire.ts +0 -1172
- package/src/commands/resume.ts +0 -47
- package/src/commands/rollback.ts +0 -315
- package/src/commands/rollout.ts +0 -88
- package/src/commands/runbook.ts +0 -346
- package/src/commands/schedule.ts +0 -236
- package/src/commands/status.ts +0 -252
- package/src/commands/team/index.ts +0 -346
- package/src/commands/team-context.ts +0 -220
- package/src/commands/template.ts +0 -233
- package/src/commands/tf/index.ts +0 -1093
- package/src/commands/upgrade.ts +0 -607
- package/src/commands/usage/index.ts +0 -134
- package/src/commands/version.ts +0 -174
- package/src/commands/watch.ts +0 -153
- package/src/compat/index.ts +0 -2
- package/src/compat/runtime.ts +0 -12
- package/src/compat/sqlite.ts +0 -177
- package/src/config/index.ts +0 -17
- package/src/config/manager.ts +0 -530
- package/src/config/mode-store.ts +0 -62
- package/src/config/profiles.ts +0 -84
- package/src/config/safety-policy.ts +0 -358
- package/src/config/schema.ts +0 -125
- package/src/config/types.ts +0 -609
- package/src/config/workspace-state.ts +0 -53
- package/src/context/context-db.ts +0 -199
- package/src/demo/index.ts +0 -349
- package/src/demo/scenarios/full-journey.ts +0 -229
- package/src/demo/scenarios/getting-started.ts +0 -127
- package/src/demo/scenarios/helm-release.ts +0 -341
- package/src/demo/scenarios/k8s-deployment.ts +0 -194
- package/src/demo/scenarios/terraform-vpc.ts +0 -170
- package/src/demo/types.ts +0 -92
- package/src/engine/cost-estimator.ts +0 -480
- package/src/engine/diagram-generator.ts +0 -256
- package/src/engine/drift-detector.ts +0 -902
- package/src/engine/executor.ts +0 -1066
- package/src/engine/index.ts +0 -76
- package/src/engine/orchestrator.ts +0 -636
- package/src/engine/planner.ts +0 -787
- package/src/engine/safety.ts +0 -743
- package/src/engine/verifier.ts +0 -770
- package/src/enterprise/audit.ts +0 -348
- package/src/enterprise/auth.ts +0 -270
- package/src/enterprise/billing.ts +0 -822
- package/src/enterprise/index.ts +0 -17
- package/src/enterprise/teams.ts +0 -443
- package/src/generator/best-practices.ts +0 -1608
- package/src/generator/helm.ts +0 -630
- package/src/generator/index.ts +0 -37
- package/src/generator/intent-parser.ts +0 -514
- package/src/generator/kubernetes.ts +0 -976
- package/src/generator/terraform.ts +0 -1875
- package/src/history/index.ts +0 -8
- package/src/history/manager.ts +0 -250
- package/src/history/types.ts +0 -34
- package/src/hooks/config.ts +0 -432
- package/src/hooks/engine.ts +0 -392
- package/src/hooks/index.ts +0 -4
- package/src/llm/auth-bridge.ts +0 -198
- package/src/llm/circuit-breaker.ts +0 -140
- package/src/llm/config-loader.ts +0 -201
- package/src/llm/cost-calculator.ts +0 -171
- package/src/llm/index.ts +0 -8
- package/src/llm/model-aliases.ts +0 -115
- package/src/llm/provider-registry.ts +0 -63
- package/src/llm/providers/anthropic.ts +0 -462
- package/src/llm/providers/bedrock.ts +0 -477
- package/src/llm/providers/google.ts +0 -405
- package/src/llm/providers/ollama.ts +0 -767
- package/src/llm/providers/openai-compatible.ts +0 -340
- package/src/llm/providers/openai.ts +0 -328
- package/src/llm/providers/openrouter.ts +0 -338
- package/src/llm/router.ts +0 -1104
- package/src/llm/types.ts +0 -232
- package/src/lsp/client.ts +0 -298
- package/src/lsp/languages.ts +0 -119
- package/src/lsp/manager.ts +0 -294
- package/src/mcp/client.ts +0 -402
- package/src/mcp/index.ts +0 -5
- package/src/mcp/manager.ts +0 -133
- package/src/nimbus.ts +0 -233
- package/src/plugins/index.ts +0 -27
- package/src/plugins/loader.ts +0 -334
- package/src/plugins/manager.ts +0 -376
- package/src/plugins/types.ts +0 -284
- package/src/scanners/cicd-scanner.ts +0 -258
- package/src/scanners/cloud-scanner.ts +0 -466
- package/src/scanners/framework-scanner.ts +0 -469
- package/src/scanners/iac-scanner.ts +0 -388
- package/src/scanners/index.ts +0 -539
- package/src/scanners/language-scanner.ts +0 -276
- package/src/scanners/package-manager-scanner.ts +0 -277
- package/src/scanners/types.ts +0 -172
- package/src/sessions/manager.ts +0 -472
- package/src/sessions/types.ts +0 -44
- package/src/sharing/sync.ts +0 -300
- package/src/sharing/viewer.ts +0 -163
- package/src/snapshots/index.ts +0 -2
- package/src/snapshots/manager.ts +0 -530
- package/src/state/artifacts.ts +0 -147
- package/src/state/audit.ts +0 -137
- package/src/state/billing.ts +0 -240
- package/src/state/checkpoints.ts +0 -117
- package/src/state/config.ts +0 -67
- package/src/state/conversations.ts +0 -14
- package/src/state/credentials.ts +0 -154
- package/src/state/db.ts +0 -58
- package/src/state/index.ts +0 -26
- package/src/state/messages.ts +0 -115
- package/src/state/projects.ts +0 -123
- package/src/state/schema.ts +0 -236
- package/src/state/sessions.ts +0 -147
- package/src/state/teams.ts +0 -200
- package/src/telemetry.ts +0 -108
- package/src/tools/aws-ops.ts +0 -952
- package/src/tools/azure-ops.ts +0 -579
- package/src/tools/file-ops.ts +0 -615
- package/src/tools/gcp-ops.ts +0 -625
- package/src/tools/git-ops.ts +0 -773
- package/src/tools/github-ops.ts +0 -799
- package/src/tools/helm-ops.ts +0 -943
- package/src/tools/index.ts +0 -17
- package/src/tools/k8s-ops.ts +0 -819
- package/src/tools/schemas/converter.ts +0 -184
- package/src/tools/schemas/devops.ts +0 -3502
- package/src/tools/schemas/index.ts +0 -73
- package/src/tools/schemas/standard.ts +0 -1148
- package/src/tools/schemas/types.ts +0 -735
- package/src/tools/spawn-exec.ts +0 -148
- package/src/tools/terraform-ops.ts +0 -862
- package/src/types/ambient.d.ts +0 -193
- package/src/types/config.ts +0 -83
- package/src/types/drift.ts +0 -116
- package/src/types/enterprise.ts +0 -335
- package/src/types/index.ts +0 -20
- package/src/types/plan.ts +0 -44
- package/src/types/request.ts +0 -65
- package/src/types/response.ts +0 -54
- package/src/types/service.ts +0 -51
- package/src/ui/App.tsx +0 -2114
- package/src/ui/DeployPreview.tsx +0 -174
- package/src/ui/FileDiffModal.tsx +0 -162
- package/src/ui/Header.tsx +0 -131
- package/src/ui/HelpModal.tsx +0 -57
- package/src/ui/InputBox.tsx +0 -503
- package/src/ui/MessageList.tsx +0 -1032
- package/src/ui/PermissionPrompt.tsx +0 -163
- package/src/ui/StatusBar.tsx +0 -277
- package/src/ui/TerminalPane.tsx +0 -84
- package/src/ui/ToolCallDisplay.tsx +0 -643
- package/src/ui/TreePane.tsx +0 -132
- package/src/ui/chat-ui.ts +0 -850
- package/src/ui/index.ts +0 -33
- package/src/ui/ink/index.ts +0 -1444
- package/src/ui/streaming.ts +0 -176
- package/src/ui/theme.ts +0 -104
- package/src/ui/types.ts +0 -75
- package/src/utils/analytics.ts +0 -72
- package/src/utils/cost-warning.ts +0 -27
- package/src/utils/env.ts +0 -46
- package/src/utils/errors.ts +0 -69
- package/src/utils/event-bus.ts +0 -38
- package/src/utils/index.ts +0 -24
- package/src/utils/logger.ts +0 -171
- package/src/utils/rate-limiter.ts +0 -121
- package/src/utils/service-auth.ts +0 -49
- package/src/utils/validation.ts +0 -53
- package/src/version.ts +0 -4
- package/src/watcher/index.ts +0 -214
- package/src/wizard/approval.ts +0 -383
- package/src/wizard/index.ts +0 -25
- package/src/wizard/prompts.ts +0 -338
- package/src/wizard/types.ts +0 -172
- package/src/wizard/ui.ts +0 -556
- package/src/wizard/wizard.ts +0 -304
- package/tsconfig.json +0 -24
package/CHANGELOG.md
CHANGED
|
@@ -6,95 +6,274 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## [0.4.2] - 2026-03-06
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **Categorized HelpModal** — `/help` now shows 5 categories (DevOps Commands,
|
|
16
|
+
Session, Navigation, Settings, Keyboard Shortcuts) with 33+ commands listed,
|
|
17
|
+
including `/plan`, `/apply`, `/drift`, `/rollback`, `/incident`, `/runbook`,
|
|
18
|
+
`/plugin`, `/tools`, `/remember`, `/share`, `/deploy`, `/logs`,
|
|
19
|
+
`/auth-refresh`, `/search`, `/watch`, and more.
|
|
20
|
+
- **Help hint in InputBox** — Placeholder text updated to
|
|
21
|
+
"Ask me anything DevOps... (? for help, /help for commands)" so new users
|
|
22
|
+
immediately discover the help system.
|
|
23
|
+
- **Additional slash command completions** — `/deploy`, `/rollback`, `/incident`,
|
|
24
|
+
`/runbook`, `/plugin`, `/share`, `/status`, `/remember`, `/logs` added to
|
|
25
|
+
Tab-autocomplete in the InputBox.
|
|
26
|
+
- **Onboarding transition message** — After the setup wizard completes, a clear
|
|
27
|
+
"Setup complete! Launching Nimbus DevOps Agent..." message is shown before
|
|
28
|
+
the TUI opens, with keyboard hints (?, Tab, Ctrl+C).
|
|
29
|
+
- **sql.js SQLite fallback** — When `better-sqlite3` native bindings cannot be
|
|
30
|
+
compiled (ARM Linux, Windows, some CI environments), Nimbus automatically
|
|
31
|
+
falls back to `sql.js` (pure JavaScript) with full file persistence. No
|
|
32
|
+
in-memory-only limitation.
|
|
33
|
+
- **Auto-update badge** — Background version check against npm registry; new
|
|
34
|
+
version available shows `[update: vX.Y.Z] run: nimbus upgrade` in the
|
|
35
|
+
StatusBar without blocking startup.
|
|
36
|
+
- **Human-readable session names** — Sessions are auto-renamed from the first
|
|
37
|
+
user message (e.g. "check-failing-pods") instead of showing UUID strings.
|
|
38
|
+
- **Auto-init on fresh session** — When no `NIMBUS.md` exists and infrastructure
|
|
39
|
+
files are detected (`*.tf`, `Chart.yaml`, etc.), Nimbus auto-generates
|
|
40
|
+
`NIMBUS.md` silently at session start.
|
|
41
|
+
- **Auto-doctor on first session** — First-ever session checks for missing
|
|
42
|
+
DevOps CLIs (terraform, kubectl, helm, docker) and surfaces warnings in the
|
|
43
|
+
TUI as a system message.
|
|
44
|
+
- **OpenCode parity test suite** — `src/__tests__/opencode-parity-v2.test.ts`
|
|
45
|
+
with 51 assertions covering HelpModal categories, InputBox hints, onboarding
|
|
46
|
+
transition, doctor --fix wiring, and welcome-screen infra context.
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Removed stale `"prepare"` script from `package.json` — `tsc` no longer runs
|
|
51
|
+
on `npm install`, eliminating the 5–15 second delay for global installs.
|
|
52
|
+
- `compat-sqlite.test.ts` updated to check for `persist` instead of `in-memory`
|
|
53
|
+
(sql.js fallback now writes to disk, not memory-only).
|
|
54
|
+
- `devops-terminal-gaps.test.ts` placeholder assertion updated to match the new
|
|
55
|
+
DevOps-focused placeholder text.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## [0.4.1] - 2026-02-28
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
|
|
63
|
+
- **Full 29-gap DevOps fix plan** — All gaps from the C1–C4, H1–H7, M1–M10,
|
|
64
|
+
L1–L8 plan implemented (1408 → 1484 tests):
|
|
65
|
+
- **C1** — Per-tool Ctrl+C: cancels the running tool only; agent loop
|
|
66
|
+
continues with a synthetic "cancelled" result. Press Ctrl+C again to abort
|
|
67
|
+
the session.
|
|
68
|
+
- **C2** — Ansible tool with 10 actions: `playbook`, `syntax-check`,
|
|
69
|
+
`dry-run`, `inventory-list`, `vault-encrypt`, `vault-decrypt`, `vault-view`,
|
|
70
|
+
`galaxy-install`, `galaxy-search`, `facts`.
|
|
71
|
+
- **C3** — Terraform workspace auto-applied across turns: session workspace
|
|
72
|
+
stored in `ToolExecuteContext.infraContext.terraformWorkspace`; each
|
|
73
|
+
stateful terraform action auto-selects the session workspace.
|
|
74
|
+
- **C4** — ArgoCD/Flux GitOps `watch` action: streams
|
|
75
|
+
`kubectl get applications --watch` via `spawnExec` with `onChunk`.
|
|
76
|
+
- **H1** — Inline diff approval: `edit_file`/`multi_edit` in build/deploy
|
|
77
|
+
mode triggers a diff preview modal; user approves or rejects before the
|
|
78
|
+
write applies.
|
|
79
|
+
- **H2** — Async context compaction: `runCompaction()` fires in the
|
|
80
|
+
background; the result is awaited at the start of the next turn, shifting
|
|
81
|
+
the 1–2s wait to the user's thinking pause.
|
|
82
|
+
- **H3** — kubectl `events` and `watch` actions with streaming output.
|
|
83
|
+
- **H4** — `policy_check` tool: runs Checkov, tfsec, Trivy-config, Conftest,
|
|
84
|
+
or Kyverno; groups violations by severity; `auto_allow` permission tier.
|
|
85
|
+
- **H5** — `rollout_control` tool: Argo Rollouts and Flagger support
|
|
86
|
+
(status, promote, abort, pause, resume, set-weight, analyze).
|
|
87
|
+
- **H6** — Extended `secrets` tool: HashiCorp Vault (`vault-read`,
|
|
88
|
+
`vault-write`, `vault-rotate`, `vault-lease-renew`, `vault-list`) and
|
|
89
|
+
AWS Secrets Manager (`aws-get-secret`, `aws-put-secret`, `aws-rotate-secret`,
|
|
90
|
+
`aws-list-secrets`). Secret values masked as `[REDACTED]` in output.
|
|
91
|
+
- **H7** — Runbook step-by-step progress: `[STEP_START:N]` /
|
|
92
|
+
`[STEP_COMPLETE:N]` sentinels parsed from the agent stream; current step
|
|
93
|
+
shown in StatusBar.
|
|
94
|
+
- **M1** — Docker `scan` action: runs `trivy image` or `trivy fs`, groups
|
|
95
|
+
results by severity (CRITICAL/HIGH/MEDIUM/LOW).
|
|
96
|
+
- **M3** — `db_migrate` tool: Flyway, Liquibase, golang-migrate, Sqitch
|
|
97
|
+
(info/migrate/rollback/validate/clean/baseline). `always_ask` permission.
|
|
98
|
+
- **M5** — Pre-apply cost alert: after `terraform plan`, estimates monthly
|
|
99
|
+
cost delta; warns if > $100/month before proceeding.
|
|
100
|
+
- **M6** — Terraform plan truncation threshold increased to 1500 lines with
|
|
101
|
+
smarter summary (first 30 + resource list + last 20 lines).
|
|
102
|
+
- **M7** — `env_diff` tool: compares terraform workspaces, K8s namespaces,
|
|
103
|
+
or Helm releases side-by-side.
|
|
104
|
+
- **M9** — Doctor platform-aware install instructions: `brew install` on
|
|
105
|
+
macOS, `apt-get` / `dnf` on Linux with distro detection.
|
|
106
|
+
- **M10** — `notify` tool: Slack, PagerDuty, Microsoft Teams, or generic
|
|
107
|
+
webhook. Auto-fires after successful terraform apply if `## Notifications`
|
|
108
|
+
in NIMBUS.md has `slack_webhook:`.
|
|
109
|
+
- **L1** — README Bun binary mention corrected.
|
|
110
|
+
- **L3** — `/watch` defaults to DevOps files (`*.tf`, `*.yaml`, `*.yml`,
|
|
111
|
+
`Dockerfile`).
|
|
112
|
+
- **L4** — NIMBUS.md validation on load: checks for unclosed code fences,
|
|
113
|
+
invalid headers, and size > 50KB.
|
|
114
|
+
- **L5** — Live session sharing: `/ws/share/:id` WebSocket endpoint; all
|
|
115
|
+
connected viewers receive new messages in real time.
|
|
116
|
+
- **L7** — `nimbus status --watch`: refreshes every 30s, clears terminal with
|
|
117
|
+
ANSI escape.
|
|
118
|
+
- **L8** — Terraform module registry browser: `terraform_registry` tool with
|
|
119
|
+
`search` and `show` actions against the Terraform Registry API.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## [0.4.0] - 2026-02-10
|
|
10
124
|
|
|
11
125
|
### Added
|
|
12
126
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
(`
|
|
100
|
-
|
|
127
|
+
- **Full OpenCode parity** — 30 DevOps UX gaps resolved; Nimbus now matches
|
|
128
|
+
OpenCode's terminal experience end-to-end, specialized for DevOps.
|
|
129
|
+
- **Ctrl+C per-tool cancel** — Cancels the running subprocess only (not the
|
|
130
|
+
whole TUI). Agent loop continues. Press Ctrl+C again to exit.
|
|
131
|
+
- **Scroll lock** — Message list pins to bottom while the agent is responding;
|
|
132
|
+
Up/Down arrows unlock scroll. `G` snaps back to the bottom.
|
|
133
|
+
- **Streaming tool output window** — `ToolCallDisplay` shows the last 10 lines
|
|
134
|
+
of live output while a tool is running, with elapsed timer and a `LIVE`
|
|
135
|
+
indicator for log-streaming tools.
|
|
136
|
+
- **Mode persistence** — Active mode (plan/build/deploy) is saved per working
|
|
137
|
+
directory to `~/.nimbus/mode-config.json` and restored on next session.
|
|
138
|
+
- **Conversation search** — `/search <query>` filters the message list in real
|
|
139
|
+
time; result count shown in StatusBar.
|
|
140
|
+
- **Per-turn token/cost stats** — After each LLM response, a compact
|
|
141
|
+
`[N in / N out — $X.XXXX]` line is emitted so you can track spend per turn.
|
|
142
|
+
- **API-key setup banner** — If no LLM key is configured, a dismissable banner
|
|
143
|
+
explains how to set up credentials. Auto-dismisses after 8 seconds or on
|
|
144
|
+
first message.
|
|
145
|
+
- **Auto-show TerminalPane** — For long-running DevOps tools (terraform, helm,
|
|
146
|
+
kubectl, docker), the terminal output pane opens automatically and closes 2
|
|
147
|
+
seconds after the tool completes.
|
|
148
|
+
- **Shell completion auto-install** — `nimbus completions install` detects the
|
|
149
|
+
shell (bash/zsh/fish) and writes the completion script to the right location.
|
|
150
|
+
- **Config profiles** — `nimbus profile <name>` loads a named config set
|
|
151
|
+
(model, mode, tool permissions) from `~/.nimbus/profiles/`.
|
|
152
|
+
- **Session infra context** — Each session stores its Terraform workspace and
|
|
153
|
+
kubectl context in SQLite; infra context is restored on session resume and
|
|
154
|
+
shown in the Header.
|
|
155
|
+
- **Token usage warning** — At 70% context window usage, a yellow warning
|
|
156
|
+
appears: "Context at 70% — consider /compact".
|
|
157
|
+
|
|
158
|
+
### Changed
|
|
159
|
+
|
|
160
|
+
- Empty state simplified: instead of generic tips, shows "Starting Nimbus..."
|
|
161
|
+
while the agent initializes.
|
|
162
|
+
- Copy-to-clipboard (`pbcopy`/`xclip`/`clip`) available from MessageList code
|
|
163
|
+
blocks; success shown as a toast in StatusBar.
|
|
164
|
+
- Deploy mode confirmation: Tab to deploy now shows a "Switch to DEPLOY mode?
|
|
165
|
+
[y/N]" prompt instead of switching immediately.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## [0.3.0] - 2026-01-20
|
|
170
|
+
|
|
171
|
+
### Added
|
|
172
|
+
|
|
173
|
+
- **Terminal Gap Fix Plan v2** — C1–C6, H1–H5, M1–M3, L1–L2 (1259 tests):
|
|
174
|
+
- Multi-cluster context display in Header with environment color coding.
|
|
175
|
+
- LSP diagnostics surfaced inline (TypeScript, Go, Python, HCL, YAML, Docker).
|
|
176
|
+
- Smarter context compaction: haiku model for summarization, preserves tool
|
|
177
|
+
state and last 5 messages.
|
|
178
|
+
- `nimbus rollout` command for canary/progressive delivery (Argo Rollouts).
|
|
179
|
+
- JSON output for `nimbus run --format json` includes `planSummary` field.
|
|
180
|
+
- Custom error hints for terraform/kubectl/helm/cloud errors (20+ patterns).
|
|
181
|
+
- FileDiffModal for inline diff approval before file edits apply.
|
|
182
|
+
- Compaction runs async (non-blocking) — result awaited at next turn start.
|
|
183
|
+
|
|
184
|
+
- **Standalone Binary Migration** — C1–C8, H1–H3, M1–M3, L1 (1293 tests):
|
|
185
|
+
- Migrated from Bun to Node.js + npm for the npm distribution path.
|
|
186
|
+
- Tests use vitest@2 (`npm test`) instead of `bun:test`.
|
|
187
|
+
- `tsconfig.json` uses `moduleResolution: "bundler"` and `types: ["node"]`.
|
|
188
|
+
- `Timer` global replaced with `ReturnType<typeof setTimeout>` in 3 files.
|
|
189
|
+
- BrowserOAuthServer uses `node:http` instead of `Bun.serve()`.
|
|
190
|
+
- `better-sqlite3` as primary SQLite backend (native Node.js bindings).
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## [0.2.0] - 2025-12-15
|
|
195
|
+
|
|
196
|
+
### Added
|
|
197
|
+
|
|
198
|
+
- **DevOps Identity Gap Fix** — Help/onboarding/header/welcome overhaul (1342
|
|
199
|
+
tests):
|
|
200
|
+
- Header shows terraform workspace and kubectl context with [PROD] warnings.
|
|
201
|
+
- Welcome screen shows detected infra context (tf/k8s/aws/gcp) with
|
|
202
|
+
context-aware suggestions.
|
|
203
|
+
- Onboarding wizard (11 providers): Anthropic, OpenAI, Google, Bedrock, Azure
|
|
204
|
+
OpenAI, Ollama, Groq, DeepSeek, OpenRouter, Together AI, Fireworks AI.
|
|
205
|
+
- Infrastructure auto-detection in onboarding (Terraform, K8s, Helm, Docker).
|
|
206
|
+
- `nimbus doctor` replaces stale localhost port checks with: SQLite DB check,
|
|
207
|
+
LLM auth check, DevOps CLI version checks (terraform, kubectl, helm, aws,
|
|
208
|
+
gcloud, az).
|
|
209
|
+
|
|
210
|
+
- **DevOps Terminal Gap Fix** — C1–C3, H1–H5, M1–M5, L1–L3 (1328 tests):
|
|
211
|
+
- Logs tool with streaming via `spawnExec` + `onChunk`; StatusBar shows
|
|
212
|
+
"Esc:stop stream".
|
|
213
|
+
- Infra context (`SessionInfraContext`) stored per session in SQLite; wired
|
|
214
|
+
into `ToolExecuteContext` so tools receive live workspace/context.
|
|
215
|
+
- Terraform plan smart truncation (500 → 1500 lines) with summary line.
|
|
216
|
+
- ToolCallDisplay LIVE indicator for streaming tools.
|
|
217
|
+
- Parallel cloud discovery for AWS/GCP/Azure in `cloud_discover`.
|
|
218
|
+
- Compaction preserves `infraContext` across sessions.
|
|
219
|
+
- `generate_infra` tool for natural-language infrastructure generation.
|
|
220
|
+
- Docker build progress display in `ToolCallDisplay`.
|
|
221
|
+
- `nimbus rollout` command.
|
|
222
|
+
- `planSummary` field in `nimbus run --format json` output.
|
|
223
|
+
- Custom DevOps error hints injected into tool results.
|
|
224
|
+
|
|
225
|
+
- **DevOps Polish Plan** — H1–H5, M1–M7, L1–L5 (1384 tests):
|
|
226
|
+
- `TerminalPane` and `TreePane` side panels toggled by `/terminal` and `/tree`.
|
|
227
|
+
- MCP plugin manager (`nimbus plugin install/uninstall/list`).
|
|
228
|
+
- Team-context NIMBUS.md sharing (`nimbus team-context`).
|
|
229
|
+
- NIMBUS.md diff shown on `nimbus init` re-run.
|
|
230
|
+
- Session cost/token summary on session close.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## [0.1.0] - 2025-10-01
|
|
235
|
+
|
|
236
|
+
### Added
|
|
237
|
+
|
|
238
|
+
- **5-Phase transformation complete** — 18 microservices consolidated into a
|
|
239
|
+
single embedded binary.
|
|
240
|
+
- **Phase 1** — Core infrastructure: entry point, CLI router, app lifecycle,
|
|
241
|
+
LLM router (7 providers), tool schemas, SQLite state (16 tables), enterprise
|
|
242
|
+
layer. 188 tests, ~62 MB binary.
|
|
243
|
+
- **Phase 2** — Tool system: Zod-based tool schemas, `ToolRegistry`, 4-tier
|
|
244
|
+
permission engine, MCP client (JSON-RPC over stdio/HTTP), subagent system,
|
|
245
|
+
agent loop with streaming. 173 new tests (361 total).
|
|
246
|
+
- **Phase 3** — TUI: Ink v6 + React 19, 8 components (App, Header,
|
|
247
|
+
MessageList, ToolCallDisplay, InputBox, StatusBar, PermissionPrompt,
|
|
248
|
+
DeployPreview). Three-mode system (plan/build/deploy). Hooks (YAML config),
|
|
249
|
+
snapshots (git write-tree), audit (14 security rules, 25 compliance
|
|
250
|
+
controls). `nimbus init` with 6-language + 5-infra + 3-cloud detection.
|
|
251
|
+
177 new tests (538 total).
|
|
252
|
+
- **Phase 4** — Distribution: npm packaging, Homebrew tap, shell script
|
|
253
|
+
installer, pre-built binaries for macOS/Linux/Windows, GitHub Actions CI.
|
|
254
|
+
- **Phase 5** — Production features: LSP (6 languages, lazy-loaded), context
|
|
255
|
+
manager (auto-compact at 85%), session manager (SQLite-backed, conflict
|
|
256
|
+
detection), HTTP API server (Elysia, SSE streaming), session sharing
|
|
257
|
+
(URL-safe IDs, 30-day TTL), web UI integration. 109 new tests (647 total).
|
|
258
|
+
- **DevOps Gaps v1** — 21 gaps resolved: DEVOPS_DOMAIN_KNOWLEDGE in system
|
|
259
|
+
prompt, terraform destroy guard, real DevOps CLI checks in doctor, infra
|
|
260
|
+
context discovery, terraform plan analyzer, DevOps error classification,
|
|
261
|
+
session infra context, auth-refresh command, kubectl_context tool,
|
|
262
|
+
helm_values tool, TerraformPlanCache, cloud_discover structured output,
|
|
263
|
+
stdin piping, DevOps-only file watcher, workspace-aware system prompt.
|
|
264
|
+
- **DevOps Gaps v2** — 29 more gaps resolved: docker tool, secrets tool (helm-
|
|
265
|
+
secrets), cicd tool, auth keychain, monitor tool, gitops tool, syntax
|
|
266
|
+
highlighting (YAML/JSON/Bash/SQL/Dockerfile), elapsed timer in
|
|
267
|
+
ToolCallDisplay, 70% context warning, TerminalPane, cloudActionTool,
|
|
268
|
+
logsTool, certsTool, meshTool, cfnTool, k8sRbacTool, NIMBUS.md live reload,
|
|
269
|
+
TreePane sidebar, plugin manager, team-context, shell completions, session
|
|
270
|
+
cost summary, enhanced doctor.
|
|
271
|
+
|
|
272
|
+
### Architecture
|
|
273
|
+
|
|
274
|
+
- Runtime: Node.js >= 18 (npm distribution) with Bun support for compiled
|
|
275
|
+
binaries.
|
|
276
|
+
- Single-process design: no HTTP microservices, no Docker required.
|
|
277
|
+
- SQLite with WAL mode at `~/.nimbus/nimbus.db`.
|
|
278
|
+
- Streaming-first: LLM responses and tool output stream token-by-token.
|
|
279
|
+
- 4-tier permission engine: auto_allow → ask_once → always_ask → blocked.
|