@openrig/cli 0.5.8 → 0.5.10
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/daemon/assets/claude-statusline-context.cjs +1 -0
- package/daemon/assets/plugins/openrig-core/README.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +92 -0
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +79 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +48 -61
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +19 -5
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +37 -16
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +11 -179
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +88 -28
- package/daemon/context-packs/skills/agent-operated-software/SKILL.md +92 -0
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +10 -0
- package/daemon/context-packs/skills/agent-operated-workflows/SKILL.md +79 -0
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +10 -0
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- 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/SKILL.md +21 -6
- 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 +48 -61
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +3 -3
- 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 +4 -2
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +81 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +3 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
- 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 +2 -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/SKILL.md +19 -5
- 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 +37 -16
- 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 +40 -139
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -3
- package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +40 -60
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +3 -3
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +34 -31
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +3 -3
- 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/SKILL.md +6 -8
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- 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/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/SKILL.md +11 -179
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +3 -3
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/your-world.md +1 -1
- package/daemon/context-packs/world-public/build-your-world.md +19 -0
- package/daemon/context-packs/world-public/claims.yaml +5 -1
- package/daemon/context-packs/world-public/manifest.yaml +40 -1
- package/daemon/context-packs/world-public/verify-world.sh +25 -9
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +4 -2
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +3 -1
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
- package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
- package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
- package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
- package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
- package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +6 -1
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +47 -0
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-skills-router.js +5 -1
- package/daemon/dist/domain/bundle-skills-router.js.map +1 -1
- package/daemon/dist/domain/claim-service.d.ts +2 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +33 -12
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
- package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/profile-composer.js +105 -40
- package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts +4 -0
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +8 -4
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
- package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-conductor.js +3 -1
- package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +145 -16
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/channel-operations.js +35 -0
- package/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
- package/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-readiness.js +44 -0
- package/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +2 -7
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +35 -12
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.js +28 -1
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
- package/daemon/dist/domain/health-checkpoints.d.ts +57 -0
- package/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
- package/daemon/dist/domain/health-checkpoints.js +198 -0
- package/daemon/dist/domain/health-checkpoints.js.map +1 -0
- package/daemon/dist/domain/health-context.d.ts +14 -0
- package/daemon/dist/domain/health-context.d.ts.map +1 -0
- package/daemon/dist/domain/health-context.js +93 -0
- package/daemon/dist/domain/health-context.js.map +1 -0
- package/daemon/dist/domain/health-detectors.d.ts +106 -0
- package/daemon/dist/domain/health-detectors.d.ts.map +1 -0
- package/daemon/dist/domain/health-detectors.js +392 -0
- package/daemon/dist/domain/health-detectors.js.map +1 -0
- package/daemon/dist/domain/health-diagnosis.d.ts +143 -0
- package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
- package/daemon/dist/domain/health-diagnosis.js +249 -0
- package/daemon/dist/domain/health-diagnosis.js.map +1 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
- package/daemon/dist/domain/health-passive-ceremony.js +234 -0
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
- package/daemon/dist/domain/health-policy.d.ts +45 -0
- package/daemon/dist/domain/health-policy.d.ts.map +1 -0
- package/daemon/dist/domain/health-policy.js +89 -0
- package/daemon/dist/domain/health-policy.js.map +1 -0
- package/daemon/dist/domain/health-projection.d.ts +237 -0
- package/daemon/dist/domain/health-projection.d.ts.map +1 -0
- package/daemon/dist/domain/health-projection.js +312 -0
- package/daemon/dist/domain/health-projection.js.map +1 -0
- package/daemon/dist/domain/instance-initialization.d.ts +25 -0
- package/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
- package/daemon/dist/domain/instance-initialization.js +81 -0
- package/daemon/dist/domain/instance-initialization.js.map +1 -0
- package/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
- package/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
- package/daemon/dist/domain/lifecycle-manifest.js +73 -0
- package/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/native-process-lineage.d.ts +10 -0
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
- package/daemon/dist/domain/native-process-lineage.js +86 -0
- package/daemon/dist/domain/native-process-lineage.js.map +1 -0
- package/daemon/dist/domain/native-resume-probe.js +12 -1
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +2 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +4 -1
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +3 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +21 -8
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
- package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
- package/daemon/dist/domain/pane-binding-observation.js +54 -0
- package/daemon/dist/domain/pane-binding-observation.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +12 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +60 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
- package/daemon/dist/domain/project-lifecycle-compiler.js +219 -0
- package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
- package/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
- package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
- package/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
- package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +19 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +66 -5
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-retention.d.ts +3 -4
- package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/daemon/dist/domain/queue-retention.js +5 -8
- package/daemon/dist/domain/queue-retention.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +33 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +152 -0
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
- package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wait-backoff.js +96 -0
- package/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +8 -3
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
- package/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
- package/daemon/dist/domain/restore-attempt-receipt.js +59 -0
- package/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +152 -26
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-topology.d.ts +14 -0
- package/daemon/dist/domain/restore-topology.d.ts.map +1 -0
- package/daemon/dist/domain/restore-topology.js +27 -0
- package/daemon/dist/domain/restore-topology.js.map +1 -0
- package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-lifecycle-service.js +9 -0
- package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +65 -1
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +4 -0
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +97 -46
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +15 -6
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +525 -29
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +8 -1
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +19 -0
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/skill-catalog.d.ts +81 -0
- package/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
- package/daemon/dist/domain/skill-catalog.js +827 -0
- package/daemon/dist/domain/skill-catalog.js.map +1 -0
- package/daemon/dist/domain/skill-discovery.d.ts +3 -0
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +1 -1
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts +4 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +38 -2
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/snapshot-repository.d.ts +15 -1
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +103 -1
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +12 -0
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/system-world.d.ts +45 -0
- package/daemon/dist/domain/system-world.d.ts.map +1 -0
- package/daemon/dist/domain/system-world.js +123 -0
- package/daemon/dist/domain/system-world.js.map +1 -0
- package/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
- package/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
- package/daemon/dist/domain/telemetry-state-paths.js +20 -0
- package/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
- package/daemon/dist/domain/types.d.ts +106 -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-store.d.ts +16 -3
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +137 -41
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +5 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +44 -226
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.js +20 -6
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
- package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-instance-store.js +127 -2
- package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
- package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
- package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
- package/daemon/dist/domain/workflow-projector.d.ts +30 -2
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +375 -14
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +62 -2
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +391 -28
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +10 -2
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +101 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workflow-types.d.ts +46 -1
- package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-types.js.map +1 -1
- package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-validator.js +38 -3
- package/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
- package/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
- package/daemon/dist/gateway-human-registry-surface.js +1 -0
- package/daemon/dist/gateway-human-registry-surface.js.map +1 -1
- package/daemon/dist/gateway-slack-surface.d.ts +1 -0
- package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
- package/daemon/dist/gateway-slack-surface.js +1 -0
- package/daemon/dist/gateway-slack-surface.js.map +1 -1
- package/daemon/dist/health-detectors-surface.d.ts +2 -0
- package/daemon/dist/health-detectors-surface.d.ts.map +1 -0
- package/daemon/dist/health-detectors-surface.js +2 -0
- package/daemon/dist/health-detectors-surface.js.map +1 -0
- package/daemon/dist/health-projection-surface.d.ts +2 -0
- package/daemon/dist/health-projection-surface.d.ts.map +1 -0
- package/daemon/dist/health-projection-surface.js +2 -0
- package/daemon/dist/health-projection-surface.js.map +1 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +15 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/instance-initialization-surface.d.ts +3 -0
- package/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
- package/daemon/dist/instance-initialization-surface.js +3 -0
- package/daemon/dist/instance-initialization-surface.js.map +1 -0
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/daemon/dist/lib/pane-envelope.js +4 -1
- package/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/daemon/dist/project-lifecycle-surface.d.ts +3 -0
- package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
- package/daemon/dist/project-lifecycle-surface.js +3 -0
- package/daemon/dist/project-lifecycle-surface.js.map +1 -0
- package/daemon/dist/routes/bundles.js +10 -9
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +27 -49
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/daemon/dist/routes/context-packs.js +114 -16
- package/daemon/dist/routes/context-packs.js.map +1 -1
- package/daemon/dist/routes/crash-cart.js +3 -0
- package/daemon/dist/routes/crash-cart.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +5 -1
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +70 -22
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/health-diagnosis.d.ts +3 -0
- package/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
- package/daemon/dist/routes/health-diagnosis.js +47 -0
- package/daemon/dist/routes/health-diagnosis.js.map +1 -0
- package/daemon/dist/routes/health.d.ts +3 -0
- package/daemon/dist/routes/health.d.ts.map +1 -0
- package/daemon/dist/routes/health.js +50 -0
- package/daemon/dist/routes/health.js.map +1 -0
- package/daemon/dist/routes/hosts.d.ts +2 -0
- package/daemon/dist/routes/hosts.d.ts.map +1 -1
- package/daemon/dist/routes/hosts.js +12 -5
- package/daemon/dist/routes/hosts.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +20 -0
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.js +12 -1
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +9 -2
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.js +21 -1
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +16 -6
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/snapshots.d.ts.map +1 -1
- package/daemon/dist/routes/snapshots.js +41 -3
- package/daemon/dist/routes/snapshots.js.map +1 -1
- package/daemon/dist/routes/up.js +12 -1
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/daemon/dist/routes/watchdog.js +7 -6
- package/daemon/dist/routes/watchdog.js.map +1 -1
- package/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/daemon/dist/routes/workflow.js +104 -39
- package/daemon/dist/routes/workflow.js.map +1 -1
- package/daemon/dist/server.d.ts +10 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +9 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/skill-loadout-surface.d.ts +3 -0
- package/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
- package/daemon/dist/skill-loadout-surface.js +2 -0
- package/daemon/dist/skill-loadout-surface.js.map +1 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +101 -66
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/dist/system-world-surface.d.ts +2 -0
- package/daemon/dist/system-world-surface.d.ts.map +1 -0
- package/daemon/dist/system-world-surface.js +2 -0
- package/daemon/dist/system-world-surface.js.map +1 -0
- package/daemon/docs/reference/getting-started.md +2 -1
- package/daemon/docs/reference/health-diagnosis.md +305 -0
- package/daemon/docs/reference/instance-layout.md +106 -0
- package/daemon/docs/reference/mission-install.md +12 -2
- package/daemon/docs/reference/product-journey-sdlc.md +53 -15
- package/daemon/docs/reference/project-workspace.md +66 -40
- package/daemon/docs/reference/sdlc-conventions.md +6 -4
- package/daemon/specs/agents/development/implementer/agent.yaml +1 -9
- package/daemon/specs/agents/development/implementer/guidance/role.md +21 -43
- package/daemon/specs/agents/development/qa/agent.yaml +2 -11
- package/daemon/specs/agents/development/qa/guidance/role.md +21 -73
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -9
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +25 -72
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -9
- package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +20 -35
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +21 -6
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +48 -61
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -2
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +81 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +40 -139
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +40 -60
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +34 -31
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +6 -8
- package/daemon/specs/rigs/launch/demo/CULTURE.md +21 -30
- package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +3 -3
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +26 -71
- package/dist/build-info.js +3 -3
- package/dist/commands/config-init-workspace.d.ts +4 -23
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +14 -576
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +7 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +114 -8
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +16 -0
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/gateway.d.ts +17 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +99 -13
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.d.ts +12 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +351 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +2 -0
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +51 -4
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/queue.d.ts +18 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +62 -0
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +43 -3
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +169 -79
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +30 -0
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +4 -1
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +61 -0
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +39 -11
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +4 -2
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +3 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +3 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +3 -0
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/workflow-render.d.ts +31 -0
- package/dist/commands/workflow-render.d.ts.map +1 -1
- package/dist/commands/workflow-render.js +84 -6
- package/dist/commands/workflow-render.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +98 -8
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config-store.d.ts +17 -4
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +139 -44
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +13 -16
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +28 -33
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/mission-composition.d.ts +16 -0
- package/dist/lib/scope/mission-composition.d.ts.map +1 -0
- package/dist/lib/scope/mission-composition.js +110 -0
- package/dist/lib/scope/mission-composition.js.map +1 -0
- package/dist/lib/scope/scope-fs.d.ts +5 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +36 -6
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/work-install.d.ts +17 -0
- package/dist/lib/work-install.d.ts.map +1 -1
- package/dist/lib/work-install.js +49 -6
- package/dist/lib/work-install.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +4 -2
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js +3 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
- package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
- package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +6 -1
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +47 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
- package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js +5 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claim-service.js +33 -12
- package/node_modules/@openrig/daemon/dist/domain/claim-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +105 -40
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +8 -4
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +3 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +145 -16
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js +44 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +2 -7
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +35 -12
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +28 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts +57 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js +198 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.js +93 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +106 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +392 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +143 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +249 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +234 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.js +89 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +237 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.js +312 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts +25 -0
- package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js +81 -0
- package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js +73 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js +86 -0
- package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +12 -1
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +4 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-launcher.js +21 -8
- package/node_modules/@openrig/daemon/dist/domain/node-launcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
- package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js +54 -0
- package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +12 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +60 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +219 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
- package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +19 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +66 -5
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts +3 -4
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +5 -8
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +33 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +152 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +96 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +8 -3
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js +59 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +152 -26
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-topology.js +27 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-topology.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +65 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +97 -46
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +15 -6
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +525 -29
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts +8 -1
- package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-registry.js +19 -0
- package/node_modules/@openrig/daemon/dist/domain/session-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts +81 -0
- package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js +827 -0
- package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts +4 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +38 -2
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts +15 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js +103 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +12 -0
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/system-world.js +123 -0
- package/node_modules/@openrig/daemon/dist/domain/system-world.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js +20 -0
- package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +106 -4
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +16 -3
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +137 -41
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +5 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +44 -226
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +20 -6
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +127 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
- package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
- package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +30 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +375 -14
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +62 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +391 -28
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +10 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +101 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +46 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +38 -3
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +15 -0
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js +3 -0
- package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +4 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js +3 -0
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/bundles.js +10 -9
- package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js +27 -49
- package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js +114 -16
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +3 -0
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +5 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +70 -22
- package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js +47 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/health.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health.js +50 -0
- package/node_modules/@openrig/daemon/dist/routes/health.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/hosts.js +12 -5
- package/node_modules/@openrig/daemon/dist/routes/hosts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +20 -0
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +12 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js +9 -2
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +21 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js +16 -6
- package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/snapshots.js +41 -3
- package/node_modules/@openrig/daemon/dist/routes/snapshots.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +12 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js +7 -6
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/workflow.js +104 -39
- package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +9 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +101 -66
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/system-world-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/system-world-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/package.json +25 -1
- package/package.json +1 -1
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +10 -1
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +13 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +19 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/demo-data.d.ts.map +1 -1
- package/tui/dist/demo-data.js +65 -9
- package/tui/dist/demo-data.js.map +1 -1
- package/tui/dist/detail.d.ts +9 -0
- package/tui/dist/detail.d.ts.map +1 -1
- package/tui/dist/detail.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts +8 -2
- package/tui/dist/execution/execution-model.d.ts.map +1 -1
- package/tui/dist/execution/execution-model.js +482 -119
- package/tui/dist/execution/execution-model.js.map +1 -1
- package/tui/dist/health/health-model.d.ts +25 -0
- package/tui/dist/health/health-model.d.ts.map +1 -0
- package/tui/dist/health/health-model.js +322 -0
- package/tui/dist/health/health-model.js.map +1 -0
- package/tui/dist/hydrate.d.ts +3 -2
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +77 -8
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts +6 -1
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +22 -10
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/main.js +39 -8
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/navigator.d.ts.map +1 -1
- package/tui/dist/navigator.js +10 -6
- package/tui/dist/navigator.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +617 -155
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts +14 -8
- package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
- package/tui/dist/scopes/scopes-model.js +218 -46
- package/tui/dist/scopes/scopes-model.js.map +1 -1
- package/tui/dist/socket-server.d.ts +13 -0
- package/tui/dist/socket-server.d.ts.map +1 -1
- package/tui/dist/socket-server.js +24 -0
- package/tui/dist/socket-server.js.map +1 -1
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +31 -11
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/stylize.d.ts.map +1 -1
- package/tui/dist/stylize.js +22 -28
- package/tui/dist/stylize.js.map +1 -1
- package/tui/dist/theme.d.ts +1 -1
- package/tui/dist/theme.d.ts.map +1 -1
- package/tui/dist/theme.js +5 -4
- package/tui/dist/theme.js.map +1 -1
- package/tui/dist/types.d.ts +186 -1
- package/tui/dist/types.d.ts.map +1 -1
- package/tui/dist/visual-layout.d.ts +6 -0
- package/tui/dist/visual-layout.d.ts.map +1 -0
- package/tui/dist/visual-layout.js +8 -0
- package/tui/dist/visual-layout.js.map +1 -0
- package/ui/dist/assets/{index-B_wqzP0D.js → index-wyX378xb.js} +15 -15
- package/ui/dist/index.html +1 -1
|
@@ -11,7 +11,7 @@ import type { ClaudeResumeAdapter } from "../adapters/claude-resume.js";
|
|
|
11
11
|
import type { CodexResumeAdapter } from "../adapters/codex-resume.js";
|
|
12
12
|
import type { PiResumeAdapter } from "../adapters/pi-resume.js";
|
|
13
13
|
import type { TranscriptStore } from "./transcript-store.js";
|
|
14
|
-
import type { RestoreOutcome, RestoreRigResult, RestoreNodeResult } from "./types.js";
|
|
14
|
+
import type { RestoreOutcome, RestoreRigResult, RestoreNodeResult, RestoreSnapshotSelection } from "./types.js";
|
|
15
15
|
export type ReconcileNodeResult = {
|
|
16
16
|
ok: true;
|
|
17
17
|
attemptId: number;
|
|
@@ -25,7 +25,7 @@ export type ReconcileNodeResult = {
|
|
|
25
25
|
};
|
|
26
26
|
} | {
|
|
27
27
|
ok: false;
|
|
28
|
-
code: "node_not_found" | "no_attempt" | "outcome_not_upgradable" | "tmux_session_missing" | "fg_process_not_runtime" | "resume_token_not_used" | "pane_not_usable";
|
|
28
|
+
code: "node_not_found" | "no_attempt" | "outcome_not_upgradable" | "tmux_session_missing" | "binding_mismatch" | "process_lineage_mismatch" | "fg_process_not_runtime" | "resume_token_not_used" | "pane_not_usable";
|
|
29
29
|
detail: string;
|
|
30
30
|
};
|
|
31
31
|
export { resolveActiveSnapshotSession } from "./active-occupant.js";
|
|
@@ -38,6 +38,44 @@ export declare const NON_RUNNING_LAUNCH_STATUSES: ReadonlySet<string>;
|
|
|
38
38
|
/** True when a restore/launch status means a session is actually running (a real
|
|
39
39
|
* successful launch): resumed / rebuilt / fresh / fresh-primed / operator_recovered. */
|
|
40
40
|
export declare function launchStatusIsRunning(status: string): boolean;
|
|
41
|
+
export interface NarrowLaunchResult {
|
|
42
|
+
ok: boolean;
|
|
43
|
+
planOnly?: boolean;
|
|
44
|
+
code?: string;
|
|
45
|
+
message?: string;
|
|
46
|
+
launched?: RestoreNodeResult[];
|
|
47
|
+
held?: Array<{
|
|
48
|
+
nodeId: string;
|
|
49
|
+
logicalId: string;
|
|
50
|
+
reason: string;
|
|
51
|
+
}>;
|
|
52
|
+
alreadyRunning?: Array<{
|
|
53
|
+
nodeId: string;
|
|
54
|
+
logicalId: string;
|
|
55
|
+
}>;
|
|
56
|
+
failedTargets?: Array<{
|
|
57
|
+
nodeId: string;
|
|
58
|
+
logicalId: string;
|
|
59
|
+
reason: string;
|
|
60
|
+
}>;
|
|
61
|
+
targetNodes?: Array<{
|
|
62
|
+
nodeId: string;
|
|
63
|
+
logicalId: string;
|
|
64
|
+
}>;
|
|
65
|
+
unmatchedIds?: string[];
|
|
66
|
+
warnings?: string[];
|
|
67
|
+
snapshotSelection?: RestoreSnapshotSelection;
|
|
68
|
+
nonTargetEffects?: {
|
|
69
|
+
mode: "unchanged" | "detach_and_hold";
|
|
70
|
+
reason: string | null;
|
|
71
|
+
affected: Array<{
|
|
72
|
+
nodeId: string;
|
|
73
|
+
logicalId: string;
|
|
74
|
+
reason: string;
|
|
75
|
+
}>;
|
|
76
|
+
condition?: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
41
79
|
interface RestoreOrchestratorDeps {
|
|
42
80
|
db: Database.Database;
|
|
43
81
|
rigRepo: RigRepository;
|
|
@@ -92,6 +130,9 @@ export declare class RestoreOrchestrator {
|
|
|
92
130
|
* resume-policy seats STOP as `awaiting-decision` instead.
|
|
93
131
|
*/
|
|
94
132
|
freshLogicalIds?: string[];
|
|
133
|
+
/** Selection evidence from an automatic caller. Direct restore defaults
|
|
134
|
+
* to explicit because its public door names the snapshot id. */
|
|
135
|
+
snapshotSelection?: RestoreSnapshotSelection;
|
|
95
136
|
/**
|
|
96
137
|
* L3: fired with the persisted `restore.started` event seq as soon as the
|
|
97
138
|
* orchestrator commits to running per-node restore. Routes use this to
|
|
@@ -106,28 +147,20 @@ export declare class RestoreOrchestrator {
|
|
|
106
147
|
exists(path: string): boolean;
|
|
107
148
|
};
|
|
108
149
|
holdReason?: string;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
failedTargets?: Array<{
|
|
124
|
-
nodeId: string;
|
|
125
|
-
logicalId: string;
|
|
126
|
-
reason: string;
|
|
127
|
-
}>;
|
|
128
|
-
unmatchedIds?: string[];
|
|
129
|
-
warnings?: string[];
|
|
130
|
-
}>;
|
|
150
|
+
snapshotId?: string;
|
|
151
|
+
}): Promise<NarrowLaunchResult>;
|
|
152
|
+
planNodeSubset(rigId: string, logicalIds: string[], opts?: {
|
|
153
|
+
holdReason?: string;
|
|
154
|
+
snapshotId?: string;
|
|
155
|
+
}): NarrowLaunchResult;
|
|
156
|
+
launchSingleNode(rigId: string, logicalId: string, opts?: {
|
|
157
|
+
adapters?: Record<string, import("./runtime-adapter.js").RuntimeAdapter>;
|
|
158
|
+
fsOps?: {
|
|
159
|
+
exists(path: string): boolean;
|
|
160
|
+
};
|
|
161
|
+
snapshotId?: string;
|
|
162
|
+
}): Promise<NarrowLaunchResult>;
|
|
163
|
+
private launchNodeTargets;
|
|
131
164
|
private validatePreRestore;
|
|
132
165
|
private pathLike;
|
|
133
166
|
private captureNodeState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore-orchestrator.d.ts","sourceRoot":"","sources":["../../src/domain/restore-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAGhB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"restore-orchestrator.d.ts","sourceRoot":"","sources":["../../src/domain/restore-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { resolvePermissionPolicyAttachment } from "./permission-policy/policy-re
|
|
|
4
4
|
import { assessNativeResumeProbe } from "./native-resume-probe.js";
|
|
5
5
|
import { AppliedLaunchObservationStore } from "./applied-launch-observation-store.js";
|
|
6
6
|
import { rebindAndVerifyPaneIdentity } from "./seat-attention-reconciler.js";
|
|
7
|
+
import { resolveSnapshotRestoreTopology } from "./restore-topology.js";
|
|
7
8
|
// Only these edge kinds constrain launch order
|
|
8
9
|
const LAUNCH_DEPENDENCY_KINDS = new Set(["delegates_to", "spawned_by"]);
|
|
9
10
|
// OPR.0.5.7.1 consumer alignment: the four-way active-occupant ladder lives
|
|
@@ -105,6 +106,10 @@ export class RestoreOrchestrator {
|
|
|
105
106
|
if (!rig) {
|
|
106
107
|
return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
|
|
107
108
|
}
|
|
109
|
+
const selectionOutcome = opts?.snapshotSelection ? null : this.snapshotRepo.selectRestoreUsable(rigId, snapshotId);
|
|
110
|
+
if (selectionOutcome && !selectionOutcome.ok)
|
|
111
|
+
return selectionOutcome;
|
|
112
|
+
const snapshotSelection = opts?.snapshotSelection ?? selectionOutcome?.selection;
|
|
108
113
|
// Classify DB-running sessions against tmux reality WITHOUT mutating DB.
|
|
109
114
|
// This determines whether the rig is safe to restore before any state
|
|
110
115
|
// changes occur — critical for pre_restore snapshot ordering (snapshot
|
|
@@ -124,6 +129,7 @@ export class RestoreOrchestrator {
|
|
|
124
129
|
servicesRecord: this.rigRepo.getServicesRecord(rigId),
|
|
125
130
|
freshLogicalIds: opts?.freshLogicalIds,
|
|
126
131
|
});
|
|
132
|
+
const topology = resolveSnapshotRestoreTopology(snapshot.data);
|
|
127
133
|
if (validation.blockers.length > 0) {
|
|
128
134
|
const result = {
|
|
129
135
|
snapshotId,
|
|
@@ -132,6 +138,9 @@ export class RestoreOrchestrator {
|
|
|
132
138
|
nodes: [],
|
|
133
139
|
warnings: validation.warnings,
|
|
134
140
|
blockers: validation.blockers,
|
|
141
|
+
snapshotSelection,
|
|
142
|
+
intendedRoster: topology.intendedRoster,
|
|
143
|
+
excludedNodes: topology.excludedNodes,
|
|
135
144
|
};
|
|
136
145
|
return {
|
|
137
146
|
ok: false,
|
|
@@ -150,7 +159,14 @@ export class RestoreOrchestrator {
|
|
|
150
159
|
}
|
|
151
160
|
// 3. Emit restore.started — the persisted event seq IS the attempt id
|
|
152
161
|
// (Decision 1: no separate restore_attempts table).
|
|
153
|
-
const restoreStartedEvent = this.eventBus.emit({
|
|
162
|
+
const restoreStartedEvent = this.eventBus.emit({
|
|
163
|
+
type: "restore.started",
|
|
164
|
+
rigId,
|
|
165
|
+
snapshotId,
|
|
166
|
+
snapshotSelection,
|
|
167
|
+
intendedRoster: topology.intendedRoster,
|
|
168
|
+
excludedNodes: topology.excludedNodes,
|
|
169
|
+
});
|
|
154
170
|
const attemptId = restoreStartedEvent.seq;
|
|
155
171
|
try {
|
|
156
172
|
opts?.onAttemptStarted?.(attemptId);
|
|
@@ -165,7 +181,21 @@ export class RestoreOrchestrator {
|
|
|
165
181
|
if (svcRecord) {
|
|
166
182
|
const bootResult = await this.serviceOrchestrator.boot(rigId);
|
|
167
183
|
if (!bootResult.ok) {
|
|
168
|
-
this.eventBus.emit({
|
|
184
|
+
this.eventBus.emit({
|
|
185
|
+
type: "restore.completed",
|
|
186
|
+
rigId,
|
|
187
|
+
snapshotId,
|
|
188
|
+
result: {
|
|
189
|
+
snapshotId,
|
|
190
|
+
preRestoreSnapshotId: preRestoreSnapshot.id,
|
|
191
|
+
rigResult: "failed",
|
|
192
|
+
nodes: [],
|
|
193
|
+
warnings: [`Service boot failed: ${bootResult.error}`],
|
|
194
|
+
snapshotSelection,
|
|
195
|
+
intendedRoster: topology.intendedRoster,
|
|
196
|
+
excludedNodes: topology.excludedNodes,
|
|
197
|
+
},
|
|
198
|
+
});
|
|
169
199
|
return { ok: false, code: "service_boot_failed", message: `Service boot failed before agent restore: ${bootResult.error}` };
|
|
170
200
|
}
|
|
171
201
|
}
|
|
@@ -185,6 +215,9 @@ export class RestoreOrchestrator {
|
|
|
185
215
|
rigResult: rollupRestoreRigResult(nodeResults),
|
|
186
216
|
nodes: nodeResults,
|
|
187
217
|
warnings: restoreWarnings,
|
|
218
|
+
snapshotSelection,
|
|
219
|
+
intendedRoster: topology.intendedRoster,
|
|
220
|
+
excludedNodes: topology.excludedNodes,
|
|
188
221
|
};
|
|
189
222
|
// 7. Emit restore.completed
|
|
190
223
|
this.eventBus.emit({ type: "restore.completed", rigId, snapshotId, result: restoreResult });
|
|
@@ -202,19 +235,60 @@ export class RestoreOrchestrator {
|
|
|
202
235
|
}
|
|
203
236
|
}
|
|
204
237
|
async launchNodeSubset(rigId, logicalIds, opts) {
|
|
238
|
+
return this.launchNodeTargets(rigId, logicalIds, { ...opts, nonTargetMode: "detach_and_hold" });
|
|
239
|
+
}
|
|
240
|
+
planNodeSubset(rigId, logicalIds, opts) {
|
|
241
|
+
const rig = this.rigRepo.getRig(rigId);
|
|
242
|
+
if (!rig)
|
|
243
|
+
return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
|
|
244
|
+
const selected = this.snapshotRepo.selectRestoreUsable(rigId, opts?.snapshotId);
|
|
245
|
+
if (!selected.ok)
|
|
246
|
+
return selected;
|
|
247
|
+
const intendedNodes = resolveSnapshotRestoreTopology(selected.snapshot.data).intendedNodes;
|
|
248
|
+
const targetIds = new Set(intendedNodes.filter((node) => logicalIds.includes(node.logicalId)).map((node) => node.logicalId));
|
|
249
|
+
if (targetIds.size === 0) {
|
|
250
|
+
return { ok: false, code: "no_matching_nodes", message: `No nodes match logical ids: ${logicalIds.join(", ")}` };
|
|
251
|
+
}
|
|
252
|
+
const reason = opts?.holdReason ?? "excluded_from_subset";
|
|
253
|
+
return {
|
|
254
|
+
ok: true,
|
|
255
|
+
planOnly: true,
|
|
256
|
+
snapshotSelection: selected.selection,
|
|
257
|
+
targetNodes: intendedNodes
|
|
258
|
+
.filter((node) => targetIds.has(node.logicalId))
|
|
259
|
+
.map((node) => ({ nodeId: node.id, logicalId: node.logicalId })),
|
|
260
|
+
unmatchedIds: logicalIds.filter((logicalId) => !targetIds.has(logicalId)),
|
|
261
|
+
nonTargetEffects: {
|
|
262
|
+
mode: "detach_and_hold",
|
|
263
|
+
reason,
|
|
264
|
+
affected: rig.nodes
|
|
265
|
+
.filter((node) => !targetIds.has(node.logicalId))
|
|
266
|
+
.map((node) => ({ nodeId: node.id, logicalId: node.logicalId, reason })),
|
|
267
|
+
condition: "applies only to non-target seats proven not live at execution time",
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
async launchSingleNode(rigId, logicalId, opts) {
|
|
272
|
+
return this.launchNodeTargets(rigId, [logicalId], { ...opts, nonTargetMode: "unchanged" });
|
|
273
|
+
}
|
|
274
|
+
async launchNodeTargets(rigId, logicalIds, opts) {
|
|
205
275
|
const rig = this.rigRepo.getRig(rigId);
|
|
206
276
|
if (!rig)
|
|
207
277
|
return { ok: false, code: "rig_not_found", message: `Rig ${rigId} not found` };
|
|
208
|
-
const
|
|
209
|
-
if (!
|
|
210
|
-
return
|
|
278
|
+
const selected = this.snapshotRepo.selectRestoreUsable(rigId, opts.snapshotId);
|
|
279
|
+
if (!selected.ok)
|
|
280
|
+
return selected;
|
|
281
|
+
const { snapshot, selection: snapshotSelection } = selected;
|
|
211
282
|
const allNodes = rig.nodes;
|
|
212
|
-
const targetNodes =
|
|
283
|
+
const targetNodes = resolveSnapshotRestoreTopology(snapshot.data).intendedNodes
|
|
284
|
+
.filter((node) => logicalIds.includes(node.logicalId));
|
|
213
285
|
const matchedIds = new Set(targetNodes.map((n) => n.logicalId));
|
|
214
286
|
const unmatchedIds = logicalIds.filter((id) => !matchedIds.has(id));
|
|
215
287
|
if (targetNodes.length === 0)
|
|
216
288
|
return { ok: false, code: "no_matching_nodes", message: `No nodes match logical ids: ${logicalIds.join(", ")}` };
|
|
217
|
-
const nonTargetNodes =
|
|
289
|
+
const nonTargetNodes = opts.nonTargetMode === "detach_and_hold"
|
|
290
|
+
? allNodes.filter((node) => !targetNodes.some((target) => target.id === node.id))
|
|
291
|
+
: [];
|
|
218
292
|
// Per-target tmux-liveness classification (runtime truth, fail-closed)
|
|
219
293
|
const launched = [];
|
|
220
294
|
const alreadyRunning = [];
|
|
@@ -269,6 +343,7 @@ export class RestoreOrchestrator {
|
|
|
269
343
|
rigResult: rollupRestoreRigResult(launched),
|
|
270
344
|
nodes: launched,
|
|
271
345
|
warnings: subsetWarnings,
|
|
346
|
+
snapshotSelection,
|
|
272
347
|
};
|
|
273
348
|
this.eventBus.emit({ type: "restore.subset_completed", rigId, snapshotId: snapshot.id, result: subsetResult });
|
|
274
349
|
}
|
|
@@ -307,7 +382,21 @@ export class RestoreOrchestrator {
|
|
|
307
382
|
});
|
|
308
383
|
held.push({ nodeId: node.id, logicalId: node.logicalId, reason: holdReasonText });
|
|
309
384
|
}
|
|
310
|
-
return {
|
|
385
|
+
return {
|
|
386
|
+
ok: true,
|
|
387
|
+
launched,
|
|
388
|
+
held,
|
|
389
|
+
alreadyRunning,
|
|
390
|
+
failedTargets,
|
|
391
|
+
unmatchedIds: unmatchedIds.length > 0 ? unmatchedIds : undefined,
|
|
392
|
+
warnings: subsetWarnings.length > 0 ? subsetWarnings : undefined,
|
|
393
|
+
snapshotSelection,
|
|
394
|
+
nonTargetEffects: {
|
|
395
|
+
mode: opts.nonTargetMode,
|
|
396
|
+
reason: opts.nonTargetMode === "detach_and_hold" ? holdReasonText : null,
|
|
397
|
+
affected: held,
|
|
398
|
+
},
|
|
399
|
+
};
|
|
311
400
|
}
|
|
312
401
|
validatePreRestore(data, opts) {
|
|
313
402
|
const blockers = [];
|
|
@@ -366,7 +455,18 @@ export class RestoreOrchestrator {
|
|
|
366
455
|
if (!nodes || !checkpoints) {
|
|
367
456
|
return { blockers, warnings };
|
|
368
457
|
}
|
|
369
|
-
|
|
458
|
+
const topology = resolveSnapshotRestoreTopology(data);
|
|
459
|
+
for (const invalidNodeId of topology.invalidRosterIds) {
|
|
460
|
+
add({
|
|
461
|
+
code: "invalid_topology_roster",
|
|
462
|
+
severity: "critical",
|
|
463
|
+
nodeId: invalidNodeId,
|
|
464
|
+
target: "snapshot.topologyRoster",
|
|
465
|
+
message: `Intended topology roster names node ${invalidNodeId}, which is absent from snapshot.nodes.`,
|
|
466
|
+
remediation: "Capture a new snapshot from the authoritative materialized topology.",
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
for (const node of topology.intendedNodes) {
|
|
370
470
|
const checkpoint = checkpoints[node.id] ?? null;
|
|
371
471
|
if (checkpoint && !node.cwd) {
|
|
372
472
|
add({
|
|
@@ -565,7 +665,7 @@ export class RestoreOrchestrator {
|
|
|
565
665
|
}
|
|
566
666
|
}
|
|
567
667
|
computeRestorePlan(data) {
|
|
568
|
-
const nodes = data.
|
|
668
|
+
const nodes = resolveSnapshotRestoreTopology(data).intendedNodes;
|
|
569
669
|
const edges = data.edges;
|
|
570
670
|
// Build adjacency for launch-dependency edges only
|
|
571
671
|
// For delegates_to: source must launch before target
|
|
@@ -1011,6 +1111,7 @@ export class RestoreOrchestrator {
|
|
|
1011
1111
|
isRestore: replayAsRestore,
|
|
1012
1112
|
skipHarnessLaunch: !shouldLaunchHarness,
|
|
1013
1113
|
resumeToken: (isPodAware && resumeRequested) ? resumeToken ?? undefined : undefined,
|
|
1114
|
+
resumeType: (isPodAware && resumeRequested) ? resumeType ?? undefined : undefined,
|
|
1014
1115
|
sessionName: sessionName,
|
|
1015
1116
|
allowFreshFallback: !(isPodAware && resumeRequested),
|
|
1016
1117
|
});
|
|
@@ -1119,6 +1220,7 @@ export class RestoreOrchestrator {
|
|
|
1119
1220
|
sessionName,
|
|
1120
1221
|
runtime: node.runtime ?? null,
|
|
1121
1222
|
expectedResumeToken: resumeToken,
|
|
1223
|
+
requireExactResumeLineage: true,
|
|
1122
1224
|
...(this.listProcesses ? { listProcesses: this.listProcesses } : {}),
|
|
1123
1225
|
});
|
|
1124
1226
|
if (!identity.ok) {
|
|
@@ -1331,12 +1433,32 @@ export class RestoreOrchestrator {
|
|
|
1331
1433
|
return { ok: false, code: "outcome_not_upgradable", detail: `Reconciliation only upgrades failed or attention_required; current outcome is ${nodeStatus}.` };
|
|
1332
1434
|
}
|
|
1333
1435
|
const fromStatus = nodeStatus;
|
|
1436
|
+
const priorReconciliation = this.db.prepare("SELECT payload FROM events WHERE rig_id = ? AND node_id = ? AND type = 'restore.outcome_reconciled' AND json_extract(payload, '$.attemptId') = ? ORDER BY seq DESC LIMIT 1").get(rigId, nodeId, attemptId);
|
|
1437
|
+
if (priorReconciliation) {
|
|
1438
|
+
try {
|
|
1439
|
+
const prior = JSON.parse(priorReconciliation.payload);
|
|
1440
|
+
if ("tmux" in prior.evidence) {
|
|
1441
|
+
return { ok: true, attemptId, from: prior.from, to: "operator_recovered", evidence: prior.evidence };
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
catch {
|
|
1445
|
+
// A malformed prior row is not positive evidence; continue to the live proof.
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1334
1448
|
// Resolve canonical session name for this node so we can probe tmux/pane.
|
|
1335
1449
|
const bindingRow = this.db.prepare("SELECT tmux_session FROM bindings WHERE node_id = ?").get(nodeId);
|
|
1336
1450
|
const sessionName = bindingRow?.tmux_session ?? null;
|
|
1337
1451
|
if (!sessionName) {
|
|
1338
1452
|
return { ok: false, code: "tmux_session_missing", detail: "No tmux session bound for this node." };
|
|
1339
1453
|
}
|
|
1454
|
+
const sessRow = this.db.prepare("SELECT session_name, resume_token FROM sessions WHERE node_id = ? ORDER BY created_at DESC, id DESC LIMIT 1").get(nodeId);
|
|
1455
|
+
if (!sessRow || sessRow.session_name !== sessionName) {
|
|
1456
|
+
return { ok: false, code: "binding_mismatch", detail: `Canonical binding ${sessionName} does not match the latest session row.` };
|
|
1457
|
+
}
|
|
1458
|
+
const expectedResumeToken = sessRow.resume_token;
|
|
1459
|
+
if (!expectedResumeToken) {
|
|
1460
|
+
return { ok: false, code: "resume_token_not_used", detail: "No resume token recorded on the latest session row." };
|
|
1461
|
+
}
|
|
1340
1462
|
// Precondition #1: tmux session exists.
|
|
1341
1463
|
let alive = false;
|
|
1342
1464
|
try {
|
|
@@ -1350,26 +1472,30 @@ export class RestoreOrchestrator {
|
|
|
1350
1472
|
if (!alive) {
|
|
1351
1473
|
return { ok: false, code: "tmux_session_missing", detail: `Tmux session ${sessionName} is not currently alive.` };
|
|
1352
1474
|
}
|
|
1353
|
-
// Resolve runtime
|
|
1475
|
+
// Resolve runtime and prove exact native-token process lineage. Executable
|
|
1476
|
+
// basename alone is never sufficient for no-input recovery.
|
|
1354
1477
|
const nodeRow = this.db.prepare("SELECT runtime FROM nodes WHERE id = ?").get(nodeId);
|
|
1355
1478
|
const runtime = nodeRow?.runtime ?? null;
|
|
1356
|
-
const
|
|
1357
|
-
|
|
1358
|
-
|
|
1479
|
+
const identity = await rebindAndVerifyPaneIdentity({
|
|
1480
|
+
db: this.db,
|
|
1481
|
+
sessionRegistry: this.sessionRegistry,
|
|
1482
|
+
tmux: this.tmuxAdapter,
|
|
1483
|
+
nodeId,
|
|
1484
|
+
sessionName,
|
|
1485
|
+
runtime,
|
|
1486
|
+
expectedResumeToken,
|
|
1487
|
+
requireExactResumeLineage: true,
|
|
1488
|
+
...(this.listProcesses ? { listProcesses: this.listProcesses } : {}),
|
|
1489
|
+
});
|
|
1490
|
+
if (!identity.ok) {
|
|
1491
|
+
return { ok: false, code: "process_lineage_mismatch", detail: identity.detail };
|
|
1492
|
+
}
|
|
1493
|
+
const paneCommand = await this.tmuxAdapter.getPaneCommand(identity.pane);
|
|
1494
|
+
const paneContent = (await this.tmuxAdapter.capturePaneContent(identity.pane, 40)) ?? "";
|
|
1359
1495
|
const probe = assessNativeResumeProbe({ runtime, paneCommand, paneContent });
|
|
1360
|
-
const fgProcess =
|
|
1361
|
-
? (paneCommand === "claude" ? "claude" : "codex")
|
|
1362
|
-
: null;
|
|
1496
|
+
const fgProcess = runtime === "claude-code" ? "claude" : runtime === "codex" ? "codex" : null;
|
|
1363
1497
|
if (!fgProcess) {
|
|
1364
|
-
return { ok: false, code: "fg_process_not_runtime", detail: `
|
|
1365
|
-
}
|
|
1366
|
-
// Precondition #3: the resume token was actually used at launch.
|
|
1367
|
-
// Stored on the latest session row; null/empty means resume was not
|
|
1368
|
-
// exercised so a "recovered" claim has no basis.
|
|
1369
|
-
const sessRow = this.db.prepare("SELECT resume_token FROM sessions WHERE node_id = ? ORDER BY id DESC LIMIT 1").get(nodeId);
|
|
1370
|
-
const resumeTokenUsed = typeof sessRow?.resume_token === "string" && sessRow.resume_token.length > 0;
|
|
1371
|
-
if (!resumeTokenUsed) {
|
|
1372
|
-
return { ok: false, code: "resume_token_not_used", detail: "No resume token recorded on the latest session row." };
|
|
1498
|
+
return { ok: false, code: "fg_process_not_runtime", detail: `Node runtime is ${runtime ?? "unknown"}, not claude/codex.` };
|
|
1373
1499
|
}
|
|
1374
1500
|
// Precondition #4: pane is at a usable/idle state — explicitly NOT a
|
|
1375
1501
|
// resume-selection prompt and not the "returned to shell" failure mode.
|