sdd-agent-platform 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +234 -239
- package/{dist/packages/core/src → node_modules/@sdd-agent-platform/core/dist}/ai-tools.d.ts +3 -2
- package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js +464 -0
- package/node_modules/@sdd-agent-platform/core/dist/ai-tools.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/ingestion.d.ts +24 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/ingestion.js +181 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/ingestion.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-evidence.d.ts +47 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-evidence.js +241 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-evidence.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-result.d.ts +29 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-result.js +198 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/sdd-result.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/templates.d.ts +10 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/templates.js +79 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts/templates.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts.js +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/artifacts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts/contracts.d.ts +71 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/coding-facts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.d.ts +31 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js +89 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/init-project.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.d.ts +49 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.js +202 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-config.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-detection.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-detection.js +111 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-detection.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-status.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-status.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/project-status.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js +441 -0
- package/node_modules/@sdd-agent-platform/core/dist/config/starter-documents.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/budget.d.ts +10 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/budget.js +20 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/budget.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.d.ts +46 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.js +244 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/build-package.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/command-summary.d.ts +14 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/command-summary.js +34 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/command-summary.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/evidence-summary.d.ts +50 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/evidence-summary.js +86 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/evidence-summary.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/log-worker.d.ts +19 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/log-worker.js +28 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/log-worker.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/source-refs.d.ts +9 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/source-refs.js +30 -0
- package/node_modules/@sdd-agent-platform/core/dist/context/source-refs.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/contracts.d.ts +43 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/runtime.d.ts +36 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/runtime.js +142 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload/runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/context-offload.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/context.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/context.js +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/context.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts/issues.d.ts +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts/issues.js +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts/issues.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts.d.ts +110 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts.js +75 -0
- package/node_modules/@sdd-agent-platform/core/dist/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/model.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/model.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/model.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/queue.d.ts +10 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/queue.js +47 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/queue.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/run-state.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/run-state.js +13 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/run-state.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/state-machine.d.ts +30 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/state-machine.js +56 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/state-machine.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/validation.d.ts +28 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/validation.js +100 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation/validation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation.d.ts +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/delegation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/ai-entries.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/ai-entries.js +26 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/ai-entries.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/document-chain.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/document-chain.js +104 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/document-chain.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/local-run-index.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/local-run-index.js +26 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/local-run-index.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/project.d.ts +11 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/project.js +78 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/project.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/registries.d.ts +11 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/registries.js +247 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/registries.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-evidence.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-evidence.js +313 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-evidence.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-records.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-records.js +68 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-records.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-trust.d.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-trust.js +121 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/run-trust.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/runtime-contracts.d.ts +11 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/runtime-contracts.js +279 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/checks/runtime-contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js +292 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/doctor.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/model.d.ts +11 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/model.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/model.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.js +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/render.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/summary.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/summary.js +10 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor/summary.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/doctor.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.d.ts +23 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js +54 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence/lookup.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/contracts.d.ts +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/evidence-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/agent-execution-records.d.ts +31 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/agent-execution-records.js +170 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/agent-execution-records.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/background-executor.d.ts +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/background-executor.js +249 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/background-executor.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/foreground-subagents.d.ts +55 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/foreground-subagents.js +363 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/foreground-subagents.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/host-invocation.d.ts +27 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/host-invocation.js +185 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/host-invocation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/resident-worker.d.ts +100 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/resident-worker.js +327 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/resident-worker.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.d.ts +112 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.js +145 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/stage-team-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/wave-executor.d.ts +45 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/wave-executor.js +178 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution/wave-executor.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution.d.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/execution.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance/policy.d.ts +53 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance/policy.js +111 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance/policy.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/governance.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/index.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/index.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/index.js.map +1 -0
- package/{dist/packages/core/src → node_modules/@sdd-agent-platform/core/dist}/instructions.d.ts +1 -1
- package/node_modules/@sdd-agent-platform/core/dist/instructions.js +147 -0
- package/node_modules/@sdd-agent-platform/core/dist/instructions.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/decision-gate.d.ts +39 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/decision-gate.js +319 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/decision-gate.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/rendering.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/rendering.js +27 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/rendering.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/risk-signals.d.ts +57 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/risk-signals.js +80 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/risk-signals.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.d.ts +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js +207 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle/ship.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle.js +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/lifecycle.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/contracts.d.ts +45 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/index.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/index.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/index.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/runtime.d.ts +55 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/runtime.js +314 -0
- package/node_modules/@sdd-agent-platform/core/dist/orchestration/runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/path-safety.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/task-graph.d.ts +57 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/task-graph.js +157 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/task-graph.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/wave-plan.d.ts +37 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/wave-plan.js +119 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning/wave-plan.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/planning.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.d.ts +70 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.js +267 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-capability-catalog.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.d.ts +22 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js +121 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-registry.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.d.ts +61 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.js +69 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/agent-runtime-static.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.js +226 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/capability-sources.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.d.ts +70 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.js +220 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/command-team-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/eval-learning-context.d.ts +64 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/eval-learning-context.js +161 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/eval-learning-context.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/query-status.d.ts +28 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/query-status.js +84 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/query-status.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/skill-capabilities.d.ts +22 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/skill-capabilities.js +16 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/skill-capabilities.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-capabilities.d.ts +20 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-capabilities.js +111 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-capabilities.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-plugins.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-plugins.js +107 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/tool-plugins.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/worker-adapters.d.ts +38 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/worker-adapters.js +99 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/worker-adapters.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.d.ts +19 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js +89 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries/workflow-gates.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries.d.ts +14 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries.js +13 -0
- package/node_modules/@sdd-agent-platform/core/dist/registries.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/consumer-diagnostics.d.ts +18 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/consumer-diagnostics.js +77 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/consumer-diagnostics.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/contracts.d.ts +57 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/kernel.d.ts +20 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/kernel.js +195 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/kernel.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/legacy-adapters.d.ts +33 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/legacy-adapters.js +215 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/legacy-adapters.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/workflow-gates.d.ts +24 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/workflow-gates.js +160 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk/workflow-gates.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk.d.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/risk.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js +278 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime-config.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime.d.ts +343 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/agent-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/profile-resolution.d.ts +18 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/profile-resolution.js +127 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/profile-resolution.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/risk-policy.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/risk-policy.js +28 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/risk-policy.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-cache.d.ts +39 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-cache.js +59 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-cache.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.d.ts +14 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.js +318 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-projection.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-sdd-task.d.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-sdd-task.js +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/route-sdd-task.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing-rules.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing-rules.js +68 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing-rules.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing.d.ts +18 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing.js +169 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/routing.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-inspection.d.ts +7 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-inspection.js +102 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-inspection.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-registry.d.ts +17 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-registry.js +82 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-registry.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-validation.d.ts +26 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-validation.js +235 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/runtime-validation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/team-mode.d.ts +16 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/team-mode.js +134 -0
- package/node_modules/@sdd-agent-platform/core/dist/router/team-mode.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.js +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/router.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js +113 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/artifacts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/events.d.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/events.js +23 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/events.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.d.ts +102 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.js +83 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/inspect-run.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/invocation-ledger.d.ts +18 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/invocation-ledger.js +99 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/invocation-ledger.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/model.d.ts +203 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/model.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/model.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-index.d.ts +97 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-index.js +238 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-index.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.d.ts +20 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js +366 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/run-state.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.d.ts +62 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js +130 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state/task-evidence.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state.d.ts +8 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state.js +9 -0
- package/node_modules/@sdd-agent-platform/core/dist/run-state.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/build.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/build.js +61 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/build.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/findings.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/findings.js +274 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/findings.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/model.d.ts +175 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/model.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis/model.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis.d.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis.js +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-analysis.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.d.ts +35 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js +142 -0
- package/node_modules/@sdd-agent-platform/core/dist/runtime-paths.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/context.d.ts +18 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/context.js +89 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/context.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.js +189 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/document-hashes.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/run-binding.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/run-binding.js +88 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/run-binding.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-inspection.d.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-inspection.js +31 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-inspection.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.d.ts +98 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js +538 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-parser.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-rendering.d.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-rendering.js +77 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs/task-rendering.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs.d.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs.js +6 -0
- package/node_modules/@sdd-agent-platform/core/dist/sdd-docs.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/contracts.d.ts +37 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/runtime.d.ts +71 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/runtime.js +275 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime/runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/stage-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/status/project-status.d.ts +166 -0
- package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js +439 -0
- package/node_modules/@sdd-agent-platform/core/dist/status/project-status.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/status.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/status.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/status.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/json-io.d.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/json-io.js +11 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/json-io.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.d.ts +305 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js +859 -0
- package/node_modules/@sdd-agent-platform/core/dist/storage/runtime-store.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/contracts.d.ts +41 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/runtime.d.ts +43 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/runtime.js +262 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents/runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/subagents.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.d.ts +17 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js +243 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/apply.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.d.ts +110 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js +497 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back/inspect.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/sync-back.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/task-risk-profile.d.ts +33 -0
- package/node_modules/@sdd-agent-platform/core/dist/task-risk-profile.js +153 -0
- package/node_modules/@sdd-agent-platform/core/dist/task-risk-profile.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js +384 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/fixtures.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js +69 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support/run-state.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/test-support.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.d.ts +50 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js +546 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/goal-verify.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.d.ts +51 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js +129 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/rendering.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.d.ts +22 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.js +53 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/review-gate.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.d.ts +29 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js +425 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/single-task-loop.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.d.ts +77 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js +877 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/test-runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.d.ts +58 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.js +428 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/validation-wave.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.d.ts +44 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js +299 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification/verify-contract.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification.d.ts +8 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification.js +8 -0
- package/node_modules/@sdd-agent-platform/core/dist/verification.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/contracts.d.ts +24 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/contracts.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/contracts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/runtime.d.ts +21 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/runtime.js +90 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units/runtime.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/work-units.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.d.ts +24 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js +182 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/evidence-packet.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js +130 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/hard-checks.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.d.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js +146 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/policy.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.d.ts +89 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.js +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-gate/types.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.d.ts +13 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.js +75 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/affected-file-conflicts.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.d.ts +29 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.js +78 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/dependencies.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.d.ts +38 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js +122 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/latest-eligible-run.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.d.ts +77 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js +253 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state/resolve.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/workflow-state.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/isolation.d.ts +40 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/isolation.js +89 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/isolation.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/lifecycle.d.ts +39 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/lifecycle.js +221 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree/lifecycle.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree.d.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree.js +3 -0
- package/node_modules/@sdd-agent-platform/core/dist/worktree.js.map +1 -0
- package/node_modules/@sdd-agent-platform/core/package.json +40 -0
- package/node_modules/@sdd-agent-platform/core/src/ai-tools.test.ts +138 -0
- package/node_modules/@sdd-agent-platform/core/src/ai-tools.ts +577 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/ingestion.test.ts +189 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/ingestion.ts +222 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-evidence.test.ts +28 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-evidence.ts +302 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-result.test.ts +181 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/sdd-result.ts +231 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts/templates.ts +99 -0
- package/node_modules/@sdd-agent-platform/core/src/artifacts.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/src/coding-facts/contracts.ts +79 -0
- package/node_modules/@sdd-agent-platform/core/src/coding-facts.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/src/config/init-project.test.ts +306 -0
- package/node_modules/@sdd-agent-platform/core/src/config/init-project.ts +120 -0
- package/node_modules/@sdd-agent-platform/core/src/config/project-config.ts +259 -0
- package/node_modules/@sdd-agent-platform/core/src/config/project-detection.ts +147 -0
- package/node_modules/@sdd-agent-platform/core/src/config/project-status.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/src/config/starter-documents.ts +445 -0
- package/node_modules/@sdd-agent-platform/core/src/context/budget.ts +30 -0
- package/node_modules/@sdd-agent-platform/core/src/context/build-package.ts +317 -0
- package/node_modules/@sdd-agent-platform/core/src/context/command-summary.ts +45 -0
- package/node_modules/@sdd-agent-platform/core/src/context/context-build.test.ts +188 -0
- package/node_modules/@sdd-agent-platform/core/src/context/evidence-summary.ts +144 -0
- package/node_modules/@sdd-agent-platform/core/src/context/log-worker.ts +48 -0
- package/node_modules/@sdd-agent-platform/core/src/context/source-refs.ts +41 -0
- package/node_modules/@sdd-agent-platform/core/src/context-offload/contracts.ts +47 -0
- package/node_modules/@sdd-agent-platform/core/src/context-offload/runtime.test.ts +71 -0
- package/node_modules/@sdd-agent-platform/core/src/context-offload/runtime.ts +178 -0
- package/node_modules/@sdd-agent-platform/core/src/context-offload.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/context.ts +6 -0
- package/node_modules/@sdd-agent-platform/core/src/contracts/issues.ts +13 -0
- package/node_modules/@sdd-agent-platform/core/src/contracts.test.ts +9 -0
- package/node_modules/@sdd-agent-platform/core/src/contracts.ts +116 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/delegation.test.ts +183 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/model.ts +23 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/queue.ts +58 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/run-state.ts +14 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/state-machine.ts +90 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation/validation.ts +124 -0
- package/node_modules/@sdd-agent-platform/core/src/delegation.ts +26 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/ai-entries.ts +28 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/document-chain.ts +112 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/local-run-index.ts +27 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/project.ts +84 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/registries.ts +252 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-evidence.ts +330 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-records.ts +79 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/run-trust.ts +128 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/checks/runtime-contracts.ts +300 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.test.ts +657 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/doctor.ts +319 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/model.ts +13 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor/summary.ts +11 -0
- package/node_modules/@sdd-agent-platform/core/src/doctor.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/evidence/lookup.ts +80 -0
- package/node_modules/@sdd-agent-platform/core/src/evidence-runtime/contracts.ts +49 -0
- package/node_modules/@sdd-agent-platform/core/src/evidence-runtime.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/agent-execution-records.ts +195 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/background-executor.test.ts +187 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/background-executor.ts +305 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/foreground-subagents.test.ts +97 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/foreground-subagents.ts +453 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/host-invocation.ts +225 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.test.ts +132 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/resident-worker.ts +436 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.test.ts +102 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/stage-team-runtime.ts +271 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/wave-executor.test.ts +111 -0
- package/node_modules/@sdd-agent-platform/core/src/execution/wave-executor.ts +231 -0
- package/node_modules/@sdd-agent-platform/core/src/execution.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/src/governance/policy.test.ts +57 -0
- package/node_modules/@sdd-agent-platform/core/src/governance/policy.ts +175 -0
- package/node_modules/@sdd-agent-platform/core/src/governance.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/src/index.test.ts +25 -0
- package/node_modules/@sdd-agent-platform/core/src/index.ts +1 -0
- package/node_modules/@sdd-agent-platform/core/src/instructions.test.ts +49 -0
- package/node_modules/@sdd-agent-platform/core/src/instructions.ts +165 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/decision-gate.test.ts +174 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/decision-gate.ts +373 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/rendering.ts +29 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/risk-signals.ts +146 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle/ship.ts +263 -0
- package/node_modules/@sdd-agent-platform/core/src/lifecycle.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/src/orchestration/contracts.ts +50 -0
- package/node_modules/@sdd-agent-platform/core/src/orchestration/index.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/orchestration/runtime.ts +342 -0
- package/node_modules/@sdd-agent-platform/core/src/path-safety.test.ts +22 -0
- package/node_modules/@sdd-agent-platform/core/src/path-safety.ts +37 -0
- package/node_modules/@sdd-agent-platform/core/src/phase8-contracts.test.ts +243 -0
- package/node_modules/@sdd-agent-platform/core/src/phase8-projection-compat.test.ts +153 -0
- package/node_modules/@sdd-agent-platform/core/src/phase8-risk-kernel.test.ts +277 -0
- package/node_modules/@sdd-agent-platform/core/src/planning/task-graph.test.ts +88 -0
- package/node_modules/@sdd-agent-platform/core/src/planning/task-graph.ts +222 -0
- package/node_modules/@sdd-agent-platform/core/src/planning/wave-plan.test.ts +79 -0
- package/node_modules/@sdd-agent-platform/core/src/planning/wave-plan.ts +160 -0
- package/node_modules/@sdd-agent-platform/core/src/planning.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-capability-catalog.ts +426 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-registry.ts +146 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/agent-runtime-static.ts +142 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/capability-sources.ts +253 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/command-team-runtime.ts +309 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/eval-learning-context.ts +246 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/query-status.ts +119 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/registries.test.ts +429 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/skill-capabilities.ts +37 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/tool-capabilities.ts +135 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/tool-plugins.ts +132 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/worker-adapters.ts +144 -0
- package/node_modules/@sdd-agent-platform/core/src/registries/workflow-gates.ts +111 -0
- package/node_modules/@sdd-agent-platform/core/src/registries.ts +42 -0
- package/node_modules/@sdd-agent-platform/core/src/risk/consumer-diagnostics.ts +97 -0
- package/node_modules/@sdd-agent-platform/core/src/risk/contracts.ts +63 -0
- package/node_modules/@sdd-agent-platform/core/src/risk/kernel.ts +233 -0
- package/node_modules/@sdd-agent-platform/core/src/risk/legacy-adapters.ts +266 -0
- package/node_modules/@sdd-agent-platform/core/src/risk/workflow-gates.ts +203 -0
- package/node_modules/@sdd-agent-platform/core/src/risk.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime-config.ts +327 -0
- package/node_modules/@sdd-agent-platform/core/src/router/agent-runtime.ts +388 -0
- package/node_modules/@sdd-agent-platform/core/src/router/profile-resolution.ts +154 -0
- package/node_modules/@sdd-agent-platform/core/src/router/risk-policy.ts +33 -0
- package/node_modules/@sdd-agent-platform/core/src/router/route-cache.ts +100 -0
- package/node_modules/@sdd-agent-platform/core/src/router/route-projection.ts +357 -0
- package/node_modules/@sdd-agent-platform/core/src/router/route-sdd-task.test.ts +429 -0
- package/node_modules/@sdd-agent-platform/core/src/router/route-sdd-task.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/src/router/routing-rules.ts +73 -0
- package/node_modules/@sdd-agent-platform/core/src/router/routing.ts +192 -0
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-inspection.ts +124 -0
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-registry.ts +123 -0
- package/node_modules/@sdd-agent-platform/core/src/router/runtime-validation.ts +277 -0
- package/node_modules/@sdd-agent-platform/core/src/router/team-mode.ts +170 -0
- package/node_modules/@sdd-agent-platform/core/src/router.ts +4 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/artifacts.ts +118 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/events.ts +27 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/inspect-run.ts +172 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/invocation-ledger.ts +109 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/model.ts +231 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-index.test.ts +52 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-index.ts +356 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.test.ts +70 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/run-state.ts +406 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state/task-evidence.ts +206 -0
- package/node_modules/@sdd-agent-platform/core/src/run-state.ts +8 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/build.ts +63 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/findings.ts +296 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis/model.ts +152 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis.test.ts +68 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-analysis.ts +3 -0
- package/node_modules/@sdd-agent-platform/core/src/runtime-paths.ts +176 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/context.ts +111 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/document-hashes.ts +207 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/run-binding.ts +95 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-inspection.ts +39 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.test.ts +401 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-parser.ts +694 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs/task-rendering.ts +81 -0
- package/node_modules/@sdd-agent-platform/core/src/sdd-docs.ts +5 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/contracts.ts +40 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/runtime.test.ts +209 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime/runtime.ts +352 -0
- package/node_modules/@sdd-agent-platform/core/src/stage-runtime.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/status/project-status.test.ts +288 -0
- package/node_modules/@sdd-agent-platform/core/src/status/project-status.ts +625 -0
- package/node_modules/@sdd-agent-platform/core/src/status.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/storage/json-io.ts +10 -0
- package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.test.ts +489 -0
- package/node_modules/@sdd-agent-platform/core/src/storage/runtime-store.ts +1175 -0
- package/node_modules/@sdd-agent-platform/core/src/subagents/contracts.ts +45 -0
- package/node_modules/@sdd-agent-platform/core/src/subagents/runtime.test.ts +232 -0
- package/node_modules/@sdd-agent-platform/core/src/subagents/runtime.ts +307 -0
- package/node_modules/@sdd-agent-platform/core/src/subagents.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/sync-back/apply.ts +270 -0
- package/node_modules/@sdd-agent-platform/core/src/sync-back/inspect.ts +655 -0
- package/node_modules/@sdd-agent-platform/core/src/sync-back/sync-back.test.ts +569 -0
- package/node_modules/@sdd-agent-platform/core/src/sync-back.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/task-risk-profile.ts +193 -0
- package/node_modules/@sdd-agent-platform/core/src/test-support/fixtures.ts +398 -0
- package/node_modules/@sdd-agent-platform/core/src/test-support/run-state.ts +70 -0
- package/node_modules/@sdd-agent-platform/core/src/test-support.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/goal-verify.test.ts +335 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/goal-verify.ts +648 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/rendering.ts +181 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.test.ts +77 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/review-gate.ts +77 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.test.ts +255 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/single-task-loop.ts +494 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.test.ts +439 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/test-runtime.ts +1032 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.test.ts +341 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/validation-wave.ts +513 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.test.ts +204 -0
- package/node_modules/@sdd-agent-platform/core/src/verification/verify-contract.ts +358 -0
- package/node_modules/@sdd-agent-platform/core/src/verification.ts +8 -0
- package/node_modules/@sdd-agent-platform/core/src/work-units/contracts.ts +26 -0
- package/node_modules/@sdd-agent-platform/core/src/work-units/runtime.test.ts +88 -0
- package/node_modules/@sdd-agent-platform/core/src/work-units/runtime.ts +112 -0
- package/node_modules/@sdd-agent-platform/core/src/work-units.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/evidence-packet.ts +196 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.test.ts +171 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/hard-checks.ts +143 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.test.ts +137 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/policy.ts +155 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-gate/types.ts +114 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/affected-file-conflicts.ts +96 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.test.ts +32 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/dependencies.ts +114 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/latest-eligible-run.ts +156 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.test.ts +464 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state/resolve.ts +363 -0
- package/node_modules/@sdd-agent-platform/core/src/workflow-state.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/src/worktree/isolation.ts +130 -0
- package/node_modules/@sdd-agent-platform/core/src/worktree/lifecycle.ts +269 -0
- package/node_modules/@sdd-agent-platform/core/src/worktree/worktree.test.ts +150 -0
- package/node_modules/@sdd-agent-platform/core/src/worktree.ts +2 -0
- package/node_modules/@sdd-agent-platform/core/tsconfig.json +15 -0
- package/package.json +67 -52
- package/packages/cli/dist/args.d.ts +23 -0
- package/packages/cli/dist/args.js +89 -0
- package/packages/cli/dist/args.js.map +1 -0
- package/packages/cli/dist/commands/ai-tools.d.ts +6 -0
- package/packages/cli/dist/commands/ai-tools.js +18 -0
- package/packages/cli/dist/commands/ai-tools.js.map +1 -0
- package/packages/cli/dist/commands/artifact.d.ts +6 -0
- package/packages/cli/dist/commands/artifact.js +168 -0
- package/packages/cli/dist/commands/artifact.js.map +1 -0
- package/packages/cli/dist/commands/context.d.ts +6 -0
- package/packages/cli/dist/commands/context.js +51 -0
- package/packages/cli/dist/commands/context.js.map +1 -0
- package/packages/cli/dist/commands/doctor.d.ts +6 -0
- package/packages/cli/dist/commands/doctor.js +29 -0
- package/packages/cli/dist/commands/doctor.js.map +1 -0
- package/packages/cli/dist/commands/execution.d.ts +6 -0
- package/packages/cli/dist/commands/execution.js +284 -0
- package/packages/cli/dist/commands/execution.js.map +1 -0
- package/packages/cli/dist/commands/governance.d.ts +6 -0
- package/packages/cli/dist/commands/governance.js +37 -0
- package/packages/cli/dist/commands/governance.js.map +1 -0
- package/packages/cli/dist/commands/init.d.ts +6 -0
- package/packages/cli/dist/commands/init.js +22 -0
- package/packages/cli/dist/commands/init.js.map +1 -0
- package/packages/cli/dist/commands/instructions.d.ts +6 -0
- package/packages/cli/dist/commands/instructions.js +15 -0
- package/packages/cli/dist/commands/instructions.js.map +1 -0
- package/packages/cli/dist/commands/lifecycle.d.ts +6 -0
- package/packages/cli/dist/commands/lifecycle.js +112 -0
- package/packages/cli/dist/commands/lifecycle.js.map +1 -0
- package/packages/cli/dist/commands/registry/contracts.d.ts +2 -0
- package/packages/cli/dist/commands/registry/contracts.js +62 -0
- package/packages/cli/dist/commands/registry/contracts.js.map +1 -0
- package/packages/cli/dist/commands/registry/core.d.ts +2 -0
- package/packages/cli/dist/commands/registry/core.js +75 -0
- package/packages/cli/dist/commands/registry/core.js.map +1 -0
- package/packages/cli/dist/commands/registry/platform.d.ts +2 -0
- package/packages/cli/dist/commands/registry/platform.js +123 -0
- package/packages/cli/dist/commands/registry/platform.js.map +1 -0
- package/packages/cli/dist/commands/registry/runtime.d.ts +2 -0
- package/packages/cli/dist/commands/registry/runtime.js +142 -0
- package/packages/cli/dist/commands/registry/runtime.js.map +1 -0
- package/packages/cli/dist/commands/registry/types.d.ts +5 -0
- package/packages/cli/dist/commands/registry/types.js +2 -0
- package/packages/cli/dist/commands/registry/types.js.map +1 -0
- package/packages/cli/dist/commands/registry.d.ts +3 -0
- package/packages/cli/dist/commands/registry.js +11 -0
- package/packages/cli/dist/commands/registry.js.map +1 -0
- package/packages/cli/dist/commands/run.d.ts +6 -0
- package/packages/cli/dist/commands/run.js +173 -0
- package/packages/cli/dist/commands/run.js.map +1 -0
- package/packages/cli/dist/commands/ship.d.ts +6 -0
- package/packages/cli/dist/commands/ship.js +33 -0
- package/packages/cli/dist/commands/ship.js.map +1 -0
- package/packages/cli/dist/commands/status.d.ts +6 -0
- package/packages/cli/dist/commands/status.js +25 -0
- package/packages/cli/dist/commands/status.js.map +1 -0
- package/packages/cli/dist/commands/sync-back.d.ts +6 -0
- package/packages/cli/dist/commands/sync-back.js +82 -0
- package/packages/cli/dist/commands/sync-back.js.map +1 -0
- package/packages/cli/dist/commands/tasks.d.ts +6 -0
- package/packages/cli/dist/commands/tasks.js +78 -0
- package/packages/cli/dist/commands/tasks.js.map +1 -0
- package/packages/cli/dist/commands/test.d.ts +6 -0
- package/packages/cli/dist/commands/test.js +195 -0
- package/packages/cli/dist/commands/test.js.map +1 -0
- package/packages/cli/dist/commands/verifies.d.ts +6 -0
- package/packages/cli/dist/commands/verifies.js +85 -0
- package/packages/cli/dist/commands/verifies.js.map +1 -0
- package/packages/cli/dist/commands/verify.d.ts +6 -0
- package/packages/cli/dist/commands/verify.js +134 -0
- package/packages/cli/dist/commands/verify.js.map +1 -0
- package/packages/cli/dist/dispatch.d.ts +7 -0
- package/packages/cli/dist/dispatch.js +121 -0
- package/packages/cli/dist/dispatch.js.map +1 -0
- package/packages/cli/dist/help.d.ts +4 -0
- package/packages/cli/dist/help.js +177 -0
- package/packages/cli/dist/help.js.map +1 -0
- package/packages/cli/dist/identity.d.ts +7 -0
- package/packages/cli/dist/identity.js +51 -0
- package/packages/cli/dist/identity.js.map +1 -0
- package/packages/cli/dist/main.js +17 -0
- package/packages/cli/dist/main.js.map +1 -0
- package/{dist/packages/cli/src → packages/cli/dist}/options.d.ts +2 -0
- package/{dist/packages/cli/src → packages/cli/dist}/options.js +6 -0
- package/packages/cli/dist/options.js.map +1 -0
- package/packages/cli/dist/renderers/artifacts.d.ts +5 -0
- package/packages/cli/dist/renderers/artifacts.js +43 -0
- package/packages/cli/dist/renderers/artifacts.js.map +1 -0
- package/packages/cli/dist/renderers/context.d.ts +4 -0
- package/packages/cli/dist/renderers/context.js +47 -0
- package/packages/cli/dist/renderers/context.js.map +1 -0
- package/packages/cli/dist/renderers/doctor.d.ts +5 -0
- package/packages/cli/dist/renderers/doctor.js +31 -0
- package/packages/cli/dist/renderers/doctor.js.map +1 -0
- package/packages/cli/dist/renderers/execution.d.ts +13 -0
- package/packages/cli/dist/renderers/execution.js +133 -0
- package/packages/cli/dist/renderers/execution.js.map +1 -0
- package/packages/cli/dist/renderers/governance.d.ts +3 -0
- package/packages/cli/dist/renderers/governance.js +23 -0
- package/packages/cli/dist/renderers/governance.js.map +1 -0
- package/packages/cli/dist/renderers/issues.d.ts +24 -0
- package/packages/cli/dist/renderers/issues.js +37 -0
- package/packages/cli/dist/renderers/issues.js.map +1 -0
- package/packages/cli/dist/renderers/json.d.ts +3 -0
- package/packages/cli/dist/renderers/json.js +10 -0
- package/packages/cli/dist/renderers/json.js.map +1 -0
- package/packages/cli/dist/renderers/lifecycle.d.ts +2 -0
- package/packages/cli/dist/renderers/lifecycle.js +30 -0
- package/packages/cli/dist/renderers/lifecycle.js.map +1 -0
- package/packages/cli/dist/renderers/planning.d.ts +4 -0
- package/packages/cli/dist/renderers/planning.js +66 -0
- package/packages/cli/dist/renderers/planning.js.map +1 -0
- package/packages/cli/dist/renderers/registry-contracts.d.ts +10 -0
- package/packages/cli/dist/renderers/registry-contracts.js +128 -0
- package/packages/cli/dist/renderers/registry-contracts.js.map +1 -0
- package/packages/cli/dist/renderers/registry-core.d.ts +8 -0
- package/packages/cli/dist/renderers/registry-core.js +93 -0
- package/packages/cli/dist/renderers/registry-core.js.map +1 -0
- package/packages/cli/dist/renderers/registry-platform.d.ts +12 -0
- package/packages/cli/dist/renderers/registry-platform.js +112 -0
- package/packages/cli/dist/renderers/registry-platform.js.map +1 -0
- package/packages/cli/dist/renderers/registry-runtime.d.ts +16 -0
- package/packages/cli/dist/renderers/registry-runtime.js +206 -0
- package/packages/cli/dist/renderers/registry-runtime.js.map +1 -0
- package/packages/cli/dist/renderers/registry-shared.d.ts +3 -0
- package/packages/cli/dist/renderers/registry-shared.js +15 -0
- package/packages/cli/dist/renderers/registry-shared.js.map +1 -0
- package/packages/cli/dist/renderers/registry.d.ts +5 -0
- package/packages/cli/dist/renderers/registry.js +6 -0
- package/packages/cli/dist/renderers/registry.js.map +1 -0
- package/packages/cli/dist/renderers/router.d.ts +2 -0
- package/packages/cli/dist/renderers/router.js +34 -0
- package/packages/cli/dist/renderers/router.js.map +1 -0
- package/packages/cli/dist/renderers/workflow.d.ts +19 -0
- package/packages/cli/dist/renderers/workflow.js +274 -0
- package/packages/cli/dist/renderers/workflow.js.map +1 -0
- package/packages/cli/dist/renderers/worktree.d.ts +5 -0
- package/packages/cli/dist/renderers/worktree.js +41 -0
- package/packages/cli/dist/renderers/worktree.js.map +1 -0
- package/packages/cli/dist/test-support/run-cli.d.ts +6 -0
- package/packages/cli/dist/test-support/run-cli.js +15 -0
- package/packages/cli/dist/test-support/run-cli.js.map +1 -0
- package/packages/cli/dist/tsconfig.tsbuildinfo +1 -0
- package/packages/cli/package.json +15 -0
- package/packages/core/dist/ai-tools.d.ts +68 -0
- package/packages/core/dist/ai-tools.js +464 -0
- package/packages/core/dist/ai-tools.js.map +1 -0
- package/packages/core/dist/artifacts/ingestion.d.ts +24 -0
- package/packages/core/dist/artifacts/ingestion.js +181 -0
- package/packages/core/dist/artifacts/ingestion.js.map +1 -0
- package/packages/core/dist/artifacts/sdd-evidence.d.ts +47 -0
- package/packages/core/dist/artifacts/sdd-evidence.js +241 -0
- package/packages/core/dist/artifacts/sdd-evidence.js.map +1 -0
- package/packages/core/dist/artifacts/sdd-result.d.ts +29 -0
- package/packages/core/dist/artifacts/sdd-result.js +198 -0
- package/packages/core/dist/artifacts/sdd-result.js.map +1 -0
- package/packages/core/dist/artifacts/templates.d.ts +10 -0
- package/packages/core/dist/artifacts/templates.js +79 -0
- package/packages/core/dist/artifacts/templates.js.map +1 -0
- package/packages/core/dist/artifacts.d.ts +4 -0
- package/packages/core/dist/artifacts.js +5 -0
- package/packages/core/dist/artifacts.js.map +1 -0
- package/packages/core/dist/coding-facts/contracts.d.ts +71 -0
- package/packages/core/dist/coding-facts/contracts.js +2 -0
- package/packages/core/dist/coding-facts/contracts.js.map +1 -0
- package/packages/core/dist/coding-facts.d.ts +1 -0
- package/packages/core/dist/coding-facts.js +2 -0
- package/packages/core/dist/coding-facts.js.map +1 -0
- package/packages/core/dist/config/init-project.d.ts +31 -0
- package/packages/core/dist/config/init-project.js +89 -0
- package/packages/core/dist/config/init-project.js.map +1 -0
- package/packages/core/dist/config/project-config.d.ts +49 -0
- package/packages/core/dist/config/project-config.js +202 -0
- package/packages/core/dist/config/project-config.js.map +1 -0
- package/packages/core/dist/config/project-detection.d.ts +21 -0
- package/packages/core/dist/config/project-detection.js +111 -0
- package/packages/core/dist/config/project-detection.js.map +1 -0
- package/packages/core/dist/config/project-status.d.ts +1 -0
- package/packages/core/dist/config/project-status.js +2 -0
- package/packages/core/dist/config/project-status.js.map +1 -0
- package/packages/core/dist/config/starter-documents.d.ts +4 -0
- package/packages/core/dist/config/starter-documents.js +441 -0
- package/packages/core/dist/config/starter-documents.js.map +1 -0
- package/packages/core/dist/context/budget.d.ts +10 -0
- package/packages/core/dist/context/budget.js +20 -0
- package/packages/core/dist/context/budget.js.map +1 -0
- package/packages/core/dist/context/build-package.d.ts +46 -0
- package/packages/core/dist/context/build-package.js +244 -0
- package/packages/core/dist/context/build-package.js.map +1 -0
- package/packages/core/dist/context/command-summary.d.ts +14 -0
- package/packages/core/dist/context/command-summary.js +34 -0
- package/packages/core/dist/context/command-summary.js.map +1 -0
- package/packages/core/dist/context/evidence-summary.d.ts +50 -0
- package/packages/core/dist/context/evidence-summary.js +86 -0
- package/packages/core/dist/context/evidence-summary.js.map +1 -0
- package/packages/core/dist/context/log-worker.d.ts +19 -0
- package/packages/core/dist/context/log-worker.js +28 -0
- package/packages/core/dist/context/log-worker.js.map +1 -0
- package/packages/core/dist/context/source-refs.d.ts +9 -0
- package/packages/core/dist/context/source-refs.js +30 -0
- package/packages/core/dist/context/source-refs.js.map +1 -0
- package/packages/core/dist/context-offload/contracts.d.ts +43 -0
- package/packages/core/dist/context-offload/contracts.js +2 -0
- package/packages/core/dist/context-offload/contracts.js.map +1 -0
- package/packages/core/dist/context-offload/runtime.d.ts +36 -0
- package/packages/core/dist/context-offload/runtime.js +142 -0
- package/packages/core/dist/context-offload/runtime.js.map +1 -0
- package/packages/core/dist/context-offload.d.ts +2 -0
- package/packages/core/dist/context-offload.js +3 -0
- package/packages/core/dist/context-offload.js.map +1 -0
- package/packages/core/dist/context.d.ts +6 -0
- package/packages/core/dist/context.js +7 -0
- package/packages/core/dist/context.js.map +1 -0
- package/packages/core/dist/contracts/issues.d.ts +7 -0
- package/packages/core/dist/contracts/issues.js +7 -0
- package/packages/core/dist/contracts/issues.js.map +1 -0
- package/packages/core/dist/contracts.d.ts +110 -0
- package/packages/core/dist/contracts.js +75 -0
- package/packages/core/dist/contracts.js.map +1 -0
- package/packages/core/dist/delegation/model.d.ts +21 -0
- package/packages/core/dist/delegation/model.js +2 -0
- package/packages/core/dist/delegation/model.js.map +1 -0
- package/packages/core/dist/delegation/queue.d.ts +10 -0
- package/packages/core/dist/delegation/queue.js +47 -0
- package/packages/core/dist/delegation/queue.js.map +1 -0
- package/packages/core/dist/delegation/run-state.d.ts +2 -0
- package/packages/core/dist/delegation/run-state.js +13 -0
- package/packages/core/dist/delegation/run-state.js.map +1 -0
- package/packages/core/dist/delegation/state-machine.d.ts +30 -0
- package/packages/core/dist/delegation/state-machine.js +56 -0
- package/packages/core/dist/delegation/state-machine.js.map +1 -0
- package/packages/core/dist/delegation/validation.d.ts +28 -0
- package/packages/core/dist/delegation/validation.js +100 -0
- package/packages/core/dist/delegation/validation.js.map +1 -0
- package/packages/core/dist/delegation.d.ts +7 -0
- package/packages/core/dist/delegation.js +6 -0
- package/packages/core/dist/delegation.js.map +1 -0
- package/packages/core/dist/doctor/checks/ai-entries.d.ts +2 -0
- package/packages/core/dist/doctor/checks/ai-entries.js +26 -0
- package/packages/core/dist/doctor/checks/ai-entries.js.map +1 -0
- package/packages/core/dist/doctor/checks/document-chain.d.ts +2 -0
- package/packages/core/dist/doctor/checks/document-chain.js +104 -0
- package/packages/core/dist/doctor/checks/document-chain.js.map +1 -0
- package/packages/core/dist/doctor/checks/local-run-index.d.ts +2 -0
- package/packages/core/dist/doctor/checks/local-run-index.js +26 -0
- package/packages/core/dist/doctor/checks/local-run-index.js.map +1 -0
- package/packages/core/dist/doctor/checks/project.d.ts +11 -0
- package/packages/core/dist/doctor/checks/project.js +78 -0
- package/packages/core/dist/doctor/checks/project.js.map +1 -0
- package/packages/core/dist/doctor/checks/registries.d.ts +11 -0
- package/packages/core/dist/doctor/checks/registries.js +247 -0
- package/packages/core/dist/doctor/checks/registries.js.map +1 -0
- package/packages/core/dist/doctor/checks/run-evidence.d.ts +6 -0
- package/packages/core/dist/doctor/checks/run-evidence.js +313 -0
- package/packages/core/dist/doctor/checks/run-evidence.js.map +1 -0
- package/packages/core/dist/doctor/checks/run-records.d.ts +4 -0
- package/packages/core/dist/doctor/checks/run-records.js +68 -0
- package/packages/core/dist/doctor/checks/run-records.js.map +1 -0
- package/packages/core/dist/doctor/checks/run-trust.d.ts +3 -0
- package/packages/core/dist/doctor/checks/run-trust.js +121 -0
- package/packages/core/dist/doctor/checks/run-trust.js.map +1 -0
- package/packages/core/dist/doctor/checks/runtime-contracts.d.ts +11 -0
- package/packages/core/dist/doctor/checks/runtime-contracts.js +279 -0
- package/packages/core/dist/doctor/checks/runtime-contracts.js.map +1 -0
- package/packages/core/dist/doctor/doctor.d.ts +6 -0
- package/packages/core/dist/doctor/doctor.js +292 -0
- package/packages/core/dist/doctor/doctor.js.map +1 -0
- package/packages/core/dist/doctor/model.d.ts +11 -0
- package/packages/core/dist/doctor/model.js +2 -0
- package/packages/core/dist/doctor/model.js.map +1 -0
- package/packages/core/dist/doctor/render.d.ts +2 -0
- package/packages/core/dist/doctor/render.js +44 -0
- package/packages/core/dist/doctor/render.js.map +1 -0
- package/packages/core/dist/doctor/summary.d.ts +2 -0
- package/packages/core/dist/doctor/summary.js +10 -0
- package/packages/core/dist/doctor/summary.js.map +1 -0
- package/packages/core/dist/doctor.d.ts +2 -0
- package/packages/core/dist/doctor.js +3 -0
- package/packages/core/dist/doctor.js.map +1 -0
- package/packages/core/dist/evidence/lookup.d.ts +23 -0
- package/packages/core/dist/evidence/lookup.js +54 -0
- package/packages/core/dist/evidence/lookup.js.map +1 -0
- package/packages/core/dist/evidence-runtime/contracts.d.ts +44 -0
- package/packages/core/dist/evidence-runtime/contracts.js +2 -0
- package/packages/core/dist/evidence-runtime/contracts.js.map +1 -0
- package/packages/core/dist/evidence-runtime.d.ts +1 -0
- package/packages/core/dist/evidence-runtime.js +2 -0
- package/packages/core/dist/evidence-runtime.js.map +1 -0
- package/packages/core/dist/execution/agent-execution-records.d.ts +31 -0
- package/packages/core/dist/execution/agent-execution-records.js +170 -0
- package/packages/core/dist/execution/agent-execution-records.js.map +1 -0
- package/packages/core/dist/execution/background-executor.d.ts +44 -0
- package/packages/core/dist/execution/background-executor.js +249 -0
- package/packages/core/dist/execution/background-executor.js.map +1 -0
- package/packages/core/dist/execution/foreground-subagents.d.ts +55 -0
- package/packages/core/dist/execution/foreground-subagents.js +363 -0
- package/packages/core/dist/execution/foreground-subagents.js.map +1 -0
- package/packages/core/dist/execution/host-invocation.d.ts +27 -0
- package/packages/core/dist/execution/host-invocation.js +185 -0
- package/packages/core/dist/execution/host-invocation.js.map +1 -0
- package/packages/core/dist/execution/resident-worker.d.ts +100 -0
- package/packages/core/dist/execution/resident-worker.js +327 -0
- package/packages/core/dist/execution/resident-worker.js.map +1 -0
- package/packages/core/dist/execution/stage-team-runtime.d.ts +112 -0
- package/packages/core/dist/execution/stage-team-runtime.js +145 -0
- package/packages/core/dist/execution/stage-team-runtime.js.map +1 -0
- package/packages/core/dist/execution/wave-executor.d.ts +45 -0
- package/packages/core/dist/execution/wave-executor.js +178 -0
- package/packages/core/dist/execution/wave-executor.js.map +1 -0
- package/packages/core/dist/execution.d.ts +5 -0
- package/packages/core/dist/execution.js +6 -0
- package/packages/core/dist/execution.js.map +1 -0
- package/packages/core/dist/governance/policy.d.ts +53 -0
- package/packages/core/dist/governance/policy.js +111 -0
- package/packages/core/dist/governance/policy.js.map +1 -0
- package/packages/core/dist/governance.d.ts +1 -0
- package/packages/core/dist/governance.js +2 -0
- package/packages/core/dist/governance.js.map +1 -0
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.js +2 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/instructions.d.ts +14 -0
- package/packages/core/dist/instructions.js +147 -0
- package/packages/core/dist/instructions.js.map +1 -0
- package/packages/core/dist/lifecycle/decision-gate.d.ts +39 -0
- package/packages/core/dist/lifecycle/decision-gate.js +319 -0
- package/packages/core/dist/lifecycle/decision-gate.js.map +1 -0
- package/packages/core/dist/lifecycle/rendering.d.ts +2 -0
- package/packages/core/dist/lifecycle/rendering.js +27 -0
- package/packages/core/dist/lifecycle/rendering.js.map +1 -0
- package/packages/core/dist/lifecycle/risk-signals.d.ts +57 -0
- package/packages/core/dist/lifecycle/risk-signals.js +80 -0
- package/packages/core/dist/lifecycle/risk-signals.js.map +1 -0
- package/packages/core/dist/lifecycle/ship.d.ts +44 -0
- package/packages/core/dist/lifecycle/ship.js +207 -0
- package/packages/core/dist/lifecycle/ship.js.map +1 -0
- package/packages/core/dist/lifecycle.d.ts +4 -0
- package/packages/core/dist/lifecycle.js +5 -0
- package/packages/core/dist/lifecycle.js.map +1 -0
- package/packages/core/dist/orchestration/contracts.d.ts +45 -0
- package/packages/core/dist/orchestration/contracts.js +2 -0
- package/packages/core/dist/orchestration/contracts.js.map +1 -0
- package/packages/core/dist/orchestration/index.d.ts +2 -0
- package/packages/core/dist/orchestration/index.js +3 -0
- package/packages/core/dist/orchestration/index.js.map +1 -0
- package/packages/core/dist/orchestration/runtime.d.ts +55 -0
- package/packages/core/dist/orchestration/runtime.js +314 -0
- package/packages/core/dist/orchestration/runtime.js.map +1 -0
- package/packages/core/dist/path-safety.d.ts +4 -0
- package/packages/core/dist/path-safety.js +35 -0
- package/packages/core/dist/path-safety.js.map +1 -0
- package/packages/core/dist/planning/task-graph.d.ts +57 -0
- package/packages/core/dist/planning/task-graph.js +157 -0
- package/packages/core/dist/planning/task-graph.js.map +1 -0
- package/packages/core/dist/planning/wave-plan.d.ts +37 -0
- package/packages/core/dist/planning/wave-plan.js +119 -0
- package/packages/core/dist/planning/wave-plan.js.map +1 -0
- package/packages/core/dist/planning.d.ts +2 -0
- package/packages/core/dist/planning.js +3 -0
- package/packages/core/dist/planning.js.map +1 -0
- package/packages/core/dist/registries/agent-capability-catalog.d.ts +70 -0
- package/packages/core/dist/registries/agent-capability-catalog.js +267 -0
- package/packages/core/dist/registries/agent-capability-catalog.js.map +1 -0
- package/packages/core/dist/registries/agent-registry.d.ts +22 -0
- package/packages/core/dist/registries/agent-registry.js +121 -0
- package/packages/core/dist/registries/agent-registry.js.map +1 -0
- package/packages/core/dist/registries/agent-runtime-static.d.ts +61 -0
- package/packages/core/dist/registries/agent-runtime-static.js +69 -0
- package/packages/core/dist/registries/agent-runtime-static.js.map +1 -0
- package/packages/core/dist/registries/capability-sources.d.ts +2 -0
- package/packages/core/dist/registries/capability-sources.js +226 -0
- package/packages/core/dist/registries/capability-sources.js.map +1 -0
- package/packages/core/dist/registries/command-team-runtime.d.ts +70 -0
- package/packages/core/dist/registries/command-team-runtime.js +220 -0
- package/packages/core/dist/registries/command-team-runtime.js.map +1 -0
- package/packages/core/dist/registries/eval-learning-context.d.ts +64 -0
- package/packages/core/dist/registries/eval-learning-context.js +161 -0
- package/packages/core/dist/registries/eval-learning-context.js.map +1 -0
- package/packages/core/dist/registries/query-status.d.ts +28 -0
- package/packages/core/dist/registries/query-status.js +84 -0
- package/packages/core/dist/registries/query-status.js.map +1 -0
- package/packages/core/dist/registries/skill-capabilities.d.ts +22 -0
- package/packages/core/dist/registries/skill-capabilities.js +16 -0
- package/packages/core/dist/registries/skill-capabilities.js.map +1 -0
- package/packages/core/dist/registries/tool-capabilities.d.ts +20 -0
- package/packages/core/dist/registries/tool-capabilities.js +111 -0
- package/packages/core/dist/registries/tool-capabilities.js.map +1 -0
- package/packages/core/dist/registries/tool-plugins.d.ts +21 -0
- package/packages/core/dist/registries/tool-plugins.js +107 -0
- package/packages/core/dist/registries/tool-plugins.js.map +1 -0
- package/packages/core/dist/registries/worker-adapters.d.ts +38 -0
- package/packages/core/dist/registries/worker-adapters.js +99 -0
- package/packages/core/dist/registries/worker-adapters.js.map +1 -0
- package/packages/core/dist/registries/workflow-gates.d.ts +19 -0
- package/packages/core/dist/registries/workflow-gates.js +89 -0
- package/packages/core/dist/registries/workflow-gates.js.map +1 -0
- package/packages/core/dist/registries.d.ts +14 -0
- package/packages/core/dist/registries.js +13 -0
- package/packages/core/dist/registries.js.map +1 -0
- package/packages/core/dist/risk/consumer-diagnostics.d.ts +18 -0
- package/packages/core/dist/risk/consumer-diagnostics.js +77 -0
- package/packages/core/dist/risk/consumer-diagnostics.js.map +1 -0
- package/packages/core/dist/risk/contracts.d.ts +57 -0
- package/packages/core/dist/risk/contracts.js +2 -0
- package/packages/core/dist/risk/contracts.js.map +1 -0
- package/packages/core/dist/risk/kernel.d.ts +20 -0
- package/packages/core/dist/risk/kernel.js +195 -0
- package/packages/core/dist/risk/kernel.js.map +1 -0
- package/packages/core/dist/risk/legacy-adapters.d.ts +33 -0
- package/packages/core/dist/risk/legacy-adapters.js +215 -0
- package/packages/core/dist/risk/legacy-adapters.js.map +1 -0
- package/packages/core/dist/risk/workflow-gates.d.ts +24 -0
- package/packages/core/dist/risk/workflow-gates.js +160 -0
- package/packages/core/dist/risk/workflow-gates.js.map +1 -0
- package/packages/core/dist/risk.d.ts +5 -0
- package/packages/core/dist/risk.js +6 -0
- package/packages/core/dist/risk.js.map +1 -0
- package/packages/core/dist/router/agent-runtime-config.d.ts +4 -0
- package/packages/core/dist/router/agent-runtime-config.js +278 -0
- package/packages/core/dist/router/agent-runtime-config.js.map +1 -0
- package/packages/core/dist/router/agent-runtime.d.ts +343 -0
- package/packages/core/dist/router/agent-runtime.js +2 -0
- package/packages/core/dist/router/agent-runtime.js.map +1 -0
- package/packages/core/dist/router/profile-resolution.d.ts +18 -0
- package/packages/core/dist/router/profile-resolution.js +127 -0
- package/packages/core/dist/router/profile-resolution.js.map +1 -0
- package/packages/core/dist/router/risk-policy.d.ts +6 -0
- package/packages/core/dist/router/risk-policy.js +28 -0
- package/packages/core/dist/router/risk-policy.js.map +1 -0
- package/packages/core/dist/router/route-cache.d.ts +39 -0
- package/packages/core/dist/router/route-cache.js +59 -0
- package/packages/core/dist/router/route-cache.js.map +1 -0
- package/packages/core/dist/router/route-projection.d.ts +14 -0
- package/packages/core/dist/router/route-projection.js +318 -0
- package/packages/core/dist/router/route-projection.js.map +1 -0
- package/packages/core/dist/router/route-sdd-task.d.ts +3 -0
- package/packages/core/dist/router/route-sdd-task.js +4 -0
- package/packages/core/dist/router/route-sdd-task.js.map +1 -0
- package/packages/core/dist/router/routing-rules.d.ts +4 -0
- package/packages/core/dist/router/routing-rules.js +68 -0
- package/packages/core/dist/router/routing-rules.js.map +1 -0
- package/packages/core/dist/router/routing.d.ts +18 -0
- package/packages/core/dist/router/routing.js +169 -0
- package/packages/core/dist/router/routing.js.map +1 -0
- package/packages/core/dist/router/runtime-inspection.d.ts +7 -0
- package/packages/core/dist/router/runtime-inspection.js +102 -0
- package/packages/core/dist/router/runtime-inspection.js.map +1 -0
- package/packages/core/dist/router/runtime-registry.d.ts +17 -0
- package/packages/core/dist/router/runtime-registry.js +82 -0
- package/packages/core/dist/router/runtime-registry.js.map +1 -0
- package/packages/core/dist/router/runtime-validation.d.ts +26 -0
- package/packages/core/dist/router/runtime-validation.js +235 -0
- package/packages/core/dist/router/runtime-validation.js.map +1 -0
- package/packages/core/dist/router/team-mode.d.ts +16 -0
- package/packages/core/dist/router/team-mode.js +134 -0
- package/packages/core/dist/router/team-mode.js.map +1 -0
- package/packages/core/dist/router.d.ts +4 -0
- package/packages/core/dist/router.js +5 -0
- package/packages/core/dist/router.js.map +1 -0
- package/packages/core/dist/run-state/artifacts.d.ts +6 -0
- package/packages/core/dist/run-state/artifacts.js +113 -0
- package/packages/core/dist/run-state/artifacts.js.map +1 -0
- package/packages/core/dist/run-state/events.d.ts +3 -0
- package/packages/core/dist/run-state/events.js +23 -0
- package/packages/core/dist/run-state/events.js.map +1 -0
- package/packages/core/dist/run-state/inspect-run.d.ts +102 -0
- package/packages/core/dist/run-state/inspect-run.js +83 -0
- package/packages/core/dist/run-state/inspect-run.js.map +1 -0
- package/packages/core/dist/run-state/invocation-ledger.d.ts +18 -0
- package/packages/core/dist/run-state/invocation-ledger.js +99 -0
- package/packages/core/dist/run-state/invocation-ledger.js.map +1 -0
- package/packages/core/dist/run-state/model.d.ts +203 -0
- package/packages/core/dist/run-state/model.js +2 -0
- package/packages/core/dist/run-state/model.js.map +1 -0
- package/packages/core/dist/run-state/run-index.d.ts +97 -0
- package/packages/core/dist/run-state/run-index.js +238 -0
- package/packages/core/dist/run-state/run-index.js.map +1 -0
- package/packages/core/dist/run-state/run-state.d.ts +20 -0
- package/packages/core/dist/run-state/run-state.js +366 -0
- package/packages/core/dist/run-state/run-state.js.map +1 -0
- package/packages/core/dist/run-state/task-evidence.d.ts +62 -0
- package/packages/core/dist/run-state/task-evidence.js +130 -0
- package/packages/core/dist/run-state/task-evidence.js.map +1 -0
- package/packages/core/dist/run-state.d.ts +8 -0
- package/packages/core/dist/run-state.js +9 -0
- package/packages/core/dist/run-state.js.map +1 -0
- package/packages/core/dist/runtime-analysis/build.d.ts +2 -0
- package/packages/core/dist/runtime-analysis/build.js +61 -0
- package/packages/core/dist/runtime-analysis/build.js.map +1 -0
- package/packages/core/dist/runtime-analysis/findings.d.ts +4 -0
- package/packages/core/dist/runtime-analysis/findings.js +274 -0
- package/packages/core/dist/runtime-analysis/findings.js.map +1 -0
- package/packages/core/dist/runtime-analysis/model.d.ts +175 -0
- package/packages/core/dist/runtime-analysis/model.js +2 -0
- package/packages/core/dist/runtime-analysis/model.js.map +1 -0
- package/packages/core/dist/runtime-analysis.d.ts +3 -0
- package/packages/core/dist/runtime-analysis.js +4 -0
- package/packages/core/dist/runtime-analysis.js.map +1 -0
- package/packages/core/dist/runtime-paths.d.ts +35 -0
- package/packages/core/dist/runtime-paths.js +142 -0
- package/packages/core/dist/runtime-paths.js.map +1 -0
- package/packages/core/dist/sdd-docs/context.d.ts +18 -0
- package/packages/core/dist/sdd-docs/context.js +89 -0
- package/packages/core/dist/sdd-docs/context.js.map +1 -0
- package/packages/core/dist/sdd-docs/document-hashes.d.ts +4 -0
- package/packages/core/dist/sdd-docs/document-hashes.js +189 -0
- package/packages/core/dist/sdd-docs/document-hashes.js.map +1 -0
- package/packages/core/dist/sdd-docs/run-binding.d.ts +6 -0
- package/packages/core/dist/sdd-docs/run-binding.js +88 -0
- package/packages/core/dist/sdd-docs/run-binding.js.map +1 -0
- package/packages/core/dist/sdd-docs/task-inspection.d.ts +6 -0
- package/packages/core/dist/sdd-docs/task-inspection.js +31 -0
- package/packages/core/dist/sdd-docs/task-inspection.js.map +1 -0
- package/packages/core/dist/sdd-docs/task-parser.d.ts +98 -0
- package/packages/core/dist/sdd-docs/task-parser.js +538 -0
- package/packages/core/dist/sdd-docs/task-parser.js.map +1 -0
- package/packages/core/dist/sdd-docs/task-rendering.d.ts +5 -0
- package/packages/core/dist/sdd-docs/task-rendering.js +77 -0
- package/packages/core/dist/sdd-docs/task-rendering.js.map +1 -0
- package/packages/core/dist/sdd-docs.d.ts +5 -0
- package/packages/core/dist/sdd-docs.js +6 -0
- package/packages/core/dist/sdd-docs.js.map +1 -0
- package/packages/core/dist/stage-runtime/contracts.d.ts +37 -0
- package/packages/core/dist/stage-runtime/contracts.js +2 -0
- package/packages/core/dist/stage-runtime/contracts.js.map +1 -0
- package/packages/core/dist/stage-runtime/runtime.d.ts +71 -0
- package/packages/core/dist/stage-runtime/runtime.js +275 -0
- package/packages/core/dist/stage-runtime/runtime.js.map +1 -0
- package/packages/core/dist/stage-runtime.d.ts +2 -0
- package/packages/core/dist/stage-runtime.js +3 -0
- package/packages/core/dist/stage-runtime.js.map +1 -0
- package/packages/core/dist/status/project-status.d.ts +166 -0
- package/packages/core/dist/status/project-status.js +439 -0
- package/packages/core/dist/status/project-status.js.map +1 -0
- package/packages/core/dist/status.d.ts +2 -0
- package/packages/core/dist/status.js +3 -0
- package/packages/core/dist/status.js.map +1 -0
- package/packages/core/dist/storage/json-io.d.ts +1 -0
- package/packages/core/dist/storage/json-io.js +11 -0
- package/packages/core/dist/storage/json-io.js.map +1 -0
- package/packages/core/dist/storage/runtime-store.d.ts +305 -0
- package/packages/core/dist/storage/runtime-store.js +859 -0
- package/packages/core/dist/storage/runtime-store.js.map +1 -0
- package/packages/core/dist/subagents/contracts.d.ts +41 -0
- package/packages/core/dist/subagents/contracts.js +2 -0
- package/packages/core/dist/subagents/contracts.js.map +1 -0
- package/packages/core/dist/subagents/runtime.d.ts +43 -0
- package/packages/core/dist/subagents/runtime.js +262 -0
- package/packages/core/dist/subagents/runtime.js.map +1 -0
- package/packages/core/dist/subagents.d.ts +2 -0
- package/packages/core/dist/subagents.js +3 -0
- package/packages/core/dist/subagents.js.map +1 -0
- package/packages/core/dist/sync-back/apply.d.ts +17 -0
- package/packages/core/dist/sync-back/apply.js +243 -0
- package/packages/core/dist/sync-back/apply.js.map +1 -0
- package/packages/core/dist/sync-back/inspect.d.ts +110 -0
- package/packages/core/dist/sync-back/inspect.js +497 -0
- package/packages/core/dist/sync-back/inspect.js.map +1 -0
- package/packages/core/dist/sync-back.d.ts +2 -0
- package/packages/core/dist/sync-back.js +3 -0
- package/packages/core/dist/sync-back.js.map +1 -0
- package/packages/core/dist/task-risk-profile.d.ts +33 -0
- package/packages/core/dist/task-risk-profile.js +153 -0
- package/packages/core/dist/task-risk-profile.js.map +1 -0
- package/packages/core/dist/test-support/fixtures.d.ts +21 -0
- package/packages/core/dist/test-support/fixtures.js +384 -0
- package/packages/core/dist/test-support/fixtures.js.map +1 -0
- package/packages/core/dist/test-support/run-state.d.ts +2 -0
- package/packages/core/dist/test-support/run-state.js +69 -0
- package/packages/core/dist/test-support/run-state.js.map +1 -0
- package/packages/core/dist/test-support.d.ts +2 -0
- package/packages/core/dist/test-support.js +3 -0
- package/packages/core/dist/test-support.js.map +1 -0
- package/packages/core/dist/tsconfig.tsbuildinfo +1 -0
- package/packages/core/dist/verification/goal-verify.d.ts +50 -0
- package/packages/core/dist/verification/goal-verify.js +546 -0
- package/packages/core/dist/verification/goal-verify.js.map +1 -0
- package/packages/core/dist/verification/rendering.d.ts +51 -0
- package/packages/core/dist/verification/rendering.js +129 -0
- package/packages/core/dist/verification/rendering.js.map +1 -0
- package/packages/core/dist/verification/review-gate.d.ts +22 -0
- package/packages/core/dist/verification/review-gate.js +53 -0
- package/packages/core/dist/verification/review-gate.js.map +1 -0
- package/packages/core/dist/verification/single-task-loop.d.ts +29 -0
- package/packages/core/dist/verification/single-task-loop.js +425 -0
- package/packages/core/dist/verification/single-task-loop.js.map +1 -0
- package/packages/core/dist/verification/test-runtime.d.ts +77 -0
- package/packages/core/dist/verification/test-runtime.js +877 -0
- package/packages/core/dist/verification/test-runtime.js.map +1 -0
- package/packages/core/dist/verification/validation-wave.d.ts +58 -0
- package/packages/core/dist/verification/validation-wave.js +428 -0
- package/packages/core/dist/verification/validation-wave.js.map +1 -0
- package/packages/core/dist/verification/verify-contract.d.ts +44 -0
- package/packages/core/dist/verification/verify-contract.js +299 -0
- package/packages/core/dist/verification/verify-contract.js.map +1 -0
- package/packages/core/dist/verification.d.ts +8 -0
- package/packages/core/dist/verification.js +8 -0
- package/packages/core/dist/verification.js.map +1 -0
- package/packages/core/dist/work-units/contracts.d.ts +24 -0
- package/packages/core/dist/work-units/contracts.js +2 -0
- package/packages/core/dist/work-units/contracts.js.map +1 -0
- package/packages/core/dist/work-units/runtime.d.ts +21 -0
- package/packages/core/dist/work-units/runtime.js +90 -0
- package/packages/core/dist/work-units/runtime.js.map +1 -0
- package/packages/core/dist/work-units.d.ts +2 -0
- package/packages/core/dist/work-units.js +3 -0
- package/packages/core/dist/work-units.js.map +1 -0
- package/packages/core/dist/workflow-gate/evidence-packet.d.ts +24 -0
- package/packages/core/dist/workflow-gate/evidence-packet.js +182 -0
- package/packages/core/dist/workflow-gate/evidence-packet.js.map +1 -0
- package/packages/core/dist/workflow-gate/hard-checks.d.ts +4 -0
- package/packages/core/dist/workflow-gate/hard-checks.js +130 -0
- package/packages/core/dist/workflow-gate/hard-checks.js.map +1 -0
- package/packages/core/dist/workflow-gate/policy.d.ts +4 -0
- package/packages/core/dist/workflow-gate/policy.js +146 -0
- package/packages/core/dist/workflow-gate/policy.js.map +1 -0
- package/packages/core/dist/workflow-gate/types.d.ts +89 -0
- package/packages/core/dist/workflow-gate/types.js +2 -0
- package/packages/core/dist/workflow-gate/types.js.map +1 -0
- package/packages/core/dist/workflow-state/affected-file-conflicts.d.ts +13 -0
- package/packages/core/dist/workflow-state/affected-file-conflicts.js +75 -0
- package/packages/core/dist/workflow-state/affected-file-conflicts.js.map +1 -0
- package/packages/core/dist/workflow-state/dependencies.d.ts +29 -0
- package/packages/core/dist/workflow-state/dependencies.js +78 -0
- package/packages/core/dist/workflow-state/dependencies.js.map +1 -0
- package/packages/core/dist/workflow-state/latest-eligible-run.d.ts +38 -0
- package/packages/core/dist/workflow-state/latest-eligible-run.js +122 -0
- package/packages/core/dist/workflow-state/latest-eligible-run.js.map +1 -0
- package/packages/core/dist/workflow-state/resolve.d.ts +77 -0
- package/packages/core/dist/workflow-state/resolve.js +253 -0
- package/packages/core/dist/workflow-state/resolve.js.map +1 -0
- package/packages/core/dist/workflow-state.d.ts +2 -0
- package/packages/core/dist/workflow-state.js +3 -0
- package/packages/core/dist/workflow-state.js.map +1 -0
- package/packages/core/dist/worktree/isolation.d.ts +40 -0
- package/packages/core/dist/worktree/isolation.js +89 -0
- package/packages/core/dist/worktree/isolation.js.map +1 -0
- package/packages/core/dist/worktree/lifecycle.d.ts +39 -0
- package/packages/core/dist/worktree/lifecycle.js +221 -0
- package/packages/core/dist/worktree/lifecycle.js.map +1 -0
- package/packages/core/dist/worktree.d.ts +2 -0
- package/packages/core/dist/worktree.js +3 -0
- package/packages/core/dist/worktree.js.map +1 -0
- package/packages/core/package.json +40 -0
- package/tsconfig.build.json +4 -3
- package/dist/packages/cli/src/main.js +0 -2522
- package/dist/packages/cli/src/main.js.map +0 -1
- package/dist/packages/cli/src/options.js.map +0 -1
- package/dist/packages/core/src/ai-tools.js +0 -315
- package/dist/packages/core/src/ai-tools.js.map +0 -1
- package/dist/packages/core/src/index.d.ts +0 -1986
- package/dist/packages/core/src/index.js +0 -9722
- package/dist/packages/core/src/index.js.map +0 -1
- package/dist/packages/core/src/instructions.js +0 -118
- package/dist/packages/core/src/instructions.js.map +0 -1
- package/dist/packages/core/src/path-safety.js.map +0 -1
- /package/{dist/packages/core/src → node_modules/@sdd-agent-platform/core/dist}/path-safety.d.ts +0 -0
- /package/{dist/packages/core/src → node_modules/@sdd-agent-platform/core/dist}/path-safety.js +0 -0
- /package/{dist/packages/cli/src → packages/cli/dist}/main.d.ts +0 -0
|
@@ -0,0 +1,859 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { mkdir, readFile } from 'node:fs/promises';
|
|
3
|
+
import { getRuntimeStorePath, getSddDir } from '../runtime-paths.js';
|
|
4
|
+
import { exists } from './json-io.js';
|
|
5
|
+
import { RUNTIME_PROJECTION_ENVELOPE_CONTRACT_VERSION } from '../contracts.js';
|
|
6
|
+
import { assertAdvisoryAssessment, assertValidFanInEvidenceSet, assertValidStageRoleResult } from '../execution/stage-team-runtime.js';
|
|
7
|
+
export const RUNTIME_STORE_SCHEMA_VERSION = 6;
|
|
8
|
+
export const RUNTIME_STORE_CONTRACT_VERSION = 'phase-8.17-validation-wave-runtime-v6';
|
|
9
|
+
export class RuntimeStoreError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
constructor(code, message, options) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.code = code;
|
|
14
|
+
this.name = 'RuntimeStoreError';
|
|
15
|
+
this.cause = options?.cause;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
let runtimeStoreConstructorPromise = null;
|
|
19
|
+
export async function withRuntimeStore(projectRoot, fn) {
|
|
20
|
+
const store = await openRuntimeStore(projectRoot);
|
|
21
|
+
try {
|
|
22
|
+
return await fn(store);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
store.db.close();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function loadRuntimeStoreConstructor() {
|
|
29
|
+
runtimeStoreConstructorPromise ??= importNodeSqlite()
|
|
30
|
+
.then((sqlite) => sqlite.DatabaseSync)
|
|
31
|
+
.catch((error) => {
|
|
32
|
+
throw new RuntimeStoreError('STORE_UNAVAILABLE', `node:sqlite is unavailable: ${messageFromError(error)}`, { cause: error });
|
|
33
|
+
});
|
|
34
|
+
return runtimeStoreConstructorPromise;
|
|
35
|
+
}
|
|
36
|
+
async function importNodeSqlite() {
|
|
37
|
+
const emitWarning = process.emitWarning;
|
|
38
|
+
const forwardWarning = emitWarning;
|
|
39
|
+
process.emitWarning = ((warning, ...args) => {
|
|
40
|
+
const message = warning instanceof Error ? warning.message : warning;
|
|
41
|
+
if (typeof message === 'string' && message.includes('SQLite is an experimental feature')) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
return forwardWarning.call(process, warning, ...args);
|
|
45
|
+
});
|
|
46
|
+
try {
|
|
47
|
+
return await import('node:sqlite');
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
process.emitWarning = emitWarning;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function openRuntimeStore(projectRoot) {
|
|
54
|
+
await mkdir(getSddDir(projectRoot), { recursive: true });
|
|
55
|
+
const DatabaseSync = await loadRuntimeStoreConstructor();
|
|
56
|
+
const storePath = getRuntimeStorePath(projectRoot);
|
|
57
|
+
let db;
|
|
58
|
+
try {
|
|
59
|
+
db = new DatabaseSync(storePath);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
throw new RuntimeStoreError('STORE_UNAVAILABLE', `Cannot open runtime store ${storePath}: ${messageFromError(error)}`, { cause: error });
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
db.exec('PRAGMA foreign_keys = ON');
|
|
66
|
+
db.exec('PRAGMA busy_timeout = 5000');
|
|
67
|
+
db.exec('PRAGMA journal_mode = WAL');
|
|
68
|
+
initializeRuntimeStoreSchema(db);
|
|
69
|
+
return { path: storePath, db };
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
db.close();
|
|
73
|
+
throw new RuntimeStoreError('SCHEMA_MISMATCH', `Cannot initialize runtime store ${storePath}: ${messageFromError(error)}`, { cause: error });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function initializeRuntimeStoreSchema(db) {
|
|
77
|
+
const currentVersion = readRuntimeStoreSchemaVersion(db);
|
|
78
|
+
if (currentVersion > RUNTIME_STORE_SCHEMA_VERSION) {
|
|
79
|
+
throw new RuntimeStoreError('SCHEMA_MISMATCH', `Runtime store schema ${currentVersion} is newer than supported schema ${RUNTIME_STORE_SCHEMA_VERSION}.`);
|
|
80
|
+
}
|
|
81
|
+
db.exec(`
|
|
82
|
+
CREATE TABLE IF NOT EXISTS runtime_meta (key TEXT PRIMARY KEY, value TEXT NOT NULL, updated_at TEXT NOT NULL);
|
|
83
|
+
CREATE TABLE IF NOT EXISTS runs (run_id TEXT PRIMARY KEY, status TEXT NOT NULL, phase TEXT, current_task TEXT, partition TEXT, git_branch TEXT, task_id TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, state_json TEXT NOT NULL, state_hash TEXT NOT NULL);
|
|
84
|
+
CREATE TABLE IF NOT EXISTS events (event_id INTEGER PRIMARY KEY AUTOINCREMENT, run_id TEXT NOT NULL, event_time TEXT NOT NULL, event_name TEXT NOT NULL, event_hash TEXT NOT NULL, event_json TEXT NOT NULL, source TEXT NOT NULL DEFAULT 'runtime', FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE, UNIQUE(run_id, event_hash));
|
|
85
|
+
CREATE TABLE IF NOT EXISTS attempts (attempt_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, task_id TEXT, status TEXT, payload_json TEXT NOT NULL, updated_at TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
86
|
+
CREATE TABLE IF NOT EXISTS activities (activity_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, task_id TEXT, branch TEXT, kind TEXT NOT NULL, ref TEXT NOT NULL, status TEXT, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
87
|
+
CREATE TABLE IF NOT EXISTS artifacts (artifact_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, path TEXT NOT NULL, kind TEXT NOT NULL, task_id TEXT, agent TEXT, content_hash TEXT NOT NULL, bytes INTEGER NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE, UNIQUE(run_id, path, content_hash));
|
|
88
|
+
CREATE TABLE IF NOT EXISTS artifact_ingestions (ingestion_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, delegation_id TEXT NOT NULL, task_id TEXT NOT NULL, agent TEXT NOT NULL, artifact_path TEXT NOT NULL, status TEXT NOT NULL, result_status TEXT, ingested_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
89
|
+
CREATE TABLE IF NOT EXISTS policy_decisions (decision_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, task_id TEXT, acceptance_id TEXT, status TEXT NOT NULL, issue_codes TEXT NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
90
|
+
CREATE TABLE IF NOT EXISTS evidence_claims (claim_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, partition TEXT, task_id TEXT NOT NULL, acceptance_id TEXT NOT NULL, coverage_status TEXT NOT NULL, source_artifact TEXT NOT NULL, is_derived INTEGER NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
91
|
+
CREATE TABLE IF NOT EXISTS evidence_attachments (evidence_id TEXT PRIMARY KEY, branch_slug TEXT NOT NULL, run_id TEXT, task_id TEXT, kind TEXT NOT NULL, relative_path TEXT NOT NULL, content_hash TEXT NOT NULL, bytes INTEGER NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE, UNIQUE(branch_slug, relative_path, content_hash));
|
|
92
|
+
CREATE TABLE IF NOT EXISTS gaps (gap_id TEXT PRIMARY KEY, run_id TEXT, task_id TEXT, severity TEXT NOT NULL, payload_json TEXT NOT NULL, created_at TEXT NOT NULL);
|
|
93
|
+
CREATE TABLE IF NOT EXISTS recovery_actions (action_id TEXT PRIMARY KEY, run_id TEXT, task_id TEXT, status TEXT NOT NULL, payload_json TEXT NOT NULL, created_at TEXT NOT NULL);
|
|
94
|
+
CREATE TABLE IF NOT EXISTS source_snapshots (snapshot_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, partition TEXT, spec_hash TEXT, plan_hash TEXT, tasks_hash TEXT, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
95
|
+
CREATE TABLE IF NOT EXISTS projections (projection_id TEXT PRIMARY KEY, projection_type TEXT NOT NULL, scope_key TEXT NOT NULL, generated_at TEXT NOT NULL, payload_json TEXT NOT NULL, UNIQUE(projection_type, scope_key));
|
|
96
|
+
CREATE TABLE IF NOT EXISTS legacy_imports (import_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, entity_type TEXT NOT NULL, content_hash TEXT NOT NULL, imported_at TEXT NOT NULL, status TEXT NOT NULL, issue TEXT, UNIQUE(run_id, entity_type));
|
|
97
|
+
CREATE TABLE IF NOT EXISTS test_runs (test_run_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, partition TEXT, task_id TEXT NOT NULL, status TEXT NOT NULL, started_at TEXT NOT NULL, completed_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
98
|
+
CREATE TABLE IF NOT EXISTS test_steps (test_step_id TEXT PRIMARY KEY, test_run_id TEXT NOT NULL, run_id TEXT NOT NULL, task_id TEXT NOT NULL, command TEXT NOT NULL, status TEXT NOT NULL, exit_code INTEGER, duration_ms INTEGER NOT NULL, output_artifact TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(test_run_id) REFERENCES test_runs(test_run_id) ON DELETE CASCADE, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
99
|
+
CREATE TABLE IF NOT EXISTS agent_executions (execution_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, task_id TEXT NOT NULL, profile TEXT NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
100
|
+
CREATE TABLE IF NOT EXISTS team_sessions (team_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, task_id TEXT, status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
101
|
+
CREATE TABLE IF NOT EXISTS worker_runtimes (runtime_id TEXT NOT NULL, run_id TEXT NOT NULL, task_id TEXT NOT NULL, status TEXT NOT NULL, claimed_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, PRIMARY KEY(run_id, runtime_id), FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
102
|
+
CREATE TABLE IF NOT EXISTS artifact_payloads (payload_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, source_run_id TEXT NOT NULL, branch_slug TEXT NOT NULL, task_id TEXT, logical_ref TEXT NOT NULL, physical_payload_path TEXT NOT NULL, artifact_role TEXT NOT NULL, digest TEXT NOT NULL, sequence INTEGER NOT NULL, status TEXT NOT NULL, supersedes TEXT, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE, UNIQUE(branch_slug, physical_payload_path), UNIQUE(run_id, logical_ref, digest));
|
|
103
|
+
CREATE TABLE IF NOT EXISTS sync_back_decisions (decision_id TEXT PRIMARY KEY, run_id TEXT NOT NULL, branch TEXT NOT NULL, task_id TEXT, status TEXT NOT NULL, proposal_path TEXT, proposal_digest TEXT, proposal_payload_id TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
104
|
+
CREATE TABLE IF NOT EXISTS durable_gaps (gap_id TEXT PRIMARY KEY, partition TEXT NOT NULL, task_id TEXT, run_id TEXT, stage TEXT, gate_name TEXT, source TEXT NOT NULL, category TEXT NOT NULL, severity TEXT NOT NULL, status TEXT NOT NULL, message TEXT NOT NULL, recommendation TEXT, evidence_refs_json TEXT NOT NULL, proposal_refs_json TEXT NOT NULL, source_refs_json TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, closed_at TEXT, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
105
|
+
CREATE TABLE IF NOT EXISTS stage_team_sessions (session_id TEXT PRIMARY KEY, partition TEXT NOT NULL, run_id TEXT, task_id TEXT, stage TEXT NOT NULL, lifecycle_profile TEXT NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
106
|
+
CREATE TABLE IF NOT EXISTS stage_role_results (result_id TEXT PRIMARY KEY, session_id TEXT NOT NULL, partition TEXT NOT NULL, run_id TEXT, task_id TEXT, role_id TEXT NOT NULL, agent_id TEXT, output_kind TEXT NOT NULL, authority_ceiling TEXT NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
107
|
+
CREATE TABLE IF NOT EXISTS llm_advisor_assessments (assessment_id TEXT PRIMARY KEY, session_id TEXT, partition TEXT NOT NULL, run_id TEXT, task_id TEXT, kind TEXT NOT NULL, concern TEXT NOT NULL, advisory_only INTEGER NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
108
|
+
CREATE TABLE IF NOT EXISTS fan_in_evidence_sets (fan_in_id TEXT PRIMARY KEY, partition TEXT NOT NULL, run_id TEXT, task_id TEXT, stage TEXT NOT NULL, gate_input_only INTEGER NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
109
|
+
CREATE TABLE IF NOT EXISTS workflow_gate_decisions (decision_id TEXT PRIMARY KEY, input_hash TEXT NOT NULL, partition TEXT NOT NULL, run_id TEXT, task_id TEXT, decision_kind TEXT NOT NULL, status TEXT NOT NULL, decided_by TEXT NOT NULL, generated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
110
|
+
CREATE TABLE IF NOT EXISTS validation_environment_sessions (session_id TEXT PRIMARY KEY, partition TEXT NOT NULL, run_id TEXT, wave_run_id TEXT, status TEXT NOT NULL, reuse_key TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
111
|
+
CREATE TABLE IF NOT EXISTS validation_wave_runs (wave_run_id TEXT PRIMARY KEY, partition TEXT NOT NULL, run_id TEXT, task_ids_json TEXT NOT NULL, status TEXT NOT NULL, environment_session_id TEXT NOT NULL, started_at TEXT NOT NULL, completed_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE SET NULL);
|
|
112
|
+
CREATE TABLE IF NOT EXISTS acceptance_evidence_maps (map_id TEXT PRIMARY KEY, wave_run_id TEXT NOT NULL, test_run_id TEXT NOT NULL, partition TEXT NOT NULL, run_id TEXT NOT NULL, task_id TEXT NOT NULL, acceptance_ref TEXT NOT NULL, status TEXT NOT NULL, evidence_refs_json TEXT NOT NULL, gaps_json TEXT NOT NULL, created_at TEXT NOT NULL, payload_json TEXT NOT NULL, FOREIGN KEY(run_id) REFERENCES runs(run_id) ON DELETE CASCADE);
|
|
113
|
+
CREATE INDEX IF NOT EXISTS idx_runs_partition_task_updated ON runs(partition, task_id, updated_at);
|
|
114
|
+
CREATE INDEX IF NOT EXISTS idx_events_run_time ON events(run_id, event_time, event_id);
|
|
115
|
+
CREATE INDEX IF NOT EXISTS idx_artifacts_run_path ON artifacts(run_id, path);
|
|
116
|
+
CREATE INDEX IF NOT EXISTS idx_evidence_claims_run_task ON evidence_claims(run_id, task_id, acceptance_id);
|
|
117
|
+
CREATE INDEX IF NOT EXISTS idx_evidence_attachments_branch_created ON evidence_attachments(branch_slug, created_at);
|
|
118
|
+
CREATE INDEX IF NOT EXISTS idx_evidence_attachments_run_path ON evidence_attachments(run_id, relative_path);
|
|
119
|
+
CREATE INDEX IF NOT EXISTS idx_test_runs_run_task ON test_runs(run_id, task_id, completed_at);
|
|
120
|
+
CREATE INDEX IF NOT EXISTS idx_test_steps_test_run ON test_steps(test_run_id, status);
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_agent_executions_run_task ON agent_executions(run_id, task_id, created_at);
|
|
122
|
+
CREATE INDEX IF NOT EXISTS idx_team_sessions_run_task ON team_sessions(run_id, task_id, created_at);
|
|
123
|
+
CREATE INDEX IF NOT EXISTS idx_worker_runtimes_run_task ON worker_runtimes(run_id, task_id, updated_at);
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_artifact_payloads_logical ON artifact_payloads(branch_slug, logical_ref, status, sequence);
|
|
125
|
+
CREATE INDEX IF NOT EXISTS idx_artifact_payloads_run_logical ON artifact_payloads(run_id, logical_ref, status, sequence);
|
|
126
|
+
CREATE INDEX IF NOT EXISTS idx_sync_back_decisions_run_task ON sync_back_decisions(run_id, task_id, updated_at);
|
|
127
|
+
CREATE INDEX IF NOT EXISTS idx_durable_gaps_partition_task ON durable_gaps(partition, task_id, status, severity, updated_at);
|
|
128
|
+
CREATE INDEX IF NOT EXISTS idx_durable_gaps_run_task ON durable_gaps(run_id, task_id, status, severity, updated_at);
|
|
129
|
+
CREATE INDEX IF NOT EXISTS idx_stage_team_sessions_partition_task ON stage_team_sessions(partition, task_id, updated_at);
|
|
130
|
+
CREATE INDEX IF NOT EXISTS idx_stage_role_results_partition_task ON stage_role_results(partition, task_id, created_at);
|
|
131
|
+
CREATE INDEX IF NOT EXISTS idx_llm_advisor_assessments_partition_task ON llm_advisor_assessments(partition, task_id, created_at);
|
|
132
|
+
CREATE INDEX IF NOT EXISTS idx_fan_in_evidence_sets_partition_task ON fan_in_evidence_sets(partition, task_id, created_at);
|
|
133
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_gate_decisions_partition_task ON workflow_gate_decisions(partition, task_id, decision_kind, generated_at);
|
|
134
|
+
CREATE INDEX IF NOT EXISTS idx_validation_environment_sessions_partition ON validation_environment_sessions(partition, wave_run_id, updated_at);
|
|
135
|
+
CREATE INDEX IF NOT EXISTS idx_validation_wave_runs_partition ON validation_wave_runs(partition, status, completed_at);
|
|
136
|
+
CREATE INDEX IF NOT EXISTS idx_acceptance_evidence_maps_task ON acceptance_evidence_maps(partition, task_id, acceptance_ref, created_at);
|
|
137
|
+
`);
|
|
138
|
+
db.exec(`PRAGMA user_version = ${RUNTIME_STORE_SCHEMA_VERSION}`);
|
|
139
|
+
const now = new Date().toISOString();
|
|
140
|
+
db.prepare('INSERT OR REPLACE INTO runtime_meta (key, value, updated_at) VALUES (?, ?, ?)').run('contract', RUNTIME_STORE_CONTRACT_VERSION, now);
|
|
141
|
+
db.prepare('INSERT OR REPLACE INTO runtime_meta (key, value, updated_at) VALUES (?, ?, ?)').run('schema_version', String(RUNTIME_STORE_SCHEMA_VERSION), now);
|
|
142
|
+
}
|
|
143
|
+
function readRuntimeStoreSchemaVersion(db) {
|
|
144
|
+
const row = db.prepare('PRAGMA user_version').get();
|
|
145
|
+
return typeof row?.user_version === 'number' ? row.user_version : 0;
|
|
146
|
+
}
|
|
147
|
+
export async function recordRuntimeEvent(projectRoot, event, source = 'runtime') {
|
|
148
|
+
const eventJson = JSON.stringify(event);
|
|
149
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
150
|
+
db.prepare('INSERT OR IGNORE INTO events (run_id, event_time, event_name, event_hash, event_json, source) VALUES (?, ?, ?, ?, ?, ?)')
|
|
151
|
+
.run(event.runId, event.time, event.event, hashDocumentContent(eventJson), eventJson, source);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
export async function importLegacyRunEventsIfNeeded(projectRoot, runId, eventPath) {
|
|
155
|
+
if (!await exists(eventPath)) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
const raw = await readFile(eventPath, 'utf8');
|
|
160
|
+
const contentHash = hashDocumentContent(raw);
|
|
161
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
162
|
+
const legacy = db.prepare('SELECT content_hash FROM legacy_imports WHERE run_id = ? AND entity_type = ?').get(runId, 'events');
|
|
163
|
+
if (legacy?.content_hash === contentHash) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
for (const line of raw.split(/\r?\n/).filter((item) => item.trim().length > 0)) {
|
|
167
|
+
const event = JSON.parse(line);
|
|
168
|
+
const eventJson = JSON.stringify(event);
|
|
169
|
+
db.prepare('INSERT OR IGNORE INTO events (run_id, event_time, event_name, event_hash, event_json, source) VALUES (?, ?, ?, ?, ?, ?)')
|
|
170
|
+
.run(event.runId, event.time, event.event, hashDocumentContent(eventJson), eventJson, 'legacy');
|
|
171
|
+
}
|
|
172
|
+
db.prepare('INSERT OR REPLACE INTO legacy_imports (import_id, run_id, entity_type, content_hash, imported_at, status, issue) VALUES (?, ?, ?, ?, ?, ?, ?)')
|
|
173
|
+
.run(legacyImportId(runId, 'events'), runId, 'events', contentHash, new Date().toISOString(), 'imported', null);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
await recordLegacyImportFailure(projectRoot, runId, 'events', error);
|
|
178
|
+
throw new RuntimeStoreError('LEGACY_IMPORT_FAILED', `Cannot import legacy events for ${runId}: ${messageFromError(error)}`, { cause: error });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
export async function readRuntimeRunEvents(projectRoot, runId) {
|
|
182
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
183
|
+
const rows = db.prepare('SELECT event_json FROM events WHERE run_id = ? ORDER BY event_time ASC, event_id ASC').all(runId);
|
|
184
|
+
return rows.map((row) => JSON.parse(row.event_json));
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
export async function upsertRuntimeRunState(projectRoot, state, serializedState) {
|
|
188
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
189
|
+
db.prepare(`INSERT INTO runs (run_id, status, phase, current_task, partition, git_branch, task_id, created_at, updated_at, state_json, state_hash) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(run_id) DO UPDATE SET status=excluded.status, phase=excluded.phase, current_task=excluded.current_task, partition=excluded.partition, git_branch=excluded.git_branch, task_id=excluded.task_id, updated_at=excluded.updated_at, state_json=excluded.state_json, state_hash=excluded.state_hash`)
|
|
190
|
+
.run(state.runId, state.status, state.phase, state.currentTask, state.partition, state.gitBranch, state.taskId, state.createdAt, state.updatedAt, serializedState, hashDocumentContent(serializedState));
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
export async function readRuntimeRunState(projectRoot, runId) {
|
|
194
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
195
|
+
const row = db.prepare('SELECT state_json FROM runs WHERE run_id = ?').get(runId);
|
|
196
|
+
return row?.state_json ? JSON.parse(row.state_json) : null;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
export async function listRuntimeRunStates(projectRoot) {
|
|
200
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
201
|
+
const rows = db.prepare('SELECT state_json FROM runs ORDER BY updated_at DESC, run_id DESC').all();
|
|
202
|
+
return rows.map((row) => JSON.parse(row.state_json));
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
export async function recordRuntimeAgentExecution(projectRoot, record) {
|
|
206
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
207
|
+
db.prepare('INSERT OR REPLACE INTO agent_executions (execution_id, run_id, task_id, profile, status, created_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?)')
|
|
208
|
+
.run(record.executionId, record.runId, record.taskId, record.profile, record.status, record.createdAt, record.updatedAt, JSON.stringify(record));
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
export async function listRuntimeAgentExecutions(projectRoot, runId) {
|
|
212
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
213
|
+
const rows = db.prepare('SELECT payload_json FROM agent_executions WHERE run_id = ? ORDER BY created_at ASC, execution_id ASC').all(runId);
|
|
214
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
export async function recordRuntimeTeamSession(projectRoot, record) {
|
|
218
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
219
|
+
db.prepare('INSERT OR REPLACE INTO team_sessions (team_id, run_id, task_id, status, created_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?)')
|
|
220
|
+
.run(record.teamId, record.runId, record.taskId, record.status, record.createdAt, record.updatedAt, JSON.stringify(record));
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
export async function listRuntimeTeamSessions(projectRoot, runId) {
|
|
224
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
225
|
+
const rows = db.prepare('SELECT payload_json FROM team_sessions WHERE run_id = ? ORDER BY created_at ASC, team_id ASC').all(runId);
|
|
226
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
export async function recordRuntimeStageTeamSession(projectRoot, record) {
|
|
230
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
231
|
+
db.prepare('INSERT OR REPLACE INTO stage_team_sessions (session_id, partition, run_id, task_id, stage, lifecycle_profile, status, created_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
232
|
+
.run(record.sessionId, record.partition, record.runId, record.taskId, record.stage, record.lifecycleProfile, record.status, record.createdAt, record.updatedAt, JSON.stringify(record));
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
export async function listRuntimeStageTeamSessions(projectRoot, input = {}) {
|
|
236
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
237
|
+
const clauses = [];
|
|
238
|
+
const params = [];
|
|
239
|
+
appendRuntimeScopeClauses(clauses, params, input);
|
|
240
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
241
|
+
const rows = db.prepare(`SELECT payload_json FROM stage_team_sessions${where} ORDER BY updated_at DESC, session_id ASC`).all(...params);
|
|
242
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
export async function recordRuntimeStageRoleResult(projectRoot, record) {
|
|
246
|
+
assertValidStageRoleResult(record);
|
|
247
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
248
|
+
db.prepare('INSERT OR REPLACE INTO stage_role_results (result_id, session_id, partition, run_id, task_id, role_id, agent_id, output_kind, authority_ceiling, status, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
249
|
+
.run(record.resultId, record.sessionId, record.partition, record.runId, record.taskId, record.roleId, record.agentId, record.outputKind, record.authorityCeiling, record.status, record.createdAt, JSON.stringify(record));
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
export async function listRuntimeStageRoleResults(projectRoot, input = {}) {
|
|
253
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
254
|
+
const clauses = [];
|
|
255
|
+
const params = [];
|
|
256
|
+
appendRuntimeScopeClauses(clauses, params, input);
|
|
257
|
+
if (input.sessionId) {
|
|
258
|
+
clauses.push('session_id = ?');
|
|
259
|
+
params.push(input.sessionId);
|
|
260
|
+
}
|
|
261
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
262
|
+
const rows = db.prepare(`SELECT payload_json FROM stage_role_results${where} ORDER BY created_at ASC, result_id ASC`).all(...params);
|
|
263
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
export async function recordRuntimeLlmAdvisorAssessment(projectRoot, record) {
|
|
267
|
+
assertAdvisoryAssessment(record);
|
|
268
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
269
|
+
db.prepare('INSERT OR REPLACE INTO llm_advisor_assessments (assessment_id, session_id, partition, run_id, task_id, kind, concern, advisory_only, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
270
|
+
.run(record.assessmentId, record.sessionId, record.partition, record.runId, record.taskId, record.kind, record.concern, record.advisoryOnly ? 1 : 0, record.createdAt, JSON.stringify(record));
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
export async function listRuntimeLlmAdvisorAssessments(projectRoot, input = {}) {
|
|
274
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
275
|
+
const clauses = [];
|
|
276
|
+
const params = [];
|
|
277
|
+
appendRuntimeScopeClauses(clauses, params, input);
|
|
278
|
+
if (input.sessionId) {
|
|
279
|
+
clauses.push('session_id = ?');
|
|
280
|
+
params.push(input.sessionId);
|
|
281
|
+
}
|
|
282
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
283
|
+
const rows = db.prepare(`SELECT payload_json FROM llm_advisor_assessments${where} ORDER BY created_at ASC, assessment_id ASC`).all(...params);
|
|
284
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
export async function recordRuntimeFanInEvidenceSet(projectRoot, record) {
|
|
288
|
+
assertValidFanInEvidenceSet(record);
|
|
289
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
290
|
+
db.prepare('INSERT OR REPLACE INTO fan_in_evidence_sets (fan_in_id, partition, run_id, task_id, stage, gate_input_only, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?)')
|
|
291
|
+
.run(record.fanInId, record.partition, record.runId, record.taskId, record.stage, record.gateInputOnly ? 1 : 0, record.createdAt, JSON.stringify(record));
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
export async function listRuntimeFanInEvidenceSets(projectRoot, input = {}) {
|
|
295
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
296
|
+
const clauses = [];
|
|
297
|
+
const params = [];
|
|
298
|
+
appendRuntimeScopeClauses(clauses, params, input);
|
|
299
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
300
|
+
const rows = db.prepare(`SELECT payload_json FROM fan_in_evidence_sets${where} ORDER BY created_at ASC, fan_in_id ASC`).all(...params);
|
|
301
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
export async function recordRuntimeWorkflowGateDecision(projectRoot, decision) {
|
|
305
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
306
|
+
db.prepare('INSERT OR REPLACE INTO workflow_gate_decisions (decision_id, input_hash, partition, run_id, task_id, decision_kind, status, decided_by, generated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
307
|
+
.run(decision.decisionId, decision.inputHash, decision.partition, decision.runId, decision.taskId, decision.decisionKind, decision.status, decision.decidedBy, decision.generatedAt, JSON.stringify(decision));
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
export async function listRuntimeWorkflowGateDecisions(projectRoot, input = {}) {
|
|
311
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
312
|
+
const clauses = [];
|
|
313
|
+
const params = [];
|
|
314
|
+
appendRuntimeScopeClauses(clauses, params, input);
|
|
315
|
+
if (input.decisionKind) {
|
|
316
|
+
clauses.push('decision_kind = ?');
|
|
317
|
+
params.push(input.decisionKind);
|
|
318
|
+
}
|
|
319
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
320
|
+
const rows = db.prepare(`SELECT payload_json FROM workflow_gate_decisions${where} ORDER BY generated_at DESC, decision_id ASC`).all(...params);
|
|
321
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
export async function recordRuntimeWorkerRuntime(projectRoot, record) {
|
|
325
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
326
|
+
db.prepare('INSERT OR REPLACE INTO worker_runtimes (runtime_id, run_id, task_id, status, claimed_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?)')
|
|
327
|
+
.run(record.runtimeId, record.runId, record.taskId, record.status, record.claimedAt, record.updatedAt, JSON.stringify(record));
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
export async function readRuntimeWorkerRuntime(projectRoot, runId, runtimeId) {
|
|
331
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
332
|
+
const row = db.prepare('SELECT payload_json FROM worker_runtimes WHERE run_id = ? AND runtime_id = ?').get(runId, runtimeId);
|
|
333
|
+
return row?.payload_json ? JSON.parse(row.payload_json) : null;
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
export async function listRuntimeWorkerRuntimes(projectRoot, runId) {
|
|
337
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
338
|
+
const rows = db.prepare('SELECT payload_json FROM worker_runtimes WHERE run_id = ? ORDER BY updated_at ASC, runtime_id ASC').all(runId);
|
|
339
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
export async function recordRuntimeActivity(projectRoot, entry) {
|
|
343
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
344
|
+
db.prepare('INSERT OR REPLACE INTO activities (activity_id, run_id, task_id, branch, kind, ref, status, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
345
|
+
.run(entry.entryId, entry.runId, entry.taskId ?? null, entry.branch ?? null, entry.kind, entry.ref, entry.status ?? null, entry.timestamp, JSON.stringify(entry));
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
export async function readRuntimeActivities(projectRoot, runId) {
|
|
349
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
350
|
+
const rows = db.prepare('SELECT payload_json FROM activities WHERE run_id = ? ORDER BY created_at ASC, activity_id ASC').all(runId);
|
|
351
|
+
return rows.map((row) => JSON.parse(row.payload_json));
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
export async function recordRuntimeEvidenceAttachment(projectRoot, input) {
|
|
355
|
+
const now = new Date().toISOString();
|
|
356
|
+
const payloadJson = JSON.stringify(input.payload ?? { relativePath: input.relativePath, kind: input.kind });
|
|
357
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
358
|
+
db.prepare('INSERT OR REPLACE INTO evidence_attachments (evidence_id, branch_slug, run_id, task_id, kind, relative_path, content_hash, bytes, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
359
|
+
.run(runtimeScopedId(input.branchSlug, input.runId ?? 'none', input.relativePath, input.contentHash), input.branchSlug, input.runId ?? null, input.taskId ?? null, input.kind, input.relativePath, input.contentHash, input.bytes, now, payloadJson);
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
export async function recordRuntimeArtifactPayload(projectRoot, input) {
|
|
363
|
+
const createdAt = input.createdAt ?? new Date().toISOString();
|
|
364
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
365
|
+
const sequence = input.sequence ?? nextArtifactPayloadSequence(db, input.branchSlug, input.taskId, input.logicalRef);
|
|
366
|
+
const activePayload = input.status === 'active'
|
|
367
|
+
? db.prepare('SELECT payload_id FROM artifact_payloads WHERE branch_slug = ? AND ((task_id IS NULL AND ? IS NULL) OR task_id = ?) AND logical_ref = ? AND status = ? ORDER BY sequence DESC LIMIT 1').get(input.branchSlug, input.taskId, input.taskId, input.logicalRef, 'active')
|
|
368
|
+
: undefined;
|
|
369
|
+
const supersedes = input.supersedes ?? activePayload?.payload_id ?? null;
|
|
370
|
+
if (input.status === 'active') {
|
|
371
|
+
db.prepare('UPDATE artifact_payloads SET status = ? WHERE branch_slug = ? AND ((task_id IS NULL AND ? IS NULL) OR task_id = ?) AND logical_ref = ? AND status = ?')
|
|
372
|
+
.run('superseded', input.branchSlug, input.taskId, input.taskId, input.logicalRef, 'active');
|
|
373
|
+
}
|
|
374
|
+
const record = {
|
|
375
|
+
...input,
|
|
376
|
+
sequence,
|
|
377
|
+
supersedes,
|
|
378
|
+
createdAt
|
|
379
|
+
};
|
|
380
|
+
db.prepare('INSERT OR REPLACE INTO artifact_payloads (payload_id, run_id, source_run_id, branch_slug, task_id, logical_ref, physical_payload_path, artifact_role, digest, sequence, status, supersedes, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
381
|
+
.run(record.payloadId, record.runId, record.sourceRunId, record.branchSlug, record.taskId, record.logicalRef, record.physicalPayloadPath, record.artifactRole, record.digest, record.sequence, record.status, record.supersedes, record.createdAt, JSON.stringify(record.payload));
|
|
382
|
+
return record;
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
export async function resolveRuntimeArtifactPayload(projectRoot, runId, logicalRef) {
|
|
386
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
387
|
+
const row = db.prepare('SELECT * FROM artifact_payloads WHERE run_id = ? AND logical_ref = ? ORDER BY CASE status WHEN \'active\' THEN 0 WHEN \'candidate\' THEN 1 WHEN \'superseded\' THEN 2 ELSE 3 END ASC, sequence DESC').get(runId, logicalRef);
|
|
388
|
+
return row ? runtimeArtifactPayloadFromRow(row) : null;
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
export async function listRuntimeArtifactPayloads(projectRoot, input = {}) {
|
|
392
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
393
|
+
const clauses = [];
|
|
394
|
+
const params = [];
|
|
395
|
+
if (input.runId) {
|
|
396
|
+
clauses.push('run_id = ?');
|
|
397
|
+
params.push(input.runId);
|
|
398
|
+
}
|
|
399
|
+
if (input.branchSlug) {
|
|
400
|
+
clauses.push('branch_slug = ?');
|
|
401
|
+
params.push(input.branchSlug);
|
|
402
|
+
}
|
|
403
|
+
if (input.taskId) {
|
|
404
|
+
clauses.push('task_id = ?');
|
|
405
|
+
params.push(input.taskId);
|
|
406
|
+
}
|
|
407
|
+
if (input.logicalRef) {
|
|
408
|
+
clauses.push('logical_ref = ?');
|
|
409
|
+
params.push(input.logicalRef);
|
|
410
|
+
}
|
|
411
|
+
if (input.status) {
|
|
412
|
+
clauses.push('status = ?');
|
|
413
|
+
params.push(input.status);
|
|
414
|
+
}
|
|
415
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
416
|
+
const rows = db.prepare(`SELECT * FROM artifact_payloads${where} ORDER BY created_at DESC, sequence DESC`).all(...params);
|
|
417
|
+
return rows.map(runtimeArtifactPayloadFromRow);
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
export async function recordRuntimeSyncBackDecision(projectRoot, record) {
|
|
421
|
+
const payloadJson = JSON.stringify({ payload: record.payload, reasons: record.reasons });
|
|
422
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
423
|
+
db.prepare('INSERT OR REPLACE INTO sync_back_decisions (decision_id, run_id, branch, task_id, status, proposal_path, proposal_digest, proposal_payload_id, created_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
424
|
+
.run(record.decisionId, record.runId, record.branch, record.taskId, record.status, record.proposalPath, record.proposalDigest, record.proposalPayloadId, record.createdAt, record.updatedAt, payloadJson);
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
export async function readRuntimeSyncBackDecision(projectRoot, runId, taskId) {
|
|
428
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
429
|
+
const row = taskId
|
|
430
|
+
? db.prepare('SELECT * FROM sync_back_decisions WHERE run_id = ? AND task_id = ? ORDER BY updated_at DESC LIMIT 1').get(runId, taskId)
|
|
431
|
+
: db.prepare('SELECT * FROM sync_back_decisions WHERE run_id = ? ORDER BY updated_at DESC LIMIT 1').get(runId);
|
|
432
|
+
return row ? runtimeSyncBackDecisionFromRow(row) : null;
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
export async function listRuntimeSyncBackDecisions(projectRoot, runId) {
|
|
436
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
437
|
+
const rows = db.prepare('SELECT * FROM sync_back_decisions WHERE run_id = ? ORDER BY updated_at DESC, decision_id ASC').all(runId);
|
|
438
|
+
return rows.map(runtimeSyncBackDecisionFromRow);
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
export async function recordRuntimeDurableGap(projectRoot, input) {
|
|
442
|
+
const createdAt = input.createdAt ?? new Date().toISOString();
|
|
443
|
+
const updatedAt = input.updatedAt ?? createdAt;
|
|
444
|
+
const record = {
|
|
445
|
+
...input,
|
|
446
|
+
createdAt,
|
|
447
|
+
updatedAt,
|
|
448
|
+
closedAt: input.closedAt ?? (terminalGapStatus(input.status) ? updatedAt : null)
|
|
449
|
+
};
|
|
450
|
+
assertDurableGapStatusAuthority(record.source, record.status);
|
|
451
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
452
|
+
db.prepare('INSERT OR REPLACE INTO durable_gaps (gap_id, partition, task_id, run_id, stage, gate_name, source, category, severity, status, message, recommendation, evidence_refs_json, proposal_refs_json, source_refs_json, created_at, updated_at, closed_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
453
|
+
.run(record.gapId, record.partition, record.taskId, record.runId, record.stage, record.gate, record.source, record.category, record.severity, record.status, record.message, record.recommendation, JSON.stringify(record.evidenceRefs), JSON.stringify(record.proposalRefs), JSON.stringify(record.sourceRefs), record.createdAt, record.updatedAt, record.closedAt, JSON.stringify(record.payload));
|
|
454
|
+
});
|
|
455
|
+
return record;
|
|
456
|
+
}
|
|
457
|
+
export async function updateRuntimeDurableGapStatus(projectRoot, input) {
|
|
458
|
+
assertDurableGapStatusAuthority(input.source, input.status);
|
|
459
|
+
const updatedAt = input.updatedAt ?? new Date().toISOString();
|
|
460
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
461
|
+
const row = db.prepare('SELECT * FROM durable_gaps WHERE gap_id = ?').get(input.gapId);
|
|
462
|
+
if (!row) {
|
|
463
|
+
return null;
|
|
464
|
+
}
|
|
465
|
+
const existing = runtimeDurableGapFromRow(row);
|
|
466
|
+
const payload = input.payload ?? existing.payload;
|
|
467
|
+
const closedAt = terminalGapStatus(input.status) ? updatedAt : null;
|
|
468
|
+
db.prepare('UPDATE durable_gaps SET status = ?, source = ?, updated_at = ?, closed_at = ?, payload_json = ? WHERE gap_id = ?')
|
|
469
|
+
.run(input.status, input.source, updatedAt, closedAt, JSON.stringify(payload), input.gapId);
|
|
470
|
+
return {
|
|
471
|
+
...existing,
|
|
472
|
+
source: input.source,
|
|
473
|
+
status: input.status,
|
|
474
|
+
updatedAt,
|
|
475
|
+
closedAt,
|
|
476
|
+
payload
|
|
477
|
+
};
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
export async function listRuntimeDurableGaps(projectRoot, input = {}) {
|
|
481
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
482
|
+
const clauses = [];
|
|
483
|
+
const params = [];
|
|
484
|
+
if (input.partition) {
|
|
485
|
+
clauses.push('partition = ?');
|
|
486
|
+
params.push(input.partition);
|
|
487
|
+
}
|
|
488
|
+
if (input.taskId) {
|
|
489
|
+
clauses.push('task_id = ?');
|
|
490
|
+
params.push(input.taskId);
|
|
491
|
+
}
|
|
492
|
+
if (input.runId) {
|
|
493
|
+
clauses.push('run_id = ?');
|
|
494
|
+
params.push(input.runId);
|
|
495
|
+
}
|
|
496
|
+
if (input.status === 'open_terminal') {
|
|
497
|
+
clauses.push("status IN ('open', 'acknowledged')");
|
|
498
|
+
}
|
|
499
|
+
else if (input.status) {
|
|
500
|
+
clauses.push('status = ?');
|
|
501
|
+
params.push(input.status);
|
|
502
|
+
}
|
|
503
|
+
if (input.severity) {
|
|
504
|
+
clauses.push('severity = ?');
|
|
505
|
+
params.push(input.severity);
|
|
506
|
+
}
|
|
507
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
508
|
+
const rows = db.prepare(`SELECT * FROM durable_gaps${where} ORDER BY updated_at DESC, gap_id ASC`).all(...params);
|
|
509
|
+
return rows.map(runtimeDurableGapFromRow);
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
export async function recordRuntimeProjection(projectRoot, projectionType, scopeKey, payload) {
|
|
513
|
+
const now = new Date().toISOString();
|
|
514
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
515
|
+
db.prepare('INSERT OR REPLACE INTO projections (projection_id, projection_type, scope_key, generated_at, payload_json) VALUES (?, ?, ?, ?, ?)')
|
|
516
|
+
.run(runtimeScopedId(projectionType, scopeKey), projectionType, scopeKey, now, JSON.stringify(payload));
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
export function buildRuntimeProjectionEnvelope(input) {
|
|
520
|
+
return {
|
|
521
|
+
contract: RUNTIME_PROJECTION_ENVELOPE_CONTRACT_VERSION,
|
|
522
|
+
projectionType: input.projectionType,
|
|
523
|
+
scopeKey: input.scopeKey,
|
|
524
|
+
id: runtimeScopedId(input.projectionType, input.scopeKey, input.inputHash, input.producerVersion),
|
|
525
|
+
inputHash: input.inputHash,
|
|
526
|
+
producer: input.producer,
|
|
527
|
+
producerVersion: input.producerVersion,
|
|
528
|
+
generatedAt: input.generatedAt ?? new Date().toISOString(),
|
|
529
|
+
payload: input.payload
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
export async function recordRuntimeProjectionEnvelope(projectRoot, input) {
|
|
533
|
+
const candidate = buildRuntimeProjectionEnvelope(input);
|
|
534
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
535
|
+
const previous = readRuntimeProjectionRecordFromDb(db, input.projectionType, input.scopeKey);
|
|
536
|
+
const existingEnvelope = asRuntimeProjectionEnvelope(previous?.payload);
|
|
537
|
+
const staleness = runtimeProjectionStaleness(existingEnvelope, input);
|
|
538
|
+
if (existingEnvelope && staleness === 'fresh' && JSON.stringify(existingEnvelope.payload) === JSON.stringify(input.payload)) {
|
|
539
|
+
return { envelope: existingEnvelope, previous, staleness, status: 'unchanged' };
|
|
540
|
+
}
|
|
541
|
+
db.prepare('INSERT OR REPLACE INTO projections (projection_id, projection_type, scope_key, generated_at, payload_json) VALUES (?, ?, ?, ?, ?)')
|
|
542
|
+
.run(runtimeScopedId(input.projectionType, input.scopeKey), input.projectionType, input.scopeKey, candidate.generatedAt, JSON.stringify(candidate));
|
|
543
|
+
return { envelope: candidate, previous, staleness, status: previous ? 'updated' : 'created' };
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
export async function readRuntimeProjection(projectRoot, projectionType, scopeKey) {
|
|
547
|
+
return withRuntimeStore(projectRoot, ({ db }) => readRuntimeProjectionRecordFromDb(db, projectionType, scopeKey));
|
|
548
|
+
}
|
|
549
|
+
export async function readRuntimeProjectionEnvelope(projectRoot, projectionType, scopeKey) {
|
|
550
|
+
const record = await readRuntimeProjection(projectRoot, projectionType, scopeKey);
|
|
551
|
+
return asRuntimeProjectionEnvelope(record?.payload);
|
|
552
|
+
}
|
|
553
|
+
export function runtimeProjectionStaleness(envelope, freshness) {
|
|
554
|
+
if (!envelope) {
|
|
555
|
+
return 'unknown';
|
|
556
|
+
}
|
|
557
|
+
if (envelope.contract !== RUNTIME_PROJECTION_ENVELOPE_CONTRACT_VERSION || envelope.producerVersion !== freshness.producerVersion) {
|
|
558
|
+
return 'incompatible';
|
|
559
|
+
}
|
|
560
|
+
return envelope.inputHash === freshness.inputHash ? 'fresh' : 'stale';
|
|
561
|
+
}
|
|
562
|
+
export async function listRuntimeProjections(projectRoot, projectionTypes) {
|
|
563
|
+
if (projectionTypes.length === 0) {
|
|
564
|
+
return [];
|
|
565
|
+
}
|
|
566
|
+
const placeholders = projectionTypes.map(() => '?').join(', ');
|
|
567
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
568
|
+
const rows = db.prepare(`SELECT projection_type, scope_key, generated_at, payload_json FROM projections WHERE projection_type IN (${placeholders}) ORDER BY generated_at DESC, projection_type ASC, scope_key ASC`)
|
|
569
|
+
.all(...projectionTypes);
|
|
570
|
+
return rows.map(runtimeProjectionRecordFromRow);
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
export async function recordRuntimeTestRun(projectRoot, record) {
|
|
574
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
575
|
+
db.prepare('INSERT OR REPLACE INTO test_runs (test_run_id, run_id, partition, task_id, status, started_at, completed_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?)')
|
|
576
|
+
.run(record.testRunId, record.runId, record.partition, record.taskId, record.status, record.startedAt, record.completedAt, JSON.stringify(record.payload));
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
export async function recordRuntimeTestStep(projectRoot, record) {
|
|
580
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
581
|
+
db.prepare('INSERT OR REPLACE INTO test_steps (test_step_id, test_run_id, run_id, task_id, command, status, exit_code, duration_ms, output_artifact, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
582
|
+
.run(record.stepId, record.testRunId, record.runId, record.taskId, record.command, record.status, record.exitCode, record.durationMs, record.outputArtifact, JSON.stringify(record.payload));
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
export async function listRuntimeTestRuns(projectRoot, runId) {
|
|
586
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
587
|
+
const rows = runId
|
|
588
|
+
? db.prepare('SELECT test_run_id, run_id, partition, task_id, status, started_at, completed_at, payload_json FROM test_runs WHERE run_id = ? ORDER BY completed_at DESC').all(runId)
|
|
589
|
+
: db.prepare('SELECT test_run_id, run_id, partition, task_id, status, started_at, completed_at, payload_json FROM test_runs ORDER BY completed_at DESC').all();
|
|
590
|
+
return rows.map((row) => ({
|
|
591
|
+
testRunId: row.test_run_id,
|
|
592
|
+
runId: row.run_id,
|
|
593
|
+
partition: row.partition,
|
|
594
|
+
taskId: row.task_id,
|
|
595
|
+
status: row.status,
|
|
596
|
+
startedAt: row.started_at,
|
|
597
|
+
completedAt: row.completed_at,
|
|
598
|
+
payload: JSON.parse(row.payload_json)
|
|
599
|
+
}));
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
export async function recordRuntimeValidationEnvironmentSession(projectRoot, record) {
|
|
603
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
604
|
+
db.prepare('INSERT OR REPLACE INTO validation_environment_sessions (session_id, partition, run_id, wave_run_id, status, reuse_key, created_at, updated_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
605
|
+
.run(record.sessionId, record.partition, record.runId, record.waveRunId, record.status, record.reuseKey, record.createdAt, record.updatedAt, JSON.stringify(record.payload));
|
|
606
|
+
});
|
|
607
|
+
}
|
|
608
|
+
export async function listRuntimeValidationEnvironmentSessions(projectRoot, input = {}) {
|
|
609
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
610
|
+
const clauses = [];
|
|
611
|
+
const params = [];
|
|
612
|
+
if (input.partition) {
|
|
613
|
+
clauses.push('partition = ?');
|
|
614
|
+
params.push(input.partition);
|
|
615
|
+
}
|
|
616
|
+
if (input.runId) {
|
|
617
|
+
clauses.push('run_id = ?');
|
|
618
|
+
params.push(input.runId);
|
|
619
|
+
}
|
|
620
|
+
if (input.waveRunId) {
|
|
621
|
+
clauses.push('wave_run_id = ?');
|
|
622
|
+
params.push(input.waveRunId);
|
|
623
|
+
}
|
|
624
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
625
|
+
const rows = db.prepare(`SELECT session_id, partition, run_id, wave_run_id, status, reuse_key, created_at, updated_at, payload_json FROM validation_environment_sessions${where} ORDER BY updated_at DESC, session_id ASC`).all(...params);
|
|
626
|
+
return rows.map((row) => ({ sessionId: row.session_id, partition: row.partition, runId: row.run_id, waveRunId: row.wave_run_id, status: row.status, reuseKey: row.reuse_key, createdAt: row.created_at, updatedAt: row.updated_at, payload: JSON.parse(row.payload_json) }));
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
export async function recordRuntimeValidationWaveRun(projectRoot, record) {
|
|
630
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
631
|
+
db.prepare('INSERT OR REPLACE INTO validation_wave_runs (wave_run_id, partition, run_id, task_ids_json, status, environment_session_id, started_at, completed_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
632
|
+
.run(record.waveRunId, record.partition, record.runId, JSON.stringify(record.taskIds), record.status, record.environmentSessionId, record.startedAt, record.completedAt, JSON.stringify(record.payload));
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
export async function listRuntimeValidationWaveRuns(projectRoot, input = {}) {
|
|
636
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
637
|
+
const clauses = [];
|
|
638
|
+
const params = [];
|
|
639
|
+
if (input.partition) {
|
|
640
|
+
clauses.push('partition = ?');
|
|
641
|
+
params.push(input.partition);
|
|
642
|
+
}
|
|
643
|
+
if (input.runId) {
|
|
644
|
+
clauses.push('run_id = ?');
|
|
645
|
+
params.push(input.runId);
|
|
646
|
+
}
|
|
647
|
+
if (input.waveRunId) {
|
|
648
|
+
clauses.push('wave_run_id = ?');
|
|
649
|
+
params.push(input.waveRunId);
|
|
650
|
+
}
|
|
651
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
652
|
+
const rows = db.prepare(`SELECT wave_run_id, partition, run_id, task_ids_json, status, environment_session_id, started_at, completed_at, payload_json FROM validation_wave_runs${where} ORDER BY completed_at DESC, wave_run_id ASC`).all(...params);
|
|
653
|
+
return rows
|
|
654
|
+
.map((row) => ({ waveRunId: row.wave_run_id, partition: row.partition, runId: row.run_id, taskIds: JSON.parse(row.task_ids_json), status: row.status, environmentSessionId: row.environment_session_id, startedAt: row.started_at, completedAt: row.completed_at, payload: JSON.parse(row.payload_json) }))
|
|
655
|
+
.filter((record) => !input.taskId || record.taskIds.includes(input.taskId));
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
export async function recordRuntimeAcceptanceEvidenceMap(projectRoot, record) {
|
|
659
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
660
|
+
db.prepare('INSERT OR REPLACE INTO acceptance_evidence_maps (map_id, wave_run_id, test_run_id, partition, run_id, task_id, acceptance_ref, status, evidence_refs_json, gaps_json, created_at, payload_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
|
|
661
|
+
.run(record.mapId, record.waveRunId, record.testRunId, record.partition, record.runId, record.taskId, record.acceptanceRef, record.status, JSON.stringify(record.evidenceRefs), JSON.stringify(record.gaps), record.createdAt, JSON.stringify(record.payload));
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
export async function listRuntimeAcceptanceEvidenceMaps(projectRoot, input = {}) {
|
|
665
|
+
return withRuntimeStore(projectRoot, ({ db }) => {
|
|
666
|
+
const clauses = [];
|
|
667
|
+
const params = [];
|
|
668
|
+
if (input.partition) {
|
|
669
|
+
clauses.push('partition = ?');
|
|
670
|
+
params.push(input.partition);
|
|
671
|
+
}
|
|
672
|
+
if (input.runId) {
|
|
673
|
+
clauses.push('run_id = ?');
|
|
674
|
+
params.push(input.runId);
|
|
675
|
+
}
|
|
676
|
+
if (input.taskId) {
|
|
677
|
+
clauses.push('task_id = ?');
|
|
678
|
+
params.push(input.taskId);
|
|
679
|
+
}
|
|
680
|
+
if (input.waveRunId) {
|
|
681
|
+
clauses.push('wave_run_id = ?');
|
|
682
|
+
params.push(input.waveRunId);
|
|
683
|
+
}
|
|
684
|
+
if (input.testRunId) {
|
|
685
|
+
clauses.push('test_run_id = ?');
|
|
686
|
+
params.push(input.testRunId);
|
|
687
|
+
}
|
|
688
|
+
const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
|
|
689
|
+
const rows = db.prepare(`SELECT map_id, wave_run_id, test_run_id, partition, run_id, task_id, acceptance_ref, status, evidence_refs_json, gaps_json, created_at, payload_json FROM acceptance_evidence_maps${where} ORDER BY created_at DESC, map_id ASC`).all(...params);
|
|
690
|
+
return rows.map((row) => ({ mapId: row.map_id, waveRunId: row.wave_run_id, testRunId: row.test_run_id, partition: row.partition, runId: row.run_id, taskId: row.task_id, acceptanceRef: row.acceptance_ref, status: row.status, evidenceRefs: JSON.parse(row.evidence_refs_json), gaps: JSON.parse(row.gaps_json), createdAt: row.created_at, payload: JSON.parse(row.payload_json) }));
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
export async function recordLegacyImportFailure(projectRoot, runId, entityType, error) {
|
|
694
|
+
try {
|
|
695
|
+
await withRuntimeStore(projectRoot, ({ db }) => {
|
|
696
|
+
db.prepare('INSERT OR REPLACE INTO legacy_imports (import_id, run_id, entity_type, content_hash, imported_at, status, issue) VALUES (?, ?, ?, ?, ?, ?, ?)')
|
|
697
|
+
.run(legacyImportId(runId, entityType), runId, entityType, 'unavailable', new Date().toISOString(), 'failed', messageFromError(error));
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
catch {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
export async function inspectRuntimeStoreEvidence(projectRoot) {
|
|
705
|
+
try {
|
|
706
|
+
return await withRuntimeStore(projectRoot, ({ path: storePath, db }) => {
|
|
707
|
+
const versionRow = db.prepare('PRAGMA user_version').get();
|
|
708
|
+
const integrityRow = db.prepare('PRAGMA integrity_check').get();
|
|
709
|
+
const schemaVersion = versionRow?.user_version ?? 0;
|
|
710
|
+
if (schemaVersion !== RUNTIME_STORE_SCHEMA_VERSION) {
|
|
711
|
+
return [{ level: 'FAIL', check: 'runtime_store', message: `Runtime store schema version ${schemaVersion} does not match expected ${RUNTIME_STORE_SCHEMA_VERSION}.`, action: 'Run a compatible sdd version or rebuild the runtime store from legacy .sdd/runs.' }];
|
|
712
|
+
}
|
|
713
|
+
if (integrityRow?.integrity_check !== 'ok') {
|
|
714
|
+
return [{ level: 'FAIL', check: 'runtime_store', message: `Runtime store integrity check failed: ${integrityRow?.integrity_check ?? 'unknown'}.`, action: 'Rebuild runtime projections from legacy .sdd/runs after preserving the database for debugging.' }];
|
|
715
|
+
}
|
|
716
|
+
const checks = [{ level: 'PASS', check: 'runtime_store', message: `${RUNTIME_STORE_CONTRACT_VERSION} is available at ${storePath} with schema ${schemaVersion}.` }];
|
|
717
|
+
const scopeLeak = db.prepare('SELECT COUNT(*) AS count FROM evidence_claims c JOIN runs r ON r.run_id = c.run_id WHERE c.partition IS NOT NULL AND r.partition IS NOT NULL AND c.partition <> r.partition').get();
|
|
718
|
+
checks.push(((scopeLeak?.count ?? 0) > 0)
|
|
719
|
+
? { level: 'FAIL', check: 'runtime_partition_scope', message: `Runtime store has ${scopeLeak?.count ?? 0} cross-partition evidence claim(s).`, action: 'Reingest validator artifacts for the correct run partition; mismatched claims cannot satisfy PASS evidence.' }
|
|
720
|
+
: { level: 'PASS', check: 'runtime_partition_scope', message: 'Runtime evidence claims match their run partition scope.' });
|
|
721
|
+
const freshness = db.prepare('SELECT (SELECT MAX(updated_at) FROM runs) AS latest_run, (SELECT MAX(generated_at) FROM projections) AS latest_projection').get();
|
|
722
|
+
checks.push(freshness?.latest_run && freshness?.latest_projection && freshness.latest_projection < freshness.latest_run
|
|
723
|
+
? { level: 'PASS', check: 'runtime_projection_freshness', message: `Latest runtime projection ${freshness.latest_projection} is older than latest run update ${freshness.latest_run}; views can be refreshed on demand.` }
|
|
724
|
+
: { level: 'PASS', check: 'runtime_projection_freshness', message: freshness?.latest_projection ? 'Runtime projections are current with known run updates.' : 'No runtime projections have been materialized yet.' });
|
|
725
|
+
const legacy = db.prepare("SELECT status, COUNT(*) AS count FROM legacy_imports GROUP BY status").all();
|
|
726
|
+
const failedLegacy = legacy.find((row) => row.status === 'failed')?.count ?? 0;
|
|
727
|
+
const importedLegacy = legacy.find((row) => row.status === 'imported')?.count ?? 0;
|
|
728
|
+
checks.push(failedLegacy > 0
|
|
729
|
+
? { level: 'FAIL', check: 'runtime_legacy_import', message: `${failedLegacy} legacy import record(s) failed.`, action: 'Inspect legacy .sdd/runs files and repair malformed state/events/invocation evidence before test or sync-back.' }
|
|
730
|
+
: importedLegacy > 0
|
|
731
|
+
? { level: 'PASS', check: 'runtime_legacy_import', message: `${importedLegacy} legacy runtime record(s) imported non-destructively; trust debt was preserved, not upgraded.` }
|
|
732
|
+
: { level: 'PASS', check: 'runtime_legacy_import', message: 'No legacy runtime import debt detected.' });
|
|
733
|
+
return checks;
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
catch (error) {
|
|
737
|
+
return [{ level: 'FAIL', check: 'runtime_store', message: `Runtime store unavailable: ${messageFromError(error)}`, action: 'Use a Node runtime with node:sqlite support and writable .sdd/runtime.sqlite.' }];
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
function nextArtifactPayloadSequence(db, branchSlug, taskId, logicalRef) {
|
|
741
|
+
const row = db.prepare('SELECT MAX(sequence) AS sequence FROM artifact_payloads WHERE branch_slug = ? AND ((task_id IS NULL AND ? IS NULL) OR task_id = ?) AND logical_ref = ?').get(branchSlug, taskId, taskId, logicalRef);
|
|
742
|
+
return (row?.sequence ?? 0) + 1;
|
|
743
|
+
}
|
|
744
|
+
function runtimeArtifactPayloadFromRow(row) {
|
|
745
|
+
return {
|
|
746
|
+
payloadId: row.payload_id,
|
|
747
|
+
runId: row.run_id,
|
|
748
|
+
sourceRunId: row.source_run_id,
|
|
749
|
+
branchSlug: row.branch_slug,
|
|
750
|
+
taskId: row.task_id,
|
|
751
|
+
logicalRef: row.logical_ref,
|
|
752
|
+
physicalPayloadPath: row.physical_payload_path,
|
|
753
|
+
artifactRole: row.artifact_role,
|
|
754
|
+
digest: row.digest,
|
|
755
|
+
sequence: row.sequence,
|
|
756
|
+
status: row.status,
|
|
757
|
+
supersedes: row.supersedes,
|
|
758
|
+
createdAt: row.created_at,
|
|
759
|
+
payload: JSON.parse(row.payload_json)
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
function runtimeSyncBackDecisionFromRow(row) {
|
|
763
|
+
const parsed = JSON.parse(row.payload_json);
|
|
764
|
+
return {
|
|
765
|
+
decisionId: row.decision_id,
|
|
766
|
+
runId: row.run_id,
|
|
767
|
+
branch: row.branch,
|
|
768
|
+
taskId: row.task_id,
|
|
769
|
+
status: row.status,
|
|
770
|
+
proposalPath: row.proposal_path,
|
|
771
|
+
proposalDigest: row.proposal_digest,
|
|
772
|
+
proposalPayloadId: row.proposal_payload_id,
|
|
773
|
+
reasons: Array.isArray(parsed.reasons) ? parsed.reasons.filter((reason) => typeof reason === 'string') : [],
|
|
774
|
+
createdAt: row.created_at,
|
|
775
|
+
updatedAt: row.updated_at,
|
|
776
|
+
payload: parsed.payload ?? null
|
|
777
|
+
};
|
|
778
|
+
}
|
|
779
|
+
function runtimeDurableGapFromRow(row) {
|
|
780
|
+
return {
|
|
781
|
+
gapId: row.gap_id,
|
|
782
|
+
partition: row.partition,
|
|
783
|
+
taskId: row.task_id,
|
|
784
|
+
runId: row.run_id,
|
|
785
|
+
stage: row.stage,
|
|
786
|
+
gate: row.gate_name,
|
|
787
|
+
source: row.source,
|
|
788
|
+
category: row.category,
|
|
789
|
+
severity: row.severity,
|
|
790
|
+
status: row.status,
|
|
791
|
+
message: row.message,
|
|
792
|
+
recommendation: row.recommendation,
|
|
793
|
+
evidenceRefs: parseStringList(row.evidence_refs_json),
|
|
794
|
+
proposalRefs: parseStringList(row.proposal_refs_json),
|
|
795
|
+
sourceRefs: parseStringList(row.source_refs_json),
|
|
796
|
+
createdAt: row.created_at,
|
|
797
|
+
updatedAt: row.updated_at,
|
|
798
|
+
closedAt: row.closed_at,
|
|
799
|
+
payload: JSON.parse(row.payload_json)
|
|
800
|
+
};
|
|
801
|
+
}
|
|
802
|
+
function assertDurableGapStatusAuthority(source, status) {
|
|
803
|
+
if (terminalGapStatus(status) && source !== 'runtime' && source !== 'gate_policy' && source !== 'doctor') {
|
|
804
|
+
throw new Error(`Durable gap terminal status ${status} cannot be written by ${source}.`);
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
function terminalGapStatus(status) {
|
|
808
|
+
return status === 'resolved' || status === 'waived' || status === 'superseded';
|
|
809
|
+
}
|
|
810
|
+
function parseStringList(raw) {
|
|
811
|
+
const parsed = JSON.parse(raw);
|
|
812
|
+
return Array.isArray(parsed) ? parsed.filter((item) => typeof item === 'string') : [];
|
|
813
|
+
}
|
|
814
|
+
function readRuntimeProjectionRecordFromDb(db, projectionType, scopeKey) {
|
|
815
|
+
const row = db.prepare('SELECT projection_type, scope_key, generated_at, payload_json FROM projections WHERE projection_type = ? AND scope_key = ?').get(projectionType, scopeKey);
|
|
816
|
+
return row ? runtimeProjectionRecordFromRow(row) : null;
|
|
817
|
+
}
|
|
818
|
+
function runtimeProjectionRecordFromRow(row) {
|
|
819
|
+
return {
|
|
820
|
+
projectionType: row.projection_type,
|
|
821
|
+
scopeKey: row.scope_key,
|
|
822
|
+
generatedAt: row.generated_at,
|
|
823
|
+
payload: JSON.parse(row.payload_json)
|
|
824
|
+
};
|
|
825
|
+
}
|
|
826
|
+
function asRuntimeProjectionEnvelope(payload) {
|
|
827
|
+
if (!payload || typeof payload !== 'object') {
|
|
828
|
+
return null;
|
|
829
|
+
}
|
|
830
|
+
const candidate = payload;
|
|
831
|
+
return candidate.contract === RUNTIME_PROJECTION_ENVELOPE_CONTRACT_VERSION ? candidate : null;
|
|
832
|
+
}
|
|
833
|
+
function appendRuntimeScopeClauses(clauses, params, input) {
|
|
834
|
+
if (input.partition) {
|
|
835
|
+
clauses.push('partition = ?');
|
|
836
|
+
params.push(input.partition);
|
|
837
|
+
}
|
|
838
|
+
if (input.runId) {
|
|
839
|
+
clauses.push('run_id = ?');
|
|
840
|
+
params.push(input.runId);
|
|
841
|
+
}
|
|
842
|
+
if (input.taskId) {
|
|
843
|
+
clauses.push('task_id = ?');
|
|
844
|
+
params.push(input.taskId);
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
export function runtimeScopedId(...parts) {
|
|
848
|
+
return createHash('sha256').update(parts.join('\0'), 'utf8').digest('hex').slice(0, 32);
|
|
849
|
+
}
|
|
850
|
+
export function legacyImportId(runId, entityType) {
|
|
851
|
+
return runtimeScopedId(runId, entityType);
|
|
852
|
+
}
|
|
853
|
+
function hashDocumentContent(raw) {
|
|
854
|
+
return createHash('sha256').update(raw.replace(/\r\n/g, '\n'), 'utf8').digest('hex');
|
|
855
|
+
}
|
|
856
|
+
function messageFromError(error) {
|
|
857
|
+
return error instanceof Error ? error.message : String(error);
|
|
858
|
+
}
|
|
859
|
+
//# sourceMappingURL=runtime-store.js.map
|