agentic-qe 3.11.3 → 3.11.4

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 (341) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +48 -0
  3. package/dist/cli/bundle.js +5 -5
  4. package/dist/cli/chunks/adapter-2HMUXHWY.js +2 -0
  5. package/dist/cli/chunks/{agent-booster-wasm-BFRW7HEU.js → agent-booster-wasm-62I6ZNRW.js} +2 -2
  6. package/dist/cli/chunks/{agent-handler-ZVC3VFPC.js → agent-handler-E2TZKKBS.js} +2 -2
  7. package/dist/cli/chunks/{agent-memory-branch-3WU3CVSX.js → agent-memory-branch-JHAHC2NH.js} +2 -2
  8. package/dist/cli/chunks/aqe-learning-engine-M2NKRVRE.js +2 -0
  9. package/dist/cli/chunks/{arena-QMRLNQUC.js → arena-72ZV65BR.js} +4 -4
  10. package/dist/cli/chunks/{arena-JMVTWWG5.js → arena-KLG3YSSR.js} +2 -2
  11. package/dist/cli/chunks/{audit-TTWAAV7P.js → audit-EPB7ETMT.js} +2 -2
  12. package/dist/cli/chunks/base-CCHC2DAC.js +2 -0
  13. package/dist/cli/chunks/{hnswlib-node-EBRXKEX5.js → better-sqlite3-URULPKRF.js} +2 -2
  14. package/dist/cli/chunks/{brain-handler-FXPLJCPV.js → brain-handler-FBMYEERK.js} +3 -3
  15. package/dist/cli/chunks/{branch-enumerator-CJJG6X3I.js → branch-enumerator-C7MPNYT7.js} +2 -2
  16. package/dist/cli/chunks/{browser-LI2CDWVR.js → browser-UUDUDYLR.js} +2 -2
  17. package/dist/cli/chunks/browser-workflow-4DGHFYY3.js +2 -0
  18. package/dist/cli/chunks/{chunk-EXCU4J7T.js → chunk-2KNFS3L5.js} +1 -1
  19. package/dist/cli/chunks/{chunk-H6YFMUFG.js → chunk-2WPSMQIL.js} +1 -1
  20. package/dist/cli/chunks/chunk-37ZDGJ3H.js +2 -0
  21. package/dist/cli/chunks/{chunk-BQ5EJPK3.js → chunk-3E7D3A35.js} +1 -1
  22. package/dist/cli/chunks/{chunk-3BREKEL5.js → chunk-3FJZMQJ7.js} +2 -2
  23. package/dist/cli/chunks/chunk-3SBUL72V.js +2 -0
  24. package/dist/cli/chunks/{chunk-3XLGXCSX.js → chunk-3SKIZDKL.js} +1 -1
  25. package/dist/cli/chunks/{chunk-ED7MD6OI.js → chunk-3SRPFBU7.js} +3 -3
  26. package/dist/cli/chunks/{chunk-3FOFPGHH.js → chunk-4BFCLSDN.js} +2 -2
  27. package/dist/cli/chunks/{chunk-7S7QF4HJ.js → chunk-4JFH3MVA.js} +1 -1
  28. package/dist/cli/chunks/{chunk-IJHPZMEQ.js → chunk-4RHNPRAP.js} +2 -2
  29. package/dist/cli/chunks/{chunk-RRSUW2TK.js → chunk-4YT5YN5G.js} +2 -2
  30. package/dist/cli/chunks/{chunk-O7ZDQ5FF.js → chunk-54B6P2WS.js} +3 -3
  31. package/dist/cli/chunks/{chunk-EBCUWMLX.js → chunk-5AQ7FXYG.js} +2 -2
  32. package/dist/cli/chunks/{chunk-H7Y43HBQ.js → chunk-5P7Q5YNC.js} +1 -1
  33. package/dist/cli/chunks/{chunk-ZDPQB67L.js → chunk-5U2WHPXL.js} +1 -1
  34. package/dist/cli/chunks/{chunk-OFMVC6P3.js → chunk-5VSQAGA2.js} +1 -1
  35. package/dist/cli/chunks/{chunk-EHEFI6LR.js → chunk-5Z4FBCBK.js} +1 -1
  36. package/dist/cli/chunks/{chunk-LKLWIP4Z.js → chunk-63QUN3JK.js} +1 -1
  37. package/dist/cli/chunks/{chunk-WYJFVSEB.js → chunk-6545AS2J.js} +2 -2
  38. package/dist/cli/chunks/{chunk-7UOH55UT.js → chunk-6GYGAW53.js} +2 -2
  39. package/dist/cli/chunks/{chunk-VFEU4JM4.js → chunk-6JUOH6L4.js} +2 -2
  40. package/dist/cli/chunks/{chunk-DPYNXEBC.js → chunk-6W3QHS45.js} +2 -2
  41. package/dist/cli/chunks/{chunk-L6PH7JIE.js → chunk-7ADD2ZQL.js} +2 -2
  42. package/dist/cli/chunks/{chunk-WTKT2AD3.js → chunk-7AWK43JN.js} +2 -2
  43. package/dist/cli/chunks/{chunk-HRD5I7ES.js → chunk-7IKWF2AD.js} +1 -1
  44. package/dist/cli/chunks/{chunk-PLQADRA6.js → chunk-7QTB5XIQ.js} +2 -2
  45. package/dist/cli/chunks/{chunk-4ITHKHR5.js → chunk-A4OMK3FO.js} +2 -2
  46. package/dist/cli/chunks/{chunk-GCIL7PK7.js → chunk-ADFKY3X2.js} +2 -2
  47. package/dist/cli/chunks/{chunk-27MMZQ7X.js → chunk-AE6HXMOG.js} +1 -1
  48. package/dist/cli/chunks/{chunk-6F43POT6.js → chunk-AJXGGTX7.js} +1 -1
  49. package/dist/cli/chunks/{chunk-KTYESESI.js → chunk-AQIEK4SY.js} +2 -2
  50. package/dist/cli/chunks/{chunk-RXN5DWVM.js → chunk-ARPBG6FQ.js} +2 -2
  51. package/dist/cli/chunks/{chunk-26KHL4VO.js → chunk-AYGEWPN4.js} +1 -1
  52. package/dist/cli/chunks/{chunk-MX5FMAY5.js → chunk-B5XUWHKQ.js} +1 -1
  53. package/dist/cli/chunks/{chunk-UFZCHVLH.js → chunk-BMQDELPA.js} +1 -1
  54. package/dist/cli/chunks/{chunk-S2T2BXUL.js → chunk-BRLUNIR4.js} +2 -2
  55. package/dist/cli/chunks/{chunk-H2YOWAEB.js → chunk-CNF3ZWLM.js} +2 -2
  56. package/dist/cli/chunks/{chunk-3E3PSEC5.js → chunk-D5S47YUS.js} +2 -2
  57. package/dist/cli/chunks/{chunk-A4NYOH7P.js → chunk-D6CKKNYC.js} +2 -2
  58. package/dist/cli/chunks/{chunk-PUUGIBFF.js → chunk-DNOU2HVQ.js} +2 -2
  59. package/dist/cli/chunks/{chunk-SWRGPCZ2.js → chunk-DRMHVY4T.js} +4 -4
  60. package/dist/cli/chunks/{chunk-CGKHG46K.js → chunk-EONKMHKO.js} +2 -2
  61. package/dist/cli/chunks/{chunk-AKOGQT3A.js → chunk-EZRHSHOQ.js} +2 -2
  62. package/dist/cli/chunks/{chunk-ATFADWGD.js → chunk-FRFVN6AA.js} +2 -2
  63. package/dist/cli/chunks/{chunk-CYJ6O5VZ.js → chunk-FSGMRQFC.js} +2 -2
  64. package/dist/cli/chunks/{chunk-22CUJA33.js → chunk-G3TFNY4T.js} +2 -2
  65. package/dist/cli/chunks/{chunk-AC6OZTY4.js → chunk-GOQ4P2PB.js} +2 -2
  66. package/dist/cli/chunks/chunk-GRQ36XUH.js +24 -0
  67. package/dist/cli/chunks/{chunk-RWUGXU2K.js → chunk-HH6NCBSP.js} +3 -3
  68. package/dist/cli/chunks/{chunk-KHUN65Q3.js → chunk-HJ24KMC2.js} +1 -1
  69. package/dist/cli/chunks/{chunk-SIAJP3YA.js → chunk-HJO4RNOW.js} +2 -2
  70. package/dist/cli/chunks/{chunk-B65CRJN6.js → chunk-HT6WAYIR.js} +1 -1
  71. package/dist/cli/chunks/{chunk-7SBMTSGY.js → chunk-HWBMYR5W.js} +3 -3
  72. package/dist/cli/chunks/{chunk-KULBMV6K.js → chunk-IB3ZPLFA.js} +2 -2
  73. package/dist/cli/chunks/{chunk-5746QYRF.js → chunk-ICCTQ5LO.js} +2 -2
  74. package/dist/cli/chunks/{chunk-NBOEXSV2.js → chunk-IF3HPQNV.js} +1 -1
  75. package/dist/cli/chunks/{chunk-KXRI4MR3.js → chunk-IQBZBUP5.js} +2 -2
  76. package/dist/cli/chunks/{chunk-ZM7WOA3K.js → chunk-JCTCM6IR.js} +1 -1
  77. package/dist/cli/chunks/{chunk-PSL53AQ4.js → chunk-JDFPAJGB.js} +10 -10
  78. package/dist/cli/chunks/{chunk-SFDBIO64.js → chunk-JFLSQH2X.js} +2 -2
  79. package/dist/cli/chunks/{chunk-BHZI6PDR.js → chunk-JNQN5DNS.js} +1 -1
  80. package/dist/cli/chunks/{chunk-ABD6JBNO.js → chunk-JPENUVCI.js} +1 -1
  81. package/dist/cli/chunks/{chunk-PMHSTMHV.js → chunk-KUZMVH6N.js} +3 -3
  82. package/dist/cli/chunks/{chunk-6IHB3T6M.js → chunk-KYTFIP6R.js} +2 -2
  83. package/dist/cli/chunks/{chunk-QCCXH5DK.js → chunk-LKURMUBU.js} +4 -4
  84. package/dist/cli/chunks/{chunk-BA7PJS3Y.js → chunk-LLUPRGOR.js} +2 -2
  85. package/dist/cli/chunks/{chunk-S7KDHA6P.js → chunk-LMJUMUQJ.js} +4 -4
  86. package/dist/cli/chunks/{chunk-7FVWETN4.js → chunk-LW5DHT3Z.js} +2 -2
  87. package/dist/cli/chunks/{chunk-WCVZHXWL.js → chunk-MALOUGSF.js} +2 -2
  88. package/dist/cli/chunks/{chunk-ECGASTG7.js → chunk-MCT4CD5M.js} +2 -2
  89. package/dist/cli/chunks/{chunk-MU36VPXV.js → chunk-MWFJC5HR.js} +1 -1
  90. package/dist/cli/chunks/{chunk-NWUVXLBB.js → chunk-MYMIEQSZ.js} +4 -4
  91. package/dist/cli/chunks/{chunk-XKUN5PDH.js → chunk-N2BJN6AO.js} +3 -3
  92. package/dist/cli/chunks/{chunk-B7XPSXK6.js → chunk-NBBLPDJX.js} +2 -2
  93. package/dist/cli/chunks/{chunk-6KKKPVOF.js → chunk-NFJT7XXR.js} +1 -1
  94. package/dist/cli/chunks/{chunk-UTGW75AZ.js → chunk-NSPCZPTB.js} +2 -2
  95. package/dist/cli/chunks/{chunk-GBCDJJWH.js → chunk-NV3TXXOW.js} +2 -2
  96. package/dist/cli/chunks/{chunk-SMHYPPO6.js → chunk-O5NEJIHB.js} +2 -2
  97. package/dist/cli/chunks/{chunk-REZ2GZQ3.js → chunk-O7PVZ32A.js} +1 -1
  98. package/dist/cli/chunks/{chunk-BFBZFUBP.js → chunk-ODZSQVEW.js} +1 -1
  99. package/dist/cli/chunks/{chunk-FJRRXCIS.js → chunk-P6S6ZVB5.js} +1 -1
  100. package/dist/cli/chunks/{chunk-LGEZ3ZJX.js → chunk-PEIQDQXN.js} +2 -2
  101. package/dist/cli/chunks/{chunk-CCDGNJZX.js → chunk-PFWJQPUC.js} +2 -2
  102. package/dist/cli/chunks/{chunk-WV66MXJI.js → chunk-PQUXFSN6.js} +2 -2
  103. package/dist/cli/chunks/{chunk-54TDOQAH.js → chunk-Q7ORVHJB.js} +3 -3
  104. package/dist/cli/chunks/{chunk-NJ2RY4OL.js → chunk-QEVX4GWF.js} +2 -2
  105. package/dist/cli/chunks/{chunk-36HTS4EP.js → chunk-QJ5NCYJ3.js} +2 -2
  106. package/dist/cli/chunks/{chunk-6GVRP64A.js → chunk-QMC5MTBV.js} +2 -2
  107. package/dist/cli/chunks/{chunk-P4UGVVVX.js → chunk-QSDIY3E2.js} +1 -1
  108. package/dist/cli/chunks/chunk-RCPD6F4R.js +2 -0
  109. package/dist/cli/chunks/{chunk-7QIYYYUE.js → chunk-RFQBDMAP.js} +1 -1
  110. package/dist/cli/chunks/{chunk-DZZ4AJQI.js → chunk-SFDUT5WM.js} +2 -2
  111. package/dist/cli/chunks/{chunk-3CBYKKRW.js → chunk-SL3SNOO2.js} +2 -2
  112. package/dist/cli/chunks/{chunk-LW5TUN5F.js → chunk-SRVTNG6L.js} +2 -2
  113. package/dist/cli/chunks/{chunk-A43MKBSX.js → chunk-T76RFXQX.js} +2 -2
  114. package/dist/cli/chunks/{chunk-VTDWQ7WI.js → chunk-TCVEKRPI.js} +2 -2
  115. package/dist/cli/chunks/{chunk-DNOBN3IR.js → chunk-TCWR6TDN.js} +2 -2
  116. package/dist/cli/chunks/{chunk-FPKKKUWF.js → chunk-THKZVOZV.js} +1 -1
  117. package/dist/cli/chunks/{chunk-JVXPKHND.js → chunk-TPMBFARK.js} +31 -26
  118. package/dist/cli/chunks/{chunk-OVEG5MEL.js → chunk-TQ373GGI.js} +2 -2
  119. package/dist/cli/chunks/{chunk-242B625Q.js → chunk-TSWF3AGQ.js} +2 -2
  120. package/dist/cli/chunks/{chunk-WLLGPGQY.js → chunk-TU6YN43Q.js} +1 -1
  121. package/dist/cli/chunks/{chunk-5EW36WTI.js → chunk-U34OZXD6.js} +2 -2
  122. package/dist/cli/chunks/{chunk-B6USJW5E.js → chunk-U3AVZGQA.js} +1 -1
  123. package/dist/cli/chunks/{chunk-OQGELUM2.js → chunk-UCYTY4LG.js} +2 -2
  124. package/dist/cli/chunks/{chunk-DS7AZD26.js → chunk-UJMTKXPI.js} +2 -2
  125. package/dist/cli/chunks/{chunk-6JR2RSY2.js → chunk-UQ72K44T.js} +2 -2
  126. package/dist/cli/chunks/{chunk-77QJQRL2.js → chunk-VCUCD3B5.js} +2 -2
  127. package/dist/cli/chunks/{chunk-G6MPXBCD.js → chunk-VJGHRWMH.js} +2 -2
  128. package/dist/cli/chunks/{chunk-XCSEJQXR.js → chunk-VKJQAKYG.js} +2 -2
  129. package/dist/cli/chunks/{chunk-FZLCKIPP.js → chunk-VO6YJGB4.js} +2 -2
  130. package/dist/cli/chunks/{chunk-CLZ5RQVA.js → chunk-VQU7DMEY.js} +2 -2
  131. package/dist/cli/chunks/{chunk-EZ4GKHSI.js → chunk-WMIRAD3J.js} +2 -2
  132. package/dist/cli/chunks/{chunk-UMWYL37S.js → chunk-WNMDWP5A.js} +2 -2
  133. package/dist/cli/chunks/{chunk-PW4GGJMP.js → chunk-WQZ2WRO4.js} +1 -1
  134. package/dist/cli/chunks/{chunk-QPMISAWB.js → chunk-WZYNY3VF.js} +1 -1
  135. package/dist/cli/chunks/{chunk-6WWNK67C.js → chunk-X64BEXUY.js} +173 -173
  136. package/dist/cli/chunks/{chunk-L44XXD3X.js → chunk-XHRLBJTM.js} +2 -2
  137. package/dist/cli/chunks/{chunk-N2K2EQFH.js → chunk-XQ6DW5FV.js} +2 -2
  138. package/dist/cli/chunks/chunk-XXRTWG7O.js +2 -0
  139. package/dist/cli/chunks/{chunk-PUK5NE47.js → chunk-Y4AXOHW4.js} +1 -1
  140. package/dist/cli/chunks/{chunk-SFGBC5RP.js → chunk-YKSWC7I4.js} +2 -2
  141. package/dist/cli/chunks/{chunk-YPRM6ZFL.js → chunk-YNK6SUPU.js} +2 -2
  142. package/dist/cli/chunks/{chunk-2OUXYSQV.js → chunk-YUHM72VQ.js} +2 -2
  143. package/dist/cli/chunks/{chunk-DZ7PWB6E.js → chunk-YZ5EQR37.js} +2 -2
  144. package/dist/cli/chunks/{chunk-Q2A2XQGF.js → chunk-Z2REKBD6.js} +2 -2
  145. package/dist/cli/chunks/{chunk-JWTMVC6E.js → chunk-ZFCVT43J.js} +2 -2
  146. package/dist/cli/chunks/{chunk-VUEYLW5P.js → chunk-ZKCKOQJI.js} +2 -2
  147. package/dist/cli/chunks/{chunk-7PDUD7FF.js → chunk-ZSA6V5FH.js} +2 -2
  148. package/dist/cli/chunks/{chunk-SLU35IDJ.js → chunk-ZSBJNE35.js} +2 -2
  149. package/dist/cli/chunks/{chunk-LMA6KEZH.js → chunk-ZYZT2CDX.js} +1 -1
  150. package/dist/cli/chunks/{ci-JW4O2J3W.js → ci-HQCRSCC7.js} +2 -2
  151. package/dist/cli/chunks/{ci-output-JNXJV4B2.js → ci-output-YBVXLA6O.js} +2 -2
  152. package/dist/cli/chunks/{circuit-breaker-XDD4KUGR.js → circuit-breaker-ULGMF2QN.js} +2 -2
  153. package/dist/cli/chunks/{claude-flow-setup-L6IZOGYZ.js → claude-flow-setup-MKZ2LJXK.js} +2 -2
  154. package/dist/cli/chunks/client-2OVEDWGU.js +2 -0
  155. package/dist/cli/chunks/{cline-installer-PK5SMN2B.js → cline-installer-WZQ6XBWN.js} +2 -2
  156. package/dist/cli/chunks/{code-ZDVX3SQH.js → code-H3KGH45S.js} +2 -2
  157. package/dist/cli/chunks/{code-index-extractor-VXZNKEU5.js → code-index-extractor-NUVEAJ7C.js} +2 -2
  158. package/dist/cli/chunks/{codex-installer-OXKSIX7H.js → codex-installer-JQI6E6CV.js} +2 -2
  159. package/dist/cli/chunks/{completions-VRFFK223.js → completions-NDF4PFE7.js} +2 -2
  160. package/dist/cli/chunks/{complexity-analyzer-FTIMV74J.js → complexity-analyzer-XCZH66HG.js} +2 -2
  161. package/dist/cli/chunks/{continuedev-installer-KTYBBPN4.js → continuedev-installer-Z4AJGZ7S.js} +2 -2
  162. package/dist/cli/chunks/{copilot-installer-WDC3YNUR.js → copilot-installer-K4IPAL7C.js} +2 -2
  163. package/dist/cli/chunks/core-handlers-UXRRYP52.js +2 -0
  164. package/dist/cli/chunks/{cost-tracker-6MH4H33B.js → cost-tracker-35KXAB23.js} +2 -2
  165. package/dist/cli/chunks/{coverage-NHATLNS4.js → coverage-QW5I4TYZ.js} +3 -3
  166. package/dist/cli/chunks/cross-domain-router-PV3VQVLO.js +2 -0
  167. package/dist/cli/chunks/{cursor-installer-VQSUJDFB.js → cursor-installer-P4Z7RMIZ.js} +2 -2
  168. package/dist/cli/chunks/{daemon-ZSK6CLQR.js → daemon-ESUEM6VB.js} +4 -4
  169. package/dist/cli/chunks/{daemon-3VAOEKQW.js → daemon-WQWTCYBM.js} +3 -3
  170. package/dist/cli/chunks/{dag-attention-scheduler-HZ6OGYIH.js → dag-attention-scheduler-7XD2VGON.js} +2 -2
  171. package/dist/cli/chunks/{detect-CGU3SC63.js → detect-GZ3P4DI7.js} +2 -2
  172. package/dist/cli/chunks/{dist-node-DIBQ7PTA.js → dist-node-6WWAW7OP.js} +2 -2
  173. package/dist/cli/chunks/{domain-handler-DCMGAYXS.js → domain-handler-3GTLWARQ.js} +2 -2
  174. package/dist/cli/chunks/{domain-transfer-UWFKBZTJ.js → domain-transfer-TQYO3SVG.js} +2 -2
  175. package/dist/cli/chunks/dream-UFUXVJQC.js +2 -0
  176. package/dist/cli/chunks/{embed-and-insert-pattern-7247LAU3.js → embed-and-insert-pattern-BGIMA77V.js} +2 -2
  177. package/dist/cli/chunks/{eval-6KR7TFOK.js → eval-SXV6DRDD.js} +2 -2
  178. package/dist/cli/chunks/{experience-capture-middleware-IIOR6RVV.js → experience-capture-middleware-TT6WCT2S.js} +3 -3
  179. package/dist/cli/chunks/{fast-paths-M7OGD4ZI.js → fast-paths-HTAZHEQP.js} +2 -2
  180. package/dist/cli/chunks/{feature-flags-GGUXHRJI.js → feature-flags-DIE3Z2B4.js} +2 -2
  181. package/dist/cli/chunks/{feature-flags-U75KFIGH.js → feature-flags-WBUKU54W.js} +2 -2
  182. package/dist/cli/chunks/{file-discovery-V52AYEB7.js → file-discovery-SKDETFS3.js} +2 -2
  183. package/dist/cli/chunks/{fleet-2UH72CK4.js → fleet-WCWEPAVU.js} +3 -3
  184. package/dist/cli/chunks/{gnn-wrapper-J2GDLT3P.js → gnn-wrapper-KWZOWBYS.js} +2 -2
  185. package/dist/cli/chunks/{heartbeat-handler-QIDQHRXT.js → heartbeat-handler-3AGYHVG2.js} +4 -4
  186. package/dist/cli/chunks/heartbeat-scheduler-MBG3SARO.js +2 -0
  187. package/dist/cli/chunks/hnsw-adapter-5HXA3QB3.js +2 -0
  188. package/dist/cli/chunks/hnsw-index-PZRQWBRG.js +2 -0
  189. package/dist/cli/chunks/{hnsw-legacy-bridge-IU62PIY5.js → hnsw-legacy-bridge-6OJJDZHL.js} +2 -2
  190. package/dist/cli/chunks/{better-sqlite3-QNZJOJAB.js → hnswlib-node-LAFK5QZ4.js} +2 -2
  191. package/dist/cli/chunks/{hooks-ZI4D3ATS.js → hooks-OXEBTLXV.js} +10 -10
  192. package/dist/cli/chunks/hybrid-router-NQRIE2GG.js +2 -0
  193. package/dist/cli/chunks/{hypergraph-engine-6JEERAGA.js → hypergraph-engine-NL74PRHD.js} +2 -2
  194. package/dist/cli/chunks/{hypergraph-handler-YMDGYCB6.js → hypergraph-handler-KZ54AEEL.js} +3 -3
  195. package/dist/cli/chunks/impact-analyzer-46347ZDV.js +2 -0
  196. package/dist/cli/chunks/{init-handler-N57NW3QI.js → init-handler-XKZXRXPG.js} +6 -6
  197. package/dist/cli/chunks/init-wizard-CJYP4WKO.js +2 -0
  198. package/dist/cli/chunks/kernel-22KQZ56U.js +2 -0
  199. package/dist/cli/chunks/{kilocode-installer-7ABTGXJ5.js → kilocode-installer-WISQMJK7.js} +2 -2
  200. package/dist/cli/chunks/{kiro-installer-2JFOHLVI.js → kiro-installer-O7TBB3GM.js} +2 -2
  201. package/dist/cli/chunks/knowledge-graph-KM3JDBGR.js +2 -0
  202. package/dist/cli/chunks/{learning-3P3ZXRGD.js → learning-6IZBGVRU.js} +3 -3
  203. package/dist/cli/chunks/{llm-router-AWB2KHDW.js → llm-router-QDMQPPQ7.js} +4 -4
  204. package/dist/cli/chunks/llm-router-service-IFO6GRRO.js +2 -0
  205. package/dist/cli/chunks/{load-GGVBCBGX.js → load-KLAJJGL5.js} +2 -2
  206. package/dist/cli/chunks/load-test-TTKCYAPB.js +2 -0
  207. package/dist/cli/chunks/{mcp-33NHIBN3.js → mcp-SZOPQZIZ.js} +2 -2
  208. package/dist/cli/chunks/{memory-IVAQS4OW.js → memory-G3WY74C6.js} +5 -5
  209. package/dist/cli/chunks/memory-backend-ELHCX2ZT.js +2 -0
  210. package/dist/cli/chunks/memory-handlers-3SKYQZTL.js +2 -0
  211. package/dist/cli/chunks/{multi-model-executor-NWQY6IN2.js → multi-model-executor-TDNQGTOT.js} +2 -2
  212. package/dist/cli/chunks/{opencode-installer-FBB4JOEV.js → opencode-installer-NGYGEDMV.js} +2 -2
  213. package/dist/cli/chunks/{orchestrator-GDAXR7DH.js → orchestrator-KPI5DY2C.js} +5 -5
  214. package/dist/cli/chunks/pattern-null-store-TMXAYD43.js +2 -0
  215. package/dist/cli/chunks/{pipeline-VIKAOIBE.js → pipeline-CSDCC675.js} +2 -2
  216. package/dist/cli/chunks/{platform-FFVP36LH.js → platform-Q5XKEVKH.js} +2 -2
  217. package/dist/cli/chunks/{plugin-TI6QOLXH.js → plugin-XKKR3GVL.js} +2 -2
  218. package/dist/cli/chunks/{prime-radiant-advanced-wasm-AZRNI2OL.js → prime-radiant-advanced-wasm-22QVNKEN.js} +2 -2
  219. package/dist/cli/chunks/protocol-executor-BPLR5EJC.js +2 -0
  220. package/dist/cli/chunks/{protocol-handler-J4EA34B3.js → protocol-handler-REQKTJGG.js} +2 -2
  221. package/dist/cli/chunks/{prove-ADVRMAWS.js → prove-NOFUFSQN.js} +2 -2
  222. package/dist/cli/chunks/provider-manager-4MMD5QKL.js +2 -0
  223. package/dist/cli/chunks/qe-reasoning-bank-P7KNT3WZ.js +2 -0
  224. package/dist/cli/chunks/{quality-GB5SJFSD.js → quality-3DQ2H5TK.js} +2 -2
  225. package/dist/cli/chunks/queen-coordinator-NBZZ4MGC.js +2 -0
  226. package/dist/cli/chunks/{real-embeddings-GDRJ4XSH.js → real-embeddings-FCGNYWLL.js} +2 -2
  227. package/dist/cli/chunks/{roocode-installer-Q6EISUDV.js → roocode-installer-HX3CNRIR.js} +2 -2
  228. package/dist/cli/chunks/router-2RXR6J2Q.js +2 -0
  229. package/dist/cli/chunks/routing-feedback-AVAA76TK.js +2 -0
  230. package/dist/cli/chunks/{routing-handler-RO4RTRAG.js → routing-handler-YRZ2LDCR.js} +2 -2
  231. package/dist/cli/chunks/{ruvector-commands-FFIHCGVQ.js → ruvector-commands-GCQVBJ4E.js} +2 -2
  232. package/dist/cli/chunks/{rvf-dual-writer-JGEK3A5Y.js → rvf-dual-writer-B562P3ZC.js} +2 -2
  233. package/dist/cli/chunks/{rvf-migration-adapter-OVYC4QM6.js → rvf-migration-adapter-NAGFKCMD.js} +2 -2
  234. package/dist/cli/chunks/{rvf-migration-coordinator-U6L77QTS.js → rvf-migration-coordinator-WWFBEJ5Q.js} +2 -2
  235. package/dist/cli/chunks/rvf-native-adapter-X2YDJA55.js +2 -0
  236. package/dist/cli/chunks/safe-db-4PRU65BK.js +2 -0
  237. package/dist/cli/chunks/schedule-2AST5CHW.js +2 -0
  238. package/dist/cli/chunks/scheduler-SW6II7OU.js +2 -0
  239. package/dist/cli/chunks/{security-QPQIDAIL.js → security-IFOYTD75.js} +3 -3
  240. package/dist/cli/chunks/{shared-rvf-adapter-JRJTI4UD.js → shared-rvf-adapter-TYD5TQ35.js} +2 -2
  241. package/dist/cli/chunks/{shared-rvf-dual-writer-DSHGURDA.js → shared-rvf-dual-writer-YGOOVDQZ.js} +2 -2
  242. package/dist/cli/chunks/sqlite-persistence-OB5NEGAK.js +2 -0
  243. package/dist/cli/chunks/{status-handler-SBT3MZTX.js → status-handler-HFPWSCBY.js} +2 -2
  244. package/dist/cli/chunks/{structural-health-UVECCN7U.js → structural-health-KZI6YMKV.js} +2 -2
  245. package/dist/cli/chunks/{sync-ZLZ4CZFJ.js → sync-ABZNNYRC.js} +2 -2
  246. package/dist/cli/chunks/{sync-XXIGTGCG.js → sync-Z5BDDBMK.js} +2 -2
  247. package/dist/cli/chunks/{task-handler-73YAVOKJ.js → task-handler-5ACZEPJ7.js} +2 -2
  248. package/dist/cli/chunks/{task-handlers-PKECV27D.js → task-handlers-UZWDPL6A.js} +3 -3
  249. package/dist/cli/chunks/{test-U3SXW4SV.js → test-APO3MCVV.js} +4 -4
  250. package/dist/cli/chunks/{test-scheduling-POJND3GV.js → test-scheduling-EFZA5G5C.js} +3 -3
  251. package/dist/cli/chunks/{token-bootstrap-ICX6SIXJ.js → token-bootstrap-J2OPLNUK.js} +2 -2
  252. package/dist/cli/chunks/{token-usage-WCHJUVGT.js → token-usage-VHWVNN4R.js} +2 -2
  253. package/dist/cli/chunks/{transformers-L77UIHIY.js → transformers-PX4HPO75.js} +2 -2
  254. package/dist/cli/chunks/{tree-sitter-wasm-parser-CVAXURQP.js → tree-sitter-wasm-parser-44HA2Z3F.js} +2 -2
  255. package/dist/cli/chunks/{types-LNVJBDM2.js → types-IMOP7F4R.js} +2 -2
  256. package/dist/cli/chunks/unified-memory-X7OJYGSD.js +2 -0
  257. package/dist/cli/chunks/unified-memory-hnsw-O6HOD5YL.js +2 -0
  258. package/dist/cli/chunks/unified-persistence-C332CER2.js +2 -0
  259. package/dist/cli/chunks/{upgrade-4ND5RQFY.js → upgrade-OZ3O6ZZI.js} +2 -2
  260. package/dist/cli/chunks/{validate-ZA4XT6K2.js → validate-DRY5BMWX.js} +2 -2
  261. package/dist/cli/chunks/{validate-swarm-FNK3GCJ4.js → validate-swarm-QD3LYPUF.js} +2 -2
  262. package/dist/cli/chunks/{vibium-E2CK2GBQ.js → vibium-2J3H2ITD.js} +2 -2
  263. package/dist/cli/chunks/visual-security-MPUG5HPI.js +2 -0
  264. package/dist/cli/chunks/{web-tree-sitter-63VRNKZV.js → web-tree-sitter-KRNUOGKI.js} +2 -2
  265. package/dist/cli/chunks/{windsurf-installer-5BTCVOLH.js → windsurf-installer-PQIPH3WP.js} +2 -2
  266. package/dist/cli/chunks/{witness-chain-6CUUGISD.js → witness-chain-HPLOYPS7.js} +2 -2
  267. package/dist/cli/chunks/witness-chain-Q4BZHPDF.js +2 -0
  268. package/dist/cli/chunks/{workflow-V7ED22XT.js → workflow-OAQ3FWCY.js} +4 -4
  269. package/dist/cli/chunks/workflow-orchestrator-4NDWECYK.js +2 -0
  270. package/dist/cli/chunks/{wrappers-7S3NTTLW.js → wrappers-UPIU6S5S.js} +2 -2
  271. package/dist/coordination/consensus/providers/ollama-provider.js +3 -2
  272. package/dist/integrations/ruvector/proof-gate.d.ts +68 -0
  273. package/dist/integrations/ruvector/proof-gate.js +135 -0
  274. package/dist/kernel/unified-memory.d.ts +35 -0
  275. package/dist/kernel/unified-memory.js +105 -0
  276. package/dist/learning/local-judge-client.js +2 -1
  277. package/dist/mcp/bundle.js +382 -377
  278. package/dist/routing/free-tier/coordinator-support.d.ts +6 -3
  279. package/dist/routing/free-tier/coordinator-support.js +6 -3
  280. package/dist/routing/free-tier/executor.d.ts +14 -0
  281. package/dist/routing/free-tier/executor.js +21 -0
  282. package/dist/routing/free-tier/index.d.ts +1 -0
  283. package/dist/routing/free-tier/index.js +1 -0
  284. package/dist/routing/free-tier/pattern-cache.d.ts +57 -0
  285. package/dist/routing/free-tier/pattern-cache.js +148 -0
  286. package/dist/routing/free-tier/provider.js +9 -1
  287. package/dist/routing/value-score.js +3 -0
  288. package/dist/shared/embeddings/ollama-client.js +2 -1
  289. package/dist/shared/llm/model-mapping.js +26 -0
  290. package/dist/shared/llm/model-registry.d.ts +10 -0
  291. package/dist/shared/llm/model-registry.js +92 -0
  292. package/dist/shared/llm/ollama-url.d.ts +17 -0
  293. package/dist/shared/llm/ollama-url.js +25 -0
  294. package/dist/shared/llm/providers/ollama-timeout.d.ts +26 -0
  295. package/dist/shared/llm/providers/ollama-timeout.js +31 -0
  296. package/dist/shared/llm/providers/ollama.d.ts +10 -0
  297. package/dist/shared/llm/providers/ollama.js +31 -4
  298. package/dist/shared/llm/router/hybrid-router.js +18 -1
  299. package/package.json +5 -1
  300. package/dist/cli/chunks/adapter-IU3H3MD7.js +0 -2
  301. package/dist/cli/chunks/aqe-learning-engine-BGOC63IN.js +0 -2
  302. package/dist/cli/chunks/base-DVPRE3WO.js +0 -2
  303. package/dist/cli/chunks/browser-workflow-MP5P7KZF.js +0 -2
  304. package/dist/cli/chunks/chunk-2SZQDTI5.js +0 -2
  305. package/dist/cli/chunks/chunk-OCACCUFO.js +0 -2
  306. package/dist/cli/chunks/chunk-PY2Q6MN3.js +0 -24
  307. package/dist/cli/chunks/chunk-UNH2DE2G.js +0 -2
  308. package/dist/cli/chunks/client-ADCDBTEE.js +0 -2
  309. package/dist/cli/chunks/core-handlers-HCACMLUW.js +0 -2
  310. package/dist/cli/chunks/cross-domain-router-HXFQAU4M.js +0 -2
  311. package/dist/cli/chunks/dream-SVWQH62A.js +0 -2
  312. package/dist/cli/chunks/heartbeat-scheduler-QW5TW5QS.js +0 -2
  313. package/dist/cli/chunks/hnsw-adapter-D6EJWYAL.js +0 -2
  314. package/dist/cli/chunks/hnsw-index-4MWR4U5W.js +0 -2
  315. package/dist/cli/chunks/hybrid-router-BYVUBHER.js +0 -2
  316. package/dist/cli/chunks/impact-analyzer-OK2UIMSG.js +0 -2
  317. package/dist/cli/chunks/init-wizard-6NNPNS6J.js +0 -2
  318. package/dist/cli/chunks/kernel-F4A4GRNO.js +0 -2
  319. package/dist/cli/chunks/knowledge-graph-MSJDEZCF.js +0 -2
  320. package/dist/cli/chunks/llm-router-service-27IQAO7G.js +0 -2
  321. package/dist/cli/chunks/load-test-TT5VLAN7.js +0 -2
  322. package/dist/cli/chunks/memory-backend-FVSK53IM.js +0 -2
  323. package/dist/cli/chunks/memory-handlers-OPUDOZNT.js +0 -2
  324. package/dist/cli/chunks/pattern-null-store-7MVEDWCY.js +0 -2
  325. package/dist/cli/chunks/protocol-executor-BLDDYEJ4.js +0 -2
  326. package/dist/cli/chunks/provider-manager-ZYCFRYZQ.js +0 -2
  327. package/dist/cli/chunks/qe-reasoning-bank-P66CCPHM.js +0 -2
  328. package/dist/cli/chunks/queen-coordinator-LPHT3SX5.js +0 -2
  329. package/dist/cli/chunks/router-XQ2TERUT.js +0 -2
  330. package/dist/cli/chunks/routing-feedback-K52O752B.js +0 -2
  331. package/dist/cli/chunks/rvf-native-adapter-G4DV7FK3.js +0 -2
  332. package/dist/cli/chunks/safe-db-TMSEITES.js +0 -2
  333. package/dist/cli/chunks/schedule-RWFLA43O.js +0 -2
  334. package/dist/cli/chunks/scheduler-2V55MJJR.js +0 -2
  335. package/dist/cli/chunks/sqlite-persistence-L7QM6IWF.js +0 -2
  336. package/dist/cli/chunks/unified-memory-ZSULA46X.js +0 -2
  337. package/dist/cli/chunks/unified-memory-hnsw-SQEWFUBN.js +0 -2
  338. package/dist/cli/chunks/unified-persistence-EDCTT6SE.js +0 -2
  339. package/dist/cli/chunks/visual-security-SOGAETFP.js +0 -2
  340. package/dist/cli/chunks/witness-chain-AJCECBH5.js +0 -2
  341. package/dist/cli/chunks/workflow-orchestrator-UXRUCOZR.js +0 -2
