agentic-qe 3.13.11 → 3.14.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 (438) hide show
  1. package/.claude/helpers/.helpers-version +1 -1
  2. package/.claude/helpers/helpers.manifest.json +2 -2
  3. package/.claude/helpers/statusline.cjs +89 -40
  4. package/.claude/skills/qe-court/SKILL.md +4 -4
  5. package/.claude/skills/qe-court/config-schema.json +38 -0
  6. package/.claude/skills/qe-court/evals/qe-court.yaml +8 -8
  7. package/.claude/skills/skills-manifest.json +1 -1
  8. package/CHANGELOG.md +93 -0
  9. package/assets/skills/qe-court/SKILL.md +4 -4
  10. package/assets/skills/qe-court/config-schema.json +38 -0
  11. package/assets/skills/qe-court/evals/qe-court.yaml +8 -8
  12. package/assets/skills/skills-manifest.json +1 -1
  13. package/dist/cli/brain-commands.d.ts +1 -0
  14. package/dist/cli/brain-commands.js +1 -0
  15. package/dist/cli/bundle.js +5 -5
  16. package/dist/cli/chunks/adapter-3VBXL7DO.js +2 -0
  17. package/dist/cli/chunks/{agent-booster-wasm-5ARDZYNO.js → agent-booster-wasm-JZO6VUW4.js} +2 -2
  18. package/dist/cli/chunks/{agent-handler-SVKEPF7B.js → agent-handler-534KFGEJ.js} +2 -2
  19. package/dist/cli/chunks/{agent-memory-branch-QDL7OVHC.js → agent-memory-branch-B7KWLWY4.js} +2 -2
  20. package/dist/cli/chunks/aqe-learning-engine-NXRNKJNA.js +2 -0
  21. package/dist/cli/chunks/{arena-7OCKBN6O.js → arena-7CCD3S3I.js} +2 -2
  22. package/dist/cli/chunks/{arena-HQLSNQZ3.js → arena-OW5MELJX.js} +4 -4
  23. package/dist/cli/chunks/{audit-2EQJW5UE.js → audit-BHVKN4E2.js} +3 -3
  24. package/dist/cli/chunks/base-F6GMOKU2.js +2 -0
  25. package/dist/cli/chunks/{better-sqlite3-OBFNNE4T.js → better-sqlite3-P5FA6WFK.js} +2 -2
  26. package/dist/cli/chunks/brain-handler-WNW5LOV7.js +90 -0
  27. package/dist/cli/chunks/{branch-enumerator-6B4L5O3D.js → branch-enumerator-TVZ2ODKH.js} +2 -2
  28. package/dist/cli/chunks/{browser-VDMGBWNK.js → browser-TCEB2W2F.js} +2 -2
  29. package/dist/cli/chunks/browser-workflow-QRDC46LR.js +2 -0
  30. package/dist/cli/chunks/{chunk-M3MRFZKD.js → chunk-2D7UBX5S.js} +1 -1
  31. package/dist/cli/chunks/{chunk-IZF3VLNW.js → chunk-2HYVOX6N.js} +1 -1
  32. package/dist/cli/chunks/{chunk-U6G6RUFI.js → chunk-2NO4H35K.js} +1 -1
  33. package/dist/cli/chunks/{chunk-4TJJU5Y2.js → chunk-2O4DDPEA.js} +19 -19
  34. package/dist/cli/chunks/{chunk-24XW7KUX.js → chunk-3EM2MK3Z.js} +2 -2
  35. package/dist/cli/chunks/chunk-3GUO4ERR.js +24 -0
  36. package/dist/cli/chunks/{chunk-YRCNWQBO.js → chunk-3JIJBR4V.js} +2 -2
  37. package/dist/cli/chunks/{chunk-2E2QCIGR.js → chunk-3QT6S3A3.js} +3 -3
  38. package/dist/cli/chunks/{chunk-W2T36CS5.js → chunk-3RYTAYR6.js} +1 -1
  39. package/dist/cli/chunks/chunk-43GPSYAL.js +14 -0
  40. package/dist/cli/chunks/{chunk-YYAJEPRD.js → chunk-4FEJEVG7.js} +1 -1
  41. package/dist/cli/chunks/{chunk-4DTBGQWA.js → chunk-4MK2G6TK.js} +2 -2
  42. package/dist/cli/chunks/{chunk-CK7ZLMD2.js → chunk-4XTHRAUV.js} +1 -1
  43. package/dist/cli/chunks/{chunk-LM727BVL.js → chunk-4ZVGSVHV.js} +4 -4
  44. package/dist/cli/chunks/{chunk-DPZ4AU6W.js → chunk-52DFCV57.js} +2 -2
  45. package/dist/cli/chunks/{chunk-PADCR4LY.js → chunk-5LEAGKX5.js} +2 -2
  46. package/dist/cli/chunks/{chunk-P736OKQN.js → chunk-5MZF4N4Q.js} +1 -1
  47. package/dist/cli/chunks/{chunk-XZI4QXJJ.js → chunk-5VDVYTO5.js} +2 -2
  48. package/dist/cli/chunks/chunk-5XGVSQS2.js +11 -0
  49. package/dist/cli/chunks/{chunk-AAPJG3WI.js → chunk-6AOZU3UN.js} +2 -2
  50. package/dist/cli/chunks/{chunk-NC7HTDH5.js → chunk-6AYO3IR2.js} +2 -2
  51. package/dist/cli/chunks/{chunk-TJ67B7S7.js → chunk-6DPAMYLU.js} +2 -2
  52. package/dist/cli/chunks/{chunk-PZHAPI47.js → chunk-6IJMD2ZL.js} +3 -3
  53. package/dist/cli/chunks/{chunk-RGUKQXKL.js → chunk-6IZQSLYZ.js} +2 -2
  54. package/dist/cli/chunks/{chunk-2E3PRDEX.js → chunk-6W42XWLL.js} +2 -2
  55. package/dist/cli/chunks/{chunk-ATRUE6CT.js → chunk-7BOPFN3Y.js} +2 -2
  56. package/dist/cli/chunks/{chunk-LIGDJP6H.js → chunk-7OUMJCJT.js} +1 -1
  57. package/dist/cli/chunks/{chunk-2Y3PW5EJ.js → chunk-7RAB2BZY.js} +160 -26
  58. package/dist/cli/chunks/{chunk-XEUUWOSS.js → chunk-7RVAHJQZ.js} +3 -3
  59. package/dist/cli/chunks/{chunk-HHEWINDL.js → chunk-A2WZEMWT.js} +1 -1
  60. package/dist/cli/chunks/{chunk-36ONUM43.js → chunk-A7SKM6JL.js} +1 -1
  61. package/dist/cli/chunks/chunk-AFGT26NR.js +2 -0
  62. package/dist/cli/chunks/{chunk-23E37MDA.js → chunk-AR6SATU3.js} +2 -2
  63. package/dist/cli/chunks/{chunk-IYMV4CU5.js → chunk-AVLA5PBJ.js} +2 -2
  64. package/dist/cli/chunks/{chunk-OLPJGYO5.js → chunk-B3H4K7CY.js} +2 -2
  65. package/dist/cli/chunks/{chunk-JWT675RM.js → chunk-BQCTO7UB.js} +2 -2
  66. package/dist/cli/chunks/{chunk-JKP2BUF5.js → chunk-BZ4QVFP2.js} +2 -2
  67. package/dist/cli/chunks/{chunk-WINYWMQP.js → chunk-CIUOC5F3.js} +1 -1
  68. package/dist/cli/chunks/{chunk-SJJFU7KK.js → chunk-CIZ6LSNV.js} +2 -2
  69. package/dist/cli/chunks/{chunk-2D7SBOZ4.js → chunk-DDPJUAXQ.js} +2 -2
  70. package/dist/cli/chunks/{chunk-H7QWOJF2.js → chunk-DJITEQYS.js} +2 -2
  71. package/dist/cli/chunks/{chunk-DMHQ4ZUZ.js → chunk-DOWCOZDO.js} +2 -2
  72. package/dist/cli/chunks/{chunk-PBJ5I2NS.js → chunk-E4NU4BJA.js} +2 -2
  73. package/dist/cli/chunks/{chunk-E54QUKAD.js → chunk-E722WNWC.js} +2 -2
  74. package/dist/cli/chunks/chunk-ECTPFCON.js +2 -0
  75. package/dist/cli/chunks/{chunk-MUAW4AJ6.js → chunk-EJ6IP7DE.js} +5 -5
  76. package/dist/cli/chunks/{chunk-NHL37QAZ.js → chunk-ENGKLFLY.js} +2 -2
  77. package/dist/cli/chunks/{chunk-VU3ARH4S.js → chunk-FF43SRP6.js} +1 -1
  78. package/dist/cli/chunks/{chunk-PJNIDDER.js → chunk-FOHYBR3O.js} +1 -1
  79. package/dist/cli/chunks/{chunk-LREIHR2A.js → chunk-FRL3X2QA.js} +2 -2
  80. package/dist/cli/chunks/{chunk-WYQM7GXW.js → chunk-GKNDP5VK.js} +2 -2
  81. package/dist/cli/chunks/{chunk-JK6ENS3J.js → chunk-GVEJP5T7.js} +2 -2
  82. package/dist/cli/chunks/{chunk-H3BHOIT6.js → chunk-H3YDDKBW.js} +3 -3
  83. package/dist/cli/chunks/{chunk-3SPYI7TS.js → chunk-H6NFDOMK.js} +1 -1
  84. package/dist/cli/chunks/{chunk-AZVV7POX.js → chunk-H76TV4UU.js} +3 -3
  85. package/dist/cli/chunks/{chunk-2HT5HRAA.js → chunk-HJIAVR6P.js} +2 -2
  86. package/dist/cli/chunks/{chunk-UZ7OWJ75.js → chunk-HLNQDRHA.js} +1 -1
  87. package/dist/cli/chunks/{chunk-IGW5L7YM.js → chunk-HNKPLVYS.js} +1 -1
  88. package/dist/cli/chunks/{chunk-Y2S6SS7M.js → chunk-HQ7243G3.js} +2 -2
  89. package/dist/cli/chunks/{chunk-TZA45FI7.js → chunk-HQHLHSJO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-YEPJS4AM.js → chunk-I3VHXA2W.js} +2 -2
  91. package/dist/cli/chunks/{chunk-W2NQDAJZ.js → chunk-IE5LC7MB.js} +2 -2
  92. package/dist/cli/chunks/{chunk-TU4BYSXR.js → chunk-IL4AEB3J.js} +27 -25
  93. package/dist/cli/chunks/{chunk-JTQSXU6V.js → chunk-IL6QRXRP.js} +6 -6
  94. package/dist/cli/chunks/{chunk-UX5SM2PW.js → chunk-IQ3JFHZN.js} +1 -1
  95. package/dist/cli/chunks/{chunk-RAV2NJNX.js → chunk-IQLRA4FV.js} +1 -1
  96. package/dist/cli/chunks/{chunk-S3FNAHNC.js → chunk-J3XSHJGK.js} +2 -2
  97. package/dist/cli/chunks/{chunk-AHG2O5HT.js → chunk-JAK5UUWH.js} +2 -2
  98. package/dist/cli/chunks/{chunk-XDK2TPI5.js → chunk-JGROLJ33.js} +1 -1
  99. package/dist/cli/chunks/{chunk-MWTFFGU3.js → chunk-JMKMDSXG.js} +2 -2
  100. package/dist/cli/chunks/{chunk-BVKFBJX6.js → chunk-JRKEBESE.js} +2 -2
  101. package/dist/cli/chunks/{chunk-76NSSNB3.js → chunk-JTWJR2KY.js} +2 -2
  102. package/dist/cli/chunks/{chunk-QYHRDBKI.js → chunk-JY4VZ6BN.js} +2 -2
  103. package/dist/cli/chunks/{chunk-DLL3AJH7.js → chunk-K6CGQR5R.js} +1 -1
  104. package/dist/cli/chunks/{chunk-7HTYM6XY.js → chunk-KDIZQHG5.js} +2 -2
  105. package/dist/cli/chunks/{chunk-B646CE3C.js → chunk-KTSCZ7AW.js} +2 -2
  106. package/dist/cli/chunks/{chunk-LLP3UW62.js → chunk-L4C42WYI.js} +2 -2
  107. package/dist/cli/chunks/{chunk-H3AKF2HS.js → chunk-LCSVROU7.js} +10 -10
  108. package/dist/cli/chunks/{chunk-HZR4G6I3.js → chunk-LKR7T3OZ.js} +1 -1
  109. package/dist/cli/chunks/{chunk-Z5ARI4XT.js → chunk-LZHTCUCO.js} +2 -2
  110. package/dist/cli/chunks/{chunk-YDEYB6Z2.js → chunk-M3HUZD2I.js} +1 -1
  111. package/dist/cli/chunks/{chunk-GWTGBQ6X.js → chunk-MO7EITJK.js} +2 -2
  112. package/dist/cli/chunks/{chunk-5364DBZG.js → chunk-N2YAUDAV.js} +2 -2
  113. package/dist/cli/chunks/{chunk-XVFSZLRS.js → chunk-NDPQ2WPU.js} +1 -1
  114. package/dist/cli/chunks/{chunk-CTS545BF.js → chunk-NKWO2X3T.js} +1 -1
  115. package/dist/cli/chunks/{chunk-GPJDZFFV.js → chunk-NOPVFBQM.js} +2 -2
  116. package/dist/cli/chunks/{chunk-VNVGCJCS.js → chunk-NYARYONH.js} +1 -1
  117. package/dist/cli/chunks/{chunk-WRZ5WZG3.js → chunk-O2MZZL54.js} +2 -2
  118. package/dist/cli/chunks/{chunk-EKFKQGIT.js → chunk-OIYUSWHX.js} +1 -1
  119. package/dist/cli/chunks/{chunk-ZNGFSR5M.js → chunk-OONCRNFA.js} +2 -2
  120. package/dist/cli/chunks/{chunk-LUAXQB57.js → chunk-PEW6FZ47.js} +1 -1
  121. package/dist/cli/chunks/{chunk-W7BB4XLP.js → chunk-Q73RRTLE.js} +2 -2
  122. package/dist/cli/chunks/{chunk-JKPMV5VB.js → chunk-QKQZ4IJF.js} +5 -5
  123. package/dist/cli/chunks/{chunk-EHZQIXH6.js → chunk-QMMDN4WX.js} +3 -3
  124. package/dist/cli/chunks/chunk-QQCENKCX.js +2 -0
  125. package/dist/cli/chunks/{chunk-7YL7P5XG.js → chunk-QSPRQPEL.js} +2 -2
  126. package/dist/cli/chunks/{chunk-DXQMVATY.js → chunk-QZPFUFZG.js} +2 -2
  127. package/dist/cli/chunks/chunk-R2B6EE45.js +2 -0
  128. package/dist/cli/chunks/{chunk-VLW63UA2.js → chunk-R6WJF4D5.js} +2 -2
  129. package/dist/cli/chunks/{chunk-EWH7PFV6.js → chunk-RGVD6ZUX.js} +1 -1
  130. package/dist/cli/chunks/{chunk-UGFHEVG4.js → chunk-RKUYVVGJ.js} +2 -2
  131. package/dist/cli/chunks/{chunk-V7QZMOG3.js → chunk-S5YVLPXU.js} +2 -2
  132. package/dist/cli/chunks/{chunk-UDFTDQ6C.js → chunk-SROZXIMT.js} +37 -37
  133. package/dist/cli/chunks/{chunk-AFXMTSO3.js → chunk-SSV6KSFT.js} +1 -1
  134. package/dist/cli/chunks/{chunk-HGPMS6JL.js → chunk-SUSMHSXT.js} +2 -2
  135. package/dist/cli/chunks/{chunk-BL5BHBXR.js → chunk-T3BZAFLP.js} +1 -1
  136. package/dist/cli/chunks/{chunk-K652SCBA.js → chunk-TGOGCA74.js} +2 -2
  137. package/dist/cli/chunks/{chunk-VHNAN7E2.js → chunk-TKYEP7OR.js} +1 -1
  138. package/dist/cli/chunks/{chunk-OJUI65TR.js → chunk-TQJE7DNL.js} +2 -2
  139. package/dist/cli/chunks/{chunk-MS5CAEPA.js → chunk-TRDEULS7.js} +2 -2
  140. package/dist/cli/chunks/{chunk-YRV45WDT.js → chunk-U4GZWPKM.js} +2 -2
  141. package/dist/cli/chunks/{chunk-2BDTZYQN.js → chunk-UI6WSPEK.js} +3 -3
  142. package/dist/cli/chunks/{chunk-TMY2Y7SC.js → chunk-UUJ5VQJM.js} +1 -1
  143. package/dist/cli/chunks/{chunk-4CTKRLRX.js → chunk-VESOYP6A.js} +2 -2
  144. package/dist/cli/chunks/{chunk-UPMQHCC2.js → chunk-VOSISOFD.js} +1 -1
  145. package/dist/cli/chunks/{chunk-IZOWGVTU.js → chunk-VPVZHJSU.js} +2 -2
  146. package/dist/cli/chunks/{chunk-TBO64O56.js → chunk-VRRG66XB.js} +1 -1
  147. package/dist/cli/chunks/{chunk-WJB6YYMJ.js → chunk-VXU53F7Z.js} +2 -2
  148. package/dist/cli/chunks/{chunk-4TUGQESL.js → chunk-VYENTZ45.js} +2 -2
  149. package/dist/cli/chunks/chunk-WJXHE52V.js +65 -0
  150. package/dist/cli/chunks/{chunk-EN36AFRJ.js → chunk-WKNWRDA5.js} +1 -1
  151. package/dist/cli/chunks/{chunk-4X4GTEQY.js → chunk-WTHAVFIC.js} +1 -1
  152. package/dist/cli/chunks/{chunk-LPDT27EC.js → chunk-WWWX76QB.js} +2 -2
  153. package/dist/cli/chunks/{chunk-TCVEXQLL.js → chunk-XITTURP2.js} +2 -2
  154. package/dist/cli/chunks/{chunk-HV6LJ57R.js → chunk-XXFKN7LB.js} +1 -1
  155. package/dist/cli/chunks/{chunk-UJ2NRIAS.js → chunk-YEAC3DC6.js} +2 -2
  156. package/dist/cli/chunks/{chunk-FBASWZ7G.js → chunk-YKWMKRYB.js} +1 -1
  157. package/dist/cli/chunks/chunk-YKZV7O65.js +2 -0
  158. package/dist/cli/chunks/{chunk-PT6U3IIK.js → chunk-YW4RNZWT.js} +2 -2
  159. package/dist/cli/chunks/{chunk-H5DS7S4B.js → chunk-ZAAYOENS.js} +2 -2
  160. package/dist/cli/chunks/chunk-ZBKGX72B.js +13 -0
  161. package/dist/cli/chunks/{chunk-WVNLNXXI.js → chunk-ZBOWR4XT.js} +2 -2
  162. package/dist/cli/chunks/{chunk-FPX4JSFH.js → chunk-ZCVJCCQQ.js} +2 -2
  163. package/dist/cli/chunks/{chunk-OQWG7GOD.js → chunk-ZI3UO7QR.js} +8 -7
  164. package/dist/cli/chunks/{chunk-BPPEN7SS.js → chunk-ZNSMVQCG.js} +2 -2
  165. package/dist/cli/chunks/{chunk-EI4KYBNI.js → chunk-ZQSXG7FA.js} +2 -2
  166. package/dist/cli/chunks/{ci-M6WYL2XY.js → ci-B432UH6N.js} +2 -2
  167. package/dist/cli/chunks/{ci-output-JFC3WOHX.js → ci-output-GTHH7WYG.js} +2 -2
  168. package/dist/cli/chunks/{circuit-breaker-IMVBU6WP.js → circuit-breaker-VW75DLME.js} +2 -2
  169. package/dist/cli/chunks/{claude-flow-setup-M5T5ZUXX.js → claude-flow-setup-RE3IVT7U.js} +2 -2
  170. package/dist/cli/chunks/client-HNBZUEVV.js +2 -0
  171. package/dist/cli/chunks/{cline-installer-LSFAUHXC.js → cline-installer-NUBZZ55N.js} +2 -2
  172. package/dist/cli/chunks/{code-N3SWJ3XL.js → code-K6JCWKNW.js} +2 -2
  173. package/dist/cli/chunks/{code-index-extractor-WPGRG36B.js → code-index-extractor-I4ILB5JN.js} +2 -2
  174. package/dist/cli/chunks/{codex-installer-LKRCSDU5.js → codex-installer-AKQ5BCHU.js} +2 -2
  175. package/dist/cli/chunks/{completions-E5TBZ5AB.js → completions-V3KJVJF4.js} +2 -2
  176. package/dist/cli/chunks/{complexity-analyzer-3FOSOELK.js → complexity-analyzer-HRG7OOY3.js} +2 -2
  177. package/dist/cli/chunks/{continuedev-installer-ZSVFWMQB.js → continuedev-installer-CNTDONWG.js} +2 -2
  178. package/dist/cli/chunks/{copilot-installer-POSKHPZM.js → copilot-installer-XPWWIWYA.js} +2 -2
  179. package/dist/cli/chunks/core-handlers-TB7NLYXL.js +2 -0
  180. package/dist/cli/chunks/{cost-tracker-3UWDCNGC.js → cost-tracker-MFNLQ56K.js} +2 -2
  181. package/dist/cli/chunks/{coverage-HPBO67JF.js → coverage-KOIK654V.js} +3 -3
  182. package/dist/cli/chunks/cross-domain-router-MDSI553U.js +2 -0
  183. package/dist/cli/chunks/{cursor-installer-DSW3L62X.js → cursor-installer-S5MKLRQQ.js} +2 -2
  184. package/dist/cli/chunks/{daemon-2622ZCMJ.js → daemon-DUS6JYW6.js} +3 -3
  185. package/dist/cli/chunks/{daemon-33KTKDUM.js → daemon-Z7VPGWHY.js} +4 -4
  186. package/dist/cli/chunks/{dag-attention-scheduler-YFT5JMM6.js → dag-attention-scheduler-7CQ3ARNI.js} +2 -2
  187. package/dist/cli/chunks/{detect-COR3Q6BE.js → detect-WORBCAYF.js} +2 -2
  188. package/dist/cli/chunks/{dist-node-5TRNTNWI.js → dist-node-KRNI6OYW.js} +2 -2
  189. package/dist/cli/chunks/{domain-handler-TZC4GCF6.js → domain-handler-KRUR2VQG.js} +2 -2
  190. package/dist/cli/chunks/{domain-transfer-D2TENM3Y.js → domain-transfer-VEOVLV54.js} +2 -2
  191. package/dist/cli/chunks/dream-X7ISHFEE.js +2 -0
  192. package/dist/cli/chunks/embed-and-insert-pattern-QU3NQVA5.js +3 -0
  193. package/dist/cli/chunks/{eval-5ID5D77H.js → eval-AYQ7BSUP.js} +2 -2
  194. package/dist/cli/chunks/{experience-capture-middleware-MT4Z74TD.js → experience-capture-middleware-AWQBL6LT.js} +3 -3
  195. package/dist/cli/chunks/{fast-paths-MACRZGSE.js → fast-paths-V5EL4BYJ.js} +2 -2
  196. package/dist/cli/chunks/{feature-flags-LFNL6BHS.js → feature-flags-BXX7BP22.js} +2 -2
  197. package/dist/cli/chunks/{feature-flags-JZX6ZBUX.js → feature-flags-P34BPRWU.js} +2 -2
  198. package/dist/cli/chunks/{file-discovery-DA5BEAO2.js → file-discovery-MS6BKQ2U.js} +2 -2
  199. package/dist/cli/chunks/{fleet-35I4F7D2.js → fleet-7WVVPA4W.js} +3 -3
  200. package/dist/cli/chunks/{gnn-wrapper-2W3HM3ZI.js → gnn-wrapper-7WQ3LEPG.js} +2 -2
  201. package/dist/cli/chunks/{heartbeat-handler-6O2D2FU2.js → heartbeat-handler-P7QD3BZH.js} +4 -4
  202. package/dist/cli/chunks/heartbeat-scheduler-2C5XGFQT.js +2 -0
  203. package/dist/cli/chunks/hnsw-adapter-KCVMXLUL.js +2 -0
  204. package/dist/cli/chunks/hnsw-index-OGWZS6MP.js +2 -0
  205. package/dist/cli/chunks/{hnsw-legacy-bridge-GWBXEMQR.js → hnsw-legacy-bridge-Y3GAR3UP.js} +2 -2
  206. package/dist/cli/chunks/{hnswlib-node-TZ4VLARU.js → hnswlib-node-5QUXZQWQ.js} +2 -2
  207. package/dist/cli/chunks/{hooks-723GPTQ4.js → hooks-2D64KPRY.js} +10 -10
  208. package/dist/cli/chunks/{hypergraph-engine-ILRYFJM5.js → hypergraph-engine-5INXEZDP.js} +2 -2
  209. package/dist/cli/chunks/{hypergraph-handler-523TSK4P.js → hypergraph-handler-YJJJ3ESZ.js} +3 -3
  210. package/dist/cli/chunks/impact-analyzer-IBJ43GQL.js +2 -0
  211. package/dist/cli/chunks/{init-handler-RBDYIXNV.js → init-handler-QSFYJN5Q.js} +6 -6
  212. package/dist/cli/chunks/init-wizard-6XMFD5LP.js +2 -0
  213. package/dist/cli/chunks/kernel-UDUMUPB3.js +2 -0
  214. package/dist/cli/chunks/{kilocode-installer-E2QSX7Z7.js → kilocode-installer-3N3QGTJU.js} +2 -2
  215. package/dist/cli/chunks/{kiro-installer-EZZLT2R5.js → kiro-installer-GIWVTFZQ.js} +2 -2
  216. package/dist/cli/chunks/knowledge-graph-JRYTUG3W.js +2 -0
  217. package/dist/cli/chunks/learning-SGO2DQ5Q.js +122 -0
  218. package/dist/cli/chunks/llm-router-HBBULO65.js +37 -0
  219. package/dist/cli/chunks/llm-router-service-KF5ZALUQ.js +2 -0
  220. package/dist/cli/chunks/{load-QFQ3YOBQ.js → load-B5OFYB4H.js} +2 -2
  221. package/dist/cli/chunks/load-test-LHMBCNCH.js +2 -0
  222. package/dist/cli/chunks/{mcp-FPBBJJFY.js → mcp-FG3LNQR4.js} +2 -2
  223. package/dist/cli/chunks/{memory-RKN6KV75.js → memory-SPS7ZWLC.js} +5 -5
  224. package/dist/cli/chunks/memory-backend-WZHKHBZK.js +2 -0
  225. package/dist/cli/chunks/memory-handlers-P7FTPWP3.js +2 -0
  226. package/dist/cli/chunks/{multi-model-executor-OUNW3JM5.js → multi-model-executor-PUB7E6KH.js} +2 -2
  227. package/dist/cli/chunks/{opencode-installer-FXETYGGY.js → opencode-installer-TGCSGVG2.js} +2 -2
  228. package/dist/cli/chunks/{orchestrator-35UTVXSP.js → orchestrator-S5FTJFGB.js} +10 -13
  229. package/dist/cli/chunks/pattern-null-store-UZSHCRL2.js +2 -0
  230. package/dist/cli/chunks/{pattern-usage-recorder-YEQDS7DN.js → pattern-usage-recorder-LCXXGRAB.js} +2 -2
  231. package/dist/cli/chunks/{pipeline-YDJMWCAR.js → pipeline-ENOSRHKW.js} +2 -2
  232. package/dist/cli/chunks/{platform-L3LPNVKT.js → platform-WCRBO3Z7.js} +2 -2
  233. package/dist/cli/chunks/{plugin-55EYFJH5.js → plugin-JZ5ODJSU.js} +2 -2
  234. package/dist/cli/chunks/{prime-radiant-advanced-wasm-SUZT6RTM.js → prime-radiant-advanced-wasm-DPJUPNCG.js} +2 -2
  235. package/dist/cli/chunks/protocol-executor-42NLVDTC.js +2 -0
  236. package/dist/cli/chunks/{protocol-handler-QNBFRJNY.js → protocol-handler-IP4NLVY3.js} +2 -2
  237. package/dist/cli/chunks/{prove-3X5NQP4L.js → prove-P6FM4RU7.js} +2 -2
  238. package/dist/cli/chunks/qe-reasoning-bank-W74RSMMU.js +2 -0
  239. package/dist/cli/chunks/{quality-5ZONTNA6.js → quality-UHP4XO26.js} +2 -2
  240. package/dist/cli/chunks/{quality-gate-JPNREEVR.js → quality-gate-63DDBSGM.js} +3 -3
  241. package/dist/cli/chunks/queen-coordinator-XELKSRMS.js +2 -0
  242. package/dist/cli/chunks/real-embeddings-6SO5MFRQ.js +2 -0
  243. package/dist/cli/chunks/{roocode-installer-ZK73O2GD.js → roocode-installer-WTWUOFCH.js} +2 -2
  244. package/dist/cli/chunks/router-GTW2EQZV.js +2 -0
  245. package/dist/cli/chunks/routing-feedback-NVOBWEMK.js +2 -0
  246. package/dist/cli/chunks/{routing-handler-2UN5GRHJ.js → routing-handler-IK7HYERQ.js} +2 -2
  247. package/dist/cli/chunks/{ruvector-commands-EQQUEVWN.js → ruvector-commands-THLB4NIM.js} +2 -2
  248. package/dist/cli/chunks/rvf-dual-writer-5OPVMXNL.js +2 -0
  249. package/dist/cli/chunks/rvf-migration-adapter-5S4YFTX4.js +2 -0
  250. package/dist/cli/chunks/rvf-migration-coordinator-BUKCSHBD.js +2 -0
  251. package/dist/cli/chunks/rvf-native-adapter-LYSJHEVX.js +2 -0
  252. package/dist/cli/chunks/{rvf-store-integrity-66FEC3MD.js → rvf-store-integrity-ECTADZIN.js} +2 -2
  253. package/dist/cli/chunks/safe-db-AEB3JMLD.js +2 -0
  254. package/dist/cli/chunks/schedule-4QNPCQNT.js +2 -0
  255. package/dist/cli/chunks/scheduler-S3DFHX6A.js +2 -0
  256. package/dist/cli/chunks/{security-H7PEUUCV.js → security-HN4UXFXX.js} +3 -3
  257. package/dist/cli/chunks/{shared-rvf-adapter-XETNK4ID.js → shared-rvf-adapter-XJCPX5SN.js} +2 -2
  258. package/dist/cli/chunks/{shared-rvf-dual-writer-PXD54BWJ.js → shared-rvf-dual-writer-23X5PNY5.js} +2 -2
  259. package/dist/cli/chunks/sqlite-persistence-L2KISU2H.js +2 -0
  260. package/dist/cli/chunks/status-handler-ZXANTHKT.js +47 -0
  261. package/dist/cli/chunks/{structural-health-EIFBDCRI.js → structural-health-LR6WI3AH.js} +2 -2
  262. package/dist/cli/chunks/{sync-PECWQ64K.js → sync-4OEI3BC2.js} +2 -2
  263. package/dist/cli/chunks/{sync-3SU4H6R3.js → sync-I5IUJF33.js} +2 -2
  264. package/dist/cli/chunks/{task-handler-ZTUAT6YF.js → task-handler-R3ATJKU5.js} +2 -2
  265. package/dist/cli/chunks/{task-handlers-4RIO7LJJ.js → task-handlers-4X357AEW.js} +3 -3
  266. package/dist/cli/chunks/{test-EV7BSUTI.js → test-PR2B5H2F.js} +4 -4
  267. package/dist/cli/chunks/{test-scheduling-4WVI5DLE.js → test-scheduling-ZNOSQVLD.js} +3 -3
  268. package/dist/cli/chunks/token-bootstrap-LYXOI72S.js +2 -0
  269. package/dist/cli/chunks/{token-usage-FR3JOWYB.js → token-usage-R6EQZBX2.js} +2 -2
  270. package/dist/cli/chunks/{transformers-FENO33LA.js → transformers-COQWK27J.js} +2 -2
  271. package/dist/cli/chunks/{tree-sitter-wasm-parser-YFGJLSMB.js → tree-sitter-wasm-parser-LLIW2X3M.js} +2 -2
  272. package/dist/cli/chunks/{types-N3Y565RZ.js → types-MEYTZITK.js} +2 -2
  273. package/dist/cli/chunks/unified-memory-5KQMA7FV.js +2 -0
  274. package/dist/cli/chunks/unified-memory-hnsw-PQRPTYOD.js +2 -0
  275. package/dist/cli/chunks/unified-persistence-YDONVPJB.js +2 -0
  276. package/dist/cli/chunks/{upgrade-33ZVVZFW.js → upgrade-DVIJ456A.js} +2 -2
  277. package/dist/cli/chunks/{validate-CS5PXGDF.js → validate-UYTSMJ5X.js} +2 -2
  278. package/dist/cli/chunks/{validate-swarm-GRZPWYNM.js → validate-swarm-P32WCJR6.js} +2 -2
  279. package/dist/cli/chunks/{vibium-IO7N4VEE.js → vibium-JGVOLM6X.js} +2 -2
  280. package/dist/cli/chunks/visual-security-RJ7RTNGJ.js +2 -0
  281. package/dist/cli/chunks/{web-tree-sitter-UQXR5HHR.js → web-tree-sitter-5ZGNCTPN.js} +2 -2
  282. package/dist/cli/chunks/{windsurf-installer-BCKLSLZT.js → windsurf-installer-IILSSQAE.js} +2 -2
  283. package/dist/cli/chunks/{witness-chain-R3V26QWL.js → witness-chain-JZMXCG3B.js} +2 -2
  284. package/dist/cli/chunks/witness-chain-YXXXNGAM.js +2 -0
  285. package/dist/cli/chunks/{witness-key-manager-Y36HMPEM.js → witness-key-manager-UUTLNUIH.js} +2 -2
  286. package/dist/cli/chunks/{workflow-4TCIUUFQ.js → workflow-NS7HXVHZ.js} +4 -4
  287. package/dist/cli/chunks/workflow-orchestrator-5KUAVSTH.js +2 -0
  288. package/dist/cli/chunks/{wrappers-MD4JRHJH.js → wrappers-XKEDSV5W.js} +2 -2
  289. package/dist/cli/commands/learning.js +44 -0
  290. package/dist/cli/commands/llm-router.js +62 -27
  291. package/dist/cli/handlers/brain-handler.js +2 -0
  292. package/dist/cli/handlers/status-handler.js +18 -2
  293. package/dist/context/compaction/index.d.ts +1 -0
  294. package/dist/context/compaction/index.js +3 -0
  295. package/dist/context/compaction/instruction-provenance.d.ts +20 -0
  296. package/dist/context/compaction/instruction-provenance.js +18 -0
  297. package/dist/context/compaction/tier2-session-summary.d.ts +8 -0
  298. package/dist/context/compaction/tier2-session-summary.js +20 -0
  299. package/dist/context/compaction/tier3-llm-compact.d.ts +4 -0
  300. package/dist/context/compaction/tier3-llm-compact.js +32 -4
  301. package/dist/init/phases/07-hooks.js +0 -3
  302. package/dist/integrations/embeddings/base/EmbeddingGenerator.js +4 -2
  303. package/dist/integrations/ruvector/brain-exporter.d.ts +1 -1
  304. package/dist/integrations/ruvector/brain-exporter.js +15 -3
  305. package/dist/integrations/ruvector/brain-rvf-exporter.d.ts +4 -0
  306. package/dist/integrations/ruvector/brain-rvf-exporter.js +118 -37
  307. package/dist/integrations/ruvector/brain-search.d.ts +1 -1
  308. package/dist/integrations/ruvector/brain-search.js +1 -1
  309. package/dist/integrations/ruvector/brain-shared.d.ts +4 -2
  310. package/dist/integrations/ruvector/brain-shared.js +11 -4
  311. package/dist/integrations/ruvector/brain-table-ddl.d.ts +2 -2
  312. package/dist/integrations/ruvector/brain-table-ddl.js +20 -8
  313. package/dist/integrations/ruvector/cognitive-container.js +1 -1
  314. package/dist/integrations/ruvector/rvf-dual-writer.d.ts +4 -0
  315. package/dist/integrations/ruvector/rvf-dual-writer.js +57 -9
  316. package/dist/integrations/ruvector/rvf-store-integrity.js +1 -1
  317. package/dist/kernel/unified-memory-schemas.d.ts +4 -3
  318. package/dist/kernel/unified-memory-schemas.js +19 -9
  319. package/dist/kernel/unified-memory.d.ts +2 -0
  320. package/dist/kernel/unified-memory.js +19 -0
  321. package/dist/learning/embed-and-insert-pattern.js +6 -3
  322. package/dist/learning/embedding-space.d.ts +50 -0
  323. package/dist/learning/embedding-space.js +128 -0
  324. package/dist/learning/evidence-admission-store.d.ts +15 -0
  325. package/dist/learning/evidence-admission-store.js +68 -0
  326. package/dist/learning/index.d.ts +4 -0
  327. package/dist/learning/index.js +2 -0
  328. package/dist/learning/learning-evidence-admission.d.ts +44 -0
  329. package/dist/learning/learning-evidence-admission.js +97 -0
  330. package/dist/learning/pattern-store.d.ts +5 -0
  331. package/dist/learning/pattern-store.js +36 -7
  332. package/dist/learning/qe-flywheel/coupled-anchor.d.ts +8 -0
  333. package/dist/learning/qe-flywheel/coupled-anchor.js +46 -3
  334. package/dist/learning/qe-reasoning-bank.js +4 -0
  335. package/dist/learning/real-embeddings.d.ts +3 -0
  336. package/dist/learning/real-embeddings.js +40 -3
  337. package/dist/learning/real-qe-reasoning-bank.js +7 -3
  338. package/dist/learning/rvf-pattern-migration.d.ts +2 -0
  339. package/dist/learning/rvf-pattern-migration.js +5 -3
  340. package/dist/learning/rvf-pattern-store.d.ts +3 -0
  341. package/dist/learning/rvf-pattern-store.js +21 -1
  342. package/dist/learning/sqlite-persistence.d.ts +7 -2
  343. package/dist/learning/sqlite-persistence.js +58 -21
  344. package/dist/mcp/bundle.js +607 -443
  345. package/dist/mcp/handlers/memory-handlers.js +6 -2
  346. package/dist/migrations/20260830_add_learning_evidence_tables.d.ts +7 -0
  347. package/dist/migrations/20260830_add_learning_evidence_tables.js +173 -0
  348. package/dist/persistence/rvf-migration-adapter.d.ts +2 -0
  349. package/dist/persistence/rvf-migration-adapter.js +56 -12
  350. package/dist/shared/llm/billing-modes.d.ts +5 -0
  351. package/dist/shared/llm/billing-modes.js +42 -3
  352. package/dist/shared/llm/index.d.ts +4 -1
  353. package/dist/shared/llm/index.js +5 -1
  354. package/dist/shared/llm/interfaces.d.ts +34 -3
  355. package/dist/shared/llm/interfaces.js +17 -0
  356. package/dist/shared/llm/llm-router-service.d.ts +8 -0
  357. package/dist/shared/llm/llm-router-service.js +21 -3
  358. package/dist/shared/llm/provider-manager.js +8 -1
  359. package/dist/shared/llm/provider-registry.d.ts +135 -0
  360. package/dist/shared/llm/provider-registry.js +227 -0
  361. package/dist/shared/llm/providers/external-cli.d.ts +129 -0
  362. package/dist/shared/llm/providers/external-cli.js +385 -0
  363. package/dist/shared/llm/router/config-store.d.ts +14 -0
  364. package/dist/shared/llm/router/config-store.js +102 -14
  365. package/dist/shared/llm/router/external-provider-config.d.ts +47 -0
  366. package/dist/shared/llm/router/external-provider-config.js +105 -0
  367. package/dist/shared/llm/router/types.d.ts +50 -4
  368. package/dist/shared/llm/router/types.js +10 -0
  369. package/dist/shared/llm/translation/message-formatter.js +7 -1
  370. package/dist/shared/sql-safety.js +4 -0
  371. package/dist/skills/qe-court/cli.d.ts +3 -0
  372. package/dist/skills/qe-court/cli.js +54 -0
  373. package/dist/verification/adversarial-verify/calibrate.d.ts +46 -2
  374. package/dist/verification/adversarial-verify/calibrate.js +104 -2
  375. package/dist/verification/adversarial-verify/index.d.ts +1 -1
  376. package/dist/verification/adversarial-verify/index.js +1 -1
  377. package/package.json +12 -3
  378. package/dist/cli/chunks/adapter-YBSKQFQ4.js +0 -2
  379. package/dist/cli/chunks/aqe-learning-engine-3H7DRDD4.js +0 -2
  380. package/dist/cli/chunks/base-ZTD6PFD7.js +0 -2
  381. package/dist/cli/chunks/brain-handler-FV2AJZ4A.js +0 -89
  382. package/dist/cli/chunks/browser-workflow-GKWDM25H.js +0 -2
  383. package/dist/cli/chunks/chunk-2CBEQV6R.js +0 -2
  384. package/dist/cli/chunks/chunk-4ZQOJ7Q2.js +0 -2
  385. package/dist/cli/chunks/chunk-CYQRZ645.js +0 -2
  386. package/dist/cli/chunks/chunk-FXKOHZBN.js +0 -2
  387. package/dist/cli/chunks/chunk-GJTGHVAX.js +0 -65
  388. package/dist/cli/chunks/chunk-GP5QBJVO.js +0 -3
  389. package/dist/cli/chunks/chunk-JGXP67BP.js +0 -2
  390. package/dist/cli/chunks/chunk-SW56PB22.js +0 -2
  391. package/dist/cli/chunks/chunk-T5M4TZRB.js +0 -12
  392. package/dist/cli/chunks/chunk-UDSNWQQI.js +0 -2
  393. package/dist/cli/chunks/chunk-VC77SDNH.js +0 -9
  394. package/dist/cli/chunks/chunk-WRMJWQUI.js +0 -12
  395. package/dist/cli/chunks/chunk-YXUFGDGS.js +0 -2
  396. package/dist/cli/chunks/client-4Q5JE7RY.js +0 -2
  397. package/dist/cli/chunks/core-handlers-4GKEYGPS.js +0 -2
  398. package/dist/cli/chunks/cross-domain-router-PBJ2ZGPJ.js +0 -2
  399. package/dist/cli/chunks/dream-4EXVFHUJ.js +0 -2
  400. package/dist/cli/chunks/embed-and-insert-pattern-COAZZGS6.js +0 -3
  401. package/dist/cli/chunks/heartbeat-scheduler-UNEYR3WR.js +0 -2
  402. package/dist/cli/chunks/hnsw-adapter-JQG66H4L.js +0 -2
  403. package/dist/cli/chunks/hnsw-index-2NOROILM.js +0 -2
  404. package/dist/cli/chunks/hybrid-router-FXTAJATE.js +0 -2
  405. package/dist/cli/chunks/impact-analyzer-VHZSBWMT.js +0 -2
  406. package/dist/cli/chunks/init-wizard-EML4OET2.js +0 -2
  407. package/dist/cli/chunks/kernel-TMRJOEO2.js +0 -2
  408. package/dist/cli/chunks/knowledge-graph-FMKVCMJQ.js +0 -2
  409. package/dist/cli/chunks/learning-II2U3EV2.js +0 -119
  410. package/dist/cli/chunks/llm-router-WC66OXZH.js +0 -36
  411. package/dist/cli/chunks/llm-router-service-GOSVGMKM.js +0 -2
  412. package/dist/cli/chunks/load-test-WIRGDZIA.js +0 -2
  413. package/dist/cli/chunks/memory-backend-XBBIXDZU.js +0 -2
  414. package/dist/cli/chunks/memory-handlers-SQHNK3DK.js +0 -2
  415. package/dist/cli/chunks/pattern-null-store-PFLKHRVU.js +0 -2
  416. package/dist/cli/chunks/protocol-executor-GAMNY2JB.js +0 -2
  417. package/dist/cli/chunks/provider-manager-VTIG5AKU.js +0 -2
  418. package/dist/cli/chunks/qe-reasoning-bank-KAX63PXV.js +0 -2
  419. package/dist/cli/chunks/queen-coordinator-UYW2MDKI.js +0 -2
  420. package/dist/cli/chunks/real-embeddings-HHR75AR5.js +0 -2
  421. package/dist/cli/chunks/router-NVDU7IIA.js +0 -2
  422. package/dist/cli/chunks/routing-feedback-KHR3J2J3.js +0 -2
  423. package/dist/cli/chunks/rvf-dual-writer-43L75WLF.js +0 -2
  424. package/dist/cli/chunks/rvf-migration-adapter-Y5OVCYTO.js +0 -2
  425. package/dist/cli/chunks/rvf-migration-coordinator-NEPDFB3N.js +0 -2
  426. package/dist/cli/chunks/rvf-native-adapter-PQ4IOTZU.js +0 -2
  427. package/dist/cli/chunks/safe-db-QHSFV63M.js +0 -2
  428. package/dist/cli/chunks/schedule-JGZFHJGM.js +0 -2
  429. package/dist/cli/chunks/scheduler-NGCDQIW5.js +0 -2
  430. package/dist/cli/chunks/sqlite-persistence-3JSNWL6I.js +0 -2
  431. package/dist/cli/chunks/status-handler-CTXOH3FX.js +0 -47
  432. package/dist/cli/chunks/token-bootstrap-3P22AYZ4.js +0 -2
  433. package/dist/cli/chunks/unified-memory-4VO5KSHP.js +0 -2
  434. package/dist/cli/chunks/unified-memory-hnsw-ZR2FZXOB.js +0 -2
  435. package/dist/cli/chunks/unified-persistence-VFPW5MFM.js +0 -2
  436. package/dist/cli/chunks/visual-security-SNADRUPR.js +0 -2
  437. package/dist/cli/chunks/witness-chain-2TXUTEJE.js +0 -2
  438. package/dist/cli/chunks/workflow-orchestrator-ON6UYRVE.js +0 -2
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Agentic QE v3 — Config-driven external provider registration
3
+ * ADR-127 (issue #628)
4
+ *
5
+ * Turns the `externalProviders` block of `.agentic-qe/llm-config.json` into
6
+ * live entries in the provider registry.
7
+ *
8
+ * This is the half of ADR-127 that actually unblocks the requester. An
9
+ * in-process `registerProvider()` call cannot reach the `aqe` CLI bundle or the
10
+ * MCP server bundle — they are separate esbuild artifacts spawned as
11
+ * subprocesses — but both call `loadRouterConfig()`, so a declaration on disk
12
+ * reaches both. No third-party code is imported: a declaration is data, and the
13
+ * provider it produces is AQE's own `ExternalCliProvider`.
14
+ *
15
+ * Untrusted-input discipline (inherited from ADR-125's `sanitizeAgentOverrides`):
16
+ * entries are validated and dropped **individually** with a warning. One
17
+ * malformed declaration must never fail router construction for the project.
18
+ */
19
+ import { ExternalCliProvider, validateExternalCliConfig, } from '../providers/external-cli.js';
20
+ import { tryRegisterProvider, unregisterProvider, validateProviderType, } from '../provider-registry.js';
21
+ /**
22
+ * Types THIS module registered on the last load. Reaping is keyed off actual
23
+ * ownership rather than off the `source` metadata field, because that field is
24
+ * caller-supplied: an in-process embedder that passes `source: 'config'` must
25
+ * not have its registration silently reaped by an unrelated config reload.
26
+ */
27
+ const configOwnedTypes = new Set();
28
+ /**
29
+ * Register every valid declaration in an `externalProviders` block.
30
+ *
31
+ * Idempotent: re-registering the same type replaces the previous entry, and
32
+ * config-sourced registrations that are no longer declared are removed. API
33
+ * registrations (`registerProvider()`) are never touched — a config reload must
34
+ * not silently unregister a provider an embedder installed in-process.
35
+ */
36
+ export function registerExternalProviders(declarations, options = {}) {
37
+ const registered = [];
38
+ const warnings = [];
39
+ const sourceDetail = options.sourceDetail ?? '.agentic-qe/llm-config.json';
40
+ const declared = new Set(Object.keys(declarations ?? {}));
41
+ // Drop declarations this module previously registered that are no longer in
42
+ // the file, so removing an entry actually removes the provider. Types we do
43
+ // not own are left alone. If the registry was reset out from under us,
44
+ // `unregisterProvider` simply no-ops and the set is rebuilt below.
45
+ for (const owned of configOwnedTypes) {
46
+ if (!declared.has(owned)) {
47
+ unregisterProvider(owned);
48
+ }
49
+ }
50
+ configOwnedTypes.clear();
51
+ for (const [type, declaration] of Object.entries(declarations ?? {})) {
52
+ const typeProblem = validateProviderType(type);
53
+ if (typeProblem) {
54
+ warnings.push(`externalProviders["${type}"] ignored: ${typeProblem}`);
55
+ continue;
56
+ }
57
+ const configProblem = validateExternalCliConfig(type, declaration);
58
+ if (configProblem) {
59
+ warnings.push(`${configProblem} — ignoring this entry.`);
60
+ continue;
61
+ }
62
+ const registrationProblem = tryRegisterProvider(type,
63
+ // The declaration is captured here, so each construction gets a fresh
64
+ // provider built from the same validated data.
65
+ () => new ExternalCliProvider(type, declaration), {
66
+ billingMode: declaration.billingMode,
67
+ displayName: declaration.displayName,
68
+ models: declaration.models,
69
+ config: declaration,
70
+ source: 'config',
71
+ sourceDetail,
72
+ });
73
+ if (registrationProblem) {
74
+ warnings.push(`externalProviders["${type}"] ignored: ${registrationProblem}`);
75
+ continue;
76
+ }
77
+ configOwnedTypes.add(type);
78
+ registered.push(type);
79
+ }
80
+ return { registered, warnings };
81
+ }
82
+ /**
83
+ * Extract and shallow-validate an `externalProviders` block read off disk.
84
+ * Returns only entries that are objects; deeper validation happens at
85
+ * registration so every rejection is reported through one path.
86
+ */
87
+ export function sanitizeExternalProviders(raw) {
88
+ const declarations = {};
89
+ const warnings = [];
90
+ if (raw === undefined)
91
+ return { declarations, warnings };
92
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
93
+ warnings.push('externalProviders must be an object keyed by provider type; ignoring it.');
94
+ return { declarations, warnings };
95
+ }
96
+ for (const [type, value] of Object.entries(raw)) {
97
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
98
+ warnings.push(`externalProviders["${type}"] must be an object; ignoring this entry.`);
99
+ continue;
100
+ }
101
+ declarations[type] = value;
102
+ }
103
+ return { declarations, warnings };
104
+ }
105
+ //# sourceMappingURL=external-provider-config.js.map
@@ -18,12 +18,33 @@
18
18
  * @see ADR-011 - LLM Provider System for QE (foundation)
