@polintpro/proposit-core 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +102 -53
  2. package/dist/cli/commands/arguments.js +1 -1
  3. package/dist/cli/commands/arguments.js.map +1 -1
  4. package/dist/cli/commands/expressions.d.ts.map +1 -1
  5. package/dist/cli/commands/expressions.js +36 -6
  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 +4 -4
  9. package/dist/cli/commands/premises.js.map +1 -1
  10. package/dist/cli/commands/roles.d.ts.map +1 -1
  11. package/dist/cli/commands/roles.js +9 -39
  12. package/dist/cli/commands/roles.js.map +1 -1
  13. package/dist/cli/engine.d.ts.map +1 -1
  14. package/dist/cli/engine.js +3 -4
  15. package/dist/cli/engine.js.map +1 -1
  16. package/dist/cli/import.d.ts.map +1 -1
  17. package/dist/cli/import.js +5 -6
  18. package/dist/cli/import.js.map +1 -1
  19. package/dist/cli/output/diffRenderer.d.ts.map +1 -1
  20. package/dist/cli/output/diffRenderer.js +3 -16
  21. package/dist/cli/output/diffRenderer.js.map +1 -1
  22. package/dist/cli/schemata.d.ts +7 -3
  23. package/dist/cli/schemata.d.ts.map +1 -1
  24. package/dist/cli/storage/arguments.js +2 -2
  25. package/dist/cli/storage/arguments.js.map +1 -1
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +4 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/core/ArgumentEngine.d.ts +26 -19
  31. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  32. package/dist/lib/core/ArgumentEngine.js +93 -76
  33. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  34. package/dist/lib/core/ChangeCollector.d.ts +26 -0
  35. package/dist/lib/core/ChangeCollector.d.ts.map +1 -0
  36. package/dist/lib/core/ChangeCollector.js +62 -0
  37. package/dist/lib/core/ChangeCollector.js.map +1 -0
  38. package/dist/lib/core/ExpressionManager.d.ts +19 -1
  39. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  40. package/dist/lib/core/ExpressionManager.js +81 -46
  41. package/dist/lib/core/ExpressionManager.js.map +1 -1
  42. package/dist/lib/core/PremiseManager.d.ts +43 -7
  43. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  44. package/dist/lib/core/PremiseManager.js +291 -32
  45. package/dist/lib/core/PremiseManager.js.map +1 -1
  46. package/dist/lib/core/VariableManager.d.ts +2 -1
  47. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  48. package/dist/lib/core/VariableManager.js +2 -2
  49. package/dist/lib/core/VariableManager.js.map +1 -1
  50. package/dist/lib/core/checksum.d.ts +15 -0
  51. package/dist/lib/core/checksum.d.ts.map +1 -0
  52. package/dist/lib/core/checksum.js +43 -0
  53. package/dist/lib/core/checksum.js.map +1 -0
  54. package/dist/lib/core/diff.d.ts.map +1 -1
  55. package/dist/lib/core/diff.js +2 -6
  56. package/dist/lib/core/diff.js.map +1 -1
  57. package/dist/lib/index.d.ts +5 -0
  58. package/dist/lib/index.d.ts.map +1 -1
  59. package/dist/lib/index.js +4 -0
  60. package/dist/lib/index.js.map +1 -1
  61. package/dist/lib/schemata/argument.d.ts +1 -1
  62. package/dist/lib/schemata/argument.d.ts.map +1 -1
  63. package/dist/lib/schemata/argument.js +4 -2
  64. package/dist/lib/schemata/argument.js.map +1 -1
  65. package/dist/lib/schemata/propositional.d.ts +20 -9
  66. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  67. package/dist/lib/schemata/propositional.js +10 -1
  68. package/dist/lib/schemata/propositional.js.map +1 -1
  69. package/dist/lib/types/checksum.d.ts +14 -0
  70. package/dist/lib/types/checksum.d.ts.map +1 -0
  71. package/dist/lib/types/checksum.js +2 -0
  72. package/dist/lib/types/checksum.js.map +1 -0
  73. package/dist/lib/types/diff.d.ts +0 -2
  74. package/dist/lib/types/diff.d.ts.map +1 -1
  75. package/dist/lib/types/evaluation.d.ts +1 -3
  76. package/dist/lib/types/evaluation.d.ts.map +1 -1
  77. package/dist/lib/types/mutation.d.ts +31 -0
  78. package/dist/lib/types/mutation.d.ts.map +1 -0
  79. package/dist/lib/types/mutation.js +2 -0
  80. package/dist/lib/types/mutation.js.map +1 -0
  81. package/dist/lib/utils/position.d.ts +5 -0
  82. package/dist/lib/utils/position.d.ts.map +1 -0
  83. package/dist/lib/utils/position.js +7 -0
  84. package/dist/lib/utils/position.js.map +1 -0
  85. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { getOrCreate, sortedUnique } from "../utils/collections.js";
