@openrig/cli 0.5.11 → 0.5.13
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/LICENSE +190 -0
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +7 -4
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +34 -23
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +141 -24
- package/daemon/context-packs/skills/agent-operated-software/SKILL.md +7 -4
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/SKILL.md +34 -23
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- 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/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/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/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +1 -0
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +2 -9
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +7 -3
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +26 -30
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +15 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +64 -1
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/attention-surface.d.ts +36 -0
- package/daemon/dist/attention-surface.d.ts.map +1 -0
- package/daemon/dist/attention-surface.js +2 -0
- package/daemon/dist/attention-surface.js.map +1 -0
- 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/080_scoped_operating_posture.d.ts +4 -0
- package/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
- package/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
- package/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +2 -2
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +5 -5
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.d.ts +3 -1
- package/daemon/dist/domain/crash-cart-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.js +15 -4
- package/daemon/dist/domain/crash-cart-discovery.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts +1 -0
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +64 -16
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/files/file-read.d.ts +17 -0
- package/daemon/dist/domain/files/file-read.d.ts.map +1 -0
- package/daemon/dist/domain/files/file-read.js +24 -0
- package/daemon/dist/domain/files/file-read.js.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts +8 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.js +31 -0
- package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -0
- package/daemon/dist/domain/gateway/connections-projection.d.ts +31 -2
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +36 -14
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/health-context.d.ts +3 -0
- package/daemon/dist/domain/health-context.d.ts.map +1 -1
- package/daemon/dist/domain/health-context.js +78 -6
- package/daemon/dist/domain/health-context.js.map +1 -1
- package/daemon/dist/domain/health-detectors.d.ts +2 -1
- package/daemon/dist/domain/health-detectors.d.ts.map +1 -1
- package/daemon/dist/domain/health-detectors.js +8 -2
- package/daemon/dist/domain/health-detectors.js.map +1 -1
- package/daemon/dist/domain/health-diagnosis.d.ts +51 -1
- package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
- package/daemon/dist/domain/health-diagnosis.js +60 -9
- package/daemon/dist/domain/health-diagnosis.js.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.js +59 -26
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/daemon/dist/domain/health-projection.d.ts +2 -0
- package/daemon/dist/domain/health-projection.d.ts.map +1 -1
- package/daemon/dist/domain/health-projection.js.map +1 -1
- package/daemon/dist/domain/kernel-boot.d.ts +2 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot.js +1 -1
- package/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +35 -23
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +1 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/daemon/dist/domain/parked-query.js +2 -1
- package/daemon/dist/domain/parked-query.js.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +2 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +2 -2
- 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 +12 -5
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts +2 -0
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.js +2 -0
- package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/daemon/dist/domain/proof/judgments.d.ts +138 -0
- package/daemon/dist/domain/proof/judgments.d.ts.map +1 -0
- package/daemon/dist/domain/proof/judgments.js +361 -0
- package/daemon/dist/domain/proof/judgments.js.map +1 -0
- package/daemon/dist/domain/proof/source-watch.d.ts +17 -0
- package/daemon/dist/domain/proof/source-watch.d.ts.map +1 -0
- package/daemon/dist/domain/proof/source-watch.js +60 -0
- package/daemon/dist/domain/proof/source-watch.js.map +1 -0
- package/daemon/dist/domain/queue-owner.d.ts +12 -0
- package/daemon/dist/domain/queue-owner.d.ts.map +1 -0
- package/daemon/dist/domain/queue-owner.js +28 -0
- package/daemon/dist/domain/queue-owner.js.map +1 -0
- package/daemon/dist/domain/queue-pickup.d.ts +3 -0
- package/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/daemon/dist/domain/queue-pickup.js +14 -15
- package/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts +10 -0
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -0
- package/daemon/dist/domain/queue-recovery.js +27 -0
- package/daemon/dist/domain/queue-recovery.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +13 -6
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +177 -63
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +2 -11
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +51 -52
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.d.ts +29 -2
- package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.js +73 -14
- package/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
- package/daemon/dist/domain/queue-waiting.d.ts +61 -0
- package/daemon/dist/domain/queue-waiting.d.ts.map +1 -0
- package/daemon/dist/domain/queue-waiting.js +108 -0
- package/daemon/dist/domain/queue-waiting.js.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts +9 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +122 -62
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +2 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +1 -0
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +5 -3
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +1 -0
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +7 -4
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +12 -6
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +9 -1
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +26 -7
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +3 -0
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/review/types.d.ts +2 -0
- package/daemon/dist/domain/review/types.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
- package/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
- package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
- package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
- package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
- package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
- package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
- package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js +1 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts +8 -0
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +6 -25
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +21 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +47 -1
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +3 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +14 -4
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts +6 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +36 -1
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +4 -2
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +11 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +43 -10
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.d.ts +28 -2
- package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.js +50 -13
- package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +13 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.d.ts +33 -0
- package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -0
- package/daemon/dist/domain/user-settings/settings-browser.js +261 -0
- package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -0
- package/daemon/dist/domain/view-event-bridge.d.ts.map +1 -1
- package/daemon/dist/domain/view-event-bridge.js +2 -0
- package/daemon/dist/domain/view-event-bridge.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +2 -0
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +5 -1
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +4 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +8 -1
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.d.ts +3 -0
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.js +3 -0
- package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +13 -32
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-readiness.d.ts +39 -0
- package/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-exception-readiness.js +77 -0
- package/daemon/dist/domain/workflow-exception-readiness.js.map +1 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts +3 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-router.js +6 -1
- package/daemon/dist/domain/workflow-exception-router.js.map +1 -1
- package/daemon/dist/domain/workflow-exception.d.ts +6 -0
- package/daemon/dist/domain/workflow-exception.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception.js +10 -3
- package/daemon/dist/domain/workflow-exception.js.map +1 -1
- package/daemon/dist/domain/workflow-guidance.d.ts +53 -0
- package/daemon/dist/domain/workflow-guidance.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-guidance.js +212 -0
- package/daemon/dist/domain/workflow-guidance.js.map +1 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts +2 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-instance-store.js +7 -0
- package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/daemon/dist/domain/workflow-planning-context.d.ts +3 -0
- package/daemon/dist/domain/workflow-planning-context.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-planning-context.js +36 -0
- package/daemon/dist/domain/workflow-planning-context.js.map +1 -0
- package/daemon/dist/domain/workflow-projector.d.ts +11 -2
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +83 -73
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-reconciliation.d.ts +55 -0
- package/daemon/dist/domain/workflow-reconciliation.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-reconciliation.js +228 -0
- package/daemon/dist/domain/workflow-reconciliation.js.map +1 -0
- package/daemon/dist/domain/workflow-runtime.d.ts +79 -2
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +97 -25
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
- package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/project-catalog.js +66 -0
- package/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
- package/daemon/dist/domain/workspace/project-read.d.ts +29 -0
- package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/project-read.js +107 -0
- package/daemon/dist/domain/workspace/project-read.js.map +1 -0
- package/daemon/dist/health-projection-surface.d.ts +1 -0
- package/daemon/dist/health-projection-surface.d.ts.map +1 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +1 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/local-reading-surface.d.ts +3 -0
- package/daemon/dist/local-reading-surface.d.ts.map +1 -0
- package/daemon/dist/local-reading-surface.js +3 -0
- package/daemon/dist/local-reading-surface.js.map +1 -0
- package/daemon/dist/project-catalog-surface.d.ts +2 -0
- package/daemon/dist/project-catalog-surface.d.ts.map +1 -0
- package/daemon/dist/project-catalog-surface.js +2 -0
- package/daemon/dist/project-catalog-surface.js.map +1 -0
- package/daemon/dist/routes/activity.js +1 -1
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/attention.d.ts +3 -0
- package/daemon/dist/routes/attention.d.ts.map +1 -0
- package/daemon/dist/routes/attention.js +155 -0
- package/daemon/dist/routes/attention.js.map +1 -0
- package/daemon/dist/routes/config.d.ts +3 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +11 -1
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/files.d.ts +1 -1
- package/daemon/dist/routes/files.d.ts.map +1 -1
- package/daemon/dist/routes/files.js +4 -24
- package/daemon/dist/routes/files.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +5 -2
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/proof.d.ts +3 -0
- package/daemon/dist/routes/proof.d.ts.map +1 -0
- package/daemon/dist/routes/proof.js +65 -0
- package/daemon/dist/routes/proof.js.map +1 -0
- package/daemon/dist/routes/review.d.ts.map +1 -1
- package/daemon/dist/routes/review.js +3 -2
- package/daemon/dist/routes/review.js.map +1 -1
- package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
- package/daemon/dist/routes/rig-mode.js +67 -14
- package/daemon/dist/routes/rig-mode.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +4 -3
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scopes.d.ts.map +1 -1
- package/daemon/dist/routes/scopes.js +62 -6
- package/daemon/dist/routes/scopes.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts +4 -0
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +1 -1
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts +2 -2
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +26 -3
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/spec-library.d.ts.map +1 -1
- package/daemon/dist/routes/spec-library.js +11 -2
- package/daemon/dist/routes/spec-library.js.map +1 -1
- package/daemon/dist/routes/startup.d.ts +7 -0
- package/daemon/dist/routes/startup.d.ts.map +1 -0
- package/daemon/dist/routes/startup.js +221 -0
- package/daemon/dist/routes/startup.js.map +1 -0
- package/daemon/dist/routes/terminal.d.ts.map +1 -1
- package/daemon/dist/routes/terminal.js +14 -4
- package/daemon/dist/routes/terminal.js.map +1 -1
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +2 -1
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/views.d.ts.map +1 -1
- package/daemon/dist/routes/views.js +11 -1
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/daemon/dist/routes/workflow.js +43 -2
- package/daemon/dist/routes/workflow.js.map +1 -1
- package/daemon/dist/server.d.ts +2 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +8 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +23 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +1 -1
- package/daemon/docs/reference/getting-started.md +40 -17
- package/daemon/docs/reference/health-diagnosis.md +83 -6
- package/daemon/docs/reference/legacy-topology-migration.md +1 -2
- package/daemon/docs/reference/mission-install.md +5 -11
- package/daemon/docs/reference/planning-dial.md +12 -14
- package/daemon/docs/reference/project-release-profile.yaml +4 -0
- package/daemon/docs/reference/project-workspace.md +23 -0
- package/daemon/docs/reference/refocus-channel.md +1 -4
- package/daemon/docs/reference/release-boundary.md +33 -30
- package/daemon/docs/reference/rig-spec.md +6 -6
- package/daemon/docs/reference/scoped-operating-posture.md +95 -0
- package/daemon/docs/reference/sdlc-conventions.md +16 -5
- package/daemon/docs/reference/wave-sdlc.md +5 -16
- package/daemon/docs/reference/worktree-builds.md +3 -3
- package/daemon/policies/examples/my-cautious-dev.policy.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +11 -12
- package/dist/bin-wrapper.d.ts +1 -0
- package/dist/bin-wrapper.d.ts.map +1 -1
- package/dist/bin-wrapper.js +13 -0
- package/dist/bin-wrapper.js.map +1 -1
- package/dist/build-info.js +3 -3
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +66 -124
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/crash-cart.d.ts.map +1 -1
- package/dist/commands/crash-cart.js +20 -6
- package/dist/commands/crash-cart.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +17 -2
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/proof.d.ts +2 -2
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +84 -4
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/queue.js +1 -1
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig-mode.d.ts +2 -2
- package/dist/commands/rig-mode.d.ts.map +1 -1
- package/dist/commands/rig-mode.js +36 -11
- package/dist/commands/rig-mode.js.map +1 -1
- package/dist/commands/workflow-render.d.ts +50 -0
- package/dist/commands/workflow-render.d.ts.map +1 -1
- package/dist/commands/workflow-render.js +41 -0
- package/dist/commands/workflow-render.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +106 -5
- package/dist/commands/workflow.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +4 -1
- package/dist/front-door.js.map +1 -1
- package/dist/lib/context-git.d.ts +141 -0
- package/dist/lib/context-git.d.ts.map +1 -0
- package/dist/lib/context-git.js +256 -0
- package/dist/lib/context-git.js.map +1 -0
- package/dist/lib/context-install.d.ts +5 -0
- package/dist/lib/context-install.d.ts.map +1 -0
- package/dist/lib/context-install.js +125 -0
- package/dist/lib/context-install.js.map +1 -0
- package/dist/lib/work-install.d.ts.map +1 -1
- package/dist/lib/work-install.js +11 -36
- package/dist/lib/work-install.js.map +1 -1
- package/dist/local-reading.d.ts +31 -0
- package/dist/local-reading.d.ts.map +1 -0
- package/dist/local-reading.js +62 -0
- package/dist/local-reading.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js +2 -9
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +7 -3
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +26 -30
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +15 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +64 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/attention-surface.d.ts +36 -0
- package/node_modules/@openrig/daemon/dist/attention-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/attention-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/attention-surface.js.map +1 -0
- 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/080_scoped_operating_posture.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +2 -2
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +5 -5
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js +15 -4
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +64 -16
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/files/file-read.js +24 -0
- package/node_modules/@openrig/daemon/dist/domain/files/file-read.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js +31 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +31 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js +36 -14
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-context.js +78 -6
- package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +2 -1
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +8 -2
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +51 -1
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +60 -9
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +59 -26
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +35 -23
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +2 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +2 -2
- 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 +12 -5
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +2 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts +138 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js +361 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js +60 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts +12 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.js +28 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +14 -15
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js +27 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +13 -6
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +177 -63
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +2 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +51 -52
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +29 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +73 -14
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts +61 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js +108 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +122 -62
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +2 -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 +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js +5 -3
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +7 -4
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +12 -6
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +9 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js +26 -7
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +6 -25
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +21 -0
- 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 +47 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +14 -4
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +36 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -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 +4 -2
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +11 -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 +43 -10
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts +28 -2
- package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js +50 -13
- package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +13 -0
- 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-browser.d.ts +33 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js +261 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js +2 -0
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +5 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +4 -0
- 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 +8 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js +13 -32
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js +77 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js +10 -3
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js +212 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +2 -0
- 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 +7 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js +36 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +11 -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 +83 -73
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts +55 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js +228 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +79 -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 +97 -25
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js +66 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts +29 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js +107 -0
- package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +1 -0
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/local-reading-surface.js +3 -0
- package/node_modules/@openrig/daemon/dist/local-reading-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/project-catalog-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/project-catalog-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/activity.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/attention.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/attention.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/attention.js +155 -0
- package/node_modules/@openrig/daemon/dist/routes/attention.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/config.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js +11 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/files.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/routes/files.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/files.js +4 -24
- package/node_modules/@openrig/daemon/dist/routes/files.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/missions.js +5 -2
- package/node_modules/@openrig/daemon/dist/routes/missions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/proof.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.js +65 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/review.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/review.js +3 -2
- package/node_modules/@openrig/daemon/dist/routes/review.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rig-mode.js +67 -14
- package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +4 -3
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scopes.js +62 -6
- package/node_modules/@openrig/daemon/dist/routes/scopes.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.d.ts +2 -2
- package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.js +26 -3
- package/node_modules/@openrig/daemon/dist/routes/slices.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/spec-library.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/spec-library.js +11 -2
- package/node_modules/@openrig/daemon/dist/routes/spec-library.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/startup.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.js +221 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/terminal.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/terminal.js +14 -4
- package/node_modules/@openrig/daemon/dist/routes/terminal.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +2 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js +11 -1
- package/node_modules/@openrig/daemon/dist/routes/views.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 +43 -2
- package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +8 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +23 -6
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +13 -1
- package/package.json +3 -2
- package/tui/dist/attention/attention-model.d.ts +4 -0
- package/tui/dist/attention/attention-model.d.ts.map +1 -0
- package/tui/dist/attention/attention-model.js +44 -0
- package/tui/dist/attention/attention-model.js.map +1 -0
- package/tui/dist/commands/help.d.ts +4 -0
- package/tui/dist/commands/help.d.ts.map +1 -0
- package/tui/dist/commands/help.js +42 -0
- package/tui/dist/commands/help.js.map +1 -0
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +18 -1
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/config/config-model.d.ts +69 -0
- package/tui/dist/config/config-model.d.ts.map +1 -0
- package/tui/dist/config/config-model.js +239 -0
- package/tui/dist/config/config-model.js.map +1 -0
- package/tui/dist/crash-cart/from-emit.d.ts +5 -5
- package/tui/dist/crash-cart/from-emit.d.ts.map +1 -1
- package/tui/dist/crash-cart/from-emit.js +15 -9
- package/tui/dist/crash-cart/from-emit.js.map +1 -1
- package/tui/dist/crash-cart/keys.d.ts +1 -1
- package/tui/dist/crash-cart/keys.d.ts.map +1 -1
- package/tui/dist/crash-cart/keys.js +2 -0
- package/tui/dist/crash-cart/keys.js.map +1 -1
- package/tui/dist/crash-cart/start-daemon.d.ts +4 -0
- package/tui/dist/crash-cart/start-daemon.d.ts.map +1 -0
- package/tui/dist/crash-cart/start-daemon.js +12 -0
- package/tui/dist/crash-cart/start-daemon.js.map +1 -0
- package/tui/dist/daemon-client.d.ts +35 -6
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +96 -12
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/detail.d.ts.map +1 -1
- package/tui/dist/detail.js +20 -7
- package/tui/dist/detail.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts +14 -0
- package/tui/dist/execution/execution-model.d.ts.map +1 -1
- package/tui/dist/execution/execution-model.js +48 -21
- package/tui/dist/execution/execution-model.js.map +1 -1
- package/tui/dist/execution/workflow-model.d.ts.map +1 -1
- package/tui/dist/execution/workflow-model.js +13 -1
- package/tui/dist/execution/workflow-model.js.map +1 -1
- package/tui/dist/health/health-model.d.ts.map +1 -1
- package/tui/dist/health/health-model.js +26 -34
- package/tui/dist/health/health-model.js.map +1 -1
- package/tui/dist/hydrate.d.ts +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +105 -14
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +20 -3
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/live.d.ts +2 -0
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +17 -1
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/local-reading.d.ts +54 -0
- package/tui/dist/local-reading.d.ts.map +1 -0
- package/tui/dist/local-reading.js +122 -0
- package/tui/dist/local-reading.js.map +1 -0
- package/tui/dist/main.js +216 -31
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/motion.d.ts +2 -0
- package/tui/dist/motion.d.ts.map +1 -1
- package/tui/dist/motion.js +4 -0
- package/tui/dist/motion.js.map +1 -1
- package/tui/dist/reading.d.ts +36 -0
- package/tui/dist/reading.d.ts.map +1 -0
- package/tui/dist/reading.js +89 -0
- package/tui/dist/reading.js.map +1 -0
- package/tui/dist/render.d.ts +5 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +184 -171
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts +45 -0
- package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
- package/tui/dist/scopes/scopes-model.js +68 -6
- package/tui/dist/scopes/scopes-model.js.map +1 -1
- package/tui/dist/sections.d.ts.map +1 -1
- package/tui/dist/sections.js +5 -3
- package/tui/dist/sections.js.map +1 -1
- package/tui/dist/startup.d.ts +88 -0
- package/tui/dist/startup.d.ts.map +1 -0
- package/tui/dist/startup.js +319 -0
- package/tui/dist/startup.js.map +1 -0
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +129 -16
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/stylize.d.ts.map +1 -1
- package/tui/dist/stylize.js +10 -1
- package/tui/dist/stylize.js.map +1 -1
- package/tui/dist/terminals/terminal-model.d.ts +55 -0
- package/tui/dist/terminals/terminal-model.d.ts.map +1 -0
- package/tui/dist/terminals/terminal-model.js +95 -0
- package/tui/dist/terminals/terminal-model.js.map +1 -0
- package/tui/dist/types.d.ts +88 -1
- package/tui/dist/types.d.ts.map +1 -1
- package/ui/dist/assets/{index-wyX378xb.js → index-BVW54ItO.js} +165 -165
- package/ui/dist/index.html +1 -1
package/tui/dist/render.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import { helpScreen } from "./commands/help.js";
|
|
2
|
+
import { commandFocusVisible } from "./motion.js";
|
|
3
|
+
import { attentionLines } from "./attention/attention-model.js";
|
|
4
|
+
import { fileLines, externalLines, fileTargetForPath, referenceLines, referenceAction } from "./reading.js";
|
|
1
5
|
import { DEFAULT_TIME_ZONE, displayTime } from "./time.js";
|
|
6
|
+
import { startupLines } from "./startup.js";
|
|
7
|
+
import { configLines } from "./config/config-model.js";
|
|
2
8
|
import { connectionsLines } from "./connections/connections-model.js";
|
|
3
9
|
// Hand-rolled ANSI renderer (Phase-0 substrate decision). Pure function:
|
|
4
10
|
// (state, snapshot) → {lines, hitMap, explorerRows}. BOTH panes emit hit
|
|
@@ -7,10 +13,8 @@ import { connectionsLines } from "./connections/connections-model.js";
|
|
|
7
13
|
// SAME semantic actions commands produce (PIN 1). Isolated seam: a substrate
|
|
8
14
|
// swap touches only this module (spike verdict revisit trigger).
|
|
9
15
|
import { computeExplorerRows, findAgent, findSpec, findAgentBySession, agentsRunningSpec, agentsRunningSpecTargets, specDetailArrowsScroll } from "./state.js";
|
|
10
|
-
import { filterPalette } from "./commands/palette.js";
|
|
11
16
|
import { scopesContentLines } from "./scopes/scopes-model.js";
|
|
12
17
|
import { executionContentLines, executionSliceStripLines } from "./execution/execution-model.js";
|
|
13
|
-
import { COMMAND_REGISTRY } from "./commands/registry.js";
|
|
14
18
|
import { navigatorDisplay } from "./navigator.js";
|
|
15
19
|
import { renderGraphStyle } from "./topology/render-graph.js";
|
|
16
20
|
import { buildPulseModel } from "./pulse/pulse-model.js";
|
|
@@ -20,6 +24,7 @@ import { buildLedgerExplorer } from "./crash-cart/ledger-explorer.js";
|
|
|
20
24
|
import { runtimeMarkSegs } from "./topology/runtime-marks.js";
|
|
21
25
|
import { barCells, flashActive, reducedMotion, spinnerFrame } from "./motion.js";
|
|
22
26
|
import { explorerWidth, MOTION_FRAME_MS } from "./visual-layout.js";
|
|
27
|
+
import { terminalLines } from "./terminals/terminal-model.js";
|
|
23
28
|
import { detailPage, fieldLine, sectionRule, listItem, alignedRow, LABEL_W, wrapDetailLines } from "./detail.js";
|
|
24
29
|
import { healthAgentLines, healthDetailLines, healthListLines, healthSummaryLine } from "./health/health-model.js";
|
|
25
30
|
function pad(text, width) {
|
|
@@ -432,11 +437,11 @@ function timeZoneLines(state, width) {
|
|
|
432
437
|
listItem("Back · Esc", { type: "back" }),
|
|
433
438
|
], width);
|
|
434
439
|
}
|
|
435
|
-
function specTabsLine(state
|
|
440
|
+
function specTabsLine(state) {
|
|
436
441
|
const active = state.viewTab === "topology" || state.viewTab === "yaml" ? state.viewTab : "configuration";
|
|
437
442
|
const labels = ["topology", "configuration", "yaml"];
|
|
438
443
|
const parts = labels.map((tab) => (tab === active ? `[ ${tab.toUpperCase()} ]` : ` ${tab.toUpperCase()} `));
|
|
439
|
-
const text =
|
|
444
|
+
const text = parts.join(" ");
|
|
440
445
|
return {
|
|
441
446
|
text,
|
|
442
447
|
zones: labels.map((tab, index) => {
|
|
@@ -467,6 +472,25 @@ function sourceProvenance(spec) {
|
|
|
467
472
|
return "user library";
|
|
468
473
|
return spec.sourceState === "library_item" ? "library" : "source unknown";
|
|
469
474
|
}
|
|
475
|
+
function specSourceLines(spec, snap) {
|
|
476
|
+
if (!spec.sourcePath)
|
|
477
|
+
return [{ text: "Source path unavailable; no current-file claim." }];
|
|
478
|
+
const target = fileTargetForPath(spec.resolvedSourcePath ?? spec.sourcePath, snap.fileRoots ?? []) ?? { root: "", path: spec.sourcePath };
|
|
479
|
+
const lines = [fieldLine({ label: "source", value: `${displayPath(spec.sourcePath, 56)} · ${sourceProvenance(spec)}` }), listItem("View current source", { type: "file-open", target })];
|
|
480
|
+
if (!target.root)
|
|
481
|
+
lines.push({ text: "Source is not mapped to a configured readable root." });
|
|
482
|
+
if (target.root) {
|
|
483
|
+
lines.push({ text: `Readable root: ${target.root}` }, ...referenceLines(spec.description ?? "", target));
|
|
484
|
+
const markdownLinks = new Set([...((spec.description ?? "").matchAll(/\[[^\]\n]+\]\(<?([^\s)>]+)/g))].map((match) => match[1]));
|
|
485
|
+
// Prose paths stay relative to the named source, not an inferred checkout.
|
|
486
|
+
for (const match of (spec.description ?? "").matchAll(/(?:[\w.-]+\/)+[\w.-]+\.(?:md|txt|ya?ml)(?:#[\w-]+)?/g)) {
|
|
487
|
+
if (markdownLinks.has(match[0]))
|
|
488
|
+
continue;
|
|
489
|
+
lines.push(listItem(`Reference: ${match[0]} · relative to source`, referenceAction(target, match[0])));
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return lines;
|
|
493
|
+
}
|
|
470
494
|
function displayPath(path, max = 68) {
|
|
471
495
|
if (path.length <= max)
|
|
472
496
|
return path;
|
|
@@ -630,6 +654,12 @@ function instanceContentLines(state, snap, host, contentWidth, motion) {
|
|
|
630
654
|
return lines;
|
|
631
655
|
}
|
|
632
656
|
function contentLines(state, snap, contentWidth, motion) {
|
|
657
|
+
if (state.file) {
|
|
658
|
+
const read = JSON.stringify(snap.fileRead?.target) === JSON.stringify(state.file) ? snap.fileRead?.result : null;
|
|
659
|
+
return [...(state.project ? wrapDetailLines([{ text: `Project ${state.project.id} · ${state.project.root}` }], contentWidth) : []), ...fileLines(read, state.file, contentWidth)];
|
|
660
|
+
}
|
|
661
|
+
if (state.externalUrl)
|
|
662
|
+
return externalLines(state.externalUrl, contentWidth);
|
|
633
663
|
const contentWidthForGraph = contentWidth;
|
|
634
664
|
void contentWidthForGraph;
|
|
635
665
|
const lines = [];
|
|
@@ -637,6 +667,10 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
637
667
|
return timeZoneLines(state, contentWidth);
|
|
638
668
|
if (state.recentOpen)
|
|
639
669
|
return recentDetailLines(state, snap, contentWidth);
|
|
670
|
+
if (state.section === "terminals")
|
|
671
|
+
return terminalLines(state, snap, contentWidth);
|
|
672
|
+
if (state.section === "config")
|
|
673
|
+
return configLines(state, snap, contentWidth);
|
|
640
674
|
if (state.section === "connections")
|
|
641
675
|
return connectionsLines(snap, contentWidth, state.timeZone);
|
|
642
676
|
if (state.healthOpen)
|
|
@@ -676,6 +710,9 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
676
710
|
const rigName = state.drill.find((d) => d.kind === "rig")?.name ?? snap.hosts[0]?.rigs[0]?.name;
|
|
677
711
|
const rig = host?.rigs.find((candidate) => candidate.name === rigName);
|
|
678
712
|
if (!rig || !host) {
|
|
713
|
+
const notLoaded = snap.readErrors.find((error) => error.startsWith("Live data not loaded"));
|
|
714
|
+
if (notLoaded)
|
|
715
|
+
return [{ text: notLoaded }];
|
|
679
716
|
// round-6 (guard): the ROOT topology branch consumes the OWNER's load
|
|
680
717
|
// truth like every other read surface — a real in-flight cold start
|
|
681
718
|
// renders the spinner; after settlement only a NAMED rigs-summary
|
|
@@ -754,7 +791,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
754
791
|
lines.push({ text: ` style: ${state.graphStyle} · style hatchet|braille|braille-fallback rides the command bar` });
|
|
755
792
|
return lines;
|
|
756
793
|
}
|
|
757
|
-
lines.push(listItem("
|
|
794
|
+
lines.push(listItem("CONFIG · instance settings", { type: "jump", section: "config" }));
|
|
758
795
|
lines.push(healthSummaryLine(snap, healthScope, contentWidth));
|
|
759
796
|
lines.push({ text: state.filter ? `/ filter agents: ${state.filter} · / replace · esc clear` : "/ filter agents…" });
|
|
760
797
|
if (state.viewTab === "overview") {
|
|
@@ -844,13 +881,13 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
844
881
|
if (leaf?.kind === "spec") {
|
|
845
882
|
const spec = findSpec(snap, leaf.name);
|
|
846
883
|
if (!spec)
|
|
847
|
-
return [{ text: `spec "${leaf.name}" not in the current
|
|
884
|
+
return [{ text: snap.readErrors.find((error) => error.startsWith("specs-library")) ?? (!snap.specsLoaded ? "Specs catalog read pending" : `spec "${leaf.name}" not in the current catalog`) }];
|
|
848
885
|
if (spec.kind === "rig")
|
|
849
|
-
lines.push(specTabsLine(state
|
|
886
|
+
lines.push(specTabsLine(state));
|
|
850
887
|
lines.push({ text: `${spec.kind} spec ${spec.name}` });
|
|
851
888
|
lines.push(fieldLine({ label: "purpose", value: spec.description ?? "not declared in the available source" }));
|
|
852
889
|
lines.push(fieldLine({ label: "provenance", value: `${sourceProvenance(spec)} · ${spec.sourceState ?? "source state not served"}` }));
|
|
853
|
-
lines.push(
|
|
890
|
+
lines.push(...specSourceLines(spec, snap));
|
|
854
891
|
lines.push({ text: " Authored declaration. Resource availability is not the effective loadout of a running seat." });
|
|
855
892
|
lines.push(sectionRule("Observed consumers · open for effective runtime/configuration", contentWidth));
|
|
856
893
|
for (const consumer of spec.consumers ?? []) {
|
|
@@ -867,8 +904,6 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
867
904
|
if (spec.sourceUnavailable)
|
|
868
905
|
return wrapDetailLines([...lines, { text: ` Source unavailable: ${spec.sourceUnavailable}` }], contentWidth);
|
|
869
906
|
if (spec.kind === "rig") {
|
|
870
|
-
if (spec.sourcePath)
|
|
871
|
-
lines.push(fieldLine({ label: "source", value: `${displayPath(spec.sourcePath, 56)} · ${sourceProvenance(spec)}` }));
|
|
872
907
|
if (state.viewTab === "topology") {
|
|
873
908
|
// ROUND-4 item 1: the established table treatment, not unformatted rows
|
|
874
909
|
const nodes = spec.graph?.nodes ?? [];
|
|
@@ -990,111 +1025,64 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
990
1025
|
}
|
|
991
1026
|
return wrapDetailLines(lines, contentWidth);
|
|
992
1027
|
}
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
if (
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
for (const s of shown) {
|
|
1010
|
-
const namespace = s.namespace ?? "(root)";
|
|
1011
|
-
groups.set(namespace, [...(groups.get(namespace) ?? []), s]);
|
|
1012
|
-
}
|
|
1013
|
-
for (const [namespace, specs] of [...groups.entries()].sort(([a], [b]) => a.localeCompare(b))) {
|
|
1014
|
-
const open = namespace === "(root)" || expandedSet.has(`folder:${namespace}`) || !!state.filter;
|
|
1015
|
-
if (namespace !== "(root)")
|
|
1016
|
-
lines.push({
|
|
1017
|
-
text: ` ${open ? "▾" : "▸"} ${namespace}/ (${specs.length})`,
|
|
1018
|
-
action: { type: "toggle-expand", key: `folder:${namespace}` },
|
|
1019
|
-
});
|
|
1020
|
-
if (!open)
|
|
1021
|
-
continue;
|
|
1022
|
-
for (const s of specs)
|
|
1023
|
-
lines.push({
|
|
1024
|
-
text: `${namespace === "(root)" ? " " : " "}▪ ${s.name}`,
|
|
1025
|
-
action: { type: "drill", resource: "spec", name: s.name },
|
|
1026
|
-
});
|
|
1027
|
-
}
|
|
1028
|
-
}
|
|
1029
|
-
if (snap.specs.length === 0) {
|
|
1030
|
-
// round-5 (guard): spin only while the owner is loading; settled empty
|
|
1031
|
-
// is PROVEN empty and a settled failure is named — neither spins
|
|
1032
|
-
if (motion.loading) {
|
|
1033
|
-
if (!motion.reduced)
|
|
1034
|
-
motion.used = true;
|
|
1035
|
-
lines.push({ text: ` ${motion.frame} library read pending — honest-empty` });
|
|
1036
|
-
}
|
|
1037
|
-
else if (snap.readErrors.some((e) => e.startsWith("specs-library"))) {
|
|
1038
|
-
lines.push({ text: " ✕ library read failed — named in the status line" });
|
|
1039
|
-
}
|
|
1040
|
-
else {
|
|
1041
|
-
lines.push({ text: " (library empty — proven, no specs served)" });
|
|
1042
|
-
}
|
|
1043
|
-
}
|
|
1044
|
-
return lines;
|
|
1045
|
-
}
|
|
1046
|
-
if (state.section === "needs") {
|
|
1047
|
-
lines.push({ text: "NEEDS-YOU" });
|
|
1048
|
-
for (const item of snap.needs) {
|
|
1049
|
-
// open/navigate is the ONLY in-TUI action (B3): the click target joins
|
|
1050
|
-
// the item's session back to topology; unresolvable targets never
|
|
1051
|
-
// advertise a control that can only fail.
|
|
1052
|
-
lines.push(needsLine(item.source === "agent" ? " ☐ " : " ⚑ ", item, snap));
|
|
1053
|
-
}
|
|
1054
|
-
if (snap.needs.length === 0 && snap.humanQueueProbed)
|
|
1055
|
-
lines.push({ text: " (no fleet attention items right now)" });
|
|
1056
|
-
if (snap.hostsDown.length > 0) {
|
|
1057
|
-
// composed BESIDE the items (a separate shipped read), never into the item shape
|
|
1058
|
-
lines.push({ text: "" });
|
|
1059
|
-
lines.push({ text: " hosts/rigs down:" });
|
|
1060
|
-
// NB: glyphs here must be single-cell — U+26D4 ⛔ is emoji-width (2 cells)
|
|
1061
|
-
// and wraps a full-width padded line, shearing every row below it.
|
|
1062
|
-
for (const h of snap.hostsDown)
|
|
1063
|
-
lines.push({ text: ` ✖ ${alignedRow([[h.hostId, 28], [h.status, 26]])} ${h.error ?? ""}`.trimEnd() });
|
|
1028
|
+
if (state.filter)
|
|
1029
|
+
lines.push({ text: `/ filter specs: ${state.filter} · / replace · esc clear` });
|
|
1030
|
+
const selected = computeExplorerRows(state, snap)[state.selection]?.action;
|
|
1031
|
+
const spec = selected?.type === "drill" && selected.resource === "spec" ? findSpec(snap, selected.name) : null;
|
|
1032
|
+
if (spec) {
|
|
1033
|
+
lines.push({ text: `${spec.name} · ${spec.kind} · ${sourceProvenance(spec)}` });
|
|
1034
|
+
lines.push({ text: "" }, { text: spec.description?.trim() || "Purpose not declared in the available source." });
|
|
1035
|
+
if (spec.kind === "rig")
|
|
1036
|
+
lines.push(fieldLine({ label: "contents", value: `${spec.pods?.length ?? 0} pods · ${spec.pods?.reduce((n, p) => n + p.members.length, 0) ?? spec.legacyNodes?.length ?? 0} members · ${spec.agentRefs?.join(", ") || "no member references served"}` }));
|
|
1037
|
+
else if (spec.kind === "agent")
|
|
1038
|
+
lines.push(fieldLine({ label: "contents", value: `${spec.runtime ?? "runtime not declared"} · ${(spec.skills ?? []).length} skills · ${(spec.startupFiles ?? []).length} startup files` }));
|
|
1039
|
+
else
|
|
1040
|
+
lines.push(fieldLine({ label: "contents", value: `${spec.rolesCount ?? "unknown"} roles · ${spec.stepsCount ?? "unknown"} steps` }));
|
|
1041
|
+
lines.push({ text: "" }, listItem("Read details · Enter", { type: "drill", resource: "spec", name: spec.name }), ...specSourceLines(spec, snap));
|
|
1042
|
+
if (spec.sourceUnavailable)
|
|
1043
|
+
lines.push({ text: `Source unavailable: ${spec.sourceUnavailable}` });
|
|
1064
1044
|
}
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
lines.push({ text: " human-queue: not yet known (hosts unreachable or registry unavailable)" });
|
|
1045
|
+
else {
|
|
1046
|
+
lines.push({ text: "SPEC LIBRARY" }, { text: "Choose a spec at left to preview its purpose, contents and source." }, { text: "Enter reads details · / filters · source opens current disk content" }, { text: "" });
|
|
1047
|
+
for (const kind of ["rig", "agent", "workflow"])
|
|
1048
|
+
lines.push({ text: `${kind}: ${snap.specs.filter((spec) => spec.kind === kind).length} available` });
|
|
1049
|
+
if (!snap.specs.length) {
|
|
1050
|
+
if (motion.loading) {
|
|
1051
|
+
if (!motion.reduced)
|
|
1052
|
+
motion.used = true;
|
|
1053
|
+
lines.push({ text: ` ${motion.frame} library read pending` });
|
|
1054
|
+
}
|
|
1055
|
+
else {
|
|
1056
|
+
const failure = snap.readErrors.find((error) => error.startsWith("specs-library"));
|
|
1057
|
+
const notLoaded = snap.readErrors.find((error) => error.startsWith("Live data not loaded"));
|
|
1058
|
+
lines.push({ text: failure ? ` ✕ library read failed: ${failure}` : notLoaded ?? (snap.specsLoaded === false ? "Specs catalog read unavailable" : " (library empty — proven, no specs served)") });
|
|
1059
|
+
}
|
|
1081
1060
|
}
|
|
1082
1061
|
}
|
|
1083
|
-
|
|
1084
|
-
lines.push({ text: " human-queue: no items (proven empty — surfacing adoption pending)" });
|
|
1085
|
-
return lines;
|
|
1062
|
+
return wrapDetailLines(lines, contentWidth);
|
|
1086
1063
|
}
|
|
1064
|
+
if (state.section === "needs")
|
|
1065
|
+
return attentionLines(state, snap, contentWidth);
|
|
1087
1066
|
if (state.section === "scopes") {
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
const instances = selected.lifecycle_instances;
|
|
1067
|
+
const catalog = snap.projects;
|
|
1068
|
+
if (!state.project && catalog !== undefined)
|
|
1091
1069
|
return wrapDetailLines([
|
|
1092
|
-
{ text: "
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
{
|
|
1070
|
+
{ text: "PROJECTS · select a project" },
|
|
1071
|
+
{ text: catalog ? `Catalog: ${catalog.catalogPath}` : "Project catalog unavailable or loading" },
|
|
1072
|
+
...(snap.readErrors ?? []).map(text => ({ text })),
|
|
1073
|
+
...(catalog?.projects ?? []).flatMap(p => [listItem(`${p.name} · ${p.id}`, { type: "project-select", id: p.id }), { text: p.root }, ...(p.error ? [{ text: `Unavailable: ${p.error}` }] : [])]),
|
|
1074
|
+
...(catalog?.projects.length === 0 ? [{ text: "No projects declared in this catalog." }] : []),
|
|
1096
1075
|
], contentWidth);
|
|
1097
|
-
}
|
|
1076
|
+
const identity = state.project ? wrapDetailLines([{ text: `PROJECT ${state.project.id}` }, { text: state.project.root }], contentWidth) : [];
|
|
1077
|
+
if (state.project && (snap.projectRead?.id !== state.project.id || snap.projectRead?.root !== state.project.root))
|
|
1078
|
+
return [...identity, { text: "Reading selected project…" }];
|
|
1079
|
+
const entry = catalog?.projects.find(p => p.id === state.project.id && p.root === state.project.root);
|
|
1080
|
+
const errors = (snap.readErrors ?? []).map(text => ({ text: `Unavailable: ${text}` }));
|
|
1081
|
+
const projectHeader = state.project ? [...identity, listItem("Read current source", { type: "project-source" }), ...wrapDetailLines(errors, contentWidth)] : [];
|
|
1082
|
+
if (state.project && (!entry || entry.error))
|
|
1083
|
+
return [...projectHeader, { text: "Choose a project again or go Back." }];
|
|
1084
|
+
if (state.project && !state.scopesMission)
|
|
1085
|
+
return [...projectHeader, { text: "Choose a mission" }, ...(snap.scopes ?? []).map(m => listItem(m.mission, { type: "scopes-mission-open", mission: m.mission })), ...(!snap.scopes?.length && !errors.length ? [{ text: "No missions found in this project." }] : [])];
|
|
1098
1086
|
// SCOPES owns both levels. Both mission-graph and Explorer slice routes land
|
|
1099
1087
|
// on the same execution-backed canonical detail; store-direct content is
|
|
1100
1088
|
// composed into that page instead of surviving as a competing destination.
|
|
@@ -1105,27 +1093,27 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
1105
1093
|
? (snap.scopes ?? []).find((m) => m.mission === sel.mission)?.slices.find((sl) => sl.dirName === sel.slice) ?? null
|
|
1106
1094
|
: null;
|
|
1107
1095
|
if (state.executionOpen && execution) {
|
|
1108
|
-
return executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, false, snap.sliceDetail, {
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1096
|
+
return [...projectHeader, ...executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, false, snap.sliceDetail, {
|
|
1097
|
+
collapseReqs: state.scopesCollapseReqs,
|
|
1098
|
+
narrative: state.scopesNarrative,
|
|
1099
|
+
}, state.timeZone)];
|
|
1112
1100
|
}
|
|
1113
1101
|
if (detail && execution) {
|
|
1114
|
-
return executionContentLines(execution, snap.scopes, snap.readErrors, `slice:${detail.id ?? detail.dirName}`, contentWidth, false, snap.sliceDetail, {
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1102
|
+
return [...projectHeader, ...executionContentLines(execution, snap.scopes, snap.readErrors, `slice:${detail.id ?? detail.dirName}`, contentWidth, false, snap.sliceDetail, {
|
|
1103
|
+
collapseReqs: state.scopesCollapseReqs,
|
|
1104
|
+
narrative: state.scopesNarrative,
|
|
1105
|
+
}, state.timeZone)];
|
|
1118
1106
|
}
|
|
1119
1107
|
if (!detail && missionName) {
|
|
1120
1108
|
const lines = executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, !snap.hydratedAt || snap.executionMission !== missionName, undefined, undefined, state.timeZone);
|
|
1121
|
-
return execution ? lines : [{ text: ` ${missionName} EXECUTION` }, ...lines];
|
|
1109
|
+
return [...projectHeader, ...(execution ? lines : [{ text: ` ${missionName} EXECUTION` }, ...lines])];
|
|
1122
1110
|
}
|
|
1123
|
-
return scopesContentLines(detail, missionName, {
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1111
|
+
return [...projectHeader, ...scopesContentLines(detail, missionName, {
|
|
1112
|
+
collapseReqs: state.scopesCollapseReqs,
|
|
1113
|
+
narrative: state.scopesNarrative,
|
|
1114
|
+
width: contentWidth,
|
|
1115
|
+
executionStrip: detail ? executionSliceStripLines(null, detail.id ?? detail.dirName, detail.dirName, contentWidth, detail.status) : undefined,
|
|
1116
|
+
})];
|
|
1129
1117
|
}
|
|
1130
1118
|
return [{ text: `(${state.section})` }];
|
|
1131
1119
|
}
|
|
@@ -1168,11 +1156,15 @@ function keybindHints(state) {
|
|
|
1168
1156
|
// hint hid exactly where it was needed). When ↑↓ themselves scroll (a
|
|
1169
1157
|
// scrollable spec detail), the nav label says so; otherwise ↑↓ move and the
|
|
1170
1158
|
// page keys carry the scroll.
|
|
1159
|
+
if (state.section === "config")
|
|
1160
|
+
return state.configKey
|
|
1161
|
+
? `${specDetailArrowsScroll(state) ? "↑↓ scroll" : "↑↓ move"} · esc back · v select/copy · refresh · q quit`
|
|
1162
|
+
: "↑↓ move · ←→ pane · ⏎ open · / search · esc back · refresh · q quit";
|
|
1171
1163
|
const arrowsScroll = specDetailArrowsScroll(state);
|
|
1172
1164
|
const nav = arrowsScroll ? "↑↓ scroll" : "↑↓ move";
|
|
1173
1165
|
const pageScroll = state.contentMaxOffset > 0 && !arrowsScroll ? "⇞⇟ scroll · " : "";
|
|
1174
1166
|
const filter = state.filter ? "/ replace · esc clear" : "/ filter";
|
|
1175
|
-
return `${nav} · ←→ pane · ⏎ open · ${pageScroll}: command · ${filter} · v select/copy · f footer · q quit`;
|
|
1167
|
+
return `${nav} · ←→ pane · ⏎ open · ${pageScroll}: command · ${filter} · S startup · v select/copy · f footer · q quit`;
|
|
1176
1168
|
}
|
|
1177
1169
|
/** The PULSE view renders FULL-WIDTH with NO explorer sidebar (increment 2). A
|
|
1178
1170
|
* minimal self-contained screen: cmd bar + a full-width titled rule + the pulse
|
|
@@ -1241,7 +1233,7 @@ function renderPulseScreen(state, snap, options, inputLine) {
|
|
|
1241
1233
|
const contentTargets = [];
|
|
1242
1234
|
const flashRows = [];
|
|
1243
1235
|
let flashAck = false;
|
|
1244
|
-
lines.push(pad(`cmd ▸ ${inputLine}▊${inputLine ? "" : " Tab complete · ? help · timezone"}`, cols));
|
|
1236
|
+
lines.push(pad(`cmd ▸ ${inputLine}▊${load.stale ? " · readiness unconfirmed — refreshing or authority unavailable" : load.connection && load.connection !== "connected" ? " · live updates unavailable — last HTTP basis; quiet refresh active" : inputLine ? "" : " Tab complete · ? help · timezone"}`, cols));
|
|
1245
1237
|
if (options.completion) {
|
|
1246
1238
|
lines.push(pad(options.completion.message, cols));
|
|
1247
1239
|
for (const candidate of options.completion.candidates.slice(0, 4))
|
|
@@ -1249,21 +1241,6 @@ function renderPulseScreen(state, snap, options, inputLine) {
|
|
|
1249
1241
|
if (options.completion.candidates.length > 4)
|
|
1250
1242
|
lines.push(pad(" … keep typing to narrow matches", cols));
|
|
1251
1243
|
}
|
|
1252
|
-
// REGISTRY I3 — the palette overlay: fuzzy rows over the ONE registry; unavailable
|
|
1253
|
-
// entries render DIMMED-WITH-REASON, never hidden (PM pin); bounded height.
|
|
1254
|
-
if (state.palette) {
|
|
1255
|
-
const rows = filterPalette(state.palette.query, COMMAND_REGISTRY, options.commandContext ?? "standard");
|
|
1256
|
-
const sel = Math.min(state.palette.selection, Math.max(0, rows.length - 1));
|
|
1257
|
-
lines.push(pad(`? ${state.palette.query}▊ (${rows.length} commands · ↑↓ · ⏎ run · esc close)`, cols));
|
|
1258
|
-
for (let i = 0; i < Math.min(rows.length, 8); i += 1) {
|
|
1259
|
-
const r = rows[i];
|
|
1260
|
-
const mark = i === sel ? "▸" : " ";
|
|
1261
|
-
const label = `${r.entry.name}${r.entry.args ? " " + r.entry.args : ""}`;
|
|
1262
|
-
const alias = r.entry.aliases.length ? ` (${r.entry.aliases.join(",")})` : "";
|
|
1263
|
-
const tail = r.available ? r.entry.description : `${r.entry.description} — unavailable: ${r.reason}`;
|
|
1264
|
-
lines.push(pad(`${mark} ${label}${alias} ${tail}`, cols));
|
|
1265
|
-
}
|
|
1266
|
-
}
|
|
1267
1244
|
const explorerTitle = state.focusedPane === "explorer" ? "{ EXPLORER }" : "EXPLORER";
|
|
1268
1245
|
const contentTitle = state.focusedPane === "content" ? "{ PULSE }" : "PULSE";
|
|
1269
1246
|
lines.push(paneRule(cols, explW, "top", explorerTitle, contentTitle));
|
|
@@ -1403,7 +1380,7 @@ function wrapContentLines(content, width) {
|
|
|
1403
1380
|
}
|
|
1404
1381
|
const chunk = rest.slice(0, cut).trimEnd();
|
|
1405
1382
|
rest = rest.slice(cut).replace(/^\s+/, "");
|
|
1406
|
-
out.push(first ? { text: chunk, segs: item.segs } : { text: indent + chunk });
|
|
1383
|
+
out.push(first ? { text: chunk, segs: item.segs, action: item.action } : { text: indent + chunk });
|
|
1407
1384
|
first = false;
|
|
1408
1385
|
}
|
|
1409
1386
|
}
|
|
@@ -1413,6 +1390,7 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1413
1390
|
const explW = explorerWidth(cols);
|
|
1414
1391
|
const lines = [];
|
|
1415
1392
|
const segRows = {};
|
|
1393
|
+
const hitMap = [];
|
|
1416
1394
|
lines.push(pad(`cmd ▸ ${inputLine}▊`, cols));
|
|
1417
1395
|
lines.push(paneRule(cols, explW, "top", "{ EXPLORER }", contentTitle));
|
|
1418
1396
|
// The explorer's source note, then any discovered rigs (name + seat count).
|
|
@@ -1431,6 +1409,8 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1431
1409
|
const left = pad(leftRows[i] ?? "", explW);
|
|
1432
1410
|
const citem = content[scroll + i];
|
|
1433
1411
|
const contentText = (citem?.text ?? "").slice(0, contentWidth);
|
|
1412
|
+
if (citem?.action)
|
|
1413
|
+
hitMap.push({ y, x1: explW + 2, x2: cols, action: citem.action });
|
|
1434
1414
|
lines.push(pad(`${left}┃ ${contentText}`, cols));
|
|
1435
1415
|
if (citem?.segs)
|
|
1436
1416
|
segRows[y] = truncateSegs(citem.segs, contentWidth);
|
|
@@ -1444,7 +1424,7 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1444
1424
|
return {
|
|
1445
1425
|
lines: lines.slice(0, rows),
|
|
1446
1426
|
explorerWidth: explW,
|
|
1447
|
-
hitMap
|
|
1427
|
+
hitMap,
|
|
1448
1428
|
contentTargets: [],
|
|
1449
1429
|
contentMaxOffset,
|
|
1450
1430
|
explorerRows: [],
|
|
@@ -1452,8 +1432,36 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1452
1432
|
};
|
|
1453
1433
|
}
|
|
1454
1434
|
export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
1435
|
+
if (state.palette)
|
|
1436
|
+
return helpScreen(state.palette, options.commandContext ?? "standard", options.cols ?? 120, options.rows ?? 32);
|
|
1437
|
+
const screen = renderBody(state, snap, options, inputLine);
|
|
1438
|
+
const commandReady = !options.startup?.open && !options.restore && !options.unavailable && (!options.daemonState || options.daemonState === "up");
|
|
1439
|
+
if (commandReady) {
|
|
1440
|
+
const reduced = reducedMotion();
|
|
1441
|
+
if (!commandFocusVisible(options.nowMs ?? 0, inputLine.length > 0, reduced)) {
|
|
1442
|
+
const line = screen.lines[0];
|
|
1443
|
+
screen.lines[0] = line.slice(0, 6) + " " + line.slice(7);
|
|
1444
|
+
}
|
|
1445
|
+
screen.commandMotionActive = !reduced && inputLine.length === 0;
|
|
1446
|
+
}
|
|
1447
|
+
return screen;
|
|
1448
|
+
}
|
|
1449
|
+
function renderBody(state, snap, options = {}, inputLine = "") {
|
|
1455
1450
|
const { cols = 120, rows = 32, nowMs = 0 } = options;
|
|
1456
|
-
const
|
|
1451
|
+
const fullReading = !options.startup?.open && (!!state.file || !!state.externalUrl || (cols <= 90 && state.section === "specs" && state.drill.length > 0));
|
|
1452
|
+
const explW = fullReading ? 0 : explorerWidth(cols);
|
|
1453
|
+
if (options.startup?.open) {
|
|
1454
|
+
const startup = options.startup;
|
|
1455
|
+
const content = wrapContentLines(startupLines(startup).map((line) => ({ ...line,
|
|
1456
|
+
text: line.text.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, "").replace(/[\x00-\x1f\x7f]/g, " ")
|
|
1457
|
+
.replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/gi, "$1[redacted]@").replace(/Bearer\s+[^\s]+/gi, "Bearer [redacted]"),
|
|
1458
|
+
})), Math.max(1, cols - explW - 2));
|
|
1459
|
+
const selected = content.findIndex((line) => line.action?.type === "startup" && line.action.key === `select:${startup.local?.selected ?? startup.selected}`);
|
|
1460
|
+
const scroll = startup.local && !startup.local.result.entries ? startup.local.scroll : startup.expanded ? startup.scroll : Math.max(0, selected - Math.max(1, rows - 12));
|
|
1461
|
+
const screen = crashCartShell(content, { note: "startup", rows: [] }, "START AND RETURN", cols, rows, "", { scroll });
|
|
1462
|
+
screen.lines[rows - 1] = pad("? Help · w Skip · L Local · ↑↓ scroll · Enter read · Esc Back · q Quit", cols);
|
|
1463
|
+
return screen;
|
|
1464
|
+
}
|
|
1457
1465
|
// 5.2 crash-cart (shell-placement rework, ruling 3c6c2be0): daemon-DOWN renders as a CONTENT-PANE
|
|
1458
1466
|
// view inside the standard shell — the explorer sidebar is ALWAYS present, ledger-fed + honestly
|
|
1459
1467
|
// marked (from the SAME one-JSON discovery, never a second read). Content moves into the right pane
|
|
@@ -1470,13 +1478,33 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1470
1478
|
scroll: options.restoreScroll ?? 0,
|
|
1471
1479
|
});
|
|
1472
1480
|
}
|
|
1481
|
+
if (options.unavailable) {
|
|
1482
|
+
const detail = options.unavailable
|
|
1483
|
+
.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, "")
|
|
1484
|
+
.replace(/[\x00-\x1f\x7f]/g, " ")
|
|
1485
|
+
.replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/gi, "$1[redacted]@")
|
|
1486
|
+
.replace(/Bearer\s+[^\s]+/gi, "Bearer [redacted]");
|
|
1487
|
+
const summary = /NODE_MODULE_VERSION|ERR_DLOPEN_FAILED|better-sqlite3/i.test(detail)
|
|
1488
|
+
? "The installed native module cannot load in this runtime. Repair the installation prerequisite, then retry."
|
|
1489
|
+
: "Startup state could not be read. Retry after resolving the reported prerequisite.";
|
|
1490
|
+
return crashCartShell([
|
|
1491
|
+
{ text: "Startup prerequisite unavailable" },
|
|
1492
|
+
{ text: summary },
|
|
1493
|
+
{ text: "Saved identity and conversation history have not been classified as missing." },
|
|
1494
|
+
{ text: "" },
|
|
1495
|
+
{ text: "r retry · d details · q quit" },
|
|
1496
|
+
...(options.unavailableExpanded ? [{ text: "" }, { text: detail }] : []),
|
|
1497
|
+
], { note: "state unavailable", rows: [] }, "STARTUP", cols, rows, inputLine, { wrap: true, scroll: options.restoreScroll ?? 0 });
|
|
1498
|
+
}
|
|
1473
1499
|
if (options.daemonState === "down" && options.crashCart) {
|
|
1474
1500
|
const led = buildLedgerExplorer(options.crashCart.foundOnHost);
|
|
1475
1501
|
// B1 ROUND 10 — when a confirm is armed, render it at the TOP of the cockpit (where the operator
|
|
1476
1502
|
// looks) so the first ⏎ is visibly acknowledged; wrap so the sentence is not clipped at the pane edge.
|
|
1477
|
-
const content = options.
|
|
1478
|
-
? [
|
|
1479
|
-
:
|
|
1503
|
+
const content = options.starting
|
|
1504
|
+
? [{ text: `Starting daemon at ${options.starting}…` }, { text: "Seats remain stopped until selected." }]
|
|
1505
|
+
: options.confirm
|
|
1506
|
+
? [...renderConfirmBanner(options.confirm), ...renderCrashCartView(options.crashCart)]
|
|
1507
|
+
: renderCrashCartView(options.crashCart);
|
|
1480
1508
|
return crashCartShell(content, led, "CRASH-CART", cols, rows, inputLine, options.confirm ? { wrap: true } : undefined);
|
|
1481
1509
|
}
|
|
1482
1510
|
if (options.daemonState === "unverified" && options.daemonEvidence) {
|
|
@@ -1505,7 +1533,7 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1505
1533
|
// current insertion point for EMPTY and non-empty buffers alike — the
|
|
1506
1534
|
// shell accepts typing from the empty state, so the honest readiness
|
|
1507
1535
|
// affordance must show BEFORE the first key (no new focus state; stylize
|
|
1508
|
-
//
|
|
1536
|
+
// paints the cell; the shared motion clock controls its visibility).
|
|
1509
1537
|
lines.push(pad(`cmd ▸ ${inputLine}▊${inputLine ? "" : " Tab complete · ? help · timezone"}`, cols));
|
|
1510
1538
|
if (options.completion) {
|
|
1511
1539
|
lines.push(pad(options.completion.message, cols));
|
|
@@ -1514,31 +1542,16 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1514
1542
|
if (options.completion.candidates.length > 4)
|
|
1515
1543
|
lines.push(pad(" … keep typing to narrow matches", cols));
|
|
1516
1544
|
}
|
|
1517
|
-
|
|
1518
|
-
// entries render DIMMED-WITH-REASON, never hidden (PM pin); bounded height.
|
|
1519
|
-
if (state.palette) {
|
|
1520
|
-
const rows = filterPalette(state.palette.query, COMMAND_REGISTRY, options.commandContext ?? "standard");
|
|
1521
|
-
const sel = Math.min(state.palette.selection, Math.max(0, rows.length - 1));
|
|
1522
|
-
lines.push(pad(`? ${state.palette.query}▊ (${rows.length} commands · ↑↓ · ⏎ run · esc close)`, cols));
|
|
1523
|
-
for (let i = 0; i < Math.min(rows.length, 8); i += 1) {
|
|
1524
|
-
const r = rows[i];
|
|
1525
|
-
const mark = i === sel ? "▸" : " ";
|
|
1526
|
-
const label = `${r.entry.name}${r.entry.args ? " " + r.entry.args : ""}`;
|
|
1527
|
-
const alias = r.entry.aliases.length ? ` (${r.entry.aliases.join(",")})` : "";
|
|
1528
|
-
const tail = r.available ? r.entry.description : `${r.entry.description} — unavailable: ${r.reason}`;
|
|
1529
|
-
lines.push(pad(`${mark} ${label}${alias} ${tail}`, cols));
|
|
1530
|
-
}
|
|
1531
|
-
}
|
|
1532
|
-
const sectionTitle = { topology: "TOPOLOGY", specs: "SPECS", needs: "NEEDS-YOU" }[state.section] ?? state.section.toUpperCase();
|
|
1545
|
+
const sectionTitle = { topology: "TOPOLOGY", specs: "SPECS", scopes: "PROJECTS", needs: "ATTENTION" }[state.section] ?? state.section.toUpperCase();
|
|
1533
1546
|
// active-pane emphasis (k9s-class chrome): the focused pane's title is bracketed
|
|
1534
1547
|
const explorerTitle = state.focusedPane === "explorer" ? "{ EXPLORER }" : "EXPLORER";
|
|
1535
1548
|
const contentTitle = state.focusedPane === "content" ? `{ ${sectionTitle} }` : sectionTitle;
|
|
1536
|
-
lines.push(paneRule(cols, explW, "top", explorerTitle, contentTitle));
|
|
1537
|
-
const explorer = computeExplorerRows(state, snap);
|
|
1549
|
+
lines.push(fullReading ? pad(`━ ${state.file ? "READ" : state.externalUrl ? "EXTERNAL URL" : "SPECS"} · Esc / ← Back `, cols) : paneRule(cols, explW, "top", explorerTitle, contentTitle));
|
|
1550
|
+
const explorer = fullReading ? [] : computeExplorerRows(state, snap);
|
|
1538
1551
|
// Slice-17: the file-tree re-skin is a DISPLAY transform only — rows, keys,
|
|
1539
1552
|
// actions, and the hit-map all keep resolving against the row model above.
|
|
1540
1553
|
const { labels: explorerDisplay, metas: explorerMetas } = navigatorDisplay(explorer, snap, explW - 1);
|
|
1541
|
-
const content = contentLines(state, snap, Math.max(cols - explW - 2, 0), motion);
|
|
1554
|
+
const content = contentLines(state, snap, Math.max(cols - explW - (fullReading ? 1 : 2), 0), motion);
|
|
1542
1555
|
const footer = state.footerOn ? snap.stream.at(-1) : undefined;
|
|
1543
1556
|
// round-5 (guard): the tmux-style ONE-SHOT activity flash targets the
|
|
1544
1557
|
// flashed agent's EXPLORER row — per-seat pane-output events from the
|
|
@@ -1610,7 +1623,7 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1610
1623
|
else
|
|
1611
1624
|
contentMarker = "›";
|
|
1612
1625
|
}
|
|
1613
|
-
lines.push(pad(`${left}┃${contentMarker}${contentText}`, cols));
|
|
1626
|
+
lines.push(pad(fullReading ? `${contentMarker}${contentText}` : `${left}┃${contentMarker}${contentText}`, cols));
|
|
1614
1627
|
if (row) {
|
|
1615
1628
|
pushExplorerTargets(hitMap, row, explorerDisplay[explorerIndex] ?? row.label, y, explW);
|
|
1616
1629
|
explorerRows.push({ ...row, y });
|
|
@@ -1622,12 +1635,12 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1622
1635
|
}
|
|
1623
1636
|
// zones first: hit lookup takes the first match, so a zone wins over the row-wide action
|
|
1624
1637
|
for (const z of zones) {
|
|
1625
|
-
const target = { y, x1: explW + 3 + z.start, x2: explW + 2 + z.end, action: z.action };
|
|
1638
|
+
const target = { y, x1: (fullReading ? 2 : explW + 3) + z.start, x2: (fullReading ? 1 : explW + 2) + z.end, action: z.action };
|
|
1626
1639
|
hitMap.push(target);
|
|
1627
1640
|
contentTargets.push(target);
|
|
1628
1641
|
}
|
|
1629
1642
|
if (item?.action) {
|
|
1630
|
-
const target = { y, x1: explW + 3, x2: cols, action: item.action };
|
|
1643
|
+
const target = { y, x1: fullReading ? 2 : explW + 3, x2: cols, action: item.action };
|
|
1631
1644
|
hitMap.push(target);
|
|
1632
1645
|
contentTargets.push(target);
|
|
1633
1646
|
}
|
|
@@ -1638,8 +1651,8 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1638
1651
|
lines.push(pad(`≋ ${displayTime(footer.tsEmitted, state.timeZone)} ${footer.sourceSession}: ${footer.body}`, cols));
|
|
1639
1652
|
const drillPath = state.drill.map((d) => d.name).join(" → ");
|
|
1640
1653
|
const readWarn = snap.readErrors.length > 0 ? ` ⚠ ${snap.readErrors.length} read(s) failed: ${snap.readErrors[0]}` : "";
|
|
1641
|
-
lines.push(paneRule(cols, explW, "bottom"));
|
|
1642
|
-
lines.push(pad(keybindHints(state), cols));
|
|
1654
|
+
lines.push(fullReading ? "━".repeat(cols) : paneRule(cols, explW, "bottom"));
|
|
1655
|
+
lines.push(pad(fullReading ? "↑↓ scroll / links · → links · Enter open · Esc Back · refresh · v copy" : keybindHints(state), cols));
|
|
1643
1656
|
lines.push(pad(`[${state.instanceId}] ${state.section}${drillPath ? " · " + drillPath : ""}${state.lastError ? " ✗ " + state.lastError : ""}${state.notice ? " ▸ " + state.notice : ""}${readWarn}${state.timeZoneWarning ? " · ⚠ timezone; run timezone" : ""}`, cols));
|
|
1644
1657
|
while (lines.length < rows)
|
|
1645
1658
|
lines.push("");
|