19
19
  * @see ADR-043 - Vendor-Independent LLM Support (this extension)
20
20
  */
21
- import { LLMProviderType, LLMProvider, Message, GenerateOptions, TokenUsage, CostInfo, HealthCheckResult } from '../interfaces';
21
+ import type { ExternalCliProviderConfig } from '../providers/external-cli';
22
+ import { BuiltinProviderType, LLMProviderType, LLMProvider, Message, GenerateOptions, TokenUsage, CostInfo, HealthCheckResult } from '../interfaces';
22
23
  /**
23
- * Extended provider types including new ADR-043 providers
24
- * Extends LLMProviderType from ADR-011: 'claude' | 'openai' | 'ollama'
24
+ * The closed set of extended provider types AQE ships. Exhaustive — this is
25
+ * what a `Record` of per-provider constants must be keyed on, so that adding a
26
+ * built-in provider still fails the build until every map is updated.
27
+ *
28
+ * ADR-127: `BuiltinProviderType` covers the ten runtime-constructible
29
+ * providers; `onnx` exists in the type system (routing/translation know about
30
+ * it) but `ProviderManager` has no case for it yet.
31
+ */
32
+ export type BuiltinExtendedProviderType = BuiltinProviderType | 'onnx';
33
+ /**
34
+ * Extended provider types including new ADR-043 providers.
35
+ *
36
+ * ADR-127: open, because `LLMProviderType` is open — a registered external
37
+ * provider is a valid routing target everywhere an extended type is accepted.
38
+ * Use `BuiltinExtendedProviderType` when you need exhaustiveness.
25
39
  */
