@polintpro/proposit-core 0.5.12 → 0.6.2
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/cli/commands/parse.d.ts.map +1 -1
- package/dist/cli/commands/parse.js +7 -2
- package/dist/cli/commands/parse.js.map +1 -1
- package/dist/cli/commands/premises.d.ts.map +1 -1
- package/dist/cli/commands/premises.js.map +1 -1
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/output.d.ts +1 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +3 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/schemata.d.ts +8 -0
- package/dist/cli/schemata.d.ts.map +1 -1
- package/dist/cli/schemata.js +4 -0
- package/dist/cli/schemata.js.map +1 -1
- package/dist/extensions/basics/schemata.d.ts +4 -0
- package/dist/extensions/basics/schemata.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +23 -6
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +216 -22
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/expression-manager.d.ts +20 -2
- package/dist/lib/core/expression-manager.d.ts.map +1 -1
- package/dist/lib/core/expression-manager.js +126 -2
- package/dist/lib/core/expression-manager.js.map +1 -1
- package/dist/lib/core/interfaces/index.d.ts +1 -1
- package/dist/lib/core/interfaces/index.d.ts.map +1 -1
- package/dist/lib/core/interfaces/shared.interfaces.d.ts +12 -8
- package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.d.ts +9 -4
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +57 -22
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/parsing/argument-parser.d.ts +3 -1
- package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
- package/dist/lib/parsing/argument-parser.js +109 -16
- package/dist/lib/parsing/argument-parser.js.map +1 -1
- package/dist/lib/parsing/index.d.ts +1 -1
- package/dist/lib/parsing/index.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.js +25 -1
- package/dist/lib/parsing/prompt-builder.js.map +1 -1
- package/dist/lib/parsing/schemata.d.ts.map +1 -1
- package/dist/lib/parsing/schemata.js +3 -1
- package/dist/lib/parsing/schemata.js.map +1 -1
- package/dist/lib/parsing/types.d.ts +9 -0
- package/dist/lib/parsing/types.d.ts.map +1 -1
- package/dist/lib/schemata/argument.d.ts +2 -0
- package/dist/lib/schemata/argument.d.ts.map +1 -1
- package/dist/lib/schemata/argument.js +7 -1
- package/dist/lib/schemata/argument.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +14 -0
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +12 -0
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/schemata/shared.d.ts +8 -2
- package/dist/lib/schemata/shared.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { randomUUID } from "node:crypto";
|
|
|
2
2
|
import { getOrCreate } from "../utils/collections.js";
|
|
3
3
|
import { DEFAULT_POSITION_CONFIG, midpoint, } from "../utils/position.js";
|
|
4
4
|
import { DEFAULT_CHECKSUM_CONFIG, normalizeChecksumConfig, serializeChecksumConfig, } from "../consts.js";
|
|
5
|
-
import { entityChecksum } from "./checksum.js";
|
|
5
|
+
import { entityChecksum, computeHash, canonicalSerialize } from "./checksum.js";
|
|
6
6
|
import { DEFAULT_GRAMMAR_CONFIG, } from "../types/grammar.js";
|
|
7
7
|
const PERMITTED_OPERATOR_SWAPS = {
|
|
8
8
|
and: "or",
|
|
@@ -28,6 +28,7 @@ export class ExpressionManager {
|
|
|
28
28
|
positionConfig;
|
|
29
29
|
config;
|
|
30
30
|
collector = null;
|
|
31
|
+
dirtyExpressionIds = new Set();
|
|
31
32
|
setCollector(collector) {
|
|
32
33
|
this.collector = collector;
|
|
33
34
|
}
|
|
@@ -44,11 +45,89 @@ export class ExpressionManager {
|
|
|
44
45
|
attachChecksum(expr) {
|
|
45
46
|
const fields = this.config?.checksumConfig?.expressionFields ??
|
|
46
47
|
DEFAULT_CHECKSUM_CONFIG.expressionFields;
|
|
48
|
+
const checksum = entityChecksum(expr, fields);
|
|
47
49
|
return {
|
|
48
50
|
...expr,
|
|
49
|
-
checksum
|
|
51
|
+
checksum,
|
|
52
|
+
descendantChecksum: null,
|
|
53
|
+
combinedChecksum: checksum,
|
|
50
54
|
};
|
|
51
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Marks an expression and all its ancestors as dirty for hierarchical
|
|
58
|
+
* checksum recomputation. Stops early when it reaches an expression
|
|
59
|
+
* already in the dirty set (since its ancestors are already marked).
|
|
60
|
+
*/
|
|
61
|
+
markExpressionDirty(exprId) {
|
|
62
|
+
let current = exprId;
|
|
63
|
+
while (current !== null) {
|
|
64
|
+
if (this.dirtyExpressionIds.has(current))
|
|
65
|
+
break; // ancestors already dirty
|
|
66
|
+
this.dirtyExpressionIds.add(current);
|
|
67
|
+
const expr = this.expressions.get(current);
|
|
68
|
+
current = expr ? expr.parentId : null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Recomputes `descendantChecksum` and `combinedChecksum` for all dirty
|
|
73
|
+
* expressions, processing bottom-up (deepest first) so that children
|
|
74
|
+
* are up-to-date before their parents are computed.
|
|
75
|
+
*/
|
|
76
|
+
flushExpressionChecksums() {
|
|
77
|
+
if (this.dirtyExpressionIds.size === 0)
|
|
78
|
+
return;
|
|
79
|
+
// Sort dirty expressions by depth (deepest first) for bottom-up processing
|
|
80
|
+
const dirtyIds = [...this.dirtyExpressionIds];
|
|
81
|
+
const depthOf = (id) => {
|
|
82
|
+
let depth = 0;
|
|
83
|
+
let current = this.expressions.get(id);
|
|
84
|
+
while (current && current.parentId !== null) {
|
|
85
|
+
depth++;
|
|
86
|
+
current = this.expressions.get(current.parentId);
|
|
87
|
+
}
|
|
88
|
+
return depth;
|
|
89
|
+
};
|
|
90
|
+
dirtyIds.sort((a, b) => depthOf(b) - depthOf(a));
|
|
91
|
+
const fields = this.config?.checksumConfig?.expressionFields ??
|
|
92
|
+
DEFAULT_CHECKSUM_CONFIG.expressionFields;
|
|
93
|
+
for (const id of dirtyIds) {
|
|
94
|
+
const expr = this.expressions.get(id);
|
|
95
|
+
if (!expr)
|
|
96
|
+
continue;
|
|
97
|
+
const metaChecksum = entityChecksum(expr, fields);
|
|
98
|
+
const childIds = this.childExpressionIdsByParentId.get(id);
|
|
99
|
+
let descendantChecksum = null;
|
|
100
|
+
if (childIds && childIds.size > 0) {
|
|
101
|
+
const childMap = {};
|
|
102
|
+
for (const childId of childIds) {
|
|
103
|
+
const child = this.expressions.get(childId);
|
|
104
|
+
if (child) {
|
|
105
|
+
childMap[childId] = child.combinedChecksum;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
descendantChecksum = computeHash(canonicalSerialize(childMap));
|
|
109
|
+
}
|
|
110
|
+
const combinedChecksum = descendantChecksum === null
|
|
111
|
+
? metaChecksum
|
|
112
|
+
: computeHash(metaChecksum + descendantChecksum);
|
|
113
|
+
this.expressions.set(id, {
|
|
114
|
+
...expr,
|
|
115
|
+
checksum: metaChecksum,
|
|
116
|
+
descendantChecksum,
|
|
117
|
+
combinedChecksum,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
this.dirtyExpressionIds.clear();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Removes deleted expression IDs from the dirty set so that flush
|
|
124
|
+
* doesn't attempt to process expressions that no longer exist.
|
|
125
|
+
*/
|
|
126
|
+
pruneDeletedFromDirtySet(deletedIds) {
|
|
127
|
+
for (const id of deletedIds) {
|
|
128
|
+
this.dirtyExpressionIds.delete(id);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
52
131
|
/** Returns all expressions sorted by ID for deterministic output. */
|
|
53
132
|
toArray() {
|
|
54
133
|
return Array.from(this.expressions.values()).sort((a, b) => a.id.localeCompare(b.id));
|
|
@@ -146,6 +225,8 @@ export class ExpressionManager {
|
|
|
146
225
|
...withChecksum,
|
|
147
226
|
});
|
|
148
227
|
getOrCreate(this.childExpressionIdsByParentId, expression.parentId, () => new Set()).add(expression.id);
|
|
228
|
+
// Mark the new expression and its ancestors dirty for hierarchical checksum recomputation.
|
|
229
|
+
this.markExpressionDirty(expression.id);
|
|
149
230
|
}
|
|
150
231
|
/**
|
|
151
232
|
* Adds an expression as the last child of the given parent.
|
|
@@ -285,6 +366,8 @@ export class ExpressionManager {
|
|
|
285
366
|
this.collector?.modifiedExpression({
|
|
286
367
|
...updated,
|
|
287
368
|
});
|
|
369
|
+
// Mark the updated expression and its ancestors dirty for hierarchical checksum recomputation.
|
|
370
|
+
this.markExpressionDirty(expressionId);
|
|
288
371
|
return updated;
|
|
289
372
|
}
|
|
290
373
|
/**
|
|
@@ -354,6 +437,11 @@ export class ExpressionManager {
|
|
|
354
437
|
this.childExpressionIdsByParentId.delete(id);
|
|
355
438
|
this.childPositionsByParentId.delete(id);
|
|
356
439
|
}
|
|
440
|
+
// Prune deleted expressions from the dirty set and mark the surviving parent dirty.
|
|
441
|
+
this.pruneDeletedFromDirtySet(toRemove);
|
|
442
|
+
if (parentId !== null) {
|
|
443
|
+
this.markExpressionDirty(parentId);
|
|
444
|
+
}
|
|
357
445
|
this.collapseIfNeeded(parentId);
|
|
358
446
|
return target;
|
|
359
447
|
}
|
|
@@ -375,6 +463,11 @@ export class ExpressionManager {
|
|
|
375
463
|
this.childPositionsByParentId.get(parentId)?.delete(target.position);
|
|
376
464
|
this.childExpressionIdsByParentId.delete(expressionId);
|
|
377
465
|
this.childPositionsByParentId.delete(expressionId);
|
|
466
|
+
// Prune deleted expression from dirty set and mark surviving parent dirty.
|
|
467
|
+
this.dirtyExpressionIds.delete(expressionId);
|
|
468
|
+
if (parentId !== null) {
|
|
469
|
+
this.markExpressionDirty(parentId);
|
|
470
|
+
}
|
|
378
471
|
this.collapseIfNeeded(parentId);
|
|
379
472
|
return target;
|
|
380
473
|
}
|
|
@@ -423,6 +516,10 @@ export class ExpressionManager {
|
|
|
423
516
|
});
|
|
424
517
|
// Remove target from expressions map.
|
|
425
518
|
this.expressions.delete(expressionId);
|
|
519
|
+
// Prune deleted expression from dirty set and mark promoted child dirty
|
|
520
|
+
// (its parentId changed) which also propagates to ancestors.
|
|
521
|
+
this.dirtyExpressionIds.delete(expressionId);
|
|
522
|
+
this.markExpressionDirty(child.id);
|
|
426
523
|
// No collapseIfNeeded after promotion.
|
|
427
524
|
return target;
|
|
428
525
|
}
|
|
@@ -448,6 +545,11 @@ export class ExpressionManager {
|
|
|
448
545
|
?.delete(operator.position);
|
|
449
546
|
this.childExpressionIdsByParentId.delete(operatorId);
|
|
450
547
|
this.childPositionsByParentId.delete(operatorId);
|
|
548
|
+
// Prune collapsed formula from dirty set and propagate to grandparent.
|
|
549
|
+
this.dirtyExpressionIds.delete(operatorId);
|
|
550
|
+
if (grandparentId !== null) {
|
|
551
|
+
this.markExpressionDirty(grandparentId);
|
|
552
|
+
}
|
|
451
553
|
this.collapseIfNeeded(grandparentId);
|
|
452
554
|
}
|
|
453
555
|
return;
|
|
@@ -470,6 +572,11 @@ export class ExpressionManager {
|
|
|
470
572
|
?.delete(grandparentPosition);
|
|
471
573
|
this.childExpressionIdsByParentId.delete(operatorId);
|
|
472
574
|
this.childPositionsByParentId.delete(operatorId);
|
|
575
|
+
// Prune collapsed operator from dirty set and propagate to grandparent.
|
|
576
|
+
this.dirtyExpressionIds.delete(operatorId);
|
|
577
|
+
if (grandparentId !== null) {
|
|
578
|
+
this.markExpressionDirty(grandparentId);
|
|
579
|
+
}
|
|
473
580
|
this.collapseIfNeeded(grandparentId);
|
|
474
581
|
}
|
|
475
582
|
else if (children.length === 1) {
|
|
@@ -519,6 +626,10 @@ export class ExpressionManager {
|
|
|
519
626
|
...operator,
|
|
520
627
|
});
|
|
521
628
|
this.expressions.delete(operatorId);
|
|
629
|
+
// Prune collapsed operator from dirty set and mark promoted child dirty
|
|
630
|
+
// (its parentId changed) which also propagates to ancestors.
|
|
631
|
+
this.dirtyExpressionIds.delete(operatorId);
|
|
632
|
+
this.markExpressionDirty(child.id);
|
|
522
633
|
// The grandparent's child count is unchanged; no further recursion needed.
|
|
523
634
|
}
|
|
524
635
|
}
|
|
@@ -659,6 +770,7 @@ export class ExpressionManager {
|
|
|
659
770
|
}
|
|
660
771
|
reparent(expressionId, newParentId, newPosition) {
|
|
661
772
|
const expression = this.expressions.get(expressionId);
|
|
773
|
+
const oldParentId = expression.parentId;
|
|
662
774
|
// Detach from old parent.
|
|
663
775
|
this.childExpressionIdsByParentId
|
|
664
776
|
.get(expression.parentId)
|
|
@@ -679,6 +791,11 @@ export class ExpressionManager {
|
|
|
679
791
|
// Attach to new parent.
|
|
680
792
|
getOrCreate(this.childExpressionIdsByParentId, newParentId, () => new Set()).add(expressionId);
|
|
681
793
|
getOrCreate(this.childPositionsByParentId, newParentId, () => new Set()).add(newPosition);
|
|
794
|
+
// Mark both old and new parent chains dirty for hierarchical checksum recomputation.
|
|
795
|
+
this.markExpressionDirty(expressionId);
|
|
796
|
+
if (oldParentId !== null && oldParentId !== newParentId) {
|
|
797
|
+
this.markExpressionDirty(oldParentId);
|
|
798
|
+
}
|
|
682
799
|
}
|
|
683
800
|
/**
|
|
684
801
|
* Inserts a new expression between existing nodes in the tree.
|
|
@@ -813,6 +930,9 @@ export class ExpressionManager {
|
|
|
813
930
|
});
|
|
814
931
|
getOrCreate(this.childExpressionIdsByParentId, anchorParentId, () => new Set()).add(expression.id);
|
|
815
932
|
getOrCreate(this.childPositionsByParentId, anchorParentId, () => new Set()).add(anchorPosition);
|
|
933
|
+
// Mark the new expression and its ancestors dirty for hierarchical checksum recomputation.
|
|
934
|
+
// Note: reparent() already marks children dirty, so this propagates from the new expression up.
|
|
935
|
+
this.markExpressionDirty(expression.id);
|
|
816
936
|
}
|
|
817
937
|
/**
|
|
818
938
|
* Wraps an existing expression with a new operator and a new sibling.
|
|
@@ -936,6 +1056,10 @@ export class ExpressionManager {
|
|
|
936
1056
|
});
|
|
937
1057
|
getOrCreate(this.childExpressionIdsByParentId, anchorParentId, () => new Set()).add(operator.id);
|
|
938
1058
|
getOrCreate(this.childPositionsByParentId, anchorParentId, () => new Set()).add(anchorPosition);
|
|
1059
|
+
// Mark the new operator (and ancestors), the new sibling, and the reparented existing node dirty.
|
|
1060
|
+
// reparent() already marks the existing node dirty; mark the operator and sibling as well.
|
|
1061
|
+
this.markExpressionDirty(newSibling.id);
|
|
1062
|
+
this.markExpressionDirty(operator.id);
|
|
939
1063
|
}
|
|
940
1064
|
/**
|
|
941
1065
|
* Loads expressions in BFS order, respecting the current grammar config.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-manager.js","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expression-manager.js","sourceRoot":"","sources":["../../../src/lib/core/expression-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { TDisplayable,
|
|
1
|
+
export type { TDisplayable, THierarchicalChecksummable, } from "./shared.interfaces.js";
|
|
2
2
|
export type { TPremiseCrud, TVariableManagement, TArgumentExpressionQueries, TArgumentRoleState, TArgumentEvaluation, TArgumentLifecycle, TArgumentIdentity, } from "./argument-engine.interfaces.js";
|
|
3
3
|
export type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, } from "./premise-engine.interfaces.js";
|
|
4
4
|
export type { TClaimLookup, TClaimLibraryManagement, TSourceLookup, TSourceLibraryManagement, TClaimLibrarySnapshot, TSourceLibrarySnapshot, TClaimSourceLookup, TClaimSourceLibraryManagement, TClaimSourceLibrarySnapshot, } from "./library.interfaces.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,0BAA0B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,iCAAiC,CAAA;AAExC,YAAY,EACR,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACR,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,GAC9B,MAAM,yBAAyB,CAAA"}
|
|
@@ -10,15 +10,19 @@ export interface TDisplayable {
|
|
|
10
10
|
toDisplayString(): string;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* An entity that can produce
|
|
13
|
+
* An entity that can produce hierarchical content checksums:
|
|
14
|
+
* meta (entity-only), descendant (children), and combined (both).
|
|
14
15
|
*/
|
|
15
|
-
export interface
|
|
16
|
-
/**
|
|
17
|
-
* Returns a deterministic content checksum. Computed lazily — only
|
|
18
|
-
* recalculated when state has changed.
|
|
19
|
-
*
|
|
20
|
-
* @returns A hex-encoded checksum string.
|
|
21
|
-
*/
|
|
16
|
+
export interface THierarchicalChecksummable<TCollectionName extends string = string> {
|
|
17
|
+
/** Returns the meta checksum — derived from entity data only. */
|
|
22
18
|
checksum(): string;
|
|
19
|
+
/** Returns the descendant checksum — derived from children's combinedChecksums. Null if no children. */
|
|
20
|
+
descendantChecksum(): string | null;
|
|
21
|
+
/** Returns the combined checksum — hash(checksum + descendantChecksum), or equals checksum if no descendants. */
|
|
22
|
+
combinedChecksum(): string;
|
|
23
|
+
/** Returns the checksum for a named descendant collection. Null if collection is empty. */
|
|
24
|
+
getCollectionChecksum(name: TCollectionName): string | null;
|
|
25
|
+
/** Forces recomputation of all dirty checksums in the hierarchy. */
|
|
26
|
+
flushChecksums(): void;
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=shared.interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/shared.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;OAIG;IACH,eAAe,IAAI,MAAM,CAAA;CAC5B;AAED
|
|
1
|
+
{"version":3,"file":"shared.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/shared.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;OAIG;IACH,eAAe,IAAI,MAAM,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CACvC,eAAe,SAAS,MAAM,GAAG,MAAM;IAEvC,iEAAiE;IACjE,QAAQ,IAAI,MAAM,CAAA;IAClB,wGAAwG;IACxG,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAAA;IACnC,iHAAiH;IACjH,gBAAgB,IAAI,MAAM,CAAA;IAC1B,2FAA2F;IAC3F,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3D,oEAAoE;IACpE,cAAc,IAAI,IAAI,CAAA;CACzB"}
|
|
@@ -5,14 +5,14 @@ import type { TLogicEngineOptions } from "./argument-engine.js";
|
|
|
5
5
|
import type { TGrammarConfig } from "../types/grammar.js";
|
|
6
6
|
import type { TExpressionInput, TExpressionManagerSnapshot, TExpressionWithoutPosition, TExpressionUpdate } from "./expression-manager.js";
|
|
7
7
|
import { VariableManager } from "./variable-manager.js";
|
|
8
|
-
import type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, TDisplayable,
|
|
8
|
+
import type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, TDisplayable, THierarchicalChecksummable } from "./interfaces/index.js";
|
|
9
9
|
export type TPremiseEngineSnapshot<TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> = {
|
|
10
10
|
premise: TOptionalChecksum<TPremise>;
|
|
11
11
|
rootExpressionId?: string;
|
|
12
12
|
expressions: TExpressionManagerSnapshot<TExpr>;
|
|
13
13
|
config?: TLogicEngineOptions;
|
|
14
14
|
};
|
|
15
|
-
export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> implements TExpressionMutations<TArg, TPremise, TExpr, TVar>, TExpressionQueries<TExpr>, TVariableReferences<TArg, TPremise, TExpr, TVar>, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle<TPremise, TExpr>, TPremiseIdentity<TArg, TPremise, TExpr, TVar>, TDisplayable,
|
|
15
|
+
export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> implements TExpressionMutations<TArg, TPremise, TExpr, TVar>, TExpressionQueries<TExpr>, TVariableReferences<TArg, TPremise, TExpr, TVar>, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle<TPremise, TExpr>, TPremiseIdentity<TArg, TPremise, TExpr, TVar>, TDisplayable, THierarchicalChecksummable<"expressions"> {
|
|
16
16
|
private premise;
|
|
17
17
|
private rootExpressionId;
|
|
18
18
|
private variables;
|
|
@@ -21,7 +21,9 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
|
|
|
21
21
|
private argument;
|
|
22
22
|
private checksumConfig?;
|
|
23
23
|
private checksumDirty;
|
|
24
|
-
private
|
|
24
|
+
private cachedMetaChecksum;
|
|
25
|
+
private cachedDescendantChecksum;
|
|
26
|
+
private cachedCombinedChecksum;
|
|
25
27
|
private expressionIndex?;
|
|
26
28
|
private onMutate?;
|
|
27
29
|
private circularityCheck?;
|
|
@@ -64,7 +66,10 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
|
|
|
64
66
|
getReferencedVariableIds(): Set<string>;
|
|
65
67
|
toPremiseData(): TPremise;
|
|
66
68
|
checksum(): string;
|
|
67
|
-
|
|
69
|
+
descendantChecksum(): string | null;
|
|
70
|
+
combinedChecksum(): string;
|
|
71
|
+
getCollectionChecksum(_name: "expressions"): string | null;
|
|
72
|
+
flushChecksums(): void;
|
|
68
73
|
/**
|
|
69
74
|
* Loads expressions in BFS order with the nesting check bypassed.
|
|
70
75
|
* Bypasses all PremiseEngine validation (ownership, variable existence, circularity)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACzB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EACR,yBAAyB,EACzB,4BAA4B,EAI5B,qBAAqB,EACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,sBAAsB,CAAA;AAc/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAQzD,OAAO,KAAK,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACpB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EACR,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { kleeneAnd, kleeneIff, kleeneImplies, kleeneNot, kleeneOr, } from "./eva
|
|
|
6
6
|
import { buildDirectionalVacuity, makeErrorIssue, makeValidationResult, } from "./evaluation/validation.js";
|
|
7
7
|
import { DEFAULT_CHECKSUM_CONFIG, normalizeChecksumConfig, serializeChecksumConfig, } from "../consts.js";
|
|
8
8
|
import { ChangeCollector } from "./change-collector.js";
|
|
9
|
-
import {
|
|
9
|
+
import { computeHash, entityChecksum } from "./checksum.js";
|
|
10
10
|
import { ExpressionManager } from "./expression-manager.js";
|
|
11
11
|
import { VariableManager } from "./variable-manager.js";
|
|
12
12
|
export class PremiseEngine {
|
|
@@ -18,7 +18,9 @@ export class PremiseEngine {
|
|
|
18
18
|
argument;
|
|
19
19
|
checksumConfig;
|
|
20
20
|
checksumDirty = true;
|
|
21
|
-
|
|
21
|
+
cachedMetaChecksum;
|
|
22
|
+
cachedDescendantChecksum;
|
|
23
|
+
cachedCombinedChecksum;
|
|
22
24
|
expressionIndex;
|
|
23
25
|
onMutate;
|
|
24
26
|
circularityCheck;
|
|
@@ -483,19 +485,20 @@ export class PremiseEngine {
|
|
|
483
485
|
return this.premise.id;
|
|
484
486
|
}
|
|
485
487
|
getExtras() {
|
|
486
|
-
const { id: _id, argumentId: _argumentId, argumentVersion: _argumentVersion, checksum: _checksum, ...extras } = this.premise;
|
|
488
|
+
const { id: _id, argumentId: _argumentId, argumentVersion: _argumentVersion, checksum: _checksum, descendantChecksum: _descendantChecksum, combinedChecksum: _combinedChecksum, ...extras } = this.premise;
|
|
487
489
|
return { ...extras };
|
|
488
490
|
}
|
|
489
491
|
setExtras(extras) {
|
|
490
492
|
// Strip old extras and replace with new ones
|
|
491
|
-
const { id, argumentId, argumentVersion, checksum } = this
|
|
492
|
-
.premise;
|
|
493
|
+
const { id, argumentId, argumentVersion, checksum, descendantChecksum, combinedChecksum, } = this.premise;
|
|
493
494
|
this.premise = {
|
|
494
495
|
...extras,
|
|
495
496
|
id,
|
|
496
497
|
argumentId,
|
|
497
498
|
argumentVersion,
|
|
498
499
|
...(checksum !== undefined ? { checksum } : {}),
|
|
500
|
+
...(descendantChecksum !== undefined ? { descendantChecksum } : {}),
|
|
501
|
+
...(combinedChecksum !== undefined ? { combinedChecksum } : {}),
|
|
499
502
|
};
|
|
500
503
|
this.markDirty();
|
|
501
504
|
this.onMutate?.();
|
|
@@ -807,33 +810,59 @@ export class PremiseEngine {
|
|
|
807
810
|
return ids;
|
|
808
811
|
}
|
|
809
812
|
toPremiseData() {
|
|
813
|
+
this.flushChecksums();
|
|
810
814
|
return {
|
|
811
815
|
...this.premise,
|
|
812
|
-
checksum: this.
|
|
816
|
+
checksum: this.cachedMetaChecksum,
|
|
817
|
+
descendantChecksum: this.cachedDescendantChecksum,
|
|
818
|
+
combinedChecksum: this.cachedCombinedChecksum,
|
|
813
819
|
};
|
|
814
820
|
}
|
|
815
821
|
checksum() {
|
|
816
|
-
if (this.checksumDirty || this.
|
|
817
|
-
this.
|
|
818
|
-
this.checksumDirty = false;
|
|
822
|
+
if (this.checksumDirty || this.cachedMetaChecksum === undefined) {
|
|
823
|
+
this.flushChecksums();
|
|
819
824
|
}
|
|
820
|
-
return this.
|
|
825
|
+
return this.cachedMetaChecksum;
|
|
821
826
|
}
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
827
|
+
descendantChecksum() {
|
|
828
|
+
if (this.checksumDirty || this.cachedDescendantChecksum === undefined) {
|
|
829
|
+
this.flushChecksums();
|
|
830
|
+
}
|
|
831
|
+
return this.cachedDescendantChecksum;
|
|
832
|
+
}
|
|
833
|
+
combinedChecksum() {
|
|
834
|
+
if (this.checksumDirty || this.cachedCombinedChecksum === undefined) {
|
|
835
|
+
this.flushChecksums();
|
|
836
|
+
}
|
|
837
|
+
return this.cachedCombinedChecksum;
|
|
838
|
+
}
|
|
839
|
+
getCollectionChecksum(_name) {
|
|
840
|
+
return this.descendantChecksum();
|
|
841
|
+
}
|
|
842
|
+
flushChecksums() {
|
|
843
|
+
this.expressions.flushExpressionChecksums();
|
|
828
844
|
const premiseFields = this.checksumConfig?.premiseFields ??
|
|
829
845
|
DEFAULT_CHECKSUM_CONFIG.premiseFields;
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
846
|
+
this.cachedMetaChecksum = entityChecksum(this.premise, premiseFields);
|
|
847
|
+
const rootId = this.rootExpressionId;
|
|
848
|
+
if (rootId) {
|
|
849
|
+
const rootExpr = this.expressions.getExpression(rootId);
|
|
850
|
+
this.cachedDescendantChecksum = rootExpr
|
|
851
|
+
? rootExpr.combinedChecksum
|
|
852
|
+
: null;
|
|
853
|
+
}
|
|
854
|
+
else {
|
|
855
|
+
this.cachedDescendantChecksum = null;
|
|
834
856
|
}
|
|
835
|
-
|
|
857
|
+
this.cachedCombinedChecksum =
|
|
858
|
+
this.cachedDescendantChecksum === null
|
|
859
|
+
? this.cachedMetaChecksum
|
|
860
|
+
: computeHash(this.cachedMetaChecksum + this.cachedDescendantChecksum);
|
|
861
|
+
this.checksumDirty = false;
|
|
836
862
|
}
|
|
863
|
+
// -------------------------------------------------------------------------
|
|
864
|
+
// Private helpers
|
|
865
|
+
// -------------------------------------------------------------------------
|
|
837
866
|
/**
|
|
838
867
|
* Loads expressions in BFS order with the nesting check bypassed.
|
|
839
868
|
* Bypasses all PremiseEngine validation (ownership, variable existence, circularity)
|
|
@@ -936,9 +965,15 @@ export class PremiseEngine {
|
|
|
936
965
|
}
|
|
937
966
|
}
|
|
938
967
|
snapshot() {
|
|
968
|
+
this.flushChecksums();
|
|
939
969
|
const exprSnapshot = this.expressions.snapshot();
|
|
940
970
|
return {
|
|
941
|
-
premise: {
|
|
971
|
+
premise: {
|
|
972
|
+
...this.premise,
|
|
973
|
+
checksum: this.cachedMetaChecksum,
|
|
974
|
+
descendantChecksum: this.cachedDescendantChecksum,
|
|
975
|
+
combinedChecksum: this.cachedCombinedChecksum,
|
|
976
|
+
},
|
|
942
977
|
rootExpressionId: this.rootExpressionId,
|
|
943
978
|
expressions: exprSnapshot,
|
|
944
979
|
config: {
|