@cleocode/core 2026.10.11 → 2026.10.12-rc.ci.681
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/nexus-cloud-conflicts.d.ts +17 -4
- package/dist/cloud/nexus-cloud-conflicts.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-conflicts.js +43 -8
- package/dist/cloud/nexus-cloud-conflicts.js.map +1 -1
- package/dist/cloud/secret-seal.d.ts.map +1 -1
- package/dist/cloud/secret-seal.js +7 -3
- package/dist/cloud/secret-seal.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +11 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +19 -1
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +4 -1
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +4 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-switch.d.ts.map +1 -1
- package/dist/sessions/session-switch.js +4 -1
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +4 -2
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +3 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/sync/apply/applier.d.ts +16 -0
- package/dist/store/sync/apply/applier.d.ts.map +1 -1
- package/dist/store/sync/apply/applier.js +17 -3
- package/dist/store/sync/apply/applier.js.map +1 -1
- package/dist/store/sync/apply/resolve-conflict.d.ts +60 -0
- package/dist/store/sync/apply/resolve-conflict.d.ts.map +1 -0
- package/dist/store/sync/apply/resolve-conflict.js +198 -0
- package/dist/store/sync/apply/resolve-conflict.js.map +1 -0
- package/dist/store/sync/conflicts.d.ts +22 -2
- package/dist/store/sync/conflicts.d.ts.map +1 -1
- package/dist/store/sync/conflicts.js +41 -15
- package/dist/store/sync/conflicts.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts +10 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +58 -2
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/sync/merge/types.d.ts +5 -5
- package/dist/store/sync/merge/types.d.ts.map +1 -1
- package/dist/store/sync/sealer.d.ts +5 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +5 -1
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +14 -0
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +30 -0
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +51 -1
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +177 -7
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts +6 -3
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +32 -6
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts +11 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +12 -2
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +14 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +21 -0
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/migrations/sync-journal/20261012120000_t13624-conflict-local/migration.sql +13 -0
- package/package.json +13 -13
- package/templates/CLEO-REFERENCE.md +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-conflict.js","sourceRoot":"","sources":["../../../../src/store/sync/apply/resolve-conflict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAY7D,0EAA0E;AAC1E,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC;IAEA;IAHX,YACW,IAAwD,EACjE,OAAe,EACN,GAAW;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAoD;QAExD,QAAG,GAAH,GAAG,CAAQ;QAGpB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,gBAAgB,GAAqC;IACzD,uBAAuB,EAAE,sDAAsD;IAC/E,yBAAyB,EAAE,0DAA0D;IACrF,kCAAkC,EAAE,sDAAsD;IAC1F,yBAAyB,EAAE,oDAAoD;IAC/E,0BAA0B,EAAE,qDAAqD;IACjF,wBAAwB,EAAE,mDAAmD;IAC7E,4BAA4B,EAC1B,iHAAiH;IACnH,iBAAiB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAA8B,EAAE,CAA8B,EAAW,EAAE,CAC5F,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAgB,EAChB,KAAiB,EACjB,EAAU,EACV,IAAkB,EAClB,MAAc;IAEd,OAAO,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CACnB,EAAgB,EAChB,KAAiB,EACjB,EAAU,EACV,IAAkB,EAClB,MAAc;IAEd,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,0GAA0G;QAC1G,MAAM,IAAI,oBAAoB,CAC5B,aAAa,EACb,oBAAoB,EAAE,EAAE,EACxB,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAqB,EAAE,CAC9C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,mGAAmG;YACnG,MAAM,IAAI,oBAAoB,CAC5B,cAAc,EACd,YAAY,EAAE,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvD,0BAA0B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,GAAW,EAAS,EAAE;QACrD,+GAA+G;QAC/G,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,KAAK,kBAAkB,CAAC;IACpD,oFAAoF;IACpF,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,8BAA8B,EAAE,+BAA+B,CAAC,CAAC;IAC3F,MAAM,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,MAAM,CACX,uEAAuE,EACvE,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,wCAAwC,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1D,+EAA+E;IAC/E,MAAM,IAAI,GAAoC,EAAE,CAAC;IACjD,MAAM,KAAK,GAAoC,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACpD,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC,GAAG,GAAG,eAAe,EAAE,2CAA2C,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QAC1C,IAAI,KAAK,GAAoB,QAAQ,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,CACX,QAAQ,GAAG,uEAAuE,EAClF,OAAO,GAAG,0CAA0C,CAAC,CAAC,KAAK,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAClC,OAAO,MAAM,CACX,GAAG,GAAG,mCAAmC,EACzC,OAAO,GAAG,0CAA0C,CAAC,CAAC,KAAK,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CACX,GAAG,GAAG,4CAA4C,EAClD,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IAC1B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;YAAE,SAAS;QAChD,KAAK,MAAM,GAAG,IAAI,KAAK;YAAE,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IAC7F,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EACpC,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACF,MAAM,KAAK,GAAa;QACtB,CAAC,EAAE,CAAC,CAAC,KAAK;QACV,CAAC,EAAE,CAAC,CAAC,GAAG;QACR,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC,EAAE,IAAI;KACR,CAAC;IACF,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAClF,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,IAAI;QACxD,GAAG,CAAC,OAAO;aACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,wHAAwH;QACxH,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,YAAY,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,KAAK,uCAAuC,EAClI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,gCAAgC,8CAA8C,CAC7G,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,iCAAiC,GAAG,CAAC,MAAM,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACzF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { DatabaseSync } from 'node:sqlite';
|
|
15
15
|
import type { TableScope } from '@cleocode/contracts';
|
|
16
|
-
import { type LedgerValue } from '@cleocode/contracts/ledger';
|
|
16
|
+
import { type LedgerOp, type LedgerValue, type LedgerWireValue } from '@cleocode/contracts/ledger';
|
|
17
17
|
import type { InboxKey } from './inbox.js';
|
|
18
18
|
import type { MergeConflict } from './merge/types.js';
|
|
19
19
|
import { type WireValue } from './sealer-values.js';
|
|
@@ -38,6 +38,11 @@ export interface ConflictRecord extends ConflictSite {
|
|
|
38
38
|
readonly origin: string;
|
|
39
39
|
readonly createdAt: string;
|
|
40
40
|
readonly resolvedAt: string | null;
|
|
41
|
+
/**
|
|
42
|
+
* This store's pre-merge values of the conflicting, non-secret columns
|
|
43
|
+
* (references as uids), or null when unknown (T13624).
|
|
44
|
+
*/
|
|
45
|
+
readonly local: Readonly<Record<string, LedgerWireValue>> | null;
|
|
41
46
|
}
|
|
42
47
|
/**
|
|
43
48
|
* Record the conflicts of one op.
|
|
@@ -47,8 +52,10 @@ export interface ConflictRecord extends ConflictSite {
|
|
|
47
52
|
* @param conflicts - What the merge decided.
|
|
48
53
|
* @param origin - The op's origin replica.
|
|
49
54
|
* @param nowIso - The time.
|
|
55
|
+
* @param local - This store's pre-merge non-secret values of the row, kept for
|
|
56
|
+
* each conflict's columns (T13624); omitted when unknown.
|
|
50
57
|
*/
|
|
51
|
-
export declare function recordConflicts(db: DatabaseSync, site: ConflictSite, conflicts: readonly MergeConflict[], origin: string, nowIso: string): void;
|
|
58
|
+
export declare function recordConflicts(db: DatabaseSync, site: ConflictSite, conflicts: readonly MergeConflict[], origin: string, nowIso: string, local?: Readonly<Record<string, LedgerWireValue>> | null): void;
|
|
52
59
|
/**
|
|
53
60
|
* Record a conflict of one op unless that op already has one of its kind.
|
|
54
61
|
* For a transaction re-planned on every apply call while it stays pending
|
|
@@ -128,6 +135,19 @@ export interface ConflictDetail {
|
|
|
128
135
|
readonly opKnown: boolean;
|
|
129
136
|
readonly fields: readonly ConflictFieldValues[];
|
|
130
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* The op a conflict was recorded for (its split parts joined) and the Nexus
|
|
140
|
+
* device that wrote it, from the inbox; both absent once the inbox row is
|
|
141
|
+
* pruned after a checkpoint.
|
|
142
|
+
*
|
|
143
|
+
* @param db - The store.
|
|
144
|
+
* @param c - The conflict.
|
|
145
|
+
* @returns The op and the device id.
|
|
146
|
+
*/
|
|
147
|
+
export declare function conflictIncomingOp(db: DatabaseSync, c: ConflictRecord): {
|
|
148
|
+
op: LedgerOp | undefined;
|
|
149
|
+
deviceId: string | null;
|
|
150
|
+
};
|
|
131
151
|
/**
|
|
132
152
|
* Describe one recorded conflict: the row's human id, the device that wrote
|
|
133
153
|
* the incoming op, and each conflicting column's incoming and current
|
|
@@ -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,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
* @module store/sync/conflicts
|
|
12
12
|
* @task T12344
|
|
13
13
|
*/
|
|
14
|
-
import { LedgerTxn } from '@cleocode/contracts/ledger';
|
|
14
|
+
import { LedgerTxn, } from '@cleocode/contracts/ledger';
|
|
15
15
|
import { captureTableDef, enc } from './capture.js';
|
|
16
16
|
import { hasTable } from './schema.js';
|
|
17
|
-
import { decodeEnc } from './sealer-values.js';
|
|
17
|
+
import { canonicalJson, decodeEnc } from './sealer-values.js';
|
|
18
18
|
/**
|
|
19
19
|
* Record the conflicts of one op.
|
|
20
20
|
*
|
|
@@ -23,15 +23,20 @@ import { decodeEnc } from './sealer-values.js';
|
|
|
23
23
|
* @param conflicts - What the merge decided.
|
|
24
24
|
* @param origin - The op's origin replica.
|
|
25
25
|
* @param nowIso - The time.
|
|
26
|
+
* @param local - This store's pre-merge non-secret values of the row, kept for
|
|
27
|
+
* each conflict's columns (T13624); omitted when unknown.
|
|
26
28
|
*/
|
|
27
|
-
export function recordConflicts(db, site, conflicts, origin, nowIso) {
|
|
29
|
+
export function recordConflicts(db, site, conflicts, origin, nowIso, local) {
|
|
28
30
|
if (conflicts.length === 0)
|
|
29
31
|
return;
|
|
30
32
|
const ins = db.prepare(`INSERT INTO _sync_conflict (stream, seq, txn_idx, op_idx, kind, tbl, uid, columns_json,
|
|
31
|
-
rule, resolution, op_hlc, local_hlc, origin, created_at)
|
|
32
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
33
|
+
rule, resolution, op_hlc, local_hlc, origin, created_at, local_json)
|
|
34
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
33
35
|
for (const c of conflicts) {
|
|
34
|
-
|
|
36
|
+
const kept = local
|
|
37
|
+
? Object.fromEntries(c.columns.filter((col) => col in local).map((col) => [col, local[col]]))
|
|
38
|
+
: null;
|
|
39
|
+
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, kept && Object.keys(kept).length > 0 ? canonicalJson(kept) : null);
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
@@ -92,6 +97,7 @@ export function listConflicts(db, opts = {}) {
|
|
|
92
97
|
origin: r.origin,
|
|
93
98
|
createdAt: r.created_at,
|
|
94
99
|
resolvedAt: r.resolved_at,
|
|
100
|
+
local: r.local_json ? JSON.parse(r.local_json) : null,
|
|
95
101
|
}));
|
|
96
102
|
}
|
|
97
103
|
/**
|
|
@@ -170,6 +176,26 @@ function incomingOp(db, c, row) {
|
|
|
170
176
|
return at;
|
|
171
177
|
return ops.findLast((o) => o.t === c.table && o.u === c.uid);
|
|
172
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* The op a conflict was recorded for (its split parts joined) and the Nexus
|
|
181
|
+
* device that wrote it, from the inbox; both absent once the inbox row is
|
|
182
|
+
* pruned after a checkpoint.
|
|
183
|
+
*
|
|
184
|
+
* @param db - The store.
|
|
185
|
+
* @param c - The conflict.
|
|
186
|
+
* @returns The op and the device id.
|
|
187
|
+
*/
|
|
188
|
+
export function conflictIncomingOp(db, c) {
|
|
189
|
+
const inbox = hasTable(db, '_sync_inbox')
|
|
190
|
+
? db
|
|
191
|
+
.prepare('SELECT replica_id, device_id, txn_json FROM _sync_inbox WHERE stream = ? AND seq = ? AND txn_idx = ?')
|
|
192
|
+
.get(c.stream, c.seq, c.txnIdx)
|
|
193
|
+
: undefined;
|
|
194
|
+
return {
|
|
195
|
+
op: inbox ? incomingOp(db, c, inbox) : undefined,
|
|
196
|
+
deviceId: inbox?.device_id ?? null,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
173
199
|
/** The row's current values by uid, as wire values, or undefined when it is gone. */
|
|
174
200
|
function currentRow(db, def, uid) {
|
|
175
201
|
const cols = [...new Set([...def.key, ...def.columns])];
|
|
@@ -178,7 +204,6 @@ function currentRow(db, def, uid) {
|
|
|
178
204
|
.get(uid);
|
|
179
205
|
return r ? new Map(cols.map((col, i) => [col, decodeEnc(String(r[`c${i}`]))])) : undefined;
|
|
180
206
|
}
|
|
181
|
-
/** A reference's uid as the target row's local key, when this store holds it. */
|
|
182
207
|
function localKeyOf(db, ref, uid) {
|
|
183
208
|
if (typeof uid !== 'string' || !hasTable(db, ref.table))
|
|
184
209
|
return uid;
|
|
@@ -199,12 +224,7 @@ const show = (v) => v === undefined || v === null ? null : typeof v === 'object'
|
|
|
199
224
|
* @returns The detail.
|
|
200
225
|
*/
|
|
201
226
|
export function conflictDetail(db, scope, c) {
|
|
202
|
-
const
|
|
203
|
-
? db
|
|
204
|
-
.prepare('SELECT replica_id, device_id, txn_json FROM _sync_inbox WHERE stream = ? AND seq = ? AND txn_idx = ?')
|
|
205
|
-
.get(c.stream, c.seq, c.txnIdx)
|
|
206
|
-
: undefined;
|
|
207
|
-
const op = inbox ? incomingOp(db, c, inbox) : undefined;
|
|
227
|
+
const { op, deviceId } = conflictIncomingOp(db, c);
|
|
208
228
|
const def = captureTableDef(db, scope, c.table);
|
|
209
229
|
const row = def ? currentRow(db, def, c.uid) : undefined;
|
|
210
230
|
const keyParts = (def?.key ?? []).map((k) => show(row?.get(k) ?? op?.k?.[k] ?? op?.a?.[k]));
|
|
@@ -214,13 +234,19 @@ export function conflictDetail(db, scope, c) {
|
|
|
214
234
|
return { column, theirs: null, mine: null, withheld: true };
|
|
215
235
|
const raw = op?.a?.[column] ?? op?.k?.[column] ?? null;
|
|
216
236
|
const ref = def?.refs.get(column);
|
|
237
|
+
// Mine is what this store held before the merge (T13624), else its current value.
|
|
238
|
+
const kept = c.local?.[column];
|
|
217
239
|
return {
|
|
218
240
|
column,
|
|
219
241
|
theirs: raw !== null && ref ? localKeyOf(db, ref, raw) : raw,
|
|
220
|
-
mine:
|
|
242
|
+
mine: kept === undefined
|
|
243
|
+
? (row?.get(column) ?? null)
|
|
244
|
+
: kept !== null && ref
|
|
245
|
+
? localKeyOf(db, ref, kept)
|
|
246
|
+
: kept,
|
|
221
247
|
withheld: false,
|
|
222
248
|
};
|
|
223
249
|
});
|
|
224
|
-
return { humanId, deviceId
|
|
250
|
+
return { humanId, deviceId, opKnown: op !== undefined, fields };
|
|
225
251
|
}
|
|
226
252
|
//# sourceMappingURL=conflicts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../src/store/sync/conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,14 @@ export type MergeRuleSet = Omit<TableMergeSpec, 'columns'>;
|
|
|
43
43
|
* keeps the two in sync.
|
|
44
44
|
*/
|
|
45
45
|
export declare const TASK_STATUS_LEAVE_OPS: readonly string[];
|
|
46
|
+
/**
|
|
47
|
+
* The `actor.op` values that may leave a terminal session status (T12940):
|
|
48
|
+
* resume, switch and a snapshot restore reactivate an ended or orphaned
|
|
49
|
+
* session. Each is emitted by core's own entry points (`sessionResume` — the
|
|
50
|
+
* `cleo session resume` path — and `resumeSession`, `switchSession`,
|
|
51
|
+
* `restoreSession`); a test keeps the two in sync.
|
|
52
|
+
*/
|
|
53
|
+
export declare const SESSION_STATUS_LEAVE_OPS: readonly string[];
|
|
46
54
|
/** The `actor.op` values that may move `pipeline_stage` backwards. */
|
|
47
55
|
export declare const TASK_STAGE_RESTORE_OPS: readonly string[];
|
|
48
56
|
/**
|
|
@@ -63,7 +71,8 @@ export declare const TASK_STAGE_MERGE_ORDER: readonly string[];
|
|
|
63
71
|
* `task.status.absorbing` (T12937), `task.pipeline-stage.max` (T12938),
|
|
64
72
|
* `task.verification.frozen-on-done` (T12939),
|
|
65
73
|
* `docs.decision-adr-links.revoke-monotonic` (T13597),
|
|
66
|
-
* `audit.immutable` (T12941, table-level).
|
|
74
|
+
* `audit.immutable` (T12941, table-level), `playbook.approval.once` (T12944),
|
|
75
|
+
* `session.status.terminal` (T12940).
|
|
67
76
|
*/
|
|
68
77
|
export declare const SYNC_MERGE_RULES: Readonly<Record<string, MergeRuleSet>>;
|
|
69
78
|
/** The rule ids this registry implements, for the write-invariant gate. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAsC,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAInD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAIrD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAsC,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAInD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAkGnE,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAQlD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc,CAEtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAOnF"}
|
|
@@ -46,6 +46,18 @@ export const TASK_STATUS_LEAVE_OPS = [
|
|
|
46
46
|
'tasks.reopen',
|
|
47
47
|
'tasks.unarchive',
|
|
48
48
|
];
|
|
49
|
+
/**
|
|
50
|
+
* The `actor.op` values that may leave a terminal session status (T12940):
|
|
51
|
+
* resume, switch and a snapshot restore reactivate an ended or orphaned
|
|
52
|
+
* session. Each is emitted by core's own entry points (`sessionResume` — the
|
|
53
|
+
* `cleo session resume` path — and `resumeSession`, `switchSession`,
|
|
54
|
+
* `restoreSession`); a test keeps the two in sync.
|
|
55
|
+
*/
|
|
56
|
+
export const SESSION_STATUS_LEAVE_OPS = [
|
|
57
|
+
'session.resume',
|
|
58
|
+
'session.switch',
|
|
59
|
+
'session.restore',
|
|
60
|
+
];
|
|
49
61
|
/** The `actor.op` values that may move `pipeline_stage` backwards. */
|
|
50
62
|
export const TASK_STAGE_RESTORE_OPS = ['tasks.restore', 'tasks.reopen'];
|
|
51
63
|
/**
|
|
@@ -70,7 +82,8 @@ export const TASK_STAGE_MERGE_ORDER = [
|
|
|
70
82
|
* `task.status.absorbing` (T12937), `task.pipeline-stage.max` (T12938),
|
|
71
83
|
* `task.verification.frozen-on-done` (T12939),
|
|
72
84
|
* `docs.decision-adr-links.revoke-monotonic` (T13597),
|
|
73
|
-
* `audit.immutable` (T12941, table-level).
|
|
85
|
+
* `audit.immutable` (T12941, table-level), `playbook.approval.once` (T12944),
|
|
86
|
+
* `session.status.terminal` (T12940).
|
|
74
87
|
*/
|
|
75
88
|
export const SYNC_MERGE_RULES = {
|
|
76
89
|
tasks_tasks: {
|
|
@@ -108,9 +121,52 @@ export const SYNC_MERGE_RULES = {
|
|
|
108
121
|
},
|
|
109
122
|
},
|
|
110
123
|
},
|
|
124
|
+
tasks_sessions: {
|
|
125
|
+
// The status and its end stamp move together (a resume clears ended_at).
|
|
126
|
+
groups: [['status', 'ended_at']],
|
|
127
|
+
rules: {
|
|
128
|
+
status: {
|
|
129
|
+
kind: 'absorbing',
|
|
130
|
+
id: 'session.status.terminal',
|
|
131
|
+
states: ['ended', 'orphaned'],
|
|
132
|
+
leaveOps: SESSION_STATUS_LEAVE_OPS,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
},
|
|
111
136
|
// Audit rows are immutable once written (T12941, SA3), on both twins.
|
|
112
137
|
tasks_audit_log: { immutable: 'audit.immutable' },
|
|
113
138
|
audit_log: { immutable: 'audit.immutable' },
|
|
139
|
+
tasks_playbook_approvals: {
|
|
140
|
+
// A decision and its stamps move together (PB-1).
|
|
141
|
+
groups: [['status', 'approved_at', 'approver', 'reason']],
|
|
142
|
+
rules: {
|
|
143
|
+
// pending → approved | rejected once (T12944); no command reopens a
|
|
144
|
+
// decision. Two devices deciding differently resolve by LWW and record
|
|
145
|
+
// the divergent decision as a conflict.
|
|
146
|
+
status: {
|
|
147
|
+
kind: 'absorbing',
|
|
148
|
+
id: 'playbook.approval.once',
|
|
149
|
+
states: ['approved', 'rejected'],
|
|
150
|
+
leaveOps: [],
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
// The live writers (playbooks/src) write the bare twin; both sync (T12944).
|
|
155
|
+
playbook_approvals: {
|
|
156
|
+
// A decision and its stamps move together (PB-1).
|
|
157
|
+
groups: [['status', 'approved_at', 'approver', 'reason']],
|
|
158
|
+
rules: {
|
|
159
|
+
// pending → approved | rejected once (T12944); no command reopens a
|
|
160
|
+
// decision. Two devices deciding differently resolve by LWW and record
|
|
161
|
+
// the divergent decision as a conflict.
|
|
162
|
+
status: {
|
|
163
|
+
kind: 'absorbing',
|
|
164
|
+
id: 'playbook.approval.once',
|
|
165
|
+
states: ['approved', 'rejected'],
|
|
166
|
+
leaveOps: [],
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
},
|
|
114
170
|
decision_adr_links: {
|
|
115
171
|
// The revoke and its author move together, taken from the winning op.
|
|
116
172
|
groups: [['status', 'revoked_by']],
|
|
@@ -137,7 +193,7 @@ export function implementedMergeRuleIds() {
|
|
|
137
193
|
if (set.immutable !== undefined)
|
|
138
194
|
ids.push(set.immutable);
|
|
139
195
|
}
|
|
140
|
-
// One invariant may cover several tables or columns.
|
|
196
|
+
// One invariant may cover several tables (a twin pair) or columns.
|
|
141
197
|
return [...new Set(ids)].sort();
|
|
142
198
|
}
|
|
143
199
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../src/store/sync/merge/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,eAAe;IACf,cAAc;IACd,iBAAiB;CAClB,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,GAAG,eAAe;IAClB,cAAc;IACd,WAAW;CACZ,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../src/store/sync/merge/rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,11 @@ export interface TableMergeSpec {
|
|
|
122
122
|
* so its value is a function of the merged status and candidates alone,
|
|
123
123
|
* and converges.
|
|
124
124
|
*/
|
|
125
|
+
readonly coupled?: ReadonlyArray<{
|
|
126
|
+
readonly column: string;
|
|
127
|
+
readonly status: string;
|
|
128
|
+
readonly map: Readonly<Record<string, string>>;
|
|
129
|
+
}>;
|
|
125
130
|
/**
|
|
126
131
|
* The typed rule id when every row of the table is immutable once written
|
|
127
132
|
* (audit rows, T12941): an op that would change a live row's value is
|
|
@@ -129,11 +134,6 @@ export interface TableMergeSpec {
|
|
|
129
134
|
* re-delivery is a no-op. Inserts and deletes are unaffected.
|
|
130
135
|
*/
|
|
131
136
|
readonly immutable?: string;
|
|
132
|
-
readonly coupled?: ReadonlyArray<{
|
|
133
|
-
readonly column: string;
|
|
134
|
-
readonly status: string;
|
|
135
|
-
readonly map: Readonly<Record<string, string>>;
|
|
136
|
-
}>;
|
|
137
137
|
}
|
|
138
138
|
/** The transaction-level context an op is applied in. */
|
|
139
139
|
export interface MergeContext {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CACvD;AAED,4CAA4C;AAC5C,eAAO,MAAM,UAAU,EAAE,QAAsE,CAAC;AAEhG;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB;IACE;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD;IACE;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GACD;IACE;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GACD;IACE,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,CAAC;AAEN,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACjD,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD;;;;;;;OAOG;IACH
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,6 +152,11 @@ export interface PendingSecretRow {
|
|
|
152
152
|
readonly key: Readonly<Record<string, WireValue>>;
|
|
153
153
|
/** Every secret column's live wire value. */
|
|
154
154
|
readonly values: Readonly<Record<string, WireValue>>;
|
|
155
|
+
/**
|
|
156
|
+
* Other uids the row's live captures still carry (T13603): a held insert
|
|
157
|
+
* captured before a re-key keeps its old uid, so phase A seals under it too.
|
|
158
|
+
*/
|
|
159
|
+
readonly capturedUids: readonly string[];
|
|
155
160
|
}
|
|
156
161
|
/**
|
|
157
162
|
* The rows of {@link SEALED_SECRET_TABLES} with live captures, and each secret
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealer.d.ts","sourceRoot":"","sources":["../../../src/store/sync/sealer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sealer.d.ts","sourceRoot":"","sources":["../../../src/store/sync/sealer.ts"],"names":[],"mappings":"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"}
|
|
@@ -593,7 +593,11 @@ export function pendingSecretRows(db, scope) {
|
|
|
593
593
|
def.key.forEach((k, i) => {
|
|
594
594
|
key[k] = parts[i] ?? null;
|
|
595
595
|
});
|
|
596
|
-
|
|
596
|
+
const captured = ctx
|
|
597
|
+
.stmt(`SELECT DISTINCT uid FROM _sync_capture
|
|
598
|
+
WHERE state = 'live' AND tbl = ? AND rk = ? AND uid IS NOT NULL AND uid IS NOT ?`)
|
|
599
|
+
.all(c.tbl, c.rk, row.uid);
|
|
600
|
+
out.push({ table: c.tbl, uid: row.uid, key, values, capturedUids: captured.map((r) => r.uid) });
|
|
597
601
|
}
|
|
598
602
|
return out;
|
|
599
603
|
}
|