aicodeman 0.2.9 → 0.3.1

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 (374) hide show
  1. package/README.md +118 -4
  2. package/dist/ai-idle-checker.d.ts.map +1 -1
  3. package/dist/ai-idle-checker.js +3 -2
  4. package/dist/ai-idle-checker.js.map +1 -1
  5. package/dist/ai-plan-checker.d.ts.map +1 -1
  6. package/dist/ai-plan-checker.js +3 -2
  7. package/dist/ai-plan-checker.js.map +1 -1
  8. package/dist/bash-tool-parser.d.ts +2 -3
  9. package/dist/bash-tool-parser.d.ts.map +1 -1
  10. package/dist/bash-tool-parser.js +14 -31
  11. package/dist/bash-tool-parser.js.map +1 -1
  12. package/dist/config/ai-defaults.d.ts +16 -0
  13. package/dist/config/ai-defaults.d.ts.map +1 -0
  14. package/dist/config/ai-defaults.js +16 -0
  15. package/dist/config/ai-defaults.js.map +1 -0
  16. package/dist/config/auth-config.d.ts +19 -0
  17. package/dist/config/auth-config.d.ts.map +1 -0
  18. package/dist/config/auth-config.js +28 -0
  19. package/dist/config/auth-config.js.map +1 -0
  20. package/dist/config/exec-timeout.d.ts +10 -0
  21. package/dist/config/exec-timeout.d.ts.map +1 -0
  22. package/dist/config/exec-timeout.js +10 -0
  23. package/dist/config/exec-timeout.js.map +1 -0
  24. package/dist/config/map-limits.d.ts +4 -0
  25. package/dist/config/map-limits.d.ts.map +1 -1
  26. package/dist/config/map-limits.js +7 -0
  27. package/dist/config/map-limits.js.map +1 -1
  28. package/dist/config/server-timing.d.ts +42 -0
  29. package/dist/config/server-timing.d.ts.map +1 -0
  30. package/dist/config/server-timing.js +57 -0
  31. package/dist/config/server-timing.js.map +1 -0
  32. package/dist/config/team-config.d.ts +16 -0
  33. package/dist/config/team-config.d.ts.map +1 -0
  34. package/dist/config/team-config.js +16 -0
  35. package/dist/config/team-config.js.map +1 -0
  36. package/dist/config/terminal-limits.d.ts +18 -0
  37. package/dist/config/terminal-limits.d.ts.map +1 -0
  38. package/dist/config/terminal-limits.js +18 -0
  39. package/dist/config/terminal-limits.js.map +1 -0
  40. package/dist/config/tunnel-config.d.ts +27 -0
  41. package/dist/config/tunnel-config.d.ts.map +1 -0
  42. package/dist/config/tunnel-config.js +36 -0
  43. package/dist/config/tunnel-config.js.map +1 -0
  44. package/dist/hooks-config.d.ts +21 -6
  45. package/dist/hooks-config.d.ts.map +1 -1
  46. package/dist/hooks-config.js +28 -12
  47. package/dist/hooks-config.js.map +1 -1
  48. package/dist/image-watcher.d.ts +4 -4
  49. package/dist/image-watcher.d.ts.map +1 -1
  50. package/dist/image-watcher.js +17 -30
  51. package/dist/image-watcher.js.map +1 -1
  52. package/dist/index.js +1 -2
  53. package/dist/index.js.map +1 -1
  54. package/dist/plan-orchestrator.d.ts +2 -24
  55. package/dist/plan-orchestrator.d.ts.map +1 -1
  56. package/dist/plan-orchestrator.js.map +1 -1
  57. package/dist/prompts/planner.d.ts +7 -8
  58. package/dist/prompts/planner.d.ts.map +1 -1
  59. package/dist/prompts/planner.js +7 -8
  60. package/dist/prompts/planner.js.map +1 -1
  61. package/dist/prompts/research-agent.d.ts +6 -4
  62. package/dist/prompts/research-agent.d.ts.map +1 -1
  63. package/dist/prompts/research-agent.js +6 -4
  64. package/dist/prompts/research-agent.js.map +1 -1
  65. package/dist/push-store.d.ts +1 -1
  66. package/dist/push-store.d.ts.map +1 -1
  67. package/dist/push-store.js +4 -12
  68. package/dist/push-store.js.map +1 -1
  69. package/dist/ralph-fix-plan-watcher.d.ts +91 -0
  70. package/dist/ralph-fix-plan-watcher.d.ts.map +1 -0
  71. package/dist/ralph-fix-plan-watcher.js +326 -0
  72. package/dist/ralph-fix-plan-watcher.js.map +1 -0
  73. package/dist/ralph-loop.d.ts +14 -4
  74. package/dist/ralph-loop.d.ts.map +1 -1
  75. package/dist/ralph-loop.js +14 -4
  76. package/dist/ralph-loop.js.map +1 -1
  77. package/dist/ralph-plan-tracker.d.ts +201 -0
  78. package/dist/ralph-plan-tracker.d.ts.map +1 -0
  79. package/dist/ralph-plan-tracker.js +325 -0
  80. package/dist/ralph-plan-tracker.js.map +1 -0
  81. package/dist/ralph-stall-detector.d.ts +84 -0
  82. package/dist/ralph-stall-detector.d.ts.map +1 -0
  83. package/dist/ralph-stall-detector.js +139 -0
  84. package/dist/ralph-stall-detector.js.map +1 -0
  85. package/dist/ralph-status-parser.d.ts +141 -0
  86. package/dist/ralph-status-parser.d.ts.map +1 -0
  87. package/dist/ralph-status-parser.js +478 -0
  88. package/dist/ralph-status-parser.js.map +1 -0
  89. package/dist/ralph-tracker.d.ts +218 -692
  90. package/dist/ralph-tracker.d.ts.map +1 -1
  91. package/dist/ralph-tracker.js +389 -1723
  92. package/dist/ralph-tracker.js.map +1 -1
  93. package/dist/respawn-adaptive-timing.d.ts +61 -0
  94. package/dist/respawn-adaptive-timing.d.ts.map +1 -0
  95. package/dist/respawn-adaptive-timing.js +105 -0
  96. package/dist/respawn-adaptive-timing.js.map +1 -0
  97. package/dist/respawn-controller.d.ts +35 -115
  98. package/dist/respawn-controller.d.ts.map +1 -1
  99. package/dist/respawn-controller.js +167 -607
  100. package/dist/respawn-controller.js.map +1 -1
  101. package/dist/respawn-health.d.ts +54 -0
  102. package/dist/respawn-health.d.ts.map +1 -0
  103. package/dist/respawn-health.js +183 -0
  104. package/dist/respawn-health.js.map +1 -0
  105. package/dist/respawn-metrics.d.ts +81 -0
  106. package/dist/respawn-metrics.d.ts.map +1 -0
  107. package/dist/respawn-metrics.js +198 -0
  108. package/dist/respawn-metrics.js.map +1 -0
  109. package/dist/respawn-patterns.d.ts +45 -0
  110. package/dist/respawn-patterns.d.ts.map +1 -0
  111. package/dist/respawn-patterns.js +125 -0
  112. package/dist/respawn-patterns.js.map +1 -0
  113. package/dist/session-auto-ops.d.ts +89 -0
  114. package/dist/session-auto-ops.d.ts.map +1 -0
  115. package/dist/session-auto-ops.js +224 -0
  116. package/dist/session-auto-ops.js.map +1 -0
  117. package/dist/session-cli-builder.d.ts +62 -0
  118. package/dist/session-cli-builder.d.ts.map +1 -0
  119. package/dist/session-cli-builder.js +121 -0
  120. package/dist/session-cli-builder.js.map +1 -0
  121. package/dist/session-manager.d.ts +17 -5
  122. package/dist/session-manager.d.ts.map +1 -1
  123. package/dist/session-manager.js +17 -5
  124. package/dist/session-manager.js.map +1 -1
  125. package/dist/session-task-cache.d.ts +52 -0
  126. package/dist/session-task-cache.d.ts.map +1 -0
  127. package/dist/session-task-cache.js +90 -0
  128. package/dist/session-task-cache.js.map +1 -0
  129. package/dist/session.d.ts +23 -41
  130. package/dist/session.d.ts.map +1 -1
  131. package/dist/session.js +79 -317
  132. package/dist/session.js.map +1 -1
  133. package/dist/state-store.d.ts +19 -9
  134. package/dist/state-store.d.ts.map +1 -1
  135. package/dist/state-store.js +29 -30
  136. package/dist/state-store.js.map +1 -1
  137. package/dist/subagent-watcher.d.ts +26 -7
  138. package/dist/subagent-watcher.d.ts.map +1 -1
  139. package/dist/subagent-watcher.js +47 -64
  140. package/dist/subagent-watcher.js.map +1 -1
  141. package/dist/team-watcher.d.ts.map +1 -1
  142. package/dist/team-watcher.js +2 -5
  143. package/dist/team-watcher.js.map +1 -1
  144. package/dist/tmux-manager.d.ts.map +1 -1
  145. package/dist/tmux-manager.js +1 -2
  146. package/dist/tmux-manager.js.map +1 -1
  147. package/dist/tunnel-manager.d.ts +26 -0
  148. package/dist/tunnel-manager.d.ts.map +1 -1
  149. package/dist/tunnel-manager.js +126 -7
  150. package/dist/tunnel-manager.js.map +1 -1
  151. package/dist/types/api.d.ts +108 -0
  152. package/dist/types/api.d.ts.map +1 -0
  153. package/dist/types/api.js +98 -0
  154. package/dist/types/api.js.map +1 -0
  155. package/dist/types/app-state.d.ts +117 -0
  156. package/dist/types/app-state.d.ts.map +1 -0
  157. package/dist/types/app-state.js +76 -0
  158. package/dist/types/app-state.js.map +1 -0
  159. package/dist/types/common.d.ts +79 -0
  160. package/dist/types/common.d.ts.map +1 -0
  161. package/dist/types/common.js +17 -0
  162. package/dist/types/common.js.map +1 -0
  163. package/dist/types/index.d.ts +66 -0
  164. package/dist/types/index.d.ts.map +1 -0
  165. package/dist/types/index.js +66 -0
  166. package/dist/types/index.js.map +1 -0
  167. package/dist/types/lifecycle.d.ts +28 -0
  168. package/dist/types/lifecycle.d.ts.map +1 -0
  169. package/dist/types/lifecycle.js +16 -0
  170. package/dist/types/lifecycle.js.map +1 -0
  171. package/dist/types/plan.d.ts +45 -0
  172. package/dist/types/plan.d.ts.map +1 -0
  173. package/dist/types/plan.js +18 -0
  174. package/dist/types/plan.js.map +1 -0
  175. package/dist/types/push.d.ts +36 -0
  176. package/dist/types/push.d.ts.map +1 -0
  177. package/dist/types/push.js +18 -0
  178. package/dist/types/push.js.map +1 -0
  179. package/dist/types/ralph.d.ts +262 -0
  180. package/dist/types/ralph.d.ts.map +1 -0
  181. package/dist/types/ralph.js +70 -0
  182. package/dist/types/ralph.js.map +1 -0
  183. package/dist/types/respawn.d.ts +271 -0
  184. package/dist/types/respawn.d.ts.map +1 -0
  185. package/dist/types/respawn.js +26 -0
  186. package/dist/types/respawn.js.map +1 -0
  187. package/dist/types/run-summary.d.ts +96 -0
  188. package/dist/types/run-summary.d.ts.map +1 -0
  189. package/dist/types/run-summary.js +37 -0
  190. package/dist/types/run-summary.js.map +1 -0
  191. package/dist/types/session.d.ts +152 -0
  192. package/dist/types/session.d.ts.map +1 -0
  193. package/dist/types/session.js +27 -0
  194. package/dist/types/session.js.map +1 -0
  195. package/dist/types/task.d.ts +72 -0
  196. package/dist/types/task.d.ts.map +1 -0
  197. package/dist/types/task.js +19 -0
  198. package/dist/types/task.js.map +1 -0
  199. package/dist/types/teams.d.ts +73 -0
  200. package/dist/types/teams.d.ts.map +1 -0
  201. package/dist/types/teams.js +23 -0
  202. package/dist/types/teams.js.map +1 -0
  203. package/dist/types/tools.d.ts +61 -0
  204. package/dist/types/tools.d.ts.map +1 -0
  205. package/dist/types/tools.js +20 -0
  206. package/dist/types/tools.js.map +1 -0
  207. package/dist/types.d.ts +8 -1134
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/types.js +8 -210
  210. package/dist/types.js.map +1 -1
  211. package/dist/utils/claude-cli-resolver.d.ts.map +1 -1
  212. package/dist/utils/claude-cli-resolver.js +1 -2
  213. package/dist/utils/claude-cli-resolver.js.map +1 -1
  214. package/dist/utils/debouncer.d.ts +111 -0
  215. package/dist/utils/debouncer.d.ts.map +1 -0
  216. package/dist/utils/debouncer.js +162 -0
  217. package/dist/utils/debouncer.js.map +1 -0
  218. package/dist/utils/index.d.ts +3 -2
  219. package/dist/utils/index.d.ts.map +1 -1
  220. package/dist/utils/index.js +3 -2
  221. package/dist/utils/index.js.map +1 -1
  222. package/dist/utils/opencode-cli-resolver.d.ts.map +1 -1
  223. package/dist/utils/opencode-cli-resolver.js +1 -2
  224. package/dist/utils/opencode-cli-resolver.js.map +1 -1
  225. package/dist/utils/string-similarity.d.ts +0 -57
  226. package/dist/utils/string-similarity.d.ts.map +1 -1
  227. package/dist/utils/string-similarity.js +3 -18
  228. package/dist/utils/string-similarity.js.map +1 -1
  229. package/dist/web/middleware/auth.d.ts +31 -0
  230. package/dist/web/middleware/auth.d.ts.map +1 -0
  231. package/dist/web/middleware/auth.js +154 -0
  232. package/dist/web/middleware/auth.js.map +1 -0
  233. package/dist/web/ports/auth-port.d.ts +18 -0
  234. package/dist/web/ports/auth-port.d.ts.map +1 -0
  235. package/dist/web/ports/auth-port.js +6 -0
  236. package/dist/web/ports/auth-port.js.map +1 -0
  237. package/dist/web/ports/config-port.d.ts +28 -0
  238. package/dist/web/ports/config-port.d.ts.map +1 -0
  239. package/dist/web/ports/config-port.js +6 -0
  240. package/dist/web/ports/config-port.js.map +1 -0
  241. package/dist/web/ports/event-port.d.ts +13 -0
  242. package/dist/web/ports/event-port.d.ts.map +1 -0
  243. package/dist/web/ports/event-port.js +6 -0
  244. package/dist/web/ports/event-port.js.map +1 -0
  245. package/dist/web/ports/index.d.ts +14 -0
  246. package/dist/web/ports/index.d.ts.map +1 -0
  247. package/dist/web/ports/index.js +9 -0
  248. package/dist/web/ports/index.js.map +1 -0
  249. package/dist/web/ports/infra-port.d.ts +36 -0
  250. package/dist/web/ports/infra-port.d.ts.map +1 -0
  251. package/dist/web/ports/infra-port.js +6 -0
  252. package/dist/web/ports/infra-port.js.map +1 -0
  253. package/dist/web/ports/respawn-port.d.ts +20 -0
  254. package/dist/web/ports/respawn-port.d.ts.map +1 -0
  255. package/dist/web/ports/respawn-port.js +6 -0
  256. package/dist/web/ports/respawn-port.js.map +1 -0
  257. package/dist/web/ports/session-port.d.ts +15 -0
  258. package/dist/web/ports/session-port.d.ts.map +1 -0
  259. package/dist/web/ports/session-port.js +6 -0
  260. package/dist/web/ports/session-port.js.map +1 -0
  261. package/dist/web/public/api-client.js +82 -0
  262. package/dist/web/public/api-client.js.br +0 -0
  263. package/dist/web/public/api-client.js.gz +0 -0
  264. package/dist/web/public/app.js +117 -201
  265. package/dist/web/public/app.js.br +0 -0
  266. package/dist/web/public/app.js.gz +0 -0
  267. package/dist/web/public/constants.js +365 -0
  268. package/dist/web/public/constants.js.br +0 -0
  269. package/dist/web/public/constants.js.gz +0 -0
  270. package/dist/web/public/index.html +15 -3
  271. package/dist/web/public/index.html.br +0 -0
  272. package/dist/web/public/index.html.gz +0 -0
  273. package/dist/web/public/keyboard-accessory.js +302 -0
  274. package/dist/web/public/keyboard-accessory.js.br +0 -0
  275. package/dist/web/public/keyboard-accessory.js.gz +0 -0
  276. package/dist/web/public/mobile-handlers.js +491 -0
  277. package/dist/web/public/mobile-handlers.js.br +0 -0
  278. package/dist/web/public/mobile-handlers.js.gz +0 -0
  279. package/dist/web/public/mobile.css.gz +0 -0
  280. package/dist/web/public/notification-manager.js +472 -0
  281. package/dist/web/public/notification-manager.js.br +0 -0
  282. package/dist/web/public/notification-manager.js.gz +0 -0
  283. package/dist/web/public/ralph-wizard.js +33 -9
  284. package/dist/web/public/ralph-wizard.js.br +0 -0
  285. package/dist/web/public/ralph-wizard.js.gz +0 -0
  286. package/dist/web/public/styles.css.gz +0 -0
  287. package/dist/web/public/subagent-windows.js +1149 -0
  288. package/dist/web/public/subagent-windows.js.br +0 -0
  289. package/dist/web/public/subagent-windows.js.gz +0 -0
  290. package/dist/web/public/sw.js +15 -0
  291. package/dist/web/public/sw.js.br +0 -0
  292. package/dist/web/public/sw.js.gz +0 -0
  293. package/dist/web/public/upload.html.gz +0 -0
  294. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  295. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  296. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  297. package/dist/web/public/vendor/xterm-zerolag-input.js +4 -0
  298. package/dist/web/public/vendor/xterm-zerolag-input.js.br +0 -0
  299. package/dist/web/public/vendor/xterm-zerolag-input.js.gz +0 -0
  300. package/dist/web/public/vendor/xterm.css.gz +0 -0
  301. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  302. package/dist/web/public/voice-input.js +882 -0
  303. package/dist/web/public/voice-input.js.br +0 -0
  304. package/dist/web/public/voice-input.js.gz +0 -0
  305. package/dist/web/route-helpers.d.ts +38 -0
  306. package/dist/web/route-helpers.d.ts.map +1 -0
  307. package/dist/web/route-helpers.js +144 -0
  308. package/dist/web/route-helpers.js.map +1 -0
  309. package/dist/web/routes/case-routes.d.ts +9 -0
  310. package/dist/web/routes/case-routes.d.ts.map +1 -0
  311. package/dist/web/routes/case-routes.js +426 -0
  312. package/dist/web/routes/case-routes.js.map +1 -0
  313. package/dist/web/routes/file-routes.d.ts +8 -0
  314. package/dist/web/routes/file-routes.d.ts.map +1 -0
  315. package/dist/web/routes/file-routes.js +337 -0
  316. package/dist/web/routes/file-routes.js.map +1 -0
  317. package/dist/web/routes/hook-event-routes.d.ts +9 -0
  318. package/dist/web/routes/hook-event-routes.d.ts.map +1 -0
  319. package/dist/web/routes/hook-event-routes.js +57 -0
  320. package/dist/web/routes/hook-event-routes.js.map +1 -0
  321. package/dist/web/routes/index.d.ts +16 -0
  322. package/dist/web/routes/index.d.ts.map +1 -0
  323. package/dist/web/routes/index.js +16 -0
  324. package/dist/web/routes/index.js.map +1 -0
  325. package/dist/web/routes/mux-routes.d.ts +8 -0
  326. package/dist/web/routes/mux-routes.d.ts.map +1 -0
  327. package/dist/web/routes/mux-routes.js +32 -0
  328. package/dist/web/routes/mux-routes.js.map +1 -0
  329. package/dist/web/routes/plan-routes.d.ts +9 -0
  330. package/dist/web/routes/plan-routes.d.ts.map +1 -0
  331. package/dist/web/routes/plan-routes.js +385 -0
  332. package/dist/web/routes/plan-routes.js.map +1 -0
  333. package/dist/web/routes/push-routes.d.ts +8 -0
  334. package/dist/web/routes/push-routes.d.ts.map +1 -0
  335. package/dist/web/routes/push-routes.js +49 -0
  336. package/dist/web/routes/push-routes.js.map +1 -0
  337. package/dist/web/routes/ralph-routes.d.ts +9 -0
  338. package/dist/web/routes/ralph-routes.d.ts.map +1 -0
  339. package/dist/web/routes/ralph-routes.js +485 -0
  340. package/dist/web/routes/ralph-routes.js.map +1 -0
  341. package/dist/web/routes/respawn-routes.d.ts +8 -0
  342. package/dist/web/routes/respawn-routes.d.ts.map +1 -0
  343. package/dist/web/routes/respawn-routes.js +270 -0
  344. package/dist/web/routes/respawn-routes.js.map +1 -0
  345. package/dist/web/routes/scheduled-routes.d.ts +8 -0
  346. package/dist/web/routes/scheduled-routes.d.ts.map +1 -0
  347. package/dist/web/routes/scheduled-routes.js +51 -0
  348. package/dist/web/routes/scheduled-routes.js.map +1 -0
  349. package/dist/web/routes/session-routes.d.ts +9 -0
  350. package/dist/web/routes/session-routes.d.ts.map +1 -0
  351. package/dist/web/routes/session-routes.js +751 -0
  352. package/dist/web/routes/session-routes.js.map +1 -0
  353. package/dist/web/routes/system-routes.d.ts +9 -0
  354. package/dist/web/routes/system-routes.d.ts.map +1 -0
  355. package/dist/web/routes/system-routes.js +699 -0
  356. package/dist/web/routes/system-routes.js.map +1 -0
  357. package/dist/web/routes/team-routes.d.ts +8 -0
  358. package/dist/web/routes/team-routes.d.ts.map +1 -0
  359. package/dist/web/routes/team-routes.js +14 -0
  360. package/dist/web/routes/team-routes.js.map +1 -0
  361. package/dist/web/schemas.d.ts +43 -3
  362. package/dist/web/schemas.d.ts.map +1 -1
  363. package/dist/web/schemas.js +6 -2
  364. package/dist/web/schemas.js.map +1 -1
  365. package/dist/web/server.d.ts +35 -15
  366. package/dist/web/server.d.ts.map +1 -1
  367. package/dist/web/server.js +563 -3971
  368. package/dist/web/server.js.map +1 -1
  369. package/dist/web/sse-events.d.ts +361 -0
  370. package/dist/web/sse-events.d.ts.map +1 -0
  371. package/dist/web/sse-events.js +396 -0
  372. package/dist/web/sse-events.js.map +1 -0
  373. package/package.json +2 -1
  374. package/scripts/postinstall.js +58 -0
