@polintpro/proposit-core 0.2.11 → 0.4.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 (157) hide show
  1. package/README.md +14 -525
  2. package/dist/cli/commands/diff.js +1 -1
  3. package/dist/cli/commands/diff.js.map +1 -1
  4. package/dist/cli/commands/premises.js +2 -2
  5. package/dist/cli/commands/premises.js.map +1 -1
  6. package/dist/cli/commands/sources.d.ts +3 -0
  7. package/dist/cli/commands/sources.d.ts.map +1 -0
  8. package/dist/cli/commands/sources.js +175 -0
  9. package/dist/cli/commands/sources.js.map +1 -0
  10. package/dist/cli/commands/{versionShow.d.ts → version-show.d.ts} +1 -1
  11. package/dist/cli/commands/version-show.d.ts.map +1 -0
  12. package/dist/cli/commands/{versionShow.js → version-show.js} +1 -1
  13. package/dist/cli/commands/version-show.js.map +1 -0
  14. package/dist/cli/config.d.ts +2 -0
  15. package/dist/cli/config.d.ts.map +1 -1
  16. package/dist/cli/config.js +6 -0
  17. package/dist/cli/config.js.map +1 -1
  18. package/dist/cli/engine.d.ts +1 -1
  19. package/dist/cli/engine.d.ts.map +1 -1
  20. package/dist/cli/engine.js +40 -2
  21. package/dist/cli/engine.js.map +1 -1
  22. package/dist/cli/import.d.ts +1 -1
  23. package/dist/cli/import.d.ts.map +1 -1
  24. package/dist/cli/import.js +1 -1
  25. package/dist/cli/import.js.map +1 -1
  26. package/dist/cli/output/{diffRenderer.d.ts → diff-renderer.d.ts} +1 -1
  27. package/dist/cli/output/diff-renderer.d.ts.map +1 -0
  28. package/dist/cli/output/{diffRenderer.js → diff-renderer.js} +1 -1
  29. package/dist/cli/output/diff-renderer.js.map +1 -0
  30. package/dist/cli/schemata.d.ts +8 -0
  31. package/dist/cli/schemata.d.ts.map +1 -1
  32. package/dist/cli/schemata.js +10 -0
  33. package/dist/cli/schemata.js.map +1 -1
  34. package/dist/cli/storage/sources.d.ts +11 -0
  35. package/dist/cli/storage/sources.d.ts.map +1 -0
  36. package/dist/cli/storage/sources.js +105 -0
  37. package/dist/cli/storage/sources.js.map +1 -0
  38. package/dist/cli.js +3 -1
  39. package/dist/cli.js.map +1 -1
  40. package/dist/extensions/ieee/index.d.ts +3 -0
  41. package/dist/extensions/ieee/index.d.ts.map +1 -0
  42. package/dist/extensions/ieee/index.js +3 -0
  43. package/dist/extensions/ieee/index.js.map +1 -0
  44. package/dist/extensions/ieee/references.d.ts +620 -0
  45. package/dist/extensions/ieee/references.d.ts.map +1 -0
  46. package/dist/extensions/ieee/references.js +450 -0
  47. package/dist/extensions/ieee/references.js.map +1 -0
  48. package/dist/extensions/ieee/source.d.ts +286 -0
  49. package/dist/extensions/ieee/source.d.ts.map +1 -0
  50. package/dist/extensions/ieee/source.js +12 -0
  51. package/dist/extensions/ieee/source.js.map +1 -0
  52. package/dist/lib/consts.d.ts.map +1 -1
  53. package/dist/lib/consts.js +19 -0
  54. package/dist/lib/consts.js.map +1 -1
  55. package/dist/lib/core/argument-engine.d.ts +134 -0
  56. package/dist/lib/core/argument-engine.d.ts.map +1 -0
  57. package/dist/lib/core/{argumentEngine.js → argument-engine.js} +303 -120
  58. package/dist/lib/core/argument-engine.js.map +1 -0
  59. package/dist/lib/core/{changeCollector.d.ts → change-collector.d.ts} +13 -3
  60. package/dist/lib/core/change-collector.d.ts.map +1 -0
  61. package/dist/lib/core/{changeCollector.js → change-collector.js} +28 -1
  62. package/dist/lib/core/change-collector.js.map +1 -0
  63. package/dist/lib/core/diff.d.ts +9 -3
  64. package/dist/lib/core/diff.d.ts.map +1 -1
  65. package/dist/lib/core/diff.js +58 -0
  66. package/dist/lib/core/diff.js.map +1 -1
  67. package/dist/lib/core/{expressionManager.d.ts → expression-manager.d.ts} +24 -3
  68. package/dist/lib/core/expression-manager.d.ts.map +1 -0
  69. package/dist/lib/core/{expressionManager.js → expression-manager.js} +104 -1
  70. package/dist/lib/core/expression-manager.js.map +1 -0
  71. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +334 -0
  72. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
  73. package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
  74. package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
  75. package/dist/lib/core/interfaces/index.d.ts +5 -0
  76. package/dist/lib/core/interfaces/index.d.ts.map +1 -0
  77. package/dist/lib/core/interfaces/index.js +2 -0
  78. package/dist/lib/core/interfaces/index.js.map +1 -0
  79. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +317 -0
  80. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
  81. package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
  82. package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
  83. package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
  84. package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
  85. package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
  86. package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
  87. package/dist/lib/core/interfaces/source-management.interfaces.d.ts +110 -0
  88. package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
  89. package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
  90. package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
  91. package/dist/lib/core/parser/formula.d.ts +9 -9
  92. package/dist/lib/core/parser/formula.d.ts.map +1 -1
  93. package/dist/lib/core/parser/formula.js.map +1 -1
  94. package/dist/lib/core/premise-engine.d.ts +83 -0
  95. package/dist/lib/core/premise-engine.d.ts.map +1 -0
  96. package/dist/lib/core/{premiseEngine.js → premise-engine.js} +130 -134
  97. package/dist/lib/core/premise-engine.js.map +1 -0
  98. package/dist/lib/core/relationships.d.ts +2 -2
  99. package/dist/lib/core/relationships.d.ts.map +1 -1
  100. package/dist/lib/core/relationships.js.map +1 -1
  101. package/dist/lib/core/source-manager.d.ts +109 -0
  102. package/dist/lib/core/source-manager.d.ts.map +1 -0
  103. package/dist/lib/core/source-manager.js +420 -0
  104. package/dist/lib/core/source-manager.js.map +1 -0
  105. package/dist/lib/core/{variableManager.d.ts → variable-manager.d.ts} +2 -2
  106. package/dist/lib/core/variable-manager.d.ts.map +1 -0
  107. package/dist/lib/core/{variableManager.js → variable-manager.js} +1 -1
  108. package/dist/lib/core/variable-manager.js.map +1 -0
  109. package/dist/lib/index.d.ts +12 -9
  110. package/dist/lib/index.d.ts.map +1 -1
  111. package/dist/lib/index.js +4 -3
  112. package/dist/lib/index.js.map +1 -1
  113. package/dist/lib/schemata/index.d.ts +1 -0
  114. package/dist/lib/schemata/index.d.ts.map +1 -1
  115. package/dist/lib/schemata/index.js +1 -0
  116. package/dist/lib/schemata/index.js.map +1 -1
  117. package/dist/lib/schemata/shared.d.ts +9 -9
  118. package/dist/lib/schemata/shared.d.ts.map +1 -1
  119. package/dist/lib/schemata/shared.js +4 -4
  120. package/dist/lib/schemata/shared.js.map +1 -1
  121. package/dist/lib/schemata/source.d.ts +28 -0
  122. package/dist/lib/schemata/source.d.ts.map +1 -0
  123. package/dist/lib/schemata/source.js +35 -0
  124. package/dist/lib/schemata/source.js.map +1 -0
  125. package/dist/lib/types/checksum.d.ts +6 -0
  126. package/dist/lib/types/checksum.d.ts.map +1 -1
  127. package/dist/lib/types/diff.d.ts +9 -3
  128. package/dist/lib/types/diff.d.ts.map +1 -1
  129. package/dist/lib/types/evaluation.d.ts +1 -1
  130. package/dist/lib/types/evaluation.d.ts.map +1 -1
  131. package/dist/lib/types/mutation.d.ts +7 -3
  132. package/dist/lib/types/mutation.d.ts.map +1 -1
  133. package/dist/lib/types/reactive.d.ts +5 -2
  134. package/dist/lib/types/reactive.d.ts.map +1 -1
  135. package/dist/lib/utils/{defaultMap.d.ts → default-map.d.ts} +3 -3
  136. package/dist/lib/utils/default-map.d.ts.map +1 -0
  137. package/dist/lib/utils/{defaultMap.js → default-map.js} +1 -1
  138. package/dist/lib/utils/default-map.js.map +1 -0
  139. package/package.json +6 -1
  140. package/dist/cli/commands/versionShow.d.ts.map +0 -1
  141. package/dist/cli/commands/versionShow.js.map +0 -1
  142. package/dist/cli/output/diffRenderer.d.ts.map +0 -1
  143. package/dist/cli/output/diffRenderer.js.map +0 -1
  144. package/dist/lib/core/argumentEngine.d.ts +0 -226
  145. package/dist/lib/core/argumentEngine.d.ts.map +0 -1
  146. package/dist/lib/core/argumentEngine.js.map +0 -1
  147. package/dist/lib/core/changeCollector.d.ts.map +0 -1
  148. package/dist/lib/core/changeCollector.js.map +0 -1
  149. package/dist/lib/core/expressionManager.d.ts.map +0 -1
  150. package/dist/lib/core/expressionManager.js.map +0 -1
  151. package/dist/lib/core/premiseEngine.d.ts +0 -202
  152. package/dist/lib/core/premiseEngine.d.ts.map +0 -1
  153. package/dist/lib/core/premiseEngine.js.map +0 -1
  154. package/dist/lib/core/variableManager.d.ts.map +0 -1
  155. package/dist/lib/core/variableManager.js.map +0 -1
  156. package/dist/lib/utils/defaultMap.d.ts.map +0 -1
  157. package/dist/lib/utils/defaultMap.js.map +0 -1
