@polintpro/proposit-core 0.3.0 → 0.4.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.
Files changed (100) hide show
  1. package/README.md +13 -0
  2. package/dist/cli/commands/sources.d.ts +3 -0
  3. package/dist/cli/commands/sources.d.ts.map +1 -0
  4. package/dist/cli/commands/sources.js +175 -0
  5. package/dist/cli/commands/sources.js.map +1 -0
  6. package/dist/cli/config.d.ts +2 -0
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +6 -0
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/engine.d.ts.map +1 -1
  11. package/dist/cli/engine.js +39 -1
  12. package/dist/cli/engine.js.map +1 -1
  13. package/dist/cli/schemata.d.ts +8 -0
  14. package/dist/cli/schemata.d.ts.map +1 -1
  15. package/dist/cli/schemata.js +10 -0
  16. package/dist/cli/schemata.js.map +1 -1
  17. package/dist/cli/storage/sources.d.ts +11 -0
  18. package/dist/cli/storage/sources.d.ts.map +1 -0
  19. package/dist/cli/storage/sources.js +105 -0
  20. package/dist/cli/storage/sources.js.map +1 -0
  21. package/dist/cli.js +2 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/extensions/ieee/index.d.ts +3 -0
  24. package/dist/extensions/ieee/index.d.ts.map +1 -0
  25. package/dist/extensions/ieee/index.js +3 -0
  26. package/dist/extensions/ieee/index.js.map +1 -0
  27. package/dist/extensions/ieee/references.d.ts +620 -0
  28. package/dist/extensions/ieee/references.d.ts.map +1 -0
  29. package/dist/extensions/ieee/references.js +450 -0
  30. package/dist/extensions/ieee/references.js.map +1 -0
  31. package/dist/extensions/ieee/source.d.ts +286 -0
  32. package/dist/extensions/ieee/source.d.ts.map +1 -0
  33. package/dist/extensions/ieee/source.js +12 -0
  34. package/dist/extensions/ieee/source.js.map +1 -0
  35. package/dist/lib/consts.d.ts.map +1 -1
  36. package/dist/lib/consts.js +19 -0
  37. package/dist/lib/consts.js.map +1 -1
  38. package/dist/lib/core/argument-engine.d.ts +42 -134
  39. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  40. package/dist/lib/core/argument-engine.js +299 -116
  41. package/dist/lib/core/argument-engine.js.map +1 -1
  42. package/dist/lib/core/change-collector.d.ts +12 -2
  43. package/dist/lib/core/change-collector.d.ts.map +1 -1
  44. package/dist/lib/core/change-collector.js +27 -0
  45. package/dist/lib/core/change-collector.js.map +1 -1
  46. package/dist/lib/core/diff.d.ts +8 -2
  47. package/dist/lib/core/diff.d.ts.map +1 -1
  48. package/dist/lib/core/diff.js +58 -0
  49. package/dist/lib/core/diff.js.map +1 -1
  50. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +334 -0
  51. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
  52. package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
  53. package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
  54. package/dist/lib/core/interfaces/index.d.ts +5 -0
  55. package/dist/lib/core/interfaces/index.d.ts.map +1 -0
  56. package/dist/lib/core/interfaces/index.js +2 -0
  57. package/dist/lib/core/interfaces/index.js.map +1 -0
  58. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +317 -0
  59. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
  60. package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
  61. package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
  62. package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
  63. package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
  64. package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
  65. package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
  66. package/dist/lib/core/interfaces/source-management.interfaces.d.ts +110 -0
  67. package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
  68. package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
  69. package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
  70. package/dist/lib/core/premise-engine.d.ts +19 -153
  71. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  72. package/dist/lib/core/premise-engine.js +95 -143
  73. package/dist/lib/core/premise-engine.js.map +1 -1
  74. package/dist/lib/core/source-manager.d.ts +109 -0
  75. package/dist/lib/core/source-manager.d.ts.map +1 -0
  76. package/dist/lib/core/source-manager.js +420 -0
  77. package/dist/lib/core/source-manager.js.map +1 -0
  78. package/dist/lib/index.d.ts +4 -1
  79. package/dist/lib/index.d.ts.map +1 -1
  80. package/dist/lib/index.js +2 -1
  81. package/dist/lib/index.js.map +1 -1
  82. package/dist/lib/schemata/index.d.ts +1 -0
  83. package/dist/lib/schemata/index.d.ts.map +1 -1
  84. package/dist/lib/schemata/index.js +1 -0
  85. package/dist/lib/schemata/index.js.map +1 -1
  86. package/dist/lib/schemata/source.d.ts +28 -0
  87. package/dist/lib/schemata/source.d.ts.map +1 -0
  88. package/dist/lib/schemata/source.js +35 -0
  89. package/dist/lib/schemata/source.js.map +1 -0
  90. package/dist/lib/types/checksum.d.ts +6 -0
  91. package/dist/lib/types/checksum.d.ts.map +1 -1
  92. package/dist/lib/types/diff.d.ts +9 -3
  93. package/dist/lib/types/diff.d.ts.map +1 -1
  94. package/dist/lib/types/evaluation.d.ts +1 -1
  95. package/dist/lib/types/evaluation.d.ts.map +1 -1
  96. package/dist/lib/types/mutation.d.ts +7 -3
  97. package/dist/lib/types/mutation.d.ts.map +1 -1
  98. package/dist/lib/types/reactive.d.ts +5 -2
  99. package/dist/lib/types/reactive.d.ts.map +1 -1
  100. package/package.json +5 -1
