aicodeman 1.43.0 → 1.45.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 (353) hide show
  1. package/README.md +9 -4
  2. package/dist/case-rename.d.ts +65 -0
  3. package/dist/case-rename.d.ts.map +1 -0
  4. package/dist/case-rename.js +198 -0
  5. package/dist/case-rename.js.map +1 -0
  6. package/dist/cli-agent.d.ts +63 -4
  7. package/dist/cli-agent.d.ts.map +1 -1
  8. package/dist/cli-agent.js +233 -19
  9. package/dist/cli-agent.js.map +1 -1
  10. package/dist/config/auth-config.d.ts +16 -1
  11. package/dist/config/auth-config.d.ts.map +1 -1
  12. package/dist/config/auth-config.js +16 -1
  13. package/dist/config/auth-config.js.map +1 -1
  14. package/dist/config/cli-registry/stock.d.ts.map +1 -1
  15. package/dist/config/cli-registry/stock.js +8 -3
  16. package/dist/config/cli-registry/stock.js.map +1 -1
  17. package/dist/config/cli-registry/types.d.ts +2 -2
  18. package/dist/config/map-limits.d.ts +13 -1
  19. package/dist/config/map-limits.d.ts.map +1 -1
  20. package/dist/config/map-limits.js +28 -1
  21. package/dist/config/map-limits.js.map +1 -1
  22. package/dist/config-backup.d.ts +279 -0
  23. package/dist/config-backup.d.ts.map +1 -0
  24. package/dist/config-backup.js +794 -0
  25. package/dist/config-backup.js.map +1 -0
  26. package/dist/cron/cron-service.d.ts +5 -5
  27. package/dist/cron/cron-service.js +6 -6
  28. package/dist/cron/cron-service.js.map +1 -1
  29. package/dist/custom-model-hosts.d.ts +16 -0
  30. package/dist/custom-model-hosts.d.ts.map +1 -1
  31. package/dist/custom-model-hosts.js.map +1 -1
  32. package/dist/hooks-config.d.ts +15 -0
  33. package/dist/hooks-config.d.ts.map +1 -1
  34. package/dist/hooks-config.js +35 -0
  35. package/dist/hooks-config.js.map +1 -1
  36. package/dist/host-sensors.d.ts +115 -0
  37. package/dist/host-sensors.d.ts.map +1 -0
  38. package/dist/host-sensors.js +457 -0
  39. package/dist/host-sensors.js.map +1 -0
  40. package/dist/intent-store.d.ts +2 -0
  41. package/dist/intent-store.d.ts.map +1 -1
  42. package/dist/intent-store.js +9 -0
  43. package/dist/intent-store.js.map +1 -1
  44. package/dist/mux-interface.d.ts +21 -4
  45. package/dist/mux-interface.d.ts.map +1 -1
  46. package/dist/prompt-cache-keepwarm.d.ts +193 -0
  47. package/dist/prompt-cache-keepwarm.d.ts.map +1 -0
  48. package/dist/prompt-cache-keepwarm.js +359 -0
  49. package/dist/prompt-cache-keepwarm.js.map +1 -0
  50. package/dist/remote-hosts.d.ts +7 -0
  51. package/dist/remote-hosts.d.ts.map +1 -1
  52. package/dist/remote-hosts.js +17 -3
  53. package/dist/remote-hosts.js.map +1 -1
  54. package/dist/remote-pane-history.d.ts.map +1 -1
  55. package/dist/remote-pane-history.js +2 -2
  56. package/dist/remote-pane-history.js.map +1 -1
  57. package/dist/respawn-controller.d.ts.map +1 -1
  58. package/dist/respawn-controller.js +6 -5
  59. package/dist/respawn-controller.js.map +1 -1
  60. package/dist/session-auto-ops.d.ts.map +1 -1
  61. package/dist/session-auto-ops.js +6 -1
  62. package/dist/session-auto-ops.js.map +1 -1
  63. package/dist/session-cli-registry-bridge.d.ts +13 -0
  64. package/dist/session-cli-registry-bridge.d.ts.map +1 -1
  65. package/dist/session-cli-registry-bridge.js +20 -3
  66. package/dist/session-cli-registry-bridge.js.map +1 -1
  67. package/dist/session-submit-verifier.d.ts +19 -0
  68. package/dist/session-submit-verifier.d.ts.map +1 -1
  69. package/dist/session-submit-verifier.js +88 -0
  70. package/dist/session-submit-verifier.js.map +1 -1
  71. package/dist/session.d.ts +61 -5
  72. package/dist/session.d.ts.map +1 -1
  73. package/dist/session.js +125 -7
  74. package/dist/session.js.map +1 -1
  75. package/dist/state-store.d.ts +10 -0
  76. package/dist/state-store.d.ts.map +1 -1
  77. package/dist/state-store.js +35 -0
  78. package/dist/state-store.js.map +1 -1
  79. package/dist/tab-layout-service.d.ts +33 -0
  80. package/dist/tab-layout-service.d.ts.map +1 -1
  81. package/dist/tab-layout-service.js +75 -3
  82. package/dist/tab-layout-service.js.map +1 -1
  83. package/dist/tmux-manager.d.ts +57 -11
  84. package/dist/tmux-manager.d.ts.map +1 -1
  85. package/dist/tmux-manager.js +190 -42
  86. package/dist/tmux-manager.js.map +1 -1
  87. package/dist/tmux-prefix-table.d.ts +86 -0
  88. package/dist/tmux-prefix-table.d.ts.map +1 -0
  89. package/dist/tmux-prefix-table.js +172 -0
  90. package/dist/tmux-prefix-table.js.map +1 -0
  91. package/dist/tui/tui-app.d.ts +17 -2
  92. package/dist/tui/tui-app.d.ts.map +1 -1
  93. package/dist/tui/tui-app.js +70 -20
  94. package/dist/tui/tui-app.js.map +1 -1
  95. package/dist/tui/tui-client.d.ts +93 -5
  96. package/dist/tui/tui-client.d.ts.map +1 -1
  97. package/dist/tui/tui-client.js +198 -28
  98. package/dist/tui/tui-client.js.map +1 -1
  99. package/dist/types/app-state.d.ts +6 -0
  100. package/dist/types/app-state.d.ts.map +1 -1
  101. package/dist/types/app-state.js.map +1 -1
  102. package/dist/types/session.d.ts +40 -1
  103. package/dist/types/session.d.ts.map +1 -1
  104. package/dist/types/session.js.map +1 -1
  105. package/dist/usage-telemetry.d.ts +15 -0
  106. package/dist/usage-telemetry.d.ts.map +1 -1
  107. package/dist/usage-telemetry.js +45 -2
  108. package/dist/usage-telemetry.js.map +1 -1
  109. package/dist/utils/copilot-plan-usage.d.ts +46 -0
  110. package/dist/utils/copilot-plan-usage.d.ts.map +1 -0
  111. package/dist/utils/copilot-plan-usage.js +95 -0
  112. package/dist/utils/copilot-plan-usage.js.map +1 -0
  113. package/dist/utils/index.d.ts +2 -0
  114. package/dist/utils/index.d.ts.map +1 -1
  115. package/dist/utils/index.js +2 -0
  116. package/dist/utils/index.js.map +1 -1
  117. package/dist/utils/single-line.d.ts +22 -0
  118. package/dist/utils/single-line.d.ts.map +1 -0
  119. package/dist/utils/single-line.js +30 -0
  120. package/dist/utils/single-line.js.map +1 -0
  121. package/dist/web/agent-inbox-persistence.d.ts +52 -0
  122. package/dist/web/agent-inbox-persistence.d.ts.map +1 -0
  123. package/dist/web/agent-inbox-persistence.js +139 -0
  124. package/dist/web/agent-inbox-persistence.js.map +1 -0
  125. package/dist/web/agent-inbox.d.ts +140 -0
  126. package/dist/web/agent-inbox.d.ts.map +1 -0
  127. package/dist/web/agent-inbox.js +258 -0
  128. package/dist/web/agent-inbox.js.map +1 -0
  129. package/dist/web/approval-inbox.d.ts +6 -0
  130. package/dist/web/approval-inbox.d.ts.map +1 -1
  131. package/dist/web/approval-inbox.js +2 -2
  132. package/dist/web/approval-inbox.js.map +1 -1
  133. package/dist/web/middleware/auth.d.ts +2 -0
  134. package/dist/web/middleware/auth.d.ts.map +1 -1
  135. package/dist/web/middleware/auth.js +145 -52
  136. package/dist/web/middleware/auth.js.map +1 -1
  137. package/dist/web/plan-usage-latest.d.ts +2 -1
  138. package/dist/web/plan-usage-latest.d.ts.map +1 -1
  139. package/dist/web/plan-usage-latest.js +12 -2
  140. package/dist/web/plan-usage-latest.js.map +1 -1
  141. package/dist/web/ports/index.d.ts +1 -0
  142. package/dist/web/ports/index.d.ts.map +1 -1
  143. package/dist/web/ports/keep-warm-port.d.ts +9 -0
  144. package/dist/web/ports/keep-warm-port.d.ts.map +1 -0
  145. package/dist/web/ports/keep-warm-port.js +6 -0
  146. package/dist/web/ports/keep-warm-port.js.map +1 -0
  147. package/dist/web/ports/session-port.d.ts +3 -1
  148. package/dist/web/ports/session-port.d.ts.map +1 -1
  149. package/dist/web/public/admin-ui.js.gz +0 -0
  150. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  151. package/dist/web/public/app.42d0abae.js +43 -0
  152. package/dist/web/public/app.42d0abae.js.br +0 -0
  153. package/dist/web/public/app.42d0abae.js.gz +0 -0
  154. package/dist/web/public/approvals-ui.js.gz +0 -0
  155. package/dist/web/public/{constants.e5e588db.js → constants.0b3cdde9.js} +60 -1
  156. package/dist/web/public/constants.0b3cdde9.js.br +0 -0
  157. package/dist/web/public/constants.0b3cdde9.js.gz +0 -0
  158. package/dist/web/public/cron-ui.js.gz +0 -0
  159. package/dist/web/public/entrance-animations.js.gz +0 -0
  160. package/dist/web/public/git-status-ui.js.gz +0 -0
  161. package/dist/web/public/header-divider.eb2d2463.js +1 -0
  162. package/dist/web/public/header-divider.eb2d2463.js.br +0 -0
  163. package/dist/web/public/header-divider.eb2d2463.js.gz +0 -0
  164. package/dist/web/public/home-sessions.js.gz +0 -0
  165. package/dist/web/public/host-wake-ui.js.gz +0 -0
  166. package/dist/web/public/i18n.1e68220d.js +2 -0
  167. package/dist/web/public/i18n.1e68220d.js.br +0 -0
  168. package/dist/web/public/i18n.1e68220d.js.gz +0 -0
  169. package/dist/web/public/image-input.941386e7.js.gz +0 -0
  170. package/dist/web/public/index.html +162 -14
  171. package/dist/web/public/index.html.br +0 -0
  172. package/dist/web/public/index.html.gz +0 -0
  173. package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
  174. package/dist/web/public/{keyboard-accessory.c283e827.js → keyboard-accessory.4e8b20ac.js} +23 -5
  175. package/dist/web/public/keyboard-accessory.4e8b20ac.js.br +0 -0
  176. package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
  177. package/dist/web/public/{mobile-handlers.0ef9c311.js → mobile-handlers.1c0cbcd8.js} +50 -16
  178. package/dist/web/public/mobile-handlers.1c0cbcd8.js.br +0 -0
  179. package/dist/web/public/mobile-handlers.1c0cbcd8.js.gz +0 -0
  180. package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +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.b7bfb9da.js → panels-ui.78c3defb.js} +19 -13
  188. package/dist/web/public/panels-ui.78c3defb.js.br +0 -0
  189. package/dist/web/public/panels-ui.78c3defb.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/session-lineage.js.gz +0 -0
  197. package/dist/web/public/{session-ui.be076c88.js → session-ui.ea6b1994.js} +33 -27
  198. package/dist/web/public/session-ui.ea6b1994.js.br +0 -0
  199. package/dist/web/public/session-ui.ea6b1994.js.gz +0 -0
  200. package/dist/web/public/settings-ui.085dd202.js +106 -0
  201. package/dist/web/public/settings-ui.085dd202.js.br +0 -0
  202. package/dist/web/public/settings-ui.085dd202.js.gz +0 -0
  203. package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
  204. package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
  205. package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
  206. package/dist/web/public/styles.3b59b41d.css +1 -0
  207. package/dist/web/public/styles.3b59b41d.css.br +0 -0
  208. package/dist/web/public/styles.3b59b41d.css.gz +0 -0
  209. package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
  210. package/dist/web/public/sw.js +2 -2
  211. package/dist/web/public/sw.js.br +0 -0
  212. package/dist/web/public/sw.js.gz +0 -0
  213. package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
  214. package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
  215. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
  216. package/dist/web/public/terminal-split.js.gz +0 -0
  217. package/dist/web/public/terminal-tile.js +49 -23
  218. package/dist/web/public/terminal-tile.js.br +0 -0
  219. package/dist/web/public/terminal-tile.js.gz +0 -0
  220. package/dist/web/public/terminal-ui.fb2a27f5.js +2 -0
  221. package/dist/web/public/terminal-ui.fb2a27f5.js.br +0 -0
  222. package/dist/web/public/terminal-ui.fb2a27f5.js.gz +0 -0
  223. package/dist/web/public/tile-grid.js.gz +0 -0
  224. package/dist/web/public/ultracode-panel.js.gz +0 -0
  225. package/dist/web/public/ultracode-windows.js.gz +0 -0
  226. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  227. package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
  228. package/dist/web/public/vendor/fflate.min.js.gz +0 -0
  229. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  230. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  231. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  232. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  233. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  234. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
  235. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.gz +0 -0
  236. package/dist/web/public/vendor/xterm.css.gz +0 -0
  237. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  238. package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
  239. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  240. package/dist/web/public/webview-tabs.js.gz +0 -0
  241. package/dist/web/public/whats-new.json +9 -9
  242. package/dist/web/route-helpers.d.ts +57 -6
  243. package/dist/web/route-helpers.d.ts.map +1 -1
  244. package/dist/web/route-helpers.js +72 -4
  245. package/dist/web/route-helpers.js.map +1 -1
  246. package/dist/web/routes/admin-routes.d.ts +2 -1
  247. package/dist/web/routes/admin-routes.d.ts.map +1 -1
  248. package/dist/web/routes/admin-routes.js +3 -0
  249. package/dist/web/routes/admin-routes.js.map +1 -1
  250. package/dist/web/routes/case-routes.d.ts +2 -2
  251. package/dist/web/routes/case-routes.d.ts.map +1 -1
  252. package/dist/web/routes/case-routes.js +263 -4
  253. package/dist/web/routes/case-routes.js.map +1 -1
  254. package/dist/web/routes/config-backup-routes.d.ts +54 -0
  255. package/dist/web/routes/config-backup-routes.d.ts.map +1 -0
  256. package/dist/web/routes/config-backup-routes.js +268 -0
  257. package/dist/web/routes/config-backup-routes.js.map +1 -0
  258. package/dist/web/routes/custom-model-routes.d.ts +17 -1
  259. package/dist/web/routes/custom-model-routes.d.ts.map +1 -1
  260. package/dist/web/routes/custom-model-routes.js +118 -13
  261. package/dist/web/routes/custom-model-routes.js.map +1 -1
  262. package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
  263. package/dist/web/routes/hook-event-routes.js +26 -5
  264. package/dist/web/routes/hook-event-routes.js.map +1 -1
  265. package/dist/web/routes/inbox-routes.d.ts +43 -0
  266. package/dist/web/routes/inbox-routes.d.ts.map +1 -0
  267. package/dist/web/routes/inbox-routes.js +148 -0
  268. package/dist/web/routes/inbox-routes.js.map +1 -0
  269. package/dist/web/routes/index.d.ts +2 -0
  270. package/dist/web/routes/index.d.ts.map +1 -1
  271. package/dist/web/routes/index.js +2 -0
  272. package/dist/web/routes/index.js.map +1 -1
  273. package/dist/web/routes/ralph-routes.js +2 -2
  274. package/dist/web/routes/ralph-routes.js.map +1 -1
  275. package/dist/web/routes/reboot-restore-routes.d.ts.map +1 -1
  276. package/dist/web/routes/reboot-restore-routes.js +2 -0
  277. package/dist/web/routes/reboot-restore-routes.js.map +1 -1
  278. package/dist/web/routes/session-routes.d.ts +2 -2
  279. package/dist/web/routes/session-routes.d.ts.map +1 -1
  280. package/dist/web/routes/session-routes.js +110 -61
  281. package/dist/web/routes/session-routes.js.map +1 -1
  282. package/dist/web/routes/status-telemetry-routes.d.ts +2 -2
  283. package/dist/web/routes/status-telemetry-routes.d.ts.map +1 -1
  284. package/dist/web/routes/status-telemetry-routes.js +8 -4
  285. package/dist/web/routes/status-telemetry-routes.js.map +1 -1
  286. package/dist/web/routes/system-routes.d.ts +2 -2
  287. package/dist/web/routes/system-routes.d.ts.map +1 -1
  288. package/dist/web/routes/system-routes.js +30 -2
  289. package/dist/web/routes/system-routes.js.map +1 -1
  290. package/dist/web/routes/webview-routes.d.ts.map +1 -1
  291. package/dist/web/routes/webview-routes.js +1 -0
  292. package/dist/web/routes/webview-routes.js.map +1 -1
  293. package/dist/web/schemas.d.ts +45 -0
  294. package/dist/web/schemas.d.ts.map +1 -1
  295. package/dist/web/schemas.js +79 -2
  296. package/dist/web/schemas.js.map +1 -1
  297. package/dist/web/sensitive-path.d.ts.map +1 -1
  298. package/dist/web/sensitive-path.js +2 -0
  299. package/dist/web/sensitive-path.js.map +1 -1
  300. package/dist/web/server.d.ts +14 -2
  301. package/dist/web/server.d.ts.map +1 -1
  302. package/dist/web/server.js +176 -7
  303. package/dist/web/server.js.map +1 -1
  304. package/dist/web/session-listener-wiring.d.ts +6 -0
  305. package/dist/web/session-listener-wiring.d.ts.map +1 -1
  306. package/dist/web/session-listener-wiring.js +10 -3
  307. package/dist/web/session-listener-wiring.js.map +1 -1
  308. package/dist/web/session-wait-registry.d.ts +48 -4
  309. package/dist/web/session-wait-registry.d.ts.map +1 -1
  310. package/dist/web/session-wait-registry.js +144 -6
  311. package/dist/web/session-wait-registry.js.map +1 -1
  312. package/dist/web/sse-events.d.ts +9 -3
  313. package/dist/web/sse-events.d.ts.map +1 -1
  314. package/dist/web/sse-events.js +9 -3
  315. package/dist/web/sse-events.js.map +1 -1
  316. package/dist/web/webview-proxy.d.ts +8 -3
  317. package/dist/web/webview-proxy.d.ts.map +1 -1
  318. package/dist/web/webview-proxy.js +23 -5
  319. package/dist/web/webview-proxy.js.map +1 -1
  320. package/package.json +1 -1
  321. package/skills/codeman/SKILL.md +27 -13
  322. package/skills/codeman/preamble.sh +15 -5
  323. package/skills/codeman/reference/endpoints.md +32 -10
  324. package/skills/codeman/reference/recipes.md +1 -1
  325. package/skills/codeman/reference/verbs.md +68 -13
  326. package/dist/web/public/app.ae50029a.js +0 -43
  327. package/dist/web/public/app.ae50029a.js.br +0 -0
  328. package/dist/web/public/app.ae50029a.js.gz +0 -0
  329. package/dist/web/public/constants.e5e588db.js.br +0 -0
  330. package/dist/web/public/constants.e5e588db.js.gz +0 -0
  331. package/dist/web/public/i18n.8f291f06.js +0 -2
  332. package/dist/web/public/i18n.8f291f06.js.br +0 -0
  333. package/dist/web/public/i18n.8f291f06.js.gz +0 -0
  334. package/dist/web/public/keyboard-accessory.c283e827.js.br +0 -0
  335. package/dist/web/public/keyboard-accessory.c283e827.js.gz +0 -0
  336. package/dist/web/public/mobile-handlers.0ef9c311.js.br +0 -0
  337. package/dist/web/public/mobile-handlers.0ef9c311.js.gz +0 -0
  338. package/dist/web/public/mobile.13514863.css +0 -1
  339. package/dist/web/public/mobile.13514863.css.br +0 -0
  340. package/dist/web/public/mobile.13514863.css.gz +0 -0
  341. package/dist/web/public/panels-ui.b7bfb9da.js.br +0 -0
  342. package/dist/web/public/panels-ui.b7bfb9da.js.gz +0 -0
  343. package/dist/web/public/session-ui.be076c88.js.br +0 -0
  344. package/dist/web/public/session-ui.be076c88.js.gz +0 -0
  345. package/dist/web/public/settings-ui.fc4cc50a.js +0 -97
  346. package/dist/web/public/settings-ui.fc4cc50a.js.br +0 -0
  347. package/dist/web/public/settings-ui.fc4cc50a.js.gz +0 -0
  348. package/dist/web/public/styles.dcfa907f.css +0 -1
  349. package/dist/web/public/styles.dcfa907f.css.br +0 -0
  350. package/dist/web/public/styles.dcfa907f.css.gz +0 -0
  351. package/dist/web/public/terminal-ui.ae01a7d1.js +0 -2
  352. package/dist/web/public/terminal-ui.ae01a7d1.js.br +0 -0
  353. package/dist/web/public/terminal-ui.ae01a7d1.js.gz +0 -0
