rackmind-cli 0.2.1 → 0.4.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.
@@ -11,6 +11,7 @@
11
11
  // (e.g. in tests) destructive tools execute without prompting — callers
12
12
  // are responsible for plumbing the gate through.
13
13
  // ---------------------------------------------------------------------------
14
+ import { z } from 'zod';
14
15
  import { ProxmoxApiError } from '../server/proxmox.js';
15
16
  import { logger } from '../utils/logger.js';
16
17
  import { matchDangerousPattern } from '../utils/command-safety.js';
@@ -32,12 +33,59 @@ import { matchDangerousPattern } from '../utils/command-safety.js';
32
33
  // ---------------------------------------------------------------------------
33
34
  const SECRET_KEY_PATTERN = /api[_-]?key|token|password|secret|credential|authorization|bearer/i;
34
35
  /**
35
- * Heuristic: a value "looks like a secret" if it's a long opaque blob of
36
- * the kinds of characters an API key, JWT, or session token uses.
37
- * Length > 32 keeps SHA-1 hashes (40 chars) and most tokens in scope, but
38
- * lets normal sentences (which contain spaces and punctuation) through.
36
+ * Heuristic: returns true if a standalone string value "looks like a secret"
37
+ * (API key, JWT, session token, etc.).
38
+ *
39
+ * All five conditions must hold:
40
+ * 1. Length ≥ 33 — keeps SHA-1 (40 chars) and most tokens in scope.
41
+ * 2. Contains at least one digit.
42
+ * 3. Contains at least one uppercase letter.
43
+ * 4. Contains at least one lowercase letter.
44
+ * 5. Contains NO forward-slash (`/`).
45
+ *
46
+ * Real keys satisfy all five: `sk-ant-…`, JWTs (base64url uses `-`/`_`, not
47
+ * `/`), AWS access keys, GitHub PATs. Absolute paths fail condition 5.
48
+ *
49
+ * Trade-off: pure-lowercase tokens (git commit SHAs, some hex digests) are no
50
+ * longer redacted — they fail condition 3. We prefer high precision (no false
51
+ * positives on file paths and hashes auditors need to read) over perfect
52
+ * recall on the rare pure-lowercase token.
53
+ */
54
+ function looksLikeSecret(value) {
55
+ return (value.length >= 33 &&
56
+ /[0-9]/.test(value) &&
57
+ /[A-Z]/.test(value) &&
58
+ /[a-z]/.test(value) &&
59
+ !value.includes('/'));
60
+ }
61
+ /**
62
+ * Inline-secret patterns — scan an arbitrary string value for credential
63
+ * fragments embedded in commands or HTTP headers. Applied to EVERY string
64
+ * value before the whole-string heuristic.
65
+ *
66
+ * The simpler `[REDACTED]` (no length) is used here because the surrounding
67
+ * command/header context already identifies what was redacted.
39
68
  */
