@polintpro/proposit-core 0.1.9 → 0.2.1

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 (88) hide show
  1. package/README.md +108 -50
  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.js +1 -1
  5. package/dist/cli/commands/expressions.js.map +1 -1
  6. package/dist/cli/commands/premises.d.ts.map +1 -1
  7. package/dist/cli/commands/premises.js +15 -10
  8. package/dist/cli/commands/premises.js.map +1 -1
  9. package/dist/cli/commands/roles.d.ts.map +1 -1
  10. package/dist/cli/commands/roles.js +9 -39
  11. package/dist/cli/commands/roles.js.map +1 -1
  12. package/dist/cli/commands/variables.d.ts.map +1 -1
  13. package/dist/cli/commands/variables.js +49 -62
  14. package/dist/cli/commands/variables.js.map +1 -1
  15. package/dist/cli/engine.d.ts.map +1 -1
  16. package/dist/cli/engine.js +9 -8
  17. package/dist/cli/engine.js.map +1 -1
  18. package/dist/cli/import.d.ts.map +1 -1
  19. package/dist/cli/import.js +7 -9
  20. package/dist/cli/import.js.map +1 -1
  21. package/dist/cli/output/diffRenderer.d.ts.map +1 -1
  22. package/dist/cli/output/diffRenderer.js +3 -16
  23. package/dist/cli/output/diffRenderer.js.map +1 -1
  24. package/dist/cli/schemata.d.ts +4 -0
  25. package/dist/cli/schemata.d.ts.map +1 -1
  26. package/dist/index.d.ts +4 -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/consts.d.ts +8 -0
  31. package/dist/lib/consts.d.ts.map +1 -0
  32. package/dist/lib/consts.js +37 -0
  33. package/dist/lib/consts.js.map +1 -0
  34. package/dist/lib/core/ArgumentEngine.d.ts +54 -19
  35. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  36. package/dist/lib/core/ArgumentEngine.js +199 -76
  37. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  38. package/dist/lib/core/ChangeCollector.d.ts +27 -0
  39. package/dist/lib/core/ChangeCollector.d.ts.map +1 -0
  40. package/dist/lib/core/ChangeCollector.js +65 -0
  41. package/dist/lib/core/ChangeCollector.js.map +1 -0
  42. package/dist/lib/core/ExpressionManager.d.ts +4 -1
  43. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  44. package/dist/lib/core/ExpressionManager.js +14 -2
  45. package/dist/lib/core/ExpressionManager.js.map +1 -1
  46. package/dist/lib/core/PremiseManager.d.ts +40 -20
  47. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  48. package/dist/lib/core/PremiseManager.js +251 -63
  49. package/dist/lib/core/PremiseManager.js.map +1 -1
  50. package/dist/lib/core/VariableManager.d.ts +16 -4
  51. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  52. package/dist/lib/core/VariableManager.js +22 -5
  53. package/dist/lib/core/VariableManager.js.map +1 -1
  54. package/dist/lib/core/checksum.d.ts +15 -0
  55. package/dist/lib/core/checksum.d.ts.map +1 -0
  56. package/dist/lib/core/checksum.js +43 -0
  57. package/dist/lib/core/checksum.js.map +1 -0
  58. package/dist/lib/core/diff.d.ts.map +1 -1
  59. package/dist/lib/core/diff.js +2 -6
  60. package/dist/lib/core/diff.js.map +1 -1
  61. package/dist/lib/core/relationships.d.ts.map +1 -1
  62. package/dist/lib/core/relationships.js +5 -5
  63. package/dist/lib/core/relationships.js.map +1 -1
  64. package/dist/lib/index.d.ts +4 -0
  65. package/dist/lib/index.d.ts.map +1 -1
  66. package/dist/lib/index.js +4 -0
  67. package/dist/lib/index.js.map +1 -1
  68. package/dist/lib/schemata/argument.d.ts +1 -1
  69. package/dist/lib/schemata/argument.d.ts.map +1 -1
  70. package/dist/lib/schemata/argument.js +4 -2
  71. package/dist/lib/schemata/argument.js.map +1 -1
  72. package/dist/lib/schemata/propositional.d.ts +11 -0
  73. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  74. package/dist/lib/schemata/propositional.js +9 -0
  75. package/dist/lib/schemata/propositional.js.map +1 -1
  76. package/dist/lib/types/checksum.d.ts +14 -0
  77. package/dist/lib/types/checksum.d.ts.map +1 -0
  78. package/dist/lib/types/checksum.js +2 -0
  79. package/dist/lib/types/checksum.js.map +1 -0
  80. package/dist/lib/types/diff.d.ts +0 -2
  81. package/dist/lib/types/diff.d.ts.map +1 -1
  82. package/dist/lib/types/evaluation.d.ts +1 -3
  83. package/dist/lib/types/evaluation.d.ts.map +1 -1
  84. package/dist/lib/types/mutation.d.ts +31 -0
  85. package/dist/lib/types/mutation.d.ts.map +1 -0
  86. package/dist/lib/types/mutation.js +2 -0
  87. package/dist/lib/types/mutation.js.map +1 -0
  88. package/package.json +1 -1
@@ -1,6 +1,9 @@
1
1
  import { DefaultMap } from "../utils.js";
2
2
  import { sortedCopyById, sortedUnique } from "../utils/collections.js";
