@openrig/cli 0.3.0 → 0.3.2
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/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +15 -0
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +24 -0
- package/daemon/assets/plugins/openrig-core/LICENSE +200 -0
- package/daemon/assets/plugins/openrig-core/README.md +42 -0
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +78 -0
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +37 -0
- package/daemon/assets/{openrig-activity-hook-relay.cjs → plugins/openrig-core/hooks/scripts/activity-relay.cjs} +12 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/compaction-restore-bridge.cjs +172 -0
- package/daemon/assets/plugins/openrig-core/skills/agent-startup-and-context-ingestion/SKILL.md +104 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +131 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +174 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +433 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/templates/compact-instruction.md +1 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/templates/post-compact-restore-instruction.md +1 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +305 -0
- package/daemon/{specs/agents/shared/skills/rig-architect → assets/plugins/openrig-core/skills/openrig-architect}/SKILL.md +38 -19
- package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +222 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +597 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +122 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +137 -0
- package/daemon/assets/vm-preview-fixtures/README.md +48 -0
- package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +79 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +1 -3
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +17 -57
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +81 -2
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts +4 -0
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +87 -0
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +14 -3
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +45 -58
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +36 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +66 -0
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js.map +1 -1
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts +32 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts.map +1 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js +37 -0
- package/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js.map +1 -0
- package/daemon/dist/db/migrations/041_rig_policy.d.ts +32 -0
- package/daemon/dist/db/migrations/041_rig_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/041_rig_policy.js +47 -0
- package/daemon/dist/db/migrations/041_rig_policy.js.map +1 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js +2 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js.map +1 -1
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +143 -37
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-resolver.js +1 -1
- package/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +86 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/bundle-agent-images-router.d.ts +95 -0
- package/daemon/dist/domain/bundle-agent-images-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-agent-images-router.js +140 -0
- package/daemon/dist/domain/bundle-agent-images-router.js.map +1 -0
- package/daemon/dist/domain/bundle-assembler.d.ts +18 -1
- package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-assembler.js +11 -1
- package/daemon/dist/domain/bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/bundle-audit.d.ts +89 -0
- package/daemon/dist/domain/bundle-audit.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-audit.js +87 -0
- package/daemon/dist/domain/bundle-audit.js.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts +57 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.js +49 -0
- package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +100 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.js +158 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts +69 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.js +87 -0
- package/daemon/dist/domain/bundle-plugins-router.js.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts +62 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.js +90 -0
- package/daemon/dist/domain/bundle-skills-router.js.map +1 -0
- package/daemon/dist/domain/bundle-types.d.ts +106 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-types.js +375 -0
- package/daemon/dist/domain/bundle-types.js.map +1 -1
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts +94 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js +144 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +81 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js +242 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts +41 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -0
- package/daemon/dist/domain/cmux-layout-service.js +184 -0
- package/daemon/dist/domain/cmux-layout-service.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts +19 -1
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +62 -14
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts +74 -0
- package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -0
- package/daemon/dist/domain/kernel-boot-tracker.js +213 -0
- package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -0
- package/daemon/dist/domain/kernel-boot.d.ts +50 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -0
- package/daemon/dist/domain/kernel-boot.js +147 -0
- package/daemon/dist/domain/kernel-boot.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts +5 -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 +16 -2
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +3 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +7 -7
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +18 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +98 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +12 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +25 -1
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.d.ts +150 -0
- package/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -0
- package/daemon/dist/domain/plugin-discovery-service.js +468 -0
- package/daemon/dist/domain/plugin-discovery-service.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +54 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.js +111 -0
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts +16 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +11 -1
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +13 -3
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +11 -7
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/projection-planner.d.ts +7 -1
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
- package/daemon/dist/domain/projection-planner.js +44 -4
- package/daemon/dist/domain/projection-planner.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +22 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +57 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +44 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +112 -6
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-check-service.d.ts +4 -0
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +16 -7
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts +48 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js +96 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts +46 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js +171 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts +145 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js +52 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts +58 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js +211 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +109 -18
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +79 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-activity-service.js +123 -0
- package/daemon/dist/domain/seat-activity-service.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +33 -0
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-library-discovery.d.ts +68 -0
- package/daemon/dist/domain/skill-library-discovery.d.ts.map +1 -0
- package/daemon/dist/domain/skill-library-discovery.js +144 -0
- package/daemon/dist/domain/skill-library-discovery.js.map +1 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts +31 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +111 -6
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/spec-library-service.d.ts +6 -0
- package/daemon/dist/domain/spec-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-service.js +19 -0
- package/daemon/dist/domain/spec-library-service.js.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +43 -0
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.js +157 -3
- package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
- package/daemon/dist/domain/spec-review-service.d.ts +1 -1
- package/daemon/dist/domain/spec-review-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-review-service.js +14 -1
- package/daemon/dist/domain/spec-review-service.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +106 -10
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +25 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +186 -4
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +49 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +96 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +7 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +201 -3
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.d.ts +15 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.js +237 -0
- package/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +197 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js +448 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -0
- package/daemon/dist/index.d.ts +2 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +63 -17
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts +7 -0
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -0
- package/daemon/dist/lib/pane-envelope.js +38 -0
- package/daemon/dist/lib/pane-envelope.js.map +1 -0
- package/daemon/dist/middleware/auth-bearer-token.d.ts +47 -5
- package/daemon/dist/middleware/auth-bearer-token.d.ts.map +1 -1
- package/daemon/dist/middleware/auth-bearer-token.js +109 -8
- package/daemon/dist/middleware/auth-bearer-token.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +966 -7
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +19 -2
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/info.d.ts +3 -0
- package/daemon/dist/routes/info.d.ts.map +1 -0
- package/daemon/dist/routes/info.js +20 -0
- package/daemon/dist/routes/info.js.map +1 -0
- package/daemon/dist/routes/kernel-status.d.ts +3 -0
- package/daemon/dist/routes/kernel-status.d.ts.map +1 -0
- package/daemon/dist/routes/kernel-status.js +40 -0
- package/daemon/dist/routes/kernel-status.js.map +1 -0
- package/daemon/dist/routes/mission-control.d.ts.map +1 -1
- package/daemon/dist/routes/mission-control.js +25 -2
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts +3 -0
- package/daemon/dist/routes/missions.d.ts.map +1 -0
- package/daemon/dist/routes/missions.js +195 -0
- package/daemon/dist/routes/missions.js.map +1 -0
- package/daemon/dist/routes/plugins.d.ts +3 -0
- package/daemon/dist/routes/plugins.d.ts.map +1 -0
- package/daemon/dist/routes/plugins.js +223 -0
- package/daemon/dist/routes/plugins.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts +18 -0
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +97 -5
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rig-cmux.d.ts +3 -0
- package/daemon/dist/routes/rig-cmux.d.ts.map +1 -0
- package/daemon/dist/routes/rig-cmux.js +121 -0
- package/daemon/dist/routes/rig-cmux.js.map +1 -0
- package/daemon/dist/routes/rig-policy.d.ts +9 -0
- package/daemon/dist/routes/rig-policy.d.ts.map +1 -0
- package/daemon/dist/routes/rig-policy.js +174 -0
- package/daemon/dist/routes/rig-policy.js.map +1 -0
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +10 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +26 -3
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/skills.d.ts +3 -0
- package/daemon/dist/routes/skills.d.ts.map +1 -0
- package/daemon/dist/routes/skills.js +147 -0
- package/daemon/dist/routes/skills.js.map +1 -0
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +15 -0
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/spec-library.d.ts.map +1 -1
- package/daemon/dist/routes/spec-library.js +16 -1
- package/daemon/dist/routes/spec-library.js.map +1 -1
- package/daemon/dist/routes/up.d.ts +25 -0
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +70 -3
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/workspace.d.ts.map +1 -1
- package/daemon/dist/routes/workspace.js +80 -1
- package/daemon/dist/routes/workspace.js.map +1 -1
- package/daemon/dist/server.d.ts +41 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +41 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +236 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/builder/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/lead/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/planner/agent.yaml +0 -1
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +0 -1
- package/daemon/specs/agents/design/product-designer/agent.yaml +0 -1
- package/daemon/specs/agents/development/implementer/agent.yaml +0 -1
- package/daemon/specs/agents/development/qa/agent.yaml +0 -1
- package/daemon/specs/agents/development/qa/guidance/role.md +0 -2
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +0 -1
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +28 -4
- package/daemon/specs/agents/research/analyst/agent.yaml +0 -1
- package/daemon/specs/agents/research/synthesizer/agent.yaml +0 -1
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +0 -1
- package/daemon/specs/agents/shared/agent.yaml +6 -6
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +361 -0
- package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +142 -0
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +288 -6
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +116 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -1
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/process/agent-browser/LOCAL-INSIGHTS.md +6 -6
- package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +40 -0
- package/daemon/specs/agents/shared/skills/process/agent-browser/SKILL.md +10 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +48 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/SKILL.md +11 -0
- package/daemon/specs/agents/shared/skills/process/dogfood/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +56 -0
- package/daemon/specs/agents/shared/skills/process/executing-plans/SKILL.md +10 -0
- package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +48 -0
- package/daemon/specs/agents/shared/skills/process/using-superpowers/SKILL.md +11 -0
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +52 -0
- package/daemon/specs/agents/shared/skills/process/writing-plans/SKILL.md +12 -2
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +50 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +37 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +49 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +63 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +35 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +33 -0
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +30 -0
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +69 -0
- package/daemon/specs/rigs/launch/kernel/rig-claude-only.yaml +59 -0
- package/daemon/specs/rigs/launch/kernel/rig-codex-only.yaml +59 -0
- package/daemon/specs/rigs/launch/kernel/rig.yaml +69 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +123 -2
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +293 -5
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +53 -1
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/heartbeat.d.ts.map +1 -1
- package/dist/commands/heartbeat.js +0 -5
- package/dist/commands/heartbeat.js.map +1 -1
- package/dist/commands/plugin.d.ts +4 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +395 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +51 -8
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +6 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +103 -5
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig-policy.d.ts +48 -0
- package/dist/commands/rig-policy.d.ts.map +1 -0
- package/dist/commands/rig-policy.js +429 -0
- package/dist/commands/rig-policy.js.map +1 -0
- package/dist/commands/scope.d.ts +6 -0
- package/dist/commands/scope.d.ts.map +1 -0
- package/dist/commands/scope.js +659 -0
- package/dist/commands/scope.js.map +1 -0
- package/dist/commands/send.d.ts +8 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +8 -0
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +60 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/workflow.d.ts +9 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +139 -1
- package/dist/commands/workflow.js.map +1 -1
- package/dist/commands/workspace.d.ts +20 -0
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +138 -7
- package/dist/commands/workspace.js.map +1 -1
- package/dist/config-store.d.ts +18 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +167 -4
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +45 -2
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +90 -9
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +1 -1
- package/dist/host-registry.js +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/dot-id.d.ts +43 -0
- package/dist/lib/scope/dot-id.d.ts.map +1 -0
- package/dist/lib/scope/dot-id.js +165 -0
- package/dist/lib/scope/dot-id.js.map +1 -0
- package/dist/lib/scope/scope-fs.d.ts +79 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -0
- package/dist/lib/scope/scope-fs.js +468 -0
- package/dist/lib/scope/scope-fs.js.map +1 -0
- package/dist/lib/scope/templates.d.ts +38 -0
- package/dist/lib/scope/templates.d.ts.map +1 -0
- package/dist/lib/scope/templates.js +109 -0
- package/dist/lib/scope/templates.js.map +1 -0
- package/dist/lib/scope/types.d.ts +61 -0
- package/dist/lib/scope/types.d.ts.map +1 -0
- package/dist/lib/scope/types.js +38 -0
- package/dist/lib/scope/types.js.map +1 -0
- package/dist/lib/scope-templates/backlog-deprecation.md +26 -0
- package/dist/lib/scope-templates/backlog-tech-debt.md +22 -0
- package/dist/lib/scope-templates/bug-fix.md +30 -0
- package/dist/lib/scope-templates/mission-notes.md +97 -0
- package/dist/lib/scope-templates/mission-placeholder.md +20 -0
- package/dist/lib/scope-templates/mission-release.md +25 -0
- package/dist/lib/scope-templates/placeholder.md +30 -0
- package/dist/lib/scope-templates/release-feature.md +26 -0
- package/dist/lib/scope-templates/research.md +22 -0
- package/package.json +2 -2
- package/ui/dist/assets/index-C_Q5FczU.css +1 -0
- package/ui/dist/assets/index-GjTxfi9S.js +547 -0
- package/ui/dist/index.html +2 -2
- package/daemon/specs/agents/shared/skills/claude-compact-in-place/SKILL.md +0 -100
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/SKILL.md +0 -256
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/scripts/Dockerfile +0 -39
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/scripts/build-e2e-image.sh +0 -37
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/control-plane-test.yaml +0 -40
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/e2e-report-template.md +0 -94
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/expansion-collision-fragment.yaml +0 -13
- package/daemon/specs/agents/shared/skills/process/containerized-e2e/templates/expansion-pod-fragment.yaml +0 -14
- package/ui/dist/assets/index-BDHU1JUK.js +0 -412
- package/ui/dist/assets/index-DXTyJSqu.css +0 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component 2 — six reserved mode names. Lowercase single English
|
|
3
|
+
* words; synonyms and numeric aliases (`L0`–`L3`, `operator:L<n>`)
|
|
4
|
+
* are explicitly forbidden by the convention. The L0–L3 collision
|
|
5
|
+
* warning at `conventions/operator-context-mode-system/README.md`
|
|
6
|
+
* §"L0–L3 Collision Warning" is load-bearing.
|
|
7
|
+
*/
|
|
8
|
+
export type OperatorContextMode = "sleep" | "desk" | "mobile" | "away" | "focus" | "debug";
|
|
9
|
+
export declare const OPERATOR_CONTEXT_MODES: readonly ["sleep", "desk", "mobile", "away", "focus", "debug"];
|
|
10
|
+
/**
|
|
11
|
+
* Component 4 — four scopes. More-specific overrides less-specific
|
|
12
|
+
* when multiple modes coexist (Scope hierarchy: qitem > workstream >
|
|
13
|
+
* rig > global_host).
|
|
14
|
+
*/
|
|
15
|
+
export type OperatorContextScope = "global_host" | "rig" | "workstream" | "qitem";
|
|
16
|
+
export declare const OPERATOR_CONTEXT_SCOPES: readonly ["global_host", "rig", "workstream", "qitem"];
|
|
17
|
+
/**
|
|
18
|
+
* Scope specificity ranks; higher number = more specific. Used by the
|
|
19
|
+
* store's effective-mode resolver. NOT operator-facing.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SCOPE_SPECIFICITY: Record<OperatorContextScope, number>;
|
|
22
|
+
export type AutonomyScope = "pre_approved_only" | "bounded_continuation" | "full_autonomy_within_workstream" | "full_autonomy";
|
|
23
|
+
export type HeartbeatCadence = "sparse" | "normal" | "fast";
|
|
24
|
+
export type InspectionDepth = "surface" | "normal" | "forensic";
|
|
25
|
+
export type UpdateDetail = "compact" | "normal" | "verbose";
|
|
26
|
+
export type EscalationThreshold = "low" | "normal" | "high" | "blocker_only";
|
|
27
|
+
/**
|
|
28
|
+
* Component 3 — concurrency_limit. Suggested values include the enum
|
|
29
|
+
* forms below + structured integer values (1..N). v0 ships the enum
|
|
30
|
+
* subset for simplicity; an integer specialization can graduate via
|
|
31
|
+
* Mode 1.5 amendment when fixture-backed evidence appears.
|
|
32
|
+
*/
|
|
33
|
+
export type ConcurrencyLimit = "serial" | "2" | "4" | "unlimited";
|
|
34
|
+
/**
|
|
35
|
+
* Component 6 — Safety Policy load-bearing rule:
|
|
36
|
+
* `permission_prompt_posture` MUST NOT include auto-accept in v0 or
|
|
37
|
+
* any descendant. The safe values are exactly these three.
|
|
38
|
+
*
|
|
39
|
+
* The enum is STRUCTURALLY closed: no auto-accept literal exists in
|
|
40
|
+
* the union. A contributor cannot "set permissionPromptPosture =
|
|
41
|
+
* 'auto_accept'" because the literal isn't a member; TypeScript
|
|
42
|
+
* rejects at compile time. The validator additionally rejects any
|
|
43
|
+
* non-member string at runtime (defense-in-depth for inputs that
|
|
44
|
+
* bypass typing — JSON file, env var, etc).
|
|
45
|
+
*
|
|
46
|
+
* If a future amendment proposes auto-accept, it MUST first amend
|
|
47
|
+
* the permission-posture canon at
|
|
48
|
+
* `conventions/permission-posture/README.md` AND the FROZEN
|
|
49
|
+
* operator-context-mode safety policy. This slice and its
|
|
50
|
+
* descendants reject auto-accept independently of any caller intent.
|
|
51
|
+
*/
|
|
52
|
+
export type PermissionPromptPosture = "normal" | "batch_for_human" | "do_not_prompt_unless_blocked";
|
|
53
|
+
export declare const SAFE_PERMISSION_PROMPT_POSTURES: readonly ["normal", "batch_for_human", "do_not_prompt_unless_blocked"];
|
|
54
|
+
/**
|
|
55
|
+
* Component 4 — citation source. Free-text in v0 (operator may cite
|
|
56
|
+
* `current-mode.md`, a qitem id, a chatroom topic, or a convention-only
|
|
57
|
+
* declaration). Structured citations are a Mode 1.5 amendment per
|
|
58
|
+
* the convention.
|
|
59
|
+
*/
|
|
60
|
+
export type EvidenceCitation = string;
|
|
61
|
+
/**
|
|
62
|
+
* Component 4 — expiry_or_stale_rule. v0 declares the field with a
|
|
63
|
+
* conservative default ("re_confirm_on_long_gap"); the numeric
|
|
64
|
+
* threshold is deferred per convention Q3 to a Mode 2 helper slice.
|
|
65
|
+
* The rule values below enumerate the supported re-confirmation
|
|
66
|
+
* triggers. NO silent-switch value exists — drift is always a
|
|
67
|
+
* question, never an auto-mode-change.
|
|
68
|
+
*/
|
|
69
|
+
export type ExpiryOrStaleRule = "none" | "re_confirm_on_long_gap" | "re_confirm_on_day_boundary" | "re_confirm_on_observed_conflict";
|
|
70
|
+
export declare const STALE_RULES: readonly ["none", "re_confirm_on_long_gap", "re_confirm_on_day_boundary", "re_confirm_on_observed_conflict"];
|
|
71
|
+
/**
|
|
72
|
+
* Component 3 — the 10-field SETTINGS schema. ALL fields are required
|
|
73
|
+
* by the validator; none may be merged or dropped. Reviewer field-set
|
|
74
|
+
* integrity check (HG-2).
|
|
75
|
+
*
|
|
76
|
+
* **`mode` is NOT in this record.** Mode is the binding's identity
|
|
77
|
+
* (Component 2 — the name of the named bundle); the record parameterizes
|
|
78
|
+
* how that named mode shapes ergonomics. The binding wrapper
|
|
79
|
+
* (OperatorContextModeBinding) carries `mode` at the top level so the
|
|
80
|
+
* frozen 10-field settings record stays exactly 10 fields, as declared
|
|
81
|
+
* by the convention's §Component 3 table.
|
|
82
|
+
*/
|
|
83
|
+
export interface OperatorContextModeRecord {
|
|
84
|
+
autonomy_scope: AutonomyScope;
|
|
85
|
+
heartbeat_cadence: HeartbeatCadence;
|
|
86
|
+
inspection_depth: InspectionDepth;
|
|
87
|
+
update_detail: UpdateDetail;
|
|
88
|
+
escalation_threshold: EscalationThreshold;
|
|
89
|
+
concurrency_limit: ConcurrencyLimit;
|
|
90
|
+
permission_prompt_posture: PermissionPromptPosture;
|
|
91
|
+
scope: OperatorContextScope;
|
|
92
|
+
expiry_or_stale_rule: ExpiryOrStaleRule;
|
|
93
|
+
evidence_citation: EvidenceCitation;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* A scoped binding of a mode to a target context. The store keys rows
|
|
97
|
+
* by (scope, qualifier) so the same scope can hold many bindings
|
|
98
|
+
* (e.g., multiple rig-scoped modes), and the effective-mode resolver
|
|
99
|
+
* picks the right one for the (rig, workstream, qitem) read context.
|
|
100
|
+
*
|
|
101
|
+
* - `global_host` bindings have a null qualifier.
|
|
102
|
+
* - `rig` bindings carry the rig id as qualifier.
|
|
103
|
+
* - `workstream` bindings carry the workstream id as qualifier.
|
|
104
|
+
* - `qitem` bindings carry the qitem id as qualifier.
|
|
105
|
+
*/
|
|
106
|
+
export interface OperatorContextModeBinding {
|
|
107
|
+
/** Stable identifier — `${scope}:${qualifier ?? "host"}` v0. */
|
|
108
|
+
id: string;
|
|
109
|
+
/** Component 2 — the named mode this binding selects. Lives at the
|
|
110
|
+
* binding (not in the 10-field settings record) so the frozen
|
|
111
|
+
* Component-3 record stays exactly 10 fields. */
|
|
112
|
+
mode: OperatorContextMode;
|
|
113
|
+
record: OperatorContextModeRecord;
|
|
114
|
+
/** Qualifier value (rigId, workstreamId, qitemId) — null when scope is global_host. */
|
|
115
|
+
qualifier: string | null;
|
|
116
|
+
/** ISO timestamp of last set. Used by drift-rule consumers. */
|
|
117
|
+
setAt: string;
|
|
118
|
+
/** Who set it. Operator-only by contract — see update authority. */
|
|
119
|
+
setBy: "operator";
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The effective-mode read result. The resolver returns the most
|
|
123
|
+
* specific binding for a (rig?, workstream?, qitem?) context, or
|
|
124
|
+
* `null` when no binding exists at any matching scope.
|
|
125
|
+
*
|
|
126
|
+
* Per convention §"Q6 — Absent mode is unknown_posture, NOT desk":
|
|
127
|
+
* callers MUST treat a null effective mode as `unknown_posture` and
|
|
128
|
+
* re-confirm to a real mode explicitly. The resolver does NOT default
|
|
129
|
+
* to `desk` and never invents a binding.
|
|
130
|
+
*/
|
|
131
|
+
export interface EffectiveOperatorContextMode {
|
|
132
|
+
binding: OperatorContextModeBinding;
|
|
133
|
+
/** Why this binding won (which scope; for debug + UI surfacing). */
|
|
134
|
+
resolvedScope: OperatorContextScope;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Read context for the resolver. All fields optional; the resolver
|
|
138
|
+
* picks the most-specific applicable binding.
|
|
139
|
+
*/
|
|
140
|
+
export interface OperatorContextReadContext {
|
|
141
|
+
rigId?: string;
|
|
142
|
+
workstreamId?: string;
|
|
143
|
+
qitemId?: string;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=rig-policy-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-policy-types.d.ts","sourceRoot":"","sources":["../../../src/domain/rig-policy/rig-policy-types.ts"],"names":[],"mappings":"AAiBA;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3F,eAAO,MAAM,sBAAsB,gEAOgB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC;AAElF,eAAO,MAAM,uBAAuB,wDAKgB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAKlE,CAAC;AAIF,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,iCAAiC,GACjC,eAAe,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,iBAAiB,GACjB,8BAA8B,CAAC;AAEnC,eAAO,MAAM,+BAA+B,wEAIW,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,wBAAwB,GACxB,4BAA4B,GAC5B,iCAAiC,CAAC;AAEtC,eAAO,MAAM,WAAW,8GAKyB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,aAAa,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,EAAE,eAAe,CAAC;IAClC,aAAa,EAAE,YAAY,CAAC;IAC5B,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,oBAAoB,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX;;sDAEkD;IAClD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,yBAAyB,CAAC;IAClC,uFAAuF;IACvF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,0BAA0B,CAAC;IACpC,oEAAoE;IACpE,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Slice 09 — Rig Policy Primitive (OPR.0.3.2.9).
|
|
2
|
+
//
|
|
3
|
+
// Typed graduation of the operator-context-mode-system v0 doctrine. The
|
|
4
|
+
// convention at conventions/operator-context-mode-system/README.md is
|
|
5
|
+
// the FROZEN spec; types below mirror it as closed enums + a 10-field
|
|
6
|
+
// schema. None of these fields may be silently merged or dropped — the
|
|
7
|
+
// validator enforces field-set integrity.
|
|
8
|
+
//
|
|
9
|
+
// GATE-ZERO (HG-SAFE): this primitive is permission-ADJACENT but NEVER
|
|
10
|
+
// permission-modifying. `permission_prompt_posture` is a descriptive
|
|
11
|
+
// operator-set ergonomic hint. The enum below is STRUCTURALLY
|
|
12
|
+
// incapable of expressing auto-accept: there is no auto-accept member
|
|
13
|
+
// in the union, and the validator further rejects unknown values. Any
|
|
14
|
+
// future contributor who tries to add an auto-accept value here MUST
|
|
15
|
+
// also amend the permission-posture convention + safety policy in the
|
|
16
|
+
// FROZEN contract — review will reject otherwise.
|
|
17
|
+
export const OPERATOR_CONTEXT_MODES = [
|
|
18
|
+
"sleep",
|
|
19
|
+
"desk",
|
|
20
|
+
"mobile",
|
|
21
|
+
"away",
|
|
22
|
+
"focus",
|
|
23
|
+
"debug",
|
|
24
|
+
];
|
|
25
|
+
export const OPERATOR_CONTEXT_SCOPES = [
|
|
26
|
+
"global_host",
|
|
27
|
+
"rig",
|
|
28
|
+
"workstream",
|
|
29
|
+
"qitem",
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* Scope specificity ranks; higher number = more specific. Used by the
|
|
33
|
+
* store's effective-mode resolver. NOT operator-facing.
|
|
34
|
+
*/
|
|
35
|
+
export const SCOPE_SPECIFICITY = {
|
|
36
|
+
global_host: 0,
|
|
37
|
+
rig: 1,
|
|
38
|
+
workstream: 2,
|
|
39
|
+
qitem: 3,
|
|
40
|
+
};
|
|
41
|
+
export const SAFE_PERMISSION_PROMPT_POSTURES = [
|
|
42
|
+
"normal",
|
|
43
|
+
"batch_for_human",
|
|
44
|
+
"do_not_prompt_unless_blocked",
|
|
45
|
+
];
|
|
46
|
+
export const STALE_RULES = [
|
|
47
|
+
"none",
|
|
48
|
+
"re_confirm_on_long_gap",
|
|
49
|
+
"re_confirm_on_day_boundary",
|
|
50
|
+
"re_confirm_on_observed_conflict",
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=rig-policy-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-policy-types.js","sourceRoot":"","sources":["../../../src/domain/rig-policy/rig-policy-types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,uEAAuE;AACvE,0CAA0C;AAC1C,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,8DAA8D;AAC9D,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,sEAAsE;AACtE,kDAAkD;AAWlD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;CAC0C,CAAC;AASpD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,KAAK;IACL,YAAY;IACZ,OAAO;CAC2C,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE,WAAW,EAAE,CAAC;IACd,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;CACT,CAAC;AAiDF,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,QAAQ;IACR,iBAAiB;IACjB,8BAA8B;CACuB,CAAC;AAwBxD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,wBAAwB;IACxB,4BAA4B;IAC5B,iCAAiC;CACc,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type OperatorContextMode, type OperatorContextModeRecord } from "./rig-policy-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The 10 required fields of an OperatorContextModeRecord. Used by
|
|
4
|
+
* validateRecord to enumerate field-set integrity (HG-2) — both
|
|
5
|
+
* presence and exhaustiveness.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: `mode` is NOT in this list. Mode is the binding selector
|
|
8
|
+
* (Component 2 vocabulary), not part of the Component-3 settings
|
|
9
|
+
* record. The store/route validate mode separately at the binding
|
|
10
|
+
* boundary; this validator enforces only the 10 Component-3 fields.
|
|
11
|
+
*/
|
|
12
|
+
export declare const REQUIRED_RECORD_FIELDS: readonly (keyof OperatorContextModeRecord)[];
|
|
13
|
+
export interface ValidationOk {
|
|
14
|
+
ok: true;
|
|
15
|
+
record: OperatorContextModeRecord;
|
|
16
|
+
}
|
|
17
|
+
export interface ValidationError {
|
|
18
|
+
ok: false;
|
|
19
|
+
errors: string[];
|
|
20
|
+
}
|
|
21
|
+
export type ValidationResult = ValidationOk | ValidationError;
|
|
22
|
+
/**
|
|
23
|
+
* Validate a candidate record against the FROZEN contract. Returns
|
|
24
|
+
* the typed record on success OR a list of 3-part error messages on
|
|
25
|
+
* failure (one per offending field; report all at once so an
|
|
26
|
+
* operator doesn't have to retry per error).
|
|
27
|
+
*
|
|
28
|
+
* Strict: any field outside REQUIRED_RECORD_FIELDS is rejected
|
|
29
|
+
* (HG-2 — field-set integrity; "no merged/dropped fields").
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateRecord(raw: unknown): ValidationResult;
|
|
32
|
+
/**
|
|
33
|
+
* Validate an operator-supplied mode name. Mode lives outside the
|
|
34
|
+
* 10-field record (Component 2 vocabulary, not Component 3 settings).
|
|
35
|
+
* The route + store call this at the binding boundary; the
|
|
36
|
+
* disambiguator below (for invocation parsing) is separate.
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateModeName(raw: unknown): {
|
|
39
|
+
ok: true;
|
|
40
|
+
mode: OperatorContextMode;
|
|
41
|
+
} | {
|
|
42
|
+
ok: false;
|
|
43
|
+
error: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Disambiguate operator-supplied mode input. Per convention §Component 4
|
|
47
|
+
* "Bare-Word Disambiguation":
|
|
48
|
+
*
|
|
49
|
+
* - A bare word that is one of the six reserved modes → invocation
|
|
50
|
+
* - An explicit `mode:` prefix → invocation
|
|
51
|
+
* - A word embedded in a sentence → NOT invocation (caller treats as topic)
|
|
52
|
+
*
|
|
53
|
+
* Returns the canonical mode name when the input is unambiguously an
|
|
54
|
+
* invocation; null otherwise. Caller emits a clarification question
|
|
55
|
+
* for null+bare-multi-word inputs (per convention "ask once").
|
|
56
|
+
*/
|
|
57
|
+
export declare function disambiguateModeInvocation(rawInput: string): OperatorContextMode | null;
|
|
58
|
+
//# sourceMappingURL=rig-policy-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-policy-validator.d.ts","sourceRoot":"","sources":["../../../src/domain/rig-policy/rig-policy-validator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAQ/B,MAAM,uBAAuB,CAAC;AAwB/B;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,MAAM,yBAAyB,CAAC,EAW9E,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,eAAe,CAAC;AAuC9D;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAgK7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQrH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAyBvF"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
// Slice 09 — runtime validator for OperatorContextModeRecord input.
|
|
2
|
+
//
|
|
3
|
+
// The type system (rig-policy-types.ts) blocks invalid values at
|
|
4
|
+
// compile time when callers go through the typed surface. This
|
|
5
|
+
// validator is the defense for inputs that bypass types: JSON file
|
|
6
|
+
// reads, HTTP request bodies, env-var-derived configuration, CLI
|
|
7
|
+
// argument parsing, and migrations from older record shapes.
|
|
8
|
+
//
|
|
9
|
+
// HG-2: every record must carry all 10 fields. Reject missing/extra.
|
|
10
|
+
// HG-1 / HG-SAFE / HG-8: closed enums; auto-accept rejected; no
|
|
11
|
+
// silent-switch value.
|
|
12
|
+
//
|
|
13
|
+
// Error format follows the 3-part convention from the velocity team:
|
|
14
|
+
// what failed / what's allowed / what to do
|
|
15
|
+
// so an operator gets a useful CLI message.
|
|
16
|
+
import { OPERATOR_CONTEXT_MODES, OPERATOR_CONTEXT_SCOPES, SAFE_PERMISSION_PROMPT_POSTURES, STALE_RULES, } from "./rig-policy-types.js";
|
|
17
|
+
const ALLOWED_AUTONOMY_SCOPES = [
|
|
18
|
+
"pre_approved_only",
|
|
19
|
+
"bounded_continuation",
|
|
20
|
+
"full_autonomy_within_workstream",
|
|
21
|
+
"full_autonomy",
|
|
22
|
+
];
|
|
23
|
+
const ALLOWED_HEARTBEAT_CADENCES = ["sparse", "normal", "fast"];
|
|
24
|
+
const ALLOWED_INSPECTION_DEPTHS = ["surface", "normal", "forensic"];
|
|
25
|
+
const ALLOWED_UPDATE_DETAILS = ["compact", "normal", "verbose"];
|
|
26
|
+
const ALLOWED_ESCALATION_THRESHOLDS = [
|
|
27
|
+
"low",
|
|
28
|
+
"normal",
|
|
29
|
+
"high",
|
|
30
|
+
"blocker_only",
|
|
31
|
+
];
|
|
32
|
+
const ALLOWED_CONCURRENCY_LIMITS = ["serial", "2", "4", "unlimited"];
|
|
33
|
+
/**
|
|
34
|
+
* The 10 required fields of an OperatorContextModeRecord. Used by
|
|
35
|
+
* validateRecord to enumerate field-set integrity (HG-2) — both
|
|
36
|
+
* presence and exhaustiveness.
|
|
37
|
+
*
|
|
38
|
+
* NOTE: `mode` is NOT in this list. Mode is the binding selector
|
|
39
|
+
* (Component 2 vocabulary), not part of the Component-3 settings
|
|
40
|
+
* record. The store/route validate mode separately at the binding
|
|
41
|
+
* boundary; this validator enforces only the 10 Component-3 fields.
|
|
42
|
+
*/
|
|
43
|
+
export const REQUIRED_RECORD_FIELDS = [
|
|
44
|
+
"autonomy_scope",
|
|
45
|
+
"heartbeat_cadence",
|
|
46
|
+
"inspection_depth",
|
|
47
|
+
"update_detail",
|
|
48
|
+
"escalation_threshold",
|
|
49
|
+
"concurrency_limit",
|
|
50
|
+
"permission_prompt_posture",
|
|
51
|
+
"scope",
|
|
52
|
+
"expiry_or_stale_rule",
|
|
53
|
+
"evidence_citation",
|
|
54
|
+
];
|
|
55
|
+
function threePart(failed, allowed, recovery) {
|
|
56
|
+
return `${failed}. Allowed: ${allowed}. ${recovery}`;
|
|
57
|
+
}
|
|
58
|
+
function isPlainObject(v) {
|
|
59
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
60
|
+
}
|
|
61
|
+
function checkEnum(fieldName, value, allowed, errors) {
|
|
62
|
+
if (typeof value !== "string") {
|
|
63
|
+
errors.push(threePart(`${fieldName} is not a string (got ${typeof value})`, allowed.join(", "), `Set ${fieldName} to one of the allowed values.`));
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
if (!allowed.includes(value)) {
|
|
67
|
+
errors.push(threePart(`${fieldName}="${value}" is not a recognized value`, allowed.join(", "), `Set ${fieldName} to one of the allowed values.`));
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Validate a candidate record against the FROZEN contract. Returns
|
|
74
|
+
* the typed record on success OR a list of 3-part error messages on
|
|
75
|
+
* failure (one per offending field; report all at once so an
|
|
76
|
+
* operator doesn't have to retry per error).
|
|
77
|
+
*
|
|
78
|
+
* Strict: any field outside REQUIRED_RECORD_FIELDS is rejected
|
|
79
|
+
* (HG-2 — field-set integrity; "no merged/dropped fields").
|
|
80
|
+
*/
|
|
81
|
+
export function validateRecord(raw) {
|
|
82
|
+
const errors = [];
|
|
83
|
+
if (!isPlainObject(raw)) {
|
|
84
|
+
return {
|
|
85
|
+
ok: false,
|
|
86
|
+
errors: [
|
|
87
|
+
threePart("Record is not an object", "an object with the 10 required fields", "See conventions/operator-context-mode-system/README.md §Component 3 for the schema."),
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// HG-2 — field-set integrity. Reject missing AND extra fields. The
|
|
92
|
+
// convention says "All ten fields MUST be present in any descendant
|
|
93
|
+
// that publishes a current-mode artifact. None may be silently
|
|
94
|
+
// merged or dropped."
|
|
95
|
+
for (const field of REQUIRED_RECORD_FIELDS) {
|
|
96
|
+
if (!(field in raw)) {
|
|
97
|
+
errors.push(threePart(`Missing required field "${field}"`, REQUIRED_RECORD_FIELDS.join(", "), `Add the field to the record. See convention §Component 3.`));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const requiredSet = new Set(REQUIRED_RECORD_FIELDS);
|
|
101
|
+
for (const key of Object.keys(raw)) {
|
|
102
|
+
if (!requiredSet.has(key)) {
|
|
103
|
+
errors.push(threePart(`Unknown field "${key}"`, REQUIRED_RECORD_FIELDS.join(", "), `Drop the unknown field. The schema is closed at v0; an extension requires a Mode 1.5 amendment.`));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// If we already failed field-set integrity, return early so the
|
|
107
|
+
// operator sees only the structural error and not cascade per-field
|
|
108
|
+
// noise.
|
|
109
|
+
if (errors.length > 0)
|
|
110
|
+
return { ok: false, errors };
|
|
111
|
+
const autonomy_scope = checkEnum("autonomy_scope", raw["autonomy_scope"], ALLOWED_AUTONOMY_SCOPES, errors);
|
|
112
|
+
const heartbeat_cadence = checkEnum("heartbeat_cadence", raw["heartbeat_cadence"], ALLOWED_HEARTBEAT_CADENCES, errors);
|
|
113
|
+
const inspection_depth = checkEnum("inspection_depth", raw["inspection_depth"], ALLOWED_INSPECTION_DEPTHS, errors);
|
|
114
|
+
const update_detail = checkEnum("update_detail", raw["update_detail"], ALLOWED_UPDATE_DETAILS, errors);
|
|
115
|
+
const escalation_threshold = checkEnum("escalation_threshold", raw["escalation_threshold"], ALLOWED_ESCALATION_THRESHOLDS, errors);
|
|
116
|
+
const concurrency_limit = checkEnum("concurrency_limit", raw["concurrency_limit"], ALLOWED_CONCURRENCY_LIMITS, errors);
|
|
117
|
+
// HG-SAFE (runtime) — the type system blocks auto-accept at
|
|
118
|
+
// compile time; this branch rejects it at runtime for inputs that
|
|
119
|
+
// bypass typing (JSON / env / HTTP body). The validator does NOT
|
|
120
|
+
// tolerate any "auto*" / "yes_to_all" / etc. value; it accepts
|
|
121
|
+
// EXACTLY the three SAFE values.
|
|
122
|
+
const permission_prompt_posture = checkEnum("permission_prompt_posture", raw["permission_prompt_posture"], SAFE_PERMISSION_PROMPT_POSTURES, errors);
|
|
123
|
+
const scope = checkEnum("scope", raw["scope"], OPERATOR_CONTEXT_SCOPES, errors);
|
|
124
|
+
const expiry_or_stale_rule = checkEnum("expiry_or_stale_rule", raw["expiry_or_stale_rule"], STALE_RULES, errors);
|
|
125
|
+
const evidence_citation_raw = raw["evidence_citation"];
|
|
126
|
+
if (typeof evidence_citation_raw !== "string") {
|
|
127
|
+
errors.push(threePart(`evidence_citation is not a string (got ${typeof evidence_citation_raw})`, "a non-empty source-citation string (e.g., qitem id, file path, chatroom topic)", "Provide a brief citation per convention §Citation Rules."));
|
|
128
|
+
}
|
|
129
|
+
else if (evidence_citation_raw.trim().length === 0) {
|
|
130
|
+
errors.push(threePart("evidence_citation is empty", "a non-empty source-citation string", "Provide a brief citation per convention §Citation Rules."));
|
|
131
|
+
}
|
|
132
|
+
if (errors.length > 0
|
|
133
|
+
|| autonomy_scope === null
|
|
134
|
+
|| heartbeat_cadence === null
|
|
135
|
+
|| inspection_depth === null
|
|
136
|
+
|| update_detail === null
|
|
137
|
+
|| escalation_threshold === null
|
|
138
|
+
|| concurrency_limit === null
|
|
139
|
+
|| permission_prompt_posture === null
|
|
140
|
+
|| scope === null
|
|
141
|
+
|| expiry_or_stale_rule === null) {
|
|
142
|
+
return { ok: false, errors };
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
ok: true,
|
|
146
|
+
record: {
|
|
147
|
+
autonomy_scope,
|
|
148
|
+
heartbeat_cadence,
|
|
149
|
+
inspection_depth,
|
|
150
|
+
update_detail,
|
|
151
|
+
escalation_threshold,
|
|
152
|
+
concurrency_limit,
|
|
153
|
+
permission_prompt_posture,
|
|
154
|
+
scope,
|
|
155
|
+
expiry_or_stale_rule,
|
|
156
|
+
evidence_citation: evidence_citation_raw.trim(),
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Validate an operator-supplied mode name. Mode lives outside the
|
|
162
|
+
* 10-field record (Component 2 vocabulary, not Component 3 settings).
|
|
163
|
+
* The route + store call this at the binding boundary; the
|
|
164
|
+
* disambiguator below (for invocation parsing) is separate.
|
|
165
|
+
*/
|
|
166
|
+
export function validateModeName(raw) {
|
|
167
|
+
if (typeof raw !== "string") {
|
|
168
|
+
return { ok: false, error: threePart(`mode is not a string (got ${typeof raw})`, OPERATOR_CONTEXT_MODES.join(", "), "Provide one of the six reserved mode names.") };
|
|
169
|
+
}
|
|
170
|
+
if (!OPERATOR_CONTEXT_MODES.includes(raw)) {
|
|
171
|
+
return { ok: false, error: threePart(`mode="${raw}" is not a recognized mode name`, OPERATOR_CONTEXT_MODES.join(", "), "Provide one of the six reserved mode names. See convention §Component 2.") };
|
|
172
|
+
}
|
|
173
|
+
return { ok: true, mode: raw };
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Disambiguate operator-supplied mode input. Per convention §Component 4
|
|
177
|
+
* "Bare-Word Disambiguation":
|
|
178
|
+
*
|
|
179
|
+
* - A bare word that is one of the six reserved modes → invocation
|
|
180
|
+
* - An explicit `mode:` prefix → invocation
|
|
181
|
+
* - A word embedded in a sentence → NOT invocation (caller treats as topic)
|
|
182
|
+
*
|
|
183
|
+
* Returns the canonical mode name when the input is unambiguously an
|
|
184
|
+
* invocation; null otherwise. Caller emits a clarification question
|
|
185
|
+
* for null+bare-multi-word inputs (per convention "ask once").
|
|
186
|
+
*/
|
|
187
|
+
export function disambiguateModeInvocation(rawInput) {
|
|
188
|
+
const trimmed = rawInput.trim();
|
|
189
|
+
if (trimmed.length === 0)
|
|
190
|
+
return null;
|
|
191
|
+
// Explicit prefix wins.
|
|
192
|
+
const prefixMatch = trimmed.match(/^mode\s*:\s*(\S+)/i);
|
|
193
|
+
if (prefixMatch) {
|
|
194
|
+
const candidate = prefixMatch[1].toLowerCase();
|
|
195
|
+
if (OPERATOR_CONTEXT_MODES.includes(candidate)) {
|
|
196
|
+
return candidate;
|
|
197
|
+
}
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
// Bare-word: exactly one word AND it's a reserved mode.
|
|
201
|
+
if (/^\S+$/.test(trimmed)) {
|
|
202
|
+
const lower = trimmed.toLowerCase();
|
|
203
|
+
if (OPERATOR_CONTEXT_MODES.includes(lower)) {
|
|
204
|
+
return lower;
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
// Embedded — let the caller ask.
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=rig-policy-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rig-policy-validator.js","sourceRoot":"","sources":["../../../src/domain/rig-policy/rig-policy-validator.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,mEAAmE;AACnE,iEAAiE;AACjE,6DAA6D;AAC7D,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,uBAAuB;AACvB,EAAE;AACF,qEAAqE;AACrE,8CAA8C;AAC9C,4CAA4C;AAE5C,OAAO,EAYL,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,MAAM,uBAAuB,GAA6B;IACxD,mBAAmB;IACnB,sBAAsB;IACtB,iCAAiC;IACjC,eAAe;CAChB,CAAC;AAEF,MAAM,0BAA0B,GAAgC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7F,MAAM,yBAAyB,GAA+B,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEhG,MAAM,sBAAsB,GAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEzF,MAAM,6BAA6B,GAAmC;IACpE,KAAK;IACL,QAAQ;IACR,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,0BAA0B,GAAgC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AAElG;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiD;IAClF,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;IACnB,2BAA2B;IAC3B,OAAO;IACP,sBAAsB;IACtB,mBAAmB;CACpB,CAAC;AAcF,SAAS,SAAS,CAAC,MAAc,EAAE,OAAe,EAAE,QAAgB;IAClE,OAAO,GAAG,MAAM,cAAc,OAAO,KAAK,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAChB,SAAiB,EACjB,KAAc,EACd,OAAqB,EACrB,MAAgB;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,SAAS,CACP,GAAG,SAAS,yBAAyB,OAAO,KAAK,GAAG,EACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAClB,OAAO,SAAS,gCAAgC,CACjD,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAE,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,SAAS,CACP,GAAG,SAAS,KAAK,KAAK,6BAA6B,EACnD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAClB,OAAO,SAAS,gCAAgC,CACjD,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,SAAS,CACP,yBAAyB,EACzB,uCAAuC,EACvC,qFAAqF,CACtF;aACF;SACF,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,+DAA+D;IAC/D,sBAAsB;IACtB,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,SAAS,CACP,2BAA2B,KAAK,GAAG,EACnC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC,2DAA2D,CAC5D,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CACT,SAAS,CACP,kBAAkB,GAAG,GAAG,EACxB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC,iGAAiG,CAClG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,oEAAoE;IACpE,SAAS;IACT,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAEpD,MAAM,cAAc,GAAG,SAAS,CAC9B,gBAAgB,EAChB,GAAG,CAAC,gBAAgB,CAAC,EACrB,uBAAuB,EACvB,MAAM,CACP,CAAC;IACF,MAAM,iBAAiB,GAAG,SAAS,CACjC,mBAAmB,EACnB,GAAG,CAAC,mBAAmB,CAAC,EACxB,0BAA0B,EAC1B,MAAM,CACP,CAAC;IACF,MAAM,gBAAgB,GAAG,SAAS,CAChC,kBAAkB,EAClB,GAAG,CAAC,kBAAkB,CAAC,EACvB,yBAAyB,EACzB,MAAM,CACP,CAAC;IACF,MAAM,aAAa,GAAG,SAAS,CAC7B,eAAe,EACf,GAAG,CAAC,eAAe,CAAC,EACpB,sBAAsB,EACtB,MAAM,CACP,CAAC;IACF,MAAM,oBAAoB,GAAG,SAAS,CACpC,sBAAsB,EACtB,GAAG,CAAC,sBAAsB,CAAC,EAC3B,6BAA6B,EAC7B,MAAM,CACP,CAAC;IACF,MAAM,iBAAiB,GAAG,SAAS,CACjC,mBAAmB,EACnB,GAAG,CAAC,mBAAmB,CAAC,EACxB,0BAA0B,EAC1B,MAAM,CACP,CAAC;IAEF,4DAA4D;IAC5D,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,iCAAiC;IACjC,MAAM,yBAAyB,GAAG,SAAS,CACzC,2BAA2B,EAC3B,GAAG,CAAC,2BAA2B,CAAC,EAChC,+BAA+B,EAC/B,MAAM,CACP,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,CACrB,OAAO,EACP,GAAG,CAAC,OAAO,CAAC,EACZ,uBAAuB,EACvB,MAAM,CACP,CAAC;IAEF,MAAM,oBAAoB,GAAG,SAAS,CACpC,sBAAsB,EACtB,GAAG,CAAC,sBAAsB,CAAC,EAC3B,WAAW,EACX,MAAM,CACP,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvD,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CACT,SAAS,CACP,0CAA0C,OAAO,qBAAqB,GAAG,EACzE,gFAAgF,EAChF,0DAA0D,CAC3D,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CACT,SAAS,CACP,4BAA4B,EAC5B,oCAAoC,EACpC,0DAA0D,CAC3D,CACF,CAAC;IACJ,CAAC;IAED,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;WACd,cAAc,KAAK,IAAI;WACvB,iBAAiB,KAAK,IAAI;WAC1B,gBAAgB,KAAK,IAAI;WACzB,aAAa,KAAK,IAAI;WACtB,oBAAoB,KAAK,IAAI;WAC7B,iBAAiB,KAAK,IAAI;WAC1B,yBAAyB,KAAK,IAAI;WAClC,KAAK,KAAK,IAAI;WACd,oBAAoB,KAAK,IAAI,EAChC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,cAAc;YACd,iBAAiB;YACjB,gBAAgB;YAChB,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,yBAAyB;YACzB,KAAK;YACL,oBAAoB;YACpB,iBAAiB,EAAG,qBAAgC,CAAC,IAAI,EAAE;SAC5D;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,6BAA6B,OAAO,GAAG,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,6CAA6C,CAAC,EAAE,CAAC;IACvK,CAAC;IACD,IAAI,CAAE,sBAA4C,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,GAAG,iCAAiC,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,0EAA0E,CAAC,EAAE,CAAC;IACvM,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAA0B,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,wBAAwB;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;QAChD,IAAK,sBAA4C,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,OAAO,SAAgC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAK,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,KAA4B,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -90,7 +90,7 @@ export type MaterializeOutcome = {
|
|
|
90
90
|
export interface LaunchMaterializedNodeResult {
|
|
91
91
|
logicalId: string;
|
|
92
92
|
nodeId: string;
|
|
93
|
-
status: "launched" | "failed";
|
|
93
|
+
status: "launched" | "failed" | "attention_required";
|
|
94
94
|
error?: string;
|
|
95
95
|
sessionName?: string;
|
|
96
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rigspec-instantiator.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rigspec-instantiator.d.ts","sourceRoot":"","sources":["../../src/domain/rigspec-instantiator.ts"],"names":[],"mappings":"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"}
|