rackmind-cli 0.1.6 → 0.2.0

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.
Files changed (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -176
  3. package/bin/rackmind.js +5 -1
  4. package/dist/ai/providers/anthropic-provider.d.ts +4 -0
  5. package/dist/ai/providers/anthropic-provider.d.ts.map +1 -1
  6. package/dist/ai/providers/anthropic-provider.js +17 -4
  7. package/dist/ai/providers/anthropic-provider.js.map +1 -1
  8. package/dist/ai/providers/base.d.ts +15 -0
  9. package/dist/ai/providers/base.d.ts.map +1 -1
  10. package/dist/ai/providers/claude-code-bridge.d.ts +7 -0
  11. package/dist/ai/providers/claude-code-bridge.d.ts.map +1 -1
  12. package/dist/ai/providers/claude-code-bridge.js +1 -1
  13. package/dist/ai/providers/claude-code-bridge.js.map +1 -1
  14. package/dist/ai/providers/claude-code-provider.d.ts.map +1 -1
  15. package/dist/ai/providers/claude-code-provider.js +1 -0
  16. package/dist/ai/providers/claude-code-provider.js.map +1 -1
  17. package/dist/ai/providers/index.d.ts +1 -1
  18. package/dist/ai/providers/index.d.ts.map +1 -1
  19. package/dist/ai/providers/index.js.map +1 -1
  20. package/dist/ai/system-prompt.d.ts.map +1 -1
  21. package/dist/ai/system-prompt.js +1 -26
  22. package/dist/ai/system-prompt.js.map +1 -1
  23. package/dist/ai/tool-executor.d.ts +29 -1
  24. package/dist/ai/tool-executor.d.ts.map +1 -1
  25. package/dist/ai/tool-executor.js +85 -1
  26. package/dist/ai/tool-executor.js.map +1 -1
  27. package/dist/commands/auth.d.ts.map +1 -1
  28. package/dist/commands/auth.js +21 -15
  29. package/dist/commands/auth.js.map +1 -1
  30. package/dist/commands/containers.d.ts.map +1 -1
  31. package/dist/commands/containers.js +10 -3
  32. package/dist/commands/containers.js.map +1 -1
  33. package/dist/commands/exec.d.ts.map +1 -1
  34. package/dist/commands/exec.js +19 -7
  35. package/dist/commands/exec.js.map +1 -1
  36. package/dist/commands/lifecycle.d.ts.map +1 -1
  37. package/dist/commands/lifecycle.js +133 -105
  38. package/dist/commands/lifecycle.js.map +1 -1
  39. package/dist/commands/logs.d.ts.map +1 -1
  40. package/dist/commands/logs.js +10 -4
  41. package/dist/commands/logs.js.map +1 -1
  42. package/dist/commands/report.d.ts.map +1 -1
  43. package/dist/commands/report.js +20 -12
  44. package/dist/commands/report.js.map +1 -1
  45. package/dist/commands/servers.d.ts.map +1 -1
  46. package/dist/commands/servers.js +29 -2
  47. package/dist/commands/servers.js.map +1 -1
  48. package/dist/commands/status.d.ts +5 -0
  49. package/dist/commands/status.d.ts.map +1 -1
  50. package/dist/commands/status.js +66 -50
  51. package/dist/commands/status.js.map +1 -1
  52. package/dist/commands/vms.d.ts.map +1 -1
  53. package/dist/commands/vms.js +9 -3
  54. package/dist/commands/vms.js.map +1 -1
  55. package/dist/config/index.d.ts +10 -0
  56. package/dist/config/index.d.ts.map +1 -1
  57. package/dist/config/index.js +21 -0
  58. package/dist/config/index.js.map +1 -1
  59. package/dist/globals.d.ts +21 -3
  60. package/dist/globals.d.ts.map +1 -1
  61. package/dist/globals.js +30 -4
  62. package/dist/globals.js.map +1 -1
  63. package/dist/index.js +22 -6
  64. package/dist/index.js.map +1 -1
  65. package/dist/interactive/App.d.ts.map +1 -1
  66. package/dist/interactive/App.js +11 -5
  67. package/dist/interactive/App.js.map +1 -1
  68. package/dist/interactive/components/ConfirmDialog.d.ts +9 -0
  69. package/dist/interactive/components/ConfirmDialog.d.ts.map +1 -0
  70. package/dist/interactive/components/ConfirmDialog.js +26 -0
  71. package/dist/interactive/components/ConfirmDialog.js.map +1 -0
  72. package/dist/interactive/components/InputBar.d.ts.map +1 -1
  73. package/dist/interactive/components/InputBar.js +10 -1
  74. package/dist/interactive/components/InputBar.js.map +1 -1
  75. package/dist/interactive/launch.d.ts +5 -0
  76. package/dist/interactive/launch.d.ts.map +1 -1
  77. package/dist/interactive/launch.js +16 -0
  78. package/dist/interactive/launch.js.map +1 -1
  79. package/dist/interactive/slashCommands.d.ts +1 -0
  80. package/dist/interactive/slashCommands.d.ts.map +1 -1
  81. package/dist/interactive/slashCommands.js +13 -0
  82. package/dist/interactive/slashCommands.js.map +1 -1
  83. package/dist/interactive/useRackMind.d.ts +9 -1
  84. package/dist/interactive/useRackMind.d.ts.map +1 -1
  85. package/dist/interactive/useRackMind.js +68 -3
  86. package/dist/interactive/useRackMind.js.map +1 -1
  87. package/dist/oneshot/run.d.ts.map +1 -1
  88. package/dist/oneshot/run.js +51 -9
  89. package/dist/oneshot/run.js.map +1 -1
  90. package/dist/server/client.d.ts +4 -2
  91. package/dist/server/client.d.ts.map +1 -1
  92. package/dist/server/client.js +6 -4
  93. package/dist/server/client.js.map +1 -1
  94. package/dist/server/ssh.d.ts.map +1 -1
  95. package/dist/server/ssh.js +1 -1
  96. package/dist/server/ssh.js.map +1 -1
  97. package/dist/utils/prompt.d.ts.map +1 -1
  98. package/dist/utils/prompt.js +4 -1
  99. package/dist/utils/prompt.js.map +1 -1
  100. package/dist/utils/table.d.ts +3 -0
  101. package/dist/utils/table.d.ts.map +1 -1
  102. package/dist/utils/table.js +4 -1
  103. package/dist/utils/table.js.map +1 -1
  104. package/package.json +44 -12
  105. package/dist/ai/client.d.ts +0 -71
  106. package/dist/ai/client.d.ts.map +0 -1
  107. package/dist/ai/client.js +0 -198
  108. package/dist/ai/client.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 RackMind
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,238 +1,124 @@
1
1
  # rackmind-cli
2
2
 
3
- **[rackmind.ai](https://rackmind.ai)** — AI-powered infrastructure management for MSPs and homelabbers.
3
+ **[rackmind.ai](https://rackmind.ai)** — AI-powered infrastructure management from your terminal.
4
4
 
5
- A Claude Code-style terminal experience for managing Proxmox servers, LXC containers, and QEMU VMs through natural language.
5
+ A Claude Code-style REPL for managing Proxmox hosts, LXC containers, and QEMU VMs through natural language. Built for **MSPs, power users, and homelab operators** who live in the terminal and want their infra to answer back.
6
6
 
7
- ## Installation
7
+ > New contributor? Skip to [ONBOARDING.md](./ONBOARDING.md). It is the only doc you need to start hacking on this package.
8
+
9
+ ## Install
8
10
 
9
11
  ```bash
10
12
  npm install -g rackmind-cli
11
13
  ```
12
14
 
13
- Or link locally for development:
15
+ Requires Node.js 20+ (CI runs on 22).
14
16
 
15
- ```bash
16
- git clone https://github.com/rackmind-ai/rackmind-cli.git
17
- cd rackmind-cli
18
- npm install
19
- npm run build
20
- npm link
21
- ```
22
-
23
- ## Quick Start
17
+ ## 30-second quick start
24
18
 
25
19
  ```bash
26
- # Add your first server
27
- rackmind connect my-proxmox
20
+ # 1. Connect to your Proxmox host (prompts for URL + API token, stored encrypted)
21
+ rackmind connect homelab
28
22
 
29
- # Set your Anthropic API key
23
+ # 2. Add your Anthropic API key (or run `rackmind login` for managed AI)
30
24
  rackmind config set-api-key
31
25
 
32
- # Launch interactive REPL
26
+ # 3. Drop into the REPL
33
27
  rackmind
34
28
 
35
- # Or ask a one-shot question
36
- rackmind "what containers are running?"
29
+ # 4. Or one-shot it — pipeable, scriptable
30
+ rackmind "which LXC containers are using >80% disk?"
37
31
  ```
38
32
 
39
- ## Usage
40
-
41
- ### Interactive Mode (REPL)
42
-
43
- Launch with no arguments to enter the full interactive terminal:
33
+ That is the whole loop. Everything else below is reference.
44
34
 
45
- ```bash
46
- rackmind
47
- ```
35
+ ## Modes
48
36
 
49
- Features:
37
+ ### Interactive REPL — `rackmind`
50
38
 
51
- - Natural language queries about your infrastructure
52
- - AI-powered command execution with tool use
53
- - Streaming responses with markdown rendering
54
- - Slash commands: `/help`, `/clear`, `/status`, `/servers`, `/model`, `/exit`, `/quit`, `/q`
55
- - Keyboard shortcuts: Up/Down for history, Ctrl+C to exit
39
+ Natural-language conversation about your infra. Streaming responses, tool execution with confirmation prompts on destructive actions, command history, slash commands (`/help`, `/clear`, `/refresh`, `/status`, `/servers`, `/model`, `/exit`).
56
40
 
57
- ### One-shot Mode
41
+ Anytime the model asks to start/stop/restart a container or VM, the REPL pauses and shows a yellow `[y/N]` dialog with the action, tool name, and arguments. Press `y` to proceed, `n`/`Esc`/Enter to cancel. Enter defaults to **no** — destructive actions require an explicit yes. Pass `-y` / `--yes` at launch to auto-approve every destructive action for the session (use only in trusted scripts).
58
42
 
59
- Ask a single question and get a streamed response:
43
+ ### One-shot `rackmind "<question>"`
60
44
 
61
- ```bash
62
- rackmind "check disk usage on all containers"
63
- rackmind ask "restart container 106"
64
- ```
65
-
66
- Fully pipeable:
45
+ Single question, streamed to stdout, exits cleanly. Designed for pipelines:
67
46
 
68
47
  ```bash
69
48
  rackmind "list running containers" --json | jq '.response'
70
- rackmind "what is the uptime?" --quiet 2>/dev/null
49
+ rackmind "what is the host uptime?" --quiet
71
50
  ```
72
51
 
73
52
  ### Subcommands
74
53
 
75
- #### Server Management
76
-
77
54
  ```bash
78
- rackmind connect <alias> # Connect to (or create) a server profile
79
- rackmind servers list # List all server profiles
80
- rackmind servers add <alias> # Add a new server profile
81
- rackmind servers remove <alias> # Remove a server profile
82
- rackmind servers switch <alias> # Switch the active server
55
+ rackmind connect <alias> # Add or switch to a server profile
56
+ rackmind servers list|add|remove|switch
57
+ rackmind status # Config + connection summary
58
+ rackmind containers | rackmind vms # List guests
59
+ rackmind start|stop|restart <vmid> # Lifecycle (confirmation by default; --force to skip)
60
+ rackmind exec "<cmd>" [--target=<vmid>]
61
+ rackmind logs <vmid> [-n N] [-f]
62
+ rackmind report # Full health report
63
+ rackmind config [set|reset|set-api-key|path]
64
+ rackmind login | logout | account # RackMind account auth + billing
83
65
  ```
84
66
 
85
- #### Infrastructure Status
67
+ Run `rackmind --help` or `rackmind <cmd> --help` for the full surface.
86
68
 
87
- ```bash
88
- rackmind status # Show config, connection status, server list
89
- rackmind containers # List all LXC containers
90
- rackmind vms # List all QEMU virtual machines
91
- rackmind report # Generate a full health report
92
- ```
69
+ ### Global flags
93
70
 
94
- #### Guest Lifecycle
71
+ | Flag | Description |
72
+ | ------------------- | ------------------------------------------------------------------------------------------ |
73
+ | `--json` | JSON output to stdout (implies `--quiet`) |
74
+ | `--quiet` | Suppress spinners, banners, decoration |
75
+ | `--no-color` | Disable color (also respects `NO_COLOR`) |
76
+ | `--server <alias>` | Use a specific server profile for this invocation (overrides the active one) |
77
+ | `-y, --yes` | Auto-confirm every destructive prompt (AI tool calls, dangerous shell, `stop` / `restart`) |
78
+ | `-i, --interactive` | Force the REPL (default when no prompt is given on a TTY) |
95
79
 
96
- ```bash
97
- rackmind start <vmid> # Start a container or VM
98
- rackmind stop <vmid> # Stop a container or VM (with confirmation)
99
- rackmind restart <vmid> # Restart a container or VM (with confirmation)
100
- rackmind stop <vmid> --force # Skip confirmation prompt
101
- ```
102
-
103
- #### Command Execution
80
+ ### Output streams
104
81
 
105
- ```bash
106
- rackmind exec "uptime" # Run on the Proxmox host
107
- rackmind exec "apt update" --target=106 # Run inside LXC container 106
108
- ```
109
-
110
- #### Logs
111
-
112
- ```bash
113
- rackmind logs <vmid> # Tail logs for a container or VM
114
- rackmind logs <vmid> -n 100 # Show last 100 lines
115
- rackmind logs <vmid> -f # Follow log output
116
- ```
82
+ `rackmind` follows the POSIX convention:
117
83
 
118
- #### Configuration
84
+ - **stdout** — user-facing data: tables, reports, JSON, AI responses
85
+ - **stderr** — diagnostics: spinners, progress, banners, prompts, errors
119
86
 
120
- ```bash
121
- rackmind config # Show current configuration
122
- rackmind config set <key> <value> # Set a preference
123
- rackmind config reset # Reset preferences to defaults
124
- rackmind config set-api-key # Set or update the Anthropic API key
125
- rackmind config path # Print the config file path
126
- ```
127
-
128
- Available preference keys:
129
-
130
- - `model` -- AI model (default: `claude-sonnet-4-5`)
131
- - `theme` -- Color theme: `dark` or `light`
132
- - `confirmDestructive` -- Require confirmation for destructive actions (`true`/`false`)
133
- - `timestampMessages` -- Show timestamps on messages (`true`/`false`)
134
-
135
- #### Account & Billing
136
-
137
- ```bash
138
- rackmind login # Authenticate with your RackMind account
139
- rackmind logout # Clear stored auth token
140
- rackmind account # Show current plan, usage, and account info
141
- ```
142
-
143
- ### Global Flags
144
-
145
- These flags work with any command:
146
-
147
- | Flag | Description |
148
- | ------------------- | --------------------------------------------------------- |
149
- | `--json` | Output in JSON format (implies `--quiet`) |
150
- | `--quiet` | Suppress spinners, banners, and non-essential output |
151
- | `--no-color` | Disable colored output (also respects `NO_COLOR` env var) |
152
- | `--server <url>` | Override the RackMind server URL |
153
- | `-i, --interactive` | Force interactive REPL mode |
87
+ So `rackmind status > status.txt` writes a complete report to the file, and `rackmind containers --json | jq` works as expected.
154
88
 
155
89
  ## Configuration
156
90
 
157
- Config is stored at `~/.config/rackmind/config.json` (XDG-compliant).
158
-
159
- Credentials (API keys, passwords, token secrets) are encrypted using Node.js `crypto` with a machine-derived key. They are never stored in plaintext.
160
-
161
- Config writes are atomic (write to temp file, then rename) to prevent corruption.
91
+ Config lives at `~/.config/rackmind/config.json` (XDG-compliant). Credentials are encrypted with AES-256-GCM using a machine-derived key — they are never written in plaintext. Writes are atomic (temp file + rename) to prevent corruption.
162
92
 
163
- ## Subscription & Billing
93
+ A handful of env vars tune the CLI for development and CI — see [`.env.example`](https://github.com/rackmind-ai/rackmind-cli/blob/main/.env.example) on GitHub for the full list. The file isn't shipped to the npm tarball.
164
94
 
165
- RackMind CLI uses your RackMind account for billing and subscription management. All billing is handled through the website at [rackmind.ai](https://rackmind.ai).
166
-
167
- ### Authentication
168
-
169
- Authenticate the CLI with your RackMind account:
170
-
171
- ```bash
172
- rackmind login
173
- ```
174
-
175
- This opens your browser to sign in. Once authenticated, the CLI stores a local auth token (encrypted) so you stay logged in across sessions.
176
-
177
- To log out:
178
-
179
- ```bash
180
- rackmind logout
181
- ```
182
-
183
- ### Free vs Pro
95
+ ## Plans
184
96
 
185
97
  | Feature | Free | Pro ($15/mo) |
186
98
  | -------------------------- | ------ | ------------ |
187
99
  | Server connections | 1 | Unlimited |
188
100
  | Managed AI interactions/mo | 25 | 200 |
189
- | Bring Your Own Key (BYOK) | -- | Unlimited |
190
- | Solution memory | -- | Included |
101
+ | Bring Your Own Key (BYOK) | | Unlimited |
102
+ | Solution memory | | Included |
191
103
  | Historical metrics | 1 hour | Unlimited |
192
- | Terminal AI | -- | Included |
193
-
194
- **Free tier** -- great for trying RackMind on a single server with basic AI assistance.
104
+ | Terminal AI | | Included |
195
105
 
196
- **Pro tier** -- unlocks unlimited servers, BYOK (use your own API keys for unlimited AI), solution memory that learns from past fixes, and full historical metrics.
197
-
198
- ### Manage Your Subscription
199
-
200
- All subscription management (upgrade, downgrade, payment method, invoices) happens at:
201
-
202
- ```
203
- https://rackmind.ai/account
204
- ```
205
-
206
- Or view your current plan from the CLI:
207
-
208
- ```bash
209
- rackmind account
210
- ```
211
-
212
- ## Requirements
213
-
214
- - Node.js 20+
215
- - A Proxmox VE server with API token access
216
- - An Anthropic API key (for AI features) or a RackMind Pro subscription for managed AI
106
+ Subscription management lives at <https://rackmind.ai/account>.
217
107
 
218
108
  ## Development
219
109
 
220
110
  ```bash
221
- npm run dev # Run in dev mode (tsx)
222
- npm run build # Compile TypeScript
223
- npm run lint # Run ESLint
224
- npm run format # Format with Prettier
225
- npm run type-check # Type-check with tsc
111
+ git clone https://github.com/rackmind-ai/rackmind-cli.git
112
+ cd rackmind-cli
113
+ npm install
114
+ npm run dev # tsx src/index.ts
115
+ npm run build # tsc to dist/
116
+ npm link # expose `rackmind` globally for local testing
117
+ npm run check # lint + format-check + type-check + tests (must pass)
226
118
  ```
227
119
 
228
- All three quality gates must pass before every commit:
229
-
230
- ```bash
231
- tsc --noEmit
232
- npx eslint .
233
- npx prettier --check .
234
- ```
120
+ Detailed contributor setup, architecture overview, and the commit gate are in [ONBOARDING.md](./ONBOARDING.md). Architecture and CLI-specific guardrails are in [CLAUDE.md](./CLAUDE.md). Org-wide engineering standards are at <https://github.com/rackmind-ai/.github/blob/main/STANDARDS.md>.
235
121
 
236
122
  ## License
237
123
 
238
- All rights reserved.
124
+ [MIT](./LICENSE)
package/bin/rackmind.js CHANGED
@@ -1,6 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import('../dist/index.js').catch((err) => {
4
- console.error('Failed to start rackmind:', err.message);
4
+ if (err.code === 'ERR_MODULE_NOT_FOUND') {
5
+ console.error('rackmind: dist/index.js not found — run `npm run build` first.');
6
+ } else {
7
+ console.error('Failed to start rackmind:', err.message);
8
+ }
5
9
  process.exit(1);
6
10
  });
@@ -4,8 +4,12 @@ export declare class AnthropicProvider implements AIProvider {
4
4
  private readonly anthropic;
5
5
  private readonly model;
6
6
  private readonly maxTokens;
7
+ /** Cached server context — fetched once per session, cleared by /refresh */
8
+ private cachedContext;
7
9
  constructor(options: ProviderOptions);
8
10
  getModel(): string;
11
+ /** Clear cached server context so next turn re-fetches from Proxmox API. */
12
+ invalidateContextCache(): void;
9
13
  chat(query: string, serverClient: ServerClient, serverAlias: string, callbacks: StreamCallbacks): Promise<void>;
10
14
  chatMultiTurn(query: string, history: ChatHistory, serverClient: ServerClient, serverAlias: string, callbacks: MultiTurnCallbacks): Promise<ChatHistory>;
11
15
  dispose(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/anthropic-provider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EACR,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EAClB,MAAM,WAAW,CAAC;AAKnB,qBAAa,iBAAkB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,eAAe;IAYpC,QAAQ,IAAI,MAAM;IAIZ,IAAI,CACN,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC;IAyDV,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC;IAwEjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAgC1B"}
1
+ {"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/anthropic-provider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EACR,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EAClB,MAAM,WAAW,CAAC;AAKnB,qBAAa,iBAAkB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,EAAE,eAAe;IAYpC,QAAQ,IAAI,MAAM;IAIlB,4EAA4E;IAC5E,sBAAsB,IAAI,IAAI;IAKxB,IAAI,CACN,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6DV,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA4EjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAgC1B"}
@@ -18,6 +18,8 @@ export class AnthropicProvider {
18
18
  anthropic;
19
19
  model;
20
20
  maxTokens;
21
+ /** Cached server context — fetched once per session, cleared by /refresh */
22
+ cachedContext = null;
21
23
  constructor(options) {
22
24
  if (!options.apiKey) {
23
25
  throw new Error('Anthropic provider requires an API key.');
@@ -32,8 +34,16 @@ export class AnthropicProvider {
32
34
  getModel() {
33
35
  return this.model;
34
36
  }
37
+ /** Clear cached server context so next turn re-fetches from Proxmox API. */
38
+ invalidateContextCache() {
39
+ this.cachedContext = null;
40
+ logger.info('Server context cache cleared — will re-fetch on next turn');
41
+ }
35
42
  async chat(query, serverClient, serverAlias, callbacks) {
36
- const context = await fetchServerContext(serverClient);
43
+ if (!this.cachedContext) {
44
+ this.cachedContext = await fetchServerContext(serverClient);
45
+ }
46
+ const context = this.cachedContext;
37
47
  const systemPrompt = buildSystemPrompt(context, serverAlias);
38
48
  const tools = getToolDefinitions();
39
49
  const messages = [{ role: 'user', content: query }];
@@ -63,7 +73,7 @@ export class AnthropicProvider {
63
73
  for (const toolBlock of toolUseBlocks) {
64
74
  const toolInput = toolBlock.input;
65
75
  callbacks.onToolStart(toolBlock.name, toolBlock.name);
66
- const result = await executeTool(toolBlock.name, toolInput, serverClient);
76
+ const result = await executeTool(toolBlock.name, toolInput, serverClient, { confirm: callbacks.confirmDestructive });
67
77
  callbacks.onToolEnd(toolBlock.name, result.label, result.isError);
68
78
  toolResults.push({
69
79
  type: 'tool_result',
@@ -77,7 +87,10 @@ export class AnthropicProvider {
77
87
  callbacks.onError('Reached maximum tool iterations. The AI may be stuck in a loop.');
78
88
  }
79
89
  async chatMultiTurn(query, history, serverClient, serverAlias, callbacks) {
80
- const context = await fetchServerContext(serverClient);
90
+ if (!this.cachedContext) {
91
+ this.cachedContext = await fetchServerContext(serverClient);
92
+ }
93
+ const context = this.cachedContext;
81
94
  const systemPrompt = buildSystemPrompt(context, serverAlias);
82
95
  const tools = getToolDefinitions();
83
96
  const messages = [
@@ -113,7 +126,7 @@ export class AnthropicProvider {
113
126
  for (const toolBlock of toolUseBlocks) {
114
127
  const toolInput = toolBlock.input;
115
128
  callbacks.onToolStart(toolBlock.name, toolBlock.name);
116
- const result = await executeTool(toolBlock.name, toolInput, serverClient);
129
+ const result = await executeTool(toolBlock.name, toolInput, serverClient, { confirm: callbacks.confirmDestructive });
117
130
  callbacks.onToolEnd(toolBlock.name, result.label, result.isError);
118
131
  if (callbacks.onToolResult) {
119
132
  callbacks.onToolResult({
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../../src/ai/providers/anthropic-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../../src/ai/providers/anthropic-provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type Anthropic from '@anthropic-ai/sdk';
2
2
  import type { ServerClient } from '../../server/client.js';
3
+ import type { ConfirmDestructiveFn } from '../tool-executor.js';
4
+ export type { ConfirmDestructiveFn, PendingDestructiveAction } from '../tool-executor.js';
3
5
  /** Callbacks the provider invokes while a chat turn is in flight. */
4
6
  export interface StreamCallbacks {
5
7
  /** Streaming text chunk from the assistant. */
@@ -10,6 +12,13 @@ export interface StreamCallbacks {
10
12
  onToolEnd: (toolName: string, label: string, isError: boolean) => void;
11
13
  /** A non-fatal error occurred (rate limit retries, warnings, etc.). */
12
14
  onError: (error: string) => void;
15
+ /**
16
+ * Optional: asked before a destructive tool runs. Return true to proceed,
17
+ * false to cancel. If omitted, the provider may execute without prompting
18
+ * (only intended for non-interactive surfaces that have already validated
19
+ * the user opted into auto-confirm).
20
+ */
21
+ confirmDestructive?: ConfirmDestructiveFn;
13
22
  }
14
23
  /** A single tool execution observed during a turn (shown in REPL history). */
15
24
  export interface ToolExecution {
@@ -52,6 +61,12 @@ export interface AIProvider {
52
61
  * processes, etc.). Safe to call multiple times.
53
62
  */
54
63
  dispose(): Promise<void>;
64
+ /**
65
+ * Optional: clear any cached server context so the next chat turn
66
+ * re-fetches fresh data from the Proxmox API.
67
+ * Not all providers cache context — callers should treat as a no-op if absent.
68
+ */
69
+ invalidateContextCache?(): void;
55
70
  }
56
71
  /** Construction options common to every provider. */
57
72
  export interface ProviderOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/base.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,oDAAoD;IACpD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,+CAA+C;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,uEAAuE;IACvE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,+DAA+D;IAC/D,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,CACA,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC5B,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/base.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,oDAAoD;IACpD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,+CAA+C;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,uEAAuE;IACvE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,+DAA+D;IAC/D,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,CACA,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,IAAI,CAAC;CACnC;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC5B,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import type Anthropic from '@anthropic-ai/sdk';
10
10
  import type { ServerClient } from '../../server/client.js';
11
+ import { type ConfirmDestructiveFn } from '../tool-executor.js';
11
12
  export interface BridgeToolCallback {
12
13
  (toolName: string, label: string, isError: boolean, content: string): void;
13
14
  }
@@ -34,6 +35,12 @@ export interface StartBridgeOptions {
34
35
  onToolCall?: BridgeToolCallback;
35
36
  /** Signal that aborts pending/future tool calls (returns `cancelled`). */
36
37
  signal?: AbortSignal;
38
+ /**
39
+ * Confirmation callback for destructive tools (stop/restart/start of guests).
40
+ * Returning false from this callback cancels the action — the bridge returns
41
+ * a non-error result describing the cancellation so the model can react.
42
+ */
43
+ confirmDestructive?: ConfirmDestructiveFn;
37
44
  }
38
45
  /**
39
46
  * Start the local HTTP bridge and write the `rackmind-bridge` helper
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-bridge.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAc3D,MAAM,WAAW,kBAAkB;IAC/B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAwCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CA+C1E;AA6CD,MAAM,WAAW,kBAAkB;IAC/B,gEAAgE;IAChE,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkP3F"}
1
+ {"version":3,"file":"claude-code-bridge.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAa7E,MAAM,WAAW,kBAAkB;IAC/B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAwCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CA+C1E;AA6CD,MAAM,WAAW,kBAAkB;IAC/B,gEAAgE;IAChE,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmP3F"}
@@ -217,7 +217,7 @@ export async function startClaudeCodeBridge(opts) {
217
217
  return;
218
218
  }
219
219
  try {
220
- const result = await executeTool(name, input, opts.serverClient);
220
+ const result = await executeTool(name, input, opts.serverClient, { confirm: opts.confirmDestructive });
221
221
  if (opts.onToolCall) {
222
222
  opts.onToolCall(name, result.label, result.isError, result.content);
223
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-bridge.js","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-bridge.js","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-provider.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-provider.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,EACR,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EAClB,MAAM,WAAW,CAAC;AA2DnB,qBAAa,kBAAmB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,eAAe;IAKpC,QAAQ,IAAI,MAAM;YAIJ,aAAa;IAOrB,IAAI,CACN,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA0BvB;;;OAGG;YACW,OAAO;IA4Hf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAYjC;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAErF"}
1
+ {"version":3,"file":"claude-code-provider.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/claude-code-provider.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,EACR,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EAClB,MAAM,WAAW,CAAC;AA2DnB,qBAAa,kBAAmB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,eAAe;IAKpC,QAAQ,IAAI,MAAM;YAIJ,aAAa;IAOrB,IAAI,CACN,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA0BvB;;;OAGG;YACW,OAAO;IA6Hf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAYjC;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAErF"}
@@ -132,6 +132,7 @@ export class ClaudeCodeProvider {
132
132
  try {
133
133
  bridge = await startClaudeCodeBridge({
134
134
  serverClient,
135
+ confirmDestructive: callbacks.confirmDestructive,
135
136
  onToolCall: (toolName, label, isError, content) => {
136
137
  // Forward RackMind tool results from the bridge
137
138
  // executor into the REPL's tool stream. Start +