@openrig/cli 0.6.14 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/README.md +11 -4
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
- package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
- package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +28 -18
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/assets/skills/rigs/SKILL.md +24 -5
- package/daemon/context-packs/help/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +4 -6
- package/daemon/context-packs/reference/getting-started.md +87 -21
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +1 -1
- package/daemon/context-packs/reference/whats-new.md +123 -68
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +28 -18
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
- package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
- package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +33 -6
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +2 -7
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
- package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js +52 -9
- package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
- package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
- package/daemon/dist/adapters/kernel-authority.js +9 -5
- package/daemon/dist/adapters/kernel-authority.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +2 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +5 -0
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
- package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
- package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
- package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
- package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.js +2 -0
- package/daemon/dist/adapters/stub-runner.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +21 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +100 -13
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +12 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +5 -3
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +2 -2
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.js +21 -0
- package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
- package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
- package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
- package/daemon/dist/domain/agent-activity-store.js +41 -5
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
- package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/ask-service.d.ts +1 -0
- package/daemon/dist/domain/ask-service.d.ts.map +1 -1
- package/daemon/dist/domain/ask-service.js +7 -1
- package/daemon/dist/domain/ask-service.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/claim-service.d.ts +1 -1
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +7 -0
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
- package/daemon/dist/domain/classification-sources.js +2 -0
- package/daemon/dist/domain/classification-sources.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +17 -4
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +88 -24
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
- package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
- package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
- package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
- package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
- package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
- package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
- package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +58 -17
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +13 -5
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +47 -13
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +3 -0
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/current-work.d.ts +18 -0
- package/daemon/dist/domain/current-work.d.ts.map +1 -1
- package/daemon/dist/domain/current-work.js +17 -3
- package/daemon/dist/domain/current-work.js.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
- package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.js +61 -82
- package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +2 -1
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
- package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
- package/daemon/dist/domain/existing-rig-restore.js +254 -0
- package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
- package/daemon/dist/domain/fresh-occupant-relation.js +9 -2
- package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +3 -46
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
- package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
- package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
- package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +67 -5
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.js +5 -1
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.js +34 -4
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
- package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
- package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
- package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
- package/daemon/dist/domain/human-questions.d.ts +8 -1
- package/daemon/dist/domain/human-questions.d.ts.map +1 -1
- package/daemon/dist/domain/human-questions.js.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
- package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
- package/daemon/dist/domain/kernel-boot.d.ts +21 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot.js +57 -2
- package/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +43 -15
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +26 -12
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +5 -3
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +29 -25
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/outbox-handler.d.ts +3 -5
- package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
- package/daemon/dist/domain/outbox-handler.js +9 -19
- package/daemon/dist/domain/outbox-handler.js.map +1 -1
- package/daemon/dist/domain/park-wake-text.d.ts +11 -0
- package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
- package/daemon/dist/domain/park-wake-text.js +26 -0
- package/daemon/dist/domain/park-wake-text.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +29 -6
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
- package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
- package/daemon/dist/domain/policies/quiet-release.js +213 -0
- package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +8 -3
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/proof/source-watch.js +2 -2
- package/daemon/dist/domain/proof/source-watch.js.map +1 -1
- package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
- package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
- package/daemon/dist/domain/queue-destination-check.js +35 -0
- package/daemon/dist/domain/queue-destination-check.js.map +1 -0
- package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
- package/daemon/dist/domain/queue-owner.js +2 -1
- package/daemon/dist/domain/queue-owner.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
- package/daemon/dist/domain/queue-recovery.js +3 -2
- package/daemon/dist/domain/queue-recovery.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +108 -67
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +316 -140
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +25 -8
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +94 -11
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
- package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
- package/daemon/dist/domain/quiet-hold-custody.js +85 -0
- package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
- package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +144 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +30 -13
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +8 -5
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +11 -1
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +27 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +31 -4
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +59 -28
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +30 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +124 -57
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.js +21 -5
- package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +28 -2
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-store.js +5 -2
- package/daemon/dist/domain/seat-identity-store.js.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.js +17 -1
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
- package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.js +102 -30
- package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
- package/daemon/dist/domain/self-attach-service.d.ts +3 -2
- package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
- package/daemon/dist/domain/self-attach-service.js +18 -1
- package/daemon/dist/domain/self-attach-service.js.map +1 -1
- package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
- package/daemon/dist/domain/services-readiness.js +14 -3
- package/daemon/dist/domain/services-readiness.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +45 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +124 -0
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +24 -6
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +58 -41
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +7 -1
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +41 -7
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +23 -10
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +66 -16
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.js +11 -17
- package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +3 -1
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +15 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
- package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +33 -7
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
- package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.js +12 -89
- package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
- package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/whoami-service.d.ts +2 -0
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
- package/daemon/dist/domain/whoami-service.js +23 -6
- package/daemon/dist/domain/whoami-service.js.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +5 -2
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-role-context.js +2 -2
- package/daemon/dist/domain/workflow-role-context.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +2 -0
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +13 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +67 -2
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts.map +1 -1
- package/daemon/dist/routes/compaction.js +7 -2
- package/daemon/dist/routes/compaction.js.map +1 -1
- package/daemon/dist/routes/discovery.js +3 -0
- package/daemon/dist/routes/discovery.js.map +1 -1
- package/daemon/dist/routes/down.js +9 -1
- package/daemon/dist/routes/down.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +2 -0
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +181 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/kernel-status.js +6 -1
- package/daemon/dist/routes/kernel-status.js.map +1 -1
- package/daemon/dist/routes/provider.d.ts.map +1 -1
- package/daemon/dist/routes/provider.js +0 -73
- package/daemon/dist/routes/provider.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +73 -13
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +29 -10
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +2 -3
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.js +2 -2
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/skills.js +2 -2
- package/daemon/dist/routes/skills.js.map +1 -1
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +7 -3
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/routes/transport.js +1 -1
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.js +36 -52
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +102 -60
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
- package/daemon/docs/reference/getting-started.md +87 -21
- package/daemon/docs/reference/quickstart.md +33 -20
- package/daemon/docs/reference/refocus-channel.md +9 -3
- package/daemon/docs/reference/rig-spec.md +1 -1
- package/daemon/docs/reference/seat-delivery.md +57 -18
- package/daemon/docs/reference/slack-app-setup.md +49 -2
- package/daemon/docs/reference/whats-new.md +123 -68
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts +4 -0
- package/dist/cli-error.d.ts.map +1 -1
- package/dist/cli-error.js +6 -0
- package/dist/cli-error.js.map +1 -1
- package/dist/commands/agent-image.d.ts.map +1 -1
- package/dist/commands/agent-image.js +15 -7
- package/dist/commands/agent-image.js.map +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +17 -3
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/attach.d.ts.map +1 -1
- package/dist/commands/attach.js +6 -4
- package/dist/commands/attach.js.map +1 -1
- package/dist/commands/broadcast.js +2 -0
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/community-harness.d.ts.map +1 -1
- package/dist/commands/community-harness.js +2 -1
- package/dist/commands/community-harness.js.map +1 -1
- package/dist/commands/compact-plan.d.ts.map +1 -1
- package/dist/commands/compact-plan.js +2 -1
- package/dist/commands/compact-plan.js.map +1 -1
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +10 -3
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +10 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +16 -9
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +16 -2
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +9 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/fork.d.ts.map +1 -1
- package/dist/commands/fork.js +3 -1
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/gateway.d.ts +39 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +310 -3
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.js +3 -2
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +2 -2
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +9 -2
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +2 -1
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +0 -73
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +95 -5
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +4 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +78 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +16 -2
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/restore-check.d.ts.map +1 -1
- package/dist/commands/restore-check.js +2 -1
- package/dist/commands/restore-check.js.map +1 -1
- package/dist/commands/restore-packet.d.ts.map +1 -1
- package/dist/commands/restore-packet.js +2 -1
- package/dist/commands/restore-packet.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +23 -6
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +5 -2
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.js +0 -4
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +27 -3
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +29 -9
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shrink.d.ts.map +1 -1
- package/dist/commands/shrink.js +16 -2
- package/dist/commands/shrink.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +11 -24
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +36 -10
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +11 -5
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +36 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +4 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +12 -7
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/unarchive.d.ts.map +1 -1
- package/dist/commands/unarchive.js +16 -2
- package/dist/commands/unarchive.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +33 -7
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +2 -1
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +3 -0
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config-store.d.ts +4 -2
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +34 -7
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +9 -4
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +27 -9
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-reachability.d.ts +13 -0
- package/dist/daemon-reachability.d.ts.map +1 -1
- package/dist/daemon-reachability.js +28 -0
- package/dist/daemon-reachability.js.map +1 -1
- package/dist/fetch-with-timeout.d.ts.map +1 -1
- package/dist/fetch-with-timeout.js +19 -16
- package/dist/fetch-with-timeout.js.map +1 -1
- package/dist/host-bindings.d.ts +6 -0
- package/dist/host-bindings.d.ts.map +1 -1
- package/dist/host-bindings.js +7 -4
- package/dist/host-bindings.js.map +1 -1
- package/dist/lib/bundle-check.d.ts.map +1 -1
- package/dist/lib/bundle-check.js +13 -5
- package/dist/lib/bundle-check.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +57 -14
- package/dist/mcp-server.js.map +1 -1
- package/dist/rig-handle.d.ts +18 -1
- package/dist/rig-handle.d.ts.map +1 -1
- package/dist/rig-handle.js +19 -2
- package/dist/rig-handle.js.map +1 -1
- package/package.json +1 -1
- package/tui/dist/config/config-model.js +1 -1
- package/tui/dist/config/config-model.js.map +1 -1
- package/tui/dist/connections/connections-model.d.ts +0 -5
- package/tui/dist/connections/connections-model.d.ts.map +1 -1
- package/tui/dist/connections/connections-model.js +1 -1
- package/tui/dist/connections/connections-model.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +23 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +13 -1
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live.d.ts +10 -1
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +56 -7
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/main.js +35 -2
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +111 -7
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/types.d.ts +53 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/tui/dist/version-skew.d.ts +24 -0
- package/tui/dist/version-skew.d.ts.map +1 -0
- package/tui/dist/version-skew.js +37 -0
- package/tui/dist/version-skew.js.map +1 -0
- package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
- package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
- package/daemon/dist/domain/provider/subscription-moves.js +0 -140
- package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
|
@@ -72,12 +72,16 @@ you aren't an administrator, or where Homebrew belongs to another account (its
|
|
|
72
72
|
`brew install` is refused), install Node.js in your own home folder with
|
|
73
73
|
[nvm](https://github.com/nvm-sh/nvm): run `touch ~/.zshrc` (a new Mac account
|
|
74
74
|
has none, and nvm's installer only adds itself to a profile file that already
|
|
75
|
-
exists), then
|
|
76
|
-
`nvm
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
75
|
+
exists), then nvm's install command, for nvm v0.40.8
|
|
76
|
+
`curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash`
|
|
77
|
+
([nvm's page](https://github.com/nvm-sh/nvm#install--update-script) has the
|
|
78
|
+
newest), open a new terminal, and run `nvm install 22`. nvm itself needs no
|
|
79
|
+
administrator password, and `npm install -g` then installs into your nvm folder.
|
|
80
|
+
If nvm's installer says you need Apple's command line tools, run
|
|
81
|
+
`xcode-select --install`, then its install command again. Native Windows isn't
|
|
82
|
+
supported. On Windows, use WSL2: it's the Windows route
|
|
83
|
+
OpenRig supports, though OpenRig's automated tests don't run on it yet. One
|
|
84
|
+
user's [working setup](#wsl2-a-reported-working-setup) is below. Node 20 and
|
|
81
85
|
odd-numbered releases (23, 25 and so on) are not supported; Node 26 and later
|
|
82
86
|
even-numbered releases are untested.
|
|
83
87
|
|
|
@@ -177,20 +181,19 @@ You can also read [`skills/rigs/SKILL.md`](../../skills/rigs/SKILL.md) directly.
|
|
|
177
181
|
script will do and changes nothing:
|
|
178
182
|
|
|
179
183
|
```sh
|
|
180
|
-
curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.
|
|
184
|
+
curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.7.0/scripts/install.sh | sh -s -- --dry-run
|
|
181
185
|
```
|
|
182
186
|
|
|
183
187
|
The same command without `--dry-run`,
|
|
184
|
-
`curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.
|
|
188
|
+
`curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.7.0/scripts/install.sh | sh`, installs the
|
|
185
189
|
latest published `@openrig/cli` with `npm install -g`,
|
|
186
190
|
runs the Node.js and SQLite check, then `rig setup --dry-run` and `rig setup`. `rig setup` checks both Claude Code and
|
|
187
|
-
Codex and may install a missing one, as described below. A failed step
|
|
188
|
-
`FAILED [n/4] <command or check> (exit <code>)`.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
install only what the selected providers need, go step by step instead:
|
|
191
|
+
Codex and may install a missing one, as described below. A failed step prints
|
|
192
|
+
`FAILED [n/4] <command or check> (exit <code>)`. Where a provider isn't signed in yet, step 4 ends that way and
|
|
193
|
+
`rig setup` lists each sign-in under "Some steps need attention". If the only remaining failures are provider
|
|
194
|
+
sign-ins, the install steps finished: sign in to each selected provider as below, then continue at
|
|
195
|
+
[Start the kernel](#start-the-kernel-and-check-its-state). To install only what the selected providers need, go step
|
|
196
|
+
by step instead:
|
|
194
197
|
|
|
195
198
|
### Choose your providers
|
|
196
199
|
|
|
@@ -220,6 +223,26 @@ writes an OpenRig-managed block (mouse on, a longer history) into `~/.tmux.conf`
|
|
|
220
223
|
It is optional for this selected-provider path, not a requirement to fix an unused
|
|
221
224
|
provider.
|
|
222
225
|
|
|
226
|
+
The block keeps `terminal.history_limit` rows of scrollback per pane (default
|
|
227
|
+
10000). To keep more, run `rig config set terminal.history_limit 50000`, then
|
|
228
|
+
`rig setup` again. A running tmux server keeps its old limit until it restarts
|
|
229
|
+
or you run `tmux source-file ~/.tmux.conf`; before tmux 3.7 that changes new
|
|
230
|
+
panes only.
|
|
231
|
+
|
|
232
|
+
New managed agents and handover successors on macOS/Linux start from the daemon's
|
|
233
|
+
selected launch environment and declared seat values, rather than stored tmux globals.
|
|
234
|
+
Values named by tmux's `update-environment` option, including its default SSH-agent
|
|
235
|
+
and display variables, come from the daemon's environment.
|
|
236
|
+
Normal shell startup and configured tmux shell commands still run. If your custom setup
|
|
237
|
+
intentionally supplies values through tmux's global environment, opt in with
|
|
238
|
+
`rig config set terminal.inherit_tmux_environment true`. Setup points out this option
|
|
239
|
+
when it detects custom tmux configuration; it never enables it automatically. The setting
|
|
240
|
+
applies to future launches and successors, not running agents or your personal tmux server.
|
|
241
|
+
If the scoped environment cannot be prepared, launch keeps its previous environment and
|
|
242
|
+
reports a warning in fresh launch results and the daemon log. For handovers, check
|
|
243
|
+
that log for this warning. This is not a promise that shell startup cannot add or override values.
|
|
244
|
+
|
|
245
|
+
|
|
223
246
|
## Start the kernel and check its state
|
|
224
247
|
|
|
225
248
|
With a working selected login, start the daemon if it is stopped, then read its
|
|
@@ -251,9 +274,51 @@ A missing or unknown readiness signal is not proof of readiness. Follow
|
|
|
251
274
|
startup or missing-seat problems.
|
|
252
275
|
|
|
253
276
|
`rig setup` itself does not start the daemon. Preserve a daemon and kernel that
|
|
254
|
-
already exist:
|
|
255
|
-
`OPENRIG_NO_KERNEL=1` skips automatic kernel startup
|
|
256
|
-
|
|
277
|
+
already exist: daemon startup does not boot a second kernel when one is managed,
|
|
278
|
+
and `OPENRIG_NO_KERNEL=1` (`--no-kernel`) skips automatic kernel startup,
|
|
279
|
+
including the restore below. If neither runtime is authenticated, kernel boot
|
|
280
|
+
reports `auth_blocked`.
|
|
281
|
+
|
|
282
|
+
Daemon startup restores one existing kernel by itself: a managed kernel whose
|
|
283
|
+
seats are all `detached` and still bound to their newest session, which is what
|
|
284
|
+
startup reconcile leaves when every kernel terminal is gone, for example after a
|
|
285
|
+
reboot. It does not detect a reboot as such. It uses the same restore as
|
|
286
|
+
`rig up kernel --existing`, and `rig status` reports it as `Kernel: booting`
|
|
287
|
+
until the seats are ready. A kernel stopped with `rig down kernel`, including
|
|
288
|
+
one whose seats were already detached, stays down on later starts. So do a kernel
|
|
289
|
+
with only some seats stopped and seats you unclaimed. Start one again with
|
|
290
|
+
`rig up kernel --existing`.
|
|
291
|
+
When the tmux server is gone, an explicit `rig down` of any rig can start an
|
|
292
|
+
empty server and probe again. It records the stop and clears eligible bindings
|
|
293
|
+
only after confirming the sessions are absent. This can leave an empty tmux
|
|
294
|
+
server running; it never launches an agent or provider session. Unreadable or
|
|
295
|
+
permission results and changed occupants leave the stop bookkeeping unchanged.
|
|
296
|
+
|
|
297
|
+
While that automatic restore runs, `rig start` continues to your other rigs and
|
|
298
|
+
says the kernel is still restoring (`kernelRestore.state: "restoring"` with
|
|
299
|
+
`--json`). Its exit status 0 then does not mean the kernel is ready; check
|
|
300
|
+
`rig status`. When the restore has returned without a ready kernel, `rig start`
|
|
301
|
+
still goes on to your other rigs but exits 1 (`kernelRestore.state: "failed"`),
|
|
302
|
+
so `rig start && next` does not run `next`. A `rig down kernel` made during the
|
|
303
|
+
restore waits for it to return and then stops the kernel, which stays down on
|
|
304
|
+
later starts. A `rig up kernel --existing` with no fresh seats and no change to
|
|
305
|
+
the saved non-interruptive choice, made during the restore, or after it restored
|
|
306
|
+
every seat while those seats still run the sessions it started, reports that
|
|
307
|
+
restore's outcome instead of starting another. Explicitly repeating the saved
|
|
308
|
+
`--non-interruptive` or `--no-non-interruptive` choice also joins that restore.
|
|
309
|
+
|
|
310
|
+
An explicit `rig up kernel --existing --fresh <seat...>` waits for startup's
|
|
311
|
+
restore to finish, then replaces only the named seats that still hold the exact
|
|
312
|
+
sessions startup launched. Other seats keep running. An operator's conversation
|
|
313
|
+
correction also takes effect for that seat on the next explicit `up` or
|
|
314
|
+
`restore`, using the corrected target; editing the token alone restarts nothing.
|
|
315
|
+
Each replacement takes new seat leases, rechecks the managed occupant and terminal,
|
|
316
|
+
and reports its own per-seat outcome. If the occupant changed, it is left alone.
|
|
317
|
+
A different `--non-interruptive` or `--no-non-interruptive` choice after startup
|
|
318
|
+
launched the seats is refused: the running launch choice stays unchanged. Stop
|
|
319
|
+
the rig, then rerun with the desired choice.
|
|
320
|
+
|
|
321
|
+
Do not restart or recreate an
|
|
257
322
|
existing kernel merely to open its view. The startup TUI (`rig`) offers its own
|
|
258
323
|
kernel setup and individual-seat recovery; it does not automatically boot agents
|
|
259
324
|
when it starts the daemon.
|
|
@@ -690,7 +755,7 @@ the lifecycle API without booting a new kernel, then stop the remaining rigs.
|
|
|
690
755
|
| Shared terminal is absent | Inspect the existing kernel binding and recovery state; use standalone `rig tui` while resolving it. |
|
|
691
756
|
| Viewing terminal was closed | Open the conversations again with `rig terminal open saved:kernel --window`; `rig tui --shared` is only the dashboard fallback if that window cannot open. Do not relaunch the team. |
|
|
692
757
|
| Daemon restarted but tmux survived | Re-read `rig status` and the existing queue; a daemon restart is not a fresh project. |
|
|
693
|
-
| Host reboot lost tmux sessions |
|
|
758
|
+
| Host reboot lost tmux sessions | Starting the daemon restores the kernel by itself when all of its seats were lost; check `rig status`, and if it reports the restore failed, run `rig up kernel --existing`. For other rigs, open `rig`, start the daemon if needed (press **S** if it opens on the work views), and select the existing rig and seats. Resume is the default; a fresh conversation needs a separate decision. |
|
|
694
759
|
| Launch reports no usable snapshot | Inspect the existing rig and retained project files, then follow the same-seat recovery below. |
|
|
695
760
|
| Work is waiting on a prompt or decision | Read the row, transition and named prompt; preserve the obligation until the missing decision arrives. |
|
|
696
761
|
|
|
@@ -721,8 +786,9 @@ This recovery is for the case the reporter hit: the kernel's seats failed and no
|
|
|
721
786
|
IDs, for example `advisor.lead operator.agent operator.human queue.worker` when all four failed. `--fresh` starts a
|
|
722
787
|
new conversation for each seat you name. Seats you don't name follow their normal recovery policy and may remain
|
|
723
788
|
awaiting a decision if their old conversation can't be resumed. A later `rig daemon start` doesn't retry the failed
|
|
724
|
-
seats by itself: once a kernel exists, startup skips the built-in kernel boot
|
|
725
|
-
|
|
789
|
+
seats by itself: once a kernel exists, startup skips the built-in kernel boot and restores only a kernel whose seats
|
|
790
|
+
were all lost, not seats that failed. `rig status` then reads `Kernel: skipped` unless some of its seats are running
|
|
791
|
+
and ready, so check `rig ps --nodes --rig kernel --full`.
|
|
726
792
|
|
|
727
793
|
If a snapshot is unavailable, the startup view checks the selected seat's
|
|
728
794
|
retained startup source and authoritative occupant relation. It reports a
|
|
@@ -6,6 +6,25 @@ talk to one agent, and it hands work to the others. The team keeps its tasks and
|
|
|
6
6
|
Most people let their coding agent set it up. This page explains what happens either way, so nothing is a black
|
|
7
7
|
box, and shows how to do each step by hand if you'd rather.
|
|
8
8
|
|
|
9
|
+
## The quick way: let your coding agent do it
|
|
10
|
+
|
|
11
|
+
In your project folder, add OpenRig's `rigs` skill to the agent you use:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
# Claude Code
|
|
15
|
+
npx skills add https://github.com/mvschwarz/openrig/tree/<release-tag>/skills/rigs --skill rigs --agent claude-code
|
|
16
|
+
# Codex
|
|
17
|
+
npx skills add https://github.com/mvschwarz/openrig/tree/<release-tag>/skills/rigs --skill rigs --agent codex
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
For a new install, use the latest release's tag, for example `v0.7.0`. If OpenRig is already installed, use the tag
|
|
21
|
+
that matches `rig --version`, or upgrade first. If the command fails with `npx: command not found`, Node.js isn't
|
|
22
|
+
installed or isn't on your PATH yet (see [What you need](#what-you-need)). Then type `/rigs` in Claude Code, or `$rigs` in Codex, and say what
|
|
23
|
+
you want built.
|
|
24
|
+
|
|
25
|
+
The skill has your agent work through the steps below in order. It says what it will run and change before it runs
|
|
26
|
+
it, and it asks before installing anything on your system. It finishes when you're talking to the operator.
|
|
27
|
+
|
|
9
28
|
## How the pieces fit
|
|
10
29
|
|
|
11
30
|
- **`rig`** is the command you and your agents use. It comes from the npm package `@openrig/cli`.
|
|
@@ -30,24 +49,18 @@ Ask your coding agent to help use the toolchain already on your machine. On a Ma
|
|
|
30
49
|
may belong to another user; do not change its ownership to complete this setup. After correcting PATH or installing
|
|
31
50
|
Node, open a new terminal and check `node --version` and `npx --version` before continuing.
|
|
32
51
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
52
|
+
On a Mac where you aren't an administrator, or where another account owns Homebrew, install Node.js in your own home
|
|
53
|
+
folder with [nvm](https://github.com/nvm-sh/nvm); nvm itself needs no administrator password. A new Mac account has no
|
|
54
|
+
`~/.zshrc`, and nvm's installer only adds itself to a profile file that already exists, so create one first:
|
|
36
55
|
|
|
37
56
|
```sh
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
# Codex
|
|
41
|
-
npx skills add https://github.com/mvschwarz/openrig/tree/<release-tag>/skills/rigs --skill rigs --agent codex
|
|
57
|
+
touch ~/.zshrc
|
|
58
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash
|
|
42
59
|
```
|
|
43
60
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
you want built.
|
|
48
|
-
|
|
49
|
-
The skill has your agent work through the steps below in order. It says what it will run and change before it runs
|
|
50
|
-
it, and it asks before installing anything on your system. It finishes when you're talking to the operator.
|
|
61
|
+
Then open a new terminal and run `nvm install 22`. If nvm's installer says you need Apple's command line tools, run
|
|
62
|
+
`xcode-select --install`, then its install command again. That's nvm v0.40.8's install command; [nvm's
|
|
63
|
+
page](https://github.com/nvm-sh/nvm#install--update-script) has the newest.
|
|
51
64
|
|
|
52
65
|
## What happens, step by step
|
|
53
66
|
|
|
@@ -67,10 +80,10 @@ Node.js and SQLite check was skipped.
|
|
|
67
80
|
### 2. Set up the tools around it
|
|
68
81
|
|
|
69
82
|
```sh
|
|
70
|
-
rig setup --providers claude
|
|
83
|
+
rig setup --providers claude
|
|
71
84
|
```
|
|
72
85
|
|
|
73
|
-
Add `--dry-run` first to see the plan without changing anything. Setup does four things:
|
|
86
|
+
Use `codex` or `both` in place of `claude` to match the coding agents you use. Add `--dry-run` first to see the plan without changing anything. Setup does four things:
|
|
74
87
|
- it checks Node.js, tmux and your sign-in;
|
|
75
88
|
- it installs a missing tmux (with Homebrew on macOS, if you have it) or the coding agent you chose;
|
|
76
89
|
- it installs Herdr, a terminal workspace app the OpenRig view can use, unless you add `--no-herdr`;
|
|
@@ -132,10 +145,10 @@ Before it starts one, it tells you what starting a team in your folder changes:
|
|
|
132
145
|
`CLAUDE.md`, plus the team's skills. Then it waits for your yes. As shipped, `starter` uses both Claude Code and
|
|
133
146
|
Codex. With only one of them, ask the operator to adapt it.
|
|
134
147
|
|
|
135
|
-
By hand, from your repository:
|
|
148
|
+
By hand, from your repository (the first command shows what it would start, and starts nothing):
|
|
136
149
|
|
|
137
150
|
```sh
|
|
138
|
-
rig up starter --cwd . --plan
|
|
151
|
+
rig up starter --cwd . --plan
|
|
139
152
|
rig up starter --cwd .
|
|
140
153
|
rig ps --nodes --rig starter
|
|
141
154
|
```
|
|
@@ -156,10 +169,10 @@ stops that team. `rig daemon stop` stops the background service and leaves agent
|
|
|
156
169
|
|
|
157
170
|
## The one-command install
|
|
158
171
|
|
|
159
|
-
Instead of steps 1 and 2:
|
|
172
|
+
Instead of steps 1 and 2 (the first line shows the plan and changes nothing):
|
|
160
173
|
|
|
161
174
|
```sh
|
|
162
|
-
curl -fsSL https://openrig.dev/install.sh | sh -s -- --dry-run
|
|
175
|
+
curl -fsSL https://openrig.dev/install.sh | sh -s -- --dry-run
|
|
163
176
|
curl -fsSL https://openrig.dev/install.sh | sh
|
|
164
177
|
```
|
|
165
178
|
|
|
@@ -36,9 +36,15 @@ own project folder is the same project and still acts as the seat, as before thi
|
|
|
36
36
|
launched before this change, a manual run) the hooks do what they always did. The plugin's activity relay stays quiet next to
|
|
37
37
|
the seat's own `settings.local.json` copy only when that entry is exactly OpenRig's and the script it names is the same
|
|
38
38
|
script; an entry from an older install doesn't match, so both report until the seat's next launch refreshes it.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
OpenRig automatically installs its Codex plugin for seats that select it. On its first installation, the six exact shipped
|
|
40
|
+
hook definitions are trusted before launch, after checking the installed hook files against this daemon's shipped copy.
|
|
41
|
+
Existing plugin disables and hook choices are retained. An existing untrusted installation stays under native review:
|
|
42
|
+
Codex's "continue without trusting" leaves no record, so OpenRig does not assume an absent trust record is permission.
|
|
43
|
+
The file check happens only when trust is granted: a later edit to the cached hook scripts keeps that trust, as with any hook trusted in Codex.
|
|
44
|
+
The Codex
|
|
45
|
+
column above then applies only to a Codex seat whose plugin selection includes openrig-core: every Codex hook command
|
|
46
|
+
exits 0 before running anything unless OpenRig gave that seat `OPENRIG_SEAT_PROJECT_DIR` and an explicit
|
|
47
|
+
`OPENRIG_NODE`.
|
|
42
48
|
|
|
43
49
|
Claude's additional firing signal is **transcript growth** — not turns (one turn
|
|
44
50
|
can burn 200k tokens across fifty tool calls) and not wall-clock (the failure is
|
|
@@ -354,7 +354,7 @@ pods:
|
|
|
354
354
|
|
|
355
355
|
- A seat gets the rig's `env` with its own `env` laid over it, name by name.
|
|
356
356
|
- The same environment is applied on first launch, on `rig up <rig-name>` restore, and to the successor of a seat handover.
|
|
357
|
-
- `rig up <spec> --env KEY=VALUE` (repeatable) adds or overrides a value for one launch. A one-off value belongs to the terminal that launch creates: it stays in that terminal's environment for as long as the terminal lives, and OpenRig removes it from the tmux session's environment as soon as the terminal has started, so a terminal started later in that session does not get it. A restore, a handover successor or any later launch starts from the spec's `env:` alone, so the value is not saved and does not carry forward. To keep a value, put it in `env:`. One exception to "does not carry forward", for a managed Claude seat (see below): a one-off name that the seat's spec does not declare stays on the session's list of names, `OPENRIG_SEAT_ENV_KEYS` (names only, no values), because the first launch and an in-place restart of the same terminal read that list. So if a later pane in that session gets a value for that name from the tmux server's own environment, its managed Claude launch can forward that value, where a launch without `--env` would leave it out. The first launch's one-off value itself is not passed on to that pane. This comes from reading the code and has not been measured. `--env` does not apply to `rig up <rig-name>` (a restore) or to a topology (several rigs from their own specs); the CLI refuses both. For a topology, put `env:` in each rig's spec.
|
|
357
|
+
- `rig up <spec> --env KEY=VALUE` (repeatable) adds or overrides a value for one launch. A one-off value belongs to the terminal that launch creates: it stays in that terminal's environment for as long as the terminal lives, and OpenRig removes it from the tmux session's environment as soon as the terminal has started, so a terminal started later in that session does not get it. If OpenRig can't take it out, the seat keeps running and the launch warns, naming the variable and the tmux command to put it back or remove it. Until then, a terminal started later in that session would get it. A restore, a handover successor or any later launch starts from the spec's `env:` alone, so the value is not saved and does not carry forward. To keep a value, put it in `env:`. One exception to "does not carry forward", for a managed Claude seat (see below): a one-off name that the seat's spec does not declare stays on the session's list of names, `OPENRIG_SEAT_ENV_KEYS` (names only, no values), because the first launch and an in-place restart of the same terminal read that list. So if a later pane in that session gets a value for that name from the tmux server's own environment, its managed Claude launch can forward that value, where a launch without `--env` would leave it out. The first launch's one-off value itself is not passed on to that pane. This comes from reading the code and has not been measured. `--env` does not apply to `rig up <rig-name>` (a restore) or to a topology (several rigs from their own specs); the CLI refuses both. For a topology, put `env:` in each rig's spec.
|
|
358
358
|
- Names starting `OPENRIG_` are reserved for OpenRig and refused. Empty values are refused, because the launch omits empty variables.
|
|
359
359
|
- `rig export` writes the rig and member `env:` back out.
|
|
360
360
|
|
|
@@ -8,7 +8,7 @@ daemon-owned retry scheduler. Sibling seats keep their own mode.
|
|
|
8
8
|
| Mode | Terminal input | When input is unavailable |
|
|
9
9
|
|---|---|---|
|
|
10
10
|
| `off` (default) | Existing delivery and prompt checks | Existing send result |
|
|
11
|
-
| `draft-aware` | Paste into a recognized empty composer; check ownership again before Enter |
|
|
11
|
+
| `draft-aware` | Paste into a recognized empty composer; check ownership again before Enter | Hold input and retain this attempt for inspection when bookkeeping is available |
|
|
12
12
|
| `hold` | No automatic terminal input, even at an empty prompt | Retain for inspection outside the pane |
|
|
13
13
|
|
|
14
14
|
Runtime permissions are separate. Recipient and interactive-prompt checks still
|
|
@@ -36,13 +36,22 @@ to finish. The API may return HTTP 202 with `pending: true`; wait for
|
|
|
36
36
|
`pending: false` before relying on the requested mode. Status reports desired
|
|
37
37
|
and effective modes and retains the text `Typing guard: on (hold)` for hold.
|
|
38
38
|
|
|
39
|
-
A held send immediately returns `outcome: "retained"`, `sent: false`,
|
|
40
|
-
`
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
draft, or restarting
|
|
39
|
+
A held send immediately returns `outcome: "retained"`, `sent: false`, its exact
|
|
40
|
+
reason (such as `draft_input_busy`) and the saved attempt's `outboxIds`. No automatic
|
|
41
|
+
retry is scheduled. Each explicit draft-aware request is a new attempt, including
|
|
42
|
+
one with a reused `deliveryId`; the result warns older callers that this field no
|
|
43
|
+
longer deduplicates input. The CLI does not generate a deduplication key.
|
|
44
|
+
|
|
45
|
+
Clearing a draft, changing modes or restarting does not flush saved messages or
|
|
46
|
+
callbacks. To try again, send a current request: it rechecks the recipient and input.
|
|
47
|
+
A caller abort before paste cancels input; after a write may have started, the
|
|
48
|
+
result preserves that uncertainty rather than claiming nothing was sent.
|
|
49
|
+
|
|
50
|
+
Bookkeeping is observational. If its write fails, an otherwise valid input attempt
|
|
51
|
+
still proceeds and the response includes a warning instead of a saved receipt.
|
|
52
|
+
Actual transport success stays success; an unknown write stays unknown. If input
|
|
53
|
+
was held and no record could be saved, the response reports failure with `sent:
|
|
54
|
+
false` and the protection reason, rather than claiming durable custody.
|
|
46
55
|
|
|
47
56
|
Reading never sends. Retirement frees that record's active retention quota while
|
|
48
57
|
preserving evidence; it does not deliver a message or close queue work.
|
|
@@ -72,22 +81,34 @@ A large paste can appear as several labels plus a literal tail. The existing
|
|
|
72
81
|
boundary. That complete rendering must be observed after this operation's paste
|
|
73
82
|
and remain unchanged before Enter. Labels alone do not prove arbitrary content.
|
|
74
83
|
|
|
75
|
-
|
|
|
84
|
+
| Historical delivery state | Meaning |
|
|
76
85
|
|---|---|
|
|
77
|
-
| `sending` |
|
|
78
|
-
| `held` | No input was written;
|
|
86
|
+
| `sending` | This saved attempt has an unresolved write outcome |
|
|
87
|
+
| `held` | No input was written; this attempt remains retained or has been retired |
|
|
79
88
|
| `complete` | Transport execution succeeded, including render verification if requested; native consumption is not asserted |
|
|
80
|
-
| `indeterminate` | Input may have occurred or requested render verification failed
|
|
89
|
+
| `indeterminate` | Input may have occurred or requested render verification failed |
|
|
90
|
+
| `failed` | A definite failure before input, such as caller cancellation |
|
|
81
91
|
|
|
82
92
|
Migration `100_typing_guard_modes` extends the existing guard/audit rows and
|
|
83
93
|
adds receipt metadata to the original outbox rows; it creates no tables, retry
|
|
84
94
|
indexes or executable requests. Combined wakes retain each original ID and body.
|
|
85
|
-
A held queue wake stays on the existing queue recovery path. Interrupted
|
|
86
|
-
become indeterminate at startup
|
|
95
|
+
A held queue wake stays on the existing queue recovery path. Interrupted historical
|
|
96
|
+
writes become indeterminate at startup. That history never suppresses a current
|
|
97
|
+
explicit request and is not consulted to determine its result.
|
|
98
|
+
|
|
99
|
+
At startup, the queue recovery pass retries still-current failed or unconfirmed
|
|
100
|
+
wake notifications. It preserves their original envelopes and warns that delivery
|
|
101
|
+
may repeat. Each notification is attempted once per pass, including coalesced
|
|
102
|
+
wakes; a failed attempt cannot spin in that pass. A no-write failure on a later
|
|
103
|
+
retry does not resolve an earlier unknown delivery. Prior-process claims are
|
|
104
|
+
reconciled before new startup sends can begin. Known deliveries and held or
|
|
105
|
+
retired messages stay untouched. Closed, claimed or reassigned work is not woken,
|
|
106
|
+
and the retry never repeats the queue mutation or a lifecycle action.
|
|
87
107
|
|
|
88
108
|
The existing retention limits apply: 100 records and 8 MiB per seat, with a 1 MiB
|
|
89
|
-
message limit.
|
|
90
|
-
|
|
109
|
+
message limit. Hold mode cannot retain another message at capacity. Draft-aware
|
|
110
|
+
input attempts continue with a bookkeeping warning if a record cannot be saved;
|
|
111
|
+
already-committed queue intent remains durable.
|
|
91
112
|
|
|
92
113
|
## Rollback and lifecycle
|
|
93
114
|
|
|
@@ -121,7 +142,25 @@ unchanged; no RigSpec field is required.
|
|
|
121
142
|
## Verification scope
|
|
122
143
|
|
|
123
144
|
Regression tests exercise rollback/re-upgrade, same-value legacy writes, exact
|
|
124
|
-
retained outcomes,
|
|
125
|
-
numbered bodies, real-menu refusals and multi-placeholder ownership. Native tests
|
|
145
|
+
retained outcomes, current requests after restart, coalesced queue bodies, trailing
|
|
146
|
+
spaces, numbered bodies, real-menu refusals and multi-placeholder ownership. Native tests
|
|
126
147
|
use private real tmux panes with scripted editable composers. These verify the
|
|
127
148
|
transport mechanics; they are not live Claude/Codex provider sessions.
|
|
149
|
+
|
|
150
|
+
## Watchdog reminders
|
|
151
|
+
|
|
152
|
+
A currently due watchdog reminder makes a new delivery attempt, including after an interrupted attempt or job
|
|
153
|
+
accounting. Historical outbox receipts do not suppress a lone reminder or prevent it from joining a digest. The
|
|
154
|
+
message tells its recipient that delivery may repeat after an unconfirmed attempt. Its job history records the
|
|
155
|
+
current transport result; an unknown write is not proof that nothing arrived.
|
|
156
|
+
|
|
157
|
+
The transport still protects approval/question prompts, human drafts and recipient identity. Scheduler timing,
|
|
158
|
+
current parked-row eligibility and stop checks still apply. This changes message retries, not the idempotence of
|
|
159
|
+
structured continuity actions such as creating a cutover baton.
|
|
160
|
+
|
|
161
|
+
The parked-owner supervisor also retries current obligations despite an earlier failed, unknown or unrecorded attempt.
|
|
162
|
+
A recorded success to the same known occupant waits for a change in its obligations. Rotation includes retained attempts,
|
|
163
|
+
so a held input cannot starve another owner. Interactive prompts stay with the existing prompt-refusal recovery.
|
|
164
|
+
Its own reminders wait while managed compaction owes the turn boundary, restore or audit, including a fresh check
|
|
165
|
+
at the paste and Enter boundary. A stage that begins after paste leaves an honest partial-input result; OpenRig
|
|
166
|
+
does not erase or replay that text. Peer messages and unrelated reminder policies keep their existing behavior.
|
|
@@ -280,6 +280,7 @@ decisions, and posts its own replies.
|
|
|
280
280
|
and the machine checks it when it has `OPENRIG_AUTH_BEARER_TOKEN` set.
|
|
281
281
|
- **What the receiving machine trusts:** a relayed event comes from whoever holds that machine's
|
|
282
282
|
daemon token (or, with no token set, anything that can reach its daemon), not from Slack directly, and nothing checks Slack's own signature on it. The
|
|
283
|
+
credential issued by `rig host pair` is the daemon API bearer, not a relay-only credential; it also authorizes the other daemon write APIs that use that bearer. The
|
|
283
284
|
machine still looks up the sender in its own list of people, but on a relayed event that's no
|
|
284
285
|
proof a person just typed or clicked it in Slack: it trusts the caller for where the event came
|
|
285
286
|
from.
|
|
@@ -297,16 +298,44 @@ decisions, and posts its own replies.
|
|
|
297
298
|
that's down costs one attempt per retry: its other relays wait for the next one. A relay the
|
|
298
299
|
machine keeps refusing is kept and retried with no limit, because dropping it would lose a
|
|
299
300
|
person's message.
|
|
301
|
+
- **Changing forwarding entries is not a drain or cancellation:** relays already retained keep
|
|
302
|
+
their original host and remain visible in `rig slack status`, even after the last entry is
|
|
303
|
+
removed. An enabled connector retries them; disabling it pauses retry without deleting them.
|
|
304
|
+
Let relays finish before removing a forward entry. A zero dead-letter backlog alone does not
|
|
305
|
+
prove they have drained: it does not count relay HTTP requests still in flight.
|
|
300
306
|
- **Who answered:** every post ends `from <seat> on <machine>`, using the machine's host id (set
|
|
301
307
|
it with `host.name`).
|
|
302
308
|
- **The hub's own channels** are handled on the hub, as before. A channel can be relayed to one
|
|
303
309
|
machine only, and never the hub's own default channel.
|
|
310
|
+
Messages that match neither forwarding nor an existing thread or channel route fall back locally
|
|
311
|
+
to `inboundDestination`; `rig slack status` names that policy and destination. These lists do not
|
|
312
|
+
establish exclusive channel ownership: two machines can still both handle a channel.
|
|
304
313
|
- **Missed messages:** each machine recovers the channels it owns: the hub its own channels, and
|
|
305
314
|
every other machine its default channel and its channel map's (the hub never recovers a channel
|
|
306
315
|
it relays). See [Reconnect recovery and status](#reconnect-recovery-and-status).
|
|
307
316
|
- **Not covered yet:** `rig slack verify` on the hub doesn't check the app's membership in relayed
|
|
308
317
|
channels.
|
|
309
318
|
|
|
319
|
+
## Quiet hours for a person (optional)
|
|
320
|
+
|
|
321
|
+
Quiet hours hold a person's routine asks while they're on, and post them once they end.
|
|
322
|
+
|
|
323
|
+
- **Set them** with `rig gateway human quiet set <entityId> --daily 22:00-07:00` (every day) or `--until 07:00` (from now
|
|
324
|
+
until then), with `--tz` for the person's zone. `show` reports whether they're on, `end` ends tonight's early ("I'm back";
|
|
325
|
+
a daily rule stays for tomorrow), and `clear` removes the rule. A person's mode can set them too (`rig gateway human
|
|
326
|
+
mode save … --quiet`).
|
|
327
|
+
- **While quiet is on,** an ask that would post to the person isn't posted and doesn't mention them, whatever their delivery
|
|
328
|
+
class: it's held, and its row records the hold.
|
|
329
|
+
- **Not held:** an urgent ask, meaning one tagged `escalation` or `wake-escalation` that isn't an update, and the operator's
|
|
330
|
+
wake-ladder alerts. These reach the person exactly as they would outside quiet. An ask below the posting level is only
|
|
331
|
+
logged, as at any time.
|
|
332
|
+
- **When quiet ends,** each held ask that never started posts once, on its own, with no mention. One that no longer applies
|
|
333
|
+
isn't posted, and its row says why: it closed, a newer notification replaced it, its recipient changed, or it's now below
|
|
334
|
+
the posting level.
|
|
335
|
+
- **A post that may already be in Slack**, confirmed or only partly sent, isn't held: it finishes as itself, in its own
|
|
336
|
+
thread.
|
|
337
|
+
- **If quiet hours can't be read,** nothing is posted to that person until they can.
|
|
338
|
+
|
|
310
339
|
## Reconnect recovery and status
|
|
311
340
|
|
|
312
341
|
The daemon scans available top-level messages and replies broadcast with **Also send to
|
|
@@ -372,9 +401,27 @@ channel, a thread line (tracked, scanned, waiting and why any are backing off or
|
|
|
372
401
|
retry time and accepted/dead-lettered recovery counts since the connector last
|
|
373
402
|
started, including threads that have since left the window (they reset when it is enabled or disabled, and when the daemon restarts).
|
|
374
403
|
It also reports the durable dead-letter backlog: the retained records for inbound messages,
|
|
375
|
-
reactions and click answers that await retry,
|
|
376
|
-
|
|
404
|
+
reactions and click answers that await retry, including retained relays, counted across all three
|
|
405
|
+
dead-letter files so the number survives a restart. Retry is paused while the connector is disabled.
|
|
406
|
+
If a file cannot be read, status shows unknown with a reason and no count.
|
|
377
407
|
Human-readable coverage and pending bounds use ISO timestamps; JSON keeps Slack timestamps.
|
|
378
408
|
The status read calls no Slack API and starts no scan. If the daemon cannot be
|
|
379
409
|
observed, local configuration remains visible and live state is unknown. A
|
|
380
410
|
connected socket or valid configuration alone does not prove end-to-end delivery.
|
|
411
|
+
|
|
412
|
+
### Slack rejects a message with `invalid_blocks`
|
|
413
|
+
|
|
414
|
+
`rig queue show <qitemId> --json` records the failure as
|
|
415
|
+
`class=slack-invalid-blocks error=invalid_blocks` in the delivery transition.
|
|
416
|
+
Slack rejected that message's blocks, so OpenRig retains the notification as
|
|
417
|
+
undelivered and does not post the same payload again, including after a daemon
|
|
418
|
+
restart. The rejection is tied to the rendered payload: corrected content can
|
|
419
|
+
make a new attempt. Network failures, server errors and rate limits still retry
|
|
420
|
+
as before; a timed-out request remains uncertain until reconciliation.
|
|
421
|
+
|
|
422
|
+
The source seat gets a `slack-undeliverable` queue item explaining the failure.
|
|
423
|
+
Check the evidence links and message content, then send a corrected ask as a new
|
|
424
|
+
queue item. Close the original when you have handled it. If a long ask was split
|
|
425
|
+
into several messages, earlier parts may already be in Slack; the notice says
|
|
426
|
+
when only part of the ask was posted. A failed part never counts as delivery of
|
|
427
|
+
the whole ask.
|