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 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/types/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5F,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @fileoverview Plan orchestrator type definitions.
3
+ *
4
+ * Types for the 2-agent plan generation system (optional research agent → planner agent).
5
+ *
6
+ * Key exports:
7
+ * - PlanItem — a single task with priority (P0/P1/P2), TDD phase, dependencies, verification criteria
8
+ * - PlanTaskStatus — 'pending' | 'in_progress' | 'completed' | 'failed' | 'blocked'
9
+ * - TddPhase / PlanPhase — 'setup' | 'test' | 'impl' | 'verify' | 'review'
10
+ *
11
+ * Used by PlanOrchestrator (`src/plan-orchestrator.ts`) and the plan API routes
12
+ * (`src/web/routes/plan-routes.ts`). Served at `GET /api/sessions/:id/plan/tasks`.
13
+ *
14
+ * PlanItem was moved here from plan-orchestrator.ts to break a circular dependency.
15
+ * No dependencies on other domain modules.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/types/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Web Push notification type definitions.
3
+ *
4
+ * Types for the Web Push notification layer (layer 4 of the 5-layer notification system).
5
+ *
6
+ * Key exports:
7
+ * - PushSubscriptionRecord — a registered push endpoint with per-event preferences
8
+ * - VapidKeys — VAPID key pair (public + private) for Web Push authentication
9
+ *
10
+ * Persistence:
11
+ * - VAPID keys: `~/.codeman/push-keys.json` (auto-generated on first use)
12
+ * - Subscriptions: `~/.codeman/push-subscriptions.json` (expired auto-cleaned on 410/404)
13
+ *
14
+ * Managed by PushStore (`src/push-store.ts`). Served at `GET /api/push/vapid-key`,
15
+ * `POST /api/push/subscribe`. No dependencies on other domain modules.
16
+ */
17
+ /** A registered push subscription */
18
+ export interface PushSubscriptionRecord {
19
+ id: string;
20
+ endpoint: string;
21
+ keys: {
22
+ p256dh: string;
23
+ auth: string;
24
+ };
25
+ userAgent: string;
26
+ createdAt: number;
27
+ lastUsedAt: number;
28
+ pushPreferences: Record<string, boolean>;
29
+ }
30
+ /** VAPID key pair for Web Push */
31
+ export interface VapidKeys {
32
+ publicKey: string;
33
+ privateKey: string;
34
+ generatedAt: number;
35
+ }
36
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/types/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,kCAAkC;AAClC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @fileoverview Web Push notification type definitions.
3
+ *
4
+ * Types for the Web Push notification layer (layer 4 of the 5-layer notification system).
5
+ *
6
+ * Key exports:
7
+ * - PushSubscriptionRecord — a registered push endpoint with per-event preferences
8
+ * - VapidKeys — VAPID key pair (public + private) for Web Push authentication
9
+ *
10
+ * Persistence:
11
+ * - VAPID keys: `~/.codeman/push-keys.json` (auto-generated on first use)
12
+ * - Subscriptions: `~/.codeman/push-subscriptions.json` (expired auto-cleaned on 410/404)
13
+ *
14
+ * Managed by PushStore (`src/push-store.ts`). Served at `GET /api/push/vapid-key`,
15
+ * `POST /api/push/subscribe`. No dependencies on other domain modules.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/types/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * @fileoverview Ralph Loop / todo tracking type definitions.
3
+ *
4
+ * Covers the autonomous task execution system: loop state, todo items,
5
+ * completion confidence scoring, RALPH_STATUS block parsing, and the
6
+ * circuit breaker for stuck-loop detection.
7
+ *
8
+ * Key exports:
9
+ * - RalphLoopState / RalphLoopStatus — global loop controller state (embedded in AppState)
10
+ * - RalphTrackerState — per-session loop tracking (cycle count, completion phrase, plan version)
11
+ * - RalphTodoItem / RalphTodoProgress — detected todo items with priority and progress estimation
12
+ * - RalphSessionState — composite per-session state (loop + todos), linked via sessionId
13
+ * - CompletionConfidence — multi-signal scoring for completion detection (0-100)
14
+ * - RalphStatusBlock — parsed RALPH_STATUS block from Claude output (status, tests, exit signal)
15
+ * - CircuitBreakerStatus / CircuitBreakerState — stuck-loop detection state machine (CLOSED → HALF_OPEN → OPEN)
16
+ * - Factory functions: createInitialCircuitBreakerStatus(), createInitialRalphTrackerState(), createInitialRalphSessionState()
17
+ *
18
+ * Cross-domain relationships:
19
+ * - RalphLoopState is embedded in AppState.ralphLoop (app-state domain)
20
+ * - RalphSessionState.sessionId links to SessionState.id (session domain)
21
+ * - CircuitBreakerStatus feeds into RalphLoopHealthScore.components.circuitBreaker (respawn domain)
22
+ *
23
+ * Served at `GET /api/sessions/:id/ralph-state` and `GET /api/sessions/:id/ralph-status`.
24
+ */
25
+ /** Status of the Ralph Loop controller */
26
+ export type RalphLoopStatus = 'stopped' | 'running' | 'paused';
27
+ /**
28
+ * State of the Ralph Loop controller
29
+ */
30
+ export interface RalphLoopState {
31
+ /** Current loop status */
32
+ status: RalphLoopStatus;
33
+ /** Timestamp when loop started */
34
+ startedAt: number | null;
35
+ /** Minimum duration to run in milliseconds */
36
+ minDurationMs: number | null;
37
+ /** Number of tasks completed in this run */
38
+ tasksCompleted: number;
39
+ /** Number of tasks auto-generated */
40
+ tasksGenerated: number;
41
+ /** Timestamp of last status check */
42
+ lastCheckAt: number | null;
43
+ }
44
+ /** Status of a detected todo item */
45
+ export type RalphTodoStatus = 'pending' | 'in_progress' | 'completed';
46
+ /**
47
+ * Confidence scoring for completion detection.
48
+ * Helps distinguish genuine completion signals from false positives.
49
+ */
50
+ export interface CompletionConfidence {
51
+ /** Overall confidence level (0-100) */
52
+ score: number;
53
+ /** Whether score is above threshold for triggering completion */
54
+ isConfident: boolean;
55
+ /** Individual signal contributions */
56
+ signals: {
57
+ /** Promise tag detected with proper formatting */
58
+ hasPromiseTag: boolean;
59
+ /** Phrase matches expected completion phrase */
60
+ matchesExpected: boolean;
61
+ /** All todos are marked complete */
62
+ allTodosComplete: boolean;
63
+ /** EXIT_SIGNAL: true in RALPH_STATUS block */
64
+ hasExitSignal: boolean;
65
+ /** Multiple completion indicators present */
66
+ multipleIndicators: boolean;
67
+ /** Output context suggests completion (not in prompt/explanation) */
68
+ contextAppropriate: boolean;
69
+ };
70
+ /** Timestamp of last confidence calculation */
71
+ calculatedAt: number;
72
+ }
73
+ export interface RalphTrackerState {
74
+ /** Whether the tracker is actively monitoring (disabled by default) */
75
+ enabled: boolean;
76
+ /** Whether a loop is currently active */
77
+ active: boolean;
78
+ /** Detected completion phrase (primary) */
79
+ completionPhrase: string | null;
80
+ /** Additional valid completion phrases (P1-003: multi-phrase support) */
81
+ alternateCompletionPhrases?: string[];
82
+ /** Timestamp when loop started */
83
+ startedAt: number | null;
84
+ /** Number of cycles/iterations detected */
85
+ cycleCount: number;
86
+ /** Maximum iterations if detected */
87
+ maxIterations: number | null;
88
+ /** Timestamp of last activity */
89
+ lastActivity: number;
90
+ /** Elapsed hours if detected */
91
+ elapsedHours: number | null;
92
+ /** Current plan version (for versioning UI) */
93
+ planVersion?: number;
94
+ /** Number of versions in history (for versioning UI) */
95
+ planHistoryLength?: number;
96
+ /** Last completion confidence assessment */
97
+ completionConfidence?: CompletionConfidence;
98
+ }
99
+ /**
100
+ * Priority levels for todo items.
101
+ * Matches @fix_plan.md format (P0=critical, P1=high, P2=normal).
102
+ */
103
+ export type RalphTodoPriority = 'P0' | 'P1' | 'P2' | null;
104
+ /**
105
+ * A detected todo item from Claude Code output
106
+ */
107
+ export interface RalphTodoItem {
108
+ /** Unique identifier based on content hash */
109
+ id: string;
110
+ /** Todo item text content */
111
+ content: string;
112
+ /** Current status */
113
+ status: RalphTodoStatus;
114
+ /** Timestamp when detected */
115
+ detectedAt: number;
116
+ /** Priority level (P0=critical, P1=high, P2=normal) */
117
+ priority: RalphTodoPriority;
118
+ /** P1-009: Estimated time to complete (ms), based on historical patterns */
119
+ estimatedDurationMs?: number;
120
+ /** P1-009: Complexity category for progress estimation */
121
+ estimatedComplexity?: 'trivial' | 'simple' | 'moderate' | 'complex';
122
+ }
123
+ /**
124
+ * Progress estimation for the todo list
125
+ */
126
+ export interface RalphTodoProgress {
127
+ /** Total number of todos */
128
+ total: number;
129
+ /** Number completed */
130
+ completed: number;
131
+ /** Number in progress */
132
+ inProgress: number;
133
+ /** Number pending */
134
+ pending: number;
135
+ /** Completion percentage (0-100) */
136
+ percentComplete: number;
137
+ /** Estimated remaining time (ms), based on historical completion rate */
138
+ estimatedRemainingMs: number | null;
139
+ /** Average time per todo completion (ms) */
140
+ avgCompletionTimeMs: number | null;
141
+ /** Projected completion timestamp (epoch ms) */
142
+ projectedCompletionAt: number | null;
143
+ }
144
+ /**
145
+ * Complete Ralph/todo state for a session
146
+ */
147
+ export interface RalphSessionState {
148
+ /** Session this state belongs to */
149
+ sessionId: string;
150
+ /** Loop tracking state */
151
+ loop: RalphTrackerState;
152
+ /** Detected todo items */
153
+ todos: RalphTodoItem[];
154
+ /** Timestamp of last update */
155
+ lastUpdated: number;
156
+ }
157
+ /**
158
+ * Status values from RALPH_STATUS block.
159
+ * - IN_PROGRESS: Work is ongoing
160
+ * - COMPLETE: All tasks finished
161
+ * - BLOCKED: Needs human intervention
162
+ */
163
+ export type RalphStatusValue = 'IN_PROGRESS' | 'COMPLETE' | 'BLOCKED';
164
+ /**
165
+ * Test status from RALPH_STATUS block.
166
+ */
167
+ export type RalphTestsStatus = 'PASSING' | 'FAILING' | 'NOT_RUN';
168
+ /**
169
+ * Work type classification for current iteration.
170
+ */
171
+ export type RalphWorkType = 'IMPLEMENTATION' | 'TESTING' | 'DOCUMENTATION' | 'REFACTORING';
172
+ /**
173
+ * Parsed RALPH_STATUS block from Claude output.
174
+ *
175
+ * Claude outputs this at the end of every response:
176
+ * ```
177
+ * ---RALPH_STATUS---
178
+ * STATUS: IN_PROGRESS
179
+ * TASKS_COMPLETED_THIS_LOOP: 3
180
+ * FILES_MODIFIED: 5
181
+ * TESTS_STATUS: PASSING
182
+ * WORK_TYPE: IMPLEMENTATION
183
+ * EXIT_SIGNAL: false
184
+ * RECOMMENDATION: Continue with database migration
185
+ * ---END_RALPH_STATUS---
186
+ * ```
187
+ */
188
+ export interface RalphStatusBlock {
189
+ /** Overall loop status */
190
+ status: RalphStatusValue;
191
+ /** Number of tasks completed in current iteration */
192
+ tasksCompletedThisLoop: number;
193
+ /** Number of files modified in current iteration */
194
+ filesModified: number;
195
+ /** Current state of tests */
196
+ testsStatus: RalphTestsStatus;
197
+ /** Type of work being performed */
198
+ workType: RalphWorkType;
199
+ /** Whether Claude is signaling completion */
200
+ exitSignal: boolean;
201
+ /** Claude's recommendation for next steps */
202
+ recommendation: string;
203
+ /** Timestamp when this block was parsed */
204
+ parsedAt: number;
205
+ }
206
+ /**
207
+ * Circuit breaker states for detecting stuck loops.
208
+ * - CLOSED: Normal operation, all checks passing
209
+ * - HALF_OPEN: Warning state, some checks failing
210
+ * - OPEN: Loop is stuck, requires intervention
211
+ */
212
+ export type CircuitBreakerState = 'CLOSED' | 'HALF_OPEN' | 'OPEN';
213
+ /**
214
+ * Reason codes for circuit breaker state transitions.
215
+ */
216
+ export type CircuitBreakerReason = 'normal_operation' | 'no_progress_warning' | 'no_progress_open' | 'same_error_repeated' | 'tests_failing_too_long' | 'progress_detected' | 'manual_reset';
217
+ /**
218
+ * Circuit breaker status for tracking loop health.
219
+ *
220
+ * Transitions:
221
+ * - CLOSED -> HALF_OPEN: consecutive_no_progress >= 2
222
+ * - CLOSED -> OPEN: consecutive_no_progress >= 3 OR consecutive_same_error >= 5
223
+ * - HALF_OPEN -> CLOSED: progress detected
224
+ * - HALF_OPEN -> OPEN: consecutive_no_progress >= 3
225
+ * - OPEN -> CLOSED: manual reset only
226
+ */
227
+ export interface CircuitBreakerStatus {
228
+ /** Current state of the circuit breaker */
229
+ state: CircuitBreakerState;
230
+ /** Number of consecutive iterations with no progress */
231
+ consecutiveNoProgress: number;
232
+ /** Number of consecutive iterations with the same error */
233
+ consecutiveSameError: number;
234
+ /** Number of consecutive iterations with failing tests */
235
+ consecutiveTestsFailure: number;
236
+ /** Last iteration number that showed progress */
237
+ lastProgressIteration: number;
238
+ /** Human-readable reason for current state */
239
+ reason: string;
240
+ /** Reason code for programmatic handling */
241
+ reasonCode: CircuitBreakerReason;
242
+ /** Timestamp of last state transition */
243
+ lastTransitionAt: number;
244
+ /** Last error message seen (for same-error tracking) */
245
+ lastErrorMessage: string | null;
246
+ }
247
+ /**
248
+ * Creates initial circuit breaker status.
249
+ */
250
+ export declare function createInitialCircuitBreakerStatus(): CircuitBreakerStatus;
251
+ /**
252
+ * Creates initial Ralph tracker state
253
+ * @returns Fresh Ralph tracker state with defaults
254
+ */
255
+ export declare function createInitialRalphTrackerState(): RalphTrackerState;
256
+ /**
257
+ * Creates initial Ralph session state
258
+ * @param sessionId Session ID this state belongs to
259
+ * @returns Fresh Ralph session state
260
+ */
261
+ export declare function createInitialRalphSessionState(sessionId: string): RalphSessionState;
262
+ //# sourceMappingURL=ralph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../src/types/ralph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @fileoverview Ralph Loop / todo tracking type definitions.
3
+ *
4
+ * Covers the autonomous task execution system: loop state, todo items,
5
+ * completion confidence scoring, RALPH_STATUS block parsing, and the
6
+ * circuit breaker for stuck-loop detection.
7
+ *
8
+ * Key exports:
9
+ * - RalphLoopState / RalphLoopStatus — global loop controller state (embedded in AppState)
10
+ * - RalphTrackerState — per-session loop tracking (cycle count, completion phrase, plan version)
11
+ * - RalphTodoItem / RalphTodoProgress — detected todo items with priority and progress estimation
12
+ * - RalphSessionState — composite per-session state (loop + todos), linked via sessionId
13
+ * - CompletionConfidence — multi-signal scoring for completion detection (0-100)
14
+ * - RalphStatusBlock — parsed RALPH_STATUS block from Claude output (status, tests, exit signal)
15
+ * - CircuitBreakerStatus / CircuitBreakerState — stuck-loop detection state machine (CLOSED → HALF_OPEN → OPEN)
16
+ * - Factory functions: createInitialCircuitBreakerStatus(), createInitialRalphTrackerState(), createInitialRalphSessionState()
17
+ *
18
+ * Cross-domain relationships:
19
+ * - RalphLoopState is embedded in AppState.ralphLoop (app-state domain)
20
+ * - RalphSessionState.sessionId links to SessionState.id (session domain)
21
+ * - CircuitBreakerStatus feeds into RalphLoopHealthScore.components.circuitBreaker (respawn domain)
22
+ *
23
+ * Served at `GET /api/sessions/:id/ralph-state` and `GET /api/sessions/:id/ralph-status`.
24
+ */
25
+ /**
26
+ * Creates initial circuit breaker status.
27
+ */
28
+ export function createInitialCircuitBreakerStatus() {
29
+ return {
30
+ state: 'CLOSED',
31
+ consecutiveNoProgress: 0,
32
+ consecutiveSameError: 0,
33
+ consecutiveTestsFailure: 0,
34
+ lastProgressIteration: 0,
35
+ reason: 'Initial state',
36
+ reasonCode: 'normal_operation',
37
+ lastTransitionAt: Date.now(),
38
+ lastErrorMessage: null,
39
+ };
40
+ }
41
+ /**
42
+ * Creates initial Ralph tracker state
43
+ * @returns Fresh Ralph tracker state with defaults
44
+ */
45
+ export function createInitialRalphTrackerState() {
46
+ return {
47
+ enabled: false, // Disabled by default, auto-enables when Ralph patterns detected
48
+ active: false,
49
+ completionPhrase: null,
50
+ startedAt: null,
51
+ cycleCount: 0,
52
+ maxIterations: null,
53
+ lastActivity: Date.now(),
54
+ elapsedHours: null,
55
+ };
56
+ }
57
+ /**
58
+ * Creates initial Ralph session state
59
+ * @param sessionId Session ID this state belongs to
60
+ * @returns Fresh Ralph session state
61
+ */
62
+ export function createInitialRalphSessionState(sessionId) {
63
+ return {
64
+ sessionId,
65
+ loop: createInitialRalphTrackerState(),
66
+ todos: [],
67
+ lastUpdated: Date.now(),
68
+ };
69
+ }
70
+ //# sourceMappingURL=ralph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../src/types/ralph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA2PH;;GAEG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,qBAAqB,EAAE,CAAC;QACxB,oBAAoB,EAAE,CAAC;QACvB,uBAAuB,EAAE,CAAC;QAC1B,qBAAqB,EAAE,CAAC;QACxB,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,kBAAkB;QAC9B,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC5B,gBAAgB,EAAE,IAAI;KACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,iEAAiE;QACjF,MAAM,EAAE,KAAK;QACb,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;QACxB,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAiB;IAC9D,OAAO;QACL,SAAS;QACT,IAAI,EAAE,8BAA8B,EAAE;QACtC,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;AACJ,CAAC"}