@polintpro/proposit-core 0.2.0 → 0.2.2

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 (73) hide show
  1. package/README.md +81 -29
  2. package/dist/cli/commands/expressions.d.ts.map +1 -1
  3. package/dist/cli/commands/expressions.js.map +1 -1
  4. package/dist/cli/commands/premises.d.ts.map +1 -1
  5. package/dist/cli/commands/premises.js +11 -6
  6. package/dist/cli/commands/premises.js.map +1 -1
  7. package/dist/cli/commands/variables.d.ts.map +1 -1
  8. package/dist/cli/commands/variables.js +49 -62
  9. package/dist/cli/commands/variables.js.map +1 -1
  10. package/dist/cli/engine.d.ts.map +1 -1
  11. package/dist/cli/engine.js +10 -5
  12. package/dist/cli/engine.js.map +1 -1
  13. package/dist/cli/import.d.ts.map +1 -1
  14. package/dist/cli/import.js +4 -4
  15. package/dist/cli/import.js.map +1 -1
  16. package/dist/cli/schemata.d.ts +2 -3
  17. package/dist/cli/schemata.d.ts.map +1 -1
  18. package/dist/cli/schemata.js +38 -14
  19. package/dist/cli/schemata.js.map +1 -1
  20. package/dist/cli/storage/variables.d.ts +1 -1
  21. package/dist/cli/storage/variables.d.ts.map +1 -1
  22. package/dist/cli/storage/variables.js +10 -2
  23. package/dist/cli/storage/variables.js.map +1 -1
  24. package/dist/index.d.ts +2 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/consts.d.ts +8 -0
  29. package/dist/lib/consts.d.ts.map +1 -0
  30. package/dist/lib/consts.js +37 -0
  31. package/dist/lib/consts.js.map +1 -0
  32. package/dist/lib/core/ArgumentEngine.d.ts +31 -3
  33. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  34. package/dist/lib/core/ArgumentEngine.js +127 -9
  35. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  36. package/dist/lib/core/ChangeCollector.d.ts +11 -8
  37. package/dist/lib/core/ChangeCollector.d.ts.map +1 -1
  38. package/dist/lib/core/ChangeCollector.js +3 -0
  39. package/dist/lib/core/ChangeCollector.js.map +1 -1
  40. package/dist/lib/core/ExpressionManager.d.ts +35 -8
  41. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  42. package/dist/lib/core/ExpressionManager.js.map +1 -1
  43. package/dist/lib/core/PremiseManager.d.ts +23 -18
  44. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  45. package/dist/lib/core/PremiseManager.js +68 -73
  46. package/dist/lib/core/PremiseManager.js.map +1 -1
  47. package/dist/lib/core/VariableManager.d.ts +20 -14
  48. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  49. package/dist/lib/core/VariableManager.js +20 -3
  50. package/dist/lib/core/VariableManager.js.map +1 -1
  51. package/dist/lib/core/checksum.d.ts +1 -1
  52. package/dist/lib/core/checksum.d.ts.map +1 -1
  53. package/dist/lib/core/checksum.js.map +1 -1
  54. package/dist/lib/core/relationships.d.ts.map +1 -1
  55. package/dist/lib/core/relationships.js +5 -5
  56. package/dist/lib/core/relationships.js.map +1 -1
  57. package/dist/lib/index.d.ts +2 -1
  58. package/dist/lib/index.d.ts.map +1 -1
  59. package/dist/lib/index.js +1 -0
  60. package/dist/lib/index.js.map +1 -1
  61. package/dist/lib/schemata/argument.d.ts +1 -1
  62. package/dist/lib/schemata/argument.d.ts.map +1 -1
  63. package/dist/lib/schemata/argument.js +2 -2
  64. package/dist/lib/schemata/argument.js.map +1 -1
  65. package/dist/lib/schemata/propositional.d.ts +11 -11
  66. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  67. package/dist/lib/schemata/propositional.js +6 -6
  68. package/dist/lib/schemata/propositional.js.map +1 -1
  69. package/dist/lib/types/checksum.d.ts +5 -5
  70. package/dist/lib/types/checksum.d.ts.map +1 -1
  71. package/dist/lib/types/mutation.d.ts +13 -0
  72. package/dist/lib/types/mutation.d.ts.map +1 -1
  73. package/package.json +1 -1