@@ -0,0 +1,420 @@
1
+ /**
2
+ * Registry for sources and their associations to variables and expressions
3
+ * within an argument. Shared across all premises.
4
+ *
5
+ * Enforces uniqueness of source and association IDs. Automatically removes
6
+ * orphaned sources (sources with zero remaining associations) when
7
+ * associations are deleted.
8
+ */
9
+ export class SourceManager {
10
+ sources;
11
+ variableAssociations;
12
+ expressionAssociations;
13
+ sourceToAssociations;
14
+ variableToAssociations;
15
+ expressionToAssociations;
16
+ constructor() {
17
+ this.sources = new Map();
18
+ this.variableAssociations = new Map();
19
+ this.expressionAssociations = new Map();
20
+ this.sourceToAssociations = new Map();
21
+ this.variableToAssociations = new Map();
22
+ this.expressionToAssociations = new Map();
23
+ }
24
+ // -----------------------------------------------------------------------
25
+ // Source mutations
26
+ // -----------------------------------------------------------------------
27
+ /**
28
+ * Registers a source.
29
+ *
30
+ * @throws If a source with the same ID already exists.
31
+ */
32
+ addSource(source) {
33
+ if (this.sources.has(source.id)) {
34
+ throw new Error(`Source with ID "${source.id}" already exists.`);
35
+ }
36
+ this.sources.set(source.id, source);
37
+ this.sourceToAssociations.set(source.id, new Set());
38
+ }
39
+ /**
40
+ * Removes a source and cascades deletion to all its associations.
41
+ *
42
+ * @throws If the source does not exist.
43
+ */
44
+ removeSource(sourceId) {
45
+ const source = this.sources.get(sourceId);
46
+ if (!source) {
47
+ throw new Error(`Source "${sourceId}" does not exist.`);
48
+ }
49
+ const associationIds = this.sourceToAssociations.get(sourceId);
50
+ const removedVariableAssociations = [];
51
+ const removedExpressionAssociations = [];
52
+ if (associationIds) {
53
+ for (const assocId of associationIds) {
54
+ const varAssoc = this.variableAssociations.get(assocId);
55
+ if (varAssoc) {
56
+ this.variableAssociations.delete(assocId);
57
+ const varSet = this.variableToAssociations.get(varAssoc.variableId);
58
+ if (varSet) {
59
+ varSet.delete(assocId);
60
+ if (varSet.size === 0) {
61
+ this.variableToAssociations.delete(varAssoc.variableId);
62
+ }
63
+ }
64
+ removedVariableAssociations.push(varAssoc);
65
+ continue;
66
+ }
67
+ const exprAssoc = this.expressionAssociations.get(assocId);
68
+ if (exprAssoc) {
69
+ this.expressionAssociations.delete(assocId);
70
+ const exprSet = this.expressionToAssociations.get(exprAssoc.expressionId);
71
+ if (exprSet) {
72
+ exprSet.delete(assocId);
73
+ if (exprSet.size === 0) {
74
+ this.expressionToAssociations.delete(exprAssoc.expressionId);
75
+ }
76
+ }
77
+ removedExpressionAssociations.push(exprAssoc);
78
+ }
79
+ }
80
+ }
81
+ this.sources.delete(sourceId);
82
+ this.sourceToAssociations.delete(sourceId);
83
+ return {
84
+ removedVariableAssociations,
85
+ removedExpressionAssociations,
86
+ removedOrphanSources: [],
87
+ };
88
+ }
89
+ // -----------------------------------------------------------------------
90
+ // Variable association mutations
91
+ // -----------------------------------------------------------------------
92
+ /**
93
+ * Registers a variable-source association.
94
+ *
95
+ * @throws If an association with the same ID already exists.
96
+ * @throws If the referenced source does not exist.
97
+ */
98
+ addVariableSourceAssociation(assoc) {
99
+ if (this.variableAssociations.has(assoc.id)) {
100
+ throw new Error(`Variable-source association with ID "${assoc.id}" already exists.`);
101
+ }
102
+ if (!this.sources.has(assoc.sourceId)) {
103
+ throw new Error(`Source "${assoc.sourceId}" does not exist.`);
104
+ }
105
+ this.variableAssociations.set(assoc.id, assoc);
106
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
107
+ sourceSet.add(assoc.id);
108
+ let varSet = this.variableToAssociations.get(assoc.variableId);
109
+ if (!varSet) {
110
+ varSet = new Set();
111
+ this.variableToAssociations.set(assoc.variableId, varSet);
112
+ }
113
+ varSet.add(assoc.id);
114
+ }
115
+ /**
116
+ * Removes a variable-source association by ID.
117
+ *
118
+ * @returns The removed association and any orphaned sources.
119
+ * @throws If the association does not exist.
120
+ */
121
+ removeVariableSourceAssociation(id) {
122
+ const assoc = this.variableAssociations.get(id);
123
+ if (!assoc) {
124
+ throw new Error(`Variable-source association "${id}" does not exist.`);
125
+ }
126
+ this.variableAssociations.delete(id);
127
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
128
+ if (sourceSet) {
129
+ sourceSet.delete(id);
130
+ }
131
+ const varSet = this.variableToAssociations.get(assoc.variableId);
132
+ if (varSet) {
133
+ varSet.delete(id);
134
+ if (varSet.size === 0) {
135
+ this.variableToAssociations.delete(assoc.variableId);
136
+ }
137
+ }
138
+ const removedOrphanSources = this.cleanupOrphanedSource(assoc.sourceId);
139
+ return {
140
+ removedVariableAssociations: [assoc],
141
+ removedExpressionAssociations: [],
142
+ removedOrphanSources,
143
+ };
144
+ }
145
+ // -----------------------------------------------------------------------
146
+ // Expression association mutations
147
+ // -----------------------------------------------------------------------
148
+ /**
149
+ * Registers an expression-source association.
150
+ *
151
+ * @throws If an association with the same ID already exists.
152
+ * @throws If the referenced source does not exist.
153
+ */
154
+ addExpressionSourceAssociation(assoc) {
155
+ if (this.expressionAssociations.has(assoc.id)) {
156
+ throw new Error(`Expression-source association with ID "${assoc.id}" already exists.`);
157
+ }
158
+ if (!this.sources.has(assoc.sourceId)) {
159
+ throw new Error(`Source "${assoc.sourceId}" does not exist.`);
160
+ }
161
+ this.expressionAssociations.set(assoc.id, assoc);
162
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
163
+ sourceSet.add(assoc.id);
164
+ let exprSet = this.expressionToAssociations.get(assoc.expressionId);
165
+ if (!exprSet) {
166
+ exprSet = new Set();
167
+ this.expressionToAssociations.set(assoc.expressionId, exprSet);
168
+ }
169
+ exprSet.add(assoc.id);
170
+ }
171
+ /**
172
+ * Removes an expression-source association by ID.
173
+ *
174
+ * @returns The removed association and any orphaned sources.
175
+ * @throws If the association does not exist.
176
+ */
177
+ removeExpressionSourceAssociation(id) {
178
+ const assoc = this.expressionAssociations.get(id);
179
+ if (!assoc) {
180
+ throw new Error(`Expression-source association "${id}" does not exist.`);
181
+ }
182
+ this.expressionAssociations.delete(id);
183
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
184
+ if (sourceSet) {
185
+ sourceSet.delete(id);
186
+ }
187
+ const exprSet = this.expressionToAssociations.get(assoc.expressionId);
188
+ if (exprSet) {
189
+ exprSet.delete(id);
190
+ if (exprSet.size === 0) {
191
+ this.expressionToAssociations.delete(assoc.expressionId);
192
+ }
193
+ }
194
+ const removedOrphanSources = this.cleanupOrphanedSource(assoc.sourceId);
195
+ return {
196
+ removedVariableAssociations: [],
197
+ removedExpressionAssociations: [assoc],
198
+ removedOrphanSources,
199
+ };
200
+ }
201
+ // -----------------------------------------------------------------------
202
+ // Bulk association removal (for cascade from variable/expression deletion)
203
+ // -----------------------------------------------------------------------
204
+ /**
205
+ * Removes all variable-source associations for a given variable.
206
+ * Orphaned sources are automatically cleaned up.
207
+ */
208
+ removeAssociationsForVariable(variableId) {
209
+ const assocIds = this.variableToAssociations.get(variableId);
210
+ if (!assocIds || assocIds.size === 0) {
211
+ return {
212
+ removedVariableAssociations: [],
213
+ removedExpressionAssociations: [],
214
+ removedOrphanSources: [],
215
+ };
216
+ }
217
+ const removedVariableAssociations = [];
218
+ const sourceIdsToCheck = new Set();
219
+ for (const assocId of assocIds) {
220
+ const assoc = this.variableAssociations.get(assocId);
221
+ if (!assoc)
222
+ continue;
223
+ this.variableAssociations.delete(assocId);
224
+ sourceIdsToCheck.add(assoc.sourceId);
225
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
226
+ if (sourceSet) {
227
+ sourceSet.delete(assocId);
228
+ }
229
+ removedVariableAssociations.push(assoc);
230
+ }
231
+ this.variableToAssociations.delete(variableId);
232
+ const removedOrphanSources = [];
233
+ for (const sourceId of sourceIdsToCheck) {
234
+ removedOrphanSources.push(...this.cleanupOrphanedSource(sourceId));
235
+ }
236
+ return {
237
+ removedVariableAssociations,
238
+ removedExpressionAssociations: [],
239
+ removedOrphanSources,
240
+ };
241
+ }
242
+ /**
243
+ * Removes all expression-source associations for a given expression.
244
+ * Orphaned sources are automatically cleaned up.
245
+ */
246
+ removeAssociationsForExpression(expressionId) {
247
+ const assocIds = this.expressionToAssociations.get(expressionId);
248
+ if (!assocIds || assocIds.size === 0) {
249
+ return {
250
+ removedVariableAssociations: [],
251
+ removedExpressionAssociations: [],
252
+ removedOrphanSources: [],
253
+ };
254
+ }
255
+ const removedExpressionAssociations = [];
256
+ const sourceIdsToCheck = new Set();
257
+ for (const assocId of assocIds) {
258
+ const assoc = this.expressionAssociations.get(assocId);
259
+ if (!assoc)
260
+ continue;
261
+ this.expressionAssociations.delete(assocId);
262
+ sourceIdsToCheck.add(assoc.sourceId);
263
+ const sourceSet = this.sourceToAssociations.get(assoc.sourceId);
264
+ if (sourceSet) {
265
+ sourceSet.delete(assocId);
266
+ }
267
+ removedExpressionAssociations.push(assoc);
268
+ }
269
+ this.expressionToAssociations.delete(expressionId);
270
+ const removedOrphanSources = [];
271
+ for (const sourceId of sourceIdsToCheck) {
272
+ removedOrphanSources.push(...this.cleanupOrphanedSource(sourceId));
273
+ }
274
+ return {
275
+ removedVariableAssociations: [],
276
+ removedExpressionAssociations,
277
+ removedOrphanSources,
278
+ };
279
+ }
280
+ // -----------------------------------------------------------------------
281
+ // Queries
282
+ // -----------------------------------------------------------------------
283
+ /** Returns the source with the given ID, or `undefined` if not found. */
284
+ getSource(id) {
285
+ return this.sources.get(id);
286
+ }
287
+ /** Returns all registered sources sorted by ID for deterministic output. */
288
+ getSources() {
289
+ return Array.from(this.sources.values()).sort((a, b) => a.id.localeCompare(b.id));
290
+ }
291
+ /** Returns all associations (variable and expression) for a given source. */
292
+ getAssociationsForSource(sourceId) {
293
+ const assocIds = this.sourceToAssociations.get(sourceId);
294
+ if (!assocIds) {
295
+ return { variable: [], expression: [] };
296
+ }
297
+ const variable = [];
298
+ const expression = [];
299
+ for (const assocId of assocIds) {
300
+ const varAssoc = this.variableAssociations.get(assocId);
301
+ if (varAssoc) {
302
+ variable.push(varAssoc);
303
+ continue;
304
+ }
305
+ const exprAssoc = this.expressionAssociations.get(assocId);
306
+ if (exprAssoc) {
307
+ expression.push(exprAssoc);
308
+ }
309
+ }
310
+ return { variable, expression };
311
+ }
312
+ /** Returns all variable-source associations for a given variable. */
313
+ getAssociationsForVariable(variableId) {
314
+ const assocIds = this.variableToAssociations.get(variableId);
315
+ if (!assocIds)
316
+ return [];
317
+ const result = [];
318
+ for (const assocId of assocIds) {
319
+ const assoc = this.variableAssociations.get(assocId);
320
+ if (assoc)
321
+ result.push(assoc);
322
+ }
323
+ return result;
324
+ }
325
+ /** Returns all expression-source associations for a given expression. */
326
+ getAssociationsForExpression(expressionId) {
327
+ const assocIds = this.expressionToAssociations.get(expressionId);
328
+ if (!assocIds)
329
+ return [];
330
+ const result = [];
331
+ for (const assocId of assocIds) {
332
+ const assoc = this.expressionAssociations.get(assocId);
333
+ if (assoc)
334
+ result.push(assoc);
335
+ }
336
+ return result;
337
+ }
338
+ /** Returns all variable-source associations. */
339
+ getAllVariableSourceAssociations() {
340
+ return Array.from(this.variableAssociations.values());
341
+ }
342
+ /** Returns all expression-source associations. */
343
+ getAllExpressionSourceAssociations() {
344
+ return Array.from(this.expressionAssociations.values());
345
+ }
346
+ // -----------------------------------------------------------------------
347
+ // Snapshot & restoration
348
+ // -----------------------------------------------------------------------
349
+ /** Returns a serializable snapshot of the current state. */
350
+ snapshot() {
351
+ return {
352
+ sources: this.getSources(),
353
+ variableSourceAssociations: Array.from(this.variableAssociations.values()).sort((a, b) => a.id.localeCompare(b.id)),
354
+ expressionSourceAssociations: Array.from(this.expressionAssociations.values()).sort((a, b) => a.id.localeCompare(b.id)),
355
+ };
356
+ }
357
+ /**
358
+ * Creates a new SourceManager from a previously captured snapshot.
359
+ * Rebuilds all internal maps and indices. No validation or orphan
360
+ * cleanup is performed — the snapshot is restored verbatim.
361
+ */
362
+ static fromSnapshot(data) {
363
+ const sm = new SourceManager();
364
+ // Restore sources (without creating empty sourceToAssociations entries
365
+ // here — we build those from the associations below)
366
+ for (const source of data.sources) {
367
+ sm.sources.set(source.id, source);
368
+ sm.sourceToAssociations.set(source.id, new Set());
369
+ }
370
+ // Restore variable associations and rebuild indices
371
+ for (const assoc of data.variableSourceAssociations) {
372
+ sm.variableAssociations.set(assoc.id, assoc);
373
+ const sourceSet = sm.sourceToAssociations.get(assoc.sourceId);
374
+ if (sourceSet) {
375
+ sourceSet.add(assoc.id);
376
+ }
377
+ let varSet = sm.variableToAssociations.get(assoc.variableId);
378
+ if (!varSet) {
379
+ varSet = new Set();
380
+ sm.variableToAssociations.set(assoc.variableId, varSet);
381
+ }
382
+ varSet.add(assoc.id);
383
+ }
384
+ // Restore expression associations and rebuild indices
385
+ for (const assoc of data.expressionSourceAssociations) {
386
+ sm.expressionAssociations.set(assoc.id, assoc);
387
+ const sourceSet = sm.sourceToAssociations.get(assoc.sourceId);
388
+ if (sourceSet) {
389
+ sourceSet.add(assoc.id);
390
+ }
391
+ let exprSet = sm.expressionToAssociations.get(assoc.expressionId);
392
+ if (!exprSet) {
393
+ exprSet = new Set();
394
+ sm.expressionToAssociations.set(assoc.expressionId, exprSet);
395
+ }
396
+ exprSet.add(assoc.id);
397
+ }
398
+ return sm;
399
+ }
400
+ // -----------------------------------------------------------------------
401
+ // Internal helpers
402
+ // -----------------------------------------------------------------------
403
+ /**
404
+ * Checks if the given source has zero remaining associations and, if so,
405
+ * removes it and returns it in an array. Returns an empty array otherwise.
406
+ */
407
+ cleanupOrphanedSource(sourceId) {
408
+ const sourceSet = this.sourceToAssociations.get(sourceId);
409
+ if (sourceSet?.size === 0) {
410
+ const source = this.sources.get(sourceId);
411
+ if (source) {
412
+ this.sources.delete(sourceId);
413
+ this.sourceToAssociations.delete(sourceId);
414
+ return [source];
415
+ }
416
+ }
417
+ return [];
418
+ }
419
+ }
420
+ //# sourceMappingURL=source-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-manager.js","sourceRoot":"","sources":["../../../src/lib/core/source-manager.ts"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACd,OAAO,CAAsB;IAC7B,oBAAoB,CAA6C;IACjE,sBAAsB,CAG7B;IACO,oBAAoB,CAA0B;IAC9C,sBAAsB,CAA0B;IAChD,wBAAwB,CAA0B;IAE1D;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAA;QACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QACrC,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAA;QACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAA;IAC7C,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAE1E;;;;OAIG;IACI,SAAS,CAAC,MAAe;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,QAAgB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,mBAAmB,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9D,MAAM,2BAA2B,GAAqC,EAAE,CAAA;QACxE,MAAM,6BAA6B,GAC/B,EAAE,CAAA;QAEN,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACvD,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC1C,QAAQ,CAAC,UAAU,CACtB,CAAA;oBACD,IAAI,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBACtB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;4BACpB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC9B,QAAQ,CAAC,UAAU,CACtB,CAAA;wBACL,CAAC;oBACL,CAAC;oBACD,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC1C,SAAQ;gBACZ,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC1D,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC7C,SAAS,CAAC,YAAY,CACzB,CAAA;oBACD,IAAI,OAAO,EAAE,CAAC;wBACV,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBACvB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;4BACrB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAChC,SAAS,CAAC,YAAY,CACzB,CAAA;wBACL,CAAC;oBACL,CAAC;oBACD,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACjD,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE1C,OAAO;YACH,2BAA2B;YAC3B,6BAA6B;YAC7B,oBAAoB,EAAE,EAAE;SAC3B,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,iCAAiC;IACjC,0EAA0E;IAE1E;;;;;OAKG;IACI,4BAA4B,CAC/B,KAAqC;QAErC,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACX,wCAAwC,KAAK,CAAC,EAAE,mBAAmB,CACtE,CAAA;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,QAAQ,mBAAmB,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAA;QAChE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEvB,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC7D,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACI,+BAA+B,CAClC,EAAU;QAEV,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACX,gCAAgC,EAAE,mBAAmB,CACxD,CAAA;QACL,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAChE,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACjB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACxD,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEvE,OAAO;YACH,2BAA2B,EAAE,CAAC,KAAK,CAAC;YACpC,6BAA6B,EAAE,EAAE;YACjC,oBAAoB;SACvB,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,mCAAmC;IACnC,0EAA0E;IAE1E;;;;;OAKG;IACI,8BAA8B,CACjC,KAAuC;QAEvC,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACX,0CAA0C,KAAK,CAAC,EAAE,mBAAmB,CACxE,CAAA;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,QAAQ,mBAAmB,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAA;QAChE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEvB,IAAI,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;YACnB,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAClE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACI,iCAAiC,CACpC,EAAU;QAEV,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACX,kCAAkC,EAAE,mBAAmB,CAC1D,CAAA;QACL,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC5D,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEvE,OAAO;YACH,2BAA2B,EAAE,EAAE;YAC/B,6BAA6B,EAAE,CAAC,KAAK,CAAC;YACtC,oBAAoB;SACvB,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAE1E;;;OAGG;IACI,6BAA6B,CAChC,UAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;gBACH,2BAA2B,EAAE,EAAE;gBAC/B,6BAA6B,EAAE,EAAE;gBACjC,oBAAoB,EAAE,EAAE;aAC3B,CAAA;QACL,CAAC;QAED,MAAM,2BAA2B,GAAqC,EAAE,CAAA;QACxE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;QAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAEpB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACzC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/D,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAED,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9C,MAAM,oBAAoB,GAAc,EAAE,CAAA;QAC1C,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,OAAO;YACH,2BAA2B;YAC3B,6BAA6B,EAAE,EAAE;YACjC,oBAAoB;SACvB,CAAA;IACL,CAAC;IAED;;;OAGG;IACI,+BAA+B,CAClC,YAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;gBACH,2BAA2B,EAAE,EAAE;gBAC/B,6BAA6B,EAAE,EAAE;gBACjC,oBAAoB,EAAE,EAAE;aAC3B,CAAA;QACL,CAAC;QAED,MAAM,6BAA6B,GAC/B,EAAE,CAAA;QACN,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;QAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACtD,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAEpB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC3C,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/D,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAED,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAElD,MAAM,oBAAoB,GAAc,EAAE,CAAA;QAC1C,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,OAAO;YACH,2BAA2B,EAAE,EAAE;YAC/B,6BAA6B;YAC7B,oBAAoB;SACvB,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,UAAU;IACV,0EAA0E;IAE1E,yEAAyE;IAClE,SAAS,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,4EAA4E;IACrE,UAAU;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3B,CAAA;IACL,CAAC;IAED,6EAA6E;IACtE,wBAAwB,CAAC,QAAgB;QAI5C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAqC,EAAE,CAAA;QACrD,MAAM,UAAU,GAAuC,EAAE,CAAA;QAEzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACvB,SAAQ;YACZ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC1D,IAAI,SAAS,EAAE,CAAC;gBACZ,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;IACnC,CAAC;IAED,qEAAqE;IAC9D,0BAA0B,CAC7B,UAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QAExB,MAAM,MAAM,GAAqC,EAAE,CAAA;QACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,yEAAyE;IAClE,4BAA4B,CAC/B,YAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAA;QAExB,MAAM,MAAM,GAAuC,EAAE,CAAA;QACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACtD,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,gDAAgD;IACzC,gCAAgC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,kDAAkD;IAC3C,kCAAkC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,0EAA0E;IAC1E,yBAAyB;IACzB,0EAA0E;IAE1E,4DAA4D;IACrD,QAAQ;QACX,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,0BAA0B,EAAE,KAAK,CAAC,IAAI,CAClC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CACrC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,4BAA4B,EAAE,KAAK,CAAC,IAAI,CACpC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CACvC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7C,CAAA;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CACtB,IAAqC;QAErC,MAAM,EAAE,GAAG,IAAI,aAAa,EAAW,CAAA;QAEvC,uEAAuE;QACvE,qDAAqD;QACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACjC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,oDAAoD;QACpD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClD,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAE5C,MAAM,SAAS,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3B,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;gBAClB,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAC3D,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;QAED,sDAAsD;QACtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpD,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAE9C,MAAM,SAAS,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3B,CAAC;YAED,IAAI,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;gBACnB,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YAChE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAE1E;;;OAGG;IACK,qBAAqB,CAAC,QAAgB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,SAAS,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC;CACJ"}
@@ -7,14 +7,17 @@ export { ArgumentEngine } from "./core/argument-engine.js";
7
7
  export type { TLogicEngineOptions, TArgumentEngineSnapshot, } from "./core/argument-engine.js";