40
- const SECRET_VALUE_PATTERN = /^[A-Za-z0-9._\-+/=]{33,}$/;
69
+ const INLINE_SECRET_PATTERNS = [
70
+ // shell: password <value>
71
+ [/(?<=\bpassword\s+)\S+/gi, '[REDACTED]'],
72
+ // shell: --password=<value> or --password <value>
73
+ [/(?<=--password[=\s]+)\S+/gi, '[REDACTED]'],
74
+ // HTTP: Bearer <token>
75
+ [/(?<=\bBearer\s+)\S+/gi, '[REDACTED]'],
76
+ // HTTP: Authorization: <scheme> <credential> (full header value)
77
+ [/(?<=^Authorization:\s+).+/gim, '[REDACTED]'],
78
+ // CLI flags
79
+ [/(?<=--token[=\s]+)\S+/gi, '[REDACTED]'],
80
+ [/(?<=--api-key[=\s]+)\S+/gi, '[REDACTED]'],
81
+ ];
82
+ function redactInlineSecrets(value) {
83
+ let result = value;
84
+ for (const [pattern, replacement] of INLINE_SECRET_PATTERNS) {
85
+ result = result.replace(pattern, replacement);
86
+ }
87
+ return result;
88
+ }
41
89
  /**
42
90
  * Deep-clone `input` and redact any value that either lives under a
43
91
  * secret-shaped key (api_key, token, password, …) or whose value matches
@@ -63,10 +111,15 @@ function redactInternal(value, parentKeyIsSecret, seen) {
63
111
  if (typeof value === 'string') {
64
112
  if (parentKeyIsSecret)
65
113
  return '[REDACTED]';
66
- if (SECRET_VALUE_PATTERN.test(value)) {
114
+ // Apply inline patterns first — catches credentials embedded in
115
+ // command strings (e.g. `mysqladmin ... password hunter2`).
116
+ const afterInline = redactInlineSecrets(value);
117
+ // Whole-string heuristic backstop — catches opaque tokens not under
118
+ // a secret-shaped key and not caught by inline patterns.
119
+ if (looksLikeSecret(afterInline)) {
67
120
  return `[REDACTED:length=${value.length}]`;
68
121
  }
69
- return value;
122
+ return afterInline;
70
123
  }
71
124
  if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
72
125
  return value;
@@ -85,14 +138,46 @@ function redactInternal(value, parentKeyIsSecret, seen) {
85
138
  // Functions / symbols — never log them at all.
86
139
  return '[UNLOGGABLE]';
87
140
  }
141
+ // ---------------------------------------------------------------------------
142
+ // Zod schemas — authoritative runtime validation at the tool boundary
143
+ // ---------------------------------------------------------------------------
144
+ // These mirror the JSON Schema input_schema fields in tools.ts. Every tool
145
+ // call is validated here before dispatch. On failure we return a tool-error
146
+ // so the AI can self-correct; we never throw into the AI loop.
147
+ //
148
+ // Exported as _toolSchemas (underscore = test-only) so unit tests can
149
+ // temporarily substitute schemas (e.g. to test .default() propagation).
150
+ // ---------------------------------------------------------------------------
151
+ const _ExecuteCommandSchema = z.object({ command: z.string() });
152
+ const _CommandInContainerSchema = z.object({ vmid: z.number(), command: z.string() });
153
+ const _VmidSchema = z.object({ vmid: z.number() });
154
+ const _EmptySchema = z.object({});
155
+ export const _toolSchemas = new Map([
156
+ ['execute_command', _ExecuteCommandSchema],
157
+ ['execute_command_in_container', _CommandInContainerSchema],
158
+ ['get_container_status', _VmidSchema],
159
+ ['get_vm_status', _VmidSchema],
160
+ ['get_node_status', _EmptySchema],
161
+ ['list_containers', _EmptySchema],
162
+ ['list_vms', _EmptySchema],
163
+ ['start_container', _VmidSchema],
164
+ ['stop_container', _VmidSchema],
165
+ ['restart_container', _VmidSchema],
166
+ ['start_vm', _VmidSchema],
167
+ ['stop_vm', _VmidSchema],
168
+ ['restart_vm', _VmidSchema],
169
+ ]);
170
+ /** Tool names for which we have already emitted the "no schema" warning (once per session). */
171
+ const _noSchemaWarned = new Set();
88
172
  /**
89
- * Tool names that mutate server state. Anything in this set MUST go
90
- * through the confirmation gate before executing.
173
+ * Tool names that mutate server state or execute arbitrary shell commands.
174
+ * Anything in this set MUST go through the confirmation gate before executing.
91
175
  *
92
- * `execute_command*` are not in this set because they have their own,
93
- * narrower dangerous-pattern check in [matchDangerousPattern] — the
94
- * model can request `ls /` without prompting, but `rm -rf /` is blocked
95
- * even before the gate is asked.
176
+ * Shell-execution tools (`execute_command*`) are gated here AND additionally
177
+ * pre-screened by [matchDangerousPattern] before the gate is reached so a
178
+ * blocklisted command is refused outright without prompting the user to confirm.
179
+ * This closes the shell-escape bypass class: a user can never be coaxed into
180
+ * approving a regex-evading variant of a known-dangerous command.
96
181
  */
