@openrig/cli 0.6.13 → 0.7.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 +58 -9
- package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/README.md +11 -4
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
- package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
- package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +39 -21
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +12 -32
- package/daemon/assets/skills/rigs/SKILL.md +24 -5
- package/daemon/context-packs/help/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +18 -8
- package/daemon/context-packs/reference/getting-started.md +178 -35
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +1 -1
- package/daemon/context-packs/reference/whats-new.md +126 -100
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +39 -21
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
- package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
- package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +12 -32
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +33 -6
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +2 -7
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
- package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js +52 -9
- package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
- package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
- package/daemon/dist/adapters/kernel-authority.js +9 -5
- package/daemon/dist/adapters/kernel-authority.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +2 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +5 -0
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
- package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
- package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
- package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
- package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.js +2 -0
- package/daemon/dist/adapters/stub-runner.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +21 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +101 -14
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +12 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +5 -3
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +2 -2
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.js +21 -0
- package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
- package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
- package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
- package/daemon/dist/domain/agent-activity-store.js +41 -5
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
- package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/ask-service.d.ts +1 -0
- package/daemon/dist/domain/ask-service.d.ts.map +1 -1
- package/daemon/dist/domain/ask-service.js +7 -1
- package/daemon/dist/domain/ask-service.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/claim-service.d.ts +10 -19
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +90 -0
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
- package/daemon/dist/domain/classification-sources.js +2 -0
- package/daemon/dist/domain/classification-sources.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +19 -6
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +108 -38
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
- package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
- package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
- package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
- package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
- package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
- package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
- package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +58 -17
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +13 -5
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +47 -13
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +3 -0
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/current-work.d.ts +18 -0
- package/daemon/dist/domain/current-work.d.ts.map +1 -1
- package/daemon/dist/domain/current-work.js +17 -3
- package/daemon/dist/domain/current-work.js.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
- package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.js +61 -82
- package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +2 -1
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
- package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
- package/daemon/dist/domain/existing-rig-restore.js +254 -0
- package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
- package/daemon/dist/domain/fresh-occupant-relation.js +11 -3
- package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +3 -46
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
- package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
- package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
- package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +67 -5
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.js +5 -1
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.js +34 -4
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
- package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
- package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
- package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
- package/daemon/dist/domain/human-questions.d.ts +8 -1
- package/daemon/dist/domain/human-questions.d.ts.map +1 -1
- package/daemon/dist/domain/human-questions.js.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
- package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
- package/daemon/dist/domain/kernel-boot.d.ts +21 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot.js +57 -2
- package/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +43 -15
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +26 -12
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +5 -3
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +29 -25
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/outbox-handler.d.ts +3 -5
- package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
- package/daemon/dist/domain/outbox-handler.js +9 -19
- package/daemon/dist/domain/outbox-handler.js.map +1 -1
- package/daemon/dist/domain/park-wake-text.d.ts +11 -0
- package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
- package/daemon/dist/domain/park-wake-text.js +26 -0
- package/daemon/dist/domain/park-wake-text.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +29 -6
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
- package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
- package/daemon/dist/domain/policies/quiet-release.js +213 -0
- package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +8 -3
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/proof/source-watch.js +2 -2
- package/daemon/dist/domain/proof/source-watch.js.map +1 -1
- package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
- package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
- package/daemon/dist/domain/queue-destination-check.js +35 -0
- package/daemon/dist/domain/queue-destination-check.js.map +1 -0
- package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
- package/daemon/dist/domain/queue-owner.js +2 -1
- package/daemon/dist/domain/queue-owner.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
- package/daemon/dist/domain/queue-recovery.js +3 -2
- package/daemon/dist/domain/queue-recovery.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +108 -67
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +316 -140
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +25 -8
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +94 -11
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
- package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
- package/daemon/dist/domain/quiet-hold-custody.js +85 -0
- package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
- package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +144 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +30 -13
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +8 -5
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +11 -1
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +27 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +31 -4
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +59 -28
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +30 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +124 -57
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.js +21 -5
- package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +28 -2
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-store.js +5 -2
- package/daemon/dist/domain/seat-identity-store.js.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.js +17 -1
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
- package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.js +102 -30
- package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
- package/daemon/dist/domain/self-attach-service.d.ts +3 -2
- package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
- package/daemon/dist/domain/self-attach-service.js +18 -1
- package/daemon/dist/domain/self-attach-service.js.map +1 -1
- package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
- package/daemon/dist/domain/services-readiness.js +14 -3
- package/daemon/dist/domain/services-readiness.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +45 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +124 -0
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +24 -6
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +58 -41
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +7 -1
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +41 -7
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +23 -10
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +66 -16
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.js +11 -17
- package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +3 -1
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/topology-converge.d.ts +1 -0
- package/daemon/dist/domain/topology-converge.d.ts.map +1 -1
- package/daemon/dist/domain/topology-converge.js +1 -0
- package/daemon/dist/domain/topology-converge.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +15 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
- package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +37 -7
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/wake-resolve-service.d.ts +1 -0
- package/daemon/dist/domain/wake-resolve-service.d.ts.map +1 -1
- package/daemon/dist/domain/wake-resolve-service.js +10 -0
- package/daemon/dist/domain/wake-resolve-service.js.map +1 -1
- package/daemon/dist/domain/wake-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/wake-resolver.js +7 -0
- package/daemon/dist/domain/wake-resolver.js.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
- package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.js +12 -89
- package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
- package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/whoami-service.d.ts +2 -0
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
- package/daemon/dist/domain/whoami-service.js +23 -6
- package/daemon/dist/domain/whoami-service.js.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +5 -2
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-role-context.js +2 -2
- package/daemon/dist/domain/workflow-role-context.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +2 -0
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +13 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +67 -2
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts.map +1 -1
- package/daemon/dist/routes/compaction.js +8 -3
- package/daemon/dist/routes/compaction.js.map +1 -1
- package/daemon/dist/routes/discovery.js +3 -0
- package/daemon/dist/routes/discovery.js.map +1 -1
- package/daemon/dist/routes/down.js +9 -1
- package/daemon/dist/routes/down.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +2 -0
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +181 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/kernel-status.js +6 -1
- package/daemon/dist/routes/kernel-status.js.map +1 -1
- package/daemon/dist/routes/provider.d.ts.map +1 -1
- package/daemon/dist/routes/provider.js +0 -73
- package/daemon/dist/routes/provider.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +73 -13
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +29 -10
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +2 -3
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.js +2 -2
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +35 -0
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/skills.js +2 -2
- package/daemon/dist/routes/skills.js.map +1 -1
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +7 -3
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/routes/transport.js +1 -1
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.js +36 -52
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +6 -4
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +104 -65
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
- package/daemon/docs/reference/getting-started.md +178 -35
- package/daemon/docs/reference/quickstart.md +200 -0
- package/daemon/docs/reference/refocus-channel.md +9 -3
- package/daemon/docs/reference/rig-spec.md +1 -1
- package/daemon/docs/reference/seat-delivery.md +57 -18
- package/daemon/docs/reference/slack-app-setup.md +49 -2
- package/daemon/docs/reference/whats-new.md +126 -100
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts +4 -0
- package/dist/cli-error.d.ts.map +1 -1
- package/dist/cli-error.js +6 -0
- package/dist/cli-error.js.map +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +28 -0
- package/dist/client.js.map +1 -1
- package/dist/commands/agent-image.d.ts.map +1 -1
- package/dist/commands/agent-image.js +15 -7
- package/dist/commands/agent-image.js.map +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +17 -3
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +13 -3
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/attach.d.ts.map +1 -1
- package/dist/commands/attach.js +6 -4
- package/dist/commands/attach.js.map +1 -1
- package/dist/commands/broadcast.js +2 -0
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/chatroom.d.ts.map +1 -1
- package/dist/commands/chatroom.js +1 -0
- package/dist/commands/chatroom.js.map +1 -1
- package/dist/commands/community-harness.d.ts.map +1 -1
- package/dist/commands/community-harness.js +2 -1
- package/dist/commands/community-harness.js.map +1 -1
- package/dist/commands/compact-plan.d.ts.map +1 -1
- package/dist/commands/compact-plan.js +2 -1
- package/dist/commands/compact-plan.js.map +1 -1
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +15 -7
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +16 -9
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +39 -16
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +16 -2
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +9 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/fork.d.ts.map +1 -1
- package/dist/commands/fork.js +3 -1
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/gateway.d.ts +39 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +310 -3
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.js +3 -2
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +2 -2
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +9 -2
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +2 -1
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +0 -73
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +95 -5
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +4 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +78 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/reconcile-session.d.ts.map +1 -1
- package/dist/commands/reconcile-session.js +25 -4
- package/dist/commands/reconcile-session.js.map +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +16 -2
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/restore-check.d.ts.map +1 -1
- package/dist/commands/restore-check.js +2 -1
- package/dist/commands/restore-check.js.map +1 -1
- package/dist/commands/restore-packet.d.ts.map +1 -1
- package/dist/commands/restore-packet.js +2 -1
- package/dist/commands/restore-packet.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +23 -6
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +5 -2
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.js +0 -4
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +27 -3
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +29 -9
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shrink.d.ts.map +1 -1
- package/dist/commands/shrink.js +16 -2
- package/dist/commands/shrink.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +11 -24
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +36 -10
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +11 -5
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +36 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +4 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +12 -7
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +8 -1
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/unarchive.d.ts.map +1 -1
- package/dist/commands/unarchive.js +16 -2
- package/dist/commands/unarchive.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +33 -7
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +2 -1
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +3 -0
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config-store.d.ts +5 -2
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +39 -7
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +9 -4
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +38 -12
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-reachability.d.ts +13 -0
- package/dist/daemon-reachability.d.ts.map +1 -1
- package/dist/daemon-reachability.js +28 -0
- package/dist/daemon-reachability.js.map +1 -1
- package/dist/fetch-with-timeout.d.ts.map +1 -1
- package/dist/fetch-with-timeout.js +19 -16
- package/dist/fetch-with-timeout.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +3 -1
- package/dist/front-door.js.map +1 -1
- package/dist/host-bindings.d.ts +6 -0
- package/dist/host-bindings.d.ts.map +1 -1
- package/dist/host-bindings.js +7 -4
- package/dist/host-bindings.js.map +1 -1
- package/dist/lib/bundle-check.d.ts.map +1 -1
- package/dist/lib/bundle-check.js +13 -5
- package/dist/lib/bundle-check.js.map +1 -1
- package/dist/local-daemon-owner.d.ts +28 -0
- package/dist/local-daemon-owner.d.ts.map +1 -0
- package/dist/local-daemon-owner.js +98 -0
- package/dist/local-daemon-owner.js.map +1 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +57 -14
- package/dist/mcp-server.js.map +1 -1
- package/dist/rig-handle.d.ts +18 -1
- package/dist/rig-handle.d.ts.map +1 -1
- package/dist/rig-handle.js +19 -2
- package/dist/rig-handle.js.map +1 -1
- package/package.json +1 -1
- package/tui/dist/config/config-model.js +1 -1
- package/tui/dist/config/config-model.js.map +1 -1
- package/tui/dist/connections/connections-model.d.ts +0 -5
- package/tui/dist/connections/connections-model.d.ts.map +1 -1
- package/tui/dist/connections/connections-model.js +1 -1
- package/tui/dist/connections/connections-model.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +23 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +13 -1
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live.d.ts +10 -1
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +56 -7
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/main.js +35 -2
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +111 -7
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/types.d.ts +53 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/tui/dist/version-skew.d.ts +24 -0
- package/tui/dist/version-skew.d.ts.map +1 -0
- package/tui/dist/version-skew.js +37 -0
- package/tui/dist/version-skew.js.map +1 -0
- package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
- package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
- package/daemon/dist/domain/provider/subscription-moves.js +0 -140
- package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
* Hot-potato strict-rejection contract (PL-004 Phase A).
|
|
3
3
|
*
|
|
4
4
|
* Load-bearing API contract: any code path that transitions a queue_item to
|
|
5
|
-
* `done` MUST pass a valid `closure_reason` from
|
|
5
|
+
* `done` MUST pass a valid `closure_reason` from DONE_CLOSURE_REASONS. This
|
|
6
6
|
* is enforced at this layer (NOT at the route, NOT at the CLI) so every
|
|
7
7
|
* surface that reaches the queue inherits the same guarantee.
|
|
8
8
|
*
|
|
9
|
-
* The
|
|
9
|
+
* The terminal closure reasons:
|
|
10
10
|
* - handed_off_to : work continues with a different seat (closure_target = new owner)
|
|
11
|
-
* - blocked_on : work is parked pending another qitem (closure_target = blocker qitem_id)
|
|
12
11
|
* - denied : receiver rejected the work (closure_target = reason text)
|
|
13
12
|
* - canceled : sender or receiver withdrew (closure_target = note)
|
|
14
13
|
* - no-follow-on : terminal completion, nothing else needed
|
|
15
14
|
* - escalation : kicked up to higher tier (closure_target = escalation target)
|
|
15
|
+
* - superseded : replaced by another qitem (closure_target = successor qitem_id)
|
|
16
|
+
* `blocked_on` remains valid for active blocked park records, never for `done`.
|
|
16
17
|
*/
|
|
17
18
|
export declare const CLOSURE_REASONS: readonly ["handed_off_to", "blocked_on", "denied", "canceled", "no-follow-on", "escalation", "superseded"];
|
|
18
19
|
export type ClosureReason = (typeof CLOSURE_REASONS)[number];
|
|
20
|
+
export declare const DONE_CLOSURE_REASONS: ("denied" | "superseded" | "handed_off_to" | "canceled" | "no-follow-on" | "escalation")[];
|
|
19
21
|
export interface ClosureRequest {
|
|
20
22
|
state: string;
|
|
21
23
|
closureReason?: string | null;
|
|
@@ -36,8 +38,8 @@ export type ClosureValidation = ClosureValidationOk | ClosureValidationErr;
|
|
|
36
38
|
/**
|
|
37
39
|
* Validate a state transition's closure obligation.
|
|
38
40
|
* - If state !== "done": no closure_reason required; pass through any provided values.
|
|
39
|
-
* - If state === "done": closure_reason REQUIRED, must be in
|
|
40
|
-
* handed_off_to /
|
|
41
|
+
* - If state === "done": closure_reason REQUIRED, must be in DONE_CLOSURE_REASONS.
|
|
42
|
+
* handed_off_to / escalation also require closure_target.
|
|
41
43
|
*/
|
|
42
44
|
export declare function validateClosure(req: ClosureRequest): ClosureValidation;
|
|
43
45
|
export declare function isClosureReason(value: unknown): value is ClosureReason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot-potato-enforcer.d.ts","sourceRoot":"","sources":["../../src/domain/hot-potato-enforcer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hot-potato-enforcer.d.ts","sourceRoot":"","sources":["../../src/domain/hot-potato-enforcer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,eAAe,4GAUlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,oBAAoB,4FAA8D,CAAC;AAEhG,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAoDtE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAcD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAM9F"}
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
* Hot-potato strict-rejection contract (PL-004 Phase A).
|
|
3
3
|
*
|
|
4
4
|
* Load-bearing API contract: any code path that transitions a queue_item to
|
|
5
|
-
* `done` MUST pass a valid `closure_reason` from
|
|
5
|
+
* `done` MUST pass a valid `closure_reason` from DONE_CLOSURE_REASONS. This
|
|
6
6
|
* is enforced at this layer (NOT at the route, NOT at the CLI) so every
|
|
7
7
|
* surface that reaches the queue inherits the same guarantee.
|
|
8
8
|
*
|
|
9
|
-
* The
|
|
9
|
+
* The terminal closure reasons:
|
|
10
10
|
* - handed_off_to : work continues with a different seat (closure_target = new owner)
|
|
11
|
-
* - blocked_on : work is parked pending another qitem (closure_target = blocker qitem_id)
|
|
12
11
|
* - denied : receiver rejected the work (closure_target = reason text)
|
|
13
12
|
* - canceled : sender or receiver withdrew (closure_target = note)
|
|
14
13
|
* - no-follow-on : terminal completion, nothing else needed
|
|
15
14
|
* - escalation : kicked up to higher tier (closure_target = escalation target)
|
|
15
|
+
* - superseded : replaced by another qitem (closure_target = successor qitem_id)
|
|
16
|
+
* `blocked_on` remains valid for active blocked park records, never for `done`.
|
|
16
17
|
*/
|
|
17
18
|
export const CLOSURE_REASONS = [
|
|
18
19
|
"handed_off_to",
|
|
@@ -25,11 +26,12 @@ export const CLOSURE_REASONS = [
|
|
|
25
26
|
// as closure_target) so it is distinguishable from an abandoned cancel (closure_reason=null).
|
|
26
27
|
"superseded",
|
|
27
28
|
];
|
|
29
|
+
export const DONE_CLOSURE_REASONS = CLOSURE_REASONS.filter((reason) => reason !== "blocked_on");
|
|
28
30
|
/**
|
|
29
31
|
* Validate a state transition's closure obligation.
|
|
30
32
|
* - If state !== "done": no closure_reason required; pass through any provided values.
|
|
31
|
-
* - If state === "done": closure_reason REQUIRED, must be in
|
|
32
|
-
* handed_off_to /
|
|
33
|
+
* - If state === "done": closure_reason REQUIRED, must be in DONE_CLOSURE_REASONS.
|
|
34
|
+
* handed_off_to / escalation also require closure_target.
|
|
33
35
|
*/
|
|
34
36
|
export function validateClosure(req) {
|
|
35
37
|
if (req.state !== "done") {
|
|
@@ -43,20 +45,27 @@ export function validateClosure(req) {
|
|
|
43
45
|
return {
|
|
44
46
|
ok: false,
|
|
45
47
|
code: "missing_closure_reason",
|
|
46
|
-
message: `state=done requires closure_reason; valid values: ${
|
|
47
|
-
validReasons:
|
|
48
|
+
message: `state=done requires closure_reason; valid values: ${DONE_CLOSURE_REASONS.join(", ")}`,
|
|
49
|
+
validReasons: DONE_CLOSURE_REASONS,
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
52
|
if (!isClosureReason(req.closureReason)) {
|
|
51
53
|
return {
|
|
52
54
|
ok: false,
|
|
53
55
|
code: "invalid_closure_reason",
|
|
54
|
-
message: `closure_reason=${req.closureReason} is not valid; valid values: ${
|
|
55
|
-
validReasons:
|
|
56
|
+
message: `closure_reason=${req.closureReason} is not valid; valid values: ${DONE_CLOSURE_REASONS.join(", ")}`,
|
|
57
|
+
validReasons: DONE_CLOSURE_REASONS,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (req.closureReason === "blocked_on") {
|
|
61
|
+
return {
|
|
62
|
+
ok: false,
|
|
63
|
+
code: "invalid_closure_reason",
|
|
64
|
+
message: "state=done is terminal and cannot use closure_reason=blocked_on. Use rig queue block <id> --on <child> (or rig queue update <id> --state blocked --blocked-on <child>) to wait for another queue item.",
|
|
65
|
+
validReasons: DONE_CLOSURE_REASONS,
|
|
56
66
|
};
|
|
57
67
|
}
|
|
58
68
|
const requiresTarget = req.closureReason === "handed_off_to"
|
|
59
|
-
|| req.closureReason === "blocked_on"
|
|
60
69
|
|| req.closureReason === "escalation";
|
|
61
70
|
if (requiresTarget && !req.closureTarget) {
|
|
62
71
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot-potato-enforcer.js","sourceRoot":"","sources":["../../src/domain/hot-potato-enforcer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hot-potato-enforcer.js","sourceRoot":"","sources":["../../src/domain/hot-potato-enforcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,18 @@ export type RecordHumanAnswerResult = {
|
|
|
25
25
|
complete: boolean;
|
|
26
26
|
questions: HumanQuestion[];
|
|
27
27
|
}
|
|
28
|
-
/** answerOnRecord: the decision is no longer pending, and this asked human's clicked answer is the one it holds.
|
|
28
|
+
/** answerOnRecord: the decision is no longer pending, and this asked human's clicked answer is the one it holds.
|
|
29
|
+
* decidedForThem: it was decided on this asked human's behalf, inside their mode's decision room. */
|
|
29
30
|
| {
|
|
30
31
|
status: "not-applicable";
|
|
31
32
|
reason: string;
|
|
32
33
|
answerOnRecord?: true;
|
|
34
|
+
decidedForThem?: {
|
|
35
|
+
decidedBy: string;
|
|
36
|
+
modeName: string;
|
|
37
|
+
chose: string;
|
|
38
|
+
reversible: boolean;
|
|
39
|
+
};
|
|
33
40
|
};
|
|
34
41
|
export declare const MAX_HUMAN_QUESTIONS = 4;
|
|
35
42
|
export declare const MIN_OPTIONS = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-questions.d.ts","sourceRoot":"","sources":["../../src/domain/human-questions.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,kBAAkB,CAAC;IAC9B,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC;AAEpE,uFAAuF;AACvF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE;AAC9F
|
|
1
|
+
{"version":3,"file":"human-questions.d.ts","sourceRoot":"","sources":["../../src/domain/human-questions.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,kBAAkB,CAAC;IAC9B,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC;AAEpE,uFAAuF;AACvF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE;AAC9F;sGACsG;GACpG;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAEnG,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAIrC,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1G,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAoCvE;AAQD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAEnG;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAOvG;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,aAAa,EAAE,CAE/G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-questions.js","sourceRoot":"","sources":["../../src/domain/human-questions.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,8FAA8F;AAC9F,gGAAgG;AAChG,kDAAkD;
|
|
1
|
+
{"version":3,"file":"human-questions.js","sourceRoot":"","sources":["../../src/domain/human-questions.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,8FAA8F;AAC9F,gGAAgG;AAChG,kDAAkD;AAkClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,0BAA0B;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,OAAO,GAAG,8CAA8C,CAAC;AAI/D,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAuB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;QAAE,OAAO,IAAI,CAAC,YAAY,mBAAmB,mBAAmB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5I,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;QACjD,MAAM,KAAK,GAAG,YAAY,aAAa,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QAC5F,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACrF,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;QAC9G,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,2BAA2B,iBAAiB,cAAc,CAAC,CAAC;QAC3H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YAClG,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,WAAW,OAAO,WAAW,WAAW,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;YACvD,MAAM,WAAW,GAAG,GAAG,KAAK,WAAW,WAAW,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,WAAW,KAAK,OAAO,EAAE,CAAC,CAAC;YAClG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,WAAW,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvF,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC,GAAG,WAAW,sBAAsB,CAAC,CAAC;YACtG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB;gBAAE,OAAO,IAAI,CAAC,GAAG,WAAW,2BAA2B,gBAAgB,0BAA0B,CAAC,CAAC;YACxI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,GAAG,WAAW,sCAAsC,CAAC,CAAC;YACnI,IAAI,CAAC,CAAC,WAAW;gBAAE,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,WAAW,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,2CAA2C,CAAC,CAAC;QACtF,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;mEACmE;AACnE,SAAS,SAAS,CAAC,OAAqB,EAAE,UAAkB;IAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAuB,EAAE,KAAsB;IACzF,OAAO,2EAA2E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,eAAe,YAAY,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AACpN,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,SAAmC,EAAE,OAAqB;IAC3F,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,mBAAmB,CAAC,SAAmC,EAAE,OAAqB;IAC5F,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -10,6 +10,8 @@ export interface KernelAgentStatus {
|
|
|
10
10
|
runtime: string;
|
|
11
11
|
/** Startup status from the sessions table. Same enum as session-registry. */
|
|
12
12
|
startupStatus: "pending" | "ready" | "attention_required" | "failed";
|
|
13
|
+
/** Present when the seat's newest session is detached (its tmux session is gone) or exited. */
|
|
14
|
+
down?: true;
|
|
13
15
|
}
|
|
14
16
|
export interface KernelBootStatus {
|
|
15
17
|
kernelState: KernelState;
|
|
@@ -31,6 +33,9 @@ export interface KernelBootStatus {
|
|
|
31
33
|
detail: string | null;
|
|
32
34
|
at: string | null;
|
|
33
35
|
} | null;
|
|
36
|
+
/** The boot is the restore of an existing kernel a reboot or crash left down, not a first boot:
|
|
37
|
+
* whether that restore is still running or has returned. null for any other boot. */
|
|
38
|
+
existingRestore: "in_progress" | "finished" | null;
|
|
34
39
|
}
|
|
35
40
|
export interface KernelBootTrackerDeps {
|
|
36
41
|
eventBus: EventBus;
|
|
@@ -56,18 +61,27 @@ export declare class KernelBootTracker {
|
|
|
56
61
|
private degradedTimer;
|
|
57
62
|
private degradedEmitted;
|
|
58
63
|
private bootstrapInFlight;
|
|
64
|
+
private managedKernelLive;
|
|
65
|
+
private existingRestore;
|
|
59
66
|
constructor(deps: KernelBootTrackerDeps);
|
|
60
67
|
/** Mark the tracker as having intentionally not booted (--no-kernel,
|
|
61
68
|
* already-managed short-circuit, VITEST auto-skip). Terminal state;
|
|
62
69
|
* no degraded timer. */
|
|
63
70
|
setSkipped(detail: string): void;
|
|
71
|
+
/** The daemon skipped its boot because a kernel rig already exists with seats still running. Its
|
|
72
|
+
* status then follows those seats when they read ready or partial_ready (the same aggregation as
|
|
73
|
+
* a cold boot), instead of always `skipped`. Otherwise it stays `skipped`, as before, so a running
|
|
74
|
+
* kernel whose seats are not ready yet never newly blocks `rig start`. */
|
|
75
|
+
observeManagedKernel(): void;
|
|
64
76
|
/** Auth-blocked terminal. Operator sees the 3-part error in detail. */
|
|
65
77
|
setAuthBlocked(message: string): void;
|
|
66
78
|
/** Spec-missing terminal. Path is in detail for ops triage. */
|
|
67
79
|
setSpecMissing(specPath: string): void;
|
|
68
80
|
/** Begin tracking an in-flight bootstrap. The bootstrap promise
|
|
69
81
|
* is awaited internally; the caller does NOT block on it. */
|
|
70
|
-
startBooting(variant: string, bootstrapPromise: Promise<BootstrapResult
|
|
82
|
+
startBooting(variant: string | null, bootstrapPromise: Promise<Pick<BootstrapResult, "errors">>, expectedSeats?: readonly string[] | null, opts?: {
|
|
83
|
+
existingRestore?: boolean;
|
|
84
|
+
}): void;
|
|
71
85
|
/** Read current status. Computes agents[] live from the sessions
|
|
72
86
|
* table so the response always reflects the freshest startup_status. */
|
|
73
87
|
getStatus(): KernelBootStatus;
|
|
@@ -82,6 +96,8 @@ export declare class KernelBootTracker {
|
|
|
82
96
|
/** A relaunch or `rig seat continue` adds a session row for the same node, so only each node's
|
|
83
97
|
* newest row is the seat's current startup status. */
|
|
84
98
|
private latestSessionByNode;
|
|
99
|
+
/** False when a current kernel node has no session at all, and on any read error. */
|
|
100
|
+
private everyKernelNodeHasSession;
|
|
85
101
|
/** True only when every kernel node's newest session is ready and every expected seat has such a
|
|
86
102
|
* node. A node with no session is not ready, and a member that failed before its node was
|
|
87
103
|
* created is missing. False when the expected roster is unknown, and on any read error. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-boot-tracker.d.ts","sourceRoot":"","sources":["../../src/domain/kernel-boot-tracker.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,cAAc,GACd,cAAc,GACd,SAAS,GACT,eAAe,GACf,OAAO,GACP,kBAAkB,GAClB,UAAU,CAAC;AAEf,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,aAAa,EAAE,SAAS,GAAG,OAAO,GAAG,oBAAoB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel-boot-tracker.d.ts","sourceRoot":"","sources":["../../src/domain/kernel-boot-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
// `kernel.agent.degraded` event if the kernel doesn't reach a ready / partial-
|
|
19
19
|
// ready state in time — telemetry that something is keeping the kernel
|
|
20
20
|
// stuck (auth / spec / tmux / etc.).
|
|
21
|
+
/** Reconcile marks a session whose tmux session is gone `detached`; teardown marks it `exited`. */
|
|
22
|
+
function isDownSession(session) {
|
|
23
|
+
// superseded: a launch restore rolled back. Like detached and exited, nothing of it is running.
|
|
24
|
+
return session.status === "detached" || session.status === "exited" || session.status === "superseded";
|
|
25
|
+
}
|
|
21
26
|
export class KernelBootTracker {
|
|
22
27
|
deps;
|
|
23
28
|
state = "skipped";
|
|
@@ -31,6 +36,8 @@ export class KernelBootTracker {
|
|
|
31
36
|
degradedTimer = null;
|
|
32
37
|
degradedEmitted = false;
|
|
33
38
|
bootstrapInFlight = false;
|
|
39
|
+
managedKernelLive = false;
|
|
40
|
+
existingRestore = false;
|
|
34
41
|
constructor(deps) {
|
|
35
42
|
this.deps = deps;
|
|
36
43
|
}
|
|
@@ -43,6 +50,13 @@ export class KernelBootTracker {
|
|
|
43
50
|
this.detail = detail;
|
|
44
51
|
this.firstUnreadySince = null;
|
|
45
52
|
}
|
|
53
|
+
/** The daemon skipped its boot because a kernel rig already exists with seats still running. Its
|
|
54
|
+
* status then follows those seats when they read ready or partial_ready (the same aggregation as
|
|
55
|
+
* a cold boot), instead of always `skipped`. Otherwise it stays `skipped`, as before, so a running
|
|
56
|
+
* kernel whose seats are not ready yet never newly blocks `rig start`. */
|
|
57
|
+
observeManagedKernel() {
|
|
58
|
+
this.managedKernelLive = true;
|
|
59
|
+
}
|
|
46
60
|
/** Auth-blocked terminal. Operator sees the 3-part error in detail. */
|
|
47
61
|
setAuthBlocked(message) {
|
|
48
62
|
this.cancelTimer();
|
|
@@ -59,10 +73,11 @@ export class KernelBootTracker {
|
|
|
59
73
|
}
|
|
60
74
|
/** Begin tracking an in-flight bootstrap. The bootstrap promise
|
|
61
75
|
* is awaited internally; the caller does NOT block on it. */
|
|
62
|
-
startBooting(variant, bootstrapPromise, expectedSeats) {
|
|
76
|
+
startBooting(variant, bootstrapPromise, expectedSeats, opts = {}) {
|
|
63
77
|
if (this.bootstrapInFlight)
|
|
64
78
|
return;
|
|
65
79
|
this.bootstrapInFlight = true;
|
|
80
|
+
this.existingRestore = opts.existingRestore === true;
|
|
66
81
|
this.state = "booting";
|
|
67
82
|
this.variant = variant;
|
|
68
83
|
this.detail = null;
|
|
@@ -87,6 +102,14 @@ export class KernelBootTracker {
|
|
|
87
102
|
if (state === "booting" && !this.bootstrapInFlight) {
|
|
88
103
|
kernelState = this.aggregateReadinessFromAgents(agents);
|
|
89
104
|
}
|
|
105
|
+
else if (state === "skipped" && this.managedKernelLive) {
|
|
106
|
+
const aggregated = this.aggregateReadinessFromAgents(agents);
|
|
107
|
+
// agents[] lists seats with a session; a declared seat that never launched keeps it partial.
|
|
108
|
+
if (aggregated === "ready")
|
|
109
|
+
kernelState = this.everyKernelNodeHasSession() ? "ready" : "partial_ready";
|
|
110
|
+
else if (aggregated === "partial_ready")
|
|
111
|
+
kernelState = aggregated;
|
|
112
|
+
}
|
|
90
113
|
else if ((state === "bootstrap_failed" || state === "degraded")
|
|
91
114
|
&& !this.bootstrapInFlight
|
|
92
115
|
&& this.aggregateReadinessFromAgents(agents) === "ready"
|
|
@@ -106,6 +129,7 @@ export class KernelBootTracker {
|
|
|
106
129
|
variant: this.variant,
|
|
107
130
|
detail: lastBootFailure ? null : this.detail,
|
|
108
131
|
lastBootFailure,
|
|
132
|
+
existingRestore: this.existingRestore ? (this.bootstrapInFlight ? "in_progress" : "finished") : null,
|
|
109
133
|
};
|
|
110
134
|
}
|
|
111
135
|
/** Stop the degraded timer. Safe to call from anywhere (idempotent).
|
|
@@ -148,7 +172,8 @@ export class KernelBootTracker {
|
|
|
148
172
|
// as booting so the operator sees progress, not a false ready.
|
|
149
173
|
return "booting";
|
|
150
174
|
}
|
|
151
|
-
|
|
175
|
+
// A seat whose newest session is gone keeps its last startup status; it is not ready.
|
|
176
|
+
const readyCount = agents.filter((a) => a.startupStatus === "ready" && !a.down).length;
|
|
152
177
|
if (readyCount === agents.length)
|
|
153
178
|
return "ready";
|
|
154
179
|
if (readyCount === 0)
|
|
@@ -167,6 +192,7 @@ export class KernelBootTracker {
|
|
|
167
192
|
sessionName: s.sessionName,
|
|
168
193
|
runtime: runtimeByNode.get(s.nodeId) ?? "unknown",
|
|
169
194
|
startupStatus: s.startupStatus,
|
|
195
|
+
...(isDownSession(s) ? { down: true } : {}),
|
|
170
196
|
});
|
|
171
197
|
}
|
|
172
198
|
}
|
|
@@ -191,6 +217,20 @@ export class KernelBootTracker {
|
|
|
191
217
|
}
|
|
192
218
|
return latestByNode;
|
|
193
219
|
}
|
|
220
|
+
/** False when a current kernel node has no session at all, and on any read error. */
|
|
221
|
+
everyKernelNodeHasSession() {
|
|
222
|
+
try {
|
|
223
|
+
for (const rig of this.deps.rigRepo.findUnarchivedRigsByName("kernel")) {
|
|
224
|
+
const latest = this.latestSessionByNode(rig.id);
|
|
225
|
+
if ((this.deps.rigRepo.getRig(rig.id)?.nodes ?? []).some((node) => !latest.has(node.id)))
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
194
234
|
/** True only when every kernel node's newest session is ready and every expected seat has such a
|
|
195
235
|
* node. A node with no session is not ready, and a member that failed before its node was
|
|
196
236
|
* created is missing. False when the expected roster is unknown, and on any read error. */
|
|
@@ -202,7 +242,8 @@ export class KernelBootTracker {
|
|
|
202
242
|
for (const rig of this.deps.rigRepo.findUnarchivedRigsByName("kernel")) {
|
|
203
243
|
const latest = this.latestSessionByNode(rig.id);
|
|
204
244
|
for (const node of this.deps.rigRepo.getRig(rig.id)?.nodes ?? []) {
|
|
205
|
-
|
|
245
|
+
const session = latest.get(node.id);
|
|
246
|
+
if (session?.startupStatus !== "ready" || isDownSession(session))
|
|
206
247
|
return false;
|
|
207
248
|
readySeats.add(node.logicalId);
|
|
208
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-boot-tracker.js","sourceRoot":"","sources":["../../src/domain/kernel-boot-tracker.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8DAA8D;AAC9D,EAAE;AACF,sFAAsF;AACtF,8EAA8E;AAC9E,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,EAAE;AACF,6DAA6D;AAC7D,+EAA+E;AAC/E,uEAAuE;AACvE,qCAAqC;
|
|
1
|
+
{"version":3,"file":"kernel-boot-tracker.js","sourceRoot":"","sources":["../../src/domain/kernel-boot-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,12 @@ export interface KernelBootDeps {
|
|
|
32
32
|
/** Degraded-timer override (ms). Forward-fix #3 default 90s; tests
|
|
33
33
|
* pass short values to exercise the timer path quickly. */
|
|
34
34
|
degradedTimeoutMs?: number;
|
|
35
|
+
/** Restore the existing kernel rig the way `rig up kernel --existing` does. Called only for a
|
|
36
|
+
* kernel a reboot or crash left down (see `classifyManagedKernel`); resolves to the errors that
|
|
37
|
+
* kept it from restoring, if any. Without it, an existing kernel is skipped as before. */
|
|
38
|
+
restoreLostKernel?: (rigId: string) => Promise<{
|
|
39
|
+
errors: string[];
|
|
40
|
+
}>;
|
|
35
41
|
}
|
|
36
42
|
/** Entry point. Idempotent: safe to call on every daemon startup.
|
|
37
43
|
* Returns the tracker immediately; bootstrap (if fired) runs in the
|
|
@@ -44,6 +50,21 @@ export declare function bootKernelIfNeeded(deps: KernelBootDeps): Promise<Kernel
|
|
|
44
50
|
* recovered only when every one of them is ready. null when the spec can't be read as pods with members: the
|
|
45
51
|
* tracker then keeps a failure current, because an unknown roster must never read as ready. */
|
|
46
52
|
export declare function expectedKernelSeats(specPath: string): string[] | null;
|
|
53
|
+
export type ManagedKernel = {
|
|
54
|
+
kind: "live" | "lost";
|
|
55
|
+
rigId: string;
|
|
56
|
+
seats: string[];
|
|
57
|
+
} | {
|
|
58
|
+
kind: "stopped" | "unknown";
|
|
59
|
+
};
|
|
60
|
+
/** What startup reconcile left of the existing kernel rig, from each seat's newest session:
|
|
61
|
+
* - live: some seat is still running;
|
|
62
|
+
* - lost: every seat is detached, which reconcile does to a seat whose tmux session is gone, and
|
|
63
|
+
* still bound to that session (an unclaimed seat is detached too, but its binding is cleared);
|
|
64
|
+
* - stopped: some seat was stopped on purpose (`rig down kernel` or a seat stop marks it exited);
|
|
65
|
+
* - unknown: anything else, including more than one current kernel rig or a seat with no session.
|
|
66
|
+
* Only `lost` is restored, so a deliberate stop survives daemon restarts. */
|
|
67
|
+
export declare function classifyManagedKernel(rigRepo: RigRepository, sessionRegistry: SessionRegistry): ManagedKernel;
|
|
47
68
|
/** True when a rig named `kernel` already exists in the DB. */
|
|
48
69
|
export declare function kernelAlreadyManaged(rigRepo: RigRepository): boolean;
|
|
49
70
|
/** Choose a rig variant from the auth probe. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-boot.d.ts","sourceRoot":"","sources":["../../src/domain/kernel-boot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kernel-boot.d.ts","sourceRoot":"","sources":["../../src/domain/kernel-boot.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
// and fires the in-process bootstrap pipeline IN THE BACKGROUND.
|
|
6
6
|
// Short-circuits cleanly when:
|
|
7
7
|
// - OPENRIG_NO_KERNEL=1 is set (operator opt-out / test fixture)
|
|
8
|
-
// - A managed rig named `kernel` already exists in the DB
|
|
8
|
+
// - A managed rig named `kernel` already exists in the DB (restored instead when a reboot or
|
|
9
|
+
// crash left it down; see classifyManagedKernel)
|
|
9
10
|
// - Both runtimes are unauthenticated (auth_blocked terminal state)
|
|
10
11
|
// - The selected variant's spec file is missing
|
|
11
12
|
//
|
|
@@ -55,8 +56,18 @@ export async function bootKernelIfNeeded(deps) {
|
|
|
55
56
|
// (e.g., from a prior boot or operator-migrated substrate kernel),
|
|
56
57
|
// the builtin path stays out of the way.
|
|
57
58
|
if (kernelAlreadyManaged(deps.rigRepo)) {
|
|
58
|
-
|
|
59
|
+
const managed = classifyManagedKernel(deps.rigRepo, deps.sessionRegistry);
|
|
60
|
+
if (managed.kind === "lost" && deps.restoreLostKernel) {
|
|
61
|
+
// Startup reconcile found none of its seats running and marked them detached: a reboot or
|
|
62
|
+
// crash took it down, not `rig down` (which marks them exited). Bring it back as it was.
|
|
63
|
+
log("info", "kernel-boot: kernel rig was lost (all seats detached); restoring it");
|
|
64
|
+
tracker.startBooting(null, deps.restoreLostKernel(managed.rigId), managed.seats, { existingRestore: true });
|
|
65
|
+
return tracker;
|
|
66
|
+
}
|
|
67
|
+
log("info", `kernel-boot: kernel rig already managed (${managed.kind}); skipping builtin boot`);
|
|
59
68
|
tracker.setSkipped("kernel rig already managed");
|
|
69
|
+
if (managed.kind === "live")
|
|
70
|
+
tracker.observeManagedKernel();
|
|
60
71
|
return tracker;
|
|
61
72
|
}
|
|
62
73
|
// 3. Probe runtime auth state to pick a variant.
|
|
@@ -110,6 +121,50 @@ export function expectedKernelSeats(specPath) {
|
|
|
110
121
|
return null;
|
|
111
122
|
}
|
|
112
123
|
}
|
|
124
|
+
/** What startup reconcile left of the existing kernel rig, from each seat's newest session:
|
|
125
|
+
* - live: some seat is still running;
|
|
126
|
+
* - lost: every seat is detached, which reconcile does to a seat whose tmux session is gone, and
|
|
127
|
+
* still bound to that session (an unclaimed seat is detached too, but its binding is cleared);
|
|
128
|
+
* - stopped: some seat was stopped on purpose (`rig down kernel` or a seat stop marks it exited);
|
|
129
|
+
* - unknown: anything else, including more than one current kernel rig or a seat with no session.
|
|
130
|
+
* Only `lost` is restored, so a deliberate stop survives daemon restarts. */
|
|
131
|
+
export function classifyManagedKernel(rigRepo, sessionRegistry) {
|
|
132
|
+
try {
|
|
133
|
+
const rigs = rigRepo.findUnarchivedRigsByName("kernel");
|
|
134
|
+
if (rigs.length !== 1)
|
|
135
|
+
return { kind: "unknown" };
|
|
136
|
+
const rigId = rigs[0].id;
|
|
137
|
+
const nodes = rigRepo.getRig(rigId)?.nodes ?? [];
|
|
138
|
+
if (nodes.length === 0)
|
|
139
|
+
return { kind: "unknown" };
|
|
140
|
+
const latest = new Map();
|
|
141
|
+
for (const session of sessionRegistry.getSessionsForRig(rigId)) {
|
|
142
|
+
const prior = latest.get(session.nodeId);
|
|
143
|
+
if (!prior || session.createdAt > prior.createdAt || (session.createdAt === prior.createdAt && session.id > prior.id)) {
|
|
144
|
+
latest.set(session.nodeId, session);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const statuses = nodes.map((node) => latest.get(node.id)?.status ?? null);
|
|
148
|
+
const seats = nodes.map((node) => node.logicalId);
|
|
149
|
+
if (statuses.some((status) => status === "running"))
|
|
150
|
+
return { kind: "live", rigId, seats };
|
|
151
|
+
// Reconcile leaves a lost seat's binding in place; unclaiming a seat (which also marks it
|
|
152
|
+
// detached) clears it and releases ownership. Only seats still bound to their newest session are
|
|
153
|
+
// the daemon's to bring back.
|
|
154
|
+
const stillBound = nodes.every((node) => {
|
|
155
|
+
const session = latest.get(node.id);
|
|
156
|
+
return !!session && sessionRegistry.getBindingForNode(node.id)?.tmuxSession === session.sessionName;
|
|
157
|
+
});
|
|
158
|
+
if (statuses.every((status) => status === "detached") && stillBound)
|
|
159
|
+
return { kind: "lost", rigId, seats };
|
|
160
|
+
if (statuses.some((status) => status === "exited"))
|
|
161
|
+
return { kind: "stopped" };
|
|
162
|
+
return { kind: "unknown" };
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return { kind: "unknown" };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
113
168
|
/** True when a rig named `kernel` already exists in the DB. */
|
|
114
169
|
export function kernelAlreadyManaged(rigRepo) {
|
|
115
170
|
const rigs = rigRepo.listRigs();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-boot.js","sourceRoot":"","sources":["../../src/domain/kernel-boot.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,iEAAiE;AACjE,+BAA+B;AAC/B,mEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"kernel-boot.js","sourceRoot":"","sources":["../../src/domain/kernel-boot.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ export interface ClaudeOccupantRecordInput {
|
|
|
37
37
|
evidence: {
|
|
38
38
|
registeredPane: string | null;
|
|
39
39
|
observedPid: number | null;
|
|
40
|
+
observedPanePid?: number | null;
|
|
40
41
|
};
|
|
41
42
|
} | null;
|
|
42
43
|
sidecar: {
|
|
@@ -62,7 +63,7 @@ export type ClaudeRecordSelection = {
|
|
|
62
63
|
export declare function paneClaudeSessionIdArgument(sessionTarget: string, deps: Pick<CurrentGenerationDeps, "getPanePid" | "listProcesses">): Promise<CurrentRecordResolution>;
|
|
63
64
|
/**
|
|
64
65
|
* Resolve a Claude record only after the canonical seat's current occupant is joined to its
|
|
65
|
-
* registered pane and the pane's
|
|
66
|
+
* registered pane and the pane's root and matched process still match the durable identity verdict. The pane's launch
|
|
66
67
|
* argument is the legacy identity anchor. A generation-stamped sidecar may supersede it after a
|
|
67
68
|
* provider-internal session rollover; an unstamped sidecar may locate files but cannot override it.
|
|
68
69
|
*/
|