26
- export type ExtendedProviderType = LLMProviderType | 'openrouter' | 'gemini' | 'azure-openai' | 'bedrock' | 'onnx';
40
+ export type ExtendedProviderType = LLMProviderType | 'onnx';
41
+ /**
42
+ * Type guard for the closed extended set. Use before indexing any
43
+ * `Record<BuiltinExtendedProviderType, _>` with an open provider type, so the
44
+ * external-provider case is handled explicitly rather than yielding
45
+ * `undefined` at a site the compiler believed was total (ADR-127).
46
+ */
47
+ export declare function isBuiltinExtendedProviderType(type: string): type is BuiltinExtendedProviderType;
27
48
  /**
28
49
  * All supported provider types as a const array for iteration
29
50
  */
@@ -585,6 +606,31 @@ export interface RouterConfig {
585
606
  * Unset fields keep their category default. Never put API keys here.
586
607
  */
587
608
  agentOverrides?: Record<string, AgentProviderOverride>;
609
+ /**
610
+ * ADR-127 (issue #628): external provider declarations. Each key becomes a
611
+ * selectable provider identity — `AQE_LLM_PROVIDER=<key>`,
612
+ * `defaultProvider`, `fallbackChain`, and `agentOverrides` all accept it —
613
+ * backed by a generic subprocess provider built from the declaration.
614
+ *
615
+ * Declared by data, never by a module path: AQE does not import third-party
616
+ * code on the strength of a config file. See ADR-127 for why.
617
+ *
618
+ * @example
619
+ * ```jsonc
620
+ * {
621
+ * "externalProviders": {
622
+ * "my-host": {
623
+ * "kind": "cli",
624
+ * "command": ["my-host", "exec"],
625
+ * "billingMode": "subscription",
626
+ * "models": ["default"]
627
+ * }
628
+ * }
629
+ * }
630
+ * ```
631
+ * Declaring a host also enables it. Never put API keys here.
632
+ */
633
+ externalProviders?: Record<string, ExternalCliProviderConfig>;
588
634
  }
