agentic-qe 3.9.1 → 3.9.2

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 (277) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/dist/cli/bundle.js +8 -8
  4. package/dist/cli/chunks/adapter-53WBPKXU.js +2 -0
  5. package/dist/cli/chunks/{agent-booster-wasm-UH2J6BNA.js → agent-booster-wasm-AKAOHSCX.js} +2 -2
  6. package/dist/cli/chunks/{agent-handler-ZCBWQE3X.js → agent-handler-MTGPOUVP.js} +2 -2
  7. package/dist/cli/chunks/{agent-memory-branch-2BAVI7UW.js → agent-memory-branch-UFPKWUFK.js} +2 -2
  8. package/dist/cli/chunks/aqe-learning-engine-MV7NGY24.js +2 -0
  9. package/dist/cli/chunks/{audit-G5UIJBSQ.js → audit-VBEZHNHO.js} +2 -2
  10. package/dist/cli/chunks/base-DZVGMQN2.js +2 -0
  11. package/dist/cli/chunks/{better-sqlite3-YHIAPPVT.js → better-sqlite3-IRPHIXRU.js} +2 -2
  12. package/dist/cli/chunks/{brain-handler-5EE3J5PR.js → brain-handler-7EO3FFRZ.js} +3 -3
  13. package/dist/cli/chunks/{branch-enumerator-OV54PID5.js → branch-enumerator-MZRGP35N.js} +2 -2
  14. package/dist/cli/chunks/{browser-7RZGKOEO.js → browser-VSIWQE7J.js} +2 -2
  15. package/dist/cli/chunks/browser-workflow-3J5YNMEI.js +2 -0
  16. package/dist/cli/chunks/{chunk-YUQIXT3G.js → chunk-25LFUL2K.js} +2 -2
  17. package/dist/cli/chunks/{chunk-UWDBFPHQ.js → chunk-2EC5Z2J4.js} +14 -14
  18. package/dist/cli/chunks/{chunk-UBKK7KCR.js → chunk-2VVV73PW.js} +1 -1
  19. package/dist/cli/chunks/{chunk-SVNX4UWR.js → chunk-2WBCYSUN.js} +8 -8
  20. package/dist/cli/chunks/{chunk-HTXSUTWL.js → chunk-2Z2TFEOL.js} +2 -2
  21. package/dist/cli/chunks/{chunk-XUFHYPZK.js → chunk-34U7JDCN.js} +2 -2
  22. package/dist/cli/chunks/{chunk-43M6Y6VF.js → chunk-3GZKAORV.js} +2 -2
  23. package/dist/cli/chunks/{chunk-3VAKR43Z.js → chunk-4D2ZG2QO.js} +1 -1
  24. package/dist/cli/chunks/{chunk-NG3BKE7V.js → chunk-4DAOZQ3V.js} +2 -2
  25. package/dist/cli/chunks/{chunk-D4PSFWND.js → chunk-4FMHBBG5.js} +1 -1
  26. package/dist/cli/chunks/{chunk-V4HM4QAO.js → chunk-4FT3PND7.js} +3 -3
  27. package/dist/cli/chunks/{chunk-RU6Q5HOC.js → chunk-4LA7IW3V.js} +1 -1
  28. package/dist/cli/chunks/{chunk-XPB6ZVQY.js → chunk-4PKXIBX2.js} +1 -1
  29. package/dist/cli/chunks/{chunk-C24ZDUCM.js → chunk-4UH25U4O.js} +1 -1
  30. package/dist/cli/chunks/{chunk-7JQTHPCD.js → chunk-4Z27TRQF.js} +2 -2
  31. package/dist/cli/chunks/{chunk-WLXEDOG4.js → chunk-563PJBDM.js} +2 -2
  32. package/dist/cli/chunks/{chunk-XTLA4F5Z.js → chunk-56IWS2KY.js} +2 -2
  33. package/dist/cli/chunks/{chunk-XP6XKBNW.js → chunk-5AUKULWO.js} +2 -2
  34. package/dist/cli/chunks/{chunk-X4MZYBOU.js → chunk-5L6AU3QK.js} +2 -2
  35. package/dist/cli/chunks/{chunk-4XBY5JDT.js → chunk-5RL66XSH.js} +2 -2
  36. package/dist/cli/chunks/{chunk-EQFZQPFN.js → chunk-65M7C6SH.js} +1 -1
  37. package/dist/cli/chunks/{chunk-7YUOUVN7.js → chunk-6SOJVEU7.js} +2 -2
  38. package/dist/cli/chunks/{chunk-35H73OPP.js → chunk-727BDQ3K.js} +2 -2
  39. package/dist/cli/chunks/{chunk-5GPTM2RV.js → chunk-7NOIIC7G.js} +1 -1
  40. package/dist/cli/chunks/{chunk-US7INRP2.js → chunk-7SLN2JGP.js} +3 -3
  41. package/dist/cli/chunks/{chunk-E33KQBMW.js → chunk-AA33R5U4.js} +2 -2
  42. package/dist/cli/chunks/{chunk-O636JKJR.js → chunk-AKSJQ6B3.js} +2 -2
  43. package/dist/cli/chunks/{chunk-5LDBKZ6P.js → chunk-BIVIPF4O.js} +1 -1
  44. package/dist/cli/chunks/{chunk-JCEY7RLP.js → chunk-BKCTNRC5.js} +2 -2
  45. package/dist/cli/chunks/{chunk-TL7ABIMP.js → chunk-BOH22AKC.js} +2 -2
  46. package/dist/cli/chunks/{chunk-3JESHZQM.js → chunk-BY47GV4T.js} +2 -2
  47. package/dist/cli/chunks/{chunk-IJKYJGJL.js → chunk-CCYMJKWX.js} +1 -1
  48. package/dist/cli/chunks/{chunk-YYYB2JN5.js → chunk-CL3K5EJK.js} +2 -2
  49. package/dist/cli/chunks/{chunk-KIGRLIU4.js → chunk-CQBSGYRA.js} +2 -2
  50. package/dist/cli/chunks/{chunk-HAUXLXKZ.js → chunk-CQP7ZFME.js} +2 -2
  51. package/dist/cli/chunks/{chunk-MZ54VM6A.js → chunk-DBE34QES.js} +2 -2
  52. package/dist/cli/chunks/{chunk-WXXAAXNS.js → chunk-DHE66JRR.js} +1 -1
  53. package/dist/cli/chunks/{chunk-VEWIT6VN.js → chunk-DNLMZTE2.js} +1 -1
  54. package/dist/cli/chunks/{chunk-QAYTL6KC.js → chunk-DSE57A5N.js} +1 -1
  55. package/dist/cli/chunks/{chunk-UB7RGVKO.js → chunk-E25S5E2D.js} +1 -1
  56. package/dist/cli/chunks/{chunk-XU6L2VJY.js → chunk-FAXVVLPL.js} +2 -2
  57. package/dist/cli/chunks/chunk-FRJLP7IB.js +2 -0
  58. package/dist/cli/chunks/{chunk-LCOEBFAB.js → chunk-FUIHWBVF.js} +1 -1
  59. package/dist/cli/chunks/{chunk-6BSJNG2S.js → chunk-GCMVJS5X.js} +2 -2
  60. package/dist/cli/chunks/{chunk-VCCMCFDU.js → chunk-GITD7SRQ.js} +2 -2
  61. package/dist/cli/chunks/{chunk-24E47G3D.js → chunk-GK72GUHA.js} +2 -2
  62. package/dist/cli/chunks/{chunk-TOLYWONQ.js → chunk-GPLERTZU.js} +2 -2
  63. package/dist/cli/chunks/{chunk-V4U3CTS2.js → chunk-HW4ISY5B.js} +3 -3
  64. package/dist/cli/chunks/{chunk-WDJBGXC2.js → chunk-ICDXWIFZ.js} +1 -1
  65. package/dist/cli/chunks/{chunk-RXVYOXDB.js → chunk-J4BS6IWE.js} +1 -1
  66. package/dist/cli/chunks/{chunk-A57BEPL7.js → chunk-JOVINE23.js} +2 -2
  67. package/dist/cli/chunks/{chunk-I5WZ2NM2.js → chunk-JV7LX6OT.js} +4 -4
  68. package/dist/cli/chunks/{chunk-VY74OMGQ.js → chunk-KBA7FBK3.js} +3 -3
  69. package/dist/cli/chunks/{chunk-3WQNW6CH.js → chunk-KDDZYXP4.js} +2 -2
  70. package/dist/cli/chunks/{chunk-ZEUVPLGX.js → chunk-KNVAAVHH.js} +2 -2
  71. package/dist/cli/chunks/{chunk-YQWB4QUP.js → chunk-KQTJ2YLI.js} +4 -4
  72. package/dist/cli/chunks/{chunk-5KBQQP3X.js → chunk-KTYUCZEM.js} +2 -2
  73. package/dist/cli/chunks/{chunk-AREIP4FX.js → chunk-KZTO5EVM.js} +2 -2
  74. package/dist/cli/chunks/{chunk-L4H54Z27.js → chunk-KZUJBZ7B.js} +2 -2
  75. package/dist/cli/chunks/{chunk-IHWSNYL2.js → chunk-L5WZUPZF.js} +2 -2
  76. package/dist/cli/chunks/{chunk-OFNIQCGX.js → chunk-L5YEPSDU.js} +2 -2
  77. package/dist/cli/chunks/{chunk-4XREPCBZ.js → chunk-LCAA6H4J.js} +2 -2
  78. package/dist/cli/chunks/{chunk-TPXYS3WG.js → chunk-LMMEUVE5.js} +1 -1
  79. package/dist/cli/chunks/{chunk-SGRN6JFB.js → chunk-MN742FIH.js} +2 -2
  80. package/dist/cli/chunks/{chunk-DMGLX76J.js → chunk-MY4LMIG7.js} +2 -2
  81. package/dist/cli/chunks/{chunk-JSOBRKMA.js → chunk-N3F3CX4V.js} +2 -2
  82. package/dist/cli/chunks/{chunk-7ATLJCSG.js → chunk-NJY7ZA77.js} +1 -1
  83. package/dist/cli/chunks/{chunk-XE2YAYU5.js → chunk-NM6TIEJ3.js} +3 -3
  84. package/dist/cli/chunks/{chunk-ZSRQHJEW.js → chunk-NRCKGXJJ.js} +1 -1
  85. package/dist/cli/chunks/{chunk-IQPXANCE.js → chunk-PFNFC43Q.js} +1 -1
  86. package/dist/cli/chunks/{chunk-VNYGVG4Y.js → chunk-PJFLO37I.js} +2 -2
  87. package/dist/cli/chunks/{chunk-4LWXZCSD.js → chunk-PNL5G6TE.js} +2 -2
  88. package/dist/cli/chunks/{chunk-POLFT2PQ.js → chunk-Q4A72ZTV.js} +2 -2
  89. package/dist/cli/chunks/{chunk-6YC24TPL.js → chunk-QEQTC4WQ.js} +2 -2
  90. package/dist/cli/chunks/{chunk-NB47YT6A.js → chunk-QIH3E775.js} +2 -2
  91. package/dist/cli/chunks/{chunk-FRNB4CH2.js → chunk-QNBQBSAI.js} +2 -2
  92. package/dist/cli/chunks/{chunk-NG4TE3OW.js → chunk-QODE4LM6.js} +2 -2
  93. package/dist/cli/chunks/{chunk-BEHP3DEF.js → chunk-QPRVX4H2.js} +2 -2
  94. package/dist/cli/chunks/{chunk-RWXI7XAR.js → chunk-RC5CPXON.js} +2 -2
  95. package/dist/cli/chunks/{chunk-FPRL6UDF.js → chunk-RITN3XR4.js} +2 -2
  96. package/dist/cli/chunks/{chunk-FWDKVTK4.js → chunk-RJROC5M3.js} +2 -2
  97. package/dist/cli/chunks/{chunk-RV6SGDET.js → chunk-RQGYJK7H.js} +2 -2
  98. package/dist/cli/chunks/{chunk-B2I7BJLL.js → chunk-S3RDH5CI.js} +2 -2
  99. package/dist/cli/chunks/{chunk-4TNXEANY.js → chunk-SCF7NRVE.js} +1 -1
  100. package/dist/cli/chunks/{chunk-UN4PA4M2.js → chunk-SDTVHR63.js} +2 -2
  101. package/dist/cli/chunks/{chunk-WDV6TN7E.js → chunk-SGAW2WLI.js} +6 -6
  102. package/dist/cli/chunks/{chunk-AFPMCMVX.js → chunk-SNVM4YJS.js} +2 -2
  103. package/dist/cli/chunks/{chunk-OTSJU5LH.js → chunk-SRRFWTNF.js} +2 -2
  104. package/dist/cli/chunks/{chunk-Y2ZEDXTV.js → chunk-STE42EMB.js} +2 -2
  105. package/dist/cli/chunks/{chunk-GNUUBTSX.js → chunk-T5GV6UIO.js} +2 -2
  106. package/dist/cli/chunks/{chunk-DC3HPOOJ.js → chunk-TKF447CW.js} +1 -1
  107. package/dist/cli/chunks/{chunk-XSITQBYB.js → chunk-TTOE336G.js} +3 -3
  108. package/dist/cli/chunks/{chunk-7ZNINH6J.js → chunk-UKDOMLBI.js} +3 -3
  109. package/dist/cli/chunks/{chunk-GJW6V35N.js → chunk-V6XBAZNH.js} +1 -1
  110. package/dist/cli/chunks/{chunk-GLIFZWV2.js → chunk-VHVWAXCF.js} +1 -1
  111. package/dist/cli/chunks/{chunk-RKIGOARX.js → chunk-VL7YOOC2.js} +2 -2
  112. package/dist/cli/chunks/{chunk-QMFP5OKH.js → chunk-VUAO4VFC.js} +2 -2
  113. package/dist/cli/chunks/{chunk-36X2O3BL.js → chunk-WG4GHAML.js} +2 -2
  114. package/dist/cli/chunks/{chunk-O6QQ4HLS.js → chunk-WXWY2GAF.js} +2 -2
  115. package/dist/cli/chunks/{chunk-XRVUSKQV.js → chunk-X35GP7TR.js} +1 -1
  116. package/dist/cli/chunks/{chunk-UMGWGX7C.js → chunk-X6LCMOGC.js} +2 -2
  117. package/dist/cli/chunks/{chunk-VO3OVD5D.js → chunk-XFMKJ3UD.js} +1 -1
  118. package/dist/cli/chunks/{chunk-I7TA453K.js → chunk-XH53ARZD.js} +2 -2
  119. package/dist/cli/chunks/chunk-XIBVVZGB.js +2 -0
  120. package/dist/cli/chunks/{chunk-GFNUESMU.js → chunk-XYJL6DKI.js} +2 -2
  121. package/dist/cli/chunks/{chunk-IF6GW6IY.js → chunk-Y6O7CDLI.js} +2 -2
  122. package/dist/cli/chunks/{chunk-UZZCWWIG.js → chunk-YXCU4CJX.js} +1 -1
  123. package/dist/cli/chunks/{chunk-D55PSO5D.js → chunk-Z2IKNC5M.js} +1 -1
  124. package/dist/cli/chunks/{chunk-RAJO7VML.js → chunk-Z54EO6E6.js} +2 -2
  125. package/dist/cli/chunks/{chunk-4BHOAQJH.js → chunk-Z5HXGVXZ.js} +1 -1
  126. package/dist/cli/chunks/{ci-N4NTYAAI.js → ci-2BCOBWFG.js} +2 -2
  127. package/dist/cli/chunks/{ci-output-XYR2PSYH.js → ci-output-FB4OJHAC.js} +2 -2
  128. package/dist/cli/chunks/{claude-flow-setup-FX7PRBJV.js → claude-flow-setup-NEEFZTMB.js} +2 -2
  129. package/dist/cli/chunks/client-EF555KYW.js +2 -0
  130. package/dist/cli/chunks/{cline-installer-GTHQOK7U.js → cline-installer-ODO2PS4K.js} +2 -2
  131. package/dist/cli/chunks/{code-4G6ZHVNI.js → code-NSOF62VE.js} +2 -2
  132. package/dist/cli/chunks/{code-index-extractor-MKJTP5AK.js → code-index-extractor-YQL5XN52.js} +2 -2
  133. package/dist/cli/chunks/{codex-installer-UGS773DT.js → codex-installer-SPEY6VYT.js} +2 -2
  134. package/dist/cli/chunks/{completions-B3BXNXAU.js → completions-OWKBUMBE.js} +2 -2
  135. package/dist/cli/chunks/{complexity-analyzer-PMN77CUP.js → complexity-analyzer-PGTXKP73.js} +2 -2
  136. package/dist/cli/chunks/{continuedev-installer-3DYKSIP3.js → continuedev-installer-KGOXAC7L.js} +2 -2
  137. package/dist/cli/chunks/{copilot-installer-IUC5HDHD.js → copilot-installer-BF3UA3TG.js} +2 -2
  138. package/dist/cli/chunks/{cost-tracker-GSGQ7O5T.js → cost-tracker-2HDJ66E2.js} +2 -2
  139. package/dist/cli/chunks/{coverage-PO72QC3P.js → coverage-KPA2PHIN.js} +3 -3
  140. package/dist/cli/chunks/cross-domain-router-GXFNK5TS.js +2 -0
  141. package/dist/cli/chunks/{cursor-installer-FK53S3ZL.js → cursor-installer-7CDZFHTV.js} +2 -2
  142. package/dist/cli/chunks/{daemon-4UIQTQ73.js → daemon-4BPGCKDJ.js} +3 -3
  143. package/dist/cli/chunks/{dag-attention-scheduler-ZGIMLECE.js → dag-attention-scheduler-2MAVGSBB.js} +2 -2
  144. package/dist/cli/chunks/{detect-XXHLTLL7.js → detect-WRPWTGP5.js} +2 -2
  145. package/dist/cli/chunks/{domain-handler-PPGFP7P4.js → domain-handler-JZVSJ7AG.js} +2 -2
  146. package/dist/cli/chunks/{domain-transfer-Q5UAE65W.js → domain-transfer-XGIZOR2X.js} +2 -2
  147. package/dist/cli/chunks/dream-3IKF5XH4.js +2 -0
  148. package/dist/cli/chunks/esm-node-DHAE52OW.js +2 -0
  149. package/dist/cli/chunks/{eval-JVJKHSTQ.js → eval-T7YPAS4G.js} +2 -2
  150. package/dist/cli/chunks/{fast-paths-3KX4ZV66.js → fast-paths-QECJTKCQ.js} +2 -2
  151. package/dist/cli/chunks/{feature-flags-GKHHG2I2.js → feature-flags-LIFURSFZ.js} +2 -2
  152. package/dist/cli/chunks/{feature-flags-2NOVE7DL.js → feature-flags-R4QZYTIW.js} +2 -2
  153. package/dist/cli/chunks/{file-discovery-XFSGQNM3.js → file-discovery-4W3K3W4C.js} +2 -2
  154. package/dist/cli/chunks/{fleet-FOIDAXLR.js → fleet-NLLQWCI5.js} +3 -3
  155. package/dist/cli/chunks/{gnn-wrapper-HPCQREKP.js → gnn-wrapper-XEII72LN.js} +2 -2
  156. package/dist/cli/chunks/{heartbeat-handler-HTR3EFFV.js → heartbeat-handler-DJ65RE5D.js} +4 -4
  157. package/dist/cli/chunks/{heartbeat-scheduler-NZQWN7CH.js → heartbeat-scheduler-H664265Q.js} +2 -2
  158. package/dist/cli/chunks/hnsw-adapter-DML5KXQR.js +2 -0
  159. package/dist/cli/chunks/hnsw-index-BUPPGVR6.js +2 -0
  160. package/dist/cli/chunks/{hnsw-legacy-bridge-H6OA3AA3.js → hnsw-legacy-bridge-SQIDTWAA.js} +2 -2
  161. package/dist/cli/chunks/{hnswlib-node-FF27BDMD.js → hnswlib-node-WICYCU5U.js} +2 -2
  162. package/dist/cli/chunks/{hooks-63NZQ7NH.js → hooks-GZUHUD63.js} +6 -6
  163. package/dist/cli/chunks/{hypergraph-engine-XMSLA4XH.js → hypergraph-engine-MLCDZ6BL.js} +2 -2
  164. package/dist/cli/chunks/{hypergraph-handler-ID6J6GS2.js → hypergraph-handler-NNDDI4R3.js} +3 -3
  165. package/dist/cli/chunks/impact-analyzer-DPTMJRYS.js +2 -0
  166. package/dist/cli/chunks/{init-handler-CIKZGGAY.js → init-handler-IJ6BHE6A.js} +6 -6
  167. package/dist/cli/chunks/init-wizard-35PUDJPW.js +2 -0
  168. package/dist/cli/chunks/kernel-2HZ44ZJ4.js +2 -0
  169. package/dist/cli/chunks/{kilocode-installer-N7NLISYY.js → kilocode-installer-EPZFFPFE.js} +2 -2
  170. package/dist/cli/chunks/{kiro-installer-U6XIPAT3.js → kiro-installer-5VACG3HU.js} +2 -2
  171. package/dist/cli/chunks/knowledge-graph-JL62G72U.js +2 -0
  172. package/dist/cli/chunks/{learning-NKOF7KDJ.js → learning-6FITK6XY.js} +3 -3
  173. package/dist/cli/chunks/{llm-router-34WHT3PH.js → llm-router-4DDC6AKJ.js} +2 -2
  174. package/dist/cli/chunks/{load-ZW4Z3YLT.js → load-KGDNVUBX.js} +2 -2
  175. package/dist/cli/chunks/load-test-LN245SSD.js +2 -0
  176. package/dist/cli/chunks/{mcp-6R7SVGKO.js → mcp-4LETGVIV.js} +2 -2
  177. package/dist/cli/chunks/{memory-OUYCBU4M.js → memory-II4I4QMO.js} +5 -5
  178. package/dist/cli/chunks/memory-backend-SVM7YRIE.js +2 -0
  179. package/dist/cli/chunks/memory-handlers-TQXTOJGQ.js +2 -0
  180. package/dist/cli/chunks/{opencode-installer-FR75GHFU.js → opencode-installer-EU6JCWBW.js} +2 -2
  181. package/dist/cli/chunks/{orchestrator-AK7ZMVNH.js → orchestrator-YLMGJVSP.js} +5 -5
  182. package/dist/cli/chunks/{pipeline-CFOPG7EM.js → pipeline-MPZJWYKK.js} +2 -2
  183. package/dist/cli/chunks/{platform-NY3ULBR7.js → platform-YH35ZZFZ.js} +2 -2
  184. package/dist/cli/chunks/{plugin-LRANQYUR.js → plugin-B7JYZFNQ.js} +2 -2
  185. package/dist/cli/chunks/{prime-radiant-advanced-wasm-6KEIU55P.js → prime-radiant-advanced-wasm-KTUK6UE2.js} +2 -2
  186. package/dist/cli/chunks/protocol-executor-IEN2XB4L.js +2 -0
  187. package/dist/cli/chunks/{protocol-handler-ESSZGJ7R.js → protocol-handler-3NXMVU34.js} +2 -2
  188. package/dist/cli/chunks/{prove-EF2PPY65.js → prove-H5LMGSUC.js} +2 -2
  189. package/dist/cli/chunks/qe-reasoning-bank-Q3ZV3JRG.js +2 -0
  190. package/dist/cli/chunks/{quality-AYBXB635.js → quality-RCWHY6GO.js} +2 -2
  191. package/dist/cli/chunks/queen-coordinator-E6ON3JUR.js +2 -0
  192. package/dist/cli/chunks/{real-embeddings-QPBXE7MA.js → real-embeddings-NKH4VURF.js} +2 -2
  193. package/dist/cli/chunks/{roocode-installer-UF6MMBH6.js → roocode-installer-SB7QJYM3.js} +2 -2
  194. package/dist/cli/chunks/router-WMC3LZ3C.js +2 -0
  195. package/dist/cli/chunks/routing-feedback-VKCZRCE3.js +2 -0
  196. package/dist/cli/chunks/{routing-handler-5TVKFU7V.js → routing-handler-SY7GKG2W.js} +2 -2
  197. package/dist/cli/chunks/{ruvector-commands-E33VXFIA.js → ruvector-commands-HATTO3UQ.js} +2 -2
  198. package/dist/cli/chunks/{rvf-dual-writer-O3AZKD24.js → rvf-dual-writer-D57EXQUD.js} +2 -2
  199. package/dist/cli/chunks/{rvf-migration-adapter-IKEUZ2HX.js → rvf-migration-adapter-OWDYN6KD.js} +2 -2
  200. package/dist/cli/chunks/{rvf-migration-coordinator-M4H7W4RN.js → rvf-migration-coordinator-SIQVJB5S.js} +2 -2
  201. package/dist/cli/chunks/rvf-native-adapter-C7NBH5UN.js +2 -0
  202. package/dist/cli/chunks/safe-db-5KLXCNXN.js +2 -0
  203. package/dist/cli/chunks/schedule-HAWWOXWB.js +2 -0
  204. package/dist/cli/chunks/scheduler-HTRDY5BC.js +2 -0
  205. package/dist/cli/chunks/{security-ZLWT7IU3.js → security-DS3XLZWN.js} +3 -3
  206. package/dist/cli/chunks/shared-rvf-adapter-6I2Z5UGL.js +2 -0
  207. package/dist/cli/chunks/{shared-rvf-dual-writer-G43LQDIV.js → shared-rvf-dual-writer-YB7AH6XJ.js} +2 -2
  208. package/dist/cli/chunks/sqlite-persistence-WNNRGTGG.js +2 -0
  209. package/dist/cli/chunks/{status-handler-7P23CXUI.js → status-handler-TUYHE4FT.js} +2 -2
  210. package/dist/cli/chunks/{structural-health-SCNBNL7K.js → structural-health-XNGBNRRD.js} +2 -2
  211. package/dist/cli/chunks/{sync-BYZBBH65.js → sync-K6CIRKBB.js} +2 -2
  212. package/dist/cli/chunks/{task-handler-DWJQXZ2K.js → task-handler-7PJY67DR.js} +2 -2
  213. package/dist/cli/chunks/task-handlers-WB5CDWUR.js +2 -0
  214. package/dist/cli/chunks/{test-2JSS4XW7.js → test-WV5ALEBB.js} +4 -4
  215. package/dist/cli/chunks/{test-scheduling-TWJ5I7N3.js → test-scheduling-N55ZGGA2.js} +3 -3
  216. package/dist/cli/chunks/token-bootstrap-SINWHAKR.js +2 -0
  217. package/dist/cli/chunks/{token-usage-EQ4HM4EZ.js → token-usage-R7TGEVGL.js} +2 -2
  218. package/dist/cli/chunks/{transformers-PBIR5U5S.js → transformers-6DBLXPV7.js} +2 -2
  219. package/dist/cli/chunks/{tree-sitter-wasm-parser-X3L2GXUX.js → tree-sitter-wasm-parser-7C7FKMQW.js} +2 -2
  220. package/dist/cli/chunks/{types-OD43K2NP.js → types-VNPMOKQT.js} +2 -2
  221. package/dist/cli/chunks/unified-memory-72SKVZ7Y.js +2 -0
  222. package/dist/cli/chunks/unified-memory-hnsw-TMN2L77W.js +2 -0
  223. package/dist/cli/chunks/unified-persistence-MDN3SRCR.js +2 -0
  224. package/dist/cli/chunks/{validate-POMLT2KU.js → validate-53MNIRAF.js} +2 -2
  225. package/dist/cli/chunks/{validate-swarm-UOC4JGZT.js → validate-swarm-ZY4RGUFO.js} +2 -2
  226. package/dist/cli/chunks/{vibium-5JF6LAXI.js → vibium-PBADBIV6.js} +2 -2
  227. package/dist/cli/chunks/visual-security-TRBCXPIB.js +2 -0
  228. package/dist/cli/chunks/{web-tree-sitter-R7WR7J7B.js → web-tree-sitter-O7VI6RLB.js} +2 -2
  229. package/dist/cli/chunks/{windsurf-installer-ZSPEUBKR.js → windsurf-installer-HV3C3TAD.js} +2 -2
  230. package/dist/cli/chunks/{witness-chain-CFSPCXHG.js → witness-chain-4WIMYP4X.js} +2 -2
  231. package/dist/cli/chunks/witness-chain-JOI2YYGK.js +2 -0
  232. package/dist/cli/chunks/{workflow-YNQT3OW2.js → workflow-5RVAQ4TM.js} +4 -4
  233. package/dist/cli/chunks/workflow-orchestrator-2NQ72S3C.js +2 -0
  234. package/dist/cli/chunks/{wrappers-BP4FODVH.js → wrappers-RRHCCA3E.js} +2 -2
  235. package/dist/cli/index.js +10 -15
  236. package/dist/learning/pattern-store.js +25 -3
  237. package/dist/learning/rvf-pattern-store.d.ts +3 -0
  238. package/dist/learning/rvf-pattern-store.js +4 -2
  239. package/dist/mcp/bundle.js +223 -223
  240. package/package.json +1 -1
  241. package/dist/cli/chunks/adapter-NTM4ZH3P.js +0 -2
  242. package/dist/cli/chunks/aqe-learning-engine-RVX6MPYK.js +0 -2
  243. package/dist/cli/chunks/base-7HKNQ6UP.js +0 -2
  244. package/dist/cli/chunks/browser-workflow-UOFSQK7X.js +0 -2
  245. package/dist/cli/chunks/chunk-U5JQGRHZ.js +0 -2
  246. package/dist/cli/chunks/client-CRRENRK4.js +0 -2
  247. package/dist/cli/chunks/cross-domain-router-FSCGJG3B.js +0 -2
  248. package/dist/cli/chunks/dream-PONKQULG.js +0 -2
  249. package/dist/cli/chunks/esm-node-XLWDJRBX.js +0 -2
  250. package/dist/cli/chunks/hnsw-adapter-BNA5WUAB.js +0 -2
  251. package/dist/cli/chunks/hnsw-index-RQIIAE7S.js +0 -2
  252. package/dist/cli/chunks/impact-analyzer-FS2UNVP4.js +0 -2
  253. package/dist/cli/chunks/init-wizard-TUU5PPY6.js +0 -2
  254. package/dist/cli/chunks/kernel-XFG42WAG.js +0 -2
  255. package/dist/cli/chunks/knowledge-graph-XV7FPU2T.js +0 -2
  256. package/dist/cli/chunks/load-test-F4L7RTXJ.js +0 -2
  257. package/dist/cli/chunks/memory-backend-DTJD2DWF.js +0 -2
  258. package/dist/cli/chunks/memory-handlers-WNXKZRNM.js +0 -2
  259. package/dist/cli/chunks/protocol-executor-6W4PS2D4.js +0 -2
  260. package/dist/cli/chunks/qe-reasoning-bank-7G3TZLEA.js +0 -2
  261. package/dist/cli/chunks/queen-coordinator-NFPKGMQN.js +0 -2
  262. package/dist/cli/chunks/router-F4B7Q66G.js +0 -2
  263. package/dist/cli/chunks/routing-feedback-5CIDDW7P.js +0 -2
  264. package/dist/cli/chunks/rvf-native-adapter-UX3WAPIP.js +0 -2
  265. package/dist/cli/chunks/safe-db-QBBNXEVK.js +0 -2
  266. package/dist/cli/chunks/schedule-GFT4NN6Z.js +0 -2
  267. package/dist/cli/chunks/scheduler-CQ56T7DB.js +0 -2
  268. package/dist/cli/chunks/shared-rvf-adapter-EXACQ2PT.js +0 -2
  269. package/dist/cli/chunks/sqlite-persistence-JHSUZPAW.js +0 -2
  270. package/dist/cli/chunks/task-handlers-35JIXVRW.js +0 -2
  271. package/dist/cli/chunks/token-bootstrap-LLLNJT5V.js +0 -2
  272. package/dist/cli/chunks/unified-memory-YPHONR2T.js +0 -2
  273. package/dist/cli/chunks/unified-memory-hnsw-HJS4OXWM.js +0 -2
  274. package/dist/cli/chunks/unified-persistence-EFZRO6AW.js +0 -2
  275. package/dist/cli/chunks/visual-security-7KWFLYNB.js +0 -2
  276. package/dist/cli/chunks/witness-chain-RWU6WT37.js +0 -2
  277. package/dist/cli/chunks/workflow-orchestrator-Z6TAVMQP.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.1");process.exit(0)}