@@ -0,0 +1,396 @@
1
+ /**
2
+ * @fileoverview Centralized SSE event type registry — single source of truth.
3
+ *
4
+ * All Server-Sent Event type strings used by the backend (`broadcast()` calls)
5
+ * and referenced by the frontend (`SSE_EVENTS` in `constants.js`).
6
+ * Both files MUST be kept in sync.
7
+ *
8
+ * ~90 event constants organized by category:
9
+ * - **Core** (1): init
10
+ * - **Session lifecycle** (17): created, updated, deleted, terminal, idle, working, ...
11
+ * - **Session: Ralph** (6): ralphLoopUpdate, todoUpdate, completionDetected, ...
12
+ * - **Session: Bash tools** (3): bashToolStart, bashToolEnd, bashToolsUpdate
13
+ * - **Session: Plan** (4): planTaskUpdate, planCheckpoint, planRollback, planTaskAdded
14
+ * - **Tasks** (4): created, completed, failed, updated
15
+ * - **Mux** (4): created, killed, died, statsUpdated
16
+ * - **Respawn** (17): stateChanged, cycleStarted, aiCheck*, timer*, log, ...
17
+ * - **Subagents** (7): discovered, updated, tool_call, tool_result, progress, message, completed
18
+ * - **Scheduled** (6): created, updated, completed, stopped, log, deleted
19
+ * - **Teams** (4): created, updated, removed, taskUpdated
20
+ * - **Transcript** (4): complete, plan_mode, tool_start, tool_end
21
+ * - **Plan orchestration** (5): started, progress, subagent, completed, cancelled
22
+ * - **Tunnel** (7): started, stopped, progress, error, qrRotated, qrRegenerated, qrAuthUsed
23
+ * - **Image** (1): detected
24
+ * - **Hooks** (6): idle_prompt, permission_prompt, elicitation_dialog, stop, teammate_idle, task_completed
25
+ * - **Cases** (2): created, linked
26
+ *
27
+ * Naming convention: `domain:action` (e.g., `session:created`, `respawn:stateChanged`)
28
+ *
29
+ * Key export: `SseEvent` namespace object — import for destructured access.
30
+ *
31
+ * Usage:
32
+ * import { SseEvent } from './sse-events.js';
33
+ * ctx.broadcast(SseEvent.SessionCreated, { id: session.id });
34
+ *
35
+ * When adding a new event:
36
+ * 1. Add the constant here with JSDoc
37
+ * 2. Add the matching entry in `src/web/public/constants.js` SSE_EVENTS object
38
+ * 3. Add the frontend listener in the appropriate `addListener()` call
39
+ */
40
+ // ─── Core ────────────────────────────────────────────────────────────────────
41
+ /** Sent to each SSE client on initial connection with full app state. */
42
+ export const Init = 'init';
43
+ // ─── Session Lifecycle ───────────────────────────────────────────────────────
44
+ /** New session spawned. */
45
+ export const SessionCreated = 'session:created';
46
+ /** Session state changed (status, config, tokens, etc.). */
47
+ export const SessionUpdated = 'session:updated';
48
+ /** Session permanently removed. */
49
+ export const SessionDeleted = 'session:deleted';
50
+ /** Raw PTY terminal output chunk. */
51
+ export const SessionTerminal = 'session:terminal';
52
+ /** Client should re-fetch the full terminal buffer (e.g. after reconnect). */
53
+ export const SessionNeedsRefresh = 'session:needsRefresh';
54
+ /** Terminal buffer cleared (e.g. /clear command). */
55
+ export const SessionClearTerminal = 'session:clearTerminal';
56
+ /** Claude finished a prompt — includes result and cost. */
57
+ export const SessionCompletion = 'session:completion';
58
+ /** Session-level error. */
59
+ export const SessionError = 'session:error';
60
+ /** Claude CLI process exited. */
61
+ export const SessionExit = 'session:exit';
62
+ /** Session transitioned to idle (waiting for input). */
63
+ export const SessionIdle = 'session:idle';
64
+ /** Session transitioned to working (Claude is processing). */
65
+ export const SessionWorking = 'session:working';
66
+ /** Auto-clear triggered for the session. */
67
+ export const SessionAutoClear = 'session:autoClear';
68
+ /** Auto-compact triggered for the session. */
69
+ export const SessionAutoCompact = 'session:autoCompact';
70
+ /** CLI version/model info detected from session output. */
71
+ export const SessionCliInfo = 'session:cliInfo';
72
+ /** General session message (e.g. status text). */
73
+ export const SessionMessage = 'session:message';
74
+ /** Session entered interactive mode (claude or shell). */
75
+ export const SessionInteractive = 'session:interactive';
76
+ /** Prompt sent to session for execution. */
77
+ export const SessionRunning = 'session:running';
78
+ // ─── Session: Ralph ──────────────────────────────────────────────────────────
79
+ /** Ralph loop state changed (enabled/disabled, iteration count). */
80
+ export const SessionRalphLoopUpdate = 'session:ralphLoopUpdate';
81
+ /** Ralph todo items updated. */
82
+ export const SessionRalphTodoUpdate = 'session:ralphTodoUpdate';
83
+ /** Ralph completion phrase detected in output. */
84
+ export const SessionRalphCompletionDetected = 'session:ralphCompletionDetected';
85
+ /** Ralph status block parsed from output. */
86
+ export const SessionRalphStatusUpdate = 'session:ralphStatusUpdate';
87
+ /** Circuit breaker state changed (CLOSED/HALF_OPEN/OPEN). */
88
+ export const SessionCircuitBreakerUpdate = 'session:circuitBreakerUpdate';
89
+ /** Exit gate condition met (e.g. completion phrase found). */
90
+ export const SessionExitGateMet = 'session:exitGateMet';
91
+ // ─── Session: Bash Tools ─────────────────────────────────────────────────────
92
+ /** Bash tool invocation started. */
93
+ export const SessionBashToolStart = 'session:bashToolStart';
94
+ /** Bash tool invocation completed. */
95
+ export const SessionBashToolEnd = 'session:bashToolEnd';
96
+ /** Active bash tools list changed. */
97
+ export const SessionBashToolsUpdate = 'session:bashToolsUpdate';
98
+ // ─── Session: Plan ───────────────────────────────────────────────────────────
99
+ /** Plan task status updated. */
100
+ export const SessionPlanTaskUpdate = 'session:planTaskUpdate';
101
+ /** Plan checkpoint created. */
102
+ export const SessionPlanCheckpoint = 'session:planCheckpoint';
103
+ /** Plan rolled back to a previous version. */
104
+ export const SessionPlanRollback = 'session:planRollback';
105
+ /** New task added to plan. */
106
+ export const SessionPlanTaskAdded = 'session:planTaskAdded';
107
+ // ─── Tasks ───────────────────────────────────────────────────────────────────
108
+ /** Background task created. */
109
+ export const TaskCreated = 'task:created';
110
+ /** Background task completed successfully. */
111
+ export const TaskCompleted = 'task:completed';
112
+ /** Background task failed. */
113
+ export const TaskFailed = 'task:failed';
114
+ /** Background task state updated. */
115
+ export const TaskUpdated = 'task:updated';
116
+ // ─── Mux (tmux) ──────────────────────────────────────────────────────────────
117
+ /** tmux session created. */
118
+ export const MuxCreated = 'mux:created';
119
+ /** tmux session killed. */
120
+ export const MuxKilled = 'mux:killed';
121
+ /** tmux session died unexpectedly. */
122
+ export const MuxDied = 'mux:died';
123
+ /** tmux session stats refreshed. */
124
+ export const MuxStatsUpdated = 'mux:statsUpdated';
125
+ // ─── Respawn ─────────────────────────────────────────────────────────────────
126
+ /** Respawn loop started for a session. */
127
+ export const RespawnStarted = 'respawn:started';
128
+ /** Respawn loop stopped. */
129
+ export const RespawnStopped = 'respawn:stopped';
130
+ /** Respawn state machine transitioned. */
131
+ export const RespawnStateChanged = 'respawn:stateChanged';
132
+ /** New respawn cycle started. */
133
+ export const RespawnCycleStarted = 'respawn:cycleStarted';
134
+ /** Respawn cycle completed. */
135
+ export const RespawnCycleCompleted = 'respawn:cycleCompleted';
136
+ /** Respawn blocked (e.g. by circuit breaker or active teammates). */
137
+ export const RespawnBlocked = 'respawn:blocked';
138
+ /** Respawn step sent to session (update prompt, clear, kickstart). */
139
+ export const RespawnStepSent = 'respawn:stepSent';
140
+ /** Respawn step completed. */
141
+ export const RespawnStepCompleted = 'respawn:stepCompleted';
142
+ /** Idle/completion detection status updated. */
143
+ export const RespawnDetectionUpdate = 'respawn:detectionUpdate';
144
+ /** Auto-accept sent for permission prompt. */
145
+ export const RespawnAutoAcceptSent = 'respawn:autoAcceptSent';
146
+ /** AI idle check started. */
147
+ export const RespawnAiCheckStarted = 'respawn:aiCheckStarted';
148
+ /** AI idle check completed with result. */
149
+ export const RespawnAiCheckCompleted = 'respawn:aiCheckCompleted';
150
+ /** AI idle check failed. */
151
+ export const RespawnAiCheckFailed = 'respawn:aiCheckFailed';
152
+ /** AI check cooldown state changed. */
153
+ export const RespawnAiCheckCooldown = 'respawn:aiCheckCooldown';
154
+ /** Plan completion check started. */
155
+ export const RespawnPlanCheckStarted = 'respawn:planCheckStarted';
156
+ /** Plan completion check completed with result. */
157
+ export const RespawnPlanCheckCompleted = 'respawn:planCheckCompleted';
158
+ /** Plan completion check failed. */
159
+ export const RespawnPlanCheckFailed = 'respawn:planCheckFailed';
160
+ /** Respawn timer started (idle, duration, etc.). */
161
+ export const RespawnTimerStarted = 'respawn:timerStarted';
162
+ /** Respawn timer cancelled. */
163
+ export const RespawnTimerCancelled = 'respawn:timerCancelled';
164
+ /** Respawn timer completed. */
165
+ export const RespawnTimerCompleted = 'respawn:timerCompleted';
166
+ /** Respawn action logged (for monitor UI). */
167
+ export const RespawnActionLog = 'respawn:actionLog';
168
+ /** Respawn debug log message. */
169
+ export const RespawnLog = 'respawn:log';
170
+ /** Respawn error occurred. */
171
+ export const RespawnError = 'respawn:error';
172
+ /** Respawn configuration updated. */
173
+ export const RespawnConfigUpdated = 'respawn:configUpdated';
174
+ // ─── Subagents ───────────────────────────────────────────────────────────────
175
+ /** New subagent (background agent) discovered. */
176
+ export const SubagentDiscovered = 'subagent:discovered';
177
+ /** Subagent state updated. */
178
+ export const SubagentUpdated = 'subagent:updated';
179
+ /** Subagent tool call detected. */
180
+ export const SubagentToolCall = 'subagent:tool_call';
181
+ /** Subagent tool result received. */
182
+ export const SubagentToolResult = 'subagent:tool_result';
183
+ /** Subagent progress update. */
184
+ export const SubagentProgress = 'subagent:progress';
185
+ /** Subagent message (assistant text). */
186
+ export const SubagentMessage = 'subagent:message';
187
+ /** Subagent finished. */
188
+ export const SubagentCompleted = 'subagent:completed';
189
+ // ─── Scheduled Runs ──────────────────────────────────────────────────────────
190
+ /** Scheduled run created. */
191
+ export const ScheduledCreated = 'scheduled:created';
192
+ /** Scheduled run state updated. */
193
+ export const ScheduledUpdated = 'scheduled:updated';
194
+ /** Scheduled run completed. */
195
+ export const ScheduledCompleted = 'scheduled:completed';
196
+ /** Scheduled run stopped. */
197
+ export const ScheduledStopped = 'scheduled:stopped';
198
+ /** Scheduled run log entry added. */
199
+ export const ScheduledLog = 'scheduled:log';
200
+ /** Scheduled run deleted. */
201
+ export const ScheduledDeleted = 'scheduled:deleted';
202
+ // ─── Teams ───────────────────────────────────────────────────────────────────
203
+ /** Agent team created. */
204
+ export const TeamCreated = 'team:created';
205
+ /** Agent team config updated (e.g. new member joined). */
206
+ export const TeamUpdated = 'team:updated';
207
+ /** Agent team removed. */
208
+ export const TeamRemoved = 'team:removed';
209
+ /** Agent team task updated. */
210
+ export const TeamTaskUpdated = 'team:taskUpdated';
211
+ // ─── Transcript ──────────────────────────────────────────────────────────────
212
+ /** Transcript complete event detected. */
213
+ export const TranscriptComplete = 'transcript:complete';
214
+ /** Plan mode detected in transcript. */
215
+ export const TranscriptPlanMode = 'transcript:plan_mode';
216
+ /** Tool invocation started in transcript. */
217
+ export const TranscriptToolStart = 'transcript:tool_start';
218
+ /** Tool invocation ended in transcript. */
219
+ export const TranscriptToolEnd = 'transcript:tool_end';
220
+ // ─── Plan Orchestration ──────────────────────────────────────────────────────
221
+ /** Plan generation started. */
222
+ export const PlanStarted = 'plan:started';
223
+ /** Plan generation progress update. */
224
+ export const PlanProgress = 'plan:progress';
225
+ /** Plan subagent event (research or planner agent). */
226
+ export const PlanSubagent = 'plan:subagent';
227
+ /** Plan generation completed. */
228
+ export const PlanCompleted = 'plan:completed';
229
+ /** Plan generation cancelled. */
230
+ export const PlanCancelled = 'plan:cancelled';
231
+ // ─── Tunnel ──────────────────────────────────────────────────────────────────
232
+ /** Cloudflare tunnel started. */
233
+ export const TunnelStarted = 'tunnel:started';
234
+ /** Cloudflare tunnel stopped. */
235
+ export const TunnelStopped = 'tunnel:stopped';
236
+ /** Tunnel startup progress. */
237
+ export const TunnelProgress = 'tunnel:progress';
238
+ /** Tunnel error. */
239
+ export const TunnelError = 'tunnel:error';
240
+ /** QR code rotated (new token generated). */
241
+ export const TunnelQrRotated = 'tunnel:qrRotated';
242
+ /** QR code force-regenerated. */
243
+ export const TunnelQrRegenerated = 'tunnel:qrRegenerated';
244
+ /** QR auth token consumed by a client. */
245
+ export const TunnelQrAuthUsed = 'tunnel:qrAuthUsed';
246
+ // ─── Image ───────────────────────────────────────────────────────────────────
247
+ /** New image file detected (e.g. screenshot upload). */
248
+ export const ImageDetected = 'image:detected';
249
+ // ─── Hooks ───────────────────────────────────────────────────────────────────
250
+ /** Claude Code hook: session idle, waiting for input. */
251
+ export const HookIdlePrompt = 'hook:idle_prompt';
252
+ /** Claude Code hook: tool requesting permission. */
253
+ export const HookPermissionPrompt = 'hook:permission_prompt';
254
+ /** Claude Code hook: elicitation dialog (Claude asking a question). */
255
+ export const HookElicitationDialog = 'hook:elicitation_dialog';
256
+ /** Claude Code hook: response complete. */
257
+ export const HookStop = 'hook:stop';
258
+ /** Claude Code hook: teammate went idle. */
259
+ export const HookTeammateIdle = 'hook:teammate_idle';
260
+ /** Claude Code hook: teammate task completed. */
261
+ export const HookTaskCompleted = 'hook:task_completed';
262
+ // ─── Cases ───────────────────────────────────────────────────────────────────
263
+ /** New case directory created. */
264
+ export const CaseCreated = 'case:created';
265
+ /** Existing directory linked as a case. */
266
+ export const CaseLinked = 'case:linked';
267
+ // ─── Namespace Re-export ─────────────────────────────────────────────────────
268
+ /**
269
+ * All SSE event types as a namespace object.
270
+ * Convenient for destructured imports or passing as a group.
271
+ */
272
+ export const SseEvent = {
273
+ // Core
274
+ Init,
275
+ // Session lifecycle
276
+ SessionCreated,
277
+ SessionUpdated,
278
+ SessionDeleted,
279
+ SessionTerminal,
280
+ SessionNeedsRefresh,
281
+ SessionClearTerminal,
282
+ SessionCompletion,
283
+ SessionError,
284
+ SessionExit,
285
+ SessionIdle,
286
+ SessionWorking,
287
+ SessionAutoClear,
288
+ SessionAutoCompact,
289
+ SessionCliInfo,
290
+ SessionMessage,
291
+ SessionInteractive,
292
+ SessionRunning,
293
+ // Session: Ralph
294
+ SessionRalphLoopUpdate,
295
+ SessionRalphTodoUpdate,
296
+ SessionRalphCompletionDetected,
297
+ SessionRalphStatusUpdate,
298
+ SessionCircuitBreakerUpdate,
299
+ SessionExitGateMet,
300
+ // Session: Bash tools
301
+ SessionBashToolStart,
302
+ SessionBashToolEnd,
303
+ SessionBashToolsUpdate,
304
+ // Session: Plan
305
+ SessionPlanTaskUpdate,
306
+ SessionPlanCheckpoint,
307
+ SessionPlanRollback,
308
+ SessionPlanTaskAdded,
309
+ // Tasks
310
+ TaskCreated,
311
+ TaskCompleted,
312
+ TaskFailed,
313
+ TaskUpdated,
314
+ // Mux
315
+ MuxCreated,
316
+ MuxKilled,
317
+ MuxDied,
318
+ MuxStatsUpdated,
319
+ // Respawn
320
+ RespawnStarted,
321
+ RespawnStopped,
322
+ RespawnStateChanged,
323
+ RespawnCycleStarted,
324
+ RespawnCycleCompleted,
325
+ RespawnBlocked,
326
+ RespawnStepSent,
327
+ RespawnStepCompleted,
328
+ RespawnDetectionUpdate,
329
+ RespawnAutoAcceptSent,
330
+ RespawnAiCheckStarted,
331
+ RespawnAiCheckCompleted,
332
+ RespawnAiCheckFailed,
333
+ RespawnAiCheckCooldown,
334
+ RespawnPlanCheckStarted,
335
+ RespawnPlanCheckCompleted,
336
+ RespawnPlanCheckFailed,
337
+ RespawnTimerStarted,
338
+ RespawnTimerCancelled,
339
+ RespawnTimerCompleted,
340
+ RespawnActionLog,
341
+ RespawnLog,
342
+ RespawnError,
343
+ RespawnConfigUpdated,
344
+ // Subagents
345
+ SubagentDiscovered,
346
+ SubagentUpdated,
347
+ SubagentToolCall,
348
+ SubagentToolResult,
349
+ SubagentProgress,
350
+ SubagentMessage,
351
+ SubagentCompleted,
352
+ // Scheduled runs
353
+ ScheduledCreated,
354
+ ScheduledUpdated,
355
+ ScheduledCompleted,
356
+ ScheduledStopped,
357
+ ScheduledLog,
358
+ ScheduledDeleted,
359
+ // Teams
360
+ TeamCreated,
361
+ TeamUpdated,
362
+ TeamRemoved,
363
+ TeamTaskUpdated,
364
+ // Transcript
365
+ TranscriptComplete,
366
+ TranscriptPlanMode,
367
+ TranscriptToolStart,
368
+ TranscriptToolEnd,
369
+ // Plan orchestration
370
+ PlanStarted,
371
+ PlanProgress,
372
+ PlanSubagent,
373
+ PlanCompleted,
374
+ PlanCancelled,
375
+ // Tunnel
376
+ TunnelStarted,
377
+ TunnelStopped,
378
+ TunnelProgress,
379
+ TunnelError,
380
+ TunnelQrRotated,
381
+ TunnelQrRegenerated,
382
+ TunnelQrAuthUsed,
383
+ // Image
384
+ ImageDetected,
385
+ // Hooks
386
+ HookIdlePrompt,
387
+ HookPermissionPrompt,
388
+ HookElicitationDialog,
389
+ HookStop,
390
+ HookTeammateIdle,
391
+ HookTaskCompleted,
392
+ // Cases
393
+ CaseCreated,
394
+ CaseLinked,
395
+ };
396
+ //# sourceMappingURL=sse-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-events.js","sourceRoot":"","sources":["../../src/web/sse-events.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aicodeman",
3
- "version": "0.2.9",
3
+ "version": "0.3.1",
4
4
  "description": "The missing control plane for AI coding agents - run 20 autonomous agents with real-time monitoring and session persistence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -72,6 +72,7 @@
