@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
|
@@ -0,0 +1,529 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display ids, uid re-keys, their aliases, and the identity quarantine (T12341).
|
|
3
|
+
*
|
|
4
|
+
* `T####` is a per-project DISPLAY id: unique inside one store at rest, typed
|
|
5
|
+
* by people and agents, but allocated locally, so two offline stores can
|
|
6
|
+
* allocate the same one for different work. The row's uid is its identity
|
|
7
|
+
* (`store/row-identity.ts`). Spec: `cleo docs fetch t12341-uid-scheme` §6.4, §9.
|
|
8
|
+
*
|
|
9
|
+
* ## Receiving a row: place it, or hold it
|
|
10
|
+
*
|
|
11
|
+
* An incoming row travels as a {@link WireRow}: its uid, its birth
|
|
12
|
+
* fingerprint, its values, and every reference as the referenced row's
|
|
13
|
+
* (uid, birth fingerprint) ({@link WireRef}). {@link receiveRow} places it in
|
|
14
|
+
* its table, or HOLDS it in `tasks_identity_quarantine` (local-only) when it
|
|
15
|
+
* cannot be placed yet:
|
|
16
|
+
*
|
|
17
|
+
* - `uid-collision`: a local row has its uid with a different birth
|
|
18
|
+
* fingerprint. Neither row is re-keyed here unless this replica is the
|
|
19
|
+
* authority ({@link rekeyRowUid}); the others wait for the published
|
|
20
|
+
* {@link RekeyReceipt} ({@link applyRekey}).
|
|
21
|
+
* - `display-id-collision`: a local row holds its display id. The loser is
|
|
22
|
+
* re-numbered only by its authority ({@link remintTaskDisplayId}); the
|
|
23
|
+
* others wait for the {@link RemintOp} ({@link applyRemintOp}).
|
|
24
|
+
* - `key-collision`: another local row holds its local key (a key derived
|
|
25
|
+
* from a local display id, such as an AC id); the merge engine re-derives
|
|
26
|
+
* the key (T12344).
|
|
27
|
+
* - `ref-pending`: a reference does not resolve to a local row with the SAME
|
|
28
|
+
* birth fingerprint ({@link resolveWireRef}), e.g. it names the loser of a
|
|
29
|
+
* uid collision whose re-key has not arrived. It never resolves to the
|
|
30
|
+
* other row that shares the uid.
|
|
31
|
+
*
|
|
32
|
+
* Held rows never enter the task tables, so no validator, parser or command
|
|
33
|
+
* ever sees an id that is not a `T####` (the round-1 provisional `prov-` ids
|
|
34
|
+
* are gone). Every op that could unblock a held row re-tries the held rows
|
|
35
|
+
* ({@link releaseHeld}).
|
|
36
|
+
*
|
|
37
|
+
* ## Display-id collision: one authority, ordered by HLC
|
|
38
|
+
*
|
|
39
|
+
* Every replica agrees on the loser ({@link collisionLoser}: the greater
|
|
40
|
+
* uid). {@link remintAuthority} is a pure function of synced inputs (cloud
|
|
41
|
+
* sync, the origin, replica membership with join / retire HLCs, the
|
|
42
|
+
* collision's HLC) and a point in HLC time: the origin first, then each
|
|
43
|
+
* active replica in turn for one takeover window, cycling, so a silent
|
|
44
|
+
* authority is always taken over and nothing waits forever. Two authorities
|
|
45
|
+
* may both re-mint around a window boundary: {@link applyRemintOp} keeps the
|
|
46
|
+
* op with the greater HLC on every replica, whatever the arrival order, and
|
|
47
|
+
* the other number becomes an alias.
|
|
48
|
+
*
|
|
49
|
+
* ## Uid collision: re-key the loser
|
|
50
|
+
*
|
|
51
|
+
* The loser is the greater birth fingerprint. {@link rekeyRowUid} asserts the
|
|
52
|
+
* row it re-keys carries that fingerprint (a replica holding the winner never
|
|
53
|
+
* re-keys it), gives it a random uid, and cascades from STORED identity:
|
|
54
|
+
* minted children get {@link rekeyedChildUid} of their old uid and the new
|
|
55
|
+
* owner uid, natural rows keyed by a re-keyed row are re-derived, stored uid
|
|
56
|
+
* copies (`ac_uid`) and display-id aliases follow. The receipt lists every
|
|
57
|
+
* value; receivers apply them ({@link applyRekey}) and never recompute.
|
|
58
|
+
*
|
|
59
|
+
* ## Gate 28
|
|
60
|
+
*
|
|
61
|
+
* Every write here goes through a chokepoint helper in
|
|
62
|
+
* `sqlite-data-accessor.ts`; this module only reads and decides.
|
|
63
|
+
*
|
|
64
|
+
* @module
|
|
65
|
+
* @task T12341
|
|
66
|
+
* @task T12744
|
|
67
|
+
* @task T12745
|
|
68
|
+
* @task T12748
|
|
69
|
+
* @task T12750
|
|
70
|
+
* @epic T12323
|
|
71
|
+
*/
|
|
72
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
73
|
+
import { type TaskClaimGuard } from '@cleocode/contracts';
|
|
74
|
+
import { type QuarantineRow } from './sqlite-data-accessor.js';
|
|
75
|
+
/** Physical name of the display-id alias table. */
|
|
76
|
+
export declare const DISPLAY_ID_ALIAS_TABLE = "tasks_display_id_aliases";
|
|
77
|
+
/** Physical name of the uid re-key alias table. */
|
|
78
|
+
export declare const UID_ALIAS_TABLE = "tasks_uid_aliases";
|
|
79
|
+
/** Physical name of the identity quarantine (local-only). */
|
|
80
|
+
export declare const QUARANTINE_TABLE = "tasks_identity_quarantine";
|
|
81
|
+
/** Why a display id was displaced. */
|
|
82
|
+
export type DisplayIdAliasReason = 'collision-remint' | 'superseded-remint' | 'split-brain-import' | 'manual';
|
|
83
|
+
/**
|
|
84
|
+
* A hybrid logical clock value (T12342 owns the clock; this module needs only
|
|
85
|
+
* its total order and its physical time). Encoded as
|
|
86
|
+
* `<physical ms, 15 digits>.<counter, 6 digits>.<node>` so that string order
|
|
87
|
+
* is HLC order.
|
|
88
|
+
*/
|
|
89
|
+
export interface Hlc {
|
|
90
|
+
readonly physicalMs: number;
|
|
91
|
+
readonly counter: number;
|
|
92
|
+
readonly node: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Encode an HLC value.
|
|
96
|
+
*
|
|
97
|
+
* @param hlc - The value.
|
|
98
|
+
* @returns Its sortable string form.
|
|
99
|
+
*/
|
|
100
|
+
export declare function encodeHlc(hlc: Hlc): string;
|
|
101
|
+
/**
|
|
102
|
+
* Parse an encoded HLC value.
|
|
103
|
+
*
|
|
104
|
+
* @param value - Encoded HLC.
|
|
105
|
+
* @returns The value.
|
|
106
|
+
* @throws Error when the value is not an encoded HLC.
|
|
107
|
+
*/
|
|
108
|
+
export declare function parseHlc(value: string): Hlc;
|
|
109
|
+
/**
|
|
110
|
+
* Total order of two encoded HLC values.
|
|
111
|
+
*
|
|
112
|
+
* @param a - One value.
|
|
113
|
+
* @param b - The other.
|
|
114
|
+
* @returns Negative, zero or positive.
|
|
115
|
+
*/
|
|
116
|
+
export declare function compareHlc(a: string, b: string): number;
|
|
117
|
+
/**
|
|
118
|
+
* Of two rows that carry the same display id, the one that must be re-minted:
|
|
119
|
+
* the greater uid. Every replica picks the same one for the same pair, and for
|
|
120
|
+
* UUIDv7 uids the older row keeps its id.
|
|
121
|
+
*
|
|
122
|
+
* @param a - Uid of one claimant.
|
|
123
|
+
* @param b - Uid of the other.
|
|
124
|
+
* @returns The uid to re-mint.
|
|
125
|
+
*/
|
|
126
|
+
export declare function collisionLoser(a: string, b: string): string;
|
|
127
|
+
/** A replica of the project, as the authority rule sees it (synced membership). */
|
|
128
|
+
export interface ProjectReplica {
|
|
129
|
+
/** Replica id (T12342). */
|
|
130
|
+
readonly id: string;
|
|
131
|
+
/** HLC at which it joined the project. */
|
|
132
|
+
readonly joinedHlc: string;
|
|
133
|
+
/** HLC at which it was retired, when it was. */
|
|
134
|
+
readonly retiredHlc?: string | null;
|
|
135
|
+
}
|
|
136
|
+
/** Why {@link remintAuthority} chose its authority. */
|
|
137
|
+
export type RemintAuthorityReason = 'server' | 'origin' | 'fallback';
|
|
138
|
+
/** Default length of one authority window (HLC physical time). */
|
|
139
|
+
export declare const REMINT_TAKEOVER_MS: number;
|
|
140
|
+
/** Inputs of {@link remintAuthority}: all synced, so every replica has the same. */
|
|
141
|
+
export interface RemintAuthorityInput {
|
|
142
|
+
/** The project syncs to cloud: the server is the authority. */
|
|
143
|
+
readonly cloudSynced: boolean;
|
|
144
|
+
/** Replica that originated the losing row (`null`: backfilled before sync). */
|
|
145
|
+
readonly origin: string | null;
|
|
146
|
+
/** Project membership. */
|
|
147
|
+
readonly replicas: readonly ProjectReplica[];
|
|
148
|
+
/** When the collision came to exist: the later creation HLC of the two rows. */
|
|
149
|
+
readonly collisionHlc: string;
|
|
150
|
+
/** The HLC time to evaluate at (a replica's clock, or an op's HLC). */
|
|
151
|
+
readonly atHlc: string;
|
|
152
|
+
/** Window length; default {@link REMINT_TAKEOVER_MS}. */
|
|
153
|
+
readonly takeoverAfterMs?: number;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Which replica may re-mint the losing row of a display-id collision at HLC
|
|
157
|
+
* time `atHlc` (spec §9.2). A pure function of synced inputs: every replica
|
|
158
|
+
* evaluating the same time names the same authority.
|
|
159
|
+
*
|
|
160
|
+
* 1. The project syncs to cloud → the server.
|
|
161
|
+
* 2. Else the origin, while it is an active member, for the first window
|
|
162
|
+
* after the collision.
|
|
163
|
+
* 3. Else the FALLBACK CHAIN: the active members other than the origin,
|
|
164
|
+
* sorted, one window each, cycling. A fallback that stays silent loses its
|
|
165
|
+
* turn when its window ends, so a collision never waits forever.
|
|
166
|
+
*
|
|
167
|
+
* @param input - The facts every replica can see.
|
|
168
|
+
* @returns The authority, the rule, and the window index (0 = origin).
|
|
169
|
+
*/
|
|
170
|
+
export declare function remintAuthority(input: RemintAuthorityInput): {
|
|
171
|
+
readonly authority: string;
|
|
172
|
+
readonly reason: RemintAuthorityReason;
|
|
173
|
+
readonly slot: number;
|
|
174
|
+
};
|
|
175
|
+
/** Where a displacement came from: the replica that authored it, and when (HLC). */
|
|
176
|
+
export interface Displacement {
|
|
177
|
+
/** Replica that authored the displacement (the authority). */
|
|
178
|
+
readonly origin?: string | null;
|
|
179
|
+
/** HLC of the displacement. */
|
|
180
|
+
readonly displacedHlc?: string | null;
|
|
181
|
+
/** Wall-clock record time; defaults to now. */
|
|
182
|
+
readonly now?: string;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Record that `displayId` used to name the row (`entityUid`, `entityBirthFp`).
|
|
186
|
+
* Idempotent.
|
|
187
|
+
*
|
|
188
|
+
* @param db - Connection on the project `cleo.db`.
|
|
189
|
+
* @param entry - The displaced id, the row that carried it, and the displacement.
|
|
190
|
+
*/
|
|
191
|
+
export declare function recordDisplayIdAlias(db: DatabaseSync, entry: Displacement & {
|
|
192
|
+
readonly table: string;
|
|
193
|
+
readonly displayId: string;
|
|
194
|
+
readonly entityUid: string;
|
|
195
|
+
readonly entityBirthFp: string | null;
|
|
196
|
+
readonly reason: DisplayIdAliasReason;
|
|
197
|
+
}): void;
|
|
198
|
+
/** A row that carries, or carried, a display id. */
|
|
199
|
+
export interface DisplayIdClaimant {
|
|
200
|
+
/** Uid of the row (`null` for a live row whose uid is not filled yet). */
|
|
201
|
+
readonly uid: string | null;
|
|
202
|
+
/** Its display id today (`null`: the row is not placed here). */
|
|
203
|
+
readonly currentId: string | null;
|
|
204
|
+
/** `live` when it carries the id now, `alias` when it carried it before. */
|
|
205
|
+
readonly via: 'live' | 'alias';
|
|
206
|
+
/** Alias only: the replica that displaced it. */
|
|
207
|
+
readonly origin?: string | null;
|
|
208
|
+
/** Alias only: the HLC of the displacement. */
|
|
209
|
+
readonly displacedHlc?: string | null;
|
|
210
|
+
}
|
|
211
|
+
/** Outcome of resolving a display id. */
|
|
212
|
+
export type DisplayIdResolution = {
|
|
213
|
+
readonly status: 'none';
|
|
214
|
+
} | {
|
|
215
|
+
readonly status: 'resolved';
|
|
216
|
+
readonly claimant: DisplayIdClaimant;
|
|
217
|
+
/** Rows that carried this id before (history; the live row still wins). */
|
|
218
|
+
readonly alsoKnownAs: readonly DisplayIdClaimant[];
|
|
219
|
+
} | {
|
|
220
|
+
readonly status: 'ambiguous';
|
|
221
|
+
readonly candidates: readonly DisplayIdClaimant[];
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Resolve a display id: a live row always wins (aliases come back as
|
|
225
|
+
* history); with no live row, one alias resolves and several are ambiguous.
|
|
226
|
+
*
|
|
227
|
+
* @param db - Connection on the project `cleo.db`.
|
|
228
|
+
* @param table - Display-id table (e.g. `tasks_tasks`).
|
|
229
|
+
* @param displayId - The id to resolve.
|
|
230
|
+
* @returns `resolved` (live, or the single alias), `ambiguous` with every
|
|
231
|
+
* candidate (callers report it as an error and never pick), or `none`.
|
|
232
|
+
*/
|
|
233
|
+
export declare function resolveDisplayId(db: DatabaseSync, table: string, displayId: string): DisplayIdResolution;
|
|
234
|
+
/**
|
|
235
|
+
* Allocate the next `T####` on the caller's handle, with the same lower bound
|
|
236
|
+
* `allocateNextTaskId` uses (the highest stored numeric id). Only the re-mint
|
|
237
|
+
* authority allocates for a collision.
|
|
238
|
+
*
|
|
239
|
+
* @param db - Connection on the project `cleo.db`.
|
|
240
|
+
* @returns The new display id.
|
|
241
|
+
*/
|
|
242
|
+
export declare function allocateTaskDisplayId(db: DatabaseSync): string;
|
|
243
|
+
/**
|
|
244
|
+
* The re-mint the authority publishes. Other replicas apply it verbatim
|
|
245
|
+
* ({@link applyRemintOp}); they never recompute the number.
|
|
246
|
+
*/
|
|
247
|
+
export interface RemintOp {
|
|
248
|
+
/** Uid of the re-minted task. */
|
|
249
|
+
readonly uid: string;
|
|
250
|
+
/** Its birth fingerprint (a uid can be shared by two rows during a uid collision). */
|
|
251
|
+
readonly birthFp: string;
|
|
252
|
+
/** The contested display id it was displaced from. */
|
|
253
|
+
readonly oldId: string;
|
|
254
|
+
/** The display id the authority gave it. */
|
|
255
|
+
readonly newId: string;
|
|
256
|
+
/** The authority that re-minted. */
|
|
257
|
+
readonly origin: string | null;
|
|
258
|
+
/** HLC of the re-mint: the greater HLC wins on every replica. */
|
|
259
|
+
readonly hlc: string;
|
|
260
|
+
}
|
|
261
|
+
/** Receipt of a local re-mint: the op plus what was rewritten here. */
|
|
262
|
+
export interface RemintReceipt extends RemintOp {
|
|
263
|
+
/** Rows rewritten per `table.column`. */
|
|
264
|
+
readonly rewritten: Readonly<Record<string, number>>;
|
|
265
|
+
/** Held rows placed because the re-mint freed their id. */
|
|
266
|
+
readonly released: readonly HeldRowKey[];
|
|
267
|
+
}
|
|
268
|
+
/** The applied re-mint record of a row (meta key → JSON). */
|
|
269
|
+
interface RemintRecord {
|
|
270
|
+
readonly newId: string;
|
|
271
|
+
readonly hlc: string;
|
|
272
|
+
readonly origin: string | null;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* AUTHORITY ONLY ({@link remintAuthority}): give the losing task of a
|
|
276
|
+
* display-id collision a new display id. Allocates the next `T####`, renames
|
|
277
|
+
* through the chokepoint (version CAS, claim columns kept), records the
|
|
278
|
+
* contested id as an alias and the op as the row's re-mint record, places any
|
|
279
|
+
* held row the freed id unblocks, and returns the op to publish.
|
|
280
|
+
*
|
|
281
|
+
* @param db - Connection on the project `cleo.db`.
|
|
282
|
+
* @param taskId - Current local display id of the task to re-mint.
|
|
283
|
+
* @param options - The contested id (default: `taskId`), why, the authority,
|
|
284
|
+
* the op's HLC, and an optional version / claim guard for a manual rename.
|
|
285
|
+
* @returns The op to publish, with what was rewritten here.
|
|
286
|
+
* @throws CleoError NOT_FOUND when the task does not exist or has no identity yet.
|
|
287
|
+
*/
|
|
288
|
+
export declare function remintTaskDisplayId(db: DatabaseSync, taskId: string, options: {
|
|
289
|
+
readonly reason: DisplayIdAliasReason;
|
|
290
|
+
readonly origin: string | null;
|
|
291
|
+
readonly hlc: string;
|
|
292
|
+
readonly contestedId?: string;
|
|
293
|
+
readonly now?: string;
|
|
294
|
+
readonly guard?: {
|
|
295
|
+
readonly expectedUpdatedAt?: string;
|
|
296
|
+
readonly claim?: TaskClaimGuard;
|
|
297
|
+
};
|
|
298
|
+
}): RemintReceipt;
|
|
299
|
+
/** Outcome of {@link applyRemintOp}. */
|
|
300
|
+
export type ApplyRemintResult = {
|
|
301
|
+
readonly status: 'applied';
|
|
302
|
+
readonly receipt: RemintReceipt;
|
|
303
|
+
}
|
|
304
|
+
/** The row is not placed here (held or not yet received): the op is recorded
|
|
305
|
+
* and the row takes `newId` when it is placed. */
|
|
306
|
+
| {
|
|
307
|
+
readonly status: 'recorded';
|
|
308
|
+
readonly released: readonly HeldRowKey[];
|
|
309
|
+
} | {
|
|
310
|
+
readonly status: 'already-applied';
|
|
311
|
+
}
|
|
312
|
+
/** An op with a greater HLC was applied already; this one's number became an alias. */
|
|
313
|
+
| {
|
|
314
|
+
readonly status: 'superseded';
|
|
315
|
+
readonly winner: RemintRecord;
|
|
316
|
+
}
|
|
317
|
+
/** The new id is held here by another row: a NEW collision for its authority. */
|
|
318
|
+
| {
|
|
319
|
+
readonly status: 'conflict';
|
|
320
|
+
readonly holderUid: string | null;
|
|
321
|
+
};
|
|
322
|
+
/**
|
|
323
|
+
* NON-AUTHORITY: apply a re-mint an authority published. Of several ops for
|
|
324
|
+
* one row, the one with the greatest HLC wins on every replica, whatever the
|
|
325
|
+
* arrival order: a lesser op is recorded as an alias (`superseded`), a greater
|
|
326
|
+
* one renames the row again and turns the previous number into an alias.
|
|
327
|
+
* Never allocates.
|
|
328
|
+
*
|
|
329
|
+
* @param db - Connection on the project `cleo.db`.
|
|
330
|
+
* @param op - The published re-mint.
|
|
331
|
+
* @returns What happened.
|
|
332
|
+
*/
|
|
333
|
+
export declare function applyRemintOp(db: DatabaseSync, op: RemintOp): ApplyRemintResult;
|
|
334
|
+
/** A value a wire row carries. */
|
|
335
|
+
export type WireValue = string | number | null;
|
|
336
|
+
/** A reference on the wire: the referenced row's uid and birth fingerprint. */
|
|
337
|
+
export interface WireRef {
|
|
338
|
+
readonly uid: string;
|
|
339
|
+
/** `null` for a natural target (its uid is a pure function; no fingerprint). */
|
|
340
|
+
readonly birthFp: string | null;
|
|
341
|
+
}
|
|
342
|
+
/** An incoming row (the merge engine, T12344, builds these from the outbox). */
|
|
343
|
+
export interface WireRow {
|
|
344
|
+
readonly table: string;
|
|
345
|
+
readonly uid: string;
|
|
346
|
+
/** Birth fingerprint (minted tables); `null` for natural rows. */
|
|
347
|
+
readonly birthFp: string | null;
|
|
348
|
+
/** Column values. Reference columns are replaced by resolving {@link refs}. */
|
|
349
|
+
readonly values: Readonly<Record<string, WireValue>>;
|
|
350
|
+
/** Reference column → the referenced row's identity, or `null` for NULL. */
|
|
351
|
+
readonly refs?: Readonly<Record<string, WireRef | null>>;
|
|
352
|
+
}
|
|
353
|
+
/** Why a row is held. */
|
|
354
|
+
export type HoldReason = QuarantineRow['reason'];
|
|
355
|
+
/** The key of a held row. */
|
|
356
|
+
export interface HeldRowKey {
|
|
357
|
+
readonly entityTable: string;
|
|
358
|
+
readonly uid: string;
|
|
359
|
+
readonly birthFp: string;
|
|
360
|
+
}
|
|
361
|
+
/** A uid collision found while receiving. */
|
|
362
|
+
export interface UidCollision {
|
|
363
|
+
readonly kind: 'uid';
|
|
364
|
+
readonly table: string;
|
|
365
|
+
readonly uid: string;
|
|
366
|
+
/** The smaller fingerprint keeps the uid. */
|
|
367
|
+
readonly winnerBirthFp: string;
|
|
368
|
+
/** The greater fingerprint is re-keyed by its authority. */
|
|
369
|
+
readonly loserBirthFp: string;
|
|
370
|
+
/** True when the local (placed) row is the loser. */
|
|
371
|
+
readonly localIsLoser: boolean;
|
|
372
|
+
}
|
|
373
|
+
/** A display-id collision found while receiving. */
|
|
374
|
+
export interface DisplayIdCollision {
|
|
375
|
+
readonly kind: 'display-id';
|
|
376
|
+
readonly table: string;
|
|
377
|
+
readonly displayId: string;
|
|
378
|
+
readonly loserUid: string;
|
|
379
|
+
readonly localIsLoser: boolean;
|
|
380
|
+
}
|
|
381
|
+
/** Outcome of {@link receiveRow}. */
|
|
382
|
+
export type ReceiveResult = {
|
|
383
|
+
readonly status: 'inserted';
|
|
384
|
+
readonly key: string;
|
|
385
|
+
readonly uid: string;
|
|
386
|
+
} | {
|
|
387
|
+
readonly status: 'duplicate';
|
|
388
|
+
readonly uid: string;
|
|
389
|
+
} | {
|
|
390
|
+
readonly status: 'held';
|
|
391
|
+
readonly reason: HoldReason;
|
|
392
|
+
readonly collision?: UidCollision | DisplayIdCollision;
|
|
393
|
+
};
|
|
394
|
+
/** Outcome of {@link resolveWireRef}. */
|
|
395
|
+
export type WireRefResolution = {
|
|
396
|
+
readonly status: 'row';
|
|
397
|
+
readonly key: string;
|
|
398
|
+
readonly uid: string;
|
|
399
|
+
} | {
|
|
400
|
+
readonly status: 'held';
|
|
401
|
+
} | {
|
|
402
|
+
readonly status: 'pending';
|
|
403
|
+
};
|
|
404
|
+
/**
|
|
405
|
+
* Resolve a wire reference to a local row: the row with that uid AND that
|
|
406
|
+
* birth fingerprint, following `tasks_uid_aliases` when the target was
|
|
407
|
+
* re-keyed. A row that has the uid with ANOTHER fingerprint (the other side of
|
|
408
|
+
* a uid collision) never matches: the reference is `held` (its target waits
|
|
409
|
+
* in the quarantine) or `pending` (its target has not arrived, or its re-key
|
|
410
|
+
* has not), and the referencing row waits too.
|
|
411
|
+
*
|
|
412
|
+
* @param db - Connection on the project `cleo.db`.
|
|
413
|
+
* @param table - The referenced table.
|
|
414
|
+
* @param ref - The reference.
|
|
415
|
+
* @returns Where it points.
|
|
416
|
+
*/
|
|
417
|
+
export declare function resolveWireRef(db: DatabaseSync, table: string, ref: WireRef): WireRefResolution;
|
|
418
|
+
/**
|
|
419
|
+
* Receive one row: place it, or hold it (module docs). The first receive
|
|
420
|
+
* marks the store's identity values as shared, so the open pass never
|
|
421
|
+
* clears them (T12746).
|
|
422
|
+
*
|
|
423
|
+
* @param db - Connection on the project `cleo.db`, inside the merge transaction.
|
|
424
|
+
* @param wire - The incoming row.
|
|
425
|
+
* @returns What happened; a `held` result carries the collision for the caller
|
|
426
|
+
* (the merge engine) to hand to its authority.
|
|
427
|
+
*/
|
|
428
|
+
export declare function receiveRow(db: DatabaseSync, wire: WireRow): ReceiveResult;
|
|
429
|
+
/**
|
|
430
|
+
* Re-try the held rows now (after an op this module did not apply).
|
|
431
|
+
*
|
|
432
|
+
* @param db - Connection on the project `cleo.db`.
|
|
433
|
+
* @returns The rows placed.
|
|
434
|
+
*/
|
|
435
|
+
export declare function releaseHeld(db: DatabaseSync): HeldRowKey[];
|
|
436
|
+
/** A held row, as `cleo doctor` and the merge status report it. */
|
|
437
|
+
export interface HeldRow extends HeldRowKey {
|
|
438
|
+
readonly reason: HoldReason;
|
|
439
|
+
readonly contestedId: string | null;
|
|
440
|
+
readonly createdAt: string;
|
|
441
|
+
readonly row: WireRow;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Every held row (read-only: held rows are never edited in place).
|
|
445
|
+
*
|
|
446
|
+
* @param db - Connection on the project `cleo.db`.
|
|
447
|
+
* @returns The held rows, oldest first.
|
|
448
|
+
*/
|
|
449
|
+
export declare function listHeldRows(db: DatabaseSync): HeldRow[];
|
|
450
|
+
/**
|
|
451
|
+
* The wire form of a local row (what a sender publishes): values without the
|
|
452
|
+
* identity columns, and every declared reference as the target's uid and
|
|
453
|
+
* birth fingerprint.
|
|
454
|
+
*
|
|
455
|
+
* @param db - Connection on the project `cleo.db`.
|
|
456
|
+
* @param table - Declared table.
|
|
457
|
+
* @param uid - The row's uid.
|
|
458
|
+
* @returns The wire row.
|
|
459
|
+
*/
|
|
460
|
+
export declare function wireRowOf(db: DatabaseSync, table: string, uid: string): WireRow;
|
|
461
|
+
/** A natural row whose uid was re-derived because a re-keyed row is in its key. */
|
|
462
|
+
export interface NaturalRederive {
|
|
463
|
+
readonly table: string;
|
|
464
|
+
readonly oldUid: string;
|
|
465
|
+
readonly newUid: string;
|
|
466
|
+
}
|
|
467
|
+
/** Receipt of {@link rekeyRowUid}: one re-keyed row and everything that followed. */
|
|
468
|
+
export interface RekeyReceipt {
|
|
469
|
+
/** Table of the re-keyed row. */
|
|
470
|
+
readonly table: string;
|
|
471
|
+
/** The colliding uid it carried. */
|
|
472
|
+
readonly oldUid: string;
|
|
473
|
+
/** Its birth fingerprint (unchanged; keys the alias and every match). */
|
|
474
|
+
readonly birthFp: string;
|
|
475
|
+
/** The new uid. */
|
|
476
|
+
readonly newUid: string;
|
|
477
|
+
/** Natural rows re-derived (dependencies, relations, labels, display aliases). */
|
|
478
|
+
readonly natural: readonly NaturalRederive[];
|
|
479
|
+
/** Minted children re-keyed with it ({@link rekeyedChildUid}), recursively. */
|
|
480
|
+
readonly cascaded: readonly RekeyReceipt[];
|
|
481
|
+
/** The authority that re-keyed. */
|
|
482
|
+
readonly origin: string | null;
|
|
483
|
+
/** HLC of the re-key. */
|
|
484
|
+
readonly hlc: string | null;
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* AUTHORITY ONLY: re-key the LOSER of a uid collision (same uid, different
|
|
488
|
+
* birth fingerprints; the loser is the greater fingerprint). The caller names
|
|
489
|
+
* the loser by its fingerprint and the call asserts it: the row re-keyed is
|
|
490
|
+
* the one with `loserBirthFp`, wherever it is here (placed, or held because
|
|
491
|
+
* the winner arrived first), and a fingerprint that is not the greater of the
|
|
492
|
+
* pair is refused. The row gets a random uid; the cascade follows from stored
|
|
493
|
+
* identity (module docs). Held rows the re-key unblocks are placed.
|
|
494
|
+
*
|
|
495
|
+
* @param db - Connection on the project `cleo.db`.
|
|
496
|
+
* @param table - Minted table of the row.
|
|
497
|
+
* @param uid - The colliding uid.
|
|
498
|
+
* @param loserBirthFp - The loser's birth fingerprint.
|
|
499
|
+
* @param options - The authority and the HLC of the re-key.
|
|
500
|
+
* @returns The receipt to publish, with its cascade and natural uids.
|
|
501
|
+
* @throws CleoError when this replica has no row (uid, loserBirthFp), or the
|
|
502
|
+
* fingerprint is not the loser's.
|
|
503
|
+
*/
|
|
504
|
+
export declare function rekeyRowUid(db: DatabaseSync, table: string, uid: string, loserBirthFp: string, options?: Displacement): RekeyReceipt;
|
|
505
|
+
/** Outcome of {@link applyRekey} for one row of the receipt. */
|
|
506
|
+
export type RekeyApplyStatus = 'applied' | 'applied-held' | 'already-applied' | 'alias-only';
|
|
507
|
+
/**
|
|
508
|
+
* RECEIVER: apply a published {@link RekeyReceipt}. Every entry moves the row
|
|
509
|
+
* with (old uid, birth fingerprint) to the published new uid, wherever it is
|
|
510
|
+
* here: a placed row (with its stored copies, display aliases and the
|
|
511
|
+
* published natural uids), a held row (its wire form), or nowhere (the uid
|
|
512
|
+
* alias is recorded, so the row takes its new uid when it arrives). A row
|
|
513
|
+
* with the old uid and ANOTHER fingerprint (the winner) is never touched.
|
|
514
|
+
* Nothing is recomputed. Held rows the re-key unblocks are placed.
|
|
515
|
+
*
|
|
516
|
+
* @param db - Connection on the project `cleo.db`.
|
|
517
|
+
* @param receipt - The published receipt.
|
|
518
|
+
* @returns Per-row outcome, and the held rows placed.
|
|
519
|
+
*/
|
|
520
|
+
export declare function applyRekey(db: DatabaseSync, receipt: RekeyReceipt): {
|
|
521
|
+
readonly rows: ReadonlyArray<{
|
|
522
|
+
table: string;
|
|
523
|
+
oldUid: string;
|
|
524
|
+
status: RekeyApplyStatus;
|
|
525
|
+
}>;
|
|
526
|
+
readonly released: readonly HeldRowKey[];
|
|
527
|
+
};
|
|
528
|
+
export {};
|
|
529
|
+
//# sourceMappingURL=display-id-alias.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-id-alias.d.ts","sourceRoot":"","sources":["../../src/store/display-id-alias.ts"],"names":[],"mappings":"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"}
|