agentic-qe 3.15.2 → 3.15.3

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 (428) hide show
  1. package/.claude/helpers/brain-checkpoint.cjs +46 -6
  2. package/.claude/hooks/aqe-hook.cjs +280 -51
  3. package/.claude/skills/skills-manifest.json +1 -1
  4. package/CHANGELOG.md +86 -0
  5. package/assets/skills/skills-manifest.json +1 -1
  6. package/dist/adapters/ag-ui/state-delta-cache.js +14 -5
  7. package/dist/adapters/trajectory-adapter.js +3 -1
  8. package/dist/cli/bundle.js +5 -5
  9. package/dist/cli/chunks/adapter-WQSFQES5.js +2 -0
  10. package/dist/cli/chunks/{agent-booster-wasm-664M7426.js → agent-booster-wasm-CYG3PKHH.js} +2 -2
  11. package/dist/cli/chunks/{agent-handler-E47ITH45.js → agent-handler-WTFYFZKL.js} +2 -2
  12. package/dist/cli/chunks/{agent-memory-branch-CFWVOJX3.js → agent-memory-branch-G6WE3ZXU.js} +2 -2
  13. package/dist/cli/chunks/aqe-learning-engine-TDHBBADE.js +2 -0
  14. package/dist/cli/chunks/{arena-JM3OY263.js → arena-S72QW44C.js} +4 -4
  15. package/dist/cli/chunks/{arena-ZU5CGBGH.js → arena-ZFXQEVUQ.js} +2 -2
  16. package/dist/cli/chunks/{audit-HVBRC5AS.js → audit-KPYIEQJ3.js} +3 -3
  17. package/dist/cli/chunks/base-CZSB27VO.js +2 -0
  18. package/dist/cli/chunks/{better-sqlite3-45JLBQX3.js → better-sqlite3-L2M3TI5D.js} +2 -2
  19. package/dist/cli/chunks/{brain-handler-FKDONZYA.js → brain-handler-FHKLQTB4.js} +3 -3
  20. package/dist/cli/chunks/{branch-enumerator-M3DPS3D5.js → branch-enumerator-3BSHOPOK.js} +2 -2
  21. package/dist/cli/chunks/{browser-TG2TV6NR.js → browser-JUIJPL6Y.js} +2 -2
  22. package/dist/cli/chunks/browser-workflow-AEMIS6PA.js +2 -0
  23. package/dist/cli/chunks/{chunk-3KTAMNKI.js → chunk-2GJJGO5D.js} +2 -2
  24. package/dist/cli/chunks/{chunk-HSXLHNSS.js → chunk-2M75CW5Q.js} +2 -2
  25. package/dist/cli/chunks/{chunk-MEUJWTOX.js → chunk-2MEWIXW4.js} +2 -2
  26. package/dist/cli/chunks/{chunk-SKQTRYE7.js → chunk-2TBHPYOU.js} +2 -2
  27. package/dist/cli/chunks/{chunk-PZK7O445.js → chunk-34Y4CIHD.js} +2 -2
  28. package/dist/cli/chunks/{chunk-RO6HAZLV.js → chunk-35VDOH4Y.js} +1 -1
  29. package/dist/cli/chunks/{chunk-KQMCCHPO.js → chunk-366IBPZB.js} +2 -2
  30. package/dist/cli/chunks/{chunk-GJTH6VBH.js → chunk-3MNKYCLH.js} +1 -1
  31. package/dist/cli/chunks/{chunk-6KEYA4EH.js → chunk-3UUMGWHW.js} +4 -4
  32. package/dist/cli/chunks/{chunk-EQG3JYSV.js → chunk-3Y4GX5FL.js} +2 -2
  33. package/dist/cli/chunks/{chunk-BKZSTZDB.js → chunk-3ZTBV6M3.js} +1 -1
  34. package/dist/cli/chunks/{chunk-UZL4JYVW.js → chunk-4IYHYHTG.js} +2 -2
  35. package/dist/cli/chunks/{chunk-56CE7UO4.js → chunk-4JVVVKAX.js} +6 -6
  36. package/dist/cli/chunks/chunk-4N7YXTV3.js +4 -0
  37. package/dist/cli/chunks/{chunk-N653RGT3.js → chunk-4TM5K6EZ.js} +2 -2
  38. package/dist/cli/chunks/{chunk-IAOB2G3X.js → chunk-5LEUEWJY.js} +2 -2
  39. package/dist/cli/chunks/{chunk-LRVR56PD.js → chunk-5QUOM357.js} +1 -1
  40. package/dist/cli/chunks/{chunk-NBV37CEK.js → chunk-5WOBFN2T.js} +2 -2
  41. package/dist/cli/chunks/{chunk-I7J2ESGR.js → chunk-6AKJ73X3.js} +2 -2
  42. package/dist/cli/chunks/{chunk-L77Z3Q6L.js → chunk-6EQDA4EC.js} +2 -2
  43. package/dist/cli/chunks/{chunk-3DCRAW43.js → chunk-6TYTBQPV.js} +2 -2
  44. package/dist/cli/chunks/{chunk-IQB5ZBYO.js → chunk-6V6XVGCL.js} +3 -3
  45. package/dist/cli/chunks/{chunk-DHSGCI6H.js → chunk-6W6GZHQA.js} +6 -6
  46. package/dist/cli/chunks/{chunk-MY2XZHW3.js → chunk-7IJVCDDC.js} +1 -1
  47. package/dist/cli/chunks/{chunk-AS27JP67.js → chunk-7PDC4SKR.js} +1 -1
  48. package/dist/cli/chunks/{chunk-3KXKJSKS.js → chunk-7SWHW5AC.js} +20 -20
  49. package/dist/cli/chunks/{chunk-FH6N2LKG.js → chunk-7TW5UGDP.js} +2 -2
  50. package/dist/cli/chunks/{chunk-SZYK5JL7.js → chunk-7UUSV2SK.js} +1 -1
  51. package/dist/cli/chunks/{chunk-HFF5ERIE.js → chunk-A3IQU2ND.js} +2 -2
  52. package/dist/cli/chunks/{chunk-RIAKRZCZ.js → chunk-A5H7TF7C.js} +2 -2
  53. package/dist/cli/chunks/{chunk-ATGIGJSL.js → chunk-A6PII4R4.js} +1 -1
  54. package/dist/cli/chunks/{chunk-X4CADOSD.js → chunk-AEL4XJGJ.js} +2 -2
  55. package/dist/cli/chunks/{chunk-JCB6K24D.js → chunk-AOZJ6UUZ.js} +2 -2
  56. package/dist/cli/chunks/chunk-APV5UWTU.js +15 -0
  57. package/dist/cli/chunks/{chunk-QJN5RW2U.js → chunk-AQTQ24SK.js} +3 -3
  58. package/dist/cli/chunks/{chunk-GDSLQTJC.js → chunk-AS54N3H7.js} +2 -2
  59. package/dist/cli/chunks/chunk-ASUXS4N4.js +2 -0
  60. package/dist/cli/chunks/{chunk-HS3O763N.js → chunk-B23ROYST.js} +3 -3
  61. package/dist/cli/chunks/{chunk-IHKRKRAV.js → chunk-BDKQSEEY.js} +1 -1
  62. package/dist/cli/chunks/{chunk-2B2MGJ2W.js → chunk-BO43BGHX.js} +2 -2
  63. package/dist/cli/chunks/{chunk-MDDECCAC.js → chunk-CF3BPD2R.js} +161 -159
  64. package/dist/cli/chunks/{chunk-ANI3KPB7.js → chunk-CFXROOIU.js} +2 -2
  65. package/dist/cli/chunks/{chunk-3RC5UMRJ.js → chunk-CNQUU6CF.js} +2 -2
  66. package/dist/cli/chunks/{chunk-NKWMTXBL.js → chunk-D5V6C3XG.js} +3 -3
  67. package/dist/cli/chunks/{chunk-ZIKH7U5A.js → chunk-D6PUDLJ4.js} +2 -2
  68. package/dist/cli/chunks/{chunk-FNPZINHV.js → chunk-DE3QNPTG.js} +1 -1
  69. package/dist/cli/chunks/{chunk-VTGAPHJE.js → chunk-DH5NWHH2.js} +2 -2
  70. package/dist/cli/chunks/{chunk-OWZ3F7DJ.js → chunk-DLA3EHKJ.js} +1 -1
  71. package/dist/cli/chunks/{chunk-7UA7SMM4.js → chunk-DWG4TN6A.js} +1 -1
  72. package/dist/cli/chunks/{chunk-4MCO43NX.js → chunk-EBIMVSPH.js} +4 -4
  73. package/dist/cli/chunks/{chunk-WMNVFCKY.js → chunk-ED5HUPUR.js} +2 -2
  74. package/dist/cli/chunks/{chunk-Y5VPLOA7.js → chunk-EQGT4VLC.js} +1 -1
  75. package/dist/cli/chunks/{chunk-ZVQSIH7Y.js → chunk-F5BREV2Q.js} +8 -8
  76. package/dist/cli/chunks/{chunk-CV7E627D.js → chunk-FPFGN2Z5.js} +2 -2
  77. package/dist/cli/chunks/{chunk-GJ7DON5S.js → chunk-FTUNC4EI.js} +3 -3
  78. package/dist/cli/chunks/chunk-FXTZXZCU.js +54 -0
  79. package/dist/cli/chunks/{chunk-6UO5YSNN.js → chunk-GJB3LPCS.js} +2 -2
  80. package/dist/cli/chunks/{chunk-6WVEICL2.js → chunk-GPZH6OPP.js} +4 -4
  81. package/dist/cli/chunks/{chunk-T5N2PIPS.js → chunk-HR7RL4PB.js} +2 -2
  82. package/dist/cli/chunks/{chunk-IT753IPZ.js → chunk-HSR53REE.js} +2 -2
  83. package/dist/cli/chunks/{chunk-DNS37AHW.js → chunk-HU474NXP.js} +1 -1
  84. package/dist/cli/chunks/{chunk-NP2WWIZ3.js → chunk-HV3ZVUHO.js} +1 -1
  85. package/dist/cli/chunks/{chunk-ITM26I6O.js → chunk-HVIFA73X.js} +2 -2
  86. package/dist/cli/chunks/{chunk-Q32UGPWK.js → chunk-HW4V7BVV.js} +2 -2
  87. package/dist/cli/chunks/{chunk-5DFPAJ5O.js → chunk-I5VJ3FBC.js} +2 -2
  88. package/dist/cli/chunks/{chunk-AR5V7VNC.js → chunk-IARE5VGI.js} +1 -1
  89. package/dist/cli/chunks/chunk-INVDDFJC.js +2 -0
  90. package/dist/cli/chunks/{chunk-M36DAETL.js → chunk-JJBTM4JO.js} +2 -2
  91. package/dist/cli/chunks/chunk-JVQK6NGI.js +14 -0
  92. package/dist/cli/chunks/{chunk-TMYGGYRY.js → chunk-K65X6CQA.js} +1 -1
  93. package/dist/cli/chunks/{chunk-HBMBO4FD.js → chunk-KCBCYF7M.js} +2 -2
  94. package/dist/cli/chunks/{chunk-V67UQRQN.js → chunk-KGS6H2HB.js} +2 -2
  95. package/dist/cli/chunks/{chunk-JSTKSPYT.js → chunk-L6OSEWOS.js} +1 -1
  96. package/dist/cli/chunks/{chunk-LH3H4V7C.js → chunk-LEB6O2IN.js} +2 -2
  97. package/dist/cli/chunks/{chunk-JIRX6KUR.js → chunk-LPZAB3N2.js} +3 -3
  98. package/dist/cli/chunks/{chunk-A6L2OCMO.js → chunk-M3ACHBC7.js} +2 -2
  99. package/dist/cli/chunks/{chunk-WBZIOTY6.js → chunk-M3ONCPSU.js} +2 -2
  100. package/dist/cli/chunks/{chunk-EATZW5T2.js → chunk-MUSYQF53.js} +2 -2
  101. package/dist/cli/chunks/{chunk-GSC6JXDE.js → chunk-MZDUBFLP.js} +1 -1
  102. package/dist/cli/chunks/{chunk-2Q4Y3VQ6.js → chunk-NT6FYFJA.js} +2 -2
  103. package/dist/cli/chunks/{chunk-HADOG2PT.js → chunk-O66D4NEJ.js} +2 -2
  104. package/dist/cli/chunks/{chunk-QZNFZ5IQ.js → chunk-OGARNKLS.js} +2 -2
  105. package/dist/cli/chunks/{chunk-QGCFMACF.js → chunk-OKNMZLGB.js} +2 -2
  106. package/dist/cli/chunks/{chunk-TC4B5D4Z.js → chunk-OMHISPPF.js} +1 -1
  107. package/dist/cli/chunks/{chunk-DGKPGRBT.js → chunk-OT6SOPAL.js} +2 -2
  108. package/dist/cli/chunks/{chunk-W6PLBRRS.js → chunk-OTTTHNIT.js} +1 -1
  109. package/dist/cli/chunks/{chunk-JFFVYCTV.js → chunk-P36IODAM.js} +2 -2
  110. package/dist/cli/chunks/{chunk-EDRIROCG.js → chunk-P6EGRAQG.js} +2 -2
  111. package/dist/cli/chunks/{chunk-HOBBYORR.js → chunk-PBUWNMZ2.js} +1 -1
  112. package/dist/cli/chunks/{chunk-Z3PANQUT.js → chunk-POTVF6BY.js} +1 -1
  113. package/dist/cli/chunks/{chunk-SVHFSOGT.js → chunk-POVP6O6K.js} +1 -1
  114. package/dist/cli/chunks/{chunk-LVDZ25VX.js → chunk-PPA53NJB.js} +2 -2
  115. package/dist/cli/chunks/{chunk-GHXNRF63.js → chunk-PUPEKA2J.js} +2 -2
  116. package/dist/cli/chunks/{chunk-RLQ4MYB6.js → chunk-QDQLL2QB.js} +2 -2
  117. package/dist/cli/chunks/{chunk-O6QTCUSL.js → chunk-QSVNVDA5.js} +1 -1
  118. package/dist/cli/chunks/{chunk-UKRK3IE3.js → chunk-QUXX2DP7.js} +2 -2
  119. package/dist/cli/chunks/{chunk-T75PWWK4.js → chunk-QVNMTMDJ.js} +2 -2
  120. package/dist/cli/chunks/{chunk-3XF7YTQC.js → chunk-QZBFMXO5.js} +52 -52
  121. package/dist/cli/chunks/{chunk-BT6TZTCL.js → chunk-RDTR43YN.js} +2 -2
  122. package/dist/cli/chunks/{chunk-55T7PDYP.js → chunk-RGD2CG23.js} +2 -2
  123. package/dist/cli/chunks/{chunk-NWYAV2UG.js → chunk-RQUSJEON.js} +2 -2
  124. package/dist/cli/chunks/{chunk-2AOAEMJG.js → chunk-RRSZ27A7.js} +2 -2
  125. package/dist/cli/chunks/{chunk-6XLCFDIB.js → chunk-RWLOERKK.js} +2 -2
  126. package/dist/cli/chunks/{chunk-5YS2DF5G.js → chunk-RWQDRPN5.js} +2 -2
  127. package/dist/cli/chunks/{chunk-CFDIYZGA.js → chunk-S7D4GD7H.js} +2 -2
  128. package/dist/cli/chunks/{chunk-NLY5NUHZ.js → chunk-SKHP5WUP.js} +2 -2
  129. package/dist/cli/chunks/{chunk-HMDSBWF6.js → chunk-SP2JO53K.js} +2 -2
  130. package/dist/cli/chunks/{chunk-WJ7657IX.js → chunk-SRDECRTL.js} +2 -2
  131. package/dist/cli/chunks/{chunk-CRYZXTSQ.js → chunk-TBVPNN65.js} +2 -2
  132. package/dist/cli/chunks/{chunk-UX4BOI6K.js → chunk-U5AVZ3T2.js} +1 -1
  133. package/dist/cli/chunks/{chunk-ZSKQPXRW.js → chunk-UCSGZVJX.js} +1 -1
  134. package/dist/cli/chunks/{chunk-URWT3EQT.js → chunk-UGNTLSBL.js} +2 -2
  135. package/dist/cli/chunks/{chunk-IM67YHDK.js → chunk-UTALYUMW.js} +2 -2
  136. package/dist/cli/chunks/{chunk-FCMCQ6OX.js → chunk-UZDTRCVU.js} +2 -2
  137. package/dist/cli/chunks/{chunk-WUSSZ2S6.js → chunk-V5NYGDSX.js} +2 -2
  138. package/dist/cli/chunks/{chunk-KTLYL3BS.js → chunk-VGN46ZT4.js} +2 -2
  139. package/dist/cli/chunks/{chunk-MOSXT6AO.js → chunk-VHBZADYK.js} +2 -2
  140. package/dist/cli/chunks/{chunk-6OL2WES5.js → chunk-VOKIUF7I.js} +1 -1
  141. package/dist/cli/chunks/{chunk-HYWW4A2E.js → chunk-VRT736E3.js} +2 -2
  142. package/dist/cli/chunks/{chunk-Z7XCXHEB.js → chunk-VUBLJBHQ.js} +2 -2
  143. package/dist/cli/chunks/{chunk-6O4KVU4K.js → chunk-VX7CQUO7.js} +2 -2
  144. package/dist/cli/chunks/{chunk-YYVLMW65.js → chunk-W7EHNX3Y.js} +2 -2
  145. package/dist/cli/chunks/{chunk-J4EJMAH3.js → chunk-WI7I6LMM.js} +1 -1
  146. package/dist/cli/chunks/{chunk-5TEPPW4J.js → chunk-WLOHTLHO.js} +2 -2
  147. package/dist/cli/chunks/{chunk-WBCE6V2N.js → chunk-WQZBKLAG.js} +1 -1
  148. package/dist/cli/chunks/{chunk-YH7VOLBP.js → chunk-WSND64RL.js} +2 -2
  149. package/dist/cli/chunks/{chunk-D75HDHX3.js → chunk-WSUYEVSY.js} +1 -1
  150. package/dist/cli/chunks/{chunk-HXT4XDQO.js → chunk-WTMLRMKW.js} +2 -2
  151. package/dist/cli/chunks/{chunk-FRZVLRVR.js → chunk-WW4RJ6BH.js} +2 -2
  152. package/dist/cli/chunks/{chunk-QR5ILM34.js → chunk-X335K4SU.js} +2 -2
  153. package/dist/cli/chunks/{chunk-326V7N25.js → chunk-X33LID2T.js} +1 -1
  154. package/dist/cli/chunks/{chunk-NL6HKEPR.js → chunk-XTGVGZ4J.js} +3 -3
  155. package/dist/cli/chunks/{chunk-AXJ75X6I.js → chunk-XV2TIODR.js} +1 -1
  156. package/dist/cli/chunks/{chunk-2JEPRQMT.js → chunk-XXW4KFBB.js} +1 -1
  157. package/dist/cli/chunks/{chunk-TZH2QAFZ.js → chunk-YCGU2LI7.js} +2 -2
  158. package/dist/cli/chunks/chunk-YGEC3PSD.js +2 -0
  159. package/dist/cli/chunks/{chunk-W7P7EOJ4.js → chunk-YGKU2QRC.js} +1 -1
  160. package/dist/cli/chunks/{chunk-XQBH3366.js → chunk-YHZGFWJE.js} +2 -2
  161. package/dist/cli/chunks/{chunk-E6GANSLP.js → chunk-YJH7UFA2.js} +2 -2
  162. package/dist/cli/chunks/{chunk-IBAXNCR2.js → chunk-YQ3ZW47V.js} +2 -2
  163. package/dist/cli/chunks/{chunk-MYDZBABD.js → chunk-YTRGMILO.js} +2 -2
  164. package/dist/cli/chunks/chunk-YW4GM36K.js +2 -0
  165. package/dist/cli/chunks/{chunk-W5EKSBS4.js → chunk-Z7JPWXW2.js} +2 -2
  166. package/dist/cli/chunks/{chunk-2AWU2E6R.js → chunk-Z7UGEQ4G.js} +1 -1
  167. package/dist/cli/chunks/{chunk-B4H66LPR.js → chunk-ZATQLTYL.js} +1 -1
  168. package/dist/cli/chunks/{chunk-N4MNSEKY.js → chunk-ZI6NJEBY.js} +1 -1
  169. package/dist/cli/chunks/{chunk-YJSKT6G6.js → chunk-ZJW4HRUA.js} +1 -1
  170. package/dist/cli/chunks/{chunk-QB7H62A4.js → chunk-ZL2GYU7H.js} +2 -2
  171. package/dist/cli/chunks/{ci-JNBOR6FP.js → ci-JPISJ25U.js} +3 -3
  172. package/dist/cli/chunks/{ci-output-FYNKONEQ.js → ci-output-DPHTFIGX.js} +2 -2
  173. package/dist/cli/chunks/{circuit-breaker-KOIXRDAD.js → circuit-breaker-PQ65VU2M.js} +2 -2
  174. package/dist/cli/chunks/{claude-flow-setup-4CO7KHRN.js → claude-flow-setup-GKHVO7AD.js} +2 -2
  175. package/dist/cli/chunks/client-BS7I637W.js +2 -0
  176. package/dist/cli/chunks/{cline-installer-CMYAPKK5.js → cline-installer-HWMQZJ64.js} +2 -2
  177. package/dist/cli/chunks/{code-WFIAEP3H.js → code-OTY7BF3D.js} +3 -3
  178. package/dist/cli/chunks/{code-index-extractor-IYM6HWJN.js → code-index-extractor-FG3TMHHR.js} +2 -2
  179. package/dist/cli/chunks/{codex-installer-DORVWRSU.js → codex-installer-63JARKKS.js} +2 -2
  180. package/dist/cli/chunks/{completions-54VM2MX2.js → completions-4ZHONFML.js} +2 -2
  181. package/dist/cli/chunks/{complexity-analyzer-EGZDP5N4.js → complexity-analyzer-FYHTJW5Y.js} +2 -2
  182. package/dist/cli/chunks/{continuedev-installer-4SDVDD4T.js → continuedev-installer-ZAWDSUR3.js} +2 -2
  183. package/dist/cli/chunks/{copilot-installer-7FJQ7PCL.js → copilot-installer-5QK565JX.js} +2 -2
  184. package/dist/cli/chunks/core-handlers-UG7RMTK5.js +2 -0
  185. package/dist/cli/chunks/cost-tracker-AWWMPPBJ.js +2 -0
  186. package/dist/cli/chunks/{coverage-DI5LDRJ7.js → coverage-SMFQEGKE.js} +3 -3
  187. package/dist/cli/chunks/cross-domain-router-NX7F6TOF.js +2 -0
  188. package/dist/cli/chunks/{cursor-installer-RTSZP5YD.js → cursor-installer-3BL7JACV.js} +2 -2
  189. package/dist/cli/chunks/{daemon-LM7LETPV.js → daemon-OJ624POF.js} +4 -4
  190. package/dist/cli/chunks/{daemon-SP3APEZY.js → daemon-R6ULBHHF.js} +3 -3
  191. package/dist/cli/chunks/{dag-attention-scheduler-C3QBODFE.js → dag-attention-scheduler-J6I3LTMY.js} +2 -2
  192. package/dist/cli/chunks/{detect-I4RBUFFJ.js → detect-5Q5W33UR.js} +2 -2
  193. package/dist/cli/chunks/{dist-node-PT6TCBCO.js → dist-node-GJNW56NA.js} +2 -2
  194. package/dist/cli/chunks/{domain-handler-MJMTMB5X.js → domain-handler-IZQY2G44.js} +2 -2
  195. package/dist/cli/chunks/{domain-plugins-Y4A2WYJW.js → domain-plugins-PIGO3KI2.js} +2 -2
  196. package/dist/cli/chunks/{domain-transfer-DUO42TLA.js → domain-transfer-NU3B4FQG.js} +2 -2
  197. package/dist/cli/chunks/dream-GYEH57FW.js +2 -0
  198. package/dist/cli/chunks/{embed-and-insert-pattern-66ZQK4AI.js → embed-and-insert-pattern-5QDDRPWV.js} +2 -2
  199. package/dist/cli/chunks/{eval-NQ7H27UF.js → eval-TB5HOAUY.js} +2 -2
  200. package/dist/cli/chunks/{experience-capture-middleware-MHEYPTIG.js → experience-capture-middleware-SIYVLKDE.js} +3 -3
  201. package/dist/cli/chunks/{fast-paths-YYDGN6ZC.js → fast-paths-T7QELS6D.js} +2 -2
  202. package/dist/cli/chunks/{feature-flags-YFGUORHY.js → feature-flags-T3CNNYMJ.js} +2 -2
  203. package/dist/cli/chunks/{feature-flags-FY4DOYS2.js → feature-flags-TNZ7ZAJV.js} +2 -2
  204. package/dist/cli/chunks/{file-discovery-TOMDY7TK.js → file-discovery-M45P2ZCY.js} +2 -2
  205. package/dist/cli/chunks/{fleet-MO3UCWB4.js → fleet-DSBZPHBZ.js} +3 -3
  206. package/dist/cli/chunks/{gnn-wrapper-SLW4PPXQ.js → gnn-wrapper-EHODCF32.js} +2 -2
  207. package/dist/cli/chunks/{heartbeat-handler-36RFCP4E.js → heartbeat-handler-V5DBVF7V.js} +4 -4
  208. package/dist/cli/chunks/heartbeat-scheduler-4TJ3T7LR.js +2 -0
  209. package/dist/cli/chunks/hnsw-adapter-PHFK4EAP.js +2 -0
  210. package/dist/cli/chunks/hnsw-index-434XDDBH.js +2 -0
  211. package/dist/cli/chunks/{hnsw-legacy-bridge-BJLWBKHE.js → hnsw-legacy-bridge-IYKDYA2F.js} +2 -2
  212. package/dist/cli/chunks/{hnswlib-node-RAYNVJCJ.js → hnswlib-node-DKG4LW3X.js} +2 -2
  213. package/dist/cli/chunks/{hooks-JMHFWVEQ.js → hooks-VKNMAILY.js} +10 -10
  214. package/dist/cli/chunks/hybrid-backend-DYVJQENQ.js +2 -0
  215. package/dist/cli/chunks/{hypergraph-engine-JUDBKPOX.js → hypergraph-engine-AXZVP7A7.js} +2 -2
  216. package/dist/cli/chunks/{hypergraph-handler-AXTWXOZU.js → hypergraph-handler-6EO6JN4Z.js} +3 -3
  217. package/dist/cli/chunks/impact-analyzer-CBAST6M2.js +2 -0
  218. package/dist/cli/chunks/{init-handler-PARJNZFF.js → init-handler-N3NG3RHN.js} +6 -6
  219. package/dist/cli/chunks/init-wizard-DWIJW7HY.js +2 -0
  220. package/dist/cli/chunks/kernel-AQGCS4X2.js +2 -0
  221. package/dist/cli/chunks/{kilocode-installer-22HX2E4V.js → kilocode-installer-JICGAHLM.js} +2 -2
  222. package/dist/cli/chunks/{kiro-installer-OVPBLY7J.js → kiro-installer-VYBFP6ZH.js} +2 -2
  223. package/dist/cli/chunks/knowledge-graph-2ICXFUUV.js +2 -0
  224. package/dist/cli/chunks/{learning-DWXPJ3R6.js → learning-3BHEZEPK.js} +3 -3
  225. package/dist/cli/chunks/{llm-router-7PPVVKNG.js → llm-router-GPTEZCUN.js} +4 -4
  226. package/dist/cli/chunks/llm-router-service-C47RGTH6.js +2 -0
  227. package/dist/cli/chunks/{load-VI5XHNZA.js → load-W5BIRPU4.js} +2 -2
  228. package/dist/cli/chunks/load-test-LRDAW3N6.js +2 -0
  229. package/dist/cli/chunks/{mcp-UW4Z3Z64.js → mcp-EBV4DZPG.js} +2 -2
  230. package/dist/cli/chunks/{memory-UD2KCB5M.js → memory-7F6YYKNL.js} +5 -5
  231. package/dist/cli/chunks/memory-backend-UFBAYPQ6.js +2 -0
  232. package/dist/cli/chunks/memory-handlers-OGLJHAAJ.js +2 -0
  233. package/dist/cli/chunks/{multi-model-executor-5O4WWU5Z.js → multi-model-executor-3ZIA2YOL.js} +2 -2
  234. package/dist/cli/chunks/{opencode-installer-DTRFDGM7.js → opencode-installer-2XRZUTLR.js} +2 -2
  235. package/dist/cli/chunks/{orchestrator-ENJIKV6Z.js → orchestrator-VSZVJUJW.js} +85 -26
  236. package/dist/cli/chunks/pattern-null-store-27FCITT3.js +2 -0
  237. package/dist/cli/chunks/{pattern-usage-recorder-QPNIU5PD.js → pattern-usage-recorder-I2IGVHRL.js} +2 -2
  238. package/dist/cli/chunks/{pipeline-G3JYDNPE.js → pipeline-5G3O6WBY.js} +2 -2
  239. package/dist/cli/chunks/{platform-P4WR6N3D.js → platform-6GUFDIA3.js} +2 -2
  240. package/dist/cli/chunks/{plugin-C7763Q5W.js → plugin-GYXE4CIC.js} +2 -2
  241. package/dist/cli/chunks/{prime-radiant-advanced-wasm-DH6R3XSZ.js → prime-radiant-advanced-wasm-THX6JLGZ.js} +2 -2
  242. package/dist/cli/chunks/{project-root-7DTXDLEG.js → project-root-QJRBKZQU.js} +2 -2
  243. package/dist/cli/chunks/protocol-executor-XWXXTMEW.js +2 -0
  244. package/dist/cli/chunks/{protocol-handler-EODULGOZ.js → protocol-handler-B54LRU26.js} +2 -2
  245. package/dist/cli/chunks/{prove-A7G3SIOF.js → prove-PCY2WQOD.js} +2 -2
  246. package/dist/cli/chunks/qe-reasoning-bank-3RMYXENE.js +2 -0
  247. package/dist/cli/chunks/{quality-JTURFUX3.js → quality-LPVDZC7U.js} +2 -2
  248. package/dist/cli/chunks/{quality-gate-M2EI754V.js → quality-gate-L3KXL6WE.js} +3 -3
  249. package/dist/cli/chunks/queen-coordinator-AS6DZ7UJ.js +2 -0
  250. package/dist/cli/chunks/{real-embeddings-DI7JMCG7.js → real-embeddings-N3H523PJ.js} +2 -2
  251. package/dist/cli/chunks/{ref-validation-MSFMNKDR.js → ref-validation-6BKDPHZ7.js} +2 -2
  252. package/dist/cli/chunks/{roocode-installer-XIMFFHOH.js → roocode-installer-NSGGTWXE.js} +2 -2
  253. package/dist/cli/chunks/router-OVNLNGHO.js +2 -0
  254. package/dist/cli/chunks/routing-feedback-TBOWEB6H.js +2 -0
  255. package/dist/cli/chunks/{routing-handler-MCDKNBQW.js → routing-handler-SRQNUBG3.js} +2 -2
  256. package/dist/cli/chunks/{ruvector-commands-OBSYAK2X.js → ruvector-commands-2IGULGDE.js} +2 -2
  257. package/dist/cli/chunks/rvf-dual-writer-YJYRCYGT.js +2 -0
  258. package/dist/cli/chunks/rvf-migration-adapter-VMRQ2SFO.js +2 -0
  259. package/dist/cli/chunks/{rvf-migration-coordinator-4DTRIHY6.js → rvf-migration-coordinator-ZD6WK5CK.js} +2 -2
  260. package/dist/cli/chunks/rvf-native-adapter-B75L3ALW.js +2 -0
  261. package/dist/cli/chunks/{rvf-store-integrity-CWAVMRC4.js → rvf-store-integrity-QULKUBBI.js} +2 -2
  262. package/dist/cli/chunks/safe-db-CRQHMCV6.js +2 -0
  263. package/dist/cli/chunks/schedule-L3DKJRXU.js +2 -0
  264. package/dist/cli/chunks/scheduler-VRHYUGY5.js +2 -0
  265. package/dist/cli/chunks/{security-74TWSO74.js → security-JW4EBARW.js} +3 -3
  266. package/dist/cli/chunks/{shared-rvf-adapter-ZHNAGE5H.js → shared-rvf-adapter-VQ7NJTGY.js} +2 -2
  267. package/dist/cli/chunks/{shared-rvf-dual-writer-BS5WAVCC.js → shared-rvf-dual-writer-SKTS52HK.js} +2 -2
  268. package/dist/cli/chunks/sqlite-persistence-JVAZETTL.js +2 -0
  269. package/dist/cli/chunks/{standalone-memory-3HGHTE7S.js → standalone-memory-3N4YJCSY.js} +2 -2
  270. package/dist/cli/chunks/{status-handler-XWEEGNGH.js → status-handler-5BQ2IIDG.js} +2 -2
  271. package/dist/cli/chunks/{structural-health-TB5JGMVS.js → structural-health-WGYR2RJB.js} +2 -2
  272. package/dist/cli/chunks/{sync-T4VLBURM.js → sync-DLKSXTIR.js} +2 -2
  273. package/dist/cli/chunks/sync-R5OKUBTQ.js +2 -0
  274. package/dist/cli/chunks/{task-handler-RQ65QKXX.js → task-handler-Z5KNTSUX.js} +2 -2
  275. package/dist/cli/chunks/{task-handlers-USYWJ4H2.js → task-handlers-RZFMYFSC.js} +3 -3
  276. package/dist/cli/chunks/test-LHWKZJRN.js +34 -0
  277. package/dist/cli/chunks/test-scheduling-EN7WXUMS.js +15 -0
  278. package/dist/cli/chunks/token-bootstrap-4V3OO4EC.js +2 -0
  279. package/dist/cli/chunks/{token-usage-CISTB5K5.js → token-usage-PFC2BYBS.js} +2 -2
  280. package/dist/cli/chunks/{transformers-C7LV763N.js → transformers-VZCC4SHC.js} +2 -2
  281. package/dist/cli/chunks/{tree-sitter-wasm-parser-P26JC3YV.js → tree-sitter-wasm-parser-ZYDQXGKN.js} +2 -2
  282. package/dist/cli/chunks/{types-YMVMKIWB.js → types-I6AWHZZQ.js} +2 -2
  283. package/dist/cli/chunks/unified-memory-WOOCCIUM.js +2 -0
  284. package/dist/cli/chunks/unified-memory-hnsw-PDDHFLUB.js +2 -0
  285. package/dist/cli/chunks/unified-persistence-6ETD3JSC.js +2 -0
  286. package/dist/cli/chunks/{upgrade-U2REOPAW.js → upgrade-T7SG75PA.js} +2 -2
  287. package/dist/cli/chunks/{validate-NDTCKN7P.js → validate-YLYEHTY3.js} +2 -2
  288. package/dist/cli/chunks/{validate-swarm-OJUGVH5Q.js → validate-swarm-VTLTRUE3.js} +2 -2
  289. package/dist/cli/chunks/visual-security-O4OT2YPY.js +2 -0
  290. package/dist/cli/chunks/{web-tree-sitter-2CLRSA7K.js → web-tree-sitter-JUM7ZY5M.js} +2 -2
  291. package/dist/cli/chunks/{windsurf-installer-DSUJJ4PG.js → windsurf-installer-4KS2466T.js} +2 -2
  292. package/dist/cli/chunks/witness-chain-67JHPDCN.js +2 -0
  293. package/dist/cli/chunks/{witness-chain-TEGL4ZWB.js → witness-chain-E4X6TOCT.js} +2 -2
  294. package/dist/cli/chunks/witness-chain-repair-MB53OZO6.js +2 -0
  295. package/dist/cli/chunks/{witness-chain-verifier-SPXKFC67.js → witness-chain-verifier-LBWJHO7Y.js} +2 -2
  296. package/dist/cli/chunks/{witness-key-manager-EALOV4OV.js → witness-key-manager-5IHVMXHJ.js} +2 -2
  297. package/dist/cli/chunks/{workflow-PYI6HCAG.js → workflow-XUQXIRNE.js} +4 -4
  298. package/dist/cli/chunks/workflow-orchestrator-ZVFSNRYZ.js +2 -0
  299. package/dist/cli/chunks/wrappers-YVF5SQUN.js +2 -0
  300. package/dist/cli/commands/test.js +30 -12
  301. package/dist/cli/utils/generated-test-writer.d.ts +35 -0
  302. package/dist/cli/utils/generated-test-writer.js +44 -0
  303. package/dist/context/compiler.js +4 -1
  304. package/dist/coordination/consensus/providers/ollama-provider.js +16 -27
  305. package/dist/coordination/consensus/providers/openrouter-provider.js +13 -24
  306. package/dist/coordination/handlers/test-execution-handlers.js +4 -2
  307. package/dist/coordination/protocols/defect-investigation.js +4 -1
  308. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +3 -3
  309. package/dist/domains/coverage-analysis/services/gap-detector.js +3 -1
  310. package/dist/domains/learning-optimization/services/learning-coordinator.js +4 -2
  311. package/dist/domains/test-execution/services/flaky-detector.js +8 -2
  312. package/dist/domains/test-execution/services/retry-handler.js +23 -20
  313. package/dist/domains/test-execution/services/test-executor.js +5 -2
  314. package/dist/domains/test-generation/services/test-generator.js +5 -2
  315. package/dist/governance/compliance-reporter.js +8 -7
  316. package/dist/governance/proof-envelope-integration.js +3 -1
  317. package/dist/init/phases/07-hooks.js +30 -4
  318. package/dist/init/phases/10-workers.js +42 -6
  319. package/dist/integrations/agentic-flow/onnx-embeddings/embedding-generator.d.ts +4 -1
  320. package/dist/integrations/agentic-flow/onnx-embeddings/embedding-generator.js +6 -2
  321. package/dist/integrations/browser/qe-dashboard/wasm-vector-store.js +2 -1
  322. package/dist/integrations/ruvector/coverage-router.d.ts +3 -1
  323. package/dist/integrations/ruvector/coverage-router.js +7 -6
  324. package/dist/integrations/ruvector/diff-risk-classifier.js +5 -4
  325. package/dist/integrations/ruvector/rvf-dual-writer.js +10 -1
  326. package/dist/integrations/vibium/runtime.js +2 -6
  327. package/dist/learning/dream/dream-engine.d.ts +5 -0
  328. package/dist/learning/dream/dream-engine.js +20 -3
  329. package/dist/learning/embedding-space.d.ts +18 -0
  330. package/dist/learning/embedding-space.js +33 -0
  331. package/dist/learning/rvf-pattern-store.js +19 -5
  332. package/dist/mcp/bundle.js +443 -441
  333. package/dist/mcp/handlers/handler-factory.js +3 -1
  334. package/dist/mcp/handlers/save-results-option.d.ts +62 -0
  335. package/dist/mcp/handlers/save-results-option.js +35 -0
  336. package/dist/mcp/protocol-server.js +22 -11
  337. package/dist/mcp/security/rate-limiter.d.ts +8 -1
  338. package/dist/mcp/security/rate-limiter.js +33 -4
  339. package/dist/mcp/services/session-resume.js +11 -0
  340. package/dist/mcp/services/session-store.d.ts +31 -2
  341. package/dist/mcp/services/session-store.js +84 -15
  342. package/dist/mcp/services/session-write-buffer.d.ts +55 -0
  343. package/dist/mcp/services/session-write-buffer.js +144 -0
  344. package/dist/memory/crdt/g-counter.js +10 -8
  345. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  346. package/dist/shared/embeddings/ollama-client.js +30 -31
  347. package/dist/shared/git/git-analyzer.d.ts +4 -1
  348. package/dist/shared/git/git-analyzer.js +9 -4
  349. package/dist/shared/llm/cost-tracker.js +8 -6
  350. package/dist/shared/llm/providers/azure-openai.js +5 -21
  351. package/dist/shared/llm/providers/bedrock.js +5 -21
  352. package/dist/shared/llm/providers/claude.js +5 -21
  353. package/dist/shared/llm/providers/cognitum.js +5 -17
  354. package/dist/shared/llm/providers/gemini.js +9 -23
  355. package/dist/shared/llm/providers/ollama.js +5 -21
  356. package/dist/shared/llm/providers/openai.js +5 -21
  357. package/dist/shared/llm/providers/openrouter.js +9 -23
  358. package/dist/shared/llm/providers/response-deadline.d.ts +3 -0
  359. package/dist/shared/llm/providers/response-deadline.js +100 -0
  360. package/dist/shared/llm/spend-ledger.js +3 -2
  361. package/dist/shared/metrics/code-metrics.d.ts +1 -0
  362. package/dist/shared/metrics/code-metrics.js +3 -44
  363. package/dist/shared/metrics/cognitive-complexity.d.ts +17 -0
  364. package/dist/shared/metrics/cognitive-complexity.js +108 -0
  365. package/dist/shared/npm-cli-invocation.d.ts +21 -0
  366. package/dist/shared/npm-cli-invocation.js +28 -0
  367. package/dist/shared/optional-module.js +24 -0
  368. package/dist/shared/test-runner-args.d.ts +42 -0
  369. package/dist/shared/test-runner-args.js +74 -0
  370. package/dist/shared/utils/safe-record.d.ts +18 -0
  371. package/dist/shared/utils/safe-record.js +28 -0
  372. package/dist/test-scheduling/executors/vitest-executor.js +23 -5
  373. package/dist/workers/quality-daemon/git-watcher.js +5 -0
  374. package/package.json +1 -1
  375. package/dist/adapters/ag-ui/json-patch-utils.d.ts +0 -136
  376. package/dist/adapters/ag-ui/json-patch-utils.js +0 -575
  377. package/dist/cli/chunks/adapter-EUIELRLI.js +0 -2
  378. package/dist/cli/chunks/aqe-learning-engine-LXRKHASR.js +0 -2
  379. package/dist/cli/chunks/base-4DSLX33Y.js +0 -2
  380. package/dist/cli/chunks/browser-workflow-AWCQLQZK.js +0 -2
  381. package/dist/cli/chunks/chunk-E2QHUMCR.js +0 -2
  382. package/dist/cli/chunks/chunk-I7ECEOFV.js +0 -2
  383. package/dist/cli/chunks/chunk-LW4BCFIV.js +0 -15
  384. package/dist/cli/chunks/chunk-QJGKL67W.js +0 -54
  385. package/dist/cli/chunks/chunk-X43HA3RF.js +0 -14
  386. package/dist/cli/chunks/chunk-Z3K4JZXQ.js +0 -4
  387. package/dist/cli/chunks/client-UJVHZXNQ.js +0 -2
  388. package/dist/cli/chunks/core-handlers-AFXZOSH3.js +0 -2
  389. package/dist/cli/chunks/cost-tracker-D6YSKTQC.js +0 -2
  390. package/dist/cli/chunks/cross-domain-router-ZLNVKLIR.js +0 -2
  391. package/dist/cli/chunks/dream-4OPJXXEG.js +0 -2
  392. package/dist/cli/chunks/heartbeat-scheduler-J5KLHO6C.js +0 -2
  393. package/dist/cli/chunks/hnsw-adapter-56P6XSFR.js +0 -2
  394. package/dist/cli/chunks/hnsw-index-GFZ6XCEW.js +0 -2
  395. package/dist/cli/chunks/hybrid-backend-TUBWJDDN.js +0 -2
  396. package/dist/cli/chunks/impact-analyzer-FXVGKS6B.js +0 -2
  397. package/dist/cli/chunks/init-wizard-LK73HQ7W.js +0 -2
  398. package/dist/cli/chunks/kernel-TCZDKRSI.js +0 -2
  399. package/dist/cli/chunks/knowledge-graph-TWMB2GH2.js +0 -2
  400. package/dist/cli/chunks/llm-router-service-HPDH3P77.js +0 -2
  401. package/dist/cli/chunks/load-test-HTYOUYSN.js +0 -2
  402. package/dist/cli/chunks/memory-backend-X5BE2MPK.js +0 -2
  403. package/dist/cli/chunks/memory-handlers-SQXMFX5X.js +0 -2
  404. package/dist/cli/chunks/pattern-null-store-OCQGQZU6.js +0 -2
  405. package/dist/cli/chunks/protocol-executor-CYEQHQCL.js +0 -2
  406. package/dist/cli/chunks/qe-reasoning-bank-GSTA5WJ4.js +0 -2
  407. package/dist/cli/chunks/queen-coordinator-Y2Q5RQL7.js +0 -2
  408. package/dist/cli/chunks/router-4QB5L4IW.js +0 -2
  409. package/dist/cli/chunks/routing-feedback-YBVHJY5L.js +0 -2
  410. package/dist/cli/chunks/rvf-dual-writer-T5B456SW.js +0 -2
  411. package/dist/cli/chunks/rvf-migration-adapter-2O2NL7ZF.js +0 -2
  412. package/dist/cli/chunks/rvf-native-adapter-RDB3GWTW.js +0 -2
  413. package/dist/cli/chunks/safe-db-YXVMLFU4.js +0 -2
  414. package/dist/cli/chunks/schedule-K6XWCCSK.js +0 -2
  415. package/dist/cli/chunks/scheduler-4MW22D6Q.js +0 -2
  416. package/dist/cli/chunks/sqlite-persistence-UVDHUSAU.js +0 -2
  417. package/dist/cli/chunks/sync-LSPNSVDI.js +0 -2
  418. package/dist/cli/chunks/test-M2XTKD62.js +0 -33
  419. package/dist/cli/chunks/test-scheduling-GYXJQHJL.js +0 -15
  420. package/dist/cli/chunks/token-bootstrap-OTEMRUFR.js +0 -2
  421. package/dist/cli/chunks/unified-memory-UUK77NSE.js +0 -2
  422. package/dist/cli/chunks/unified-memory-hnsw-JOUE6WNF.js +0 -2
  423. package/dist/cli/chunks/unified-persistence-3DRJGNQE.js +0 -2
  424. package/dist/cli/chunks/visual-security-EM7FQG5X.js +0 -2
  425. package/dist/cli/chunks/witness-chain-7NZ6IIUN.js +0 -2
  426. package/dist/cli/chunks/witness-chain-repair-ZWS5WXFL.js +0 -2
  427. package/dist/cli/chunks/workflow-orchestrator-3C3S5FIM.js +0 -2
  428. package/dist/cli/chunks/wrappers-NXJHGK3W.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{b as P,c as q,d as R,e as D,g as O,h as x,i as j,j as $,k as L,l as N,m as M,n as Q,o as U,p as z}from"./chunk-FCMCQ6OX.js";import{b as v,d as T}from"./chunk-URWT3EQT.js";import{a as f,e as A}from"./chunk-3KTAMNKI.js";import{a as _,b as ae}from"./chunk-W5EKSBS4.js";T();import{existsSync as y,mkdirSync as F,writeFileSync as b,readFileSync as C,copyFileSync as oe}from"fs";import{join as p,dirname as ie}from"path";async function W(t,e){if(!e.hooks.claudeCode)return!1;let r=p(t,".claude");y(r)||F(r,{recursive:!0});let n=p(r,"settings.json"),s={};if(y(n))try{let m=C(n,"utf-8");s=v(m)}catch{s={}}let o={PreToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" guard --file "$TOOL_INPUT_file_path" --json',timeout:3,continueOnError:!0}]},{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-edit --file "$TOOL_INPUT_file_path" --json',timeout:5,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-command --command "$TOOL_INPUT_command" --json',timeout:3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-task --description "$TOOL_INPUT_prompt" --json',timeout:5,continueOnError:!0}]}],PostToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-edit --file "$TOOL_INPUT_file_path" --success --json',timeout:5,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-command --command "$TOOL_INPUT_command" --success true --json',timeout:5,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-task --task-id "$TOOL_RESULT_agent_id" --agent "$TOOL_INPUT_subagent_type" --success true --description "$TOOL_INPUT_prompt" --json',timeout:5,continueOnError:!0}]}],UserPromptSubmit:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" route --json',timeout:5,continueOnError:!0}]}],SessionStart:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-start --session-id "$SESSION_ID" --json',timeout:10,continueOnError:!0}]}],Stop:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-end --save-state --json',timeout:5,continueOnError:!0}]},{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-route --success true --json',timeout:5,continueOnError:!0}]}]},u=s.hooks||{};s.hooks=O(u,o);let l=s.env;s.env=x(l,j(e));let d=L(e,t);$(s,d);let a=s.enabledMcpjsonServers||[];return a=a.filter(m=>m!=="aqe"),a.includes("agentic-qe")||a.push("agentic-qe"),s.enabledMcpjsonServers=a,D(n),b(n,JSON.stringify(s,null,2),"utf-8"),await le(t),!0}async function le(t){let e=p(t,".claude","hooks");y(e)||F(e,{recursive:!0});let r=p(e,"cross-phase-memory.yaml");if(y(r))return;let n=[p(ie(import.meta.url.replace("file://","")),"..","..","assets","hooks","cross-phase-memory.yaml"),p(process.cwd(),"assets","hooks","cross-phase-memory.yaml"),p(process.cwd(),"v3","assets","hooks","cross-phase-memory.yaml")];for(let o of n)try{if(y(o)){oe(o,r),console.log(" \u2713 Cross-phase memory hooks installed");return}}catch{}b(r,`# Cross-Phase Memory Hooks Configuration
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.15.3");process.exit(0)}
2
+ import{b as P,c as q,d as R,e as D,g as O,h as x,i as j,j as $,k as L,l as N,m as M,n as Q,o as U,p as z}from"./chunk-UZDTRCVU.js";import{b as v,d as T}from"./chunk-UGNTLSBL.js";import{a as f,e as A}from"./chunk-2GJJGO5D.js";import{a as _,b as ae}from"./chunk-Z7JPWXW2.js";T();import{existsSync as y,mkdirSync as F,writeFileSync as b,readFileSync as C,copyFileSync as oe}from"fs";import{join as p,dirname as ie}from"path";async function W(t,e){if(!e.hooks.claudeCode)return!1;let r=p(t,".claude");y(r)||F(r,{recursive:!0});let n=p(r,"settings.json"),s={};if(y(n))try{let m=C(n,"utf-8");s=v(m)}catch{s={}}let o={PreToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" guard --file "$TOOL_INPUT_file_path" --json',timeout:3,continueOnError:!0}]},{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-edit --file "$TOOL_INPUT_file_path" --json',timeout:5,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-command --command "$TOOL_INPUT_command" --json',timeout:3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" pre-task --description "$TOOL_INPUT_prompt" --json',timeout:5,continueOnError:!0}]}],PostToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-edit --file "$TOOL_INPUT_file_path" --success --json',timeout:5,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-command --command "$TOOL_INPUT_command" --success true --json',timeout:5,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-task --task-id "$TOOL_RESULT_agent_id" --agent "$TOOL_INPUT_subagent_type" --success true --description "$TOOL_INPUT_prompt" --json',timeout:5,continueOnError:!0}]}],UserPromptSubmit:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" route --json',timeout:5,continueOnError:!0}]}],SessionStart:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-start --session-id "$SESSION_ID" --json',timeout:10,continueOnError:!0}]}],Stop:[{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" session-end --save-state --json',timeout:5,continueOnError:!0}]},{hooks:[{type:"command",command:'node "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/aqe-hook.cjs" post-route --success true --json',timeout:5,continueOnError:!0}]}]},u=s.hooks||{};s.hooks=O(u,o);let l=s.env;s.env=x(l,j(e));let d=L(e,t);$(s,d);let a=s.enabledMcpjsonServers||[];return a=a.filter(m=>m!=="aqe"),a.includes("agentic-qe")||a.push("agentic-qe"),s.enabledMcpjsonServers=a,D(n),b(n,JSON.stringify(s,null,2),"utf-8"),await le(t),!0}async function le(t){let e=p(t,".claude","hooks");y(e)||F(e,{recursive:!0});let r=p(e,"cross-phase-memory.yaml");if(y(r))return;let n=[p(ie(import.meta.url.replace("file://","")),"..","..","assets","hooks","cross-phase-memory.yaml"),p(process.cwd(),"assets","hooks","cross-phase-memory.yaml"),p(process.cwd(),"v3","assets","hooks","cross-phase-memory.yaml")];for(let o of n)try{if(y(o)){oe(o,r),console.log(" \u2713 Cross-phase memory hooks installed");return}}catch{}b(r,`# Cross-Phase Memory Hooks Configuration
3
3
  # Generated by aqe init
4
4
  # See: https://github.com/anthropics/agentic-qe/docs/cross-phase-memory.md
5
5
 
@@ -276,7 +276,7 @@ aqe init --auto
276
276
  `).run("aqe_version",JSON.stringify(e),o),s.prepare(`
277
277
  INSERT OR REPLACE INTO kv_store (key, namespace, value, created_at)
278
278
  VALUES (?, '_system', ?, ?)
279
- `).run("init_timestamp",JSON.stringify(new Date().toISOString()),o),s.close(),console.log(` \u2713 Version ${e} written to memory.db`),!0}catch(o){return s.close(),console.warn(` \u26A0 Could not write version: ${f(o)}`),!1}}catch(n){return console.warn(` \u26A0 Could not open memory.db: ${f(n)}`),!1}}async function B(t){let e=null;try{e=(await import("./better-sqlite3-45JLBQX3.js")).default}catch{throw new Error(`SQLite persistence REQUIRED but better-sqlite3 is not installed.
279
+ `).run("init_timestamp",JSON.stringify(new Date().toISOString()),o),s.close(),console.log(` \u2713 Version ${e} written to memory.db`),!0}catch(o){return s.close(),console.warn(` \u26A0 Could not write version: ${f(o)}`),!1}}catch(n){return console.warn(` \u26A0 Could not open memory.db: ${f(n)}`),!1}}async function B(t){let e=null;try{e=(await import("./better-sqlite3-L2M3TI5D.js")).default}catch{throw new Error(`SQLite persistence REQUIRED but better-sqlite3 is not installed.
280
280
  Install it with: npm install better-sqlite3
281
281
  If you see native compilation errors, ensure build tools are installed:
282
282
  - macOS: xcode-select --install
@@ -302,7 +302,7 @@ Database path: ${n}
302
302
  Ensure the directory is writable and has sufficient disk space.`)}}async function H(t){let e=i(t,".agentic-qe","memory.db");if(!h(e))return!1;try{let r=_(e),n=r.prepare(`
303
303
  SELECT COUNT(*) as count FROM kv_store
304
304
  WHERE namespace = 'code-intelligence:kg'
305
- `).get();return r.close(),n.count>0}catch{return!1}}async function X(t){try{let{KnowledgeGraphService:e}=await import("./knowledge-graph-TWMB2GH2.js"),{InMemoryBackend:r}=await import("./memory-backend-X5BE2MPK.js"),n=new r;await n.initialize();let s=new e(n,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0}),{glob:o}=await import("tinyglobby"),u=await o(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:t,ignore:["node_modules/**","dist/**","coverage/**",".agentic-qe/**"],expandDirectories:!1}),l=await s.index({paths:u.map(d=>i(t,d)),incremental:!1,includeTests:!0});return s.destroy(),l.success?{status:"indexed",entries:l.value.nodesCreated+l.value.edgesCreated}:{status:"error",entries:0}}catch(e){return console.warn("Code intelligence scan warning:",f(e)),{status:"skipped",entries:0}}}async function K(t){let e=i(t,".agentic-qe","memory.db");try{let r=_(e),n=r.prepare(`
305
+ `).get();return r.close(),n.count>0}catch{return!1}}async function X(t){try{let{KnowledgeGraphService:e}=await import("./knowledge-graph-2ICXFUUV.js"),{InMemoryBackend:r}=await import("./memory-backend-UFBAYPQ6.js"),n=new r;await n.initialize();let s=new e(n,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0}),{glob:o}=await import("tinyglobby"),u=await o(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:t,ignore:["node_modules/**","dist/**","coverage/**",".agentic-qe/**"],expandDirectories:!1}),l=await s.index({paths:u.map(d=>i(t,d)),incremental:!1,includeTests:!0});return s.destroy(),l.success?{status:"indexed",entries:l.value.nodesCreated+l.value.edgesCreated}:{status:"error",entries:0}}catch(e){return console.warn("Code intelligence scan warning:",f(e)),{status:"skipped",entries:0}}}async function K(t){let e=i(t,".agentic-qe","memory.db");try{let r=_(e),n=r.prepare(`
306
306
  SELECT COUNT(*) as count FROM kv_store
307
307
  WHERE namespace LIKE 'code-intelligence:kg%'
308
308
  `).get();return r.close(),n.count}catch{return 0}}async function Y(t,e,r){if(!e.learning.enabled)return 0;let n=i(t,".agentic-qe","data");h(n)||k(n,{recursive:!0});let s=i(n,"hnsw");h(s)||k(s,{recursive:!0});let o=i(n,"learning-config.json"),u={embeddingModel:e.learning.embeddingModel,hnswConfig:e.learning.hnswConfig,qualityThreshold:e.learning.qualityThreshold,promotionThreshold:e.learning.promotionThreshold,databasePath:i(n,"memory.db"),hnswIndexPath:i(s,"index.bin"),initialized:new Date().toISOString()};E(o,JSON.stringify(u,null,2),"utf-8");let l=0;if(e.learning.pretrainedPatterns&&r){let d=r,a=new Map;for(let g of d.patterns){let c=g.domain||"general";a.has(c)||a.set(c,[]),a.get(c).push(g)}let m=i(n,"pretrained-index.json"),S={version:d.version,totalPatterns:d.statistics.totalPatterns,domains:Array.from(a.entries()).map(([g,c])=>({name:g,patternCount:c.length})),loadedAt:new Date().toISOString()};E(m,JSON.stringify(S,null,2),"utf-8");for(let[g,c]of a){let w=i(n,"patterns",g);h(w)||k(w,{recursive:!0});let se=i(w,"patterns.json");E(se,JSON.stringify(c,null,2),"utf-8"),l+=c.length}return l}return 0}async function Z(t,e){if(!e.workers.daemonAutoStart||e.workers.enabled.length===0)return 0;let r=i(t,".agentic-qe","workers");h(r)||k(r,{recursive:!0});let n={},s={"pattern-consolidator":6e4,"coverage-gap-scanner":3e5,"flaky-test-detector":6e5,"routing-accuracy-monitor":12e4};for(let a of e.workers.enabled)n[a]={name:a,enabled:!0,interval:e.workers.intervals[a]||s[a]||6e4,lastRun:null,status:"pending"};let o=i(r,"registry.json"),u={version:e.version,maxConcurrent:e.workers.maxConcurrent,workers:n,createdAt:new Date().toISOString(),daemonPid:null};E(o,JSON.stringify(u,null,2),"utf-8");for(let a of e.workers.enabled){let m=i(r,`${a}.json`),S={name:a,enabled:!0,interval:e.workers.intervals[a]||s[a]||6e4,projectRoot:t,dataDir:i(t,".agentic-qe","data"),createdAt:new Date().toISOString()};E(m,JSON.stringify(S,null,2),"utf-8")}let l=i(r,"start-daemon.cjs");return E(l,`#!/usr/bin/env node
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{a as c}from"./chunk-IHKRKRAV.js";function e(i){return{...i,performanceScore:.7,tasksCompleted:0,successRate:0,avgDurationMs:0}}var u=[e({id:"v3-qe-tdd-specialist",name:"V3 QE TDD Specialist",description:"V3 QE TDD specialist covering RED, GREEN, REFACTOR phases with comprehensive test-driven development support",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test","test-quality"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"complex"},tags:["v3","tdd","red-green-refactor"]}),e({id:"v3-qe-test-architect",name:"V3 QE Test Architect",description:"V3 QE Test Architect for AI-powered test generation strategy, test pyramid design, and cross-framework test orchestration",domains:["test-generation"],capabilities:["test-generation","test-orchestration","unit-test","integration-test","e2e-test"],languages:["typescript","javascript","python","java","go"],frameworks:["jest","vitest","pytest","junit5","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","architect","strategy"]}),e({id:"v3-qe-parallel-executor",name:"V3 QE Parallel Executor",description:"V3 QE Parallel test executor with intelligent sharding, worker pool management, retry logic, and real-time reporting",domains:["test-execution"],capabilities:["test-orchestration","retry","flaky-detection"],languages:["typescript","javascript","python","java","go"],frameworks:["jest","vitest","pytest","junit5","go-test","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","parallel","retry","sharding"]}),e({id:"v3-qe-flaky-hunter",name:"V3 QE Flaky Hunter",description:"V3 QE Flaky test detection and stabilization through pattern recognition, auto-remediation, and retry orchestration",domains:["test-execution"],capabilities:["flaky-detection","test-stability","retry"],frameworks:["jest","vitest","pytest","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","flaky","stability","remediation"]}),e({id:"v3-qe-retry-handler",name:"V3 QE Retry Handler",description:"V3 QE Intelligent retry handler with adaptive backoff, circuit breakers, and failure classification",domains:["test-execution"],capabilities:["retry","test-stability"],frameworks:["jest","vitest","pytest","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","retry","adaptive-backoff"]}),e({id:"v3-qe-coverage-specialist",name:"V3 QE Coverage Specialist",description:"V3 QE Coverage Specialist for O(log n) sublinear coverage analysis, risk-weighted gap detection, and intelligent test prioritization",domains:["coverage-analysis"],capabilities:["coverage-analysis","gap-detection","sublinear-analysis","risk-scoring","branch-coverage"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sublinear","prioritization"]}),e({id:"v3-qe-gap-detector",name:"V3 QE Gap Detector",description:"V3 QE Coverage gap detection with sublinear algorithms (O(log n) analysis), risk scoring, and intelligent test recommendations",domains:["coverage-analysis"],capabilities:["coverage-analysis","gap-detection","sublinear-analysis","risk-scoring"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sublinear","gap-detection"]}),e({id:"v3-qe-quality-gate",name:"V3 QE Quality Gate",description:"V3 QE Quality gate enforcement with risk assessment, policy validation, and deployment readiness evaluation",domains:["quality-assessment"],capabilities:["quality-gate","deployment-readiness","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","gate","deployment","policy"]}),e({id:"v3-qe-deployment-advisor",name:"V3 QE Deployment Advisor",description:"V3 QE Aggregates quality signals for deployment risk assessment and go/no-go decisions with predictive analytics",domains:["quality-assessment"],capabilities:["deployment-readiness","quality-gate","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","deployment","go-no-go","analytics"]}),e({id:"v3-qe-code-complexity",name:"V3 QE Code Complexity",description:"V3 QE AI-powered code complexity analysis with refactoring recommendations and technical debt tracking",domains:["quality-assessment"],capabilities:["quality-gate","risk-scoring"],languages:["typescript","javascript","python","java","go"],complexity:{min:"simple",max:"complex"},tags:["v3","complexity","refactoring","debt"]}),e({id:"v3-qe-qx-partner",name:"V3 QE QX Partner",description:"V3 QE Quality Experience (QX) analysis combining QA advocacy and UX perspectives to co-create quality for all stakeholders",domains:["quality-assessment"],capabilities:["quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","qx","ux","advocacy"]}),e({id:"v3-qe-security-scanner",name:"V3 QE Security Scanner",description:"V3 QE Security scanning with SAST/DAST, vulnerability detection, OWASP compliance, and threat modeling",domains:["security-compliance"],capabilities:["sast","dast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sast","dast","owasp"]}),e({id:"v3-qe-security-auditor",name:"V3 QE Security Auditor",description:"V3 QE Security audits for vulnerabilities, compliance validation, and security best practices enforcement",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","audit","compliance"]}),e({id:"v3-qe-contract-validator",name:"V3 QE Contract Validator",description:"V3 QE API contract validation, breaking change detection, and backward compatibility with consumer-driven contract testing",domains:["contract-testing"],capabilities:["api-testing","contract-testing","pact","openapi"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","contract","api","pact"]}),e({id:"v3-qe-integration-tester",name:"V3 QE Integration Tester",description:"V3 QE Validates component interactions and system integration with comprehensive test scenarios",domains:["contract-testing"],capabilities:["integration-test","api-testing","contract-testing"],languages:["typescript","javascript","python","java"],frameworks:["jest","vitest","pytest","junit5"],complexity:{min:"medium",max:"complex"},tags:["v3","integration","component"]}),e({id:"v3-qe-graphql-tester",name:"V3 QE GraphQL Tester",description:"V3 QE GraphQL API testing with schema validation, query/mutation testing, and security analysis",domains:["contract-testing"],capabilities:["api-testing","contract-testing","graphql"],languages:["typescript","javascript","python"],complexity:{min:"medium",max:"complex"},tags:["v3","graphql","api"]}),e({id:"v3-qe-visual-tester",name:"V3 QE Visual Tester",description:"V3 QE Visual regression testing with AI-powered screenshot comparison and accessibility validation",domains:["visual-accessibility"],capabilities:["visual-regression","screenshot","percy","chromatic","wcag","aria"],frameworks:["playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","visual","regression","screenshots"]}),e({id:"v3-qe-accessibility-auditor",name:"V3 QE Accessibility Auditor",description:"V3 QE Accessibility testing with WCAG 2.2 compliance, screen reader validation, and copy-paste ready fixes",domains:["visual-accessibility"],capabilities:["wcag","aria","screen-reader","contrast"],frameworks:["playwright","cypress"],complexity:{min:"simple",max:"complex"},tags:["v3","wcag","a11y","accessibility"]}),e({id:"v3-qe-responsive-tester",name:"V3 QE Responsive Tester",description:"V3 QE Responsive design testing across viewports, devices, and breakpoints with layout regression detection",domains:["visual-accessibility"],capabilities:["visual-regression"],frameworks:["playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","responsive","viewport","breakpoints"]}),e({id:"v3-qe-performance-tester",name:"V3 QE Performance Tester",description:"V3 QE Performance testing with load orchestration, bottleneck detection, and SLA validation",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery","benchmark"],complexity:{min:"medium",max:"complex"},tags:["v3","load","stress","performance"]}),e({id:"v3-qe-load-tester",name:"V3 QE Load Tester",description:"V3 QE Load and stress testing with execution time analysis, rate limit testing, and bottleneck detection",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery"],complexity:{min:"medium",max:"complex"},tags:["v3","load","stress","k6"]}),e({id:"v3-qe-chaos-engineer",name:"V3 QE Chaos Engineer",description:"V3 QE Resilience testing with controlled fault injection, blast radius management, and recovery validation",domains:["chaos-resilience"],capabilities:["chaos-testing","resilience","fault-injection"],complexity:{min:"complex",max:"complex"},tags:["v3","chaos","fault-injection","resilience"]}),e({id:"v3-qe-code-intelligence",name:"V3 QE Code Intelligence",description:"V3 QE Knowledge graph-based code understanding with semantic search and AST analysis",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","knowledge-graph","ast","semantic"]}),e({id:"v3-qe-dependency-mapper",name:"V3 QE Dependency Mapper",description:"V3 QE Dependency graph analysis with coupling metrics and security advisories",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","dependency","graph"]}),e({id:"v3-qe-kg-builder",name:"V3 QE Knowledge Graph Builder",description:"V3 QE Knowledge graph construction with entity extraction and relationship inference",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python"],complexity:{min:"complex",max:"complex"},tags:["v3","knowledge-graph","entity-extraction"]}),e({id:"v3-qe-integration-architect",name:"V3 QE Integration Architect",description:"V3 QE deep agentic-flow integration specialist implementing ADR-001 for duplicate elimination and extension architecture",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection","quality-gate"],languages:["typescript","javascript"],complexity:{min:"complex",max:"complex"},tags:["v3","integration","adr-001","architecture"]}),e({id:"v3-qe-requirements-validator",name:"V3 QE Requirements Validator",description:"V3 QE Validates requirements testability and generates BDD scenarios with testability scoring",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["v3","requirements","bdd","testability"]}),e({id:"v3-qe-bdd-generator",name:"V3 QE BDD Generator",description:"V3 QE BDD scenario generation with Gherkin syntax, example discovery, and step definition mapping",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["v3","bdd","gherkin","cucumber"]}),e({id:"v3-qe-product-factors-assessor",name:"V3 QE Product Factors Assessor",description:"V3 QE SFDIPOT product factors analysis using James Bach's HTSM framework for comprehensive test strategy generation with prioritized test ideas (P0-P3) and automation fitness recommendations",domains:["requirements-validation"],capabilities:["bdd","test-generation","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","sfdipot","htsm","product-factors","james-bach"]}),e({id:"v3-qe-test-idea-rewriter",name:"V3 QE Test Idea Rewriter",description:'V3 QE Transform passive "Verify X" test descriptions into active, observable test actions using action verbs for clearer, more testable descriptions',domains:["test-generation"],capabilities:["test-generation","test-quality"],complexity:{min:"simple",max:"medium"},tags:["v3","test-ideas","rewriting","action-verbs","quality"]}),e({id:"v3-qe-quality-criteria-recommender",name:"V3 QE Quality Criteria Recommender",description:"V3 QE HTSM v6.3 Quality Criteria analysis for shift-left quality engineering during PI/Sprint Planning with evidence-based recommendations",domains:["requirements-validation"],capabilities:["bdd","test-generation","quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","htsm","quality-criteria","shift-left","qcsd"]}),e({id:"v3-qe-defect-predictor",name:"V3 QE Defect Predictor",description:"V3 QE AI-powered defect prediction using historical data and code metrics",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java"],complexity:{min:"complex",max:"complex"},tags:["v3","defect","prediction","ml"]}),e({id:"v3-qe-root-cause-analyzer",name:"V3 QE Root Cause Analyzer",description:"V3 QE Systematic root cause analysis for test failures with prevention recommendations",domains:["defect-intelligence"],capabilities:["risk-scoring"],complexity:{min:"complex",max:"complex"},tags:["v3","root-cause","failure-analysis"]}),e({id:"v3-qe-regression-analyzer",name:"V3 QE Regression Analyzer",description:"V3 QE Analyzes code changes to predict regression risk and intelligently select minimal test suites",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","regression","risk","selection"]}),e({id:"v3-qe-impact-analyzer",name:"V3 QE Impact Analyzer",description:"V3 QE Change impact analysis with blast radius calculation and test selection",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","impact","blast-radius"]}),e({id:"v3-qe-risk-assessor",name:"V3 QE Risk Assessor",description:"V3 QE Quality risk assessment with multi-factor scoring and mitigation recommendations",domains:["defect-intelligence"],capabilities:["risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","risk","assessment"]}),e({id:"v3-qe-learning-coordinator",name:"V3 QE Learning Coordinator",description:"V3 QE Fleet-wide learning coordination with pattern recognition and knowledge synthesis",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","learning","coordination","patterns"]}),e({id:"v3-qe-pattern-learner",name:"V3 QE Pattern Learner",description:"V3 QE Pattern discovery and learning from QE activities for test generation and defect prediction",domains:["learning-optimization"],capabilities:["test-generation","risk-scoring"],complexity:{min:"complex",max:"complex"},tags:["v3","pattern","learning","ml"]}),e({id:"v3-qe-transfer-specialist",name:"V3 QE Transfer Specialist",description:"V3 QE Knowledge transfer learning with domain adaptation and knowledge distillation",domains:["learning-optimization"],capabilities:["test-generation"],complexity:{min:"complex",max:"complex"},tags:["v3","transfer","learning","adaptation"]}),e({id:"v3-qe-metrics-optimizer",name:"V3 QE Metrics Optimizer",description:"V3 QE Learning metrics optimization with hyperparameter tuning and A/B testing",domains:["learning-optimization"],capabilities:["quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","metrics","optimization","tuning"]}),e({id:"v3-qe-fleet-commander",name:"V3 QE Fleet Commander",description:"V3 QE Hierarchical fleet coordinator for 50+ agent orchestration with dynamic topology management and resource optimization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","fleet","orchestration","coordination"]}),e({id:"v3-qe-queen-coordinator",name:"V3 QE Queen Coordinator",description:"V3 QE Queen Coordinator for multi-agent concurrent swarm orchestration, quality engineering workflows, and cross-agent coordination",domains:["learning-optimization"],capabilities:["test-orchestration","quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","queen","swarm"]}),e({id:"v3-qe-property-tester",name:"V3 QE Property Tester",description:"V3 QE Property-based testing with fast-check for edge case discovery through randomized input generation",domains:["test-generation"],capabilities:["test-generation","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","mocha"],complexity:{min:"medium",max:"complex"},tags:["v3","property","pbt","edge-cases"]}),e({id:"v3-qe-mutation-tester",name:"V3 QE Mutation Tester",description:"V3 QE Mutation testing for test suite effectiveness evaluation with mutation score analysis",domains:["test-generation"],capabilities:["test-quality","coverage-analysis"],languages:["typescript","javascript","python"],frameworks:["jest","vitest"],complexity:{min:"medium",max:"complex"},tags:["v3","mutation","test-quality"]})],y=[e({id:"v3-qe-tdd-red",name:"V3 QE TDD RED Phase",description:"V3 QE TDD RED phase specialist - writes failing tests that define expected behavior before implementation",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"medium"},tags:["v3","tdd","red-phase","subagent"]}),e({id:"v3-qe-tdd-green",name:"V3 QE TDD GREEN Phase",description:"V3 QE TDD GREEN phase specialist - implements minimal code to make failing tests pass",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"medium"},tags:["v3","tdd","green-phase","subagent"]}),e({id:"v3-qe-tdd-refactor",name:"V3 QE TDD REFACTOR Phase",description:"V3 QE TDD REFACTOR phase specialist - improves code quality while keeping all tests passing",domains:["test-generation"],capabilities:["test-generation","tdd","test-quality"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"medium",max:"complex"},tags:["v3","tdd","refactor-phase","subagent"]}),e({id:"v3-qe-code-reviewer",name:"V3 QE Code Reviewer",description:"V3 QE Code review specialist enforcing quality standards, linting, complexity, and security",domains:["quality-assessment"],capabilities:["quality-gate","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"simple",max:"complex"},tags:["v3","code-review","standards","subagent"]}),e({id:"v3-qe-integration-reviewer",name:"V3 QE Integration Reviewer",description:"V3 QE Integration review specialist for API compatibility and cross-service interactions",domains:["contract-testing"],capabilities:["integration-test","api-testing"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","integration","review","subagent"]}),e({id:"v3-qe-performance-reviewer",name:"V3 QE Performance Reviewer",description:"V3 QE Performance review specialist for algorithmic complexity and resource usage",domains:["chaos-resilience"],capabilities:["load-testing","benchmark"],languages:["typescript","javascript","python","go"],complexity:{min:"medium",max:"complex"},tags:["v3","performance","review","subagent"]}),e({id:"v3-qe-security-reviewer",name:"V3 QE Security Reviewer",description:"V3 QE Security review specialist for vulnerability detection and secure coding practices",domains:["security-compliance"],capabilities:["sast","vulnerability","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","security","review","subagent"]})],v=[e({id:"n8n-base-agent",name:"n8n Base Agent",description:"Abstract base agent for n8n workflow automation testing - provides common utilities for all n8n testing agents",domains:["test-generation"],capabilities:["test-generation","test-orchestration"],complexity:{min:"simple",max:"simple"},tags:["n8n","base","workflow"]}),e({id:"n8n-workflow-executor",name:"n8n Workflow Executor",description:"Execute and validate n8n workflows programmatically with test data injection, output assertions, and data flow validation",domains:["test-execution"],capabilities:["test-orchestration","integration-test"],complexity:{min:"medium",max:"complex"},tags:["n8n","execution","validation"]}),e({id:"n8n-unit-tester",name:"n8n Unit Tester",description:"Unit test custom n8n node functions with Jest/Vitest integration, function isolation, mock data injection, and coverage reporting",domains:["test-generation"],capabilities:["unit-test","test-generation"],frameworks:["jest","vitest"],complexity:{min:"simple",max:"medium"},tags:["n8n","unit","isolation"]}),e({id:"n8n-integration-test",name:"n8n Integration Tester",description:"Test n8n node integrations with external services including API contract validation, authentication flows, rate limiting, and error handling",domains:["contract-testing"],capabilities:["integration-test","api-testing","contract-testing"],complexity:{min:"medium",max:"complex"},tags:["n8n","integration","api"]}),e({id:"n8n-trigger-test",name:"n8n Trigger Tester",description:"Test n8n workflow triggers including webhooks, schedules, polling triggers, and event-driven activation",domains:["test-execution"],capabilities:["integration-test","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","triggers","webhooks"]}),e({id:"n8n-node-validator",name:"n8n Node Validator",description:"Validate n8n node configurations, connections, data mappings, and conditional routing logic",domains:["contract-testing"],capabilities:["contract-testing","test-generation"],complexity:{min:"simple",max:"medium"},tags:["n8n","validation","nodes"]}),e({id:"n8n-performance-tester",name:"n8n Performance Tester",description:"Load and stress testing for n8n workflows using k6/Artillery with execution time analysis, rate limit testing, and bottleneck detection",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery","benchmark"],complexity:{min:"medium",max:"complex"},tags:["n8n","performance","load"]}),e({id:"n8n-security-auditor",name:"n8n Security Auditor",description:"Security vulnerability scanning for n8n workflows including credential exposure, injection risks, OWASP compliance, and secret detection",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],complexity:{min:"medium",max:"complex"},tags:["n8n","security","owasp"]}),e({id:"n8n-compliance-validator",name:"n8n Compliance Validator",description:"Regulatory compliance testing for n8n workflows including GDPR, CCPA, HIPAA, SOC2, and PCI-DSS validation",domains:["security-compliance"],capabilities:["security-scanning"],complexity:{min:"medium",max:"complex"},tags:["n8n","compliance","gdpr"]}),e({id:"n8n-bdd-scenario-tester",name:"n8n BDD Scenario Tester",description:"BDD/Gherkin scenario testing for n8n workflows with Cucumber integration, business requirement mapping, and stakeholder-friendly reports",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","bdd","gherkin"]}),e({id:"n8n-expression-validator",name:"n8n Expression Validator",description:"Validate n8n expressions and data transformations with syntax checking, context-aware testing, and security analysis",domains:["code-intelligence"],capabilities:["test-generation","security-scanning"],complexity:{min:"simple",max:"medium"},tags:["n8n","expressions","validation"]}),e({id:"n8n-version-comparator",name:"n8n Version Comparator",description:"Workflow version diff and regression detection with JSON comparison, change impact analysis, migration validation, and rollback testing",domains:["defect-intelligence"],capabilities:["risk-scoring","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","version","diff"]}),e({id:"n8n-chaos-tester",name:"n8n Chaos Tester",description:"Chaos engineering for n8n workflows with controlled fault injection, service failure simulation, recovery validation, and resilience testing",domains:["chaos-resilience"],capabilities:["chaos-testing","resilience","fault-injection"],complexity:{min:"complex",max:"complex"},tags:["n8n","chaos","resilience"]}),e({id:"n8n-ci-orchestrator",name:"n8n CI Orchestrator",description:"CI/CD pipeline integration for n8n workflows with REST API triggers, automated regression testing, GitHub Actions/Jenkins integration, and test scheduling",domains:["test-execution"],capabilities:["test-orchestration","integration-test"],complexity:{min:"medium",max:"complex"},tags:["n8n","ci","cd"]}),e({id:"n8n-monitoring-validator",name:"n8n Monitoring Validator",description:"Validate monitoring and alerting configurations for n8n workflows including error tracking, alert rules, SLA compliance, and observability checks",domains:["quality-assessment"],capabilities:["quality-gate","deployment-readiness"],complexity:{min:"medium",max:"complex"},tags:["n8n","monitoring","alerting"]})],x=[e({id:"tester",name:"Tester",description:"Comprehensive testing and quality assurance specialist with AI-powered test generation",domains:["test-generation","test-execution"],capabilities:["test-generation","unit-test","integration-test","e2e-test"],languages:["typescript","javascript","python","java","go","rust"],frameworks:["jest","vitest","mocha","pytest","junit5","go-test","rust-test","playwright","cypress"],complexity:{min:"simple",max:"complex"},tags:["general","versatile"]}),e({id:"reviewer",name:"Reviewer",description:"Code review and quality assurance specialist with AI-powered pattern detection",domains:["quality-assessment"],capabilities:["quality-gate","security-scanning"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"simple",max:"complex"},tags:["general","code-review"]}),e({id:"security-auditor",name:"Security Auditor",description:"Advanced security auditor with self-learning vulnerability detection, CVE database search, and compliance auditing",domains:["security-compliance"],capabilities:["sast","dast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"medium",max:"complex"},tags:["security","cve","compliance"]}),e({id:"security-architect",name:"Security Architect",description:"V3 Security Architecture specialist with ReasoningBank learning, HNSW threat pattern search, and zero-trust design capabilities",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"complex",max:"complex"},tags:["architecture","zero-trust"]}),e({id:"performance-engineer",name:"Performance Engineer",description:"V3 Performance Engineering Agent specialized in Flash Attention optimization, WASM SIMD acceleration, and comprehensive performance profiling",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","benchmark"],languages:["typescript","javascript","python","go","rust"],complexity:{min:"medium",max:"complex"},tags:["performance","optimization"]}),e({id:"code-analyzer",name:"Code Analyzer",description:"Advanced code quality analysis agent for comprehensive code reviews and improvements",domains:["code-intelligence","quality-assessment"],capabilities:["coverage-analysis","gap-detection","quality-gate"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"simple",max:"complex"},tags:["analysis","quality"]}),e({id:"cicd-engineer",name:"CI/CD Engineer",description:"Specialized agent for GitHub Actions CI/CD pipeline creation and optimization",domains:["test-execution"],capabilities:["test-orchestration","deployment-readiness"],complexity:{min:"medium",max:"complex"},tags:["cicd","github-actions"]})],h=[e({id:"reasoningbank-learner",name:"ReasoningBank Learner",description:"V3 ReasoningBank integration specialist for trajectory tracking, verdict judgment, pattern distillation, and experience replay using HNSW-indexed memory",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","reasoningbank","learning"]}),e({id:"adr-architect",name:"ADR Architect",description:"V3 Architecture Decision Record specialist that documents, tracks, and enforces architectural decisions with ReasoningBank integration for pattern learning",domains:["learning-optimization"],capabilities:["quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","adr","architecture"]}),e({id:"ddd-domain-expert",name:"DDD Domain Expert",description:"V3 Domain-Driven Design specialist for bounded context identification, aggregate design, domain modeling, and ubiquitous language enforcement",domains:["code-intelligence"],capabilities:["quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","ddd","domain"]}),e({id:"v3-integration-architect",name:"V3 Integration Architect",description:"V3 deep agentic-flow integration specialist implementing ADR-001 for eliminating duplicate code and building claude-flow as a specialized extension",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","integration","agentic-flow"]}),e({id:"memory-specialist",name:"Memory Specialist",description:"V3 memory optimization specialist with HNSW indexing, hybrid backend management, vector quantization, and EWC++ for preventing catastrophic forgetting",domains:["learning-optimization"],capabilities:["sublinear-analysis"],complexity:{min:"complex",max:"complex"},tags:["v3","memory","hnsw"]}),e({id:"claims-authorizer",name:"Claims Authorizer",description:"V3 Claims-based authorization specialist implementing ADR-010 for fine-grained access control across swarm agents and MCP tools",domains:["security-compliance"],capabilities:["security-scanning"],complexity:{min:"medium",max:"complex"},tags:["v3","claims","authorization"]}),e({id:"sparc-orchestrator",name:"SPARC Orchestrator",description:"V3 SPARC methodology orchestrator that coordinates Specification, Pseudocode, Architecture, Refinement, and Completion phases with ReasoningBank learning",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","sparc","methodology"]}),e({id:"sona-learning-optimizer",name:"SONA Learning Optimizer",description:"V3 SONA-powered self-optimizing agent using claude-flow neural tools for adaptive learning, pattern discovery, and continuous quality improvement with sub-millisecond overhead",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","sona","self-learning"]}),e({id:"safla-neural",name:"SAFLA Neural",description:"Self-Aware Feedback Loop Algorithm (SAFLA) neural specialist that creates intelligent, memory-persistent AI systems with self-learning capabilities",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","safla","neural"]}),e({id:"production-validator",name:"Production Validator",description:"Production validation specialist ensuring applications are fully implemented and deployment-ready",domains:["quality-assessment"],capabilities:["deployment-readiness","quality-gate"],complexity:{min:"medium",max:"complex"},tags:["production","validation"]}),e({id:"tdd-london-swarm",name:"TDD London Swarm",description:"TDD London School specialist for mock-driven development within swarm coordination",domains:["test-generation"],capabilities:["tdd","unit-test","test-generation"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"medium",max:"complex"},tags:["tdd","london","mocks"]})],f=[e({id:"queen-coordinator",name:"Queen Coordinator",description:"The sovereign orchestrator of hierarchical hive operations, managing strategic decisions, resource allocation, and maintaining hive coherence",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["queen","hive","orchestration"]}),e({id:"swarm-memory-manager",name:"Swarm Memory Manager",description:"V3 distributed memory manager for cross-agent state synchronization, CRDT replication, and namespace coordination across the swarm",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["swarm","memory","crdt"]}),e({id:"worker-specialist",name:"Worker Specialist",description:"Dedicated task execution specialist that carries out assigned work with precision, continuously reporting progress through memory coordination",domains:["test-execution"],capabilities:["test-orchestration"],complexity:{min:"simple",max:"complex"},tags:["worker","execution"]}),e({id:"collective-intelligence-coordinator",name:"Collective Intelligence Coordinator",description:"Hive-mind collective decision making with Byzantine fault-tolerant consensus, attention-based coordination, and emergent intelligence patterns",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["collective","consensus"]}),e({id:"scout-explorer",name:"Scout Explorer",description:"Information reconnaissance specialist that explores unknown territories, gathers intelligence, and reports findings to the hive mind",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],complexity:{min:"simple",max:"medium"},tags:["scout","exploration"]}),e({id:"adaptive-coordinator",name:"Adaptive Coordinator",description:"Dynamic topology switching coordinator with self-organizing swarm patterns and real-time optimization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["adaptive","topology"]}),e({id:"mesh-coordinator",name:"Mesh Coordinator",description:"Peer-to-peer mesh network swarm with distributed decision making and fault tolerance",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["mesh","p2p"]}),e({id:"hierarchical-coordinator",name:"Hierarchical Coordinator",description:"Queen-led hierarchical swarm coordination with specialized worker delegation",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["hierarchical","delegation"]})],b=[e({id:"consensus-coordinator",name:"Consensus Coordinator",description:"Distributed consensus agent that uses sublinear solvers for fast agreement protocols in multi-agent systems",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["consensus","distributed"]}),e({id:"byzantine-coordinator",name:"Byzantine Coordinator",description:"Coordinates Byzantine fault-tolerant consensus protocols with malicious actor detection",domains:["security-compliance"],capabilities:["resilience","security-scanning"],complexity:{min:"complex",max:"complex"},tags:["byzantine","fault-tolerance"]}),e({id:"raft-manager",name:"Raft Manager",description:"Manages Raft consensus algorithm with leader election and log replication",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["raft","leader-election"]}),e({id:"crdt-synchronizer",name:"CRDT Synchronizer",description:"Implements Conflict-free Replicated Data Types for eventually consistent state synchronization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["crdt","eventual-consistency"]})],m=Object.freeze([...u,...y,...v,...x,...h,...f,...b]);function E(i,t){let a=m.find(n=>n.id===i);if(!a){let n=m.find(o=>o.id.includes(i)||i.includes(o.id));if(!n){console.error(`[AgentRegistry] Agent not found: ${i}`);return}l(n,t);return}l(a,t)}function l(i,t){let a=i.tasksCompleted,n=Math.round(i.successRate*a);i.tasksCompleted++;let o=n+(t.success?1:0);i.successRate=i.tasksCompleted>0?o/i.tasksCompleted:0,a===0?i.avgDurationMs=t.executionTimeMs:i.avgDurationMs=.3*t.executionTimeMs+(1-.3)*i.avgDurationMs;let p=t.qualityScore??(t.success?.7:.3),d=i.successRate,r=.4*p+.6*d;a===0?i.performanceScore=r:i.performanceScore=.2*r+(1-.2)*i.performanceScore,i.performanceScore=Math.max(0,Math.min(1,i.performanceScore)),console.error(`[AgentRegistry] Updated ${i.id}: tasks=${i.tasksCompleted} successRate=${(i.successRate*100).toFixed(1)}% performanceScore=${i.performanceScore.toFixed(3)} avgDurationMs=${i.avgDurationMs.toFixed(0)}`)}var s=new Map;function k(i){s=new Map;let t=c(i);for(let a of t.overlays)a.config&&s.set(a.agent,a.config);if(s.size>0&&console.error(`[AgentRegistry] Loaded overlay configs for ${s.size} agent(s): ${[...s.keys()].join(", ")}`),t.warnings.length>0)for(let a of t.warnings)console.error(`[AgentRegistry] Overlay warning: ${a}`)}function Q(i){return s.get(i)}export{m as a,E as b,k as c,Q as d};
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.15.3");process.exit(0)}
2
+ import{a as c}from"./chunk-BDKQSEEY.js";function e(i){return{...i,performanceScore:.7,tasksCompleted:0,successRate:0,avgDurationMs:0}}var u=[e({id:"v3-qe-tdd-specialist",name:"V3 QE TDD Specialist",description:"V3 QE TDD specialist covering RED, GREEN, REFACTOR phases with comprehensive test-driven development support",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test","test-quality"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"complex"},tags:["v3","tdd","red-green-refactor"]}),e({id:"v3-qe-test-architect",name:"V3 QE Test Architect",description:"V3 QE Test Architect for AI-powered test generation strategy, test pyramid design, and cross-framework test orchestration",domains:["test-generation"],capabilities:["test-generation","test-orchestration","unit-test","integration-test","e2e-test"],languages:["typescript","javascript","python","java","go"],frameworks:["jest","vitest","pytest","junit5","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","architect","strategy"]}),e({id:"v3-qe-parallel-executor",name:"V3 QE Parallel Executor",description:"V3 QE Parallel test executor with intelligent sharding, worker pool management, retry logic, and real-time reporting",domains:["test-execution"],capabilities:["test-orchestration","retry","flaky-detection"],languages:["typescript","javascript","python","java","go"],frameworks:["jest","vitest","pytest","junit5","go-test","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","parallel","retry","sharding"]}),e({id:"v3-qe-flaky-hunter",name:"V3 QE Flaky Hunter",description:"V3 QE Flaky test detection and stabilization through pattern recognition, auto-remediation, and retry orchestration",domains:["test-execution"],capabilities:["flaky-detection","test-stability","retry"],frameworks:["jest","vitest","pytest","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","flaky","stability","remediation"]}),e({id:"v3-qe-retry-handler",name:"V3 QE Retry Handler",description:"V3 QE Intelligent retry handler with adaptive backoff, circuit breakers, and failure classification",domains:["test-execution"],capabilities:["retry","test-stability"],frameworks:["jest","vitest","pytest","playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","retry","adaptive-backoff"]}),e({id:"v3-qe-coverage-specialist",name:"V3 QE Coverage Specialist",description:"V3 QE Coverage Specialist for O(log n) sublinear coverage analysis, risk-weighted gap detection, and intelligent test prioritization",domains:["coverage-analysis"],capabilities:["coverage-analysis","gap-detection","sublinear-analysis","risk-scoring","branch-coverage"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sublinear","prioritization"]}),e({id:"v3-qe-gap-detector",name:"V3 QE Gap Detector",description:"V3 QE Coverage gap detection with sublinear algorithms (O(log n) analysis), risk scoring, and intelligent test recommendations",domains:["coverage-analysis"],capabilities:["coverage-analysis","gap-detection","sublinear-analysis","risk-scoring"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sublinear","gap-detection"]}),e({id:"v3-qe-quality-gate",name:"V3 QE Quality Gate",description:"V3 QE Quality gate enforcement with risk assessment, policy validation, and deployment readiness evaluation",domains:["quality-assessment"],capabilities:["quality-gate","deployment-readiness","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","gate","deployment","policy"]}),e({id:"v3-qe-deployment-advisor",name:"V3 QE Deployment Advisor",description:"V3 QE Aggregates quality signals for deployment risk assessment and go/no-go decisions with predictive analytics",domains:["quality-assessment"],capabilities:["deployment-readiness","quality-gate","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","deployment","go-no-go","analytics"]}),e({id:"v3-qe-code-complexity",name:"V3 QE Code Complexity",description:"V3 QE AI-powered code complexity analysis with refactoring recommendations and technical debt tracking",domains:["quality-assessment"],capabilities:["quality-gate","risk-scoring"],languages:["typescript","javascript","python","java","go"],complexity:{min:"simple",max:"complex"},tags:["v3","complexity","refactoring","debt"]}),e({id:"v3-qe-qx-partner",name:"V3 QE QX Partner",description:"V3 QE Quality Experience (QX) analysis combining QA advocacy and UX perspectives to co-create quality for all stakeholders",domains:["quality-assessment"],capabilities:["quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","qx","ux","advocacy"]}),e({id:"v3-qe-security-scanner",name:"V3 QE Security Scanner",description:"V3 QE Security scanning with SAST/DAST, vulnerability detection, OWASP compliance, and threat modeling",domains:["security-compliance"],capabilities:["sast","dast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","sast","dast","owasp"]}),e({id:"v3-qe-security-auditor",name:"V3 QE Security Auditor",description:"V3 QE Security audits for vulnerabilities, compliance validation, and security best practices enforcement",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","audit","compliance"]}),e({id:"v3-qe-contract-validator",name:"V3 QE Contract Validator",description:"V3 QE API contract validation, breaking change detection, and backward compatibility with consumer-driven contract testing",domains:["contract-testing"],capabilities:["api-testing","contract-testing","pact","openapi"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","contract","api","pact"]}),e({id:"v3-qe-integration-tester",name:"V3 QE Integration Tester",description:"V3 QE Validates component interactions and system integration with comprehensive test scenarios",domains:["contract-testing"],capabilities:["integration-test","api-testing","contract-testing"],languages:["typescript","javascript","python","java"],frameworks:["jest","vitest","pytest","junit5"],complexity:{min:"medium",max:"complex"},tags:["v3","integration","component"]}),e({id:"v3-qe-graphql-tester",name:"V3 QE GraphQL Tester",description:"V3 QE GraphQL API testing with schema validation, query/mutation testing, and security analysis",domains:["contract-testing"],capabilities:["api-testing","contract-testing","graphql"],languages:["typescript","javascript","python"],complexity:{min:"medium",max:"complex"},tags:["v3","graphql","api"]}),e({id:"v3-qe-visual-tester",name:"V3 QE Visual Tester",description:"V3 QE Visual regression testing with AI-powered screenshot comparison and accessibility validation",domains:["visual-accessibility"],capabilities:["visual-regression","screenshot","percy","chromatic","wcag","aria"],frameworks:["playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","visual","regression","screenshots"]}),e({id:"v3-qe-accessibility-auditor",name:"V3 QE Accessibility Auditor",description:"V3 QE Accessibility testing with WCAG 2.2 compliance, screen reader validation, and copy-paste ready fixes",domains:["visual-accessibility"],capabilities:["wcag","aria","screen-reader","contrast"],frameworks:["playwright","cypress"],complexity:{min:"simple",max:"complex"},tags:["v3","wcag","a11y","accessibility"]}),e({id:"v3-qe-responsive-tester",name:"V3 QE Responsive Tester",description:"V3 QE Responsive design testing across viewports, devices, and breakpoints with layout regression detection",domains:["visual-accessibility"],capabilities:["visual-regression"],frameworks:["playwright","cypress"],complexity:{min:"medium",max:"complex"},tags:["v3","responsive","viewport","breakpoints"]}),e({id:"v3-qe-performance-tester",name:"V3 QE Performance Tester",description:"V3 QE Performance testing with load orchestration, bottleneck detection, and SLA validation",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery","benchmark"],complexity:{min:"medium",max:"complex"},tags:["v3","load","stress","performance"]}),e({id:"v3-qe-load-tester",name:"V3 QE Load Tester",description:"V3 QE Load and stress testing with execution time analysis, rate limit testing, and bottleneck detection",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery"],complexity:{min:"medium",max:"complex"},tags:["v3","load","stress","k6"]}),e({id:"v3-qe-chaos-engineer",name:"V3 QE Chaos Engineer",description:"V3 QE Resilience testing with controlled fault injection, blast radius management, and recovery validation",domains:["chaos-resilience"],capabilities:["chaos-testing","resilience","fault-injection"],complexity:{min:"complex",max:"complex"},tags:["v3","chaos","fault-injection","resilience"]}),e({id:"v3-qe-code-intelligence",name:"V3 QE Code Intelligence",description:"V3 QE Knowledge graph-based code understanding with semantic search and AST analysis",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","knowledge-graph","ast","semantic"]}),e({id:"v3-qe-dependency-mapper",name:"V3 QE Dependency Mapper",description:"V3 QE Dependency graph analysis with coupling metrics and security advisories",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","dependency","graph"]}),e({id:"v3-qe-kg-builder",name:"V3 QE Knowledge Graph Builder",description:"V3 QE Knowledge graph construction with entity extraction and relationship inference",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],languages:["typescript","javascript","python"],complexity:{min:"complex",max:"complex"},tags:["v3","knowledge-graph","entity-extraction"]}),e({id:"v3-qe-integration-architect",name:"V3 QE Integration Architect",description:"V3 QE deep agentic-flow integration specialist implementing ADR-001 for duplicate elimination and extension architecture",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection","quality-gate"],languages:["typescript","javascript"],complexity:{min:"complex",max:"complex"},tags:["v3","integration","adr-001","architecture"]}),e({id:"v3-qe-requirements-validator",name:"V3 QE Requirements Validator",description:"V3 QE Validates requirements testability and generates BDD scenarios with testability scoring",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["v3","requirements","bdd","testability"]}),e({id:"v3-qe-bdd-generator",name:"V3 QE BDD Generator",description:"V3 QE BDD scenario generation with Gherkin syntax, example discovery, and step definition mapping",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["v3","bdd","gherkin","cucumber"]}),e({id:"v3-qe-product-factors-assessor",name:"V3 QE Product Factors Assessor",description:"V3 QE SFDIPOT product factors analysis using James Bach's HTSM framework for comprehensive test strategy generation with prioritized test ideas (P0-P3) and automation fitness recommendations",domains:["requirements-validation"],capabilities:["bdd","test-generation","risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","sfdipot","htsm","product-factors","james-bach"]}),e({id:"v3-qe-test-idea-rewriter",name:"V3 QE Test Idea Rewriter",description:'V3 QE Transform passive "Verify X" test descriptions into active, observable test actions using action verbs for clearer, more testable descriptions',domains:["test-generation"],capabilities:["test-generation","test-quality"],complexity:{min:"simple",max:"medium"},tags:["v3","test-ideas","rewriting","action-verbs","quality"]}),e({id:"v3-qe-quality-criteria-recommender",name:"V3 QE Quality Criteria Recommender",description:"V3 QE HTSM v6.3 Quality Criteria analysis for shift-left quality engineering during PI/Sprint Planning with evidence-based recommendations",domains:["requirements-validation"],capabilities:["bdd","test-generation","quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","htsm","quality-criteria","shift-left","qcsd"]}),e({id:"v3-qe-defect-predictor",name:"V3 QE Defect Predictor",description:"V3 QE AI-powered defect prediction using historical data and code metrics",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java"],complexity:{min:"complex",max:"complex"},tags:["v3","defect","prediction","ml"]}),e({id:"v3-qe-root-cause-analyzer",name:"V3 QE Root Cause Analyzer",description:"V3 QE Systematic root cause analysis for test failures with prevention recommendations",domains:["defect-intelligence"],capabilities:["risk-scoring"],complexity:{min:"complex",max:"complex"},tags:["v3","root-cause","failure-analysis"]}),e({id:"v3-qe-regression-analyzer",name:"V3 QE Regression Analyzer",description:"V3 QE Analyzes code changes to predict regression risk and intelligently select minimal test suites",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","regression","risk","selection"]}),e({id:"v3-qe-impact-analyzer",name:"V3 QE Impact Analyzer",description:"V3 QE Change impact analysis with blast radius calculation and test selection",domains:["defect-intelligence"],capabilities:["risk-scoring","coverage-analysis"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","impact","blast-radius"]}),e({id:"v3-qe-risk-assessor",name:"V3 QE Risk Assessor",description:"V3 QE Quality risk assessment with multi-factor scoring and mitigation recommendations",domains:["defect-intelligence"],capabilities:["risk-scoring"],complexity:{min:"medium",max:"complex"},tags:["v3","risk","assessment"]}),e({id:"v3-qe-learning-coordinator",name:"V3 QE Learning Coordinator",description:"V3 QE Fleet-wide learning coordination with pattern recognition and knowledge synthesis",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","learning","coordination","patterns"]}),e({id:"v3-qe-pattern-learner",name:"V3 QE Pattern Learner",description:"V3 QE Pattern discovery and learning from QE activities for test generation and defect prediction",domains:["learning-optimization"],capabilities:["test-generation","risk-scoring"],complexity:{min:"complex",max:"complex"},tags:["v3","pattern","learning","ml"]}),e({id:"v3-qe-transfer-specialist",name:"V3 QE Transfer Specialist",description:"V3 QE Knowledge transfer learning with domain adaptation and knowledge distillation",domains:["learning-optimization"],capabilities:["test-generation"],complexity:{min:"complex",max:"complex"},tags:["v3","transfer","learning","adaptation"]}),e({id:"v3-qe-metrics-optimizer",name:"V3 QE Metrics Optimizer",description:"V3 QE Learning metrics optimization with hyperparameter tuning and A/B testing",domains:["learning-optimization"],capabilities:["quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","metrics","optimization","tuning"]}),e({id:"v3-qe-fleet-commander",name:"V3 QE Fleet Commander",description:"V3 QE Hierarchical fleet coordinator for 50+ agent orchestration with dynamic topology management and resource optimization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","fleet","orchestration","coordination"]}),e({id:"v3-qe-queen-coordinator",name:"V3 QE Queen Coordinator",description:"V3 QE Queen Coordinator for multi-agent concurrent swarm orchestration, quality engineering workflows, and cross-agent coordination",domains:["learning-optimization"],capabilities:["test-orchestration","quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","queen","swarm"]}),e({id:"v3-qe-property-tester",name:"V3 QE Property Tester",description:"V3 QE Property-based testing with fast-check for edge case discovery through randomized input generation",domains:["test-generation"],capabilities:["test-generation","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","mocha"],complexity:{min:"medium",max:"complex"},tags:["v3","property","pbt","edge-cases"]}),e({id:"v3-qe-mutation-tester",name:"V3 QE Mutation Tester",description:"V3 QE Mutation testing for test suite effectiveness evaluation with mutation score analysis",domains:["test-generation"],capabilities:["test-quality","coverage-analysis"],languages:["typescript","javascript","python"],frameworks:["jest","vitest"],complexity:{min:"medium",max:"complex"},tags:["v3","mutation","test-quality"]})],y=[e({id:"v3-qe-tdd-red",name:"V3 QE TDD RED Phase",description:"V3 QE TDD RED phase specialist - writes failing tests that define expected behavior before implementation",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"medium"},tags:["v3","tdd","red-phase","subagent"]}),e({id:"v3-qe-tdd-green",name:"V3 QE TDD GREEN Phase",description:"V3 QE TDD GREEN phase specialist - implements minimal code to make failing tests pass",domains:["test-generation"],capabilities:["test-generation","tdd","unit-test"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"simple",max:"medium"},tags:["v3","tdd","green-phase","subagent"]}),e({id:"v3-qe-tdd-refactor",name:"V3 QE TDD REFACTOR Phase",description:"V3 QE TDD REFACTOR phase specialist - improves code quality while keeping all tests passing",domains:["test-generation"],capabilities:["test-generation","tdd","test-quality"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"medium",max:"complex"},tags:["v3","tdd","refactor-phase","subagent"]}),e({id:"v3-qe-code-reviewer",name:"V3 QE Code Reviewer",description:"V3 QE Code review specialist enforcing quality standards, linting, complexity, and security",domains:["quality-assessment"],capabilities:["quality-gate","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"simple",max:"complex"},tags:["v3","code-review","standards","subagent"]}),e({id:"v3-qe-integration-reviewer",name:"V3 QE Integration Reviewer",description:"V3 QE Integration review specialist for API compatibility and cross-service interactions",domains:["contract-testing"],capabilities:["integration-test","api-testing"],languages:["typescript","javascript","python","java"],complexity:{min:"medium",max:"complex"},tags:["v3","integration","review","subagent"]}),e({id:"v3-qe-performance-reviewer",name:"V3 QE Performance Reviewer",description:"V3 QE Performance review specialist for algorithmic complexity and resource usage",domains:["chaos-resilience"],capabilities:["load-testing","benchmark"],languages:["typescript","javascript","python","go"],complexity:{min:"medium",max:"complex"},tags:["v3","performance","review","subagent"]}),e({id:"v3-qe-security-reviewer",name:"V3 QE Security Reviewer",description:"V3 QE Security review specialist for vulnerability detection and secure coding practices",domains:["security-compliance"],capabilities:["sast","vulnerability","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"medium",max:"complex"},tags:["v3","security","review","subagent"]})],v=[e({id:"n8n-base-agent",name:"n8n Base Agent",description:"Abstract base agent for n8n workflow automation testing - provides common utilities for all n8n testing agents",domains:["test-generation"],capabilities:["test-generation","test-orchestration"],complexity:{min:"simple",max:"simple"},tags:["n8n","base","workflow"]}),e({id:"n8n-workflow-executor",name:"n8n Workflow Executor",description:"Execute and validate n8n workflows programmatically with test data injection, output assertions, and data flow validation",domains:["test-execution"],capabilities:["test-orchestration","integration-test"],complexity:{min:"medium",max:"complex"},tags:["n8n","execution","validation"]}),e({id:"n8n-unit-tester",name:"n8n Unit Tester",description:"Unit test custom n8n node functions with Jest/Vitest integration, function isolation, mock data injection, and coverage reporting",domains:["test-generation"],capabilities:["unit-test","test-generation"],frameworks:["jest","vitest"],complexity:{min:"simple",max:"medium"},tags:["n8n","unit","isolation"]}),e({id:"n8n-integration-test",name:"n8n Integration Tester",description:"Test n8n node integrations with external services including API contract validation, authentication flows, rate limiting, and error handling",domains:["contract-testing"],capabilities:["integration-test","api-testing","contract-testing"],complexity:{min:"medium",max:"complex"},tags:["n8n","integration","api"]}),e({id:"n8n-trigger-test",name:"n8n Trigger Tester",description:"Test n8n workflow triggers including webhooks, schedules, polling triggers, and event-driven activation",domains:["test-execution"],capabilities:["integration-test","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","triggers","webhooks"]}),e({id:"n8n-node-validator",name:"n8n Node Validator",description:"Validate n8n node configurations, connections, data mappings, and conditional routing logic",domains:["contract-testing"],capabilities:["contract-testing","test-generation"],complexity:{min:"simple",max:"medium"},tags:["n8n","validation","nodes"]}),e({id:"n8n-performance-tester",name:"n8n Performance Tester",description:"Load and stress testing for n8n workflows using k6/Artillery with execution time analysis, rate limit testing, and bottleneck detection",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery","benchmark"],complexity:{min:"medium",max:"complex"},tags:["n8n","performance","load"]}),e({id:"n8n-security-auditor",name:"n8n Security Auditor",description:"Security vulnerability scanning for n8n workflows including credential exposure, injection risks, OWASP compliance, and secret detection",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],complexity:{min:"medium",max:"complex"},tags:["n8n","security","owasp"]}),e({id:"n8n-compliance-validator",name:"n8n Compliance Validator",description:"Regulatory compliance testing for n8n workflows including GDPR, CCPA, HIPAA, SOC2, and PCI-DSS validation",domains:["security-compliance"],capabilities:["security-scanning"],complexity:{min:"medium",max:"complex"},tags:["n8n","compliance","gdpr"]}),e({id:"n8n-bdd-scenario-tester",name:"n8n BDD Scenario Tester",description:"BDD/Gherkin scenario testing for n8n workflows with Cucumber integration, business requirement mapping, and stakeholder-friendly reports",domains:["requirements-validation"],capabilities:["bdd","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","bdd","gherkin"]}),e({id:"n8n-expression-validator",name:"n8n Expression Validator",description:"Validate n8n expressions and data transformations with syntax checking, context-aware testing, and security analysis",domains:["code-intelligence"],capabilities:["test-generation","security-scanning"],complexity:{min:"simple",max:"medium"},tags:["n8n","expressions","validation"]}),e({id:"n8n-version-comparator",name:"n8n Version Comparator",description:"Workflow version diff and regression detection with JSON comparison, change impact analysis, migration validation, and rollback testing",domains:["defect-intelligence"],capabilities:["risk-scoring","test-generation"],complexity:{min:"medium",max:"complex"},tags:["n8n","version","diff"]}),e({id:"n8n-chaos-tester",name:"n8n Chaos Tester",description:"Chaos engineering for n8n workflows with controlled fault injection, service failure simulation, recovery validation, and resilience testing",domains:["chaos-resilience"],capabilities:["chaos-testing","resilience","fault-injection"],complexity:{min:"complex",max:"complex"},tags:["n8n","chaos","resilience"]}),e({id:"n8n-ci-orchestrator",name:"n8n CI Orchestrator",description:"CI/CD pipeline integration for n8n workflows with REST API triggers, automated regression testing, GitHub Actions/Jenkins integration, and test scheduling",domains:["test-execution"],capabilities:["test-orchestration","integration-test"],complexity:{min:"medium",max:"complex"},tags:["n8n","ci","cd"]}),e({id:"n8n-monitoring-validator",name:"n8n Monitoring Validator",description:"Validate monitoring and alerting configurations for n8n workflows including error tracking, alert rules, SLA compliance, and observability checks",domains:["quality-assessment"],capabilities:["quality-gate","deployment-readiness"],complexity:{min:"medium",max:"complex"},tags:["n8n","monitoring","alerting"]})],x=[e({id:"tester",name:"Tester",description:"Comprehensive testing and quality assurance specialist with AI-powered test generation",domains:["test-generation","test-execution"],capabilities:["test-generation","unit-test","integration-test","e2e-test"],languages:["typescript","javascript","python","java","go","rust"],frameworks:["jest","vitest","mocha","pytest","junit5","go-test","rust-test","playwright","cypress"],complexity:{min:"simple",max:"complex"},tags:["general","versatile"]}),e({id:"reviewer",name:"Reviewer",description:"Code review and quality assurance specialist with AI-powered pattern detection",domains:["quality-assessment"],capabilities:["quality-gate","security-scanning"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"simple",max:"complex"},tags:["general","code-review"]}),e({id:"security-auditor",name:"Security Auditor",description:"Advanced security auditor with self-learning vulnerability detection, CVE database search, and compliance auditing",domains:["security-compliance"],capabilities:["sast","dast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"medium",max:"complex"},tags:["security","cve","compliance"]}),e({id:"security-architect",name:"Security Architect",description:"V3 Security Architecture specialist with ReasoningBank learning, HNSW threat pattern search, and zero-trust design capabilities",domains:["security-compliance"],capabilities:["sast","vulnerability","owasp","security-scanning"],languages:["typescript","javascript","python","java","go"],complexity:{min:"complex",max:"complex"},tags:["architecture","zero-trust"]}),e({id:"performance-engineer",name:"Performance Engineer",description:"V3 Performance Engineering Agent specialized in Flash Attention optimization, WASM SIMD acceleration, and comprehensive performance profiling",domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","benchmark"],languages:["typescript","javascript","python","go","rust"],complexity:{min:"medium",max:"complex"},tags:["performance","optimization"]}),e({id:"code-analyzer",name:"Code Analyzer",description:"Advanced code quality analysis agent for comprehensive code reviews and improvements",domains:["code-intelligence","quality-assessment"],capabilities:["coverage-analysis","gap-detection","quality-gate"],languages:["typescript","javascript","python","java","go","rust"],complexity:{min:"simple",max:"complex"},tags:["analysis","quality"]}),e({id:"cicd-engineer",name:"CI/CD Engineer",description:"Specialized agent for GitHub Actions CI/CD pipeline creation and optimization",domains:["test-execution"],capabilities:["test-orchestration","deployment-readiness"],complexity:{min:"medium",max:"complex"},tags:["cicd","github-actions"]})],h=[e({id:"reasoningbank-learner",name:"ReasoningBank Learner",description:"V3 ReasoningBank integration specialist for trajectory tracking, verdict judgment, pattern distillation, and experience replay using HNSW-indexed memory",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","reasoningbank","learning"]}),e({id:"adr-architect",name:"ADR Architect",description:"V3 Architecture Decision Record specialist that documents, tracks, and enforces architectural decisions with ReasoningBank integration for pattern learning",domains:["learning-optimization"],capabilities:["quality-gate"],complexity:{min:"medium",max:"complex"},tags:["v3","adr","architecture"]}),e({id:"ddd-domain-expert",name:"DDD Domain Expert",description:"V3 Domain-Driven Design specialist for bounded context identification, aggregate design, domain modeling, and ubiquitous language enforcement",domains:["code-intelligence"],capabilities:["quality-gate"],complexity:{min:"complex",max:"complex"},tags:["v3","ddd","domain"]}),e({id:"v3-integration-architect",name:"V3 Integration Architect",description:"V3 deep agentic-flow integration specialist implementing ADR-001 for eliminating duplicate code and building claude-flow as a specialized extension",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","integration","agentic-flow"]}),e({id:"memory-specialist",name:"Memory Specialist",description:"V3 memory optimization specialist with HNSW indexing, hybrid backend management, vector quantization, and EWC++ for preventing catastrophic forgetting",domains:["learning-optimization"],capabilities:["sublinear-analysis"],complexity:{min:"complex",max:"complex"},tags:["v3","memory","hnsw"]}),e({id:"claims-authorizer",name:"Claims Authorizer",description:"V3 Claims-based authorization specialist implementing ADR-010 for fine-grained access control across swarm agents and MCP tools",domains:["security-compliance"],capabilities:["security-scanning"],complexity:{min:"medium",max:"complex"},tags:["v3","claims","authorization"]}),e({id:"sparc-orchestrator",name:"SPARC Orchestrator",description:"V3 SPARC methodology orchestrator that coordinates Specification, Pseudocode, Architecture, Refinement, and Completion phases with ReasoningBank learning",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","sparc","methodology"]}),e({id:"sona-learning-optimizer",name:"SONA Learning Optimizer",description:"V3 SONA-powered self-optimizing agent using claude-flow neural tools for adaptive learning, pattern discovery, and continuous quality improvement with sub-millisecond overhead",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","sona","self-learning"]}),e({id:"safla-neural",name:"SAFLA Neural",description:"Self-Aware Feedback Loop Algorithm (SAFLA) neural specialist that creates intelligent, memory-persistent AI systems with self-learning capabilities",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["v3","safla","neural"]}),e({id:"production-validator",name:"Production Validator",description:"Production validation specialist ensuring applications are fully implemented and deployment-ready",domains:["quality-assessment"],capabilities:["deployment-readiness","quality-gate"],complexity:{min:"medium",max:"complex"},tags:["production","validation"]}),e({id:"tdd-london-swarm",name:"TDD London Swarm",description:"TDD London School specialist for mock-driven development within swarm coordination",domains:["test-generation"],capabilities:["tdd","unit-test","test-generation"],languages:["typescript","javascript","python"],frameworks:["jest","vitest","pytest"],complexity:{min:"medium",max:"complex"},tags:["tdd","london","mocks"]})],f=[e({id:"queen-coordinator",name:"Queen Coordinator",description:"The sovereign orchestrator of hierarchical hive operations, managing strategic decisions, resource allocation, and maintaining hive coherence",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["queen","hive","orchestration"]}),e({id:"swarm-memory-manager",name:"Swarm Memory Manager",description:"V3 distributed memory manager for cross-agent state synchronization, CRDT replication, and namespace coordination across the swarm",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["swarm","memory","crdt"]}),e({id:"worker-specialist",name:"Worker Specialist",description:"Dedicated task execution specialist that carries out assigned work with precision, continuously reporting progress through memory coordination",domains:["test-execution"],capabilities:["test-orchestration"],complexity:{min:"simple",max:"complex"},tags:["worker","execution"]}),e({id:"collective-intelligence-coordinator",name:"Collective Intelligence Coordinator",description:"Hive-mind collective decision making with Byzantine fault-tolerant consensus, attention-based coordination, and emergent intelligence patterns",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["collective","consensus"]}),e({id:"scout-explorer",name:"Scout Explorer",description:"Information reconnaissance specialist that explores unknown territories, gathers intelligence, and reports findings to the hive mind",domains:["code-intelligence"],capabilities:["coverage-analysis","gap-detection"],complexity:{min:"simple",max:"medium"},tags:["scout","exploration"]}),e({id:"adaptive-coordinator",name:"Adaptive Coordinator",description:"Dynamic topology switching coordinator with self-organizing swarm patterns and real-time optimization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["adaptive","topology"]}),e({id:"mesh-coordinator",name:"Mesh Coordinator",description:"Peer-to-peer mesh network swarm with distributed decision making and fault tolerance",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["mesh","p2p"]}),e({id:"hierarchical-coordinator",name:"Hierarchical Coordinator",description:"Queen-led hierarchical swarm coordination with specialized worker delegation",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["hierarchical","delegation"]})],b=[e({id:"consensus-coordinator",name:"Consensus Coordinator",description:"Distributed consensus agent that uses sublinear solvers for fast agreement protocols in multi-agent systems",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["consensus","distributed"]}),e({id:"byzantine-coordinator",name:"Byzantine Coordinator",description:"Coordinates Byzantine fault-tolerant consensus protocols with malicious actor detection",domains:["security-compliance"],capabilities:["resilience","security-scanning"],complexity:{min:"complex",max:"complex"},tags:["byzantine","fault-tolerance"]}),e({id:"raft-manager",name:"Raft Manager",description:"Manages Raft consensus algorithm with leader election and log replication",domains:["learning-optimization"],capabilities:["test-orchestration","resilience"],complexity:{min:"complex",max:"complex"},tags:["raft","leader-election"]}),e({id:"crdt-synchronizer",name:"CRDT Synchronizer",description:"Implements Conflict-free Replicated Data Types for eventually consistent state synchronization",domains:["learning-optimization"],capabilities:["test-orchestration"],complexity:{min:"complex",max:"complex"},tags:["crdt","eventual-consistency"]})],m=Object.freeze([...u,...y,...v,...x,...h,...f,...b]);function E(i,t){let a=m.find(n=>n.id===i);if(!a){let n=m.find(o=>o.id.includes(i)||i.includes(o.id));if(!n){console.error(`[AgentRegistry] Agent not found: ${i}`);return}l(n,t);return}l(a,t)}function l(i,t){let a=i.tasksCompleted,n=Math.round(i.successRate*a);i.tasksCompleted++;let o=n+(t.success?1:0);i.successRate=i.tasksCompleted>0?o/i.tasksCompleted:0,a===0?i.avgDurationMs=t.executionTimeMs:i.avgDurationMs=.3*t.executionTimeMs+(1-.3)*i.avgDurationMs;let p=t.qualityScore??(t.success?.7:.3),d=i.successRate,r=.4*p+.6*d;a===0?i.performanceScore=r:i.performanceScore=.2*r+(1-.2)*i.performanceScore,i.performanceScore=Math.max(0,Math.min(1,i.performanceScore)),console.error(`[AgentRegistry] Updated ${i.id}: tasks=${i.tasksCompleted} successRate=${(i.successRate*100).toFixed(1)}% performanceScore=${i.performanceScore.toFixed(3)} avgDurationMs=${i.avgDurationMs.toFixed(0)}`)}var s=new Map;function k(i){s=new Map;let t=c(i);for(let a of t.overlays)a.config&&s.set(a.agent,a.config);if(s.size>0&&console.error(`[AgentRegistry] Loaded overlay configs for ${s.size} agent(s): ${[...s.keys()].join(", ")}`),t.warnings.length>0)for(let a of t.warnings)console.error(`[AgentRegistry] Overlay warning: ${a}`)}function Q(i){return s.get(i)}export{m as a,E as b,k as c,Q as d};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(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.15.3");process.exit(0)}
2
2
  var s={"test-generation":/test|spec|describe|it\(|expect|assert|mock|stub|fixture|tdd|bdd/i,"test-execution":/run|execute|parallel|retry|flaky|timeout|worker|orchestrat/i,"coverage-analysis":/coverage|branch|line|uncovered|gap|untested|percentage|sublinear/i,"quality-assessment":/quality|gate|deploy|readiness|metric|threshold|sla|score/i,"defect-intelligence":/defect|bug|predict|root.?cause|regression|failure|incident/i,"requirements-validation":/requirement|bdd|gherkin|testabil|accept|criteri|scenario/i,"code-intelligence":/semantic|knowledge|graph|ast|symbol|reference|impact|depend/i,"security-compliance":/vuln|cve|owasp|xss|sqli|injection|csrf|auth|secret|compliance|sast|dast/i,"contract-testing":/contract|pact|openapi|swagger|graphql|schema|endpoint|api/i,"visual-accessibility":/screenshot|visual|snapshot|pixel|percy|a11y|aria|wcag|screen.?reader|accessible|contrast/i,"chaos-resilience":/chaos|resilience|fault|inject|blast|recover|latency|failure|stress|load/i,"learning-optimization":/learn|pattern|optim|neural|embedding|vector|memory|adapt|train/i};function m(e){for(let[t,a]of Object.entries(s))if(a.test(e))return t;return null}function u(e){let t=[];for(let[a,n]of Object.entries(s))n.test(e)&&t.push(a);return t}function d(e){return e}function p(e){let t=Math.min(e.usageCount/100,1);return e.confidence*.3+t*.2+e.successRate*.5}var c=3,l=.7;function y(e,t,a=.4){let n=e.tier==="short-term"&&e.successfulUses>=c,r=e.successRate>=l&&e.confidence>=.6,i=t===void 0||t<a,o;return n?r?i||(o="coherence_violation"):o="low_quality":o="insufficient_usage",{meetsUsageCriteria:n,meetsQualityCriteria:r,meetsCoherenceCriteria:i,blockReason:o}}function f(e){let t=[];if(e.id||t.push("Pattern ID is required"),e.patternType||t.push("Pattern type is required"),e.qeDomain||t.push("QE domain is required"),e.name||t.push("Pattern name is required"),e.template?.content||t.push("Template content is required"),e.confidence!==void 0&&(e.confidence<0||e.confidence>1)&&t.push("Confidence must be between 0 and 1"),e.successRate!==void 0&&(e.successRate<0||e.successRate>1)&&t.push("Success rate must be between 0 and 1"),e.template?.variables){let a=new Set;for(let n of e.template.variables)a.has(n.name)&&t.push(`Duplicate variable name: ${n.name}`),a.add(n.name),e.template.content.includes(`{{${n.name}}}`)||t.push(`Variable ${n.name} not referenced in template`)}return{valid:t.length===0,errors:t}}function g(e,t){let a=e.content;for(let n of e.variables){let r=t[n.name]??n.defaultValue;if(n.required&&r===void 0)throw new Error(`Required variable ${n.name} not provided`);if(r!==void 0){let i=`{{${n.name}}}`,o=typeof r=="object"?JSON.stringify(r):String(r);a=a.split(i).join(o)}}return a}var b=Object.keys(s);export{m as a,u as b,d as c,p as d,c as e,l as f,y as g,f as h,g as i,b as j};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{b as p,d as C}from"./chunk-URWT3EQT.js";import{a as b}from"./chunk-I7ECEOFV.js";import{e as k}from"./chunk-CV7E627D.js";C();b();var m=k.create("skill-validation-learner"),v=class{constructor(e){this.reasoningBank=e}reasoningBank;memoryNamespace="skill-validation";feedbackLoop=null;connectFeedbackLoop(e){this.feedbackLoop=e}async recordValidationOutcome(e){await this.reasoningBank.storeQEPattern({patternType:"test-template",name:`${e.skillName}-validation-${e.validationLevel}`,description:`Validation outcome for ${e.skillName} at level ${e.validationLevel}`,context:{tags:["skill-validation",e.skillName,e.model,e.validationLevel],testType:"integration"},template:{type:"config",content:JSON.stringify({outcome:{skillName:e.skillName,trustTier:e.trustTier,validationLevel:e.validationLevel,model:e.model,passed:e.passed,score:e.score,testCaseCount:e.testCaseResults.length,passedTests:e.testCaseResults.filter(s=>s.passed).length,avgReasoningQuality:this.calculateAvgReasoningQuality(e.testCaseResults),timestamp:e.timestamp.toISOString(),runId:e.runId,metadata:e.metadata}}),variables:[]}}),await this.updateSkillConfidence(e),e.validationLevel==="eval"&&await this.trackCrossModelBehavior(e),this.feedbackLoop&&e.runId&&await this.recordToFeedbackLoop(e)}async updateSkillConfidence(e){let s=`skill-confidence-${e.skillName}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1}),t;if(n.success&&n.value.length>0)try{let r=n.value[0].pattern.template?.content;if(r){let i=p(r);i&&typeof i=="object"&&Array.isArray(i.outcomes)?t=i:t=this.createEmptyConfidence(e.skillName)}else t=this.createEmptyConfidence(e.skillName)}catch(a){m.debug("Confidence history parse failed",{skill:e.skillName,error:a instanceof Error?a.message:String(a)}),t=this.createEmptyConfidence(e.skillName)}else t=this.createEmptyConfidence(e.skillName);t.outcomes.push({score:e.score,timestamp:e.timestamp,model:e.model,validationLevel:e.validationLevel,passed:e.passed}),t.outcomes.length>100&&(t.outcomes=t.outcomes.slice(-100)),t.avgScore=t.outcomes.reduce((a,r)=>a+r.score,0)/t.outcomes.length,t.lastUpdated=new Date,t.trend=this.calculateTrend(t.outcomes),t.byLevel=this.calculateConfidenceByLevel(t.outcomes),await this.reasoningBank.storeQEPattern({patternType:"test-template",name:s,description:`Skill confidence tracking for ${e.skillName}`,context:{tags:["skill-confidence",e.skillName]},template:{type:"config",content:JSON.stringify(t),variables:[]}})}async trackCrossModelBehavior(e){let s=`cross-model-${e.skillName}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1}),t;if(n.success&&n.value.length>0)try{let c=n.value[0].pattern.template?.content;if(c){let l=p(c);l&&typeof l=="object"&&typeof l.models=="object"?t=l:t=this.createEmptyCrossModelAnalysis()}else t=this.createEmptyCrossModelAnalysis()}catch(o){m.debug("Cross-model analysis parse failed",{error:o instanceof Error?o.message:String(o)}),t=this.createEmptyCrossModelAnalysis()}else t=this.createEmptyCrossModelAnalysis();t.models||(t.models={}),t.models[e.model]||(t.models[e.model]={scores:[],passRate:0,avgReasoningQuality:0,sampleCount:0});let a=t.models[e.model];a.scores.push(e.score),a.sampleCount++,a.scores.length>50&&(a.scores=a.scores.slice(-50));let r=this.calculateAvgReasoningQuality(e.testCaseResults);a.passRate=a.scores.filter(o=>o>=.9).length/a.scores.length,a.avgReasoningQuality=(a.avgReasoningQuality*(a.sampleCount-1)+r)/a.sampleCount;let i=Object.values(t.models).map(o=>o.passRate);if(i.length>1){let o=i.reduce((l,d)=>l+d,0)/i.length,c=i.reduce((l,d)=>l+Math.pow(d-o,2),0)/i.length;t.variance=c,t.hasAnomalies=c>.04,t.anomalies=[];for(let[l,d]of Object.entries(t.models))Math.abs(d.passRate-o)>.2&&t.anomalies.push({model:l,type:d.passRate<o?"low_performance":"high_variance",description:`Model ${l} has ${((d.passRate-o)*100).toFixed(1)}% difference from average`})}t.lastUpdated=new Date,await this.reasoningBank.storeQEPattern({patternType:"test-template",name:s,description:`Cross-model behavior tracking for ${e.skillName}`,context:{tags:["cross-model",e.skillName]},template:{type:"config",content:JSON.stringify(t),variables:[]}})}async recordToFeedbackLoop(e){if(!this.feedbackLoop)return;let s={taskId:e.runId,taskDescription:`Skill validation: ${e.skillName} (${e.validationLevel})`,recommendedAgent:"skill-validator",usedAgent:"skill-validator",followedRecommendation:!0,success:e.passed,qualityScore:e.score,durationMs:e.metadata?.duration||0,timestamp:e.timestamp};await this.feedbackLoop.recordRoutingOutcome(s)}async getSkillConfidence(e){let s=`skill-confidence-${e}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1});if(n.success&&n.value.length>0)try{let t=n.value[0].pattern.template?.content;if(t)return p(t)}catch(t){m.debug("Skill confidence pattern content invalid",{skill:e,error:t instanceof Error?t.message:String(t)})}return null}async getCrossModelAnalysis(e){let s=`cross-model-${e}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1});if(n.success&&n.value.length>0)try{let t=n.value[0].pattern.template?.content;if(t)return p(t)}catch(t){m.debug("Cross-model pattern content invalid",{skill:e,error:t instanceof Error?t.message:String(t)})}return null}async queryValidationPatterns(e,s=10){let n=await this.reasoningBank.searchQEPatterns(`${e} validation`,{limit:s});return n.success?n.value.filter(t=>t.pattern.context?.tags?.includes("skill-validation")).map(t=>t.pattern):[]}async getValidationTrends(e){let s=await this.getSkillConfidence(e),n=await this.getCrossModelAnalysis(e);if(!s)return null;let t={};if(n)for(let i of Object.keys(n.models)){let o=s.outcomes.filter(c=>c.model===i).map(c=>({score:c.score}));t[i]=this.calculateTrend(o)}let a=s.outcomes.slice(-20),r=a.filter(i=>i.passed).length/a.length;return{overall:s.trend||"stable",byModel:t,recentPassRate:r}}async extractLearnedPatterns(e){let s=await this.queryValidationPatterns(e,50),n=[],t=new Map;for(let a of s)try{let i=p(a.template?.content||"{}").outcome?.metadata?.category||"general";t.has(i)||t.set(i,[]),t.get(i).push(a)}catch(r){m.debug("Invalid pattern during category grouping",{error:r instanceof Error?r.message:String(r)})}for(let[a,r]of Array.from(t.entries())){let i=new Set,o=new Set,c=new Set,l=0;for(let d of r)try{let f=p(d.template?.content||"{}").outcome;if(!f)continue;c.add(f.model),l+=f.score;let h=d.context?.tags||[];f.passed?h.filter(g=>!["skill-validation",e].includes(g)).forEach(g=>i.add(g)):h.filter(g=>!["skill-validation",e].includes(g)).forEach(g=>o.add(g))}catch(u){m.debug("Invalid pattern during category extraction",{error:u instanceof Error?u.message:String(u)})}r.length>0&&n.push({id:`${e}-${a}`,skillName:e,category:a,successIndicators:Array.from(i),failureIndicators:Array.from(o),models:Array.from(c),confidence:l/r.length,observationCount:r.length})}return n}createEmptyConfidence(e){return{skillName:e,avgScore:0,outcomes:[],lastUpdated:new Date}}createEmptyCrossModelAnalysis(){return{models:{},variance:0,hasAnomalies:!1,lastUpdated:new Date}}calculateAvgReasoningQuality(e){return e.length===0?0:e.reduce((s,n)=>s+n.reasoningQuality,0)/e.length}calculateTrend(e){if(e.length<5)return"stable";let s=e.slice(-10),n=e.slice(-20,-10);if(n.length===0)return"stable";let t=s.reduce((i,o)=>i+o.score,0)/s.length,a=n.reduce((i,o)=>i+o.score,0)/n.length,r=t-a;return r>.05?"improving":r<-.05?"declining":"stable"}calculateConfidenceByLevel(e){let s={schema:[],validator:[],eval:[]};for(let t of e)t.validationLevel&&s[t.validationLevel].push(t.score);let n={};for(let[t,a]of Object.entries(s))a.length>0&&(n[t]=a.reduce((r,i)=>r+i,0)/a.length);return n}};function L(y){return new v(y)}export{L as a};
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.15.3");process.exit(0)}
2
+ import{b as p,d as C}from"./chunk-UGNTLSBL.js";import{a as b}from"./chunk-INVDDFJC.js";import{e as k}from"./chunk-FPFGN2Z5.js";C();b();var m=k.create("skill-validation-learner"),v=class{constructor(e){this.reasoningBank=e}reasoningBank;memoryNamespace="skill-validation";feedbackLoop=null;connectFeedbackLoop(e){this.feedbackLoop=e}async recordValidationOutcome(e){await this.reasoningBank.storeQEPattern({patternType:"test-template",name:`${e.skillName}-validation-${e.validationLevel}`,description:`Validation outcome for ${e.skillName} at level ${e.validationLevel}`,context:{tags:["skill-validation",e.skillName,e.model,e.validationLevel],testType:"integration"},template:{type:"config",content:JSON.stringify({outcome:{skillName:e.skillName,trustTier:e.trustTier,validationLevel:e.validationLevel,model:e.model,passed:e.passed,score:e.score,testCaseCount:e.testCaseResults.length,passedTests:e.testCaseResults.filter(s=>s.passed).length,avgReasoningQuality:this.calculateAvgReasoningQuality(e.testCaseResults),timestamp:e.timestamp.toISOString(),runId:e.runId,metadata:e.metadata}}),variables:[]}}),await this.updateSkillConfidence(e),e.validationLevel==="eval"&&await this.trackCrossModelBehavior(e),this.feedbackLoop&&e.runId&&await this.recordToFeedbackLoop(e)}async updateSkillConfidence(e){let s=`skill-confidence-${e.skillName}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1}),t;if(n.success&&n.value.length>0)try{let r=n.value[0].pattern.template?.content;if(r){let i=p(r);i&&typeof i=="object"&&Array.isArray(i.outcomes)?t=i:t=this.createEmptyConfidence(e.skillName)}else t=this.createEmptyConfidence(e.skillName)}catch(a){m.debug("Confidence history parse failed",{skill:e.skillName,error:a instanceof Error?a.message:String(a)}),t=this.createEmptyConfidence(e.skillName)}else t=this.createEmptyConfidence(e.skillName);t.outcomes.push({score:e.score,timestamp:e.timestamp,model:e.model,validationLevel:e.validationLevel,passed:e.passed}),t.outcomes.length>100&&(t.outcomes=t.outcomes.slice(-100)),t.avgScore=t.outcomes.reduce((a,r)=>a+r.score,0)/t.outcomes.length,t.lastUpdated=new Date,t.trend=this.calculateTrend(t.outcomes),t.byLevel=this.calculateConfidenceByLevel(t.outcomes),await this.reasoningBank.storeQEPattern({patternType:"test-template",name:s,description:`Skill confidence tracking for ${e.skillName}`,context:{tags:["skill-confidence",e.skillName]},template:{type:"config",content:JSON.stringify(t),variables:[]}})}async trackCrossModelBehavior(e){let s=`cross-model-${e.skillName}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1}),t;if(n.success&&n.value.length>0)try{let c=n.value[0].pattern.template?.content;if(c){let l=p(c);l&&typeof l=="object"&&typeof l.models=="object"?t=l:t=this.createEmptyCrossModelAnalysis()}else t=this.createEmptyCrossModelAnalysis()}catch(o){m.debug("Cross-model analysis parse failed",{error:o instanceof Error?o.message:String(o)}),t=this.createEmptyCrossModelAnalysis()}else t=this.createEmptyCrossModelAnalysis();t.models||(t.models={}),t.models[e.model]||(t.models[e.model]={scores:[],passRate:0,avgReasoningQuality:0,sampleCount:0});let a=t.models[e.model];a.scores.push(e.score),a.sampleCount++,a.scores.length>50&&(a.scores=a.scores.slice(-50));let r=this.calculateAvgReasoningQuality(e.testCaseResults);a.passRate=a.scores.filter(o=>o>=.9).length/a.scores.length,a.avgReasoningQuality=(a.avgReasoningQuality*(a.sampleCount-1)+r)/a.sampleCount;let i=Object.values(t.models).map(o=>o.passRate);if(i.length>1){let o=i.reduce((l,d)=>l+d,0)/i.length,c=i.reduce((l,d)=>l+Math.pow(d-o,2),0)/i.length;t.variance=c,t.hasAnomalies=c>.04,t.anomalies=[];for(let[l,d]of Object.entries(t.models))Math.abs(d.passRate-o)>.2&&t.anomalies.push({model:l,type:d.passRate<o?"low_performance":"high_variance",description:`Model ${l} has ${((d.passRate-o)*100).toFixed(1)}% difference from average`})}t.lastUpdated=new Date,await this.reasoningBank.storeQEPattern({patternType:"test-template",name:s,description:`Cross-model behavior tracking for ${e.skillName}`,context:{tags:["cross-model",e.skillName]},template:{type:"config",content:JSON.stringify(t),variables:[]}})}async recordToFeedbackLoop(e){if(!this.feedbackLoop)return;let s={taskId:e.runId,taskDescription:`Skill validation: ${e.skillName} (${e.validationLevel})`,recommendedAgent:"skill-validator",usedAgent:"skill-validator",followedRecommendation:!0,success:e.passed,qualityScore:e.score,durationMs:e.metadata?.duration||0,timestamp:e.timestamp};await this.feedbackLoop.recordRoutingOutcome(s)}async getSkillConfidence(e){let s=`skill-confidence-${e}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1});if(n.success&&n.value.length>0)try{let t=n.value[0].pattern.template?.content;if(t)return p(t)}catch(t){m.debug("Skill confidence pattern content invalid",{skill:e,error:t instanceof Error?t.message:String(t)})}return null}async getCrossModelAnalysis(e){let s=`cross-model-${e}`,n=await this.reasoningBank.searchQEPatterns(s,{limit:1});if(n.success&&n.value.length>0)try{let t=n.value[0].pattern.template?.content;if(t)return p(t)}catch(t){m.debug("Cross-model pattern content invalid",{skill:e,error:t instanceof Error?t.message:String(t)})}return null}async queryValidationPatterns(e,s=10){let n=await this.reasoningBank.searchQEPatterns(`${e} validation`,{limit:s});return n.success?n.value.filter(t=>t.pattern.context?.tags?.includes("skill-validation")).map(t=>t.pattern):[]}async getValidationTrends(e){let s=await this.getSkillConfidence(e),n=await this.getCrossModelAnalysis(e);if(!s)return null;let t={};if(n)for(let i of Object.keys(n.models)){let o=s.outcomes.filter(c=>c.model===i).map(c=>({score:c.score}));t[i]=this.calculateTrend(o)}let a=s.outcomes.slice(-20),r=a.filter(i=>i.passed).length/a.length;return{overall:s.trend||"stable",byModel:t,recentPassRate:r}}async extractLearnedPatterns(e){let s=await this.queryValidationPatterns(e,50),n=[],t=new Map;for(let a of s)try{let i=p(a.template?.content||"{}").outcome?.metadata?.category||"general";t.has(i)||t.set(i,[]),t.get(i).push(a)}catch(r){m.debug("Invalid pattern during category grouping",{error:r instanceof Error?r.message:String(r)})}for(let[a,r]of Array.from(t.entries())){let i=new Set,o=new Set,c=new Set,l=0;for(let d of r)try{let f=p(d.template?.content||"{}").outcome;if(!f)continue;c.add(f.model),l+=f.score;let h=d.context?.tags||[];f.passed?h.filter(g=>!["skill-validation",e].includes(g)).forEach(g=>i.add(g)):h.filter(g=>!["skill-validation",e].includes(g)).forEach(g=>o.add(g))}catch(u){m.debug("Invalid pattern during category extraction",{error:u instanceof Error?u.message:String(u)})}r.length>0&&n.push({id:`${e}-${a}`,skillName:e,category:a,successIndicators:Array.from(i),failureIndicators:Array.from(o),models:Array.from(c),confidence:l/r.length,observationCount:r.length})}return n}createEmptyConfidence(e){return{skillName:e,avgScore:0,outcomes:[],lastUpdated:new Date}}createEmptyCrossModelAnalysis(){return{models:{},variance:0,hasAnomalies:!1,lastUpdated:new Date}}calculateAvgReasoningQuality(e){return e.length===0?0:e.reduce((s,n)=>s+n.reasoningQuality,0)/e.length}calculateTrend(e){if(e.length<5)return"stable";let s=e.slice(-10),n=e.slice(-20,-10);if(n.length===0)return"stable";let t=s.reduce((i,o)=>i+o.score,0)/s.length,a=n.reduce((i,o)=>i+o.score,0)/n.length,r=t-a;return r>.05?"improving":r<-.05?"declining":"stable"}calculateConfidenceByLevel(e){let s={schema:[],validator:[],eval:[]};for(let t of e)t.validationLevel&&s[t.validationLevel].push(t.score);let n={};for(let[t,a]of Object.entries(s))a.length>0&&(n[t]=a.reduce((r,i)=>r+i,0)/a.length);return n}};function L(y){return new v(y)}export{L as a};
@@ -1,12 +1,12 @@
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.15.2");process.exit(0)}
2
- import{e as A,f as O,j as I,k as V,q as z}from"./chunk-HYWW4A2E.js";import{b as S,e as q}from"./chunk-3KTAMNKI.js";import{b as p}from"./chunk-D75HDHX3.js";import{createRequire as T}from"node:module";import{execFileSync as N}from"node:child_process";import{existsSync as j}from"node:fs";import{dirname as k,join as g}from"node:path";function G(i=process.platform,e=process.execPath,t=j){if(i==="win32"){let r=g(k(e),"node_modules","npm","bin","npm-cli.js");if(t(r))return[e,[r]]}return["npm",[]]}function B(){try{return x.resolve("vibium")}catch{try{return T(g(process.cwd(),"package.json")).resolve("vibium")}catch{}let[i,e]=G(),t=N(i,[...e,"root","-g"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}).trim();return x.resolve(g(t,"vibium"))}}function J(i){return typeof i?.browser?.start=="function"?i:typeof i?.default?.browser?.start=="function"?i.default:null}async function F(){let i;try{i=await import("vibium")}catch(t){if(t.code!=="ERR_MODULE_NOT_FOUND"&&t.code!=="MODULE_NOT_FOUND")throw t;let r;try{r=B()}catch(n){throw new Error(`Vibium is not installed; run ${l}`,{cause:n})}i=x(r)}let e=J(i);if(!e)throw new Error(`Unsupported Vibium API: the installed package exposes no browser.start() (neither as a named nor a default export); run ${l}`);return e}function P(){try{let i=g(k(B()),"..","bin","cli.js");return N(process.execPath,[i,"is-installed"],{timeout:5e3,stdio:"ignore"}),!0}catch{return!1}}var l,x,_=p(()=>{"use strict";l="aqe init --browser-engine (or npm install vibium@^26.8.21)",x=T(import.meta.url)});var M,U=p(()=>{"use strict";M={enabled:!0,headless:!0,timeout:3e4,retryAttempts:3,fallbackEnabled:!0,browserType:"chromium",viewport:{width:1280,height:720},userAgent:"",devtools:!1,slowMo:0,screenshotDir:".agentic-qe/screenshots"}});function W(i){return i instanceof o}function a(i,e="Unknown Vibium error"){return W(i)?i:i instanceof Error?new o(i.message||e,"UNKNOWN_ERROR",i):new o(typeof i=="string"?i:e,"UNKNOWN_ERROR")}var o,m,v,w,b,E,d,f,$=p(()=>{"use strict";o=class i extends Error{constructor(t,r,n){super(t);this.code=r;this.cause=n;this.name="VibiumError",Error.captureStackTrace&&Error.captureStackTrace(this,i),n?.stack&&(this.stack+=`
3
- Caused by: ${n.stack}`)}code;cause},m=class extends o{constructor(e="Vibium MCP server is unavailable",t){super(e,"VIBIUM_UNAVAILABLE",t),this.name="VibiumUnavailableError"}},v=class extends o{constructor(e="Browser operation timed out",t){super(e,"VIBIUM_TIMEOUT",t),this.name="VibiumTimeoutError"}},w=class extends o{selector;constructor(e,t){super(`Element not found: ${e}`,"ELEMENT_NOT_FOUND",t),this.name="VibiumElementNotFoundError",this.selector=e}},b=class extends o{constructor(e="Failed to connect to browser",t){super(e,"CONNECTION_ERROR",t),this.name="VibiumConnectionError"}},E=class extends o{url;statusCode;constructor(e,t,r){let n=t?`Navigation failed: ${e} (HTTP ${t})`:`Navigation failed: ${e}`;super(n,"NAVIGATION_ERROR",r),this.name="VibiumNavigationError",this.url=e,this.statusCode=t}},d=class extends o{constructor(e="Failed to capture screenshot",t){super(e,"SCREENSHOT_ERROR",t),this.name="VibiumScreenshotError"}},f=class extends o{action;selector;constructor(e,t,r){super(`Failed to ${e} element: ${t}`,"INTERACTION_ERROR",r),this.name="VibiumInteractionError",this.action=e,this.selector=t}}});import{randomUUID as K}from"crypto";async function C(){if(y!==null)return y;try{return y=(await F()).browser,D=!0,y}catch(i){return console.warn("[Vibium] Failed to load vibium package:",i),D=!1,null}}async function L(i,e,t){let r;for(let n=1;n<=e;n++)try{return await i()}catch(s){if(r=S(s),n<e){let u=Math.min(100*Math.pow(2,n-1),2e3);await new Promise(c=>setTimeout(c,u))}}throw new o(`${t} failed after ${e} attempts`,"RETRY_EXHAUSTED",r)}async function h(i,e){let t=Date.now();try{let r=await i();return V()&&console.log(`[Vibium] ${e}: ${Date.now()-t}ms`),r}catch(r){throw V()&&console.log(`[Vibium] ${e} failed: ${Date.now()-t}ms`,r),r}}var y,D,R,H,X=p(()=>{_();U();$();q();z();y=null,D=!1;R=class{config;currentSession=null;lastHealthCheck=null;_initialized=!1;_available=null;vibeInstance=null;browserInstance=null;constructor(e={}){this.config={...M,...e}}async isAvailable(){if(!this.config.enabled)return!1;if(this._available!==null)return this._available;try{let e=await C();return this._available=e!==null&&P(),this._available}catch{return this._available=!1,!1}}async getHealth(){let e=new Date;if(!this.config.enabled)return{status:"unavailable",features:["fallback-only"],lastChecked:e,error:"Vibium is disabled by configuration",sessionActive:!1};try{await this.isAvailable()?this.lastHealthCheck={status:this.vibeInstance?"connected":"disconnected",browserType:this.config.browserType,features:["browser-launch","navigation","element-interaction","screenshots","script-evaluation","accessibility-testing"],latencyMs:10,lastChecked:e,sessionActive:this.vibeInstance!==null}:this.lastHealthCheck={status:"unavailable",features:["fallback-only"],lastChecked:e,error:`Vibium runtime or browser payload unavailable; run ${l}`,sessionActive:!1}}catch(t){this.lastHealthCheck={status:"error",features:["fallback-only"],lastChecked:e,error:t instanceof Error?t.message:"Unknown error",sessionActive:!1}}return this.lastHealthCheck}async getSession(){return this.currentSession}async launch(e){if(!A())return{success:!1,error:new m("Browser mode is disabled by feature flags")};let t=async()=>{let r=await C();if(!r)throw new m(`Vibium runtime unavailable; run ${l}`);let n=e?.headless??this.config.headless;if(!P())throw new m(`Vibium browser payload unavailable; run ${l}`);let s=await r.start({headless:n});try{this.vibeInstance=await s.page(),this.browserInstance=s}catch(c){throw await s.stop(),c}let u={id:this.generateSessionId(),browserType:this.config.browserType,launchedAt:new Date,status:"connected",viewport:e?.viewport??this.config.viewport,headless:n};return this.currentSession=u,u};try{return{success:!0,value:I()?await L(()=>h(t,"browser_launch"),this.config.retryAttempts,"browser_launch"):await h(t,"browser_launch")}}catch(r){return{success:!1,error:a(r,"Failed to launch browser")}}}async quit(){if(!this.vibeInstance)return{success:!1,error:new b("No active browser session")};let e=async()=>{this.vibeInstance&&(await this.browserInstance?.stop(),this.vibeInstance=null,this.browserInstance=null),this.currentSession=null};try{return await h(e,"browser_quit"),{success:!0,value:void 0}}catch(t){return{success:!1,error:a(t,"Failed to quit browser")}}}async navigate(e){this.ensureSession();let t=async()=>{let r=Date.now();await this.vibeInstance.go(e.url);let n="";try{n=await this.vibeInstance.evaluate("document.title")}catch{n="Unknown"}let s={url:e.url,statusCode:200,title:n,durationMs:Date.now()-r,success:!0};return this.currentSession&&(this.currentSession.currentUrl=e.url),s};try{return{success:!0,value:I()?await L(()=>h(t,"page_navigate"),this.config.retryAttempts,"page_navigate"):await h(t,"page_navigate")}}catch(r){return{success:!1,error:new E(e.url,void 0,r instanceof Error?r:void 0)}}}async getPageInfo(){this.ensureSession();try{let e=await this.vibeInstance.evaluate("window.location.href"),t=await this.vibeInstance.evaluate("document.title");return{success:!0,value:{url:e,title:t,viewport:this.config.viewport,loadState:"loaded"}}}catch(e){return{success:!1,error:a(e,"Failed to get page info")}}}async goBack(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.history.back()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to go back")}}}async goForward(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.history.forward()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to go forward")}}}async reload(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.location.reload()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to reload page")}}}async findElement(e){this.ensureSession();try{let t=await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout});return{success:!0,value:{selector:e.selector,tagName:t.info.tag,textContent:t.info.text,attributes:{},boundingBox:t.info.box,visible:!0,enabled:!0}}}catch(t){return{success:!1,error:new w(e.selector,t instanceof Error?t:void 0)}}}async findElements(e){this.ensureSession();try{let t=e.selector.replace(/\\/g,"\\\\").replace(/'/g,"\\'");return{success:!0,value:(await this.vibeInstance.evaluate(`
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.15.3");process.exit(0)}
2
+ import{a as T,b as G}from"./chunk-YGEC3PSD.js";import{e as A,f as O,j as R,k as I,q as z}from"./chunk-VRT736E3.js";import{b as S,e as q}from"./chunk-2GJJGO5D.js";import{b as p}from"./chunk-WSUYEVSY.js";import{createRequire as N}from"node:module";import{execFileSync as k}from"node:child_process";import{existsSync as j}from"node:fs";import{dirname as J,join as V}from"node:path";function W(i=process.platform,e=process.execPath,t=j){return T("npm",i,e,t)??["npm",[]]}function B(){try{return x.resolve("vibium")}catch{try{return N(V(process.cwd(),"package.json")).resolve("vibium")}catch{}let[i,e]=W(),t=k(i,[...e,"root","-g"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}).trim();return x.resolve(V(t,"vibium"))}}function K(i){return typeof i?.browser?.start=="function"?i:typeof i?.default?.browser?.start=="function"?i.default:null}async function F(){let i;try{i=await import("vibium")}catch(t){if(t.code!=="ERR_MODULE_NOT_FOUND"&&t.code!=="MODULE_NOT_FOUND")throw t;let r;try{r=B()}catch(s){throw new Error(`Vibium is not installed; run ${l}`,{cause:s})}i=x(r)}let e=K(i);if(!e)throw new Error(`Unsupported Vibium API: the installed package exposes no browser.start() (neither as a named nor a default export); run ${l}`);return e}function P(){try{let i=V(J(B()),"..","bin","cli.js");return k(process.execPath,[i,"is-installed"],{timeout:5e3,stdio:"ignore"}),!0}catch{return!1}}var l,x,_=p(()=>{"use strict";G();l="aqe init --browser-engine (or npm install vibium@^26.8.21)",x=N(import.meta.url)});var M,U=p(()=>{"use strict";M={enabled:!0,headless:!0,timeout:3e4,retryAttempts:3,fallbackEnabled:!0,browserType:"chromium",viewport:{width:1280,height:720},userAgent:"",devtools:!1,slowMo:0,screenshotDir:".agentic-qe/screenshots"}});function X(i){return i instanceof o}function a(i,e="Unknown Vibium error"){return X(i)?i:i instanceof Error?new o(i.message||e,"UNKNOWN_ERROR",i):new o(typeof i=="string"?i:e,"UNKNOWN_ERROR")}var o,m,g,v,b,w,d,f,$=p(()=>{"use strict";o=class i extends Error{constructor(t,r,s){super(t);this.code=r;this.cause=s;this.name="VibiumError",Error.captureStackTrace&&Error.captureStackTrace(this,i),s?.stack&&(this.stack+=`
3
+ Caused by: ${s.stack}`)}code;cause},m=class extends o{constructor(e="Vibium MCP server is unavailable",t){super(e,"VIBIUM_UNAVAILABLE",t),this.name="VibiumUnavailableError"}},g=class extends o{constructor(e="Browser operation timed out",t){super(e,"VIBIUM_TIMEOUT",t),this.name="VibiumTimeoutError"}},v=class extends o{selector;constructor(e,t){super(`Element not found: ${e}`,"ELEMENT_NOT_FOUND",t),this.name="VibiumElementNotFoundError",this.selector=e}},b=class extends o{constructor(e="Failed to connect to browser",t){super(e,"CONNECTION_ERROR",t),this.name="VibiumConnectionError"}},w=class extends o{url;statusCode;constructor(e,t,r){let s=t?`Navigation failed: ${e} (HTTP ${t})`:`Navigation failed: ${e}`;super(s,"NAVIGATION_ERROR",r),this.name="VibiumNavigationError",this.url=e,this.statusCode=t}},d=class extends o{constructor(e="Failed to capture screenshot",t){super(e,"SCREENSHOT_ERROR",t),this.name="VibiumScreenshotError"}},f=class extends o{action;selector;constructor(e,t,r){super(`Failed to ${e} element: ${t}`,"INTERACTION_ERROR",r),this.name="VibiumInteractionError",this.action=e,this.selector=t}}});import{randomUUID as Y}from"crypto";async function C(){if(E!==null)return E;try{return E=(await F()).browser,D=!0,E}catch(i){return console.warn("[Vibium] Failed to load vibium package:",i),D=!1,null}}async function L(i,e,t){let r;for(let s=1;s<=e;s++)try{return await i()}catch(n){if(r=S(n),s<e){let u=Math.min(100*Math.pow(2,s-1),2e3);await new Promise(c=>setTimeout(c,u))}}throw new o(`${t} failed after ${e} attempts`,"RETRY_EXHAUSTED",r)}async function h(i,e){let t=Date.now();try{let r=await i();return I()&&console.log(`[Vibium] ${e}: ${Date.now()-t}ms`),r}catch(r){throw I()&&console.log(`[Vibium] ${e} failed: ${Date.now()-t}ms`,r),r}}var E,D,y,H,Q=p(()=>{_();U();$();q();z();E=null,D=!1;y=class{config;currentSession=null;lastHealthCheck=null;_initialized=!1;_available=null;vibeInstance=null;browserInstance=null;constructor(e={}){this.config={...M,...e}}async isAvailable(){if(!this.config.enabled)return!1;if(this._available!==null)return this._available;try{let e=await C();return this._available=e!==null&&P(),this._available}catch{return this._available=!1,!1}}async getHealth(){let e=new Date;if(!this.config.enabled)return{status:"unavailable",features:["fallback-only"],lastChecked:e,error:"Vibium is disabled by configuration",sessionActive:!1};try{await this.isAvailable()?this.lastHealthCheck={status:this.vibeInstance?"connected":"disconnected",browserType:this.config.browserType,features:["browser-launch","navigation","element-interaction","screenshots","script-evaluation","accessibility-testing"],latencyMs:10,lastChecked:e,sessionActive:this.vibeInstance!==null}:this.lastHealthCheck={status:"unavailable",features:["fallback-only"],lastChecked:e,error:`Vibium runtime or browser payload unavailable; run ${l}`,sessionActive:!1}}catch(t){this.lastHealthCheck={status:"error",features:["fallback-only"],lastChecked:e,error:t instanceof Error?t.message:"Unknown error",sessionActive:!1}}return this.lastHealthCheck}async getSession(){return this.currentSession}async launch(e){if(!A())return{success:!1,error:new m("Browser mode is disabled by feature flags")};let t=async()=>{let r=await C();if(!r)throw new m(`Vibium runtime unavailable; run ${l}`);let s=e?.headless??this.config.headless;if(!P())throw new m(`Vibium browser payload unavailable; run ${l}`);let n=await r.start({headless:s});try{this.vibeInstance=await n.page(),this.browserInstance=n}catch(c){throw await n.stop(),c}let u={id:this.generateSessionId(),browserType:this.config.browserType,launchedAt:new Date,status:"connected",viewport:e?.viewport??this.config.viewport,headless:s};return this.currentSession=u,u};try{return{success:!0,value:R()?await L(()=>h(t,"browser_launch"),this.config.retryAttempts,"browser_launch"):await h(t,"browser_launch")}}catch(r){return{success:!1,error:a(r,"Failed to launch browser")}}}async quit(){if(!this.vibeInstance)return{success:!1,error:new b("No active browser session")};let e=async()=>{this.vibeInstance&&(await this.browserInstance?.stop(),this.vibeInstance=null,this.browserInstance=null),this.currentSession=null};try{return await h(e,"browser_quit"),{success:!0,value:void 0}}catch(t){return{success:!1,error:a(t,"Failed to quit browser")}}}async navigate(e){this.ensureSession();let t=async()=>{let r=Date.now();await this.vibeInstance.go(e.url);let s="";try{s=await this.vibeInstance.evaluate("document.title")}catch{s="Unknown"}let n={url:e.url,statusCode:200,title:s,durationMs:Date.now()-r,success:!0};return this.currentSession&&(this.currentSession.currentUrl=e.url),n};try{return{success:!0,value:R()?await L(()=>h(t,"page_navigate"),this.config.retryAttempts,"page_navigate"):await h(t,"page_navigate")}}catch(r){return{success:!1,error:new w(e.url,void 0,r instanceof Error?r:void 0)}}}async getPageInfo(){this.ensureSession();try{let e=await this.vibeInstance.evaluate("window.location.href"),t=await this.vibeInstance.evaluate("document.title");return{success:!0,value:{url:e,title:t,viewport:this.config.viewport,loadState:"loaded"}}}catch(e){return{success:!1,error:a(e,"Failed to get page info")}}}async goBack(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.history.back()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to go back")}}}async goForward(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.history.forward()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to go forward")}}}async reload(){this.ensureSession();try{return await this.vibeInstance.evaluate("window.location.reload()"),{success:!0,value:void 0}}catch(e){return{success:!1,error:a(e,"Failed to reload page")}}}async findElement(e){this.ensureSession();try{let t=await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout});return{success:!0,value:{selector:e.selector,tagName:t.info.tag,textContent:t.info.text,attributes:{},boundingBox:t.info.box,visible:!0,enabled:!0}}}catch(t){return{success:!1,error:new v(e.selector,t instanceof Error?t:void 0)}}}async findElements(e){this.ensureSession();try{let t=e.selector.replace(/\\/g,"\\\\").replace(/'/g,"\\'");return{success:!0,value:(await this.vibeInstance.evaluate(`
4
4
  Array.from(document.querySelectorAll('${t}'))
5
5
  .map(el => ({
6
6
  tag: el.tagName.toLowerCase(),
7
7
  text: el.textContent?.trim() || ''
8
8
  }))
9
- `)).map((s,u)=>({selector:`${e.selector}:nth-child(${u+1})`,tagName:s.tag,textContent:s.text,attributes:{},visible:!0,enabled:!0}))}}catch(t){return{success:!1,error:a(t,"Failed to find elements")}}}async click(e){this.ensureSession();let t=Date.now();try{return await(await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout})).click({timeout:e.timeout??this.config.timeout}),{success:!0,value:{success:!0,durationMs:Date.now()-t}}}catch(r){return{success:!1,error:new f("click",e.selector,r instanceof Error?r:void 0)}}}async type(e){this.ensureSession();let t=Date.now();try{let r=await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout});if(e.clear){let s=e.selector.replace(/\\/g,"\\\\").replace(/'/g,"\\'");await this.vibeInstance.evaluate(`
10
- const el = document.querySelector('${s}');
9
+ `)).map((n,u)=>({selector:`${e.selector}:nth-child(${u+1})`,tagName:n.tag,textContent:n.text,attributes:{},visible:!0,enabled:!0}))}}catch(t){return{success:!1,error:a(t,"Failed to find elements")}}}async click(e){this.ensureSession();let t=Date.now();try{return await(await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout})).click({timeout:e.timeout??this.config.timeout}),{success:!0,value:{success:!0,durationMs:Date.now()-t}}}catch(r){return{success:!1,error:new f("click",e.selector,r instanceof Error?r:void 0)}}}async type(e){this.ensureSession();let t=Date.now();try{let r=await this.vibeInstance.find(e.selector,{timeout:e.timeout??this.config.timeout});if(e.clear){let n=e.selector.replace(/\\/g,"\\\\").replace(/'/g,"\\'");await this.vibeInstance.evaluate(`
10
+ const el = document.querySelector('${n}');
11
11
  if (el) el.value = '';
12
- `)}return await r.type(e.text,{timeout:e.timeout??this.config.timeout}),{success:!0,value:{success:!0,durationMs:Date.now()-t}}}catch(r){return{success:!1,error:new f("type",e.selector,r instanceof Error?r:void 0)}}}async getText(e){this.ensureSession();try{return{success:!0,value:await(await this.vibeInstance.find(e)).text()}}catch(t){return{success:!1,error:a(t,`Failed to get text from ${e}`)}}}async getAttribute(e,t){this.ensureSession();try{return{success:!0,value:await(await this.vibeInstance.find(e)).getAttribute(t)??""}}catch(r){return{success:!1,error:a(r,`Failed to get attribute ${t} from ${e}`)}}}async waitForElement(e,t){this.ensureSession();try{let r=await this.vibeInstance.find(e,{timeout:t?.timeout??this.config.timeout});return{success:!0,value:{selector:e,tagName:r.info.tag,textContent:r.info.text,attributes:{},boundingBox:r.info.box,visible:!0,enabled:!0}}}catch(r){return{success:!1,error:new v(`Element ${e} not found within timeout`,r instanceof Error?r:void 0)}}}async screenshot(e){if(this.ensureSession(),!O())return{success:!1,error:new d("Screenshot capture is disabled by feature flags")};try{let t=await this.vibeInstance.screenshot(),r=t.toString("base64");return e?.path&&await(await import("fs/promises")).writeFile(e.path,t),{success:!0,value:{base64:e?.path?void 0:r,path:e?.path,format:e?.format??"png",dimensions:this.config.viewport,sizeBytes:t.length,capturedAt:new Date}}}catch(t){return{success:!1,error:new d("Failed to capture screenshot",t instanceof Error?t:void 0)}}}async compareScreenshots(e,t,r=.01){try{let n=await import("fs/promises"),s=await n.readFile(e),u=await n.readFile(t),c=s.equals(u);return{success:!0,value:{matches:c,differencePercent:c?0:100,diffRegions:[],comparedAt:new Date}}}catch(n){return{success:!1,error:a(n,"Failed to compare screenshots")}}}async evaluate(e,t){this.ensureSession();try{return{success:!0,value:await this.vibeInstance.evaluate(`(async () => { ${e} })()`)}}catch(r){return{success:!1,error:a(r,"Failed to evaluate script")}}}async checkAccessibility(e){return this.ensureSession(),{success:!1,error:new o("Use axe-core-integration module for accessibility testing. Call injectAxeCore() then runAxeAudit() using client.evaluate().","USE_AXE_CORE_INTEGRATION")}}async initialize(){await C(),this._initialized=!0}async dispose(){if(this.vibeInstance){try{await this.browserInstance?.stop()}catch(e){console.debug("[VibiumClient] Disposal error:",e instanceof Error?e.message:e)}this.vibeInstance=null,this.browserInstance=null}this.currentSession=null,this._initialized=!1,this._available=null}ensureSession(){if(!this.vibeInstance)throw new b("No active browser session. Call launch() first.")}generateSessionId(){return`vibium-session-${Date.now()}-${K().slice(0,9)}`}},H=class i{static instance=null;client=null;config;constructor(e={}){this.config=e}static getInstance(e){return i.instance||(i.instance=new i(e)),i.instance}static resetInstance(){i.instance?.client&&i.instance.client.dispose(),i.instance=null}async getClient(){return this.client||(this.client=new R(this.config),await this.client.initialize()),this.client}getClientSync(){return this.client||(this.client=new R(this.config)),this.client}getConfig(){return{...this.config}}configure(e){this.config={...this.config,...e},this.client&&(this.client.dispose(),this.client=null)}async dispose(){this.client&&(await this.client.dispose(),this.client=null)}}});export{U as a,$ as b,R as c,H as d,X as e};
12
+ `)}return await r.type(e.text,{timeout:e.timeout??this.config.timeout}),{success:!0,value:{success:!0,durationMs:Date.now()-t}}}catch(r){return{success:!1,error:new f("type",e.selector,r instanceof Error?r:void 0)}}}async getText(e){this.ensureSession();try{return{success:!0,value:await(await this.vibeInstance.find(e)).text()}}catch(t){return{success:!1,error:a(t,`Failed to get text from ${e}`)}}}async getAttribute(e,t){this.ensureSession();try{return{success:!0,value:await(await this.vibeInstance.find(e)).getAttribute(t)??""}}catch(r){return{success:!1,error:a(r,`Failed to get attribute ${t} from ${e}`)}}}async waitForElement(e,t){this.ensureSession();try{let r=await this.vibeInstance.find(e,{timeout:t?.timeout??this.config.timeout});return{success:!0,value:{selector:e,tagName:r.info.tag,textContent:r.info.text,attributes:{},boundingBox:r.info.box,visible:!0,enabled:!0}}}catch(r){return{success:!1,error:new g(`Element ${e} not found within timeout`,r instanceof Error?r:void 0)}}}async screenshot(e){if(this.ensureSession(),!O())return{success:!1,error:new d("Screenshot capture is disabled by feature flags")};try{let t=await this.vibeInstance.screenshot(),r=t.toString("base64");return e?.path&&await(await import("fs/promises")).writeFile(e.path,t),{success:!0,value:{base64:e?.path?void 0:r,path:e?.path,format:e?.format??"png",dimensions:this.config.viewport,sizeBytes:t.length,capturedAt:new Date}}}catch(t){return{success:!1,error:new d("Failed to capture screenshot",t instanceof Error?t:void 0)}}}async compareScreenshots(e,t,r=.01){try{let s=await import("fs/promises"),n=await s.readFile(e),u=await s.readFile(t),c=n.equals(u);return{success:!0,value:{matches:c,differencePercent:c?0:100,diffRegions:[],comparedAt:new Date}}}catch(s){return{success:!1,error:a(s,"Failed to compare screenshots")}}}async evaluate(e,t){this.ensureSession();try{return{success:!0,value:await this.vibeInstance.evaluate(`(async () => { ${e} })()`)}}catch(r){return{success:!1,error:a(r,"Failed to evaluate script")}}}async checkAccessibility(e){return this.ensureSession(),{success:!1,error:new o("Use axe-core-integration module for accessibility testing. Call injectAxeCore() then runAxeAudit() using client.evaluate().","USE_AXE_CORE_INTEGRATION")}}async initialize(){await C(),this._initialized=!0}async dispose(){if(this.vibeInstance){try{await this.browserInstance?.stop()}catch(e){console.debug("[VibiumClient] Disposal error:",e instanceof Error?e.message:e)}this.vibeInstance=null,this.browserInstance=null}this.currentSession=null,this._initialized=!1,this._available=null}ensureSession(){if(!this.vibeInstance)throw new b("No active browser session. Call launch() first.")}generateSessionId(){return`vibium-session-${Date.now()}-${Y().slice(0,9)}`}},H=class i{static instance=null;client=null;config;constructor(e={}){this.config=e}static getInstance(e){return i.instance||(i.instance=new i(e)),i.instance}static resetInstance(){i.instance?.client&&i.instance.client.dispose(),i.instance=null}async getClient(){return this.client||(this.client=new y(this.config),await this.client.initialize()),this.client}getClientSync(){return this.client||(this.client=new y(this.config)),this.client}getConfig(){return{...this.config}}configure(e){this.config={...this.config,...e},this.client&&(this.client.dispose(),this.client=null)}async dispose(){this.client&&(await this.client.dispose(),this.client=null)}}});export{U as a,$ as b,y as c,H as d,Q as e};
@@ -0,0 +1,4 @@
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.15.3");process.exit(0)}
2
+ var a=class extends Error{constructor(r){super(r),this.name="TestRunnerExecutionError"}};function N(e,r,t,n,s,i){let c=(i?.testResults??[]).filter(u=>u.status==="failed"&&(e==="vitest"&&u.message||!u.assertionResults?.some(f=>f.status==="failed"))),o;if(t===null?o="terminated without an exit code":n.passed+n.failed+n.skipped===0?o="reported zero tests":c.length>0||(i?.numRuntimeErrorTestSuites??0)>0||(i?.numFailedTestSuites??0)>0&&n.failed===0?o="reported a suite execution error":(t!==0||i?.success===!1)&&n.failed===0&&(o="failed without a failed assertion"),!o)return;let l=[...c.map(u=>u.message).filter(Boolean),s.trim()].filter(Boolean).join(`
3
+ `).slice(0,4e3);return new a(`${e} ${o} for ${r} (exit code ${t??"unknown"}).`+(l?`
4
+ ${l}`:""))}import{mkdtempSync as g,readFileSync as R,rmSync as y}from"node:fs";import{tmpdir as h}from"node:os";import{join as d}from"node:path";function x(e,r){if(!r)return;let t;try{t=R(r,"utf-8")}catch(n){if(n.code==="ENOENT")return;throw new Error("Could not read the current Vitest JSON report.")}try{let n=JSON.parse(t);if(!n||!Array.isArray(n.testResults))throw new Error("Invalid report")}catch{throw new Error("The current Vitest JSON report is malformed.")}return t}function k(){let e=g(d(h(),"aqe-vitest-report-")),r=d(e,"report.json"),t=!1;return{path:r,args:[`--outputFile=${r}`],read:n=>x(n,r),cleanup:()=>{if(!t){t=!0;try{y(e,{recursive:!0,force:!0})}catch{}}}}}function z(e){let r=e.some(s=>/(^|[\\/])vitest(\.cmd|\.js|\.mjs)?$/i.test(s)),t=e.some((s,i)=>s==="--reporter=json"||s==="--reporter"&&e[i+1]==="json"),n=e.some(s=>s.startsWith("--outputFile"));return r&&t&&!n}import{realpathSync as E,statSync as $}from"node:fs";import{basename as j,dirname as S,extname as b,resolve as p,sep as w}from"node:path";function m(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function F(e,r=process.cwd()){let t=p(r,e);try{return p(E(S(t)),j(t))}catch{return t}}function J(e){try{return $(e).isDirectory()}catch{return b(e)===""}}function P(e,r=process.cwd()){let t=F(e,r),n=t.split(w).join("/"),s=J(t)?"(?:/|$)":"$";return`^${m(n)}${s}`}function q(e,r){let t=m(r);return e==="mocha"?`--grep=${t}`:`--testNamePattern=${t}`}function I(e){return e.some(r=>/(^|[\\/])jest(\.cmd|\.js|\.mjs)?$/i.test(r))}export{a,N as b,k as c,z as d,F as e,P as f,q as g,I as h};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{b as h,d as v,f as T}from"./chunk-D75HDHX3.js";var y={};v(y,{DotProductAttention:()=>z,FlashAttention:()=>k,HyperbolicAttention:()=>C,LinearAttention:()=>j,MoEAttention:()=>W,MultiHeadAttention:()=>F,RuvectorLayer:()=>O,SonaEngine:()=>K,TensorCompress:()=>E,default:()=>I,differentiableSearch:()=>L,getCompressionLevel:()=>B,hierarchicalForward:()=>V,init:()=>D,pipeline:()=>q});import{createRequire as A}from"module";var _,g,I,O,E,L,V,B,D,k,z,F,C,j,W,K,q,R=h(()=>{_=A(import.meta.url),g=_("@ruvector/rvf-node"),I=g,{RuvectorLayer:O,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:()=>$,isRvfNativeAvailable:()=>X,openRvfStore:()=>G,openRvfStoreReadonly:()=>U});import{readFileSync as J,writeFileSync as H,copyFileSync as Q,existsSync as Y}from"fs";function c(){if(S)return m;S=!0;try{let s=(R(),T(y));!s.RvfDatabase&&s.default&&s.default.RvfDatabase&&(s=s.default),m=s}catch{m=null}return m}function w(s){return`${s}.idmap.json`}function N(s){let e=w(s),t=new Map,n=new Map,i=1;if(Y(e))try{let r=JSON.parse(J(e,"utf-8"));i=r.nextLabel;for(let[a,p]of r.entries)t.set(a,p),n.set(p,a)}catch{}return{strToNum:t,numToStr:n,nextLabel:i}}function b(s,e,t){let n={nextLabel:t,entries:Array.from(e.entries())};H(w(s),JSON.stringify(n),"utf-8")}function $(s,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(s,{dimension:e}),i=n.dimension();return new d(n,s,i,new Map,new Map,1)}function G(s){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(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function U(s){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(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function X(){return process.env.AQE_MEMORY_BACKEND==="memory"?!1:c()!==null}var m,S,d,P=h(()=>{m=null,S=!1;d=class s{db;_path;_dimension;strToNum;numToStr;nextLabel;_open;constructor(e,t,n,i,r,a){this.db=e,this._path=t,this._dimension=n,this.strToNum=i,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),i=[],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)),i.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,i,o)}else a=this.db.ingestBatch(n,i);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 i of e){let r=this.strToNum.get(i);r!==void 0&&t.push(r)}if(t.length===0)return 0;let n=this.db.delete(t);for(let i of e){let r=this.strToNum.get(i);r!==void 0&&(this.strToNum.delete(i),this.numToStr.delete(r))}return this.persistIdMap(),n.deleted}fork(e){this.ensureOpen(),Q(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 s(r,e,this._dimension,t,n,this.nextLabel)}status(){this.ensureOpen();let e=this.db.status(),n=this.db.segments().filter(i=>i.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),i=new Map(this.strToNum),r=new Map(this.numToStr);return b(e,i,this.nextLabel),new s(n,e,this._dimension,i,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{$ as a,G as b,U as c,X as d,Z as e,P as f};
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.15.3");process.exit(0)}
2
+ import{b as h,d as v,f as T}from"./chunk-WSUYEVSY.js";var y={};v(y,{DotProductAttention:()=>z,FlashAttention:()=>k,HyperbolicAttention:()=>C,LinearAttention:()=>j,MoEAttention:()=>W,MultiHeadAttention:()=>F,RuvectorLayer:()=>O,SonaEngine:()=>K,TensorCompress:()=>E,default:()=>I,differentiableSearch:()=>L,getCompressionLevel:()=>B,hierarchicalForward:()=>V,init:()=>D,pipeline:()=>q});import{createRequire as A}from"module";var _,g,I,O,E,L,V,B,D,k,z,F,C,j,W,K,q,R=h(()=>{_=A(import.meta.url),g=_("@ruvector/rvf-node"),I=g,{RuvectorLayer:O,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:()=>$,isRvfNativeAvailable:()=>X,openRvfStore:()=>G,openRvfStoreReadonly:()=>U});import{readFileSync as J,writeFileSync as H,copyFileSync as Q,existsSync as Y}from"fs";function c(){if(S)return m;S=!0;try{let s=(R(),T(y));!s.RvfDatabase&&s.default&&s.default.RvfDatabase&&(s=s.default),m=s}catch{m=null}return m}function w(s){return`${s}.idmap.json`}function N(s){let e=w(s),t=new Map,n=new Map,i=1;if(Y(e))try{let r=JSON.parse(J(e,"utf-8"));i=r.nextLabel;for(let[a,p]of r.entries)t.set(a,p),n.set(p,a)}catch{}return{strToNum:t,numToStr:n,nextLabel:i}}function b(s,e,t){let n={nextLabel:t,entries:Array.from(e.entries())};H(w(s),JSON.stringify(n),"utf-8")}function $(s,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(s,{dimension:e}),i=n.dimension();return new d(n,s,i,new Map,new Map,1)}function G(s){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(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function U(s){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(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function X(){return process.env.AQE_MEMORY_BACKEND==="memory"?!1:c()!==null}var m,S,d,P=h(()=>{m=null,S=!1;d=class s{db;_path;_dimension;strToNum;numToStr;nextLabel;_open;constructor(e,t,n,i,r,a){this.db=e,this._path=t,this._dimension=n,this.strToNum=i,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),i=[],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)),i.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,i,o)}else a=this.db.ingestBatch(n,i);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 i of e){let r=this.strToNum.get(i);r!==void 0&&t.push(r)}if(t.length===0)return 0;let n=this.db.delete(t);for(let i of e){let r=this.strToNum.get(i);r!==void 0&&(this.strToNum.delete(i),this.numToStr.delete(r))}return this.persistIdMap(),n.deleted}fork(e){this.ensureOpen(),Q(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 s(r,e,this._dimension,t,n,this.nextLabel)}status(){this.ensureOpen();let e=this.db.status(),n=this.db.segments().filter(i=>i.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),i=new Map(this.strToNum),r=new Map(this.numToStr);return b(e,i,this.nextLabel),new s(n,e,this._dimension,i,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{$ as a,G as b,U as c,X as d,Z as e,P as f};
@@ -1,3 +1,3 @@
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.15.2");process.exit(0)}
2
- import{a as p}from"./chunk-I7ECEOFV.js";import{e as g}from"./chunk-CV7E627D.js";p();import{format as R}from"node:util";var c=2,E={debug:0,info:1,warn:2,warning:2,error:3,silent:4,none:4,off:4},C=new Set(["1","true","yes","on"]),b=/\x1b\[[0-9;]*m/g,N=/^\[(?:\d{2}:\d{2}:\d{2}\.\d{3}|\d{4}-\d{2}-\d{2}T[^\]]+)\]\s+\[(DEBUG|INFO|WARN|ERROR)\s*\]/,O=/^\[[A-Za-z][\w./:-]*\]\s/,S={debug:0,log:1,info:1,warn:2,error:3},d=c;function s(o){if(o)return E[o.trim().toLowerCase()]}function _(o=process.env,e=c){let t=s(o.AQE_LOG_LEVEL)??s(o.LOG_LEVEL);return t!==void 0?t:o.AQE_VERBOSE&&C.has(o.AQE_VERBOSE.trim().toLowerCase())?1:e}function x(o,e){if(typeof e!="string")return null;let t=e.replace(b,""),r=N.exec(t.trimStart());return r?E[r[1].toLowerCase()]:O.test(t)?S[o]:null}function I(o=process.env){return s(o.AQE_LOG_LEVEL)!==void 0||s(o.LOG_LEVEL)!==void 0}function m(o,e=process.env){return o.verbose!==!0||I(e)||a(1)?!1:(f(1),!0)}function a(o){return o>=d&&d!==4}function f(o){d=o,g.setLevel(o)}function k(o={}){let e=o.target??console,t=o.writeStderr??(n=>{process.stderr.write(n)});f(o.level??_());let r={log:e.log.bind(e),info:e.info.bind(e),debug:e.debug.bind(e),warn:e.warn.bind(e),error:e.error.bind(e)},l=n=>t(R(...n)+`
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.15.3");process.exit(0)}
2
+ import{a as p}from"./chunk-INVDDFJC.js";import{e as g}from"./chunk-FPFGN2Z5.js";p();import{format as R}from"node:util";var c=2,E={debug:0,info:1,warn:2,warning:2,error:3,silent:4,none:4,off:4},C=new Set(["1","true","yes","on"]),b=/\x1b\[[0-9;]*m/g,N=/^\[(?:\d{2}:\d{2}:\d{2}\.\d{3}|\d{4}-\d{2}-\d{2}T[^\]]+)\]\s+\[(DEBUG|INFO|WARN|ERROR)\s*\]/,O=/^\[[A-Za-z][\w./:-]*\]\s/,S={debug:0,log:1,info:1,warn:2,error:3},d=c;function s(o){if(o)return E[o.trim().toLowerCase()]}function _(o=process.env,e=c){let t=s(o.AQE_LOG_LEVEL)??s(o.LOG_LEVEL);return t!==void 0?t:o.AQE_VERBOSE&&C.has(o.AQE_VERBOSE.trim().toLowerCase())?1:e}function x(o,e){if(typeof e!="string")return null;let t=e.replace(b,""),r=N.exec(t.trimStart());return r?E[r[1].toLowerCase()]:O.test(t)?S[o]:null}function I(o=process.env){return s(o.AQE_LOG_LEVEL)!==void 0||s(o.LOG_LEVEL)!==void 0}function m(o,e=process.env){return o.verbose!==!0||I(e)||a(1)?!1:(f(1),!0)}function a(o){return o>=d&&d!==4}function f(o){d=o,g.setLevel(o)}function k(o={}){let e=o.target??console,t=o.writeStderr??(n=>{process.stderr.write(n)});f(o.level??_());let r={log:e.log.bind(e),info:e.info.bind(e),debug:e.debug.bind(e),warn:e.warn.bind(e),error:e.error.bind(e)},l=n=>t(R(...n)+`
3
3
  `),i=(n,v,w)=>(...L)=>{let u=x(n,L[0]);u===null?v(L):a(u)&&w(L)};return e.log=i("log",n=>r.log(...n),l),e.debug=i("debug",n=>r.debug(...n),l),e.info=i("info",l,l),e.warn=i("warn",n=>r.warn(...n),n=>r.warn(...n)),e.error=i("error",n=>r.error(...n),n=>r.error(...n)),()=>{e.log=r.log,e.info=r.info,e.debug=r.debug,e.warn=r.warn,e.error=r.error}}export{_ as a,m as b,a as c,f as d,k as e};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(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.15.3");process.exit(0)}
2
2
  function r(e,f){if(e==null)return e;let n={...e};for(let t of f){let o=n[t];typeof o=="string"&&(n[t]=new Date(o))}return n}export{r as a};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{b as c,d as f,e as g,f as X}from"./chunk-3KXKJSKS.js";import{createHash as I}from"crypto";import{existsSync as O,readFileSync as b,writeFileSync as D,openSync as F,writeSync as y,closeSync as S}from"fs";X();var U=[`CREATE TABLE IF NOT EXISTS qe_patterns (
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.15.3");process.exit(0)}
2
+ import{b as c,d as f,e as g,f as X}from"./chunk-7SWHW5AC.js";import{createHash as I}from"crypto";import{existsSync as O,readFileSync as b,writeFileSync as D,openSync as F,writeSync as y,closeSync as S}from"fs";X();var U=[`CREATE TABLE IF NOT EXISTS qe_patterns (
3
3
  id TEXT PRIMARY KEY, pattern_type TEXT NOT NULL, qe_domain TEXT NOT NULL,
4
4
  domain TEXT NOT NULL, name TEXT NOT NULL, description TEXT,
5
5
  confidence REAL DEFAULT 0.5, usage_count INTEGER DEFAULT 0,
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{a as _}from"./chunk-326V7N25.js";import{a as w}from"./chunk-EQG3JYSV.js";import{d as k,f as q}from"./chunk-E2QHUMCR.js";import{o as M,s as U}from"./chunk-3KXKJSKS.js";import{b as f,d as P}from"./chunk-URWT3EQT.js";import{a as g,e as F}from"./chunk-3KTAMNKI.js";import{a as R}from"./chunk-D75HDHX3.js";import{randomUUID as Q}from"crypto";U();P();F();var x={alpha:.1,minOutcomes:10,weightFloor:.2,weightCeiling:2},p=class{records=new Map;config;constructor(e){this.config={...x,...e}}recordOutcome(e,t,o){let{alpha:i,minOutcomes:r,weightFloor:s,weightCeiling:n}=this.config,c=this.records.get(e),d=t?1:0,a=Math.max(0,Math.min(1,o)),l,u;c?(l=i*d+(1-i)*c.emaAccuracy,u=i*a+(1-i)*c.emaQuality):(l=d,u=a);let h=(c?.totalOutcomes??0)+1,C;h>=r?C=Math.max(s,Math.min(n,l*2)):C=1;let S={agentId:e,emaAccuracy:l,emaQuality:u,calibratedWeight:C,totalOutcomes:h,lastUpdated:new Date};return this.records.set(e,S),S}getCalibration(e){return this.records.get(e)??null}getCalibratedWeight(e){let t=this.records.get(e);return!t||t.totalOutcomes<this.config.minOutcomes?1:t.calibratedWeight}getAllCalibrations(){return Array.from(this.records.values())}reset(e){e!==void 0?this.records.delete(e):this.records.clear()}serialize(){let e={};for(let[t,o]of this.records)e[t]={...o};return e}deserialize(e){this.records.clear();for(let[t,o]of Object.entries(e))this.records.set(t,{...o,lastUpdated:new Date(o.lastUpdated)})}};var D={escalateAfterFailures:2,deEscalateAfterSuccesses:5,maxTier:"opus",minTier:"haiku"},I=["booster","haiku","sonnet","opus"],b=class{config;tierOrder;states=new Map;constructor(e){this.config={...D,...e},this.tierOrder=this.config.tierOrder??I}tierIndex(e){return this.tierOrder.indexOf(e)}recordOutcome(e,t,o){let i=this.states.get(e);i||(i={agentId:e,currentTier:o,baseTier:o,consecutiveFailures:0,consecutiveSuccesses:0,escalationCount:0,deEscalationCount:0,lastAction:"none",lastActionTimestamp:new Date},this.states.set(e,i));let r=i.currentTier;if(t){if(i.consecutiveSuccesses++,i.consecutiveFailures=0,i.consecutiveSuccesses>=this.config.deEscalateAfterSuccesses){let s=this.tierIndex(i.currentTier),n=this.tierIndex(this.config.minTier);if(s>n)return i.currentTier=this.tierOrder[s-1],i.deEscalationCount++,i.consecutiveSuccesses=0,i.lastAction="de-escalate",i.lastActionTimestamp=new Date,{action:"de-escalate",previousTier:r,newTier:i.currentTier}}}else if(i.consecutiveFailures++,i.consecutiveSuccesses=0,i.consecutiveFailures>=this.config.escalateAfterFailures){let s=this.tierIndex(i.currentTier),n=this.tierIndex(this.config.maxTier);if(s>=0&&s<n)return i.currentTier=this.tierOrder[s+1],i.escalationCount++,i.consecutiveFailures=0,i.lastAction="escalate",i.lastActionTimestamp=new Date,{action:"escalate",previousTier:r,newTier:i.currentTier}}return{action:"none",previousTier:r,newTier:i.currentTier}}getCurrentTier(e){return this.states.get(e)?.currentTier??null}getState(e){return this.states.get(e)??null}getAllStates(){return Array.from(this.states.values())}reset(e){e?this.states.delete(e):this.states.clear()}};var T={booster:{avgInputTokens:0,avgOutputTokens:0,costPerTask:0},haiku:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.0035},sonnet:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.021},opus:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.105}},v=["booster","haiku","sonnet","opus"],y=T.opus.costPerTask,L={qualityWeight:.6,costWeight:.4,budgetPerHourUsd:0,budgetPerDayUsd:0,minQualityThreshold:.5,enabled:!0},N=.15,E=class{config;costTracker;tierQualityEstimates=new Map;tierOutcomeCounts=new Map;constructor(e,t){let o={...L,...t};o.qualityWeight=Math.max(0,Math.min(1,o.qualityWeight)),o.costWeight=Math.max(0,Math.min(1,o.costWeight)),o.minQualityThreshold=Math.max(0,Math.min(1,o.minQualityThreshold)),o.budgetPerHourUsd=Math.max(0,o.budgetPerHourUsd),o.budgetPerDayUsd=Math.max(0,o.budgetPerDayUsd);let i=o.qualityWeight+o.costWeight;i>0&&i!==1&&(o.qualityWeight/=i,o.costWeight/=i),this.config=o,this.costTracker=e,this.tierQualityEstimates.set("booster",.3),this.tierQualityEstimates.set("haiku",.55),this.tierQualityEstimates.set("sonnet",.75),this.tierQualityEstimates.set("opus",.9)}scoreTiers(e){let t=v.map(o=>{let i=this.getQualityEstimate(o,e),r=T[o].costPerTask,s=r>0?i/r:i>0?1/0:0,n=y>0?1-r/y:1,c=this.config.qualityWeight*i+this.config.costWeight*n;return{tier:o,qualityScore:i,estimatedCostUsd:r,qualityPerDollar:s,economicScore:c}});return t.sort((o,i)=>i.economicScore-o.economicScore),t}selectTier(e){let t=this.scoreTiers(e);for(let r of t)if(!(r.qualityScore<this.config.minQualityThreshold)&&!this.wouldExceedBudget(r.tier))return{tier:r.tier,reason:`Best economic score (${r.economicScore.toFixed(3)}): quality=${r.qualityScore.toFixed(2)}, cost=$${r.estimatedCostUsd.toFixed(4)}`,scores:t};let o=t.filter(r=>r.qualityScore>=this.config.minQualityThreshold);if(o.length>0){let r=[...o].sort((s,n)=>s.estimatedCostUsd-n.estimatedCostUsd)[0];return{tier:r.tier,reason:`Budget constrained fallback to ${r.tier}`,scores:t}}let i=[...t].sort((r,s)=>s.qualityScore-r.qualityScore)[0];return{tier:i.tier,reason:`No tier meets quality threshold ${this.config.minQualityThreshold}; using best quality: ${i.tier}`,scores:t}}wouldExceedBudget(e){let t=T[e].costPerTask;if(t===0)return!1;let o=this.costTracker.getCurrentCost("hour"),i=this.costTracker.getCurrentCost("day");return this.config.budgetPerHourUsd>0&&o+t>this.config.budgetPerHourUsd||this.config.budgetPerDayUsd>0&&i+t>this.config.budgetPerDayUsd}updateFromOutcome(e,t){let o=e.outcome.qualityScore,i=this.tierQualityEstimates.get(t)??.5,r=this.tierOutcomeCounts.get(t)??0,s=r<5?.4:N,n=i*(1-s)+o*s;this.tierQualityEstimates.set(t,n),this.tierOutcomeCounts.set(t,r+1)}getEconomicReport(){let e=this.scoreTiers(.5),t=this.costTracker.getCurrentCost("hour"),o=this.costTracker.getCurrentCost("day"),i={hourly:this.config.budgetPerHourUsd>0?Math.max(0,this.config.budgetPerHourUsd-t):null,daily:this.config.budgetPerDayUsd>0?Math.max(0,this.config.budgetPerDayUsd-o):null},r=null,s=[...e].sort((a,l)=>l.qualityPerDollar-a.qualityPerDollar),n=s.find(a=>a.estimatedCostUsd>0&&isFinite(a.qualityPerDollar)),c=[...s].reverse().find(a=>a.estimatedCostUsd>0&&isFinite(a.qualityPerDollar));if(n&&c&&n.tier!==c.tier){let a=c.estimatedCostUsd-n.estimatedCostUsd;a>0&&(r={usd:a,description:`Switch from ${c.tier} ($${c.estimatedCostUsd.toFixed(4)}/task) to ${n.tier} ($${n.estimatedCostUsd.toFixed(4)}/task) for comparable tasks to save ~$${a.toFixed(4)}/task`})}let d=this.generateRecommendation(e,i);return{tierEfficiency:e,currentHourlyCostUsd:t,currentDailyCostUsd:o,budgetRemaining:i,recommendation:d,savingsOpportunity:r}}computeCostAdjustedReward(e,t,o){let i=T[t].costPerTask;if(y===0)return e;let r=i/y,s=Math.max(0,o-this.config.minQualityThreshold),n=r*(1-s),c=e-n*this.config.costWeight;return Math.max(-1,Math.min(1,c))}serializeEstimates(){let e={};for(let t of v)e[t]={quality:this.tierQualityEstimates.get(t)??.5,count:this.tierOutcomeCounts.get(t)??0};return e}deserializeEstimates(e){for(let t of v)e[t]&&(this.tierQualityEstimates.set(t,e[t].quality),this.tierOutcomeCounts.set(t,e[t].count))}getConfig(){return{...this.config}}getQualityEstimate(e,t){let o=this.tierQualityEstimates.get(e)??.5,i=e==="booster"?t*.4:e==="haiku"?t*.2:0;return Math.max(0,Math.min(1,o-i))}generateRecommendation(e,t){if(t.hourly!==null&&t.hourly<.01)return"Hourly budget nearly exhausted. Consider increasing budget or routing to cheaper tiers.";if(t.daily!==null&&t.daily<.1)return"Daily budget nearly exhausted. Only critical tasks should use expensive tiers.";let o=e[0];return o?`Most cost-efficient tier: ${o.tier} (score=${o.economicScore.toFixed(3)}, quality=${o.qualityScore.toFixed(2)})`:"No economic data available yet."}};q();var A=class{outcomes=[];maxOutcomes;constructor(e=1e4){this.maxOutcomes=e}add(e){this.outcomes.push(e),this.outcomes.length>this.maxOutcomes&&(this.outcomes=this.outcomes.slice(-this.maxOutcomes))}getByAgent(e,t=100){return this.outcomes.filter(o=>o.usedAgent===e).slice(-t)}getAll(e=1e3){return this.outcomes.slice(-e)}getRecentOverrides(e=50){return this.outcomes.filter(t=>!t.followedRecommendation).slice(-e)}clear(){this.outcomes=[]}get size(){return this.outcomes.length}},O=class m{static schemaMigrated=!1;outcomeStore;router=null;db=null;calibrator=null;escalationTracker=null;economicModel=null;economicPersistCounter=0;static ECONOMIC_PERSIST_INTERVAL=10;persistCount=0;maxOutcomes;static RETENTION_CLEANUP_INTERVAL=100;constructor(e=1e4,t){this.maxOutcomes=e,this.outcomeStore=new A(e),t?.enableEMACalibration&&this.enableCalibration(),t?.enableAutoEscalation&&this.enableAutoEscalation()}async initialize(){try{this.db=M(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromDb(),this.loadCalibratorState()}catch(e){console.warn("[RoutingFeedbackCollector] DB init failed, using memory-only:",g(e)),this.db=null}}async loadFromDb(){if(!this.db)return;let t=this.db.getDatabase().prepare(`
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.15.3");process.exit(0)}
2
+ import{a as _}from"./chunk-X33LID2T.js";import{a as w}from"./chunk-3Y4GX5FL.js";import{d as k,f as q}from"./chunk-YW4GM36K.js";import{o as M,s as U}from"./chunk-7SWHW5AC.js";import{b as f,d as P}from"./chunk-UGNTLSBL.js";import{a as g,e as F}from"./chunk-2GJJGO5D.js";import{a as R}from"./chunk-WSUYEVSY.js";import{randomUUID as Q}from"crypto";U();P();F();var x={alpha:.1,minOutcomes:10,weightFloor:.2,weightCeiling:2},p=class{records=new Map;config;constructor(e){this.config={...x,...e}}recordOutcome(e,t,o){let{alpha:i,minOutcomes:r,weightFloor:s,weightCeiling:n}=this.config,c=this.records.get(e),d=t?1:0,a=Math.max(0,Math.min(1,o)),l,u;c?(l=i*d+(1-i)*c.emaAccuracy,u=i*a+(1-i)*c.emaQuality):(l=d,u=a);let h=(c?.totalOutcomes??0)+1,C;h>=r?C=Math.max(s,Math.min(n,l*2)):C=1;let S={agentId:e,emaAccuracy:l,emaQuality:u,calibratedWeight:C,totalOutcomes:h,lastUpdated:new Date};return this.records.set(e,S),S}getCalibration(e){return this.records.get(e)??null}getCalibratedWeight(e){let t=this.records.get(e);return!t||t.totalOutcomes<this.config.minOutcomes?1:t.calibratedWeight}getAllCalibrations(){return Array.from(this.records.values())}reset(e){e!==void 0?this.records.delete(e):this.records.clear()}serialize(){let e={};for(let[t,o]of this.records)e[t]={...o};return e}deserialize(e){this.records.clear();for(let[t,o]of Object.entries(e))this.records.set(t,{...o,lastUpdated:new Date(o.lastUpdated)})}};var D={escalateAfterFailures:2,deEscalateAfterSuccesses:5,maxTier:"opus",minTier:"haiku"},I=["booster","haiku","sonnet","opus"],b=class{config;tierOrder;states=new Map;constructor(e){this.config={...D,...e},this.tierOrder=this.config.tierOrder??I}tierIndex(e){return this.tierOrder.indexOf(e)}recordOutcome(e,t,o){let i=this.states.get(e);i||(i={agentId:e,currentTier:o,baseTier:o,consecutiveFailures:0,consecutiveSuccesses:0,escalationCount:0,deEscalationCount:0,lastAction:"none",lastActionTimestamp:new Date},this.states.set(e,i));let r=i.currentTier;if(t){if(i.consecutiveSuccesses++,i.consecutiveFailures=0,i.consecutiveSuccesses>=this.config.deEscalateAfterSuccesses){let s=this.tierIndex(i.currentTier),n=this.tierIndex(this.config.minTier);if(s>n)return i.currentTier=this.tierOrder[s-1],i.deEscalationCount++,i.consecutiveSuccesses=0,i.lastAction="de-escalate",i.lastActionTimestamp=new Date,{action:"de-escalate",previousTier:r,newTier:i.currentTier}}}else if(i.consecutiveFailures++,i.consecutiveSuccesses=0,i.consecutiveFailures>=this.config.escalateAfterFailures){let s=this.tierIndex(i.currentTier),n=this.tierIndex(this.config.maxTier);if(s>=0&&s<n)return i.currentTier=this.tierOrder[s+1],i.escalationCount++,i.consecutiveFailures=0,i.lastAction="escalate",i.lastActionTimestamp=new Date,{action:"escalate",previousTier:r,newTier:i.currentTier}}return{action:"none",previousTier:r,newTier:i.currentTier}}getCurrentTier(e){return this.states.get(e)?.currentTier??null}getState(e){return this.states.get(e)??null}getAllStates(){return Array.from(this.states.values())}reset(e){e?this.states.delete(e):this.states.clear()}};var T={booster:{avgInputTokens:0,avgOutputTokens:0,costPerTask:0},haiku:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.0035},sonnet:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.021},opus:{avgInputTokens:2e3,avgOutputTokens:1e3,costPerTask:.105}},v=["booster","haiku","sonnet","opus"],y=T.opus.costPerTask,L={qualityWeight:.6,costWeight:.4,budgetPerHourUsd:0,budgetPerDayUsd:0,minQualityThreshold:.5,enabled:!0},N=.15,E=class{config;costTracker;tierQualityEstimates=new Map;tierOutcomeCounts=new Map;constructor(e,t){let o={...L,...t};o.qualityWeight=Math.max(0,Math.min(1,o.qualityWeight)),o.costWeight=Math.max(0,Math.min(1,o.costWeight)),o.minQualityThreshold=Math.max(0,Math.min(1,o.minQualityThreshold)),o.budgetPerHourUsd=Math.max(0,o.budgetPerHourUsd),o.budgetPerDayUsd=Math.max(0,o.budgetPerDayUsd);let i=o.qualityWeight+o.costWeight;i>0&&i!==1&&(o.qualityWeight/=i,o.costWeight/=i),this.config=o,this.costTracker=e,this.tierQualityEstimates.set("booster",.3),this.tierQualityEstimates.set("haiku",.55),this.tierQualityEstimates.set("sonnet",.75),this.tierQualityEstimates.set("opus",.9)}scoreTiers(e){let t=v.map(o=>{let i=this.getQualityEstimate(o,e),r=T[o].costPerTask,s=r>0?i/r:i>0?1/0:0,n=y>0?1-r/y:1,c=this.config.qualityWeight*i+this.config.costWeight*n;return{tier:o,qualityScore:i,estimatedCostUsd:r,qualityPerDollar:s,economicScore:c}});return t.sort((o,i)=>i.economicScore-o.economicScore),t}selectTier(e){let t=this.scoreTiers(e);for(let r of t)if(!(r.qualityScore<this.config.minQualityThreshold)&&!this.wouldExceedBudget(r.tier))return{tier:r.tier,reason:`Best economic score (${r.economicScore.toFixed(3)}): quality=${r.qualityScore.toFixed(2)}, cost=$${r.estimatedCostUsd.toFixed(4)}`,scores:t};let o=t.filter(r=>r.qualityScore>=this.config.minQualityThreshold);if(o.length>0){let r=[...o].sort((s,n)=>s.estimatedCostUsd-n.estimatedCostUsd)[0];return{tier:r.tier,reason:`Budget constrained fallback to ${r.tier}`,scores:t}}let i=[...t].sort((r,s)=>s.qualityScore-r.qualityScore)[0];return{tier:i.tier,reason:`No tier meets quality threshold ${this.config.minQualityThreshold}; using best quality: ${i.tier}`,scores:t}}wouldExceedBudget(e){let t=T[e].costPerTask;if(t===0)return!1;let o=this.costTracker.getCurrentCost("hour"),i=this.costTracker.getCurrentCost("day");return this.config.budgetPerHourUsd>0&&o+t>this.config.budgetPerHourUsd||this.config.budgetPerDayUsd>0&&i+t>this.config.budgetPerDayUsd}updateFromOutcome(e,t){let o=e.outcome.qualityScore,i=this.tierQualityEstimates.get(t)??.5,r=this.tierOutcomeCounts.get(t)??0,s=r<5?.4:N,n=i*(1-s)+o*s;this.tierQualityEstimates.set(t,n),this.tierOutcomeCounts.set(t,r+1)}getEconomicReport(){let e=this.scoreTiers(.5),t=this.costTracker.getCurrentCost("hour"),o=this.costTracker.getCurrentCost("day"),i={hourly:this.config.budgetPerHourUsd>0?Math.max(0,this.config.budgetPerHourUsd-t):null,daily:this.config.budgetPerDayUsd>0?Math.max(0,this.config.budgetPerDayUsd-o):null},r=null,s=[...e].sort((a,l)=>l.qualityPerDollar-a.qualityPerDollar),n=s.find(a=>a.estimatedCostUsd>0&&isFinite(a.qualityPerDollar)),c=[...s].reverse().find(a=>a.estimatedCostUsd>0&&isFinite(a.qualityPerDollar));if(n&&c&&n.tier!==c.tier){let a=c.estimatedCostUsd-n.estimatedCostUsd;a>0&&(r={usd:a,description:`Switch from ${c.tier} ($${c.estimatedCostUsd.toFixed(4)}/task) to ${n.tier} ($${n.estimatedCostUsd.toFixed(4)}/task) for comparable tasks to save ~$${a.toFixed(4)}/task`})}let d=this.generateRecommendation(e,i);return{tierEfficiency:e,currentHourlyCostUsd:t,currentDailyCostUsd:o,budgetRemaining:i,recommendation:d,savingsOpportunity:r}}computeCostAdjustedReward(e,t,o){let i=T[t].costPerTask;if(y===0)return e;let r=i/y,s=Math.max(0,o-this.config.minQualityThreshold),n=r*(1-s),c=e-n*this.config.costWeight;return Math.max(-1,Math.min(1,c))}serializeEstimates(){let e={};for(let t of v)e[t]={quality:this.tierQualityEstimates.get(t)??.5,count:this.tierOutcomeCounts.get(t)??0};return e}deserializeEstimates(e){for(let t of v)e[t]&&(this.tierQualityEstimates.set(t,e[t].quality),this.tierOutcomeCounts.set(t,e[t].count))}getConfig(){return{...this.config}}getQualityEstimate(e,t){let o=this.tierQualityEstimates.get(e)??.5,i=e==="booster"?t*.4:e==="haiku"?t*.2:0;return Math.max(0,Math.min(1,o-i))}generateRecommendation(e,t){if(t.hourly!==null&&t.hourly<.01)return"Hourly budget nearly exhausted. Consider increasing budget or routing to cheaper tiers.";if(t.daily!==null&&t.daily<.1)return"Daily budget nearly exhausted. Only critical tasks should use expensive tiers.";let o=e[0];return o?`Most cost-efficient tier: ${o.tier} (score=${o.economicScore.toFixed(3)}, quality=${o.qualityScore.toFixed(2)})`:"No economic data available yet."}};q();var A=class{outcomes=[];maxOutcomes;constructor(e=1e4){this.maxOutcomes=e}add(e){this.outcomes.push(e),this.outcomes.length>this.maxOutcomes&&(this.outcomes=this.outcomes.slice(-this.maxOutcomes))}getByAgent(e,t=100){return this.outcomes.filter(o=>o.usedAgent===e).slice(-t)}getAll(e=1e3){return this.outcomes.slice(-e)}getRecentOverrides(e=50){return this.outcomes.filter(t=>!t.followedRecommendation).slice(-e)}clear(){this.outcomes=[]}get size(){return this.outcomes.length}},O=class m{static schemaMigrated=!1;outcomeStore;router=null;db=null;calibrator=null;escalationTracker=null;economicModel=null;economicPersistCounter=0;static ECONOMIC_PERSIST_INTERVAL=10;persistCount=0;maxOutcomes;static RETENTION_CLEANUP_INTERVAL=100;constructor(e=1e4,t){this.maxOutcomes=e,this.outcomeStore=new A(e),t?.enableEMACalibration&&this.enableCalibration(),t?.enableAutoEscalation&&this.enableAutoEscalation()}async initialize(){try{this.db=M(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromDb(),this.loadCalibratorState()}catch(e){console.warn("[RoutingFeedbackCollector] DB init failed, using memory-only:",g(e)),this.db=null}}async loadFromDb(){if(!this.db)return;let t=this.db.getDatabase().prepare(`
3
3
  SELECT * FROM routing_outcomes ORDER BY created_at DESC LIMIT ?
4
4
  `).all(this.maxOutcomes);for(let o of t.reverse()){let i={id:o.id,task:f(o.task_json),decision:f(o.decision_json),usedAgent:o.used_agent,followedRecommendation:!!o.followed_recommendation,outcome:{success:!!o.success,qualityScore:o.quality_score,durationMs:o.duration_ms,error:o.error||void 0},timestamp:new Date(o.created_at),advisorConsultation:o.advisor_consultation_json?f(o.advisor_consultation_json):void 0};this.outcomeStore.add(i)}t.length>0&&console.log(`[RoutingFeedbackCollector] Loaded ${t.length} outcomes from DB`)}persistOutcome(e){if(this.db)try{let t=this.db.getDatabase();if(!m.schemaMigrated){for(let r of["ALTER TABLE routing_outcomes ADD COLUMN model_tier TEXT","ALTER TABLE routing_outcomes ADD COLUMN advisor_consultation_json TEXT"])try{t.prepare(r).run()}catch{}_(t),m.schemaMigrated=!0}let o=this.inferTier(e.usedAgent),i=e.advisorConsultation?JSON.stringify(e.advisorConsultation):null;t.prepare(`
5
5
  INSERT OR REPLACE INTO routing_outcomes (
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.2");process.exit(0)}
2
- import{b as i,c}from"./chunk-IM67YHDK.js";import{i as l}from"./chunk-Z3PANQUT.js";c();var u=.15,d=.03,p=.25,s=class{constructor(t){this.db=t;i(t)}db;recordNull(t){this.db.prepare(`
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.15.3");process.exit(0)}
2
+ import{b as i,c}from"./chunk-UTALYUMW.js";import{i as l}from"./chunk-POTVF6BY.js";c();var u=.15,d=.03,p=.25,s=class{constructor(t){this.db=t;i(t)}db;recordNull(t){this.db.prepare(`
3
3
  INSERT INTO qe_pattern_nulls (id, pattern_id, context_fingerprint, failure_mode, trajectory_ref, evidence_class)
4
4
  VALUES (?, ?, ?, ?, ?, ?)
5
5
  ON CONFLICT(pattern_id, context_fingerprint) DO UPDATE SET