package/dist/cli-agent.js CHANGED
@@ -3,7 +3,8 @@
3
3
  * inside a Codeman session, in every CLI mode.
4
4
  *
5
5
  * A thin HTTP client over endpoints that already exist (`quick-start`, `input`,
6
- * `wait`, `wait-output`, `last-response`, `terminal`, `DELETE sessions/:id`). It
6
+ * `wait`, `wait-output`, `last-response`, `terminal`, `DELETE sessions/:id`, and the
7
+ * agent inbox: `inbox`, `inbox/ack`, `agent-inbox/summary`). It
7
8
  * invents no route and no transport: everything goes through `CODEMAN_API_URL`, so
8
9
  * auth, ownership and the per-session waiter cap apply unchanged. The behaviour is
9
10
  * the packaged agent skill's (`skills/codeman`), ported from shell prose into code
@@ -105,17 +106,19 @@ export function sendPromptFromArgs(words) {
105
106
  };
106
107
  }
107
108
  /**
108
- * Why `send` refuses this text, or `undefined` when it is printable. The composer
109
- * takes one line; the server strips `\r`/`\n` but everything else below 0x20 (and
110
- * DEL) reaches the pane as a keypress. None of that is a prompt.
109
+ * Why `send` refuses this text, or `undefined` when it is printable. A line break is
110
+ * refused for the reason below; everything else below 0x20 (and DEL) reaches the pane
111
+ * as a keypress. None of that is a prompt.
111
112
  */
