@proposit/proposit-core 0.12.1 → 1.0.0

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 (175) hide show
  1. package/README.md +104 -93
  2. package/dist/cli/commands/premises.d.ts.map +1 -1
  3. package/dist/cli/commands/premises.js +28 -24
  4. package/dist/cli/commands/premises.js.map +1 -1
  5. package/dist/cli/commands/repair.d.ts.map +1 -1
  6. package/dist/cli/commands/repair.js +4 -2
  7. package/dist/cli/commands/repair.js.map +1 -1
  8. package/dist/cli/commands/validate.d.ts.map +1 -1
  9. package/dist/cli/commands/validate.js +7 -1
  10. package/dist/cli/commands/validate.js.map +1 -1
  11. package/dist/cli/engine.d.ts.map +1 -1
  12. package/dist/cli/engine.js +7 -25
  13. package/dist/cli/engine.js.map +1 -1
  14. package/dist/cli/import.d.ts.map +1 -1
  15. package/dist/cli/import.js +66 -28
  16. package/dist/cli/import.js.map +1 -1
  17. package/dist/cli/schemata.d.ts.map +1 -1
  18. package/dist/cli/schemata.js +4 -3
  19. package/dist/cli/schemata.js.map +1 -1
  20. package/dist/extensions/basics/schemata.d.ts +56 -2
  21. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  22. package/dist/extensions/basics/schemata.js +54 -23
  23. package/dist/extensions/basics/schemata.js.map +1 -1
  24. package/dist/lib/core/argument-engine.d.ts +275 -10
  25. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  26. package/dist/lib/core/argument-engine.js +442 -82
  27. package/dist/lib/core/argument-engine.js.map +1 -1
  28. package/dist/lib/core/argument-library.d.ts +5 -1
  29. package/dist/lib/core/argument-library.d.ts.map +1 -1
  30. package/dist/lib/core/argument-library.js +7 -3
  31. package/dist/lib/core/argument-library.js.map +1 -1
  32. package/dist/lib/core/claim-axiom-library.d.ts +3 -3
  33. package/dist/lib/core/claim-axiom-library.d.ts.map +1 -1
  34. package/dist/lib/core/claim-axiom-library.js +2 -2
  35. package/dist/lib/core/claim-axiom-library.js.map +1 -1
  36. package/dist/lib/core/claim-citation-library.d.ts +3 -3
  37. package/dist/lib/core/claim-citation-library.d.ts.map +1 -1
  38. package/dist/lib/core/claim-citation-library.js +2 -2
  39. package/dist/lib/core/claim-citation-library.js.map +1 -1
  40. package/dist/lib/core/expression-manager.d.ts +68 -73
  41. package/dist/lib/core/expression-manager.d.ts.map +1 -1
  42. package/dist/lib/core/expression-manager.js +242 -762
  43. package/dist/lib/core/expression-manager.js.map +1 -1
  44. package/dist/lib/core/fork.d.ts +5 -1
  45. package/dist/lib/core/fork.d.ts.map +1 -1
  46. package/dist/lib/core/fork.js +16 -6
  47. package/dist/lib/core/fork.js.map +1 -1
  48. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +68 -7
  49. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  50. package/dist/lib/core/interfaces/library.interfaces.d.ts +9 -6
  51. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  52. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +50 -47
  53. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
  54. package/dist/lib/core/premise-engine.d.ts +80 -11
  55. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  56. package/dist/lib/core/premise-engine.js +232 -80
  57. package/dist/lib/core/premise-engine.js.map +1 -1
  58. package/dist/lib/core/proposit-core.d.ts +5 -5
  59. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  60. package/dist/lib/core/proposit-core.js +13 -3
  61. package/dist/lib/core/proposit-core.js.map +1 -1
  62. package/dist/lib/grammar/an-rules.d.ts +158 -0
  63. package/dist/lib/grammar/an-rules.d.ts.map +1 -0
  64. package/dist/lib/grammar/an-rules.js +778 -0
  65. package/dist/lib/grammar/an-rules.js.map +1 -0
  66. package/dist/lib/grammar/auto-normalize.d.ts +14 -0
  67. package/dist/lib/grammar/auto-normalize.d.ts.map +1 -0
  68. package/dist/lib/grammar/auto-normalize.js +35 -0
  69. package/dist/lib/grammar/auto-normalize.js.map +1 -0
  70. package/dist/lib/grammar/bounded-subtree.d.ts +30 -0
  71. package/dist/lib/grammar/bounded-subtree.d.ts.map +1 -0
  72. package/dist/lib/grammar/bounded-subtree.js +74 -0
  73. package/dist/lib/grammar/bounded-subtree.js.map +1 -0
  74. package/dist/lib/grammar/naked-q.d.ts +20 -0
  75. package/dist/lib/grammar/naked-q.d.ts.map +1 -0
  76. package/dist/lib/grammar/naked-q.js +58 -0
  77. package/dist/lib/grammar/naked-q.js.map +1 -0
  78. package/dist/lib/grammar/normalize.d.ts +12 -0
  79. package/dist/lib/grammar/normalize.d.ts.map +1 -0
  80. package/dist/lib/grammar/normalize.js +45 -0
  81. package/dist/lib/grammar/normalize.js.map +1 -0
  82. package/dist/lib/grammar/populate-from.d.ts +25 -0
  83. package/dist/lib/grammar/populate-from.d.ts.map +1 -0
  84. package/dist/lib/grammar/populate-from.js +252 -0
  85. package/dist/lib/grammar/populate-from.js.map +1 -0
  86. package/dist/lib/grammar/repair.d.ts +65 -0
  87. package/dist/lib/grammar/repair.d.ts.map +1 -0
  88. package/dist/lib/grammar/repair.js +251 -0
  89. package/dist/lib/grammar/repair.js.map +1 -0
  90. package/dist/lib/grammar/types.d.ts +17 -0
  91. package/dist/lib/grammar/types.d.ts.map +1 -0
  92. package/dist/lib/grammar/types.js +82 -0
  93. package/dist/lib/grammar/types.js.map +1 -0
  94. package/dist/lib/grammar/validate.d.ts +4 -0
  95. package/dist/lib/grammar/validate.d.ts.map +1 -0
  96. package/dist/lib/grammar/validate.js +28 -0
  97. package/dist/lib/grammar/validate.js.map +1 -0
  98. package/dist/lib/grammar/validators/context.d.ts +11 -0
  99. package/dist/lib/grammar/validators/context.d.ts.map +1 -0
  100. package/dist/lib/grammar/validators/context.js +5 -0
  101. package/dist/lib/grammar/validators/context.js.map +1 -0
  102. package/dist/lib/grammar/validators/derivable.d.ts +63 -0
  103. package/dist/lib/grammar/validators/derivable.d.ts.map +1 -0
  104. package/dist/lib/grammar/validators/derivable.js +502 -0
  105. package/dist/lib/grammar/validators/derivable.js.map +1 -0
  106. package/dist/lib/grammar/validators/evaluable.d.ts +48 -0
  107. package/dist/lib/grammar/validators/evaluable.d.ts.map +1 -0
  108. package/dist/lib/grammar/validators/evaluable.js +226 -0
  109. package/dist/lib/grammar/validators/evaluable.js.map +1 -0
  110. package/dist/lib/grammar/validators/presentable.d.ts +45 -0
  111. package/dist/lib/grammar/validators/presentable.d.ts.map +1 -0
  112. package/dist/lib/grammar/validators/presentable.js +231 -0
  113. package/dist/lib/grammar/validators/presentable.js.map +1 -0
  114. package/dist/lib/grammar/validators/structural.d.ts +103 -0
  115. package/dist/lib/grammar/validators/structural.d.ts.map +1 -0
  116. package/dist/lib/grammar/validators/structural.js +602 -0
  117. package/dist/lib/grammar/validators/structural.js.map +1 -0
  118. package/dist/lib/index.d.ts +4 -3
  119. package/dist/lib/index.d.ts.map +1 -1
  120. package/dist/lib/index.js +2 -2
  121. package/dist/lib/index.js.map +1 -1
  122. package/dist/lib/parsing/argument-parser.d.ts +8 -5
  123. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  124. package/dist/lib/parsing/argument-parser.js +204 -42
  125. package/dist/lib/parsing/argument-parser.js.map +1 -1
  126. package/dist/lib/parsing/clamp-max-lengths.d.ts.map +1 -1
  127. package/dist/lib/parsing/clamp-max-lengths.js +10 -4
  128. package/dist/lib/parsing/clamp-max-lengths.js.map +1 -1
  129. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -1
  130. package/dist/lib/parsing/prompt-builder.js +13 -15
  131. package/dist/lib/parsing/prompt-builder.js.map +1 -1
  132. package/dist/lib/parsing/schemata.d.ts +0 -3
  133. package/dist/lib/parsing/schemata.d.ts.map +1 -1
  134. package/dist/lib/parsing/schemata.js +25 -13
  135. package/dist/lib/parsing/schemata.js.map +1 -1
  136. package/dist/lib/parsing/types.d.ts +1 -1
  137. package/dist/lib/parsing/types.d.ts.map +1 -1
  138. package/dist/lib/schemata/claim.d.ts +8 -0
  139. package/dist/lib/schemata/claim.d.ts.map +1 -1
  140. package/dist/lib/schemata/claim.js +17 -7
  141. package/dist/lib/schemata/claim.js.map +1 -1
  142. package/dist/lib/schemata/import.d.ts.map +1 -1
  143. package/dist/lib/schemata/import.js +2 -5
  144. package/dist/lib/schemata/import.js.map +1 -1
  145. package/dist/lib/schemata/index.d.ts +0 -2
  146. package/dist/lib/schemata/index.d.ts.map +1 -1
  147. package/dist/lib/schemata/index.js +0 -2
  148. package/dist/lib/schemata/index.js.map +1 -1
  149. package/dist/lib/types/evaluation.d.ts +1 -1
  150. package/dist/lib/types/evaluation.d.ts.map +1 -1
  151. package/dist/lib/types/fork.d.ts +12 -3
  152. package/dist/lib/types/fork.d.ts.map +1 -1
  153. package/dist/lib/types/validation.d.ts +0 -6
  154. package/dist/lib/types/validation.d.ts.map +1 -1
  155. package/dist/lib/types/validation.js +23 -6
  156. package/dist/lib/types/validation.js.map +1 -1
  157. package/dist/lib/utils/lookup.d.ts +2 -2
  158. package/dist/lib/utils/lookup.js +2 -2
  159. package/package.json +1 -1
  160. package/dist/lib/core/managed-derivation-premise-engine.d.ts +0 -172
  161. package/dist/lib/core/managed-derivation-premise-engine.d.ts.map +0 -1
  162. package/dist/lib/core/managed-derivation-premise-engine.js +0 -550
  163. package/dist/lib/core/managed-derivation-premise-engine.js.map +0 -1
  164. package/dist/lib/schemata/claim-axiom.d.ts +0 -11
  165. package/dist/lib/schemata/claim-axiom.d.ts.map +0 -1
  166. package/dist/lib/schemata/claim-axiom.js +0 -9
  167. package/dist/lib/schemata/claim-axiom.js.map +0 -1
  168. package/dist/lib/schemata/claim-citation.d.ts +0 -11
  169. package/dist/lib/schemata/claim-citation.d.ts.map +0 -1
  170. package/dist/lib/schemata/claim-citation.js +0 -9
  171. package/dist/lib/schemata/claim-citation.js.map +0 -1
  172. package/dist/lib/types/grammar.d.ts +0 -83
  173. package/dist/lib/types/grammar.d.ts.map +0 -1
  174. package/dist/lib/types/grammar.js +0 -24
  175. package/dist/lib/types/grammar.js.map +0 -1
