@cleocode/core 2026.10.6 → 2026.10.7-rc.ci.674
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/http.d.ts +8 -0
- package/dist/cloud/http.d.ts.map +1 -1
- package/dist/cloud/http.js +11 -0
- package/dist/cloud/http.js.map +1 -1
- package/dist/cloud/journal.d.ts +6 -0
- package/dist/cloud/journal.d.ts.map +1 -1
- package/dist/cloud/journal.js +1 -1
- package/dist/cloud/journal.js.map +1 -1
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +3 -1
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +86 -1
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +875 -98
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/docs/doctor.d.ts +183 -0
- package/dist/docs/doctor.d.ts.map +1 -0
- package/dist/docs/doctor.js +537 -0
- package/dist/docs/doctor.js.map +1 -0
- package/dist/doctor/system-health.d.ts +189 -0
- package/dist/doctor/system-health.d.ts.map +1 -0
- package/dist/doctor/system-health.js +783 -0
- package/dist/doctor/system-health.js.map +1 -0
- package/dist/git/hooks-install.d.ts +17 -34
- package/dist/git/hooks-install.d.ts.map +1 -1
- package/dist/git/hooks-install.js +173 -70
- package/dist/git/hooks-install.js.map +1 -1
- package/dist/harness/ask-enforce.d.ts +43 -0
- package/dist/harness/ask-enforce.d.ts.map +1 -0
- package/dist/harness/ask-enforce.js +165 -0
- package/dist/harness/ask-enforce.js.map +1 -0
- package/dist/hooks.d.ts +8 -30
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +36 -116
- package/dist/hooks.js.map +1 -1
- package/dist/init.d.ts +2 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -14
- package/dist/init.js.map +1 -1
- package/dist/injection.d.ts +2 -2
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +108 -10
- package/dist/injection.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/issue/create.d.ts +4 -0
- package/dist/issue/create.d.ts.map +1 -1
- package/dist/issue/create.js +12 -0
- package/dist/issue/create.js.map +1 -1
- package/dist/issue/index.d.ts +1 -1
- package/dist/issue/index.d.ts.map +1 -1
- package/dist/issue/index.js +1 -1
- package/dist/issue/index.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +8 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/lean-change.d.ts +15 -0
- package/dist/orchestration/lean-change.d.ts.map +1 -0
- package/dist/orchestration/lean-change.js +17 -0
- package/dist/orchestration/lean-change.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +6 -4
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +59 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +150 -5
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +15 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +42 -1
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.js +2 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/verify-provenance.js +2 -2
- package/dist/release/verify-provenance.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +8 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +5 -0
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/claim-keepalive.d.ts +34 -0
- package/dist/resources/claim-keepalive.d.ts.map +1 -0
- package/dist/resources/claim-keepalive.js +49 -0
- package/dist/resources/claim-keepalive.js.map +1 -0
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +3 -0
- package/dist/resources/governor.js.map +1 -1
- package/dist/scaffold/ensure-config.js +1 -1
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +2 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/restore-marker.d.ts +50 -7
- package/dist/store/restore-marker.d.ts.map +1 -1
- package/dist/store/restore-marker.js +77 -25
- package/dist/store/restore-marker.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +6 -4
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +156 -33
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts +16 -0
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js +4 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +240 -0
- package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
- package/dist/store/schema/cleo-shared/brain.js +69 -0
- package/dist/store/schema/cleo-shared/brain.js.map +1 -1
- package/dist/store/schema/tasks.d.ts +1 -1
- package/dist/store/schema/tasks.d.ts.map +1 -1
- package/dist/store/schema/tasks.js +9 -1
- package/dist/store/schema/tasks.js.map +1 -1
- package/dist/store/sync/apply/applier.d.ts.map +1 -1
- package/dist/store/sync/apply/applier.js +85 -3
- package/dist/store/sync/apply/applier.js.map +1 -1
- package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
- package/dist/store/sync/apply/parent-delete.js +4 -0
- package/dist/store/sync/apply/parent-delete.js.map +1 -1
- package/dist/store/sync/capture.d.ts +8 -0
- package/dist/store/sync/capture.d.ts.map +1 -1
- package/dist/store/sync/capture.js +20 -0
- package/dist/store/sync/capture.js.map +1 -1
- package/dist/store/sync/clock-store.d.ts +21 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -1
- package/dist/store/sync/clock-store.js +47 -0
- package/dist/store/sync/clock-store.js.map +1 -1
- package/dist/store/sync/conflicts.d.ts +13 -0
- package/dist/store/sync/conflicts.d.ts.map +1 -1
- package/dist/store/sync/conflicts.js +22 -0
- package/dist/store/sync/conflicts.js.map +1 -1
- package/dist/store/sync/genesis.d.ts +113 -12
- package/dist/store/sync/genesis.d.ts.map +1 -1
- package/dist/store/sync/genesis.js +325 -27
- package/dist/store/sync/genesis.js.map +1 -1
- package/dist/store/sync/merge/types.d.ts +8 -2
- package/dist/store/sync/merge/types.d.ts.map +1 -1
- package/dist/store/sync/pull.d.ts +192 -0
- package/dist/store/sync/pull.d.ts.map +1 -0
- package/dist/store/sync/pull.js +429 -0
- package/dist/store/sync/pull.js.map +1 -0
- package/dist/store/sync/push.d.ts +110 -0
- package/dist/store/sync/push.d.ts.map +1 -0
- package/dist/store/sync/push.js +172 -0
- package/dist/store/sync/push.js.map +1 -0
- package/dist/store/sync/replay-pin.d.ts +70 -0
- package/dist/store/sync/replay-pin.d.ts.map +1 -0
- package/dist/store/sync/replay-pin.js +172 -0
- package/dist/store/sync/replay-pin.js.map +1 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +6 -2
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +15 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +51 -15
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/tasks-schema.d.ts +1 -1
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +1 -1
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +5 -0
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +7 -0
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +4 -0
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +17 -0
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +49 -0
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +52 -3
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +94 -3
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +9 -5
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts +2 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +26 -7
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +10 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +63 -6
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/evidence.d.ts +3 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +106 -2
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +19 -1
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +44 -2
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +16 -0
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +25 -2
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/qa-run-binding.d.ts +88 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -0
- package/dist/tasks/qa-run-binding.js +188 -0
- package/dist/tasks/qa-run-binding.js.map +1 -0
- package/dist/tasks/req.d.ts +50 -0
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +99 -1
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +29 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +47 -23
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +9 -0
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +14 -3
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +3 -0
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +10 -1
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +14 -3
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-global/20261010130000_t12895-brain-natural-uids/migration.sql +28 -0
- package/migrations/drizzle-cleo-global/20261010140000_t12896-brain-autoinc-uids/migration.sql +54 -0
- package/migrations/drizzle-cleo-project/20261010130000_t12895-brain-natural-uids/migration.sql +36 -0
- package/migrations/drizzle-cleo-project/20261010140000_t12896-brain-autoinc-uids/migration.sql +58 -0
- package/migrations/sync-journal/20261008120000_t12343-pull-cursor/migration.sql +28 -0
- package/migrations/sync-journal/20261009120000_t13318-seen-floor/migration.sql +41 -0
- package/package.json +18 -18
- package/templates/CLEO-INJECTION.md +5 -3
- package/templates/CLEO-REFERENCE.md +1 -1
- package/templates/git-hooks/legacy-hashes.json +20 -0
- package/templates/git-hooks/pre-commit +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,sEAAsE;AACtE,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,IAAI,CAyBN;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,IAAI,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,cAAc,EAAE,CA+BlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOjG"}
|
|
1
|
+
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,sEAAsE;AACtE,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,IAAI,CAyBN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,IAAI,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,cAAc,EAAE,CA+BlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKrF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOjG"}
|
|
@@ -30,6 +30,28 @@ export function recordConflicts(db, site, conflicts, origin, nowIso) {
|
|
|
30
30
|
ins.run(site.stream, site.seq, site.txnIdx, site.opIdx, c.kind, c.table, c.uid, JSON.stringify(c.columns), c.rule ?? null, c.resolution, c.opHlc, c.localHlc ?? null, origin, nowIso);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Record a conflict of one op unless that op already has one of its kind.
|
|
35
|
+
* For a transaction re-planned on every apply call while it stays pending
|
|
36
|
+
* (a held uid collision, T13394), so the hold is listed once, not per pass.
|
|
37
|
+
*
|
|
38
|
+
* @param db - The store, inside the apply frame's transaction.
|
|
39
|
+
* @param site - The inbox transaction and op index.
|
|
40
|
+
* @param conflict - The conflict.
|
|
41
|
+
* @param origin - The op's origin replica.
|
|
42
|
+
* @param nowIso - The time.
|
|
43
|
+
* @returns Whether it was recorded now.
|
|
44
|
+
*/
|
|
45
|
+
export function recordConflictOnce(db, site, conflict, origin, nowIso) {
|
|
46
|
+
const seen = db
|
|
47
|
+
.prepare(`SELECT 1 FROM _sync_conflict
|
|
48
|
+
WHERE stream = ? AND seq = ? AND txn_idx = ? AND op_idx = ? AND kind = ?`)
|
|
49
|
+
.get(site.stream, site.seq, site.txnIdx, site.opIdx, conflict.kind);
|
|
50
|
+
if (seen)
|
|
51
|
+
return false;
|
|
52
|
+
recordConflicts(db, site, [conflict], origin, nowIso);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
33
55
|
/**
|
|
34
56
|
* The recorded conflicts, oldest first.
|
|
35
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,12 +27,17 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import type { DatabaseSync } from 'node:sqlite';
|
|
29
29
|
import type { TableScope } from '@cleocode/contracts';
|
|
30
|
+
import { type StreamCursor } from './pull.js';
|
|
30
31
|
/** `_sync_meta` key prefix of a stream's genesis cut (read by `streamStarted`, T13217). */
|
|
31
32
|
export declare const GENESIS_CUT_KEY_PREFIX = "genesis_cut:";
|
|
32
33
|
/** `_sync_meta` key prefix of a stream's genesis source seq (equal to the cut). */
|
|
33
34
|
export declare const GENESIS_SOURCE_SEQ_KEY_PREFIX = "genesis_source_seq:";
|
|
34
35
|
/** `_sync_meta` key prefix set at the cut and cleared once the genesis checkpoint is stored. */
|
|
35
36
|
export declare const GENESIS_PENDING_KEY_PREFIX = "genesis_pending:";
|
|
37
|
+
/** `_sync_meta` key prefix: the highest `local_seq` a stream's cut folded (so a raced cut can be undone). */
|
|
38
|
+
export declare const GENESIS_FOLDED_UPTO_KEY_PREFIX = "genesis_folded_upto:";
|
|
39
|
+
/** `_sync_meta` key prefix: the lowest `local_seq` a stream's cut folded (its range, never another cut's). */
|
|
40
|
+
export declare const GENESIS_FOLDED_FROM_KEY_PREFIX = "genesis_folded_from:";
|
|
36
41
|
/** `_sync_meta` key the capture triggers' undo `WHEN` checks (§3.5 Rule 2). */
|
|
37
42
|
export declare const UNDO_ENABLED_KEY = "undo_enabled";
|
|
38
43
|
/** Options for {@link cutGenesis}. */
|
|
@@ -62,6 +67,11 @@ export interface GenesisCutReport {
|
|
|
62
67
|
readonly folded: number;
|
|
63
68
|
/** Rows given genesis row meta, per table (tables with none are absent). */
|
|
64
69
|
readonly baselined: Readonly<Record<string, number>>;
|
|
70
|
+
/**
|
|
71
|
+
* A cut committed by an earlier run that never finished its snapshot (it
|
|
72
|
+
* crashed) was snapshotted now, at that same cut (T13301).
|
|
73
|
+
*/
|
|
74
|
+
readonly resumed: boolean;
|
|
65
75
|
}
|
|
66
76
|
/**
|
|
67
77
|
* A stream's genesis cut, or undefined before it. Read-only.
|
|
@@ -105,26 +115,117 @@ export declare function genesisPreconditions(db: DatabaseSync, opts: Pick<Genesi
|
|
|
105
115
|
* @returns What was cut, or why not.
|
|
106
116
|
*/
|
|
107
117
|
export declare function cutGenesis(db: DatabaseSync, opts: GenesisCutOptions): GenesisCutReport;
|
|
118
|
+
/** A write reached the store between the cut and the end of its snapshot; the cut was undone. */
|
|
119
|
+
export declare class GenesisRacedError extends Error {
|
|
120
|
+
readonly code: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Another process took the genesis marker over during the snapshot: the
|
|
124
|
+
* pending cut, and any bundle saved for it, are the new holder's (T13390).
|
|
125
|
+
*/
|
|
126
|
+
export declare class GenesisTakenOverError extends GenesisRacedError {
|
|
127
|
+
readonly code = "E_SYNC_GENESIS_MARKER_LOST";
|
|
128
|
+
}
|
|
108
129
|
/**
|
|
109
|
-
* {@link cutGenesis}
|
|
110
|
-
* cut (§2.11 §10
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
130
|
+
* {@link cutGenesis}, then the genesis checkpoint's bundle snapshotted at
|
|
131
|
+
* the committed cut (§2.11 §10; T13296). The cut commits FIRST, so the
|
|
132
|
+
* bundle carries everything it wrote: genesis row meta, the genesis keys,
|
|
133
|
+
* `undo_enabled`, `sync.push` and the folded transactions. A device restored
|
|
134
|
+
* from it therefore has full row meta and never pushes a folded transaction.
|
|
114
135
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* other
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
136
|
+
* Nothing may write between the cut and the end of the snapshot. For the
|
|
137
|
+
* whole run the store carries a `genesis` marker ({@link writeRestoreMarker}):
|
|
138
|
+
* other processes wait at their store open, and every writer, in this
|
|
139
|
+
* process too, waits at the write chokepoint (`assertExodusWriteSafe`: the
|
|
140
|
+
* task accessor's write transactions, session creation, `insertIdempotent`,
|
|
141
|
+
* `upsertIdempotent`) and refuses with `E_STORE_GENESIS` if the snapshot
|
|
142
|
+
* outlasts its wait (T13297). The snapshot itself writes nothing. A writer
|
|
143
|
+
* that bypasses the chokepoint is caught after the snapshot (the capture
|
|
144
|
+
* position moved past the cut): the cut is undone and
|
|
145
|
+
* {@link GenesisRacedError} is thrown, so no bundle holding a post-cut write
|
|
146
|
+
* is ever pushed. A failing snapshot undoes the cut too, and so does a
|
|
147
|
+
* marker that went stale during the snapshot with nobody taking it over
|
|
148
|
+
* ({@link GenesisRacedError}, `E_SYNC_GENESIS_MARKER_LOST`). When another
|
|
149
|
+
* process took the stale marker over, it owns the pending cut: this run
|
|
150
|
+
* aborts with the same error and never undoes the cut. The marker is always
|
|
151
|
+
* released, unless another process now holds it.
|
|
152
|
+
*
|
|
153
|
+
* A cut that an earlier run committed but never snapshotted (a crash, kill
|
|
154
|
+
* or sleep mid-export; `genesis_pending` still set) is resumed (T13301): with
|
|
155
|
+
* no capture since, the snapshot runs at that cut (`resumed`); otherwise the
|
|
156
|
+
* stale cut is undone and the store is cut again. A stored cut
|
|
157
|
+
* (`genesis_pending` cleared) is `already`, and no snapshot runs.
|
|
121
158
|
*
|
|
122
159
|
* @param db - The store.
|
|
123
160
|
* @param opts - {@link GenesisCutOptions}, plus the store file the marker guards.
|
|
124
|
-
* @param snapshot - Export the store as the checkpoint bundle; receives the cut.
|
|
161
|
+
* @param snapshot - Export the store as the checkpoint bundle; receives the cut. Must not write.
|
|
125
162
|
* @returns What was cut, or why not.
|
|
163
|
+
* @throws {GenesisRacedError} When a write reached the store during the snapshot.
|
|
126
164
|
*/
|
|
127
165
|
export declare function cutGenesisWithSnapshot(db: DatabaseSync, opts: GenesisCutOptions & {
|
|
128
166
|
readonly dbPath: string;
|
|
129
167
|
}, snapshot: (cut: number) => Promise<void>): Promise<GenesisCutReport>;
|
|
168
|
+
/**
|
|
169
|
+
* Finish a stream's genesis once its checkpoint is stored (S4-1b), in one
|
|
170
|
+
* `BEGIN IMMEDIATE`: raise the persisted replicaSeq high-water mark to the
|
|
171
|
+
* replica's last segment on the stream (the vault's delta segments spend this
|
|
172
|
+
* replica's seqs, so the first journal segment follows them), then clear
|
|
173
|
+
* `genesis_pending:<stream>`, which lets the push send segments.
|
|
174
|
+
*
|
|
175
|
+
* @param db - The store, outside a transaction.
|
|
176
|
+
* @param o - Stream, replica, the replica's last replicaSeq on the stream (null: none yet) and the time.
|
|
177
|
+
*/
|
|
178
|
+
export declare function completeGenesis(db: DatabaseSync, o: {
|
|
179
|
+
readonly stream: string;
|
|
180
|
+
readonly replica: string;
|
|
181
|
+
readonly replicaSeqFloor: number | null;
|
|
182
|
+
readonly nowIso: string;
|
|
183
|
+
}): void;
|
|
184
|
+
/**
|
|
185
|
+
* A stream's genesis cut read from a store file with a read-only open, or
|
|
186
|
+
* undefined (no cut, no store, or no journal): the vault reads it before a
|
|
187
|
+
* push without binding or migrating anything.
|
|
188
|
+
*
|
|
189
|
+
* @param dbPath - The `cleo.db` file.
|
|
190
|
+
* @param stream - The stream.
|
|
191
|
+
*/
|
|
192
|
+
export declare function readGenesisCut(dbPath: string, stream: string): Promise<number | undefined>;
|
|
193
|
+
/** What {@link joinStream} did. */
|
|
194
|
+
export interface JoinStreamReport {
|
|
195
|
+
readonly stream: string;
|
|
196
|
+
/** Why the store did not join, or null. */
|
|
197
|
+
readonly refused: string | null;
|
|
198
|
+
/** The join point: the capture position this store's pushed history starts after. */
|
|
199
|
+
readonly cut: number | null;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Join a stream another device already started (T13312; journal spec
|
|
203
|
+
* §2.11 §10, §3.5 Rule 2): the store holds exactly the journal checkpoint it
|
|
204
|
+
* restored, with that checkpoint's row meta, and from here on pushes its own
|
|
205
|
+
* writes and pulls the stream's after it. No genesis, no fold: the checkpoint
|
|
206
|
+
* is the store's base.
|
|
207
|
+
*
|
|
208
|
+
* Every sync-set row must carry meta that matches it (the restore carried
|
|
209
|
+
* the checkpoint's merge state, and nothing changed since); a row without
|
|
210
|
+
* meta, or one whose content left its meta behind, refuses the join, and so
|
|
211
|
+
* does a write captured after the check (seen inside the cut's transaction).
|
|
212
|
+
* A refusal leaves capture as it found it. Then, in ONE `BEGIN IMMEDIATE`
|
|
213
|
+
* that also turns sealing on: the restore's
|
|
214
|
+
* suspect marks are cleared (the check just proved the rows clean), the
|
|
215
|
+
* ledgers set, `genesis_cut:<stream>` records the join point (the stream has
|
|
216
|
+
* started here: T13217's meta-less-row rule applies from now), `undo_enabled`,
|
|
217
|
+
* `sync.push` and `sync.pull` are set, and the pull position is seeded from
|
|
218
|
+
* the checkpoint.
|
|
219
|
+
*
|
|
220
|
+
* @param db - The store, outside a transaction, bound to its own replica.
|
|
221
|
+
* @param o - Scope, stream, the checkpoint's pull position, and the unreleased opt-in.
|
|
222
|
+
* @returns The join point, or why not.
|
|
223
|
+
*/
|
|
224
|
+
export declare function joinStream(db: DatabaseSync, o: {
|
|
225
|
+
readonly scope: TableScope;
|
|
226
|
+
readonly stream: string;
|
|
227
|
+
readonly cursor: StreamCursor;
|
|
228
|
+
readonly now?: () => number;
|
|
229
|
+
readonly allowUnreleased?: boolean;
|
|
230
|
+
}): JoinStreamReport;
|
|
130
231
|
//# sourceMappingURL=genesis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genesis.d.ts","sourceRoot":"","sources":["../../../src/store/sync/genesis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"genesis.d.ts","sourceRoot":"","sources":["../../../src/store/sync/genesis.ts"],"names":[],"mappings":"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"}
|