@@ -1,5 +1,5 @@
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.11.3");process.exit(0)}
2
- import{a as i,b as k,c as d,d as p}from"./chunk-A4NYOH7P.js";import"./chunk-3CBYKKRW.js";import{a as v}from"./chunk-FZLCKIPP.js";import{a as h}from"./chunk-CGKHG46K.js";import"./chunk-7S7QF4HJ.js";import"./chunk-WLLGPGQY.js";import"./chunk-3BREKEL5.js";import"./chunk-6KKKPVOF.js";import"./chunk-S2T2BXUL.js";import"./chunk-P4UGVVVX.js";import"./chunk-NBOEXSV2.js";import"./chunk-SFGBC5RP.js";import"./chunk-O7ZDQ5FF.js";import"./chunk-JVXPKHND.js";import"./chunk-7FVWETN4.js";import"./chunk-UNH2DE2G.js";import"./chunk-7UOH55UT.js";import"./chunk-BA7PJS3Y.js";import"./chunk-G6MPXBCD.js";import"./chunk-UTGW75AZ.js";import"./chunk-REZ2GZQ3.js";import"./chunk-LGEZ3ZJX.js";import"./chunk-UFZCHVLH.js";import"./chunk-DNOBN3IR.js";import"./chunk-2OUXYSQV.js";import"./chunk-WV66MXJI.js";import"./chunk-WTKT2AD3.js";import"./chunk-77QJQRL2.js";import"./chunk-36HTS4EP.js";import"./chunk-OVEG5MEL.js";import"./chunk-PLQADRA6.js";import"./chunk-L6PH7JIE.js";import"./chunk-PUK5NE47.js";import{Command as x}from"commander";import o from"chalk";function j(e,t,n){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await n())try{console.log(o.blue(`
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.11.4");process.exit(0)}
2
+ import{a as i,b as k,c as d,d as p}from"./chunk-D6CKKNYC.js";import"./chunk-SL3SNOO2.js";import{a as v}from"./chunk-VO6YJGB4.js";import{a as h}from"./chunk-EONKMHKO.js";import"./chunk-4JFH3MVA.js";import"./chunk-TU6YN43Q.js";import"./chunk-3FJZMQJ7.js";import"./chunk-NFJT7XXR.js";import"./chunk-BRLUNIR4.js";import"./chunk-QSDIY3E2.js";import"./chunk-IF3HPQNV.js";import"./chunk-YKSWC7I4.js";import"./chunk-54B6P2WS.js";import"./chunk-TPMBFARK.js";import"./chunk-LW5DHT3Z.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-LLUPRGOR.js";import"./chunk-VJGHRWMH.js";import"./chunk-NSPCZPTB.js";import"./chunk-O7PVZ32A.js";import"./chunk-PEIQDQXN.js";import"./chunk-BMQDELPA.js";import"./chunk-TCWR6TDN.js";import"./chunk-YUHM72VQ.js";import"./chunk-PQUXFSN6.js";import"./chunk-7AWK43JN.js";import"./chunk-VCUCD3B5.js";import"./chunk-QJ5NCYJ3.js";import"./chunk-TQ373GGI.js";import"./chunk-7QTB5XIQ.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";import{Command as x}from"commander";import o from"chalk";function j(e,t,n){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await n())try{console.log(o.blue(`
3
3
  Swarm Skill Validation
4
4
  `));let r=l.skills==="all"?[...d]:l.skills.split(",").map(y=>y.trim()),u=l.models.split(",").map(y=>y.trim()),g=P(l.topology),a={topology:g,maxConcurrentSkills:parseInt(l.maxConcurrent,10)||i.maxConcurrentSkills,maxConcurrentModels:parseInt(l.maxModels,10)||i.maxConcurrentModels,timeout:parseInt(l.timeout,10)||i.timeout,continueOnFailure:!0,retry:l.retry!==!1?i.retry:void 0};l.verbose&&(console.log(o.gray("Configuration:")),console.log(o.gray(` Topology: ${a.topology}`)),console.log(o.gray(` Skills: ${r.length}`)),console.log(o.gray(` Models: ${u.length}`)),console.log(o.gray(` Max Concurrent Skills: ${a.maxConcurrentSkills}`)),console.log(o.gray(` Max Concurrent Models: ${a.maxConcurrentModels}`)),console.log(o.gray(` Timeout: ${a.timeout}ms`)),console.log(o.gray(` Retry: ${a.retry?"enabled":"disabled"}`)),console.log("")),console.log(o.cyan(` Skills: ${r.join(", ")}`)),console.log(o.cyan(` Models: ${u.join(", ")}`)),console.log(o.cyan(` Topology: ${g}`)),console.log("");let m=await R(e),f=h(m),C=k(a,f),$=Date.now();console.log(o.yellow(` Starting parallel validation...
5
5
  `));let b=await C.validateSkillsParallel(r,u),s=C.getSummary(b),w=Date.now()-$;l.json?T(s):D(s,l.verbose),console.log(o.blue(`
@@ -1,2 +1,2 @@
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.11.3");process.exit(0)}
2
- import{c as t}from"./chunk-PUK5NE47.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
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.11.4");process.exit(0)}
2
+ import{c as t}from"./chunk-Y4AXOHW4.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
@@ -0,0 +1,2 @@
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.11.4");process.exit(0)}
2
+ import{a}from"./chunk-A4OMK3FO.js";import"./chunk-ZSA6V5FH.js";import"./chunk-IQBZBUP5.js";import"./chunk-TPMBFARK.js";import"./chunk-LW5DHT3Z.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-LLUPRGOR.js";import"./chunk-VJGHRWMH.js";import"./chunk-NSPCZPTB.js";import"./chunk-PEIQDQXN.js";import"./chunk-BMQDELPA.js";import"./chunk-ICCTQ5LO.js";import"./chunk-TCWR6TDN.js";import"./chunk-YUHM72VQ.js";import"./chunk-PQUXFSN6.js";import"./chunk-7AWK43JN.js";import"./chunk-VCUCD3B5.js";import"./chunk-QJ5NCYJ3.js";import"./chunk-TQ373GGI.js";import"./chunk-7QTB5XIQ.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";export{a as VisualSecurityTool};
@@ -1,2 +1,2 @@
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.11.3");process.exit(0)}
2
- import"./chunk-PUK5NE47.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
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.11.4");process.exit(0)}
2
+ import"./chunk-Y4AXOHW4.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
@@ -1,5 +1,5 @@
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.11.3");process.exit(0)}
2
- import{b as u}from"./chunk-ABD6JBNO.js";import{a as f,c as d}from"./chunk-LGEZ3ZJX.js";import"./chunk-PUK5NE47.js";d();import{existsSync as i,mkdirSync as h,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;options;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf",{memoryBackend:this.options.memoryBackend}),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||h(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let s=this.generator.generateBehavioralRules("windsurf"),n=p(this.projectRoot,s.path);if(e.rulesPath=n,!i(n)||this.overwrite){if(i(n)&&this.overwrite){let o=this.mergeExistingRules(n,s.content);a(n,o)}else a(n,s.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),s=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,s.mcpServers),JSON.stringify(r,null,2)+`
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.11.4");process.exit(0)}
2
+ import{b as u}from"./chunk-JPENUVCI.js";import{a as f,c as d}from"./chunk-PEIQDQXN.js";import"./chunk-Y4AXOHW4.js";d();import{existsSync as i,mkdirSync as h,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;options;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf",{memoryBackend:this.options.memoryBackend}),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||h(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let s=this.generator.generateBehavioralRules("windsurf"),n=p(this.projectRoot,s.path);if(e.rulesPath=n,!i(n)||this.overwrite){if(i(n)&&this.overwrite){let o=this.mergeExistingRules(n,s.content);a(n,o)}else a(n,s.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),s=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,s.mcpServers),JSON.stringify(r,null,2)+`
3
3
  `}catch{return t}}mergeExistingRules(e,t){try{let r=g(e,"utf-8");return r.includes("Agentic QE")||r.includes("fleet_init")?r:r.trimEnd()+`
4
4
 
5
5
  ---
@@ -1,2 +1,2 @@
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.11.3");process.exit(0)}
2
- import{a,b,c,d,e,f,g}from"./chunk-S2T2BXUL.js";import"./chunk-UNH2DE2G.js";import"./chunk-7UOH55UT.js";import"./chunk-L6PH7JIE.js";import"./chunk-PUK5NE47.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
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.11.4");process.exit(0)}
2
+ import{a,b,c,d,e,f,g}from"./chunk-BRLUNIR4.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
@@ -0,0 +1,2 @@
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.11.4");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-5AQ7FXYG.js";import"./chunk-TPMBFARK.js";import"./chunk-LW5DHT3Z.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-LLUPRGOR.js";import"./chunk-VJGHRWMH.js";import"./chunk-NSPCZPTB.js";import"./chunk-PEIQDQXN.js";import"./chunk-TCWR6TDN.js";import"./chunk-YUHM72VQ.js";import"./chunk-PQUXFSN6.js";import"./chunk-7AWK43JN.js";import"./chunk-VCUCD3B5.js";import"./chunk-QJ5NCYJ3.js";import"./chunk-TQ373GGI.js";import"./chunk-7QTB5XIQ.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";export{a as GENESIS_PREV_HASH,f as WitnessChain,i as _resetWitnessChainForTests,h as createWitnessChain,g as getWitnessChain,d as hashWith,e as serializeEntry,b as sha256,c as shake256};
@@ -1,5 +1,5 @@
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.11.3");process.exit(0)}
2
- import{b as $}from"./chunk-EXCU4J7T.js";import"./chunk-LW5TUN5F.js";import{d as R}from"./chunk-WYJFVSEB.js";import{b as k,c as C,d as b}from"./chunk-RXN5DWVM.js";import{c as W}from"./chunk-G6MPXBCD.js";import"./chunk-REZ2GZQ3.js";import"./chunk-LGEZ3ZJX.js";import"./chunk-PUK5NE47.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
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.11.4");process.exit(0)}
2
+ import{b as $}from"./chunk-2KNFS3L5.js";import"./chunk-SRVTNG6L.js";import{d as R}from"./chunk-6545AS2J.js";import{b as k,c as C,d as b}from"./chunk-ARPBG6FQ.js";import{c as W}from"./chunk-VJGHRWMH.js";import"./chunk-O7PVZ32A.js";import"./chunk-PEIQDQXN.js";import"./chunk-Y4AXOHW4.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
3
3
  Running workflow from: ${t}
4
4
  `));let s=k(c);if(!s.success||!s.workflow){console.log(o.red("Failed to parse pipeline:"));for(let w of s.errors)console.log(o.red(` ${w}`));await a(1)}let r={...W(l.params,"params")};if(s.pipeline){for(let w of s.pipeline.stages)if(w.params)for(let[S,h]of Object.entries(w.params))r[S]=h}if(!d.workflowOrchestrator.getWorkflow(s.workflow.id)){let w=d.workflowOrchestrator.registerWorkflow(s.workflow);w.success||(console.log(o.red(`Failed to register workflow: ${w.error.message}`)),await a(1))}let n=await d.workflowOrchestrator.executeWorkflow(s.workflow.id,r);if(!n.success){console.log(o.red(`Failed to start workflow: ${n.error.message}`)),await a(1);return}let p=n.value;if(console.log(o.cyan(` Execution ID: ${p}`)),console.log(o.gray(` Workflow: ${s.workflow.name}`)),console.log(o.gray(` Stages: ${s.workflow.steps.length}`)),console.log(""),l.watch){console.log(o.blue(`Workflow Progress:
5
5
  `));let w,S=Date.now();for(;;){let g=d.workflowOrchestrator.getWorkflowStatus(p);if(!g)break;if(!w||w.progress!==g.progress||w.status!==g.status||JSON.stringify(w.currentSteps)!==JSON.stringify(g.currentSteps)){process.stdout.write("\r\x1B[K");let v="\u2588".repeat(Math.floor(g.progress/5))+"\u2591".repeat(20-Math.floor(g.progress/5)),D=g.status==="completed"?o.green:g.status==="failed"?o.red:g.status==="running"?o.yellow:o.gray;console.log(` [${v}] ${g.progress}% - ${D(g.status)}`),g.currentSteps.length>0&&l.verbose&&console.log(o.gray(` Running: ${g.currentSteps.join(", ")}`)),w=g}if(g.status==="completed"||g.status==="failed"||g.status==="cancelled")break;await new Promise(v=>setTimeout(v,500))}let h=d.workflowOrchestrator.getWorkflowStatus(p);if(h){console.log("");let g=h.duration||Date.now()-S;h.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(g)}`)),console.log(o.gray(` Completed: ${h.completedSteps.length} stages`)),h.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${h.skippedSteps.length} stages`))):h.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${h.error}`)),console.log(o.gray(` Failed stages: ${h.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${h.status}`))}}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${p}' to check progress`));console.log(""),await a(0)}catch(s){console.error(o.red(`
