botmux 3.14.0 → 3.16.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.en.md +2 -2
- package/README.md +2 -2
- package/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/destroy-result.d.ts +159 -0
- package/dist/adapters/backend/destroy-result.d.ts.map +1 -0
- package/dist/adapters/backend/destroy-result.js +223 -0
- package/dist/adapters/backend/destroy-result.js.map +1 -0
- package/dist/adapters/backend/herdr-backend.d.ts +4 -0
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +23 -1
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/mojo-backend.d.ts +577 -0
- package/dist/adapters/backend/mojo-backend.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-backend.js +2471 -0
- package/dist/adapters/backend/mojo-backend.js.map +1 -0
- package/dist/adapters/backend/mojo-budgets.d.ts +21 -0
- package/dist/adapters/backend/mojo-budgets.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-budgets.js +22 -0
- package/dist/adapters/backend/mojo-budgets.js.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts +69 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js +213 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts +292 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.js +486 -0
- package/dist/adapters/backend/mojo-process-tree.js.map +1 -0
- package/dist/adapters/backend/mojo-types.d.ts +542 -0
- package/dist/adapters/backend/mojo-types.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-types.js +682 -0
- package/dist/adapters/backend/mojo-types.js.map +1 -0
- package/dist/adapters/backend/reproduce-command.js +3 -3
- package/dist/adapters/backend/reproduce-command.js.map +1 -1
- package/dist/adapters/backend/riff-backend.js +1 -1
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/sandbox.d.ts +44 -7
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +30 -7
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/session-backend-selector.d.ts +14 -1
- package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
- package/dist/adapters/backend/session-backend-selector.js +82 -10
- package/dist/adapters/backend/session-backend-selector.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +30 -0
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +60 -0
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +108 -6
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zmx-backend.d.ts +11 -0
- package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zmx-backend.js +16 -1
- package/dist/adapters/backend/zmx-backend.js.map +1 -1
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +2 -2
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +7 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/copilot.d.ts +3 -1
- package/dist/adapters/cli/copilot.d.ts.map +1 -1
- package/dist/adapters/cli/copilot.js +23 -5
- package/dist/adapters/cli/copilot.js.map +1 -1
- package/dist/adapters/cli/cursor.d.ts.map +1 -1
- package/dist/adapters/cli/cursor.js +26 -4
- package/dist/adapters/cli/cursor.js.map +1 -1
- package/dist/adapters/cli/dsh.d.ts.map +1 -1
- package/dist/adapters/cli/dsh.js +5 -1
- package/dist/adapters/cli/dsh.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts.map +1 -1
- package/dist/adapters/cli/grok.js +24 -5
- package/dist/adapters/cli/grok.js.map +1 -1
- package/dist/adapters/cli/kimi.d.ts.map +1 -1
- package/dist/adapters/cli/kimi.js +19 -1
- package/dist/adapters/cli/kimi.js.map +1 -1
- package/dist/adapters/cli/mojo.d.ts +28 -0
- package/dist/adapters/cli/mojo.d.ts.map +1 -0
- package/dist/adapters/cli/mojo.js +58 -0
- package/dist/adapters/cli/mojo.js.map +1 -0
- package/dist/adapters/cli/pi.d.ts +20 -5
- package/dist/adapters/cli/pi.d.ts.map +1 -1
- package/dist/adapters/cli/pi.js +27 -5
- package/dist/adapters/cli/pi.js.map +1 -1
- package/dist/adapters/cli/read-isolation.d.ts +251 -1
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +254 -1
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +13 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +19 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/runner-input.d.ts +3 -3
- package/dist/adapters/cli/runner-input.d.ts.map +1 -1
- package/dist/adapters/cli/runner-input.js +4 -3
- package/dist/adapters/cli/runner-input.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +3 -1
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +51 -30
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +33 -4
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +42 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +54 -4
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/arg-utils.d.ts +5 -0
- package/dist/cli/arg-utils.d.ts.map +1 -1
- package/dist/cli/arg-utils.js +7 -0
- package/dist/cli/arg-utils.js.map +1 -1
- package/dist/cli/bots-list-output.d.ts +130 -2
- package/dist/cli/bots-list-output.d.ts.map +1 -1
- package/dist/cli/bots-list-output.js +173 -27
- package/dist/cli/bots-list-output.js.map +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts +10 -3
- package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle-env.js +38 -11
- package/dist/cli/daemon-lifecycle-env.js.map +1 -1
- package/dist/cli/dashboard-command.d.ts +15 -0
- package/dist/cli/dashboard-command.d.ts.map +1 -1
- package/dist/cli/dashboard-command.js +22 -0
- package/dist/cli/dashboard-command.js.map +1 -1
- package/dist/cli/log-tail.d.ts +54 -0
- package/dist/cli/log-tail.d.ts.map +1 -0
- package/dist/cli/log-tail.js +167 -0
- package/dist/cli/log-tail.js.map +1 -0
- package/dist/cli/pm2-env.d.ts +16 -0
- package/dist/cli/pm2-env.d.ts.map +1 -0
- package/dist/cli/pm2-env.js +63 -0
- package/dist/cli/pm2-env.js.map +1 -0
- package/dist/cli/pm2-fleet-lock.d.ts +26 -0
- package/dist/cli/pm2-fleet-lock.d.ts.map +1 -0
- package/dist/cli/pm2-fleet-lock.js +50 -0
- package/dist/cli/pm2-fleet-lock.js.map +1 -0
- package/dist/cli/pm2-god-retirement.d.ts +59 -0
- package/dist/cli/pm2-god-retirement.d.ts.map +1 -0
- package/dist/cli/pm2-god-retirement.js +95 -0
- package/dist/cli/pm2-god-retirement.js.map +1 -0
- package/dist/cli/session-list-wake.d.ts +41 -0
- package/dist/cli/session-list-wake.d.ts.map +1 -0
- package/dist/cli/session-list-wake.js +102 -0
- package/dist/cli/session-list-wake.js.map +1 -0
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +26 -0
- package/dist/cli/workflow.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +941 -118
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-runner.js +261 -49
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/core/cli-runtime-update.d.ts +8 -0
- package/dist/core/cli-runtime-update.d.ts.map +1 -1
- package/dist/core/cli-runtime-update.js +127 -8
- package/dist/core/cli-runtime-update.js.map +1 -1
- package/dist/core/close-residual.d.ts +64 -0
- package/dist/core/close-residual.d.ts.map +1 -0
- package/dist/core/close-residual.js +93 -0
- package/dist/core/close-residual.js.map +1 -0
- package/dist/core/closed-session-card.d.ts.map +1 -1
- package/dist/core/closed-session-card.js +11 -3
- package/dist/core/closed-session-card.js.map +1 -1
- package/dist/core/command-discovery.d.ts.map +1 -1
- package/dist/core/command-discovery.js +4 -1
- package/dist/core/command-discovery.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +129 -27
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +3 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +230 -1
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/daemon-background-close.d.ts +19 -0
- package/dist/core/daemon-background-close.d.ts.map +1 -0
- package/dist/core/daemon-background-close.js +39 -0
- package/dist/core/daemon-background-close.js.map +1 -0
- package/dist/core/dashboard-command/overview.d.ts +4 -0
- package/dist/core/dashboard-command/overview.d.ts.map +1 -1
- package/dist/core/dashboard-command/overview.js +8 -1
- package/dist/core/dashboard-command/overview.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +415 -42
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +4 -0
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +3 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +37 -0
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +71 -0
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/deferred-schedule-settlement.d.ts +15 -1
- package/dist/core/deferred-schedule-settlement.d.ts.map +1 -1
- package/dist/core/deferred-schedule-settlement.js +4 -1
- package/dist/core/deferred-schedule-settlement.js.map +1 -1
- package/dist/core/device-isolation-daemon.d.ts +91 -1
- package/dist/core/device-isolation-daemon.d.ts.map +1 -1
- package/dist/core/device-isolation-daemon.js +346 -2
- package/dist/core/device-isolation-daemon.js.map +1 -1
- package/dist/core/local-terminal-opener.d.ts.map +1 -1
- package/dist/core/local-terminal-opener.js +5 -1
- package/dist/core/local-terminal-opener.js.map +1 -1
- package/dist/core/loopback-target.d.ts +14 -0
- package/dist/core/loopback-target.d.ts.map +1 -0
- package/dist/core/loopback-target.js +20 -0
- package/dist/core/loopback-target.js.map +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +16 -2
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/mojo-containment-command.d.ts +20 -0
- package/dist/core/mojo-containment-command.d.ts.map +1 -0
- package/dist/core/mojo-containment-command.js +266 -0
- package/dist/core/mojo-containment-command.js.map +1 -0
- package/dist/core/mojo-containment.d.ts +575 -0
- package/dist/core/mojo-containment.d.ts.map +1 -0
- package/dist/core/mojo-containment.js +1158 -0
- package/dist/core/mojo-containment.js.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts +30 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.js +175 -0
- package/dist/core/mojo-launcher-env-quarantine.js.map +1 -0
- package/dist/core/mojo-session-identity.d.ts +3 -0
- package/dist/core/mojo-session-identity.d.ts.map +1 -0
- package/dist/core/mojo-session-identity.js +126 -0
- package/dist/core/mojo-session-identity.js.map +1 -0
- package/dist/core/persistent-backend.d.ts +32 -8
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +55 -17
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/plugins/mcp/gateway.d.ts +14 -1
- package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
- package/dist/core/plugins/mcp/gateway.js +70 -3
- package/dist/core/plugins/mcp/gateway.js.map +1 -1
- package/dist/core/plugins/mcp/host.d.ts +2 -0
- package/dist/core/plugins/mcp/host.d.ts.map +1 -1
- package/dist/core/plugins/mcp/host.js +2 -0
- package/dist/core/plugins/mcp/host.js.map +1 -1
- package/dist/core/plugins/pm2.d.ts.map +1 -1
- package/dist/core/plugins/pm2.js +16 -3
- package/dist/core/plugins/pm2.js.map +1 -1
- package/dist/core/plugins/service-manager.d.ts +9 -0
- package/dist/core/plugins/service-manager.d.ts.map +1 -1
- package/dist/core/plugins/service-manager.js +33 -16
- package/dist/core/plugins/service-manager.js.map +1 -1
- package/dist/core/preview-port-owner.d.ts +109 -0
- package/dist/core/preview-port-owner.d.ts.map +1 -0
- package/dist/core/preview-port-owner.js +320 -0
- package/dist/core/preview-port-owner.js.map +1 -0
- package/dist/core/remote-cli-ids.d.ts +5 -0
- package/dist/core/remote-cli-ids.d.ts.map +1 -0
- package/dist/core/remote-cli-ids.js +24 -0
- package/dist/core/remote-cli-ids.js.map +1 -0
- package/dist/core/{riff-shutdown-detach.d.ts → remote-shutdown-detach.d.ts} +40 -39
- package/dist/core/remote-shutdown-detach.d.ts.map +1 -0
- package/dist/core/{riff-shutdown-detach.js → remote-shutdown-detach.js} +85 -83
- package/dist/core/remote-shutdown-detach.js.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts} +5 -4
- package/dist/core/remote-worker-shutdown-readiness.d.ts.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.js → remote-worker-shutdown-readiness.js} +4 -3
- package/dist/core/remote-worker-shutdown-readiness.js.map +1 -0
- package/dist/core/reply-target.d.ts +16 -1
- package/dist/core/reply-target.d.ts.map +1 -1
- package/dist/core/reply-target.js +61 -0
- package/dist/core/reply-target.js.map +1 -1
- package/dist/core/session-group-birth.d.ts +26 -0
- package/dist/core/session-group-birth.d.ts.map +1 -1
- package/dist/core/session-group-birth.js +81 -4
- package/dist/core/session-group-birth.js.map +1 -1
- package/dist/core/session-manager.d.ts +15 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +259 -5
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-model.d.ts +46 -0
- package/dist/core/session-model.d.ts.map +1 -0
- package/dist/core/session-model.js +42 -0
- package/dist/core/session-model.js.map +1 -0
- package/dist/core/session-owner-reminder.d.ts +63 -0
- package/dist/core/session-owner-reminder.d.ts.map +1 -0
- package/dist/core/session-owner-reminder.js +196 -0
- package/dist/core/session-owner-reminder.js.map +1 -0
- package/dist/core/session-preview-registry.d.ts +53 -0
- package/dist/core/session-preview-registry.d.ts.map +1 -0
- package/dist/core/session-preview-registry.js +82 -0
- package/dist/core/session-preview-registry.js.map +1 -0
- package/dist/core/session-preview.d.ts +114 -0
- package/dist/core/session-preview.d.ts.map +1 -0
- package/dist/core/session-preview.js +184 -0
- package/dist/core/session-preview.js.map +1 -0
- package/dist/core/session-rename.d.ts.map +1 -1
- package/dist/core/session-rename.js +5 -3
- package/dist/core/session-rename.js.map +1 -1
- package/dist/core/session-wake-deadline.d.ts +5 -0
- package/dist/core/session-wake-deadline.d.ts.map +1 -0
- package/dist/core/session-wake-deadline.js +13 -0
- package/dist/core/session-wake-deadline.js.map +1 -0
- package/dist/core/shutdown-budgets.d.ts +7 -6
- package/dist/core/shutdown-budgets.d.ts.map +1 -1
- package/dist/core/shutdown-budgets.js +11 -10
- package/dist/core/shutdown-budgets.js.map +1 -1
- package/dist/core/skills/frontmatter.d.ts.map +1 -1
- package/dist/core/skills/frontmatter.js +6 -1
- package/dist/core/skills/frontmatter.js.map +1 -1
- package/dist/core/terminal-control-grant.d.ts +74 -0
- package/dist/core/terminal-control-grant.d.ts.map +1 -0
- package/dist/core/terminal-control-grant.js +183 -0
- package/dist/core/terminal-control-grant.js.map +1 -0
- package/dist/core/terminal-proxy.d.ts.map +1 -1
- package/dist/core/terminal-proxy.js +4 -5
- package/dist/core/terminal-proxy.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +4 -11
- package/dist/core/terminal-write-auth.d.ts.map +1 -1
- package/dist/core/terminal-write-auth.js +19 -16
- package/dist/core/terminal-write-auth.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +36 -29
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +88 -10
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -7
- package/dist/core/types.js.map +1 -1
- package/dist/core/workbench-link.d.ts +81 -0
- package/dist/core/workbench-link.d.ts.map +1 -0
- package/dist/core/workbench-link.js +109 -0
- package/dist/core/workbench-link.js.map +1 -0
- package/dist/core/worker-pool.d.ts +312 -11
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +2515 -217
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +6 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +447 -116
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/aggregator.d.ts +33 -3
- package/dist/dashboard/aggregator.d.ts.map +1 -1
- package/dist/dashboard/aggregator.js +93 -17
- package/dist/dashboard/aggregator.js.map +1 -1
- package/dist/dashboard/auth-session-connections.d.ts +59 -0
- package/dist/dashboard/auth-session-connections.d.ts.map +1 -0
- package/dist/dashboard/auth-session-connections.js +109 -0
- package/dist/dashboard/auth-session-connections.js.map +1 -0
- package/dist/dashboard/auth.d.ts +99 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +176 -64
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +5 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +4 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/control-audit.d.ts +112 -0
- package/dist/dashboard/control-audit.d.ts.map +1 -0
- package/dist/dashboard/control-audit.js +195 -0
- package/dist/dashboard/control-audit.js.map +1 -0
- package/dist/dashboard/control-csrf.d.ts +123 -0
- package/dist/dashboard/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/control-csrf.js +392 -0
- package/dist/dashboard/control-csrf.js.map +1 -0
- package/dist/dashboard/daemon-reconcile.d.ts +26 -0
- package/dist/dashboard/daemon-reconcile.d.ts.map +1 -0
- package/dist/dashboard/daemon-reconcile.js +46 -0
- package/dist/dashboard/daemon-reconcile.js.map +1 -0
- package/dist/dashboard/debug-terminal.d.ts.map +1 -1
- package/dist/dashboard/debug-terminal.js +18 -4
- package/dist/dashboard/debug-terminal.js.map +1 -1
- package/dist/dashboard/events-sse.d.ts +60 -0
- package/dist/dashboard/events-sse.d.ts.map +1 -0
- package/dist/dashboard/events-sse.js +63 -0
- package/dist/dashboard/events-sse.js.map +1 -0
- package/dist/dashboard/h5-auth.d.ts +256 -0
- package/dist/dashboard/h5-auth.d.ts.map +1 -0
- package/dist/dashboard/h5-auth.js +825 -0
- package/dist/dashboard/h5-auth.js.map +1 -0
- package/dist/dashboard/managed-spawn.d.ts +36 -0
- package/dist/dashboard/managed-spawn.d.ts.map +1 -0
- package/dist/dashboard/managed-spawn.js +169 -0
- package/dist/dashboard/managed-spawn.js.map +1 -0
- package/dist/dashboard/preview-content-capability.d.ts +41 -0
- package/dist/dashboard/preview-content-capability.d.ts.map +1 -0
- package/dist/dashboard/preview-content-capability.js +127 -0
- package/dist/dashboard/preview-content-capability.js.map +1 -0
- package/dist/dashboard/preview-contract.d.ts +85 -0
- package/dist/dashboard/preview-contract.d.ts.map +1 -0
- package/dist/dashboard/preview-contract.js +198 -0
- package/dist/dashboard/preview-contract.js.map +1 -0
- package/dist/dashboard/preview-guard-page.d.ts +52 -0
- package/dist/dashboard/preview-guard-page.d.ts.map +1 -0
- package/dist/dashboard/preview-guard-page.js +162 -0
- package/dist/dashboard/preview-guard-page.js.map +1 -0
- package/dist/dashboard/preview-interaction.d.ts +57 -0
- package/dist/dashboard/preview-interaction.d.ts.map +1 -0
- package/dist/dashboard/preview-interaction.js +198 -0
- package/dist/dashboard/preview-interaction.js.map +1 -0
- package/dist/dashboard/preview-proxy.d.ts +113 -0
- package/dist/dashboard/preview-proxy.d.ts.map +1 -0
- package/dist/dashboard/preview-proxy.js +543 -0
- package/dist/dashboard/preview-proxy.js.map +1 -0
- package/dist/dashboard/public-redact.d.ts +23 -0
- package/dist/dashboard/public-redact.d.ts.map +1 -1
- package/dist/dashboard/public-redact.js +90 -21
- package/dist/dashboard/public-redact.js.map +1 -1
- package/dist/dashboard/request-identity.d.ts +77 -0
- package/dist/dashboard/request-identity.d.ts.map +1 -0
- package/dist/dashboard/request-identity.js +72 -0
- package/dist/dashboard/request-identity.js.map +1 -0
- package/dist/dashboard/session-cleanup.d.ts +5 -0
- package/dist/dashboard/session-cleanup.d.ts.map +1 -1
- package/dist/dashboard/session-cleanup.js +4 -0
- package/dist/dashboard/session-cleanup.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +5 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +14 -0
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/standing-link.d.ts +76 -0
- package/dist/dashboard/standing-link.d.ts.map +1 -0
- package/dist/dashboard/standing-link.js +111 -0
- package/dist/dashboard/standing-link.js.map +1 -0
- package/dist/dashboard/terminal-control.d.ts +105 -0
- package/dist/dashboard/terminal-control.d.ts.map +1 -0
- package/dist/dashboard/terminal-control.js +296 -0
- package/dist/dashboard/terminal-control.js.map +1 -0
- package/dist/dashboard/terminal-front-proxy.d.ts +55 -0
- package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -0
- package/dist/dashboard/terminal-front-proxy.js +397 -0
- package/dist/dashboard/terminal-front-proxy.js.map +1 -0
- package/dist/dashboard/terminal-view-capability.d.ts +97 -0
- package/dist/dashboard/terminal-view-capability.d.ts.map +1 -0
- package/dist/dashboard/terminal-view-capability.js +145 -0
- package/dist/dashboard/terminal-view-capability.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.js +227 -0
- package/dist/dashboard/web/agent-workbench-api.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js +195 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts +222 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.js +499 -0
- package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts +13 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js +24 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts +90 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.js +168 -0
- package/dist/dashboard/web/agent-workbench-chat.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js +23 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts +22 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js +76 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts +196 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.js +529 -0
- package/dist/dashboard/web/agent-workbench-model.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.js +27 -0
- package/dist/dashboard/web/agent-workbench-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.js +468 -0
- package/dist/dashboard/web/agent-workbench-panes.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts +42 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.js +353 -0
- package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.js +197 -0
- package/dist/dashboard/web/agent-workbench-storage.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts +46 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.js +96 -0
- package/dist/dashboard/web/agent-workbench-touch.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts +34 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.js +439 -0
- package/dist/dashboard/web/agent-workbench-view.js.map +1 -0
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +63 -2
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +18 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +362 -36
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +8 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/control-csrf.d.ts +4 -0
- package/dist/dashboard/web/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/web/control-csrf.js +26 -0
- package/dist/dashboard/web/control-csrf.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +2 -0
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +11 -2
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +140 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +3 -2
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +41 -1
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +5 -1
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +3 -0
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +56 -10
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +4 -2
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/store.d.ts +27 -2
- package/dist/dashboard/web/store.d.ts.map +1 -1
- package/dist/dashboard/web/store.js +43 -4
- package/dist/dashboard/web/store.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +3 -0
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +11 -0
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/update-action.d.ts +12 -0
- package/dist/dashboard/web/update-action.d.ts.map +1 -1
- package/dist/dashboard/web/update-action.js +11 -0
- package/dist/dashboard/web/update-action.js.map +1 -1
- package/dist/dashboard/workbench-doctor.d.ts +114 -0
- package/dist/dashboard/workbench-doctor.d.ts.map +1 -0
- package/dist/dashboard/workbench-doctor.js +620 -0
- package/dist/dashboard/workbench-doctor.js.map +1 -0
- package/dist/dashboard/workbench-ticket.d.ts +165 -0
- package/dist/dashboard/workbench-ticket.d.ts.map +1 -0
- package/dist/dashboard/workbench-ticket.js +495 -0
- package/dist/dashboard/workbench-ticket.js.map +1 -0
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +1 -0
- package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +1 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +10 -0
- package/dist/dashboard-web/chunks/chunk-22WIADUT.js +2 -0
- package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-6O7KXFD2.js → chunk-2W6SCN3M.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-Q2MT4VWH.js → chunk-F6KNPF4R.js} +11 -9
- package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-G5ZS2YUS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-KTQ7B6ZR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-U3ZFSO7E.js → chunk-NACP7BMR.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-2KZO5KSJ.js → connectors-page-VOISXXII.js} +1 -1
- package/dist/dashboard-web/chunks/{feedback-page-CLVTOLLO.js → feedback-page-RN6HRZMS.js} +1 -1
- package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +8 -0
- package/dist/dashboard-web/chunks/{insights-page-4RPU2CRU.js → insights-page-HJFDYR5N.js} +3 -3
- package/dist/dashboard-web/chunks/{monitor-room-OTKQ2CXK.js → monitor-room-V7PCP47V.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-IJPUB6JT.js → monitoring-page-NKEKVQAP.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-QSR3J44Y.js → office-page-GVJF73XW.js} +1 -1
- package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +1 -0
- package/dist/dashboard-web/chunks/{plugin-page-VEGTCEAS.js → plugin-page-J3OF5IY4.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-6NWJMOB5.js → roles-page-WQIRSOLZ.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-6I3LNXD4.js → schedules-page-J2DEY2X6.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +8 -0
- package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +2 -0
- package/dist/dashboard-web/chunks/{skills-page-M2Q6L5CB.js → skills-page-HGIFR3IU.js} +2 -2
- package/dist/dashboard-web/chunks/{team-federation-page-7I7FDE3B.js → team-federation-page-MR5ZPL4B.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-HQXRL65L.js → v3-page-GBR5JWPE.js} +2 -2
- package/dist/dashboard-web/chunks/{whiteboards-page-LQKC4TAZ.js → whiteboards-page-QAZM4BN3.js} +1 -1
- package/dist/dashboard-web/index.html +8 -1
- package/dist/dashboard-web/style.css +2006 -10
- package/dist/dashboard.js +1017 -264
- package/dist/dashboard.js.map +1 -1
- package/dist/dsh-runner.js +8 -1
- package/dist/dsh-runner.js.map +1 -1
- package/dist/global-config.d.ts +30 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +33 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +46 -27
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +43 -27
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +22 -6
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +118 -24
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +15 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +30 -0
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +48 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +138 -41
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/identity-cache.d.ts +14 -6
- package/dist/im/lark/identity-cache.d.ts.map +1 -1
- package/dist/im/lark/identity-cache.js +69 -26
- package/dist/im/lark/identity-cache.js.map +1 -1
- package/dist/im/lark/lark-hosts.d.ts +13 -0
- package/dist/im/lark/lark-hosts.d.ts.map +1 -1
- package/dist/im/lark/lark-hosts.js +16 -0
- package/dist/im/lark/lark-hosts.js.map +1 -1
- package/dist/im/lark/overview-card.d.ts +22 -0
- package/dist/im/lark/overview-card.d.ts.map +1 -1
- package/dist/im/lark/overview-card.js +53 -3
- package/dist/im/lark/overview-card.js.map +1 -1
- package/dist/im/lark/sessions-card.d.ts.map +1 -1
- package/dist/im/lark/sessions-card.js +26 -3
- package/dist/im/lark/sessions-card.js.map +1 -1
- package/dist/im/lark/workflow-slash-command.d.ts +6 -0
- package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
- package/dist/im/lark/workflow-slash-command.js +7 -0
- package/dist/im/lark/workflow-slash-command.js.map +1 -1
- package/dist/index-daemon.js +27 -4
- package/dist/index-daemon.js.map +1 -1
- package/dist/index-dashboard.d.ts +3 -0
- package/dist/index-dashboard.d.ts.map +1 -0
- package/dist/index-dashboard.js +94 -0
- package/dist/index-dashboard.js.map +1 -0
- package/dist/platform/team-agents-client.d.ts +199 -0
- package/dist/platform/team-agents-client.d.ts.map +1 -0
- package/dist/platform/team-agents-client.js +263 -0
- package/dist/platform/team-agents-client.js.map +1 -0
- package/dist/platform/tunnel-client.d.ts +6 -0
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/async-trigger-state.d.ts +7 -3
- package/dist/services/async-trigger-state.d.ts.map +1 -1
- package/dist/services/async-trigger-state.js +28 -0
- package/dist/services/async-trigger-state.js.map +1 -1
- package/dist/services/async-trigger-store.d.ts +13 -4
- package/dist/services/async-trigger-store.d.ts.map +1 -1
- package/dist/services/async-trigger-store.js +55 -8
- package/dist/services/async-trigger-store.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -11
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +27 -3
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/bot-profile-store.d.ts +17 -2
- package/dist/services/bot-profile-store.d.ts.map +1 -1
- package/dist/services/bot-profile-store.js +93 -12
- package/dist/services/bot-profile-store.js.map +1 -1
- package/dist/services/bridge-fallback-gate.d.ts +15 -7
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +43 -16
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/bridge-turn-queue.d.ts +10 -1
- package/dist/services/bridge-turn-queue.d.ts.map +1 -1
- package/dist/services/bridge-turn-queue.js +29 -9
- package/dist/services/bridge-turn-queue.js.map +1 -1
- package/dist/services/claude-transcript.d.ts +19 -0
- package/dist/services/claude-transcript.d.ts.map +1 -1
- package/dist/services/claude-transcript.js +57 -5
- package/dist/services/claude-transcript.js.map +1 -1
- package/dist/services/codex-app-threads.d.ts +2 -0
- package/dist/services/codex-app-threads.d.ts.map +1 -1
- package/dist/services/codex-app-threads.js +1 -1
- package/dist/services/codex-app-threads.js.map +1 -1
- package/dist/services/codex-reasoning-effort.d.ts +8 -0
- package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
- package/dist/services/codex-reasoning-effort.js +24 -0
- package/dist/services/codex-reasoning-effort.js.map +1 -1
- package/dist/services/cursor-resume-policy.d.ts.map +1 -1
- package/dist/services/cursor-resume-policy.js +15 -3
- package/dist/services/cursor-resume-policy.js.map +1 -1
- package/dist/services/open-platform-rename.d.ts.map +1 -1
- package/dist/services/open-platform-rename.js +3 -2
- package/dist/services/open-platform-rename.js.map +1 -1
- package/dist/services/ordinary-turn-recovery.d.ts +76 -0
- package/dist/services/ordinary-turn-recovery.d.ts.map +1 -0
- package/dist/services/ordinary-turn-recovery.js +349 -0
- package/dist/services/ordinary-turn-recovery.js.map +1 -0
- package/dist/services/peer-cross-ref-store.d.ts +8 -0
- package/dist/services/peer-cross-ref-store.d.ts.map +1 -0
- package/dist/services/peer-cross-ref-store.js +95 -0
- package/dist/services/peer-cross-ref-store.js.map +1 -0
- package/dist/services/pi-transcript.d.ts.map +1 -1
- package/dist/services/pi-transcript.js +10 -6
- package/dist/services/pi-transcript.js.map +1 -1
- package/dist/services/resume-fresh-policy.d.ts +17 -0
- package/dist/services/resume-fresh-policy.d.ts.map +1 -0
- package/dist/services/resume-fresh-policy.js +24 -0
- package/dist/services/resume-fresh-policy.js.map +1 -0
- package/dist/services/session-group-title.d.ts +1 -0
- package/dist/services/session-group-title.d.ts.map +1 -1
- package/dist/services/session-group-title.js +16 -1
- package/dist/services/session-group-title.js.map +1 -1
- package/dist/services/session-groups-store.d.ts +30 -0
- package/dist/services/session-groups-store.d.ts.map +1 -1
- package/dist/services/session-groups-store.js +26 -4
- package/dist/services/session-groups-store.js.map +1 -1
- package/dist/services/session-owner-notification.d.ts +9 -0
- package/dist/services/session-owner-notification.d.ts.map +1 -0
- package/dist/services/session-owner-notification.js +10 -0
- package/dist/services/session-owner-notification.js.map +1 -0
- package/dist/services/session-owner-reminder-config-store.d.ts +9 -0
- package/dist/services/session-owner-reminder-config-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-config-store.js +24 -0
- package/dist/services/session-owner-reminder-config-store.js.map +1 -0
- package/dist/services/session-owner-reminder-store.d.ts +5 -0
- package/dist/services/session-owner-reminder-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-store.js +54 -0
- package/dist/services/session-owner-reminder-store.js.map +1 -0
- package/dist/services/session-store.d.ts +98 -21
- package/dist/services/session-store.d.ts.map +1 -1
- package/dist/services/session-store.js +406 -48
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +15 -2
- package/dist/services/structured-bridge-clis.d.ts.map +1 -1
- package/dist/services/structured-bridge-clis.js +16 -1
- package/dist/services/structured-bridge-clis.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts +1 -1
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +6 -1
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +7 -2
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-herdr-integrations.d.ts +13 -0
- package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -1
- package/dist/setup/ensure-herdr-integrations.js +21 -3
- package/dist/setup/ensure-herdr-integrations.js.map +1 -1
- package/dist/setup/open-platform-automation.d.ts +1 -0
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +107 -7
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/skills/definitions.d.ts +17 -0
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +78 -8
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +24 -3
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +64 -15
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/skills/installer.d.ts +18 -0
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +45 -1
- package/dist/skills/installer.js.map +1 -1
- package/dist/types.d.ts +222 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bot-routing.d.ts +1 -1
- package/dist/utils/bot-routing.d.ts.map +1 -1
- package/dist/utils/bot-routing.js.map +1 -1
- package/dist/utils/child-env.d.ts +92 -2
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +195 -1
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/cli-usage-limit.d.ts +25 -14
- package/dist/utils/cli-usage-limit.d.ts.map +1 -1
- package/dist/utils/cli-usage-limit.js +25 -15
- package/dist/utils/cli-usage-limit.js.map +1 -1
- package/dist/utils/daemon-rejection-guard.d.ts +35 -0
- package/dist/utils/daemon-rejection-guard.d.ts.map +1 -0
- package/dist/utils/daemon-rejection-guard.js +101 -0
- package/dist/utils/daemon-rejection-guard.js.map +1 -0
- package/dist/utils/dashboard-env.d.ts +53 -0
- package/dist/utils/dashboard-env.d.ts.map +1 -0
- package/dist/utils/dashboard-env.js +116 -0
- package/dist/utils/dashboard-env.js.map +1 -0
- package/dist/utils/global-install.d.ts.map +1 -1
- package/dist/utils/global-install.js +61 -5
- package/dist/utils/global-install.js.map +1 -1
- package/dist/utils/install-diagnostics.d.ts +14 -7
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +20 -11
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/local-dev-update.d.ts +132 -0
- package/dist/utils/local-dev-update.d.ts.map +1 -0
- package/dist/utils/local-dev-update.js +176 -0
- package/dist/utils/local-dev-update.js.map +1 -0
- package/dist/utils/pending-input-queue.d.ts +12 -1
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/worker.js +1517 -236
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +68 -68
- package/dist/workflows/events/payloads.d.ts +14 -14
- package/dist/workflows/events/schema.d.ts +312 -312
- package/dist/workflows/migration/v2-run-archive-schema.d.ts +40 -40
- package/dist/workflows/v3/cli-run.d.ts.map +1 -1
- package/dist/workflows/v3/cli-run.js +7 -0
- package/dist/workflows/v3/cli-run.js.map +1 -1
- package/dist/workflows/v3/goal-cli.d.ts +3 -0
- package/dist/workflows/v3/goal-cli.d.ts.map +1 -1
- package/dist/workflows/v3/goal-cli.js +11 -0
- package/dist/workflows/v3/goal-cli.js.map +1 -1
- package/dist/workflows/v3/run-envelope.d.ts +144 -144
- package/package.json +7 -2
- package/dist/cli/pm2-god-admission.d.ts +0 -8
- package/dist/cli/pm2-god-admission.d.ts.map +0 -1
- package/dist/cli/pm2-god-admission.js +0 -25
- package/dist/cli/pm2-god-admission.js.map +0 -1
- package/dist/core/riff-shutdown-detach.d.ts.map +0 -1
- package/dist/core/riff-shutdown-detach.js.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.d.ts.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-4RENHE7J.js +0 -10
- package/dist/dashboard-web/chunks/chunk-2WQDS65D.js +0 -1
- package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +0 -1
- package/dist/dashboard-web/chunks/chunk-WLIVBPJC.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-HLASRTSY.js +0 -8
- package/dist/dashboard-web/chunks/overview-page-6OK63V4V.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-B2TXGJDO.js +0 -8
- package/dist/dashboard-web/chunks/settings-page-6KJADSC6.js +0 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import * as sessionStore from '../services/session-store.js';
|
|
3
3
|
import { logger } from '../utils/logger.js';
|
|
4
|
-
import {
|
|
4
|
+
import { isRemoteBackendType } from './persistent-backend.js';
|
|
5
|
+
import { REMOTE_ADMISSION_RESTORE_TIMEOUT_MS, REMOTE_SHUTDOWN_BATCH_PERSIST_TIMEOUT_MS, REMOTE_SHUTDOWN_DRAIN_TIMEOUT_MS, REMOTE_SHUTDOWN_INITIAL_SNAPSHOT_TIMEOUT_MS, } from './shutdown-budgets.js';
|
|
5
6
|
/** The active registry can retain multiple aliases to one exact runtime object
|
|
6
7
|
* after transfer/restore. Process that object once, but refuse two distinct
|
|
7
8
|
* objects claiming the same durable session id: there is no unique generation
|
|
@@ -60,7 +61,7 @@ function requestPhase(ds, worker, requestId, phase, timeoutMs) {
|
|
|
60
61
|
};
|
|
61
62
|
const onMessage = (raw) => {
|
|
62
63
|
const msg = raw;
|
|
63
|
-
if (msg?.type !== '
|
|
64
|
+
if (msg?.type !== 'remote_shutdown_result'
|
|
64
65
|
|| msg.requestId !== requestId
|
|
65
66
|
|| msg.phase !== phase)
|
|
66
67
|
return;
|
|
@@ -82,16 +83,16 @@ function requestPhase(ds, worker, requestId, phase, timeoutMs) {
|
|
|
82
83
|
const timer = setTimeout(() => finish({
|
|
83
84
|
ok: false,
|
|
84
85
|
taskId: null,
|
|
85
|
-
error: `
|
|
86
|
+
error: `remote_shutdown_${phase}_timeout`,
|
|
86
87
|
}), timeoutMs);
|
|
87
88
|
timer.unref?.();
|
|
88
89
|
worker.on('message', onMessage);
|
|
89
90
|
worker.once('exit', onExit);
|
|
90
91
|
const message = phase === 'prepare'
|
|
91
|
-
? { type: '
|
|
92
|
-
: { type: '
|
|
92
|
+
? { type: 'remote_shutdown_prepare', requestId }
|
|
93
|
+
: { type: 'remote_shutdown_abort', requestId };
|
|
93
94
|
if (!send(worker, message)) {
|
|
94
|
-
finish({ ok: false, taskId: null, error: `
|
|
95
|
+
finish({ ok: false, taskId: null, error: `remote_shutdown_${phase}_send_failed` });
|
|
95
96
|
}
|
|
96
97
|
});
|
|
97
98
|
}
|
|
@@ -103,14 +104,14 @@ function clearWorkerOwnership(ds, worker) {
|
|
|
103
104
|
ds.workerToken = null;
|
|
104
105
|
ds.workerViewToken = null;
|
|
105
106
|
ds.managedTurnOrigin = undefined;
|
|
106
|
-
ds.
|
|
107
|
+
ds.remoteShutdownState = undefined;
|
|
107
108
|
}
|
|
108
109
|
function clearWorkerlessShutdownState(ds, requestId) {
|
|
109
|
-
if (ds.
|
|
110
|
+
if (ds.remoteShutdownState?.requestId !== requestId)
|
|
110
111
|
return;
|
|
111
112
|
if (ds.worker)
|
|
112
113
|
return;
|
|
113
|
-
ds.
|
|
114
|
+
ds.remoteShutdownState = undefined;
|
|
114
115
|
}
|
|
115
116
|
/** Daemon-owned accepted input has not crossed worker IPC yet. The bot-wide
|
|
116
117
|
* mutation lease blocks new admissions, but these older buffers must also be
|
|
@@ -137,7 +138,7 @@ async function abortWorkerPreparation(ds, worker, requestId, timeoutMs, lineageV
|
|
|
137
138
|
if (ds.worker && ds.worker !== worker) {
|
|
138
139
|
return {
|
|
139
140
|
ok: false,
|
|
140
|
-
taskId: ds.
|
|
141
|
+
taskId: ds.remoteShutdownState?.taskId ?? ds.session.riffParentTaskId ?? null,
|
|
141
142
|
error: 'new_worker_generation',
|
|
142
143
|
};
|
|
143
144
|
}
|
|
@@ -151,8 +152,8 @@ async function abortWorkerPreparation(ds, worker, requestId, timeoutMs, lineageV
|
|
|
151
152
|
// No backend remains to ACK admission restoration and the drained lineage
|
|
152
153
|
// was not durably recovered. Retain a daemon-side fence instead of claiming
|
|
153
154
|
// rollback success and permitting a stale-lineage replacement.
|
|
154
|
-
if (!ds.
|
|
155
|
-
ds.
|
|
155
|
+
if (!ds.remoteShutdownState || ds.remoteShutdownState.requestId === requestId) {
|
|
156
|
+
ds.remoteShutdownState = {
|
|
156
157
|
phase: 'prepared',
|
|
157
158
|
requestId,
|
|
158
159
|
taskId: ds.session.riffParentTaskId ?? null,
|
|
@@ -167,7 +168,7 @@ async function abortWorkerPreparation(ds, worker, requestId, timeoutMs, lineageV
|
|
|
167
168
|
if (ds.worker !== worker) {
|
|
168
169
|
return {
|
|
169
170
|
ok: false,
|
|
170
|
-
taskId: ds.
|
|
171
|
+
taskId: ds.remoteShutdownState?.taskId ?? ds.session.riffParentTaskId ?? null,
|
|
171
172
|
error: 'new_worker_generation',
|
|
172
173
|
};
|
|
173
174
|
}
|
|
@@ -180,8 +181,8 @@ async function abortWorkerPreparation(ds, worker, requestId, timeoutMs, lineageV
|
|
|
180
181
|
+ `actual=${result.taskId ?? 'none'}`,
|
|
181
182
|
};
|
|
182
183
|
}
|
|
183
|
-
if (result.ok && ds.
|
|
184
|
-
ds.
|
|
184
|
+
if (result.ok && ds.remoteShutdownState?.requestId === requestId) {
|
|
185
|
+
ds.remoteShutdownState = undefined;
|
|
185
186
|
}
|
|
186
187
|
return result;
|
|
187
188
|
}
|
|
@@ -194,17 +195,17 @@ function unfencedRefusal(ds, error, requestId) {
|
|
|
194
195
|
error,
|
|
195
196
|
};
|
|
196
197
|
}
|
|
197
|
-
/** Phase 1: fence one exact
|
|
198
|
+
/** Phase 1: fence one exact remote generation and drain lineage materialization.
|
|
198
199
|
* Nothing exits or restores admission here. A failure after the prepare send
|
|
199
200
|
* returns an exact possibly-fenced handle so all peers can be restored in one
|
|
200
201
|
* concurrent fleet wave rather than serial drain+abort chains. */
|
|
201
|
-
export async function
|
|
202
|
+
export async function prepareRemoteSessionForShutdown(ds, options = {}) {
|
|
202
203
|
const frozenBackend = ds.initConfig?.backendType ?? ds.session.backendType;
|
|
203
|
-
if (frozenBackend
|
|
204
|
-
return unfencedRefusal(ds, '
|
|
204
|
+
if (!frozenBackend || !isRemoteBackendType(frozenBackend)) {
|
|
205
|
+
return unfencedRefusal(ds, 'not_remote_backend');
|
|
205
206
|
}
|
|
206
|
-
if (ds.
|
|
207
|
-
return unfencedRefusal(ds, ds.
|
|
207
|
+
if (ds.remoteCloseState || ds.remoteShutdownState) {
|
|
208
|
+
return unfencedRefusal(ds, ds.remoteCloseState ? 'explicit_close_in_progress' : 'shutdown_detach_in_progress');
|
|
208
209
|
}
|
|
209
210
|
const daemonBlockerBeforePrepare = daemonInputBlocker(ds);
|
|
210
211
|
if (daemonBlockerBeforePrepare) {
|
|
@@ -214,7 +215,7 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
214
215
|
let durableSnapshot = options.durableSnapshot;
|
|
215
216
|
if (!durableSnapshot) {
|
|
216
217
|
try {
|
|
217
|
-
[durableSnapshot] = sessionStore.
|
|
218
|
+
[durableSnapshot] = sessionStore.getActiveRemoteShutdownSnapshotsBatch([
|
|
218
219
|
ds.session.sessionId,
|
|
219
220
|
]);
|
|
220
221
|
}
|
|
@@ -239,12 +240,12 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
239
240
|
+ `runtime=${JSON.stringify(runtimeOwner)}`);
|
|
240
241
|
}
|
|
241
242
|
const now = options.now ?? Date.now;
|
|
242
|
-
const abortReserveMs = options.abortTimeoutMs ??
|
|
243
|
-
let drainTimeoutMs = options.drainTimeoutMs ??
|
|
243
|
+
const abortReserveMs = options.abortTimeoutMs ?? REMOTE_ADMISSION_RESTORE_TIMEOUT_MS;
|
|
244
|
+
let drainTimeoutMs = options.drainTimeoutMs ?? REMOTE_SHUTDOWN_DRAIN_TIMEOUT_MS;
|
|
244
245
|
if (options.deadlineMs !== undefined) {
|
|
245
246
|
const availableDrainMs = options.deadlineMs
|
|
246
247
|
- now()
|
|
247
|
-
-
|
|
248
|
+
- REMOTE_SHUTDOWN_BATCH_PERSIST_TIMEOUT_MS
|
|
248
249
|
- abortReserveMs;
|
|
249
250
|
if (availableDrainMs <= 0) {
|
|
250
251
|
return unfencedRefusal(ds, 'insufficient_abort_budget_before_fence');
|
|
@@ -262,7 +263,7 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
262
263
|
// Workerless rows can still carry a newer runtime-only lineage after a
|
|
263
264
|
// failed ordinary riff_task_id save. Fence daemon admission now; phase 2
|
|
264
265
|
// performs an exact owner/lineage CAS and fresh disk verification.
|
|
265
|
-
ds.
|
|
266
|
+
ds.remoteShutdownState = {
|
|
266
267
|
phase: 'prepared',
|
|
267
268
|
requestId,
|
|
268
269
|
taskId: ds.session.riffParentTaskId ?? null,
|
|
@@ -279,18 +280,18 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
279
280
|
worker: null,
|
|
280
281
|
};
|
|
281
282
|
}
|
|
282
|
-
ds.
|
|
283
|
+
ds.remoteShutdownState = { phase: 'preparing', requestId };
|
|
283
284
|
const prepared = await requestPhase(ds, worker, requestId, 'prepare', drainTimeoutMs);
|
|
284
285
|
if (!prepared.ok) {
|
|
285
286
|
// This exact response proves the worker refused before installing a backend
|
|
286
287
|
// fence. Every other failure has ambiguous fence state and requires a
|
|
287
288
|
// positive admission-restored ACK.
|
|
288
289
|
const unfencedWorkerRefusal = prepared.error === 'explicit_close_in_progress'
|
|
289
|
-
|| prepared.error === '
|
|
290
|
-
|| prepared.error === '
|
|
290
|
+
|| prepared.error === 'not_remote_backend'
|
|
291
|
+
|| prepared.error === 'remote_shutdown_prepare_send_failed'
|
|
291
292
|
|| prepared.error?.startsWith('worker_inputs_not_drained:') === true;
|
|
292
|
-
if (unfencedWorkerRefusal && ds.
|
|
293
|
-
ds.
|
|
293
|
+
if (unfencedWorkerRefusal && ds.remoteShutdownState?.requestId === requestId) {
|
|
294
|
+
ds.remoteShutdownState = undefined;
|
|
294
295
|
}
|
|
295
296
|
if (unfencedWorkerRefusal) {
|
|
296
297
|
return {
|
|
@@ -298,7 +299,7 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
298
299
|
fence: 'none',
|
|
299
300
|
requestId,
|
|
300
301
|
taskId: prepared.taskId,
|
|
301
|
-
error: prepared.error ?? '
|
|
302
|
+
error: prepared.error ?? 'remote_shutdown_prepare_failed',
|
|
302
303
|
};
|
|
303
304
|
}
|
|
304
305
|
return {
|
|
@@ -306,7 +307,7 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
306
307
|
fence: 'possible',
|
|
307
308
|
requestId,
|
|
308
309
|
taskId: prepared.taskId,
|
|
309
|
-
error: prepared.error ?? '
|
|
310
|
+
error: prepared.error ?? 'remote_shutdown_prepare_failed',
|
|
310
311
|
worker,
|
|
311
312
|
};
|
|
312
313
|
}
|
|
@@ -320,7 +321,7 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
320
321
|
worker,
|
|
321
322
|
};
|
|
322
323
|
}
|
|
323
|
-
ds.
|
|
324
|
+
ds.remoteShutdownState = { phase: 'prepared', requestId, taskId: prepared.taskId };
|
|
324
325
|
// Worker events can release a queued-activation journal/tail independently
|
|
325
326
|
// of bot-turn admission. Re-sample after drain so commit cannot strand input.
|
|
326
327
|
const daemonBlockerAfterPrepare = daemonInputBlocker(ds);
|
|
@@ -349,12 +350,12 @@ export async function prepareRiffSessionForShutdown(ds, options = {}) {
|
|
|
349
350
|
}
|
|
350
351
|
/** Take one fresh projection for the complete candidate set, then (and only
|
|
351
352
|
* then) publish prepare requests concurrently. */
|
|
352
|
-
export async function
|
|
353
|
+
export async function prepareRemoteFleetForShutdown(candidates, options = {}) {
|
|
353
354
|
if (candidates.length === 0)
|
|
354
355
|
return [];
|
|
355
356
|
const now = options.now ?? Date.now;
|
|
356
357
|
const configuredSnapshotTimeout = options.snapshotTimeoutMs
|
|
357
|
-
??
|
|
358
|
+
?? REMOTE_SHUTDOWN_INITIAL_SNAPSHOT_TIMEOUT_MS;
|
|
358
359
|
const remaining = options.deadlineMs === undefined
|
|
359
360
|
? configuredSnapshotTimeout
|
|
360
361
|
: Math.max(0, options.deadlineMs - now());
|
|
@@ -366,7 +367,7 @@ export async function prepareRiffFleetForShutdown(candidates, options = {}) {
|
|
|
366
367
|
}
|
|
367
368
|
let snapshots;
|
|
368
369
|
try {
|
|
369
|
-
snapshots = sessionStore.
|
|
370
|
+
snapshots = sessionStore.getActiveRemoteShutdownSnapshotsBatch(candidates.map(ds => ds.session.sessionId), { maxWaitMs: Math.min(configuredSnapshotTimeout, remaining) });
|
|
370
371
|
}
|
|
371
372
|
catch (error) {
|
|
372
373
|
const message = `initial_riff_snapshot_failed:${error instanceof Error
|
|
@@ -377,15 +378,15 @@ export async function prepareRiffFleetForShutdown(candidates, options = {}) {
|
|
|
377
378
|
const snapshotsBySession = new Map(snapshots.map(snapshot => [snapshot.sessionId, snapshot]));
|
|
378
379
|
return Promise.all(candidates.map(async (ds) => ({
|
|
379
380
|
ds,
|
|
380
|
-
result: await
|
|
381
|
+
result: await prepareRemoteSessionForShutdown(ds, {
|
|
381
382
|
...options,
|
|
382
383
|
durableSnapshot: snapshotsBySession.get(ds.session.sessionId),
|
|
383
384
|
}),
|
|
384
385
|
})));
|
|
385
386
|
}
|
|
386
|
-
function
|
|
387
|
-
if (ds.
|
|
388
|
-
|| ds.
|
|
387
|
+
function validatePreparedRemoteShutdownForPersistence(ds, prepared) {
|
|
388
|
+
if (ds.remoteShutdownState?.requestId !== prepared.requestId
|
|
389
|
+
|| ds.remoteShutdownState.phase !== 'prepared') {
|
|
389
390
|
return {
|
|
390
391
|
ok: false,
|
|
391
392
|
requestId: prepared.requestId,
|
|
@@ -457,14 +458,14 @@ function validatePreparedRiffShutdownForPersistence(ds, prepared) {
|
|
|
457
458
|
}
|
|
458
459
|
/** Phase 2 fleet transaction: validate every runtime generation, then compare
|
|
459
460
|
* and publish all durable lineage rows with one lock and one rename. */
|
|
460
|
-
export function
|
|
461
|
+
export function persistPreparedRemoteShutdownFleet(entries, options = {}) {
|
|
461
462
|
if (entries.length === 0)
|
|
462
463
|
return { ok: true };
|
|
463
464
|
const now = options.now ?? Date.now;
|
|
464
465
|
const validationFailures = entries
|
|
465
466
|
.map(({ ds, result }) => ({
|
|
466
467
|
sessionId: ds.session.sessionId,
|
|
467
|
-
failure:
|
|
468
|
+
failure: validatePreparedRemoteShutdownForPersistence(ds, result),
|
|
468
469
|
}))
|
|
469
470
|
.filter((entry) => !entry.failure.ok);
|
|
470
471
|
if (validationFailures.length > 0) {
|
|
@@ -474,7 +475,7 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
474
475
|
return {
|
|
475
476
|
ok: false,
|
|
476
477
|
taskId: null,
|
|
477
|
-
error: `
|
|
478
|
+
error: `Remote fleet persistence preflight failed: ${validationFailures
|
|
478
479
|
.map(({ sessionId, failure }) => `${sessionId}:${failure.error}`)
|
|
479
480
|
.join(';')}`,
|
|
480
481
|
rollbackDisposition: retainFencedSessionIds.length > 0 ? 'retain_fence' : 'abort_safe',
|
|
@@ -483,7 +484,7 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
483
484
|
};
|
|
484
485
|
}
|
|
485
486
|
const configuredPersistTimeout = options.persistTimeoutMs
|
|
486
|
-
??
|
|
487
|
+
?? REMOTE_SHUTDOWN_BATCH_PERSIST_TIMEOUT_MS;
|
|
487
488
|
const remaining = options.deadlineMs === undefined
|
|
488
489
|
? configuredPersistTimeout
|
|
489
490
|
: Math.max(0, options.deadlineMs - now());
|
|
@@ -491,14 +492,14 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
491
492
|
return {
|
|
492
493
|
ok: false,
|
|
493
494
|
taskId: null,
|
|
494
|
-
error: '
|
|
495
|
+
error: 'Remote fleet lineage batch failed (prewrite_io): shutdown deadline elapsed',
|
|
495
496
|
rollbackDisposition: 'abort_safe',
|
|
496
497
|
sessionIds: entries.map(({ ds }) => ds.session.sessionId),
|
|
497
498
|
retainFencedSessionIds: [],
|
|
498
499
|
};
|
|
499
500
|
}
|
|
500
501
|
try {
|
|
501
|
-
sessionStore.
|
|
502
|
+
sessionStore.persistActiveRemoteLineagesExactBatch(entries.map(({ ds, result }) => ({
|
|
502
503
|
sessionId: ds.session.sessionId,
|
|
503
504
|
taskId: result.durableTaskIdAtPrepare,
|
|
504
505
|
owner: result.durableOwnerAtPrepare,
|
|
@@ -509,7 +510,7 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
509
510
|
});
|
|
510
511
|
}
|
|
511
512
|
catch (error) {
|
|
512
|
-
const batchError = error instanceof sessionStore.
|
|
513
|
+
const batchError = error instanceof sessionStore.RemoteLineageBatchError ? error : undefined;
|
|
513
514
|
const stage = batchError?.stage ?? 'prewrite_io';
|
|
514
515
|
const retainFencedSessionIds = stage === 'postrename_ambiguity'
|
|
515
516
|
? entries.map(({ ds }) => ds.session.sessionId)
|
|
@@ -519,7 +520,7 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
519
520
|
return {
|
|
520
521
|
ok: false,
|
|
521
522
|
taskId: null,
|
|
522
|
-
error: `
|
|
523
|
+
error: `Remote fleet lineage batch failed (${stage}): ${error instanceof Error
|
|
523
524
|
? error.message
|
|
524
525
|
: String(error)}`,
|
|
525
526
|
rollbackDisposition: retainFencedSessionIds.length > 0 ? 'retain_fence' : 'abort_safe',
|
|
@@ -543,7 +544,7 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
543
544
|
};
|
|
544
545
|
}
|
|
545
546
|
const lost = entries
|
|
546
|
-
.filter(({ ds, result }) => !
|
|
547
|
+
.filter(({ ds, result }) => !isPreparedRemoteSessionCurrent(ds, result))
|
|
547
548
|
.map(({ ds }) => ds.session.sessionId);
|
|
548
549
|
if (lost.length > 0) {
|
|
549
550
|
return {
|
|
@@ -559,12 +560,12 @@ export function persistPreparedRiffShutdownFleet(entries, options = {}) {
|
|
|
559
560
|
}
|
|
560
561
|
/** Single-session compatibility path. Fleet shutdown uses the batch function
|
|
561
562
|
* above; this API remains for explicit focused operations and older callers. */
|
|
562
|
-
export function
|
|
563
|
-
const validation =
|
|
563
|
+
export function persistPreparedRemoteShutdown(ds, prepared) {
|
|
564
|
+
const validation = validatePreparedRemoteShutdownForPersistence(ds, prepared);
|
|
564
565
|
if (!validation.ok)
|
|
565
566
|
return validation;
|
|
566
567
|
try {
|
|
567
|
-
sessionStore.
|
|
568
|
+
sessionStore.persistActiveRemoteLineageExact(ds.session.sessionId, prepared.taskId, {
|
|
568
569
|
expectedCurrentTaskIds: [prepared.durableTaskIdAtPrepare, prepared.taskId],
|
|
569
570
|
expectedOwner: prepared.durableOwnerAtPrepare,
|
|
570
571
|
});
|
|
@@ -575,7 +576,7 @@ export function persistPreparedRiffShutdown(ds, prepared) {
|
|
|
575
576
|
requestId: prepared.requestId,
|
|
576
577
|
taskId: prepared.taskId,
|
|
577
578
|
error: `lineage_persist_failed:${err instanceof Error ? err.message : String(err)}`,
|
|
578
|
-
rollbackDisposition: err instanceof sessionStore.
|
|
579
|
+
rollbackDisposition: err instanceof sessionStore.RemoteLineageOwnershipError
|
|
579
580
|
? 'retain_fence'
|
|
580
581
|
: 'abort_safe',
|
|
581
582
|
};
|
|
@@ -622,7 +623,7 @@ export function persistPreparedRiffShutdown(ds, prepared) {
|
|
|
622
623
|
}
|
|
623
624
|
ds.session.riffParentTaskId = prepared.taskId ?? undefined;
|
|
624
625
|
prepared.lineageVerified = true;
|
|
625
|
-
if (!
|
|
626
|
+
if (!isPreparedRemoteSessionCurrent(ds, prepared)) {
|
|
626
627
|
return {
|
|
627
628
|
ok: false,
|
|
628
629
|
requestId: prepared.requestId,
|
|
@@ -633,9 +634,9 @@ export function persistPreparedRiffShutdown(ds, prepared) {
|
|
|
633
634
|
}
|
|
634
635
|
return { ok: true };
|
|
635
636
|
}
|
|
636
|
-
export function
|
|
637
|
-
if (ds.
|
|
638
|
-
|| ds.
|
|
637
|
+
export function isPreparedRemoteSessionCurrent(ds, prepared) {
|
|
638
|
+
if (ds.remoteShutdownState?.requestId !== prepared.requestId
|
|
639
|
+
|| ds.remoteShutdownState.phase !== 'prepared')
|
|
639
640
|
return false;
|
|
640
641
|
if (prepared.worker) {
|
|
641
642
|
return ds.worker === prepared.worker && !workerHasExited(prepared.worker);
|
|
@@ -645,17 +646,17 @@ export function isPreparedRiffSessionCurrent(ds, prepared) {
|
|
|
645
646
|
/** After verified lineage persistence, an exact prepared worker that exited
|
|
646
647
|
* and was cleared by worker-pool can be safely rolled back locally. A new
|
|
647
648
|
* worker generation or a different fence remains ownership ambiguity. */
|
|
648
|
-
export function
|
|
649
|
+
export function canAbortVerifiedExitedRemotePreparation(ds, prepared) {
|
|
649
650
|
return prepared.lineageVerified
|
|
650
651
|
&& !!prepared.worker
|
|
651
652
|
&& workerHasExited(prepared.worker)
|
|
652
653
|
&& ds.worker === null
|
|
653
|
-
&& ds.
|
|
654
|
+
&& ds.remoteShutdownState?.requestId === prepared.requestId;
|
|
654
655
|
}
|
|
655
656
|
/** Roll back one prepared participant. State clears only after the exact worker
|
|
656
657
|
* ACKs admission restoration; timeout/late ACK remains deliberately fail-closed. */
|
|
657
|
-
export async function
|
|
658
|
-
if (ds.
|
|
658
|
+
export async function abortPreparedRemoteShutdown(ds, prepared, options = {}) {
|
|
659
|
+
if (ds.remoteShutdownState?.requestId !== prepared.requestId) {
|
|
659
660
|
return { ok: false, taskId: prepared.taskId, error: 'shutdown_prepare_ownership_lost' };
|
|
660
661
|
}
|
|
661
662
|
if (!prepared.worker) {
|
|
@@ -666,12 +667,12 @@ export async function abortPreparedRiffShutdown(ds, prepared, options = {}) {
|
|
|
666
667
|
return { ok: true, taskId: prepared.taskId };
|
|
667
668
|
}
|
|
668
669
|
if (workerHasExited(prepared.worker)) {
|
|
669
|
-
return abortWorkerPreparation(ds, prepared.worker, prepared.requestId, options.abortTimeoutMs ??
|
|
670
|
+
return abortWorkerPreparation(ds, prepared.worker, prepared.requestId, options.abortTimeoutMs ?? REMOTE_ADMISSION_RESTORE_TIMEOUT_MS, prepared.lineageVerified, { taskId: prepared.taskId });
|
|
670
671
|
}
|
|
671
|
-
return abortWorkerPreparation(ds, prepared.worker, prepared.requestId, options.abortTimeoutMs ??
|
|
672
|
+
return abortWorkerPreparation(ds, prepared.worker, prepared.requestId, options.abortTimeoutMs ?? REMOTE_ADMISSION_RESTORE_TIMEOUT_MS, prepared.lineageVerified, { taskId: prepared.taskId });
|
|
672
673
|
}
|
|
673
|
-
async function
|
|
674
|
-
if (ds.
|
|
674
|
+
async function abortPossiblyFencedRemoteShutdown(ds, participant, timeoutMs) {
|
|
675
|
+
if (ds.remoteShutdownState?.requestId !== participant.requestId) {
|
|
675
676
|
return {
|
|
676
677
|
ok: false,
|
|
677
678
|
taskId: participant.taskId,
|
|
@@ -684,9 +685,9 @@ async function abortPossiblyFencedRiffShutdown(ds, participant, timeoutMs) {
|
|
|
684
685
|
}
|
|
685
686
|
/** Restore every exact prepared/possibly-fenced generation concurrently. No
|
|
686
687
|
* participant can consume another's timeout budget. */
|
|
687
|
-
export async function
|
|
688
|
+
export async function abortRemoteShutdownFleet(entries, options = {}) {
|
|
688
689
|
const now = options.now ?? Date.now;
|
|
689
|
-
const configuredTimeout = options.abortTimeoutMs ??
|
|
690
|
+
const configuredTimeout = options.abortTimeoutMs ?? REMOTE_ADMISSION_RESTORE_TIMEOUT_MS;
|
|
690
691
|
const remaining = options.deadlineMs === undefined
|
|
691
692
|
? configuredTimeout
|
|
692
693
|
: Math.max(0, options.deadlineMs - now());
|
|
@@ -704,22 +705,22 @@ export async function abortRiffShutdownFleet(entries, options = {}) {
|
|
|
704
705
|
};
|
|
705
706
|
}
|
|
706
707
|
const result = participant.ok
|
|
707
|
-
? await
|
|
708
|
-
: await
|
|
708
|
+
? await abortPreparedRemoteShutdown(ds, participant, { abortTimeoutMs: timeoutMs })
|
|
709
|
+
: await abortPossiblyFencedRemoteShutdown(ds, participant, timeoutMs);
|
|
709
710
|
return { ds, participant, result };
|
|
710
711
|
}));
|
|
711
712
|
}
|
|
712
713
|
/** Phase 3: synchronous, infallible-after-validation commit. The coordinator
|
|
713
714
|
* validates every participant first, then calls this without an intervening
|
|
714
715
|
* await, so one session can never refuse after a peer was detached. */
|
|
715
|
-
export function
|
|
716
|
-
if (!
|
|
716
|
+
export function commitPreparedRemoteShutdown(ds, prepared) {
|
|
717
|
+
if (!isPreparedRemoteSessionCurrent(ds, prepared))
|
|
717
718
|
return false;
|
|
718
719
|
if (!prepared.worker) {
|
|
719
720
|
clearWorkerlessShutdownState(ds, prepared.requestId);
|
|
720
721
|
return true;
|
|
721
722
|
}
|
|
722
|
-
if (!send(prepared.worker, { type: '
|
|
723
|
+
if (!send(prepared.worker, { type: 'remote_shutdown_commit', requestId: prepared.requestId })) {
|
|
723
724
|
// Lineage is already durably fresh-verified. Direct retirement is safe even
|
|
724
725
|
// if the final IPC channel closed between validation and send.
|
|
725
726
|
try {
|
|
@@ -731,17 +732,18 @@ export function commitPreparedRiffShutdown(ds, prepared) {
|
|
|
731
732
|
return true;
|
|
732
733
|
}
|
|
733
734
|
/** Single-session compatibility wrapper. Daemon shutdown intentionally uses
|
|
734
|
-
* the explicit three-phase API above so a multi-
|
|
735
|
-
|
|
736
|
-
|
|
735
|
+
* the explicit three-phase API above so a multi-backend remote fleet cannot
|
|
736
|
+
* half-commit. */
|
|
737
|
+
export async function detachRemoteWorkerForShutdown(ds, options = {}) {
|
|
738
|
+
const prepared = await prepareRemoteSessionForShutdown(ds, options);
|
|
737
739
|
if (!prepared.ok) {
|
|
738
740
|
if (prepared.fence === 'none')
|
|
739
741
|
return prepared;
|
|
740
|
-
const [aborted] = await
|
|
742
|
+
const [aborted] = await abortRemoteShutdownFleet([{ ds, result: prepared }], options);
|
|
741
743
|
const abortSuffix = aborted.result.ok
|
|
742
744
|
? ''
|
|
743
745
|
: `;admission_restore_failed:${aborted.result.error ?? 'unknown'}`;
|
|
744
|
-
logger.error(`[${label(ds)}]
|
|
746
|
+
logger.error(`[${label(ds)}] Remote shutdown drain failed (${prepared.error}${abortSuffix}); `
|
|
745
747
|
+ (aborted.result.ok
|
|
746
748
|
? 'worker retained with admission restored'
|
|
747
749
|
: 'worker retained and admission fence kept fail-closed'));
|
|
@@ -752,11 +754,11 @@ export async function detachRiffWorkerForShutdown(ds, options = {}) {
|
|
|
752
754
|
error: prepared.error + abortSuffix,
|
|
753
755
|
};
|
|
754
756
|
}
|
|
755
|
-
const persisted =
|
|
757
|
+
const persisted = persistPreparedRemoteShutdown(ds, prepared);
|
|
756
758
|
if (!persisted.ok) {
|
|
757
759
|
if (persisted.rollbackDisposition === 'retain_fence')
|
|
758
760
|
return persisted;
|
|
759
|
-
const aborted = await
|
|
761
|
+
const aborted = await abortPreparedRemoteShutdown(ds, prepared, options);
|
|
760
762
|
return {
|
|
761
763
|
ok: false,
|
|
762
764
|
requestId: prepared.requestId,
|
|
@@ -765,7 +767,7 @@ export async function detachRiffWorkerForShutdown(ds, options = {}) {
|
|
|
765
767
|
+ (aborted.ok ? '' : `;admission_restore_failed:${aborted.error ?? 'unknown'}`),
|
|
766
768
|
};
|
|
767
769
|
}
|
|
768
|
-
if (!
|
|
770
|
+
if (!commitPreparedRemoteShutdown(ds, prepared)) {
|
|
769
771
|
return {
|
|
770
772
|
ok: false,
|
|
771
773
|
requestId: prepared.requestId,
|
|
@@ -774,7 +776,7 @@ export async function detachRiffWorkerForShutdown(ds, options = {}) {
|
|
|
774
776
|
rollbackDisposition: 'retain_fence',
|
|
775
777
|
};
|
|
776
778
|
}
|
|
777
|
-
logger.info(`[${label(ds)}]
|
|
779
|
+
logger.info(`[${label(ds)}] Remote shutdown detach committed after durable lineage `
|
|
778
780
|
+ `${prepared.taskId ?? 'none'}`);
|
|
779
781
|
return {
|
|
780
782
|
ok: true,
|
|
@@ -784,4 +786,4 @@ export async function detachRiffWorkerForShutdown(ds, options = {}) {
|
|
|
784
786
|
...(prepared.worker ? { worker: prepared.worker } : {}),
|
|
785
787
|
};
|
|
786
788
|
}
|
|
787
|
-
//# sourceMappingURL=
|
|
789
|
+
//# sourceMappingURL=remote-shutdown-detach.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-shutdown-detach.js","sourceRoot":"","sources":["../../src/core/remote-shutdown-detach.ts"],"names":[],"mappings":"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"}
|
package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface RemoteWorkerShutdownInputSnapshot {
|
|
2
2
|
/** False while async init can still materialize an opening prompt later. */
|
|
3
3
|
initPromptMaterialized: boolean;
|
|
4
4
|
/** A normal prompt has been removed from pendingMessages but has not yet
|
|
@@ -12,6 +12,7 @@ export interface RiffWorkerShutdownInputSnapshot {
|
|
|
12
12
|
* write after the shutdown fence is sampled. */
|
|
13
13
|
commandLineWritesPending: number;
|
|
14
14
|
}
|
|
15
|
-
/** Describe worker-owned input not proven to be inside
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/** Describe worker-owned input not proven to be inside the remote backend's
|
|
16
|
+
* accepted-write fence. */
|
|
17
|
+
export declare function remoteWorkerShutdownInputBlocker(snapshot: RemoteWorkerShutdownInputSnapshot): string | null;
|
|
18
|
+
//# sourceMappingURL=remote-worker-shutdown-readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-worker-shutdown-readiness.d.ts","sourceRoot":"","sources":["../../src/core/remote-worker-shutdown-readiness.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD,4EAA4E;IAC5E,sBAAsB,EAAE,OAAO,CAAC;IAChC;qDACiD;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B;oDACgD;IAChD,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED;2BAC2B;AAC3B,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,iCAAiC,GAC1C,MAAM,GAAG,IAAI,CAYf"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/** Describe worker-owned input not proven to be inside
|
|
2
|
-
|
|
1
|
+
/** Describe worker-owned input not proven to be inside the remote backend's
|
|
2
|
+
* accepted-write fence. */
|
|
3
|
+
export function remoteWorkerShutdownInputBlocker(snapshot) {
|
|
3
4
|
const parts = [];
|
|
4
5
|
if (!snapshot.initPromptMaterialized)
|
|
5
6
|
parts.push('init=materializing');
|
|
@@ -18,4 +19,4 @@ export function riffWorkerShutdownInputBlocker(snapshot) {
|
|
|
18
19
|
}
|
|
19
20
|
return parts.length > 0 ? parts.join(',') : null;
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=remote-worker-shutdown-readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-worker-shutdown-readiness.js","sourceRoot":"","sources":["../../src/core/remote-worker-shutdown-readiness.ts"],"names":[],"mappings":"AAeA;2BAC2B;AAC3B,MAAM,UAAU,gCAAgC,CAC9C,QAA2C;IAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,sBAAsB;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvE,IAAI,QAAQ,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,eAAe,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IACrF,IAAI,QAAQ,CAAC,gBAAgB,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClF,IAAI,QAAQ,CAAC,oBAAoB;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,qBAAqB;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,wBAAwB,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC"}
|