aicodeman 0.3.0 → 0.3.2

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 (185) hide show
  1. package/README.md +27 -4
  2. package/dist/config/server-timing.d.ts +8 -2
  3. package/dist/config/server-timing.d.ts.map +1 -1
  4. package/dist/config/server-timing.js +8 -2
  5. package/dist/config/server-timing.js.map +1 -1
  6. package/dist/hooks-config.d.ts +21 -6
  7. package/dist/hooks-config.d.ts.map +1 -1
  8. package/dist/hooks-config.js +21 -6
  9. package/dist/hooks-config.js.map +1 -1
  10. package/dist/prompts/planner.d.ts +7 -8
  11. package/dist/prompts/planner.d.ts.map +1 -1
  12. package/dist/prompts/planner.js +7 -8
  13. package/dist/prompts/planner.js.map +1 -1
  14. package/dist/prompts/research-agent.d.ts +6 -4
  15. package/dist/prompts/research-agent.d.ts.map +1 -1
  16. package/dist/prompts/research-agent.js +6 -4
  17. package/dist/prompts/research-agent.js.map +1 -1
  18. package/dist/ralph-loop.d.ts +14 -4
  19. package/dist/ralph-loop.d.ts.map +1 -1
  20. package/dist/ralph-loop.js +14 -4
  21. package/dist/ralph-loop.js.map +1 -1
  22. package/dist/ralph-tracker.d.ts +28 -11
  23. package/dist/ralph-tracker.d.ts.map +1 -1
  24. package/dist/ralph-tracker.js +43 -13
  25. package/dist/ralph-tracker.js.map +1 -1
  26. package/dist/respawn-controller.d.ts +23 -14
  27. package/dist/respawn-controller.d.ts.map +1 -1
  28. package/dist/respawn-controller.js +23 -14
  29. package/dist/respawn-controller.js.map +1 -1
  30. package/dist/session-manager.d.ts +17 -5
  31. package/dist/session-manager.d.ts.map +1 -1
  32. package/dist/session-manager.js +17 -5
  33. package/dist/session-manager.js.map +1 -1
  34. package/dist/session.d.ts +21 -8
  35. package/dist/session.d.ts.map +1 -1
  36. package/dist/session.js +21 -8
  37. package/dist/session.js.map +1 -1
  38. package/dist/state-store.d.ts +17 -7
  39. package/dist/state-store.d.ts.map +1 -1
  40. package/dist/state-store.js +17 -7
  41. package/dist/state-store.js.map +1 -1
  42. package/dist/subagent-watcher.d.ts +23 -3
  43. package/dist/subagent-watcher.d.ts.map +1 -1
  44. package/dist/subagent-watcher.js +23 -3
  45. package/dist/subagent-watcher.js.map +1 -1
  46. package/dist/tunnel-manager.d.ts.map +1 -1
  47. package/dist/tunnel-manager.js +1 -2
  48. package/dist/tunnel-manager.js.map +1 -1
  49. package/dist/types/api.d.ts +16 -1
  50. package/dist/types/api.d.ts.map +1 -1
  51. package/dist/types/api.js +16 -1
  52. package/dist/types/api.js.map +1 -1
  53. package/dist/types/app-state.d.ts +18 -1
  54. package/dist/types/app-state.d.ts.map +1 -1
  55. package/dist/types/app-state.js +18 -1
  56. package/dist/types/app-state.js.map +1 -1
  57. package/dist/types/common.d.ts +10 -1
  58. package/dist/types/common.d.ts.map +1 -1
  59. package/dist/types/common.js +10 -1
  60. package/dist/types/common.js.map +1 -1
  61. package/dist/types/index.d.ts +50 -2
  62. package/dist/types/index.d.ts.map +1 -1
  63. package/dist/types/index.js +50 -2
  64. package/dist/types/index.js.map +1 -1
  65. package/dist/types/lifecycle.d.ts +12 -1
  66. package/dist/types/lifecycle.d.ts.map +1 -1
  67. package/dist/types/lifecycle.js +12 -1
  68. package/dist/types/lifecycle.js.map +1 -1
  69. package/dist/types/plan.d.ts +14 -1
  70. package/dist/types/plan.d.ts.map +1 -1
  71. package/dist/types/plan.js +14 -1
  72. package/dist/types/plan.js.map +1 -1
  73. package/dist/types/push.d.ts +14 -1
  74. package/dist/types/push.d.ts.map +1 -1
  75. package/dist/types/push.js +14 -1
  76. package/dist/types/push.js.map +1 -1
  77. package/dist/types/ralph.d.ts +22 -1
  78. package/dist/types/ralph.d.ts.map +1 -1
  79. package/dist/types/ralph.js +22 -1
  80. package/dist/types/ralph.js.map +1 -1
  81. package/dist/types/respawn.d.ts +22 -1
  82. package/dist/types/respawn.d.ts.map +1 -1
  83. package/dist/types/respawn.js +22 -1
  84. package/dist/types/respawn.js.map +1 -1
  85. package/dist/types/run-summary.d.ts +16 -1
  86. package/dist/types/run-summary.d.ts.map +1 -1
  87. package/dist/types/run-summary.js +16 -1
  88. package/dist/types/run-summary.js.map +1 -1
  89. package/dist/types/session.d.ts +23 -1
  90. package/dist/types/session.d.ts.map +1 -1
  91. package/dist/types/session.js +23 -1
  92. package/dist/types/session.js.map +1 -1
  93. package/dist/types/task.d.ts +15 -1
  94. package/dist/types/task.d.ts.map +1 -1
  95. package/dist/types/task.js +15 -1
  96. package/dist/types/task.js.map +1 -1
  97. package/dist/types/teams.d.ts +19 -1
  98. package/dist/types/teams.d.ts.map +1 -1
  99. package/dist/types/teams.js +19 -1
  100. package/dist/types/teams.js.map +1 -1
  101. package/dist/types/tools.d.ts +16 -1
  102. package/dist/types/tools.d.ts.map +1 -1
  103. package/dist/types/tools.js +16 -1
  104. package/dist/types/tools.js.map +1 -1
  105. package/dist/types.d.ts +11 -0
  106. package/dist/types.d.ts.map +1 -1
  107. package/dist/types.js +11 -0
  108. package/dist/types.js.map +1 -1
  109. package/dist/web/public/api-client.js +12 -0
  110. package/dist/web/public/api-client.js.br +0 -0
  111. package/dist/web/public/api-client.js.gz +0 -0
  112. package/dist/web/public/app.js +103 -103
  113. package/dist/web/public/app.js.br +0 -0
  114. package/dist/web/public/app.js.gz +0 -0
  115. package/dist/web/public/constants.js +133 -6
  116. package/dist/web/public/constants.js.br +0 -0
  117. package/dist/web/public/constants.js.gz +0 -0
  118. package/dist/web/public/index.html +14 -10
  119. package/dist/web/public/index.html.br +0 -0
  120. package/dist/web/public/index.html.gz +0 -0
  121. package/dist/web/public/keyboard-accessory.js +27 -4
  122. package/dist/web/public/keyboard-accessory.js.br +0 -0
  123. package/dist/web/public/keyboard-accessory.js.gz +0 -0
  124. package/dist/web/public/mobile-handlers.js +30 -6
  125. package/dist/web/public/mobile-handlers.js.br +0 -0
  126. package/dist/web/public/mobile-handlers.js.gz +0 -0
  127. package/dist/web/public/mobile.css.gz +0 -0
  128. package/dist/web/public/notification-manager.js +27 -0
  129. package/dist/web/public/notification-manager.js.br +0 -0
  130. package/dist/web/public/notification-manager.js.gz +0 -0
  131. package/dist/web/public/ralph-wizard.js +30 -6
  132. package/dist/web/public/ralph-wizard.js.br +0 -0
  133. package/dist/web/public/ralph-wizard.js.gz +0 -0
  134. package/dist/web/public/styles.css +1 -1
  135. package/dist/web/public/styles.css.br +0 -0
  136. package/dist/web/public/styles.css.gz +0 -0
  137. package/dist/web/public/subagent-windows.js +46 -12
  138. package/dist/web/public/subagent-windows.js.br +0 -0
  139. package/dist/web/public/subagent-windows.js.gz +0 -0
  140. package/dist/web/public/sw.js +15 -0
  141. package/dist/web/public/sw.js.br +0 -0
  142. package/dist/web/public/sw.js.gz +0 -0
  143. package/dist/web/public/upload.html.gz +0 -0
  144. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  145. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  146. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  147. package/dist/web/public/vendor/xterm-zerolag-input.js +4 -0
  148. package/dist/web/public/vendor/xterm-zerolag-input.js.br +0 -0
  149. package/dist/web/public/vendor/xterm-zerolag-input.js.gz +0 -0
  150. package/dist/web/public/vendor/xterm.css.gz +0 -0
  151. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  152. package/dist/web/public/voice-input.js +26 -2
  153. package/dist/web/public/voice-input.js.br +0 -0
  154. package/dist/web/public/voice-input.js.gz +0 -0
  155. package/dist/web/route-helpers.d.ts.map +1 -1
  156. package/dist/web/route-helpers.js +3 -2
  157. package/dist/web/route-helpers.js.map +1 -1
  158. package/dist/web/routes/case-routes.d.ts.map +1 -1
  159. package/dist/web/routes/case-routes.js +11 -4
  160. package/dist/web/routes/case-routes.js.map +1 -1
  161. package/dist/web/routes/plan-routes.d.ts.map +1 -1
  162. package/dist/web/routes/plan-routes.js +26 -22
  163. package/dist/web/routes/plan-routes.js.map +1 -1
  164. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  165. package/dist/web/routes/ralph-routes.js +16 -6
  166. package/dist/web/routes/ralph-routes.js.map +1 -1
  167. package/dist/web/routes/respawn-routes.d.ts.map +1 -1
  168. package/dist/web/routes/respawn-routes.js +25 -15
  169. package/dist/web/routes/respawn-routes.js.map +1 -1
  170. package/dist/web/routes/session-routes.d.ts.map +1 -1
  171. package/dist/web/routes/session-routes.js +40 -18
  172. package/dist/web/routes/session-routes.js.map +1 -1
  173. package/dist/web/routes/system-routes.d.ts.map +1 -1
  174. package/dist/web/routes/system-routes.js +26 -5
  175. package/dist/web/routes/system-routes.js.map +1 -1
  176. package/dist/web/server.d.ts +25 -6
  177. package/dist/web/server.d.ts.map +1 -1
  178. package/dist/web/server.js +237 -156
  179. package/dist/web/server.js.map +1 -1
  180. package/dist/web/sse-events.d.ts +361 -0
  181. package/dist/web/sse-events.d.ts.map +1 -0
  182. package/dist/web/sse-events.js +396 -0
  183. package/dist/web/sse-events.js.map +1 -0
  184. package/package.json +4 -1
  185. package/scripts/postinstall.js +58 -0
