rackmind-cli 0.3.0 → 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.
@@ -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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"}
@@ -1,4 +1,39 @@
1
+ import type Anthropic from '@anthropic-ai/sdk';
1
2
  import { type ToolExecution, type PendingDestructiveAction } from '../ai/providers/index.js';
3
+ /**
4
+ * Soft cap on conversation history. Tune to fit ≈80 % of the model's 200 K-token window.
5
+ * 400 K chars ≈ 100 K tokens at ~4 chars/token — leaves headroom for the system prompt,
6
+ * tool definitions, and the model's own 4 K max_tokens response budget.
7
+ */
8
+ export declare const HISTORY_CAP_CHARS = 400000;
9
+ /** Maximum number of API message entries before trimming. */
10
+ export declare const HISTORY_CAP_TURNS = 150;
11
+ /** Fraction of the cap at which a /clear hint is shown (fires once per session). */
12
+ export declare const HISTORY_WARN_FRACTION = 0.75;
13
+ /**
14
+ * Estimate the total character count of a conversation history.
15
+ * Uses JSON serialisation for simplicity; slightly over-counts JSON structural
16
+ * overhead (safer: we trim a little earlier than strictly necessary).
17
+ */
18
+ export declare function historyCharCount(history: Anthropic.Messages.MessageParam[]): number;
19
+ /**
20
+ * Trim the oldest entries from `history` so the result is back below
21
+ * HISTORY_WARN_FRACTION of each cap. Always ensures the first remaining
22
+ * entry has role 'user' so the Anthropic API constraint is satisfied.
23
+ * Returns the (possibly unchanged) array and a flag indicating whether
24
+ * any trimming was done.
25
+ */
26
+ export declare function trimHistory(history: Anthropic.Messages.MessageParam[], capChars: number, capTurns: number): {
27
+ history: Anthropic.Messages.MessageParam[];
28
+ trimmed: boolean;
29
+ };
30
+ /**
31
+ * Check whether a /clear hint should be shown. Returns the warning message
32
+ * string when history is at or above HISTORY_WARN_FRACTION of either cap,
33
+ * or null otherwise. Pure function — the "fires once per session" guard is
34
+ * maintained by the caller via historyWarnFiredRef.
35
+ */
36
+ export declare function checkHistoryWarnMsg(history: Anthropic.Messages.MessageParam[], capChars: number, capTurns: number): string | null;
2
37
  export interface ChatMessage {
3
38
  id: string;
4
39
  role: 'user' | 'assistant' | 'system';
@@ -29,6 +64,8 @@ export interface RackMindState {
29
64
  }
30
65
  export interface RackMindActions {
31
66
  sendMessage: (text: string) => Promise<void>;
67
+ /** Abort the in-flight AI turn (if any). Safe to call when idle. */
68
+ abortTurn: () => void;
32
69
  clearMessages: () => void;
33
70
  connect: () => Promise<void>;
34
71
  disconnect: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useRackMind.d.ts","sourceRoot":"","sources":["../../src/interactive/useRackMind.ts"],"names":[],"mappings":"AAUA,OAAO,EAIH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAChC,MAAM,0BAA0B,CAAC;AAiBlC,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kDAAkD;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAiBD,wBAAgB,WAAW,IAAI,aAAa,GAAG,eAAe,CAqV7D"}
1
+ {"version":3,"file":"useRackMind.d.ts","sourceRoot":"","sources":["../../src/interactive/useRackMind.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAIH,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAChC,MAAM,0BAA0B,CAAC;AAkBlC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,MAAM,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACvB,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAC1C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB;IAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAwBlE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAC1C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CASf;AAMD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kDAAkD;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,oEAAoE;IACpE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AA0BD,wBAAgB,WAAW,IAAI,aAAa,GAAG,eAAe,CAoa7D"}
@@ -7,6 +7,7 @@
7
7
  // ---------------------------------------------------------------------------
8
8
  import { useState, useCallback, useRef, useEffect } from 'react';
9
9
  import { getAIProvider, } from '../ai/providers/index.js';
10
+ import { isAbortError } from '../ai/providers/anthropic-provider.js';
10
11
  import { resolveUsableModelId } from '../ai/models.js';
11
12
  import { ServerClient } from '../server/client.js';
12
13
  import { getAnthropicApiKey, resolveServerAlias, readConfig, MachineKeyMismatchError, } from '../config/index.js';
@@ -14,6 +15,69 @@ import { logger } from '../utils/logger.js';
14
15
  import { isAutoYes, getServerAliasOverride } from '../globals.js';
15
16
  import { onShutdown, removeShutdownHandler } from '../utils/shutdown.js';
16
17
  // ---------------------------------------------------------------------------
18
+ // History soft-cap
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Soft cap on conversation history. Tune to fit ≈80 % of the model's 200 K-token window.
22
+ * 400 K chars ≈ 100 K tokens at ~4 chars/token — leaves headroom for the system prompt,
23
+ * tool definitions, and the model's own 4 K max_tokens response budget.
24
+ */
25
+ export const HISTORY_CAP_CHARS = 400_000;
26
+ /** Maximum number of API message entries before trimming. */
27
+ export const HISTORY_CAP_TURNS = 150;
28
+ /** Fraction of the cap at which a /clear hint is shown (fires once per session). */
29
+ export const HISTORY_WARN_FRACTION = 0.75;
30
+ /**
31
+ * Estimate the total character count of a conversation history.
32
+ * Uses JSON serialisation for simplicity; slightly over-counts JSON structural
33
+ * overhead (safer: we trim a little earlier than strictly necessary).
34
+ */
35
+ export function historyCharCount(history) {
36
+ return JSON.stringify(history).length;
37
+ }
38
+ /**
39
+ * Trim the oldest entries from `history` so the result is back below
40
+ * HISTORY_WARN_FRACTION of each cap. Always ensures the first remaining
41
+ * entry has role 'user' so the Anthropic API constraint is satisfied.
42
+ * Returns the (possibly unchanged) array and a flag indicating whether
43
+ * any trimming was done.
44
+ */
45
+ export function trimHistory(history, capChars, capTurns) {
46
+ if (historyCharCount(history) <= capChars && history.length <= capTurns) {
47
+ return { history, trimmed: false };
48
+ }
49
+ const targetChars = Math.floor(capChars * HISTORY_WARN_FRACTION);
50
+ const targetTurns = Math.floor(capTurns * HISTORY_WARN_FRACTION);
51
+ let slice = history;
52
+ let didTrim = false;
53
+ while (slice.length > 2 &&
54
+ (historyCharCount(slice) > targetChars || slice.length > targetTurns)) {
55
+ slice = slice.slice(1);
56
+ didTrim = true;
57
+ // Preserve the Anthropic API invariant: history must start with a user message.
58
+ while (slice.length > 1 && slice[0].role !== 'user') {
59
+ slice = slice.slice(1);
60
+ }
61
+ }
62
+ return { history: slice, trimmed: didTrim };
63
+ }
64
+ /**
65
+ * Check whether a /clear hint should be shown. Returns the warning message
66
+ * string when history is at or above HISTORY_WARN_FRACTION of either cap,
67
+ * or null otherwise. Pure function — the "fires once per session" guard is
68
+ * maintained by the caller via historyWarnFiredRef.
69
+ */
70
+ export function checkHistoryWarnMsg(history, capChars, capTurns) {
71
+ const charFrac = historyCharCount(history) / capChars;
72
+ const turnFrac = history.length / capTurns;
73
+ const maxFrac = Math.max(charFrac, turnFrac);
74
+ if (maxFrac >= HISTORY_WARN_FRACTION) {
75
+ const pct = Math.round(maxFrac * 100);
76
+ return `History is large (${pct}% of context). Consider /clear to start fresh.`;
77
+ }
78
+ return null;
79
+ }
80
+ // ---------------------------------------------------------------------------
17
81
  // ID generation
18
82
  // ---------------------------------------------------------------------------
19
83
  let messageCounter = 0;
@@ -21,6 +85,14 @@ function nextMessageId() {
21
85
  messageCounter += 1;
22
86
  return `msg-${Date.now()}-${messageCounter}`;
23
87
  }
88
+ function makeSystemMessage(content) {
89
+ return {
90
+ id: nextMessageId(),
91
+ role: 'system',
92
+ content,
93
+ timestamp: Date.now(),
94
+ };
95
+ }
24
96
  // ---------------------------------------------------------------------------
25
97
  // Hook
26
98
  // ---------------------------------------------------------------------------
@@ -43,6 +115,16 @@ export function useRackMind() {
43
115
  const aiClientRef = useRef(null);
44
116
  const historyRef = useRef([]);
45
117
  const toolExecutionsRef = useRef([]);
118
+ /** AbortController for the currently in-flight turn, null when idle. */
119
+ const abortControllerRef = useRef(null);
120
+ /**
121
+ * Mirror of the pendingConfirmation React state kept in a ref so that
122
+ * abortTurn() can auto-decline the dialog synchronously without waiting
123
+ * for a React re-render, which would leave the confirm await hanging.
124
+ */
125
+ const pendingConfirmationRef = useRef(null);
126
+ /** Tracks whether the "history is large" hint has been shown this session. */
127
+ const historyWarnFiredRef = useRef(false);
46
128
  // -----------------------------------------------------------------------
47
129
  // Connect to server
48
130
  // -----------------------------------------------------------------------
@@ -183,7 +265,30 @@ export function useRackMind() {
183
265
  setStreamingText('');
184
266
  setError(null);
185
267
  toolExecutionsRef.current = [];
268
+ // ------------------------------------------------------------------
269
+ // History soft-cap: warn when approaching the limit, trim when over.
270
+ // ------------------------------------------------------------------
271
+ if (!historyWarnFiredRef.current) {
272
+ const warnMsg = checkHistoryWarnMsg(historyRef.current, HISTORY_CAP_CHARS, HISTORY_CAP_TURNS);
273
+ if (warnMsg !== null) {
274
+ historyWarnFiredRef.current = true;
275
+ setMessages((prev) => [...prev, makeSystemMessage(warnMsg)]);
276
+ }
277
+ }
278
+ const trimResult = trimHistory(historyRef.current, HISTORY_CAP_CHARS, HISTORY_CAP_TURNS);
279
+ if (trimResult.trimmed) {
280
+ historyRef.current = trimResult.history;
281
+ setMessages((prev) => [
282
+ ...prev,
283
+ makeSystemMessage('Trimmed old history to fit context.'),
284
+ ]);
285
+ }
286
+ // ------------------------------------------------------------------
186
287
  let accumulatedText = '';
288
+ // One AbortController per turn — stored in a ref so abortTurn() can
289
+ // reach it. Cleared in the finally block so the ref is never stale.
290
+ const ac = new AbortController();
291
+ abortControllerRef.current = ac;
187
292
  const callbacks = {
188
293
  onText: (chunk) => {
189
294
  accumulatedText += chunk;
@@ -218,17 +323,21 @@ export function useRackMind() {
218
323
  label: action.label,
219
324
  details: action.details,
220
325
  });
221
- setPendingConfirmation({
326
+ const confirmation = {
222
327
  action,
223
328
  respond: (allow) => {
329
+ pendingConfirmationRef.current = null;
224
330
  setPendingConfirmation(null);
225
331
  resolve(allow);
226
332
  },
227
- });
333
+ };
334
+ pendingConfirmationRef.current = confirmation;
335
+ setPendingConfirmation(confirmation);
228
336
  }),
229
337
  };
230
338
  try {
231
- const updatedHistory = await aiClientRef.current.chatMultiTurn(trimmed, historyRef.current, serverClientRef.current, connection.serverAlias, callbacks);
339
+ const updatedHistory = await aiClientRef.current.chatMultiTurn(trimmed, historyRef.current, serverClientRef.current, connection.serverAlias, callbacks, ac.signal);
340
+ // Only persist history when the turn completed normally.
232
341
  historyRef.current = updatedHistory;
233
342
  // Add assistant message with final text
234
343
  const assistantMessage = {
@@ -243,42 +352,70 @@ export function useRackMind() {
243
352
  setMessages((prev) => [...prev, assistantMessage]);
244
353
  }
245
354
  catch (err) {
246
- const message = err instanceof Error ? err.message : String(err);
247
- logger.error('Interactive chat failed', { error: message });
248
- // Provide human-readable errors
249
- let userError = message;
250
- if (message.includes('401') || message.includes('authentication_error')) {
251
- userError = 'Anthropic API authentication failed. Check your API key.';
252
- }
253
- else if (message.includes('429') || message.includes('rate_limit')) {
254
- userError = 'Rate limit hit. Please wait and try again.';
355
+ if (isAbortError(err)) {
356
+ // User cancelled do NOT persist the partial turn to history,
357
+ // do NOT surface a red error. Show a quiet "Cancelled." note.
358
+ logger.info('Interactive turn cancelled by user');
359
+ const cancelledMessage = {
360
+ id: nextMessageId(),
361
+ role: 'system',
362
+ content: 'Cancelled.',
363
+ timestamp: Date.now(),
364
+ };
365
+ setMessages((prev) => [...prev, cancelledMessage]);
255
366
  }
256
- else if (message.includes('overloaded')) {
257
- userError = 'Anthropic API is overloaded. Try again in a moment.';
258
- }
259
- else if (message.includes('ECONNREFUSED') || message.includes('ETIMEDOUT')) {
260
- userError = 'Cannot connect to server. Check your configuration.';
367
+ else {
368
+ const message = err instanceof Error ? err.message : String(err);
369
+ logger.error('Interactive chat failed', { error: message });
370
+ // Provide human-readable errors
371
+ let userError = message;
372
+ if (message.includes('401') || message.includes('authentication_error')) {
373
+ userError = 'Anthropic API authentication failed. Check your API key.';
374
+ }
375
+ else if (message.includes('429') || message.includes('rate_limit')) {
376
+ userError = 'Rate limit hit. Please wait and try again.';
377
+ }
378
+ else if (message.includes('overloaded')) {
379
+ userError = 'Anthropic API is overloaded. Try again in a moment.';
380
+ }
381
+ else if (message.includes('ECONNREFUSED') || message.includes('ETIMEDOUT')) {
382
+ userError = 'Cannot connect to server. Check your configuration.';
383
+ }
384
+ const errorMessage = {
385
+ id: nextMessageId(),
386
+ role: 'system',
387
+ content: userError,
388
+ timestamp: Date.now(),
389
+ };
390
+ setMessages((prev) => [...prev, errorMessage]);
261
391
  }
262
- const errorMessage = {
263
- id: nextMessageId(),
264
- role: 'system',
265
- content: userError,
266
- timestamp: Date.now(),
267
- };
268
- setMessages((prev) => [...prev, errorMessage]);
269
392
  }
270
393
  finally {
394
+ abortControllerRef.current = null;
395
+ pendingConfirmationRef.current = null;
396
+ setPendingConfirmation(null);
271
397
  setIsThinking(false);
272
398
  setStreamingText('');
273
399
  setActiveTools([]);
274
400
  }
275
401
  }, [connection.serverAlias]);
276
402
  // -----------------------------------------------------------------------
403
+ // Abort current turn
404
+ // -----------------------------------------------------------------------
405
+ const abortTurn = useCallback(() => {
406
+ // Auto-decline any open destructive-action dialog so the awaiting
407
+ // confirm() Promise resolves (to false) and unblocks the tool loop.
408
+ // Without this the chatMultiTurn await would hang even after abort().
409
+ pendingConfirmationRef.current?.respond(false);
410
+ abortControllerRef.current?.abort();
411
+ }, []);
412
+ // -----------------------------------------------------------------------
277
413
  // Clear messages
278
414
  // -----------------------------------------------------------------------
279
415
  const clearMessages = useCallback(() => {
280
416
  setMessages([]);
281
417
  historyRef.current = [];
418
+ historyWarnFiredRef.current = false;
282
419
  setStreamingText('');
283
420
  setError(null);
284
421
  }, []);
@@ -319,6 +456,7 @@ export function useRackMind() {
319
456
  error,
320
457
  pendingConfirmation,
321
458
  sendMessage,
459
+ abortTurn,
322
460
  clearMessages,
323
461
  connect,
324
462
  disconnect,