agentic-qe 3.10.7 → 3.10.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +84 -0
  3. package/dist/cli/bundle.js +5 -5
  4. package/dist/cli/chunks/adapter-TRSV37EA.js +2 -0
  5. package/dist/cli/chunks/{agent-booster-wasm-6I3JMU2M.js → agent-booster-wasm-RPAOJXZ3.js} +2 -2
  6. package/dist/cli/chunks/{agent-handler-XWI7YM6R.js → agent-handler-SMD5CAS6.js} +2 -2
  7. package/dist/cli/chunks/{agent-memory-branch-QFZKQN2L.js → agent-memory-branch-3IOQIQ7Y.js} +2 -2
  8. package/dist/cli/chunks/aqe-learning-engine-CVJRJOSO.js +2 -0
  9. package/dist/cli/chunks/{arena-5HNPVTBZ.js → arena-AP2J62WO.js} +4 -4
  10. package/dist/cli/chunks/{arena-P4IUBKZP.js → arena-GT3D6EAO.js} +2 -2
  11. package/dist/cli/chunks/{audit-PBSH25VZ.js → audit-Q3GJ5354.js} +2 -2
  12. package/dist/cli/chunks/base-BX4A2D4V.js +2 -0
  13. package/dist/cli/chunks/{hnswlib-node-ILDTCGLZ.js → better-sqlite3-6A6EAXAT.js} +2 -2
  14. package/dist/cli/chunks/{brain-handler-EVYRCKXI.js → brain-handler-2Z4ILQF3.js} +3 -3
  15. package/dist/cli/chunks/{branch-enumerator-SUDGYJQJ.js → branch-enumerator-EZWGL4UM.js} +2 -2
  16. package/dist/cli/chunks/{browser-4UKMW2RE.js → browser-YZELFPLJ.js} +2 -2
  17. package/dist/cli/chunks/browser-workflow-O3RL7EYT.js +2 -0
  18. package/dist/cli/chunks/{chunk-QBVFONWU.js → chunk-246Z3PH6.js} +2 -2
  19. package/dist/cli/chunks/{chunk-B5ZJV7GZ.js → chunk-2I5QLMQF.js} +2 -2
  20. package/dist/cli/chunks/{chunk-AW3LGLC3.js → chunk-2K2X75UF.js} +2 -2
  21. package/dist/cli/chunks/{chunk-OW4LJ5HE.js → chunk-2WRVNEIR.js} +2 -2
  22. package/dist/cli/chunks/{chunk-EWNJK2BU.js → chunk-2WSEJHFQ.js} +1 -1
  23. package/dist/cli/chunks/{chunk-6RG7ZJ2H.js → chunk-352W5G4G.js} +2 -2
  24. package/dist/cli/chunks/{chunk-7NK2H7H5.js → chunk-3HT4CT6F.js} +2 -2
  25. package/dist/cli/chunks/{chunk-MDVJVY4C.js → chunk-3YKJGKOY.js} +4 -4
  26. package/dist/cli/chunks/{chunk-OPLLH67G.js → chunk-42FBJF73.js} +1 -1
  27. package/dist/cli/chunks/{chunk-IXAABYGS.js → chunk-4BB75U6N.js} +2 -2
  28. package/dist/cli/chunks/{chunk-LJHCPN4E.js → chunk-4D3LVXUD.js} +2 -2
  29. package/dist/cli/chunks/{chunk-VPBXVZWE.js → chunk-4EJTE5TL.js} +1 -1
  30. package/dist/cli/chunks/{chunk-I7M574IO.js → chunk-4MUZGQPE.js} +2 -2
  31. package/dist/cli/chunks/{chunk-M7SO5KNJ.js → chunk-57XCLC55.js} +2 -2
  32. package/dist/cli/chunks/{chunk-QBVS4CXM.js → chunk-5HLOQEKL.js} +1 -1
  33. package/dist/cli/chunks/{chunk-XWPUCPYW.js → chunk-5U5SEO7C.js} +2 -2
  34. package/dist/cli/chunks/{chunk-YB4GXJJG.js → chunk-5X73HV2P.js} +1 -1
  35. package/dist/cli/chunks/{chunk-OSETFZVE.js → chunk-62MH7QAQ.js} +2 -2
  36. package/dist/cli/chunks/{chunk-64BSODHA.js → chunk-6HPI6YX3.js} +2 -2
  37. package/dist/cli/chunks/{chunk-SG6O3PXZ.js → chunk-6TR3OM7C.js} +2 -2
  38. package/dist/cli/chunks/{chunk-FQBNPSV2.js → chunk-757YHKIJ.js} +2 -2
  39. package/dist/cli/chunks/{chunk-JJELOEIY.js → chunk-7C5HI4ZA.js} +4 -4
  40. package/dist/cli/chunks/chunk-7D5JE46U.js +2 -0
  41. package/dist/cli/chunks/{chunk-L2ZSYIDA.js → chunk-7NT34MLU.js} +1 -1
  42. package/dist/cli/chunks/{chunk-6QBD64W3.js → chunk-7PYEJ4NV.js} +2 -2
  43. package/dist/cli/chunks/{chunk-ISLI6D4K.js → chunk-7S6D5K4X.js} +2 -2
  44. package/dist/cli/chunks/chunk-ABJPFKHE.js +2 -0
  45. package/dist/cli/chunks/{chunk-LEZ2MGHM.js → chunk-ABVBHH7P.js} +3 -3
  46. package/dist/cli/chunks/{chunk-V7WBNB2S.js → chunk-AHUX7QSE.js} +2 -2
  47. package/dist/cli/chunks/{chunk-DPT37UHR.js → chunk-AU4DQMLJ.js} +4 -4
  48. package/dist/cli/chunks/{chunk-MOI74MMX.js → chunk-BG2FN5K2.js} +2 -2
  49. package/dist/cli/chunks/{chunk-JNQVPTOM.js → chunk-BM52ZEAD.js} +2 -2
  50. package/dist/cli/chunks/{chunk-BLFZFKT6.js → chunk-BSMUT672.js} +2 -2
  51. package/dist/cli/chunks/{chunk-34NT5NBZ.js → chunk-BVEQPMOF.js} +2 -2
  52. package/dist/cli/chunks/{chunk-QLVZEEPR.js → chunk-BYVARYGB.js} +2 -2
  53. package/dist/cli/chunks/{chunk-QDBFB4XD.js → chunk-C6GQIUKW.js} +2 -2
  54. package/dist/cli/chunks/{chunk-X6OJFP7G.js → chunk-C6JULAWA.js} +2 -2
  55. package/dist/cli/chunks/{chunk-76SUEI7S.js → chunk-CDJIYJIA.js} +1 -1
  56. package/dist/cli/chunks/{chunk-2J4ZUUU5.js → chunk-CLJNAQXB.js} +2 -2
  57. package/dist/cli/chunks/{chunk-DU7Y54JI.js → chunk-CLSHSVMY.js} +1 -1
  58. package/dist/cli/chunks/{chunk-O4B6FFC5.js → chunk-CREORFJV.js} +1 -1
  59. package/dist/cli/chunks/{chunk-S4NNQE4L.js → chunk-CVRTXIYP.js} +1 -1
  60. package/dist/cli/chunks/{chunk-TTLAWPEN.js → chunk-CWRSQQHV.js} +2 -2
  61. package/dist/cli/chunks/{chunk-R2B6EQQF.js → chunk-D2JCSWYM.js} +2 -2
  62. package/dist/cli/chunks/{chunk-Z44VJC5U.js → chunk-D7NWDUY3.js} +2 -2
  63. package/dist/cli/chunks/chunk-DK6WWNCL.js +2 -0
  64. package/dist/cli/chunks/{chunk-X3HRJV65.js → chunk-DNE6MVNA.js} +1 -1
  65. package/dist/cli/chunks/{chunk-UURGDFGU.js → chunk-DZWZASDV.js} +1 -1
  66. package/dist/cli/chunks/{chunk-L6NB4UHR.js → chunk-EL6F72JN.js} +2 -2
  67. package/dist/cli/chunks/{chunk-G7ISGLKP.js → chunk-EYGRNXQT.js} +1 -1
  68. package/dist/cli/chunks/{chunk-K6A3AWUI.js → chunk-FALB6Z2Y.js} +1 -1
  69. package/dist/cli/chunks/{chunk-TXXRBNOB.js → chunk-FD37QFXW.js} +1 -1
  70. package/dist/cli/chunks/{chunk-MWRKNBSY.js → chunk-G4KVGUQN.js} +2 -2
  71. package/dist/cli/chunks/{chunk-32E2OPIE.js → chunk-G7V2HDTH.js} +3 -3
  72. package/dist/cli/chunks/{chunk-YMBPKBKG.js → chunk-GPALZJD3.js} +1 -1
  73. package/dist/cli/chunks/{chunk-3IJS52OS.js → chunk-H4SHHYRD.js} +2 -2
  74. package/dist/cli/chunks/{chunk-3XEL7XCA.js → chunk-H7AQ7M3J.js} +1 -1
  75. package/dist/cli/chunks/{chunk-CW7JQVXV.js → chunk-HAC7NB6R.js} +2 -2
  76. package/dist/cli/chunks/{chunk-KXENXRZE.js → chunk-HGKZOSAI.js} +1 -1
  77. package/dist/cli/chunks/{chunk-L3EQQMFI.js → chunk-HQZX4XYH.js} +2 -2
  78. package/dist/cli/chunks/{chunk-LFSQSLNP.js → chunk-HZSYCVLC.js} +2 -2
  79. package/dist/cli/chunks/{chunk-2JWFS2K2.js → chunk-I5C7O5IQ.js} +2 -2
  80. package/dist/cli/chunks/{chunk-LSHUPEQQ.js → chunk-I7RTTJH5.js} +2 -2
  81. package/dist/cli/chunks/{chunk-R7KIC6TL.js → chunk-ILPIH4Z6.js} +1 -1
  82. package/dist/cli/chunks/{chunk-262F3EMN.js → chunk-IR7PJUO7.js} +2 -2
  83. package/dist/cli/chunks/{chunk-MMR23KAO.js → chunk-J6GKKXCP.js} +2 -2
  84. package/dist/cli/chunks/{chunk-INI3AGF5.js → chunk-JZNMU63B.js} +2 -2
  85. package/dist/cli/chunks/{chunk-J5ETX2DG.js → chunk-K23XK33X.js} +2 -2
  86. package/dist/cli/chunks/{chunk-S423UHYM.js → chunk-KAMFT25W.js} +2 -2
  87. package/dist/cli/chunks/{chunk-AKSCYNFH.js → chunk-KJA5A3TV.js} +2 -2
  88. package/dist/cli/chunks/{chunk-76JYG426.js → chunk-KRAWWBX5.js} +2 -2
  89. package/dist/cli/chunks/{chunk-4RGV6Z2H.js → chunk-L5IO7QNO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-HBWAMCVB.js → chunk-L5NEEGKO.js} +14 -14
  91. package/dist/cli/chunks/{chunk-BRYYQQUV.js → chunk-LHKQW72O.js} +1 -1
  92. package/dist/cli/chunks/{chunk-BPC6X6VR.js → chunk-LT6QHDPK.js} +2 -2
  93. package/dist/cli/chunks/{chunk-HARYQMWN.js → chunk-MDED3HJI.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HDLF6LGO.js → chunk-NLUWPS2H.js} +3 -3
  95. package/dist/cli/chunks/{chunk-CGBEI7UH.js → chunk-NMQEU4BG.js} +2 -2
  96. package/dist/cli/chunks/{chunk-K6IU2MV4.js → chunk-NOWGQ6YZ.js} +1 -1
  97. package/dist/cli/chunks/{chunk-YLXUF5KW.js → chunk-NYBAH76S.js} +3 -3
  98. package/dist/cli/chunks/{chunk-TIUC5LRA.js → chunk-O36VC7B7.js} +2 -2
  99. package/dist/cli/chunks/{chunk-3O4Q4GAX.js → chunk-OD4OIPXO.js} +15 -13
  100. package/dist/cli/chunks/{chunk-LUZH2IZY.js → chunk-OF3EMOWN.js} +2 -2
  101. package/dist/cli/chunks/{chunk-AKL5A3IZ.js → chunk-OIN3Y4BY.js} +1 -1
  102. package/dist/cli/chunks/chunk-OPKEQYAC.js +2 -0
  103. package/dist/cli/chunks/{chunk-TY7XPI6R.js → chunk-OQUH7657.js} +2 -2
  104. package/dist/cli/chunks/{chunk-F5RZSNHI.js → chunk-OSP5AJAB.js} +2 -2
  105. package/dist/cli/chunks/{chunk-6A2HRMTD.js → chunk-PFGH7TWL.js} +2 -2
  106. package/dist/cli/chunks/{chunk-MK73CCKO.js → chunk-PYQZ4OA3.js} +2 -2
  107. package/dist/cli/chunks/{chunk-BU2I77YW.js → chunk-QAP5S7YC.js} +3 -3
  108. package/dist/cli/chunks/{chunk-JNXPRDNV.js → chunk-QE3CZGAC.js} +3 -3
  109. package/dist/cli/chunks/{chunk-5QMIVHFT.js → chunk-QFIKEZB5.js} +2 -2
  110. package/dist/cli/chunks/{chunk-AY4IEMRI.js → chunk-QHICG2NI.js} +2 -2
  111. package/dist/cli/chunks/{chunk-4I6FK67T.js → chunk-QHPLU5BU.js} +3 -3
  112. package/dist/cli/chunks/{chunk-HI4DA7Z3.js → chunk-QL6ZJ7RV.js} +2 -2
  113. package/dist/cli/chunks/{chunk-FK4JHBG4.js → chunk-QL7OOCPO.js} +2 -2
  114. package/dist/cli/chunks/{chunk-6OLPKIYU.js → chunk-QWXJRZEH.js} +1 -1
  115. package/dist/cli/chunks/{chunk-S7FNTWFM.js → chunk-R2M3RMCN.js} +2 -2
  116. package/dist/cli/chunks/{chunk-NKYMHEHY.js → chunk-RHOBDQXA.js} +2 -2
  117. package/dist/cli/chunks/{chunk-6F5KPT6U.js → chunk-RRSJ7BMF.js} +1 -1
  118. package/dist/cli/chunks/{chunk-RLXCFURS.js → chunk-RSWQY4NZ.js} +2 -2
  119. package/dist/cli/chunks/{chunk-UPDPD43T.js → chunk-S73EBPI5.js} +2 -2
  120. package/dist/cli/chunks/{chunk-OMDV6GFP.js → chunk-TIR3Z6TE.js} +1 -1
  121. package/dist/cli/chunks/{chunk-UVUVWA4B.js → chunk-TKZABUHO.js} +1 -1
  122. package/dist/cli/chunks/{chunk-4MJQJQLY.js → chunk-TOGD2JH2.js} +2 -2
  123. package/dist/cli/chunks/{chunk-QMGNYRR5.js → chunk-TVU6NMO3.js} +3 -3
  124. package/dist/cli/chunks/{chunk-C5CY5NSW.js → chunk-TXWUV3S5.js} +2 -2
  125. package/dist/cli/chunks/{chunk-3W6QASVB.js → chunk-U6TZVACK.js} +2 -2
  126. package/dist/cli/chunks/{chunk-L5UUUSSB.js → chunk-UJBIHPU5.js} +1 -1
  127. package/dist/cli/chunks/{chunk-FWLXK6AH.js → chunk-UPGKS6Z3.js} +2 -2
  128. package/dist/cli/chunks/{chunk-SLASYVNX.js → chunk-UU7OCRZM.js} +2 -2
  129. package/dist/cli/chunks/{chunk-WCXQA24H.js → chunk-UUA2NVUN.js} +8 -8
  130. package/dist/cli/chunks/{chunk-IYZWEYWJ.js → chunk-UX4UHYLE.js} +1 -1
  131. package/dist/cli/chunks/{chunk-V3KNHI5B.js → chunk-VDL277DX.js} +2 -2
  132. package/dist/cli/chunks/{chunk-RJBCIN2G.js → chunk-VHCHBMZC.js} +2 -2
  133. package/dist/cli/chunks/{chunk-222ZQTL5.js → chunk-VHYNRISI.js} +2 -2
  134. package/dist/cli/chunks/{chunk-4W5QWFU4.js → chunk-VIHFC67B.js} +1 -1
  135. package/dist/cli/chunks/{chunk-DYNO72WD.js → chunk-WOGWIMQK.js} +2 -2
  136. package/dist/cli/chunks/{chunk-SFW6IDMR.js → chunk-WPBVLIWQ.js} +10 -10
  137. package/dist/cli/chunks/{chunk-CJTDQJ7E.js → chunk-WWGGL3TR.js} +1 -1
  138. package/dist/cli/chunks/{chunk-2MLISLRR.js → chunk-X6YUGKMM.js} +1 -1
  139. package/dist/cli/chunks/{chunk-PY3HWJRJ.js → chunk-X7677BX3.js} +2 -2
  140. package/dist/cli/chunks/{chunk-MRLGQX7Y.js → chunk-XEMP2PNW.js} +2 -2
  141. package/dist/cli/chunks/{chunk-YBM4LUSF.js → chunk-XLK4GP3I.js} +2 -2
  142. package/dist/cli/chunks/chunk-XYRJL7YN.js +2 -0
  143. package/dist/cli/chunks/{chunk-OAXDI4XM.js → chunk-YB3PQ3UV.js} +1 -1
  144. package/dist/cli/chunks/{chunk-GUDOOOO6.js → chunk-YHFCLJMY.js} +1 -1
  145. package/dist/cli/chunks/{chunk-HELQ7CXL.js → chunk-YQBL5XTM.js} +1 -1
  146. package/dist/cli/chunks/chunk-Z6FRNWQA.js +6 -0
  147. package/dist/cli/chunks/{chunk-U7EGKKN3.js → chunk-ZT2DGSIO.js} +2 -2
  148. package/dist/cli/chunks/{chunk-DYSRMAZP.js → chunk-ZVF7QY4R.js} +1 -1
  149. package/dist/cli/chunks/{ci-OO42YBET.js → ci-KDEFR2X3.js} +2 -2
  150. package/dist/cli/chunks/{ci-output-YXMTEX7Q.js → ci-output-Z3WXRRFI.js} +2 -2
  151. package/dist/cli/chunks/{circuit-breaker-EHA4N643.js → circuit-breaker-GS44DEW2.js} +2 -2
  152. package/dist/cli/chunks/{claude-flow-setup-E6G6SLYI.js → claude-flow-setup-OHVMHAAH.js} +2 -2
  153. package/dist/cli/chunks/client-T263ZXVV.js +2 -0
  154. package/dist/cli/chunks/cline-installer-5TCF4MZD.js +4 -0
  155. package/dist/cli/chunks/{code-Q3U6XDOO.js → code-3KCGTG7Z.js} +2 -2
  156. package/dist/cli/chunks/{code-index-extractor-BK2DC4MO.js → code-index-extractor-LJBI54MZ.js} +2 -2
  157. package/dist/cli/chunks/codex-installer-IB62Z6LA.js +8 -0
  158. package/dist/cli/chunks/{completions-TZ5F33TA.js → completions-JDXX7KKB.js} +2 -2
  159. package/dist/cli/chunks/{complexity-analyzer-N7U4V7ID.js → complexity-analyzer-6JVDXXXP.js} +2 -2
  160. package/dist/cli/chunks/continuedev-installer-PUB45QVR.js +15 -0
  161. package/dist/cli/chunks/copilot-installer-QWJ36P22.js +3 -0
  162. package/dist/cli/chunks/core-handlers-ODKKGCFK.js +2 -0
  163. package/dist/cli/chunks/{cost-tracker-ZTIDLUFW.js → cost-tracker-J3KEJDL5.js} +2 -2
  164. package/dist/cli/chunks/{coverage-6G7T7TRQ.js → coverage-FWKRI2EY.js} +3 -3
  165. package/dist/cli/chunks/cross-domain-router-APU725GC.js +2 -0
  166. package/dist/cli/chunks/cursor-installer-2HYCUCTH.js +3 -0
  167. package/dist/cli/chunks/{daemon-KTXGJJRI.js → daemon-BVP66DIZ.js} +4 -4
  168. package/dist/cli/chunks/{daemon-5A4GD6XA.js → daemon-G3DBRWDQ.js} +3 -3
  169. package/dist/cli/chunks/{dag-attention-scheduler-4CUEQZD6.js → dag-attention-scheduler-2AQLNB4B.js} +2 -2
  170. package/dist/cli/chunks/{detect-I32JUSUE.js → detect-RUM5SHNE.js} +2 -2
  171. package/dist/cli/chunks/{dist-node-7ITNV6QS.js → dist-node-GX7MJHFT.js} +2 -2
  172. package/dist/cli/chunks/{domain-handler-LIFCXSZ4.js → domain-handler-OFBGZ2U5.js} +2 -2
  173. package/dist/cli/chunks/{domain-transfer-67UWLHSK.js → domain-transfer-6CGRPRGR.js} +2 -2
  174. package/dist/cli/chunks/dream-PJ5GKY3J.js +2 -0
  175. package/dist/cli/chunks/{embed-and-insert-pattern-4WC5RUD6.js → embed-and-insert-pattern-MUOEVQX2.js} +2 -2
  176. package/dist/cli/chunks/{eval-DLS2UAQ2.js → eval-SJMG67DE.js} +2 -2
  177. package/dist/cli/chunks/{experience-capture-middleware-VG5E6OJA.js → experience-capture-middleware-ICKN6IXX.js} +3 -3
  178. package/dist/cli/chunks/{fast-paths-262IVHDN.js → fast-paths-HXLBG3J4.js} +2 -2
  179. package/dist/cli/chunks/{feature-flags-L3K7DBN3.js → feature-flags-CRUB2ASU.js} +2 -2
  180. package/dist/cli/chunks/{feature-flags-JJ3FHZGD.js → feature-flags-JYZSSQJC.js} +2 -2
  181. package/dist/cli/chunks/{file-discovery-Q3PBKVUW.js → file-discovery-YHHC7NTJ.js} +2 -2
  182. package/dist/cli/chunks/{fleet-LQ5S2YHG.js → fleet-2VGDL4YL.js} +3 -3
  183. package/dist/cli/chunks/{gnn-wrapper-I33Z537H.js → gnn-wrapper-7ZAGD4S4.js} +2 -2
  184. package/dist/cli/chunks/{heartbeat-handler-RYIRAGZ7.js → heartbeat-handler-HAW3JRHN.js} +4 -4
  185. package/dist/cli/chunks/heartbeat-scheduler-4ZHUIW3Q.js +2 -0
  186. package/dist/cli/chunks/hnsw-adapter-UVJJ6TTP.js +2 -0
  187. package/dist/cli/chunks/hnsw-index-K6HS34JZ.js +2 -0
  188. package/dist/cli/chunks/{hnsw-legacy-bridge-SSENBBPR.js → hnsw-legacy-bridge-BO325POX.js} +2 -2
  189. package/dist/cli/chunks/{better-sqlite3-F262IAGH.js → hnswlib-node-YTK7S7GL.js} +2 -2
  190. package/dist/cli/chunks/{hooks-LR5KQMN5.js → hooks-HKM3JTFQ.js} +10 -10
  191. package/dist/cli/chunks/hybrid-router-25S7OH2Y.js +2 -0
  192. package/dist/cli/chunks/{hypergraph-engine-NDZA2DKP.js → hypergraph-engine-LGLGHK6B.js} +2 -2
  193. package/dist/cli/chunks/{hypergraph-handler-ADMWVHBT.js → hypergraph-handler-6QDVREZA.js} +3 -3
  194. package/dist/cli/chunks/impact-analyzer-UP4RDMJH.js +2 -0
  195. package/dist/cli/chunks/init-handler-XUQ7XHIE.js +74 -0
  196. package/dist/cli/chunks/init-wizard-2PAJ3GEC.js +2 -0
  197. package/dist/cli/chunks/kernel-7WOQGMMT.js +2 -0
  198. package/dist/cli/chunks/kilocode-installer-6CEZLVIX.js +4 -0
  199. package/dist/cli/chunks/{kiro-installer-TINLYZ22.js → kiro-installer-6CJGATOS.js} +4 -4
  200. package/dist/cli/chunks/knowledge-graph-FN2AWHGR.js +2 -0
  201. package/dist/cli/chunks/{learning-KBT3S5WW.js → learning-EIYTYZJY.js} +3 -3
  202. package/dist/cli/chunks/{llm-router-2MX5LUAB.js → llm-router-J4CI7VHU.js} +4 -4
  203. package/dist/cli/chunks/llm-router-service-C3UPBAS3.js +2 -0
  204. package/dist/cli/chunks/{load-IQWTGMLZ.js → load-CQPWGLQQ.js} +2 -2
  205. package/dist/cli/chunks/load-test-PQSGLDXJ.js +2 -0
  206. package/dist/cli/chunks/mcp-THOATWCO.js +2 -0
  207. package/dist/cli/chunks/{memory-XQVPI4UT.js → memory-NZHMHMRK.js} +5 -5
  208. package/dist/cli/chunks/memory-backend-6FR4RT5O.js +2 -0
  209. package/dist/cli/chunks/{memory-handlers-XD7MSFUN.js → memory-handlers-L2J54AQE.js} +2 -2
  210. package/dist/cli/chunks/{multi-model-executor-JC63UCWG.js → multi-model-executor-3P5E773H.js} +2 -2
  211. package/dist/cli/chunks/opencode-installer-IRZMKSNG.js +15 -0
  212. package/dist/cli/chunks/{orchestrator-B75QWJUF.js → orchestrator-UADLXTKP.js} +18 -18
  213. package/dist/cli/chunks/pattern-null-store-B2UX4NZY.js +2 -0
  214. package/dist/cli/chunks/{pipeline-TCBQ2UTZ.js → pipeline-QEH3XHXJ.js} +2 -2
  215. package/dist/cli/chunks/{platform-T43AYI3Z.js → platform-NEZ3NXLT.js} +2 -2
  216. package/dist/cli/chunks/{plugin-MSI3ZU3Z.js → plugin-O33HR2VO.js} +2 -2
  217. package/dist/cli/chunks/{prime-radiant-advanced-wasm-V62CWI6M.js → prime-radiant-advanced-wasm-MBUMFEX7.js} +2 -2
  218. package/dist/cli/chunks/protocol-executor-OQ6SL7SR.js +2 -0
  219. package/dist/cli/chunks/{protocol-handler-OH2INET2.js → protocol-handler-L455UOUT.js} +2 -2
  220. package/dist/cli/chunks/{prove-6PTMXMUL.js → prove-3XA3SMAA.js} +2 -2
  221. package/dist/cli/chunks/provider-manager-DQWHW2RG.js +2 -0
  222. package/dist/cli/chunks/qe-reasoning-bank-3JS2CZAE.js +2 -0
  223. package/dist/cli/chunks/{quality-PLNQN5GU.js → quality-H6Z5JH5B.js} +2 -2
  224. package/dist/cli/chunks/queen-coordinator-KXCWEM3Y.js +2 -0
  225. package/dist/cli/chunks/{real-embeddings-OW4OKR77.js → real-embeddings-5DNJ4KEM.js} +2 -2
  226. package/dist/cli/chunks/roocode-installer-KHXKR2FK.js +4 -0
  227. package/dist/cli/chunks/router-OVLIKT55.js +2 -0
  228. package/dist/cli/chunks/routing-feedback-2BYCXNXX.js +2 -0
  229. package/dist/cli/chunks/{routing-handler-CKFXXPMI.js → routing-handler-WAMGESEM.js} +2 -2
  230. package/dist/cli/chunks/{ruvector-commands-GERRPTJL.js → ruvector-commands-4J7XC6XY.js} +2 -2
  231. package/dist/cli/chunks/{rvf-dual-writer-5FAB2QPA.js → rvf-dual-writer-3PZEN6XN.js} +2 -2
  232. package/dist/cli/chunks/{rvf-migration-adapter-46COKWYB.js → rvf-migration-adapter-OIUNRQSU.js} +2 -2
  233. package/dist/cli/chunks/{rvf-migration-coordinator-AJVRWSNC.js → rvf-migration-coordinator-QZXDI4I5.js} +2 -2
  234. package/dist/cli/chunks/rvf-native-adapter-YNUYOQ5C.js +2 -0
  235. package/dist/cli/chunks/safe-db-6TYYEU7C.js +2 -0
  236. package/dist/cli/chunks/schedule-XVH7RTVY.js +2 -0
  237. package/dist/cli/chunks/scheduler-DHZBN5HA.js +2 -0
  238. package/dist/cli/chunks/{security-Q622IVRB.js → security-5NY77AMD.js} +3 -3
  239. package/dist/cli/chunks/{shared-rvf-adapter-EST24R3R.js → shared-rvf-adapter-MHPUZIMW.js} +2 -2
  240. package/dist/cli/chunks/{shared-rvf-dual-writer-CP6EXKBT.js → shared-rvf-dual-writer-ITLDYHCX.js} +2 -2
  241. package/dist/cli/chunks/sqlite-persistence-NR5WXTPN.js +2 -0
  242. package/dist/cli/chunks/{status-handler-LLRQB4E2.js → status-handler-7RBRIXZD.js} +2 -2
  243. package/dist/cli/chunks/{structural-health-BUFWTNN2.js → structural-health-MQPY6GA6.js} +2 -2
  244. package/dist/cli/chunks/{sync-JDG4SNT5.js → sync-66KCEANE.js} +2 -2
  245. package/dist/cli/chunks/{sync-RDL2RUOV.js → sync-USVQTHKN.js} +2 -2
  246. package/dist/cli/chunks/{task-handler-KPP6ZXA6.js → task-handler-4UI4FPPW.js} +2 -2
  247. package/dist/cli/chunks/{task-handlers-MRK2BQWI.js → task-handlers-KRII3GVV.js} +3 -3
  248. package/dist/cli/chunks/{test-7NYFTHRY.js → test-JHN2MVEG.js} +4 -4
  249. package/dist/cli/chunks/{test-scheduling-LGPKDMWD.js → test-scheduling-ZWTEGS3S.js} +3 -3
  250. package/dist/cli/chunks/{token-bootstrap-H5JHB7TD.js → token-bootstrap-YWXL6AS5.js} +2 -2
  251. package/dist/cli/chunks/{token-usage-TWPDS5U3.js → token-usage-INII2XM3.js} +2 -2
  252. package/dist/cli/chunks/{transformers-GRNPPUHM.js → transformers-DVFGDNZC.js} +2 -2
  253. package/dist/cli/chunks/{tree-sitter-wasm-parser-DOH5F6TO.js → tree-sitter-wasm-parser-W2XJT3XF.js} +2 -2
  254. package/dist/cli/chunks/{types-NYV3YKE3.js → types-GBZ5Q2GP.js} +2 -2
  255. package/dist/cli/chunks/unified-memory-WJEZ5YAK.js +2 -0
  256. package/dist/cli/chunks/unified-memory-hnsw-6ZA2PMYO.js +2 -0
  257. package/dist/cli/chunks/unified-persistence-SWH6R7MA.js +2 -0
  258. package/dist/cli/chunks/{upgrade-GDJMRYAT.js → upgrade-2JEXEGQX.js} +2 -2
  259. package/dist/cli/chunks/{validate-SIRFOPPM.js → validate-GDCM5YTS.js} +2 -2
  260. package/dist/cli/chunks/{validate-swarm-XGMJYR6X.js → validate-swarm-QZ5RSJEU.js} +2 -2
  261. package/dist/cli/chunks/{vibium-NP6ENRKV.js → vibium-I5BMT734.js} +2 -2
  262. package/dist/cli/chunks/visual-security-PH5JQZCZ.js +2 -0
  263. package/dist/cli/chunks/{web-tree-sitter-YDBWPYZD.js → web-tree-sitter-3QY2LMLP.js} +2 -2
  264. package/dist/cli/chunks/windsurf-installer-V7OBPLOB.js +7 -0
  265. package/dist/cli/chunks/{witness-chain-YHLBWQQ3.js → witness-chain-BNJ4VSZX.js} +2 -2
  266. package/dist/cli/chunks/witness-chain-WYMBNGSL.js +2 -0
  267. package/dist/cli/chunks/{workflow-TA6RY7R5.js → workflow-3FJSNLPI.js} +4 -4
  268. package/dist/cli/chunks/workflow-orchestrator-56JIXCI4.js +2 -0
  269. package/dist/cli/chunks/{wrappers-DS77IK4H.js → wrappers-ERTQNIPK.js} +2 -2
  270. package/dist/cli/commands/mcp.js +28 -28
  271. package/dist/cli/handlers/init-handler.d.ts +4 -0
  272. package/dist/cli/handlers/init-handler.js +50 -1
  273. package/dist/coordination/result-saver.js +4 -0
  274. package/dist/domains/code-intelligence/coordinator-hypergraph.js +9 -4
  275. package/dist/domains/code-intelligence/coordinator.js +9 -4
  276. package/dist/init/cline-installer.d.ts +6 -0
  277. package/dist/init/cline-installer.js +3 -1
  278. package/dist/init/codex-installer.d.ts +6 -0
  279. package/dist/init/codex-installer.js +3 -1
  280. package/dist/init/continuedev-installer.d.ts +6 -0
  281. package/dist/init/continuedev-installer.js +10 -3
  282. package/dist/init/copilot-installer.d.ts +6 -0
  283. package/dist/init/copilot-installer.js +3 -1
  284. package/dist/init/cursor-installer.d.ts +6 -0
  285. package/dist/init/cursor-installer.js +3 -1
  286. package/dist/init/kilocode-installer.d.ts +6 -0
  287. package/dist/init/kilocode-installer.js +3 -1
  288. package/dist/init/kiro-installer.d.ts +5 -0
  289. package/dist/init/kiro-installer.js +4 -4
  290. package/dist/init/opencode-installer.d.ts +39 -17
  291. package/dist/init/opencode-installer.js +166 -114
  292. package/dist/init/orchestrator.js +2 -0
  293. package/dist/init/phases/04-database.d.ts +5 -0
  294. package/dist/init/phases/04-database.js +7 -0
  295. package/dist/init/phases/05-learning.js +3 -0
  296. package/dist/init/phases/06-code-intelligence.js +6 -0
  297. package/dist/init/phases/07-hooks.js +5 -0
  298. package/dist/init/phases/08-mcp.js +34 -7
  299. package/dist/init/phases/09-assets.js +35 -28
  300. package/dist/init/phases/10-workers.js +4 -0
  301. package/dist/init/phases/11-claude-md.d.ts +1 -0
  302. package/dist/init/phases/11-claude-md.js +8 -0
  303. package/dist/init/phases/12-verification.js +10 -5
  304. package/dist/init/phases/13-governance.js +5 -0
  305. package/dist/init/phases/phase-interface.d.ts +14 -0
  306. package/dist/init/platform-config-generator.d.ts +3 -1
  307. package/dist/init/platform-config-generator.js +31 -17
  308. package/dist/init/roocode-installer.d.ts +6 -0
  309. package/dist/init/roocode-installer.js +3 -1
  310. package/dist/init/windsurf-installer.d.ts +6 -0
  311. package/dist/init/windsurf-installer.js +3 -1
  312. package/dist/integrations/ruvector/rvf-native-adapter.js +8 -0
  313. package/dist/integrations/ruvector/shared-rvf-dual-writer.js +5 -0
  314. package/dist/kernel/kernel.js +4 -2
  315. package/dist/kernel/unified-memory.js +66 -48
  316. package/dist/learning/rvf-pattern-store.js +8 -0
  317. package/dist/mcp/bundle.js +361 -358
  318. package/dist/mcp/entry.js +52 -6
  319. package/dist/mcp/handlers/core-handlers.js +7 -2
  320. package/dist/mcp/protocol-server.js +27 -1
  321. package/dist/mcp/services/session-store.d.ts +1 -0
  322. package/dist/mcp/services/session-store.js +7 -0
  323. package/dist/mcp/tools/base.d.ts +6 -0
  324. package/dist/mcp/tools/base.js +16 -0
  325. package/dist/optimization/session-cache.d.ts +11 -0
  326. package/dist/optimization/session-cache.js +31 -0
  327. package/package.json +7 -5
  328. package/dist/cli/chunks/adapter-TTIBYXH2.js +0 -2
  329. package/dist/cli/chunks/aqe-learning-engine-CTV5OLSN.js +0 -2
  330. package/dist/cli/chunks/base-ISNCJZ7A.js +0 -2
  331. package/dist/cli/chunks/browser-workflow-OD32QTTI.js +0 -2
  332. package/dist/cli/chunks/chunk-DF7V6X3N.js +0 -2
  333. package/dist/cli/chunks/chunk-I64BLAFS.js +0 -2
  334. package/dist/cli/chunks/chunk-LHZYTNOQ.js +0 -6
  335. package/dist/cli/chunks/chunk-LRRQEAP5.js +0 -2
  336. package/dist/cli/chunks/chunk-XCYPVJ34.js +0 -2
  337. package/dist/cli/chunks/chunk-XK7P7OXO.js +0 -2
  338. package/dist/cli/chunks/client-N4FQ6SMD.js +0 -2
  339. package/dist/cli/chunks/cline-installer-6JPWD64G.js +0 -4
  340. package/dist/cli/chunks/codex-installer-DA3GBMLN.js +0 -8
  341. package/dist/cli/chunks/continuedev-installer-DDDJGW26.js +0 -14
  342. package/dist/cli/chunks/copilot-installer-JVFCE6GT.js +0 -3
  343. package/dist/cli/chunks/core-handlers-SFD5HCA3.js +0 -2
  344. package/dist/cli/chunks/cross-domain-router-7HGRUNLT.js +0 -2
  345. package/dist/cli/chunks/cursor-installer-JFNYGSDD.js +0 -3
  346. package/dist/cli/chunks/dream-HPGD5TLD.js +0 -2
  347. package/dist/cli/chunks/heartbeat-scheduler-O6TI5E4P.js +0 -2
  348. package/dist/cli/chunks/hnsw-adapter-TOVTN23J.js +0 -2
  349. package/dist/cli/chunks/hnsw-index-KCZ75V7K.js +0 -2
  350. package/dist/cli/chunks/hybrid-router-4JEPC4JZ.js +0 -2
  351. package/dist/cli/chunks/impact-analyzer-3MHIU3SE.js +0 -2
  352. package/dist/cli/chunks/init-handler-MGCYDX62.js +0 -70
  353. package/dist/cli/chunks/init-wizard-ERBO5JNA.js +0 -2
  354. package/dist/cli/chunks/kernel-XJPIIWET.js +0 -2
  355. package/dist/cli/chunks/kilocode-installer-DQVWZUKP.js +0 -4
  356. package/dist/cli/chunks/knowledge-graph-NTJEG6ZE.js +0 -2
  357. package/dist/cli/chunks/llm-router-service-4T66BGB5.js +0 -2
  358. package/dist/cli/chunks/load-test-PM674TSK.js +0 -2
  359. package/dist/cli/chunks/mcp-GCTTJUBZ.js +0 -2
  360. package/dist/cli/chunks/memory-backend-53NQ5CG7.js +0 -2
  361. package/dist/cli/chunks/opencode-installer-6VJGEBIU.js +0 -3
  362. package/dist/cli/chunks/pattern-null-store-IF2RG2ON.js +0 -2
  363. package/dist/cli/chunks/protocol-executor-7AS75ZWT.js +0 -2
  364. package/dist/cli/chunks/provider-manager-AU2C4AET.js +0 -2
  365. package/dist/cli/chunks/qe-reasoning-bank-WATQRCFO.js +0 -2
  366. package/dist/cli/chunks/queen-coordinator-IOCC4VQH.js +0 -2
  367. package/dist/cli/chunks/roocode-installer-C32LCYAJ.js +0 -4
  368. package/dist/cli/chunks/router-SCJMX6WA.js +0 -2
  369. package/dist/cli/chunks/routing-feedback-RWC7F553.js +0 -2
  370. package/dist/cli/chunks/rvf-native-adapter-W2RT6PTO.js +0 -2
  371. package/dist/cli/chunks/safe-db-HO2LCAO3.js +0 -2
  372. package/dist/cli/chunks/schedule-XENCR4MR.js +0 -2
  373. package/dist/cli/chunks/scheduler-WKZ3O2SS.js +0 -2
  374. package/dist/cli/chunks/sqlite-persistence-IN6BOSCX.js +0 -2
  375. package/dist/cli/chunks/unified-memory-6MXOYRXZ.js +0 -2
  376. package/dist/cli/chunks/unified-memory-hnsw-HY3JJD5Z.js +0 -2
  377. package/dist/cli/chunks/unified-persistence-LKQNQYRY.js +0 -2
  378. package/dist/cli/chunks/visual-security-7TBWICHP.js +0 -2
  379. package/dist/cli/chunks/windsurf-installer-MFI6EAPH.js +0 -7
  380. package/dist/cli/chunks/witness-chain-24SVOWQL.js +0 -2
  381. package/dist/cli/chunks/workflow-orchestrator-XBDXCTLY.js +0 -2
