rackmind-cli 0.1.6 → 0.2.1
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/LICENSE +21 -0
- package/README.md +62 -176
- package/bin/rackmind.js +5 -1
- package/dist/ai/providers/anthropic-provider.d.ts +4 -0
- package/dist/ai/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/ai/providers/anthropic-provider.js +17 -4
- package/dist/ai/providers/anthropic-provider.js.map +1 -1
- package/dist/ai/providers/base.d.ts +15 -0
- package/dist/ai/providers/base.d.ts.map +1 -1
- package/dist/ai/providers/claude-code-bridge.d.ts +7 -0
- package/dist/ai/providers/claude-code-bridge.d.ts.map +1 -1
- package/dist/ai/providers/claude-code-bridge.js +1 -1
- package/dist/ai/providers/claude-code-bridge.js.map +1 -1
- package/dist/ai/providers/claude-code-provider.d.ts.map +1 -1
- package/dist/ai/providers/claude-code-provider.js +1 -0
- package/dist/ai/providers/claude-code-provider.js.map +1 -1
- package/dist/ai/providers/index.d.ts +1 -1
- package/dist/ai/providers/index.d.ts.map +1 -1
- package/dist/ai/providers/index.js.map +1 -1
- package/dist/ai/system-prompt.d.ts.map +1 -1
- package/dist/ai/system-prompt.js +1 -26
- package/dist/ai/system-prompt.js.map +1 -1
- package/dist/ai/tool-executor.d.ts +39 -1
- package/dist/ai/tool-executor.d.ts.map +1 -1
- package/dist/ai/tool-executor.js +157 -2
- package/dist/ai/tool-executor.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +21 -15
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +37 -7
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/containers.d.ts.map +1 -1
- package/dist/commands/containers.js +10 -3
- package/dist/commands/containers.js.map +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +19 -7
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/lifecycle.d.ts.map +1 -1
- package/dist/commands/lifecycle.js +133 -105
- package/dist/commands/lifecycle.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +10 -4
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +20 -12
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/servers.d.ts.map +1 -1
- package/dist/commands/servers.js +29 -2
- package/dist/commands/servers.js.map +1 -1
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +118 -51
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/vms.d.ts.map +1 -1
- package/dist/commands/vms.js +9 -3
- package/dist/commands/vms.js.map +1 -1
- package/dist/config/crypto.d.ts +10 -0
- package/dist/config/crypto.d.ts.map +1 -1
- package/dist/config/crypto.js +47 -2
- package/dist/config/crypto.js.map +1 -1
- package/dist/config/index.d.ts +51 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +161 -17
- package/dist/config/index.js.map +1 -1
- package/dist/globals.d.ts +21 -3
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js +30 -4
- package/dist/globals.js.map +1 -1
- package/dist/index.js +48 -7
- package/dist/index.js.map +1 -1
- package/dist/interactive/App.d.ts.map +1 -1
- package/dist/interactive/App.js +11 -5
- package/dist/interactive/App.js.map +1 -1
- package/dist/interactive/components/ConfirmDialog.d.ts +9 -0
- package/dist/interactive/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/interactive/components/ConfirmDialog.js +26 -0
- package/dist/interactive/components/ConfirmDialog.js.map +1 -0
- package/dist/interactive/components/InputBar.d.ts.map +1 -1
- package/dist/interactive/components/InputBar.js +10 -1
- package/dist/interactive/components/InputBar.js.map +1 -1
- package/dist/interactive/launch.d.ts +5 -0
- package/dist/interactive/launch.d.ts.map +1 -1
- package/dist/interactive/launch.js +16 -0
- package/dist/interactive/launch.js.map +1 -1
- package/dist/interactive/slashCommands.d.ts +1 -0
- package/dist/interactive/slashCommands.d.ts.map +1 -1
- package/dist/interactive/slashCommands.js +13 -0
- package/dist/interactive/slashCommands.js.map +1 -1
- package/dist/interactive/useRackMind.d.ts +9 -1
- package/dist/interactive/useRackMind.d.ts.map +1 -1
- package/dist/interactive/useRackMind.js +83 -4
- package/dist/interactive/useRackMind.js.map +1 -1
- package/dist/oneshot/run.d.ts.map +1 -1
- package/dist/oneshot/run.js +51 -9
- package/dist/oneshot/run.js.map +1 -1
- package/dist/server/client.d.ts +4 -2
- package/dist/server/client.d.ts.map +1 -1
- package/dist/server/client.js +6 -4
- package/dist/server/client.js.map +1 -1
- package/dist/server/ssh.d.ts.map +1 -1
- package/dist/server/ssh.js +1 -1
- package/dist/server/ssh.js.map +1 -1
- package/dist/utils/command-safety.d.ts.map +1 -1
- package/dist/utils/command-safety.js +157 -5
- package/dist/utils/command-safety.js.map +1 -1
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +68 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +4 -1
- package/dist/utils/prompt.js.map +1 -1
- package/dist/utils/table.d.ts +3 -0
- package/dist/utils/table.d.ts.map +1 -1
- package/dist/utils/table.js +4 -1
- package/dist/utils/table.js.map +1 -1
- package/package.json +45 -12
- package/dist/ai/client.d.ts +0 -71
- package/dist/ai/client.d.ts.map +0 -1
- package/dist/ai/client.js +0 -198
- 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
|
|
3
|
+
**[rackmind.ai](https://rackmind.ai)** — AI-powered infrastructure management from your terminal.
|
|
4
4
|
|
|
5
|
-
A Claude Code-style
|
|
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
|
-
|
|
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
|
-
|
|
15
|
+
Requires Node.js 20+ (CI runs on 22).
|
|
14
16
|
|
|
15
|
-
|
|
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
|
-
#
|
|
27
|
-
rackmind connect
|
|
20
|
+
# 1. Connect to your Proxmox host (prompts for URL + API token, stored encrypted)
|
|
21
|
+
rackmind connect homelab
|
|
28
22
|
|
|
29
|
-
#
|
|
23
|
+
# 2. Add your Anthropic API key (or run `rackmind login` for managed AI)
|
|
30
24
|
rackmind config set-api-key
|
|
31
25
|
|
|
32
|
-
#
|
|
26
|
+
# 3. Drop into the REPL
|
|
33
27
|
rackmind
|
|
34
28
|
|
|
35
|
-
# Or
|
|
36
|
-
rackmind "
|
|
29
|
+
# 4. Or one-shot it — pipeable, scriptable
|
|
30
|
+
rackmind "which LXC containers are using >80% disk?"
|
|
37
31
|
```
|
|
38
32
|
|
|
39
|
-
|
|
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
|
-
|
|
46
|
-
rackmind
|
|
47
|
-
```
|
|
35
|
+
## Modes
|
|
48
36
|
|
|
49
|
-
|
|
37
|
+
### Interactive REPL — `rackmind`
|
|
50
38
|
|
|
51
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
43
|
+
### One-shot — `rackmind "<question>"`
|
|
60
44
|
|
|
61
|
-
|
|
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
|
|
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>
|
|
79
|
-
rackmind servers list
|
|
80
|
-
rackmind
|
|
81
|
-
rackmind
|
|
82
|
-
rackmind
|
|
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
|
-
|
|
67
|
+
Run `rackmind --help` or `rackmind <cmd> --help` for the full surface.
|
|
86
68
|
|
|
87
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
+
- **stdout** — user-facing data: tables, reports, JSON, AI responses
|
|
85
|
+
- **stderr** — diagnostics: spinners, progress, banners, prompts, errors
|
|
119
86
|
|
|
120
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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) |
|
|
190
|
-
| Solution memory |
|
|
101
|
+
| Bring Your Own Key (BYOK) | — | Unlimited |
|
|
102
|
+
| Solution memory | — | Included |
|
|
191
103
|
| Historical metrics | 1 hour | Unlimited |
|
|
192
|
-
| Terminal AI |
|
|
193
|
-
|
|
194
|
-
**Free tier** -- great for trying RackMind on a single server with basic AI assistance.
|
|
104
|
+
| Terminal AI | — | Included |
|
|
195
105
|
|
|
196
|
-
|
|
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
|
-
|
|
222
|
-
|
|
223
|
-
npm
|
|
224
|
-
npm run
|
|
225
|
-
npm run
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAC9E,4EAA4E;AAC5E,gEAAgE;AAChE,uCAAuC;AACvC,8EAA8E;AAE9E,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,
|
|
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;
|
|
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;
|
|
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;
|
|
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 +
|