aicodeman 1.44.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.
- package/README.md +32 -8
- package/dist/agent-codex-identity.d.ts +26 -0
- package/dist/agent-codex-identity.d.ts.map +1 -0
- package/dist/agent-codex-identity.js +253 -0
- package/dist/agent-codex-identity.js.map +1 -0
- package/dist/agent-inspection.d.ts +32 -0
- package/dist/agent-inspection.d.ts.map +1 -0
- package/dist/agent-inspection.js +196 -0
- package/dist/agent-inspection.js.map +1 -0
- package/dist/agent-staging.d.ts +130 -0
- package/dist/agent-staging.d.ts.map +1 -0
- package/dist/agent-staging.js +312 -0
- package/dist/agent-staging.js.map +1 -0
- package/dist/case-rename.d.ts +65 -0
- package/dist/case-rename.d.ts.map +1 -0
- package/dist/case-rename.js +198 -0
- package/dist/case-rename.js.map +1 -0
- package/dist/cli-agent.d.ts +91 -3
- package/dist/cli-agent.d.ts.map +1 -1
- package/dist/cli-agent.js +501 -44
- package/dist/cli-agent.js.map +1 -1
- package/dist/cli-history.d.ts +20 -0
- package/dist/cli-history.d.ts.map +1 -0
- package/dist/cli-history.js +61 -0
- package/dist/cli-history.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/codex-rollout-format.d.ts +66 -0
- package/dist/codex-rollout-format.d.ts.map +1 -0
- package/dist/codex-rollout-format.js +111 -0
- package/dist/codex-rollout-format.js.map +1 -0
- package/dist/codex-transcript.d.ts +3 -0
- package/dist/codex-transcript.d.ts.map +1 -1
- package/dist/codex-transcript.js +13 -41
- package/dist/codex-transcript.js.map +1 -1
- package/dist/config/auth-config.d.ts +16 -1
- package/dist/config/auth-config.d.ts.map +1 -1
- package/dist/config/auth-config.js +16 -1
- package/dist/config/auth-config.js.map +1 -1
- package/dist/config/cli-registry/schema.d.ts +12 -7
- package/dist/config/cli-registry/schema.d.ts.map +1 -1
- package/dist/config/cli-registry/schema.js +26 -0
- package/dist/config/cli-registry/schema.js.map +1 -1
- package/dist/config/cli-registry/stock.d.ts.map +1 -1
- package/dist/config/cli-registry/stock.js +40 -1
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +57 -0
- package/dist/config/cli-registry/types.d.ts.map +1 -1
- package/dist/config/server-timing.d.ts +6 -0
- package/dist/config/server-timing.d.ts.map +1 -1
- package/dist/config/server-timing.js +9 -0
- package/dist/config/server-timing.js.map +1 -1
- package/dist/daemon-control.d.ts +1 -0
- package/dist/daemon-control.d.ts.map +1 -1
- package/dist/daemon-control.js +2 -0
- package/dist/daemon-control.js.map +1 -1
- package/dist/deepseek-transcript.d.ts +9 -7
- package/dist/deepseek-transcript.d.ts.map +1 -1
- package/dist/deepseek-transcript.js +9 -7
- package/dist/deepseek-transcript.js.map +1 -1
- package/dist/docker-hosts.d.ts +8 -0
- package/dist/docker-hosts.d.ts.map +1 -1
- package/dist/docker-hosts.js +29 -0
- package/dist/docker-hosts.js.map +1 -1
- package/dist/git-fetch-scheduler.d.ts +124 -0
- package/dist/git-fetch-scheduler.d.ts.map +1 -0
- package/dist/git-fetch-scheduler.js +249 -0
- package/dist/git-fetch-scheduler.js.map +1 -0
- package/dist/git-fetch.d.ts +241 -0
- package/dist/git-fetch.d.ts.map +1 -0
- package/dist/git-fetch.js +392 -0
- package/dist/git-fetch.js.map +1 -0
- package/dist/git-workspace-status.d.ts +36 -1
- package/dist/git-workspace-status.d.ts.map +1 -1
- package/dist/git-workspace-status.js +42 -5
- package/dist/git-workspace-status.js.map +1 -1
- package/dist/hooks-config.d.ts +14 -2
- package/dist/hooks-config.d.ts.map +1 -1
- package/dist/hooks-config.js +39 -3
- package/dist/hooks-config.js.map +1 -1
- package/dist/host-sensors.d.ts +115 -0
- package/dist/host-sensors.d.ts.map +1 -0
- package/dist/host-sensors.js +457 -0
- package/dist/host-sensors.js.map +1 -0
- package/dist/local-history.d.ts +71 -0
- package/dist/local-history.d.ts.map +1 -0
- package/dist/local-history.js +750 -0
- package/dist/local-history.js.map +1 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +2 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/mux-interface.d.ts +5 -2
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/prompt-cache-keepwarm.d.ts.map +1 -1
- package/dist/prompt-cache-keepwarm.js +5 -3
- package/dist/prompt-cache-keepwarm.js.map +1 -1
- package/dist/remote-hosts.d.ts +7 -0
- package/dist/remote-hosts.d.ts.map +1 -1
- package/dist/remote-hosts.js +17 -3
- package/dist/remote-hosts.js.map +1 -1
- package/dist/remote-pane-history.d.ts.map +1 -1
- package/dist/remote-pane-history.js +2 -2
- package/dist/remote-pane-history.js.map +1 -1
- package/dist/session.d.ts +113 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +354 -13
- package/dist/session.js.map +1 -1
- package/dist/terminal-input-classifier.d.ts +8 -0
- package/dist/terminal-input-classifier.d.ts.map +1 -0
- package/dist/terminal-input-classifier.js +60 -0
- package/dist/terminal-input-classifier.js.map +1 -0
- package/dist/tmux-manager.d.ts +30 -4
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +101 -21
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tmux-prefix-table.d.ts +37 -5
- package/dist/tmux-prefix-table.d.ts.map +1 -1
- package/dist/tmux-prefix-table.js +40 -5
- package/dist/tmux-prefix-table.js.map +1 -1
- package/dist/tui/tui-app.d.ts +8 -1
- package/dist/tui/tui-app.d.ts.map +1 -1
- package/dist/tui/tui-app.js +49 -12
- package/dist/tui/tui-app.js.map +1 -1
- package/dist/tui/tui-client.d.ts +90 -3
- package/dist/tui/tui-client.d.ts.map +1 -1
- package/dist/tui/tui-client.js +195 -26
- package/dist/tui/tui-client.js.map +1 -1
- package/dist/types/session.d.ts +15 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/dist/web/agent-inbox-persistence.d.ts +52 -0
- package/dist/web/agent-inbox-persistence.d.ts.map +1 -0
- package/dist/web/agent-inbox-persistence.js +139 -0
- package/dist/web/agent-inbox-persistence.js.map +1 -0
- package/dist/web/agent-inbox.d.ts +140 -0
- package/dist/web/agent-inbox.d.ts.map +1 -0
- package/dist/web/agent-inbox.js +258 -0
- package/dist/web/agent-inbox.js.map +1 -0
- package/dist/web/middleware/auth.d.ts +2 -0
- package/dist/web/middleware/auth.d.ts.map +1 -1
- package/dist/web/middleware/auth.js +145 -52
- package/dist/web/middleware/auth.js.map +1 -1
- package/dist/web/network-auth-policy.d.ts +13 -3
- package/dist/web/network-auth-policy.d.ts.map +1 -1
- package/dist/web/network-auth-policy.js +15 -3
- package/dist/web/network-auth-policy.js.map +1 -1
- package/dist/web/ports/infra-port.d.ts +2 -0
- package/dist/web/ports/infra-port.d.ts.map +1 -1
- package/dist/web/public/admin-ui.js.gz +0 -0
- package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
- package/dist/web/public/app.3093527f.js +43 -0
- package/dist/web/public/app.3093527f.js.br +0 -0
- package/dist/web/public/app.3093527f.js.gz +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/{constants.4866ecc3.js → constants.affcdde6.js} +622 -12
- package/dist/web/public/constants.affcdde6.js.br +0 -0
- package/dist/web/public/constants.affcdde6.js.gz +0 -0
- package/dist/web/public/cron-ui.js.gz +0 -0
- package/dist/web/public/entrance-animations.js.gz +0 -0
- package/dist/web/public/git-status-ui.js +88 -5
- package/dist/web/public/git-status-ui.js.br +0 -0
- package/dist/web/public/git-status-ui.js.gz +0 -0
- package/dist/web/public/header-divider.eb2d2463.js +1 -0
- package/dist/web/public/header-divider.eb2d2463.js.br +0 -0
- package/dist/web/public/header-divider.eb2d2463.js.gz +0 -0
- package/dist/web/public/home-sessions.js.gz +0 -0
- package/dist/web/public/host-wake-ui.js.gz +0 -0
- package/dist/web/public/i18n.70265257.js +2 -0
- package/dist/web/public/i18n.70265257.js.br +0 -0
- package/dist/web/public/i18n.70265257.js.gz +0 -0
- package/dist/web/public/image-input.941386e7.js.gz +0 -0
- package/dist/web/public/index.html +170 -16
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
- package/dist/web/public/{mobile-handlers.44adaa07.js → mobile-handlers.f7c3f692.js} +26 -2
- package/dist/web/public/mobile-handlers.f7c3f692.js.br +0 -0
- package/dist/web/public/mobile-handlers.f7c3f692.js.gz +0 -0
- package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.1bbd2d67.css +1 -0
- package/dist/web/public/mobile.1bbd2d67.css.br +0 -0
- package/dist/web/public/mobile.1bbd2d67.css.gz +0 -0
- package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/{panels-ui.cbb24ba1.js → panels-ui.4a56ee63.js} +76 -70
- package/dist/web/public/panels-ui.4a56ee63.js.br +0 -0
- package/dist/web/public/panels-ui.4a56ee63.js.gz +0 -0
- package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
- package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
- package/dist/web/public/readmymind-ui.js.gz +0 -0
- package/dist/web/public/reboot-restore-ui.js.gz +0 -0
- package/dist/web/public/respawn-ui.d7adcf6a.js.gz +0 -0
- package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/session-ui.186f9419.js +106 -0
- package/dist/web/public/session-ui.186f9419.js.br +0 -0
- package/dist/web/public/session-ui.186f9419.js.gz +0 -0
- package/dist/web/public/settings-ui.a191154e.js +106 -0
- package/dist/web/public/settings-ui.a191154e.js.br +0 -0
- package/dist/web/public/settings-ui.a191154e.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
- package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
- package/dist/web/public/styles.7238eae8.css +1 -0
- package/dist/web/public/styles.7238eae8.css.br +0 -0
- package/dist/web/public/styles.7238eae8.css.gz +0 -0
- package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
- package/dist/web/public/sw.js +2 -2
- package/dist/web/public/sw.js.br +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
- package/dist/web/public/{tab-rail-resize.7157e0bd.js → tab-rail-resize.b5cdceaf.js} +1 -1
- package/dist/web/public/tab-rail-resize.b5cdceaf.js.br +0 -0
- package/dist/web/public/tab-rail-resize.b5cdceaf.js.gz +0 -0
- package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
- package/dist/web/public/terminal-split.js.gz +0 -0
- package/dist/web/public/terminal-tile.js +10 -1
- package/dist/web/public/terminal-tile.js.br +0 -0
- package/dist/web/public/terminal-tile.js.gz +0 -0
- package/dist/web/public/terminal-ui.7e787829.js +4 -0
- package/dist/web/public/terminal-ui.7e787829.js.br +0 -0
- package/dist/web/public/terminal-ui.7e787829.js.gz +0 -0
- package/dist/web/public/tile-grid.js.gz +0 -0
- package/dist/web/public/ultracode-panel.js.gz +0 -0
- package/dist/web/public/ultracode-windows.js.gz +0 -0
- package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
- package/dist/web/public/vendor/fflate.min.js.gz +0 -0
- package/dist/web/public/vendor/marked.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/{xterm-predictive-echo.ae5e3d5d.js → xterm-predictive-echo.276b11d9.js} +1 -1
- package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.br +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js +5 -0
- package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.br +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/public/whats-new.json +9 -9
- package/dist/web/route-helpers.d.ts +57 -6
- package/dist/web/route-helpers.d.ts.map +1 -1
- package/dist/web/route-helpers.js +72 -4
- package/dist/web/route-helpers.js.map +1 -1
- package/dist/web/routes/agent-session-routes.d.ts +20 -0
- package/dist/web/routes/agent-session-routes.d.ts.map +1 -0
- package/dist/web/routes/agent-session-routes.js +160 -0
- package/dist/web/routes/agent-session-routes.js.map +1 -0
- package/dist/web/routes/case-routes.d.ts.map +1 -1
- package/dist/web/routes/case-routes.js +203 -16
- package/dist/web/routes/case-routes.js.map +1 -1
- package/dist/web/routes/config-backup-routes.js +2 -2
- package/dist/web/routes/config-backup-routes.js.map +1 -1
- package/dist/web/routes/git-status-routes.d.ts +21 -7
- package/dist/web/routes/git-status-routes.d.ts.map +1 -1
- package/dist/web/routes/git-status-routes.js +78 -12
- package/dist/web/routes/git-status-routes.js.map +1 -1
- package/dist/web/routes/inbox-routes.d.ts +43 -0
- package/dist/web/routes/inbox-routes.d.ts.map +1 -0
- package/dist/web/routes/inbox-routes.js +148 -0
- package/dist/web/routes/inbox-routes.js.map +1 -0
- package/dist/web/routes/index.d.ts +2 -0
- package/dist/web/routes/index.d.ts.map +1 -1
- package/dist/web/routes/index.js +2 -0
- package/dist/web/routes/index.js.map +1 -1
- package/dist/web/routes/ralph-routes.d.ts.map +1 -1
- package/dist/web/routes/ralph-routes.js +7 -16
- package/dist/web/routes/ralph-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +120 -74
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/system-routes.d.ts.map +1 -1
- package/dist/web/routes/system-routes.js +107 -59
- package/dist/web/routes/system-routes.js.map +1 -1
- package/dist/web/routes/ws-routes.d.ts +5 -0
- package/dist/web/routes/ws-routes.d.ts.map +1 -1
- package/dist/web/routes/ws-routes.js +84 -47
- package/dist/web/routes/ws-routes.js.map +1 -1
- package/dist/web/schemas.d.ts +56 -7
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +88 -1
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/sensitive-path.d.ts.map +1 -1
- package/dist/web/sensitive-path.js +2 -0
- package/dist/web/sensitive-path.js.map +1 -1
- package/dist/web/server.d.ts +7 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +144 -16
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-wait-registry.d.ts +48 -4
- package/dist/web/session-wait-registry.d.ts.map +1 -1
- package/dist/web/session-wait-registry.js +144 -6
- package/dist/web/session-wait-registry.js.map +1 -1
- package/dist/web/settings-writer.d.ts +47 -0
- package/dist/web/settings-writer.d.ts.map +1 -0
- package/dist/web/settings-writer.js +110 -0
- package/dist/web/settings-writer.js.map +1 -0
- package/dist/web/sse-events.d.ts +4 -1
- package/dist/web/sse-events.d.ts.map +1 -1
- package/dist/web/sse-events.js +4 -1
- package/dist/web/sse-events.js.map +1 -1
- package/package.json +1 -1
- package/skills/codeman/SKILL.md +30 -8
- package/skills/codeman/preamble.sh +3 -3
- package/skills/codeman/reference/endpoints.md +24 -3
- package/skills/codeman/reference/history.md +84 -0
- package/skills/codeman/reference/inspection-and-staging.md +152 -0
- package/skills/codeman/reference/messaging.md +1 -1
- package/skills/codeman/reference/verbs.md +65 -3
- package/dist/web/public/app.9314ee60.js +0 -43
- package/dist/web/public/app.9314ee60.js.br +0 -0
- package/dist/web/public/app.9314ee60.js.gz +0 -0
- package/dist/web/public/constants.4866ecc3.js.br +0 -0
- package/dist/web/public/constants.4866ecc3.js.gz +0 -0
- package/dist/web/public/i18n.22ca902b.js +0 -2
- package/dist/web/public/i18n.22ca902b.js.br +0 -0
- package/dist/web/public/i18n.22ca902b.js.gz +0 -0
- package/dist/web/public/mobile-handlers.44adaa07.js.br +0 -0
- package/dist/web/public/mobile-handlers.44adaa07.js.gz +0 -0
- package/dist/web/public/mobile.12fb18de.css +0 -1
- package/dist/web/public/mobile.12fb18de.css.br +0 -0
- package/dist/web/public/mobile.12fb18de.css.gz +0 -0
- package/dist/web/public/panels-ui.cbb24ba1.js.br +0 -0
- package/dist/web/public/panels-ui.cbb24ba1.js.gz +0 -0
- package/dist/web/public/session-ui.9c1f009b.js +0 -104
- package/dist/web/public/session-ui.9c1f009b.js.br +0 -0
- package/dist/web/public/session-ui.9c1f009b.js.gz +0 -0
- package/dist/web/public/settings-ui.fea9ddae.js +0 -106
- package/dist/web/public/settings-ui.fea9ddae.js.br +0 -0
- package/dist/web/public/settings-ui.fea9ddae.js.gz +0 -0
- package/dist/web/public/styles.e096fcd6.css +0 -1
- package/dist/web/public/styles.e096fcd6.css.br +0 -0
- package/dist/web/public/styles.e096fcd6.css.gz +0 -0
- package/dist/web/public/tab-rail-resize.7157e0bd.js.br +0 -0
- package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
- package/dist/web/public/terminal-ui.68dbd352.js +0 -2
- package/dist/web/public/terminal-ui.68dbd352.js.br +0 -0
- package/dist/web/public/terminal-ui.68dbd352.js.gz +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.br +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js +0 -4
- package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.br +0 -0
- 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
|
-
//
|
|
165
|
-
//
|
|
166
|
-
//
|
|
167
|
-
//
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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 (
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
|
|
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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"}
|
package/dist/web/schemas.d.ts
CHANGED
|
@@ -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>;
|
|
@@ -716,6 +718,8 @@ export declare const SettingsUpdateSchema: z.ZodObject<{
|
|
|
716
718
|
configBackupDir: z.ZodOptional<z.ZodString>;
|
|
717
719
|
configBackupKeepCount: z.ZodOptional<z.ZodNumber>;
|
|
718
720
|
configBackupKeepDays: z.ZodOptional<z.ZodNumber>;
|
|
721
|
+
agentInboxPersistEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
722
|
+
agentCoordinationEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
719
723
|
readMyMindModel: z.ZodOptional<z.ZodString>;
|
|
720
724
|
tunnelEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
721
725
|
acknowledgeUnauthTunnel: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -932,8 +936,8 @@ export declare const SessionWaitQuerySchema: z.ZodObject<{
|
|
|
932
936
|
timeout: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
933
937
|
fresh: z.ZodOptional<z.ZodEnum<{
|
|
934
938
|
0: "0";
|
|
935
|
-
false: "false";
|
|
936
939
|
1: "1";
|
|
940
|
+
false: "false";
|
|
937
941
|
true: "true";
|
|
938
942
|
}>>;
|
|
939
943
|
}, z.core.$strip>;
|
|
@@ -950,8 +954,8 @@ export declare const SessionWaitOutputQuerySchema: z.ZodObject<{
|
|
|
950
954
|
match: z.ZodString;
|
|
951
955
|
nocase: z.ZodOptional<z.ZodEnum<{
|
|
952
956
|
0: "0";
|
|
953
|
-
false: "false";
|
|
954
957
|
1: "1";
|
|
958
|
+
false: "false";
|
|
955
959
|
true: "true";
|
|
956
960
|
}>>;
|
|
957
961
|
from: z.ZodOptional<z.ZodEnum<{
|
|
@@ -960,6 +964,25 @@ export declare const SessionWaitOutputQuerySchema: z.ZodObject<{
|
|
|
960
964
|
}>>;
|
|
961
965
|
timeout: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
962
966
|
}, z.core.$strip>;
|
|
967
|
+
/**
|
|
968
|
+
* Body for `POST /api/sessions/:id/inbox`. The byte cap (`MAX_MESSAGE_BYTES`) is the
|
|
969
|
+
* store's, checked there in UTF-8 bytes; this bound is only the outer fence so a
|
|
970
|
+
* multi-megabyte body never reaches it. It is 4× the byte cap in characters (a UTF-8
|
|
971
|
+
* character is at most 4 bytes), so every over-size message gets the store's answer,
|
|
972
|
+
* which tells the sender what to do instead. Multi-line text is fine: it is stored and
|
|
973
|
+
* handed back as data, never typed.
|
|
974
|
+
*/
|
|
975
|
+
export declare const InboxPostSchema: z.ZodObject<{
|
|
976
|
+
text: z.ZodString;
|
|
977
|
+
}, z.core.$strict>;
|
|
978
|
+
/** Query for `GET /api/sessions/:id/inbox`. `wait` follows the wait routes' `timeout`: clamped, never a 400 for size. */
|
|
979
|
+
export declare const InboxReadQuerySchema: z.ZodObject<{
|
|
980
|
+
wait: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
981
|
+
}, z.core.$strip>;
|
|
982
|
+
/** Body for `POST /api/sessions/:id/inbox/ack`: the ids a read handed out. */
|
|
983
|
+
export declare const InboxAckSchema: z.ZodObject<{
|
|
984
|
+
ids: z.ZodArray<z.ZodString>;
|
|
985
|
+
}, z.core.$strict>;
|
|
963
986
|
/** PUT /api/sessions/:id/name */
|
|
964
987
|
export declare const SessionNameSchema: z.ZodObject<{
|
|
965
988
|
name: z.ZodString;
|
|
@@ -1005,6 +1028,14 @@ export declare const AutoResumeSchema: z.ZodObject<{
|
|
|
1005
1028
|
export declare const KeepWarmSchema: z.ZodObject<{
|
|
1006
1029
|
enabled: z.ZodNullable<z.ZodBoolean>;
|
|
1007
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>;
|
|
1008
1039
|
/** POST /api/sessions/:id/pin (COD-139) — explicit pin state for idempotency. */
|
|
1009
1040
|
export declare const PinSessionSchema: z.ZodObject<{
|
|
1010
1041
|
pinned: z.ZodBoolean;
|
|
@@ -1108,6 +1139,12 @@ export declare const LinkCaseSchema: z.ZodObject<{
|
|
|
1108
1139
|
name: z.ZodString;
|
|
1109
1140
|
path: z.ZodString;
|
|
1110
1141
|
}, z.core.$strip>;
|
|
1142
|
+
/** POST /api/cases/:name/rename */
|
|
1143
|
+
export declare const RenameCaseSchema: z.ZodObject<{
|
|
1144
|
+
newName: z.ZodString;
|
|
1145
|
+
renameFolder: z.ZodOptional<z.ZodBoolean>;
|
|
1146
|
+
stopSessions: z.ZodOptional<z.ZodBoolean>;
|
|
1147
|
+
}, z.core.$strict>;
|
|
1111
1148
|
/** PUT /api/cases/order */
|
|
1112
1149
|
export declare const CaseOrderSchema: z.ZodObject<{
|
|
1113
1150
|
order: z.ZodArray<z.ZodString>;
|
|
@@ -1429,4 +1466,16 @@ export declare const CustomModelSelectionSchema: z.ZodUnion<readonly [z.ZodObjec
|
|
|
1429
1466
|
}, z.core.$strip>, z.ZodObject<{
|
|
1430
1467
|
clear: z.ZodLiteral<true>;
|
|
1431
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>;
|
|
1432
1481
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/web/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/web/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/web/schemas.js
CHANGED
|
@@ -17,6 +17,7 @@ import { WEBHOOK_KINDS, WEBHOOK_SCOPES } from '../types/push.js';
|
|
|
17
17
|
import { MIN_MATCH_LENGTH, MAX_MATCH_LENGTH } from '../config/agent-wait.js';
|
|
18
18
|
import { MAX_WAKE_MACS } from '../config/remote-wake-limits.js';
|
|
19
19
|
import { MAX_INPUT_LENGTH } from '../config/terminal-limits.js';
|
|
20
|
+
import { MAX_MESSAGE_BYTES } from './agent-inbox.js';
|
|
20
21
|
import { enabledCliIds, enabledClis } from '../config/cli-registry/registry.js';
|
|
21
22
|
import { isAdvisorModel } from '../types/session.js';
|
|
22
23
|
// ========== Path Validation ==========
|
|
@@ -1384,6 +1385,19 @@ export const SettingsUpdateSchema = z
|
|
|
1384
1385
|
promptCacheKeepWarm: z.boolean().optional(),
|
|
1385
1386
|
/** Hours after the last real prompt during which keep-alives are sent (default 2, DEFAULT_KEEP_WARM_MAX_HOURS). */
|
|
1386
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(),
|
|
1387
1401
|
/**
|
|
1388
1402
|
* Spawned tabs follow their parent: a session created by another one keeps
|
|
1389
1403
|
* following its parent's tab (into its group, moving with it) until moved by
|
|
@@ -1434,6 +1448,19 @@ export const SettingsUpdateSchema = z
|
|
|
1434
1448
|
configBackupKeepCount: z.number().int().min(2).max(500).optional(),
|
|
1435
1449
|
/** Also drop snapshots older than this many days; 0 = no age limit. */
|
|
1436
1450
|
configBackupKeepDays: z.number().int().min(0).max(3650).optional(),
|
|
1451
|
+
/**
|
|
1452
|
+
* Agent inbox snapshot on disk (src/web/agent-inbox-persistence.ts). SYNCED, default OFF:
|
|
1453
|
+
* off means no file is written, and switching it off deletes the snapshot (the in-memory
|
|
1454
|
+
* inboxes stay). On, pending messages between agents survive a server restart.
|
|
1455
|
+
*/
|
|
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(),
|
|
1437
1464
|
/**
|
|
1438
1465
|
* Read My Mind predictor model override. Empty/absent = the AI-checker
|
|
1439
1466
|
* default (opus: prediction quality is the product and it runs only on an
|
|
@@ -1444,7 +1471,7 @@ export const SettingsUpdateSchema = z
|
|
|
1444
1471
|
// Action field (NOT persisted): explicit per-request acknowledgment that the
|
|
1445
1472
|
// operator accepts exposing an UNAUTHENTICATED public tunnel (no CODEMAN_PASSWORD).
|
|
1446
1473
|
// Lets the UI enable a tunnel after a confirm dialog without the
|
|
1447
|
-
//
|
|
1474
|
+
// CODEMAN_ALLOW_UNAUTHENTICATED_TUNNEL opt-in. Stripped before persisting.
|
|
1448
1475
|
acknowledgeUnauthTunnel: z.boolean().optional(),
|
|
1449
1476
|
tabTwoRows: z.boolean().optional(),
|
|
1450
1477
|
/**
|
|
@@ -1725,6 +1752,33 @@ export const SessionWaitOutputQuerySchema = z.object({
|
|
|
1725
1752
|
// the documented contract, so a large value must clamp rather than 400.
|
|
1726
1753
|
timeout: z.coerce.number().int().positive().optional(),
|
|
1727
1754
|
});
|
|
1755
|
+
// ========== Agent Inbox Routes ==========
|
|
1756
|
+
/**
|
|
1757
|
+
* Body for `POST /api/sessions/:id/inbox`. The byte cap (`MAX_MESSAGE_BYTES`) is the
|
|
1758
|
+
* store's, checked there in UTF-8 bytes; this bound is only the outer fence so a
|
|
1759
|
+
* multi-megabyte body never reaches it. It is 4× the byte cap in characters (a UTF-8
|
|
1760
|
+
* character is at most 4 bytes), so every over-size message gets the store's answer,
|
|
1761
|
+
* which tells the sender what to do instead. Multi-line text is fine: it is stored and
|
|
1762
|
+
* handed back as data, never typed.
|
|
1763
|
+
*/
|
|
1764
|
+
export const InboxPostSchema = z
|
|
1765
|
+
.object({
|
|
1766
|
+
text: z
|
|
1767
|
+
.string()
|
|
1768
|
+
.min(1, 'text must not be empty')
|
|
1769
|
+
.max(4 * MAX_MESSAGE_BYTES),
|
|
1770
|
+
})
|
|
1771
|
+
.strict();
|
|
1772
|
+
/** Query for `GET /api/sessions/:id/inbox`. `wait` follows the wait routes' `timeout`: clamped, never a 400 for size. */
|
|
1773
|
+
export const InboxReadQuerySchema = z.object({
|
|
1774
|
+
wait: z.coerce.number().int().positive().optional(),
|
|
1775
|
+
});
|
|
1776
|
+
/** Body for `POST /api/sessions/:id/inbox/ack`: the ids a read handed out. */
|
|
1777
|
+
export const InboxAckSchema = z
|
|
1778
|
+
.object({
|
|
1779
|
+
ids: z.array(z.string().min(1).max(64)).min(1).max(200),
|
|
1780
|
+
})
|
|
1781
|
+
.strict();
|
|
1728
1782
|
// ========== Session Mutation Routes ==========
|
|
1729
1783
|
/** PUT /api/sessions/:id/name */
|
|
1730
1784
|
export const SessionNameSchema = z.object({
|
|
@@ -1769,6 +1823,14 @@ export const AutoResumeSchema = z.object({
|
|
|
1769
1823
|
});
|
|
1770
1824
|
/** `POST /api/sessions/:id/keep-warm`: `null` clears the session's choice so the app-wide default applies. */
|
|
1771
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
|
+
});
|
|
1772
1834
|
/** POST /api/sessions/:id/pin (COD-139) — explicit pin state for idempotency. */
|
|
1773
1835
|
export const PinSessionSchema = z.object({
|
|
1774
1836
|
pinned: z.boolean(),
|
|
@@ -1856,6 +1918,20 @@ export const LinkCaseSchema = z.object({
|
|
|
1856
1918
|
name: z.string().regex(/^[a-zA-Z0-9_-]+$/, 'Invalid case name format'),
|
|
1857
1919
|
path: safePathSchema,
|
|
1858
1920
|
});
|
|
1921
|
+
/** POST /api/cases/:name/rename */
|
|
1922
|
+
export const RenameCaseSchema = z
|
|
1923
|
+
.object({
|
|
1924
|
+
newName: z
|
|
1925
|
+
.string()
|
|
1926
|
+
.min(1)
|
|
1927
|
+
.max(100)
|
|
1928
|
+
.regex(/^[a-zA-Z0-9_-]+$/, 'Invalid case name format. Use only letters, numbers, hyphens, underscores.'),
|
|
1929
|
+
/** Linked cases only: also rename the real folder on disk (a case under the cases directory always moves). */
|
|
1930
|
+
renameFolder: z.boolean().optional(),
|
|
1931
|
+
/** Stop the live sessions that have the folder open, instead of refusing with the list of them. */
|
|
1932
|
+
stopSessions: z.boolean().optional(),
|
|
1933
|
+
})
|
|
1934
|
+
.strict();
|
|
1859
1935
|
/** PUT /api/cases/order */
|
|
1860
1936
|
export const CaseOrderSchema = z.object({
|
|
1861
1937
|
order: z.array(z.string().regex(/^[a-zA-Z0-9_-]+$/, 'Invalid case name format')),
|
|
@@ -2176,4 +2252,15 @@ export const CustomModelSelectionSchema = z.union([
|
|
|
2176
2252
|
}),
|
|
2177
2253
|
z.object({ clear: z.literal(true) }),
|
|
2178
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();
|
|
2179
2266
|
//# sourceMappingURL=schemas.js.map
|