@openrig/cli 0.5.2 → 0.5.4
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 +1 -1
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/README.md +1 -1
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +36 -0
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +27 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +152 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +35 -3
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +8 -95
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +63 -20
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +6 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +28 -2
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +42 -52
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +26 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -2
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +235 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +31 -1
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +211 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +8 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +31 -9
- package/daemon/context-packs/skills/core/agent-starters/SKILL.md +132 -0
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +112 -0
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/attention-queue/SKILL.md +264 -0
- package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +195 -0
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/human-in-the-loop/SKILL.md +104 -0
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +378 -0
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-cmux/SKILL.md +81 -0
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +153 -0
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +460 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/rig-lifecycle/SKILL.md +127 -0
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +160 -0
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/specification-system/SKILL.md +103 -0
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/watchdog/SKILL.md +126 -0
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/backlog-capture/SKILL.md +43 -0
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/context-builder/SKILL.md +87 -0
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +84 -0
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/office-hours/SKILL.md +129 -0
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/plan-review/SKILL.md +98 -0
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +113 -0
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +76 -0
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +156 -0
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +307 -0
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/oversight-team/SKILL.md +106 -0
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +213 -0
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +189 -0
- package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +40 -0
- package/daemon/context-packs/skills/process/agent-browser/SKILL.md +427 -0
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +13 -0
- package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +48 -0
- package/daemon/context-packs/skills/process/brainstorming/SKILL.md +107 -0
- package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/context-engineering/SKILL.md +479 -0
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/dogfood/SKILL.md +225 -0
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +13 -0
- package/daemon/context-packs/skills/process/dogfood/references/issue-taxonomy.md +109 -0
- package/daemon/context-packs/skills/process/dogfood/templates/dogfood-report-template.md +53 -0
- package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +56 -0
- package/daemon/context-packs/skills/process/executing-plans/SKILL.md +94 -0
- package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/frontend-design/LICENSE.txt +177 -0
- package/daemon/context-packs/skills/process/frontend-design/SKILL.md +50 -0
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +301 -0
- package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting.md +115 -0
- package/daemon/context-packs/skills/process/systematic-debugging/defense-in-depth.md +122 -0
- package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +63 -0
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +19 -0
- package/daemon/context-packs/skills/process/systematic-debugging/root-cause-tracing.md +169 -0
- package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +385 -0
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/test-driven-development/testing-anti-patterns.md +299 -0
- package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +48 -0
- package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +106 -0
- package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +155 -0
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +52 -0
- package/daemon/context-packs/skills/process/writing-plans/SKILL.md +126 -0
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +11 -0
- package/daemon/context-packs/world/install/01-world-from-primitives.md +97 -0
- package/daemon/context-packs/world/install/02-permission-self-sleep.md +141 -0
- package/daemon/context-packs/world/install/03-what-this-is-for.md +86 -0
- package/daemon/context-packs/world/install/04-ontology.md +790 -0
- package/daemon/context-packs/world/install/05-harness-power-use.md +355 -0
- package/daemon/context-packs/world/install/06-a-competent-turn.md +225 -0
- package/daemon/context-packs/world/install/manifest.yaml +125 -0
- package/daemon/context-packs/world/install/reference-material.md +125 -0
- package/daemon/context-packs/world/install/what-you-can-do.md +416 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +7 -4
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +2 -2
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +41 -2
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +58 -18
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +18 -0
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/daemon/dist/adapters/yolo-mode.js +21 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/daemon-db-path.d.ts.map +1 -1
- package/daemon/dist/daemon-db-path.js +50 -2
- package/daemon/dist/daemon-db-path.js.map +1 -1
- package/daemon/dist/domain/codex-thread-id.d.ts +95 -0
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +171 -2
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
- package/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
- package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/profile-composer.js +125 -0
- package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
- package/daemon/dist/domain/markdown-address.d.ts +56 -0
- package/daemon/dist/domain/markdown-address.d.ts.map +1 -0
- package/daemon/dist/domain/markdown-address.js +188 -0
- package/daemon/dist/domain/markdown-address.js.map +1 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.js +6 -1
- package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.d.ts +16 -0
- package/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.js +175 -1
- package/daemon/dist/domain/plugin-discovery-service.js.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.d.ts +9 -5
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +101 -12
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/process-census.d.ts +25 -0
- package/daemon/dist/domain/process-census.d.ts.map +1 -0
- package/daemon/dist/domain/process-census.js +47 -0
- package/daemon/dist/domain/process-census.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +3 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +50 -2
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/reconciler.js +6 -1
- package/daemon/dist/domain/reconciler.js.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +64 -29
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +5 -26
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +31 -57
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +9 -0
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +13 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +71 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +19 -3
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/running-name-guard.d.ts +52 -0
- package/daemon/dist/domain/running-name-guard.d.ts.map +1 -0
- package/daemon/dist/domain/running-name-guard.js +34 -0
- package/daemon/dist/domain/running-name-guard.js.map +1 -0
- package/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
- package/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
- package/daemon/dist/domain/scope/logical-checkbox.js +65 -0
- package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +1 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +39 -23
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +22 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +32 -2
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +97 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-lifecycle-service.js +312 -0
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts +16 -5
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +155 -16
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/shell-classifier.d.ts +23 -0
- package/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
- package/daemon/dist/domain/shell-classifier.js +36 -0
- package/daemon/dist/domain/shell-classifier.js.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
- package/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
- package/daemon/dist/domain/spec-validation-advisory.js +38 -0
- package/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +38 -1
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
- package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
- package/daemon/dist/domain/topology-defaults-installer.js +92 -0
- package/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
- package/daemon/dist/domain/transcript-rotation.d.ts +4 -0
- package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-rotation.js +61 -3
- package/daemon/dist/domain/transcript-rotation.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +9 -2
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +39 -0
- 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 +10 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +39 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/daemon/dist/routes/context-packs.js +205 -0
- package/daemon/dist/routes/context-packs.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +29 -24
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +20 -6
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +69 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +55 -0
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +52 -39
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.js +21 -2
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/seat-recap-store-surface.d.ts +2 -0
- package/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
- package/daemon/dist/seat-recap-store-surface.js +6 -0
- package/daemon/dist/seat-recap-store-surface.js.map +1 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +37 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/chain-file-convention.md +115 -0
- package/daemon/docs/reference/legacy-topology-migration.md +53 -0
- package/daemon/docs/reference/refocus-channel.md +80 -0
- package/daemon/docs/reference/sdlc-conventions.md +24 -0
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +8 -0
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +72 -31
- package/daemon/specs/agents/shared/skills/pods/oversight-team/SKILL.md +106 -0
- package/daemon/specs/agents/shared/skills/process/context-engineering/SKILL.md +479 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +9 -0
- package/daemon/specs/rigs/launch/demo/project-example/README.md +25 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +19 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +6 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +7 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +31 -0
- package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +24 -0
- package/daemon/specs/rigs/preview/product-team/topology/rig/CRAFT.md +21 -0
- package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +50 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +13 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/orch1-lead/CRAFT.md +17 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r1/CRAFT.md +17 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r2/CRAFT.md +15 -0
- package/dist/build-info.js +3 -3
- package/dist/cli-error.js +1 -1
- package/dist/cli-error.js.map +1 -1
- package/dist/commands/broadcast.js +6 -0
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +8 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +363 -48
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +23 -2
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +10 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +70 -12
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +36 -13
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig.d.ts.map +1 -1
- package/dist/commands/rig.js +5 -0
- package/dist/commands/rig.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +88 -0
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +224 -20
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +25 -1
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +8 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +293 -30
- package/dist/commands/walk.js.map +1 -1
- package/dist/config-store.d.ts +15 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +35 -1
- package/dist/config-store.js.map +1 -1
- package/dist/lib/scope/logical-checkbox.d.ts +26 -0
- package/dist/lib/scope/logical-checkbox.d.ts.map +1 -0
- package/dist/lib/scope/logical-checkbox.js +65 -0
- package/dist/lib/scope/logical-checkbox.js.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts +22 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.js +24 -0
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
- package/dist/lib/topology-trace.d.ts +36 -0
- package/dist/lib/topology-trace.d.ts.map +1 -0
- package/dist/lib/topology-trace.js +91 -0
- package/dist/lib/topology-trace.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +7 -4
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +2 -2
- package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +41 -2
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +58 -18
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +21 -0
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/daemon-db-path.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/daemon-db-path.js +50 -2
- package/node_modules/@openrig/daemon/dist/daemon-db-path.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +95 -0
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +171 -2
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +125 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +56 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +188 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +8 -2
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.d.ts +16 -0
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js +175 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts +9 -5
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js +101 -12
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +25 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.js +47 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +50 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +31 -2
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +64 -29
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +5 -26
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js +31 -57
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +71 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +19 -3
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts +52 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js +34 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +65 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +39 -23
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +22 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +32 -2
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +97 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +312 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +16 -5
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +155 -16
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +23 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +36 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +10 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +38 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +38 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +92 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +61 -3
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +9 -2
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +10 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +39 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js +205 -0
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +29 -24
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js +20 -6
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +69 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js +55 -0
- package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.js +52 -39
- package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +21 -2
- package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +6 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +37 -6
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +6 -1
- package/package.json +1 -1
|
@@ -5,9 +5,16 @@
|
|
|
5
5
|
// shape with structured-error rejects on malformed input. Pure
|
|
6
6
|
// (no fs touches in the parser itself; caller hands in raw YAML).
|
|
7
7
|
import { parse as parseYaml } from "yaml";
|
|
8
|
-
import { ContextPackError } from "./context-pack-types.js";
|
|
8
|
+
import { ATOM_PRIORITIES, ATOM_PURPOSES, ATOM_REGIONS, ATOM_RUNTIMES, ATOM_SITUATIONS, ATOM_TAXONOMIES, ContextPackError, } from "./context-pack-types.js";
|
|
9
9
|
import { isSafePackVersion } from "./ref-safety.js";
|
|
10
|
-
|
|
10
|
+
import { AddressResolutionError, parseAddress } from "../markdown-address.js";
|
|
11
|
+
import { parseSourceRef, SourceResolutionError } from "./profile-source-resolver.js";
|
|
12
|
+
// Served as UTF-8 bundle text. `.sh`/`.ts` (OPR.0.5.3.7 R2) carry canonical skill
|
|
13
|
+
// helper assets the served prose references (e.g. find-polluter.sh,
|
|
14
|
+
// condition-based-waiting-example.ts) — text content, never executed. An unlisted
|
|
15
|
+
// suffix still rejects loud, so a genuinely new pack file type fails at ingest
|
|
16
|
+
// rather than serving a silently-incomplete bundle.
|
|
17
|
+
const ALLOWED_FILE_SUFFIXES = [".md", ".markdown", ".yaml", ".yml", ".txt", ".sh", ".ts"];
|
|
11
18
|
export function parseManifest(rawYaml, sourcePath) {
|
|
12
19
|
let parsed;
|
|
13
20
|
try {
|
|
@@ -74,12 +81,237 @@ export function parseManifest(rawYaml, sourcePath) {
|
|
|
74
81
|
const estimatedTokens = typeof estimatedTokensRaw === "number" && Number.isFinite(estimatedTokensRaw)
|
|
75
82
|
? Math.max(0, Math.floor(estimatedTokensRaw))
|
|
76
83
|
: undefined;
|
|
84
|
+
const atoms = obj["atoms"] !== undefined ? parseAtoms(obj["atoms"], files, sourcePath) : undefined;
|
|
77
85
|
return {
|
|
78
86
|
name,
|
|
79
87
|
version,
|
|
80
88
|
...(purpose !== undefined ? { purpose } : {}),
|
|
81
89
|
files,
|
|
82
90
|
...(estimatedTokens !== undefined ? { estimatedTokens } : {}),
|
|
91
|
+
...(atoms !== undefined ? { atoms } : {}),
|
|
83
92
|
};
|
|
84
93
|
}
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
// OPR.0.5.3.5 mini-req 1 — install atoms. An atom is an ADDRESS plus
|
|
96
|
+
// composition metadata, never a new file: fresh/handover/post-compaction all
|
|
97
|
+
// compose addresses into the same bytes (mini-req 5 by construction). Every
|
|
98
|
+
// rule here fails LOUD with the atom's index and id — a malformed atom must
|
|
99
|
+
// stop ingest, never thin a later compose.
|
|
100
|
+
const MARKDOWN_SUFFIXES = [".md", ".markdown"];
|
|
101
|
+
const ATOM_ID = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
102
|
+
const ALLOWED_ATOM_KEYS = new Set([
|
|
103
|
+
"id", "address", "taxonomy", "regions", "situations", "purpose", "runtime", "order", "requires", "priority", "probe",
|
|
104
|
+
]);
|
|
105
|
+
// The typos worth a kindness (r1 F2): singular/plural slips on the fields whose
|
|
106
|
+
// silent loss is sharpest.
|
|
107
|
+
const ALLOWED_PROBE_KEYS = new Set(["prompt", "expect", "expectedPatterns", "rubric"]);
|
|
108
|
+
const NEAR_MISS_ATOM_KEYS = {
|
|
109
|
+
require: "requires", region: "regions", situation: "situations", probes: "probe",
|
|
110
|
+
};
|
|
111
|
+
function atomError(sourcePath, index, detail) {
|
|
112
|
+
return new ContextPackError("manifest_invalid", `manifest at ${sourcePath} atoms[${index}]: ${detail}`, { sourcePath, index });
|
|
113
|
+
}
|
|
114
|
+
function enumField(value, allowed, field, sourcePath, index) {
|
|
115
|
+
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
116
|
+
throw atomError(sourcePath, index, `'${field}' must be one of ${allowed.join(" | ")} (got: ${JSON.stringify(value)})`);
|
|
117
|
+
}
|
|
118
|
+
return value;
|
|
119
|
+
}
|
|
120
|
+
function parseAtoms(raw, files, sourcePath) {
|
|
121
|
+
if (!Array.isArray(raw)) {
|
|
122
|
+
throw new ContextPackError("manifest_invalid", `manifest at ${sourcePath} 'atoms' must be an array`, { sourcePath });
|
|
123
|
+
}
|
|
124
|
+
const declaredFiles = new Set(files.map((f) => f.path));
|
|
125
|
+
const atoms = [];
|
|
126
|
+
const seenIds = new Set();
|
|
127
|
+
for (let i = 0; i < raw.length; i++) {
|
|
128
|
+
const entry = raw[i];
|
|
129
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
|
|
130
|
+
throw atomError(sourcePath, i, "must be an object");
|
|
131
|
+
}
|
|
132
|
+
const a = entry;
|
|
133
|
+
// r1 F2: ingest knows the complete legal key set — an unknown key rejects
|
|
134
|
+
// LOUD. A `require:` typo silently dropping a dependency edge is the exact
|
|
135
|
+
// failure the field exists to prevent; every REQUIRED field failing loud
|
|
136
|
+
// while a typo'd OPTIONAL one fails silent would break the module contract.
|
|
137
|
+
for (const key of Object.keys(a)) {
|
|
138
|
+
if (!ALLOWED_ATOM_KEYS.has(key)) {
|
|
139
|
+
const hint = NEAR_MISS_ATOM_KEYS[key];
|
|
140
|
+
throw atomError(sourcePath, i, `unknown field '${key}'${hint ? ` — did you mean '${hint}'?` : ""} (allowed: ${[...ALLOWED_ATOM_KEYS].join(", ")})`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const id = a["id"];
|
|
144
|
+
if (typeof id !== "string" || !ATOM_ID.test(id)) {
|
|
145
|
+
throw atomError(sourcePath, i, `'id' must be a stable slug matching [a-z0-9][a-z0-9-]{0,63} (got: ${JSON.stringify(id)})`);
|
|
146
|
+
}
|
|
147
|
+
if (seenIds.has(id))
|
|
148
|
+
throw atomError(sourcePath, i, `duplicate atom id '${id}' — ids are the join key for order/requires/probes`);
|
|
149
|
+
seenIds.add(id);
|
|
150
|
+
const addressRaw = a["address"];
|
|
151
|
+
if (typeof addressRaw !== "string" || addressRaw.length === 0) {
|
|
152
|
+
throw atomError(sourcePath, i, "'address' is required: file or file#H2-slug/H3-slug");
|
|
153
|
+
}
|
|
154
|
+
let parsedAddr;
|
|
155
|
+
try {
|
|
156
|
+
parsedAddr = parseAddress(addressRaw);
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
if (err instanceof AddressResolutionError)
|
|
160
|
+
throw atomError(sourcePath, i, `'address' is malformed — ${err.message}`);
|
|
161
|
+
throw err;
|
|
162
|
+
}
|
|
163
|
+
// Atom 4a — the pre-'#' ref carries its resolver kind (Q2-Amendment 1's
|
|
164
|
+
// one-grammar-two-resolvers ruling): a bare LIBRARY ref must be a declared
|
|
165
|
+
// pack file; a seat:/mission: TREE ref lives outside the pack by design
|
|
166
|
+
// (nothing must be library-homed to be composable), so it validates
|
|
167
|
+
// structurally here (unknown prefix / traversal reject loud) and resolves
|
|
168
|
+
// from configured roots at compose.
|
|
169
|
+
let sourceRef;
|
|
170
|
+
try {
|
|
171
|
+
sourceRef = parseSourceRef(parsedAddr.ref);
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
if (err instanceof SourceResolutionError)
|
|
175
|
+
throw atomError(sourcePath, i, `'address' — ${err.message}`);
|
|
176
|
+
throw err;
|
|
177
|
+
}
|
|
178
|
+
if (sourceRef.kind === "library" && !declaredFiles.has(parsedAddr.ref)) {
|
|
179
|
+
throw atomError(sourcePath, i, `'address' references '${parsedAddr.ref}', which is not a declared pack file — a library atom addresses INTO the pack's own files (tree sources use the seat:/mission: prefix)`);
|
|
180
|
+
}
|
|
181
|
+
if (parsedAddr.headerPath.length > 0 && !MARKDOWN_SUFFIXES.some((s) => sourceRef.rel.endsWith(s))) {
|
|
182
|
+
throw atomError(sourcePath, i, `'address' uses a header path on '${parsedAddr.ref}' — header addressing only applies to markdown files (${MARKDOWN_SUFFIXES.join(", ")})`);
|
|
183
|
+
}
|
|
184
|
+
const taxonomy = enumField(a["taxonomy"], ATOM_TAXONOMIES, "taxonomy", sourcePath, i);
|
|
185
|
+
const purpose = enumField(a["purpose"], ATOM_PURPOSES, "purpose", sourcePath, i);
|
|
186
|
+
const priority = enumField(a["priority"], ATOM_PRIORITIES, "priority", sourcePath, i);
|
|
187
|
+
const runtime = a["runtime"] === undefined ? "any" : enumField(a["runtime"], ATOM_RUNTIMES, "runtime", sourcePath, i);
|
|
188
|
+
const situationsRaw = a["situations"];
|
|
189
|
+
if (!Array.isArray(situationsRaw) || situationsRaw.length === 0) {
|
|
190
|
+
throw atomError(sourcePath, i, `'situations' must be a non-empty array of ${ATOM_SITUATIONS.join(" | ")} — it is the composition algebra's selector`);
|
|
191
|
+
}
|
|
192
|
+
const situations = situationsRaw.map((s) => enumField(s, ATOM_SITUATIONS, "situations", sourcePath, i));
|
|
193
|
+
let regions;
|
|
194
|
+
if (a["regions"] !== undefined) {
|
|
195
|
+
const regionsRaw = a["regions"];
|
|
196
|
+
if (!Array.isArray(regionsRaw))
|
|
197
|
+
throw atomError(sourcePath, i, "'regions' must be an array when present");
|
|
198
|
+
regions = regionsRaw.map((r) => enumField(r, ATOM_REGIONS, "regions", sourcePath, i));
|
|
199
|
+
}
|
|
200
|
+
const order = a["order"];
|
|
201
|
+
if (typeof order !== "number" || !Number.isInteger(order)) {
|
|
202
|
+
throw atomError(sourcePath, i, `'order' must be an integer — walks are ordered and absorption depends on sequence (got: ${JSON.stringify(order)})`);
|
|
203
|
+
}
|
|
204
|
+
let requires;
|
|
205
|
+
if (a["requires"] !== undefined) {
|
|
206
|
+
const requiresRaw = a["requires"];
|
|
207
|
+
if (!Array.isArray(requiresRaw) || requiresRaw.some((r) => typeof r !== "string")) {
|
|
208
|
+
throw atomError(sourcePath, i, "'requires' must be an array of atom ids when present");
|
|
209
|
+
}
|
|
210
|
+
requires = requiresRaw;
|
|
211
|
+
if (requires.includes(id))
|
|
212
|
+
throw atomError(sourcePath, i, `atom '${id}' requires itself`);
|
|
213
|
+
}
|
|
214
|
+
let probe;
|
|
215
|
+
if (a["probe"] !== undefined) {
|
|
216
|
+
const p = a["probe"];
|
|
217
|
+
if (!p || typeof p !== "object" || Array.isArray(p))
|
|
218
|
+
throw atomError(sourcePath, i, "'probe' must be an object { prompt, expect, expectedPatterns?, rubric? }");
|
|
219
|
+
const pr = p;
|
|
220
|
+
// Q3 bridge: the key gate extends INSIDE probe (the dispositioned Atom-2
|
|
221
|
+
// note landing at its recorded spot), and the shape reconciles with the
|
|
222
|
+
// harness's EvalCase — expectedPatterns/rubric are LEGAL here, so the
|
|
223
|
+
// natural mistake r1 predicted becomes the schema instead of silent loss.
|
|
224
|
+
for (const key of Object.keys(pr)) {
|
|
225
|
+
if (!ALLOWED_PROBE_KEYS.has(key)) {
|
|
226
|
+
throw atomError(sourcePath, i, `'probe' has unknown field '${key}'${key === "rubrics" ? " — did you mean 'rubric'?" : ""} (allowed: ${[...ALLOWED_PROBE_KEYS].join(", ")})`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (typeof pr["prompt"] !== "string" || pr["prompt"].length === 0 || typeof pr["expect"] !== "string" || pr["expect"].length === 0) {
|
|
230
|
+
throw atomError(sourcePath, i, "'probe' needs BOTH a natural 'prompt' and the 'expect'ed observable behavior — acceptance is changed behavior, never files delivered");
|
|
231
|
+
}
|
|
232
|
+
let expectedPatterns;
|
|
233
|
+
if (pr["expectedPatterns"] !== undefined) {
|
|
234
|
+
const eps = pr["expectedPatterns"];
|
|
235
|
+
if (!Array.isArray(eps) || eps.some((e) => typeof e !== "string")) {
|
|
236
|
+
throw atomError(sourcePath, i, "'probe.expectedPatterns' must be an array of regex source strings when present");
|
|
237
|
+
}
|
|
238
|
+
for (const src of eps) {
|
|
239
|
+
try {
|
|
240
|
+
new RegExp(src);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
throw atomError(sourcePath, i, `'probe.expectedPatterns' entry '${src}' is not a compilable regex source`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
expectedPatterns = eps;
|
|
247
|
+
}
|
|
248
|
+
if (pr["rubric"] !== undefined && typeof pr["rubric"] !== "string") {
|
|
249
|
+
throw atomError(sourcePath, i, "'probe.rubric' must be a string when present");
|
|
250
|
+
}
|
|
251
|
+
probe = {
|
|
252
|
+
prompt: pr["prompt"],
|
|
253
|
+
expect: pr["expect"],
|
|
254
|
+
...(expectedPatterns !== undefined ? { expectedPatterns } : {}),
|
|
255
|
+
...(pr["rubric"] !== undefined ? { rubric: pr["rubric"] } : {}),
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
atoms.push({
|
|
259
|
+
id,
|
|
260
|
+
address: addressRaw,
|
|
261
|
+
taxonomy,
|
|
262
|
+
...(regions !== undefined ? { regions } : {}),
|
|
263
|
+
situations,
|
|
264
|
+
purpose,
|
|
265
|
+
runtime,
|
|
266
|
+
order,
|
|
267
|
+
...(requires !== undefined ? { requires } : {}),
|
|
268
|
+
priority,
|
|
269
|
+
...(probe !== undefined ? { probe } : {}),
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
// Cross-atom edges, after all ids are known.
|
|
273
|
+
for (let i = 0; i < atoms.length; i++) {
|
|
274
|
+
for (const req of atoms[i].requires ?? []) {
|
|
275
|
+
if (!seenIds.has(req)) {
|
|
276
|
+
throw atomError(sourcePath, i, `atom '${atoms[i].id}' requires '${req}', which no atom declares`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// A requires CYCLE can never be closed over by any subset profile — reject at
|
|
281
|
+
// ingest with the cycle spelled out. The walk is ITERATIVE with an explicit
|
|
282
|
+
// stack (r1 F1): the recursive form threw a bare RangeError past ~5000 atoms —
|
|
283
|
+
// outside the ContextPackError channel this module promises — and depth is
|
|
284
|
+
// attacker-choosable (packs install from URLs, slice-07 R4); no recursion
|
|
285
|
+
// threshold is safe across Node versions/platforms, so there isn't one.
|
|
286
|
+
const state = new Map();
|
|
287
|
+
const byId = new Map(atoms.map((atom) => [atom.id, atom]));
|
|
288
|
+
for (const root of atoms) {
|
|
289
|
+
if (state.get(root.id) === "done")
|
|
290
|
+
continue;
|
|
291
|
+
// Each frame tracks how far through its requires list it has walked.
|
|
292
|
+
const stack = [{ id: root.id, next: 0 }];
|
|
293
|
+
state.set(root.id, "visiting");
|
|
294
|
+
while (stack.length > 0) {
|
|
295
|
+
const frame = stack[stack.length - 1];
|
|
296
|
+
const reqs = byId.get(frame.id).requires ?? [];
|
|
297
|
+
if (frame.next >= reqs.length) {
|
|
298
|
+
state.set(frame.id, "done");
|
|
299
|
+
stack.pop();
|
|
300
|
+
continue;
|
|
301
|
+
}
|
|
302
|
+
const req = reqs[frame.next++];
|
|
303
|
+
const s = state.get(req);
|
|
304
|
+
if (s === "done")
|
|
305
|
+
continue;
|
|
306
|
+
if (s === "visiting") {
|
|
307
|
+
const trail = stack.map((f) => f.id);
|
|
308
|
+
const cycle = [...trail.slice(trail.indexOf(req)), req].join(" -> ");
|
|
309
|
+
throw new ContextPackError("manifest_invalid", `manifest at ${sourcePath} atoms: requires cycle ${cycle} — no subset profile could ever close over it`, { sourcePath });
|
|
310
|
+
}
|
|
311
|
+
state.set(req, "visiting");
|
|
312
|
+
stack.push({ id: req, next: 0 });
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return atoms;
|
|
316
|
+
}
|
|
85
317
|
//# sourceMappingURL=manifest-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/domain/context-packs/manifest-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest-parser.js","sourceRoot":"","sources":["../../../src/domain/context-packs/manifest-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ContextPackManifest } from "./context-pack-types.js";
|
|
2
|
+
/** A plain eval-case object in the harness's declarative format. The harness's
|
|
3
|
+
* validateEvalCase is the authority on this shape; the bridge emits data. */
|
|
4
|
+
export type CompiledEvalCaseData = Record<string, unknown>;
|
|
5
|
+
/**
|
|
6
|
+
* Compile every probed atom of a manifest into behavior-category eval-case
|
|
7
|
+
* data. Atoms without probes are skipped (a probe is acceptance evidence,
|
|
8
|
+
* not an obligation). Case ids are namespaced by the pack ref so cases from
|
|
9
|
+
* multiple packs never collide in one harness run.
|
|
10
|
+
*
|
|
11
|
+
* The mapping, field by field:
|
|
12
|
+
* id <- <packRef>/<atomId>
|
|
13
|
+
* name <- the probe's expect (the observable-behavior contract
|
|
14
|
+
* IS the case's human name — what a grader reads first)
|
|
15
|
+
* category <- "behavior"
|
|
16
|
+
* prompt <- probe.prompt (the natural prompt, mini-req 2)
|
|
17
|
+
* expectedPatterns <- probe.expectedPatterns (the deterministic door leg;
|
|
18
|
+
* validated compilable at manifest ingest)
|
|
19
|
+
* rubric <- probe.rubric, else the expect prose (the judged leg
|
|
20
|
+
* always has at least the behavior contract to judge by)
|
|
21
|
+
*/
|
|
22
|
+
export interface CompiledProbeCases {
|
|
23
|
+
cases: CompiledEvalCaseData[];
|
|
24
|
+
/** Probes that could not become harness cases, WITH reasons — a bound the
|
|
25
|
+
* caller must surface (no silent caps): a probe without expectedPatterns
|
|
26
|
+
* has no deterministic-door leg, and the bridge refuses both to fabricate
|
|
27
|
+
* a pattern from prose and to lose the atom silently. */
|
|
28
|
+
skipped: Array<{
|
|
29
|
+
atomId: string;
|
|
30
|
+
reason: string;
|
|
31
|
+
}>;
|
|
32
|
+
}
|
|
33
|
+
export declare function compileAtomProbesToEvalCases(manifest: ContextPackManifest, packRef: string): CompiledProbeCases;
|
|
34
|
+
//# sourceMappingURL=probe-eval-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe-eval-bridge.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/probe-eval-bridge.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;8EAC8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;;;8DAG0D;IAC1D,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsB/G"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// OPR.0.5.3.5 Q3 harness bridge (mini-req 8, amended per desk ruling 9103302d):
|
|
2
|
+
// slice-05's behavior probes execute in the SAME live-model eval harness as
|
|
3
|
+
// slice-07's selection/loading cases, as the "behavior" case CATEGORY — one
|
|
4
|
+
// harness, one runner, one grading door; two runners would fork the eval
|
|
5
|
+
// convention itself (the drift class this release keeps killing).
|
|
6
|
+
//
|
|
7
|
+
// This bridge is DATA-SHAPED on purpose: it compiles atom probes (mini-req 1
|
|
8
|
+
// metadata) into plain eval-case objects that the harness validates through
|
|
9
|
+
// ITS OWN schema at load time — exactly how the authored YAML cases travel.
|
|
10
|
+
// No import from the harness's modules, so the product side and the
|
|
11
|
+
// test-system side stay decoupled by data (the schema's own stated design:
|
|
12
|
+
// "no cross-package TS import"), and the one-harness property is preserved
|
|
13
|
+
// by construction rather than by discipline.
|
|
14
|
+
export function compileAtomProbesToEvalCases(manifest, packRef) {
|
|
15
|
+
const cases = [];
|
|
16
|
+
const skipped = [];
|
|
17
|
+
for (const atom of manifest.atoms ?? []) {
|
|
18
|
+
if (!atom.probe)
|
|
19
|
+
continue;
|
|
20
|
+
if (!atom.probe.expectedPatterns || atom.probe.expectedPatterns.length === 0) {
|
|
21
|
+
skipped.push({
|
|
22
|
+
atomId: atom.id,
|
|
23
|
+
reason: "probe has no expectedPatterns — the harness's deterministic door requires at least one compilable pattern; author them on the atom's probe",
|
|
24
|
+
});
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
cases.push({
|
|
28
|
+
id: `${packRef}/${atom.id}`,
|
|
29
|
+
name: atom.probe.expect,
|
|
30
|
+
category: "behavior",
|
|
31
|
+
prompt: atom.probe.prompt,
|
|
32
|
+
expectedPatterns: atom.probe.expectedPatterns,
|
|
33
|
+
rubric: atom.probe.rubric ?? atom.probe.expect,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return { cases, skipped };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=probe-eval-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe-eval-bridge.js","sourceRoot":"","sources":["../../../src/domain/context-packs/probe-eval-bridge.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,oEAAoE;AACpE,2EAA2E;AAC3E,2EAA2E;AAC3E,6CAA6C;AAkC7C,MAAM,UAAU,4BAA4B,CAAC,QAA6B,EAAE,OAAe;IACzF,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,4IAA4I;aACrJ,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACzB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ContextPackAtom } from "./context-pack-types.js";
|
|
2
|
+
export declare class ProfileComposeError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export type ComposeSituation = "fresh" | "handover" | "post-compaction";
|
|
6
|
+
export type ComposeRuntime = "claude" | "codex";
|
|
7
|
+
export type SourceKind = "library" | "seat" | "mission";
|
|
8
|
+
export interface ComposeInput {
|
|
9
|
+
/** The one atom graph (possibly gathered across sources by the caller). */
|
|
10
|
+
atoms: ContextPackAtom[];
|
|
11
|
+
situation: ComposeSituation;
|
|
12
|
+
runtime: ComposeRuntime;
|
|
13
|
+
/** Fail-loud file reader keyed by the address's pre-`#` ref. */
|
|
14
|
+
readFile: (ref: string) => string;
|
|
15
|
+
/** The situation's token budget (D2 targets); omitted = no budget check. */
|
|
16
|
+
budgetTokens?: number;
|
|
17
|
+
/** Source labelling per atom (Q2-Amendment 1); defaults to "library". */
|
|
18
|
+
sourceKindFor?: (atom: ContextPackAtom) => SourceKind;
|
|
19
|
+
}
|
|
20
|
+
export interface ComposedPiece {
|
|
21
|
+
atomId: string;
|
|
22
|
+
address: string;
|
|
23
|
+
sourceKind: SourceKind;
|
|
24
|
+
order: number;
|
|
25
|
+
priority: ContextPackAtom["priority"];
|
|
26
|
+
/** The resolved bytes: the addressed span (Q1 full-span rule) or the whole file. */
|
|
27
|
+
text: string;
|
|
28
|
+
estimatedTokens: number;
|
|
29
|
+
}
|
|
30
|
+
export interface ComposedProfile {
|
|
31
|
+
situation: ComposeSituation;
|
|
32
|
+
runtime: ComposeRuntime;
|
|
33
|
+
pieces: ComposedPiece[];
|
|
34
|
+
totalEstimatedTokens: number;
|
|
35
|
+
/** Present ONLY when the budget binds: the report, never a truncation. */
|
|
36
|
+
budget?: {
|
|
37
|
+
limitTokens: number;
|
|
38
|
+
overageTokens: number;
|
|
39
|
+
/** What to drop FIRST, in drop order: optional, then recommended, then core;
|
|
40
|
+
* larger pieces first within a tier (the biggest cheap win leads). */
|
|
41
|
+
dropCandidates: Array<{
|
|
42
|
+
atomId: string;
|
|
43
|
+
priority: ContextPackAtom["priority"];
|
|
44
|
+
estimatedTokens: number;
|
|
45
|
+
}>;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare function composeProfile(input: ComposeInput): ComposedProfile;
|
|
49
|
+
//# sourceMappingURL=profile-composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-composer.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-composer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,UAAU,CAAC;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB;+EACuE;QACvE,cAAc,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC3G,CAAC;CACH;AAgBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAsFnE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// OPR.0.5.3.5 Atom 3 — the composition algebra (locked SPEC, founder refinement):
|
|
2
|
+
//
|
|
3
|
+
// FRESH = the base walk (atoms tagged fresh)
|
|
4
|
+
// HANDOVER = FRESH + the handover material (atoms tagged handover)
|
|
5
|
+
// POST-COMPACTION = the tagged subset of fresh + the handover material
|
|
6
|
+
//
|
|
7
|
+
// Every profile is CLOSED over requires (a subset profile must close — intake rule);
|
|
8
|
+
// the runtime filter runs per mini-req 3 (claude and codex are never assumed to have
|
|
9
|
+
// lost the same dimensions, so they compose different profiles from the SAME graph);
|
|
10
|
+
// each piece resolves through the Atom-1 address machinery and carries a per-piece
|
|
11
|
+
// SOURCE LABEL (Q2-Amendment 1: composition is multi-source by contract — library /
|
|
12
|
+
// seat tree / mission tree — and every assembled piece names its source; the caller's
|
|
13
|
+
// resolver decides the kind, this module labels). Budgets are evaluated AT COMPOSE
|
|
14
|
+
// and on overage REPORT the amount and the priority-ordered drop candidates —
|
|
15
|
+
// composition never silently truncates (mini-req 9; D2: budgets flag for review,
|
|
16
|
+
// never silently govern).
|
|
17
|
+
//
|
|
18
|
+
// PURE by contract, like the manifest parser: file text arrives through the caller's
|
|
19
|
+
// readFile so the same algebra serves library packs today and configured tree roots
|
|
20
|
+
// (seat/mission sources) when the wiring atom lands. Every failure is LOUD and names
|
|
21
|
+
// the atom — a compose stops rather than thinning the walk (the Q1 rationale).
|
|
22
|
+
import { estimateTokensFromBytes } from "./token-estimate.js";
|
|
23
|
+
import { AddressResolutionError, parseAddress, resolveAddress } from "../markdown-address.js";
|
|
24
|
+
export class ProfileComposeError extends Error {
|
|
25
|
+
constructor(message) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = "ProfileComposeError";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** Which situation tags select atoms for a profile, per the locked algebra. */
|
|
31
|
+
function selectionTags(situation) {
|
|
32
|
+
switch (situation) {
|
|
33
|
+
case "fresh":
|
|
34
|
+
return ["fresh"];
|
|
35
|
+
case "handover":
|
|
36
|
+
return ["fresh", "handover"];
|
|
37
|
+
case "post-compaction":
|
|
38
|
+
return ["post-compaction", "handover"];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const DROP_ORDER = { optional: 0, recommended: 1, core: 2 };
|
|
42
|
+
export function composeProfile(input) {
|
|
43
|
+
const { atoms, situation, runtime, readFile, budgetTokens, sourceKindFor } = input;
|
|
44
|
+
const byId = new Map(atoms.map((a) => [a.id, a]));
|
|
45
|
+
// 1. SELECT by situation tag, then filter by runtime (an "any" atom serves both).
|
|
46
|
+
const tags = selectionTags(situation);
|
|
47
|
+
const runtimeFits = (a) => a.runtime === "any" || a.runtime === runtime;
|
|
48
|
+
const selected = new Map();
|
|
49
|
+
for (const a of atoms) {
|
|
50
|
+
if (a.situations.some((s) => tags.includes(s)) && runtimeFits(a))
|
|
51
|
+
selected.set(a.id, a);
|
|
52
|
+
}
|
|
53
|
+
// 2. CLOSE over requires: a required atom joins the profile even when untagged.
|
|
54
|
+
// A dependency that exists but is excluded by the RUNTIME filter is a broken
|
|
55
|
+
// graph for this runtime — fail loud, never a quietly thinner walk.
|
|
56
|
+
const queue = [...selected.keys()];
|
|
57
|
+
while (queue.length > 0) {
|
|
58
|
+
const id = queue.pop();
|
|
59
|
+
for (const req of selected.get(id)?.requires ?? byId.get(id)?.requires ?? []) {
|
|
60
|
+
if (selected.has(req))
|
|
61
|
+
continue;
|
|
62
|
+
const dep = byId.get(req);
|
|
63
|
+
if (!dep) {
|
|
64
|
+
throw new ProfileComposeError(`atom '${id}' requires '${req}', which is not in the graph — the ${situation} profile cannot close.`);
|
|
65
|
+
}
|
|
66
|
+
if (!runtimeFits(dep)) {
|
|
67
|
+
throw new ProfileComposeError(`atom '${id}' requires '${req}', but '${req}' is declared runtime=${dep.runtime} and this compose targets runtime=${runtime} — ` +
|
|
68
|
+
`the closure would silently thin the ${situation} walk; fix the graph (retag '${req}' or drop the edge).`);
|
|
69
|
+
}
|
|
70
|
+
selected.set(req, dep);
|
|
71
|
+
queue.push(req);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// 3. ORDER the walk (stable: order, then id — absorption depends on sequence).
|
|
75
|
+
const walk = [...selected.values()].sort((x, y) => x.order - y.order || x.id.localeCompare(y.id));
|
|
76
|
+
// 4. RESOLVE every piece through the one address machinery; label its source.
|
|
77
|
+
const pieces = walk.map((a) => {
|
|
78
|
+
const { ref, headerPath } = parseAddress(a.address);
|
|
79
|
+
let fileText;
|
|
80
|
+
try {
|
|
81
|
+
fileText = readFile(ref);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
throw new ProfileComposeError(`atom '${a.id}' (${a.address}): source file '${ref}' is unreadable — ${err.message}`);
|
|
85
|
+
}
|
|
86
|
+
let text;
|
|
87
|
+
if (headerPath.length === 0) {
|
|
88
|
+
text = fileText;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
try {
|
|
92
|
+
text = resolveAddress(fileText, headerPath).text;
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
if (err instanceof AddressResolutionError) {
|
|
96
|
+
throw new ProfileComposeError(`atom '${a.id}' (${a.address}): ${err.message}`);
|
|
97
|
+
}
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
atomId: a.id,
|
|
103
|
+
address: a.address,
|
|
104
|
+
sourceKind: sourceKindFor?.(a) ?? "library",
|
|
105
|
+
order: a.order,
|
|
106
|
+
priority: a.priority,
|
|
107
|
+
text,
|
|
108
|
+
estimatedTokens: estimateTokensFromBytes(Buffer.byteLength(text, "utf-8")),
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
const totalEstimatedTokens = pieces.reduce((sum, p) => sum + p.estimatedTokens, 0);
|
|
112
|
+
// 5. BUDGET report (mini-req 9): flag, never govern — all pieces stay.
|
|
113
|
+
let budget;
|
|
114
|
+
if (budgetTokens !== undefined && totalEstimatedTokens > budgetTokens) {
|
|
115
|
+
budget = {
|
|
116
|
+
limitTokens: budgetTokens,
|
|
117
|
+
overageTokens: totalEstimatedTokens - budgetTokens,
|
|
118
|
+
dropCandidates: [...pieces]
|
|
119
|
+
.sort((x, y) => DROP_ORDER[x.priority] - DROP_ORDER[y.priority] || y.estimatedTokens - x.estimatedTokens || x.atomId.localeCompare(y.atomId))
|
|
120
|
+
.map((p) => ({ atomId: p.atomId, priority: p.priority, estimatedTokens: p.estimatedTokens })),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
return { situation, runtime, pieces, totalEstimatedTokens, ...(budget !== undefined ? { budget } : {}) };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=profile-composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-composer.js","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-composer.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,yDAAyD;AACzD,4EAA4E;AAC5E,yEAAyE;AACzE,EAAE;AACF,qFAAqF;AACrF,qFAAqF;AACrF,qFAAqF;AACrF,mFAAmF;AACnF,oFAAoF;AACpF,sFAAsF;AACtF,mFAAmF;AACnF,8EAA8E;AAC9E,iFAAiF;AACjF,0BAA0B;AAC1B,EAAE;AACF,qFAAqF;AACrF,oFAAoF;AACpF,qFAAqF;AACrF,+EAA+E;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9F,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AA6CD,+EAA+E;AAC/E,SAAS,aAAa,CAAC,SAA2B;IAChD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/B,KAAK,iBAAiB;YACpB,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAgD,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEzG,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,kFAAkF;IAClF,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,CAAC,CAAkB,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;IAClG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,gFAAgF;IAChF,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC7E,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,sCAAsC,SAAS,wBAAwB,CAAC,CAAC;YACtI,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,mBAAmB,CAC3B,SAAS,EAAE,eAAe,GAAG,WAAW,GAAG,yBAAyB,GAAG,CAAC,OAAO,qCAAqC,OAAO,KAAK;oBAC9H,uCAAuC,SAAS,gCAAgC,GAAG,sBAAsB,CAC5G,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAElG,8EAA8E;IAC9E,MAAM,MAAM,GAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,mBAAmB,GAAG,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,IAAY,CAAC;QACjB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,GAAG,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;oBAC1C,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,EAAE;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS;YAC3C,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI;YACJ,eAAe,EAAE,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAEnF,uEAAuE;IACvE,IAAI,MAAiC,CAAC;IACtC,IAAI,YAAY,KAAK,SAAS,IAAI,oBAAoB,GAAG,YAAY,EAAE,CAAC;QACtE,MAAM,GAAG;YACP,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,oBAAoB,GAAG,YAAY;YAClD,cAAc,EAAE,CAAC,GAAG,MAAM,CAAC;iBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBAC5I,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;SAChG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3G,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { SourceKind } from "./profile-composer.js";
|
|
2
|
+
export declare class SourceResolutionError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
declare const TREE_KINDS: readonly ["seat", "mission"];
|
|
6
|
+
export type TreeKind = (typeof TREE_KINDS)[number];
|
|
7
|
+
export interface ParsedSourceRef {
|
|
8
|
+
kind: SourceKind;
|
|
9
|
+
/** Relative path under the pack dir (library) or the kind's configured root. */
|
|
10
|
+
rel: string;
|
|
11
|
+
}
|
|
12
|
+
/** Split a pre-`#` ref into its resolver kind + relative path. Fail-loud on an
|
|
13
|
+
* unknown prefix or a traversal-shaped path — a clean refusal, never an escape
|
|
14
|
+
* (the r2-B3 precedent from the trace verb). */
|
|
15
|
+
export declare function parseSourceRef(ref: string): ParsedSourceRef;
|
|
16
|
+
export interface ProfileSourceRoots {
|
|
17
|
+
/** The seat's tree directory (recap + lore beside LEARNED) — from config. */
|
|
18
|
+
seat?: string;
|
|
19
|
+
/** The mission's tree directory — from config. */
|
|
20
|
+
mission?: string;
|
|
21
|
+
}
|
|
22
|
+
/** Byte-provenance record for one successful read (r1 rider 1 via 4a's review):
|
|
23
|
+
* the label must be CHECKABLE, not merely asserted — with a symlink in play a
|
|
24
|
+
* source label is accurate about the REF and wrong about the BYTES, and that
|
|
25
|
+
* bites on benign symlinks, not just hostile ones. */
|
|
26
|
+
export interface SourceReadRecord {
|
|
27
|
+
ref: string;
|
|
28
|
+
kind: SourceKind;
|
|
29
|
+
/** The root the read was granted against. */
|
|
30
|
+
base: string;
|
|
31
|
+
/** base + rel, before symlink resolution. */
|
|
32
|
+
nominalPath: string;
|
|
33
|
+
/** Where the BYTES actually came from (realpath after the successful read). */
|
|
34
|
+
realPath: string;
|
|
35
|
+
/** True when realPath sits outside base. Computed via path.relative — never a
|
|
36
|
+
* bare string prefix (r1: `startsWith` says /seat-evil is inside /seat). */
|
|
37
|
+
escapesRoot: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Build the composer's fail-loud readFile over the pack dir + configured tree
|
|
40
|
+
* roots. Every failure names the source kind and what was being resolved —
|
|
41
|
+
* a missing root is a MISSING CONFIG error, never a silent empty; a DANGLING
|
|
42
|
+
* symlink is its own named failure (a realistic corpus state, not a generic
|
|
43
|
+
* unreadable). Each successful read reports byte provenance via onRead. */
|
|
44
|
+
export declare function makeProfileReadFile(opts: {
|
|
45
|
+
packDir: string;
|
|
46
|
+
roots: ProfileSourceRoots;
|
|
47
|
+
onRead?: (record: SourceReadRecord) => void;
|
|
48
|
+
}): (ref: string) => string;
|
|
49
|
+
/** The composer's per-piece source label (Q2-Amendment 1: every assembled piece
|
|
50
|
+
* is labeled with its source), derived from the atom's full address. */
|
|
51
|
+
export declare function sourceKindForAddress(address: string): SourceKind;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=profile-source-resolver.d.ts.map
|
package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-source-resolver.d.ts","sourceRoot":"","sources":["../../../src/domain/context-packs/profile-source-resolver.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,QAAA,MAAM,UAAU,8BAA+B,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;iDAEiD;AACjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CA0B3D;AAED,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;uDAGuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB;iFAC6E;IAC7E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;4EAI4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CA8D1B;AAED;yEACyE;AACzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEhE"}
|