@openrig/cli 0.6.4 → 0.6.5
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 +384 -0
- package/daemon/assets/onboarding/02-self-and-competent-action.md +5 -0
- 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/hooks/scripts/refocus.cjs +100 -20
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +201 -132
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/reference/SKILL-v1.md +143 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +11 -11
- package/daemon/assets/plugins/openrig-core/skills/loading-addressable-markdown/scripts/resolve-markdown.mjs +2 -1
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +17 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +6 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +45 -19
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +5 -7
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +1 -19
- package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +3 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +56 -4
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +0 -5
- package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +5 -6
- package/daemon/context-packs/help/help.md +9 -4
- 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 +25 -12
- package/daemon/context-packs/reference/getting-started.md +7 -2
- package/daemon/context-packs/reference/instance-layout.md +11 -0
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +32 -5
- 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 +201 -132
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +5 -3
- package/daemon/context-packs/skills/claude-compaction-restore/reference/SKILL-v1.md +143 -0
- 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 +6 -0
- 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/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/SKILL.md +24 -3
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +3 -3
- 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 -11
- 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/loading-addressable-markdown/scripts/resolve-markdown.mjs +2 -1
- package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +2 -2
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/SKILL.md +17 -0
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/scripts/compose.py +2 -2
- package/daemon/context-packs/skills/openrig-user/SKILL.md +45 -19
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/SKILL.md +5 -7
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/SKILL.md +1 -19
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/SKILL.md +3 -0
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +56 -4
- 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 +0 -5
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +5 -6
- 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 +17 -3
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +157 -53
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +7 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +39 -8
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +7 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +14 -6
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +8 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +34 -12
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.d.ts +2 -1
- package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js +5 -2
- package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
- package/daemon/dist/adapters/daemon-url.d.ts +7 -0
- package/daemon/dist/adapters/daemon-url.d.ts.map +1 -0
- package/daemon/dist/adapters/daemon-url.js +12 -0
- package/daemon/dist/adapters/daemon-url.js.map +1 -0
- package/daemon/dist/adapters/omp-resume.d.ts +6 -0
- package/daemon/dist/adapters/omp-resume.d.ts.map +1 -0
- package/daemon/dist/adapters/omp-resume.js +6 -0
- package/daemon/dist/adapters/omp-resume.js.map +1 -0
- package/daemon/dist/adapters/omp-runtime-adapter.d.ts +10 -0
- package/daemon/dist/adapters/omp-runtime-adapter.d.ts.map +1 -0
- package/daemon/dist/adapters/omp-runtime-adapter.js +16 -0
- package/daemon/dist/adapters/omp-runtime-adapter.js.map +1 -0
- package/daemon/dist/adapters/pi-resume.d.ts +4 -0
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +20 -18
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.d.ts +14 -2
- package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.js +62 -5
- package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +49 -5
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +362 -67
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts +3 -2
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +49 -32
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/preflight-exec.d.ts +11 -0
- package/daemon/dist/adapters/preflight-exec.d.ts.map +1 -0
- package/daemon/dist/adapters/preflight-exec.js +52 -0
- package/daemon/dist/adapters/preflight-exec.js.map +1 -0
- package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.js +3 -1
- package/daemon/dist/adapters/stub-runner.js.map +1 -1
- package/daemon/dist/adapters/stub-runtime-adapter.js +1 -1
- package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +47 -5
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +305 -54
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/daemon-shutdown.d.ts +19 -0
- package/daemon/dist/daemon-shutdown.d.ts.map +1 -1
- package/daemon/dist/daemon-shutdown.js +81 -0
- package/daemon/dist/daemon-shutdown.js.map +1 -1
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +10 -2
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/090_human_reply_to.d.ts +3 -0
- package/daemon/dist/db/migrations/090_human_reply_to.d.ts.map +1 -0
- package/daemon/dist/db/migrations/090_human_reply_to.js +7 -0
- package/daemon/dist/db/migrations/090_human_reply_to.js.map +1 -0
- package/daemon/dist/db/migrations/091_human_questions.d.ts +3 -0
- package/daemon/dist/db/migrations/091_human_questions.d.ts.map +1 -0
- package/daemon/dist/db/migrations/091_human_questions.js +9 -0
- package/daemon/dist/db/migrations/091_human_questions.js.map +1 -0
- package/daemon/dist/db/migrations/092_node_effort.d.ts +3 -0
- package/daemon/dist/db/migrations/092_node_effort.d.ts.map +1 -0
- package/daemon/dist/db/migrations/092_node_effort.js +8 -0
- package/daemon/dist/db/migrations/092_node_effort.js.map +1 -0
- package/daemon/dist/db/migrations/094_usage_samples_latest_indexes.d.ts +3 -0
- package/daemon/dist/db/migrations/094_usage_samples_latest_indexes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/094_usage_samples_latest_indexes.js +12 -0
- package/daemon/dist/db/migrations/094_usage_samples_latest_indexes.js.map +1 -0
- package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -1
- package/daemon/dist/domain/activity-endpoint.js +3 -1
- package/daemon/dist/domain/activity-endpoint.js.map +1 -1
- package/daemon/dist/domain/agent-activity-store.d.ts +3 -1
- package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
- package/daemon/dist/domain/agent-activity-store.js +13 -3
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/agent-images/agent-image-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/agent-image-library-service.js +76 -56
- package/daemon/dist/domain/agent-images/agent-image-library-service.js.map +1 -1
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +24 -3
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +3 -2
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-archive.js +25 -5
- package/daemon/dist/domain/bundle-archive.js.map +1 -1
- package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
- package/daemon/dist/domain/chat-repository.js +3 -1
- package/daemon/dist/domain/chat-repository.js.map +1 -1
- package/daemon/dist/domain/checkpoint-store.d.ts.map +1 -1
- package/daemon/dist/domain/checkpoint-store.js +2 -2
- package/daemon/dist/domain/checkpoint-store.js.map +1 -1
- package/daemon/dist/domain/claim-service.d.ts +7 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +6 -2
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +35 -12
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +256 -128
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/claude-managed-launch.d.ts +13 -0
- package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
- package/daemon/dist/domain/claude-managed-launch.js +31 -4
- package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
- package/daemon/dist/domain/codex-daemon-support.d.ts +1 -1
- package/daemon/dist/domain/codex-daemon-support.d.ts.map +1 -1
- package/daemon/dist/domain/codex-daemon-support.js +2 -2
- package/daemon/dist/domain/codex-daemon-support.js.map +1 -1
- package/daemon/dist/domain/codex-network-default.d.ts +42 -0
- package/daemon/dist/domain/codex-network-default.d.ts.map +1 -0
- package/daemon/dist/domain/codex-network-default.js +230 -0
- package/daemon/dist/domain/codex-network-default.js.map +1 -0
- package/daemon/dist/domain/codex-profile-preflight.d.ts +1 -1
- package/daemon/dist/domain/codex-profile-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/codex-profile-preflight.js +3 -3
- package/daemon/dist/domain/codex-profile-preflight.js.map +1 -1
- package/daemon/dist/domain/codex-thread-id.d.ts +4 -2
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +10 -6
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +2 -1
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +13 -2
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/profile-composer.d.ts +5 -0
- package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/profile-composer.js +30 -15
- package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +10 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/profile-source-resolver.js +43 -8
- package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -1
- package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/seat-recap-store.js +73 -16
- package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts +3 -0
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +4 -2
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/crash-cart-detect.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-detect.js +2 -1
- package/daemon/dist/domain/crash-cart-detect.js.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.js +4 -2
- package/daemon/dist/domain/crash-cart-discovery.js.map +1 -1
- package/daemon/dist/domain/current-work.d.ts +17 -0
- package/daemon/dist/domain/current-work.d.ts.map +1 -1
- package/daemon/dist/domain/current-work.js +46 -0
- package/daemon/dist/domain/current-work.js.map +1 -1
- package/daemon/dist/domain/cwd-resolution.js +1 -1
- package/daemon/dist/domain/cwd-resolution.js.map +1 -1
- package/daemon/dist/domain/daemon-url.d.ts +7 -0
- package/daemon/dist/domain/daemon-url.d.ts.map +1 -0
- package/daemon/dist/domain/daemon-url.js +12 -0
- package/daemon/dist/domain/daemon-url.js.map +1 -0
- package/daemon/dist/domain/discovery-types.d.ts +1 -1
- package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
- package/daemon/dist/domain/event-bus.d.ts +1 -0
- package/daemon/dist/domain/event-bus.d.ts.map +1 -1
- package/daemon/dist/domain/event-bus.js +18 -7
- package/daemon/dist/domain/event-bus.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts +3 -3
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +116 -93
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +9 -7
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +38 -16
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +71 -3
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +145 -11
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/manifest.js +1 -1
- package/daemon/dist/domain/gateway/slack/manifest.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.d.ts +17 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.js +77 -3
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +2 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.js +15 -5
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/secrets.js +5 -4
- package/daemon/dist/domain/gateway/slack/secrets.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +16 -10
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js +91 -23
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +33 -10
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +107 -26
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +114 -27
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +3 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.js +18 -0
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.js +7 -2
- package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js +14 -2
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +1 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/health-checkpoints.d.ts +2 -0
- package/daemon/dist/domain/health-checkpoints.d.ts.map +1 -1
- package/daemon/dist/domain/health-checkpoints.js +2 -0
- package/daemon/dist/domain/health-checkpoints.js.map +1 -1
- package/daemon/dist/domain/health-detectors.d.ts +32 -1
- package/daemon/dist/domain/health-detectors.d.ts.map +1 -1
- package/daemon/dist/domain/health-detectors.js +40 -9
- package/daemon/dist/domain/health-detectors.js.map +1 -1
- package/daemon/dist/domain/health-diagnosis.d.ts +3 -1
- package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
- package/daemon/dist/domain/health-diagnosis.js +6 -3
- package/daemon/dist/domain/health-diagnosis.js.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts +5 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.js +20 -4
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +3 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.js +10 -3
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
- package/daemon/dist/domain/human-questions.d.ts +41 -0
- package/daemon/dist/domain/human-questions.d.ts.map +1 -0
- package/daemon/dist/domain/human-questions.js +81 -0
- package/daemon/dist/domain/human-questions.js.map +1 -0
- package/daemon/dist/domain/markdown-address.js +1 -1
- package/daemon/dist/domain/markdown-address.js.map +1 -1
- package/daemon/dist/domain/mission-control/audit-browse.d.ts +5 -0
- package/daemon/dist/domain/mission-control/audit-browse.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/audit-browse.js +11 -1
- package/daemon/dist/domain/mission-control/audit-browse.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts +25 -63
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +34 -100
- package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +6 -3
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts +5 -0
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +33 -2
- package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +1 -1
- package/daemon/dist/domain/mission-control/notification-adapter-types.d.ts +2 -0
- package/daemon/dist/domain/mission-control/notification-adapter-types.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts +4 -0
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.js +33 -2
- package/daemon/dist/domain/mission-control/notification-adapter-webhook.js.map +1 -1
- package/daemon/dist/domain/mission-control/outbound-url-validator.d.ts +27 -0
- package/daemon/dist/domain/mission-control/outbound-url-validator.d.ts.map +1 -0
- package/daemon/dist/domain/mission-control/outbound-url-validator.js +60 -0
- package/daemon/dist/domain/mission-control/outbound-url-validator.js.map +1 -0
- package/daemon/dist/domain/native-process-lineage.d.ts +9 -2
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +104 -11
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts +5 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +17 -4
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +91 -44
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +4 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +4 -1
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +1 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js +25 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/daemon/dist/domain/permission-drift.d.ts +1 -0
- package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
- package/daemon/dist/domain/permission-drift.js +13 -1
- package/daemon/dist/domain/permission-drift.js.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.d.ts +5 -6
- package/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.js +14 -8
- package/daemon/dist/domain/plugin-discovery-service.js.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts +6 -2
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +58 -15
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +6 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +11 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +7 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.js +10 -2
- package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
- package/daemon/dist/domain/projection-planner.js +14 -5
- package/daemon/dist/domain/projection-planner.js.map +1 -1
- package/daemon/dist/domain/proof/judgments.d.ts +3 -0
- package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
- package/daemon/dist/domain/proof/judgments.js +13 -8
- package/daemon/dist/domain/proof/judgments.js.map +1 -1
- package/daemon/dist/domain/proof/source-watch.d.ts.map +1 -1
- package/daemon/dist/domain/proof/source-watch.js +45 -27
- package/daemon/dist/domain/proof/source-watch.js.map +1 -1
- package/daemon/dist/domain/provider/host-usage-rollup.js +9 -5
- package/daemon/dist/domain/provider/host-usage-rollup.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +22 -3
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +50 -11
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
- package/daemon/dist/domain/queue-recovery.js +7 -1
- package/daemon/dist/domain/queue-recovery.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +98 -6
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +301 -33
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +3 -0
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +111 -26
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +8 -7
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +278 -19
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +10 -9
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +31 -11
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/reply-to-choice.d.ts +26 -0
- package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -0
- package/daemon/dist/domain/reply-to-choice.js +45 -0
- package/daemon/dist/domain/reply-to-choice.js.map +1 -0
- package/daemon/dist/domain/restore-check-service.d.ts +27 -8
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +202 -126
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +3 -2
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +65 -208
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +2 -6
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/restore-preconditions.d.ts +12 -0
- package/daemon/dist/domain/restore-preconditions.d.ts.map +1 -0
- package/daemon/dist/domain/restore-preconditions.js +202 -0
- package/daemon/dist/domain/restore-preconditions.js.map +1 -0
- package/daemon/dist/domain/resume-metadata-refresher.d.ts +20 -4
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +70 -8
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/daemon/dist/domain/resume-token-capture.d.ts +22 -1
- package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
- package/daemon/dist/domain/resume-token-capture.js +32 -4
- package/daemon/dist/domain/resume-token-capture.js.map +1 -1
- package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
- package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
- package/daemon/dist/domain/resume-token-validation.js +24 -24
- package/daemon/dist/domain/resume-token-validation.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +3 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +21 -0
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts +3 -0
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +96 -19
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +6 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +4 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +37 -8
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +2 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +20 -5
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +14 -2
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +7 -0
- 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/runtime-verifier.d.ts +3 -1
- package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-verifier.js +10 -1
- package/daemon/dist/domain/runtime-verifier.js.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -4
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.js +4 -4
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +9 -4
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +73 -22
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +1 -0
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +32 -9
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +6 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +8 -5
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +99 -18
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.d.ts +26 -0
- package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -0
- package/daemon/dist/domain/seat-launch-environment.js +178 -0
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +7 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +37 -2
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-status-service.js +4 -2
- package/daemon/dist/domain/seat-status-service.js.map +1 -1
- package/daemon/dist/domain/seat-structural-activity-service.d.ts +5 -4
- package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-structural-activity-service.js +23 -9
- package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-switch-client-service.js +3 -2
- package/daemon/dist/domain/seat-switch-client-service.js.map +1 -1
- package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
- package/daemon/dist/domain/services-readiness.js +6 -2
- package/daemon/dist/domain/services-readiness.js.map +1 -1
- package/daemon/dist/domain/session-fingerprinter.d.ts.map +1 -1
- package/daemon/dist/domain/session-fingerprinter.js +16 -1
- package/daemon/dist/domain/session-fingerprinter.js.map +1 -1
- package/daemon/dist/domain/session-name.d.ts.map +1 -1
- package/daemon/dist/domain/session-name.js +6 -0
- package/daemon/dist/domain/session-name.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +3 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +7 -0
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +30 -1
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +290 -145
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/snapshot-repository.d.ts +2 -1
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +39 -15
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.js +70 -11
- package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
- package/daemon/dist/domain/spec-validation-service.d.ts +6 -0
- package/daemon/dist/domain/spec-validation-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-validation-service.js +16 -1
- package/daemon/dist/domain/spec-validation-service.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +8 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +148 -37
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +41 -0
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -0
- package/daemon/dist/domain/startup-submission-evidence.js +67 -0
- package/daemon/dist/domain/startup-submission-evidence.js.map +1 -0
- package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
- package/daemon/dist/domain/startup-validation.js +4 -0
- package/daemon/dist/domain/startup-validation.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +5 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +8 -6
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.js +2 -1
- package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
- package/daemon/dist/domain/tmux-discovery-scanner.d.ts.map +1 -1
- package/daemon/dist/domain/tmux-discovery-scanner.js +7 -2
- package/daemon/dist/domain/tmux-discovery-scanner.js.map +1 -1
- package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -1
- package/daemon/dist/domain/tmux-option-defaults.js +5 -0
- package/daemon/dist/domain/tmux-option-defaults.js.map +1 -1
- package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-capture.js +1 -1
- package/daemon/dist/domain/transcript-capture.js.map +1 -1
- package/daemon/dist/domain/transcript-rotation.d.ts +26 -5
- package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-rotation.js +176 -25
- package/daemon/dist/domain/transcript-rotation.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts +1 -1
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +11 -4
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +18 -5
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/usage-series.d.ts.map +1 -1
- package/daemon/dist/domain/usage-series.js +11 -6
- package/daemon/dist/domain/usage-series.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +2 -0
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +88 -6
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +11 -6
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +2 -6
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +29 -7
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +103 -14
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-resolver.js +1 -1
- package/daemon/dist/domain/workspace/workspace-resolver.js.map +1 -1
- package/daemon/dist/health-detectors-surface.d.ts +1 -1
- package/daemon/dist/health-detectors-surface.d.ts.map +1 -1
- package/daemon/dist/health-detectors-surface.js.map +1 -1
- package/daemon/dist/index.d.ts +4 -4
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +11 -7
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/middleware/json-body-error.d.ts +17 -0
- package/daemon/dist/middleware/json-body-error.d.ts.map +1 -0
- package/daemon/dist/middleware/json-body-error.js +42 -0
- package/daemon/dist/middleware/json-body-error.js.map +1 -0
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +85 -6
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/attention.d.ts.map +1 -1
- package/daemon/dist/routes/attention.js +7 -1
- package/daemon/dist/routes/attention.js.map +1 -1
- package/daemon/dist/routes/bundles.js +32 -3
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts.map +1 -1
- package/daemon/dist/routes/compaction.js +30 -2
- package/daemon/dist/routes/compaction.js.map +1 -1
- package/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/daemon/dist/routes/context-packs.js +10 -2
- package/daemon/dist/routes/context-packs.js.map +1 -1
- package/daemon/dist/routes/files.js +2 -2
- package/daemon/dist/routes/files.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +6 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/hosts.d.ts.map +1 -1
- package/daemon/dist/routes/hosts.js +51 -12
- package/daemon/dist/routes/hosts.js.map +1 -1
- package/daemon/dist/routes/mission-control.d.ts.map +1 -1
- package/daemon/dist/routes/mission-control.js +6 -2
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +17 -5
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/plugins.d.ts.map +1 -1
- package/daemon/dist/routes/plugins.js +5 -1
- package/daemon/dist/routes/plugins.js.map +1 -1
- package/daemon/dist/routes/proof.d.ts.map +1 -1
- package/daemon/dist/routes/proof.js +9 -2
- package/daemon/dist/routes/proof.js.map +1 -1
- package/daemon/dist/routes/ps.d.ts.map +1 -1
- package/daemon/dist/routes/ps.js +18 -0
- package/daemon/dist/routes/ps.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +150 -67
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/restore-check.d.ts.map +1 -1
- package/daemon/dist/routes/restore-check.js +40 -1
- package/daemon/dist/routes/restore-check.js.map +1 -1
- package/daemon/dist/routes/rigs.js +1 -1
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.d.ts.map +1 -1
- package/daemon/dist/routes/rigspec.js +7 -10
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +11 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +1 -1
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/telemetry.d.ts.map +1 -1
- package/daemon/dist/routes/telemetry.js +6 -1
- package/daemon/dist/routes/telemetry.js.map +1 -1
- package/daemon/dist/routes/terminal-ws.d.ts +1 -2
- package/daemon/dist/routes/terminal-ws.d.ts.map +1 -1
- package/daemon/dist/routes/terminal-ws.js +1 -2
- package/daemon/dist/routes/terminal-ws.js.map +1 -1
- package/daemon/dist/routes/up.js +2 -1
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/views.js +2 -2
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/server.d.ts +2 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +7 -2
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/spec-validation-surface.d.ts +2 -0
- package/daemon/dist/spec-validation-surface.d.ts.map +1 -0
- package/daemon/dist/spec-validation-surface.js +2 -0
- package/daemon/dist/spec-validation-surface.js.map +1 -0
- package/daemon/dist/startup.d.ts +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +137 -50
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/dist/terminal/TerminalSessionBroker.d.ts +1 -0
- package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
- package/daemon/dist/terminal/TerminalSessionBroker.js +8 -1
- package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +36 -1
- package/daemon/docs/reference/agent-startup-guide.md +81 -2
- package/daemon/docs/reference/browser-access.md +4 -1
- package/daemon/docs/reference/developing.md +17 -9
- package/daemon/docs/reference/getting-started.md +7 -2
- package/daemon/docs/reference/health-diagnosis.md +10 -3
- package/daemon/docs/reference/help.md +9 -4
- package/daemon/docs/reference/host-resources.md +60 -0
- package/daemon/docs/reference/instance-layout.md +11 -0
- package/daemon/docs/reference/rig-spec.md +32 -5
- package/daemon/docs/reference/sdlc-conventions.md +6 -3
- package/daemon/docs/reference/slack-app-setup.md +6 -0
- package/daemon/specs/agents/shared/agent.yaml +1 -1
- 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 +6 -0
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +24 -3
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -8
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -8
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -8
- package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +1 -1
- package/dist/atomic-text-write.d.ts +3 -0
- package/dist/atomic-text-write.d.ts.map +1 -0
- package/dist/atomic-text-write.js +79 -0
- package/dist/atomic-text-write.js.map +1 -0
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts.map +1 -1
- package/dist/cli-error.js +15 -2
- package/dist/cli-error.js.map +1 -1
- package/dist/client.d.ts +14 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +29 -4
- package/dist/client.js.map +1 -1
- package/dist/commands/agent-image.d.ts.map +1 -1
- package/dist/commands/agent-image.js +2 -0
- package/dist/commands/agent-image.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +10 -1
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +4 -6
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/broadcast.js +1 -1
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/chatroom.d.ts.map +1 -1
- package/dist/commands/chatroom.js +22 -1
- package/dist/commands/chatroom.js.map +1 -1
- package/dist/commands/compact-plan.d.ts.map +1 -1
- package/dist/commands/compact-plan.js +34 -5
- package/dist/commands/compact-plan.js.map +1 -1
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +24 -4
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +2 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +19 -14
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/crash-cart.d.ts.map +1 -1
- package/dist/commands/crash-cart.js +2 -1
- package/dist/commands/crash-cart.js.map +1 -1
- package/dist/commands/daemon.d.ts +13 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +35 -17
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/destroy.d.ts.map +1 -1
- package/dist/commands/destroy.js +3 -2
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +2 -4
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +3 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +8 -0
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/export.js +2 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +23 -3
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +9 -0
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +13 -3
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +12 -2
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/ps.d.ts +1 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +97 -35
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +2 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +129 -17
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/requirements.d.ts.map +1 -1
- package/dist/commands/requirements.js +6 -3
- package/dist/commands/requirements.js.map +1 -1
- package/dist/commands/rig-mode.d.ts.map +1 -1
- package/dist/commands/rig-mode.js +6 -1
- package/dist/commands/rig-mode.js.map +1 -1
- package/dist/commands/rig.d.ts.map +1 -1
- package/dist/commands/rig.js +20 -20
- package/dist/commands/rig.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +22 -0
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +39 -9
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +6 -5
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +8 -1
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +2 -0
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.js +6 -5
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/startup-proof.d.ts.map +1 -1
- package/dist/commands/startup-proof.js +2 -1
- package/dist/commands/startup-proof.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/terminal.d.ts.map +1 -1
- package/dist/commands/terminal.js +4 -0
- package/dist/commands/terminal.js.map +1 -1
- package/dist/commands/transcript.js +5 -3
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/up.d.ts +8 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +78 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +3 -0
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/workflow-follow.d.ts +2 -0
- package/dist/commands/workflow-follow.d.ts.map +1 -1
- package/dist/commands/workflow-follow.js +6 -4
- package/dist/commands/workflow-follow.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +2 -4
- package/dist/commands/workflow.js.map +1 -1
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +2 -4
- package/dist/commands/workspace.js.map +1 -1
- package/dist/config-store.d.ts +2 -0
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +24 -6
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +9 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +61 -19
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-reachability.d.ts +18 -0
- package/dist/daemon-reachability.d.ts.map +1 -0
- package/dist/daemon-reachability.js +48 -0
- package/dist/daemon-reachability.js.map +1 -0
- package/dist/lib/file-transfer.d.ts +1 -1
- package/dist/lib/file-transfer.d.ts.map +1 -1
- package/dist/lib/file-transfer.js +17 -5
- package/dist/lib/file-transfer.js.map +1 -1
- package/dist/lib/scope/mission-composition.d.ts.map +1 -1
- package/dist/lib/scope/mission-composition.js +11 -0
- package/dist/lib/scope/mission-composition.js.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.d.ts +4 -4
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.js +4 -4
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +10 -16
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope-templates/slice-progress.md +11 -7
- package/dist/restore-packet/claude-transcript-parser.d.ts.map +1 -1
- package/dist/restore-packet/claude-transcript-parser.js +2 -0
- package/dist/restore-packet/claude-transcript-parser.js.map +1 -1
- package/dist/restore-packet/codex-jsonl-parser.d.ts.map +1 -1
- package/dist/restore-packet/codex-jsonl-parser.js +2 -0
- package/dist/restore-packet/codex-jsonl-parser.js.map +1 -1
- package/dist/restore-packet/runtime-detect.d.ts.map +1 -1
- package/dist/restore-packet/runtime-detect.js +2 -0
- package/dist/restore-packet/runtime-detect.js.map +1 -1
- package/package.json +4 -3
- package/tui/dist/attention/source-continuity.d.ts.map +1 -1
- package/tui/dist/attention/source-continuity.js +5 -3
- package/tui/dist/attention/source-continuity.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -1
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +13 -4
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts.map +1 -1
- package/tui/dist/execution/execution-model.js +19 -7
- package/tui/dist/execution/execution-model.js.map +1 -1
- package/tui/dist/grammar.d.ts.map +1 -1
- package/tui/dist/grammar.js +3 -2
- package/tui/dist/grammar.js.map +1 -1
- package/tui/dist/health/health-model.d.ts.map +1 -1
- package/tui/dist/health/health-model.js +17 -5
- package/tui/dist/health/health-model.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +1 -0
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +5 -0
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/live-events.d.ts +2 -2
- package/tui/dist/live-events.d.ts.map +1 -1
- package/tui/dist/live-events.js +65 -27
- package/tui/dist/live-events.js.map +1 -1
- package/tui/dist/local-reading.d.ts.map +1 -1
- package/tui/dist/local-reading.js +2 -0
- package/tui/dist/local-reading.js.map +1 -1
- package/tui/dist/main.js +16 -3
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/page-read.d.ts.map +1 -1
- package/tui/dist/page-read.js +4 -1
- package/tui/dist/page-read.js.map +1 -1
- package/tui/dist/render.d.ts +2 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +15 -4
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
- package/tui/dist/scopes/scopes-model.js +36 -31
- package/tui/dist/scopes/scopes-model.js.map +1 -1
- package/tui/dist/socket-server.d.ts +6 -2
- package/tui/dist/socket-server.d.ts.map +1 -1
- package/tui/dist/socket-server.js +159 -14
- package/tui/dist/socket-server.js.map +1 -1
- package/tui/dist/types.d.ts +18 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/ui/dist/assets/{index-N-SdPj-I.css → index-DNU3XZr_.css} +1 -1
- package/ui/dist/assets/{index-BVW54ItO.js → index-HHSvwF97.js} +75 -75
- package/ui/dist/index.html +2 -2
|
@@ -8,16 +8,11 @@ metadata:
|
|
|
8
8
|
stage: factory-approved
|
|
9
9
|
sibling_skills:
|
|
10
10
|
- claude-compaction-restore
|
|
11
|
-
- mental-model-ha
|
|
12
|
-
- scope-recovery
|
|
13
11
|
- agent-startup-and-context-ingestion
|
|
14
12
|
- agent-starters
|
|
15
|
-
- composable-priming-packs
|
|
16
13
|
- session-source-fork
|
|
17
14
|
- seat-continuity-and-handover
|
|
18
15
|
- retiring-and-inheriting-a-seat
|
|
19
|
-
- claude-compact-in-place
|
|
20
|
-
- pre-maintenance-agent-preservation
|
|
21
16
|
---
|
|
22
17
|
|
|
23
18
|
# Session Compaction and Restore
|
|
@@ -108,6 +103,11 @@ stay durable-substrate-first (the packet/artifacts are the truth; the CLI is the
|
|
|
108
103
|
3. **A runtime resume is mistaken for a seat handover or fork.** These have different continuity outcomes and provenance — don't conflate.
|
|
109
104
|
4. **A rebuilt seat starts with stale instructions that conflict with current workflow mode.** Restore must include current state, not just historical state.
|
|
110
105
|
|
|
106
|
+
**Re-entering project context, on any runtime.** A restore packet carries the work in flight, not the project's
|
|
107
|
+
declared intent and context files. `rig context work-install` lists what the project declares; read the pieces the
|
|
108
|
+
restored task needs. `--deliver` prints them all, and when several projects are declared (`--json` lists the
|
|
109
|
+
ids), select one with `--project <id>` instead of guessing.
|
|
110
|
+
|
|
111
111
|
## Proof standard
|
|
112
112
|
|
|
113
113
|
Proof should include a deliberate compaction/restart of a seat with
|
|
@@ -155,7 +155,6 @@ restoration; measure the resumed seat against the proof standard above.
|
|
|
155
155
|
## See also
|
|
156
156
|
|
|
157
157
|
- `claude-compaction-restore` skill — the Claude Code restore SOP (PreCompact hook + JSONL restore script for post-compaction recovery)
|
|
158
|
-
- `mental-model-ha` skill — HA-pair compaction recovery (different scenario; sister primitive)
|
|
159
158
|
- `session-source-fork` skill — `fork` mode for native-runtime-continuity-based restoration
|
|
160
159
|
- `seat-continuity-and-handover` skill — occupant-creation primitives (resume/fork/rebuild/fresh) that this primitive instantiates
|
|
161
160
|
- `openrig-operating-model` skill — placement and authority of durable context
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "session-compaction-and-restore"
|
|
4
|
-
version: "0.6.
|
|
4
|
+
version: "0.6.5"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when reasoning about what survives compaction/context-loss/restart/seat-refresh, designing a high-fidelity restore packet, or distinguishing native runtime resume vs fork vs artifact-backed mental-model rebuild. Covers the 4 failure modes that prevent honest restore (compacted seat drops hot potato; restore packet preserves details but loses product intent; runtime resume mistaken for handover or fork; rebuilt seat starts with stale instructions)."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "software-for-agents"
|
|
4
|
-
version: "0.6.
|
|
4
|
+
version: "0.6.5"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when older OpenRig instructions name software-for-agents or describe agent-in-the-middle or studio software under the former skill name."
|
|
7
7
|
files:
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TmuxAdapter } from "./tmux.js";
|
|
2
|
+
import type { SeatLaunchEnvironment } from "../domain/seat-launch-environment.js";
|
|
2
3
|
import type { RuntimeAdapter, NodeBinding, ResolvedStartupFile, InstalledResource, ProjectionResult, StartupDeliveryResult, ReadinessResult, HarnessLaunchResult } from "../domain/runtime-adapter.js";
|
|
3
4
|
import type { ProjectionPlan } from "../domain/projection-planner.js";
|
|
4
5
|
import { type NativeProcessLister } from "../domain/native-process-lineage.js";
|
|
@@ -26,6 +27,7 @@ export interface ClaudeAdapterFsOps {
|
|
|
26
27
|
export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
27
28
|
readonly runtime = "claude-code";
|
|
28
29
|
private tmux;
|
|
30
|
+
private seatLaunchEnvironment?;
|
|
29
31
|
private fs;
|
|
30
32
|
private sessionIdFactory;
|
|
31
33
|
private sleep;
|
|
@@ -42,6 +44,7 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
42
44
|
private recordProjection;
|
|
43
45
|
constructor(deps: {
|
|
44
46
|
tmux: TmuxAdapter;
|
|
47
|
+
seatLaunchEnvironment?: SeatLaunchEnvironment;
|
|
45
48
|
fsOps: ClaudeAdapterFsOps;
|
|
46
49
|
sessionIdFactory?: () => string;
|
|
47
50
|
sleep?: (ms: number) => Promise<void>;
|
|
@@ -75,8 +78,10 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
75
78
|
}): void;
|
|
76
79
|
/** Best-effort public seam for user-scope Claude bootstrap used by managed sessions. */
|
|
77
80
|
ensureManagedBootstrap(binding: {
|
|
81
|
+
nodeId?: string;
|
|
78
82
|
cwd?: string | null;
|
|
79
83
|
tmuxSession?: string | null;
|
|
84
|
+
permissionMode?: NodeBinding["permissionMode"];
|
|
80
85
|
}): void;
|
|
81
86
|
private assessManagedProbe;
|
|
82
87
|
private verifyResumeLaunch;
|
|
@@ -117,8 +122,7 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
117
122
|
private captureResumeToken;
|
|
118
123
|
private detectDeliveryHint;
|
|
119
124
|
private provisionManagedBootstrap;
|
|
120
|
-
private
|
|
121
|
-
private provisionOnboardingState;
|
|
125
|
+
private provisionClaudeState;
|
|
122
126
|
private workspaceTrustKeys;
|
|
123
127
|
private readJsonObject;
|
|
124
128
|
private readJsonObjectStrict;
|
|
@@ -126,7 +130,17 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
126
130
|
/**
|
|
127
131
|
* Best-effort: provision the OpenRig context collector for managed Claude sessions.
|
|
128
132
|
* Writes a collector script and merges status line config into .claude/settings.local.json.
|
|
129
|
-
* Idempotent: safe to call multiple times (merge preserves existing settings).
|
|
133
|
+
* Idempotent: safe to call multiple times (merge preserves existing settings). A user's own
|
|
134
|
+
* status line command (anything but the exact command written below), or a file that does not
|
|
135
|
+
* parse, is left as it is. The collector then never runs for that seat. While a valid sidecar
|
|
136
|
+
* from an earlier collector is retained, context usage (shown as stale once it ages) and Claude
|
|
137
|
+
* resume-token capture keep using it. That sidecar's session id may belong to an earlier Claude
|
|
138
|
+
* session, so capture can record an older session id for such a seat. Once none exists:
|
|
139
|
+
* - context usage reads unknown (`missing_sidecar`);
|
|
140
|
+
* - resume-token capture at adoption or handover is skipped (`missing_sidecar`);
|
|
141
|
+
* - its provider-usage row is an explicit unknown (`no_statusline_cache_yet`) unless an earlier
|
|
142
|
+
* cache for that seat is retained.
|
|
143
|
+
* The read-modify-write below is not safe against a concurrent writer of the same file.
|
|
130
144
|
*/
|
|
131
145
|
private provisionContextCollector;
|
|
132
146
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const FORK_POLL_DELAY_MS = 500;
|
|
|
25
25
|
export class ClaudeCodeAdapter {
|
|
26
26
|
runtime = "claude-code";
|
|
27
27
|
tmux;
|
|
28
|
+
seatLaunchEnvironment;
|
|
28
29
|
fs;
|
|
29
30
|
sessionIdFactory;
|
|
30
31
|
sleep;
|
|
@@ -41,6 +42,7 @@ export class ClaudeCodeAdapter {
|
|
|
41
42
|
recordProjection;
|
|
42
43
|
constructor(deps) {
|
|
43
44
|
this.tmux = deps.tmux;
|
|
45
|
+
this.seatLaunchEnvironment = deps.seatLaunchEnvironment;
|
|
44
46
|
this.fs = deps.fsOps;
|
|
45
47
|
this.sessionIdFactory = deps.sessionIdFactory ?? randomUUID;
|
|
46
48
|
this.sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
@@ -157,7 +159,7 @@ export class ClaudeCodeAdapter {
|
|
|
157
159
|
if (!textResult.ok)
|
|
158
160
|
throw new Error(textResult.message);
|
|
159
161
|
await this.sleep(200);
|
|
160
|
-
const submitResult = await this.tmux.sendKeys(binding.tmuxSession, ["
|
|
162
|
+
const submitResult = await this.tmux.sendKeys(binding.tmuxSession, ["Enter"]);
|
|
161
163
|
if (!submitResult.ok)
|
|
162
164
|
throw new Error(submitResult.message);
|
|
163
165
|
}
|
|
@@ -212,6 +214,8 @@ export class ClaudeCodeAdapter {
|
|
|
212
214
|
// resume-cmd builder are the named A2 restore-parity follow-on, not this atom.
|
|
213
215
|
const model = binding.model?.trim();
|
|
214
216
|
const modelArg = model ? ` --model ${shellQuote(model)}` : "";
|
|
217
|
+
const effort = binding.effort?.trim();
|
|
218
|
+
const effortArg = effort ? ` --effort ${shellQuote(effort)}` : "";
|
|
215
219
|
// Fork branch: build `claude --resume <parent> --fork-session --name <seat>`
|
|
216
220
|
// and capture the NEW post-fork session id. The parent token is NEVER
|
|
217
221
|
// persisted onto the new seat record (identity-honesty bedrock).
|
|
@@ -226,15 +230,17 @@ export class ClaudeCodeAdapter {
|
|
|
226
230
|
if (!parentId) {
|
|
227
231
|
return { ok: false, error: "claude-code fork: forkSource.value is required (parent native_id)" };
|
|
228
232
|
}
|
|
229
|
-
const cmd = managed ? managed.command(["--permission-mode", binding.permissionMode, ...(model ? ["--model", model] : []),
|
|
233
|
+
const cmd = managed ? managed.command(["--permission-mode", binding.permissionMode, ...(model ? ["--model", model] : []), ...(effort ? ["--effort", effort] : []),
|
|
230
234
|
"--resume", parentId, "--fork-session", "--name", opts.name])
|
|
231
|
-
: `${rendererPrefix}claude ${permissionMode}${modelArg} --resume ${parentId} --fork-session --name ${opts.name}`;
|
|
235
|
+
: `${rendererPrefix}claude ${permissionMode}${modelArg}${effortArg} --resume ${parentId} --fork-session --name ${opts.name}`;
|
|
232
236
|
const textResult = managed ? await this.tmux.sendShellCommand(binding.tmuxSession, cmd, managed.assertCurrent)
|
|
233
|
-
:
|
|
237
|
+
: this.seatLaunchEnvironment
|
|
238
|
+
? await this.tmux.sendShellCommand(binding.tmuxSession, await this.seatLaunchEnvironment.command(binding.tmuxSession, cmd, { nodeId: binding.nodeId, generation: binding.launchGeneration, runtime: this.runtime }), undefined, { sourceInPane: true })
|
|
239
|
+
: await this.tmux.sendText(binding.tmuxSession, cmd);
|
|
234
240
|
if (!textResult.ok) {
|
|
235
241
|
return { ok: false, error: `Failed to send launch command: ${textResult.message}` };
|
|
236
242
|
}
|
|
237
|
-
const enterResult = managed ? { ok: true } : await this.tmux.sendKeys(binding.tmuxSession, ["Enter"]);
|
|
243
|
+
const enterResult = managed || this.seatLaunchEnvironment ? { ok: true } : await this.tmux.sendKeys(binding.tmuxSession, ["Enter"]);
|
|
238
244
|
if (!enterResult.ok) {
|
|
239
245
|
return { ok: false, error: `Failed to send Enter: ${enterResult.message}` };
|
|
240
246
|
}
|
|
@@ -253,17 +259,19 @@ export class ClaudeCodeAdapter {
|
|
|
253
259
|
return { ok: true, resumeToken: newToken, resumeType: "claude_id", appliedLaunch };
|
|
254
260
|
}
|
|
255
261
|
const generatedSessionId = opts.resumeToken ? null : this.sessionIdFactory();
|
|
256
|
-
const cmd = managed ? managed.command(["--permission-mode", binding.permissionMode, ...(model ? ["--model", model] : []),
|
|
262
|
+
const cmd = managed ? managed.command(["--permission-mode", binding.permissionMode, ...(model ? ["--model", model] : []), ...(effort ? ["--effort", effort] : []),
|
|
257
263
|
...(opts.resumeToken ? ["--resume", opts.resumeToken] : ["--session-id", generatedSessionId]), "--name", opts.name]) : opts.resumeToken
|
|
258
|
-
? `${rendererPrefix}claude ${permissionMode}${modelArg} --resume ${opts.resumeToken} --name ${opts.name}`
|
|
259
|
-
: `${rendererPrefix}claude ${permissionMode}${modelArg} --session-id ${generatedSessionId} --name ${opts.name}`;
|
|
264
|
+
? `${rendererPrefix}claude ${permissionMode}${modelArg}${effortArg} --resume ${opts.resumeToken} --name ${opts.name}`
|
|
265
|
+
: `${rendererPrefix}claude ${permissionMode}${modelArg}${effortArg} --session-id ${generatedSessionId} --name ${opts.name}`;
|
|
260
266
|
const textResult = managed ? await this.tmux.sendShellCommand(binding.tmuxSession, cmd, managed.assertCurrent)
|
|
261
|
-
:
|
|
267
|
+
: this.seatLaunchEnvironment
|
|
268
|
+
? await this.tmux.sendShellCommand(binding.tmuxSession, await this.seatLaunchEnvironment.command(binding.tmuxSession, cmd, { nodeId: binding.nodeId, generation: binding.launchGeneration, runtime: this.runtime }), undefined, { sourceInPane: true })
|
|
269
|
+
: await this.tmux.sendText(binding.tmuxSession, cmd);
|
|
262
270
|
if (!textResult.ok) {
|
|
263
271
|
return { ok: false, error: `Failed to send launch command: ${textResult.message}` };
|
|
264
272
|
}
|
|
265
273
|
// Send Enter to execute
|
|
266
|
-
const enterResult = managed ? { ok: true } : await this.tmux.sendKeys(binding.tmuxSession, ["Enter"]);
|
|
274
|
+
const enterResult = managed || this.seatLaunchEnvironment ? { ok: true } : await this.tmux.sendKeys(binding.tmuxSession, ["Enter"]);
|
|
267
275
|
if (!enterResult.ok) {
|
|
268
276
|
return { ok: false, error: `Failed to send Enter: ${enterResult.message}` };
|
|
269
277
|
}
|
|
@@ -274,10 +282,9 @@ export class ClaudeCodeAdapter {
|
|
|
274
282
|
return verification;
|
|
275
283
|
return { ok: true, resumeToken: opts.resumeToken, resumeType: "claude_id", appliedLaunch };
|
|
276
284
|
}
|
|
277
|
-
//
|
|
278
|
-
//
|
|
279
|
-
|
|
280
|
-
return { ok: true, resumeToken: token ?? generatedSessionId ?? undefined, resumeType: "claude_id", appliedLaunch };
|
|
285
|
+
// Fresh launches already have an explicit --session-id. A same-name file
|
|
286
|
+
// can belong to another seat sharing the Claude config directory.
|
|
287
|
+
return { ok: true, resumeToken: generatedSessionId, resumeType: "claude_id", appliedLaunch };
|
|
281
288
|
}
|
|
282
289
|
async checkReady(binding) {
|
|
283
290
|
binding = { ...binding };
|
|
@@ -307,9 +314,12 @@ export class ClaudeCodeAdapter {
|
|
|
307
314
|
async assessManagedProbe(binding, paneCommand, paneContent) {
|
|
308
315
|
const input = { runtime: "claude-code", paneCommand, paneContent };
|
|
309
316
|
const probe = assessNativeResumeProbe(input);
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
|
|
317
|
+
// Headerless managed launches (including bypass mode) use the same readiness
|
|
318
|
+
// precedence as resume. This candidate result is returned only after the
|
|
319
|
+
// exact launch identity below is proved; screen text alone is insufficient.
|
|
320
|
+
const verifiedProbe = assessNativeResumeProbe({ ...input,
|
|
321
|
+
claudeAutoIdentityVerified: true, claudeResumeIdentityVerified: true });
|
|
322
|
+
if (probe.status === "resumed" || verifiedProbe.status !== "resumed")
|
|
313
323
|
return probe;
|
|
314
324
|
const launch = this.autoLaunches.get(binding.nodeId);
|
|
315
325
|
if (!launch || !binding.tmuxPane || !binding.tmuxSession
|
|
@@ -338,7 +348,7 @@ export class ClaudeCodeAdapter {
|
|
|
338
348
|
|| currentPanes[0]?.id !== binding.tmuxPane
|
|
339
349
|
|| await this.tmux.getPanePid(binding.tmuxSession) !== native.panePid)
|
|
340
350
|
return probe;
|
|
341
|
-
return
|
|
351
|
+
return verifiedProbe;
|
|
342
352
|
}
|
|
343
353
|
catch {
|
|
344
354
|
return probe;
|
|
@@ -602,40 +612,86 @@ export class ClaudeCodeAdapter {
|
|
|
602
612
|
provisionManagedBootstrap(binding) {
|
|
603
613
|
// OPR.0.4.8.2 agnostic rip-out: provisionRigPermissions (C2) removed — OpenRig no longer
|
|
604
614
|
// authors any config-file permission policy. Trust/onboarding (C3/C4) are neutral plumbing, kept.
|
|
605
|
-
this.
|
|
606
|
-
|
|
615
|
+
const home = this.fs.homedir ?? (typeof process !== "undefined" ? process.env.HOME : undefined);
|
|
616
|
+
// Match launchHarness: an explicit permission mode exports the selected home to the child, so
|
|
617
|
+
// only that home is provisioned.
|
|
618
|
+
const managed = binding.permissionMode !== undefined ? this.claudeManagedLaunch : undefined;
|
|
619
|
+
const cwd = binding.cwd === undefined && managed && binding.nodeId
|
|
620
|
+
? managed.boundCwd(binding.nodeId) : binding.cwd;
|
|
621
|
+
const statePaths = [];
|
|
622
|
+
const failures = [];
|
|
623
|
+
if (managed) {
|
|
624
|
+
if (cwd)
|
|
625
|
+
statePaths.push(managed.configPaths(cwd).statePath);
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
if (home)
|
|
629
|
+
statePaths.push(nodePath.join(home, ".claude.json"));
|
|
630
|
+
// A classic seat types `claude` into its pane's shell, which inherits the tmux server's
|
|
631
|
+
// environment, not the daemon's, so the bootstrap cannot see which home that child reads.
|
|
632
|
+
// When the daemon selects CLAUDE_CONFIG_DIR, provision that home too. This deliberately
|
|
633
|
+
// replaces #565's rule that classic bootstrap writes exactly one file and leaves the
|
|
634
|
+
// selected home untouched: a child that inherits the daemon's selection read neither.
|
|
635
|
+
try {
|
|
636
|
+
const selectedCwd = cwd ?? (binding.nodeId ? this.claudeManagedLaunch?.boundCwd(binding.nodeId) : undefined);
|
|
637
|
+
const selected = selectedCwd ? this.claudeManagedLaunch?.selectedStatePath(selectedCwd) : undefined;
|
|
638
|
+
if (selected && !statePaths.includes(selected))
|
|
639
|
+
statePaths.push(selected);
|
|
640
|
+
}
|
|
641
|
+
catch (err) {
|
|
642
|
+
failures.push(err.message);
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
// Each file is merged on its own: unmergeable state in one is preserved and reported,
|
|
646
|
+
// and never stops the other from being provisioned.
|
|
647
|
+
for (const statePath of statePaths) {
|
|
648
|
+
try {
|
|
649
|
+
this.provisionClaudeState(statePath, cwd);
|
|
650
|
+
}
|
|
651
|
+
catch (err) {
|
|
652
|
+
failures.push(`${statePath}: ${err.message}`);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
if (failures.length > 0)
|
|
656
|
+
throw new Error(failures.join("; "));
|
|
657
|
+
}
|
|
658
|
+
provisionClaudeState(statePath, cwd) {
|
|
659
|
+
// Preserve every existing field. Unreadable/malformed/non-object state is
|
|
660
|
+
// left untouched and reported through the caller's best-effort bootstrap boundary.
|
|
661
|
+
const state = this.fs.exists(statePath) ? this.readJsonObjectStrict(statePath) : {};
|
|
662
|
+
// Running Claude processes read and write this file, so it is rewritten only when a flag is
|
|
663
|
+
// missing: an already-provisioned file (every relaunch, resume and post-launch delivery) is left alone.
|
|
664
|
+
let changed = false;
|
|
665
|
+
if (cwd) {
|
|
666
|
+
const projects = this.readJsonObjectField(state, "projects");
|
|
667
|
+
if (Object.hasOwn(state, "projects") && projects !== state["projects"])
|
|
668
|
+
throw new Error("Claude bootstrap projects must be a JSON object; existing state preserved.");
|
|
669
|
+
for (const trustKey of this.workspaceTrustKeys(cwd)) {
|
|
670
|
+
const projectState = this.readJsonObjectField(projects, trustKey);
|
|
671
|
+
if (Object.hasOwn(projects, trustKey) && projectState !== projects[trustKey])
|
|
672
|
+
throw new Error("Claude bootstrap project state must be a JSON object; existing state preserved.");
|
|
673
|
+
if (projectState["hasTrustDialogAccepted"] === true)
|
|
674
|
+
continue;
|
|
675
|
+
projectState["hasTrustDialogAccepted"] = true;
|
|
676
|
+
projects[trustKey] = projectState;
|
|
677
|
+
changed = true;
|
|
678
|
+
}
|
|
679
|
+
state["projects"] = projects;
|
|
680
|
+
}
|
|
681
|
+
if (state["hasCompletedOnboarding"] !== true) {
|
|
682
|
+
state["hasCompletedOnboarding"] = true;
|
|
683
|
+
changed = true;
|
|
684
|
+
}
|
|
685
|
+
if (!changed)
|
|
686
|
+
return;
|
|
687
|
+
this.fs.mkdirp(nodePath.dirname(statePath));
|
|
688
|
+
this.fs.writeFile(statePath, JSON.stringify(state, null, 2));
|
|
607
689
|
}
|
|
608
690
|
// OPR.0.4.8.2 agnostic rip-out: the CONVENIENCE_BASELINE (global `Bash(rig:*)` allow) and its
|
|
609
691
|
// provisionRigPermissions writer (assessment row C2 — wrote into ~/.claude/settings.json with an
|
|
610
692
|
// `_openrig_provenance` marker) are DELETED. OpenRig no longer authors any config-file permission
|
|
611
693
|
// policy; the harness-native permission surface is the control surface. Existing provenance-marked
|
|
612
694
|
// user files are NOT retro-scrubbed — the new code simply never touches settings.json.
|
|
613
|
-
provisionWorkspaceTrust(cwd) {
|
|
614
|
-
if (!cwd)
|
|
615
|
-
return;
|
|
616
|
-
const home = this.fs.homedir ?? (typeof process !== "undefined" ? process.env.HOME : undefined);
|
|
617
|
-
if (!home)
|
|
618
|
-
return;
|
|
619
|
-
const statePath = nodePath.join(home, ".claude.json");
|
|
620
|
-
const state = this.readJsonObject(statePath);
|
|
621
|
-
const projects = this.readJsonObjectField(state, "projects");
|
|
622
|
-
for (const trustKey of this.workspaceTrustKeys(cwd)) {
|
|
623
|
-
const projectState = this.readJsonObjectField(projects, trustKey);
|
|
624
|
-
projectState["hasTrustDialogAccepted"] = true;
|
|
625
|
-
projects[trustKey] = projectState;
|
|
626
|
-
}
|
|
627
|
-
state["projects"] = projects;
|
|
628
|
-
this.fs.writeFile(statePath, JSON.stringify(state, null, 2));
|
|
629
|
-
}
|
|
630
|
-
provisionOnboardingState() {
|
|
631
|
-
const home = this.fs.homedir ?? (typeof process !== "undefined" ? process.env.HOME : undefined);
|
|
632
|
-
if (!home)
|
|
633
|
-
return;
|
|
634
|
-
const statePath = nodePath.join(home, ".claude.json");
|
|
635
|
-
const state = this.readJsonObject(statePath);
|
|
636
|
-
state["hasCompletedOnboarding"] = true;
|
|
637
|
-
this.fs.writeFile(statePath, JSON.stringify(state, null, 2));
|
|
638
|
-
}
|
|
639
695
|
workspaceTrustKeys(cwd) {
|
|
640
696
|
const keys = new Set([nodePath.resolve(cwd)]);
|
|
641
697
|
try {
|
|
@@ -676,7 +732,17 @@ export class ClaudeCodeAdapter {
|
|
|
676
732
|
/**
|
|
677
733
|
* Best-effort: provision the OpenRig context collector for managed Claude sessions.
|
|
678
734
|
* Writes a collector script and merges status line config into .claude/settings.local.json.
|
|
679
|
-
* Idempotent: safe to call multiple times (merge preserves existing settings).
|
|
735
|
+
* Idempotent: safe to call multiple times (merge preserves existing settings). A user's own
|
|
736
|
+
* status line command (anything but the exact command written below), or a file that does not
|
|
737
|
+
* parse, is left as it is. The collector then never runs for that seat. While a valid sidecar
|
|
738
|
+
* from an earlier collector is retained, context usage (shown as stale once it ages) and Claude
|
|
739
|
+
* resume-token capture keep using it. That sidecar's session id may belong to an earlier Claude
|
|
740
|
+
* session, so capture can record an older session id for such a seat. Once none exists:
|
|
741
|
+
* - context usage reads unknown (`missing_sidecar`);
|
|
742
|
+
* - resume-token capture at adoption or handover is skipped (`missing_sidecar`);
|
|
743
|
+
* - its provider-usage row is an explicit unknown (`no_statusline_cache_yet`) unless an earlier
|
|
744
|
+
* cache for that seat is retained.
|
|
745
|
+
* The read-modify-write below is not safe against a concurrent writer of the same file.
|
|
680
746
|
*/
|
|
681
747
|
provisionContextCollector(binding) {
|
|
682
748
|
if (!this.stateDir || !this.collectorAssetPath || !binding.cwd)
|
|
@@ -692,13 +758,35 @@ export class ClaudeCodeAdapter {
|
|
|
692
758
|
// 2. Merge status line config into .claude/settings.local.json
|
|
693
759
|
const settingsPath = nodePath.join(binding.cwd, ".claude", "settings.local.json");
|
|
694
760
|
this.fs.mkdirp(nodePath.dirname(settingsPath));
|
|
695
|
-
|
|
761
|
+
// The seat cwd can be a shared repo whose project-local settings other sessions read (#421).
|
|
762
|
+
// Like the activity hooks, never clobber text we cannot parse. An empty file holds no settings
|
|
763
|
+
// and is treated as `{}`. Valid JSON that is not an object (for example `[]`) is still
|
|
764
|
+
// replaced, as before.
|
|
765
|
+
let existing = {};
|
|
766
|
+
if (this.fs.exists(settingsPath)) {
|
|
767
|
+
const text = this.fs.readFile(settingsPath);
|
|
768
|
+
if (text.trim() !== "") {
|
|
769
|
+
let parsed;
|
|
770
|
+
try {
|
|
771
|
+
parsed = JSON.parse(text);
|
|
772
|
+
}
|
|
773
|
+
catch {
|
|
774
|
+
return;
|
|
775
|
+
}
|
|
776
|
+
if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed))
|
|
777
|
+
existing = parsed;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
const statusLine = typeof existing["statusLine"] === "object" && existing["statusLine"] !== null
|
|
781
|
+
? existing["statusLine"] : {};
|
|
782
|
+
// A user's own status line command wins; only OpenRig's collector command is installed or refreshed.
|
|
783
|
+
// If this command's shape changes, keep the old shape recognised in isOwnedCollectorCommand, or
|
|
784
|
+
// seats holding it will never be refreshed.
|
|
696
785
|
const collectorCmd = `node ${collectorDest} ${contextDir} ${providerUsageDir}`;
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
};
|
|
786
|
+
const current = statusLine["command"];
|
|
787
|
+
if (typeof current === "string" && current.trim() !== "" && current !== collectorCmd && !isOwnedCollectorCommand(current))
|
|
788
|
+
return;
|
|
789
|
+
existing["statusLine"] = { ...statusLine, type: "command", command: collectorCmd };
|
|
702
790
|
this.fs.writeFile(settingsPath, JSON.stringify(existing, null, 2));
|
|
703
791
|
}
|
|
704
792
|
/**
|
|
@@ -814,6 +902,22 @@ const OWNED_RELAY_SUFFIX = "/.openrig/hooks/scripts/activity-relay.cjs";
|
|
|
814
902
|
function hookCommand(hook) {
|
|
815
903
|
return isPlainObject(hook) && typeof hook["command"] === "string" ? hook["command"] : undefined;
|
|
816
904
|
}
|
|
905
|
+
// OpenRig-owned context collector. provisionContextCollector writes exactly
|
|
906
|
+
// `node <cwd>/.openrig/context-collector.cjs <contextDir> <providerUsageDir>`, unquoted; older
|
|
907
|
+
// releases wrote the same command without `<providerUsageDir>`. Ownership is either shape with any
|
|
908
|
+
// (possibly stale) paths, on one line. A command that merely contains the path, composed with `;`,
|
|
909
|
+
// `&&`, a pipe or a newline, or naming another file such as `.cjs.backup`, is the user's.
|
|
910
|
+
const OWNED_COLLECTOR_SUFFIX = nodePath.sep + nodePath.join(".openrig", "context-collector.cjs");
|
|
911
|
+
function isOwnedCollectorCommand(cmd) {
|
|
912
|
+
if (/[\r\n]/.test(cmd))
|
|
913
|
+
return false;
|
|
914
|
+
const tokens = cmd.trim().split(/\s+/);
|
|
915
|
+
if ((tokens.length !== 3 && tokens.length !== 4) || tokens[0] !== "node")
|
|
916
|
+
return false;
|
|
917
|
+
if (tokens.some((token) => /[;&|<>`$()'"\\]/.test(token)))
|
|
918
|
+
return false;
|
|
919
|
+
return tokens[1].endsWith(OWNED_COLLECTOR_SUFFIX);
|
|
920
|
+
}
|
|
817
921
|
function isOwnedRelayCommand(cmd) {
|
|
818
922
|
if (!cmd)
|
|
819
923
|
return false;
|