aicodeman 0.2.8
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/LICENSE +21 -0
- package/README.md +403 -0
- package/dist/ai-checker-base.d.ts +175 -0
- package/dist/ai-checker-base.d.ts.map +1 -0
- package/dist/ai-checker-base.js +424 -0
- package/dist/ai-checker-base.js.map +1 -0
- package/dist/ai-idle-checker.d.ts +53 -0
- package/dist/ai-idle-checker.d.ts.map +1 -0
- package/dist/ai-idle-checker.js +141 -0
- package/dist/ai-idle-checker.js.map +1 -0
- package/dist/ai-plan-checker.d.ts +52 -0
- package/dist/ai-plan-checker.d.ts.map +1 -0
- package/dist/ai-plan-checker.js +103 -0
- package/dist/ai-plan-checker.js.map +1 -0
- package/dist/bash-tool-parser.d.ts +191 -0
- package/dist/bash-tool-parser.d.ts.map +1 -0
- package/dist/bash-tool-parser.js +598 -0
- package/dist/bash-tool-parser.js.map +1 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +460 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/buffer-limits.d.ts +59 -0
- package/dist/config/buffer-limits.d.ts.map +1 -0
- package/dist/config/buffer-limits.js +74 -0
- package/dist/config/buffer-limits.js.map +1 -0
- package/dist/config/map-limits.d.ts +40 -0
- package/dist/config/map-limits.d.ts.map +1 -0
- package/dist/config/map-limits.js +52 -0
- package/dist/config/map-limits.js.map +1 -0
- package/dist/file-stream-manager.d.ts +148 -0
- package/dist/file-stream-manager.d.ts.map +1 -0
- package/dist/file-stream-manager.js +351 -0
- package/dist/file-stream-manager.js.map +1 -0
- package/dist/hooks-config.d.ts +31 -0
- package/dist/hooks-config.d.ts.map +1 -0
- package/dist/hooks-config.js +115 -0
- package/dist/hooks-config.js.map +1 -0
- package/dist/image-watcher.d.ts +86 -0
- package/dist/image-watcher.d.ts.map +1 -0
- package/dist/image-watcher.js +275 -0
- package/dist/image-watcher.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/mux-factory.d.ts +13 -0
- package/dist/mux-factory.d.ts.map +1 -0
- package/dist/mux-factory.js +19 -0
- package/dist/mux-factory.js.map +1 -0
- package/dist/mux-interface.d.ts +145 -0
- package/dist/mux-interface.d.ts.map +1 -0
- package/dist/mux-interface.js +9 -0
- package/dist/mux-interface.js.map +1 -0
- package/dist/plan-orchestrator.d.ts +123 -0
- package/dist/plan-orchestrator.d.ts.map +1 -0
- package/dist/plan-orchestrator.js +500 -0
- package/dist/plan-orchestrator.js.map +1 -0
- package/dist/prompts/index.d.ts +9 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +9 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/planner.d.ts +14 -0
- package/dist/prompts/planner.d.ts.map +1 -0
- package/dist/prompts/planner.js +83 -0
- package/dist/prompts/planner.js.map +1 -0
- package/dist/prompts/research-agent.d.ts +10 -0
- package/dist/prompts/research-agent.d.ts.map +1 -0
- package/dist/prompts/research-agent.js +143 -0
- package/dist/prompts/research-agent.js.map +1 -0
- package/dist/push-store.d.ts +41 -0
- package/dist/push-store.d.ts.map +1 -0
- package/dist/push-store.js +168 -0
- package/dist/push-store.js.map +1 -0
- package/dist/ralph-config.d.ts +67 -0
- package/dist/ralph-config.d.ts.map +1 -0
- package/dist/ralph-config.js +134 -0
- package/dist/ralph-config.js.map +1 -0
- package/dist/ralph-loop.d.ts +124 -0
- package/dist/ralph-loop.d.ts.map +1 -0
- package/dist/ralph-loop.js +418 -0
- package/dist/ralph-loop.js.map +1 -0
- package/dist/ralph-tracker.d.ts +1081 -0
- package/dist/ralph-tracker.d.ts.map +1 -0
- package/dist/ralph-tracker.js +3343 -0
- package/dist/ralph-tracker.js.map +1 -0
- package/dist/respawn-controller.d.ts +1182 -0
- package/dist/respawn-controller.d.ts.map +1 -0
- package/dist/respawn-controller.js +2754 -0
- package/dist/respawn-controller.js.map +1 -0
- package/dist/run-summary.d.ts +123 -0
- package/dist/run-summary.d.ts.map +1 -0
- package/dist/run-summary.js +325 -0
- package/dist/run-summary.js.map +1 -0
- package/dist/session-lifecycle-log.d.ts +36 -0
- package/dist/session-lifecycle-log.d.ts.map +1 -0
- package/dist/session-lifecycle-log.js +101 -0
- package/dist/session-lifecycle-log.js.map +1 -0
- package/dist/session-manager.d.ts +97 -0
- package/dist/session-manager.d.ts.map +1 -0
- package/dist/session-manager.js +224 -0
- package/dist/session-manager.js.map +1 -0
- package/dist/session.d.ts +686 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +2025 -0
- package/dist/session.js.map +1 -0
- package/dist/state-store.d.ts +189 -0
- package/dist/state-store.d.ts.map +1 -0
- package/dist/state-store.js +730 -0
- package/dist/state-store.js.map +1 -0
- package/dist/subagent-watcher.d.ts +345 -0
- package/dist/subagent-watcher.d.ts.map +1 -0
- package/dist/subagent-watcher.js +1469 -0
- package/dist/subagent-watcher.js.map +1 -0
- package/dist/task-queue.d.ts +108 -0
- package/dist/task-queue.d.ts.map +1 -0
- package/dist/task-queue.js +235 -0
- package/dist/task-queue.js.map +1 -0
- package/dist/task-tracker.d.ts +306 -0
- package/dist/task-tracker.d.ts.map +1 -0
- package/dist/task-tracker.js +488 -0
- package/dist/task-tracker.js.map +1 -0
- package/dist/task.d.ts +73 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +177 -0
- package/dist/task.js.map +1 -0
- package/dist/team-watcher.d.ts +53 -0
- package/dist/team-watcher.d.ts.map +1 -0
- package/dist/team-watcher.js +313 -0
- package/dist/team-watcher.js.map +1 -0
- package/dist/templates/case-template.md +461 -0
- package/dist/templates/claude-md.d.ts +26 -0
- package/dist/templates/claude-md.d.ts.map +1 -0
- package/dist/templates/claude-md.js +74 -0
- package/dist/templates/claude-md.js.map +1 -0
- package/dist/tmux-manager.d.ts +181 -0
- package/dist/tmux-manager.d.ts.map +1 -0
- package/dist/tmux-manager.js +1405 -0
- package/dist/tmux-manager.js.map +1 -0
- package/dist/transcript-watcher.d.ts +110 -0
- package/dist/transcript-watcher.d.ts.map +1 -0
- package/dist/transcript-watcher.js +338 -0
- package/dist/transcript-watcher.js.map +1 -0
- package/dist/tunnel-manager.d.ts +54 -0
- package/dist/tunnel-manager.d.ts.map +1 -0
- package/dist/tunnel-manager.js +251 -0
- package/dist/tunnel-manager.js.map +1 -0
- package/dist/types.d.ts +1139 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +215 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/buffer-accumulator.d.ts +111 -0
- package/dist/utils/buffer-accumulator.d.ts.map +1 -0
- package/dist/utils/buffer-accumulator.js +172 -0
- package/dist/utils/buffer-accumulator.js.map +1 -0
- package/dist/utils/claude-cli-resolver.d.ts +26 -0
- package/dist/utils/claude-cli-resolver.d.ts.map +1 -0
- package/dist/utils/claude-cli-resolver.js +78 -0
- package/dist/utils/claude-cli-resolver.js.map +1 -0
- package/dist/utils/cleanup-manager.d.ts +165 -0
- package/dist/utils/cleanup-manager.d.ts.map +1 -0
- package/dist/utils/cleanup-manager.js +274 -0
- package/dist/utils/cleanup-manager.js.map +1 -0
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lru-map.d.ts +140 -0
- package/dist/utils/lru-map.d.ts.map +1 -0
- package/dist/utils/lru-map.js +234 -0
- package/dist/utils/lru-map.js.map +1 -0
- package/dist/utils/nice-wrapper.d.ts +13 -0
- package/dist/utils/nice-wrapper.d.ts.map +1 -0
- package/dist/utils/nice-wrapper.js +17 -0
- package/dist/utils/nice-wrapper.js.map +1 -0
- package/dist/utils/opencode-cli-resolver.d.ts +21 -0
- package/dist/utils/opencode-cli-resolver.d.ts.map +1 -0
- package/dist/utils/opencode-cli-resolver.js +67 -0
- package/dist/utils/opencode-cli-resolver.js.map +1 -0
- package/dist/utils/regex-patterns.d.ts +64 -0
- package/dist/utils/regex-patterns.d.ts.map +1 -0
- package/dist/utils/regex-patterns.js +74 -0
- package/dist/utils/regex-patterns.js.map +1 -0
- package/dist/utils/stale-expiration-map.d.ts +159 -0
- package/dist/utils/stale-expiration-map.d.ts.map +1 -0
- package/dist/utils/stale-expiration-map.js +277 -0
- package/dist/utils/stale-expiration-map.js.map +1 -0
- package/dist/utils/string-similarity.d.ts +108 -0
- package/dist/utils/string-similarity.d.ts.map +1 -0
- package/dist/utils/string-similarity.js +189 -0
- package/dist/utils/string-similarity.js.map +1 -0
- package/dist/utils/token-validation.d.ts +39 -0
- package/dist/utils/token-validation.d.ts.map +1 -0
- package/dist/utils/token-validation.js +59 -0
- package/dist/utils/token-validation.js.map +1 -0
- package/dist/utils/type-safety.d.ts +33 -0
- package/dist/utils/type-safety.d.ts.map +1 -0
- package/dist/utils/type-safety.js +35 -0
- package/dist/utils/type-safety.js.map +1 -0
- package/dist/web/public/app.js +491 -0
- package/dist/web/public/app.js.br +0 -0
- package/dist/web/public/app.js.gz +0 -0
- package/dist/web/public/index.html +1675 -0
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/manifest.json +8 -0
- package/dist/web/public/mobile.css +1 -0
- package/dist/web/public/mobile.css.br +0 -0
- package/dist/web/public/mobile.css.gz +0 -0
- package/dist/web/public/ralph-wizard.js +1037 -0
- package/dist/web/public/ralph-wizard.js.br +0 -0
- package/dist/web/public/ralph-wizard.js.gz +0 -0
- package/dist/web/public/styles.css +1 -0
- package/dist/web/public/styles.css.br +0 -0
- package/dist/web/public/styles.css.gz +0 -0
- package/dist/web/public/sw.js +67 -0
- package/dist/web/public/sw.js.br +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/upload.html +155 -0
- package/dist/web/public/upload.html.br +0 -0
- package/dist/web/public/upload.html.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js +1 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.br +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js +1 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.br +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js +2 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.br +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css +209 -0
- package/dist/web/public/vendor/xterm.css.br +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js +9 -0
- package/dist/web/public/vendor/xterm.min.js.br +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/schemas.d.ts +479 -0
- package/dist/web/schemas.d.ts.map +1 -0
- package/dist/web/schemas.js +448 -0
- package/dist/web/schemas.js.map +1 -0
- package/dist/web/server.d.ts +207 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +5784 -0
- package/dist/web/server.js.map +1 -0
- package/package.json +110 -0
- package/scripts/postinstall.js +390 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Background Task Tracker for Claude Code sessions
|
|
3
|
+
*
|
|
4
|
+
* This module tracks background tasks (subagents) spawned by Claude Code
|
|
5
|
+
* during session execution. It parses both JSON messages and terminal output
|
|
6
|
+
* to detect when tasks are created, updated, and completed.
|
|
7
|
+
*
|
|
8
|
+
* ## Task Hierarchy
|
|
9
|
+
*
|
|
10
|
+
* Tasks can be nested (parent-child relationships) when Claude spawns
|
|
11
|
+
* a subagent from within another subagent. The tracker maintains a stack
|
|
12
|
+
* to track nesting and a tree structure for visualization.
|
|
13
|
+
*
|
|
14
|
+
* ## Detection Methods
|
|
15
|
+
*
|
|
16
|
+
* 1. **JSON Messages**: Parses `tool_use` blocks for Task tool invocations
|
|
17
|
+
* and `tool_result` blocks for completion
|
|
18
|
+
* 2. **Terminal Output**: Fallback pattern matching for launch/complete messages
|
|
19
|
+
*
|
|
20
|
+
* @module task-tracker
|
|
21
|
+
*/
|
|
22
|
+
import { EventEmitter } from 'node:events';
|
|
23
|
+
/**
|
|
24
|
+
* Content block for tool_use messages from Claude.
|
|
25
|
+
* Emitted when Claude invokes a tool.
|
|
26
|
+
*/
|
|
27
|
+
interface ClaudeToolUseBlock {
|
|
28
|
+
type: 'tool_use';
|
|
29
|
+
/** Unique identifier for this tool invocation */
|
|
30
|
+
id: string;
|
|
31
|
+
/** Name of the tool being invoked */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Parameters passed to the tool */
|
|
34
|
+
input?: {
|
|
35
|
+
description?: string;
|
|
36
|
+
prompt?: string;
|
|
37
|
+
subagent_type?: string;
|
|
38
|
+
[key: string]: unknown;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Content block for tool_result messages from Claude.
|
|
43
|
+
* Emitted when a tool completes execution.
|
|
44
|
+
*/
|
|
45
|
+
interface ClaudeToolResultBlock {
|
|
46
|
+
type: 'tool_result';
|
|
47
|
+
/** ID of the tool_use this result corresponds to */
|
|
48
|
+
tool_use_id: string;
|
|
49
|
+
/** Whether the tool execution resulted in an error */
|
|
50
|
+
is_error?: boolean;
|
|
51
|
+
/** Result content (string or structured data) */
|
|
52
|
+
content?: string | unknown;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Union type for content blocks we care about.
|
|
56
|
+
*/
|
|
57
|
+
type ClaudeContentBlock = ClaudeToolUseBlock | ClaudeToolResultBlock | {
|
|
58
|
+
type: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Claude JSON message structure.
|
|
62
|
+
* This is the format Claude Code outputs for streaming events.
|
|
63
|
+
*/
|
|
64
|
+
interface ClaudeMessage {
|
|
65
|
+
message?: {
|
|
66
|
+
content?: ClaudeContentBlock[];
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Represents a background task spawned by Claude Code.
|
|
71
|
+
*
|
|
72
|
+
* Tasks form a tree structure where a parent task can spawn child tasks.
|
|
73
|
+
* This enables tracking of nested agent invocations.
|
|
74
|
+
*/
|
|
75
|
+
export interface BackgroundTask {
|
|
76
|
+
/** Unique task identifier (usually the tool_use ID from Claude) */
|
|
77
|
+
id: string;
|
|
78
|
+
/** Parent task ID if this is a nested task, null for root tasks */
|
|
79
|
+
parentId: string | null;
|
|
80
|
+
/** Human-readable description of what the task is doing */
|
|
81
|
+
description: string;
|
|
82
|
+
/** Type of subagent (e.g., 'explore', 'bash', 'general-purpose') */
|
|
83
|
+
subagentType: string;
|
|
84
|
+
/** Current execution status */
|
|
85
|
+
status: 'running' | 'completed' | 'failed';
|
|
86
|
+
/** Timestamp when task was created (milliseconds since epoch) */
|
|
87
|
+
startTime: number;
|
|
88
|
+
/** Timestamp when task finished (milliseconds since epoch) */
|
|
89
|
+
endTime?: number;
|
|
90
|
+
/** Output/result from the task execution */
|
|
91
|
+
output?: string;
|
|
92
|
+
/** IDs of child tasks spawned by this task */
|
|
93
|
+
children: string[];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Events emitted by TaskTracker.
|
|
97
|
+
*
|
|
98
|
+
* @event taskCreated - New task detected and added
|
|
99
|
+
* @event taskUpdated - Task state changed (rarely used)
|
|
100
|
+
* @event taskCompleted - Task finished successfully
|
|
101
|
+
* @event taskFailed - Task finished with error
|
|
102
|
+
*/
|
|
103
|
+
export interface TaskTrackerEvents {
|
|
104
|
+
/** New task created */
|
|
105
|
+
taskCreated: (task: BackgroundTask) => void;
|
|
106
|
+
/** Task state updated */
|
|
107
|
+
taskUpdated: (task: BackgroundTask) => void;
|
|
108
|
+
/** Task completed successfully */
|
|
109
|
+
taskCompleted: (task: BackgroundTask) => void;
|
|
110
|
+
/** Task failed with error */
|
|
111
|
+
taskFailed: (task: BackgroundTask, error: string) => void;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* TaskTracker - Detects and tracks background tasks in Claude Code sessions.
|
|
115
|
+
*
|
|
116
|
+
* ## How It Works
|
|
117
|
+
*
|
|
118
|
+
* Claude Code outputs JSON messages when executing. When it spawns a subagent
|
|
119
|
+
* via the Task tool, we see:
|
|
120
|
+
*
|
|
121
|
+
* 1. `tool_use` block with `name: "Task"` and input parameters
|
|
122
|
+
* 2. ... task execution output ...
|
|
123
|
+
* 3. `tool_result` block with the result or error
|
|
124
|
+
*
|
|
125
|
+
* The tracker maintains:
|
|
126
|
+
* - A map of all tasks by ID
|
|
127
|
+
* - A stack of currently running tasks (for nesting)
|
|
128
|
+
* - Parent-child relationships between tasks
|
|
129
|
+
*
|
|
130
|
+
* ## Usage
|
|
131
|
+
*
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const tracker = new TaskTracker();
|
|
134
|
+
*
|
|
135
|
+
* tracker.on('taskCreated', (task) => {
|
|
136
|
+
* console.log(`New task: ${task.description}`);
|
|
137
|
+
* });
|
|
138
|
+
*
|
|
139
|
+
* tracker.on('taskCompleted', (task) => {
|
|
140
|
+
* console.log(`Task done: ${task.id}`);
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* // Feed in Claude messages
|
|
144
|
+
* tracker.processMessage(claudeJsonMessage);
|
|
145
|
+
*
|
|
146
|
+
* // Or terminal output as fallback
|
|
147
|
+
* tracker.processTerminalOutput(ptyData);
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* @extends EventEmitter
|
|
151
|
+
*/
|
|
152
|
+
export declare class TaskTracker extends EventEmitter {
|
|
153
|
+
/** Map of task ID to task object */
|
|
154
|
+
private tasks;
|
|
155
|
+
/** Stack of active task IDs for tracking nesting depth */
|
|
156
|
+
private taskStack;
|
|
157
|
+
/** Pending tool_use blocks waiting for results (with timestamp for cleanup) */
|
|
158
|
+
private pendingToolUses;
|
|
159
|
+
/**
|
|
160
|
+
* Creates a new TaskTracker instance.
|
|
161
|
+
*/
|
|
162
|
+
constructor();
|
|
163
|
+
/**
|
|
164
|
+
* Process a Claude JSON message to detect task events.
|
|
165
|
+
*
|
|
166
|
+
* Looks for `tool_use` blocks with `name: "Task"` and `tool_result` blocks
|
|
167
|
+
* to track task lifecycle.
|
|
168
|
+
*
|
|
169
|
+
* @param msg - Parsed Claude JSON message object
|
|
170
|
+
* @fires taskCreated - When a new task is detected
|
|
171
|
+
* @fires taskCompleted - When a task finishes successfully
|
|
172
|
+
* @fires taskFailed - When a task finishes with error
|
|
173
|
+
*/
|
|
174
|
+
processMessage(msg: ClaudeMessage | null | undefined): void;
|
|
175
|
+
/**
|
|
176
|
+
* Process raw terminal output to detect task patterns.
|
|
177
|
+
*
|
|
178
|
+
* This is a fallback for when JSON parsing doesn't capture everything.
|
|
179
|
+
* Uses pre-compiled patterns to detect launch and completion messages.
|
|
180
|
+
*
|
|
181
|
+
* Note: May create duplicate tasks in some cases; deduplication is
|
|
182
|
+
* handled by checking for existing running tasks of the same type.
|
|
183
|
+
*
|
|
184
|
+
* @param data - Raw terminal output string
|
|
185
|
+
* @fires taskCreated - When a launch pattern is matched
|
|
186
|
+
* @fires taskCompleted - When a complete pattern is matched
|
|
187
|
+
*/
|
|
188
|
+
processTerminalOutput(data: string): void;
|
|
189
|
+
/**
|
|
190
|
+
* Handle a tool_use block for the Task tool.
|
|
191
|
+
* Creates a new task and pushes it onto the stack.
|
|
192
|
+
*
|
|
193
|
+
* @param block - The tool_use content block
|
|
194
|
+
* @fires taskCreated
|
|
195
|
+
*/
|
|
196
|
+
private handleTaskToolUse;
|
|
197
|
+
/**
|
|
198
|
+
* Handle a tool_result block.
|
|
199
|
+
* Marks the corresponding task as completed or failed.
|
|
200
|
+
*
|
|
201
|
+
* @param block - The tool_result content block
|
|
202
|
+
* @fires taskCompleted - If result is success
|
|
203
|
+
* @fires taskFailed - If result is error
|
|
204
|
+
*/
|
|
205
|
+
private handleToolResult;
|
|
206
|
+
/**
|
|
207
|
+
* Remove old pending tool uses that never received results.
|
|
208
|
+
* Prevents unbounded growth if tool_results never arrive.
|
|
209
|
+
*/
|
|
210
|
+
private cleanupOldPendingToolUses;
|
|
211
|
+
/**
|
|
212
|
+
* Remove old completed/failed tasks when exceeding the limit
|
|
213
|
+
* Keeps running tasks and the most recent completed tasks
|
|
214
|
+
*/
|
|
215
|
+
private cleanupCompletedTasks;
|
|
216
|
+
/**
|
|
217
|
+
* Create a task from terminal pattern detection.
|
|
218
|
+
* Used as fallback when JSON messages aren't available.
|
|
219
|
+
*
|
|
220
|
+
* @param agentType - Type of agent detected
|
|
221
|
+
* @param context - Terminal context for debugging
|
|
222
|
+
* @fires taskCreated
|
|
223
|
+
*/
|
|
224
|
+
private createTaskFromTerminal;
|
|
225
|
+
/**
|
|
226
|
+
* Mark a task as completed.
|
|
227
|
+
*
|
|
228
|
+
* @param taskId - ID of task to complete
|
|
229
|
+
* @fires taskCompleted - If task was running
|
|
230
|
+
*/
|
|
231
|
+
private completeTask;
|
|
232
|
+
/**
|
|
233
|
+
* Get the most recently started running task.
|
|
234
|
+
* Returns the task at the top of the stack (most nested).
|
|
235
|
+
*
|
|
236
|
+
* @returns Most recent running task, or undefined if none
|
|
237
|
+
*/
|
|
238
|
+
private getMostRecentRunningTask;
|
|
239
|
+
/**
|
|
240
|
+
* Get root-level tasks as a list.
|
|
241
|
+
*
|
|
242
|
+
* Child tasks can be accessed via the `children` array on each task.
|
|
243
|
+
* Use this for displaying a task tree in the UI.
|
|
244
|
+
*
|
|
245
|
+
* @returns Array of tasks without parents (root level)
|
|
246
|
+
*/
|
|
247
|
+
getTaskTree(): BackgroundTask[];
|
|
248
|
+
/**
|
|
249
|
+
* Lightweight task tree for SSE broadcasts — strips large `output` strings
|
|
250
|
+
* to avoid serializing 5-10MB of task results every 500ms.
|
|
251
|
+
* Full task details available via getTaskTree().
|
|
252
|
+
*
|
|
253
|
+
* @returns Array of root tasks with output truncated to 200 chars
|
|
254
|
+
*/
|
|
255
|
+
getTaskTreeLight(): Omit<BackgroundTask, 'output'>[];
|
|
256
|
+
/**
|
|
257
|
+
* Get all tasks as a flat Map.
|
|
258
|
+
*
|
|
259
|
+
* @returns Copy of the internal tasks map (safe to modify)
|
|
260
|
+
*/
|
|
261
|
+
getAllTasks(): Map<string, BackgroundTask>;
|
|
262
|
+
/**
|
|
263
|
+
* Get a specific task by its ID.
|
|
264
|
+
*
|
|
265
|
+
* @param taskId - The task ID to look up
|
|
266
|
+
* @returns The task if found, undefined otherwise
|
|
267
|
+
*/
|
|
268
|
+
getTask(taskId: string): BackgroundTask | undefined;
|
|
269
|
+
/**
|
|
270
|
+
* Get the count of currently running tasks.
|
|
271
|
+
*
|
|
272
|
+
* @returns Number of tasks with status 'running'
|
|
273
|
+
*/
|
|
274
|
+
getRunningCount(): number;
|
|
275
|
+
/**
|
|
276
|
+
* Get aggregated statistics about all tracked tasks.
|
|
277
|
+
*
|
|
278
|
+
* @returns Object with counts:
|
|
279
|
+
* - total: Total number of tracked tasks
|
|
280
|
+
* - running: Tasks currently executing
|
|
281
|
+
* - completed: Successfully finished tasks
|
|
282
|
+
* - failed: Tasks that ended with errors
|
|
283
|
+
*/
|
|
284
|
+
getStats(): {
|
|
285
|
+
total: number;
|
|
286
|
+
running: number;
|
|
287
|
+
completed: number;
|
|
288
|
+
failed: number;
|
|
289
|
+
};
|
|
290
|
+
/**
|
|
291
|
+
* Clear all tracked tasks.
|
|
292
|
+
*
|
|
293
|
+
* Use when the session is cleared or closed.
|
|
294
|
+
* Resets the task map, stack, and pending tool uses.
|
|
295
|
+
*/
|
|
296
|
+
clear(): void;
|
|
297
|
+
/**
|
|
298
|
+
* Clean up resources and release memory.
|
|
299
|
+
*
|
|
300
|
+
* Call this when the session is being destroyed to prevent memory leaks.
|
|
301
|
+
* Clears all data and removes all event listeners.
|
|
302
|
+
*/
|
|
303
|
+
destroy(): void;
|
|
304
|
+
}
|
|
305
|
+
export {};
|
|
306
|
+
//# sourceMappingURL=task-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-tracker.d.ts","sourceRoot":"","sources":["../src/task-tracker.ts"],"names":[],"mappings":"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"}
|