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 @@
1
+ {"version":3,"file":"state-store.js","sourceRoot":"","sources":["../src/state-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * @fileoverview Subagent Watcher - Real-time monitoring of Claude Code background agents
3
+ *
4
+ * Watches ~/.claude/projects/{project}/{session}/subagents/agent-{id}.jsonl files
5
+ * and emits structured events for tool calls, progress, and messages.
6
+ */
7
+ import { EventEmitter } from 'node:events';
8
+ export interface SubagentInfo {
9
+ agentId: string;
10
+ sessionId: string;
11
+ projectHash: string;
12
+ filePath: string;
13
+ startedAt: string;
14
+ lastActivityAt: number;
15
+ status: 'active' | 'idle' | 'completed';
16
+ toolCallCount: number;
17
+ entryCount: number;
18
+ fileSize: number;
19
+ description?: string;
20
+ model?: string;
21
+ modelShort?: 'haiku' | 'sonnet' | 'opus';
22
+ totalInputTokens?: number;
23
+ totalOutputTokens?: number;
24
+ pid?: number;
25
+ }
26
+ export interface SubagentToolCall {
27
+ agentId: string;
28
+ sessionId: string;
29
+ timestamp: string;
30
+ tool: string;
31
+ input: Record<string, unknown>;
32
+ toolUseId?: string;
33
+ fullInput: Record<string, unknown>;
34
+ }
35
+ export interface SubagentProgress {
36
+ agentId: string;
37
+ sessionId: string;
38
+ timestamp: string;
39
+ progressType: 'query_update' | 'search_results_received' | string;
40
+ query?: string;
41
+ resultCount?: number;
42
+ hookEvent?: string;
43
+ hookName?: string;
44
+ }
45
+ export interface SubagentMessage {
46
+ agentId: string;
47
+ sessionId: string;
48
+ timestamp: string;
49
+ role: 'user' | 'assistant';
50
+ text: string;
51
+ }
52
+ export interface SubagentTranscriptEntry {
53
+ type: 'user' | 'assistant' | 'progress';
54
+ timestamp: string;
55
+ agentId: string;
56
+ sessionId: string;
57
+ message?: {
58
+ role: string;
59
+ model?: string;
60
+ usage?: {
61
+ input_tokens?: number;
62
+ output_tokens?: number;
63
+ };
64
+ content: string | Array<{
65
+ type: 'text' | 'tool_use' | 'tool_result';
66
+ text?: string;
67
+ name?: string;
68
+ id?: string;
69
+ tool_use_id?: string;
70
+ input?: Record<string, unknown>;
71
+ content?: string | Array<{
72
+ type: string;
73
+ text?: string;
74
+ }>;
75
+ is_error?: boolean;
76
+ }>;
77
+ };
78
+ data?: {
79
+ type: string;
80
+ query?: string;
81
+ resultCount?: number;
82
+ hookEvent?: string;
83
+ hookName?: string;
84
+ tool_name?: string;
85
+ };
86
+ }
87
+ export interface SubagentToolResult {
88
+ agentId: string;
89
+ sessionId: string;
90
+ timestamp: string;
91
+ toolUseId: string;
92
+ tool?: string;
93
+ preview: string;
94
+ contentLength: number;
95
+ isError: boolean;
96
+ }
97
+ export interface SubagentEvents {
98
+ 'subagent:discovered': (info: SubagentInfo) => void;
99
+ 'subagent:updated': (info: SubagentInfo) => void;
100
+ 'subagent:tool_call': (data: SubagentToolCall) => void;
101
+ 'subagent:tool_result': (data: SubagentToolResult) => void;
102
+ 'subagent:progress': (data: SubagentProgress) => void;
103
+ 'subagent:message': (data: SubagentMessage) => void;
104
+ 'subagent:completed': (info: SubagentInfo) => void;
105
+ 'subagent:error': (error: Error, agentId?: string) => void;
106
+ }
107
+ export declare class SubagentWatcher extends EventEmitter {
108
+ private filePositions;
109
+ private fileWatchers;
110
+ private dirWatchers;
111
+ private agentInfo;
112
+ private idleTimers;
113
+ private pollInterval;
114
+ private livenessInterval;
115
+ private _isRunning;
116
+ private knownSubagentDirs;
117
+ private pendingToolCalls;
118
+ private _isCheckingLiveness;
119
+ private _pollCount;
120
+ private parentDescriptionCache;
121
+ private dirWatcherErrorHandlers;
122
+ private fileWatcherErrorHandlers;
123
+ constructor();
124
+ /**
125
+ * Check if a description matches internal Claude Code agent patterns.
126
+ * These are not real user-initiated subagents and should be filtered out.
127
+ * Also filters out very short descriptions that are likely internal or malformed.
128
+ */
129
+ private isInternalAgent;
130
+ /**
131
+ * Extract short model identifier from full model name
132
+ */
133
+ private extractModelShort;
134
+ /**
135
+ * Start watching for subagent activity
136
+ */
137
+ start(): void;
138
+ /**
139
+ * Start periodic liveness checker
140
+ * Detects when subagent processes have exited but status is still active/idle.
141
+ *
142
+ * Uses a 3-tier check to minimize cost:
143
+ * 1. File mtime (stat ~0.3ms/agent) — if transcript modified recently, agent is alive
144
+ * 2. Cached PID (/proc/{pid}/stat ~0.1ms) — if stored PID still exists, alive
145
+ * 3. Full pgrep scan (expensive, ~500ms) — only for agents that fail tiers 1+2
146
+ */
147
+ private startLivenessChecker;
148
+ /**
149
+ * Check if a PID is still alive via /proc/{pid}/stat (single file read, ~0.1ms).
150
+ */
151
+ private checkPidAlive;
152
+ /**
153
+ * Run pgrep once and read /proc info for all Claude PIDs in parallel.
154
+ * Returns a Map of pid -> { environ, cmdline } for subagent processes only.
155
+ * Excludes main Codeman-managed Claude processes (CODEMAN_MUX=1).
156
+ * Also updates cached PIDs on tracked agents when a match is found.
157
+ */
158
+ private getClaudePids;
159
+ /**
160
+ * Check if a subagent is alive using the pre-fetched pid map (no process spawning).
161
+ */
162
+ private checkSubagentAliveFromPidMap;
163
+ /**
164
+ * Check if a subagent's transcript file was recently modified.
165
+ * Primary liveness signal — transcript files are written to continuously while agent is active.
166
+ */
167
+ private checkSubagentFileAlive;
168
+ /**
169
+ * Check if the watcher is currently running
170
+ */
171
+ isRunning(): boolean;
172
+ /**
173
+ * Stop watching and clean up all state
174
+ */
175
+ stop(): void;
176
+ /**
177
+ * Clean up stale agents to prevent unbounded memory growth.
178
+ * - Completed agents: removed after STALE_COMPLETED_MAX_AGE_MS (1 hour)
179
+ * - Idle agents: removed after STALE_IDLE_MAX_AGE_MS (4 hours)
180
+ * Also enforces MAX_TRACKED_AGENTS limit with LRU eviction.
181
+ * Also cleans up orphaned pending tool calls older than PENDING_TOOL_CALL_TTL_MS.
182
+ */
183
+ private cleanupStaleAgents;
184
+ /**
185
+ * Remove an agent and all its associated resources.
186
+ */
187
+ private removeAgent;
188
+ /**
189
+ * Manually trigger cleanup of stale agents.
190
+ * Returns number of agents removed.
191
+ */
192
+ cleanupNow(): number;
193
+ /**
194
+ * Clear all tracked agents (for manual reset).
195
+ * Returns number of agents cleared.
196
+ */
197
+ clearAll(): number;
198
+ /**
199
+ * Get all known subagents
200
+ */
201
+ getSubagents(): SubagentInfo[];
202
+ /**
203
+ * Get subagents for a specific Codeman session
204
+ * Maps Codeman working directory to Claude's project hash
205
+ */
206
+ getSubagentsForSession(workingDir: string): SubagentInfo[];
207
+ /**
208
+ * Get a specific subagent's info
209
+ */
210
+ getSubagent(agentId: string): SubagentInfo | undefined;
211
+ /**
212
+ * Update a subagent's description.
213
+ * Used to set the short description from TaskTracker when available.
214
+ */
215
+ updateDescription(agentId: string, description: string): boolean;
216
+ /**
217
+ * Find sessions whose working directory matches a project hash.
218
+ * Returns the project hash for a given working directory.
219
+ */
220
+ getProjectHashForDir(workingDir: string): string;
221
+ /**
222
+ * Get internal statistics for memory monitoring.
223
+ * Returns counts of internal Maps and resources.
224
+ */
225
+ getStats(): {
226
+ agentCount: number;
227
+ fileWatcherCount: number;
228
+ dirWatcherCount: number;
229
+ idleTimerCount: number;
230
+ pendingToolCallsCount: number;
231
+ knownDirsCount: number;
232
+ filePositionsCount: number;
233
+ };
234
+ /**
235
+ * Get recent subagents (modified within specified minutes)
236
+ */
237
+ getRecentSubagents(minutes?: number): SubagentInfo[];
238
+ /**
239
+ * Kill a subagent by its agent ID
240
+ * Uses cached PID first, falls back to findSubagentProcess if needed.
241
+ */
242
+ killSubagent(agentId: string): Promise<boolean>;
243
+ /**
244
+ * Kill all subagents for a specific Codeman session.
245
+ * IMPORTANT: Must scope to sessionId to avoid cross-session kills.
246
+ * All sessions in the same workingDir share a projectHash, so filtering
247
+ * by workingDir alone would kill subagents belonging to OTHER sessions.
248
+ */
249
+ killSubagentsForSession(workingDir: string, sessionId?: string): Promise<void>;
250
+ /**
251
+ * Find the process ID of a Claude subagent by its session ID.
252
+ * Searches /proc for claude processes with matching session ID in environment.
253
+ * Skips main Codeman-managed Claude processes (identified by CODEMAN_MUX=1).
254
+ * Caches the discovered PID on the matching agent info for future fast checks.
255
+ */
256
+ private findSubagentProcess;
257
+ /**
258
+ * Store a discovered PID on the agent info with matching sessionId.
259
+ */
260
+ private cacheAgentPid;
261
+ /**
262
+ * Get transcript for a subagent (optionally limited to last N entries)
263
+ */
264
+ getTranscript(agentId: string, limit?: number): Promise<SubagentTranscriptEntry[]>;
265
+ /**
266
+ * Format transcript entries for display
267
+ */
268
+ formatTranscript(entries: SubagentTranscriptEntry[]): string[];
269
+ /**
270
+ * Convert working directory to Claude's project hash format
271
+ */
272
+ private getProjectHash;
273
+ /**
274
+ * Extract a smart, concise title from a task prompt
275
+ * Aims for ~40-50 chars that convey what the agent is doing
276
+ */
277
+ private extractSmartTitle;
278
+ /**
279
+ * Extract the short description from the parent session's transcript.
280
+ * This is the most reliable method because it reads the actual Task tool result
281
+ * that spawned this agent, which contains the description directly.
282
+ *
283
+ * The parent transcript contains a 'user' entry with toolUseResult that has:
284
+ * - agentId: the spawned agent's ID
285
+ * - description: the Task description parameter
286
+ *
287
+ * We look for this format:
288
+ * { "type": "user", "toolUseResult": { "agentId": "xxx", "description": "..." } }
289
+ */
290
+ private extractDescriptionFromParentTranscript;
291
+ /**
292
+ * Extract description from agent file by finding first user message
293
+ */
294
+ private extractDescriptionFromFile;
295
+ /**
296
+ * Scan for all subagent directories (async to avoid blocking event loop)
297
+ */
298
+ private scanForSubagents;
299
+ /**
300
+ * Watch a subagent directory for new/updated files
301
+ */
302
+ private watchSubagentDir;
303
+ /**
304
+ * Watch a specific agent transcript file
305
+ * @param filePath Path to the agent transcript file
306
+ * @param projectHash Claude project hash
307
+ * @param sessionId Claude session ID
308
+ * @param isInitialScan If true, skip files older than STARTUP_MAX_FILE_AGE_MS
309
+ */
310
+ private watchAgentFile;
311
+ /**
312
+ * Tail a file from a specific position
313
+ */
314
+ private tailFile;
315
+ /**
316
+ * Process a transcript entry and emit appropriate events
317
+ */
318
+ private processEntry;
319
+ /**
320
+ * Extract text content from tool_result content field
321
+ */
322
+ private extractToolResultContent;
323
+ /**
324
+ * Get truncated input for display (keeps primary param, truncates large content)
325
+ */
326
+ private getTruncatedInput;
327
+ /**
328
+ * Reset idle timer for an agent
329
+ */
330
+ private resetIdleTimer;
331
+ /**
332
+ * Format a tool call for display
333
+ */
334
+ private formatToolCall;
335
+ /**
336
+ * Format a progress event for display
337
+ */
338
+ private formatProgress;
339
+ /**
340
+ * Format timestamp for display
341
+ */
342
+ private formatTime;
343
+ }
344
+ export declare const subagentWatcher: SubagentWatcher;
345
+ //# sourceMappingURL=subagent-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-watcher.d.ts","sourceRoot":"","sources":["../src/subagent-watcher.ts"],"names":[],"mappings":"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"}