3
3
  import { buildDirectionalVacuity, kleeneAnd, kleeneIff, kleeneImplies, kleeneNot, kleeneOr, makeErrorIssue, makeValidationResult, } from "./evaluation/shared.js";
4
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
5
+ import { ChangeCollector } from "./ChangeCollector.js";
6
+ import { computeHash, entityChecksum } from "./checksum.js";
4
7
  import { ExpressionManager } from "./ExpressionManager.js";
5
8
  import { VariableManager } from "./VariableManager.js";
6
9
  export class PremiseManager {
@@ -11,37 +14,50 @@ export class PremiseManager {
11
14
  expressions;
12
15
  expressionsByVariableId;
13
16
  argument;
14
- constructor(id, argument, extras) {
17
+ checksumConfig;
18
+ checksumDirty = true;
19
+ cachedChecksum;
20
+ constructor(id, argument, variables, extras, checksumConfig) {
15
21
  this.id = id;
16
22
  this.argument = argument;
17
23
  this.extras = extras ?? {};
24
+ this.checksumConfig = checksumConfig;
18
25
  this.rootExpressionId = undefined;
19
- this.variables = new VariableManager();
26
+ this.variables = variables;
20
27
  this.expressions = new ExpressionManager();
21
28
  this.expressionsByVariableId = new DefaultMap(() => new Set());
22
29
  }
23
30
  /**
24
- * Registers a propositional variable for use within this premise.
25
- *
26
- * @throws If `variable.symbol` is already in use within this premise.
27
- * @throws If `variable.id` already exists within this premise.
28
- * @throws If the variable does not belong to this premise's argument.
29
- */
30
- addVariable(variable) {
31
- this.assertBelongsToArgument(variable.argumentId, variable.argumentVersion);
32
- this.variables.addVariable(variable);
33
- }
34
- /**
35
- * Removes a variable from this premise's registry and returns it, or
36
- * `undefined` if it was not found.
37
- *
38
- * @throws If any expression in this premise still references the variable.
31
+ * Deletes all expressions that reference the given variable ID,
32
+ * including their subtrees. Operator collapse runs after each removal.
33
+ * Returns all removed expressions in the changeset.
39
34
  */
40
- removeVariable(variableId) {
41
- if (this.expressionsByVariableId.get(variableId).size > 0) {
42
- throw new Error(`Variable "${variableId}" cannot be removed because it is referenced by one or more expressions.`);
35
+ deleteExpressionsUsingVariable(variableId) {
36
+ const expressionIds = this.expressionsByVariableId.get(variableId);
37
+ if (expressionIds.size === 0) {
38
+ return { result: [], changes: {} };
39
+ }
40
+ const collector = new ChangeCollector();
41
+ // Copy the set since removeExpression mutates expressionsByVariableId
42
+ const removed = [];
43
+ for (const exprId of [...expressionIds]) {
44
+ // The expression may already have been removed as part of a
45
+ // prior subtree deletion or operator collapse in this loop.
46
+ if (!this.expressions.getExpression(exprId))
47
+ continue;
48
+ const { result, changes } = this.removeExpression(exprId);
49
+ if (result)
50
+ removed.push(result);
51
+ if (changes.expressions) {
52
+ for (const e of changes.expressions.removed) {
53
+ collector.removedExpression(e);
54
+ }
55
+ }
43
56
  }
44
- return this.variables.removeVariable(variableId);
57
+ return {
58
+ result: removed,
59
+ changes: collector.toChangeset(),
60
+ };
45
61
  }
46
62
  /**
47
63
  * Adds an expression to this premise's tree.
@@ -74,16 +90,28 @@ export class PremiseManager {
74
90
  throw new Error(`Parent expression "${expression.parentId}" does not exist in this premise.`);
75
91
  }
76
92
  }
77
- // Delegate structural validation (operator type checks, position
78
- // uniqueness, child limits) to ExpressionManager.
79
- this.expressions.addExpression(expression);
80
- if (expression.parentId === null) {
81
- this.rootExpressionId = expression.id;
93
+ const collector = new ChangeCollector();
94
+ this.expressions.setCollector(collector);
95
+ try {
96
+ // Delegate structural validation (operator type checks, position
97
+ // uniqueness, child limits) to ExpressionManager.
98
+ this.expressions.addExpression(expression);
99
+ if (expression.parentId === null) {
100
+ this.rootExpressionId = expression.id;
101
+ }
102
+ if (expression.type === "variable") {
103
+ this.expressionsByVariableId
104
+ .get(expression.variableId)
105
+ .add(expression.id);
106
+ }
107
+ this.markDirty();
108
+ return {
109
+ result: this.attachExpressionChecksum({ ...expression }),
110
+ changes: this.attachChangesetChecksums(collector.toChangeset()),
111
+ };
82
112
  }
83
- if (expression.type === "variable") {
84
- this.expressionsByVariableId
85
- .get(expression.variableId)
86
- .add(expression.id);
113
+ finally {
114
+ this.expressions.setCollector(null);
87
115
  }
88
116
  }
89
117
  /**
@@ -112,14 +140,27 @@ export class PremiseManager {
112
140
  throw new Error(`Parent expression "${parentId}" does not exist in this premise.`);
113
141
  }
114
142
  }
115
- this.expressions.appendExpression(parentId, expression);
116
- if (parentId === null) {
117
- this.syncRootExpressionId();
143
+ const collector = new ChangeCollector();
144
+ this.expressions.setCollector(collector);
145
+ try {
146
+ this.expressions.appendExpression(parentId, expression);
147
+ if (parentId === null) {
148
+ this.syncRootExpressionId();
149
+ }
150
+ if (expression.type === "variable") {
151
+ this.expressionsByVariableId
152
+ .get(expression.variableId)
153
+ .add(expression.id);
154
+ }
155
+ this.markDirty();
156
+ const stored = this.expressions.getExpression(expression.id);
157
+ return {
158
+ result: this.attachExpressionChecksum({ ...stored }),
159
+ changes: this.attachChangesetChecksums(collector.toChangeset()),
160
+ };
118
161
  }
119
- if (expression.type === "variable") {
120
- this.expressionsByVariableId
121
- .get(expression.variableId)
122
- .add(expression.id);
162
+ finally {
163
+ this.expressions.setCollector(null);
123
164
  }
124
165
  }
125
166
  /**
@@ -139,11 +180,24 @@ export class PremiseManager {
139
180
  if (!this.expressions.getExpression(siblingId)) {
140
181
  throw new Error(`Expression "${siblingId}" not found in this premise.`);
141
182
  }
142
- this.expressions.addExpressionRelative(siblingId, relativePosition, expression);
143
- if (expression.type === "variable") {
144
- this.expressionsByVariableId
145
- .get(expression.variableId)
146
- .add(expression.id);
183
+ const collector = new ChangeCollector();
184
+ this.expressions.setCollector(collector);
185
+ try {
186
+ this.expressions.addExpressionRelative(siblingId, relativePosition, expression);
187
+ if (expression.type === "variable") {
188
+ this.expressionsByVariableId
189
+ .get(expression.variableId)
190
+ .add(expression.id);
191
+ }
192
+ this.markDirty();
193
+ const stored = this.expressions.getExpression(expression.id);
194
+ return {
195
+ result: this.attachExpressionChecksum({ ...stored }),
196
+ changes: this.attachChangesetChecksums(collector.toChangeset()),
197
+ };
198
+ }
199
+ finally {
200
+ this.expressions.setCollector(null);
147
201
  }
148
202
  }
149
203
  /**
@@ -156,12 +210,19 @@ export class PremiseManager {
156
210
  * collapse can silently promote a new expression into the root slot.
157
211
  */
158
212
  removeExpression(expressionId) {
159
- // Snapshot the subtree before deletion so we can clean up
160
- // expressionsByVariableId for cascade-deleted descendants — they are
161
- // not individually surfaced by ExpressionManager.removeExpression.
162
- const subtree = this.collectSubtree(expressionId);
163
- const removed = this.expressions.removeExpression(expressionId);
164
- if (removed) {
213
+ // Snapshot the expression before removal (for result).
214
+ const snapshot = this.expressions.getExpression(expressionId);
215
+ const collector = new ChangeCollector();
216
+ this.expressions.setCollector(collector);
217
+ try {
218
+ if (!snapshot) {
219
+ return { result: undefined, changes: collector.toChangeset() };
220
+ }
221
+ // Snapshot the subtree before deletion so we can clean up
222
+ // expressionsByVariableId for cascade-deleted descendants — they are
223
+ // not individually surfaced by ExpressionManager.removeExpression.
224
+ const subtree = this.collectSubtree(expressionId);
225
+ this.expressions.removeExpression(expressionId);
165
226
  for (const expr of subtree) {
166
227
  if (expr.type === "variable") {
167
228
  this.expressionsByVariableId
@@ -169,9 +230,16 @@ export class PremiseManager {
169
230
  ?.delete(expr.id);
170
231
  }
171
232
  }
233
+ this.syncRootExpressionId();
234
+ this.markDirty();
235
+ return {
236
+ result: this.attachExpressionChecksum({ ...snapshot }),
237
+ changes: this.attachChangesetChecksums(collector.toChangeset()),
238
+ };
239
+ }
240
+ finally {
241
+ this.expressions.setCollector(null);
172
242
  }
173
- this.syncRootExpressionId();
174
- return removed;
175
243
  }
176
244
  /**
177
245
  * Splices a new expression between existing nodes in the tree. The new
@@ -193,20 +261,36 @@ export class PremiseManager {
193
261
  !this.variables.hasVariable(expression.variableId)) {
194
262
  throw new Error(`Variable expression "${expression.id}" references non-existent variable "${expression.variableId}".`);
195
263
  }
196
- this.expressions.insertExpression(expression, leftNodeId, rightNodeId);
197
- if (expression.type === "variable") {
198
- this.expressionsByVariableId
199
- .get(expression.variableId)
200
- .add(expression.id);
264
+ const collector = new ChangeCollector();
265
+ this.expressions.setCollector(collector);
266
+ try {
267
+ this.expressions.insertExpression(expression, leftNodeId, rightNodeId);
268
+ if (expression.type === "variable") {
269
+ this.expressionsByVariableId
270
+ .get(expression.variableId)
271
+ .add(expression.id);
272
+ }
273
+ this.syncRootExpressionId();
274
+ this.markDirty();
275
+ const stored = this.expressions.getExpression(expression.id);
276
+ return {
277
+ result: this.attachExpressionChecksum({ ...stored }),
278
+ changes: this.attachChangesetChecksums(collector.toChangeset()),
279
+ };
280
+ }
281
+ finally {
282
+ this.expressions.setCollector(null);
201
283
  }
202
- this.syncRootExpressionId();
203
284
  }
204
285
  /**
205
286
  * Returns an expression by ID, or `undefined` if not found in this
206
287
  * premise.
207
288
  */
208
289
  getExpression(id) {
209
- return this.expressions.getExpression(id);
290
+ const expr = this.expressions.getExpression(id);
291
+ if (!expr)
292
+ return undefined;
293
+ return this.attachExpressionChecksum(expr);
210
294
  }
211
295
  getId() {
212
296
  return this.id;
@@ -216,6 +300,8 @@ export class PremiseManager {
216
300
  }
217
301
  setExtras(extras) {
218
302
  this.extras = { ...extras };
303
+ this.markDirty();
304
+ return { result: { ...this.extras }, changes: {} };
219
305
  }
220
306
  getRootExpressionId() {
221
307
  return this.rootExpressionId;
@@ -225,18 +311,36 @@ export class PremiseManager {
225
311
  return undefined;
226
312
  }
227
313
  const expr = this.expressions.getExpression(this.rootExpressionId);
228
- return expr ? { ...expr } : undefined;
314
+ if (!expr)
315
+ return undefined;
316
+ return this.attachExpressionChecksum(expr);
229
317
  }
318
+ /**
319
+ * Returns all argument-level variables (from the shared VariableManager)
320
+ * sorted by ID, with checksums attached. Since the VariableManager is
321
+ * shared across all premises, this returns every registered variable —
322
+ * not just those referenced by expressions in this premise.
323
+ */
230
324
  getVariables() {
231
- return sortedCopyById(this.variables.toArray());
325
+ const fields = this.checksumConfig?.variableFields ??
326
+ DEFAULT_CHECKSUM_CONFIG.variableFields;
327
+ return sortedCopyById(this.variables.toArray().map((v) => ({
328
+ ...v,
329
+ checksum: entityChecksum(v, fields),
330
+ })));
232
331
  }
233
332
  getExpressions() {
234
- return sortedCopyById(this.expressions.toArray());
333
+ const fields = this.checksumConfig?.expressionFields ??
334
+ DEFAULT_CHECKSUM_CONFIG.expressionFields;
335
+ return sortedCopyById(this.expressions.toArray().map((e) => ({
336
+ ...e,
337
+ checksum: entityChecksum(e, fields),
338
+ })));
235
339
  }
236
340
  getChildExpressions(parentId) {
237
- return this.expressions.getChildExpressions(parentId).map((expr) => ({
238
- ...expr,
239
- }));
341
+ return this.expressions
342
+ .getChildExpressions(parentId)
343
+ .map((expr) => this.attachExpressionChecksum(expr));
240
344
  }
241
345
  /**
242
346
  * Returns `true` if the root expression is an `implies` or `iff` operator,
@@ -511,6 +615,20 @@ export class PremiseManager {
511
615
  }
512
616
  return this.renderExpression(this.rootExpressionId);
513
617
  }
618
+ /**
619
+ * Returns the set of variable IDs referenced by expressions in this premise.
620
+ * Only variables that appear in `type: "variable"` expression nodes are
621
+ * included — not all variables in the shared VariableManager.
622
+ */
623
+ getReferencedVariableIds() {
624
+ const ids = new Set();
625
+ for (const expr of this.expressions.toArray()) {
626
+ if (expr.type === "variable") {
627
+ ids.add(expr.variableId);
628
+ }
629
+ }
630
+ return ids;
631
+ }
514
632
  /**
515
633
  * Returns a serialisable snapshot of this premise conforming to
516
634
  * `TCorePremise`. `variables` contains only the variables that are actually
@@ -531,11 +649,81 @@ export class PremiseManager {
531
649
  rootExpressionId: this.rootExpressionId,
532
650
  variables,
533
651
  expressions,
652
+ checksum: this.checksum(),
534
653
  };
535
654
  }
655
+ /**
656
+ * Returns a premise-level checksum combining all entity checksums.
657
+ * Computed lazily -- only recalculated when state has changed.
658
+ */
659
+ checksum() {
660
+ if (this.checksumDirty || this.cachedChecksum === undefined) {
661
+ this.cachedChecksum = this.computeChecksum();
662
+ this.checksumDirty = false;
663
+ }
664
+ return this.cachedChecksum;
665
+ }
536
666
  // -------------------------------------------------------------------------
537
667
  // Private helpers
538
668
  // -------------------------------------------------------------------------
669
+ attachExpressionChecksum(expr) {
670
+ const fields = this.checksumConfig?.expressionFields ??
671
+ DEFAULT_CHECKSUM_CONFIG.expressionFields;
672
+ return {
673
+ ...expr,
674
+ checksum: entityChecksum(expr, fields),
675
+ };
676
+ }
677
+ attachVariableChecksum(v) {
678
+ const fields = this.checksumConfig?.variableFields ??
679
+ DEFAULT_CHECKSUM_CONFIG.variableFields;
680
+ return {
681
+ ...v,
682
+ checksum: entityChecksum(v, fields),
683
+ };
684
+ }
685
+ attachChangesetChecksums(changes) {
686
+ const result = { ...changes };
687
+ if (result.expressions) {
688
+ result.expressions = {
689
+ added: result.expressions.added.map((e) => this.attachExpressionChecksum(e)),
690
+ modified: result.expressions.modified.map((e) => this.attachExpressionChecksum(e)),
691
+ removed: result.expressions.removed.map((e) => this.attachExpressionChecksum(e)),
692
+ };
693
+ }
694
+ if (result.variables) {
695
+ result.variables = {
696
+ added: result.variables.added.map((v) => this.attachVariableChecksum(v)),
697
+ modified: result.variables.modified.map((v) => this.attachVariableChecksum(v)),
698
+ removed: result.variables.removed.map((v) => this.attachVariableChecksum(v)),
699
+ };
700
+ }
701
+ return result;
702
+ }
703
+ computeChecksum() {
704
+ const config = this.checksumConfig;
705
+ const parts = [];
706
+ // Premise metadata
707
+ parts.push(entityChecksum({
708
+ id: this.id,
709
+ rootExpressionId: this.rootExpressionId,
710
+ }, config?.premiseFields ?? DEFAULT_CHECKSUM_CONFIG.premiseFields));
711
+ // Variable checksums (sorted by ID for determinism)
712
+ for (const v of this.getVariables()) {
713
+ parts.push(entityChecksum(v, config?.variableFields ??
714
+ DEFAULT_CHECKSUM_CONFIG.variableFields));
715
+ }
716
+ // Expression checksums (sorted by ID for determinism)
717
+ for (const e of this.getExpressions()) {
718
+ parts.push(entityChecksum(e, config?.expressionFields ??
719
+ DEFAULT_CHECKSUM_CONFIG.expressionFields));
720
+ }
721
+ return computeHash(parts.join(":"));
722
+ }
723
+ /** Invalidate the cached checksum so the next call recomputes it. */
724
+ markDirty() {
725
+ this.checksumDirty = true;
726
+ }
539
727
  /**
540
728
  * Re-reads the single root from ExpressionManager after any operation
541
729
  * that may have caused operator collapse to silently change the root.
@@ -1 +1 @@
1
- {"version":3,"file":"PremiseManager.js","sourceRoot":"","sources":["../../../src/lib/core/PremiseManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAStE,OAAO,EACH,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,oBAAoB,GACvB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,OAAO,cAAc;IACf,EAAE,CAAQ;IACV,MAAM,CAAyB;IAC/B,gBAAgB,CAAoB;IACpC,SAAS,CAAiB;IAC1B,WAAW,CAAmB;IAC9B,uBAAuB,CAAiC;IACxD,QAAQ,CAAe;IAE/B,YACI,EAAU,EACV,QAAuB,EACvB,MAAgC;QAEhC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC1C,IAAI,CAAC,uBAAuB,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,QAAoC;QACnD,IAAI,CAAC,uBAAuB,CACxB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,eAAe,CAC3B,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CACjB,UAAkB;QAElB,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACX,aAAa,UAAU,0EAA0E,CACpG,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,aAAa,CAAC,UAAwC;QACzD,IAAI,CAAC,uBAAuB,CACxB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,eAAe,CAC7B,CAAA;QAED,IACI,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,wBAAwB,UAAU,CAAC,EAAE,uCAAuC,UAAU,CAAC,UAAU,IAAI,CACxG,CAAA;QACL,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,EAAE,kCAAkC,CACxD,CAAA;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACX,sBAAsB,UAAU,CAAC,QAAQ,mCAAmC,CAC/E,CAAA;YACL,CAAC;QACL,CAAC;QAED,iEAAiE;QACjE,kDAAkD;QAClD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAE1C,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAA;QACzC,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB;iBACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACI,gBAAgB,CACnB,QAAuB,EACvB,UAAsC;QAEtC,IAAI,CAAC,uBAAuB,CACxB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,eAAe,CAC7B,CAAA;QAED,IACI,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,wBAAwB,UAAU,CAAC,EAAE,uCAAuC,UAAU,CAAC,UAAU,IAAI,CACxG,CAAA;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,EAAE,kCAAkC,CACxD,CAAA;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACX,sBAAsB,QAAQ,mCAAmC,CACpE,CAAA;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAEvD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC/B,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB;iBACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,qBAAqB,CACxB,SAAiB,EACjB,gBAAoC,EACpC,UAAsC;QAEtC,IAAI,CAAC,uBAAuB,CACxB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,eAAe,CAC7B,CAAA;QAED,IACI,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,wBAAwB,UAAU,CAAC,EAAE,uCAAuC,UAAU,CAAC,UAAU,IAAI,CACxG,CAAA;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACX,eAAe,SAAS,8BAA8B,CACzD,CAAA;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAClC,SAAS,EACT,gBAAgB,EAChB,UAAU,CACb,CAAA;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB;iBACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,gBAAgB,CACnB,YAAoB;QAEpB,0DAA0D;QAC1D,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;QAE/D,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC,uBAAuB;yBACvB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;wBACrB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CACnB,UAAwC,EACxC,UAAmB,EACnB,WAAoB;QAEpB,IAAI,CAAC,uBAAuB,CACxB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,eAAe,CAC7B,CAAA;QAED,IACI,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,wBAAwB,UAAU,CAAC,EAAE,uCAAuC,UAAU,CAAC,UAAU,IAAI,CACxG,CAAA;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QAEtE,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB;iBACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;iBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,EAAE,CAAA;IAClB,CAAC;IAEM,SAAS;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAEM,SAAS,CAAC,MAA+B;QAC5C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC/B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAEM,iBAAiB;QACpB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,YAAY;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IACnD,CAAC;IAEM,cAAc;QACjB,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC;IAEM,mBAAmB,CACtB,QAAuB;QAEvB,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjE,GAAG,IAAI;SACV,CAAC,CAAC,CAAA;IACP,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACrC,OAAO,CACH,IAAI,EAAE,IAAI,KAAK,UAAU;YACzB,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAC3D,CAAA;IACL,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAC9B,CAAC;IAEM,oBAAoB;QACvB,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAExD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;gBACX,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,mCAAmC;gBAC/D,SAAS,EAAE,IAAI,CAAC,EAAE;aACrB,CAAC,CACL,CAAA;YACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,2CAA2C;gBACvE,SAAS,EAAE,IAAI,CAAC,EAAE;aACrB,CAAC,CACL,CAAA;QACL,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,uCAAuC;gBACnE,SAAS,EAAE,IAAI,CAAC,EAAE;aACrB,CAAC,CACL,CAAA;QACL,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,uBAAuB,IAAI,CAAC,gBAAgB,mBAAmB;gBAC3F,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB;aACtC,CAAC,CACL,CAAA;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,uBAAuB,IAAI,CAAC,gBAAgB,iCAAiC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;gBACxH,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB;aACtC,CAAC,CACL,CAAA;QACL,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IACI,IAAI,CAAC,IAAI,KAAK,UAAU;gBACxB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAC9C,CAAC;gBACC,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;oBACX,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,eAAe,IAAI,CAAC,EAAE,qCAAqC,IAAI,CAAC,UAAU,IAAI;oBACvF,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;oBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC9B,CAAC,CACL,CAAA;YACL,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtD,SAAQ;YACZ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAE9D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;wBACX,IAAI,EAAE,0BAA0B;wBAChC,OAAO,EAAE,uBAAuB,IAAI,CAAC,EAAE,sCAAsC,QAAQ,CAAC,MAAM,GAAG;wBAC/F,SAAS,EAAE,IAAI,CAAC,EAAE;wBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;qBACxB,CAAC,CACL,CAAA;gBACL,CAAC;gBACD,SAAQ;YACZ,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;oBACX,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,4CAA4C,QAAQ,CAAC,MAAM,GAAG;oBAC3F,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;iBACxB,CAAC,CACL,CAAA;YACL,CAAC;YAED,IACI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;gBACxD,QAAQ,CAAC,MAAM,KAAK,CAAC,EACvB,CAAC;gBACC,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;oBACX,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,yCAAyC,QAAQ,CAAC,MAAM,GAAG;oBAC3G,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;iBACxB,CAAC,CACL,CAAA;YACL,CAAC;YAED,IACI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;gBACnD,QAAQ,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;gBACC,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;oBACX,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,0CAA0C,QAAQ,CAAC,MAAM,GAAG;oBAC5G,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;iBACxB,CAAC,CACL,CAAA;YACL,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACzD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC1C,CAAA;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,IAAI,CACP,cAAc,CAAC;wBACX,IAAI,EAAE,+BAA+B;wBACrC,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,4CAA4C;wBAC5F,SAAS,EAAE,IAAI,CAAC,EAAE;wBAClB,YAAY,EAAE,IAAI,CAAC,EAAE;qBACxB,CAAC,CACL,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CACX,UAAqC,EACrC,OAGC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,EAAE,uBAAuB,UAAU,CAAC,MAAM;iBACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CACpB,CAAA;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAiB,CAAA;QAC/C,MAAM,qBAAqB,GAAG,YAAY,CACtC,IAAI,CAAC,WAAW;aACX,OAAO,EAAE;aACT,MAAM,CACH,CAAC,IAAI,EAAoD,EAAE,CACvD,IAAI,CAAC,IAAI,KAAK,UAAU,CAC/B;aACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CACtC,CAAA;QAED,IAAI,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAA;YACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CACxD,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CACpD,CAAA;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACX,yDAAyD,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAA;YACL,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAwC,EAAE,CAAA;QAChE,MAAM,kBAAkB,GAAG,CACvB,YAAoB,EACD,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,kBAAkB,CAAC,CAAA;YAClE,CAAC;YAED,IAAI,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3D,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;gBACvC,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,KAAK,GACP,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAA;gBACvD,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;gBACvC,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACpE,IAAI,KAA0B,CAAA;YAE9B,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC1C,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;gBACvC,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,QAAQ,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1B,KAAK,KAAK;oBACN,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACrD,MAAK;gBACT,KAAK,KAAK;oBACN,KAAK,GAAG,QAAQ,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACX,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAChD,IAAI,CACP,CAAA;oBACD,MAAK;gBACT,KAAK,IAAI;oBACL,KAAK,GAAG,QAAQ,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACX,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAC/C,KAAK,CACR,CAAA;oBACD,MAAK;gBACT,KAAK,SAAS,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;oBAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;oBAC5D,KAAK,GAAG,aAAa,CACjB,kBAAkB,CAAC,IAAK,CAAC,EAAE,CAAC,EAC5B,kBAAkB,CAAC,KAAM,CAAC,EAAE,CAAC,CAChC,CAAA;oBACD,MAAK;gBACT,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;oBAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;oBAC5D,KAAK,GAAG,SAAS,CACb,kBAAkB,CAAC,IAAK,CAAC,EAAE,CAAC,EAC5B,kBAAkB,CAAC,KAAM,CAAC,EAAE,CAAC,CAChC,CAAA;oBACD,MAAK;gBACT,CAAC;YACL,CAAC;YAED,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;YACvC,OAAO,KAAK,CAAA;QAChB,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QACtD,MAAM,cAAc,GAAwC,EAAE,CAAA;QAC9D,KAAK,MAAM,UAAU,IAAI,qBAAqB,EAAE,CAAC;YAC7C,cAAc,CAAC,UAAU,CAAC;gBACtB,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,CAAA;QAChD,CAAC;QAED,IAAI,mBAAgE,CAAA;QACpE,IACI,IAAI,CAAC,WAAW,EAAE;YAClB,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC9D,CAAC;YACC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YAC7D,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;gBAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;gBAC5D,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC9B,mBAAmB,GAAG;4BAClB,IAAI,EAAE,SAAS;4BACf,SAAS,EAAE,IAAI,CAAC,EAAE;4BAClB,gBAAgB;4BAChB,SAAS;4BACT,UAAU;4BACV,SAAS;4BACT,cAAc,EAAE,SAAS;4BACzB,cAAc,EAAE,UAAU;4BAC1B,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC;4BACrC,KAAK,EAAE,SAAS;4BAChB,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;yBACjD,CAAA;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;wBACjC,MAAM,WAAW,GAAG,uBAAuB,CACvC,SAAS,EACT,UAAU,CACb,CAAA;wBACD,MAAM,WAAW,GAAG,uBAAuB,CACvC,UAAU,EACV,SAAS,CACZ,CAAA;wBACD,mBAAmB,GAAG;4BAClB,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,IAAI,CAAC,EAAE;4BAClB,gBAAgB;4BAChB,SAAS;4BACT,UAAU;4BACV,SAAS;4BACT,WAAW;4BACX,WAAW;4BACX,aAAa,EAAE,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;4BAC/C,cAAc,EAAE,SAAS,CACrB,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,UAAU,CAAC,CACxB;yBACJ,CAAA;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;YAC5D,gBAAgB;YAChB,SAAS;YACT,gBAAgB;YAChB,cAAc;YACd,mBAAmB;SACtB,CAAA;IACL,CAAC;IAED;;;;OAIG;IACI,eAAe;QAClB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACI,MAAM;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAEzC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3B,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9C,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,OAAO;YACH,GAAG,IAAI,CAAC,MAAM;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS;YACT,WAAW;SACE,CAAA;IACrB,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;OAGG;IACK,oBAAoB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACxC,CAAC;IAEO,cAAc,CAAC,MAAc;QACjC,MAAM,MAAM,GAAmC,EAAE,CAAA;QACjD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAA;QACtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAEO,uBAAuB,CAC3B,UAAkB,EAClB,eAAuB;QAEvB,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACX,sBAAsB,UAAU,wCAAwC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAC/F,CAAA;QACL,CAAC;QACD,IAAI,eAAe,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACX,2BAA2B,eAAe,6CAA6C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CACnH,CAAA;QACL,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,YAAoB;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,kBAAkB,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACX,aAAa,UAAU,CAAC,UAAU,qBAAqB,YAAY,kBAAkB,CACxF,CAAA;YACL,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAA;QAC1B,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA;QACvD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACpE,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAA;YAC5D,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA;QAClG,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAClC,CAAA;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAA;IACxF,CAAC;IAEO,cAAc,CAAC,QAAkC;QACrD,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,KAAK;gBACN,OAAO,GAAG,CAAA;YACd,KAAK,IAAI;gBACL,OAAO,GAAG,CAAA;YACd,KAAK,SAAS;gBACV,OAAO,GAAG,CAAA;YACd,KAAK,KAAK;gBACN,OAAO,GAAG,CAAA;YACd,KAAK,KAAK;gBACN,OAAO,GAAG,CAAA;QAClB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"PremiseManager.js","sourceRoot":"","sources":["../../../src/lib/core/PremiseManager.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import type { TCorePropositionalVariable } from "../schemata/index.js";
2
2
  /**
3
- * Registry for propositional variables within a single premise.
3
+ * Registry for propositional variables within an argument, shared across
4
+ * all premises.
4
5
  *
5
6
  * Enforces uniqueness of both variable IDs and symbols. This class is an
6
- * internal building block used by {@link PremiseManager} and is not part
7
- * of the public API.
7
+ * internal building block owned by {@link ArgumentEngine} and passed by
8
+ * reference to each {@link PremiseManager}. It is not part of the public API.
8
9
  */
9
10
  export declare class VariableManager {
10
11
  private variables;
11
12
  private variableSymbols;
12
13
  constructor(initialVariables?: TCorePropositionalVariable[]);
13
- /** Returns all registered variables as an array. */
14
+ /** Returns all registered variables sorted by ID for deterministic output. */
14
15
  toArray(): TCorePropositionalVariable[];
15
16
  /**
16
17
  * Registers a variable.
@@ -24,6 +25,7 @@ export declare class VariableManager {
24
25
  * @returns The removed variable, or `undefined` if not found.
25
26
  */
26
27
  removeVariable(variableId: string): {
28
+ checksum?: string | undefined;
27
29
  symbol: string;
28
30
  id: string;
29
31
  argumentId: string;
@@ -40,5 +42,15 @@ export declare class VariableManager {
40
42
  * @throws If the new symbol is already in use by a different variable.
41
43
  */
42
44
  renameVariable(variableId: string, newSymbol: string): void;
45
+ /**
46
+ * Updates fields on an existing variable.
47
+ * Currently supports `symbol` updates.
48
+ *
49
+ * @throws If the new symbol is already in use by a different variable.
50
+ * @returns The updated variable, or `undefined` if not found.
51
+ */
52
+ updateVariable(variableId: string, updates: {
53
+ symbol?: string;
54
+ }): TCorePropositionalVariable | undefined;
43
55
  }
44
56
  //# sourceMappingURL=VariableManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariableManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/VariableManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtE;;;;;;GAMG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,eAAe,CAAa;gBAExB,gBAAgB,GAAE,0BAA0B,EAAO;IAS/D,oDAAoD;IAC7C,OAAO,IAAI,0BAA0B,EAAE;IAI9C;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,0BAA0B;IAcvD;;;OAGG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM;;;;;;IAWxC,oEAAoE;IAC7D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C,2EAA2E;IACpE,WAAW,CACd,UAAU,EAAE,MAAM,GACnB,0BAA0B,GAAG,SAAS;IAIzC;;;;;OAKG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAerE"}
1
+ {"version":3,"file":"VariableManager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/VariableManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtE;;;;;;;GAOG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,eAAe,CAAa;gBAExB,gBAAgB,GAAE,0BAA0B,EAAO;IAS/D,8EAA8E;IACvE,OAAO,IAAI,0BAA0B,EAAE;IAM9C;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,0BAA0B;IAcvD;;;OAGG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM;;;;;;;IAWxC,oEAAoE;IAC7D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C,2EAA2E;IACpE,WAAW,CACd,UAAU,EAAE,MAAM,GACnB,0BAA0B,GAAG,SAAS;IAIzC;;;;;OAKG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBlE;;;;;;OAMG;IACI,cAAc,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,0BAA0B,GAAG,SAAS;CAU5C"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Registry for propositional variables within a single premise.
2
+ * Registry for propositional variables within an argument, shared across
3
+ * all premises.
3
4
  *
4
5
  * Enforces uniqueness of both variable IDs and symbols. This class is an
5
- * internal building block used by {@link PremiseManager} and is not part
6
- * of the public API.
6
+ * internal building block owned by {@link ArgumentEngine} and passed by
7
+ * reference to each {@link PremiseManager}. It is not part of the public API.
7
8
  */
8
9
  export class VariableManager {
9
10
  variables;
@@ -15,9 +16,9 @@ export class VariableManager {
15
16
  this.addVariable(variable);
16
17
  }
17
18
  }
18
- /** Returns all registered variables as an array. */
19
+ /** Returns all registered variables sorted by ID for deterministic output. */
19
20
  toArray() {
20
- return Array.from(this.variables.values());
21
+ return Array.from(this.variables.values()).sort((a, b) => a.id.localeCompare(b.id));
21
22
  }
22
23
  /**
23
24
  * Registers a variable.
@@ -75,5 +76,21 @@ export class VariableManager {
75
76
  this.variableSymbols.add(newSymbol);
76
77
  this.variables.set(variableId, { ...variable, symbol: newSymbol });
77
78
  }
79
+ /**
80
+ * Updates fields on an existing variable.
81
+ * Currently supports `symbol` updates.
82
+ *
83
+ * @throws If the new symbol is already in use by a different variable.
84
+ * @returns The updated variable, or `undefined` if not found.
85
+ */
86
+ updateVariable(variableId, updates) {
87
+ const variable = this.variables.get(variableId);
88
+ if (!variable)
89
+ return undefined;
90
+ if (updates.symbol !== undefined) {
91
+ this.renameVariable(variableId, updates.symbol);
92
+ }
93
+ return this.variables.get(variableId);
94
+ }
78
95
  }
79
96
  //# sourceMappingURL=VariableManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariableManager.js","sourceRoot":"","sources":["../../../src/lib/core/VariableManager.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAChB,SAAS,CAAyC;IAClD,eAAe,CAAa;IAEpC,YAAY,mBAAiD,EAAE;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;QAEhC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,oDAAoD;IAC7C,OAAO;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,QAAoC;QACnD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACX,oBAAoB,QAAQ,CAAC,MAAM,mBAAmB,CACzD,CAAA;QACL,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,UAAkB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC5C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,oEAAoE;IAC7D,WAAW,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,2EAA2E;IACpE,WAAW,CACd,UAAkB;QAElB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,UAAkB,EAAE,SAAiB;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,mBAAmB,CAAC,CAAA;QAC/D,CAAC;QACD,IACI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;YACnC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAC/B,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,sBAAsB,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACtE,CAAC;CACJ"}
1
+ {"version":3,"file":"VariableManager.js","sourceRoot":"","sources":["../../../src/lib/core/VariableManager.ts"],"names":[],"mappings":"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"}