@cleocode/core 2026.9.21 → 2026.9.23
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/dist/agents/scaffold.d.ts.map +1 -1
- package/dist/agents/scaffold.js +0 -1
- package/dist/agents/scaffold.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +4 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/build-provenance.json +6 -0
- package/dist/decide/audit.d.ts +7 -1
- package/dist/decide/audit.d.ts.map +1 -1
- package/dist/decide/audit.js.map +1 -1
- package/dist/decide/client.d.ts +46 -4
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +328 -33
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +28 -4
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +50 -12
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +10 -4
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +10 -4
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +100 -8
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +402 -55
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +97 -20
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +180 -28
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +89 -0
- package/dist/decide/provider-state.d.ts.map +1 -0
- package/dist/decide/provider-state.js +134 -0
- package/dist/decide/provider-state.js.map +1 -0
- package/dist/decide/provider.d.ts +26 -5
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +58 -0
- package/dist/decide/providers.d.ts.map +1 -0
- package/dist/decide/providers.js +69 -0
- package/dist/decide/providers.js.map +1 -0
- package/dist/decide/site.d.ts +2 -2
- package/dist/decide/site.d.ts.map +1 -1
- package/dist/decide/site.js +2 -0
- package/dist/decide/site.js.map +1 -1
- package/dist/decide/sites/list.d.ts +46 -0
- package/dist/decide/sites/list.d.ts.map +1 -0
- package/dist/decide/sites/list.js +206 -0
- package/dist/decide/sites/list.js.map +1 -0
- package/dist/decide/sites/registry.d.ts +130 -0
- package/dist/decide/sites/registry.d.ts.map +1 -0
- package/dist/decide/sites/registry.js +375 -0
- package/dist/decide/sites/registry.js.map +1 -0
- package/dist/decide/spend.d.ts +196 -0
- package/dist/decide/spend.d.ts.map +1 -0
- package/dist/decide/spend.js +387 -0
- package/dist/decide/spend.js.map +1 -0
- package/dist/decide/wizard.d.ts +53 -0
- package/dist/decide/wizard.d.ts.map +1 -0
- package/dist/decide/wizard.js +144 -0
- package/dist/decide/wizard.js.map +1 -0
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +5 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-audit.d.ts.map +1 -1
- package/dist/docs/docs-audit.js +1 -2
- package/dist/docs/docs-audit.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +25 -9
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +1073 -628
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/knowledge.d.ts +16 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +53 -17
- package/dist/doctor/knowledge.js.map +1 -1
- package/dist/engine/engine-ops.d.ts +36 -6
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +115 -14
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +6 -3
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +6 -3
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +51 -11
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +8 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/internal.d.ts +3 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +1184 -739
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/attention.d.ts.map +1 -1
- package/dist/memory/attention.js +2 -2
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decision-contradiction.d.ts +3 -3
- package/dist/memory/decision-contradiction.d.ts.map +1 -1
- package/dist/memory/decision-contradiction.js +4 -3
- package/dist/memory/decision-contradiction.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +2 -0
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/observation-type-decision.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts.map +1 -1
- package/dist/memory/observation-type-decision.js +3 -2
- package/dist/memory/observation-type-decision.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +230 -2
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +38 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +96 -21
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +15 -4
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
- package/dist/nexus/migrations/M-split-graph.js +4 -0
- package/dist/nexus/migrations/M-split-graph.js.map +1 -1
- package/dist/nexus/store.d.ts.map +1 -1
- package/dist/nexus/store.js +2 -0
- package/dist/nexus/store.js.map +1 -1
- package/dist/nexus/stored-roots.d.ts +65 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -1
- package/dist/nexus/stored-roots.js +73 -0
- package/dist/nexus/stored-roots.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +4 -1
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +13 -8
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +8 -2
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +7 -2
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +17 -6
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +5 -14
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +4 -2
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +1 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +4 -3
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +8 -5
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +46 -17
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
- package/dist/orchestration/owner-decision-readiness.js +3 -2
- package/dist/orchestration/owner-decision-readiness.js.map +1 -1
- package/dist/orchestration/parallel.d.ts.map +1 -1
- package/dist/orchestration/parallel.js +10 -17
- package/dist/orchestration/parallel.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +4 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -2
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/status.d.ts +8 -3
- package/dist/orchestration/status.d.ts.map +1 -1
- package/dist/orchestration/status.js +9 -6
- package/dist/orchestration/status.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +2 -0
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +54 -0
- package/dist/orchestration/wave-topic.d.ts.map +1 -0
- package/dist/orchestration/wave-topic.js +68 -0
- package/dist/orchestration/wave-topic.js.map +1 -0
- package/dist/orchestration/waves.d.ts +47 -8
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +152 -43
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +6 -2
- package/dist/phases/index.js.map +1 -1
- package/dist/project-scope.d.ts +34 -0
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +73 -0
- package/dist/project-scope.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +10 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +23 -7
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/github-pr.d.ts +30 -0
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +42 -1
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +6 -3
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +12 -4
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/routing/capability-matrix.js +7 -0
- package/dist/routing/capability-matrix.js.map +1 -1
- package/dist/security/input-sanitization.d.ts.map +1 -1
- package/dist/security/input-sanitization.js +9 -2
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +1193 -748
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/session/engine-ops.d.ts +6 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +36 -4
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +17 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +68 -68
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +4 -3
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +94 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +100 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +1 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.d.ts.map +1 -1
- package/dist/sessions/session-drift.js +4 -3
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts +28 -0
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +51 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +13 -10
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +15 -10
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.js +1 -1
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/system-one.d.ts +28 -0
- package/dist/setup/sections/system-one.d.ts.map +1 -0
- package/dist/setup/sections/system-one.js +53 -0
- package/dist/setup/sections/system-one.js.map +1 -0
- package/dist/setup/wizard.d.ts +15 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js +15 -0
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/discovery.d.ts +12 -1
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +27 -2
- package/dist/skills/discovery.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +10 -5
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +306 -0
- package/dist/skills/prune-bundled.d.ts.map +1 -0
- package/dist/skills/prune-bundled.js +652 -0
- package/dist/skills/prune-bundled.js.map +1 -0
- package/dist/skills/types.d.ts +9 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +17 -34
- package/dist/skills/types.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +26 -2
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +4 -2
- package/dist/stats/index.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +2 -0
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/backup-pack.js +1 -1
- package/dist/store/backup-pack.js.map +1 -1
- package/dist/store/backup.d.ts +15 -1
- package/dist/store/backup.d.ts.map +1 -1
- package/dist/store/backup.js +18 -2
- package/dist/store/backup.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -0
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +2 -0
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +2 -0
- package/dist/store/cross-db-cleanup.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +13 -2
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.js +3 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +37 -3
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +2 -0
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +3 -0
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +3 -0
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +2 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +2 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +5 -0
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/skills-db.d.ts +17 -0
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +30 -0
- package/dist/store/skills-db.js.map +1 -1
- package/dist/store/snapshot-gate.d.ts.map +1 -1
- package/dist/store/snapshot-gate.js +3 -0
- package/dist/store/snapshot-gate.js.map +1 -1
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +2 -0
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +19 -2
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +1 -0
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sqlite.d.ts +14 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +31 -4
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +46 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +131 -5
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +191 -0
- package/dist/store/worktree-build-guard.d.ts.map +1 -0
- package/dist/store/worktree-build-guard.js +486 -0
- package/dist/store/worktree-build-guard.js.map +1 -0
- package/dist/store/worktree-isolation-guard.d.ts +27 -0
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +71 -3
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +2 -0
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/backup.d.ts +6 -2
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +6 -3
- package/dist/system/backup.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +4 -4
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/task-tools/index.d.ts +4 -2
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +3 -2
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +93 -18
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +193 -81
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/task-work/index.d.ts +6 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -3
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +62 -13
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +158 -33
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +59 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -0
- package/dist/tasks/affected-scope.js +81 -0
- package/dist/tasks/affected-scope.js.map +1 -0
- package/dist/tasks/analyze.d.ts +29 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +52 -36
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
- package/dist/tasks/backfill-child-projections.js +4 -1
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts +24 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +143 -11
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-line.d.ts +54 -0
- package/dist/tasks/command-line.d.ts.map +1 -0
- package/dist/tasks/command-line.js +151 -0
- package/dist/tasks/command-line.js.map +1 -0
- package/dist/tasks/complete.d.ts +10 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +49 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +106 -0
- package/dist/tasks/component-pr.d.ts.map +1 -0
- package/dist/tasks/component-pr.js +275 -0
- package/dist/tasks/component-pr.js.map +1 -0
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +20 -0
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +21 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +170 -15
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +9 -80
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +3 -3
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +4 -3
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +29 -0
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +40 -0
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +1 -1
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +1 -1
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence.d.ts +49 -2
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +85 -9
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +48 -12
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +1 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ranking-audit.d.ts +122 -0
- package/dist/tasks/ranking-audit.d.ts.map +1 -0
- package/dist/tasks/ranking-audit.js +193 -0
- package/dist/tasks/ranking-audit.js.map +1 -0
- package/dist/tasks/task-analyze.d.ts.map +1 -1
- package/dist/tasks/task-analyze.js +19 -32
- package/dist/tasks/task-analyze.js.map +1 -1
- package/dist/tasks/task-next.d.ts +48 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +84 -102
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-ops.d.ts +1 -1
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.js +1 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +7 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +24 -10
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/update.d.ts +8 -2
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +28 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/telemetry/sqlite.d.ts.map +1 -1
- package/dist/telemetry/sqlite.js +2 -0
- package/dist/telemetry/sqlite.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +2 -2
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +9 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +24 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +9 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +5 -2
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/package.json +14 -14
- package/schemas/config.schema.json +13 -0
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +5 -1
|
@@ -75,6 +75,12 @@
|
|
|
75
75
|
* the twin's set for that id is unchanged since the last merge, the twin
|
|
76
76
|
* set is made equal to the bare set (additions AND removals propagate);
|
|
77
77
|
* if the twin set changed too, the twin wins and a conflict is recorded.
|
|
78
|
+
* - After every merge the junction is recomputed from each note's
|
|
79
|
+
* `tags_json` ({@link syncStickyJunction}). Both builds write `tags_json`
|
|
80
|
+
* (on the shared `brain_sticky_notes` row) together with their own junction,
|
|
81
|
+
* so it is the one value both see; the junction is derived from it, and the
|
|
82
|
+
* tag filter can never disagree with the displayed tags. A conflict is still
|
|
83
|
+
* recorded for `cleo doctor`.
|
|
78
84
|
*
|
|
79
85
|
* ## Contract
|
|
80
86
|
*
|
|
@@ -87,7 +93,14 @@
|
|
|
87
93
|
* Any failure rolls back: both tables byte-identical.
|
|
88
94
|
* 3. **Verified.** Every row the merge decided is re-read and compared before
|
|
89
95
|
* the marker is written; a mismatch rolls back.
|
|
90
|
-
* 4. **The bare table is never written
|
|
96
|
+
* 4. **The bare table is never written**, with one sanctioned exception:
|
|
97
|
+
* {@link mirrorCounterToBare}. When this build writes a counter key
|
|
98
|
+
* (`task_id_sequence`, `sqlite_snapshot_gate`, `file_meta`) it raises the
|
|
99
|
+
* bare row's counter field to the twin's in the same transaction, and the
|
|
100
|
+
* allocation floors on the bare counter ({@link bareCounterOf}). The
|
|
101
|
+
* 2026.9.20 build still allocates ids from the bare counter; without the
|
|
102
|
+
* mirror, an id one build reserved but had not stored yet could be issued
|
|
103
|
+
* by the other.
|
|
91
104
|
* 5. **Never locked out** (inside a domain bind, `onFailure: 'degrade'`). A
|
|
92
105
|
* failed or impossible collapse does not fail the bind. The failure is
|
|
93
106
|
* recorded (`twin_collapse_failed:<table>`), and the connection is put in a
|
|
@@ -116,22 +129,27 @@ import { ExitCode } from '@cleocode/contracts';
|
|
|
116
129
|
import { CleoError } from '../errors.js';
|
|
117
130
|
import { getLogger } from '../logger.js';
|
|
118
131
|
import { planMigrationSnapshot, writeMigrationSnapshot } from './pre-repair-snapshot.js';
|
|
119
|
-
import { SNAPSHOT_GATE_META_KEY } from './snapshot-gate.js';
|
|
120
132
|
const log = getLogger('twin-collapse');
|
|
121
133
|
/** Prefix of the marker key holding a pair's collapse state. */
|
|
122
134
|
export const TWIN_COLLAPSE_MARKER_PREFIX = 'twin_collapse:';
|
|
123
135
|
/** Prefix of the key recording a pair's last failed collapse. */
|
|
124
136
|
export const TWIN_COLLAPSE_FAILURE_PREFIX = 'twin_collapse_failed:';
|
|
137
|
+
/**
|
|
138
|
+
* The snapshot gate's key (`SNAPSHOT_GATE_META_KEY` in `snapshot-gate.ts`),
|
|
139
|
+
* spelled out: `snapshot-gate.ts` imports this module to mirror its counter,
|
|
140
|
+
* so importing it back would be a cycle.
|
|
141
|
+
*/
|
|
142
|
+
const SNAPSHOT_GATE_KEY = 'sqlite_snapshot_gate';
|
|
125
143
|
/** `schema_meta` keys whose named field is a monotonic counter (merged as max). */
|
|
126
144
|
export const SCHEMA_META_COUNTER_FIELDS = {
|
|
127
145
|
task_id_sequence: 'counter',
|
|
128
|
-
[
|
|
146
|
+
[SNAPSHOT_GATE_KEY]: 'generation',
|
|
129
147
|
file_meta: 'generation',
|
|
130
148
|
};
|
|
131
149
|
/** `schema_meta` keys never deleted from the twin (a counter never moves back). */
|
|
132
150
|
export const SCHEMA_META_NEVER_DELETED = new Set([
|
|
133
151
|
'task_id_sequence',
|
|
134
|
-
|
|
152
|
+
SNAPSHOT_GATE_KEY,
|
|
135
153
|
]);
|
|
136
154
|
/** Most conflicts kept in the marker (the doctor warning lists them). */
|
|
137
155
|
const MAX_CONFLICTS = 50;
|
|
@@ -242,6 +260,57 @@ export function mergeSchemaMetaValue(key, bare, twin) {
|
|
|
242
260
|
const field = SCHEMA_META_COUNTER_FIELDS[key];
|
|
243
261
|
return field === undefined ? bare : withMaxCounter(bare, twin, field);
|
|
244
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Raise the BARE `schema_meta` row of a counter key to the twin's counter,
|
|
265
|
+
* right after this build wrote the twin row, on the same connection (so inside
|
|
266
|
+
* the writer's transaction).
|
|
267
|
+
*
|
|
268
|
+
* The one sanctioned write to a bare table (T12535): the 2026.9.20 build still
|
|
269
|
+
* allocates task ids from the bare `task_id_sequence` and reads the bare
|
|
270
|
+
* snapshot-gate and `file_meta` generations. Without this, an id this build
|
|
271
|
+
* reserved but has not stored yet (the counter is advanced before the task
|
|
272
|
+
* row is inserted) could be issued again by the older build. Only the counter
|
|
273
|
+
* field moves (the bare row keeps its other fields, see
|
|
274
|
+
* {@link mergeSchemaMetaValue}); a missing bare row gets the twin value. A
|
|
275
|
+
* non-counter key, or a store without the bare table, is left alone. The
|
|
276
|
+
* collapse treats the resulting bare change like any other: a counter key is
|
|
277
|
+
* never a conflict.
|
|
278
|
+
*
|
|
279
|
+
* @param db - The project `cleo.db` connection that wrote the twin row.
|
|
280
|
+
* @param key - The `schema_meta` key just written.
|
|
281
|
+
* @task T12535
|
|
282
|
+
*/
|
|
283
|
+
export function mirrorCounterToBare(db, key) {
|
|
284
|
+
if (SCHEMA_META_COUNTER_FIELDS[key] === undefined)
|
|
285
|
+
return;
|
|
286
|
+
if (!hasMainTable(db, 'schema_meta'))
|
|
287
|
+
return;
|
|
288
|
+
const twin = readKv(db, 'tasks_schema_meta', key);
|
|
289
|
+
if (twin === undefined)
|
|
290
|
+
return;
|
|
291
|
+
const bare = readKv(db, 'schema_meta', key);
|
|
292
|
+
const next = bare === undefined ? twin : mergeSchemaMetaValue(key, bare, twin);
|
|
293
|
+
if (next === null || next === bare)
|
|
294
|
+
return;
|
|
295
|
+
writeKv(db, 'schema_meta', key, next);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* The counter of a key's BARE `schema_meta` row (the older build's), or 0.
|
|
299
|
+
* This build's allocation floors on it, so an id the older build reserved but
|
|
300
|
+
* has not stored yet is never issued here either.
|
|
301
|
+
*
|
|
302
|
+
* @param db - The project `cleo.db` connection.
|
|
303
|
+
* @param key - A counter key.
|
|
304
|
+
* @returns The bare counter field, or 0 when absent.
|
|
305
|
+
* @task T12535
|
|
306
|
+
*/
|
|
307
|
+
export function bareCounterOf(db, key) {
|
|
308
|
+
const name = SCHEMA_META_COUNTER_FIELDS[key];
|
|
309
|
+
if (name === undefined || !hasMainTable(db, 'schema_meta'))
|
|
310
|
+
return 0;
|
|
311
|
+
const bare = readKv(db, 'schema_meta', key);
|
|
312
|
+
return (bare === undefined ? undefined : counterOf(bare, name)) ?? 0;
|
|
313
|
+
}
|
|
245
314
|
function kvRows(db, table, schema = 'main') {
|
|
246
315
|
const rows = db.prepare(`SELECT key, value FROM ${schema}.${table}`).all();
|
|
247
316
|
return new Map(rows.map((r) => [r.key, r.value]));
|
|
@@ -433,6 +502,57 @@ function applyStickyRows(db, schema, plan) {
|
|
|
433
502
|
}
|
|
434
503
|
return { inserted, replaced: 0, deleted };
|
|
435
504
|
}
|
|
505
|
+
/** A note's tags as the accessor reads `tags_json` (strings, non-empty, deduplicated). */
|
|
506
|
+
function tagsOf(tagsJson) {
|
|
507
|
+
if (!tagsJson)
|
|
508
|
+
return [];
|
|
509
|
+
try {
|
|
510
|
+
const parsed = JSON.parse(tagsJson);
|
|
511
|
+
if (!Array.isArray(parsed))
|
|
512
|
+
return [];
|
|
513
|
+
return [...new Set(parsed.filter((t) => typeof t === 'string' && t.length > 0))];
|
|
514
|
+
}
|
|
515
|
+
catch {
|
|
516
|
+
return [];
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Make the junction in `schema` equal every note's `tags_json`.
|
|
521
|
+
*
|
|
522
|
+
* `tags_json` lives on the shared `brain_sticky_notes` row, which both builds
|
|
523
|
+
* write together with their own junction; the junction is derived from it.
|
|
524
|
+
* Recomputing it after every merge keeps the tag filter (the junction) and the
|
|
525
|
+
* displayed tags (`tags_json`) from disagreeing when both builds retag one
|
|
526
|
+
* note (the merge's twin-wins rule would otherwise keep a stale set).
|
|
527
|
+
*
|
|
528
|
+
* @returns Junction rows added and removed.
|
|
529
|
+
*/
|
|
530
|
+
function syncStickyJunction(db, schema) {
|
|
531
|
+
const notes = db.prepare('SELECT id, tags_json FROM main.brain_sticky_notes').all();
|
|
532
|
+
const have = new Map();
|
|
533
|
+
for (const r of db
|
|
534
|
+
.prepare(`SELECT sticky_id, tag FROM ${schema}.brain_sticky_tags`)
|
|
535
|
+
.all()) {
|
|
536
|
+
const set = have.get(r.sticky_id) ?? new Set();
|
|
537
|
+
set.add(r.tag);
|
|
538
|
+
have.set(r.sticky_id, set);
|
|
539
|
+
}
|
|
540
|
+
const insert = db.prepare(`INSERT OR IGNORE INTO ${schema}.brain_sticky_tags (sticky_id, tag) VALUES (?, ?)`);
|
|
541
|
+
const del = db.prepare(`DELETE FROM ${schema}.brain_sticky_tags WHERE sticky_id = ? AND tag = ?`);
|
|
542
|
+
let inserted = 0;
|
|
543
|
+
let deleted = 0;
|
|
544
|
+
for (const note of notes) {
|
|
545
|
+
const want = new Set(tagsOf(note.tags_json));
|
|
546
|
+
const current = have.get(note.id) ?? new Set();
|
|
547
|
+
for (const tag of want)
|
|
548
|
+
if (!current.has(tag))
|
|
549
|
+
inserted += Number(insert.run(note.id, tag).changes);
|
|
550
|
+
for (const tag of current)
|
|
551
|
+
if (!want.has(tag))
|
|
552
|
+
deleted += Number(del.run(note.id, tag).changes);
|
|
553
|
+
}
|
|
554
|
+
return { inserted, deleted };
|
|
555
|
+
}
|
|
436
556
|
const STICKY_TAGS = {
|
|
437
557
|
table: 'sticky_tags',
|
|
438
558
|
twin: 'brain_sticky_tags',
|
|
@@ -452,13 +572,19 @@ const STICKY_TAGS = {
|
|
|
452
572
|
const lingering = plan.del.filter(has).length;
|
|
453
573
|
if (missing > 0 || lingering > 0)
|
|
454
574
|
throw new Error(`sticky_tags collapse did not verify: ${missing} missing, ${lingering} not removed`);
|
|
455
|
-
|
|
575
|
+
const synced = syncStickyJunction(db, 'main');
|
|
576
|
+
return {
|
|
577
|
+
inserted: counts.inserted + synced.inserted,
|
|
578
|
+
replaced: 0,
|
|
579
|
+
deleted: counts.deleted + synced.deleted,
|
|
580
|
+
};
|
|
456
581
|
},
|
|
457
582
|
shadow(db, plan) {
|
|
458
583
|
db.exec('CREATE TEMP TABLE IF NOT EXISTS brain_sticky_tags (sticky_id TEXT NOT NULL, tag TEXT NOT NULL, PRIMARY KEY (sticky_id, tag))');
|
|
459
584
|
db.exec('DELETE FROM temp.brain_sticky_tags');
|
|
460
585
|
db.exec('INSERT INTO temp.brain_sticky_tags (sticky_id, tag) SELECT sticky_id, tag FROM main.brain_sticky_tags');
|
|
461
586
|
applyStickyRows(db, 'temp', plan);
|
|
587
|
+
syncStickyJunction(db, 'temp');
|
|
462
588
|
},
|
|
463
589
|
};
|
|
464
590
|
/** The pairs this build collapses, in order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twin-collapse.js","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"twin-collapse.js","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worktree-build schema-write guard (T12687).
|
|
3
|
+
*
|
|
4
|
+
* A CLI built inside a linked git worktree carries that branch's UNRELEASED
|
|
5
|
+
* migrations and schema code. Path resolution maps a worktree to its parent
|
|
6
|
+
* project's store (T12460), so running that build — `cleo check arch`, an
|
|
7
|
+
* unsandboxed CLI test, a reviewer trying a PR build — changed the schema of
|
|
8
|
+
* the LIVE main-checkout store. Incident 2026-09-29: cleo-nexus's slice-2
|
|
9
|
+
* build wrote `__drizzle_migrations` row 114 into the live cleocode store; the
|
|
10
|
+
* released CLI then deleted the unknown row as an orphan and the next slice-2
|
|
11
|
+
* open re-ran `ADD COLUMN` and failed.
|
|
12
|
+
*
|
|
13
|
+
* ## One decision per store, enforced on the handle
|
|
14
|
+
*
|
|
15
|
+
* {@link schemaWriteRefusal} decides, once per store path, whether this build
|
|
16
|
+
* may change that store's schema. When it may not,
|
|
17
|
+
* {@link installSchemaWriteGuard} installs a SQLite authorizer on the handle
|
|
18
|
+
* that DENIES every schema change — `ALTER`, `DROP`, and any `CREATE` of an
|
|
19
|
+
* object that does not already exist (a `CREATE … IF NOT EXISTS` of an
|
|
20
|
+
* existing object is a no-op and stays allowed). That covers every DDL site
|
|
21
|
+
* at once — drizzle migrations, `ensureColumns`, raw `ALTER`s, table
|
|
22
|
+
* rebuilds, twin collapse, exodus — including sites added later. Migration
|
|
23
|
+
* sites additionally fail fast with {@link WorktreeBuildSchemaError} when the
|
|
24
|
+
* build has pending migrations: the store would not match what this build
|
|
25
|
+
* reads, so it refuses rather than failing later with `no such column`.
|
|
26
|
+
*
|
|
27
|
+
* ## Who is a dev build
|
|
28
|
+
*
|
|
29
|
+
* The build stamp `dist/build-provenance.json` (written at build time) names
|
|
30
|
+
* the linked worktree the build was made in, or null for a main checkout / CI
|
|
31
|
+
* clone — how released packages are built. The stamp travels with the build,
|
|
32
|
+
* so an `npm pack`ed worktree build installed globally, or a `dist` copied
|
|
33
|
+
* outside any checkout, is still recognised. Without a stamp (running from
|
|
34
|
+
* source), the running file's own location decides, and a path under
|
|
35
|
+
* `node_modules` counts as installed.
|
|
36
|
+
*
|
|
37
|
+
* Allowed without an opt-in: stores inside the build's own worktree, and the
|
|
38
|
+
* test harness (`VITEST`, or a store below a {@link TEST_SANDBOX_MARKER} for CLI
|
|
39
|
+
* children a test spawns). A temp directory alone is NOT an exemption — a
|
|
40
|
+
* project cloned under `/tmp` is a real store. Everything else needs
|
|
41
|
+
* `CLEO_ALLOW_WORKTREE_BUILD_MIGRATIONS=1`.
|
|
42
|
+
*
|
|
43
|
+
* @task T12687
|
|
44
|
+
*/
|
|
45
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
46
|
+
import type { MigrationMeta } from 'drizzle-orm/migrator';
|
|
47
|
+
import { CleoError } from '../errors.js';
|
|
48
|
+
/** Opt-in that lets a worktree build change the schema of a store outside its worktree. */
|
|
49
|
+
export declare const ALLOW_WORKTREE_BUILD_MIGRATIONS_ENV = "CLEO_ALLOW_WORKTREE_BUILD_MIGRATIONS";
|
|
50
|
+
/**
|
|
51
|
+
* File the test harness (`vitest.setup.ts`) writes at the root of each fork's
|
|
52
|
+
* sandbox. A store below it is a fixture — including one opened by a CLI child
|
|
53
|
+
* process the test spawned: such a child carries `VITEST` only when the test
|
|
54
|
+
* passes its own environment through, and many build an explicit `env`.
|
|
55
|
+
* A marker inside a git checkout is ignored: the sandbox is never in one, so a
|
|
56
|
+
* marker there was committed or planted in a real project.
|
|
57
|
+
*/
|
|
58
|
+
export declare const TEST_SANDBOX_MARKER = ".cleo-test-sandbox";
|
|
59
|
+
/** Error code of {@link WorktreeBuildSchemaError}. */
|
|
60
|
+
export declare const E_WORKTREE_BUILD_SCHEMA = "E_WORKTREE_BUILD_SCHEMA";
|
|
61
|
+
/** Build stamp written by `scripts/write-build-provenance.mjs`. */
|
|
62
|
+
export interface BuildProvenance {
|
|
63
|
+
/**
|
|
64
|
+
* Linked worktree the build was made in, or null (main checkout / CI clone).
|
|
65
|
+
* Absent when git could not tell at build time — the guard then decides from
|
|
66
|
+
* the build's path instead of trusting the stamp.
|
|
67
|
+
*/
|
|
68
|
+
linkedWorktree: string | null;
|
|
69
|
+
}
|
|
70
|
+
/** Inputs of {@link schemaWriteRefusal}; defaults describe this process. */
|
|
71
|
+
export interface WorktreeBuildGuardOptions {
|
|
72
|
+
/** A file of the running build. Defaults to this module. */
|
|
73
|
+
codePath: string;
|
|
74
|
+
/** The build stamp; `undefined` reads it from beside the build, `null` means none. */
|
|
75
|
+
provenance: BuildProvenance | null | undefined;
|
|
76
|
+
/** Environment consulted for the opt-in and the test harness. */
|
|
77
|
+
env: NodeJS.ProcessEnv;
|
|
78
|
+
/** Honour {@link TEST_SANDBOX_MARKER} (default true; guard tests turn it off). */
|
|
79
|
+
honourTestSandbox: boolean;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Replace the guard's view of the running build (tests only: a test process
|
|
83
|
+
* runs from source inside the harness, so it cannot be a dev build itself).
|
|
84
|
+
*
|
|
85
|
+
* @param next - Partial options, or null to restore the defaults.
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export declare function setWorktreeBuildGuardForTests(next: Partial<WorktreeBuildGuardOptions> | null): void;
|
|
89
|
+
/**
|
|
90
|
+
* Root of the linked git worktree containing `path`, or null when the nearest
|
|
91
|
+
* enclosing checkout is a main checkout (or there is none).
|
|
92
|
+
*
|
|
93
|
+
* @param path - Any path.
|
|
94
|
+
* @returns The linked worktree root, or null.
|
|
95
|
+
*/
|
|
96
|
+
export declare function linkedWorktreeRootOf(path: string): string | null;
|
|
97
|
+
/**
|
|
98
|
+
* The build stamp beside the running build: the nearest `build-provenance.json`
|
|
99
|
+
* walking up from `codePath`, stopping at the package root.
|
|
100
|
+
*
|
|
101
|
+
* @param codePath - A file of the running build.
|
|
102
|
+
* @returns The stamp, or null when there is none (running from source).
|
|
103
|
+
*/
|
|
104
|
+
export declare function readBuildProvenance(codePath: string): BuildProvenance | null;
|
|
105
|
+
/**
|
|
106
|
+
* The linked worktree this build came from, or null for a released build.
|
|
107
|
+
*
|
|
108
|
+
* @param options - Injection points; defaults describe this process.
|
|
109
|
+
* @returns The worktree root, or null.
|
|
110
|
+
*/
|
|
111
|
+
export declare function devBuildWorktree(options?: Partial<WorktreeBuildGuardOptions>): string | null;
|
|
112
|
+
/**
|
|
113
|
+
* Why this build must not change the schema of `dbPath`, or null when it may.
|
|
114
|
+
*
|
|
115
|
+
* @param dbPath - Store path.
|
|
116
|
+
* @param options - Injection points; defaults describe this process.
|
|
117
|
+
* @returns The refusal naming the build's worktree, the store and the opt-in.
|
|
118
|
+
* @task T12687
|
|
119
|
+
*/
|
|
120
|
+
export declare function schemaWriteRefusal(dbPath: string, options?: Partial<WorktreeBuildGuardOptions>): string | null;
|
|
121
|
+
/** Backwards-compatible alias of {@link schemaWriteRefusal}. */
|
|
122
|
+
export declare const worktreeBuildMigrationRefusal: typeof schemaWriteRefusal;
|
|
123
|
+
/**
|
|
124
|
+
* Whether this build may change the schema of the store behind `nativeDb`.
|
|
125
|
+
*
|
|
126
|
+
* @param nativeDb - Store handle (`location()` is its path; in-memory is always allowed).
|
|
127
|
+
* @returns `true` when schema writes are allowed.
|
|
128
|
+
*/
|
|
129
|
+
export declare function schemaWritesAllowed(nativeDb: DatabaseSync): boolean;
|
|
130
|
+
/** Refusal raised when a dev build would change a foreign store's schema (T12687). */
|
|
131
|
+
export declare class WorktreeBuildSchemaError extends CleoError {
|
|
132
|
+
constructor(message: string);
|
|
133
|
+
}
|
|
134
|
+
/** Whether `error` is (or wraps) a {@link WorktreeBuildSchemaError}. */
|
|
135
|
+
export declare function isWorktreeBuildSchemaError(error: unknown): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Install the schema-write guard on a freshly opened writable handle. Call it
|
|
138
|
+
* right after opening, before any schema code runs.
|
|
139
|
+
*
|
|
140
|
+
* Only a dev build (outside the test harness) installs anything; released
|
|
141
|
+
* builds pay nothing. The authorizer then applies, PER SCHEMA, the decision
|
|
142
|
+
* for that schema's file: on a refused schema it denies `ALTER`, `DROP` and
|
|
143
|
+
* any `CREATE` of an object that does not already exist. That covers the main
|
|
144
|
+
* schema and any store ATTACHed later — an exempt handle (in-memory or inside
|
|
145
|
+
* the build's own worktree) that attaches a foreign store is guarded on the
|
|
146
|
+
* attached schema too.
|
|
147
|
+
*
|
|
148
|
+
* @param nativeDb - Freshly opened writable handle.
|
|
149
|
+
* @returns `true` when the main schema itself is refused.
|
|
150
|
+
* @task T12687
|
|
151
|
+
*/
|
|
152
|
+
export declare function installSchemaWriteGuard(nativeDb: DatabaseSync): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Re-read the schema map after an `ATTACH`, so the attached schema gets its own
|
|
155
|
+
* decision and no-op `CREATE … IF NOT EXISTS` statements on it stay allowed.
|
|
156
|
+
*
|
|
157
|
+
* @param nativeDb - A handle passed to {@link installSchemaWriteGuard}.
|
|
158
|
+
*/
|
|
159
|
+
export declare function refreshSchemaWriteGuard(nativeDb: DatabaseSync): void;
|
|
160
|
+
/**
|
|
161
|
+
* Turn SQLite's bare `not authorized` from a guarded handle into the refusal
|
|
162
|
+
* that says why and what to do. Other errors are returned unchanged.
|
|
163
|
+
*
|
|
164
|
+
* @param nativeDb - The handle the error came from.
|
|
165
|
+
* @param error - The caught error.
|
|
166
|
+
* @returns The error to rethrow.
|
|
167
|
+
*/
|
|
168
|
+
export declare function explainSchemaWriteDenial(nativeDb: DatabaseSync, error: unknown): unknown;
|
|
169
|
+
/**
|
|
170
|
+
* Migrations of one lineage that `nativeDb`'s journal does not yet record.
|
|
171
|
+
*
|
|
172
|
+
* @param nativeDb - Store handle.
|
|
173
|
+
* @param migrations - The lineage's local migrations.
|
|
174
|
+
* @returns Names (or hashes) of the pending migrations; all of them when the
|
|
175
|
+
* journal table does not exist yet.
|
|
176
|
+
*/
|
|
177
|
+
export declare function pendingMigrations(nativeDb: DatabaseSync, migrations: readonly MigrationMeta[]): string[];
|
|
178
|
+
/**
|
|
179
|
+
* The guard at a migration site: when this build may not change the store's
|
|
180
|
+
* schema and the lineage has pending migrations, FAIL FAST — the store does
|
|
181
|
+
* not match what this build reads, so continuing would only fail later with
|
|
182
|
+
* `no such column`.
|
|
183
|
+
*
|
|
184
|
+
* @param nativeDb - Store handle.
|
|
185
|
+
* @param migrations - The lineage's local migrations.
|
|
186
|
+
* @throws {WorktreeBuildSchemaError} naming the build worktree, the store,
|
|
187
|
+
* the pending migrations and the opt-in.
|
|
188
|
+
* @task T12687
|
|
189
|
+
*/
|
|
190
|
+
export declare function assertNoPendingMigrationsForWorktreeBuild(nativeDb: DatabaseSync, migrations: readonly MigrationMeta[]): void;
|
|
191
|
+
//# sourceMappingURL=worktree-build-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-build-guard.d.ts","sourceRoot":"","sources":["../../src/store/worktree-build-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,2FAA2F;AAC3F,eAAO,MAAM,mCAAmC,yCAAyC,CAAC;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAKD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,GAC9C,IAAI,CAGN;AAwCD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAShE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAsB5E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAAG,MAAM,GAAG,IAAI,CAWhG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC/C,MAAM,GAAG,IAAI,CAef;AAED,gEAAgE;AAChE,eAAO,MAAM,6BAA6B,2BAAqB,CAAC;AAchE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAGnE;AAED,sFAAsF;AACtF,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,OAAO,EAAE,MAAM;CAO5B;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElE;AA4HD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAyDvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAMpE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,MAAM,EAAE,CAcV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,IAAI,CAQN"}
|