@openrig/cli 0.5.10 → 0.5.12
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/README.md +24 -5
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +7 -4
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +4 -2
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +11 -14
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +51 -59
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +11 -10
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +66 -66
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh +1 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md +7 -5
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/PLAYBOOK.md +3 -4
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SPEC.md +7 -7
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +55 -64
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +14 -58
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +8 -9
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +20 -46
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +62 -76
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +28 -22
- package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +13 -15
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -3
- package/daemon/context-packs/onboarding-width/public-reference-material.md +19 -24
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +143 -41
- 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/SKILL.md +4 -2
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +11 -14
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +51 -59
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/SKILL.md +21 -19
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +11 -10
- 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/SKILL.md +84 -148
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +3 -3
- 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/SKILL.md +40 -47
- 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/SKILL.md +16 -0
- 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/SKILL.md +12 -10
- 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/SKILL.md +15 -13
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +11 -10
- 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 +66 -66
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/scripts/trunk-diff.sh +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/templates/LEARNED.md +7 -5
- package/daemon/context-packs/skills/openrig-operating-model/templates/PLAYBOOK.md +3 -4
- package/daemon/context-packs/skills/openrig-operating-model/templates/SPEC.md +7 -7
- package/daemon/context-packs/skills/openrig-user/SKILL.md +55 -64
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/CHANGELOG.md +14 -58
- 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/SKILL.md +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/SKILL.md +2 -2
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +3 -3
- 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/SKILL.md +41 -59
- 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/LOCAL-INSIGHTS.md +24 -53
- 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/find-polluter.sh +29 -15
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +47 -40
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +3 -3
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/SKILL.md +8 -9
- 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/CHANGELOG.md +20 -46
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +62 -76
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/SKILL.md +28 -22
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +13 -15
- 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/build-your-world.md +12 -7
- 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 +22 -10
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +71 -36
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/daemon-shutdown.d.ts +27 -0
- package/daemon/dist/daemon-shutdown.d.ts.map +1 -0
- package/daemon/dist/daemon-shutdown.js +84 -0
- package/daemon/dist/daemon-shutdown.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/codex-thread-id.d.ts +1 -0
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +32 -23
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts +2 -0
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +7 -28
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/crash-cart-conductor.js +1 -1
- package/daemon/dist/domain/crash-cart-conductor.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.map +1 -1
- package/daemon/dist/domain/execution-view.js +68 -5
- package/daemon/dist/domain/execution-view.js.map +1 -1
- 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/channel-operations.d.ts +1 -1
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts +90 -0
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/connections-projection.js +171 -0
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +3 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +3 -1
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +3 -2
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/health-diagnosis.js +1 -1
- package/daemon/dist/domain/health-diagnosis.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/lifecycle-obligations.d.ts +18 -0
- package/daemon/dist/domain/lifecycle-obligations.d.ts.map +1 -0
- package/daemon/dist/domain/lifecycle-obligations.js +35 -0
- package/daemon/dist/domain/lifecycle-obligations.js.map +1 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +6 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.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 +1 -0
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.js +19 -9
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts +9 -0
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.js +121 -23
- 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 +52 -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/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 +55 -2
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +11 -4
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts +2 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +26 -0
- 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 +69 -20
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
- package/daemon/dist/domain/startup-proof.js +10 -9
- package/daemon/dist/domain/startup-proof.js.map +1 -1
- package/daemon/dist/domain/startup-resolver.d.ts +3 -1
- package/daemon/dist/domain/startup-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/startup-resolver.js +18 -0
- package/daemon/dist/domain/startup-resolver.js.map +1 -1
- package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
- package/daemon/dist/domain/startup-validation.js +12 -1
- package/daemon/dist/domain/startup-validation.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +26 -1
- 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/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +14 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- 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.map +1 -1
- package/daemon/dist/domain/view-projector.js +4 -0
- 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-boot-sweep.d.ts +1 -0
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.js +3 -0
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts +4 -3
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +32 -50
- 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 +7 -3
- package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-router.js +13 -7
- 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-human-destination.d.ts +18 -0
- package/daemon/dist/domain/workflow-human-destination.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-human-destination.js +40 -0
- package/daemon/dist/domain/workflow-human-destination.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 +15 -5
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +97 -78
- 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-role-context.d.ts +4 -6
- package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-role-context.js +7 -14
- package/daemon/dist/domain/workflow-role-context.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +91 -5
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +163 -39
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-validator.js +39 -24
- package/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +38 -96
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/project-lifecycle-surface.d.ts +1 -1
- package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +1 -1
- package/daemon/dist/routes/activity.js.map +1 -1
- 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/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +10 -0
- package/daemon/dist/routes/gateway.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/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +4 -3
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/require-sender-identity.d.ts +3 -1
- package/daemon/dist/routes/require-sender-identity.d.ts.map +1 -1
- package/daemon/dist/routes/require-sender-identity.js +11 -5
- package/daemon/dist/routes/require-sender-identity.js.map +1 -1
- 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/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 +15 -4
- 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/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +95 -27
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +8 -2
- package/daemon/dist/routes/slices.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/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/workflow.d.ts.map +1 -1
- package/daemon/dist/routes/workflow.js +49 -3
- package/daemon/dist/routes/workflow.js.map +1 -1
- package/daemon/dist/server.d.ts +1 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +7 -1
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +21 -5
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +7 -1
- package/daemon/docs/reference/getting-started.md +147 -30
- package/daemon/docs/reference/health-diagnosis.md +26 -0
- package/daemon/docs/reference/legacy-topology-migration.md +1 -2
- package/daemon/docs/reference/mission-install.md +10 -11
- package/daemon/docs/reference/planning-dial.md +12 -14
- package/daemon/docs/reference/project-release-profile.yaml +86 -0
- package/daemon/docs/reference/refocus-channel.md +1 -4
- package/daemon/docs/reference/release-boundary.md +38 -30
- package/daemon/docs/reference/rig-spec.md +49 -10
- 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/agents/conveyor/planner/guidance/role.md +5 -3
- package/daemon/specs/agents/conveyor/planner/startup/context.md +13 -4
- package/daemon/specs/agents/design/product-designer/agent.yaml +4 -3
- package/daemon/specs/agents/design/product-designer/guidance/role.md +12 -10
- package/daemon/specs/agents/product-management/pm/guidance/role.md +19 -17
- package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +21 -19
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +11 -10
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +84 -148
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +40 -47
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +16 -0
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +12 -10
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +15 -13
- package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +3 -3
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +41 -59
- package/daemon/specs/agents/shared/skills/process/agent-browser/LOCAL-INSIGHTS.md +24 -53
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +29 -15
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +47 -40
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +3 -3
- package/daemon/specs/rigs/launch/first-project/CULTURE.md +39 -0
- package/daemon/specs/rigs/launch/first-project/rig.yaml +31 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +24 -10
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +11 -12
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +19 -11
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +3 -2
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +15 -8
- package/daemon/specs/rigs/launch/kernel/rig-claude-only.yaml +7 -0
- package/daemon/specs/rigs/launch/kernel/rig-codex-only.yaml +7 -0
- package/daemon/specs/rigs/launch/kernel/rig.yaml +9 -4
- package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +6 -4
- 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/client.d.ts +6 -20
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +53 -32
- package/dist/client.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +1 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +15 -13
- 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/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +31 -27
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/destroy.js +1 -1
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +59 -7
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +2 -2
- package/dist/commands/launch.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.d.ts.map +1 -1
- package/dist/commands/queue.js +10 -6
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +4 -8
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +10 -9
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/tui.d.ts +2 -0
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +26 -10
- package/dist/commands/tui.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +24 -48
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/workflow-render.d.ts +69 -0
- package/dist/commands/workflow-render.d.ts.map +1 -1
- package/dist/commands/workflow-render.js +53 -1
- package/dist/commands/workflow-render.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +110 -7
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config-store.d.ts +2 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +15 -0
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-executor.d.ts +1 -1
- package/dist/cross-host-executor.js +2 -2
- package/dist/cross-host-executor.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +8 -11
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +281 -146
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-start-lock.d.ts +9 -0
- package/dist/daemon-start-lock.d.ts.map +1 -0
- package/dist/daemon-start-lock.js +47 -0
- package/dist/daemon-start-lock.js.map +1 -0
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +11 -1
- package/dist/front-door.js.map +1 -1
- package/dist/lib/file-transfer.js +1 -1
- package/dist/lib/file-transfer.js.map +1 -1
- package/dist/lib/walk-consumption.d.ts +6 -0
- package/dist/lib/walk-consumption.d.ts.map +1 -0
- package/dist/lib/walk-consumption.js +78 -0
- package/dist/lib/walk-consumption.js.map +1 -0
- package/dist/local-origin.d.ts +3 -0
- package/dist/local-origin.d.ts.map +1 -0
- package/dist/local-origin.js +37 -0
- package/dist/local-origin.js.map +1 -0
- package/dist/read-view.d.ts +17 -0
- package/dist/read-view.d.ts.map +1 -0
- package/dist/read-view.js +17 -0
- package/dist/read-view.js.map +1 -0
- package/dist/shared-tui.d.ts +12 -0
- package/dist/shared-tui.d.ts.map +1 -0
- package/dist/shared-tui.js +37 -0
- package/dist/shared-tui.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 +22 -10
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +71 -36
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts +27 -0
- package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/daemon-shutdown.js +84 -0
- package/node_modules/@openrig/daemon/dist/daemon-shutdown.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/codex-thread-id.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +32 -23
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +7 -28
- package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.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.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +68 -5
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
- 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/channel-operations.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +90 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js +171 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +3 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +3 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.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/lifecycle-obligations.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.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 +1 -0
- 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 +19 -9
- 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 +9 -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 +121 -23
- 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 +52 -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/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 +55 -2
- 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 +2 -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 +11 -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 +2 -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 +26 -0
- 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 +69 -20
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-proof.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-proof.js +10 -9
- package/node_modules/@openrig/daemon/dist/domain/startup-proof.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-validation.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-validation.js +12 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-validation.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +26 -1
- 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/user-settings/settings-store.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +14 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- 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.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +4 -0
- 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-boot-sweep.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts +4 -3
- 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 +32 -50
- 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 +7 -3
- 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 +13 -7
- 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-human-destination.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.js +40 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.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 +15 -5
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +97 -78
- 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-role-context.d.ts +4 -6
- package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js +7 -14
- package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +91 -5
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +163 -39
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +39 -24
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +38 -96
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -1
- 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/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/gateway.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +10 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.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/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +4 -3
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js +11 -5
- package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js.map +1 -1
- 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/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 +15 -4
- 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/sessions.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js +95 -27
- package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.js +8 -2
- package/node_modules/@openrig/daemon/dist/routes/slices.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/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/workflow.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/workflow.js +49 -3
- package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +7 -1
- 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 +21 -5
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +5 -1
- package/package.json +3 -2
- package/tui/dist/commands/completion.d.ts +8 -0
- package/tui/dist/commands/completion.d.ts.map +1 -0
- package/tui/dist/commands/completion.js +37 -0
- package/tui/dist/commands/completion.js.map +1 -0
- package/tui/dist/commands/registry.d.ts +7 -1
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +51 -0
- 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 +215 -0
- package/tui/dist/config/config-model.js.map +1 -0
- package/tui/dist/connections/connections-model.d.ts +72 -0
- package/tui/dist/connections/connections-model.d.ts.map +1 -0
- package/tui/dist/connections/connections-model.js +64 -0
- package/tui/dist/connections/connections-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 +11 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +38 -3
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/detail.d.ts +3 -0
- package/tui/dist/detail.d.ts.map +1 -1
- package/tui/dist/detail.js +23 -0
- package/tui/dist/detail.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts +15 -1
- package/tui/dist/execution/execution-model.d.ts.map +1 -1
- package/tui/dist/execution/execution-model.js +90 -187
- package/tui/dist/execution/execution-model.js.map +1 -1
- package/tui/dist/execution/workflow-model.d.ts +6 -0
- package/tui/dist/execution/workflow-model.d.ts.map +1 -0
- package/tui/dist/execution/workflow-model.js +231 -0
- package/tui/dist/execution/workflow-model.js.map +1 -0
- package/tui/dist/grammar.d.ts.map +1 -1
- package/tui/dist/grammar.js +1 -2
- package/tui/dist/grammar.js.map +1 -1
- package/tui/dist/health/health-model.d.ts +1 -1
- package/tui/dist/health/health-model.d.ts.map +1 -1
- package/tui/dist/health/health-model.js +5 -4
- package/tui/dist/health/health-model.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +85 -8
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts +2 -0
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +28 -6
- 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/main.js +196 -18
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts +9 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +177 -80
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts +44 -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 +2 -0
- package/tui/dist/sections.js.map +1 -1
- package/tui/dist/socket-server.d.ts +4 -0
- package/tui/dist/socket-server.d.ts.map +1 -1
- package/tui/dist/socket-server.js +4 -0
- package/tui/dist/socket-server.js.map +1 -1
- package/tui/dist/startup.d.ts +82 -0
- package/tui/dist/startup.d.ts.map +1 -0
- package/tui/dist/startup.js +273 -0
- package/tui/dist/startup.js.map +1 -0
- package/tui/dist/state.d.ts +3 -1
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +74 -10
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/stylize.js +3 -3
- package/tui/dist/stylize.js.map +1 -1
- package/tui/dist/time.d.ts +9 -0
- package/tui/dist/time.d.ts.map +1 -0
- package/tui/dist/time.js +42 -0
- package/tui/dist/time.js.map +1 -0
- package/tui/dist/types.d.ts +51 -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,3 +1,7 @@
|
|
|
1
|
+
import { DEFAULT_TIME_ZONE, displayTime } from "./time.js";
|
|
2
|
+
import { startupLines } from "./startup.js";
|
|
3
|
+
import { configLines } from "./config/config-model.js";
|
|
4
|
+
import { connectionsLines } from "./connections/connections-model.js";
|
|
1
5
|
// Hand-rolled ANSI renderer (Phase-0 substrate decision). Pure function:
|
|
2
6
|
// (state, snapshot) → {lines, hitMap, explorerRows}. BOTH panes emit hit
|
|
3
7
|
// targets — explorer rows AND content-pane surfaces (table rows, view tabs,
|
|
@@ -18,7 +22,7 @@ import { buildLedgerExplorer } from "./crash-cart/ledger-explorer.js";
|
|
|
18
22
|
import { runtimeMarkSegs } from "./topology/runtime-marks.js";
|
|
19
23
|
import { barCells, flashActive, reducedMotion, spinnerFrame } from "./motion.js";
|
|
20
24
|
import { explorerWidth, MOTION_FRAME_MS } from "./visual-layout.js";
|
|
21
|
-
import { detailPage, fieldLine, sectionRule, listItem, alignedRow, LABEL_W } from "./detail.js";
|
|
25
|
+
import { detailPage, fieldLine, sectionRule, listItem, alignedRow, LABEL_W, wrapDetailLines } from "./detail.js";
|
|
22
26
|
import { healthAgentLines, healthDetailLines, healthListLines, healthSummaryLine } from "./health/health-model.js";
|
|
23
27
|
function pad(text, width) {
|
|
24
28
|
const t = String(text ?? "");
|
|
@@ -216,7 +220,7 @@ function workRows(rows, width) {
|
|
|
216
220
|
];
|
|
217
221
|
});
|
|
218
222
|
}
|
|
219
|
-
function agentDetailLines(snap, found, contentWidth) {
|
|
223
|
+
function agentDetailLines(snap, found, contentWidth, timeZone = DEFAULT_TIME_ZONE) {
|
|
220
224
|
const { agent, rig, pod } = found;
|
|
221
225
|
const session = agent.session;
|
|
222
226
|
const specInLibrary = !!agent.spec && !!findSpec(snap, agent.spec);
|
|
@@ -271,7 +275,7 @@ function agentDetailLines(snap, found, contentWidth) {
|
|
|
271
275
|
...(activityReason ? [{ label: "reason", value: activityReason }] : []),
|
|
272
276
|
...(agent.activity?.decidedBy ? [{ label: "decided by", value: agent.activity.decidedBy }] : []),
|
|
273
277
|
...(agent.activity?.signalSource || agent.activity?.signalReason ? [{ label: "signal", value: `${agent.activity.signalSource ?? "unknown"} · ${agent.activity.signalReason ?? "no reason"}` }] : []),
|
|
274
|
-
...(agent.activity?.eventAt ? [{ label: "changed", value: agent.activity.eventAt }] : []),
|
|
278
|
+
...(agent.activity?.eventAt ? [{ label: "changed", value: displayTime(agent.activity.eventAt, timeZone) }] : []),
|
|
275
279
|
],
|
|
276
280
|
},
|
|
277
281
|
{
|
|
@@ -307,10 +311,16 @@ function agentDetailLines(snap, found, contentWidth) {
|
|
|
307
311
|
],
|
|
308
312
|
},
|
|
309
313
|
{
|
|
310
|
-
title: "SPEC",
|
|
314
|
+
title: "SPEC · effective seat binding",
|
|
311
315
|
fields: [specInLibrary
|
|
312
316
|
? { label: "spec", value: agent.spec, link: { type: "cross", kind: "spec-of", name: agent.name, target: { host: found.host.name, rig: rig.name, pod: pod.name } } }
|
|
313
317
|
: { label: "spec", value: agent.spec ? `${agent.spec} (not in library)` : "—" }],
|
|
318
|
+
lines: [
|
|
319
|
+
...wrapDetailValue("profile", agent.profile ?? "not served", contentWidth),
|
|
320
|
+
...wrapDetailValue("version", agent.specVersion ?? "not served", contentWidth),
|
|
321
|
+
...wrapDetailValue("source hash", agent.specHash ?? "not served", contentWidth),
|
|
322
|
+
...wrapDetailValue("basis", "Served seat binding; the authored library may have changed since launch.", contentWidth),
|
|
323
|
+
],
|
|
314
324
|
},
|
|
315
325
|
]),
|
|
316
326
|
];
|
|
@@ -335,12 +345,6 @@ function tabsLine(state, suffix) {
|
|
|
335
345
|
}
|
|
336
346
|
return [{ text, zones }];
|
|
337
347
|
}
|
|
338
|
-
function localClock(iso) {
|
|
339
|
-
const date = new Date(iso);
|
|
340
|
-
if (Number.isNaN(date.getTime()))
|
|
341
|
-
return "??:??";
|
|
342
|
-
return `${String(date.getHours()).padStart(2, "0")}:${String(date.getMinutes()).padStart(2, "0")}`;
|
|
343
|
-
}
|
|
344
348
|
function queueRows(snap) {
|
|
345
349
|
return [...snap.attention, ...snap.blocked, ...snap.inProgress, ...snap.pending, ...snap.recentlyFinished];
|
|
346
350
|
}
|
|
@@ -381,53 +385,54 @@ function recentScopeMatches(snap, scope) {
|
|
|
381
385
|
return false;
|
|
382
386
|
return scope.kind === "instance" || (served.kind === "rig" && served.rig === scope.rig);
|
|
383
387
|
}
|
|
384
|
-
function recentLines(snap, scope, width, expanded) {
|
|
388
|
+
function recentLines(snap, scope, width, expanded, timeZone) {
|
|
385
389
|
if (!recentScopeMatches(snap, scope) || snap.recentTransitions == null)
|
|
386
390
|
return [];
|
|
387
|
-
const timeW = 5;
|
|
388
391
|
const rows = expanded ? snap.recentTransitions : snap.recentTransitions.slice(-5);
|
|
389
392
|
const lines = [
|
|
390
393
|
...(expanded ? [] : [{ text: "" }]),
|
|
391
|
-
sectionRule(`RECENT · ${scope.kind === "instance" ? "instance" : `rig ${scope.rig}`}
|
|
394
|
+
sectionRule(`RECENT · ${scope.kind === "instance" ? "instance" : `rig ${scope.rig}`}`, width),
|
|
395
|
+
{ text: " Recorded queue changes · oldest to newest · Enter inspects" },
|
|
392
396
|
];
|
|
393
397
|
if (rows.length === 0)
|
|
394
398
|
return [...lines, { text: " No recorded transitions in the current window." }];
|
|
395
|
-
if (width < 78) {
|
|
396
|
-
const rigW = scope.kind === "instance" ? 9 : 0;
|
|
397
|
-
const changeW = Math.max(16, width - timeW - rigW - 2);
|
|
398
|
-
lines.push({ text: alignedRow([["TIME", timeW], ...(rigW ? [["RIG", rigW]] : []), ["CHANGE", changeW]]) });
|
|
399
|
-
for (const row of rows) {
|
|
400
|
-
const action = recentTargetAction(snap, row);
|
|
401
|
-
lines.push({
|
|
402
|
-
text: alignedRow([[localClock(row.ts), timeW], ...(rigW ? [[pad(row.rig ?? "?", rigW), rigW]] : []), [pad(row.change, changeW), changeW]]).slice(0, width),
|
|
403
|
-
...(action ? { action } : {}),
|
|
404
|
-
});
|
|
405
|
-
lines.push({ text: ` ${pad(row.actorSession, Math.max(8, width - 8))}`.slice(0, width), ...(action ? { action } : {}) });
|
|
406
|
-
lines.push({ text: ` → ${row.target}`.slice(0, width), ...(action ? { action } : {}) });
|
|
407
|
-
lines.push(...wrapDetailValue("work", recentWorkText(snap, row), width)
|
|
408
|
-
.map((line) => ({ ...line, ...(action ? { action } : {}) })));
|
|
409
|
-
}
|
|
410
|
-
return lines;
|
|
411
|
-
}
|
|
412
|
-
const rigW = scope.kind === "instance" ? Math.min(16, Math.max(9, Math.floor(width * 0.13))) : 0;
|
|
413
|
-
const actorW = Math.min(26, Math.max(16, Math.floor(width * 0.21)));
|
|
414
|
-
const changeW = Math.min(36, Math.max(20, Math.floor(width * 0.28)));
|
|
415
|
-
const targetW = Math.max(10, width - timeW - rigW - actorW - changeW - (scope.kind === "instance" ? 4 : 3));
|
|
416
|
-
lines.push({ text: alignedRow([["TIME", timeW], ...(scope.kind === "instance" ? [["RIG", rigW]] : []), ["ACTOR", actorW], ["CHANGE", changeW], ["TARGET", targetW]]) });
|
|
417
399
|
for (const row of rows) {
|
|
418
|
-
|
|
419
|
-
const text = alignedRow([
|
|
420
|
-
[localClock(row.ts), timeW],
|
|
421
|
-
...(scope.kind === "instance" ? [[pad(row.rig ?? "?", rigW), rigW]] : []),
|
|
422
|
-
[pad(row.actorSession, actorW), actorW],
|
|
423
|
-
[pad(row.change, changeW), changeW],
|
|
424
|
-
[pad(row.target, targetW), targetW],
|
|
425
|
-
]).slice(0, width);
|
|
426
|
-
lines.push({ text, ...(action ? { action } : {}) });
|
|
427
|
-
lines.push(...wrapDetailValue("work", recentWorkText(snap, row), width)
|
|
428
|
-
.map((line) => ({ ...line, ...(action ? { action } : {}) })));
|
|
400
|
+
lines.push(listItem(`${displayTime(row.ts, timeZone)} · #${row.transitionId}`, { type: "recent-open", transitionId: row.transitionId }), { text: ` ${row.actorSession || "actor unknown"} · ${row.change || "change unknown"}` }, { text: ` ${recentWorkText(snap, row)}` }, { text: ` ${row.targetKind}: ${row.target}${scope.kind === "instance" ? ` · rig ${row.rig ?? "unknown"}` : ""}` }, { text: "" });
|
|
429
401
|
}
|
|
430
|
-
return lines;
|
|
402
|
+
return wrapDetailLines(lines, width);
|
|
403
|
+
}
|
|
404
|
+
function recentDetailLines(state, snap, width) {
|
|
405
|
+
const row = state.recentOpen;
|
|
406
|
+
const target = recentTargetAction(snap, row);
|
|
407
|
+
return wrapDetailLines([
|
|
408
|
+
{ text: `Recent event #${row.transitionId} · Esc returns` },
|
|
409
|
+
fieldLine({ label: "when", value: displayTime(row.ts, state.timeZone) }),
|
|
410
|
+
fieldLine({ label: "actor", value: row.actorSession || "unknown" }),
|
|
411
|
+
fieldLine({ label: "change", value: row.change || "unknown" }),
|
|
412
|
+
fieldLine({ label: "work", value: recentWorkText(snap, row) }),
|
|
413
|
+
fieldLine({ label: "target", value: `${row.targetKind}: ${row.target}` }),
|
|
414
|
+
fieldLine({ label: "rig", value: row.rig ?? "not served" }),
|
|
415
|
+
fieldLine({ label: "queue item", value: row.qitemId }),
|
|
416
|
+
fieldLine({ label: "raw time", value: row.ts }),
|
|
417
|
+
{ text: " This is the recorded change, not an independent check of its outcome." },
|
|
418
|
+
...(target ? [listItem("Related work / owner", target)] : [{ text: " Related work is outside the current snapshot." }]),
|
|
419
|
+
listItem("Back · Esc", { type: "back" }),
|
|
420
|
+
], width);
|
|
421
|
+
}
|
|
422
|
+
function timeZoneLines(state, width) {
|
|
423
|
+
return wrapDetailLines([
|
|
424
|
+
{ text: "Local time · presentation setting" },
|
|
425
|
+
fieldLine({ label: "timezone", value: state.timeZone }),
|
|
426
|
+
...(state.timeZoneWarning ? [{ text: ` ${state.timeZoneWarning}` }] : []),
|
|
427
|
+
{ text: " Absolute times include date and zone. Daylight saving follows the named zone. Elapsed ages stay relative; source timestamps are unchanged." },
|
|
428
|
+
{ text: "" },
|
|
429
|
+
{ text: " Change the persistent setting from the shell, then reopen this TUI:" },
|
|
430
|
+
{ text: " rig config set ui.timezone Europe/London" },
|
|
431
|
+
{ text: " rig config reset ui.timezone" },
|
|
432
|
+
{ text: " rig config get ui.timezone --show-source" },
|
|
433
|
+
{ text: " Default: America/Los_Angeles. OPENRIG_UI_TIMEZONE overrides the file setting on this TUI's instance." },
|
|
434
|
+
listItem("Back · Esc", { type: "back" }),
|
|
435
|
+
], width);
|
|
431
436
|
}
|
|
432
437
|
function specTabsLine(state, name) {
|
|
433
438
|
const active = state.viewTab === "topology" || state.viewTab === "yaml" ? state.viewTab : "configuration";
|
|
@@ -511,7 +516,7 @@ function instanceContentLines(state, snap, host, contentWidth, motion) {
|
|
|
511
516
|
if (state.viewTab === "health")
|
|
512
517
|
return [...lines, { text: "" }, ...healthListLines(snap, scope, contentWidth)];
|
|
513
518
|
if (state.viewTab === "recent") {
|
|
514
|
-
const recent = recentLines(snap, scope, contentWidth, true);
|
|
519
|
+
const recent = recentLines(snap, scope, contentWidth, true, state.timeZone);
|
|
515
520
|
return recent.length > 0
|
|
516
521
|
? [...lines, ...recent]
|
|
517
522
|
: [...lines, { text: "" }, { text: motion.loading ? `${motion.frame} instance RECENT read pending` : "(instance RECENT window not served)" }];
|
|
@@ -623,15 +628,23 @@ function instanceContentLines(state, snap, host, contentWidth, motion) {
|
|
|
623
628
|
}
|
|
624
629
|
}
|
|
625
630
|
lines.push({ text: "" }, { text: `${host.rigs.length} rigs · ${seatCount} seats · ${workingCount} working · ${attentionCount} need attention · ${openCount} open rows` });
|
|
626
|
-
lines.push(...recentLines(snap, scope, contentWidth, false));
|
|
631
|
+
lines.push(...recentLines(snap, scope, contentWidth, false, state.timeZone));
|
|
627
632
|
return lines;
|
|
628
633
|
}
|
|
629
634
|
function contentLines(state, snap, contentWidth, motion) {
|
|
630
635
|
const contentWidthForGraph = contentWidth;
|
|
631
636
|
void contentWidthForGraph;
|
|
632
637
|
const lines = [];
|
|
638
|
+
if (state.timeZoneHelp)
|
|
639
|
+
return timeZoneLines(state, contentWidth);
|
|
640
|
+
if (state.recentOpen)
|
|
641
|
+
return recentDetailLines(state, snap, contentWidth);
|
|
642
|
+
if (state.section === "config")
|
|
643
|
+
return configLines(state, snap, contentWidth);
|
|
644
|
+
if (state.section === "connections")
|
|
645
|
+
return connectionsLines(snap, contentWidth, state.timeZone);
|
|
633
646
|
if (state.healthOpen)
|
|
634
|
-
return healthDetailLines(snap, state.healthOpen, contentWidth);
|
|
647
|
+
return healthDetailLines(snap, state.healthOpen, contentWidth, state.timeZone);
|
|
635
648
|
// PULSE is a FULL-WIDTH view handled by an early return in renderScreen
|
|
636
649
|
// (renderPulseScreen) — it never reaches the sidebar+content layout below.
|
|
637
650
|
if (state.section === "topology") {
|
|
@@ -658,7 +671,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
658
671
|
const found = hostName ? findAgent(snap, leaf.name, { host: hostName, rig: rigName, pod: podName }) : findAgent(snap, leaf.name);
|
|
659
672
|
if (!found)
|
|
660
673
|
return [{ text: `agent "${leaf.name}" not in the current snapshot` }];
|
|
661
|
-
return agentDetailLines(snap, found, contentWidth);
|
|
674
|
+
return agentDetailLines(snap, found, contentWidth, state.timeZone);
|
|
662
675
|
}
|
|
663
676
|
const hostName = state.drill.find((d) => d.kind === "host")?.name;
|
|
664
677
|
const host = (hostName ? snap.hosts.find((candidate) => candidate.name === hostName) : snap.hosts[0]);
|
|
@@ -692,7 +705,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
692
705
|
if (state.viewTab === "health")
|
|
693
706
|
return [...lines, { text: "" }, ...healthListLines(snap, healthScope, contentWidth)];
|
|
694
707
|
if (state.viewTab === "recent") {
|
|
695
|
-
const recent = recentLines(snap, { kind: "rig", rig: rig.name }, contentWidth, true);
|
|
708
|
+
const recent = recentLines(snap, { kind: "rig", rig: rig.name }, contentWidth, true, state.timeZone);
|
|
696
709
|
return recent.length > 0
|
|
697
710
|
? [...lines, ...recent]
|
|
698
711
|
: [...lines, { text: "" }, { text: motion.loading ? `${motion.frame} rig RECENT read pending` : "(rig RECENT window not served)" }];
|
|
@@ -745,6 +758,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
745
758
|
lines.push({ text: ` style: ${state.graphStyle} · style hatchet|braille|braille-fallback rides the command bar` });
|
|
746
759
|
return lines;
|
|
747
760
|
}
|
|
761
|
+
lines.push(listItem("CONFIG · instance settings", { type: "jump", section: "config" }));
|
|
748
762
|
lines.push(healthSummaryLine(snap, healthScope, contentWidth));
|
|
749
763
|
lines.push({ text: state.filter ? `/ filter agents: ${state.filter} · / replace · esc clear` : "/ filter agents…" });
|
|
750
764
|
if (state.viewTab === "overview") {
|
|
@@ -826,7 +840,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
826
840
|
const attention = rows.filter((agent) => /attention|needs|blocked|unknown|failed/.test(agent.status)).length;
|
|
827
841
|
lines.push({ text: `${rows.length} seats · ${working} working · ${attention} need attention · ${rows.reduce((n, agent) => n + queueFacts(snap, agent.session).count, 0)} open rows` });
|
|
828
842
|
if (!podFilter)
|
|
829
|
-
lines.push(...recentLines(snap, { kind: "rig", rig: rig.name }, contentWidth, false));
|
|
843
|
+
lines.push(...recentLines(snap, { kind: "rig", rig: rig.name }, contentWidth, false, state.timeZone));
|
|
830
844
|
return lines;
|
|
831
845
|
}
|
|
832
846
|
if (state.section === "specs") {
|
|
@@ -835,8 +849,28 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
835
849
|
const spec = findSpec(snap, leaf.name);
|
|
836
850
|
if (!spec)
|
|
837
851
|
return [{ text: `spec "${leaf.name}" not in the current snapshot` }];
|
|
838
|
-
if (spec.kind === "rig")
|
|
852
|
+
if (spec.kind === "rig")
|
|
839
853
|
lines.push(specTabsLine(state, spec.name));
|
|
854
|
+
lines.push({ text: `${spec.kind} spec ${spec.name}` });
|
|
855
|
+
lines.push(fieldLine({ label: "purpose", value: spec.description ?? "not declared in the available source" }));
|
|
856
|
+
lines.push(fieldLine({ label: "provenance", value: `${sourceProvenance(spec)} · ${spec.sourceState ?? "source state not served"}` }));
|
|
857
|
+
lines.push(fieldLine({ label: "source", value: spec.sourcePath ?? "path unavailable" }));
|
|
858
|
+
lines.push({ text: " Authored declaration. Resource availability is not the effective loadout of a running seat." });
|
|
859
|
+
lines.push(sectionRule("Observed consumers · open for effective runtime/configuration", contentWidth));
|
|
860
|
+
for (const consumer of spec.consumers ?? []) {
|
|
861
|
+
const resource = consumer.agent ? "agent" : "rig";
|
|
862
|
+
lines.push(listItem(`${consumer.agent ?? consumer.rig} · ${consumer.status ?? "unknown"}${consumer.runtime ? ` · ${consumer.runtime}` : ""}${consumer.model ? ` · ${consumer.model}` : ""}`, { type: "drill", resource, name: consumer.agent ?? consumer.rig, target: { host: consumer.host, rig: consumer.rig } }));
|
|
863
|
+
}
|
|
864
|
+
if (spec.consumers && !spec.consumers.length)
|
|
865
|
+
lines.push({ text: " No consumers observed in the available local inventory (remote seats are not enumerated)." });
|
|
866
|
+
if (spec.consumers === undefined)
|
|
867
|
+
lines.push({ text: " Consumer projection unavailable." });
|
|
868
|
+
for (const error of snap.readErrors.filter((error) => error.startsWith("nodes(") || error.startsWith("rig-spec(") || error.startsWith("rigs-summary:")))
|
|
869
|
+
lines.push({ text: ` Inventory incomplete: ${error}` });
|
|
870
|
+
lines.push(listItem("Back · Esc", { type: "back" }));
|
|
871
|
+
if (spec.sourceUnavailable)
|
|
872
|
+
return wrapDetailLines([...lines, { text: ` Source unavailable: ${spec.sourceUnavailable}` }], contentWidth);
|
|
873
|
+
if (spec.kind === "rig") {
|
|
840
874
|
if (spec.sourcePath)
|
|
841
875
|
lines.push(fieldLine({ label: "source", value: `${displayPath(spec.sourcePath, 56)} · ${sourceProvenance(spec)}` }));
|
|
842
876
|
if (state.viewTab === "topology") {
|
|
@@ -848,7 +882,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
848
882
|
lines.push({ text: "" });
|
|
849
883
|
if (nodes.length === 0) {
|
|
850
884
|
lines.push({ text: " (topology projection is empty)" });
|
|
851
|
-
return lines;
|
|
885
|
+
return wrapDetailLines(lines, contentWidth);
|
|
852
886
|
}
|
|
853
887
|
lines.push({ text: ` ${alignedRow(NODE_COLS)}` });
|
|
854
888
|
lines.push({ text: ` ${"─".repeat(NODE_COLS.reduce((n, [, w]) => n + w + 1, -1))}` });
|
|
@@ -860,12 +894,12 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
860
894
|
for (const edge of graphEdges)
|
|
861
895
|
lines.push({ text: ` ${alignedRow([[edge.source, 16], ["→", 2], [edge.target, 20]])} (${edge.kind})` });
|
|
862
896
|
}
|
|
863
|
-
return lines;
|
|
897
|
+
return wrapDetailLines(lines, contentWidth);
|
|
864
898
|
}
|
|
865
899
|
if (state.viewTab === "yaml") {
|
|
866
900
|
for (const rawLine of (spec.raw ?? "# raw YAML unavailable").split("\n"))
|
|
867
901
|
lines.push({ text: ` ${rawLine}` });
|
|
868
|
-
return lines;
|
|
902
|
+
return wrapDetailLines(lines, contentWidth);
|
|
869
903
|
}
|
|
870
904
|
const members = spec.pods?.reduce((count, pod) => count + pod.members.length, 0) ?? spec.legacyNodes?.length ?? 0;
|
|
871
905
|
const edges = (spec.edges?.length ?? 0) + (spec.pods?.reduce((count, pod) => count + pod.edges.length, 0) ?? 0);
|
|
@@ -940,12 +974,12 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
940
974
|
fields: [{ label: "source", value: spec.sourcePath ? `${displayPath(spec.sourcePath, 56)} · ${sourceProvenance(spec)}` : "—" }],
|
|
941
975
|
},
|
|
942
976
|
{
|
|
943
|
-
title: "
|
|
977
|
+
title: "Declared rig references",
|
|
944
978
|
fields: [
|
|
945
979
|
...((spec.usedByRigs?.length ?? 0) === 0
|
|
946
|
-
? [{ label: "
|
|
980
|
+
? [{ label: "declared by", value: "—" }]
|
|
947
981
|
: (spec.usedByRigs ?? []).map((rig) => ({
|
|
948
|
-
label: "
|
|
982
|
+
label: "declared by",
|
|
949
983
|
value: `rig ${rig}`,
|
|
950
984
|
link: { type: "drill", resource: "spec", name: rig },
|
|
951
985
|
}))),
|
|
@@ -958,7 +992,7 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
958
992
|
},
|
|
959
993
|
]));
|
|
960
994
|
}
|
|
961
|
-
return lines;
|
|
995
|
+
return wrapDetailLines(lines, contentWidth);
|
|
962
996
|
}
|
|
963
997
|
lines.push({ text: "SPEC LIBRARY" });
|
|
964
998
|
lines.push({ text: state.filter ? `/ filter specs: ${state.filter} · / replace · esc clear` : "/ filter specs…" });
|
|
@@ -1055,6 +1089,16 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
1055
1089
|
return lines;
|
|
1056
1090
|
}
|
|
1057
1091
|
if (state.section === "scopes") {
|
|
1092
|
+
if (!state.scopesMission && snap.execution) {
|
|
1093
|
+
const selected = snap.execution;
|
|
1094
|
+
const instances = selected.lifecycle_instances;
|
|
1095
|
+
return wrapDetailLines([
|
|
1096
|
+
{ text: "SCOPES · choose a mission in the explorer" },
|
|
1097
|
+
listItem(`Default mission · ${selected.mission}`, { type: "scopes-mission-open", mission: selected.mission }),
|
|
1098
|
+
{ text: ` Workflows: ${instances ? instances.map((instance) => String(instance.status ?? "unknown")).join(", ") || "none bound" : "projection unavailable"}` },
|
|
1099
|
+
{ text: ` Execution snapshot: ${displayTime(selected.derived_at, state.timeZone)}. Other missions load when selected.` },
|
|
1100
|
+
], contentWidth);
|
|
1101
|
+
}
|
|
1058
1102
|
// SCOPES owns both levels. Both mission-graph and Explorer slice routes land
|
|
1059
1103
|
// on the same execution-backed canonical detail; store-direct content is
|
|
1060
1104
|
// composed into that page instead of surviving as a competing destination.
|
|
@@ -1068,16 +1112,16 @@ function contentLines(state, snap, contentWidth, motion) {
|
|
|
1068
1112
|
return executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, false, snap.sliceDetail, {
|
|
1069
1113
|
collapseReqs: state.scopesCollapseReqs,
|
|
1070
1114
|
narrative: state.scopesNarrative,
|
|
1071
|
-
});
|
|
1115
|
+
}, state.timeZone);
|
|
1072
1116
|
}
|
|
1073
1117
|
if (detail && execution) {
|
|
1074
1118
|
return executionContentLines(execution, snap.scopes, snap.readErrors, `slice:${detail.id ?? detail.dirName}`, contentWidth, false, snap.sliceDetail, {
|
|
1075
1119
|
collapseReqs: state.scopesCollapseReqs,
|
|
1076
1120
|
narrative: state.scopesNarrative,
|
|
1077
|
-
});
|
|
1121
|
+
}, state.timeZone);
|
|
1078
1122
|
}
|
|
1079
1123
|
if (!detail && missionName) {
|
|
1080
|
-
const lines = executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, !snap.hydratedAt || snap.executionMission !== missionName);
|
|
1124
|
+
const lines = executionContentLines(execution, snap.scopes, snap.readErrors, state.executionOpen, contentWidth, !snap.hydratedAt || snap.executionMission !== missionName, undefined, undefined, state.timeZone);
|
|
1081
1125
|
return execution ? lines : [{ text: ` ${missionName} EXECUTION` }, ...lines];
|
|
1082
1126
|
}
|
|
1083
1127
|
return scopesContentLines(detail, missionName, {
|
|
@@ -1128,11 +1172,15 @@ function keybindHints(state) {
|
|
|
1128
1172
|
// hint hid exactly where it was needed). When ↑↓ themselves scroll (a
|
|
1129
1173
|
// scrollable spec detail), the nav label says so; otherwise ↑↓ move and the
|
|
1130
1174
|
// page keys carry the scroll.
|
|
1175
|
+
if (state.section === "config")
|
|
1176
|
+
return state.configKey
|
|
1177
|
+
? `${specDetailArrowsScroll(state) ? "↑↓ scroll" : "↑↓ move"} · esc back · v select/copy · refresh · q quit`
|
|
1178
|
+
: "↑↓ move · ←→ pane · ⏎ open · / search · esc back · refresh · q quit";
|
|
1131
1179
|
const arrowsScroll = specDetailArrowsScroll(state);
|
|
1132
1180
|
const nav = arrowsScroll ? "↑↓ scroll" : "↑↓ move";
|
|
1133
1181
|
const pageScroll = state.contentMaxOffset > 0 && !arrowsScroll ? "⇞⇟ scroll · " : "";
|
|
1134
1182
|
const filter = state.filter ? "/ replace · esc clear" : "/ filter";
|
|
1135
|
-
return `${nav} · ←→ pane · ⏎ open · ${pageScroll}: command · ${filter} · v select/copy · f footer · q quit`;
|
|
1183
|
+
return `${nav} · ←→ pane · ⏎ open · ${pageScroll}: command · ${filter} · S startup · v select/copy · f footer · q quit`;
|
|
1136
1184
|
}
|
|
1137
1185
|
/** The PULSE view renders FULL-WIDTH with NO explorer sidebar (increment 2). A
|
|
1138
1186
|
* minimal self-contained screen: cmd bar + a full-width titled rule + the pulse
|
|
@@ -1201,7 +1249,14 @@ function renderPulseScreen(state, snap, options, inputLine) {
|
|
|
1201
1249
|
const contentTargets = [];
|
|
1202
1250
|
const flashRows = [];
|
|
1203
1251
|
let flashAck = false;
|
|
1204
|
-
lines.push(pad(`cmd ▸ ${inputLine}
|
|
1252
|
+
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));
|
|
1253
|
+
if (options.completion) {
|
|
1254
|
+
lines.push(pad(options.completion.message, cols));
|
|
1255
|
+
for (const candidate of options.completion.candidates.slice(0, 4))
|
|
1256
|
+
lines.push(pad(` ${candidate}`, cols));
|
|
1257
|
+
if (options.completion.candidates.length > 4)
|
|
1258
|
+
lines.push(pad(" … keep typing to narrow matches", cols));
|
|
1259
|
+
}
|
|
1205
1260
|
// REGISTRY I3 — the palette overlay: fuzzy rows over the ONE registry; unavailable
|
|
1206
1261
|
// entries render DIMMED-WITH-REASON, never hidden (PM pin); bounded height.
|
|
1207
1262
|
if (state.palette) {
|
|
@@ -1223,7 +1278,7 @@ function renderPulseScreen(state, snap, options, inputLine) {
|
|
|
1223
1278
|
const contentWidth = Math.max(cols - explW - 2, 0);
|
|
1224
1279
|
const model = buildPulseModel(snap, nowMs);
|
|
1225
1280
|
const chromeRows = 3; // bottom rule + hint bar + status line
|
|
1226
|
-
const bodyRows = Math.max(rows -
|
|
1281
|
+
const bodyRows = Math.max(rows - lines.length - chromeRows, 1);
|
|
1227
1282
|
const maxContentOffset = Math.max(renderPulseView(model).length - bodyRows, 0);
|
|
1228
1283
|
const contentStart = Math.min(state.contentOffset, maxContentOffset);
|
|
1229
1284
|
// Lane cells (column-major), CLIPPED to the content width: a cell whose column
|
|
@@ -1309,7 +1364,7 @@ function renderPulseScreen(state, snap, options, inputLine) {
|
|
|
1309
1364
|
// the footer's live "updated Ns ago" IS the ongoing refresh signal (reader
|
|
1310
1365
|
// clock), so a settled empty view stays calm. Reduced motion → static "·".
|
|
1311
1366
|
const loadTag = loading ? ` ${frame} loading` : "";
|
|
1312
|
-
lines.push(pad(`[${state.instanceId}] ${state.section}${drillPath ? " · " + drillPath : ""}${state.lastError ? " ✗ " + state.lastError : ""}${state.notice ? " ▸ " + state.notice : ""}${readWarn}${loadTag}`, cols));
|
|
1367
|
+
lines.push(pad(`[${state.instanceId}] ${state.section}${drillPath ? " · " + drillPath : ""}${state.lastError ? " ✗ " + state.lastError : ""}${state.notice ? " ▸ " + state.notice : ""}${readWarn}${loadTag}${state.timeZoneWarning ? " · ⚠ timezone; run timezone" : ""}`, cols));
|
|
1313
1368
|
while (lines.length < rows)
|
|
1314
1369
|
lines.push("");
|
|
1315
1370
|
const anyFlash = model.lanes.some((l) => l.rows.some((r) => r.flashed));
|
|
@@ -1356,7 +1411,7 @@ function wrapContentLines(content, width) {
|
|
|
1356
1411
|
}
|
|
1357
1412
|
const chunk = rest.slice(0, cut).trimEnd();
|
|
1358
1413
|
rest = rest.slice(cut).replace(/^\s+/, "");
|
|
1359
|
-
out.push(first ? { text: chunk, segs: item.segs } : { text: indent + chunk });
|
|
1414
|
+
out.push(first ? { text: chunk, segs: item.segs, action: item.action } : { text: indent + chunk });
|
|
1360
1415
|
first = false;
|
|
1361
1416
|
}
|
|
1362
1417
|
}
|
|
@@ -1366,9 +1421,10 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1366
1421
|
const explW = explorerWidth(cols);
|
|
1367
1422
|
const lines = [];
|
|
1368
1423
|
const segRows = {};
|
|
1424
|
+
const hitMap = [];
|
|
1369
1425
|
lines.push(pad(`cmd ▸ ${inputLine}▊`, cols));
|
|
1370
1426
|
lines.push(paneRule(cols, explW, "top", "{ EXPLORER }", contentTitle));
|
|
1371
|
-
// The
|
|
1427
|
+
// The explorer's source note, then any discovered rigs (name + seat count).
|
|
1372
1428
|
const leftRows = [led.note, "", ...led.rows.map((r) => `${r.label} (${r.seatCount})`)];
|
|
1373
1429
|
const contentWidth = Math.max(cols - explW - 2, 0);
|
|
1374
1430
|
if (opts?.wrap)
|
|
@@ -1384,6 +1440,8 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1384
1440
|
const left = pad(leftRows[i] ?? "", explW);
|
|
1385
1441
|
const citem = content[scroll + i];
|
|
1386
1442
|
const contentText = (citem?.text ?? "").slice(0, contentWidth);
|
|
1443
|
+
if (citem?.action)
|
|
1444
|
+
hitMap.push({ y, x1: explW + 2, x2: cols, action: citem.action });
|
|
1387
1445
|
lines.push(pad(`${left}┃ ${contentText}`, cols));
|
|
1388
1446
|
if (citem?.segs)
|
|
1389
1447
|
segRows[y] = truncateSegs(citem.segs, contentWidth);
|
|
@@ -1391,13 +1449,13 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1391
1449
|
lines.push(paneRule(cols, explW, "bottom"));
|
|
1392
1450
|
lines.push(pad("", cols));
|
|
1393
1451
|
const scrollHint = contentMaxOffset > 0 ? ` · ↑↓ scroll (${scroll}/${contentMaxOffset})` : "";
|
|
1394
|
-
lines.push(pad(`[crash-cart]
|
|
1452
|
+
lines.push(pad(`[crash-cart] ${led.note}${scrollHint}`, cols));
|
|
1395
1453
|
while (lines.length < rows)
|
|
1396
1454
|
lines.push("");
|
|
1397
1455
|
return {
|
|
1398
1456
|
lines: lines.slice(0, rows),
|
|
1399
1457
|
explorerWidth: explW,
|
|
1400
|
-
hitMap
|
|
1458
|
+
hitMap,
|
|
1401
1459
|
contentTargets: [],
|
|
1402
1460
|
contentMaxOffset,
|
|
1403
1461
|
explorerRows: [],
|
|
@@ -1407,6 +1465,18 @@ function crashCartShell(content, led, contentTitle, cols, rows, inputLine, opts)
|
|
|
1407
1465
|
export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
1408
1466
|
const { cols = 120, rows = 32, nowMs = 0 } = options;
|
|
1409
1467
|
const explW = explorerWidth(cols);
|
|
1468
|
+
if (options.startup?.open) {
|
|
1469
|
+
const startup = options.startup;
|
|
1470
|
+
const content = wrapContentLines(startupLines(startup).map((line) => ({ ...line,
|
|
1471
|
+
text: line.text.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, "").replace(/[\x00-\x1f\x7f]/g, " ")
|
|
1472
|
+
.replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/gi, "$1[redacted]@").replace(/Bearer\s+[^\s]+/gi, "Bearer [redacted]"),
|
|
1473
|
+
})), Math.max(1, cols - explW - 2));
|
|
1474
|
+
const selected = content.findIndex((line) => line.action?.type === "startup" && line.action.key === `select:${startup.selected}`);
|
|
1475
|
+
const scroll = startup.expanded ? startup.scroll : Math.max(0, selected - Math.max(1, rows - 12));
|
|
1476
|
+
const screen = crashCartShell(content, { note: "startup", rows: [] }, "START AND RETURN", cols, rows, "", { scroll });
|
|
1477
|
+
screen.lines[rows - 1] = pad("↑↓ choose · Enter select · r refresh · d details · Esc back · q quit", cols);
|
|
1478
|
+
return screen;
|
|
1479
|
+
}
|
|
1410
1480
|
// 5.2 crash-cart (shell-placement rework, ruling 3c6c2be0): daemon-DOWN renders as a CONTENT-PANE
|
|
1411
1481
|
// view inside the standard shell — the explorer sidebar is ALWAYS present, ledger-fed + honestly
|
|
1412
1482
|
// marked (from the SAME one-JSON discovery, never a second read). Content moves into the right pane
|
|
@@ -1423,17 +1493,37 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1423
1493
|
scroll: options.restoreScroll ?? 0,
|
|
1424
1494
|
});
|
|
1425
1495
|
}
|
|
1496
|
+
if (options.unavailable) {
|
|
1497
|
+
const detail = options.unavailable
|
|
1498
|
+
.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, "")
|
|
1499
|
+
.replace(/[\x00-\x1f\x7f]/g, " ")
|
|
1500
|
+
.replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/gi, "$1[redacted]@")
|
|
1501
|
+
.replace(/Bearer\s+[^\s]+/gi, "Bearer [redacted]");
|
|
1502
|
+
const summary = /NODE_MODULE_VERSION|ERR_DLOPEN_FAILED|better-sqlite3/i.test(detail)
|
|
1503
|
+
? "The installed native module cannot load in this runtime. Repair the installation prerequisite, then retry."
|
|
1504
|
+
: "Startup state could not be read. Retry after resolving the reported prerequisite.";
|
|
1505
|
+
return crashCartShell([
|
|
1506
|
+
{ text: "Startup prerequisite unavailable" },
|
|
1507
|
+
{ text: summary },
|
|
1508
|
+
{ text: "Saved identity and conversation history have not been classified as missing." },
|
|
1509
|
+
{ text: "" },
|
|
1510
|
+
{ text: "r retry · d details · q quit" },
|
|
1511
|
+
...(options.unavailableExpanded ? [{ text: "" }, { text: detail }] : []),
|
|
1512
|
+
], { note: "state unavailable", rows: [] }, "STARTUP", cols, rows, inputLine, { wrap: true, scroll: options.restoreScroll ?? 0 });
|
|
1513
|
+
}
|
|
1426
1514
|
if (options.daemonState === "down" && options.crashCart) {
|
|
1427
1515
|
const led = buildLedgerExplorer(options.crashCart.foundOnHost);
|
|
1428
1516
|
// B1 ROUND 10 — when a confirm is armed, render it at the TOP of the cockpit (where the operator
|
|
1429
1517
|
// looks) so the first ⏎ is visibly acknowledged; wrap so the sentence is not clipped at the pane edge.
|
|
1430
|
-
const content = options.
|
|
1431
|
-
? [
|
|
1432
|
-
:
|
|
1518
|
+
const content = options.starting
|
|
1519
|
+
? [{ text: `Starting daemon at ${options.starting}…` }, { text: "Seats remain stopped until selected." }]
|
|
1520
|
+
: options.confirm
|
|
1521
|
+
? [...renderConfirmBanner(options.confirm), ...renderCrashCartView(options.crashCart)]
|
|
1522
|
+
: renderCrashCartView(options.crashCart);
|
|
1433
1523
|
return crashCartShell(content, led, "CRASH-CART", cols, rows, inputLine, options.confirm ? { wrap: true } : undefined);
|
|
1434
1524
|
}
|
|
1435
1525
|
if (options.daemonState === "unverified" && options.daemonEvidence) {
|
|
1436
|
-
const led =
|
|
1526
|
+
const led = { note: "daemon unverified", rows: [] }; // No ledger discovery occurred on this path.
|
|
1437
1527
|
return crashCartShell(renderUnverifiedView(options.daemonEvidence), led, "DAEMON?", cols, rows, inputLine);
|
|
1438
1528
|
}
|
|
1439
1529
|
// PULSE (founder Option-B): a content-pane view inside the NORMAL explorer│
|
|
@@ -1459,7 +1549,14 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1459
1549
|
// shell accepts typing from the empty state, so the honest readiness
|
|
1460
1550
|
// affordance must show BEFORE the first key (no new focus state; stylize
|
|
1461
1551
|
// gives the cell SGR blink; zero effect on hit geometry).
|
|
1462
|
-
lines.push(pad(`cmd ▸ ${inputLine}
|
|
1552
|
+
lines.push(pad(`cmd ▸ ${inputLine}▊${inputLine ? "" : " Tab complete · ? help · timezone"}`, cols));
|
|
1553
|
+
if (options.completion) {
|
|
1554
|
+
lines.push(pad(options.completion.message, cols));
|
|
1555
|
+
for (const candidate of options.completion.candidates.slice(0, 4))
|
|
1556
|
+
lines.push(pad(` ${candidate}`, cols));
|
|
1557
|
+
if (options.completion.candidates.length > 4)
|
|
1558
|
+
lines.push(pad(" … keep typing to narrow matches", cols));
|
|
1559
|
+
}
|
|
1463
1560
|
// REGISTRY I3 — the palette overlay: fuzzy rows over the ONE registry; unavailable
|
|
1464
1561
|
// entries render DIMMED-WITH-REASON, never hidden (PM pin); bounded height.
|
|
1465
1562
|
if (state.palette) {
|
|
@@ -1497,7 +1594,7 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1497
1594
|
const liveFlashes = (options.rowFlashes ?? []).filter((f) => flashActive(f.at, nowMs, 600, reduced));
|
|
1498
1595
|
const ackFlashes = (options.rowFlashes ?? []).filter((f) => flashActive(f.at, nowMs, 600, false));
|
|
1499
1596
|
const chromeRows = footer ? 4 : 3; // bottom rule + hint bar + status line (+ footer)
|
|
1500
|
-
const bodyRows = Math.max(rows -
|
|
1597
|
+
const bodyRows = Math.max(rows - lines.length - chromeRows, 1);
|
|
1501
1598
|
const explorerStart = Math.min(Math.max(state.selection - bodyRows + 1, 0), Math.max(explorer.length - bodyRows, 0));
|
|
1502
1599
|
const contentRows = content.length > bodyRows ? Math.max(bodyRows - 1, 0) : bodyRows;
|
|
1503
1600
|
const maxContentOffset = Math.max(content.length - contentRows, 0);
|
|
@@ -1581,12 +1678,12 @@ export function renderScreen(state, snap, options = {}, inputLine = "") {
|
|
|
1581
1678
|
segRows[y] = rowSegs;
|
|
1582
1679
|
}
|
|
1583
1680
|
if (footer)
|
|
1584
|
-
lines.push(pad(`≋ ${footer.tsEmitted
|
|
1681
|
+
lines.push(pad(`≋ ${displayTime(footer.tsEmitted, state.timeZone)} ${footer.sourceSession}: ${footer.body}`, cols));
|
|
1585
1682
|
const drillPath = state.drill.map((d) => d.name).join(" → ");
|
|
1586
1683
|
const readWarn = snap.readErrors.length > 0 ? ` ⚠ ${snap.readErrors.length} read(s) failed: ${snap.readErrors[0]}` : "";
|
|
1587
1684
|
lines.push(paneRule(cols, explW, "bottom"));
|
|
1588
1685
|
lines.push(pad(keybindHints(state), cols));
|
|
1589
|
-
lines.push(pad(`[${state.instanceId}] ${state.section}${drillPath ? " · " + drillPath : ""}${state.lastError ? " ✗ " + state.lastError : ""}${state.notice ? " ▸ " + state.notice : ""}${readWarn}`, cols));
|
|
1686
|
+
lines.push(pad(`[${state.instanceId}] ${state.section}${drillPath ? " · " + drillPath : ""}${state.lastError ? " ✗ " + state.lastError : ""}${state.notice ? " ▸ " + state.notice : ""}${readWarn}${state.timeZoneWarning ? " · ⚠ timezone; run timezone" : ""}`, cols));
|
|
1590
1687
|
while (lines.length < rows)
|
|
1591
1688
|
lines.push("");
|
|
1592
1689
|
return {
|