aicodeman 1.45.0 → 1.46.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 (283) hide show
  1. package/README.md +26 -6
  2. package/dist/agent-codex-identity.d.ts +26 -0
  3. package/dist/agent-codex-identity.d.ts.map +1 -0
  4. package/dist/agent-codex-identity.js +253 -0
  5. package/dist/agent-codex-identity.js.map +1 -0
  6. package/dist/agent-inspection.d.ts +32 -0
  7. package/dist/agent-inspection.d.ts.map +1 -0
  8. package/dist/agent-inspection.js +196 -0
  9. package/dist/agent-inspection.js.map +1 -0
  10. package/dist/agent-staging.d.ts +130 -0
  11. package/dist/agent-staging.d.ts.map +1 -0
  12. package/dist/agent-staging.js +312 -0
  13. package/dist/agent-staging.js.map +1 -0
  14. package/dist/cli-agent.d.ts +31 -2
  15. package/dist/cli-agent.d.ts.map +1 -1
  16. package/dist/cli-agent.js +279 -34
  17. package/dist/cli-agent.js.map +1 -1
  18. package/dist/cli-history.d.ts +20 -0
  19. package/dist/cli-history.d.ts.map +1 -0
  20. package/dist/cli-history.js +61 -0
  21. package/dist/cli-history.js.map +1 -0
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +6 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/codex-rollout-format.d.ts +66 -0
  26. package/dist/codex-rollout-format.d.ts.map +1 -0
  27. package/dist/codex-rollout-format.js +111 -0
  28. package/dist/codex-rollout-format.js.map +1 -0
  29. package/dist/codex-transcript.d.ts +3 -0
  30. package/dist/codex-transcript.d.ts.map +1 -1
  31. package/dist/codex-transcript.js +13 -41
  32. package/dist/codex-transcript.js.map +1 -1
  33. package/dist/config/cli-registry/schema.d.ts +12 -7
  34. package/dist/config/cli-registry/schema.d.ts.map +1 -1
  35. package/dist/config/cli-registry/schema.js +26 -0
  36. package/dist/config/cli-registry/schema.js.map +1 -1
  37. package/dist/config/cli-registry/stock.d.ts.map +1 -1
  38. package/dist/config/cli-registry/stock.js +40 -1
  39. package/dist/config/cli-registry/stock.js.map +1 -1
  40. package/dist/config/cli-registry/types.d.ts +57 -0
  41. package/dist/config/cli-registry/types.d.ts.map +1 -1
  42. package/dist/config/server-timing.d.ts +6 -0
  43. package/dist/config/server-timing.d.ts.map +1 -1
  44. package/dist/config/server-timing.js +9 -0
  45. package/dist/config/server-timing.js.map +1 -1
  46. package/dist/daemon-control.d.ts +1 -0
  47. package/dist/daemon-control.d.ts.map +1 -1
  48. package/dist/daemon-control.js +2 -0
  49. package/dist/daemon-control.js.map +1 -1
  50. package/dist/deepseek-transcript.d.ts +9 -7
  51. package/dist/deepseek-transcript.d.ts.map +1 -1
  52. package/dist/deepseek-transcript.js +9 -7
  53. package/dist/deepseek-transcript.js.map +1 -1
  54. package/dist/docker-hosts.d.ts +8 -0
  55. package/dist/docker-hosts.d.ts.map +1 -1
  56. package/dist/docker-hosts.js +29 -0
  57. package/dist/docker-hosts.js.map +1 -1
  58. package/dist/git-fetch-scheduler.d.ts +124 -0
  59. package/dist/git-fetch-scheduler.d.ts.map +1 -0
  60. package/dist/git-fetch-scheduler.js +249 -0
  61. package/dist/git-fetch-scheduler.js.map +1 -0
  62. package/dist/git-fetch.d.ts +241 -0
  63. package/dist/git-fetch.d.ts.map +1 -0
  64. package/dist/git-fetch.js +392 -0
  65. package/dist/git-fetch.js.map +1 -0
  66. package/dist/git-workspace-status.d.ts +36 -1
  67. package/dist/git-workspace-status.d.ts.map +1 -1
  68. package/dist/git-workspace-status.js +42 -5
  69. package/dist/git-workspace-status.js.map +1 -1
  70. package/dist/hooks-config.d.ts +14 -2
  71. package/dist/hooks-config.d.ts.map +1 -1
  72. package/dist/hooks-config.js +39 -3
  73. package/dist/hooks-config.js.map +1 -1
  74. package/dist/local-history.d.ts +71 -0
  75. package/dist/local-history.d.ts.map +1 -0
  76. package/dist/local-history.js +750 -0
  77. package/dist/local-history.js.map +1 -0
  78. package/dist/mcp-server.d.ts.map +1 -1
  79. package/dist/mcp-server.js +2 -2
  80. package/dist/mcp-server.js.map +1 -1
  81. package/dist/mux-interface.d.ts +5 -2
  82. package/dist/mux-interface.d.ts.map +1 -1
  83. package/dist/prompt-cache-keepwarm.d.ts.map +1 -1
  84. package/dist/prompt-cache-keepwarm.js +5 -3
  85. package/dist/prompt-cache-keepwarm.js.map +1 -1
  86. package/dist/session.d.ts +113 -0
  87. package/dist/session.d.ts.map +1 -1
  88. package/dist/session.js +341 -13
  89. package/dist/session.js.map +1 -1
  90. package/dist/terminal-input-classifier.d.ts +8 -0
  91. package/dist/terminal-input-classifier.d.ts.map +1 -0
  92. package/dist/terminal-input-classifier.js +60 -0
  93. package/dist/terminal-input-classifier.js.map +1 -0
  94. package/dist/tmux-manager.d.ts +23 -1
  95. package/dist/tmux-manager.d.ts.map +1 -1
  96. package/dist/tmux-manager.js +54 -6
  97. package/dist/tmux-manager.js.map +1 -1
  98. package/dist/types/session.d.ts +15 -0
  99. package/dist/types/session.d.ts.map +1 -1
  100. package/dist/types/session.js.map +1 -1
  101. package/dist/web/network-auth-policy.d.ts +13 -3
  102. package/dist/web/network-auth-policy.d.ts.map +1 -1
  103. package/dist/web/network-auth-policy.js +15 -3
  104. package/dist/web/network-auth-policy.js.map +1 -1
  105. package/dist/web/ports/infra-port.d.ts +2 -0
  106. package/dist/web/ports/infra-port.d.ts.map +1 -1
  107. package/dist/web/public/admin-ui.js.gz +0 -0
  108. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  109. package/dist/web/public/app.3093527f.js +43 -0
  110. package/dist/web/public/app.3093527f.js.br +0 -0
  111. package/dist/web/public/app.3093527f.js.gz +0 -0
  112. package/dist/web/public/approvals-ui.js.gz +0 -0
  113. package/dist/web/public/{constants.0b3cdde9.js → constants.affcdde6.js} +611 -12
  114. package/dist/web/public/constants.affcdde6.js.br +0 -0
  115. package/dist/web/public/constants.affcdde6.js.gz +0 -0
  116. package/dist/web/public/cron-ui.js.gz +0 -0
  117. package/dist/web/public/entrance-animations.js.gz +0 -0
  118. package/dist/web/public/git-status-ui.js +88 -5
  119. package/dist/web/public/git-status-ui.js.br +0 -0
  120. package/dist/web/public/git-status-ui.js.gz +0 -0
  121. package/dist/web/public/header-divider.eb2d2463.js.gz +0 -0
  122. package/dist/web/public/home-sessions.js.gz +0 -0
  123. package/dist/web/public/host-wake-ui.js.gz +0 -0
  124. package/dist/web/public/i18n.70265257.js +2 -0
  125. package/dist/web/public/i18n.70265257.js.br +0 -0
  126. package/dist/web/public/i18n.70265257.js.gz +0 -0
  127. package/dist/web/public/image-input.941386e7.js.gz +0 -0
  128. package/dist/web/public/index.html +107 -16
  129. package/dist/web/public/index.html.br +0 -0
  130. package/dist/web/public/index.html.gz +0 -0
  131. package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
  132. package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
  133. package/dist/web/public/{mobile-handlers.1c0cbcd8.js → mobile-handlers.f7c3f692.js} +22 -0
  134. package/dist/web/public/mobile-handlers.f7c3f692.js.br +0 -0
  135. package/dist/web/public/mobile-handlers.f7c3f692.js.gz +0 -0
  136. package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
  137. package/dist/web/public/mobile-overview.js.gz +0 -0
  138. package/dist/web/public/mobile.1bbd2d67.css +1 -0
  139. package/dist/web/public/mobile.1bbd2d67.css.br +0 -0
  140. package/dist/web/public/mobile.1bbd2d67.css.gz +0 -0
  141. package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
  142. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  143. package/dist/web/public/{panels-ui.78c3defb.js → panels-ui.4a56ee63.js} +1 -1
  144. package/dist/web/public/panels-ui.4a56ee63.js.br +0 -0
  145. package/dist/web/public/panels-ui.4a56ee63.js.gz +0 -0
  146. package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
  147. package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
  148. package/dist/web/public/readmymind-ui.js.gz +0 -0
  149. package/dist/web/public/reboot-restore-ui.js.gz +0 -0
  150. package/dist/web/public/respawn-ui.d7adcf6a.js.gz +0 -0
  151. package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
  152. package/dist/web/public/session-lineage.js.gz +0 -0
  153. package/dist/web/public/{session-ui.ea6b1994.js → session-ui.186f9419.js} +8 -8
  154. package/dist/web/public/session-ui.186f9419.js.br +0 -0
  155. package/dist/web/public/session-ui.186f9419.js.gz +0 -0
  156. package/dist/web/public/{settings-ui.085dd202.js → settings-ui.a191154e.js} +11 -11
  157. package/dist/web/public/settings-ui.a191154e.js.br +0 -0
  158. package/dist/web/public/settings-ui.a191154e.js.gz +0 -0
  159. package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
  160. package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
  161. package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
  162. package/dist/web/public/styles.7238eae8.css +1 -0
  163. package/dist/web/public/styles.7238eae8.css.br +0 -0
  164. package/dist/web/public/styles.7238eae8.css.gz +0 -0
  165. package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
  166. package/dist/web/public/sw.js +2 -2
  167. package/dist/web/public/sw.js.br +0 -0
  168. package/dist/web/public/sw.js.gz +0 -0
  169. package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
  170. package/dist/web/public/{tab-rail-resize.7157e0bd.js → tab-rail-resize.b5cdceaf.js} +1 -1
  171. package/dist/web/public/tab-rail-resize.b5cdceaf.js.br +0 -0
  172. package/dist/web/public/tab-rail-resize.b5cdceaf.js.gz +0 -0
  173. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
  174. package/dist/web/public/terminal-split.js.gz +0 -0
  175. package/dist/web/public/terminal-tile.js +2 -0
  176. package/dist/web/public/terminal-tile.js.br +0 -0
  177. package/dist/web/public/terminal-tile.js.gz +0 -0
  178. package/dist/web/public/terminal-ui.7e787829.js +4 -0
  179. package/dist/web/public/terminal-ui.7e787829.js.br +0 -0
  180. package/dist/web/public/terminal-ui.7e787829.js.gz +0 -0
  181. package/dist/web/public/tile-grid.js.gz +0 -0
  182. package/dist/web/public/ultracode-panel.js.gz +0 -0
  183. package/dist/web/public/ultracode-windows.js.gz +0 -0
  184. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  185. package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
  186. package/dist/web/public/vendor/fflate.min.js.gz +0 -0
  187. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  188. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  189. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  190. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  191. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  192. package/dist/web/public/vendor/{xterm-predictive-echo.ae5e3d5d.js → xterm-predictive-echo.276b11d9.js} +1 -1
  193. package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.br +0 -0
  194. package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.gz +0 -0
  195. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js +5 -0
  196. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.br +0 -0
  197. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.gz +0 -0
  198. package/dist/web/public/vendor/xterm.css.gz +0 -0
  199. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  200. package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
  201. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  202. package/dist/web/public/webview-tabs.js.gz +0 -0
  203. package/dist/web/public/whats-new.json +9 -9
  204. package/dist/web/routes/agent-session-routes.d.ts +20 -0
  205. package/dist/web/routes/agent-session-routes.d.ts.map +1 -0
  206. package/dist/web/routes/agent-session-routes.js +160 -0
  207. package/dist/web/routes/agent-session-routes.js.map +1 -0
  208. package/dist/web/routes/case-routes.d.ts.map +1 -1
  209. package/dist/web/routes/case-routes.js +32 -26
  210. package/dist/web/routes/case-routes.js.map +1 -1
  211. package/dist/web/routes/config-backup-routes.js +2 -2
  212. package/dist/web/routes/config-backup-routes.js.map +1 -1
  213. package/dist/web/routes/git-status-routes.d.ts +21 -7
  214. package/dist/web/routes/git-status-routes.d.ts.map +1 -1
  215. package/dist/web/routes/git-status-routes.js +78 -12
  216. package/dist/web/routes/git-status-routes.js.map +1 -1
  217. package/dist/web/routes/index.d.ts +1 -0
  218. package/dist/web/routes/index.d.ts.map +1 -1
  219. package/dist/web/routes/index.js +1 -0
  220. package/dist/web/routes/index.js.map +1 -1
  221. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  222. package/dist/web/routes/ralph-routes.js +7 -16
  223. package/dist/web/routes/ralph-routes.js.map +1 -1
  224. package/dist/web/routes/session-routes.d.ts.map +1 -1
  225. package/dist/web/routes/session-routes.js +96 -28
  226. package/dist/web/routes/session-routes.js.map +1 -1
  227. package/dist/web/routes/system-routes.d.ts.map +1 -1
  228. package/dist/web/routes/system-routes.js +84 -57
  229. package/dist/web/routes/system-routes.js.map +1 -1
  230. package/dist/web/routes/ws-routes.d.ts +5 -0
  231. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  232. package/dist/web/routes/ws-routes.js +84 -47
  233. package/dist/web/routes/ws-routes.js.map +1 -1
  234. package/dist/web/schemas.d.ts +30 -7
  235. package/dist/web/schemas.d.ts.map +1 -1
  236. package/dist/web/schemas.js +40 -1
  237. package/dist/web/schemas.js.map +1 -1
  238. package/dist/web/server.d.ts +5 -2
  239. package/dist/web/server.d.ts.map +1 -1
  240. package/dist/web/server.js +84 -14
  241. package/dist/web/server.js.map +1 -1
  242. package/dist/web/settings-writer.d.ts +47 -0
  243. package/dist/web/settings-writer.d.ts.map +1 -0
  244. package/dist/web/settings-writer.js +110 -0
  245. package/dist/web/settings-writer.js.map +1 -0
  246. package/package.json +1 -1
  247. package/skills/codeman/SKILL.md +25 -6
  248. package/skills/codeman/reference/history.md +84 -0
  249. package/skills/codeman/reference/inspection-and-staging.md +152 -0
  250. package/skills/codeman/reference/messaging.md +1 -1
  251. package/skills/codeman/reference/verbs.md +18 -3
  252. package/dist/web/public/app.42d0abae.js +0 -43
  253. package/dist/web/public/app.42d0abae.js.br +0 -0
  254. package/dist/web/public/app.42d0abae.js.gz +0 -0
  255. package/dist/web/public/constants.0b3cdde9.js.br +0 -0
  256. package/dist/web/public/constants.0b3cdde9.js.gz +0 -0
  257. package/dist/web/public/i18n.1e68220d.js +0 -2
  258. package/dist/web/public/i18n.1e68220d.js.br +0 -0
  259. package/dist/web/public/i18n.1e68220d.js.gz +0 -0
  260. package/dist/web/public/mobile-handlers.1c0cbcd8.js.br +0 -0
  261. package/dist/web/public/mobile-handlers.1c0cbcd8.js.gz +0 -0
  262. package/dist/web/public/mobile.12fb18de.css +0 -1
  263. package/dist/web/public/mobile.12fb18de.css.br +0 -0
  264. package/dist/web/public/mobile.12fb18de.css.gz +0 -0
  265. package/dist/web/public/panels-ui.78c3defb.js.br +0 -0
  266. package/dist/web/public/panels-ui.78c3defb.js.gz +0 -0
  267. package/dist/web/public/session-ui.ea6b1994.js.br +0 -0
  268. package/dist/web/public/session-ui.ea6b1994.js.gz +0 -0
  269. package/dist/web/public/settings-ui.085dd202.js.br +0 -0
  270. package/dist/web/public/settings-ui.085dd202.js.gz +0 -0
  271. package/dist/web/public/styles.3b59b41d.css +0 -1
  272. package/dist/web/public/styles.3b59b41d.css.br +0 -0
  273. package/dist/web/public/styles.3b59b41d.css.gz +0 -0
  274. package/dist/web/public/tab-rail-resize.7157e0bd.js.br +0 -0
  275. package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
  276. package/dist/web/public/terminal-ui.fb2a27f5.js +0 -2
  277. package/dist/web/public/terminal-ui.fb2a27f5.js.br +0 -0
  278. package/dist/web/public/terminal-ui.fb2a27f5.js.gz +0 -0
  279. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.br +0 -0
  280. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
  281. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js +0 -4
  282. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.br +0 -0
  283. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.gz +0 -0
