@stevenvo780/st-lang 3.2.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +47 -7
  2. package/dist/api.d.ts +2 -0
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +5 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/argumentation/dot.d.ts +3 -0
  7. package/dist/argumentation/dot.d.ts.map +1 -0
  8. package/dist/argumentation/dot.js +25 -0
  9. package/dist/argumentation/dot.js.map +1 -0
  10. package/dist/argumentation/extensions.d.ts +11 -0
  11. package/dist/argumentation/extensions.d.ts.map +1 -0
  12. package/dist/argumentation/extensions.js +173 -0
  13. package/dist/argumentation/extensions.js.map +1 -0
  14. package/dist/argumentation/framework.d.ts +13 -0
  15. package/dist/argumentation/framework.d.ts.map +1 -0
  16. package/dist/argumentation/framework.js +117 -0
  17. package/dist/argumentation/framework.js.map +1 -0
  18. package/dist/argumentation/index.d.ts +6 -0
  19. package/dist/argumentation/index.d.ts.map +1 -0
  20. package/dist/argumentation/index.js +33 -0
  21. package/dist/argumentation/index.js.map +1 -0
  22. package/dist/argumentation/types.d.ts +11 -0
  23. package/dist/argumentation/types.d.ts.map +1 -0
  24. package/dist/argumentation/types.js +8 -0
  25. package/dist/argumentation/types.js.map +1 -0
  26. package/dist/ast/visitor.d.ts +95 -0
  27. package/dist/ast/visitor.d.ts.map +1 -0
  28. package/dist/ast/visitor.js +223 -0
  29. package/dist/ast/visitor.js.map +1 -0
  30. package/dist/citation-reasoning/derive.d.ts +31 -0
  31. package/dist/citation-reasoning/derive.d.ts.map +1 -0
  32. package/dist/citation-reasoning/derive.js +157 -0
  33. package/dist/citation-reasoning/derive.js.map +1 -0
  34. package/dist/citation-reasoning/index.d.ts +4 -0
  35. package/dist/citation-reasoning/index.d.ts.map +1 -0
  36. package/dist/citation-reasoning/index.js +10 -0
  37. package/dist/citation-reasoning/index.js.map +1 -0
  38. package/dist/citation-reasoning/types.d.ts +36 -0
  39. package/dist/citation-reasoning/types.d.ts.map +1 -0
  40. package/dist/citation-reasoning/types.js +6 -0
  41. package/dist/citation-reasoning/types.js.map +1 -0
  42. package/dist/educational/checker.d.ts +3 -0
  43. package/dist/educational/checker.d.ts.map +1 -0
  44. package/dist/educational/checker.js +244 -0
  45. package/dist/educational/checker.js.map +1 -0
  46. package/dist/educational/generator.d.ts +4 -0
  47. package/dist/educational/generator.d.ts.map +1 -0
  48. package/dist/educational/generator.js +158 -0
  49. package/dist/educational/generator.js.map +1 -0
  50. package/dist/educational/index.d.ts +6 -0
  51. package/dist/educational/index.d.ts.map +1 -0
  52. package/dist/educational/index.js +21 -0
  53. package/dist/educational/index.js.map +1 -0
  54. package/dist/educational/normalize.d.ts +6 -0
  55. package/dist/educational/normalize.d.ts.map +1 -0
  56. package/dist/educational/normalize.js +124 -0
  57. package/dist/educational/normalize.js.map +1 -0
  58. package/dist/educational/rng.d.ts +10 -0
  59. package/dist/educational/rng.d.ts.map +1 -0
  60. package/dist/educational/rng.js +47 -0
  61. package/dist/educational/rng.js.map +1 -0
  62. package/dist/educational/templates.d.ts +30 -0
  63. package/dist/educational/templates.d.ts.map +1 -0
  64. package/dist/educational/templates.js +567 -0
  65. package/dist/educational/templates.js.map +1 -0
  66. package/dist/educational/types.d.ts +44 -0
  67. package/dist/educational/types.d.ts.map +1 -0
  68. package/dist/educational/types.js +20 -0
  69. package/dist/educational/types.js.map +1 -0
  70. package/dist/exporters/coq/index.d.ts +35 -0
  71. package/dist/exporters/coq/index.d.ts.map +1 -0
  72. package/dist/exporters/coq/index.js +299 -0
  73. package/dist/exporters/coq/index.js.map +1 -0
  74. package/dist/fol-prover/cnf.d.ts +10 -0
  75. package/dist/fol-prover/cnf.d.ts.map +1 -0
  76. package/dist/fol-prover/cnf.js +357 -0
  77. package/dist/fol-prover/cnf.js.map +1 -0
  78. package/dist/fol-prover/index.d.ts +7 -0
  79. package/dist/fol-prover/index.d.ts.map +1 -0
  80. package/dist/fol-prover/index.js +27 -0
  81. package/dist/fol-prover/index.js.map +1 -0
  82. package/dist/fol-prover/prove.d.ts +4 -0
  83. package/dist/fol-prover/prove.d.ts.map +1 -0
  84. package/dist/fol-prover/prove.js +34 -0
  85. package/dist/fol-prover/prove.js.map +1 -0
  86. package/dist/fol-prover/resolve.d.ts +27 -0
  87. package/dist/fol-prover/resolve.d.ts.map +1 -0
  88. package/dist/fol-prover/resolve.js +234 -0
  89. package/dist/fol-prover/resolve.js.map +1 -0
  90. package/dist/fol-prover/types.d.ts +34 -0
  91. package/dist/fol-prover/types.d.ts.map +1 -0
  92. package/dist/fol-prover/types.js +38 -0
  93. package/dist/fol-prover/types.js.map +1 -0
  94. package/dist/fol-prover/unify.d.ts +9 -0
  95. package/dist/fol-prover/unify.d.ts.map +1 -0
  96. package/dist/fol-prover/unify.js +110 -0
  97. package/dist/fol-prover/unify.js.map +1 -0
  98. package/dist/hyperreal/index.d.ts +45 -0
  99. package/dist/hyperreal/index.d.ts.map +1 -0
  100. package/dist/hyperreal/index.js +183 -0
  101. package/dist/hyperreal/index.js.map +1 -0
  102. package/dist/index.d.ts +26 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +72 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/lsp/index.d.ts +6 -0
  107. package/dist/lsp/index.d.ts.map +1 -0
  108. package/dist/lsp/index.js +29 -0
  109. package/dist/lsp/index.js.map +1 -0
  110. package/dist/lsp/protocol.d.ts +20 -0
  111. package/dist/lsp/protocol.d.ts.map +1 -0
  112. package/dist/lsp/protocol.js +64 -0
  113. package/dist/lsp/protocol.js.map +1 -0
  114. package/dist/lsp/server.d.ts +47 -0
  115. package/dist/lsp/server.d.ts.map +1 -0
  116. package/dist/lsp/server.js +529 -0
  117. package/dist/lsp/server.js.map +1 -0
  118. package/dist/lsp/types.d.ts +152 -0
  119. package/dist/lsp/types.d.ts.map +1 -0
  120. package/dist/lsp/types.js +70 -0
  121. package/dist/lsp/types.js.map +1 -0
  122. package/dist/parser/formulas.d.ts +7 -0
  123. package/dist/parser/formulas.d.ts.map +1 -0
  124. package/dist/parser/formulas.js +511 -0
  125. package/dist/parser/formulas.js.map +1 -0
  126. package/dist/parser/parser.d.ts +11 -41
  127. package/dist/parser/parser.d.ts.map +1 -1
  128. package/dist/parser/parser.js +410 -1037
  129. package/dist/parser/parser.js.map +1 -1
  130. package/dist/parser/state.d.ts +34 -0
  131. package/dist/parser/state.d.ts.map +1 -0
  132. package/dist/parser/state.js +163 -0
  133. package/dist/parser/state.js.map +1 -0
  134. package/dist/plugin-system/demo-min-logic.d.ts +3 -0
  135. package/dist/plugin-system/demo-min-logic.d.ts.map +1 -0
  136. package/dist/plugin-system/demo-min-logic.js +116 -0
  137. package/dist/plugin-system/demo-min-logic.js.map +1 -0
  138. package/dist/plugin-system/errors.d.ts +9 -0
  139. package/dist/plugin-system/errors.d.ts.map +1 -0
  140. package/dist/plugin-system/errors.js +24 -0
  141. package/dist/plugin-system/errors.js.map +1 -0
  142. package/dist/plugin-system/index.d.ts +6 -0
  143. package/dist/plugin-system/index.d.ts.map +1 -0
  144. package/dist/plugin-system/index.js +14 -0
  145. package/dist/plugin-system/index.js.map +1 -0
  146. package/dist/plugin-system/registry.d.ts +12 -0
  147. package/dist/plugin-system/registry.d.ts.map +1 -0
  148. package/dist/plugin-system/registry.js +46 -0
  149. package/dist/plugin-system/registry.js.map +1 -0
  150. package/dist/plugin-system/types.d.ts +23 -0
  151. package/dist/plugin-system/types.d.ts.map +1 -0
  152. package/dist/plugin-system/types.js +3 -0
  153. package/dist/plugin-system/types.js.map +1 -0
  154. package/dist/plugin-system/validate.d.ts +4 -0
  155. package/dist/plugin-system/validate.d.ts.map +1 -0
  156. package/dist/plugin-system/validate.js +60 -0
  157. package/dist/plugin-system/validate.js.map +1 -0
  158. package/dist/profiles/classical/parallel-sat.js +3 -3
  159. package/dist/profiles/classical/parallel-sat.js.map +1 -1
  160. package/dist/proof-exchange/index.d.ts +26 -0
  161. package/dist/proof-exchange/index.d.ts.map +1 -0
  162. package/dist/proof-exchange/index.js +94 -0
  163. package/dist/proof-exchange/index.js.map +1 -0
  164. package/dist/runtime/memo/cache.d.ts +32 -0
  165. package/dist/runtime/memo/cache.d.ts.map +1 -0
  166. package/dist/runtime/memo/cache.js +129 -0
  167. package/dist/runtime/memo/cache.js.map +1 -0
  168. package/dist/runtime/memo/hash.d.ts +9 -0
  169. package/dist/runtime/memo/hash.d.ts.map +1 -0
  170. package/dist/runtime/memo/hash.js +87 -0
  171. package/dist/runtime/memo/hash.js.map +1 -0
  172. package/dist/runtime/memo/index.d.ts +4 -0
  173. package/dist/runtime/memo/index.d.ts.map +1 -0
  174. package/dist/runtime/memo/index.js +8 -0
  175. package/dist/runtime/memo/index.js.map +1 -0
  176. package/dist/runtime/parallel/index.d.ts +34 -0
  177. package/dist/runtime/parallel/index.d.ts.map +1 -0
  178. package/dist/runtime/parallel/index.js +220 -0
  179. package/dist/runtime/parallel/index.js.map +1 -0
  180. package/dist/runtime/parallel/worker.d.ts +22 -0
  181. package/dist/runtime/parallel/worker.d.ts.map +1 -0
  182. package/dist/runtime/parallel/worker.js +43 -0
  183. package/dist/runtime/parallel/worker.js.map +1 -0
  184. package/dist/runtime/smt/index.d.ts +6 -0
  185. package/dist/runtime/smt/index.d.ts.map +1 -0
  186. package/dist/runtime/smt/index.js +18 -0
  187. package/dist/runtime/smt/index.js.map +1 -0
  188. package/dist/runtime/smt/mock-backend.d.ts +30 -0
  189. package/dist/runtime/smt/mock-backend.d.ts.map +1 -0
  190. package/dist/runtime/smt/mock-backend.js +460 -0
  191. package/dist/runtime/smt/mock-backend.js.map +1 -0
  192. package/dist/runtime/smt/serializer.d.ts +21 -0
  193. package/dist/runtime/smt/serializer.d.ts.map +1 -0
  194. package/dist/runtime/smt/serializer.js +314 -0
  195. package/dist/runtime/smt/serializer.js.map +1 -0
  196. package/dist/runtime/smt/subprocess-backend.d.ts +62 -0
  197. package/dist/runtime/smt/subprocess-backend.d.ts.map +1 -0
  198. package/dist/runtime/smt/subprocess-backend.js +261 -0
  199. package/dist/runtime/smt/subprocess-backend.js.map +1 -0
  200. package/dist/runtime/smt/types.d.ts +57 -0
  201. package/dist/runtime/smt/types.d.ts.map +1 -0
  202. package/dist/runtime/smt/types.js +6 -0
  203. package/dist/runtime/smt/types.js.map +1 -0
  204. package/dist/runtime/streaming/index.d.ts +4 -0
  205. package/dist/runtime/streaming/index.d.ts.map +1 -0
  206. package/dist/runtime/streaming/index.js +9 -0
  207. package/dist/runtime/streaming/index.js.map +1 -0
  208. package/dist/runtime/streaming/stream-eval.d.ts +31 -0
  209. package/dist/runtime/streaming/stream-eval.d.ts.map +1 -0
  210. package/dist/runtime/streaming/stream-eval.js +155 -0
  211. package/dist/runtime/streaming/stream-eval.js.map +1 -0
  212. package/dist/runtime/streaming/types.d.ts +33 -0
  213. package/dist/runtime/streaming/types.d.ts.map +1 -0
  214. package/dist/runtime/streaming/types.js +6 -0
  215. package/dist/runtime/streaming/types.js.map +1 -0
  216. package/dist/runtime/typecheck/checker.d.ts +72 -0
  217. package/dist/runtime/typecheck/checker.d.ts.map +1 -0
  218. package/dist/runtime/typecheck/checker.js +462 -0
  219. package/dist/runtime/typecheck/checker.js.map +1 -0
  220. package/dist/runtime/typecheck/index.d.ts +4 -0
  221. package/dist/runtime/typecheck/index.d.ts.map +1 -0
  222. package/dist/runtime/typecheck/index.js +13 -0
  223. package/dist/runtime/typecheck/index.js.map +1 -0
  224. package/dist/runtime/typecheck/levenshtein.d.ts +11 -0
  225. package/dist/runtime/typecheck/levenshtein.d.ts.map +1 -0
  226. package/dist/runtime/typecheck/levenshtein.js +49 -0
  227. package/dist/runtime/typecheck/levenshtein.js.map +1 -0
  228. package/dist/runtime/typecheck/types.d.ts +14 -0
  229. package/dist/runtime/typecheck/types.d.ts.map +1 -0
  230. package/dist/runtime/typecheck/types.js +26 -0
  231. package/dist/runtime/typecheck/types.js.map +1 -0
  232. package/dist/solver/cdcl-v2/clause-learning.d.ts +33 -0
  233. package/dist/solver/cdcl-v2/clause-learning.d.ts.map +1 -0
  234. package/dist/solver/cdcl-v2/clause-learning.js +110 -0
  235. package/dist/solver/cdcl-v2/clause-learning.js.map +1 -0
  236. package/dist/solver/cdcl-v2/index.d.ts +9 -0
  237. package/dist/solver/cdcl-v2/index.d.ts.map +1 -0
  238. package/dist/solver/cdcl-v2/index.js +39 -0
  239. package/dist/solver/cdcl-v2/index.js.map +1 -0
  240. package/dist/solver/cdcl-v2/lbd.d.ts +34 -0
  241. package/dist/solver/cdcl-v2/lbd.d.ts.map +1 -0
  242. package/dist/solver/cdcl-v2/lbd.js +72 -0
  243. package/dist/solver/cdcl-v2/lbd.js.map +1 -0
  244. package/dist/solver/cdcl-v2/luby.d.ts +28 -0
  245. package/dist/solver/cdcl-v2/luby.d.ts.map +1 -0
  246. package/dist/solver/cdcl-v2/luby.js +70 -0
  247. package/dist/solver/cdcl-v2/luby.js.map +1 -0
  248. package/dist/solver/cdcl-v2/phase-saving.d.ts +14 -0
  249. package/dist/solver/cdcl-v2/phase-saving.d.ts.map +1 -0
  250. package/dist/solver/cdcl-v2/phase-saving.js +44 -0
  251. package/dist/solver/cdcl-v2/phase-saving.js.map +1 -0
  252. package/dist/solver/cdcl-v2/solver.d.ts +10 -0
  253. package/dist/solver/cdcl-v2/solver.d.ts.map +1 -0
  254. package/dist/solver/cdcl-v2/solver.js +442 -0
  255. package/dist/solver/cdcl-v2/solver.js.map +1 -0
  256. package/dist/solver/cdcl-v2/state.d.ts +54 -0
  257. package/dist/solver/cdcl-v2/state.d.ts.map +1 -0
  258. package/dist/solver/cdcl-v2/state.js +22 -0
  259. package/dist/solver/cdcl-v2/state.js.map +1 -0
  260. package/dist/solver/cdcl-v2/vsids.d.ts +19 -0
  261. package/dist/solver/cdcl-v2/vsids.d.ts.map +1 -0
  262. package/dist/solver/cdcl-v2/vsids.js +77 -0
  263. package/dist/solver/cdcl-v2/vsids.js.map +1 -0
  264. package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
  265. package/dist/tests/argumentation/dung.test.d.ts +2 -0
  266. package/dist/tests/argumentation/dung.test.d.ts.map +1 -0
  267. package/dist/tests/argumentation/dung.test.js +219 -0
  268. package/dist/tests/argumentation/dung.test.js.map +1 -0
  269. package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts +2 -0
  270. package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts.map +1 -0
  271. package/dist/tests/citation-reasoning/citation-reasoning.test.js +240 -0
  272. package/dist/tests/citation-reasoning/citation-reasoning.test.js.map +1 -0
  273. package/dist/tests/coverage-fill-api.test.d.ts +7 -0
  274. package/dist/tests/coverage-fill-api.test.d.ts.map +1 -0
  275. package/dist/tests/coverage-fill-api.test.js +310 -0
  276. package/dist/tests/coverage-fill-api.test.js.map +1 -0
  277. package/dist/tests/coverage-fill-aristotelian.test.d.ts +7 -0
  278. package/dist/tests/coverage-fill-aristotelian.test.d.ts.map +1 -0
  279. package/dist/tests/coverage-fill-aristotelian.test.js +377 -0
  280. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -0
  281. package/dist/tests/coverage-fill-belnap.test.d.ts +6 -0
  282. package/dist/tests/coverage-fill-belnap.test.d.ts.map +1 -0
  283. package/dist/tests/coverage-fill-belnap.test.js +277 -0
  284. package/dist/tests/coverage-fill-belnap.test.js.map +1 -0
  285. package/dist/tests/coverage-fill-cross-system.test.d.ts +6 -0
  286. package/dist/tests/coverage-fill-cross-system.test.d.ts.map +1 -0
  287. package/dist/tests/coverage-fill-cross-system.test.js +75 -0
  288. package/dist/tests/coverage-fill-cross-system.test.js.map +1 -0
  289. package/dist/tests/coverage-fill-fallacies.test.d.ts +6 -0
  290. package/dist/tests/coverage-fill-fallacies.test.d.ts.map +1 -0
  291. package/dist/tests/coverage-fill-fallacies.test.js +287 -0
  292. package/dist/tests/coverage-fill-fallacies.test.js.map +1 -0
  293. package/dist/tests/coverage-fill-format.test.d.ts +7 -0
  294. package/dist/tests/coverage-fill-format.test.d.ts.map +1 -0
  295. package/dist/tests/coverage-fill-format.test.js +455 -0
  296. package/dist/tests/coverage-fill-format.test.js.map +1 -0
  297. package/dist/tests/coverage-fill-intuitionistic.test.d.ts +6 -0
  298. package/dist/tests/coverage-fill-intuitionistic.test.d.ts.map +1 -0
  299. package/dist/tests/coverage-fill-intuitionistic.test.js +293 -0
  300. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -0
  301. package/dist/tests/coverage-fill-probabilistic.test.d.ts +7 -0
  302. package/dist/tests/coverage-fill-probabilistic.test.d.ts.map +1 -0
  303. package/dist/tests/coverage-fill-probabilistic.test.js +314 -0
  304. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -0
  305. package/dist/tests/educational/checker.test.d.ts +2 -0
  306. package/dist/tests/educational/checker.test.d.ts.map +1 -0
  307. package/dist/tests/educational/checker.test.js +212 -0
  308. package/dist/tests/educational/checker.test.js.map +1 -0
  309. package/dist/tests/educational/generator.test.d.ts +2 -0
  310. package/dist/tests/educational/generator.test.d.ts.map +1 -0
  311. package/dist/tests/educational/generator.test.js +137 -0
  312. package/dist/tests/educational/generator.test.js.map +1 -0
  313. package/dist/tests/exporters/coq/coq-exporter.test.d.ts +2 -0
  314. package/dist/tests/exporters/coq/coq-exporter.test.d.ts.map +1 -0
  315. package/dist/tests/exporters/coq/coq-exporter.test.js +353 -0
  316. package/dist/tests/exporters/coq/coq-exporter.test.js.map +1 -0
  317. package/dist/tests/fol-prover/cnf.test.d.ts +2 -0
  318. package/dist/tests/fol-prover/cnf.test.d.ts.map +1 -0
  319. package/dist/tests/fol-prover/cnf.test.js +74 -0
  320. package/dist/tests/fol-prover/cnf.test.js.map +1 -0
  321. package/dist/tests/fol-prover/prove.test.d.ts +2 -0
  322. package/dist/tests/fol-prover/prove.test.d.ts.map +1 -0
  323. package/dist/tests/fol-prover/prove.test.js +106 -0
  324. package/dist/tests/fol-prover/prove.test.js.map +1 -0
  325. package/dist/tests/fol-prover/unify.test.d.ts +2 -0
  326. package/dist/tests/fol-prover/unify.test.d.ts.map +1 -0
  327. package/dist/tests/fol-prover/unify.test.js +66 -0
  328. package/dist/tests/fol-prover/unify.test.js.map +1 -0
  329. package/dist/tests/hyperreal/hyperreal.test.d.ts +2 -0
  330. package/dist/tests/hyperreal/hyperreal.test.d.ts.map +1 -0
  331. package/dist/tests/hyperreal/hyperreal.test.js +219 -0
  332. package/dist/tests/hyperreal/hyperreal.test.js.map +1 -0
  333. package/dist/tests/lsp/server.test.d.ts +2 -0
  334. package/dist/tests/lsp/server.test.d.ts.map +1 -0
  335. package/dist/tests/lsp/server.test.js +406 -0
  336. package/dist/tests/lsp/server.test.js.map +1 -0
  337. package/dist/tests/memo/cache.test.d.ts +2 -0
  338. package/dist/tests/memo/cache.test.d.ts.map +1 -0
  339. package/dist/tests/memo/cache.test.js +252 -0
  340. package/dist/tests/memo/cache.test.js.map +1 -0
  341. package/dist/tests/parallel/parallel-pool.test.d.ts +11 -0
  342. package/dist/tests/parallel/parallel-pool.test.d.ts.map +1 -0
  343. package/dist/tests/parallel/parallel-pool.test.js +192 -0
  344. package/dist/tests/parallel/parallel-pool.test.js.map +1 -0
  345. package/dist/tests/plugin-system/demo-min-logic.test.d.ts +2 -0
  346. package/dist/tests/plugin-system/demo-min-logic.test.d.ts.map +1 -0
  347. package/dist/tests/plugin-system/demo-min-logic.test.js +85 -0
  348. package/dist/tests/plugin-system/demo-min-logic.test.js.map +1 -0
  349. package/dist/tests/plugin-system/registry.test.d.ts +2 -0
  350. package/dist/tests/plugin-system/registry.test.d.ts.map +1 -0
  351. package/dist/tests/plugin-system/registry.test.js +88 -0
  352. package/dist/tests/plugin-system/registry.test.js.map +1 -0
  353. package/dist/tests/plugin-system/validate.test.d.ts +2 -0
  354. package/dist/tests/plugin-system/validate.test.d.ts.map +1 -0
  355. package/dist/tests/plugin-system/validate.test.js +101 -0
  356. package/dist/tests/plugin-system/validate.test.js.map +1 -0
  357. package/dist/tests/proof-exchange/proof-exchange.test.d.ts +2 -0
  358. package/dist/tests/proof-exchange/proof-exchange.test.d.ts.map +1 -0
  359. package/dist/tests/proof-exchange/proof-exchange.test.js +161 -0
  360. package/dist/tests/proof-exchange/proof-exchange.test.js.map +1 -0
  361. package/dist/tests/sat-v2/clause-learning.test.d.ts +2 -0
  362. package/dist/tests/sat-v2/clause-learning.test.d.ts.map +1 -0
  363. package/dist/tests/sat-v2/clause-learning.test.js +73 -0
  364. package/dist/tests/sat-v2/clause-learning.test.js.map +1 -0
  365. package/dist/tests/sat-v2/lbd.test.d.ts +2 -0
  366. package/dist/tests/sat-v2/lbd.test.d.ts.map +1 -0
  367. package/dist/tests/sat-v2/lbd.test.js +82 -0
  368. package/dist/tests/sat-v2/lbd.test.js.map +1 -0
  369. package/dist/tests/sat-v2/luby.test.d.ts +2 -0
  370. package/dist/tests/sat-v2/luby.test.d.ts.map +1 -0
  371. package/dist/tests/sat-v2/luby.test.js +58 -0
  372. package/dist/tests/sat-v2/luby.test.js.map +1 -0
  373. package/dist/tests/sat-v2/phase-saving.test.d.ts +2 -0
  374. package/dist/tests/sat-v2/phase-saving.test.d.ts.map +1 -0
  375. package/dist/tests/sat-v2/phase-saving.test.js +38 -0
  376. package/dist/tests/sat-v2/phase-saving.test.js.map +1 -0
  377. package/dist/tests/sat-v2/solver-end-to-end.test.d.ts +2 -0
  378. package/dist/tests/sat-v2/solver-end-to-end.test.d.ts.map +1 -0
  379. package/dist/tests/sat-v2/solver-end-to-end.test.js +199 -0
  380. package/dist/tests/sat-v2/solver-end-to-end.test.js.map +1 -0
  381. package/dist/tests/sat-v2/vsids.test.d.ts +2 -0
  382. package/dist/tests/sat-v2/vsids.test.d.ts.map +1 -0
  383. package/dist/tests/sat-v2/vsids.test.js +69 -0
  384. package/dist/tests/sat-v2/vsids.test.js.map +1 -0
  385. package/dist/tests/smt/mock-backend.test.d.ts +2 -0
  386. package/dist/tests/smt/mock-backend.test.d.ts.map +1 -0
  387. package/dist/tests/smt/mock-backend.test.js +129 -0
  388. package/dist/tests/smt/mock-backend.test.js.map +1 -0
  389. package/dist/tests/smt/serializer.test.d.ts +2 -0
  390. package/dist/tests/smt/serializer.test.d.ts.map +1 -0
  391. package/dist/tests/smt/serializer.test.js +94 -0
  392. package/dist/tests/smt/serializer.test.js.map +1 -0
  393. package/dist/tests/smt/subprocess-backend.test.d.ts +2 -0
  394. package/dist/tests/smt/subprocess-backend.test.d.ts.map +1 -0
  395. package/dist/tests/smt/subprocess-backend.test.js +89 -0
  396. package/dist/tests/smt/subprocess-backend.test.js.map +1 -0
  397. package/dist/tests/streaming/stream-eval.test.d.ts +2 -0
  398. package/dist/tests/streaming/stream-eval.test.d.ts.map +1 -0
  399. package/dist/tests/streaming/stream-eval.test.js +170 -0
  400. package/dist/tests/streaming/stream-eval.test.js.map +1 -0
  401. package/dist/tests/text-layer-v2/claim-graph.test.d.ts +2 -0
  402. package/dist/tests/text-layer-v2/claim-graph.test.d.ts.map +1 -0
  403. package/dist/tests/text-layer-v2/claim-graph.test.js +255 -0
  404. package/dist/tests/text-layer-v2/claim-graph.test.js.map +1 -0
  405. package/dist/tests/time-travel/snapshot.test.d.ts +2 -0
  406. package/dist/tests/time-travel/snapshot.test.d.ts.map +1 -0
  407. package/dist/tests/time-travel/snapshot.test.js +75 -0
  408. package/dist/tests/time-travel/snapshot.test.js.map +1 -0
  409. package/dist/tests/time-travel/store.test.d.ts +2 -0
  410. package/dist/tests/time-travel/store.test.d.ts.map +1 -0
  411. package/dist/tests/time-travel/store.test.js +242 -0
  412. package/dist/tests/time-travel/store.test.js.map +1 -0
  413. package/dist/tests/typecheck-core.test.d.ts +2 -0
  414. package/dist/tests/typecheck-core.test.d.ts.map +1 -0
  415. package/dist/tests/typecheck-core.test.js +339 -0
  416. package/dist/tests/typecheck-core.test.js.map +1 -0
  417. package/dist/text-layer/v2/claim-graph.d.ts +45 -0
  418. package/dist/text-layer/v2/claim-graph.d.ts.map +1 -0
  419. package/dist/text-layer/v2/claim-graph.js +270 -0
  420. package/dist/text-layer/v2/claim-graph.js.map +1 -0
  421. package/dist/text-layer/v2/index.d.ts +6 -0
  422. package/dist/text-layer/v2/index.d.ts.map +1 -0
  423. package/dist/text-layer/v2/index.js +10 -0
  424. package/dist/text-layer/v2/index.js.map +1 -0
  425. package/dist/text-layer/v2/types.d.ts +32 -0
  426. package/dist/text-layer/v2/types.d.ts.map +1 -0
  427. package/dist/text-layer/v2/types.js +11 -0
  428. package/dist/text-layer/v2/types.js.map +1 -0
  429. package/dist/time-travel/index.d.ts +4 -0
  430. package/dist/time-travel/index.d.ts.map +1 -0
  431. package/dist/time-travel/index.js +8 -0
  432. package/dist/time-travel/index.js.map +1 -0
  433. package/dist/time-travel/snapshot.d.ts +9 -0
  434. package/dist/time-travel/snapshot.d.ts.map +1 -0
  435. package/dist/time-travel/snapshot.js +24 -0
  436. package/dist/time-travel/snapshot.js.map +1 -0
  437. package/dist/time-travel/store.d.ts +14 -0
  438. package/dist/time-travel/store.d.ts.map +1 -0
  439. package/dist/time-travel/store.js +119 -0
  440. package/dist/time-travel/store.js.map +1 -0
  441. package/dist/time-travel/types.d.ts +50 -0
  442. package/dist/time-travel/types.d.ts.map +1 -0
  443. package/dist/time-travel/types.js +3 -0
  444. package/dist/time-travel/types.js.map +1 -0
  445. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agora-integration-fixtures.test.js","sourceRoot":"","sources":["../../src/tests/agora-integration-fixtures.test.ts"],"names":[],"mappings":";;;;;AAAA,mCAA8C;AAC9C,qCAAuC;AACvC,0DAA6B;AAC7B,gCAAqD;AAUrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,IAAA,sBAAY,EAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0DAA0D,CAAC,EAAE,MAAM,CAAC,CACpF,CAAC;AAE5B,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAA,WAAE,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAA,cAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAChC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7E,CAAC;YACD,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;gBACjE,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAA,WAAE,EAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,EAAE,GAAG,IAAA,uBAAiB,GAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,qDAAqD,CAAC,CAAC;QACrG,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,OAAO,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"agora-integration-fixtures.test.js","sourceRoot":"","sources":["../../src/tests/agora-integration-fixtures.test.ts"],"names":[],"mappings":";;;;;AAAA,mCAA8C;AAC9C,qCAAuC;AACvC,0DAA6B;AAC7B,gCAAqD;AAUrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,IAAA,sBAAY,EACV,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0DAA0D,CAAC,EACvF,MAAM,CACP,CACwB,CAAC;AAE5B,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAA,WAAE,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAA,cAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAChC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7E,CAAC;YACD,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;gBACjE,IAAA,eAAM,EACJ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,CACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAA,WAAE,EAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,EAAE,GAAG,IAAA,uBAAiB,GAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,qDAAqD,CAC7E,CAAC;QACF,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,OAAO,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dung.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dung.test.d.ts","sourceRoot":"","sources":["../../../src/tests/argumentation/dung.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * ST Argumentation — Tests del framework de Dung
5
+ * ================================================
6
+ * Valida predicados (conflict-free, admisible, defiende) y extensiones
7
+ * estándar (grounded, preferred, stable, complete, semi-stable) sobre
8
+ * fixtures canónicos de la literatura.
9
+ */
10
+ const vitest_1 = require("vitest");
11
+ const argumentation_1 = require("../../argumentation");
12
+ function setToSortedArray(set) {
13
+ return Array.from(set).sort();
14
+ }
15
+ function extensionsAsSortedArrays(extensions) {
16
+ return extensions.map(setToSortedArray).sort((a, b) => a.join(',').localeCompare(b.join(',')));
17
+ }
18
+ function expectExtensions(extensions, expected) {
19
+ const got = extensionsAsSortedArrays(extensions);
20
+ const want = expected
21
+ .map((arr) => [...arr].sort())
22
+ .sort((a, b) => a.join(',').localeCompare(b.join(',')));
23
+ (0, vitest_1.expect)(got).toEqual(want);
24
+ }
25
+ (0, vitest_1.describe)('Argumentation — predicados básicos', () => {
26
+ (0, vitest_1.it)('conflict-free detecta ataques internos', () => {
27
+ const af = (0, argumentation_1.createFramework)(['a', 'b'], [['a', 'b']]);
28
+ (0, vitest_1.expect)((0, argumentation_1.isConflictFree)(af, new Set(['a']))).toBe(true);
29
+ (0, vitest_1.expect)((0, argumentation_1.isConflictFree)(af, new Set(['b']))).toBe(true);
30
+ (0, vitest_1.expect)((0, argumentation_1.isConflictFree)(af, new Set(['a', 'b']))).toBe(false);
31
+ (0, vitest_1.expect)((0, argumentation_1.isConflictFree)(af, new Set())).toBe(true);
32
+ });
33
+ (0, vitest_1.it)('defends correctamente cuando hay contraataque', () => {
34
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], [
35
+ ['b', 'a'],
36
+ ['c', 'b'],
37
+ ]);
38
+ (0, vitest_1.expect)((0, argumentation_1.defends)(af, new Set(['c']), 'a')).toBe(true);
39
+ (0, vitest_1.expect)((0, argumentation_1.defends)(af, new Set([]), 'a')).toBe(false);
40
+ (0, vitest_1.expect)((0, argumentation_1.defends)(af, new Set(['c']), 'c')).toBe(true);
41
+ });
42
+ (0, vitest_1.it)('admisible requiere conflict-free + defender a cada miembro', () => {
43
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], [
44
+ ['b', 'a'],
45
+ ['c', 'b'],
46
+ ]);
47
+ (0, vitest_1.expect)((0, argumentation_1.isAdmissible)(af, new Set([]))).toBe(true);
48
+ (0, vitest_1.expect)((0, argumentation_1.isAdmissible)(af, new Set(['c']))).toBe(true);
49
+ (0, vitest_1.expect)((0, argumentation_1.isAdmissible)(af, new Set(['a']))).toBe(false);
50
+ (0, vitest_1.expect)((0, argumentation_1.isAdmissible)(af, new Set(['a', 'c']))).toBe(true);
51
+ (0, vitest_1.expect)((0, argumentation_1.isAdmissible)(af, new Set(['b', 'c']))).toBe(false);
52
+ });
53
+ (0, vitest_1.it)('characteristicFunction devuelve args defendidos', () => {
54
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], [
55
+ ['b', 'a'],
56
+ ['c', 'b'],
57
+ ]);
58
+ const fc = (0, argumentation_1.characteristicFunction)(af, new Set(['c']));
59
+ (0, vitest_1.expect)(setToSortedArray(fc)).toEqual(['a', 'c']);
60
+ });
61
+ (0, vitest_1.it)('createFramework rechaza ataques con argumentos desconocidos', () => {
62
+ (0, vitest_1.expect)(() => (0, argumentation_1.createFramework)(['a'], [['a', 'b']])).toThrow();
63
+ (0, vitest_1.expect)(() => (0, argumentation_1.createFramework)(['a'], [['b', 'a']])).toThrow();
64
+ });
65
+ });
66
+ (0, vitest_1.describe)('Argumentation — AF clásico de Dung {a,b,c} con a↔b, b↔c', () => {
67
+ function buildClassic() {
68
+ return (0, argumentation_1.createFramework)(['a', 'b', 'c'], [
69
+ ['a', 'b'],
70
+ ['b', 'a'],
71
+ ['b', 'c'],
72
+ ['c', 'b'],
73
+ ]);
74
+ }
75
+ (0, vitest_1.it)('grounded = ∅ (b ataca a y c, a y c se atacan mutuamente con b no resuelto)', () => {
76
+ const af = buildClassic();
77
+ const grounded = (0, argumentation_1.groundedExtension)(af);
78
+ (0, vitest_1.expect)(setToSortedArray(grounded)).toEqual([]);
79
+ });
80
+ (0, vitest_1.it)('preferred = {{a,c}, {b}}', () => {
81
+ const af = buildClassic();
82
+ const ext = (0, argumentation_1.preferredExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
83
+ expectExtensions(ext, [['a', 'c'], ['b']]);
84
+ });
85
+ (0, vitest_1.it)('stable = {{a,c}, {b}}', () => {
86
+ const af = buildClassic();
87
+ const ext = (0, argumentation_1.stableExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
88
+ expectExtensions(ext, [['a', 'c'], ['b']]);
89
+ });
90
+ (0, vitest_1.it)('complete incluye grounded + ambos preferred', () => {
91
+ const af = buildClassic();
92
+ const ext = (0, argumentation_1.completeExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
93
+ expectExtensions(ext, [[], ['a', 'c'], ['b']]);
94
+ });
95
+ (0, vitest_1.it)('semi-stable = preferred maximizando rango', () => {
96
+ const af = buildClassic();
97
+ const ext = (0, argumentation_1.semiStableExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
98
+ expectExtensions(ext, [['a', 'c'], ['b']]);
99
+ });
100
+ (0, vitest_1.it)('computeExtensions despacha cada semántica', () => {
101
+ const af = buildClassic();
102
+ expectExtensions((0, argumentation_1.computeExtensions)(af, 'grounded'), [[]]);
103
+ expectExtensions((0, argumentation_1.computeExtensions)(af, 'preferred'), [['a', 'c'], ['b']]);
104
+ expectExtensions((0, argumentation_1.computeExtensions)(af, 'stable'), [['a', 'c'], ['b']]);
105
+ expectExtensions((0, argumentation_1.computeExtensions)(af, 'complete'), [[], ['a', 'c'], ['b']]);
106
+ expectExtensions((0, argumentation_1.computeExtensions)(af, 'semi-stable'), [['a', 'c'], ['b']]);
107
+ });
108
+ });
109
+ (0, vitest_1.describe)('Argumentation — AF sin ataques', () => {
110
+ (0, vitest_1.it)('grounded = todos los argumentos', () => {
111
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], []);
112
+ const grounded = (0, argumentation_1.groundedExtension)(af);
113
+ (0, vitest_1.expect)(setToSortedArray(grounded)).toEqual(['a', 'b', 'c']);
114
+ });
115
+ (0, vitest_1.it)('preferred = {todos}', () => {
116
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], []);
117
+ const ext = (0, argumentation_1.preferredExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
118
+ expectExtensions(ext, [['a', 'b', 'c']]);
119
+ });
120
+ (0, vitest_1.it)('stable = {todos}', () => {
121
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], []);
122
+ const ext = (0, argumentation_1.stableExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
123
+ expectExtensions(ext, [['a', 'b', 'c']]);
124
+ });
125
+ });
126
+ (0, vitest_1.describe)('Argumentation — Self-attacker a→a', () => {
127
+ (0, vitest_1.it)('grounded = ∅', () => {
128
+ const af = (0, argumentation_1.createFramework)(['a'], [['a', 'a']]);
129
+ const grounded = (0, argumentation_1.groundedExtension)(af);
130
+ (0, vitest_1.expect)(setToSortedArray(grounded)).toEqual([]);
131
+ });
132
+ (0, vitest_1.it)('preferred = {∅} (solo el vacío es admisible)', () => {
133
+ const af = (0, argumentation_1.createFramework)(['a'], [['a', 'a']]);
134
+ const ext = (0, argumentation_1.preferredExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
135
+ expectExtensions(ext, [[]]);
136
+ });
137
+ (0, vitest_1.it)('stable = ∅ (no hay extensión estable: vacío no ataca a "a")', () => {
138
+ const af = (0, argumentation_1.createFramework)(['a'], [['a', 'a']]);
139
+ const ext = (0, argumentation_1.stableExtensions)(af, { exhaustiveLimit: 20, warnOnLarge: false });
140
+ (0, vitest_1.expect)(ext).toEqual([]);
141
+ });
142
+ });
143
+ (0, vitest_1.describe)('Argumentation — DOT export', () => {
144
+ (0, vitest_1.it)('emite digraph sintácticamente válido con nodos y aristas', () => {
145
+ const af = (0, argumentation_1.createFramework)(['a', 'b', 'c'], [
146
+ ['a', 'b'],
147
+ ['b', 'c'],
148
+ ]);
149
+ const dot = (0, argumentation_1.dotExport)(af);
150
+ (0, vitest_1.expect)(dot).toMatch(/^digraph\s+\w+\s*\{/);
151
+ (0, vitest_1.expect)(dot).toMatch(/\}$/);
152
+ (0, vitest_1.expect)(dot).toMatch(/"a"\s*->\s*"b";/);
153
+ (0, vitest_1.expect)(dot).toMatch(/"b"\s*->\s*"c";/);
154
+ (0, vitest_1.expect)(dot).toMatch(/"a";/);
155
+ (0, vitest_1.expect)(dot).toMatch(/"b";/);
156
+ (0, vitest_1.expect)(dot).toMatch(/"c";/);
157
+ });
158
+ (0, vitest_1.it)('escapea comillas dobles en ids', () => {
159
+ const af = (0, argumentation_1.createFramework)(['arg"1', 'arg2'], [['arg"1', 'arg2']]);
160
+ const dot = (0, argumentation_1.dotExport)(af);
161
+ (0, vitest_1.expect)(dot).toContain('"arg\\"1"');
162
+ });
163
+ (0, vitest_1.it)('cada arista tiene formato "x" -> "y";', () => {
164
+ const af = (0, argumentation_1.createFramework)(['p', 'q'], [['p', 'q']]);
165
+ const dot = (0, argumentation_1.dotExport)(af);
166
+ const edgeRe = /"[^"]+"\s*->\s*"[^"]+";/g;
167
+ const matches = dot.match(edgeRe);
168
+ (0, vitest_1.expect)(matches?.length).toBe(1);
169
+ });
170
+ });
171
+ (0, vitest_1.describe)('Argumentation — Performance bench', () => {
172
+ (0, vitest_1.it)('AF de 10 args con 30 ataques aleatorios computa preferred + stable en <500ms', () => {
173
+ const rng = mulberry32(0xc0ffee);
174
+ const args = Array.from({ length: 10 }, (_, i) => `arg${String(i)}`);
175
+ const attacks = [];
176
+ const seen = new Set();
177
+ while (attacks.length < 30) {
178
+ const i = Math.floor(rng() * 10);
179
+ const j = Math.floor(rng() * 10);
180
+ const key = `${String(i)}-${String(j)}`;
181
+ if (seen.has(key))
182
+ continue;
183
+ seen.add(key);
184
+ const from = args[i];
185
+ const to = args[j];
186
+ if (from === undefined || to === undefined)
187
+ continue;
188
+ attacks.push([from, to]);
189
+ }
190
+ const af = (0, argumentation_1.createFramework)(args, attacks);
191
+ const start = performance.now();
192
+ const grounded = (0, argumentation_1.computeExtensions)(af, 'grounded');
193
+ const preferred = (0, argumentation_1.computeExtensions)(af, 'preferred', {
194
+ exhaustiveLimit: 20,
195
+ warnOnLarge: false,
196
+ });
197
+ const stable = (0, argumentation_1.computeExtensions)(af, 'stable', { exhaustiveLimit: 20, warnOnLarge: false });
198
+ const complete = (0, argumentation_1.computeExtensions)(af, 'complete', { exhaustiveLimit: 20, warnOnLarge: false });
199
+ const semi = (0, argumentation_1.computeExtensions)(af, 'semi-stable', { exhaustiveLimit: 20, warnOnLarge: false });
200
+ const elapsed = performance.now() - start;
201
+ (0, vitest_1.expect)(grounded.length).toBe(1);
202
+ (0, vitest_1.expect)(preferred.length).toBeGreaterThanOrEqual(1);
203
+ (0, vitest_1.expect)(complete.length).toBeGreaterThanOrEqual(1);
204
+ (0, vitest_1.expect)(semi.length).toBeGreaterThanOrEqual(1);
205
+ (0, vitest_1.expect)(stable.length).toBeGreaterThanOrEqual(0);
206
+ (0, vitest_1.expect)(elapsed).toBeLessThan(500);
207
+ });
208
+ });
209
+ function mulberry32(seed) {
210
+ let a = seed >>> 0;
211
+ return function next() {
212
+ a = (a + 0x6d2b79f5) >>> 0;
213
+ let t = a;
214
+ t = Math.imul(t ^ (t >>> 15), t | 1);
215
+ t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
216
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
217
+ };
218
+ }
219
+ //# sourceMappingURL=dung.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dung.test.js","sourceRoot":"","sources":["../../../src/tests/argumentation/dung.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=citation-reasoning.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-reasoning.test.d.ts","sourceRoot":"","sources":["../../../src/tests/citation-reasoning/citation-reasoning.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const citation_reasoning_1 = require("../../citation-reasoning");
5
+ // ---------------------------------------------------------------------------
6
+ // Helpers
7
+ // ---------------------------------------------------------------------------
8
+ /** Evaluador simple de modus ponens para fórmulas con la forma "P -> Q". */
9
+ function modusPonensEvaluator() {
10
+ return (premises, goal) => {
11
+ // Si premises contiene "P -> Q" y "P", y goal es "Q" → válido.
12
+ for (const p of premises) {
13
+ const match = /^(.+?)\s*->\s*(.+)$/.exec(p.trim());
14
+ if (!match)
15
+ continue;
16
+ const antecedent = match[1].trim();
17
+ const consequent = match[2].trim();
18
+ if (consequent === goal.trim() && premises.includes(antecedent)) {
19
+ return Promise.resolve({
20
+ valid: true,
21
+ proof: {
22
+ steps: [{ formula: antecedent }, { formula: p }, { formula: goal }],
23
+ },
24
+ });
25
+ }
26
+ }
27
+ return Promise.resolve({ valid: false });
28
+ };
29
+ }
30
+ /** Evaluador que siempre falla (para probar casos negativos). */
31
+ const alwaysInvalidEvaluator = () => Promise.resolve({ valid: false });
32
+ /** Evaluador que siempre tiene éxito (para probar derivación local pura). */
33
+ const alwaysValidEvaluator = (_premises, goal) => Promise.resolve({
34
+ valid: true,
35
+ proof: { steps: [{ formula: goal }] },
36
+ });
37
+ // ---------------------------------------------------------------------------
38
+ // Test 1: 2 citas + 1 premisa local → goal Q via modus ponens
39
+ // ---------------------------------------------------------------------------
40
+ (0, vitest_1.describe)('deriveWithCitations — modus ponens con premisas citadas', () => {
41
+ (0, vitest_1.it)('derivación válida: 2 citations + 1 premisa local producen el goal', async () => {
42
+ const citations = [
43
+ {
44
+ id: 'thm-01',
45
+ docId: 'doc-filosofia',
46
+ formula: 'P -> Q',
47
+ profile: 'classical.propositional',
48
+ weight: 2,
49
+ },
50
+ {
51
+ id: 'ax-01',
52
+ docId: 'doc-logica',
53
+ formula: 'A -> B',
54
+ profile: 'classical.propositional',
55
+ weight: 1,
56
+ },
57
+ ];
58
+ const derivation = {
59
+ goal: 'Q',
60
+ citations,
61
+ localPremises: ['P'],
62
+ };
63
+ const result = await (0, citation_reasoning_1.deriveWithCitations)(derivation, modusPonensEvaluator());
64
+ (0, vitest_1.expect)(result.valid).toBe(true);
65
+ // Traza debe incluir pasos de citas, premisa local y conclusión.
66
+ const citeSteps = result.trace.filter((s) => s.cite !== undefined);
67
+ (0, vitest_1.expect)(citeSteps).toHaveLength(2);
68
+ const localSteps = result.trace.filter((s) => s.step.startsWith('premisa local:'));
69
+ (0, vitest_1.expect)(localSteps).toHaveLength(1);
70
+ const conclusionStep = result.trace.find((s) => s.step.includes('(válida)'));
71
+ (0, vitest_1.expect)(conclusionStep).toBeDefined();
72
+ // El paso de cita para thm-01 debe referenciar el docId correcto.
73
+ const thm01Step = result.trace.find((s) => s.cite === 'doc-filosofia#thm-01');
74
+ (0, vitest_1.expect)(thm01Step).toBeDefined();
75
+ (0, vitest_1.expect)(thm01Step.step).toContain('P -> Q');
76
+ // La explicación menciona el resultado válido.
77
+ (0, vitest_1.expect)(result.explanation).toContain('VÁLIDO');
78
+ });
79
+ (0, vitest_1.it)('citas se ordenan por peso descendente antes de pasarlas al evaluador', async () => {
80
+ const callLog = [];
81
+ const recordingEvaluator = (premises, goal, profile) => {
82
+ callLog.push([...premises]);
83
+ return alwaysInvalidEvaluator(premises, goal, profile);
84
+ };
85
+ const citations = [
86
+ { id: 'c1', docId: 'docA', formula: 'low', profile: 'classical.propositional', weight: 1 },
87
+ { id: 'c2', docId: 'docB', formula: 'high', profile: 'classical.propositional', weight: 5 },
88
+ { id: 'c3', docId: 'docC', formula: 'mid', profile: 'classical.propositional', weight: 3 },
89
+ ];
90
+ await (0, citation_reasoning_1.deriveWithCitations)({ goal: 'X', citations, localPremises: [] }, recordingEvaluator);
91
+ // Primera llamada: premisas ordenadas high(5) > mid(3) > low(1).
92
+ const firstCall = callLog[0];
93
+ (0, vitest_1.expect)(firstCall).toBeDefined();
94
+ (0, vitest_1.expect)(firstCall[0]).toBe('high');
95
+ (0, vitest_1.expect)(firstCall[1]).toBe('mid');
96
+ (0, vitest_1.expect)(firstCall[2]).toBe('low');
97
+ });
98
+ });
99
+ // ---------------------------------------------------------------------------
100
+ // Test 2: Citation no probada → marca explicación con warning
101
+ // ---------------------------------------------------------------------------
102
+ (0, vitest_1.describe)('deriveWithCitations — citation no probada', () => {
103
+ (0, vitest_1.it)('devuelve valid=false y la explicación incluye ADVERTENCIA sobre citas', async () => {
104
+ const citations = [
105
+ {
106
+ id: 'thm-99',
107
+ docId: 'doc-desconocido',
108
+ formula: 'X -> Y',
109
+ profile: 'classical.propositional',
110
+ },
111
+ ];
112
+ const derivation = {
113
+ goal: 'Z', // Z no se puede derivar de X->Y sin premisa X.
114
+ citations,
115
+ localPremises: [],
116
+ };
117
+ const result = await (0, citation_reasoning_1.deriveWithCitations)(derivation, alwaysInvalidEvaluator);
118
+ (0, vitest_1.expect)(result.valid).toBe(false);
119
+ // La explicación debe advertir sobre premisas citadas no provadas.
120
+ (0, vitest_1.expect)(result.explanation).toMatch(/ADVERTENCIA/);
121
+ (0, vitest_1.expect)(result.explanation).toContain('NO VÁLIDO');
122
+ // La traza refleja el intento.
123
+ const conclusionStep = result.trace.find((s) => s.step.includes('no derivable'));
124
+ (0, vitest_1.expect)(conclusionStep).toBeDefined();
125
+ });
126
+ (0, vitest_1.it)('cita con weight=0 provoca ADVERTENCIA de peso nulo', async () => {
127
+ const citations = [
128
+ {
129
+ id: 'weak-01',
130
+ docId: 'doc-débil',
131
+ formula: 'P',
132
+ profile: 'classical.propositional',
133
+ weight: 0,
134
+ },
135
+ ];
136
+ const result = await (0, citation_reasoning_1.deriveWithCitations)({ goal: 'Q', citations, localPremises: [] }, alwaysInvalidEvaluator);
137
+ (0, vitest_1.expect)(result.valid).toBe(false);
138
+ (0, vitest_1.expect)(result.explanation).toContain('peso 0');
139
+ });
140
+ });
141
+ // ---------------------------------------------------------------------------
142
+ // Test 3: Sin citaciones → fallback a derivación local
143
+ // ---------------------------------------------------------------------------
144
+ (0, vitest_1.describe)('deriveWithCitations — sin citaciones (derivación local)', () => {
145
+ (0, vitest_1.it)('derivación puramente local: sin citas, el evaluador local decide', async () => {
146
+ const derivation = {
147
+ goal: 'P -> P',
148
+ citations: [],
149
+ localPremises: ['P -> P'],
150
+ };
151
+ const result = await (0, citation_reasoning_1.deriveWithCitations)(derivation, alwaysValidEvaluator);
152
+ (0, vitest_1.expect)(result.valid).toBe(true);
153
+ // No debe haber pasos de cita.
154
+ const citeSteps = result.trace.filter((s) => s.cite !== undefined);
155
+ (0, vitest_1.expect)(citeSteps).toHaveLength(0);
156
+ // Debe haber un paso local.
157
+ const localSteps = result.trace.filter((s) => s.step.startsWith('premisa local:'));
158
+ (0, vitest_1.expect)(localSteps).toHaveLength(1);
159
+ // La explicación menciona derivación puramente local.
160
+ (0, vitest_1.expect)(result.explanation).toContain('puramente local');
161
+ });
162
+ (0, vitest_1.it)('sin citas ni premisas locales → inválido con mensaje descriptivo', async () => {
163
+ const derivation = {
164
+ goal: 'P',
165
+ citations: [],
166
+ localPremises: [],
167
+ };
168
+ const result = await (0, citation_reasoning_1.deriveWithCitations)(derivation, alwaysInvalidEvaluator);
169
+ (0, vitest_1.expect)(result.valid).toBe(false);
170
+ (0, vitest_1.expect)(result.explanation).toContain('No se proveyeron premisas');
171
+ });
172
+ });
173
+ // ---------------------------------------------------------------------------
174
+ // Test 4: explainProof
175
+ // ---------------------------------------------------------------------------
176
+ (0, vitest_1.describe)('explainProof', () => {
177
+ (0, vitest_1.it)('con proof=undefined devuelve mensaje genérico', () => {
178
+ const msg = (0, citation_reasoning_1.explainProof)(undefined, []);
179
+ (0, vitest_1.expect)(msg).toContain('No hay prueba formal');
180
+ });
181
+ (0, vitest_1.it)('con proof=null devuelve mensaje genérico', () => {
182
+ const msg = (0, citation_reasoning_1.explainProof)(null, []);
183
+ (0, vitest_1.expect)(msg).toContain('No hay prueba formal');
184
+ });
185
+ (0, vitest_1.it)('con proof con steps los lista', () => {
186
+ const proof = {
187
+ steps: [{ formula: 'P' }, { formula: 'P -> Q' }, { formula: 'Q' }],
188
+ };
189
+ const citations = [
190
+ { id: 'thm-01', docId: 'doc-x', formula: 'P -> Q', profile: 'classical.propositional' },
191
+ ];
192
+ const msg = (0, citation_reasoning_1.explainProof)(proof, citations);
193
+ (0, vitest_1.expect)(msg).toContain('doc-x#thm-01');
194
+ (0, vitest_1.expect)(msg).toContain('P -> Q');
195
+ (0, vitest_1.expect)(msg).toContain('1.');
196
+ (0, vitest_1.expect)(msg).toContain('3.');
197
+ });
198
+ (0, vitest_1.it)('sin citas menciona derivación local', () => {
199
+ const proof = { steps: [{ formula: 'P' }] };
200
+ const msg = (0, citation_reasoning_1.explainProof)(proof, []);
201
+ (0, vitest_1.expect)(msg).toContain('No se utilizaron premisas externas');
202
+ });
203
+ (0, vitest_1.it)('con proof no estructurado serializa como JSON', () => {
204
+ const proof = 'proof-opaque-string';
205
+ const msg = (0, citation_reasoning_1.explainProof)(proof, []);
206
+ (0, vitest_1.expect)(msg).toContain('proof-opaque-string');
207
+ });
208
+ });
209
+ // ---------------------------------------------------------------------------
210
+ // Test 5: Perfil dominante
211
+ // ---------------------------------------------------------------------------
212
+ (0, vitest_1.describe)('deriveWithCitations — perfil lógico dominante', () => {
213
+ (0, vitest_1.it)('todas las citas con el mismo perfil → ese perfil se pasa al evaluador', async () => {
214
+ const capturedProfiles = [];
215
+ const capturingEvaluator = (_premises, _goal, profile) => {
216
+ capturedProfiles.push(profile);
217
+ return Promise.resolve({ valid: false });
218
+ };
219
+ const citations = [
220
+ { id: 'a', docId: 'doc1', formula: 'X', profile: 'modal.k', weight: 1 },
221
+ { id: 'b', docId: 'doc2', formula: 'Y', profile: 'modal.k', weight: 1 },
222
+ ];
223
+ await (0, citation_reasoning_1.deriveWithCitations)({ goal: 'Z', citations, localPremises: [] }, capturingEvaluator);
224
+ (0, vitest_1.expect)(capturedProfiles[0]).toBe('modal.k');
225
+ });
226
+ (0, vitest_1.it)('citas con perfiles mixtos → fallback a classical.propositional', async () => {
227
+ const capturedProfiles = [];
228
+ const capturingEvaluator = (_premises, _goal, profile) => {
229
+ capturedProfiles.push(profile);
230
+ return Promise.resolve({ valid: false });
231
+ };
232
+ const citations = [
233
+ { id: 'a', docId: 'doc1', formula: 'X', profile: 'modal.k' },
234
+ { id: 'b', docId: 'doc2', formula: 'Y', profile: 'intuitionistic' },
235
+ ];
236
+ await (0, citation_reasoning_1.deriveWithCitations)({ goal: 'Z', citations, localPremises: [] }, capturingEvaluator);
237
+ (0, vitest_1.expect)(capturedProfiles[0]).toBe('classical.propositional');
238
+ });
239
+ });
240
+ //# sourceMappingURL=citation-reasoning.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation-reasoning.test.js","sourceRoot":"","sources":["../../../src/tests/citation-reasoning/citation-reasoning.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,iEAMkC;AAElC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,4EAA4E;AAC5E,SAAS,oBAAoB;IAC3B,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACxB,+DAA+D;QAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qBACpE;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,sBAAsB,GAAc,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAElF,6EAA6E;AAC7E,MAAM,oBAAoB,GAAc,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAC1D,OAAO,CAAC,OAAO,CAAC;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;CACtC,CAAC,CAAC;AAEL,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E,IAAA,iBAAQ,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,IAAA,WAAE,EAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,SAAS,GAAiB;YAC9B;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,eAAe;gBACtB,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC;aACV;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC;aACV;SACF,CAAC;QAEF,MAAM,UAAU,GAAuB;YACrC,IAAI,EAAE,GAAG;YACT,SAAS;YACT,aAAa,EAAE,CAAC,GAAG,CAAC;SACrB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAmB,EAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAE7E,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnF,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7E,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAErC,kEAAkE;QAClE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;QAC9E,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,IAAA,eAAM,EAAC,SAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE5C,+CAA+C;QAC/C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC5B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,MAAM,SAAS,GAAiB;YAC9B,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,EAAE;YAC1F,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,EAAE;YAC3F,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,EAAE;SAC3F,CAAC;QAEF,MAAM,IAAA,wCAAmB,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAE3F,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E,IAAA,iBAAQ,EAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,IAAA,WAAE,EAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,SAAS,GAAiB;YAC9B;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,yBAAyB;aACnC;SACF,CAAC;QAEF,MAAM,UAAU,GAAuB;YACrC,IAAI,EAAE,GAAG,EAAE,+CAA+C;YAC1D,SAAS;YACT,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAmB,EAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAE7E,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,mEAAmE;QACnE,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAElD,+BAA+B;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACjF,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,SAAS,GAAiB;YAC9B;gBACE,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,CAAC;aACV;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAmB,EACtC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,EAC3C,sBAAsB,CACvB,CAAC;QAEF,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,IAAA,iBAAQ,EAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,IAAA,WAAE,EAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,UAAU,GAAuB;YACrC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,CAAC,QAAQ,CAAC;SAC1B,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAmB,EAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAE3E,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,+BAA+B;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAElC,4BAA4B;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnF,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnC,sDAAsD;QACtD,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,UAAU,GAAuB;YACrC,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAmB,EAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAE7E,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,IAAA,iBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SACnE,CAAC;QACF,MAAM,SAAS,GAAiB;YAC9B,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE;SACxF,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,qBAAqB,CAAC;QACpC,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,IAAA,iBAAQ,EAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7D,IAAA,WAAE,EAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,kBAAkB,GAAc,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,MAAM,SAAS,GAAiB;YAC9B,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;YACvE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;SACxE,CAAC;QAEF,MAAM,IAAA,wCAAmB,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAE3F,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,kBAAkB,GAAc,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,MAAM,SAAS,GAAiB;YAC9B,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;YAC5D,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE;SACpE,CAAC;QAEF,MAAM,IAAA,wCAAmB,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAE3F,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Coverage fill — src/api.ts
3
+ * Current coverage: ~43% stmts, ~28% branch
4
+ * Focuses on: createInterpreter, hover, symbols, gotoDefinition, completion, render, listProfiles
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=coverage-fill-api.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-fill-api.test.d.ts","sourceRoot":"","sources":["../../src/tests/coverage-fill-api.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}