aicodeman 1.42.0 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -12
- package/dist/claude-session-title.d.ts +6 -4
- package/dist/claude-session-title.d.ts.map +1 -1
- package/dist/claude-session-title.js +6 -4
- package/dist/claude-session-title.js.map +1 -1
- package/dist/cli-agent.d.ts +3 -3
- package/dist/cli-agent.d.ts.map +1 -1
- package/dist/cli-agent.js +8 -6
- package/dist/cli-agent.js.map +1 -1
- package/dist/config/cli-registry/patterns.d.ts +1 -1
- package/dist/config/cli-registry/patterns.d.ts.map +1 -1
- package/dist/config/cli-registry/patterns.js +3 -0
- package/dist/config/cli-registry/patterns.js.map +1 -1
- package/dist/config/cli-registry/schema.d.ts +1 -0
- package/dist/config/cli-registry/schema.d.ts.map +1 -1
- package/dist/config/cli-registry/schema.js +5 -3
- 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 +263 -4
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +13 -5
- package/dist/config/cli-registry/types.d.ts.map +1 -1
- package/dist/config/map-limits.d.ts +13 -1
- package/dist/config/map-limits.d.ts.map +1 -1
- package/dist/config/map-limits.js +28 -1
- package/dist/config/map-limits.js.map +1 -1
- package/dist/config-backup.d.ts +279 -0
- package/dist/config-backup.d.ts.map +1 -0
- package/dist/config-backup.js +794 -0
- package/dist/config-backup.js.map +1 -0
- package/dist/cron/cron-service.d.ts +5 -5
- package/dist/cron/cron-service.js +6 -6
- package/dist/cron/cron-service.js.map +1 -1
- package/dist/custom-model-hosts.d.ts +16 -0
- package/dist/custom-model-hosts.d.ts.map +1 -1
- package/dist/custom-model-hosts.js.map +1 -1
- package/dist/hooks-config.d.ts +24 -0
- package/dist/hooks-config.d.ts.map +1 -1
- package/dist/hooks-config.js +47 -0
- package/dist/hooks-config.js.map +1 -1
- package/dist/intent-store.d.ts +2 -0
- package/dist/intent-store.d.ts.map +1 -1
- package/dist/intent-store.js +9 -0
- package/dist/intent-store.js.map +1 -1
- package/dist/mcp-sync-targets.d.ts +6 -3
- package/dist/mcp-sync-targets.d.ts.map +1 -1
- package/dist/mcp-sync-targets.js +6 -3
- package/dist/mcp-sync-targets.js.map +1 -1
- package/dist/mux-interface.d.ts +28 -7
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/prompt-cache-keepwarm.d.ts +193 -0
- package/dist/prompt-cache-keepwarm.d.ts.map +1 -0
- package/dist/prompt-cache-keepwarm.js +359 -0
- package/dist/prompt-cache-keepwarm.js.map +1 -0
- package/dist/respawn-controller.d.ts.map +1 -1
- package/dist/respawn-controller.js +6 -5
- package/dist/respawn-controller.js.map +1 -1
- package/dist/session-auto-ops.d.ts.map +1 -1
- package/dist/session-auto-ops.js +6 -1
- package/dist/session-auto-ops.js.map +1 -1
- package/dist/session-cli-registry-bridge.d.ts +15 -1
- package/dist/session-cli-registry-bridge.d.ts.map +1 -1
- package/dist/session-cli-registry-bridge.js +20 -3
- package/dist/session-cli-registry-bridge.js.map +1 -1
- package/dist/session-submit-verifier.d.ts +19 -0
- package/dist/session-submit-verifier.d.ts.map +1 -1
- package/dist/session-submit-verifier.js +88 -0
- package/dist/session-submit-verifier.js.map +1 -1
- package/dist/session.d.ts +83 -12
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +150 -16
- package/dist/session.js.map +1 -1
- package/dist/state-store.d.ts +10 -0
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js +35 -0
- package/dist/state-store.js.map +1 -1
- package/dist/tab-layout-service.d.ts +33 -0
- package/dist/tab-layout-service.d.ts.map +1 -1
- package/dist/tab-layout-service.js +75 -3
- package/dist/tab-layout-service.js.map +1 -1
- package/dist/tmux-manager.d.ts +52 -9
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +148 -30
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tmux-prefix-table.d.ts +54 -0
- package/dist/tmux-prefix-table.d.ts.map +1 -0
- package/dist/tmux-prefix-table.js +137 -0
- package/dist/tmux-prefix-table.js.map +1 -0
- package/dist/tui/tui-app.d.ts +9 -1
- package/dist/tui/tui-app.d.ts.map +1 -1
- package/dist/tui/tui-app.js +21 -8
- package/dist/tui/tui-app.js.map +1 -1
- package/dist/tui/tui-client.d.ts +3 -2
- package/dist/tui/tui-client.d.ts.map +1 -1
- package/dist/tui/tui-client.js +3 -2
- package/dist/tui/tui-client.js.map +1 -1
- package/dist/types/app-state.d.ts +6 -0
- package/dist/types/app-state.d.ts.map +1 -1
- package/dist/types/app-state.js.map +1 -1
- package/dist/types/session.d.ts +72 -5
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +2 -1
- package/dist/types/session.js.map +1 -1
- package/dist/usage-telemetry.d.ts +15 -0
- package/dist/usage-telemetry.d.ts.map +1 -1
- package/dist/usage-telemetry.js +45 -2
- package/dist/usage-telemetry.js.map +1 -1
- package/dist/utils/cli-installed-probes.d.ts +1 -1
- package/dist/utils/cli-installed-probes.d.ts.map +1 -1
- package/dist/utils/cli-installed-probes.js +4 -2
- package/dist/utils/cli-installed-probes.js.map +1 -1
- package/dist/utils/copilot-cli-resolver.d.ts +48 -0
- package/dist/utils/copilot-cli-resolver.d.ts.map +1 -0
- package/dist/utils/copilot-cli-resolver.js +112 -0
- package/dist/utils/copilot-cli-resolver.js.map +1 -0
- package/dist/utils/copilot-plan-usage.d.ts +46 -0
- package/dist/utils/copilot-plan-usage.d.ts.map +1 -0
- package/dist/utils/copilot-plan-usage.js +95 -0
- package/dist/utils/copilot-plan-usage.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/single-line.d.ts +22 -0
- package/dist/utils/single-line.d.ts.map +1 -0
- package/dist/utils/single-line.js +30 -0
- package/dist/utils/single-line.js.map +1 -0
- package/dist/web/approval-inbox.d.ts +6 -0
- package/dist/web/approval-inbox.d.ts.map +1 -1
- package/dist/web/approval-inbox.js +2 -2
- package/dist/web/approval-inbox.js.map +1 -1
- package/dist/web/case-path.d.ts +4 -2
- package/dist/web/case-path.d.ts.map +1 -1
- package/dist/web/case-path.js +13 -4
- package/dist/web/case-path.js.map +1 -1
- package/dist/web/plan-usage-latest.d.ts +2 -1
- package/dist/web/plan-usage-latest.d.ts.map +1 -1
- package/dist/web/plan-usage-latest.js +12 -2
- package/dist/web/plan-usage-latest.js.map +1 -1
- package/dist/web/ports/index.d.ts +1 -0
- package/dist/web/ports/index.d.ts.map +1 -1
- package/dist/web/ports/keep-warm-port.d.ts +9 -0
- package/dist/web/ports/keep-warm-port.d.ts.map +1 -0
- package/dist/web/ports/keep-warm-port.js +6 -0
- package/dist/web/ports/keep-warm-port.js.map +1 -0
- package/dist/web/ports/session-port.d.ts +3 -1
- package/dist/web/ports/session-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.9314ee60.js +43 -0
- package/dist/web/public/app.9314ee60.js.br +0 -0
- package/dist/web/public/app.9314ee60.js.gz +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/{constants.12b0c247.js → constants.4866ecc3.js} +205 -3
- package/dist/web/public/constants.4866ecc3.js.br +0 -0
- package/dist/web/public/constants.4866ecc3.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.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.22ca902b.js +2 -0
- package/dist/web/public/i18n.22ca902b.js.br +0 -0
- package/dist/web/public/i18n.22ca902b.js.gz +0 -0
- package/dist/web/public/{image-input.fcdcb46c.js → image-input.941386e7.js} +24 -14
- package/dist/web/public/image-input.941386e7.js.br +0 -0
- package/dist/web/public/image-input.941386e7.js.gz +0 -0
- package/dist/web/public/index.html +110 -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.b42f539b.js → keyboard-accessory.4e8b20ac.js} +51 -22
- package/dist/web/public/keyboard-accessory.4e8b20ac.js.br +0 -0
- package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
- package/dist/web/public/{mobile-handlers.0ef9c311.js → mobile-handlers.44adaa07.js} +48 -16
- 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-ime-preview.2dbaf262.js.gz +0 -0
- package/dist/web/public/mobile-overview.js +1 -0
- package/dist/web/public/mobile-overview.js.br +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.12fb18de.css +1 -0
- package/dist/web/public/mobile.12fb18de.css.br +0 -0
- package/dist/web/public/mobile.12fb18de.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.73ec0137.js → panels-ui.cbb24ba1.js} +66 -66
- 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/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/security-notices.json +21 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.d52ff6aa.js → session-ui.9c1f009b.js} +8 -4
- 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 +106 -0
- 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/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.e096fcd6.css +1 -0
- package/dist/web/public/styles.e096fcd6.css.br +0 -0
- package/dist/web/public/styles.e096fcd6.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.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 +41 -22
- 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.68dbd352.js +2 -0
- 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/tile-grid.js +3 -6
- package/dist/web/public/tile-grid.js.br +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.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.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/response-viewer-transcript.d.ts +6 -0
- package/dist/web/response-viewer-transcript.d.ts.map +1 -1
- package/dist/web/response-viewer-transcript.js +134 -1
- package/dist/web/response-viewer-transcript.js.map +1 -1
- package/dist/web/routes/admin-routes.d.ts +2 -1
- package/dist/web/routes/admin-routes.d.ts.map +1 -1
- package/dist/web/routes/admin-routes.js +3 -0
- package/dist/web/routes/admin-routes.js.map +1 -1
- package/dist/web/routes/case-routes.d.ts +2 -2
- package/dist/web/routes/case-routes.d.ts.map +1 -1
- package/dist/web/routes/case-routes.js +81 -3
- package/dist/web/routes/case-routes.js.map +1 -1
- package/dist/web/routes/config-backup-routes.d.ts +54 -0
- package/dist/web/routes/config-backup-routes.d.ts.map +1 -0
- package/dist/web/routes/config-backup-routes.js +268 -0
- package/dist/web/routes/config-backup-routes.js.map +1 -0
- package/dist/web/routes/custom-model-routes.d.ts +17 -1
- package/dist/web/routes/custom-model-routes.d.ts.map +1 -1
- package/dist/web/routes/custom-model-routes.js +118 -13
- package/dist/web/routes/custom-model-routes.js.map +1 -1
- package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
- package/dist/web/routes/hook-event-routes.js +26 -5
- package/dist/web/routes/hook-event-routes.js.map +1 -1
- package/dist/web/routes/index.d.ts +1 -0
- package/dist/web/routes/index.d.ts.map +1 -1
- package/dist/web/routes/index.js +1 -0
- package/dist/web/routes/index.js.map +1 -1
- package/dist/web/routes/mcp-sync-routes.d.ts +4 -4
- package/dist/web/routes/mcp-sync-routes.js +4 -4
- package/dist/web/routes/ralph-routes.js +2 -2
- package/dist/web/routes/ralph-routes.js.map +1 -1
- package/dist/web/routes/reboot-restore-routes.d.ts.map +1 -1
- package/dist/web/routes/reboot-restore-routes.js +2 -0
- package/dist/web/routes/reboot-restore-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts +14 -4
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +131 -30
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/status-telemetry-routes.d.ts +2 -2
- package/dist/web/routes/status-telemetry-routes.d.ts.map +1 -1
- package/dist/web/routes/status-telemetry-routes.js +8 -4
- package/dist/web/routes/status-telemetry-routes.js.map +1 -1
- package/dist/web/routes/system-routes.d.ts +2 -2
- package/dist/web/routes/system-routes.d.ts.map +1 -1
- package/dist/web/routes/system-routes.js +18 -0
- package/dist/web/routes/system-routes.js.map +1 -1
- package/dist/web/routes/webview-routes.d.ts.map +1 -1
- package/dist/web/routes/webview-routes.js +1 -0
- package/dist/web/routes/webview-routes.js.map +1 -1
- package/dist/web/schemas.d.ts +32 -0
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +64 -4
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/server.d.ts +12 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +127 -6
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-listener-wiring.d.ts +6 -0
- package/dist/web/session-listener-wiring.d.ts.map +1 -1
- package/dist/web/session-listener-wiring.js +10 -3
- package/dist/web/session-listener-wiring.js.map +1 -1
- package/dist/web/sse-events.d.ts +5 -2
- package/dist/web/sse-events.d.ts.map +1 -1
- package/dist/web/sse-events.js +5 -2
- package/dist/web/sse-events.js.map +1 -1
- package/dist/web/webview-proxy.d.ts +8 -3
- package/dist/web/webview-proxy.d.ts.map +1 -1
- package/dist/web/webview-proxy.js +23 -5
- package/dist/web/webview-proxy.js.map +1 -1
- package/package.json +1 -1
- package/skills/codeman/SKILL.md +23 -11
- package/skills/codeman/preamble.sh +12 -2
- package/skills/codeman/reference/endpoints.md +16 -15
- package/skills/codeman/reference/messaging.md +5 -5
- package/skills/codeman/reference/recipes.md +2 -2
- package/skills/codeman/reference/verbs.md +25 -17
- package/dist/web/public/app.f04bb2a5.js +0 -43
- package/dist/web/public/app.f04bb2a5.js.br +0 -0
- package/dist/web/public/app.f04bb2a5.js.gz +0 -0
- package/dist/web/public/constants.12b0c247.js.br +0 -0
- package/dist/web/public/constants.12b0c247.js.gz +0 -0
- package/dist/web/public/i18n.06659676.js +0 -2
- package/dist/web/public/i18n.06659676.js.br +0 -0
- package/dist/web/public/i18n.06659676.js.gz +0 -0
- package/dist/web/public/image-input.fcdcb46c.js.br +0 -0
- package/dist/web/public/image-input.fcdcb46c.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.b42f539b.js.br +0 -0
- package/dist/web/public/keyboard-accessory.b42f539b.js.gz +0 -0
- package/dist/web/public/mobile-handlers.0ef9c311.js.br +0 -0
- package/dist/web/public/mobile-handlers.0ef9c311.js.gz +0 -0
- package/dist/web/public/mobile.2dff1580.css +0 -1
- package/dist/web/public/mobile.2dff1580.css.br +0 -0
- package/dist/web/public/mobile.2dff1580.css.gz +0 -0
- package/dist/web/public/panels-ui.73ec0137.js.br +0 -0
- package/dist/web/public/panels-ui.73ec0137.js.gz +0 -0
- package/dist/web/public/session-ui.d52ff6aa.js.br +0 -0
- package/dist/web/public/session-ui.d52ff6aa.js.gz +0 -0
- package/dist/web/public/settings-ui.3a22bd2a.js +0 -97
- package/dist/web/public/settings-ui.3a22bd2a.js.br +0 -0
- package/dist/web/public/settings-ui.3a22bd2a.js.gz +0 -0
- package/dist/web/public/styles.ba6a9b84.css +0 -1
- package/dist/web/public/styles.ba6a9b84.css.br +0 -0
- package/dist/web/public/styles.ba6a9b84.css.gz +0 -0
- package/dist/web/public/terminal-ui.0a7ccc29.js +0 -2
- package/dist/web/public/terminal-ui.0a7ccc29.js.br +0 -0
- package/dist/web/public/terminal-ui.0a7ccc29.js.gz +0 -0
package/dist/intent-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-store.js","sourceRoot":"","sources":["../src/intent-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"intent-store.js","sourceRoot":"","sources":["../src/intent-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
* `mcpSyncTargets()` (routes/mcp-sync-routes.ts) takes the registry's enabled CLIs that declare an
|
|
5
5
|
* `mcpConfig`. Some tools read an MCP server list worth keeping in step with the others but are not
|
|
6
6
|
* something Codeman launches, so they have no registry entry (and no id to branch on): GitHub
|
|
7
|
-
* Copilot CLI is the first.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Copilot CLI is the first. It is also a run mode that declares its own `mcpConfig`, so while that
|
|
8
|
+
* entry is enabled this row is skipped (`mcpSyncOnlyTargets` drops ids the registry already
|
|
9
|
+
* supplies); it applies when the run mode is disabled but the tool is still on the machine. They are
|
|
10
|
+
* plain data here, take part only when installed or when their config file already exists (an
|
|
11
|
+
* absent tool is reported `absent`, never created), and sort after the registry CLIs, so when two
|
|
12
|
+
* definitions of a name differ the registry CLI's is the one copied.
|
|
10
13
|
*
|
|
11
14
|
* @module mcp-sync-targets
|
|
12
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-sync-targets.d.ts","sourceRoot":"","sources":["../src/mcp-sync-targets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-sync-targets.d.ts","sourceRoot":"","sources":["../src/mcp-sync-targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAUzD,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAczG;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,WAAW,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAsB,GACtD,aAAa,EAAE,CASjB"}
|
package/dist/mcp-sync-targets.js
CHANGED
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
* `mcpSyncTargets()` (routes/mcp-sync-routes.ts) takes the registry's enabled CLIs that declare an
|
|
5
5
|
* `mcpConfig`. Some tools read an MCP server list worth keeping in step with the others but are not
|
|
6
6
|
* something Codeman launches, so they have no registry entry (and no id to branch on): GitHub
|
|
7
|
-
* Copilot CLI is the first.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Copilot CLI is the first. It is also a run mode that declares its own `mcpConfig`, so while that
|
|
8
|
+
* entry is enabled this row is skipped (`mcpSyncOnlyTargets` drops ids the registry already
|
|
9
|
+
* supplies); it applies when the run mode is disabled but the tool is still on the machine. They are
|
|
10
|
+
* plain data here, take part only when installed or when their config file already exists (an
|
|
11
|
+
* absent tool is reported `absent`, never created), and sort after the registry CLIs, so when two
|
|
12
|
+
* definitions of a name differ the registry CLI's is the one copied.
|
|
10
13
|
*
|
|
11
14
|
* @module mcp-sync-targets
|
|
12
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-sync-targets.js","sourceRoot":"","sources":["../src/mcp-sync-targets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-sync-targets.js","sourceRoot":"","sources":["../src/mcp-sync-targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgB5C,MAAM,CAAC,MAAM,mBAAmB,GAA+B;IAC7D;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,cAAc;QACtB,iGAAiG;QACjG,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC/D,MAAM,EAAE,SAAS;KAClB;CACF,CAAC;AAEF,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAA0C,OAAO,CAAC,GAAG;IAC9F,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;QAChC,gBAAgB;KACjB,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB,CAChC,KAA0B,EAC1B,cAA2C,YAAY;IAEvD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;KACjC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/mux-interface.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @module mux-interface
|
|
7
7
|
*/
|
|
8
8
|
import type { EventEmitter } from 'node:events';
|
|
9
|
-
import type { ProcessStats, PersistedRespawnConfig, NiceConfig, ClaudeMode, SessionMode, OpenCodeConfig, CodexConfig, EffortLevel, GeminiConfig, AntigravityConfig, PiConfig, GrokConfig, DeepSeekConfig, OmpConfig, SessionRemote, SessionDocker, PaneExit, StatusLineExporter } from './types.js';
|
|
9
|
+
import type { ProcessStats, PersistedRespawnConfig, NiceConfig, ClaudeMode, SessionMode, OpenCodeConfig, CodexConfig, EffortLevel, GeminiConfig, AntigravityConfig, PiConfig, GrokConfig, CopilotConfig, DeepSeekConfig, OmpConfig, SessionRemote, SessionDocker, PaneExit, StatusLineExporter } from './types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Multiplexer session metadata.
|
|
12
12
|
*/
|
|
@@ -39,9 +39,15 @@ export interface MuxSession {
|
|
|
39
39
|
ralphEnabled?: boolean;
|
|
40
40
|
/** Whether the current launch carries the statusLine exporter; set on every create and respawn. */
|
|
41
41
|
statusLine?: StatusLineExporter;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the current launch carries `idleCompaction: false` in its `--settings` JSON (keep-warm
|
|
44
|
+
* on at launch, the exporter injected, Claude Code new enough); set on every create and respawn.
|
|
45
|
+
*/
|
|
46
|
+
idleCompactionOff?: boolean;
|
|
42
47
|
/**
|
|
43
48
|
* This record was rebuilt from the tmux socket rather than from Codeman's own
|
|
44
|
-
* bookkeeping, so everything on it but the name
|
|
49
|
+
* bookkeeping, so everything on it but the name, the pid and, when tmux
|
|
50
|
+
* reported a usable one, the directory is a guess. Its
|
|
45
51
|
* synthetic `restored-<fragment>` id cannot find the session's `state.json`
|
|
46
52
|
* entry either, which means a remote or docker session rediscovered this way
|
|
47
53
|
* arrives with no `remote`/`docker` metadata and looks local. Anything that
|
|
@@ -74,7 +80,8 @@ export interface CreateSessionOptions {
|
|
|
74
80
|
* Name pinned on a claude spawn as `--name` (version-gated, sanitized, local only).
|
|
75
81
|
* Deliberately NOT `name`: `--name` owns the prompt-box label, the `/resume` picker
|
|
76
82
|
* entry and the terminal title, and a pinned title stops Claude generating its own,
|
|
77
|
-
* so only a user-chosen name belongs here
|
|
83
|
+
* so by default only a user-chosen name belongs here; the opt-in `pinCliSessionName`
|
|
84
|
+
* setting pins every tab name (see `Session.cliPinnedName`).
|
|
78
85
|
*/
|
|
79
86
|
cliName?: string;
|
|
80
87
|
niceConfig?: NiceConfig;
|
|
@@ -87,6 +94,7 @@ export interface CreateSessionOptions {
|
|
|
87
94
|
antigravityConfig?: AntigravityConfig;
|
|
88
95
|
piConfig?: PiConfig;
|
|
89
96
|
grokConfig?: GrokConfig;
|
|
97
|
+
copilotConfig?: CopilotConfig;
|
|
90
98
|
deepSeekConfig?: DeepSeekConfig;
|
|
91
99
|
ompConfig?: OmpConfig;
|
|
92
100
|
/** When restoring after reboot, resume a previous Claude conversation by its session ID */
|
|
@@ -97,6 +105,10 @@ export interface CreateSessionOptions {
|
|
|
97
105
|
effort?: EffortLevel;
|
|
98
106
|
/** Claude advisor model, merged into the same `--settings` JSON (overridable via /advisor in-session) */
|
|
99
107
|
advisorModel?: string;
|
|
108
|
+
/** The session's own prompt-cache keep-warm choice (undefined = app default); decides the `idleCompaction` opt-out. */
|
|
109
|
+
keepWarm?: boolean;
|
|
110
|
+
/** Spawned by another session: it does not inherit the keep-warm app default (`keepWarmOn`). */
|
|
111
|
+
spawnedByAgent?: boolean;
|
|
100
112
|
/** tmux history-limit (scrollback lines) allocated when this session is created. */
|
|
101
113
|
historyLimit?: number;
|
|
102
114
|
/** Remote execution metadata for local tmux sessions wrapping SSH */
|
|
@@ -117,7 +129,8 @@ export interface RespawnPaneOptions {
|
|
|
117
129
|
* Name pinned on a respawned claude as `--name` (version-gated, sanitized, local only).
|
|
118
130
|
* Deliberately NOT `name`: `--name` owns the prompt-box label, the `/resume` picker
|
|
119
131
|
* entry and the terminal title, and a pinned title stops Claude generating its own,
|
|
120
|
-
* so only a user-chosen name belongs here
|
|
132
|
+
* so by default only a user-chosen name belongs here; the opt-in `pinCliSessionName`
|
|
133
|
+
* setting pins every tab name (see `Session.cliPinnedName`).
|
|
121
134
|
*/
|
|
122
135
|
cliName?: string;
|
|
123
136
|
niceConfig?: NiceConfig;
|
|
@@ -130,6 +143,7 @@ export interface RespawnPaneOptions {
|
|
|
130
143
|
antigravityConfig?: AntigravityConfig;
|
|
131
144
|
piConfig?: PiConfig;
|
|
132
145
|
grokConfig?: GrokConfig;
|
|
146
|
+
copilotConfig?: CopilotConfig;
|
|
133
147
|
deepSeekConfig?: DeepSeekConfig;
|
|
134
148
|
ompConfig?: OmpConfig;
|
|
135
149
|
/** Resume a previous Claude conversation when respawning */
|
|
@@ -147,6 +161,10 @@ export interface RespawnPaneOptions {
|
|
|
147
161
|
effort?: EffortLevel;
|
|
148
162
|
/** Claude advisor model (preserved across respawns, merged into the same `--settings` JSON) */
|
|
149
163
|
advisorModel?: string;
|
|
164
|
+
/** The session's own prompt-cache keep-warm choice, re-read at every relaunch (see CreateSessionOptions). */
|
|
165
|
+
keepWarm?: boolean;
|
|
166
|
+
/** Spawned by another session (see CreateSessionOptions). */
|
|
167
|
+
spawnedByAgent?: boolean;
|
|
150
168
|
/** Original tmux history-limit retained for config parity; respawn cannot resize the existing pane. */
|
|
151
169
|
historyLimit?: number;
|
|
152
170
|
/** Remote execution metadata for local tmux sessions wrapping SSH */
|
|
@@ -340,12 +358,15 @@ export interface TerminalMultiplexer extends EventEmitter {
|
|
|
340
358
|
*/
|
|
341
359
|
captureActivePaneBuffer?(muxName: string, opts?: PaneCaptureOptions): string | null;
|
|
342
360
|
/**
|
|
343
|
-
* Plain text of the visible frame: no
|
|
344
|
-
* reconstruction
|
|
361
|
+
* Plain text of the visible frame: no cursor query, no repaint
|
|
362
|
+
* reconstruction, and no styles unless `styles` asks for them (SGR only, lines
|
|
363
|
+
* still `\n`-separated). Deliberately cheaper than `capturePaneBuffer` because idle
|
|
345
364
|
* detection calls it on a timer: it only needs to read what the CLI is
|
|
346
365
|
* currently rendering, never to replay it into an xterm. Returns null when the
|
|
347
366
|
* pane cannot be read.
|
|
348
367
|
*/
|
|
349
|
-
capturePaneText?(muxName: string, paneTarget?: string
|
|
368
|
+
capturePaneText?(muxName: string, paneTarget?: string, opts?: {
|
|
369
|
+
styles?: boolean;
|
|
370
|
+
}): string | null;
|
|
350
371
|
}
|
|
351
372
|
//# sourceMappingURL=mux-interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mux-interface.d.ts","sourceRoot":"","sources":["../src/mux-interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,EACb,QAAQ,EACR,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mGAAmG;IACnG,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC
|
|
1
|
+
{"version":3,"file":"mux-interface.d.ts","sourceRoot":"","sources":["../src/mux-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Prompt-cache keep-warm: a one-line keep-alive turn shortly before an idle
|
|
3
|
+
* claude session's prompt cache would expire, so the next real prompt reads the conversation
|
|
4
|
+
* from cache instead of re-processing it at the cache-write rate.
|
|
5
|
+
*
|
|
6
|
+
* Why it exists: Claude Code gives a subscription's main conversation a one-hour cache and
|
|
7
|
+
* lets it expire after an hour idle. Measured on real sessions, nearly every gap over an
|
|
8
|
+
* hour went cold and the first turn back re-wrote the whole context at 2x; a keep-alive turn
|
|
9
|
+
* costs a cache read plus a one-word reply, a small fraction of the miss it prevents, and the
|
|
10
|
+
* payoff is concentrated in gaps of one to four hours, which is why there is a cap after the
|
|
11
|
+
* last real prompt rather than an indefinite loop.
|
|
12
|
+
*
|
|
13
|
+
* Codeman owns the idle policy for these sessions (Discussion #554): a launch with keep-warm
|
|
14
|
+
* on also carries `idleCompaction: false` in its one `--settings` JSON, so Claude Code's own
|
|
15
|
+
* idle compaction (which fires at 90% of the TTL, a minute before the nudge) cannot replace
|
|
16
|
+
* the conversation with a summary first. That is decided once per launch in
|
|
17
|
+
* `TmuxManager._resolveIdleCompactionOptOut()` and recorded on the mux record; a session
|
|
18
|
+
* switched on after launch is kept warm best-effort and says so.
|
|
19
|
+
*
|
|
20
|
+
* Where the facts come from: `Session.promptCache` (the statusline's `prompt_cache` object,
|
|
21
|
+
* see usage-telemetry.ts) carries `expires_at`, the TTL and the tokens at stake, so nothing
|
|
22
|
+
* here infers the lifetime from idle detection or the plan tier.
|
|
23
|
+
*
|
|
24
|
+
* Shape: `decideKeepWarm()` is the pure rulebook (every guard in one place, tested as a
|
|
25
|
+
* table); `PromptCacheKeepWarmService` owns the per-session timer and the ports it needs
|
|
26
|
+
* from the server. It never touches the session except through `beginKeepAliveTurn()` and
|
|
27
|
+
* `writeViaMux()`: the window `beginKeepAliveTurn()` opens is what keeps the nudge off the
|
|
28
|
+
* real-prompt clock and opens its stop hook and idle prompt pre-acknowledged
|
|
29
|
+
* (hook-event-routes.ts). The nudge is still a submit, so it moves `lastSubmitAt`.
|
|
30
|
+
*
|
|
31
|
+
* @module prompt-cache-keepwarm
|
|
32
|
+
*/
|
|
33
|
+
import type { KeepWarmStatus, PromptCacheStatus, StatusLineExporter } from './types/index.js';
|
|
34
|
+
/** The nudge. Under 100 chars on purpose: a longer burst reads as a paste to Claude Code. */
|
|
35
|
+
export declare const KEEP_WARM_NUDGE = "Codeman cache keep-alive: no action needed, reply with just \"ok\".";
|
|
36
|
+
/** Nudge this long before `expires_at`. The nudge's own request is what refreshes the timer. */
|
|
37
|
+
export declare const KEEP_WARM_LEAD_MS: number;
|
|
38
|
+
/** Re-check cadence while a transient guard (working, dialog, draft in the composer) defers. */
|
|
39
|
+
export declare const KEEP_WARM_RETRY_MS = 60000;
|
|
40
|
+
/** Give up this close to expiry: a turn takes seconds to land and the Enter may be re-pressed. */
|
|
41
|
+
export declare const KEEP_WARM_LAST_CHANCE_MS = 60000;
|
|
42
|
+
/** Below this many tokens at stake a cold rewrite is cheap and a turn is not worth it. */
|
|
43
|
+
export declare const KEEP_WARM_MIN_TOKENS = 20000;
|
|
44
|
+
/** A person typed this recently: they may be about to submit, which refreshes the cache for free. */
|
|
45
|
+
export declare const KEEP_WARM_RECENT_INPUT_MS: number;
|
|
46
|
+
/**
|
|
47
|
+
* Ceiling on the keep-alive window. The window normally closes on the turn's own idle prompt
|
|
48
|
+
* (Claude Code sends it about a minute after the turn ends, so a slow turn must not outlast a
|
|
49
|
+
* short fixed window) or earlier, at any other submit; the ceiling covers a turn whose idle
|
|
50
|
+
* prompt never arrives, such as a workspace without Codeman's hooks.
|
|
51
|
+
*/
|
|
52
|
+
export declare const KEEP_WARM_TURN_WINDOW_MS: number;
|
|
53
|
+
/** Default cap: hours after the last real prompt during which nudges are sent. */
|
|
54
|
+
export declare const DEFAULT_KEEP_WARM_MAX_HOURS = 2;
|
|
55
|
+
/**
|
|
56
|
+
* Whether keep-warm is on for a session: its own choice, else the app-wide default. A session
|
|
57
|
+
* an agent spawned (`parentSessionId`) does not inherit the default: a worker that finished
|
|
58
|
+
* its task is idle exactly like one that will be prompted again, and most never are, so only
|
|
59
|
+
* its own switch keeps it warm. One function because the launch (the `idleCompaction`
|
|
60
|
+
* opt-out) and the service must agree.
|
|
61
|
+
*/
|
|
62
|
+
export declare function keepWarmOn(choice: boolean | undefined, appDefault: boolean, spawnedByAgent: boolean): boolean;
|
|
63
|
+
export interface KeepWarmFacts {
|
|
64
|
+
now: number;
|
|
65
|
+
/** The session's own choice; undefined = the app-wide default applies. */
|
|
66
|
+
choice: boolean | undefined;
|
|
67
|
+
appDefault: boolean;
|
|
68
|
+
/** Spawned by another session (`parentSessionId`); see `keepWarmOn`. */
|
|
69
|
+
spawnedByAgent: boolean;
|
|
70
|
+
/** Whether this launch carries the statusLine exporter; undefined when unknown. */
|
|
71
|
+
statusLine?: StatusLineExporter;
|
|
72
|
+
cache: PromptCacheStatus | null | undefined;
|
|
73
|
+
/** Idle by Codeman's own probe and not mid-turn. */
|
|
74
|
+
idle: boolean;
|
|
75
|
+
/** A pid and no recorded agent exit (`paneExit`: an exited agent's pane keeps its pid). */
|
|
76
|
+
paneAlive: boolean;
|
|
77
|
+
/** Auto-resume's pause, or a usage-limit message on screen whose reset is still ahead. */
|
|
78
|
+
limitPaused: boolean;
|
|
79
|
+
/** Respawn running, a Ralph loop active, a task assigned, or an agent long-polling the session. */
|
|
80
|
+
automationActive: boolean;
|
|
81
|
+
/** A permission, question or elicitation dialog is open (never the idle item). */
|
|
82
|
+
pendingApproval: boolean;
|
|
83
|
+
/** The composer line holds no text; null when the pane could not be read. */
|
|
84
|
+
composerEmpty: boolean | null;
|
|
85
|
+
/** Last keystroke a person sent, epoch ms; 0 when none seen. */
|
|
86
|
+
lastHumanInputAt: number;
|
|
87
|
+
/** Start of the keep-warm window: the last real (non-keep-alive) prompt, else the session start. */
|
|
88
|
+
budgetAnchorAt: number;
|
|
89
|
+
maxKeepWarmMs: number;
|
|
90
|
+
}
|
|
91
|
+
export type KeepWarmDecision = {
|
|
92
|
+
action: 'nudge';
|
|
93
|
+
} | {
|
|
94
|
+
action: 'wait';
|
|
95
|
+
until: number;
|
|
96
|
+
reason: string;
|
|
97
|
+
} | {
|
|
98
|
+
action: 'stop';
|
|
99
|
+
reason: string;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* The rulebook. Hard stops first (nothing to do until the next cache report or a flag
|
|
103
|
+
* change), then the schedule, then the transient guards that defer by `KEEP_WARM_RETRY_MS`
|
|
104
|
+
* and never past the last-chance line. Pure: `now` is passed in.
|
|
105
|
+
*/
|
|
106
|
+
export declare function decideKeepWarm(f: KeepWarmFacts): KeepWarmDecision;
|
|
107
|
+
/** What the service needs from a session; `Session` satisfies it structurally. */
|
|
108
|
+
export interface KeepWarmSessionView {
|
|
109
|
+
readonly id: string;
|
|
110
|
+
readonly createdAt: number;
|
|
111
|
+
readonly pid: number | null;
|
|
112
|
+
/** Set when the agent exited in a pane that stays open (`remain-on-exit`); the pid stays. */
|
|
113
|
+
readonly paneExit?: unknown;
|
|
114
|
+
readonly parentSessionId?: string;
|
|
115
|
+
readonly promptCache: PromptCacheStatus | null;
|
|
116
|
+
readonly statusLineExporter?: StatusLineExporter;
|
|
117
|
+
/** Whether this launch carries `idleCompaction: false` (`MuxSession.idleCompactionOff`). */
|
|
118
|
+
readonly idleCompactionOptOut: boolean;
|
|
119
|
+
readonly keepWarmEnabled: boolean | undefined;
|
|
120
|
+
readonly isWorking: boolean;
|
|
121
|
+
readonly isLimitPaused: boolean;
|
|
122
|
+
readonly lastHumanInputAt: number;
|
|
123
|
+
/** Last submit that was not the keep-alive's own (persisted): the cap's clock. */
|
|
124
|
+
readonly lastRealPromptAt: number;
|
|
125
|
+
isIdle(): boolean;
|
|
126
|
+
beginKeepAliveTurn(windowMs: number): void;
|
|
127
|
+
/** Close the window `beginKeepAliveTurn()` opened, when the nudge never went out. */
|
|
128
|
+
endKeepAliveTurn(): void;
|
|
129
|
+
writeViaMux(data: string): Promise<boolean>;
|
|
130
|
+
}
|
|
131
|
+
export interface KeepWarmSettings {
|
|
132
|
+
/** App-wide default for sessions that have not chosen (`promptCacheKeepWarm`). */
|
|
133
|
+
keepWarmDefault: boolean;
|
|
134
|
+
/** Cap in hours after the last real prompt (`promptCacheKeepWarmMaxHours`). */
|
|
135
|
+
maxHours: number;
|
|
136
|
+
}
|
|
137
|
+
export interface KeepWarmPorts {
|
|
138
|
+
getSession(id: string): KeepWarmSessionView | undefined;
|
|
139
|
+
sessionIds(): Iterable<string>;
|
|
140
|
+
readSettings(): Promise<KeepWarmSettings>;
|
|
141
|
+
isAutomationActive(id: string): boolean;
|
|
142
|
+
hasPendingApproval(id: string): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Read the pane once a nudge is otherwise due: whether the composer is empty (null when it
|
|
145
|
+
* cannot be read), and whether a usage-limit message with a reset still ahead is on screen
|
|
146
|
+
* (auto-resume's own pause tracking only runs while auto-resume is on).
|
|
147
|
+
*/
|
|
148
|
+
readPane(session: KeepWarmSessionView): {
|
|
149
|
+
composerEmpty: boolean | null;
|
|
150
|
+
limitShown: boolean;
|
|
151
|
+
};
|
|
152
|
+
/** Store and broadcast the status (the server dedupes against the session's last one). */
|
|
153
|
+
publish(id: string, status: KeepWarmStatus): void;
|
|
154
|
+
log?(message: string): void;
|
|
155
|
+
}
|
|
156
|
+
/** The scheduler the routes see: one method per trigger, nothing else. */
|
|
157
|
+
export interface KeepWarmScheduler {
|
|
158
|
+
/** Re-evaluate a session: after a cache report, a flag change, or a settings change. Resolves once the status is published. */
|
|
159
|
+
schedule(sessionId: string): Promise<void>;
|
|
160
|
+
/** Re-read the app-wide default and cap, then re-evaluate every session (either one changed). */
|
|
161
|
+
rescheduleAll(): void;
|
|
162
|
+
/** The session is gone. */
|
|
163
|
+
remove(sessionId: string): void;
|
|
164
|
+
}
|
|
165
|
+
export declare class PromptCacheKeepWarmService implements KeepWarmScheduler {
|
|
166
|
+
private readonly ports;
|
|
167
|
+
private readonly timers;
|
|
168
|
+
private readonly tallies;
|
|
169
|
+
/** One evaluation per session; `remove()` and `stop()` cancel it at its next await. */
|
|
170
|
+
private readonly inFlight;
|
|
171
|
+
/** The evaluation running per session, and the one follow-up queued behind it. */
|
|
172
|
+
private readonly running;
|
|
173
|
+
private readonly followUps;
|
|
174
|
+
/**
|
|
175
|
+
* The default and cap, read once and kept: every statusline report schedules an evaluation,
|
|
176
|
+
* and reading settings.json on each would cost every install, the feature off included.
|
|
177
|
+
* `rescheduleAll()` drops it, and the settings PUT calls that whenever either key changes.
|
|
178
|
+
*/
|
|
179
|
+
private settings;
|
|
180
|
+
/** The last settings read failure logged, so one that persists is logged once; cleared by a good read. */
|
|
181
|
+
private settingsFailure;
|
|
182
|
+
private stopped;
|
|
183
|
+
constructor(ports: KeepWarmPorts);
|
|
184
|
+
schedule(sessionId: string): Promise<void>;
|
|
185
|
+
rescheduleAll(): void;
|
|
186
|
+
remove(sessionId: string): void;
|
|
187
|
+
stop(): void;
|
|
188
|
+
private readSettings;
|
|
189
|
+
private clearTimer;
|
|
190
|
+
private arm;
|
|
191
|
+
private evaluate;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=prompt-cache-keepwarm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-cache-keepwarm.d.ts","sourceRoot":"","sources":["../src/prompt-cache-keepwarm.ts"],"names":[],"mappings":"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"}
|