@openrig/cli 0.6.9 → 0.6.11
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 +2 -2
- package/daemon/assets/onboarding/02-self-and-competent-action.md +4 -3
- 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/activity-relay.cjs +42 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -1
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +6 -1
- package/daemon/assets/skills/rigs/SKILL.md +7 -5
- package/daemon/context-packs/help/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +64 -14
- package/daemon/context-packs/reference/getting-started.md +10 -6
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +2 -2
- package/daemon/context-packs/reference/whats-new.md +151 -74
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +3 -3
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +2 -2
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +7 -1
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +6 -1
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -14
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +43 -80
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume-launch.d.ts +4 -0
- package/daemon/dist/adapters/claude-resume-launch.d.ts.map +1 -0
- package/daemon/dist/adapters/claude-resume-launch.js +13 -0
- package/daemon/dist/adapters/claude-resume-launch.js.map +1 -0
- package/daemon/dist/adapters/claude-resume.d.ts +2 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +9 -4
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +35 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +94 -44
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +6 -3
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux-server.d.ts +15 -0
- package/daemon/dist/adapters/tmux-server.d.ts.map +1 -0
- package/daemon/dist/adapters/tmux-server.js +58 -0
- package/daemon/dist/adapters/tmux-server.js.map +1 -0
- package/daemon/dist/adapters/tmux.d.ts +26 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +130 -7
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +6 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/099_queue_items_recovery_tags.d.ts +3 -0
- package/daemon/dist/db/migrations/099_queue_items_recovery_tags.d.ts.map +1 -0
- package/daemon/dist/db/migrations/099_queue_items_recovery_tags.js +19 -0
- package/daemon/dist/db/migrations/099_queue_items_recovery_tags.js.map +1 -0
- package/daemon/dist/db/migrations/101_claude_resume_rotation.d.ts +3 -0
- package/daemon/dist/db/migrations/101_claude_resume_rotation.d.ts.map +1 -0
- package/daemon/dist/db/migrations/101_claude_resume_rotation.js +19 -0
- package/daemon/dist/db/migrations/101_claude_resume_rotation.js.map +1 -0
- package/daemon/dist/db/migrations/103_session_stop_intent.d.ts +4 -0
- package/daemon/dist/db/migrations/103_session_stop_intent.d.ts.map +1 -0
- package/daemon/dist/db/migrations/103_session_stop_intent.js +9 -0
- package/daemon/dist/db/migrations/103_session_stop_intent.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +14 -0
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +17 -0
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/agent-activity-store.js +3 -0
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/bootstrap-repository.js +1 -1
- package/daemon/dist/domain/bootstrap-repository.js.map +1 -1
- package/daemon/dist/domain/chat-repository.d.ts +3 -0
- package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
- package/daemon/dist/domain/chat-repository.js +15 -4
- package/daemon/dist/domain/chat-repository.js.map +1 -1
- package/daemon/dist/domain/claude-managed-launch.d.ts +1 -1
- package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
- package/daemon/dist/domain/claude-managed-launch.js +3 -2
- package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.js +2 -1
- package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
- package/daemon/dist/domain/codex-git-add-dirs.js +1 -1
- package/daemon/dist/domain/codex-git-add-dirs.js.map +1 -1
- package/daemon/dist/domain/codex-network-default.d.ts +3 -0
- package/daemon/dist/domain/codex-network-default.d.ts.map +1 -1
- package/daemon/dist/domain/codex-network-default.js +1 -1
- package/daemon/dist/domain/codex-network-default.js.map +1 -1
- package/daemon/dist/domain/codex-pane-patterns.d.ts +2 -0
- package/daemon/dist/domain/codex-pane-patterns.d.ts.map +1 -0
- package/daemon/dist/domain/codex-pane-patterns.js +5 -0
- package/daemon/dist/domain/codex-pane-patterns.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +46 -22
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +6 -1
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-conductor.js +3 -1
- package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
- package/daemon/dist/domain/cwd-resolution.d.ts +8 -0
- package/daemon/dist/domain/cwd-resolution.d.ts.map +1 -1
- package/daemon/dist/domain/cwd-resolution.js +24 -3
- package/daemon/dist/domain/cwd-resolution.js.map +1 -1
- package/daemon/dist/domain/files/file-read.d.ts.map +1 -1
- package/daemon/dist/domain/files/file-read.js +11 -3
- package/daemon/dist/domain/files/file-read.js.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts +1 -1
- package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/channel-recovery.js +4 -3
- package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +21 -2
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +70 -11
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +4 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +7 -4
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/history-query.d.ts.map +1 -1
- package/daemon/dist/domain/history-query.js +8 -6
- package/daemon/dist/domain/history-query.js.map +1 -1
- package/daemon/dist/domain/human-questions.d.ts +4 -1
- package/daemon/dist/domain/human-questions.d.ts.map +1 -1
- package/daemon/dist/domain/human-questions.js.map +1 -1
- package/daemon/dist/domain/install-engine.js +2 -2
- package/daemon/dist/domain/install-engine.js.map +1 -1
- package/daemon/dist/domain/native-process-lineage.d.ts +57 -4
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +277 -42
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/node-cmux-service.d.ts.map +1 -1
- package/daemon/dist/domain/node-cmux-service.js +2 -1
- package/daemon/dist/domain/node-cmux-service.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +71 -18
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +2 -1
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/pane-cutover.d.ts +27 -0
- package/daemon/dist/domain/pane-cutover.d.ts.map +1 -0
- package/daemon/dist/domain/pane-cutover.js +37 -0
- package/daemon/dist/domain/pane-cutover.js.map +1 -0
- package/daemon/dist/domain/parent-session-env.d.ts +8 -0
- package/daemon/dist/domain/parent-session-env.d.ts.map +1 -0
- package/daemon/dist/domain/parent-session-env.js +37 -0
- package/daemon/dist/domain/parent-session-env.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +81 -11
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +2 -3
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/progress/progress-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/progress/progress-indexer.js +19 -0
- package/daemon/dist/domain/progress/progress-indexer.js.map +1 -1
- package/daemon/dist/domain/proof/judgments.d.ts +10 -5
- package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
- package/daemon/dist/domain/proof/judgments.js +27 -19
- package/daemon/dist/domain/proof/judgments.js.map +1 -1
- package/daemon/dist/domain/provider/codex-limit-banner.d.ts +40 -0
- package/daemon/dist/domain/provider/codex-limit-banner.d.ts.map +1 -0
- package/daemon/dist/domain/provider/codex-limit-banner.js +168 -0
- package/daemon/dist/domain/provider/codex-limit-banner.js.map +1 -0
- package/daemon/dist/domain/provider/codex-usage-reader.d.ts +31 -0
- package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -0
- package/daemon/dist/domain/provider/codex-usage-reader.js +115 -0
- package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -0
- package/daemon/dist/domain/provider/codex-usage-windows.d.ts +78 -0
- package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -0
- package/daemon/dist/domain/provider/codex-usage-windows.js +259 -0
- package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -0
- package/daemon/dist/domain/provider/provider-service-impl.d.ts +10 -0
- package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -1
- package/daemon/dist/domain/provider/provider-service-impl.js +27 -1
- package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -1
- package/daemon/dist/domain/provider/provider-service.d.ts +5 -0
- package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -1
- package/daemon/dist/domain/provider/provider-types.d.ts +65 -0
- package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +5 -2
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +29 -26
- 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 +10 -3
- package/daemon/dist/domain/queue-recovery.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +68 -13
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +72 -43
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +26 -9
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +17 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +49 -3
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/restore-check-service.d.ts +8 -0
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +12 -3
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-guidance.d.ts +39 -0
- package/daemon/dist/domain/restore-guidance.d.ts.map +1 -0
- package/daemon/dist/domain/restore-guidance.js +163 -0
- package/daemon/dist/domain/restore-guidance.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +10 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +192 -9
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +4 -0
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +14 -3
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +7 -6
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +3 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts +4 -2
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +11 -11
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +5 -2
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +18 -4
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +7 -2
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +117 -2
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +335 -74
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.d.ts +292 -0
- package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -0
- package/daemon/dist/domain/seat-restart-in-place.js +895 -0
- package/daemon/dist/domain/seat-restart-in-place.js.map +1 -0
- 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 +1 -0
- package/daemon/dist/domain/seat-status-service.js.map +1 -1
- package/daemon/dist/domain/seat-structural-activity-service.d.ts +9 -1
- package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-structural-activity-service.js +27 -4
- 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 +2 -1
- package/daemon/dist/domain/seat-switch-client-service.js.map +1 -1
- package/daemon/dist/domain/session-fingerprinter.d.ts.map +1 -1
- package/daemon/dist/domain/session-fingerprinter.js +9 -5
- package/daemon/dist/domain/session-fingerprinter.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +49 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +92 -5
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +46 -4
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +492 -26
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +10 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +41 -4
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +3 -7
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +6 -32
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.d.ts +5 -1
- package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.js +30 -4
- 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 +2 -1
- package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
- package/daemon/dist/domain/transcript-store.js +1 -1
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +38 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js +5 -0
- 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 +9 -4
- package/daemon/dist/domain/usage-series.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +44 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +4 -0
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +19 -4
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/wake-resolver.js +2 -2
- package/daemon/dist/domain/wake-resolver.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +19 -3
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/whoami-service.d.ts +4 -1
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
- package/daemon/dist/domain/whoami-service.js +25 -19
- package/daemon/dist/domain/whoami-service.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
- package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
- package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/project-read.js +19 -8
- package/daemon/dist/domain/workspace/project-read.js.map +1 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +6 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +33 -1
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/chat.d.ts.map +1 -1
- package/daemon/dist/routes/chat.js +29 -4
- package/daemon/dist/routes/chat.js.map +1 -1
- package/daemon/dist/routes/projects.d.ts.map +1 -1
- package/daemon/dist/routes/projects.js +5 -1
- 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 +99 -10
- package/daemon/dist/routes/proof.js.map +1 -1
- package/daemon/dist/routes/provider.d.ts.map +1 -1
- package/daemon/dist/routes/provider.js +31 -0
- package/daemon/dist/routes/provider.js.map +1 -1
- package/daemon/dist/routes/query-limit.d.ts +19 -0
- package/daemon/dist/routes/query-limit.d.ts.map +1 -0
- package/daemon/dist/routes/query-limit.js +24 -0
- package/daemon/dist/routes/query-limit.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +35 -12
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rig-cmux.js +8 -10
- package/daemon/dist/routes/rig-cmux.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +11 -7
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scopes.d.ts.map +1 -1
- package/daemon/dist/routes/scopes.js +5 -3
- package/daemon/dist/routes/scopes.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +32 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/stream.d.ts.map +1 -1
- package/daemon/dist/routes/stream.js +5 -1
- package/daemon/dist/routes/stream.js.map +1 -1
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +2 -1
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/views.d.ts.map +1 -1
- package/daemon/dist/routes/views.js +7 -1
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +30 -1
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-startup-guide.md +19 -0
- package/daemon/docs/reference/getting-started.md +10 -6
- package/daemon/docs/reference/keeping-a-watch.md +156 -0
- package/daemon/docs/reference/rig-spec.md +2 -2
- package/daemon/docs/reference/sdlc-conventions.md +11 -1
- package/daemon/docs/reference/slack-app-setup.md +12 -4
- package/daemon/docs/reference/whats-new.md +151 -74
- package/daemon/specs/agents/development/qa/guidance/role.md +9 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +2 -2
- package/daemon/specs/rigs/launch/factory/CULTURE.md +13 -0
- package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +18 -5
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +20 -1
- package/daemon/specs/rigs/launch/starter/CULTURE.md +13 -0
- package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +18 -5
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts.map +1 -1
- package/dist/cli-error.js +2 -0
- package/dist/cli-error.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +55 -4
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/capture.d.ts +9 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +93 -41
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +6 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +44 -3
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +1 -50
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +6 -0
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/heartbeat.js +2 -2
- package/dist/commands/heartbeat.js.map +1 -1
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +11 -5
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +72 -0
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/ps.d.ts +7 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +20 -6
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +48 -5
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +215 -45
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +57 -36
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +167 -10
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/setup.d.ts +6 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +100 -44
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +9 -4
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +10 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +10 -5
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +8 -8
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config-store.d.ts +8 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +57 -0
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +4 -0
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +16 -4
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/lib/scope/capability-delta.d.ts.map +1 -1
- package/dist/lib/scope/capability-delta.js +8 -0
- package/dist/lib/scope/capability-delta.js.map +1 -1
- package/dist/lib/scope/mission-composition.d.ts +5 -1
- package/dist/lib/scope/mission-composition.d.ts.map +1 -1
- package/dist/lib/scope/mission-composition.js +61 -1
- package/dist/lib/scope/mission-composition.js.map +1 -1
- package/dist/lib/scope/progress-edit.js +1 -1
- package/dist/lib/scope/progress-edit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +2 -1
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +7 -7
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope/slice-claims.d.ts +8 -0
- package/dist/lib/scope/slice-claims.d.ts.map +1 -0
- package/dist/lib/scope/slice-claims.js +88 -0
- package/dist/lib/scope/slice-claims.js.map +1 -0
- package/dist/queue-receipt.d.ts +41 -0
- package/dist/queue-receipt.d.ts.map +1 -0
- package/dist/queue-receipt.js +272 -0
- package/dist/queue-receipt.js.map +1 -0
- package/dist/rig-handle.d.ts +45 -0
- package/dist/rig-handle.d.ts.map +1 -0
- package/dist/rig-handle.js +51 -0
- package/dist/rig-handle.js.map +1 -0
- package/dist/system-preflight.d.ts +5 -0
- package/dist/system-preflight.d.ts.map +1 -1
- package/dist/system-preflight.js +8 -0
- package/dist/system-preflight.js.map +1 -1
- package/dist/terminal-window.d.ts.map +1 -1
- package/dist/terminal-window.js +3 -1
- package/dist/terminal-window.js.map +1 -1
- package/package.json +1 -1
- package/tui/dist/config/config-model.d.ts.map +1 -1
- package/tui/dist/config/config-model.js +3 -0
- package/tui/dist/config/config-model.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +3 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +4 -1
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/detail.d.ts.map +1 -1
- package/tui/dist/detail.js +6 -1
- package/tui/dist/detail.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +30 -21
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +15 -4
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/local-reading.js +2 -2
- package/tui/dist/local-reading.js.map +1 -1
- package/tui/dist/pulse/pulse-model.d.ts +1 -0
- package/tui/dist/pulse/pulse-model.d.ts.map +1 -1
- package/tui/dist/pulse/pulse-model.js +7 -3
- package/tui/dist/pulse/pulse-model.js.map +1 -1
- package/tui/dist/pulse/render-pulse.d.ts.map +1 -1
- package/tui/dist/pulse/render-pulse.js +3 -1
- package/tui/dist/pulse/render-pulse.js.map +1 -1
- package/tui/dist/reading.d.ts.map +1 -1
- package/tui/dist/reading.js +14 -3
- package/tui/dist/reading.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +26 -11
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/types.d.ts +3 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/ui/dist/assets/{index-D5n8EwkG.js → index-DhmxKuZf.js} +159 -159
- package/ui/dist/index.html +1 -1
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { ConfigStore } from "./config-store.js";
|
|
2
|
+
import { shellQuote } from "./cross-host-executor.js";
|
|
3
|
+
/**
|
|
4
|
+
* Slice 15 (OPR.0.7.0.15) P1 — the short receipt a queue WRITE prints when the
|
|
5
|
+
* `output.compact` switch is on. A CLI-side projection of the daemon's response:
|
|
6
|
+
* the daemon's route shapes (and the payload a cross-host write forwards) are
|
|
7
|
+
* untouched, and `--full` prints today's whole response byte for byte.
|
|
8
|
+
*
|
|
9
|
+
* The receipt names the row, its state and owner, what needs action (blocker,
|
|
10
|
+
* backstop, warnings, advisories) and the wake evidence the response actually
|
|
11
|
+
* carries. It never echoes the body, and its footer names what it left out and
|
|
12
|
+
* the read that returns it. Error responses never come here: they print in full.
|
|
13
|
+
*/
|
|
14
|
+
/** Whether compact defaults are on, by the config store's own resolution, the
|
|
15
|
+
* same one `rig config get output.compact` reports: `OPENRIG_OUTPUT_COMPACT`
|
|
16
|
+
* (`true`/`1` or `false`/`0`), else the config file, else off. An invalid env
|
|
17
|
+
* value is rejected with the store's warning and falls back to the file, as
|
|
18
|
+
* `config get` does. An unreadable config is off. */
|
|
19
|
+
export function compactOutputEnabled(store) {
|
|
20
|
+
try {
|
|
21
|
+
return (store ?? new ConfigStore()).get("output.compact") === true;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const PAST = {
|
|
28
|
+
create: "created",
|
|
29
|
+
claim: "claimed",
|
|
30
|
+
unclaim: "unclaimed",
|
|
31
|
+
update: "updated",
|
|
32
|
+
block: "parked",
|
|
33
|
+
handoff: "handed off",
|
|
34
|
+
"handoff-and-complete": "handed off and completed",
|
|
35
|
+
};
|
|
36
|
+
const STARTS_WAKE = new Set(["create", "handoff", "handoff-and-complete"]);
|
|
37
|
+
/** Kept at today's key, path and type (R3: 82% of write calls run `--json`, and
|
|
38
|
+
* agents' jq filters must keep working). ALWAYS keys stay even when null, so
|
|
39
|
+
* `.priority == "routine"` or `.lastNudgeResult == null` reads as it does today;
|
|
40
|
+
* the rest appear only when the row has a value. */
|
|
41
|
+
const ALWAYS = ["qitemId", "state", "destinationSession", "sourceSession", "tsCreated", "tsUpdated", "priority", "summary",
|
|
42
|
+
"tags", "pickup", "lastNudgeResult", "lastNudgeAttempt"];
|
|
43
|
+
const WHEN_SET = ["tier", "blockedOn", "closureReason", "closureTarget", "closureRequiredAt", "claimedAt", "handedOffTo",
|
|
44
|
+
"handedOffFrom", "targetRepo", "expiresAt", "advisories", "handoffAdvisory", "createWarning", "persisted", "delivery"];
|
|
45
|
+
const SHOWN_WAITING = ["blocker", "nextBackstop"];
|
|
46
|
+
const ROW_KEYS_CONSUMED_ELSEWHERE = new Set(["body", "waiting"]);
|
|
47
|
+
const str = (v) => (typeof v === "string" && v !== "" ? v : null);
|
|
48
|
+
const isRow = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
49
|
+
function showCommand(id, remoteHost) {
|
|
50
|
+
const show = `rig queue show ${shellQuote(id)} --full --json`;
|
|
51
|
+
return remoteHost ? `OPENRIG_URL='<daemon-url of host ${remoteHost}>' ${show}` : show;
|
|
52
|
+
}
|
|
53
|
+
/** Only what this response proves. "Scheduled" is never said: the response
|
|
54
|
+
* carries no flag showing a wake reached the outbox, and a null result is
|
|
55
|
+
* equally an outbox wake not yet delivered, a daemon with no transport, or an
|
|
56
|
+
* existing row returned by an idempotent create. */
|
|
57
|
+
function wakeEvidence(row, ctx) {
|
|
58
|
+
const result = str(row.lastNudgeResult);
|
|
59
|
+
const at = str(row.lastNudgeAttempt) ?? undefined;
|
|
60
|
+
const warning = isRow(row.createWarning) ? row.createWarning : null;
|
|
61
|
+
if (ctx.nudgeSuppressed)
|
|
62
|
+
return { evidence: "suppressed", detail: "--no-nudge: no wake was requested" };
|
|
63
|
+
if (warning?.code === "qitem_body_not_saved") {
|
|
64
|
+
return { evidence: "existing-row", ...(result ? { result } : {}), ...(at ? { at } : {}), detail: "an existing row was returned; this write started no new wake" };
|
|
65
|
+
}
|
|
66
|
+
const maybeExisting = ctx.idGiven
|
|
67
|
+
? "; if --id named an existing row, it was returned with no new wake"
|
|
68
|
+
: ctx.remoteHost && ctx.verb !== "create"
|
|
69
|
+
? "; a re-driven cross-host handoff returns the existing successor with no new wake"
|
|
70
|
+
: "";
|
|
71
|
+
const earlier = maybeExisting ? { maybeEarlier: true } : {};
|
|
72
|
+
if (result?.startsWith("failed:wake not retained")) {
|
|
73
|
+
return { evidence: "not-staged", result, ...(at ? { at } : {}), ...earlier, detail: `the row saved but its wake was NOT staged${maybeExisting}` };
|
|
74
|
+
}
|
|
75
|
+
if (result)
|
|
76
|
+
return { evidence: "recorded", result, ...(at ? { at } : {}), ...earlier, detail: `the daemon's recorded wake result${maybeExisting}` };
|
|
77
|
+
return { evidence: "none-recorded", detail: `no wake result recorded yet (delivery, if staged, follows the write)${maybeExisting}` };
|
|
78
|
+
}
|
|
79
|
+
function waitingReceipt(row) {
|
|
80
|
+
if (!isRow(row.waiting))
|
|
81
|
+
return null;
|
|
82
|
+
const out = {};
|
|
83
|
+
for (const k of SHOWN_WAITING)
|
|
84
|
+
if (row.waiting[k] !== undefined)
|
|
85
|
+
out[k] = row.waiting[k];
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
/** The receipt for one row, plus the paths of the response it does not show. */
|
|
89
|
+
function rowReceipt(row, ctx, wake) {
|
|
90
|
+
const receipt = {};
|
|
91
|
+
for (const k of ALWAYS)
|
|
92
|
+
if (k in row)
|
|
93
|
+
receipt[k] = row[k];
|
|
94
|
+
for (const k of WHEN_SET) {
|
|
95
|
+
const v = row[k];
|
|
96
|
+
if (v !== undefined && v !== null && v !== "")
|
|
97
|
+
receipt[k] = v;
|
|
98
|
+
}
|
|
99
|
+
if (typeof row.body === "string")
|
|
100
|
+
receipt.bodyBytes = Buffer.byteLength(row.body, "utf8");
|
|
101
|
+
const waiting = waitingReceipt(row);
|
|
102
|
+
if (waiting)
|
|
103
|
+
receipt.waiting = waiting;
|
|
104
|
+
// `wake` (a new key) labels what the response proves for a write that starts
|
|
105
|
+
// one. Writes that start none keep the row's earlier wake fields as data only.
|
|
106
|
+
if (wake)
|
|
107
|
+
receipt.wake = wakeEvidence(row, ctx);
|
|
108
|
+
const shown = new Set(Object.keys(receipt));
|
|
109
|
+
const omitted = [];
|
|
110
|
+
if (typeof row.body === "string")
|
|
111
|
+
omitted.push("body");
|
|
112
|
+
for (const k of Object.keys(row)) {
|
|
113
|
+
if (ROW_KEYS_CONSUMED_ELSEWHERE.has(k) || shown.has(k))
|
|
114
|
+
continue;
|
|
115
|
+
omitted.push(k);
|
|
116
|
+
}
|
|
117
|
+
if (isRow(row.waiting)) {
|
|
118
|
+
for (const k of Object.keys(row.waiting))
|
|
119
|
+
if (!SHOWN_WAITING.includes(k))
|
|
120
|
+
omitted.push(`waiting.${k}`);
|
|
121
|
+
}
|
|
122
|
+
return { receipt, omitted };
|
|
123
|
+
}
|
|
124
|
+
function backstopLine(b) {
|
|
125
|
+
if (!isRow(b))
|
|
126
|
+
return null;
|
|
127
|
+
const parts = [`backstop: ${str(b.mechanism) ?? "unknown"}`];
|
|
128
|
+
if (str(b.dueAt))
|
|
129
|
+
parts.push(`due ${b.dueAt}`);
|
|
130
|
+
if (str(b.owner))
|
|
131
|
+
parts.push(`owner ${b.owner}`);
|
|
132
|
+
if (isRow(b.recovery))
|
|
133
|
+
parts.push(`recovery ${String(b.recovery.qitemId)} (${String(b.recovery.state)})`);
|
|
134
|
+
if (str(b.note))
|
|
135
|
+
parts.push(String(b.note));
|
|
136
|
+
return parts.join(" · ");
|
|
137
|
+
}
|
|
138
|
+
function rowLines(heading, r) {
|
|
139
|
+
const lines = [`${heading} ${String(r.qitemId)} · ${String(r.state)} · owner ${String(r.destinationSession)}`];
|
|
140
|
+
const facts = [`created ${String(r.tsCreated)}`, `updated ${String(r.tsUpdated)}`,
|
|
141
|
+
typeof r.bodyBytes === "number" ? `body ${r.bodyBytes.toLocaleString("en-US")} bytes` : "body size not in the response",
|
|
142
|
+
`from ${String(r.sourceSession)}`];
|
|
143
|
+
if (r.priority && r.priority !== "routine")
|
|
144
|
+
facts.push(`priority ${String(r.priority)}`);
|
|
145
|
+
if (r.claimedAt)
|
|
146
|
+
facts.push(`claimed ${String(r.claimedAt)}`);
|
|
147
|
+
if (r.closureRequiredAt)
|
|
148
|
+
facts.push(`close by ${String(r.closureRequiredAt)}`);
|
|
149
|
+
if (r.tier)
|
|
150
|
+
facts.push(`tier ${String(r.tier)}`);
|
|
151
|
+
if (r.targetRepo)
|
|
152
|
+
facts.push(`repo ${String(r.targetRepo)}`);
|
|
153
|
+
lines.push(` ${facts.join(" · ")}`);
|
|
154
|
+
if (r.summary)
|
|
155
|
+
lines.push(` summary: ${String(r.summary)}`);
|
|
156
|
+
// Tags can't be changed after create, so a wrong one is caught here, not on a later read.
|
|
157
|
+
if (Array.isArray(r.tags) && r.tags.length > 0)
|
|
158
|
+
lines.push(` tags: ${r.tags.map(String).join(", ")}`);
|
|
159
|
+
if (isRow(r.pickup))
|
|
160
|
+
lines.push(` pickup: ${String(r.pickup.state)}${r.pickup.evidence ? ` (${String(r.pickup.evidence)})` : ""}`);
|
|
161
|
+
const waiting = isRow(r.waiting) ? r.waiting : null;
|
|
162
|
+
if (waiting && isRow(waiting.blocker)) {
|
|
163
|
+
const b = waiting.blocker;
|
|
164
|
+
lines.push(` blocked on ${String(b.ref)}${b.owner || b.state ? ` (${[b.owner && `owner ${String(b.owner)}`, b.state && `state ${String(b.state)}`].filter(Boolean).join(", ")})` : ""}`);
|
|
165
|
+
}
|
|
166
|
+
else if (r.blockedOn) {
|
|
167
|
+
lines.push(` blocked on ${String(r.blockedOn)}`);
|
|
168
|
+
}
|
|
169
|
+
const backstop = waiting ? backstopLine(waiting.nextBackstop) : null;
|
|
170
|
+
if (backstop)
|
|
171
|
+
lines.push(` ${backstop}`);
|
|
172
|
+
if (r.closureReason || r.closureTarget)
|
|
173
|
+
lines.push(` closure: ${String(r.closureReason ?? "none")}${r.closureTarget ? ` → ${String(r.closureTarget)}` : ""}`);
|
|
174
|
+
if (r.handedOffTo)
|
|
175
|
+
lines.push(` handed off to ${String(r.handedOffTo)}`);
|
|
176
|
+
if (r.handedOffFrom)
|
|
177
|
+
lines.push(` handed off from ${String(r.handedOffFrom)}`);
|
|
178
|
+
if (r.expiresAt)
|
|
179
|
+
lines.push(` expires ${String(r.expiresAt)}`);
|
|
180
|
+
if (isRow(r.wake)) {
|
|
181
|
+
const w = r.wake;
|
|
182
|
+
const literal = w.result ? `${String(w.result)}${w.at ? ` at ${String(w.at)}` : ""}` : "";
|
|
183
|
+
// An existing row's result belongs to an earlier wake, so it follows the label rather than leads it.
|
|
184
|
+
lines.push(w.evidence === "existing-row"
|
|
185
|
+
? ` wake: ${String(w.detail)}${literal ? ` (the row's earlier wake result: ${literal})` : ""}`
|
|
186
|
+
: w.maybeEarlier && literal
|
|
187
|
+
? ` wake: ${String(w.detail)} (the row's recorded result, possibly an earlier wake's: ${literal})`
|
|
188
|
+
: ` wake: ${literal ? `${literal} — ` : ""}${String(w.detail)}`);
|
|
189
|
+
}
|
|
190
|
+
if (isRow(r.createWarning))
|
|
191
|
+
lines.push(` WARNING: ${String(r.createWarning.message ?? JSON.stringify(r.createWarning))}`);
|
|
192
|
+
if (isRow(r.handoffAdvisory))
|
|
193
|
+
lines.push(` advisory: ${String(r.handoffAdvisory.message ?? JSON.stringify(r.handoffAdvisory))}`);
|
|
194
|
+
if (Array.isArray(r.advisories)) {
|
|
195
|
+
for (const a of r.advisories)
|
|
196
|
+
lines.push(` advisory: ${isRow(a) && typeof a.message === "string" ? a.message : JSON.stringify(a)}`);
|
|
197
|
+
}
|
|
198
|
+
if (r.persisted !== undefined)
|
|
199
|
+
lines.push(` persisted: ${String(r.persisted)}`);
|
|
200
|
+
if (r.delivery !== undefined)
|
|
201
|
+
lines.push(` delivery: ${JSON.stringify(r.delivery)}`);
|
|
202
|
+
return lines;
|
|
203
|
+
}
|
|
204
|
+
function hostNote(ctx, what) {
|
|
205
|
+
return ctx.remoteHostUnconfirmed
|
|
206
|
+
? `${ctx.remoteHost} (this daemon's own host id could not be read; if it is not ${ctx.remoteHost}, ${what} lives on that daemon)`
|
|
207
|
+
: `${ctx.remoteHost} (${what} lives on that daemon)`;
|
|
208
|
+
}
|
|
209
|
+
/** The read that returns a row in full. When `--host` locality is unconfirmed the
|
|
210
|
+
* row is here or on that host, so both reads are offered as alternatives: the
|
|
211
|
+
* local one as the runnable command, the on-host one beside it. */
|
|
212
|
+
function fullRead(id, ctx, onHost) {
|
|
213
|
+
if (!onHost || !ctx.remoteHost)
|
|
214
|
+
return { command: showCommand(id), phrase: showCommand(id) };
|
|
215
|
+
if (!ctx.remoteHostUnconfirmed)
|
|
216
|
+
return { command: showCommand(id, ctx.remoteHost), phrase: showCommand(id, ctx.remoteHost) };
|
|
217
|
+
const local = showCommand(id), remote = showCommand(id, ctx.remoteHost);
|
|
218
|
+
return { command: local, onHost: remote, phrase: `${local} if this daemon is host ${ctx.remoteHost}, otherwise ${remote}` };
|
|
219
|
+
}
|
|
220
|
+
function footer(omitted, commands, verb) {
|
|
221
|
+
const bodies = omitted.filter((p) => p === "body" || p.endsWith(".body")).length;
|
|
222
|
+
const others = omitted.length - bodies;
|
|
223
|
+
const what = [bodies > 1 ? "bodies" : bodies === 1 ? "body" : "", others > 0 ? `${others} ${bodies ? "other " : ""}field${others === 1 ? "" : "s"}` : ""]
|
|
224
|
+
.filter(Boolean).join(" and ") || "nothing";
|
|
225
|
+
return `receipt: ${what} not shown (output.compact); full ${commands.length > 1 ? "rows" : "row"}: ${commands.join(" · ")}, or add --full to the ${verb}`;
|
|
226
|
+
}
|
|
227
|
+
/** Project a successful write response to its receipt. Returns null for a
|
|
228
|
+
* shape this projection does not recognize, so the caller prints the whole
|
|
229
|
+
* response rather than guess. */
|
|
230
|
+
export function buildWriteReceipt(body, ctx) {
|
|
231
|
+
if (!isRow(body))
|
|
232
|
+
return null;
|
|
233
|
+
const wakes = STARTS_WAKE.has(ctx.verb);
|
|
234
|
+
if (ctx.verb === "handoff" || ctx.verb === "handoff-and-complete") {
|
|
235
|
+
if (!isRow(body.closed) || !isRow(body.created))
|
|
236
|
+
return null;
|
|
237
|
+
const closed = rowReceipt(body.closed, ctx, false);
|
|
238
|
+
const created = rowReceipt(body.created, ctx, wakes);
|
|
239
|
+
const reads = [fullRead(String(body.closed.qitemId), ctx, false), fullRead(String(body.created.qitemId), ctx, true)];
|
|
240
|
+
const commands = reads.map((r) => r.command);
|
|
241
|
+
const extraTop = Object.keys(body).filter((k) => k !== "closed" && k !== "created" && k !== "advisories");
|
|
242
|
+
const omitted = [...closed.omitted.map((p) => `closed.${p}`), ...created.omitted.map((p) => `created.${p}`), ...extraTop];
|
|
243
|
+
const json = {
|
|
244
|
+
closed: closed.receipt,
|
|
245
|
+
created: created.receipt,
|
|
246
|
+
...(Array.isArray(body.advisories) ? { advisories: body.advisories } : {}),
|
|
247
|
+
...(ctx.remoteHost ? { host: ctx.remoteHost, ...(ctx.remoteHostUnconfirmed ? { hostUnconfirmed: true } : {}) } : {}),
|
|
248
|
+
receipt: { omitted, fullCommands: commands, ...(reads[1].onHost ? { createdFullCommandOnHost: reads[1].onHost } : {}) },
|
|
249
|
+
};
|
|
250
|
+
const text = [
|
|
251
|
+
...rowLines("closed", closed.receipt),
|
|
252
|
+
...rowLines("created", created.receipt),
|
|
253
|
+
...(ctx.remoteHost ? [` host: ${hostNote(ctx, "the new row")}`] : []),
|
|
254
|
+
...(Array.isArray(body.advisories) ? body.advisories.map((a) => `advisory: ${isRow(a) && typeof a.message === "string" ? a.message : JSON.stringify(a)}`) : []),
|
|
255
|
+
footer(omitted, reads.map((r) => r.phrase), ctx.verb),
|
|
256
|
+
].join("\n");
|
|
257
|
+
return { json, text };
|
|
258
|
+
}
|
|
259
|
+
if (typeof body.qitemId !== "string")
|
|
260
|
+
return null;
|
|
261
|
+
const one = rowReceipt(body, ctx, wakes);
|
|
262
|
+
const read = fullRead(body.qitemId, ctx, true);
|
|
263
|
+
const json = { ...one.receipt, ...(ctx.remoteHost ? { host: ctx.remoteHost, ...(ctx.remoteHostUnconfirmed ? { hostUnconfirmed: true } : {}) } : {}),
|
|
264
|
+
receipt: { omitted: one.omitted, fullCommand: read.command, ...(read.onHost ? { fullCommandOnHost: read.onHost } : {}) } };
|
|
265
|
+
const text = [
|
|
266
|
+
...rowLines(PAST[ctx.verb], one.receipt),
|
|
267
|
+
...(ctx.remoteHost ? [` host: ${hostNote(ctx, "the row")}`] : []),
|
|
268
|
+
footer(one.omitted, [read.phrase], ctx.verb),
|
|
269
|
+
].join("\n");
|
|
270
|
+
return { json, text };
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=queue-receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-receipt.js","sourceRoot":"","sources":["../src/queue-receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;;;GAUG;AAEH;;;;sDAIsD;AACtD,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAkBD,MAAM,IAAI,GAA8B;IACtC,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,YAAY;IACrB,sBAAsB,EAAE,0BAA0B;CACnD,CAAC;AACF,MAAM,WAAW,GAA2B,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;AACnG;;;qDAGqD;AACrD,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;IACxH,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;AACpE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa;IACtH,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAClI,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,cAAc,CAAU,CAAC;AAC3D,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,CAAC,CAAU,EAAY,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjG,SAAS,WAAW,CAAC,EAAU,EAAE,UAAmB;IAClD,MAAM,IAAI,GAAG,kBAAkB,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC;IAC9D,OAAO,UAAU,CAAC,CAAC,CAAC,oCAAoC,UAAU,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAYD;;;qDAGqD;AACrD,SAAS,YAAY,CAAC,GAAQ,EAAE,GAAmB;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,IAAI,GAAG,CAAC,eAAe;QAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;IACxG,IAAI,OAAO,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,8DAA8D,EAAE,CAAC;IACpK,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO;QAC/B,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YACvC,CAAC,CAAC,kFAAkF;YACpF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,MAAM,EAAE,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,4CAA4C,aAAa,EAAE,EAAE,CAAC;IACpJ,CAAC;IACD,IAAI,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,oCAAoC,aAAa,EAAE,EAAE,CAAC;IACpJ,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,uEAAuE,aAAa,EAAE,EAAE,CAAC;AACvI,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;IAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,GAAQ,EAAE,GAAmB,EAAE,IAAa;IAC9D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IACvC,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChI,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAOD,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1G,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,CAAM;IACvC,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC/G,MAAM,KAAK,GAAG,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QAC/E,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B;QACvH,QAAQ,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzF,IAAI,CAAC,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7D,0FAA0F;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvG,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpI,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5L,CAAC;SAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/J,IAAI,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,qGAAqG;QACrG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc;YACtC,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,oCAAoC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/F,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO;gBACzB,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,4DAA4D,OAAO,GAAG;gBACnG,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3H,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAClI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,IAAY;IACjD,OAAO,GAAG,CAAC,qBAAqB;QAC9B,CAAC,CAAC,GAAG,GAAG,CAAC,UAAW,+DAA+D,GAAG,CAAC,UAAW,KAAK,IAAI,wBAAwB;QACnI,CAAC,CAAC,GAAG,GAAG,CAAC,UAAW,KAAK,IAAI,wBAAwB,CAAC;AAC1D,CAAC;AAED;;oEAEoE;AACpE,SAAS,QAAQ,CAAC,EAAU,EAAE,GAAmB,EAAE,MAAe;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7F,IAAI,CAAC,GAAG,CAAC,qBAAqB;QAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7H,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACxE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,2BAA2B,GAAG,CAAC,UAAU,eAAe,MAAM,EAAE,EAAE,CAAC;AAC9H,CAAC;AAED,SAAS,MAAM,CAAC,OAAiB,EAAE,QAAkB,EAAE,IAAe;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtJ,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;IAC9C,OAAO,YAAY,IAAI,qCAAqC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC;AAC5J,CAAC;AAED;;kCAEkC;AAClC,MAAM,UAAU,iBAAiB,CAAC,IAAa,EAAE,GAAmB;IAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrH,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC1H,MAAM,IAAI,GAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpH,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAC1H,CAAC;QACF,MAAM,IAAI,GAAG;YACX,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;YACrC,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/J,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;SACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtJ,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7H,MAAM,IAAI,GAAG;QACX,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { DaemonClient } from "./client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Outcome of resolving a rig handle (name OR id) to a concrete id, shared by
|
|
4
|
+
* `rig down` and `rig add`. A mutation only ever runs on a `resolved` id or a
|
|
5
|
+
* `passthrough` handle; callers halt on `ambiguous` (and `rig down` also on
|
|
6
|
+
* `not_found`) BEFORE any POST.
|
|
7
|
+
*/
|
|
8
|
+
export type HandleResolution = {
|
|
9
|
+
kind: "resolved";
|
|
10
|
+
id: string;
|
|
11
|
+
byName: boolean;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "ambiguous";
|
|
14
|
+
name: string;
|
|
15
|
+
ids: string[];
|
|
16
|
+
} | {
|
|
17
|
+
kind: "not_found";
|
|
18
|
+
handle: string;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "passthrough";
|
|
21
|
+
handle: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a rig handle (rig name OR id) to a concrete rig id, mirroring the
|
|
25
|
+
* `/api/rigs/summary` path `rig up` uses. Resolution is a PRE-STEP: each
|
|
26
|
+
* command's existing request + guards downstream are unchanged; this only maps
|
|
27
|
+
* the handle to an id.
|
|
28
|
+
*
|
|
29
|
+
* Safety order (mutating ops):
|
|
30
|
+
* 1. id-exact-match FIRST, across ALL rigs incl. archived - an id is unique, so
|
|
31
|
+
* it is never ambiguous, and an archived rig's id must still reach the
|
|
32
|
+
* canonical id path (also when an active rig is NAMED like that id).
|
|
33
|
+
* 2. else name-filter over ACTIVE (non-archived) rigs only:
|
|
34
|
+
* - exactly 1 active match -> resolve to that id;
|
|
35
|
+
* - >1 active matches -> AMBIGUOUS: halt, never guess;
|
|
36
|
+
* - 0 active matches -> NOT_FOUND.
|
|
37
|
+
*
|
|
38
|
+
* `/api/rigs/summary` defaults to ACTIVE-only and exposes `archivedAt`; we fetch
|
|
39
|
+
* with `includeArchived=true` so an archived id still id-matches, then filter
|
|
40
|
+
* names to active. So an active+archived same-name pair is NOT ambiguous (only
|
|
41
|
+
* the active candidate counts), and an archived-only name does not resolve by
|
|
42
|
+
* name (use the id, or the archive path).
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveRigHandle(client: DaemonClient, handle: string): Promise<HandleResolution>;
|
|
45
|
+
//# sourceMappingURL=rig-handle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-handle.d.ts","sourceRoot":"","sources":["../src/rig-handle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAExB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAKrC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6BtG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a rig handle (rig name OR id) to a concrete rig id, mirroring the
|
|
3
|
+
* `/api/rigs/summary` path `rig up` uses. Resolution is a PRE-STEP: each
|
|
4
|
+
* command's existing request + guards downstream are unchanged; this only maps
|
|
5
|
+
* the handle to an id.
|
|
6
|
+
*
|
|
7
|
+
* Safety order (mutating ops):
|
|
8
|
+
* 1. id-exact-match FIRST, across ALL rigs incl. archived - an id is unique, so
|
|
9
|
+
* it is never ambiguous, and an archived rig's id must still reach the
|
|
10
|
+
* canonical id path (also when an active rig is NAMED like that id).
|
|
11
|
+
* 2. else name-filter over ACTIVE (non-archived) rigs only:
|
|
12
|
+
* - exactly 1 active match -> resolve to that id;
|
|
13
|
+
* - >1 active matches -> AMBIGUOUS: halt, never guess;
|
|
14
|
+
* - 0 active matches -> NOT_FOUND.
|
|
15
|
+
*
|
|
16
|
+
* `/api/rigs/summary` defaults to ACTIVE-only and exposes `archivedAt`; we fetch
|
|
17
|
+
* with `includeArchived=true` so an archived id still id-matches, then filter
|
|
18
|
+
* names to active. So an active+archived same-name pair is NOT ambiguous (only
|
|
19
|
+
* the active candidate counts), and an archived-only name does not resolve by
|
|
20
|
+
* name (use the id, or the archive path).
|
|
21
|
+
*/
|
|
22
|
+
export async function resolveRigHandle(client, handle) {
|
|
23
|
+
let summaries;
|
|
24
|
+
try {
|
|
25
|
+
// includeArchived=true so an archived rig's id still id-matches below;
|
|
26
|
+
// names are filtered to active.
|
|
27
|
+
const res = await client.get("/api/rigs/summary?includeArchived=true");
|
|
28
|
+
if (res.status !== 200 || !Array.isArray(res.data)) {
|
|
29
|
+
return { kind: "passthrough", handle };
|
|
30
|
+
}
|
|
31
|
+
summaries = res.data;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return { kind: "passthrough", handle };
|
|
35
|
+
}
|
|
36
|
+
// 1. id-exact-match first, across ALL rigs incl. archived (ids are never
|
|
37
|
+
// ambiguous; archived ids still reach the id path).
|
|
38
|
+
if (summaries.some((r) => r.id === handle)) {
|
|
39
|
+
return { kind: "resolved", id: handle, byName: false };
|
|
40
|
+
}
|
|
41
|
+
// 2. name-filter over ACTIVE (non-archived) rigs only, symmetric with `up`.
|
|
42
|
+
const activeNameMatches = summaries.filter((r) => r.name === handle && r.archivedAt == null);
|
|
43
|
+
if (activeNameMatches.length === 1) {
|
|
44
|
+
return { kind: "resolved", id: activeNameMatches[0].id, byName: true };
|
|
45
|
+
}
|
|
46
|
+
if (activeNameMatches.length > 1) {
|
|
47
|
+
return { kind: "ambiguous", name: handle, ids: activeNameMatches.map((r) => r.id) };
|
|
48
|
+
}
|
|
49
|
+
return { kind: "not_found", handle };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=rig-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-handle.js","sourceRoot":"","sources":["../src/rig-handle.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAoB,EAAE,MAAc;IACzE,IAAI,SAA4B,CAAC;IACjC,IAAI,CAAC;QACH,uEAAuE;QACvE,gCAAgC;QAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAoB,wCAAwC,CAAC,CAAC;QAC1F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;QACD,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,yEAAyE;IACzE,uDAAuD;IACvD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IAC7F,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -13,6 +13,11 @@ export interface PreflightResult {
|
|
|
13
13
|
ready: boolean;
|
|
14
14
|
checks: PreflightCheck[];
|
|
15
15
|
}
|
|
16
|
+
/** Run a preflight probe with its stderr captured, not echoed. Without `stdio`, `execSync` also copies the child's
|
|
17
|
+
* stderr to the terminal, so a first `rig daemon start` printed tmux's "error connecting to … (No such file or
|
|
18
|
+
* directory)" for the ordinary no-server case. The text still reaches the probe in the thrown error, so a real tmux
|
|
19
|
+
* failure is still classified and reported. */
|
|
20
|
+
export declare function quietPreflightExec(cmd: string): Promise<string>;
|
|
16
21
|
interface PreflightDeps {
|
|
17
22
|
exec: (cmd: string) => Promise<string>;
|
|
18
23
|
configStore: ConfigStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-preflight.d.ts","sourceRoot":"","sources":["../src/system-preflight.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-preflight.d.ts","sourceRoot":"","sources":["../src/system-preflight.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;gDAGgD;AAChD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAuBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,cAAc,CAqChB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAgB;gBAEhB,IAAI,EAAE,aAAa;IAIzB,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CA+E9D"}
|
package/dist/system-preflight.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import net from "node:net";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
2
3
|
import { accessSync, mkdirSync, constants } from "node:fs";
|
|
3
4
|
import { dirname } from "node:path";
|
|
4
5
|
import { buildTmuxControlFailure, probeTmuxControlAsync } from "./tmux-health.js";
|
|
5
6
|
import { classifyNodeVersion } from "./node-support.js";
|
|
7
|
+
/** Run a preflight probe with its stderr captured, not echoed. Without `stdio`, `execSync` also copies the child's
|
|
8
|
+
* stderr to the terminal, so a first `rig daemon start` printed tmux's "error connecting to … (No such file or
|
|
9
|
+
* directory)" for the ordinary no-server case. The text still reaches the probe in the thrown error, so a real tmux
|
|
10
|
+
* failure is still classified and reported. */
|
|
11
|
+
export async function quietPreflightExec(cmd) {
|
|
12
|
+
return execSync(cmd, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
|
|
13
|
+
}
|
|
6
14
|
function checkPort(host, port) {
|
|
7
15
|
if (port <= 0)
|
|
8
16
|
return Promise.resolve(true); // port 0 is always available
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-preflight.js","sourceRoot":"","sources":["../src/system-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"system-preflight.js","sourceRoot":"","sources":["../src/system-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-window.d.ts","sourceRoot":"","sources":["../src/terminal-window.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,EAAE,IAAI,MAAM,CAAC;IACb,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,wFAAwF;IACxF,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CA+C9C;
|
|
1
|
+
{"version":3,"file":"terminal-window.d.ts","sourceRoot":"","sources":["../src/terminal-window.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,EAAE,IAAI,MAAM,CAAC;IACb,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,wFAAwF;IACxF,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CA+C9C;AAyKD,6FAA6F;AAC7F,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,aAAsB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAsOnL"}
|
package/dist/terminal-window.js
CHANGED
|
@@ -91,7 +91,9 @@ async function windowLauncher(deps, notes) {
|
|
|
91
91
|
return "This is a CI run.";
|
|
92
92
|
if (deps.env["SSH_CONNECTION"] || deps.env["SSH_CLIENT"] || deps.env["SSH_TTY"])
|
|
93
93
|
return "This is an SSH session; no desktop window is opened over SSH.";
|
|
94
|
-
|
|
94
|
+
// A tmux started inside a Herdr pane sets TERM_PROGRAM=tmux but inherits Herdr's pane markers, so read those too.
|
|
95
|
+
const inHerdrPane = deps.env["HERDR_ENV"] === "1" && !!deps.env["HERDR_PANE_ID"] && !!deps.env["HERDR_SOCKET_PATH"];
|
|
96
|
+
if (host === "herdr" || inHerdrPane)
|
|
95
97
|
return { currentHerdr: true };
|
|
96
98
|
if (deps.platform === "darwin") {
|
|
97
99
|
const inGhostty = host === "ghostty" || host === "com.mitchellh.ghostty";
|