@proposit/proposit-core 0.8.9

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 (429) hide show
  1. package/README.md +1032 -0
  2. package/dist/cli/commands/analysis.d.ts +3 -0
  3. package/dist/cli/commands/analysis.d.ts.map +1 -0
  4. package/dist/cli/commands/analysis.js +504 -0
  5. package/dist/cli/commands/analysis.js.map +1 -0
  6. package/dist/cli/commands/arguments.d.ts +3 -0
  7. package/dist/cli/commands/arguments.d.ts.map +1 -0
  8. package/dist/cli/commands/arguments.js +187 -0
  9. package/dist/cli/commands/arguments.js.map +1 -0
  10. package/dist/cli/commands/claims.d.ts +3 -0
  11. package/dist/cli/commands/claims.d.ts.map +1 -0
  12. package/dist/cli/commands/claims.js +120 -0
  13. package/dist/cli/commands/claims.js.map +1 -0
  14. package/dist/cli/commands/diff.d.ts +3 -0
  15. package/dist/cli/commands/diff.d.ts.map +1 -0
  16. package/dist/cli/commands/diff.js +61 -0
  17. package/dist/cli/commands/diff.js.map +1 -0
  18. package/dist/cli/commands/expressions.d.ts +3 -0
  19. package/dist/cli/commands/expressions.d.ts.map +1 -0
  20. package/dist/cli/commands/expressions.js +344 -0
  21. package/dist/cli/commands/expressions.js.map +1 -0
  22. package/dist/cli/commands/graph.d.ts +13 -0
  23. package/dist/cli/commands/graph.d.ts.map +1 -0
  24. package/dist/cli/commands/graph.js +382 -0
  25. package/dist/cli/commands/graph.js.map +1 -0
  26. package/dist/cli/commands/meta.d.ts +3 -0
  27. package/dist/cli/commands/meta.d.ts.map +1 -0
  28. package/dist/cli/commands/meta.js +14 -0
  29. package/dist/cli/commands/meta.js.map +1 -0
  30. package/dist/cli/commands/parse.d.ts +3 -0
  31. package/dist/cli/commands/parse.d.ts.map +1 -0
  32. package/dist/cli/commands/parse.js +171 -0
  33. package/dist/cli/commands/parse.js.map +1 -0
  34. package/dist/cli/commands/premises.d.ts +3 -0
  35. package/dist/cli/commands/premises.d.ts.map +1 -0
  36. package/dist/cli/commands/premises.js +261 -0
  37. package/dist/cli/commands/premises.js.map +1 -0
  38. package/dist/cli/commands/render.d.ts +3 -0
  39. package/dist/cli/commands/render.d.ts.map +1 -0
  40. package/dist/cli/commands/render.js +109 -0
  41. package/dist/cli/commands/render.js.map +1 -0
  42. package/dist/cli/commands/repair.d.ts +3 -0
  43. package/dist/cli/commands/repair.d.ts.map +1 -0
  44. package/dist/cli/commands/repair.js +53 -0
  45. package/dist/cli/commands/repair.js.map +1 -0
  46. package/dist/cli/commands/roles.d.ts +3 -0
  47. package/dist/cli/commands/roles.d.ts.map +1 -0
  48. package/dist/cli/commands/roles.js +64 -0
  49. package/dist/cli/commands/roles.js.map +1 -0
  50. package/dist/cli/commands/sources.d.ts +3 -0
  51. package/dist/cli/commands/sources.d.ts.map +1 -0
  52. package/dist/cli/commands/sources.js +103 -0
  53. package/dist/cli/commands/sources.js.map +1 -0
  54. package/dist/cli/commands/validate.d.ts +3 -0
  55. package/dist/cli/commands/validate.d.ts.map +1 -0
  56. package/dist/cli/commands/validate.js +27 -0
  57. package/dist/cli/commands/validate.js.map +1 -0
  58. package/dist/cli/commands/variables.d.ts +3 -0
  59. package/dist/cli/commands/variables.d.ts.map +1 -0
  60. package/dist/cli/commands/variables.js +206 -0
  61. package/dist/cli/commands/variables.js.map +1 -0
  62. package/dist/cli/commands/version-show.d.ts +3 -0
  63. package/dist/cli/commands/version-show.d.ts.map +1 -0
  64. package/dist/cli/commands/version-show.js +31 -0
  65. package/dist/cli/commands/version-show.js.map +1 -0
  66. package/dist/cli/config.d.ts +8 -0
  67. package/dist/cli/config.d.ts.map +1 -0
  68. package/dist/cli/config.js +24 -0
  69. package/dist/cli/config.js.map +1 -0
  70. package/dist/cli/engine.d.ts +19 -0
  71. package/dist/cli/engine.d.ts.map +1 -0
  72. package/dist/cli/engine.js +173 -0
  73. package/dist/cli/engine.js.map +1 -0
  74. package/dist/cli/import.d.ts +22 -0
  75. package/dist/cli/import.d.ts.map +1 -0
  76. package/dist/cli/import.js +242 -0
  77. package/dist/cli/import.js.map +1 -0
  78. package/dist/cli/llm/index.d.ts +6 -0
  79. package/dist/cli/llm/index.d.ts.map +1 -0
  80. package/dist/cli/llm/index.js +26 -0
  81. package/dist/cli/llm/index.js.map +1 -0
  82. package/dist/cli/llm/openai.d.ts +4 -0
  83. package/dist/cli/llm/openai.d.ts.map +1 -0
  84. package/dist/cli/llm/openai.js +44 -0
  85. package/dist/cli/llm/openai.js.map +1 -0
  86. package/dist/cli/llm/types.d.ts +14 -0
  87. package/dist/cli/llm/types.d.ts.map +1 -0
  88. package/dist/cli/llm/types.js +2 -0
  89. package/dist/cli/llm/types.js.map +1 -0
  90. package/dist/cli/logging.d.ts +8 -0
  91. package/dist/cli/logging.d.ts.map +1 -0
  92. package/dist/cli/logging.js +23 -0
  93. package/dist/cli/logging.js.map +1 -0
  94. package/dist/cli/output/diff-renderer.d.ts +4 -0
  95. package/dist/cli/output/diff-renderer.d.ts.map +1 -0
  96. package/dist/cli/output/diff-renderer.js +89 -0
  97. package/dist/cli/output/diff-renderer.js.map +1 -0
  98. package/dist/cli/output.d.ts +6 -0
  99. package/dist/cli/output.d.ts.map +1 -0
  100. package/dist/cli/output.js +41 -0
  101. package/dist/cli/output.js.map +1 -0
  102. package/dist/cli/router.d.ts +14 -0
  103. package/dist/cli/router.d.ts.map +1 -0
  104. package/dist/cli/router.js +59 -0
  105. package/dist/cli/router.js.map +1 -0
  106. package/dist/cli/schemata.d.ts +74 -0
  107. package/dist/cli/schemata.d.ts.map +1 -0
  108. package/dist/cli/schemata.js +89 -0
  109. package/dist/cli/schemata.js.map +1 -0
  110. package/dist/cli/storage/analysis.d.ts +9 -0
  111. package/dist/cli/storage/analysis.d.ts.map +1 -0
  112. package/dist/cli/storage/analysis.js +108 -0
  113. package/dist/cli/storage/analysis.js.map +1 -0
  114. package/dist/cli/storage/arguments.d.ts +12 -0
  115. package/dist/cli/storage/arguments.d.ts.map +1 -0
  116. package/dist/cli/storage/arguments.js +80 -0
  117. package/dist/cli/storage/arguments.js.map +1 -0
  118. package/dist/cli/storage/libraries.d.ts +14 -0
  119. package/dist/cli/storage/libraries.d.ts.map +1 -0
  120. package/dist/cli/storage/libraries.js +80 -0
  121. package/dist/cli/storage/libraries.js.map +1 -0
  122. package/dist/cli/storage/premises.d.ts +9 -0
  123. package/dist/cli/storage/premises.d.ts.map +1 -0
  124. package/dist/cli/storage/premises.js +67 -0
  125. package/dist/cli/storage/premises.js.map +1 -0
  126. package/dist/cli/storage/roles.d.ts +4 -0
  127. package/dist/cli/storage/roles.d.ts.map +1 -0
  128. package/dist/cli/storage/roles.js +26 -0
  129. package/dist/cli/storage/roles.js.map +1 -0
  130. package/dist/cli/storage/variables.d.ts +4 -0
  131. package/dist/cli/storage/variables.d.ts.map +1 -0
  132. package/dist/cli/storage/variables.js +36 -0
  133. package/dist/cli/storage/variables.js.map +1 -0
  134. package/dist/cli.d.ts +3 -0
  135. package/dist/cli.d.ts.map +1 -0
  136. package/dist/cli.js +65 -0
  137. package/dist/cli.js.map +1 -0
  138. package/dist/extensions/basics/argument-parser.d.ts +12 -0
  139. package/dist/extensions/basics/argument-parser.d.ts.map +1 -0
  140. package/dist/extensions/basics/argument-parser.js +27 -0
  141. package/dist/extensions/basics/argument-parser.js.map +1 -0
  142. package/dist/extensions/basics/index.d.ts +4 -0
  143. package/dist/extensions/basics/index.d.ts.map +1 -0
  144. package/dist/extensions/basics/index.js +3 -0
  145. package/dist/extensions/basics/index.js.map +1 -0
  146. package/dist/extensions/basics/schemata.d.ts +35 -0
  147. package/dist/extensions/basics/schemata.d.ts.map +1 -0
  148. package/dist/extensions/basics/schemata.js +55 -0
  149. package/dist/extensions/basics/schemata.js.map +1 -0
  150. package/dist/extensions/ieee/formatting.d.ts +18 -0
  151. package/dist/extensions/ieee/formatting.d.ts.map +1 -0
  152. package/dist/extensions/ieee/formatting.js +57 -0
  153. package/dist/extensions/ieee/formatting.js.map +1 -0
  154. package/dist/extensions/ieee/index.d.ts +6 -0
  155. package/dist/extensions/ieee/index.d.ts.map +1 -0
  156. package/dist/extensions/ieee/index.js +6 -0
  157. package/dist/extensions/ieee/index.js.map +1 -0
  158. package/dist/extensions/ieee/references.d.ts +1379 -0
  159. package/dist/extensions/ieee/references.d.ts.map +1 -0
  160. package/dist/extensions/ieee/references.js +929 -0
  161. package/dist/extensions/ieee/references.js.map +1 -0
  162. package/dist/extensions/ieee/relaxed.d.ts +1371 -0
  163. package/dist/extensions/ieee/relaxed.d.ts.map +1 -0
  164. package/dist/extensions/ieee/relaxed.js +160 -0
  165. package/dist/extensions/ieee/relaxed.js.map +1 -0
  166. package/dist/extensions/ieee/segment-builder.d.ts +9 -0
  167. package/dist/extensions/ieee/segment-builder.d.ts.map +1 -0
  168. package/dist/extensions/ieee/segment-builder.js +98 -0
  169. package/dist/extensions/ieee/segment-builder.js.map +1 -0
  170. package/dist/extensions/ieee/segment-templates.d.ts +58 -0
  171. package/dist/extensions/ieee/segment-templates.d.ts.map +1 -0
  172. package/dist/extensions/ieee/segment-templates.js +1618 -0
  173. package/dist/extensions/ieee/segment-templates.js.map +1 -0
  174. package/dist/extensions/ieee/source.d.ts +434 -0
  175. package/dist/extensions/ieee/source.d.ts.map +1 -0
  176. package/dist/extensions/ieee/source.js +12 -0
  177. package/dist/extensions/ieee/source.js.map +1 -0
  178. package/dist/index.d.ts +10 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +10 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/lib/consts.d.ts +21 -0
  183. package/dist/lib/consts.d.ts.map +1 -0
  184. package/dist/lib/consts.js +117 -0
  185. package/dist/lib/consts.js.map +1 -0
  186. package/dist/lib/core/argument-engine.d.ts +181 -0
  187. package/dist/lib/core/argument-engine.d.ts.map +1 -0
  188. package/dist/lib/core/argument-engine.js +1294 -0
  189. package/dist/lib/core/argument-engine.js.map +1 -0
  190. package/dist/lib/core/argument-library.d.ts +84 -0
  191. package/dist/lib/core/argument-library.d.ts.map +1 -0
  192. package/dist/lib/core/argument-library.js +122 -0
  193. package/dist/lib/core/argument-library.js.map +1 -0
  194. package/dist/lib/core/argument-validation.d.ts +74 -0
  195. package/dist/lib/core/argument-validation.d.ts.map +1 -0
  196. package/dist/lib/core/argument-validation.js +315 -0
  197. package/dist/lib/core/argument-validation.js.map +1 -0
  198. package/dist/lib/core/change-collector.d.ts +24 -0
  199. package/dist/lib/core/change-collector.d.ts.map +1 -0
  200. package/dist/lib/core/change-collector.js +63 -0
  201. package/dist/lib/core/change-collector.js.map +1 -0
  202. package/dist/lib/core/checksum.d.ts +15 -0
  203. package/dist/lib/core/checksum.d.ts.map +1 -0
  204. package/dist/lib/core/checksum.js +43 -0
  205. package/dist/lib/core/checksum.js.map +1 -0
  206. package/dist/lib/core/claim-library.d.ts +23 -0
  207. package/dist/lib/core/claim-library.d.ts.map +1 -0
  208. package/dist/lib/core/claim-library.js +21 -0
  209. package/dist/lib/core/claim-library.js.map +1 -0
  210. package/dist/lib/core/claim-source-library.d.ts +32 -0
  211. package/dist/lib/core/claim-source-library.d.ts.map +1 -0
  212. package/dist/lib/core/claim-source-library.js +193 -0
  213. package/dist/lib/core/claim-source-library.js.map +1 -0
  214. package/dist/lib/core/diff.d.ts +20 -0
  215. package/dist/lib/core/diff.d.ts.map +1 -0
  216. package/dist/lib/core/diff.js +260 -0
  217. package/dist/lib/core/diff.js.map +1 -0
  218. package/dist/lib/core/evaluation/argument-evaluation.d.ts +53 -0
  219. package/dist/lib/core/evaluation/argument-evaluation.d.ts.map +1 -0
  220. package/dist/lib/core/evaluation/argument-evaluation.js +535 -0
  221. package/dist/lib/core/evaluation/argument-evaluation.js.map +1 -0
  222. package/dist/lib/core/evaluation/grading.d.ts +28 -0
  223. package/dist/lib/core/evaluation/grading.d.ts.map +1 -0
  224. package/dist/lib/core/evaluation/grading.js +44 -0
  225. package/dist/lib/core/evaluation/grading.js.map +1 -0
  226. package/dist/lib/core/evaluation/kleene.d.ts +12 -0
  227. package/dist/lib/core/evaluation/kleene.d.ts.map +1 -0
  228. package/dist/lib/core/evaluation/kleene.js +29 -0
  229. package/dist/lib/core/evaluation/kleene.js.map +1 -0
  230. package/dist/lib/core/evaluation/validation.d.ts +10 -0
  231. package/dist/lib/core/evaluation/validation.d.ts.map +1 -0
  232. package/dist/lib/core/evaluation/validation.js +28 -0
  233. package/dist/lib/core/evaluation/validation.js.map +1 -0
  234. package/dist/lib/core/expression-manager.d.ts +278 -0
  235. package/dist/lib/core/expression-manager.d.ts.map +1 -0
  236. package/dist/lib/core/expression-manager.js +1622 -0
  237. package/dist/lib/core/expression-manager.js.map +1 -0
  238. package/dist/lib/core/fork-library.d.ts +26 -0
  239. package/dist/lib/core/fork-library.d.ts.map +1 -0
  240. package/dist/lib/core/fork-library.js +71 -0
  241. package/dist/lib/core/fork-library.js.map +1 -0
  242. package/dist/lib/core/fork-namespace.d.ts +32 -0
  243. package/dist/lib/core/fork-namespace.d.ts.map +1 -0
  244. package/dist/lib/core/fork-namespace.js +99 -0
  245. package/dist/lib/core/fork-namespace.js.map +1 -0
  246. package/dist/lib/core/fork.d.ts +30 -0
  247. package/dist/lib/core/fork.d.ts.map +1 -0
  248. package/dist/lib/core/fork.js +125 -0
  249. package/dist/lib/core/fork.js.map +1 -0
  250. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +366 -0
  251. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
  252. package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
  253. package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
  254. package/dist/lib/core/interfaces/index.d.ts +5 -0
  255. package/dist/lib/core/interfaces/index.d.ts.map +1 -0
  256. package/dist/lib/core/interfaces/index.js +2 -0
  257. package/dist/lib/core/interfaces/index.js.map +1 -0
  258. package/dist/lib/core/interfaces/library.interfaces.d.ts +347 -0
  259. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -0
  260. package/dist/lib/core/interfaces/library.interfaces.js +2 -0
  261. package/dist/lib/core/interfaces/library.interfaces.js.map +1 -0
  262. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +401 -0
  263. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
  264. package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
  265. package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
  266. package/dist/lib/core/interfaces/shared.interfaces.d.ts +28 -0
  267. package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
  268. package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
  269. package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
  270. package/dist/lib/core/invariant-violation-error.d.ts +10 -0
  271. package/dist/lib/core/invariant-violation-error.d.ts.map +1 -0
  272. package/dist/lib/core/invariant-violation-error.js +16 -0
  273. package/dist/lib/core/invariant-violation-error.js.map +1 -0
  274. package/dist/lib/core/parser/formula-gen.js +923 -0
  275. package/dist/lib/core/parser/formula.d.ts +24 -0
  276. package/dist/lib/core/parser/formula.d.ts.map +1 -0
  277. package/dist/lib/core/parser/formula.js +8 -0
  278. package/dist/lib/core/parser/formula.js.map +1 -0
  279. package/dist/lib/core/premise-engine.d.ts +122 -0
  280. package/dist/lib/core/premise-engine.d.ts.map +1 -0
  281. package/dist/lib/core/premise-engine.js +1362 -0
  282. package/dist/lib/core/premise-engine.js.map +1 -0
  283. package/dist/lib/core/proposit-core.d.ts +111 -0
  284. package/dist/lib/core/proposit-core.d.ts.map +1 -0
  285. package/dist/lib/core/proposit-core.js +365 -0
  286. package/dist/lib/core/proposit-core.js.map +1 -0
  287. package/dist/lib/core/relationships.d.ts +15 -0
  288. package/dist/lib/core/relationships.d.ts.map +1 -0
  289. package/dist/lib/core/relationships.js +319 -0
  290. package/dist/lib/core/relationships.js.map +1 -0
  291. package/dist/lib/core/source-library.d.ts +23 -0
  292. package/dist/lib/core/source-library.d.ts.map +1 -0
  293. package/dist/lib/core/source-library.js +21 -0
  294. package/dist/lib/core/source-library.js.map +1 -0
  295. package/dist/lib/core/variable-manager.d.ts +68 -0
  296. package/dist/lib/core/variable-manager.d.ts.map +1 -0
  297. package/dist/lib/core/variable-manager.js +200 -0
  298. package/dist/lib/core/variable-manager.js.map +1 -0
  299. package/dist/lib/core/versioned-library.d.ts +52 -0
  300. package/dist/lib/core/versioned-library.d.ts.map +1 -0
  301. package/dist/lib/core/versioned-library.js +192 -0
  302. package/dist/lib/core/versioned-library.js.map +1 -0
  303. package/dist/lib/index.d.ts +54 -0
  304. package/dist/lib/index.d.ts.map +1 -0
  305. package/dist/lib/index.js +39 -0
  306. package/dist/lib/index.js.map +1 -0
  307. package/dist/lib/parsing/argument-parser.d.ts +49 -0
  308. package/dist/lib/parsing/argument-parser.d.ts.map +1 -0
  309. package/dist/lib/parsing/argument-parser.js +403 -0
  310. package/dist/lib/parsing/argument-parser.js.map +1 -0
  311. package/dist/lib/parsing/clamp-max-lengths.d.ts +11 -0
  312. package/dist/lib/parsing/clamp-max-lengths.d.ts.map +1 -0
  313. package/dist/lib/parsing/clamp-max-lengths.js +56 -0
  314. package/dist/lib/parsing/clamp-max-lengths.js.map +1 -0
  315. package/dist/lib/parsing/index.d.ts +7 -0
  316. package/dist/lib/parsing/index.d.ts.map +1 -0
  317. package/dist/lib/parsing/index.js +4 -0
  318. package/dist/lib/parsing/index.js.map +1 -0
  319. package/dist/lib/parsing/prompt-builder.d.ts +11 -0
  320. package/dist/lib/parsing/prompt-builder.d.ts.map +1 -0
  321. package/dist/lib/parsing/prompt-builder.js +229 -0
  322. package/dist/lib/parsing/prompt-builder.js.map +1 -0
  323. package/dist/lib/parsing/schemata.d.ts +79 -0
  324. package/dist/lib/parsing/schemata.d.ts.map +1 -0
  325. package/dist/lib/parsing/schemata.js +92 -0
  326. package/dist/lib/parsing/schemata.js.map +1 -0
  327. package/dist/lib/parsing/types.d.ts +24 -0
  328. package/dist/lib/parsing/types.d.ts.map +1 -0
  329. package/dist/lib/parsing/types.js +2 -0
  330. package/dist/lib/parsing/types.js.map +1 -0
  331. package/dist/lib/schemata/analysis.d.ts +9 -0
  332. package/dist/lib/schemata/analysis.d.ts.map +1 -0
  333. package/dist/lib/schemata/analysis.js +13 -0
  334. package/dist/lib/schemata/analysis.js.map +1 -0
  335. package/dist/lib/schemata/argument.d.ts +14 -0
  336. package/dist/lib/schemata/argument.d.ts.map +1 -0
  337. package/dist/lib/schemata/argument.js +24 -0
  338. package/dist/lib/schemata/argument.js.map +1 -0
  339. package/dist/lib/schemata/claim.d.ts +9 -0
  340. package/dist/lib/schemata/claim.d.ts.map +1 -0
  341. package/dist/lib/schemata/claim.js +18 -0
  342. package/dist/lib/schemata/claim.js.map +1 -0
  343. package/dist/lib/schemata/fork.d.ts +76 -0
  344. package/dist/lib/schemata/fork.d.ts.map +1 -0
  345. package/dist/lib/schemata/fork.js +55 -0
  346. package/dist/lib/schemata/fork.js.map +1 -0
  347. package/dist/lib/schemata/import.d.ts +33 -0
  348. package/dist/lib/schemata/import.d.ts.map +1 -0
  349. package/dist/lib/schemata/import.js +18 -0
  350. package/dist/lib/schemata/import.js.map +1 -0
  351. package/dist/lib/schemata/index.d.ts +8 -0
  352. package/dist/lib/schemata/index.d.ts.map +1 -0
  353. package/dist/lib/schemata/index.js +8 -0
  354. package/dist/lib/schemata/index.js.map +1 -0
  355. package/dist/lib/schemata/propositional.d.ts +142 -0
  356. package/dist/lib/schemata/propositional.d.ts.map +1 -0
  357. package/dist/lib/schemata/propositional.js +120 -0
  358. package/dist/lib/schemata/propositional.js.map +1 -0
  359. package/dist/lib/schemata/shared.d.ts +41 -0
  360. package/dist/lib/schemata/shared.d.ts.map +1 -0
  361. package/dist/lib/schemata/shared.js +66 -0
  362. package/dist/lib/schemata/shared.js.map +1 -0
  363. package/dist/lib/schemata/source.d.ts +18 -0
  364. package/dist/lib/schemata/source.d.ts.map +1 -0
  365. package/dist/lib/schemata/source.js +35 -0
  366. package/dist/lib/schemata/source.js.map +1 -0
  367. package/dist/lib/types/checksum.d.ts +20 -0
  368. package/dist/lib/types/checksum.d.ts.map +1 -0
  369. package/dist/lib/types/checksum.js +2 -0
  370. package/dist/lib/types/checksum.js.map +1 -0
  371. package/dist/lib/types/diff.d.ts +60 -0
  372. package/dist/lib/types/diff.d.ts.map +1 -0
  373. package/dist/lib/types/diff.js +2 -0
  374. package/dist/lib/types/diff.js.map +1 -0
  375. package/dist/lib/types/evaluation.d.ts +164 -0
  376. package/dist/lib/types/evaluation.d.ts.map +1 -0
  377. package/dist/lib/types/evaluation.js +2 -0
  378. package/dist/lib/types/evaluation.js.map +1 -0
  379. package/dist/lib/types/fork.d.ts +25 -0
  380. package/dist/lib/types/fork.d.ts.map +1 -0
  381. package/dist/lib/types/fork.js +2 -0
  382. package/dist/lib/types/fork.js.map +1 -0
  383. package/dist/lib/types/grammar.d.ts +38 -0
  384. package/dist/lib/types/grammar.d.ts.map +1 -0
  385. package/dist/lib/types/grammar.js +11 -0
  386. package/dist/lib/types/grammar.js.map +1 -0
  387. package/dist/lib/types/mutation.d.ts +31 -0
  388. package/dist/lib/types/mutation.d.ts.map +1 -0
  389. package/dist/lib/types/mutation.js +2 -0
  390. package/dist/lib/types/mutation.js.map +1 -0
  391. package/dist/lib/types/reactive.d.ts +14 -0
  392. package/dist/lib/types/reactive.d.ts.map +1 -0
  393. package/dist/lib/types/reactive.js +2 -0
  394. package/dist/lib/types/reactive.js.map +1 -0
  395. package/dist/lib/types/relationships.d.ts +36 -0
  396. package/dist/lib/types/relationships.d.ts.map +1 -0
  397. package/dist/lib/types/relationships.js +2 -0
  398. package/dist/lib/types/relationships.js.map +1 -0
  399. package/dist/lib/types/validation.d.ts +47 -0
  400. package/dist/lib/types/validation.d.ts.map +1 -0
  401. package/dist/lib/types/validation.js +43 -0
  402. package/dist/lib/types/validation.js.map +1 -0
  403. package/dist/lib/utils/changeset.d.ts +124 -0
  404. package/dist/lib/utils/changeset.d.ts.map +1 -0
  405. package/dist/lib/utils/changeset.js +221 -0
  406. package/dist/lib/utils/changeset.js.map +1 -0
  407. package/dist/lib/utils/collections.d.ts +12 -0
  408. package/dist/lib/utils/collections.d.ts.map +1 -0
  409. package/dist/lib/utils/collections.js +24 -0
  410. package/dist/lib/utils/collections.js.map +1 -0
  411. package/dist/lib/utils/default-map.d.ts +17 -0
  412. package/dist/lib/utils/default-map.d.ts.map +1 -0
  413. package/dist/lib/utils/default-map.js +33 -0
  414. package/dist/lib/utils/default-map.js.map +1 -0
  415. package/dist/lib/utils/lookup.d.ts +47 -0
  416. package/dist/lib/utils/lookup.d.ts.map +1 -0
  417. package/dist/lib/utils/lookup.js +62 -0
  418. package/dist/lib/utils/lookup.js.map +1 -0
  419. package/dist/lib/utils/position.d.ts +12 -0
  420. package/dist/lib/utils/position.d.ts.map +1 -0
  421. package/dist/lib/utils/position.js +13 -0
  422. package/dist/lib/utils/position.js.map +1 -0
  423. package/package.json +82 -0
  424. package/skills/proposit-core/SKILL.md +35 -0
  425. package/skills/proposit-core/docs/api-usage.md +442 -0
  426. package/skills/proposit-core/docs/architecture.md +256 -0
  427. package/skills/proposit-core/docs/cli.md +304 -0
  428. package/skills/proposit-core/docs/testing.md +281 -0
  429. package/skills/proposit-core/docs/types-schemas.md +648 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-manager.js","sourceRoot":"","sources":["../../../src/lib/core/variable-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { TSchema } from "typebox";
