@nicia-ai/typegraph 0.46.0 → 0.46.1
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/backend/index.cjs +5 -5
- package/dist/backend/index.js +2 -2
- package/dist/backend/postgres/pglite-store.cjs +8 -8
- package/dist/backend/postgres/pglite-store.d.cts +2 -2
- package/dist/backend/postgres/pglite-store.d.ts +2 -2
- package/dist/backend/postgres/pglite-store.js +7 -7
- package/dist/backend/sqlite/local-store.cjs +8 -8
- package/dist/backend/sqlite/local-store.d.cts +2 -2
- package/dist/backend/sqlite/local-store.d.ts +2 -2
- package/dist/backend/sqlite/local-store.js +7 -7
- package/dist/{chunk-CNV4TXJG.js → chunk-2Z2Z3ZD6.js} +3 -3
- package/dist/{chunk-CNV4TXJG.js.map → chunk-2Z2Z3ZD6.js.map} +1 -1
- package/dist/{chunk-N3257XE6.cjs → chunk-65E3XWGF.cjs} +21 -21
- package/dist/{chunk-N3257XE6.cjs.map → chunk-65E3XWGF.cjs.map} +1 -1
- package/dist/{chunk-ONU3HIED.cjs → chunk-CMWHLBVN.cjs} +29 -29
- package/dist/{chunk-ONU3HIED.cjs.map → chunk-CMWHLBVN.cjs.map} +1 -1
- package/dist/{chunk-XNLIZYRZ.cjs → chunk-DTVWX77L.cjs} +56 -56
- package/dist/{chunk-XNLIZYRZ.cjs.map → chunk-DTVWX77L.cjs.map} +1 -1
- package/dist/{chunk-JIVMTW7W.js → chunk-GF3KXUTW.js} +4 -4
- package/dist/{chunk-JIVMTW7W.js.map → chunk-GF3KXUTW.js.map} +1 -1
- package/dist/{chunk-QWX5YA3K.js → chunk-L65OU2U3.js} +11 -9
- package/dist/chunk-L65OU2U3.js.map +1 -0
- package/dist/{chunk-QLRESYPU.js → chunk-LGHCOKTT.js} +5 -5
- package/dist/{chunk-QLRESYPU.js.map → chunk-LGHCOKTT.js.map} +1 -1
- package/dist/{chunk-WEVQJ5LH.js → chunk-M3WP7RQZ.js} +2 -2
- package/dist/chunk-M3WP7RQZ.js.map +1 -0
- package/dist/{chunk-Q7Q4WSLJ.cjs → chunk-MCLYU6BN.cjs} +6 -2
- package/dist/chunk-MCLYU6BN.cjs.map +1 -0
- package/dist/{chunk-RJS7DECT.js → chunk-MZLPX2R7.js} +3 -3
- package/dist/{chunk-RJS7DECT.js.map → chunk-MZLPX2R7.js.map} +1 -1
- package/dist/{chunk-NQ6BRJBE.js → chunk-NLI2AVEF.js} +3 -3
- package/dist/{chunk-NQ6BRJBE.js.map → chunk-NLI2AVEF.js.map} +1 -1
- package/dist/{chunk-XMQSEJCF.cjs → chunk-PF6F5NLJ.cjs} +20 -20
- package/dist/{chunk-XMQSEJCF.cjs.map → chunk-PF6F5NLJ.cjs.map} +1 -1
- package/dist/{chunk-XDF2UPEQ.cjs → chunk-PNTCATDE.cjs} +431 -421
- package/dist/chunk-PNTCATDE.cjs.map +1 -0
- package/dist/{chunk-7GT72YHH.cjs → chunk-PT7RIRIZ.cjs} +66 -64
- package/dist/chunk-PT7RIRIZ.cjs.map +1 -0
- package/dist/{chunk-TTAITEPJ.cjs → chunk-Q3G6A4I3.cjs} +2 -2
- package/dist/chunk-Q3G6A4I3.cjs.map +1 -0
- package/dist/{chunk-7Z5OR7KO.js → chunk-S6PW7VV5.js} +19 -9
- package/dist/chunk-S6PW7VV5.js.map +1 -0
- package/dist/{chunk-XQSCL77R.cjs → chunk-VLT6PEWR.cjs} +4 -4
- package/dist/{chunk-XQSCL77R.cjs.map → chunk-VLT6PEWR.cjs.map} +1 -1
- package/dist/{chunk-OH5E5KIO.js → chunk-WQZLUGVR.js} +6 -6
- package/dist/{chunk-OH5E5KIO.js.map → chunk-WQZLUGVR.js.map} +1 -1
- package/dist/{chunk-DLNROMQ7.js → chunk-XL7SLCXS.js} +6 -3
- package/dist/chunk-XL7SLCXS.js.map +1 -0
- package/dist/{chunk-XNSI2FJO.cjs → chunk-YBQOHKHN.cjs} +8 -8
- package/dist/{chunk-XNSI2FJO.cjs.map → chunk-YBQOHKHN.cjs.map} +1 -1
- package/dist/core/index.cjs +5 -5
- package/dist/core/index.js +1 -1
- package/dist/graph-merge/index.cjs +149 -149
- package/dist/graph-merge/index.d.cts +1 -1
- package/dist/graph-merge/index.d.ts +1 -1
- package/dist/graph-merge/index.js +8 -8
- package/dist/index.cjs +79 -79
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -9
- package/dist/interchange/index.cjs +34 -34
- package/dist/interchange/index.d.cts +1 -1
- package/dist/interchange/index.d.ts +1 -1
- package/dist/interchange/index.js +7 -7
- package/dist/profiler/index.d.cts +1 -1
- package/dist/profiler/index.d.ts +1 -1
- package/dist/provenance/index.cjs +16 -16
- package/dist/provenance/index.d.cts +1 -1
- package/dist/provenance/index.d.ts +1 -1
- package/dist/provenance/index.js +3 -3
- package/dist/schema/index.cjs +32 -32
- package/dist/schema/index.js +5 -5
- package/dist/{store-RwTJx8LX.d.cts → store-B0h6x7wo.d.cts} +12 -3
- package/dist/{store-DawaWWjJ.d.ts → store-ClQ-MZQS.d.ts} +12 -3
- package/package.json +3 -3
- package/dist/chunk-7GT72YHH.cjs.map +0 -1
- package/dist/chunk-7Z5OR7KO.js.map +0 -1
- package/dist/chunk-DLNROMQ7.js.map +0 -1
- package/dist/chunk-Q7Q4WSLJ.cjs.map +0 -1
- package/dist/chunk-QWX5YA3K.js.map +0 -1
- package/dist/chunk-TTAITEPJ.cjs.map +0 -1
- package/dist/chunk-WEVQJ5LH.js.map +0 -1
- package/dist/chunk-XDF2UPEQ.cjs.map +0 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPNTCATDE_cjs = require('../chunk-PNTCATDE.cjs');
|
|
4
4
|
require('../chunk-YAAM3M2S.cjs');
|
|
5
|
-
var
|
|
6
|
-
require('../chunk-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
var chunkCMWHLBVN_cjs = require('../chunk-CMWHLBVN.cjs');
|
|
6
|
+
require('../chunk-PT7RIRIZ.cjs');
|
|
7
|
+
var chunkQ3G6A4I3_cjs = require('../chunk-Q3G6A4I3.cjs');
|
|
8
|
+
var chunk65E3XWGF_cjs = require('../chunk-65E3XWGF.cjs');
|
|
9
9
|
var chunkNK5Q7UNE_cjs = require('../chunk-NK5Q7UNE.cjs');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var chunkDTVWX77L_cjs = require('../chunk-DTVWX77L.cjs');
|
|
11
|
+
var chunkPF6F5NLJ_cjs = require('../chunk-PF6F5NLJ.cjs');
|
|
12
12
|
var chunkPWLJ77UV_cjs = require('../chunk-PWLJ77UV.cjs');
|
|
13
13
|
require('../chunk-BSFJMMV3.cjs');
|
|
14
14
|
var chunkNFCVHQ5P_cjs = require('../chunk-NFCVHQ5P.cjs');
|
|
15
15
|
var chunkXBYVV3MP_cjs = require('../chunk-XBYVV3MP.cjs');
|
|
16
16
|
var chunkCXBHOOIQ_cjs = require('../chunk-CXBHOOIQ.cjs');
|
|
17
17
|
var chunkE4WNQBEF_cjs = require('../chunk-E4WNQBEF.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkMCLYU6BN_cjs = require('../chunk-MCLYU6BN.cjs');
|
|
19
19
|
require('../chunk-62ZP23AW.cjs');
|
|
20
20
|
require('../chunk-XCAGZAKP.cjs');
|
|
21
21
|
require('../chunk-U63GDNRC.cjs');
|
|
@@ -238,18 +238,18 @@ function endpointTuple(assertion) {
|
|
|
238
238
|
return [assertion.a.kind, assertion.a.id, assertion.b.kind, assertion.b.id];
|
|
239
239
|
}
|
|
240
240
|
function identityEndpointKey(assertion) {
|
|
241
|
-
return
|
|
241
|
+
return chunkDTVWX77L_cjs.encodeTupleKey(endpointTuple(assertion));
|
|
242
242
|
}
|
|
243
243
|
function identitySemanticKey(assertion) {
|
|
244
|
-
return
|
|
244
|
+
return chunkDTVWX77L_cjs.identityAssertionSemanticKey(
|
|
245
245
|
assertion.relation,
|
|
246
246
|
assertion.a,
|
|
247
247
|
assertion.b
|
|
248
248
|
);
|
|
249
249
|
}
|
|
250
250
|
function compareIdentitySurvivors(left, right) {
|
|
251
|
-
const byValidity =
|
|
252
|
-
return byValidity === 0 ?
|
|
251
|
+
const byValidity = chunkPF6F5NLJ_cjs.compareCodePoints(left.validFrom, right.validFrom);
|
|
252
|
+
return byValidity === 0 ? chunkPF6F5NLJ_cjs.compareCodePoints(left.id, right.id) : byValidity;
|
|
253
253
|
}
|
|
254
254
|
var DUPLICATE_IDENTITY_ASSERTION_DROP_REASON = "identity:duplicate-assertion";
|
|
255
255
|
var REDUNDANT_IDENTITY_ASSERTION_DROP_REASON = "identity:endpoints-collapsed";
|
|
@@ -279,7 +279,7 @@ function dedupeIdentityAssertions(assertions, committedIds) {
|
|
|
279
279
|
}
|
|
280
280
|
return {
|
|
281
281
|
survivors: [...survivorBySemantic.values()].toSorted(
|
|
282
|
-
(left, right) =>
|
|
282
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareCodePoints(identitySemanticKey(left), identitySemanticKey(right))
|
|
283
283
|
),
|
|
284
284
|
dropped
|
|
285
285
|
};
|
|
@@ -403,7 +403,7 @@ function planIdentityChanges(staging, storedIdentityRowsById) {
|
|
|
403
403
|
return {
|
|
404
404
|
assertions: deduped.survivors,
|
|
405
405
|
retractions: retractions.toSorted(
|
|
406
|
-
(left, right) =>
|
|
406
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareCodePoints(left.id, right.id)
|
|
407
407
|
),
|
|
408
408
|
dropped: [...deduped.dropped, ...retractionDropped]
|
|
409
409
|
};
|
|
@@ -445,7 +445,7 @@ function remapIdentityAssertionEndpoints(assertions, canonicalOf, retypeMap, sto
|
|
|
445
445
|
);
|
|
446
446
|
continue;
|
|
447
447
|
}
|
|
448
|
-
const [a, b] =
|
|
448
|
+
const [a, b] = chunkDTVWX77L_cjs.normalizeIdentityPair(remappedA, remappedB);
|
|
449
449
|
const result = { ...assertion, a, b };
|
|
450
450
|
const stored = storedRowsById.get(assertion.id);
|
|
451
451
|
if (stored !== void 0 && assertionTruthKey(stored) === assertionTruthKey(assertion) && assertionTruthKey(result) !== assertionTruthKey(assertion)) {
|
|
@@ -634,7 +634,7 @@ async function buildIdentityPeerProbe(target, probedIds, targetPeers, plan, prof
|
|
|
634
634
|
(group) => group.map((member) => mergeKey(member.kind, member.id))
|
|
635
635
|
)
|
|
636
636
|
]);
|
|
637
|
-
const ledger = (await relevantLedgerAssertions(target, memberKeys,
|
|
637
|
+
const ledger = (await relevantLedgerAssertions(target, memberKeys, chunkQ3G6A4I3_cjs.storeBackend(target))).filter(
|
|
638
638
|
(assertion) => !plannedDeletions.has(mergeKey(assertion.a.kind, assertion.a.id)) && !plannedDeletions.has(mergeKey(assertion.b.kind, assertion.b.id))
|
|
639
639
|
);
|
|
640
640
|
return {
|
|
@@ -655,7 +655,7 @@ async function buildIdentityPeerProbe(target, probedIds, targetPeers, plan, prof
|
|
|
655
655
|
};
|
|
656
656
|
}
|
|
657
657
|
async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions, txBackend) {
|
|
658
|
-
const classes = await
|
|
658
|
+
const classes = await chunkQ3G6A4I3_cjs.storeRuntime(target).structuralIdentityClasses(
|
|
659
659
|
seeds,
|
|
660
660
|
txBackend
|
|
661
661
|
);
|
|
@@ -663,7 +663,7 @@ async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions
|
|
|
663
663
|
const groups = [];
|
|
664
664
|
for (const seed of seeds) {
|
|
665
665
|
const key = mergeKey(seed.kind, seed.id);
|
|
666
|
-
const members = (classes.get(
|
|
666
|
+
const members = (classes.get(chunkDTVWX77L_cjs.identityReferenceKey(seed)) ?? [seed]).filter(
|
|
667
667
|
(member) => !plannedDeletions.has(mergeKey(member.kind, member.id))
|
|
668
668
|
);
|
|
669
669
|
groups.push(members);
|
|
@@ -672,7 +672,7 @@ async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions
|
|
|
672
672
|
return { fingerprints, groups };
|
|
673
673
|
}
|
|
674
674
|
async function relevantLedgerAssertions(target, memberKeys, backend) {
|
|
675
|
-
const current = await
|
|
675
|
+
const current = await chunkQ3G6A4I3_cjs.storeRuntime(target).identityAssertionsAtTarget(
|
|
676
676
|
backend,
|
|
677
677
|
"state"
|
|
678
678
|
);
|
|
@@ -683,7 +683,7 @@ async function relevantLedgerAssertions(target, memberKeys, backend) {
|
|
|
683
683
|
function differentLedgerFingerprint(assertions) {
|
|
684
684
|
return JSON.stringify(
|
|
685
685
|
assertions.filter((assertion) => assertion.relation === "different").map((assertion) => [assertion.id, ...endpointTuple(assertion)]).toSorted(
|
|
686
|
-
(left, right) =>
|
|
686
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(chunkDTVWX77L_cjs.encodeTupleKey(left), chunkDTVWX77L_cjs.encodeTupleKey(right))
|
|
687
687
|
)
|
|
688
688
|
);
|
|
689
689
|
}
|
|
@@ -745,7 +745,7 @@ async function assertPlannedIdentityIdsFresh(target, txBackend, plan) {
|
|
|
745
745
|
...plan.identityRetractions.map((retraction) => retraction.id)
|
|
746
746
|
];
|
|
747
747
|
if (plannedIds.length === 0) return;
|
|
748
|
-
const storedById = await
|
|
748
|
+
const storedById = await chunkQ3G6A4I3_cjs.storeRuntime(target).identityAssertionRowsByIds(
|
|
749
749
|
plannedIds,
|
|
750
750
|
txBackend
|
|
751
751
|
);
|
|
@@ -798,7 +798,7 @@ function affectedIdentityClassSeeds(plan, profile) {
|
|
|
798
798
|
return [...seedsByKey.values()];
|
|
799
799
|
}
|
|
800
800
|
async function assertMergedIdentityClassesConsistent(target, txBackend, plan) {
|
|
801
|
-
await
|
|
801
|
+
await chunkQ3G6A4I3_cjs.storeRuntime(target).assertIdentityClassesConsistentAtTarget(
|
|
802
802
|
txBackend,
|
|
803
803
|
affectedIdentityClassSeeds(plan, target.graph.identity?.sameIdAcrossKinds)
|
|
804
804
|
);
|
|
@@ -852,7 +852,7 @@ function translateIdentityCommitError(error) {
|
|
|
852
852
|
}
|
|
853
853
|
async function assertIdentityPeersStable(target, txBackend, probe, plan) {
|
|
854
854
|
if (probe === void 0) return;
|
|
855
|
-
const live = (await
|
|
855
|
+
const live = (await chunkQ3G6A4I3_cjs.storeRuntime(target).liveNodesSharingIds(probe.ids, txBackend)).filter((peer) => !probe.plannedDeletions.has(mergeKey(peer.kind, peer.id)));
|
|
856
856
|
const seedKindsById = /* @__PURE__ */ new Map();
|
|
857
857
|
for (const seed of probe.seeds) {
|
|
858
858
|
const kinds = seedKindsById.get(seed.id) ?? /* @__PURE__ */ new Set();
|
|
@@ -877,7 +877,7 @@ async function assertIdentityPeersStable(target, txBackend, probe, plan) {
|
|
|
877
877
|
probe.plannedDeletions,
|
|
878
878
|
txBackend
|
|
879
879
|
);
|
|
880
|
-
const drifted = [...probe.classFingerprints].filter(([key, fingerprint]) => liveFingerprints.get(key) !== fingerprint).map(([key]) => key).sort((left, right) =>
|
|
880
|
+
const drifted = [...probe.classFingerprints].filter(([key, fingerprint]) => liveFingerprints.get(key) !== fingerprint).map(([key]) => key).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
881
881
|
if (drifted.length > 0) {
|
|
882
882
|
throw new BaseVersionMismatchError(
|
|
883
883
|
`mergeIncremental() validated identity against the classes visible at planning, but the identity class of ${drifted.length} node(s) the plan folds on changed before the commit transaction. Committing the plan could contradict identity truth it never validated.`,
|
|
@@ -921,8 +921,8 @@ var ENUMERATION_PAGE_SIZE = 1e3;
|
|
|
921
921
|
var EXPLICIT_RETRACTION = { kind: "explicit" };
|
|
922
922
|
function validWindowOf(row) {
|
|
923
923
|
return {
|
|
924
|
-
validFrom:
|
|
925
|
-
validTo:
|
|
924
|
+
validFrom: chunkMCLYU6BN_cjs.canonicalizeDatabaseTimestamp(row.valid_from),
|
|
925
|
+
validTo: chunkMCLYU6BN_cjs.canonicalizeDatabaseTimestamp(row.valid_to)
|
|
926
926
|
};
|
|
927
927
|
}
|
|
928
928
|
function windowsDiffer(left, right) {
|
|
@@ -1034,7 +1034,7 @@ function diffNodeKind(kind, baseRows, forkRows) {
|
|
|
1034
1034
|
deleted.push({
|
|
1035
1035
|
id: baseRow.id,
|
|
1036
1036
|
kind,
|
|
1037
|
-
deletedAt: forkRow === void 0 ? void 0 :
|
|
1037
|
+
deletedAt: forkRow === void 0 ? void 0 : chunkMCLYU6BN_cjs.canonicalizeDatabaseTimestamp(forkRow.deleted_at)
|
|
1038
1038
|
});
|
|
1039
1039
|
}
|
|
1040
1040
|
}
|
|
@@ -1140,7 +1140,7 @@ async function classifyRetractions(forkStore, retracted, deletedNodes) {
|
|
|
1140
1140
|
deletion
|
|
1141
1141
|
])
|
|
1142
1142
|
);
|
|
1143
|
-
const forkRowsById = await
|
|
1143
|
+
const forkRowsById = await chunkQ3G6A4I3_cjs.storeRuntime(forkStore).identityAssertionRowsByIds(
|
|
1144
1144
|
retracted.map((assertion) => assertion.id)
|
|
1145
1145
|
);
|
|
1146
1146
|
return retracted.map((assertion) => ({
|
|
@@ -1153,15 +1153,15 @@ async function classifyRetractions(forkStore, retracted, deletedNodes) {
|
|
|
1153
1153
|
}));
|
|
1154
1154
|
}
|
|
1155
1155
|
function byId(left, right) {
|
|
1156
|
-
return
|
|
1156
|
+
return chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id);
|
|
1157
1157
|
}
|
|
1158
1158
|
async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
|
|
1159
1159
|
const graph = baseStore.graph;
|
|
1160
1160
|
const nodeKinds = chunkCXBHOOIQ_cjs.getNodeKinds(graph);
|
|
1161
1161
|
const edgeKinds = chunkCXBHOOIQ_cjs.getEdgeKinds(graph);
|
|
1162
1162
|
const [baseIdentity, forkIdentity] = await Promise.all([
|
|
1163
|
-
|
|
1164
|
-
|
|
1163
|
+
chunkQ3G6A4I3_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("state"),
|
|
1164
|
+
chunkQ3G6A4I3_cjs.storeRuntime(forkStore).readCurrentIdentityAssertions("state")
|
|
1165
1165
|
]);
|
|
1166
1166
|
const baseIdentityById = new Map(
|
|
1167
1167
|
baseIdentity.map((assertion) => [assertion.id, assertion])
|
|
@@ -1176,12 +1176,12 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
|
|
|
1176
1176
|
const forkNodeVersions = /* @__PURE__ */ new Map();
|
|
1177
1177
|
for (const kind of nodeKinds) {
|
|
1178
1178
|
const baseRows = await enumerateAllNodes(
|
|
1179
|
-
|
|
1179
|
+
chunkQ3G6A4I3_cjs.storeBackend(baseStore),
|
|
1180
1180
|
baseStore.graphId,
|
|
1181
1181
|
kind
|
|
1182
1182
|
);
|
|
1183
1183
|
const forkRows = await enumerateAllNodes(
|
|
1184
|
-
|
|
1184
|
+
chunkQ3G6A4I3_cjs.storeBackend(forkStore),
|
|
1185
1185
|
forkStore.graphId,
|
|
1186
1186
|
kind
|
|
1187
1187
|
);
|
|
@@ -1211,12 +1211,12 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
|
|
|
1211
1211
|
const forkEdgeSignatures = /* @__PURE__ */ new Map();
|
|
1212
1212
|
for (const kind of edgeKinds) {
|
|
1213
1213
|
const baseRows = await enumerateAllEdges(
|
|
1214
|
-
|
|
1214
|
+
chunkQ3G6A4I3_cjs.storeBackend(baseStore),
|
|
1215
1215
|
baseStore.graphId,
|
|
1216
1216
|
kind
|
|
1217
1217
|
);
|
|
1218
1218
|
const forkRows = await enumerateAllEdges(
|
|
1219
|
-
|
|
1219
|
+
chunkQ3G6A4I3_cjs.storeBackend(forkStore),
|
|
1220
1220
|
forkStore.graphId,
|
|
1221
1221
|
kind
|
|
1222
1222
|
);
|
|
@@ -1252,7 +1252,7 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
|
|
|
1252
1252
|
const retractedAssertions = baseIdentity.filter((assertion) => {
|
|
1253
1253
|
const fork = forkIdentityById.get(assertion.id);
|
|
1254
1254
|
return fork === void 0 || assertionTruthKey(fork) !== assertionTruthKey(assertion);
|
|
1255
|
-
}).toSorted((left, right) =>
|
|
1255
|
+
}).toSorted((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id));
|
|
1256
1256
|
const classifiedRetractions = await classifyRetractions(
|
|
1257
1257
|
forkStore,
|
|
1258
1258
|
retractedAssertions,
|
|
@@ -1283,7 +1283,7 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
|
|
|
1283
1283
|
new: forkIdentity.filter((assertion) => {
|
|
1284
1284
|
const base = baseIdentityById.get(assertion.id);
|
|
1285
1285
|
return base === void 0 || assertionTruthKey(base) !== assertionTruthKey(assertion);
|
|
1286
|
-
}).toSorted((left, right) =>
|
|
1286
|
+
}).toSorted((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)),
|
|
1287
1287
|
retracted: classifiedRetractions
|
|
1288
1288
|
},
|
|
1289
1289
|
forkNodeVersions,
|
|
@@ -1313,14 +1313,14 @@ async function readActiveSchemaVersion(backend, graphId) {
|
|
|
1313
1313
|
}
|
|
1314
1314
|
async function computeSchemaComponent(store) {
|
|
1315
1315
|
const version = await readActiveSchemaVersion(
|
|
1316
|
-
|
|
1316
|
+
chunkQ3G6A4I3_cjs.storeBackend(store),
|
|
1317
1317
|
store.graphId
|
|
1318
1318
|
);
|
|
1319
|
-
return
|
|
1319
|
+
return chunk65E3XWGF_cjs.computeSchemaHash(chunk65E3XWGF_cjs.serializeSchema(store.graph, version));
|
|
1320
1320
|
}
|
|
1321
1321
|
function byDigestEntry(left, right) {
|
|
1322
|
-
const byKind =
|
|
1323
|
-
return byKind === 0 ?
|
|
1322
|
+
const byKind = chunkPF6F5NLJ_cjs.compareStrings(left.kind, right.kind);
|
|
1323
|
+
return byKind === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id) : byKind;
|
|
1324
1324
|
}
|
|
1325
1325
|
var CONTENT_FINGERPRINT_BYTES = 16;
|
|
1326
1326
|
async function computeContentComponent(backend, graphId, graph, identityAssertions) {
|
|
@@ -1375,7 +1375,7 @@ async function computeBaseVersion(store) {
|
|
|
1375
1375
|
computeSchemaComponent(store),
|
|
1376
1376
|
store.revisionOriginNow(),
|
|
1377
1377
|
store.revisionNow(),
|
|
1378
|
-
readActiveSchemaVersion(
|
|
1378
|
+
readActiveSchemaVersion(chunkQ3G6A4I3_cjs.storeBackend(store), store.graphId)
|
|
1379
1379
|
]);
|
|
1380
1380
|
return asBaseVersion(
|
|
1381
1381
|
`${schemaComponent2}${SCHEMA_VERSION_TAG}${activeVersion}${TOKEN_SEPARATOR}${revisionComponent(origin, revision)}`
|
|
@@ -1390,9 +1390,9 @@ async function computeBaseVersion(store) {
|
|
|
1390
1390
|
);
|
|
1391
1391
|
}
|
|
1392
1392
|
async function computeStoreContentComponent(store) {
|
|
1393
|
-
const identityAssertions = await
|
|
1393
|
+
const identityAssertions = await chunkQ3G6A4I3_cjs.storeRuntime(store).readCurrentIdentityAssertions("state");
|
|
1394
1394
|
return computeContentComponent(
|
|
1395
|
-
|
|
1395
|
+
chunkQ3G6A4I3_cjs.storeBackend(store),
|
|
1396
1396
|
store.graphId,
|
|
1397
1397
|
store.graph,
|
|
1398
1398
|
identityAssertions
|
|
@@ -1434,7 +1434,7 @@ function cloneWorkingCopyStrategy(makeBackend) {
|
|
|
1434
1434
|
create: async (baseStore) => {
|
|
1435
1435
|
const backend = await makeBackend();
|
|
1436
1436
|
try {
|
|
1437
|
-
const [freshStore] = await
|
|
1437
|
+
const [freshStore] = await chunkPNTCATDE_cjs.createStoreWithSchema(
|
|
1438
1438
|
baseStore.graph,
|
|
1439
1439
|
backend,
|
|
1440
1440
|
{
|
|
@@ -1456,15 +1456,15 @@ function cloneWorkingCopyStrategy(makeBackend) {
|
|
|
1456
1456
|
batchSize: CLONE_IMPORT_BATCH_SIZE
|
|
1457
1457
|
};
|
|
1458
1458
|
const result = chunkXBYVV3MP_cjs.snapshotExportContention(
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
) === void 0 ? await
|
|
1459
|
+
chunkQ3G6A4I3_cjs.storeBackend(baseStore),
|
|
1460
|
+
chunkQ3G6A4I3_cjs.storeBackend(freshStore)
|
|
1461
|
+
) === void 0 ? await chunkCMWHLBVN_cjs.importGraphStream(
|
|
1462
1462
|
freshStore,
|
|
1463
|
-
|
|
1463
|
+
chunkCMWHLBVN_cjs.exportGraphStream(baseStore, exportOptions),
|
|
1464
1464
|
importOptions
|
|
1465
|
-
) : await
|
|
1465
|
+
) : await chunkCMWHLBVN_cjs.importGraph(
|
|
1466
1466
|
freshStore,
|
|
1467
|
-
await
|
|
1467
|
+
await chunkCMWHLBVN_cjs.exportGraph(baseStore, exportOptions),
|
|
1468
1468
|
importOptions
|
|
1469
1469
|
);
|
|
1470
1470
|
if (!result.success) {
|
|
@@ -1489,7 +1489,7 @@ function cloneWorkingCopyStrategy(makeBackend) {
|
|
|
1489
1489
|
async function branch(baseStore, makeBackend, options, strategy) {
|
|
1490
1490
|
try {
|
|
1491
1491
|
const base = await computeBaseVersion(baseStore);
|
|
1492
|
-
const id = options?.id ?? asBranchId(
|
|
1492
|
+
const id = options?.id ?? asBranchId(chunkPF6F5NLJ_cjs.generateId());
|
|
1493
1493
|
const workingCopyStrategy = strategy ?? cloneWorkingCopyStrategy(makeBackend);
|
|
1494
1494
|
const store = await workingCopyStrategy.create(baseStore);
|
|
1495
1495
|
const schemaAnchor = await readSchemaAnchor(store);
|
|
@@ -1509,11 +1509,11 @@ async function branch(baseStore, makeBackend, options, strategy) {
|
|
|
1509
1509
|
}
|
|
1510
1510
|
async function readSchemaAnchor(store) {
|
|
1511
1511
|
try {
|
|
1512
|
-
const schemaRow = await
|
|
1512
|
+
const schemaRow = await chunkQ3G6A4I3_cjs.storeBackend(store).getActiveSchema(store.graphId);
|
|
1513
1513
|
return schemaRow === void 0 ? void 0 : { version: schemaRow.version, hash: schemaRow.schema_hash };
|
|
1514
1514
|
} catch (error) {
|
|
1515
1515
|
try {
|
|
1516
|
-
await
|
|
1516
|
+
await chunkQ3G6A4I3_cjs.storeBackend(store).close();
|
|
1517
1517
|
} catch {
|
|
1518
1518
|
}
|
|
1519
1519
|
throw error;
|
|
@@ -1573,12 +1573,12 @@ function blockNodes(newNodes, resolveConfig, uniqueConstraints = []) {
|
|
|
1573
1573
|
}
|
|
1574
1574
|
}
|
|
1575
1575
|
const sortedKeys = [...buckets.keys()].sort(
|
|
1576
|
-
(left, right) =>
|
|
1576
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
1577
1577
|
);
|
|
1578
1578
|
const ordered = /* @__PURE__ */ new Map();
|
|
1579
1579
|
for (const key of sortedKeys) {
|
|
1580
1580
|
const members = [...chunkN66HCGCY_cjs.requireDefined(buckets.get(key))].sort(
|
|
1581
|
-
(left, right) =>
|
|
1581
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
1582
1582
|
);
|
|
1583
1583
|
ordered.set(key, members);
|
|
1584
1584
|
}
|
|
@@ -1595,7 +1595,7 @@ function buildBranchRank(branchOrder, allBranchIds) {
|
|
|
1595
1595
|
next += 1;
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
|
-
const remaining = allBranchIds.filter((branchId) => !rank.has(branchId)).sort((left, right) =>
|
|
1598
|
+
const remaining = allBranchIds.filter((branchId) => !rank.has(branchId)).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
1599
1599
|
for (const branchId of remaining) {
|
|
1600
1600
|
if (!rank.has(branchId)) {
|
|
1601
1601
|
rank.set(branchId, next);
|
|
@@ -1667,8 +1667,8 @@ function collectConflictingValues(property, contributions) {
|
|
|
1667
1667
|
values.push({ branchId, value });
|
|
1668
1668
|
}
|
|
1669
1669
|
return [...values].sort((left, right) => {
|
|
1670
|
-
const byBranch =
|
|
1671
|
-
return byBranch === 0 ?
|
|
1670
|
+
const byBranch = chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId);
|
|
1671
|
+
return byBranch === 0 ? chunkPF6F5NLJ_cjs.compareStrings(
|
|
1672
1672
|
canonicalValueKey(left.value),
|
|
1673
1673
|
canonicalValueKey(right.value)
|
|
1674
1674
|
) : byBranch;
|
|
@@ -1798,7 +1798,7 @@ function unionProperties(canonicalMember, members, context, baseContext, branchR
|
|
|
1798
1798
|
const props = chunkN66HCGCY_cjs.createDataKeyedBag();
|
|
1799
1799
|
const conflicts = [];
|
|
1800
1800
|
for (const property of [...propertyNames].sort(
|
|
1801
|
-
(left, right) =>
|
|
1801
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
1802
1802
|
)) {
|
|
1803
1803
|
const values = collectConflictingValues(property, members);
|
|
1804
1804
|
if (values.length === 0) {
|
|
@@ -1863,14 +1863,14 @@ function canonicalizeCluster(cluster, members, policy, branchRank, weights, cano
|
|
|
1863
1863
|
);
|
|
1864
1864
|
const memberIds = [
|
|
1865
1865
|
...new Set(cluster.members.map((member) => idOf(member)))
|
|
1866
|
-
].sort((left, right) =>
|
|
1866
|
+
].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
1867
1867
|
const branchOrigins = [
|
|
1868
1868
|
...new Set(
|
|
1869
1869
|
members.map((member) => member.branchId).filter(
|
|
1870
1870
|
(branchId) => branchId !== BASE_PROVENANCE_BRANCH && branchId !== preferredBranchId
|
|
1871
1871
|
)
|
|
1872
1872
|
)
|
|
1873
|
-
].sort((left, right) =>
|
|
1873
|
+
].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
1874
1874
|
const resolution = {
|
|
1875
1875
|
canonicalId,
|
|
1876
1876
|
memberIds,
|
|
@@ -1898,7 +1898,7 @@ var EQUIVALENCE_META_EDGES = /* @__PURE__ */ new Set([
|
|
|
1898
1898
|
chunkXUO3KQFO_cjs.META_EDGE_SAME_AS
|
|
1899
1899
|
]);
|
|
1900
1900
|
function buildSubClassClosure(ontology) {
|
|
1901
|
-
const unionFind = new UnionFind(
|
|
1901
|
+
const unionFind = new UnionFind(chunkPF6F5NLJ_cjs.compareStrings);
|
|
1902
1902
|
for (const relation of ontology) {
|
|
1903
1903
|
unionFind.add(relation.from);
|
|
1904
1904
|
unionFind.add(relation.to);
|
|
@@ -2470,7 +2470,7 @@ function pickHighestPriorityBranch(branchIds, branchRank) {
|
|
|
2470
2470
|
let chosenRank = branchRank.get(chosen) ?? Number.MAX_SAFE_INTEGER;
|
|
2471
2471
|
for (const candidate of branchIds.slice(1)) {
|
|
2472
2472
|
const candidateRank = branchRank.get(candidate) ?? Number.MAX_SAFE_INTEGER;
|
|
2473
|
-
if (candidateRank < chosenRank || candidateRank === chosenRank &&
|
|
2473
|
+
if (candidateRank < chosenRank || candidateRank === chosenRank && chunkPF6F5NLJ_cjs.compareStrings(candidate, chosen) < 0) {
|
|
2474
2474
|
chosen = candidate;
|
|
2475
2475
|
chosenRank = candidateRank;
|
|
2476
2476
|
}
|
|
@@ -2563,20 +2563,20 @@ function resolveDeleteModifyOver(modified, deleted, modifiedEntity, deletedEntit
|
|
|
2563
2563
|
}
|
|
2564
2564
|
return {
|
|
2565
2565
|
survivingModifications: [...survivingModifications].sort((left, right) => {
|
|
2566
|
-
const byId2 =
|
|
2566
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(
|
|
2567
2567
|
modifiedEntity(left).id,
|
|
2568
2568
|
modifiedEntity(right).id
|
|
2569
2569
|
);
|
|
2570
|
-
return byId2 === 0 ?
|
|
2570
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
2571
2571
|
}),
|
|
2572
2572
|
deletions: [...deletions].sort(
|
|
2573
|
-
(left, right) =>
|
|
2573
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
2574
2574
|
),
|
|
2575
2575
|
conflicts: [...conflicts].sort(
|
|
2576
|
-
(left, right) =>
|
|
2576
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.entityId, right.entityId)
|
|
2577
2577
|
),
|
|
2578
2578
|
dropped: [...dropped].sort(
|
|
2579
|
-
(left, right) =>
|
|
2579
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
2580
2580
|
)
|
|
2581
2581
|
};
|
|
2582
2582
|
}
|
|
@@ -2620,11 +2620,11 @@ function reconcileOver(survivingModifications, entityOf, rebuild, policy, branch
|
|
|
2620
2620
|
}
|
|
2621
2621
|
return {
|
|
2622
2622
|
survivingModifications: [...out].sort((left, right) => {
|
|
2623
|
-
const byId2 =
|
|
2624
|
-
return byId2 === 0 ?
|
|
2623
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(entityOf(left).id, entityOf(right).id);
|
|
2624
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
2625
2625
|
}),
|
|
2626
2626
|
conflicts: conflicts.sort(
|
|
2627
|
-
(left, right) =>
|
|
2627
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(
|
|
2628
2628
|
`${left.entityId}|${left.property}`,
|
|
2629
2629
|
`${right.entityId}|${right.property}`
|
|
2630
2630
|
)
|
|
@@ -2658,7 +2658,7 @@ function threeWayMergeProps(entityId, kind, baseProps, contributions, context, b
|
|
|
2658
2658
|
propertyNames.add(name);
|
|
2659
2659
|
}
|
|
2660
2660
|
}
|
|
2661
|
-
for (const property of [...propertyNames].sort(
|
|
2661
|
+
for (const property of [...propertyNames].sort(chunkPF6F5NLJ_cjs.compareStrings)) {
|
|
2662
2662
|
const baseHas = chunkN66HCGCY_cjs.hasOwnKey(baseProps, property);
|
|
2663
2663
|
const baseKey = baseHas ? canonicalValueKey(chunkN66HCGCY_cjs.requireDefined(baseProps[property])) : void 0;
|
|
2664
2664
|
const changed = contributions.filter((contribution) => {
|
|
@@ -2757,7 +2757,7 @@ var WINDOW_NOT_APPLICABLE_DROP_REASON = "window-not-applicable";
|
|
|
2757
2757
|
function earliestEnd(claims) {
|
|
2758
2758
|
let earliest;
|
|
2759
2759
|
for (const claim of claims) {
|
|
2760
|
-
if (earliest === void 0 ||
|
|
2760
|
+
if (earliest === void 0 || chunkPF6F5NLJ_cjs.compareStrings(claim.validTo, earliest) < 0) {
|
|
2761
2761
|
earliest = claim.validTo;
|
|
2762
2762
|
}
|
|
2763
2763
|
}
|
|
@@ -2771,7 +2771,7 @@ function resolveEndClaims(claims, preferredBranchId) {
|
|
|
2771
2771
|
}
|
|
2772
2772
|
function claimingBranches(claims) {
|
|
2773
2773
|
return [...new Set(claims.map((claim) => claim.branchId))].sort(
|
|
2774
|
-
(left, right) =>
|
|
2774
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
2775
2775
|
);
|
|
2776
2776
|
}
|
|
2777
2777
|
function classifyDelta(base, fork) {
|
|
@@ -2860,7 +2860,7 @@ function resolvePopulation(entity, deltas, deletions, preferredBranchId, dropIte
|
|
|
2860
2860
|
mergeKey(right.kind, right.id)
|
|
2861
2861
|
)
|
|
2862
2862
|
),
|
|
2863
|
-
dropped: dropped.sort((left, right) =>
|
|
2863
|
+
dropped: dropped.sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id))
|
|
2864
2864
|
};
|
|
2865
2865
|
}
|
|
2866
2866
|
function resolveValidWindows(staging, nodeDeletions, edgeDeletions, preferredBranchId) {
|
|
@@ -2949,7 +2949,7 @@ function rowsById(groupEdges) {
|
|
|
2949
2949
|
function sourcePairByRow(rows) {
|
|
2950
2950
|
const pairs = /* @__PURE__ */ new Map();
|
|
2951
2951
|
for (const [id, members] of rows) {
|
|
2952
|
-
const sorted = members.map((member) => member.sourcePair).sort((left, right) =>
|
|
2952
|
+
const sorted = members.map((member) => member.sourcePair).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
2953
2953
|
pairs.set(id, chunkN66HCGCY_cjs.requireDefined(sorted[0]));
|
|
2954
2954
|
}
|
|
2955
2955
|
return pairs;
|
|
@@ -2960,14 +2960,14 @@ function foldSets(groupEdges) {
|
|
|
2960
2960
|
const representatives = /* @__PURE__ */ new Map();
|
|
2961
2961
|
for (const [id, pair] of sourcePairs) {
|
|
2962
2962
|
const representative = representatives.get(pair);
|
|
2963
|
-
if (representative === void 0 ||
|
|
2963
|
+
if (representative === void 0 || chunkPF6F5NLJ_cjs.compareStrings(id, representative) < 0) {
|
|
2964
2964
|
representatives.set(pair, id);
|
|
2965
2965
|
}
|
|
2966
2966
|
}
|
|
2967
2967
|
const collapsed = [];
|
|
2968
2968
|
const parallel = [];
|
|
2969
2969
|
for (const id of [...rows.keys()].sort(
|
|
2970
|
-
(left, right) =>
|
|
2970
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
2971
2971
|
)) {
|
|
2972
2972
|
const members = chunkN66HCGCY_cjs.requireDefined(rows.get(id));
|
|
2973
2973
|
const pair = chunkN66HCGCY_cjs.requireDefined(sourcePairs.get(id));
|
|
@@ -2980,7 +2980,7 @@ function foldSets(groupEdges) {
|
|
|
2980
2980
|
return [collapsed, ...parallel];
|
|
2981
2981
|
}
|
|
2982
2982
|
function compareMembers(left, right, preferredBranchId) {
|
|
2983
|
-
const byId2 =
|
|
2983
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.staged.id, right.staged.id);
|
|
2984
2984
|
if (byId2 !== 0) {
|
|
2985
2985
|
return byId2;
|
|
2986
2986
|
}
|
|
@@ -2989,7 +2989,7 @@ function compareMembers(left, right, preferredBranchId) {
|
|
|
2989
2989
|
if (leftPreferred !== rightPreferred) {
|
|
2990
2990
|
return leftPreferred ? -1 : 1;
|
|
2991
2991
|
}
|
|
2992
|
-
return
|
|
2992
|
+
return chunkPF6F5NLJ_cjs.compareStrings(left.staged.branchId, right.staged.branchId);
|
|
2993
2993
|
}
|
|
2994
2994
|
function pickSurvivor(edges, preferredBranchId) {
|
|
2995
2995
|
const inherited = edges.filter(
|
|
@@ -3015,8 +3015,8 @@ function authoredProperty(edge, property) {
|
|
|
3015
3015
|
}
|
|
3016
3016
|
function unauthoredValue(property, edges) {
|
|
3017
3017
|
const carriers = edges.filter((edge) => chunkN66HCGCY_cjs.hasOwnKey(edge.staged.props, property)).sort((left, right) => {
|
|
3018
|
-
const byId2 =
|
|
3019
|
-
return byId2 === 0 ?
|
|
3018
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.staged.id, right.staged.id);
|
|
3019
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(
|
|
3020
3020
|
canonicalValueKey(left.staged.props[property]),
|
|
3021
3021
|
canonicalValueKey(right.staged.props[property])
|
|
3022
3022
|
) : byId2;
|
|
@@ -3033,7 +3033,7 @@ function unionEdgeProps(survivorId, kind, survivor, edges, context, branchRank,
|
|
|
3033
3033
|
const props = chunkN66HCGCY_cjs.createDataKeyedBag();
|
|
3034
3034
|
const conflicts = [];
|
|
3035
3035
|
for (const property of [...propertyNames].sort(
|
|
3036
|
-
(left, right) =>
|
|
3036
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
3037
3037
|
)) {
|
|
3038
3038
|
const claimants = edges.filter((edge) => authoredProperty(edge, property)).map((edge) => edge.staged);
|
|
3039
3039
|
const values = collectConflictingValues(property, claimants);
|
|
@@ -3066,7 +3066,7 @@ function unionEdgeProps(survivorId, kind, survivor, edges, context, branchRank,
|
|
|
3066
3066
|
function foldEdgeSet(foldSet, context, branchRank, preferredBranchId) {
|
|
3067
3067
|
const survivor = pickSurvivor(foldSet, preferredBranchId);
|
|
3068
3068
|
const survivorId = survivor.staged.id;
|
|
3069
|
-
const mergedIds = foldSet.map((edge) => edge.staged.id).sort((left, right) =>
|
|
3069
|
+
const mergedIds = foldSet.map((edge) => edge.staged.id).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
3070
3070
|
const fromId = idOf(survivor.fromKey);
|
|
3071
3071
|
const fromKind = kindOf(survivor.fromKey);
|
|
3072
3072
|
const toId = idOf(survivor.toKey);
|
|
@@ -3162,7 +3162,7 @@ function repointEdges(stagedEdges, canonicalOf, deletedNodeIds, policy, branchRa
|
|
|
3162
3162
|
const merged = [];
|
|
3163
3163
|
const conflicts = [];
|
|
3164
3164
|
const sortedGroups = [...liveByGroup.keys()].sort(
|
|
3165
|
-
(left, right) =>
|
|
3165
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
3166
3166
|
);
|
|
3167
3167
|
for (const group of sortedGroups) {
|
|
3168
3168
|
const groupEdges = chunkN66HCGCY_cjs.requireDefined(liveByGroup.get(group));
|
|
@@ -3190,12 +3190,12 @@ function repointEdges(stagedEdges, canonicalOf, deletedNodeIds, policy, branchRa
|
|
|
3190
3190
|
),
|
|
3191
3191
|
edge.id
|
|
3192
3192
|
])
|
|
3193
|
-
})).sort((left, right) =>
|
|
3193
|
+
})).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.sortKey, right.sortKey)).map(({ edge }) => edge);
|
|
3194
3194
|
return {
|
|
3195
3195
|
edges: sortedEdges,
|
|
3196
|
-
dropped: dropped.sort((left, right) =>
|
|
3196
|
+
dropped: dropped.sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)),
|
|
3197
3197
|
conflicts: conflicts.sort(
|
|
3198
|
-
(left, right) =>
|
|
3198
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(
|
|
3199
3199
|
`${left.entityId}|${left.property}`,
|
|
3200
3200
|
`${right.entityId}|${right.property}`
|
|
3201
3201
|
)
|
|
@@ -3367,7 +3367,7 @@ function buildProvenanceGraph(targetGraphId) {
|
|
|
3367
3367
|
});
|
|
3368
3368
|
}
|
|
3369
3369
|
async function openProvenanceStore(...args) {
|
|
3370
|
-
const [backend, targetGraphId] = args.length === 1 ? [
|
|
3370
|
+
const [backend, targetGraphId] = args.length === 1 ? [chunkQ3G6A4I3_cjs.storeBackend(args[0]), args[0].graphId] : args;
|
|
3371
3371
|
const graph = buildOwnedProvenanceGraph(targetGraphId);
|
|
3372
3372
|
const preflight = await inspectSidecarGraphId(backend, graph, targetGraphId);
|
|
3373
3373
|
if (preflight.state === "refuse") {
|
|
@@ -3379,7 +3379,7 @@ async function openProvenanceStore(...args) {
|
|
|
3379
3379
|
throw provenanceGraphIdCollision(graph.id, targetGraphId, claim.reason);
|
|
3380
3380
|
}
|
|
3381
3381
|
}
|
|
3382
|
-
const [store] = await
|
|
3382
|
+
const [store] = await chunkPNTCATDE_cjs.createStoreWithSchema(graph, backend);
|
|
3383
3383
|
return store;
|
|
3384
3384
|
}
|
|
3385
3385
|
async function claimSidecarOwnership(backend, graph, targetGraphId) {
|
|
@@ -3428,14 +3428,14 @@ async function inspectSidecarGraphId(port, graph, targetGraphId) {
|
|
|
3428
3428
|
if (activeSchema === void 0) {
|
|
3429
3429
|
return { state: "refuse", reason: "application-graph" };
|
|
3430
3430
|
}
|
|
3431
|
-
const ownedHash = await
|
|
3432
|
-
|
|
3431
|
+
const ownedHash = await chunk65E3XWGF_cjs.computeSchemaHash(
|
|
3432
|
+
chunk65E3XWGF_cjs.serializeSchema(graph, activeSchema.version)
|
|
3433
3433
|
);
|
|
3434
3434
|
if (activeSchema.schema_hash === ownedHash) {
|
|
3435
3435
|
return { state: "refuse", reason: "unowned-exact-schema-graph" };
|
|
3436
3436
|
}
|
|
3437
|
-
const legacyHash = await
|
|
3438
|
-
|
|
3437
|
+
const legacyHash = await chunk65E3XWGF_cjs.computeSchemaHash(
|
|
3438
|
+
chunk65E3XWGF_cjs.serializeSchema(buildProvenanceGraph(targetGraphId), activeSchema.version)
|
|
3439
3439
|
);
|
|
3440
3440
|
if (activeSchema.schema_hash !== legacyHash) {
|
|
3441
3441
|
return { state: "refuse", reason: "application-graph" };
|
|
@@ -3627,7 +3627,7 @@ function contributionKey(record) {
|
|
|
3627
3627
|
]);
|
|
3628
3628
|
}
|
|
3629
3629
|
function encodeProvenanceTuple(values) {
|
|
3630
|
-
return values.some((value) => value.includes(ID_SEPARATOR)) ?
|
|
3630
|
+
return values.some((value) => value.includes(ID_SEPARATOR)) ? chunkDTVWX77L_cjs.encodeTupleKey(values) : values.join(ID_SEPARATOR);
|
|
3631
3631
|
}
|
|
3632
3632
|
async function provenanceNodeId(targetGraphId, record) {
|
|
3633
3633
|
const tuple = encodeProvenanceTuple([
|
|
@@ -3670,7 +3670,7 @@ async function readProvenance(store, query = {}) {
|
|
|
3670
3670
|
const all = await store.nodes.Provenance.find();
|
|
3671
3671
|
return all.filter(
|
|
3672
3672
|
(node) => (query.branchId === void 0 || node.branchId === query.branchId) && (query.canonicalId === void 0 || node.canonicalId === query.canonicalId) && (query.role === void 0 || node.role === query.role)
|
|
3673
|
-
).sort((left, right) =>
|
|
3673
|
+
).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id));
|
|
3674
3674
|
}
|
|
3675
3675
|
|
|
3676
3676
|
// src/graph-merge/sources.ts
|
|
@@ -3680,10 +3680,10 @@ function orderEndpoints(left, right) {
|
|
|
3680
3680
|
return compareMergeKeys(leftKey, rightKey) <= 0 ? { a: leftKey, b: rightKey, left, right } : { a: rightKey, b: leftKey, left: right, right: left };
|
|
3681
3681
|
}
|
|
3682
3682
|
function sortMembersById(members) {
|
|
3683
|
-
return [...members].sort((left, right) =>
|
|
3683
|
+
return [...members].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id));
|
|
3684
3684
|
}
|
|
3685
3685
|
function sortedBucketKeys(blocks) {
|
|
3686
|
-
return [...blocks.keys()].sort((left, right) =>
|
|
3686
|
+
return [...blocks.keys()].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
3687
3687
|
}
|
|
3688
3688
|
var NODE_SYSTEM_FIELDS = /* @__PURE__ */ new Set(["id", "kind", "meta"]);
|
|
3689
3689
|
function nodeProps(node) {
|
|
@@ -3711,7 +3711,7 @@ function windowedPairs(members, config) {
|
|
|
3711
3711
|
key: fieldText(node, config.sortFields)
|
|
3712
3712
|
}));
|
|
3713
3713
|
keyed.sort(
|
|
3714
|
-
(left, right) => left.key === right.key ?
|
|
3714
|
+
(left, right) => left.key === right.key ? chunkPF6F5NLJ_cjs.compareStrings(left.node.id, right.node.id) : chunkPF6F5NLJ_cjs.compareStrings(left.key, right.key)
|
|
3715
3715
|
);
|
|
3716
3716
|
const pairs = [];
|
|
3717
3717
|
for (let index = 0; index < keyed.length; index += 1) {
|
|
@@ -3782,7 +3782,7 @@ function ontologyRetypeEdges(stagedIdentities, isRetypeCompatible) {
|
|
|
3782
3782
|
}
|
|
3783
3783
|
}
|
|
3784
3784
|
const edges = [];
|
|
3785
|
-
for (const id of [...identitiesById.keys()].sort(
|
|
3785
|
+
for (const id of [...identitiesById.keys()].sort(chunkPF6F5NLJ_cjs.compareStrings)) {
|
|
3786
3786
|
const identities = [...new Set(identitiesById.get(id))].sort(
|
|
3787
3787
|
compareMergeKeys
|
|
3788
3788
|
);
|
|
@@ -3877,7 +3877,7 @@ var baseUniqueSource = {
|
|
|
3877
3877
|
const forcedEdges = [];
|
|
3878
3878
|
const baseMembers = /* @__PURE__ */ new Map();
|
|
3879
3879
|
const constraints = [...uniqueConstraints].sort(
|
|
3880
|
-
(left, right) =>
|
|
3880
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.name, right.name)
|
|
3881
3881
|
);
|
|
3882
3882
|
const items = nodes.map((node) => ({ props: nodeProps(node) }));
|
|
3883
3883
|
const matchesByConstraint = await Promise.all(
|
|
@@ -3920,7 +3920,7 @@ var baseUniqueSource = {
|
|
|
3920
3920
|
pairs: [],
|
|
3921
3921
|
forcedEdges,
|
|
3922
3922
|
baseMembers: [...baseMembers.values()].sort(
|
|
3923
|
-
(left, right) =>
|
|
3923
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
3924
3924
|
)
|
|
3925
3925
|
};
|
|
3926
3926
|
}
|
|
@@ -3977,7 +3977,7 @@ var baseKeySource = {
|
|
|
3977
3977
|
pairs,
|
|
3978
3978
|
forcedEdges: [],
|
|
3979
3979
|
baseMembers: [...baseMembers.values()].sort(
|
|
3980
|
-
(left, right) =>
|
|
3980
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
3981
3981
|
)
|
|
3982
3982
|
};
|
|
3983
3983
|
}
|
|
@@ -3989,16 +3989,16 @@ var CANDIDATE_SOURCES = [
|
|
|
3989
3989
|
|
|
3990
3990
|
// src/graph-merge/staging.ts
|
|
3991
3991
|
function compareByIdThenBranch(left, right) {
|
|
3992
|
-
const byId2 =
|
|
3993
|
-
return byId2 === 0 ?
|
|
3992
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id);
|
|
3993
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
3994
3994
|
}
|
|
3995
3995
|
function compareByKindIdBranch(left, right) {
|
|
3996
|
-
const byKind =
|
|
3996
|
+
const byKind = chunkPF6F5NLJ_cjs.compareStrings(left.kind, right.kind);
|
|
3997
3997
|
if (byKind !== 0) {
|
|
3998
3998
|
return byKind;
|
|
3999
3999
|
}
|
|
4000
|
-
const byId2 =
|
|
4001
|
-
return byId2 === 0 ?
|
|
4000
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id);
|
|
4001
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
4002
4002
|
}
|
|
4003
4003
|
function groupByKind(items) {
|
|
4004
4004
|
const buckets = /* @__PURE__ */ new Map();
|
|
@@ -4012,7 +4012,7 @@ function groupByKind(items) {
|
|
|
4012
4012
|
}
|
|
4013
4013
|
const ordered = /* @__PURE__ */ new Map();
|
|
4014
4014
|
for (const kind of [...buckets.keys()].sort(
|
|
4015
|
-
(left, right) =>
|
|
4015
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
4016
4016
|
)) {
|
|
4017
4017
|
ordered.set(
|
|
4018
4018
|
kind,
|
|
@@ -4034,7 +4034,7 @@ async function stageBranches(baseStore, branches, captureTargetStateFor) {
|
|
|
4034
4034
|
const windowedEdges = [];
|
|
4035
4035
|
const newIdentityAssertions = [];
|
|
4036
4036
|
const retractedIdentityAssertions = [];
|
|
4037
|
-
const baseIdentityAssertions = await
|
|
4037
|
+
const baseIdentityAssertions = await chunkQ3G6A4I3_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("state");
|
|
4038
4038
|
let targetNodeVersions = /* @__PURE__ */ new Map();
|
|
4039
4039
|
let targetEdgeSignatures = /* @__PURE__ */ new Map();
|
|
4040
4040
|
for (const branch2 of branches) {
|
|
@@ -4105,17 +4105,17 @@ async function stageBranches(baseStore, branches, captureTargetStateFor) {
|
|
|
4105
4105
|
(left, right) => compareByKindIdBranch(left, right)
|
|
4106
4106
|
),
|
|
4107
4107
|
newIdentityAssertions: newIdentityAssertions.toSorted((left, right) => {
|
|
4108
|
-
const byId2 =
|
|
4109
|
-
return byId2 === 0 ?
|
|
4108
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.assertion.id, right.assertion.id);
|
|
4109
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
4110
4110
|
}),
|
|
4111
4111
|
retractedIdentityAssertions: retractedIdentityAssertions.toSorted(
|
|
4112
4112
|
(left, right) => {
|
|
4113
|
-
const byId2 =
|
|
4114
|
-
return byId2 === 0 ?
|
|
4113
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.assertion.id, right.assertion.id);
|
|
4114
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
4115
4115
|
}
|
|
4116
4116
|
),
|
|
4117
4117
|
baseIdentityAssertions: baseIdentityAssertions.toSorted(
|
|
4118
|
-
(left, right) =>
|
|
4118
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id)
|
|
4119
4119
|
),
|
|
4120
4120
|
targetNodeVersions,
|
|
4121
4121
|
targetEdgeSignatures
|
|
@@ -4167,7 +4167,7 @@ async function withTxConflictRetry(commit) {
|
|
|
4167
4167
|
// src/graph-merge/type-reconcile.ts
|
|
4168
4168
|
var INCOMPATIBLE_TYPES_FLAG_REASON = "type-reconcile:incompatible-kinds";
|
|
4169
4169
|
function distinctKinds(kinds) {
|
|
4170
|
-
return [...new Set(kinds)].sort((left, right) =>
|
|
4170
|
+
return [...new Set(kinds)].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
4171
4171
|
}
|
|
4172
4172
|
function areEquivalent(closure, left, right) {
|
|
4173
4173
|
return left !== right && isReachable2(closure, left, right) && isReachable2(closure, right, left);
|
|
@@ -4186,7 +4186,7 @@ function mostSpecificCommonKind(closure, kinds) {
|
|
|
4186
4186
|
return void 0;
|
|
4187
4187
|
}
|
|
4188
4188
|
return chunkN66HCGCY_cjs.requireDefined(
|
|
4189
|
-
[...qualifiers].sort((left, right) =>
|
|
4189
|
+
[...qualifiers].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right))[0]
|
|
4190
4190
|
);
|
|
4191
4191
|
}
|
|
4192
4192
|
function reconcileTypes(clusters, closure, mode) {
|
|
@@ -4224,10 +4224,10 @@ function reconcileTypes(clusters, closure, mode) {
|
|
|
4224
4224
|
}
|
|
4225
4225
|
return {
|
|
4226
4226
|
reconciliations: reconciliations.sort(
|
|
4227
|
-
(left, right) =>
|
|
4227
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.entityId, right.entityId)
|
|
4228
4228
|
),
|
|
4229
4229
|
retypeMap,
|
|
4230
|
-
dropped: dropped.sort((left, right) =>
|
|
4230
|
+
dropped: dropped.sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left.id, right.id))
|
|
4231
4231
|
};
|
|
4232
4232
|
}
|
|
4233
4233
|
|
|
@@ -4245,8 +4245,8 @@ function newNodesByKind(staging) {
|
|
|
4245
4245
|
ordered.set(
|
|
4246
4246
|
kind,
|
|
4247
4247
|
[...items].sort((left, right) => {
|
|
4248
|
-
const byId2 =
|
|
4249
|
-
return byId2 === 0 ?
|
|
4248
|
+
const byId2 = chunkPF6F5NLJ_cjs.compareStrings(left.node.id, right.node.id);
|
|
4249
|
+
return byId2 === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
|
|
4250
4250
|
})
|
|
4251
4251
|
);
|
|
4252
4252
|
}
|
|
@@ -4280,7 +4280,7 @@ async function precomputeEmbeddings(byKind, resolve, embedder) {
|
|
|
4280
4280
|
}
|
|
4281
4281
|
async function embedSortedTexts(texts, embedder) {
|
|
4282
4282
|
const orderedTexts = [...texts].sort(
|
|
4283
|
-
(left, right) =>
|
|
4283
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
4284
4284
|
);
|
|
4285
4285
|
const vectors = await embedder(orderedTexts);
|
|
4286
4286
|
if (vectors.length !== orderedTexts.length) {
|
|
@@ -4532,9 +4532,9 @@ function buildProvenanceIndex(records) {
|
|
|
4532
4532
|
for (const [branchId, sets] of byBranch) {
|
|
4533
4533
|
frozen.set(branchId, {
|
|
4534
4534
|
nodeIds: [...sets.nodeIds].sort(
|
|
4535
|
-
(left, right) =>
|
|
4535
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)
|
|
4536
4536
|
),
|
|
4537
|
-
edgeIds: [...sets.edgeIds].sort((left, right) =>
|
|
4537
|
+
edgeIds: [...sets.edgeIds].sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right)).map((id) => id)
|
|
4538
4538
|
});
|
|
4539
4539
|
}
|
|
4540
4540
|
return {
|
|
@@ -4849,7 +4849,7 @@ function planMerge(staging, candidateEdges, candidateWarnings, baseMembers, opti
|
|
|
4849
4849
|
...identityRemap.dropped,
|
|
4850
4850
|
...validWindows.dropped
|
|
4851
4851
|
].sort(
|
|
4852
|
-
(left, right) =>
|
|
4852
|
+
(left, right) => chunkPF6F5NLJ_cjs.compareStrings(`${left.kind}|${left.id}`, `${right.kind}|${right.id}`)
|
|
4853
4853
|
);
|
|
4854
4854
|
return {
|
|
4855
4855
|
canonicalEntities,
|
|
@@ -4886,7 +4886,7 @@ function planMerge(staging, candidateEdges, candidateWarnings, baseMembers, opti
|
|
|
4886
4886
|
mergeKey(left.kind, left.entityId),
|
|
4887
4887
|
mergeKey(right.kind, right.entityId)
|
|
4888
4888
|
);
|
|
4889
|
-
return byEntity === 0 ?
|
|
4889
|
+
return byEntity === 0 ? chunkPF6F5NLJ_cjs.compareStrings(left.property, right.property) : byEntity;
|
|
4890
4890
|
}
|
|
4891
4891
|
),
|
|
4892
4892
|
deleteModifyConflicts: [
|
|
@@ -5064,7 +5064,7 @@ async function applyMergePlan(plan, nodesApi, edgesApi, target, txBackend) {
|
|
|
5064
5064
|
}
|
|
5065
5065
|
let appliedIdentity;
|
|
5066
5066
|
try {
|
|
5067
|
-
appliedIdentity = await
|
|
5067
|
+
appliedIdentity = await chunkQ3G6A4I3_cjs.storeRuntime(target).applyIdentityMergeAtTarget(
|
|
5068
5068
|
txBackend,
|
|
5069
5069
|
plan.identityRetractions.map((retraction) => retraction.id),
|
|
5070
5070
|
plan.identityAssertions
|
|
@@ -5089,7 +5089,7 @@ async function applyMergePlan(plan, nodesApi, edgesApi, target, txBackend) {
|
|
|
5089
5089
|
};
|
|
5090
5090
|
}
|
|
5091
5091
|
async function commitPlan(target, plan, expectedBaseVersion) {
|
|
5092
|
-
if (!
|
|
5092
|
+
if (!chunkQ3G6A4I3_cjs.storeBackend(target).capabilities.transactions) {
|
|
5093
5093
|
throw new MergeError(
|
|
5094
5094
|
"merge() requires a transaction-capable target backend. The merged plan (canonical upserts, soft-deletes, edge upserts) must commit atomically; a non-transactional fallback would leave a partially-merged graph on a mid-commit failure. (mergeIncremental() enforces the same requirement.)",
|
|
5095
5095
|
{ details: { capability: "transactions" } }
|
|
@@ -5099,18 +5099,18 @@ async function commitPlan(target, plan, expectedBaseVersion) {
|
|
|
5099
5099
|
() => target.transaction(async (tx) => {
|
|
5100
5100
|
if (expectedBaseVersion !== void 0) {
|
|
5101
5101
|
await assertTargetUnchanged(
|
|
5102
|
-
|
|
5102
|
+
chunkQ3G6A4I3_cjs.transactionBackend(tx),
|
|
5103
5103
|
target,
|
|
5104
5104
|
expectedBaseVersion
|
|
5105
5105
|
);
|
|
5106
5106
|
}
|
|
5107
|
-
await assertPlannedIdentityIdsFresh(target,
|
|
5107
|
+
await assertPlannedIdentityIdsFresh(target, chunkQ3G6A4I3_cjs.transactionBackend(tx), plan);
|
|
5108
5108
|
return applyMergePlan(
|
|
5109
5109
|
plan,
|
|
5110
5110
|
tx.nodes,
|
|
5111
5111
|
tx.edges,
|
|
5112
5112
|
target,
|
|
5113
|
-
|
|
5113
|
+
chunkQ3G6A4I3_cjs.transactionBackend(tx)
|
|
5114
5114
|
);
|
|
5115
5115
|
}, mergeCommitTransactionOptions(target))
|
|
5116
5116
|
);
|
|
@@ -5123,9 +5123,9 @@ function mergeCommitTransactionOptions(target) {
|
|
|
5123
5123
|
}
|
|
5124
5124
|
async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
|
|
5125
5125
|
if (hasRevisionAnchor(expectedBaseVersion)) {
|
|
5126
|
-
await
|
|
5126
|
+
await chunkPF6F5NLJ_cjs.lockRecordedGraphWrite(txBackend, target.graphId);
|
|
5127
5127
|
const expectedOrigin = revisionOriginOf(expectedBaseVersion);
|
|
5128
|
-
const liveOrigin = await
|
|
5128
|
+
const liveOrigin = await chunkPF6F5NLJ_cjs.readRevisionOrigin(
|
|
5129
5129
|
txBackend,
|
|
5130
5130
|
target.revisionSchema,
|
|
5131
5131
|
target.graphId
|
|
@@ -5139,7 +5139,7 @@ async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
|
|
|
5139
5139
|
}
|
|
5140
5140
|
);
|
|
5141
5141
|
}
|
|
5142
|
-
const liveRevision = await
|
|
5142
|
+
const liveRevision = await chunkPF6F5NLJ_cjs.readRecordedClock(
|
|
5143
5143
|
txBackend,
|
|
5144
5144
|
target.revisionSchema,
|
|
5145
5145
|
target.graphId
|
|
@@ -5160,7 +5160,7 @@ async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
|
|
|
5160
5160
|
txBackend,
|
|
5161
5161
|
target.graphId,
|
|
5162
5162
|
target.graph,
|
|
5163
|
-
await
|
|
5163
|
+
await chunkQ3G6A4I3_cjs.storeRuntime(target).identityAssertionsAtTarget(txBackend, "state")
|
|
5164
5164
|
);
|
|
5165
5165
|
const expectedContent = contentComponentOf(expectedBaseVersion);
|
|
5166
5166
|
if (liveContent !== expectedContent) {
|
|
@@ -5275,7 +5275,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5275
5275
|
}
|
|
5276
5276
|
}
|
|
5277
5277
|
for (const branch2 of branches) {
|
|
5278
|
-
const branchSchemaRow = await
|
|
5278
|
+
const branchSchemaRow = await chunkQ3G6A4I3_cjs.storeBackend(branch2.store).getActiveSchema(
|
|
5279
5279
|
branch2.store.graphId
|
|
5280
5280
|
);
|
|
5281
5281
|
let drifted;
|
|
@@ -5283,7 +5283,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5283
5283
|
const anchor = branch2.schemaAnchor;
|
|
5284
5284
|
drifted = anchor === void 0 ? branchSchemaRow !== void 0 : branchSchemaRow?.version !== anchor.version || branchSchemaRow.schema_hash !== anchor.hash;
|
|
5285
5285
|
} else {
|
|
5286
|
-
const sourceSchemaRow = await
|
|
5286
|
+
const sourceSchemaRow = await chunkQ3G6A4I3_cjs.storeBackend(store).getActiveSchema(
|
|
5287
5287
|
store.graphId
|
|
5288
5288
|
);
|
|
5289
5289
|
drifted = branchSchemaRow?.schema_hash !== sourceSchemaRow?.schema_hash;
|
|
@@ -5332,7 +5332,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5332
5332
|
options.embedder
|
|
5333
5333
|
);
|
|
5334
5334
|
const ctx = {
|
|
5335
|
-
backend:
|
|
5335
|
+
backend: chunkQ3G6A4I3_cjs.storeBackend(store),
|
|
5336
5336
|
...embeddings === void 0 ? {} : { embeddings }
|
|
5337
5337
|
};
|
|
5338
5338
|
const candidates = await generateAllCandidates(
|
|
@@ -5360,7 +5360,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5360
5360
|
])
|
|
5361
5361
|
])
|
|
5362
5362
|
];
|
|
5363
|
-
const targetPeers = identityProbeIds === void 0 ? [] : await
|
|
5363
|
+
const targetPeers = identityProbeIds === void 0 ? [] : await chunkQ3G6A4I3_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
|
|
5364
5364
|
const stagedIdentityIds = [
|
|
5365
5365
|
.../* @__PURE__ */ new Set([
|
|
5366
5366
|
...staging.newIdentityAssertions.map((staged) => staged.assertion.id),
|
|
@@ -5369,7 +5369,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5369
5369
|
)
|
|
5370
5370
|
])
|
|
5371
5371
|
];
|
|
5372
|
-
const storedIdentityRowsById = stagedIdentityIds.length === 0 || target.graph.identity === void 0 ? NO_STORED_ASSERTIONS : await
|
|
5372
|
+
const storedIdentityRowsById = stagedIdentityIds.length === 0 || target.graph.identity === void 0 ? NO_STORED_ASSERTIONS : await chunkQ3G6A4I3_cjs.storeRuntime(target).identityAssertionRowsByIds(
|
|
5373
5373
|
stagedIdentityIds
|
|
5374
5374
|
);
|
|
5375
5375
|
const identityContext = {
|
|
@@ -5392,14 +5392,14 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
|
|
|
5392
5392
|
if (plan.identityAssertions.length > 0) {
|
|
5393
5393
|
assertOneIdOneTruth(
|
|
5394
5394
|
plan.identityAssertions,
|
|
5395
|
-
await
|
|
5395
|
+
await chunkQ3G6A4I3_cjs.storeRuntime(target).identityAssertionRowsByIds(
|
|
5396
5396
|
plan.identityAssertions.map((assertion) => assertion.id)
|
|
5397
5397
|
)
|
|
5398
5398
|
);
|
|
5399
5399
|
}
|
|
5400
5400
|
let identityGuard;
|
|
5401
5401
|
if (identityProbeIds !== void 0 && incremental !== void 0) {
|
|
5402
|
-
const freshPeers = await
|
|
5402
|
+
const freshPeers = await chunkQ3G6A4I3_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
|
|
5403
5403
|
const built = await buildIdentityPeerProbe(
|
|
5404
5404
|
target,
|
|
5405
5405
|
identityProbeIds,
|
|
@@ -5689,7 +5689,7 @@ async function validateIncrementalEdgeWrites(target, edgesApi, plan) {
|
|
|
5689
5689
|
}
|
|
5690
5690
|
}
|
|
5691
5691
|
}
|
|
5692
|
-
const notFound = [...plannedKindById.keys()].filter((id) => !existingById.has(id)).sort((left, right) =>
|
|
5692
|
+
const notFound = [...plannedKindById.keys()].filter((id) => !existingById.has(id)).sort((left, right) => chunkPF6F5NLJ_cjs.compareStrings(left, right));
|
|
5693
5693
|
if (notFound.length > 0) {
|
|
5694
5694
|
const crossKindById = /* @__PURE__ */ new Map();
|
|
5695
5695
|
for (const kind of Object.keys(target.graph.edges)) {
|
|
@@ -5926,7 +5926,7 @@ async function assertForkPointUnchanged(precondition) {
|
|
|
5926
5926
|
);
|
|
5927
5927
|
}
|
|
5928
5928
|
async function commitIncrementalPlan(target, plan, guard) {
|
|
5929
|
-
if (!
|
|
5929
|
+
if (!chunkQ3G6A4I3_cjs.storeBackend(target).capabilities.transactions) {
|
|
5930
5930
|
throw new MergeError(
|
|
5931
5931
|
"mergeIncremental() requires a transaction-capable target backend. Incremental writes must preflight existing rows and commit atomically; non-transactional fallback would allow partial graph writes.",
|
|
5932
5932
|
{ details: { capability: "transactions" } }
|
|
@@ -5935,16 +5935,16 @@ async function commitIncrementalPlan(target, plan, guard) {
|
|
|
5935
5935
|
return withTxConflictRetry(
|
|
5936
5936
|
() => target.transaction(async (tx) => {
|
|
5937
5937
|
if (target.revisionTrackingEnabled) {
|
|
5938
|
-
await
|
|
5938
|
+
await chunkPF6F5NLJ_cjs.lockRecordedGraphWrite(chunkQ3G6A4I3_cjs.transactionBackend(tx), target.graphId);
|
|
5939
5939
|
}
|
|
5940
5940
|
await assertForkPointUnchanged(guard.forkPoint);
|
|
5941
5941
|
const nodesApi = tx.nodes;
|
|
5942
5942
|
const edgesApi = tx.edges;
|
|
5943
5943
|
await assertBaseResolutionStable(tx, guard);
|
|
5944
|
-
await assertPlannedIdentityIdsFresh(target,
|
|
5944
|
+
await assertPlannedIdentityIdsFresh(target, chunkQ3G6A4I3_cjs.transactionBackend(tx), plan);
|
|
5945
5945
|
await assertIdentityPeersStable(
|
|
5946
5946
|
target,
|
|
5947
|
-
|
|
5947
|
+
chunkQ3G6A4I3_cjs.transactionBackend(tx),
|
|
5948
5948
|
guard.identityPeerProbe,
|
|
5949
5949
|
plan
|
|
5950
5950
|
);
|
|
@@ -5956,7 +5956,7 @@ async function commitIncrementalPlan(target, plan, guard) {
|
|
|
5956
5956
|
nodesApi,
|
|
5957
5957
|
edgesApi,
|
|
5958
5958
|
target,
|
|
5959
|
-
|
|
5959
|
+
chunkQ3G6A4I3_cjs.transactionBackend(tx)
|
|
5960
5960
|
);
|
|
5961
5961
|
}, mergeCommitTransactionOptions(target))
|
|
5962
5962
|
);
|