@openrig/cli 0.6.4 → 0.6.6
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 +405 -0
- package/daemon/assets/onboarding/02-self-and-competent-action.md +42 -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/applying-a-permission-policy/SKILL.md +41 -21
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +207 -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 +12 -12
- 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 +9 -4
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +54 -23
- 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 +40 -10
- 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 +26 -12
- package/daemon/context-packs/reference/getting-started.md +426 -111
- 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 +180 -29
- 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/SKILL.md +41 -21
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +207 -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/SKILL.md +0 -6
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
- 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/SKILL.md +5 -5
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +3 -3
- 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 +9 -4
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +12 -9
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +29 -29
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +0 -5
- 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 +12 -12
- 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 +54 -23
- 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/OPENRIG.md +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/SKILL.md +0 -2
- 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 +18 -4
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +179 -63
- 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 +44 -10
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +9 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +22 -8
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +93 -73
- 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 +6 -3
- 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/kernel-authority.d.ts +10 -0
- package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -0
- package/daemon/dist/adapters/kernel-authority.js +53 -0
- package/daemon/dist/adapters/kernel-authority.js.map +1 -0
- package/daemon/dist/adapters/non-interruptive.d.ts +14 -0
- package/daemon/dist/adapters/non-interruptive.d.ts.map +1 -0
- package/daemon/dist/adapters/non-interruptive.js +38 -0
- package/daemon/dist/adapters/non-interruptive.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 +7 -1
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +27 -18
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.d.ts +29 -2
- package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.js +89 -5
- package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +52 -5
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +429 -68
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts +11 -2
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +85 -40
- 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-protocol.d.ts +1 -1
- package/daemon/dist/adapters/stub-runner-protocol.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.d.ts +1 -1
- 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.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runtime-adapter.js +11 -8
- package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +52 -6
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +313 -57
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/daemon/dist/adapters/yolo-mode.js +3 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/bundle-behaviour-surface.d.ts +2 -0
- package/daemon/dist/bundle-behaviour-surface.d.ts.map +1 -0
- package/daemon/dist/bundle-behaviour-surface.js +2 -0
- package/daemon/dist/bundle-behaviour-surface.js.map +1 -0
- package/daemon/dist/bundle-identity-surface.d.ts +2 -0
- package/daemon/dist/bundle-identity-surface.d.ts.map +1 -0
- package/daemon/dist/bundle-identity-surface.js +4 -0
- package/daemon/dist/bundle-identity-surface.js.map +1 -0
- 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 +85 -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 +12 -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/db/migrations/095_rig_non_interruptive.d.ts +3 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts.map +1 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.js +5 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.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 +28 -5
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +10 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +136 -33
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/builtin-policy-reference.d.ts +1 -1
- package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -1
- package/daemon/dist/domain/builtin-policy-reference.js +2 -2
- package/daemon/dist/domain/builtin-policy-reference.js.map +1 -1
- package/daemon/dist/domain/bundle-archive.d.ts +24 -0
- package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-archive.js +66 -21
- package/daemon/dist/domain/bundle-archive.js.map +1 -1
- package/daemon/dist/domain/bundle-audit.d.ts +5 -0
- package/daemon/dist/domain/bundle-audit.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-audit.js.map +1 -1
- package/daemon/dist/domain/bundle-behaviour-inspect.d.ts +4 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.js +56 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.js.map +1 -0
- package/daemon/dist/domain/bundle-behaviour.d.ts +118 -0
- package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-behaviour.js +364 -0
- package/daemon/dist/domain/bundle-behaviour.js.map +1 -0
- package/daemon/dist/domain/bundle-carried-context-pack.d.ts +16 -0
- package/daemon/dist/domain/bundle-carried-context-pack.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-carried-context-pack.js +67 -0
- package/daemon/dist/domain/bundle-carried-context-pack.js.map +1 -0
- package/daemon/dist/domain/bundle-carried-project.d.ts +13 -0
- package/daemon/dist/domain/bundle-carried-project.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-carried-project.js +71 -0
- package/daemon/dist/domain/bundle-carried-project.js.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.js +3 -3
- package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -1
- package/daemon/dist/domain/bundle-content-routing.d.ts +49 -0
- package/daemon/dist/domain/bundle-content-routing.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-content-routing.js +246 -0
- package/daemon/dist/domain/bundle-content-routing.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +7 -2
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.js +19 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/daemon/dist/domain/bundle-identity.d.ts +27 -0
- package/daemon/dist/domain/bundle-identity.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-identity.js +34 -0
- package/daemon/dist/domain/bundle-identity.js.map +1 -0
- package/daemon/dist/domain/bundle-install-context.d.ts +22 -0
- package/daemon/dist/domain/bundle-install-context.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-install-context.js +51 -0
- package/daemon/dist/domain/bundle-install-context.js.map +1 -0
- package/daemon/dist/domain/bundle-integrity.d.ts +1 -0
- package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-integrity.js +1 -1
- package/daemon/dist/domain/bundle-integrity.js.map +1 -1
- package/daemon/dist/domain/bundle-source-resolver.d.ts +4 -1
- package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-source-resolver.js +73 -19
- package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
- package/daemon/dist/domain/bundle-types.d.ts +37 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-types.js +78 -0
- package/daemon/dist/domain/bundle-types.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 +38 -12
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +291 -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-team-workspace.d.ts +8 -0
- package/daemon/dist/domain/codex-team-workspace.d.ts.map +1 -0
- package/daemon/dist/domain/codex-team-workspace.js +54 -0
- package/daemon/dist/domain/codex-team-workspace.js.map +1 -0
- 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 +9 -2
- 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/daemon-version.d.ts +3 -1
- package/daemon/dist/domain/daemon-version.d.ts.map +1 -1
- package/daemon/dist/domain/daemon-version.js +6 -1
- package/daemon/dist/domain/daemon-version.js.map +1 -1
- 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/event-loop-monitor.d.ts +6 -0
- package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/event-loop-monitor.js +13 -0
- package/daemon/dist/domain/event-loop-monitor.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/finite-telemetry.d.ts +74 -0
- package/daemon/dist/domain/finite-telemetry.d.ts.map +1 -0
- package/daemon/dist/domain/finite-telemetry.js +236 -0
- package/daemon/dist/domain/finite-telemetry.js.map +1 -0
- package/daemon/dist/domain/gateway/connections-projection.d.ts +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +2 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +4 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.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/channel-recovery.d.ts +45 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.js +176 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +74 -4
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +163 -18
- 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 +17 -10
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js +94 -24
- 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 +121 -28
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +4 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +14 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.d.ts +27 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.js +102 -1
- 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/generated-file-hygiene.d.ts +3 -0
- package/daemon/dist/domain/generated-file-hygiene.d.ts.map +1 -0
- package/daemon/dist/domain/generated-file-hygiene.js +142 -0
- package/daemon/dist/domain/generated-file-hygiene.js.map +1 -0
- 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/install-planner.d.ts.map +1 -1
- package/daemon/dist/domain/install-planner.js +17 -0
- package/daemon/dist/domain/install-planner.js.map +1 -1
- package/daemon/dist/domain/managed-blocks.d.ts +1 -0
- package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
- package/daemon/dist/domain/managed-blocks.js +3 -0
- package/daemon/dist/domain/managed-blocks.js.map +1 -1
- 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-permission-store.d.ts +14 -0
- package/daemon/dist/domain/native-permission-store.d.ts.map +1 -1
- package/daemon/dist/domain/native-permission-store.js +168 -4
- package/daemon/dist/domain/native-permission-store.js.map +1 -1
- package/daemon/dist/domain/native-process-executable.d.ts +4 -0
- package/daemon/dist/domain/native-process-executable.d.ts.map +1 -0
- package/daemon/dist/domain/native-process-executable.js +53 -0
- package/daemon/dist/domain/native-process-executable.js.map +1 -0
- package/daemon/dist/domain/native-process-lineage.d.ts +11 -2
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +135 -15
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts +8 -2
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +55 -11
- 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/permission-policy/policy-ref.d.ts +6 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.js +16 -4
- package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.js +2 -2
- package/daemon/dist/domain/permission-policy/policy-spec.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 +4 -2
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +78 -9
- 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 +11 -0
- 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 +337 -43
- 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-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +12 -10
- package/daemon/dist/domain/queue-transition-log.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/readiness-timeout.d.ts +7 -0
- package/daemon/dist/domain/readiness-timeout.d.ts.map +1 -0
- package/daemon/dist/domain/readiness-timeout.js +19 -0
- package/daemon/dist/domain/readiness-timeout.js.map +1 -0
- 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/request-phase-observer.d.ts +69 -0
- package/daemon/dist/domain/request-phase-observer.d.ts.map +1 -0
- package/daemon/dist/domain/request-phase-observer.js +206 -0
- package/daemon/dist/domain/request-phase-observer.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 +5 -2
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +119 -216
- 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-mode/operating-posture.d.ts +17 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js +53 -15
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +15 -5
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +70 -6
- 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 +105 -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 +8 -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 +5 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +8 -3
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +82 -20
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +5 -2
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +36 -13
- 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 +19 -3
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -1
- package/daemon/dist/domain/route-timing-recorder.js +2 -0
- package/daemon/dist/domain/route-timing-recorder.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +19 -3
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js +1 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/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 +38 -9
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +8 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +12 -11
- 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 +182 -0
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +11 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +41 -2
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/seat-status-service.d.ts +2 -1
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-status-service.js +10 -6
- 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/service-orchestrator.d.ts +1 -0
- package/daemon/dist/domain/service-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/service-orchestrator.js +4 -0
- package/daemon/dist/domain/service-orchestrator.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 +35 -1
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +450 -158
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-catalog.d.ts +19 -0
- package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
- package/daemon/dist/domain/skill-catalog.js +166 -17
- package/daemon/dist/domain/skill-catalog.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +6 -0
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/slow-op-recorder.d.ts +5 -0
- package/daemon/dist/domain/slow-op-recorder.d.ts.map +1 -1
- package/daemon/dist/domain/slow-op-recorder.js +34 -1
- package/daemon/dist/domain/slow-op-recorder.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 +38 -5
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +275 -64
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-proof.d.ts +7 -0
- package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
- package/daemon/dist/domain/startup-proof.js +7 -0
- package/daemon/dist/domain/startup-proof.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +45 -0
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -0
- package/daemon/dist/domain/startup-submission-evidence.js +84 -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 +14 -3
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +19 -9
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/system-world.d.ts +3 -0
- package/daemon/dist/domain/system-world.d.ts.map +1 -1
- package/daemon/dist/domain/system-world.js +24 -21
- package/daemon/dist/domain/system-world.js.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +2 -3
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +19 -4
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +102 -8
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/terminal-provider.d.ts +2 -0
- package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.d.ts +10 -0
- package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.js +75 -6
- package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.d.ts +6 -0
- package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.js +6 -3
- 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/topology/remote-up-leaf.d.ts +1 -0
- package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -1
- package/daemon/dist/domain/topology/remote-up-leaf.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 +14 -6
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +24 -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 +3 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +101 -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-runtime.d.ts +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/project-catalog.d.ts +20 -0
- package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/project-catalog.js +92 -0
- package/daemon/dist/domain/workspace/project-catalog.js.map +1 -1
- package/daemon/dist/domain/workspace/project-registration.d.ts +49 -0
- package/daemon/dist/domain/workspace/project-registration.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/project-registration.js +251 -0
- package/daemon/dist/domain/workspace/project-registration.js.map +1 -0
- 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 +12 -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/project-catalog-surface.d.ts +2 -1
- package/daemon/dist/project-catalog-surface.d.ts.map +1 -1
- package/daemon/dist/project-catalog-surface.js +1 -1
- package/daemon/dist/project-catalog-surface.js.map +1 -1
- 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.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +197 -407
- 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 +44 -4
- 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/env.d.ts.map +1 -1
- package/daemon/dist/routes/env.js +14 -4
- package/daemon/dist/routes/env.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 +11 -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/projects.d.ts.map +1 -1
- package/daemon/dist/routes/projects.js +4 -2
- package/daemon/dist/routes/projects.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.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +4 -3
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.d.ts.map +1 -1
- package/daemon/dist/routes/rigspec.js +11 -12
- 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 +22 -4
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +3 -2
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/telemetry.d.ts +2 -0
- package/daemon/dist/routes/telemetry.d.ts.map +1 -1
- package/daemon/dist/routes/telemetry.js +22 -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 +11 -6
- 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 +3 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +11 -3
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/spec-validation-surface.d.ts +4 -0
- package/daemon/dist/spec-validation-surface.d.ts.map +1 -0
- package/daemon/dist/spec-validation-surface.js +4 -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 +166 -57
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/dist/system-world-surface.d.ts +1 -1
- package/daemon/dist/system-world-surface.d.ts.map +1 -1
- package/daemon/dist/system-world-surface.js +1 -1
- package/daemon/dist/system-world-surface.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 +145 -64
- package/daemon/docs/reference/agent-startup-guide.md +187 -35
- package/daemon/docs/reference/agent-state-taxonomy.md +44 -13
- package/daemon/docs/reference/browser-access.md +8 -4
- package/daemon/docs/reference/bundle-formats.md +207 -0
- package/daemon/docs/reference/chain-file-convention.md +16 -7
- package/daemon/docs/reference/developing.md +24 -9
- package/daemon/docs/reference/edge-types.md +18 -10
- package/daemon/docs/reference/getting-started.md +426 -111
- package/daemon/docs/reference/health-diagnosis.md +23 -8
- package/daemon/docs/reference/help.md +40 -10
- package/daemon/docs/reference/host-resources.md +61 -0
- package/daemon/docs/reference/instance-layout.md +11 -0
- package/daemon/docs/reference/inventory-request-diagnostics.md +75 -0
- package/daemon/docs/reference/knowledge-maturity.md +3 -1
- package/daemon/docs/reference/legacy-topology-migration.md +4 -2
- package/daemon/docs/reference/lore-routing.md +3 -1
- package/daemon/docs/reference/mission-install.md +3 -1
- package/daemon/docs/reference/non-interruptive-mode.md +60 -0
- package/daemon/docs/reference/planning-dial.md +2 -1
- package/daemon/docs/reference/product-journey-sdlc.md +11 -6
- package/daemon/docs/reference/product-management-pass.md +3 -1
- package/daemon/docs/reference/project-workspace.md +80 -3
- package/daemon/docs/reference/publishing-a-rig-bundle.md +144 -0
- package/daemon/docs/reference/refocus-channel.md +14 -5
- package/daemon/docs/reference/release-boundary.md +7 -3
- package/daemon/docs/reference/rig-bundle.md +271 -42
- package/daemon/docs/reference/rig-spec.md +180 -29
- package/daemon/docs/reference/rosters.md +60 -0
- package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +546 -0
- package/daemon/docs/reference/schemas/bundle-common.v1.schema.json +110 -0
- package/daemon/docs/reference/schemas/bundle-configurations.v1.schema.json +67 -0
- package/daemon/docs/reference/schemas/bundle-status.v1.schema.json +323 -0
- package/daemon/docs/reference/schemas/fixtures/identity-vectors.json +80 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/behaviour/not-generated-with-sections.json +60 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/configurations/spaced-member.configurations.yaml +6 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/listed-with-withdrawn-on.yaml +21 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/missing-source.yaml +16 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/parent-folder.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/short-commit.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/withdrawn-without-date.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/run-record/harness-check-with-configuration.json +75 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/run-record/unlabelable-platform.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/hand-edited-notice.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-with-assistance.json +62 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-without-records.json +59 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-harness-with-result.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-listing-with-label.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/custom-not-generated.json +22 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/legacy-archive-unknown-identity.json +53 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-default.json +101 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-yolo.json +102 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/openrig-dev.recommended.json +258 -0
- package/daemon/docs/reference/schemas/fixtures/valid/configurations/openrig-dev.configurations.yaml +12 -0
- package/daemon/docs/reference/schemas/fixtures/valid/registry/openrig-dev.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/valid/registry/withdrawn.yaml +21 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/pi-harness-check-blocked.json +74 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-assisted-pass.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-pass.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/withdraws-earlier.json +99 -0
- package/daemon/docs/reference/schemas/fixtures/valid/status/status.json +61 -0
- package/daemon/docs/reference/schemas/registry-entry.v1.schema.json +139 -0
- package/daemon/docs/reference/schemas/run-record.v1.schema.json +315 -0
- package/daemon/docs/reference/scoped-operating-posture.md +17 -9
- package/daemon/docs/reference/sdlc-conventions.md +47 -28
- package/daemon/docs/reference/slack-app-setup.md +58 -7
- package/daemon/docs/reference/stream-classifier-worker.md +21 -8
- package/daemon/docs/reference/telemetry.md +114 -0
- package/daemon/docs/reference/worktree-builds.md +12 -6
- package/daemon/policies/builtin/auto.policy.md +24 -0
- package/daemon/specs/agents/development/implementer/agent.yaml +2 -2
- package/daemon/specs/agents/development/qa/agent.yaml +1 -1
- package/daemon/specs/agents/product-management/pm/agent.yaml +10 -0
- package/daemon/specs/agents/shared/agent.yaml +1 -1
- package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +0 -6
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +5 -5
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +9 -4
- package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +12 -9
- package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +29 -29
- package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +0 -5
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +24 -3
- package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +0 -2
- package/daemon/specs/rigs/focused/{adversarial-review → code-review}/rig.yaml +1 -1
- package/daemon/specs/rigs/focused/pm/CULTURE.md +21 -0
- package/daemon/specs/rigs/focused/{pm-team → pm}/rig.yaml +5 -5
- package/daemon/specs/rigs/focused/{research-team → research}/rig.yaml +1 -1
- package/daemon/specs/rigs/launch/factory/CULTURE.md +96 -0
- package/daemon/specs/rigs/launch/factory/guidance/advisor-role.md +10 -0
- package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +23 -0
- package/daemon/specs/rigs/launch/{demo → factory}/rig.yaml +46 -35
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/instance/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/CRAFT.md +2 -2
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/ORCHESTRATION-CRAFT.md +3 -3
- package/daemon/specs/rigs/{preview/product-team/topology/seats/dev1-qa → launch/factory/topology/seats/dev-qa}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/orch1-lead → launch/factory/topology/seats/orch-lead}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r1 → launch/factory/topology/seats/review-r1}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r2 → launch/factory/topology/seats/review-r2}/CRAFT.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -8
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +37 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +12 -13
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -8
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +167 -4
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +30 -7
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -8
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +37 -0
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +41 -0
- package/daemon/specs/rigs/launch/starter/CULTURE.md +39 -0
- package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +23 -0
- package/daemon/specs/rigs/launch/{first-project-mixed → starter}/rig.yaml +11 -8
- 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/bundle-behaviour.d.ts +10 -0
- package/dist/bundle-behaviour.d.ts.map +1 -0
- package/dist/bundle-behaviour.js +72 -0
- package/dist/bundle-behaviour.js.map +1 -0
- 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 +34 -11
- 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/bundle.d.ts +12 -0
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +286 -21
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/capture.js +4 -4
- package/dist/commands/capture.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 +36 -7
- 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 +5 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts +3 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +85 -32
- 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 +36 -18
- 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 +10 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +7 -1
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +9 -1
- 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 +13 -1
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts +11 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +38 -4
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +2 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +25 -12
- package/dist/commands/mcp.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/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +3 -2
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/project-jev.js +1 -1
- package/dist/commands/project-jev.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +5 -3
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/ps.d.ts +2 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +109 -37
- 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 +133 -19
- 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/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +5 -0
- package/dist/commands/restore.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/roster.d.ts +63 -0
- package/dist/commands/roster.d.ts.map +1 -0
- package/dist/commands/roster.js +169 -0
- package/dist/commands/roster.js.map +1 -0
- 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 +96 -17
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +20 -6
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +78 -30
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/slack.d.ts +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +57 -5
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +21 -2
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.js +7 -6
- 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/telemetry.d.ts +5 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +58 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/commands/terminal.d.ts.map +1 -1
- package/dist/commands/terminal.js +5 -1
- 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/tui.js +4 -4
- package/dist/commands/tui.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 +193 -72
- 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/whoami.d.ts +3 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +29 -2
- package/dist/commands/whoami.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 +7 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +40 -7
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-auto-start.d.ts +8 -0
- package/dist/daemon-auto-start.d.ts.map +1 -0
- package/dist/daemon-auto-start.js +39 -0
- package/dist/daemon-auto-start.js.map +1 -0
- 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/front-door.d.ts.map +1 -1
- package/dist/front-door.js +3 -2
- package/dist/front-door.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bundle-check.d.ts +13 -0
- package/dist/lib/bundle-check.d.ts.map +1 -0
- package/dist/lib/bundle-check.js +191 -0
- package/dist/lib/bundle-check.js.map +1 -0
- package/dist/lib/bundle-configuration.d.ts +60 -0
- package/dist/lib/bundle-configuration.d.ts.map +1 -0
- package/dist/lib/bundle-configuration.js +198 -0
- package/dist/lib/bundle-configuration.js.map +1 -0
- package/dist/lib/bundle-source.d.ts +57 -0
- package/dist/lib/bundle-source.d.ts.map +1 -0
- package/dist/lib/bundle-source.js +355 -0
- package/dist/lib/bundle-source.js.map +1 -0
- package/dist/lib/context-install.d.ts.map +1 -1
- package/dist/lib/context-install.js +2 -3
- package/dist/lib/context-install.js.map +1 -1
- 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/permission-policy/policy-ref.d.ts +6 -1
- package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -1
- package/dist/lib/permission-policy/policy-ref.js +16 -4
- package/dist/lib/permission-policy/policy-ref.js.map +1 -1
- package/dist/lib/permission-policy/policy-spec.d.ts +1 -1
- package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
- package/dist/lib/permission-policy/policy-spec.js +2 -2
- package/dist/lib/permission-policy/policy-spec.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.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +1 -0
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/notes.md +1 -1
- package/dist/lib/scope-templates/slice-progress.md +11 -7
- package/dist/lib/work-install.d.ts +12 -0
- package/dist/lib/work-install.d.ts.map +1 -1
- package/dist/lib/work-install.js +55 -4
- package/dist/lib/work-install.js.map +1 -1
- 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/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +8 -3
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +3 -1
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +18 -6
- 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 +46 -6
- 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 +81 -23
- 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/specs/graph.d.ts +5 -0
- package/tui/dist/specs/graph.d.ts.map +1 -0
- package/tui/dist/specs/graph.js +16 -0
- package/tui/dist/specs/graph.js.map +1 -0
- package/tui/dist/specs/launch.d.ts +29 -0
- package/tui/dist/specs/launch.d.ts.map +1 -0
- package/tui/dist/specs/launch.js +64 -0
- package/tui/dist/specs/launch.js.map +1 -0
- package/tui/dist/startup.d.ts.map +1 -1
- package/tui/dist/startup.js +15 -6
- package/tui/dist/startup.js.map +1 -1
- package/tui/dist/state.d.ts +2 -2
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +41 -18
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/terminals/terminal-model.d.ts +1 -0
- package/tui/dist/terminals/terminal-model.d.ts.map +1 -1
- package/tui/dist/terminals/terminal-model.js +19 -2
- package/tui/dist/terminals/terminal-model.js.map +1 -1
- package/tui/dist/types.d.ts +35 -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
- package/daemon/specs/rigs/launch/conveyor/README.md +0 -33
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +0 -72
- package/daemon/specs/rigs/launch/demo/project-example/README.md +0 -25
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +0 -19
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +0 -6
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +0 -7
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +0 -31
- package/daemon/specs/rigs/launch/first-project/rig.yaml +0 -31
- package/daemon/specs/rigs/launch/first-project-claude/rig.yaml +0 -30
- package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +0 -27
- package/daemon/specs/rigs/preview/product-team/rig.yaml +0 -90
- /package/daemon/specs/rigs/launch/factory-rsi/{rig.yaml → world-bundle.yaml} +0 -0
|
@@ -22,10 +22,11 @@ import nodePath from "node:path";
|
|
|
22
22
|
import readline from "node:readline";
|
|
23
23
|
import { PassThrough } from "node:stream";
|
|
24
24
|
import { StringDecoder } from "node:string_decoder";
|
|
25
|
-
import { spawn } from "node:child_process";
|
|
25
|
+
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
26
26
|
import { pathToFileURL } from "node:url";
|
|
27
27
|
import { stripVTControlCharacters } from "node:util";
|
|
28
|
-
import {
|
|
28
|
+
import { formatDaemonHostForUrl } from "./daemon-url.js";
|
|
29
|
+
import { piSeatPaths, buildPiChildArgs, buildPiChildEnv, buildPendingRunnerState, parsePiRunnerState, PI_RUNNER_READY_MARKER, PI_RUNNER_ERROR_MARKER, PI_PROVIDER_ENV_VARS, } from "./pi-runner-protocol.js";
|
|
29
30
|
// ── Submitted input boundaries ─────────────────────────────────────────────
|
|
30
31
|
// Canonical TTY buffers can overflow before Node sees even the paste terminator.
|
|
31
32
|
// Use Node's line editor in raw mode, with only paste framing handled here.
|
|
@@ -143,21 +144,52 @@ export function createRunnerInput(input, output, onSubmit) {
|
|
|
143
144
|
});
|
|
144
145
|
return editor;
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
+
// Pi reports missing credentials through RPC errors and terminal model failures.
|
|
148
|
+
// Add only fixed setting/variable names; never inspect or repeat credential values.
|
|
149
|
+
function piCredentialHint(message) {
|
|
150
|
+
const match = /^No API key found for ([a-z0-9-]+)\b/i.exec(message.trim());
|
|
151
|
+
if (!match)
|
|
152
|
+
return "";
|
|
153
|
+
const provider = match[1].toLowerCase();
|
|
154
|
+
const key = Object.hasOwn(PI_PROVIDER_ENV_VARS, provider) ? PI_PROVIDER_ENV_VARS[provider] : undefined;
|
|
155
|
+
return key
|
|
156
|
+
? ` For managed Pi, set ${key} in the daemon environment and add ${key} to recovery.provider_auth_env_allowlist. Use model ${provider}/<id>, then restart the daemon and relaunch the seat. Default Pi logins are not automatically shared.`
|
|
157
|
+
: " For managed Pi, configure this provider in the seat's PI_CODING_AGENT_DIR (auth.json or models.json). Its key is not in OpenRig's Pi environment passthrough map; default Pi logins are not automatically shared.";
|
|
158
|
+
}
|
|
159
|
+
function errorNotice(detail, runtime) {
|
|
147
160
|
const text = typeof detail === "string"
|
|
148
161
|
? stripVTControlCharacters(detail).replace(/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/gu, " ").replace(/\s+/g, " ").trim()
|
|
149
162
|
: "";
|
|
150
|
-
|
|
163
|
+
const marker = runtime === "omp" ? "[omp-runner] ERROR" : PI_RUNNER_ERROR_MARKER;
|
|
164
|
+
return `${marker} ${text.slice(0, 400) || "request failed"}${runtime === "pi" ? piCredentialHint(text) : ""}`;
|
|
165
|
+
}
|
|
166
|
+
/** The one model-failure detector for both runtimes. Pi and OMP report a
|
|
167
|
+
* provider/auth failure on the assistant message itself and still end the
|
|
168
|
+
* turn normally; OMP repeats the message on turn_end, and either runtime can
|
|
169
|
+
* announce it again when automatic retries exhaust. The core coalesces the
|
|
170
|
+
* repeats into one notice per failure. */
|
|
171
|
+
function modelErrorNotice(event, runtime) {
|
|
172
|
+
if (event.type === "auto_retry_end") {
|
|
173
|
+
return event.success === false ? { errorNotice: errorNotice(event.finalError, runtime) } : {};
|
|
174
|
+
}
|
|
175
|
+
const message = event.message;
|
|
176
|
+
return message?.role === "assistant" && message.stopReason === "error"
|
|
177
|
+
? { errorNotice: errorNotice(message.errorMessage, runtime) } : {};
|
|
151
178
|
}
|
|
152
|
-
export function mapPiEvent(event) {
|
|
179
|
+
export function mapPiEvent(event, runtime = "pi") {
|
|
153
180
|
const type = typeof event.type === "string" ? event.type : "";
|
|
154
181
|
switch (type) {
|
|
155
182
|
case "agent_start":
|
|
156
183
|
return { mirrorLines: [], activity: { hookEvent: "active", subtype: "agent_start" }, streaming: true };
|
|
157
184
|
case "agent_end":
|
|
158
|
-
return
|
|
159
|
-
|
|
185
|
+
return runtime === "omp" && event.isTerminal === false
|
|
186
|
+
? { mirrorLines: [], streaming: true }
|
|
187
|
+
: { mirrorLines: [""], activity: { hookEvent: "Stop", subtype: "agent_end" }, streaming: false };
|
|
160
188
|
case "turn_end":
|
|
189
|
+
// OMP repeats an assistant failure on turn_end (sometimes only there).
|
|
190
|
+
// Pi keeps main's mapping: turn_end carries no notice.
|
|
191
|
+
return runtime === "omp" ? { mirrorLines: [], ...modelErrorNotice(event, runtime) } : { mirrorLines: [] };
|
|
192
|
+
case "turn_start":
|
|
161
193
|
case "message_start":
|
|
162
194
|
return { mirrorLines: [] };
|
|
163
195
|
case "message_update": {
|
|
@@ -171,18 +203,12 @@ export function mapPiEvent(event) {
|
|
|
171
203
|
const delta = update?.type === "text_delta" && typeof update.delta === "string" ? update.delta : "";
|
|
172
204
|
return delta ? { mirrorLines: [], mirrorAppend: delta } : { mirrorLines: [] };
|
|
173
205
|
}
|
|
174
|
-
case "message_end":
|
|
206
|
+
case "message_end":
|
|
175
207
|
// The message text already streamed via message_update appends; this
|
|
176
208
|
// terminates the line. (mapPiEvent is stateless, so a hypothetical
|
|
177
209
|
// updates-carried-nothing case is a VM-calibration follow-up, not
|
|
178
210
|
// silently guessed here.)
|
|
179
|
-
|
|
180
|
-
return {
|
|
181
|
-
mirrorLines: [""],
|
|
182
|
-
...(message?.role === "assistant" && message.stopReason === "error"
|
|
183
|
-
? { errorNotice: errorNotice(message.errorMessage) } : {}),
|
|
184
|
-
};
|
|
185
|
-
}
|
|
211
|
+
return { mirrorLines: [""], ...modelErrorNotice(event, runtime) };
|
|
186
212
|
case "tool_execution_start": {
|
|
187
213
|
const tool = typeof event.toolName === "string" ? event.toolName : (typeof event.name === "string" ? event.name : "tool");
|
|
188
214
|
return { mirrorLines: [` ⚙ ${tool} …`], activity: { hookEvent: "PreToolUse", subtype: tool } };
|
|
@@ -195,15 +221,23 @@ export function mapPiEvent(event) {
|
|
|
195
221
|
case "queue_update":
|
|
196
222
|
return { mirrorLines: [] };
|
|
197
223
|
case "compaction_start":
|
|
198
|
-
return { mirrorLines: [
|
|
224
|
+
return { mirrorLines: [`[${runtime}] compacting context…`], activity: { hookEvent: "active", subtype: "compaction" } };
|
|
199
225
|
case "compaction_end":
|
|
200
|
-
return { mirrorLines: [
|
|
226
|
+
return { mirrorLines: [`[${runtime}] compaction done`] };
|
|
227
|
+
// OMP names its automatic compaction separately. Pi keeps main's mapping
|
|
228
|
+
// (unmapped), so an idle Pi seat never reads as running after one.
|
|
229
|
+
case "auto_compaction_start":
|
|
230
|
+
return runtime === "omp"
|
|
231
|
+
? { mirrorLines: ["[omp] compacting context…"], activity: { hookEvent: "active", subtype: "compaction" } }
|
|
232
|
+
: { mirrorLines: [] };
|
|
233
|
+
case "auto_compaction_end":
|
|
234
|
+
return runtime === "omp" ? { mirrorLines: ["[omp] compaction done"] } : { mirrorLines: [] };
|
|
201
235
|
case "auto_retry_start":
|
|
202
236
|
return { mirrorLines: ["[pi] transient error — retrying"], activity: { hookEvent: "active", subtype: "auto_retry" } };
|
|
203
|
-
case "auto_retry_end":
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
237
|
+
case "auto_retry_end": {
|
|
238
|
+
const notice = modelErrorNotice(event, runtime);
|
|
239
|
+
return notice.errorNotice ? { mirrorLines: [""], ...notice } : { mirrorLines: [] };
|
|
240
|
+
}
|
|
207
241
|
case "extension_error": {
|
|
208
242
|
const message = typeof event.message === "string" ? event.message : "extension error";
|
|
209
243
|
return { mirrorLines: [`${PI_RUNNER_ERROR_MARKER} extension: ${message}`] };
|
|
@@ -215,6 +249,9 @@ export function mapPiEvent(event) {
|
|
|
215
249
|
const GET_STATE_ID = "pi-runner-get-state";
|
|
216
250
|
const CATCH_UP_ID = "pi-runner-catch-up";
|
|
217
251
|
const CURSOR_REFRESH_ID = "pi-runner-cursor-refresh";
|
|
252
|
+
/** RPC commands that carry operator input. Their failure means the seat
|
|
253
|
+
* cannot do the requested work; other command failures are not attention. */
|
|
254
|
+
const INPUT_COMMANDS = { prompt: true, steer: true, follow_up: true };
|
|
218
255
|
export class RunnerCore {
|
|
219
256
|
io;
|
|
220
257
|
identity;
|
|
@@ -225,6 +262,16 @@ export class RunnerCore {
|
|
|
225
262
|
lastEntryId;
|
|
226
263
|
ready = false;
|
|
227
264
|
assistantErrorShown = false;
|
|
265
|
+
started = false;
|
|
266
|
+
/** OMP attention (runtime_error | permission_prompt) that must survive the
|
|
267
|
+
* end of the turn; cleared by the next agent_start. */
|
|
268
|
+
attention = null;
|
|
269
|
+
/** Whether the last activity posted is that attention. Later activity in
|
|
270
|
+
* the same turn (a tool call after a denied approval) replaces it. */
|
|
271
|
+
attentionIsLatest = false;
|
|
272
|
+
/** Set once the daemon confirms it persisted the resume token. */
|
|
273
|
+
identityPersisted = false;
|
|
274
|
+
identityInFlight = false;
|
|
228
275
|
constructor(io, identity, opts = {}) {
|
|
229
276
|
this.io = io;
|
|
230
277
|
this.identity = identity;
|
|
@@ -234,8 +281,17 @@ export class RunnerCore {
|
|
|
234
281
|
// newer entry supersedes it.
|
|
235
282
|
this.lastEntryId = opts.catchUpSince;
|
|
236
283
|
}
|
|
284
|
+
/** Runner readiness is the sidecar's acknowledged get_state, not RPC transport ready. */
|
|
285
|
+
isReady() { return this.ready; }
|
|
237
286
|
/** Kick off identity capture. Called once pi's RPC stream is up. */
|
|
238
287
|
start() {
|
|
288
|
+
// OMP's start is driven by the transport `ready` frame and must run once;
|
|
289
|
+
// Pi keeps main's unconditional start.
|
|
290
|
+
if (this.runtime === "omp") {
|
|
291
|
+
if (this.started)
|
|
292
|
+
return;
|
|
293
|
+
this.started = true;
|
|
294
|
+
}
|
|
239
295
|
this.io.sendRpc({ type: "get_state", id: GET_STATE_ID });
|
|
240
296
|
if (this.opts.catchUpSince) {
|
|
241
297
|
// Durable catch-up cursor (FR-5): replay session entries the previous
|
|
@@ -267,6 +323,7 @@ export class RunnerCore {
|
|
|
267
323
|
}
|
|
268
324
|
this.handleEvent(record);
|
|
269
325
|
}
|
|
326
|
+
get runtime() { return this.opts.runtime ?? "pi"; }
|
|
270
327
|
/** One aggregated paste block from pane stdin. */
|
|
271
328
|
handleUserBlock(block) {
|
|
272
329
|
if (block === "/abort") {
|
|
@@ -290,34 +347,50 @@ export class RunnerCore {
|
|
|
290
347
|
this.io.sendRpc({ type: "prompt", message: block });
|
|
291
348
|
this.io.mirrorLine(`you ▸ ${block}`);
|
|
292
349
|
}
|
|
293
|
-
/**
|
|
350
|
+
/** Child process exit — honest, loud, durable. */
|
|
294
351
|
handlePiExit(code) {
|
|
295
352
|
this.ready = false;
|
|
296
|
-
this.io.mirrorLine(
|
|
353
|
+
this.io.mirrorLine(`[${this.runtime}-runner] EXITED ${this.runtime} exited (code ${code ?? "unknown"})`);
|
|
297
354
|
this.writeSidecar({ exited: { code, at: this.io.now() } });
|
|
298
|
-
this.io.postActivity(this.activityPayload("Stop",
|
|
355
|
+
this.io.postActivity(this.activityPayload("Stop", `${this.runtime}_exited`));
|
|
299
356
|
}
|
|
300
357
|
handleResponse(record) {
|
|
358
|
+
if (record.success === false || record.error != null) {
|
|
359
|
+
const detail = typeof record.error === "string" ? record.error : "request failed";
|
|
360
|
+
const message = detail + (this.runtime === "pi" ? piCredentialHint(detail) : "");
|
|
361
|
+
if (record.id === GET_STATE_ID) {
|
|
362
|
+
this.ready = false;
|
|
363
|
+
this.writeSidecar({});
|
|
364
|
+
this.io.mirrorLine(this.runtime === "omp" ? `[omp-runner] ERROR rpc get_state: ${message}` : `${PI_RUNNER_ERROR_MARKER} rpc: ${message}`);
|
|
365
|
+
// OMP cannot provide a resume token without get_state; stop it so the
|
|
366
|
+
// launch fails now instead of waiting out readiness.
|
|
367
|
+
if (this.runtime === "omp")
|
|
368
|
+
this.io.stopChild?.();
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
this.io.mirrorLine(`[${this.runtime}-runner] ERROR rpc: ${message}`);
|
|
372
|
+
// Only a rejected input means the seat cannot do the requested work.
|
|
373
|
+
// A mistimed /abort (or any control command) leaves the seat idle.
|
|
374
|
+
if (this.runtime === "omp" && typeof record.command === "string" && Object.hasOwn(INPUT_COMMANDS, record.command)) {
|
|
375
|
+
this.raiseAttention("runtime_error");
|
|
376
|
+
}
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
301
379
|
if (record.id === GET_STATE_ID) {
|
|
302
380
|
const data = (record.data ?? record.state ?? record);
|
|
303
381
|
const sessionFile = typeof data.sessionFile === "string" ? data.sessionFile : undefined;
|
|
304
382
|
const sessionId = typeof data.sessionId === "string" ? data.sessionId : undefined;
|
|
305
383
|
this.sessionFile = sessionFile ?? this.sessionFile;
|
|
306
384
|
this.sessionId = sessionId ?? this.sessionId;
|
|
307
|
-
this.ready =
|
|
385
|
+
this.ready = this.runtime === "pi" || !!this.sessionFile;
|
|
386
|
+
if (!this.ready) {
|
|
387
|
+
this.io.mirrorLine("[omp-runner] ERROR rpc get_state returned no session file; cannot provide a resume token");
|
|
388
|
+
this.io.stopChild?.();
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
308
391
|
this.writeSidecar({});
|
|
309
|
-
this.io.mirrorLine(`${PI_RUNNER_READY_MARKER} session=${this.sessionFile ?? "unknown"}`);
|
|
310
|
-
this.
|
|
311
|
-
eventFamily: "session_identity",
|
|
312
|
-
sessionName: this.identity.sessionName,
|
|
313
|
-
nodeId: this.identity.nodeId ?? null,
|
|
314
|
-
generation: this.identity.generation ?? null,
|
|
315
|
-
runtime: "pi",
|
|
316
|
-
hookEvent: "SessionStart",
|
|
317
|
-
sessionId: this.sessionId ?? "unknown",
|
|
318
|
-
sessionFile: this.sessionFile ?? null,
|
|
319
|
-
occurredAt: this.io.now(),
|
|
320
|
-
});
|
|
392
|
+
this.io.mirrorLine(`${this.runtime === "omp" ? "[omp-runner] READY" : PI_RUNNER_READY_MARKER} session=${this.sessionFile ?? "unknown"}`);
|
|
393
|
+
this.postSessionIdentity();
|
|
321
394
|
return;
|
|
322
395
|
}
|
|
323
396
|
if (record.id === CURSOR_REFRESH_ID || record.id === CATCH_UP_ID) {
|
|
@@ -333,13 +406,35 @@ export class RunnerCore {
|
|
|
333
406
|
}
|
|
334
407
|
return;
|
|
335
408
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
409
|
+
}
|
|
410
|
+
raiseAttention(subtype) {
|
|
411
|
+
// Runtime failures outrank denied approvals. Only emit when the visible
|
|
412
|
+
// attention changes or intervening activity replaced it.
|
|
413
|
+
const next = this.attention === "runtime_error" ? this.attention : subtype;
|
|
414
|
+
if (this.attention === next && this.attentionIsLatest)
|
|
415
|
+
return;
|
|
416
|
+
this.attention = next;
|
|
417
|
+
this.attentionIsLatest = true;
|
|
418
|
+
this.io.postActivity(this.activityPayload("Notification", next));
|
|
419
|
+
}
|
|
420
|
+
clearAttention() {
|
|
421
|
+
this.attention = null;
|
|
422
|
+
this.attentionIsLatest = false;
|
|
341
423
|
}
|
|
342
424
|
handleEvent(event) {
|
|
425
|
+
if (this.runtime === "omp" && event.type === "extension_ui_request") {
|
|
426
|
+
const method = event.method;
|
|
427
|
+
// RPC does not mount an interactive UI. Reply at once; otherwise the
|
|
428
|
+
// child can wait forever for approval that cannot be given in the pane.
|
|
429
|
+
if (typeof event.id === "string") {
|
|
430
|
+
this.io.sendRpc({ type: "extension_ui_response", id: event.id, cancelled: true });
|
|
431
|
+
}
|
|
432
|
+
if (method === "select" || method === "confirm" || method === "input" || method === "editor") {
|
|
433
|
+
this.io.mirrorLine("[omp-runner] Approval/input requested; cancelled because the managed RPC pane cannot answer it. Operator action required: review the denied action and re-send a safe instruction, or change the seat permission policy explicitly.");
|
|
434
|
+
this.raiseAttention("permission_prompt");
|
|
435
|
+
}
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
343
438
|
const message = event.message;
|
|
344
439
|
if (event.type === "agent_start" || (event.type === "message_start" && message?.role === "assistant")) {
|
|
345
440
|
this.assistantErrorShown = false;
|
|
@@ -350,9 +445,23 @@ export class RunnerCore {
|
|
|
350
445
|
this.lastEntryId = entryId;
|
|
351
446
|
this.writeSidecar({});
|
|
352
447
|
}
|
|
353
|
-
|
|
448
|
+
if (this.runtime === "omp") {
|
|
449
|
+
if (event.type === "agent_start")
|
|
450
|
+
this.clearAttention();
|
|
451
|
+
// A successful automatic retry supersedes the failed attempt.
|
|
452
|
+
if (event.type === "auto_retry_start" && this.attention === "runtime_error")
|
|
453
|
+
this.clearAttention();
|
|
454
|
+
// Some paths omit agent_start; turn_start still opens a new turn.
|
|
455
|
+
if (event.type === "turn_start")
|
|
456
|
+
this.assistantErrorShown = false;
|
|
457
|
+
}
|
|
458
|
+
const mapped = mapPiEvent(event, this.runtime);
|
|
354
459
|
if (mapped.streaming !== undefined)
|
|
355
460
|
this.streaming = mapped.streaming;
|
|
461
|
+
// OMP writes its JSONL lazily; re-announce identity after each turn until
|
|
462
|
+
// the daemon confirms the token. Pi's get_state identity is final.
|
|
463
|
+
if (event.type === "agent_end" && this.runtime === "omp")
|
|
464
|
+
this.postSessionIdentity();
|
|
356
465
|
if (event.type === "agent_end") {
|
|
357
466
|
// QA RED fold (qitem-20260707020922): live events do not reliably carry
|
|
358
467
|
// session-entry ids, so the durable cursor starved (lastEntryId stayed
|
|
@@ -366,24 +475,67 @@ export class RunnerCore {
|
|
|
366
475
|
for (const line of mapped.mirrorLines)
|
|
367
476
|
this.io.mirrorLine(line);
|
|
368
477
|
if (mapped.errorNotice) {
|
|
369
|
-
// Pi can announce the same failed message again when retries exhaust
|
|
370
|
-
// Keep the first useful detail even if
|
|
371
|
-
// at the next assistant message/agent
|
|
372
|
-
|
|
478
|
+
// Pi can announce the same failed message again when retries exhaust,
|
|
479
|
+
// and OMP repeats it on turn_end. Keep the first useful detail even if
|
|
480
|
+
// the repeat lacks it, then reset at the next assistant message/agent
|
|
481
|
+
// turn, not at agent_end.
|
|
482
|
+
if (event.type === "message_end" || !this.assistantErrorShown) {
|
|
373
483
|
this.io.mirrorLine(mapped.errorNotice);
|
|
374
484
|
}
|
|
375
485
|
this.assistantErrorShown = true;
|
|
486
|
+
// OMP still ends the turn normally after a model failure; the operator
|
|
487
|
+
// has to act, so the seat shows attention rather than idle.
|
|
488
|
+
if (this.runtime === "omp")
|
|
489
|
+
this.raiseAttention("runtime_error");
|
|
490
|
+
}
|
|
491
|
+
if (!mapped.activity)
|
|
492
|
+
return;
|
|
493
|
+
if (mapped.activity.hookEvent === "Stop" && this.attention) {
|
|
494
|
+
// The turn ended, but the operator still has to act. Drop the Stop; if
|
|
495
|
+
// later activity replaced the attention, restore it as the final state.
|
|
496
|
+
if (!this.attentionIsLatest)
|
|
497
|
+
this.raiseAttention(this.attention);
|
|
376
498
|
}
|
|
377
|
-
|
|
499
|
+
else {
|
|
500
|
+
this.attentionIsLatest = false;
|
|
378
501
|
this.io.postActivity(this.activityPayload(mapped.activity.hookEvent, mapped.activity.subtype));
|
|
379
502
|
}
|
|
380
503
|
}
|
|
504
|
+
/** Re-deliver OMP identity until the daemon confirms the resume token.
|
|
505
|
+
* Called from a timer so a daemon restart during the first turn cannot
|
|
506
|
+
* leave a seat with history but no restorable token. */
|
|
507
|
+
retrySessionIdentity() {
|
|
508
|
+
if (this.runtime === "omp" && this.ready)
|
|
509
|
+
this.postSessionIdentity();
|
|
510
|
+
}
|
|
511
|
+
postSessionIdentity() {
|
|
512
|
+
if (this.runtime === "omp" && (!this.sessionFile || !this.io.sessionFileExists?.(this.sessionFile)))
|
|
513
|
+
return;
|
|
514
|
+
if (this.runtime === "omp" && (this.identityPersisted || this.identityInFlight))
|
|
515
|
+
return;
|
|
516
|
+
const result = this.io.postActivity({
|
|
517
|
+
eventFamily: "session_identity",
|
|
518
|
+
sessionName: this.identity.sessionName,
|
|
519
|
+
nodeId: this.identity.nodeId ?? null,
|
|
520
|
+
runtime: this.runtime,
|
|
521
|
+
generation: this.identity.generation ?? null,
|
|
522
|
+
hookEvent: "SessionStart",
|
|
523
|
+
sessionId: this.sessionId ?? "unknown",
|
|
524
|
+
sessionFile: this.sessionFile ?? null,
|
|
525
|
+
occurredAt: this.io.now(),
|
|
526
|
+
});
|
|
527
|
+
if (this.runtime !== "omp" || !result)
|
|
528
|
+
return;
|
|
529
|
+
this.identityInFlight = true;
|
|
530
|
+
void result.then((body) => { if (body?.tokenPersisted === true)
|
|
531
|
+
this.identityPersisted = true; }, () => { }).finally(() => { this.identityInFlight = false; });
|
|
532
|
+
}
|
|
381
533
|
activityPayload(hookEvent, subtype) {
|
|
382
534
|
return {
|
|
383
535
|
sessionName: this.identity.sessionName,
|
|
384
536
|
nodeId: this.identity.nodeId ?? null,
|
|
385
537
|
generation: this.identity.generation ?? null,
|
|
386
|
-
runtime:
|
|
538
|
+
runtime: this.runtime,
|
|
387
539
|
hookEvent,
|
|
388
540
|
subtype,
|
|
389
541
|
occurredAt: this.io.now(),
|
|
@@ -417,6 +569,13 @@ export function parseRunnerArgs(argv) {
|
|
|
417
569
|
case "--session-name":
|
|
418
570
|
args.sessionName = next();
|
|
419
571
|
break;
|
|
572
|
+
case "--runtime": {
|
|
573
|
+
const runtime = next();
|
|
574
|
+
if (runtime !== "pi" && runtime !== "omp")
|
|
575
|
+
throw new Error(`unsupported runtime: ${runtime}`);
|
|
576
|
+
args.runtime = runtime;
|
|
577
|
+
break;
|
|
578
|
+
}
|
|
420
579
|
case "--state-root":
|
|
421
580
|
args.stateRoot = next();
|
|
422
581
|
break;
|
|
@@ -441,6 +600,13 @@ export function parseRunnerArgs(argv) {
|
|
|
441
600
|
case "--no-approve":
|
|
442
601
|
args.trust = "no-approve";
|
|
443
602
|
break;
|
|
603
|
+
case "--approval-mode": {
|
|
604
|
+
const mode = next();
|
|
605
|
+
if (mode !== "yolo" && mode !== "always-ask")
|
|
606
|
+
throw new Error(`unsupported OMP approval mode: ${mode}`);
|
|
607
|
+
args.trust = mode === "yolo" ? "approve" : "no-approve";
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
444
610
|
default: throw new Error(`unknown flag: ${flag}`);
|
|
445
611
|
}
|
|
446
612
|
}
|
|
@@ -452,8 +618,14 @@ export function parseRunnerArgs(argv) {
|
|
|
452
618
|
throw new Error("--cwd is required");
|
|
453
619
|
if (!args.launchId)
|
|
454
620
|
throw new Error("--launch-id is required (launch-attempt scoping)");
|
|
455
|
-
if (
|
|
621
|
+
if (args.runtime === "omp") {
|
|
622
|
+
if (!argv.includes("--approval-mode") || argv.some((flag) => flag === "--approve" || flag === "--no-approve")) {
|
|
623
|
+
throw new Error("OMP requires --approval-mode yolo or always-ask, not Pi trust flags");
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
else if (!args.trust || argv.includes("--approval-mode")) {
|
|
456
627
|
throw new Error("an explicit trust flag is required: --approve or --no-approve");
|
|
628
|
+
}
|
|
457
629
|
if (args.sessionFile && args.forkRef)
|
|
458
630
|
throw new Error("--session and --fork are mutually exclusive");
|
|
459
631
|
return args;
|
|
@@ -462,7 +634,8 @@ function resolveActivityEndpoint(env) {
|
|
|
462
634
|
let baseUrl = env.OPENRIG_URL?.trim() || null;
|
|
463
635
|
let token = env.OPENRIG_ACTIVITY_HOOK_TOKEN?.trim() || null;
|
|
464
636
|
if (!baseUrl && env.OPENRIG_PORT) {
|
|
465
|
-
|
|
637
|
+
const rawHost = env.OPENRIG_HOST?.trim() || "127.0.0.1";
|
|
638
|
+
baseUrl = `http://${formatDaemonHostForUrl(rawHost)}:${env.OPENRIG_PORT.trim()}`;
|
|
466
639
|
}
|
|
467
640
|
if (!baseUrl || !token) {
|
|
468
641
|
try {
|
|
@@ -497,6 +670,74 @@ export function prepareRunnerSidecar(fsOps, runnerStatePath, launchId, resuming,
|
|
|
497
670
|
catch { /* best-effort; the adapter pre-writes an equivalent pending record */ }
|
|
498
671
|
return { catchUpSince: resuming ? prior?.lastEntryId : undefined };
|
|
499
672
|
}
|
|
673
|
+
/** How often an OMP runner re-delivers an unconfirmed session identity. */
|
|
674
|
+
const IDENTITY_RETRY_MS = 30_000;
|
|
675
|
+
const nodeResolverOps = {
|
|
676
|
+
isExecutable: (path) => {
|
|
677
|
+
try {
|
|
678
|
+
fs.accessSync(path, fs.constants.X_OK);
|
|
679
|
+
return fs.statSync(path).isFile();
|
|
680
|
+
}
|
|
681
|
+
catch {
|
|
682
|
+
return false;
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
realpath: (path) => fs.realpathSync(path),
|
|
686
|
+
run: (file, args, env) => execFileSync(file, args, { env, encoding: "utf8", timeout: 10_000, stdio: ["ignore", "pipe", "pipe"] }).trim(),
|
|
687
|
+
};
|
|
688
|
+
/** Resolve `name` to the absolute path of the real binary, using the
|
|
689
|
+
* runner's own environment. The child later runs under a per-seat HOME, and
|
|
690
|
+
* version-manager shims (mise) find their target through HOME, so the shim
|
|
691
|
+
* itself must never be what the child executes. */
|
|
692
|
+
export function resolveRuntimeExecutable(name, env, ops = nodeResolverOps) {
|
|
693
|
+
const onPath = (env.PATH ?? "").split(nodePath.delimiter)
|
|
694
|
+
.filter((dir) => nodePath.isAbsolute(dir))
|
|
695
|
+
.map((dir) => nodePath.join(dir, name))
|
|
696
|
+
.find((candidate) => ops.isExecutable(candidate));
|
|
697
|
+
if (!onPath)
|
|
698
|
+
return { ok: false, error: `'${name}' was not found on PATH (${env.PATH ?? ""})` };
|
|
699
|
+
let real;
|
|
700
|
+
try {
|
|
701
|
+
real = ops.realpath(onPath);
|
|
702
|
+
}
|
|
703
|
+
catch (err) {
|
|
704
|
+
return { ok: false, error: `could not resolve ${onPath}: ${err.message}` };
|
|
705
|
+
}
|
|
706
|
+
if (nodePath.basename(real) !== "mise")
|
|
707
|
+
return { ok: true, path: real };
|
|
708
|
+
// A mise shim is a symlink to mise itself; ask mise for the tool it maps to.
|
|
709
|
+
let target;
|
|
710
|
+
try {
|
|
711
|
+
target = ops.run(real, ["which", name], env);
|
|
712
|
+
}
|
|
713
|
+
catch (err) {
|
|
714
|
+
return { ok: false, error: `${onPath} is a mise shim and 'mise which ${name}' failed: ${err.message}` };
|
|
715
|
+
}
|
|
716
|
+
if (!nodePath.isAbsolute(target) || !ops.isExecutable(target)) {
|
|
717
|
+
return { ok: false, error: `${onPath} is a mise shim but 'mise which ${name}' returned no executable (${target || "empty"})` };
|
|
718
|
+
}
|
|
719
|
+
try {
|
|
720
|
+
return { ok: true, path: ops.realpath(target) };
|
|
721
|
+
}
|
|
722
|
+
catch (err) {
|
|
723
|
+
return { ok: false, error: `could not resolve ${target}: ${err.message}` };
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
/** Enrich an actual CLI rejection, without guessing compatibility from a version
|
|
727
|
+
* or from help (older Pi prints help before validating unknown long flags). */
|
|
728
|
+
export function piLaunchCapabilityError(command, trust, line, readVersion) {
|
|
729
|
+
const diagnostic = stripVTControlCharacters(line);
|
|
730
|
+
if (!/unknown options?:/i.test(diagnostic) || !/--(?:name|approve|no-approve)(?=[\s,.:]|$)/.test(diagnostic))
|
|
731
|
+
return;
|
|
732
|
+
let version = "unknown version";
|
|
733
|
+
try {
|
|
734
|
+
const value = stripVTControlCharacters(readVersion()).trim();
|
|
735
|
+
if (/^[0-9][A-Za-z0-9.+_-]{0,63}$/.test(value))
|
|
736
|
+
version = `version ${value}`;
|
|
737
|
+
}
|
|
738
|
+
catch { /* diagnostics only; never changes the child's outcome */ }
|
|
739
|
+
return `Pi invoked as ${command} (${version}; exact executable path unknown) rejects the managed --name/--${trust} flags. Install the current @earendil-works/pi-coding-agent (npm install -g @earendil-works/pi-coding-agent) and check 'command -v pi' in this pane; an older Pi installation may be shadowing it.`;
|
|
740
|
+
}
|
|
500
741
|
export async function main(argv = process.argv.slice(2)) {
|
|
501
742
|
let args;
|
|
502
743
|
try {
|
|
@@ -507,6 +748,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
507
748
|
process.exitCode = 2;
|
|
508
749
|
return;
|
|
509
750
|
}
|
|
751
|
+
const runtime = args.runtime ?? "pi";
|
|
510
752
|
const paths = piSeatPaths(args.stateRoot, args.sessionName);
|
|
511
753
|
fs.mkdirSync(paths.agentDir, { recursive: true });
|
|
512
754
|
fs.mkdirSync(paths.sessionsDir, { recursive: true });
|
|
@@ -520,6 +762,11 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
520
762
|
agentDir: paths.agentDir,
|
|
521
763
|
sessionsDir: paths.sessionsDir,
|
|
522
764
|
model: args.model,
|
|
765
|
+
runtime,
|
|
766
|
+
sessionName: args.sessionName,
|
|
767
|
+
nodeId: process.env.OPENRIG_NODE_ID,
|
|
768
|
+
openrigHome: process.env.OPENRIG_HOME,
|
|
769
|
+
openrigUrl: endpoint?.baseUrl ?? process.env.OPENRIG_URL,
|
|
523
770
|
});
|
|
524
771
|
const childArgs = buildPiChildArgs({
|
|
525
772
|
sessionsDir: paths.sessionsDir,
|
|
@@ -528,14 +775,39 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
528
775
|
trust: args.trust,
|
|
529
776
|
sessionFile: args.sessionFile,
|
|
530
777
|
forkRef: args.forkRef,
|
|
778
|
+
runtime,
|
|
531
779
|
});
|
|
532
|
-
console.log(`[
|
|
533
|
-
console.log(`[
|
|
534
|
-
|
|
780
|
+
console.log(`[${runtime}-runner] starting ${runtime} --mode rpc (seat ${args.sessionName})`);
|
|
781
|
+
console.log(`[${runtime}-runner] send text normally; prefixes: "/followup <text>" queues after the turn, "/abort" cancels`);
|
|
782
|
+
// OMP runs under a per-seat HOME. A HOME-dependent launcher on PATH (a mise
|
|
783
|
+
// shim) cannot find its target there, so resolve the real binary first,
|
|
784
|
+
// with the runner's own environment.
|
|
785
|
+
let command = runtime;
|
|
786
|
+
if (runtime === "omp") {
|
|
787
|
+
const resolved = resolveRuntimeExecutable("omp", process.env);
|
|
788
|
+
if (!resolved.ok) {
|
|
789
|
+
console.error(`[omp-runner] ERROR launch: ${resolved.error}`);
|
|
790
|
+
// Record the exit for this launch so the adapter fails it now instead
|
|
791
|
+
// of waiting out its readiness timeout. The durable cursor survives.
|
|
792
|
+
const at = new Date().toISOString();
|
|
793
|
+
try {
|
|
794
|
+
const pending = parsePiRunnerState(fs.readFileSync(paths.runnerStatePath, "utf8"));
|
|
795
|
+
const exitedState = { ready: false, launchId: args.launchId, lastEntryId: pending?.lastEntryId, updatedAt: at, exited: { code: 127, at } };
|
|
796
|
+
fs.writeFileSync(paths.runnerStatePath, JSON.stringify(exitedState));
|
|
797
|
+
}
|
|
798
|
+
catch { /* the pane ERROR marker still fails readiness */ }
|
|
799
|
+
process.exitCode = 127;
|
|
800
|
+
return;
|
|
801
|
+
}
|
|
802
|
+
command = resolved.path;
|
|
803
|
+
}
|
|
804
|
+
const child = spawn(command, childArgs, {
|
|
535
805
|
cwd: args.cwd,
|
|
536
806
|
env: childEnv,
|
|
537
807
|
stdio: ["pipe", "pipe", "pipe"],
|
|
538
808
|
});
|
|
809
|
+
// The child may close its pipe before the first RPC write completes.
|
|
810
|
+
child.stdin.on("error", () => { });
|
|
539
811
|
const io = {
|
|
540
812
|
sendRpc: (cmd) => {
|
|
541
813
|
try {
|
|
@@ -550,12 +822,22 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
550
822
|
return;
|
|
551
823
|
const controller = new AbortController();
|
|
552
824
|
const timeout = setTimeout(() => controller.abort(), 1500);
|
|
553
|
-
fetch(new URL("/api/activity/hooks", endpoint.baseUrl).toString(), {
|
|
825
|
+
const request = fetch(new URL("/api/activity/hooks", endpoint.baseUrl).toString(), {
|
|
554
826
|
method: "POST",
|
|
555
827
|
headers: { "content-type": "application/json", authorization: `Bearer ${endpoint.token}` },
|
|
556
828
|
body: JSON.stringify(payload),
|
|
557
829
|
signal: controller.signal,
|
|
558
|
-
})
|
|
830
|
+
});
|
|
831
|
+
if (runtime !== "omp") {
|
|
832
|
+
request.catch(() => { }).finally(() => clearTimeout(timeout));
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
// OMP reads the acknowledgement so identity delivery can retry; null
|
|
836
|
+
// (transport failure or a non-OK reply) means "not yet persisted".
|
|
837
|
+
return request
|
|
838
|
+
.then(async (response) => response.ok ? await response.json() : null)
|
|
839
|
+
.catch(() => null)
|
|
840
|
+
.finally(() => clearTimeout(timeout));
|
|
559
841
|
},
|
|
560
842
|
writeSidecar: (state) => {
|
|
561
843
|
try {
|
|
@@ -564,31 +846,110 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
564
846
|
catch { /* best-effort; adapter falls back to pane markers */ }
|
|
565
847
|
},
|
|
566
848
|
now: () => new Date().toISOString(),
|
|
849
|
+
stopChild: () => { child.kill(); },
|
|
850
|
+
sessionFileExists: (path) => fs.existsSync(path),
|
|
567
851
|
};
|
|
568
852
|
const core = new RunnerCore(io, {
|
|
569
853
|
sessionName: args.sessionName, nodeId: process.env.OPENRIG_NODE_ID, launchId: args.launchId,
|
|
570
854
|
// Carry the emitting tenure; never infer it from a later daemon read or Pi event.
|
|
571
855
|
generation: process.env.OPENRIG_OCCUPANT_GENERATION,
|
|
572
|
-
}, { catchUpSince });
|
|
573
|
-
|
|
856
|
+
}, { catchUpSince, runtime });
|
|
857
|
+
let transportUp = runtime === "pi";
|
|
858
|
+
readline.createInterface({ input: child.stdout }).on("line", (line) => {
|
|
859
|
+
if (runtime === "omp" && !core.isReady()) {
|
|
860
|
+
try {
|
|
861
|
+
const frame = JSON.parse(line);
|
|
862
|
+
if (frame.type === "ready") {
|
|
863
|
+
transportUp = true;
|
|
864
|
+
core.start();
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
catch { /* surface non-JSON stdout through the core */ }
|
|
868
|
+
}
|
|
869
|
+
core.handlePiLine(line);
|
|
870
|
+
});
|
|
871
|
+
// Re-deliver OMP identity until the daemon confirms the resume token.
|
|
872
|
+
const identityRetry = runtime === "omp" ? setInterval(() => core.retrySessionIdentity(), IDENTITY_RETRY_MS) : undefined;
|
|
873
|
+
identityRetry?.unref();
|
|
874
|
+
// The last few stderr lines, so an OMP that exits during startup is
|
|
875
|
+
// reported with its own words in the error, not only above it.
|
|
876
|
+
const stderrTail = [];
|
|
877
|
+
let reportedPiCapability = false;
|
|
574
878
|
readline.createInterface({ input: child.stderr }).on("line", (line) => {
|
|
575
|
-
if (line.trim())
|
|
576
|
-
|
|
879
|
+
if (!line.trim())
|
|
880
|
+
return;
|
|
881
|
+
process.stdout.write(`[${runtime}:err] ${line}\n`);
|
|
882
|
+
stderrTail.push(line.length > OMP_STDERR_TAIL_CHARS ? `${line.slice(0, OMP_STDERR_TAIL_CHARS)}...` : line);
|
|
883
|
+
if (stderrTail.length > OMP_STDERR_TAIL_LINES)
|
|
884
|
+
stderrTail.shift();
|
|
885
|
+
if (runtime === "pi" && !core.isReady() && !reportedPiCapability) {
|
|
886
|
+
const detail = piLaunchCapabilityError(command, args.trust, line, () => {
|
|
887
|
+
const version = spawnSync(command, ["--version"], { cwd: args.cwd, env: childEnv, encoding: "utf8",
|
|
888
|
+
timeout: 3000, killSignal: "SIGKILL", maxBuffer: 4096, stdio: ["ignore", "pipe", "pipe"] });
|
|
889
|
+
if (version.error || version.status !== 0)
|
|
890
|
+
return "";
|
|
891
|
+
// Older Pi redirects even --version to stderr when stdout is a pipe.
|
|
892
|
+
return version.stdout.trim() || version.stderr.trim();
|
|
893
|
+
});
|
|
894
|
+
if (detail) {
|
|
895
|
+
reportedPiCapability = true;
|
|
896
|
+
process.stdout.write(`[pi-runner] ${detail}\n`);
|
|
897
|
+
}
|
|
898
|
+
}
|
|
577
899
|
});
|
|
578
900
|
const input = createRunnerInput(process.stdin, process.stdout, (block) => core.handleUserBlock(block));
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
901
|
+
if (runtime === "pi") {
|
|
902
|
+
child.on("error", (err) => {
|
|
903
|
+
console.error(`${PI_RUNNER_ERROR_MARKER} failed to spawn pi: ${err.message}`);
|
|
904
|
+
const code = err.code === "ENOENT" ? 127 : 1;
|
|
905
|
+
core.handlePiExit(code);
|
|
906
|
+
input.close();
|
|
907
|
+
process.exitCode = code;
|
|
908
|
+
});
|
|
909
|
+
child.on("exit", (code) => {
|
|
910
|
+
core.handlePiExit(code);
|
|
911
|
+
input.close();
|
|
912
|
+
process.exitCode = code ?? 1;
|
|
913
|
+
});
|
|
914
|
+
core.start();
|
|
915
|
+
return;
|
|
916
|
+
}
|
|
917
|
+
// OMP: one exit record per launch. When the RPC session never became
|
|
918
|
+
// resumable, say which startup phase OMP reached and how it exited, and
|
|
919
|
+
// show its own last output; the runner does not know why OMP stopped.
|
|
920
|
+
let exited = false;
|
|
921
|
+
const recordExit = (code, signal) => {
|
|
922
|
+
if (exited)
|
|
923
|
+
return;
|
|
924
|
+
exited = true;
|
|
925
|
+
clearInterval(identityRetry);
|
|
926
|
+
if (!core.isReady()) {
|
|
927
|
+
const how = signal ? `signal ${signal}` : `exit code ${code ?? "unknown"}`;
|
|
928
|
+
const output = stderrTail.length > 0 ? ` Its last output: ${stderrTail.join(" | ")}` : " It printed nothing on stderr.";
|
|
929
|
+
console.error(transportUp
|
|
930
|
+
? "[omp-runner] ERROR OMP did not establish a resumable RPC session. Authenticate this isolated seat using HOME=<seat-root> PI_CODING_AGENT_DIR=<seat-root>/agent omp and /login, or provide its declared model provider key in the OpenRig daemon environment. Default OMP credentials are not shared."
|
|
931
|
+
: `[omp-runner] ERROR OMP exited during startup, before its RPC transport started (${command}, ${how}).${output}`);
|
|
932
|
+
}
|
|
586
933
|
core.handlePiExit(code);
|
|
587
934
|
input.close();
|
|
588
935
|
process.exitCode = code ?? 1;
|
|
936
|
+
};
|
|
937
|
+
child.on("error", (err) => {
|
|
938
|
+
console.error(`[omp-runner] ERROR failed to spawn omp: ${err.message}`);
|
|
939
|
+
recordExit(null);
|
|
589
940
|
});
|
|
590
|
-
|
|
941
|
+
// "close" fires once OMP's stdio is drained, so its stderr is in the tail
|
|
942
|
+
// before the exit is reported. A child that inherited OMP's stdio (an LSP
|
|
943
|
+
// or MCP server) can hold "close" open, so "exit" also records the exit
|
|
944
|
+
// after a short grace period; recordExit runs once, whichever comes first.
|
|
945
|
+
child.on("close", (code, signal) => recordExit(code, signal));
|
|
946
|
+
child.on("exit", (code, signal) => { setTimeout(() => recordExit(code, signal), OMP_EXIT_GRACE_MS).unref(); });
|
|
591
947
|
}
|
|
948
|
+
/** Stderr lines kept for an OMP startup failure report, and their length cap. */
|
|
949
|
+
const OMP_STDERR_TAIL_LINES = 5;
|
|
950
|
+
const OMP_STDERR_TAIL_CHARS = 300;
|
|
951
|
+
/** How long after OMP's own exit to wait for its stderr to drain. */
|
|
952
|
+
const OMP_EXIT_GRACE_MS = 1_000;
|
|
592
953
|
// Compiled-entry guard: run main() only when executed directly (not imported
|
|
593
954
|
// by tests). import.meta.url === file URL of process.argv[1] when direct.
|
|
594
955
|
const invokedDirectly = (() => {
|