@polintpro/proposit-core 0.5.6 → 0.5.9
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/README.md +25 -1
- package/dist/cli/commands/claims.d.ts.map +1 -1
- package/dist/cli/commands/claims.js +43 -2
- package/dist/cli/commands/claims.js.map +1 -1
- package/dist/cli/commands/parse.d.ts.map +1 -1
- package/dist/cli/commands/parse.js +43 -22
- package/dist/cli/commands/parse.js.map +1 -1
- package/dist/cli/commands/render.d.ts.map +1 -1
- package/dist/cli/commands/render.js +77 -4
- package/dist/cli/commands/render.js.map +1 -1
- package/dist/cli/config.d.ts +1 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +3 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +18 -2
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/logging.d.ts +8 -0
- package/dist/cli/logging.d.ts.map +1 -0
- package/dist/cli/logging.js +23 -0
- package/dist/cli/logging.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/lib/consts.d.ts +6 -0
- package/dist/lib/consts.d.ts.map +1 -1
- package/dist/lib/consts.js +27 -0
- package/dist/lib/consts.js.map +1 -1
- package/dist/lib/core/argument-engine.d.ts +5 -2
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +34 -27
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/expression-manager.d.ts +25 -2
- package/dist/lib/core/expression-manager.d.ts.map +1 -1
- package/dist/lib/core/expression-manager.js +211 -4
- package/dist/lib/core/expression-manager.js.map +1 -1
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +19 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.d.ts +8 -1
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +90 -21
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/index.d.ts +2 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
- package/dist/lib/parsing/prompt-builder.js +14 -0
- package/dist/lib/parsing/prompt-builder.js.map +1 -1
- package/dist/lib/types/grammar.d.ts +31 -0
- package/dist/lib/types/grammar.d.ts.map +1 -0
- package/dist/lib/types/grammar.js +11 -0
- package/dist/lib/types/grammar.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
1
2
|
import { getOrCreate } from "../utils/collections.js";
|
|
2
3
|
import { DEFAULT_POSITION_CONFIG, midpoint, } from "../utils/position.js";
|
|
3
4
|
import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
|
|
4
5
|
import { entityChecksum } from "./checksum.js";
|
|
6
|
+
import { DEFAULT_GRAMMAR_CONFIG, } from "../types/grammar.js";
|
|
5
7
|
const PERMITTED_OPERATOR_SWAPS = {
|
|
6
8
|
and: "or",
|
|
7
9
|
or: "and",
|
|
@@ -36,6 +38,9 @@ export class ExpressionManager {
|
|
|
36
38
|
this.positionConfig = config?.positionConfig ?? DEFAULT_POSITION_CONFIG;
|
|
37
39
|
this.config = config;
|
|
38
40
|
}
|
|
41
|
+
get grammarConfig() {
|
|
42
|
+
return this.config?.grammarConfig ?? DEFAULT_GRAMMAR_CONFIG;
|
|
43
|
+
}
|
|
39
44
|
attachChecksum(expr) {
|
|
40
45
|
const fields = this.config?.checksumConfig?.expressionFields ??
|
|
41
46
|
DEFAULT_CHECKSUM_CONFIG.expressionFields;
|
|
@@ -58,7 +63,8 @@ export class ExpressionManager {
|
|
|
58
63
|
* @throws If the parent's child limit would be exceeded.
|
|
59
64
|
* @throws If the position is already occupied under the parent.
|
|
60
65
|
*/
|
|
61
|
-
addExpression(
|
|
66
|
+
addExpression(input) {
|
|
67
|
+
let expression = input;
|
|
62
68
|
if (this.expressions.has(expression.id)) {
|
|
63
69
|
throw new Error(`Expression with ID "${expression.id}" already exists.`);
|
|
64
70
|
}
|
|
@@ -72,13 +78,52 @@ export class ExpressionManager {
|
|
|
72
78
|
throw new Error(`Operator expression "${expression.id}" with "${expression.operator}" must be a root expression (parentId must be null).`);
|
|
73
79
|
}
|
|
74
80
|
if (expression.parentId !== null) {
|
|
75
|
-
|
|
81
|
+
let parent = this.expressions.get(expression.parentId);
|
|
76
82
|
if (!parent) {
|
|
77
83
|
throw new Error(`Parent expression "${expression.parentId}" does not exist.`);
|
|
78
84
|
}
|
|
79
85
|
if (parent.type !== "operator" && parent.type !== "formula") {
|
|
80
86
|
throw new Error(`Parent expression "${expression.parentId}" is not an operator expression.`);
|
|
81
87
|
}
|
|
88
|
+
// Non-not operators cannot be direct children of operators.
|
|
89
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators &&
|
|
90
|
+
parent.type === "operator" &&
|
|
91
|
+
expression.type === "operator" &&
|
|
92
|
+
expression.operator !== "not") {
|
|
93
|
+
if (this.grammarConfig.autoNormalize) {
|
|
94
|
+
// Check original parent can accept the formula as a new child.
|
|
95
|
+
this.assertChildLimit(parent.operator, expression.parentId);
|
|
96
|
+
// Auto-insert a formula buffer between parent and expression.
|
|
97
|
+
const formulaId = randomUUID();
|
|
98
|
+
const formulaExpr = this.attachChecksum({
|
|
99
|
+
id: formulaId,
|
|
100
|
+
type: "formula",
|
|
101
|
+
argumentId: expression.argumentId,
|
|
102
|
+
argumentVersion: expression.argumentVersion,
|
|
103
|
+
premiseId: expression.premiseId,
|
|
104
|
+
parentId: expression.parentId,
|
|
105
|
+
position: expression.position,
|
|
106
|
+
});
|
|
107
|
+
// Register formula directly in stores.
|
|
108
|
+
this.expressions.set(formulaId, formulaExpr);
|
|
109
|
+
this.collector?.addedExpression({
|
|
110
|
+
...formulaExpr,
|
|
111
|
+
});
|
|
112
|
+
getOrCreate(this.childExpressionIdsByParentId, expression.parentId, () => new Set()).add(formulaId);
|
|
113
|
+
getOrCreate(this.childPositionsByParentId, expression.parentId, () => new Set()).add(expression.position);
|
|
114
|
+
// Rewrite expression to be child of formula.
|
|
115
|
+
expression = {
|
|
116
|
+
...expression,
|
|
117
|
+
parentId: formulaId,
|
|
118
|
+
position: 0,
|
|
119
|
+
};
|
|
120
|
+
// Update parent reference for subsequent checks.
|
|
121
|
+
parent = formulaExpr;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
82
127
|
if (parent.type === "operator") {
|
|
83
128
|
this.assertChildLimit(parent.operator, expression.parentId);
|
|
84
129
|
}
|
|
@@ -264,6 +309,8 @@ export class ExpressionManager {
|
|
|
264
309
|
if (!target) {
|
|
265
310
|
return undefined;
|
|
266
311
|
}
|
|
312
|
+
// Pre-flight: simulate collapse chain to detect nesting/root-only violations.
|
|
313
|
+
this.assertRemovalSafe(expressionId, deleteSubtree);
|
|
267
314
|
if (deleteSubtree) {
|
|
268
315
|
return this.removeSubtree(expressionId, target);
|
|
269
316
|
}
|
|
@@ -333,6 +380,17 @@ export class ExpressionManager {
|
|
|
333
380
|
}
|
|
334
381
|
// Exactly 1 child — promote it into the target's slot.
|
|
335
382
|
const child = children[0];
|
|
383
|
+
// Validate: non-not operators cannot be promoted into an operator parent.
|
|
384
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators) {
|
|
385
|
+
if (child.type === "operator" &&
|
|
386
|
+
child.operator !== "not" &&
|
|
387
|
+
target.parentId !== null) {
|
|
388
|
+
const grandparent = this.expressions.get(target.parentId);
|
|
389
|
+
if (grandparent && grandparent.type === "operator") {
|
|
390
|
+
throw new Error(`Cannot remove expression — would promote a non-not operator as a direct child of another operator`);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
336
394
|
// Validate: root-only operators cannot be promoted into a non-root position.
|
|
337
395
|
if (child.type === "operator" &&
|
|
338
396
|
(child.operator === "implies" || child.operator === "iff") &&
|
|
@@ -418,6 +476,24 @@ export class ExpressionManager {
|
|
|
418
476
|
const child = children[0];
|
|
419
477
|
const grandparentId = operator.parentId;
|
|
420
478
|
const grandparentPosition = operator.position;
|
|
479
|
+
// Defense-in-depth: validate promotion doesn't violate nesting or root-only rules.
|
|
480
|
+
if (child.type === "operator") {
|
|
481
|
+
// Root-only — always enforced
|
|
482
|
+
if ((child.operator === "implies" ||
|
|
483
|
+
child.operator === "iff") &&
|
|
484
|
+
grandparentId !== null) {
|
|
485
|
+
throw new Error(`Cannot promote: child "${child.id}" is a root-only operator ("${child.operator}") and would be placed in a non-root position.`);
|
|
486
|
+
}
|
|
487
|
+
// Nesting — grammar-configurable
|
|
488
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators) {
|
|
489
|
+
if (child.operator !== "not" && grandparentId !== null) {
|
|
490
|
+
const grandparent = this.expressions.get(grandparentId);
|
|
491
|
+
if (grandparent && grandparent.type === "operator") {
|
|
492
|
+
throw new Error(`Cannot remove expression — would promote a non-not operator as a direct child of another operator`);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
421
497
|
// Promote the surviving child into the operator's slot in the grandparent.
|
|
422
498
|
const promoted = this.attachChecksum({
|
|
423
499
|
...child,
|
|
@@ -498,6 +574,80 @@ export class ExpressionManager {
|
|
|
498
574
|
throw new Error(`Could not resolve parent relationships for expressions: ${unresolved}.`);
|
|
499
575
|
}
|
|
500
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Simulates the collapse chain that would result from removing an expression.
|
|
579
|
+
* Throws if any promotion would violate nesting or root-only rules.
|
|
580
|
+
*/
|
|
581
|
+
assertRemovalSafe(expressionId, deleteSubtree) {
|
|
582
|
+
const target = this.expressions.get(expressionId);
|
|
583
|
+
if (!target)
|
|
584
|
+
return;
|
|
585
|
+
if (!deleteSubtree) {
|
|
586
|
+
const children = this.getChildExpressions(expressionId);
|
|
587
|
+
// >1 children: removeAndPromote throws before any mutation, no nesting concern.
|
|
588
|
+
if (children.length === 1) {
|
|
589
|
+
this.assertPromotionSafe(children[0], target.parentId);
|
|
590
|
+
}
|
|
591
|
+
if (children.length === 0) {
|
|
592
|
+
this.simulateCollapseChain(target.parentId, expressionId);
|
|
593
|
+
}
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
// deleteSubtree: entire subtree removed, then collapse runs on parent.
|
|
597
|
+
this.simulateCollapseChain(target.parentId, expressionId);
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* Checks whether promoting `child` into a slot with the given `newParentId`
|
|
601
|
+
* would violate the nesting rule or root-only rule.
|
|
602
|
+
*/
|
|
603
|
+
assertPromotionSafe(child, newParentId) {
|
|
604
|
+
if (child.type !== "operator")
|
|
605
|
+
return;
|
|
606
|
+
// Root-only check — always enforced
|
|
607
|
+
if ((child.operator === "implies" || child.operator === "iff") &&
|
|
608
|
+
newParentId !== null) {
|
|
609
|
+
throw new Error(`Cannot remove expression — would promote a root-only operator ("${child.operator}") to a non-root position`);
|
|
610
|
+
}
|
|
611
|
+
// Nesting check — grammar-configurable
|
|
612
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators) {
|
|
613
|
+
if (child.operator !== "not" && newParentId !== null) {
|
|
614
|
+
const newParent = this.expressions.get(newParentId);
|
|
615
|
+
if (newParent && newParent.type === "operator") {
|
|
616
|
+
throw new Error(`Cannot remove expression — would promote a non-not operator as a direct child of another operator`);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Walks the collapse chain starting from `operatorId` after `removedChildId`
|
|
623
|
+
* is removed. At each level: if 0 remaining children, operator/formula is deleted
|
|
624
|
+
* and chain continues up. If 1 remaining child, check promotion safety.
|
|
625
|
+
*/
|
|
626
|
+
simulateCollapseChain(operatorId, removedChildId) {
|
|
627
|
+
if (operatorId === null)
|
|
628
|
+
return;
|
|
629
|
+
const operator = this.expressions.get(operatorId);
|
|
630
|
+
if (!operator)
|
|
631
|
+
return;
|
|
632
|
+
if (operator.type !== "operator" && operator.type !== "formula")
|
|
633
|
+
return;
|
|
634
|
+
const children = this.getChildExpressions(operatorId);
|
|
635
|
+
const remainingChildren = children.filter((c) => c.id !== removedChildId);
|
|
636
|
+
if (operator.type === "formula") {
|
|
637
|
+
// Formula: 0 children → deleted, recurse up.
|
|
638
|
+
if (remainingChildren.length === 0) {
|
|
639
|
+
this.simulateCollapseChain(operator.parentId, operatorId);
|
|
640
|
+
}
|
|
641
|
+
return;
|
|
642
|
+
}
|
|
643
|
+
// operator.type === "operator"
|
|
644
|
+
if (remainingChildren.length === 0) {
|
|
645
|
+
this.simulateCollapseChain(operator.parentId, operatorId);
|
|
646
|
+
}
|
|
647
|
+
else if (remainingChildren.length === 1) {
|
|
648
|
+
this.assertPromotionSafe(remainingChildren[0], operator.parentId);
|
|
649
|
+
}
|
|
650
|
+
}
|
|
501
651
|
assertChildLimit(operator, parentId) {
|
|
502
652
|
const childCount = this.childExpressionIdsByParentId.get(parentId)?.size ?? 0;
|
|
503
653
|
if (operator === "not" && childCount >= 1) {
|
|
@@ -619,6 +769,29 @@ export class ExpressionManager {
|
|
|
619
769
|
anchor.parentId !== null) {
|
|
620
770
|
throw new Error(`Operator expression "${expression.id}" with "${expression.operator}" must be a root expression (parentId must be null).`);
|
|
621
771
|
}
|
|
772
|
+
// 10a. Non-not operators cannot be direct children of operators.
|
|
773
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators) {
|
|
774
|
+
// Check 1: new expression as child of anchor's parent.
|
|
775
|
+
if (anchor.parentId !== null &&
|
|
776
|
+
expression.type === "operator" &&
|
|
777
|
+
expression.operator !== "not") {
|
|
778
|
+
const anchorParent = this.expressions.get(anchor.parentId);
|
|
779
|
+
if (anchorParent && anchorParent.type === "operator") {
|
|
780
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
// Check 2: left/right nodes as children of the new expression.
|
|
784
|
+
if (expression.type === "operator") {
|
|
785
|
+
if (leftNode?.type === "operator" &&
|
|
786
|
+
leftNode.operator !== "not") {
|
|
787
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
788
|
+
}
|
|
789
|
+
if (rightNode?.type === "operator" &&
|
|
790
|
+
rightNode.operator !== "not") {
|
|
791
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
622
795
|
const anchorParentId = anchor.parentId;
|
|
623
796
|
const anchorPosition = anchor.position;
|
|
624
797
|
// Reparent rightNode first in case it is a descendant of leftNode.
|
|
@@ -711,6 +884,26 @@ export class ExpressionManager {
|
|
|
711
884
|
(newSibling.operator === "implies" || newSibling.operator === "iff")) {
|
|
712
885
|
throw new Error(`Sibling expression "${newSibling.id}" with "${newSibling.operator}" cannot be subordinated (it must remain a root expression).`);
|
|
713
886
|
}
|
|
887
|
+
// 10a. Non-not operators cannot be direct children of operators.
|
|
888
|
+
if (this.grammarConfig.enforceFormulaBetweenOperators) {
|
|
889
|
+
// Check 1: new operator as child of existing node's parent.
|
|
890
|
+
// Note: step 7 already rejects `not`, so operator.operator is always non-not here.
|
|
891
|
+
if (existingNode.parentId !== null) {
|
|
892
|
+
const existingParent = this.expressions.get(existingNode.parentId);
|
|
893
|
+
if (existingParent && existingParent.type === "operator") {
|
|
894
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
// Check 2: existing node and new sibling as children of the new operator.
|
|
898
|
+
if (existingNode.type === "operator" &&
|
|
899
|
+
existingNode.operator !== "not") {
|
|
900
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
901
|
+
}
|
|
902
|
+
if (newSibling.type === "operator" &&
|
|
903
|
+
newSibling.operator !== "not") {
|
|
904
|
+
throw new Error(`Non-not operator expressions cannot be direct children of operator expressions — wrap in a formula node`);
|
|
905
|
+
}
|
|
906
|
+
}
|
|
714
907
|
// Save the existing node's slot (the operator will inherit it).
|
|
715
908
|
const anchorParentId = existingNode.parentId;
|
|
716
909
|
const anchorPosition = existingNode.position;
|
|
@@ -744,6 +937,13 @@ export class ExpressionManager {
|
|
|
744
937
|
getOrCreate(this.childExpressionIdsByParentId, anchorParentId, () => new Set()).add(operator.id);
|
|
745
938
|
getOrCreate(this.childPositionsByParentId, anchorParentId, () => new Set()).add(anchorPosition);
|
|
746
939
|
}
|
|
940
|
+
/**
|
|
941
|
+
* Loads expressions in BFS order, respecting the current grammar config.
|
|
942
|
+
* Used by restoration paths (fromData, rollback) that load existing data.
|
|
943
|
+
*/
|
|
944
|
+
loadExpressions(expressions) {
|
|
945
|
+
this.loadInitialExpressions(expressions);
|
|
946
|
+
}
|
|
747
947
|
/** Returns a serializable snapshot of the current state. */
|
|
748
948
|
snapshot() {
|
|
749
949
|
return {
|
|
@@ -752,9 +952,16 @@ export class ExpressionManager {
|
|
|
752
952
|
};
|
|
753
953
|
}
|
|
754
954
|
/** Creates a new ExpressionManager from a previously captured snapshot. */
|
|
755
|
-
static fromSnapshot(snapshot) {
|
|
756
|
-
|
|
955
|
+
static fromSnapshot(snapshot, grammarConfig) {
|
|
956
|
+
// During loading: use explicit grammarConfig, falling back to snapshot's config
|
|
957
|
+
const loadingConfig = {
|
|
958
|
+
...snapshot.config,
|
|
959
|
+
grammarConfig: grammarConfig ?? snapshot.config?.grammarConfig,
|
|
960
|
+
};
|
|
961
|
+
const em = new ExpressionManager(loadingConfig);
|
|
757
962
|
em.loadInitialExpressions(snapshot.expressions);
|
|
963
|
+
// After loading: restore the snapshot's config for ongoing mutations
|
|
964
|
+
em.config = snapshot.config;
|
|
758
965
|
return em;
|
|
759
966
|
}
|
|
760
967
|
}
|
|
@@ -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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"}
|
|
@@ -14,6 +14,13 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
14
14
|
* root is permitted per premise. All structural rules (`implies`/`iff`
|
|
15
15
|
* root-only, child limits, position uniqueness) are enforced.
|
|
16
16
|
*
|
|
17
|
+
* When `grammarConfig.autoNormalize` is `true`, operator nesting
|
|
18
|
+
* violations are auto-corrected by inserting a `formula` buffer between
|
|
19
|
+
* the parent operator and the non-`not` operator child, rather than
|
|
20
|
+
* throwing. Auto-normalize is only active for `addExpression`; compound
|
|
21
|
+
* operations (`insertExpression`, `wrapExpression`) and `removeExpression`
|
|
22
|
+
* always throw on violations regardless of this flag.
|
|
23
|
+
*
|
|
17
24
|
* @param expression - The expression to add, including position and
|
|
18
25
|
* parent assignment.
|
|
19
26
|
* @returns The added expression (with checksum) and changeset.
|
|
@@ -22,6 +29,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
22
29
|
* @throws If the expression's parent does not exist in this premise.
|
|
23
30
|
* @throws If the expression is a variable reference and the variable
|
|
24
31
|
* has not been registered.
|
|
32
|
+
* @throws If a non-not operator would become a direct child of another
|
|
33
|
+
* operator expression (when `autoNormalize` is `false`).
|
|
25
34
|
*/
|
|
26
35
|
addExpression(expression: TExpressionInput<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
|
|
27
36
|
/**
|
|
@@ -35,6 +44,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
35
44
|
* @throws If the premise already has a root and `parentId` is `null`.
|
|
36
45
|
* @throws If the expression is a variable reference and the variable
|
|
37
46
|
* has not been registered.
|
|
47
|
+
* @throws If a non-not operator would become a direct child of another
|
|
48
|
+
* operator expression.
|
|
38
49
|
*/
|
|
39
50
|
appendExpression(parentId: string | null, expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
|
|
40
51
|
/**
|
|
@@ -49,6 +60,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
49
60
|
* @throws If the sibling does not exist in this premise.
|
|
50
61
|
* @throws If the expression is a variable reference and the variable
|
|
51
62
|
* has not been registered.
|
|
63
|
+
* @throws If a non-not operator would become a direct child of another
|
|
64
|
+
* operator expression.
|
|
52
65
|
*/
|
|
53
66
|
addExpressionRelative(siblingId: string, relativePosition: "before" | "after", expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
|
|
54
67
|
/**
|
|
@@ -69,6 +82,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
69
82
|
* @param expressionId - The ID of the expression to remove.
|
|
70
83
|
* @param deleteSubtree - Whether to remove all descendants as well.
|
|
71
84
|
* @returns The removed root expression, or `undefined` if not found.
|
|
85
|
+
* @throws If removal would promote a non-not operator as a direct
|
|
86
|
+
* child of another operator expression.
|
|
72
87
|
*/
|
|
73
88
|
removeExpression(expressionId: string, deleteSubtree: boolean): TCoreMutationResult<TExpr | undefined, TExpr, TVar, TPremise, TArg>;
|
|
74
89
|
/**
|
|
@@ -85,6 +100,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
85
100
|
* @returns The inserted expression (with checksum) and changeset.
|
|
86
101
|
* @throws If the expression is a variable reference and the variable
|
|
87
102
|
* has not been registered.
|
|
103
|
+
* @throws If a non-not operator would become a direct child of another
|
|
104
|
+
* operator expression.
|
|
88
105
|
*/
|
|
89
106
|
insertExpression(expression: TExpressionInput<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
|
|
90
107
|
/**
|
|
@@ -104,6 +121,8 @@ export interface TExpressionMutations<TArg extends TCoreArgument = TCoreArgument
|
|
|
104
121
|
* @returns The inserted operator (with checksum) and changeset.
|
|
105
122
|
* @throws If the new sibling is a variable reference and the variable
|
|
106
123
|
* has not been registered.
|
|
124
|
+
* @throws If a non-not operator would become a direct child of another
|
|
125
|
+
* operator expression.
|
|
107
126
|
*/
|
|
108
127
|
wrapExpression(operator: TExpressionWithoutPosition<TExpr>, newSibling: TExpressionWithoutPosition<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
|
|
109
128
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"premise-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/premise-engine.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACR,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACjC,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,KAAK,SAAS,4BAA4B,GAAG,4BAA4B,EACzE,IAAI,SAAS,0BAA0B,GAAG,0BAA0B;IAEpE
|
|
1
|
+
{"version":3,"file":"premise-engine.interfaces.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/interfaces/premise-engine.interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { type TCoreArgument, type TCorePremise, type TCorePropositionalExpressio
|
|
|
2
2
|
import type { TCoreExpressionAssignment, TCorePremiseEvaluationResult, TCoreValidationResult } from "../types/evaluation.js";
|
|
3
3
|
import type { TCoreMutationResult } from "../types/mutation.js";
|
|
4
4
|
import type { TLogicEngineOptions } from "./argument-engine.js";
|
|
5
|
+
import type { TGrammarConfig } from "../types/grammar.js";
|
|
5
6
|
import type { TExpressionInput, TExpressionManagerSnapshot, TExpressionWithoutPosition, TExpressionUpdate } from "./expression-manager.js";
|
|
6
7
|
import { VariableManager } from "./variable-manager.js";
|
|
7
8
|
import type { TExpressionMutations, TExpressionQueries, TVariableReferences, TPremiseClassification, TPremiseEvaluation, TPremiseLifecycle, TPremiseIdentity, TDisplayable, TChecksummable } from "./interfaces/index.js";
|
|
@@ -64,6 +65,12 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
|
|
|
64
65
|
toPremiseData(): TPremise;
|
|
65
66
|
checksum(): string;
|
|
66
67
|
private computeChecksum;
|
|
68
|
+
/**
|
|
69
|
+
* Loads expressions in BFS order with the nesting check bypassed.
|
|
70
|
+
* Bypasses all PremiseEngine validation (ownership, variable existence, circularity)
|
|
71
|
+
* since restoration paths trust existing data completely.
|
|
72
|
+
*/
|
|
73
|
+
loadExpressions(expressions: TExpressionInput<TExpr>[]): void;
|
|
67
74
|
markDirty(): void;
|
|
68
75
|
/**
|
|
69
76
|
* Re-reads the single root from ExpressionManager after any operation
|
|
@@ -76,7 +83,7 @@ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, T
|
|
|
76
83
|
private operatorSymbol;
|
|
77
84
|
snapshot(): TPremiseEngineSnapshot<TPremise, TExpr>;
|
|
78
85
|
/** Creates a new PremiseEngine from a previously captured snapshot. */
|
|
79
|
-
static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(snapshot: TPremiseEngineSnapshot<TPremise, TExpr>, argument: TOptionalChecksum<TArg>, variables: VariableManager<TVar>, expressionIndex?: Map<string, string
|
|
86
|
+
static fromSnapshot<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable>(snapshot: TPremiseEngineSnapshot<TPremise, TExpr>, argument: TOptionalChecksum<TArg>, variables: VariableManager<TVar>, expressionIndex?: Map<string, string>, grammarConfig?: TGrammarConfig): PremiseEngine<TArg, TPremise, TExpr, TVar>;
|
|
80
87
|
private syncExpressionIndex;
|
|
81
88
|
private rebuildVariableIndex;
|
|
82
89
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"premise-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
|