@cleocode/core 2026.10.1 → 2026.10.2
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/build-provenance.json +2 -2
- package/dist/cloud/journal.d.ts +9 -5
- package/dist/cloud/journal.d.ts.map +1 -1
- package/dist/cloud/journal.js +29 -8
- package/dist/cloud/journal.js.map +1 -1
- package/dist/cloud/manifest-check.d.ts +140 -4
- package/dist/cloud/manifest-check.d.ts.map +1 -1
- package/dist/cloud/manifest-check.js +309 -10
- package/dist/cloud/manifest-check.js.map +1 -1
- package/dist/cloud/nexus-attach.d.ts +25 -0
- package/dist/cloud/nexus-attach.d.ts.map +1 -1
- package/dist/cloud/nexus-attach.js +81 -6
- package/dist/cloud/nexus-attach.js.map +1 -1
- package/dist/cloud/nexus-cloud-activity.d.ts +37 -0
- package/dist/cloud/nexus-cloud-activity.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-activity.js +79 -0
- package/dist/cloud/nexus-cloud-activity.js.map +1 -0
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +36 -0
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-device.d.ts +1 -1
- package/dist/cloud/nexus-enrol.d.ts.map +1 -1
- package/dist/cloud/nexus-enrol.js +5 -0
- package/dist/cloud/nexus-enrol.js.map +1 -1
- package/dist/cloud/nexus-home.d.ts +74 -0
- package/dist/cloud/nexus-home.d.ts.map +1 -0
- package/dist/cloud/nexus-home.js +97 -0
- package/dist/cloud/nexus-home.js.map +1 -0
- package/dist/cloud/nexus-vault-keys.d.ts +129 -0
- package/dist/cloud/nexus-vault-keys.d.ts.map +1 -0
- package/dist/cloud/nexus-vault-keys.js +277 -0
- package/dist/cloud/nexus-vault-keys.js.map +1 -0
- package/dist/cloud/nexus-vault-state.d.ts +121 -0
- package/dist/cloud/nexus-vault-state.d.ts.map +1 -0
- package/dist/cloud/nexus-vault-state.js +274 -0
- package/dist/cloud/nexus-vault-state.js.map +1 -0
- package/dist/cloud/nexus-vault.d.ts +160 -0
- package/dist/cloud/nexus-vault.d.ts.map +1 -0
- package/dist/cloud/nexus-vault.js +1733 -0
- package/dist/cloud/nexus-vault.js.map +1 -0
- package/dist/cloud/signing.d.ts +24 -8
- package/dist/cloud/signing.d.ts.map +1 -1
- package/dist/cloud/signing.js +61 -15
- package/dist/cloud/signing.js.map +1 -1
- package/dist/docs/export-document.js +8137 -3318
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/migrations.d.ts +75 -0
- package/dist/doctor/migrations.d.ts.map +1 -0
- package/dist/doctor/migrations.js +136 -0
- package/dist/doctor/migrations.js.map +1 -0
- package/dist/doctor/sync-sealer.d.ts +48 -0
- package/dist/doctor/sync-sealer.d.ts.map +1 -0
- package/dist/doctor/sync-sealer.js +109 -0
- package/dist/doctor/sync-sealer.js.map +1 -0
- package/dist/doctor/sync-triggers.d.ts +53 -0
- package/dist/doctor/sync-triggers.d.ts.map +1 -0
- package/dist/doctor/sync-triggers.js +157 -0
- package/dist/doctor/sync-triggers.js.map +1 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -1
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +8442 -3623
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/nexus/projects-clean.d.ts +3 -0
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +9 -3
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +3 -1
- package/dist/nexus/registry-roots.d.ts.map +1 -1
- package/dist/nexus/registry-roots.js +5 -2
- package/dist/nexus/registry-roots.js.map +1 -1
- package/dist/nexus/registry.d.ts +8 -1
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +24 -10
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/workspace.d.ts +4 -1
- package/dist/nexus/workspace.d.ts.map +1 -1
- package/dist/nexus/workspace.js +10 -4
- package/dist/nexus/workspace.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +7 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-verify.d.ts +121 -12
- package/dist/orchestrate/worker-verify.d.ts.map +1 -1
- package/dist/orchestrate/worker-verify.js +172 -21
- package/dist/orchestrate/worker-verify.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +15 -9
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +9 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +9 -2
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/resources/backend.d.ts +15 -3
- package/dist/resources/backend.d.ts.map +1 -1
- package/dist/resources/backend.js +7 -3
- package/dist/resources/backend.js.map +1 -1
- package/dist/resources/darwin-backend.d.ts +142 -0
- package/dist/resources/darwin-backend.d.ts.map +1 -0
- package/dist/resources/darwin-backend.js +288 -0
- package/dist/resources/darwin-backend.js.map +1 -0
- package/dist/resources/governor.d.ts +44 -1
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +100 -36
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/heavy-command.d.ts +132 -0
- package/dist/resources/heavy-command.d.ts.map +1 -0
- package/dist/resources/heavy-command.js +768 -0
- package/dist/resources/heavy-command.js.map +1 -0
- package/dist/resources/monitor.d.ts +50 -1
- package/dist/resources/monitor.d.ts.map +1 -1
- package/dist/resources/monitor.js +83 -1
- package/dist/resources/monitor.js.map +1 -1
- package/dist/resources/run-admission.d.ts +303 -0
- package/dist/resources/run-admission.d.ts.map +1 -0
- package/dist/resources/run-admission.js +648 -0
- package/dist/resources/run-admission.js.map +1 -0
- package/dist/resources/run-class.d.ts +111 -0
- package/dist/resources/run-class.d.ts.map +1 -0
- package/dist/resources/run-class.js +658 -0
- package/dist/resources/run-class.js.map +1 -0
- package/dist/resources/run-governed.d.ts +158 -0
- package/dist/resources/run-governed.d.ts.map +1 -0
- package/dist/resources/run-governed.js +406 -0
- package/dist/resources/run-governed.js.map +1 -0
- package/dist/resources/slot-holder.d.ts +267 -0
- package/dist/resources/slot-holder.d.ts.map +1 -0
- package/dist/resources/slot-holder.js +505 -0
- package/dist/resources/slot-holder.js.map +1 -0
- package/dist/resources/tool-groups.d.ts +74 -0
- package/dist/resources/tool-groups.d.ts.map +1 -0
- package/dist/resources/tool-groups.js +118 -0
- package/dist/resources/tool-groups.js.map +1 -0
- package/dist/routing/build-command-groups.d.ts.map +1 -1
- package/dist/routing/build-command-groups.js +1 -0
- package/dist/routing/build-command-groups.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +8446 -3627
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/cross-project-hygiene.d.ts +3 -2
- package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
- package/dist/sentient/cross-project-hygiene.js +5 -2
- package/dist/sentient/cross-project-hygiene.js.map +1 -1
- package/dist/sentient/state.d.ts +7 -0
- package/dist/sentient/state.d.ts.map +1 -1
- package/dist/sentient/state.js.map +1 -1
- package/dist/sentient/tick.d.ts +14 -2
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +63 -4
- package/dist/sentient/tick.js.map +1 -1
- package/dist/store/backup-recover.d.ts.map +1 -1
- package/dist/store/backup-recover.js +5 -0
- package/dist/store/backup-recover.js.map +1 -1
- package/dist/store/data-accessor.d.ts +1 -0
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +7 -0
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +23 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +126 -36
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +15 -0
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +5 -0
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +8 -1
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +10 -2
- package/dist/store/lock.js.map +1 -1
- package/dist/store/migration-manager.d.ts +5 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +11 -0
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-runner.d.ts +158 -0
- package/dist/store/migration-runner.d.ts.map +1 -0
- package/dist/store/migration-runner.js +493 -0
- package/dist/store/migration-runner.js.map +1 -0
- package/dist/store/portable-bundle-import.d.ts +15 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +24 -4
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts +43 -0
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +79 -5
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts +20 -0
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +38 -3
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts +33 -0
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +34 -7
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +137 -7
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +364 -9
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/row-identity.d.ts.map +1 -1
- package/dist/store/row-identity.js +9 -10
- package/dist/store/row-identity.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +10 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +31 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +5 -1
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/sync/capture.d.ts +203 -0
- package/dist/store/sync/capture.d.ts.map +1 -0
- package/dist/store/sync/capture.js +562 -0
- package/dist/store/sync/capture.js.map +1 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -1
- package/dist/store/sync/clock-store.js +2 -0
- package/dist/store/sync/clock-store.js.map +1 -1
- package/dist/store/sync/fk-orphans.d.ts +133 -0
- package/dist/store/sync/fk-orphans.d.ts.map +1 -0
- package/dist/store/sync/fk-orphans.js +265 -0
- package/dist/store/sync/fk-orphans.js.map +1 -0
- package/dist/store/sync/flags.d.ts +7 -0
- package/dist/store/sync/flags.d.ts.map +1 -1
- package/dist/store/sync/flags.js +16 -0
- package/dist/store/sync/flags.js.map +1 -1
- package/dist/store/sync/hlc.d.ts.map +1 -1
- package/dist/store/sync/hlc.js +4 -0
- package/dist/store/sync/hlc.js.map +1 -1
- package/dist/store/sync/identity-fill.d.ts +45 -0
- package/dist/store/sync/identity-fill.d.ts.map +1 -0
- package/dist/store/sync/identity-fill.js +85 -0
- package/dist/store/sync/identity-fill.js.map +1 -0
- package/dist/store/sync/machinery.d.ts +27 -0
- package/dist/store/sync/machinery.d.ts.map +1 -0
- package/dist/store/sync/machinery.js +44 -0
- package/dist/store/sync/machinery.js.map +1 -0
- package/dist/store/sync/netting.d.ts +120 -0
- package/dist/store/sync/netting.d.ts.map +1 -0
- package/dist/store/sync/netting.js +336 -0
- package/dist/store/sync/netting.js.map +1 -0
- package/dist/store/sync/replica.d.ts +27 -2
- package/dist/store/sync/replica.d.ts.map +1 -1
- package/dist/store/sync/replica.js +47 -3
- package/dist/store/sync/replica.js.map +1 -1
- package/dist/store/sync/schema.d.ts +12 -0
- package/dist/store/sync/schema.d.ts.map +1 -1
- package/dist/store/sync/schema.js +21 -0
- package/dist/store/sync/schema.js.map +1 -1
- package/dist/store/sync/seal-backlog.d.ts +21 -0
- package/dist/store/sync/seal-backlog.d.ts.map +1 -0
- package/dist/store/sync/seal-backlog.js +24 -0
- package/dist/store/sync/seal-backlog.js.map +1 -0
- package/dist/store/sync/sealer-values.d.ts +34 -0
- package/dist/store/sync/sealer-values.d.ts.map +1 -0
- package/dist/store/sync/sealer-values.js +53 -0
- package/dist/store/sync/sealer-values.js.map +1 -0
- package/dist/store/sync/sealer.d.ts +145 -0
- package/dist/store/sync/sealer.d.ts.map +1 -0
- package/dist/store/sync/sealer.js +906 -0
- package/dist/store/sync/sealer.js.map +1 -0
- package/dist/store/sync/structural.d.ts +63 -0
- package/dist/store/sync/structural.d.ts.map +1 -0
- package/dist/store/sync/structural.js +180 -0
- package/dist/store/sync/structural.js.map +1 -0
- package/dist/store/sync/timestamps.d.ts +92 -0
- package/dist/store/sync/timestamps.d.ts.map +1 -0
- package/dist/store/sync/timestamps.js +228 -0
- package/dist/store/sync/timestamps.js.map +1 -0
- package/dist/store/sync/tombstones.d.ts +75 -0
- package/dist/store/sync/tombstones.d.ts.map +1 -0
- package/dist/store/sync/tombstones.js +103 -0
- package/dist/store/sync/tombstones.js.map +1 -0
- package/dist/store/sync/trigger-classes.d.ts +221 -0
- package/dist/store/sync/trigger-classes.d.ts.map +1 -0
- package/dist/store/sync/trigger-classes.js +441 -0
- package/dist/store/sync/trigger-classes.js.map +1 -0
- package/dist/store/sync/trigger-suspend-at-path.d.ts +23 -0
- package/dist/store/sync/trigger-suspend-at-path.d.ts.map +1 -0
- package/dist/store/sync/trigger-suspend-at-path.js +44 -0
- package/dist/store/sync/trigger-suspend-at-path.js.map +1 -0
- package/dist/store/sync/writer-version.d.ts +43 -0
- package/dist/store/sync/writer-version.d.ts.map +1 -0
- package/dist/store/sync/writer-version.js +90 -0
- package/dist/store/sync/writer-version.js.map +1 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +102 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/trigger-suspend-schema.d.ts +44 -0
- package/dist/store/trigger-suspend-schema.d.ts.map +1 -0
- package/dist/store/trigger-suspend-schema.js +25 -0
- package/dist/store/trigger-suspend-schema.js.map +1 -0
- package/dist/store/vault-manifest.d.ts +365 -0
- package/dist/store/vault-manifest.d.ts.map +1 -0
- package/dist/store/vault-manifest.js +812 -0
- package/dist/store/vault-manifest.js.map +1 -0
- package/dist/store/writer-lease.d.ts +31 -0
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +65 -2
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +21 -0
- package/dist/system/health.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +3 -1
- package/dist/system/project-health.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +58 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +75 -6
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +150 -23
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +320 -32
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts +96 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +169 -4
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts +115 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -0
- package/dist/tasks/complete-ci.js +171 -0
- package/dist/tasks/complete-ci.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +50 -17
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/compute-task-view.d.ts.map +1 -1
- package/dist/tasks/compute-task-view.js +7 -0
- package/dist/tasks/compute-task-view.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +51 -30
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts +6 -0
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +9 -3
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/evidence.d.ts +3 -2
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +143 -12
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-notes.d.ts +22 -0
- package/dist/tasks/gate-notes.d.ts.map +1 -0
- package/dist/tasks/gate-notes.js +33 -0
- package/dist/tasks/gate-notes.js.map +1 -0
- package/dist/tasks/index.d.ts +2 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +2 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +117 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -0
- package/dist/tasks/test-run-binding.js +365 -0
- package/dist/tasks/test-run-binding.js.map +1 -0
- package/dist/tasks/tool-cache-env.d.ts +123 -0
- package/dist/tasks/tool-cache-env.d.ts.map +1 -0
- package/dist/tasks/tool-cache-env.js +287 -0
- package/dist/tasks/tool-cache-env.js.map +1 -0
- package/dist/tasks/tool-cache-failed-first.d.ts +155 -0
- package/dist/tasks/tool-cache-failed-first.d.ts.map +1 -0
- package/dist/tasks/tool-cache-failed-first.js +285 -0
- package/dist/tasks/tool-cache-failed-first.js.map +1 -0
- package/dist/tasks/tool-cache.d.ts +375 -55
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +912 -303
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +4 -3
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +15 -4
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +67 -7
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +134 -56
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +4 -0
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +6 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +8 -0
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-project/20260930170000_t12819-trigger-suspend-clause/migration.sql +367 -0
- package/migrations/sync-journal/20260930120000_t12343-capture/migration.sql +47 -0
- package/migrations/sync-journal/20261001170000_t12984-sealer/migration.sql +101 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +5 -5
- package/templates/CLEO-REFERENCE.md +8 -4
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cloud vault's snapshot manifest: per-table row counts and keyed hashes
|
|
3
|
+
* of a `cleo.db`, computed the same way on every machine so two machines can
|
|
4
|
+
* tell whether they hold the same data (T12336, T12950).
|
|
5
|
+
*
|
|
6
|
+
* - Only tables whose class syncs across devices are listed
|
|
7
|
+
* ({@link isPortableTableClass}), minus `portable-secret` (a vault bundle
|
|
8
|
+
* never carries credentials). Local-only, derived, pending and unclassified
|
|
9
|
+
* tables differ per machine by design and are left out.
|
|
10
|
+
* - A table's hash is HMAC-SHA256, keyed by a key derived from the stream's
|
|
11
|
+
* data key, over the sorted per-row SHA-256 digests. Sorting makes it
|
|
12
|
+
* independent of physical row order (a VACUUM can renumber rowids), and the
|
|
13
|
+
* key keeps the plaintext manifest from being a dictionary oracle for the
|
|
14
|
+
* server: it sees counts, never guessable digests.
|
|
15
|
+
* - Cells a restore relocates (path and JSON locator columns, as
|
|
16
|
+
* {@link relocatableColumn} decides) are hashed as if relocated to a
|
|
17
|
+
* placeholder root, so a relocated store hashes the same as its source.
|
|
18
|
+
* Historical text, which a restore leaves as written, is hashed as is.
|
|
19
|
+
* - Cells that never sync hash as NULL ({@link vaultLocalColumns}): credential
|
|
20
|
+
* columns (an unencrypted bundle clears them) and every column the
|
|
21
|
+
* classification registry gives its own `local-only`, `portable-secret` or
|
|
22
|
+
* `strip` class. A restore keeps this machine's values for them
|
|
23
|
+
* ({@link carryMachineState}), so the two sides must agree without them.
|
|
24
|
+
* - The rest of a snapshot (other primary databases, plain files) is folded
|
|
25
|
+
* into pseudo-table entries ({@link vaultDatabaseEntry},
|
|
26
|
+
* {@link vaultFilesEntry}) so a change anywhere in the bundle is seen.
|
|
27
|
+
*
|
|
28
|
+
* @task T12336
|
|
29
|
+
* @epic T12322
|
|
30
|
+
*/
|
|
31
|
+
import { type TableScope } from '@cleocode/contracts';
|
|
32
|
+
/**
|
|
33
|
+
* Version of the manifest computation (which cells hash, and how; which
|
|
34
|
+
* pseudo-entries exist). 2: non-syncing columns hash as NULL, plus the
|
|
35
|
+
* `zz_vault_db_*` and `zz_vault_files` entries (T12967, T12969).
|
|
36
|
+
*
|
|
37
|
+
* It is not the manifest's wire `schemaVersion`: that is
|
|
38
|
+
* {@link SYNC_SCHEMA_VERSION}, the stream data numbering the vault shares with
|
|
39
|
+
* the change journal (T13034), and a computation change must not move it (the
|
|
40
|
+
* server reads a rise there as a schema transition every v3 checkpoint pins).
|
|
41
|
+
* Each snapshot records its format in a {@link VAULT_FORMAT_KEY} entry
|
|
42
|
+
* ({@link vaultFormatEntry}), so a reader tells "hashed another way" from
|
|
43
|
+
* "does not match" ({@link vaultManifestFormat}). Bump it with any change to
|
|
44
|
+
* what a manifest hashes.
|
|
45
|
+
*/
|
|
46
|
+
export declare const VAULT_MANIFEST_FORMAT_VERSION = 2;
|
|
47
|
+
/**
|
|
48
|
+
* Manifest key of a snapshot's format record (T13034): which
|
|
49
|
+
* {@link VAULT_MANIFEST_FORMAT_VERSION} its hashes were computed under. Zero
|
|
50
|
+
* rows, so the server's count check is unaffected; an annotation, never a
|
|
51
|
+
* table, so comparisons ignore it. Its hash is keyed: only key holders read
|
|
52
|
+
* the version.
|
|
53
|
+
*/
|
|
54
|
+
export declare const VAULT_FORMAT_KEY = "zz_vault_format";
|
|
55
|
+
/** One table's count and keyed hash. */
|
|
56
|
+
export interface VaultTableEntry {
|
|
57
|
+
/** Row count. */
|
|
58
|
+
rows: number;
|
|
59
|
+
/** HMAC-SHA256 hex. */
|
|
60
|
+
hash: string;
|
|
61
|
+
}
|
|
62
|
+
/** A snapshot manifest, in the wire shape (`Manifest` of the Nexus contract). */
|
|
63
|
+
export interface VaultManifest {
|
|
64
|
+
/** The wire `schemaVersion`: {@link SYNC_SCHEMA_VERSION} on what the vault writes. */
|
|
65
|
+
schemaVersion: number;
|
|
66
|
+
/** Per table. */
|
|
67
|
+
tables: Record<string, VaultTableEntry>;
|
|
68
|
+
}
|
|
69
|
+
/** Manifest key of a snapshot's plain-file inventory (rows: files, hash: keyed inventory hash). */
|
|
70
|
+
export declare const VAULT_FILES_KEY = "zz_vault_files";
|
|
71
|
+
/** Prefix of the manifest key of each primary database other than `cleo.db`. */
|
|
72
|
+
export declare const VAULT_DB_KEY_PREFIX = "zz_vault_db_";
|
|
73
|
+
/**
|
|
74
|
+
* The manifest key of a non-`cleo.db` primary database, from its path in the
|
|
75
|
+
* section (`blobs/manifest.db` -> `zz_vault_db_blobs_manifest_db`).
|
|
76
|
+
*
|
|
77
|
+
* @param relPath - Path relative to the section root.
|
|
78
|
+
* @returns A key the wire contract accepts.
|
|
79
|
+
*/
|
|
80
|
+
export declare function vaultDatabaseKey(relPath: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Columns of `table` that never sync, so the vault neither compares nor
|
|
83
|
+
* restores them over this machine's values: credential columns
|
|
84
|
+
* ({@link CREDENTIAL_COLUMNS}) and whole-column overrides of the
|
|
85
|
+
* classification registry (`local-only`, `portable-secret`, `strip`). A
|
|
86
|
+
* JSON-path override (part of a value) does not exclude the column.
|
|
87
|
+
*
|
|
88
|
+
* @param scope - Store scope.
|
|
89
|
+
* @param table - Table name.
|
|
90
|
+
* @returns Column names (possibly absent from the actual table).
|
|
91
|
+
*/
|
|
92
|
+
export declare function vaultLocalColumns(scope: TableScope, table: string): readonly string[];
|
|
93
|
+
/**
|
|
94
|
+
* Whole columns the classification registry gives the `strip` class (a value
|
|
95
|
+
* stripped from everything that leaves the device, such as a git remote URL,
|
|
96
|
+
* which can embed a token), by table. A vault snapshot never carries them
|
|
97
|
+
* (T13007); like every non-syncing column they hash as NULL and a restore
|
|
98
|
+
* keeps this machine's values.
|
|
99
|
+
*
|
|
100
|
+
* @param scope - Store scope.
|
|
101
|
+
* @returns Table to stripped column names.
|
|
102
|
+
*/
|
|
103
|
+
export declare function vaultStripColumns(scope: TableScope): Record<string, string[]>;
|
|
104
|
+
/** Options for {@link buildVaultManifest}. */
|
|
105
|
+
export interface BuildVaultManifestOptions {
|
|
106
|
+
/** Which `cleo.db` this is (decides the table classes). */
|
|
107
|
+
scope: TableScope;
|
|
108
|
+
/** List every table, classified or not (a primary database other than `cleo.db`). */
|
|
109
|
+
allTables?: boolean;
|
|
110
|
+
/** Key the hashes are made with (derive it from the stream data key). */
|
|
111
|
+
hashKey: Uint8Array;
|
|
112
|
+
/** The store's root as written in its rows; relocatable cells are re-rooted from it. `null`: none (a store a restore does not relocate). */
|
|
113
|
+
root: string | null;
|
|
114
|
+
}
|
|
115
|
+
/** The manifest plus the tables left out, for reports. */
|
|
116
|
+
export interface VaultManifestBuild {
|
|
117
|
+
manifest: VaultManifest;
|
|
118
|
+
/** Syncing tables whose name the wire contract cannot carry. */
|
|
119
|
+
skipped: string[];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Whether a table belongs in a vault manifest of `scope`.
|
|
123
|
+
*
|
|
124
|
+
* @param scope - Store scope.
|
|
125
|
+
* @param name - Physical table name.
|
|
126
|
+
* @returns `true` for syncing, non-secret tables.
|
|
127
|
+
*/
|
|
128
|
+
export declare function isVaultManifestTable(scope: TableScope, name: string): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Build the vault manifest of one `cleo.db`.
|
|
131
|
+
*
|
|
132
|
+
* Opens the file read-only; the caller passes a snapshot (a staged bundle
|
|
133
|
+
* copy) or the live store, whose single read transaction keeps it consistent.
|
|
134
|
+
*
|
|
135
|
+
* @param dbPath - The database file.
|
|
136
|
+
* @param opts - Scope, hash key and root to normalise.
|
|
137
|
+
* @returns The manifest and the tables skipped for their name.
|
|
138
|
+
*/
|
|
139
|
+
export declare function buildVaultManifest(dbPath: string, opts: BuildVaultManifestOptions): VaultManifestBuild;
|
|
140
|
+
/**
|
|
141
|
+
* One manifest entry for a whole primary database other than `cleo.db`
|
|
142
|
+
* (blobs manifest, attachments index): every table, relocation-aware like
|
|
143
|
+
* {@link buildVaultManifest}, folded into one count and keyed hash.
|
|
144
|
+
*
|
|
145
|
+
* @param dbPath - The database file.
|
|
146
|
+
* @param opts - Hash key and root to normalise.
|
|
147
|
+
* @returns Rows over all tables, and the keyed hash over every table's hash.
|
|
148
|
+
*/
|
|
149
|
+
export declare function vaultDatabaseEntry(dbPath: string, opts: {
|
|
150
|
+
hashKey: Uint8Array;
|
|
151
|
+
root: string | null;
|
|
152
|
+
}): VaultTableEntry;
|
|
153
|
+
/**
|
|
154
|
+
* Keys of the global `config.json` that belong to the install, not to the
|
|
155
|
+
* user (T13022): never compared, and a restore keeps this machine's value.
|
|
156
|
+
*/
|
|
157
|
+
export declare const VAULT_GLOBAL_CONFIG_LOCAL_KEYS: ReadonlyArray<readonly [string, string]>;
|
|
158
|
+
/** Options of {@link vaultFileDigest}. */
|
|
159
|
+
export interface VaultFileDigestOptions {
|
|
160
|
+
/** Which store the file belongs to. */
|
|
161
|
+
scope: TableScope;
|
|
162
|
+
/** The store's root as written in the file (project), or `null`. */
|
|
163
|
+
root: string | null;
|
|
164
|
+
/** The file's SHA-256 when already known (a bundle manifest lists it). */
|
|
165
|
+
sha256?: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The digest a vault file inventory records for one plain file (T13005,
|
|
169
|
+
* T13022). Config files are hashed as JSON with sorted keys, so reordering is
|
|
170
|
+
* not a change: the project JSON files a restore relocates
|
|
171
|
+
* ({@link RELOCATED_JSON_FILES}: `config.json`, `project-context.json`) with
|
|
172
|
+
* their paths re-rooted from `root` onto a placeholder, so a relocated copy
|
|
173
|
+
* hashes like its source; the global `config.json` without its install keys
|
|
174
|
+
* ({@link VAULT_GLOBAL_CONFIG_LOCAL_KEYS}). Every other file, and a config
|
|
175
|
+
* file that is not JSON, is its SHA-256.
|
|
176
|
+
*
|
|
177
|
+
* @param absPath - The file.
|
|
178
|
+
* @param relPath - Its path in the section.
|
|
179
|
+
* @param opts - Scope, root and known SHA-256.
|
|
180
|
+
* @returns Hex digest.
|
|
181
|
+
*/
|
|
182
|
+
export declare function vaultFileDigest(absPath: string, relPath: string, opts: VaultFileDigestOptions): Promise<string>;
|
|
183
|
+
/**
|
|
184
|
+
* One manifest entry for a snapshot's plain files: the count, and a keyed
|
|
185
|
+
* hash over every (path, sha256) pair, sorted by path.
|
|
186
|
+
*
|
|
187
|
+
* @param files - Files as the bundle manifest lists them.
|
|
188
|
+
* @param hashKey - The manifest hash key.
|
|
189
|
+
* @returns The entry.
|
|
190
|
+
*/
|
|
191
|
+
export declare function vaultFilesEntry(files: ReadonlyArray<{
|
|
192
|
+
relPath: string;
|
|
193
|
+
sha256: string;
|
|
194
|
+
}>, hashKey: Uint8Array): VaultTableEntry;
|
|
195
|
+
/** One table's comparison. */
|
|
196
|
+
export interface VaultTableComparison {
|
|
197
|
+
table: string;
|
|
198
|
+
localRows: number | null;
|
|
199
|
+
cloudRows: number | null;
|
|
200
|
+
match: boolean;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Manifest key that labels a snapshot as a fork (T13007): pushed with
|
|
204
|
+
* `--force` over a head its device had not synced, or after taking another
|
|
205
|
+
* device's live lease. Zero rows, so the server's count check is unaffected;
|
|
206
|
+
* an annotation, never a table, so comparisons ignore it. Being on the signed
|
|
207
|
+
* checkpoint, the label outlives the lease.
|
|
208
|
+
*/
|
|
209
|
+
export declare const VAULT_FORK_KEY = "zz_vault_fork";
|
|
210
|
+
/**
|
|
211
|
+
* The {@link VAULT_FORK_KEY} entry of a fork pushed over `overCheckpointId`.
|
|
212
|
+
*
|
|
213
|
+
* @param hashKey - The manifest hash key.
|
|
214
|
+
* @param overCheckpointId - The head the fork was pushed over.
|
|
215
|
+
* @returns The entry (0 rows; the hash binds it to that head).
|
|
216
|
+
*/
|
|
217
|
+
export declare function vaultForkEntry(hashKey: Uint8Array, overCheckpointId: string): VaultTableEntry;
|
|
218
|
+
/**
|
|
219
|
+
* The {@link VAULT_FORMAT_KEY} entry of a snapshot hashed under `format`.
|
|
220
|
+
*
|
|
221
|
+
* @param hashKey - The manifest hash key.
|
|
222
|
+
* @param format - The manifest format (default: this CLEO's).
|
|
223
|
+
* @returns The entry (0 rows; the hash names the format).
|
|
224
|
+
*/
|
|
225
|
+
export declare function vaultFormatEntry(hashKey: Uint8Array, format?: number): VaultTableEntry;
|
|
226
|
+
/**
|
|
227
|
+
* The manifest format a snapshot's hashes were computed under (T13034): the
|
|
228
|
+
* version its {@link VAULT_FORMAT_KEY} entry names, or `'unknown'` when the
|
|
229
|
+
* entry names no format this CLEO knows (a different vault format wrote it,
|
|
230
|
+
* most likely a newer CLEO). Read as the legacy format 2:
|
|
231
|
+
*
|
|
232
|
+
* - no entry: the snapshot predates the record, when vaults stamped their
|
|
233
|
+
* format as the wire `schemaVersion` (1 or 2), so it reads as 1 for
|
|
234
|
+
* `schemaVersion` 1 and as 2 otherwise;
|
|
235
|
+
* - an entry holding the empty-table hash: a build from before the record
|
|
236
|
+
* carried the parent's entry forward as an emptied table (it only skipped
|
|
237
|
+
* the fork label), over hashes it computed in format 2. Reading it as
|
|
238
|
+
* unknown would leave the stream unrestorable and unpushable for every
|
|
239
|
+
* later CLEO.
|
|
240
|
+
*
|
|
241
|
+
* @param manifest - A checkpoint's manifest.
|
|
242
|
+
* @param hashKey - The manifest hash key.
|
|
243
|
+
* @returns The format, or `'unknown'`.
|
|
244
|
+
*/
|
|
245
|
+
export declare function vaultManifestFormat(manifest: Pick<VaultManifest, 'schemaVersion' | 'tables'>, hashKey: Uint8Array): number | 'unknown';
|
|
246
|
+
/**
|
|
247
|
+
* Whether a manifest key is an annotation (the fork label, the format
|
|
248
|
+
* record) rather than a table: never compared, counted or carried forward.
|
|
249
|
+
*
|
|
250
|
+
* @param key - A manifest key.
|
|
251
|
+
* @returns `true` for {@link VAULT_FORK_KEY} and {@link VAULT_FORMAT_KEY}.
|
|
252
|
+
*/
|
|
253
|
+
export declare function isVaultAnnotationKey(key: string): boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Whether a snapshot manifest carries the fork label.
|
|
256
|
+
*
|
|
257
|
+
* @param manifest - A checkpoint's manifest.
|
|
258
|
+
* @returns `true` when {@link VAULT_FORK_KEY} is present.
|
|
259
|
+
*/
|
|
260
|
+
export declare function isVaultForkManifest(manifest: Pick<VaultManifest, 'tables'>): boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Compare two manifests table by table (union of both key sets, sorted). A
|
|
263
|
+
* table one side does not list and the other lists with 0 rows is the same
|
|
264
|
+
* (an emptied table stays listed on the cloud side); the annotations
|
|
265
|
+
* ({@link isVaultAnnotationKey}: fork label, format record) are not tables
|
|
266
|
+
* and are left out.
|
|
267
|
+
*
|
|
268
|
+
* @param local - This side.
|
|
269
|
+
* @param cloud - The other side.
|
|
270
|
+
* @returns One line per table.
|
|
271
|
+
*/
|
|
272
|
+
export declare function compareVaultManifests(local: Pick<VaultManifest, 'tables'>, cloud: Pick<VaultManifest, 'tables'>): VaultTableComparison[];
|
|
273
|
+
/**
|
|
274
|
+
* True when two manifests list the same tables with the same counts and hashes.
|
|
275
|
+
*
|
|
276
|
+
* @param a - One manifest.
|
|
277
|
+
* @param b - The other.
|
|
278
|
+
* @returns Whether they are equal.
|
|
279
|
+
*/
|
|
280
|
+
export declare function sameVaultManifest(a: Pick<VaultManifest, 'tables'>, b: Pick<VaultManifest, 'tables'>): boolean;
|
|
281
|
+
/** Rows this machine held that a restore could not keep. */
|
|
282
|
+
export interface VaultLostCredentials {
|
|
283
|
+
table: string;
|
|
284
|
+
/** Rows whose credential or machine-local values were dropped. */
|
|
285
|
+
rows: number;
|
|
286
|
+
/** How to re-enter them. */
|
|
287
|
+
remedy: string;
|
|
288
|
+
}
|
|
289
|
+
/** What {@link carryMachineState} carried into the staged snapshot. */
|
|
290
|
+
export interface CarriedMachineState {
|
|
291
|
+
/** Tables whose rows now come whole from the live store (`local-only`, or a `portable-secret` table without a stable key). */
|
|
292
|
+
preserved: string[];
|
|
293
|
+
/** Tables (and their columns) whose non-syncing cells were merged from live rows by a stable key. */
|
|
294
|
+
carried: Array<{
|
|
295
|
+
table: string;
|
|
296
|
+
columns: string[];
|
|
297
|
+
rows: number;
|
|
298
|
+
}>;
|
|
299
|
+
/** Tables left as the snapshot had them (absent here, shaped differently, or without a stable key). */
|
|
300
|
+
skipped: string[];
|
|
301
|
+
/** Live credentials that could not be kept, with their remedy. */
|
|
302
|
+
lost: VaultLostCredentials[];
|
|
303
|
+
/** Snapshot-only rows whose foreign local paths were cleared or marked remote, per table. */
|
|
304
|
+
scrubbed: Array<{
|
|
305
|
+
table: string;
|
|
306
|
+
rows: number;
|
|
307
|
+
}>;
|
|
308
|
+
}
|
|
309
|
+
/** Options of {@link carryMachineState}. */
|
|
310
|
+
export interface CarryMachineStateOptions {
|
|
311
|
+
/**
|
|
312
|
+
* The root the snapshot was taken at, when the restore relocates it onto
|
|
313
|
+
* this machine afterwards (a project store): paths under it are kept, since
|
|
314
|
+
* the relocation rewrites them. `null` (a global store): no path is relocated.
|
|
315
|
+
*/
|
|
316
|
+
snapshotRoot: string | null;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Before a vault restore activates a snapshot, carry this machine's own state
|
|
320
|
+
* into the staged copy, so a pull never replaces it with another device's
|
|
321
|
+
* (or with the empty cells an unencrypted bundle carries):
|
|
322
|
+
*
|
|
323
|
+
* - `local-only` tables: all rows come from the live store (replica binding,
|
|
324
|
+
* machine state); a table absent here is emptied.
|
|
325
|
+
* - `portable-secret` tables: live rows are upserted by a stable key (the
|
|
326
|
+
* snapshot's copies arrive with their secrets cleared). Without a stable
|
|
327
|
+
* key the live table is kept whole.
|
|
328
|
+
* - Every other table: its non-syncing columns ({@link vaultLocalColumns}:
|
|
329
|
+
* credentials, machine-local paths) are copied from the live row with the
|
|
330
|
+
* same stable key. A table without one is skipped and reported; rows are
|
|
331
|
+
* never matched by an integer id, which each machine mints for itself.
|
|
332
|
+
* `strip` columns ({@link vaultStripColumns}) are not copied: they are NULL
|
|
333
|
+
* on every row, so this machine recomputes them against the restored data.
|
|
334
|
+
* - Rows only the snapshot has (a project or skill on another machine only,
|
|
335
|
+
* a task this machine has not seen) never bring that machine's own values:
|
|
336
|
+
* every non-syncing cell (claims, leases, counters, paths) is cleared (NULL).
|
|
337
|
+
* A NOT NULL path outside `snapshotRoot` becomes a
|
|
338
|
+
* {@link VAULT_REMOTE_PATH_PREFIX} placeholder that is not a path and is
|
|
339
|
+
* never treated as an orphan; another NOT NULL cell takes its declared
|
|
340
|
+
* default, or stays when it has none. A path under `snapshotRoot` in a
|
|
341
|
+
* column the relocation rewrites stays (it becomes this machine's path).
|
|
342
|
+
*
|
|
343
|
+
* Syncing cells keep the snapshot's values (they are what the manifest
|
|
344
|
+
* verified; non-syncing cells hash as NULL, so none of this changes the
|
|
345
|
+
* manifest). A whole table is carried only when it has the same columns in
|
|
346
|
+
* both stores; a column merge uses the columns both have. A live credential
|
|
347
|
+
* that has nowhere to go is reported in `lost` with its re-entry remedy.
|
|
348
|
+
*
|
|
349
|
+
* @param stagedDbPath - The staged snapshot database (written in place).
|
|
350
|
+
* @param liveDbPath - This machine's current database (read only), or `null` when it has none
|
|
351
|
+
* yet (a project restored onto this machine): every row is then a snapshot-only row.
|
|
352
|
+
* @param scope - Which `cleo.db` this is.
|
|
353
|
+
* @param opts - The snapshot's root (see {@link CarryMachineStateOptions}).
|
|
354
|
+
* @returns What was carried, skipped, lost and scrubbed.
|
|
355
|
+
*/
|
|
356
|
+
export declare function carryMachineState(stagedDbPath: string, liveDbPath: string | null, scope: TableScope, opts?: CarryMachineStateOptions): CarriedMachineState;
|
|
357
|
+
/**
|
|
358
|
+
* The keyed hash of a table with no rows, as {@link buildVaultManifest} computes it.
|
|
359
|
+
*
|
|
360
|
+
* @param hashKey - The manifest hash key.
|
|
361
|
+
* @param table - Table name.
|
|
362
|
+
* @returns HMAC-SHA256 hex.
|
|
363
|
+
*/
|
|
364
|
+
export declare function emptyVaultTableHash(hashKey: Uint8Array, table: string): string;
|
|
365
|
+
//# sourceMappingURL=vault-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-manifest.d.ts","sourceRoot":"","sources":["../../src/store/vault-manifest.ts"],"names":[],"mappings":"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"}
|