589
635
  /**
590
636
  * On-disk, per-agent-type routing override (issue #568).
@@ -18,6 +18,16 @@
18
18
  * @see ADR-011 - LLM Provider System for QE (foundation)
19
19
  * @see ADR-043 - Vendor-Independent LLM Support (this extension)
20
20
  */
21
+ import { isBuiltinProviderType, } from '../interfaces.js';
22
+ /**
23
+ * Type guard for the closed extended set. Use before indexing any
24
+ * `Record<BuiltinExtendedProviderType, _>` with an open provider type, so the
25
+ * external-provider case is handled explicitly rather than yielding
26
+ * `undefined` at a site the compiler believed was total (ADR-127).
27
+ */
28
+ export function isBuiltinExtendedProviderType(type) {
29
+ return type === 'onnx' || isBuiltinProviderType(type);
30
+ }
21
31
  /**
22
32
  * All supported provider types as a const array for iteration
23
33
  */
@@ -7,6 +7,7 @@
7
7
  * - Response normalization across formats
8
8
  * - Message role mapping
9
9
  */
10
+ import { isBuiltinExtendedProviderType } from '../router/types.js';
10
11
  // ============================================================================
11
12
  // System Prompt Handling
12
13
  // ============================================================================
@@ -36,7 +37,12 @@ const SYSTEM_PROMPT_STRATEGIES = {
36
37
  * - Others: May need to prepend to first user message
37
38
  */
38
39
  export function handleSystemPrompt(systemPrompt, targetProvider) {
39
- const strategy = SYSTEM_PROMPT_STRATEGIES[targetProvider] || 'first-message';
40
+ // ADR-127: an externally registered provider has no entry here. Falling back
41
+ // to 'first-message' is the safe default — it inlines the system prompt into
42
+ // the conversation, which every chat-shaped provider understands.
43
+ const strategy = isBuiltinExtendedProviderType(targetProvider)
44
+ ? SYSTEM_PROMPT_STRATEGIES[targetProvider]
45
+ : 'first-message';
40
46
  // Clean up the system prompt
41
47
  const cleanedPrompt = systemPrompt.trim();
42
48
  // For providers that don't support system prompts natively,
@@ -45,6 +45,10 @@ export const ALLOWED_TABLE_NAMES = new Set([
45
45
  // Learning/metrics tables
46
46
  'learning_daily_snapshots', 'metrics_outcomes',
47
47
  'experience_consolidation_log', 'qe_pattern_reuse',
48
+ // Qualified learning-evidence and lineage tables
49
+ 'learning_evidence_manifests', 'learning_evidence_segments',
50
+ 'learning_segment_edges', 'learning_evidence_admissions',
51
+ 'pattern_manifest_lineage', 'pattern_segment_lineage',
48
52
  // Co-execution tables
49
53
  'qe_agent_co_execution',
50
54
  ]);
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function runRefereeCli(argv: string[]): number;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync, realpathSync } from 'node:fs';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { resolveVerdict, shouldEmitScore, validateCourtConfig, validatePanel, } from './referee.js';
5
+ const MUTANT = {
6
+ id: 'boundary-off-by-one', fatal: true, reproduced: true, depthFound: 1,
7
+ };
8
+ export function runRefereeCli(argv) {
9
+ const [command, value] = argv;
10
+ if (command === 'validate-config' && value) {
11
+ const config = JSON.parse(readFileSync(value, 'utf8'));
12
+ const violations = validateCourtConfig(config);
13
+ process.stdout.write(JSON.stringify({ valid: violations.length === 0, violations }) + '\n');
14
+ return violations.length === 0 ? 0 : 2;
15
+ }
16
+ if (command === 'self-test' && value) {
17
+ const passed = runOracle(value);
18
+ process.stdout.write(JSON.stringify({ oracle: value, passed }) + '\n');
19
+ return passed ? 0 : 3;
20
+ }
21
+ process.stderr.write('Usage: aqe-court-referee validate-config <config.json> | self-test <oracle>\n');
22
+ return 64;
23
+ }
24
+ function runOracle(name) {
25
+ switch (name) {
26
+ case 'overturn-catches-mutant':
27
+ return resolveVerdict([MUTANT], 2) === 'BLOCK';
28
+ case 'overturn-disabled':
29
+ return resolveVerdict([MUTANT], 0) === 'SHIP';
30
+ case 'writer-not-juror':
31
+ return validatePanel([
32
+ { role: 'writer', provider: 'codex' },
33
+ { role: 'jury', provider: 'codex' },
34
+ { role: 'prosecutor', provider: 'claude-code' },
35
+ ]).includes('writerIsNeverJuror');
36
+ case 'vendor-diversity':
37
+ return validatePanel([
38
+ { role: 'writer', provider: 'cognitum-low' },
39
+ { role: 'jury', provider: 'cognitum-high' },
40
+ ]).includes('vendor-diversity');
41
+ case 'doe-score-gate':
42
+ return !shouldEmitScore(false, true) && shouldEmitScore(true, true);
43
+ case 'verdict-classes':
44
+ return resolveVerdict([{ ...MUTANT, depthFound: 0 }], 2) === 'BLOCK'
45
+ && resolveVerdict([{ ...MUTANT, fatal: false, depthFound: 0 }], 2) === 'REMAND'
46
+ && resolveVerdict([], 2) === 'SHIP';
47
+ default:
48
+ return false;
49
+ }
50
+ }
51
+ if (process.argv[1] && realpathSync(process.argv[1]) === fileURLToPath(import.meta.url)) {
52
+ process.exitCode = runRefereeCli(process.argv.slice(2));
53
+ }
54
+ //# sourceMappingURL=cli.js.map
@@ -7,11 +7,52 @@
7
7
  * — a deterministic stub (characterize the k-of-n aggregation) or a real LLM
8
8
  * (empirical false-kill on a labeled corpus).
9
9
  */
10
- import type { AdversarialVerifyOptions, Finding } from './types.js';
10
+ import type { AdversarialVerifyOptions, Finding, FindingSeverity } from './types.js';
11
11
  export interface LabeledFinding {
12
12
  finding: Finding;
13
13
  /** Ground truth: is this a genuine, actionable problem? */
14
14
  isReal: boolean;
15
+ failureType?: string;
16
+ domain?: string;
17
+ expectedSeverity?: FindingSeverity;
18
+ source?: 'human' | 'oracle' | 'controlled-intervention';
19
+ }
20
+ export interface ConfidenceInterval {
21
+ low: number;
22
+ high: number;
23
+ level: 0.95;
24
+ }
25
+ export type QualificationDisposition = 'automate' | 'human-review' | 'abstain';
26
+ export interface QualificationSlice {
27
+ key: string;
28
+ support: number;
29
+ precision: number;
30
+ recall: number;
31
+ falseKillRate: number;
32
+ falseKeepRate: number;
33
+ uncertainRate: number;
34
+ intervals: {
35
+ precision: ConfidenceInterval;
36
+ recall: ConfidenceInterval;
37
+ falseKillRate: ConfidenceInterval;
38
+ falseKeepRate: ConfidenceInterval;
39
+ };
40
+ disposition: QualificationDisposition;
41
+ }
42
+ export interface QualificationOptions {
43
+ minSupport?: number;
44
+ minRecall?: number;
45
+ minPrecision?: number;
46
+ maxFalseKillRate?: number;
47
+ maxFalseKeepRate?: number;
48
+ criticalSeverities?: FindingSeverity[];
49
+ }
50
+ export interface JudgeQualification {
51
+ status: 'qualified' | 'restricted' | 'unqualified';
52
+ automatedSlices: string[];
53
+ humanReviewSlices: string[];
54
+ abstainSlices: string[];
55
+ reasons: string[];
15
56
  }
16
57
  export interface CalibrationReport {
17
58
  total: number;
@@ -26,7 +67,10 @@ export interface CalibrationReport {
26
67
  correctConfirm: number;
27
68
  correctKill: number;
28
69
  uncertain: number;
70
+ slices: QualificationSlice[];
71
+ qualification: JudgeQualification;
29
72
  }
73
+ export declare function qualifyJudge(slices: QualificationSlice[], criticalSliceKeys?: string[]): JudgeQualification;
30
74
  /** Run the verifier over a labeled set and report the confusion vs ground truth. */
31
- export declare function calibrate(labeled: LabeledFinding[], opts: AdversarialVerifyOptions): Promise<CalibrationReport>;
75
+ export declare function calibrate(labeled: LabeledFinding[], opts: AdversarialVerifyOptions, qualificationOptions?: QualificationOptions): Promise<CalibrationReport>;
32
76
  //# sourceMappingURL=calibrate.d.ts.map
@@ -1,11 +1,90 @@
1
1
  import { adversarialVerify } from './verify.js';
2
+ const DEFAULT_QUALIFICATION = {
3
+ minSupport: 10,
4
+ minRecall: 0.8,
5
+ minPrecision: 0.8,
6
+ maxFalseKillRate: 0.1,
7
+ maxFalseKeepRate: 0.1,
8
+ criticalSeverities: ['critical', 'high'],
9
+ };
10
+ function wilson(successes, total) {
11
+ if (total === 0)
12
+ return { low: 0, high: 1, level: 0.95 };
13
+ const z = 1.959963984540054;
14
+ const p = successes / total;
15
+ const z2 = z * z;
16
+ const denominator = 1 + z2 / total;
17
+ const centre = (p + z2 / (2 * total)) / denominator;
18
+ const margin = z * Math.sqrt((p * (1 - p) + z2 / (4 * total)) / total) / denominator;
19
+ return { low: Math.max(0, centre - margin), high: Math.min(1, centre + margin), level: 0.95 };
20
+ }
21
+ function buildSlice(key, entries, policy) {
22
+ const real = entries.filter(entry => entry.label.isReal);
23
+ const falseEntries = entries.filter(entry => !entry.label.isReal);
24
+ const upheldReal = real.filter(entry => entry.verdict === 'upheld').length;
25
+ const upheldFalse = falseEntries.filter(entry => entry.verdict === 'upheld').length;
26
+ const falseKill = real.filter(entry => entry.verdict === 'refuted').length;
27
+ const falseKeep = upheldFalse;
28
+ const uncertain = entries.filter(entry => entry.verdict === 'uncertain').length;
29
+ const upheld = upheldReal + upheldFalse;
30
+ const precision = upheld ? upheldReal / upheld : 0;
31
+ const recall = real.length ? upheldReal / real.length : 0;
32
+ const falseKillRate = real.length ? falseKill / real.length : 0;
33
+ const falseKeepRate = falseEntries.length ? falseKeep / falseEntries.length : 0;
34
+ const intervals = {
35
+ precision: wilson(upheldReal, upheld),
36
+ recall: wilson(upheldReal, real.length),
37
+ falseKillRate: wilson(falseKill, real.length),
38
+ falseKeepRate: wilson(falseKeep, falseEntries.length),
39
+ };
40
+ let disposition = 'automate';
41
+ if (entries.length < policy.minSupport || real.length === 0)
42
+ disposition = 'abstain';
43
+ else if (intervals.recall.low < policy.minRecall
44
+ || intervals.precision.low < policy.minPrecision
45
+ || intervals.falseKillRate.high > policy.maxFalseKillRate
46
+ || intervals.falseKeepRate.high > policy.maxFalseKeepRate) {
47
+ disposition = 'human-review';
48
+ }
49
+ return {
50
+ key, support: entries.length, precision, recall, falseKillRate, falseKeepRate,
51
+ uncertainRate: entries.length ? uncertain / entries.length : 0,
52
+ intervals,
53
+ disposition,
54
+ };
55
+ }
56
+ export function qualifyJudge(slices, criticalSliceKeys = []) {
57
+ const automatedSlices = slices.filter(s => s.disposition === 'automate').map(s => s.key);
58
+ const humanReviewSlices = slices.filter(s => s.disposition === 'human-review').map(s => s.key);
59
+ const abstainSlices = slices.filter(s => s.disposition === 'abstain').map(s => s.key);
60
+ const presentKeys = new Set(slices.map(s => s.key));
61
+ const missingCriticalKeys = criticalSliceKeys.filter(key => !presentKeys.has(key));
62
+ const criticalFailures = slices.filter(s => criticalSliceKeys.includes(s.key) && s.disposition !== 'automate');
63
+ const status = criticalFailures.length > 0 || missingCriticalKeys.length > 0
64
+ ? 'unqualified'
65
+ : humanReviewSlices.length > 0 || abstainSlices.length > 0
66
+ ? 'restricted'
67
+ : 'qualified';
68
+ return {
69
+ status, automatedSlices, humanReviewSlices, abstainSlices,
70
+ reasons: [
71
+ ...criticalFailures.map(s => `Critical slice ${s.key} is ${s.disposition}`),
72
+ ...missingCriticalKeys.map(key => `Critical slice ${key} is missing`),
73
+ ],
74
+ };
75
+ }
2
76
  /** Run the verifier over a labeled set and report the confusion vs ground truth. */
3
- export async function calibrate(labeled, opts) {
77
+ export async function calibrate(labeled, opts, qualificationOptions = {}) {
4
78
  const verdicts = await adversarialVerify(labeled.map((l) => l.finding), opts);
79
+ const policy = { ...DEFAULT_QUALIFICATION, ...qualificationOptions };
5
80
  const r = {
6
81
  total: labeled.length, realCount: 0, falseCount: 0,
7
82
  falseKill: 0, falseKillRate: 0, falseKeep: 0, falseKeepRate: 0,
8
- correctConfirm: 0, correctKill: 0, uncertain: 0,
83
+ correctConfirm: 0, correctKill: 0, uncertain: 0, slices: [],
84
+ qualification: {
85
+ status: 'restricted', automatedSlices: [], humanReviewSlices: [],
86
+ abstainSlices: [], reasons: [],
87
+ },
9
88
  };
10
89
  labeled.forEach((l, i) => {
11
90
  const v = verdicts[i].verdict;
@@ -28,6 +107,29 @@ export async function calibrate(labeled, opts) {
28
107
  });
29
108
  r.falseKillRate = r.realCount ? r.falseKill / r.realCount : 0;
30
109
  r.falseKeepRate = r.falseCount ? r.falseKeep / r.falseCount : 0;
110
+ const entries = labeled.map((label, index) => ({ label, verdict: verdicts[index].verdict }));
111
+ const groups = new Map();
112
+ const add = (key, entry) => {
113
+ const group = groups.get(key) ?? [];
114
+ group.push(entry);
115
+ groups.set(key, group);
116
+ };
117
+ entries.forEach(entry => {
118
+ add('overall', entry);
119
+ if (entry.label.failureType)
120
+ add(`failureType:${entry.label.failureType}`, entry);
121
+ if (entry.label.domain)
122
+ add(`domain:${entry.label.domain}`, entry);
123
+ const severity = entry.label.expectedSeverity ?? entry.label.finding.severity;
124
+ add(`severity:${severity}`, entry);
125
+ });
126
+ const criticalKeys = policy.criticalSeverities.map(severity => `severity:${severity}`);
127
+ for (const key of criticalKeys) {
128
+ if (!groups.has(key))
129
+ groups.set(key, []);
130
+ }
131
+ r.slices = [...groups.entries()].map(([key, group]) => buildSlice(key, group, policy));
132
+ r.qualification = qualifyJudge(r.slices, criticalKeys);
31
133
  return r;
32
134
  }
33
135
  //# sourceMappingURL=calibrate.js.map
@@ -15,6 +15,6 @@ export type { Finding, FindingVerdict, FindingSeverity, FindingOutcome, RefuterV
15
15
  export { adversarialVerify, partitionVerdicts } from './verify.js';
16
16
  export { synthesizeVerdict, majorityKill, isFindingVerdict } from './synthesize.js';
17
17
  export { refuterPrompt, DEFAULT_LENSES } from './prompts.js';
18
- export { calibrate, type LabeledFinding, type CalibrationReport } from './calibrate.js';
18
+ export { calibrate, qualifyJudge, type CalibrationReport, type ConfidenceInterval, type JudgeQualification, type LabeledFinding, type QualificationDisposition, type QualificationOptions, type QualificationSlice, } from './calibrate.js';
19
19
  export { verifyGate, type VerifyGateOptions, type VerifyGateResult } from './gate.js';
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  export { adversarialVerify, partitionVerdicts } from './verify.js';
2
2
  export { synthesizeVerdict, majorityKill, isFindingVerdict } from './synthesize.js';
3
3
  export { refuterPrompt, DEFAULT_LENSES } from './prompts.js';
4
- export { calibrate } from './calibrate.js';
4
+ export { calibrate, qualifyJudge, } from './calibrate.js';
5
5
  export { verifyGate } from './gate.js';
6
6
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.13.11",
3
+ "version": "3.14.0",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,10 @@
22
22
  "import": "./dist/shared/index.js",
23
23
  "types": "./dist/shared/index.d.ts"
24
24
  },
25
+ "./shared/llm": {
26
+ "import": "./dist/shared/llm/index.js",
27
+ "types": "./dist/shared/llm/index.d.ts"
28
+ },
25
29
  "./cli": {
26
30
  "import": "./dist/cli/index.js"
27
31
  },
@@ -48,13 +52,18 @@
48
52
  "./verification/adversarial-verify": {
49
53
  "import": "./dist/verification/adversarial-verify/index.js",
50
54
  "types": "./dist/verification/adversarial-verify/index.d.ts"
55
+ },
56
+ "./skills/qe-court/referee": {
57
+ "import": "./dist/skills/qe-court/referee.js",
58
+ "types": "./dist/skills/qe-court/referee.d.ts"
51
59
  }
52
60
  },
53
61
  "bin": {
54
62
  "agentic-qe": "./dist/cli/bundle.js",
55
63
  "aqe": "./dist/cli/bundle.js",
56
64
  "aqe-v3": "./dist/cli/bundle.js",
57
- "aqe-mcp": "./dist/mcp/bundle.js"
65
+ "aqe-mcp": "./dist/mcp/bundle.js",
66
+ "aqe-court-referee": "./dist/skills/qe-court/cli.js"
58
67
  },
59
68
  "scripts": {
60
69
  "preinstall": "node scripts/preinstall.cjs || true",
@@ -69,7 +78,7 @@
69
78
  "mcp": "tsx src/mcp/entry.ts",
70
79
  "test": "NODE_OPTIONS='--max-old-space-size=1024 --expose-gc' vitest run",
71
80
  "test:unit": "npm run test:unit:fast && npm run test:unit:heavy && npm run test:unit:mcp",
72
- "test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/qe-reasoning-bank-feedback-loop.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning",
81
+ "test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/qe-reasoning-bank-feedback-loop.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning tests/context",
73
82
  "test:unit:heavy": "vitest run tests/unit/coordination tests/unit/domains tests/unit/integrations tests/unit/optimization tests/unit/init --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/browser-swarm-coordinator.test.ts'",
74
83
  "test:unit:mcp": "vitest run tests/unit/mcp --exclude='**/mcp/handlers/domain-handlers.test.ts' --fileParallelism=false",
75
84
  "test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts' --exclude='**/fixtures/init-corpus/**'",
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.11");process.exit(0)}
2
- import{a,b,c}from"./chunk-2BDTZYQN.js";import"./chunk-76NSSNB3.js";import"./chunk-UX5SM2PW.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-LUAXQB57.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.11");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-2E2QCIGR.js";import"./chunk-GPJDZFFV.js";import"./chunk-JTQSXU6V.js";import"./chunk-GJTGHVAX.js";import"./chunk-TMY2Y7SC.js";import"./chunk-5364DBZG.js";import"./chunk-P736OKQN.js";import"./chunk-36ONUM43.js";import"./chunk-AFXMTSO3.js";import"./chunk-MWTFFGU3.js";import"./chunk-YEPJS4AM.js";import"./chunk-JWT675RM.js";import"./chunk-E54QUKAD.js";import"./chunk-UGFHEVG4.js";import"./chunk-TU4BYSXR.js";import"./chunk-T5M4TZRB.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-UPMQHCC2.js";import"./chunk-2D7SBOZ4.js";import"./chunk-FXKOHZBN.js";import"./chunk-XDK2TPI5.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.11");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-YRCNWQBO.js";import"./chunk-24XW7KUX.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-4TUGQESL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};