97
182
  const DESTRUCTIVE_TOOLS = new Set([
98
183
  'start_container',
@@ -101,6 +186,9 @@ const DESTRUCTIVE_TOOLS = new Set([
101
186
  'start_vm',
102
187
  'stop_vm',
103
188
  'restart_vm',
189
+ // Shell execution: every command requires explicit user confirmation.
190
+ 'execute_command',
191
+ 'execute_command_in_container',
104
192
  ]);
105
193
  /** Returns true if the tool will mutate server state. */
106
194
  export function isDestructiveTool(toolName) {
@@ -122,6 +210,14 @@ function describeDestructiveAction(toolName, input) {
122
210
  return `Stop VM ${vmid}`;
123
211
  case 'restart_vm':
124
212
  return `Restart VM ${vmid}`;
213
+ case 'execute_command': {
214
+ const cmd = input.command;
215
+ return `Execute on host: ${cmd}`;
216
+ }
217
+ case 'execute_command_in_container': {
218
+ const ci = input;
219
+ return `Execute in container ${ci.vmid}: ${ci.command}`;
220
+ }
125
221
  default:
126
222
  return toolName;
127
223
  }
@@ -134,14 +230,74 @@ function describeDestructiveAction(toolName, input) {
134
230
  * Catches all errors and returns them as error results rather than throwing.
135
231
  */
136
232
  export async function executeTool(toolName, input, client, options = {}) {
233
+ // Short-circuit immediately if the caller's turn has already been aborted.
234
+ if (options.signal?.aborted) {
235
+ logger.info('Tool short-circuited: signal already aborted', { toolName });
236
+ return {
237
+ content: 'Tool execution aborted.',
238
+ isError: false,
239
+ label: `${toolName} (aborted)`,
240
+ };
241
+ }
137
242
  logger.info('Executing tool', { toolName, input: redactSecrets(input) });
138
- // Confirmation gate for destructive lifecycle tools.
243
+ // Validate input against the declared Zod schema before touching any values.
244
+ // On failure, return a tool-error so the AI can self-correct without crashing
245
+ // the loop. On success, use result.data (with coercions and defaults applied).
246
+ const schema = _toolSchemas.get(toolName);
247
+ let parsedInput;
248
+ if (schema !== undefined) {
249
+ const result = schema.safeParse(input);
250
+ if (!result.success) {
251
+ const issues = result.error.issues
252
+ .map((iss) => `${iss.path.length ? iss.path.join('.') : '(root)'}: ${iss.message}`)
253
+ .join('; ');
254
+ logger.warn('Tool input validation failed', { toolName, issues });
255
+ return {
256
+ content: `Invalid input for tool "${toolName}": ${issues}. ` +
257
+ 'Please retry with corrected input.',
258
+ isError: true,
259
+ label: `${toolName} (invalid input)`,
260
+ };
261
+ }
262
+ parsedInput = result.data;
263
+ }
264
+ else {
265
+ if (!_noSchemaWarned.has(toolName)) {
266
+ logger.warn(`[warn] No schema declared for tool "${toolName}" — skipping validation`);
267
+ _noSchemaWarned.add(toolName);
268
+ }
269
+ parsedInput = input;
270
+ }
271
+ // For shell-execution tools: run the blocklist BEFORE the confirmation
272
+ // gate. A blocklisted command is refused outright — the AI must not be
273
+ // able to coax the user into confirming a regex-evading dangerous variant
274
+ // (IFS substitution, $(), base64, backslash-quoting, etc. are all
275
+ // confirmed-command bypass classes that this structural check closes).
276
+ if (toolName === 'execute_command' || toolName === 'execute_command_in_container') {
277
+ const cmd = 'command' in parsedInput ? parsedInput.command : '';
278
+ const dangerMatch = matchDangerousPattern(cmd);
279
+ if (dangerMatch) {
280
+ logger.warn('AI attempted blocklisted command (refused before confirmation gate)', {
281
+ toolName,
282
+ command: cmd,
283
+ pattern: dangerMatch,
284
+ });
285
+ return {
286
+ content: `Command blocked for safety: ${dangerMatch}. This command is not permitted. ` +
287
+ 'Please inform the user about the command you want to run and ask them ' +
288
+ 'to execute it manually if truly needed.',
289
+ isError: true,
290
+ label: `${toolName}: ${cmd} (blocked)`,
291
+ };
292
+ }
293
+ }
294
+ // Confirmation gate for destructive tools (lifecycle + shell execution).
139
295
  if (isDestructiveTool(toolName)) {
140
- const label = describeDestructiveAction(toolName, input);
296
+ const label = describeDestructiveAction(toolName, parsedInput);
141
297
  logger.warn('Destructive tool requested', {
142
298
  toolName,
143
299
  label,
144
- input: redactSecrets(input),
300
+ input: redactSecrets(parsedInput),
145
301
  hasConfirm: Boolean(options.confirm),
146
302
  });
147
303
  if (options.confirm) {
@@ -150,7 +306,7 @@ export async function executeTool(toolName, input, client, options = {}) {
150
306
  confirmed = await options.confirm({
151
307
  tool: toolName,
152
308
  label,
153
- details: input,
309
+ details: parsedInput,
154
310
  });
155
311
  }
156
312
  catch (err) {
@@ -175,13 +331,13 @@ export async function executeTool(toolName, input, client, options = {}) {
175
331
  try {
176
332
  switch (toolName) {
177
333
  case 'execute_command':
178
- return await executeCommand(input, client);
334
+ return await executeCommand(parsedInput, client);
179
335
  case 'execute_command_in_container':
180
- return await executeCommandInContainer(input, client);
336
+ return await executeCommandInContainer(parsedInput, client);
181
337
  case 'get_container_status':
182
- return await getContainerStatus(input, client);
338
+ return await getContainerStatus(parsedInput, client);
183
339
  case 'get_vm_status':
184
- return await getVmStatus(input, client);
340
+ return await getVmStatus(parsedInput, client);
185
341
  case 'get_node_status':
186
342
  return await getNodeStatus(client);
187
343
  case 'list_containers':
@@ -189,17 +345,17 @@ export async function executeTool(toolName, input, client, options = {}) {
189
345
  case 'list_vms':
190
346
  return await listVms(client);
191
347
  case 'start_container':
192
- return await startContainer(input, client);
348
+ return await startContainer(parsedInput, client);
193
349
  case 'stop_container':
194
- return await stopContainer(input, client);
350
+ return await stopContainer(parsedInput, client);
195
351
  case 'restart_container':
196
- return await restartContainer(input, client);
352
+ return await restartContainer(parsedInput, client);
197
353
  case 'start_vm':
198
- return await startVm(input, client);
354
+ return await startVm(parsedInput, client);
199
355
  case 'stop_vm':
200
- return await stopVm(input, client);
356
+ return await stopVm(parsedInput, client);
201
357
  case 'restart_vm':
202
- return await restartVm(input, client);
358
+ return await restartVm(parsedInput, client);
203
359
  default:
204
360
  return {
205
361
  content: `Unknown tool: ${toolName}`,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/ai/tool-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/ai/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFhG"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFhG"}
@@ -12,6 +12,7 @@ import { ServerClient } from '../server/client.js';
12
12
  import { formatError, formatDim } from '../utils/format.js';
13
13
  import { logger } from '../utils/logger.js';
14
14
  import { getServerAliasOverride, isQuietMode } from '../globals.js';
15
+ import { onShutdown, removeShutdownHandler } from '../utils/shutdown.js';
15
16
  /**
16
17
  * Stream logs for a guest (container or VM).
17
18
  */
@@ -30,6 +31,12 @@ export async function logsCommand(vmidStr, lines, follow) {
30
31
  process.stderr.write(formatError(message) + '\n');
31
32
  process.exit(1);
32
33
  }
34
+ // Register through the shared shutdown chain — process.once semantics are
35
+ // guaranteed by onShutdown() (one entry per invocation, removed on normal exit).
36
+ const disposeClient = () => {
37
+ client?.dispose();
38
+ };
39
+ onShutdown(disposeClient);
33
40
  try {
34
41
  const node = await client.getNodeName();
35
42
  const guestType = await detectGuestType(client, vmid, node);
@@ -43,12 +50,6 @@ export async function logsCommand(vmidStr, lines, follow) {
43
50
  process.stderr.write(formatDim(`Tailing logs for ${guestType === 'lxc' ? 'container' : 'VM'} ${vmid}...\n`));
44
51
  process.stderr.write(chalk.dim('─'.repeat(60) + '\n'));
45
52
  }
46
- // Handle Ctrl+C gracefully when following
47
- const cleanup = () => {
48
- client?.dispose();
49
- process.exit(0);
50
- };
51
- process.on('SIGINT', cleanup);
52
53
  if (guestType === 'lxc') {
53
54
  // For LXC containers, execute inside the container
54
55
  await client.execInContainerStream(vmid, command, (data, stream) => {
@@ -83,6 +84,7 @@ export async function logsCommand(vmidStr, lines, follow) {
83
84
  }
84
85
  finally {
85
86
  client.dispose();
87
+ removeShutdownHandler(disposeClient);
86
88
  }
87
89
  }
88
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export declare const ServerProfileSchema: z.ZodObject<{
32
32
  /** Whether to allow self-signed TLS certificates */
33
33
  allowSelfSigned: z.ZodDefault<z.ZodBoolean>;
34
34
  /** Optional Proxmox node name override */
35
- node: z.ZodOptional<z.ZodString>;
35
+ node: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
36
36
  /** Timestamp of creation */
37
37
  createdAt: z.ZodDefault<z.ZodNumber>;
38
38
  /** Last successful connection timestamp */
@@ -70,7 +70,7 @@ export declare const ServerProfileSchema: z.ZodObject<{
70
70
  encryptedSshPassword?: string | undefined;
71
71
  sshPrivateKeyPath?: string | undefined;
72
72
  allowSelfSigned?: boolean | undefined;
73
- node?: string | undefined;
73
+ node?: string | null | undefined;
74
74
  createdAt?: number | undefined;
75
75
  lastConnectedAt?: number | null | undefined;
76
76
  }>;
@@ -140,7 +140,7 @@ export declare const RackMindConfigSchema: z.ZodObject<{
140
140
  /** Whether to allow self-signed TLS certificates */
141
141
  allowSelfSigned: z.ZodDefault<z.ZodBoolean>;
142
142
  /** Optional Proxmox node name override */
143
- node: z.ZodOptional<z.ZodString>;
143
+ node: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
144
144
  /** Timestamp of creation */
145
145
  createdAt: z.ZodDefault<z.ZodNumber>;
146
146
  /** Last successful connection timestamp */
@@ -178,7 +178,7 @@ export declare const RackMindConfigSchema: z.ZodObject<{
178
178
  encryptedSshPassword?: string | undefined;
179
179
  sshPrivateKeyPath?: string | undefined;
180
180
  allowSelfSigned?: boolean | undefined;
181
- node?: string | undefined;
181
+ node?: string | null | undefined;
182
182
  createdAt?: number | undefined;
183
183
  lastConnectedAt?: number | null | undefined;
184
184
  }>>>;
@@ -257,7 +257,7 @@ export declare const RackMindConfigSchema: z.ZodObject<{
257
257
  encryptedSshPassword?: string | undefined;
258
258
  sshPrivateKeyPath?: string | undefined;
259
259
  allowSelfSigned?: boolean | undefined;
260
- node?: string | undefined;
260
+ node?: string | null | undefined;
261
261
  createdAt?: number | undefined;
262
262
  lastConnectedAt?: number | null | undefined;
263
263
  }> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAMtE,eAAO,MAAM,mBAAmB;IAC5B,kDAAkD;;IAElD,2BAA2B;;IAI3B,yCAAyC;;IAEzC,uCAAuC;;IAEvC,wCAAwC;;IAExC,qDAAqD;;IAErD,iCAAiC;;IAIjC,0CAA0C;;IAE1C,6BAA6B;;IAE7B,mCAAmC;;IAEnC,sBAAsB;;IAEtB,6BAA6B;;IAE7B,2DAA2D;;IAI3D,oDAAoD;;IAEpD,0CAA0C;;IAE1C,4BAA4B;;IAE5B,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7C,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;IAC1B,sBAAsB;;IAEtB,kBAAkB;;IAElB,mDAAmD;;IAEnD,kCAAkC;;;;;;;;;;;;EAEpC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;IAC7B,kDAAkD;;IAElD,oCAAoC;;IAEpC,oCAAoC;;IAEpC,mDAAmD;;IAEnD,uCAAuC;;IAEvC,0CAA0C;;IAE1C,gDAAgD;;QAtEhD,kDAAkD;;QAElD,2BAA2B;;QAI3B,yCAAyC;;QAEzC,uCAAuC;;QAEvC,wCAAwC;;QAExC,qDAAqD;;QAErD,iCAAiC;;QAIjC,0CAA0C;;QAE1C,6BAA6B;;QAE7B,mCAAmC;;QAEnC,sBAAsB;;QAEtB,6BAA6B;;QAE7B,2DAA2D;;QAI3D,oDAAoD;;QAEpD,0CAA0C;;QAE1C,4BAA4B;;QAE5B,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkC3C,uBAAuB;;QA3BvB,sBAAsB;;QAEtB,kBAAkB;;QAElB,mDAAmD;;QAEnD,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAED,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,cAA0B,GACrC,aAAa,CAOf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;AAMtE,eAAO,MAAM,mBAAmB;IAC5B,kDAAkD;;IAElD,2BAA2B;;IAI3B,yCAAyC;;IAEzC,uCAAuC;;IAEvC,wCAAwC;;IAExC,qDAAqD;;IAErD,iCAAiC;;IAIjC,0CAA0C;;IAE1C,6BAA6B;;IAE7B,mCAAmC;;IAEnC,sBAAsB;;IAEtB,6BAA6B;;IAE7B,2DAA2D;;IAI3D,oDAAoD;;IAEpD,0CAA0C;;IAM1C,4BAA4B;;IAE5B,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7C,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;IAC1B,sBAAsB;;IAEtB,kBAAkB;;IAElB,mDAAmD;;IAEnD,kCAAkC;;;;;;;;;;;;EAEpC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;IAC7B,kDAAkD;;IAElD,oCAAoC;;IAEpC,oCAAoC;;IAEpC,mDAAmD;;IAEnD,uCAAuC;;IAEvC,0CAA0C;;IAE1C,gDAAgD;;QA1EhD,kDAAkD;;QAElD,2BAA2B;;QAI3B,yCAAyC;;QAEzC,uCAAuC;;QAEvC,wCAAwC;;QAExC,qDAAqD;;QAErD,iCAAiC;;QAIjC,0CAA0C;;QAE1C,6BAA6B;;QAE7B,mCAAmC;;QAEnC,sBAAsB;;QAEtB,6BAA6B;;QAE7B,2DAA2D;;QAI3D,oDAAoD;;QAEpD,0CAA0C;;QAM1C,4BAA4B;;QAE5B,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkC3C,uBAAuB;;QA3BvB,sBAAsB;;QAEtB,kBAAkB;;QAElB,mDAAmD;;QAEnD,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD;AAED,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,cAA0B,GACrC,aAAa,CAOf"}
@@ -35,7 +35,11 @@ export const ServerProfileSchema = z.object({
35
35
  /** Whether to allow self-signed TLS certificates */
36
36
  allowSelfSigned: z.boolean().default(true),
37
37
  /** Optional Proxmox node name override */
38
- node: z.string().optional(),
38
+ node: z
39
+ .string()
40
+ .nullable()
41
+ .optional()
42
+ .transform((v) => v ?? undefined),
39
43
  /** Timestamp of creation */
40
44
  createdAt: z.number().default(() => Date.now()),
41
45
  /** Last successful connection timestamp */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/interactive/App.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAexE,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CA6JxC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/interactive/App.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAexE,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CAsKxC"}
@@ -21,7 +21,7 @@ import { readConfig } from '../config/index.js';
21
21
  import { saveSession, generateSessionId } from '../utils/history.js';
22
22
  export function App() {
23
23
  const { exit } = useApp();
24
- const { messages, connection, isThinking, streamingText, activeTools, model, pendingConfirmation, sendMessage, clearMessages, connect, refreshContext, } = useRackMind();
24
+ const { messages, connection, isThinking, streamingText, activeTools, model, pendingConfirmation, sendMessage, abortTurn, clearMessages, connect, refreshContext, } = useRackMind();
25
25
  const [displayMessages, setDisplayMessages] = useState([]);
26
26
  const [config] = useState(() => readConfig());
27
27
  const showTimestamps = config.preferences.timestampMessages;
@@ -89,11 +89,20 @@ export function App() {
89
89
  }
90
90
  };
91
91
  }, []);
92
- // Handle Ctrl+C to exit. Disabled while a destructive-action dialog is
93
- // showing so the dialog owns input its Ctrl+C maps to "decline".
92
+ // Handle Ctrl+C.
93
+ // - While a turn is in flight: abort it and return to prompt (first Ctrl+C).
94
+ // - While idle: exit the app (same as before; second Ctrl+C after an abort
95
+ // will reach this branch since isThinking is false after the cancel).
96
+ // Disabled while the destructive-action dialog is showing so the dialog
97
+ // owns input — its Ctrl+C maps to "decline" via the ConfirmDialog handler.
94
98
  useInput((_input, key) => {
95
99
  if (key.ctrl && _input === 'c') {
96
- exit();
100
+ if (isThinking) {
101
+ abortTurn();
102
+ }
103
+ else {
104
+ exit();
105
+ }
97
106
  }
98
107
  }, { isActive: !pendingConfirmation });
99
108
  // Determine input placeholder based on state
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/interactive/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/interactive/App.tsx"],"names":[],"mappings":"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"}