aicodeman 1.42.0 → 1.44.0

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 (350) hide show
  1. package/README.md +13 -12
  2. package/dist/claude-session-title.d.ts +6 -4
  3. package/dist/claude-session-title.d.ts.map +1 -1
  4. package/dist/claude-session-title.js +6 -4
  5. package/dist/claude-session-title.js.map +1 -1
  6. package/dist/cli-agent.d.ts +3 -3
  7. package/dist/cli-agent.d.ts.map +1 -1
  8. package/dist/cli-agent.js +8 -6
  9. package/dist/cli-agent.js.map +1 -1
  10. package/dist/config/cli-registry/patterns.d.ts +1 -1
  11. package/dist/config/cli-registry/patterns.d.ts.map +1 -1
  12. package/dist/config/cli-registry/patterns.js +3 -0
  13. package/dist/config/cli-registry/patterns.js.map +1 -1
  14. package/dist/config/cli-registry/schema.d.ts +1 -0
  15. package/dist/config/cli-registry/schema.d.ts.map +1 -1
  16. package/dist/config/cli-registry/schema.js +5 -3
  17. package/dist/config/cli-registry/schema.js.map +1 -1
  18. package/dist/config/cli-registry/stock.d.ts.map +1 -1
  19. package/dist/config/cli-registry/stock.js +263 -4
  20. package/dist/config/cli-registry/stock.js.map +1 -1
  21. package/dist/config/cli-registry/types.d.ts +13 -5
  22. package/dist/config/cli-registry/types.d.ts.map +1 -1
  23. package/dist/config/map-limits.d.ts +13 -1
  24. package/dist/config/map-limits.d.ts.map +1 -1
  25. package/dist/config/map-limits.js +28 -1
  26. package/dist/config/map-limits.js.map +1 -1
  27. package/dist/config-backup.d.ts +279 -0
  28. package/dist/config-backup.d.ts.map +1 -0
  29. package/dist/config-backup.js +794 -0
  30. package/dist/config-backup.js.map +1 -0
  31. package/dist/cron/cron-service.d.ts +5 -5
  32. package/dist/cron/cron-service.js +6 -6
  33. package/dist/cron/cron-service.js.map +1 -1
  34. package/dist/custom-model-hosts.d.ts +16 -0
  35. package/dist/custom-model-hosts.d.ts.map +1 -1
  36. package/dist/custom-model-hosts.js.map +1 -1
  37. package/dist/hooks-config.d.ts +24 -0
  38. package/dist/hooks-config.d.ts.map +1 -1
  39. package/dist/hooks-config.js +47 -0
  40. package/dist/hooks-config.js.map +1 -1
  41. package/dist/intent-store.d.ts +2 -0
  42. package/dist/intent-store.d.ts.map +1 -1
  43. package/dist/intent-store.js +9 -0
  44. package/dist/intent-store.js.map +1 -1
  45. package/dist/mcp-sync-targets.d.ts +6 -3
  46. package/dist/mcp-sync-targets.d.ts.map +1 -1
  47. package/dist/mcp-sync-targets.js +6 -3
  48. package/dist/mcp-sync-targets.js.map +1 -1
  49. package/dist/mux-interface.d.ts +28 -7
  50. package/dist/mux-interface.d.ts.map +1 -1
  51. package/dist/prompt-cache-keepwarm.d.ts +193 -0
  52. package/dist/prompt-cache-keepwarm.d.ts.map +1 -0
  53. package/dist/prompt-cache-keepwarm.js +359 -0
  54. package/dist/prompt-cache-keepwarm.js.map +1 -0
  55. package/dist/respawn-controller.d.ts.map +1 -1
  56. package/dist/respawn-controller.js +6 -5
  57. package/dist/respawn-controller.js.map +1 -1
  58. package/dist/session-auto-ops.d.ts.map +1 -1
  59. package/dist/session-auto-ops.js +6 -1
  60. package/dist/session-auto-ops.js.map +1 -1
  61. package/dist/session-cli-registry-bridge.d.ts +15 -1
  62. package/dist/session-cli-registry-bridge.d.ts.map +1 -1
  63. package/dist/session-cli-registry-bridge.js +20 -3
  64. package/dist/session-cli-registry-bridge.js.map +1 -1
  65. package/dist/session-submit-verifier.d.ts +19 -0
  66. package/dist/session-submit-verifier.d.ts.map +1 -1
  67. package/dist/session-submit-verifier.js +88 -0
  68. package/dist/session-submit-verifier.js.map +1 -1
  69. package/dist/session.d.ts +83 -12
  70. package/dist/session.d.ts.map +1 -1
  71. package/dist/session.js +150 -16
  72. package/dist/session.js.map +1 -1
  73. package/dist/state-store.d.ts +10 -0
  74. package/dist/state-store.d.ts.map +1 -1
  75. package/dist/state-store.js +35 -0
  76. package/dist/state-store.js.map +1 -1
  77. package/dist/tab-layout-service.d.ts +33 -0
  78. package/dist/tab-layout-service.d.ts.map +1 -1
  79. package/dist/tab-layout-service.js +75 -3
  80. package/dist/tab-layout-service.js.map +1 -1
  81. package/dist/tmux-manager.d.ts +52 -9
  82. package/dist/tmux-manager.d.ts.map +1 -1
  83. package/dist/tmux-manager.js +148 -30
  84. package/dist/tmux-manager.js.map +1 -1
  85. package/dist/tmux-prefix-table.d.ts +54 -0
  86. package/dist/tmux-prefix-table.d.ts.map +1 -0
  87. package/dist/tmux-prefix-table.js +137 -0
  88. package/dist/tmux-prefix-table.js.map +1 -0
  89. package/dist/tui/tui-app.d.ts +9 -1
  90. package/dist/tui/tui-app.d.ts.map +1 -1
  91. package/dist/tui/tui-app.js +21 -8
  92. package/dist/tui/tui-app.js.map +1 -1
  93. package/dist/tui/tui-client.d.ts +3 -2
  94. package/dist/tui/tui-client.d.ts.map +1 -1
  95. package/dist/tui/tui-client.js +3 -2
  96. package/dist/tui/tui-client.js.map +1 -1
  97. package/dist/types/app-state.d.ts +6 -0
  98. package/dist/types/app-state.d.ts.map +1 -1
  99. package/dist/types/app-state.js.map +1 -1
  100. package/dist/types/session.d.ts +72 -5
  101. package/dist/types/session.d.ts.map +1 -1
  102. package/dist/types/session.js +2 -1
  103. package/dist/types/session.js.map +1 -1
  104. package/dist/usage-telemetry.d.ts +15 -0
  105. package/dist/usage-telemetry.d.ts.map +1 -1
  106. package/dist/usage-telemetry.js +45 -2
  107. package/dist/usage-telemetry.js.map +1 -1
  108. package/dist/utils/cli-installed-probes.d.ts +1 -1
  109. package/dist/utils/cli-installed-probes.d.ts.map +1 -1
  110. package/dist/utils/cli-installed-probes.js +4 -2
  111. package/dist/utils/cli-installed-probes.js.map +1 -1
  112. package/dist/utils/copilot-cli-resolver.d.ts +48 -0
  113. package/dist/utils/copilot-cli-resolver.d.ts.map +1 -0
  114. package/dist/utils/copilot-cli-resolver.js +112 -0
  115. package/dist/utils/copilot-cli-resolver.js.map +1 -0
  116. package/dist/utils/copilot-plan-usage.d.ts +46 -0
  117. package/dist/utils/copilot-plan-usage.d.ts.map +1 -0
  118. package/dist/utils/copilot-plan-usage.js +95 -0
  119. package/dist/utils/copilot-plan-usage.js.map +1 -0
  120. package/dist/utils/index.d.ts +3 -0
  121. package/dist/utils/index.d.ts.map +1 -1
  122. package/dist/utils/index.js +3 -0
  123. package/dist/utils/index.js.map +1 -1
  124. package/dist/utils/single-line.d.ts +22 -0
  125. package/dist/utils/single-line.d.ts.map +1 -0
  126. package/dist/utils/single-line.js +30 -0
  127. package/dist/utils/single-line.js.map +1 -0
  128. package/dist/web/approval-inbox.d.ts +6 -0
  129. package/dist/web/approval-inbox.d.ts.map +1 -1
  130. package/dist/web/approval-inbox.js +2 -2
  131. package/dist/web/approval-inbox.js.map +1 -1
  132. package/dist/web/case-path.d.ts +4 -2
  133. package/dist/web/case-path.d.ts.map +1 -1
  134. package/dist/web/case-path.js +13 -4
  135. package/dist/web/case-path.js.map +1 -1
  136. package/dist/web/plan-usage-latest.d.ts +2 -1
  137. package/dist/web/plan-usage-latest.d.ts.map +1 -1
  138. package/dist/web/plan-usage-latest.js +12 -2
  139. package/dist/web/plan-usage-latest.js.map +1 -1
  140. package/dist/web/ports/index.d.ts +1 -0
  141. package/dist/web/ports/index.d.ts.map +1 -1
  142. package/dist/web/ports/keep-warm-port.d.ts +9 -0
  143. package/dist/web/ports/keep-warm-port.d.ts.map +1 -0
  144. package/dist/web/ports/keep-warm-port.js +6 -0
  145. package/dist/web/ports/keep-warm-port.js.map +1 -0
  146. package/dist/web/ports/session-port.d.ts +3 -1
  147. package/dist/web/ports/session-port.d.ts.map +1 -1
  148. package/dist/web/public/admin-ui.js.gz +0 -0
  149. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  150. package/dist/web/public/app.9314ee60.js +43 -0
  151. package/dist/web/public/app.9314ee60.js.br +0 -0
  152. package/dist/web/public/app.9314ee60.js.gz +0 -0
  153. package/dist/web/public/approvals-ui.js.gz +0 -0
  154. package/dist/web/public/{constants.12b0c247.js → constants.4866ecc3.js} +205 -3
  155. package/dist/web/public/constants.4866ecc3.js.br +0 -0
  156. package/dist/web/public/constants.4866ecc3.js.gz +0 -0
  157. package/dist/web/public/cron-ui.js.gz +0 -0
  158. package/dist/web/public/entrance-animations.js.gz +0 -0
  159. package/dist/web/public/git-status-ui.js.gz +0 -0
  160. package/dist/web/public/home-sessions.js.gz +0 -0
  161. package/dist/web/public/host-wake-ui.js.gz +0 -0
  162. package/dist/web/public/i18n.22ca902b.js +2 -0
  163. package/dist/web/public/i18n.22ca902b.js.br +0 -0
  164. package/dist/web/public/i18n.22ca902b.js.gz +0 -0
  165. package/dist/web/public/{image-input.fcdcb46c.js → image-input.941386e7.js} +24 -14
  166. package/dist/web/public/image-input.941386e7.js.br +0 -0
  167. package/dist/web/public/image-input.941386e7.js.gz +0 -0
  168. package/dist/web/public/index.html +110 -16
  169. package/dist/web/public/index.html.br +0 -0
  170. package/dist/web/public/index.html.gz +0 -0
  171. package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
  172. package/dist/web/public/{keyboard-accessory.b42f539b.js → keyboard-accessory.4e8b20ac.js} +51 -22
  173. package/dist/web/public/keyboard-accessory.4e8b20ac.js.br +0 -0
  174. package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
  175. package/dist/web/public/{mobile-handlers.0ef9c311.js → mobile-handlers.44adaa07.js} +48 -16
  176. package/dist/web/public/mobile-handlers.44adaa07.js.br +0 -0
  177. package/dist/web/public/mobile-handlers.44adaa07.js.gz +0 -0
  178. package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
  179. package/dist/web/public/mobile-overview.js +1 -0
  180. package/dist/web/public/mobile-overview.js.br +0 -0
  181. package/dist/web/public/mobile-overview.js.gz +0 -0
  182. package/dist/web/public/mobile.12fb18de.css +1 -0
  183. package/dist/web/public/mobile.12fb18de.css.br +0 -0
  184. package/dist/web/public/mobile.12fb18de.css.gz +0 -0
  185. package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
  186. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  187. package/dist/web/public/{panels-ui.73ec0137.js → panels-ui.cbb24ba1.js} +66 -66
  188. package/dist/web/public/panels-ui.cbb24ba1.js.br +0 -0
  189. package/dist/web/public/panels-ui.cbb24ba1.js.gz +0 -0
  190. package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
  191. package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
  192. package/dist/web/public/readmymind-ui.js.gz +0 -0
  193. package/dist/web/public/reboot-restore-ui.js.gz +0 -0
  194. package/dist/web/public/respawn-ui.d7adcf6a.js.gz +0 -0
  195. package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
  196. package/dist/web/public/security-notices.json +21 -0
  197. package/dist/web/public/session-lineage.js.gz +0 -0
  198. package/dist/web/public/{session-ui.d52ff6aa.js → session-ui.9c1f009b.js} +8 -4
  199. package/dist/web/public/session-ui.9c1f009b.js.br +0 -0
  200. package/dist/web/public/session-ui.9c1f009b.js.gz +0 -0
  201. package/dist/web/public/settings-ui.fea9ddae.js +106 -0
  202. package/dist/web/public/settings-ui.fea9ddae.js.br +0 -0
  203. package/dist/web/public/settings-ui.fea9ddae.js.gz +0 -0
  204. package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
  205. package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
  206. package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
  207. package/dist/web/public/styles.e096fcd6.css +1 -0
  208. package/dist/web/public/styles.e096fcd6.css.br +0 -0
  209. package/dist/web/public/styles.e096fcd6.css.gz +0 -0
  210. package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
  211. package/dist/web/public/sw.js +2 -2
  212. package/dist/web/public/sw.js.br +0 -0
  213. package/dist/web/public/sw.js.gz +0 -0
  214. package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
  215. package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
  216. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
  217. package/dist/web/public/terminal-split.js.gz +0 -0
  218. package/dist/web/public/terminal-tile.js +41 -22
  219. package/dist/web/public/terminal-tile.js.br +0 -0
  220. package/dist/web/public/terminal-tile.js.gz +0 -0
  221. package/dist/web/public/terminal-ui.68dbd352.js +2 -0
  222. package/dist/web/public/terminal-ui.68dbd352.js.br +0 -0
  223. package/dist/web/public/terminal-ui.68dbd352.js.gz +0 -0
  224. package/dist/web/public/tile-grid.js +3 -6
  225. package/dist/web/public/tile-grid.js.br +0 -0
  226. package/dist/web/public/tile-grid.js.gz +0 -0
  227. package/dist/web/public/ultracode-panel.js.gz +0 -0
  228. package/dist/web/public/ultracode-windows.js.gz +0 -0
  229. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  230. package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
  231. package/dist/web/public/vendor/fflate.min.js.gz +0 -0
  232. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  233. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  234. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  235. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  236. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  237. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
  238. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.gz +0 -0
  239. package/dist/web/public/vendor/xterm.css.gz +0 -0
  240. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  241. package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
  242. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  243. package/dist/web/public/webview-tabs.js.gz +0 -0
  244. package/dist/web/public/whats-new.json +9 -9
  245. package/dist/web/response-viewer-transcript.d.ts +6 -0
  246. package/dist/web/response-viewer-transcript.d.ts.map +1 -1
  247. package/dist/web/response-viewer-transcript.js +134 -1
  248. package/dist/web/response-viewer-transcript.js.map +1 -1
  249. package/dist/web/routes/admin-routes.d.ts +2 -1
  250. package/dist/web/routes/admin-routes.d.ts.map +1 -1
  251. package/dist/web/routes/admin-routes.js +3 -0
  252. package/dist/web/routes/admin-routes.js.map +1 -1
  253. package/dist/web/routes/case-routes.d.ts +2 -2
  254. package/dist/web/routes/case-routes.d.ts.map +1 -1
  255. package/dist/web/routes/case-routes.js +81 -3
  256. package/dist/web/routes/case-routes.js.map +1 -1
  257. package/dist/web/routes/config-backup-routes.d.ts +54 -0
  258. package/dist/web/routes/config-backup-routes.d.ts.map +1 -0
  259. package/dist/web/routes/config-backup-routes.js +268 -0
  260. package/dist/web/routes/config-backup-routes.js.map +1 -0
  261. package/dist/web/routes/custom-model-routes.d.ts +17 -1
  262. package/dist/web/routes/custom-model-routes.d.ts.map +1 -1
  263. package/dist/web/routes/custom-model-routes.js +118 -13
  264. package/dist/web/routes/custom-model-routes.js.map +1 -1
  265. package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
  266. package/dist/web/routes/hook-event-routes.js +26 -5
  267. package/dist/web/routes/hook-event-routes.js.map +1 -1
  268. package/dist/web/routes/index.d.ts +1 -0
  269. package/dist/web/routes/index.d.ts.map +1 -1
  270. package/dist/web/routes/index.js +1 -0
  271. package/dist/web/routes/index.js.map +1 -1
  272. package/dist/web/routes/mcp-sync-routes.d.ts +4 -4
  273. package/dist/web/routes/mcp-sync-routes.js +4 -4
  274. package/dist/web/routes/ralph-routes.js +2 -2
  275. package/dist/web/routes/ralph-routes.js.map +1 -1
  276. package/dist/web/routes/reboot-restore-routes.d.ts.map +1 -1
  277. package/dist/web/routes/reboot-restore-routes.js +2 -0
  278. package/dist/web/routes/reboot-restore-routes.js.map +1 -1
  279. package/dist/web/routes/session-routes.d.ts +14 -4
  280. package/dist/web/routes/session-routes.d.ts.map +1 -1
  281. package/dist/web/routes/session-routes.js +131 -30
  282. package/dist/web/routes/session-routes.js.map +1 -1
  283. package/dist/web/routes/status-telemetry-routes.d.ts +2 -2
  284. package/dist/web/routes/status-telemetry-routes.d.ts.map +1 -1
  285. package/dist/web/routes/status-telemetry-routes.js +8 -4
  286. package/dist/web/routes/status-telemetry-routes.js.map +1 -1
  287. package/dist/web/routes/system-routes.d.ts +2 -2
  288. package/dist/web/routes/system-routes.d.ts.map +1 -1
  289. package/dist/web/routes/system-routes.js +18 -0
  290. package/dist/web/routes/system-routes.js.map +1 -1
  291. package/dist/web/routes/webview-routes.d.ts.map +1 -1
  292. package/dist/web/routes/webview-routes.js +1 -0
  293. package/dist/web/routes/webview-routes.js.map +1 -1
  294. package/dist/web/schemas.d.ts +32 -0
  295. package/dist/web/schemas.d.ts.map +1 -1
  296. package/dist/web/schemas.js +64 -4
  297. package/dist/web/schemas.js.map +1 -1
  298. package/dist/web/server.d.ts +12 -2
  299. package/dist/web/server.d.ts.map +1 -1
  300. package/dist/web/server.js +127 -6
  301. package/dist/web/server.js.map +1 -1
  302. package/dist/web/session-listener-wiring.d.ts +6 -0
  303. package/dist/web/session-listener-wiring.d.ts.map +1 -1
  304. package/dist/web/session-listener-wiring.js +10 -3
  305. package/dist/web/session-listener-wiring.js.map +1 -1
  306. package/dist/web/sse-events.d.ts +5 -2
  307. package/dist/web/sse-events.d.ts.map +1 -1
  308. package/dist/web/sse-events.js +5 -2
  309. package/dist/web/sse-events.js.map +1 -1
  310. package/dist/web/webview-proxy.d.ts +8 -3
  311. package/dist/web/webview-proxy.d.ts.map +1 -1
  312. package/dist/web/webview-proxy.js +23 -5
  313. package/dist/web/webview-proxy.js.map +1 -1
  314. package/package.json +1 -1
  315. package/skills/codeman/SKILL.md +23 -11
  316. package/skills/codeman/preamble.sh +12 -2
  317. package/skills/codeman/reference/endpoints.md +16 -15
  318. package/skills/codeman/reference/messaging.md +5 -5
  319. package/skills/codeman/reference/recipes.md +2 -2
  320. package/skills/codeman/reference/verbs.md +25 -17
  321. package/dist/web/public/app.f04bb2a5.js +0 -43
  322. package/dist/web/public/app.f04bb2a5.js.br +0 -0
  323. package/dist/web/public/app.f04bb2a5.js.gz +0 -0
  324. package/dist/web/public/constants.12b0c247.js.br +0 -0
  325. package/dist/web/public/constants.12b0c247.js.gz +0 -0
  326. package/dist/web/public/i18n.06659676.js +0 -2
  327. package/dist/web/public/i18n.06659676.js.br +0 -0
  328. package/dist/web/public/i18n.06659676.js.gz +0 -0
  329. package/dist/web/public/image-input.fcdcb46c.js.br +0 -0
  330. package/dist/web/public/image-input.fcdcb46c.js.gz +0 -0
  331. package/dist/web/public/keyboard-accessory.b42f539b.js.br +0 -0
  332. package/dist/web/public/keyboard-accessory.b42f539b.js.gz +0 -0
  333. package/dist/web/public/mobile-handlers.0ef9c311.js.br +0 -0
  334. package/dist/web/public/mobile-handlers.0ef9c311.js.gz +0 -0
  335. package/dist/web/public/mobile.2dff1580.css +0 -1
  336. package/dist/web/public/mobile.2dff1580.css.br +0 -0
  337. package/dist/web/public/mobile.2dff1580.css.gz +0 -0
  338. package/dist/web/public/panels-ui.73ec0137.js.br +0 -0
  339. package/dist/web/public/panels-ui.73ec0137.js.gz +0 -0
  340. package/dist/web/public/session-ui.d52ff6aa.js.br +0 -0
  341. package/dist/web/public/session-ui.d52ff6aa.js.gz +0 -0
  342. package/dist/web/public/settings-ui.3a22bd2a.js +0 -97
  343. package/dist/web/public/settings-ui.3a22bd2a.js.br +0 -0
  344. package/dist/web/public/settings-ui.3a22bd2a.js.gz +0 -0
  345. package/dist/web/public/styles.ba6a9b84.css +0 -1
  346. package/dist/web/public/styles.ba6a9b84.css.br +0 -0
  347. package/dist/web/public/styles.ba6a9b84.css.gz +0 -0
  348. package/dist/web/public/terminal-ui.0a7ccc29.js +0 -2
  349. package/dist/web/public/terminal-ui.0a7ccc29.js.br +0 -0
  350. package/dist/web/public/terminal-ui.0a7ccc29.js.gz +0 -0