@@ -23,8 +23,16 @@ export async function hydrateEngine(argumentId, version) {
23
23
  readRoles(argumentId, version),
24
24
  listPremiseIds(argumentId, version),
25
25
  ]);
26
- const argument = { ...argMeta, ...versionMeta };
26
+ const argument = {
27
+ ...argMeta,
28
+ ...versionMeta,
29
+ };
27
30
  const engine = new ArgumentEngine(argument);
31
+ // Register all argument-level variables once on the engine; the shared
32
+ // VariableManager is visible to every PremiseManager.
33
+ for (const variable of allVariables) {
34
+ engine.addVariable({ ...variable, argumentVersion: version });
35
+ }
28
36
  for (const premiseId of premiseIds) {
29
37
  const [meta, data] = await Promise.all([
30
38
  readPremiseMeta(argumentId, version, premiseId),
@@ -32,9 +40,6 @@ export async function hydrateEngine(argumentId, version) {
32
40
  ]);
33
41
  const { id: _id, ...premiseExtras } = meta;
34
42
  const { result: pm } = engine.createPremiseWithId(premiseId, premiseExtras);
35
- for (const variable of allVariables) {
36
- pm.addVariable({ ...variable, argumentVersion: version });
37
- }
38
43
  // Add expressions in BFS order: root (parentId===null) first, then
39
44
  // children of already-added expressions.
40
45
  const remaining = [...data.expressions];
@@ -91,7 +96,7 @@ export async function persistEngine(engine) {
91
96
  createdAt: argRecord.createdAt,
92
97
  published: argRecord.published,
93
98
  });
94
- const variables = engine.listPremises()[0]?.getVariables() ?? [];
99
+ const variables = engine.getVariables();
95
100
  await writeVariables(id, arg.version, variables);
96
101
  await writeRoles(id, arg.version, engine.getRoleState());
97
102
  await fs.mkdir(getPremisesDir(id, arg.version), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEtE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAAkB,EAClB,OAAe;IAEf,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,GACzD,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,gBAAgB,CAAC,UAAU,CAAC;QAC5B,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;QACpC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;QAClC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QAC9B,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC;KACtC,CAAC,CAAA;IAEN,MAAM,QAAQ,GAAkB,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;YAC/C,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;SAClD,CAAC,CAAA;QAEF,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAA;QAC1C,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAC7C,SAAS,EACT,aAAa,CAChB,CAAA;QAED,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YAClC,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,mEAAmE;QACnE,yCAAyC;QACzC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAE/B,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzB,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAA;gBACvD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,QAAQ,GAAG,KAAK,CAAA;YAChB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAA;oBACvD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAClB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACtB,QAAQ,GAAG,IAAI,CAAA;gBACnB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC1D,CAAC;IACD,+EAA+E;IAC/E,yEAAyE;IAEzE,OAAO,MAAM,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAsB;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAChC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAElB,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,SAAS,GAAG,GAA8B,CAAA;IAChD,MAAM,iBAAiB,CAAC;QACpB,EAAE;QACF,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,WAAW,EAAE,SAAS,CAAC,WAAW;KACjB,CAAC,CAAA;IACtB,MAAM,gBAAgB,CAAC,EAAE,EAAE;QACvB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KACN,CAAC,CAAA;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAChE,MAAM,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAEhD,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;IAExD,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;QACxB,MAAM,EACF,EAAE,EAAE,SAAS,EACb,gBAAgB,EAAE,EAAE,EACpB,SAAS,EAAE,EAAE,EACb,WAAW,EAAE,EAAE,EACf,GAAG,WAAW,EACjB,GAAG,IAA+B,CAAA;QACnC,MAAM,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,WAAW;SAC0B,CAAC,CAAA;QAC7C,MAAM,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAA;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AA4K9D;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAiGzE"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AA4K9D;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAoGzE"}
@@ -191,14 +191,14 @@ export function importArgumentFromYaml(yamlString) {
191
191
  };
192
192
  variablesByName.set(name, variable);
193
193
  }