8
8
  export { PremiseEngine } from "./core/premise-engine.js";
9
9
  export type { TPremiseEngineSnapshot } from "./core/premise-engine.js";
10
+ export type * from "./core/interfaces/index.js";
10
11
  export type { TExpressionManagerSnapshot } from "./core/expression-manager.js";
11
12
  export type { TVariableManagerSnapshot } from "./core/variable-manager.js";
13
+ export { SourceManager } from "./core/source-manager.js";
14
+ export type { TSourceManagerSnapshot, TSourceRemovalResult, } from "./core/source-manager.js";
12
15
  export * from "./types/evaluation.js";
13
16
  export * from "./types/diff.js";
14
17
  export * from "./types/mutation.js";
15
18
  export * from "./types/checksum.js";
16
19
  export { computeHash, canonicalSerialize, entityChecksum, } from "./core/checksum.js";
17
- export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./core/diff.js";
20
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, defaultCompareSource, defaultCompareVariableSourceAssociation, defaultCompareExpressionSourceAssociation, } from "./core/diff.js";
18
21
  export * from "./types/relationships.js";
19
22
  export { analyzePremiseRelationships, buildPremiseProfile, } from "./core/relationships.js";
20
23
  export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig } from "./consts.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,YAAY,EACR,mBAAmB,EACnB,uBAAuB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAC9E,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,YAAY,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,YAAY,EACR,mBAAmB,EACnB,uBAAuB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,mBAAmB,4BAA4B,CAAA;AAC/C,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAC9E,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,YAAY,EACR,sBAAsB,EACtB,oBAAoB,GACvB,MAAM,0BAA0B,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,uCAAuC,EACvC,yCAAyC,GAC5C,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,YAAY,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,cAAc,qBAAqB,CAAA"}