2
+ import type { TCoreChecksumConfig } from "../types/checksum.js";
3
+ import type { TInvariantValidationResult, TInvariantViolationEntityType } from "../types/validation.js";
4
+ /** Base shape for entities managed by {@link VersionedLibrary}. */
5
+ export type TVersionedEntity = {
6
+ id: string;
7
+ version: number;
8
+ frozen: boolean;
9
+ checksum: string;
10
+ };
11
+ /**
12
+ * Abstract base class for versioned, freezable entity libraries.
13
+ * Provides CRUD, freeze/unfreeze lifecycle, schema validation, and checksum
14
+ * computation. Subclasses supply the entity label, schema, and validation codes.
15
+ */
16
+ export declare abstract class VersionedLibrary<TEntity extends TVersionedEntity> {
17
+ protected entities: Map<string, Map<number, TEntity>>;
18
+ protected checksumConfig?: TCoreChecksumConfig;
19
+ protected abstract readonly entityLabel: string;
20
+ protected abstract readonly entityType: TInvariantViolationEntityType;
21
+ protected abstract readonly schema: TSchema;
22
+ protected abstract readonly checksumFieldsKey: keyof TCoreChecksumConfig;
23
+ protected abstract readonly schemaInvalidCode: string;
24
+ protected abstract readonly frozenSuccessorCode: string;
25
+ constructor(options?: {
26
+ checksumConfig?: TCoreChecksumConfig;
27
+ });
28
+ protected restoreFromEntities(items: TEntity[]): void;
29
+ protected withValidation<T>(fn: () => T): T;
30
+ /** Creates a new entity at version 0. Throws if the ID already exists. */
31
+ create(entity: Omit<TEntity, "version" | "frozen" | "checksum">): TEntity;
32
+ /** Applies partial updates to the latest version of an entity. Throws if the entity is frozen. */
33
+ update(id: string, updates: Partial<Omit<TEntity, "id" | "version" | "frozen" | "checksum">>): TEntity;
34
+ /** Freezes the latest version and creates a new mutable successor. Returns both. */
35
+ freeze(id: string): {
36
+ frozen: TEntity;
37
+ current: TEntity;
38
+ };
39
+ /** Returns a specific version of an entity, or `undefined` if not found. */
40
+ get(id: string, version: number): TEntity | undefined;
41
+ /** Returns the latest (highest-version) entity for the given ID, or `undefined` if not found. */
42
+ getCurrent(id: string): TEntity | undefined;
43
+ /** Returns every entity across all IDs and versions. */
44
+ getAll(): TEntity[];
45
+ /** Returns all versions of an entity sorted ascending by version number. */
46
+ getVersions(id: string): TEntity[];
47
+ /** Validates all entities against the schema and checks that frozen versions have successors. */
48
+ validate(): TInvariantValidationResult;
49
+ private maxVersion;
50
+ private computeChecksum;
51
+ }
52
+ //# sourceMappingURL=versioned-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-library.d.ts","sourceRoot":"","sources":["../../../src/lib/core/versioned-library.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EACR,0BAA0B,EAE1B,6BAA6B,EAChC,MAAM,wBAAwB,CAAA;AAG/B,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,8BAAsB,gBAAgB,CAAC,OAAO,SAAS,gBAAgB;IACnE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACrD,SAAS,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAE9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAA;IACrE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;IACxE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;gBAE3C,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAK9D,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAYrD,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAkB3C,0EAA0E;IACnE,MAAM,CACT,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,GACzD,OAAO;IAsBV,kGAAkG;IAC3F,MAAM,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CACZ,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAC1D,GACF,OAAO;IA2BV,oFAAoF;IAC7E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAmChE,4EAA4E;IACrE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5D,iGAAiG;IAC1F,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAMlD,wDAAwD;IACjD,MAAM,IAAI,OAAO,EAAE;IAU1B,4EAA4E;IACrE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE;IAQzC,iGAAiG;IAC1F,QAAQ,IAAI,0BAA0B;IA+B7C,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,eAAe;CAS1B"}
@@ -0,0 +1,192 @@
1
+ import { Value } from "typebox/value";
2
+ import { DEFAULT_CHECKSUM_CONFIG } from "../consts.js";
3
+ import { entityChecksum } from "./checksum.js";
4
+ import { InvariantViolationError } from "./invariant-violation-error.js";
5
+ /**
6
+ * Abstract base class for versioned, freezable entity libraries.
7
+ * Provides CRUD, freeze/unfreeze lifecycle, schema validation, and checksum
8
+ * computation. Subclasses supply the entity label, schema, and validation codes.
9
+ */
10
+ export class VersionedLibrary {
11
+ entities;
12
+ checksumConfig;
13
+ constructor(options) {
14
+ this.entities = new Map();
15
+ this.checksumConfig = options?.checksumConfig;
16
+ }
17
+ restoreFromEntities(items) {
18
+ this.entities = new Map();
19
+ for (const entity of items) {
20
+ let versions = this.entities.get(entity.id);
21
+ if (!versions) {
22
+ versions = new Map();
23
+ this.entities.set(entity.id, versions);
24
+ }
25
+ versions.set(entity.version, entity);
26
+ }
27
+ }
28
+ withValidation(fn) {
29
+ const all = this.getAll();
30
+ try {
31
+ const result = fn();
32
+ const validation = this.validate();
33
+ if (!validation.ok) {
34
+ this.restoreFromEntities(all);
35
+ throw new InvariantViolationError(validation.violations);
36
+ }
37
+ return result;
38
+ }
39
+ catch (e) {
40
+ if (!(e instanceof InvariantViolationError)) {
41
+ this.restoreFromEntities(all);
42
+ }
43
+ throw e;
44
+ }
45
+ }
46
+ /** Creates a new entity at version 0. Throws if the ID already exists. */
47
+ create(entity) {
48
+ return this.withValidation(() => {
49
+ if (this.entities.has(entity.id)) {
50
+ throw new Error(`${this.entityLabel} with ID "${entity.id}" already exists.`);
51
+ }
52
+ const full = {
53
+ ...entity,
54
+ version: 0,
55
+ frozen: false,
56
+ checksum: "",
57
+ };
58
+ full.checksum = this.computeChecksum(full);
59
+ const versions = new Map();
60
+ versions.set(0, full);
61
+ this.entities.set(full.id, versions);
62
+ return full;
63
+ });
64
+ }
65
+ /** Applies partial updates to the latest version of an entity. Throws if the entity is frozen. */
66
+ update(id, updates) {
67
+ return this.withValidation(() => {
68
+ const versions = this.entities.get(id);
69
+ if (!versions) {
70
+ throw new Error(`${this.entityLabel} "${id}" does not exist.`);
71
+ }
72
+ const maxVersion = this.maxVersion(versions);
73
+ const current = versions.get(maxVersion);
74
+ if (current.frozen) {
75
+ throw new Error(`${this.entityLabel} "${id}" version ${maxVersion} is frozen and cannot be updated.`);
76
+ }
77
+ const updated = {
78
+ ...current,
79
+ ...updates,
80
+ id: current.id,
81
+ version: current.version,
82
+ frozen: current.frozen,
83
+ checksum: "",
84
+ };
85
+ updated.checksum = this.computeChecksum(updated);
86
+ versions.set(maxVersion, updated);
87
+ return updated;
88
+ });
89
+ }
90
+ /** Freezes the latest version and creates a new mutable successor. Returns both. */
91
+ freeze(id) {
92
+ return this.withValidation(() => {
93
+ const versions = this.entities.get(id);
94
+ if (!versions) {
95
+ throw new Error(`${this.entityLabel} "${id}" does not exist.`);
96
+ }
97
+ const maxVersion = this.maxVersion(versions);
98
+ const current = versions.get(maxVersion);
99
+ if (current.frozen) {
100
+ throw new Error(`${this.entityLabel} "${id}" version ${maxVersion} is already frozen.`);
101
+ }
102
+ const frozenEntity = {
103
+ ...current,
104
+ frozen: true,
105
+ checksum: "",
106
+ };
107
+ frozenEntity.checksum = this.computeChecksum(frozenEntity);
108
+ versions.set(maxVersion, frozenEntity);
109
+ const nextVersion = maxVersion + 1;
110
+ const nextEntity = {
111
+ ...current,
112
+ version: nextVersion,
113
+ frozen: false,
114
+ checksum: "",
115
+ };
116
+ nextEntity.checksum = this.computeChecksum(nextEntity);
117
+ versions.set(nextVersion, nextEntity);
118
+ return { frozen: frozenEntity, current: nextEntity };
119
+ });
120
+ }
121
+ /** Returns a specific version of an entity, or `undefined` if not found. */
122
+ get(id, version) {
123
+ return this.entities.get(id)?.get(version);
124
+ }
125
+ /** Returns the latest (highest-version) entity for the given ID, or `undefined` if not found. */
126
+ getCurrent(id) {
127
+ const versions = this.entities.get(id);
128
+ if (!versions)
129
+ return undefined;
130
+ return versions.get(this.maxVersion(versions));
131
+ }
132
+ /** Returns every entity across all IDs and versions. */
133
+ getAll() {
134
+ const result = [];
135
+ for (const versions of this.entities.values()) {
136
+ for (const entity of versions.values()) {
137
+ result.push(entity);
138
+ }
139
+ }
140
+ return result;
141
+ }
142
+ /** Returns all versions of an entity sorted ascending by version number. */
143
+ getVersions(id) {
144
+ const versions = this.entities.get(id);
145
+ if (!versions)
146
+ return [];
147
+ return Array.from(versions.values()).sort((a, b) => a.version - b.version);
148
+ }
149
+ /** Validates all entities against the schema and checks that frozen versions have successors. */
150
+ validate() {
151
+ const violations = [];
152
+ for (const [id, versions] of this.entities) {
153
+ const sortedVersions = [...versions.entries()].sort(([a], [b]) => a - b);
154
+ for (const [version, entity] of sortedVersions) {
155
+ if (!Value.Check(this.schema, entity)) {
156
+ violations.push({
157
+ code: this.schemaInvalidCode,
158
+ message: `${this.entityLabel} "${id}" version ${version} does not conform to schema`,
159
+ entityType: this.entityType,
160
+ entityId: id,
161
+ });
162
+ }
163
+ if (entity.frozen) {
164
+ const maxVer = this.maxVersion(versions);
165
+ if (version < maxVer && !versions.has(version + 1)) {
166
+ violations.push({
167
+ code: this.frozenSuccessorCode,
168
+ message: `${this.entityLabel} "${id}" version ${version} is frozen but has no successor version`,
169
+ entityType: this.entityType,
170
+ entityId: id,
171
+ });
172
+ }
173
+ }
174
+ }
175
+ }
176
+ return { ok: violations.length === 0, violations };
177
+ }
178
+ maxVersion(versions) {
179
+ let max = -1;
180
+ for (const v of versions.keys()) {
181
+ if (v > max)
182
+ max = v;
183
+ }
184
+ return max;
185
+ }
186
+ computeChecksum(entity) {
187
+ const fields = this.checksumConfig?.[this.checksumFieldsKey] ??
188
+ DEFAULT_CHECKSUM_CONFIG[this.checksumFieldsKey];
189
+ return entityChecksum(entity, fields);
190
+ }
191
+ }
192
+ //# sourceMappingURL=versioned-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-library.js","sourceRoot":"","sources":["../../../src/lib/core/versioned-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Library barrel export. Re-exports core classes, evaluation types, diff
3
+ * types, schemata, and the diff function.
4
+ */
5
+ export * from "./schemata/index.js";
6
+ export { ArgumentEngine, defaultGenerateId } from "./core/argument-engine.js";
7
+ export type { TLogicEngineOptions, TArgumentEngineSnapshot, } from "./core/argument-engine.js";
8
+ export { PremiseEngine } from "./core/premise-engine.js";
9
+ export type { TPremiseEngineSnapshot } from "./core/premise-engine.js";
10
+ export type * from "./core/interfaces/index.js";
11
+ export type { TExpressionManagerSnapshot } from "./core/expression-manager.js";
12
+ export type { TVariableManagerSnapshot } from "./core/variable-manager.js";
13
+ export { ClaimLibrary } from "./core/claim-library.js";
14
+ export { SourceLibrary } from "./core/source-library.js";
15
+ export { VersionedLibrary } from "./core/versioned-library.js";
16
+ export type { TVersionedEntity } from "./core/versioned-library.js";
17
+ export { ClaimSourceLibrary } from "./core/claim-source-library.js";
18
+ export { ArgumentLibrary } from "./core/argument-library.js";
19
+ export type { TArgumentLibraryLibraries } from "./core/argument-library.js";
20
+ export { ForkNamespace } from "./core/fork-namespace.js";
21
+ export { ForkLibrary } from "./core/fork-library.js";
22
+ export { PropositCore } from "./core/proposit-core.js";
23
+ export type { TPropositCoreOptions } from "./core/proposit-core.js";
24
+ export * from "./types/evaluation.js";
25
+ export { gradeEvaluation } from "./core/evaluation/grading.js";
26
+ export type { TCoreEvaluationGrade, TCoreEvaluationGrading, } from "./core/evaluation/grading.js";
27
+ export { evaluateArgument, checkArgumentValidity, propagateOperatorConstraints, } from "./core/evaluation/argument-evaluation.js";
28
+ export type { TArgumentEvaluationContext, TEvaluablePremise, } from "./core/evaluation/argument-evaluation.js";
29
+ export * from "./types/diff.js";
30
+ export * from "./types/mutation.js";
31
+ export { mergeChangesets, orderChangeset } from "./utils/changeset.js";
32
+ export type { TOrderedOperation } from "./utils/changeset.js";
33
+ export { createLookup, EMPTY_CLAIM_LOOKUP, EMPTY_SOURCE_LOOKUP, EMPTY_CLAIM_SOURCE_LOOKUP, } from "./utils/lookup.js";
34
+ export * from "./types/checksum.js";
35
+ export { computeHash, canonicalSerialize, entityChecksum, } from "./core/checksum.js";
36
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./core/diff.js";
37
+ export * from "./types/relationships.js";
38
+ export { analyzePremiseRelationships, buildPremiseProfile, } from "./core/relationships.js";
39
+ export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig, normalizeChecksumConfig, serializeChecksumConfig, } from "./consts.js";
40
+ export { parseFormula } from "./core/parser/formula.js";
41
+ export type { TFormulaAST } from "./core/parser/formula.js";
42
+ export type { TExpressionInput, TExpressionWithoutPosition, TExpressionUpdate, } from "./core/expression-manager.js";
43
+ export { POSITION_MIN, POSITION_MAX, POSITION_INITIAL, DEFAULT_POSITION_CONFIG, midpoint, } from "./utils/position.js";
44
+ export type { TCorePositionConfig } from "./utils/position.js";
45
+ export * from "./types/reactive.js";
46
+ export * from "./types/grammar.js";
47
+ export * from "./types/fork.js";
48
+ export { forkArgumentEngine } from "./core/fork.js";
49
+ export * from "./parsing/index.js";
50
+ export * from "./types/validation.js";
51
+ export { validateArgument, validateArgumentAfterPremiseMutation, validateArgumentEvaluability, collectArgumentReferencedVariables, } from "./core/argument-validation.js";
52
+ export type { TArgumentValidationContext, TValidatablePremise, } from "./core/argument-validation.js";
53
+ export { InvariantViolationError } from "./core/invariant-violation-error.js";
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Library barrel export. Re-exports core classes, evaluation types, diff
3
+ * types, schemata, and the diff function.
4
+ */
5
+ export * from "./schemata/index.js";
6
+ export { ArgumentEngine, defaultGenerateId } from "./core/argument-engine.js";
7
+ export { PremiseEngine } from "./core/premise-engine.js";
8
+ export { ClaimLibrary } from "./core/claim-library.js";
9
+ export { SourceLibrary } from "./core/source-library.js";
10
+ export { VersionedLibrary } from "./core/versioned-library.js";
11
+ export { ClaimSourceLibrary } from "./core/claim-source-library.js";
12
+ export { ArgumentLibrary } from "./core/argument-library.js";
13
+ export { ForkNamespace } from "./core/fork-namespace.js";
14
+ export { ForkLibrary } from "./core/fork-library.js";
15
+ export { PropositCore } from "./core/proposit-core.js";
16
+ export * from "./types/evaluation.js";
17
+ export { gradeEvaluation } from "./core/evaluation/grading.js";
18
+ export { evaluateArgument, checkArgumentValidity, propagateOperatorConstraints, } from "./core/evaluation/argument-evaluation.js";
19
+ export * from "./types/diff.js";
20
+ export * from "./types/mutation.js";
21
+ export { mergeChangesets, orderChangeset } from "./utils/changeset.js";
22
+ export { createLookup, EMPTY_CLAIM_LOOKUP, EMPTY_SOURCE_LOOKUP, EMPTY_CLAIM_SOURCE_LOOKUP, } from "./utils/lookup.js";
23
+ export * from "./types/checksum.js";
24
+ export { computeHash, canonicalSerialize, entityChecksum, } from "./core/checksum.js";
25
+ export { diffArguments, defaultCompareArgument, defaultCompareVariable, defaultComparePremise, defaultCompareExpression, } from "./core/diff.js";
26
+ export * from "./types/relationships.js";
27
+ export { analyzePremiseRelationships, buildPremiseProfile, } from "./core/relationships.js";
28
+ export { DEFAULT_CHECKSUM_CONFIG, createChecksumConfig, normalizeChecksumConfig, serializeChecksumConfig, } from "./consts.js";
29
+ export { parseFormula } from "./core/parser/formula.js";
30
+ export { POSITION_MIN, POSITION_MAX, POSITION_INITIAL, DEFAULT_POSITION_CONFIG, midpoint, } from "./utils/position.js";
31
+ export * from "./types/reactive.js";
32
+ export * from "./types/grammar.js";
33
+ export * from "./types/fork.js";
34
+ export { forkArgumentEngine } from "./core/fork.js";
35
+ export * from "./parsing/index.js";
36
+ export * from "./types/validation.js";
37
+ export { validateArgument, validateArgumentAfterPremiseMutation, validateArgumentEvaluability, collectArgumentReferencedVariables, } from "./core/argument-validation.js";
38
+ export { InvariantViolationError } from "./core/invariant-violation-error.js";
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAK7E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAKxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAK9D,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,0CAA0C,CAAA;AAKjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtE,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,GAC5B,MAAM,mBAAmB,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,gBAAgB,CAAA;AACvB,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAOvD,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACX,MAAM,qBAAqB,CAAA;AAE5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACH,gBAAgB,EAChB,oCAAoC,EACpC,4BAA4B,EAC5B,kCAAkC,GACrC,MAAM,+BAA+B,CAAA;AAKtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -0,0 +1,49 @@
1
+ import type { TSchema } from "typebox";
2
+ import type { TParserWarning, TParserBuildOptions } from "./types.js";
3
+ import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TCoreSource, TCoreClaim, TCoreClaimSourceAssociation } from "../schemata/index.js";
4
+ import { ArgumentEngine } from "../core/argument-engine.js";
5
+ import { ClaimLibrary } from "../core/claim-library.js";
6
+ import { SourceLibrary } from "../core/source-library.js";
7
+ import { ClaimSourceLibrary } from "../core/claim-source-library.js";
8
+ import type { TParsedArgumentResponse, TParsedArgument, TParsedClaim, TParsedVariable, TParsedSource, TParsedPremise } from "./schemata.js";
9
+ /**
10
+ * The result returned by `ArgumentParser.build()`.
11
+ */
12
+ export type TArgumentParserResult<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation> = {
13
+ engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
14
+ claimLibrary: ClaimLibrary<TClaim>;
15
+ sourceLibrary: SourceLibrary<TSource>;
16
+ claimSourceLibrary: ClaimSourceLibrary<TAssoc>;
17
+ warnings: TParserWarning[];
18
+ };
19
+ /**
20
+ * Validates and builds an `ArgumentEngine` from a parsed LLM response.
21
+ *
22
+ * Override the protected `map*` hooks to inject custom fields into
23
+ * the entities created during the build phase.
24
+ */
25
+ export declare class ArgumentParser<TArg extends TCoreArgument = TCoreArgument, TPremise extends TCorePremise = TCorePremise, TExpr extends TCorePropositionalExpression = TCorePropositionalExpression, TVar extends TCorePropositionalVariable = TCorePropositionalVariable, TSource extends TCoreSource = TCoreSource, TClaim extends TCoreClaim = TCoreClaim, TAssoc extends TCoreClaimSourceAssociation = TCoreClaimSourceAssociation> {
26
+ protected readonly responseSchema: TSchema;
27
+ constructor(responseSchema?: TSchema);
28
+ /**
29
+ * Validate raw LLM output against the response schema.
30
+ */
31
+ validate(raw: unknown): TParsedArgumentResponse;
32
+ /**
33
+ * Build an ArgumentEngine from a validated response.
34
+ *
35
+ * @throws If `response.argument` is null
36
+ * @throws If any formula references an undeclared variable
37
+ * @throws If any formula contains nested implies/iff
38
+ * @throws If a variable references an undeclared claim miniId
39
+ * @throws If the conclusion premise miniId is unresolvable
40
+ */
41
+ build(response: TParsedArgumentResponse, options?: TParserBuildOptions): TArgumentParserResult<TArg, TPremise, TExpr, TVar, TSource, TClaim, TAssoc>;
42
+ protected mapArgument(_parsed: TParsedArgument): Record<string, unknown>;
43
+ protected mapClaim(_parsed: TParsedClaim): Record<string, unknown>;
44
+ protected mapSource(_parsed: TParsedSource): Record<string, unknown>;
45
+ protected mapVariable(_parsed: TParsedVariable): Record<string, unknown>;
46
+ protected mapPremise(_parsed: TParsedPremise): Record<string, unknown>;
47
+ protected mapClaimSourceAssociation(_parsed: TParsedClaim, _claimId: string, _sourceId: string): Record<string, unknown>;
48
+ }
49
+ //# sourceMappingURL=argument-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument-parser.d.ts","sourceRoot":"","sources":["../../../src/lib/parsing/argument-parser.ts"],"names":[],"mappings":"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"}