3
+ import { ChangeCollector } from "./ChangeCollector.js";
4
+ import { computeHash, entityChecksum } from "./checksum.js";
3
5
  import { kleeneAnd, kleeneNot, makeErrorIssue, makeValidationResult, } from "./evaluation/shared.js";
4
6
  import { PremiseManager } from "./PremiseManager.js";
5
7
  /**
@@ -12,13 +14,15 @@ import { PremiseManager } from "./PremiseManager.js";
12
14
  export class ArgumentEngine {
13
15
  argument;
14
16
  premises;
15
- supportingPremiseIds;
16
17
  conclusionPremiseId;
17
- constructor(argument) {
18
+ checksumConfig;
19
+ checksumDirty = true;
20
+ cachedChecksum;
21
+ constructor(argument, options) {
18
22
  this.argument = { ...argument };
19
23
  this.premises = new Map();
20
- this.supportingPremiseIds = new Set();
21
24
  this.conclusionPremiseId = undefined;
25
+ this.checksumConfig = options?.checksumConfig;
22
26
  }
23
27
  /** Returns a shallow copy of the argument metadata. */
24
28
  getArgument() {
@@ -29,10 +33,7 @@ export class ArgumentEngine {
29
33
  * with this engine.
30
34
  */
31
35
  createPremise(extras) {
32
- const id = randomUUID();
33
- const pm = new PremiseManager(id, this.argument, extras);
34
- this.premises.set(id, pm);
35
- return pm;
36
+ return this.createPremiseWithId(randomUUID(), extras);
36
37
  }
37
38
  /**
38
39
  * Creates a premise with a caller-supplied ID and registers it with
@@ -44,20 +45,31 @@ export class ArgumentEngine {
44
45
  if (this.premises.has(id)) {
45
46
  throw new Error(`Premise "${id}" already exists.`);
46
47
  }
47
- const pm = new PremiseManager(id, this.argument, extras);
48
+ const pm = new PremiseManager(id, this.argument, extras, this.checksumConfig);
48
49
  this.premises.set(id, pm);
49
- return pm;
50
+ const collector = new ChangeCollector();
51
+ collector.addedPremise(pm.toData());
52
+ this.markDirty();
53
+ return { result: pm, changes: collector.toChangeset() };
50
54
  }
51
55
  /**
52
56
  * Removes a premise and clears any role assignments that reference it.
53
- * No-op if the premise does not exist.
57
+ * Returns the removed premise data, or `undefined` if not found.
54
58
  */
55
59
  removePremise(premiseId) {
60
+ const pm = this.premises.get(premiseId);
61
+ if (!pm)
62
+ return { result: undefined, changes: {} };
63
+ const data = pm.toData();
56
64
  this.premises.delete(premiseId);
57
- this.supportingPremiseIds.delete(premiseId);
65
+ const collector = new ChangeCollector();
66
+ collector.removedPremise(data);
58
67
  if (this.conclusionPremiseId === premiseId) {
59
68
  this.conclusionPremiseId = undefined;
69
+ collector.setRoles(this.getRoleState());
60
70
  }
71
+ this.markDirty();
72
+ return { result: data, changes: collector.toChangeset() };
61
73
  }
62
74
  /** Returns the premise with the given ID, or `undefined` if not found. */
63
75
  getPremise(premiseId) {
@@ -77,31 +89,39 @@ export class ArgumentEngine {
77
89
  .map((id) => this.premises.get(id))
78
90
  .filter((pm) => pm !== undefined);
79
91
  }
80
- /** Returns the current role assignments (conclusion and supporting premise IDs). */
92
+ /** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
81
93
  getRoleState() {
82
94
  return {
83
- supportingPremiseIds: sortedUnique(this.supportingPremiseIds),
84
- conclusionPremiseId: this.conclusionPremiseId,
95
+ ...(this.conclusionPremiseId !== undefined
96
+ ? { conclusionPremiseId: this.conclusionPremiseId }
97
+ : {}),
85
98
  };
86
99
  }
87
100
  /**
88
101
  * Designates a premise as the argument's conclusion.
89
102
  *
90
103
  * @throws If the premise does not exist.
91
- * @throws If the premise is already a supporting premise.
92
104
  */
93
105
  setConclusionPremise(premiseId) {
94
- if (!this.hasPremise(premiseId)) {
106
+ const premise = this.premises.get(premiseId);
107
+ if (!premise) {
95
108
  throw new Error(`Premise "${premiseId}" does not exist.`);
96
109
  }
97
- if (this.supportingPremiseIds.has(premiseId)) {
98
- throw new Error(`Premise "${premiseId}" is already a supporting premise and cannot also be the conclusion.`);
99
- }
100
110
  this.conclusionPremiseId = premiseId;
111
+ const roles = this.getRoleState();
112
+ const collector = new ChangeCollector();
113
+ collector.setRoles(roles);
114
+ this.markDirty();
115
+ return { result: roles, changes: collector.toChangeset() };
101
116
  }
102
117
  /** Clears the conclusion designation. */
103
118
  clearConclusionPremise() {
104
119
  this.conclusionPremiseId = undefined;
120
+ const roles = this.getRoleState();
121
+ const collector = new ChangeCollector();
122
+ collector.setRoles(roles);
123
+ this.markDirty();
124
+ return { result: roles, changes: collector.toChangeset() };
105
125
  }
106
126
  /** Returns the conclusion premise, or `undefined` if none is set. */
107
127
  getConclusionPremise() {
@@ -111,34 +131,16 @@ export class ArgumentEngine {
111
131
  return this.premises.get(this.conclusionPremiseId);
112
132
  }
113
133
  /**
114
- * Adds a premise to the supporting role.
115
- *
116
- * @throws If the premise does not exist.
117
- * @throws If the premise is the conclusion.
134
+ * Returns all supporting premises (derived: inference premises that are
135
+ * not the conclusion) in lexicographic ID order.
118
136
  */
119
- addSupportingPremise(premiseId) {
120
- if (!this.hasPremise(premiseId)) {
121
- throw new Error(`Premise "${premiseId}" does not exist.`);
122
- }
123
- if (this.conclusionPremiseId === premiseId) {
124
- throw new Error(`Premise "${premiseId}" is the conclusion and cannot also be supporting.`);
125
- }
126
- this.supportingPremiseIds.add(premiseId);
127
- }
128
- /** Removes a premise from the supporting role. No-op if not supporting. */
129
- removeSupportingPremise(premiseId) {
130
- this.supportingPremiseIds.delete(premiseId);
131
- }
132
- /** Returns all supporting premises in lexicographic ID order. */
133
137
  listSupportingPremises() {
134
- return sortedUnique(this.supportingPremiseIds)
135
- .map((id) => this.premises.get(id))
136
- .filter((pm) => pm !== undefined);
138
+ return this.listPremises().filter((pm) => pm.isInference() && pm.getId() !== this.conclusionPremiseId);
137
139
  }
138
140
  /** Returns a serializable snapshot of the full engine state. */
139
141
  toData() {
140
142
  return {
141
- argument: { ...this.argument },
143
+ argument: { ...this.argument, checksum: this.checksum() },
142
144
  premises: this.listPremises().map((pm) => pm.toData()),
143
145
  roles: this.getRoleState(),
144
146
  };
@@ -147,6 +149,34 @@ export class ArgumentEngine {
147
149
  exportState() {
148
150
  return this.toData();
149
151
  }
152
+ /**
153
+ * Returns an argument-level checksum combining argument metadata, role
154
+ * state, and all premise checksums. Computed lazily -- only recalculated
155
+ * when the engine's own state has changed.
156
+ */
157
+ checksum() {
158
+ if (this.checksumDirty || this.cachedChecksum === undefined) {
159
+ this.cachedChecksum = this.computeChecksum();
160
+ this.checksumDirty = false;
161
+ }
162
+ return this.cachedChecksum;
163
+ }
164
+ computeChecksum() {
165
+ const config = this.checksumConfig;
166
+ const parts = [];
167
+ // Argument metadata
168
+ parts.push(entityChecksum(this.argument, config?.argumentFields ?? ["id", "version"]));
169
+ // Role state
170
+ parts.push(entityChecksum(this.getRoleState(), config?.roleFields ?? ["conclusionPremiseId"]));
171
+ // Premise checksums (sorted by ID for determinism)
172
+ for (const pm of this.listPremises()) {
173
+ parts.push(pm.checksum());
174
+ }
175
+ return computeHash(parts.join(":"));
176
+ }
177
+ markDirty() {
178
+ this.checksumDirty = true;
179
+ }
150
180
  /**
151
181
  * Collects all variables referenced by expressions across all premises,
152
182
  * indexed both by variable ID and by symbol.
@@ -218,23 +248,6 @@ export class ArgumentEngine {
218
248
  premiseId: this.conclusionPremiseId,
219
249
  }));
220
250
  }
221
- for (const premiseId of sortedUnique(this.supportingPremiseIds)) {
222
- if (!this.premises.has(premiseId)) {
223
- issues.push(makeErrorIssue({
224
- code: "ARGUMENT_SUPPORTING_PREMISE_NOT_FOUND",
225
- message: `Supporting premise "${premiseId}" does not exist.`,
226
- premiseId,
227
- }));
228
- }
229
- }
230
- if (this.conclusionPremiseId !== undefined &&
231
- this.supportingPremiseIds.has(this.conclusionPremiseId)) {
232
- issues.push(makeErrorIssue({
233
- code: "ARGUMENT_ROLE_OVERLAP",
234
- message: `Premise "${this.conclusionPremiseId}" cannot be both supporting and conclusion.`,
235
- premiseId: this.conclusionPremiseId,
236
- }));
237
- }
238
251
  const idToSymbols = new Map();
239
252
  const symbolToIds = new Map();
240
253
  for (const premise of this.listPremises()) {
@@ -309,20 +322,20 @@ export class ArgumentEngine {
309
322
  };
310
323
  }
311
324
  const supportingPremises = this.listSupportingPremises();
312
- const roleIds = new Set([
313
- conclusion.getId(),
314
- ...supportingPremises.map((pm) => pm.getId()),
315
- ]);
316
- const constraintPremises = this.listPremises().filter((pm) => !roleIds.has(pm.getId()) && pm.isConstraint());
325
+ const supportingIds = new Set(supportingPremises.map((pm) => pm.getId()));
326
+ const constraintPremises = this.listPremises().filter((pm) => pm.getId() !== this.conclusionPremiseId &&
327
+ !supportingIds.has(pm.getId()));
317
328
  const allRelevantPremises = [
318
329
  conclusion,
319
330
  ...supportingPremises,
320
331
  ...constraintPremises,
321
332
  ];
322
- const referencedVariableIds = sortedUnique(allRelevantPremises.flatMap((pm) => pm
323
- .getExpressions()
324
- .filter((expr) => expr.type === "variable")
325
- .map((expr) => expr.variableId)));
333
+ const referencedVariableIds = [
334
+ ...new Set(allRelevantPremises.flatMap((pm) => pm
335
+ .getExpressions()
336
+ .filter((expr) => expr.type === "variable")
337
+ .map((expr) => expr.variableId))),
338
+ ].sort();
326
339
  try {
327
340
  const evalOpts = {
328
341
  strictUnknownKeys: options?.strictUnknownAssignmentKeys ?? false,
@@ -412,15 +425,19 @@ export class ArgumentEngine {
412
425
  };
413
426
  }
414
427
  const supportingPremises = this.listSupportingPremises();
415
- const roleIds = new Set([
416
- conclusion.getId(),
417
- ...supportingPremises.map((pm) => pm.getId()),
418
- ]);
419
- const constraintPremises = this.listPremises().filter((pm) => !roleIds.has(pm.getId()) && pm.isConstraint());
420
- const checkedVariableIds = sortedUnique([conclusion, ...supportingPremises, ...constraintPremises].flatMap((pm) => pm
421
- .getExpressions()
422
- .filter((expr) => expr.type === "variable")
423
- .map((expr) => expr.variableId)));
428
+ const supportingIds = new Set(supportingPremises.map((pm) => pm.getId()));
429
+ const constraintPremises = this.listPremises().filter((pm) => pm.getId() !== this.conclusionPremiseId &&
430
+ !supportingIds.has(pm.getId()));
431
+ const checkedVariableIds = [
432
+ ...new Set([
433
+ conclusion,
434
+ ...supportingPremises,
435
+ ...constraintPremises,
436
+ ].flatMap((pm) => pm
437
+ .getExpressions()
438
+ .filter((expr) => expr.type === "variable")
439
+ .map((expr) => expr.variableId))),
440
+ ].sort();
424
441
  if (options?.maxVariables !== undefined &&
425
442
  checkedVariableIds.length > options.maxVariables) {
426
443
  return {
@@ -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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"}
@@ -0,0 +1,26 @@
1
+ import type { TCorePropositionalExpression, TCorePropositionalVariable, TCorePremise } from "../schemata/index.js";
2
+ import type { TCoreArgument, TCoreArgumentRoleState } from "../schemata/argument.js";
3
+ import type { TCoreChangeset } from "../types/mutation.js";
4
+ /**
5
+ * Internal collector used during a single mutation to accumulate all
6
+ * side-effect changes. Created at the start of a public mutating method,
7
+ * populated by internal helpers, and consumed via toChangeset().
8
+ */
9
+ export declare class ChangeCollector {
10
+ private expressions;
11
+ private variables;
12
+ private premises;
13
+ private roles;
14
+ private argument;
15
+ addedExpression(expr: TCorePropositionalExpression): void;
16
+ modifiedExpression(expr: TCorePropositionalExpression): void;
17
+ removedExpression(expr: TCorePropositionalExpression): void;
18
+ addedVariable(variable: TCorePropositionalVariable): void;
19
+ removedVariable(variable: TCorePropositionalVariable): void;
20
+ addedPremise(premise: TCorePremise): void;
21
+ removedPremise(premise: TCorePremise): void;
22
+ setRoles(roles: TCoreArgumentRoleState): void;
23
+ setArgument(argument: TCoreArgument): void;
24
+ toChangeset(): TCoreChangeset;
25
+ }
26
+ //# sourceMappingURL=ChangeCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeCollector.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ChangeCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,YAAY,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACR,aAAa,EACb,sBAAsB,EACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAc9E;;;;GAIG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,WAAW,CACK;IACxB,OAAO,CAAC,SAAS,CACO;IACxB,OAAO,CAAC,QAAQ,CAAyD;IACzE,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,QAAQ,CAAuC;IAEvD,eAAe,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI;IAGzD,kBAAkB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI;IAG5D,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI;IAI3D,aAAa,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI;IAGzD,eAAe,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI;IAI3D,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAGzC,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI3C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAI7C,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,WAAW,IAAI,cAAc;CAUhC"}
@@ -0,0 +1,62 @@
1
+ function emptyEntityChanges() {
2
+ return { added: [], modified: [], removed: [] };
3
+ }
4
+ function isEntityChangesEmpty(ec) {
5
+ return (ec.added.length === 0 &&
6
+ ec.modified.length === 0 &&
7
+ ec.removed.length === 0);
8
+ }
9
+ /**
10
+ * Internal collector used during a single mutation to accumulate all
11
+ * side-effect changes. Created at the start of a public mutating method,
12
+ * populated by internal helpers, and consumed via toChangeset().
13
+ */
14
+ export class ChangeCollector {
15
+ expressions = emptyEntityChanges();
16
+ variables = emptyEntityChanges();
17
+ premises = emptyEntityChanges();
18
+ roles = undefined;
19
+ argument = undefined;
20
+ addedExpression(expr) {
21
+ this.expressions.added.push(expr);
22
+ }
23
+ modifiedExpression(expr) {
24
+ this.expressions.modified.push(expr);
25
+ }
26
+ removedExpression(expr) {
27
+ this.expressions.removed.push(expr);
28
+ }
29
+ addedVariable(variable) {
30
+ this.variables.added.push(variable);
31
+ }
32
+ removedVariable(variable) {
33
+ this.variables.removed.push(variable);
34
+ }
35
+ addedPremise(premise) {
36
+ this.premises.added.push(premise);
37
+ }
38
+ removedPremise(premise) {
39
+ this.premises.removed.push(premise);
40
+ }
41
+ setRoles(roles) {
42
+ this.roles = roles;
43
+ }
44
+ setArgument(argument) {
45
+ this.argument = argument;
46
+ }
47
+ toChangeset() {
48
+ const cs = {};
49
+ if (!isEntityChangesEmpty(this.expressions))
50
+ cs.expressions = this.expressions;
51
+ if (!isEntityChangesEmpty(this.variables))
52
+ cs.variables = this.variables;
53
+ if (!isEntityChangesEmpty(this.premises))
54
+ cs.premises = this.premises;
55
+ if (this.roles !== undefined)
56
+ cs.roles = this.roles;
57
+ if (this.argument !== undefined)
58
+ cs.argument = this.argument;
59
+ return cs;
60
+ }
61
+ }
62
+ //# sourceMappingURL=ChangeCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeCollector.js","sourceRoot":"","sources":["../../../src/lib/core/ChangeCollector.ts"],"names":[],"mappings":"AAWA,SAAS,kBAAkB;IACvB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAI,EAAyB;IACtD,OAAO,CACH,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACrB,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACxB,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAC1B,CAAA;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAChB,WAAW,GACf,kBAAkB,EAAE,CAAA;IAChB,SAAS,GACb,kBAAkB,EAAE,CAAA;IAChB,QAAQ,GAAqC,kBAAkB,EAAE,CAAA;IACjE,KAAK,GAAuC,SAAS,CAAA;IACrD,QAAQ,GAA8B,SAAS,CAAA;IAEvD,eAAe,CAAC,IAAkC;QAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD,kBAAkB,CAAC,IAAkC;QACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IACD,iBAAiB,CAAC,IAAkC;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,aAAa,CAAC,QAAoC;QAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IACD,eAAe,CAAC,QAAoC;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,YAAY,CAAC,OAAqB;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IACD,cAAc,CAAC,OAAqB;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,KAA6B;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,WAAW;QACP,MAAM,EAAE,GAAmB,EAAE,CAAA;QAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC;YACvC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACxE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5D,OAAO,EAAE,CAAA;IACb,CAAC;CACJ"}
@@ -1,4 +1,6 @@
1
1
  import type { TCorePropositionalExpression } from "../schemata/index.js";
2
+ import type { ChangeCollector } from "./ChangeCollector.js";
3
+ export type TExpressionWithoutPosition = TCorePropositionalExpression extends infer U ? U extends TCorePropositionalExpression ? Omit<U, "position"> : never : never;
2
4
  /**
3
5
  * Low-level manager for a flat-stored expression tree.
4
6
  *
@@ -14,8 +16,10 @@ export declare class ExpressionManager {
14
16
  private expressions;
15
17
  private childExpressionIdsByParentId;
16
18
  private childPositionsByParentId;
19
+ private collector;
20
+ setCollector(collector: ChangeCollector | null): void;
17
21
  constructor(initialExpressions?: TCorePropositionalExpression[]);
18
- /** Returns all expressions as an unordered array. */
22
+ /** Returns all expressions sorted by ID for deterministic output. */
19
23
  toArray(): TCorePropositionalExpression[];
20
24
  /**
21
25
  * Adds an expression to the tree.
@@ -28,6 +32,20 @@ export declare class ExpressionManager {
28
32
  * @throws If the position is already occupied under the parent.
29
33
  */
30
34
  addExpression(expression: TCorePropositionalExpression): void;
35
+ /**
36
+ * Adds an expression as the last child of the given parent.
37
+ *
38
+ * If the parent has no children, the expression gets `POSITION_INITIAL`.
39
+ * Otherwise it gets a midpoint between the last child's position and
40
+ * `POSITION_MAX`.
41
+ */
42
+ appendExpression(parentId: string | null, expression: TExpressionWithoutPosition): void;
43
+ /**
44
+ * Adds an expression immediately before or after an existing sibling.
45
+ *
46
+ * @throws If the sibling does not exist.
47
+ */
48
+ addExpressionRelative(siblingId: string, relativePosition: "before" | "after", expression: TExpressionWithoutPosition): void;
31
49
  /**
32
50
  * Removes an expression and its entire descendant subtree.
33
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,4BAA4B,EAC/B,MAAM,sBAAsB,CAAA;AAG7B;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,4BAA4B,CAAiC;IACrE,OAAO,CAAC,wBAAwB,CAAiC;gBAErD,kBAAkB,GAAE,4BAA4B,EAAO;IAQnE,qDAAqD;IAC9C,OAAO,IAAI,4BAA4B,EAAE;IAIhD;;;;;;;;;OASG;IACI,aAAa,CAAC,UAAU,EAAE,4BAA4B;IAwE7D;;;;;;;;OAQG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAoD5C,OAAO,CAAC,gBAAgB;IAmFxB,qFAAqF;IAC9E,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAYxD,6EAA6E;IACtE,aAAa,CAChB,YAAY,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAI3C,oEAAoE;IAC7D,mBAAmB,CACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACxB,4BAA4B,EAAE;IA4BjC,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,QAAQ;IAwChB;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,CACnB,UAAU,EAAE,4BAA4B,EACxC,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACrB,IAAI;CA0IV"}
1
+ {"version":3,"file":"ExpressionManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ExpressionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,4BAA4B,EAC/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAU3D,MAAM,MAAM,0BAA0B,GAClC,4BAA4B,SAAS,MAAM,CAAC,GACtC,CAAC,SAAS,4BAA4B,GAClC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,GACT,KAAK,CAAA;AAEf;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,4BAA4B,CAAiC;IACrE,OAAO,CAAC,wBAAwB,CAAiC;IACjE,OAAO,CAAC,SAAS,CAA+B;IAEhD,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;gBAIzC,kBAAkB,GAAE,4BAA4B,EAAO;IAQnE,qEAAqE;IAC9D,OAAO,IAAI,4BAA4B,EAAE;IAMhD;;;;;;;;;OASG;IACI,aAAa,CAAC,UAAU,EAAE,4BAA4B;IAuE7D;;;;;;OAMG;IACI,gBAAgB,CACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,UAAU,EAAE,0BAA0B,GACvC,IAAI;IAaP;;;;OAIG;IACI,qBAAqB,CACxB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,QAAQ,GAAG,OAAO,EACpC,UAAU,EAAE,0BAA0B,GACvC,IAAI;IAmCP;;;;;;;;OAQG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAmD5C,OAAO,CAAC,gBAAgB;IAmFxB,qFAAqF;IAC9E,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAYxD,6EAA6E;IACtE,aAAa,CAChB,YAAY,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAI3C,oEAAoE;IAC7D,mBAAmB,CACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACxB,4BAA4B,EAAE;IAiBjC,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,QAAQ;IAqChB;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,CACnB,UAAU,EAAE,4BAA4B,EACxC,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACrB,IAAI;CAyIV"}