@cleocode/core 2026.9.23 → 2026.9.25
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/admin/import-tasks.d.ts.map +1 -1
- package/dist/admin/import-tasks.js +35 -6
- package/dist/admin/import-tasks.js.map +1 -1
- package/dist/admin/import.d.ts.map +1 -1
- package/dist/admin/import.js +25 -6
- package/dist/admin/import.js.map +1 -1
- package/dist/audit-prune.d.ts +32 -0
- package/dist/audit-prune.d.ts.map +1 -1
- package/dist/audit-prune.js +37 -3
- package/dist/audit-prune.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/crypto.d.ts +1 -2
- package/dist/cloud/crypto.d.ts.map +1 -1
- package/dist/cloud/crypto.js +1 -11
- package/dist/cloud/crypto.js.map +1 -1
- package/dist/cloud/http.d.ts +8 -0
- package/dist/cloud/http.d.ts.map +1 -1
- package/dist/cloud/http.js +8 -1
- package/dist/cloud/http.js.map +1 -1
- package/dist/cloud/index.d.ts +6 -1
- package/dist/cloud/index.d.ts.map +1 -1
- package/dist/cloud/index.js +6 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/nexus-auth.d.ts +169 -0
- package/dist/cloud/nexus-auth.d.ts.map +1 -0
- package/dist/cloud/nexus-auth.js +372 -0
- package/dist/cloud/nexus-auth.js.map +1 -0
- package/dist/cloud/nexus-credentials.d.ts +188 -0
- package/dist/cloud/nexus-credentials.d.ts.map +1 -0
- package/dist/cloud/nexus-credentials.js +323 -0
- package/dist/cloud/nexus-credentials.js.map +1 -0
- package/dist/cloud/nexus-link.d.ts +85 -0
- package/dist/cloud/nexus-link.d.ts.map +1 -0
- package/dist/cloud/nexus-link.js +226 -0
- package/dist/cloud/nexus-link.js.map +1 -0
- package/dist/cloud/presence.d.ts +88 -0
- package/dist/cloud/presence.d.ts.map +1 -0
- package/dist/cloud/presence.js +137 -0
- package/dist/cloud/presence.js.map +1 -0
- package/dist/cloud/projects.d.ts +3 -1
- package/dist/cloud/projects.d.ts.map +1 -1
- package/dist/cloud/projects.js +4 -2
- package/dist/cloud/projects.js.map +1 -1
- package/dist/cloud/uuidv7.d.ts +9 -0
- package/dist/cloud/uuidv7.d.ts.map +1 -0
- package/dist/cloud/uuidv7.js +19 -0
- package/dist/cloud/uuidv7.js.map +1 -0
- package/dist/crypto/credentials.d.ts +14 -4
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/crypto/credentials.js +15 -1
- package/dist/crypto/credentials.js.map +1 -1
- package/dist/decide/bench/dataset.d.ts +125 -0
- package/dist/decide/bench/dataset.d.ts.map +1 -0
- package/dist/decide/bench/dataset.js +457 -0
- package/dist/decide/bench/dataset.js.map +1 -0
- package/dist/decide/bench/index.d.ts +23 -0
- package/dist/decide/bench/index.d.ts.map +1 -0
- package/dist/decide/bench/index.js +23 -0
- package/dist/decide/bench/index.js.map +1 -0
- package/dist/decide/bench/metrics.d.ts +55 -0
- package/dist/decide/bench/metrics.d.ts.map +1 -0
- package/dist/decide/bench/metrics.js +100 -0
- package/dist/decide/bench/metrics.js.map +1 -0
- package/dist/decide/bench/operation.d.ts +119 -0
- package/dist/decide/bench/operation.d.ts.map +1 -0
- package/dist/decide/bench/operation.js +171 -0
- package/dist/decide/bench/operation.js.map +1 -0
- package/dist/decide/bench/profiles.d.ts +102 -0
- package/dist/decide/bench/profiles.d.ts.map +1 -0
- package/dist/decide/bench/profiles.js +175 -0
- package/dist/decide/bench/profiles.js.map +1 -0
- package/dist/decide/bench/questions.d.ts +40 -0
- package/dist/decide/bench/questions.d.ts.map +1 -0
- package/dist/decide/bench/questions.js +107 -0
- package/dist/decide/bench/questions.js.map +1 -0
- package/dist/decide/bench/report.d.ts +21 -0
- package/dist/decide/bench/report.d.ts.map +1 -0
- package/dist/decide/bench/report.js +125 -0
- package/dist/decide/bench/report.js.map +1 -0
- package/dist/decide/bench/runner.d.ts +208 -0
- package/dist/decide/bench/runner.d.ts.map +1 -0
- package/dist/decide/bench/runner.js +336 -0
- package/dist/decide/bench/runner.js.map +1 -0
- package/dist/decide/bench/source.d.ts +21 -0
- package/dist/decide/bench/source.d.ts.map +1 -0
- package/dist/decide/bench/source.js +67 -0
- package/dist/decide/bench/source.js.map +1 -0
- package/dist/decide/bench/spot-check.d.ts +117 -0
- package/dist/decide/bench/spot-check.d.ts.map +1 -0
- package/dist/decide/bench/spot-check.js +221 -0
- package/dist/decide/bench/spot-check.js.map +1 -0
- package/dist/decide/bench/stats.d.ts +57 -0
- package/dist/decide/bench/stats.d.ts.map +1 -0
- package/dist/decide/bench/stats.js +82 -0
- package/dist/decide/bench/stats.js.map +1 -0
- package/dist/decide/bench/types.d.ts +216 -0
- package/dist/decide/bench/types.d.ts.map +1 -0
- package/dist/decide/bench/types.js +104 -0
- package/dist/decide/bench/types.js.map +1 -0
- package/dist/decide/client.d.ts +35 -1
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +135 -35
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +177 -17
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +505 -41
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +8 -8
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +8 -8
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +55 -19
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +116 -37
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +63 -12
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +116 -58
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +85 -12
- package/dist/decide/provider-state.d.ts.map +1 -1
- package/dist/decide/provider-state.js +154 -21
- package/dist/decide/provider-state.js.map +1 -1
- package/dist/decide/provider.d.ts +5 -0
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +15 -2
- package/dist/decide/providers.d.ts.map +1 -1
- package/dist/decide/providers.js +22 -6
- package/dist/decide/providers.js.map +1 -1
- package/dist/decide/sites/registry.d.ts +22 -0
- package/dist/decide/sites/registry.d.ts.map +1 -1
- package/dist/decide/sites/registry.js +23 -0
- package/dist/decide/sites/registry.js.map +1 -1
- package/dist/decide/wizard.d.ts +12 -4
- package/dist/decide/wizard.d.ts.map +1 -1
- package/dist/decide/wizard.js +79 -26
- package/dist/decide/wizard.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts +15 -2
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +73 -12
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/adr-allocator.d.ts +2 -2
- package/dist/docs/adr-allocator.d.ts.map +1 -1
- package/dist/docs/adr-allocator.js +17 -4
- package/dist/docs/adr-allocator.js.map +1 -1
- package/dist/docs/blob-consolidation.js +1 -1
- package/dist/docs/blob-consolidation.js.map +1 -1
- package/dist/docs/display-alias.d.ts +1 -1
- package/dist/docs/display-alias.d.ts.map +1 -1
- package/dist/docs/display-alias.js +7 -4
- package/dist/docs/display-alias.js.map +1 -1
- package/dist/docs/docs-inconsistency-detector.js +1 -1
- package/dist/docs/docs-inconsistency-detector.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +6 -1
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +18058 -14538
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/numbering.js +1 -1
- package/dist/docs/numbering.js.map +1 -1
- package/dist/docs/supersede.d.ts.map +1 -1
- package/dist/docs/supersede.js +6 -3
- package/dist/docs/supersede.js.map +1 -1
- package/dist/docs/version-ssot.js +1 -1
- package/dist/docs/version-ssot.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +39 -24
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/doctor/knowledge-summary.d.ts +10 -3
- package/dist/doctor/knowledge-summary.d.ts.map +1 -1
- package/dist/doctor/knowledge-summary.js +10 -3
- package/dist/doctor/knowledge-summary.js.map +1 -1
- package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
- package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
- package/dist/doctor/orphan-ac-bindings.js +59 -0
- package/dist/doctor/orphan-ac-bindings.js.map +1 -0
- package/dist/doctor/project-identity.d.ts +128 -37
- package/dist/doctor/project-identity.d.ts.map +1 -1
- package/dist/doctor/project-identity.js +476 -63
- package/dist/doctor/project-identity.js.map +1 -1
- package/dist/doctor/projects.d.ts.map +1 -1
- package/dist/doctor/projects.js +43 -29
- package/dist/doctor/projects.js.map +1 -1
- package/dist/doctor/row-identity.d.ts +31 -0
- package/dist/doctor/row-identity.d.ts.map +1 -0
- package/dist/doctor/row-identity.js +93 -0
- package/dist/doctor/row-identity.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +108 -2
- package/dist/doctor/twin-collapse.d.ts.map +1 -1
- package/dist/doctor/twin-collapse.js +309 -7
- package/dist/doctor/twin-collapse.js.map +1 -1
- package/dist/error-catalog.js +2 -2
- package/dist/error-catalog.js.map +1 -1
- package/dist/error-registry.js +1 -1
- package/dist/error-registry.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +22 -2
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +20 -11
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +2 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/internal.d.ts +5 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +6 -4
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +10 -0
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/credential-remove-entry.d.ts +59 -0
- package/dist/llm/credential-remove-entry.d.ts.map +1 -0
- package/dist/llm/credential-remove-entry.js +101 -0
- package/dist/llm/credential-remove-entry.js.map +1 -0
- package/dist/llm/oauth/device-code.d.ts +26 -6
- package/dist/llm/oauth/device-code.d.ts.map +1 -1
- package/dist/llm/oauth/device-code.js +44 -12
- package/dist/llm/oauth/device-code.js.map +1 -1
- package/dist/llm/plugin-facade.js +18202 -14682
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/attention.d.ts.map +1 -1
- package/dist/memory/attention.js +5 -3
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decisions.d.ts +48 -3
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +98 -14
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +19 -10
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/learnings.d.ts +6 -6
- package/dist/memory/manifest-identity.d.ts +171 -0
- package/dist/memory/manifest-identity.d.ts.map +1 -0
- package/dist/memory/manifest-identity.js +345 -0
- package/dist/memory/manifest-identity.js.map +1 -0
- package/dist/memory/mental-model-queue.d.ts +14 -4
- package/dist/memory/mental-model-queue.d.ts.map +1 -1
- package/dist/memory/mental-model-queue.js +64 -35
- package/dist/memory/mental-model-queue.js.map +1 -1
- package/dist/memory/patterns.d.ts +4 -4
- package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +130 -14
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +2 -0
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/transcript-scanner.js +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.d.ts.map +1 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js +5 -1
- package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
- package/dist/nexus/deps.d.ts.map +1 -1
- package/dist/nexus/deps.js +7 -14
- package/dist/nexus/deps.js.map +1 -1
- package/dist/nexus/discover.d.ts.map +1 -1
- package/dist/nexus/discover.js +6 -9
- package/dist/nexus/discover.js.map +1 -1
- package/dist/nexus/fleet-status.d.ts +83 -0
- package/dist/nexus/fleet-status.d.ts.map +1 -0
- package/dist/nexus/fleet-status.js +414 -0
- package/dist/nexus/fleet-status.js.map +1 -0
- package/dist/nexus/git-state.d.ts +15 -0
- package/dist/nexus/git-state.d.ts.map +1 -1
- package/dist/nexus/git-state.js +77 -3
- package/dist/nexus/git-state.js.map +1 -1
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +4 -0
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/index.d.ts +4 -1
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +7 -1
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/migrate-json-to-sqlite.d.ts +3 -2
- package/dist/nexus/migrate-json-to-sqlite.d.ts.map +1 -1
- package/dist/nexus/migrate-json-to-sqlite.js +9 -17
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
- package/dist/nexus/ops.d.ts +1 -0
- package/dist/nexus/ops.d.ts.map +1 -1
- package/dist/nexus/project-activity.d.ts +104 -0
- package/dist/nexus/project-activity.d.ts.map +1 -0
- package/dist/nexus/project-activity.js +150 -0
- package/dist/nexus/project-activity.js.map +1 -0
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +22 -11
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +8 -13
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/query.d.ts +2 -2
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +8 -31
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-errors.d.ts +61 -0
- package/dist/nexus/registry-errors.d.ts.map +1 -0
- package/dist/nexus/registry-errors.js +85 -0
- package/dist/nexus/registry-errors.js.map +1 -0
- package/dist/nexus/registry-roots.d.ts +5 -2
- package/dist/nexus/registry-roots.d.ts.map +1 -1
- package/dist/nexus/registry-roots.js +8 -10
- package/dist/nexus/registry-roots.js.map +1 -1
- package/dist/nexus/registry.d.ts +48 -5
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +151 -85
- package/dist/nexus/registry.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts +4 -0
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +75 -12
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +29 -27
- 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 +29 -3
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
- package/dist/orchestrate/worktree-complete.js +40 -2
- package/dist/orchestrate/worktree-complete.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +20 -14
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +15 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +25 -6
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +7 -1
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +6 -3
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +26 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +63 -92
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/waves.d.ts +21 -10
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +38 -35
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +9 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +30 -13
- package/dist/paths.js.map +1 -1
- package/dist/phases/index.d.ts +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +3 -4
- package/dist/phases/index.js.map +1 -1
- package/dist/project-info.d.ts +40 -3
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +74 -6
- package/dist/project-info.js.map +1 -1
- package/dist/project-lifecycle.d.ts +28 -7
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +114 -47
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/project-scope.d.ts +70 -3
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +154 -15
- package/dist/project-scope.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +190 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +436 -4
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/open.d.ts +12 -2
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +32 -3
- package/dist/release/open.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +73 -0
- package/dist/release/preflight-skip.d.ts.map +1 -0
- package/dist/release/preflight-skip.js +254 -0
- package/dist/release/preflight-skip.js.map +1 -0
- package/dist/render/decide/index.d.ts +51 -0
- package/dist/render/decide/index.d.ts.map +1 -0
- package/dist/render/decide/index.js +289 -0
- package/dist/render/decide/index.js.map +1 -0
- package/dist/render/index.d.ts +1 -0
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +1 -0
- package/dist/render/index.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts +5 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +53 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts +14 -6
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +39 -17
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +115 -23
- package/dist/scaffold/project-identity.d.ts.map +1 -1
- package/dist/scaffold/project-identity.js +196 -44
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
- package/dist/sdk/validator-ac-pull.js +2 -1
- package/dist/sdk/validator-ac-pull.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +18221 -14701
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/cross-project-hygiene.d.ts +17 -6
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +22 -11
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +2 -3
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
- package/dist/sentient/stage-drift-tick.js +2 -3
- package/dist/sentient/stage-drift-tick.js.map +1 -1
- package/dist/session/engine-ops.d.ts +13 -4
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +38 -45
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +7 -3
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +10 -10
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +11 -19
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +103 -26
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +166 -37
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +9 -18
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/sessions/index.d.ts +4 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +35 -6
- 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 -2
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/sessions/session-view.d.ts +8 -1
- package/dist/sessions/session-view.d.ts.map +1 -1
- package/dist/sessions/session-view.js +9 -2
- package/dist/sessions/session-view.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +1 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +4 -2
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +6 -2
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/nexus-account.d.ts +32 -0
- package/dist/setup/sections/nexus-account.d.ts.map +1 -0
- package/dist/setup/sections/nexus-account.js +64 -0
- package/dist/setup/sections/nexus-account.js.map +1 -0
- package/dist/setup/wizard.d.ts +1 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/manifests/research.js +2 -0
- package/dist/skills/manifests/research.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +18 -31
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/orchestrator/validator.d.ts.map +1 -1
- package/dist/skills/orchestrator/validator.js +9 -2
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/skills/validation.d.ts +4 -1
- package/dist/skills/validation.d.ts.map +1 -1
- package/dist/skills/validation.js +11 -3
- package/dist/skills/validation.js.map +1 -1
- package/dist/snapshot/index.d.ts.map +1 -1
- package/dist/snapshot/index.js +60 -53
- package/dist/snapshot/index.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +33 -1
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +53 -1
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +111 -7
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +296 -8
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +1 -1
- package/dist/spawn/index.d.ts.map +1 -1
- package/dist/spawn/index.js +1 -1
- package/dist/spawn/index.js.map +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +3 -4
- package/dist/stats/index.js.map +1 -1
- package/dist/status/index.d.ts +12 -3
- package/dist/status/index.d.ts.map +1 -1
- package/dist/status/index.js +47 -5
- package/dist/status/index.js.map +1 -1
- package/dist/store/ac-binding-prune.d.ts +144 -0
- package/dist/store/ac-binding-prune.d.ts.map +1 -0
- package/dist/store/ac-binding-prune.js +293 -0
- package/dist/store/ac-binding-prune.js.map +1 -0
- package/dist/store/agent-registry-store.d.ts.map +1 -1
- package/dist/store/agent-registry-store.js +3 -2
- package/dist/store/agent-registry-store.js.map +1 -1
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +42 -3
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +30 -46
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/backup-recover-brain.d.ts +4 -0
- package/dist/store/backup-recover-brain.d.ts.map +1 -1
- package/dist/store/backup-recover-brain.js +2 -0
- package/dist/store/backup-recover-brain.js.map +1 -1
- package/dist/store/backup-recover.d.ts +9 -0
- package/dist/store/backup-recover.d.ts.map +1 -1
- package/dist/store/backup-recover.js +28 -1
- package/dist/store/backup-recover.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +115 -2
- package/dist/store/backup-sidecar.d.ts.map +1 -1
- package/dist/store/backup-sidecar.js +263 -3
- package/dist/store/backup-sidecar.js.map +1 -1
- package/dist/store/blob-keep.d.ts +135 -0
- package/dist/store/blob-keep.d.ts.map +1 -0
- package/dist/store/blob-keep.js +283 -0
- package/dist/store/blob-keep.js.map +1 -0
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -2
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/converters.d.ts.map +1 -1
- package/dist/store/converters.js +11 -0
- package/dist/store/converters.js.map +1 -1
- package/dist/store/credential-transfer.d.ts +37 -5
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +76 -18
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/data-accessor.d.ts +1 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/db-helpers.d.ts +35 -11
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +107 -38
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +529 -0
- package/dist/store/display-id-alias.d.ts.map +1 -0
- package/dist/store/display-id-alias.js +1063 -0
- package/dist/store/display-id-alias.js.map +1 -0
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +21 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +35 -0
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts.map +1 -1
- package/dist/store/exodus/reconcile.js +7 -2
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +20 -1
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +3 -3
- package/dist/store/exodus/runtime-targets.js +3 -3
- package/dist/store/import-remap.d.ts +12 -1
- package/dist/store/import-remap.d.ts.map +1 -1
- package/dist/store/import-remap.js +14 -0
- package/dist/store/import-remap.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts +3 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +22 -3
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/memory-accessor.js +1 -1
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/migration-manager.d.ts +61 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +102 -4
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/nexus-validation-schemas.d.ts +64 -0
- package/dist/store/nexus-validation-schemas.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.d.ts +8 -0
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +10 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -0
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +15 -14
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/pre-repair-snapshot.d.ts +4 -1
- package/dist/store/pre-repair-snapshot.d.ts.map +1 -1
- package/dist/store/pre-repair-snapshot.js +5 -1
- package/dist/store/pre-repair-snapshot.js.map +1 -1
- package/dist/store/regenerators.d.ts +4 -2
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +7 -3
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/repair-malformed-dbs.d.ts +4 -0
- package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
- package/dist/store/repair-malformed-dbs.js +3 -0
- package/dist/store/repair-malformed-dbs.js.map +1 -1
- package/dist/store/row-identity-flag.d.ts +26 -0
- package/dist/store/row-identity-flag.d.ts.map +1 -0
- package/dist/store/row-identity-flag.js +31 -0
- package/dist/store/row-identity-flag.js.map +1 -0
- package/dist/store/row-identity-registry.d.ts +61 -0
- package/dist/store/row-identity-registry.d.ts.map +1 -0
- package/dist/store/row-identity-registry.js +198 -0
- package/dist/store/row-identity-registry.js.map +1 -0
- package/dist/store/row-identity.d.ts +390 -0
- package/dist/store/row-identity.d.ts.map +1 -0
- package/dist/store/row-identity.js +1240 -0
- package/dist/store/row-identity.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +10 -3
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +15 -4
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/audit.d.ts +4 -4
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +49 -1
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +17 -0
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/audit.d.ts +4 -4
- package/dist/store/schema/cleo-project/docs.d.ts +17 -1
- package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/docs.js +10 -0
- package/dist/store/schema/cleo-project/docs.js.map +1 -1
- package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
- package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
- package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
- package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +263 -7
- package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.js +77 -2
- package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +7 -7
- package/dist/store/schema/lifecycle.d.ts +4 -4
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +6 -6
- package/dist/store/schema/nexus-schema.d.ts +51 -3
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +28 -7
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +6 -6
- package/dist/store/session-store.d.ts +65 -0
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +108 -7
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/split-brain-import.d.ts +2 -14
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +4 -19
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +279 -2
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +789 -91
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +15 -3
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +52 -20
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/store-write-guard.d.ts +9 -3
- package/dist/store/store-write-guard.d.ts.map +1 -1
- package/dist/store/store-write-guard.js +25 -4
- package/dist/store/store-write-guard.js.map +1 -1
- package/dist/store/sync/clock-store.d.ts +67 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -0
- package/dist/store/sync/clock-store.js +117 -0
- package/dist/store/sync/clock-store.js.map +1 -0
- package/dist/store/sync/flags.d.ts +51 -0
- package/dist/store/sync/flags.d.ts.map +1 -0
- package/dist/store/sync/flags.js +81 -0
- package/dist/store/sync/flags.js.map +1 -0
- package/dist/store/sync/hlc.d.ts +115 -0
- package/dist/store/sync/hlc.d.ts.map +1 -0
- package/dist/store/sync/hlc.js +172 -0
- package/dist/store/sync/hlc.js.map +1 -0
- package/dist/store/sync/index.d.ts +20 -0
- package/dist/store/sync/index.d.ts.map +1 -0
- package/dist/store/sync/index.js +20 -0
- package/dist/store/sync/index.js.map +1 -0
- package/dist/store/sync/replica-registry.d.ts +85 -0
- package/dist/store/sync/replica-registry.d.ts.map +1 -0
- package/dist/store/sync/replica-registry.js +147 -0
- package/dist/store/sync/replica-registry.js.map +1 -0
- package/dist/store/sync/replica.d.ts +181 -0
- package/dist/store/sync/replica.d.ts.map +1 -0
- package/dist/store/sync/replica.js +305 -0
- package/dist/store/sync/replica.js.map +1 -0
- package/dist/store/sync/schema.d.ts +68 -0
- package/dist/store/sync/schema.d.ts.map +1 -0
- package/dist/store/sync/schema.js +130 -0
- package/dist/store/sync/schema.js.map +1 -0
- package/dist/store/sync/skew-hold.d.ts +71 -0
- package/dist/store/sync/skew-hold.d.ts.map +1 -0
- package/dist/store/sync/skew-hold.js +89 -0
- package/dist/store/sync/skew-hold.js.map +1 -0
- package/dist/store/table-classification.d.ts +11 -9
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +127 -33
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/task-claim.d.ts +144 -0
- package/dist/store/task-claim.d.ts.map +1 -0
- package/dist/store/task-claim.js +195 -0
- package/dist/store/task-claim.js.map +1 -0
- package/dist/store/task-version.d.ts +43 -5
- package/dist/store/task-version.d.ts.map +1 -1
- package/dist/store/task-version.js +113 -17
- package/dist/store/task-version.js.map +1 -1
- package/dist/store/tasks-schema.d.ts +2 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +1 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +10 -2
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +450 -22
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +1552 -49
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/umbrella-data-accessor.d.ts +10 -3
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +14 -4
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +402 -50
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/with-retry.d.ts +36 -0
- package/dist/store/with-retry.d.ts.map +1 -1
- package/dist/store/with-retry.js +51 -0
- package/dist/store/with-retry.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +13 -4
- package/dist/store/worktree-build-guard.d.ts.map +1 -1
- package/dist/store/worktree-build-guard.js +21 -10
- package/dist/store/worktree-build-guard.js.map +1 -1
- package/dist/store/worktree-isolation-guard.d.ts +121 -10
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +155 -34
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/system/backup.d.ts +7 -0
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +5 -0
- package/dist/system/backup.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +6 -1
- package/dist/system/health.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +23 -10
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/system/project-health.d.ts +17 -2
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +19 -6
- package/dist/system/project-health.js.map +1 -1
- package/dist/task-tools/index.d.ts +1 -1
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +1 -1
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +38 -0
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +51 -0
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/task-work/claims.d.ts +215 -0
- package/dist/task-work/claims.d.ts.map +1 -0
- package/dist/task-work/claims.js +272 -0
- package/dist/task-work/claims.js.map +1 -0
- package/dist/task-work/index.d.ts +47 -3
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +74 -41
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +3 -0
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +35 -7
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +119 -14
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +51 -4
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +3 -4
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.js +47 -6
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts +5 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +59 -3
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete.d.ts +16 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +33 -8
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/completion-evaluation.d.ts.map +1 -1
- package/dist/tasks/completion-evaluation.js +3 -0
- package/dist/tasks/completion-evaluation.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +162 -1
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +560 -59
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/done-record.d.ts +14 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +37 -0
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +20 -1
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +10 -2
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +19 -10
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +38 -10
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +14 -3
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/graph-ops.d.ts +9 -2
- package/dist/tasks/graph-ops.d.ts.map +1 -1
- package/dist/tasks/graph-ops.js +24 -32
- package/dist/tasks/graph-ops.js.map +1 -1
- package/dist/tasks/plan.d.ts.map +1 -1
- package/dist/tasks/plan.js +16 -60
- package/dist/tasks/plan.js.map +1 -1
- package/dist/tasks/task-context.d.ts.map +1 -1
- package/dist/tasks/task-context.js +13 -0
- package/dist/tasks/task-context.js.map +1 -1
- package/dist/tasks/task-import.d.ts.map +1 -1
- package/dist/tasks/task-import.js +21 -12
- package/dist/tasks/task-import.js.map +1 -1
- package/dist/tasks/task-next.d.ts +25 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +32 -13
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +7 -5
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +48 -9
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/compliance.d.ts +5 -1
- package/dist/validation/compliance.d.ts.map +1 -1
- package/dist/validation/compliance.js +24 -3
- package/dist/validation/compliance.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +20 -6
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +51 -8
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/protocol-common.d.ts +47 -2
- package/dist/validation/protocol-common.d.ts.map +1 -1
- package/dist/validation/protocol-common.js +86 -21
- package/dist/validation/protocol-common.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +2 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/migrations/README.md +12 -0
- package/migrations/drizzle-cleo-global/20260929010000_t12512-registry-probed-opened/migration.sql +35 -0
- package/migrations/drizzle-cleo-global/20260929020000_t12721-git-state-head-committed-at/migration.sql +25 -0
- package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
- package/migrations/drizzle-cleo-project/20260929000000_t12535-docs-attachments-union-shape/migration.sql +21 -0
- package/migrations/drizzle-cleo-project/20260929120000_t12502-task-claim-leases/migration.sql +77 -0
- package/migrations/drizzle-cleo-project/20260929130000_t12736-claim-lease-iso-repair/migration.sql +37 -0
- package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
- package/package.json +23 -13
- package/schemas/project-info.schema.json +10 -4
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +7 -3
- package/templates/cleo-gitignore +11 -0
- package/templates/workflows/release-prepare.yml.tmpl +156 -10
|
@@ -45,13 +45,17 @@
|
|
|
45
45
|
* | every other key (`schemaVersion`, `version`, `focus_state`, `focus_state:<session>`, `project_meta`, `project`, `parallel_state`, `activeSession`, `reconcile.<task>.release`, any unknown key) | none: the bare value |
|
|
46
46
|
*
|
|
47
47
|
* - **Initial collapse**, when the bare table holds at least one carried key:
|
|
48
|
-
* every bare key is carried under the rules
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
48
|
+
* every bare key is carried under the rules (the bare value wins every key
|
|
49
|
+
* both hold). A key only the twin holds is KEPT, never dropped (the union
|
|
50
|
+
* rule, T12535 audit 2026-09-29): it is listed as `kept` in the receipt and
|
|
51
|
+
* marker. When a key's twin value would be replaced by a different result,
|
|
52
|
+
* the twin value is copied to `twin_collapse_archive:<key>` in
|
|
53
|
+
* `tasks_schema_meta` (listed as `archived`; doctor shows it), so nothing
|
|
54
|
+
* unique is left only in the snapshot. `focus_state` merges instead: the
|
|
55
|
+
* bare value's current fields win and `sessionNotes` is the union of both,
|
|
56
|
+
* deduplicated by `(timestamp, note)` ({@link mergeFocusState}); its twin
|
|
57
|
+
* value is archived as well. The pre-collapse snapshot holds the store
|
|
58
|
+
* before any change and is pinned (never rotated).
|
|
55
59
|
* - **Incremental re-merge**, per bare key whose hash changed since the last
|
|
56
60
|
* merge:
|
|
57
61
|
* - twin unchanged since the last merge → the bare value (counter fields
|
|
@@ -68,9 +72,13 @@
|
|
|
68
72
|
* `sticky_tags` → `brain_sticky_tags` (rows are `(sticky_id, tag)`, both the
|
|
69
73
|
* key, so a collision is two identical rows and one is kept):
|
|
70
74
|
*
|
|
71
|
-
* - Initial collapse
|
|
72
|
-
*
|
|
73
|
-
*
|
|
75
|
+
* - Initial collapse: bare tags are added. A twin-only tag the note's
|
|
76
|
+
* `tags_json` names is kept (listed as `kept`). One it does not name leaves
|
|
77
|
+
* the junction (which follows `tags_json`, the value every reader displays)
|
|
78
|
+
* and is recorded under `twin_collapse_archive:sticky_tags` in
|
|
79
|
+
* `brain_schema_meta` (listed as `archived`); adding it to `tags_json` would
|
|
80
|
+
* change the tags the user sees. A bare tag whose note no longer exists is
|
|
81
|
+
* not carried (`skipped`; it stays in the bare table).
|
|
74
82
|
* - Incremental re-merge, per sticky id whose bare tag-set hash changed: if
|
|
75
83
|
* the twin's set for that id is unchanged since the last merge, the twin
|
|
76
84
|
* set is made equal to the bare set (additions AND removals propagate);
|
|
@@ -82,12 +90,58 @@
|
|
|
82
90
|
* tag filter can never disagree with the displayed tags. A conflict is still
|
|
83
91
|
* recorded for `cleo doctor`.
|
|
84
92
|
*
|
|
93
|
+
* `attachments` + `attachment_refs` → `docs_attachments` + `docs_attachment_refs`
|
|
94
|
+
* merge as ONE pair, in one transaction (a doc and its refs never diverge).
|
|
95
|
+
* The bare rows are authoritative over the columns both tables share, except
|
|
96
|
+
* `ref_count`, which is derived: after every merge it is recomputed as the
|
|
97
|
+
* number of refs in `docs_attachment_refs`, whoever wrote them (never carried,
|
|
98
|
+
* never max'd). Rows are keyed `d:<id>` and `r:<attachment_id, owner_type,
|
|
99
|
+
* owner_id>` in the marker hashes.
|
|
100
|
+
*
|
|
101
|
+
* - Initial collapse: the twins are made equal to the bare tables, even when
|
|
102
|
+
* the bare tables are empty (the older build never showed a twin-only row);
|
|
103
|
+
* frozen twin-only rows are dropped and listed.
|
|
104
|
+
* - Incremental re-merge, per bare doc whose hash moved (see {@link planDocs}):
|
|
105
|
+
* twin changed too → conflict, the twin wins; bare row gone → the twin row
|
|
106
|
+
* goes unless a ref or a supersedes link still names it (`kept`); the
|
|
107
|
+
* content (sha256) already belongs to another twin row → merged into that
|
|
108
|
+
* row: the bare id is aliased to it (`twin_collapse_alias:attachments`) and
|
|
109
|
+
* its refs follow; the slug already belongs to another twin row → carried
|
|
110
|
+
* under `<slug>-<n>` (`renamed`). Natural keys are checked against the state
|
|
111
|
+
* after the merge, so a merge never fails on them. Per bare ref whose hash
|
|
112
|
+
* moved: added → added (aliased), removed → removed unless this build
|
|
113
|
+
* changed it since.
|
|
114
|
+
* - Change detection: AFTER triggers on the bare tables (`t12535_track_*`)
|
|
115
|
+
* bump `twin_collapse_seq:attachments` on every write, the older build's
|
|
116
|
+
* included. An open compares that counter with the marker's instead of
|
|
117
|
+
* re-hashing every doc; a missing trigger falls back to the full compare.
|
|
118
|
+
* - Union shape: migration `20260929000000_t12535-docs-attachments-union-shape`
|
|
119
|
+
* adds the bare-only `display_alias` column and indexes; the UNIQUE slug and
|
|
120
|
+
* sha256 indexes are dropped and re-created by the merge itself around the
|
|
121
|
+
* row changes. Every merge ends with them in place, or rolls back.
|
|
122
|
+
* - The `supersedes` / `superseded_by` self-FKs are checked at commit
|
|
123
|
+
* (`PRAGMA defer_foreign_keys`), so a chain merges in any row order.
|
|
124
|
+
* - A bare row that violates a twin CHECK (e.g. a non-ISO `created_at`) fails
|
|
125
|
+
* the merge; the docs pair opens degraded (docs writes refused, everything
|
|
126
|
+
* else writable) and `cleo doctor twin-collapse` shows the cause.
|
|
127
|
+
* - Blobs: after each merge every twin doc's blob gets a keep-link (and is
|
|
128
|
+
* restored from it if the older build unlinked it), see `blob-keep.ts`.
|
|
129
|
+
* - Freeze (option (a), D11160): every merge installs BEFORE
|
|
130
|
+
* INSERT/UPDATE/DELETE triggers on the bare docs tables that abort an
|
|
131
|
+
* older build's write with the upgrade message ({@link docsFrozenMessage}).
|
|
132
|
+
* This build never writes them, so there is no bypass. Every open checks the freeze and change
|
|
133
|
+
* triggers and re-installs missing ones (a rebuild or restore drops them);
|
|
134
|
+
* `cleo doctor` reports them missing. The (b) defences above cover the time
|
|
135
|
+
* a freeze is missing.
|
|
136
|
+
*
|
|
85
137
|
* ## Contract
|
|
86
138
|
*
|
|
87
139
|
* 1. **Snapshot first** (initial collapse only, only when the merge changes
|
|
88
140
|
* the twin). The free space is checked before the `VACUUM INTO`. One
|
|
89
141
|
* snapshot covers every pair collapsing in this open, registered as a
|
|
90
|
-
* `migration` backup
|
|
142
|
+
* PINNED `migration` backup: `cleo backup list` shows it, rotation never
|
|
143
|
+
* deletes it, and a snapshot an earlier build wrote unpinned is pinned at
|
|
144
|
+
* the next open (`cleo doctor` lists an unpinned one).
|
|
91
145
|
* 2. **Atomic.** Each pair merges, verifies and writes its marker in one
|
|
92
146
|
* `BEGIN IMMEDIATE` transaction, the marker re-read under the write lock.
|
|
93
147
|
* Any failure rolls back: both tables byte-identical.
|
|
@@ -125,6 +179,8 @@
|
|
|
125
179
|
* @task T12535
|
|
126
180
|
*/
|
|
127
181
|
import type { DatabaseSync } from 'node:sqlite';
|
|
182
|
+
import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
|
|
183
|
+
import { z } from 'zod';
|
|
128
184
|
import { CleoError } from '../errors.js';
|
|
129
185
|
/** Prefix of the marker key holding a pair's collapse state. */
|
|
130
186
|
export declare const TWIN_COLLAPSE_MARKER_PREFIX = "twin_collapse:";
|
|
@@ -158,10 +214,22 @@ export interface TwinCollapseReceipt {
|
|
|
158
214
|
readonly deleted: number;
|
|
159
215
|
/** Bare rows not carried by rule (dead keys, tags of deleted notes). */
|
|
160
216
|
readonly skipped: number;
|
|
161
|
-
/**
|
|
217
|
+
/** Twin rows the initial collapse dropped (none since the union rule; kept for old markers). */
|
|
162
218
|
readonly dropped: readonly string[];
|
|
163
219
|
/** Keys (or sticky ids) both builds changed since the last merge; the twin was kept. */
|
|
164
220
|
readonly conflicts: readonly string[];
|
|
221
|
+
/** Docs: bare rows merged into the twin row holding the same content (`<bare id> -> <twin id>`). */
|
|
222
|
+
readonly merged: readonly string[];
|
|
223
|
+
/** Docs: rows carried under a free slug because another doc holds theirs. */
|
|
224
|
+
readonly renamed: readonly string[];
|
|
225
|
+
/**
|
|
226
|
+
* Rows kept by the union rule: twin-only keys / sticky tags the initial
|
|
227
|
+
* collapse carried over, and (docs) twin rows the bare side deleted that a
|
|
228
|
+
* ref or link still names.
|
|
229
|
+
*/
|
|
230
|
+
readonly kept: readonly string[];
|
|
231
|
+
/** Keys whose replaced twin value was copied to `twin_collapse_archive:<key>`. */
|
|
232
|
+
readonly archived: readonly string[];
|
|
165
233
|
}
|
|
166
234
|
/**
|
|
167
235
|
* The value a `schema_meta` key gets when the bare side is authoritative (the
|
|
@@ -206,6 +274,73 @@ export declare function mirrorCounterToBare(db: DatabaseSync, key: string): void
|
|
|
206
274
|
* @task T12535
|
|
207
275
|
*/
|
|
208
276
|
export declare function bareCounterOf(db: DatabaseSync, key: string): number;
|
|
277
|
+
/** Prefix of the key holding a twin value the initial collapse replaced. */
|
|
278
|
+
export declare const TWIN_COLLAPSE_ARCHIVE_PREFIX = "twin_collapse_archive:";
|
|
279
|
+
/**
|
|
280
|
+
* `focus_state` when both tables hold it: the bare value's current fields
|
|
281
|
+
* win, and the session-note history is the union of both
|
|
282
|
+
* (`sessionNotes`, deduplicated by `(timestamp, note)`, sorted by timestamp).
|
|
283
|
+
* The twin may hold months of notes the bare copy never saw (178 KB on the
|
|
284
|
+
* cleocode Linux store). A value that is not a JSON object stays the bare one
|
|
285
|
+
* (the replaced twin value is archived either way).
|
|
286
|
+
*
|
|
287
|
+
* @param bare - The bare value.
|
|
288
|
+
* @param twin - The twin value.
|
|
289
|
+
* @returns The merged value.
|
|
290
|
+
* @task T12535
|
|
291
|
+
*/
|
|
292
|
+
export declare function mergeFocusState(bare: string, twin: string): string;
|
|
293
|
+
/** Key of the bare→twin id aliases (bare rows merged into a twin row by sha256). */
|
|
294
|
+
export declare const DOCS_ALIAS_KEY = "twin_collapse_alias:attachments";
|
|
295
|
+
/** Key the bare-side change triggers bump on every write to the bare docs tables. */
|
|
296
|
+
export declare const DOCS_CHANGE_SEQ_KEY = "twin_collapse_seq:attachments";
|
|
297
|
+
/**
|
|
298
|
+
* The message an older build's write to a frozen bare docs table aborts with.
|
|
299
|
+
* It names the release that moved the docs, what fails (docs, changesets, and
|
|
300
|
+
* the IVTR playbook provenance an older build attaches when a playbook run
|
|
301
|
+
* finalises), and the upgrade command.
|
|
302
|
+
*
|
|
303
|
+
* It must never read as contention or corruption to an older build: those
|
|
304
|
+
* retry on `sqlite_busy` / `database is locked` and restore backups on
|
|
305
|
+
* `database disk image is malformed`, so none of those words appear (pinned by
|
|
306
|
+
* a test, see {@link DOCS_FROZEN_FORBIDDEN}).
|
|
307
|
+
*/
|
|
308
|
+
export declare function docsFrozenMessage(version: string | null): string;
|
|
309
|
+
/** Key recording the version of the build that first froze this store's bare docs tables. */
|
|
310
|
+
export declare const DOCS_FROZEN_BY_KEY = "twin_collapse_frozen_by:attachments";
|
|
311
|
+
/**
|
|
312
|
+
* The version the freeze message names: the first RELEASE build that froze
|
|
313
|
+
* (or later opened) this store, recorded under {@link DOCS_FROZEN_BY_KEY}.
|
|
314
|
+
*
|
|
315
|
+
* Why recorded, not a literal: the release that ships the freeze was not
|
|
316
|
+
* known when the code was written (2026.9.23 shipped without it). Why not the
|
|
317
|
+
* running build's version: a trigger outlives the build that wrote it, and a
|
|
318
|
+
* development build (a worktree, or the main checkout) reports the PREVIOUS
|
|
319
|
+
* release's version, which cannot read the store. So only a published build
|
|
320
|
+
* (running from an installed package, i.e. under `node_modules`) records its
|
|
321
|
+
* version, and never the unreadable `0.0.0` fallback. Until one does, the
|
|
322
|
+
* message names no version and points at `@latest`; the first release build
|
|
323
|
+
* to open the store records itself and the triggers are re-written.
|
|
324
|
+
*
|
|
325
|
+
* @param db - The project `cleo.db` connection.
|
|
326
|
+
* @returns The version to name, or `null` (no release build has frozen or
|
|
327
|
+
* opened this store yet).
|
|
328
|
+
* @task T12535
|
|
329
|
+
*/
|
|
330
|
+
export declare function docsFrozenVersion(db: DatabaseSync): string | null;
|
|
331
|
+
/**
|
|
332
|
+
* Test only: make this process count as a published build with `version`
|
|
333
|
+
* (or restore the real detection with `undefined`).
|
|
334
|
+
*
|
|
335
|
+
* @param override - The build to pretend to be.
|
|
336
|
+
* @task T12535
|
|
337
|
+
*/
|
|
338
|
+
export declare function setFreezeBuildForTests(override: {
|
|
339
|
+
published: boolean;
|
|
340
|
+
version: string;
|
|
341
|
+
} | undefined): void;
|
|
342
|
+
/** Phrases the freeze message must never contain (older builds' retry and recovery matchers). */
|
|
343
|
+
export declare const DOCS_FROZEN_FORBIDDEN: readonly string[];
|
|
209
344
|
/** Why a collapse failed, as carried by `E_TWIN_COLLAPSE_FAILED`. */
|
|
210
345
|
export interface TwinCollapseFailure {
|
|
211
346
|
/** The bare tables whose collapse did not complete. */
|
|
@@ -233,18 +368,24 @@ export interface TwinCollapseFailure {
|
|
|
233
368
|
*/
|
|
234
369
|
export declare function twinCollapseFailureOf(db: DatabaseSync): TwinCollapseFailure | undefined;
|
|
235
370
|
/**
|
|
236
|
-
* Refuse a write before its first statement when the
|
|
237
|
-
* failed
|
|
238
|
-
* (`tasks_schema_meta`,
|
|
239
|
-
* degraded store never takes a partial write (e.g. a sticky's
|
|
240
|
-
* without its tag rows).
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* @
|
|
371
|
+
* Refuse a write before its first statement when the collapse of the table it
|
|
372
|
+
* writes failed. The write accessors of the collapsed tables
|
|
373
|
+
* (`tasks_schema_meta`, sticky notes and tags, the docs tables) call it at
|
|
374
|
+
* entry, so a degraded store never takes a partial write (e.g. a sticky's
|
|
375
|
+
* `tags_json` without its tag rows). Only the failed pairs are blocked: a
|
|
376
|
+
* docs merge failure leaves task and sticky writes alone. The shadows' TEMP
|
|
377
|
+
* triggers stay as the backstop.
|
|
378
|
+
*
|
|
379
|
+
* @param handle - The connection the write would use: the native
|
|
380
|
+
* `DatabaseSync`, or a drizzle instance (its `$client` is checked).
|
|
381
|
+
* `null`/`undefined` (no bound handle) is not checked.
|
|
382
|
+
* @param table - The bare table whose pair the write belongs to.
|
|
383
|
+
* @throws {CleoError} `E_TWIN_COLLAPSE_FAILED` when that pair's collapse failed.
|
|
245
384
|
* @task T12535
|
|
246
385
|
*/
|
|
247
|
-
export declare function assertTwinCollapseWritable(handle:
|
|
386
|
+
export declare function assertTwinCollapseWritable(handle: DatabaseSync | NodeSQLiteDatabase | null | undefined, table: TwinCollapseTable): void;
|
|
387
|
+
/** The bare tables a failed collapse can block writes for. */
|
|
388
|
+
export type TwinCollapseTable = 'schema_meta' | 'sticky_tags' | 'attachments';
|
|
248
389
|
/**
|
|
249
390
|
* Build the `E_TWIN_COLLAPSE_FAILED` error for a failure.
|
|
250
391
|
*
|
|
@@ -306,6 +447,30 @@ export interface TwinCollapseStatus {
|
|
|
306
447
|
readonly conflicts: readonly string[];
|
|
307
448
|
/** When those conflicts were recorded. */
|
|
308
449
|
readonly conflictsAt: string | null;
|
|
450
|
+
/** Docs: bare rows the last merge folded into the twin row with the same content. */
|
|
451
|
+
readonly merged: readonly string[];
|
|
452
|
+
/** Docs: rows the last merge carried under a free slug. */
|
|
453
|
+
readonly renamed: readonly string[];
|
|
454
|
+
/** Twin-only rows the initial collapse carried over (union rule). */
|
|
455
|
+
readonly kept: readonly string[];
|
|
456
|
+
/** Keys whose replaced twin value is archived under `twin_collapse_archive:<key>`. */
|
|
457
|
+
readonly archived: readonly string[];
|
|
458
|
+
/**
|
|
459
|
+
* Whether the pair's triggers on the bare tables (the freeze against older
|
|
460
|
+
* builds, the change counter) are all in place; `null` when the pair has
|
|
461
|
+
* none or is not collapsed yet. Missing ones are re-installed at the next open.
|
|
462
|
+
*/
|
|
463
|
+
readonly guardsIntact: boolean | null;
|
|
464
|
+
/**
|
|
465
|
+
* Whether the collapse snapshot is pinned (never rotated); `null` when there
|
|
466
|
+
* is no snapshot on disk.
|
|
467
|
+
*/
|
|
468
|
+
readonly snapshotPinned: boolean | null;
|
|
469
|
+
/**
|
|
470
|
+
* `true` when the marker names a pre-collapse snapshot that is no longer on
|
|
471
|
+
* disk: the only copy of the store before the collapse is gone.
|
|
472
|
+
*/
|
|
473
|
+
readonly snapshotMissing: boolean;
|
|
309
474
|
/** The recorded failure, when the last attempt failed. */
|
|
310
475
|
readonly failure: TwinCollapseFailure | null;
|
|
311
476
|
}
|
|
@@ -317,4 +482,267 @@ export interface TwinCollapseStatus {
|
|
|
317
482
|
* @task T12535
|
|
318
483
|
*/
|
|
319
484
|
export declare function inspectTwinCollapse(db: DatabaseSync): TwinCollapseStatus[];
|
|
485
|
+
/** Prefix of a recovery receipt key: `twin_collapse_recovery:<recoveredAt>`. */
|
|
486
|
+
export declare const TWIN_COLLAPSE_RECOVERY_PREFIX = "twin_collapse_recovery:";
|
|
487
|
+
/** Error code of a recovery or rollback that cannot proceed; nothing was written. */
|
|
488
|
+
export declare const E_TWIN_COLLAPSE_RECOVER = "E_TWIN_COLLAPSE_RECOVER";
|
|
489
|
+
/** One twin value the recovery archives. */
|
|
490
|
+
export interface TwinCollapseRecoveryArchive {
|
|
491
|
+
/** The `schema_meta` key. */
|
|
492
|
+
readonly key: string;
|
|
493
|
+
/** Where the value is written (`twin_collapse_archive:<key>`, or a suffixed key). */
|
|
494
|
+
readonly archiveKey: string;
|
|
495
|
+
/** `dropped`: only the twin held the key; `replaced`: the bare value won it. */
|
|
496
|
+
readonly reason: 'dropped' | 'replaced';
|
|
497
|
+
/** Length of the archived value, in characters. */
|
|
498
|
+
readonly length: number;
|
|
499
|
+
}
|
|
500
|
+
/** What {@link planTwinCollapseRecovery} found, and what an apply would write. */
|
|
501
|
+
export interface TwinCollapseRecoveryPlan {
|
|
502
|
+
/** The pre-collapse snapshot the `schema_meta` marker records; `null`: never collapsed. */
|
|
503
|
+
readonly snapshot: string | null;
|
|
504
|
+
/** Whether that snapshot is on disk. */
|
|
505
|
+
readonly snapshotExists: boolean;
|
|
506
|
+
/**
|
|
507
|
+
* Whether that snapshot is pinned (its sidecar says `pinned: true`), so
|
|
508
|
+
* rotation never deletes it. An apply refuses an unpinned snapshot unless
|
|
509
|
+
* the caller pins it first (`--pin-snapshot`).
|
|
510
|
+
*/
|
|
511
|
+
readonly snapshotPinned: boolean;
|
|
512
|
+
/** Twin `schema_meta` values to archive. */
|
|
513
|
+
readonly archive: readonly TwinCollapseRecoveryArchive[];
|
|
514
|
+
/** Session notes the live `focus_state` gains from the twin history. */
|
|
515
|
+
readonly focusNotesAdded: number;
|
|
516
|
+
/** Twin-only sticky tags (`sticky_id\ttag`) to archive. */
|
|
517
|
+
readonly stickyArchived: readonly string[];
|
|
518
|
+
/** Where those tags go: `twin_collapse_archive:sticky_tags`, or a suffixed key. */
|
|
519
|
+
readonly stickyArchiveKey: string;
|
|
520
|
+
/** Receipt keys of earlier applies that were not rolled back. */
|
|
521
|
+
readonly receipts: readonly string[];
|
|
522
|
+
/** Whether an apply would write anything. */
|
|
523
|
+
readonly changes: boolean;
|
|
524
|
+
/**
|
|
525
|
+
* The path the markers record, when the store moved (`/mnt` → `/home`,
|
|
526
|
+
* Linux → Mac) and the snapshot was found by file name in the store's own
|
|
527
|
+
* backup directory instead (T12788); `null` otherwise. An apply re-points
|
|
528
|
+
* the markers at {@link snapshot}.
|
|
529
|
+
*/
|
|
530
|
+
readonly movedFrom: string | null;
|
|
531
|
+
}
|
|
532
|
+
/** Options of {@link planTwinCollapseRecovery}. */
|
|
533
|
+
export interface TwinCollapseRecoveryPlanOptions {
|
|
534
|
+
/** The snapshot file to use in place of the markers' path (a moved store, T12788). */
|
|
535
|
+
readonly snapshotPath?: string;
|
|
536
|
+
}
|
|
537
|
+
declare const RecoveryReceiptShape: z.ZodObject<{
|
|
538
|
+
task: z.ZodLiteral<"T12727">;
|
|
539
|
+
id: z.ZodString;
|
|
540
|
+
recoveredAt: z.ZodString;
|
|
541
|
+
snapshot: z.ZodNullable<z.ZodString>;
|
|
542
|
+
archived: z.ZodArray<z.ZodObject<{
|
|
543
|
+
key: z.ZodString;
|
|
544
|
+
archiveKey: z.ZodString;
|
|
545
|
+
sha: z.ZodString;
|
|
546
|
+
}, z.core.$strip>>;
|
|
547
|
+
focusNotesAdded: z.ZodNumber;
|
|
548
|
+
stickyArchived: z.ZodArray<z.ZodString>;
|
|
549
|
+
stickyArchiveKey: z.ZodString;
|
|
550
|
+
before: z.ZodObject<{
|
|
551
|
+
focusState: z.ZodNullable<z.ZodString>;
|
|
552
|
+
stickyArchive: z.ZodNullable<z.ZodString>;
|
|
553
|
+
}, z.core.$strip>;
|
|
554
|
+
after: z.ZodObject<{
|
|
555
|
+
focusState: z.ZodNullable<z.ZodString>;
|
|
556
|
+
stickyArchive: z.ZodNullable<z.ZodString>;
|
|
557
|
+
}, z.core.$strip>;
|
|
558
|
+
rolledBackAt: z.ZodNullable<z.ZodString>;
|
|
559
|
+
}, z.core.$strip>;
|
|
560
|
+
/**
|
|
561
|
+
* Receipt an apply records under `twin_collapse_recovery:<recoveredAt>`
|
|
562
|
+
* (never over an earlier one). `before` holds the values the apply replaced,
|
|
563
|
+
* `after` the sha256 of what it wrote, so `--rollback` can undo it.
|
|
564
|
+
*/
|
|
565
|
+
export type TwinCollapseRecoveryReceipt = z.infer<typeof RecoveryReceiptShape>;
|
|
566
|
+
/**
|
|
567
|
+
* Plan the recovery of the twin values a 2026.9.21 collapse dropped or
|
|
568
|
+
* replaced, from the pre-collapse snapshot its marker records (T12727).
|
|
569
|
+
*
|
|
570
|
+
* The 9.21 initial collapse was bare-authoritative: it deleted keys and
|
|
571
|
+
* sticky tags only the twin held and overwrote twin values with the bare
|
|
572
|
+
* ones, keeping them only in that snapshot. This compares the snapshot's
|
|
573
|
+
* twin and bare tables (read-only; a pair whose table the snapshot lacks is
|
|
574
|
+
* skipped) and plans, for every twin value that is not live and not archived:
|
|
575
|
+
* - `schema_meta`: the twin value is written to `twin_collapse_archive:<key>`
|
|
576
|
+
* (a suffixed key when that name already holds another value, so nothing is
|
|
577
|
+
* overwritten); for `focus_state` the twin's session notes are also merged
|
|
578
|
+
* into the live value ({@link mergeFocusState}: live current fields win,
|
|
579
|
+
* notes deduplicated by `(timestamp, note)` and sorted);
|
|
580
|
+
* - `sticky_tags`: twin-only tags are added to
|
|
581
|
+
* `twin_collapse_archive:sticky_tags` in `brain_schema_meta` (a suffixed key
|
|
582
|
+
* when that row is not a list of tags).
|
|
583
|
+
* The notes are merged once: not again after an apply that was not rolled
|
|
584
|
+
* back, nor when the twin value is already archived, so notes pruned after a
|
|
585
|
+
* recovery stay pruned. A second apply plans nothing.
|
|
586
|
+
*
|
|
587
|
+
* @param live - The project `cleo.db` connection (read-only is enough).
|
|
588
|
+
* @param snapshot - The snapshot, opened read-only, or `null` when missing.
|
|
589
|
+
* @returns The plan.
|
|
590
|
+
* @task T12727
|
|
591
|
+
*/
|
|
592
|
+
export declare function planTwinCollapseRecovery(live: DatabaseSync, snapshot: DatabaseSync | null, options?: TwinCollapseRecoveryPlanOptions): TwinCollapseRecoveryPlan;
|
|
593
|
+
/**
|
|
594
|
+
* Apply a recovery in one `BEGIN IMMEDIATE` transaction on the live store.
|
|
595
|
+
*
|
|
596
|
+
* The plan is recomputed INSIDE the transaction from the live values read
|
|
597
|
+
* under the write lock, so a note written after `plan` was built is merged,
|
|
598
|
+
* never lost; `plan` is the preview the caller showed. Writes the archive
|
|
599
|
+
* keys, the merged `focus_state`, the sticky archive, and a new receipt.
|
|
600
|
+
* Nothing is written when there is nothing to recover. Never touches the
|
|
601
|
+
* snapshot.
|
|
602
|
+
*
|
|
603
|
+
* @param live - The project `cleo.db` connection, outside a transaction.
|
|
604
|
+
* @param plan - From {@link planTwinCollapseRecovery} on the same connection.
|
|
605
|
+
* @returns The plan applied and its receipt (`null` when nothing was written).
|
|
606
|
+
* @throws {CleoError} {@link E_TWIN_COLLAPSE_RECOVER} when the recorded
|
|
607
|
+
* snapshot is missing (nothing is written).
|
|
608
|
+
* @task T12727
|
|
609
|
+
*/
|
|
610
|
+
export declare function applyTwinCollapseRecovery(live: DatabaseSync, plan: TwinCollapseRecoveryPlan, onRepoint?: (repoint: TwinCollapseSnapshotRepoint) => void): {
|
|
611
|
+
readonly plan: TwinCollapseRecoveryPlan;
|
|
612
|
+
readonly receipt: TwinCollapseRecoveryReceipt | null;
|
|
613
|
+
readonly repointed: TwinCollapseSnapshotRepoint | null;
|
|
614
|
+
};
|
|
615
|
+
/** Markers re-pointed from a moved store's old snapshot path (T12788). */
|
|
616
|
+
export interface TwinCollapseSnapshotRepoint {
|
|
617
|
+
/** The path the markers recorded. */
|
|
618
|
+
readonly from: string;
|
|
619
|
+
/** The file in the store's own backup directory they name now. */
|
|
620
|
+
readonly to: string;
|
|
621
|
+
/** The marker keys rewritten (`<kvTable>:twin_collapse:<table>`). */
|
|
622
|
+
readonly markers: readonly string[];
|
|
623
|
+
}
|
|
624
|
+
/** The error for a recorded snapshot that is not on disk. */
|
|
625
|
+
export declare function missingSnapshot(path: string | null): CleoError;
|
|
626
|
+
/** The error for a recorded snapshot rotation could still delete. */
|
|
627
|
+
export declare function unpinnedSnapshot(path: string | null): CleoError;
|
|
628
|
+
/**
|
|
629
|
+
* Pin the recorded pre-collapse snapshot before a recovery
|
|
630
|
+
* (`--pin-snapshot`): writes its `.meta.json` sidecar only, never the snapshot.
|
|
631
|
+
*
|
|
632
|
+
* @param path - The snapshot the marker records.
|
|
633
|
+
* @returns Whether it is pinned now.
|
|
634
|
+
* @task T12727
|
|
635
|
+
*/
|
|
636
|
+
export declare function pinRecoverySnapshot(path: string): boolean;
|
|
637
|
+
/** What {@link rollbackTwinCollapseRecovery} undid. */
|
|
638
|
+
export interface TwinCollapseRecoveryRollback {
|
|
639
|
+
/** The receipt key. */
|
|
640
|
+
readonly id: string;
|
|
641
|
+
/** Archive keys deleted (they still held what the recovery wrote). */
|
|
642
|
+
readonly archiveDeleted: readonly string[];
|
|
643
|
+
/** Archive keys left alone (changed since; not the recovery's value any more). */
|
|
644
|
+
readonly archiveKept: readonly string[];
|
|
645
|
+
/**
|
|
646
|
+
* `restored`: `focus_state` was unchanged since, so the pre-merge value is
|
|
647
|
+
* back; `notes-removed`: it changed since, so only the notes the recovery
|
|
648
|
+
* added were removed; `none`: the recovery did not touch it.
|
|
649
|
+
*/
|
|
650
|
+
readonly focusState: 'restored' | 'notes-removed' | 'none';
|
|
651
|
+
/** Session notes removed from `focus_state`. */
|
|
652
|
+
readonly notesRemoved: number;
|
|
653
|
+
/** Sticky rows removed from the sticky archive. */
|
|
654
|
+
readonly stickyRemoved: number;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Undo one recovery apply (`cleo doctor twin-collapse --rollback <id>`), in
|
|
658
|
+
* one `BEGIN IMMEDIATE` transaction:
|
|
659
|
+
* - archive keys it wrote are deleted when they still hold that value;
|
|
660
|
+
* - `focus_state` is restored to its pre-merge value when unchanged since,
|
|
661
|
+
* else only the notes the recovery added are removed (notes written since
|
|
662
|
+
* stay);
|
|
663
|
+
* - the sticky archive is restored when unchanged since, else only the rows
|
|
664
|
+
* the recovery added are removed;
|
|
665
|
+
* - the receipt is kept, stamped `rolledBackAt`.
|
|
666
|
+
*
|
|
667
|
+
* @param live - The project `cleo.db` connection, outside a transaction.
|
|
668
|
+
* @param id - The receipt key (`twin_collapse_recovery:<recoveredAt>`).
|
|
669
|
+
* @returns What was undone.
|
|
670
|
+
* @throws {CleoError} {@link E_TWIN_COLLAPSE_RECOVER} when the receipt is
|
|
671
|
+
* unknown or already rolled back (nothing is written).
|
|
672
|
+
* @task T12727
|
|
673
|
+
*/
|
|
674
|
+
export declare function rollbackTwinCollapseRecovery(live: DatabaseSync, id: string): TwinCollapseRecoveryRollback;
|
|
675
|
+
/** Error code of a snapshot release that cannot proceed; nothing was written. */
|
|
676
|
+
export declare const E_TWIN_COLLAPSE_RELEASE = "E_TWIN_COLLAPSE_RELEASE";
|
|
677
|
+
/** What {@link planSnapshotRelease} found for one pre-collapse snapshot. */
|
|
678
|
+
export interface TwinCollapseSnapshotReleasePlan {
|
|
679
|
+
/** The snapshot path the markers record, or `null` when none matches. */
|
|
680
|
+
readonly snapshot: string | null;
|
|
681
|
+
/** Marker keys that reference it (`<kvTable>:twin_collapse:<table>`). */
|
|
682
|
+
readonly markers: readonly string[];
|
|
683
|
+
/** Whether the snapshot is on disk. */
|
|
684
|
+
readonly exists: boolean;
|
|
685
|
+
/** Bytes reclaimed once it rotates (the file plus any `-wal`/`-shm`). */
|
|
686
|
+
readonly bytes: number;
|
|
687
|
+
/**
|
|
688
|
+
* `recovered`: a recovery apply (not rolled back) read this snapshot and
|
|
689
|
+
* nothing is left to recover; `no-recovery-needed`: it holds nothing the
|
|
690
|
+
* live store lacks; `null`: not releasable (see `blockers`).
|
|
691
|
+
*/
|
|
692
|
+
readonly basis: 'recovered' | 'no-recovery-needed' | null;
|
|
693
|
+
/** Recovery receipts (not rolled back) that read this snapshot. */
|
|
694
|
+
readonly receipts: readonly string[];
|
|
695
|
+
/** Why it cannot be released; empty when it can. */
|
|
696
|
+
readonly blockers: readonly string[];
|
|
697
|
+
/** The path the markers record when the store moved and {@link snapshot} is the local file (T12788). */
|
|
698
|
+
readonly movedFrom: string | null;
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* Plan releasing a pre-collapse snapshot (T12767): which markers reference
|
|
702
|
+
* it, how many bytes it holds, and whether it may be released. It may only
|
|
703
|
+
* after a verified recovery or a no-recovery-needed check: the recovery plan
|
|
704
|
+
* against it ({@link planTwinCollapseRecovery}) must find nothing left to
|
|
705
|
+
* recover, and only the `schema_meta` / `sticky_tags` markers (the pairs the
|
|
706
|
+
* recovery covers) may reference it.
|
|
707
|
+
*
|
|
708
|
+
* @param live - The project `cleo.db` connection (read-only is enough).
|
|
709
|
+
* @param id - The snapshot: its backup id (`migration-<timestamp>`), file name or path.
|
|
710
|
+
* @param snapshot - The snapshot opened read-only, or `null` when it is not on disk.
|
|
711
|
+
* @returns The plan.
|
|
712
|
+
* @task T12767
|
|
713
|
+
*/
|
|
714
|
+
export declare function planSnapshotRelease(live: DatabaseSync, id: string, snapshot: DatabaseSync | null, options?: TwinCollapseRecoveryPlanOptions): TwinCollapseSnapshotReleasePlan;
|
|
715
|
+
/** The release refusal for a plan with blockers. */
|
|
716
|
+
export declare function releaseRefused(id: string, plan: TwinCollapseSnapshotReleasePlan): CleoError;
|
|
717
|
+
/** What {@link releaseTwinCollapseSnapshot} did. */
|
|
718
|
+
export interface TwinCollapseSnapshotRelease {
|
|
719
|
+
readonly snapshot: string;
|
|
720
|
+
/** Marker keys whose snapshot reference was cleared. */
|
|
721
|
+
readonly markers: readonly string[];
|
|
722
|
+
readonly basis: 'recovered' | 'no-recovery-needed';
|
|
723
|
+
readonly bytes: number;
|
|
724
|
+
readonly releasedAt: string;
|
|
725
|
+
/** The path the markers recorded, when the store moved (T12788); `null` otherwise. */
|
|
726
|
+
readonly movedFrom: string | null;
|
|
727
|
+
}
|
|
728
|
+
/**
|
|
729
|
+
* Release a pre-collapse snapshot, in one `BEGIN IMMEDIATE` transaction: the
|
|
730
|
+
* plan is re-checked under the write lock, each referencing marker's
|
|
731
|
+
* `snapshot` is cleared (so an open no longer pins it and rotation no longer
|
|
732
|
+
* keeps it), its sidecar pin is released, and `audit` records the release
|
|
733
|
+
* before the commit (a failed audit write refuses it). The snapshot file is
|
|
734
|
+
* never touched; it rotates normally from then on.
|
|
735
|
+
*
|
|
736
|
+
* @param live - The project `cleo.db` connection, outside a transaction.
|
|
737
|
+
* @param id - The snapshot: backup id, file name or path.
|
|
738
|
+
* @param snapshot - The snapshot opened read-only, or `null`.
|
|
739
|
+
* @param audit - Appends the audit row; throws to refuse.
|
|
740
|
+
* @returns What was released.
|
|
741
|
+
* @throws {CleoError} {@link E_TWIN_COLLAPSE_RELEASE} when it may not be released.
|
|
742
|
+
* @task T12767
|
|
743
|
+
*/
|
|
744
|
+
export declare function releaseTwinCollapseSnapshot(live: DatabaseSync, id: string, snapshot: DatabaseSync | null, audit: (release: TwinCollapseSnapshotRelease & {
|
|
745
|
+
receipts: readonly string[];
|
|
746
|
+
}) => void, options?: TwinCollapseRecoveryPlanOptions): TwinCollapseSnapshotRelease;
|
|
747
|
+
export {};
|
|
320
748
|
//# sourceMappingURL=twin-collapse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twin-collapse.d.ts","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"twin-collapse.d.ts","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"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"}
|