194
+ // Register all variables with the engine (shared across all premises)
195
+ for (const variable of variablesByName.values()) {
196
+ engine.addVariable(variable);
197
+ }
194
198
  // Create premises and build expression trees
195
199
  for (let i = 0; i < input.premises.length; i++) {
196
200
  const premiseDef = input.premises[i];
197
201
  const { result: pm } = engine.createPremise(premiseDef.metadata ? { ...premiseDef.metadata } : undefined);
198
- // Register all variables with this premise
199
- for (const variable of variablesByName.values()) {
200
- pm.addVariable(variable);
201
- }
202
202
  // Build expression tree from parsed AST
203
203
  buildExpressions(parsedFormulas[i], null, POSITION_INITIAL, argumentId, 0, variablesByName, (expr) => pm.addExpression(expr));
204
204
  // Assign conclusion role; supporting is derived from expression type
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
@@ -12,17 +12,16 @@ export declare const CliArgumentVersionMetaSchema: Type.TObject<{
12
12
  publishedAt: Type.TOptional<import("../index.js").TDateType>;
13
13
  }>;
14
14
  export type TCliArgumentVersionMeta = Static<typeof CliArgumentVersionMetaSchema>;
15
- export declare const CliArgumentSchema: Type.TIntersect<[Type.TObject<{
15
+ export declare const CliArgumentSchema: Type.TObject<{
16
16
  id: Type.TString;
17
17
  version: Type.TNumber;
18
18
  checksum: Type.TOptional<Type.TString>;
19
- }>, Type.TObject<{
20
19
  title: Type.TString;
21
20
  description: Type.TOptional<Type.TString>;
22
21
  createdAt: import("../index.js").TDateType;
23
22
  published: Type.TBoolean;
24
23
  publishedAt: Type.TOptional<import("../index.js").TDateType>;
25
- }>]>;
24
+ }>;
26
25
  export type TCliArgument = Static<typeof CliArgumentSchema>;
27
26
  export declare const CliPremiseMetaSchema: Type.TObject<{
28
27
  id: Type.TString;
@@ -1 +1 @@
1
- {"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAS3C,eAAO,MAAM,qBAAqB;;;;EAOjC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CACxC,OAAO,4BAA4B,CACtC,CAAA;AAKD,eAAO,MAAM,iBAAiB;;;;;;;;;;IAS5B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAM3D,eAAO,MAAM,oBAAoB;;;EAMhC,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAQ3C,eAAO,MAAM,qBAAqB;;;;EAOjC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CACxC,OAAO,4BAA4B,CACtC,CAAA;AAMD,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAM3D,eAAO,MAAM,oBAAoB;;;EAMhC,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAgCjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import Type, {} from "typebox";
2
- import { CoreArgumentSchema } from "../lib/schemata/argument.js";
3
- import { CorePropositionalExpressionSchema } from "../lib/schemata/propositional.js";
4
- import { EncodableDate, UUID } from "../lib/schemata/shared.js";
2
+ import { CoreLogicalOperatorType } from "../lib/schemata/propositional.js";
3
+ import { EncodableDate, Nullable, UUID } from "../lib/schemata/shared.js";
5
4
  // ---------------------------------------------------------------------------
6
5
  // Argument meta (stored in arguments/<id>/meta.json)
7
6
  // Flat fields: { id, title, description? }
@@ -23,17 +22,18 @@ export const CliArgumentVersionMetaSchema = Type.Object({
23
22
  });
24
23
  // ---------------------------------------------------------------------------
25
24
  // Full CLI argument (core identity + CLI-specific flat fields)
25
+ // Uses optional checksum for backward-compatible disk reads.
26
26
  // ---------------------------------------------------------------------------
27
- export const CliArgumentSchema = Type.Intersect([
28
- CoreArgumentSchema,
29
- Type.Object({
30
- title: Type.String(),
31
- description: Type.Optional(Type.String()),
32
- createdAt: EncodableDate,
33
- published: Type.Boolean(),
34
- publishedAt: Type.Optional(EncodableDate),
35
- }),
36
- ]);
27
+ export const CliArgumentSchema = Type.Object({
28
+ id: UUID,
29
+ version: Type.Number(),
30
+ checksum: Type.Optional(Type.String()),
31
+ title: Type.String(),
32
+ description: Type.Optional(Type.String()),
33
+ createdAt: EncodableDate,
34
+ published: Type.Boolean(),
35
+ publishedAt: Type.Optional(EncodableDate),
36
+ });
37
37
  // ---------------------------------------------------------------------------
38
38
  // Premise meta (stored in premises/<id>/meta.json)
39
39
  // Flat fields: { id, title? }
@@ -43,6 +43,30 @@ export const CliPremiseMetaSchema = Type.Object({
43
43
  title: Type.Optional(Type.String()),
44
44
  }, { additionalProperties: Type.String() });
45
45
  // ---------------------------------------------------------------------------
46
+ // CLI expression schema — optional checksum for backward-compatible disk reads
47
+ // ---------------------------------------------------------------------------
48
+ const CliBaseExpressionSchema = Type.Object({
49
+ id: UUID,
50
+ argumentId: UUID,
51
+ argumentVersion: Type.Number(),
52
+ parentId: Nullable(UUID),
53
+ position: Type.Number({ minimum: 0 }),
54
+ checksum: Type.Optional(Type.String()),
55
+ });
56
+ const CliExpressionSchema = Type.Union([
57
+ Type.Interface([CliBaseExpressionSchema], {
58
+ type: Type.Literal("variable"),
59
+ variableId: UUID,
60
+ }),
61
+ Type.Interface([CliBaseExpressionSchema], {
62
+ type: Type.Literal("operator"),
63
+ operator: CoreLogicalOperatorType,
64
+ }),
65
+ Type.Interface([CliBaseExpressionSchema], {
66
+ type: Type.Literal("formula"),
67
+ }),
68
+ ]);
69
+ // ---------------------------------------------------------------------------
46
70
  // Premise data (stored in premises/<id>/data.json)
47
71
  // { rootExpressionId?, variables, expressions }
48
72
  // ---------------------------------------------------------------------------
@@ -53,7 +77,7 @@ export const CliPremiseDataSchema = Type.Object({
53
77
  variables: Type.Array(UUID, {
54
78
  description: "IDs of all variables referenced in this premise.",
55
79
  }),
56
- expressions: Type.Array(CorePropositionalExpressionSchema, {
80
+ expressions: Type.Array(CliExpressionSchema, {
57
81
  description: "All expressions in this premise. The root has a null parentId.",
58
82
  }),
59
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schemata.js","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAe,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAE/D,8EAA8E;AAC9E,qDAAqD;AACrD,2CAA2C;AAC3C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAC5C;IACI,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CAC5C,EACD,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1C,CAAA;AAGD,8EAA8E;AAC9E,8DAA8D;AAC9D,kDAAkD;AAClD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;IACzB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;CAC5C,CAAC,CAAA;AAKF,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC;QACR,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;QACzB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC5C,CAAC;CACL,CAAC,CAAA;AAGF,8EAA8E;AAC9E,mDAAmD;AACnD,8BAA8B;AAC9B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC3C;IACI,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACtC,EACD,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAC1C,CAAA;AAGD,8EAA8E;AAC9E,mDAAmD;AACnD,gDAAgD;AAChD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAC3B,IAAI,CAAC,MAAM,CAAC;QACR,WAAW,EACP,4DAA4D;KACnE,CAAC,CACL;IACD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACxB,WAAW,EAAE,kDAAkD;KAClE,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE;QACvD,WAAW,EACP,gEAAgE;KACvE,CAAC;CACL,CAAC,CAAA"}
1
+ {"version":3,"file":"schemata.js","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type TCorePropositionalVariable } from "../../lib/schemata/index.js";
1
+ import type { TCorePropositionalVariable } from "../../lib/schemata/index.js";
2
2
  export declare function readVariables(argumentId: string, version: number): Promise<TCorePropositionalVariable[]>;
3
3
  export declare function writeVariables(argumentId: string, version: number, variables: TCorePropositionalVariable[]): Promise<void>;
4
4
  //# sourceMappingURL=variables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/cli/storage/variables.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,0BAA0B,EAClC,MAAM,6BAA6B,CAAA;AAUpC,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAWvC;AAED,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,0BAA0B,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAKf"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/cli/storage/variables.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAuB7E,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAWvC;AAED,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,0BAA0B,EAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -2,10 +2,18 @@ import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import Type from "typebox";
4
4
  import Value from "typebox/value";
5
- import { CorePropositionalVariableSchema, } from "../../lib/schemata/index.js";
5
+ import { UUID } from "../../lib/schemata/shared.js";
6
6
  import { getVersionDir } from "../config.js";
7
7
  import { errorExit } from "../output.js";
8
- const VariablesFileSchema = Type.Array(CorePropositionalVariableSchema);
8
+ // Local schema with optional checksum for backward-compatible disk reads.
9
+ const CliVariableSchema = Type.Object({
10
+ id: UUID,
11
+ argumentId: UUID,
12
+ argumentVersion: Type.Number(),
13
+ symbol: Type.String(),
14
+ checksum: Type.Optional(Type.String()),
15
+ }, { additionalProperties: true });
16
+ const VariablesFileSchema = Type.Array(CliVariableSchema);
9
17
  function variablesPath(argumentId, version) {
10
18
  return path.join(getVersionDir(argumentId, version), "variables.json");
11
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/cli/storage/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,MAAM,eAAe,CAAA;AACjC,OAAO,EACH,+BAA+B,GAElC,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;AAEvE,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAe;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC5D,SAAS,CAAC,gCAAgC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,SAAS,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,UAAkB,EAClB,OAAe,EACf,SAAuC;IAEvC,MAAM,EAAE,CAAC,SAAS,CACd,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/cli/storage/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,KAAK,MAAM,eAAe,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CACjC;IACI,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;IAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACzC,EACD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CACjC,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;AAEzD,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAe;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC5D,SAAS,CAAC,gCAAgC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,SAAS,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,UAAkB,EAClB,OAAe,EACf,SAAuC;IAEvC,MAAM,EAAE,CAAC,SAAS,CACd,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAA;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -15,8 +15,9 @@ export { computeHash, canonicalSerialize, entityChecksum, } from "./lib/core/che
15
15
  export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./lib/core/diff.js";
16
16
  export * from "./lib/types/relationships.js";
17
17
  export { analyzePremiseRelationships, buildPremiseProfile, } from "./lib/core/relationships.js";
18
+ export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig } from "./lib/consts.js";
18
19
  export { parseFormula } from "./lib/core/parser/formula.js";
19
20
  export type { FormulaAST } from "./lib/core/parser/formula.js";
20
- export type { TExpressionWithoutPosition } from "./lib/core/ExpressionManager.js";
21
+ export type { TExpressionInput, TExpressionWithoutPosition, } from "./lib/core/ExpressionManager.js";
21
22
  export { POSITION_MIN, POSITION_MAX, POSITION_INITIAL, midpoint, } from "./lib/utils/position.js";
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,cAAc,8BAA8B,CAAA;AAC5C,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,YAAY,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACX,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,cAAc,8BAA8B,CAAA;AAC5C,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,YAAY,EACR,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACX,MAAM,yBAAyB,CAAA"}
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ export { computeHash, canonicalSerialize, entityChecksum, } from "./lib/core/che
15
15
  export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./lib/core/diff.js";
16
16
  export * from "./lib/types/relationships.js";
17
17
  export { analyzePremiseRelationships, buildPremiseProfile, } from "./lib/core/relationships.js";
18
+ export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig } from "./lib/consts.js";
18
19
  export { parseFormula } from "./lib/core/parser/formula.js";
19
20
  export { POSITION_MIN, POSITION_MAX, POSITION_INITIAL, midpoint, } from "./lib/utils/position.js";
20
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,cAAc,8BAA8B,CAAA;AAC5C,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAG3D,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACX,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,cAAc,8BAA8B,CAAA;AAC5C,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAM3D,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACX,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { TCoreChecksumConfig } from "./types/checksum.js";
2
+ export declare const DEFAULT_CHECKSUM_CONFIG: Readonly<TCoreChecksumConfig>;
3
+ /**
4
+ * Creates a checksum config by merging additional fields into the defaults.
5
+ * Omitted fields in `additional` inherit defaults. Fields are unioned, not replaced.
6
+ */
7
+ export declare function createChecksumConfig(additional: TCoreChecksumConfig): TCoreChecksumConfig;
8
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,mBAAmB,CAejE,CAAA;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,mBAAmB,GAChC,mBAAmB,CAerB"}
@@ -0,0 +1,37 @@
1
+ export const DEFAULT_CHECKSUM_CONFIG = {
2
+ expressionFields: new Set([
3
+ "id",
4
+ "type",
5
+ "parentId",
6
+ "position",
7
+ "argumentId",
8
+ "argumentVersion",
9
+ "variableId",
10
+ "operator",
11
+ ]),
12
+ variableFields: new Set(["id", "symbol", "argumentId", "argumentVersion"]),
13
+ premiseFields: new Set(["id", "rootExpressionId"]),
14
+ argumentFields: new Set(["id", "version"]),
15
+ roleFields: new Set(["conclusionPremiseId"]),
16
+ };
17
+ /**
18
+ * Creates a checksum config by merging additional fields into the defaults.
19
+ * Omitted fields in `additional` inherit defaults. Fields are unioned, not replaced.
20
+ */
21
+ export function createChecksumConfig(additional) {
22
+ const keys = [
23
+ "expressionFields",
24
+ "variableFields",
25
+ "premiseFields",
26
+ "argumentFields",
27
+ "roleFields",
28
+ ];
29
+ const result = {};
30
+ for (const key of keys) {
31
+ const base = DEFAULT_CHECKSUM_CONFIG[key];
32
+ const extra = additional[key];
33
+ result[key] = extra ? new Set([...base, ...extra]) : new Set(base);
34
+ }
35
+ return result;
36
+ }
37
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/lib/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IAClE,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACtB,IAAI;QACJ,MAAM;QACN,UAAU;QACV,UAAU;QACV,YAAY;QACZ,iBAAiB;QACjB,YAAY;QACZ,UAAU;KACb,CAAC;IACF,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC1E,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAClD,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1C,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC;CAC/C,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAChC,UAA+B;IAE/B,MAAM,IAAI,GAAG;QACT,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,YAAY;KACN,CAAA;IACV,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TCoreArgument, TCorePremise } 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
3
  import type { TCoreChecksumConfig } from "../types/checksum.js";
4
4
  import type { TCoreMutationResult } from "../types/mutation.js";
@@ -13,14 +13,15 @@ import { PremiseManager } from "./PremiseManager.js";
13
13
  export declare class ArgumentEngine {
14
14
  private argument;
15
15
  private premises;
16
+ private variables;
16
17
  private conclusionPremiseId;
17
18
  private checksumConfig?;
18
19
  private checksumDirty;
19
20
  private cachedChecksum;
20
- constructor(argument: TCoreArgument, options?: {
21
+ constructor(argument: Omit<TCoreArgument, "checksum">, options?: {
21
22
  checksumConfig?: TCoreChecksumConfig;
22
23
  });
23
- /** Returns a shallow copy of the argument metadata. */
24
+ /** Returns a shallow copy of the argument metadata with checksum attached. */
24
25
  getArgument(): TCoreArgument;
25
26
  /**
26
27
  * Creates a new premise with an auto-generated UUID and registers it
@@ -47,6 +48,30 @@ export declare class ArgumentEngine {
47
48
  listPremiseIds(): string[];
48
49
  /** Returns all premises in lexicographic ID order. */
49
50
  listPremises(): PremiseManager[];
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: Omit<TCorePropositionalVariable, "checksum">): 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[];
50
75
  /** Returns the current role assignments (conclusion premise ID only; supporting is derived). */
51
76
  getRoleState(): TCoreArgumentRoleState;
52
77
  /**
@@ -76,6 +101,9 @@ export declare class ArgumentEngine {
76
101
  checksum(): string;
77
102
  private computeChecksum;
78
103
  private markDirty;
104
+ /** Invalidate all premise checksums (e.g. after variable changes). */
105
+ private markAllPremisesDirty;
106
+ private attachVariableChecksum;
79
107
  /**
80
108
  * Collects all variables referenced by expressions across all premises,
81
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":"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"}
1
+ {"version":3,"file":"ArgumentEngine.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ArgumentEngine.ts"],"names":[],"mappings":"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"}