@@ -0,0 +1,359 @@
1
+ /**
2
+ * @fileoverview Prompt-cache keep-warm: a one-line keep-alive turn shortly before an idle
3
+ * claude session's prompt cache would expire, so the next real prompt reads the conversation
4
+ * from cache instead of re-processing it at the cache-write rate.
5
+ *
6
+ * Why it exists: Claude Code gives a subscription's main conversation a one-hour cache and
7
+ * lets it expire after an hour idle. Measured on real sessions, nearly every gap over an
8
+ * hour went cold and the first turn back re-wrote the whole context at 2x; a keep-alive turn
9
+ * costs a cache read plus a one-word reply, a small fraction of the miss it prevents, and the
10
+ * payoff is concentrated in gaps of one to four hours, which is why there is a cap after the
11
+ * last real prompt rather than an indefinite loop.
12
+ *
13
+ * Codeman owns the idle policy for these sessions (Discussion #554): a launch with keep-warm
14
+ * on also carries `idleCompaction: false` in its one `--settings` JSON, so Claude Code's own
15
+ * idle compaction (which fires at 90% of the TTL, a minute before the nudge) cannot replace
16
+ * the conversation with a summary first. That is decided once per launch in
17
+ * `TmuxManager._resolveIdleCompactionOptOut()` and recorded on the mux record; a session
18
+ * switched on after launch is kept warm best-effort and says so.
19
+ *
20
+ * Where the facts come from: `Session.promptCache` (the statusline's `prompt_cache` object,
21
+ * see usage-telemetry.ts) carries `expires_at`, the TTL and the tokens at stake, so nothing
22
+ * here infers the lifetime from idle detection or the plan tier.
23
+ *
24
+ * Shape: `decideKeepWarm()` is the pure rulebook (every guard in one place, tested as a
25
+ * table); `PromptCacheKeepWarmService` owns the per-session timer and the ports it needs
26
+ * from the server. It never touches the session except through `beginKeepAliveTurn()` and
27
+ * `writeViaMux()`: the window `beginKeepAliveTurn()` opens is what keeps the nudge off the
28
+ * real-prompt clock and opens its stop hook and idle prompt pre-acknowledged
29
+ * (hook-event-routes.ts). The nudge is still a submit, so it moves `lastSubmitAt`.
30
+ *
31
+ * @module prompt-cache-keepwarm
32
+ */
33
+ /** The nudge. Under 100 chars on purpose: a longer burst reads as a paste to Claude Code. */
34
+ export const KEEP_WARM_NUDGE = 'Codeman cache keep-alive: no action needed, reply with just "ok".';
35
+ /** Nudge this long before `expires_at`. The nudge's own request is what refreshes the timer. */
36
+ export const KEEP_WARM_LEAD_MS = 5 * 60_000;
37
+ /** Re-check cadence while a transient guard (working, dialog, draft in the composer) defers. */
38
+ export const KEEP_WARM_RETRY_MS = 60_000;
39
+ /** Give up this close to expiry: a turn takes seconds to land and the Enter may be re-pressed. */
40
+ export const KEEP_WARM_LAST_CHANCE_MS = 60_000;
41
+ /** Below this many tokens at stake a cold rewrite is cheap and a turn is not worth it. */
42
+ export const KEEP_WARM_MIN_TOKENS = 20_000;
43
+ /** A person typed this recently: they may be about to submit, which refreshes the cache for free. */
44
+ export const KEEP_WARM_RECENT_INPUT_MS = 3 * 60_000;
45
+ /**
46
+ * Ceiling on the keep-alive window. The window normally closes on the turn's own idle prompt
47
+ * (Claude Code sends it about a minute after the turn ends, so a slow turn must not outlast a
48
+ * short fixed window) or earlier, at any other submit; the ceiling covers a turn whose idle
49
+ * prompt never arrives, such as a workspace without Codeman's hooks.
50
+ */
51
+ export const KEEP_WARM_TURN_WINDOW_MS = 10 * 60_000;
52
+ /** Default cap: hours after the last real prompt during which nudges are sent. */
53
+ export const DEFAULT_KEEP_WARM_MAX_HOURS = 2;
54
+ /** Longest delay `setTimeout` honours; Node fires anything longer after 1 ms. */
55
+ const MAX_TIMER_MS = 2 ** 31 - 1;
56
+ /**
57
+ * Whether keep-warm is on for a session: its own choice, else the app-wide default. A session
58
+ * an agent spawned (`parentSessionId`) does not inherit the default: a worker that finished
59
+ * its task is idle exactly like one that will be prompted again, and most never are, so only
60
+ * its own switch keeps it warm. One function because the launch (the `idleCompaction`
61
+ * opt-out) and the service must agree.
62
+ */
63
+ export function keepWarmOn(choice, appDefault, spawnedByAgent) {
64
+ return choice ?? (appDefault && !spawnedByAgent);
65
+ }
66
+ const stop = (reason) => ({ action: 'stop', reason });
67
+ const wait = (until, reason) => ({ action: 'wait', until, reason });
68
+ /**
69
+ * The rulebook. Hard stops first (nothing to do until the next cache report or a flag
70
+ * change), then the schedule, then the transient guards that defer by `KEEP_WARM_RETRY_MS`
71
+ * and never past the last-chance line. Pure: `now` is passed in.
72
+ */
73
+ export function decideKeepWarm(f) {
74
+ if (!keepWarmOn(f.choice, f.appDefault, f.spawnedByAgent)) {
75
+ return stop(f.choice === undefined && f.appDefault
76
+ ? 'an agent-spawned session follows the app-wide default only when switched on for itself'
77
+ : 'off');
78
+ }
79
+ // Only a launch that carries the exporter ever reports `prompt_cache`; the readout names the
80
+ // cause from `statusLineExporter`. This is also what stops a CLI without cache telemetry.
81
+ if (f.statusLine !== 'injected')
82
+ return stop(`no cache reports on this launch (${f.statusLine ?? 'unknown'})`);
83
+ const c = f.cache;
84
+ if (!c)
85
+ return stop('no cache report yet');
86
+ if (!c.warm || !c.expiresAt)
87
+ return stop('cache is cold; the next prompt rebuilds it');
88
+ // Compacted this gap (`/compact`, or Claude Code's own idle compaction on a launch without
89
+ // the opt-out): the full context is already gone, so keeping the summary warm buys little.
90
+ // The stamp is dropped at the next request, which re-opens the next gap.
91
+ if (c.compactedAt != null)
92
+ return stop('the context was compacted; resumes after the next prompt');
93
+ if (c.ttl === '5m') {
94
+ return stop('5-minute cache lifetime; a nudge every four minutes costs more than the miss it prevents');
95
+ }
96
+ if ((c.recacheTokensIfCold ?? 0) < KEEP_WARM_MIN_TOKENS)
97
+ return stop('context too small to be worth a turn');
98
+ if (!f.paneAlive)
99
+ return stop('no live pane');
100
+ if (f.limitPaused)
101
+ return stop('usage-limit pause');
102
+ if (f.now >= f.budgetAnchorAt + f.maxKeepWarmMs)
103
+ return stop('keep-warm window after the last prompt has passed');
104
+ const dueAt = c.expiresAt - KEEP_WARM_LEAD_MS;
105
+ if (f.now < dueAt)
106
+ return wait(dueAt, 'not due yet');
107
+ const lastChance = c.expiresAt - KEEP_WARM_LAST_CHANCE_MS;
108
+ if (f.now >= lastChance)
109
+ return stop('too close to expiry to land a turn');
110
+ const retryAt = Math.min(f.now + KEEP_WARM_RETRY_MS, lastChance);
111
+ if (!f.idle)
112
+ return wait(retryAt, 'session is working');
113
+ if (f.pendingApproval)
114
+ return wait(retryAt, 'a dialog is open');
115
+ // Transient, and nothing else re-triggers an idle session: an agent's long-poll waiter ends
116
+ // without a turn, and so does a capture that failed once.
117
+ if (f.automationActive)
118
+ return wait(retryAt, 'respawn, Ralph or an agent is driving the session');
119
+ if (f.composerEmpty === null)
120
+ return wait(retryAt, 'cannot read the composer');
121
+ if (!f.composerEmpty)
122
+ return wait(retryAt, 'the composer holds text');
123
+ if (f.lastHumanInputAt && f.now - f.lastHumanInputAt < KEEP_WARM_RECENT_INPUT_MS) {
124
+ return wait(retryAt, 'someone typed a moment ago');
125
+ }
126
+ return { action: 'nudge' };
127
+ }
128
+ /**
129
+ * Whether a session could be nudged once the settings are known: its own switch is not off, its
130
+ * launch reports the cache, and the last report is warm. Only such a session has anything to
131
+ * lose while the settings cannot be read, so only it retries on its own.
132
+ */
133
+ function couldNudge(s) {
134
+ return (s.keepWarmEnabled !== false &&
135
+ s.statusLineExporter === 'injected' &&
136
+ !!s.promptCache?.warm &&
137
+ !!s.promptCache.expiresAt);
138
+ }
139
+ export class PromptCacheKeepWarmService {
140
+ ports;
141
+ timers = new Map();
142
+ tallies = new Map();
143
+ /** One evaluation per session; `remove()` and `stop()` cancel it at its next await. */
144
+ inFlight = new Map();
145
+ /** The evaluation running per session, and the one follow-up queued behind it. */
146
+ running = new Map();
147
+ followUps = new Map();
148
+ /**
149
+ * The default and cap, read once and kept: every statusline report schedules an evaluation,
150
+ * and reading settings.json on each would cost every install, the feature off included.
151
+ * `rescheduleAll()` drops it, and the settings PUT calls that whenever either key changes.
152
+ */
153
+ settings;
154
+ /** The last settings read failure logged, so one that persists is logged once; cleared by a good read. */
155
+ settingsFailure;
156
+ stopped = false;
157
+ constructor(ports) {
158
+ this.ports = ports;
159
+ }
160
+ schedule(sessionId) {
161
+ if (this.stopped)
162
+ return Promise.resolve();
163
+ const running = this.running.get(sessionId);
164
+ if (running) {
165
+ // A trigger landing mid-evaluation (a toggle while the nudge is written, a settings change)
166
+ // carries what that evaluation read too early, so one follow-up runs after it, shared by
167
+ // every trigger that arrives meanwhile.
168
+ let next = this.followUps.get(sessionId);
169
+ if (!next) {
170
+ next = running.then(() => {
171
+ // `remove()` drops the queued follow-up: a deleted session gets no evaluation.
172
+ if (this.followUps.get(sessionId) !== next)
173
+ return;
174
+ this.followUps.delete(sessionId);
175
+ return this.schedule(sessionId);
176
+ });
177
+ this.followUps.set(sessionId, next);
178
+ }
179
+ return next;
180
+ }
181
+ const run = this.evaluate(sessionId)
182
+ .catch((err) => {
183
+ this.ports.log?.(`[KeepWarm] ${sessionId.slice(0, 8)}: ${err instanceof Error ? err.message : String(err)}`);
184
+ // A failed write or pane read is transient, and an idle session gets no other trigger
185
+ // until its next turn. (A failed settings read is handled in evaluate().)
186
+ // Not after `remove()`, which drops this run: the session is being deleted.
187
+ if (!this.stopped && this.running.get(sessionId) === run)
188
+ this.arm(sessionId, Date.now() + KEEP_WARM_RETRY_MS);
189
+ })
190
+ .finally(() => {
191
+ if (this.running.get(sessionId) === run)
192
+ this.running.delete(sessionId);
193
+ });
194
+ this.running.set(sessionId, run);
195
+ return run;
196
+ }
197
+ rescheduleAll() {
198
+ this.settings = undefined;
199
+ for (const id of this.ports.sessionIds())
200
+ void this.schedule(id);
201
+ }
202
+ remove(sessionId) {
203
+ this.clearTimer(sessionId);
204
+ this.tallies.delete(sessionId);
205
+ this.inFlight.delete(sessionId);
206
+ this.running.delete(sessionId);
207
+ this.followUps.delete(sessionId);
208
+ }
209
+ stop() {
210
+ this.stopped = true;
211
+ for (const id of [...this.timers.keys()])
212
+ this.clearTimer(id);
213
+ }
214
+ readSettings() {
215
+ if (!this.settings) {
216
+ const read = this.ports.readSettings();
217
+ this.settings = read;
218
+ // A failed read is not kept: the next evaluation tries again.
219
+ read.catch(() => {
220
+ if (this.settings === read)
221
+ this.settings = undefined;
222
+ });
223
+ }
224
+ return this.settings;
225
+ }
226
+ clearTimer(id) {
227
+ const t = this.timers.get(id);
228
+ if (t)
229
+ clearTimeout(t);
230
+ this.timers.delete(id);
231
+ }
232
+ arm(id, at) {
233
+ this.clearTimer(id);
234
+ const t = setTimeout(() => void this.schedule(id), Math.min(Math.max(0, at - Date.now()), MAX_TIMER_MS));
235
+ t.unref?.();
236
+ this.timers.set(id, t);
237
+ }
238
+ async evaluate(id) {
239
+ if (this.stopped || this.inFlight.has(id))
240
+ return;
241
+ const token = Symbol(id);
242
+ this.inFlight.set(id, token);
243
+ // A session removed (or the service stopped) during an await gets nothing after it: no
244
+ // nudge, no tally, no timer, no status.
245
+ const cancelled = () => this.stopped || this.inFlight.get(id) !== token;
246
+ try {
247
+ this.clearTimer(id);
248
+ const session = this.ports.getSession(id);
249
+ if (!session)
250
+ return;
251
+ let settings;
252
+ try {
253
+ settings = await this.readSettings();
254
+ }
255
+ catch (err) {
256
+ // A read that lands mid-write is retried. A settings.json that stays broken (a hand edit
257
+ // with a trailing comma) fails every read until it is fixed, so it is logged once rather
258
+ // than once a minute per session, and only a session that could nudge retries.
259
+ const message = err instanceof Error ? err.message : String(err);
260
+ if (message !== this.settingsFailure) {
261
+ this.settingsFailure = message;
262
+ this.ports.log?.(`[KeepWarm] ${id.slice(0, 8)}: cannot read the settings: ${message}`);
263
+ }
264
+ if (!cancelled() && couldNudge(session))
265
+ this.arm(id, Date.now() + KEEP_WARM_RETRY_MS);
266
+ return;
267
+ }
268
+ this.settingsFailure = undefined;
269
+ if (cancelled())
270
+ return;
271
+ const tally = this.tallies.get(id) ?? { nudges: 0 };
272
+ const facts = {
273
+ now: Date.now(),
274
+ choice: session.keepWarmEnabled,
275
+ appDefault: settings.keepWarmDefault,
276
+ spawnedByAgent: !!session.parentSessionId,
277
+ statusLine: session.statusLineExporter,
278
+ cache: session.promptCache,
279
+ idle: session.isIdle() && !session.isWorking,
280
+ paneAlive: session.pid !== null && !session.paneExit,
281
+ limitPaused: session.isLimitPaused,
282
+ automationActive: this.ports.isAutomationActive(id),
283
+ pendingApproval: this.ports.hasPendingApproval(id),
284
+ // Optimistic until everything else says "due": the pane read is the one costly fact.
285
+ composerEmpty: true,
286
+ lastHumanInputAt: session.lastHumanInputAt,
287
+ budgetAnchorAt: session.lastRealPromptAt || session.createdAt,
288
+ maxKeepWarmMs: settings.maxHours * 3_600_000,
289
+ };
290
+ let decision = decideKeepWarm(facts);
291
+ if (decision.action === 'nudge') {
292
+ const pane = this.ports.readPane(session);
293
+ decision = decideKeepWarm({
294
+ ...facts,
295
+ composerEmpty: pane.composerEmpty,
296
+ limitPaused: facts.limitPaused || pane.limitShown,
297
+ });
298
+ }
299
+ const enabled = keepWarmOn(facts.choice, facts.appDefault, facts.spawnedByAgent);
300
+ const base = {
301
+ enabled,
302
+ idleCompactionOff: session.idleCompactionOptOut,
303
+ nudges: tally.nudges,
304
+ lastNudgeAt: tally.lastNudgeAt,
305
+ // Off, the window means nothing, and it moves with every real prompt: carrying it would
306
+ // broadcast a change on every turn of every session.
307
+ ...(enabled && { budgetEndsAt: facts.budgetAnchorAt + facts.maxKeepWarmMs }),
308
+ };
309
+ if (decision.action === 'nudge') {
310
+ session.beginKeepAliveTurn(KEEP_WARM_TURN_WINDOW_MS);
311
+ const ok = await session.writeViaMux(`${KEEP_WARM_NUDGE}\r`);
312
+ if (cancelled())
313
+ return;
314
+ if (ok) {
315
+ tally.nudges += 1;
316
+ tally.lastNudgeAt = Date.now();
317
+ this.tallies.set(id, tally);
318
+ }
319
+ this.ports.log?.(`[KeepWarm] ${ok ? 'nudged' : 'failed to nudge'} ${id.slice(0, 8)} with ${facts.cache?.recacheTokensIfCold ?? '?'} tokens at stake (nudge ${tally.nudges})`);
320
+ // Sent: the nudge's own cache report re-schedules, and this timer is the fallback if none
321
+ // arrives. Not sent: no turn is running, so the window closes now rather than at its
322
+ // ceiling, and the retry lands inside the last minutes before the expiry, where a nudge
323
+ // can still go out (a lead time later would be past it).
324
+ let nextCheckAt = Date.now() + KEEP_WARM_LEAD_MS;
325
+ if (!ok) {
326
+ session.endKeepAliveTurn();
327
+ const expiresAt = facts.cache?.expiresAt ?? 0;
328
+ nextCheckAt = Math.min(Date.now() + KEEP_WARM_RETRY_MS, expiresAt - KEEP_WARM_LAST_CHANCE_MS);
329
+ }
330
+ this.arm(id, nextCheckAt);
331
+ this.ports.publish(id, {
332
+ ...base,
333
+ nudges: tally.nudges,
334
+ lastNudgeAt: tally.lastNudgeAt,
335
+ state: ok ? 'nudged' : 'waiting',
336
+ nextCheckAt,
337
+ reason: ok ? undefined : 'the keep-alive could not be written',
338
+ });
339
+ }
340
+ else if (decision.action === 'wait') {
341
+ this.arm(id, decision.until);
342
+ this.ports.publish(id, {
343
+ ...base,
344
+ state: decision.reason === 'not due yet' ? 'armed' : 'waiting',
345
+ nextCheckAt: decision.until,
346
+ reason: decision.reason === 'not due yet' ? undefined : decision.reason,
347
+ });
348
+ }
349
+ else {
350
+ this.ports.publish(id, { ...base, state: enabled ? 'stopped' : 'off', reason: decision.reason });
351
+ }
352
+ }
353
+ finally {
354
+ if (this.inFlight.get(id) === token)
355
+ this.inFlight.delete(id);
356
+ }
357
+ }
358
+ }
359
+ //# sourceMappingURL=prompt-cache-keepwarm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cache-keepwarm.js","sourceRoot":"","sources":["../src/prompt-cache-keepwarm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"respawn-controller.d.ts","sourceRoot":"","sources":["../src/respawn-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"respawn-controller.d.ts","sourceRoot":"","sources":["../src/respawn-controller.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ import { EventEmitter } from 'node:events';
46
46
  import { randomUUID } from 'node:crypto';