@@ -29,6 +29,11 @@
29
29
  * {"t":"i","d":"...","seq":N,"cid":"..."} — input (keystroke or paste). seq+cid are
30
30
  * optional reliable-delivery tags: the server applies each
31
31
  * (cid,seq) at-most-once and ACKs with {"t":"ia","seq":N}.
32
+ * A frame that arrives while a guarded submit holds the
33
+ * session's input lease is held, then applied and ACKed in
34
+ * arrival order once it is released; when that hold queue
35
+ * is full the socket is closed with 1013 and nothing later
36
+ * from it is applied, so the client resends in order.
32
37
  * {"t":"z","c":N,"r":N,"f":bool} — resize terminal (f=true forces SIGWINCH even if dims unchanged)
33
38
  */
34
39
  import { MAX_INPUT_LENGTH } from '../../config/terminal-limits.js';
@@ -145,12 +150,71 @@ export function registerWsRoutes(app, ctx, getHostPolicy) {
145
150
  // connected (see Session._desktopSizeClaims).
146
151
  const sizingToken = Symbol('ws-desktop-sizing');
147
152
  let holdsDesktopClaim = false;
153
+ // Set once an input frame could not be held behind a guarded submit's lease
154
+ // (the hold queue was full). Nothing later from this socket is applied: it is
155
+ // closed, and the browser reconnects and resends everything unACKed, in order.
156
+ let inputStalled = false;
157
+ // Apply one input frame and ACK it. Runs inline, or later and in arrival order
158
+ // when a guarded submit held the input lease as the frame arrived.
159
+ const applyInputFrame = (msg) => {
160
+ // Reliable delivery: when the frame carries a clientId + seq, apply it
161
+ // exactly once (skip a duplicate redelivery) but ACK it regardless so
162
+ // the client can drop it from its durable queue. Frames without seq
163
+ // (legacy/other tools) are applied as-is — no behavior change.
164
+ const cid = typeof msg.cid === 'string' ? msg.cid : null;
165
+ const seq = Number.isInteger(msg.seq) ? msg.seq : null;
166
+ const apply = cid && seq !== null ? session.shouldApplyInput(cid, seq) : true;
167
+ let delivered = true;
168
+ if (apply) {
169
+ // Typed input from a claim-holding desktop keeps the claim "hot"
170
+ // and re-asserts the desktop layout after a mobile override.
171
+ if (holdsDesktopClaim)
172
+ session.noteDesktopActivity();
173
+ // Browser keystrokes are the user's own, so they may name the tab.
174
+ delivered = session.write(msg.d, { fromUser: true });
175
+ // A session whose PTY is gone swallows the write. ACKing anyway told
176
+ // the client to drop the frame from its durable queue and left the seq
177
+ // burnt, so the retry that reliable delivery exists for was rejected as
178
+ // a duplicate: the input was lost for good.
179
+ if (!delivered && cid && seq !== null)
180
+ session.forgetInputSeq(cid, seq);
181
+ }
182
+ if (seq !== null && socket.readyState === 1) {
183
+ if (apply) {
184
+ if (delivered)
185
+ socket.send(`{"t":"ia","seq":${seq}}`);
186
+ }
187
+ else {
188
+ // REJECTED as a duplicate. ACK it — the client must still drop it
189
+ // from its durable queue — but say so, and hand back our watermark.
190
+ //
191
+ // A plain ACK here is indistinguishable from "applied", which is
192
+ // what made a client with a rolled-back counter unrecoverable: its
193
+ // seqs persist to localStorage on a DEBOUNCED write, so a tab killed
194
+ // between a send and that write comes back with a counter BELOW this
195
+ // watermark, every later keystroke lands at or under it, and each one
196
+ // is dropped-but-ACKed. The UI stays clean, nothing is delivered, and
197
+ // a reload restores the same stale counter. `last` is what lets the
198
+ // client lift itself out.
199
+ // ⚠️ Defensive: the session arrives through a structural port, and an
200
+ // implementation without this method must not take the whole input
201
+ // path down with it — a throw here aborts the message handler and the
202
+ // frame is never ACKed at all, which strands it in the client's queue.
203
+ const watermark = typeof session.lastInputSeq === 'function'
204
+ ? session.lastInputSeq(cid)
205
+ : seq;
206
+ socket.send(`{"t":"ia","seq":${seq},"dup":true,"last":${watermark}}`);
207
+ }
208
+ }
209
+ };
148
210
  // Attach message handler synchronously BEFORE any async work
149
211
  // (@fastify/websocket requirement to avoid dropped messages).
150
212
  socket.on('message', (raw) => {
151
213
  try {
152
214
  const msg = JSON.parse(String(raw));
153
215
  if (msg.t === 'i' && typeof msg.d === 'string') {
216
+ if (inputStalled)
217
+ return;
154
218
  if (msg.d.length > MAX_INPUT_LENGTH) {
155
219
  // Refused for good, so say so: a silent return left the frame
156
220
  // unACKed and the client redelivered it every few seconds forever
@@ -161,54 +225,27 @@ export function registerWsRoutes(app, ctx, getHostPolicy) {
161
225
  }
162
226
  return;
163
227
  }
164
- // Reliable delivery: when the frame carries a clientId + seq, apply it
165
- // exactly once (skip a duplicate redelivery) but ACK it regardless so
166
- // the client can drop it from its durable queue. Frames without seq
167
- // (legacy/other tools) are applied as-is — no behavior change.
168
- const cid = typeof msg.cid === 'string' ? msg.cid : null;
169
- const seq = Number.isInteger(msg.seq) ? msg.seq : null;
170
- const apply = cid && seq !== null ? session.shouldApplyInput(cid, seq) : true;
171
- let delivered = true;
172
- if (apply) {
173
- // Typed input from a claim-holding desktop keeps the claim "hot"
174
- // and re-asserts the desktop layout after a mobile override.
175
- if (holdsDesktopClaim)
176
- session.noteDesktopActivity();
177
- // Browser keystrokes are the user's own, so they may name the tab.
178
- delivered = session.write(msg.d, { fromUser: true });
179
- // A session whose PTY is gone swallows the write. ACKing anyway told
180
- // the client to drop the frame from its durable queue and left the seq
181
- // burnt, so the retry that reliable delivery exists for was rejected as
182
- // a duplicate: the input was lost for good.
183
- if (!delivered && cid && seq !== null)
184
- session.forgetInputSeq(cid, seq);
228
+ // A guarded submit (agent-staging.ts) holds the input lease across its
229
+ // awaited Enter, so frames keep arriving while it is held. Refusing one
230
+ // lost it: this path does not wait for ACKs, so the next seq landed after
231
+ // the lease, moved the watermark past the refused one, and its redelivery
232
+ // was then dropped as a duplicate. Hold the frame instead; the session runs
233
+ // it, ACK included, in arrival order the moment the lease is released.
234
+ // ⚠️ Defensive, like `lastInputSeq` below: the session arrives through a
235
+ // structural port, and one without this method must still deliver input
236
+ // (a throw here would drop the frame unACKed).
237
+ const held = typeof session.holdForGuardedLease === 'function'
238
+ ? session.holdForGuardedLease(() => applyInputFrame(msg), msg.d.length, msg.d)
239
+ : 'free';
240
+ if (held === 'free') {
241
+ applyInputFrame(msg);
185
242
  }
186
- if (seq !== null && socket.readyState === 1) {
187
- if (apply) {
188
- if (delivered)
189
- socket.send(`{"t":"ia","seq":${seq}}`);
190
- }
191
- else {
192
- // REJECTED as a duplicate. ACK it — the client must still drop it
193
- // from its durable queue — but say so, and hand back our watermark.
194
- //
195
- // A plain ACK here is indistinguishable from "applied", which is
196
- // what made a client with a rolled-back counter unrecoverable: its
197
- // seqs persist to localStorage on a DEBOUNCED write, so a tab killed
198
- // between a send and that write comes back with a counter BELOW this
199
- // watermark, every later keystroke lands at or under it, and each one
200
- // is dropped-but-ACKed. The UI stays clean, nothing is delivered, and
201
- // a reload restores the same stale counter. `last` is what lets the
202
- // client lift itself out.
203
- // ⚠️ Defensive: the session arrives through a structural port, and an
204
- // implementation without this method must not take the whole input
205
- // path down with it — a throw here aborts the message handler and the
206
- // frame is never ACKed at all, which strands it in the client's queue.
207
- const watermark = typeof session.lastInputSeq === 'function'
208
- ? session.lastInputSeq(cid)
209
- : seq;
210
- socket.send(`{"t":"ia","seq":${seq},"dup":true,"last":${watermark}}`);
211
- }
243
+ else if (held === 'full') {
244
+ // Not held, not applied, not ACKed, and no later frame from this socket
245
+ // is applied either, so nothing can overtake it.
246
+ inputStalled = true;
247
+ console.warn('[ws] input backlog during a guarded submit; closing for redelivery', { sessionId: id });
248
+ socket.close(1013, 'Input backlog during guarded submit');
212
249
  }
213
250
  }
214
251
  else if (msg.t === 'z' &&
@@ -1 +1 @@
1
- {"version":3,"file":"ws-routes.js","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-routes.js","sourceRoot":"","sources":["../../../src/web/routes/ws-routes.ts"],"names":[],"mappings":"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"}
@@ -155,13 +155,13 @@ export declare const CreateSessionSchema: z.ZodObject<{
155
155
  model: z.ZodOptional<z.ZodString>;
156
156
  provider: z.ZodOptional<z.ZodString>;
157
157
  thinking: z.ZodOptional<z.ZodEnum<{
158
+ off: "off";
158
159
  low: "low";
159
160
  medium: "medium";
160
161
  high: "high";
161
162
  xhigh: "xhigh";
162
163
  max: "max";
163
164
  minimal: "minimal";
164
- off: "off";
165
165
  }>>;
166
166
  continueSession: z.ZodOptional<z.ZodBoolean>;
167
167
  resumeSessionId: z.ZodOptional<z.ZodString>;
@@ -303,8 +303,8 @@ export declare const CreateWorktreeSchema: z.ZodObject<{
303
303
  export declare const RemoveWorktreeQuerySchema: z.ZodObject<{
304
304
  deleteBranch: z.ZodOptional<z.ZodEnum<{
305
305
  0: "0";
306
- false: "false";
307
306
  1: "1";
307
+ false: "false";
308
308
  true: "true";
309
309
  }>>;
310
310
  }, z.core.$strip>;
@@ -348,8 +348,8 @@ export declare const DockerHostSchema: z.ZodObject<{
348
348
  daemonHost: z.ZodOptional<z.ZodString>;
349
349
  context: z.ZodOptional<z.ZodString>;
350
350
  network: z.ZodOptional<z.ZodEnum<{
351
- bridge: "bridge";
352
351
  none: "none";
352
+ bridge: "bridge";
353
353
  custom: "custom";
354
354
  }>>;
355
355
  networkName: z.ZodOptional<z.ZodString>;
@@ -429,8 +429,8 @@ export declare const DockerQuickCreateSchema: z.ZodObject<{
429
429
  description: z.ZodOptional<z.ZodString>;
430
430
  image: z.ZodOptional<z.ZodString>;
431
431
  network: z.ZodOptional<z.ZodEnum<{
432
- bridge: "bridge";
433
432
  none: "none";
433
+ bridge: "bridge";
434
434
  custom: "custom";
435
435
  }>>;
436
436
  networkName: z.ZodOptional<z.ZodString>;
@@ -497,13 +497,13 @@ export declare const QuickStartSchema: z.ZodObject<{
497
497
  model: z.ZodOptional<z.ZodString>;
498
498
  provider: z.ZodOptional<z.ZodString>;
499
499
  thinking: z.ZodOptional<z.ZodEnum<{
500
+ off: "off";
500
501
  low: "low";
501
502
  medium: "medium";
502
503
  high: "high";
503
504
  xhigh: "xhigh";
504
505
  max: "max";
505
506
  minimal: "minimal";
506
- off: "off";
507
507
  }>>;
508
508
  continueSession: z.ZodOptional<z.ZodBoolean>;
509
509
  resumeSessionId: z.ZodOptional<z.ZodString>;
@@ -707,6 +707,8 @@ export declare const SettingsUpdateSchema: z.ZodObject<{
707
707
  autoNameSessions: z.ZodOptional<z.ZodBoolean>;
708
708
  promptCacheKeepWarm: z.ZodOptional<z.ZodBoolean>;
709
709
  promptCacheKeepWarmMaxHours: z.ZodOptional<z.ZodNumber>;
710
+ gitFetchEnabled: z.ZodOptional<z.ZodBoolean>;
711
+ gitFetchIntervalSeconds: z.ZodOptional<z.ZodNumber>;
710
712
  spawnedTabsFollowParent: z.ZodOptional<z.ZodBoolean>;
711
713
  readMyMindEnabled: z.ZodOptional<z.ZodBoolean>;
712
714
  customModelEndpointsEnabled: z.ZodOptional<z.ZodBoolean>;
@@ -717,6 +719,7 @@ export declare const SettingsUpdateSchema: z.ZodObject<{
717
719
  configBackupKeepCount: z.ZodOptional<z.ZodNumber>;
718
720
  configBackupKeepDays: z.ZodOptional<z.ZodNumber>;
719
721
  agentInboxPersistEnabled: z.ZodOptional<z.ZodBoolean>;
722
+ agentCoordinationEnabled: z.ZodOptional<z.ZodBoolean>;
720
723
  readMyMindModel: z.ZodOptional<z.ZodString>;
721
724
  tunnelEnabled: z.ZodOptional<z.ZodBoolean>;
722
725
  acknowledgeUnauthTunnel: z.ZodOptional<z.ZodBoolean>;
@@ -933,8 +936,8 @@ export declare const SessionWaitQuerySchema: z.ZodObject<{
933
936
  timeout: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
934
937
  fresh: z.ZodOptional<z.ZodEnum<{
935
938
  0: "0";
936
- false: "false";
937
939
  1: "1";
940
+ false: "false";
938
941
  true: "true";
939
942
  }>>;
940
943
  }, z.core.$strip>;
@@ -951,8 +954,8 @@ export declare const SessionWaitOutputQuerySchema: z.ZodObject<{
951
954
  match: z.ZodString;
952
955
  nocase: z.ZodOptional<z.ZodEnum<{
953
956
  0: "0";
954
- false: "false";
955
957
  1: "1";
958
+ false: "false";
956
959
  true: "true";
957
960
  }>>;
958
961
  from: z.ZodOptional<z.ZodEnum<{
@@ -1025,6 +1028,14 @@ export declare const AutoResumeSchema: z.ZodObject<{
1025
1028
  export declare const KeepWarmSchema: z.ZodObject<{
1026
1029
  enabled: z.ZodNullable<z.ZodBoolean>;
1027
1030
  }, z.core.$strip>;
1031
+ /**
1032
+ * `POST /api/sessions/:id/git-fetch-settings`: `null` clears the session's choice so the app-wide default
1033
+ * applies. Both fields are optional, so a row that saves on its own does not clear the other.
1034
+ */
1035
+ export declare const GitFetchSettingsSchema: z.ZodObject<{
1036
+ enabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1037
+ intervalSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1038
+ }, z.core.$strip>;
1028
1039
  /** POST /api/sessions/:id/pin (COD-139) — explicit pin state for idempotency. */
1029
1040
  export declare const PinSessionSchema: z.ZodObject<{
1030
1041
  pinned: z.ZodBoolean;
@@ -1455,4 +1466,16 @@ export declare const CustomModelSelectionSchema: z.ZodUnion<readonly [z.ZodObjec
1455
1466
  }, z.core.$strip>, z.ZodObject<{
1456
1467
  clear: z.ZodLiteral<true>;
1457
1468
  }, z.core.$strip>]>;
1469
+ /** Agent inspection bounds are bytes of evidence, independent of the JSON envelope. */
1470
+ export declare const AgentInspectQuerySchema: z.ZodObject<{
1471
+ maxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1472
+ since: z.ZodOptional<z.ZodString>;
1473
+ }, z.core.$strict>;
1474
+ export declare const AgentStageSchema: z.ZodObject<{
1475
+ message: z.ZodString;
1476
+ }, z.core.$strict>;
1477
+ export declare const AgentSubmitSchema: z.ZodObject<{
1478
+ stageId: z.ZodString;
1479
+ confirmSha: z.ZodString;
1480
+ }, z.core.$strict>;
1458
1481
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/web/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/web/schemas.ts"],"names":[],"mappings":"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"}
@@ -1385,6 +1385,19 @@ export const SettingsUpdateSchema = z
1385
1385
  promptCacheKeepWarm: z.boolean().optional(),
1386
1386
  /** Hours after the last real prompt during which keep-alives are sent (default 2, DEFAULT_KEEP_WARM_MAX_HOURS). */
1387
1387
  promptCacheKeepWarmMaxHours: z.number().min(0.5).max(24).optional(),
1388
+ /**
1389
+ * Git fetch on an interval (src/git-fetch-scheduler.ts): `git fetch` for the repositories the Git panel
1390
+ * lists, run on a timer instead of only on the panel's Fetch click. SYNCED, default OFF, because the
1391
+ * server is what runs it: `git fetch` is the only git command the Git panel runs that writes (cloning
1392
+ * and worktree management write too, but only when the user asked for them at the moment they asked), and
1393
+ * the only one that can run later by itself, on a timer, and the only one that can run a repository's own
1394
+ * hooks (`reference-transaction`, `pre-auto-gc` through the automatic maintenance a fetch triggers, config
1395
+ * commands such as `credential.helper`), so nothing runs on a timer until the user turns this on. Cap in seconds between runs (30 to 3600, default 300). A
1396
+ * session can override both in Session Options → Git; `null` there clears the override, and sessions
1397
+ * sharing one folder are fetched by one run.
1398
+ */
1399
+ gitFetchEnabled: z.boolean().optional(),
1400
+ gitFetchIntervalSeconds: z.number().int().min(30).max(3600).optional(),
1388
1401
  /**
1389
1402
  * Spawned tabs follow their parent: a session created by another one keeps
1390
1403
  * following its parent's tab (into its group, moving with it) until moved by
@@ -1441,6 +1454,13 @@ export const SettingsUpdateSchema = z
1441
1454
  * inboxes stay). On, pending messages between agents survive a server restart.
1442
1455
  */
1443
1456
  agentInboxPersistEnabled: z.boolean().optional(),
1457
+ /**
1458
+ * Experimental agent coordination (src/web/routes/agent-session-routes.ts): bounded
1459
+ * inspection and the guarded stage/submit routes behind `codeman agent inspect|stage|submit`.
1460
+ * SYNCED, default OFF: the routes are labeled experimental and may change in a minor or
1461
+ * patch release, so automation has to opt in. While OFF, all three routes answer 403.
1462
+ */
1463
+ agentCoordinationEnabled: z.boolean().optional(),
1444
1464
  /**
1445
1465
  * Read My Mind predictor model override. Empty/absent = the AI-checker
1446
1466
  * default (opus: prediction quality is the product and it runs only on an
@@ -1451,7 +1471,7 @@ export const SettingsUpdateSchema = z
1451
1471
  // Action field (NOT persisted): explicit per-request acknowledgment that the
1452
1472
  // operator accepts exposing an UNAUTHENTICATED public tunnel (no CODEMAN_PASSWORD).
1453
1473
  // Lets the UI enable a tunnel after a confirm dialog without the
1454
- // CODEMAN_ALLOW_UNAUTHENTICATED_NETWORK env var. Stripped before persisting.
1474
+ // CODEMAN_ALLOW_UNAUTHENTICATED_TUNNEL opt-in. Stripped before persisting.
1455
1475
  acknowledgeUnauthTunnel: z.boolean().optional(),
1456
1476
  tabTwoRows: z.boolean().optional(),
1457
1477
  /**
@@ -1803,6 +1823,14 @@ export const AutoResumeSchema = z.object({
1803
1823
  });
1804
1824
  /** `POST /api/sessions/:id/keep-warm`: `null` clears the session's choice so the app-wide default applies. */
1805
1825
  export const KeepWarmSchema = z.object({ enabled: z.boolean().nullable() });
1826
+ /**
1827
+ * `POST /api/sessions/:id/git-fetch-settings`: `null` clears the session's choice so the app-wide default
1828
+ * applies. Both fields are optional, so a row that saves on its own does not clear the other.
1829
+ */
1830
+ export const GitFetchSettingsSchema = z.object({
1831
+ enabled: z.boolean().nullable().optional(),
1832
+ intervalSeconds: z.number().int().min(30).max(3600).nullable().optional(),
1833
+ });
1806
1834
  /** POST /api/sessions/:id/pin (COD-139) — explicit pin state for idempotency. */
1807
1835
  export const PinSessionSchema = z.object({
1808
1836
  pinned: z.boolean(),
@@ -2224,4 +2252,15 @@ export const CustomModelSelectionSchema = z.union([
2224
2252
  }),
2225
2253
  z.object({ clear: z.literal(true) }),
2226
2254
  ]);
2255
+ /** Agent inspection bounds are bytes of evidence, independent of the JSON envelope. */
2256
+ export const AgentInspectQuerySchema = z
2257
+ .object({
2258
+ maxBytes: z.coerce.number().int().min(1).max(65536).default(8192),
2259
+ since: z.string().uuid().optional(),
2260
+ })
2261
+ .strict();
2262
+ export const AgentStageSchema = z.object({ message: z.string().min(1).max(8192) }).strict();
2263
+ export const AgentSubmitSchema = z
2264
+ .object({ stageId: z.string().uuid(), confirmSha: z.string().regex(/^[a-f0-9]{64}$/) })
2265
+ .strict();
2227
2266
  //# sourceMappingURL=schemas.js.map