@polintpro/proposit-core 0.1.3 → 0.1.4

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 (107) hide show
  1. package/dist/cli/commands/analysis.d.ts.map +1 -1
  2. package/dist/cli/commands/analysis.js +87 -13
  3. package/dist/cli/commands/analysis.js.map +1 -1
  4. package/dist/cli/commands/arguments.d.ts.map +1 -1
  5. package/dist/cli/commands/arguments.js +27 -4
  6. package/dist/cli/commands/arguments.js.map +1 -1
  7. package/dist/cli/commands/diff.d.ts +3 -0
  8. package/dist/cli/commands/diff.d.ts.map +1 -0
  9. package/dist/cli/commands/diff.js +46 -0
  10. package/dist/cli/commands/diff.js.map +1 -0
  11. package/dist/cli/commands/premises.d.ts.map +1 -1
  12. package/dist/cli/commands/premises.js +22 -13
  13. package/dist/cli/commands/premises.js.map +1 -1
  14. package/dist/cli/commands/variables.d.ts.map +1 -1
  15. package/dist/cli/commands/variables.js +1 -0
  16. package/dist/cli/commands/variables.js.map +1 -1
  17. package/dist/cli/commands/versionShow.js +2 -2
  18. package/dist/cli/commands/versionShow.js.map +1 -1
  19. package/dist/cli/engine.d.ts +6 -0
  20. package/dist/cli/engine.d.ts.map +1 -1
  21. package/dist/cli/engine.js +41 -8
  22. package/dist/cli/engine.js.map +1 -1
  23. package/dist/cli/output/diffRenderer.d.ts +4 -0
  24. package/dist/cli/output/diffRenderer.d.ts.map +1 -0
  25. package/dist/cli/output/diffRenderer.js +102 -0
  26. package/dist/cli/output/diffRenderer.js.map +1 -0
  27. package/dist/cli/router.d.ts.map +1 -1
  28. package/dist/cli/router.js +1 -0
  29. package/dist/cli/router.js.map +1 -1
  30. package/dist/cli.js +2 -0
  31. package/dist/cli.js.map +1 -1
  32. package/dist/index.d.ts +13 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +12 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/lib/core/ArgumentEngine.d.ts +82 -4
  37. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  38. package/dist/lib/core/ArgumentEngine.js +102 -18
  39. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  40. package/dist/lib/core/ExpressionManager.d.ts +52 -0
  41. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  42. package/dist/lib/core/ExpressionManager.js +52 -3
  43. package/dist/lib/core/ExpressionManager.js.map +1 -1
  44. package/dist/lib/core/PremiseManager.d.ts +17 -4
  45. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  46. package/dist/lib/core/PremiseManager.js +48 -26
  47. package/dist/lib/core/PremiseManager.js.map +1 -1
  48. package/dist/lib/core/VariableManager.d.ts +34 -1
  49. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  50. package/dist/lib/core/VariableManager.js +26 -0
  51. package/dist/lib/core/VariableManager.js.map +1 -1
  52. package/dist/lib/core/diff.d.ts +20 -0
  53. package/dist/lib/core/diff.d.ts.map +1 -0
  54. package/dist/lib/core/diff.js +213 -0
  55. package/dist/lib/core/diff.js.map +1 -0
  56. package/dist/lib/core/evaluation/shared.d.ts +17 -3
  57. package/dist/lib/core/evaluation/shared.d.ts.map +1 -1
  58. package/dist/lib/core/evaluation/shared.js +34 -2
  59. package/dist/lib/core/evaluation/shared.js.map +1 -1
  60. package/dist/lib/core/import.d.ts +14 -0
  61. package/dist/lib/core/import.d.ts.map +1 -0
  62. package/dist/lib/core/import.js +217 -0
  63. package/dist/lib/core/import.js.map +1 -0
  64. package/dist/lib/core/parser/formula-gen.js +850 -0
  65. package/dist/lib/core/parser/formula.d.ts +23 -0
  66. package/dist/lib/core/parser/formula.d.ts.map +1 -0
  67. package/dist/lib/core/parser/formula.js +7 -0
  68. package/dist/lib/core/parser/formula.js.map +1 -0
  69. package/dist/lib/index.d.ts +9 -0
  70. package/dist/lib/index.d.ts.map +1 -1
  71. package/dist/lib/index.js +8 -0
  72. package/dist/lib/index.js.map +1 -1
  73. package/dist/lib/schemata/analysis.d.ts +2 -1
  74. package/dist/lib/schemata/analysis.d.ts.map +1 -1
  75. package/dist/lib/schemata/analysis.js +5 -2
  76. package/dist/lib/schemata/analysis.js.map +1 -1
  77. package/dist/lib/schemata/argument.d.ts +13 -4
  78. package/dist/lib/schemata/argument.d.ts.map +1 -1
  79. package/dist/lib/schemata/argument.js +10 -2
  80. package/dist/lib/schemata/argument.js.map +1 -1
  81. package/dist/lib/schemata/import.d.ts +33 -0
  82. package/dist/lib/schemata/import.d.ts.map +1 -0
  83. package/dist/lib/schemata/import.js +18 -0
  84. package/dist/lib/schemata/import.js.map +1 -0
  85. package/dist/lib/schemata/index.d.ts +1 -0
  86. package/dist/lib/schemata/index.d.ts.map +1 -1
  87. package/dist/lib/schemata/index.js +1 -0
  88. package/dist/lib/schemata/index.js.map +1 -1
  89. package/dist/lib/schemata/propositional.d.ts +13 -2
  90. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  91. package/dist/lib/schemata/propositional.js +25 -7
  92. package/dist/lib/schemata/propositional.js.map +1 -1
  93. package/dist/lib/types/diff.d.ts +56 -0
  94. package/dist/lib/types/diff.d.ts.map +1 -0
  95. package/dist/lib/types/diff.js +2 -0
  96. package/dist/lib/types/diff.js.map +1 -0
  97. package/dist/lib/types/evaluation.d.ts +96 -29
  98. package/dist/lib/types/evaluation.d.ts.map +1 -1
  99. package/dist/lib/utils/collections.d.ts +6 -0
  100. package/dist/lib/utils/collections.d.ts.map +1 -1
  101. package/dist/lib/utils/collections.js +6 -0
  102. package/dist/lib/utils/collections.js.map +1 -1
  103. package/dist/lib/utils.d.ts +7 -0
  104. package/dist/lib/utils.d.ts.map +1 -1
  105. package/dist/lib/utils.js +7 -5
  106. package/dist/lib/utils.js.map +1 -1
  107. package/package.json +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"versionShow.js","sourceRoot":"","sources":["../../../src/cli/commands/versionShow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,MAAM,UAAU,0BAA0B,CACtC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,YAAY;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,gBAAgB,CAAC,UAAU,CAAC;YAC5B,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;SACvC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,gBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,SAAS,CAAC,gBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC1C,SAAS,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YAChD,SAAS,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1C,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAC/D,CAAA;YACD,SAAS,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC5C,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClC,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,EAAE,CACjE,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"versionShow.js","sourceRoot":"","sources":["../../../src/cli/commands/versionShow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,MAAM,UAAU,0BAA0B,CACtC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,YAAY;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,gBAAgB,CAAC,UAAU,CAAC;YAC5B,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;SACvC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,gBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,SAAS,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;YACnD,SAAS,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;YAC/D,SAAS,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1C,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAC/D,CAAA;YACD,SAAS,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC5C,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClC,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,EAAE,CACjE,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -10,4 +10,10 @@ import { ArgumentEngine } from "../lib/core/ArgumentEngine.js";
10
10
  * the parent-existence requirement of addExpression.
11
11
  */
12
12
  export declare function hydrateEngine(argumentId: string, version: number): Promise<ArgumentEngine>;
13
+ /**
14
+ * Persists a fully-hydrated ArgumentEngine to disk, writing all metadata,
15
+ * variables, roles, and premise data. This is the logical inverse of
16
+ * `hydrateEngine()`.
17
+ */
18
+ export declare function persistEngine(engine: ArgumentEngine): Promise<void>;
13
19
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAW9D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAgEzB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAmB9D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAgEzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzE"}
@@ -1,8 +1,10 @@
1
+ import fs from "node:fs/promises";
1
2
  import { ArgumentEngine } from "../lib/core/ArgumentEngine.js";
2
- import { readArgumentMeta, readVersionMeta } from "./storage/arguments.js";
3
- import { listPremiseIds, readPremiseData, readPremiseMeta, } from "./storage/premises.js";
4
- import { readRoles } from "./storage/roles.js";
5
- import { readVariables } from "./storage/variables.js";
3
+ import { getPremisesDir } from "./config.js";
4
+ import { readArgumentMeta, readVersionMeta, writeArgumentMeta, writeVersionMeta, } from "./storage/arguments.js";
5
+ import { listPremiseIds, readPremiseData, readPremiseMeta, writePremiseData, writePremiseMeta, } from "./storage/premises.js";
6
+ import { readRoles, writeRoles } from "./storage/roles.js";
7
+ import { readVariables, writeVariables } from "./storage/variables.js";
6
8
  /**
7
9
  * Builds a fully-hydrated ArgumentEngine from the on-disk state for the
8
10
  * given argument ID and version number.
@@ -28,9 +30,9 @@ export async function hydrateEngine(argumentId, version) {
28
30
  readPremiseMeta(argumentId, version, premiseId),
29
31
  readPremiseData(argumentId, version, premiseId),
30
32
  ]);
31
- const pm = engine.createPremiseWithId(premiseId, meta.title);
33
+ const pm = engine.createPremiseWithId(premiseId, meta.metadata);
32
34
  for (const variable of allVariables) {
33
- pm.addVariable(variable);
35
+ pm.addVariable({ ...variable, argumentVersion: version });
34
36
  }
35
37
  // Add expressions in BFS order: root (parentId===null) first, then
36
38
  // children of already-added expressions.
@@ -40,7 +42,7 @@ export async function hydrateEngine(argumentId, version) {
40
42
  for (let i = remaining.length - 1; i >= 0; i--) {
41
43
  const expr = remaining[i];
42
44
  if (expr.parentId === null) {
43
- pm.addExpression(expr);
45
+ pm.addExpression({ ...expr, argumentVersion: version });
44
46
  added.add(expr.id);
45
47
  remaining.splice(i, 1);
46
48
  }
@@ -52,7 +54,7 @@ export async function hydrateEngine(argumentId, version) {
52
54
  for (let i = remaining.length - 1; i >= 0; i--) {
53
55
  const expr = remaining[i];
54
56
  if (expr.parentId !== null && added.has(expr.parentId)) {
55
- pm.addExpression(expr);
57
+ pm.addExpression({ ...expr, argumentVersion: version });
56
58
  added.add(expr.id);
57
59
  remaining.splice(i, 1);
58
60
  progress = true;
@@ -68,4 +70,35 @@ export async function hydrateEngine(argumentId, version) {
68
70
  }
69
71
  return engine;
70
72
  }
73
+ /**
74
+ * Persists a fully-hydrated ArgumentEngine to disk, writing all metadata,
75
+ * variables, roles, and premise data. This is the logical inverse of
76
+ * `hydrateEngine()`.
77
+ */
78
+ export async function persistEngine(engine) {
79
+ const arg = engine.getArgument();
80
+ const { id, metadata } = arg;
81
+ await writeArgumentMeta({ id, metadata });
82
+ await writeVersionMeta(id, {
83
+ version: arg.version,
84
+ createdAt: arg.createdAt,
85
+ published: arg.published,
86
+ });
87
+ const variables = engine.listPremises()[0]?.getVariables() ?? [];
88
+ await writeVariables(id, arg.version, variables);
89
+ await writeRoles(id, arg.version, engine.getRoleState());
90
+ await fs.mkdir(getPremisesDir(id, arg.version), { recursive: true });
91
+ for (const pm of engine.listPremises()) {
92
+ const data = pm.toData();
93
+ await writePremiseMeta(id, arg.version, {
94
+ id: data.id,
95
+ metadata: data.metadata,
96
+ });
97
+ await writePremiseData(id, arg.version, data.id, {
98
+ rootExpressionId: data.rootExpressionId,
99
+ variables: data.variables,
100
+ expressions: data.expressions,
101
+ });
102
+ }
103
+ }
71
104
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { TCoreArgumentDiff } from "../../lib/types/diff.js";
2
+ export declare function isDiffEmpty(diff: TCoreArgumentDiff): boolean;
3
+ export declare function renderDiff(diff: TCoreArgumentDiff): void;
4
+ //# sourceMappingURL=diffRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffRenderer.d.ts","sourceRoot":"","sources":["../../../src/cli/output/diffRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,iBAAiB,EAIpB,MAAM,yBAAyB,CAAA;AAGhC,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAa5D;AA8CD,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA6DxD"}
@@ -0,0 +1,102 @@
1
+ import { printLine } from "../output.js";
2
+ export function isDiffEmpty(diff) {
3
+ return (diff.argument.changes.length === 0 &&
4
+ diff.variables.added.length === 0 &&
5
+ diff.variables.removed.length === 0 &&
6
+ diff.variables.modified.length === 0 &&
7
+ diff.premises.added.length === 0 &&
8
+ diff.premises.removed.length === 0 &&
9
+ diff.premises.modified.length === 0 &&
10
+ diff.roles.conclusion.before === diff.roles.conclusion.after &&
11
+ diff.roles.supportingAdded.length === 0 &&
12
+ diff.roles.supportingRemoved.length === 0);
13
+ }
14
+ function formatValue(value) {
15
+ if (value === undefined)
16
+ return "undefined";
17
+ if (value === null)
18
+ return "null";
19
+ return JSON.stringify(value);
20
+ }
21
+ function renderFieldChanges(changes, indent) {
22
+ for (const change of changes) {
23
+ printLine(`${indent}${change.field}: ${formatValue(change.before)} → ${formatValue(change.after)}`);
24
+ }
25
+ }
26
+ function renderEntitySetDiff(diff, indent) {
27
+ for (const item of diff.added) {
28
+ printLine(`${indent}+ ${item.id} (added)`);
29
+ }
30
+ for (const item of diff.removed) {
31
+ printLine(`${indent}- ${item.id} (removed)`);
32
+ }
33
+ for (const mod of diff.modified) {
34
+ printLine(`${indent}~ ${mod.before.id}:`);
35
+ renderFieldChanges(mod.changes, indent + " ");
36
+ }
37
+ }
38
+ function renderPremiseModified(mod, indent) {
39
+ printLine(`${indent}~ ${mod.before.id}:`);
40
+ renderFieldChanges(mod.changes, indent + " ");
41
+ const exprDiff = mod.expressions;
42
+ const hasExprChanges = exprDiff.added.length > 0 ||
43
+ exprDiff.removed.length > 0 ||
44
+ exprDiff.modified.length > 0;
45
+ if (hasExprChanges) {
46
+ printLine(`${indent} Expressions:`);
47
+ renderEntitySetDiff(exprDiff, indent + " ");
48
+ }
49
+ }
50
+ export function renderDiff(diff) {
51
+ if (isDiffEmpty(diff)) {
52
+ printLine("No differences.");
53
+ return;
54
+ }
55
+ // Argument section
56
+ if (diff.argument.changes.length > 0) {
57
+ printLine("Argument:");
58
+ renderFieldChanges(diff.argument.changes, " ");
59
+ }
60
+ // Variables section
61
+ const hasVarChanges = diff.variables.added.length > 0 ||
62
+ diff.variables.removed.length > 0 ||
63
+ diff.variables.modified.length > 0;
64
+ if (hasVarChanges) {
65
+ printLine("Variables:");
66
+ renderEntitySetDiff(diff.variables, " ");
67
+ }
68
+ // Premises section
69
+ const hasPremiseChanges = diff.premises.added.length > 0 ||
70
+ diff.premises.removed.length > 0 ||
71
+ diff.premises.modified.length > 0;
72
+ if (hasPremiseChanges) {
73
+ printLine("Premises:");
74
+ for (const item of diff.premises.added) {
75
+ printLine(` + ${item.id} (added)`);
76
+ }
77
+ for (const item of diff.premises.removed) {
78
+ printLine(` - ${item.id} (removed)`);
79
+ }
80
+ for (const mod of diff.premises.modified) {
81
+ renderPremiseModified(mod, " ");
82
+ }
83
+ }
84
+ // Roles section
85
+ const conclusionChanged = diff.roles.conclusion.before !== diff.roles.conclusion.after;
86
+ const hasRoleChanges = conclusionChanged ||
87
+ diff.roles.supportingAdded.length > 0 ||
88
+ diff.roles.supportingRemoved.length > 0;
89
+ if (hasRoleChanges) {
90
+ printLine("Roles:");
91
+ if (conclusionChanged) {
92
+ printLine(` conclusion: ${formatValue(diff.roles.conclusion.before)} → ${formatValue(diff.roles.conclusion.after)}`);
93
+ }
94
+ for (const id of diff.roles.supportingAdded) {
95
+ printLine(` + support: ${id} (added)`);
96
+ }
97
+ for (const id of diff.roles.supportingRemoved) {
98
+ printLine(` - support: ${id} (removed)`);
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=diffRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffRenderer.js","sourceRoot":"","sources":["../../../src/cli/output/diffRenderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAItD;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAItD;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
@@ -8,6 +8,7 @@ const NAMED_COMMANDS = new Set([
8
8
  "--version",
9
9
  "-V",
10
10
  "arguments",
11
+ "diff",
11
12
  ]);
12
13
  /**
13
14
  * Returns true when argv[2] is a named top-level command (not a UUID).
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,WAAW;IACX,IAAI;IACJ,WAAW;CACd,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,UAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QAClC,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;YACjD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAA;QAChC,CAAC;QACD,SAAS,CAAC,aAAa,UAAU,8BAA8B,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,SAAS,CACL,oBAAoB,UAAU,+DAA+D,CAChG,CAAA;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,SAAS,CACL,WAAW,MAAM,iCAAiC,UAAU,IAAI,CACnE,CAAA;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,WAAW;IACX,IAAI;IACJ,WAAW;IACX,MAAM;CACT,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,UAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QAClC,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;YACjD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAA;QAChC,CAAC;QACD,SAAS,CAAC,aAAa,UAAU,8BAA8B,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,SAAS,CACL,oBAAoB,UAAU,+DAA+D,CAChG,CAAA;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,SAAS,CACL,WAAW,MAAM,iCAAiC,UAAU,IAAI,CACnE,CAAA;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
package/dist/cli.js CHANGED
@@ -9,6 +9,7 @@ import { registerPremiseCommands } from "./cli/commands/premises.js";
9
9
  import { registerExpressionCommands } from "./cli/commands/expressions.js";
10
10
  import { registerAnalysisCommands } from "./cli/commands/analysis.js";
11
11
  import { registerRenderCommand } from "./cli/commands/render.js";
12
+ import { registerDiffCommand } from "./cli/commands/diff.js";
12
13
  import { isNamedCommand, resolveVersion } from "./cli/router.js";
13
14
  import { errorExit } from "./cli/output.js";
14
15
  const program = new Command();
@@ -20,6 +21,7 @@ program
20
21
  // ── Named top-level commands ──────────────────────────────────────────────────
21
22
  registerMetaCommands(program);
22
23
  registerArgumentCommands(program);
24
+ registerDiffCommand(program);
23
25
  // ── Version-scoped commands ───────────────────────────────────────────────────
24
26
  // If the first user argument is not a named command, treat it as an argument ID
25
27
  // followed by a version specifier, then dispatch to the appropriate sub-program.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO;KACF,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,mBAAmB,CAAC;KAChC,uBAAuB,EAAE;KACzB,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAE9B,iFAAiF;AACjF,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;AAEjC,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;IAE1D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,SAAS,CACL,sHAAsH,CACzH,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAE5D,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IACzB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;SACpB,WAAW,CAAC,gBAAgB,UAAU,IAAI,OAAO,EAAE,CAAC;SACpD,uBAAuB,EAAE,CAAA;IAE9B,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC/C,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9C,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAClD,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAElD,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC;KAAM,CAAC;IACJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO;KACF,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,mBAAmB,CAAC;KAChC,uBAAuB,EAAE;KACzB,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAE9B,iFAAiF;AACjF,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;AACjC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE5B,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;IAE1D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,SAAS,CACL,sHAAsH,CACzH,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAE5D,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IACzB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;SACpB,WAAW,CAAC,gBAAgB,UAAU,IAAI,OAAO,EAAE,CAAC;SACpD,uBAAuB,EAAE,CAAA;IAE9B,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC/C,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9C,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAClD,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAElD,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC;KAAM,CAAC;IACJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,16 @@
1
+ /**
2
+ * @module @polintpro/proposit-core
3
+ *
4
+ * Core engine for building, evaluating, and diffing propositional logic
5
+ * arguments. Exports {@link ArgumentEngine} and {@link PremiseManager} as
6
+ * the primary API, along with all type schemata and the {@link diffArguments}
7
+ * utility.
8
+ */
1
9
  export { ArgumentEngine, PremiseManager } from "./lib/index";
2
10
  export * from "./lib/schemata";
11
+ export * from "./lib/types/diff";
12
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./lib/core/diff";
13
+ export { importArgumentFromYaml } from "./lib/core/import";
14
+ export { parseFormula } from "./lib/core/parser/formula";
15
+ export type { FormulaAST } from "./lib/core/parser/formula";
3
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,cAAc,gBAAgB,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,aAAa,CAAA;AAC5D,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,15 @@
1
+ /**
2
+ * @module @polintpro/proposit-core
3
+ *
4
+ * Core engine for building, evaluating, and diffing propositional logic
5
+ * arguments. Exports {@link ArgumentEngine} and {@link PremiseManager} as
6
+ * the primary API, along with all type schemata and the {@link diffArguments}
7
+ * utility.
8
+ */
1
9
  export { ArgumentEngine, PremiseManager } from "./lib/index";
2
10
  export * from "./lib/schemata";
11
+ export * from "./lib/types/diff";
12
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./lib/core/diff";
13
+ export { importArgumentFromYaml } from "./lib/core/import";
14
+ export { parseFormula } from "./lib/core/parser/formula";
3
15
  //# 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,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,29 +1,78 @@
1
1
  import type { TCoreArgument } from "../schemata/index.js";
2
- import type { TCoreArgumentEngineData, TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult, TCoreVariableAssignment } from "../types/evaluation.js";
2
+ import type { TCoreArgumentEngineData, TCoreArgumentEvaluationOptions, TCoreArgumentEvaluationResult, TCoreArgumentRoleState, TCoreExpressionAssignment, TCoreValidationResult, TCoreValidityCheckOptions, TCoreValidityCheckResult } from "../types/evaluation.js";
3
3
  import { PremiseManager } from "./PremiseManager.js";
4
+ /**
5
+ * Manages a propositional logic argument composed of premises, variable
6
+ * assignments, and logical roles (supporting premises and a conclusion).
7
+ *
8
+ * Provides premise CRUD, role management, evaluation of individual
9
+ * assignments, and exhaustive validity checking via truth-table enumeration.
10
+ */
4
11
  export declare class ArgumentEngine {
5
12
  private argument;
6
13
  private premises;
7
14
  private supportingPremiseIds;
8
15
  private conclusionPremiseId;
9
16
  constructor(argument: TCoreArgument);
17
+ /** Returns a shallow copy of the argument metadata. */
10
18
  getArgument(): TCoreArgument;
11
- createPremise(title?: string): PremiseManager;
12
- createPremiseWithId(id: string, title?: string): PremiseManager;
19
+ /**
20
+ * Creates a new premise with an auto-generated UUID and registers it
21
+ * with this engine.
22
+ */
23
+ createPremise(metadata?: Record<string, string>): PremiseManager;
24
+ /**
25
+ * Creates a premise with a caller-supplied ID and registers it with
26
+ * this engine.
27
+ *
28
+ * @throws If a premise with the given ID already exists.
29
+ */
30
+ createPremiseWithId(id: string, metadata?: Record<string, string>): PremiseManager;
31
+ /**
32
+ * Removes a premise and clears any role assignments that reference it.
33
+ * No-op if the premise does not exist.
34
+ */
13
35
  removePremise(premiseId: string): void;
36
+ /** Returns the premise with the given ID, or `undefined` if not found. */
14
37
  getPremise(premiseId: string): PremiseManager | undefined;
38
+ /** Returns `true` if a premise with the given ID exists. */
15
39
  hasPremise(premiseId: string): boolean;
40
+ /** Returns all premise IDs in lexicographic order. */
16
41
  listPremiseIds(): string[];
42
+ /** Returns all premises in lexicographic ID order. */
17
43
  listPremises(): PremiseManager[];
44
+ /** Returns the current role assignments (conclusion and supporting premise IDs). */
18
45
  getRoleState(): TCoreArgumentRoleState;
46
+ /**
47
+ * Designates a premise as the argument's conclusion.
48
+ *
49
+ * @throws If the premise does not exist.
50
+ * @throws If the premise is already a supporting premise.
51
+ */
19
52
  setConclusionPremise(premiseId: string): void;
53
+ /** Clears the conclusion designation. */
20
54
  clearConclusionPremise(): void;
55
+ /** Returns the conclusion premise, or `undefined` if none is set. */
21
56
  getConclusionPremise(): PremiseManager | undefined;
57
+ /**
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.
62
+ */
22
63
  addSupportingPremise(premiseId: string): void;
64
+ /** Removes a premise from the supporting role. No-op if not supporting. */
23
65
  removeSupportingPremise(premiseId: string): void;
66
+ /** Returns all supporting premises in lexicographic ID order. */
24
67
  listSupportingPremises(): PremiseManager[];
68
+ /** Returns a serializable snapshot of the full engine state. */
25
69
  toData(): TCoreArgumentEngineData;
70
+ /** Alias for {@link toData}. */
26
71
  exportState(): TCoreArgumentEngineData;
72
+ /**
73
+ * Collects all variables referenced by expressions across all premises,
74
+ * indexed both by variable ID and by symbol.
75
+ */
27
76
  collectReferencedVariables(): {
28
77
  variableIds: string[];
29
78
  byId: Record<string, {
@@ -35,8 +84,37 @@ export declare class ArgumentEngine {
35
84
  premiseIds: string[];
36
85
  }>;
37
86
  };
87
+ /**
88
+ * Validates that this argument is structurally ready for evaluation:
89
+ * a conclusion must be set, all role references must point to existing
90
+ * premises, variable ID/symbol mappings must be consistent, and every
91
+ * premise must be individually evaluable.
92
+ */
38
93
  validateEvaluability(): TCoreValidationResult;
39
- evaluate(assignment: TCoreVariableAssignment, options?: TCoreArgumentEvaluationOptions): TCoreArgumentEvaluationResult;
94
+ /**
95
+ * Evaluates the argument under a three-valued expression assignment.
96
+ *
97
+ * Variables may be `true`, `false`, or `null` (unknown). Expressions
98
+ * listed in `rejectedExpressionIds` evaluate to `false` (children
99
+ * skipped). All result flags (`isAdmissibleAssignment`,
100
+ * `allSupportingPremisesTrue`, `conclusionTrue`, `isCounterexample`,
101
+ * `preservesTruthUnderAssignment`) are three-valued: `null` means
102
+ * the result is indeterminate due to unknown variable values.
103
+ *
104
+ * Returns `{ ok: false }` with validation details if the argument is
105
+ * not structurally evaluable.
106
+ */
107
+ evaluate(assignment: TCoreExpressionAssignment, options?: TCoreArgumentEvaluationOptions): TCoreArgumentEvaluationResult;
108
+ /**
109
+ * Enumerates all 2^n variable assignments and checks for counterexamples.
110
+ *
111
+ * A counterexample is an admissible assignment where all supporting
112
+ * premises are true but the conclusion is false. The argument is valid
113
+ * if no counterexamples exist.
114
+ *
115
+ * Supports early termination (`firstCounterexample` mode) and
116
+ * configurable limits on variables and assignments checked.
117
+ */
40
118
  checkValidity(options?: TCoreValidityCheckOptions): TCoreValidityCheckResult;
41
119
  }
42
120
  //# sourceMappingURL=ArgumentEngine.d.ts.map
@@ -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,EAItB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,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;IAO5B,WAAW,IAAI,aAAa;IAI5B,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc;IAO7C,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc;IAS/D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQtC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,cAAc,IAAI,MAAM,EAAE;IAM1B,YAAY,IAAI,cAAc,EAAE;IAMhC,YAAY,IAAI,sBAAsB;IAOtC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAY7C,sBAAsB,IAAI,IAAI;IAI9B,oBAAoB,IAAI,cAAc,GAAG,SAAS;IAOlD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAY7C,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhD,sBAAsB,IAAI,cAAc,EAAE;IAM1C,MAAM,IAAI,uBAAuB;IAQjC,WAAW,IAAI,uBAAuB;IAItC,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;IAuEM,oBAAoB,IAAI,qBAAqB;IA+F7C,QAAQ,CACX,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,8BAA8B,GACzC,6BAA6B;IA8HzB,aAAa,CAChB,OAAO,CAAC,EAAE,yBAAyB,GACpC,wBAAwB;CA2I9B"}
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,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,cAAc;IAOvE;;;;;OAKG;IACI,mBAAmB,CACtB,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,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"}