package/dist/mcp/entry.js CHANGED
@@ -116,11 +116,40 @@ async function main() {
116
116
  }
117
117
  return true;
118
118
  });
119
+ // CRITICAL (stdio MCP framing): stdout must carry ONLY JSON-RPC messages.
120
+ // Lazily-loaded subsystems use console.log() for diagnostics (e.g.
121
+ // "[ParserRegistry] tree-sitter…", "[AdversarialDefense]…", "[Daemon] Not
122
+ // running"). Those stray lines interleave with the JSON-RPC stream and make
123
+ // strict clients (OpenCode, the official MCP SDK) fail with "Failed to get
124
+ // tools". console.log/info/debug default to stdout, so re-route them to the
125
+ // (filtered) stderr. JSON-RPC responses are written via the transport's
126
+ // process.stdout.write directly and are unaffected.
127
+ const routeConsoleToStderr = (...args) => {
128
+ process.stderr.write(args.map(a => (typeof a === 'string' ? a : (() => { try {
129
+ return JSON.stringify(a);
130
+ }
131
+ catch {
132
+ return String(a);
133
+ } })())).join(' ') + '\n');
134
+ };
135
+ console.log = routeConsoleToStderr;
136
+ console.info = routeConsoleToStderr;
137
+ console.debug = routeConsoleToStderr;
119
138
  try {
120
139
  // IMP-06: Run independent init tasks in parallel via parallelPrefetch.
121
140
  // Token tracking, experience capture, infra-healing, and fleet init are
122
141
  // all independent — total startup time is bounded by the slowest task
123
142
  // rather than the sum of all tasks.
143
+ // Database-free mode (AQE_MEMORY_BACKEND=memory): boot the SAME subsystems as
144
+ // normal — fleet, experience capture, ReasoningBank, workers, CrossPhaseHooks —
145
+ // but every persistence layer (unified memory, RVF, hypergraph, sessions,
146
+ // results) is gated to run in-memory and write nothing under .agentic-qe/.
147
+ // This keeps full functional parity (health, domains, memory delete,
148
+ // cross-phase stats) while remaining database-free.
149
+ const memOnly = process.env.AQE_MEMORY_BACKEND === 'memory';
150
+ if (memOnly) {
151
+ originalStderrWrite('[MCP] Database-free mode: in-memory backend (full feature parity)\n');
152
+ }
124
153
  originalStderrWrite('[MCP] Initializing subsystems in parallel...\n');
125
154
  const prefetchResult = await parallelPrefetch([
126
155
  {
@@ -129,15 +158,16 @@ async function main() {
129
158
  fn: async () => {
130
159
  await bootstrapTokenTracking({
131
160
  enableOptimization: true,
132
- enablePersistence: true,
161
+ enablePersistence: !memOnly,
133
162
  verbose: process.env.AQE_VERBOSE === 'true',
134
163
  });
135
164
  },
136
165
  },
137
166
  {
138
167
  // ADR-051: Initialize experience capture and unified memory BEFORE server starts.
139
- // This ensures all tool invocations (domain, memory, core) write to v3 memory.db
140
- // from the first request, rather than lazy-initializing on first domain tool call.
168
+ // This ensures all tool invocations (domain, memory, core) use unified memory
169
+ // from the first request. In database-free mode unified memory is an ephemeral
170
+ // :memory: DB, so this is safe and keeps full functional parity.
141
171
  name: 'experience-capture',
142
172
  fn: async () => {
143
173
  await initializeExperienceCapture();
@@ -186,12 +216,17 @@ async function main() {
186
216
  },
187
217
  },
188
218
  {
189
- // Auto-initialize fleet so tools work without requiring fleet_init call
219
+ // Auto-initialize fleet so tools work without requiring an explicit
220
+ // fleet_init call. In database-free mode the kernel runs on the in-memory
221
+ // backend (and unified memory / RVF are gated to write nothing), so the
222
+ // fleet boots normally without touching .agentic-qe/.
190
223
  name: 'fleet-init',
191
224
  fn: async () => {
192
225
  const fleetResult = await handleFleetInit({
193
226
  topology: 'hierarchical',
194
227
  maxAgents: 15,
228
+ // handleFleetInit forces the in-memory kernel backend when
229
+ // AQE_MEMORY_BACKEND=memory, so 'hybrid' here is self-correcting.
195
230
  memoryBackend: 'hybrid',
196
231
  lazyLoading: true,
197
232
  });
@@ -247,7 +282,9 @@ async function main() {
247
282
  originalStderrWrite(`[MCP] WARNING: ReasoningBank prewarm failed: ${rbErr instanceof Error ? rbErr.message : 'unknown'}\n`);
248
283
  }
249
284
  })();
250
- // IMP-10: Start background workers (heartbeat scheduler, etc.)
285
+ // IMP-10: Start background workers (heartbeat scheduler, etc.). In
286
+ // database-free mode they run against the in-memory unified store, so they
287
+ // persist nothing to disk while keeping QualityDaemon/health functional.
251
288
  try {
252
289
  const { getDaemon } = await import('../workers/daemon.js');
253
290
  // ADR-001 Bug A fix: use the canonical getDaemon() default. Passing
@@ -326,5 +363,14 @@ async function main() {
326
363
  process.exit(1);
327
364
  }
328
365
  }
329
- main();
366
+ // H3: main() runs fire-and-forget, so a rejection that escapes its internal
367
+ // try/catch would otherwise hit the unhandledRejection handler above — which
368
+ // deliberately keeps the server alive at *runtime*. A failed *startup* must
369
+ // instead exit non-zero, especially on the in-process `agentic-qe mcp` path
370
+ // (#528) where the CLI wrapper awaits a never-resolving promise and would
371
+ // otherwise hang with a half-dead server and a zero exit code.
372
+ main().catch((error) => {
373
+ process.stderr.write(`[MCP Entry] Fatal startup error: ${error instanceof Error ? error.stack || error.message : String(error)}\n`);
374
+ process.exit(1);
375
+ });
330
376
  //# sourceMappingURL=entry.js.map
@@ -134,10 +134,15 @@ export async function handleFleetInit(params) {
134
134
  // The 'coordination' domain is used by Queen Coordinator internally
135
135
  const enabledDomains = params.enabledDomains || [...ALL_DOMAINS];
136
136
  const userFacingDomains = enabledDomains.filter(d => d !== 'coordination');
137
- // Create kernel
137
+ // Create kernel. Database-free mode (#534): force the in-memory backend so a
138
+ // fleet_init tool call never builds a SQLite-backed kernel that writes
139
+ // .agentic-qe/memory.db. Explicit params still win when not in memory mode.
140
+ const memoryBackend = process.env.AQE_MEMORY_BACKEND === 'memory'
141
+ ? 'memory'
142
+ : (params.memoryBackend || 'hybrid');
138
143
  state.kernel = new QEKernelImpl({
139
144
  maxConcurrentAgents: params.maxAgents || 15,
140
- memoryBackend: params.memoryBackend || 'hybrid',
145
+ memoryBackend,
141
146
  hnswEnabled: true,
142
147
  lazyLoading: params.lazyLoading !== false,
143
148
  enabledDomains,
@@ -346,8 +346,17 @@ export class MCPProtocolServer {
346
346
  console.error(`[MCP] Client: ${this.clientInfo.name} v${this.clientInfo.version}`);
347
347
  }
348
348
  this.initialized = true;
349
+ // Protocol-version negotiation (MCP spec): echo the client's requested
350
+ // version when we support it, otherwise fall back to our latest. Returning a
351
+ // hardcoded future version made strict SDK clients (e.g. OpenCode) reject the
352
+ // handshake with "Failed to get tools". Unknown/missing => latest supported.
353
+ const SUPPORTED_PROTOCOL_VERSIONS = ['2025-11-25', '2025-06-18', '2025-03-26', '2024-11-05'];
354
+ const requested = typeof params.protocolVersion === 'string' ? params.protocolVersion : undefined;
355
+ const negotiated = requested && SUPPORTED_PROTOCOL_VERSIONS.includes(requested)
356
+ ? requested
357
+ : SUPPORTED_PROTOCOL_VERSIONS[0];
349
358
  return {
350
- protocolVersion: '2025-11-25',
359
+ protocolVersion: negotiated,
351
360
  capabilities: this.getCapabilities(),
352
361
  serverInfo: this.getServerInfo(),
353
362
  };
@@ -463,6 +472,23 @@ export class MCPProtocolServer {
463
472
  success = true;
464
473
  // IMP-00: Execute post-tool-result middleware
465
474
  const processedResult = await this.middlewareChain.executePostHooks(processedCtx, result);
475
+ // Issue #535: a mutating tool must evict its domain's cached reads, or a
476
+ // follow-up read (e.g. memory_retrieve after memory_delete) serves a
477
+ // stale "found" result and the write looks like a no-op. Writes aren't
478
+ // cacheable themselves; gate on a mutation-verb suffix and invalidate the
479
+ // same domain the sibling reads were cached under. Best-effort.
480
+ if (!cacheable && process.env.AQE_SESSION_CACHE !== 'off' &&
481
+ /_(store|delete|set|share|update|remove|clear|promote|cleanup)$/.test(name) &&
482
+ this.isSuccessfulResult(processedResult)) {
483
+ try {
484
+ const { getSessionCache } = await import('../optimization/session-cache.js');
485
+ const { domain } = parseToolDomainAction(name);
486
+ getSessionCache().invalidateDomain(domain);
487
+ }
488
+ catch {
489
+ // never block tool execution on cache invalidation
490
+ }
491
+ }
466
492
  // Issue #473: Store successful results for future cache hits.
467
493
  // Only cache successful results — error objects shouldn't be served back.
468
494
  if (cacheable && cacheFingerprint && this.isSuccessfulResult(processedResult)) {
@@ -40,6 +40,7 @@ export declare class SessionStore {
40
40
  private writeBuffer;
41
41
  private flushTimer;
42
42
  private closed;
43
+ private readonly persistDisabled;
43
44
  constructor(sessionDir?: string);
44
45
  /**
45
46
  * Start a new session. Returns the sessionId (UUID).
@@ -29,6 +29,9 @@ export class SessionStore {
29
29
  writeBuffer = [];
30
30
  flushTimer = null;
31
31
  closed = false;
32
+ // Database-free mode (#534): keep session bookkeeping in memory but never
33
+ // write .agentic-qe/sessions/*.jsonl to disk.
34
+ persistDisabled = process.env.AQE_MEMORY_BACKEND === 'memory';
32
35
  constructor(sessionDir) {
33
36
  this.sessionDir = sessionDir ?? DEFAULT_SESSION_DIR;
34
37
  }
@@ -77,6 +80,10 @@ export class SessionStore {
77
80
  this.entryCount++;
78
81
  this.lastActivityAt = fullEntry.timestamp;
79
82
  this.currentState = fullEntry.state;
83
+ // Database-free mode: bookkeeping done above; skip all disk I/O.
84
+ if (this.persistDisabled) {
85
+ return uuid;
86
+ }
80
87
  const line = JSON.stringify(fullEntry) + '\n';
81
88
  if (!this.fileCreated) {
82
89
  // First write: synchronous for write-ahead guarantee
@@ -7,6 +7,12 @@
7
7
  import { DomainName } from '../../shared/types';
8
8
  import { ToolResult, ToolResultMetadata } from '../types';
9
9
  import { MemoryBackend } from '../../kernel/interfaces';
10
+ /**
11
+ * Database-free mode: when AQE_MEMORY_BACKEND=memory, the MCP server keeps all
12
+ * state in-memory and writes nothing under .agentic-qe/. Used by `aqe init
13
+ * --no-database` and the in-memory opencode.json MCP config.
14
+ */
15
+ export declare function isMemoryOnlyMode(): boolean;
10
16
  /**
11
17
  * Register the RVF reset function. Called once by the shared-rvf-dual-writer
12
18
  * module or any code that successfully imports it.
@@ -6,7 +6,16 @@
6
6
  */
7
7
  import { v4 as uuidv4 } from 'uuid';
8
8
  import { HybridMemoryBackend } from '../../kernel/hybrid-backend';
9
+ import { InMemoryBackend } from '../../kernel/memory-backend.js';
9
10
  import { findProjectRoot } from '../../kernel/unified-memory.js';
11
+ /**
12
+ * Database-free mode: when AQE_MEMORY_BACKEND=memory, the MCP server keeps all
13
+ * state in-memory and writes nothing under .agentic-qe/. Used by `aqe init
14
+ * --no-database` and the in-memory opencode.json MCP config.
15
+ */
16
+ export function isMemoryOnlyMode() {
17
+ return process.env.AQE_MEMORY_BACKEND === 'memory';
18
+ }
10
19
  import * as path from 'path';
11
20
  import * as fs from 'fs';
12
21
  import { toErrorMessage } from '../../shared/error-utils.js';
@@ -43,6 +52,13 @@ export async function getSharedMemoryBackend() {
43
52
  }
44
53
  // Initialize new backend
45
54
  memoryInitPromise = (async () => {
55
+ // Database-free mode: pure in-memory backend, no directory, no SQLite file.
56
+ if (isMemoryOnlyMode()) {
57
+ const backend = new InMemoryBackend();
58
+ await backend.initialize();
59
+ sharedMemoryBackend = backend;
60
+ return backend;
61
+ }
46
62
  const projectRoot = findProjectRoot();
47
63
  const dataDir = path.join(projectRoot, '.agentic-qe');
48
64
  // Ensure data directory exists
@@ -69,10 +69,21 @@ export declare class SessionOperationCache {
69
69
  getStats(): SessionCacheStats;
70
70
  /** Clear all cache entries and reset counters */
71
71
  clear(): void;
72
+ /**
73
+ * Invalidate every cached entry for a domain. Issue #535: a mutating tool
74
+ * (e.g. memory_delete / memory_store) must evict the sibling read entries in
75
+ * its domain, or a follow-up memory_retrieve serves a stale "found" result
76
+ * from cache and the delete looks like a no-op. Also drops the persisted
77
+ * rows so a later loadFromDb() can't resurrect the stale entries. Returns the
78
+ * number of entries removed.
79
+ */
80
+ invalidateDomain(domain: string): number;
72
81
  /** Evict the oldest entry by cachedAt */
73
82
  private evictOldest;
74
83
  /** Persist a single entry to kv_store */
75
84
  private persistEntry;
85
+ /** Delete a single persisted entry from kv_store (used by invalidateDomain). */
86
+ private deletePersisted;
76
87
  }
77
88
  export declare function getSessionCache(config?: Partial<SessionCacheConfig>): SessionOperationCache;
78
89
  /** Reset the singleton (for testing) */
@@ -158,6 +158,25 @@ export class SessionOperationCache {
158
158
  this.hits = 0;
159
159
  this.misses = 0;
160
160
  }
161
+ /**
162
+ * Invalidate every cached entry for a domain. Issue #535: a mutating tool
163
+ * (e.g. memory_delete / memory_store) must evict the sibling read entries in
164
+ * its domain, or a follow-up memory_retrieve serves a stale "found" result
165
+ * from cache and the delete looks like a no-op. Also drops the persisted
166
+ * rows so a later loadFromDb() can't resurrect the stale entries. Returns the
167
+ * number of entries removed.
168
+ */
169
+ invalidateDomain(domain) {
170
+ let removed = 0;
171
+ for (const [key, entry] of this.cache) {
172
+ if (entry.domain === domain) {
173
+ this.cache.delete(key);
174
+ this.deletePersisted(entry.fingerprint);
175
+ removed++;
176
+ }
177
+ }
178
+ return removed;
179
+ }
161
180
  /** Evict the oldest entry by cachedAt */
162
181
  evictOldest() {
163
182
  let oldestKey = null;
@@ -184,6 +203,18 @@ export class SessionOperationCache {
184
203
  /* non-critical - cache works without persistence */
185
204
  }
186
205
  }
206
+ /** Delete a single persisted entry from kv_store (used by invalidateDomain). */
207
+ deletePersisted(fingerprint) {
208
+ try {
209
+ const db = tryGetDb();
210
+ if (!db)
211
+ return;
212
+ db.prepare(`DELETE FROM kv_store WHERE namespace = 'session_cache' AND key = ?`).run(`session_cache:${fingerprint}`);
213
+ }
214
+ catch {
215
+ /* non-critical */
216
+ }
217
+ }
187
218
  }
188
219
  // ============================================================================
189
220
  // DB Helper
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.10.7",
3
+ "version": "3.10.9",
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",
@@ -66,7 +66,7 @@
66
66
  "test:all": "npm test -- --run",
67
67
  "test:mcp": "npm run test:unit:mcp",
68
68
  "test:mcp:integration": "npm test -- --run tests/integration/mcp/",
69
- "test:integration:fast": "NODE_OPTIONS='--max-old-space-size=2048 --expose-gc' vitest run tests/integration/mcp/fleet-init-wires-daemon.test.ts tests/integration/workers/workers-reach-domains.test.ts tests/integration/learning/coordinator-roundtrip.test.ts tests/integration/bridge/bridge-end-to-end.test.ts",
69
+ "test:integration:fast": "NODE_OPTIONS='--max-old-space-size=2048 --expose-gc' vitest run tests/integration/mcp/fleet-init-wires-daemon.test.ts tests/integration/mcp/mcp-cli-inprocess.test.ts tests/integration/mcp/memory-delete-cache-invalidation.test.ts tests/integration/workers/workers-reach-domains.test.ts tests/integration/learning/coordinator-roundtrip.test.ts tests/integration/bridge/bridge-end-to-end.test.ts",
70
70
  "test:integration": "NODE_OPTIONS='--max-old-space-size=4096 --expose-gc' vitest run tests/integration/ --exclude='**/browser/**' --exclude='**/browser-integration/**' --exclude='**/*.e2e.test.ts'",
71
71
  "mcp:validate": "node scripts/smoke-mcp-protocol.mjs",
72
72
  "mcp:parity": "node scripts/audit-mcp-tool-parity.mjs",
@@ -197,16 +197,18 @@
197
197
  "graceful-fs": "^4.2.11",
198
198
  "stack-utils": "^2.0.6",
199
199
  "tar": ">=7.5.7",
200
- "protobufjs": "^7.5.6",
201
- "@protobufjs/utf8": "^1.1.1"
200
+ "protobufjs": "^7.6.3",
201
+ "@protobufjs/utf8": "^1.1.1",
202
+ "ws": "^8.21.0"
202
203
  },
203
204
  "overrides": {
204
205
  "@ruvector/gnn-linux-x64-musl": "npm:@ruvector/gnn-linux-x64-gnu@0.1.25",
205
206
  "@ruvector/gnn-linux-arm64-musl": "npm:@ruvector/gnn-linux-arm64-gnu@0.1.25",
206
207
  "tar": ">=7.5.7",
207
208
  "markdown-it": ">=14.1.1",
208
- "protobufjs": "^7.5.6",
209
+ "protobufjs": "^7.6.3",
209
210
  "@protobufjs/utf8": "^1.1.1",
211
+ "ws": "^8.21.0",
210
212
  "@opentelemetry/sdk-node": ">=0.217.0",
211
213
  "@opentelemetry/auto-instrumentations-node": ">=0.75.0",
212
214
  "@opentelemetry/exporter-prometheus": ">=0.217.0"
@@ -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.10.7");process.exit(0)}
2
- import{a,b,c}from"./chunk-HDLF6LGO.js";import"./chunk-RLXCFURS.js";import"./chunk-K6A3AWUI.js";import"./chunk-QBVFONWU.js";import"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.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.10.7");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-4I6FK67T.js";import"./chunk-NKYMHEHY.js";import"./chunk-BU2I77YW.js";import"./chunk-OAXDI4XM.js";import"./chunk-JJELOEIY.js";import"./chunk-FQBNPSV2.js";import"./chunk-K6IU2MV4.js";import"./chunk-6F5KPT6U.js";import"./chunk-CJTDQJ7E.js";import"./chunk-YBM4LUSF.js";import"./chunk-TY7XPI6R.js";import"./chunk-PY3HWJRJ.js";import"./chunk-34NT5NBZ.js";import"./chunk-32E2OPIE.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-XCYPVJ34.js";import"./chunk-I7M574IO.js";import"./chunk-F5RZSNHI.js";import"./chunk-2MLISLRR.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.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.10.7");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j}from"./chunk-XK7P7OXO.js";import"./chunk-V7WBNB2S.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-F5RZSNHI.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{j as MCPToolBase,i as defaultToolLogger,h as getLLMRouter,d as getMemoryBackend,f as getSharedLLMRouter,b as getSharedMemoryBackend,a as registerRvfResetFn,g as resetSharedLLMRouter,c as resetSharedMemoryBackend,e as setSharedLLMRouter};
@@ -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.10.7");process.exit(0)}
2
- import{a}from"./chunk-BPC6X6VR.js";import"./chunk-XK7P7OXO.js";import"./chunk-V7WBNB2S.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-F5RZSNHI.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{a as BrowserWorkflowTool};
@@ -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.10.7");process.exit(0)}
2
- import{a as e,b as g,e as r}from"./chunk-222ZQTL5.js";import{c as o}from"./chunk-LRRQEAP5.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
@@ -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.10.7");process.exit(0)}
2
- var e=null,f=null,t=null,u=!1;async function S(){return u&&!t?e:t||(t=(async()=>{try{if(process.env.AQE_RVF_MODE==="sqlite-only")return null;let{isRvfNativeAvailable:d}=await import("./rvf-native-adapter-W2RT6PTO.js");if(!d())return null;let{getUnifiedMemory:v,findProjectRoot:p}=await import("./unified-memory-6MXOYRXZ.js"),o=v().getDatabase();if(!o)return null;let{join:g}=await import("node:path"),m=g(process.env.AQE_PROJECT_ROOT??p(),".agentic-qe","brain.rvf"),{RvfDualWriter:R}=await import("./rvf-dual-writer-5FAB2QPA.js"),l=new R(o,{rvfPath:m,mode:"dual-write",dimensions:384});await l.initialize(),e=l;try{let{getRvfMigrationStage:y}=await import("./feature-flags-JJ3FHZGD.js"),n=y();if(n>=2){let{RvfMigrationAdapter:h}=await import("./rvf-migration-adapter-46COKWYB.js"),s=new h({stage:n});s.setSqliteDb(o);let{getSharedRvfAdapter:A}=await import("./shared-rvf-adapter-EST24R3R.js"),i=A();if(i){let D={ingest:a=>i.ingest(a),search:(a,w)=>i.search(a,w).map(c=>({id:c.id,score:c.score})),delete:a=>i.delete(a),status:()=>i.status(),close:()=>{}};s.setRvfStore(D)}f=s,console.log(`[RVF] Migration adapter active at stage ${n} (${["sqlite-only","hybrid","dual-sqlite","dual-rvf","rvf-primary"][n]})`)}}catch{}return l}catch(r){return(process.env.DEBUG||process.env.AQE_VERBOSE)&&console.debug("[RVF] Dual-writer init failed, degrading to sqlite-only:",r instanceof Error?r.message:r),null}finally{u=!0,t=null,import("./base-ISNCJZ7A.js").then(({registerRvfResetFn:r})=>r(M)).catch(()=>{})}})(),t)}function b(){return e}function E(){return f}function M(){if(e){try{e.close()}catch{}e=null}f=null,t=null,u=!1}export{S as a,b,E as c,M as d};
@@ -1,6 +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.10.7");process.exit(0)}
2
- import{a as C,b as E}from"./chunk-2J4ZUUU5.js";import{a as T}from"./chunk-JJELOEIY.js";import{a as _}from"./chunk-6F5KPT6U.js";import{l as D,m as F}from"./chunk-HBWAMCVB.js";import{a as R,c as A}from"./chunk-XWPUCPYW.js";import{g as O}from"./chunk-LRRQEAP5.js";import{createHash as M}from"crypto";var $={enabled:!0,maxEntries:500,ttlMs:3600*1e3,persistToDb:!0};function S(o){if(o==null||typeof o!="object")return JSON.stringify(o);if(Array.isArray(o))return"["+o.map(i=>S(i)).join(",")+"]";let e=o;return"{"+Object.keys(e).sort().map(i=>JSON.stringify(i)+":"+S(e[i])).join(",")+"}"}var x=class{cache=new Map;config;hits=0;misses=0;constructor(e){this.config={...$,...e}}computeFingerprint(e,t,r){let i=S({action:t,domain:e,input:r});return M("sha256").update(i).digest("hex").slice(0,16)}get(e){if(!this.config.enabled)return null;let t=this.cache.get(e);return t?Date.now()-t.cachedAt>this.config.ttlMs?(this.cache.delete(e),this.misses++,null):(t.hitCount++,t.lastHitAt=Date.now(),this.hits++,t):(this.misses++,null)}set(e,t,r,i,n){if(!this.config.enabled)return;this.cache.size>=this.config.maxEntries&&this.evictOldest();let s={fingerprint:e,domain:t,action:r,result:i,tokensSaved:n,cachedAt:Date.now(),hitCount:0,lastHitAt:0};this.cache.set(e,s),this.config.persistToDb&&this.persistEntry(s)}loadFromDb(){try{let e=w();if(!e)return;let t=Date.now()-this.config.ttlMs,r=e.prepare(`SELECT key, value FROM kv_store
3
- WHERE namespace = 'session_cache'
4
- AND created_at > ?
5
- ORDER BY created_at DESC LIMIT ?`).all(t,this.config.maxEntries);for(let i of r)try{let n=JSON.parse(i.value);Date.now()-n.cachedAt<=this.config.ttlMs&&this.cache.set(n.fingerprint,n)}catch{}}catch{}}getStats(){let e=this.hits+this.misses,t=0;for(let r of this.cache.values())t+=r.tokensSaved*r.hitCount;return{size:this.cache.size,hits:this.hits,misses:this.misses,hitRate:e>0?this.hits/e:0,estimatedTokensSaved:t}}clear(){this.cache.clear(),this.hits=0,this.misses=0}evictOldest(){let e=null,t=1/0;for(let[r,i]of this.cache)i.cachedAt<t&&(t=i.cachedAt,e=r);e&&this.cache.delete(e)}persistEntry(e){try{let t=w();if(!t)return;t.prepare(`INSERT OR REPLACE INTO kv_store (key, namespace, value, created_at)
6
- VALUES (?, 'session_cache', ?, ?)`).run(`session_cache:${e.fingerprint}`,JSON.stringify(e),Date.now())}catch{}}};function w(){try{let{getUnifiedMemory:o}=(F(),O(D)),e=o();return e.isInitialized()?e.getDatabase():null}catch{return null}}var d=null;function f(o){return d||(d=new x(o),d.loadFromDb()),d}import{randomUUID as I}from"crypto";A();var b={minConfidenceForExit:.85,minSuccessRate:.9,maxPatternAge:10080*60*1e3,minQualityScore:.7,minSuccessfulUses:2,maxSearchResults:5,similarityThreshold:.8,verbose:!1},B={minConfidenceForExit:.75,minSuccessRate:.8,maxPatternAge:336*60*60*1e3,minQualityScore:.6,minSuccessfulUses:1,maxSearchResults:10,similarityThreshold:.7,verbose:!1},j={minConfidenceForExit:.92,minSuccessRate:.95,maxPatternAge:4320*60*1e3,minQualityScore:.85,minSuccessfulUses:3,maxSearchResults:3,similarityThreshold:.9,verbose:!1},p=class{patternStore;config;reuseHistory=[];attemptHistory=[];constructor(e,t){this.patternStore=e,this.config={...b,...t}}async checkEarlyExit(e){let t=performance.now(),r=new Date;try{let i=e.domain??_(e.description)??void 0,n={limit:this.config.maxSearchResults*2,useVectorSearch:!!e.embedding};i&&(n.domain=i),e.context&&(n.context={language:e.context.language,framework:e.context.framework,testType:e.context.testType});let s=e.embedding??e.description,m=await this.patternStore.search(s,n),l=performance.now()-t;if(!m.success){let a="error"in m?m.error.message:"Unknown error",h=this.createResult(!1,"search_error",`Pattern search failed: ${a}`,l);return this.recordAttempt("search_error",i),h}let c=m.value;if(c.length===0){let a=this.createResult(!1,"no_matching_pattern","No matching patterns found in store",l);return this.recordAttempt("no_matching_pattern",i),a}let u=null;for(let{pattern:a,score:h}of c){let g=this.evaluatePatternEligibility(a,h,r);if(g.eligible){let y=this.estimateTokensSaved(a),z={canExit:!0,reusedPattern:a,estimatedTokensSaved:y,confidence:a.confidence,similarityScore:h,reason:"pattern_reused",explanation:`Reusing pattern "${a.name}" with ${(a.confidence*100).toFixed(1)}% confidence`,searchLatencyMs:l};return this.recordReuse(a.id,y,a.confidence,h,l,i),this.config.verbose&&console.log(`[EarlyExitTokenOptimizer] Pattern reuse: ${a.name} (confidence: ${a.confidence.toFixed(2)}, similarity: ${h.toFixed(2)}, tokens saved: ${y})`),z}u===null&&(u={reason:g.reason,explanation:g.explanation})}if(u){let a=this.createResult(!1,u.reason,u.explanation,l);return this.recordAttempt(u.reason,i),a}let P=this.createResult(!1,"no_matching_pattern",`Found ${c.length} patterns but none met eligibility criteria`,l);return this.recordAttempt("no_matching_pattern",i),P}catch(i){let n=performance.now()-t,s=this.createResult(!1,"search_error",`Error during pattern search: ${R(i)}`,n);return this.recordAttempt("search_error"),s}}evaluatePatternEligibility(e,t,r){if(t<this.config.similarityThreshold)return{eligible:!1,reason:"similarity_too_low",explanation:`Similarity ${(t*100).toFixed(1)}% < threshold ${(this.config.similarityThreshold*100).toFixed(1)}%`};if(e.confidence<this.config.minConfidenceForExit)return{eligible:!1,reason:"confidence_too_low",explanation:`Confidence ${(e.confidence*100).toFixed(1)}% < threshold ${(this.config.minConfidenceForExit*100).toFixed(1)}%`};if(e.successRate<this.config.minSuccessRate)return{eligible:!1,reason:"success_rate_too_low",explanation:`Success rate ${(e.successRate*100).toFixed(1)}% < threshold ${(this.config.minSuccessRate*100).toFixed(1)}%`};let i=r.getTime()-e.lastUsedAt.getTime();if(i>this.config.maxPatternAge){let n=Math.floor(i/864e5),s=Math.floor(this.config.maxPatternAge/(1440*60*1e3));return{eligible:!1,reason:"pattern_too_old",explanation:`Pattern age ${n} days > max ${s} days`}}return e.qualityScore<this.config.minQualityScore?{eligible:!1,reason:"quality_score_too_low",explanation:`Quality score ${(e.qualityScore*100).toFixed(1)}% < threshold ${(this.config.minQualityScore*100).toFixed(1)}%`}:e.successfulUses<this.config.minSuccessfulUses?{eligible:!1,reason:"insufficient_uses",explanation:`Successful uses ${e.successfulUses} < minimum ${this.config.minSuccessfulUses}`}:{eligible:!0,reason:"pattern_reused",explanation:"Pattern meets all eligibility criteria"}}estimateTokensSaved(e){let t=100,r=Math.ceil(e.template.content.length/4);t+=r,t+=50;let s={"test-template":1.5,"assertion-pattern":1,"mock-pattern":1.2,"coverage-strategy":1.3,"api-contract":1.4,"visual-baseline":1.1,"perf-benchmark":1.4,"flaky-fix":1.3,"error-handling":1.2}[e.patternType]??1;return Math.ceil(t*s)}createResult(e,t,r,i){return{canExit:e,reason:t,explanation:r,searchLatencyMs:i}}recordReuse(e,t,r,i,n,s){this.reuseHistory.push({patternId:e,tokensSaved:t,confidence:r,similarity:i,latencyMs:n,domain:s,timestamp:new Date}),this.attemptHistory.push({reason:"pattern_reused",domain:s,timestamp:new Date}),this.reuseHistory.length>1e4&&(this.reuseHistory=this.reuseHistory.slice(-1e4))}recordAttempt(e,t){this.attemptHistory.push({reason:e,domain:t,timestamp:new Date}),this.attemptHistory.length>1e4&&(this.attemptHistory=this.attemptHistory.slice(-1e4))}recordSuccessfulReuse(e){this.patternStore.recordUsage(e,!0).catch(t=>{console.warn(`[EarlyExitTokenOptimizer] Failed to record successful reuse for ${e}:`,t)})}recordFailedReuse(e){this.patternStore.recordUsage(e,!1).catch(t=>{console.warn(`[EarlyExitTokenOptimizer] Failed to record failed reuse for ${e}:`,t)})}getReuseStats(){let e=this.reuseHistory.length,t=this.attemptHistory.length,r=0,i=0,n=0,s=0;for(let c of this.reuseHistory)r+=c.tokensSaved,i+=c.confidence,n+=c.similarity,s+=c.latencyMs;let m={pattern_reused:0,no_matching_pattern:0,confidence_too_low:0,success_rate_too_low:0,pattern_too_old:0,quality_score_too_low:0,insufficient_uses:0,similarity_too_low:0,search_error:0};for(let c of this.attemptHistory)m[c.reason]++;let l={};for(let c of this.reuseHistory){let u=c.domain??"unknown";l[u]||(l[u]={reuses:0,tokens:0}),l[u].reuses++,l[u].tokens+=c.tokensSaved}return{totalReuses:e,tokensSaved:r,avgConfidence:e>0?i/e:0,avgSimilarity:e>0?n/e:0,avgSearchLatencyMs:e>0?s/e:0,totalAttempts:t,exitRate:t>0?e/t:0,reasonBreakdown:m,domainBreakdown:l}}resetStats(){this.reuseHistory=[],this.attemptHistory=[]}getConfig(){return{...this.config}}updateConfig(e){Object.assign(this.config,e)}};var v={enabled:!0,earlyExit:b,verbose:!1},k=class{optimizer=null;patternStore=null;config=v;initialized=!1;readyPromise=null;memoryBackend=null;async initialize(e,t){this.initialized||(this.readyPromise=null,this.patternStore=null,this.optimizer=null,this.config={...v,...t},this.memoryBackend=e,this.initialized=!0,this.config.verbose&&console.log("[TokenOptimizerService] Registered (lazy \u2014 pattern store not yet created)"))}async ensurePatternStoreReady(){if(!this.optimizer&&!(!this.initialized||!this.config.enabled||!this.memoryBackend))return this.readyPromise?this.readyPromise:(this.readyPromise=(async()=>{try{this.patternStore=T(this.memoryBackend),await this.patternStore.initialize(),this.optimizer=new p(this.patternStore,this.config.earlyExit),this.config.verbose&&console.log("[TokenOptimizerService] Pattern store ready (lazy init)")}catch(e){console.warn("[TokenOptimizerService] Lazy pattern store init failed:",e)}})(),this.readyPromise)}async checkEarlyExit(e){if(!this.initialized||!this.config.enabled)return{canExit:!1,reason:"no_matching_pattern",explanation:"Token optimizer service not initialized",searchLatencyMs:0};try{let r=f(),i=r.computeFingerprint(e.domain??"unknown",e.description,e.context??{}),n=r.get(i);if(n)return E.recordEarlyExit(n.tokensSaved),this.config.verbose&&console.log(`[TokenOptimizerService] Session cache hit: ${i.slice(0,8)}... (saved ${n.tokensSaved} tokens)`),{canExit:!0,estimatedTokensSaved:n.tokensSaved,confidence:1,similarityScore:1,reason:"pattern_reused",explanation:`Session cache exact match (fingerprint: ${i.slice(0,8)}...)`,searchLatencyMs:0}}catch{}if(await this.ensurePatternStoreReady(),!this.optimizer)return{canExit:!1,reason:"no_matching_pattern",explanation:"Pattern store unavailable (lazy init failed or disabled)",searchLatencyMs:0};let t=await this.optimizer.checkEarlyExit(e);return t.canExit&&t.estimatedTokensSaved&&(E.recordEarlyExit(t.estimatedTokensSaved),this.config.verbose&&console.log(`[TokenOptimizerService] Early exit: ${t.reusedPattern?.name} (saved ${t.estimatedTokensSaved} tokens)`)),t}async checkTaskEarlyExit(e,t){return this.checkEarlyExit({description:e,domain:t})}recordSuccessfulReuse(e){this.optimizer&&this.optimizer.recordSuccessfulReuse(e)}recordFailedReuse(e){this.optimizer&&this.optimizer.recordFailedReuse(e)}async storePattern(e){if(await this.ensurePatternStoreReady(),!this.patternStore)return null;try{let t=await this.patternStore.store({...e,id:`pattern-${Date.now()}-${I().slice(0,8)}`,createdAt:new Date,lastUsedAt:new Date});return t.success?t.value:null}catch(t){return console.warn("[TokenOptimizerService] Failed to store pattern:",t),null}}getReuseStats(){return this.optimizer?this.optimizer.getReuseStats():null}isEnabled(){return this.initialized&&this.config.enabled}getConfig(){return{...this.config}}getDashboardSummary(){return C()}cacheOperationResult(e,t,r,i,n){try{let s=f(),m=s.computeFingerprint(e,t,r);s.set(m,e,t,i,n)}catch{}}getSessionCacheStats(){try{return f().getStats()}catch{return{size:0,hits:0,misses:0,hitRate:0,estimatedTokensSaved:0}}}reset(){this.optimizer&&this.optimizer.resetStats(),this.optimizer=null,this.patternStore=null,this.initialized=!1,this.readyPromise=null,this.memoryBackend=null,this.config=v}},H=new k;async function te(o,e){await H.initialize(o,e)}export{f as a,H as b,te as c};
@@ -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.10.7");process.exit(0)}
2
- var h=Object.create;var e=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')}),n=a=>b=>{var c=a[b];if(c)return c();throw new Error("Module not found in bundle: "+b)};var o=(a,b)=>()=>(a&&(b=a(a=0)),b);var p=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),q=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},g=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of j(b))!l.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=i(b,d))||f.enumerable});return a};var r=(a,b,c)=>(c=a!=null?h(k(a)):{},g(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a)),s=a=>g(e({},"__esModule",{value:!0}),a);export{m as a,n as b,o as c,p as d,q as e,r as f,s as g};
@@ -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.10.7");process.exit(0)}
2
- import{c as h,e as v,g as T}from"./chunk-LRRQEAP5.js";var y={};v(y,{DotProductAttention:()=>z,FlashAttention:()=>k,HyperbolicAttention:()=>C,LinearAttention:()=>j,MoEAttention:()=>W,MultiHeadAttention:()=>F,RuvectorLayer:()=>_,SonaEngine:()=>K,TensorCompress:()=>E,default:()=>O,differentiableSearch:()=>L,getCompressionLevel:()=>B,hierarchicalForward:()=>V,init:()=>D,pipeline:()=>q});import{createRequire as A}from"module";var I,g,O,_,E,L,V,B,D,k,z,F,C,j,W,K,q,R=h(()=>{I=A(import.meta.url),g=I("@ruvector/rvf-node"),O=g,{RuvectorLayer:_,TensorCompress:E,differentiableSearch:L,hierarchicalForward:V,getCompressionLevel:B,init:D,FlashAttention:k,DotProductAttention:z,MultiHeadAttention:F,HyperbolicAttention:C,LinearAttention:j,MoEAttention:W,SonaEngine:K,pipeline:q}=g||{}});var Z={};v(Z,{createRvfStore:()=>Q,isRvfNativeAvailable:()=>Y,openRvfStore:()=>U,openRvfStoreReadonly:()=>X});import{readFileSync as J,writeFileSync as H,copyFileSync as $,existsSync as G}from"fs";function c(){if(S)return m;S=!0;try{let i=(R(),T(y));!i.RvfDatabase&&i.default&&i.default.RvfDatabase&&(i=i.default),m=i}catch{m=null}return m}function w(i){return`${i}.idmap.json`}function N(i){let e=w(i),t=new Map,n=new Map,s=1;if(G(e))try{let r=JSON.parse(J(e,"utf-8"));s=r.nextLabel;for(let[a,p]of r.entries)t.set(a,p),n.set(p,a)}catch{}return{strToNum:t,numToStr:n,nextLabel:s}}function b(i,e,t){let n={nextLabel:t,entries:Array.from(e.entries())};H(w(i),JSON.stringify(n),"utf-8")}function Q(i,e){let t=c();if(!t)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let n=t.RvfDatabase.create(i,{dimension:e}),s=n.dimension();return new d(n,i,s,new Map,new Map,1)}function U(i){let e=c();if(!e)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let t=e.RvfDatabase.open(i),n=t.dimension(),{strToNum:s,numToStr:r,nextLabel:a}=N(i);return new d(t,i,n,s,r,a)}function X(i){let e=c();if(!e)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let t=e.RvfDatabase.openReadonly(i),n=t.dimension(),{strToNum:s,numToStr:r,nextLabel:a}=N(i);return new d(t,i,n,s,r,a)}function Y(){return c()!==null}var m,S,d,P=h(()=>{m=null,S=!1;d=class i{db;_path;_dimension;strToNum;numToStr;nextLabel;_open;constructor(e,t,n,s,r,a){this.db=e,this._path=t,this._dimension=n,this.strToNum=s,this.numToStr=r,this.nextLabel=a,this._open=!0}ingest(e){if(this.ensureOpen(),e.length===0)return{accepted:0,rejected:0};let t=this._dimension,n=new Float32Array(e.length*t),s=[],r=[];for(let o=0;o<e.length;o++){let{id:u,vector:f,metadata:x}=e[o],l=this.strToNum.get(u);l===void 0&&(l=this.nextLabel++,this.strToNum.set(u,l),this.numToStr.set(l,u)),s.push(l),r.push(x);let M=f instanceof Float32Array?f:new Float32Array(f);n.set(M.subarray(0,t),o*t)}let a;if(r.some(o=>o!==void 0)&&typeof this.db.ingestBatchWithMetadata=="function"){let o=r.map(u=>u?JSON.stringify(u):"");a=this.db.ingestBatchWithMetadata(n,s,o)}else a=this.db.ingestBatch(n,s);return this.persistIdMap(),{accepted:a.accepted,rejected:a.rejected}}search(e,t){this.ensureOpen();let n=e instanceof Float32Array?e:new Float32Array(e);return this.db.query(n,t).map(r=>{let a=this.numToStr.get(r.id);return a===void 0?null:{id:a,distance:r.distance,score:1/(1+r.distance)}}).filter(r=>r!==null)}delete(e){this.ensureOpen();let t=[];for(let s of e){let r=this.strToNum.get(s);r!==void 0&&t.push(r)}if(t.length===0)return 0;let n=this.db.delete(t);for(let s of e){let r=this.strToNum.get(s);r!==void 0&&(this.strToNum.delete(s),this.numToStr.delete(r))}return this.persistIdMap(),n.deleted}fork(e){this.ensureOpen(),$(this._path,e);let t=new Map(this.strToNum),n=new Map(this.numToStr);b(e,t,this.nextLabel);let r=c().RvfDatabase.open(e);return new i(r,e,this._dimension,t,n,this.nextLabel)}status(){this.ensureOpen();let e=this.db.status(),n=this.db.segments().filter(s=>s.segType==="witness");return{totalVectors:e.totalVectors,totalSegments:e.totalSegments,fileSizeBytes:e.fileSize,epoch:e.currentEpoch,witnessValid:n.length>0,witnessEntries:n.length,deadSpaceRatio:typeof e.deadSpaceRatio=="number"?e.deadSpaceRatio:0}}dimension(){return this._dimension}size(){return this.ensureOpen(),this.db.status().totalVectors}compact(){this.ensureOpen();try{let e=this.db.compact();return e&&typeof e=="object"?{segmentsCompacted:typeof e.segmentsCompacted=="number"?e.segmentsCompacted:0,bytesReclaimed:typeof e.bytesReclaimed=="number"?e.bytesReclaimed:0,epoch:typeof e.epoch=="number"?e.epoch:0}:{segmentsCompacted:0,bytesReclaimed:0,epoch:0}}catch{return null}}close(){this._open&&(this.db.close(),this._open=!1)}isOpen(){return this._open}path(){return this._path}embedKernel(e){return this.ensureOpen(),this.db.embedKernel(0,99,0,e,0,"")}extractKernel(){return this.ensureOpen(),this.db.extractKernel()}verifyWitness(){this.ensureOpen();let e=this.tryNative("verifyWitness");return e?{valid:e.valid??!0,totalEntries:e.totalEntries??0,errors:Array.isArray(e.errors)?e.errors:[]}:{valid:!0,totalEntries:0,errors:[]}}sign(e){this.ensureOpen();let t=this.tryNative("sign",e);return typeof t=="string"?t:null}fileId(){this.ensureOpen();let e=this.tryNative("fileId");return typeof e=="string"?e:null}parentId(){this.ensureOpen();let e=this.tryNative("parentId");return typeof e=="string"?e:null}lineageDepth(){this.ensureOpen();let e=this.tryNative("lineageDepth");return typeof e=="number"?e:0}indexStats(){let e=this.status();return{totalVectors:e.totalVectors,dimension:this._dimension,totalSegments:e.totalSegments,fileSizeBytes:e.fileSizeBytes,epoch:e.epoch,witnessValid:e.witnessValid,witnessEntries:e.witnessEntries,idMapSize:this.strToNum.size}}freeze(){this.ensureOpen();let e=this.tryNative("freeze");return typeof e=="number"?e:0}derive(e){this.ensureOpen();let t=c();if(typeof this.db.derive=="function")try{let n=this.db.derive(e),s=new Map(this.strToNum),r=new Map(this.numToStr);return b(e,s,this.nextLabel),new i(n,e,this._dimension,s,r,this.nextLabel)}catch{}return this.fork(e)}ensureOpen(){if(!this._open)throw new Error("RVF database is closed")}tryNative(e,...t){if(typeof this.db[e]!="function")return null;try{return this.db[e](...t)}catch{return null}}persistIdMap(){b(this._path,this.strToNum,this.nextLabel)}}});export{Q as a,U as b,X as c,Y as d,Z as e,P as f};
@@ -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.10.7");process.exit(0)}
2
- import{a as S}from"./chunk-V7WBNB2S.js";import{m as T}from"./chunk-HBWAMCVB.js";import{b as M}from"./chunk-U7EGKKN3.js";import{a as y,c as P}from"./chunk-XWPUCPYW.js";import{i as h}from"./chunk-6OLPKIYU.js";T();P();import*as g from"path";import*as c from"fs";var l=null,d=null,f=null;function j(o){f=o}async function C(){return l||d||(d=(async()=>{let o=M(),e=g.join(o,".agentic-qe");c.existsSync(e)||c.mkdirSync(e,{recursive:!0});let r=new S({sqlite:{path:g.join(e,"memory.db"),walMode:!0,poolSize:3,busyTimeout:5e3},enableFallback:!0,defaultNamespace:"mcp-tools"});return await r.initialize(),l=r,r})(),d)}function B(){if(f)try{f()}catch{}l&&(l.dispose().catch(()=>{}),l=null),d=null}async function A(o){return o?.memory?o.memory:C()}var u=null,m=null;function x(){let o=(process.env.AQE_LLM_ROUTER_DISABLED??"").trim().toLowerCase();return o?o!=="false"&&o!=="0"&&o!=="no"&&o!=="off":!1}function q(o){u=o,m=null}async function k(){return x()?null:u||m||(m=(async()=>{let{createLLMRouterService:o}=await import("./llm-router-service-4T66BGB5.js"),e=await o();return e?(u=e.router,u):null})(),m)}function O(){u=null,m=null}async function I(o){return o?.llmRouter?o.llmRouter:await k()??void 0}var L={info:(o,e)=>console.log(`[MCP-TOOL] ${o}`,e||""),warn:(o,e)=>console.warn(`[MCP-TOOL] \u26A0\uFE0F ${o}`,e||""),error:(o,e)=>console.error(`[MCP-TOOL] \u274C ${o}`,e||"")},R=class{logger=L;currentDataSource="real";setLogger(e){this.logger=e}markAsDemoData(e,r){this.currentDataSource=e.demoMode?"demo":"fallback",this.logger.warn(`${this.config.name} returning ${this.currentDataSource} data`,{reason:r,requestId:e.requestId,demoMode:e.demoMode})}markAsRealData(){this.currentDataSource="real"}isDemoMode(e){return e.demoMode===!0}validate(e){let r=[];if(typeof e!="object"||e===null)return{valid:!1,errors:["Parameters must be an object"]};let t=e,{properties:i,required:n}=this.config.schema;if(n)for(let a of n)a in t||r.push(`Missing required field: ${a}`);for(let[a,s]of Object.entries(t)){let p=i[a];if(!p)continue;let b=this.validateType(a,s,p);b&&r.push(b)}return{valid:r.length===0,errors:r}}validateType(e,r,t){if(r==null)return null;let i=Array.isArray(r)?"array":typeof r;if(t.type==="array"&&!Array.isArray(r))return`${e} must be an array`;if(t.type!=="array"&&i!==t.type)return`${e} must be of type ${t.type}, got ${i}`;if(t.enum&&!t.enum.includes(r))return`${e} must be one of: ${t.enum.join(", ")}`;if(t.type==="number"){let n=r;if(t.minimum!==void 0&&n<t.minimum)return`${e} must be >= ${t.minimum}`;if(t.maximum!==void 0&&n>t.maximum)return`${e} must be <= ${t.maximum}`}if(t.type==="string"){let n=r;if(t.minLength!==void 0&&n.length<t.minLength)return`${e} must be at least ${t.minLength} characters`;if(t.maxLength!==void 0&&n.length>t.maxLength)return`${e} must be at most ${t.maxLength} characters`}return null}async invoke(e,r={}){let t=Date.now(),i=h();this.currentDataSource="real";let n=this.validate(e);if(!n.valid)return{success:!1,error:`Validation failed: ${n.errors.join("; ")}`,metadata:this.createMetadata(t,i)};let a={requestId:i,startTime:t,streaming:r.streaming,onStream:r.onStream,abortSignal:r.abortSignal,demoMode:r.demoMode,memory:r.memory,llmRouter:r.llmRouter};try{let s=await this.execute(e,a);return{...s,metadata:{...s.metadata,...this.createMetadata(t,i)}}}catch(s){return{success:!1,error:y(s),metadata:this.createMetadata(t,i)}}}createMetadata(e,r){return{executionTime:Date.now()-e,timestamp:new Date().toISOString(),requestId:r,domain:this.config.domain,toolName:this.config.name,dataSource:this.currentDataSource}}emitStream(e,r){e.streaming&&e.onStream&&e.onStream(r)}isAborted(e){return e.abortSignal?.aborted??!1}get name(){return this.config.name}get description(){return this.config.description}get domain(){return this.config.domain}getSchema(){return this.config.schema}get timeout(){return this.config.timeout??6e4}get supportsStreaming(){return this.config.streaming??!1}resetInstanceCache(){}};export{j as a,C as b,B as c,A as d,q as e,k as f,O as g,I as h,L as i,R as j};
@@ -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.10.7");process.exit(0)}
2
- import{c as a,d as b,e as c}from"./chunk-JNXPRDNV.js";import"./chunk-6A2HRMTD.js";import"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
@@ -1,4 +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.10.7");process.exit(0)}
2
- import{b as p}from"./chunk-3O4Q4GAX.js";import{a as f,c as v}from"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";v();import{existsSync as s,mkdirSync as m,readFileSync as u,writeFileSync as a}from"fs";import{join as h,dirname as d}from"path";var l=class{projectRoot;overwrite;generator;constructor(r){this.projectRoot=r.projectRoot,this.overwrite=r.overwrite??!1,this.generator=p()}async install(){let r={success:!0,mcpConfigured:!1,modeInstalled:!1,errors:[],configPath:"",modePath:""};try{let t=this.generator.generateMcpConfig("cline"),e=h(this.projectRoot,t.path);if(r.configPath=e,!s(e)||this.overwrite){let o=d(e);if(s(o)||m(o,{recursive:!0}),s(e)&&this.overwrite){let c=this.mergeExistingConfig(e,t.content);a(e,c)}else a(e,t.content);r.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("cline"),i=h(this.projectRoot,n.path);if(r.modePath=i,!s(i)||this.overwrite){let o=d(i);if(s(o)||m(o,{recursive:!0}),s(i)&&this.overwrite){let c=this.mergeExistingModes(i,n.content);a(i,c)}else a(i,n.content);r.modeInstalled=!0}}catch(t){r.success=!1,r.errors.push(`Cline installation failed: ${f(t)}`)}return r}mergeExistingConfig(r,t){try{let e=JSON.parse(u(r,"utf-8")),n=JSON.parse(t);return e.mcpServers||(e.mcpServers={}),Object.assign(e.mcpServers,n.mcpServers),JSON.stringify(e,null,2)+`
3
- `}catch{return t}}mergeExistingModes(r,t){try{let e=JSON.parse(u(r,"utf-8")),n=JSON.parse(t);if(!Array.isArray(e))return t;let i=e.filter(o=>o.slug!=="qe-engineer");return i.push(...n),JSON.stringify(i,null,2)+`
4
- `}catch{return t}}};function x(g){return new l(g)}export{l as ClineInstaller,x as createClineInstaller};
@@ -1,8 +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.10.7");process.exit(0)}
2
- import{b as f}from"./chunk-3O4Q4GAX.js";import{a as l,c as m}from"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";m();import{existsSync as o,mkdirSync as h,readFileSync as d,writeFileSync as s}from"fs";import{join as u,dirname as x}from"path";var c=class{projectRoot;overwrite;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.generator=f()}async install(){let t={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,errors:[],configPath:"",agentsMdPath:""};try{let r=this.generator.generateMcpConfig("codex"),e=u(this.projectRoot,r.path);if(t.configPath=e,!o(e)||this.overwrite){let i=x(e);if(o(i)||h(i,{recursive:!0}),o(e)&&this.overwrite){let p=this.mergeExistingTomlConfig(e,r.content);s(e,p)}else s(e,r.content);t.mcpConfigured=!0}let a=this.generator.generateBehavioralRules("codex"),n=u(this.projectRoot,a.path);if(t.agentsMdPath=n,!o(n)||this.overwrite){if(o(n)&&this.overwrite){let i=this.mergeExistingAgentsMd(n,a.content);s(n,i)}else s(n,a.content);t.agentsMdInstalled=!0}}catch(r){t.success=!1,t.errors.push(`Codex installation failed: ${l(r)}`)}return t}mergeExistingTomlConfig(t,r){try{let e=d(t,"utf-8");return e.includes("[mcp_servers.agentic-qe]")?e:e.trimEnd()+`
3
-
4
- `+r}catch{return r}}mergeExistingAgentsMd(t,r){try{let e=d(t,"utf-8");return e.includes("Agentic QE")||e.includes("fleet_init")?e:e.trimEnd()+`
5
-
6
- ---
7
-
8
- `+r}catch{return r}}};function I(g){return new c(g)}export{c as CodexInstaller,I as createCodexInstaller};
@@ -1,14 +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.10.7");process.exit(0)}
2
- import{b as g}from"./chunk-3O4Q4GAX.js";import{a as u,c as h}from"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";h();import{existsSync as o,mkdirSync as f,readFileSync as d,writeFileSync as a}from"fs";import{join as m,dirname as p}from"path";var c=class{projectRoot;overwrite;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.generator=g()}async install(){let t={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let r=this.generator.generateMcpConfig("continuedev"),e=m(this.projectRoot,r.path);if(t.configPath=e,!o(e)||this.overwrite){let n=p(e);if(o(n)||f(n,{recursive:!0}),o(e)&&this.overwrite){let v=this.mergeExistingYamlConfig(e,r.content);a(e,v)}else a(e,r.content);t.mcpConfigured=!0}let s=this.generator.generateBehavioralRules("continuedev"),i=m(this.projectRoot,s.path);if(t.rulesPath=i,!o(i)||this.overwrite){let n=p(i);o(n)||f(n,{recursive:!0}),a(i,s.content),t.rulesInstalled=!0}}catch(r){t.success=!1,t.errors.push(`Continue.dev installation failed: ${u(r)}`)}return t}mergeExistingYamlConfig(t,r){try{let e=d(t,"utf-8");return e.includes("agentic-qe")?e:e.includes("mcpServers:")?e.trimEnd()+`
3
- `+` - name: agentic-qe
4
- command: npx
5
- args:
6
- - "-y"
7
- - agentic-qe@latest
8
- - mcp
9
- env:
10
- AQE_MEMORY_PATH: .agentic-qe/memory.db
11
- AQE_V3_MODE: "true"`+`
12
- `:e.trimEnd()+`
13
-
14
- `+r}catch{return r}}};function R(l){return new c(l)}export{c as ContinueDevInstaller,R as createContinueDevInstaller};
@@ -1,3 +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.10.7");process.exit(0)}
2
- import{b as g}from"./chunk-3O4Q4GAX.js";import{a as p,c as v}from"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";v();import{existsSync as s,mkdirSync as f,readFileSync as C,writeFileSync as l}from"fs";import{join as u,dirname as h}from"path";var a=class{projectRoot;overwrite;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.generator=g()}async install(){let t={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let r=this.generator.generateMcpConfig("copilot"),e=u(this.projectRoot,r.path);if(t.configPath=e,!s(e)||this.overwrite){let o=h(e);if(s(o)||f(o,{recursive:!0}),s(e)&&this.overwrite){let m=this.mergeExistingConfig(e,r.content);l(e,m)}else l(e,r.content);t.mcpConfigured=!0}let i=this.generator.generateBehavioralRules("copilot"),n=u(this.projectRoot,i.path);if(t.rulesPath=n,!s(n)||this.overwrite){let o=h(n);s(o)||f(o,{recursive:!0}),l(n,i.content),t.rulesInstalled=!0}}catch(r){t.success=!1,t.errors.push(`Copilot installation failed: ${p(r)}`)}return t}mergeExistingConfig(t,r){try{let e=JSON.parse(C(t,"utf-8")),i=JSON.parse(r);return e.servers||(e.servers={}),Object.assign(e.servers,i.servers),JSON.stringify(e,null,2)+`
3
- `}catch{return r}}};function y(c){return new a(c)}export{a as CopilotInstaller,y as createCopilotInstaller};
@@ -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.10.7");process.exit(0)}
2
- import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l}from"./chunk-SFW6IDMR.js";import"./chunk-B5ZJV7GZ.js";import"./chunk-64BSODHA.js";import"./chunk-R2B6EQQF.js";import"./chunk-LHZYTNOQ.js";import"./chunk-JNQVPTOM.js";import"./chunk-BLFZFKT6.js";import"./chunk-FWLXK6AH.js";import"./chunk-BPC6X6VR.js";import"./chunk-LUZH2IZY.js";import"./chunk-M7SO5KNJ.js";import"./chunk-4W5QWFU4.js";import"./chunk-TIUC5LRA.js";import"./chunk-AW3LGLC3.js";import"./chunk-KXENXRZE.js";import"./chunk-X6OJFP7G.js";import"./chunk-IYZWEYWJ.js";import"./chunk-HI4DA7Z3.js";import"./chunk-OPLLH67G.js";import"./chunk-CGBEI7UH.js";import"./chunk-WCXQA24H.js";import"./chunk-DU7Y54JI.js";import"./chunk-QMGNYRR5.js";import"./chunk-6RG7ZJ2H.js";import"./chunk-UVUVWA4B.js";import"./chunk-S4NNQE4L.js";import"./chunk-G7ISGLKP.js";import"./chunk-5QMIVHFT.js";import"./chunk-HARYQMWN.js";import"./chunk-YB4GXJJG.js";import"./chunk-LEZ2MGHM.js";import"./chunk-3XEL7XCA.js";import"./chunk-EWNJK2BU.js";import"./chunk-J5ETX2DG.js";import"./chunk-3W6QASVB.js";import"./chunk-262F3EMN.js";import"./chunk-O4B6FFC5.js";import"./chunk-R7KIC6TL.js";import"./chunk-HDLF6LGO.js";import"./chunk-RLXCFURS.js";import"./chunk-K6A3AWUI.js";import"./chunk-L6NB4UHR.js";import"./chunk-JNXPRDNV.js";import"./chunk-6A2HRMTD.js";import"./chunk-MDVJVY4C.js";import"./chunk-LFSQSLNP.js";import"./chunk-LJHCPN4E.js";import"./chunk-MMR23KAO.js";import"./chunk-4I6FK67T.js";import"./chunk-NKYMHEHY.js";import"./chunk-INI3AGF5.js";import"./chunk-AKSCYNFH.js";import"./chunk-MWRKNBSY.js";import"./chunk-YLXUF5KW.js";import"./chunk-V3KNHI5B.js";import"./chunk-L3EQQMFI.js";import"./chunk-AY4IEMRI.js";import"./chunk-CW7JQVXV.js";import"./chunk-RJBCIN2G.js";import"./chunk-2J4ZUUU5.js";import"./chunk-MK73CCKO.js";import"./chunk-QBVS4CXM.js";import"./chunk-X3HRJV65.js";import"./chunk-L2ZSYIDA.js";import"./chunk-GUDOOOO6.js";import"./chunk-XK7P7OXO.js";import"./chunk-V7WBNB2S.js";import"./chunk-I64BLAFS.js";import"./chunk-C5CY5NSW.js";import"./chunk-QLVZEEPR.js";import"./chunk-OW4LJ5HE.js";import"./chunk-BU2I77YW.js";import"./chunk-OAXDI4XM.js";import"./chunk-JJELOEIY.js";import"./chunk-FQBNPSV2.js";import"./chunk-K6IU2MV4.js";import"./chunk-6F5KPT6U.js";import"./chunk-CJTDQJ7E.js";import"./chunk-YBM4LUSF.js";import"./chunk-TY7XPI6R.js";import"./chunk-PY3HWJRJ.js";import"./chunk-SG6O3PXZ.js";import"./chunk-MOI74MMX.js";import"./chunk-34NT5NBZ.js";import"./chunk-32E2OPIE.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-XCYPVJ34.js";import"./chunk-I7M574IO.js";import"./chunk-F5RZSNHI.js";import"./chunk-2MLISLRR.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-OSETFZVE.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{c as adoptExternalFleet,e as assignAgentLevel,k as disposeFleet,f as getAgentLevel,g as getAllAgentLevels,a as getFleetState,d as getFleetTopology,l as handleAQEHealth,j as handleFleetHealth,h as handleFleetInit,i as handleFleetStatus,b as isFleetInitialized};
@@ -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.10.7");process.exit(0)}
2
- import{a,b}from"./chunk-5QMIVHFT.js";import"./chunk-R7KIC6TL.js";import"./chunk-2MLISLRR.js";import"./chunk-6OLPKIYU.js";import"./chunk-LRRQEAP5.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
@@ -1,3 +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.10.7");process.exit(0)}
2
- import{b as g}from"./chunk-3O4Q4GAX.js";import{a as u,c as m}from"./chunk-XWPUCPYW.js";import"./chunk-LRRQEAP5.js";m();import{existsSync as s,mkdirSync as h,readFileSync as v,writeFileSync as i}from"fs";import{join as f,dirname as C}from"path";var a=class{projectRoot;overwrite;generator;constructor(r){this.projectRoot=r.projectRoot,this.overwrite=r.overwrite??!1,this.generator=g()}async install(){let r={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("cursor"),e=f(this.projectRoot,t.path);if(r.configPath=e,!s(e)||this.overwrite){let l=C(e);if(s(l)||h(l,{recursive:!0}),s(e)&&this.overwrite){let p=this.mergeExistingConfig(e,t.content);i(e,p)}else i(e,t.content);r.mcpConfigured=!0}let o=this.generator.generateBehavioralRules("cursor"),n=f(this.projectRoot,o.path);r.rulesPath=n,(!s(n)||this.overwrite)&&(i(n,o.content),r.rulesInstalled=!0)}catch(t){r.success=!1,r.errors.push(`Cursor installation failed: ${u(t)}`)}return r}mergeExistingConfig(r,t){try{let e=JSON.parse(v(r,"utf-8")),o=JSON.parse(t);return e.mcpServers||(e.mcpServers={}),Object.assign(e.mcpServers,o.mcpServers),JSON.stringify(e,null,2)+`
3
- `}catch{return t}}};function R(c){return new a(c)}export{a as CursorInstaller,R as createCursorInstaller};
@@ -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.10.7");process.exit(0)}
2
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-MDVJVY4C.js";import"./chunk-LFSQSLNP.js";import"./chunk-4I6FK67T.js";import"./chunk-NKYMHEHY.js";import"./chunk-BU2I77YW.js";import"./chunk-OAXDI4XM.js";import"./chunk-JJELOEIY.js";import"./chunk-FQBNPSV2.js";import"./chunk-K6IU2MV4.js";import"./chunk-6F5KPT6U.js";import"./chunk-CJTDQJ7E.js";import"./chunk-YBM4LUSF.js";import"./chunk-TY7XPI6R.js";import"./chunk-PY3HWJRJ.js";import"./chunk-MOI74MMX.js";import"./chunk-34NT5NBZ.js";import"./chunk-32E2OPIE.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-XCYPVJ34.js";import"./chunk-I7M574IO.js";import"./chunk-F5RZSNHI.js";import"./chunk-2MLISLRR.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{t as BUILT_IN_STRATEGIES,e as ConceptGraph,j as DEFAULT_ACTIVATION_CONFIG,d as DEFAULT_CONCEPT_GRAPH_CONFIG,p as DEFAULT_DREAM_CONFIG,a as DEFAULT_DREAM_SCHEDULER_CONFIG,l as DEFAULT_INSIGHT_CONFIG,n as DEFAULT_VALIDATION_THRESHOLDS,q as DreamEngine,b as DreamScheduler,i as HISTORY_TRIM_TARGET_RATIO,m as InsightGenerator,g as MAX_ACTIVATION_HISTORY_ENTRIES,h as MAX_COACTIVATION_ENTRIES,o as RVCOWBranchManager,u as SpeculativeDreamer,k as SpreadingActivation,f as createConceptGraph,r as createDreamEngine,c as createDreamScheduler,s as default};
@@ -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.10.7");process.exit(0)}
2
- import{b as a}from"./chunk-LSHUPEQQ.js";import"./chunk-M7SO5KNJ.js";import"./chunk-4W5QWFU4.js";import"./chunk-6F5KPT6U.js";import"./chunk-HBWAMCVB.js";import"./chunk-4MJQJQLY.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-U7EGKKN3.js";import"./chunk-QBVFONWU.js";import"./chunk-F5RZSNHI.js";import"./chunk-XWPUCPYW.js";import"./chunk-Z44VJC5U.js";import"./chunk-4RGV6Z2H.js";import"./chunk-IXAABYGS.js";import"./chunk-DYNO72WD.js";import"./chunk-MRLGQX7Y.js";import"./chunk-QDBFB4XD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{a as HeartbeatSchedulerWorker};
@@ -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.10.7");process.exit(0)}
2
- import{a,c as b}from"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";b();export{a as HnswAdapter};
@@ -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.10.7");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-OW4LJ5HE.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-DYNO72WD.js";import"./chunk-TTLAWPEN.js";import"./chunk-7NK2H7H5.js";import"./chunk-76JYG426.js";import"./chunk-LRRQEAP5.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
@@ -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.10.7");process.exit(0)}
2
- import{a,b,c}from"./chunk-MK73CCKO.js";import"./chunk-QBVS4CXM.js";import"./chunk-X3HRJV65.js";import"./chunk-L2ZSYIDA.js";import"./chunk-GUDOOOO6.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-LRRQEAP5.js";export{a as HybridRouter,b as createHybridRouter,c as createQERouter};
@@ -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.10.7");process.exit(0)}
2
- import{a}from"./chunk-MWRKNBSY.js";import"./chunk-YLXUF5KW.js";import"./chunk-V3KNHI5B.js";import"./chunk-DF7V6X3N.js";import"./chunk-222ZQTL5.js";import"./chunk-QBVFONWU.js";import"./chunk-2MLISLRR.js";import"./chunk-XWPUCPYW.js";import"./chunk-6OLPKIYU.js";import"./chunk-LRRQEAP5.js";export{a as ImpactAnalyzerService};