@polintpro/proposit-core 0.2.5 → 0.2.6

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 (59) hide show
  1. package/README.md +79 -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 +9 -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 +14 -6
  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 +7 -1
  27. package/dist/lib/consts.js.map +1 -1
  28. package/dist/lib/core/ArgumentEngine.d.ts +34 -13
  29. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  30. package/dist/lib/core/ArgumentEngine.js +149 -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 +195 -0
  37. package/dist/lib/core/PremiseEngine.d.ts.map +1 -0
  38. package/dist/lib/core/PremiseEngine.js +851 -0
  39. package/dist/lib/core/PremiseEngine.js.map +1 -0
  40. package/dist/lib/core/VariableManager.d.ts +12 -2
  41. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  42. package/dist/lib/core/VariableManager.js +19 -5
  43. package/dist/lib/core/VariableManager.js.map +1 -1
  44. package/dist/lib/core/diff.js +2 -2
  45. package/dist/lib/core/diff.js.map +1 -1
  46. package/dist/lib/core/relationships.d.ts +2 -2
  47. package/dist/lib/core/relationships.d.ts.map +1 -1
  48. package/dist/lib/core/relationships.js.map +1 -1
  49. package/dist/lib/index.d.ts +7 -2
  50. package/dist/lib/index.d.ts.map +1 -1
  51. package/dist/lib/index.js +2 -2
  52. package/dist/lib/index.js.map +1 -1
  53. package/dist/lib/schemata/propositional.d.ts +11 -0
  54. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  55. package/dist/lib/schemata/propositional.js +3 -0
  56. package/dist/lib/schemata/propositional.js.map +1 -1
  57. package/dist/lib/types/evaluation.d.ts +1 -9
  58. package/dist/lib/types/evaluation.d.ts.map +1 -1
  59. package/package.json +1 -1
@@ -2,9 +2,9 @@ import { randomUUID } from "node:crypto";
2
2
  import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
3
3
  import { getOrCreate, sortedUnique } from "../utils/collections.js";
4
4
  import { ChangeCollector } from "./ChangeCollector.js";
5
- import { computeHash, entityChecksum } from "./checksum.js";
5
+ import { canonicalSerialize, computeHash, entityChecksum } from "./checksum.js";
6
6
  import { kleeneAnd, kleeneNot, makeErrorIssue, makeValidationResult, } from "./evaluation/shared.js";
7
- import { PremiseManager } from "./PremiseManager.js";
7
+ import { PremiseEngine } from "./PremiseEngine.js";
8
8
  import { VariableManager } from "./VariableManager.js";
9
9
  /**
10
10
  * Manages a propositional logic argument composed of premises, variable
@@ -25,7 +25,10 @@ export class ArgumentEngine {
25
25
  constructor(argument, options) {
26
26
  this.argument = { ...argument };
27
27
  this.premises = new Map();
28
- this.variables = new VariableManager();
28
+ this.variables = new VariableManager({
29
+ checksumConfig: this.checksumConfig,
30
+ positionConfig: this.positionConfig,
31
+ });
29
32
  this.conclusionPremiseId = undefined;
30
33
  this.checksumConfig = options?.checksumConfig;
31
34
  this.positionConfig = options?.positionConfig;
@@ -34,6 +37,29 @@ export class ArgumentEngine {
34
37
  getArgument() {
35
38
  return { ...this.argument, checksum: this.checksum() };
36
39
  }
40
+ /** Renders the argument as a multi-line string with role labels for each premise. */
41
+ toDisplayString() {
42
+ const lines = [];
43
+ const arg = this.getArgument();
44
+ lines.push(`Argument: ${arg.id} (v${arg.version})`);
45
+ lines.push("");
46
+ const supportingIds = new Set(this.listSupportingPremises().map((pe) => pe.getId()));
47
+ for (const pe of this.listPremises()) {
48
+ let role;
49
+ if (pe.getId() === this.conclusionPremiseId) {
50
+ role = "Conclusion";
51
+ }
52
+ else if (supportingIds.has(pe.getId())) {
53
+ role = "Supporting";
54
+ }
55
+ else {
56
+ role = "Constraint";
57
+ }
58
+ const display = pe.toDisplayString() || "(empty)";
59
+ lines.push(`[${role}] ${display}`);
60
+ }
61
+ return lines.join("\n");
62
+ }
37
63
  /**
38
64
  * Creates a new premise with an auto-generated UUID and registers it
39
65
  * with this engine.
@@ -51,10 +77,19 @@ export class ArgumentEngine {
51
77
  if (this.premises.has(id)) {
52
78
  throw new Error(`Premise "${id}" already exists.`);
53
79
  }
54
- const pm = new PremiseManager(id, this.argument, this.variables, extras, this.checksumConfig, this.positionConfig);
80
+ const premiseData = {
81
+ ...extras,
82
+ id,
83
+ argumentId: this.argument.id,
84
+ argumentVersion: this.argument.version,
85
+ };
86
+ const pm = new PremiseEngine(premiseData, { argument: this.argument, variables: this.variables }, {
87
+ checksumConfig: this.checksumConfig,
88
+ positionConfig: this.positionConfig,
89
+ });
55
90
  this.premises.set(id, pm);
56
91
  const collector = new ChangeCollector();
57
- collector.addedPremise(pm.toData());
92
+ collector.addedPremise(pm.toPremiseData());
58
93
  this.markDirty();
59
94
  if (this.conclusionPremiseId === undefined) {
60
95
  this.conclusionPremiseId = id;
@@ -73,7 +108,7 @@ export class ArgumentEngine {
73
108
  const pm = this.premises.get(premiseId);
74
109
  if (!pm)
75
110
  return { result: undefined, changes: {} };
76
- const data = pm.toData();
111
+ const data = pm.toPremiseData();
77
112
  this.premises.delete(premiseId);
78
113
  const collector = new ChangeCollector();
79
114
  collector.removedPremise(data);
@@ -245,16 +280,104 @@ export class ArgumentEngine {
245
280
  return this.listPremises().filter((pm) => pm.isInference() && pm.getId() !== this.conclusionPremiseId);
246
281
  }
247
282
  /** Returns a serializable snapshot of the full engine state. */