112
113
  export function inputRefusal(text) {
113
114
  if (text.length === 0)
114
115
  return 'refusing: empty input (use `interrupt` for ESC, `send <id> ""` is never a prompt)';
115
- // The composer is one line: the server strips newlines, which silently joins the
116
- // lines into one prompt, and a tab reaches the pane as a keypress (claude: mode toggle).
116
+ // The server pastes a multi-line prompt as one block, but the check that re-presses
117
+ // a stranded Enter cannot reliably recognise that block in the composer, so a wait
118
+ // could burn its timeout on a prompt that never went out. A tab reaches the pane as
119
+ // a keypress (claude: mode toggle).
117
120
  if (/[\n\r\t]/.test(text)) {
118
- return 'refusing: input must be a single line (the composer strips newlines and would join your lines) — join them yourself, or write a file into the workspace and send its path';
121
+ return 'refusing: input must be a single line (a multi-line paste cannot be confirmed as submitted) — join them yourself, or write a file into the workspace and send its path';
119
122
  }
120
123
  // C0, DEL and C1 (U+0080–U+009F: an 8-bit CSI is still a CSI to a terminal).
121
124
  // eslint-disable-next-line no-control-regex
@@ -159,6 +162,19 @@ export function stripAnsi(text) {
159
162
  // eslint-disable-next-line no-control-regex
160
163
  return stripAnsiSequences(text).replace(/\x1b[()][AB0]/g, '');
161
164
  }
165
+ /**
166
+ * Inbox message text for a terminal. Another session wrote it, so an escape sequence
167
+ * in it would otherwise reach the reader's terminal (retitle it, or move the cursor
168
+ * over the `from` line above it). ANSI sequences go as in `read --tail`, and every
169
+ * control character left (C0 other than newline and tab, DEL, C1) is shown as `\xHH`,
170
+ * so a bare `\r` or backspace cannot overwrite the header either. A CRLF line end
171
+ * stays a line end. `--json` prints the text as stored.
172
+ */
173
+ export function terminalSafeText(text) {
174
+ return (stripAnsi(text.replace(/\r\n/g, '\n'))
175
+ // eslint-disable-next-line no-control-regex
176
+ .replace(/[\x00-\x08\x0b-\x1f\x7f-\x9f]/g, (c) => `\\x${c.charCodeAt(0).toString(16).padStart(2, '0')}`));
177
+ }
162
178
  /** Parse a positive-integer option (`--timeout` ms, `--tail` bytes); the server rejects anything else. */
163
179
  export function parsePositiveInt(raw, fallback, flag = '--timeout') {
164
180
  if (raw === undefined)
@@ -311,29 +327,68 @@ export async function resolveSessionId(deps, id) {
311
327
  return { error: `no session starts with "${id}" (see \`agent ls\`)`, code: EXIT.error };
312
328
  return { error: `"${id}" is ambiguous: ${matches.map((s) => s.id.slice(0, 13)).join(', ')}`, code: EXIT.error };
313
329
  }
314
- /** `agent ls` — every session the caller can see, self marked. */
330
+ /**
331
+ * The inbox summary, or undefined when it cannot be had (a server without the route,
332
+ * a transient error). `ls` must still list sessions then, so this never fails the verb.
333
+ */
334
+ async function fetchInboxSummary(deps) {
335
+ try {
336
+ const res = await deps.request(deps.ctx, { method: 'GET', path: '/api/v1/agent-inbox/summary' });
337
+ if (!res.json?.success)
338
+ return undefined;
339
+ return res.json.data?.sessions ?? {};
340
+ }
341
+ catch {
342
+ return undefined;
343
+ }
344
+ }
345
+ /** The INBOX cell of `ls`: `3 (1 new)`, `parked`, both, or empty. */
346
+ export function inboxCell(row) {
347
+ if (!row)
348
+ return '';
349
+ const parts = [];
350
+ if (row.pending > 0)
351
+ parts.push(row.unseen > 0 ? `${row.pending} (${row.unseen} new)` : String(row.pending));
352
+ if (row.parked)
353
+ parts.push('parked');
354
+ return parts.join(', ');
355
+ }
356
+ /** `agent ls` — every session the caller can see, self marked, with its inbox counts. */
315
357
  export async function agentLs(deps) {
316
- const res = await deps.request(deps.ctx, { method: 'GET', path: '/api/v1/sessions' });
358
+ const [res, inbox] = await Promise.all([
359
+ deps.request(deps.ctx, { method: 'GET', path: '/api/v1/sessions' }),
360
+ fetchInboxSummary(deps),
361
+ ]);
317
362
  if (!res.json?.success)
318
363
  return fail(deps, describeFailure(res));
319
364
  const sessions = res.json.data ?? [];
320
365
  if (deps.json) {
321
- emitJson(deps, sessions.map((s) => ({ ...s, self: isSelfSession(deps.ctx.selfId, s.id) })));
366
+ emitJson(deps, sessions.map((s) => ({
367
+ ...s,
368
+ self: isSelfSession(deps.ctx.selfId, s.id),
369
+ // null = empty inbox and not parked. The key is absent when the server did
370
+ // not answer the summary, so "no data" never reads as "no mail".
371
+ ...(inbox ? { inbox: inbox[s.id] ?? null } : {}),
372
+ })));
322
373
  return EXIT.ok;
323
374
  }
324
375
  if (sessions.length === 0) {
325
376
  deps.io.out(palette.muted('(no sessions)'));
326
377
  return EXIT.ok;
327
378
  }
328
- const rows = sessions.map((s) => [
329
- isSelfSession(deps.ctx.selfId, s.id) ? '*' : ' ',
330
- s.id.slice(0, 8),
331
- s.mode ?? '?',
332
- s.status ?? '?',
333
- s.name || s.workingDir || '',
334
- ]);
335
- deps.io.out(table([[' ', 'ID', 'MODE', 'STATUS', 'NAME'], ...rows], { gap: 2 }));
379
+ const rows = sessions.map((s) => {
380
+ const row = [isSelfSession(deps.ctx.selfId, s.id) ? '*' : ' ', s.id.slice(0, 8), s.mode ?? '?', s.status ?? '?'];
381
+ if (inbox)
382
+ row.push(inboxCell(inbox[s.id]));
383
+ row.push(s.name || s.workingDir || '');
384
+ return row;
385
+ });
386
+ const header = inbox ? [' ', 'ID', 'MODE', 'STATUS', 'INBOX', 'NAME'] : [' ', 'ID', 'MODE', 'STATUS', 'NAME'];
387
+ deps.io.out(table([header, ...rows], { gap: 2 }));
336
388
  deps.io.out(palette.muted(`* = this session (${deps.ctx.selfId.slice(0, 8)}). status is a UI hint, never a sync signal.`));
389
+ if (inbox) {
390
+ deps.io.out(palette.muted('INBOX: pending (unseen), parked = the session is waiting on `agent inbox --wait` right now.'));
391
+ }
337
392
  return EXIT.ok;
338
393
  }
339
394
  /**
@@ -639,6 +694,136 @@ export async function agentRm(deps, options) {
639
694
  deps.io.out(palette.ok(`${GLYPH.ok} deleted ${target.id} (its case directory stays on disk)`));
640
695
  return EXIT.ok;
641
696
  }
697
+ /**
698
+ * The message `post` was given, which must be ONE argument, as with `send`: several
699
+ * would be an unquoted `$(cat notes.md)` split by the shell, and joining the pieces
700
+ * with spaces loses its newlines. Unlike `send`, newlines inside the one argument are
701
+ * fine: the inbox stores text as data and never types it.
702
+ */
703
+ export function postTextFromArgs(words) {
704
+ if (words.length === 1)
705
+ return { text: words[0] };
706
+ return { error: `refusing: the message must be ONE argument, got ${words.length} — quote it` };
707
+ }
708
+ /** `agent post` — store a message in another session's inbox. Never types into its pane. */
709
+ export async function agentPost(deps, options) {
710
+ if (options.text.length === 0)
711
+ return fail(deps, 'refusing: empty message', EXIT.refused);
712
+ const target = await resolveSessionId(deps, options.id);
713
+ if ('error' in target)
714
+ return fail(deps, target.error, target.code);
715
+ const res = await deps.request(deps.ctx, {
716
+ method: 'POST',
717
+ path: `/api/v1/sessions/${encodeURIComponent(target.id)}/inbox`,
718
+ body: { text: options.text },
719
+ });
720
+ // 409 = the receiver's inbox is full; nothing was stored. Passed through as an error.
721
+ if (!res.json?.success)
722
+ return fail(deps, describeFailure(res));
723
+ const data = res.json.data;
724
+ if (deps.json)
725
+ emitJson(deps, data ?? {});
726
+ else
727
+ deps.io.out(palette.ok(`${GLYPH.ok} posted to ${target.id.slice(0, 8)} (${data?.pending ?? '?'} pending, ${data?.unseen ?? '?'} unseen)`));
728
+ return EXIT.ok;
729
+ }
730
+ /** True only when the session list was read and does not contain `id`. */
731
+ async function sessionIsGone(deps, id) {
732
+ try {
733
+ const res = await deps.request(deps.ctx, { method: 'GET', path: '/api/v1/sessions' });
734
+ if (!res.json?.success)
735
+ return false;
736
+ return !(res.json.data ?? []).some((s) => s.id === id);
737
+ }
738
+ catch {
739
+ return false;
740
+ }
741
+ }
742
+ /** Relative age for humans: `12s`, `4m`, `3h`. */
743
+ function age(createdAt, now) {
744
+ const s = Math.max(0, Math.round((now - createdAt) / 1000));
745
+ if (s < 60)
746
+ return `${s}s`;
747
+ if (s < 3600)
748
+ return `${Math.round(s / 60)}m`;
749
+ return `${Math.round(s / 3600)}h`;
750
+ }
751
+ /**
752
+ * `agent inbox` — read this session's inbox (or peek at another's). Removes nothing:
753
+ * a message stays until `agent ack <id>`. Only reading your OWN inbox marks messages
754
+ * seen. Exit 0 with mail, 2 when a `--wait` ran out with nothing unseen or the server
755
+ * cut it short (restart, detach), 3 when the session is gone from the list.
756
+ */
757
+ export async function agentInboxRead(deps, options) {
758
+ const target = await resolveSessionId(deps, options.id ?? deps.ctx.selfId);
759
+ if ('error' in target)
760
+ return fail(deps, target.error, target.code);
761
+ const res = await deps.request(deps.ctx, {
762
+ method: 'GET',
763
+ path: `/api/v1/sessions/${encodeURIComponent(target.id)}/inbox`,
764
+ query: { wait: options.waitMs },
765
+ timeoutMs: options.waitMs !== undefined ? options.waitMs + 10_000 : undefined,
766
+ });
767
+ if (!res.json?.success)
768
+ return fail(deps, describeFailure(res));
769
+ const data = res.json.data;
770
+ const messages = data?.messages ?? [];
771
+ // `ended` is also what a server restart or a detach answers. Exit 3 tells a receiver
772
+ // loop to stop, so it needs the session list to confirm the session is gone; while
773
+ // it is still listed (or the list cannot be had, as during a restart) the wait was
774
+ // only cut short, which is exit 2: loop again.
775
+ const gone = data?.wait?.ended ? await sessionIsGone(deps, target.id) : false;
776
+ const code = gone ? EXIT.dead : data?.wait?.timedOut || data?.wait?.ended ? EXIT.timeout : EXIT.ok;
777
+ if (deps.json) {
778
+ emitJson(deps, data ?? {});
779
+ return code;
780
+ }
781
+ const now = (deps.now ?? Date.now)();
782
+ for (const m of messages) {
783
+ const sender = m.from ? m.from.slice(0, 8) : 'user';
784
+ const tag = m.seen ? palette.muted('seen') : palette.emph('new');
785
+ deps.io.out(palette.muted(`── ${m.id} from ${sender}, ${age(m.createdAt, now)} ago, `) + tag);
786
+ deps.io.out(terminalSafeText(m.text));
787
+ }
788
+ if (gone) {
789
+ deps.io.err(palette.err(`${GLYPH.fail} the session went away during the wait`));
790
+ }
791
+ else if (data?.wait?.ended) {
792
+ deps.io.err(palette.muted('(the server ended the wait early, e.g. a restart; exit 2, wait again)'));
793
+ }
794
+ else if (messages.length === 0) {
795
+ deps.io.err(palette.muted(data?.wait?.timedOut ? '(no mail; wait timed out, exit 2)' : '(no mail)'));
796
+ }
797
+ else if (data?.receiver) {
798
+ deps.io.err(palette.muted(`${messages.length} pending. Nothing is removed by reading: when done, \`codeman agent ack <id>…\` (full ids above).`));
799
+ }
800
+ else {
801
+ deps.io.err(palette.muted(`${messages.length} pending (peek: nothing was marked seen).`));
802
+ }
803
+ return code;
804
+ }
805
+ /** `agent ack` — remove messages from THIS session's inbox by id. Idempotent. */
806
+ export async function agentAck(deps, options) {
807
+ const ids = options.ids.map((id) => id.trim()).filter(Boolean);
808
+ if (ids.length === 0)
809
+ return fail(deps, 'refusing: no message ids', EXIT.refused);
810
+ const self = await resolveSessionId(deps, deps.ctx.selfId);
811
+ if ('error' in self)
812
+ return fail(deps, self.error, self.code);
813
+ const res = await deps.request(deps.ctx, {
814
+ method: 'POST',
815
+ path: `/api/v1/sessions/${encodeURIComponent(self.id)}/inbox/ack`,
816
+ body: { ids },
817
+ });
818
+ if (!res.json?.success)
819
+ return fail(deps, describeFailure(res));
820
+ const data = res.json.data;
821
+ if (deps.json)
822
+ emitJson(deps, data ?? {});
823
+ else
824
+ deps.io.out(palette.ok(`${GLYPH.ok} acked ${data?.removed ?? 0} (${data?.pending ?? '?'} still pending)`));
825
+ return EXIT.ok;
826
+ }
642
827
  // ─────────────────────────────────────────────────────────────────────────────
643
828
  // Commander wiring
644
829
  // ─────────────────────────────────────────────────────────────────────────────
@@ -680,7 +865,7 @@ async function run(json, verb) {
680
865
  export function registerAgentCommands(program) {
681
866
  const agent = program
682
867
  .command('agent')
683
- .description('Talk to other sessions from inside one (any CLI mode): list, spawn, send, wait, read, interrupt, rm');
868
+ .description('Talk to other sessions from inside one (any CLI mode): list, spawn, send, wait, read, interrupt, rm, and the inbox: post, inbox, ack');
684
869
  agent
685
870
  .command('ls')
686
871
  .alias('list')
@@ -761,6 +946,35 @@ export function registerAgentCommands(program) {
761
946
  .description('Send a bare ESC to stop the current turn (the conversation survives; deleting would not)')
762
947
  .option('--json', 'Machine-readable output')
763
948
  .action((id, options) => run(Boolean(options.json), (deps) => agentInterrupt(deps, { id })));
949
+ agent
950
+ .command('post <id> <text...>')
951
+ .description("Leave a message in another session's inbox (ONE quoted argument; multi-line is fine). Nothing is typed into its pane: it reads with `agent inbox`")
952
+ .option('--json', 'Machine-readable output')
953
+ // A message is often a file (`"$(cat task.md)"`) and markdown starts with `- ` or
954
+ // `---` often enough; without this commander takes it for an unknown option.
955
+ // `--json` and `-h` are still options: text that is exactly one goes after `--`.
956
+ .allowUnknownOption()
957
+ .action((id, words, options) => run(Boolean(options.json), (deps) => {
958
+ const message = postTextFromArgs(words);
959
+ if ('error' in message)
960
+ return Promise.resolve(fail(deps, message.error, EXIT.refused));
961
+ return agentPost(deps, { id, text: message.text });
962
+ }));
963
+ agent
964
+ .command('inbox [id]')
965
+ .description("Read this session's inbox (or peek at another's with [id]). Reading removes nothing; `agent ack` does. --wait blocks while nothing is new: exit 2 on timeout")
966
+ .option('-w, --wait', 'Block until a new (unseen) message arrives')
967
+ .option('-t, --timeout <ms>', 'Wait budget in ms (with --wait)', String(DEFAULT_WAIT_MS))
968
+ .option('--json', 'Machine-readable output')
969
+ .action((id, options) => run(Boolean(options.json), (deps) => agentInboxRead(deps, {
970
+ id,
971
+ waitMs: options.wait ? parsePositiveInt(options.timeout, DEFAULT_WAIT_MS) : undefined,
972
+ })));
973
+ agent
974
+ .command('ack <ids...>')
975
+ .description("Remove messages from this session's inbox by id, once handled (unknown ids are not an error)")
976
+ .option('--json', 'Machine-readable output')
977
+ .action((ids, options) => run(Boolean(options.json), (deps) => agentAck(deps, { ids })));
764
978
  agent
765
979
  .command('rm <id>')
766
980
  .description('Delete any session except this one (refuses your own id)')
@@ -1 +1 @@
1
- {"version":3,"file":"cli-agent.js","sourceRoot":"","sources":["../src/cli-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-agent.js","sourceRoot":"","sources":["../src/cli-agent.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,23 @@
10
10
  export declare const AUTH_SESSION_TTL_MS: number;
11
11
  /** Max concurrent auth sessions per server */
12
12
  export declare const MAX_AUTH_SESSIONS = 100;
13
- /** Max failed auth attempts per IP before 429 rejection */
13
+ /**
14
+ * Max failed auth attempts per bucket before 429 rejection. Applies to the
15
+ * single-user per-IP bucket, the hook-secret bucket and two multi-user buckets:
16
+ * the (username, IP) gate, checked before the scrypt verify, and the
17
+ * per-username bucket, checked after it.
18
+ */
14
19
  export declare const AUTH_FAILURE_MAX = 10;
20
+ /**
21
+ * Max failed login attempts per client IP for the multi-user pre-gate, which
22
+ * runs before the scrypt verify and so refuses even a correct password once
23
+ * reached. It bounds scrypt cost from one source and is wider than
24
+ * AUTH_FAILURE_MAX because one egress IP (NAT, a tunnel) can carry many users'
25
+ * failures. Verified guesses against any one account are capped by the
26
+ * (username, IP) gate at AUTH_FAILURE_MAX, not by this. Single-user mode does
27
+ * not use this.
28
+ */
29
+ export declare const AUTH_IP_FAILURE_MAX = 50;
15
30
  /** Failed auth attempt tracking window (ms) */
16
31
  export declare const AUTH_FAILURE_WINDOW_MS: number;
17
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth-config.d.ts","sourceRoot":"","sources":["../../src/config/auth-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AAEvD,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAMrD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC"}
1
+ {"version":3,"file":"auth-config.d.ts","sourceRoot":"","sources":["../../src/config/auth-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AAEvD,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAMrD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC"}
@@ -16,8 +16,23 @@ export const MAX_AUTH_SESSIONS = 100;
16
16
  // ============================================================================
17
17
  // Rate Limiting
18
18
  // ============================================================================
19
- /** Max failed auth attempts per IP before 429 rejection */
19
+ /**
20
+ * Max failed auth attempts per bucket before 429 rejection. Applies to the
21
+ * single-user per-IP bucket, the hook-secret bucket and two multi-user buckets:
22
+ * the (username, IP) gate, checked before the scrypt verify, and the
23
+ * per-username bucket, checked after it.
24
+ */
20
25
  export const AUTH_FAILURE_MAX = 10;
26
+ /**
27
+ * Max failed login attempts per client IP for the multi-user pre-gate, which
28
+ * runs before the scrypt verify and so refuses even a correct password once
29
+ * reached. It bounds scrypt cost from one source and is wider than
30
+ * AUTH_FAILURE_MAX because one egress IP (NAT, a tunnel) can carry many users'
31
+ * failures. Verified guesses against any one account are capped by the
32
+ * (username, IP) gate at AUTH_FAILURE_MAX, not by this. Single-user mode does
33
+ * not use this.
34
+ */
35
+ export const AUTH_IP_FAILURE_MAX = 50;
21
36
  /** Failed auth attempt tracking window (ms) */
22
37
  export const AUTH_FAILURE_WINDOW_MS = 15 * 60 * 1000;
23
38
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"auth-config.js","sourceRoot":"","sources":["../../src/config/auth-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"auth-config.js","sourceRoot":"","sources":["../../src/config/auth-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/stock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA61D3C,0EAA0E;AAC1E,eAAO,MAAM,UAAU,EAAE,QAAQ,EAYhC,CAAC"}
1
+ {"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/stock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAk2D3C,0EAA0E;AAC1E,eAAO,MAAM,UAAU,EAAE,QAAQ,EAYhC,CAAC"}
@@ -301,7 +301,12 @@ const CLAUDE = {
301
301
  'CLAUDE_CODE_MAX_CONTEXT_TOKENS',
302
302
  'CLAUDE_CONFIG_DIR',
303
303
  ],
304
- gates: { nameFlag: { minVersion: '2.1.224', failClosed: true } },
304
+ // idleCompactionSetting: the `idleCompaction` settings key first ships in 2.1.290 (2.1.289
305
+ // already idle-compacts with no opt-out); see TmuxManager._resolveIdleCompactionOptOut.
306
+ gates: {
307
+ nameFlag: { minVersion: '2.1.224', failClosed: true },
308
+ idleCompactionSetting: { minVersion: '2.1.290', failClosed: true },
309
+ },
305
310
  // claude reads `$CLAUDE_CONFIG_DIR/.claude.json` when that is set (checked in 2.1.289).
306
311
  mcpConfig: {
307
312
  path: '.claude.json',
@@ -737,8 +742,8 @@ const CODEX = {
737
742
  transcript: 'codex-rollout',
738
743
  altScreen: 'strip-full',
739
744
  echo: { policy: 'predict', anchor: { kind: 'cursor' }, predictProfile: 'codex' },
740
- wheelForward: { mode: 'never' }, // #227: codex ignores SGR wheel reports, never forward
741
- // ...but it DOES page its transcript on PageUp/PageDown. Measured on 0.157.1 (local,
745
+ wheelForward: { mode: 'always' }, // 0.163.0 fullscreen: measured SGR scrolling; require observed tracking
746
+ // Without observed mouse tracking, retain PageUp/PageDown fallback. Measured on 0.157.1 (local,
742
747
  // alternate screen inside tmux, so xterm holds no history) and 0.160 (remote): PageUp
743
748
  // moved the visible transcript while SGR wheel reports and local scrolling did nothing.
744
749
  // This is the page-key fallback for a hollow pane, not wheel forwarding.