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.
Files changed (246) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +403 -0
  3. package/dist/ai-checker-base.d.ts +175 -0
  4. package/dist/ai-checker-base.d.ts.map +1 -0
  5. package/dist/ai-checker-base.js +424 -0
  6. package/dist/ai-checker-base.js.map +1 -0
  7. package/dist/ai-idle-checker.d.ts +53 -0
  8. package/dist/ai-idle-checker.d.ts.map +1 -0
  9. package/dist/ai-idle-checker.js +141 -0
  10. package/dist/ai-idle-checker.js.map +1 -0
  11. package/dist/ai-plan-checker.d.ts +52 -0
  12. package/dist/ai-plan-checker.d.ts.map +1 -0
  13. package/dist/ai-plan-checker.js +103 -0
  14. package/dist/ai-plan-checker.js.map +1 -0
  15. package/dist/bash-tool-parser.d.ts +191 -0
  16. package/dist/bash-tool-parser.d.ts.map +1 -0
  17. package/dist/bash-tool-parser.js +598 -0
  18. package/dist/bash-tool-parser.js.map +1 -0
  19. package/dist/cli.d.ts +12 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +460 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/config/buffer-limits.d.ts +59 -0
  24. package/dist/config/buffer-limits.d.ts.map +1 -0
  25. package/dist/config/buffer-limits.js +74 -0
  26. package/dist/config/buffer-limits.js.map +1 -0
  27. package/dist/config/map-limits.d.ts +40 -0
  28. package/dist/config/map-limits.d.ts.map +1 -0
  29. package/dist/config/map-limits.js +52 -0
  30. package/dist/config/map-limits.js.map +1 -0
  31. package/dist/file-stream-manager.d.ts +148 -0
  32. package/dist/file-stream-manager.d.ts.map +1 -0
  33. package/dist/file-stream-manager.js +351 -0
  34. package/dist/file-stream-manager.js.map +1 -0
  35. package/dist/hooks-config.d.ts +31 -0
  36. package/dist/hooks-config.d.ts.map +1 -0
  37. package/dist/hooks-config.js +115 -0
  38. package/dist/hooks-config.js.map +1 -0
  39. package/dist/image-watcher.d.ts +86 -0
  40. package/dist/image-watcher.d.ts.map +1 -0
  41. package/dist/image-watcher.js +275 -0
  42. package/dist/image-watcher.js.map +1 -0
  43. package/dist/index.d.ts +11 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +54 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/mux-factory.d.ts +13 -0
  48. package/dist/mux-factory.d.ts.map +1 -0
  49. package/dist/mux-factory.js +19 -0
  50. package/dist/mux-factory.js.map +1 -0
  51. package/dist/mux-interface.d.ts +145 -0
  52. package/dist/mux-interface.d.ts.map +1 -0
  53. package/dist/mux-interface.js +9 -0
  54. package/dist/mux-interface.js.map +1 -0
  55. package/dist/plan-orchestrator.d.ts +123 -0
  56. package/dist/plan-orchestrator.d.ts.map +1 -0
  57. package/dist/plan-orchestrator.js +500 -0
  58. package/dist/plan-orchestrator.js.map +1 -0
  59. package/dist/prompts/index.d.ts +9 -0
  60. package/dist/prompts/index.d.ts.map +1 -0
  61. package/dist/prompts/index.js +9 -0
  62. package/dist/prompts/index.js.map +1 -0
  63. package/dist/prompts/planner.d.ts +14 -0
  64. package/dist/prompts/planner.d.ts.map +1 -0
  65. package/dist/prompts/planner.js +83 -0
  66. package/dist/prompts/planner.js.map +1 -0
  67. package/dist/prompts/research-agent.d.ts +10 -0
  68. package/dist/prompts/research-agent.d.ts.map +1 -0
  69. package/dist/prompts/research-agent.js +143 -0
  70. package/dist/prompts/research-agent.js.map +1 -0
  71. package/dist/push-store.d.ts +41 -0
  72. package/dist/push-store.d.ts.map +1 -0
  73. package/dist/push-store.js +168 -0
  74. package/dist/push-store.js.map +1 -0
  75. package/dist/ralph-config.d.ts +67 -0
  76. package/dist/ralph-config.d.ts.map +1 -0
  77. package/dist/ralph-config.js +134 -0
  78. package/dist/ralph-config.js.map +1 -0
  79. package/dist/ralph-loop.d.ts +124 -0
  80. package/dist/ralph-loop.d.ts.map +1 -0
  81. package/dist/ralph-loop.js +418 -0
  82. package/dist/ralph-loop.js.map +1 -0
  83. package/dist/ralph-tracker.d.ts +1081 -0
  84. package/dist/ralph-tracker.d.ts.map +1 -0
  85. package/dist/ralph-tracker.js +3343 -0
  86. package/dist/ralph-tracker.js.map +1 -0
  87. package/dist/respawn-controller.d.ts +1182 -0
  88. package/dist/respawn-controller.d.ts.map +1 -0
  89. package/dist/respawn-controller.js +2754 -0
  90. package/dist/respawn-controller.js.map +1 -0
  91. package/dist/run-summary.d.ts +123 -0
  92. package/dist/run-summary.d.ts.map +1 -0
  93. package/dist/run-summary.js +325 -0
  94. package/dist/run-summary.js.map +1 -0
  95. package/dist/session-lifecycle-log.d.ts +36 -0
  96. package/dist/session-lifecycle-log.d.ts.map +1 -0
  97. package/dist/session-lifecycle-log.js +101 -0
  98. package/dist/session-lifecycle-log.js.map +1 -0
  99. package/dist/session-manager.d.ts +97 -0
  100. package/dist/session-manager.d.ts.map +1 -0
  101. package/dist/session-manager.js +224 -0
  102. package/dist/session-manager.js.map +1 -0
  103. package/dist/session.d.ts +686 -0
  104. package/dist/session.d.ts.map +1 -0
  105. package/dist/session.js +2025 -0
  106. package/dist/session.js.map +1 -0
  107. package/dist/state-store.d.ts +189 -0
  108. package/dist/state-store.d.ts.map +1 -0
  109. package/dist/state-store.js +730 -0
  110. package/dist/state-store.js.map +1 -0
  111. package/dist/subagent-watcher.d.ts +345 -0
  112. package/dist/subagent-watcher.d.ts.map +1 -0
  113. package/dist/subagent-watcher.js +1469 -0
  114. package/dist/subagent-watcher.js.map +1 -0
  115. package/dist/task-queue.d.ts +108 -0
  116. package/dist/task-queue.d.ts.map +1 -0
  117. package/dist/task-queue.js +235 -0
  118. package/dist/task-queue.js.map +1 -0
  119. package/dist/task-tracker.d.ts +306 -0
  120. package/dist/task-tracker.d.ts.map +1 -0
  121. package/dist/task-tracker.js +488 -0
  122. package/dist/task-tracker.js.map +1 -0
  123. package/dist/task.d.ts +73 -0
  124. package/dist/task.d.ts.map +1 -0
  125. package/dist/task.js +177 -0
  126. package/dist/task.js.map +1 -0
  127. package/dist/team-watcher.d.ts +53 -0
  128. package/dist/team-watcher.d.ts.map +1 -0
  129. package/dist/team-watcher.js +313 -0
  130. package/dist/team-watcher.js.map +1 -0
  131. package/dist/templates/case-template.md +461 -0
  132. package/dist/templates/claude-md.d.ts +26 -0
  133. package/dist/templates/claude-md.d.ts.map +1 -0
  134. package/dist/templates/claude-md.js +74 -0
  135. package/dist/templates/claude-md.js.map +1 -0
  136. package/dist/tmux-manager.d.ts +181 -0
  137. package/dist/tmux-manager.d.ts.map +1 -0
  138. package/dist/tmux-manager.js +1405 -0
  139. package/dist/tmux-manager.js.map +1 -0
  140. package/dist/transcript-watcher.d.ts +110 -0
  141. package/dist/transcript-watcher.d.ts.map +1 -0
  142. package/dist/transcript-watcher.js +338 -0
  143. package/dist/transcript-watcher.js.map +1 -0
  144. package/dist/tunnel-manager.d.ts +54 -0
  145. package/dist/tunnel-manager.d.ts.map +1 -0
  146. package/dist/tunnel-manager.js +251 -0
  147. package/dist/tunnel-manager.js.map +1 -0
  148. package/dist/types.d.ts +1139 -0
  149. package/dist/types.d.ts.map +1 -0
  150. package/dist/types.js +215 -0
  151. package/dist/types.js.map +1 -0
  152. package/dist/utils/buffer-accumulator.d.ts +111 -0
  153. package/dist/utils/buffer-accumulator.d.ts.map +1 -0
  154. package/dist/utils/buffer-accumulator.js +172 -0
  155. package/dist/utils/buffer-accumulator.js.map +1 -0
  156. package/dist/utils/claude-cli-resolver.d.ts +26 -0
  157. package/dist/utils/claude-cli-resolver.d.ts.map +1 -0
  158. package/dist/utils/claude-cli-resolver.js +78 -0
  159. package/dist/utils/claude-cli-resolver.js.map +1 -0
  160. package/dist/utils/cleanup-manager.d.ts +165 -0
  161. package/dist/utils/cleanup-manager.d.ts.map +1 -0
  162. package/dist/utils/cleanup-manager.js +274 -0
  163. package/dist/utils/cleanup-manager.js.map +1 -0
  164. package/dist/utils/index.d.ts +19 -0
  165. package/dist/utils/index.d.ts.map +1 -0
  166. package/dist/utils/index.js +19 -0
  167. package/dist/utils/index.js.map +1 -0
  168. package/dist/utils/lru-map.d.ts +140 -0
  169. package/dist/utils/lru-map.d.ts.map +1 -0
  170. package/dist/utils/lru-map.js +234 -0
  171. package/dist/utils/lru-map.js.map +1 -0
  172. package/dist/utils/nice-wrapper.d.ts +13 -0
  173. package/dist/utils/nice-wrapper.d.ts.map +1 -0
  174. package/dist/utils/nice-wrapper.js +17 -0
  175. package/dist/utils/nice-wrapper.js.map +1 -0
  176. package/dist/utils/opencode-cli-resolver.d.ts +21 -0
  177. package/dist/utils/opencode-cli-resolver.d.ts.map +1 -0
  178. package/dist/utils/opencode-cli-resolver.js +67 -0
  179. package/dist/utils/opencode-cli-resolver.js.map +1 -0
  180. package/dist/utils/regex-patterns.d.ts +64 -0
  181. package/dist/utils/regex-patterns.d.ts.map +1 -0
  182. package/dist/utils/regex-patterns.js +74 -0
  183. package/dist/utils/regex-patterns.js.map +1 -0
  184. package/dist/utils/stale-expiration-map.d.ts +159 -0
  185. package/dist/utils/stale-expiration-map.d.ts.map +1 -0
  186. package/dist/utils/stale-expiration-map.js +277 -0
  187. package/dist/utils/stale-expiration-map.js.map +1 -0
  188. package/dist/utils/string-similarity.d.ts +108 -0
  189. package/dist/utils/string-similarity.d.ts.map +1 -0
  190. package/dist/utils/string-similarity.js +189 -0
  191. package/dist/utils/string-similarity.js.map +1 -0
  192. package/dist/utils/token-validation.d.ts +39 -0
  193. package/dist/utils/token-validation.d.ts.map +1 -0
  194. package/dist/utils/token-validation.js +59 -0
  195. package/dist/utils/token-validation.js.map +1 -0
  196. package/dist/utils/type-safety.d.ts +33 -0
  197. package/dist/utils/type-safety.d.ts.map +1 -0
  198. package/dist/utils/type-safety.js +35 -0
  199. package/dist/utils/type-safety.js.map +1 -0
  200. package/dist/web/public/app.js +491 -0
  201. package/dist/web/public/app.js.br +0 -0
  202. package/dist/web/public/app.js.gz +0 -0
  203. package/dist/web/public/index.html +1675 -0
  204. package/dist/web/public/index.html.br +0 -0
  205. package/dist/web/public/index.html.gz +0 -0
  206. package/dist/web/public/manifest.json +8 -0
  207. package/dist/web/public/mobile.css +1 -0
  208. package/dist/web/public/mobile.css.br +0 -0
  209. package/dist/web/public/mobile.css.gz +0 -0
  210. package/dist/web/public/ralph-wizard.js +1037 -0
  211. package/dist/web/public/ralph-wizard.js.br +0 -0
  212. package/dist/web/public/ralph-wizard.js.gz +0 -0
  213. package/dist/web/public/styles.css +1 -0
  214. package/dist/web/public/styles.css.br +0 -0
  215. package/dist/web/public/styles.css.gz +0 -0
  216. package/dist/web/public/sw.js +67 -0
  217. package/dist/web/public/sw.js.br +0 -0
  218. package/dist/web/public/sw.js.gz +0 -0
  219. package/dist/web/public/upload.html +155 -0
  220. package/dist/web/public/upload.html.br +0 -0
  221. package/dist/web/public/upload.html.gz +0 -0
  222. package/dist/web/public/vendor/xterm-addon-fit.min.js +1 -0
  223. package/dist/web/public/vendor/xterm-addon-fit.min.js.br +0 -0
  224. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  225. package/dist/web/public/vendor/xterm-addon-unicode11.min.js +1 -0
  226. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.br +0 -0
  227. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  228. package/dist/web/public/vendor/xterm-addon-webgl.min.js +2 -0
  229. package/dist/web/public/vendor/xterm-addon-webgl.min.js.br +0 -0
  230. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  231. package/dist/web/public/vendor/xterm.css +209 -0
  232. package/dist/web/public/vendor/xterm.css.br +0 -0
  233. package/dist/web/public/vendor/xterm.css.gz +0 -0
  234. package/dist/web/public/vendor/xterm.min.js +9 -0
  235. package/dist/web/public/vendor/xterm.min.js.br +0 -0
  236. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  237. package/dist/web/schemas.d.ts +479 -0
  238. package/dist/web/schemas.d.ts.map +1 -0
  239. package/dist/web/schemas.js +448 -0
  240. package/dist/web/schemas.js.map +1 -0
  241. package/dist/web/server.d.ts +207 -0
  242. package/dist/web/server.d.ts.map +1 -0
  243. package/dist/web/server.js +5784 -0
  244. package/dist/web/server.js.map +1 -0
  245. package/package.json +110 -0
  246. 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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"}