248
- toData() {
283
+ snapshot() {
249
284
  return {
250
- argument: { ...this.argument, checksum: this.checksum() },
251
- premises: this.listPremises().map((pm) => pm.toData()),
252
- roles: this.getRoleState(),
285
+ argument: { ...this.argument },
286
+ variables: this.variables.snapshot(),
287
+ premises: this.listPremises().map((pe) => pe.snapshot()),
288
+ ...(this.conclusionPremiseId !== undefined
289
+ ? { conclusionPremiseId: this.conclusionPremiseId }
290
+ : {}),
291
+ config: {
292
+ checksumConfig: this.checksumConfig,
293
+ positionConfig: this.positionConfig,
294
+ },
253
295
  };
254
296
  }
255
- /** Alias for {@link toData}. */
256
- exportState() {
257
- return this.toData();
297
+ /** Creates a new ArgumentEngine from a previously captured snapshot. */
298
+ static fromSnapshot(snapshot) {
299
+ const engine = new ArgumentEngine(snapshot.argument, snapshot.config);
300
+ // Restore variables
301
+ for (const v of snapshot.variables.variables) {
302
+ engine.addVariable(v);
303
+ }
304
+ // Restore premises using PremiseEngine.fromSnapshot
305
+ for (const premiseSnap of snapshot.premises) {
306
+ const pe = PremiseEngine.fromSnapshot(premiseSnap, snapshot.argument, engine.variables);
307
+ engine.premises.set(pe.getId(), pe);
308
+ }
309
+ // Restore conclusion role (don't use setConclusionPremise to avoid auto-assign logic)
310
+ engine.conclusionPremiseId = snapshot.conclusionPremiseId;
311
+ return engine;
312
+ }
313
+ /**
314
+ * Creates a new ArgumentEngine from flat arrays of entities, as typically
315
+ * stored in a relational database. Expressions are grouped by their
316
+ * `premiseId` field and loaded in BFS order (roots first, then children
317
+ * of already-added nodes) to satisfy parent-existence requirements.
318
+ */
319
+ static fromData(argument, variables, premises, expressions, roles, config) {
320
+ const engine = new ArgumentEngine(argument, config);
321
+ // Register variables
322
+ for (const v of variables) {
323
+ engine.addVariable(v);
324
+ }
325
+ // Group expressions by premiseId
326
+ const exprsByPremise = new Map();
327
+ for (const expr of expressions) {
328
+ const premiseId = expr
329
+ .premiseId;
330
+ let group = exprsByPremise.get(premiseId);
331
+ if (!group) {
332
+ group = [];
333
+ exprsByPremise.set(premiseId, group);
334
+ }
335
+ group.push(expr);
336
+ }
337
+ // Create premises and load their expressions in BFS order
338
+ for (const premise of premises) {
339
+ const { id: _id, argumentId: _argumentId, argumentVersion: _argumentVersion, rootExpressionId: _rootExpressionId, variables: _vars, expressions: _exprs, checksum: _checksum, ...extras } = premise;
340
+ const { result: pe } = engine.createPremiseWithId(premise.id, extras);
341
+ // Add expressions in BFS order (roots first, then children)
342
+ const premiseExprs = exprsByPremise.get(premise.id) ?? [];
343
+ const pending = new Map(premiseExprs.map((e) => [e.id, e]));
344
+ let progressed = true;
345
+ while (pending.size > 0 && progressed) {
346
+ progressed = false;
347
+ for (const [eid, expr] of Array.from(pending.entries())) {
348
+ const base = expr;
349
+ if (base.parentId !== null &&
350
+ !pe.getExpression(base.parentId)) {
351
+ continue;
352
+ }
353
+ pe.addExpression(expr);
354
+ pending.delete(eid);
355
+ progressed = true;
356
+ }
357
+ }
358
+ if (pending.size > 0) {
359
+ throw new Error(`Could not resolve parent relationships for expressions: ${Array.from(pending.keys()).join(", ")}`);
360
+ }
361
+ }
362
+ // Set roles (override auto-assignment)
363
+ if (roles.conclusionPremiseId !== undefined) {
364
+ engine.setConclusionPremise(roles.conclusionPremiseId);
365
+ }
366
+ return engine;
367
+ }
368
+ /** Restores the engine to a previously captured snapshot state. */
369
+ rollback(snapshot) {
370
+ this.argument = { ...snapshot.argument };
371
+ this.checksumConfig = snapshot.config?.checksumConfig;
372
+ this.positionConfig = snapshot.config?.positionConfig;
373
+ this.variables = VariableManager.fromSnapshot(snapshot.variables);
374
+ this.premises = new Map();
375
+ for (const premiseSnap of snapshot.premises) {
376
+ const pe = PremiseEngine.fromSnapshot(premiseSnap, this.argument, this.variables);
377
+ this.premises.set(pe.getId(), pe);
378
+ }
379
+ this.conclusionPremiseId = snapshot.conclusionPremiseId;
380
+ this.markDirty();
258
381
  }
259
382
  /**
260
383
  * Returns an argument-level checksum combining argument metadata, role
@@ -270,17 +393,20 @@ export class ArgumentEngine {
270
393
  }
271
394
  computeChecksum() {
272
395
  const config = this.checksumConfig;
273
- const parts = [];
274
- // Argument metadata
275
- parts.push(entityChecksum(this.argument, config?.argumentFields ??
276
- DEFAULT_CHECKSUM_CONFIG.argumentFields));
277
- // Role state
278
- parts.push(entityChecksum(this.getRoleState(), config?.roleFields ?? DEFAULT_CHECKSUM_CONFIG.roleFields));
279
- // Premise checksums (sorted by ID for determinism)
280
- for (const pm of this.listPremises()) {
281
- parts.push(pm.checksum());
396
+ const checksumMap = {};
397
+ // Argument entity checksum
398
+ checksumMap[this.argument.id] = entityChecksum(this.argument, config?.argumentFields ?? DEFAULT_CHECKSUM_CONFIG.argumentFields);
399
+ // Role state checksum (use fixed key since roles have no ID)
400
+ checksumMap.__roles__ = entityChecksum(this.getRoleState(), config?.roleFields ?? DEFAULT_CHECKSUM_CONFIG.roleFields);
401
+ // Variable checksums
402
+ for (const v of this.variables.toArray()) {
403
+ checksumMap[v.id] = v.checksum;
404
+ }
405
+ // Premise checksums (cumulative, from each PremiseEngine)
406
+ for (const pe of this.listPremises()) {
407
+ checksumMap[pe.getId()] = pe.checksum();
282
408
  }
283
- return computeHash(parts.join(":"));
409
+ return computeHash(canonicalSerialize(checksumMap));
284
410
  }
285
411
  markDirty() {
286
412
  this.checksumDirty = true;
@@ -1 +1 @@
1
- {"version":3,"file":"ArgumentEngine.js","sourceRoot":"","sources":["../../../src/lib/core/ArgumentEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArgumentEngine.js","sourceRoot":"","sources":["../../../src/lib/core/ArgumentEngine.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { TCoreLogicalOperatorType, TCorePropositionalExpression } from "../schemata/index.js";
2
2
  import type { ChangeCollector } from "./ChangeCollector.js";
3
- import { type TCorePositionConfig } from "../utils/position.js";
3
+ import type { TLogicEngineOptions } from "./ArgumentEngine.js";
4
4
  export type TExpressionInput<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> = TExpr extends infer U ? U extends TCorePropositionalExpression ? Omit<U, "checksum"> : never : never;
5
5
  export type TExpressionWithoutPosition<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> = TExpr extends infer U ? U extends TCorePropositionalExpression ? Omit<U, "position" | "checksum"> : never : never;
6
+ export type TExpressionManagerSnapshot<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> = {
7
+ expressions: TExpr[];
8
+ config?: TLogicEngineOptions;
9
+ };
6
10
  /** Fields that may be updated on an existing expression. */
7
11
  export type TExpressionUpdate = {
8
12
  position?: number;
@@ -17,7 +21,7 @@ export type TExpressionUpdate = {
17
21
  * index. Structural invariants (child limits, root-only operators, position
18
22
  * uniqueness) are enforced on every mutation.
19
23
  *
20
- * This class is an internal building block used by {@link PremiseManager}
24
+ * This class is an internal building block used by {@link PremiseEngine}
21
25
  * and is not part of the public API.
22
26
  */
23
27
  export declare class ExpressionManager<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression> {
@@ -25,11 +29,13 @@ export declare class ExpressionManager<TExpr extends TCorePropositionalExpressio
25
29
  private childExpressionIdsByParentId;
26
30
  private childPositionsByParentId;
27
31
  private positionConfig;
32
+ private config?;
28
33
  private collector;
29
34
  setCollector(collector: ChangeCollector | null): void;
30
- constructor(initialExpressions?: TExpressionInput<TExpr>[], positionConfig?: TCorePositionConfig);
35
+ constructor(config?: TLogicEngineOptions);
36
+ private attachChecksum;
31
37
  /** Returns all expressions sorted by ID for deterministic output. */
32
- toArray(): TExpressionInput<TExpr>[];
38
+ toArray(): TExpr[];
33
39
  /**
34
40
  * Adds an expression to the tree.
35
41
  *
@@ -72,7 +78,7 @@ export declare class ExpressionManager<TExpr extends TCorePropositionalExpressio
72
78
  * @throws If `variableId` is set on a non-variable expression.
73
79
  * @throws If the new position collides with a sibling.
74
80
  */
75
- updateExpression(expressionId: string, updates: TExpressionUpdate): TExpressionInput<TExpr>;
81
+ updateExpression(expressionId: string, updates: TExpressionUpdate): TExpr;
76
82
  /**
77
83
  * Removes an expression from the tree.
78
84
  *
@@ -90,16 +96,16 @@ export declare class ExpressionManager<TExpr extends TCorePropositionalExpressio
90
96
  * operator (`implies`/`iff`) that would be placed in a non-root position.
91
97
  * @returns The removed expression, or `undefined` if not found.
92
98
  */
93
- removeExpression(expressionId: string, deleteSubtree: boolean): TExpressionInput<TExpr> | undefined;
99
+ removeExpression(expressionId: string, deleteSubtree: boolean): TExpr | undefined;
94
100
  private removeSubtree;
95
101
  private removeAndPromote;
96
102
  private collapseIfNeeded;
97
103
  /** Returns `true` if any expression in the tree references the given variable ID. */
98
104
  hasVariableReference(variableId: string): boolean;
99
105
  /** Returns the expression with the given ID, or `undefined` if not found. */
100
- getExpression(expressionId: string): TExpressionInput<TExpr> | undefined;
106
+ getExpression(expressionId: string): TExpr | undefined;
101
107
  /** Returns the children of the given parent, sorted by position. */
102
- getChildExpressions(parentId: string | null): TExpressionInput<TExpr>[];
108
+ getChildExpressions(parentId: string | null): TExpr[];
103
109
  private loadInitialExpressions;
104
110
  private assertChildLimit;
105
111
  private reparent;
@@ -122,5 +128,9 @@ export declare class ExpressionManager<TExpr extends TCorePropositionalExpressio
122
128
  * @throws If an `implies`/`iff` expression would be inserted at a non-root position.
123
129
  */
124
130
  insertExpression(expression: TExpressionInput<TExpr>, leftNodeId?: string, rightNodeId?: string): void;
131
+ /** Returns a serializable snapshot of the current state. */
132
+ snapshot(): TExpressionManagerSnapshot<TExpr>;
133
+ /** Creates a new ExpressionManager from a previously captured snapshot. */
134
+ static fromSnapshot<TExpr extends TCorePropositionalExpression = TCorePropositionalExpression>(snapshot: TExpressionManagerSnapshot<TExpr>): ExpressionManager<TExpr>;
125
135
  }
126
136
  //# sourceMappingURL=ExpressionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"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"}
@@ -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