agentic-qe 3.14.7 → 3.14.8

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 (393) hide show
  1. package/.claude/helpers/.helpers-version +1 -1
  2. package/.claude/helpers/auto-memory-hook.mjs +18 -9
  3. package/.claude/helpers/helpers.manifest.json +6 -5
  4. package/.claude/helpers/hook-handler.cjs +40 -12
  5. package/.claude/helpers/memory.cjs +86 -0
  6. package/.claude/helpers/router.cjs +105 -0
  7. package/.claude/helpers/session.cjs +166 -0
  8. package/.claude/helpers/statusline.cjs +73 -621
  9. package/.claude/skills/skills-manifest.json +1 -1
  10. package/CHANGELOG.md +130 -0
  11. package/assets/skills/skills-manifest.json +1 -1
  12. package/dist/adapters/a2a/notifications/retry-queue.js +5 -0
  13. package/dist/adapters/claude-flow/pretrain-bridge.js +3 -2
  14. package/dist/agents/claim-verifier/verifiers/file-verifier.js +3 -2
  15. package/dist/cli/bundle.js +6 -6
  16. package/dist/cli/chunks/adapter-XYCOXQCC.js +2 -0
  17. package/dist/cli/chunks/{agent-booster-wasm-AK2W76RG.js → agent-booster-wasm-67OKGDGZ.js} +2 -2
  18. package/dist/cli/chunks/{agent-handler-MGZCWHIY.js → agent-handler-4HZEQ3WQ.js} +2 -2
  19. package/dist/cli/chunks/{agent-memory-branch-JZ54MCSP.js → agent-memory-branch-IBHZQSRN.js} +2 -2
  20. package/dist/cli/chunks/aqe-learning-engine-DTJCROTG.js +2 -0
  21. package/dist/cli/chunks/{arena-CUVH3V7H.js → arena-EJBIGSF4.js} +2 -2
  22. package/dist/cli/chunks/{arena-YSWTKBCL.js → arena-LCLRGUIK.js} +4 -4
  23. package/dist/cli/chunks/{audit-LVU76QGA.js → audit-PY4JNDQQ.js} +3 -3
  24. package/dist/cli/chunks/base-5TQ34GMD.js +2 -0
  25. package/dist/cli/chunks/{better-sqlite3-DB3LOJQU.js → better-sqlite3-2JG5K6XT.js} +2 -2
  26. package/dist/cli/chunks/{brain-handler-SD63KOQ6.js → brain-handler-3UYK55GA.js} +4 -4
  27. package/dist/cli/chunks/{branch-enumerator-4MNOPUC7.js → branch-enumerator-GOSWOX46.js} +2 -2
  28. package/dist/cli/chunks/{browser-OLPNTWQE.js → browser-DC2JV47Z.js} +2 -2
  29. package/dist/cli/chunks/browser-workflow-KWX4ESTJ.js +2 -0
  30. package/dist/cli/chunks/{chunk-QQFQDEUE.js → chunk-25EEIAHS.js} +2 -2
  31. package/dist/cli/chunks/{chunk-DOBKEXMJ.js → chunk-3576QGPP.js} +1 -1
  32. package/dist/cli/chunks/{chunk-3M7J4U74.js → chunk-3EKG7HFV.js} +4 -4
  33. package/dist/cli/chunks/{chunk-DYTQHRUS.js → chunk-3FCHH4VP.js} +1 -1
  34. package/dist/cli/chunks/{chunk-EJ6MMYLK.js → chunk-3S5IIK32.js} +1 -1
  35. package/dist/cli/chunks/{chunk-NOHWJOBS.js → chunk-3X2JSW3R.js} +1 -1
  36. package/dist/cli/chunks/{chunk-7EZ2Z2CK.js → chunk-4HXFPBAA.js} +1 -1
  37. package/dist/cli/chunks/{chunk-XBYQ2BS4.js → chunk-4PY44TKH.js} +2 -2
  38. package/dist/cli/chunks/{chunk-5FSLMYAC.js → chunk-4RNCVSVN.js} +2 -2
  39. package/dist/cli/chunks/{chunk-X7ADKL7T.js → chunk-56M4QNXU.js} +2 -2
  40. package/dist/cli/chunks/{chunk-JHJUSSAU.js → chunk-5X4HDW5W.js} +2 -2
  41. package/dist/cli/chunks/{chunk-7MIOK72I.js → chunk-673XJBGW.js} +7 -7
  42. package/dist/cli/chunks/{chunk-77QZHIVX.js → chunk-6F7MFHTY.js} +2 -2
  43. package/dist/cli/chunks/{chunk-Q6NTEICT.js → chunk-6GJWT2OY.js} +2 -2
  44. package/dist/cli/chunks/{chunk-GV4DYPJP.js → chunk-6GNWVPMR.js} +2 -2
  45. package/dist/cli/chunks/{chunk-V5AK56DA.js → chunk-6VTC3OHD.js} +2 -2
  46. package/dist/cli/chunks/{chunk-MM56VPNE.js → chunk-775WGWLL.js} +3 -3
  47. package/dist/cli/chunks/{chunk-A3DK3XNZ.js → chunk-77WL5HQW.js} +1 -1
  48. package/dist/cli/chunks/chunk-7STWD4KJ.js +3 -0
  49. package/dist/cli/chunks/{chunk-RC2A4JZ5.js → chunk-7TNCEVWX.js} +2 -2
  50. package/dist/cli/chunks/{chunk-XL5KIYE3.js → chunk-7X3LMTRA.js} +2 -2
  51. package/dist/cli/chunks/{chunk-VW6FRMLW.js → chunk-A53MMSGC.js} +2 -2
  52. package/dist/cli/chunks/{chunk-UFSVUBTR.js → chunk-A5CLVZC3.js} +2 -2
  53. package/dist/cli/chunks/{chunk-4INST4ZL.js → chunk-AEYJ4ZLA.js} +1 -1
  54. package/dist/cli/chunks/{chunk-5U6N4V5M.js → chunk-AJ5PCJQ2.js} +4 -4
  55. package/dist/cli/chunks/{chunk-OAZX6WFU.js → chunk-AJMAKUS3.js} +2 -2
  56. package/dist/cli/chunks/{chunk-74IOEOMH.js → chunk-AOD2ES44.js} +2 -2
  57. package/dist/cli/chunks/chunk-AR2S4DOB.js +2 -0
  58. package/dist/cli/chunks/{chunk-PYKY22GC.js → chunk-AUFV2G2J.js} +5 -5
  59. package/dist/cli/chunks/{chunk-KD2BLA5Y.js → chunk-B2QKBQYD.js} +1 -1
  60. package/dist/cli/chunks/{chunk-6EGS77BB.js → chunk-BCCSV3RH.js} +1 -1
  61. package/dist/cli/chunks/{chunk-JOZ47MV6.js → chunk-BFIXUKOR.js} +1 -1
  62. package/dist/cli/chunks/chunk-BHPTHC5O.js +4 -0
  63. package/dist/cli/chunks/{chunk-OIDWDGLG.js → chunk-BITFGVZ4.js} +2 -2
  64. package/dist/cli/chunks/{chunk-ONR2NXXD.js → chunk-BL6273KR.js} +3 -3
  65. package/dist/cli/chunks/{chunk-BLG7SH4A.js → chunk-BOIUENWW.js} +1 -1
  66. package/dist/cli/chunks/{chunk-T77GZF4B.js → chunk-BT3MI2BW.js} +1 -1
  67. package/dist/cli/chunks/{chunk-UYUJT6QO.js → chunk-BTBJ2NLH.js} +2 -2
  68. package/dist/cli/chunks/{chunk-YMW57PEL.js → chunk-BUVJIVFG.js} +1 -1
  69. package/dist/cli/chunks/{chunk-QUORH2MG.js → chunk-BZIPW2PA.js} +8 -8
  70. package/dist/cli/chunks/{chunk-GVVFTFMB.js → chunk-C647D42G.js} +2 -2
  71. package/dist/cli/chunks/{chunk-AJUBT4NP.js → chunk-CBWM5NOO.js} +3 -3
  72. package/dist/cli/chunks/{chunk-F2OPFVQH.js → chunk-CIEXUYY7.js} +1 -1
  73. package/dist/cli/chunks/{chunk-QGOWNVVG.js → chunk-CLUHGBLN.js} +4 -4
  74. package/dist/cli/chunks/{chunk-WOV6XI3A.js → chunk-CQEWL32R.js} +1 -1
  75. package/dist/cli/chunks/{chunk-3QJU4Q4R.js → chunk-CXUC7YKA.js} +2 -2
  76. package/dist/cli/chunks/{chunk-HZY42OVU.js → chunk-D2Y36V5J.js} +2 -2
  77. package/dist/cli/chunks/{chunk-WF6UISKW.js → chunk-DSJJHPPS.js} +4 -4
  78. package/dist/cli/chunks/{chunk-FYPX5WBJ.js → chunk-DZHXCOSK.js} +1 -1
  79. package/dist/cli/chunks/{chunk-TXSPBLBT.js → chunk-EBV3WFIR.js} +2 -2
  80. package/dist/cli/chunks/{chunk-Y6AKKQIQ.js → chunk-EKO5QL2B.js} +1 -1
  81. package/dist/cli/chunks/{chunk-MZB2UV2O.js → chunk-EMOZ5O5S.js} +1 -1
  82. package/dist/cli/chunks/{chunk-23CX7JNL.js → chunk-ES7TAJRJ.js} +2 -2
  83. package/dist/cli/chunks/{chunk-Z4Q5PCRZ.js → chunk-EXQGHTPD.js} +4 -4
  84. package/dist/cli/chunks/{chunk-A2VUCUTT.js → chunk-F2WAB4WK.js} +2 -2
  85. package/dist/cli/chunks/{chunk-CQNMGK6Y.js → chunk-F57FTFWS.js} +2 -2
  86. package/dist/cli/chunks/{chunk-OEPNNLR4.js → chunk-F6JJNBE5.js} +1 -1
  87. package/dist/cli/chunks/{chunk-UBJG3IHT.js → chunk-FRC7AFB4.js} +2 -2
  88. package/dist/cli/chunks/{chunk-2G63VIJE.js → chunk-G36RZF2Y.js} +1 -1
  89. package/dist/cli/chunks/{chunk-YRHTQZU4.js → chunk-G3C7Z6FO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-B4I43GE2.js → chunk-GA63ESNT.js} +2 -2
  91. package/dist/cli/chunks/{chunk-7QYOTUOX.js → chunk-GHMJFICO.js} +2 -2
  92. package/dist/cli/chunks/{chunk-HYOPJHHW.js → chunk-GK5WLUX3.js} +1 -1
  93. package/dist/cli/chunks/{chunk-A5MA7A23.js → chunk-GQJ4QDEN.js} +6 -6
  94. package/dist/cli/chunks/{chunk-UA7TDVL7.js → chunk-GVLRE3BV.js} +4 -4
  95. package/dist/cli/chunks/{chunk-25P6JA6V.js → chunk-H5UH234L.js} +1 -1
  96. package/dist/cli/chunks/{chunk-BE4KALTE.js → chunk-HBAFXWSO.js} +1 -1
  97. package/dist/cli/chunks/{chunk-EGOIIUBD.js → chunk-HE3BDBAO.js} +2 -2
  98. package/dist/cli/chunks/{chunk-P2UPYSDJ.js → chunk-HHANMCD2.js} +1 -1
  99. package/dist/cli/chunks/{chunk-ZUOVNFXK.js → chunk-HPVYJ6JH.js} +2 -2
  100. package/dist/cli/chunks/{chunk-RKI3IQKQ.js → chunk-I6NZFBT3.js} +3 -3
  101. package/dist/cli/chunks/{chunk-QVH5Y7AP.js → chunk-ISBOHF6Y.js} +1 -1
  102. package/dist/cli/chunks/{chunk-IWFFO6VT.js → chunk-J24AJEDE.js} +2 -2
  103. package/dist/cli/chunks/{chunk-5GFKTJ65.js → chunk-J5HTQHJK.js} +2 -2
  104. package/dist/cli/chunks/{chunk-LY7MFGBD.js → chunk-JDOVO4E4.js} +150 -149
  105. package/dist/cli/chunks/chunk-JQAJUXRE.js +2 -0
  106. package/dist/cli/chunks/{chunk-HXXHMLJ5.js → chunk-JRK5GX56.js} +1 -1
  107. package/dist/cli/chunks/{chunk-36VKMAMN.js → chunk-JRLZ7LZ3.js} +2 -2
  108. package/dist/cli/chunks/{chunk-6PJPQGF4.js → chunk-JTOFLDU7.js} +2 -2
  109. package/dist/cli/chunks/{chunk-CVOQ6ESD.js → chunk-K6EOHGKS.js} +2 -2
  110. package/dist/cli/chunks/{chunk-LU2EDWQK.js → chunk-KKXH25IH.js} +2 -2
  111. package/dist/cli/chunks/{chunk-EYXE2XKP.js → chunk-KNSQWM2E.js} +2 -2
  112. package/dist/cli/chunks/{chunk-IEJ7ZV3M.js → chunk-L5T32SRF.js} +1 -1
  113. package/dist/cli/chunks/{chunk-BEFTQVEW.js → chunk-LKFBW2QM.js} +2 -2
  114. package/dist/cli/chunks/{chunk-C3FXFU2T.js → chunk-LMAI74EP.js} +1 -1
  115. package/dist/cli/chunks/{chunk-P7XSPP5D.js → chunk-LQVS5IWH.js} +2 -2
  116. package/dist/cli/chunks/{chunk-4EKV7PHB.js → chunk-LRGTPUJA.js} +2 -2
  117. package/dist/cli/chunks/{chunk-MT7UNBZ7.js → chunk-LTHV4PIG.js} +2 -2
  118. package/dist/cli/chunks/{chunk-B2YGVSOP.js → chunk-M7QKCHLQ.js} +2 -2
  119. package/dist/cli/chunks/{chunk-H5RQPO3X.js → chunk-N3ASALOL.js} +2 -2
  120. package/dist/cli/chunks/{chunk-MQZ53OR3.js → chunk-NEXBTLN6.js} +2 -2
  121. package/dist/cli/chunks/{chunk-BD7FEUN3.js → chunk-NJEEKYEP.js} +3 -3
  122. package/dist/cli/chunks/{chunk-UOI6ULCH.js → chunk-NWUFTLSF.js} +2 -2
  123. package/dist/cli/chunks/{chunk-RT6O2HW2.js → chunk-O4QB2GFL.js} +2 -2
  124. package/dist/cli/chunks/{chunk-MZMG6CUJ.js → chunk-OA75C4HY.js} +2 -2
  125. package/dist/cli/chunks/{chunk-HYFQUWNB.js → chunk-OVMG6EEF.js} +2 -2
  126. package/dist/cli/chunks/{chunk-FSSR6WBE.js → chunk-OX7MJFLC.js} +2 -2
  127. package/dist/cli/chunks/{chunk-ENK44A6Q.js → chunk-OZJQN7YE.js} +2 -2
  128. package/dist/cli/chunks/{chunk-LXZMP3VX.js → chunk-PFXCRRR6.js} +25 -25
  129. package/dist/cli/chunks/{chunk-WIH522AP.js → chunk-PVJLQ2YZ.js} +1 -1
  130. package/dist/cli/chunks/{chunk-ZUB5YOCM.js → chunk-QDRFLM77.js} +2 -2
  131. package/dist/cli/chunks/{chunk-NHUGHAY6.js → chunk-QH7C4PTX.js} +1 -1
  132. package/dist/cli/chunks/{chunk-VXKWNRGA.js → chunk-QKM4XT2F.js} +2 -2
  133. package/dist/cli/chunks/{chunk-ON2UTP2U.js → chunk-QP7EKLWU.js} +2 -2
  134. package/dist/cli/chunks/{chunk-KUHLTVWC.js → chunk-QPACHVDI.js} +1 -1
  135. package/dist/cli/chunks/{chunk-PCJQCEBA.js → chunk-QQVE65ER.js} +2 -2
  136. package/dist/cli/chunks/{chunk-Q3NSU24F.js → chunk-QYCZYJH7.js} +2 -2
  137. package/dist/cli/chunks/{chunk-AEUEMVJK.js → chunk-R6I5I724.js} +2 -2
  138. package/dist/cli/chunks/{chunk-5D7ZFWDS.js → chunk-RJJIPTVH.js} +2 -2
  139. package/dist/cli/chunks/{chunk-ZWEKAEEV.js → chunk-RM6OC35G.js} +1 -1
  140. package/dist/cli/chunks/{chunk-ZELWDJXT.js → chunk-RTD4U7IW.js} +2 -2
  141. package/dist/cli/chunks/{chunk-O5V7RHVG.js → chunk-SKJQKOFJ.js} +2 -2
  142. package/dist/cli/chunks/{chunk-6RD44SCE.js → chunk-SMBGK7XI.js} +1 -1
  143. package/dist/cli/chunks/{chunk-ND4QTZOL.js → chunk-SPS472C5.js} +2 -2
  144. package/dist/cli/chunks/{chunk-TFK2AYIN.js → chunk-SUNXA2UR.js} +2 -2
  145. package/dist/cli/chunks/{chunk-RDGPXENG.js → chunk-SVP3BP52.js} +2 -2
  146. package/dist/cli/chunks/{chunk-NBLDBVAW.js → chunk-T4WQPE77.js} +1 -1
  147. package/dist/cli/chunks/{chunk-ZS4XVJGV.js → chunk-T53ZN4NO.js} +2 -2
  148. package/dist/cli/chunks/chunk-T6W2EYHC.js +2 -0
  149. package/dist/cli/chunks/{chunk-JZT7BU44.js → chunk-T7YCNOW5.js} +2 -2
  150. package/dist/cli/chunks/{chunk-EADSQN5T.js → chunk-TCQWVVSR.js} +1 -1
  151. package/dist/cli/chunks/{chunk-XYLQZWF6.js → chunk-TGRHO4ES.js} +2 -2
  152. package/dist/cli/chunks/{chunk-QPLSYEWJ.js → chunk-TP7L4EX6.js} +2 -2
  153. package/dist/cli/chunks/{chunk-N5XOXPHZ.js → chunk-TT45RCLN.js} +2 -2
  154. package/dist/cli/chunks/{chunk-OZGIOKEA.js → chunk-TUZNWRYC.js} +1 -1
  155. package/dist/cli/chunks/{chunk-53BXTTRO.js → chunk-U2QTL5T2.js} +3 -3
  156. package/dist/cli/chunks/chunk-U64QORFO.js +2 -0
  157. package/dist/cli/chunks/{chunk-SRPLERER.js → chunk-UHLZKH6B.js} +4 -4
  158. package/dist/cli/chunks/{chunk-HPWWYT67.js → chunk-UIWXKRTK.js} +2 -2
  159. package/dist/cli/chunks/{chunk-XWYELBZS.js → chunk-UNFE4RPV.js} +1 -1
  160. package/dist/cli/chunks/{chunk-FW4DJ4FJ.js → chunk-UQGIC5OX.js} +1 -1
  161. package/dist/cli/chunks/{chunk-GLGKQX2V.js → chunk-VAXTPLO3.js} +2 -2
  162. package/dist/cli/chunks/{chunk-VYDVI6FZ.js → chunk-VCSNNLWL.js} +2 -2
  163. package/dist/cli/chunks/{chunk-J7AQZLIH.js → chunk-VSPNIDQK.js} +4 -4
  164. package/dist/cli/chunks/{chunk-EIGRV3J6.js → chunk-VV2JVYOI.js} +2 -2
  165. package/dist/cli/chunks/{chunk-CBONQM5D.js → chunk-VW7AXJQS.js} +2 -2
  166. package/dist/cli/chunks/{chunk-O6MO5KMR.js → chunk-W7JUD4EZ.js} +2 -2
  167. package/dist/cli/chunks/{chunk-QFETNCNN.js → chunk-WFKE7NZ5.js} +2 -2
  168. package/dist/cli/chunks/{chunk-ROVZSZCS.js → chunk-WVEHKAIH.js} +3 -3
  169. package/dist/cli/chunks/{chunk-YO4ESCB4.js → chunk-XAESN54Q.js} +1 -1
  170. package/dist/cli/chunks/{chunk-RKUAWQOF.js → chunk-XECZYQT5.js} +2 -2
  171. package/dist/cli/chunks/{chunk-RLW25X66.js → chunk-XFT4FYTC.js} +2 -2
  172. package/dist/cli/chunks/{chunk-SM2YJ2AL.js → chunk-YHX74M7C.js} +2 -2
  173. package/dist/cli/chunks/chunk-YIWBJ637.js +2 -0
  174. package/dist/cli/chunks/{chunk-IAENZ2DR.js → chunk-Z5UZOYQS.js} +2 -2
  175. package/dist/cli/chunks/{chunk-G367W7XR.js → chunk-Z6G3QVZ4.js} +12 -12
  176. package/dist/cli/chunks/ci-5LIV2HW5.js +82 -0
  177. package/dist/cli/chunks/{ci-output-RLS32FUY.js → ci-output-UO5BDFU4.js} +2 -2
  178. package/dist/cli/chunks/{circuit-breaker-MRCC7WCM.js → circuit-breaker-UQDPXYRD.js} +2 -2
  179. package/dist/cli/chunks/{claude-flow-setup-LIZCEKDF.js → claude-flow-setup-62QES3QX.js} +2 -2
  180. package/dist/cli/chunks/client-AJZKCP4I.js +2 -0
  181. package/dist/cli/chunks/{cline-installer-T7H6R2RC.js → cline-installer-X7VZTSZG.js} +2 -2
  182. package/dist/cli/chunks/{code-XMBLI7OF.js → code-H3BF4L4H.js} +3 -3
  183. package/dist/cli/chunks/{code-index-extractor-QS7BYLEX.js → code-index-extractor-BJGFZGGL.js} +2 -2
  184. package/dist/cli/chunks/{codex-installer-6PGT5FM6.js → codex-installer-KVZWKU6S.js} +2 -2
  185. package/dist/cli/chunks/{completions-2A3WRXY2.js → completions-YMILE6V7.js} +2 -2
  186. package/dist/cli/chunks/{complexity-analyzer-23HOOGJ7.js → complexity-analyzer-J26N2PWG.js} +2 -2
  187. package/dist/cli/chunks/{continuedev-installer-4FSF7B3N.js → continuedev-installer-MAR42OV7.js} +2 -2
  188. package/dist/cli/chunks/{copilot-installer-A5GRQQUU.js → copilot-installer-CVOJF6OT.js} +2 -2
  189. package/dist/cli/chunks/core-handlers-MQHEMGDV.js +2 -0
  190. package/dist/cli/chunks/{cost-tracker-Z4STQ5VB.js → cost-tracker-SXLWXE55.js} +2 -2
  191. package/dist/cli/chunks/{coverage-NUPP6KZZ.js → coverage-D7HCHFP3.js} +3 -3
  192. package/dist/cli/chunks/cross-domain-router-3QNMZV5R.js +2 -0
  193. package/dist/cli/chunks/{cursor-installer-FVJ7ROPJ.js → cursor-installer-X37VHIKW.js} +2 -2
  194. package/dist/cli/chunks/{daemon-D662EX5N.js → daemon-JN7SOH6F.js} +4 -4
  195. package/dist/cli/chunks/{daemon-7ZZA2MMN.js → daemon-LIW47IDM.js} +4 -4
  196. package/dist/cli/chunks/{dag-attention-scheduler-IB4TQ2KA.js → dag-attention-scheduler-QCHHIZBT.js} +2 -2
  197. package/dist/cli/chunks/{detect-LGLBZN4I.js → detect-WRFCWAX5.js} +2 -2
  198. package/dist/cli/chunks/{dist-node-Z3OL42YE.js → dist-node-6FWT4XZO.js} +2 -2
  199. package/dist/cli/chunks/{domain-handler-L3CLNL7U.js → domain-handler-SNFPNMRT.js} +2 -2
  200. package/dist/cli/chunks/{domain-plugins-GQ3V5X6L.js → domain-plugins-MXKHH62P.js} +2 -2
  201. package/dist/cli/chunks/domain-transfer-47UJNERX.js +2 -0
  202. package/dist/cli/chunks/dream-OSWAITPT.js +2 -0
  203. package/dist/cli/chunks/{embed-and-insert-pattern-UGD6USYH.js → embed-and-insert-pattern-LZFAUNBQ.js} +2 -2
  204. package/dist/cli/chunks/{eval-3B7UIYGY.js → eval-AMUXTMJB.js} +2 -2
  205. package/dist/cli/chunks/{experience-capture-middleware-3RQ4NYY3.js → experience-capture-middleware-3D65TR2C.js} +4 -4
  206. package/dist/cli/chunks/{fast-paths-QOSAEPYD.js → fast-paths-Y7BBMM56.js} +2 -2
  207. package/dist/cli/chunks/{feature-flags-TLF4NKOH.js → feature-flags-JMQQ7JW4.js} +2 -2
  208. package/dist/cli/chunks/{feature-flags-3S5TH6P4.js → feature-flags-VESRRQ6V.js} +2 -2
  209. package/dist/cli/chunks/{file-discovery-AEVMJRNB.js → file-discovery-JJKQQUV6.js} +2 -2
  210. package/dist/cli/chunks/{fleet-E6WTXWFL.js → fleet-WIGHICJF.js} +4 -4
  211. package/dist/cli/chunks/{gnn-wrapper-MCKH3AUU.js → gnn-wrapper-BFNPETTT.js} +2 -2
  212. package/dist/cli/chunks/{heartbeat-handler-U7XENHRR.js → heartbeat-handler-HDXKTGUI.js} +4 -4
  213. package/dist/cli/chunks/heartbeat-scheduler-BVRVVIE2.js +2 -0
  214. package/dist/cli/chunks/hnsw-adapter-MZTHXULS.js +2 -0
  215. package/dist/cli/chunks/hnsw-index-KHEX4VDG.js +2 -0
  216. package/dist/cli/chunks/{hnsw-legacy-bridge-5GW4SAEI.js → hnsw-legacy-bridge-6A7OTAPT.js} +2 -2
  217. package/dist/cli/chunks/{hnswlib-node-7BLZBK5T.js → hnswlib-node-LKV2H47B.js} +2 -2
  218. package/dist/cli/chunks/{hooks-F3O2SB6H.js → hooks-KDSFYQQG.js} +10 -10
  219. package/dist/cli/chunks/hybrid-backend-2B3LCLR4.js +2 -0
  220. package/dist/cli/chunks/{hypergraph-engine-PV4EKXHB.js → hypergraph-engine-GDLPEPUC.js} +2 -2
  221. package/dist/cli/chunks/{hypergraph-handler-VOWO5ZTW.js → hypergraph-handler-4UMFA2EW.js} +3 -3
  222. package/dist/cli/chunks/impact-analyzer-4R4VWOGQ.js +2 -0
  223. package/dist/cli/chunks/{init-handler-ENJ5ONJX.js → init-handler-4GCHPQHD.js} +6 -6
  224. package/dist/cli/chunks/init-wizard-TAOPXHHD.js +2 -0
  225. package/dist/cli/chunks/kernel-6I6VZUWY.js +2 -0
  226. package/dist/cli/chunks/{kilocode-installer-HNNJOOPE.js → kilocode-installer-HJZMT2G5.js} +2 -2
  227. package/dist/cli/chunks/{kiro-installer-UZBIQ3IC.js → kiro-installer-WUPY67HG.js} +2 -2
  228. package/dist/cli/chunks/knowledge-graph-KFMTTUR5.js +2 -0
  229. package/dist/cli/chunks/{learning-YMLCVFUT.js → learning-AXKIS7IG.js} +4 -4
  230. package/dist/cli/chunks/{llm-router-YWTARCCT.js → llm-router-HUDPNZLJ.js} +4 -4
  231. package/dist/cli/chunks/llm-router-service-2D74XVM3.js +2 -0
  232. package/dist/cli/chunks/{load-DKE3F3IP.js → load-RM44POD7.js} +2 -2
  233. package/dist/cli/chunks/load-test-53FWOWNS.js +2 -0
  234. package/dist/cli/chunks/{mcp-5PSGIUCW.js → mcp-5JVQRBOP.js} +2 -2
  235. package/dist/cli/chunks/{memory-3L3O6JMM.js → memory-VGZ2V6PL.js} +5 -5
  236. package/dist/cli/chunks/memory-backend-KFJDDPEZ.js +2 -0
  237. package/dist/cli/chunks/memory-handlers-EI537Z32.js +2 -0
  238. package/dist/cli/chunks/{multi-model-executor-AEEO7IA4.js → multi-model-executor-WPRKCSCM.js} +2 -2
  239. package/dist/cli/chunks/{opencode-installer-ABBO355U.js → opencode-installer-YAJMRCQO.js} +2 -2
  240. package/dist/cli/chunks/{orchestrator-E36Q7MKE.js → orchestrator-MUGWBUYP.js} +6 -6
  241. package/dist/cli/chunks/pattern-null-store-7DMU5CJ4.js +2 -0
  242. package/dist/cli/chunks/{pattern-usage-recorder-H4XKSID4.js → pattern-usage-recorder-ZQJJ2YNG.js} +2 -2
  243. package/dist/cli/chunks/{pipeline-BGFEHXIN.js → pipeline-F4DXDUDC.js} +2 -2
  244. package/dist/cli/chunks/{platform-GK7ZVDJI.js → platform-HI3A3OWF.js} +2 -2
  245. package/dist/cli/chunks/{plugin-CAH2CKI6.js → plugin-XRITPTR7.js} +2 -2
  246. package/dist/cli/chunks/{prime-radiant-advanced-wasm-M5EYRONA.js → prime-radiant-advanced-wasm-HHNJP7CQ.js} +2 -2
  247. package/dist/cli/chunks/{project-root-BSNZC243.js → project-root-2VN4WO2A.js} +2 -2
  248. package/dist/cli/chunks/protocol-executor-2EMTBTMG.js +2 -0
  249. package/dist/cli/chunks/{protocol-handler-JDSSC2SF.js → protocol-handler-ZEVHSEBG.js} +2 -2
  250. package/dist/cli/chunks/{prove-ANPTOZJE.js → prove-C4BLZWBS.js} +2 -2
  251. package/dist/cli/chunks/qe-reasoning-bank-VZHZZPHE.js +2 -0
  252. package/dist/cli/chunks/{quality-SXWGYRQR.js → quality-M3DTE4KK.js} +2 -2
  253. package/dist/cli/chunks/quality-gate-V6KS7ML3.js +7 -0
  254. package/dist/cli/chunks/queen-coordinator-7MYTTUHI.js +2 -0
  255. package/dist/cli/chunks/{real-embeddings-WSRYAOZM.js → real-embeddings-YWSE3IRT.js} +2 -2
  256. package/dist/cli/chunks/{ref-validation-AZ3LRWEK.js → ref-validation-ZWOTFA3T.js} +2 -2
  257. package/dist/cli/chunks/{roocode-installer-2QKGFIEU.js → roocode-installer-GJBIWETD.js} +2 -2
  258. package/dist/cli/chunks/router-ZD4LXAWA.js +2 -0
  259. package/dist/cli/chunks/routing-feedback-FSLMDVGD.js +2 -0
  260. package/dist/cli/chunks/{routing-handler-UYDC5MMD.js → routing-handler-CFYLGNAR.js} +2 -2
  261. package/dist/cli/chunks/{ruvector-commands-QXADPVEY.js → ruvector-commands-EDKG456B.js} +2 -2
  262. package/dist/cli/chunks/rvf-dual-writer-LTKTDRFS.js +2 -0
  263. package/dist/cli/chunks/rvf-migration-adapter-IF24EVC5.js +2 -0
  264. package/dist/cli/chunks/{rvf-migration-coordinator-GD4NBFKT.js → rvf-migration-coordinator-ZMEYMAI6.js} +2 -2
  265. package/dist/cli/chunks/rvf-native-adapter-E6JNBKMZ.js +2 -0
  266. package/dist/cli/chunks/{rvf-store-integrity-7SXG66IL.js → rvf-store-integrity-AH6PNJP6.js} +2 -2
  267. package/dist/cli/chunks/safe-db-F6TRB5KZ.js +2 -0
  268. package/dist/cli/chunks/schedule-HBD4BYTE.js +2 -0
  269. package/dist/cli/chunks/scheduler-6FYWPMQC.js +2 -0
  270. package/dist/cli/chunks/{security-YKB622PK.js → security-ZU2GW3ZM.js} +3 -3
  271. package/dist/cli/chunks/{shared-rvf-adapter-KMLAV7JK.js → shared-rvf-adapter-5FOVSL3T.js} +2 -2
  272. package/dist/cli/chunks/{shared-rvf-dual-writer-OYY27DFV.js → shared-rvf-dual-writer-IO4DC4XV.js} +2 -2
  273. package/dist/cli/chunks/sqlite-persistence-DOU72F5Z.js +2 -0
  274. package/dist/cli/chunks/{standalone-memory-2DOABVLC.js → standalone-memory-3UXDZ7HI.js} +2 -2
  275. package/dist/cli/chunks/{status-handler-EXRKETV7.js → status-handler-264CHTWS.js} +2 -2
  276. package/dist/cli/chunks/{structural-health-2SKK6DU6.js → structural-health-E2QPUOZE.js} +2 -2
  277. package/dist/cli/chunks/{sync-UW7SX7GO.js → sync-2ACMWM7D.js} +2 -2
  278. package/dist/cli/chunks/{sync-DQ2YUNI6.js → sync-N2L2OST4.js} +2 -2
  279. package/dist/cli/chunks/{task-handler-LYQ6WYUY.js → task-handler-IB5CVOTY.js} +2 -2
  280. package/dist/cli/chunks/{task-handlers-DIJO232S.js → task-handlers-QBMYNJHE.js} +3 -3
  281. package/dist/cli/chunks/{test-WRHZMUCW.js → test-7RGLRDSP.js} +6 -6
  282. package/dist/cli/chunks/{test-scheduling-HI23RXFK.js → test-scheduling-RJABJT2W.js} +3 -3
  283. package/dist/cli/chunks/{token-bootstrap-23SA6SWZ.js → token-bootstrap-JVHMHB72.js} +2 -2
  284. package/dist/cli/chunks/{token-usage-M7RRDPXO.js → token-usage-3ECHQVCY.js} +2 -2
  285. package/dist/cli/chunks/{transformers-4TC35KKS.js → transformers-KJH3IJWI.js} +2 -2
  286. package/dist/cli/chunks/{tree-sitter-wasm-parser-F4LTKAWD.js → tree-sitter-wasm-parser-XN6PFI32.js} +2 -2
  287. package/dist/cli/chunks/{types-NBXV6LXQ.js → types-5BAPXOLS.js} +2 -2
  288. package/dist/cli/chunks/unified-memory-GHAYAXWZ.js +2 -0
  289. package/dist/cli/chunks/unified-memory-hnsw-CCC63YXT.js +2 -0
  290. package/dist/cli/chunks/unified-persistence-HKRHI5PG.js +2 -0
  291. package/dist/cli/chunks/{upgrade-4BGOU5RM.js → upgrade-S5NFQZID.js} +2 -2
  292. package/dist/cli/chunks/{validate-EDWAR63H.js → validate-BIBWOLJD.js} +2 -2
  293. package/dist/cli/chunks/{validate-swarm-VI72CPR7.js → validate-swarm-WAA3LBHH.js} +2 -2
  294. package/dist/cli/chunks/visual-security-APOXJ3Q3.js +2 -0
  295. package/dist/cli/chunks/{web-tree-sitter-Y5XBRQXF.js → web-tree-sitter-OTBQTHAV.js} +2 -2
  296. package/dist/cli/chunks/{windsurf-installer-VEX23WAF.js → windsurf-installer-NNQ22EW6.js} +2 -2
  297. package/dist/cli/chunks/witness-chain-7IP5IJGT.js +2 -0
  298. package/dist/cli/chunks/{witness-chain-3YNL6YGY.js → witness-chain-E7MUBOJW.js} +2 -2
  299. package/dist/cli/chunks/{witness-chain-repair-MJZGZRWT.js → witness-chain-repair-FW4QSN4C.js} +2 -2
  300. package/dist/cli/chunks/{witness-chain-verifier-TTJYXTBE.js → witness-chain-verifier-YMROEBVL.js} +2 -2
  301. package/dist/cli/chunks/{witness-key-manager-EM6YXYOY.js → witness-key-manager-4CGRNDMJ.js} +2 -2
  302. package/dist/cli/chunks/{workflow-2RBDOM7V.js → workflow-4VRSTRAN.js} +4 -4
  303. package/dist/cli/chunks/workflow-orchestrator-2HNW5ZMQ.js +2 -0
  304. package/dist/cli/chunks/{wrappers-5OTAVVOV.js → wrappers-4M4UTGEU.js} +2 -2
  305. package/dist/cli/commands/ci.js +17 -6
  306. package/dist/cli/commands/quality-gate.js +6 -1
  307. package/dist/cli/index.js +7 -2
  308. package/dist/cli/process-store-cleanup.d.ts +7 -0
  309. package/dist/cli/process-store-cleanup.js +27 -0
  310. package/dist/cli/utils/ci-config.d.ts +3 -3
  311. package/dist/cli/utils/ci-config.js +202 -68
  312. package/dist/domains/quality-assessment/quality-evidence.d.ts +3 -1
  313. package/dist/domains/quality-assessment/quality-evidence.js +7 -2
  314. package/dist/domains/test-execution/services/retry-handler.js +32 -13
  315. package/dist/domains/test-execution/services/test-executor.d.ts +3 -3
  316. package/dist/domains/test-execution/services/test-executor.js +66 -22
  317. package/dist/init/fleet-integration.js +3 -2
  318. package/dist/init/init-wizard-steps.js +3 -2
  319. package/dist/init/phases/06-code-intelligence.js +6 -4
  320. package/dist/integrations/ruvector/sona-persistence.d.ts +1 -0
  321. package/dist/integrations/ruvector/sona-persistence.js +74 -20
  322. package/dist/integrations/ruvector/sona-wrapper.d.ts +2 -0
  323. package/dist/integrations/ruvector/sona-wrapper.js +13 -0
  324. package/dist/kernel/memory-backend.js +5 -4
  325. package/dist/kernel/unified-memory.js +3 -2
  326. package/dist/learning/aqe-learning-engine.js +3 -2
  327. package/dist/mcp/bundle.js +440 -439
  328. package/dist/mcp/connection-pool.d.ts +2 -0
  329. package/dist/mcp/connection-pool.js +13 -2
  330. package/dist/mcp/handlers/memory-handlers.d.ts +1 -0
  331. package/dist/mcp/handlers/memory-handlers.js +16 -6
  332. package/dist/mcp/protocol-server.js +29 -8
  333. package/dist/mcp/types.d.ts +2 -0
  334. package/dist/optimization/session-cache.js +13 -11
  335. package/dist/plugins/cache.js +10 -3
  336. package/dist/shared/embeddings/embedding-cache.js +4 -4
  337. package/dist/shared/llm/cache.js +7 -10
  338. package/dist/shared/retry-engine.js +4 -0
  339. package/dist/shared/test-runner-process.d.ts +10 -0
  340. package/dist/shared/test-runner-process.js +210 -0
  341. package/dist/validation/quality-verdict.js +3 -2
  342. package/dist/workers/quality-daemon/priority-queue.js +4 -1
  343. package/package.json +4 -4
  344. package/dist/cli/chunks/adapter-TVQKH65T.js +0 -2
  345. package/dist/cli/chunks/aqe-learning-engine-ULGTVVWE.js +0 -2
  346. package/dist/cli/chunks/base-W42BURDL.js +0 -2
  347. package/dist/cli/chunks/browser-workflow-HKGHFFFT.js +0 -2
  348. package/dist/cli/chunks/chunk-2IMSJ7IO.js +0 -2
  349. package/dist/cli/chunks/chunk-FBZC4IGB.js +0 -2
  350. package/dist/cli/chunks/chunk-MNQN7UZX.js +0 -4
  351. package/dist/cli/chunks/chunk-OXHF3L2T.js +0 -2
  352. package/dist/cli/chunks/chunk-PELENDDQ.js +0 -2
  353. package/dist/cli/chunks/chunk-TW3SR4TS.js +0 -2
  354. package/dist/cli/chunks/chunk-V6RE4YRQ.js +0 -2
  355. package/dist/cli/chunks/chunk-ZQZD55MN.js +0 -3
  356. package/dist/cli/chunks/ci-J3TDK5RA.js +0 -81
  357. package/dist/cli/chunks/client-3BD2DI4N.js +0 -2
  358. package/dist/cli/chunks/core-handlers-C3H2ZCS2.js +0 -2
  359. package/dist/cli/chunks/cross-domain-router-JCQ7SWDP.js +0 -2
  360. package/dist/cli/chunks/domain-transfer-MFCI76IY.js +0 -2
  361. package/dist/cli/chunks/dream-FTP33IJB.js +0 -2
  362. package/dist/cli/chunks/heartbeat-scheduler-HXBJVJL2.js +0 -2
  363. package/dist/cli/chunks/hnsw-adapter-TU6WG2ME.js +0 -2
  364. package/dist/cli/chunks/hnsw-index-MS5KODD7.js +0 -2
  365. package/dist/cli/chunks/hybrid-backend-HT45LBHC.js +0 -2
  366. package/dist/cli/chunks/impact-analyzer-AP4AGTG5.js +0 -2
  367. package/dist/cli/chunks/init-wizard-I5DFZUQL.js +0 -2
  368. package/dist/cli/chunks/kernel-MISPSPPA.js +0 -2
  369. package/dist/cli/chunks/knowledge-graph-L26JESGE.js +0 -2
  370. package/dist/cli/chunks/llm-router-service-MWGC43ZA.js +0 -2
  371. package/dist/cli/chunks/load-test-H5ISNNM5.js +0 -2
  372. package/dist/cli/chunks/memory-backend-HWDNOBKW.js +0 -2
  373. package/dist/cli/chunks/memory-handlers-ZFDVQZM5.js +0 -2
  374. package/dist/cli/chunks/pattern-null-store-GQP6ICWK.js +0 -2
  375. package/dist/cli/chunks/protocol-executor-AD5A4DAI.js +0 -2
  376. package/dist/cli/chunks/qe-reasoning-bank-W3Z2PKTR.js +0 -2
  377. package/dist/cli/chunks/quality-gate-GYNCA4ZY.js +0 -7
  378. package/dist/cli/chunks/queen-coordinator-HQRHLIJX.js +0 -2
  379. package/dist/cli/chunks/router-MTP5LH4H.js +0 -2
  380. package/dist/cli/chunks/routing-feedback-GWETVB4L.js +0 -2
  381. package/dist/cli/chunks/rvf-dual-writer-4UE5S7WP.js +0 -2
  382. package/dist/cli/chunks/rvf-migration-adapter-PHH3HF4Q.js +0 -2
  383. package/dist/cli/chunks/rvf-native-adapter-KTLZBUWV.js +0 -2
  384. package/dist/cli/chunks/safe-db-FWWGAPVE.js +0 -2
  385. package/dist/cli/chunks/schedule-TPA4V4D5.js +0 -2
  386. package/dist/cli/chunks/scheduler-5ZTEPNDD.js +0 -2
  387. package/dist/cli/chunks/sqlite-persistence-HPTT624C.js +0 -2
  388. package/dist/cli/chunks/unified-memory-OVFEPRPS.js +0 -2
  389. package/dist/cli/chunks/unified-memory-hnsw-KKRSCZHR.js +0 -2
  390. package/dist/cli/chunks/unified-persistence-7GLR4RI3.js +0 -2
  391. package/dist/cli/chunks/visual-security-2FUM5GLI.js +0 -2
  392. package/dist/cli/chunks/witness-chain-MH6GA5L6.js +0 -2
  393. package/dist/cli/chunks/workflow-orchestrator-H6G65YKU.js +0 -2
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.7");process.exit(0)}
3
- import{a as de}from"./chunk-A2VUCUTT.js";import{b as le}from"./chunk-V5AK56DA.js";import{h as ce}from"./chunk-ONR2NXXD.js";import"./chunk-EJ6MMYLK.js";import"./chunk-Z4Q5PCRZ.js";import"./chunk-HZY42OVU.js";import{j as M}from"./chunk-HYOPJHHW.js";import"./chunk-YMW57PEL.js";import"./chunk-P2UPYSDJ.js";import"./chunk-B2YGVSOP.js";import"./chunk-Q6NTEICT.js";import"./chunk-XBYQ2BS4.js";import"./chunk-BLG7SH4A.js";import"./chunk-AJUBT4NP.js";import"./chunk-36VKMAMN.js";import"./chunk-4INST4ZL.js";import{a as re}from"./chunk-RKUAWQOF.js";import{d as ie}from"./chunk-7MIOK72I.js";import{b as ae,n as se}from"./chunk-3M7J4U74.js";import{s as oe}from"./chunk-QUORH2MG.js";import"./chunk-ZELWDJXT.js";import{b as B,d as Ce}from"./chunk-OIDWDGLG.js";import"./chunk-UFSVUBTR.js";import{b as P}from"./chunk-IAENZ2DR.js";import"./chunk-QVH5Y7AP.js";import"./chunk-Y6AKKQIQ.js";import"./chunk-PELENDDQ.js";import"./chunk-TW3SR4TS.js";import"./chunk-5GFKTJ65.js";import"./chunk-5D7ZFWDS.js";import"./chunk-ZUOVNFXK.js";import"./chunk-FW4DJ4FJ.js";import{a as E,b as H}from"./chunk-ND4QTZOL.js";import"./chunk-JZT7BU44.js";import"./chunk-P7XSPP5D.js";import"./chunk-RDGPXENG.js";import"./chunk-VYDVI6FZ.js";import"./chunk-HYFQUWNB.js";import"./chunk-B4I43GE2.js";import"./chunk-CBONQM5D.js";import"./chunk-AEUEMVJK.js";import"./chunk-YO4ESCB4.js";oe();Ce();import{Command as je}from"commander";import o from"chalk";import v from"node:path";import{existsSync as x,writeFileSync as De,readFileSync as ne,copyFileSync as Fe,renameSync as ke}from"node:fs";import{stat as Le,unlink as I}from"node:fs/promises";H();H();import{existsSync as j,realpathSync as ye,statSync as X}from"node:fs";import{mkdir as $e,mkdtemp as ve,rename as _e,rm as Z,stat as ee}from"node:fs/promises";import{basename as Ie,dirname as L,join as _,resolve as be}from"node:path";import{randomUUID as Ne}from"node:crypto";oe();import k from"chalk";import U from"node:path";import{createReadStream as ge,createWriteStream as pe}from"node:fs";import{createGzip as Pe,createGunzip as Ae}from"node:zlib";import{pipeline as ue}from"node:stream/promises";H();var O={reasoningBank:null,initialized:!1};async function A(){if(O.initialized&&O.reasoningBank)return O.reasoningBank;let r=P(),t=U.join(r,".agentic-qe"),e=new re({sqlite:{path:U.join(t,"memory.db"),walMode:!0,poolSize:3,busyTimeout:5e3},enableFallback:!0,defaultNamespace:"qe-patterns"});await e.initialize(),O.reasoningBank=ce(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0}),await O.reasoningBank.initialize();try{let{getSharedRvfDualWriter:n}=await import("./shared-rvf-dual-writer-OYY27DFV.js"),s=await n();s&&O.reasoningBank.setRvfDualWriter(s)}catch(n){process.env.DEBUG&&console.debug("[learning] RVF wiring skipped:",n instanceof Error?n.message:n)}return O.initialized=!0,O.reasoningBank}function w(r){console.log(JSON.stringify(r,null,2))}function C(r){console.log(k.green("\u2713"),r)}function S(r){console.error(k.red("\u2717"),r)}function T(r){console.log(k.blue("\u2139"),r)}function me(r){let{current:t,topDomains:e}=r,n={tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",ml:"\u251C",mr:"\u2524"},s=55,g=n.h.repeat(s-2);console.log(""),console.log(`${n.tl}${g}${n.tr}`),console.log(`${n.v}${Oe("AQE LEARNING DASHBOARD",s-2)}${n.v}`),console.log(`${n.ml}${g}${n.mr}`);let c=t.patternsCreatedToday>0?k.green(` (+${t.patternsCreatedToday} today)`):"";console.log(`${n.v} Patterns: ${D(String(t.totalPatterns)+c,32)}${n.v}`);let l=t.experiencesToday>0?k.green(` (+${t.experiencesToday} today)`):"";console.log(`${n.v} Experiences: ${D(String(t.totalExperiences)+l,32)}${n.v}`),console.log(`${n.v} Q-Values: ${D(String(t.totalQValues),32)}${n.v}`);let u=t.avgReward.toFixed(2),p=t.avgRewardDelta>=0?k.green(`(\u2191 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`):k.red(`(\u2193 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`);console.log(`${n.v} Avg Reward: ${D(`${u} ${p}`,32)}${n.v}`);let a=(t.successRate*100).toFixed(1);if(console.log(`${n.v} Success Rate: ${D(`${a}%`,32)}${n.v}`),console.log(`${n.v} Short-term: ${D(String(t.shortTermPatterns),32)}${n.v}`),console.log(`${n.v} Long-term: ${D(String(t.longTermPatterns),32)}${n.v}`),console.log(`${n.v}${" ".repeat(s-2)}${n.v}`),console.log(`${n.v} ${k.bold("Domain Coverage:")}${" ".repeat(s-19)}${n.v}`),e.length===0)console.log(`${n.v} ${k.dim("No patterns yet")}${" ".repeat(s-19)}${n.v}`);else{let i=Math.max(...e.map(h=>h.count),1),m=14;for(let{domain:h,count:y}of e){let b=Math.round(y/i*m),$=m-b,R=k.green("\u2588".repeat(b))+k.dim("\u2591".repeat($)),q=D(h,20),G=Te(String(y),3);console.log(`${n.v} ${q} ${R} ${G} patterns ${n.v}`)}let d=new Set(e.map(h=>h.domain)),f=M.filter(h=>!d.has(h)).slice(0,3);for(let h of f){let y=k.dim("\u2591".repeat(m)),b=D(h,20);console.log(`${n.v} ${b} ${y} 0 patterns ${n.v}`)}}console.log(`${n.bl}${g}${n.br}`),console.log("")}function Oe(r,t){let e=J(r),n=Math.max(0,t-e.length),s=Math.floor(n/2),g=n-s;return" ".repeat(s)+r+" ".repeat(g)}function D(r,t){let e=J(r),n=Math.max(0,t-e.length);return r+" ".repeat(n)}function Te(r,t){let e=J(r),n=Math.max(0,t-e.length);return" ".repeat(n)+r}function J(r){return r.replace(/\x1b\[[0-9;]*m/g,"")}function N(){let r=P();return U.join(r,".agentic-qe","memory.db")}async function Q(r,t){let e=t||`${r}.gz`;return await ue(ge(r),Pe(),pe(e)),e}async function F(r,t){await ue(ge(r),Ae(),pe(t))}async function z(r){try{let t=E(r,{readonly:!0}),e=t.prepare("PRAGMA integrity_check").get();return t.close(),e.integrity_check==="ok"?{valid:!0,message:"Database integrity verified"}:{valid:!1,message:`Integrity check failed: ${e.integrity_check}`}}catch(t){return{valid:!1,message:`Failed to verify: ${t instanceof Error?t.message:"unknown error"}`}}}async function K(r){try{let t=E(r,{readonly:!0});if(!t.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'").get())return t.close(),0;let n=t.prepare("SELECT version FROM schema_version WHERE id = 1").get();return t.close(),n?.version??0}catch{return 0}}var Y="3.1.0",fe={generate:"test-generation","test-generation":"test-generation",analyze:"coverage-analysis",coverage:"coverage-analysis","coverage-analysis":"coverage-analysis",run:"test-execution","test-execution":"test-execution",report:"quality-assessment",quality:"quality-assessment","quality-analysis":"quality-assessment",security:"security-compliance",sast:"security-compliance",owasp:"security-compliance",secrets:"security-compliance",audit:"security-compliance",recommend:"defect-intelligence",predict:"defect-intelligence","complexity-analysis":"code-intelligence","code-analysis":"code-intelligence",stabilize:"chaos-resilience",flaky:"chaos-resilience",quarantine:"chaos-resilience",retry:"chaos-resilience",stress:"chaos-resilience",load:"chaos-resilience",endurance:"chaos-resilience",baseline:"chaos-resilience"},he={generate:"test-template","test-generation":"test-template",analyze:"coverage-strategy",coverage:"coverage-strategy","coverage-analysis":"coverage-strategy",run:"test-template","test-execution":"test-template",report:"assertion-pattern",quality:"assertion-pattern","quality-analysis":"assertion-pattern",security:"assertion-pattern",sast:"assertion-pattern",owasp:"assertion-pattern",secrets:"assertion-pattern",audit:"assertion-pattern",recommend:"assertion-pattern",predict:"assertion-pattern","complexity-analysis":"assertion-pattern","code-analysis":"assertion-pattern",stabilize:"flaky-fix",flaky:"flaky-fix",quarantine:"flaky-fix",retry:"flaky-fix",stress:"perf-benchmark",load:"perf-benchmark",endurance:"perf-benchmark",baseline:"perf-benchmark",mock:"mock-pattern",dependency:"mock-pattern"};function Se(r){let t=E(r,{readonly:!0,fileMustExist:!0});try{let e=t.pragma("integrity_check");if(e.length!==1||e[0].integrity_check!=="ok")throw new Error("Database integrity verification failed");return{schemaVersion:(t.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='schema_version'").get()?t.prepare("SELECT version FROM schema_version WHERE id = 1").get():void 0)?.version??0,pages:t.pragma("page_count",{simple:!0}),verification:{valid:!0,message:"Database integrity verified"}}}finally{t.close()}}function W(r){return j(r)?ye(r):_(ye(L(r)),Ie(r))}function we(r,t){if(W(r)===W(t))return!0;if(!j(r)||!j(t))return!1;let e=X(r),n=X(t);return e.dev===n.dev&&e.ino===n.ino}function te(r,t){let e=W(r),n=W(t);for(let s of["","-wal","-shm","-journal"])if(we(`${e}${s}`,t)||we(r,`${n}${s}`))throw new Error("Backup source and destination must not alias the same database or its sidecars")}function Ee(r){if(!X(r).isFile())throw new Error("Backup input must be a regular file")}async function V(r,t,e={}){let n=E(r,{readonly:!0,fileMustExist:!0});try{let s=await n.backup(t);if(s.totalPages<=0||s.remainingPages!==0||e.expectedPages!==void 0&&s.totalPages!==e.expectedPages)throw new Error("SQLite snapshot did not complete; the source may be empty or the destination busy");if(e.standalone){let c=E(t,{fileMustExist:!0,walMode:!1});try{if(c.pragma("journal_mode = DELETE",{simple:!0})!=="delete")throw new Error("Could not create a standalone SQLite image")}finally{c.close()}}let g=Se(t);if(g.pages!==s.totalPages)throw new Error("SQLite snapshot page count does not match the completed backup");return g}finally{n.close()}}async function xe(r,t,e={}){Ee(r);let n=be(e.compress?`${t}.gz`:t);await $e(L(n),{recursive:!0}),te(r,be(t)),te(r,n);let s=await ve(_(L(n),".aqe-backup-"));try{let g=_(s,"snapshot.db"),c=await V(r,g,{standalone:!0}),l=e.compress?await Q(g):g;if(e.compress&&e.verify){let a=_(s,"verified.db");await F(l,a),Se(a)}let u=Number(((await ee(r)).size/1024).toFixed(2)),p=Number(((await ee(l)).size/1024).toFixed(2));if(["-wal","-shm","-journal"].some(a=>j(`${n}${a}`)))throw new Error("Backup destination has SQLite sidecars; choose an unused output path");return await _e(l,n),{backupPath:n,sourceSizeKB:u,backupSizeKB:p,compressed:!!e.compress,schemaVersion:c.schemaVersion,verification:c.verification}}finally{await Z(s,{recursive:!0,force:!0})}}async function Re(r,t,e={}){if(Ee(r),await $e(L(t),{recursive:!0}),te(r,t),j(t)&&!e.force)throw new Error(`Database already exists at: ${t}. Use --force to overwrite`);let n=await ve(_(L(t),".aqe-restore-")),s;try{let g=r.endsWith(".gz"),c=_(n,"snapshot.db"),l=r;g&&(l=_(n,"decompressed.db"),await F(r,l));let u=await V(l,c,{standalone:!0}),p=Number(((await ee(c)).size/1024).toFixed(2));if(j(t)){let a=new Date().toISOString().replace(/[:.]/g,"-"),i=`${t}.pre-restore-${a}-${Ne()}.db`;try{await V(t,i,{standalone:!0}),s=i}catch(m){throw await Z(i,{force:!0}),new Error("Cannot create a verified safety backup of the existing database; restore refused. Stop project processes and preserve the database and its sidecars before restoring into an absent destination.",{cause:m})}}return await V(c,t,{expectedPages:u.pages}),{sizeKB:p,schemaVersion:u.schemaVersion,wasCompressed:g,safetyBackupPath:s}}catch(g){if(s){let c=g instanceof Error?g.message:"SQLite snapshot failed";throw new Error(`Restore failed: ${c}; previous database snapshot preserved at ${s}`,{cause:g})}throw g}finally{await Z(n,{recursive:!0,force:!0})}}function Qt(){let r=new je("learning").description("AQE self-learning system management (standalone, no claude-flow required)").addHelpText("after",`
2
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
3
+ import{a as de}from"./chunk-F2WAB4WK.js";import{b as le}from"./chunk-6VTC3OHD.js";import{h as ce}from"./chunk-BL6273KR.js";import"./chunk-3S5IIK32.js";import"./chunk-EXQGHTPD.js";import"./chunk-D2Y36V5J.js";import"./chunk-BUVJIVFG.js";import{j as M}from"./chunk-GK5WLUX3.js";import"./chunk-HHANMCD2.js";import"./chunk-M7QKCHLQ.js";import"./chunk-JRLZ7LZ3.js";import"./chunk-AEYJ4ZLA.js";import{a as se}from"./chunk-XECZYQT5.js";import{d as ie}from"./chunk-673XJBGW.js";import"./chunk-ISBOHF6Y.js";import"./chunk-CBWM5NOO.js";import{s as oe}from"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import{b as B,d as Ce}from"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import{b as re,n as ae}from"./chunk-3EKG7HFV.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-EKO5QL2B.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-6GJWT2OY.js";import{b as P}from"./chunk-Z5UZOYQS.js";import"./chunk-BOIUENWW.js";import"./chunk-4PY44TKH.js";import{a as E,b as H}from"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";oe();Ce();import{Command as je}from"commander";import o from"chalk";import v from"node:path";import{existsSync as x,writeFileSync as De,readFileSync as ne,copyFileSync as Fe,renameSync as ke}from"node:fs";import{stat as Le,unlink as I}from"node:fs/promises";H();H();import{existsSync as j,realpathSync as ye,statSync as X}from"node:fs";import{mkdir as $e,mkdtemp as ve,rename as _e,rm as Z,stat as ee}from"node:fs/promises";import{basename as Ie,dirname as L,join as _,resolve as be}from"node:path";import{randomUUID as Ne}from"node:crypto";oe();import k from"chalk";import U from"node:path";import{createReadStream as ge,createWriteStream as pe}from"node:fs";import{createGzip as Pe,createGunzip as Ae}from"node:zlib";import{pipeline as ue}from"node:stream/promises";H();var O={reasoningBank:null,initialized:!1};async function A(){if(O.initialized&&O.reasoningBank)return O.reasoningBank;let r=P(),t=U.join(r,".agentic-qe"),e=new se({sqlite:{path:U.join(t,"memory.db"),walMode:!0,poolSize:3,busyTimeout:5e3},enableFallback:!0,defaultNamespace:"qe-patterns"});await e.initialize(),O.reasoningBank=ce(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0}),await O.reasoningBank.initialize();try{let{getSharedRvfDualWriter:n}=await import("./shared-rvf-dual-writer-IO4DC4XV.js"),s=await n();s&&O.reasoningBank.setRvfDualWriter(s)}catch(n){process.env.DEBUG&&console.debug("[learning] RVF wiring skipped:",n instanceof Error?n.message:n)}return O.initialized=!0,O.reasoningBank}function w(r){console.log(JSON.stringify(r,null,2))}function C(r){console.log(k.green("\u2713"),r)}function S(r){console.error(k.red("\u2717"),r)}function T(r){console.log(k.blue("\u2139"),r)}function me(r){let{current:t,topDomains:e}=r,n={tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",ml:"\u251C",mr:"\u2524"},s=55,g=n.h.repeat(s-2);console.log(""),console.log(`${n.tl}${g}${n.tr}`),console.log(`${n.v}${Oe("AQE LEARNING DASHBOARD",s-2)}${n.v}`),console.log(`${n.ml}${g}${n.mr}`);let c=t.patternsCreatedToday>0?k.green(` (+${t.patternsCreatedToday} today)`):"";console.log(`${n.v} Patterns: ${D(String(t.totalPatterns)+c,32)}${n.v}`);let l=t.experiencesToday>0?k.green(` (+${t.experiencesToday} today)`):"";console.log(`${n.v} Experiences: ${D(String(t.totalExperiences)+l,32)}${n.v}`),console.log(`${n.v} Q-Values: ${D(String(t.totalQValues),32)}${n.v}`);let u=t.avgReward.toFixed(2),p=t.avgRewardDelta>=0?k.green(`(\u2191 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`):k.red(`(\u2193 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`);console.log(`${n.v} Avg Reward: ${D(`${u} ${p}`,32)}${n.v}`);let a=(t.successRate*100).toFixed(1);if(console.log(`${n.v} Success Rate: ${D(`${a}%`,32)}${n.v}`),console.log(`${n.v} Short-term: ${D(String(t.shortTermPatterns),32)}${n.v}`),console.log(`${n.v} Long-term: ${D(String(t.longTermPatterns),32)}${n.v}`),console.log(`${n.v}${" ".repeat(s-2)}${n.v}`),console.log(`${n.v} ${k.bold("Domain Coverage:")}${" ".repeat(s-19)}${n.v}`),e.length===0)console.log(`${n.v} ${k.dim("No patterns yet")}${" ".repeat(s-19)}${n.v}`);else{let i=Math.max(...e.map(h=>h.count),1),m=14;for(let{domain:h,count:y}of e){let b=Math.round(y/i*m),$=m-b,R=k.green("\u2588".repeat(b))+k.dim("\u2591".repeat($)),q=D(h,20),G=Te(String(y),3);console.log(`${n.v} ${q} ${R} ${G} patterns ${n.v}`)}let d=new Set(e.map(h=>h.domain)),f=M.filter(h=>!d.has(h)).slice(0,3);for(let h of f){let y=k.dim("\u2591".repeat(m)),b=D(h,20);console.log(`${n.v} ${b} ${y} 0 patterns ${n.v}`)}}console.log(`${n.bl}${g}${n.br}`),console.log("")}function Oe(r,t){let e=J(r),n=Math.max(0,t-e.length),s=Math.floor(n/2),g=n-s;return" ".repeat(s)+r+" ".repeat(g)}function D(r,t){let e=J(r),n=Math.max(0,t-e.length);return r+" ".repeat(n)}function Te(r,t){let e=J(r),n=Math.max(0,t-e.length);return" ".repeat(n)+r}function J(r){return r.replace(/\x1b\[[0-9;]*m/g,"")}function N(){let r=P();return U.join(r,".agentic-qe","memory.db")}async function Q(r,t){let e=t||`${r}.gz`;return await ue(ge(r),Pe(),pe(e)),e}async function F(r,t){await ue(ge(r),Ae(),pe(t))}async function z(r){try{let t=E(r,{readonly:!0}),e=t.prepare("PRAGMA integrity_check").get();return t.close(),e.integrity_check==="ok"?{valid:!0,message:"Database integrity verified"}:{valid:!1,message:`Integrity check failed: ${e.integrity_check}`}}catch(t){return{valid:!1,message:`Failed to verify: ${t instanceof Error?t.message:"unknown error"}`}}}async function K(r){try{let t=E(r,{readonly:!0});if(!t.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'").get())return t.close(),0;let n=t.prepare("SELECT version FROM schema_version WHERE id = 1").get();return t.close(),n?.version??0}catch{return 0}}var Y="3.1.0",fe={generate:"test-generation","test-generation":"test-generation",analyze:"coverage-analysis",coverage:"coverage-analysis","coverage-analysis":"coverage-analysis",run:"test-execution","test-execution":"test-execution",report:"quality-assessment",quality:"quality-assessment","quality-analysis":"quality-assessment",security:"security-compliance",sast:"security-compliance",owasp:"security-compliance",secrets:"security-compliance",audit:"security-compliance",recommend:"defect-intelligence",predict:"defect-intelligence","complexity-analysis":"code-intelligence","code-analysis":"code-intelligence",stabilize:"chaos-resilience",flaky:"chaos-resilience",quarantine:"chaos-resilience",retry:"chaos-resilience",stress:"chaos-resilience",load:"chaos-resilience",endurance:"chaos-resilience",baseline:"chaos-resilience"},he={generate:"test-template","test-generation":"test-template",analyze:"coverage-strategy",coverage:"coverage-strategy","coverage-analysis":"coverage-strategy",run:"test-template","test-execution":"test-template",report:"assertion-pattern",quality:"assertion-pattern","quality-analysis":"assertion-pattern",security:"assertion-pattern",sast:"assertion-pattern",owasp:"assertion-pattern",secrets:"assertion-pattern",audit:"assertion-pattern",recommend:"assertion-pattern",predict:"assertion-pattern","complexity-analysis":"assertion-pattern","code-analysis":"assertion-pattern",stabilize:"flaky-fix",flaky:"flaky-fix",quarantine:"flaky-fix",retry:"flaky-fix",stress:"perf-benchmark",load:"perf-benchmark",endurance:"perf-benchmark",baseline:"perf-benchmark",mock:"mock-pattern",dependency:"mock-pattern"};function Se(r){let t=E(r,{readonly:!0,fileMustExist:!0});try{let e=t.pragma("integrity_check");if(e.length!==1||e[0].integrity_check!=="ok")throw new Error("Database integrity verification failed");return{schemaVersion:(t.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='schema_version'").get()?t.prepare("SELECT version FROM schema_version WHERE id = 1").get():void 0)?.version??0,pages:t.pragma("page_count",{simple:!0}),verification:{valid:!0,message:"Database integrity verified"}}}finally{t.close()}}function W(r){return j(r)?ye(r):_(ye(L(r)),Ie(r))}function we(r,t){if(W(r)===W(t))return!0;if(!j(r)||!j(t))return!1;let e=X(r),n=X(t);return e.dev===n.dev&&e.ino===n.ino}function te(r,t){let e=W(r),n=W(t);for(let s of["","-wal","-shm","-journal"])if(we(`${e}${s}`,t)||we(r,`${n}${s}`))throw new Error("Backup source and destination must not alias the same database or its sidecars")}function Ee(r){if(!X(r).isFile())throw new Error("Backup input must be a regular file")}async function V(r,t,e={}){let n=E(r,{readonly:!0,fileMustExist:!0});try{let s=await n.backup(t);if(s.totalPages<=0||s.remainingPages!==0||e.expectedPages!==void 0&&s.totalPages!==e.expectedPages)throw new Error("SQLite snapshot did not complete; the source may be empty or the destination busy");if(e.standalone){let c=E(t,{fileMustExist:!0,walMode:!1});try{if(c.pragma("journal_mode = DELETE",{simple:!0})!=="delete")throw new Error("Could not create a standalone SQLite image")}finally{c.close()}}let g=Se(t);if(g.pages!==s.totalPages)throw new Error("SQLite snapshot page count does not match the completed backup");return g}finally{n.close()}}async function xe(r,t,e={}){Ee(r);let n=be(e.compress?`${t}.gz`:t);await $e(L(n),{recursive:!0}),te(r,be(t)),te(r,n);let s=await ve(_(L(n),".aqe-backup-"));try{let g=_(s,"snapshot.db"),c=await V(r,g,{standalone:!0}),l=e.compress?await Q(g):g;if(e.compress&&e.verify){let a=_(s,"verified.db");await F(l,a),Se(a)}let u=Number(((await ee(r)).size/1024).toFixed(2)),p=Number(((await ee(l)).size/1024).toFixed(2));if(["-wal","-shm","-journal"].some(a=>j(`${n}${a}`)))throw new Error("Backup destination has SQLite sidecars; choose an unused output path");return await _e(l,n),{backupPath:n,sourceSizeKB:u,backupSizeKB:p,compressed:!!e.compress,schemaVersion:c.schemaVersion,verification:c.verification}}finally{await Z(s,{recursive:!0,force:!0})}}async function Re(r,t,e={}){if(Ee(r),await $e(L(t),{recursive:!0}),te(r,t),j(t)&&!e.force)throw new Error(`Database already exists at: ${t}. Use --force to overwrite`);let n=await ve(_(L(t),".aqe-restore-")),s;try{let g=r.endsWith(".gz"),c=_(n,"snapshot.db"),l=r;g&&(l=_(n,"decompressed.db"),await F(r,l));let u=await V(l,c,{standalone:!0}),p=Number(((await ee(c)).size/1024).toFixed(2));if(j(t)){let a=new Date().toISOString().replace(/[:.]/g,"-"),i=`${t}.pre-restore-${a}-${Ne()}.db`;try{await V(t,i,{standalone:!0}),s=i}catch(m){throw await Z(i,{force:!0}),new Error("Cannot create a verified safety backup of the existing database; restore refused. Stop project processes and preserve the database and its sidecars before restoring into an absent destination.",{cause:m})}}return await V(c,t,{expectedPages:u.pages}),{sizeKB:p,schemaVersion:u.schemaVersion,wasCompressed:g,safetyBackupPath:s}}catch(g){if(s){let c=g instanceof Error?g.message:"SQLite snapshot failed";throw new Error(`Restore failed: ${c}; previous database snapshot preserved at ${s}`,{cause:g})}throw g}finally{await Z(n,{recursive:!0,force:!0})}}function Qt(){let r=new je("learning").description("AQE self-learning system management (standalone, no claude-flow required)").addHelpText("after",`
4
4
  Examples:
5
5
  # Check learning system status
6
6
  aqe learning stats
@@ -16,7 +16,7 @@ Examples:
16
16
 
17
17
  # Run background learning consolidation
18
18
  aqe learning daemon --interval 3600
19
- `);return Me(r),Qe(r),ze(r),Ve(r),We(r),Ge(r),He(r),Ue(r),Je(r),Ke(r),Ye(r),Xe(r),Ze(r),et(r),Be(r),qe(r),tt(r),ot(r),at(r),r}function qe(r){r.command("embedding-health").description("Display active and stored embedding-space provenance").option("--json","Output as JSON").action(async t=>{let e=v.join(P(),".agentic-qe","memory.db");if(!x(e))throw new Error('Database not found. Run "aqe init --auto" first.');let n=E(e,{readonly:!0});try{let s=n.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_pattern_embeddings'").get(),g=s?n.prepare("PRAGMA table_info('qe_pattern_embeddings')").all().some(u=>u.name==="space_id"):!1,c=s?n.prepare(`SELECT ${g?"space_id":"NULL"} AS spaceId FROM qe_pattern_embeddings`).all():[],l=ae(c,se()?.spaceId??null);if(t.json){w(l);return}console.log(o.bold(`
19
+ `);return Me(r),Qe(r),ze(r),Ve(r),We(r),Ge(r),He(r),Ue(r),Je(r),Ke(r),Ye(r),Xe(r),Ze(r),et(r),Be(r),qe(r),tt(r),ot(r),at(r),r}function qe(r){r.command("embedding-health").description("Display active and stored embedding-space provenance").option("--json","Output as JSON").action(async t=>{let e=v.join(P(),".agentic-qe","memory.db");if(!x(e))throw new Error('Database not found. Run "aqe init --auto" first.');let n=E(e,{readonly:!0});try{let s=n.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_pattern_embeddings'").get(),g=s?n.prepare("PRAGMA table_info('qe_pattern_embeddings')").all().some(u=>u.name==="space_id"):!1,c=s?n.prepare(`SELECT ${g?"space_id":"NULL"} AS spaceId FROM qe_pattern_embeddings`).all():[],l=re(c,ae()?.spaceId??null);if(t.json){w(l);return}console.log(o.bold(`
20
20
  Embedding Space Health
21
21
  `)),console.log(` Status: ${l.status}`),console.log(` Active space: ${l.activeSpaceId??"(runtime not initialized)"}`),console.log(` Stored spaces: ${l.storedSpaceIds.join(", ")||"(none)"}`),console.log(` Verified vectors: ${l.verifiedVectors}`),console.log(` Mismatched vectors: ${l.mismatchedVectors}`),console.log(` Unverified vectors: ${l.unverifiedVectors}
22
22
  `)}finally{n.close()}})}function Be(r){r.command("backfill-embeddings").description("Generate embeddings for learned patterns that are missing vectors").option("-b, --batch-size <n>","Patterns per embedding batch","32").option("--dry-run","Report missing embeddings without writing").option("--json","Output as JSON").action(async t=>{let e=Number(t.batchSize);if(!Number.isInteger(e)||e<=0)throw new Error("batch size must be a positive integer");let n=ie();try{await n.initialize();let s=n.getGhostPatternCount();if(t.dryRun){t.json?w({dryRun:!0,batchSize:e,...s}):(console.log(o.bold(`
@@ -87,7 +87,7 @@ Table Counts:`));for(let[l,u]of Object.entries(c))console.log(` ${l}: ${u}`)}co
87
87
  Dry run - no changes made`)),console.log(` Would import: ${m}
88
88
  Would update: ${f}
89
89
  Would skip: ${d}`)):(console.log(o.green(`
90
- Imported: ${u}`)),console.log(o.blue(` Updated: ${a}`)),p>0&&console.log(o.yellow(` Skipped: ${p}`)),i.length>0&&console.log(o.red(` Errors: ${i.length}`))),console.log(""));return}catch(e){throw S(`import-merge failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function et(r){r.command("dream").description("Run dream cycles for pattern discovery via spreading activation").option("--duration <ms>","Duration of dream cycle in milliseconds","30000").option("--quick","Run a quick 5-second dream cycle").option("--full","Run a full 30-second dream cycle").option("--status","Show dream system status").option("--history","Show past dream cycles").option("--insights","Show pending insights from previous cycles").option("--apply <id>","Apply a specific insight by ID").option("--limit <n>","Maximum results for history/insights","20").option("--min-patterns <n>","Minimum patterns required to dream","10").option("--json","Output as JSON").action(async t=>{try{let{createDreamEngine:e}=await import("./dream-FTP33IJB.js");if(t.status){let a=e();await a.initialize();let i=a.isDreaming(),m=await a.getDreamHistory(100),d=await a.getPendingInsights(100),f=m.reduce((y,b)=>y+b.insightsGenerated,0),h=m[0];if(t.json)w({isDreaming:i,totalCycles:m.length,totalInsights:f,pendingInsights:d.length,lastDreamTime:h?.startTime.toISOString()||null});else{if(console.log(o.bold(`
90
+ Imported: ${u}`)),console.log(o.blue(` Updated: ${a}`)),p>0&&console.log(o.yellow(` Skipped: ${p}`)),i.length>0&&console.log(o.red(` Errors: ${i.length}`))),console.log(""));return}catch(e){throw S(`import-merge failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function et(r){r.command("dream").description("Run dream cycles for pattern discovery via spreading activation").option("--duration <ms>","Duration of dream cycle in milliseconds","30000").option("--quick","Run a quick 5-second dream cycle").option("--full","Run a full 30-second dream cycle").option("--status","Show dream system status").option("--history","Show past dream cycles").option("--insights","Show pending insights from previous cycles").option("--apply <id>","Apply a specific insight by ID").option("--limit <n>","Maximum results for history/insights","20").option("--min-patterns <n>","Minimum patterns required to dream","10").option("--json","Output as JSON").action(async t=>{try{let{createDreamEngine:e}=await import("./dream-OSWAITPT.js");if(t.status){let a=e();await a.initialize();let i=a.isDreaming(),m=await a.getDreamHistory(100),d=await a.getPendingInsights(100),f=m.reduce((y,b)=>y+b.insightsGenerated,0),h=m[0];if(t.json)w({isDreaming:i,totalCycles:m.length,totalInsights:f,pendingInsights:d.length,lastDreamTime:h?.startTime.toISOString()||null});else{if(console.log(o.bold(`
91
91
  \u{1F319} Dream System Status
92
92
  `)),console.log(` Currently dreaming: ${i?o.green("Yes"):o.dim("No")}`),console.log(` Total dream cycles: ${m.length}`),console.log(` Total insights generated: ${f}`),console.log(` Pending insights: ${d.length}`),console.log(` Last dream: ${h?h.startTime.toISOString():o.dim("never")}`),m.length>0){console.log(o.bold(`
93
93
  Recent cycles:`));for(let y of m.slice(0,3)){let b=y.status==="completed"?o.green(y.status):o.yellow(y.status);console.log(` ${y.id.slice(0,8)} | ${b} | ${y.durationMs||0}ms | ${y.insightsGenerated} insights`)}}console.log("")}await a.close();return}if(t.history){let a=parseInt(t.limit,10),i=e();await i.initialize();let m=await i.getDreamHistory(a);if(t.json)w(m.map(d=>({id:d.id,startTime:d.startTime.toISOString(),endTime:d.endTime?.toISOString(),durationMs:d.durationMs,status:d.status,conceptsProcessed:d.conceptsProcessed,associationsFound:d.associationsFound,insightsGenerated:d.insightsGenerated})));else{if(console.log(o.bold(`
@@ -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.14.7");process.exit(0)}
2
- import{d as R,e as $,f as I,i as S,j as k,l as M,m as _,n as N,p as D,q as j}from"./chunk-BEFTQVEW.js";import{i as w,j as T,n as q}from"./chunk-TFK2AYIN.js";import"./chunk-QUORH2MG.js";import"./chunk-ZELWDJXT.js";import"./chunk-OIDWDGLG.js";import"./chunk-UFSVUBTR.js";import"./chunk-IAENZ2DR.js";import"./chunk-PELENDDQ.js";import"./chunk-TW3SR4TS.js";import"./chunk-5GFKTJ65.js";import"./chunk-5D7ZFWDS.js";import"./chunk-ZUOVNFXK.js";import"./chunk-ND4QTZOL.js";import"./chunk-JZT7BU44.js";import"./chunk-P7XSPP5D.js";import{b as A,d as J}from"./chunk-RDGPXENG.js";import"./chunk-VYDVI6FZ.js";import"./chunk-HYFQUWNB.js";import"./chunk-B4I43GE2.js";import"./chunk-CBONQM5D.js";import"./chunk-AEUEMVJK.js";import"./chunk-YO4ESCB4.js";J();import{Command as F}from"commander";import t from"chalk";q();var p=null;function x(){return process.env.AQE_CONFIG_ROOT}function b(){return p===null&&(p=j({projectRoot:x()})),p}function U(){p=null}function K(){p!==null&&(D(p,x()),U())}function me(){let o=new F("llm").description("LLM Router management (ADR-043)").addHelpText("after",`
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.14.8");process.exit(0)}
2
+ import{d as R,e as $,f as I,i as S,j as k,l as M,m as _,n as N,p as D,q as j}from"./chunk-LKFBW2QM.js";import{i as w,j as T,n as q}from"./chunk-SUNXA2UR.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import{b as A,d as J}from"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-OVMG6EEF.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-Z5UZOYQS.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";J();import{Command as F}from"commander";import t from"chalk";q();var p=null;function x(){return process.env.AQE_CONFIG_ROOT}function b(){return p===null&&(p=j({projectRoot:x()})),p}function U(){p=null}function K(){p!==null&&(D(p,x()),U())}function me(){let o=new F("llm").description("LLM Router management (ADR-043)").addHelpText("after",`
3
3
  Examples:
4
4
  $ aqe llm providers List available providers
5
5
  $ aqe llm models --provider claude List Claude models
@@ -31,7 +31,7 @@ Cost Estimate
31
31
  `)),console.log(t.gray(`Model: ${s.canonicalName} (${s.canonicalId})`)),console.log(t.gray(`Tokens: ${n.toLocaleString()}
32
32
  `)),console.log(t.bold("Pricing (per 1M tokens):")),console.log(` Input: ${E(s.inputCostPer1M)}`),console.log(` Output: ${E(s.outputCostPer1M)}`),console.log(t.bold(`
33
33
  Estimated Cost:`)),console.log(` Input: ${t.yellow("$"+r.toFixed(6))}`),console.log(` Output: ${t.yellow("$"+i.toFixed(6))}`),console.log(` Total: ${t.green("$"+c.toFixed(6))}`),console.log("")}function l(o,e){return o.padEnd(e)}function Q(o,e){return o.length<=e?o:o.slice(0,e-1)+"..."}function E(o){return o==null?"-":o===0?"$0 (free)":`$${o.toFixed(2)}`}function V(o){let e={claude:w,"claude-code":"sonnet",codex:"default",openai:"gpt-6-sol",ollama:"qwen3-coder:30b",openrouter:"anthropic/claude-sonnet-5",gemini:"gemini-2.5-flash","azure-openai":"gpt-4o",bedrock:"anthropic.claude-sonnet-4-6-v1:0",cognitum:"cognitum-auto",onnx:"phi-4"};if(S(o))return e[o];let n=$(o),s=n?.config;return s?.defaultModel??s?.models?.[0]??n?.models?.[0]??""}function L(o){let e=s=>!!process.env[s],n=$(o);if(n){let r=n.config?.command?.[0];return r&&_(r)?"available":"configured"}switch(o){case"claude":return e("ANTHROPIC_API_KEY")?"available":"configured";case"openai":return e("OPENAI_API_KEY")?"available":"configured";case"ollama":return"configured";case"openrouter":return e("OPENROUTER_API_KEY")?"available":"not configured";case"gemini":return e("GOOGLE_API_KEY")?"available":"not configured";case"azure-openai":return e("AZURE_OPENAI_API_KEY")?"available":"not configured";case"bedrock":return e("AWS_ACCESS_KEY_ID")?"available":"not configured";case"onnx":return"configured";default:return"not configured"}}function Z(o,e){let{mode:n,complexity:s,agentType:r}=e;if(r?.includes("security")||o.toLowerCase().includes("security"))return{provider:"claude",model:w,reason:"Security tasks require advanced reasoning (rule-match)",confidence:.95,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.014}};if(n==="cost-optimized"||s==="trivial"||s==="low")return{provider:"openai",model:"gpt-4o-mini",reason:"Cost optimization selected efficient model",confidence:.85,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:9e-4}};if(n==="performance-optimized"||s==="expert")return{provider:"claude",model:T,reason:"Complex task requires flagship model",confidence:.92,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.028}};let i=b();return{provider:i.defaultProvider,model:i.defaultModel,reason:"Default provider selected",confidence:.8,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.021}}}function X(o,e){let n=o.toLowerCase();if(n==="apikey"||n.endsWith(".apikey")||n.includes("apikey="))throw new Error("API keys cannot be saved via 'aqe llm config --set'. They belong in environment variables: ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY / GOOGLE_AI_API_KEY / GOOGLE_API_KEY, AZURE_OPENAI_API_KEY. The CLI will not write secrets to .agentic-qe/llm-config.json (which may be checked into source control).");let s=b();switch(o){case"mode":if(["manual","rule-based","cost-optimized","performance-optimized"].includes(e))s.mode=e;else throw new Error(`Invalid mode: ${e}`);break;case"defaultProvider":if(N().includes(e))s.defaultProvider=e;else throw new Error(`Invalid provider: ${e}`);break;case"enableMetrics":s.enableMetrics=e==="true";break;case"cacheDecisions":s.cacheDecisions=e==="true";break;default:throw new Error(`Unknown config key: ${o}`)}K()}async function ee(o){return k.map(e=>{let n=L(e);return{provider:e,healthy:n==="available"||e==="ollama"||e==="onnx",latencyMs:n!=="not configured"?A(50,250):void 0,message:n==="available"?"OK":n==="configured"?"API key not verified":"Not configured"}})}function oe(o){let e=M.find(n=>n.canonicalId===o);if(e)return e;for(let n of M)for(let s of Object.values(n.providerIds))if(s===o)return n}async function te(o){let{readFile:e}=await import("fs/promises");if(o.transcript){let n=await e(o.transcript,"utf-8"),s=JSON.parse(n);if(!s.messages||!Array.isArray(s.messages))throw new Error(`Transcript file must contain a 'messages' array: ${o.transcript}`);return{systemPrompt:s.systemPrompt,taskDescription:s.taskDescription,messages:s.messages}}if(o.stdin){let n=[];for await(let i of process.stdin)n.push(Buffer.from(i));let s=Buffer.concat(n).toString("utf-8"),r=JSON.parse(s);if(!r.messages||!Array.isArray(r.messages))throw new Error("Transcript from stdin must contain a `messages` array");return{systemPrompt:r.systemPrompt,taskDescription:r.taskDescription,messages:r.messages}}if(o.session){let{readFile:n,readdir:s}=await import("fs/promises"),{join:r}=await import("path"),i=await import("os"),c=r(i.homedir(),".claude","projects"),d=null;try{let y=await s(c);for(let f of y){let a=r(c,f),v=(await s(a).catch(()=>[])).find(u=>u.includes(o.session)&&u.endsWith(".jsonl"));if(v){d=r(a,v);break}}}catch{}if(!d)throw new Error(`Could not find session JSONL for session ID "${o.session}" in ~/.claude/projects/. Use --transcript <path> as fallback.`);let P=(await n(d,"utf-8")).trim().split(`
34
- `).filter(Boolean),m=[];for(let y of P)try{let f=JSON.parse(y),a=f.type,O=f.message;if(!O)continue;let v=O.role,u=O.content;if(a==="user"&&v==="user"){let h=typeof u=="string"?u:Array.isArray(u)?u.map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"user",content:h})}else if(a==="assistant"&&v==="assistant"){let h=typeof u=="string"?u:Array.isArray(u)?u.filter(C=>C.type==="text").map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"assistant",content:h})}}catch{}if(m.length===0)throw new Error(`Session JSONL at ${d} contained no parseable messages.`);return{messages:m}}throw new Error("aqe llm advise requires one of: --transcript <path>, --stdin, --session <id>")}async function ne(o){let e=o.json!==!1,n=o.quiet??!1;try{let s=await te(o);!n&&!e&&console.log(t.gray("Consulting advisor..."));let{createLLMRouterService:r}=await import("./llm-router-service-MWGC43ZA.js"),{MultiModelExecutor:i,DEFAULT_ADVISOR_MODEL:c}=await import("./multi-model-executor-AEEO7IA4.js"),d=o.provider,g=await r({projectRoot:x(),allowProjectProviderEndpoints:!1,override:{mode:"manual",...d?{defaultProvider:d}:{},...o.model?{defaultModel:o.model}:{}}});if(!g)throw new Error(`No enabled LLM provider is available for advisor${d?` provider "${d}"`:""}.`);let P=d??g.resolvedConfig.defaultProvider,m=o.model??g.resolvedConfig.providers?.[P]?.defaultModel??g.resolvedConfig.defaultModel??c,y=new i(g.router),f=o.redact??"strict",a=await y.consult(s,{provider:P,model:m,maxWords:o.maxWords?parseInt(o.maxWords,10):void 0,agentName:o.agent,triggerReason:o.triggerReason??"cli",sessionId:o.session??"cli-"+Date.now(),redact:f,advisorSystemPrompt:o.advisorPrompt});e?console.log(JSON.stringify({advice:a.advice,model:a.model,provider:a.provider,tokens_in:a.tokensIn,tokens_out:a.tokensOut,latency_ms:a.latencyMs,cost_usd:a.costUsd,advice_hash:a.adviceHash,trigger_reason:a.triggerReason,cache_hit:a.cacheHit,redaction_applied:a.redactionsApplied.length>0,redactions:a.redactionsApplied,circuit_breaker_remaining:a.circuitBreakerRemaining},null,2)):(console.log(t.bold.cyan(`
34
+ `).filter(Boolean),m=[];for(let y of P)try{let f=JSON.parse(y),a=f.type,O=f.message;if(!O)continue;let v=O.role,u=O.content;if(a==="user"&&v==="user"){let h=typeof u=="string"?u:Array.isArray(u)?u.map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"user",content:h})}else if(a==="assistant"&&v==="assistant"){let h=typeof u=="string"?u:Array.isArray(u)?u.filter(C=>C.type==="text").map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"assistant",content:h})}}catch{}if(m.length===0)throw new Error(`Session JSONL at ${d} contained no parseable messages.`);return{messages:m}}throw new Error("aqe llm advise requires one of: --transcript <path>, --stdin, --session <id>")}async function ne(o){let e=o.json!==!1,n=o.quiet??!1;try{let s=await te(o);!n&&!e&&console.log(t.gray("Consulting advisor..."));let{createLLMRouterService:r}=await import("./llm-router-service-2D74XVM3.js"),{MultiModelExecutor:i,DEFAULT_ADVISOR_MODEL:c}=await import("./multi-model-executor-WPRKCSCM.js"),d=o.provider,g=await r({projectRoot:x(),allowProjectProviderEndpoints:!1,override:{mode:"manual",...d?{defaultProvider:d}:{},...o.model?{defaultModel:o.model}:{}}});if(!g)throw new Error(`No enabled LLM provider is available for advisor${d?` provider "${d}"`:""}.`);let P=d??g.resolvedConfig.defaultProvider,m=o.model??g.resolvedConfig.providers?.[P]?.defaultModel??g.resolvedConfig.defaultModel??c,y=new i(g.router),f=o.redact??"strict",a=await y.consult(s,{provider:P,model:m,maxWords:o.maxWords?parseInt(o.maxWords,10):void 0,agentName:o.agent,triggerReason:o.triggerReason??"cli",sessionId:o.session??"cli-"+Date.now(),redact:f,advisorSystemPrompt:o.advisorPrompt});e?console.log(JSON.stringify({advice:a.advice,model:a.model,provider:a.provider,tokens_in:a.tokensIn,tokens_out:a.tokensOut,latency_ms:a.latencyMs,cost_usd:a.costUsd,advice_hash:a.adviceHash,trigger_reason:a.triggerReason,cache_hit:a.cacheHit,redaction_applied:a.redactionsApplied.length>0,redactions:a.redactionsApplied,circuit_breaker_remaining:a.circuitBreakerRemaining},null,2)):(console.log(t.bold.cyan(`
35
35
  Advisor Response
36
- `)),console.log(a.advice),console.log(),console.log(t.gray(`(${a.provider}/${a.model}, ${a.tokensIn}\u2192${a.tokensOut} tokens, ${a.latencyMs}ms, $${a.costUsd.toFixed(4)})`))),process.exit(0)}catch(s){let r=s instanceof Error?s.message:String(s),i=s?.exitCode??1;console.error(e?JSON.stringify({error:r,exit_code:i},null,2):t.red(`Error: ${r}`)),process.exit(i)}}async function se(o){let e=o.json??!1,n=parseInt(o.minCalls??"1",10);try{let{AdvisorCircuitBreaker:s}=await import("./circuit-breaker-MRCC7WCM.js"),i=new s().getState(o.session),c=i.callCount>=n,d={session:o.session,advisor_calls:i.callCount,required:n,gate:c?"PASS":"FAIL"};if(e)console.log(JSON.stringify(d,null,2));else{let g=c?t.green("PASS"):t.red("FAIL");console.log(`
36
+ `)),console.log(a.advice),console.log(),console.log(t.gray(`(${a.provider}/${a.model}, ${a.tokensIn}\u2192${a.tokensOut} tokens, ${a.latencyMs}ms, $${a.costUsd.toFixed(4)})`))),process.exit(0)}catch(s){let r=s instanceof Error?s.message:String(s),i=s?.exitCode??1;console.error(e?JSON.stringify({error:r,exit_code:i},null,2):t.red(`Error: ${r}`)),process.exit(i)}}async function se(o){let e=o.json??!1,n=parseInt(o.minCalls??"1",10);try{let{AdvisorCircuitBreaker:s}=await import("./circuit-breaker-UQDPXYRD.js"),i=new s().getState(o.session),c=i.callCount>=n,d={session:o.session,advisor_calls:i.callCount,required:n,gate:c?"PASS":"FAIL"};if(e)console.log(JSON.stringify(d,null,2));else{let g=c?t.green("PASS"):t.red("FAIL");console.log(`
37
37
  Advisor Quality Gate: ${g}`),console.log(` Session: ${o.session}`),console.log(` Advisor calls: ${i.callCount}`),console.log(` Required: \u2265${n}`)}process.exit(c?0:7)}catch(s){let r=s instanceof Error?s.message:String(s);console.error(e?JSON.stringify({error:r},null,2):t.red(`Error: ${r}`)),process.exit(1)}}export{me as createLLMRouterCommand};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
2
+ import{a,b,c,d}from"./chunk-O4QB2GFL.js";import"./chunk-PVJLQ2YZ.js";import"./chunk-Z6G3QVZ4.js";import"./chunk-LRGTPUJA.js";import"./chunk-OX7MJFLC.js";import"./chunk-LKFBW2QM.js";import"./chunk-FRC7AFB4.js";import"./chunk-7X3LMTRA.js";import"./chunk-SUNXA2UR.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-Z5UZOYQS.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";export{a as createLLMRouterService,d as extractProviderConfigs,b as pickEnabledProviders,c as pickPrimaryAndFallbacks};
@@ -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.14.7");process.exit(0)}
2
- import"./chunk-CVOQ6ESD.js";import"./chunk-6EGS77BB.js";import{a as d}from"./chunk-DYTQHRUS.js";import"./chunk-P2UPYSDJ.js";import{a as v,e as P}from"./chunk-ZUOVNFXK.js";import{i as C}from"./chunk-FW4DJ4FJ.js";import"./chunk-RDGPXENG.js";import"./chunk-HYFQUWNB.js";import"./chunk-YO4ESCB4.js";var L={maxEvents:1e5,memorySampleInterval:1e3,enableTimeline:!0,timelineSampleInterval:1e3},u=class{config;activeAgents=new Map;peakAgentCount=0;totalAgentsSpawned=0;activeTasks=new Map;totalTasksStarted=0;totalTasksCompleted=0;coordinationLatencies;taskDurations;memorySnapshots;peakMemoryUsed=0;memorySum=0;memorySamples=0;agentTimeline=[];latencyTimeline=[];memoryTimeline=[];startTime=0;endTime=0;running=!1;memorySamplerTimer=null;timelineSamplerTimer=null;issues=[];constructor(t={}){this.config={...L,...t},this.coordinationLatencies=new d(this.config.maxEvents),this.taskDurations=new d(this.config.maxEvents),this.memorySnapshots=new d(1e4)}start(){this.running||(this.running=!0,this.startTime=Date.now(),this.memorySamplerTimer=setInterval(()=>{this.sampleMemory()},this.config.memorySampleInterval),this.config.enableTimeline&&(this.timelineSamplerTimer=setInterval(()=>{this.sampleTimeline()},this.config.timelineSampleInterval)))}stop(){this.running&&(this.running=!1,this.endTime=Date.now(),this.memorySamplerTimer&&(clearInterval(this.memorySamplerTimer),this.memorySamplerTimer=null),this.timelineSamplerTimer&&(clearInterval(this.timelineSamplerTimer),this.timelineSamplerTimer=null))}reset(){this.stop(),this.activeAgents.clear(),this.peakAgentCount=0,this.totalAgentsSpawned=0,this.activeTasks.clear(),this.totalTasksStarted=0,this.totalTasksCompleted=0,this.coordinationLatencies.clear(),this.taskDurations.clear(),this.memorySnapshots.clear(),this.peakMemoryUsed=0,this.memorySum=0,this.memorySamples=0,this.agentTimeline.length=0,this.latencyTimeline.length=0,this.memoryTimeline.length=0,this.startTime=0,this.endTime=0,this.issues.length=0}recordAgentSpawn(t,e=Date.now()){this.activeAgents.set(t,e),this.totalAgentsSpawned++;let r=this.activeAgents.size;r>this.peakAgentCount&&(this.peakAgentCount=r)}recordAgentTerminate(t,e=Date.now()){this.activeAgents.delete(t)}recordTaskStart(t,e,r=Date.now()){this.activeTasks.set(e,{agentId:t,startTime:r}),this.totalTasksStarted++}recordTaskComplete(t,e,r,n=Date.now()){let o=this.activeTasks.get(e);o&&o.agentId===t&&(this.activeTasks.delete(e),this.taskDurations.push(r),this.totalTasksCompleted++)}recordCoordination(t,e,r=Date.now()){this.coordinationLatencies.push(e),e>100&&this.issues.push(`High coordination latency for agent ${t}: ${e}ms`)}recordMemoryUsage(t,e){let r={timestamp:Date.now(),heapUsed:t,heapTotal:e,external:0,rss:0};this.memorySnapshots.push(r),this.memorySum+=t,this.memorySamples++,t>this.peakMemoryUsed&&(this.peakMemoryUsed=t);let n=4*1024*1024*1024;t>n&&this.issues.push(`Memory exceeded 4GB limit: ${(t/1024/1024/1024).toFixed(2)}GB`)}recordIssue(t){this.issues.push(t)}getAgentCount(){return this.activeAgents.size}getPeakAgentCount(){return this.peakAgentCount}getTotalAgentsSpawned(){return this.totalAgentsSpawned}getP95CoordinationLatency(){return this.calculatePercentile(this.coordinationLatencies.toArray(),.95)}getP99CoordinationLatency(){return this.calculatePercentile(this.coordinationLatencies.toArray(),.99)}getCoordinationLatencyPercentiles(){return this.calculatePercentiles(this.coordinationLatencies.toArray())}getTaskLatencyPercentiles(){return this.calculatePercentiles(this.taskDurations.toArray())}getMaxMemoryUsage(){return this.peakMemoryUsed}getAverageMemoryUsage(){return this.memorySamples>0?this.memorySum/this.memorySamples:0}getThroughput(){let e=this.getDuration()/1e3;return{tasks:this.totalTasksCompleted,tasksPerSecond:e>0?this.totalTasksCompleted/e:0,agents:this.totalAgentsSpawned,agentsPerSecond:e>0?this.totalAgentsSpawned/e:0}}getDuration(){return this.startTime===0?0:(this.endTime>0?this.endTime:Date.now())-this.startTime}hasAgentStarvation(){let t=this.activeAgents.size,e=this.activeTasks.size;return t>0&&e===0&&this.totalTasksCompleted>0}hasDeadlocks(){let t=Date.now(),e=6e4,r=Array.from(this.activeTasks.values());for(let n of r)if(t-n.startTime>e)return!0;return!1}exportReport(){let t=this.getDuration(),e=this.getCoordinationLatencyPercentiles(),r=this.getTaskLatencyPercentiles(),n=this.getThroughput(),o=100,a=4*1024*1024*1024,c={agentCount:this.peakAgentCount>=o,memoryLimit:this.peakMemoryUsed<a,coordinationLatency:e.p95<=100,noDeadlocks:!this.hasDeadlocks(),noStarvation:!this.hasAgentStarvation()},y=Object.values(c).every(Boolean),p=this.generateRecommendations(e,this.peakMemoryUsed,n);return{summary:{totalAgents:this.totalAgentsSpawned,peakAgents:this.peakAgentCount,totalTasks:this.totalTasksCompleted,duration:t,success:y,successCriteria:c},performance:{coordinationLatency:e,taskLatency:r,throughput:n},resources:{memoryPeak:this.peakMemoryUsed,memoryAverage:this.getAverageMemoryUsage(),cpuPeak:0,cpuAverage:0},timeline:{agentCounts:[...this.agentTimeline],latencies:[...this.latencyTimeline],memoryUsage:[...this.memoryTimeline]},issues:[...this.issues],recommendations:p}}sampleMemory(){let t=process.memoryUsage();this.recordMemoryUsage(t.heapUsed,t.heapTotal)}sampleTimeline(){let t=Date.now();this.agentTimeline.push({timestamp:t,count:this.activeAgents.size});let e=this.coordinationLatencies.toArray();e.length>0&&this.latencyTimeline.push({timestamp:t,p95:this.calculatePercentile(e,.95)});let r=process.memoryUsage();this.memoryTimeline.push({timestamp:t,heapUsed:r.heapUsed});let n=1e3;this.agentTimeline.length>n&&this.agentTimeline.shift(),this.latencyTimeline.length>n&&this.latencyTimeline.shift(),this.memoryTimeline.length>n&&this.memoryTimeline.shift()}calculatePercentile(t,e){if(t.length===0)return 0;let r=[...t].sort((o,a)=>o-a),n=Math.ceil(r.length*e)-1;return r[Math.max(0,n)]}calculatePercentiles(t){if(t.length===0)return{p50:0,p95:0,p99:0,max:0,min:0,avg:0,count:0};let e=[...t].sort((n,o)=>n-o),r=e.reduce((n,o)=>n+o,0);return{p50:this.calculatePercentile(e,.5),p95:this.calculatePercentile(e,.95),p99:this.calculatePercentile(e,.99),max:e[e.length-1],min:e[0],avg:r/e.length,count:e.length}}generateRecommendations(t,e,r){let n=[];t.p95>100&&n.push(`P95 coordination latency (${t.p95.toFixed(1)}ms) exceeds 100ms target. Consider optimizing gossip protocol or reducing agent count.`),t.p99>t.p95*2&&n.push("High P99/P95 ratio indicates latency outliers. Investigate specific agents or network conditions.");let o=e/1024/1024/1024;return o>3&&n.push(`Memory usage (${o.toFixed(2)}GB) approaching 4GB limit. Consider implementing agent pooling or reducing per-agent memory.`),r.tasksPerSecond<10&&n.push(`Task throughput (${r.tasksPerSecond.toFixed(1)}/s) is low. Consider parallelizing task execution or reducing task complexity.`),this.issues.length>10&&n.push(`${this.issues.length} issues recorded. Review issue log for patterns and prioritize fixes.`),n}};function k(s){return new u(s)}P();var h={memoryWarning:3*1024*1024*1024,memoryCritical:4*1024*1024*1024,latencyP95Warning:75,latencyP95Critical:100,latencyP99Warning:150,latencyP99Critical:200,agentStarvationTime:3e4,deadlockTimeout:6e4,minTasksPerSecond:5,minAgentUtilization:.5,gossipConvergenceTime:5e3,gossipMaxPartitions:0},b={thresholds:h,enableDetailedAnalysis:!0},l=class{config;constructor(t={}){this.config={...b,...t,thresholds:{...h,...t.thresholds}}}analyze(t){let e=[];e.push(this.checkMemoryPressure(t)),e.push(this.checkCoordinationLatencyP95(t)),e.push(this.checkCoordinationLatencyP99(t)),e.push(this.checkAgentStarvation(t)),e.push(this.checkDeadlocks(t)),e.push(this.checkThroughput(t));let r=e.filter(i=>i.detected),n={totalChecks:e.length,detected:r.length,critical:r.filter(i=>i.severity==="critical").length,high:r.filter(i=>i.severity==="high").length,medium:r.filter(i=>i.severity==="medium").length,low:r.filter(i=>i.severity==="low").length},o="low";n.critical>0?o="critical":n.high>0?o="high":n.medium>0&&(o="medium");let a=this.generatePrioritizedRecommendations(r);return{overallSeverity:o,hasCritical:n.critical>0,bottlenecks:e,summary:n,recommendations:a,timestamp:new Date}}analyzeReport(t){let e=[];e.push(this.checkMemoryFromReport(t)),e.push(this.checkLatencyP95FromReport(t)),e.push(this.checkLatencyP99FromReport(t)),e.push(this.checkThroughputFromReport(t)),e.push(this.checkSuccessCriteria(t));let r=e.filter(i=>i.detected),n={totalChecks:e.length,detected:r.length,critical:r.filter(i=>i.severity==="critical").length,high:r.filter(i=>i.severity==="high").length,medium:r.filter(i=>i.severity==="medium").length,low:r.filter(i=>i.severity==="low").length},o="low";n.critical>0?o="critical":n.high>0?o="high":n.medium>0&&(o="medium");let a=this.generatePrioritizedRecommendations(r);return{overallSeverity:o,hasCritical:n.critical>0,bottlenecks:e,summary:n,recommendations:a,timestamp:new Date}}checkMemoryPressure(t){let e=t?.getMaxMemoryUsage()??process.memoryUsage().heapUsed,{memoryWarning:r,memoryCritical:n}=this.config.thresholds,o=e>=r,a="low",i="Memory usage is within acceptable limits.";return e>=n?(a="critical",i="Memory usage exceeds 4GB limit. Implement agent pooling, reduce per-agent state, or decrease concurrent agent count."):e>=r&&(a="high",i="Memory usage approaching critical threshold. Consider optimizing agent memory footprint or implementing memory pressure relief mechanisms."),{detected:o,severity:a,metric:"memory_pressure",threshold:n,actual:e,recommendation:i,context:{usedGB:e/1024/1024/1024,warningThresholdGB:r/1024/1024/1024,criticalThresholdGB:n/1024/1024/1024}}}checkCoordinationLatency(){return this.checkCoordinationLatencyP95()}checkCoordinationLatencyP95(t){let e=t?.getP95CoordinationLatency()??0,{latencyP95Warning:r,latencyP95Critical:n}=this.config.thresholds,o=e>=r,a="low",i="P95 coordination latency is within acceptable limits.";return e>=n?(a="critical",i="P95 coordination latency exceeds 100ms target. Optimize gossip protocol, reduce message size, or implement batching."):e>=r&&(a="medium",i="P95 coordination latency approaching target. Monitor closely and consider proactive optimization."),{detected:o,severity:a,metric:"coordination_latency_p95",threshold:n,actual:e,recommendation:i}}checkCoordinationLatencyP99(t){let e=t?.getP99CoordinationLatency()??0,{latencyP99Warning:r,latencyP99Critical:n}=this.config.thresholds,o=e>=r,a="low",i="P99 coordination latency is within acceptable limits.";return e>=n?(a="high",i="P99 coordination latency indicates outliers. Investigate specific agents or network conditions causing delays."):e>=r&&(a="medium",i="P99 coordination latency elevated. Some agents may be experiencing delays."),{detected:o,severity:a,metric:"coordination_latency_p99",threshold:n,actual:e,recommendation:i}}checkAgentStarvation(t){let e=t?.hasAgentStarvation()??!1;return{detected:e,severity:e?"high":"low",metric:"agent_starvation",threshold:this.config.thresholds.agentStarvationTime,actual:e?1:0,recommendation:e?"Agent starvation detected. Agents are idle without tasks. Review task distribution algorithm and work stealing configuration.":"No agent starvation detected."}}checkDeadlocks(t){let e=t?.hasDeadlocks()??!1;return{detected:e,severity:e?"critical":"low",metric:"deadlock_detection",threshold:this.config.thresholds.deadlockTimeout,actual:e?1:0,recommendation:e?"Potential deadlock detected. Tasks running for extended period. Review lock ordering and add timeout mechanisms.":"No deadlocks detected."}}checkGossipStability(){return{detected:!1,severity:"low",metric:"gossip_stability",threshold:this.config.thresholds.gossipMaxPartitions,actual:0,recommendation:"Gossip protocol stability check requires integration with gossip metrics."}}checkThroughput(t){let r=t?.getThroughput()?.tasksPerSecond??0,n=this.config.thresholds.minTasksPerSecond,o=r<n&&r>0;return{detected:o,severity:o?"medium":"low",metric:"throughput",threshold:n,actual:r,recommendation:o?`Task throughput (${r.toFixed(1)}/s) below minimum (${n}/s). Consider parallelizing task execution or optimizing task handlers.`:"Task throughput is acceptable."}}checkMemoryFromReport(t){let e=t.resources.memoryPeak,{memoryCritical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"critical":"low",metric:"memory_pressure",threshold:r,actual:e,recommendation:e>=r?"Memory exceeded 4GB limit during test.":"Memory usage within limits."}}checkLatencyP95FromReport(t){let e=t.performance.coordinationLatency.p95,{latencyP95Critical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"critical":"low",metric:"coordination_latency_p95",threshold:r,actual:e,recommendation:e>=r?"P95 coordination latency exceeded 100ms target.":"P95 latency within target."}}checkLatencyP99FromReport(t){let e=t.performance.coordinationLatency.p99,{latencyP99Critical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"high":"low",metric:"coordination_latency_p99",threshold:r,actual:e,recommendation:e>=r?"P99 coordination latency indicates significant outliers.":"P99 latency acceptable."}}checkThroughputFromReport(t){let e=t.performance.throughput.tasksPerSecond,r=this.config.thresholds.minTasksPerSecond;return{detected:e<r&&e>0,severity:e<r?"medium":"low",metric:"throughput",threshold:r,actual:e,recommendation:e<r?"Throughput below minimum target.":"Throughput acceptable."}}checkSuccessCriteria(t){let e=t.summary.successCriteria,r=Object.entries(e).filter(([n,o])=>!o).map(([n])=>n);return{detected:r.length>0,severity:r.length>0?"high":"low",metric:"success_criteria",threshold:0,actual:r.length,recommendation:r.length>0?`Failed criteria: ${r.join(", ")}`:"All success criteria met.",context:{failedCriteria:r}}}generatePrioritizedRecommendations(t){let e={critical:0,high:1,medium:2,low:3},r=[...t].sort((a,i)=>e[a.severity]-e[i.severity]),n=new Set,o=[];for(let a of r)n.has(a.recommendation)||(n.add(a.recommendation),o.push(`[${a.severity.toUpperCase()}] ${a.metric}: ${a.recommendation}`));return o}};function T(s){return new l(s)}function f(s){return new l({thresholds:{...h,...s}})}var A={maxAgents:100,memoryLimit:4*1024*1024*1024,coordinationTimeout:100,workloadProfile:"medium",mockMode:!0},S={agentCount:100,memoryLimit:4*1024*1024*1024,coordinationLatency:100,noAgentStarvation:!0,noDeadlocks:!0,gossipStable:!0},g={light:{taskCount:5,taskDuration:50,memoryUsage:5*1024*1024,coordinationFrequency:2,durationVariance:.1},medium:{taskCount:10,taskDuration:100,memoryUsage:10*1024*1024,coordinationFrequency:5,durationVariance:.2},heavy:{taskCount:20,taskDuration:200,memoryUsage:20*1024*1024,coordinationFrequency:10,durationVariance:.3}},M={name:"ramp-up-100",description:"Gradually add agents until reaching 100",steps:[{agents:25,holdTime:3e4},{agents:50,holdTime:3e4},{agents:75,holdTime:3e4},{agents:100,holdTime:6e4}],workload:g.medium},R={name:"burst-100",description:"Instantly spawn 100 agents",steps:[{agents:100,holdTime:12e4}],workload:{taskCount:20,taskDuration:50,memoryUsage:10*1024*1024,coordinationFrequency:5}},x={name:"churn-100",description:"Maintain 100 agents with continuous spawn/terminate",steps:[{agents:100,holdTime:18e4,churnRate:.1}],workload:{taskCount:15,taskDuration:75,memoryUsage:10*1024*1024,coordinationFrequency:5}},D={name:"stress-150",description:"Push beyond 100 agents to find limits",steps:[{agents:100,holdTime:3e4},{agents:125,holdTime:3e4},{agents:150,holdTime:6e4}],workload:g.heavy,criteria:{agentCount:150}},m=class{config;metrics;analyzer;running=!1;stopRequested=!1;mockAgents=new Map;mockTaskTimers=new Map;mockCoordinationTimers=new Map;churnTimer=null;random;constructor(t={},e,r){this.config={...A,...t},this.metrics=k(e),this.analyzer=r?f(r):T(),this.random=this.config.seed!==void 0?this.seededRandom(this.config.seed):Math.random.bind(Math)}async runTest(t,e){let r={name:"custom",description:`Custom test with ${t} agents for ${e}ms`,steps:[{agents:t,holdTime:e}],workload:this.getWorkload()};return this.runScenario(r)}async runScenario(t){if(this.running)throw new Error("Load test already running");this.running=!0,this.stopRequested=!1;let e=Date.now();try{this.metrics.reset(),this.metrics.start();for(let i of t.steps){if(this.stopRequested)break;await this.executeStep(i,t.workload)}this.metrics.stop();let r=this.metrics.exportReport(),n=this.analyzer.analyzeReport(r),o={...S,...t.criteria};return{success:this.evaluateSuccess(r,o),report:r,bottlenecks:n,config:this.config,duration:Date.now()-e}}catch(r){return this.metrics.stop(),{success:!1,report:this.metrics.exportReport(),bottlenecks:this.analyzer.analyze(this.metrics),config:this.config,duration:Date.now()-e,error:v(r)}}finally{await this.cleanup(),this.running=!1}}async rampUp(t,e){let r=this.mockAgents.size,n=t-r;if(n<=0)return;let o=e/n,a=this.getWorkload();for(let i=0;i<n&&!this.stopRequested;i++)await this.spawnMockAgent(a),await this.delay(o)}async simulateAgent(t,e){let r=Date.now(),n=0,o=0;for(let a=0;a<e.taskCount&&!this.stopRequested;a++){let i=`${t}_task_${a}`,c=Date.now();this.metrics.recordTaskStart(t,i,c);let y=e.durationVariance??.2,p=e.taskDuration*(1+(this.random()-.5)*2*y);await this.delay(p),this.metrics.recordTaskComplete(t,i,Date.now()-c),n++;let w=this.simulateCoordinationLatency();this.metrics.recordCoordination(t,w),o++}return{agentId:t,tasksCompleted:n,totalDuration:Date.now()-r,coordinationEvents:o}}async stop(){this.stopRequested=!0,await this.delay(100),await this.cleanup()}getMetrics(){return this.metrics}getAgentCount(){return this.mockAgents.size}isRunning(){return this.running}async executeStep(t,e){let r=t.agents,n=this.mockAgents.size;r>n?await this.spawnAgents(r-n,e):r<n&&await this.terminateAgents(n-r),t.churnRate&&t.churnRate>0&&this.startChurn(t.churnRate,r,e),await this.hold(t.holdTime),this.stopChurn()}async spawnAgents(t,e){let r=[];for(let n=0;n<t&&!this.stopRequested;n++)r.push(this.spawnMockAgent(e)),r.length>=10&&(await Promise.all(r),r.length=0,await this.delay(10));r.length>0&&await Promise.all(r)}async terminateAgents(t){let e=Array.from(this.mockAgents.keys()).slice(0,t);for(let r of e)await this.terminateMockAgent(r)}async hold(t){let r=0;for(;r<t&&!this.stopRequested;)await this.delay(100),r+=100}startChurn(t,e,r){let o=6e4/Math.ceil(e*t);this.churnTimer=setInterval(async()=>{if(this.random()<.5){let a=Array.from(this.mockAgents.keys());if(a.length>0){let i=a[Math.floor(this.random()*a.length)];await this.terminateMockAgent(i)}}this.mockAgents.size<e&&await this.spawnMockAgent(r)},o)}stopChurn(){this.churnTimer&&(clearInterval(this.churnTimer),this.churnTimer=null)}async spawnMockAgent(t){let e=`agent_${C().slice(0,8)}`,r=Date.now(),n={id:e,domain:this.getRandomDomain(),spawnedAt:r,workload:t,activeTasks:0,totalTasks:0,terminated:!1};this.mockAgents.set(e,n),this.metrics.recordAgentSpawn(e,r),this.startAgentTasks(n),this.startAgentCoordination(n),this.simulateMemoryUsage()}async terminateMockAgent(t){let e=this.mockAgents.get(t);if(!e)return;e.terminated=!0;let r=this.mockTaskTimers.get(t);r&&(clearInterval(r),this.mockTaskTimers.delete(t));let n=this.mockCoordinationTimers.get(t);n&&(clearInterval(n),this.mockCoordinationTimers.delete(t)),this.mockAgents.delete(t),this.metrics.recordAgentTerminate(t,Date.now())}startAgentTasks(t){let e=t.workload.taskDuration*1.5,r=setInterval(()=>{if(t.terminated||t.totalTasks>=t.workload.taskCount){clearInterval(r),this.mockTaskTimers.delete(t.id);return}let n=`${t.id}_task_${t.totalTasks}`,o=Date.now();t.activeTasks++,t.totalTasks++,this.metrics.recordTaskStart(t.id,n,o);let a=t.workload.durationVariance??.2,i=t.workload.taskDuration*(1+(this.random()-.5)*2*a);setTimeout(()=>{t.terminated||(t.activeTasks--,this.metrics.recordTaskComplete(t.id,n,Date.now()-o))},i)},e);this.mockTaskTimers.set(t.id,r)}startAgentCoordination(t){let e=1e3/t.workload.coordinationFrequency,r=setInterval(()=>{if(t.terminated){clearInterval(r),this.mockCoordinationTimers.delete(t.id);return}let n=this.simulateCoordinationLatency();this.metrics.recordCoordination(t.id,n)},e);this.mockCoordinationTimers.set(t.id,r)}simulateCoordinationLatency(){let e=this.random()*30,r=this.random()<.05?this.random()*100:0,o=Math.min(this.mockAgents.size/100,2)*10;return 5+e+r+o}simulateMemoryUsage(){let t=this.mockAgents.size,e=this.getWorkload().memoryUsage,r=50*1024*1024,n=t*e,o=t*1024*100,a=r+n+o,i=a*1.5;this.metrics.recordMemoryUsage(a,i)}getRandomDomain(){let t=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","security-compliance"];return t[Math.floor(this.random()*t.length)]}getWorkload(){return this.config.customWorkload?this.config.customWorkload:g[this.config.workloadProfile]}evaluateSuccess(t,e){let{summary:r,performance:n}=t;return!(r.peakAgents<e.agentCount||t.resources.memoryPeak>=e.memoryLimit||n.coordinationLatency.p95>e.coordinationLatency||e.noAgentStarvation&&!r.successCriteria.noStarvation||e.noDeadlocks&&!r.successCriteria.noDeadlocks)}async cleanup(){this.stopChurn();let t=Array.from(this.mockAgents.keys());for(let e of t)await this.terminateMockAgent(e);this.mockTaskTimers.forEach(e=>{clearInterval(e)}),this.mockTaskTimers.clear(),this.mockCoordinationTimers.forEach(e=>{clearInterval(e)}),this.mockCoordinationTimers.clear()}delay(t){return new Promise(e=>setTimeout(e,t))}seededRandom(t){return function(){let e=t+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}};function B(s,t,e){return new m(s,t,e)}function _(s,t="medium"){return new m({maxAgents:s,workloadProfile:t,mockMode:!0})}export{m as AgentLoadTester,l as BottleneckAnalyzer,b as DEFAULT_ANALYZER_CONFIG,A as DEFAULT_LOAD_TEST_CONFIG,S as DEFAULT_SUCCESS_CRITERIA,h as DEFAULT_THRESHOLDS,u as MetricsCollector,R as SCENARIO_BURST_100,x as SCENARIO_CHURN_100,M as SCENARIO_RAMP_UP_100,D as SCENARIO_STRESS_150,g as WORKLOAD_PROFILES,B as createAgentLoadTester,T as createBottleneckAnalyzer,f as createBottleneckAnalyzerWithThresholds,_ as createLoadTesterForTarget,k as createMetricsCollector};
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.14.8");process.exit(0)}
2
+ import"./chunk-K6EOHGKS.js";import"./chunk-BCCSV3RH.js";import{a as d}from"./chunk-3FCHH4VP.js";import"./chunk-HHANMCD2.js";import"./chunk-SVP3BP52.js";import"./chunk-OVMG6EEF.js";import{i as C}from"./chunk-UQGIC5OX.js";import{a as v,e as P}from"./chunk-HPVYJ6JH.js";import"./chunk-XAESN54Q.js";var L={maxEvents:1e5,memorySampleInterval:1e3,enableTimeline:!0,timelineSampleInterval:1e3},u=class{config;activeAgents=new Map;peakAgentCount=0;totalAgentsSpawned=0;activeTasks=new Map;totalTasksStarted=0;totalTasksCompleted=0;coordinationLatencies;taskDurations;memorySnapshots;peakMemoryUsed=0;memorySum=0;memorySamples=0;agentTimeline=[];latencyTimeline=[];memoryTimeline=[];startTime=0;endTime=0;running=!1;memorySamplerTimer=null;timelineSamplerTimer=null;issues=[];constructor(t={}){this.config={...L,...t},this.coordinationLatencies=new d(this.config.maxEvents),this.taskDurations=new d(this.config.maxEvents),this.memorySnapshots=new d(1e4)}start(){this.running||(this.running=!0,this.startTime=Date.now(),this.memorySamplerTimer=setInterval(()=>{this.sampleMemory()},this.config.memorySampleInterval),this.config.enableTimeline&&(this.timelineSamplerTimer=setInterval(()=>{this.sampleTimeline()},this.config.timelineSampleInterval)))}stop(){this.running&&(this.running=!1,this.endTime=Date.now(),this.memorySamplerTimer&&(clearInterval(this.memorySamplerTimer),this.memorySamplerTimer=null),this.timelineSamplerTimer&&(clearInterval(this.timelineSamplerTimer),this.timelineSamplerTimer=null))}reset(){this.stop(),this.activeAgents.clear(),this.peakAgentCount=0,this.totalAgentsSpawned=0,this.activeTasks.clear(),this.totalTasksStarted=0,this.totalTasksCompleted=0,this.coordinationLatencies.clear(),this.taskDurations.clear(),this.memorySnapshots.clear(),this.peakMemoryUsed=0,this.memorySum=0,this.memorySamples=0,this.agentTimeline.length=0,this.latencyTimeline.length=0,this.memoryTimeline.length=0,this.startTime=0,this.endTime=0,this.issues.length=0}recordAgentSpawn(t,e=Date.now()){this.activeAgents.set(t,e),this.totalAgentsSpawned++;let r=this.activeAgents.size;r>this.peakAgentCount&&(this.peakAgentCount=r)}recordAgentTerminate(t,e=Date.now()){this.activeAgents.delete(t)}recordTaskStart(t,e,r=Date.now()){this.activeTasks.set(e,{agentId:t,startTime:r}),this.totalTasksStarted++}recordTaskComplete(t,e,r,n=Date.now()){let o=this.activeTasks.get(e);o&&o.agentId===t&&(this.activeTasks.delete(e),this.taskDurations.push(r),this.totalTasksCompleted++)}recordCoordination(t,e,r=Date.now()){this.coordinationLatencies.push(e),e>100&&this.issues.push(`High coordination latency for agent ${t}: ${e}ms`)}recordMemoryUsage(t,e){let r={timestamp:Date.now(),heapUsed:t,heapTotal:e,external:0,rss:0};this.memorySnapshots.push(r),this.memorySum+=t,this.memorySamples++,t>this.peakMemoryUsed&&(this.peakMemoryUsed=t);let n=4*1024*1024*1024;t>n&&this.issues.push(`Memory exceeded 4GB limit: ${(t/1024/1024/1024).toFixed(2)}GB`)}recordIssue(t){this.issues.push(t)}getAgentCount(){return this.activeAgents.size}getPeakAgentCount(){return this.peakAgentCount}getTotalAgentsSpawned(){return this.totalAgentsSpawned}getP95CoordinationLatency(){return this.calculatePercentile(this.coordinationLatencies.toArray(),.95)}getP99CoordinationLatency(){return this.calculatePercentile(this.coordinationLatencies.toArray(),.99)}getCoordinationLatencyPercentiles(){return this.calculatePercentiles(this.coordinationLatencies.toArray())}getTaskLatencyPercentiles(){return this.calculatePercentiles(this.taskDurations.toArray())}getMaxMemoryUsage(){return this.peakMemoryUsed}getAverageMemoryUsage(){return this.memorySamples>0?this.memorySum/this.memorySamples:0}getThroughput(){let e=this.getDuration()/1e3;return{tasks:this.totalTasksCompleted,tasksPerSecond:e>0?this.totalTasksCompleted/e:0,agents:this.totalAgentsSpawned,agentsPerSecond:e>0?this.totalAgentsSpawned/e:0}}getDuration(){return this.startTime===0?0:(this.endTime>0?this.endTime:Date.now())-this.startTime}hasAgentStarvation(){let t=this.activeAgents.size,e=this.activeTasks.size;return t>0&&e===0&&this.totalTasksCompleted>0}hasDeadlocks(){let t=Date.now(),e=6e4,r=Array.from(this.activeTasks.values());for(let n of r)if(t-n.startTime>e)return!0;return!1}exportReport(){let t=this.getDuration(),e=this.getCoordinationLatencyPercentiles(),r=this.getTaskLatencyPercentiles(),n=this.getThroughput(),o=100,a=4*1024*1024*1024,c={agentCount:this.peakAgentCount>=o,memoryLimit:this.peakMemoryUsed<a,coordinationLatency:e.p95<=100,noDeadlocks:!this.hasDeadlocks(),noStarvation:!this.hasAgentStarvation()},y=Object.values(c).every(Boolean),p=this.generateRecommendations(e,this.peakMemoryUsed,n);return{summary:{totalAgents:this.totalAgentsSpawned,peakAgents:this.peakAgentCount,totalTasks:this.totalTasksCompleted,duration:t,success:y,successCriteria:c},performance:{coordinationLatency:e,taskLatency:r,throughput:n},resources:{memoryPeak:this.peakMemoryUsed,memoryAverage:this.getAverageMemoryUsage(),cpuPeak:0,cpuAverage:0},timeline:{agentCounts:[...this.agentTimeline],latencies:[...this.latencyTimeline],memoryUsage:[...this.memoryTimeline]},issues:[...this.issues],recommendations:p}}sampleMemory(){let t=process.memoryUsage();this.recordMemoryUsage(t.heapUsed,t.heapTotal)}sampleTimeline(){let t=Date.now();this.agentTimeline.push({timestamp:t,count:this.activeAgents.size});let e=this.coordinationLatencies.toArray();e.length>0&&this.latencyTimeline.push({timestamp:t,p95:this.calculatePercentile(e,.95)});let r=process.memoryUsage();this.memoryTimeline.push({timestamp:t,heapUsed:r.heapUsed});let n=1e3;this.agentTimeline.length>n&&this.agentTimeline.shift(),this.latencyTimeline.length>n&&this.latencyTimeline.shift(),this.memoryTimeline.length>n&&this.memoryTimeline.shift()}calculatePercentile(t,e){if(t.length===0)return 0;let r=[...t].sort((o,a)=>o-a),n=Math.ceil(r.length*e)-1;return r[Math.max(0,n)]}calculatePercentiles(t){if(t.length===0)return{p50:0,p95:0,p99:0,max:0,min:0,avg:0,count:0};let e=[...t].sort((n,o)=>n-o),r=e.reduce((n,o)=>n+o,0);return{p50:this.calculatePercentile(e,.5),p95:this.calculatePercentile(e,.95),p99:this.calculatePercentile(e,.99),max:e[e.length-1],min:e[0],avg:r/e.length,count:e.length}}generateRecommendations(t,e,r){let n=[];t.p95>100&&n.push(`P95 coordination latency (${t.p95.toFixed(1)}ms) exceeds 100ms target. Consider optimizing gossip protocol or reducing agent count.`),t.p99>t.p95*2&&n.push("High P99/P95 ratio indicates latency outliers. Investigate specific agents or network conditions.");let o=e/1024/1024/1024;return o>3&&n.push(`Memory usage (${o.toFixed(2)}GB) approaching 4GB limit. Consider implementing agent pooling or reducing per-agent memory.`),r.tasksPerSecond<10&&n.push(`Task throughput (${r.tasksPerSecond.toFixed(1)}/s) is low. Consider parallelizing task execution or reducing task complexity.`),this.issues.length>10&&n.push(`${this.issues.length} issues recorded. Review issue log for patterns and prioritize fixes.`),n}};function k(s){return new u(s)}P();var h={memoryWarning:3*1024*1024*1024,memoryCritical:4*1024*1024*1024,latencyP95Warning:75,latencyP95Critical:100,latencyP99Warning:150,latencyP99Critical:200,agentStarvationTime:3e4,deadlockTimeout:6e4,minTasksPerSecond:5,minAgentUtilization:.5,gossipConvergenceTime:5e3,gossipMaxPartitions:0},b={thresholds:h,enableDetailedAnalysis:!0},l=class{config;constructor(t={}){this.config={...b,...t,thresholds:{...h,...t.thresholds}}}analyze(t){let e=[];e.push(this.checkMemoryPressure(t)),e.push(this.checkCoordinationLatencyP95(t)),e.push(this.checkCoordinationLatencyP99(t)),e.push(this.checkAgentStarvation(t)),e.push(this.checkDeadlocks(t)),e.push(this.checkThroughput(t));let r=e.filter(i=>i.detected),n={totalChecks:e.length,detected:r.length,critical:r.filter(i=>i.severity==="critical").length,high:r.filter(i=>i.severity==="high").length,medium:r.filter(i=>i.severity==="medium").length,low:r.filter(i=>i.severity==="low").length},o="low";n.critical>0?o="critical":n.high>0?o="high":n.medium>0&&(o="medium");let a=this.generatePrioritizedRecommendations(r);return{overallSeverity:o,hasCritical:n.critical>0,bottlenecks:e,summary:n,recommendations:a,timestamp:new Date}}analyzeReport(t){let e=[];e.push(this.checkMemoryFromReport(t)),e.push(this.checkLatencyP95FromReport(t)),e.push(this.checkLatencyP99FromReport(t)),e.push(this.checkThroughputFromReport(t)),e.push(this.checkSuccessCriteria(t));let r=e.filter(i=>i.detected),n={totalChecks:e.length,detected:r.length,critical:r.filter(i=>i.severity==="critical").length,high:r.filter(i=>i.severity==="high").length,medium:r.filter(i=>i.severity==="medium").length,low:r.filter(i=>i.severity==="low").length},o="low";n.critical>0?o="critical":n.high>0?o="high":n.medium>0&&(o="medium");let a=this.generatePrioritizedRecommendations(r);return{overallSeverity:o,hasCritical:n.critical>0,bottlenecks:e,summary:n,recommendations:a,timestamp:new Date}}checkMemoryPressure(t){let e=t?.getMaxMemoryUsage()??process.memoryUsage().heapUsed,{memoryWarning:r,memoryCritical:n}=this.config.thresholds,o=e>=r,a="low",i="Memory usage is within acceptable limits.";return e>=n?(a="critical",i="Memory usage exceeds 4GB limit. Implement agent pooling, reduce per-agent state, or decrease concurrent agent count."):e>=r&&(a="high",i="Memory usage approaching critical threshold. Consider optimizing agent memory footprint or implementing memory pressure relief mechanisms."),{detected:o,severity:a,metric:"memory_pressure",threshold:n,actual:e,recommendation:i,context:{usedGB:e/1024/1024/1024,warningThresholdGB:r/1024/1024/1024,criticalThresholdGB:n/1024/1024/1024}}}checkCoordinationLatency(){return this.checkCoordinationLatencyP95()}checkCoordinationLatencyP95(t){let e=t?.getP95CoordinationLatency()??0,{latencyP95Warning:r,latencyP95Critical:n}=this.config.thresholds,o=e>=r,a="low",i="P95 coordination latency is within acceptable limits.";return e>=n?(a="critical",i="P95 coordination latency exceeds 100ms target. Optimize gossip protocol, reduce message size, or implement batching."):e>=r&&(a="medium",i="P95 coordination latency approaching target. Monitor closely and consider proactive optimization."),{detected:o,severity:a,metric:"coordination_latency_p95",threshold:n,actual:e,recommendation:i}}checkCoordinationLatencyP99(t){let e=t?.getP99CoordinationLatency()??0,{latencyP99Warning:r,latencyP99Critical:n}=this.config.thresholds,o=e>=r,a="low",i="P99 coordination latency is within acceptable limits.";return e>=n?(a="high",i="P99 coordination latency indicates outliers. Investigate specific agents or network conditions causing delays."):e>=r&&(a="medium",i="P99 coordination latency elevated. Some agents may be experiencing delays."),{detected:o,severity:a,metric:"coordination_latency_p99",threshold:n,actual:e,recommendation:i}}checkAgentStarvation(t){let e=t?.hasAgentStarvation()??!1;return{detected:e,severity:e?"high":"low",metric:"agent_starvation",threshold:this.config.thresholds.agentStarvationTime,actual:e?1:0,recommendation:e?"Agent starvation detected. Agents are idle without tasks. Review task distribution algorithm and work stealing configuration.":"No agent starvation detected."}}checkDeadlocks(t){let e=t?.hasDeadlocks()??!1;return{detected:e,severity:e?"critical":"low",metric:"deadlock_detection",threshold:this.config.thresholds.deadlockTimeout,actual:e?1:0,recommendation:e?"Potential deadlock detected. Tasks running for extended period. Review lock ordering and add timeout mechanisms.":"No deadlocks detected."}}checkGossipStability(){return{detected:!1,severity:"low",metric:"gossip_stability",threshold:this.config.thresholds.gossipMaxPartitions,actual:0,recommendation:"Gossip protocol stability check requires integration with gossip metrics."}}checkThroughput(t){let r=t?.getThroughput()?.tasksPerSecond??0,n=this.config.thresholds.minTasksPerSecond,o=r<n&&r>0;return{detected:o,severity:o?"medium":"low",metric:"throughput",threshold:n,actual:r,recommendation:o?`Task throughput (${r.toFixed(1)}/s) below minimum (${n}/s). Consider parallelizing task execution or optimizing task handlers.`:"Task throughput is acceptable."}}checkMemoryFromReport(t){let e=t.resources.memoryPeak,{memoryCritical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"critical":"low",metric:"memory_pressure",threshold:r,actual:e,recommendation:e>=r?"Memory exceeded 4GB limit during test.":"Memory usage within limits."}}checkLatencyP95FromReport(t){let e=t.performance.coordinationLatency.p95,{latencyP95Critical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"critical":"low",metric:"coordination_latency_p95",threshold:r,actual:e,recommendation:e>=r?"P95 coordination latency exceeded 100ms target.":"P95 latency within target."}}checkLatencyP99FromReport(t){let e=t.performance.coordinationLatency.p99,{latencyP99Critical:r}=this.config.thresholds;return{detected:e>=r,severity:e>=r?"high":"low",metric:"coordination_latency_p99",threshold:r,actual:e,recommendation:e>=r?"P99 coordination latency indicates significant outliers.":"P99 latency acceptable."}}checkThroughputFromReport(t){let e=t.performance.throughput.tasksPerSecond,r=this.config.thresholds.minTasksPerSecond;return{detected:e<r&&e>0,severity:e<r?"medium":"low",metric:"throughput",threshold:r,actual:e,recommendation:e<r?"Throughput below minimum target.":"Throughput acceptable."}}checkSuccessCriteria(t){let e=t.summary.successCriteria,r=Object.entries(e).filter(([n,o])=>!o).map(([n])=>n);return{detected:r.length>0,severity:r.length>0?"high":"low",metric:"success_criteria",threshold:0,actual:r.length,recommendation:r.length>0?`Failed criteria: ${r.join(", ")}`:"All success criteria met.",context:{failedCriteria:r}}}generatePrioritizedRecommendations(t){let e={critical:0,high:1,medium:2,low:3},r=[...t].sort((a,i)=>e[a.severity]-e[i.severity]),n=new Set,o=[];for(let a of r)n.has(a.recommendation)||(n.add(a.recommendation),o.push(`[${a.severity.toUpperCase()}] ${a.metric}: ${a.recommendation}`));return o}};function T(s){return new l(s)}function f(s){return new l({thresholds:{...h,...s}})}var A={maxAgents:100,memoryLimit:4*1024*1024*1024,coordinationTimeout:100,workloadProfile:"medium",mockMode:!0},S={agentCount:100,memoryLimit:4*1024*1024*1024,coordinationLatency:100,noAgentStarvation:!0,noDeadlocks:!0,gossipStable:!0},g={light:{taskCount:5,taskDuration:50,memoryUsage:5*1024*1024,coordinationFrequency:2,durationVariance:.1},medium:{taskCount:10,taskDuration:100,memoryUsage:10*1024*1024,coordinationFrequency:5,durationVariance:.2},heavy:{taskCount:20,taskDuration:200,memoryUsage:20*1024*1024,coordinationFrequency:10,durationVariance:.3}},M={name:"ramp-up-100",description:"Gradually add agents until reaching 100",steps:[{agents:25,holdTime:3e4},{agents:50,holdTime:3e4},{agents:75,holdTime:3e4},{agents:100,holdTime:6e4}],workload:g.medium},R={name:"burst-100",description:"Instantly spawn 100 agents",steps:[{agents:100,holdTime:12e4}],workload:{taskCount:20,taskDuration:50,memoryUsage:10*1024*1024,coordinationFrequency:5}},x={name:"churn-100",description:"Maintain 100 agents with continuous spawn/terminate",steps:[{agents:100,holdTime:18e4,churnRate:.1}],workload:{taskCount:15,taskDuration:75,memoryUsage:10*1024*1024,coordinationFrequency:5}},D={name:"stress-150",description:"Push beyond 100 agents to find limits",steps:[{agents:100,holdTime:3e4},{agents:125,holdTime:3e4},{agents:150,holdTime:6e4}],workload:g.heavy,criteria:{agentCount:150}},m=class{config;metrics;analyzer;running=!1;stopRequested=!1;mockAgents=new Map;mockTaskTimers=new Map;mockCoordinationTimers=new Map;churnTimer=null;random;constructor(t={},e,r){this.config={...A,...t},this.metrics=k(e),this.analyzer=r?f(r):T(),this.random=this.config.seed!==void 0?this.seededRandom(this.config.seed):Math.random.bind(Math)}async runTest(t,e){let r={name:"custom",description:`Custom test with ${t} agents for ${e}ms`,steps:[{agents:t,holdTime:e}],workload:this.getWorkload()};return this.runScenario(r)}async runScenario(t){if(this.running)throw new Error("Load test already running");this.running=!0,this.stopRequested=!1;let e=Date.now();try{this.metrics.reset(),this.metrics.start();for(let i of t.steps){if(this.stopRequested)break;await this.executeStep(i,t.workload)}this.metrics.stop();let r=this.metrics.exportReport(),n=this.analyzer.analyzeReport(r),o={...S,...t.criteria};return{success:this.evaluateSuccess(r,o),report:r,bottlenecks:n,config:this.config,duration:Date.now()-e}}catch(r){return this.metrics.stop(),{success:!1,report:this.metrics.exportReport(),bottlenecks:this.analyzer.analyze(this.metrics),config:this.config,duration:Date.now()-e,error:v(r)}}finally{await this.cleanup(),this.running=!1}}async rampUp(t,e){let r=this.mockAgents.size,n=t-r;if(n<=0)return;let o=e/n,a=this.getWorkload();for(let i=0;i<n&&!this.stopRequested;i++)await this.spawnMockAgent(a),await this.delay(o)}async simulateAgent(t,e){let r=Date.now(),n=0,o=0;for(let a=0;a<e.taskCount&&!this.stopRequested;a++){let i=`${t}_task_${a}`,c=Date.now();this.metrics.recordTaskStart(t,i,c);let y=e.durationVariance??.2,p=e.taskDuration*(1+(this.random()-.5)*2*y);await this.delay(p),this.metrics.recordTaskComplete(t,i,Date.now()-c),n++;let w=this.simulateCoordinationLatency();this.metrics.recordCoordination(t,w),o++}return{agentId:t,tasksCompleted:n,totalDuration:Date.now()-r,coordinationEvents:o}}async stop(){this.stopRequested=!0,await this.delay(100),await this.cleanup()}getMetrics(){return this.metrics}getAgentCount(){return this.mockAgents.size}isRunning(){return this.running}async executeStep(t,e){let r=t.agents,n=this.mockAgents.size;r>n?await this.spawnAgents(r-n,e):r<n&&await this.terminateAgents(n-r),t.churnRate&&t.churnRate>0&&this.startChurn(t.churnRate,r,e),await this.hold(t.holdTime),this.stopChurn()}async spawnAgents(t,e){let r=[];for(let n=0;n<t&&!this.stopRequested;n++)r.push(this.spawnMockAgent(e)),r.length>=10&&(await Promise.all(r),r.length=0,await this.delay(10));r.length>0&&await Promise.all(r)}async terminateAgents(t){let e=Array.from(this.mockAgents.keys()).slice(0,t);for(let r of e)await this.terminateMockAgent(r)}async hold(t){let r=0;for(;r<t&&!this.stopRequested;)await this.delay(100),r+=100}startChurn(t,e,r){let o=6e4/Math.ceil(e*t);this.churnTimer=setInterval(async()=>{if(this.random()<.5){let a=Array.from(this.mockAgents.keys());if(a.length>0){let i=a[Math.floor(this.random()*a.length)];await this.terminateMockAgent(i)}}this.mockAgents.size<e&&await this.spawnMockAgent(r)},o)}stopChurn(){this.churnTimer&&(clearInterval(this.churnTimer),this.churnTimer=null)}async spawnMockAgent(t){let e=`agent_${C().slice(0,8)}`,r=Date.now(),n={id:e,domain:this.getRandomDomain(),spawnedAt:r,workload:t,activeTasks:0,totalTasks:0,terminated:!1};this.mockAgents.set(e,n),this.metrics.recordAgentSpawn(e,r),this.startAgentTasks(n),this.startAgentCoordination(n),this.simulateMemoryUsage()}async terminateMockAgent(t){let e=this.mockAgents.get(t);if(!e)return;e.terminated=!0;let r=this.mockTaskTimers.get(t);r&&(clearInterval(r),this.mockTaskTimers.delete(t));let n=this.mockCoordinationTimers.get(t);n&&(clearInterval(n),this.mockCoordinationTimers.delete(t)),this.mockAgents.delete(t),this.metrics.recordAgentTerminate(t,Date.now())}startAgentTasks(t){let e=t.workload.taskDuration*1.5,r=setInterval(()=>{if(t.terminated||t.totalTasks>=t.workload.taskCount){clearInterval(r),this.mockTaskTimers.delete(t.id);return}let n=`${t.id}_task_${t.totalTasks}`,o=Date.now();t.activeTasks++,t.totalTasks++,this.metrics.recordTaskStart(t.id,n,o);let a=t.workload.durationVariance??.2,i=t.workload.taskDuration*(1+(this.random()-.5)*2*a);setTimeout(()=>{t.terminated||(t.activeTasks--,this.metrics.recordTaskComplete(t.id,n,Date.now()-o))},i)},e);this.mockTaskTimers.set(t.id,r)}startAgentCoordination(t){let e=1e3/t.workload.coordinationFrequency,r=setInterval(()=>{if(t.terminated){clearInterval(r),this.mockCoordinationTimers.delete(t.id);return}let n=this.simulateCoordinationLatency();this.metrics.recordCoordination(t.id,n)},e);this.mockCoordinationTimers.set(t.id,r)}simulateCoordinationLatency(){let e=this.random()*30,r=this.random()<.05?this.random()*100:0,o=Math.min(this.mockAgents.size/100,2)*10;return 5+e+r+o}simulateMemoryUsage(){let t=this.mockAgents.size,e=this.getWorkload().memoryUsage,r=50*1024*1024,n=t*e,o=t*1024*100,a=r+n+o,i=a*1.5;this.metrics.recordMemoryUsage(a,i)}getRandomDomain(){let t=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","security-compliance"];return t[Math.floor(this.random()*t.length)]}getWorkload(){return this.config.customWorkload?this.config.customWorkload:g[this.config.workloadProfile]}evaluateSuccess(t,e){let{summary:r,performance:n}=t;return!(r.peakAgents<e.agentCount||t.resources.memoryPeak>=e.memoryLimit||n.coordinationLatency.p95>e.coordinationLatency||e.noAgentStarvation&&!r.successCriteria.noStarvation||e.noDeadlocks&&!r.successCriteria.noDeadlocks)}async cleanup(){this.stopChurn();let t=Array.from(this.mockAgents.keys());for(let e of t)await this.terminateMockAgent(e);this.mockTaskTimers.forEach(e=>{clearInterval(e)}),this.mockTaskTimers.clear(),this.mockCoordinationTimers.forEach(e=>{clearInterval(e)}),this.mockCoordinationTimers.clear()}delay(t){return new Promise(e=>setTimeout(e,t))}seededRandom(t){return function(){let e=t+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}};function B(s,t,e){return new m(s,t,e)}function _(s,t="medium"){return new m({maxAgents:s,workloadProfile:t,mockMode:!0})}export{m as AgentLoadTester,l as BottleneckAnalyzer,b as DEFAULT_ANALYZER_CONFIG,A as DEFAULT_LOAD_TEST_CONFIG,S as DEFAULT_SUCCESS_CRITERIA,h as DEFAULT_THRESHOLDS,u as MetricsCollector,R as SCENARIO_BURST_100,x as SCENARIO_CHURN_100,M as SCENARIO_RAMP_UP_100,D as SCENARIO_STRESS_150,g as WORKLOAD_PROFILES,B as createAgentLoadTester,T as createBottleneckAnalyzer,f as createBottleneckAnalyzerWithThresholds,_ as createLoadTesterForTarget,k as createMetricsCollector};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
2
+ import{a}from"./chunk-W7JUD4EZ.js";import"./chunk-KKXH25IH.js";import"./chunk-XECZYQT5.js";import"./chunk-JQAJUXRE.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-Z5UZOYQS.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";export{a as LoadTestTool};
@@ -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.14.7");process.exit(0)}
2
- import{a as p}from"./chunk-NOHWJOBS.js";import{a as i,d as c}from"./chunk-OAZX6WFU.js";import{a as m}from"./chunk-TW3SR4TS.js";import"./chunk-5GFKTJ65.js";import"./chunk-5D7ZFWDS.js";import"./chunk-YO4ESCB4.js";import{Command as a}from"commander";import{join as e,dirname as l}from"path";import{existsSync as d}from"fs";import{fileURLToPath as f,pathToFileURL as u}from"url";m();function g(){return new a("mcp").description("Start the MCP protocol server for Claude Code integration").option("--http <port>","Also start HTTP server for AG-UI/A2A protocols","0").option("--verbose","Enable verbose logging").action(async r=>{process.env.AQE_HTTP_PORT=r.http||"0",r.verbose&&(process.env.AQE_VERBOSE="true"),c(i(process.env,1));let s=v();s||(console.error("Error: Could not find MCP server entry point"),console.error("Make sure agentic-qe is properly installed"),process.exit(1));try{await import(u(s).href)}catch(o){console.error("Failed to start MCP server:",o.message),process.exit(1)}await new Promise(()=>{})})}function v(){let t=[],r=p(import.meta.url);r&&t.push(e(r,"dist","mcp","bundle.js"),e(r,"dist","mcp","entry.js"),e(r,"src","mcp","entry.ts"));let s=f(import.meta.url),o=l(s);t.push(e(o,"..","mcp","bundle.js"),e(o,"..","mcp","entry.js"),e(o,"..","mcp","entry.ts"),e(o,"..","..","mcp","bundle.js")),t.push(e(process.cwd(),"node_modules","agentic-qe","dist","mcp","bundle.js"),e(process.cwd(),"node_modules","agentic-qe","dist","mcp","entry.js"));for(let n of t)if(d(n))return n;return null}var L=g;export{g as createMcpCommand,L as default};
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.14.8");process.exit(0)}
2
+ import{a as p}from"./chunk-3X2JSW3R.js";import{a as i,d as c}from"./chunk-AJMAKUS3.js";import{a as m}from"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-XAESN54Q.js";import{Command as a}from"commander";import{join as e,dirname as l}from"path";import{existsSync as d}from"fs";import{fileURLToPath as f,pathToFileURL as u}from"url";m();function g(){return new a("mcp").description("Start the MCP protocol server for Claude Code integration").option("--http <port>","Also start HTTP server for AG-UI/A2A protocols","0").option("--verbose","Enable verbose logging").action(async r=>{process.env.AQE_HTTP_PORT=r.http||"0",r.verbose&&(process.env.AQE_VERBOSE="true"),c(i(process.env,1));let s=v();s||(console.error("Error: Could not find MCP server entry point"),console.error("Make sure agentic-qe is properly installed"),process.exit(1));try{await import(u(s).href)}catch(o){console.error("Failed to start MCP server:",o.message),process.exit(1)}await new Promise(()=>{})})}function v(){let t=[],r=p(import.meta.url);r&&t.push(e(r,"dist","mcp","bundle.js"),e(r,"dist","mcp","entry.js"),e(r,"src","mcp","entry.ts"));let s=f(import.meta.url),o=l(s);t.push(e(o,"..","mcp","bundle.js"),e(o,"..","mcp","entry.js"),e(o,"..","mcp","entry.ts"),e(o,"..","..","mcp","bundle.js")),t.push(e(process.cwd(),"node_modules","agentic-qe","dist","mcp","bundle.js"),e(process.cwd(),"node_modules","agentic-qe","dist","mcp","entry.js"));for(let n of t)if(d(n))return n;return null}var L=g;export{g as createMcpCommand,L as default};
@@ -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.14.7");process.exit(0)}
2
- import{a as i,e as p}from"./chunk-ZUOVNFXK.js";import"./chunk-YO4ESCB4.js";p();import{Command as f}from"commander";import r from"chalk";function S(w,o,l){let c=new f("memory").description("Memory store, retrieve, search, and delete operations").addHelpText("after",`
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.14.8");process.exit(0)}
2
+ import{a as i,e as p}from"./chunk-HPVYJ6JH.js";import"./chunk-XAESN54Q.js";p();import{Command as f}from"commander";import r from"chalk";function S(w,o,l){let c=new f("memory").description("Memory store, retrieve, search, and delete operations").addHelpText("after",`
3
3
  Examples:
4
4
  # Store a value
5
5
  aqe memory store --key "auth-pattern" --value "JWT with refresh tokens" --namespace patterns
@@ -24,9 +24,9 @@ Examples:
24
24
 
25
25
  # Show usage stats
26
26
  aqe memory usage
27
- `);return c.command("store").description("Store a key-value pair in memory").requiredOption("--key <key>","Memory key").requiredOption("--value <value>","Value to store (string or JSON)").option("--namespace <ns>","Namespace for grouping","default").option("--ttl <seconds>","Time-to-live in seconds").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryStore:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=e.value;try{a=JSON.parse(e.value)}catch{}let s=await t({key:e.key,value:a,namespace:e.namespace,ttl:e.ttl?parseInt(e.ttl,10):void 0});e.json?console.log(JSON.stringify(s,null,2)):s.success?(console.log(r.green(` \u2713 Stored "${e.key}" in namespace "${e.namespace}"`)),s.data?.vectorIndex?.status==="failed"&&console.warn(r.yellow(` \u26A0 ${s.data.vectorIndex.error.message}`))):(console.error(r.red(` \u2717 ${s.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("get").description("Retrieve a value by key").requiredOption("--key <key>","Memory key to retrieve").option("--namespace <ns>","Namespace","default").option("--include-metadata","Include metadata in response").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryRetrieve:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=await t({key:e.key,namespace:e.namespace,includeMetadata:e.includeMetadata});if(e.json)console.log(JSON.stringify(a,null,2));else if(a.success&&a.data)if(a.data.found){let s=typeof a.data.value=="string"?a.data.value:JSON.stringify(a.data.value,null,2);console.log(r.green(` ${e.key}`)+r.gray(` [${e.namespace}]`)),console.log(` ${s}`)}else console.log(r.yellow(` Key "${e.key}" not found in namespace "${e.namespace}"`));else console.error(r.red(` \u2717 ${a.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("search").description("Search memory by pattern (glob) or semantic query").option("--pattern <glob>",'Glob pattern to match keys (e.g., "auth*")').option("--query <text>","Natural language query (implies --semantic)").option("--semantic","Use HNSW vector search for semantic matching").option("--namespace <ns>","Namespace to search in","default").option("--limit <n>","Maximum results","20").option("--offset <n>","Skip first N results","0").option("--json","Output as JSON").action(async e=>{if(!e.pattern&&!e.query&&(console.error(r.red(" Either --pattern or --query is required")),await o(1)),!!await l())try{let{handleMemoryQuery:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=e.query||e.pattern,s=e.semantic||!!e.query,n=await t({pattern:a,namespace:e.namespace,limit:parseInt(e.limit,10),offset:parseInt(e.offset,10),semantic:s});if(e.json)console.log(JSON.stringify(n,null,2));else if(n.success&&n.data){let{entries:d,total:u,searchType:y}=n.data;console.log(r.blue(` ${u} result(s) via ${y} search
27
+ `);return c.command("store").description("Store a key-value pair in memory").requiredOption("--key <key>","Memory key").requiredOption("--value <value>","Value to store (string or JSON)").option("--namespace <ns>","Namespace for grouping","default").option("--ttl <seconds>","Time-to-live in seconds").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryStore:t}=await import("./memory-handlers-EI537Z32.js"),a=e.value;try{a=JSON.parse(e.value)}catch{}let s=await t({key:e.key,value:a,namespace:e.namespace,ttl:e.ttl?parseInt(e.ttl,10):void 0});e.json?console.log(JSON.stringify(s,null,2)):s.success?(console.log(r.green(` \u2713 Stored "${e.key}" in namespace "${e.namespace}"`)),s.data?.vectorIndex?.status==="failed"&&console.warn(r.yellow(` \u26A0 ${s.data.vectorIndex.error.message}`))):(console.error(r.red(` \u2717 ${s.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("get").description("Retrieve a value by key").requiredOption("--key <key>","Memory key to retrieve").option("--namespace <ns>","Namespace","default").option("--include-metadata","Include metadata in response").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryRetrieve:t}=await import("./memory-handlers-EI537Z32.js"),a=await t({key:e.key,namespace:e.namespace,includeMetadata:e.includeMetadata});if(e.json)console.log(JSON.stringify(a,null,2));else if(a.success&&a.data)if(a.data.found){let s=typeof a.data.value=="string"?a.data.value:JSON.stringify(a.data.value,null,2);console.log(r.green(` ${e.key}`)+r.gray(` [${e.namespace}]`)),console.log(` ${s}`)}else console.log(r.yellow(` Key "${e.key}" not found in namespace "${e.namespace}"`));else console.error(r.red(` \u2717 ${a.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("search").description("Search memory by pattern (glob) or semantic query").option("--pattern <glob>",'Glob pattern to match keys (e.g., "auth*")').option("--query <text>","Natural language query (implies --semantic)").option("--semantic","Use HNSW vector search for semantic matching").option("--namespace <ns>","Namespace to search in","default").option("--limit <n>","Maximum results","20").option("--offset <n>","Skip first N results","0").option("--json","Output as JSON").action(async e=>{if(!e.pattern&&!e.query&&(console.error(r.red(" Either --pattern or --query is required")),await o(1)),!!await l())try{let{handleMemoryQuery:t}=await import("./memory-handlers-EI537Z32.js"),a=e.query||e.pattern,s=e.semantic||!!e.query,n=await t({pattern:a,namespace:e.namespace,limit:parseInt(e.limit,10),offset:parseInt(e.offset,10),semantic:s});if(e.json)console.log(JSON.stringify(n,null,2));else if(n.success&&n.data){let{entries:d,total:u,searchType:y}=n.data;console.log(r.blue(` ${u} result(s) via ${y} search
28
28
  `));for(let m of d){let g=m.score!==void 0?r.gray(` (score: ${m.score.toFixed(3)})`):"";console.log(` ${r.green(m.key)} ${r.gray(`[${m.namespace}]`)}${g}`)}n.data.hasMore&&console.log(r.gray(`
29
- ... and more. Use --offset ${parseInt(e.offset,10)+parseInt(e.limit,10)} to see next page`))}else console.error(r.red(` \u2717 ${n.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("list").description("List all memory entries in a namespace").option("--namespace <ns>","Namespace to list","default").option("--limit <n>","Maximum results","50").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryQuery:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=await t({pattern:"*",namespace:e.namespace,limit:parseInt(e.limit,10)});if(e.json)console.log(JSON.stringify(a,null,2));else if(a.success&&a.data){console.log(r.blue(` ${a.data.total} entries in namespace "${e.namespace}"
29
+ ... and more. Use --offset ${parseInt(e.offset,10)+parseInt(e.limit,10)} to see next page`))}else console.error(r.red(` \u2717 ${n.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("list").description("List all memory entries in a namespace").option("--namespace <ns>","Namespace to list","default").option("--limit <n>","Maximum results","50").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryQuery:t}=await import("./memory-handlers-EI537Z32.js"),a=await t({pattern:"*",namespace:e.namespace,limit:parseInt(e.limit,10)});if(e.json)console.log(JSON.stringify(a,null,2));else if(a.success&&a.data){console.log(r.blue(` ${a.data.total} entries in namespace "${e.namespace}"
30
30
  `));for(let s of a.data.entries)console.log(` ${r.green(s.key)}`);a.data.hasMore&&console.log(r.gray(`
31
- ... more entries exist. Use --limit to see more.`))}else console.error(r.red(` \u2717 ${a.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("delete").description("Delete a memory entry by key").requiredOption("--key <key>","Memory key to delete").option("--namespace <ns>","Namespace","default").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryDelete:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=await t({key:e.key,namespace:e.namespace});e.json?console.log(JSON.stringify(a,null,2)):a.success&&a.data?a.data.deleted?console.log(r.green(` \u2713 Deleted "${e.key}" from namespace "${e.namespace}"`)):console.log(r.yellow(` Key "${e.key}" not found in namespace "${e.namespace}"`)):(console.error(r.red(` \u2717 ${a.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("share").description("Share knowledge between agents").requiredOption("--from <agentId>","Source agent ID").requiredOption("--to <agentIds>","Comma-separated target agent IDs").requiredOption("--domain <domain>","Knowledge domain").requiredOption("--content <json>","JSON content to share").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryShare:t}=await import("./memory-handlers-ZFDVQZM5.js"),a;try{a=JSON.parse(e.content)}catch{console.error(r.red(" --content must be valid JSON")),await o(1);return}let s=e.to.split(",").map(d=>d.trim()),n=await t({sourceAgentId:e.from,targetAgentIds:s,knowledgeDomain:e.domain,knowledgeContent:a});e.json?console.log(JSON.stringify(n,null,2)):n.success&&n.data?(console.log(r.green(` \u2713 Shared knowledge from ${n.data.sourceAgent} to ${n.data.targetAgents.join(", ")}`)),console.log(r.gray(` Domain: ${n.data.domain}`))):(console.error(r.red(` \u2717 ${n.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("usage").description("Show memory usage statistics").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryUsage:t}=await import("./memory-handlers-ZFDVQZM5.js"),a=await t();e.json?console.log(JSON.stringify(a,null,2)):a.success&&a.data?(console.log(r.blue(` Memory Usage
31
+ ... more entries exist. Use --limit to see more.`))}else console.error(r.red(` \u2717 ${a.error}`)),await o(1)}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("delete").description("Delete a memory entry by key").requiredOption("--key <key>","Memory key to delete").option("--namespace <ns>","Namespace","default").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryDelete:t}=await import("./memory-handlers-EI537Z32.js"),a=await t({key:e.key,namespace:e.namespace});e.json?console.log(JSON.stringify(a,null,2)):a.success&&a.data?a.data.deleted?console.log(r.green(` \u2713 Deleted "${e.key}" from namespace "${e.namespace}"`)):console.log(r.yellow(` Key "${e.key}" not found in namespace "${e.namespace}"`)):(console.error(r.red(` \u2717 ${a.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("share").description("Share knowledge between agents").requiredOption("--from <agentId>","Source agent ID").requiredOption("--to <agentIds>","Comma-separated target agent IDs").requiredOption("--domain <domain>","Knowledge domain").requiredOption("--content <json>","JSON content to share").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryShare:t}=await import("./memory-handlers-EI537Z32.js"),a;try{a=JSON.parse(e.content)}catch{console.error(r.red(" --content must be valid JSON")),await o(1);return}let s=e.to.split(",").map(d=>d.trim()),n=await t({sourceAgentId:e.from,targetAgentIds:s,knowledgeDomain:e.domain,knowledgeContent:a});e.json?console.log(JSON.stringify(n,null,2)):n.success&&n.data?(console.log(r.green(` \u2713 Shared knowledge from ${n.data.sourceAgent} to ${n.data.targetAgents.join(", ")}`)),console.log(r.gray(` Domain: ${n.data.domain}`))):(console.error(r.red(` \u2717 ${n.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c.command("usage").description("Show memory usage statistics").option("--json","Output as JSON").action(async e=>{if(await l())try{let{handleMemoryUsage:t}=await import("./memory-handlers-EI537Z32.js"),a=await t();e.json?console.log(JSON.stringify(a,null,2)):a.success&&a.data?(console.log(r.blue(` Memory Usage
32
32
  `)),console.log(` Entries: ${r.green(String(a.data.entries))}`),console.log(` Vectors: ${r.green(String(a.data.vectors))}`),console.log(` Namespaces: ${r.green(String(a.data.namespaces))}`)):(console.error(r.red(` \u2717 ${a.error}`)),await o(1))}catch(t){console.error(r.red(` Error: ${i(t)}`)),await o(1)}}),c}export{S as createMemoryCommand};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
2
+ import{a}from"./chunk-JQAJUXRE.js";import"./chunk-VCSNNLWL.js";import"./chunk-OVMG6EEF.js";import"./chunk-XAESN54Q.js";export{a as InMemoryBackend};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
2
+ import{c as b,d as R}from"./chunk-PFXCRRR6.js";import"./chunk-F2WAB4WK.js";import"./chunk-NJEEKYEP.js";import"./chunk-VSPNIDQK.js";import"./chunk-VAXTPLO3.js";import"./chunk-BHPTHC5O.js";import"./chunk-3576QGPP.js";import"./chunk-N3ASALOL.js";import"./chunk-VV2JVYOI.js";import"./chunk-W7JUD4EZ.js";import"./chunk-NWUFTLSF.js";import"./chunk-6F7MFHTY.js";import"./chunk-56M4QNXU.js";import"./chunk-OZJQN7YE.js";import"./chunk-TUZNWRYC.js";import"./chunk-HBAFXWSO.js";import"./chunk-AOD2ES44.js";import"./chunk-25EEIAHS.js";import"./chunk-OA75C4HY.js";import"./chunk-QDRFLM77.js";import"./chunk-KKXH25IH.js";import"./chunk-JDOVO4E4.js";import"./chunk-I6NZFBT3.js";import"./chunk-U2QTL5T2.js";import"./chunk-XFT4FYTC.js";import"./chunk-AR2S4DOB.js";import"./chunk-J24AJEDE.js";import"./chunk-LMAI74EP.js";import"./chunk-EMOZ5O5S.js";import"./chunk-DZHXCOSK.js";import"./chunk-RM6OC35G.js";import"./chunk-CIEXUYY7.js";import"./chunk-UIWXKRTK.js";import"./chunk-HE3BDBAO.js";import"./chunk-AJ5PCJQ2.js";import"./chunk-TCQWVVSR.js";import"./chunk-77WL5HQW.js";import"./chunk-K6EOHGKS.js";import"./chunk-G3C7Z6FO.js";import{a as u,b as w,d as v,e as m,f as d,i as S}from"./chunk-JTOFLDU7.js";import"./chunk-BCCSV3RH.js";import"./chunk-6GNWVPMR.js";import"./chunk-3FCHH4VP.js";import"./chunk-WVEHKAIH.js";import"./chunk-7TNCEVWX.js";import"./chunk-BFIXUKOR.js";import"./chunk-T4WQPE77.js";import"./chunk-BTBJ2NLH.js";import"./chunk-UHLZKH6B.js";import"./chunk-EBV3WFIR.js";import"./chunk-WFKE7NZ5.js";import"./chunk-TGRHO4ES.js";import"./chunk-AUFV2G2J.js";import"./chunk-6VTC3OHD.js";import"./chunk-C647D42G.js";import"./chunk-QYCZYJH7.js";import"./chunk-GVLRE3BV.js";import"./chunk-CXUC7YKA.js";import"./chunk-QQVE65ER.js";import"./chunk-YIWBJ637.js";import"./chunk-KNSQWM2E.js";import"./chunk-YHX74M7C.js";import"./chunk-B2QKBQYD.js";import"./chunk-QP7EKLWU.js";import"./chunk-CQEWL32R.js";import"./chunk-TP7L4EX6.js";import"./chunk-BL6273KR.js";import"./chunk-3S5IIK32.js";import"./chunk-EXQGHTPD.js";import"./chunk-D2Y36V5J.js";import"./chunk-BUVJIVFG.js";import"./chunk-GK5WLUX3.js";import"./chunk-HHANMCD2.js";import"./chunk-M7QKCHLQ.js";import"./chunk-JRLZ7LZ3.js";import"./chunk-AEYJ4ZLA.js";import"./chunk-LTHV4PIG.js";import"./chunk-XECZYQT5.js";import"./chunk-JQAJUXRE.js";import"./chunk-O4QB2GFL.js";import"./chunk-PVJLQ2YZ.js";import"./chunk-Z6G3QVZ4.js";import"./chunk-LRGTPUJA.js";import"./chunk-OX7MJFLC.js";import"./chunk-LKFBW2QM.js";import"./chunk-FRC7AFB4.js";import"./chunk-7X3LMTRA.js";import"./chunk-SUNXA2UR.js";import"./chunk-QKM4XT2F.js";import"./chunk-673XJBGW.js";import"./chunk-ISBOHF6Y.js";import"./chunk-CBWM5NOO.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-NEXBTLN6.js";import{e as M}from"./chunk-3EKG7HFV.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-4RNCVSVN.js";import"./chunk-EKO5QL2B.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import{a as i,e as P}from"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-6GJWT2OY.js";import"./chunk-Z5UZOYQS.js";import"./chunk-BOIUENWW.js";import"./chunk-4PY44TKH.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";import{randomUUID as $}from"node:crypto";P();var p=null;function z(e){p=e}function c(){return R()?b().kernel.memory:p}async function B(e){let r=c();if(!r)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let t=e.namespace||"default",o=`${t}:${e.key}`;if(u()){let s=d(e.key,e.value,t,{tags:e.metadata?.tags}),a=await m.evaluateWrite(s);if(!a.allowed){if(w()&&S.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${a.reason}`,context:{key:e.key,namespace:t,reason:a.reason,conflictingPatterns:a.conflictingPatterns}}),v())return{success:!1,error:`Memory write blocked by governance: ${a.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${a.reason}`)}}await r.set(o,e.value,{ttl:e.ttl});let n;try{let s=`${e.key} ${JSON.stringify(e.value)}`,a=await M(s);await r.storeVector(o,a,{key:e.key,namespace:t,storedAt:Date.now()}),n={status:"indexed"}}catch{let s="Semantic vector indexing is unavailable for this entry. Configure AQE_EMBEDDER_ENDPOINT for the recommended remote backend. The compatible local @huggingface/transformers@4.2.0 dependency chain currently has unresolved HIGH advisories GHSA-xcpc-8h2w-3j85 and GHSA-f88m-g3jw-g9cj.";console.warn(`[MemoryHandler] VECTOR_INDEX_UNAVAILABLE: ${s}`),n={status:"failed",error:{code:"VECTOR_INDEX_UNAVAILABLE",message:s}}}return u()&&m.registerPattern(d(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0,vectorIndex:n}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function G(e){let r=c();if(!r)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let o=`${e.namespace||"default"}:${e.key}`,n=await r.get(o);if(n===void 0)return{success:!0,data:{found:!1,key:e.key}};let s={found:!0,key:e.key,value:n,timestamp:new Date().toISOString()};return e.includeMetadata&&(s.metadata={}),{success:!0,data:s}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function A(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function H(e){let r=c();if(!r)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let t=e.namespace||"default",o=e.limit??100,n=e.offset??0;if(!Number.isSafeInteger(o)||o<0||!Number.isSafeInteger(n)||n<0||!Number.isSafeInteger(o+n+1))return{success:!1,error:"Memory query limit and offset must be non-negative safe integers with a safe combined page size."};let s=o+n+1;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&A(e.pattern))&&e.pattern)try{let l=await M(e.pattern),y=`${t}:`,h=await r.vectorSearch(l,s,y);return{success:!0,data:{entries:h.slice(n,n+o).map(k=>{let g=k.key.split(":");return{key:g.length>1?g.slice(1).join(":"):k.key,namespace:g.length>1?g[0]:t,score:k.score}}),total:h.length,hasMore:n+o<h.length,searchType:"semantic",searchProvenance:r.getVectorSearchProvenance?.()}}}catch(l){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(l)}`)}let I=e.pattern?`${t}:${e.pattern}`:`${t}:*`,f=await r.search(I,s);return{success:!0,data:{entries:f.slice(n,n+o).map(l=>{let y=l.split(":");return{key:y.slice(1).join(":"),namespace:y[0]}}),total:f.length,hasMore:n+o<f.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function K(e){let r=c();if(!r)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let t=e.namespace||"default",o=`${t}:${e.key}`;return{success:!0,data:{deleted:await r.delete(o),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function U(){let e=c();if(!e)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let r=await e.search("*",1e4),t=0,o=1;try{let n=e;n.getVectorStats&&(t=(await n.getVectorStats())?.vectorCount??0);let s=new Set(r.map(a=>a.split(":")[0]).filter(Boolean));o=Math.max(1,s.size)}catch{}return{success:!0,data:{entries:r.length,vectors:t,namespaces:o,size:{current:r.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(r){return{success:!1,error:`Failed to get memory usage: ${i(r)}`}}}async function O(e){let r=c();if(!r)return{success:!1,error:"Fleet not initialized. Call fleet_init first."};try{let t=`shared:${e.knowledgeDomain}:${Date.now()}:${$()}`,o={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(u()){let n=d(t,o,e.knowledgeDomain,{agentId:e.sourceAgentId}),s=await m.evaluateWrite(n);if(!s.allowed&&(w()&&S.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${s.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:s.reason}}),v()))return{success:!1,error:`Knowledge sharing blocked by governance: ${s.reason}`}}return await r.set(t,o,{namespace:"agent-knowledge"}),u()&&m.registerPattern(d(t,o,e.knowledgeDomain)),{success:!0,data:{shared:!0,sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain}}}catch(t){return{success:!1,error:`Failed to share memory: ${i(t)}`}}}export{K as handleMemoryDelete,H as handleMemoryQuery,G as handleMemoryRetrieve,O as handleMemoryShare,B as handleMemoryStore,U as handleMemoryUsage,z as setStandaloneMemoryBackend};
@@ -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.14.7");process.exit(0)}
2
- import{a as S}from"./chunk-T77GZF4B.js";import{a as M,e as I}from"./chunk-WIH522AP.js";import{a as A,d as B,j as C,n as _}from"./chunk-TFK2AYIN.js";import{a as k,b as R,c as x,d as w}from"./chunk-5D7ZFWDS.js";import{a as p}from"./chunk-YO4ESCB4.js";w();import{createHash as b}from"crypto";_();B();var U="openrouter",F=A(C,"openrouter"),N=100,H=`You are the advisor in an executor/advisor pattern. The executor has forwarded its full conversation transcript to you and is waiting for brief strategic guidance.
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.14.8");process.exit(0)}
2
+ import{a as S}from"./chunk-BT3MI2BW.js";import{a as M,e as I}from"./chunk-PVJLQ2YZ.js";import{a as A,d as B,j as C,n as _}from"./chunk-SUNXA2UR.js";import{a as k,b as R,c as x,d as w}from"./chunk-RJJIPTVH.js";import{a as p}from"./chunk-XAESN54Q.js";w();import{createHash as b}from"crypto";_();B();var U="openrouter",F=A(C,"openrouter"),N=100,H=`You are the advisor in an executor/advisor pattern. The executor has forwarded its full conversation transcript to you and is waiting for brief strategic guidance.
3
3
 
4
4
  You see the task, every tool call the executor has made, every result it has seen.
5
5
 
@@ -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.14.7");process.exit(0)}
2
- import{a as b}from"./chunk-NOHWJOBS.js";import{a as f,e as O}from"./chunk-ZUOVNFXK.js";import"./chunk-YO4ESCB4.js";O();import{existsSync as l,mkdirSync as h,readdirSync as v,readFileSync as k,writeFileSync as R}from"fs";import{join as o}from"path";import{parse as y,stringify as D}from"yaml";var E=new Set(["read","edit","glob","grep","list","bash","task","external_directory","todowrite","webfetch","websearch","lsp","skill","question","doom_loop"]),$={fetch:"webfetch",write:"edit"},w=class{projectRoot;options;sourceDir;constructor(e){this.projectRoot=e.projectRoot,this.options={installAgents:!0,installSkills:!0,installTools:!1,overwrite:!1,...e},this.sourceDir=this.findSourceDir()}findSourceDir(){let e=o(this.projectRoot,".opencode"),t=b(import.meta.url),s=[];t&&s.push(o(t,".opencode")),s.push(o(this.projectRoot,"node_modules/agentic-qe/.opencode"));for(let n of s)if(n!==e&&this.isValidSourceDir(n))return n;return s[0]??o(this.projectRoot,"node_modules/agentic-qe/.opencode")}isValidSourceDir(e){return l(e)?l(o(e,"agents"))||l(o(e,"skills")):!1}async install(){let e=o(this.projectRoot,".opencode"),t={success:!0,agentsInstalled:[],skillsInstalled:[],toolsInstalled:[],permissionsInstalled:!1,errors:[],targetDir:e};try{if(!l(this.sourceDir))return t.errors.push(`Source .opencode directory not found: ${this.sourceDir}`),t.success=!1,t;let s=this.loadPermissionsYaml();if(this.options.installAgents){let n=this.installAgents(e,s);t.agentsInstalled=n.installed,t.errors.push(...n.errors),t.permissionsInstalled=t.agentsInstalled.length>0}if(this.options.installSkills){let n=this.installSkills(e);t.skillsInstalled=n.installed,t.errors.push(...n.errors)}this.generateOpenCodeConfig()}catch(s){t.success=!1,t.errors.push(`Installation failed: ${f(s)}`)}return t}loadPermissionsYaml(){let e={defaults:{},agents:{}},t=o(this.sourceDir,"permissions.yaml");if(!l(t))return e;try{let s=y(k(t,"utf-8"));return{defaults:s?.defaults??{},agents:s?.agents??{}}}catch{return e}}buildPermission(e,t,s){let n={...s.defaults,...t??{},...s.agents[e]??{}},a={};for(let[c,i]of Object.entries(n)){if(c.includes(":"))continue;let r=$[c]??c;E.has(r)&&(a[r]=i)}return a}installAgents(e,t){let s=[],n=[],a=o(this.sourceDir,"agents"),c=o(e,"agent");if(!l(a))return n.push(`Source agents directory not found: ${a}`),{installed:s,errors:n};l(c)||h(c,{recursive:!0});for(let i of v(a).filter(r=>r.endsWith(".yaml")))try{let r=y(k(o(a,i),"utf-8")),d=r.name||i.replace(/\.yaml$/,""),g=o(c,`${d}.md`);if(l(g)&&!this.options.overwrite)continue;let u={description:(r.description||d).replace(/\s+/g," ").trim(),mode:"subagent"},p=this.buildPermission(d,r.permissions,t);Object.keys(p).length>0&&(u.permission=p);let m=(r.systemPrompt||"").trimEnd()+`
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.14.8");process.exit(0)}
2
+ import{a as b}from"./chunk-3X2JSW3R.js";import{a as f,e as O}from"./chunk-HPVYJ6JH.js";import"./chunk-XAESN54Q.js";O();import{existsSync as l,mkdirSync as h,readdirSync as v,readFileSync as k,writeFileSync as R}from"fs";import{join as o}from"path";import{parse as y,stringify as D}from"yaml";var E=new Set(["read","edit","glob","grep","list","bash","task","external_directory","todowrite","webfetch","websearch","lsp","skill","question","doom_loop"]),$={fetch:"webfetch",write:"edit"},w=class{projectRoot;options;sourceDir;constructor(e){this.projectRoot=e.projectRoot,this.options={installAgents:!0,installSkills:!0,installTools:!1,overwrite:!1,...e},this.sourceDir=this.findSourceDir()}findSourceDir(){let e=o(this.projectRoot,".opencode"),t=b(import.meta.url),s=[];t&&s.push(o(t,".opencode")),s.push(o(this.projectRoot,"node_modules/agentic-qe/.opencode"));for(let n of s)if(n!==e&&this.isValidSourceDir(n))return n;return s[0]??o(this.projectRoot,"node_modules/agentic-qe/.opencode")}isValidSourceDir(e){return l(e)?l(o(e,"agents"))||l(o(e,"skills")):!1}async install(){let e=o(this.projectRoot,".opencode"),t={success:!0,agentsInstalled:[],skillsInstalled:[],toolsInstalled:[],permissionsInstalled:!1,errors:[],targetDir:e};try{if(!l(this.sourceDir))return t.errors.push(`Source .opencode directory not found: ${this.sourceDir}`),t.success=!1,t;let s=this.loadPermissionsYaml();if(this.options.installAgents){let n=this.installAgents(e,s);t.agentsInstalled=n.installed,t.errors.push(...n.errors),t.permissionsInstalled=t.agentsInstalled.length>0}if(this.options.installSkills){let n=this.installSkills(e);t.skillsInstalled=n.installed,t.errors.push(...n.errors)}this.generateOpenCodeConfig()}catch(s){t.success=!1,t.errors.push(`Installation failed: ${f(s)}`)}return t}loadPermissionsYaml(){let e={defaults:{},agents:{}},t=o(this.sourceDir,"permissions.yaml");if(!l(t))return e;try{let s=y(k(t,"utf-8"));return{defaults:s?.defaults??{},agents:s?.agents??{}}}catch{return e}}buildPermission(e,t,s){let n={...s.defaults,...t??{},...s.agents[e]??{}},a={};for(let[c,i]of Object.entries(n)){if(c.includes(":"))continue;let r=$[c]??c;E.has(r)&&(a[r]=i)}return a}installAgents(e,t){let s=[],n=[],a=o(this.sourceDir,"agents"),c=o(e,"agent");if(!l(a))return n.push(`Source agents directory not found: ${a}`),{installed:s,errors:n};l(c)||h(c,{recursive:!0});for(let i of v(a).filter(r=>r.endsWith(".yaml")))try{let r=y(k(o(a,i),"utf-8")),d=r.name||i.replace(/\.yaml$/,""),g=o(c,`${d}.md`);if(l(g)&&!this.options.overwrite)continue;let u={description:(r.description||d).replace(/\s+/g," ").trim(),mode:"subagent"},p=this.buildPermission(d,r.permissions,t);Object.keys(p).length>0&&(u.permission=p);let m=(r.systemPrompt||"").trimEnd()+`
3
3
  `;R(g,this.renderFrontmatter(u)+`
4
4
  `+m),s.push(d)}catch(r){n.push(`Failed to convert agent ${i}: ${f(r)}`)}return{installed:s,errors:n}}installSkills(e){let t=[],s=[],n=o(this.sourceDir,"skills"),a=o(e,"skills");if(!l(n))return s.push(`Source skills directory not found: ${n}`),{installed:t,errors:s};l(a)||h(a,{recursive:!0});for(let c of v(n).filter(i=>i.endsWith(".yaml")))try{let i=y(k(o(n,c),"utf-8")),r=(i.name||c.replace(/\.yaml$/,"")).toLowerCase();if(!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(r)){s.push(`Skipped skill with non-conforming name: ${r}`);continue}let d=o(a,r),g=o(d,"SKILL.md");if(l(g)&&!this.options.overwrite)continue;l(d)||h(d,{recursive:!0});let u=(i.description||r).replace(/\s+/g," ").trim();u.length>1024&&(u=u.slice(0,1021)+"...");let p="";for(let m of i.steps??[]){p+=`## ${m.name||"step"}
5
5