72
72
  "@remotion/transitions": "4.0.429",
73
73
  "@types/node": "^20.19.33",
74
74
  "@types/pngjs": "^6.0.5",
75
+ "@types/qrcode": "^1.5.6",
75
76
  "@types/react": "^19.2.14",
76
77
  "@types/uuid": "^10.0.0",
77
78
  "@types/web-push": "^3.6.4",
@@ -276,6 +276,34 @@ if (isGlobalInstall) {
276
276
 
277
277
  // WebGL addon: copy unminified (matches build script behavior)
278
278
  copyFileSync(join(webglDir, 'lib', 'xterm-addon-webgl.js'), join(vendorDir, 'xterm-addon-webgl.min.js'));
279
+
280
+ // xterm-zerolag-input: bundle local package as IIFE for <script> tag loading
281
+ try {
282
+ const zerolagSrc = join(import.meta.dirname, '..', 'packages', 'xterm-zerolag-input', 'src', 'zerolag-input-addon.ts');
283
+ const zerolagOut = join(vendorDir, 'xterm-zerolag-input.js');
284
+ execSync(
285
+ `npx esbuild "${zerolagSrc}" --bundle --format=iife --global-name=XtermZerolagInput --outfile="${zerolagOut}"`,
286
+ { stdio: 'pipe' }
287
+ );
288
+ // Append global aliases so app.js can use `new LocalEchoOverlay(terminal)`
289
+ const { appendFileSync } = await import('fs');
290
+ appendFileSync(
291
+ zerolagOut,
292
+ '\n// Global aliases for browser usage\n' +
293
+ 'if(typeof window!=="undefined"){' +
294
+ 'window.ZerolagInputAddon=XtermZerolagInput.ZerolagInputAddon;' +
295
+ 'window.LocalEchoOverlay=class extends XtermZerolagInput.ZerolagInputAddon{' +
296
+ 'constructor(terminal){' +
297
+ 'super({prompt:{type:"character",char:"\\u276f",offset:2}});' +
298
+ 'this.activate(terminal);' +
299
+ '}' +
300
+ '};' +
301
+ '}\n'
302
+ );
303
+ console.log(colors.green('✓ xterm-zerolag-input bundled to vendor/'));
304
+ } catch {
305
+ console.log(colors.yellow('⚠ Failed to bundle xterm-zerolag-input — overlay may not work in dev mode'));
306
+ }
279
307
  } catch (err) {
280
308
  hasWarnings = true;
281
309
  console.log(colors.yellow('⚠ Failed to copy xterm vendor files'));
@@ -284,6 +312,36 @@ if (isGlobalInstall) {
284
312
  }
285
313
  }
