@polintpro/proposit-core 0.2.5 → 0.2.7

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 (63) hide show
  1. package/README.md +150 -27
  2. package/dist/cli/commands/analysis.js +1 -1
  3. package/dist/cli/commands/analysis.js.map +1 -1
  4. package/dist/cli/commands/expressions.d.ts.map +1 -1
  5. package/dist/cli/commands/expressions.js +21 -3
  6. package/dist/cli/commands/expressions.js.map +1 -1
  7. package/dist/cli/commands/premises.d.ts.map +1 -1
  8. package/dist/cli/commands/premises.js +28 -11
  9. package/dist/cli/commands/premises.js.map +1 -1
  10. package/dist/cli/engine.d.ts +1 -1
  11. package/dist/cli/engine.d.ts.map +1 -1
  12. package/dist/cli/engine.js +17 -9
  13. package/dist/cli/engine.js.map +1 -1
  14. package/dist/cli/import.d.ts.map +1 -1
  15. package/dist/cli/import.js +10 -6
  16. package/dist/cli/import.js.map +1 -1
  17. package/dist/cli/schemata.d.ts +3 -0
  18. package/dist/cli/schemata.d.ts.map +1 -1
  19. package/dist/cli/schemata.js +2 -1
  20. package/dist/cli/schemata.js.map +1 -1
  21. package/dist/index.d.ts +3 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/lib/consts.d.ts.map +1 -1
  26. package/dist/lib/consts.js +2 -1
  27. package/dist/lib/consts.js.map +1 -1
  28. package/dist/lib/core/ArgumentEngine.d.ts +64 -13
  29. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  30. package/dist/lib/core/ArgumentEngine.js +243 -23
  31. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  32. package/dist/lib/core/ExpressionManager.d.ts +18 -8
  33. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  34. package/dist/lib/core/ExpressionManager.js +42 -16
  35. package/dist/lib/core/ExpressionManager.js.map +1 -1
  36. package/dist/lib/core/PremiseEngine.d.ts +200 -0
  37. package/dist/lib/core/PremiseEngine.d.ts.map +1 -0
  38. package/dist/lib/core/PremiseEngine.js +872 -0
  39. package/dist/lib/core/PremiseEngine.js.map +1 -0
  40. package/dist/lib/core/VariableManager.d.ts +15 -3
  41. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  42. package/dist/lib/core/VariableManager.js +34 -13
  43. package/dist/lib/core/VariableManager.js.map +1 -1
  44. package/dist/lib/core/diff.d.ts +2 -2
  45. package/dist/lib/core/diff.d.ts.map +1 -1
  46. package/dist/lib/core/diff.js +12 -16
  47. package/dist/lib/core/diff.js.map +1 -1
  48. package/dist/lib/core/relationships.d.ts +2 -2
  49. package/dist/lib/core/relationships.d.ts.map +1 -1
  50. package/dist/lib/core/relationships.js.map +1 -1
  51. package/dist/lib/index.d.ts +7 -2
  52. package/dist/lib/index.d.ts.map +1 -1
  53. package/dist/lib/index.js +2 -2
  54. package/dist/lib/index.js.map +1 -1
  55. package/dist/lib/schemata/propositional.d.ts +8 -29
  56. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  57. package/dist/lib/schemata/propositional.js +4 -10
  58. package/dist/lib/schemata/propositional.js.map +1 -1
  59. package/dist/lib/types/checksum.d.ts +1 -1
  60. package/dist/lib/types/checksum.d.ts.map +1 -1
  61. package/dist/lib/types/evaluation.d.ts +1 -9
  62. package/dist/lib/types/evaluation.d.ts.map +1 -1
  63. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { getOrCreate } from "../utils/collections.js";
2
2
  import { DEFAULT_POSITION_CONFIG, midpoint, } from "../utils/position.js";
