mstro-app 0.4.3 → 0.4.4
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/dist/server/cli/headless/claude-invoker-process.d.ts +11 -0
- package/dist/server/cli/headless/claude-invoker-process.d.ts.map +1 -0
- package/dist/server/cli/headless/claude-invoker-process.js +140 -0
- package/dist/server/cli/headless/claude-invoker-process.js.map +1 -0
- package/dist/server/cli/headless/claude-invoker-stall.d.ts +40 -0
- package/dist/server/cli/headless/claude-invoker-stall.d.ts.map +1 -0
- package/dist/server/cli/headless/claude-invoker-stall.js +98 -0
- package/dist/server/cli/headless/claude-invoker-stall.js.map +1 -0
- package/dist/server/cli/headless/claude-invoker-stream.d.ts +44 -0
- package/dist/server/cli/headless/claude-invoker-stream.d.ts.map +1 -0
- package/dist/server/cli/headless/claude-invoker-stream.js +276 -0
- package/dist/server/cli/headless/claude-invoker-stream.js.map +1 -0
- package/dist/server/cli/headless/claude-invoker-tools.d.ts +21 -0
- package/dist/server/cli/headless/claude-invoker-tools.d.ts.map +1 -0
- package/dist/server/cli/headless/claude-invoker-tools.js +137 -0
- package/dist/server/cli/headless/claude-invoker-tools.js.map +1 -0
- package/dist/server/cli/headless/claude-invoker.d.ts +6 -4
- package/dist/server/cli/headless/claude-invoker.d.ts.map +1 -1
- package/dist/server/cli/headless/claude-invoker.js +10 -807
- package/dist/server/cli/headless/claude-invoker.js.map +1 -1
- package/dist/server/cli/headless/haiku-assessments.d.ts +62 -0
- package/dist/server/cli/headless/haiku-assessments.d.ts.map +1 -0
- package/dist/server/cli/headless/haiku-assessments.js +281 -0
- package/dist/server/cli/headless/haiku-assessments.js.map +1 -0
- package/dist/server/cli/headless/headless-logger.d.ts +3 -2
- package/dist/server/cli/headless/headless-logger.d.ts.map +1 -1
- package/dist/server/cli/headless/headless-logger.js +28 -5
- package/dist/server/cli/headless/headless-logger.js.map +1 -1
- package/dist/server/cli/headless/native-timeout-detector.d.ts +44 -0
- package/dist/server/cli/headless/native-timeout-detector.d.ts.map +1 -0
- package/dist/server/cli/headless/native-timeout-detector.js +99 -0
- package/dist/server/cli/headless/native-timeout-detector.js.map +1 -0
- package/dist/server/cli/headless/stall-assessor.d.ts +2 -110
- package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
- package/dist/server/cli/headless/stall-assessor.js +65 -457
- package/dist/server/cli/headless/stall-assessor.js.map +1 -1
- package/dist/server/cli/improvisation-attachments.d.ts +21 -0
- package/dist/server/cli/improvisation-attachments.d.ts.map +1 -0
- package/dist/server/cli/improvisation-attachments.js +116 -0
- package/dist/server/cli/improvisation-attachments.js.map +1 -0
- package/dist/server/cli/improvisation-retry.d.ts +52 -0
- package/dist/server/cli/improvisation-retry.d.ts.map +1 -0
- package/dist/server/cli/improvisation-retry.js +434 -0
- package/dist/server/cli/improvisation-retry.js.map +1 -0
- package/dist/server/cli/improvisation-session-manager.d.ts +10 -266
- package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
- package/dist/server/cli/improvisation-session-manager.js +117 -1079
- package/dist/server/cli/improvisation-session-manager.js.map +1 -1
- package/dist/server/cli/improvisation-types.d.ts +86 -0
- package/dist/server/cli/improvisation-types.d.ts.map +1 -0
- package/dist/server/cli/improvisation-types.js +10 -0
- package/dist/server/cli/improvisation-types.js.map +1 -0
- package/dist/server/cli/prompt-builders.d.ts +68 -0
- package/dist/server/cli/prompt-builders.d.ts.map +1 -0
- package/dist/server/cli/prompt-builders.js +312 -0
- package/dist/server/cli/prompt-builders.js.map +1 -0
- package/dist/server/index.js +33 -212
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/bouncer-haiku.d.ts +10 -0
- package/dist/server/mcp/bouncer-haiku.d.ts.map +1 -0
- package/dist/server/mcp/bouncer-haiku.js +152 -0
- package/dist/server/mcp/bouncer-haiku.js.map +1 -0
- package/dist/server/mcp/bouncer-integration.d.ts +3 -4
- package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
- package/dist/server/mcp/bouncer-integration.js +50 -196
- package/dist/server/mcp/bouncer-integration.js.map +1 -1
- package/dist/server/mcp/security-analysis.d.ts +38 -0
- package/dist/server/mcp/security-analysis.d.ts.map +1 -0
- package/dist/server/mcp/security-analysis.js +183 -0
- package/dist/server/mcp/security-analysis.js.map +1 -0
- package/dist/server/mcp/security-audit.d.ts +1 -1
- package/dist/server/mcp/security-audit.d.ts.map +1 -1
- package/dist/server/mcp/security-patterns.d.ts +1 -25
- package/dist/server/mcp/security-patterns.d.ts.map +1 -1
- package/dist/server/mcp/security-patterns.js +55 -260
- package/dist/server/mcp/security-patterns.js.map +1 -1
- package/dist/server/server-setup.d.ts +22 -0
- package/dist/server/server-setup.d.ts.map +1 -0
- package/dist/server/server-setup.js +101 -0
- package/dist/server/server-setup.js.map +1 -0
- package/dist/server/services/file-explorer-ops.d.ts +24 -0
- package/dist/server/services/file-explorer-ops.d.ts.map +1 -0
- package/dist/server/services/file-explorer-ops.js +211 -0
- package/dist/server/services/file-explorer-ops.js.map +1 -0
- package/dist/server/services/files.d.ts +2 -85
- package/dist/server/services/files.d.ts.map +1 -1
- package/dist/server/services/files.js +7 -427
- package/dist/server/services/files.js.map +1 -1
- package/dist/server/services/plan/composer.d.ts.map +1 -1
- package/dist/server/services/plan/composer.js +2 -1
- package/dist/server/services/plan/composer.js.map +1 -1
- package/dist/server/services/plan/executor.d.ts.map +1 -1
- package/dist/server/services/plan/executor.js +3 -1
- package/dist/server/services/plan/executor.js.map +1 -1
- package/dist/server/services/plan/parser-core.d.ts +20 -0
- package/dist/server/services/plan/parser-core.d.ts.map +1 -0
- package/dist/server/services/plan/parser-core.js +350 -0
- package/dist/server/services/plan/parser-core.js.map +1 -0
- package/dist/server/services/plan/parser-migration.d.ts +5 -0
- package/dist/server/services/plan/parser-migration.d.ts.map +1 -0
- package/dist/server/services/plan/parser-migration.js +124 -0
- package/dist/server/services/plan/parser-migration.js.map +1 -0
- package/dist/server/services/plan/parser.d.ts +0 -8
- package/dist/server/services/plan/parser.d.ts.map +1 -1
- package/dist/server/services/plan/parser.js +50 -569
- package/dist/server/services/plan/parser.js.map +1 -1
- package/dist/server/services/plan/review-gate.d.ts +2 -0
- package/dist/server/services/plan/review-gate.d.ts.map +1 -1
- package/dist/server/services/plan/review-gate.js +2 -2
- package/dist/server/services/plan/review-gate.js.map +1 -1
- package/dist/server/services/plan/types.d.ts +2 -0
- package/dist/server/services/plan/types.d.ts.map +1 -1
- package/dist/server/services/platform-credentials.d.ts +24 -0
- package/dist/server/services/platform-credentials.d.ts.map +1 -0
- package/dist/server/services/platform-credentials.js +68 -0
- package/dist/server/services/platform-credentials.js.map +1 -0
- package/dist/server/services/platform.d.ts +1 -31
- package/dist/server/services/platform.d.ts.map +1 -1
- package/dist/server/services/platform.js +10 -119
- package/dist/server/services/platform.js.map +1 -1
- package/dist/server/services/terminal/pty-manager.d.ts +7 -97
- package/dist/server/services/terminal/pty-manager.d.ts.map +1 -1
- package/dist/server/services/terminal/pty-manager.js +53 -266
- package/dist/server/services/terminal/pty-manager.js.map +1 -1
- package/dist/server/services/terminal/pty-utils.d.ts +57 -0
- package/dist/server/services/terminal/pty-utils.d.ts.map +1 -0
- package/dist/server/services/terminal/pty-utils.js +141 -0
- package/dist/server/services/terminal/pty-utils.js.map +1 -0
- package/dist/server/services/websocket/file-definition-handlers.d.ts +4 -0
- package/dist/server/services/websocket/file-definition-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/file-definition-handlers.js +153 -0
- package/dist/server/services/websocket/file-definition-handlers.js.map +1 -0
- package/dist/server/services/websocket/file-explorer-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/file-explorer-handlers.js +52 -391
- package/dist/server/services/websocket/file-explorer-handlers.js.map +1 -1
- package/dist/server/services/websocket/file-search-handlers.d.ts +5 -0
- package/dist/server/services/websocket/file-search-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/file-search-handlers.js +238 -0
- package/dist/server/services/websocket/file-search-handlers.js.map +1 -0
- package/dist/server/services/websocket/file-utils.js +3 -3
- package/dist/server/services/websocket/file-utils.js.map +1 -1
- package/dist/server/services/websocket/git-branch-handlers.d.ts +7 -0
- package/dist/server/services/websocket/git-branch-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/git-branch-handlers.js +110 -0
- package/dist/server/services/websocket/git-branch-handlers.js.map +1 -0
- package/dist/server/services/websocket/git-diff-handlers.d.ts +6 -0
- package/dist/server/services/websocket/git-diff-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/git-diff-handlers.js +123 -0
- package/dist/server/services/websocket/git-diff-handlers.js.map +1 -0
- package/dist/server/services/websocket/git-handlers.d.ts +2 -31
- package/dist/server/services/websocket/git-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/git-handlers.js +35 -541
- package/dist/server/services/websocket/git-handlers.js.map +1 -1
- package/dist/server/services/websocket/git-log-handlers.d.ts +6 -0
- package/dist/server/services/websocket/git-log-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/git-log-handlers.js +128 -0
- package/dist/server/services/websocket/git-log-handlers.js.map +1 -0
- package/dist/server/services/websocket/git-pr-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/git-pr-handlers.js +13 -53
- package/dist/server/services/websocket/git-pr-handlers.js.map +1 -1
- package/dist/server/services/websocket/git-tag-handlers.d.ts +6 -0
- package/dist/server/services/websocket/git-tag-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/git-tag-handlers.js +76 -0
- package/dist/server/services/websocket/git-tag-handlers.js.map +1 -0
- package/dist/server/services/websocket/git-utils.d.ts +43 -0
- package/dist/server/services/websocket/git-utils.d.ts.map +1 -0
- package/dist/server/services/websocket/git-utils.js +201 -0
- package/dist/server/services/websocket/git-utils.js.map +1 -0
- package/dist/server/services/websocket/handler.d.ts +2 -0
- package/dist/server/services/websocket/handler.d.ts.map +1 -1
- package/dist/server/services/websocket/handler.js +37 -126
- package/dist/server/services/websocket/handler.js.map +1 -1
- package/dist/server/services/websocket/plan-board-handlers.d.ts +11 -0
- package/dist/server/services/websocket/plan-board-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-board-handlers.js +218 -0
- package/dist/server/services/websocket/plan-board-handlers.js.map +1 -0
- package/dist/server/services/websocket/plan-execution-handlers.d.ts +9 -0
- package/dist/server/services/websocket/plan-execution-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-execution-handlers.js +142 -0
- package/dist/server/services/websocket/plan-execution-handlers.js.map +1 -0
- package/dist/server/services/websocket/plan-handlers.d.ts +7 -2
- package/dist/server/services/websocket/plan-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/plan-handlers.js +6 -925
- package/dist/server/services/websocket/plan-handlers.js.map +1 -1
- package/dist/server/services/websocket/plan-helpers.d.ts +19 -0
- package/dist/server/services/websocket/plan-helpers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-helpers.js +199 -0
- package/dist/server/services/websocket/plan-helpers.js.map +1 -0
- package/dist/server/services/websocket/plan-issue-handlers.d.ts +12 -0
- package/dist/server/services/websocket/plan-issue-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-issue-handlers.js +162 -0
- package/dist/server/services/websocket/plan-issue-handlers.js.map +1 -0
- package/dist/server/services/websocket/plan-sprint-handlers.d.ts +7 -0
- package/dist/server/services/websocket/plan-sprint-handlers.d.ts.map +1 -0
- package/dist/server/services/websocket/plan-sprint-handlers.js +206 -0
- package/dist/server/services/websocket/plan-sprint-handlers.js.map +1 -0
- package/dist/server/services/websocket/quality-complexity.d.ts +14 -0
- package/dist/server/services/websocket/quality-complexity.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-complexity.js +262 -0
- package/dist/server/services/websocket/quality-complexity.js.map +1 -0
- package/dist/server/services/websocket/quality-fix-agent.d.ts +16 -0
- package/dist/server/services/websocket/quality-fix-agent.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-fix-agent.js +140 -0
- package/dist/server/services/websocket/quality-fix-agent.js.map +1 -0
- package/dist/server/services/websocket/quality-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/quality-handlers.js +34 -346
- package/dist/server/services/websocket/quality-handlers.js.map +1 -1
- package/dist/server/services/websocket/quality-linting.d.ts +9 -0
- package/dist/server/services/websocket/quality-linting.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-linting.js +178 -0
- package/dist/server/services/websocket/quality-linting.js.map +1 -0
- package/dist/server/services/websocket/quality-review-agent.d.ts +19 -0
- package/dist/server/services/websocket/quality-review-agent.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-review-agent.js +206 -0
- package/dist/server/services/websocket/quality-review-agent.js.map +1 -0
- package/dist/server/services/websocket/quality-service.d.ts +3 -51
- package/dist/server/services/websocket/quality-service.d.ts.map +1 -1
- package/dist/server/services/websocket/quality-service.js +9 -651
- package/dist/server/services/websocket/quality-service.js.map +1 -1
- package/dist/server/services/websocket/quality-tools.d.ts +23 -0
- package/dist/server/services/websocket/quality-tools.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-tools.js +208 -0
- package/dist/server/services/websocket/quality-tools.js.map +1 -0
- package/dist/server/services/websocket/quality-types.d.ts +59 -0
- package/dist/server/services/websocket/quality-types.d.ts.map +1 -0
- package/dist/server/services/websocket/quality-types.js +101 -0
- package/dist/server/services/websocket/quality-types.js.map +1 -0
- package/dist/server/services/websocket/session-handlers.d.ts +3 -4
- package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
- package/dist/server/services/websocket/session-handlers.js +3 -378
- package/dist/server/services/websocket/session-handlers.js.map +1 -1
- package/dist/server/services/websocket/session-history.d.ts +4 -0
- package/dist/server/services/websocket/session-history.d.ts.map +1 -0
- package/dist/server/services/websocket/session-history.js +208 -0
- package/dist/server/services/websocket/session-history.js.map +1 -0
- package/dist/server/services/websocket/session-initialization.d.ts +5 -0
- package/dist/server/services/websocket/session-initialization.d.ts.map +1 -0
- package/dist/server/services/websocket/session-initialization.js +163 -0
- package/dist/server/services/websocket/session-initialization.js.map +1 -0
- package/dist/server/services/websocket/types.d.ts +12 -2
- package/dist/server/services/websocket/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server/cli/headless/claude-invoker-process.ts +204 -0
- package/server/cli/headless/claude-invoker-stall.ts +164 -0
- package/server/cli/headless/claude-invoker-stream.ts +353 -0
- package/server/cli/headless/claude-invoker-tools.ts +187 -0
- package/server/cli/headless/claude-invoker.ts +15 -1096
- package/server/cli/headless/haiku-assessments.ts +365 -0
- package/server/cli/headless/headless-logger.ts +26 -5
- package/server/cli/headless/native-timeout-detector.ts +117 -0
- package/server/cli/headless/stall-assessor.ts +65 -618
- package/server/cli/improvisation-attachments.ts +148 -0
- package/server/cli/improvisation-retry.ts +602 -0
- package/server/cli/improvisation-session-manager.ts +140 -1349
- package/server/cli/improvisation-types.ts +98 -0
- package/server/cli/prompt-builders.ts +370 -0
- package/server/index.ts +35 -246
- package/server/mcp/bouncer-haiku.ts +182 -0
- package/server/mcp/bouncer-integration.ts +87 -248
- package/server/mcp/security-analysis.ts +217 -0
- package/server/mcp/security-audit.ts +1 -1
- package/server/mcp/security-patterns.ts +60 -283
- package/server/server-setup.ts +114 -0
- package/server/services/file-explorer-ops.ts +293 -0
- package/server/services/files.ts +20 -532
- package/server/services/plan/composer.ts +2 -1
- package/server/services/plan/executor.ts +3 -1
- package/server/services/plan/parser-core.ts +406 -0
- package/server/services/plan/parser-migration.ts +128 -0
- package/server/services/plan/parser.ts +52 -620
- package/server/services/plan/review-gate.ts +4 -2
- package/server/services/plan/types.ts +2 -0
- package/server/services/platform-credentials.ts +83 -0
- package/server/services/platform.ts +15 -141
- package/server/services/terminal/pty-manager.ts +66 -313
- package/server/services/terminal/pty-utils.ts +176 -0
- package/server/services/websocket/file-definition-handlers.ts +165 -0
- package/server/services/websocket/file-explorer-handlers.ts +37 -452
- package/server/services/websocket/file-search-handlers.ts +291 -0
- package/server/services/websocket/file-utils.ts +3 -3
- package/server/services/websocket/git-branch-handlers.ts +130 -0
- package/server/services/websocket/git-diff-handlers.ts +140 -0
- package/server/services/websocket/git-handlers.ts +40 -625
- package/server/services/websocket/git-log-handlers.ts +149 -0
- package/server/services/websocket/git-pr-handlers.ts +17 -62
- package/server/services/websocket/git-tag-handlers.ts +91 -0
- package/server/services/websocket/git-utils.ts +230 -0
- package/server/services/websocket/handler.ts +39 -126
- package/server/services/websocket/plan-board-handlers.ts +277 -0
- package/server/services/websocket/plan-execution-handlers.ts +184 -0
- package/server/services/websocket/plan-handlers.ts +8 -1114
- package/server/services/websocket/plan-helpers.ts +215 -0
- package/server/services/websocket/plan-issue-handlers.ts +204 -0
- package/server/services/websocket/plan-sprint-handlers.ts +252 -0
- package/server/services/websocket/quality-complexity.ts +294 -0
- package/server/services/websocket/quality-fix-agent.ts +181 -0
- package/server/services/websocket/quality-handlers.ts +36 -404
- package/server/services/websocket/quality-linting.ts +187 -0
- package/server/services/websocket/quality-review-agent.ts +246 -0
- package/server/services/websocket/quality-service.ts +11 -762
- package/server/services/websocket/quality-tools.ts +209 -0
- package/server/services/websocket/quality-types.ts +169 -0
- package/server/services/websocket/session-handlers.ts +5 -437
- package/server/services/websocket/session-history.ts +222 -0
- package/server/services/websocket/session-initialization.ts +209 -0
- package/server/services/websocket/types.ts +17 -0
|
@@ -5,62 +5,8 @@
|
|
|
5
5
|
* For complex multi-part prompts with parallel/sequential movements, use Compose tab instead.
|
|
6
6
|
*/
|
|
7
7
|
import { EventEmitter } from 'node:events';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
sessionId: string;
|
|
11
|
-
tokenBudgetThreshold: number;
|
|
12
|
-
maxSessions: number;
|
|
13
|
-
verbose: boolean;
|
|
14
|
-
noColor: boolean;
|
|
15
|
-
/** Claude model for main execution (e.g., 'opus', 'sonnet'). 'default' = no --model flag. */
|
|
16
|
-
model?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface FileAttachment {
|
|
19
|
-
fileName: string;
|
|
20
|
-
filePath: string;
|
|
21
|
-
content: string;
|
|
22
|
-
isImage: boolean;
|
|
23
|
-
mimeType?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface ToolUseRecord {
|
|
26
|
-
toolName: string;
|
|
27
|
-
toolId: string;
|
|
28
|
-
toolInput: Record<string, unknown>;
|
|
29
|
-
result?: string;
|
|
30
|
-
isError?: boolean;
|
|
31
|
-
duration?: number;
|
|
32
|
-
}
|
|
33
|
-
export interface MovementRecord {
|
|
34
|
-
id: string;
|
|
35
|
-
sequenceNumber: number;
|
|
36
|
-
userPrompt: string;
|
|
37
|
-
timestamp: string;
|
|
38
|
-
tokensUsed: number;
|
|
39
|
-
summary: string;
|
|
40
|
-
filesModified: string[];
|
|
41
|
-
assistantResponse?: string;
|
|
42
|
-
thinkingOutput?: string;
|
|
43
|
-
toolUseHistory?: ToolUseRecord[];
|
|
44
|
-
errorOutput?: string;
|
|
45
|
-
durationMs?: number;
|
|
46
|
-
retryLog?: RetryLogEntry[];
|
|
47
|
-
}
|
|
48
|
-
export interface SessionHistory {
|
|
49
|
-
sessionId: string;
|
|
50
|
-
startedAt: string;
|
|
51
|
-
lastActivityAt: string;
|
|
52
|
-
totalTokens: number;
|
|
53
|
-
movements: MovementRecord[];
|
|
54
|
-
claudeSessionId?: string;
|
|
55
|
-
}
|
|
56
|
-
/** Entry in the retry log for debugging recovery paths */
|
|
57
|
-
interface RetryLogEntry {
|
|
58
|
-
retryNumber: number;
|
|
59
|
-
path: string;
|
|
60
|
-
reason: string;
|
|
61
|
-
timestamp: number;
|
|
62
|
-
durationMs?: number;
|
|
63
|
-
}
|
|
8
|
+
import type { FileAttachment, ImprovisationOptions, MovementRecord, SessionHistory } from './improvisation-types.js';
|
|
9
|
+
export type { FileAttachment, ImprovisationOptions, MovementRecord, SessionHistory, ToolUseRecord } from './improvisation-types.js';
|
|
64
10
|
export declare class ImprovisationSessionManager extends EventEmitter {
|
|
65
11
|
private sessionId;
|
|
66
12
|
private improviseDir;
|
|
@@ -75,230 +21,44 @@ export declare class ImprovisationSessionManager extends EventEmitter {
|
|
|
75
21
|
private claudeSessionId;
|
|
76
22
|
private isResumedSession;
|
|
77
23
|
accumulatedKnowledge: string;
|
|
78
|
-
/** Whether a prompt is currently executing */
|
|
79
24
|
private _isExecuting;
|
|
80
|
-
/** Timestamp when current execution started (for accurate elapsed time across reconnects) */
|
|
81
25
|
private _executionStartTimestamp;
|
|
82
|
-
/** Buffered events during current execution, for replay on reconnect */
|
|
83
26
|
private executionEventLog;
|
|
84
|
-
/** Set by cancel() to signal the retry loop to exit */
|
|
85
27
|
private _cancelled;
|
|
86
|
-
/** True when cancel() has already emitted movementComplete (prevents double-emit) */
|
|
87
28
|
private _cancelCompleteEmitted;
|
|
88
|
-
/** Current execution's user prompt (for cancel to build movement record) */
|
|
89
29
|
private _currentUserPrompt;
|
|
90
|
-
/** Current execution's sequence number (for cancel to build movement record) */
|
|
91
30
|
private _currentSequenceNumber;
|
|
92
|
-
/**
|
|
93
|
-
* Resume from a historical session.
|
|
94
|
-
* Creates a new session manager that continues the conversation from a previous session.
|
|
95
|
-
* The first prompt will include context from the historical session.
|
|
96
|
-
*/
|
|
97
31
|
static resumeFromHistory(workingDir: string, historicalSessionId: string, overrides?: Partial<ImprovisationOptions>): ImprovisationSessionManager;
|
|
98
32
|
constructor(options?: Partial<ImprovisationOptions>);
|
|
99
|
-
/**
|
|
100
|
-
* Start background queue processor that flushes output immediately
|
|
101
|
-
*/
|
|
102
33
|
private startQueueProcessor;
|
|
103
|
-
/**
|
|
104
|
-
* Queue output for immediate processing
|
|
105
|
-
*/
|
|
106
34
|
private queueOutput;
|
|
107
|
-
/**
|
|
108
|
-
* Flush all queued output immediately
|
|
109
|
-
*/
|
|
110
35
|
private flushOutputQueue;
|
|
111
|
-
/**
|
|
112
|
-
* Build prompt with text file attachments prepended and disk path references
|
|
113
|
-
* Format: each text file is shown as @path followed by content in code block
|
|
114
|
-
*/
|
|
115
|
-
private buildPromptWithAttachments;
|
|
116
|
-
/**
|
|
117
|
-
* Write attachments to disk at .mstro/tmp/attachments/{sessionId}/
|
|
118
|
-
* Returns array of absolute file paths for each persisted attachment.
|
|
119
|
-
*/
|
|
120
|
-
private persistAttachments;
|
|
121
|
-
/**
|
|
122
|
-
* Clean up persisted attachments for this session
|
|
123
|
-
*/
|
|
124
|
-
private cleanupAttachments;
|
|
125
|
-
/**
|
|
126
|
-
* Execute a user prompt directly (Improvise mode - no score decomposition)
|
|
127
|
-
* Uses persistent Claude sessions via --resume <sessionId> for conversation continuity
|
|
128
|
-
* Each tab maintains its own claudeSessionId for proper isolation
|
|
129
|
-
* Supports file attachments: text files prepended to prompt, images via stream-json multimodal
|
|
130
|
-
*/
|
|
131
36
|
executePrompt(userPrompt: string, attachments?: FileAttachment[], options?: {
|
|
132
37
|
sandboxed?: boolean;
|
|
133
38
|
workingDir?: string;
|
|
134
39
|
}): Promise<MovementRecord>;
|
|
135
|
-
private
|
|
40
|
+
private buildRetryCallbacks;
|
|
41
|
+
private buildRetrySessionState;
|
|
42
|
+
private syncSessionStateBack;
|
|
136
43
|
private runRetryLoop;
|
|
137
|
-
/**
|
|
138
|
-
private
|
|
139
|
-
/**
|
|
140
|
-
private
|
|
141
|
-
|
|
142
|
-
private preparePromptAndAttachments;
|
|
143
|
-
/** Determine whether to use --resume and which session ID */
|
|
144
|
-
private determineResumeStrategy;
|
|
145
|
-
/** Create HeadlessRunner for one retry iteration */
|
|
146
|
-
private createExecutionRunner;
|
|
147
|
-
/** Save checkpoint and reset per-iteration state before each retry loop pass. */
|
|
148
|
-
private resetIterationState;
|
|
149
|
-
/** Update best result tracking */
|
|
150
|
-
private updateBestResult;
|
|
151
|
-
/** Detect resume context loss (Path 1): session expired on --resume */
|
|
152
|
-
private detectResumeContextLoss;
|
|
153
|
-
/** Detect native timeout context loss (Path 2): tool timeouts caused confusion */
|
|
154
|
-
private detectNativeTimeoutContextLoss;
|
|
155
|
-
/** Flush post-timeout output if context wasn't lost */
|
|
156
|
-
private flushPostTimeoutOutput;
|
|
157
|
-
/** Check if context loss recovery should trigger a retry. Returns true if loop should continue. */
|
|
158
|
-
private shouldRetryContextLoss;
|
|
159
|
-
/** Accumulate completed tool results from a run into the retry state.
|
|
160
|
-
* Caps at MAX_ACCUMULATED_RESULTS to prevent recovery prompts from exceeding context limits.
|
|
161
|
-
* When the cap is reached, older results are evicted (FIFO) to make room for newer ones. */
|
|
162
|
-
private static readonly MAX_ACCUMULATED_RESULTS;
|
|
163
|
-
private accumulateToolResults;
|
|
164
|
-
/** Handle inter-movement context loss recovery (resume session expired) */
|
|
165
|
-
private applyInterMovementRecovery;
|
|
166
|
-
/** Handle native-timeout context loss recovery (tool timeouts caused confusion) */
|
|
167
|
-
private applyNativeTimeoutRecovery;
|
|
168
|
-
/** Handle tool timeout checkpoint. Returns true if loop should continue. */
|
|
169
|
-
private applyToolTimeoutRetry;
|
|
170
|
-
/**
|
|
171
|
-
* Detect and retry after a signal crash (e.g., SIGTERM exit code 143).
|
|
172
|
-
* When the Claude process is killed externally (OOM, system signal, internal timeout
|
|
173
|
-
* that bypasses our watchdog), no existing recovery path catches it because contextLost
|
|
174
|
-
* is never set and no checkpoint is created. This adds a dedicated recovery path.
|
|
175
|
-
*/
|
|
176
|
-
private shouldRetrySignalCrash;
|
|
177
|
-
/** Build a recovery prompt after signal crash */
|
|
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;
|
|
195
|
-
/** Select the best result across retries using Haiku assessment */
|
|
196
|
-
private selectBestResult;
|
|
197
|
-
/** Fallback best result selection using numeric scoring */
|
|
198
|
-
private fallbackBestResult;
|
|
199
|
-
/** Replace a result's claudeSessionId with a newer one */
|
|
200
|
-
private mergeResultSessionId;
|
|
201
|
-
/** Capture Claude session ID and surface execution failures */
|
|
44
|
+
/** Run a single iteration: spawn runner, execute, detect context loss */
|
|
45
|
+
private executeRetryIteration;
|
|
46
|
+
/** Evaluate all retry strategies. Returns true if the loop should continue. */
|
|
47
|
+
private evaluateRetryStrategies;
|
|
48
|
+
private handleCancelledExecution;
|
|
202
49
|
private captureSessionAndSurfaceErrors;
|
|
203
|
-
/** Build a MovementRecord from execution result */
|
|
204
50
|
private buildMovementRecord;
|
|
205
|
-
/** Handle file conflicts from execution result */
|
|
206
51
|
private handleConflicts;
|
|
207
|
-
/** Persist movement to history */
|
|
208
52
|
private persistMovement;
|
|
209
|
-
/** Emit movement completion events and analytics */
|
|
210
53
|
private emitMovementComplete;
|
|
211
|
-
/**
|
|
212
|
-
* Build historical context for resuming a session.
|
|
213
|
-
* This creates a summary of the previous conversation that will be injected
|
|
214
|
-
* into the first prompt of a resumed session.
|
|
215
|
-
*/
|
|
216
|
-
private buildHistoricalContext;
|
|
217
|
-
/**
|
|
218
|
-
* Build a retry prompt from a tool timeout checkpoint.
|
|
219
|
-
* Injects completed tool results and instructs Claude to skip the failed resource.
|
|
220
|
-
*/
|
|
221
|
-
private buildRetryPrompt;
|
|
222
|
-
/**
|
|
223
|
-
* Build a short retry prompt for --resume sessions.
|
|
224
|
-
* The session already has full conversation context, so we only need to
|
|
225
|
-
* explain what timed out and instruct Claude to continue.
|
|
226
|
-
*/
|
|
227
|
-
private buildResumeRetryPrompt;
|
|
228
|
-
/**
|
|
229
|
-
* Build a recovery prompt for --resume after context loss.
|
|
230
|
-
* Since we're resuming the same session, Claude has full conversation history
|
|
231
|
-
* (including all preserved tool results). We just need to redirect it back to the task.
|
|
232
|
-
*/
|
|
233
|
-
private buildContextRecoveryPrompt;
|
|
234
|
-
/**
|
|
235
|
-
* Build a recovery prompt for a fresh session (no --resume) after repeated context loss.
|
|
236
|
-
* Injects all accumulated tool results from previous attempts so Claude can continue
|
|
237
|
-
* the task without re-fetching data it already gathered.
|
|
238
|
-
*/
|
|
239
|
-
private buildFreshRecoveryPrompt;
|
|
240
|
-
/**
|
|
241
|
-
* Extract tool results from the last N movements in history.
|
|
242
|
-
* Used for inter-movement recovery to provide context from prior work
|
|
243
|
-
* when a resume session is corrupted/expired.
|
|
244
|
-
*/
|
|
245
|
-
private extractHistoricalToolResults;
|
|
246
|
-
/**
|
|
247
|
-
* Build a recovery prompt for inter-movement context loss.
|
|
248
|
-
* The Claude session expired between movements (not due to native timeouts).
|
|
249
|
-
* Includes prior conversation summary + preserved tool results + anti-timeout guidance.
|
|
250
|
-
*/
|
|
251
|
-
private buildInterMovementRecoveryPrompt;
|
|
252
|
-
/** Summarize a tool input for display in retry prompts */
|
|
253
|
-
private summarizeToolInput;
|
|
254
|
-
/** Format a list of timed-out tools for retry prompts */
|
|
255
|
-
private formatTimedOutTools;
|
|
256
|
-
/** Format completed checkpoint tools for retry prompts */
|
|
257
|
-
private formatCompletedTools;
|
|
258
|
-
/** Format in-progress tools for retry prompts */
|
|
259
|
-
private formatInProgressTools;
|
|
260
|
-
/** Format tool results from ToolUseRecord[] for recovery prompts */
|
|
261
|
-
private formatToolResults;
|
|
262
|
-
/** Format conversation history for recovery prompts */
|
|
263
|
-
private formatConversationHistory;
|
|
264
|
-
/**
|
|
265
|
-
* Load history from disk
|
|
266
|
-
*/
|
|
267
54
|
private loadHistory;
|
|
268
|
-
/**
|
|
269
|
-
* Save history to disk
|
|
270
|
-
*/
|
|
271
55
|
private saveHistory;
|
|
272
|
-
/**
|
|
273
|
-
* Get session history
|
|
274
|
-
*/
|
|
275
56
|
getHistory(): SessionHistory;
|
|
276
|
-
/**
|
|
277
|
-
* Cancel current execution — immediately emits movementComplete so the web
|
|
278
|
-
* gets instant feedback, then cleans up the process tree in the background.
|
|
279
|
-
*/
|
|
280
57
|
cancel(): void;
|
|
281
|
-
/**
|
|
282
|
-
* Cleanup queue processor on shutdown
|
|
283
|
-
*/
|
|
284
58
|
destroy(): void;
|
|
285
|
-
/**
|
|
286
|
-
* Clear session history and reset to fresh Claude session
|
|
287
|
-
* This resets the isFirstPrompt flag and claudeSessionId so the next prompt starts a new session
|
|
288
|
-
*/
|
|
289
59
|
clearHistory(): void;
|
|
290
|
-
/**
|
|
291
|
-
* Request user approval for a plan
|
|
292
|
-
* Returns a promise that resolves when the user approves/rejects
|
|
293
|
-
*/
|
|
294
60
|
requestApproval(plan: unknown): Promise<boolean>;
|
|
295
|
-
/**
|
|
296
|
-
* Respond to approval request
|
|
297
|
-
*/
|
|
298
61
|
respondToApproval(approved: boolean): void;
|
|
299
|
-
/**
|
|
300
|
-
* Get session metadata
|
|
301
|
-
*/
|
|
302
62
|
getSessionInfo(): {
|
|
303
63
|
sessionId: string;
|
|
304
64
|
startTime: string;
|
|
@@ -307,29 +67,13 @@ export declare class ImprovisationSessionManager extends EventEmitter {
|
|
|
307
67
|
tokenBudgetThreshold: number;
|
|
308
68
|
movementCount: number;
|
|
309
69
|
};
|
|
310
|
-
/**
|
|
311
|
-
* Whether a prompt is currently executing
|
|
312
|
-
*/
|
|
313
70
|
get isExecuting(): boolean;
|
|
314
|
-
/**
|
|
315
|
-
* Timestamp when current execution started (undefined when not executing)
|
|
316
|
-
*/
|
|
317
71
|
get executionStartTimestamp(): number | undefined;
|
|
318
|
-
/**
|
|
319
|
-
* Get buffered execution events for replay on reconnect.
|
|
320
|
-
* Only meaningful while isExecuting is true.
|
|
321
|
-
*/
|
|
322
72
|
getExecutionEventLog(): Array<{
|
|
323
73
|
type: string;
|
|
324
74
|
data: unknown;
|
|
325
75
|
timestamp: number;
|
|
326
76
|
}>;
|
|
327
|
-
/**
|
|
328
|
-
* Start a new session with fresh context
|
|
329
|
-
* Creates a completely new session manager with isFirstPrompt=true and no claudeSessionId,
|
|
330
|
-
* ensuring the next prompt starts a fresh Claude conversation (proper tab isolation)
|
|
331
|
-
*/
|
|
332
77
|
startNewSession(overrides?: Partial<ImprovisationOptions>): ImprovisationSessionManager;
|
|
333
78
|
}
|
|
334
|
-
export {};
|
|
335
79
|
//# sourceMappingURL=improvisation-session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improvisation-session-manager.d.ts","sourceRoot":"","sources":["../../../server/cli/improvisation-session-manager.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"improvisation-session-manager.d.ts","sourceRoot":"","sources":["../../../server/cli/improvisation-session-manager.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C,OAAO,KAAK,EAAE,cAAc,EAAqB,oBAAoB,EAAE,cAAc,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIxJ,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEpI,qBAAa,2BAA4B,SAAQ,YAAY;IAC3D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAA6D;IAClF,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAGtB;IACF,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,oBAAoB,EAAE,MAAM,CAAM;IAElC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,wBAAwB,CAAqB;IACrD,OAAO,CAAC,iBAAiB,CAAiE;IAC1F,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,sBAAsB,CAAa;IAE3C,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,2BAA2B;gBA+BrI,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IA2BvD,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IASlB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA4FxJ,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,oBAAoB;YAMd,YAAY;IAwB1B,yEAAyE;YAC3D,qBAAqB;IAgCnC,+EAA+E;YACjE,uBAAuB;IAqBrC,OAAO,CAAC,wBAAwB;IA4ChC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,WAAW;IAKnB,UAAU,IAAI,cAAc;IAM5B,MAAM,IAAI,IAAI;IAqCd,OAAO,IAAI,IAAI;IAQf,YAAY,IAAI,IAAI;IAWd,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtD,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAO1C,cAAc;;;;;;;;IAWd,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAED,oBAAoB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjF,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,2BAA2B;CAQxF"}
|