286
314
 
315
+ // ----------------------------------------------------------------------------
316
+ // 5. Install git pre-commit hook (format check)
317
+ // ----------------------------------------------------------------------------
318
+
319
+ if (!isGlobalInstall) {
320
+ try {
321
+ const { writeFileSync, mkdirSync } = await import('fs');
322
+ const gitHooksDir = join(import.meta.dirname, '..', '.git', 'hooks');
323
+ if (existsSync(join(import.meta.dirname, '..', '.git'))) {
324
+ mkdirSync(gitHooksDir, { recursive: true });
325
+ const hook = `#!/bin/bash
326
+ # Auto-installed by postinstall — prevents CI format failures
327
+ staged_ts=$(git diff --cached --name-only --diff-filter=ACM -- '*.ts')
328
+ [ -z "$staged_ts" ] && exit 0
329
+ echo "$staged_ts" | xargs npx prettier --check 2>&1
330
+ if [ $? -ne 0 ]; then
331
+ echo ""
332
+ echo "Pre-commit: Prettier check failed. Run 'npm run format' to fix."
333
+ exit 1
334
+ fi
335
+ `;
336
+ const hookPath = join(gitHooksDir, 'pre-commit');
337
+ writeFileSync(hookPath, hook, { mode: 0o755 });
338
+ console.log(colors.green('✓ Git pre-commit hook installed (prettier check)'));
339
+ }
340
+ } catch {
341
+ // Non-critical — git hook is a convenience
342
+ }
343
+ }
344
+
287
345
  // ----------------------------------------------------------------------------
288
346
  // Summary
289
347
  // ----------------------------------------------------------------------------