3
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
4
+ import { entityChecksum } from "./checksum.js";
3
5
  const PERMITTED_OPERATOR_SWAPS = {
4
6
  and: "or",
5
7
  or: "and",
@@ -14,7 +16,7 @@ const PERMITTED_OPERATOR_SWAPS = {
14
16
  * index. Structural invariants (child limits, root-only operators, position
15
17
  * uniqueness) are enforced on every mutation.
16
18
  *
17
- * This class is an internal building block used by {@link PremiseManager}
19
+ * This class is an internal building block used by {@link PremiseEngine}
18
20
  * and is not part of the public API.
19
21
  */
20
22
  export class ExpressionManager {
@@ -22,16 +24,25 @@ export class ExpressionManager {
22
24
  childExpressionIdsByParentId;
23
25
  childPositionsByParentId;
24
26
  positionConfig;
27
+ config;
25
28
  collector = null;
26
29
  setCollector(collector) {
27
30
  this.collector = collector;
28
31
  }
29
- constructor(initialExpressions = [], positionConfig) {
32
+ constructor(config) {
30
33
  this.expressions = new Map();
31
34
  this.childExpressionIdsByParentId = new Map();
32
35
  this.childPositionsByParentId = new Map();
33
- this.positionConfig = positionConfig ?? DEFAULT_POSITION_CONFIG;
34
- this.loadInitialExpressions(initialExpressions);
36
+ this.positionConfig = config?.positionConfig ?? DEFAULT_POSITION_CONFIG;
37
+ this.config = config;
38
+ }
39
+ attachChecksum(expr) {
40
+ const fields = this.config?.checksumConfig?.expressionFields ??
41
+ DEFAULT_CHECKSUM_CONFIG.expressionFields;
42
+ return {
43
+ ...expr,
44
+ checksum: entityChecksum(expr, fields),
45
+ };
35
46
  }
36
47
  /** Returns all expressions sorted by ID for deterministic output. */
37
48
  toArray() {
@@ -84,9 +95,10 @@ export class ExpressionManager {
84
95
  throw new Error(`Position ${expression.position} is already used under parent "${expression.parentId}".`);
85
96
  }
86
97
  occupiedPositions.add(expression.position);
87
- this.expressions.set(expression.id, expression);
98
+ const withChecksum = this.attachChecksum(expression);
99
+ this.expressions.set(expression.id, withChecksum);
88
100
  this.collector?.addedExpression({
89
- ...expression,
101
+ ...withChecksum,
90
102
  });
91
103
  getOrCreate(this.childExpressionIdsByParentId, expression.parentId, () => new Set()).add(expression.id);
92
104
  }
@@ -166,6 +178,7 @@ export class ExpressionManager {
166
178
  "id",
167
179
  "argumentId",
168
180
  "argumentVersion",
181
+ "premiseId",
169
182
  "checksum",
170
183
  "parentId",
171
184
  "type",
@@ -211,7 +224,7 @@ export class ExpressionManager {
211
224
  }
212
225
  }
213
226
  // Build an updated copy and replace in the map.
214
- const updated = {
227
+ const updated = this.attachChecksum({
215
228
  ...expression,
216
229
  ...(updates.position !== undefined
217
230
  ? { position: updates.position }
@@ -222,7 +235,7 @@ export class ExpressionManager {
222
235
  ...(updates.operator !== undefined
223
236
  ? { operator: updates.operator }
224
237
  : {}),
225
- };
238
+ });
226
239
  this.expressions.set(expressionId, updated);
227
240
  this.collector?.modifiedExpression({
228
241
  ...updated,
@@ -327,11 +340,11 @@ export class ExpressionManager {
327
340
  throw new Error(`Cannot promote: child "${child.id}" is a root-only operator ("${child.operator}") and would be placed in a non-root position.`);
328
341
  }
329
342
  // Promote child into the target's slot.
330
- const promoted = {
343
+ const promoted = this.attachChecksum({
331
344
  ...child,
332
345
  parentId: target.parentId,
333
346
  position: target.position,
334
- };
347
+ });
335
348
  this.expressions.set(child.id, promoted);
336
349
  // Update parent's child-id set: remove target, add promoted child.
337
350
  this.childExpressionIdsByParentId
@@ -406,11 +419,11 @@ export class ExpressionManager {
406
419
  const grandparentId = operator.parentId;
407
420
  const grandparentPosition = operator.position;
408
421
  // Promote the surviving child into the operator's slot in the grandparent.
409
- const promoted = {
422
+ const promoted = this.attachChecksum({
410
423
  ...child,
411
424
  parentId: grandparentId,
412
425
  position: grandparentPosition,
413
- };
426
+ });
414
427
  this.expressions.set(child.id, promoted);
415
428
  this.collector?.modifiedExpression({
416
429
  ...promoted,
@@ -504,11 +517,11 @@ export class ExpressionManager {
504
517
  .get(expression.parentId)
505
518
  ?.delete(expression.position);
506
519
  // Replace the stored value (expressions are immutable value objects).
507
- const updated = {
520
+ const updated = this.attachChecksum({
508
521
  ...expression,
509
522
  parentId: newParentId,
510
523
  position: newPosition,
511
- };
524
+ });
512
525
  this.expressions.set(expressionId, updated);
513
526
  this.collector?.modifiedExpression({
514
527
  ...updated,
@@ -616,11 +629,11 @@ export class ExpressionManager {
616
629
  this.reparent(leftNodeId, expression.id, 0);
617
630
  }
618
631
  // Store the new expression in the freed anchor slot.
619
- const stored = {
632
+ const stored = this.attachChecksum({
620
633
  ...expression,
621
634
  parentId: anchorParentId,
622
635
  position: anchorPosition,
623
- };
636
+ });
624
637
  this.expressions.set(expression.id, stored);
625
638
  this.collector?.addedExpression({
626
639
  ...stored,
@@ -628,5 +641,18 @@ export class ExpressionManager {
628
641
  getOrCreate(this.childExpressionIdsByParentId, anchorParentId, () => new Set()).add(expression.id);
629
642
  getOrCreate(this.childPositionsByParentId, anchorParentId, () => new Set()).add(anchorPosition);
630
643
  }
644
+ /** Returns a serializable snapshot of the current state. */
645
+ snapshot() {
646
+ return {
647
+ expressions: this.toArray(),
648
+ config: this.config,
649
+ };
650
+ }
651
+ /** Creates a new ExpressionManager from a previously captured snapshot. */
652
+ static fromSnapshot(snapshot) {
653
+ const em = new ExpressionManager(snapshot.config);
654
+ em.loadInitialExpressions(snapshot.expressions);
655
+ return em;
656
+ }
631
657
  }
632
658
  //# sourceMappingURL=ExpressionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionManager.js","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionManager.js","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TOptionalChecksum } from "../schemata/index.js";
2
+ import type { TCoreExpressionAssignment, TCorePremiseEvaluationResult, TCoreValidationResult } from "../types/evaluation.js";
3
+ import type { TCoreMutationResult } from "../types/mutation.js";
4
+ import type { TLogicEngineOptions } from "./ArgumentEngine.js";
5
+ import type { TExpressionInput, TExpressionManagerSnapshot, TExpressionWithoutPosition, TExpressionUpdate } from "./ExpressionManager.js";
6
+ import { VariableManager } from "./VariableManager.js";
7
+ export type TPremiseEngineSnapshot<TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> = {
8
+ premise: TOptionalChecksum<TPremise>;
9
+ rootExpressionId?: string;
10
+ expressions: TExpressionManagerSnapshot<TExpr>;
11
+ config?: TLogicEngineOptions;
12
+ };
13
+ export declare class PremiseEngine<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable> {
14
+ private premise;
15
+ private rootExpressionId;
16
+ private variables;
17
+ private expressions;
18
+ private expressionsByVariableId;
19
+ private argument;
20
+ private checksumConfig?;
21
+ private checksumDirty;
22
+ private cachedChecksum;
23
+ private expressionIndex?;
24
+ constructor(premise: TOptionalChecksum<TPremise>, deps: {
25
+ argument: TOptionalChecksum<TArg>;
26
+ variables: VariableManager<TVar>;
27
+ expressionIndex?: Map<string, string>;
28
+ }, config?: TLogicEngineOptions);
29
+ /**
30
+ * Deletes all expressions that reference the given variable ID,
31
+ * including their subtrees. Operator collapse runs after each removal.
32
+ * Returns all removed expressions in the changeset.
33
+ */
34
+ deleteExpressionsUsingVariable(variableId: string): TCoreMutationResult<TExpr[], TExpr, TVar, TPremise, TArg>;
35
+ /**
36
+ * Adds an expression to this premise's tree.
37
+ *
38
+ * If the expression has `parentId: null` it becomes the root; only one
39
+ * root is permitted per premise. If `parentId` is non-null the parent
40
+ * must already exist within this premise.
41
+ *
42
+ * All other structural rules (`implies`/`iff` root-only, child limits,
43
+ * position uniqueness) are enforced by the underlying `ExpressionManager`.
44
+ *
45
+ * @throws If the premise already has a root expression and this one is also a root.
46
+ * @throws If the expression's parent does not exist in this premise.
47
+ * @throws If the expression is a variable reference and the variable has not been registered.
48
+ * @throws If the expression does not belong to this argument.
49
+ */
50
+ addExpression(expression: TExpressionInput<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
51
+ /**
52
+ * Adds an expression as the last child of the given parent, with
53
+ * position computed automatically.
54
+ *
55
+ * If `parentId` is `null`, the expression becomes the root.
56
+ *
57
+ * @throws If the premise already has a root and parentId is null.
58
+ * @throws If the expression does not belong to this argument.
59
+ * @throws If the expression is a variable reference and the variable has not been registered.
60
+ */
61
+ appendExpression(parentId: string | null, expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
62
+ /**
63
+ * Adds an expression immediately before or after an existing sibling,
64
+ * with position computed automatically.
65
+ *
66
+ * @throws If the sibling does not exist in this premise.
67
+ * @throws If the expression does not belong to this argument.
68
+ * @throws If the expression is a variable reference and the variable has not been registered.
69
+ */
70
+ addExpressionRelative(siblingId: string, relativePosition: "before" | "after", expression: TExpressionWithoutPosition<TExpr>): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
71
+ /**
72
+ * Updates mutable fields of an existing expression in this premise.
73
+ *
74
+ * Only `position`, `variableId`, and `operator` may be updated. Structural
75
+ * fields (`id`, `parentId`, `type`, `argumentId`, `argumentVersion`,
76
+ * `checksum`) are forbidden — enforced by the underlying
77
+ * `ExpressionManager`.
78
+ *
79
+ * If `variableId` changes, the internal `expressionsByVariableId` index is
80
+ * updated so that cascade deletion (`deleteExpressionsUsingVariable`) stays
81
+ * correct.
82
+ *
83
+ * @throws If the expression does not exist in this premise.
84
+ * @throws If `variableId` references a non-existent variable.
85
+ */
86
+ updateExpression(expressionId: string, updates: TExpressionUpdate): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
87
+ /**
88
+ * Removes an expression and its entire descendant subtree, then collapses
89
+ * any ancestor operators with fewer than two children (same semantics as
90
+ * before). Returns the removed root expression, or `undefined` if not
91
+ * found.
92
+ *
93
+ * `rootExpressionId` is recomputed after every removal because operator
94
+ * collapse can silently promote a new expression into the root slot.
95
+ */
96
+ removeExpression(expressionId: string, deleteSubtree: boolean): TCoreMutationResult<TExpr | undefined, TExpr, TVar, TPremise, TArg>;
97
+ /**
98
+ * Splices a new expression between existing nodes in the tree. The new
99
+ * expression inherits the tree slot of the anchor node
100
+ * (`leftNodeId ?? rightNodeId`).
101
+ *
102
+ * `rootExpressionId` is recomputed after every insertion because the
103
+ * anchor may have been the root.
104
+ *
105
+ * See `ArgumentEngine.insertExpression` for the full contract; the same
106
+ * rules apply here.
107
+ *
108
+ * @throws If the expression does not belong to this argument.
109
+ * @throws If the expression is a variable reference and the variable has not been registered.
110
+ */
111
+ insertExpression(expression: TExpressionInput<TExpr>, leftNodeId?: string, rightNodeId?: string): TCoreMutationResult<TExpr, TExpr, TVar, TPremise, TArg>;
112
+ /**
113
+ * Returns an expression by ID, or `undefined` if not found in this
114
+ * premise.
115
+ */
116
+ getExpression(id: string): TExpr | undefined;
117
+ getId(): string;
118
+ getExtras(): Record<string, unknown>;
119
+ setExtras(extras: Record<string, unknown>): TCoreMutationResult<Record<string, unknown>, TExpr, TVar, TPremise, TArg>;
120
+ getRootExpressionId(): string | undefined;
121
+ getRootExpression(): TExpr | undefined;
122
+ /**
123
+ * Returns all argument-level variables (from the shared VariableManager)
124
+ * sorted by ID. Since the VariableManager is shared across all premises,
125
+ * this returns every registered variable — not just those referenced by
126
+ * expressions in this premise.
127
+ */
128
+ getVariables(): TVar[];
129
+ getExpressions(): TExpr[];
130
+ getChildExpressions(parentId: string | null): TExpr[];
131
+ /**
132
+ * Returns `true` if the root expression is an `implies` or `iff` operator,
133
+ * meaning this premise expresses a logical inference relationship.
134
+ */
135
+ isInference(): boolean;
136
+ /**
137
+ * Returns `true` if this premise does not have an inference operator at its
138
+ * root (i.e. it is a constraint premise). Equivalent to `!isInference()`.
139
+ */
140
+ isConstraint(): boolean;
141
+ validateEvaluability(): TCoreValidationResult;
142
+ /**
143
+ * Evaluates the premise under a three-valued expression assignment.
144
+ *
145
+ * Variable values are looked up in `assignment.variables` using Kleene
146
+ * three-valued logic (`null` = unknown). Missing variables default to `null`.
147
+ * Expressions listed in `assignment.rejectedExpressionIds` evaluate to
148
+ * `false` and their children are not evaluated.
149
+ *
150
+ * For inference premises (`implies`/`iff`), an `inferenceDiagnostic` is
151
+ * computed with three-valued fields unless the root is rejected.
152
+ */
153
+ evaluate(assignment: TCoreExpressionAssignment, options?: {
154
+ strictUnknownKeys?: boolean;
155
+ requireExactCoverage?: boolean;
156
+ }): TCorePremiseEvaluationResult;
157
+ /**
158
+ * Returns a human-readable string of this premise's expression tree using
159
+ * standard logical notation (∧ ∨ ¬ → ↔). Missing operands are rendered
160
+ * as `(?)`. Returns an empty string when the premise has no expressions.
161
+ */
162
+ toDisplayString(): string;
163
+ /**
164
+ * Returns the set of variable IDs referenced by expressions in this premise.
165
+ * Only variables that appear in `type: "variable"` expression nodes are
166
+ * included — not all variables in the shared VariableManager.
167
+ */
168
+ getReferencedVariableIds(): Set<string>;
169
+ /**
170
+ * Returns a serializable TPremise representation of this premise.
171
+ * Contains only premise identity/metadata and checksum — use
172
+ * getRootExpressionId(), getExpressions(), getReferencedVariableIds()
173
+ * for runtime state.
174
+ */
175
+ toPremiseData(): TPremise;
176
+ /**
177
+ * Returns a premise-level checksum combining all entity checksums.
178
+ * Computed lazily -- only recalculated when state has changed.
179
+ */
180
+ checksum(): string;
181
+ private computeChecksum;
182
+ /** Invalidate the cached checksum so the next call recomputes it. */
183
+ markDirty(): void;
184
+ /**
185
+ * Re-reads the single root from ExpressionManager after any operation
186
+ * that may have caused operator collapse to silently change the root.
187
+ */
188
+ private syncRootExpressionId;
189
+ private collectSubtree;
190
+ private assertBelongsToArgument;
191
+ private renderExpression;
192
+ private operatorSymbol;
193
+ /** Returns a serializable snapshot of the premise's owned state. */
194
+ snapshot(): TPremiseEngineSnapshot<TPremise, TExpr>;
195
+ /** Creates a new PremiseEngine from a previously captured snapshot. */
196
+ 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>): PremiseEngine<TArg, TPremise, TExpr, TVar>;
197
+ private syncExpressionIndex;
198
+ private rebuildVariableIndex;
199
+ }
200
+ //# sourceMappingURL=PremiseEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PremiseEngine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/PremiseEngine.ts"],"names":[],"mappings":"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"}