@@ -35,10 +35,10 @@ Workflow cancelled: ${t}
35
35
  `)):console.log(o.red(`
36
36
  Failed to cancel workflow: ${l.error.message}
37
37
  `)),await a(l.success?0:1)}catch(l){console.error(o.red(`
38
- Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-MP5P7KZF.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
38
+ Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-4DGHFYY3.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
39
39
  Browser Workflow Templates:
40
40
  `));for(let u of e.data.availableTemplates)console.log(` ${o.cyan(u)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await a(0)}catch(t){console.error(o.red(`
41
- Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-MP5P7KZF.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-JNXJV4B2.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
41
+ Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-4DGHFYY3.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-YBVXLA6O.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
42
42
  File not found: ${p}
43
43
  `)),await a(1)),f.workflowYaml=i.readFileSync(p,"utf-8")}else f.templateName=t;else console.log(o.red(`
44
44
  Provide a template name or --yaml. Use "workflow browser-list" to see templates.
@@ -0,0 +1,2 @@
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.11.4");process.exit(0)}
2
+ import{a,b,c,d}from"./chunk-WMIRAD3J.js";import"./chunk-4BFCLSDN.js";import"./chunk-TPMBFARK.js";import"./chunk-LW5DHT3Z.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-LLUPRGOR.js";import"./chunk-VJGHRWMH.js";import"./chunk-NSPCZPTB.js";import"./chunk-O7PVZ32A.js";import"./chunk-PEIQDQXN.js";import"./chunk-BMQDELPA.js";import"./chunk-TCWR6TDN.js";import"./chunk-YUHM72VQ.js";import"./chunk-PQUXFSN6.js";import"./chunk-7AWK43JN.js";import"./chunk-VCUCD3B5.js";import"./chunk-QJ5NCYJ3.js";import"./chunk-TQ373GGI.js";import"./chunk-7QTB5XIQ.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
@@ -1,2 +1,2 @@
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.11.3");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-6IHB3T6M.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-22CUJA33.js";import"./chunk-JVXPKHND.js";import"./chunk-7FVWETN4.js";import"./chunk-UNH2DE2G.js";import"./chunk-7UOH55UT.js";import"./chunk-BA7PJS3Y.js";import"./chunk-G6MPXBCD.js";import"./chunk-UTGW75AZ.js";import"./chunk-LGEZ3ZJX.js";import"./chunk-DNOBN3IR.js";import"./chunk-2OUXYSQV.js";import"./chunk-WV66MXJI.js";import"./chunk-WTKT2AD3.js";import"./chunk-77QJQRL2.js";import"./chunk-36HTS4EP.js";import"./chunk-OVEG5MEL.js";import"./chunk-PLQADRA6.js";import"./chunk-L6PH7JIE.js";import"./chunk-PUK5NE47.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
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.11.4");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-KYTFIP6R.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-G3TFNY4T.js";import"./chunk-TPMBFARK.js";import"./chunk-LW5DHT3Z.js";import"./chunk-XXRTWG7O.js";import"./chunk-6GYGAW53.js";import"./chunk-LLUPRGOR.js";import"./chunk-VJGHRWMH.js";import"./chunk-NSPCZPTB.js";import"./chunk-PEIQDQXN.js";import"./chunk-TCWR6TDN.js";import"./chunk-YUHM72VQ.js";import"./chunk-PQUXFSN6.js";import"./chunk-7AWK43JN.js";import"./chunk-VCUCD3B5.js";import"./chunk-QJ5NCYJ3.js";import"./chunk-TQ373GGI.js";import"./chunk-7QTB5XIQ.js";import"./chunk-7ADD2ZQL.js";import"./chunk-Y4AXOHW4.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
@@ -11,6 +11,7 @@
11
11
  import { BaseModelProvider } from '../model-provider';
12
12
  import { CONSENSUS_CONSTANTS, OLLAMA_CONSTANTS } from '../../constants.js';
13
13
  import { toErrorMessage, toError } from '../../../shared/error-utils.js';
14
+ import { resolveOllamaBaseUrl } from '../../../shared/llm/ollama-url.js';
14
15
  // ============================================================================
15
16
  // Model Information
16
17
  // ============================================================================
@@ -51,7 +52,7 @@ export function getCodeOllamaModels() {
51
52
  // Ollama Provider Implementation
52
53
  // ============================================================================
53
54
  const DEFAULT_CONFIG = {
54
- baseUrl: OLLAMA_CONSTANTS.DEFAULT_BASE_URL,
55
+ baseUrl: resolveOllamaBaseUrl(OLLAMA_CONSTANTS.DEFAULT_BASE_URL),
55
56
  defaultModel: 'llama3.1',
56
57
  defaultTimeout: CONSENSUS_CONSTANTS.OLLAMA_TIMEOUT_MS, // 5 minutes (local models can be slow)
57
58
  maxRetries: 2,
@@ -330,7 +331,7 @@ export function createMultiOllamaProviders(models = getRecommendedOllamaModels()
330
331
  * @param baseUrl - Ollama server URL
331
332
  * @returns True if Ollama is running and accessible
332
333
  */
333
- export async function isOllamaAvailable(baseUrl = 'http://localhost:11434') {
334
+ export async function isOllamaAvailable(baseUrl = resolveOllamaBaseUrl(OLLAMA_CONSTANTS.DEFAULT_BASE_URL)) {
334
335
  try {
335
336
  const controller = new AbortController();
336
337
  const timeoutId = setTimeout(() => controller.abort(), 5000);
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Tamper-evident hash-chain audit gate — a faithful, dependency-free TypeScript
3
+ * port of RuVector's `ruvector-proof-gate` `HashChainGate` (upstream ADR-194;
4
+ * AQE-side integration decision: ADR-116).
5
+ *
6
+ * Why ported rather than bound: the Rust crate ships no NAPI/WASM binding, and
7
+ * the algorithm is small and exact. This uses only Node's `crypto` (no native
8
+ * dep) and opens NO database — the chain lives in memory and is serialized via
9
+ * {@link HashChainGate.toJSON}/{@link HashChainGate.fromJSON} so a caller can
10
+ * persist it through the existing unified `memory.db` (never a competing store).
11
+ *
12
+ * QE use-case: turn AQE's "verify row counts BEFORE and AFTER, never claim a
13
+ * sync/migration succeeded without proof" mandate into a cryptographic
14
+ * guarantee. Admit one payload per DB operation (table, op, row-count, content
15
+ * digest); a later `verifyIntegrity()` proves no admitted entry was mutated,
16
+ * reordered, or dropped.
17
+ *
18
+ * Commitment: commitment[n] = SHA256("ruvector:chain:" || commitment[n-1] ||
19
+ * payload_hash[n] || u64le(n)), seeded from a fixed genesis. Verification is
20
+ * O(n): replay from genesis. (Genesis differs from the Rust literal — we do not
21
+ * interoperate with Rust receipts, only self-verify.)
22
+ */
23
+ /** Any admissible payload. Objects are canonicalized (sorted keys) before hashing. */
24
+ export type GatePayload = string | Uint8Array | Record<string, unknown>;
25
+ export interface WriteReceipt {
26
+ /** 0-based admission order. */
27
+ sequence: number;
28
+ /** SHA-256 of the canonical payload bytes (hex). */
29
+ payloadHash: string;
30
+ /** Chain commitment at this entry (hex) — binds it to every prior entry. */
31
+ chainCommitment: string;
32
+ }
33
+ /** Serializable chain state for persistence through the unified store. */
34
+ export interface HashChainState {
35
+ seq: number;
36
+ head: string;
37
+ chain: string[];
38
+ payloadHashes: string[];
39
+ }
40
+ /**
41
+ * Sequential SHA-256 hash chain. O(1) per `admit`, O(n) `verifyIntegrity`.
42
+ * In-memory; persist/restore via {@link toJSON}/{@link fromJSON}.
43
+ */
44
+ export declare class HashChainGate {
45
+ private seq;
46
+ private prev;
47
+ private readonly chain;
48
+ private readonly payloadHashes;
49
+ /** Admit a payload; returns a receipt committing the chain state. */
50
+ admit(payload: GatePayload): WriteReceipt;
51
+ /** True iff `receipt` matches the commitment recorded at its sequence. */
52
+ verifyReceipt(receipt: WriteReceipt): boolean;
53
+ /** Current chain head (hex). Changes after every successful `admit`. */
54
+ chainRoot(): string;
55
+ get length(): number;
56
+ get isEmpty(): boolean;
57
+ /**
58
+ * Full cryptographic re-derivation from genesis. Returns false if ANY
59
+ * commitment fails to re-derive — catches a mutated commitment, a mutated
60
+ * payload hash, a reorder, or a length mismatch.
61
+ */
62
+ verifyIntegrity(): boolean;
63
+ /** Snapshot for persistence through the unified store (no DB opened here). */
64
+ toJSON(): HashChainState;
65
+ /** Restore a chain from a {@link toJSON} snapshot. */
66
+ static fromJSON(state: HashChainState): HashChainGate;
67
+ }
68
+ //# sourceMappingURL=proof-gate.d.ts.map
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Tamper-evident hash-chain audit gate — a faithful, dependency-free TypeScript
3
+ * port of RuVector's `ruvector-proof-gate` `HashChainGate` (upstream ADR-194;
4
+ * AQE-side integration decision: ADR-116).
5
+ *
6
+ * Why ported rather than bound: the Rust crate ships no NAPI/WASM binding, and
7
+ * the algorithm is small and exact. This uses only Node's `crypto` (no native
8
+ * dep) and opens NO database — the chain lives in memory and is serialized via
9
+ * {@link HashChainGate.toJSON}/{@link HashChainGate.fromJSON} so a caller can
10
+ * persist it through the existing unified `memory.db` (never a competing store).
11
+ *
12
+ * QE use-case: turn AQE's "verify row counts BEFORE and AFTER, never claim a
13
+ * sync/migration succeeded without proof" mandate into a cryptographic
14
+ * guarantee. Admit one payload per DB operation (table, op, row-count, content
15
+ * digest); a later `verifyIntegrity()` proves no admitted entry was mutated,
16
+ * reordered, or dropped.
17
+ *
18
+ * Commitment: commitment[n] = SHA256("ruvector:chain:" || commitment[n-1] ||
19
+ * payload_hash[n] || u64le(n)), seeded from a fixed genesis. Verification is
20
+ * O(n): replay from genesis. (Genesis differs from the Rust literal — we do not
21
+ * interoperate with Rust receipts, only self-verify.)
22
+ */
23
+ import { createHash } from 'node:crypto';
24
+ const CHAIN_TAG = Buffer.from('ruvector:chain:');
25
+ /** Re-derivation anchor. Self-consistent; not byte-compatible with the Rust crate. */
26
+ const GENESIS = createHash('sha256').update('ruvector-proof-gate-v1').digest();
27
+ function u64le(n) {
28
+ const b = Buffer.alloc(8);
29
+ b.writeBigUInt64LE(BigInt(n));
30
+ return b;
31
+ }
32
+ /** Deterministic, key-sorted serialization so equal payloads hash equally. */
33
+ function canonicalBytes(payload) {
34
+ if (typeof payload === 'string')
35
+ return Buffer.from(payload, 'utf8');
36
+ if (payload instanceof Uint8Array)
37
+ return Buffer.from(payload);
38
+ return Buffer.from(canonicalJson(payload), 'utf8');
39
+ }
40
+ function canonicalJson(value) {
41
+ if (value === null || typeof value !== 'object')
42
+ return JSON.stringify(value) ?? 'null';
43
+ if (Array.isArray(value))
44
+ return `[${value.map(canonicalJson).join(',')}]`;
45
+ const keys = Object.keys(value).sort();
46
+ return `{${keys.map((k) => `${JSON.stringify(k)}:${canonicalJson(value[k])}`).join(',')}}`;
47
+ }
48
+ function sha256(...parts) {
49
+ const h = createHash('sha256');
50
+ for (const p of parts)
51
+ h.update(p);
52
+ return h.digest();
53
+ }
54
+ function commitmentOf(prev, payloadHash, seq) {
55
+ return sha256(CHAIN_TAG, prev, payloadHash, u64le(seq));
56
+ }
57
+ /**
58
+ * Sequential SHA-256 hash chain. O(1) per `admit`, O(n) `verifyIntegrity`.
59
+ * In-memory; persist/restore via {@link toJSON}/{@link fromJSON}.
60
+ */
61
+ export class HashChainGate {
62
+ seq = 0;
63
+ prev = GENESIS;
64
+ chain = [];
65
+ payloadHashes = [];
66
+ /** Admit a payload; returns a receipt committing the chain state. */
67
+ admit(payload) {
68
+ const payloadHash = sha256(canonicalBytes(payload));
69
+ const commitment = commitmentOf(this.prev, payloadHash, this.seq);
70
+ this.prev = commitment;
71
+ this.chain.push(commitment);
72
+ this.payloadHashes.push(payloadHash);
73
+ const receipt = {
74
+ sequence: this.seq,
75
+ payloadHash: payloadHash.toString('hex'),
76
+ chainCommitment: commitment.toString('hex'),
77
+ };
78
+ this.seq += 1;
79
+ return receipt;
80
+ }
81
+ /** True iff `receipt` matches the commitment recorded at its sequence. */
82
+ verifyReceipt(receipt) {
83
+ return (receipt.sequence >= 0 &&
84
+ receipt.sequence < this.chain.length &&
85
+ this.chain[receipt.sequence].toString('hex') === receipt.chainCommitment);
86
+ }
87
+ /** Current chain head (hex). Changes after every successful `admit`. */
88
+ chainRoot() {
89
+ return this.prev.toString('hex');
90
+ }
91
+ get length() {
92
+ return this.seq;
93
+ }
94
+ get isEmpty() {
95
+ return this.seq === 0;
96
+ }
97
+ /**
98
+ * Full cryptographic re-derivation from genesis. Returns false if ANY
99
+ * commitment fails to re-derive — catches a mutated commitment, a mutated
100
+ * payload hash, a reorder, or a length mismatch.
101
+ */
102
+ verifyIntegrity() {
103
+ if (this.chain.length !== this.payloadHashes.length)
104
+ return false;
105
+ let prev = GENESIS;
106
+ for (let i = 0; i < this.chain.length; i++) {
107
+ const expected = commitmentOf(prev, this.payloadHashes[i], i);
108
+ if (!expected.equals(this.chain[i]))
109
+ return false;
110
+ prev = this.chain[i];
111
+ }
112
+ return prev.equals(this.prev);
113
+ }
114
+ /** Snapshot for persistence through the unified store (no DB opened here). */
115
+ toJSON() {
116
+ return {
117
+ seq: this.seq,
118
+ head: this.prev.toString('hex'),
119
+ chain: this.chain.map((c) => c.toString('hex')),
120
+ payloadHashes: this.payloadHashes.map((p) => p.toString('hex')),
121
+ };
122
+ }
123
+ /** Restore a chain from a {@link toJSON} snapshot. */
124
+ static fromJSON(state) {
125
+ const g = new HashChainGate();
126
+ g.seq = state.seq;
127
+ g.prev = Buffer.from(state.head, 'hex');
128
+ for (const c of state.chain)
129
+ g.chain.push(Buffer.from(c, 'hex'));
130
+ for (const p of state.payloadHashes)
131
+ g.payloadHashes.push(Buffer.from(p, 'hex'));
132
+ return g;
133
+ }
134
+ }
135
+ //# sourceMappingURL=proof-gate.js.map
@@ -71,6 +71,10 @@ export declare class UnifiedMemoryManager {
71
71
  private preparedStatements;
72
72
  private vectorIndex;
73
73
  private crdtStore;
74
+ private proofGate;
75
+ private proofGateEnvChecked;
76
+ private static readonly PROOF_NS;
77
+ private static readonly PROOF_KEY;
74
78
  private constructor();
75
79
  static getInstance(config?: Partial<UnifiedMemoryConfig>): UnifiedMemoryManager;
76
80
  static getInstanceAsync(config?: Partial<UnifiedMemoryConfig>): Promise<UnifiedMemoryManager>;
@@ -94,6 +98,37 @@ export declare class UnifiedMemoryManager {
94
98
  kvExists(key: string, namespace?: string): Promise<boolean>;
95
99
  kvSearch(pattern: string, namespace?: string, limit?: number): Promise<string[]>;
96
100
  kvCleanupExpired(): Promise<number>;
101
+ /**
102
+ * Enable the tamper-evident proof-gate audit. OFF by default — once enabled,
103
+ * every kv write/delete admits a receipt to a persisted SHA-256 hash chain so
104
+ * {@link verifyMemoryIntegrity} can later prove no admitted write was mutated,
105
+ * reordered, or dropped. Restores any chain persisted from a prior process.
106
+ *
107
+ * Intended for BOUNDED audit windows (a sync / migration / publish gate), not
108
+ * permanent always-on use: the chain grows O(n) with audited writes and its
109
+ * snapshot is rewritten per write. Idempotent.
110
+ */
111
+ enableProofGate(): void;
112
+ isProofGateEnabled(): boolean;
113
+ /**
114
+ * Re-derive the proof-gate chain from genesis. Returns true iff no admitted
115
+ * write was mutated, reordered, or dropped. Throws if the gate is not enabled.
116
+ */
117
+ verifyMemoryIntegrity(): boolean;
118
+ /** Current proof-gate chain head (hex), or null if the gate is not enabled. */
119
+ getProofChainRoot(): string | null;
120
+ /** Number of writes admitted to the proof-gate chain (0 if not enabled). */
121
+ getProofChainLength(): number;
122
+ /**
123
+ * Best-effort audit of a kv mutation. Admits a content-bound receipt and
124
+ * persists the chain. NEVER throws into the caller — the actual write has
125
+ * already committed; a failed audit must not break or alter it.
126
+ */
127
+ private auditWrite;
128
+ /** Persist the chain snapshot via a DIRECT write (bypasses kvSet → no recursion). */
129
+ private persistProofChain;
130
+ /** Restore a persisted chain from the reserved namespace, or null if none/corrupt. */
131
+ private loadProofChain;
97
132
  vectorStore(id: string, embedding: number[], namespace?: string, metadata?: unknown): Promise<void>;
98
133
  vectorGet(id: string): Promise<{
99
134
  embedding: number[];
@@ -29,6 +29,7 @@ import * as os from 'os';
29
29
  import * as path from 'path';
30
30
  import { MEMORY_CONSTANTS } from './constants.js';
31
31
  import { LoggerFactory } from '../logging/index.js';
32
+ import { HashChainGate } from '../integrations/ruvector/proof-gate.js';
32
33
  const logger = LoggerFactory.create('unified-memory');
33
34
  // Re-export from shared module for backward compatibility
34
35
  export { validateTableName, ALLOWED_TABLE_NAMES } from '../shared/sql-safety.js';
@@ -122,6 +123,12 @@ export class UnifiedMemoryManager {
122
123
  vectorIndex = new UnifiedHnswIndex('qe-memory');
123
124
  // CRDT store for distributed state synchronization
124
125
  crdtStore = null;
126
+ // Proof-gate (AQE ADR-116; upstream ADR-194): tamper-evident SHA-256 hash chain over kv writes.
127
+ // Off by default; enable per audit window via enableProofGate() / AQE_PROOF_GATE=1.
128
+ proofGate = null;
129
+ proofGateEnvChecked = false;
130
+ static PROOF_NS = '__proofgate__';
131
+ static PROOF_KEY = 'chain';
125
132
  constructor(config) {
126
133
  const resolvedDefaults = getResolvedDefaultConfig();
127
134
  this.config = { ...resolvedDefaults, ...config };
@@ -506,6 +513,8 @@ export class UnifiedMemoryManager {
506
513
  INSERT OR REPLACE INTO kv_store (key, namespace, value, expires_at)
507
514
  VALUES (?, ?, ?, ?)
508
515
  `).run(key, namespace, serialized, expiresAt);
516
+ // ADR-194: tamper-evident audit (no-op unless the proof-gate is enabled).
517
+ this.auditWrite('kvSet', namespace, key, serialized);
509
518
  }
