mstro-app 0.1.54 → 0.1.56

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 (57) hide show
  1. package/bin/mstro.js +2 -1
  2. package/dist/server/cli/headless/claude-invoker.d.ts.map +1 -1
  3. package/dist/server/cli/headless/claude-invoker.js +151 -0
  4. package/dist/server/cli/headless/claude-invoker.js.map +1 -1
  5. package/dist/server/cli/headless/runner.d.ts.map +1 -1
  6. package/dist/server/cli/headless/runner.js +7 -1
  7. package/dist/server/cli/headless/runner.js.map +1 -1
  8. package/dist/server/cli/headless/stall-assessor.d.ts +30 -0
  9. package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -0
  10. package/dist/server/cli/headless/stall-assessor.js +184 -0
  11. package/dist/server/cli/headless/stall-assessor.js.map +1 -0
  12. package/dist/server/cli/headless/types.d.ts +9 -1
  13. package/dist/server/cli/headless/types.d.ts.map +1 -1
  14. package/dist/server/cli/improvisation-session-manager.d.ts +21 -2
  15. package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
  16. package/dist/server/cli/improvisation-session-manager.js +65 -5
  17. package/dist/server/cli/improvisation-session-manager.js.map +1 -1
  18. package/dist/server/index.js +4 -1
  19. package/dist/server/index.js.map +1 -1
  20. package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
  21. package/dist/server/mcp/bouncer-integration.js +32 -0
  22. package/dist/server/mcp/bouncer-integration.js.map +1 -1
  23. package/dist/server/services/platform.d.ts.map +1 -1
  24. package/dist/server/services/platform.js +8 -5
  25. package/dist/server/services/platform.js.map +1 -1
  26. package/dist/server/services/settings.d.ts +25 -0
  27. package/dist/server/services/settings.d.ts.map +1 -0
  28. package/dist/server/services/settings.js +72 -0
  29. package/dist/server/services/settings.js.map +1 -0
  30. package/dist/server/services/websocket/autocomplete.d.ts.map +1 -1
  31. package/dist/server/services/websocket/autocomplete.js +12 -15
  32. package/dist/server/services/websocket/autocomplete.js.map +1 -1
  33. package/dist/server/services/websocket/handler.d.ts +99 -2
  34. package/dist/server/services/websocket/handler.d.ts.map +1 -1
  35. package/dist/server/services/websocket/handler.js +618 -157
  36. package/dist/server/services/websocket/handler.js.map +1 -1
  37. package/dist/server/services/websocket/session-registry.d.ts +38 -0
  38. package/dist/server/services/websocket/session-registry.d.ts.map +1 -0
  39. package/dist/server/services/websocket/session-registry.js +154 -0
  40. package/dist/server/services/websocket/session-registry.js.map +1 -0
  41. package/dist/server/services/websocket/types.d.ts +2 -2
  42. package/dist/server/services/websocket/types.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/server/cli/headless/RESEARCH.md +627 -0
  45. package/server/cli/headless/claude-invoker.ts +192 -1
  46. package/server/cli/headless/runner.ts +7 -1
  47. package/server/cli/headless/stall-assessor.ts +245 -0
  48. package/server/cli/headless/types.ts +9 -1
  49. package/server/cli/improvisation-session-manager.ts +73 -5
  50. package/server/index.ts +4 -1
  51. package/server/mcp/bouncer-integration.ts +32 -0
  52. package/server/services/platform.ts +8 -5
  53. package/server/services/settings.ts +89 -0
  54. package/server/services/websocket/autocomplete.ts +18 -14
  55. package/server/services/websocket/handler.ts +677 -170
  56. package/server/services/websocket/session-registry.ts +180 -0
  57. package/server/services/websocket/types.ts +31 -2
package/bin/mstro.js CHANGED
@@ -25,6 +25,7 @@ import { homedir, platform as osPlatform } from 'node:os';
25
25
  import { dirname, join, resolve } from 'node:path';
26
26
  import { createInterface } from 'node:readline';
27
27
  import { fileURLToPath } from 'node:url';
28
+ import semverGt from 'semver/functions/gt.js';
28
29
  import updateNotifier from 'update-notifier';
29
30
 