package/dist/lib/index.js CHANGED
@@ -5,12 +5,13 @@
5
5
  export * from "./schemata/index.js";
6
6
  export { ArgumentEngine } from "./core/argument-engine.js";
7
7
  export { PremiseEngine } from "./core/premise-engine.js";
8
+ export { SourceManager } from "./core/source-manager.js";
8
9
  export * from "./types/evaluation.js";
9
10
  export * from "./types/diff.js";
10
11
  export * from "./types/mutation.js";
11
12
  export * from "./types/checksum.js";
12
13
  export { computeHash, canonicalSerialize, entityChecksum, } from "./core/checksum.js";
13
- export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./core/diff.js";
14
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, defaultCompareSource, defaultCompareVariableSourceAssociation, defaultCompareExpressionSourceAssociation, } from "./core/diff.js";
14
15
  export * from "./types/relationships.js";
15
16
  export { analyzePremiseRelationships, buildPremiseProfile, } from "./core/relationships.js";
16
17
  export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig } from "./consts.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAIxD,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAOvD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAE5B,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAKxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAKxD,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,uCAAuC,EACvC,yCAAyC,GAC5C,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAOvD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAE5B,cAAc,qBAAqB,CAAA"}
@@ -2,4 +2,5 @@ export * from "./analysis.js";
2
2
  export * from "./argument.js";
