mstro-app 0.3.7 → 0.3.9
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/README.md +4 -8
- package/bin/mstro.js +54 -15
- package/dist/server/cli/headless/claude-invoker.d.ts.map +1 -1
- package/dist/server/cli/headless/claude-invoker.js +18 -9
- package/dist/server/cli/headless/claude-invoker.js.map +1 -1
- package/dist/server/cli/headless/headless-logger.d.ts +10 -0
- package/dist/server/cli/headless/headless-logger.d.ts.map +1 -0
- package/dist/server/cli/headless/headless-logger.js +66 -0
- package/dist/server/cli/headless/headless-logger.js.map +1 -0
- package/dist/server/cli/headless/mcp-config.d.ts.map +1 -1
- package/dist/server/cli/headless/mcp-config.js +6 -5
- package/dist/server/cli/headless/mcp-config.js.map +1 -1
- package/dist/server/cli/headless/runner.d.ts.map +1 -1
- package/dist/server/cli/headless/runner.js +4 -0
- package/dist/server/cli/headless/runner.js.map +1 -1
- package/dist/server/cli/headless/stall-assessor.d.ts +21 -0
- package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
- package/dist/server/cli/headless/stall-assessor.js +74 -20
- package/dist/server/cli/headless/stall-assessor.js.map +1 -1
- package/dist/server/cli/headless/tool-watchdog.d.ts +0 -12
- package/dist/server/cli/headless/tool-watchdog.d.ts.map +1 -1
- package/dist/server/cli/headless/tool-watchdog.js +30 -9
- package/dist/server/cli/headless/tool-watchdog.js.map +1 -1
- package/dist/server/cli/headless/types.d.ts +8 -1
- package/dist/server/cli/headless/types.d.ts.map +1 -1
- package/dist/server/cli/improvisation-session-manager.d.ts +16 -0
- package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
- package/dist/server/cli/improvisation-session-manager.js +94 -11
- package/dist/server/cli/improvisation-session-manager.js.map +1 -1
- package/dist/server/index.js +0 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/bouncer-cli.d.ts +3 -0
- package/dist/server/mcp/bouncer-cli.d.ts.map +1 -0
- package/dist/server/mcp/bouncer-cli.js +54 -0
- package/dist/server/mcp/bouncer-cli.js.map +1 -0
- package/dist/server/mcp/bouncer-integration.d.ts +2 -0
- package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
- package/dist/server/mcp/bouncer-integration.js +55 -39
- package/dist/server/mcp/bouncer-integration.js.map +1 -1
- package/dist/server/mcp/bouncer-sandbox.d.ts +60 -0
- package/dist/server/mcp/bouncer-sandbox.d.ts.map +1 -0
- package/dist/server/mcp/bouncer-sandbox.js +182 -0
- package/dist/server/mcp/bouncer-sandbox.js.map +1 -0
- package/dist/server/mcp/security-patterns.d.ts +6 -12
- package/dist/server/mcp/security-patterns.d.ts.map +1 -1
- package/dist/server/mcp/security-patterns.js +197 -10
- package/dist/server/mcp/security-patterns.js.map +1 -1
- package/dist/server/services/plan/composer.d.ts +4 -0
- package/dist/server/services/plan/composer.d.ts.map +1 -0
- package/dist/server/services/plan/composer.js +181 -0
- package/dist/server/services/plan/composer.js.map +1 -0
- package/dist/server/services/plan/dependency-resolver.d.ts +28 -0
- package/dist/server/services/plan/dependency-resolver.d.ts.map +1 -0
- package/dist/server/services/plan/dependency-resolver.js +152 -0
- package/dist/server/services/plan/dependency-resolver.js.map +1 -0
- package/dist/server/services/plan/executor.d.ts +91 -0
- package/dist/server/services/plan/executor.d.ts.map +1 -0
- package/dist/server/services/plan/executor.js +545 -0
- package/dist/server/services/plan/executor.js.map +1 -0
- package/dist/server/services/plan/parser.d.ts +11 -0
- package/dist/server/services/plan/parser.d.ts.map +1 -0
- package/dist/server/services/plan/parser.js +415 -0
- package/dist/server/services/plan/parser.js.map +1 -0
- package/dist/server/services/plan/state-reconciler.d.ts +2 -0
- package/dist/server/services/plan/state-reconciler.d.ts.map +1 -0
- package/dist/server/services/plan/state-reconciler.js +105 -0
- package/dist/server/services/plan/state-reconciler.js.map +1 -0
- package/dist/server/services/plan/types.d.ts +120 -0
- package/dist/server/services/plan/types.d.ts.map +1 -0
- package/dist/server/services/plan/types.js +4 -0
- package/dist/server/services/plan/types.js.map +1 -0
- package/dist/server/services/plan/watcher.d.ts +14 -0
- package/dist/server/services/plan/watcher.d.ts.map +1 -0
- package/dist/server/services/plan/watcher.js +69 -0
- package/dist/server/services/plan/watcher.js.map +1 -0
- package/dist/server/services/websocket/file-explorer-handlers.js +20 -0
- package/dist/server/services/websocket/file-explorer-handlers.js.map +1 -1
- package/dist/server/services/websocket/handler.d.ts +0 -1
- package/dist/server/services/websocket/handler.d.ts.map +1 -1
- package/dist/server/services/websocket/handler.js +28 -2
- package/dist/server/services/websocket/handler.js.map +1 -1
- package/dist/server/services/websocket/plan-handlers.d.ts +6 -0
- package/dist/server/services/websocket/plan-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-handlers.js +494 -0
- package/dist/server/services/websocket/plan-handlers.js.map +1 -0
- package/dist/server/services/websocket/quality-handlers.d.ts +4 -0
- package/dist/server/services/websocket/quality-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-handlers.js +470 -0
- package/dist/server/services/websocket/quality-handlers.js.map +1 -0
- package/dist/server/services/websocket/quality-persistence.d.ts +45 -0
- package/dist/server/services/websocket/quality-persistence.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-persistence.js +187 -0
- package/dist/server/services/websocket/quality-persistence.js.map +1 -0
- package/dist/server/services/websocket/quality-service.d.ts +54 -0
- package/dist/server/services/websocket/quality-service.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-service.js +816 -0
- package/dist/server/services/websocket/quality-service.js.map +1 -0
- package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/session-handlers.js +23 -0
- package/dist/server/services/websocket/session-handlers.js.map +1 -1
- package/dist/server/services/websocket/types.d.ts +2 -2
- package/dist/server/services/websocket/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/server/cli/headless/claude-invoker.ts +21 -9
- package/server/cli/headless/headless-logger.ts +78 -0
- package/server/cli/headless/mcp-config.ts +6 -5
- package/server/cli/headless/runner.ts +4 -0
- package/server/cli/headless/stall-assessor.ts +101 -20
- package/server/cli/headless/tool-watchdog.ts +18 -9
- package/server/cli/headless/types.ts +10 -1
- package/server/cli/improvisation-session-manager.ts +118 -11
- package/server/index.ts +0 -4
- package/server/mcp/bouncer-cli.ts +73 -0
- package/server/mcp/bouncer-integration.ts +66 -44
- package/server/mcp/bouncer-sandbox.ts +214 -0
- package/server/mcp/security-patterns.ts +206 -10
- package/server/services/plan/composer.ts +199 -0
- package/server/services/plan/dependency-resolver.ts +179 -0
- package/server/services/plan/executor.ts +604 -0
- package/server/services/plan/parser.ts +459 -0
- package/server/services/plan/state-reconciler.ts +132 -0
- package/server/services/plan/types.ts +164 -0
- package/server/services/plan/watcher.ts +73 -0
- package/server/services/websocket/file-explorer-handlers.ts +20 -0
- package/server/services/websocket/handler.ts +28 -2
- package/server/services/websocket/plan-handlers.ts +592 -0
- package/server/services/websocket/quality-handlers.ts +570 -0
- package/server/services/websocket/quality-persistence.ts +250 -0
- package/server/services/websocket/quality-service.ts +975 -0
- package/server/services/websocket/session-handlers.ts +26 -0
- package/server/services/websocket/types.ts +62 -2
|
@@ -70,6 +70,27 @@ export interface ApprovalVerdict {
|
|
|
70
70
|
* regex patterns miss ("sounds good", "yep do it", "option 2", etc.).
|
|
71
71
|
*/
|
|
72
72
|
export declare function assessApproval(userMessage: string, claudeCommand: string, verbose: boolean): Promise<ApprovalVerdict>;
|
|
73
|
+
export interface PrematureCompletionContext {
|
|
74
|
+
/** The trailing portion of the assistant response (last ~800 chars) */
|
|
75
|
+
responseTail: string;
|
|
76
|
+
/** Total number of successful tool calls in this execution */
|
|
77
|
+
successfulToolCalls: number;
|
|
78
|
+
/** Whether extended thinking output was produced */
|
|
79
|
+
hasThinking: boolean;
|
|
80
|
+
/** Total response length */
|
|
81
|
+
responseLength: number;
|
|
82
|
+
}
|
|
83
|
+
export interface PrematureCompletionVerdict {
|
|
84
|
+
/** True if the task appears incomplete and should be auto-continued */
|
|
85
|
+
isIncomplete: boolean;
|
|
86
|
+
reason: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Assess whether a completed Claude execution ended prematurely.
|
|
90
|
+
* Called when stop_reason is 'end_turn' but the task may not be finished.
|
|
91
|
+
* Haiku determines if the trailing response text indicates planned-but-unexecuted work.
|
|
92
|
+
*/
|
|
93
|
+
export declare function assessPrematureCompletion(ctx: PrematureCompletionContext, claudeCommand: string, verbose: boolean): Promise<PrematureCompletionVerdict>;
|
|
73
94
|
export interface BestResultContext {
|
|
74
95
|
originalPrompt: string;
|
|
75
96
|
resultA: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stall-assessor.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stall-assessor.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* 2. Haiku assessment: ambiguous cases get a quick AI evaluation.
|
|
16
16
|
*/
|
|
17
17
|
import { spawn } from 'node:child_process';
|
|
18
|
+
import { hlog } from './headless-logger.js';
|
|
18
19
|
/**
|
|
19
20
|
* Fast heuristic for known long-running patterns.
|
|
20
21
|
* Returns a verdict immediately if the pattern is recognized, null otherwise.
|
|
@@ -51,7 +52,9 @@ function quickHeuristic(ctx, toolWatchdogActive = false) {
|
|
|
51
52
|
// Task/subagent launches are known to produce long silence periods.
|
|
52
53
|
// The parent Claude process emits nothing while waiting for subagent results.
|
|
53
54
|
// Check pendingToolNames (reliable) first, fall back to lastToolName (legacy).
|
|
54
|
-
|
|
55
|
+
// Claude Code renamed Task → Agent; check both for backward compatibility
|
|
56
|
+
const hasTaskPending = pendingNames.has('Task') || pendingNames.has('Agent')
|
|
57
|
+
|| ((ctx.lastToolName === 'Task' || ctx.lastToolName === 'Agent') && hasPendingTools);
|
|
55
58
|
if (hasTaskPending) {
|
|
56
59
|
const extensionMin = Math.min(30, 10 + ctx.pendingToolCount * 5);
|
|
57
60
|
return {
|
|
@@ -88,20 +91,20 @@ export async function assessStall(ctx, claudeCommand, verbose, toolWatchdogActiv
|
|
|
88
91
|
const quick = quickHeuristic(ctx, toolWatchdogActive);
|
|
89
92
|
if (quick) {
|
|
90
93
|
if (verbose) {
|
|
91
|
-
|
|
94
|
+
hlog(`[STALL-ASSESS] Heuristic verdict: ${quick.reason}`);
|
|
92
95
|
}
|
|
93
96
|
return quick;
|
|
94
97
|
}
|
|
95
98
|
// Layer 2: Haiku assessment
|
|
96
99
|
try {
|
|
97
100
|
if (verbose) {
|
|
98
|
-
|
|
101
|
+
hlog('[STALL-ASSESS] Running Haiku assessment...');
|
|
99
102
|
}
|
|
100
103
|
return await runHaikuAssessment(ctx, claudeCommand, verbose);
|
|
101
104
|
}
|
|
102
105
|
catch (err) {
|
|
103
106
|
if (verbose) {
|
|
104
|
-
|
|
107
|
+
hlog(`[STALL-ASSESS] Haiku assessment failed: ${err}`);
|
|
105
108
|
}
|
|
106
109
|
// If Haiku fails (timeout, auth issue, etc.), extend cautiously
|
|
107
110
|
return {
|
|
@@ -138,6 +141,7 @@ export async function assessToolTimeout(toolName, toolInput, elapsedMs, claudeCo
|
|
|
138
141
|
WebFetch: 'fetches a URL, converts HTML to markdown, and runs a Haiku summarization pass',
|
|
139
142
|
WebSearch: 'performs a web search and returns results',
|
|
140
143
|
Task: 'spawns a subagent that runs autonomously with its own tools',
|
|
144
|
+
Agent: 'spawns a subagent that runs autonomously with its own tools',
|
|
141
145
|
Bash: 'executes a shell command',
|
|
142
146
|
};
|
|
143
147
|
const toolDesc = toolDescriptions[toolName] || `executes the ${toolName} tool`;
|
|
@@ -161,13 +165,13 @@ export async function assessToolTimeout(toolName, toolInput, elapsedMs, claudeCo
|
|
|
161
165
|
].join('\n');
|
|
162
166
|
try {
|
|
163
167
|
if (verbose) {
|
|
164
|
-
|
|
168
|
+
hlog(`[TOOL-ASSESS] Running Haiku assessment for ${toolName} (${elapsedSec}s elapsed)...`);
|
|
165
169
|
}
|
|
166
170
|
return await spawnHaikuVerdict(prompt, claudeCommand, verbose, 'TOOL-ASSESS');
|
|
167
171
|
}
|
|
168
172
|
catch (err) {
|
|
169
173
|
if (verbose) {
|
|
170
|
-
|
|
174
|
+
hlog(`[TOOL-ASSESS] Haiku assessment failed: ${err}`);
|
|
171
175
|
}
|
|
172
176
|
// On failure, default to kill (the tool has already exceeded its timeout)
|
|
173
177
|
return {
|
|
@@ -210,19 +214,19 @@ export async function assessContextLoss(ctx, claudeCommand, verbose) {
|
|
|
210
214
|
].join('\n');
|
|
211
215
|
try {
|
|
212
216
|
if (verbose) {
|
|
213
|
-
|
|
217
|
+
hlog(`[CONTEXT-ASSESS] Running Haiku assessment (${ctx.effectiveTimeouts} timeouts, ${ctx.successfulToolCalls} successes, ${ctx.thinkingOutputLength} thinking chars)...`);
|
|
214
218
|
}
|
|
215
219
|
const raw = await spawnHaikuRaw(prompt, claudeCommand, verbose, 'CONTEXT-ASSESS');
|
|
216
220
|
const parsed = parseVerdictResponse(raw);
|
|
217
221
|
const contextLost = parsed.verdict === 'STALLED';
|
|
218
222
|
if (verbose) {
|
|
219
|
-
|
|
223
|
+
hlog(`[CONTEXT-ASSESS] Verdict: ${contextLost ? 'LOST' : 'CONTINUED'} — ${parsed.reason}`);
|
|
220
224
|
}
|
|
221
225
|
return { contextLost, reason: parsed.reason };
|
|
222
226
|
}
|
|
223
227
|
catch (err) {
|
|
224
228
|
if (verbose) {
|
|
225
|
-
|
|
229
|
+
hlog(`[CONTEXT-ASSESS] Haiku assessment failed: ${err}`);
|
|
226
230
|
}
|
|
227
231
|
// On failure, assume context was lost (safer to retry than to show a confused response)
|
|
228
232
|
return {
|
|
@@ -311,7 +315,7 @@ function spawnHaikuRaw(prompt, claudeCommand, verbose, label) {
|
|
|
311
315
|
});
|
|
312
316
|
proc.stderr.on('data', (data) => {
|
|
313
317
|
if (verbose) {
|
|
314
|
-
|
|
318
|
+
hlog(`[${label}] haiku stderr: ${data.toString().trim()}`);
|
|
315
319
|
}
|
|
316
320
|
});
|
|
317
321
|
proc.on('close', (code) => {
|
|
@@ -324,7 +328,7 @@ function spawnHaikuRaw(prompt, claudeCommand, verbose, label) {
|
|
|
324
328
|
return;
|
|
325
329
|
}
|
|
326
330
|
if (verbose) {
|
|
327
|
-
|
|
331
|
+
hlog(`[${label}] Haiku response: ${stdout.trim()}`);
|
|
328
332
|
}
|
|
329
333
|
resolve(stdout.trim());
|
|
330
334
|
});
|
|
@@ -384,24 +388,74 @@ export async function assessApproval(userMessage, claudeCommand, verbose) {
|
|
|
384
388
|
].join('\n');
|
|
385
389
|
try {
|
|
386
390
|
if (verbose) {
|
|
387
|
-
|
|
391
|
+
hlog('[APPROVAL-ASSESS] Running Haiku assessment...');
|
|
388
392
|
}
|
|
389
393
|
const raw = await spawnHaikuRaw(prompt, claudeCommand, verbose, 'APPROVAL-ASSESS');
|
|
390
394
|
const parsed = parseVerdictResponse(raw);
|
|
391
395
|
const isApproval = parsed.verdict.includes('APPROVAL');
|
|
392
396
|
if (verbose) {
|
|
393
|
-
|
|
397
|
+
hlog(`[APPROVAL-ASSESS] Verdict: ${isApproval ? 'APPROVAL' : 'NEW_TASK'} — ${parsed.reason}`);
|
|
394
398
|
}
|
|
395
399
|
return { isApproval, reason: parsed.reason };
|
|
396
400
|
}
|
|
397
401
|
catch (err) {
|
|
398
402
|
if (verbose) {
|
|
399
|
-
|
|
403
|
+
hlog(`[APPROVAL-ASSESS] Haiku assessment failed: ${err}`);
|
|
400
404
|
}
|
|
401
405
|
// On failure, assume not an approval (safer to treat as new task)
|
|
402
406
|
return { isApproval: false, reason: `Assessment failed: ${err}` };
|
|
403
407
|
}
|
|
404
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Assess whether a completed Claude execution ended prematurely.
|
|
411
|
+
* Called when stop_reason is 'end_turn' but the task may not be finished.
|
|
412
|
+
* Haiku determines if the trailing response text indicates planned-but-unexecuted work.
|
|
413
|
+
*/
|
|
414
|
+
export async function assessPrematureCompletion(ctx, claudeCommand, verbose) {
|
|
415
|
+
const prompt = [
|
|
416
|
+
'You are analyzing the FINAL output of a Claude Code agent that just exited normally.',
|
|
417
|
+
'Determine whether the agent finished its task or stopped prematurely mid-work.',
|
|
418
|
+
'',
|
|
419
|
+
'Session signals:',
|
|
420
|
+
`- ${ctx.successfulToolCalls} tool calls completed successfully`,
|
|
421
|
+
`- Response length: ${ctx.responseLength} characters`,
|
|
422
|
+
`- Extended thinking: ${ctx.hasThinking ? 'YES' : 'NO'}`,
|
|
423
|
+
'',
|
|
424
|
+
`Final response text (last ${ctx.responseTail.length} chars):`,
|
|
425
|
+
ctx.responseTail,
|
|
426
|
+
'',
|
|
427
|
+
'INCOMPLETE signals: "Now I\'ll...", "Let me fix...", "Next I\'ll...", "Moving on to...",',
|
|
428
|
+
'"I\'ll continue with...", announcing next steps that were never executed,',
|
|
429
|
+
'describing work that will happen next but no tool call followed.',
|
|
430
|
+
'',
|
|
431
|
+
'COMPLETE signals: summarizing what was done, confirming changes, reporting results,',
|
|
432
|
+
'asking the user a question, past-tense descriptions of completed work,',
|
|
433
|
+
'"all done", "changes applied", referencing finished state.',
|
|
434
|
+
'',
|
|
435
|
+
'Respond in EXACTLY this format (2 lines, no extra text):',
|
|
436
|
+
'VERDICT: COMPLETE or INCOMPLETE',
|
|
437
|
+
'REASON: <brief one-line explanation>',
|
|
438
|
+
].join('\n');
|
|
439
|
+
try {
|
|
440
|
+
if (verbose) {
|
|
441
|
+
hlog(`[PREMATURE-ASSESS] Running Haiku assessment (${ctx.successfulToolCalls} tools, ${ctx.responseLength} chars)...`);
|
|
442
|
+
}
|
|
443
|
+
const raw = await spawnHaikuRaw(prompt, claudeCommand, verbose, 'PREMATURE-ASSESS');
|
|
444
|
+
const parsed = parseVerdictResponse(raw);
|
|
445
|
+
const isIncomplete = parsed.verdict.includes('INCOMPLETE');
|
|
446
|
+
if (verbose) {
|
|
447
|
+
hlog(`[PREMATURE-ASSESS] Verdict: ${isIncomplete ? 'INCOMPLETE' : 'COMPLETE'} — ${parsed.reason}`);
|
|
448
|
+
}
|
|
449
|
+
return { isIncomplete, reason: parsed.reason };
|
|
450
|
+
}
|
|
451
|
+
catch (err) {
|
|
452
|
+
if (verbose) {
|
|
453
|
+
hlog(`[PREMATURE-ASSESS] Haiku assessment failed: ${err}`);
|
|
454
|
+
}
|
|
455
|
+
// On failure, don't retry — safer to let the user decide than to auto-continue incorrectly
|
|
456
|
+
return { isIncomplete: false, reason: `Assessment failed: ${err}` };
|
|
457
|
+
}
|
|
458
|
+
}
|
|
405
459
|
/**
|
|
406
460
|
* Compare two retry results and determine which made more meaningful progress.
|
|
407
461
|
* Uses Haiku to evaluate quality — replaces arbitrary numeric scoring
|
|
@@ -433,19 +487,19 @@ export async function assessBestResult(ctx, claudeCommand, verbose) {
|
|
|
433
487
|
].join('\n');
|
|
434
488
|
try {
|
|
435
489
|
if (verbose) {
|
|
436
|
-
|
|
490
|
+
hlog('[BEST-RESULT] Running Haiku assessment...');
|
|
437
491
|
}
|
|
438
492
|
const raw = await spawnHaikuRaw(prompt, claudeCommand, verbose, 'BEST-RESULT');
|
|
439
493
|
const parsed = parseVerdictResponse(raw);
|
|
440
494
|
const winner = parsed.verdict.includes('B') ? 'B' : 'A';
|
|
441
495
|
if (verbose) {
|
|
442
|
-
|
|
496
|
+
hlog(`[BEST-RESULT] Verdict: ${winner} — ${parsed.reason}`);
|
|
443
497
|
}
|
|
444
498
|
return { winner, reason: parsed.reason };
|
|
445
499
|
}
|
|
446
500
|
catch (err) {
|
|
447
501
|
if (verbose) {
|
|
448
|
-
|
|
502
|
+
hlog(`[BEST-RESULT] Haiku assessment failed: ${err}`);
|
|
449
503
|
}
|
|
450
504
|
// On failure, prefer A (the previously-tracked best result)
|
|
451
505
|
return { winner: 'A', reason: `Assessment failed: ${err}` };
|
|
@@ -487,7 +541,7 @@ export async function classifyError(stderrContent, claudeCommand, verbose) {
|
|
|
487
541
|
].join('\n');
|
|
488
542
|
try {
|
|
489
543
|
if (verbose) {
|
|
490
|
-
|
|
544
|
+
hlog('[ERROR-CLASSIFY] Running Haiku assessment...');
|
|
491
545
|
}
|
|
492
546
|
const raw = await spawnHaikuRaw(prompt, claudeCommand, verbose, 'ERROR-CLASSIFY');
|
|
493
547
|
const lines = raw.split('\n');
|
|
@@ -505,13 +559,13 @@ export async function classifyError(stderrContent, claudeCommand, verbose) {
|
|
|
505
559
|
if (category === 'UNKNOWN' || !message)
|
|
506
560
|
return null;
|
|
507
561
|
if (verbose) {
|
|
508
|
-
|
|
562
|
+
hlog(`[ERROR-CLASSIFY] Verdict: ${category} — ${message}`);
|
|
509
563
|
}
|
|
510
564
|
return { errorCode: category, message };
|
|
511
565
|
}
|
|
512
566
|
catch (err) {
|
|
513
567
|
if (verbose) {
|
|
514
|
-
|
|
568
|
+
hlog(`[ERROR-CLASSIFY] Haiku assessment failed: ${err}`);
|
|
515
569
|
}
|
|
516
570
|
return null;
|
|
517
571
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stall-assessor.js","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stall-assessor.js","sourceRoot":"","sources":["../../../../server/cli/headless/stall-assessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool Watchdog
|
|
3
|
-
*
|
|
4
|
-
* Per-tool adaptive timeout system using TCP RTO-style EMA tracking (RFC 6298).
|
|
5
|
-
* Monitors individual tool call durations and kills tools that exceed their
|
|
6
|
-
* adaptive timeout, preserving work via checkpoint-and-retry.
|
|
7
|
-
*
|
|
8
|
-
* Three-tier timeout strategy:
|
|
9
|
-
* 1. EMA tracking: timeout = estimatedDuration + 4 * deviation
|
|
10
|
-
* 2. Floor/ceiling bounds: never kill below floor, always kill at ceiling
|
|
11
|
-
* 3. Haiku tiebreaker: optional AI assessment before killing ambiguous cases
|
|
12
|
-
*/
|
|
13
1
|
import type { ExecutionCheckpoint, ToolTimeoutProfile, ToolUseAccumulator } from './types.js';
|
|
14
2
|
/** Default timeout profiles per tool type */
|
|
15
3
|
export declare const DEFAULT_TOOL_TIMEOUT_PROFILES: Record<string, ToolTimeoutProfile>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-watchdog.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/tool-watchdog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-watchdog.d.ts","sourceRoot":"","sources":["../../../../server/cli/headless/tool-watchdog.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAOpB,6CAA6C;AAC7C,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA4E5E,CAAC;AAUF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjM,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAC,CAAsC;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAA2B;gBAEzC,OAAO,GAAE,mBAAwB;IAe7C,sEAAsE;IACtE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA2B5D,kDAAkD;IAClD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWpC,4DAA4D;IAC5D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAIhD,iCAAiC;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,IAAI,GAAG,IAAI;IA8B7G,uFAAuF;YACzE,2BAA2B;IAsBzC,8DAA8D;YAChD,aAAa;IAuC3B,8EAA8E;IAC9E,OAAO,CAAC,wBAAwB;IAmBhC,mDAAmD;IACnD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQhC,gDAAgD;IAChD,QAAQ,IAAI,IAAI;IAOhB,mEAAmE;IACnE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD,6BAA6B;IAC7B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI5C,0DAA0D;IAC1D,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,kBAAkB,EAAE,EACxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,gBAAgB,EAAE,MAAM,GACvB,mBAAmB,GAAG,IAAI;CAsD9B"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
// Copyright (c) 2025-present Mstro, Inc. All rights reserved.
|
|
2
2
|
// Licensed under the MIT License. See LICENSE file for details.
|
|
3
|
+
/**
|
|
4
|
+
* Tool Watchdog
|
|
5
|
+
*
|
|
6
|
+
* Per-tool adaptive timeout system using TCP RTO-style EMA tracking (RFC 6298).
|
|
7
|
+
* Monitors individual tool call durations and kills tools that exceed their
|
|
8
|
+
* adaptive timeout, preserving work via checkpoint-and-retry.
|
|
9
|
+
*
|
|
10
|
+
* Three-tier timeout strategy:
|
|
11
|
+
* 1. EMA tracking: timeout = estimatedDuration + 4 * deviation
|
|
12
|
+
* 2. Floor/ceiling bounds: never kill below floor, always kill at ceiling
|
|
13
|
+
* 3. Haiku tiebreaker: optional AI assessment before killing ambiguous cases
|
|
14
|
+
*/
|
|
15
|
+
import { hlog } from './headless-logger.js';
|
|
3
16
|
// RFC 6298 smoothing constants
|
|
4
17
|
const ALPHA = 0.125; // smoothing factor for duration EMA
|
|
5
18
|
const BETA = 0.25; // smoothing factor for deviation EMA
|
|
@@ -27,6 +40,14 @@ export const DEFAULT_TOOL_TIMEOUT_PROFILES = {
|
|
|
27
40
|
useAdaptive: true, // learn from past Task durations via EMA
|
|
28
41
|
useHaikuTiebreaker: true,
|
|
29
42
|
},
|
|
43
|
+
// Claude Code renamed the Task tool to Agent — keep both for backward compatibility
|
|
44
|
+
Agent: {
|
|
45
|
+
coldStartMs: 900_000, // 15 min — subagents are inherently long-running
|
|
46
|
+
floorMs: 600_000, // 10 min minimum (research agents routinely take 7-10 min)
|
|
47
|
+
ceilingMs: 2_700_000, // 45 min hard cap
|
|
48
|
+
useAdaptive: true, // learn from past Agent durations via EMA
|
|
49
|
+
useHaikuTiebreaker: true,
|
|
50
|
+
},
|
|
30
51
|
Bash: {
|
|
31
52
|
coldStartMs: 300_000, // 5 min
|
|
32
53
|
floorMs: 120_000, // 2 min minimum
|
|
@@ -114,7 +135,7 @@ export class ToolWatchdog {
|
|
|
114
135
|
sampleCount: 1,
|
|
115
136
|
});
|
|
116
137
|
if (this.verbose) {
|
|
117
|
-
|
|
138
|
+
hlog(`[WATCHDOG] ${toolName}: first sample ${durationMs}ms, initial timeout ${this.getTimeout(toolName)}ms`);
|
|
118
139
|
}
|
|
119
140
|
return;
|
|
120
141
|
}
|
|
@@ -123,7 +144,7 @@ export class ToolWatchdog {
|
|
|
123
144
|
tracker.estimatedDuration = (1 - ALPHA) * tracker.estimatedDuration + ALPHA * durationMs;
|
|
124
145
|
tracker.sampleCount++;
|
|
125
146
|
if (this.verbose) {
|
|
126
|
-
|
|
147
|
+
hlog(`[WATCHDOG] ${toolName}: sample #${tracker.sampleCount} ${durationMs}ms, est=${Math.round(tracker.estimatedDuration)}ms, dev=${Math.round(tracker.deviation)}ms, timeout=${this.getTimeout(toolName)}ms`);
|
|
127
148
|
}
|
|
128
149
|
}
|
|
129
150
|
/** Compute the current timeout for a tool type */
|
|
@@ -148,7 +169,7 @@ export class ToolWatchdog {
|
|
|
148
169
|
const timeoutMs = this.getTimeout(toolName);
|
|
149
170
|
const profile = this.getProfile(toolName);
|
|
150
171
|
if (this.verbose) {
|
|
151
|
-
|
|
172
|
+
hlog(`[WATCHDOG] Starting watch: ${toolName} (${toolId}), timeout=${Math.round(timeoutMs / 1000)}s`);
|
|
152
173
|
}
|
|
153
174
|
const timer = setTimeout(async () => {
|
|
154
175
|
const extended = await this.handleTimeoutWithTiebreaker(toolId, toolName, toolInput, profile, onTimeout);
|
|
@@ -175,7 +196,7 @@ export class ToolWatchdog {
|
|
|
175
196
|
const elapsedMs = Date.now() - watch.startTime;
|
|
176
197
|
if (!profile.useHaikuTiebreaker || !this.onTiebreaker || watch.tiebreakerAttempted) {
|
|
177
198
|
if (this.verbose) {
|
|
178
|
-
|
|
199
|
+
hlog(`[WATCHDOG] ${toolName} (${toolId}) timed out after ${Math.round(elapsedMs / 1000)}s, killing`);
|
|
179
200
|
}
|
|
180
201
|
return false;
|
|
181
202
|
}
|
|
@@ -185,26 +206,26 @@ export class ToolWatchdog {
|
|
|
185
206
|
async runTiebreaker(watch, toolId, toolName, toolInput, elapsedMs, onTimeout) {
|
|
186
207
|
watch.tiebreakerAttempted = true;
|
|
187
208
|
if (this.verbose) {
|
|
188
|
-
|
|
209
|
+
hlog(`[WATCHDOG] ${toolName} (${toolId}) hit timeout after ${Math.round(elapsedMs / 1000)}s, running tiebreaker...`);
|
|
189
210
|
}
|
|
190
211
|
try {
|
|
191
212
|
const tokenSilenceMs = this.getTokenSilenceMs?.();
|
|
192
213
|
const verdict = await this.onTiebreaker(toolName, toolInput, elapsedMs, tokenSilenceMs);
|
|
193
214
|
if (verdict.action === 'extend') {
|
|
194
215
|
if (this.verbose) {
|
|
195
|
-
|
|
216
|
+
hlog(`[WATCHDOG] Tiebreaker: extend ${toolName} by ${Math.round(verdict.extensionMs / 1000)}s — ${verdict.reason}`);
|
|
196
217
|
}
|
|
197
218
|
this.scheduleExtensionTimeout(watch, toolId, toolName, verdict.extensionMs, onTimeout);
|
|
198
219
|
watch.timeoutMs = elapsedMs + verdict.extensionMs;
|
|
199
220
|
return true;
|
|
200
221
|
}
|
|
201
222
|
if (this.verbose) {
|
|
202
|
-
|
|
223
|
+
hlog(`[WATCHDOG] Tiebreaker: kill ${toolName} — ${verdict.reason}`);
|
|
203
224
|
}
|
|
204
225
|
}
|
|
205
226
|
catch (err) {
|
|
206
227
|
if (this.verbose) {
|
|
207
|
-
|
|
228
|
+
hlog(`[WATCHDOG] Tiebreaker failed: ${err}, proceeding with kill`);
|
|
208
229
|
}
|
|
209
230
|
}
|
|
210
231
|
return false;
|
|
@@ -216,7 +237,7 @@ export class ToolWatchdog {
|
|
|
216
237
|
if (!w)
|
|
217
238
|
return;
|
|
218
239
|
if (this.verbose) {
|
|
219
|
-
|
|
240
|
+
hlog(`[WATCHDOG] ${toolName} (${toolId}) still running after extension, killing`);
|
|
220
241
|
}
|
|
221
242
|
// Don't delete the watch — buildCheckpoint() needs it.
|
|
222
243
|
// handleToolTimeout() calls clearAll() after building the checkpoint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-watchdog.js","sourceRoot":"","sources":["../../../../server/cli/headless/tool-watchdog.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,gEAAgE;
|
|
1
|
+
{"version":3,"file":"tool-watchdog.js","sourceRoot":"","sources":["../../../../server/cli/headless/tool-watchdog.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,8 @@ export interface HeadlessConfig {
|
|
|
113
113
|
onToolTimeout?: (checkpoint: ExecutionCheckpoint) => void;
|
|
114
114
|
/** When true, spawn Claude with sanitized env (strips secrets, HOME=workingDir) */
|
|
115
115
|
sandboxed?: boolean;
|
|
116
|
+
/** Extra environment variables to merge into the spawned Claude process env */
|
|
117
|
+
extraEnv?: Record<string, string>;
|
|
116
118
|
}
|
|
117
119
|
export interface SessionState {
|
|
118
120
|
sessionId: string;
|
|
@@ -155,6 +157,8 @@ export interface SessionResult {
|
|
|
155
157
|
/** Assistant text buffered during resume assessment — held back until thinking/tool activity
|
|
156
158
|
* confirms Claude has context. Undefined when not in resume mode or buffer was flushed. */
|
|
157
159
|
resumeBufferedOutput?: string;
|
|
160
|
+
/** Claude Code result event stop_reason: 'end_turn', 'max_tokens', or undefined if not captured */
|
|
161
|
+
stopReason?: string;
|
|
158
162
|
}
|
|
159
163
|
export interface ToolUseAccumulator {
|
|
160
164
|
toolName: string;
|
|
@@ -190,9 +194,11 @@ export interface ExecutionResult {
|
|
|
190
194
|
inputTokens: number;
|
|
191
195
|
outputTokens: number;
|
|
192
196
|
};
|
|
197
|
+
/** Claude Code result event stop_reason: 'end_turn', 'max_tokens', or undefined if not captured */
|
|
198
|
+
stopReason?: string;
|
|
193
199
|
}
|
|
194
200
|
/** Resolved config with all defaults applied */
|
|
195
|
-
export type ResolvedHeadlessConfig = Omit<Required<HeadlessConfig>, 'outputCallback' | 'thinkingCallback' | 'toolUseCallback' | 'tokenUsageCallback' | 'continueSession' | 'claudeSessionId' | 'imageAttachments' | 'model' | 'toolTimeoutProfiles' | 'onToolTimeout' | 'sandboxed'> & {
|
|
201
|
+
export type ResolvedHeadlessConfig = Omit<Required<HeadlessConfig>, 'outputCallback' | 'thinkingCallback' | 'toolUseCallback' | 'tokenUsageCallback' | 'continueSession' | 'claudeSessionId' | 'imageAttachments' | 'model' | 'toolTimeoutProfiles' | 'onToolTimeout' | 'sandboxed' | 'extraEnv'> & {
|
|
196
202
|
outputCallback?: (text: string) => void;
|
|
197
203
|
thinkingCallback?: (text: string) => void;
|
|
198
204
|
toolUseCallback?: (event: ToolUseEvent) => void;
|
|
@@ -207,5 +213,6 @@ export type ResolvedHeadlessConfig = Omit<Required<HeadlessConfig>, 'outputCallb
|
|
|
207
213
|
toolTimeoutProfiles?: Record<string, Partial<ToolTimeoutProfile>>;
|
|
208
214
|
onToolTimeout?: (checkpoint: ExecutionCheckpoint) => void;
|
|
209
215
|
sandboxed?: boolean;
|
|
216
|
+
extraEnv?: Record<string, string>;
|
|
210
217
|
};
|
|
211
218
|
//# 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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"}
|
|
@@ -176,6 +176,22 @@ export declare class ImprovisationSessionManager extends EventEmitter {
|
|
|
176
176
|
private shouldRetrySignalCrash;
|
|
177
177
|
/** Build a recovery prompt after signal crash */
|
|
178
178
|
private buildSignalCrashRecoveryPrompt;
|
|
179
|
+
/**
|
|
180
|
+
* Detect premature completion: Claude exited normally (exit code 0, end_turn) but the
|
|
181
|
+
* response indicates more work was planned. This happens when the model "context-fatigues"
|
|
182
|
+
* during long multi-step tasks and produces end_turn after completing a subset of the work.
|
|
183
|
+
*
|
|
184
|
+
* Two paths:
|
|
185
|
+
* - max_tokens: always retry (model was forcibly stopped mid-generation)
|
|
186
|
+
* - end_turn: Haiku assessment determines if the response looks incomplete
|
|
187
|
+
*/
|
|
188
|
+
private shouldRetryPrematureCompletion;
|
|
189
|
+
/** Guard checks for premature completion — must pass all to proceed with assessment */
|
|
190
|
+
private isPrematureCompletionCandidate;
|
|
191
|
+
/** Use Haiku to assess whether an end_turn response is genuinely complete */
|
|
192
|
+
private assessEndTurnCompletion;
|
|
193
|
+
/** Apply the retry: emit events, update state, set continuation prompt */
|
|
194
|
+
private applyPrematureCompletionRetry;
|
|
179
195
|
/** Select the best result across retries using Haiku assessment */
|
|
180
196
|
private selectBestResult;
|
|
181
197
|
/** Fallback best result selection using numeric scoring */
|