@@ -1,12 +1,13 @@
1
- import { DefaultMap } from "../utils/defaultMap.js";
1
+ import { randomUUID } from "node:crypto";
2
+ import { DefaultMap } from "../utils/default-map.js";
2
3
  import { sortedCopyById, sortedUnique } from "../utils/collections.js";
3
4
  import { kleeneAnd, kleeneIff, kleeneImplies, kleeneNot, kleeneOr, } from "./evaluation/kleene.js";
4
5
  import { buildDirectionalVacuity, makeErrorIssue, makeValidationResult, } from "./evaluation/validation.js";
5
6
  import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
6
- import { ChangeCollector } from "./changeCollector.js";
7
+ import { ChangeCollector } from "./change-collector.js";
7
8
  import { canonicalSerialize, computeHash, entityChecksum } from "./checksum.js";
8
- import { ExpressionManager } from "./expressionManager.js";
9
- import { VariableManager } from "./variableManager.js";
9
+ import { ExpressionManager } from "./expression-manager.js";
10
+ import { VariableManager } from "./variable-manager.js";
10
11
  export class PremiseEngine {
11
12
  premise;
12
13
  rootExpressionId;
@@ -18,6 +19,7 @@ export class PremiseEngine {
18
19
  checksumDirty = true;
19
20
  cachedChecksum;
20
21
  expressionIndex;
22
+ sourceManager;
21
23
  onMutate;
22
24
  constructor(premise, deps, config) {
23
25
  this.premise = { ...premise };
@@ -28,15 +30,11 @@ export class PremiseEngine {
28
30
  this.expressions = new ExpressionManager(config);
29
31
  this.expressionsByVariableId = new DefaultMap(() => new Set());
30
32
  this.expressionIndex = deps.expressionIndex;
33
+ this.sourceManager = deps.sourceManager;
31
34
  }
32
35
  setOnMutate(callback) {
33
36
  this.onMutate = callback;
34
37
  }
35
- /**
36
- * Deletes all expressions that reference the given variable ID,
37
- * including their subtrees. Operator collapse runs after each removal.
38
- * Returns all removed expressions in the changeset.
39
- */
40
38
  deleteExpressionsUsingVariable(variableId) {
41
39
  const expressionIds = this.expressionsByVariableId.get(variableId);
42
40
  if (expressionIds.size === 0) {
@@ -62,6 +60,17 @@ export class PremiseEngine {
62
60
  collector.removedExpression(e);
63
61
  }
64
62
  }
63
+ if (changes.expressionSourceAssociations) {
64
+ for (const a of changes.expressionSourceAssociations
65
+ .removed) {
66
+ collector.removedExpressionSourceAssociation(a);
67
+ }
68
+ }
69
+ if (changes.sources) {
70
+ for (const s of changes.sources.removed) {
71
+ collector.removedSource(s);
72
+ }
73
+ }
65
74
  }
66
75
  // Expressions in the collector already have checksums attached
67
76
  // (from ExpressionManager which stores expressions with checksums).
@@ -82,21 +91,6 @@ export class PremiseEngine {
82
91
  throw e;
83
92
  }
84
93
  }
85
- /**
86
- * Adds an expression to this premise's tree.
87
- *
88
- * If the expression has `parentId: null` it becomes the root; only one
89
- * root is permitted per premise. If `parentId` is non-null the parent
90
- * must already exist within this premise.
91
- *
92
- * All other structural rules (`implies`/`iff` root-only, child limits,
93
- * position uniqueness) are enforced by the underlying `ExpressionManager`.
94
- *
95
- * @throws If the premise already has a root expression and this one is also a root.
96
- * @throws If the expression's parent does not exist in this premise.
97
- * @throws If the expression is a variable reference and the variable has not been registered.
98
- * @throws If the expression does not belong to this argument.
99
- */
100
94
  addExpression(expression) {
101
95
  this.assertBelongsToArgument(expression.argumentId, expression.argumentVersion);
102
96
  if (expression.type === "variable" &&
@@ -140,16 +134,6 @@ export class PremiseEngine {
140
134
  this.expressions.setCollector(null);
141
135
  }
142
136
  }
143
- /**
144
- * Adds an expression as the last child of the given parent, with
145
- * position computed automatically.
146
- *
147
- * If `parentId` is `null`, the expression becomes the root.
148
- *
149
- * @throws If the premise already has a root and parentId is null.
150
- * @throws If the expression does not belong to this argument.
151
- * @throws If the expression is a variable reference and the variable has not been registered.
152
- */
153
137
  appendExpression(parentId, expression) {
154
138
  this.assertBelongsToArgument(expression.argumentId, expression.argumentVersion);
155
139
  if (expression.type === "variable" &&
@@ -191,14 +175,6 @@ export class PremiseEngine {
191
175
  this.expressions.setCollector(null);
192
176
  }
193
177
  }
194
- /**
195
- * Adds an expression immediately before or after an existing sibling,
196
- * with position computed automatically.
197
- *
198
- * @throws If the sibling does not exist in this premise.
199
- * @throws If the expression does not belong to this argument.
200
- * @throws If the expression is a variable reference and the variable has not been registered.
201
- */
202
178
  addExpressionRelative(siblingId, relativePosition, expression) {
203
179
  this.assertBelongsToArgument(expression.argumentId, expression.argumentVersion);
204
180
  if (expression.type === "variable" &&
@@ -230,21 +206,6 @@ export class PremiseEngine {
230
206
  this.expressions.setCollector(null);
231
207
  }
232
208
  }
233
- /**
234
- * Updates mutable fields of an existing expression in this premise.
235
- *
236
- * Only `position`, `variableId`, and `operator` may be updated. Structural
237
- * fields (`id`, `parentId`, `type`, `argumentId`, `argumentVersion`,
238
- * `checksum`) are forbidden — enforced by the underlying
239
- * `ExpressionManager`.
240
- *
241
- * If `variableId` changes, the internal `expressionsByVariableId` index is
242
- * updated so that cascade deletion (`deleteExpressionsUsingVariable`) stays
243
- * correct.
244
- *
245
- * @throws If the expression does not exist in this premise.
246
- * @throws If `variableId` references a non-existent variable.
247
- */
248
209
  updateExpression(expressionId, updates) {
249
210
  const existing = this.expressions.getExpression(expressionId);
250
211
  if (!existing) {
@@ -285,15 +246,6 @@ export class PremiseEngine {
285
246
  this.expressions.setCollector(null);
286
247
  }
287
248
  }
288
- /**
289
- * Removes an expression and its entire descendant subtree, then collapses
290
- * any ancestor operators with fewer than two children (same semantics as
291
- * before). Returns the removed root expression, or `undefined` if not
292
- * found.
293
- *
294
- * `rootExpressionId` is recomputed after every removal because operator
295
- * collapse can silently promote a new expression into the root slot.
296
- */
297
249
  removeExpression(expressionId, deleteSubtree) {
298
250
  // Snapshot the expression before removal (for result).
299
251
  const snapshot = this.expressions.getExpression(expressionId);
@@ -332,6 +284,21 @@ export class PremiseEngine {
332
284
  }
333
285
  this.syncRootExpressionId();
334
286
  this.markDirty();
287
+ // Cascade: remove source associations for all removed expressions
288
+ if (this.sourceManager) {
289
+ const removedExprs = collector.toChangeset().expressions;
290
+ if (removedExprs) {
291
+ for (const expr of removedExprs.removed) {
292
+ const sourceResult = this.sourceManager.removeAssociationsForExpression(expr.id);
293
+ for (const assoc of sourceResult.removedExpressionAssociations) {
294
+ collector.removedExpressionSourceAssociation(assoc);
295
+ }
296
+ for (const orphan of sourceResult.removedOrphanSources) {
297
+ collector.removedSource(orphan);
298
+ }
299
+ }
300
+ }
301
+ }
335
302
  const changes = collector.toChangeset();
336
303
  this.syncExpressionIndex(changes);
337
304
  this.onMutate?.();
@@ -344,20 +311,6 @@ export class PremiseEngine {
344
311
  this.expressions.setCollector(null);
345
312
  }
346
313
  }
347
- /**
348
- * Splices a new expression between existing nodes in the tree. The new
349
- * expression inherits the tree slot of the anchor node
350
- * (`leftNodeId ?? rightNodeId`).
351
- *
352
- * `rootExpressionId` is recomputed after every insertion because the
353
- * anchor may have been the root.
354
- *
355
- * See `ArgumentEngine.insertExpression` for the full contract; the same
356
- * rules apply here.
357
- *
358
- * @throws If the expression does not belong to this argument.
359
- * @throws If the expression is a variable reference and the variable has not been registered.
360
- */
361
314
  insertExpression(expression, leftNodeId, rightNodeId) {
362
315
  this.assertBelongsToArgument(expression.argumentId, expression.argumentVersion);
363
316
  if (expression.type === "variable" &&
@@ -387,10 +340,100 @@ export class PremiseEngine {
387
340
  this.expressions.setCollector(null);
388
341
  }
389
342
  }
390
- /**
391
- * Returns an expression by ID, or `undefined` if not found in this
392
- * premise.
393
- */
343
+ wrapExpression(operator, newSibling, leftNodeId, rightNodeId) {
344
+ this.assertBelongsToArgument(operator.argumentId, operator.argumentVersion);
345
+ this.assertBelongsToArgument(newSibling.argumentId, newSibling.argumentVersion);
346
+ if (newSibling.type === "variable" &&
347
+ !this.variables.hasVariable(newSibling.variableId)) {
348
+ throw new Error(`Variable expression "${newSibling.id}" references non-existent variable "${newSibling.variableId}".`);
349
+ }
350
+ const collector = new ChangeCollector();
351
+ this.expressions.setCollector(collector);
352
+ try {
353
+ this.expressions.wrapExpression(operator, newSibling, leftNodeId, rightNodeId);
354
+ if (newSibling.type === "variable") {
355
+ this.expressionsByVariableId
356
+ .get(newSibling.variableId)
357
+ .add(newSibling.id);
358
+ }
359
+ this.syncRootExpressionId();
360
+ this.markDirty();
361
+ const changes = collector.toChangeset();
362
+ this.syncExpressionIndex(changes);
363
+ this.onMutate?.();
364
+ return {
365
+ result: this.expressions.getExpression(operator.id),
366
+ changes,
367
+ };
368
+ }
369
+ finally {
370
+ this.expressions.setCollector(null);
371
+ }
372
+ }
373
+ // -------------------------------------------------------------------------
374
+ // Source association convenience methods
375
+ // -------------------------------------------------------------------------
376
+ addExpressionSourceAssociation(sourceId, expressionId) {
377
+ if (!this.sourceManager) {
378
+ throw new Error("No SourceManager available.");
379
+ }
380
+ if (!this.sourceManager.getSource(sourceId)) {
381
+ throw new Error(`Source "${sourceId}" does not exist.`);
382
+ }
383
+ if (!this.expressions.getExpression(expressionId)) {
384
+ throw new Error(`Expression "${expressionId}" does not exist in premise "${this.premise.id}".`);
385
+ }
386
+ const assoc = {
387
+ id: randomUUID(),
388
+ sourceId,
389
+ expressionId,
390
+ premiseId: this.premise.id,
391
+ argumentId: this.argument.id,
392
+ argumentVersion: this.argument.version,
393
+ checksum: "",
394
+ };
395
+ const fields = this.checksumConfig?.expressionSourceAssociationFields ??
396
+ DEFAULT_CHECKSUM_CONFIG.expressionSourceAssociationFields;
397
+ const assocWithChecksum = {
398
+ ...assoc,
399
+ checksum: entityChecksum(assoc, fields),
400
+ };
401
+ this.sourceManager.addExpressionSourceAssociation(assocWithChecksum);
402
+ const collector = new ChangeCollector();
403
+ collector.addedExpressionSourceAssociation(assocWithChecksum);
404
+ this.markDirty();
405
+ this.onMutate?.();
406
+ return { result: assocWithChecksum, changes: collector.toChangeset() };
407
+ }
408
+ removeExpressionSourceAssociation(associationId) {
409
+ if (!this.sourceManager) {
410
+ return { result: undefined, changes: {} };
411
+ }
412
+ const allExprAssocs = this.sourceManager.getAllExpressionSourceAssociations();
413
+ if (!allExprAssocs.some((a) => a.id === associationId)) {
414
+ return { result: undefined, changes: {} };
415
+ }
416
+ const removalResult = this.sourceManager.removeExpressionSourceAssociation(associationId);
417
+ const collector = new ChangeCollector();
418
+ for (const assoc of removalResult.removedExpressionAssociations) {
419
+ collector.removedExpressionSourceAssociation(assoc);
420
+ }
421
+ for (const orphan of removalResult.removedOrphanSources) {
422
+ collector.removedSource(orphan);
423
+ }
424
+ this.markDirty();
425
+ this.onMutate?.();
426
+ return {
427
+ result: removalResult.removedExpressionAssociations[0],
428
+ changes: collector.toChangeset(),
429
+ };
430
+ }
431
+ getSourceAssociationsForExpression(expressionId) {
432
+ if (!this.sourceManager) {
433
+ return [];
434
+ }
435
+ return this.sourceManager.getAssociationsForExpression(expressionId);
436
+ }
394
437
  getExpression(id) {
395
438
  return this.expressions.getExpression(id);
396
439
  }
@@ -425,12 +468,6 @@ export class PremiseEngine {
425
468
  }
426
469
  return this.expressions.getExpression(this.rootExpressionId);
427
470
  }
428
- /**
429
- * Returns all argument-level variables (from the shared VariableManager)
430
- * sorted by ID. Since the VariableManager is shared across all premises,
431
- * this returns every registered variable — not just those referenced by
432
- * expressions in this premise.
433
- */
434
471
  getVariables() {
435
472
  return sortedCopyById(this.variables.toArray());
436
473
  }
@@ -440,19 +477,11 @@ export class PremiseEngine {
440
477
  getChildExpressions(parentId) {
441
478
  return this.expressions.getChildExpressions(parentId);
442
479
  }
443
- /**
444
- * Returns `true` if the root expression is an `implies` or `iff` operator,
445
- * meaning this premise expresses a logical inference relationship.
446
- */
447
480
  isInference() {
448
481
  const root = this.getRootExpression();
449
482
  return (root?.type === "operator" &&
450
483
  (root.operator === "implies" || root.operator === "iff"));
451
484
  }
452
- /**
453
- * Returns `true` if this premise does not have an inference operator at its
454
- * root (i.e. it is a constraint premise). Equivalent to `!isInference()`.
455
- */
456
485
  isConstraint() {
457
486
  return !this.isInference();
458
487
  }
@@ -563,17 +592,6 @@ export class PremiseEngine {
563
592
  }
564
593
  return makeValidationResult(issues);
565
594
  }
566
- /**
567
- * Evaluates the premise under a three-valued expression assignment.
568
- *
569
- * Variable values are looked up in `assignment.variables` using Kleene
570
- * three-valued logic (`null` = unknown). Missing variables default to `null`.
571
- * Expressions listed in `assignment.rejectedExpressionIds` evaluate to
572
- * `false` and their children are not evaluated.
573
- *
574
- * For inference premises (`implies`/`iff`), an `inferenceDiagnostic` is
575
- * computed with three-valued fields unless the root is rejected.
576
- */
577
595
  evaluate(assignment, options) {
578
596
  const validation = this.validateEvaluability();
579
597
  if (!validation.ok) {
@@ -702,22 +720,12 @@ export class PremiseEngine {
702
720
  inferenceDiagnostic,
703
721
  };
704
722
  }
705
- /**
706
- * Returns a human-readable string of this premise's expression tree using
707
- * standard logical notation (∧ ∨ ¬ → ↔). Missing operands are rendered
708
- * as `(?)`. Returns an empty string when the premise has no expressions.
709
- */
710
723
  toDisplayString() {
711
724
  if (this.rootExpressionId === undefined) {
712
725
  return "";
713
726
  }
714
727
  return this.renderExpression(this.rootExpressionId);
715
728
  }
716
- /**
717
- * Returns the set of variable IDs referenced by expressions in this premise.
718
- * Only variables that appear in `type: "variable"` expression nodes are
719
- * included — not all variables in the shared VariableManager.
720
- */
721
729
  getReferencedVariableIds() {
722
730
  const ids = new Set();
723
731
  for (const expr of this.expressions.toArray()) {
@@ -727,22 +735,12 @@ export class PremiseEngine {
727
735
  }
728
736
  return ids;
729
737
  }
730
- /**
731
- * Returns a serializable TPremise representation of this premise.
732
- * Contains only premise identity/metadata and checksum — use
733
- * getRootExpressionId(), getExpressions(), getReferencedVariableIds()
734
- * for runtime state.
735
- */
736
738
  toPremiseData() {
737
739
  return {
738
740
  ...this.premise,
739
741
  checksum: this.checksum(),
740
742
  };
741
743
  }
742
- /**
743
- * Returns a premise-level checksum combining all entity checksums.
744
- * Computed lazily -- only recalculated when state has changed.
745
- */
746
744
  checksum() {
747
745
  if (this.checksumDirty || this.cachedChecksum === undefined) {
748
746
  this.cachedChecksum = this.computeChecksum();
@@ -765,7 +763,6 @@ export class PremiseEngine {
765
763
  }
766
764
  return computeHash(canonicalSerialize(checksumMap));
767
765
  }
768
- /** Invalidate the cached checksum so the next call recomputes it. */
769
766
  markDirty() {
770
767
  this.checksumDirty = true;
771
768
  }
@@ -846,7 +843,6 @@ export class PremiseEngine {
846
843
  return "¬";
847
844
  }
848
845
  }
849
- /** Returns a serializable snapshot of the premise's owned state. */
850
846
  snapshot() {
851
847
  const exprSnapshot = this.expressions.snapshot();
852
848
  return {
@@ -860,8 +856,8 @@ export class PremiseEngine {
860
856
  };
861
857
  }
862
858
  /** Creates a new PremiseEngine from a previously captured snapshot. */
863
- static fromSnapshot(snapshot, argument, variables, expressionIndex) {
864
- const pe = new PremiseEngine(snapshot.premise, { argument, variables, expressionIndex }, snapshot.config);
859
+ static fromSnapshot(snapshot, argument, variables, expressionIndex, sourceManager) {
860
+ const pe = new PremiseEngine(snapshot.premise, { argument, variables, expressionIndex, sourceManager }, snapshot.config);
865
861
  // Restore expressions from the snapshot
866
862
  pe.expressions = ExpressionManager.fromSnapshot(snapshot.expressions);
867
863
  // Restore rootExpressionId from snapshot
@@ -895,4 +891,4 @@ export class PremiseEngine {
895
891
  }
896
892
  }
897
893
  }
898
- //# sourceMappingURL=premiseEngine.js.map
894
+ //# sourceMappingURL=premise-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premise-engine.js","sourceRoot":"","sources":["../../../src/lib/core/premise-engine.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { ArgumentEngine } from "./argumentEngine.js";
2
- import type { PremiseEngine } from "./premiseEngine.js";
1
+ import type { ArgumentEngine } from "./argument-engine.js";
2
+ import type { PremiseEngine } from "./premise-engine.js";
3
3
  import type { TCorePremiseProfile, TCorePremiseRelationshipAnalysis } from "../types/relationships.js";
4
4
  /**
5
5
  * Builds a profile of a premise's variable appearances, recording each
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../src/lib/core/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAER,mBAAmB,EAGnB,gCAAgC,EAEnC,MAAM,2BAA2B,CAAA;AAuClC;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,aAAa,GACvB,mBAAmB,CAyBrB;AAwPD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,MAAM,GACzB,gCAAgC,CAyHlC"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../src/lib/core/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAER,mBAAmB,EAGnB,gCAAgC,EAEnC,MAAM,2BAA2B,CAAA;AAuClC;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,aAAa,GACvB,mBAAmB,CAyBrB;AAwPD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,MAAM,GACzB,gCAAgC,CAyHlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/lib/core/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/lib/core/relationships.ts"],"names":[],"mappings":"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"}