47
47
  import { AiIdleChecker } from './ai-idle-checker.js';
48
48
  import { AiPlanChecker } from './ai-plan-checker.js';
49
- import { BufferAccumulator, ANSI_ESCAPE_PATTERN_SIMPLE, assertNever, CleanupManager } from './utils/index.js';
49
+ import { BufferAccumulator, ANSI_ESCAPE_PATTERN_SIMPLE, assertNever, CleanupManager, toSingleLine, } from './utils/index.js';
50
50
  import { MAX_RESPAWN_BUFFER_SIZE, TRIM_RESPAWN_BUFFER_TO as RESPAWN_BUFFER_TRIM_SIZE } from './config/buffer-limits.js';
51
51
  import { isCompletionMessage, hasWorkingPattern, extractTokenCount, PROMPT_PATTERNS, WORKING_PATTERNS, } from './respawn-patterns.js';
52
52
  import { RespawnAdaptiveTiming } from './respawn-adaptive-timing.js';
@@ -1061,7 +1061,7 @@ export class RespawnController extends EventEmitter {
1061
1061
  this.startTrackedTimer('step-delay', this.config.interStepDelayMs, async () => {
1062
1062
  if (this._state === 'stopped')
1063
1063
  return;
1064
- const prompt = this.config.kickstartPrompt;
1064
+ const prompt = toSingleLine(this.config.kickstartPrompt);
1065
1065
  this.logAction('command', `Sending kickstart: "${prompt.substring(0, 40)}..."`);
1066
1066
  await this.session.writeViaMux(prompt + '\r'); // \r triggers key.return in Ink/Claude CLI
1067
1067
  // COD-51: stop() may have run during the await; re-check before reviving the
@@ -2090,11 +2090,12 @@ export class RespawnController extends EventEmitter {
2090
2090
  return;
2091
2091
  // Use RALPH_STATUS RECOMMENDATION if available, otherwise fall back to config
2092
2092
  const statusBlock = this.session.ralphTracker?.lastStatusBlock;
2093
- let updatePrompt = this.config.updatePrompt;
2093
+ let updatePrompt = toSingleLine(this.config.updatePrompt);
2094
2094
  if (statusBlock?.recommendation) {
2095
- // Append RECOMMENDATION to the update prompt (single-line — writeViaMux breaks on newlines)
2095
+ // Append RECOMMENDATION to the update prompt, on the same single line
2096
+ // (see toSingleLine)
2096
2097
  const rec = statusBlock.recommendation.replace(/\n/g, ' ').substring(0, 200);
2097
- updatePrompt = `${this.config.updatePrompt} (Claude's last recommendation: ${rec})`;
2098
+ updatePrompt = `${updatePrompt} (Claude's last recommendation: ${rec})`;
2098
2099
  this.logAction('ralph', `Using RECOMMENDATION: ${rec.substring(0, 50)}...`);
2099
2100
  }
2100
2101
  const input = updatePrompt + '\r'; // \r triggers Enter in Ink/Claude CLI