2
- import{b as m,d as b}from"./chunk-XUFHYPZK.js";import"./chunk-UZZCWWIG.js";b();import{Command as x}from"commander";import e from"chalk";var u=["claude","openai","ollama","openrouter","gemini","azure-openai","bedrock","onnx"];var v={maxAttempts:3,delayMs:100,trySameProviderAlternateModel:!0,skipOpenCircuits:!0,retryableErrors:["RATE_LIMITED","TIMEOUT","NETWORK_ERROR","PROVIDER_UNAVAILABLE"]},M=[{provider:"claude",models:["claude-sonnet-4-20250514","claude-3-5-haiku-20241022"],enabled:!0,priority:100,maxAttempts:2,timeoutMs:3e4},{provider:"openai",models:["gpt-4o","gpt-4o-mini"],enabled:!0,priority:90,maxAttempts:2,timeoutMs:3e4},{provider:"openrouter",models:["anthropic/claude-sonnet-4","openai/gpt-4o"],enabled:!0,priority:85,maxAttempts:2,timeoutMs:3e4},{provider:"ollama",models:["llama3.1","mistral"],enabled:!0,priority:80,maxAttempts:2,timeoutMs:6e4},{provider:"onnx",models:["phi-4","all-MiniLM-L6-v2"],enabled:!0,priority:70,maxAttempts:1,timeoutMs:12e4}],C={id:"default-fallback-chain",entries:M,maxRetries:3,retryDelayMs:100,backoffMultiplier:2,maxDelayMs:5e3},g={mode:"rule-based",rules:[],defaultProvider:"claude",defaultModel:"claude-sonnet-4-20250514",fallbackChain:C,fallbackBehavior:v,providers:{claude:{enabled:!0,defaultModel:"claude-sonnet-4-20250514"},openai:{enabled:!0,defaultModel:"gpt-4o"},ollama:{enabled:!0,defaultModel:"llama3.1"},openrouter:{enabled:!0,defaultModel:"anthropic/claude-sonnet-4"},gemini:{enabled:!1,defaultModel:"gemini-pro"},"azure-openai":{enabled:!1},bedrock:{enabled:!1},onnx:{enabled:!0,defaultModel:"phi-4"}},enableMetrics:!0,metricsConfig:{enabled:!0,collectionIntervalMs:6e4,retentionMs:864e5,trackPerRequest:!0},maxDecisionTimeMs:10,cacheDecisions:!0,decisionCacheTtlMs:6e4,cacheConfig:{enabled:!0,ttlMs:6e4,maxEntries:1e3,keyStrategy:"agent-domain"},auditConfig:{enabled:!0,maxEntries:1e4,logContent:!1,logResponse:!1}},c=[{canonicalId:"claude-opus-4.5",canonicalName:"Claude Opus 4.5",providerIds:{claude:"claude-opus-4-5-20251101",openrouter:"anthropic/claude-opus-4.5",bedrock:"anthropic.claude-opus-4-5-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:32e3},tier:"flagship",family:"claude",inputCostPer1M:15,outputCostPer1M:75},{canonicalId:"claude-sonnet-4",canonicalName:"Claude Sonnet 4",providerIds:{claude:"claude-sonnet-4-20250514",openrouter:"anthropic/claude-sonnet-4",bedrock:"anthropic.claude-sonnet-4-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:64e3},tier:"advanced",family:"claude",inputCostPer1M:3,outputCostPer1M:15},{canonicalId:"claude-haiku-3.5",canonicalName:"Claude Haiku 3.5",providerIds:{claude:"claude-3-5-haiku-20241022",openrouter:"anthropic/claude-3.5-haiku",bedrock:"anthropic.claude-3-5-haiku-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:8192},tier:"standard",family:"claude",inputCostPer1M:.8,outputCostPer1M:4},{canonicalId:"gpt-4o",canonicalName:"GPT-4o",providerIds:{openai:"gpt-4o","azure-openai":"gpt-4o",openrouter:"openai/gpt-4o"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"advanced",family:"gpt",inputCostPer1M:2.5,outputCostPer1M:10},{canonicalId:"gpt-4o-mini",canonicalName:"GPT-4o Mini",providerIds:{openai:"gpt-4o-mini","azure-openai":"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"standard",family:"gpt",inputCostPer1M:.15,outputCostPer1M:.6},{canonicalId:"gemini-pro",canonicalName:"Gemini 2.0 Pro",providerIds:{gemini:"gemini-2.0-pro",openrouter:"google/gemini-2.0-pro"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e6,maxOutputTokens:8192},tier:"advanced",family:"gemini",inputCostPer1M:1.25,outputCostPer1M:5},{canonicalId:"llama-3.1-70b",canonicalName:"LLaMA 3.1 70B",providerIds:{ollama:"llama3.1:70b",openrouter:"meta-llama/llama-3.1-70b",bedrock:"meta.llama3-1-70b-instruct-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:4096},tier:"advanced",family:"llama",inputCostPer1M:.9,outputCostPer1M:.9},{canonicalId:"phi-4",canonicalName:"Microsoft Phi-4",providerIds:{ollama:"phi4",onnx:"phi-4",openrouter:"microsoft/phi-4"},capabilities:{supportsStreaming:!0,supportsTools:!1,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!1,maxContextTokens:16e3,maxOutputTokens:4096,requiresNetwork:!1},tier:"efficient",family:"phi",inputCostPer1M:0,outputCostPer1M:0}];var a={...g};function _(){let r=new x("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.9.2");process.exit(0)}
2
+ import{b as m,d as b}from"./chunk-34U7JDCN.js";import"./chunk-YXCU4CJX.js";b();import{Command as x}from"commander";import e from"chalk";var u=["claude","openai","ollama","openrouter","gemini","azure-openai","bedrock","onnx"];var v={maxAttempts:3,delayMs:100,trySameProviderAlternateModel:!0,skipOpenCircuits:!0,retryableErrors:["RATE_LIMITED","TIMEOUT","NETWORK_ERROR","PROVIDER_UNAVAILABLE"]},M=[{provider:"claude",models:["claude-sonnet-4-20250514","claude-3-5-haiku-20241022"],enabled:!0,priority:100,maxAttempts:2,timeoutMs:3e4},{provider:"openai",models:["gpt-4o","gpt-4o-mini"],enabled:!0,priority:90,maxAttempts:2,timeoutMs:3e4},{provider:"openrouter",models:["anthropic/claude-sonnet-4","openai/gpt-4o"],enabled:!0,priority:85,maxAttempts:2,timeoutMs:3e4},{provider:"ollama",models:["llama3.1","mistral"],enabled:!0,priority:80,maxAttempts:2,timeoutMs:6e4},{provider:"onnx",models:["phi-4","all-MiniLM-L6-v2"],enabled:!0,priority:70,maxAttempts:1,timeoutMs:12e4}],C={id:"default-fallback-chain",entries:M,maxRetries:3,retryDelayMs:100,backoffMultiplier:2,maxDelayMs:5e3},g={mode:"rule-based",rules:[],defaultProvider:"claude",defaultModel:"claude-sonnet-4-20250514",fallbackChain:C,fallbackBehavior:v,providers:{claude:{enabled:!0,defaultModel:"claude-sonnet-4-20250514"},openai:{enabled:!0,defaultModel:"gpt-4o"},ollama:{enabled:!0,defaultModel:"llama3.1"},openrouter:{enabled:!0,defaultModel:"anthropic/claude-sonnet-4"},gemini:{enabled:!1,defaultModel:"gemini-pro"},"azure-openai":{enabled:!1},bedrock:{enabled:!1},onnx:{enabled:!0,defaultModel:"phi-4"}},enableMetrics:!0,metricsConfig:{enabled:!0,collectionIntervalMs:6e4,retentionMs:864e5,trackPerRequest:!0},maxDecisionTimeMs:10,cacheDecisions:!0,decisionCacheTtlMs:6e4,cacheConfig:{enabled:!0,ttlMs:6e4,maxEntries:1e3,keyStrategy:"agent-domain"},auditConfig:{enabled:!0,maxEntries:1e4,logContent:!1,logResponse:!1}},c=[{canonicalId:"claude-opus-4.5",canonicalName:"Claude Opus 4.5",providerIds:{claude:"claude-opus-4-5-20251101",openrouter:"anthropic/claude-opus-4.5",bedrock:"anthropic.claude-opus-4-5-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:32e3},tier:"flagship",family:"claude",inputCostPer1M:15,outputCostPer1M:75},{canonicalId:"claude-sonnet-4",canonicalName:"Claude Sonnet 4",providerIds:{claude:"claude-sonnet-4-20250514",openrouter:"anthropic/claude-sonnet-4",bedrock:"anthropic.claude-sonnet-4-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:64e3},tier:"advanced",family:"claude",inputCostPer1M:3,outputCostPer1M:15},{canonicalId:"claude-haiku-3.5",canonicalName:"Claude Haiku 3.5",providerIds:{claude:"claude-3-5-haiku-20241022",openrouter:"anthropic/claude-3.5-haiku",bedrock:"anthropic.claude-3-5-haiku-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:8192},tier:"standard",family:"claude",inputCostPer1M:.8,outputCostPer1M:4},{canonicalId:"gpt-4o",canonicalName:"GPT-4o",providerIds:{openai:"gpt-4o","azure-openai":"gpt-4o",openrouter:"openai/gpt-4o"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"advanced",family:"gpt",inputCostPer1M:2.5,outputCostPer1M:10},{canonicalId:"gpt-4o-mini",canonicalName:"GPT-4o Mini",providerIds:{openai:"gpt-4o-mini","azure-openai":"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"standard",family:"gpt",inputCostPer1M:.15,outputCostPer1M:.6},{canonicalId:"gemini-pro",canonicalName:"Gemini 2.0 Pro",providerIds:{gemini:"gemini-2.0-pro",openrouter:"google/gemini-2.0-pro"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e6,maxOutputTokens:8192},tier:"advanced",family:"gemini",inputCostPer1M:1.25,outputCostPer1M:5},{canonicalId:"llama-3.1-70b",canonicalName:"LLaMA 3.1 70B",providerIds:{ollama:"llama3.1:70b",openrouter:"meta-llama/llama-3.1-70b",bedrock:"meta.llama3-1-70b-instruct-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:4096},tier:"advanced",family:"llama",inputCostPer1M:.9,outputCostPer1M:.9},{canonicalId:"phi-4",canonicalName:"Microsoft Phi-4",providerIds:{ollama:"phi4",onnx:"phi-4",openrouter:"microsoft/phi-4"},capabilities:{supportsStreaming:!0,supportsTools:!1,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!1,maxContextTokens:16e3,maxOutputTokens:4096,requiresNetwork:!1},tier:"efficient",family:"phi",inputCostPer1M:0,outputCostPer1M:0}];var a={...g};function _(){let r=new x("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
@@ -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.9.1");process.exit(0)}
2
- import"./chunk-RWXI7XAR.js";import{a as d}from"./chunk-5GPTM2RV.js";import"./chunk-XPB6ZVQY.js";import{a as v,c as P}from"./chunk-UN4PA4M2.js";import{f as C}from"./chunk-UB7RGVKO.js";import"./chunk-XUFHYPZK.js";import"./chunk-NG3BKE7V.js";import"./chunk-UZZCWWIG.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.9.2");process.exit(0)}
2
+ import"./chunk-RC5CPXON.js";import{a as d}from"./chunk-7NOIIC7G.js";import"./chunk-4PKXIBX2.js";import{a as v,c as P}from"./chunk-SDTVHR63.js";import{f as C}from"./chunk-E25S5E2D.js";import"./chunk-34U7JDCN.js";import"./chunk-4DAOZQ3V.js";import"./chunk-YXCU4CJX.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.9.2");process.exit(0)}
2
+ import{a}from"./chunk-PJFLO37I.js";import"./chunk-AA33R5U4.js";import"./chunk-3GZKAORV.js";import"./chunk-GK72GUHA.js";import"./chunk-SNVM4YJS.js";import"./chunk-XIBVVZGB.js";import"./chunk-JOVINE23.js";import"./chunk-N3F3CX4V.js";import"./chunk-SDTVHR63.js";import"./chunk-E25S5E2D.js";import"./chunk-XYJL6DKI.js";import"./chunk-L5YEPSDU.js";import"./chunk-KNVAAVHH.js";import"./chunk-34U7JDCN.js";import"./chunk-MN742FIH.js";import"./chunk-4DAOZQ3V.js";import"./chunk-LCAA6H4J.js";import"./chunk-727BDQ3K.js";import"./chunk-DBE34QES.js";import"./chunk-YXCU4CJX.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.9.1");process.exit(0)}
2
- import"./chunk-UZZCWWIG.js";import{Command as d}from"commander";import{spawn as m}from"child_process";import{join as r,dirname as p}from"path";import{existsSync as a}from"fs";import{fileURLToPath as l}from"url";function f(){return new d("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 e=>{let t={...process.env,AQE_HTTP_PORT:e.http||"0"};e.verbose&&(t.AQE_VERBOSE="true");let o=u();o||(console.error("Error: Could not find MCP server entry point"),console.error("Make sure agentic-qe is properly installed"),process.exit(1));let i=o.endsWith(".js"),n=m("node",i?[o]:["--import","tsx",o],{env:t,stdio:"inherit",cwd:process.cwd()});n.on("error",s=>{console.error("Failed to start MCP server:",s.message),process.exit(1)}),n.on("exit",s=>{process.exit(s??0)}),process.on("SIGINT",()=>n.kill("SIGINT")),process.on("SIGTERM",()=>n.kill("SIGTERM"))})}function u(){let c=l(import.meta.url),e=p(c),t=[r(e,"..","mcp","bundle.js"),r(e,"..","mcp","entry.js"),r(e,"..","mcp","entry.ts"),r(process.cwd(),"node_modules","agentic-qe","dist","mcp","bundle.js"),r(process.cwd(),"node_modules","agentic-qe","dist","mcp","entry.js")];for(let o of t)if(a(o))return o;return null}var h=f;export{f as createMcpCommand,h 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.9.2");process.exit(0)}
2
+ import"./chunk-YXCU4CJX.js";import{Command as d}from"commander";import{spawn as m}from"child_process";import{join as r,dirname as p}from"path";import{existsSync as a}from"fs";import{fileURLToPath as l}from"url";function f(){return new d("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 e=>{let t={...process.env,AQE_HTTP_PORT:e.http||"0"};e.verbose&&(t.AQE_VERBOSE="true");let o=u();o||(console.error("Error: Could not find MCP server entry point"),console.error("Make sure agentic-qe is properly installed"),process.exit(1));let i=o.endsWith(".js"),n=m("node",i?[o]:["--import","tsx",o],{env:t,stdio:"inherit",cwd:process.cwd()});n.on("error",s=>{console.error("Failed to start MCP server:",s.message),process.exit(1)}),n.on("exit",s=>{process.exit(s??0)}),process.on("SIGINT",()=>n.kill("SIGINT")),process.on("SIGTERM",()=>n.kill("SIGTERM"))})}function u(){let c=l(import.meta.url),e=p(c),t=[r(e,"..","mcp","bundle.js"),r(e,"..","mcp","entry.js"),r(e,"..","mcp","entry.ts"),r(process.cwd(),"node_modules","agentic-qe","dist","mcp","bundle.js"),r(process.cwd(),"node_modules","agentic-qe","dist","mcp","entry.js")];for(let o of t)if(a(o))return o;return null}var h=f;export{f as createMcpCommand,h 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.9.1");process.exit(0)}
2
- import{a as i,c as p}from"./chunk-UN4PA4M2.js";import"./chunk-UZZCWWIG.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.9.2");process.exit(0)}
2
+ import{a as i,c as p}from"./chunk-SDTVHR63.js";import"./chunk-YXCU4CJX.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-WNXKZRNM.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}"`)):(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-WNXKZRNM.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-WNXKZRNM.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:y,total:d,searchType:u}=n.data;console.log(r.blue(` ${d} result(s) via ${u} 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-TQXTOJGQ.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}"`)):(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-TQXTOJGQ.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-TQXTOJGQ.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:y,total:d,searchType:u}=n.data;console.log(r.blue(` ${d} result(s) via ${u} search
28
28
  `));for(let m of y){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-WNXKZRNM.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-TQXTOJGQ.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-WNXKZRNM.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-WNXKZRNM.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(y=>y.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-WNXKZRNM.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-TQXTOJGQ.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-TQXTOJGQ.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(y=>y.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-TQXTOJGQ.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.9.2");process.exit(0)}
2
+ import{a}from"./chunk-VUAO4VFC.js";import"./chunk-MN742FIH.js";import"./chunk-4DAOZQ3V.js";import"./chunk-YXCU4CJX.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.9.2");process.exit(0)}
2
+ import{c as a,d as c}from"./chunk-2EC5Z2J4.js";import"./chunk-KBA7FBK3.js";import"./chunk-CQBSGYRA.js";import"./chunk-BOH22AKC.js";import"./chunk-WG4GHAML.js";import"./chunk-4D2ZG2QO.js";import"./chunk-ICDXWIFZ.js";import"./chunk-BKCTNRC5.js";import"./chunk-KTYUCZEM.js";import"./chunk-CL3K5EJK.js";import"./chunk-4Z27TRQF.js";import"./chunk-DSE57A5N.js";import"./chunk-KZUJBZ7B.js";import"./chunk-RITN3XR4.js";import"./chunk-CQP7ZFME.js";import"./chunk-PJFLO37I.js";import"./chunk-T5GV6UIO.js";import"./chunk-NJY7ZA77.js";import"./chunk-XH53ARZD.js";import"./chunk-PNL5G6TE.js";import"./chunk-J4BS6IWE.js";import"./chunk-WXWY2GAF.js";import"./chunk-PFNFC43Q.js";import"./chunk-2WBCYSUN.js";import"./chunk-DNLMZTE2.js";import"./chunk-SCF7NRVE.js";import"./chunk-TTOE336G.js";import"./chunk-4LA7IW3V.js";import"./chunk-QIH3E775.js";import"./chunk-STE42EMB.js";import"./chunk-SRRFWTNF.js";import"./chunk-QODE4LM6.js";import"./chunk-X35GP7TR.js";import"./chunk-VL7YOOC2.js";import"./chunk-HW4ISY5B.js";import"./chunk-VHVWAXCF.js";import"./chunk-RC5CPXON.js";import"./chunk-NRCKGXJJ.js";import"./chunk-KDDZYXP4.js";import"./chunk-Z5HXGVXZ.js";import{a as m,b as R,d as $,e as y,f as g,i as b}from"./chunk-Q4A72ZTV.js";import"./chunk-7NOIIC7G.js";import"./chunk-NM6TIEJ3.js";import"./chunk-JV7LX6OT.js";import"./chunk-25LFUL2K.js";import"./chunk-4FT3PND7.js";import"./chunk-L5WZUPZF.js";import"./chunk-7SLN2JGP.js";import"./chunk-SGAW2WLI.js";import"./chunk-4UH25U4O.js";import"./chunk-4PKXIBX2.js";import"./chunk-TKF447CW.js";import"./chunk-5L6AU3QK.js";import"./chunk-S3RDH5CI.js";import"./chunk-2Z2TFEOL.js";import"./chunk-FRJLP7IB.js";import"./chunk-AA33R5U4.js";import"./chunk-3GZKAORV.js";import"./chunk-X6LCMOGC.js";import"./chunk-BY47GV4T.js";import"./chunk-GITD7SRQ.js";import"./chunk-FAXVVLPL.js";import"./chunk-QEQTC4WQ.js";import"./chunk-GCMVJS5X.js";import"./chunk-UKDOMLBI.js";import"./chunk-QPRVX4H2.js";import"./chunk-6SOJVEU7.js";import"./chunk-RQGYJK7H.js";import{b as w}from"./chunk-563PJBDM.js";import"./chunk-QNBQBSAI.js";import"./chunk-GK72GUHA.js";import"./chunk-SNVM4YJS.js";import"./chunk-Y6O7CDLI.js";import"./chunk-XIBVVZGB.js";import"./chunk-JOVINE23.js";import"./chunk-RJROC5M3.js";import"./chunk-N3F3CX4V.js";import"./chunk-BIVIPF4O.js";import{a as i,c as S}from"./chunk-SDTVHR63.js";import"./chunk-E25S5E2D.js";import"./chunk-VUAO4VFC.js";import"./chunk-XYJL6DKI.js";import"./chunk-L5YEPSDU.js";import"./chunk-KNVAAVHH.js";import"./chunk-34U7JDCN.js";import"./chunk-MN742FIH.js";import"./chunk-4DAOZQ3V.js";import"./chunk-LCAA6H4J.js";import"./chunk-727BDQ3K.js";import"./chunk-DBE34QES.js";import"./chunk-YXCU4CJX.js";S();async function T(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;if(m()){let r=g(e.key,e.value,t,{tags:e.metadata?.tags}),o=await y.evaluateWrite(r);if(!o.allowed){if(R()&&b.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${o.reason}`,context:{key:e.key,namespace:t,reason:o.reason,conflictingPatterns:o.conflictingPatterns}}),$())return{success:!1,error:`Memory write blocked by governance: ${o.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${o.reason}`)}}await s.memory.set(n,e.value,{ttl:e.ttl});try{let r=`${e.key} ${JSON.stringify(e.value)}`,o=await w(r);await s.memory.storeVector(n,o,{key:e.key,namespace:t,storedAt:Date.now()})}catch(r){console.warn(`[MemoryHandler] Vector indexing failed for ${e.key}: ${i(r)}`)}return m()&&y.registerPattern(g(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function z(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let n=`${e.namespace||"default"}:${e.key}`,r=await s.memory.get(n);if(r===void 0)return{success:!0,data:{found:!1,key:e.key}};let o={found:!0,key:e.key,value:r,timestamp:new Date().toISOString()};return e.includeMetadata&&(o.metadata={}),{success:!0,data:o}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function v(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function E(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=e.limit||100,r=e.offset||0;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&v(e.pattern))&&e.pattern)try{let l=await w(e.pattern),u=await s.memory.vectorSearch(l,n+r),M=t!=="default"?u.filter(d=>d.key.startsWith(`${t}:`)):u;return{success:!0,data:{entries:M.slice(r,r+n).map(d=>{let k=d.key.split(":");return{key:k.length>1?k.slice(1).join(":"):d.key,namespace:k.length>1?k[0]:t,score:d.score}}),total:M.length,hasMore:r+n<M.length,searchType:"semantic"}}}catch(l){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(l)}`)}let f=e.pattern?`${t}:${e.pattern}`:`${t}:*`,h=await s.memory.search(f,n+r);return{success:!0,data:{entries:h.slice(r,r+n).map(l=>{let u=l.split(":");return{key:u.slice(1).join(":"),namespace:u[0]}}),total:h.length,hasMore:r+n<h.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function K(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;return{success:!0,data:{deleted:await s.memory.delete(n),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function W(){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:e}=a();try{let s=await e.memory.search("*",1e4),t=0,n=1;try{let r=e.memory;r.getVectorStats&&(t=(await r.getVectorStats())?.vectorCount??0);let o=new Set(s.map(f=>f.split(":")[0]).filter(Boolean));n=Math.max(1,o.size)}catch{}return{success:!0,data:{entries:s.length,vectors:t,namespaces:n,size:{current:s.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(s){return{success:!1,error:`Failed to get memory usage: ${i(s)}`}}}async function _(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=`shared:${e.knowledgeDomain}:${Date.now()}`,n={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(m()){let r=g(t,n,e.knowledgeDomain,{agentId:e.sourceAgentId}),o=await y.evaluateWrite(r);if(!o.allowed&&(R()&&b.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${o.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:o.reason}}),$()))return{success:!1,error:`Knowledge sharing blocked by governance: ${o.reason}`}}return await s.memory.set(t,n,{namespace:"agent-knowledge"}),m()&&y.registerPattern(g(t,n,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,E as handleMemoryQuery,z as handleMemoryRetrieve,_ as handleMemoryShare,T as handleMemoryStore,W as handleMemoryUsage};
@@ -1,3 +1,3 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.1");process.exit(0)}
2
- import{a as v}from"./chunk-IJKYJGJL.js";import{a as c,c as S}from"./chunk-UN4PA4M2.js";import"./chunk-UZZCWWIG.js";S();import{existsSync as n,mkdirSync as g,readdirSync as h,writeFileSync as I,copyFileSync as f}from"fs";import{join as o}from"path";var m=class{projectRoot;options;sourceDir;constructor(e){this.projectRoot=e.projectRoot,this.options={installAgents:!0,installSkills:!0,installTools:!0,overwrite:!1,...e},this.sourceDir=this.findSourceDir()}findSourceDir(){let e=o(this.projectRoot,".opencode"),s=v(import.meta.url),r=[];s&&r.push(o(s,".opencode")),r.push(o(this.projectRoot,"node_modules/agentic-qe/.opencode"));for(let t of r)if(t!==e&&this.isValidSourceDir(t))return t;return r[0]??o(this.projectRoot,"node_modules/agentic-qe/.opencode")}isValidSourceDir(e){return n(e)?n(o(e,"agents"))||n(o(e,"skills")):!1}async install(){let e=o(this.projectRoot,".opencode"),s={success:!0,agentsInstalled:[],skillsInstalled:[],toolsInstalled:[],permissionsInstalled:!1,errors:[],targetDir:e};try{if(!n(this.sourceDir))return s.errors.push(`Source .opencode directory not found: ${this.sourceDir}`),s.success=!1,s;if(this.options.installAgents){let t=this.installAgents(e);s.agentsInstalled=t.installed,s.errors.push(...t.errors)}if(this.options.installSkills){let t=this.installSkills(e);s.skillsInstalled=t.installed,s.errors.push(...t.errors)}if(this.options.installTools){let t=this.installTools(e);s.toolsInstalled=t.installed,s.errors.push(...t.errors)}let r=this.installPermissions(e);s.permissionsInstalled=r.installed,s.errors.push(...r.errors),this.generateOpenCodeConfig()}catch(r){s.success=!1,s.errors.push(`Installation failed: ${c(r)}`)}return s}installAgents(e){let s=[],r=[],t=o(this.sourceDir,"agents"),l=o(e,"agents");if(!n(t))return r.push(`Source agents directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".yaml"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".yaml",""))}catch(d){r.push(`Failed to install agent ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installSkills(e){let s=[],r=[],t=o(this.sourceDir,"skills"),l=o(e,"skills");if(!n(t))return r.push(`Source skills directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".yaml"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".yaml",""))}catch(d){r.push(`Failed to install skill ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installTools(e){let s=[],r=[],t=o(this.sourceDir,"tools"),l=o(e,"tools");if(!n(t))return r.push(`Source tools directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".ts"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".ts",""))}catch(d){r.push(`Failed to install tool ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installPermissions(e){let s=[],r=o(this.sourceDir,"permissions.yaml"),t=o(e,"permissions.yaml");if(!n(r))return{installed:!1,errors:[]};if(n(t)&&!this.options.overwrite)return{installed:!1,errors:[]};try{return n(e)||g(e,{recursive:!0}),f(r,t),{installed:!0,errors:[]}}catch(l){return s.push(`Failed to install permissions.yaml: ${c(l)}`),{installed:!1,errors:s}}}generateOpenCodeConfig(){let e=o(this.projectRoot,"opencode.json");if(n(e))return;I(e,JSON.stringify({mcp:{"agentic-qe":{type:"local",command:["npx","agentic-qe","mcp"],environment:{AQE_MEMORY_PATH:".agentic-qe/memory.db",AQE_V3_MODE:"true"}}}},null,2)+`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import{a as v}from"./chunk-CCYMJKWX.js";import{a as c,c as S}from"./chunk-SDTVHR63.js";import"./chunk-YXCU4CJX.js";S();import{existsSync as n,mkdirSync as g,readdirSync as h,writeFileSync as I,copyFileSync as f}from"fs";import{join as o}from"path";var m=class{projectRoot;options;sourceDir;constructor(e){this.projectRoot=e.projectRoot,this.options={installAgents:!0,installSkills:!0,installTools:!0,overwrite:!1,...e},this.sourceDir=this.findSourceDir()}findSourceDir(){let e=o(this.projectRoot,".opencode"),s=v(import.meta.url),r=[];s&&r.push(o(s,".opencode")),r.push(o(this.projectRoot,"node_modules/agentic-qe/.opencode"));for(let t of r)if(t!==e&&this.isValidSourceDir(t))return t;return r[0]??o(this.projectRoot,"node_modules/agentic-qe/.opencode")}isValidSourceDir(e){return n(e)?n(o(e,"agents"))||n(o(e,"skills")):!1}async install(){let e=o(this.projectRoot,".opencode"),s={success:!0,agentsInstalled:[],skillsInstalled:[],toolsInstalled:[],permissionsInstalled:!1,errors:[],targetDir:e};try{if(!n(this.sourceDir))return s.errors.push(`Source .opencode directory not found: ${this.sourceDir}`),s.success=!1,s;if(this.options.installAgents){let t=this.installAgents(e);s.agentsInstalled=t.installed,s.errors.push(...t.errors)}if(this.options.installSkills){let t=this.installSkills(e);s.skillsInstalled=t.installed,s.errors.push(...t.errors)}if(this.options.installTools){let t=this.installTools(e);s.toolsInstalled=t.installed,s.errors.push(...t.errors)}let r=this.installPermissions(e);s.permissionsInstalled=r.installed,s.errors.push(...r.errors),this.generateOpenCodeConfig()}catch(r){s.success=!1,s.errors.push(`Installation failed: ${c(r)}`)}return s}installAgents(e){let s=[],r=[],t=o(this.sourceDir,"agents"),l=o(e,"agents");if(!n(t))return r.push(`Source agents directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".yaml"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".yaml",""))}catch(d){r.push(`Failed to install agent ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installSkills(e){let s=[],r=[],t=o(this.sourceDir,"skills"),l=o(e,"skills");if(!n(t))return r.push(`Source skills directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".yaml"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".yaml",""))}catch(d){r.push(`Failed to install skill ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installTools(e){let s=[],r=[],t=o(this.sourceDir,"tools"),l=o(e,"tools");if(!n(t))return r.push(`Source tools directory not found: ${t}`),{installed:s,errors:r};n(l)||g(l,{recursive:!0});let u=h(t).filter(i=>i.endsWith(".ts"));for(let i of u){let p=o(t,i),a=o(l,i);if(!(n(a)&&!this.options.overwrite))try{f(p,a),s.push(i.replace(".ts",""))}catch(d){r.push(`Failed to install tool ${i}: ${c(d)}`)}}return{installed:s,errors:r}}installPermissions(e){let s=[],r=o(this.sourceDir,"permissions.yaml"),t=o(e,"permissions.yaml");if(!n(r))return{installed:!1,errors:[]};if(n(t)&&!this.options.overwrite)return{installed:!1,errors:[]};try{return n(e)||g(e,{recursive:!0}),f(r,t),{installed:!0,errors:[]}}catch(l){return s.push(`Failed to install permissions.yaml: ${c(l)}`),{installed:!1,errors:s}}}generateOpenCodeConfig(){let e=o(this.projectRoot,"opencode.json");if(n(e))return;I(e,JSON.stringify({mcp:{"agentic-qe":{type:"local",command:["npx","agentic-qe","mcp"],environment:{AQE_MEMORY_PATH:".agentic-qe/memory.db",AQE_V3_MODE:"true"}}}},null,2)+`
3
3
  `)}};function C(y){return new m(y)}export{m as OpenCodeInstaller,C as createOpenCodeInstaller};
@@ -1,11 +1,11 @@
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.9.1");process.exit(0)}
2
- import{c as Re}from"./chunk-O6QQ4HLS.js";import{a as te,b as de,c as ve,d as ke,e as we,f as be,g as Ce,h as Pe,i as Ie,j as Se,k as Ee}from"./chunk-DMGLX76J.js";import"./chunk-IQPXANCE.js";import{a as ye}from"./chunk-TOLYWONQ.js";import"./chunk-IJKYJGJL.js";import"./chunk-ZSRQHJEW.js";import"./chunk-43M6Y6VF.js";import"./chunk-24E47G3D.js";import"./chunk-AFPMCMVX.js";import"./chunk-U5JQGRHZ.js";import"./chunk-A57BEPL7.js";import{b as _,d as ee}from"./chunk-JSOBRKMA.js";import{a as x,b as he,c as le}from"./chunk-UN4PA4M2.js";import"./chunk-QMFP5OKH.js";import{a as $,b as ce}from"./chunk-GFNUESMU.js";import"./chunk-OFNIQCGX.js";import"./chunk-ZEUVPLGX.js";import"./chunk-XUFHYPZK.js";import"./chunk-SGRN6JFB.js";import"./chunk-NG3BKE7V.js";import"./chunk-4XREPCBZ.js";import"./chunk-35H73OPP.js";import"./chunk-MZ54VM6A.js";import{a as ae}from"./chunk-UZZCWWIG.js";le();le();var g=class{requiresPhases;requiresEnhancements;async shouldRun(e){return!0}async execute(e){let t=Date.now();try{return{success:!0,data:await this.run(e),durationMs:Date.now()-t,message:`${this.description} completed`}}catch(n){return{success:!1,error:he(n),durationMs:Date.now()-t,message:`${this.description} failed: ${x(n)}`}}}checkDependencies(e){if(!this.requiresPhases?.length)return!0;for(let t of this.requiresPhases)if(!e.results.get(t)?.success)return e.services.warn(`Phase ${this.name} requires ${t} which has not completed`),!1;return!0}checkEnhancements(e){if(!this.requiresEnhancements?.length)return!0;for(let t of this.requiresEnhancements)if(!(t==="claudeFlow"?e.enhancements.claudeFlow:t==="ruvector"?e.enhancements.ruvector:!1))return e.services.warn(`Phase ${this.name} requires ${t} which is not available`),!1;return!0}};ee();ce();import{existsSync as M}from"fs";import{join as T}from"path";var Q=class extends g{name="detection";description="Detect existing installations";order=10;critical=!0;async run(e){let{projectRoot:t}=e,n=await this.detectV2Installation(t),s=M(T(t,".agentic-qe","config.yaml")),o=n.version?.startsWith("3."),r=n.detected,i=s||o||!1,l=!r&&!i;return e.v2Detection=n,{v2Detected:r,v3Detected:i,freshInstall:l,v2Detection:n}}async detectV2Installation(e){let t=T(e,".agentic-qe","memory.db"),n=T(e,".agentic-qe","config"),s=T(e,".claude","agents"),o=T(e,".agentic-qe","config","learning.json"),r=M(t),i=M(n),l=M(s),c=M(o),u=M(T(e,".agentic-qe","config.yaml")),m,d=!1;return r&&(m=this.readVersionFromDb(t),m?d=m.startsWith("3."):m="2.x.x"),{detected:!d&&r&&(!m?.startsWith("3.")||c&&!u),memoryDbPath:r?t:void 0,configPath:i?n:void 0,agentsPath:l?s:void 0,hasMemoryDb:r,hasConfig:i,hasAgents:l,version:m}}readVersionFromDb(e){try{let t=$(e,{readonly:!0,fileMustExist:!0});try{if(!t.prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import{a as ke}from"./chunk-GPLERTZU.js";import{c as Re}from"./chunk-WXWY2GAF.js";import{a as te,b as de,c as ye,d as ve,e as we,f as be,g as Ce,h as Pe,i as Ie,j as Se,k as Ee}from"./chunk-MY4LMIG7.js";import"./chunk-PFNFC43Q.js";import"./chunk-CCYMJKWX.js";import"./chunk-NRCKGXJJ.js";import"./chunk-3GZKAORV.js";import"./chunk-GK72GUHA.js";import"./chunk-SNVM4YJS.js";import"./chunk-XIBVVZGB.js";import"./chunk-JOVINE23.js";import{b as _,d as ee}from"./chunk-N3F3CX4V.js";import{a as x,b as he,c as le}from"./chunk-SDTVHR63.js";import"./chunk-VUAO4VFC.js";import{a as $,b as ce}from"./chunk-XYJL6DKI.js";import"./chunk-L5YEPSDU.js";import"./chunk-KNVAAVHH.js";import"./chunk-34U7JDCN.js";import"./chunk-MN742FIH.js";import"./chunk-4DAOZQ3V.js";import"./chunk-LCAA6H4J.js";import"./chunk-727BDQ3K.js";import"./chunk-DBE34QES.js";import{a as ae}from"./chunk-YXCU4CJX.js";le();le();var g=class{requiresPhases;requiresEnhancements;async shouldRun(e){return!0}async execute(e){let t=Date.now();try{return{success:!0,data:await this.run(e),durationMs:Date.now()-t,message:`${this.description} completed`}}catch(n){return{success:!1,error:he(n),durationMs:Date.now()-t,message:`${this.description} failed: ${x(n)}`}}}checkDependencies(e){if(!this.requiresPhases?.length)return!0;for(let t of this.requiresPhases)if(!e.results.get(t)?.success)return e.services.warn(`Phase ${this.name} requires ${t} which has not completed`),!1;return!0}checkEnhancements(e){if(!this.requiresEnhancements?.length)return!0;for(let t of this.requiresEnhancements)if(!(t==="claudeFlow"?e.enhancements.claudeFlow:t==="ruvector"?e.enhancements.ruvector:!1))return e.services.warn(`Phase ${this.name} requires ${t} which is not available`),!1;return!0}};ee();ce();import{existsSync as M}from"fs";import{join as T}from"path";var Q=class extends g{name="detection";description="Detect existing installations";order=10;critical=!0;async run(e){let{projectRoot:t}=e,n=await this.detectV2Installation(t),s=M(T(t,".agentic-qe","config.yaml")),o=n.version?.startsWith("3."),r=n.detected,i=s||o||!1,l=!r&&!i;return e.v2Detection=n,{v2Detected:r,v3Detected:i,freshInstall:l,v2Detection:n}}async detectV2Installation(e){let t=T(e,".agentic-qe","memory.db"),n=T(e,".agentic-qe","config"),s=T(e,".claude","agents"),o=T(e,".agentic-qe","config","learning.json"),r=M(t),i=M(n),l=M(s),c=M(o),u=M(T(e,".agentic-qe","config.yaml")),m,d=!1;return r&&(m=this.readVersionFromDb(t),m?d=m.startsWith("3."):m="2.x.x"),{detected:!d&&r&&(!m?.startsWith("3.")||c&&!u),memoryDbPath:r?t:void 0,configPath:i?n:void 0,agentsPath:l?s:void 0,hasMemoryDb:r,hasConfig:i,hasAgents:l,version:m}}readVersionFromDb(e){try{let t=$(e,{readonly:!0,fileMustExist:!0});try{if(!t.prepare(`
3
3
  SELECT name FROM sqlite_master
4
4
  WHERE type='table' AND name='kv_store'
5
5
  `).get()){t.close();return}let s=t.prepare(`
6
6
  SELECT value FROM kv_store
7
7
  WHERE key = 'aqe_version' AND namespace = '_system'
8
- `).get();return t.close(),s?_(s.value):void 0}catch{t.close();return}}catch{return}}};var L=class extends g{name="analysis";description="Analyze project structure";order=20;critical=!0;requiresPhases=["detection"];async run(e){let n=await ve(e.projectRoot).analyze();return e.analysis=n,e.services.log(` Project: ${n.projectName}`),e.services.log(` Languages: ${n.languages.map(s=>s.name).join(", ")}`),e.services.log(` Frameworks: ${n.frameworks.map(s=>s.name).join(", ")}`),n}};var V=class extends g{name="configuration";description="Generate configuration";order=30;critical=!0;requiresPhases=["analysis"];async run(e){if(!e.analysis)throw new Error("Analysis phase must complete before configuration");let n=ke({minimal:e.options.minimal}).recommend(e.analysis);return n=this.applyOptions(n,e),e.config=n,e.services.log(` Version: ${n.version}`),e.services.log(` Learning: ${n.learning.enabled?"enabled":"disabled"}`),e.services.log(` Workers: ${n.workers.enabled.length}`),n}applyOptions(e,t){let{options:n}=t;return n.minimal&&(e.skills.install=!1,e.learning.pretrainedPatterns=!1,e.workers.enabled=[],e.workers.daemonAutoStart=!1),n.skipPatterns&&(e.learning.pretrainedPatterns=!1),n.wizardAnswers&&(e=this.applyWizardAnswers(e,n.wizardAnswers)),e}applyWizardAnswers(e,t){switch(t["project-type"]&&t["project-type"]!=="auto"&&(e.project.type=t["project-type"]),t["learning-mode"]){case"full":e.learning.enabled=!0,e.learning.embeddingModel="transformer";break;case"basic":e.learning.enabled=!0,e.learning.embeddingModel="hash";break;case"disabled":e.learning.enabled=!1;break}return t["load-patterns"]===!1&&(e.learning.pretrainedPatterns=!1),t.hooks===!1&&(e.hooks.claudeCode=!1),t.workers===!1&&(e.workers.daemonAutoStart=!1),t.skills===!1&&(e.skills.install=!1),e}};import{existsSync as ne,mkdirSync as ue}from"fs";import{join as se}from"path";var W=class extends g{name="database";description="Initialize persistence database";order=40;critical=!0;requiresPhases=["configuration"];async run(e){let{projectRoot:t}=e,n=se(t,".agentic-qe");ne(n)||ue(n,{recursive:!0});let s=se(n,"workers");ne(s)||ue(s,{recursive:!0});let o=se(n,"data");ne(o)||ue(o,{recursive:!0});let r=se(n,"memory.db"),i=!ne(r);try{let{initializeUnifiedMemory:l,resetUnifiedMemory:c}=await import("./unified-memory-YPHONR2T.js"),u=await l({dbPath:r,walMode:!0,busyTimeout:5e3}),d=u.getStats().tables.map(y=>y.name);await u.kvSet("_init_marker",{initialized:new Date().toISOString(),projectRoot:t,version:te()},"_system");let k=u.getDatabase().prepare("SELECT version FROM schema_version WHERE id = 1").get()?.version??0;return c(),e.services.log(` Database: ${r}`),e.services.log(` Schema version: v${k}`),e.services.log(` Tables: ${d.length} (v3 full schema)`),{dbPath:r,created:i,tablesCreated:d,schemaVersion:k}}catch(l){throw new Error(`SQLite persistence initialization FAILED: ${l}
8
+ `).get();return t.close(),s?_(s.value):void 0}catch{t.close();return}}catch{return}}};var L=class extends g{name="analysis";description="Analyze project structure";order=20;critical=!0;requiresPhases=["detection"];async run(e){let n=await ye(e.projectRoot).analyze();return e.analysis=n,e.services.log(` Project: ${n.projectName}`),e.services.log(` Languages: ${n.languages.map(s=>s.name).join(", ")}`),e.services.log(` Frameworks: ${n.frameworks.map(s=>s.name).join(", ")}`),n}};var V=class extends g{name="configuration";description="Generate configuration";order=30;critical=!0;requiresPhases=["analysis"];async run(e){if(!e.analysis)throw new Error("Analysis phase must complete before configuration");let n=ve({minimal:e.options.minimal}).recommend(e.analysis);return n=this.applyOptions(n,e),e.config=n,e.services.log(` Version: ${n.version}`),e.services.log(` Learning: ${n.learning.enabled?"enabled":"disabled"}`),e.services.log(` Workers: ${n.workers.enabled.length}`),n}applyOptions(e,t){let{options:n}=t;return n.minimal&&(e.skills.install=!1,e.learning.pretrainedPatterns=!1,e.workers.enabled=[],e.workers.daemonAutoStart=!1),n.skipPatterns&&(e.learning.pretrainedPatterns=!1),n.wizardAnswers&&(e=this.applyWizardAnswers(e,n.wizardAnswers)),e}applyWizardAnswers(e,t){switch(t["project-type"]&&t["project-type"]!=="auto"&&(e.project.type=t["project-type"]),t["learning-mode"]){case"full":e.learning.enabled=!0,e.learning.embeddingModel="transformer";break;case"basic":e.learning.enabled=!0,e.learning.embeddingModel="hash";break;case"disabled":e.learning.enabled=!1;break}return t["load-patterns"]===!1&&(e.learning.pretrainedPatterns=!1),t.hooks===!1&&(e.hooks.claudeCode=!1),t.workers===!1&&(e.workers.daemonAutoStart=!1),t.skills===!1&&(e.skills.install=!1),e}};import{existsSync as ne,mkdirSync as ue}from"fs";import{join as se}from"path";var W=class extends g{name="database";description="Initialize persistence database";order=40;critical=!0;requiresPhases=["configuration"];async run(e){let{projectRoot:t}=e,n=se(t,".agentic-qe");ne(n)||ue(n,{recursive:!0});let s=se(n,"workers");ne(s)||ue(s,{recursive:!0});let o=se(n,"data");ne(o)||ue(o,{recursive:!0});let r=se(n,"memory.db"),i=!ne(r);try{let{initializeUnifiedMemory:l,resetUnifiedMemory:c}=await import("./unified-memory-72SKVZ7Y.js"),u=await l({dbPath:r,walMode:!0,busyTimeout:5e3}),d=u.getStats().tables.map(y=>y.name);await u.kvSet("_init_marker",{initialized:new Date().toISOString(),projectRoot:t,version:te()},"_system");let k=u.getDatabase().prepare("SELECT version FROM schema_version WHERE id = 1").get()?.version??0;return c(),e.services.log(` Database: ${r}`),e.services.log(` Schema version: v${k}`),e.services.log(` Tables: ${d.length} (v3 full schema)`),{dbPath:r,created:i,tablesCreated:d,schemaVersion:k}}catch(l){throw new Error(`SQLite persistence initialization FAILED: ${l}
9
9
  Database path: ${r}
10
10
  Ensure the directory is writable and has sufficient disk space.`)}}};import{existsSync as re,mkdirSync as pe,writeFileSync as Ae}from"fs";import{join as q}from"path";var H=class extends g{name="learning";description="Initialize learning system";order=50;critical=!1;requiresPhases=["database","configuration"];async shouldRun(e){return e.config?.learning?.enabled??!0}async run(e){let t=e.config,{projectRoot:n,options:s}=e;if(!t.learning.enabled)return{enabled:!1,dataDir:"",hnswDir:"",patternsLoaded:0};let o=q(n,".agentic-qe","data");re(o)||pe(o,{recursive:!0});let r=q(o,"hnsw");re(r)||pe(r,{recursive:!0});let i=q(o,"learning-config.json"),l={embeddingModel:t.learning.embeddingModel,hnswConfig:t.learning.hnswConfig,qualityThreshold:t.learning.qualityThreshold,promotionThreshold:t.learning.promotionThreshold,databasePath:q(o,"memory.db"),hnswIndexPath:q(r,"index.bin"),initialized:new Date().toISOString()};Ae(i,JSON.stringify(l,null,2),"utf-8");let c=0;return t.learning.pretrainedPatterns&&!s.skipPatterns&&(c=await this.loadPretrainedPatterns(o,e)),e.services.log(` Data dir: ${o}`),e.services.log(` HNSW dir: ${r}`),e.services.log(` Patterns loaded: ${c}`),{enabled:!0,dataDir:o,hnswDir:r,patternsLoaded:c}}async loadPretrainedPatterns(e,t){try{let n=q(e,"patterns");re(n)||pe(n,{recursive:!0});let s=q(n,"index.json");return re(s)||Ae(s,JSON.stringify({version:te(),domains:[],loadedAt:new Date().toISOString()},null,2),"utf-8"),0}catch(n){return t.services.warn(`Could not load pre-trained patterns: ${n}`),0}}};ee();ce();import{existsSync as Ne,statSync as Qe}from"fs";import{join as oe}from"path";var xe=["**/node_modules/**","**/dist/**","**/build/**","**/out/**","**/coverage/**","**/.agentic-qe/**","**/.git/**","**/.next/**","**/.nuxt/**","**/.output/**","**/__pycache__/**","**/.pytest_cache/**","**/target/**","**/vendor/**","**/.venv/**","**/venv/**","**/.tox/**","**/*.min.js","**/*.min.css","**/*.bundle.js","**/*.map","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/Pipfile.lock","**/poetry.lock","**/.env","**/.env.*"],G=class extends g{name="code-intelligence";description="Code intelligence pre-scan";order=60;critical=!1;requiresPhases=["database"];async run(e){let{projectRoot:t}=e,n=oe(t,".agentic-qe","memory.db");if(!Ne(n))return e.services.log(" Building knowledge graph..."),await this.runCodeIntelligenceScan(t,e,!1);let s=$(n);try{if(!this.checkCodeIntelligenceIndex(s))return s.close(),e.services.log(" Building knowledge graph..."),await this.runCodeIntelligenceScan(t,e,!1);let r=this.getLastIndexedAt(s);if(!r){let c=this.getKGEntryCount(s);return s.close(),e.services.log(` Using existing index (${c} entries)`),{status:"existing",entries:c}}let i=this.getKGEntryCount(s);s.close();let l=await this.findChangedFiles(t,r);return l.length===0?(e.services.log(` Index up to date (${i} entries)`),{status:"existing",entries:i}):(e.services.log(` Delta scan: ${l.length} files changed since last index...`),await this.runCodeIntelligenceScan(t,e,!0,l))}catch(o){try{s.close()}catch{}throw o}}checkCodeIntelligenceIndex(e){try{return e.prepare(`
11
11
  SELECT COUNT(*) as count FROM kv_store
@@ -13,7 +13,7 @@ Ensure the directory is writable and has sufficient disk space.`)}}};import{exis
13
13
  `).get().count>0}catch{return!1}}getKGEntryCount(e){try{return e.prepare(`
14
14
  SELECT COUNT(*) as count FROM kv_store
15
15
  WHERE namespace LIKE 'code-intelligence:kg%'
16
- `).get().count}catch{return 0}}async runCodeIntelligenceScan(e,t,n,s){try{let{KnowledgeGraphService:o}=await import("./knowledge-graph-XV7FPU2T.js"),r=oe(e,".agentic-qe","memory.db"),i={type:"sqlite",sqlite:{path:r,walMode:!0}},{backend:l}=await ye(i,!0),c=new o(l,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0}),u;s?u=s:u=(await(await import("fast-glob")).default(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:e,ignore:xe})).map(h=>oe(e,h));let m=await c.index({paths:u,incremental:n,includeTests:!0});if(c.destroy(),await l.dispose(),m.success){let d=m.value.nodesCreated+m.value.edgesCreated,w=n?"Delta indexed":"Indexed";return t.services.log(` ${w} ${d} entries to ${r}`),await this.buildHypergraph(r,u,t),{status:"indexed",entries:d}}return{status:"error",entries:0}}catch(o){return t.services.warn(`Code intelligence scan warning: ${o}`),{status:"skipped",entries:0}}}async buildHypergraph(e,t,n){try{let{extractCodeIndex:s}=await import("./code-index-extractor-MKJTP5AK.js"),{createHypergraphEngine:o}=await import("./hypergraph-engine-XMSLA4XH.js"),r=$(e),i=await o({db:r,maxTraversalDepth:10,maxQueryResults:1e3,enableVectorSearch:!1}),l=await s(t),c=await i.buildFromIndexResult(l);r.close(),c.nodesCreated+c.edgesCreated>0&&n.services.log(` Hypergraph: ${c.nodesCreated} nodes, ${c.edgesCreated} edges`)}catch(s){n.services.warn?.(` Hypergraph build skipped: ${s}`)}}getLastIndexedAt(e){try{let t=e.prepare(`
16
+ `).get().count}catch{return 0}}async runCodeIntelligenceScan(e,t,n,s){try{let{KnowledgeGraphService:o}=await import("./knowledge-graph-JL62G72U.js"),r=oe(e,".agentic-qe","memory.db"),i={type:"sqlite",sqlite:{path:r,walMode:!0}},{backend:l}=await ke(i,!0),c=new o(l,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0}),u;s?u=s:u=(await(await import("fast-glob")).default(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:e,ignore:xe})).map(h=>oe(e,h));let m=await c.index({paths:u,incremental:n,includeTests:!0});if(c.destroy(),await l.dispose(),m.success){let d=m.value.nodesCreated+m.value.edgesCreated,w=n?"Delta indexed":"Indexed";return t.services.log(` ${w} ${d} entries to ${r}`),await this.buildHypergraph(r,u,t),{status:"indexed",entries:d}}return{status:"error",entries:0}}catch(o){return t.services.warn(`Code intelligence scan warning: ${o}`),{status:"skipped",entries:0}}}async buildHypergraph(e,t,n){try{let{extractCodeIndex:s}=await import("./code-index-extractor-YQL5XN52.js"),{createHypergraphEngine:o}=await import("./hypergraph-engine-MLCDZ6BL.js"),r=$(e),i=await o({db:r,maxTraversalDepth:10,maxQueryResults:1e3,enableVectorSearch:!1}),l=await s(t),c=await i.buildFromIndexResult(l);r.close(),c.nodesCreated+c.edgesCreated>0&&n.services.log(` Hypergraph: ${c.nodesCreated} nodes, ${c.edgesCreated} edges`)}catch(s){n.services.warn?.(` Hypergraph build skipped: ${s}`)}}getLastIndexedAt(e){try{let t=e.prepare(`
17
17
  SELECT value FROM kv_store
18
18
  WHERE namespace = 'code-intelligence:kg'
19
19
  AND key = 'metadata:index'
@@ -104,7 +104,7 @@ function verifyBrain() {
104
104
  const cmd = process.argv[2] || 'verify';
105
105
  const result = cmd === 'export' ? exportBrain() : verifyBrain();
106
106
  if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result));
107
- `}generateHooksConfig(e,t){return{PreToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks guard --file "$TOOL_INPUT_file_path" --json',timeout:3e3,continueOnError:!0}]},{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-edit --file "$TOOL_INPUT_file_path" --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-command --command "$TOOL_INPUT_command" --json',timeout:3e3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-task --description "$TOOL_INPUT_prompt" --json',timeout:5e3,continueOnError:!0}]}],PostToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks post-edit --file "$TOOL_INPUT_file_path" --success --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'npx agentic-qe hooks post-command --command "$TOOL_INPUT_command" --success --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'npx agentic-qe hooks post-task --task-id "$TOOL_RESULT_agent_id" --success --json',timeout:5e3,continueOnError:!0}]}],UserPromptSubmit:[{hooks:[{type:"command",command:'npx agentic-qe hooks route --task "$PROMPT" --json',timeout:5e3,continueOnError:!0}]}],SessionStart:[{hooks:[{type:"command",command:'npx agentic-qe hooks session-start --session-id "$SESSION_ID" --json',timeout:1e4,continueOnError:!0}]},{hooks:[{type:"command",command:`sh -c 'exec node "\${CLAUDE_PROJECT_DIR:-.}/.claude/helpers/brain-checkpoint.cjs" verify --json'`,timeout:5e3,continueOnError:!0}]}],Stop:[{hooks:[{type:"command",command:"npx agentic-qe hooks session-end --save-state --json",timeout:5e3,continueOnError:!0}]},{hooks:[{type:"command",command:`sh -c 'exec node "\${CLAUDE_PROJECT_DIR:-.}/.claude/helpers/brain-checkpoint.cjs" export --json'`,timeout:6e4,continueOnError:!0}]}]}}};ee();import{existsSync as Le,readFileSync as Ve,writeFileSync as We}from"fs";import{join as He}from"path";var U=class extends g{name="mcp";description="Configure MCP server";order=80;critical=!1;requiresPhases=["configuration","database"];async run(e){let{projectRoot:t}=e;if(e.options.noMcp)return e.services.log(" MCP: skipped (--no-mcp)"),e.services.log(" CLI commands available: aqe memory, aqe test, aqe coverage, etc."),{configured:!1,mcpPath:"",serverName:""};let n={command:"aqe-mcp",args:[],env:{AQE_LEARNING_ENABLED:"true",AQE_WORKERS_ENABLED:"true",NODE_ENV:"production"}},s=He(t,".mcp.json"),o={};if(Le(s))try{let i=Ve(s,"utf-8");o=_(i)}catch{o={}}o.mcpServers||(o.mcpServers={});let r=o.mcpServers;return r["agentic-qe"]=n,We(s,JSON.stringify(o,null,2),"utf-8"),e.services.log(` MCP config: ${s}`),e.services.log(" Server: agentic-qe"),e.services.log(" Learning: enabled"),e.services.log(" Workers: enabled"),{configured:!0,mcpPath:s,serverName:"agentic-qe"}}};import{existsSync as E,readFileSync as Ge}from"fs";import{join as R}from"path";var z=class extends g{name="assets";description="Install skills and agents";order=90;critical=!1;requiresPhases=["configuration"];async run(e){let t=e.config,{projectRoot:n,options:s}=e,o=this.detectVersionUpgrade(e),r=s.upgrade||t.skills.overwrite||s.autoMode&&o,i=0,l=0,c=0,u=0,m=0,d=0,w=0,h=0,k=0;if(s.upgrade?e.services.log(" Upgrade mode: overwriting existing files"):s.autoMode&&o&&e.services.log(" Version upgrade detected: updating skills and agents"),t.skills.install){let v=await Ie({projectRoot:n,installV2Skills:t.skills.installV2,installV3Skills:t.skills.installV3,overwrite:r}).install();i=v.installed.length,v.errors.length>0&&e.services.warn(`Skills warnings: ${v.errors.join(", ")}`)}try{let v=await Se({projectRoot:n,installQEAgents:!0,installSubagents:!0,overwrite:r}).install();l=v.installed.length,v.errors.length>0&&e.services.warn(`Agents warnings: ${v.errors.join(", ")}`)}catch(f){e.services.warn(`Agents install error: ${f instanceof Error?f.message:f}`)}if(Re(n),s.withN8n){let v=await Ee({projectRoot:n,installAgents:!0,installSkills:!0,overwrite:r,n8nApiConfig:s.n8nApiConfig}).install();c=v.agentsInstalled.length,u=v.skillsInstalled.length,v.errors.length>0&&e.services.warn(`N8n warnings: ${v.errors.join(", ")}`)}let y=s.autoMode&&E(R(n,"opencode.json"));if(s.withOpenCode||y){let{createOpenCodeInstaller:f}=await import("./opencode-installer-FR75GHFU.js"),a=await f({projectRoot:n,installAgents:!0,installSkills:!0,installTools:!0,overwrite:r}).install();m=a.agentsInstalled.length,d=a.skillsInstalled.length,a.errors.length>0&&e.services.warn(`OpenCode warnings: ${a.errors.join(", ")}`)}e.services.log(` Skills: ${i}`),e.services.log(` Agents: ${l}`),s.withN8n&&(e.services.log(` N8n agents: ${c}`),e.services.log(` N8n skills: ${u}`)),(s.withOpenCode||y)&&(e.services.log(` OpenCode agents: ${m}`),e.services.log(` OpenCode skills: ${d}`));let A=s.autoMode&&E(R(n,".kiro"));if(s.withKiro||A){let{createKiroInstaller:f}=await import("./kiro-installer-U6XIPAT3.js"),a=await f({projectRoot:n,installAgents:!0,installSkills:!0,installHooks:!0,installSteering:!0,overwrite:r}).install();w=a.agentsInstalled.length,h=a.skillsInstalled.length,k=a.hooksInstalled.length,a.errors.length>0&&e.services.warn(`Kiro warnings: ${a.errors.join(", ")}`),e.services.log(` Kiro agents: ${w}`),e.services.log(` Kiro skills: ${h}`),e.services.log(` Kiro hooks: ${k}`),e.services.log(` Kiro steering: ${a.steeringInstalled.length}`),a.mcpConfigured&&e.services.log(" Kiro MCP: .kiro/settings/mcp.json")}let C=[];if(s.withCopilot||s.autoMode&&E(R(n,".vscode"))){let{createCopilotInstaller:f}=await import("./copilot-installer-IUC5HDHD.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("copilot"),a.errors.length>0&&e.services.warn(`Copilot warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Copilot MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Copilot rules: ${a.rulesPath}`)}if(s.withCursor||s.autoMode&&E(R(n,".cursor"))){let{createCursorInstaller:f}=await import("./cursor-installer-FK53S3ZL.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("cursor"),a.errors.length>0&&e.services.warn(`Cursor warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Cursor MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Cursor rules: ${a.rulesPath}`)}if(s.withCline){let{createClineInstaller:f}=await import("./cline-installer-GTHQOK7U.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("cline"),a.errors.length>0&&e.services.warn(`Cline warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Cline MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Cline mode: ${a.modePath}`)}if(s.withKiloCode||s.autoMode&&E(R(n,".kilocode"))){let{createKiloCodeInstaller:f}=await import("./kilocode-installer-N7NLISYY.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("kilocode"),a.errors.length>0&&e.services.warn(`Kilo Code warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Kilo Code MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Kilo Code mode: ${a.modePath}`)}if(s.withRooCode||s.autoMode&&E(R(n,".roo"))){let{createRooCodeInstaller:f}=await import("./roocode-installer-UF6MMBH6.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("roocode"),a.errors.length>0&&e.services.warn(`Roo Code warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Roo Code MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Roo Code mode: ${a.modePath}`)}if(s.withCodex||s.autoMode&&E(R(n,".codex"))){let{createCodexInstaller:f}=await import("./codex-installer-UGS773DT.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("codex"),a.errors.length>0&&e.services.warn(`Codex warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Codex MCP: ${a.configPath}`),a.agentsMdInstalled&&e.services.log(` Codex AGENTS.md: ${a.agentsMdPath}`)}if(s.withWindsurf||s.autoMode&&E(R(n,".windsurf"))){let{createWindsurfInstaller:f}=await import("./windsurf-installer-ZSPEUBKR.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("windsurf"),a.errors.length>0&&e.services.warn(`Windsurf warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Windsurf MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Windsurf rules: ${a.rulesPath}`)}if(s.withContinueDev||s.autoMode&&E(R(n,".continue"))){let{createContinueDevInstaller:f}=await import("./continuedev-installer-3DYKSIP3.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("continuedev"),a.errors.length>0&&e.services.warn(`Continue.dev warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Continue.dev MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Continue.dev rules: ${a.rulesPath}`)}return C.length>0&&e.services.log(` Platforms configured: ${C.join(", ")}`),{skillsInstalled:i,agentsInstalled:l,n8nAgents:c,n8nSkills:u,openCodeAgents:m,openCodeSkills:d,kiroAgents:w,kiroSkills:h,kiroHooks:k,platformsConfigured:C}}detectVersionUpgrade(e){let t=R(e.projectRoot,".agentic-qe","config.yaml");if(!E(t))return!1;try{let o=Ge(t,"utf-8").match(/version:\s*"?([^"\n]+)"?/)?.[1],r=e.config.version;return o!==void 0&&o!==r}catch{return!1}}};import{existsSync as K,mkdirSync as Be,writeFileSync as F,readFileSync as Ue}from"fs";import{join as S}from"path";import{spawn as ze}from"child_process";var Y=class extends g{name="workers";description="Configure background workers";order=100;critical=!1;requiresPhases=["configuration"];async shouldRun(e){let t=e.config;return t?.workers?.daemonAutoStart&&(t?.workers?.enabled?.length??0)>0}async run(e){let t=e.config,{projectRoot:n}=e;if(!t.workers.daemonAutoStart||t.workers.enabled.length===0)return{workersDir:"",workersConfigured:0,registryPath:"",daemonStarted:!1,daemonPid:null};let s=S(n,".agentic-qe","workers");K(s)||Be(s,{recursive:!0});let o={"learning-consolidation":18e5,"pattern-consolidator":18e5,"test-health":3e5,"coverage-tracker":6e5,"coverage-gap-scanner":6e5,"flaky-detector":9e5,"flaky-test-detector":9e5,"security-scan":18e5,"quality-gate":3e5,"compliance-checker":18e5,"defect-predictor":9e5,"regression-monitor":6e5,"routing-accuracy-monitor":9e5,"performance-baseline":36e5,"cloud-sync":3e5},r={};for(let y of t.workers.enabled)r[y]={name:y,enabled:!0,interval:t.workers.intervals[y]||o[y]||6e4,lastRun:null,status:"pending"};let i=S(s,"registry.json"),l={version:t.version,maxConcurrent:t.workers.maxConcurrent,workers:r,createdAt:new Date().toISOString(),daemonPid:null};F(i,JSON.stringify(l,null,2),"utf-8");for(let y of t.workers.enabled){let A=S(s,`${y}.json`),C={name:y,enabled:!0,interval:t.workers.intervals[y]||o[y]||6e4,projectRoot:n,dataDir:S(n,".agentic-qe","data"),createdAt:new Date().toISOString()};F(A,JSON.stringify(C,null,2),"utf-8")}let c=S(s,"start-daemon.cjs");F(c,`#!/usr/bin/env node
107
+ `}generateHooksConfig(e,t){return{PreToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks guard --file "$TOOL_INPUT_file_path" --json',timeout:3e3,continueOnError:!0}]},{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-edit --file "$TOOL_INPUT_file_path" --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-command --command "$TOOL_INPUT_command" --json',timeout:3e3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'npx agentic-qe hooks pre-task --description "$TOOL_INPUT_prompt" --json',timeout:5e3,continueOnError:!0}]}],PostToolUse:[{matcher:"^(Write|Edit|MultiEdit)$",hooks:[{type:"command",command:'npx agentic-qe hooks post-edit --file "$TOOL_INPUT_file_path" --success --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Bash$",hooks:[{type:"command",command:'npx agentic-qe hooks post-command --command "$TOOL_INPUT_command" --success --json',timeout:5e3,continueOnError:!0}]},{matcher:"^Task$",hooks:[{type:"command",command:'npx agentic-qe hooks post-task --task-id "$TOOL_RESULT_agent_id" --success --json',timeout:5e3,continueOnError:!0}]}],UserPromptSubmit:[{hooks:[{type:"command",command:'npx agentic-qe hooks route --task "$PROMPT" --json',timeout:5e3,continueOnError:!0}]}],SessionStart:[{hooks:[{type:"command",command:'npx agentic-qe hooks session-start --session-id "$SESSION_ID" --json',timeout:1e4,continueOnError:!0}]},{hooks:[{type:"command",command:`sh -c 'exec node "\${CLAUDE_PROJECT_DIR:-.}/.claude/helpers/brain-checkpoint.cjs" verify --json'`,timeout:5e3,continueOnError:!0}]}],Stop:[{hooks:[{type:"command",command:"npx agentic-qe hooks session-end --save-state --json",timeout:5e3,continueOnError:!0}]},{hooks:[{type:"command",command:`sh -c 'exec node "\${CLAUDE_PROJECT_DIR:-.}/.claude/helpers/brain-checkpoint.cjs" export --json'`,timeout:6e4,continueOnError:!0}]}]}}};ee();import{existsSync as Le,readFileSync as Ve,writeFileSync as We}from"fs";import{join as He}from"path";var U=class extends g{name="mcp";description="Configure MCP server";order=80;critical=!1;requiresPhases=["configuration","database"];async run(e){let{projectRoot:t}=e;if(e.options.noMcp)return e.services.log(" MCP: skipped (--no-mcp)"),e.services.log(" CLI commands available: aqe memory, aqe test, aqe coverage, etc."),{configured:!1,mcpPath:"",serverName:""};let n={command:"aqe-mcp",args:[],env:{AQE_LEARNING_ENABLED:"true",AQE_WORKERS_ENABLED:"true",NODE_ENV:"production"}},s=He(t,".mcp.json"),o={};if(Le(s))try{let i=Ve(s,"utf-8");o=_(i)}catch{o={}}o.mcpServers||(o.mcpServers={});let r=o.mcpServers;return r["agentic-qe"]=n,We(s,JSON.stringify(o,null,2),"utf-8"),e.services.log(` MCP config: ${s}`),e.services.log(" Server: agentic-qe"),e.services.log(" Learning: enabled"),e.services.log(" Workers: enabled"),{configured:!0,mcpPath:s,serverName:"agentic-qe"}}};import{existsSync as E,readFileSync as Ge}from"fs";import{join as R}from"path";var z=class extends g{name="assets";description="Install skills and agents";order=90;critical=!1;requiresPhases=["configuration"];async run(e){let t=e.config,{projectRoot:n,options:s}=e,o=this.detectVersionUpgrade(e),r=s.upgrade||t.skills.overwrite||s.autoMode&&o,i=0,l=0,c=0,u=0,m=0,d=0,w=0,h=0,k=0;if(s.upgrade?e.services.log(" Upgrade mode: overwriting existing files"):s.autoMode&&o&&e.services.log(" Version upgrade detected: updating skills and agents"),t.skills.install){let v=await Ie({projectRoot:n,installV2Skills:t.skills.installV2,installV3Skills:t.skills.installV3,overwrite:r}).install();i=v.installed.length,v.errors.length>0&&e.services.warn(`Skills warnings: ${v.errors.join(", ")}`)}try{let v=await Se({projectRoot:n,installQEAgents:!0,installSubagents:!0,overwrite:r}).install();l=v.installed.length,v.errors.length>0&&e.services.warn(`Agents warnings: ${v.errors.join(", ")}`)}catch(f){e.services.warn(`Agents install error: ${f instanceof Error?f.message:f}`)}if(Re(n),s.withN8n){let v=await Ee({projectRoot:n,installAgents:!0,installSkills:!0,overwrite:r,n8nApiConfig:s.n8nApiConfig}).install();c=v.agentsInstalled.length,u=v.skillsInstalled.length,v.errors.length>0&&e.services.warn(`N8n warnings: ${v.errors.join(", ")}`)}let y=s.autoMode&&E(R(n,"opencode.json"));if(s.withOpenCode||y){let{createOpenCodeInstaller:f}=await import("./opencode-installer-EU6JCWBW.js"),a=await f({projectRoot:n,installAgents:!0,installSkills:!0,installTools:!0,overwrite:r}).install();m=a.agentsInstalled.length,d=a.skillsInstalled.length,a.errors.length>0&&e.services.warn(`OpenCode warnings: ${a.errors.join(", ")}`)}e.services.log(` Skills: ${i}`),e.services.log(` Agents: ${l}`),s.withN8n&&(e.services.log(` N8n agents: ${c}`),e.services.log(` N8n skills: ${u}`)),(s.withOpenCode||y)&&(e.services.log(` OpenCode agents: ${m}`),e.services.log(` OpenCode skills: ${d}`));let A=s.autoMode&&E(R(n,".kiro"));if(s.withKiro||A){let{createKiroInstaller:f}=await import("./kiro-installer-5VACG3HU.js"),a=await f({projectRoot:n,installAgents:!0,installSkills:!0,installHooks:!0,installSteering:!0,overwrite:r}).install();w=a.agentsInstalled.length,h=a.skillsInstalled.length,k=a.hooksInstalled.length,a.errors.length>0&&e.services.warn(`Kiro warnings: ${a.errors.join(", ")}`),e.services.log(` Kiro agents: ${w}`),e.services.log(` Kiro skills: ${h}`),e.services.log(` Kiro hooks: ${k}`),e.services.log(` Kiro steering: ${a.steeringInstalled.length}`),a.mcpConfigured&&e.services.log(" Kiro MCP: .kiro/settings/mcp.json")}let C=[];if(s.withCopilot||s.autoMode&&E(R(n,".vscode"))){let{createCopilotInstaller:f}=await import("./copilot-installer-BF3UA3TG.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("copilot"),a.errors.length>0&&e.services.warn(`Copilot warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Copilot MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Copilot rules: ${a.rulesPath}`)}if(s.withCursor||s.autoMode&&E(R(n,".cursor"))){let{createCursorInstaller:f}=await import("./cursor-installer-7CDZFHTV.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("cursor"),a.errors.length>0&&e.services.warn(`Cursor warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Cursor MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Cursor rules: ${a.rulesPath}`)}if(s.withCline){let{createClineInstaller:f}=await import("./cline-installer-ODO2PS4K.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("cline"),a.errors.length>0&&e.services.warn(`Cline warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Cline MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Cline mode: ${a.modePath}`)}if(s.withKiloCode||s.autoMode&&E(R(n,".kilocode"))){let{createKiloCodeInstaller:f}=await import("./kilocode-installer-EPZFFPFE.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("kilocode"),a.errors.length>0&&e.services.warn(`Kilo Code warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Kilo Code MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Kilo Code mode: ${a.modePath}`)}if(s.withRooCode||s.autoMode&&E(R(n,".roo"))){let{createRooCodeInstaller:f}=await import("./roocode-installer-SB7QJYM3.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("roocode"),a.errors.length>0&&e.services.warn(`Roo Code warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Roo Code MCP: ${a.configPath}`),a.modeInstalled&&e.services.log(` Roo Code mode: ${a.modePath}`)}if(s.withCodex||s.autoMode&&E(R(n,".codex"))){let{createCodexInstaller:f}=await import("./codex-installer-SPEY6VYT.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("codex"),a.errors.length>0&&e.services.warn(`Codex warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Codex MCP: ${a.configPath}`),a.agentsMdInstalled&&e.services.log(` Codex AGENTS.md: ${a.agentsMdPath}`)}if(s.withWindsurf||s.autoMode&&E(R(n,".windsurf"))){let{createWindsurfInstaller:f}=await import("./windsurf-installer-HV3C3TAD.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("windsurf"),a.errors.length>0&&e.services.warn(`Windsurf warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Windsurf MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Windsurf rules: ${a.rulesPath}`)}if(s.withContinueDev||s.autoMode&&E(R(n,".continue"))){let{createContinueDevInstaller:f}=await import("./continuedev-installer-KGOXAC7L.js"),a=await f({projectRoot:n,overwrite:r}).install();a.mcpConfigured&&C.push("continuedev"),a.errors.length>0&&e.services.warn(`Continue.dev warnings: ${a.errors.join(", ")}`),a.mcpConfigured&&e.services.log(` Continue.dev MCP: ${a.configPath}`),a.rulesInstalled&&e.services.log(` Continue.dev rules: ${a.rulesPath}`)}return C.length>0&&e.services.log(` Platforms configured: ${C.join(", ")}`),{skillsInstalled:i,agentsInstalled:l,n8nAgents:c,n8nSkills:u,openCodeAgents:m,openCodeSkills:d,kiroAgents:w,kiroSkills:h,kiroHooks:k,platformsConfigured:C}}detectVersionUpgrade(e){let t=R(e.projectRoot,".agentic-qe","config.yaml");if(!E(t))return!1;try{let o=Ge(t,"utf-8").match(/version:\s*"?([^"\n]+)"?/)?.[1],r=e.config.version;return o!==void 0&&o!==r}catch{return!1}}};import{existsSync as K,mkdirSync as Be,writeFileSync as F,readFileSync as Ue}from"fs";import{join as S}from"path";import{spawn as ze}from"child_process";var Y=class extends g{name="workers";description="Configure background workers";order=100;critical=!1;requiresPhases=["configuration"];async shouldRun(e){let t=e.config;return t?.workers?.daemonAutoStart&&(t?.workers?.enabled?.length??0)>0}async run(e){let t=e.config,{projectRoot:n}=e;if(!t.workers.daemonAutoStart||t.workers.enabled.length===0)return{workersDir:"",workersConfigured:0,registryPath:"",daemonStarted:!1,daemonPid:null};let s=S(n,".agentic-qe","workers");K(s)||Be(s,{recursive:!0});let o={"learning-consolidation":18e5,"pattern-consolidator":18e5,"test-health":3e5,"coverage-tracker":6e5,"coverage-gap-scanner":6e5,"flaky-detector":9e5,"flaky-test-detector":9e5,"security-scan":18e5,"quality-gate":3e5,"compliance-checker":18e5,"defect-predictor":9e5,"regression-monitor":6e5,"routing-accuracy-monitor":9e5,"performance-baseline":36e5,"cloud-sync":3e5},r={};for(let y of t.workers.enabled)r[y]={name:y,enabled:!0,interval:t.workers.intervals[y]||o[y]||6e4,lastRun:null,status:"pending"};let i=S(s,"registry.json"),l={version:t.version,maxConcurrent:t.workers.maxConcurrent,workers:r,createdAt:new Date().toISOString(),daemonPid:null};F(i,JSON.stringify(l,null,2),"utf-8");for(let y of t.workers.enabled){let A=S(s,`${y}.json`),C={name:y,enabled:!0,interval:t.workers.intervals[y]||o[y]||6e4,projectRoot:n,dataDir:S(n,".agentic-qe","data"),createdAt:new Date().toISOString()};F(A,JSON.stringify(C,null,2),"utf-8")}let c=S(s,"start-daemon.cjs");F(c,`#!/usr/bin/env node
108
108
  // AQE v3 Worker Daemon Startup Script (cross-platform)
109
109
  // Generated by aqe init
110
110
  // Starts the MCP server with background workers enabled
@@ -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.9.1");process.exit(0)}
2
- import{a as y,b as w,c as u}from"./chunk-5LDBKZ6P.js";import"./chunk-UZZCWWIG.js";import{Command as O}from"commander";import{resolve as A}from"path";import s from"chalk";import*as M from"node:fs/promises";import{parse as W}from"yaml";var E=["eq","neq","gt","gte","lt","lte","contains","exists"],D=["sequential","parallel"],N=/\$\{([^}]+)\}/g,k=class{parse(r,t){try{let n=this.interpolateVariables(r,t??{}),a=W(n);return this.validateAndConvert(a)}catch(n){return u(n instanceof Error?new Error(`YAML parse error: ${n.message}`):new Error(`YAML parse error: ${String(n)}`))}}async loadFromFile(r,t){try{let n=await M.readFile(r,"utf-8");return this.parse(n,t)}catch(n){return u(n instanceof Error?new Error(`Failed to read pipeline file '${r}': ${n.message}`):new Error(`Failed to read pipeline file '${r}': ${String(n)}`))}}interpolateVariables(r,t){return r.replace(N,(n,a)=>{let o=this.resolveVarPath(t,a);return o===void 0?n:String(o)})}validateSchema(r){return this.validateAndConvert(r)}validateAndConvert(r){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error("YAML must parse to an object"));let t=r;if(!t.id||typeof t.id!="string")return u(new Error("Missing or invalid required field 'id' (string)"));if(!t.name||typeof t.name!="string")return u(new Error("Missing or invalid required field 'name' (string)"));if(!t.steps||!Array.isArray(t.steps)||t.steps.length===0)return u(new Error("'steps' must be a non-empty array"));let n=typeof t.description=="string"?t.description:"",a=typeof t.version=="string"?t.version:"1.0.0",o;if(t.defaultMode!==void 0){if(!D.includes(t.defaultMode))return u(new Error(`Invalid defaultMode '${String(t.defaultMode)}'. Must be one of: ${D.join(", ")}`));o=t.defaultMode}let e;if(t.timeout!==void 0){if(typeof t.timeout!="number"||t.timeout<=0)return u(new Error("'timeout' must be a positive number"));e=t.timeout}let i=Array.isArray(t.tags)?t.tags.filter(g=>typeof g=="string"):void 0,l=this.validateSteps(t.steps);if(!l.success)return l;let d;if(t.triggers!==void 0){if(!Array.isArray(t.triggers))return u(new Error("'triggers' must be an array"));let g=this.validateTriggers(t.triggers);if(!g.success)return g;d=g.value}let p=this.detectCircularDependencies(l.value);if(p)return u(new Error(`Circular dependency detected: ${p}`));let c={id:t.id,name:t.name,description:n,version:a,steps:l.value,...o!==void 0&&{defaultMode:o},...e!==void 0&&{timeout:e},...i!==void 0&&{tags:i},...d!==void 0&&{triggers:d}};return w(c)}validateSteps(r){let t=[],n=new Set;for(let a=0;a<r.length;a++){let o=r[a];if(!o||typeof o!="object"||Array.isArray(o))return u(new Error(`Step at index ${a} must be an object`));let e=o;if(!e.id||typeof e.id!="string")return u(new Error(`Step at index ${a}: missing or invalid 'id' (string)`));if(n.has(e.id))return u(new Error(`Duplicate step ID: ${e.id}`));if(n.add(e.id),!e.name||typeof e.name!="string")return u(new Error(`Step '${e.id}': missing or invalid 'name' (string)`));if(!e.domain||typeof e.domain!="string")return u(new Error(`Step '${e.id}': missing or invalid 'domain' (string)`));if(!y.includes(e.domain))return u(new Error(`Step '${e.id}': invalid domain '${e.domain}'. Must be one of: ${y.join(", ")}`));if(!e.action||typeof e.action!="string")return u(new Error(`Step '${e.id}': missing or invalid 'action' (string)`));let i=this.validateStringRecord(e.inputMapping,`Step '${e.id}'.inputMapping`);if(i!==void 0&&i instanceof Error)return u(i);let l=this.validateStringRecord(e.outputMapping,`Step '${e.id}'.outputMapping`);if(l!==void 0&&l instanceof Error)return u(l);let d;if(e.dependsOn!==void 0){if(!Array.isArray(e.dependsOn)||!e.dependsOn.every(f=>typeof f=="string"))return u(new Error(`Step '${e.id}': 'dependsOn' must be an array of strings`));for(let f of e.dependsOn)if(!r.some(j=>j.id===f))return u(new Error(`Step '${e.id}' depends on unknown step: ${f}`));d=e.dependsOn}let p;if(e.condition!==void 0){let f=this.validateCondition(e.condition,`Step '${e.id}'.condition`);if(!f.success)return f;p=f.value}let c;if(e.skipCondition!==void 0){let f=this.validateCondition(e.skipCondition,`Step '${e.id}'.skipCondition`);if(!f.success)return f;c=f.value}let g;if(e.timeout!==void 0){if(typeof e.timeout!="number"||e.timeout<=0)return u(new Error(`Step '${e.id}': 'timeout' must be a positive number`));g=e.timeout}let $;if(e.retry!==void 0){let f=this.validateRetry(e.retry,e.id);if(!f.success)return f;$=f.value}let b;if(e.rollback!==void 0){let f=this.validateRollback(e.rollback,e.id);if(!f.success)return f;b=f.value}let R=typeof e.continueOnFailure=="boolean"?e.continueOnFailure:void 0,S;if(e.approval!==void 0){let f=this.validateApproval(e.approval,e.id);if(!f.success)return f;S=f.value}let C={id:e.id,name:e.name,domain:e.domain,action:e.action,...i!==void 0&&{inputMapping:i},...l!==void 0&&{outputMapping:l},...d!==void 0&&{dependsOn:d},...p!==void 0&&{condition:p},...c!==void 0&&{skipCondition:c},...g!==void 0&&{timeout:g},...$!==void 0&&{retry:$},...b!==void 0&&{rollback:b},...R!==void 0&&{continueOnFailure:R},...S!==void 0&&{approval:S}};t.push(C)}return w(t)}validateCondition(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`${t}: must be an object with path, operator, value`));let n=r;return!n.path||typeof n.path!="string"?u(new Error(`${t}: missing or invalid 'path' (string)`)):!n.operator||typeof n.operator!="string"?u(new Error(`${t}: missing or invalid 'operator' (string)`)):E.includes(n.operator)?n.value===void 0?u(new Error(`${t}: missing 'value'`)):w({path:n.path,operator:n.operator,value:n.value}):u(new Error(`${t}: invalid operator '${n.operator}'. Must be one of: ${E.join(", ")}`))}validateTriggers(r){let t=[];for(let n=0;n<r.length;n++){let a=r[n];if(!a||typeof a!="object"||Array.isArray(a))return u(new Error(`Trigger at index ${n} must be an object`));let o=a;if(!o.eventType||typeof o.eventType!="string")return u(new Error(`Trigger at index ${n}: missing or invalid 'eventType' (string)`));let e;if(o.sourceDomain!==void 0){if(typeof o.sourceDomain!="string"||!y.includes(o.sourceDomain))return u(new Error(`Trigger at index ${n}: invalid 'sourceDomain' '${String(o.sourceDomain)}'`));e=o.sourceDomain}let i;if(o.condition!==void 0){let d=this.validateCondition(o.condition,`Trigger at index ${n}.condition`);if(!d.success)return d;i=d.value}let l=this.validateStringRecord(o.inputMapping,`Trigger at index ${n}.inputMapping`);if(l!==void 0&&l instanceof Error)return u(l);t.push({eventType:o.eventType,...e!==void 0&&{sourceDomain:e},...i!==void 0&&{condition:i},...l!==void 0&&{inputMapping:l}})}return w(t)}validateRetry(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'retry' must be an object`));let n=r;return typeof n.maxAttempts!="number"||n.maxAttempts<1?u(new Error(`Step '${t}': retry.maxAttempts must be a positive integer`)):typeof n.backoffMs!="number"||n.backoffMs<0?u(new Error(`Step '${t}': retry.backoffMs must be a non-negative number`)):w({maxAttempts:n.maxAttempts,backoffMs:n.backoffMs,...typeof n.backoffMultiplier=="number"&&{backoffMultiplier:n.backoffMultiplier}})}validateRollback(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'rollback' must be an object`));let n=r;return!n.domain||typeof n.domain!="string"||!y.includes(n.domain)?u(new Error(`Step '${t}': rollback.domain is invalid or missing`)):!n.action||typeof n.action!="string"?u(new Error(`Step '${t}': rollback.action is required (string)`)):w({domain:n.domain,action:n.action,...n.input!==void 0&&typeof n.input=="object"&&{input:n.input}})}validateApproval(r,t){if(typeof r=="boolean")return w(r);if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'approval' must be a boolean or object`));let n=r,a={};if(n.autoApproveAfter!==void 0){if(typeof n.autoApproveAfter!="number"||n.autoApproveAfter<0)return u(new Error(`Step '${t}': approval.autoApproveAfter must be a non-negative number`));a.autoApproveAfter=n.autoApproveAfter}if(n.message!==void 0){if(typeof n.message!="string")return u(new Error(`Step '${t}': approval.message must be a string`));a.message=n.message}return w(a)}validateStringRecord(r,t){if(r==null)return;if(typeof r!="object"||Array.isArray(r))return new Error(`${t}: must be an object with string values`);let n=r;for(let[a,o]of Object.entries(n))if(typeof o!="string")return new Error(`${t}: value for key '${a}' must be a string, got ${typeof o}`);return n}resolveVarPath(r,t){if(t in r)return r[t];let n=t.split("."),a=r;for(let o of n){if(a==null||typeof a!="object")return;a=a[o]}return a}detectCircularDependencies(r){let t=new Set,n=new Set,a=(o,e)=>{if(n.has(o))return[...e,o].join(" -> ");if(t.has(o))return null;t.add(o),n.add(o);let i=r.find(l=>l.id===o);if(i?.dependsOn)for(let l of i.dependsOn){let d=a(l,[...e,o]);if(d)return d}return n.delete(o),null};for(let o of r){let e=a(o.id,[]);if(e)return e}return null}};function h(m){let r={};for(let t of m){let n=t.indexOf("=");if(n===-1)r[t]=!0;else{let a=t.slice(0,n),o=t.slice(n+1);o==="true"?r[a]=!0:o==="false"?r[a]=!1:!isNaN(Number(o))&&o!==""?r[a]=Number(o):r[a]=o}}return r}function T(m){return h(m)}function v(m){return m.workflowOrchestrator}function X(m,r,t){let n=new k,a=new O("pipeline").description("Manage YAML deterministic pipelines (Imp-9)");return a.command("load <file>").description("Load and register a pipeline from a YAML file").option("--vars <entries...>","Variable substitutions (key=value)").action(async(o,e)=>{if(!await t())return;let i=v(m);if(!i){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let l=A(o),d=e.vars?h(e.vars):void 0;console.log(s.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import{a as y,b as w,c as u}from"./chunk-BIVIPF4O.js";import"./chunk-YXCU4CJX.js";import{Command as O}from"commander";import{resolve as A}from"path";import s from"chalk";import*as M from"node:fs/promises";import{parse as W}from"yaml";var E=["eq","neq","gt","gte","lt","lte","contains","exists"],D=["sequential","parallel"],N=/\$\{([^}]+)\}/g,k=class{parse(r,t){try{let n=this.interpolateVariables(r,t??{}),a=W(n);return this.validateAndConvert(a)}catch(n){return u(n instanceof Error?new Error(`YAML parse error: ${n.message}`):new Error(`YAML parse error: ${String(n)}`))}}async loadFromFile(r,t){try{let n=await M.readFile(r,"utf-8");return this.parse(n,t)}catch(n){return u(n instanceof Error?new Error(`Failed to read pipeline file '${r}': ${n.message}`):new Error(`Failed to read pipeline file '${r}': ${String(n)}`))}}interpolateVariables(r,t){return r.replace(N,(n,a)=>{let o=this.resolveVarPath(t,a);return o===void 0?n:String(o)})}validateSchema(r){return this.validateAndConvert(r)}validateAndConvert(r){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error("YAML must parse to an object"));let t=r;if(!t.id||typeof t.id!="string")return u(new Error("Missing or invalid required field 'id' (string)"));if(!t.name||typeof t.name!="string")return u(new Error("Missing or invalid required field 'name' (string)"));if(!t.steps||!Array.isArray(t.steps)||t.steps.length===0)return u(new Error("'steps' must be a non-empty array"));let n=typeof t.description=="string"?t.description:"",a=typeof t.version=="string"?t.version:"1.0.0",o;if(t.defaultMode!==void 0){if(!D.includes(t.defaultMode))return u(new Error(`Invalid defaultMode '${String(t.defaultMode)}'. Must be one of: ${D.join(", ")}`));o=t.defaultMode}let e;if(t.timeout!==void 0){if(typeof t.timeout!="number"||t.timeout<=0)return u(new Error("'timeout' must be a positive number"));e=t.timeout}let i=Array.isArray(t.tags)?t.tags.filter(g=>typeof g=="string"):void 0,l=this.validateSteps(t.steps);if(!l.success)return l;let d;if(t.triggers!==void 0){if(!Array.isArray(t.triggers))return u(new Error("'triggers' must be an array"));let g=this.validateTriggers(t.triggers);if(!g.success)return g;d=g.value}let p=this.detectCircularDependencies(l.value);if(p)return u(new Error(`Circular dependency detected: ${p}`));let c={id:t.id,name:t.name,description:n,version:a,steps:l.value,...o!==void 0&&{defaultMode:o},...e!==void 0&&{timeout:e},...i!==void 0&&{tags:i},...d!==void 0&&{triggers:d}};return w(c)}validateSteps(r){let t=[],n=new Set;for(let a=0;a<r.length;a++){let o=r[a];if(!o||typeof o!="object"||Array.isArray(o))return u(new Error(`Step at index ${a} must be an object`));let e=o;if(!e.id||typeof e.id!="string")return u(new Error(`Step at index ${a}: missing or invalid 'id' (string)`));if(n.has(e.id))return u(new Error(`Duplicate step ID: ${e.id}`));if(n.add(e.id),!e.name||typeof e.name!="string")return u(new Error(`Step '${e.id}': missing or invalid 'name' (string)`));if(!e.domain||typeof e.domain!="string")return u(new Error(`Step '${e.id}': missing or invalid 'domain' (string)`));if(!y.includes(e.domain))return u(new Error(`Step '${e.id}': invalid domain '${e.domain}'. Must be one of: ${y.join(", ")}`));if(!e.action||typeof e.action!="string")return u(new Error(`Step '${e.id}': missing or invalid 'action' (string)`));let i=this.validateStringRecord(e.inputMapping,`Step '${e.id}'.inputMapping`);if(i!==void 0&&i instanceof Error)return u(i);let l=this.validateStringRecord(e.outputMapping,`Step '${e.id}'.outputMapping`);if(l!==void 0&&l instanceof Error)return u(l);let d;if(e.dependsOn!==void 0){if(!Array.isArray(e.dependsOn)||!e.dependsOn.every(f=>typeof f=="string"))return u(new Error(`Step '${e.id}': 'dependsOn' must be an array of strings`));for(let f of e.dependsOn)if(!r.some(j=>j.id===f))return u(new Error(`Step '${e.id}' depends on unknown step: ${f}`));d=e.dependsOn}let p;if(e.condition!==void 0){let f=this.validateCondition(e.condition,`Step '${e.id}'.condition`);if(!f.success)return f;p=f.value}let c;if(e.skipCondition!==void 0){let f=this.validateCondition(e.skipCondition,`Step '${e.id}'.skipCondition`);if(!f.success)return f;c=f.value}let g;if(e.timeout!==void 0){if(typeof e.timeout!="number"||e.timeout<=0)return u(new Error(`Step '${e.id}': 'timeout' must be a positive number`));g=e.timeout}let $;if(e.retry!==void 0){let f=this.validateRetry(e.retry,e.id);if(!f.success)return f;$=f.value}let b;if(e.rollback!==void 0){let f=this.validateRollback(e.rollback,e.id);if(!f.success)return f;b=f.value}let R=typeof e.continueOnFailure=="boolean"?e.continueOnFailure:void 0,S;if(e.approval!==void 0){let f=this.validateApproval(e.approval,e.id);if(!f.success)return f;S=f.value}let C={id:e.id,name:e.name,domain:e.domain,action:e.action,...i!==void 0&&{inputMapping:i},...l!==void 0&&{outputMapping:l},...d!==void 0&&{dependsOn:d},...p!==void 0&&{condition:p},...c!==void 0&&{skipCondition:c},...g!==void 0&&{timeout:g},...$!==void 0&&{retry:$},...b!==void 0&&{rollback:b},...R!==void 0&&{continueOnFailure:R},...S!==void 0&&{approval:S}};t.push(C)}return w(t)}validateCondition(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`${t}: must be an object with path, operator, value`));let n=r;return!n.path||typeof n.path!="string"?u(new Error(`${t}: missing or invalid 'path' (string)`)):!n.operator||typeof n.operator!="string"?u(new Error(`${t}: missing or invalid 'operator' (string)`)):E.includes(n.operator)?n.value===void 0?u(new Error(`${t}: missing 'value'`)):w({path:n.path,operator:n.operator,value:n.value}):u(new Error(`${t}: invalid operator '${n.operator}'. Must be one of: ${E.join(", ")}`))}validateTriggers(r){let t=[];for(let n=0;n<r.length;n++){let a=r[n];if(!a||typeof a!="object"||Array.isArray(a))return u(new Error(`Trigger at index ${n} must be an object`));let o=a;if(!o.eventType||typeof o.eventType!="string")return u(new Error(`Trigger at index ${n}: missing or invalid 'eventType' (string)`));let e;if(o.sourceDomain!==void 0){if(typeof o.sourceDomain!="string"||!y.includes(o.sourceDomain))return u(new Error(`Trigger at index ${n}: invalid 'sourceDomain' '${String(o.sourceDomain)}'`));e=o.sourceDomain}let i;if(o.condition!==void 0){let d=this.validateCondition(o.condition,`Trigger at index ${n}.condition`);if(!d.success)return d;i=d.value}let l=this.validateStringRecord(o.inputMapping,`Trigger at index ${n}.inputMapping`);if(l!==void 0&&l instanceof Error)return u(l);t.push({eventType:o.eventType,...e!==void 0&&{sourceDomain:e},...i!==void 0&&{condition:i},...l!==void 0&&{inputMapping:l}})}return w(t)}validateRetry(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'retry' must be an object`));let n=r;return typeof n.maxAttempts!="number"||n.maxAttempts<1?u(new Error(`Step '${t}': retry.maxAttempts must be a positive integer`)):typeof n.backoffMs!="number"||n.backoffMs<0?u(new Error(`Step '${t}': retry.backoffMs must be a non-negative number`)):w({maxAttempts:n.maxAttempts,backoffMs:n.backoffMs,...typeof n.backoffMultiplier=="number"&&{backoffMultiplier:n.backoffMultiplier}})}validateRollback(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'rollback' must be an object`));let n=r;return!n.domain||typeof n.domain!="string"||!y.includes(n.domain)?u(new Error(`Step '${t}': rollback.domain is invalid or missing`)):!n.action||typeof n.action!="string"?u(new Error(`Step '${t}': rollback.action is required (string)`)):w({domain:n.domain,action:n.action,...n.input!==void 0&&typeof n.input=="object"&&{input:n.input}})}validateApproval(r,t){if(typeof r=="boolean")return w(r);if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'approval' must be a boolean or object`));let n=r,a={};if(n.autoApproveAfter!==void 0){if(typeof n.autoApproveAfter!="number"||n.autoApproveAfter<0)return u(new Error(`Step '${t}': approval.autoApproveAfter must be a non-negative number`));a.autoApproveAfter=n.autoApproveAfter}if(n.message!==void 0){if(typeof n.message!="string")return u(new Error(`Step '${t}': approval.message must be a string`));a.message=n.message}return w(a)}validateStringRecord(r,t){if(r==null)return;if(typeof r!="object"||Array.isArray(r))return new Error(`${t}: must be an object with string values`);let n=r;for(let[a,o]of Object.entries(n))if(typeof o!="string")return new Error(`${t}: value for key '${a}' must be a string, got ${typeof o}`);return n}resolveVarPath(r,t){if(t in r)return r[t];let n=t.split("."),a=r;for(let o of n){if(a==null||typeof a!="object")return;a=a[o]}return a}detectCircularDependencies(r){let t=new Set,n=new Set,a=(o,e)=>{if(n.has(o))return[...e,o].join(" -> ");if(t.has(o))return null;t.add(o),n.add(o);let i=r.find(l=>l.id===o);if(i?.dependsOn)for(let l of i.dependsOn){let d=a(l,[...e,o]);if(d)return d}return n.delete(o),null};for(let o of r){let e=a(o.id,[]);if(e)return e}return null}};function h(m){let r={};for(let t of m){let n=t.indexOf("=");if(n===-1)r[t]=!0;else{let a=t.slice(0,n),o=t.slice(n+1);o==="true"?r[a]=!0:o==="false"?r[a]=!1:!isNaN(Number(o))&&o!==""?r[a]=Number(o):r[a]=o}}return r}function T(m){return h(m)}function v(m){return m.workflowOrchestrator}function X(m,r,t){let n=new k,a=new O("pipeline").description("Manage YAML deterministic pipelines (Imp-9)");return a.command("load <file>").description("Load and register a pipeline from a YAML file").option("--vars <entries...>","Variable substitutions (key=value)").action(async(o,e)=>{if(!await t())return;let i=v(m);if(!i){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let l=A(o),d=e.vars?h(e.vars):void 0;console.log(s.blue(`
3
3
  Loading pipeline from: ${o}
4
4
  `));let p=await n.loadFromFile(l,d);if(!p.success){console.error(s.red(` Parse error: ${p.error.message}`)),await r(1);return}let c=p.value,g=i.registerWorkflow(c);if(!g.success){console.error(s.red(` Registration error: ${g.error.message}`)),await r(1);return}console.log(s.green(" Pipeline loaded successfully.")),console.log(` ID: ${s.cyan(c.id)}`),console.log(` Name: ${s.cyan(c.name)}`),console.log(` Steps: ${s.cyan(c.steps.length)}`),console.log(` Version: ${s.cyan(c.version)}`),c.tags?.length&&console.log(` Tags: ${s.cyan(c.tags.join(", "))}`),console.log(""),await r(0)}),a.command("validate <file>").description("Validate a YAML pipeline without registering it").option("--vars <entries...>","Variable substitutions (key=value)").action(async(o,e)=>{let i=A(o),l=e.vars?h(e.vars):void 0;console.log(s.blue(`
5
5
  Validating pipeline: ${o}
@@ -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.9.1");process.exit(0)}
2
- import{a as u}from"./chunk-UBKK7KCR.js";import{a as y,c as w}from"./chunk-UN4PA4M2.js";import{b as $}from"./chunk-UZZCWWIG.js";import{Command as v}from"commander";import o from"chalk";import{existsSync as d,readFileSync as P}from"node:fs";import m from"node:path";w();var C=$({});var p=Object.keys(u);function h(s){return p.includes(s)}function x(s,e){let t=m.join(s,e.configPath),n=m.join(s,e.rulesPath);return{configExists:d(t),rulesExists:d(n)}}function E(s,e){try{let t=P(s,"utf-8");return e==="json"?{valid:!0,data:JSON.parse(t)}:e==="toml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:e==="yaml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:{valid:!0}}catch(t){return{valid:!1,error:y(t)}}}function I(s,e){try{return P(s,"utf-8").includes("agentic-qe")}catch{return!1}}function j(){let s=new v("platform").description("Manage coding agent platform configurations");return s.command("list").description("List all supported platforms and their configuration status").action(async()=>{let e=process.cwd();console.log(""),console.log(o.bold.blue(" Supported Platforms")),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let t=18,n=36,r=14;console.log(o.gray(` ${"Platform".padEnd(t)}${"Config Path".padEnd(n)}${"Status".padEnd(r)}`)),console.log(o.gray(` ${"\u2500".repeat(t+n+r)}`));for(let l of p){let f=u[l],{configExists:c,rulesExists:a}=x(e,f),i=c&&a?o.green("configured"):c||a?o.yellow("partial"):o.gray("not configured");console.log(` ${o.white(f.name.padEnd(t))}${o.gray(f.configPath.padEnd(n))}${i}`)}console.log(""),console.log(o.gray(' Use "aqe platform setup <name>" to configure a platform')),console.log(o.gray(' Use "aqe init --with-all-platforms" to configure all at once')),console.log("")}),s.command("setup <name>").description("Set up a specific platform configuration").option("--overwrite","Overwrite existing configuration files").action(async(e,t)=>{let n=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let r=u[e];console.log(""),console.log(o.bold.blue(` Setting up ${r.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");try{let l=await C(`../../init/${e}-installer.js`),c=[`create${e.charAt(0).toUpperCase()}${e.slice(1).replace(/([a-z])([A-Z])/g,"$1$2")}Installer`,`create${R(e)}Installer`],a;for(let i of c)if(typeof l[i]=="function"){a=l[i];break}if(!a){for(let i of Object.keys(l))if(i.startsWith("create")&&i.endsWith("Installer")&&typeof l[i]=="function"){a=l[i];break}}a||(console.log(o.red(` Could not find installer factory for ${e}`)),process.exit(1));let g=await a({projectRoot:n,overwrite:t.overwrite}).install();if(g.success)console.log(o.green(` ${r.name} configured successfully`)),g.mcpConfigured&&console.log(o.gray(` MCP config: ${r.configPath}`)),g.rulesInstalled&&console.log(o.gray(` Rules: ${r.rulesPath}`));else if(console.log(o.red(` ${r.name} setup failed`)),g.errors)for(let i of g.errors)console.log(o.red(` ${i}`))}catch(l){console.log(o.red(` Failed to set up ${r.name}: ${y(l)}`))}console.log("")}),s.command("verify <name>").description("Verify a platform configuration is correct").action(async e=>{let t=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let n=u[e];console.log(""),console.log(o.bold.blue(` Verifying ${n.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let r=!0,l=m.join(t,n.configPath);if(d(l)?console.log(o.green(` [pass] Config file exists: ${n.configPath}`)):(console.log(o.red(` [fail] Config file missing: ${n.configPath}`)),r=!1),d(l)){let c=E(l,n.configFormat);c.valid?console.log(o.green(` [pass] Config file is valid ${n.configFormat.toUpperCase()}`)):(console.log(o.red(` [fail] Config file is invalid: ${c.error}`)),r=!1),I(l,n)?console.log(o.green(" [pass] Config contains agentic-qe entry")):(console.log(o.red(" [fail] Config does not contain agentic-qe entry")),r=!1)}let f=m.join(t,n.rulesPath);d(f)?console.log(o.green(` [pass] Rules file exists: ${n.rulesPath}`)):(console.log(o.red(` [fail] Rules file missing: ${n.rulesPath}`)),r=!1),console.log(""),r?console.log(o.green(` ${n.name} configuration is valid`)):(console.log(o.yellow(` ${n.name} configuration has issues`)),console.log(o.gray(` Run "aqe platform setup ${e}" to fix`))),console.log("")}),s}function R(s){return s.charAt(0).toUpperCase()+s.slice(1)}var V=j;export{j as createPlatformCommand,V 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.9.2");process.exit(0)}
2
+ import{a as u}from"./chunk-2VVV73PW.js";import{a as y,c as w}from"./chunk-SDTVHR63.js";import{b as $}from"./chunk-YXCU4CJX.js";import{Command as v}from"commander";import o from"chalk";import{existsSync as d,readFileSync as P}from"node:fs";import m from"node:path";w();var C=$({});var p=Object.keys(u);function h(s){return p.includes(s)}function x(s,e){let t=m.join(s,e.configPath),n=m.join(s,e.rulesPath);return{configExists:d(t),rulesExists:d(n)}}function E(s,e){try{let t=P(s,"utf-8");return e==="json"?{valid:!0,data:JSON.parse(t)}:e==="toml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:e==="yaml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:{valid:!0}}catch(t){return{valid:!1,error:y(t)}}}function I(s,e){try{return P(s,"utf-8").includes("agentic-qe")}catch{return!1}}function j(){let s=new v("platform").description("Manage coding agent platform configurations");return s.command("list").description("List all supported platforms and their configuration status").action(async()=>{let e=process.cwd();console.log(""),console.log(o.bold.blue(" Supported Platforms")),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let t=18,n=36,r=14;console.log(o.gray(` ${"Platform".padEnd(t)}${"Config Path".padEnd(n)}${"Status".padEnd(r)}`)),console.log(o.gray(` ${"\u2500".repeat(t+n+r)}`));for(let l of p){let f=u[l],{configExists:c,rulesExists:a}=x(e,f),i=c&&a?o.green("configured"):c||a?o.yellow("partial"):o.gray("not configured");console.log(` ${o.white(f.name.padEnd(t))}${o.gray(f.configPath.padEnd(n))}${i}`)}console.log(""),console.log(o.gray(' Use "aqe platform setup <name>" to configure a platform')),console.log(o.gray(' Use "aqe init --with-all-platforms" to configure all at once')),console.log("")}),s.command("setup <name>").description("Set up a specific platform configuration").option("--overwrite","Overwrite existing configuration files").action(async(e,t)=>{let n=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let r=u[e];console.log(""),console.log(o.bold.blue(` Setting up ${r.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");try{let l=await C(`../../init/${e}-installer.js`),c=[`create${e.charAt(0).toUpperCase()}${e.slice(1).replace(/([a-z])([A-Z])/g,"$1$2")}Installer`,`create${R(e)}Installer`],a;for(let i of c)if(typeof l[i]=="function"){a=l[i];break}if(!a){for(let i of Object.keys(l))if(i.startsWith("create")&&i.endsWith("Installer")&&typeof l[i]=="function"){a=l[i];break}}a||(console.log(o.red(` Could not find installer factory for ${e}`)),process.exit(1));let g=await a({projectRoot:n,overwrite:t.overwrite}).install();if(g.success)console.log(o.green(` ${r.name} configured successfully`)),g.mcpConfigured&&console.log(o.gray(` MCP config: ${r.configPath}`)),g.rulesInstalled&&console.log(o.gray(` Rules: ${r.rulesPath}`));else if(console.log(o.red(` ${r.name} setup failed`)),g.errors)for(let i of g.errors)console.log(o.red(` ${i}`))}catch(l){console.log(o.red(` Failed to set up ${r.name}: ${y(l)}`))}console.log("")}),s.command("verify <name>").description("Verify a platform configuration is correct").action(async e=>{let t=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let n=u[e];console.log(""),console.log(o.bold.blue(` Verifying ${n.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let r=!0,l=m.join(t,n.configPath);if(d(l)?console.log(o.green(` [pass] Config file exists: ${n.configPath}`)):(console.log(o.red(` [fail] Config file missing: ${n.configPath}`)),r=!1),d(l)){let c=E(l,n.configFormat);c.valid?console.log(o.green(` [pass] Config file is valid ${n.configFormat.toUpperCase()}`)):(console.log(o.red(` [fail] Config file is invalid: ${c.error}`)),r=!1),I(l,n)?console.log(o.green(" [pass] Config contains agentic-qe entry")):(console.log(o.red(" [fail] Config does not contain agentic-qe entry")),r=!1)}let f=m.join(t,n.rulesPath);d(f)?console.log(o.green(` [pass] Rules file exists: ${n.rulesPath}`)):(console.log(o.red(` [fail] Rules file missing: ${n.rulesPath}`)),r=!1),console.log(""),r?console.log(o.green(` ${n.name} configuration is valid`)):(console.log(o.yellow(` ${n.name} configuration has issues`)),console.log(o.gray(` Run "aqe platform setup ${e}" to fix`))),console.log("")}),s}function R(s){return s.charAt(0).toUpperCase()+s.slice(1)}var V=j;export{j as createPlatformCommand,V 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.9.1");process.exit(0)}
2
- import{a as p,b as d,c as h}from"./chunk-VEWIT6VN.js";import"./chunk-UZZCWWIG.js";import{Command as _}from"commander";import*as g from"path";import{execFileSync as v}from"child_process";var $=/^[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+$/,w=/^[a-zA-Z0-9._\-/]+$/;function E(i,n){if(!$.test(i))throw new Error(`Invalid GitHub repo "${i}": must be owner/repo with alphanumeric, dots, hyphens, underscores only`);if(n&&!w.test(n))throw new Error(`Invalid tag "${n}": must be alphanumeric with dots, hyphens, underscores, slashes only`)}var u=class{type="github";cacheDir;constructor(n){this.cacheDir=n??g.join(process.cwd(),".agentic-qe","plugins-cache")}async resolve(n){let e=await this.getPluginPath(n),t=g.join(e,"qe-plugin.json"),o=await import("fs");if(!o.existsSync(t))throw new Error(`No qe-plugin.json found in ${n}`);let r=o.readFileSync(t,"utf-8");return p(r)}async getPluginPath(n){let{repo:e,tag:t}=this.parseLocation(n);E(e,t);let o=g.join(this.cacheDir,e.replace("/","__"),t||"latest"),r=await import("fs");if(r.existsSync(o))return o;r.mkdirSync(o,{recursive:!0});try{let a=`https://github.com/${e}.git`,c=["clone","--depth","1"];t&&c.push("--branch",t),c.push(a,o),v("git",c,{stdio:"pipe",timeout:6e4})}catch(a){throw r.rmSync(o,{recursive:!0,force:!0}),new Error(`Failed to clone ${e}: ${a instanceof Error?a.message:String(a)}`)}return o}parseLocation(n){let[e,t]=n.split("@");if(!e||!e.includes("/"))throw new Error(`Invalid GitHub location "${n}". Expected "owner/repo" or "owner/repo@tag"`);return{repo:e,tag:t}}};import*as l from"path";import*as s from"fs";import{execFileSync as y}from"child_process";var P=/^(@[a-zA-Z0-9._-]+\/)?[a-zA-Z0-9._-]+$/,S=/^[a-zA-Z0-9._\-+]+$/;function x(i,n){if(!P.test(i))throw new Error(`Invalid npm package name "${i}": contains unsafe characters`);if(n&&!S.test(n))throw new Error(`Invalid version "${n}": contains unsafe characters`)}var m=class{type="npm";cacheDir;constructor(n){this.cacheDir=n??l.join(process.cwd(),".agentic-qe","plugins-cache","npm")}async resolve(n){let e=await this.getPluginPath(n),t=l.join(e,"qe-plugin.json");if(!s.existsSync(t))throw new Error(`No qe-plugin.json found in npm package ${n}`);let o=s.readFileSync(t,"utf-8");return p(o)}async getPluginPath(n){let{name:e,version:t}=this.parseLocation(n);x(e,t);let o=e.replace(/\//g,"__"),r=l.join(this.cacheDir,`${o}@${t||"latest"}`);if(s.existsSync(r)&&s.readdirSync(r).length>0)return r;s.mkdirSync(r,{recursive:!0});try{let a=t?`${e}@${t}`:e,c=y("npm",["pack",a,"--pack-destination",r],{stdio:"pipe",timeout:6e4}).toString().trim(),f=l.join(r,c);y("tar",["-xzf",f,"-C",r,"--strip-components=1"],{stdio:"pipe"}),s.existsSync(f)&&s.unlinkSync(f)}catch(a){throw s.rmSync(r,{recursive:!0,force:!0}),new Error(`Failed to fetch npm package ${n}: ${a instanceof Error?a.message:String(a)}`)}return r}parseLocation(n){let e=n.lastIndexOf("@");return e>0?{name:n.slice(0,e),version:n.slice(e+1)||void 0}:{name:n}}};function N(){let i=I(),n=new _("plugin").description("Manage external QE domain plugins").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.9.2");process.exit(0)}
2
+ import{a as p,b as d,c as h}from"./chunk-DNLMZTE2.js";import"./chunk-YXCU4CJX.js";import{Command as _}from"commander";import*as g from"path";import{execFileSync as v}from"child_process";var $=/^[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+$/,w=/^[a-zA-Z0-9._\-/]+$/;function E(i,n){if(!$.test(i))throw new Error(`Invalid GitHub repo "${i}": must be owner/repo with alphanumeric, dots, hyphens, underscores only`);if(n&&!w.test(n))throw new Error(`Invalid tag "${n}": must be alphanumeric with dots, hyphens, underscores, slashes only`)}var u=class{type="github";cacheDir;constructor(n){this.cacheDir=n??g.join(process.cwd(),".agentic-qe","plugins-cache")}async resolve(n){let e=await this.getPluginPath(n),t=g.join(e,"qe-plugin.json"),o=await import("fs");if(!o.existsSync(t))throw new Error(`No qe-plugin.json found in ${n}`);let r=o.readFileSync(t,"utf-8");return p(r)}async getPluginPath(n){let{repo:e,tag:t}=this.parseLocation(n);E(e,t);let o=g.join(this.cacheDir,e.replace("/","__"),t||"latest"),r=await import("fs");if(r.existsSync(o))return o;r.mkdirSync(o,{recursive:!0});try{let a=`https://github.com/${e}.git`,c=["clone","--depth","1"];t&&c.push("--branch",t),c.push(a,o),v("git",c,{stdio:"pipe",timeout:6e4})}catch(a){throw r.rmSync(o,{recursive:!0,force:!0}),new Error(`Failed to clone ${e}: ${a instanceof Error?a.message:String(a)}`)}return o}parseLocation(n){let[e,t]=n.split("@");if(!e||!e.includes("/"))throw new Error(`Invalid GitHub location "${n}". Expected "owner/repo" or "owner/repo@tag"`);return{repo:e,tag:t}}};import*as l from"path";import*as s from"fs";import{execFileSync as y}from"child_process";var P=/^(@[a-zA-Z0-9._-]+\/)?[a-zA-Z0-9._-]+$/,S=/^[a-zA-Z0-9._\-+]+$/;function x(i,n){if(!P.test(i))throw new Error(`Invalid npm package name "${i}": contains unsafe characters`);if(n&&!S.test(n))throw new Error(`Invalid version "${n}": contains unsafe characters`)}var m=class{type="npm";cacheDir;constructor(n){this.cacheDir=n??l.join(process.cwd(),".agentic-qe","plugins-cache","npm")}async resolve(n){let e=await this.getPluginPath(n),t=l.join(e,"qe-plugin.json");if(!s.existsSync(t))throw new Error(`No qe-plugin.json found in npm package ${n}`);let o=s.readFileSync(t,"utf-8");return p(o)}async getPluginPath(n){let{name:e,version:t}=this.parseLocation(n);x(e,t);let o=e.replace(/\//g,"__"),r=l.join(this.cacheDir,`${o}@${t||"latest"}`);if(s.existsSync(r)&&s.readdirSync(r).length>0)return r;s.mkdirSync(r,{recursive:!0});try{let a=t?`${e}@${t}`:e,c=y("npm",["pack",a,"--pack-destination",r],{stdio:"pipe",timeout:6e4}).toString().trim(),f=l.join(r,c);y("tar",["-xzf",f,"-C",r,"--strip-components=1"],{stdio:"pipe"}),s.existsSync(f)&&s.unlinkSync(f)}catch(a){throw s.rmSync(r,{recursive:!0,force:!0}),new Error(`Failed to fetch npm package ${n}: ${a instanceof Error?a.message:String(a)}`)}return r}parseLocation(n){let e=n.lastIndexOf("@");return e>0?{name:n.slice(0,e),version:n.slice(e+1)||void 0}:{name:n}}};function N(){let i=I(),n=new _("plugin").description("Manage external QE domain plugins").addHelpText("after",`
3
3
  Examples:
4
4
  aqe plugin install ./my-plugin Install from local directory
5
5
  aqe plugin install owner/repo --source github Install from GitHub
@@ -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.9.1");process.exit(0)}
2
- import"./chunk-UZZCWWIG.js";import{createRequire as t}from"module";var n=t(import.meta.url),e=n("prime-radiant-advanced-wasm"),r=e,{RuvectorLayer:i,TensorCompress:a,differentiableSearch:c,hierarchicalForward:p,getCompressionLevel:s,init:d,FlashAttention:l,DotProductAttention:m,MultiHeadAttention:u,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:v}=e||{};export{m as DotProductAttention,l as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,u as MultiHeadAttention,i as RuvectorLayer,_ as SonaEngine,a as TensorCompress,r as default,c as differentiableSearch,s as getCompressionLevel,p as hierarchicalForward,d as init,v as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import"./chunk-YXCU4CJX.js";import{createRequire as t}from"module";var n=t(import.meta.url),e=n("prime-radiant-advanced-wasm"),r=e,{RuvectorLayer:i,TensorCompress:a,differentiableSearch:c,hierarchicalForward:p,getCompressionLevel:s,init:d,FlashAttention:l,DotProductAttention:m,MultiHeadAttention:u,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:v}=e||{};export{m as DotProductAttention,l as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,u as MultiHeadAttention,i as RuvectorLayer,_ as SonaEngine,a as TensorCompress,r as default,c as differentiableSearch,s as getCompressionLevel,p as hierarchicalForward,d as init,v as pipeline};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import{a,b}from"./chunk-QODE4LM6.js";import"./chunk-X35GP7TR.js";import"./chunk-VL7YOOC2.js";import"./chunk-BIVIPF4O.js";import"./chunk-SDTVHR63.js";import"./chunk-E25S5E2D.js";import"./chunk-YXCU4CJX.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
@@ -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.9.1");process.exit(0)}
2
- import"./chunk-XP6XKBNW.js";import{c as i}from"./chunk-JSOBRKMA.js";import"./chunk-UZZCWWIG.js";import n from"chalk";var a=class{name="protocol";description="Execute coordination protocols";cleanupAndExit;ensureInitialized;constructor(o,e){this.cleanupAndExit=o,this.ensureInitialized=e}register(o,e){o.command("protocol").description(this.description).command("run <protocolId>").description("Execute a protocol").option("--params <json>","Protocol parameters as JSON","{}").action(async(r,t)=>{await this.executeRun(r,t,e)})}async executeRun(o,e,c){if(await this.ensureInitialized())try{let r=i(e.params,"params");console.log(n.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.2");process.exit(0)}
2
+ import"./chunk-5AUKULWO.js";import{c as i}from"./chunk-N3F3CX4V.js";import"./chunk-YXCU4CJX.js";import n from"chalk";var a=class{name="protocol";description="Execute coordination protocols";cleanupAndExit;ensureInitialized;constructor(o,e){this.cleanupAndExit=o,this.ensureInitialized=e}register(o,e){o.command("protocol").description(this.description).command("run <protocolId>").description("Execute a protocol").option("--params <json>","Protocol parameters as JSON","{}").action(async(r,t)=>{await this.executeRun(r,t,e)})}async executeRun(o,e,c){if(await this.ensureInitialized())try{let r=i(e.params,"params");console.log(n.blue(`
3
3
  Executing protocol: ${o}
4
4
  `));let t=await c.queen.executeProtocol(o,r);t.success?(console.log(n.green(" Protocol execution started")),console.log(n.cyan(` Execution ID: ${t.value}`))):console.log(n.red(` Failed to execute protocol: ${t.error.message}`)),console.log("")}catch(r){console.error(n.red(`
5
5
  Failed to execute protocol:`),r),await this.cleanupAndExit(1)}}getHelp(){return`