@@ -1,83 +0,0 @@
1
- /**
2
- * Individual structural rule toggles for expression tree grammar.
3
- *
4
- * Each boolean controls whether a specific structural constraint is enforced.
5
- * When `true`, violations throw (or auto-normalize if `TGrammarConfig.autoNormalize`
6
- * is also `true` — but only for operations that support it).
7
- */
8
- export type TGrammarOptions = {
9
- /** Require a `formula` node between a parent operator and a non-`not` operator child. */
10
- enforceFormulaBetweenOperators: boolean;
11
- };
12
- /**
13
- * Granular auto-normalization flags.
14
- *
15
- * Each flag controls a specific automatic structural correction during
16
- * expression mutation operations. Using this object instead of a plain
17
- * `boolean` for `autoNormalize` allows fine-grained control over which
18
- * normalizations are applied.
19
- */
20
- export type TAutoNormalizeConfig = {
21
- /** Insert a formula node when wrapping/inserting creates operator-under-operator. */
22
- wrapInsertFormula: boolean;
23
- /** Insert a formula buffer when toggleNegation wraps a non-not operator in NOT. */
24
- negationInsertFormula: boolean;
25
- /** Collapse double negation (NOT(NOT(x)) → x) during toggleNegation and normalize. */
26
- collapseDoubleNegation: boolean;
27
- /** Collapse empty formulas/operators and promote single children after removal. */
28
- collapseEmptyFormula: boolean;
29
- /** Auto-redistribute sibling positions when a midpoint collision is detected. */
30
- repositionOnCollision: boolean;
31
- /** Absorb same-operator children through a formula after an operator swap in `updateExpression`. */
32
- absorbSameOperator: boolean;
33
- };
34
- /**
35
- * Grammar enforcement configuration for expression trees.
36
- *
37
- * Controls which structural rules are enforced and whether violations are
38
- * automatically corrected.
39
- *
40
- * **`autoNormalize` scope:** Accepts `boolean | TAutoNormalizeConfig`.
41
- *
42
- * - `true` — enables all automatic normalizations (backward compatible).
43
- * - `false` — disables all automatic normalizations (backward compatible).
44
- * - `TAutoNormalizeConfig` — granular control over individual behaviors:
45
- * - `wrapInsertFormula`: auto-insert formula buffers in `addExpression`,
46
- * `insertExpression`, and `wrapExpression`.
47
- * - `negationInsertFormula`: auto-insert a formula buffer when
48
- * `toggleNegation` wraps a non-not operator in NOT.
49
- * - `collapseDoubleNegation`: collapse NOT(NOT(x)) → x during
50
- * `toggleNegation` and `normalize`.
51
- * - `collapseEmptyFormula`: auto-collapse operators with 0/1 children
52
- * and formulas whose bounded subtree has no binary operator after
53
- * `removeExpression`.
54
- * - `repositionOnCollision`: auto-redistribute sibling positions when
55
- * a midpoint collision is detected.
56
- * - `absorbSameOperator`: when an operator swap via `updateExpression`
57
- * produces a same-operator nesting through a formula (e.g., AND →
58
- * formula → AND), absorb the inner operator's children into the
59
- * outer operator and remove the formula and inner operator.
60
- *
61
- * **Formula collapse rule:** A formula node is only justified if its bounded
62
- * subtree (stopping at the next nested formula) contains a binary operator
63
- * (`and` or `or`). Formulas wrapping only variables, `not` chains, or other
64
- * non-binary subtrees are automatically collapsed when `collapseEmptyFormula`
65
- * (or `autoNormalize: true`) is enabled.
66
- */
67
- export type TGrammarConfig = TGrammarOptions & {
68
- /** When `true`, auto-fix all violations. When an object, granular control. */
69
- autoNormalize: boolean | TAutoNormalizeConfig;
70
- };
71
- /**
72
- * Resolves a granular auto-normalize flag from the grammar config.
73
- *
74
- * - `true` → all flags enabled.
75
- * - `false` → all flags disabled.
76
- * - `TAutoNormalizeConfig` → returns the specific flag value.
77
- */
78
- export declare function resolveAutoNormalize(grammarConfig: TGrammarConfig, flag: keyof TAutoNormalizeConfig): boolean;
79
- /** Default config: all rules enforced, auto-normalize on. */
80
- export declare const DEFAULT_GRAMMAR_CONFIG: TGrammarConfig;
81
- /** Permissive config: no enforcement. Used by default in `fromData`. */
82
- export declare const PERMISSIVE_GRAMMAR_CONFIG: TGrammarConfig;
83
- //# sourceMappingURL=grammar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grammar.d.ts","sourceRoot":"","sources":["../../../src/lib/types/grammar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,yFAAyF;IACzF,8BAA8B,EAAE,OAAO,CAAA;CAC1C,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,qFAAqF;IACrF,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mFAAmF;IACnF,qBAAqB,EAAE,OAAO,CAAA;IAC9B,sFAAsF;IACtF,sBAAsB,EAAE,OAAO,CAAA;IAC/B,mFAAmF;IACnF,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iFAAiF;IACjF,qBAAqB,EAAE,OAAO,CAAA;IAC9B,oGAAoG;IACpG,kBAAkB,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC3C,8EAA8E;IAC9E,aAAa,EAAE,OAAO,GAAG,oBAAoB,CAAA;CAChD,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,cAAc,EAC7B,IAAI,EAAE,MAAM,oBAAoB,GACjC,OAAO,CAIT;AAED,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,EAAE,cAGpC,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,EAAE,cAGvC,CAAA"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Resolves a granular auto-normalize flag from the grammar config.
3
- *
4
- * - `true` → all flags enabled.
5
- * - `false` → all flags disabled.
6
- * - `TAutoNormalizeConfig` → returns the specific flag value.
7
- */
8
- export function resolveAutoNormalize(grammarConfig, flag) {
9
- const { autoNormalize } = grammarConfig;
10
- if (typeof autoNormalize === "boolean")
11
- return autoNormalize;
12
- return autoNormalize[flag];
13
- }
14
- /** Default config: all rules enforced, auto-normalize on. */
15
- export const DEFAULT_GRAMMAR_CONFIG = {
16
- enforceFormulaBetweenOperators: true,
17
- autoNormalize: true,
18
- };
19
- /** Permissive config: no enforcement. Used by default in `fromData`. */
20
- export const PERMISSIVE_GRAMMAR_CONFIG = {
21
- enforceFormulaBetweenOperators: false,
22
- autoNormalize: false,
23
- };
24
- //# sourceMappingURL=grammar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../../src/lib/types/grammar.ts"],"names":[],"mappings":"AAyEA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAChC,aAA6B,EAC7B,IAAgC;IAEhC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,CAAA;IACvC,IAAI,OAAO,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAA;IAC5D,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IAClD,8BAA8B,EAAE,IAAI;IACpC,aAAa,EAAE,IAAI;CACtB,CAAA;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAmB;IACrD,8BAA8B,EAAE,KAAK;IACrC,aAAa,EAAE,KAAK;CACvB,CAAA"}