@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,5 +1,7 @@
1
- import type { TCoreArgument } from "../schemata/index.js";
1
+ import type { TCoreArgument, TCorePremise, TCorePropositionalVariable } from "../schemata/index.js";
2
2
  import type { TCoreArgumentEngineData, TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../types/evaluation.js";
3
+ import type { TCoreChecksumConfig } from "../types/checksum.js";
4
+ import type { TCoreMutationResult } from "../types/mutation.js";
3
5
  import { PremiseManager } from "./PremiseManager.js";
4
6
  /**
5
7
  * Manages a propositional logic argument composed of premises, variable
@@ -11,28 +13,33 @@ import { PremiseManager } from "./PremiseManager.js";
11
13
  export declare class ArgumentEngine {
12
14
  private argument;
13
15
  private premises;
14
- private supportingPremiseIds;
16
+ private variables;
15
17
  private conclusionPremiseId;
16
- constructor(argument: TCoreArgument);
18
+ private checksumConfig?;
19
+ private checksumDirty;
20
+ private cachedChecksum;
21
+ constructor(argument: TCoreArgument, options?: {
22
+ checksumConfig?: TCoreChecksumConfig;
23
+ });
17
24
  /** Returns a shallow copy of the argument metadata. */
18
25
  getArgument(): TCoreArgument;
19
26
  /**
20
27
  * Creates a new premise with an auto-generated UUID and registers it
21
28
  * with this engine.
22
29
  */
23
- createPremise(extras?: Record<string, unknown>): PremiseManager;
30
+ createPremise(extras?: Record<string, unknown>): TCoreMutationResult<PremiseManager>;
24
31
  /**
25
32
  * Creates a premise with a caller-supplied ID and registers it with
26
33
  * this engine.
27
34
  *
28
35
  * @throws If a premise with the given ID already exists.
29
36
  */
30
- createPremiseWithId(id: string, extras?: Record<string, unknown>): PremiseManager;
37
+ createPremiseWithId(id: string, extras?: Record<string, unknown>): TCoreMutationResult<PremiseManager>;
31
38
  /**
32
39
  * Removes a premise and clears any role assignments that reference it.
33
- * No-op if the premise does not exist.
40
+ * Returns the removed premise data, or `undefined` if not found.
34
41
  */
35
- removePremise(premiseId: string): void;
42
+ removePremise(premiseId: string): TCoreMutationResult<TCorePremise | undefined>;
36
43
  /** Returns the premise with the given ID, or `undefined` if not found. */
37
44
  getPremise(premiseId: string): PremiseManager | undefined;
38
45
  /** Returns `true` if a premise with the given ID exists. */
@@ -41,34 +48,62 @@ export declare class ArgumentEngine {
41
48
  listPremiseIds(): string[];
42
49
  /** Returns all premises in lexicographic ID order. */
43
50
  listPremises(): PremiseManager[];
44
- /** Returns the current role assignments (conclusion and supporting premise IDs). */
51
+ /**
52
+ * Registers a propositional variable for use across all premises.
53
+ *
54
+ * @throws If `variable.symbol` is already in use.
55
+ * @throws If `variable.id` already exists.
56
+ * @throws If the variable does not belong to this argument.
57
+ */
58
+ addVariable(variable: TCorePropositionalVariable): TCoreMutationResult<TCorePropositionalVariable>;
59
+ /**
60
+ * Updates fields on an existing variable. Since all premises share the
61
+ * same VariableManager, the update is immediately visible everywhere.
62
+ *
63
+ * @throws If the new symbol is already in use by a different variable.
64
+ */
65
+ updateVariable(variableId: string, updates: {
66
+ symbol?: string;
67
+ }): TCoreMutationResult<TCorePropositionalVariable | undefined>;
68
+ /**
69
+ * Removes a variable and cascade-deletes all expressions referencing it
70
+ * across every premise (including subtrees and operator collapse).
71
+ */
72
+ removeVariable(variableId: string): TCoreMutationResult<TCorePropositionalVariable | undefined>;
73
+ /** Returns all registered variables sorted by ID. */
74
+ getVariables(): TCorePropositionalVariable[];
75
+ /** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
45
76
  getRoleState(): TCoreArgumentRoleState;
46
77
  /**
47
78
  * Designates a premise as the argument's conclusion.
48
79
  *
49
80
  * @throws If the premise does not exist.
50
- * @throws If the premise is already a supporting premise.
51
81
  */
52
- setConclusionPremise(premiseId: string): void;
82
+ setConclusionPremise(premiseId: string): TCoreMutationResult<TCoreArgumentRoleState>;
53
83
  /** Clears the conclusion designation. */
54
- clearConclusionPremise(): void;
84
+ clearConclusionPremise(): TCoreMutationResult<TCoreArgumentRoleState>;
55
85
  /** Returns the conclusion premise, or `undefined` if none is set. */
56
86
  getConclusionPremise(): PremiseManager | undefined;
57
87
  /**
58
- * Adds a premise to the supporting role.
59
- *
60
- * @throws If the premise does not exist.
61
- * @throws If the premise is the conclusion.
88
+ * Returns all supporting premises (derived: inference premises that are
89
+ * not the conclusion) in lexicographic ID order.
62
90
  */
63
- addSupportingPremise(premiseId: string): void;
64
- /** Removes a premise from the supporting role. No-op if not supporting. */
65
- removeSupportingPremise(premiseId: string): void;
66
- /** Returns all supporting premises in lexicographic ID order. */
67
91
  listSupportingPremises(): PremiseManager[];
68
92
  /** Returns a serializable snapshot of the full engine state. */
69
93
  toData(): TCoreArgumentEngineData;
70
94
  /** Alias for {@link toData}. */
71
95
  exportState(): TCoreArgumentEngineData;
96
+ /**
97
+ * Returns an argument-level checksum combining argument metadata, role
98
+ * state, and all premise checksums. Computed lazily -- only recalculated
99
+ * when the engine's own state has changed.
100
+ */
101
+ checksum(): string;
102
+ private computeChecksum;
103
+ private markDirty;
104
+ /** Invalidate all premise checksums (e.g. after variable changes). */
105
+ private markAllPremisesDirty;
106
+ private attachVariableChecksum;
72
107
  /**
73
108
  * Collects all variables referenced by expressions across all premises,
74
109
  * indexed both by variable ID and by symbol.
@@ -1 +1 @@
1
- {"version":3,"file":"ArgumentEngine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ArgumentEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACR,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,EAEtB,yBAAyB,EAIzB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EAC3B,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;;GAMG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,mBAAmB,CAAoB;gBAEnC,QAAQ,EAAE,aAAa;IAOnC,uDAAuD;IAChD,WAAW,IAAI,aAAa;IAInC;;;OAGG;IACI,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;IAOtE;;;;;OAKG;IACI,mBAAmB,CACtB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,cAAc;IASjB;;;OAGG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ7C,0EAA0E;IACnE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIhE,4DAA4D;IACrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI7C,sDAAsD;IAC/C,cAAc,IAAI,MAAM,EAAE;IAMjC,sDAAsD;IAC/C,YAAY,IAAI,cAAc,EAAE;IAMvC,oFAAoF;IAC7E,YAAY,IAAI,sBAAsB;IAO7C;;;;;OAKG;IACI,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYpD,yCAAyC;IAClC,sBAAsB,IAAI,IAAI;IAIrC,qEAAqE;IAC9D,oBAAoB,IAAI,cAAc,GAAG,SAAS;IAOzD;;;;;OAKG;IACI,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYpD,2EAA2E;IACpE,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvD,iEAAiE;IAC1D,sBAAsB,IAAI,cAAc,EAAE;IAMjD,gEAAgE;IACzD,MAAM,IAAI,uBAAuB;IAQxC,gCAAgC;IACzB,WAAW,IAAI,uBAAuB;IAI7C;;;OAGG;IACI,0BAA0B,IAAI;QACjC,WAAW,EAAE,MAAM,EAAE,CAAA;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;QAC9D,QAAQ,EAAE,MAAM,CACZ,MAAM,EACN;YAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YAAC,UAAU,EAAE,MAAM,EAAE,CAAA;SAAE,CAClD,CAAA;KACJ;IAuED;;;;;OAKG;IACI,oBAAoB,IAAI,qBAAqB;IA+FpD;;;;;;;;;;;;OAYG;IACI,QAAQ,CACX,UAAU,EAAE,yBAAyB,EACrC,OAAO,CAAC,EAAE,8BAA8B,GACzC,6BAA6B;IAwIhC;;;;;;;;;OASG;IACI,aAAa,CAChB,OAAO,CAAC,EAAE,yBAAyB,GACpC,wBAAwB;CAgJ9B"}
1
+ {"version":3,"file":"ArgumentEngine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ArgumentEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EAEZ,0BAA0B,EAC7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACR,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,EAEtB,yBAAyB,EAIzB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAU/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD;;;;;;GAMG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,cAAc,CAAoB;gBAGtC,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAStD,uDAAuD;IAChD,WAAW,IAAI,aAAa;IAInC;;;OAGG;IACI,aAAa,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,mBAAmB,CAAC,cAAc,CAAC;IAItC;;;;;OAKG;IACI,mBAAmB,CACtB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,mBAAmB,CAAC,cAAc,CAAC;IAkBtC;;;OAGG;IACI,aAAa,CAChB,SAAS,EAAE,MAAM,GAClB,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC;IAehD,0EAA0E;IACnE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIhE,4DAA4D;IACrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI7C,sDAAsD;IAC/C,cAAc,IAAI,MAAM,EAAE;IAMjC,sDAAsD;IAC/C,YAAY,IAAI,cAAc,EAAE;IAMvC;;;;;;OAMG;IACI,WAAW,CACd,QAAQ,EAAE,0BAA0B,GACrC,mBAAmB,CAAC,0BAA0B,CAAC;IAuBlD;;;;;OAKG;IACI,cAAc,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,mBAAmB,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmB9D;;;OAGG;IACI,cAAc,CACjB,UAAU,EAAE,MAAM,GACnB,mBAAmB,CAAC,0BAA0B,GAAG,SAAS,CAAC;IA6B9D,qDAAqD;IAC9C,YAAY,IAAI,0BAA0B,EAAE;IAanD,gGAAgG;IACzF,YAAY,IAAI,sBAAsB;IAQ7C;;;;OAIG;IACI,oBAAoB,CACvB,SAAS,EAAE,MAAM,GAClB,mBAAmB,CAAC,sBAAsB,CAAC;IAa9C,yCAAyC;IAClC,sBAAsB,IAAI,mBAAmB,CAAC,sBAAsB,CAAC;IAS5E,qEAAqE;IAC9D,oBAAoB,IAAI,cAAc,GAAG,SAAS;IAOzD;;;OAGG;IACI,sBAAsB,IAAI,cAAc,EAAE;IAMjD,gEAAgE;IACzD,MAAM,IAAI,uBAAuB;IAQxC,gCAAgC;IACzB,WAAW,IAAI,uBAAuB;IAI7C;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAQzB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,SAAS;IAIjB,sEAAsE;IACtE,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACI,0BAA0B,IAAI;QACjC,WAAW,EAAE,MAAM,EAAE,CAAA;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;QAC9D,QAAQ,EAAE,MAAM,CACZ,MAAM,EACN;YAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YAAC,UAAU,EAAE,MAAM,EAAE,CAAA;SAAE,CAClD,CAAA;KACJ;IAuED;;;;;OAKG;IACI,oBAAoB,IAAI,qBAAqB;IAsEpD;;;;;;;;;;;;OAYG;IACI,QAAQ,CACX,UAAU,EAAE,yBAAyB,EACrC,OAAO,CAAC,EAAE,8BAA8B,GACzC,6BAA6B;IA2IhC;;;;;;;;;OASG;IACI,aAAa,CAChB,OAAO,CAAC,EAAE,yBAAyB,GACpC,wBAAwB;CAsJ9B"}
@@ -1,7 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
2
3
  import { getOrCreate, sortedUnique } from "../utils/collections.js";
4
+ import { ChangeCollector } from "./ChangeCollector.js";
5
+ import { computeHash, entityChecksum } from "./checksum.js";
3
6
  import { kleeneAnd, kleeneNot, makeErrorIssue, makeValidationResult, } from "./evaluation/shared.js";
4
7
  import { PremiseManager } from "./PremiseManager.js";
8
+ import { VariableManager } from "./VariableManager.js";
5
9
  /**
6
10
  * Manages a propositional logic argument composed of premises, variable
7
11
  * assignments, and logical roles (supporting premises and a conclusion).
@@ -12,13 +16,17 @@ import { PremiseManager } from "./PremiseManager.js";
12
16
  export class ArgumentEngine {
13
17
  argument;
14
18
  premises;
15
- supportingPremiseIds;
19
+ variables;
16
20
  conclusionPremiseId;
17
- constructor(argument) {
21
+ checksumConfig;
22
+ checksumDirty = true;
23
+ cachedChecksum;
24
+ constructor(argument, options) {
18
25
  this.argument = { ...argument };
19
26
  this.premises = new Map();
20
- this.supportingPremiseIds = new Set();
27
+ this.variables = new VariableManager();
21
28
  this.conclusionPremiseId = undefined;
29
+ this.checksumConfig = options?.checksumConfig;
22
30
  }
23
31
  /** Returns a shallow copy of the argument metadata. */
24
32
  getArgument() {
@@ -29,10 +37,7 @@ export class ArgumentEngine {
29
37
  * with this engine.
30
38
  */
31
39
  createPremise(extras) {
32
- const id = randomUUID();
33
- const pm = new PremiseManager(id, this.argument, extras);
34
- this.premises.set(id, pm);
35
- return pm;
40
+ return this.createPremiseWithId(randomUUID(), extras);
36
41
  }
37
42
  /**
38
43
  * Creates a premise with a caller-supplied ID and registers it with
@@ -44,20 +49,31 @@ export class ArgumentEngine {
44
49
  if (this.premises.has(id)) {
45
50
  throw new Error(`Premise "${id}" already exists.`);
46
51
  }
47
- const pm = new PremiseManager(id, this.argument, extras);
52
+ const pm = new PremiseManager(id, this.argument, this.variables, extras, this.checksumConfig);
48
53
  this.premises.set(id, pm);
49
- return pm;
54
+ const collector = new ChangeCollector();
55
+ collector.addedPremise(pm.toData());
56
+ this.markDirty();
57
+ return { result: pm, changes: collector.toChangeset() };
50
58
  }
51
59
  /**
52
60
  * Removes a premise and clears any role assignments that reference it.
53
- * No-op if the premise does not exist.
61
+ * Returns the removed premise data, or `undefined` if not found.
54
62
  */
55
63
  removePremise(premiseId) {
64
+ const pm = this.premises.get(premiseId);
65
+ if (!pm)
66
+ return { result: undefined, changes: {} };
67
+ const data = pm.toData();
56
68
  this.premises.delete(premiseId);
57
- this.supportingPremiseIds.delete(premiseId);
69
+ const collector = new ChangeCollector();
70
+ collector.removedPremise(data);
58
71
  if (this.conclusionPremiseId === premiseId) {
59
72
  this.conclusionPremiseId = undefined;
73
+ collector.setRoles(this.getRoleState());
60
74
  }
75
+ this.markDirty();
76
+ return { result: data, changes: collector.toChangeset() };
61
77
  }
62
78
  /** Returns the premise with the given ID, or `undefined` if not found. */
63
79
  getPremise(premiseId) {
@@ -77,31 +93,126 @@ export class ArgumentEngine {
77
93
  .map((id) => this.premises.get(id))
78
94
  .filter((pm) => pm !== undefined);
79
95
  }
80
- /** Returns the current role assignments (conclusion and supporting premise IDs). */
96
+ /**
97
+ * Registers a propositional variable for use across all premises.
98
+ *
99
+ * @throws If `variable.symbol` is already in use.
100
+ * @throws If `variable.id` already exists.
101
+ * @throws If the variable does not belong to this argument.
102
+ */
103
+ addVariable(variable) {
104
+ if (variable.argumentId !== this.argument.id) {
105
+ throw new Error(`Variable argumentId "${variable.argumentId}" does not match engine argument ID "${this.argument.id}".`);
106
+ }
107
+ if (variable.argumentVersion !== this.argument.version) {
108
+ throw new Error(`Variable argumentVersion "${variable.argumentVersion}" does not match engine argument version "${this.argument.version}".`);
109
+ }
110
+ this.variables.addVariable(variable);
111
+ const withChecksum = this.attachVariableChecksum({ ...variable });
112
+ const collector = new ChangeCollector();
113
+ collector.addedVariable(withChecksum);
114
+ this.markDirty();
115
+ this.markAllPremisesDirty();
116
+ return {
117
+ result: withChecksum,
118
+ changes: collector.toChangeset(),
119
+ };
120
+ }
121
+ /**
122
+ * Updates fields on an existing variable. Since all premises share the
123
+ * same VariableManager, the update is immediately visible everywhere.
124
+ *
125
+ * @throws If the new symbol is already in use by a different variable.
126
+ */
127
+ updateVariable(variableId, updates) {
128
+ const updated = this.variables.updateVariable(variableId, updates);
129
+ const collector = new ChangeCollector();
130
+ if (updated) {
131
+ const withChecksum = this.attachVariableChecksum({ ...updated });
132
+ collector.modifiedVariable(withChecksum);
133
+ this.markDirty();
134
+ this.markAllPremisesDirty();
135
+ return {
136
+ result: withChecksum,
137
+ changes: collector.toChangeset(),
138
+ };
139
+ }
140
+ return {
141
+ result: undefined,
142
+ changes: collector.toChangeset(),
143
+ };
144
+ }
145
+ /**
146
+ * Removes a variable and cascade-deletes all expressions referencing it
147
+ * across every premise (including subtrees and operator collapse).
148
+ */
149
+ removeVariable(variableId) {
150
+ const variable = this.variables.getVariable(variableId);
151
+ if (!variable) {
152
+ return { result: undefined, changes: {} };
153
+ }
154
+ const collector = new ChangeCollector();
155
+ // Cascade: delete referencing expressions in every premise
156
+ for (const pm of this.listPremises()) {
157
+ const { changes } = pm.deleteExpressionsUsingVariable(variableId);
158
+ if (changes.expressions) {
159
+ for (const e of changes.expressions.removed) {
160
+ collector.removedExpression(e);
161
+ }
162
+ }
163
+ }
164
+ const withChecksum = this.attachVariableChecksum({ ...variable });
165
+ this.variables.removeVariable(variableId);
166
+ collector.removedVariable(withChecksum);
167
+ this.markDirty();
168
+ this.markAllPremisesDirty();
169
+ return {
170
+ result: withChecksum,
171
+ changes: collector.toChangeset(),
172
+ };
173
+ }
174
+ /** Returns all registered variables sorted by ID. */
175
+ getVariables() {
176
+ const fields = this.checksumConfig?.variableFields ??
177
+ DEFAULT_CHECKSUM_CONFIG.variableFields;
178
+ return this.variables.toArray().map((v) => ({
179
+ ...v,
180
+ checksum: entityChecksum(v, fields),
181
+ }));
182
+ }
183
+ /** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
81
184
  getRoleState() {
82
185
  return {
83
- supportingPremiseIds: sortedUnique(this.supportingPremiseIds),
84
- conclusionPremiseId: this.conclusionPremiseId,
186
+ ...(this.conclusionPremiseId !== undefined
187
+ ? { conclusionPremiseId: this.conclusionPremiseId }
188
+ : {}),
85
189
  };
86
190
  }
87
191
  /**
88
192
  * Designates a premise as the argument's conclusion.
89
193
  *
90
194
  * @throws If the premise does not exist.
91
- * @throws If the premise is already a supporting premise.
92
195
  */
93
196
  setConclusionPremise(premiseId) {
94
- if (!this.hasPremise(premiseId)) {
197
+ const premise = this.premises.get(premiseId);
198
+ if (!premise) {
95
199
  throw new Error(`Premise "${premiseId}" does not exist.`);
96
200
  }
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
201
  this.conclusionPremiseId = premiseId;
202
+ const roles = this.getRoleState();
203
+ const collector = new ChangeCollector();
204
+ collector.setRoles(roles);
205
+ this.markDirty();
206
+ return { result: roles, changes: collector.toChangeset() };
101
207
  }
102
208
  /** Clears the conclusion designation. */
103
209
  clearConclusionPremise() {
104
210
  this.conclusionPremiseId = undefined;
211
+ const roles = this.getRoleState();
212
+ const collector = new ChangeCollector();
213
+ collector.setRoles(roles);
214
+ this.markDirty();
215
+ return { result: roles, changes: collector.toChangeset() };
105
216
  }
106
217
  /** Returns the conclusion premise, or `undefined` if none is set. */
107
218
  getConclusionPremise() {
@@ -111,34 +222,16 @@ export class ArgumentEngine {
111
222
  return this.premises.get(this.conclusionPremiseId);
112
223
  }
113
224
  /**
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.
225
+ * Returns all supporting premises (derived: inference premises that are
226
+ * not the conclusion) in lexicographic ID order.
118
227
  */
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
228
  listSupportingPremises() {
134
- return sortedUnique(this.supportingPremiseIds)
135
- .map((id) => this.premises.get(id))
136
- .filter((pm) => pm !== undefined);
229
+ return this.listPremises().filter((pm) => pm.isInference() && pm.getId() !== this.conclusionPremiseId);
137
230
  }
138
231
  /** Returns a serializable snapshot of the full engine state. */
139
232
  toData() {
140
233
  return {
141
- argument: { ...this.argument },
234
+ argument: { ...this.argument, checksum: this.checksum() },
142
235
  premises: this.listPremises().map((pm) => pm.toData()),
143
236
  roles: this.getRoleState(),
144
237
  };
@@ -147,6 +240,49 @@ export class ArgumentEngine {
147
240
  exportState() {
148
241
  return this.toData();
149
242
  }
243
+ /**
244
+ * Returns an argument-level checksum combining argument metadata, role
245
+ * state, and all premise checksums. Computed lazily -- only recalculated
246
+ * when the engine's own state has changed.
247
+ */
248
+ checksum() {
249
+ if (this.checksumDirty || this.cachedChecksum === undefined) {
250
+ this.cachedChecksum = this.computeChecksum();
251
+ this.checksumDirty = false;
252
+ }
253
+ return this.cachedChecksum;
254
+ }
255
+ computeChecksum() {
256
+ const config = this.checksumConfig;
257
+ const parts = [];
258
+ // Argument metadata
259
+ parts.push(entityChecksum(this.argument, config?.argumentFields ??
260
+ DEFAULT_CHECKSUM_CONFIG.argumentFields));
261
+ // Role state
262
+ parts.push(entityChecksum(this.getRoleState(), config?.roleFields ?? DEFAULT_CHECKSUM_CONFIG.roleFields));
263
+ // Premise checksums (sorted by ID for determinism)
264
+ for (const pm of this.listPremises()) {
265
+ parts.push(pm.checksum());
266
+ }
267
+ return computeHash(parts.join(":"));
268
+ }
269
+ markDirty() {
270
+ this.checksumDirty = true;
271
+ }
272
+ /** Invalidate all premise checksums (e.g. after variable changes). */
273
+ markAllPremisesDirty() {
274
+ for (const pm of this.listPremises()) {
275
+ pm.markDirty();
276
+ }
277
+ }
278
+ attachVariableChecksum(v) {
279
+ const fields = this.checksumConfig?.variableFields ??
280
+ DEFAULT_CHECKSUM_CONFIG.variableFields;
281
+ return {
282
+ ...v,
283
+ checksum: entityChecksum(v, fields),
284
+ };
285
+ }
150
286
  /**
151
287
  * Collects all variables referenced by expressions across all premises,
152
288
  * indexed both by variable ID and by symbol.
@@ -218,23 +354,6 @@ export class ArgumentEngine {
218
354
  premiseId: this.conclusionPremiseId,
219
355
  }));
220
356
  }
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
357
  const idToSymbols = new Map();
239
358
  const symbolToIds = new Map();
240
359
  for (const premise of this.listPremises()) {
@@ -309,20 +428,20 @@ export class ArgumentEngine {
309
428
  };
310
429
  }
311
430
  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());
431
+ const supportingIds = new Set(supportingPremises.map((pm) => pm.getId()));
432
+ const constraintPremises = this.listPremises().filter((pm) => pm.getId() !== this.conclusionPremiseId &&
433
+ !supportingIds.has(pm.getId()));
317
434
  const allRelevantPremises = [
318
435
  conclusion,
319
436
  ...supportingPremises,
320
437
  ...constraintPremises,
321
438
  ];
322
- const referencedVariableIds = sortedUnique(allRelevantPremises.flatMap((pm) => pm
323
- .getExpressions()
324
- .filter((expr) => expr.type === "variable")
325
- .map((expr) => expr.variableId)));
439
+ const referencedVariableIds = [
440
+ ...new Set(allRelevantPremises.flatMap((pm) => pm
441
+ .getExpressions()
442
+ .filter((expr) => expr.type === "variable")
443
+ .map((expr) => expr.variableId))),
444
+ ].sort();
326
445
  try {
327
446
  const evalOpts = {
328
447
  strictUnknownKeys: options?.strictUnknownAssignmentKeys ?? false,
@@ -412,15 +531,19 @@ export class ArgumentEngine {
412
531
  };
413
532
  }
414
533
  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)));
534
+ const supportingIds = new Set(supportingPremises.map((pm) => pm.getId()));
535
+ const constraintPremises = this.listPremises().filter((pm) => pm.getId() !== this.conclusionPremiseId &&
536
+ !supportingIds.has(pm.getId()));
537
+ const checkedVariableIds = [
538
+ ...new Set([
539
+ conclusion,
540
+ ...supportingPremises,
541
+ ...constraintPremises,
542
+ ].flatMap((pm) => pm
543
+ .getExpressions()
544
+ .filter((expr) => expr.type === "variable")
545
+ .map((expr) => expr.variableId))),
546
+ ].sort();
424
547
  if (options?.maxVariables !== undefined &&
425
548
  checkedVariableIds.length > options.maxVariables) {
426
549
  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,27 @@
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
+ modifiedVariable(variable: TCorePropositionalVariable): void;
20
+ removedVariable(variable: TCorePropositionalVariable): void;
21
+ addedPremise(premise: TCorePremise): void;
22
+ removedPremise(premise: TCorePremise): void;
23
+ setRoles(roles: TCoreArgumentRoleState): void;
24
+ setArgument(argument: TCoreArgument): void;
25
+ toChangeset(): TCoreChangeset;
26
+ }
27
+ //# 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,gBAAgB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI;IAG5D,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"}