@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,261 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Command } from "commander";
3
+ import { PremiseEngine } from "../../lib/core/premise-engine.js";
4
+ import { VariableManager } from "../../lib/core/variable-manager.js";
5
+ import { errorExit, printJson, printLine, requireConfirmation, } from "../output.js";
6
+ import { readArgumentMeta, readVersionMeta } from "../storage/arguments.js";
7
+ import { deletePremiseDir, listPremiseIds, premiseExists, readPremiseData, readPremiseMeta, writePremiseMeta, } from "../storage/premises.js";
8
+ import { hydrateEngine, persistEngine } from "../engine.js";
9
+ import { readVariables } from "../storage/variables.js";
10
+ async function assertNotPublished(argumentId, version) {
11
+ const meta = await readVersionMeta(argumentId, version);
12
+ if (meta.published) {
13
+ errorExit(`Version ${version} of argument "${argumentId}" is published and cannot be modified.`);
14
+ }
15
+ }
16
+ async function buildArgument(argumentId, version) {
17
+ const [argMeta, vMeta] = await Promise.all([
18
+ readArgumentMeta(argumentId),
19
+ readVersionMeta(argumentId, version),
20
+ ]);
21
+ return { ...argMeta, ...vMeta };
22
+ }
23
+ export function registerPremiseCommands(versionedCmd, argumentId, version) {
24
+ const premises = versionedCmd
25
+ .command("premises")
26
+ .description("Manage premises");
27
+ premises
28
+ .command("create")
29
+ .description("Create a new premise")
30
+ .option("--title <title>", "Optional title for the premise")
31
+ .option("--symbol <symbol>", "Symbol for the auto-created premise-bound variable")
32
+ .action(async (opts) => {
33
+ await assertNotPublished(argumentId, version);
34
+ const engine = await hydrateEngine(argumentId, version);
35
+ const id = randomUUID();
36
+ const extras = {};
37
+ if (opts.title)
38
+ extras.title = opts.title;
39
+ try {
40
+ engine.createPremiseWithId(id, extras, opts.symbol);
41
+ }
42
+ catch (err) {
43
+ errorExit(err instanceof Error ? err.message : String(err));
44
+ }
45
+ await persistEngine(engine);
46
+ printLine(id);
47
+ });
48
+ premises
49
+ .command("list")
50
+ .description("List all premises")
51
+ .option("--json", "Output as JSON")
52
+ .action(async (opts) => {
53
+ const argument = await buildArgument(argumentId, version);
54
+ const allVariables = await readVariables(argumentId, version);
55
+ const premiseIds = await listPremiseIds(argumentId, version);
56
+ const results = await Promise.all(premiseIds.map(async (pid) => {
57
+ const [meta, data] = await Promise.all([
58
+ readPremiseMeta(argumentId, version, pid),
59
+ readPremiseData(argumentId, version, pid),
60
+ ]);
61
+ // Hydrate a temporary PremiseEngine for display string
62
+ const { id: _id, ...premiseExtras } = meta;
63
+ const vm = new VariableManager();
64
+ for (const v of allVariables) {
65
+ vm.addVariable({ ...v, argumentVersion: version });
66
+ }
67
+ const pm = new PremiseEngine({
68
+ id: pid,
69
+ argumentId: argument.id,
70
+ argumentVersion: version,
71
+ ...premiseExtras,
72
+ }, { argument, variables: vm });
73
+ // Add expressions BFS-order
74
+ const remaining = [...data.expressions];
75
+ const added = new Set();
76
+ for (let i = remaining.length - 1; i >= 0; i--) {
77
+ const expr = remaining[i];
78
+ if (expr.parentId === null) {
79
+ pm.addExpression({
80
+ ...expr,
81
+ premiseId: pid,
82
+ argumentVersion: version,
83
+ });
84
+ added.add(expr.id);
85
+ remaining.splice(i, 1);
86
+ }
87
+ }
88
+ let progress = true;
89
+ while (remaining.length > 0 && progress) {
90
+ progress = false;
91
+ for (let i = remaining.length - 1; i >= 0; i--) {
92
+ const expr = remaining[i];
93
+ if (expr.parentId !== null &&
94
+ added.has(expr.parentId)) {
95
+ pm.addExpression({
96
+ ...expr,
97
+ premiseId: pid,
98
+ argumentVersion: version,
99
+ });
100
+ added.add(expr.id);
101
+ remaining.splice(i, 1);
102
+ progress = true;
103
+ }
104
+ }
105
+ }
106
+ return { meta, data, pm };
107
+ }));
108
+ if (opts.json) {
109
+ printJson(results.map(({ meta, data }) => ({
110
+ ...meta,
111
+ ...data,
112
+ })));
113
+ }
114
+ else {
115
+ for (const { meta, pm } of results) {
116
+ const display = pm.toDisplayString() || "(empty)";
117
+ const title = meta.title ?? "(untitled)";
118
+ const premiseType = pm.isInference()
119
+ ? "inference"
120
+ : "constraint";
121
+ printLine(`${meta.id} | ${premiseType} | ${display} | ${title}`);
122
+ }
123
+ }
124
+ });
125
+ premises
126
+ .command("delete <premise_id>")
127
+ .description("Delete a premise")
128
+ .option("--confirm", "Skip confirmation prompt")
129
+ .action(async (premiseId, opts) => {
130
+ await assertNotPublished(argumentId, version);
131
+ if (!(await premiseExists(argumentId, version, premiseId))) {
132
+ errorExit(`Premise "${premiseId}" not found.`);
133
+ }
134
+ if (!opts.confirm) {
135
+ await requireConfirmation(`Delete premise "${premiseId}"?`);
136
+ }
137
+ const engine = await hydrateEngine(argumentId, version);
138
+ try {
139
+ engine.removePremise(premiseId);
140
+ }
141
+ catch (err) {
142
+ errorExit(err instanceof Error ? err.message : String(err));
143
+ }
144
+ await persistEngine(engine);
145
+ await deletePremiseDir(argumentId, version, premiseId);
146
+ printLine("success");
147
+ });
148
+ premises
149
+ .command("update <premise_id>")
150
+ .description("Update premise metadata")
151
+ .option("--title <new_title>", "New title")
152
+ .option("--clear-title", "Remove the title")
153
+ .action(async (premiseId, opts) => {
154
+ await assertNotPublished(argumentId, version);
155
+ if (opts.title !== undefined && opts.clearTitle) {
156
+ errorExit("--title and --clear-title cannot both be specified.");
157
+ }
158
+ if (!(await premiseExists(argumentId, version, premiseId))) {
159
+ errorExit(`Premise "${premiseId}" not found.`);
160
+ }
161
+ const meta = await readPremiseMeta(argumentId, version, premiseId);
162
+ if (opts.clearTitle) {
163
+ delete meta.title;
164
+ }
165
+ else if (opts.title !== undefined) {
166
+ meta.title = opts.title;
167
+ }
168
+ await writePremiseMeta(argumentId, version, meta);
169
+ printLine("success");
170
+ });
171
+ premises
172
+ .command("show <premise_id>")
173
+ .description("Show a single premise")
174
+ .option("--json", "Output as JSON")
175
+ .action(async (premiseId, opts) => {
176
+ if (!(await premiseExists(argumentId, version, premiseId))) {
177
+ errorExit(`Premise "${premiseId}" not found.`);
178
+ }
179
+ const [meta, data] = await Promise.all([
180
+ readPremiseMeta(argumentId, version, premiseId),
181
+ readPremiseData(argumentId, version, premiseId),
182
+ ]);
183
+ if (opts.json) {
184
+ printJson({ ...meta, ...data });
185
+ }
186
+ else {
187
+ const rootExpr = data.rootExpressionId
188
+ ? data.expressions.find((e) => e.id === data.rootExpressionId)
189
+ : undefined;
190
+ const premiseType = rootExpr?.type === "operator" &&
191
+ (rootExpr.operator === "implies" ||
192
+ rootExpr.operator === "iff")
193
+ ? "inference"
194
+ : "constraint";
195
+ printLine(`id: ${meta.id}`);
196
+ printLine(`title: ${meta.title ?? "(untitled)"}`);
197
+ printLine(`type: ${premiseType}`);
198
+ printLine(`root expr id: ${data.rootExpressionId ?? "(none)"}`);
199
+ printLine(`variables: ${data.variables.length}`);
200
+ printLine(`expressions: ${data.expressions.length}`);
201
+ }
202
+ });
203
+ premises
204
+ .command("render <premise_id>")
205
+ .description("Render the premise as a logical expression string")
206
+ .action(async (premiseId) => {
207
+ if (!(await premiseExists(argumentId, version, premiseId))) {
208
+ errorExit(`Premise "${premiseId}" not found.`);
209
+ }
210
+ const argument = await buildArgument(argumentId, version);
211
+ const allVariables = await readVariables(argumentId, version);
212
+ const [meta, data] = await Promise.all([
213
+ readPremiseMeta(argumentId, version, premiseId),
214
+ readPremiseData(argumentId, version, premiseId),
215
+ ]);
216
+ const { id: _id, ...renderPremiseExtras } = meta;
217
+ const renderVm = new VariableManager();
218
+ for (const v of allVariables) {
219
+ renderVm.addVariable({ ...v, argumentVersion: version });
220
+ }
221
+ const pm = new PremiseEngine({
222
+ id: premiseId,
223
+ argumentId: argument.id,
224
+ argumentVersion: version,
225
+ ...renderPremiseExtras,
226
+ }, { argument, variables: renderVm });
227
+ const remaining = [...data.expressions];
228
+ const added = new Set();
229
+ for (let i = remaining.length - 1; i >= 0; i--) {
230
+ const expr = remaining[i];
231
+ if (expr.parentId === null) {
232
+ pm.addExpression({
233
+ ...expr,
234
+ premiseId: premiseId,
235
+ argumentVersion: version,
236
+ });
237
+ added.add(expr.id);
238
+ remaining.splice(i, 1);
239
+ }
240
+ }
241
+ let progress = true;
242
+ while (remaining.length > 0 && progress) {
243
+ progress = false;
244
+ for (let i = remaining.length - 1; i >= 0; i--) {
245
+ const expr = remaining[i];
246
+ if (expr.parentId !== null && added.has(expr.parentId)) {
247
+ pm.addExpression({
248
+ ...expr,
249
+ premiseId: premiseId,
250
+ argumentVersion: version,
251
+ });
252
+ added.add(expr.id);
253
+ remaining.splice(i, 1);
254
+ progress = true;
255
+ }
256
+ }
257
+ }
258
+ printLine(pm.toDisplayString());
259
+ });
260
+ }
261
+ //# sourceMappingURL=premises.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premises.js","sourceRoot":"","sources":["../../../src/cli/commands/premises.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRenderCommand(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAoHN"}
@@ -0,0 +1,109 @@
1
+ import { Command } from "commander";
2
+ import { hydrateEngine, hydratePropositCore } from "../engine.js";
3
+ import { isClaimBound, isPremiseBound } from "../../lib/schemata/index.js";
4
+ import { printLine } from "../output.js";
5
+ function extrasString(obj, fields) {
6
+ const parts = [];
7
+ for (const field of fields) {
8
+ const val = obj[field];
9
+ if (typeof val === "string" && val.length > 0) {
10
+ parts.push(`${field}: ${val}`);
11
+ }
12
+ }
13
+ return parts.length > 0 ? ` | ${parts.join(" | ")}` : "";
14
+ }
15
+ export function registerRenderCommand(versionedCmd, argumentId, version) {
16
+ versionedCmd
17
+ .command("render")
18
+ .description("Render all premises as logical expression strings")
19
+ .action(async () => {
20
+ const core = await hydratePropositCore();
21
+ const engine = await hydrateEngine(argumentId, version, core);
22
+ const arg = engine.getArgument();
23
+ const roles = engine.getRoleState();
24
+ const conclusionId = roles.conclusionPremiseId;
25
+ // Argument header
26
+ const argTitle = typeof arg.title === "string" ? arg.title : "(untitled)";
27
+ const argDesc = typeof arg.description === "string"
28
+ ? ` — ${arg.description}`
29
+ : "";
30
+ printLine(`Argument: ${argTitle}${argDesc}`);
31
+ printLine("");
32
+ // Premises
33
+ printLine("Premises:");
34
+ const all = engine.listPremises();
35
+ const sorted = [
36
+ ...all.filter((pm) => pm.getId() === conclusionId),
37
+ ...all.filter((pm) => pm.getId() !== conclusionId),
38
+ ];
39
+ for (const pm of sorted) {
40
+ const id = pm.getId();
41
+ const marker = id === conclusionId ? "*" : " ";
42
+ const display = pm.toDisplayString() || "(empty)";
43
+ const premiseData = pm.toPremiseData();
44
+ const title = typeof premiseData.title === "string"
45
+ ? ` | ${premiseData.title}`
46
+ : "";
47
+ printLine(` ${marker} ${display}${title}`);
48
+ }
49
+ // Variables
50
+ const variables = engine.getVariables();
51
+ if (variables.length > 0) {
52
+ printLine("");
53
+ printLine("Variables:");
54
+ for (const v of variables) {
55
+ const typed = v;
56
+ let binding = "";
57
+ if (isClaimBound(typed)) {
58
+ const claim = core.claims.get(typed.claimId, typed.claimVersion);
59
+ if (claim) {
60
+ const claimExtras = claim;
61
+ const claimTitle = typeof claimExtras.title === "string"
62
+ ? claimExtras.title
63
+ : `${typed.claimId}@${typed.claimVersion}`;
64
+ binding = ` → ${claimTitle}`;
65
+ }
66
+ }
67
+ else if (isPremiseBound(typed)) {
68
+ binding = ` → premise:${typed.boundPremiseId}`;
69
+ }
70
+ printLine(` ${v.symbol}${binding}`);
71
+ }
72
+ }
73
+ // Claims — only those referenced by this argument's variables
74
+ const referencedClaims = variables
75
+ .map((v) => v)
76
+ .filter(isClaimBound)
77
+ .map((v) => core.claims.get(v.claimId, v.claimVersion))
78
+ .filter((c) => c !== undefined);
79
+ if (referencedClaims.length > 0) {
80
+ printLine("");
81
+ printLine("Claims:");
82
+ for (const claim of referencedClaims) {
83
+ const extras = claim;
84
+ const frozen = claim.frozen ? " [frozen]" : "";
85
+ const meta = extrasString(extras, ["title", "body"]);
86
+ printLine(` ${claim.id}@${claim.version}${frozen}${meta}`);
87
+ }
88
+ }
89
+ // Sources — only those associated with referenced claims
90
+ const referencedClaimKeys = new Set(referencedClaims.map((c) => `${c.id}@${c.version}`));
91
+ const allAssocs = core.claimSources.getAll();
92
+ const referencedSourceKeys = new Set(allAssocs
93
+ .filter((a) => referencedClaimKeys.has(`${a.claimId}@${a.claimVersion}`))
94
+ .map((a) => `${a.sourceId}@${a.sourceVersion}`));
95
+ const referencedSources = core.sources
96
+ .getAll()
97
+ .filter((s) => referencedSourceKeys.has(`${s.id}@${s.version}`));
98
+ if (referencedSources.length > 0) {
99
+ printLine("");
100
+ printLine("Sources:");
101
+ for (const source of referencedSources) {
102
+ const extras = source;
103
+ const meta = extrasString(extras, ["text"]);
104
+ printLine(` ${source.id}@${source.version}${meta}`);
105
+ }
106
+ }
107
+ });
108
+ }
109
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRepairCommand(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAyDN"}
@@ -0,0 +1,53 @@
1
+ import { Command } from "commander";
2
+ import { hydrateEngine, persistEngine } from "../engine.js";
3
+ import { listPremiseIds } from "../storage/premises.js";
4
+ import { readPremiseData } from "../storage/premises.js";
5
+ import { printJson, printLine } from "../output.js";
6
+ export function registerRepairCommand(versionedCmd, argumentId, version) {
7
+ versionedCmd
8
+ .command("repair")
9
+ .description("Repair argument grammar (e.g., insert formula buffers between nested operators)")
10
+ .option("--dry-run", "Report what would be repaired without modifying data")
11
+ .option("--json", "Output as JSON")
12
+ .action(async (opts) => {
13
+ // Count expressions on disk before repair
14
+ const premiseIds = await listPremiseIds(argumentId, version);
15
+ let diskExprCount = 0;
16
+ for (const pid of premiseIds) {
17
+ const data = await readPremiseData(argumentId, version, pid);
18
+ diskExprCount += data.expressions.length;
19
+ }
20
+ // Hydrate engine — fromSnapshot with autoNormalize: true
21
+ // auto-inserts formula buffers between nested operators
22
+ const engine = await hydrateEngine(argumentId, version);
23
+ // Count expressions after auto-normalization
24
+ let engineExprCount = 0;
25
+ for (const pm of engine.listPremises()) {
26
+ engineExprCount += pm.getExpressions().length;
27
+ }
28
+ const inserted = engineExprCount - diskExprCount;
29
+ if (opts.json) {
30
+ printJson({
31
+ repaired: !opts.dryRun && inserted > 0,
32
+ formulaBuffersInserted: inserted,
33
+ expressionsBefore: diskExprCount,
34
+ expressionsAfter: engineExprCount,
35
+ });
36
+ if (opts.dryRun || inserted === 0)
37
+ return;
38
+ await persistEngine(engine);
39
+ return;
40
+ }
41
+ if (inserted === 0) {
42
+ printLine("No repairs needed");
43
+ return;
44
+ }
45
+ if (opts.dryRun) {
46
+ printLine(`Would insert ${inserted} formula buffer(s)`);
47
+ return;
48
+ }
49
+ await persistEngine(engine);
50
+ printLine(`Repaired: inserted ${inserted} formula buffer(s)`);
51
+ });
52
+ }
53
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEnD,MAAM,UAAU,qBAAqB,CACjC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,YAAY;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACR,iFAAiF,CACpF;SACA,MAAM,CACH,WAAW,EACX,sDAAsD,CACzD;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QACzD,0CAA0C;QAC1C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC5D,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;YAC5D,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;QAC5C,CAAC;QAED,yDAAyD;QACzD,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEvD,6CAA6C;QAC7C,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YACrC,eAAe,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAA;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,GAAG,aAAa,CAAA;QAEhD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC;gBACN,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC;gBACtC,sBAAsB,EAAE,QAAQ;gBAChC,iBAAiB,EAAE,aAAa;gBAChC,gBAAgB,EAAE,eAAe;aACpC,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,CAAC;gBAAE,OAAM;YACzC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;YAC3B,OAAM;QACV,CAAC;QAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,SAAS,CAAC,mBAAmB,CAAC,CAAA;YAC9B,OAAM;QACV,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,SAAS,CAAC,gBAAgB,QAAQ,oBAAoB,CAAC,CAAA;YACvD,OAAM;QACV,CAAC;QAED,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3B,SAAS,CAAC,sBAAsB,QAAQ,oBAAoB,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRoleCommands(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmBnC,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAwDN"}
@@ -0,0 +1,64 @@
1
+ import { Command } from "commander";
2
+ import { hydrateEngine } from "../engine.js";
3
+ import { errorExit, printJson, printLine } from "../output.js";
4
+ import { readVersionMeta } from "../storage/arguments.js";
5
+ import { premiseExists } from "../storage/premises.js";
6
+ import { readRoles, writeRoles } from "../storage/roles.js";
7
+ async function assertNotPublished(argumentId, version) {
8
+ const meta = await readVersionMeta(argumentId, version);
9
+ if (meta.published) {
10
+ errorExit(`Version ${version} of argument "${argumentId}" is published and cannot be modified.`);
11
+ }
12
+ }
13
+ export function registerRoleCommands(versionedCmd, argumentId, version) {
14
+ const roles = versionedCmd
15
+ .command("roles")
16
+ .description("Manage premise role assignments");
17
+ roles
18
+ .command("show")
19
+ .description("Show current role assignments")
20
+ .option("--json", "Output as JSON")
21
+ .action(async (opts) => {
22
+ const engine = await hydrateEngine(argumentId, version);
23
+ const conclusionPremiseId = engine.getRoleState().conclusionPremiseId;
24
+ const supportingPremiseIds = engine
25
+ .listSupportingPremises()
26
+ .map((pm) => pm.getId());
27
+ if (opts.json) {
28
+ printJson({ conclusionPremiseId, supportingPremiseIds });
29
+ }
30
+ else {
31
+ printLine(`conclusion: ${conclusionPremiseId ?? "(none)"}`);
32
+ printLine(`supporting: ${supportingPremiseIds.length > 0 ? supportingPremiseIds.join(", ") : "(none)"}`);
33
+ }
34
+ });
35
+ roles
36
+ .command("set-conclusion <premise_id>")
37
+ .description("Set the designated conclusion premise")
38
+ .action(async (premiseId) => {
39
+ await assertNotPublished(argumentId, version);
40
+ if (!(await premiseExists(argumentId, version, premiseId))) {
41
+ errorExit(`Premise "${premiseId}" does not exist.`);
42
+ }
43
+ const state = await readRoles(argumentId, version);
44
+ await writeRoles(argumentId, version, {
45
+ ...state,
46
+ conclusionPremiseId: premiseId,
47
+ });
48
+ printLine("success");
49
+ });
50
+ roles
51
+ .command("clear-conclusion")
52
+ .description("Clear the designated conclusion premise")
53
+ .action(async () => {
54
+ await assertNotPublished(argumentId, version);
55
+ const state = await readRoles(argumentId, version);
56
+ const { conclusionPremiseId: _removed, ...rest } = state;
57
+ await writeRoles(argumentId, version, {
58
+ ...rest,
59
+ conclusionPremiseId: undefined,
60
+ });
61
+ printLine("success");
62
+ });
63
+ }
64
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/cli/commands/roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSourceCommands(program: Command): void;
3
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsG7D"}