@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.
- package/dist/cli/commands/analysis.d.ts.map +1 -1
- package/dist/cli/commands/analysis.js +87 -13
- package/dist/cli/commands/analysis.js.map +1 -1
- package/dist/cli/commands/arguments.d.ts.map +1 -1
- package/dist/cli/commands/arguments.js +27 -4
- package/dist/cli/commands/arguments.js.map +1 -1
- package/dist/cli/commands/diff.d.ts +3 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +46 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/premises.d.ts.map +1 -1
- package/dist/cli/commands/premises.js +22 -13
- package/dist/cli/commands/premises.js.map +1 -1
- package/dist/cli/commands/variables.d.ts.map +1 -1
- package/dist/cli/commands/variables.js +1 -0
- package/dist/cli/commands/variables.js.map +1 -1
- package/dist/cli/commands/versionShow.js +2 -2
- package/dist/cli/commands/versionShow.js.map +1 -1
- package/dist/cli/engine.d.ts +6 -0
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +41 -8
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/output/diffRenderer.d.ts +4 -0
- package/dist/cli/output/diffRenderer.d.ts.map +1 -0
- package/dist/cli/output/diffRenderer.js +102 -0
- package/dist/cli/output/diffRenderer.js.map +1 -0
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +1 -0
- package/dist/cli/router.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/core/ArgumentEngine.d.ts +82 -4
- package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
- package/dist/lib/core/ArgumentEngine.js +102 -18
- package/dist/lib/core/ArgumentEngine.js.map +1 -1
- package/dist/lib/core/ExpressionManager.d.ts +52 -0
- package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
- package/dist/lib/core/ExpressionManager.js +52 -3
- package/dist/lib/core/ExpressionManager.js.map +1 -1
- package/dist/lib/core/PremiseManager.d.ts +17 -4
- package/dist/lib/core/PremiseManager.d.ts.map +1 -1
- package/dist/lib/core/PremiseManager.js +48 -26
- package/dist/lib/core/PremiseManager.js.map +1 -1
- package/dist/lib/core/VariableManager.d.ts +34 -1
- package/dist/lib/core/VariableManager.d.ts.map +1 -1
- package/dist/lib/core/VariableManager.js +26 -0
- package/dist/lib/core/VariableManager.js.map +1 -1
- package/dist/lib/core/diff.d.ts +20 -0
- package/dist/lib/core/diff.d.ts.map +1 -0
- package/dist/lib/core/diff.js +213 -0
- package/dist/lib/core/diff.js.map +1 -0
- package/dist/lib/core/evaluation/shared.d.ts +17 -3
- package/dist/lib/core/evaluation/shared.d.ts.map +1 -1
- package/dist/lib/core/evaluation/shared.js +34 -2
- package/dist/lib/core/evaluation/shared.js.map +1 -1
- package/dist/lib/core/import.d.ts +14 -0
- package/dist/lib/core/import.d.ts.map +1 -0
- package/dist/lib/core/import.js +217 -0
- package/dist/lib/core/import.js.map +1 -0
- package/dist/lib/core/parser/formula-gen.js +850 -0
- package/dist/lib/core/parser/formula.d.ts +23 -0
- package/dist/lib/core/parser/formula.d.ts.map +1 -0
- package/dist/lib/core/parser/formula.js +7 -0
- package/dist/lib/core/parser/formula.js.map +1 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +8 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemata/analysis.d.ts +2 -1
- package/dist/lib/schemata/analysis.d.ts.map +1 -1
- package/dist/lib/schemata/analysis.js +5 -2
- package/dist/lib/schemata/analysis.js.map +1 -1
- package/dist/lib/schemata/argument.d.ts +13 -4
- package/dist/lib/schemata/argument.d.ts.map +1 -1
- package/dist/lib/schemata/argument.js +10 -2
- package/dist/lib/schemata/argument.js.map +1 -1
- package/dist/lib/schemata/import.d.ts +33 -0
- package/dist/lib/schemata/import.d.ts.map +1 -0
- package/dist/lib/schemata/import.js +18 -0
- package/dist/lib/schemata/import.js.map +1 -0
- package/dist/lib/schemata/index.d.ts +1 -0
- package/dist/lib/schemata/index.d.ts.map +1 -1
- package/dist/lib/schemata/index.js +1 -0
- package/dist/lib/schemata/index.js.map +1 -1
- package/dist/lib/schemata/propositional.d.ts +13 -2
- package/dist/lib/schemata/propositional.d.ts.map +1 -1
- package/dist/lib/schemata/propositional.js +25 -7
- package/dist/lib/schemata/propositional.js.map +1 -1
- package/dist/lib/types/diff.d.ts +56 -0
- package/dist/lib/types/diff.d.ts.map +1 -0
- package/dist/lib/types/diff.js +2 -0
- package/dist/lib/types/diff.js.map +1 -0
- package/dist/lib/types/evaluation.d.ts +96 -29
- package/dist/lib/types/evaluation.d.ts.map +1 -1
- package/dist/lib/utils/collections.d.ts +6 -0
- package/dist/lib/utils/collections.d.ts.map +1 -1
- package/dist/lib/utils/collections.js +6 -0
- package/dist/lib/utils/collections.js.map +1 -1
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +7 -5
- package/dist/lib/utils.js.map +1 -1
- 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;
|
|
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"}
|
package/dist/cli/engine.d.ts
CHANGED
|
@@ -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
|
package/dist/cli/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/cli/engine.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
1
2
|
import { ArgumentEngine } from "../lib/core/ArgumentEngine.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
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.
|
|
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
|
package/dist/cli/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/dist/cli/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/cli/router.js
CHANGED
package/dist/cli/router.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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,
|
|
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"}
|