3
3
  export * from "./propositional.js";
4
4
  export * from "./shared.js";
5
+ export * from "./source.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/schemata/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/schemata/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -2,4 +2,5 @@ export * from "./analysis.js";
2
2
  export * from "./argument.js";
3
3
  export * from "./propositional.js";
4
4
  export * from "./shared.js";
5
+ export * from "./source.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/schemata/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/schemata/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,28 @@
1
+ import Type, { type Static } from "typebox";
2
+ export declare const CoreSourceSchema: Type.TObject<{
3
+ id: Type.TString;
4
+ argumentId: Type.TString;
5
+ argumentVersion: Type.TNumber;
6
+ checksum: Type.TString;
7
+ }>;
8
+ export type TCoreSource = Static<typeof CoreSourceSchema>;
9
+ export declare const CoreVariableSourceAssociationSchema: Type.TObject<{
10
+ id: Type.TString;
11
+ sourceId: Type.TString;
12
+ variableId: Type.TString;
13
+ argumentId: Type.TString;
14
+ argumentVersion: Type.TNumber;
15
+ checksum: Type.TString;
16
+ }>;
17
+ export type TCoreVariableSourceAssociation = Static<typeof CoreVariableSourceAssociationSchema>;
18
+ export declare const CoreExpressionSourceAssociationSchema: Type.TObject<{
19
+ id: Type.TString;
20
+ sourceId: Type.TString;
21
+ expressionId: Type.TString;
22
+ premiseId: Type.TString;
23
+ argumentId: Type.TString;
24
+ argumentVersion: Type.TNumber;
25
+ checksum: Type.TString;
26
+ }>;
27
+ export type TCoreExpressionSourceAssociation = Static<typeof CoreExpressionSourceAssociationSchema>;
28
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/lib/schemata/source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,gBAAgB;;;;;EAc5B,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,mCAAmC;;;;;;;EAS9C,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAC/C,OAAO,mCAAmC,CAC7C,CAAA;AAED,eAAO,MAAM,qCAAqC;;;;;;;;EAUhD,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,MAAM,CACjD,OAAO,qCAAqC,CAC/C,CAAA"}
@@ -0,0 +1,35 @@
1
+ import Type, {} from "typebox";
2
+ import { UUID } from "./shared.js";
3
+ export const CoreSourceSchema = Type.Object({
4
+ id: UUID,
5
+ argumentId: UUID,
6
+ argumentVersion: Type.Number(),
7
+ checksum: Type.String({
8
+ description: "Source-level checksum for sync detection.",
9
+ }),
10
+ }, {
11
+ additionalProperties: true,
12
+ description: "A source entity providing evidentiary support for variables or expressions.",
13
+ });
14
+ export const CoreVariableSourceAssociationSchema = Type.Object({
15
+ id: UUID,
16
+ sourceId: UUID,
17
+ variableId: UUID,
18
+ argumentId: UUID,
19
+ argumentVersion: Type.Number(),
20
+ checksum: Type.String({
21
+ description: "Association checksum for sync detection.",
22
+ }),
23
+ });
24
+ export const CoreExpressionSourceAssociationSchema = Type.Object({
25
+ id: UUID,
26
+ sourceId: UUID,
27
+ expressionId: UUID,
28
+ premiseId: UUID,
29
+ argumentId: UUID,
30
+ argumentVersion: Type.Number(),
31
+ checksum: Type.String({
32
+ description: "Association checksum for sync detection.",
33
+ }),
34
+ });
35
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/lib/schemata/source.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAe,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CACvC;IACI,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;IAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,2CAA2C;KAC3D,CAAC;CACL,EACD;IACI,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EACP,6EAA6E;CACpF,CACJ,CAAA;AAGD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3D,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;IAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,0CAA0C;KAC1D,CAAC;CACL,CAAC,CAAA;AAKF,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;IAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,0CAA0C;KAC1D,CAAC;CACL,CAAC,CAAA"}
@@ -10,5 +10,11 @@ export interface TCoreChecksumConfig {
10
10
  argumentFields?: Set<string>;
11
11
  /** Fields to hash for role state. Defaults to ["conclusionPremiseId"]. */
12
12
  roleFields?: Set<string>;
13
+ /** Fields to hash for source entities. Defaults to ["id", "argumentId", "argumentVersion"]. */
14
+ sourceFields?: Set<string>;
15
+ /** Fields to hash for variable-source associations. */
16
+ variableSourceAssociationFields?: Set<string>;
17
+ /** Fields to hash for expression-source associations. */
18
+ expressionSourceAssociationFields?: Set<string>;
13
19
  }
