@nicia-ai/typegraph 0.25.0 → 0.26.0
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/postgres/index.cjs +167 -71
- package/dist/backend/postgres/index.cjs.map +1 -1
- package/dist/backend/postgres/index.d.cts +6 -8
- package/dist/backend/postgres/index.d.ts +6 -8
- package/dist/backend/postgres/index.js +119 -27
- package/dist/backend/postgres/index.js.map +1 -1
- package/dist/backend/sqlite/index.cjs +16 -15
- package/dist/backend/sqlite/index.d.cts +11 -26
- package/dist/backend/sqlite/index.d.ts +11 -26
- package/dist/backend/sqlite/index.js +6 -5
- package/dist/backend/sqlite/libsql.cjs +9 -8
- package/dist/backend/sqlite/libsql.cjs.map +1 -1
- package/dist/backend/sqlite/libsql.d.cts +4 -3
- package/dist/backend/sqlite/libsql.d.ts +4 -3
- package/dist/backend/sqlite/libsql.js +6 -5
- package/dist/backend/sqlite/libsql.js.map +1 -1
- package/dist/backend/sqlite/local.cjs +11 -10
- package/dist/backend/sqlite/local.cjs.map +1 -1
- package/dist/backend/sqlite/local.d.cts +4 -3
- package/dist/backend/sqlite/local.d.ts +4 -3
- package/dist/backend/sqlite/local.js +6 -5
- package/dist/backend/sqlite/local.js.map +1 -1
- package/dist/{chunk-LVCSL6A3.js → chunk-3W6AIFT2.js} +11 -34
- package/dist/chunk-3W6AIFT2.js.map +1 -0
- package/dist/chunk-4FJVSF3K.cjs +12 -0
- package/dist/{chunk-D2GO3RBL.cjs.map → chunk-4FJVSF3K.cjs.map} +1 -1
- package/dist/{chunk-7W3KAMVQ.cjs → chunk-4TJI44WP.cjs} +94 -119
- package/dist/chunk-4TJI44WP.cjs.map +1 -0
- package/dist/chunk-5H3BAMTB.js +32 -0
- package/dist/chunk-5H3BAMTB.js.map +1 -0
- package/dist/{chunk-OJ6IQVZG.js → chunk-DDVA4QBA.js} +177 -37
- package/dist/chunk-DDVA4QBA.js.map +1 -0
- package/dist/{chunk-7CDXX3QZ.cjs → chunk-DN4RUDF3.cjs} +2 -2
- package/dist/chunk-DN4RUDF3.cjs.map +1 -0
- package/dist/{chunk-NHQWXSTS.js → chunk-E5ROA3MN.js} +3 -3
- package/dist/{chunk-NHQWXSTS.js.map → chunk-E5ROA3MN.js.map} +1 -1
- package/dist/{chunk-FPCOUJSL.js → chunk-ENXJLDRK.js} +2 -2
- package/dist/chunk-ENXJLDRK.js.map +1 -0
- package/dist/chunk-IUIWCFG3.cjs +36 -0
- package/dist/chunk-IUIWCFG3.cjs.map +1 -0
- package/dist/{chunk-EG6TJ3I5.js → chunk-OYLF3IC7.js} +3 -3
- package/dist/{chunk-EG6TJ3I5.js.map → chunk-OYLF3IC7.js.map} +1 -1
- package/dist/{chunk-JTI5WT4P.cjs → chunk-PN37HVAV.cjs} +32 -10
- package/dist/chunk-PN37HVAV.cjs.map +1 -0
- package/dist/{chunk-RCAJZG67.cjs → chunk-PYJOBZR3.cjs} +10 -10
- package/dist/{chunk-RCAJZG67.cjs.map → chunk-PYJOBZR3.cjs.map} +1 -1
- package/dist/{chunk-WI5VRP3X.js → chunk-RF5EUQWS.js} +371 -47
- package/dist/chunk-RF5EUQWS.js.map +1 -0
- package/dist/{chunk-ZEMNF3QK.cjs → chunk-RVT2N4RF.cjs} +209 -69
- package/dist/chunk-RVT2N4RF.cjs.map +1 -0
- package/dist/{chunk-4BOWVUGQ.js → chunk-TSGBRPNE.js} +3 -3
- package/dist/{chunk-4BOWVUGQ.js.map → chunk-TSGBRPNE.js.map} +1 -1
- package/dist/{chunk-O2P3KAUT.cjs → chunk-TVUARC7S.cjs} +445 -110
- package/dist/chunk-TVUARC7S.cjs.map +1 -0
- package/dist/{chunk-DOTEN2FG.js → chunk-U5ROKVRF.js} +26 -3
- package/dist/chunk-U5ROKVRF.js.map +1 -0
- package/dist/{chunk-E5JZSEGJ.cjs → chunk-WFUN6DCM.cjs} +8 -8
- package/dist/{chunk-E5JZSEGJ.cjs.map → chunk-WFUN6DCM.cjs.map} +1 -1
- package/dist/{chunk-W5MTHMTE.cjs → chunk-YEDQLNVE.cjs} +26 -2
- package/dist/chunk-YEDQLNVE.cjs.map +1 -0
- package/dist/{chunk-YZZBDCLV.js → chunk-ZTREJOGB.js} +32 -11
- package/dist/chunk-ZTREJOGB.js.map +1 -0
- package/dist/{ddl-B2jjLjpR.d.cts → ddl-9kw8UADK.d.ts} +697 -29
- package/dist/{ddl-DpaeAKPp.d.ts → ddl-Cw82BPM4.d.cts} +697 -29
- package/dist/{extension-types-D07e_NTw.d.cts → extension-types-B78CZfA5.d.cts} +1 -1
- package/dist/{extension-types-D07e_NTw.d.ts → extension-types-B78CZfA5.d.ts} +1 -1
- package/dist/graph-extension/index.cjs +18 -18
- package/dist/graph-extension/index.d.cts +4 -4
- package/dist/graph-extension/index.d.ts +4 -4
- package/dist/graph-extension/index.js +3 -3
- package/dist/{index-CT6nvtxL.d.cts → index-Bilw0pYm.d.cts} +34 -3
- package/dist/{index-DQheiVQV.d.ts → index-CWdBFWbI.d.ts} +34 -3
- package/dist/index.cjs +460 -361
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -11
- package/dist/index.d.ts +13 -11
- package/dist/index.js +131 -36
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +13 -13
- package/dist/indexes/index.d.cts +5 -5
- package/dist/indexes/index.d.ts +5 -5
- package/dist/indexes/index.js +1 -1
- package/dist/interchange/index.cjs +7 -7
- package/dist/interchange/index.d.cts +7 -5
- package/dist/interchange/index.d.ts +7 -5
- package/dist/interchange/index.js +2 -2
- package/dist/{manager-BpjBW1JK.d.cts → manager-Aqzmztkb.d.cts} +11 -3
- package/dist/{manager-BKaPQbns.d.ts → manager-C3LxzPcX.d.ts} +11 -3
- package/dist/{materialize-indexes-BB9N5uQl.d.cts → materialize-indexes-BQfaAZKA.d.cts} +1 -1
- package/dist/{materialize-indexes-BYpU2RKh.d.ts → materialize-indexes-DFavFQah.d.ts} +1 -1
- package/dist/profiler/index.d.cts +9 -7
- package/dist/profiler/index.d.ts +9 -7
- package/dist/schema/index.cjs +28 -27
- package/dist/schema/index.cjs.map +1 -1
- package/dist/schema/index.d.cts +9 -7
- package/dist/schema/index.d.ts +9 -7
- package/dist/schema/index.js +6 -5
- package/dist/schema/index.js.map +1 -1
- package/dist/{sqlite-Myo8e3Lr.d.cts → sqlite-BvSEbybu.d.cts} +320 -1
- package/dist/{sqlite-CU3j6rc7.d.ts → sqlite-GKvcDPVn.d.ts} +320 -1
- package/dist/{store-BAGuOHDh.d.cts → store-CiS_AGNH.d.ts} +112 -4
- package/dist/{store-De98Lod4.d.ts → store-DbQLsSor.d.cts} +112 -4
- package/dist/{types-CYga3lZp.d.cts → types-CF7nDH3q.d.cts} +2 -2
- package/dist/{types-BLmJq4wI.d.ts → types-Cars4JZ1.d.ts} +2 -2
- package/dist/{types--0EslBx5.d.cts → types-DZPBXZOK.d.cts} +275 -8
- package/dist/{types-BNWYZ-0-.d.ts → types-Dzkr0Eqi.d.ts} +275 -8
- package/dist/{where-m1uWsdua.d.cts → where-BmtjfWuS.d.cts} +2 -2
- package/dist/{where-CluR73rs.d.ts → where-kk1Zz2En.d.ts} +2 -2
- package/package.json +3 -1
- package/dist/chunk-7CDXX3QZ.cjs.map +0 -1
- package/dist/chunk-7W3KAMVQ.cjs.map +0 -1
- package/dist/chunk-D2GO3RBL.cjs +0 -12
- package/dist/chunk-DOTEN2FG.js.map +0 -1
- package/dist/chunk-FPCOUJSL.js.map +0 -1
- package/dist/chunk-JTI5WT4P.cjs.map +0 -1
- package/dist/chunk-LVCSL6A3.js.map +0 -1
- package/dist/chunk-O2P3KAUT.cjs.map +0 -1
- package/dist/chunk-OJ6IQVZG.js.map +0 -1
- package/dist/chunk-W5MTHMTE.cjs.map +0 -1
- package/dist/chunk-WI5VRP3X.js.map +0 -1
- package/dist/chunk-YZZBDCLV.js.map +0 -1
- package/dist/chunk-ZEMNF3QK.cjs.map +0 -1
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkWFUN6DCM_cjs = require('./chunk-WFUN6DCM.cjs');
|
|
4
|
+
var chunkPYJOBZR3_cjs = require('./chunk-PYJOBZR3.cjs');
|
|
5
|
+
var chunkIUIWCFG3_cjs = require('./chunk-IUIWCFG3.cjs');
|
|
5
6
|
var chunkCTHNVU6K_cjs = require('./chunk-CTHNVU6K.cjs');
|
|
6
7
|
var chunkEK6RJ373_cjs = require('./chunk-EK6RJ373.cjs');
|
|
7
8
|
var chunkX3244EKP_cjs = require('./chunk-X3244EKP.cjs');
|
|
8
|
-
var
|
|
9
|
+
var chunkYEDQLNVE_cjs = require('./chunk-YEDQLNVE.cjs');
|
|
9
10
|
var zod = require('zod');
|
|
10
11
|
|
|
11
12
|
// src/core/node.ts
|
|
12
13
|
function validateSchemaKeys(schema, name) {
|
|
13
|
-
|
|
14
|
+
chunkPYJOBZR3_cjs.assertSchemaKeysAreFree(
|
|
14
15
|
"Node",
|
|
15
16
|
name,
|
|
16
17
|
Object.keys(schema.shape),
|
|
17
|
-
|
|
18
|
+
chunkPYJOBZR3_cjs.RESERVED_NODE_KEYS
|
|
18
19
|
);
|
|
19
20
|
}
|
|
20
21
|
function defineNode(name, options) {
|
|
21
22
|
validateSchemaKeys(options.schema, name);
|
|
22
23
|
if (options.annotations !== void 0) {
|
|
23
|
-
|
|
24
|
+
chunkPYJOBZR3_cjs.assertJsonValue(options.annotations, "annotations", `Node "${name}"`);
|
|
24
25
|
}
|
|
25
26
|
return Object.freeze({
|
|
26
|
-
[
|
|
27
|
+
[chunkWFUN6DCM_cjs.NODE_TYPE_BRAND]: true,
|
|
27
28
|
kind: name,
|
|
28
29
|
schema: options.schema,
|
|
29
30
|
description: options.description,
|
|
@@ -32,21 +33,21 @@ function defineNode(name, options) {
|
|
|
32
33
|
}
|
|
33
34
|
var EMPTY_SCHEMA = zod.z.object({});
|
|
34
35
|
function validateSchemaKeys2(schema, name) {
|
|
35
|
-
|
|
36
|
+
chunkPYJOBZR3_cjs.assertSchemaKeysAreFree(
|
|
36
37
|
"Edge",
|
|
37
38
|
name,
|
|
38
39
|
Object.keys(schema.shape),
|
|
39
|
-
|
|
40
|
+
chunkPYJOBZR3_cjs.RESERVED_EDGE_KEYS
|
|
40
41
|
);
|
|
41
42
|
}
|
|
42
43
|
function defineEdge(name, options) {
|
|
43
44
|
const schema = options?.schema ?? EMPTY_SCHEMA;
|
|
44
45
|
validateSchemaKeys2(schema, name);
|
|
45
46
|
if (options?.annotations !== void 0) {
|
|
46
|
-
|
|
47
|
+
chunkPYJOBZR3_cjs.assertJsonValue(options.annotations, "annotations", `Edge "${name}"`);
|
|
47
48
|
}
|
|
48
49
|
return Object.freeze({
|
|
49
|
-
[
|
|
50
|
+
[chunkWFUN6DCM_cjs.EDGE_TYPE_BRAND]: true,
|
|
50
51
|
kind: name,
|
|
51
52
|
schema,
|
|
52
53
|
description: options?.description,
|
|
@@ -83,7 +84,7 @@ function createMetaEdge(name, properties) {
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
}
|
|
86
|
-
var subClassOfMetaEdge = createMetaEdge(
|
|
87
|
+
var subClassOfMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_SUB_CLASS_OF, {
|
|
87
88
|
transitive: true,
|
|
88
89
|
inference: "subsumption",
|
|
89
90
|
description: "Type inheritance (Podcast subClassOf Media)"
|
|
@@ -95,9 +96,9 @@ function subClassOf(child, parent) {
|
|
|
95
96
|
to: parent
|
|
96
97
|
};
|
|
97
98
|
}
|
|
98
|
-
var broaderMetaEdge = createMetaEdge(
|
|
99
|
+
var broaderMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_BROADER, {
|
|
99
100
|
transitive: true,
|
|
100
|
-
inverse:
|
|
101
|
+
inverse: chunkPYJOBZR3_cjs.META_EDGE_NARROWER,
|
|
101
102
|
inference: "hierarchy",
|
|
102
103
|
description: "Broader concept (ML broader AI)"
|
|
103
104
|
});
|
|
@@ -108,9 +109,9 @@ function broader(narrowerConcept, broaderConcept) {
|
|
|
108
109
|
to: broaderConcept
|
|
109
110
|
};
|
|
110
111
|
}
|
|
111
|
-
var narrowerMetaEdge = createMetaEdge(
|
|
112
|
+
var narrowerMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_NARROWER, {
|
|
112
113
|
transitive: true,
|
|
113
|
-
inverse:
|
|
114
|
+
inverse: chunkPYJOBZR3_cjs.META_EDGE_BROADER,
|
|
114
115
|
inference: "hierarchy",
|
|
115
116
|
description: "Narrower concept (AI narrower ML)"
|
|
116
117
|
});
|
|
@@ -121,7 +122,7 @@ function narrower(broaderConcept, narrowerConcept) {
|
|
|
121
122
|
to: narrowerConcept
|
|
122
123
|
};
|
|
123
124
|
}
|
|
124
|
-
var relatedToMetaEdge = createMetaEdge(
|
|
125
|
+
var relatedToMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_RELATED_TO, {
|
|
125
126
|
symmetric: true,
|
|
126
127
|
inference: "association",
|
|
127
128
|
description: "Non-hierarchical association"
|
|
@@ -133,7 +134,7 @@ function relatedTo(conceptA, conceptB) {
|
|
|
133
134
|
to: conceptB
|
|
134
135
|
};
|
|
135
136
|
}
|
|
136
|
-
var equivalentToMetaEdge = createMetaEdge(
|
|
137
|
+
var equivalentToMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_EQUIVALENT_TO, {
|
|
137
138
|
symmetric: true,
|
|
138
139
|
transitive: true,
|
|
139
140
|
inference: "substitution",
|
|
@@ -146,7 +147,7 @@ function equivalentTo(kindA, kindBOrIri) {
|
|
|
146
147
|
to: kindBOrIri
|
|
147
148
|
};
|
|
148
149
|
}
|
|
149
|
-
var sameAsMetaEdge = createMetaEdge(
|
|
150
|
+
var sameAsMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_SAME_AS, {
|
|
150
151
|
symmetric: true,
|
|
151
152
|
transitive: true,
|
|
152
153
|
inference: "substitution",
|
|
@@ -159,7 +160,7 @@ function sameAs(kindA, kindBOrIri) {
|
|
|
159
160
|
to: kindBOrIri
|
|
160
161
|
};
|
|
161
162
|
}
|
|
162
|
-
var differentFromMetaEdge = createMetaEdge(
|
|
163
|
+
var differentFromMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_DIFFERENT_FROM, {
|
|
163
164
|
symmetric: true,
|
|
164
165
|
inference: "constraint",
|
|
165
166
|
description: "Explicitly different individuals"
|
|
@@ -171,7 +172,7 @@ function differentFrom(kindA, kindB) {
|
|
|
171
172
|
to: kindB
|
|
172
173
|
};
|
|
173
174
|
}
|
|
174
|
-
var disjointWithMetaEdge = createMetaEdge(
|
|
175
|
+
var disjointWithMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_DISJOINT_WITH, {
|
|
175
176
|
symmetric: true,
|
|
176
177
|
inference: "constraint",
|
|
177
178
|
description: "Mutually exclusive types"
|
|
@@ -183,9 +184,9 @@ function disjointWith(kindA, kindB) {
|
|
|
183
184
|
to: kindB
|
|
184
185
|
};
|
|
185
186
|
}
|
|
186
|
-
var partOfMetaEdge = createMetaEdge(
|
|
187
|
+
var partOfMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_PART_OF, {
|
|
187
188
|
transitive: true,
|
|
188
|
-
inverse:
|
|
189
|
+
inverse: chunkPYJOBZR3_cjs.META_EDGE_HAS_PART,
|
|
189
190
|
inference: "composition",
|
|
190
191
|
description: "X is part of Y"
|
|
191
192
|
});
|
|
@@ -196,9 +197,9 @@ function partOf(part, whole) {
|
|
|
196
197
|
to: whole
|
|
197
198
|
};
|
|
198
199
|
}
|
|
199
|
-
var hasPartMetaEdge = createMetaEdge(
|
|
200
|
+
var hasPartMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_HAS_PART, {
|
|
200
201
|
transitive: true,
|
|
201
|
-
inverse:
|
|
202
|
+
inverse: chunkPYJOBZR3_cjs.META_EDGE_PART_OF,
|
|
202
203
|
inference: "composition",
|
|
203
204
|
description: "Y has part X"
|
|
204
205
|
});
|
|
@@ -209,12 +210,12 @@ function hasPart(whole, part) {
|
|
|
209
210
|
to: part
|
|
210
211
|
};
|
|
211
212
|
}
|
|
212
|
-
var inverseOfMetaEdge = createMetaEdge(
|
|
213
|
+
var inverseOfMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_INVERSE_OF, {
|
|
213
214
|
symmetric: true,
|
|
214
215
|
inference: "none",
|
|
215
216
|
description: "Edge A is inverse of edge B"
|
|
216
217
|
});
|
|
217
|
-
var impliesMetaEdge = createMetaEdge(
|
|
218
|
+
var impliesMetaEdge = createMetaEdge(chunkPYJOBZR3_cjs.META_EDGE_IMPLIES, {
|
|
218
219
|
transitive: true,
|
|
219
220
|
inference: "none",
|
|
220
221
|
description: "Edge A implies edge B exists"
|
|
@@ -262,21 +263,6 @@ var core = {
|
|
|
262
263
|
implies
|
|
263
264
|
};
|
|
264
265
|
|
|
265
|
-
// src/schema/canonical.ts
|
|
266
|
-
function sortedReplacer(_key, value) {
|
|
267
|
-
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
268
|
-
const sorted = {};
|
|
269
|
-
for (const key of Object.keys(value).toSorted()) {
|
|
270
|
-
sorted[key] = value[key];
|
|
271
|
-
}
|
|
272
|
-
return sorted;
|
|
273
|
-
}
|
|
274
|
-
return value;
|
|
275
|
-
}
|
|
276
|
-
function canonicalEqual(a, b) {
|
|
277
|
-
return JSON.stringify(a, sortedReplacer) === JSON.stringify(b, sortedReplacer);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
266
|
// src/schema/migration.ts
|
|
281
267
|
function computeSchemaDiff(before, after) {
|
|
282
268
|
const nodeChanges = diffNodes(before.nodes, after.nodes);
|
|
@@ -359,7 +345,7 @@ function diffNodes(before, after) {
|
|
|
359
345
|
}
|
|
360
346
|
function diffNodeDef(name, before, after) {
|
|
361
347
|
const changes = [];
|
|
362
|
-
if (!canonicalEqual(before.properties, after.properties)) {
|
|
348
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(before.properties, after.properties)) {
|
|
363
349
|
const beforeProps = before.properties.properties ?? {};
|
|
364
350
|
const afterProps = after.properties.properties ?? {};
|
|
365
351
|
const beforeRequired = new Set(before.properties.required);
|
|
@@ -398,7 +384,7 @@ function diffNodeDef(name, before, after) {
|
|
|
398
384
|
after
|
|
399
385
|
});
|
|
400
386
|
}
|
|
401
|
-
if (!canonicalEqual(before.uniqueConstraints, after.uniqueConstraints)) {
|
|
387
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(before.uniqueConstraints, after.uniqueConstraints)) {
|
|
402
388
|
changes.push({
|
|
403
389
|
type: "modified",
|
|
404
390
|
kind: name,
|
|
@@ -482,7 +468,7 @@ function diffEdges(before, after) {
|
|
|
482
468
|
}
|
|
483
469
|
function diffEdgeDef(name, before, after) {
|
|
484
470
|
const changes = [];
|
|
485
|
-
if (!canonicalEqual(before.fromKinds, after.fromKinds)) {
|
|
471
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(before.fromKinds, after.fromKinds)) {
|
|
486
472
|
changes.push({
|
|
487
473
|
type: "modified",
|
|
488
474
|
kind: name,
|
|
@@ -492,7 +478,7 @@ function diffEdgeDef(name, before, after) {
|
|
|
492
478
|
after
|
|
493
479
|
});
|
|
494
480
|
}
|
|
495
|
-
if (!canonicalEqual(before.toKinds, after.toKinds)) {
|
|
481
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(before.toKinds, after.toKinds)) {
|
|
496
482
|
changes.push({
|
|
497
483
|
type: "modified",
|
|
498
484
|
kind: name,
|
|
@@ -512,7 +498,7 @@ function diffEdgeDef(name, before, after) {
|
|
|
512
498
|
after
|
|
513
499
|
});
|
|
514
500
|
}
|
|
515
|
-
if (!canonicalEqual(before.properties, after.properties)) {
|
|
501
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(before.properties, after.properties)) {
|
|
516
502
|
changes.push({
|
|
517
503
|
type: "modified",
|
|
518
504
|
kind: name,
|
|
@@ -537,7 +523,7 @@ function diffEdgeDef(name, before, after) {
|
|
|
537
523
|
function annotationsChanged(before, after) {
|
|
538
524
|
if (before === void 0 && after === void 0) return false;
|
|
539
525
|
if (before === void 0 || after === void 0) return true;
|
|
540
|
-
return !canonicalEqual(before, after);
|
|
526
|
+
return !chunkIUIWCFG3_cjs.canonicalEqual(before, after);
|
|
541
527
|
}
|
|
542
528
|
function diffOntology(before, after) {
|
|
543
529
|
const changes = [];
|
|
@@ -636,7 +622,7 @@ function diffIndexes(before, after) {
|
|
|
636
622
|
for (const [name, beforeIndex] of beforeByName) {
|
|
637
623
|
const afterIndex = afterByName.get(name);
|
|
638
624
|
if (!afterIndex) continue;
|
|
639
|
-
if (!canonicalEqual(beforeIndex, afterIndex)) {
|
|
625
|
+
if (!chunkIUIWCFG3_cjs.canonicalEqual(beforeIndex, afterIndex)) {
|
|
640
626
|
changes.push({
|
|
641
627
|
type: "modified",
|
|
642
628
|
name,
|
|
@@ -666,7 +652,7 @@ function diffExtension(before, after) {
|
|
|
666
652
|
details: "Graph extension document was removed"
|
|
667
653
|
};
|
|
668
654
|
}
|
|
669
|
-
if (canonicalEqual(before, after)) return void 0;
|
|
655
|
+
if (chunkIUIWCFG3_cjs.canonicalEqual(before, after)) return void 0;
|
|
670
656
|
return {
|
|
671
657
|
type: "modified",
|
|
672
658
|
severity: "safe",
|
|
@@ -818,7 +804,7 @@ var KindRegistry = class {
|
|
|
818
804
|
* Checks if child is a subclass of parent (directly or transitively).
|
|
819
805
|
*/
|
|
820
806
|
isSubClassOf(child, parent) {
|
|
821
|
-
return
|
|
807
|
+
return chunkPYJOBZR3_cjs.isReachable(this.subClassAncestors, child, parent);
|
|
822
808
|
}
|
|
823
809
|
/**
|
|
824
810
|
* Expands a kind to include all its subclasses.
|
|
@@ -845,13 +831,13 @@ var KindRegistry = class {
|
|
|
845
831
|
* Checks if narrowerConcept is narrower than broaderConcept.
|
|
846
832
|
*/
|
|
847
833
|
isNarrowerThan(narrowerConcept, broaderConcept) {
|
|
848
|
-
return
|
|
834
|
+
return chunkPYJOBZR3_cjs.isReachable(this.broaderClosure, narrowerConcept, broaderConcept);
|
|
849
835
|
}
|
|
850
836
|
/**
|
|
851
837
|
* Checks if broaderConcept is broader than narrowerConcept.
|
|
852
838
|
*/
|
|
853
839
|
isBroaderThan(broaderConcept, narrowerConcept) {
|
|
854
|
-
return
|
|
840
|
+
return chunkPYJOBZR3_cjs.isReachable(this.narrowerClosure, broaderConcept, narrowerConcept);
|
|
855
841
|
}
|
|
856
842
|
/**
|
|
857
843
|
* Expands to include all narrower concepts.
|
|
@@ -915,7 +901,7 @@ var KindRegistry = class {
|
|
|
915
901
|
* Checks if part is part of whole (directly or transitively).
|
|
916
902
|
*/
|
|
917
903
|
isPartOf(part, whole) {
|
|
918
|
-
return
|
|
904
|
+
return chunkPYJOBZR3_cjs.isReachable(this.partOfClosure, part, whole);
|
|
919
905
|
}
|
|
920
906
|
/**
|
|
921
907
|
* Gets all wholes that contain this part.
|
|
@@ -1026,57 +1012,57 @@ function computeClosuresFromOntology(ontology) {
|
|
|
1026
1012
|
const fromName = getKindName(relation.from);
|
|
1027
1013
|
const toName = getKindName(relation.to);
|
|
1028
1014
|
switch (relation.metaEdge.name) {
|
|
1029
|
-
case
|
|
1015
|
+
case chunkPYJOBZR3_cjs.META_EDGE_SUB_CLASS_OF: {
|
|
1030
1016
|
subClassRelations.push([fromName, toName]);
|
|
1031
1017
|
break;
|
|
1032
1018
|
}
|
|
1033
|
-
case
|
|
1019
|
+
case chunkPYJOBZR3_cjs.META_EDGE_BROADER: {
|
|
1034
1020
|
broaderRelations.push([fromName, toName]);
|
|
1035
1021
|
break;
|
|
1036
1022
|
}
|
|
1037
|
-
case
|
|
1023
|
+
case chunkPYJOBZR3_cjs.META_EDGE_NARROWER: {
|
|
1038
1024
|
broaderRelations.push([toName, fromName]);
|
|
1039
1025
|
break;
|
|
1040
1026
|
}
|
|
1041
|
-
case
|
|
1042
|
-
case
|
|
1027
|
+
case chunkPYJOBZR3_cjs.META_EDGE_EQUIVALENT_TO:
|
|
1028
|
+
case chunkPYJOBZR3_cjs.META_EDGE_SAME_AS: {
|
|
1043
1029
|
equivalentRelations.push([fromName, toName]);
|
|
1044
1030
|
break;
|
|
1045
1031
|
}
|
|
1046
|
-
case
|
|
1032
|
+
case chunkPYJOBZR3_cjs.META_EDGE_DISJOINT_WITH: {
|
|
1047
1033
|
disjointRelations.push([fromName, toName]);
|
|
1048
1034
|
break;
|
|
1049
1035
|
}
|
|
1050
|
-
case
|
|
1036
|
+
case chunkPYJOBZR3_cjs.META_EDGE_PART_OF: {
|
|
1051
1037
|
partOfRelations.push([fromName, toName]);
|
|
1052
1038
|
break;
|
|
1053
1039
|
}
|
|
1054
|
-
case
|
|
1040
|
+
case chunkPYJOBZR3_cjs.META_EDGE_HAS_PART: {
|
|
1055
1041
|
partOfRelations.push([toName, fromName]);
|
|
1056
1042
|
break;
|
|
1057
1043
|
}
|
|
1058
|
-
case
|
|
1044
|
+
case chunkPYJOBZR3_cjs.META_EDGE_INVERSE_OF: {
|
|
1059
1045
|
inverseOfRelations.push([fromName, toName]);
|
|
1060
1046
|
break;
|
|
1061
1047
|
}
|
|
1062
|
-
case
|
|
1048
|
+
case chunkPYJOBZR3_cjs.META_EDGE_IMPLIES: {
|
|
1063
1049
|
impliesRelations.push([fromName, toName]);
|
|
1064
1050
|
break;
|
|
1065
1051
|
}
|
|
1066
1052
|
}
|
|
1067
1053
|
}
|
|
1068
|
-
const subClassAncestors =
|
|
1069
|
-
const subClassDescendants =
|
|
1070
|
-
const broaderClosure =
|
|
1071
|
-
const narrowerClosure =
|
|
1054
|
+
const subClassAncestors = chunkPYJOBZR3_cjs.computeTransitiveClosure(subClassRelations);
|
|
1055
|
+
const subClassDescendants = chunkPYJOBZR3_cjs.invertClosure(subClassAncestors);
|
|
1056
|
+
const broaderClosure = chunkPYJOBZR3_cjs.computeTransitiveClosure(broaderRelations);
|
|
1057
|
+
const narrowerClosure = chunkPYJOBZR3_cjs.invertClosure(broaderClosure);
|
|
1072
1058
|
const equivalenceSets = computeEquivalenceSets(equivalentRelations);
|
|
1073
1059
|
const iriToKind = computeIriMapping(equivalentRelations);
|
|
1074
1060
|
const disjointPairs = computeDisjointPairs(disjointRelations);
|
|
1075
|
-
const partOfClosure =
|
|
1076
|
-
const hasPartClosure =
|
|
1061
|
+
const partOfClosure = chunkPYJOBZR3_cjs.computeTransitiveClosure(partOfRelations);
|
|
1062
|
+
const hasPartClosure = chunkPYJOBZR3_cjs.invertClosure(partOfClosure);
|
|
1077
1063
|
const edgeInverses = computeEdgeInverses(inverseOfRelations);
|
|
1078
|
-
const edgeImplicationsClosure =
|
|
1079
|
-
const edgeImplyingClosure =
|
|
1064
|
+
const edgeImplicationsClosure = chunkPYJOBZR3_cjs.computeTransitiveClosure(impliesRelations);
|
|
1065
|
+
const edgeImplyingClosure = chunkPYJOBZR3_cjs.invertClosure(edgeImplicationsClosure);
|
|
1080
1066
|
return {
|
|
1081
1067
|
subClassAncestors,
|
|
1082
1068
|
subClassDescendants,
|
|
@@ -1180,7 +1166,7 @@ function serializeSchema(graph, version) {
|
|
|
1180
1166
|
return {
|
|
1181
1167
|
graphId: graph.id,
|
|
1182
1168
|
version,
|
|
1183
|
-
generatedAt:
|
|
1169
|
+
generatedAt: chunkWFUN6DCM_cjs.nowIso(),
|
|
1184
1170
|
nodes,
|
|
1185
1171
|
edges,
|
|
1186
1172
|
ontology,
|
|
@@ -1211,7 +1197,7 @@ function serializeDeprecatedKinds(set) {
|
|
|
1211
1197
|
function canonicalExtension(document) {
|
|
1212
1198
|
if (document === void 0) return void 0;
|
|
1213
1199
|
if (document.version === void 0) return document;
|
|
1214
|
-
if (document.version !==
|
|
1200
|
+
if (document.version !== chunkPYJOBZR3_cjs.LEGACY_GRAPH_EXTENSION_VERSION) return document;
|
|
1215
1201
|
const { version: _omit, ...rest } = document;
|
|
1216
1202
|
return rest;
|
|
1217
1203
|
}
|
|
@@ -1285,7 +1271,7 @@ function serializeEdgeIndexDeclaration(declaration) {
|
|
|
1285
1271
|
}
|
|
1286
1272
|
function serializeNodes(graph) {
|
|
1287
1273
|
const result = {};
|
|
1288
|
-
for (const kindName of
|
|
1274
|
+
for (const kindName of chunkWFUN6DCM_cjs.getNodeKinds(graph)) {
|
|
1289
1275
|
const registration = graph.nodes[kindName];
|
|
1290
1276
|
if (registration === void 0) continue;
|
|
1291
1277
|
result[kindName] = serializeNodeDef(registration);
|
|
@@ -1353,7 +1339,7 @@ function deserializeWherePredicate(serialized) {
|
|
|
1353
1339
|
}
|
|
1354
1340
|
function serializeEdges(graph) {
|
|
1355
1341
|
const result = {};
|
|
1356
|
-
for (const kindName of
|
|
1342
|
+
for (const kindName of chunkWFUN6DCM_cjs.getEdgeKinds(graph)) {
|
|
1357
1343
|
const registration = graph.edges[kindName];
|
|
1358
1344
|
if (registration === void 0) continue;
|
|
1359
1345
|
result[kindName] = serializeEdgeDef(registration);
|
|
@@ -1501,7 +1487,7 @@ async function computeSchemaHash(schema) {
|
|
|
1501
1487
|
...schema.extension === void 0 ? {} : { extension: schema.extension },
|
|
1502
1488
|
...schema.deprecatedKinds === void 0 ? {} : { deprecatedKinds: schema.deprecatedKinds }
|
|
1503
1489
|
};
|
|
1504
|
-
const json = JSON.stringify(hashable, sortedReplacer);
|
|
1490
|
+
const json = JSON.stringify(hashable, chunkIUIWCFG3_cjs.sortedReplacer);
|
|
1505
1491
|
return chunkCTHNVU6K_cjs.sha256Hex(json);
|
|
1506
1492
|
}
|
|
1507
1493
|
var COMPILE_NODE_CACHE = /* @__PURE__ */ new Map();
|
|
@@ -1550,7 +1536,7 @@ function compileNode(kindName, document) {
|
|
|
1550
1536
|
const schema = buildObjectSchema(document.properties);
|
|
1551
1537
|
const type = defineNode(
|
|
1552
1538
|
kindName,
|
|
1553
|
-
|
|
1539
|
+
chunkPYJOBZR3_cjs.compactUndefined({
|
|
1554
1540
|
schema,
|
|
1555
1541
|
description: document.description,
|
|
1556
1542
|
annotations: document.annotations
|
|
@@ -1574,7 +1560,7 @@ function compileEdge(kindName, document, nodeTypeByName) {
|
|
|
1574
1560
|
(name) => nodeTypeByName.get(name) ?? name
|
|
1575
1561
|
);
|
|
1576
1562
|
return Object.freeze(
|
|
1577
|
-
|
|
1563
|
+
chunkPYJOBZR3_cjs.compactUndefined({
|
|
1578
1564
|
kindName,
|
|
1579
1565
|
schema,
|
|
1580
1566
|
description: document.description,
|
|
@@ -1708,7 +1694,7 @@ function makeWherePredicate(field, op) {
|
|
|
1708
1694
|
};
|
|
1709
1695
|
}
|
|
1710
1696
|
var META_EDGE_BY_NAME = Object.fromEntries(
|
|
1711
|
-
|
|
1697
|
+
chunkPYJOBZR3_cjs.ALL_META_EDGE_NAMES.map((name) => [name, core[`${name}MetaEdge`]])
|
|
1712
1698
|
);
|
|
1713
1699
|
function compileOntologyRelation(relation, nodeTypeByName) {
|
|
1714
1700
|
const metaEdge = META_EDGE_BY_NAME[relation.metaEdge];
|
|
@@ -1744,10 +1730,10 @@ function extensionKindNames(document) {
|
|
|
1744
1730
|
function mergeGraphExtension(graph, document) {
|
|
1745
1731
|
const existingDocument = graph.extension ?? Object.freeze({});
|
|
1746
1732
|
const unionDocument = unionDocuments(existingDocument, document);
|
|
1747
|
-
if (graph.extension !== void 0 && canonicalEqual(unionDocument, existingDocument)) {
|
|
1733
|
+
if (graph.extension !== void 0 && chunkIUIWCFG3_cjs.canonicalEqual(unionDocument, existingDocument)) {
|
|
1748
1734
|
return graph;
|
|
1749
1735
|
}
|
|
1750
|
-
const validatedUnion =
|
|
1736
|
+
const validatedUnion = chunkPYJOBZR3_cjs.unwrap(chunkPYJOBZR3_cjs.validateGraphExtension(unionDocument));
|
|
1751
1737
|
const compiled = compileGraphExtension(validatedUnion);
|
|
1752
1738
|
const { nodes: runtimeNodeNames, edges: runtimeEdgeNames } = extensionKindNames(existingDocument);
|
|
1753
1739
|
const nodeKinds = /* @__PURE__ */ new Map();
|
|
@@ -1799,7 +1785,7 @@ function mergeGraphExtension(graph, document) {
|
|
|
1799
1785
|
});
|
|
1800
1786
|
const type = defineEdge(
|
|
1801
1787
|
edge.kindName,
|
|
1802
|
-
|
|
1788
|
+
chunkPYJOBZR3_cjs.compactUndefined({
|
|
1803
1789
|
schema: edge.schema,
|
|
1804
1790
|
description: edge.description,
|
|
1805
1791
|
annotations: edge.annotations,
|
|
@@ -1849,7 +1835,7 @@ function deriveGraphExtensionVectorIndexes(compiledNodes) {
|
|
|
1849
1835
|
...compiled.unique.length === 0 ? {} : { unique: [...compiled.unique] }
|
|
1850
1836
|
};
|
|
1851
1837
|
}
|
|
1852
|
-
return
|
|
1838
|
+
return chunkWFUN6DCM_cjs.autoDeriveVectorIndexes(registrations).map(
|
|
1853
1839
|
(index) => Object.freeze({ ...index, origin: "runtime" })
|
|
1854
1840
|
);
|
|
1855
1841
|
}
|
|
@@ -1867,7 +1853,7 @@ function mergeIndexesWithGraphExtension(existing, runtimeIndexes, graphId) {
|
|
|
1867
1853
|
const runtimeRelational = runtimeIndexes.filter(
|
|
1868
1854
|
(index) => index.entity !== "vector"
|
|
1869
1855
|
);
|
|
1870
|
-
const vectorMerged =
|
|
1856
|
+
const vectorMerged = chunkWFUN6DCM_cjs.mergeVectorIndexes(compileTimeIndexes, runtimeVectors);
|
|
1871
1857
|
const merged = [...vectorMerged, ...runtimeRelational];
|
|
1872
1858
|
assertUniqueIndexNames(merged, graphId);
|
|
1873
1859
|
return merged;
|
|
@@ -1879,7 +1865,7 @@ function assertUniqueIndexNames(indexes, graphId) {
|
|
|
1879
1865
|
seen.add(index.name);
|
|
1880
1866
|
continue;
|
|
1881
1867
|
}
|
|
1882
|
-
throw new
|
|
1868
|
+
throw new chunkYEDQLNVE_cjs.ConfigurationError(
|
|
1883
1869
|
`Duplicate index name "${index.name}" after merging graph extension into graph "${graphId}". Index names must be unique within a graph.`,
|
|
1884
1870
|
{ graphId, indexName: index.name, code: "DUPLICATE_INDEX_NAME" },
|
|
1885
1871
|
{
|
|
@@ -1895,7 +1881,7 @@ function compileGraphExtensionRelationalIndexes(documents, nodeKinds, mergedEdge
|
|
|
1895
1881
|
if (document.entity === "node") {
|
|
1896
1882
|
const node = nodeKinds.get(document.kind);
|
|
1897
1883
|
if (node === void 0) {
|
|
1898
|
-
throw new
|
|
1884
|
+
throw new chunkYEDQLNVE_cjs.KindNotFoundError(document.kind, "node", {
|
|
1899
1885
|
graphId,
|
|
1900
1886
|
suggestion: "Declare the kind under `nodes` in this graph extension, or remove the index from `indexes`."
|
|
1901
1887
|
});
|
|
@@ -1909,7 +1895,7 @@ function compileGraphExtensionRelationalIndexes(documents, nodeKinds, mergedEdge
|
|
|
1909
1895
|
}
|
|
1910
1896
|
const edgeRegistration = mergedEdges[document.kind];
|
|
1911
1897
|
if (edgeRegistration === void 0) {
|
|
1912
|
-
throw new
|
|
1898
|
+
throw new chunkYEDQLNVE_cjs.KindNotFoundError(document.kind, "edge", {
|
|
1913
1899
|
graphId,
|
|
1914
1900
|
suggestion: "Declare the edge under `edges` in this graph extension, or remove the index from `indexes`."
|
|
1915
1901
|
});
|
|
@@ -1926,7 +1912,7 @@ function buildWhereCallback(where) {
|
|
|
1926
1912
|
return (props) => {
|
|
1927
1913
|
const builder = props[where.field];
|
|
1928
1914
|
if (builder === void 0) {
|
|
1929
|
-
throw new
|
|
1915
|
+
throw new chunkYEDQLNVE_cjs.ConfigurationError(
|
|
1930
1916
|
`Graph-extension index \`where\` references unknown field "${where.field}".`,
|
|
1931
1917
|
{ field: where.field, code: "EXTENSION_INDEX_WHERE_UNKNOWN_FIELD" }
|
|
1932
1918
|
);
|
|
@@ -1935,7 +1921,7 @@ function buildWhereCallback(where) {
|
|
|
1935
1921
|
};
|
|
1936
1922
|
}
|
|
1937
1923
|
function toNodeIndexConfig(document) {
|
|
1938
|
-
return
|
|
1924
|
+
return chunkPYJOBZR3_cjs.compactUndefined({
|
|
1939
1925
|
fields: document.fields,
|
|
1940
1926
|
coveringFields: document.coveringFields,
|
|
1941
1927
|
unique: document.unique,
|
|
@@ -1945,7 +1931,7 @@ function toNodeIndexConfig(document) {
|
|
|
1945
1931
|
});
|
|
1946
1932
|
}
|
|
1947
1933
|
function toEdgeIndexConfig(document) {
|
|
1948
|
-
return
|
|
1934
|
+
return chunkPYJOBZR3_cjs.compactUndefined({
|
|
1949
1935
|
fields: document.fields,
|
|
1950
1936
|
coveringFields: document.coveringFields,
|
|
1951
1937
|
unique: document.unique,
|
|
@@ -2001,14 +1987,14 @@ function isEmptyExtension(extension) {
|
|
|
2001
1987
|
}
|
|
2002
1988
|
function assertNoCollision(kindName, entity, collides, graphId) {
|
|
2003
1989
|
if (!collides) return;
|
|
2004
|
-
throw new
|
|
1990
|
+
throw new chunkPYJOBZR3_cjs.KindCollisionError(kindName, entity, graphId);
|
|
2005
1991
|
}
|
|
2006
1992
|
function resolveEndpoints(entries, nodeKinds, context) {
|
|
2007
1993
|
return entries.map((entry) => {
|
|
2008
1994
|
if (typeof entry !== "string") return entry;
|
|
2009
1995
|
const resolved = nodeKinds.get(entry);
|
|
2010
1996
|
if (resolved === void 0) {
|
|
2011
|
-
throw new
|
|
1997
|
+
throw new chunkPYJOBZR3_cjs.GraphExtensionUnresolvedEndpointError(
|
|
2012
1998
|
context.edgeKind,
|
|
2013
1999
|
context.side,
|
|
2014
2000
|
entry,
|
|
@@ -2353,7 +2339,7 @@ function parseSerializedSchema(json) {
|
|
|
2353
2339
|
try {
|
|
2354
2340
|
parsed = JSON.parse(json);
|
|
2355
2341
|
} catch {
|
|
2356
|
-
throw new
|
|
2342
|
+
throw new chunkYEDQLNVE_cjs.DatabaseOperationError(
|
|
2357
2343
|
"Stored schema document is not valid JSON",
|
|
2358
2344
|
{ operation: "select", entity: "schema" }
|
|
2359
2345
|
);
|
|
@@ -2361,12 +2347,12 @@ function parseSerializedSchema(json) {
|
|
|
2361
2347
|
const result = serializedSchemaZod.safeParse(parsed);
|
|
2362
2348
|
if (!result.success) {
|
|
2363
2349
|
const issues = result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; ");
|
|
2364
|
-
throw new
|
|
2350
|
+
throw new chunkYEDQLNVE_cjs.DatabaseOperationError(
|
|
2365
2351
|
`Stored schema document is malformed: ${issues}`,
|
|
2366
2352
|
{ operation: "select", entity: "schema" }
|
|
2367
2353
|
);
|
|
2368
2354
|
}
|
|
2369
|
-
const validated =
|
|
2355
|
+
const validated = chunkPYJOBZR3_cjs.freezeDeep(result.data);
|
|
2370
2356
|
if (PARSE_CACHE.size >= PARSE_CACHE_LIMIT) {
|
|
2371
2357
|
const oldest = PARSE_CACHE.keys().next().value;
|
|
2372
2358
|
if (oldest !== void 0) PARSE_CACHE.delete(oldest);
|
|
@@ -2374,23 +2360,14 @@ function parseSerializedSchema(json) {
|
|
|
2374
2360
|
PARSE_CACHE.set(json, validated);
|
|
2375
2361
|
return validated;
|
|
2376
2362
|
}
|
|
2377
|
-
var MISSING_TABLE_PATTERNS = [
|
|
2378
|
-
"no such table",
|
|
2379
|
-
// SQLite
|
|
2380
|
-
"does not exist",
|
|
2381
|
-
// PostgreSQL ("relation ... does not exist")
|
|
2382
|
-
"SQLITE_ERROR"
|
|
2383
|
-
// D1 / Durable Objects error code
|
|
2384
|
-
];
|
|
2385
|
-
function isMissingTableError(error) {
|
|
2386
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
2387
|
-
return MISSING_TABLE_PATTERNS.some((pattern) => message.includes(pattern));
|
|
2388
|
-
}
|
|
2389
2363
|
async function loadActiveSchemaWithBootstrap(backend, graphId) {
|
|
2390
2364
|
try {
|
|
2391
|
-
|
|
2365
|
+
const row = await backend.getActiveSchema(graphId);
|
|
2366
|
+
const ensureRuntime = backend.ensureRuntimeContributions ? backend.ensureRuntimeContributions(graphId) : backend.ensureFulltextTable?.(graphId);
|
|
2367
|
+
await ensureRuntime;
|
|
2368
|
+
return row;
|
|
2392
2369
|
} catch (error) {
|
|
2393
|
-
if (backend.bootstrapTables && isMissingTableError(error)) {
|
|
2370
|
+
if (backend.bootstrapTables && chunkIUIWCFG3_cjs.isMissingTableError(error)) {
|
|
2394
2371
|
await backend.bootstrapTables();
|
|
2395
2372
|
return await backend.getActiveSchema(graphId);
|
|
2396
2373
|
}
|
|
@@ -2478,7 +2455,7 @@ async function ensureSchema(backend, graph, options) {
|
|
|
2478
2455
|
}
|
|
2479
2456
|
const actions = getMigrationActions(diff);
|
|
2480
2457
|
if (throwOnBreaking) {
|
|
2481
|
-
throw new
|
|
2458
|
+
throw new chunkYEDQLNVE_cjs.MigrationError(
|
|
2482
2459
|
`Schema migration required: ${diff.summary}. ${actions.length} migration action(s) needed. Use getSchemaChanges() to review, then migrateSchema() to apply.`,
|
|
2483
2460
|
{
|
|
2484
2461
|
graphId: graph.id,
|
|
@@ -2523,7 +2500,7 @@ async function commitNewSchemaVersion(backend, graph, currentVersion) {
|
|
|
2523
2500
|
async function rollbackSchema(backend, graphId, targetVersion) {
|
|
2524
2501
|
const activeRow = await backend.getActiveSchema(graphId);
|
|
2525
2502
|
if (activeRow === void 0) {
|
|
2526
|
-
throw new
|
|
2503
|
+
throw new chunkYEDQLNVE_cjs.MigrationError(
|
|
2527
2504
|
`Cannot rollback graph "${graphId}": no active schema version exists.`,
|
|
2528
2505
|
{ graphId, fromVersion: 0, toVersion: targetVersion }
|
|
2529
2506
|
);
|
|
@@ -2572,7 +2549,7 @@ function validateProps(schema, props, context) {
|
|
|
2572
2549
|
}
|
|
2573
2550
|
const issues = zodIssuesToValidationIssues(result.error);
|
|
2574
2551
|
const location = buildLocationString(context);
|
|
2575
|
-
throw new
|
|
2552
|
+
throw new chunkYEDQLNVE_cjs.ValidationError(
|
|
2576
2553
|
`Invalid ${context.entityType} props for ${location}: ${result.error.message}`,
|
|
2577
2554
|
{
|
|
2578
2555
|
entityType: context.entityType,
|
|
@@ -2599,7 +2576,7 @@ function validateEdgeProps(schema, props, context) {
|
|
|
2599
2576
|
function wrapZodError(error, context) {
|
|
2600
2577
|
const issues = zodIssuesToValidationIssues(error);
|
|
2601
2578
|
const location = buildLocationString(context);
|
|
2602
|
-
return new
|
|
2579
|
+
return new chunkYEDQLNVE_cjs.ValidationError(
|
|
2603
2580
|
`Validation failed for ${context.entityType} ${location}: ${error.message}`,
|
|
2604
2581
|
{
|
|
2605
2582
|
entityType: context.entityType,
|
|
@@ -2612,7 +2589,7 @@ function wrapZodError(error, context) {
|
|
|
2612
2589
|
);
|
|
2613
2590
|
}
|
|
2614
2591
|
function createValidationError(message, issues, context) {
|
|
2615
|
-
return new
|
|
2592
|
+
return new chunkYEDQLNVE_cjs.ValidationError(message, {
|
|
2616
2593
|
...context?.entityType !== void 0 && {
|
|
2617
2594
|
entityType: context.entityType
|
|
2618
2595
|
},
|
|
@@ -2628,7 +2605,6 @@ exports.META_EDGE_BRAND = META_EDGE_BRAND;
|
|
|
2628
2605
|
exports.applyDeprecatedKinds = applyDeprecatedKinds;
|
|
2629
2606
|
exports.broader = broader;
|
|
2630
2607
|
exports.buildGraphExtensionOntologyKeySet = buildGraphExtensionOntologyKeySet;
|
|
2631
|
-
exports.canonicalEqual = canonicalEqual;
|
|
2632
2608
|
exports.commitNewSchemaVersion = commitNewSchemaVersion;
|
|
2633
2609
|
exports.compileTimeOntologyKey = compileTimeOntologyKey;
|
|
2634
2610
|
exports.computeClosuresFromOntology = computeClosuresFromOntology;
|
|
@@ -2668,11 +2644,10 @@ exports.rollbackSchema = rollbackSchema;
|
|
|
2668
2644
|
exports.sameAs = sameAs;
|
|
2669
2645
|
exports.serializeSchema = serializeSchema;
|
|
2670
2646
|
exports.serializeSchemaProperties = serializeSchemaProperties;
|
|
2671
|
-
exports.sortedReplacer = sortedReplacer;
|
|
2672
2647
|
exports.subClassOf = subClassOf;
|
|
2673
2648
|
exports.validateEdgeProps = validateEdgeProps;
|
|
2674
2649
|
exports.validateNodeProps = validateNodeProps;
|
|
2675
2650
|
exports.validateProps = validateProps;
|
|
2676
2651
|
exports.wrapZodError = wrapZodError;
|
|
2677
|
-
//# sourceMappingURL=chunk-
|
|
2678
|
-
//# sourceMappingURL=chunk-
|
|
2652
|
+
//# sourceMappingURL=chunk-4TJI44WP.cjs.map
|
|
2653
|
+
//# sourceMappingURL=chunk-4TJI44WP.cjs.map
|