@polintpro/proposit-core 0.1.2 → 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 (129) hide show
  1. package/README.md +47 -47
  2. package/dist/cli/commands/analysis.d.ts.map +1 -1
  3. package/dist/cli/commands/analysis.js +87 -13
  4. package/dist/cli/commands/analysis.js.map +1 -1
  5. package/dist/cli/commands/arguments.d.ts.map +1 -1
  6. package/dist/cli/commands/arguments.js +27 -4
  7. package/dist/cli/commands/arguments.js.map +1 -1
  8. package/dist/cli/commands/diff.d.ts +3 -0
  9. package/dist/cli/commands/diff.d.ts.map +1 -0
  10. package/dist/cli/commands/diff.js +46 -0
  11. package/dist/cli/commands/diff.js.map +1 -0
  12. package/dist/cli/commands/expressions.js.map +1 -1
  13. package/dist/cli/commands/premises.d.ts.map +1 -1
  14. package/dist/cli/commands/premises.js +36 -17
  15. package/dist/cli/commands/premises.js.map +1 -1
  16. package/dist/cli/commands/variables.d.ts.map +1 -1
  17. package/dist/cli/commands/variables.js +1 -0
  18. package/dist/cli/commands/variables.js.map +1 -1
  19. package/dist/cli/commands/versionShow.js +2 -2
  20. package/dist/cli/commands/versionShow.js.map +1 -1
  21. package/dist/cli/engine.d.ts +6 -0
  22. package/dist/cli/engine.d.ts.map +1 -1
  23. package/dist/cli/engine.js +41 -8
  24. package/dist/cli/engine.js.map +1 -1
  25. package/dist/cli/output/diffRenderer.d.ts +4 -0
  26. package/dist/cli/output/diffRenderer.d.ts.map +1 -0
  27. package/dist/cli/output/diffRenderer.js +102 -0
  28. package/dist/cli/output/diffRenderer.js.map +1 -0
  29. package/dist/cli/router.d.ts.map +1 -1
  30. package/dist/cli/router.js +1 -0
  31. package/dist/cli/router.js.map +1 -1
  32. package/dist/cli/storage/analysis.d.ts +3 -3
  33. package/dist/cli/storage/analysis.d.ts.map +1 -1
  34. package/dist/cli/storage/analysis.js +3 -3
  35. package/dist/cli/storage/analysis.js.map +1 -1
  36. package/dist/cli/storage/arguments.d.ts +5 -5
  37. package/dist/cli/storage/arguments.d.ts.map +1 -1
  38. package/dist/cli/storage/arguments.js +3 -3
  39. package/dist/cli/storage/arguments.js.map +1 -1
  40. package/dist/cli/storage/premises.d.ts +5 -5
  41. package/dist/cli/storage/premises.d.ts.map +1 -1
  42. package/dist/cli/storage/premises.js +3 -3
  43. package/dist/cli/storage/premises.js.map +1 -1
  44. package/dist/cli/storage/roles.d.ts +3 -3
  45. package/dist/cli/storage/roles.d.ts.map +1 -1
  46. package/dist/cli/storage/roles.js +2 -2
  47. package/dist/cli/storage/roles.js.map +1 -1
  48. package/dist/cli/storage/variables.d.ts +3 -3
  49. package/dist/cli/storage/variables.d.ts.map +1 -1
  50. package/dist/cli/storage/variables.js +2 -2
  51. package/dist/cli/storage/variables.js.map +1 -1
  52. package/dist/cli.js +7 -5
  53. package/dist/cli.js.map +1 -1
  54. package/dist/index.d.ts +13 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +12 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/core/ArgumentEngine.d.ts +90 -12
  59. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  60. package/dist/lib/core/ArgumentEngine.js +104 -20
  61. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  62. package/dist/lib/core/ExpressionManager.d.ts +60 -8
  63. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  64. package/dist/lib/core/ExpressionManager.js +52 -3
  65. package/dist/lib/core/ExpressionManager.js.map +1 -1
  66. package/dist/lib/core/PremiseManager.d.ts +43 -23
  67. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  68. package/dist/lib/core/PremiseManager.js +65 -37
  69. package/dist/lib/core/PremiseManager.js.map +1 -1
  70. package/dist/lib/core/VariableManager.d.ts +39 -6
  71. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  72. package/dist/lib/core/VariableManager.js +26 -0
  73. package/dist/lib/core/VariableManager.js.map +1 -1
  74. package/dist/lib/core/diff.d.ts +20 -0
  75. package/dist/lib/core/diff.d.ts.map +1 -0
  76. package/dist/lib/core/diff.js +213 -0
  77. package/dist/lib/core/diff.js.map +1 -0
  78. package/dist/lib/core/evaluation/shared.d.ts +19 -5
  79. package/dist/lib/core/evaluation/shared.d.ts.map +1 -1
  80. package/dist/lib/core/evaluation/shared.js +34 -2
  81. package/dist/lib/core/evaluation/shared.js.map +1 -1
  82. package/dist/lib/core/import.d.ts +14 -0
  83. package/dist/lib/core/import.d.ts.map +1 -0
  84. package/dist/lib/core/import.js +217 -0
  85. package/dist/lib/core/import.js.map +1 -0
  86. package/dist/lib/core/parser/formula-gen.js +850 -0
  87. package/dist/lib/core/parser/formula.d.ts +23 -0
  88. package/dist/lib/core/parser/formula.d.ts.map +1 -0
  89. package/dist/lib/core/parser/formula.js +7 -0
  90. package/dist/lib/core/parser/formula.js.map +1 -0
  91. package/dist/lib/index.d.ts +9 -0
  92. package/dist/lib/index.d.ts.map +1 -1
  93. package/dist/lib/index.js +8 -0
  94. package/dist/lib/index.js.map +1 -1
  95. package/dist/lib/schemata/analysis.d.ts +4 -3
  96. package/dist/lib/schemata/analysis.d.ts.map +1 -1
  97. package/dist/lib/schemata/analysis.js +6 -3
  98. package/dist/lib/schemata/analysis.js.map +1 -1
  99. package/dist/lib/schemata/argument.d.ts +25 -16
  100. package/dist/lib/schemata/argument.d.ts.map +1 -1
  101. package/dist/lib/schemata/argument.js +21 -13
  102. package/dist/lib/schemata/argument.js.map +1 -1
  103. package/dist/lib/schemata/import.d.ts +33 -0
  104. package/dist/lib/schemata/import.d.ts.map +1 -0
  105. package/dist/lib/schemata/import.js +18 -0
  106. package/dist/lib/schemata/import.js.map +1 -0
  107. package/dist/lib/schemata/index.d.ts +1 -0
  108. package/dist/lib/schemata/index.d.ts.map +1 -1
  109. package/dist/lib/schemata/index.js +1 -0
  110. package/dist/lib/schemata/index.js.map +1 -1
  111. package/dist/lib/schemata/propositional.d.ts +34 -25
  112. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  113. package/dist/lib/schemata/propositional.js +41 -33
  114. package/dist/lib/schemata/propositional.js.map +1 -1
  115. package/dist/lib/types/diff.d.ts +56 -0
  116. package/dist/lib/types/diff.d.ts.map +1 -0
  117. package/dist/lib/types/diff.js +2 -0
  118. package/dist/lib/types/diff.js.map +1 -0
  119. package/dist/lib/types/evaluation.d.ts +128 -61
  120. package/dist/lib/types/evaluation.d.ts.map +1 -1
  121. package/dist/lib/utils/collections.d.ts +6 -0
  122. package/dist/lib/utils/collections.d.ts.map +1 -1
  123. package/dist/lib/utils/collections.js +6 -0
  124. package/dist/lib/utils/collections.js.map +1 -1
  125. package/dist/lib/utils.d.ts +7 -0
  126. package/dist/lib/utils.d.ts.map +1 -1
  127. package/dist/lib/utils.js +7 -5
  128. package/dist/lib/utils.js.map +1 -1
  129. package/package.json +15 -3