package/README.md CHANGED
@@ -68,11 +68,23 @@ Codeman requires tmux, so Windows users need [WSL](https://learn.microsoft.com/e
68
68
 
69
69
  ## Mobile-Optimized Web UI
70
70
 
71
- The most responsive AI coding agent experience on any phone. Full xterm.js terminal with local echo, swipe navigation, and a touch-optimized interface designed for real remote work.
71
+ The most responsive AI coding agent experience on any phone. Full xterm.js terminal with local echo, swipe navigation, and a touch-optimized interface designed for real remote work — not a desktop UI crammed onto a small screen.
72
+
73
+ <table>
74
+ <tr>
75
+ <td align="center" width="33%"><img src="docs/screenshots/mobile-landing-qr.png" alt="Mobile — landing page with QR auth" width="260"></td>
76
+ <td align="center" width="33%"><img src="docs/screenshots/mobile-session-idle.png" alt="Mobile — idle session with keyboard accessory" width="260"></td>
77
+ <td align="center" width="33%"><img src="docs/screenshots/mobile-session-active.png" alt="Mobile — active agent session" width="260"></td>
78
+ </tr>
79
+ <tr>
80
+ <td align="center"><em>Landing page with QR auth</em></td>
81
+ <td align="center"><em>Keyboard accessory bar</em></td>
82
+ <td align="center"><em>Agent working in real-time</em></td>
83
+ </tr>
84
+ </table>
72
85
 
73
86
  <table>
74
87
  <tr>
75
- <td rowspan="8" width="320"><img src="docs/screenshots/mobile-keyboard-open.png" alt="Mobile — keyboard open" width="300"></td>
76
88
  <th>Terminal Apps</th>
77
89
  <th>Codeman Mobile</th>
78
90
  </tr>
@@ -82,11 +94,22 @@ The most responsive AI coding agent experience on any phone. Full xterm.js termi
82
94
  <tr><td>No notifications</td><td>Push alerts for approvals and idle</td></tr>
83
95
  <tr><td>Manual reconnect</td><td>tmux persistence</td></tr>
84
96
  <tr><td>No agent visibility</td><td>Background agents in real-time</td></tr>
85
- <tr><td>Copy-paste slash commands</td><td>One-tap <code>/init</code></tr>
97
+ <tr><td>Copy-paste slash commands</td><td>One-tap <code>/init</code>, <code>/clear</code>, <code>/compact</code></td></tr>
98
+ <tr><td>Password typing on phone</td><td><b>QR code scan — instant auth</b></td></tr>
86
99
  </table>
87
100
 
88
- - **Swipe navigation** left/right on the terminal to switch sessions (80px threshold, 300ms)
101
+ ### Secure QR Code Authentication
102
+
103
+ Typing passwords on a phone keyboard is miserable. Codeman replaces it with **cryptographically secure single-use QR tokens** — scan the code displayed on your desktop and your phone is authenticated instantly.
104
+
105
+ Each QR encodes a URL containing a 6-character short code that maps to a 256-bit secret (`crypto.randomBytes(32)`) on the server. Tokens auto-rotate every **60 seconds**, are **atomically consumed on first scan** (replays always fail), and use **hash-based `Map.get()` lookup** that leaks nothing through response timing. The short code is an opaque pointer — the real secret never appears in browser history, `Referer` headers, or Cloudflare edge logs.
106
+
107
+ The security design addresses all 6 critical QR auth flaws identified in ["Demystifying the (In)Security of QR Code-based Login"](https://www.usenix.org/conference/usenixsecurity25/presentation/zhang-xin) (USENIX Security 2025, which found 47 of the top-100 websites vulnerable): single-use enforcement, short TTL, cryptographic randomness, server-side generation, real-time desktop notification on scan (QRLjacking detection), and IP + User-Agent session binding with manual revocation. Dual-layer rate limiting (per-IP + global) makes brute force infeasible across 62^6 = 56.8 billion possible codes. Full security analysis: [`docs/qr-auth-plan.md`](docs/qr-auth-plan.md)
108
+
109
+ ### Touch-Optimized Interface
110
+
89
111
  - **Keyboard accessory bar** — `/init`, `/clear`, `/compact` quick-action buttons above the virtual keyboard. Destructive commands (`/clear`, `/compact`) require a double-press to confirm — first tap arms the button, second tap executes — so you never fire one by accident on a bumpy commute
112
+ - **Swipe navigation** — left/right on the terminal to switch sessions (80px threshold, 300ms)
90
113
  - **Smart keyboard handling** — toolbar and terminal shift up when keyboard opens (uses `visualViewport` API with 100px threshold for iOS address bar drift)
91
114
  - **Safe area support** — respects iPhone notch and home indicator via `env(safe-area-inset-*)`
92
115
  - **44px touch targets** — all buttons meet iOS Human Interface Guidelines minimum sizes
@@ -13,8 +13,14 @@ export declare const TERMINAL_BATCH_INTERVAL = 16;
13
13
  export declare const BATCH_FLUSH_THRESHOLD: number;
14
14
  /** Task event batching interval (ms) */
15
15
  export declare const TASK_UPDATE_BATCH_INTERVAL = 100;
16
- /** SSE client health check interval (ms) */
17
- export declare const SSE_HEALTH_CHECK_INTERVAL: number;
16
+ /** SSE heartbeat interval sends padded keepalive to flush proxy buffers (ms).
17
+ * 15s is fast enough to keep Cloudflare tunnel buffers flushed while avoiding
18
+ * excessive bandwidth. Also serves as dead-client detection. */
19
+ export declare const SSE_HEARTBEAT_INTERVAL: number;
20
+ /** SSE padding size (bytes). Cloudflare quick tunnels buffer small SSE events;
21
+ * appending ~8KB of SSE comment padding forces the proxy to flush immediately.
22
+ * SSE comments (lines starting with ':') are silently ignored by EventSource. */
23
+ export declare const SSE_PADDING_SIZE: number;
18
24
  /** State update debounce — batches expensive toDetailedState() calls (ms) */
19
25
  export declare const STATE_UPDATE_DEBOUNCE_INTERVAL = 500;
20
26
  /** Sessions list cache TTL — avoids re-serializing on every SSE init (ms) */
@@ -1 +1 @@
1
- {"version":3,"file":"server-timing.d.ts","sourceRoot":"","sources":["../../src/config/server-timing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;4EAC4E;AAC5E,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAE/C,wCAAwC;AACxC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,QAAY,CAAC;AAMnD,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAM5C,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,QAAgB,CAAC;AAExD,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAMvC,yCAAyC;AACzC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAMjD,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,6EAA6E;AAC7E,eAAO,MAAM,cAAc,QAAS,CAAC"}
1
+ {"version":3,"file":"server-timing.d.ts","sourceRoot":"","sources":["../../src/config/server-timing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;4EAC4E;AAC5E,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAE/C,wCAAwC;AACxC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;gEAEgE;AAChE,eAAO,MAAM,sBAAsB,QAAY,CAAC;AAEhD;;iFAEiF;AACjF,eAAO,MAAM,gBAAgB,QAAW,CAAC;AAMzC,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAM5C,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,QAAgB,CAAC;AAExD,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAMvC,yCAAyC;AACzC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAMjD,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,6EAA6E;AAC7E,eAAO,MAAM,cAAc,QAAS,CAAC"}
@@ -16,8 +16,14 @@ export const TERMINAL_BATCH_INTERVAL = 16;
16
16
  export const BATCH_FLUSH_THRESHOLD = 32 * 1024;
17
17
  /** Task event batching interval (ms) */
18
18
  export const TASK_UPDATE_BATCH_INTERVAL = 100;
19
- /** SSE client health check interval (ms) */
20
- export const SSE_HEALTH_CHECK_INTERVAL = 30 * 1000;
19
+ /** SSE heartbeat interval sends padded keepalive to flush proxy buffers (ms).
20
+ * 15s is fast enough to keep Cloudflare tunnel buffers flushed while avoiding
21
+ * excessive bandwidth. Also serves as dead-client detection. */
22
+ export const SSE_HEARTBEAT_INTERVAL = 15 * 1000;
23
+ /** SSE padding size (bytes). Cloudflare quick tunnels buffer small SSE events;
24
+ * appending ~8KB of SSE comment padding forces the proxy to flush immediately.
25
+ * SSE comments (lines starting with ':') are silently ignored by EventSource. */
26
+ export const SSE_PADDING_SIZE = 8 * 1024;
21
27
  // ============================================================================
22
28
  // State Persistence
23
29
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"server-timing.js","sourceRoot":"","sources":["../../src/config/server-timing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;4EAC4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,yCAAyC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"server-timing.js","sourceRoot":"","sources":["../../src/config/server-timing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;4EAC4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;gEAEgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;iFAEiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEzC,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,yCAAyC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC"}
@@ -1,11 +1,26 @@
1
1
  /**
2
- * @fileoverview Claude Code hooks configuration generator
2
+ * @fileoverview Claude Code hooks configuration generator.
3
3
  *
4
- * Generates .claude/settings.local.json with hook definitions that POST
5
- * to Codeman's /api/hook-event endpoint when Claude Code fires
6
- * notification or stop hooks. Uses $CODEMAN_API_URL and
7
- * $CODEMAN_SESSION_ID env vars (set on every managed session) so the
8
- * config is static per case directory.
4
+ * Generates `.claude/settings.local.json` with hook definitions that POST
5
+ * to Codeman's `/api/hook-event` endpoint when Claude Code fires hooks.
6
+ * Uses `$CODEMAN_API_URL` and `$CODEMAN_SESSION_ID` env vars (set on every
7
+ * managed session) so the config is static per case directory.
8
+ *
9
+ * Key exports:
10
+ * - `generateHooksConfig()` — returns hooks object for settings.local.json
11
+ * - `writeHooksConfig(casePath)` — writes hooks + env config to disk
12
+ * - `updateCaseEnvVars(casePath, envVars)` — merges env vars into settings
13
+ *
14
+ * Hook events generated: `idle_prompt`, `permission_prompt`, `elicitation_dialog`,
15
+ * `stop`, `teammate_idle`, `task_completed`
16
+ *
17
+ * Hook categories: `Notification` (3 matchers), `Stop` (1), `TeammateIdle` (1),
18
+ * `TaskCompleted` (1)
19
+ *
20
+ * @dependencies types (HookEventType), config/auth-config (HOOK_TIMEOUT_MS)
21
+ * @consumedby web/server (session creation), session-cli-builder (env setup)
22
+ *
23
+ * @module hooks-config
9
24
  */
10
25
  /**
11
26
  * Generates the hooks section for .claude/settings.local.json
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CA4C1E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxG;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE"}
1
+ {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CA4C1E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxG;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE"}
@@ -1,11 +1,26 @@
1
1
  /**
2
- * @fileoverview Claude Code hooks configuration generator
2
+ * @fileoverview Claude Code hooks configuration generator.
3
3
  *
4
- * Generates .claude/settings.local.json with hook definitions that POST
5
- * to Codeman's /api/hook-event endpoint when Claude Code fires
6
- * notification or stop hooks. Uses $CODEMAN_API_URL and
7
- * $CODEMAN_SESSION_ID env vars (set on every managed session) so the
8
- * config is static per case directory.
4
+ * Generates `.claude/settings.local.json` with hook definitions that POST
5
+ * to Codeman's `/api/hook-event` endpoint when Claude Code fires hooks.
6
+ * Uses `$CODEMAN_API_URL` and `$CODEMAN_SESSION_ID` env vars (set on every
7
+ * managed session) so the config is static per case directory.
8
+ *
9
+ * Key exports:
10
+ * - `generateHooksConfig()` — returns hooks object for settings.local.json
11
+ * - `writeHooksConfig(casePath)` — writes hooks + env config to disk
12
+ * - `updateCaseEnvVars(casePath, envVars)` — merges env vars into settings
13
+ *
14
+ * Hook events generated: `idle_prompt`, `permission_prompt`, `elicitation_dialog`,
15
+ * `stop`, `teammate_idle`, `task_completed`
16
+ *
17
+ * Hook categories: `Notification` (3 matchers), `Stop` (1), `TeammateIdle` (1),
18
+ * `TaskCompleted` (1)
19
+ *
20
+ * @dependencies types (HookEventType), config/auth-config (HOOK_TIMEOUT_MS)
21
+ * @consumedby web/server (session creation), session-cli-builder (env setup)
22
+ *
23
+ * @module hooks-config
9
24
  */
10
25
  import { existsSync } from 'node:fs';
11
26
  import { readFile, writeFile, mkdir } from 'node:fs/promises';
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAE,EAAE,CACvC,6CAA6C;QAC7C,qBAAqB,KAAK,sEAAsE;QAChG,oDAAoD;QACpD,sCAAsC;QACtC,YAAY;QACZ,qBAAqB,CAAC;IAExB,OAAO;QACL,KAAK,EAAE;YACL,YAAY,EAAE;gBACZ;oBACE,OAAO,EAAE,aAAa;oBACtB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBACxF;gBACD;oBACE,OAAO,EAAE,mBAAmB;oBAC5B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBAC9F;gBACD;oBACE,OAAO,EAAE,oBAAoB;oBAC7B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBAC/F;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBACjF;aACF;YACD,YAAY,EAAE;gBACZ;oBACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBAC1F;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;iBAC3F;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAA+B;IACvF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAI,QAAQ,CAAC,GAA8B,IAAI,EAAE,CAAC;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;IAE1B,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;QACrD,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAE/C,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -1,14 +1,13 @@
1
1
  /**
2
- * Planner Prompt - Single agent for TDD plan generation
3
- *
4
- * Combines what was previously 5 separate agents:
5
- * - Requirements Analyst (redundant)
6
- * - Architecture Planner (redundant)
7
- * - Testing Specialist (kept - TDD focus)
8
- * - Risk Analyst (redundant)
9
- * - Verification Expert (kept - structure)
2
+ * @fileoverview Planner Prompt single TDD plan generator combining
3
+ * requirements analysis, architecture, testing, risk, and verification
4
+ * into one agent (previously 5 separate agents).
10
5
  *
11
6
  * Placeholders: {TASK}, {RESEARCH_CONTEXT}
7
+ *
8
+ * @dependencies none (pure template)
9
+ * @consumedby prompts/index (re-export), plan-orchestrator
10
+ * @module prompts/planner
12
11
  */
13
12
  export declare const PLANNER_PROMPT = "You are a TDD Plan Generator. Create a complete implementation plan with test-first approach.\n\n## TASK DESCRIPTION\n{TASK}\n\n{RESEARCH_CONTEXT}\n\n## YOUR MISSION\nGenerate a complete TDD implementation plan with:\n1. Tests BEFORE implementations (red-green-refactor)\n2. Review tasks AFTER implementations\n3. Clear priorities (P0=blocking, P1=required, P2=polish)\n4. Dependencies between tasks\n\n## TDD CYCLE\nFor each feature:\n1. Write failing test first\n2. Implement to make test pass\n3. Review implementation\n\n## PRIORITY GUIDELINES\n- P0: Foundation, types, project setup, blocking dependencies\n- P1: Core features, main implementation, error handling\n- P2: Polish, optimization, documentation\n\n## OUTPUT FORMAT\nReturn ONLY a JSON object:\n{\n \"items\": [\n {\n \"id\": \"P0-001\",\n \"content\": \"Write failing test for user authentication endpoint\",\n \"priority\": \"P0\",\n \"tddPhase\": \"test\",\n \"verificationCriteria\": \"Test file exists, test fails with 'not implemented'\",\n \"testCommand\": \"npm test -- --grep='auth'\",\n \"dependencies\": []\n },\n {\n \"id\": \"P0-002\",\n \"content\": \"Implement user authentication handler\",\n \"priority\": \"P0\",\n \"tddPhase\": \"impl\",\n \"verificationCriteria\": \"npm test -- --grep='auth' passes\",\n \"pairedWith\": \"P0-001\",\n \"dependencies\": [\"P0-001\"]\n },\n {\n \"id\": \"P0-003\",\n \"content\": \"Review auth implementation for security\",\n \"priority\": \"P0\",\n \"tddPhase\": \"review\",\n \"verificationCriteria\": \"No security issues, follows best practices\",\n \"reviewChecklist\": [\"Input validation\", \"XSS prevention\", \"Error handling\"],\n \"pairedWith\": \"P0-002\",\n \"dependencies\": [\"P0-002\"]\n }\n ],\n \"gaps\": [\"any missing requirements noted\"],\n \"warnings\": [\"any concerns or risks identified\"]\n}\n\nCRITICAL REQUIREMENTS:\n1. Every implementation MUST have a paired test task that comes BEFORE it\n2. Every implementation MUST have a review task that comes AFTER it\n3. Use sequential IDs: P0-001, P0-002, P1-001, etc.\n4. verificationCriteria must be SPECIFIC and observable\n5. Dependencies must form a valid DAG (no cycles)\n\nGenerate 15-40 items covering the complete implementation.";
14
13
  //# sourceMappingURL=planner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/prompts/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,cAAc,+zEAqEgC,CAAC"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/prompts/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,cAAc,+zEAqEgC,CAAC"}
@@ -1,14 +1,13 @@
1
1
  /**
2
- * Planner Prompt - Single agent for TDD plan generation
3
- *
4
- * Combines what was previously 5 separate agents:
5
- * - Requirements Analyst (redundant)
6
- * - Architecture Planner (redundant)
7
- * - Testing Specialist (kept - TDD focus)
8
- * - Risk Analyst (redundant)
9
- * - Verification Expert (kept - structure)
2
+ * @fileoverview Planner Prompt single TDD plan generator combining
3
+ * requirements analysis, architecture, testing, risk, and verification
4
+ * into one agent (previously 5 separate agents).
10
5
  *
11
6
  * Placeholders: {TASK}, {RESEARCH_CONTEXT}
7
+ *
8
+ * @dependencies none (pure template)
9
+ * @consumedby prompts/index (re-export), plan-orchestrator
10
+ * @module prompts/planner
12
11
  */
13
12
  export const PLANNER_PROMPT = `You are a TDD Plan Generator. Create a complete implementation plan with test-first approach.
14
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/prompts/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAqE6B,CAAC"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/prompts/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAqE6B,CAAC"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Research Agent Prompt
3
- *
4
- * Gathers external resources, codebase patterns, and technical context
5
- * before other agents analyze the task.
2
+ * @fileoverview Research Agent Prompt — gathers codebase patterns, external
3
+ * resources, and technical context before the planner analyzes the task.
6
4
  *
7
5
  * Placeholders: {TASK}, {WORKING_DIR}
6
+ *
7
+ * @dependencies none (pure template)
8
+ * @consumedby prompts/index (re-export), plan-orchestrator
9
+ * @module prompts/research-agent
8
10
  */
9
11
  export declare const RESEARCH_AGENT_PROMPT = "You are a Research Specialist preparing context for an implementation task. Your job is to gather all relevant information that will help the development team succeed.\n\n## YOUR TASK\nResearch and gather comprehensive context for implementing this task:\n\n## TASK DESCRIPTION\n{TASK}\n\n## WORKING DIRECTORY\n{WORKING_DIR}\n\n## INSTRUCTIONS\nPerform thorough research across multiple sources:\n\n### 1. LOCAL PROJECT EXPLORATION (DO THIS FIRST)\nExplore the working directory to understand the existing project:\n\n**PRIORITY: Read CLAUDE.md First!**\nIf a CLAUDE.md file exists in the working directory, READ IT IMMEDIATELY. This file contains:\n- Project-specific instructions and conventions\n- Build and test commands\n- Architecture overview\n- Important patterns and gotchas\n- Files and directories to focus on\n\n**Project Structure:**\n- List files and directories to understand the project layout\n- Look for package.json, tsconfig.json, Cargo.toml, requirements.txt, etc. to identify tech stack\n- Also check README.md or docs/ for additional documentation\n- Identify the main source directories (src/, lib/, app/, etc.)\n\n**Existing Code Patterns:**\n- Search for similar features or functionality already implemented\n- Identify coding conventions (naming, file organization, module patterns)\n- Look at existing tests to understand testing patterns\n- Check for configuration files, environment setup, types/interfaces\n\n**Key Files to Examine:**\n- Entry points (index.ts, main.py, App.tsx, etc.)\n- Type definitions and interfaces\n- Utility functions and shared code\n- Database models or schemas if applicable\n\nUSE THESE TOOLS:\n- `Glob` to find files by pattern (e.g., \"**/*.ts\", \"src/**/*.tsx\")\n- `Grep` to search for specific patterns, function names, or imports\n- `Read` to examine file contents\n- Look at the most recently modified files - they're likely relevant\n\n### 2. WEB RESEARCH\nUse web search to find:\n- **Official documentation** for technologies used in the project\n- **GitHub repositories** that implement similar features\n- **Best practice guides** for the tech stack identified\n- **Stack Overflow answers** for specific implementation questions\n\nFocus your web search on:\n- How others have solved similar problems with the same tech stack\n- Common pitfalls and gotchas for the specific technologies\n- Library/package recommendations compatible with the project\n- API usage examples\n\n### 3. TECHNICAL ANALYSIS\nBased on your research:\n- Recommend the best approach that fits the existing codebase style\n- Identify files that will need to be modified or created\n- Suggest where new code should live based on existing structure\n- Note any compatibility or integration concerns\n\n## OUTPUT FORMAT\nReturn ONLY a JSON object:\n{\n \"projectContext\": {\n \"techStack\": [\"TypeScript\", \"React\", \"Node.js\", ...],\n \"projectType\": \"web-app|cli|library|api|monorepo|...\",\n \"buildSystem\": \"npm|yarn|pnpm|cargo|pip|...\",\n \"testFramework\": \"vitest|jest|pytest|...\",\n \"keyDirectories\": {\n \"source\": \"src/\",\n \"tests\": \"test/\",\n \"config\": \"...\"\n },\n \"entryPoints\": [\"src/index.ts\", ...],\n \"hasDocumentation\": true|false,\n \"documentationNotes\": \"Summary of CLAUDE.md or README if found\"\n },\n \"existingPatterns\": [\n {\n \"pattern\": \"Pattern name (e.g., 'EventEmitter for async communication')\",\n \"location\": \"src/events/*.ts\",\n \"example\": \"Brief code example or file reference\",\n \"relevance\": \"Why this pattern matters for the task\"\n }\n ],\n \"relevantFiles\": [\n {\n \"path\": \"src/components/Auth.tsx\",\n \"purpose\": \"What this file does\",\n \"relevance\": \"Why it's relevant to the task\",\n \"shouldModify\": true|false\n }\n ],\n \"externalResources\": [\n {\n \"type\": \"github|documentation|tutorial|article|stackoverflow\",\n \"url\": \"https://...\",\n \"title\": \"Resource title\",\n \"relevance\": \"Why this is relevant to the task\",\n \"keyInsights\": [\"Insight 1\", \"Insight 2\"]\n }\n ],\n \"technicalRecommendations\": [\n \"Use the existing EventEmitter pattern from src/events/ for...\",\n \"Follow the component structure in src/components/...\"\n ],\n \"potentialChallenges\": [\n \"The existing auth system uses X, need to integrate with...\",\n \"Watch out for Y when modifying Z\"\n ],\n \"suggestedApproach\": {\n \"summary\": \"Brief 2-3 sentence approach recommendation\",\n \"newFiles\": [\"src/features/new-feature.ts\", ...],\n \"modifyFiles\": [\"src/index.ts\", ...],\n \"testFiles\": [\"test/new-feature.test.ts\", ...]\n },\n \"enrichedTaskDescription\": \"A detailed version of the original task, enriched with specific file paths, existing patterns to follow, and technical details from your exploration. Should reference actual files and patterns found in the codebase.\"\n}\n\nCRITICAL REQUIREMENTS:\n1. ALWAYS explore the local project FIRST - understand what exists before searching online\n2. Reference ACTUAL files and patterns found in the codebase, not hypothetical ones\n3. The enrichedTaskDescription MUST include specific file paths and patterns from the project\n4. Use Glob/Grep/Read tools to actually explore - don't guess about project structure\n5. If web search finds useful resources, include real URLs";
10
12
  //# sourceMappingURL=research-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"research-agent.d.ts","sourceRoot":"","sources":["../../src/prompts/research-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,qBAAqB,01KAqIyB,CAAC"}
1
+ {"version":3,"file":"research-agent.d.ts","sourceRoot":"","sources":["../../src/prompts/research-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,qBAAqB,01KAqIyB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Research Agent Prompt
3
- *
4
- * Gathers external resources, codebase patterns, and technical context
5
- * before other agents analyze the task.
2
+ * @fileoverview Research Agent Prompt — gathers codebase patterns, external
3
+ * resources, and technical context before the planner analyzes the task.
6
4
  *
7
5
  * Placeholders: {TASK}, {WORKING_DIR}
6
+ *
7
+ * @dependencies none (pure template)
8
+ * @consumedby prompts/index (re-export), plan-orchestrator
9
+ * @module prompts/research-agent
8
10
  */
9
11
  export const RESEARCH_AGENT_PROMPT = `You are a Research Specialist preparing context for an implementation task. Your job is to gather all relevant information that will help the development team succeed.
10
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"research-agent.js","sourceRoot":"","sources":["../../src/prompts/research-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAqIsB,CAAC"}
1
+ {"version":3,"file":"research-agent.js","sourceRoot":"","sources":["../../src/prompts/research-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAqIsB,CAAC"}
@@ -1,14 +1,24 @@
1
1
  /**
2
- * @fileoverview Ralph Loop - Autonomous task execution engine
2
+ * @fileoverview Ralph Loop - Autonomous task execution engine.
3
3
  *
4
- * The Ralph Loop orchestrates autonomous Claude sessions by:
4
+ * Orchestrates autonomous Claude sessions by:
5
5
  * - Polling for available tasks from the task queue
6
6
  * - Assigning tasks to idle sessions
7
7
  * - Monitoring completion and handling failures
8
8
  * - Auto-generating follow-up tasks when min duration not reached
9
9
  *
10
- * Named after Ralph Wiggum's persistence ("I'm in danger!"),
11
- * this loop keeps Claude working until all tasks are done.
10
+ * Key exports:
11
+ * - `RalphLoop` class the loop engine, extends EventEmitter
12
+ * - `RalphLoopEvents` interface — typed event map
13
+ * - `RalphLoopOptions` interface — configuration options
14
+ *
15
+ * Lifecycle: `start()` → poll loop → `stop()` (when all tasks done + min duration met)
16
+ *
17
+ * @dependencies session-manager (session lifecycle), task-queue (task FIFO),
18
+ * state-store (persistence), session (PTY execution), task (task model)
19
+ * @consumedby web/server (ralph routes, SSE)
20
+ * @emits started, stopped, taskAssigned, taskCompleted, taskFailed, error
21
+ * @persistence Ralph loop state saved to `~/.codeman/state.json` (ralphLoop key)
12
22
  *
13
23
  * @module ralph-loop
14
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ralph-loop.d.ts","sourceRoot":"","sources":["../src/ralph-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IAEnC,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB,CAKZ;gBAEJ,OAAO,GAAE,gBAAqB;IA2B1C,OAAO,CAAC,kBAAkB;IAuB1B,qDAAqD;IACrD,OAAO,CAAC,oBAAoB;IAU5B,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAOtB,eAAe,IAAI,MAAM;IAIzB,oBAAoB,IAAI,OAAO;IAO/B,QAAQ;;;;;;;;;;;;;;;;;IAiBR,sCAAsC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,qCAAqC;IACrC,IAAI,IAAI,IAAI;IAuBZ,wCAAwC;IACxC,KAAK,IAAI,IAAI;IAeb,6BAA6B;IAC7B,MAAM,IAAI,IAAI;IAUd,OAAO,CAAC,OAAO;YAqBD,IAAI;YAoBJ,WAAW;YAiBX,mBAAmB;YAkBnB,aAAa;IAgB3B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,mBAAmB;YASb,qBAAqB;IA6BnC,OAAO,CAAC,UAAU;IAiBlB,mEAAmE;IACnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAKhB;AAKD,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAKlE"}
1
+ {"version":3,"file":"ralph-loop.d.ts","sourceRoot":"","sources":["../src/ralph-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IAEnC,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB,CAKZ;gBAEJ,OAAO,GAAE,gBAAqB;IA2B1C,OAAO,CAAC,kBAAkB;IAuB1B,qDAAqD;IACrD,OAAO,CAAC,oBAAoB;IAU5B,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAOtB,eAAe,IAAI,MAAM;IAIzB,oBAAoB,IAAI,OAAO;IAO/B,QAAQ;;;;;;;;;;;;;;;;;IAiBR,sCAAsC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,qCAAqC;IACrC,IAAI,IAAI,IAAI;IAuBZ,wCAAwC;IACxC,KAAK,IAAI,IAAI;IAeb,6BAA6B;IAC7B,MAAM,IAAI,IAAI;IAUd,OAAO,CAAC,OAAO;YAqBD,IAAI;YAoBJ,WAAW;YAiBX,mBAAmB;YAkBnB,aAAa;IAgB3B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,mBAAmB;YASb,qBAAqB;IA6BnC,OAAO,CAAC,UAAU;IAiBlB,mEAAmE;IACnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAKhB;AAKD,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAKlE"}
@@ -1,14 +1,24 @@
1
1
  /**
2
- * @fileoverview Ralph Loop - Autonomous task execution engine
2
+ * @fileoverview Ralph Loop - Autonomous task execution engine.
3
3
  *
4
- * The Ralph Loop orchestrates autonomous Claude sessions by:
4
+ * Orchestrates autonomous Claude sessions by:
5
5
  * - Polling for available tasks from the task queue
6
6
  * - Assigning tasks to idle sessions
7
7
  * - Monitoring completion and handling failures
8
8
  * - Auto-generating follow-up tasks when min duration not reached
9
9
  *
10
- * Named after Ralph Wiggum's persistence ("I'm in danger!"),
11
- * this loop keeps Claude working until all tasks are done.
10
+ * Key exports:
11
+ * - `RalphLoop` class the loop engine, extends EventEmitter
12
+ * - `RalphLoopEvents` interface — typed event map
13
+ * - `RalphLoopOptions` interface — configuration options
14
+ *
15
+ * Lifecycle: `start()` → poll loop → `stop()` (when all tasks done + min duration met)
16
+ *
17
+ * @dependencies session-manager (session lifecycle), task-queue (task FIFO),
18
+ * state-store (persistence), session (PTY execution), task (task model)
19
+ * @consumedby web/server (ralph routes, SSE)
20
+ * @emits started, stopped, taskAssigned, taskCompleted, taskFailed, error
21
+ * @persistence Ralph loop state saved to `~/.codeman/state.json` (ralphLoop key)
12
22
  *
13
23
  * @module ralph-loop
14
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ralph-loop.js","sourceRoot":"","sources":["../src/ralph-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ralph-loop.js","sourceRoot":"","sources":["../src/ralph-loop.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,35 @@
1
1
  /**
2
- * @fileoverview Ralph Tracker - Detects Ralph Wiggum loops, todos, and completion phrases
2
+ * @fileoverview Ralph Tracker - Detects Ralph Wiggum loops, todos, and completion phrases.
3
3
  *
4
- * This module parses terminal output from Claude Code sessions to detect:
5
- * - Ralph Wiggum loop state (active, completion phrase, iteration count)
6
- * - Todo list items from the TodoWrite tool
4
+ * Parses terminal output from Claude Code sessions to detect:
5
+ * - Ralph loop state (active, completion phrase, iteration count)
6
+ * - Todo items from the TodoWrite tool (with deduplication and expiry)
7
7
  * - Completion phrases signaling loop completion
8
+ * - Circuit breaker state (CLOSED/HALF_OPEN/OPEN)
8
9
  *
9
- * The tracker is DISABLED by default and auto-enables when Ralph-related
10
- * patterns are detected in the output stream, reducing overhead for
11
- * sessions not using autonomous loops.
10
+ * DISABLED by default auto-enables when Ralph-related patterns appear,
11
+ * reducing overhead for non-autonomous sessions.
12
12
  *
13
13
  * Composed of four sub-modules:
14
- * - RalphPlanTracker: Plan task management, checkpoints, versioning
15
- * - RalphFixPlanWatcher: @fix_plan.md file watching and parsing
16
- * - RalphStallDetector: Iteration stall detection
17
- * - RalphStatusParser: RALPH_STATUS block parsing, circuit breaker
14
+ * - `RalphPlanTracker`: Plan task management, checkpoints, versioning
15
+ * - `RalphFixPlanWatcher`: @fix_plan.md file watching and parsing
16
+ * - `RalphStallDetector`: Iteration stall detection
17
+ * - `RalphStatusParser`: RALPH_STATUS block parsing, circuit breaker
18
+ *
19
+ * Key exports:
20
+ * - `RalphTracker` class — main tracker, extends EventEmitter
21
+ * - `RalphTrackerEvents` interface — typed event map
22
+ * - Re-exports: `EnhancedPlanTask`, `CheckpointReview` from ralph-plan-tracker
23
+ *
24
+ * Key methods: `processData(data)` — feed terminal output, `getState()`,
25
+ * `getTodos()`, `getCompletionHistory()`, `getPlanTasks()`, `reset()`
26
+ *
27
+ * @dependencies types (RalphTrackerState, RalphTodoItem, CircuitBreakerStatus),
28
+ * ralph-plan-tracker, ralph-fix-plan-watcher, ralph-stall-detector, ralph-status-parser,
29
+ * config/buffer-limits, config/map-limits
30
+ * @consumedby session (owns one RalphTracker per session), web/server (SSE events)
31
+ * @emits ralphStateChanged, todoUpdated, completionDetected, statusBlockParsed,
32
+ * circuitBreakerChanged, exitGateMet, planTaskUpdated, planCheckpoint
18
33
  *
19
34
  * @module ralph-tracker
20
35
  */
@@ -166,6 +181,8 @@ export declare class RalphTracker extends EventEmitter {
166
181
  private _todoStartTimes;
167
182
  /** Last calculated completion confidence */
168
183
  private _lastCompletionConfidence;
184
+ /** Manages periodic cleanup timers (todo expiry) */
185
+ private cleanup;
169
186
  /** Confidence threshold for triggering completion (0-100) */
170
187
  private static readonly COMPLETION_CONFIDENCE_THRESHOLD;
171
188
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ralph-tracker.d.ts","sourceRoot":"","sources":["../src/ralph-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ralph-tracker.d.ts","sourceRoot":"","sources":["../src/ralph-tracker.ts"],"names":[],"mappings":"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"}