30
31
  const __filename = fileURLToPath(import.meta.url);
@@ -324,7 +325,7 @@ function parsePort(args) {
324
325
  * Show update notification if available
325
326
  */
326
327
  function showUpdateNotification() {
327
- if (notifier.update) {
328
+ if (notifier.update && semverGt(notifier.update.latest, notifier.update.current)) {
328
329
  const { current, latest, type } = notifier.update;
329
330
  const updateCmd = 'npm i -g mstro@latest';
330
331
 
@@ -1 +1 @@
1
- {"version":3,"file":"claude-invoker.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/claude-invoker.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C;AAqRD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CA0G1B"}
1
+ {"version":3,"file":"claude-invoker.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/claude-invoker.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAK9D,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C;AA6WD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAgN1B"}
@@ -9,6 +9,65 @@ import { spawn } from 'node:child_process';
9
9
  import { generateMcpConfig } from './mcp-config.js';
10
10
  import { detectErrorInStderr, } from './output-utils.js';
11
11
  import { buildMultimodalMessage } from './prompt-utils.js';
12
+ import { assessStall } from './stall-assessor.js';
13
+ // ========== Stall Detection Helpers ==========
14
+ /** Summarize a tool's input for stall assessment context */
15
+ function summarizeToolInput(input) {
16
+ try {
17
+ if (input.description) {
18
+ return String(input.description).slice(0, 200);
19
+ }
20
+ if (input.prompt) {
21
+ return String(input.prompt).slice(0, 200);
22
+ }
23
+ if (input.command) {
24
+ return String(input.command).slice(0, 200);
25
+ }
26
+ if (input.pattern) {
27
+ return `pattern: ${String(input.pattern).slice(0, 100)}`;
28
+ }
29
+ return JSON.stringify(input).slice(0, 200);
30
+ }
31
+ catch {
32
+ return undefined;
33
+ }
34
+ }
35
+ /** Terminate a stalled process: SIGTERM then SIGKILL after 5s */
36
+ function terminateStallProcess(claudeProcess, interval, config, message) {
37
+ clearInterval(interval);
38
+ config.outputCallback?.(message);
39
+ claudeProcess.kill('SIGTERM');
40
+ setTimeout(() => {
41
+ if (!claudeProcess.killed) {
42
+ claudeProcess.kill('SIGKILL');
43
+ }
44
+ }, 5000);
45
+ }
46
+ /** Run stall assessment and return updated state if extended, null otherwise */
47
+ async function runStallAssessment(params) {
48
+ const { stallCtx, config, now, extensionsGranted, maxExtensions } = params;
49
+ try {
50
+ const verdict = await assessStall(stallCtx, config.claudeCommand, config.verbose);
51
+ if (verdict.action === 'extend') {
52
+ const newExtensions = extensionsGranted + 1;
53
+ config.outputCallback?.(`\n[[MSTRO_STALL_EXTENDED]] Assessment: process likely working. ${verdict.reason}. Extension ${newExtensions}/${maxExtensions}.\n`);
54
+ if (config.verbose) {
55
+ console.log(`[STALL] Extended by ${Math.round(verdict.extensionMs / 60_000)} min: ${verdict.reason}`);
56
+ }
57
+ return { extensionsGranted: newExtensions, currentKillDeadline: now + verdict.extensionMs };
58
+ }
59
+ config.outputCallback?.(`\n[[MSTRO_STALL_CONFIRMED]] Assessment: process likely stalled. ${verdict.reason}.\n`);
60
+ if (config.verbose) {
61
+ console.log(`[STALL] Assessment says stalled: ${verdict.reason}`);
62
+ }
63
+ }
64
+ catch (err) {
65
+ if (config.verbose) {
66
+ console.log(`[STALL] Assessment error: ${err}`);
67
+ }
68
+ }
69
+ return null;
70
+ }
12
71
  function handleSessionCapture(parsed, captured) {
13
72
  if (parsed.type === 'system' && parsed.subtype === 'init' && parsed.session_id) {
14
73
  captured.claudeSessionId = parsed.session_id;
@@ -191,6 +250,9 @@ function handleSpawnError(error, config, reject) {
191
250
  // ========== Argument Building ==========
192
251
  function buildClaudeArgs(config, prompt, hasImageAttachments, useStreamJson, mcpConfigPath) {
193
252
  const args = ['--print'];
253
+ if (config.model && config.model !== 'default') {
254
+ args.push('--model', config.model);
255
+ }
194
256
  if (useStreamJson) {
195
257
  args.push('--output-format', 'stream-json', '--include-partial-messages', '--verbose');
196
258
  }
@@ -207,6 +269,12 @@ function buildClaudeArgs(config, prompt, hasImageAttachments, useStreamJson, mcp
207
269
  args.push('--mcp-config', mcpConfigPath);
208
270
  args.push('--permission-prompt-tool', 'mcp__mstro-bouncer__approval_prompt');
209
271
  }
272
+ else {
273
+ // Bouncer unavailable: use acceptEdits so file operations work without stdin prompts.
274
+ // Bash still requires approval — Claude Code will skip tools it can't get permission for,
275
+ // which is better than hanging on a stdin prompt that can never be answered.
276
+ args.push('--permission-mode', 'acceptEdits');
277
+ }
210
278
  if (!hasImageAttachments) {
211
279
  args.push(prompt);
212
280
  }
@@ -225,6 +293,9 @@ export async function executeClaudeCommand(prompt, _movementId, _sessionNumber,
225
293
  const hasImageAttachments = config.imageAttachments && config.imageAttachments.length > 0;
226
294
  const useStreamJson = hasImageAttachments || config.thinkingCallback || config.outputCallback || config.toolUseCallback;
227
295
  const mcpConfigPath = generateMcpConfig(config.workingDir, config.verbose);
296
+ if (!mcpConfigPath && config.outputCallback) {
297
+ config.outputCallback('\n[[MSTRO_ERROR:BOUNCER_UNAVAILABLE]] Security bouncer not available. Running with limited permissions — file edits allowed, but shell commands may be restricted.\n');
298
+ }
228
299
  const args = buildClaudeArgs(config, prompt, !!hasImageAttachments, !!useStreamJson, mcpConfigPath);
229
300
  if (config.verbose) {
230
301
  console.log(`[PERF] About to spawn: ${Date.now() - perfStart}ms`);
@@ -259,7 +330,39 @@ export async function executeClaudeCommand(prompt, _movementId, _sessionNumber,
259
330
  accumulatedToolUse: [],
260
331
  toolInputBuffers: new Map(),
261
332
  };
333
+ // Stall detection state
334
+ let lastActivityTime = Date.now();
335
+ let stallWarningEmitted = false;
336
+ let assessmentInProgress = false;
337
+ let extensionsGranted = 0;
338
+ let currentKillDeadline = Date.now() + (config.stallKillMs ?? 1_800_000);
339
+ // Tool activity tracking for stall assessment context
340
+ let lastToolName;
341
+ let lastToolInputSummary;
342
+ let pendingToolCount = 0;
343
+ let totalToolCalls = 0;
344
+ // Wrap the existing tool handlers to track activity
345
+ const origToolUseCallback = config.toolUseCallback;
346
+ config.toolUseCallback = (event) => {
347
+ if (event.type === 'tool_start' && event.toolName) {
348
+ lastToolName = event.toolName;
349
+ pendingToolCount++;
350
+ totalToolCalls++;
351
+ }
352
+ else if (event.type === 'tool_complete' && event.completeInput) {
353
+ lastToolInputSummary = summarizeToolInput(event.completeInput);
354
+ }
355
+ else if (event.type === 'tool_result') {
356
+ pendingToolCount = Math.max(0, pendingToolCount - 1);
357
+ }
358
+ origToolUseCallback?.(event);
359
+ };
262
360
  claudeProcess.stdout.on('data', (data) => {
361
+ lastActivityTime = Date.now();
362
+ stallWarningEmitted = false;
363
+ // Push kill deadline forward on any activity
364
+ const killMs = config.stallKillMs ?? 1_800_000;
365
+ currentKillDeadline = Date.now() + killMs;
263
366
  if (!firstStdoutReceived) {
264
367
  firstStdoutReceived = true;
265
368
  if (config.verbose) {
@@ -285,8 +388,55 @@ export async function executeClaudeCommand(prompt, _movementId, _sessionNumber,
285
388
  }
286
389
  }
287
390
  });
391
+ // Stall detection with intelligent assessment
392
+ const stallWarningMs = config.stallWarningMs ?? 300_000;
393
+ const stallHardCapMs = config.stallHardCapMs ?? 3_600_000;
394
+ const maxExtensions = config.stallMaxExtensions ?? 3;
395
+ const stallAssessEnabled = config.stallAssessEnabled !== false;
396
+ const stallCheckInterval = setInterval(async () => {
397
+ const now = Date.now();
398
+ const silenceMs = now - lastActivityTime;
399
+ const totalElapsed = now - perfStart;
400
+ // Hard cap: absolute wall-clock limit regardless of extensions
401
+ if (totalElapsed >= stallHardCapMs) {
402
+ terminateStallProcess(claudeProcess, stallCheckInterval, config, `\n[[MSTRO_ERROR:EXECUTION_STALLED]] Hard time limit reached (${Math.round(stallHardCapMs / 60000)} min total). Terminating process.\n`);
403
+ return;
404
+ }
405
+ // Kill deadline reached
406
+ if (now >= currentKillDeadline) {
407
+ terminateStallProcess(claudeProcess, stallCheckInterval, config, `\n[[MSTRO_ERROR:EXECUTION_STALLED]] No output for ${Math.round(silenceMs / 60_000)} minutes. Terminating process.\n`);
408
+ return;
409
+ }
410
+ // Warning + assessment trigger
411
+ if (silenceMs < stallWarningMs || stallWarningEmitted)
412
+ return;
413
+ stallWarningEmitted = true;
414
+ const killIn = Math.round((currentKillDeadline - now) / 60_000);
415
+ config.outputCallback?.(`\n[[MSTRO_ERROR:EXECUTION_STALLED]] No output for ${Math.round(silenceMs / 60_000)} minutes. Will terminate in ${killIn} minutes if no activity.\n`);
416
+ // Run stall assessment if enabled and we haven't exhausted extensions
417
+ if (!stallAssessEnabled || assessmentInProgress || extensionsGranted >= maxExtensions)
418
+ return;
419
+ assessmentInProgress = true;
420
+ const stallCtx = {
421
+ originalPrompt: prompt,
422
+ silenceMs,
423
+ lastToolName,
424
+ lastToolInputSummary,
425
+ pendingToolCount,
426
+ totalToolCalls,
427
+ elapsedTotalMs: totalElapsed,
428
+ };
429
+ const result = await runStallAssessment({ stallCtx, config, now, extensionsGranted, maxExtensions });
430
+ if (result) {
431
+ extensionsGranted = result.extensionsGranted;
432
+ currentKillDeadline = result.currentKillDeadline;
433
+ stallWarningEmitted = false; // Allow re-warning after extension
434
+ }
435
+ assessmentInProgress = false;
436
+ }, 10_000);
288
437
  return new Promise((resolve, reject) => {
289
438
  claudeProcess.on('close', (code) => {
439
+ clearInterval(stallCheckInterval);
290
440
  if (claudeProcess.pid) {
291
441
  runningProcesses.delete(claudeProcess.pid);
292
442
  }
@@ -301,6 +451,7 @@ export async function executeClaudeCommand(prompt, _movementId, _sessionNumber,
301
451
  });
302
452
  });
303
453
  claudeProcess.on('error', (error) => {
454
+ clearInterval(stallCheckInterval);
304
455
  if (claudeProcess.pid) {
305
456
  runningProcesses.delete(claudeProcess.pid);
306
457
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-invoker.js","sourceRoot":"","sources":["../../../../server/cli/headless/claude-invoker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-invoker.js","sourceRoot":"","sources":["../../../../server/cli/headless/claude-invoker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/runner.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7G,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,gBAAgB,CAAwC;gBAEpD,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;IAsB3C;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAcnC;;OAEG;YACW,eAAe;IAqC7B;;OAEG;YACW,oBAAoB;IAalC;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/runner.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7G,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,gBAAgB,CAAwC;gBAEpD,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;IA4B3C;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAcnC;;OAEG;YACW,eAAe;IAqC7B;;OAEG;YACW,oBAAoB;IAalC;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -24,7 +24,13 @@ export class HeadlessRunner {
24
24
  claudeSessionId: config.claudeSessionId,
25
25
  directPrompt: config.directPrompt || '',
26
26
  promptContext: config.promptContext || { accumulatedKnowledge: '', filesModified: [] },
27
- imageAttachments: config.imageAttachments
27
+ imageAttachments: config.imageAttachments,
28
+ stallWarningMs: config.stallWarningMs ?? 300_000,
29
+ stallKillMs: config.stallKillMs ?? 1_800_000,
30
+ stallAssessEnabled: config.stallAssessEnabled !== false,
31
+ stallMaxExtensions: config.stallMaxExtensions ?? 3,
32
+ stallHardCapMs: config.stallHardCapMs ?? 3_600_000,
33
+ model: config.model,
28
34
  };
29
35
  }
30
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../server/cli/headless/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../server/cli/headless/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export interface StallContext {
2
+ /** The original user prompt being executed */
3
+ originalPrompt: string;
4
+ /** How long the process has been silent (ms) */
5
+ silenceMs: number;
6
+ /** Name of the last tool that started executing */
7
+ lastToolName?: string;
8
+ /** Summarized input of the last tool call */
9
+ lastToolInputSummary?: string;
10
+ /** Number of tool calls started but not yet returned */
11
+ pendingToolCount: number;
12
+ /** Total tool calls made so far this session */
13
+ totalToolCalls: number;
14
+ /** Total wall-clock time since process started (ms) */
15
+ elapsedTotalMs: number;
16
+ }
17
+ export interface StallVerdict {
18
+ /** Whether to extend the deadline or proceed with kill */
19
+ action: 'extend' | 'kill';
20
+ /** Additional time to grant (ms), only meaningful when action is 'extend' */
21
+ extensionMs: number;
22
+ /** Human-readable reason for the verdict */
23
+ reason: string;
24
+ }
25
+ /**
26
+ * Main assessment entry point. Tries the fast heuristic first,
27
+ * falls back to a Haiku model call for ambiguous cases.
28
+ */
29
+ export declare function assessStall(ctx: StallContext, claudeCommand: string, verbose: boolean): Promise<StallVerdict>;
30
+ //# sourceMappingURL=stall-assessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stall-assessor.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AA0CD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,YAAY,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,CA2BvB"}
@@ -0,0 +1,184 @@
1
+ // Copyright (c) 2025-present Mstro, Inc. All rights reserved.
2
+ // Licensed under the MIT License. See LICENSE file for details.
3
+ /**
4
+ * Stall Assessor
5
+ *
6
+ * Intelligently determines whether a silent Claude Code process is
7
+ * legitimately working or genuinely stalled. Uses a two-layer approach:
8
+ *
9
+ * 1. Fast heuristic: known long-running patterns (Task subagents, parallel
10
+ * tool calls) get an automatic extension without any API call.
11
+ *
12
+ * 2. Haiku assessment: for ambiguous cases, spawns a quick Claude Haiku
13
+ * call to evaluate the situation and recommend an extension (or kill).
14
+ */
15
+ import { spawn } from 'node:child_process';
16
+ /**
17
+ * Fast heuristic for known long-running patterns.
18
+ * Returns a verdict immediately if the pattern is recognized, null otherwise.
19
+ */
20
+ function quickHeuristic(ctx) {
21
+ // Task/subagent launches are known to produce long silence periods.
22
+ // The parent Claude process emits nothing while waiting for subagent results.
23
+ if (ctx.lastToolName === 'Task' && ctx.pendingToolCount > 0) {
24
+ const extensionMin = Math.min(30, 10 + ctx.pendingToolCount * 5);
25
+ return {
26
+ action: 'extend',
27
+ extensionMs: extensionMin * 60_000,
28
+ reason: `${ctx.pendingToolCount} Task subagent(s) still executing — extending ${extensionMin} min`,
29
+ };
30
+ }
31
+ // Multiple parallel tool calls (e.g., parallel Bash, parallel Read/Grep)
32
+ if (ctx.pendingToolCount >= 3) {
33
+ return {
34
+ action: 'extend',
35
+ extensionMs: 15 * 60_000,
36
+ reason: `${ctx.pendingToolCount} parallel tool calls in progress — extending 15 min`,
37
+ };
38
+ }
39
+ // WebSearch/WebFetch can be slow depending on the site
40
+ if (ctx.lastToolName === 'WebSearch' ||
41
+ ctx.lastToolName === 'WebFetch') {
42
+ return {
43
+ action: 'extend',
44
+ extensionMs: 5 * 60_000,
45
+ reason: `${ctx.lastToolName} in progress — extending 5 min`,
46
+ };
47
+ }
48
+ return null;
49
+ }
50
+ /**
51
+ * Main assessment entry point. Tries the fast heuristic first,
52
+ * falls back to a Haiku model call for ambiguous cases.
53
+ */
54
+ export async function assessStall(ctx, claudeCommand, verbose) {
55
+ // Layer 1: fast heuristic
56
+ const quick = quickHeuristic(ctx);
57
+ if (quick) {
58
+ if (verbose) {
59
+ console.log(`[STALL-ASSESS] Heuristic verdict: ${quick.reason}`);
60
+ }
61
+ return quick;
62
+ }
63
+ // Layer 2: Haiku assessment
64
+ try {
65
+ if (verbose) {
66
+ console.log('[STALL-ASSESS] Running Haiku assessment...');
67
+ }
68
+ return await runHaikuAssessment(ctx, claudeCommand, verbose);
69
+ }
70
+ catch (err) {
71
+ if (verbose) {
72
+ console.log(`[STALL-ASSESS] Haiku assessment failed: ${err}`);
73
+ }
74
+ // If Haiku fails (timeout, auth issue, etc.), extend cautiously
75
+ return {
76
+ action: 'extend',
77
+ extensionMs: 10 * 60_000,
78
+ reason: 'Stall assessment unavailable — extending 10 min as precaution',
79
+ };
80
+ }
81
+ }
82
+ function buildAssessmentPrompt(ctx) {
83
+ const silenceMin = Math.round(ctx.silenceMs / 60_000);
84
+ const totalMin = Math.round(ctx.elapsedTotalMs / 60_000);
85
+ // Truncate prompt to avoid huge payloads
86
+ const promptPreview = ctx.originalPrompt.length > 500
87
+ ? `${ctx.originalPrompt.slice(0, 500)}...`
88
+ : ctx.originalPrompt;
89
+ return [
90
+ 'You are a process health monitor. A Claude Code subprocess has been silent (no stdout) and you must determine if it is working or stalled.',
91
+ '',
92
+ `Silent for: ${silenceMin} minutes`,
93
+ `Total runtime: ${totalMin} minutes`,
94
+ `Last tool before silence: ${ctx.lastToolName || 'none'}`,
95
+ ctx.lastToolInputSummary ? `Last tool input: ${ctx.lastToolInputSummary}` : '',
96
+ `Pending tool calls: ${ctx.pendingToolCount}`,
97
+ `Total tool calls this session: ${ctx.totalToolCalls}`,
98
+ `Task being executed: ${promptPreview}`,
99
+ '',
100
+ 'Respond in EXACTLY this format (3 lines, no extra text):',
101
+ 'VERDICT: WORKING or STALLED',
102
+ 'MINUTES: <number 5-30, only if WORKING, how many more minutes to allow>',
103
+ 'REASON: <brief one-line explanation>',
104
+ ].filter(Boolean).join('\n');
105
+ }
106
+ function parseAssessmentResponse(output) {
107
+ const lines = output.trim().split('\n');
108
+ let verdict = 'STALLED';
109
+ let minutes = 10;
110
+ let reason = 'Assessment inconclusive';
111
+ for (const line of lines) {
112
+ const trimmed = line.trim();
113
+ if (trimmed.startsWith('VERDICT:')) {
114
+ verdict = trimmed.slice('VERDICT:'.length).trim().toUpperCase();
115
+ }
116
+ else if (trimmed.startsWith('MINUTES:')) {
117
+ const parsed = parseInt(trimmed.slice('MINUTES:'.length).trim(), 10);
118
+ if (!Number.isNaN(parsed) && parsed >= 1 && parsed <= 60) {
119
+ minutes = parsed;
120
+ }
121
+ }
122
+ else if (trimmed.startsWith('REASON:')) {
123
+ reason = trimmed.slice('REASON:'.length).trim();
124
+ }
125
+ }
126
+ if (verdict.includes('WORKING')) {
127
+ return {
128
+ action: 'extend',
129
+ extensionMs: minutes * 60_000,
130
+ reason,
131
+ };
132
+ }
133
+ return {
134
+ action: 'kill',
135
+ extensionMs: 0,
136
+ reason,
137
+ };
138
+ }
139
+ const HAIKU_TIMEOUT_MS = 30_000;
140
+ function runHaikuAssessment(ctx, claudeCommand, verbose) {
141
+ const prompt = buildAssessmentPrompt(ctx);
142
+ return new Promise((resolve, reject) => {
143
+ let stdout = '';
144
+ let settled = false;
145
+ const proc = spawn(claudeCommand, ['--print', '--model', 'haiku', prompt], { stdio: ['ignore', 'pipe', 'pipe'] });
146
+ const timer = setTimeout(() => {
147
+ if (!settled) {
148
+ settled = true;
149
+ proc.kill('SIGTERM');
150
+ reject(new Error('Haiku assessment timed out'));
151
+ }
152
+ }, HAIKU_TIMEOUT_MS);
153
+ proc.stdout.on('data', (data) => {
154
+ stdout += data.toString();
155
+ });
156
+ proc.stderr.on('data', (data) => {
157
+ if (verbose) {
158
+ console.log(`[STALL-ASSESS] haiku stderr: ${data.toString().trim()}`);
159
+ }
160
+ });
161
+ proc.on('close', (code) => {
162
+ clearTimeout(timer);
163
+ if (settled)
164
+ return;
165
+ settled = true;
166
+ if (code !== 0 || !stdout.trim()) {
167
+ reject(new Error(`Haiku exited with code ${code}, output: ${stdout.trim()}`));
168
+ return;
169
+ }
170
+ if (verbose) {
171
+ console.log(`[STALL-ASSESS] Haiku response: ${stdout.trim()}`);
172
+ }
173
+ resolve(parseAssessmentResponse(stdout));
174
+ });
175
+ proc.on('error', (err) => {
176
+ clearTimeout(timer);
177
+ if (settled)
178
+ return;
179
+ settled = true;
180
+ reject(err);
181
+ });
182
+ });
183
+ }
184
+ //# sourceMappingURL=stall-assessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stall-assessor.js","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,13 @@ export interface HeadlessConfig {
43
43
  continueSession?: boolean;
44
44
  claudeSessionId?: string;
45
45
  imageAttachments?: ImageAttachment[];
46
+ stallWarningMs?: number;
47
+ stallKillMs?: number;
48
+ stallAssessEnabled?: boolean;
49
+ stallMaxExtensions?: number;
50
+ stallHardCapMs?: number;
51
+ /** Claude model for main execution (e.g., 'opus', 'sonnet'). 'default' = no --model flag. */
52
+ model?: string;
46
53
  }
47
54
  export interface SessionState {
48
55
  sessionId: string;
@@ -95,12 +102,13 @@ export interface ExecutionResult {
95
102
  claudeSessionId?: string;
96
103
  }
97
104
  /** Resolved config with all defaults applied */
98
- export type ResolvedHeadlessConfig = Omit<Required<HeadlessConfig>, 'outputCallback' | 'thinkingCallback' | 'toolUseCallback' | 'continueSession' | 'claudeSessionId' | 'imageAttachments'> & {
105
+ export type ResolvedHeadlessConfig = Omit<Required<HeadlessConfig>, 'outputCallback' | 'thinkingCallback' | 'toolUseCallback' | 'continueSession' | 'claudeSessionId' | 'imageAttachments' | 'model'> & {
99
106
  outputCallback?: (text: string) => void;
100
107
  thinkingCallback?: (text: string) => void;
101
108
  toolUseCallback?: (event: ToolUseEvent) => void;
102
109
  continueSession?: boolean;
103
110
  claudeSessionId?: string;
104
111
  imageAttachments?: ImageAttachment[];
112
+ model?: string;
105
113
  };
106
114
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/types.ts"],"names":[],"mappings":"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"}