@@ -1 +1 @@
1
- {"version":3,"file":"propositional.js","sourceRoot":"","sources":["../../../src/lib/schemata/propositional.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propositional.js","sourceRoot":"","sources":["../../../src/lib/schemata/propositional.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable } from "../schemata/index.js";
2
+ /** A single field-level change on an entity. */
3
+ export interface TCoreFieldChange {
4
+ field: string;
5
+ before: unknown;
6
+ after: unknown;
7
+ }
8
+ /** Field-level diff for a single matched entity. */
9
+ export interface TCoreEntityFieldDiff<T> {
10
+ before: T;
11
+ after: T;
12
+ changes: TCoreFieldChange[];
13
+ }
14
+ /** Set-level diff for a collection of ID-keyed entities. */
15
+ export interface TCoreEntitySetDiff<T extends {
16
+ id: string;
17
+ }> {
18
+ added: T[];
19
+ removed: T[];
20
+ modified: TCoreEntityFieldDiff<T>[];
21
+ }
22
+ /** Premise diff includes nested expression diffs. */
23
+ export interface TCorePremiseDiff extends TCoreEntityFieldDiff<TCorePremise> {
24
+ expressions: TCoreEntitySetDiff<TCorePropositionalExpression>;
25
+ }
26
+ export interface TCorePremiseSetDiff {
27
+ added: TCorePremise[];
28
+ removed: TCorePremise[];
29
+ modified: TCorePremiseDiff[];
30
+ }
31
+ /** Role changes between two argument versions. */
32
+ export interface TCoreRoleDiff {
33
+ conclusion: {
34
+ before: string | undefined;
35
+ after: string | undefined;
36
+ };
37
+ supportingAdded: string[];
38
+ supportingRemoved: string[];
39
+ }
40
+ /** Top-level diff result from `diffArguments`. */
41
+ export interface TCoreArgumentDiff {
42
+ argument: TCoreEntityFieldDiff<TCoreArgument>;
43
+ variables: TCoreEntitySetDiff<TCorePropositionalVariable>;
44
+ premises: TCorePremiseSetDiff;
45
+ roles: TCoreRoleDiff;
46
+ }
47
+ /** A comparator receives two matched objects and returns field-level changes. */
48
+ export type TCoreFieldComparator<T> = (before: T, after: T) => TCoreFieldChange[];
49
+ /** Per-entity comparator overrides for `diffArguments`. */
50
+ export interface TCoreDiffOptions {
51
+ compareArgument?: TCoreFieldComparator<TCoreArgument>;
52
+ compareVariable?: TCoreFieldComparator<TCorePropositionalVariable>;
53
+ comparePremise?: TCoreFieldComparator<TCorePremise>;
54
+ compareExpression?: TCoreFieldComparator<TCorePropositionalExpression>;
55
+ }
56
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/lib/types/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC7B,MAAM,sBAAsB,CAAA;AAE7B,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,CAAA;IACT,KAAK,EAAE,CAAC,CAAA;IACR,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC9B;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACxD,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAA;CACtC;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IACxE,WAAW,EAAE,kBAAkB,CAAC,4BAA4B,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACrE,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAA;IAC7C,SAAS,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;IACzD,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,KAAK,EAAE,aAAa,CAAA;CACvB;AAED,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAClC,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,KACP,gBAAgB,EAAE,CAAA;AAEvB,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC7B,eAAe,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACrD,eAAe,CAAC,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;IAClE,cAAc,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAA;IACnD,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,4BAA4B,CAAC,CAAA;CACzE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/lib/types/diff.ts"],"names":[],"mappings":""}
@@ -1,105 +1,172 @@
1
- import type { TArgument, TArgumentRoleState, TPremise } from "../schemata/index.js";
2
- export type TPremiseRole = "supporting" | "conclusion";
3
- export type { TArgumentRoleState };
4
- export interface TArgumentEngineData {
5
- argument: TArgument;
6
- premises: TPremise[];
7
- roles: TArgumentRoleState;
1
+ import type { TCoreArgument, TCoreArgumentRoleState, TCorePremise } from "../schemata/index.js";
2
+ /** Role that a premise plays in an argument. */
3
+ export type TCorePremiseRole = "supporting" | "conclusion";
4
+ export type { TCoreArgumentRoleState };
5
+ export interface TCoreArgumentEngineData {
6
+ /** Snapshot of the argument metadata managed by the engine. */
7
+ argument: TCoreArgument;
8
+ /** Serialized premise snapshots (one per premise manager). */
9
+ premises: TCorePremise[];
10
+ /** Current role assignments for the premises in this engine. */
11
+ roles: TCoreArgumentRoleState;
8
12
  }
9
- export type TVariableAssignment = Record<string, boolean>;
10
- export type TValidationSeverity = "error" | "warning";
11
- export type TValidationCode = "ARGUMENT_NO_CONCLUSION" | "ARGUMENT_CONCLUSION_NOT_FOUND" | "ARGUMENT_SUPPORTING_PREMISE_NOT_FOUND" | "ARGUMENT_ROLE_OVERLAP" | "ARGUMENT_VARIABLE_ID_SYMBOL_MISMATCH" | "ARGUMENT_VARIABLE_SYMBOL_AMBIGUOUS" | "PREMISE_EMPTY" | "PREMISE_ROOT_MISSING" | "PREMISE_ROOT_MISMATCH" | "EXPR_CHILD_COUNT_INVALID" | "EXPR_BINARY_POSITIONS_INVALID" | "EXPR_VARIABLE_UNDECLARED" | "ASSIGNMENT_MISSING_VARIABLE" | "ASSIGNMENT_UNKNOWN_VARIABLE";
12
- export interface TValidationIssue {
13
- code: TValidationCode;
14
- severity: TValidationSeverity;
13
+ /** Three-valued truth value: true, false, or null (unset/unknown). */
14
+ export type TCoreTrivalentValue = boolean | null;
15
+ /** Maps variable IDs to three-valued truth values. */
16
+ export type TCoreVariableAssignment = Record<string, TCoreTrivalentValue>;
17
+ /** Full expression assignment: variable truth values and rejected expression IDs. */
18
+ export interface TCoreExpressionAssignment {
19
+ /** Variable ID → true/false/null (null = unset/not sure). */
20
+ variables: TCoreVariableAssignment;
21
+ /** Expression IDs the user rejects (evaluate to false, children skipped). */
22
+ rejectedExpressionIds: string[];
23
+ }
24
+ /** Severity level for validation issues. */
25
+ export type TCoreValidationSeverity = "error" | "warning";
26
+ /** Machine-readable codes for all validation issues. */
27
+ export type TCoreValidationCode = "ARGUMENT_NO_CONCLUSION" | "ARGUMENT_CONCLUSION_NOT_FOUND" | "ARGUMENT_SUPPORTING_PREMISE_NOT_FOUND" | "ARGUMENT_ROLE_OVERLAP" | "ARGUMENT_VARIABLE_ID_SYMBOL_MISMATCH" | "ARGUMENT_VARIABLE_SYMBOL_AMBIGUOUS" | "PREMISE_EMPTY" | "PREMISE_ROOT_MISSING" | "PREMISE_ROOT_MISMATCH" | "EXPR_CHILD_COUNT_INVALID" | "EXPR_BINARY_POSITIONS_INVALID" | "EXPR_VARIABLE_UNDECLARED" | "ASSIGNMENT_MISSING_VARIABLE" | "ASSIGNMENT_UNKNOWN_VARIABLE";
28
+ export interface TCoreValidationIssue {
29
+ /** Machine-readable issue code for callers/tests/UI logic. */
30
+ code: TCoreValidationCode;
31
+ /** Severity level; `error` blocks evaluation/validity checks. */
32
+ severity: TCoreValidationSeverity;
33
+ /** Human-readable explanation of the issue. */
15
34
  message: string;
35
+ /** Premise associated with the issue, when applicable. */
16
36
  premiseId?: string;
37
+ /** Expression associated with the issue, when applicable. */
17
38
  expressionId?: string;
39
+ /** Variable associated with the issue, when applicable. */
18
40
  variableId?: string;
19
41
  }
20
- export interface TValidationResult {
42
+ export interface TCoreValidationResult {
43
+ /** `true` iff no `error`-severity issues are present. */
21
44
  ok: boolean;
22
- issues: TValidationIssue[];
45
+ /** Full list of validation findings (errors and warnings). */
46
+ issues: TCoreValidationIssue[];
23
47
  }
24
- export interface TDirectionalVacuity {
25
- antecedentTrue: boolean;
26
- consequentTrue: boolean;
27
- implicationValue: boolean;
28
- isVacuouslyTrue: boolean;
29
- fired: boolean;
48
+ export interface TCoreDirectionalVacuity {
49
+ /** Truth value of the antecedent for this directional implication view. */
50
+ antecedentTrue: TCoreTrivalentValue;
51
+ /** Truth value of the consequent for this directional implication view. */
52
+ consequentTrue: TCoreTrivalentValue;
53
+ /** Result of evaluating `antecedent -> consequent`. */
54
+ implicationValue: TCoreTrivalentValue;
55
+ /** `true` iff the implication is true because the antecedent is false; `null` if indeterminate. */
56
+ isVacuouslyTrue: TCoreTrivalentValue;
57
+ /** `true` iff the antecedent was true (the implication "fired"); `null` if indeterminate. */
58
+ fired: TCoreTrivalentValue;
30
59
  }
31
- export type TPremiseInferenceDiagnostic = {
60
+ export type TCorePremiseInferenceDiagnostic = {
32
61
  kind: "implies";
33
62
  premiseId: string;
34
63
  rootExpressionId: string;
35
- leftValue: boolean;
36
- rightValue: boolean;
37
- rootValue: boolean;
38
- antecedentTrue: boolean;
39
- consequentTrue: boolean;
40
- isVacuouslyTrue: boolean;
41
- fired: boolean;
42
- firedAndHeld: boolean;
64
+ leftValue: TCoreTrivalentValue;
65
+ rightValue: TCoreTrivalentValue;
66
+ rootValue: TCoreTrivalentValue;
67
+ antecedentTrue: TCoreTrivalentValue;
68
+ consequentTrue: TCoreTrivalentValue;
69
+ isVacuouslyTrue: TCoreTrivalentValue;
70
+ fired: TCoreTrivalentValue;
71
+ firedAndHeld: TCoreTrivalentValue;
43
72
  } | {
44
73
  kind: "iff";
45
74
  premiseId: string;
46
75
  rootExpressionId: string;
47
- leftValue: boolean;
48
- rightValue: boolean;
49
- rootValue: boolean;
50
- leftToRight: TDirectionalVacuity;
51
- rightToLeft: TDirectionalVacuity;
52
- bothSidesTrue: boolean;
53
- bothSidesFalse: boolean;
76
+ leftValue: TCoreTrivalentValue;
77
+ rightValue: TCoreTrivalentValue;
78
+ rootValue: TCoreTrivalentValue;
79
+ leftToRight: TCoreDirectionalVacuity;
80
+ rightToLeft: TCoreDirectionalVacuity;
81
+ bothSidesTrue: TCoreTrivalentValue;
82
+ bothSidesFalse: TCoreTrivalentValue;
54
83
  };
55
- export interface TPremiseEvaluationResult {
84
+ export interface TCorePremiseEvaluationResult {
85
+ /** ID of the evaluated premise. */
56
86
  premiseId: string;
87
+ /** Premise classification derived from the root expression. */
57
88
  premiseType: "inference" | "constraint";
89
+ /** Root expression ID, if the premise has a root. */
58
90
  rootExpressionId?: string;
59
- rootValue?: boolean;
60
- expressionValues: Record<string, boolean>;
61
- variableValues: Record<string, boolean>;
62
- inferenceDiagnostic?: TPremiseInferenceDiagnostic;
91
+ /** Truth value of the root expression, if the premise was evaluable. */
92
+ rootValue?: TCoreTrivalentValue;
93
+ /** Per-expression truth values keyed by expression ID. */
94
+ expressionValues: Record<string, TCoreTrivalentValue>;
95
+ /** Referenced variable truth values keyed by variable ID. */
96
+ variableValues: Record<string, TCoreTrivalentValue>;
97
+ /** Inference-specific diagnostics for `implies`/`iff` roots. */
98
+ inferenceDiagnostic?: TCorePremiseInferenceDiagnostic;
63
99
  }
64
- export interface TArgumentEvaluationOptions {
100
+ export interface TCoreArgumentEvaluationOptions {
101
+ /** Reject assignment keys that are not referenced by the evaluated premises. */
65
102
  strictUnknownAssignmentKeys?: boolean;
103
+ /** Include per-expression truth maps in premise results (may be verbose). */
66
104
  includeExpressionValues?: boolean;
105
+ /** Include inference diagnostics in premise results. */
67
106
  includeDiagnostics?: boolean;
107
+ /** Run argument/premise evaluability validation before evaluating. */
68
108
  validateFirst?: boolean;
69
109
  }
70
- export interface TArgumentEvaluationResult {
110
+ export interface TCoreArgumentEvaluationResult {
111
+ /** `false` means evaluation could not be completed (typically validation failure). */
71
112
  ok: boolean;
72
- validation?: TValidationResult;
73
- assignment?: TVariableAssignment;
113
+ /** Validation output when `ok === false`, or when validation was requested and included. */
114
+ validation?: TCoreValidationResult;
115
+ /** The assignment used for this evaluation. */
116
+ assignment?: TCoreExpressionAssignment;
117
+ /** All variable IDs referenced across evaluated supporting/conclusion/constraint premises. */
74
118
  referencedVariableIds?: string[];
75
- conclusion?: TPremiseEvaluationResult;
76
- supportingPremises?: TPremiseEvaluationResult[];
77
- constraintPremises?: TPremiseEvaluationResult[];
78
- isAdmissibleAssignment?: boolean;
79
- allSupportingPremisesTrue?: boolean;
80
- conclusionTrue?: boolean;
81
- isCounterexample?: boolean;
82
- preservesTruthUnderAssignment?: boolean;
119
+ /** Evaluation result for the designated conclusion premise. */
120
+ conclusion?: TCorePremiseEvaluationResult;
121
+ /** Evaluation results for premises designated as supporting the argument. */
122
+ supportingPremises?: TCorePremiseEvaluationResult[];
123
+ /** Evaluation results for constraint premises (used to determine admissibility). */
124
+ constraintPremises?: TCorePremiseEvaluationResult[];
125
+ /** `true` iff all constraint premises evaluate to true under the assignment. */
126
+ isAdmissibleAssignment?: TCoreTrivalentValue;
127
+ /** `true` iff every supporting premise evaluates to true. */
128
+ allSupportingPremisesTrue?: TCoreTrivalentValue;
129
+ /** The truth value of the conclusion premise root expression. */
130
+ conclusionTrue?: TCoreTrivalentValue;
131
+ /** `true` iff constraints are satisfied, all supporting premises are true, and the conclusion is false. */
132
+ isCounterexample?: TCoreTrivalentValue;
133
+ /** Convenience inverse of `isCounterexample` for the evaluated assignment. */
134
+ preservesTruthUnderAssignment?: TCoreTrivalentValue;
83
135
  }
84
- export interface TValidityCheckOptions {
136
+ export interface TCoreValidityCheckOptions {
137
+ /** Stop at first counterexample or continue exhaustively. */
85
138
  mode?: "firstCounterexample" | "exhaustive";
139
+ /** Safety limit for the number of variables used in truth-table generation. */
86
140
  maxVariables?: number;
141
+ /** Safety limit for generated assignments checked before truncating. */
87
142
  maxAssignmentsChecked?: number;
143
+ /** Include full evaluation payloads for captured counterexamples. */
88
144
  includeCounterexampleEvaluations?: boolean;
145
+ /** Run evaluability validation before truth-table search. */
89
146
  validateFirst?: boolean;
90
147
  }
91
- export interface TCounterexample {
92
- assignment: TVariableAssignment;
93
- result: TArgumentEvaluationResult;
148
+ export interface TCoreCounterexample {
149
+ /** Assignment under which the argument fails to preserve truth. */
150
+ assignment: TCoreExpressionAssignment;
151
+ /** Full argument evaluation result for that assignment. */
152
+ result: TCoreArgumentEvaluationResult;
94
153
  }
95
- export interface TValidityCheckResult {
154
+ export interface TCoreValidityCheckResult {
155
+ /** `false` means the validity check could not run to completion. */
96
156
  ok: boolean;
97
- validation?: TValidationResult;
157
+ /** Validation output when `ok === false`. */
158
+ validation?: TCoreValidationResult;
159
+ /** Validity result when known; may be omitted if truncated before conclusion. */
98
160
  isValid?: boolean;
161
+ /** Variable IDs used to generate the checked assignments. */
99
162
  checkedVariableIds?: string[];
163
+ /** Total number of assignments evaluated (including inadmissible ones). */
100
164
  numAssignmentsChecked?: number;
165
+ /** Number of assignments satisfying all constraints. */
101
166
  numAdmissibleAssignments?: number;
102
- counterexamples?: TCounterexample[];
167
+ /** Counterexamples found (one or many depending on mode/options). */
168
+ counterexamples?: TCoreCounterexample[];
169
+ /** `true` iff checking stopped due to a configured limit. */
103
170
  truncated?: boolean;
104
171
  }
105
172
  //# sourceMappingURL=evaluation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/lib/types/evaluation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
+ /**
2
+ * Returns the value for `key` from `map`, creating and inserting it via
3
+ * `makeDefault` if absent.
4
+ */
1
5
  export declare function getOrCreate<K, V>(map: Map<K, V>, key: K, makeDefault: () => V): V;
6
+ /** Returns a shallow-copied array of items sorted by `id` in lexicographic order. */
2
7
  export declare function sortedCopyById<T extends {
3
8
  id: string;
4
9
  }>(items: T[]): T[];
10
+ /** Deduplicates and sorts an iterable of strings. */
5
11
  export declare function sortedUnique(values: Iterable<string>): string[];
6
12
  //# sourceMappingURL=collections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/collections.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EACN,WAAW,EAAE,MAAM,CAAC,GACrB,CAAC,CASH;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAIxE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE/D"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EACN,WAAW,EAAE,MAAM,CAAC,GACrB,CAAC,CASH;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAIxE;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE/D"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Returns the value for `key` from `map`, creating and inserting it via
3
+ * `makeDefault` if absent.
4
+ */
1
5
  export function getOrCreate(map, key, makeDefault) {
2
6
  const existing = map.get(key);
3
7
  if (existing !== undefined) {
@@ -7,11 +11,13 @@ export function getOrCreate(map, key, makeDefault) {
7
11
  map.set(key, value);
8
12
  return value;
9
13
  }
14
+ /** Returns a shallow-copied array of items sorted by `id` in lexicographic order. */
10
15
  export function sortedCopyById(items) {
11
16
  return [...items]
12
17
  .map((item) => ({ ...item }))
13
18
  .sort((a, b) => a.id.localeCompare(b.id));
14
19
  }
20
+ /** Deduplicates and sorts an iterable of strings. */
15
21
  export function sortedUnique(values) {
16
22
  return Array.from(new Set(values)).sort((a, b) => a.localeCompare(b));
17
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/lib/utils/collections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CACvB,GAAc,EACd,GAAM,EACN,WAAoB;IAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;IAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACnB,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAA2B,KAAU;IAC/D,OAAO,CAAC,GAAG,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAwB;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC"}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/lib/utils/collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CACvB,GAAc,EACd,GAAM,EACN,WAAoB;IAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;IAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACnB,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAA2B,KAAU;IAC/D,OAAO,CAAC,GAAG,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,YAAY,CAAC,MAAwB;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC"}
@@ -1,9 +1,16 @@
1
1
  type DefaultValueFactory<K, V> = (key?: K) => V;
2
+ /**
3
+ * A `Map` subclass that auto-creates values for missing keys using a
4
+ * factory function. Optionally enforces an LRU-style size limit by
5
+ * evicting the oldest entry when the limit is reached.
6
+ */
2
7
  export declare class DefaultMap<K, V> extends Map<K, V> {
3
8
  private mkDefault;
4
9
  private limit;
5
10
  constructor(mkDefault: DefaultValueFactory<K, V>, entries?: Iterable<[K, V]>, limit?: number);
11
+ /** Returns the value for `key`, creating it via the factory if absent. */
6
12
  get(key: K): V;
13
+ /** Sets `key` to `value`, evicting the oldest entry if the size limit is reached. */
7
14
  set(key: K, value: V): this;
8
15
  }
9
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,KAAK,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;AAC/C,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,KAAK,CAAQ;gBAGjB,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,KAAK,SAAK;IAYP,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAOd,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;CAS9B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,KAAK,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;AAE/C;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,KAAK,CAAQ;gBAGjB,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EACpC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,KAAK,SAAK;IAOd,0EAA0E;IACnE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAOrB,qFAAqF;IAC9E,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;CAS9B"}
package/dist/lib/utils.js CHANGED
@@ -1,22 +1,24 @@
1
+ /**
2
+ * A `Map` subclass that auto-creates values for missing keys using a
3
+ * factory function. Optionally enforces an LRU-style size limit by
4
+ * evicting the oldest entry when the limit is reached.
5
+ */
1
6
  export class DefaultMap extends Map {
2
7
  mkDefault;
3
8
  limit;
4
9
  constructor(mkDefault, entries, limit = -1) {
5
- /**
6
- * mkDefault is a function which (optionally) takes one argument, a value passed as the key,
7
- * and returns a value which to use if that key is not present in the map. The function may
8
- * throw an error if the key is invalid or forbidden to limit the scope of values in the map.
9
- */
10
10
  super(entries);
11
11
  this.mkDefault = mkDefault;
12
12
  this.limit = limit;
13
13
  }
14
+ /** Returns the value for `key`, creating it via the factory if absent. */
14
15
  get(key) {
15
16
  if (!this.has(key)) {
16
17
  this.set(key, this.mkDefault(key));
17
18
  }
18
19
  return super.get(key);
19
20
  }
21
+ /** Sets `key` to `value`, evicting the oldest entry if the size limit is reached. */
20
22
  set(key, value) {
21
23
  if (this.limit >= 0 && this.size + 1 >= this.limit) {
22
24
  // Remove the oldest entry when the limit is reached
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,UAAiB,SAAQ,GAAS;IACnC,SAAS,CAA2B;IACpC,KAAK,CAAQ;IAErB,YACI,SAAoC,EACpC,OAA0B,EAC1B,KAAK,GAAG,CAAC,CAAC;QAEV;;;;WAIG;QACH,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,GAAG,CAAC,GAAM;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IAC1B,CAAC;IAEM,GAAG,CAAC,GAAM,EAAE,KAAQ;QACvB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjD,oDAAoD;YACpD,mFAAmF;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC1C,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;CACJ"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,UAAiB,SAAQ,GAAS;IACnC,SAAS,CAA2B;IACpC,KAAK,CAAQ;IAErB,YACI,SAAoC,EACpC,OAA0B,EAC1B,KAAK,GAAG,CAAC,CAAC;QAEV,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,0EAA0E;IACnE,GAAG,CAAC,GAAM;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IAC1B,CAAC;IAED,qFAAqF;IAC9E,GAAG,CAAC,GAAM,EAAE,KAAQ;QACvB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjD,oDAAoD;YACpD,mFAAmF;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC1C,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,8 +1,16 @@
1
1
  {
2
2
  "name": "@polintpro/proposit-core",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Core engine for building and manipulating propositional logic arguments.",
5
5
  "license": "MIT",
6
+ "keywords": [
7
+ "propositional-logic",
8
+ "logic-engine",
9
+ "argument",
10
+ "validation",
11
+ "formal-logic"
12
+ ],
13
+ "homepage": "https://github.com/polintpro/proposit-core",
6
14
  "type": "module",
7
15
  "main": "./dist/index.js",
8
16
  "types": "./dist/index.d.ts",
@@ -13,7 +21,7 @@
13
21
  }
14
22
  },
15
23
  "bin": {
16
- "core": "./dist/cli.js"
24
+ "proposit-core": "./dist/cli.js"
17
25
  },
18
26
  "files": [
19
27
  "dist"
@@ -26,9 +34,11 @@
26
34
  "access": "public"
27
35
  },
28
36
  "devDependencies": {
37
+ "@types/js-yaml": "^4.0.9",
29
38
  "@types/node": "^25.2.3",
30
39
  "eslint": "^9.39.2",
31
40
  "globals": "^16.5.0",
41
+ "peggy": "^5.0.6",
32
42
  "prettier": "^3.8.1",
33
43
  "typescript": "^5.9.3",
34
44
  "typescript-eslint": "^8.55.0",
@@ -36,10 +46,12 @@
36
46
  },
37
47
  "dependencies": {
38
48
  "commander": "^14.0.3",
49
+ "js-yaml": "^4.1.1",
39
50
  "typebox": "^1.1.0"
40
51
  },
41
52
  "scripts": {
42
- "build": "pnpm tsc -p tsconfig.build.json",
53
+ "generate:parser": "peggy --format es -o src/lib/core/parser/formula-gen.js src/lib/core/parser/formula.peggy",
54
+ "build": "pnpm run generate:parser && pnpm tsc -p tsconfig.build.json && cp src/lib/core/parser/formula-gen.js dist/lib/core/parser/formula-gen.js",
43
55
  "typecheck": "pnpm tsc -p tsconfig.json",
44
56
  "lint": "pnpm run prettify:check && pnpm eslint .",
45
57
  "prettify": "pnpm prettier -w .",