510
519
  async kvGet(key, namespace = 'default') {
511
520
  this.ensureInitialized();
@@ -524,6 +533,9 @@ export class UnifiedMemoryManager {
524
533
  async kvDelete(key, namespace = 'default') {
525
534
  this.ensureInitialized();
526
535
  const result = this.db.prepare('DELETE FROM kv_store WHERE key = ? AND namespace = ?').run(key, namespace);
536
+ // ADR-194: audit deletes too (no-op unless the proof-gate is enabled).
537
+ if (result.changes > 0)
538
+ this.auditWrite('kvDelete', namespace, key, '');
527
539
  return result.changes > 0;
528
540
  }
529
541
  async kvExists(key, namespace = 'default') {
@@ -551,6 +563,99 @@ export class UnifiedMemoryManager {
551
563
  return result.changes;
552
564
  }
553
565
  // ============================================================================
566
+ // Proof-Gate: tamper-evident write audit (ADR-194)
567
+ // ============================================================================
568
+ /**
569
+ * Enable the tamper-evident proof-gate audit. OFF by default — once enabled,
570
+ * every kv write/delete admits a receipt to a persisted SHA-256 hash chain so
571
+ * {@link verifyMemoryIntegrity} can later prove no admitted write was mutated,
572
+ * reordered, or dropped. Restores any chain persisted from a prior process.
573
+ *
574
+ * Intended for BOUNDED audit windows (a sync / migration / publish gate), not
575
+ * permanent always-on use: the chain grows O(n) with audited writes and its
576
+ * snapshot is rewritten per write. Idempotent.
577
+ */
578
+ enableProofGate() {
579
+ this.ensureInitialized();
580
+ this.proofGateEnvChecked = true;
581
+ if (this.proofGate)
582
+ return;
583
+ this.proofGate = this.loadProofChain() ?? new HashChainGate();
584
+ }
585
+ isProofGateEnabled() {
586
+ return this.proofGate !== null;
587
+ }
588
+ /**
589
+ * Re-derive the proof-gate chain from genesis. Returns true iff no admitted
590
+ * write was mutated, reordered, or dropped. Throws if the gate is not enabled.
591
+ */
592
+ verifyMemoryIntegrity() {
593
+ if (!this.proofGate) {
594
+ throw new Error('Proof-gate not enabled — call enableProofGate() or set AQE_PROOF_GATE=1');
595
+ }
596
+ return this.proofGate.verifyIntegrity();
597
+ }
598
+ /** Current proof-gate chain head (hex), or null if the gate is not enabled. */
599
+ getProofChainRoot() {
600
+ return this.proofGate ? this.proofGate.chainRoot() : null;
601
+ }
602
+ /** Number of writes admitted to the proof-gate chain (0 if not enabled). */
603
+ getProofChainLength() {
604
+ return this.proofGate ? this.proofGate.length : 0;
605
+ }
606
+ /**
607
+ * Best-effort audit of a kv mutation. Admits a content-bound receipt and
608
+ * persists the chain. NEVER throws into the caller — the actual write has
609
+ * already committed; a failed audit must not break or alter it.
610
+ */
611
+ auditWrite(op, namespace, key, serializedValue) {
612
+ // Lazy env-enable so an operator can turn auditing on without a code change.
613
+ if (!this.proofGate) {
614
+ if (this.proofGateEnvChecked)
615
+ return;
616
+ this.proofGateEnvChecked = true;
617
+ if (process.env.AQE_PROOF_GATE !== '1')
618
+ return;
619
+ this.proofGate = this.loadProofChain() ?? new HashChainGate();
620
+ }
621
+ // Never audit the chain's own persistence namespace (no self-reference / recursion).
622
+ if (namespace === UnifiedMemoryManager.PROOF_NS)
623
+ return;
624
+ try {
625
+ this.proofGate.admit({ op, ns: namespace, key, value: serializedValue });
626
+ this.persistProofChain();
627
+ }
628
+ catch (error) {
629
+ logger.warn(`proof-gate audit skipped for ${namespace}/${key}: ${toErrorMessage(error)}`);
630
+ }
631
+ }
632
+ /** Persist the chain snapshot via a DIRECT write (bypasses kvSet → no recursion). */
633
+ persistProofChain() {
634
+ if (!this.proofGate || !this.db)
635
+ return;
636
+ this.db.prepare(`
637
+ INSERT OR REPLACE INTO kv_store (key, namespace, value, expires_at)
638
+ VALUES (?, ?, ?, NULL)
639
+ `).run(UnifiedMemoryManager.PROOF_KEY, UnifiedMemoryManager.PROOF_NS, JSON.stringify(this.proofGate.toJSON()));
640
+ }
641
+ /** Restore a persisted chain from the reserved namespace, or null if none/corrupt. */
642
+ loadProofChain() {
643
+ if (!this.db)
644
+ return null;
645
+ const row = this.db.prepare(`
646
+ SELECT value FROM kv_store WHERE key = ? AND namespace = ?
647
+ `).get(UnifiedMemoryManager.PROOF_KEY, UnifiedMemoryManager.PROOF_NS);
648
+ if (!row)
649
+ return null;
650
+ try {
651
+ return HashChainGate.fromJSON(JSON.parse(row.value));
652
+ }
653
+ catch (error) {
654
+ logger.warn(`proof-gate chain failed to load (starting fresh): ${toErrorMessage(error)}`);
655
+ return null;
656
+ }
657
+ }
658
+ // ============================================================================
554
659
  // Vector Operations
555
660
  // ============================================================================
556
661
  async vectorStore(id, embedding, namespace = 'default', metadata) {
@@ -17,6 +17,7 @@
17
17
  * qwen3:30b-a3b — 18GB, highest quality, use only if RAM permits
18
18
  */
19
19
  import { LoggerFactory } from '../logging/index.js';
20
+ import { resolveOllamaBaseUrl } from '../shared/llm/ollama-url.js';
20
21
  const logger = LoggerFactory.create('local-judge');
21
22
  const DEFAULT_URL = 'http://localhost:11434';
22
23
  const DEFAULT_MODEL = 'qwen3:8b';
@@ -46,7 +47,7 @@ export class LocalJudgeClient {
46
47
  model;
47
48
  enabled;
48
49
  constructor(opts) {
49
- this.baseUrl = opts?.url ?? process.env['NAGUAL_JUDGE_URL'] ?? DEFAULT_URL;
50
+ this.baseUrl = opts?.url ?? process.env['NAGUAL_JUDGE_URL'] ?? resolveOllamaBaseUrl(DEFAULT_URL);
50
51
  this.model = opts?.model ?? process.env['NAGUAL_JUDGE_MODEL'] ?? DEFAULT_MODEL;
51
52
  // Only active when explicitly configured via env or constructor options
52
53
  this.enabled = Boolean(opts?.url ?? opts?.model ??