14
20
  //# sourceMappingURL=checksum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../../src/lib/types/checksum.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAChC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,gGAAgG;IAChG,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B"}
1
+ {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../../src/lib/types/checksum.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAChC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,gGAAgG;IAChG,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACxB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,uDAAuD;IACvD,+BAA+B,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7C,yDAAyD;IACzD,iCAAiC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAClD"}
@@ -1,4 +1,4 @@
1
- import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
1
+ import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TCoreSource, TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../schemata/index.js";
2
2
  /** A single field-level change on an entity. */
3
3
  export interface TCoreFieldChange {
4
4
  field: string;
@@ -36,19 +36,25 @@ export interface TCoreRoleDiff {
36
36
  };
37
37
  }
38
38
  /** Top-level diff result from `diffArguments`. */
39
- export interface TCoreArgumentDiff<TArg extends TCoreArgument = TCoreArgument, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> {
39
+ export interface TCoreArgumentDiff<TArg extends TCoreArgument = TCoreArgument, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TSource extends TCoreSource = TCoreSource> {
40
40
  argument: TCoreEntityFieldDiff<TArg>;
41
41
  variables: TCoreEntitySetDiff<TVar>;
42
42
  premises: TCorePremiseSetDiff<TPremise, TExpr>;
43
43
  roles: TCoreRoleDiff;
44
+ sources: TCoreEntitySetDiff<TSource>;
45
+ variableSourceAssociations: TCoreEntitySetDiff<TCoreVariableSourceAssociation>;
46
+ expressionSourceAssociations: TCoreEntitySetDiff<TCoreExpressionSourceAssociation>;
44
47
  }
45
48
  /** A comparator receives two matched objects and returns field-level changes. */
46
49
  export type TCoreFieldComparator<T> = (before: T, after: T) => TCoreFieldChange[];
47
50
  /** Per-entity comparator overrides for `diffArguments`. */
48
- export interface TCoreDiffOptions<TArg extends TCoreArgument = TCoreArgument, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> {
51
+ export interface TCoreDiffOptions<TArg extends TCoreArgument = TCoreArgument, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TSource extends TCoreSource = TCoreSource> {
49
52
  compareArgument?: TCoreFieldComparator<TArg>;
50
53
  compareVariable?: TCoreFieldComparator<TVar>;
51
54
  comparePremise?: TCoreFieldComparator<TPremise>;
52
55
  compareExpression?: TCoreFieldComparator<TExpr>;
56
+ compareSource?: TCoreFieldComparator<TSource>;
57
+ compareVariableSourceAssociation?: TCoreFieldComparator<TCoreVariableSourceAssociation>;
58
+ compareExpressionSourceAssociation?: TCoreFieldComparator<TCoreExpressionSourceAssociation>;
53
59
  }
54
60
  //# sourceMappingURL=diff.d.ts.map