agentic-qe 3.13.10 → 3.13.12

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 (746) hide show
  1. package/.claude/helpers/.helpers-version +1 -1
  2. package/.claude/helpers/auto-memory-hook.mjs +1 -1
  3. package/.claude/helpers/helpers.manifest.json +6 -6
  4. package/.claude/helpers/hook-handler.cjs +30 -0
  5. package/.claude/helpers/intelligence.cjs +121 -10
  6. package/.claude/helpers/statusline.cjs +786 -8
  7. package/.claude/skills/skills-manifest.json +1 -1
  8. package/CHANGELOG.md +78 -0
  9. package/README.md +1 -0
  10. package/assets/skills/skills-manifest.json +1 -1
  11. package/dist/agents/claim-verifier/claim-verifier-service.js +4 -4
  12. package/dist/agents/claim-verifier/index.js +6 -6
  13. package/dist/agents/claim-verifier/verifiers/file-verifier.js +1 -1
  14. package/dist/agents/claim-verifier/verifiers/index.js +3 -3
  15. package/dist/agents/claim-verifier/verifiers/output-verifier.js +1 -1
  16. package/dist/causal-discovery/causal-graph.js +2 -2
  17. package/dist/causal-discovery/discovery-engine.js +2 -2
  18. package/dist/causal-discovery/weight-matrix.js +2 -2
  19. package/dist/cli/bundle.js +5 -5
  20. package/dist/cli/chunks/adapter-FUV6LBJT.js +2 -0
  21. package/dist/cli/chunks/{agent-booster-wasm-AWNQ6KB3.js → agent-booster-wasm-7I7LZFNC.js} +2 -2
  22. package/dist/cli/chunks/{agent-handler-RSHQZHPS.js → agent-handler-QZZT52BH.js} +2 -2
  23. package/dist/cli/chunks/{agent-memory-branch-FU7Y3TQ3.js → agent-memory-branch-MLQS5Y26.js} +2 -2
  24. package/dist/cli/chunks/aqe-learning-engine-QNFNA3J4.js +2 -0
  25. package/dist/cli/chunks/{arena-LOK2WYHC.js → arena-IM4CP6LP.js} +2 -2
  26. package/dist/cli/chunks/{arena-XQOCNKB6.js → arena-WRIY37EJ.js} +4 -4
  27. package/dist/cli/chunks/{audit-6ZS4EAD2.js → audit-BSAQ4EFN.js} +3 -3
  28. package/dist/cli/chunks/base-37W2XIXC.js +2 -0
  29. package/dist/cli/chunks/{better-sqlite3-IMBCIZK3.js → better-sqlite3-X2XZUXWZ.js} +2 -2
  30. package/dist/cli/chunks/{brain-handler-3U6BH4EO.js → brain-handler-TVTTWZGP.js} +3 -3
  31. package/dist/cli/chunks/{branch-enumerator-CJBPVBXM.js → branch-enumerator-NI4Q7DSJ.js} +2 -2
  32. package/dist/cli/chunks/{browser-M4VW3KJY.js → browser-PXBLORUZ.js} +2 -2
  33. package/dist/cli/chunks/browser-workflow-PDIUEK7B.js +2 -0
  34. package/dist/cli/chunks/{chunk-PVGOOKBF.js → chunk-2JAC57JE.js} +1 -1
  35. package/dist/cli/chunks/{chunk-JWV5ZM2S.js → chunk-2VTX4SYW.js} +2 -2
  36. package/dist/cli/chunks/{chunk-IYLSML27.js → chunk-2VY7FL6A.js} +2 -2
  37. package/dist/cli/chunks/{chunk-7QNN4GQU.js → chunk-2W3D5A4R.js} +2 -2
  38. package/dist/cli/chunks/{chunk-OZLMIEJC.js → chunk-33YZGOT6.js} +2 -2
  39. package/dist/cli/chunks/{chunk-WSPEAYPG.js → chunk-3ASVQILY.js} +2 -2
  40. package/dist/cli/chunks/{chunk-YO63NTJV.js → chunk-3XVZHJQT.js} +1 -1
  41. package/dist/cli/chunks/{chunk-H7AACUYS.js → chunk-42AS3HPO.js} +2 -2
  42. package/dist/cli/chunks/{chunk-HEY2ZRL7.js → chunk-44NPKZGI.js} +2 -2
  43. package/dist/cli/chunks/{chunk-PIV3QHGJ.js → chunk-4AITMWFZ.js} +2 -2
  44. package/dist/cli/chunks/{chunk-2SS2SSNZ.js → chunk-4ANJV6I4.js} +3 -3
  45. package/dist/cli/chunks/{chunk-CCAY7Q56.js → chunk-4FVOJBEU.js} +1 -1
  46. package/dist/cli/chunks/{chunk-EZY3DAIX.js → chunk-4M7YZ2X7.js} +4 -4
  47. package/dist/cli/chunks/{chunk-HZIT42TM.js → chunk-4THFPRFM.js} +2 -2
  48. package/dist/cli/chunks/chunk-4YFXF5AQ.js +21 -0
  49. package/dist/cli/chunks/{chunk-PUN3KZ6N.js → chunk-4Z4X2ND4.js} +2 -2
  50. package/dist/cli/chunks/{chunk-4TSLLWE7.js → chunk-52VGZJSD.js} +1 -1
  51. package/dist/cli/chunks/{chunk-NRD76M7A.js → chunk-5E76HULA.js} +2 -2
  52. package/dist/cli/chunks/{chunk-RQTXQ6C7.js → chunk-5PI75QYP.js} +2 -2
  53. package/dist/cli/chunks/{chunk-7BZUNNWC.js → chunk-5PNQNBDZ.js} +1 -1
  54. package/dist/cli/chunks/{chunk-KBJYXZI7.js → chunk-5VSS2RBD.js} +2 -2
  55. package/dist/cli/chunks/{chunk-7QSGUJE2.js → chunk-66OQ7AB3.js} +1 -1
  56. package/dist/cli/chunks/{chunk-WFEHOEYP.js → chunk-6BSZHNOC.js} +1 -1
  57. package/dist/cli/chunks/{chunk-KQVTTP2S.js → chunk-6KI6LAAZ.js} +2 -2
  58. package/dist/cli/chunks/{chunk-NZRKWUBM.js → chunk-6KKVMPPR.js} +2 -2
  59. package/dist/cli/chunks/{chunk-KITVDY4T.js → chunk-7A4WTRWI.js} +1 -1
  60. package/dist/cli/chunks/{chunk-GRTU5QOT.js → chunk-7LATB5IR.js} +2 -2
  61. package/dist/cli/chunks/{chunk-J6H2LUBM.js → chunk-7PCIN7UN.js} +2 -2
  62. package/dist/cli/chunks/{chunk-FBJUNJ2A.js → chunk-7RVLVIAI.js} +1 -1
  63. package/dist/cli/chunks/{chunk-7NDJW2DU.js → chunk-7ZVO7I4Q.js} +1 -1
  64. package/dist/cli/chunks/{chunk-EE55ALFK.js → chunk-A5RWLPVT.js} +2 -2
  65. package/dist/cli/chunks/{chunk-U6YDS37V.js → chunk-AKUDUB3O.js} +2 -2
  66. package/dist/cli/chunks/{chunk-6SM74KJI.js → chunk-AM42ROKZ.js} +1 -1
  67. package/dist/cli/chunks/{chunk-VUCCPPQ6.js → chunk-AN5CGTTJ.js} +2 -2
  68. package/dist/cli/chunks/{chunk-QZOAU2N5.js → chunk-AOOCV56W.js} +1 -1
  69. package/dist/cli/chunks/{chunk-U562TIMO.js → chunk-ASWWBNX2.js} +2 -2
  70. package/dist/cli/chunks/{chunk-C5CP66K5.js → chunk-AYH3DMW2.js} +1 -1
  71. package/dist/cli/chunks/{chunk-U5NKLMF4.js → chunk-BODFJ3DC.js} +2 -2
  72. package/dist/cli/chunks/{chunk-YHAUBZ4H.js → chunk-BZIPYXSW.js} +3 -3
  73. package/dist/cli/chunks/{chunk-JMF3FMAO.js → chunk-DCVFHVPR.js} +2 -2
  74. package/dist/cli/chunks/{chunk-H633BGA7.js → chunk-DFLASG3B.js} +1 -1
  75. package/dist/cli/chunks/{chunk-CPXZC7LF.js → chunk-DGFINXUE.js} +1 -1
  76. package/dist/cli/chunks/{chunk-54RIPGMC.js → chunk-E67ZXRG6.js} +1 -1
  77. package/dist/cli/chunks/{chunk-A233TTUX.js → chunk-EDRPTLAX.js} +1 -1
  78. package/dist/cli/chunks/{chunk-UHSIP4DJ.js → chunk-EG73WYAW.js} +2 -2
  79. package/dist/cli/chunks/{chunk-EKZNA6HW.js → chunk-FI6J3UHJ.js} +1 -1
  80. package/dist/cli/chunks/{chunk-6FIWTBR5.js → chunk-G45AOQDZ.js} +1 -1
  81. package/dist/cli/chunks/{chunk-IR7FZYPO.js → chunk-G6FJHDUG.js} +1 -1
  82. package/dist/cli/chunks/chunk-GEQWCK4F.js +2 -0
  83. package/dist/cli/chunks/{chunk-6L36EHM2.js → chunk-GJJWXRAD.js} +2 -2
  84. package/dist/cli/chunks/{chunk-MMRORLMM.js → chunk-GJUGG6UR.js} +2 -2
  85. package/dist/cli/chunks/{chunk-YC5UJVV3.js → chunk-GMLRIZ4E.js} +1 -1
  86. package/dist/cli/chunks/{chunk-UNXPBIX5.js → chunk-GQLJYTXN.js} +2 -2
  87. package/dist/cli/chunks/{chunk-IJ3HHUSD.js → chunk-H3GAR4SV.js} +2 -2
  88. package/dist/cli/chunks/{chunk-OSWAQX4G.js → chunk-HAJG44BD.js} +2 -2
  89. package/dist/cli/chunks/{chunk-GSN4QIDI.js → chunk-HQWFZQMJ.js} +2 -2
  90. package/dist/cli/chunks/{chunk-JUVW4DOU.js → chunk-HRTSYT4N.js} +2 -2
  91. package/dist/cli/chunks/{chunk-2HMBDTSI.js → chunk-I5SXLV7D.js} +2 -2
  92. package/dist/cli/chunks/{chunk-DR4V75BF.js → chunk-IOJ34SXJ.js} +2 -2
  93. package/dist/cli/chunks/{chunk-JALFKAAD.js → chunk-IPDM3CAK.js} +1 -1
  94. package/dist/cli/chunks/{chunk-NL3KX4NE.js → chunk-IPZEBALY.js} +34 -29
  95. package/dist/cli/chunks/{chunk-PSBQRTNF.js → chunk-IQH2RDN3.js} +5 -5
  96. package/dist/cli/chunks/{chunk-SWZUMHIQ.js → chunk-IT5QIUUA.js} +2 -2
  97. package/dist/cli/chunks/{chunk-2LGQNT6Q.js → chunk-JTYCOFTD.js} +1 -1
  98. package/dist/cli/chunks/{chunk-Q7QKJY6Y.js → chunk-JVFZAJ5N.js} +2 -2
  99. package/dist/cli/chunks/{chunk-F3AHUNWH.js → chunk-KRZYWVS3.js} +2 -2
  100. package/dist/cli/chunks/{chunk-7JK57AI2.js → chunk-KXSUDN46.js} +1 -1
  101. package/dist/cli/chunks/{chunk-EP2HOAEB.js → chunk-KYJBJ56M.js} +2 -2
  102. package/dist/cli/chunks/{chunk-OLETDPH2.js → chunk-L3GBNX7B.js} +2 -2
  103. package/dist/cli/chunks/{chunk-VWZ743HH.js → chunk-LRO74LPA.js} +4 -4
  104. package/dist/cli/chunks/{chunk-FC47FRFI.js → chunk-LXVT6JXO.js} +4 -4
  105. package/dist/cli/chunks/{chunk-7XWFAPPI.js → chunk-M3354CE4.js} +2 -2
  106. package/dist/cli/chunks/{chunk-37GWETSW.js → chunk-M73KM3AZ.js} +2 -2
  107. package/dist/cli/chunks/{chunk-BM5BSYPW.js → chunk-M7CPJW53.js} +2 -2
  108. package/dist/cli/chunks/{chunk-ZAEUW3Q4.js → chunk-MB2KLJ6Q.js} +1 -1
  109. package/dist/cli/chunks/{chunk-QHRMZP6J.js → chunk-MGKH4LCM.js} +1 -1
  110. package/dist/cli/chunks/{chunk-AJQGNQ3W.js → chunk-MLFELTJX.js} +2 -2
  111. package/dist/cli/chunks/{chunk-I3SBXWF2.js → chunk-MLXLGBQZ.js} +1 -1
  112. package/dist/cli/chunks/{chunk-6C5WRBGZ.js → chunk-MYVKTG55.js} +3 -3
  113. package/dist/cli/chunks/{chunk-EJRDL5W5.js → chunk-N4OQ4D4V.js} +2 -2
  114. package/dist/cli/chunks/{chunk-MMA6Q6NF.js → chunk-NDRZZSD5.js} +2 -2
  115. package/dist/cli/chunks/{chunk-HL5RC5YB.js → chunk-NG6A7LCG.js} +1 -1
  116. package/dist/cli/chunks/{chunk-JPDJARGR.js → chunk-NJ3QXJ54.js} +2 -2
  117. package/dist/cli/chunks/{chunk-DZNK4EM7.js → chunk-NJ4YVAG7.js} +3 -3
  118. package/dist/cli/chunks/chunk-NL2SCAGJ.js +12 -0
  119. package/dist/cli/chunks/chunk-NLZUGANH.js +11 -0
  120. package/dist/cli/chunks/{chunk-TIGBPVPZ.js → chunk-NNLZAVFH.js} +1 -1
  121. package/dist/cli/chunks/{chunk-7XCRPSSU.js → chunk-NTALX2YC.js} +2 -2
  122. package/dist/cli/chunks/{chunk-YALYPHSG.js → chunk-O4BWESH5.js} +2 -2
  123. package/dist/cli/chunks/{chunk-C656WHED.js → chunk-OG3DBHIV.js} +2 -2
  124. package/dist/cli/chunks/{chunk-BFX3N7KU.js → chunk-OZ53BIY5.js} +1 -1
  125. package/dist/cli/chunks/{chunk-BB4LWAAH.js → chunk-P6EFKHNI.js} +2 -2
  126. package/dist/cli/chunks/{chunk-2FFCL4BK.js → chunk-PGFCKE4G.js} +3 -3
  127. package/dist/cli/chunks/{chunk-66BUC3JG.js → chunk-PVINNJ4P.js} +2 -2
  128. package/dist/cli/chunks/{chunk-FOWBKCRK.js → chunk-QG5L2JM5.js} +10 -10
  129. package/dist/cli/chunks/{chunk-ATSVI6T4.js → chunk-QM4Z7TQH.js} +1 -1
  130. package/dist/cli/chunks/{chunk-Q26QKZYI.js → chunk-QXO35J6F.js} +2 -2
  131. package/dist/cli/chunks/{chunk-FOPLJRWL.js → chunk-R7LGVJMZ.js} +2 -2
  132. package/dist/cli/chunks/{chunk-PLJ72A3I.js → chunk-RACWX2ZX.js} +2 -2
  133. package/dist/cli/chunks/{chunk-ZH3MVVXO.js → chunk-RP2BRRLX.js} +2 -2
  134. package/dist/cli/chunks/{chunk-T7OS4CB4.js → chunk-RP5VFZJO.js} +2 -2
  135. package/dist/cli/chunks/{chunk-7GZJMPTD.js → chunk-S6WHYOWV.js} +2 -2
  136. package/dist/cli/chunks/{chunk-C5HYQTD7.js → chunk-SCQNISGS.js} +1 -1
  137. package/dist/cli/chunks/chunk-SNC73DWF.js +2 -0
  138. package/dist/cli/chunks/{chunk-WKE2FUCP.js → chunk-SOS37ECY.js} +1 -1
  139. package/dist/cli/chunks/{chunk-BTG5UFMA.js → chunk-SXFSJJZF.js} +2 -2
  140. package/dist/cli/chunks/{chunk-IHNPXNFG.js → chunk-TB2N3CAK.js} +2 -2
  141. package/dist/cli/chunks/chunk-TDVMILKO.js +2 -0
  142. package/dist/cli/chunks/{chunk-RYHOV4E3.js → chunk-TJVTV3HP.js} +2 -2
  143. package/dist/cli/chunks/{chunk-2E35LWYJ.js → chunk-TK5XLF3Z.js} +4 -4
  144. package/dist/cli/chunks/{chunk-NCX4W65B.js → chunk-TWUWLSGQ.js} +6 -6
  145. package/dist/cli/chunks/{chunk-WIB6KRFJ.js → chunk-U5G6OC2C.js} +2 -2
  146. package/dist/cli/chunks/{chunk-OZO2JUEK.js → chunk-UBOGJHWC.js} +1 -1
  147. package/dist/cli/chunks/{chunk-WK5MKY45.js → chunk-UC4EIULB.js} +13 -13
  148. package/dist/cli/chunks/{chunk-KBOGA4GA.js → chunk-UJUK6T4V.js} +2 -2
  149. package/dist/cli/chunks/chunk-UQ4UCHO7.js +2 -0
  150. package/dist/cli/chunks/{chunk-4PRQMFVO.js → chunk-UWZYXI3R.js} +2 -2
  151. package/dist/cli/chunks/{chunk-GQ6H37RN.js → chunk-VA2ORJB5.js} +2 -2
  152. package/dist/cli/chunks/{chunk-U5WFVIKL.js → chunk-VBHA4SDU.js} +2 -2
  153. package/dist/cli/chunks/{chunk-PGJHCCR6.js → chunk-VD53LBF7.js} +3 -3
  154. package/dist/cli/chunks/{chunk-UHHWEWDA.js → chunk-VNODKACB.js} +2 -2
  155. package/dist/cli/chunks/{chunk-3E3YLEHB.js → chunk-VQCLSX7T.js} +1 -1
  156. package/dist/cli/chunks/{chunk-G7YD3BR3.js → chunk-VQD2ELNL.js} +2 -2
  157. package/dist/cli/chunks/{chunk-RCXC4YGL.js → chunk-VZGP77YU.js} +1 -1
  158. package/dist/cli/chunks/chunk-WA6CSEOX.js +2 -0
  159. package/dist/cli/chunks/{chunk-JGXU5FUZ.js → chunk-WE3VKDMK.js} +3 -3
  160. package/dist/cli/chunks/{chunk-MGJPS2YV.js → chunk-WXU7FAEB.js} +2 -2
  161. package/dist/cli/chunks/{chunk-O5QZB2AP.js → chunk-WYFAPA2G.js} +2 -2
  162. package/dist/cli/chunks/{chunk-MFGKSD44.js → chunk-WYIXNHPF.js} +2 -2
  163. package/dist/cli/chunks/{chunk-2HEHM2KV.js → chunk-X2SZCVDA.js} +2 -2
  164. package/dist/cli/chunks/{chunk-2CLM53W2.js → chunk-X3JNFQW2.js} +2 -2
  165. package/dist/cli/chunks/{chunk-NBUBGYLE.js → chunk-XIKYUBIV.js} +2 -2
  166. package/dist/cli/chunks/{chunk-2FPHM356.js → chunk-XM5I7J5S.js} +2 -2
  167. package/dist/cli/chunks/{chunk-35CHBX6K.js → chunk-XT473WPO.js} +2 -2
  168. package/dist/cli/chunks/{chunk-74QKFILD.js → chunk-YL2GOJF6.js} +2 -2
  169. package/dist/cli/chunks/{chunk-K6SXDKWV.js → chunk-YQOQVSYU.js} +1 -1
  170. package/dist/cli/chunks/{chunk-G427QR5W.js → chunk-Z56BBX77.js} +2 -2
  171. package/dist/cli/chunks/{chunk-LPVHYZAE.js → chunk-Z6DSYLAG.js} +1 -1
  172. package/dist/cli/chunks/{chunk-W3DCBOLL.js → chunk-ZMYV4R32.js} +1 -1
  173. package/dist/cli/chunks/{chunk-UL6PT654.js → chunk-ZSAGRDXA.js} +2 -2
  174. package/dist/cli/chunks/{ci-7QW7234M.js → ci-QAUD62WH.js} +2 -2
  175. package/dist/cli/chunks/{ci-output-WGP4YKPQ.js → ci-output-TZDVTNE7.js} +2 -2
  176. package/dist/cli/chunks/{circuit-breaker-AOHSCJYO.js → circuit-breaker-ZWPHJ7YJ.js} +2 -2
  177. package/dist/cli/chunks/{claude-flow-setup-CIZ3TWR7.js → claude-flow-setup-SCB4EURN.js} +2 -2
  178. package/dist/cli/chunks/client-4W3KWTAU.js +2 -0
  179. package/dist/cli/chunks/{cline-installer-J2QVGPJY.js → cline-installer-EHZLMLXF.js} +2 -2
  180. package/dist/cli/chunks/{code-WH26MFMB.js → code-3N6PBJMK.js} +2 -2
  181. package/dist/cli/chunks/{code-index-extractor-DBOYEFZ4.js → code-index-extractor-6DIKHNRI.js} +2 -2
  182. package/dist/cli/chunks/{codex-installer-MWYVGZC4.js → codex-installer-P7DPQMYL.js} +2 -2
  183. package/dist/cli/chunks/{completions-LNBHGWUS.js → completions-5MKWWCCE.js} +2 -2
  184. package/dist/cli/chunks/{complexity-analyzer-AMYCTQG2.js → complexity-analyzer-TPM4IPEK.js} +2 -2
  185. package/dist/cli/chunks/{continuedev-installer-73EQPP37.js → continuedev-installer-VXODKGVX.js} +2 -2
  186. package/dist/cli/chunks/{copilot-installer-JWSY2272.js → copilot-installer-PVD5O56P.js} +2 -2
  187. package/dist/cli/chunks/core-handlers-BDU2XBLO.js +2 -0
  188. package/dist/cli/chunks/{cost-tracker-XQVIORRZ.js → cost-tracker-JOMZEQF3.js} +2 -2
  189. package/dist/cli/chunks/{coverage-HYGJIQ25.js → coverage-HTXLEV3B.js} +3 -3
  190. package/dist/cli/chunks/cross-domain-router-BPB6IHN4.js +2 -0
  191. package/dist/cli/chunks/{cursor-installer-DNPNJGZM.js → cursor-installer-SHKDTDDZ.js} +2 -2
  192. package/dist/cli/chunks/{daemon-GSOGO6L3.js → daemon-FCFEWVVJ.js} +3 -3
  193. package/dist/cli/chunks/{daemon-6JNNBU33.js → daemon-PN4FEPLE.js} +6 -6
  194. package/dist/cli/chunks/{dag-attention-scheduler-7SGPLKGI.js → dag-attention-scheduler-PLOHU5SR.js} +2 -2
  195. package/dist/cli/chunks/{detect-IXD77HG4.js → detect-F3H4ZEZY.js} +2 -2
  196. package/dist/cli/chunks/{dist-node-ARTYK2HL.js → dist-node-5TC665N6.js} +2 -2
  197. package/dist/cli/chunks/{domain-handler-X4BOFLMY.js → domain-handler-ZIWVFXCU.js} +2 -2
  198. package/dist/cli/chunks/{domain-transfer-7JBEXLFL.js → domain-transfer-7Q5JYMYR.js} +2 -2
  199. package/dist/cli/chunks/dream-WFCZGFDY.js +2 -0
  200. package/dist/cli/chunks/{embed-and-insert-pattern-VSOLKM3Y.js → embed-and-insert-pattern-VESJQSYD.js} +2 -2
  201. package/dist/cli/chunks/{eval-HS2QQW42.js → eval-E2K2T75A.js} +2 -2
  202. package/dist/cli/chunks/{experience-capture-middleware-MWEPZYBT.js → experience-capture-middleware-Z5SE2O53.js} +3 -3
  203. package/dist/cli/chunks/{fast-paths-RONNJ6AC.js → fast-paths-3H52RSUK.js} +2 -2
  204. package/dist/cli/chunks/{feature-flags-4YE5A6XG.js → feature-flags-LUHSMHPS.js} +2 -2
  205. package/dist/cli/chunks/{feature-flags-CLW4K2HN.js → feature-flags-ONIKUZVK.js} +2 -2
  206. package/dist/cli/chunks/{file-discovery-56C2FW4V.js → file-discovery-FLYSYSS4.js} +2 -2
  207. package/dist/cli/chunks/{fleet-KMB6RM3R.js → fleet-6OJUAAKV.js} +3 -3
  208. package/dist/cli/chunks/{gnn-wrapper-R2OMDND4.js → gnn-wrapper-PUL6B7KZ.js} +2 -2
  209. package/dist/cli/chunks/{heartbeat-handler-FP3CIA2V.js → heartbeat-handler-HGHHDUDY.js} +4 -4
  210. package/dist/cli/chunks/heartbeat-scheduler-HWS4SHRM.js +2 -0
  211. package/dist/cli/chunks/hnsw-adapter-7QOBHKRB.js +2 -0
  212. package/dist/cli/chunks/hnsw-index-6WUKYJH7.js +2 -0
  213. package/dist/cli/chunks/{hnsw-legacy-bridge-EQKXBLRX.js → hnsw-legacy-bridge-NDZSNMYX.js} +2 -2
  214. package/dist/cli/chunks/{hnswlib-node-JG3WOXKM.js → hnswlib-node-PISLKSO2.js} +2 -2
  215. package/dist/cli/chunks/{hooks-6QZYELUZ.js → hooks-WYG54MRI.js} +40 -40
  216. package/dist/cli/chunks/hybrid-router-525JTRA5.js +2 -0
  217. package/dist/cli/chunks/{hypergraph-engine-5HGNZFDH.js → hypergraph-engine-EDHKHZZ2.js} +2 -2
  218. package/dist/cli/chunks/{hypergraph-handler-LO2ODOYD.js → hypergraph-handler-OCHZAPPL.js} +3 -3
  219. package/dist/cli/chunks/impact-analyzer-GG6CJEOK.js +2 -0
  220. package/dist/cli/chunks/{init-handler-E346YK6H.js → init-handler-5TCJ672H.js} +6 -6
  221. package/dist/cli/chunks/init-wizard-4VFAOK4Y.js +2 -0
  222. package/dist/cli/chunks/kernel-N3FQGOST.js +2 -0
  223. package/dist/cli/chunks/{kilocode-installer-ZBJNB6N4.js → kilocode-installer-SWUQRCTZ.js} +2 -2
  224. package/dist/cli/chunks/{kiro-installer-3TWFO4QZ.js → kiro-installer-L22EBAM5.js} +2 -2
  225. package/dist/cli/chunks/knowledge-graph-I5QIHB4G.js +2 -0
  226. package/dist/cli/chunks/{learning-3MLFLTM2.js → learning-TQOGG3CR.js} +3 -3
  227. package/dist/cli/chunks/llm-router-F2L4LFT2.js +37 -0
  228. package/dist/cli/chunks/llm-router-service-NCJZYJLG.js +2 -0
  229. package/dist/cli/chunks/{load-P6XC2P74.js → load-A4ZF2KHC.js} +2 -2
  230. package/dist/cli/chunks/load-test-DCJEYIXD.js +2 -0
  231. package/dist/cli/chunks/{mcp-XEND7FPN.js → mcp-T2Z46NNK.js} +2 -2
  232. package/dist/cli/chunks/{memory-HZ2WSMWW.js → memory-PUC3J6XC.js} +5 -5
  233. package/dist/cli/chunks/memory-backend-O6KO2KTX.js +2 -0
  234. package/dist/cli/chunks/memory-handlers-4Z43WEKD.js +2 -0
  235. package/dist/cli/chunks/{multi-model-executor-IYEHZP73.js → multi-model-executor-U5L4FI4O.js} +2 -2
  236. package/dist/cli/chunks/{opencode-installer-GH3VVBM2.js → opencode-installer-UWI6KHYH.js} +2 -2
  237. package/dist/cli/chunks/{orchestrator-GOKIBTQG.js → orchestrator-3BEI7R5D.js} +5 -5
  238. package/dist/cli/chunks/pattern-null-store-5WIJKX2K.js +2 -0
  239. package/dist/cli/chunks/{pattern-usage-recorder-J2X4DD5S.js → pattern-usage-recorder-EGWUI5LU.js} +2 -2
  240. package/dist/cli/chunks/{pipeline-ELINTMVF.js → pipeline-JG6M4RHD.js} +2 -2
  241. package/dist/cli/chunks/{platform-PIPUB3LU.js → platform-F76G6RUI.js} +2 -2
  242. package/dist/cli/chunks/{plugin-DXDNI6ZV.js → plugin-EEGN3PMK.js} +2 -2
  243. package/dist/cli/chunks/{prime-radiant-advanced-wasm-K6WWURGX.js → prime-radiant-advanced-wasm-7KZAINFT.js} +2 -2
  244. package/dist/cli/chunks/protocol-executor-5TPNAZTB.js +2 -0
  245. package/dist/cli/chunks/{protocol-handler-NMO7VI64.js → protocol-handler-UCEHYK2R.js} +2 -2
  246. package/dist/cli/chunks/{prove-4BLOE4SC.js → prove-JSNG75VD.js} +2 -2
  247. package/dist/cli/chunks/provider-manager-3VMOZ6HV.js +2 -0
  248. package/dist/cli/chunks/qe-reasoning-bank-BATV4NTT.js +2 -0
  249. package/dist/cli/chunks/{quality-MYXBP3GX.js → quality-7SRM2HBM.js} +2 -2
  250. package/dist/cli/chunks/{quality-gate-AXPBK3MT.js → quality-gate-A5MPWHST.js} +3 -3
  251. package/dist/cli/chunks/queen-coordinator-EIHGYBUO.js +2 -0
  252. package/dist/cli/chunks/{real-embeddings-4AKAVZIY.js → real-embeddings-ZBF5EQOG.js} +2 -2
  253. package/dist/cli/chunks/{roocode-installer-JE36LP4T.js → roocode-installer-UYQK64BZ.js} +2 -2
  254. package/dist/cli/chunks/router-EMVGY4HU.js +2 -0
  255. package/dist/cli/chunks/routing-feedback-JUP4OFB2.js +2 -0
  256. package/dist/cli/chunks/{routing-handler-LOJUJCVV.js → routing-handler-PY3KPDTH.js} +2 -2
  257. package/dist/cli/chunks/{ruvector-commands-6PNDYF32.js → ruvector-commands-GCAOUTYS.js} +2 -2
  258. package/dist/cli/chunks/{rvf-dual-writer-GSTQPRNA.js → rvf-dual-writer-BUNP4SKD.js} +2 -2
  259. package/dist/cli/chunks/{rvf-migration-adapter-Z2DSEG3E.js → rvf-migration-adapter-VSOAPLMB.js} +2 -2
  260. package/dist/cli/chunks/{rvf-migration-coordinator-XRNODDH4.js → rvf-migration-coordinator-LSWEHAWX.js} +2 -2
  261. package/dist/cli/chunks/rvf-native-adapter-LOC42TQ6.js +2 -0
  262. package/dist/cli/chunks/{rvf-store-integrity-LVEFIUUW.js → rvf-store-integrity-HNDKOM4L.js} +2 -2
  263. package/dist/cli/chunks/safe-db-WQ62IQKV.js +2 -0
  264. package/dist/cli/chunks/schedule-XJRP57TE.js +2 -0
  265. package/dist/cli/chunks/scheduler-EZH5SDIM.js +2 -0
  266. package/dist/cli/chunks/{security-A2FK2DER.js → security-MQ2VB7PY.js} +3 -3
  267. package/dist/cli/chunks/{shared-rvf-adapter-V7IBEGQQ.js → shared-rvf-adapter-TAZEU6QK.js} +2 -2
  268. package/dist/cli/chunks/{shared-rvf-dual-writer-SMGECN2K.js → shared-rvf-dual-writer-B7N6AOCY.js} +2 -2
  269. package/dist/cli/chunks/sqlite-persistence-HPEVCTIB.js +2 -0
  270. package/dist/cli/chunks/status-handler-NZP7DFHE.js +47 -0
  271. package/dist/cli/chunks/{structural-health-6BRP74EW.js → structural-health-ALLUQ4X6.js} +2 -2
  272. package/dist/cli/chunks/{sync-4PDTGP34.js → sync-MM7OCUYD.js} +2 -2
  273. package/dist/cli/chunks/{sync-KI573HOR.js → sync-WJJG5J6V.js} +2 -2
  274. package/dist/cli/chunks/{task-handler-QQGSAK6T.js → task-handler-CAQUEEB4.js} +2 -2
  275. package/dist/cli/chunks/{task-handlers-VUPCDYTI.js → task-handlers-25BJ7D3W.js} +3 -3
  276. package/dist/cli/chunks/{test-CJLXBSRH.js → test-HW7GVGVN.js} +4 -4
  277. package/dist/cli/chunks/{test-scheduling-IKPQPQUB.js → test-scheduling-HTMFJMSP.js} +3 -3
  278. package/dist/cli/chunks/{token-bootstrap-FHLC3SHC.js → token-bootstrap-F2DCLWGW.js} +2 -2
  279. package/dist/cli/chunks/{token-usage-NCXAK7TB.js → token-usage-RJZDMBDP.js} +2 -2
  280. package/dist/cli/chunks/{transformers-SZFBEILB.js → transformers-3YFW3EUO.js} +2 -2
  281. package/dist/cli/chunks/{tree-sitter-wasm-parser-LFGJRML7.js → tree-sitter-wasm-parser-U3PQPIK7.js} +2 -2
  282. package/dist/cli/chunks/{types-NKXH7VTP.js → types-7Q762WDO.js} +2 -2
  283. package/dist/cli/chunks/unified-memory-ATILROKR.js +2 -0
  284. package/dist/cli/chunks/unified-memory-hnsw-XJXAX7DW.js +2 -0
  285. package/dist/cli/chunks/unified-persistence-3TN5PBWE.js +2 -0
  286. package/dist/cli/chunks/{upgrade-PFCFH6M5.js → upgrade-F7MKJWBQ.js} +2 -2
  287. package/dist/cli/chunks/{validate-YEBJRWQM.js → validate-B27AVRA6.js} +2 -2
  288. package/dist/cli/chunks/{validate-swarm-TD2NA6QF.js → validate-swarm-GYZR3GNL.js} +2 -2
  289. package/dist/cli/chunks/{vibium-ACC4GIOT.js → vibium-W4XQMPJP.js} +2 -2
  290. package/dist/cli/chunks/visual-security-VFWRBCNA.js +2 -0
  291. package/dist/cli/chunks/{web-tree-sitter-IWVW5FIE.js → web-tree-sitter-I7CDCFJU.js} +2 -2
  292. package/dist/cli/chunks/{windsurf-installer-5PVGLJ3T.js → windsurf-installer-UYLHFDHU.js} +2 -2
  293. package/dist/cli/chunks/{witness-chain-VZB4LJOJ.js → witness-chain-B66SYZKU.js} +2 -2
  294. package/dist/cli/chunks/witness-chain-JC5LEXRV.js +2 -0
  295. package/dist/cli/chunks/{witness-key-manager-X632AZTN.js → witness-key-manager-U4JPAHVW.js} +2 -2
  296. package/dist/cli/chunks/{workflow-VNAYFUVY.js → workflow-DYMO47FF.js} +4 -4
  297. package/dist/cli/chunks/workflow-orchestrator-TKQUF2KN.js +2 -0
  298. package/dist/cli/chunks/{wrappers-KO3QXNZP.js → wrappers-7S6DQTEA.js} +2 -2
  299. package/dist/cli/commands/daemon.js +3 -3
  300. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +2 -2
  301. package/dist/cli/commands/hooks-handlers/routing-hooks.js +7 -0
  302. package/dist/cli/commands/llm-router.js +35 -6
  303. package/dist/cli/commands/plugin.js +4 -4
  304. package/dist/cli/commands/quality-gate.js +5 -1
  305. package/dist/cli/handlers/status-handler.js +18 -2
  306. package/dist/cli/index.js +1 -1
  307. package/dist/cli/utils/index.js +2 -2
  308. package/dist/context/compaction/index.js +11 -11
  309. package/dist/context/compaction/tier1-microcompact.js +1 -1
  310. package/dist/context/compaction/tier2-session-summary.js +1 -1
  311. package/dist/context/compaction/tier3-llm-compact.js +1 -1
  312. package/dist/context/compaction/tier4-reactive.js +1 -1
  313. package/dist/coordination/claims/index.js +8 -8
  314. package/dist/coordination/consensus/consensus-engine.js +4 -4
  315. package/dist/coordination/consensus/factory.js +4 -4
  316. package/dist/coordination/consensus/index.js +8 -8
  317. package/dist/coordination/consensus/providers/claude-provider.js +1 -1
  318. package/dist/coordination/consensus/providers/gemini-provider.js +1 -1
  319. package/dist/coordination/consensus/providers/index.js +7 -7
  320. package/dist/coordination/consensus/providers/native-learning-provider.js +1 -1
  321. package/dist/coordination/consensus/providers/ollama-provider.js +1 -1
  322. package/dist/coordination/consensus/providers/openai-provider.js +1 -1
  323. package/dist/coordination/consensus/providers/openrouter-provider.js +1 -1
  324. package/dist/coordination/consensus/strategies/index.js +3 -3
  325. package/dist/coordination/cross-domain-router.js +2 -2
  326. package/dist/coordination/dynamic-scaling/dynamic-scaler.js +1 -1
  327. package/dist/coordination/dynamic-scaling/index.js +2 -2
  328. package/dist/coordination/fleet-tiers/index.js +3 -3
  329. package/dist/coordination/fleet-tiers/tier-selector.js +2 -2
  330. package/dist/coordination/handlers/code-intelligence-handlers.js +2 -2
  331. package/dist/coordination/handlers/coverage-collection.js +1 -1
  332. package/dist/coordination/handlers/coverage-handlers.js +3 -3
  333. package/dist/coordination/handlers/index.js +7 -7
  334. package/dist/coordination/handlers/misc-handlers.js +1 -1
  335. package/dist/coordination/handlers/quality-handlers.js +2 -2
  336. package/dist/coordination/handlers/requirements-handlers.js +2 -2
  337. package/dist/coordination/handlers/security-handlers.js +2 -2
  338. package/dist/coordination/handlers/test-execution-handlers.js +1 -1
  339. package/dist/coordination/index.js +20 -20
  340. package/dist/coordination/mincut/dream-integration.js +1 -1
  341. package/dist/coordination/mincut/index.js +14 -14
  342. package/dist/coordination/mincut/mincut-health-monitor.js +2 -2
  343. package/dist/coordination/mincut/mincut-persistence.js +1 -1
  344. package/dist/coordination/mincut/morphogenetic-growth.js +1 -1
  345. package/dist/coordination/mincut/neural-goap.js +1 -1
  346. package/dist/coordination/mincut/queen-integration.js +5 -5
  347. package/dist/coordination/mincut/shared-singleton.js +3 -3
  348. package/dist/coordination/mincut/strange-loop.js +1 -1
  349. package/dist/coordination/mincut/time-crystal.js +8 -8
  350. package/dist/coordination/mixins/consensus-enabled-domain.js +2 -2
  351. package/dist/coordination/mixins/index.js +3 -3
  352. package/dist/coordination/protocol-executor.js +2 -2
  353. package/dist/coordination/protocols/code-intelligence-index.js +4 -4
  354. package/dist/coordination/protocols/defect-investigation.js +2 -2
  355. package/dist/coordination/protocols/morning-sync.js +1 -1
  356. package/dist/coordination/protocols/quality-gate.js +2 -2
  357. package/dist/coordination/queen-coordinator.js +4 -4
  358. package/dist/coordination/queen-task-management.js +1 -1
  359. package/dist/coordination/services/index.js +1 -1
  360. package/dist/coordination/task-executor.js +6 -6
  361. package/dist/domains/chaos-resilience/coordinator.js +6 -6
  362. package/dist/domains/chaos-resilience/index.js +5 -5
  363. package/dist/domains/chaos-resilience/plugin.js +6 -6
  364. package/dist/domains/chaos-resilience/services/chaos-engineer.js +3 -3
  365. package/dist/domains/chaos-resilience/services/index.js +3 -3
  366. package/dist/domains/chaos-resilience/services/load-tester.js +2 -2
  367. package/dist/domains/chaos-resilience/services/performance-profiler.js +2 -2
  368. package/dist/domains/code-intelligence/coordinator-consensus.js +1 -1
  369. package/dist/domains/code-intelligence/coordinator-gnn.js +1 -1
  370. package/dist/domains/code-intelligence/coordinator-hypergraph.js +2 -2
  371. package/dist/domains/code-intelligence/coordinator.js +9 -9
  372. package/dist/domains/code-intelligence/index.js +7 -7
  373. package/dist/domains/code-intelligence/plugin.js +6 -6
  374. package/dist/domains/code-intelligence/services/c4-model/index.js +3 -3
  375. package/dist/domains/code-intelligence/services/impact-analyzer.js +2 -2
  376. package/dist/domains/code-intelligence/services/index.js +6 -6
  377. package/dist/domains/code-intelligence/services/knowledge-graph.js +4 -4
  378. package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +1 -1
  379. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +1 -1
  380. package/dist/domains/code-intelligence/services/product-factors-bridge.js +5 -5
  381. package/dist/domains/code-intelligence/services/semantic-analyzer.js +2 -2
  382. package/dist/domains/coverage-analysis/coordinator.js +9 -9
  383. package/dist/domains/coverage-analysis/index.js +10 -10
  384. package/dist/domains/coverage-analysis/plugin.js +4 -4
  385. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  386. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  387. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  388. package/dist/domains/coverage-analysis/services/index.js +7 -7
  389. package/dist/domains/coverage-analysis/services/risk-scorer.js +1 -1
  390. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +3 -3
  391. package/dist/domains/defect-intelligence/coordinator.js +5 -5
  392. package/dist/domains/defect-intelligence/index.js +5 -5
  393. package/dist/domains/defect-intelligence/plugin.js +6 -6
  394. package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +2 -2
  395. package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -4
  396. package/dist/domains/defect-intelligence/services/index.js +4 -4
  397. package/dist/domains/defect-intelligence/services/pattern-learner.js +2 -2
  398. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +1 -1
  399. package/dist/domains/domain-interface.js +1 -1
  400. package/dist/domains/index.js +14 -14
  401. package/dist/domains/learning-optimization/coordinator.d.ts +3 -0
  402. package/dist/domains/learning-optimization/coordinator.js +6 -0
  403. package/dist/domains/learning-optimization/interfaces.d.ts +2 -0
  404. package/dist/domains/learning-optimization/plugin.d.ts +3 -0
  405. package/dist/domains/learning-optimization/plugin.js +5 -0
  406. package/dist/domains/quality-assessment/coherence/gate-controller.js +2 -2
  407. package/dist/domains/quality-assessment/coherence/lambda-calculator.js +1 -1
  408. package/dist/domains/quality-assessment/coherence/partition-detector.js +1 -1
  409. package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +1 -1
  410. package/dist/domains/quality-assessment/coordinator-reports.js +1 -1
  411. package/dist/domains/quality-assessment/coordinator-rl-integration.js +2 -2
  412. package/dist/domains/quality-assessment/coordinator.js +5 -5
  413. package/dist/domains/quality-assessment/index.js +9 -9
  414. package/dist/domains/quality-assessment/plugin.js +6 -6
  415. package/dist/domains/quality-assessment/services/coherence-gate.js +6 -6
  416. package/dist/domains/quality-assessment/services/deployment-advisor.js +1 -1
  417. package/dist/domains/quality-assessment/services/index.js +4 -4
  418. package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -2
  419. package/dist/domains/quality-assessment/services/quality-gate.js +1 -1
  420. package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/brutal-honesty-analyzer.js +2 -2
  421. package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/sfdipot-analyzer.js +2 -2
  422. package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +1 -1
  423. package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/gherkin-formatter.js +1 -1
  424. package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/html-formatter.js +2 -2
  425. package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/markdown-formatter.js +1 -1
  426. package/dist/domains/requirements-validation/services/product-factors-assessment/generators/question-generator.js +3 -3
  427. package/dist/domains/requirements-validation/services/product-factors-assessment/generators/test-idea-generator.js +3 -3
  428. package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/domain-registry.js +1 -1
  429. package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/index.js +1 -1
  430. package/dist/domains/requirements-validation/services/product-factors-assessment/skills/skill-integration.js +1 -1
  431. package/dist/domains/security-compliance/coordinator.js +1 -1
  432. package/dist/domains/security-compliance/index.js +1 -1
  433. package/dist/domains/security-compliance/services/compliance-validator.js +1 -1
  434. package/dist/domains/security-compliance/services/scanners/dast-helpers.js +1 -1
  435. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +2 -2
  436. package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +4 -4
  437. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -3
  438. package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +2 -2
  439. package/dist/domains/test-execution/coordinator.js +8 -8
  440. package/dist/domains/test-execution/index.js +9 -9
  441. package/dist/domains/test-execution/interfaces.js +1 -1
  442. package/dist/domains/test-execution/plugin.js +3 -3
  443. package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js +1 -1
  444. package/dist/domains/test-execution/services/e2e/assertion-handlers.js +2 -2
  445. package/dist/domains/test-execution/services/e2e/browser-orchestrator.js +3 -3
  446. package/dist/domains/test-execution/services/e2e/e2e-coordinator.js +7 -7
  447. package/dist/domains/test-execution/services/e2e/index.js +10 -10
  448. package/dist/domains/test-execution/services/e2e/step-executors.js +6 -6
  449. package/dist/domains/test-execution/services/e2e/step-retry-handler.js +3 -3
  450. package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
  451. package/dist/domains/test-execution/services/e2e-runner.js +6 -6
  452. package/dist/domains/test-execution/services/flaky-detector.js +1 -1
  453. package/dist/domains/test-execution/services/index.js +9 -9
  454. package/dist/domains/test-execution/services/retry-handler.js +1 -1
  455. package/dist/domains/test-execution/services/test-executor.js +1 -1
  456. package/dist/domains/test-execution/services/test-prioritizer.js +3 -3
  457. package/dist/domains/test-execution/services/user-flow-generator.js +3 -3
  458. package/dist/domains/test-execution/test-prioritization-types.js +1 -1
  459. package/dist/domains/test-execution/types/index.js +3 -3
  460. package/dist/domains/test-generation/coordinator.js +5 -5
  461. package/dist/domains/test-generation/factories/index.js +1 -1
  462. package/dist/domains/test-generation/factories/test-generator-factory.js +1 -1
  463. package/dist/domains/test-generation/generators/base-test-generator.js +1 -1
  464. package/dist/domains/test-generation/generators/go-test-generator.js +2 -2
  465. package/dist/domains/test-generation/generators/index.js +13 -13
  466. package/dist/domains/test-generation/generators/jest-vitest-generator.js +1 -1
  467. package/dist/domains/test-generation/generators/junit5-generator.js +2 -2
  468. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +2 -2
  469. package/dist/domains/test-generation/generators/mocha-generator.js +1 -1
  470. package/dist/domains/test-generation/generators/node-test-generator.js +1 -1
  471. package/dist/domains/test-generation/generators/pytest-generator.js +2 -2
  472. package/dist/domains/test-generation/generators/rust-test-generator.js +3 -3
  473. package/dist/domains/test-generation/generators/swift-testing-generator.js +2 -2
  474. package/dist/domains/test-generation/generators/xunit-generator.js +2 -2
  475. package/dist/domains/test-generation/index.js +7 -7
  476. package/dist/domains/test-generation/interfaces/index.js +1 -1
  477. package/dist/domains/test-generation/plugin.js +5 -5
  478. package/dist/domains/test-generation/services/code-transform-integration.js +1 -1
  479. package/dist/domains/test-generation/services/index.js +10 -10
  480. package/dist/domains/test-generation/services/pattern-matcher.js +2 -2
  481. package/dist/domains/test-generation/services/test-generator.js +5 -5
  482. package/dist/domains/visual-accessibility/coordinator.js +1 -1
  483. package/dist/early-exit/early-exit-controller.js +4 -4
  484. package/dist/early-exit/early-exit-decision.js +2 -2
  485. package/dist/early-exit/index.js +5 -5
  486. package/dist/early-exit/quality-signal.js +1 -1
  487. package/dist/early-exit/speculative-executor.js +1 -1
  488. package/dist/index.js +18 -18
  489. package/dist/integrations/agentic-flow/agent-booster/adapter.js +4 -4
  490. package/dist/integrations/agentic-flow/agent-booster/index.js +10 -10
  491. package/dist/integrations/agentic-flow/index.js +6 -6
  492. package/dist/integrations/agentic-flow/metrics/index.js +3 -3
  493. package/dist/integrations/agentic-flow/metrics/metrics-tracker.js +2 -2
  494. package/dist/integrations/agentic-flow/metrics/pattern-updater.js +1 -1
  495. package/dist/integrations/agentic-flow/model-router/budget-enforcer.js +1 -1
  496. package/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +7 -7
  497. package/dist/integrations/agentic-flow/model-router/example.js +1 -1
  498. package/dist/integrations/agentic-flow/model-router/index.js +16 -16
  499. package/dist/integrations/agentic-flow/model-router/router.js +6 -6
  500. package/dist/integrations/agentic-flow/model-router/signal-collector.js +1 -1
  501. package/dist/integrations/agentic-flow/model-router/tier-recommender.js +1 -1
  502. package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.js +11 -6
  503. package/dist/integrations/browser/agent-browser/client.js +4 -4
  504. package/dist/integrations/browser/agent-browser/index.js +4 -4
  505. package/dist/integrations/browser/agent-browser/session-manager.js +1 -1
  506. package/dist/integrations/browser/client-factory.js +3 -3
  507. package/dist/integrations/browser/index.js +8 -8
  508. package/dist/integrations/browser/page-pool.js +1 -1
  509. package/dist/integrations/browser/stealth/index.js +2 -2
  510. package/dist/integrations/browser/stealth/stealth-client.js +3 -3
  511. package/dist/integrations/browser/web-content-fetcher.js +1 -1
  512. package/dist/integrations/coherence/coherence-service.js +2 -2
  513. package/dist/integrations/coherence/engines/category-adapter.js +1 -1
  514. package/dist/integrations/coherence/engines/causal-adapter.js +1 -1
  515. package/dist/integrations/coherence/engines/cohomology-adapter.js +1 -1
  516. package/dist/integrations/coherence/engines/homotopy-adapter.js +1 -1
  517. package/dist/integrations/coherence/engines/index.js +6 -6
  518. package/dist/integrations/coherence/engines/spectral-adapter.js +1 -1
  519. package/dist/integrations/coherence/engines/witness-adapter.js +1 -1
  520. package/dist/integrations/coherence/index.js +7 -7
  521. package/dist/integrations/coherence/threshold-tuner.js +1 -1
  522. package/dist/integrations/coherence/wasm-loader.js +2 -2
  523. package/dist/integrations/rl-suite/algorithms/a2c.js +2 -2
  524. package/dist/integrations/rl-suite/algorithms/actor-critic.js +2 -2
  525. package/dist/integrations/rl-suite/algorithms/ddpg.js +1 -1
  526. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  527. package/dist/integrations/rl-suite/algorithms/dqn.js +2 -2
  528. package/dist/integrations/rl-suite/algorithms/eprop.js +2 -2
  529. package/dist/integrations/rl-suite/algorithms/index.js +10 -10
  530. package/dist/integrations/rl-suite/algorithms/policy-gradient.js +2 -2
  531. package/dist/integrations/rl-suite/algorithms/ppo.js +2 -2
  532. package/dist/integrations/rl-suite/algorithms/q-learning.js +3 -3
  533. package/dist/integrations/rl-suite/algorithms/sarsa.js +2 -2
  534. package/dist/integrations/rl-suite/base-algorithm.js +1 -1
  535. package/dist/integrations/rl-suite/index.js +6 -6
  536. package/dist/integrations/rl-suite/neural/index.js +2 -2
  537. package/dist/integrations/rl-suite/orchestrator.js +11 -11
  538. package/dist/integrations/ruvector/ast-complexity.js +1 -1
  539. package/dist/integrations/ruvector/coverage-router.js +1 -1
  540. package/dist/integrations/ruvector/diff-risk-classifier.js +1 -1
  541. package/dist/integrations/ruvector/graph-boundaries.js +1 -1
  542. package/dist/integrations/ruvector/hypergraph-engine.js +1 -1
  543. package/dist/integrations/ruvector/hypergraph-schema.js +1 -1
  544. package/dist/integrations/ruvector/index.js +52 -52
  545. package/dist/integrations/ruvector/persistent-q-router.js +2 -2
  546. package/dist/integrations/ruvector/q-learning-router.js +1 -1
  547. package/dist/integrations/ruvector/solver-adapter.js +1 -1
  548. package/dist/integrations/ruvector/sona-persistence.d.ts +13 -11
  549. package/dist/integrations/ruvector/sona-persistence.js +1 -1
  550. package/dist/integrations/vibium/client.js +3 -3
  551. package/dist/integrations/vibium/fallback.js +2 -2
  552. package/dist/integrations/vibium/index.js +9 -9
  553. package/dist/kernel/agent-coordinator.js +1 -1
  554. package/dist/kernel/event-bus.js +1 -1
  555. package/dist/kernel/hybrid-backend.js +1 -1
  556. package/dist/kernel/index.js +11 -11
  557. package/dist/kernel/kernel.js +27 -27
  558. package/dist/kernel/memory-factory.js +2 -2
  559. package/dist/kernel/unified-persistence.js +1 -1
  560. package/dist/learning/aqe-learning-engine.d.ts +0 -1
  561. package/dist/learning/aqe-learning-engine.js +2 -36
  562. package/dist/learning/pattern-lifecycle.js +1 -1
  563. package/dist/learning/pattern-routing-guidance.d.ts +16 -0
  564. package/dist/learning/pattern-routing-guidance.js +34 -0
  565. package/dist/learning/qe-reasoning-bank-types.d.ts +2 -0
  566. package/dist/learning/qe-reasoning-bank.js +2 -1
  567. package/dist/learning/real-qe-reasoning-bank.d.ts +2 -0
  568. package/dist/learning/real-qe-reasoning-bank.js +4 -2
  569. package/dist/learning/token-tracker.js +1 -1
  570. package/dist/logging/index.js +1 -1
  571. package/dist/logging/logger-factory.js +1 -1
  572. package/dist/mcp/bundle.js +445 -432
  573. package/dist/mcp/entry.js +1 -1
  574. package/dist/mcp/handlers/agent-handlers.js +2 -2
  575. package/dist/mcp/handlers/core-handlers.js +9 -9
  576. package/dist/mcp/handlers/domain-handler-configs.js +2 -2
  577. package/dist/mcp/handlers/domain-handlers.js +2 -2
  578. package/dist/mcp/handlers/handler-factory.js +3 -3
  579. package/dist/mcp/handlers/index.js +7 -7
  580. package/dist/mcp/handlers/memory-handlers.js +1 -1
  581. package/dist/mcp/handlers/task-handlers.js +3 -3
  582. package/dist/mcp/handlers/team-handlers.js +1 -1
  583. package/dist/mcp/index.js +11 -11
  584. package/dist/mcp/metrics/index.js +1 -1
  585. package/dist/mcp/protocol-server.js +13 -13
  586. package/dist/mcp/security/cve-prevention.js +23 -23
  587. package/dist/mcp/security/index.js +9 -9
  588. package/dist/mcp/security/validators/index.js +6 -6
  589. package/dist/mcp/services/index.js +1 -1
  590. package/dist/mcp/services/task-router.js +1 -1
  591. package/dist/mcp/tool-registry.js +4 -4
  592. package/dist/mcp/tools/base.js +1 -1
  593. package/dist/mcp/tools/code-intelligence/analyze.js +4 -4
  594. package/dist/mcp/tools/code-intelligence/c4.js +6 -6
  595. package/dist/mcp/tools/coverage-analysis/index.js +4 -4
  596. package/dist/mcp/tools/defect-intelligence/predict.js +2 -2
  597. package/dist/mcp/tools/embeddings/embedding.js +2 -2
  598. package/dist/mcp/tools/embeddings/index.js +1 -1
  599. package/dist/mcp/tools/index.js +20 -20
  600. package/dist/mcp/tools/learning-optimization/optimize.d.ts +11 -0
  601. package/dist/mcp/tools/learning-optimization/optimize.js +21 -0
  602. package/dist/mcp/tools/mincut/index.js +2 -2
  603. package/dist/mcp/tools/quality-assessment/evaluate.js +1 -1
  604. package/dist/mcp/tools/quality-assessment/gate.js +5 -2
  605. package/dist/mcp/tools/qx-analysis/analyze.js +5 -5
  606. package/dist/mcp/tools/qx-analysis/heuristics-engine.js +1 -1
  607. package/dist/mcp/tools/qx-analysis/index.js +6 -6
  608. package/dist/mcp/tools/registry.js +25 -25
  609. package/dist/mcp/tools/requirements-validation/quality-criteria.js +1 -1
  610. package/dist/mcp/tools/requirements-validation/validate.js +1 -1
  611. package/dist/mcp/tools/security-compliance/scan.js +1 -1
  612. package/dist/mcp/tools/test-execution/e2e-execute.js +3 -3
  613. package/dist/mcp/tools/test-execution/execute.js +1 -1
  614. package/dist/mcp/tools/test-execution/index.js +2 -2
  615. package/dist/mcp/tools/test-generation/generate.js +3 -3
  616. package/dist/mcp/tools/visual-accessibility/index.js +3 -3
  617. package/dist/plugins/index.js +8 -8
  618. package/dist/plugins/lifecycle.js +5 -5
  619. package/dist/plugins/sources/github.js +1 -1
  620. package/dist/plugins/sources/local.js +1 -1
  621. package/dist/plugins/sources/npm.js +1 -1
  622. package/dist/shared/base-domain-plugin.js +1 -1
  623. package/dist/shared/c4-model/index.js +1 -1
  624. package/dist/shared/embeddings/index.js +4 -4
  625. package/dist/shared/embeddings/nomic-embedder.js +3 -3
  626. package/dist/shared/embeddings/ollama-client.js +1 -1
  627. package/dist/shared/entities/agent.js +1 -1
  628. package/dist/shared/entities/index.js +2 -2
  629. package/dist/shared/events/index.js +1 -1
  630. package/dist/shared/git/index.js +1 -1
  631. package/dist/shared/http/http-client.js +1 -1
  632. package/dist/shared/http/index.js +1 -1
  633. package/dist/shared/index.js +15 -15
  634. package/dist/shared/io/file-reader.js +1 -1
  635. package/dist/shared/io/index.js +1 -1
  636. package/dist/shared/llm/billing-modes.d.ts +5 -0
  637. package/dist/shared/llm/billing-modes.js +42 -3
  638. package/dist/shared/llm/circuit-breaker.js +1 -1
  639. package/dist/shared/llm/index.d.ts +4 -1
  640. package/dist/shared/llm/index.js +15 -11
  641. package/dist/shared/llm/interfaces.d.ts +34 -3
  642. package/dist/shared/llm/interfaces.js +17 -0
  643. package/dist/shared/llm/metrics/cost-metrics.js +2 -2
  644. package/dist/shared/llm/metrics/index.js +2 -2
  645. package/dist/shared/llm/metrics/router-metrics.js +1 -1
  646. package/dist/shared/llm/model-registry.js +1 -1
  647. package/dist/shared/llm/provider-manager.js +24 -17
  648. package/dist/shared/llm/provider-registry.d.ts +135 -0
  649. package/dist/shared/llm/provider-registry.js +227 -0
  650. package/dist/shared/llm/providers/azure-openai.js +2 -2
  651. package/dist/shared/llm/providers/bedrock.js +2 -2
  652. package/dist/shared/llm/providers/claude-code.js +1 -1
  653. package/dist/shared/llm/providers/claude.js +4 -4
  654. package/dist/shared/llm/providers/codex.js +1 -1
  655. package/dist/shared/llm/providers/cognitum.js +1 -1
  656. package/dist/shared/llm/providers/external-cli.d.ts +129 -0
  657. package/dist/shared/llm/providers/external-cli.js +385 -0
  658. package/dist/shared/llm/providers/gemini.js +1 -1
  659. package/dist/shared/llm/providers/index.js +10 -10
  660. package/dist/shared/llm/providers/ollama.js +2 -2
  661. package/dist/shared/llm/providers/openai.js +2 -2
  662. package/dist/shared/llm/providers/openrouter.js +1 -1
  663. package/dist/shared/llm/router/config-store.d.ts +14 -0
  664. package/dist/shared/llm/router/config-store.js +102 -14
  665. package/dist/shared/llm/router/external-provider-config.d.ts +47 -0
  666. package/dist/shared/llm/router/external-provider-config.js +105 -0
  667. package/dist/shared/llm/router/hybrid-router.js +7 -7
  668. package/dist/shared/llm/router/index.js +4 -4
  669. package/dist/shared/llm/router/routing-rules.js +1 -1
  670. package/dist/shared/llm/router/types.d.ts +50 -4
  671. package/dist/shared/llm/router/types.js +10 -0
  672. package/dist/shared/llm/translation/index.js +3 -3
  673. package/dist/shared/llm/translation/message-formatter.js +7 -1
  674. package/dist/shared/llm/translation/prompt-translator.js +2 -2
  675. package/dist/shared/metrics/code-metrics.js +2 -2
  676. package/dist/shared/metrics/index.js +2 -2
  677. package/dist/shared/parsers/index.js +3 -3
  678. package/dist/shared/security/compliance-patterns.js +1 -1
  679. package/dist/shared/security/index.js +8 -8
  680. package/dist/shared/security/osv-client.js +1 -1
  681. package/dist/test-scheduling/index.js +9 -9
  682. package/dist/test-scheduling/phase-scheduler.js +1 -1
  683. package/dist/test-scheduling/pipeline.js +9 -9
  684. package/dist/validation/provider-llm-executor.js +5 -5
  685. package/dist/workers/daemon.js +3 -3
  686. package/dist/workers/index.js +5 -5
  687. package/dist/workers/quality-daemon/index.js +15 -15
  688. package/dist/workers/workers/compliance-checker.js +2 -2
  689. package/dist/workers/workers/coverage-tracker.js +1 -1
  690. package/dist/workers/workers/defect-predictor.js +1 -1
  691. package/dist/workers/workers/flaky-detector.js +1 -1
  692. package/dist/workers/workers/learning-consolidation.js +4 -4
  693. package/dist/workers/workers/performance-baseline.js +1 -1
  694. package/dist/workers/workers/quality-gate.js +1 -1
  695. package/dist/workers/workers/regression-monitor.js +1 -1
  696. package/dist/workers/workers/security-scan.js +1 -1
  697. package/dist/workers/workers/test-health.js +1 -1
  698. package/dist/workflows/browser/index.js +1 -1
  699. package/package.json +8 -3
  700. package/dist/cli/chunks/adapter-6CNMDJVJ.js +0 -2
  701. package/dist/cli/chunks/aqe-learning-engine-JGHHNSFX.js +0 -2
  702. package/dist/cli/chunks/base-ND3KAA2L.js +0 -2
  703. package/dist/cli/chunks/browser-workflow-EBSNGTSH.js +0 -2
  704. package/dist/cli/chunks/chunk-3I5ZTLFY.js +0 -2
  705. package/dist/cli/chunks/chunk-4EWKERKV.js +0 -3
  706. package/dist/cli/chunks/chunk-4NXABNLF.js +0 -2
  707. package/dist/cli/chunks/chunk-A6V5NZCV.js +0 -21
  708. package/dist/cli/chunks/chunk-QR6NVCRT.js +0 -12
  709. package/dist/cli/chunks/chunk-TL5FMEKW.js +0 -2
  710. package/dist/cli/chunks/chunk-XPUPST5T.js +0 -2
  711. package/dist/cli/chunks/client-NEGGUFEM.js +0 -2
  712. package/dist/cli/chunks/core-handlers-Q2XPFYQ5.js +0 -2
  713. package/dist/cli/chunks/cross-domain-router-WNZMUQ3G.js +0 -2
  714. package/dist/cli/chunks/dream-OL5XLAYS.js +0 -2
  715. package/dist/cli/chunks/heartbeat-scheduler-XUAW3I3Q.js +0 -2
  716. package/dist/cli/chunks/hnsw-adapter-EDK2YUZJ.js +0 -2
  717. package/dist/cli/chunks/hnsw-index-RDMT66NM.js +0 -2
  718. package/dist/cli/chunks/hybrid-router-BALMPXND.js +0 -2
  719. package/dist/cli/chunks/impact-analyzer-P6XLP3QX.js +0 -2
  720. package/dist/cli/chunks/init-wizard-HMU5OPKQ.js +0 -2
  721. package/dist/cli/chunks/kernel-HMSENQ6R.js +0 -2
  722. package/dist/cli/chunks/knowledge-graph-G7W72UC5.js +0 -2
  723. package/dist/cli/chunks/llm-router-XCBGZRKA.js +0 -36
  724. package/dist/cli/chunks/llm-router-service-VCM7LAGO.js +0 -2
  725. package/dist/cli/chunks/load-test-H5FATYS2.js +0 -2
  726. package/dist/cli/chunks/memory-backend-OPHD5UCR.js +0 -2
  727. package/dist/cli/chunks/memory-handlers-EA5UFT4G.js +0 -2
  728. package/dist/cli/chunks/pattern-null-store-XJOXEDQO.js +0 -2
  729. package/dist/cli/chunks/protocol-executor-XVN7GTLL.js +0 -2
  730. package/dist/cli/chunks/provider-manager-NQICCJZZ.js +0 -2
  731. package/dist/cli/chunks/qe-reasoning-bank-SVCH233Z.js +0 -2
  732. package/dist/cli/chunks/queen-coordinator-Z3PBE4EH.js +0 -2
  733. package/dist/cli/chunks/router-HMWZW2SF.js +0 -2
  734. package/dist/cli/chunks/routing-feedback-ZZYHE2CL.js +0 -2
  735. package/dist/cli/chunks/rvf-native-adapter-ZPT4RLBE.js +0 -2
  736. package/dist/cli/chunks/safe-db-VMYUKPV6.js +0 -2
  737. package/dist/cli/chunks/schedule-DOQ4X4MH.js +0 -2
  738. package/dist/cli/chunks/scheduler-FE2DH224.js +0 -2
  739. package/dist/cli/chunks/sqlite-persistence-TKCACSFQ.js +0 -2
  740. package/dist/cli/chunks/status-handler-UHY36LOR.js +0 -47
  741. package/dist/cli/chunks/unified-memory-2PA3CIQT.js +0 -2
  742. package/dist/cli/chunks/unified-memory-hnsw-W43H4ZKY.js +0 -2
  743. package/dist/cli/chunks/unified-persistence-SOW7AAZL.js +0 -2
  744. package/dist/cli/chunks/visual-security-R6BVIOYU.js +0 -2
  745. package/dist/cli/chunks/witness-chain-GSJW7VDF.js +0 -2
  746. package/dist/cli/chunks/workflow-orchestrator-TXEMI5DD.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.13.10");process.exit(0)}
2
- import{b as pe}from"./chunk-6FIWTBR5.js";import{a as dt}from"./chunk-EKZNA6HW.js";import{a as mt,b as gt}from"./chunk-6L36EHM2.js";import{j as I}from"./chunk-HZIT42TM.js";import{a as lt,b as ut}from"./chunk-66BUC3JG.js";import{a as nt}from"./chunk-TIGBPVPZ.js";import{a as at,b as ot,c as ct}from"./chunk-HEY2ZRL7.js";import{b as st}from"./chunk-BFX3N7KU.js";import{a as ge}from"./chunk-K6SXDKWV.js";import{i as w,m as me}from"./chunk-37GWETSW.js";import{a as an}from"./chunk-TL5FMEKW.js";import{c as it}from"./chunk-DR4V75BF.js";import{b as M,d as rt}from"./chunk-GQ6H37RN.js";import{a as v,b,c as y}from"./chunk-54RIPGMC.js";import{a as h,b as tt,c as k}from"./chunk-OLETDPH2.js";import{i as T}from"./chunk-4TSLLWE7.js";import{R as on,S as cn}from"./chunk-VUCCPPQ6.js";import{c as z,e as sn,g as et}from"./chunk-W3DCBOLL.js";function ft(a){let e=[],t=0;if(a.fileCount!==void 0&&(a.fileCount>20?(t+=25,e.push({name:"very-high-file-count",weight:25,description:`Task involves ${a.fileCount} files (>20)`})):a.fileCount>10?(t+=20,e.push({name:"high-file-count",weight:20,description:`Task involves ${a.fileCount} files (>10)`})):a.fileCount>5&&(t+=10,e.push({name:"moderate-file-count",weight:10,description:`Task involves ${a.fileCount} files (>5)`}))),a.domain&&(dn.includes(a.domain)?(t+=30,e.push({name:"complex-domain",weight:30,description:`Domain '${a.domain}' requires complex reasoning`})):mn.includes(a.domain)&&(t+=15,e.push({name:"moderate-domain",weight:15,description:`Domain '${a.domain}' has moderate complexity`}))),a.crossComponent&&(t+=25,e.push({name:"cross-component",weight:25,description:"Task spans multiple components/modules"})),a.priority==="critical"?(t+=25,e.push({name:"critical-priority",weight:25,description:"Critical priority requires careful attention"})):a.priority==="high"&&(t+=15,e.push({name:"high-priority",weight:15,description:"High priority task"})),a.requiredCapabilities){let r=a.requiredCapabilities.filter(s=>gn.includes(s)).length;if(r>0){let s=Math.min(20,r*10);t+=s,e.push({name:"complex-capabilities",weight:s,description:`Requires ${r} complex capabilit${r===1?"y":"ies"}`})}}a.requiresExternalApis&&(t+=10,e.push({name:"external-apis",weight:10,description:"Requires external API integration"})),a.involvesDatabaseOps&&(t+=10,e.push({name:"database-ops",weight:10,description:"Involves database operations"})),a.timeSensitive&&(t+=5,e.push({name:"time-sensitive",weight:5,description:"Time-sensitive task"})),a.estimatedLinesAffected!==void 0&&(a.estimatedLinesAffected>500?(t+=15,e.push({name:"large-change",weight:15,description:`Estimated ${a.estimatedLinesAffected} lines affected (>500)`})):a.estimatedLinesAffected>200&&(t+=10,e.push({name:"medium-change",weight:10,description:`Estimated ${a.estimatedLinesAffected} lines affected (>200)`}))),(a.type==="security-scan"||a.type==="vulnerability-assessment")&&(t+=20,e.push({name:"security-task",weight:20,description:"Security-related task requires careful analysis"}));let n=t>=S.critical?"critical":t>=S.complex?"complex":t>=S.moderate?"moderate":"simple",i=pn[n];return{complexity:n,recommendedModel:i,factors:e,score:t,timestamp:new Date}}var dn,mn,gn,S,pn,yt=z(()=>{"use strict";dn=["security-compliance","chaos-resilience","defect-intelligence"],mn=["code-intelligence","contract-testing","quality-assessment","learning-optimization"],gn=["sast","dast","vulnerability","owasp","chaos-testing","resilience","fault-injection","mutation-testing"],S={critical:70,complex:45,moderate:20},pn={critical:"opus",complex:"sonnet",moderate:"sonnet",simple:"haiku"}});var R,Te=z(()=>{"use strict";R=class{weightsInputHidden;weightsHiddenOutput;biasHidden;biasOutput;learningRate;constructor(e=.01){this.learningRate=e,this.weightsInputHidden=this.xavierInit(4,32),this.weightsHiddenOutput=this.xavierInit(32,3),this.biasHidden=new Float32Array(32),this.biasOutput=new Float32Array(3)}xavierInit(e,t){let n=Math.sqrt(2/(e+t)),i=new Float32Array(e*t);for(let r=0;r<i.length;r++){let s=Math.random(),o=Math.random(),l=Math.sqrt(-2*Math.log(Math.max(s,1e-10)))*Math.cos(2*Math.PI*o);i[r]=l*n}return i}forward(e){if(e.length!==4)throw new Error(`Expected 4 features, got ${e.length}`);let t=new Float32Array(32);for(let i=0;i<32;i++){let r=this.biasHidden[i];for(let s=0;s<4;s++)r+=e[s]*this.weightsInputHidden[s*32+i];t[i]=Math.max(0,r)}let n=new Float32Array(3);for(let i=0;i<3;i++){let r=this.biasOutput[i];for(let s=0;s<32;s++)r+=t[s]*this.weightsHiddenOutput[s*3+i];n[i]=r}return this.softmax(n)}softmax(e){let t=Math.max(...e),n=new Float32Array(e.length),i=0;for(let s=0;s<e.length;s++)n[s]=Math.exp(e[s]-t),i+=n[s];let r=[];for(let s=0;s<e.length;s++)r.push(n[s]/i);return r}updateWeights(e,t,n){let i=new Float32Array(32);for(let c=0;c<32;c++){let u=this.biasHidden[c];for(let d=0;d<4;d++)u+=e[d]*this.weightsInputHidden[d*32+c];i[c]=Math.max(0,u)}let r=new Float32Array(3);for(let c=0;c<3;c++){let u=this.biasOutput[c];for(let d=0;d<32;d++)u+=i[d]*this.weightsHiddenOutput[d*3+c];r[c]=u}let s=this.softmax(r),o=new Float32Array(3);for(let c=0;c<3;c++)o[c]=(c===t?1:0)-s[c],o[c]*=n*this.learningRate;for(let c=0;c<32;c++)for(let u=0;u<3;u++)this.weightsHiddenOutput[c*3+u]+=i[c]*o[u];for(let c=0;c<3;c++)this.biasOutput[c]+=o[c];let l=new Float32Array(32);for(let c=0;c<32;c++){if(i[c]<=0)continue;let u=0;for(let d=0;d<3;d++)u+=o[d]*this.weightsHiddenOutput[c*3+d];l[c]=u}for(let c=0;c<4;c++)for(let u=0;u<32;u++)this.weightsInputHidden[c*32+u]+=e[c]*l[u];for(let c=0;c<32;c++)this.biasHidden[c]+=l[c]}serialize(){return{weightsInputHidden:Array.from(this.weightsInputHidden),weightsHiddenOutput:Array.from(this.weightsHiddenOutput),biasHidden:Array.from(this.biasHidden),biasOutput:Array.from(this.biasOutput)}}deserialize(e){e.weightsInputHidden.length===128&&(this.weightsInputHidden=new Float32Array(e.weightsInputHidden)),e.weightsHiddenOutput.length===96&&(this.weightsHiddenOutput=new Float32Array(e.weightsHiddenOutput)),e.biasHidden.length===32&&(this.biasHidden=new Float32Array(e.biasHidden)),e.biasOutput.length===3&&(this.biasOutput=new Float32Array(e.biasOutput))}}});var vt={};sn(vt,{NeuralTinyDancerRouter:()=>G,SimpleNeuralRouter:()=>R,createNeuralTinyDancerRouter:()=>Sn});import{performance as Tt}from"perf_hooks";function Sn(a){return new G(a)}var hn,fn,yn,Tn,vn,Cn,bn,kn,G,Ct=z(()=>{"use strict";ve();Te();Te();hn=1e3,fn=.1,yn=.2,Tn=50,vn=.01,Cn=["haiku","sonnet","opus"],bn={haiku:0,sonnet:1,opus:2},kn={"test-generation":.1,"test-execution":.15,"coverage-analysis":.2,"quality-assessment":.3,"requirements-validation":.35,"code-intelligence":.4,"contract-testing":.45,"visual-accessibility":.5,"learning-optimization":.55,"defect-intelligence":.7,"chaos-resilience":.8,"security-compliance":.9},G=class{ruleRouter;neuralNet;circuitBreakerThreshold;shadowModeDecisionLimit;shadowModeMaxDisagreement;shadowModeActive;shadowDecisions=[];shadowDisagreements=0;circuitBreakerTripped=!1;recentOutcomes=[];totalNeuralDecisions=0;totalWeightUpdates=0;neuralPrimary=!1;calibrationScores=[];maxCalibrationScores=500;domainSuccessRates=new Map;config;nativeRouterAvailable=!1;constructor(e={}){this.config=e,this.ruleRouter=new F(e),this.neuralNet=new R(e.learningRate??vn),this.circuitBreakerThreshold=e.circuitBreakerThreshold??yn,this.shadowModeDecisionLimit=e.shadowModeDecisions??hn,this.shadowModeMaxDisagreement=e.shadowModeMaxDisagreement??fn,e.forceShadowMode!==void 0?(this.shadowModeActive=e.forceShadowMode,this.neuralPrimary=!e.forceShadowMode):(this.shadowModeActive=!0,this.neuralPrimary=!1),this.tryLoadNativeRouter()}tryLoadNativeRouter(){this.nativeRouterAvailable=!1}async route(e){let t=Tt.now(),n=await this.ruleRouter.route(e);if(this.circuitBreakerTripped)return n;let i=this.extractFeatures(e,n.classification),r;try{r=this.neuralNet.forward(i)}catch{return this.tripCircuitBreaker(),n}let s=this.argmax(r),o=Cn[s],l=r[s];if(this.totalNeuralDecisions++,this.shadowModeActive){let m=n.model===o;return m||this.shadowDisagreements++,this.shadowDecisions.push({taskDescription:e.description.slice(0,100),ruleDecision:n.model,neuralDecision:o,agreed:m,neuralConfidence:l,timestamp:new Date}),this.evaluateShadowModeExit(),n}let c=Tt.now()-t,u=this.computeEmpiricalConfidenceBounds(r);return l<.3||u.calibrationScore>.8?n:{model:o,confidence:l,uncertainty:1-l,triggerMultiModel:n.triggerMultiModel,triggerHumanReview:n.triggerHumanReview,complexity:n.complexity,classification:n.classification,latencyMs:c,reasoning:this.buildNeuralReasoning(o,l,r,n,u)}}extractFeatures(e,t){let n=Math.min(1,t.score/100),i=e.description.length,r=e.context?.code?.length??0,s=(i+r)/4,o=Math.min(1,s/1e4),l=e.domain??"",c=kn[l]??.25,u=this.domainSuccessRates.get(l),d=u?u.success/Math.max(1,u.total):.7;return[n,o,c,d]}recordNeuralOutcome(e,t,n,i=n?1:0,r=t.model,s=0){this.ruleRouter.recordOutcome(e,t,n,i,r,s);let o=e.domain??"unknown",l=this.domainSuccessRates.get(o)??{success:0,total:0};l.total++,n&&l.success++,this.domainSuccessRates.set(o,l),this.recentOutcomes.push(n),this.recentOutcomes.length>Tn&&this.recentOutcomes.shift(),this.checkCircuitBreaker();let c=this.extractFeatures(e,t.classification),u=bn[r],d=(i-.5)*2;try{this.neuralNet.updateWeights(c,u,d),this.totalWeightUpdates++}catch{}let m=this.neuralNet.forward(c),p=this.argmax(m),f=1-m[u];this.calibrationScores.push(f),this.calibrationScores.length>this.maxCalibrationScores&&this.calibrationScores.shift()}computeEmpiricalConfidenceBounds(e){let n=Math.max(...e),i=1-n;if(this.calibrationScores.length<10)return{lower:0,upper:1,coverageLevel:.9,calibrationScore:i};let r=[...this.calibrationScores].sort((l,c)=>l-c),s=Math.ceil(.9*r.length)-1,o=r[Math.min(s,r.length-1)];return{lower:Math.max(0,n-o),upper:Math.min(1,n+o),coverageLevel:.9,calibrationScore:i}}computeConformalBounds(e){return this.computeEmpiricalConfidenceBounds(e)}evaluateShadowModeExit(){if(!this.shadowModeActive||this.config.forceShadowMode===!0)return;let e=this.shadowDecisions.length;if(e<this.shadowModeDecisionLimit)return;this.shadowDisagreements/e<=this.shadowModeMaxDisagreement&&(this.shadowModeActive=!1,this.neuralPrimary=!0)}checkCircuitBreaker(){if(this.recentOutcomes.length<10)return;let t=this.recentOutcomes.filter(n=>!n).length/this.recentOutcomes.length;t>this.circuitBreakerThreshold?this.tripCircuitBreaker():this.circuitBreakerTripped&&t<this.circuitBreakerThreshold*.5&&(this.circuitBreakerTripped=!1)}tripCircuitBreaker(){this.circuitBreakerTripped=!0,this.neuralPrimary=!1}buildNeuralReasoning(e,t,n,i,r){let s=[];return s.push(`[Neural] Routing to ${e.toUpperCase()}`),s.push(`with ${(t*100).toFixed(0)}% neural confidence.`),s.push(`Tier probabilities: haiku=${(n[0]*100).toFixed(0)}%,`),s.push(`sonnet=${(n[1]*100).toFixed(0)}%,`),s.push(`opus=${(n[2]*100).toFixed(0)}%.`),e!==i.model&&s.push(`Rule-based would choose ${i.model.toUpperCase()}.`),s.push(`Empirical bounds: [${r.lower.toFixed(2)}, ${r.upper.toFixed(2)}]`),s.push(`at ${(r.coverageLevel*100).toFixed(0)}% coverage.`),s.join(" ")}argmax(e){let t=0,n=e[0];for(let i=1;i<e.length;i++)e[i]>n&&(n=e[i],t=i);return t}getNeuralStats(){let e=this.shadowDecisions.length,t=e>0?this.shadowDisagreements/e:0,n=this.recentOutcomes.filter(r=>!r).length,i=this.recentOutcomes.length>0?n/this.recentOutcomes.length:0;return{shadowModeActive:this.shadowModeActive,shadowDecisions:e,disagreementRate:t,circuitBreakerTripped:this.circuitBreakerTripped,recentErrorRate:i,totalNeuralDecisions:this.totalNeuralDecisions,totalWeightUpdates:this.totalWeightUpdates,neuralPrimary:this.neuralPrimary}}getShadowDecisionLogs(){return this.shadowDecisions}getRuleRouter(){return this.ruleRouter}getNeuralNet(){return this.neuralNet}isNativeRouterAvailable(){return this.nativeRouterAvailable}isShadowModeActive(){return this.shadowModeActive}isNeuralPrimary(){return this.neuralPrimary}isCircuitBreakerTripped(){return this.circuitBreakerTripped}resetCircuitBreaker(){this.circuitBreakerTripped=!1,this.recentOutcomes=[]}getStats(){return this.ruleRouter.getStats()}getConfig(){return this.ruleRouter.getConfig()}reset(){this.ruleRouter.reset(),this.shadowDecisions=[],this.shadowDisagreements=0,this.circuitBreakerTripped=!1,this.recentOutcomes=[],this.totalNeuralDecisions=0,this.totalWeightUpdates=0,this.calibrationScores=[],this.domainSuccessRates.clear(),this.config.forceShadowMode!==void 0?(this.shadowModeActive=this.config.forceShadowMode,this.neuralPrimary=!this.config.forceShadowMode):(this.shadowModeActive=!0,this.neuralPrimary=!1)}}});import{performance as bt}from"perf_hooks";function kt(a){try{let{getRuVectorFeatureFlags:e}=(cn(),et(on));if(e().useNeuralRouting){let{NeuralTinyDancerRouter:n}=(Ct(),et(vt));return new n(a)}}catch(e){process.env.DEBUG&&console.debug("[Router] Neural router unavailable, using rule-based:",e instanceof Error?e.message:e)}return new F(a)}var F,ve=z(()=>{"use strict";yt();F=class{confidenceThreshold;uncertaintyThreshold;securityConfidenceThreshold;enableLearning;verbose;executor;totalRouted=0;routesByModel={haiku:0,sonnet:0,opus:0};routesByComplexity={simple:0,moderate:0,complex:0,critical:0};multiModelTriggers=0;humanReviewTriggers=0;advisorConsultations=0;totalConfidence=0;totalLatencyMs=0;outcomes=[];maxOutcomes=1e3;constructor(e={}){this.confidenceThreshold=e.confidenceThreshold??.8,this.uncertaintyThreshold=e.uncertaintyThreshold??.2,this.securityConfidenceThreshold=e.securityConfidenceThreshold??.85,this.enableLearning=e.enableLearning??!0,this.verbose=e.verbose??!1,this.executor=e.executor}hasExecutor(){return this.executor!==void 0}async routeWithAdvisor(e,t){let n=await this.route(e);if(!n.triggerMultiModel||!this.executor||!t)return{route:n};let i=await this.executor.consult(t,{agentName:e.agentId??e.id??"unknown",triggerReason:`tiny_dancer.confidence=${n.confidence.toFixed(2)}<${this.confidenceThreshold}`});return this.advisorConsultations++,{route:n,advisor:i}}async route(e){let t=bt.now(),n=ft(e),i=this.calculateConfidence(n),r=1-i,s=this.isSecurityTask(e),o=s&&i<this.securityConfidenceThreshold||i<this.confidenceThreshold&&n.complexity!=="simple",l=r>this.uncertaintyThreshold||s&&n.complexity==="critical",c=bt.now()-t,u=this.buildReasoning(n,i,s,o,l),d={model:n.recommendedModel,confidence:i,uncertainty:r,triggerMultiModel:o,triggerHumanReview:l,complexity:n.complexity,classification:n,latencyMs:c,reasoning:u};return this.updateStats(d),this.verbose&&console.log(`[TinyDancer] Route: ${n.recommendedModel} (complexity=${n.complexity}, confidence=${(i*100).toFixed(1)}%)`),d}calculateConfidence(e){let{score:t,complexity:n}=e;if(n==="simple"&&t<10)return .9;if(n==="critical"&&t>85)return .92;let i=[S.moderate,S.complex,S.critical],r=1/0;for(let d of i){let m=Math.abs(t-d);m<r&&(r=m)}let s=.55,o=.35,l=Math.min(r/25,1),c=s+l*o,u=n!=="simple"?Math.min(.05,e.factors.length*.01):0;return Math.min(.95,c+u)}isSecurityTask(e){let t=e;if(t.type==="security-scan"||t.type==="vulnerability-assessment"||e.domain==="security-compliance")return!0;let n=["sast","dast","vulnerability","owasp","security-scanning"];if(e.requiredCapabilities?.some(s=>n.includes(s)))return!0;let i=["security","vulnerability","cve","owasp","exploit","injection"],r=e.description.toLowerCase();return!!i.some(s=>r.includes(s))}buildReasoning(e,t,n,i,r){let s=[];if(s.push(`Routing to ${e.recommendedModel.toUpperCase()}`),s.push(`(complexity: ${e.complexity}, score: ${e.score})`),s.push(`with ${(t*100).toFixed(0)}% confidence.`),e.factors.length>0){let o=e.factors.slice(0,3).map(l=>l.name).join(", ");s.push(`Key factors: ${o}.`)}return n&&s.push("Security-sensitive task detected."),i&&s.push("Multi-model verification recommended due to uncertainty."),r&&s.push("Human review flagged due to high uncertainty or criticality."),s.join(" ")}updateStats(e){this.totalRouted++,this.routesByModel[e.model]++,this.routesByComplexity[e.complexity]++,this.totalConfidence+=e.confidence,this.totalLatencyMs+=e.latencyMs,e.triggerMultiModel&&this.multiModelTriggers++,e.triggerHumanReview&&this.humanReviewTriggers++}recordOutcome(e,t,n,i=n?1:0,r=t.model,s=0){if(!this.enableLearning)return;let o={task:e,routeResult:t,success:n,qualityScore:i,actualModelUsed:r,durationMs:s,timestamp:new Date};this.outcomes.push(o),this.outcomes.length>this.maxOutcomes&&this.outcomes.shift(),this.verbose&&console.log(`[TinyDancer] Recorded outcome: success=${n}, quality=${(i*100).toFixed(0)}%, model=${r}`)}getStats(){return{totalRouted:this.totalRouted,routesByModel:{...this.routesByModel},routesByComplexity:{...this.routesByComplexity},multiModelTriggers:this.multiModelTriggers,advisorConsultations:this.advisorConsultations,humanReviewTriggers:this.humanReviewTriggers,avgConfidence:this.totalRouted>0?this.totalConfidence/this.totalRouted:0,avgLatencyMs:this.totalRouted>0?this.totalLatencyMs/this.totalRouted:0,outcomesRecorded:this.outcomes.length}}getOutcomes(){return this.outcomes}getSuccessRateByModel(){let e={haiku:{success:0,total:0},sonnet:{success:0,total:0},opus:{success:0,total:0}};for(let t of this.outcomes){let n=t.actualModelUsed;e[n].total++,t.success&&e[n].success++}return{haiku:e.haiku.total>0?e.haiku.success/e.haiku.total:0,sonnet:e.sonnet.total>0?e.sonnet.success/e.sonnet.total:0,opus:e.opus.total>0?e.opus.success/e.opus.total:0}}reset(){this.totalRouted=0,this.routesByModel={haiku:0,sonnet:0,opus:0},this.routesByComplexity={simple:0,moderate:0,complex:0,critical:0},this.multiModelTriggers=0,this.advisorConsultations=0,this.humanReviewTriggers=0,this.totalConfidence=0,this.totalLatencyMs=0,this.outcomes=[]}getConfig(){return{confidenceThreshold:this.confidenceThreshold,uncertaintyThreshold:this.uncertaintyThreshold,securityConfidenceThreshold:this.securityConfidenceThreshold,enableLearning:this.enableLearning,verbose:this.verbose}}}});var ln={enableConsoleLog:!0,maxEntries:1e3,logPrefix:"[TASK]"},q=class{entries=[];config;constructor(e={}){this.config={...ln,...e}}log(e,t,n){let i={timestamp:new Date,operation:e,taskId:t,agentId:n?.agentId,domain:n?.domain,details:n?.details};if(this.entries.push(i),this.entries.length>this.config.maxEntries&&this.entries.splice(0,this.entries.length-this.config.maxEntries),this.config.enableConsoleLog){let r=n?.agentId?` by ${n.agentId}`:"",s=n?.domain?` (${n.domain})`:"";console.log(`${this.config.logPrefix} ${e.toUpperCase()} ${t}${r}${s}`)}}logSubmit(e,t){this.log("submit",e,{details:t})}logAssign(e,t,n){this.log("assign",e,{agentId:t,domain:n})}logReassign(e,t,n,i){this.log("reassign",e,{agentId:n,domain:i,details:{fromAgent:t}})}logComplete(e,t){this.log("complete",e,{agentId:t})}logFail(e,t,n){this.log("fail",e,{agentId:t,details:n?{error:n}:void 0})}logCancel(e){this.log("cancel",e)}logSteal(e,t,n){this.log("steal",e,{domain:n,details:{fromDomain:t}})}logQueue(e,t){this.log("queue",e,{details:{position:t}})}logDequeue(e){this.log("dequeue",e)}getEntries(e){let t=[...this.entries];e&&(e.operation&&(t=t.filter(i=>i.operation===e.operation)),e.taskId&&(t=t.filter(i=>i.taskId===e.taskId)),e.agentId&&(t=t.filter(i=>i.agentId===e.agentId)),e.domain&&(t=t.filter(i=>i.domain===e.domain)),e.fromTimestamp&&(t=t.filter(i=>i.timestamp>=e.fromTimestamp)),e.toTimestamp&&(t=t.filter(i=>i.timestamp<=e.toTimestamp)));let n=e?.limit??t.length;return t.slice(-n)}getStatistics(){let e={submit:0,assign:0,reassign:0,complete:0,fail:0,cancel:0,steal:0,queue:0,dequeue:0},t=new Set,n=new Set;for(let i of this.entries)e[i.operation]++,t.add(i.taskId),i.agentId&&n.add(i.agentId);return{totalEntries:this.entries.length,operationCounts:e,taskCount:t.size,agentCount:n.size}}clear(){this.entries.length=0}};function he(a){return new q(a)}me();rt();var fe=class{memory;initialized=!1;constructor(e){this.memory=e??w()}async initialize(){this.initialized||(this.memory.isInitialized()||await this.memory.initialize(),this.initialized=!0)}async saveSnapshot(e){this.ensureInitialized();let t=T();return this.memory.getDatabase().prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
2
+ import{b as pe}from"./chunk-G45AOQDZ.js";import{a as dt}from"./chunk-FI6J3UHJ.js";import{a as mt,b as gt}from"./chunk-GJJWXRAD.js";import{j as I}from"./chunk-4THFPRFM.js";import{a as lt,b as ut}from"./chunk-PVINNJ4P.js";import{a as nt}from"./chunk-NNLZAVFH.js";import{a as at,b as ot,c as ct}from"./chunk-44NPKZGI.js";import{b as st}from"./chunk-OZ53BIY5.js";import{a as ge}from"./chunk-YQOQVSYU.js";import{i as w,m as me}from"./chunk-M73KM3AZ.js";import{a as an}from"./chunk-GEQWCK4F.js";import{c as it}from"./chunk-IOJ34SXJ.js";import{b as M,d as rt}from"./chunk-VA2ORJB5.js";import{a as v,b,c as y}from"./chunk-E67ZXRG6.js";import{a as h,b as tt,c as k}from"./chunk-L3GBNX7B.js";import{i as T}from"./chunk-52VGZJSD.js";import{R as on,S as cn}from"./chunk-AN5CGTTJ.js";import{c as z,e as sn,g as et}from"./chunk-ZMYV4R32.js";function ft(a){let e=[],t=0;if(a.fileCount!==void 0&&(a.fileCount>20?(t+=25,e.push({name:"very-high-file-count",weight:25,description:`Task involves ${a.fileCount} files (>20)`})):a.fileCount>10?(t+=20,e.push({name:"high-file-count",weight:20,description:`Task involves ${a.fileCount} files (>10)`})):a.fileCount>5&&(t+=10,e.push({name:"moderate-file-count",weight:10,description:`Task involves ${a.fileCount} files (>5)`}))),a.domain&&(dn.includes(a.domain)?(t+=30,e.push({name:"complex-domain",weight:30,description:`Domain '${a.domain}' requires complex reasoning`})):mn.includes(a.domain)&&(t+=15,e.push({name:"moderate-domain",weight:15,description:`Domain '${a.domain}' has moderate complexity`}))),a.crossComponent&&(t+=25,e.push({name:"cross-component",weight:25,description:"Task spans multiple components/modules"})),a.priority==="critical"?(t+=25,e.push({name:"critical-priority",weight:25,description:"Critical priority requires careful attention"})):a.priority==="high"&&(t+=15,e.push({name:"high-priority",weight:15,description:"High priority task"})),a.requiredCapabilities){let r=a.requiredCapabilities.filter(s=>gn.includes(s)).length;if(r>0){let s=Math.min(20,r*10);t+=s,e.push({name:"complex-capabilities",weight:s,description:`Requires ${r} complex capabilit${r===1?"y":"ies"}`})}}a.requiresExternalApis&&(t+=10,e.push({name:"external-apis",weight:10,description:"Requires external API integration"})),a.involvesDatabaseOps&&(t+=10,e.push({name:"database-ops",weight:10,description:"Involves database operations"})),a.timeSensitive&&(t+=5,e.push({name:"time-sensitive",weight:5,description:"Time-sensitive task"})),a.estimatedLinesAffected!==void 0&&(a.estimatedLinesAffected>500?(t+=15,e.push({name:"large-change",weight:15,description:`Estimated ${a.estimatedLinesAffected} lines affected (>500)`})):a.estimatedLinesAffected>200&&(t+=10,e.push({name:"medium-change",weight:10,description:`Estimated ${a.estimatedLinesAffected} lines affected (>200)`}))),(a.type==="security-scan"||a.type==="vulnerability-assessment")&&(t+=20,e.push({name:"security-task",weight:20,description:"Security-related task requires careful analysis"}));let n=t>=S.critical?"critical":t>=S.complex?"complex":t>=S.moderate?"moderate":"simple",i=pn[n];return{complexity:n,recommendedModel:i,factors:e,score:t,timestamp:new Date}}var dn,mn,gn,S,pn,yt=z(()=>{"use strict";dn=["security-compliance","chaos-resilience","defect-intelligence"],mn=["code-intelligence","contract-testing","quality-assessment","learning-optimization"],gn=["sast","dast","vulnerability","owasp","chaos-testing","resilience","fault-injection","mutation-testing"],S={critical:70,complex:45,moderate:20},pn={critical:"opus",complex:"sonnet",moderate:"sonnet",simple:"haiku"}});var R,Te=z(()=>{"use strict";R=class{weightsInputHidden;weightsHiddenOutput;biasHidden;biasOutput;learningRate;constructor(e=.01){this.learningRate=e,this.weightsInputHidden=this.xavierInit(4,32),this.weightsHiddenOutput=this.xavierInit(32,3),this.biasHidden=new Float32Array(32),this.biasOutput=new Float32Array(3)}xavierInit(e,t){let n=Math.sqrt(2/(e+t)),i=new Float32Array(e*t);for(let r=0;r<i.length;r++){let s=Math.random(),o=Math.random(),l=Math.sqrt(-2*Math.log(Math.max(s,1e-10)))*Math.cos(2*Math.PI*o);i[r]=l*n}return i}forward(e){if(e.length!==4)throw new Error(`Expected 4 features, got ${e.length}`);let t=new Float32Array(32);for(let i=0;i<32;i++){let r=this.biasHidden[i];for(let s=0;s<4;s++)r+=e[s]*this.weightsInputHidden[s*32+i];t[i]=Math.max(0,r)}let n=new Float32Array(3);for(let i=0;i<3;i++){let r=this.biasOutput[i];for(let s=0;s<32;s++)r+=t[s]*this.weightsHiddenOutput[s*3+i];n[i]=r}return this.softmax(n)}softmax(e){let t=Math.max(...e),n=new Float32Array(e.length),i=0;for(let s=0;s<e.length;s++)n[s]=Math.exp(e[s]-t),i+=n[s];let r=[];for(let s=0;s<e.length;s++)r.push(n[s]/i);return r}updateWeights(e,t,n){let i=new Float32Array(32);for(let c=0;c<32;c++){let u=this.biasHidden[c];for(let d=0;d<4;d++)u+=e[d]*this.weightsInputHidden[d*32+c];i[c]=Math.max(0,u)}let r=new Float32Array(3);for(let c=0;c<3;c++){let u=this.biasOutput[c];for(let d=0;d<32;d++)u+=i[d]*this.weightsHiddenOutput[d*3+c];r[c]=u}let s=this.softmax(r),o=new Float32Array(3);for(let c=0;c<3;c++)o[c]=(c===t?1:0)-s[c],o[c]*=n*this.learningRate;for(let c=0;c<32;c++)for(let u=0;u<3;u++)this.weightsHiddenOutput[c*3+u]+=i[c]*o[u];for(let c=0;c<3;c++)this.biasOutput[c]+=o[c];let l=new Float32Array(32);for(let c=0;c<32;c++){if(i[c]<=0)continue;let u=0;for(let d=0;d<3;d++)u+=o[d]*this.weightsHiddenOutput[c*3+d];l[c]=u}for(let c=0;c<4;c++)for(let u=0;u<32;u++)this.weightsInputHidden[c*32+u]+=e[c]*l[u];for(let c=0;c<32;c++)this.biasHidden[c]+=l[c]}serialize(){return{weightsInputHidden:Array.from(this.weightsInputHidden),weightsHiddenOutput:Array.from(this.weightsHiddenOutput),biasHidden:Array.from(this.biasHidden),biasOutput:Array.from(this.biasOutput)}}deserialize(e){e.weightsInputHidden.length===128&&(this.weightsInputHidden=new Float32Array(e.weightsInputHidden)),e.weightsHiddenOutput.length===96&&(this.weightsHiddenOutput=new Float32Array(e.weightsHiddenOutput)),e.biasHidden.length===32&&(this.biasHidden=new Float32Array(e.biasHidden)),e.biasOutput.length===3&&(this.biasOutput=new Float32Array(e.biasOutput))}}});var vt={};sn(vt,{NeuralTinyDancerRouter:()=>G,SimpleNeuralRouter:()=>R,createNeuralTinyDancerRouter:()=>Sn});import{performance as Tt}from"perf_hooks";function Sn(a){return new G(a)}var hn,fn,yn,Tn,vn,Cn,bn,kn,G,Ct=z(()=>{"use strict";ve();Te();Te();hn=1e3,fn=.1,yn=.2,Tn=50,vn=.01,Cn=["haiku","sonnet","opus"],bn={haiku:0,sonnet:1,opus:2},kn={"test-generation":.1,"test-execution":.15,"coverage-analysis":.2,"quality-assessment":.3,"requirements-validation":.35,"code-intelligence":.4,"contract-testing":.45,"visual-accessibility":.5,"learning-optimization":.55,"defect-intelligence":.7,"chaos-resilience":.8,"security-compliance":.9},G=class{ruleRouter;neuralNet;circuitBreakerThreshold;shadowModeDecisionLimit;shadowModeMaxDisagreement;shadowModeActive;shadowDecisions=[];shadowDisagreements=0;circuitBreakerTripped=!1;recentOutcomes=[];totalNeuralDecisions=0;totalWeightUpdates=0;neuralPrimary=!1;calibrationScores=[];maxCalibrationScores=500;domainSuccessRates=new Map;config;nativeRouterAvailable=!1;constructor(e={}){this.config=e,this.ruleRouter=new F(e),this.neuralNet=new R(e.learningRate??vn),this.circuitBreakerThreshold=e.circuitBreakerThreshold??yn,this.shadowModeDecisionLimit=e.shadowModeDecisions??hn,this.shadowModeMaxDisagreement=e.shadowModeMaxDisagreement??fn,e.forceShadowMode!==void 0?(this.shadowModeActive=e.forceShadowMode,this.neuralPrimary=!e.forceShadowMode):(this.shadowModeActive=!0,this.neuralPrimary=!1),this.tryLoadNativeRouter()}tryLoadNativeRouter(){this.nativeRouterAvailable=!1}async route(e){let t=Tt.now(),n=await this.ruleRouter.route(e);if(this.circuitBreakerTripped)return n;let i=this.extractFeatures(e,n.classification),r;try{r=this.neuralNet.forward(i)}catch{return this.tripCircuitBreaker(),n}let s=this.argmax(r),o=Cn[s],l=r[s];if(this.totalNeuralDecisions++,this.shadowModeActive){let m=n.model===o;return m||this.shadowDisagreements++,this.shadowDecisions.push({taskDescription:e.description.slice(0,100),ruleDecision:n.model,neuralDecision:o,agreed:m,neuralConfidence:l,timestamp:new Date}),this.evaluateShadowModeExit(),n}let c=Tt.now()-t,u=this.computeEmpiricalConfidenceBounds(r);return l<.3||u.calibrationScore>.8?n:{model:o,confidence:l,uncertainty:1-l,triggerMultiModel:n.triggerMultiModel,triggerHumanReview:n.triggerHumanReview,complexity:n.complexity,classification:n.classification,latencyMs:c,reasoning:this.buildNeuralReasoning(o,l,r,n,u)}}extractFeatures(e,t){let n=Math.min(1,t.score/100),i=e.description.length,r=e.context?.code?.length??0,s=(i+r)/4,o=Math.min(1,s/1e4),l=e.domain??"",c=kn[l]??.25,u=this.domainSuccessRates.get(l),d=u?u.success/Math.max(1,u.total):.7;return[n,o,c,d]}recordNeuralOutcome(e,t,n,i=n?1:0,r=t.model,s=0){this.ruleRouter.recordOutcome(e,t,n,i,r,s);let o=e.domain??"unknown",l=this.domainSuccessRates.get(o)??{success:0,total:0};l.total++,n&&l.success++,this.domainSuccessRates.set(o,l),this.recentOutcomes.push(n),this.recentOutcomes.length>Tn&&this.recentOutcomes.shift(),this.checkCircuitBreaker();let c=this.extractFeatures(e,t.classification),u=bn[r],d=(i-.5)*2;try{this.neuralNet.updateWeights(c,u,d),this.totalWeightUpdates++}catch{}let m=this.neuralNet.forward(c),p=this.argmax(m),f=1-m[u];this.calibrationScores.push(f),this.calibrationScores.length>this.maxCalibrationScores&&this.calibrationScores.shift()}computeEmpiricalConfidenceBounds(e){let n=Math.max(...e),i=1-n;if(this.calibrationScores.length<10)return{lower:0,upper:1,coverageLevel:.9,calibrationScore:i};let r=[...this.calibrationScores].sort((l,c)=>l-c),s=Math.ceil(.9*r.length)-1,o=r[Math.min(s,r.length-1)];return{lower:Math.max(0,n-o),upper:Math.min(1,n+o),coverageLevel:.9,calibrationScore:i}}computeConformalBounds(e){return this.computeEmpiricalConfidenceBounds(e)}evaluateShadowModeExit(){if(!this.shadowModeActive||this.config.forceShadowMode===!0)return;let e=this.shadowDecisions.length;if(e<this.shadowModeDecisionLimit)return;this.shadowDisagreements/e<=this.shadowModeMaxDisagreement&&(this.shadowModeActive=!1,this.neuralPrimary=!0)}checkCircuitBreaker(){if(this.recentOutcomes.length<10)return;let t=this.recentOutcomes.filter(n=>!n).length/this.recentOutcomes.length;t>this.circuitBreakerThreshold?this.tripCircuitBreaker():this.circuitBreakerTripped&&t<this.circuitBreakerThreshold*.5&&(this.circuitBreakerTripped=!1)}tripCircuitBreaker(){this.circuitBreakerTripped=!0,this.neuralPrimary=!1}buildNeuralReasoning(e,t,n,i,r){let s=[];return s.push(`[Neural] Routing to ${e.toUpperCase()}`),s.push(`with ${(t*100).toFixed(0)}% neural confidence.`),s.push(`Tier probabilities: haiku=${(n[0]*100).toFixed(0)}%,`),s.push(`sonnet=${(n[1]*100).toFixed(0)}%,`),s.push(`opus=${(n[2]*100).toFixed(0)}%.`),e!==i.model&&s.push(`Rule-based would choose ${i.model.toUpperCase()}.`),s.push(`Empirical bounds: [${r.lower.toFixed(2)}, ${r.upper.toFixed(2)}]`),s.push(`at ${(r.coverageLevel*100).toFixed(0)}% coverage.`),s.join(" ")}argmax(e){let t=0,n=e[0];for(let i=1;i<e.length;i++)e[i]>n&&(n=e[i],t=i);return t}getNeuralStats(){let e=this.shadowDecisions.length,t=e>0?this.shadowDisagreements/e:0,n=this.recentOutcomes.filter(r=>!r).length,i=this.recentOutcomes.length>0?n/this.recentOutcomes.length:0;return{shadowModeActive:this.shadowModeActive,shadowDecisions:e,disagreementRate:t,circuitBreakerTripped:this.circuitBreakerTripped,recentErrorRate:i,totalNeuralDecisions:this.totalNeuralDecisions,totalWeightUpdates:this.totalWeightUpdates,neuralPrimary:this.neuralPrimary}}getShadowDecisionLogs(){return this.shadowDecisions}getRuleRouter(){return this.ruleRouter}getNeuralNet(){return this.neuralNet}isNativeRouterAvailable(){return this.nativeRouterAvailable}isShadowModeActive(){return this.shadowModeActive}isNeuralPrimary(){return this.neuralPrimary}isCircuitBreakerTripped(){return this.circuitBreakerTripped}resetCircuitBreaker(){this.circuitBreakerTripped=!1,this.recentOutcomes=[]}getStats(){return this.ruleRouter.getStats()}getConfig(){return this.ruleRouter.getConfig()}reset(){this.ruleRouter.reset(),this.shadowDecisions=[],this.shadowDisagreements=0,this.circuitBreakerTripped=!1,this.recentOutcomes=[],this.totalNeuralDecisions=0,this.totalWeightUpdates=0,this.calibrationScores=[],this.domainSuccessRates.clear(),this.config.forceShadowMode!==void 0?(this.shadowModeActive=this.config.forceShadowMode,this.neuralPrimary=!this.config.forceShadowMode):(this.shadowModeActive=!0,this.neuralPrimary=!1)}}});import{performance as bt}from"perf_hooks";function kt(a){try{let{getRuVectorFeatureFlags:e}=(cn(),et(on));if(e().useNeuralRouting){let{NeuralTinyDancerRouter:n}=(Ct(),et(vt));return new n(a)}}catch(e){process.env.DEBUG&&console.debug("[Router] Neural router unavailable, using rule-based:",e instanceof Error?e.message:e)}return new F(a)}var F,ve=z(()=>{"use strict";yt();F=class{confidenceThreshold;uncertaintyThreshold;securityConfidenceThreshold;enableLearning;verbose;executor;totalRouted=0;routesByModel={haiku:0,sonnet:0,opus:0};routesByComplexity={simple:0,moderate:0,complex:0,critical:0};multiModelTriggers=0;humanReviewTriggers=0;advisorConsultations=0;totalConfidence=0;totalLatencyMs=0;outcomes=[];maxOutcomes=1e3;constructor(e={}){this.confidenceThreshold=e.confidenceThreshold??.8,this.uncertaintyThreshold=e.uncertaintyThreshold??.2,this.securityConfidenceThreshold=e.securityConfidenceThreshold??.85,this.enableLearning=e.enableLearning??!0,this.verbose=e.verbose??!1,this.executor=e.executor}hasExecutor(){return this.executor!==void 0}async routeWithAdvisor(e,t){let n=await this.route(e);if(!n.triggerMultiModel||!this.executor||!t)return{route:n};let i=await this.executor.consult(t,{agentName:e.agentId??e.id??"unknown",triggerReason:`tiny_dancer.confidence=${n.confidence.toFixed(2)}<${this.confidenceThreshold}`});return this.advisorConsultations++,{route:n,advisor:i}}async route(e){let t=bt.now(),n=ft(e),i=this.calculateConfidence(n),r=1-i,s=this.isSecurityTask(e),o=s&&i<this.securityConfidenceThreshold||i<this.confidenceThreshold&&n.complexity!=="simple",l=r>this.uncertaintyThreshold||s&&n.complexity==="critical",c=bt.now()-t,u=this.buildReasoning(n,i,s,o,l),d={model:n.recommendedModel,confidence:i,uncertainty:r,triggerMultiModel:o,triggerHumanReview:l,complexity:n.complexity,classification:n,latencyMs:c,reasoning:u};return this.updateStats(d),this.verbose&&console.log(`[TinyDancer] Route: ${n.recommendedModel} (complexity=${n.complexity}, confidence=${(i*100).toFixed(1)}%)`),d}calculateConfidence(e){let{score:t,complexity:n}=e;if(n==="simple"&&t<10)return .9;if(n==="critical"&&t>85)return .92;let i=[S.moderate,S.complex,S.critical],r=1/0;for(let d of i){let m=Math.abs(t-d);m<r&&(r=m)}let s=.55,o=.35,l=Math.min(r/25,1),c=s+l*o,u=n!=="simple"?Math.min(.05,e.factors.length*.01):0;return Math.min(.95,c+u)}isSecurityTask(e){let t=e;if(t.type==="security-scan"||t.type==="vulnerability-assessment"||e.domain==="security-compliance")return!0;let n=["sast","dast","vulnerability","owasp","security-scanning"];if(e.requiredCapabilities?.some(s=>n.includes(s)))return!0;let i=["security","vulnerability","cve","owasp","exploit","injection"],r=e.description.toLowerCase();return!!i.some(s=>r.includes(s))}buildReasoning(e,t,n,i,r){let s=[];if(s.push(`Routing to ${e.recommendedModel.toUpperCase()}`),s.push(`(complexity: ${e.complexity}, score: ${e.score})`),s.push(`with ${(t*100).toFixed(0)}% confidence.`),e.factors.length>0){let o=e.factors.slice(0,3).map(l=>l.name).join(", ");s.push(`Key factors: ${o}.`)}return n&&s.push("Security-sensitive task detected."),i&&s.push("Multi-model verification recommended due to uncertainty."),r&&s.push("Human review flagged due to high uncertainty or criticality."),s.join(" ")}updateStats(e){this.totalRouted++,this.routesByModel[e.model]++,this.routesByComplexity[e.complexity]++,this.totalConfidence+=e.confidence,this.totalLatencyMs+=e.latencyMs,e.triggerMultiModel&&this.multiModelTriggers++,e.triggerHumanReview&&this.humanReviewTriggers++}recordOutcome(e,t,n,i=n?1:0,r=t.model,s=0){if(!this.enableLearning)return;let o={task:e,routeResult:t,success:n,qualityScore:i,actualModelUsed:r,durationMs:s,timestamp:new Date};this.outcomes.push(o),this.outcomes.length>this.maxOutcomes&&this.outcomes.shift(),this.verbose&&console.log(`[TinyDancer] Recorded outcome: success=${n}, quality=${(i*100).toFixed(0)}%, model=${r}`)}getStats(){return{totalRouted:this.totalRouted,routesByModel:{...this.routesByModel},routesByComplexity:{...this.routesByComplexity},multiModelTriggers:this.multiModelTriggers,advisorConsultations:this.advisorConsultations,humanReviewTriggers:this.humanReviewTriggers,avgConfidence:this.totalRouted>0?this.totalConfidence/this.totalRouted:0,avgLatencyMs:this.totalRouted>0?this.totalLatencyMs/this.totalRouted:0,outcomesRecorded:this.outcomes.length}}getOutcomes(){return this.outcomes}getSuccessRateByModel(){let e={haiku:{success:0,total:0},sonnet:{success:0,total:0},opus:{success:0,total:0}};for(let t of this.outcomes){let n=t.actualModelUsed;e[n].total++,t.success&&e[n].success++}return{haiku:e.haiku.total>0?e.haiku.success/e.haiku.total:0,sonnet:e.sonnet.total>0?e.sonnet.success/e.sonnet.total:0,opus:e.opus.total>0?e.opus.success/e.opus.total:0}}reset(){this.totalRouted=0,this.routesByModel={haiku:0,sonnet:0,opus:0},this.routesByComplexity={simple:0,moderate:0,complex:0,critical:0},this.multiModelTriggers=0,this.advisorConsultations=0,this.humanReviewTriggers=0,this.totalConfidence=0,this.totalLatencyMs=0,this.outcomes=[]}getConfig(){return{confidenceThreshold:this.confidenceThreshold,uncertaintyThreshold:this.uncertaintyThreshold,securityConfidenceThreshold:this.securityConfidenceThreshold,enableLearning:this.enableLearning,verbose:this.verbose}}}});var ln={enableConsoleLog:!0,maxEntries:1e3,logPrefix:"[TASK]"},q=class{entries=[];config;constructor(e={}){this.config={...ln,...e}}log(e,t,n){let i={timestamp:new Date,operation:e,taskId:t,agentId:n?.agentId,domain:n?.domain,details:n?.details};if(this.entries.push(i),this.entries.length>this.config.maxEntries&&this.entries.splice(0,this.entries.length-this.config.maxEntries),this.config.enableConsoleLog){let r=n?.agentId?` by ${n.agentId}`:"",s=n?.domain?` (${n.domain})`:"";console.log(`${this.config.logPrefix} ${e.toUpperCase()} ${t}${r}${s}`)}}logSubmit(e,t){this.log("submit",e,{details:t})}logAssign(e,t,n){this.log("assign",e,{agentId:t,domain:n})}logReassign(e,t,n,i){this.log("reassign",e,{agentId:n,domain:i,details:{fromAgent:t}})}logComplete(e,t){this.log("complete",e,{agentId:t})}logFail(e,t,n){this.log("fail",e,{agentId:t,details:n?{error:n}:void 0})}logCancel(e){this.log("cancel",e)}logSteal(e,t,n){this.log("steal",e,{domain:n,details:{fromDomain:t}})}logQueue(e,t){this.log("queue",e,{details:{position:t}})}logDequeue(e){this.log("dequeue",e)}getEntries(e){let t=[...this.entries];e&&(e.operation&&(t=t.filter(i=>i.operation===e.operation)),e.taskId&&(t=t.filter(i=>i.taskId===e.taskId)),e.agentId&&(t=t.filter(i=>i.agentId===e.agentId)),e.domain&&(t=t.filter(i=>i.domain===e.domain)),e.fromTimestamp&&(t=t.filter(i=>i.timestamp>=e.fromTimestamp)),e.toTimestamp&&(t=t.filter(i=>i.timestamp<=e.toTimestamp)));let n=e?.limit??t.length;return t.slice(-n)}getStatistics(){let e={submit:0,assign:0,reassign:0,complete:0,fail:0,cancel:0,steal:0,queue:0,dequeue:0},t=new Set,n=new Set;for(let i of this.entries)e[i.operation]++,t.add(i.taskId),i.agentId&&n.add(i.agentId);return{totalEntries:this.entries.length,operationCounts:e,taskCount:t.size,agentCount:n.size}}clear(){this.entries.length=0}};function he(a){return new q(a)}me();rt();var fe=class{memory;initialized=!1;constructor(e){this.memory=e??w()}async initialize(){this.initialized||(this.memory.isInitialized()||await this.memory.initialize(),this.initialized=!0)}async saveSnapshot(e){this.ensureInitialized();let t=T();return this.memory.getDatabase().prepare(`
3
3
  INSERT INTO mincut_snapshots (
4
4
  id, timestamp, vertex_count, edge_count, total_weight,
5
5
  is_connected, component_count, vertices_json, edges_json
@@ -177,4 +177,4 @@ import{b as pe}from"./chunk-6FIWTBR5.js";import{a as dt}from"./chunk-EKZNA6HW.js
177
177
  `;let i=this.getRecommendations(n);if(i.length>0){t+=`**Recommendations:**
178
178
  `;for(let r of i)t+=`- ${r}
179
179
  `;t+=`
180
- `}}return t}getRecommendations(e){switch(e.loopType){case"strategic":return[...e.recommendations.forRiskAssessor,...e.recommendations.forQualityCriteria];case"tactical":return e.recommendations.forProductFactorsAssessor;case"operational":return[...e.recommendations.forTestArchitect,...e.recommendations.antiPatterns];case"quality-criteria":return e.recommendations.forRequirementsValidator;default:return[]}}filterManagedHooks(e){if(process.env.AQE_HOOKS_MANAGED_ONLY!=="true")return e;let t=e.filter(([n])=>n.startsWith("managed:"));return t.length<e.length&&console.log(`[CrossPhaseHooks] AQE_HOOKS_MANAGED_ONLY: filtered ${e.length-t.length} non-managed hooks`),t}async isBlockedUrl(e){if(!e.includes("://"))return!1;let t=await pe(e);return t.safe?!1:(console.warn(`[CrossPhaseHooks] SSRF blocked: ${t.reason}`),!0)}checkConditions(e,t){return!e||e.length===0?!0:e.every(n=>this.evaluateCondition(n,t))}evaluateCondition(e,t){try{let n=e.split(/\s*(>|<|>=|<=|==|!=)\s*/);if(n.length!==3)return!1;let[i,r,s]=n,o=this.getValueFromPath(t,i),l=isNaN(Number(s))?s:Number(s),c=typeof o=="number"?o:Number(o),u=typeof l=="number"?l:Number(l);switch(r){case">":return c>u;case"<":return c<u;case">=":return c>=u;case"<=":return c<=u;case"==":return o==l;case"!=":return o!=l;default:return!1}}catch{return!1}}getValueFromPath(e,t){return t.split(".").reduce((n,i)=>{if(n&&typeof n=="object"&&i in n)return n[i]},e)}extractFromContext(e,t){let n={};for(let[i,r]of Object.entries(e))n[i]=this.getValueFromPath(t,r);return n}parseMaxAge(e){let t=e.match(/^(\d+)(d|h|m|s)$/);if(!t)return 0;let[,n,i]=t,r=parseInt(n,10);switch(i){case"d":return r*24*60*60*1e3;case"h":return r*60*60*1e3;case"m":return r*60*1e3;case"s":return r*1e3;default:return 0}}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(e,t){this.listeners.get(e)?.forEach(n=>n(t))}async runCleanup(){if(!this.config?.cleanup.enabled)return;console.log("[CrossPhaseHooks] Running cleanup...");let e=await this.memory.cleanupExpired();console.log(`[CrossPhaseHooks] Cleanup complete: ${e.deleted} signals deleted`)}},qe=null;function Gt(a){return qe||(qe=new Ge(a)),qe}function jt(a,e){let t=[];for(let s of e){let o=a.router.subscribeToDoamin(s,async l=>{await ai(a,l)});t.push(o)}let n=a.router.subscribeToEventType("TaskCompleted",async s=>{await oi(a,s)});t.push(n);let i=a.router.subscribeToEventType("TaskFailed",async s=>{await ci(a,s)});t.push(i);let r=a.router.subscribeToEventType("AgentStatusChanged",async s=>{await li(a,s)});return t.push(r),t}async function ai(a,e){a.domainLastActivity.set(e.source,new Date),await a.processQueue()}async function oi(a,e){let{taskId:t,result:n}=e.payload,i=a.tasks.get(t);if(i){(i.status==="running"||i.status==="assigned")&&(a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1));let r=i.startedAt?Date.now()-i.startedAt.getTime():0;a.tasks.set(t,{...i,status:"completed",completedAt:new Date,result:n}),a.tasksCompleted++,a.taskDurations.push(r),a.auditLogger.logComplete(t,i.assignedAgents[0]);try{let s=Gt(),o=i.assignedAgents[0];o&&await s.onAgentComplete(o,{taskId:t,taskType:i.task.type,domain:i.assignedDomain,result:n,duration:r})}catch(s){console.warn("[QueenCoordinator] Cross-phase hook error:",s)}try{await I.afterTaskExecution({taskId:t,taskType:i.task.type,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",priority:i.task.priority},!0,0,0)}catch(s){console.warn("[QueenCoordinator] Governance tracking error:",s)}if(a.domainBreakerRegistry&&i.assignedDomain&&a.domainBreakerRegistry.getBreaker(i.assignedDomain).recordSuccess(),a.traceCollector){let s=a.taskTraceContexts.get(t);s&&(a.traceCollector.completeSpan(s.spanId),a.taskTraceContexts.delete(t))}if(a.taskCompletedHook)try{let s=typeof n=="object"&&n!==null?n:null;if(s===null)console.error(`[QueenCoordinator] Pattern training skipped for task ${t}: result is not an object (got ${typeof n})`);else{let o=ui(s,t);if(o){let l={taskId:t,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",type:i.task.type,status:"completed",output:s,metrics:o,duration:r,timestamp:Date.now()};a.taskCompletedHook.onTaskCompleted(l).catch(c=>{console.warn("[QueenCoordinator] Pattern training error:",c)})}}}catch(s){console.warn("[QueenCoordinator] Pattern training setup error:",s)}}await a.processQueue()}async function ci(a,e){let{taskId:t,error:n}=e.payload,i=a.tasks.get(t);if(i){if((i.status==="running"||i.status==="assigned")&&(a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1)),a.domainBreakerRegistry&&i.assignedDomain&&a.domainBreakerRegistry.getBreaker(i.assignedDomain).recordFailure(new Error(n||"Task failed")),a.traceCollector){let r=a.taskTraceContexts.get(t);r&&(a.traceCollector.failSpan(r.spanId,n||"Task failed"),a.taskTraceContexts.delete(t))}if(i.retryCount<a.config.taskRetryLimit){a.auditLogger.logFail(t,i.assignedAgents[0],n);let r={...i,status:"queued",retryCount:i.retryCount+1,error:n};a.tasks.set(t,r),a.enqueueTask(i.task)}else{a.tasks.set(t,{...i,status:"failed",completedAt:new Date,error:n}),a.tasksFailed++,a.auditLogger.logFail(t,i.assignedAgents[0],n);try{await I.afterTaskExecution({taskId:t,taskType:i.task.type,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",priority:i.task.priority},!1,0,0)}catch(r){console.warn("[QueenCoordinator] Governance tracking error:",r)}if(a.hypothesisManager&&(i.task.priority==="p0"||i.task.priority==="p1"))try{let r=i.assignedDomain||"test-generation",s=a.hypothesisManager.createInvestigation(t,r,`Root cause analysis for ${i.task.type} failure: ${n}`);a.hypothesisManager.addHypothesis(s.id,`Infrastructure failure in domain '${r}' caused task ${t} to fail`,"log-analysis",`${r}-lead`),a.hypothesisManager.addHypothesis(s.id,`Logic/configuration error in task payload caused ${i.task.type} to fail: ${n}`,"code-analysis",i.assignedAgents[0]||"unknown"),console.log(`[QueenCoordinator] Competing hypotheses investigation created: ${s.id}`)}catch(r){console.warn("[QueenCoordinator] Hypothesis creation error:",r)}}}await a.processQueue()}async function li(a,e){let{agentId:t,status:n,domain:i}=e.payload;a.domainLastActivity.set(i,new Date),(n==="completed"||n==="failed")&&await a.processQueue()}function ui(a,e){if("metrics"in a&&typeof a.metrics=="object"&&a.metrics!==null){let t=a.metrics;return{testsPassed:typeof t.testsPassed=="number"?t.testsPassed:void 0,testsFailed:typeof t.testsFailed=="number"?t.testsFailed:void 0,coverageChange:typeof t.coverageChange=="number"?t.coverageChange:void 0,securityIssues:typeof t.securityIssues=="number"?t.securityIssues:void 0,performanceMs:typeof t.performanceMs=="number"?t.performanceMs:void 0,linesChanged:typeof t.linesChanged=="number"?t.linesChanged:void 0}}return"testsPassed"in a||"testsFailed"in a?{testsPassed:typeof a.testsPassed=="number"?a.testsPassed:void 0,testsFailed:typeof a.testsFailed=="number"?a.testsFailed:void 0,coverageChange:typeof a.coverageChange=="number"?a.coverageChange:void 0,securityIssues:typeof a.securityIssues=="number"?a.securityIssues:void 0,performanceMs:typeof a.performanceMs=="number"?a.performanceMs:void 0,linesChanged:typeof a.linesChanged=="number"?a.linesChanged:void 0}:(console.error(`[QueenCoordinator] Pattern training skipped for task ${e}: result object has no recognizable metrics shape (keys: ${Object.keys(a).join(", ")})`),null)}function Wt(a,e,t){let n=a.listAgents({domain:e}),i=n.filter(l=>l.status==="running").length,r=n.filter(l=>l.status==="idle").length,s=n.filter(l=>l.status==="failed").length,o;return s>0&&s>=n.length/2?o="unhealthy":s>0?o="degraded":i>0?o="healthy":o="idle",{status:o,agents:{total:n.length,active:i,idle:r,failed:s},lastActivity:t,errors:[]}}var di=ut();function Vt(a,e,t){let n=a.get(t.priority);n&&lt(n,t,di);for(let i of t.targetDomains){let r=e.get(i);r&&r.push(t)}}function de(a,e,t){let n=a.get(t.priority);if(n){let i=n.findIndex(r=>r.id===t.id);i!==-1&&n.splice(i,1)}for(let i of t.targetDomains){let r=e.get(i);if(r){let s=r.findIndex(o=>o.id===t.id);s!==-1&&r.splice(s,1)}}}function je(a,e){let t=0;for(let n of["p0","p1","p2","p3"]){let i=a.get(n);if(i){if(n===e.priority){t+=i.findIndex(r=>r.id===e.id);break}t+=i.length}}return t}async function We(a){if(!(a.runningTaskCounter>=a.config.maxConcurrentTasks))for(let e of["p0","p1","p2","p3"]){let t=a.taskQueue.get(e);if(!t||t.length===0)continue;let n=t.shift();if(n){de(a.taskQueue,a.domainQueues,n),a.runningTaskCounter++;try{await Ve(a,n)}catch(i){throw a.runningTaskCounter--,i}if(a.runningTaskCounter>=a.config.maxConcurrentTasks)return}}}function Kt(a,e){let t=Array.from(a.values());return e&&(e.status&&(t=t.filter(n=>n.status===e.status)),e.domain&&(t=t.filter(n=>n.assignedDomain===e.domain)),e.priority&&(t=t.filter(n=>n.task.priority===e.priority)),e.type&&(t=t.filter(n=>n.task.type===e.type)),e.fromDate&&(t=t.filter(n=>n.task.createdAt>=e.fromDate)),e.toDate&&(t=t.filter(n=>n.task.createdAt<=e.toDate))),t}async function Ve(a,e){let t=e.targetDomains.length>0?e.targetDomains:P[e.type]||[];if(t.length===0)return y(new Error(`No domains configured for task type: ${e.type}`));let n,i=1/0;for(let r of t){let s=a.getDomainLoad(r);a.getDomainHealth(r)?.status!=="unhealthy"&&s<i&&(i=s,n=r)}return n?Ke(a,e,n):y(new Error("No healthy domain available for task"))}async function Ke(a,e,t){let n;if(a.tinyDancerRouter){let c={p0:"critical",p1:"high",p2:"normal",p3:"low"},u={description:`${e.type}: ${JSON.stringify(e.payload).slice(0,200)}`,type:e.type,domain:t,priority:c[e.priority]};n=await a.tinyDancerRouter.route(u),a.config.enableMetrics&&console.log(`[Queen] TinyDancer routing: ${e.type} \u2192 tier=${n.tier}, model=${n.model}, cost=$${n.estimatedCost.toFixed(4)}`)}if(a.domainBreakerRegistry&&!a.domainBreakerRegistry.canExecuteInDomain(t))return y(new Error(`Domain '${t}' circuit breaker is open \u2014 too many recent failures`));if(a.domainTeamManager)try{if(!a.domainTeamManager.getDomainTeam(t)){let u=`${t}-lead`;a.domainTeamManager.createDomainTeam(t,u)}}catch(c){console.warn(`[Queen] Domain team setup for '${t}' failed (continuing):`,c)}let i=n?.tier||"task-worker",r=["task-execution",e.type,...n?[`model:${n.model}`]:[],...n?.triggerMultiModel?["advisor:triggerMultiModel"]:[]],s=await a.requestAgentSpawn(t,i,r),o=[];s.success&&o.push(s.value);let l={taskId:e.id,task:e,status:"running",assignedDomain:t,assignedAgents:o,startedAt:new Date,retryCount:0};a.tasks.set(e.id,l),a.domainLastActivity.set(t,new Date);for(let c of o)a.auditLogger.logAssign(e.id,c,t);if(await a.publishEvent("TaskAssigned",{taskId:e.id,domain:t,agentIds:o}),a.domainPlugins){let c=a.domainPlugins.get(t);if(c?.executeTask&&c.canHandleTask?.(e.type)){let u={taskId:e.id,taskType:e.type,payload:e.payload,priority:e.priority,timeout:e.timeout,correlationId:e.correlationId},d=await c.executeTask(u,m=>mi(a,m));return d.success?b(e.id):(a.tasks.set(e.id,{...l,status:"failed",error:d.error.message,completedAt:new Date}),a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1),a.tasksFailed++,a.auditLogger.logFail(e.id,o[0],d.error.message),y(d.error))}if(c)try{await c.handleEvent({id:T(),type:"TaskAssigned",timestamp:new Date,source:"queen-coordinator",correlationId:e.correlationId,payload:{task:e}}),console.warn(`[Queen] Domain ${t} has no executeTask handler, using event fallback`)}catch(u){console.warn(`[Queen] Failed to invoke domain ${t} event handler:`,u)}}return b(e.id)}async function mi(a,e){let t=a.tasks.get(e.taskId);if(!t){console.warn(`[Queen] Received completion for unknown task: ${e.taskId}`);return}let n={...t,status:e.success?"completed":"failed",completedAt:new Date,result:e.data,error:e.error};if(a.tasks.set(e.taskId,n),e.success?(a.tasksCompleted++,a.taskDurations.push(e.duration),a.auditLogger.logComplete(e.taskId,t.assignedAgents[0])):(a.tasksFailed++,a.auditLogger.logFail(e.taskId,t.assignedAgents[0],e.error||"Unknown error")),a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1),a.coExecutionRepo&&t.assignedAgents.length>=2)try{a.coExecutionRepo.recordSwarmCoExecution(t.assignedAgents,t.assignedDomain||"unknown",e.success,t.task.type)}catch{}for(let i of t.assignedAgents)await a.agentCoordinator.stop(i);await a.publishEvent(e.success?"TaskCompleted":"TaskFailed",{taskId:e.taskId,domain:t.assignedDomain,result:e.data,error:e.error,duration:e.duration}),await We(a)}function Yt(a,e){return(P[e.type]||[]).includes(a)}k();async function Zt(a){let e=0,t=a.getIdleDomains(),n=a.getBusyDomains();if(t.length===0||n.length===0)return 0;n.sort((i,r)=>a.getDomainLoad(r)-a.getDomainLoad(i));for(let i of n){if(t.length===0)break;let r=a.domainQueues.get(i)||[],s=Math.min(r.length,a.config.workStealing.stealBatchSize);for(let o=0;o<s&&t.length>0;o++){let l=r.find(c=>Yt(t[0],c));if(l){let c=t.shift();a.removeFromQueues(l),a.auditLogger.logSteal(l.id,i,c),await a.assignTaskToDomain(l,c),e++,a.tasksStolen++,await a.publishEvent("TaskStolen",{taskId:l.id,fromDomain:i,toDomain:c})}}}return e}function Ye(a,e){let t=0,n=10,i=setInterval(async()=>{try{await e(),t=0}catch(r){t++;let s=Math.min(1e3*Math.pow(2,t),3e4);if(console.warn(`[QueenCoordinator] Work-stealing failed (attempt ${t}), backing off ${s}ms`,h(r)),t>n){console.error(`[QueenCoordinator] Work-stealing exceeded ${n} consecutive failures, stopping interval`),clearInterval(i);return}await new Promise(o=>setTimeout(o,s))}},a.workStealing.checkInterval);return i}function Ze(a){return typeof a.setMinCutBridge=="function"}function Xt(a,e){for(let[t,n]of a)Ze(n)&&(n.setMinCutBridge(e),console.log(`[QueenCoordinator] MinCut bridge injected into ${t}`))}async function Jt(a,e,t){try{let n=await a.get("queen:state");if(n)for(let[i,r]of n.tasks)r.status==="queued"&&(e.set(i,r),t(r.task))}catch(n){console.debug("[QueenCoordinator] State loading failed:",n instanceof Error?n.message:n)}}async function en(a,e){let t=Array.from(e.entries()).filter(([,n])=>n.status==="queued");await a.set("queen:state",{tasks:t},{namespace:"queen-coordinator",persist:!0})}function tn(a){return setInterval(async()=>{let e=a.getMetrics();if(await a.publishEvent("MetricsCollected",{metrics:e}),await a.memory.set(`queen:metrics:${Date.now()}`,e,{ttl:86400,namespace:"queen-coordinator"}),a.dynamicScaler)try{let t=a.getAverageTaskDuration(),n={queueDepth:a.getQueuedTaskCount(),activeAgents:a.getActiveAgentCount(),idleAgents:a.getIdleAgentCount(),avgTaskDurationMs:t,errorRate:a.getTasksReceived()>0?a.getTasksFailed()/a.getTasksReceived():0,throughput:e.uptime>0?a.getTasksCompleted()/(e.uptime/1e3):0,timestamp:Date.now()};a.dynamicScaler.recordMetrics(n);let i=a.dynamicScaler.evaluate();i&&i.action!=="maintain"&&(console.log(`[QueenCoordinator] Dynamic scaler: ${i.action} to ${i.targetAgents} agents \u2014 ${i.reason}`),a.dynamicScaler.execute(i).catch(r=>{console.warn("[QueenCoordinator] Dynamic scaling execution error:",r)}))}catch(t){console.warn("[QueenCoordinator] Dynamic scaler metrics error:",t)}},a.config.metricsInterval)}function Xe(a,e,t=36e5){let n=Date.now(),i=0;for(let[s,o]of a)if(o.status==="completed"||o.status==="failed"||o.status==="cancelled"){let l=o.completedAt?.getTime()||o.startedAt?.getTime()||0;l>0&&n-l>t&&(a.delete(s),e.delete(s),i++)}let r=1e4;if(e.size>r){let s=e.size-r,o=e.keys();for(let l=0;l<s;l++){let c=o.next().value;c!==void 0&&e.delete(c)}console.log(`[QueenCoordinator] Evicted ${s} oldest trace contexts (max: ${r})`)}return i>0&&console.log(`[QueenCoordinator] Cleaned up ${i} old tasks (retention: ${t}ms)`),i}function nn(a,e){return a&&a.size>0?Array.from(a.keys()):[...e]}var g=it.create("QueenCoordinator");zt(v);var Je=class{constructor(e,t,n,i,r,s,o,l={}){this.eventBus=e;this.agentCoordinator=t;this.memory=n;this.router=i;this.protocolExecutor=r;this.workflowExecutor=s;this.domainPlugins=o;this.config={...Ut,...l},this.auditLogger=he({enableConsoleLog:this.config.enableMetrics,maxEntries:1e3,logPrefix:"[QUEEN]"}),["p0","p1","p2","p3"].forEach(c=>{this.taskQueue.set(c,[])}),this.config.enableRouting!==!1&&(this.tinyDancerRouter=new j(this.config.routing)),v.forEach(c=>{this.domainQueues.set(c,[]),this.domainLastActivity.set(c,new Date)})}eventBus;agentCoordinator;memory;router;protocolExecutor;workflowExecutor;domainPlugins;config;tasks=new Map;taskQueue=new Map;domainQueues=new Map;domainLastActivity=new Map;initialized=!1;workStealingTimer=null;metricsTimer=null;cleanupTimer=null;startTime=new Date;eventSubscriptionIds=[];runningTaskCounter=0;tasksReceived=0;tasksCompleted=0;tasksFailed=0;tasksStolen=0;taskDurations=new nt(1e3);protocolsExecuted=0;workflowsExecuted=0;auditLogger;minCutBridge=null;tinyDancerRouter=null;domainBreakerRegistry=null;domainTeamManager=null;agentTeamsAdapter=null;tierSelector=null;taskCompletedHook=null;traceCollector=null;taskTraceContexts=new Map;hypothesisManager=null;federationMailbox=null;dynamicScaler=null;coExecutionRepo=null;dependencyGraph=null;availableMcpServers=[];async initialize(){if(!this.initialized){this.startTime=new Date,await this.router.initialize(),this.subscribeToEvents(),this.config.workStealing.enabled&&(this.workStealingTimer=Ye(this.config,()=>this.triggerWorkStealing().then(()=>{}))),this.config.enableMetrics&&(this.metricsTimer=tn(this.createMetricsContext())),this.cleanupTimer=setInterval(()=>{Xe(this.tasks,this.taskTraceContexts,36e5)},3e5),this.cleanupTimer.unref(),await Jt(this.memory,this.tasks,e=>this.enqueueTaskInternal(e)),this.minCutBridge=ht(this.eventBus,this.agentCoordinator,{autoUpdateFromEvents:!0,persistData:!0,includeInQueenHealth:!0,sharedGraph:ct()}),await this.minCutBridge.initialize(),this.domainPlugins&&Xt(this.domainPlugins,this.minCutBridge);try{await I.initialize(),g.info("Governance adapter initialized")}catch(e){g.warn("Governance initialization failed (continuing)",{error:e})}this.initializeSubsystems();try{let{join:e}=await import("path"),t=e(process.cwd(),".claude","agents","v3");this.dependencyGraph=Rt(t),this.availableMcpServers=dt(process.cwd());let{getUnifiedMemory:n}=await import("./unified-memory-2PA3CIQT.js"),i=n();await i.initialize(),this.coExecutionRepo=wt(),this.coExecutionRepo.initialize(i.getDatabase()),this.dependencyGraph.warnings.length>0&&g.warn(`Dependency graph: ${this.dependencyGraph.warnings.length} warning(s)`,{warnings:this.dependencyGraph.warnings.slice(0,5)}),g.info("Dependency intelligence initialized",{agents:this.dependencyGraph.nodes.size,mcpServers:this.availableMcpServers.length})}catch(e){g.warn("Dependency intelligence initialization failed (continuing)",{error:e})}await this.publishEvent("QueenInitialized",{timestamp:new Date,config:this.config,domains:v}),this.initialized=!0}}async dispose(){this.workStealingTimer&&(clearInterval(this.workStealingTimer),this.workStealingTimer=null),this.metricsTimer&&(clearInterval(this.metricsTimer),this.metricsTimer=null),this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null),this.minCutBridge&&(await this.minCutBridge.dispose(),this.minCutBridge=null),this.domainTeamManager&&(this.domainTeamManager.dispose(),this.domainTeamManager=null),this.agentTeamsAdapter&&(this.agentTeamsAdapter.shutdown(),this.agentTeamsAdapter=null),this.domainBreakerRegistry=null,this.tierSelector=null,this.traceCollector&&(this.traceCollector.dispose(),this.traceCollector=null),this.hypothesisManager&&(this.hypothesisManager.dispose(),this.hypothesisManager=null),this.federationMailbox&&(this.federationMailbox.dispose(),this.federationMailbox=null),this.dynamicScaler&&(this.dynamicScaler.dispose(),this.dynamicScaler=null),await en(this.memory,this.tasks);for(let[e,t]of this.tasks)(t.status==="queued"||t.status==="running")&&await this.cancelTask(e);await this.publishEvent("QueenShutdown",{timestamp:new Date,metrics:this.getMetrics()});for(let e of this.eventSubscriptionIds)this.router.unsubscribe(e);this.eventSubscriptionIds=[],await this.router.dispose(),this.initialized=!1}async submitTask(e){if(!this.initialized)return y(new Error("Queen Coordinator not initialized"));let t=`task_${T()}`,n={...e,id:t,createdAt:new Date,timeout:e.timeout||this.config.defaultTaskTimeout},i={taskId:n.id,taskType:n.type,agentId:n.requester||`queen-task:${n.id}`,domain:n.targetDomains[0]||"test-generation",priority:n.priority,payload:n.payload};try{let r=await I.beforeTaskExecution(i);if(!r.allowed)return this.auditLogger.logFail(t,"governance",r.reason||"Governance check failed"),await this.publishEvent("TaskRejected",{taskId:t,reason:r.reason,escalate:r.escalate}),y(new Error(`Task blocked by governance: ${r.reason}`))}catch(r){g.warn("Governance check error (continuing)",{error:r})}this.runningTaskCounter++;try{if(this.runningTaskCounter>this.config.maxConcurrentTasks)return this.runningTaskCounter--,this.queueTask(n);this.auditLogger.logSubmit(t,{type:n.type,priority:n.priority}),this.selectFleetTier(n),this.startTaskTrace(n,t);let r=await Ve(this.createTaskContext(),n);return r.success?(this.tasksReceived++,await this.publishEvent("TaskSubmitted",{taskId:t,task:n}),b(t)):(this.runningTaskCounter--,r)}catch(r){throw this.runningTaskCounter--,r}}async cancelTask(e){let t=this.tasks.get(e);if(!t)return y(new Error(`Task not found: ${e}`));if(t.status==="completed"||t.status==="failed")return y(new Error(`Task already finished: ${e}`));(t.status==="running"||t.status==="assigned")&&(this.runningTaskCounter=Math.max(0,this.runningTaskCounter-1)),this.tasks.set(e,{...t,status:"cancelled",completedAt:new Date}),de(this.taskQueue,this.domainQueues,t.task);for(let n of t.assignedAgents)await this.agentCoordinator.stop(n);return this.auditLogger.logCancel(e),await this.publishEvent("TaskCancelled",{taskId:e}),b(void 0)}getTaskStatus(e){return this.tasks.get(e)}listTasks(e){return Kt(this.tasks,e)}getDomainHealth(e){if(this.domainPlugins){let t=this.domainPlugins.get(e);if(t)return t.getHealth()}return Wt(this.agentCoordinator,e,this.domainLastActivity.get(e))}getDomainLoad(e){let t=this.domainQueues.get(e)||[],n=Array.from(this.tasks.values()).filter(i=>i.assignedDomain===e&&i.status==="running");return t.length+n.length}getIdleDomains(){let e=Date.now(),t=this.config.workStealing.idleThreshold;return v.filter(n=>{let i=this.domainLastActivity.get(n);return this.getDomainLoad(n)===0&&i&&e-i.getTime()>t})}getBusyDomains(){return v.filter(e=>this.getDomainLoad(e)>this.config.workStealing.loadThreshold)}getSpawnPlan(e){return this.dependencyGraph?_t(e,this.dependencyGraph):{phases:[e],warnings:[],unsatisfiedHardDeps:[]}}getDependencyGraph(){return this.dependencyGraph}enableWorkStealing(){this.workStealingTimer||(this.workStealingTimer=Ye(this.config,()=>this.triggerWorkStealing().then(()=>{})))}disableWorkStealing(){this.workStealingTimer&&(clearInterval(this.workStealingTimer),this.workStealingTimer=null)}async triggerWorkStealing(){return Zt(this.createWorkStealingContext())}listAllAgents(){return this.agentCoordinator.listAgents()}getAgentsByDomain(e){return this.agentCoordinator.listAgents({domain:e})}async requestAgentSpawn(e,t,n){if(!this.agentCoordinator.canSpawn())return y(new Error("Maximum concurrent agents reached (15)"));if(this.dependencyGraph&&this.availableMcpServers.length>0)try{for(let[,r]of this.dependencyGraph.nodes){let s=r.dependencies.mcpServers;if(!s||s.length===0)continue;let o=s.filter(l=>l.required&&!this.availableMcpServers.includes(l.name));if(o.length>0){g.warn(`Pre-spawn MCP advisory: ${r.agentName} needs ${o.map(l=>l.name).join(", ")}`,{agent:r.agentName,domain:e,missing:o.map(l=>l.name)});break}}}catch{}let i=await this.agentCoordinator.spawn({name:`${e}-${t}-${Date.now()}`,domain:e,type:t,capabilities:n});if(i.success){if(this.domainLastActivity.set(e,new Date),this.domainTeamManager&&typeof this.domainTeamManager.getDomainTeam=="function")try{if(this.domainTeamManager.getDomainTeam(e))this.domainTeamManager.addTeammate(e,i.value)||g.warn(`Agent ${i.value} could not join ${e} team (full)`);else try{this.domainTeamManager.createDomainTeam(e,i.value)}catch{this.domainTeamManager.addTeammate(e,i.value)||g.warn(`Agent ${i.value} could not join ${e} team (full or max teams reached)`)}}catch(r){g.warn(`Auto-team-wiring failed for ${i.value}`,{error:r})}await this.publishEvent("AgentSpawned",{agentId:i.value,domain:e,type:t,capabilities:n})}return i}getHealth(){let e=new Map,t=[],n=0,i=0,r=nn(this.domainPlugins,v);for(let u of r){let d=this.getDomainHealth(u);d&&(e.set(u,d),d.status==="unhealthy"?(n++,t.push({domain:u,severity:"high",message:`Domain ${u} is unhealthy`,timestamp:new Date})):d.status==="degraded"&&(i++,t.push({domain:u,severity:"medium",message:`Domain ${u} is degraded`,timestamp:new Date})))}let s=this.agentCoordinator.listAgents(),o=s.filter(u=>u.status==="running").length,l="healthy";n>0?l="unhealthy":i>r.length/2&&(l="degraded");let c={status:l,domainHealth:e,totalAgents:s.length,activeAgents:o,pendingTasks:this.getQueuedTaskCount(),runningTasks:this.getRunningTaskCount(),workStealingActive:this.workStealingTimer!==null,lastHealthCheck:new Date,issues:t};return this.minCutBridge?this.minCutBridge.extendQueenHealth(c):c}getMetrics(){let e=new Map;for(let o of v){let l=this.getDomainLoad(o);e.set(o,l)}let t=this.agentCoordinator.listAgents(),n=t.filter(o=>o.status==="running").length,i=t.length>0?n/t.length:0,r=this.taskDurations.average(),s={tasksReceived:this.tasksReceived,tasksCompleted:this.tasksCompleted,tasksFailed:this.tasksFailed,tasksStolen:this.tasksStolen,averageTaskDuration:r,domainUtilization:e,agentUtilization:i,protocolsExecuted:this.protocolsExecuted,workflowsExecuted:this.workflowsExecuted,uptime:Date.now()-this.startTime.getTime()};return this.minCutBridge?this.minCutBridge.extendQueenMetrics(s):s}getMinCutBridge(){return this.minCutBridge}injectMinCutBridgeIntoDomain(e){if(!this.minCutBridge)return g.warn("Cannot inject MinCut bridge: bridge not initialized"),!1;if(!this.domainPlugins)return g.warn("Cannot inject MinCut bridge: no domain plugins registered"),!1;let t=this.domainPlugins.get(e);return t?Ze(t)?(t.setMinCutBridge(this.minCutBridge),g.info(`MinCut bridge injected into ${e} (late binding)`),!0):(g.warn(`Domain ${e} does not support MinCut integration`),!1):(g.warn(`Cannot inject MinCut bridge: domain ${e} not found`),!1)}getTinyDancerRouter(){return this.tinyDancerRouter}getDomainBreakerRegistry(){return this.domainBreakerRegistry}getDomainTeamManager(){return this.domainTeamManager}getAgentTeamsAdapter(){return this.agentTeamsAdapter}getTierSelector(){return this.tierSelector}getTraceCollector(){return this.traceCollector}getHypothesisManager(){return this.hypothesisManager}getFederationMailbox(){return this.federationMailbox}getDynamicScaler(){return this.dynamicScaler}connectReasoningBank(e){let t=new ae(e);this.taskCompletedHook=new se({},t),g.info("ReasoningBank connected for pattern training")}async executeProtocol(e,t){if(!this.protocolExecutor)return y(new Error("Protocol executor not configured"));let n=await this.protocolExecutor.execute(e,t);return n.success?(this.protocolsExecuted++,await this.publishEvent("ProtocolExecuted",{protocolId:e,executionId:n.value.executionId}),b(n.value.executionId)):n}async executeWorkflow(e,t){if(!this.workflowExecutor)return y(new Error("Workflow executor not configured"));let n=await this.workflowExecutor.execute(e,t);return n.success?(this.workflowsExecuted++,await this.publishEvent("WorkflowExecuted",{workflowId:e,executionId:n.value.executionId}),b(n.value.executionId)):n}cleanupCompletedTasks(e=36e5){return Xe(this.tasks,this.taskTraceContexts,e)}subscribeToEvents(){this.eventSubscriptionIds=jt(this.createEventHandlerContext(),v)}enqueueTaskInternal(e){Vt(this.taskQueue,this.domainQueues,e)}async publishEvent(e,t){await this.eventBus.publish({id:T(),type:`Queen${e}`,timestamp:new Date,source:"queen-coordinator",payload:t})}queueTask(e){this.enqueueTaskInternal(e);let t={taskId:e.id,task:e,status:"queued",assignedAgents:[],retryCount:0};return this.tasks.set(e.id,t),this.tasksReceived++,this.auditLogger.logSubmit(e.id,{type:e.type,priority:e.priority}),this.auditLogger.logQueue(e.id,je(this.taskQueue,e)),this.publishEvent("TaskQueued",{taskId:e.id,task:e,position:je(this.taskQueue,e)}),b(e.id)}selectFleetTier(e){if(this.tierSelector)try{let t={trigger:e.payload?.trigger??"manual",changedFiles:e.payload?.changedFiles,affectedDomains:e.targetDomains,severity:e.priority==="p0"?"critical":e.priority==="p1"?"high":void 0,isHotfix:e.payload?.isHotfix},n=this.tierSelector.selectTier(t);return g.info(`Fleet tier: ${n.selectedTier} (${n.reason})`),n.selectedTier}catch(t){g.warn("Tier selection error (continuing)",{error:t});return}}startTaskTrace(e,t){if(this.traceCollector)try{let{context:n}=this.traceCollector.startTrace({operationName:e.type,agentId:e.requester||"queen",domain:e.targetDomains[0]||"test-generation",tags:{taskId:t,priority:e.priority}});if(this.taskTraceContexts.size>=1e4){let r=this.taskTraceContexts.keys().next().value;r!==void 0&&this.taskTraceContexts.delete(r)}this.taskTraceContexts.set(t,n)}catch(n){g.warn("Trace start error (continuing)",{error:n})}}getRunningTaskCount(){return Array.from(this.tasks.values()).filter(e=>e.status==="running"||e.status==="assigned").length}getQueuedTaskCount(){return Array.from(this.tasks.values()).filter(e=>e.status==="queued").length}initializeSubsystems(){if(this.config.enableCircuitBreakers!==!1)try{this.domainBreakerRegistry=Ot(),g.info("Domain circuit breaker registry initialized")}catch(e){g.warn("Circuit breaker initialization failed (continuing)",{error:e})}if(this.config.enableDomainTeams!==!1)try{this.agentTeamsAdapter=Ae(),this.agentTeamsAdapter.initialize(),this.domainTeamManager=Ee(this.agentTeamsAdapter),g.info("Domain team manager initialized")}catch(e){g.warn("Domain team manager initialization failed (continuing)",{error:e})}if(this.config.enableFleetTiers!==!1)try{this.tierSelector=Re(),g.info("Fleet tier selector initialized")}catch(e){g.warn("Tier selector initialization failed (continuing)",{error:e})}try{this.traceCollector=xe(),g.info("Trace collector initialized")}catch(e){g.warn("Trace collector initialization failed (continuing)",{error:e})}try{this.hypothesisManager=Fe(),this.federationMailbox=Oe(),this.dynamicScaler=Le(),g.info("Phase 4 modules initialized (hypotheses, federation, scaling)")}catch(e){g.warn("Phase 4 initialization failed (continuing)",{error:e})}}createEventHandlerContext(){let e=this;return{config:e.config,tasks:e.tasks,domainLastActivity:e.domainLastActivity,auditLogger:e.auditLogger,router:e.router,agentCoordinator:e.agentCoordinator,get runningTaskCounter(){return e.runningTaskCounter},set runningTaskCounter(t){e.runningTaskCounter=t},get tasksCompleted(){return e.tasksCompleted},set tasksCompleted(t){e.tasksCompleted=t},get tasksFailed(){return e.tasksFailed},set tasksFailed(t){e.tasksFailed=t},taskDurations:e.taskDurations,get domainBreakerRegistry(){return e.domainBreakerRegistry},get traceCollector(){return e.traceCollector},taskTraceContexts:e.taskTraceContexts,get taskCompletedHook(){return e.taskCompletedHook},get hypothesisManager(){return e.hypothesisManager},processQueue:()=>We(e.createTaskContext()),enqueueTask:t=>e.enqueueTaskInternal(t)}}createTaskContext(){let e=this;return{config:e.config,tasks:e.tasks,taskQueue:e.taskQueue,domainQueues:e.domainQueues,domainLastActivity:e.domainLastActivity,auditLogger:e.auditLogger,agentCoordinator:e.agentCoordinator,domainPlugins:e.domainPlugins,get runningTaskCounter(){return e.runningTaskCounter},set runningTaskCounter(t){e.runningTaskCounter=t},get tasksReceived(){return e.tasksReceived},set tasksReceived(t){e.tasksReceived=t},get tasksCompleted(){return e.tasksCompleted},set tasksCompleted(t){e.tasksCompleted=t},get tasksFailed(){return e.tasksFailed},set tasksFailed(t){e.tasksFailed=t},taskDurations:e.taskDurations,get tinyDancerRouter(){return e.tinyDancerRouter},get domainBreakerRegistry(){return e.domainBreakerRegistry},get domainTeamManager(){return e.domainTeamManager},get tierSelector(){return e.tierSelector},get traceCollector(){return e.traceCollector},taskTraceContexts:e.taskTraceContexts,get coExecutionRepo(){return e.coExecutionRepo},requestAgentSpawn:(t,n,i)=>e.requestAgentSpawn(t,n,i),publishEvent:(t,n)=>e.publishEvent(t,n),getDomainLoad:t=>e.getDomainLoad(t),getDomainHealth:t=>e.getDomainHealth(t)}}createWorkStealingContext(){let e=this;return{config:e.config,domainQueues:e.domainQueues,auditLogger:e.auditLogger,get tasksStolen(){return e.tasksStolen},set tasksStolen(t){e.tasksStolen=t},getIdleDomains:()=>e.getIdleDomains(),getBusyDomains:()=>e.getBusyDomains(),getDomainLoad:t=>e.getDomainLoad(t),removeFromQueues:t=>de(e.taskQueue,e.domainQueues,t),assignTaskToDomain:(t,n)=>Ke(e.createTaskContext(),t,n).then(()=>{}),publishEvent:(t,n)=>e.publishEvent(t,n)}}createMetricsContext(){let e=this;return{config:e.config,memory:e.memory,get dynamicScaler(){return e.dynamicScaler},getMetrics:()=>e.getMetrics(),publishEvent:(t,n)=>e.publishEvent(t,n),getQueuedTaskCount:()=>e.getQueuedTaskCount(),getActiveAgentCount:()=>e.agentCoordinator.listAgents().filter(t=>t.status==="running").length,getIdleAgentCount:()=>e.agentCoordinator.listAgents().filter(t=>t.status==="idle").length,getAverageTaskDuration:()=>e.taskDurations.average(),getTasksReceived:()=>e.tasksReceived,getTasksFailed:()=>e.tasksFailed,getTasksCompleted:()=>e.tasksCompleted}}};function uo(a,e,t,n,i,r){return new Je(a.eventBus,a.coordinator,a.memory,e,t,n,i,r)}export{ei as a,P as b,Je as c,uo as d};
180
+ `}}return t}getRecommendations(e){switch(e.loopType){case"strategic":return[...e.recommendations.forRiskAssessor,...e.recommendations.forQualityCriteria];case"tactical":return e.recommendations.forProductFactorsAssessor;case"operational":return[...e.recommendations.forTestArchitect,...e.recommendations.antiPatterns];case"quality-criteria":return e.recommendations.forRequirementsValidator;default:return[]}}filterManagedHooks(e){if(process.env.AQE_HOOKS_MANAGED_ONLY!=="true")return e;let t=e.filter(([n])=>n.startsWith("managed:"));return t.length<e.length&&console.log(`[CrossPhaseHooks] AQE_HOOKS_MANAGED_ONLY: filtered ${e.length-t.length} non-managed hooks`),t}async isBlockedUrl(e){if(!e.includes("://"))return!1;let t=await pe(e);return t.safe?!1:(console.warn(`[CrossPhaseHooks] SSRF blocked: ${t.reason}`),!0)}checkConditions(e,t){return!e||e.length===0?!0:e.every(n=>this.evaluateCondition(n,t))}evaluateCondition(e,t){try{let n=e.split(/\s*(>|<|>=|<=|==|!=)\s*/);if(n.length!==3)return!1;let[i,r,s]=n,o=this.getValueFromPath(t,i),l=isNaN(Number(s))?s:Number(s),c=typeof o=="number"?o:Number(o),u=typeof l=="number"?l:Number(l);switch(r){case">":return c>u;case"<":return c<u;case">=":return c>=u;case"<=":return c<=u;case"==":return o==l;case"!=":return o!=l;default:return!1}}catch{return!1}}getValueFromPath(e,t){return t.split(".").reduce((n,i)=>{if(n&&typeof n=="object"&&i in n)return n[i]},e)}extractFromContext(e,t){let n={};for(let[i,r]of Object.entries(e))n[i]=this.getValueFromPath(t,r);return n}parseMaxAge(e){let t=e.match(/^(\d+)(d|h|m|s)$/);if(!t)return 0;let[,n,i]=t,r=parseInt(n,10);switch(i){case"d":return r*24*60*60*1e3;case"h":return r*60*60*1e3;case"m":return r*60*1e3;case"s":return r*1e3;default:return 0}}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(e,t){this.listeners.get(e)?.forEach(n=>n(t))}async runCleanup(){if(!this.config?.cleanup.enabled)return;console.log("[CrossPhaseHooks] Running cleanup...");let e=await this.memory.cleanupExpired();console.log(`[CrossPhaseHooks] Cleanup complete: ${e.deleted} signals deleted`)}},qe=null;function Gt(a){return qe||(qe=new Ge(a)),qe}function jt(a,e){let t=[];for(let s of e){let o=a.router.subscribeToDoamin(s,async l=>{await ai(a,l)});t.push(o)}let n=a.router.subscribeToEventType("TaskCompleted",async s=>{await oi(a,s)});t.push(n);let i=a.router.subscribeToEventType("TaskFailed",async s=>{await ci(a,s)});t.push(i);let r=a.router.subscribeToEventType("AgentStatusChanged",async s=>{await li(a,s)});return t.push(r),t}async function ai(a,e){a.domainLastActivity.set(e.source,new Date),await a.processQueue()}async function oi(a,e){let{taskId:t,result:n}=e.payload,i=a.tasks.get(t);if(i){(i.status==="running"||i.status==="assigned")&&(a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1));let r=i.startedAt?Date.now()-i.startedAt.getTime():0;a.tasks.set(t,{...i,status:"completed",completedAt:new Date,result:n}),a.tasksCompleted++,a.taskDurations.push(r),a.auditLogger.logComplete(t,i.assignedAgents[0]);try{let s=Gt(),o=i.assignedAgents[0];o&&await s.onAgentComplete(o,{taskId:t,taskType:i.task.type,domain:i.assignedDomain,result:n,duration:r})}catch(s){console.warn("[QueenCoordinator] Cross-phase hook error:",s)}try{await I.afterTaskExecution({taskId:t,taskType:i.task.type,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",priority:i.task.priority},!0,0,0)}catch(s){console.warn("[QueenCoordinator] Governance tracking error:",s)}if(a.domainBreakerRegistry&&i.assignedDomain&&a.domainBreakerRegistry.getBreaker(i.assignedDomain).recordSuccess(),a.traceCollector){let s=a.taskTraceContexts.get(t);s&&(a.traceCollector.completeSpan(s.spanId),a.taskTraceContexts.delete(t))}if(a.taskCompletedHook)try{let s=typeof n=="object"&&n!==null?n:null;if(s===null)console.error(`[QueenCoordinator] Pattern training skipped for task ${t}: result is not an object (got ${typeof n})`);else{let o=ui(s,t);if(o){let l={taskId:t,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",type:i.task.type,status:"completed",output:s,metrics:o,duration:r,timestamp:Date.now()};a.taskCompletedHook.onTaskCompleted(l).catch(c=>{console.warn("[QueenCoordinator] Pattern training error:",c)})}}}catch(s){console.warn("[QueenCoordinator] Pattern training setup error:",s)}}await a.processQueue()}async function ci(a,e){let{taskId:t,error:n}=e.payload,i=a.tasks.get(t);if(i){if((i.status==="running"||i.status==="assigned")&&(a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1)),a.domainBreakerRegistry&&i.assignedDomain&&a.domainBreakerRegistry.getBreaker(i.assignedDomain).recordFailure(new Error(n||"Task failed")),a.traceCollector){let r=a.taskTraceContexts.get(t);r&&(a.traceCollector.failSpan(r.spanId,n||"Task failed"),a.taskTraceContexts.delete(t))}if(i.retryCount<a.config.taskRetryLimit){a.auditLogger.logFail(t,i.assignedAgents[0],n);let r={...i,status:"queued",retryCount:i.retryCount+1,error:n};a.tasks.set(t,r),a.enqueueTask(i.task)}else{a.tasks.set(t,{...i,status:"failed",completedAt:new Date,error:n}),a.tasksFailed++,a.auditLogger.logFail(t,i.assignedAgents[0],n);try{await I.afterTaskExecution({taskId:t,taskType:i.task.type,agentId:i.assignedAgents[0]||"unknown",domain:i.assignedDomain||"test-generation",priority:i.task.priority},!1,0,0)}catch(r){console.warn("[QueenCoordinator] Governance tracking error:",r)}if(a.hypothesisManager&&(i.task.priority==="p0"||i.task.priority==="p1"))try{let r=i.assignedDomain||"test-generation",s=a.hypothesisManager.createInvestigation(t,r,`Root cause analysis for ${i.task.type} failure: ${n}`);a.hypothesisManager.addHypothesis(s.id,`Infrastructure failure in domain '${r}' caused task ${t} to fail`,"log-analysis",`${r}-lead`),a.hypothesisManager.addHypothesis(s.id,`Logic/configuration error in task payload caused ${i.task.type} to fail: ${n}`,"code-analysis",i.assignedAgents[0]||"unknown"),console.log(`[QueenCoordinator] Competing hypotheses investigation created: ${s.id}`)}catch(r){console.warn("[QueenCoordinator] Hypothesis creation error:",r)}}}await a.processQueue()}async function li(a,e){let{agentId:t,status:n,domain:i}=e.payload;a.domainLastActivity.set(i,new Date),(n==="completed"||n==="failed")&&await a.processQueue()}function ui(a,e){if("metrics"in a&&typeof a.metrics=="object"&&a.metrics!==null){let t=a.metrics;return{testsPassed:typeof t.testsPassed=="number"?t.testsPassed:void 0,testsFailed:typeof t.testsFailed=="number"?t.testsFailed:void 0,coverageChange:typeof t.coverageChange=="number"?t.coverageChange:void 0,securityIssues:typeof t.securityIssues=="number"?t.securityIssues:void 0,performanceMs:typeof t.performanceMs=="number"?t.performanceMs:void 0,linesChanged:typeof t.linesChanged=="number"?t.linesChanged:void 0}}return"testsPassed"in a||"testsFailed"in a?{testsPassed:typeof a.testsPassed=="number"?a.testsPassed:void 0,testsFailed:typeof a.testsFailed=="number"?a.testsFailed:void 0,coverageChange:typeof a.coverageChange=="number"?a.coverageChange:void 0,securityIssues:typeof a.securityIssues=="number"?a.securityIssues:void 0,performanceMs:typeof a.performanceMs=="number"?a.performanceMs:void 0,linesChanged:typeof a.linesChanged=="number"?a.linesChanged:void 0}:(console.error(`[QueenCoordinator] Pattern training skipped for task ${e}: result object has no recognizable metrics shape (keys: ${Object.keys(a).join(", ")})`),null)}function Wt(a,e,t){let n=a.listAgents({domain:e}),i=n.filter(l=>l.status==="running").length,r=n.filter(l=>l.status==="idle").length,s=n.filter(l=>l.status==="failed").length,o;return s>0&&s>=n.length/2?o="unhealthy":s>0?o="degraded":i>0?o="healthy":o="idle",{status:o,agents:{total:n.length,active:i,idle:r,failed:s},lastActivity:t,errors:[]}}var di=ut();function Vt(a,e,t){let n=a.get(t.priority);n&&lt(n,t,di);for(let i of t.targetDomains){let r=e.get(i);r&&r.push(t)}}function de(a,e,t){let n=a.get(t.priority);if(n){let i=n.findIndex(r=>r.id===t.id);i!==-1&&n.splice(i,1)}for(let i of t.targetDomains){let r=e.get(i);if(r){let s=r.findIndex(o=>o.id===t.id);s!==-1&&r.splice(s,1)}}}function je(a,e){let t=0;for(let n of["p0","p1","p2","p3"]){let i=a.get(n);if(i){if(n===e.priority){t+=i.findIndex(r=>r.id===e.id);break}t+=i.length}}return t}async function We(a){if(!(a.runningTaskCounter>=a.config.maxConcurrentTasks))for(let e of["p0","p1","p2","p3"]){let t=a.taskQueue.get(e);if(!t||t.length===0)continue;let n=t.shift();if(n){de(a.taskQueue,a.domainQueues,n),a.runningTaskCounter++;try{await Ve(a,n)}catch(i){throw a.runningTaskCounter--,i}if(a.runningTaskCounter>=a.config.maxConcurrentTasks)return}}}function Kt(a,e){let t=Array.from(a.values());return e&&(e.status&&(t=t.filter(n=>n.status===e.status)),e.domain&&(t=t.filter(n=>n.assignedDomain===e.domain)),e.priority&&(t=t.filter(n=>n.task.priority===e.priority)),e.type&&(t=t.filter(n=>n.task.type===e.type)),e.fromDate&&(t=t.filter(n=>n.task.createdAt>=e.fromDate)),e.toDate&&(t=t.filter(n=>n.task.createdAt<=e.toDate))),t}async function Ve(a,e){let t=e.targetDomains.length>0?e.targetDomains:P[e.type]||[];if(t.length===0)return y(new Error(`No domains configured for task type: ${e.type}`));let n,i=1/0;for(let r of t){let s=a.getDomainLoad(r);a.getDomainHealth(r)?.status!=="unhealthy"&&s<i&&(i=s,n=r)}return n?Ke(a,e,n):y(new Error("No healthy domain available for task"))}async function Ke(a,e,t){let n;if(a.tinyDancerRouter){let c={p0:"critical",p1:"high",p2:"normal",p3:"low"},u={description:`${e.type}: ${JSON.stringify(e.payload).slice(0,200)}`,type:e.type,domain:t,priority:c[e.priority]};n=await a.tinyDancerRouter.route(u),a.config.enableMetrics&&console.log(`[Queen] TinyDancer routing: ${e.type} \u2192 tier=${n.tier}, model=${n.model}, cost=$${n.estimatedCost.toFixed(4)}`)}if(a.domainBreakerRegistry&&!a.domainBreakerRegistry.canExecuteInDomain(t))return y(new Error(`Domain '${t}' circuit breaker is open \u2014 too many recent failures`));if(a.domainTeamManager)try{if(!a.domainTeamManager.getDomainTeam(t)){let u=`${t}-lead`;a.domainTeamManager.createDomainTeam(t,u)}}catch(c){console.warn(`[Queen] Domain team setup for '${t}' failed (continuing):`,c)}let i=n?.tier||"task-worker",r=["task-execution",e.type,...n?[`model:${n.model}`]:[],...n?.triggerMultiModel?["advisor:triggerMultiModel"]:[]],s=await a.requestAgentSpawn(t,i,r),o=[];s.success&&o.push(s.value);let l={taskId:e.id,task:e,status:"running",assignedDomain:t,assignedAgents:o,startedAt:new Date,retryCount:0};a.tasks.set(e.id,l),a.domainLastActivity.set(t,new Date);for(let c of o)a.auditLogger.logAssign(e.id,c,t);if(await a.publishEvent("TaskAssigned",{taskId:e.id,domain:t,agentIds:o}),a.domainPlugins){let c=a.domainPlugins.get(t);if(c?.executeTask&&c.canHandleTask?.(e.type)){let u={taskId:e.id,taskType:e.type,payload:e.payload,priority:e.priority,timeout:e.timeout,correlationId:e.correlationId},d=await c.executeTask(u,m=>mi(a,m));return d.success?b(e.id):(a.tasks.set(e.id,{...l,status:"failed",error:d.error.message,completedAt:new Date}),a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1),a.tasksFailed++,a.auditLogger.logFail(e.id,o[0],d.error.message),y(d.error))}if(c)try{await c.handleEvent({id:T(),type:"TaskAssigned",timestamp:new Date,source:"queen-coordinator",correlationId:e.correlationId,payload:{task:e}}),console.warn(`[Queen] Domain ${t} has no executeTask handler, using event fallback`)}catch(u){console.warn(`[Queen] Failed to invoke domain ${t} event handler:`,u)}}return b(e.id)}async function mi(a,e){let t=a.tasks.get(e.taskId);if(!t){console.warn(`[Queen] Received completion for unknown task: ${e.taskId}`);return}let n={...t,status:e.success?"completed":"failed",completedAt:new Date,result:e.data,error:e.error};if(a.tasks.set(e.taskId,n),e.success?(a.tasksCompleted++,a.taskDurations.push(e.duration),a.auditLogger.logComplete(e.taskId,t.assignedAgents[0])):(a.tasksFailed++,a.auditLogger.logFail(e.taskId,t.assignedAgents[0],e.error||"Unknown error")),a.runningTaskCounter=Math.max(0,a.runningTaskCounter-1),a.coExecutionRepo&&t.assignedAgents.length>=2)try{a.coExecutionRepo.recordSwarmCoExecution(t.assignedAgents,t.assignedDomain||"unknown",e.success,t.task.type)}catch{}for(let i of t.assignedAgents)await a.agentCoordinator.stop(i);await a.publishEvent(e.success?"TaskCompleted":"TaskFailed",{taskId:e.taskId,domain:t.assignedDomain,result:e.data,error:e.error,duration:e.duration}),await We(a)}function Yt(a,e){return(P[e.type]||[]).includes(a)}k();async function Zt(a){let e=0,t=a.getIdleDomains(),n=a.getBusyDomains();if(t.length===0||n.length===0)return 0;n.sort((i,r)=>a.getDomainLoad(r)-a.getDomainLoad(i));for(let i of n){if(t.length===0)break;let r=a.domainQueues.get(i)||[],s=Math.min(r.length,a.config.workStealing.stealBatchSize);for(let o=0;o<s&&t.length>0;o++){let l=r.find(c=>Yt(t[0],c));if(l){let c=t.shift();a.removeFromQueues(l),a.auditLogger.logSteal(l.id,i,c),await a.assignTaskToDomain(l,c),e++,a.tasksStolen++,await a.publishEvent("TaskStolen",{taskId:l.id,fromDomain:i,toDomain:c})}}}return e}function Ye(a,e){let t=0,n=10,i=setInterval(async()=>{try{await e(),t=0}catch(r){t++;let s=Math.min(1e3*Math.pow(2,t),3e4);if(console.warn(`[QueenCoordinator] Work-stealing failed (attempt ${t}), backing off ${s}ms`,h(r)),t>n){console.error(`[QueenCoordinator] Work-stealing exceeded ${n} consecutive failures, stopping interval`),clearInterval(i);return}await new Promise(o=>setTimeout(o,s))}},a.workStealing.checkInterval);return i}function Ze(a){return typeof a.setMinCutBridge=="function"}function Xt(a,e){for(let[t,n]of a)Ze(n)&&(n.setMinCutBridge(e),console.log(`[QueenCoordinator] MinCut bridge injected into ${t}`))}async function Jt(a,e,t){try{let n=await a.get("queen:state");if(n)for(let[i,r]of n.tasks)r.status==="queued"&&(e.set(i,r),t(r.task))}catch(n){console.debug("[QueenCoordinator] State loading failed:",n instanceof Error?n.message:n)}}async function en(a,e){let t=Array.from(e.entries()).filter(([,n])=>n.status==="queued");await a.set("queen:state",{tasks:t},{namespace:"queen-coordinator",persist:!0})}function tn(a){return setInterval(async()=>{let e=a.getMetrics();if(await a.publishEvent("MetricsCollected",{metrics:e}),await a.memory.set(`queen:metrics:${Date.now()}`,e,{ttl:86400,namespace:"queen-coordinator"}),a.dynamicScaler)try{let t=a.getAverageTaskDuration(),n={queueDepth:a.getQueuedTaskCount(),activeAgents:a.getActiveAgentCount(),idleAgents:a.getIdleAgentCount(),avgTaskDurationMs:t,errorRate:a.getTasksReceived()>0?a.getTasksFailed()/a.getTasksReceived():0,throughput:e.uptime>0?a.getTasksCompleted()/(e.uptime/1e3):0,timestamp:Date.now()};a.dynamicScaler.recordMetrics(n);let i=a.dynamicScaler.evaluate();i&&i.action!=="maintain"&&(console.log(`[QueenCoordinator] Dynamic scaler: ${i.action} to ${i.targetAgents} agents \u2014 ${i.reason}`),a.dynamicScaler.execute(i).catch(r=>{console.warn("[QueenCoordinator] Dynamic scaling execution error:",r)}))}catch(t){console.warn("[QueenCoordinator] Dynamic scaler metrics error:",t)}},a.config.metricsInterval)}function Xe(a,e,t=36e5){let n=Date.now(),i=0;for(let[s,o]of a)if(o.status==="completed"||o.status==="failed"||o.status==="cancelled"){let l=o.completedAt?.getTime()||o.startedAt?.getTime()||0;l>0&&n-l>t&&(a.delete(s),e.delete(s),i++)}let r=1e4;if(e.size>r){let s=e.size-r,o=e.keys();for(let l=0;l<s;l++){let c=o.next().value;c!==void 0&&e.delete(c)}console.log(`[QueenCoordinator] Evicted ${s} oldest trace contexts (max: ${r})`)}return i>0&&console.log(`[QueenCoordinator] Cleaned up ${i} old tasks (retention: ${t}ms)`),i}function nn(a,e){return a&&a.size>0?Array.from(a.keys()):[...e]}var g=it.create("QueenCoordinator");zt(v);var Je=class{constructor(e,t,n,i,r,s,o,l={}){this.eventBus=e;this.agentCoordinator=t;this.memory=n;this.router=i;this.protocolExecutor=r;this.workflowExecutor=s;this.domainPlugins=o;this.config={...Ut,...l},this.auditLogger=he({enableConsoleLog:this.config.enableMetrics,maxEntries:1e3,logPrefix:"[QUEEN]"}),["p0","p1","p2","p3"].forEach(c=>{this.taskQueue.set(c,[])}),this.config.enableRouting!==!1&&(this.tinyDancerRouter=new j(this.config.routing)),v.forEach(c=>{this.domainQueues.set(c,[]),this.domainLastActivity.set(c,new Date)})}eventBus;agentCoordinator;memory;router;protocolExecutor;workflowExecutor;domainPlugins;config;tasks=new Map;taskQueue=new Map;domainQueues=new Map;domainLastActivity=new Map;initialized=!1;workStealingTimer=null;metricsTimer=null;cleanupTimer=null;startTime=new Date;eventSubscriptionIds=[];runningTaskCounter=0;tasksReceived=0;tasksCompleted=0;tasksFailed=0;tasksStolen=0;taskDurations=new nt(1e3);protocolsExecuted=0;workflowsExecuted=0;auditLogger;minCutBridge=null;tinyDancerRouter=null;domainBreakerRegistry=null;domainTeamManager=null;agentTeamsAdapter=null;tierSelector=null;taskCompletedHook=null;traceCollector=null;taskTraceContexts=new Map;hypothesisManager=null;federationMailbox=null;dynamicScaler=null;coExecutionRepo=null;dependencyGraph=null;availableMcpServers=[];async initialize(){if(!this.initialized){this.startTime=new Date,await this.router.initialize(),this.subscribeToEvents(),this.config.workStealing.enabled&&(this.workStealingTimer=Ye(this.config,()=>this.triggerWorkStealing().then(()=>{}))),this.config.enableMetrics&&(this.metricsTimer=tn(this.createMetricsContext())),this.cleanupTimer=setInterval(()=>{Xe(this.tasks,this.taskTraceContexts,36e5)},3e5),this.cleanupTimer.unref(),await Jt(this.memory,this.tasks,e=>this.enqueueTaskInternal(e)),this.minCutBridge=ht(this.eventBus,this.agentCoordinator,{autoUpdateFromEvents:!0,persistData:!0,includeInQueenHealth:!0,sharedGraph:ct()}),await this.minCutBridge.initialize(),this.domainPlugins&&Xt(this.domainPlugins,this.minCutBridge);try{await I.initialize(),g.info("Governance adapter initialized")}catch(e){g.warn("Governance initialization failed (continuing)",{error:e})}this.initializeSubsystems();try{let{join:e}=await import("path"),t=e(process.cwd(),".claude","agents","v3");this.dependencyGraph=Rt(t),this.availableMcpServers=dt(process.cwd());let{getUnifiedMemory:n}=await import("./unified-memory-ATILROKR.js"),i=n();await i.initialize(),this.coExecutionRepo=wt(),this.coExecutionRepo.initialize(i.getDatabase()),this.dependencyGraph.warnings.length>0&&g.warn(`Dependency graph: ${this.dependencyGraph.warnings.length} warning(s)`,{warnings:this.dependencyGraph.warnings.slice(0,5)}),g.info("Dependency intelligence initialized",{agents:this.dependencyGraph.nodes.size,mcpServers:this.availableMcpServers.length})}catch(e){g.warn("Dependency intelligence initialization failed (continuing)",{error:e})}await this.publishEvent("QueenInitialized",{timestamp:new Date,config:this.config,domains:v}),this.initialized=!0}}async dispose(){this.workStealingTimer&&(clearInterval(this.workStealingTimer),this.workStealingTimer=null),this.metricsTimer&&(clearInterval(this.metricsTimer),this.metricsTimer=null),this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null),this.minCutBridge&&(await this.minCutBridge.dispose(),this.minCutBridge=null),this.domainTeamManager&&(this.domainTeamManager.dispose(),this.domainTeamManager=null),this.agentTeamsAdapter&&(this.agentTeamsAdapter.shutdown(),this.agentTeamsAdapter=null),this.domainBreakerRegistry=null,this.tierSelector=null,this.traceCollector&&(this.traceCollector.dispose(),this.traceCollector=null),this.hypothesisManager&&(this.hypothesisManager.dispose(),this.hypothesisManager=null),this.federationMailbox&&(this.federationMailbox.dispose(),this.federationMailbox=null),this.dynamicScaler&&(this.dynamicScaler.dispose(),this.dynamicScaler=null),await en(this.memory,this.tasks);for(let[e,t]of this.tasks)(t.status==="queued"||t.status==="running")&&await this.cancelTask(e);await this.publishEvent("QueenShutdown",{timestamp:new Date,metrics:this.getMetrics()});for(let e of this.eventSubscriptionIds)this.router.unsubscribe(e);this.eventSubscriptionIds=[],await this.router.dispose(),this.initialized=!1}async submitTask(e){if(!this.initialized)return y(new Error("Queen Coordinator not initialized"));let t=`task_${T()}`,n={...e,id:t,createdAt:new Date,timeout:e.timeout||this.config.defaultTaskTimeout},i={taskId:n.id,taskType:n.type,agentId:n.requester||`queen-task:${n.id}`,domain:n.targetDomains[0]||"test-generation",priority:n.priority,payload:n.payload};try{let r=await I.beforeTaskExecution(i);if(!r.allowed)return this.auditLogger.logFail(t,"governance",r.reason||"Governance check failed"),await this.publishEvent("TaskRejected",{taskId:t,reason:r.reason,escalate:r.escalate}),y(new Error(`Task blocked by governance: ${r.reason}`))}catch(r){g.warn("Governance check error (continuing)",{error:r})}this.runningTaskCounter++;try{if(this.runningTaskCounter>this.config.maxConcurrentTasks)return this.runningTaskCounter--,this.queueTask(n);this.auditLogger.logSubmit(t,{type:n.type,priority:n.priority}),this.selectFleetTier(n),this.startTaskTrace(n,t);let r=await Ve(this.createTaskContext(),n);return r.success?(this.tasksReceived++,await this.publishEvent("TaskSubmitted",{taskId:t,task:n}),b(t)):(this.runningTaskCounter--,r)}catch(r){throw this.runningTaskCounter--,r}}async cancelTask(e){let t=this.tasks.get(e);if(!t)return y(new Error(`Task not found: ${e}`));if(t.status==="completed"||t.status==="failed")return y(new Error(`Task already finished: ${e}`));(t.status==="running"||t.status==="assigned")&&(this.runningTaskCounter=Math.max(0,this.runningTaskCounter-1)),this.tasks.set(e,{...t,status:"cancelled",completedAt:new Date}),de(this.taskQueue,this.domainQueues,t.task);for(let n of t.assignedAgents)await this.agentCoordinator.stop(n);return this.auditLogger.logCancel(e),await this.publishEvent("TaskCancelled",{taskId:e}),b(void 0)}getTaskStatus(e){return this.tasks.get(e)}listTasks(e){return Kt(this.tasks,e)}getDomainHealth(e){if(this.domainPlugins){let t=this.domainPlugins.get(e);if(t)return t.getHealth()}return Wt(this.agentCoordinator,e,this.domainLastActivity.get(e))}getDomainLoad(e){let t=this.domainQueues.get(e)||[],n=Array.from(this.tasks.values()).filter(i=>i.assignedDomain===e&&i.status==="running");return t.length+n.length}getIdleDomains(){let e=Date.now(),t=this.config.workStealing.idleThreshold;return v.filter(n=>{let i=this.domainLastActivity.get(n);return this.getDomainLoad(n)===0&&i&&e-i.getTime()>t})}getBusyDomains(){return v.filter(e=>this.getDomainLoad(e)>this.config.workStealing.loadThreshold)}getSpawnPlan(e){return this.dependencyGraph?_t(e,this.dependencyGraph):{phases:[e],warnings:[],unsatisfiedHardDeps:[]}}getDependencyGraph(){return this.dependencyGraph}enableWorkStealing(){this.workStealingTimer||(this.workStealingTimer=Ye(this.config,()=>this.triggerWorkStealing().then(()=>{})))}disableWorkStealing(){this.workStealingTimer&&(clearInterval(this.workStealingTimer),this.workStealingTimer=null)}async triggerWorkStealing(){return Zt(this.createWorkStealingContext())}listAllAgents(){return this.agentCoordinator.listAgents()}getAgentsByDomain(e){return this.agentCoordinator.listAgents({domain:e})}async requestAgentSpawn(e,t,n){if(!this.agentCoordinator.canSpawn())return y(new Error("Maximum concurrent agents reached (15)"));if(this.dependencyGraph&&this.availableMcpServers.length>0)try{for(let[,r]of this.dependencyGraph.nodes){let s=r.dependencies.mcpServers;if(!s||s.length===0)continue;let o=s.filter(l=>l.required&&!this.availableMcpServers.includes(l.name));if(o.length>0){g.warn(`Pre-spawn MCP advisory: ${r.agentName} needs ${o.map(l=>l.name).join(", ")}`,{agent:r.agentName,domain:e,missing:o.map(l=>l.name)});break}}}catch{}let i=await this.agentCoordinator.spawn({name:`${e}-${t}-${Date.now()}`,domain:e,type:t,capabilities:n});if(i.success){if(this.domainLastActivity.set(e,new Date),this.domainTeamManager&&typeof this.domainTeamManager.getDomainTeam=="function")try{if(this.domainTeamManager.getDomainTeam(e))this.domainTeamManager.addTeammate(e,i.value)||g.warn(`Agent ${i.value} could not join ${e} team (full)`);else try{this.domainTeamManager.createDomainTeam(e,i.value)}catch{this.domainTeamManager.addTeammate(e,i.value)||g.warn(`Agent ${i.value} could not join ${e} team (full or max teams reached)`)}}catch(r){g.warn(`Auto-team-wiring failed for ${i.value}`,{error:r})}await this.publishEvent("AgentSpawned",{agentId:i.value,domain:e,type:t,capabilities:n})}return i}getHealth(){let e=new Map,t=[],n=0,i=0,r=nn(this.domainPlugins,v);for(let u of r){let d=this.getDomainHealth(u);d&&(e.set(u,d),d.status==="unhealthy"?(n++,t.push({domain:u,severity:"high",message:`Domain ${u} is unhealthy`,timestamp:new Date})):d.status==="degraded"&&(i++,t.push({domain:u,severity:"medium",message:`Domain ${u} is degraded`,timestamp:new Date})))}let s=this.agentCoordinator.listAgents(),o=s.filter(u=>u.status==="running").length,l="healthy";n>0?l="unhealthy":i>r.length/2&&(l="degraded");let c={status:l,domainHealth:e,totalAgents:s.length,activeAgents:o,pendingTasks:this.getQueuedTaskCount(),runningTasks:this.getRunningTaskCount(),workStealingActive:this.workStealingTimer!==null,lastHealthCheck:new Date,issues:t};return this.minCutBridge?this.minCutBridge.extendQueenHealth(c):c}getMetrics(){let e=new Map;for(let o of v){let l=this.getDomainLoad(o);e.set(o,l)}let t=this.agentCoordinator.listAgents(),n=t.filter(o=>o.status==="running").length,i=t.length>0?n/t.length:0,r=this.taskDurations.average(),s={tasksReceived:this.tasksReceived,tasksCompleted:this.tasksCompleted,tasksFailed:this.tasksFailed,tasksStolen:this.tasksStolen,averageTaskDuration:r,domainUtilization:e,agentUtilization:i,protocolsExecuted:this.protocolsExecuted,workflowsExecuted:this.workflowsExecuted,uptime:Date.now()-this.startTime.getTime()};return this.minCutBridge?this.minCutBridge.extendQueenMetrics(s):s}getMinCutBridge(){return this.minCutBridge}injectMinCutBridgeIntoDomain(e){if(!this.minCutBridge)return g.warn("Cannot inject MinCut bridge: bridge not initialized"),!1;if(!this.domainPlugins)return g.warn("Cannot inject MinCut bridge: no domain plugins registered"),!1;let t=this.domainPlugins.get(e);return t?Ze(t)?(t.setMinCutBridge(this.minCutBridge),g.info(`MinCut bridge injected into ${e} (late binding)`),!0):(g.warn(`Domain ${e} does not support MinCut integration`),!1):(g.warn(`Cannot inject MinCut bridge: domain ${e} not found`),!1)}getTinyDancerRouter(){return this.tinyDancerRouter}getDomainBreakerRegistry(){return this.domainBreakerRegistry}getDomainTeamManager(){return this.domainTeamManager}getAgentTeamsAdapter(){return this.agentTeamsAdapter}getTierSelector(){return this.tierSelector}getTraceCollector(){return this.traceCollector}getHypothesisManager(){return this.hypothesisManager}getFederationMailbox(){return this.federationMailbox}getDynamicScaler(){return this.dynamicScaler}connectReasoningBank(e){let t=new ae(e);this.taskCompletedHook=new se({},t),g.info("ReasoningBank connected for pattern training")}async executeProtocol(e,t){if(!this.protocolExecutor)return y(new Error("Protocol executor not configured"));let n=await this.protocolExecutor.execute(e,t);return n.success?(this.protocolsExecuted++,await this.publishEvent("ProtocolExecuted",{protocolId:e,executionId:n.value.executionId}),b(n.value.executionId)):n}async executeWorkflow(e,t){if(!this.workflowExecutor)return y(new Error("Workflow executor not configured"));let n=await this.workflowExecutor.execute(e,t);return n.success?(this.workflowsExecuted++,await this.publishEvent("WorkflowExecuted",{workflowId:e,executionId:n.value.executionId}),b(n.value.executionId)):n}cleanupCompletedTasks(e=36e5){return Xe(this.tasks,this.taskTraceContexts,e)}subscribeToEvents(){this.eventSubscriptionIds=jt(this.createEventHandlerContext(),v)}enqueueTaskInternal(e){Vt(this.taskQueue,this.domainQueues,e)}async publishEvent(e,t){await this.eventBus.publish({id:T(),type:`Queen${e}`,timestamp:new Date,source:"queen-coordinator",payload:t})}queueTask(e){this.enqueueTaskInternal(e);let t={taskId:e.id,task:e,status:"queued",assignedAgents:[],retryCount:0};return this.tasks.set(e.id,t),this.tasksReceived++,this.auditLogger.logSubmit(e.id,{type:e.type,priority:e.priority}),this.auditLogger.logQueue(e.id,je(this.taskQueue,e)),this.publishEvent("TaskQueued",{taskId:e.id,task:e,position:je(this.taskQueue,e)}),b(e.id)}selectFleetTier(e){if(this.tierSelector)try{let t={trigger:e.payload?.trigger??"manual",changedFiles:e.payload?.changedFiles,affectedDomains:e.targetDomains,severity:e.priority==="p0"?"critical":e.priority==="p1"?"high":void 0,isHotfix:e.payload?.isHotfix},n=this.tierSelector.selectTier(t);return g.info(`Fleet tier: ${n.selectedTier} (${n.reason})`),n.selectedTier}catch(t){g.warn("Tier selection error (continuing)",{error:t});return}}startTaskTrace(e,t){if(this.traceCollector)try{let{context:n}=this.traceCollector.startTrace({operationName:e.type,agentId:e.requester||"queen",domain:e.targetDomains[0]||"test-generation",tags:{taskId:t,priority:e.priority}});if(this.taskTraceContexts.size>=1e4){let r=this.taskTraceContexts.keys().next().value;r!==void 0&&this.taskTraceContexts.delete(r)}this.taskTraceContexts.set(t,n)}catch(n){g.warn("Trace start error (continuing)",{error:n})}}getRunningTaskCount(){return Array.from(this.tasks.values()).filter(e=>e.status==="running"||e.status==="assigned").length}getQueuedTaskCount(){return Array.from(this.tasks.values()).filter(e=>e.status==="queued").length}initializeSubsystems(){if(this.config.enableCircuitBreakers!==!1)try{this.domainBreakerRegistry=Ot(),g.info("Domain circuit breaker registry initialized")}catch(e){g.warn("Circuit breaker initialization failed (continuing)",{error:e})}if(this.config.enableDomainTeams!==!1)try{this.agentTeamsAdapter=Ae(),this.agentTeamsAdapter.initialize(),this.domainTeamManager=Ee(this.agentTeamsAdapter),g.info("Domain team manager initialized")}catch(e){g.warn("Domain team manager initialization failed (continuing)",{error:e})}if(this.config.enableFleetTiers!==!1)try{this.tierSelector=Re(),g.info("Fleet tier selector initialized")}catch(e){g.warn("Tier selector initialization failed (continuing)",{error:e})}try{this.traceCollector=xe(),g.info("Trace collector initialized")}catch(e){g.warn("Trace collector initialization failed (continuing)",{error:e})}try{this.hypothesisManager=Fe(),this.federationMailbox=Oe(),this.dynamicScaler=Le(),g.info("Phase 4 modules initialized (hypotheses, federation, scaling)")}catch(e){g.warn("Phase 4 initialization failed (continuing)",{error:e})}}createEventHandlerContext(){let e=this;return{config:e.config,tasks:e.tasks,domainLastActivity:e.domainLastActivity,auditLogger:e.auditLogger,router:e.router,agentCoordinator:e.agentCoordinator,get runningTaskCounter(){return e.runningTaskCounter},set runningTaskCounter(t){e.runningTaskCounter=t},get tasksCompleted(){return e.tasksCompleted},set tasksCompleted(t){e.tasksCompleted=t},get tasksFailed(){return e.tasksFailed},set tasksFailed(t){e.tasksFailed=t},taskDurations:e.taskDurations,get domainBreakerRegistry(){return e.domainBreakerRegistry},get traceCollector(){return e.traceCollector},taskTraceContexts:e.taskTraceContexts,get taskCompletedHook(){return e.taskCompletedHook},get hypothesisManager(){return e.hypothesisManager},processQueue:()=>We(e.createTaskContext()),enqueueTask:t=>e.enqueueTaskInternal(t)}}createTaskContext(){let e=this;return{config:e.config,tasks:e.tasks,taskQueue:e.taskQueue,domainQueues:e.domainQueues,domainLastActivity:e.domainLastActivity,auditLogger:e.auditLogger,agentCoordinator:e.agentCoordinator,domainPlugins:e.domainPlugins,get runningTaskCounter(){return e.runningTaskCounter},set runningTaskCounter(t){e.runningTaskCounter=t},get tasksReceived(){return e.tasksReceived},set tasksReceived(t){e.tasksReceived=t},get tasksCompleted(){return e.tasksCompleted},set tasksCompleted(t){e.tasksCompleted=t},get tasksFailed(){return e.tasksFailed},set tasksFailed(t){e.tasksFailed=t},taskDurations:e.taskDurations,get tinyDancerRouter(){return e.tinyDancerRouter},get domainBreakerRegistry(){return e.domainBreakerRegistry},get domainTeamManager(){return e.domainTeamManager},get tierSelector(){return e.tierSelector},get traceCollector(){return e.traceCollector},taskTraceContexts:e.taskTraceContexts,get coExecutionRepo(){return e.coExecutionRepo},requestAgentSpawn:(t,n,i)=>e.requestAgentSpawn(t,n,i),publishEvent:(t,n)=>e.publishEvent(t,n),getDomainLoad:t=>e.getDomainLoad(t),getDomainHealth:t=>e.getDomainHealth(t)}}createWorkStealingContext(){let e=this;return{config:e.config,domainQueues:e.domainQueues,auditLogger:e.auditLogger,get tasksStolen(){return e.tasksStolen},set tasksStolen(t){e.tasksStolen=t},getIdleDomains:()=>e.getIdleDomains(),getBusyDomains:()=>e.getBusyDomains(),getDomainLoad:t=>e.getDomainLoad(t),removeFromQueues:t=>de(e.taskQueue,e.domainQueues,t),assignTaskToDomain:(t,n)=>Ke(e.createTaskContext(),t,n).then(()=>{}),publishEvent:(t,n)=>e.publishEvent(t,n)}}createMetricsContext(){let e=this;return{config:e.config,memory:e.memory,get dynamicScaler(){return e.dynamicScaler},getMetrics:()=>e.getMetrics(),publishEvent:(t,n)=>e.publishEvent(t,n),getQueuedTaskCount:()=>e.getQueuedTaskCount(),getActiveAgentCount:()=>e.agentCoordinator.listAgents().filter(t=>t.status==="running").length,getIdleAgentCount:()=>e.agentCoordinator.listAgents().filter(t=>t.status==="idle").length,getAverageTaskDuration:()=>e.taskDurations.average(),getTasksReceived:()=>e.tasksReceived,getTasksFailed:()=>e.tasksFailed,getTasksCompleted:()=>e.tasksCompleted}}};function uo(a,e,t,n,i,r){return new Je(a.eventBus,a.coordinator,a.memory,e,t,n,i,r)}export{ei as a,P as b,Je as c,uo as d};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.10");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
2
2
  var i=class r{constructor(e){this._value=e;if(!e||e.trim()==="")throw new Error("FilePath cannot be empty")}_value;get value(){return this._value}get extension(){let e=this._value.split(".");return e.length>1?e[e.length-1]:""}get directory(){let e=this._value.lastIndexOf("/");return e>0?this._value.substring(0,e):""}get filename(){let e=this._value.lastIndexOf("/");return e>=0?this._value.substring(e+1):this._value}equals(e){return this._value===e._value}static create(e){return new r(e)}};var s=class r{constructor(e){this._value=e;if(e<0||e>1)throw new Error("RiskScore must be between 0 and 1")}_value;get value(){return this._value}get percentage(){return this._value*100}get level(){return this._value>=.8?"critical":this._value>=.6?"high":this._value>=.3?"medium":"low"}isHigherThan(e){return this._value>e._value}equals(e){return this._value===e._value}static create(e){return new r(e)}static fromPercentage(e){return new r(e/100)}},u=class r{constructor(e,t){this._start=e;this._end=t;if(e>t)throw new Error("Start date cannot be after end date")}_start;_end;get start(){return this._start}get end(){return this._end}get durationMs(){return this._end.getTime()-this._start.getTime()}get durationSeconds(){return this.durationMs/1e3}contains(e){return e>=this._start&&e<=this._end}overlaps(e){return this._start<=e._end&&e._start<=this._end}equals(e){return this._start.getTime()===e._start.getTime()&&this._end.getTime()===e._end.getTime()}static create(e,t){return new r(e,t)}static lastNDays(e){let t=new Date,n=new Date(t.getTime()-e*24*60*60*1e3);return new r(n,t)}},o=class r{constructor(e,t,n,a){this._major=e;this._minor=t;this._patch=n;this._prerelease=a}_major;_minor;_patch;_prerelease;get major(){return this._major}get minor(){return this._minor}get patch(){return this._patch}get prerelease(){return this._prerelease}toString(){let e=`${this._major}.${this._minor}.${this._patch}`;return this._prerelease?`${e}-${this._prerelease}`:e}isNewerThan(e){return this._major!==e._major?this._major>e._major:this._minor!==e._minor?this._minor>e._minor:this._patch>e._patch}equals(e){return this._major===e._major&&this._minor===e._minor&&this._patch===e._patch&&this._prerelease===e._prerelease}static create(e,t,n,a){return new r(e,t,n,a)}static parse(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw new Error(`Invalid version format: ${e}`);return new r(parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),t[4])}};export{i as a,s as b,u as c,o as d};
@@ -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.13.10");process.exit(0)}
2
- var i={domain:"test-generation",bestPractices:["Follow Arrange-Act-Assert (AAA) pattern for clear test structure","One logical assertion per test - test one behavior at a time","Use descriptive test names: should_returnValue_when_condition","Mock external dependencies to isolate unit under test","Test edge cases and boundary conditions, not just happy paths","Keep tests deterministic - avoid time-dependent assertions","Use test data builders or factories for complex objects","Prefer integration tests for workflows, unit tests for logic","Maintain test independence - no shared mutable state between tests","Write failing test first (TDD Red) before implementation"],antiPatterns:[{name:"God Test",description:"A single test that verifies too many behaviors",reason:"Hard to diagnose failures, brittle, slow to run",alternative:"Split into focused tests, each verifying one behavior",detection:"expect.*expect.*expect.*expect.*expect"},{name:"Mystery Guest",description:"Test relies on external data files or state not visible in test",reason:"Tests are hard to understand and maintain",alternative:"Make test data explicit within the test or use fixtures"},{name:"Eager Test",description:"Test that verifies more than needed for the current behavior",reason:"Creates unnecessary coupling, breaks easily",alternative:"Only assert what is necessary for this specific test case"},{name:"Flaky Assertion",description:"Assertions that depend on timing, order, or external state",reason:"Creates unreliable test suite, erodes trust",alternative:"Use deterministic assertions, mock time/random",detection:"setTimeout|Date\\.now|Math\\.random"},{name:"Test Code Duplication",description:"Same setup or assertion code repeated across tests",reason:"Maintenance burden, inconsistency risk",alternative:"Extract to beforeEach, helpers, or fixtures"}],frameworkGuidance:{jest:["Use describe blocks to group related tests","Prefer toEqual for deep equality, toBe for primitives","Use jest.mock() at module level for consistent mocking","Use jest.spyOn for partial mocking of objects","Enable --coverage to track test coverage"],vitest:["Use vi.mock() for module mocking","Prefer vi.fn() over jest.fn() syntax","Use vitest/ui for interactive test debugging","Enable browser mode for component tests","Use inline snapshots for small expected values"],mocha:["Use beforeEach/afterEach for setup/teardown","Combine with chai for assertions","Use sinon for spies, stubs, and mocks","Set appropriate timeouts for async tests"],pytest:["Use fixtures for reusable test setup","Use parametrize for data-driven tests","Use conftest.py for shared fixtures","Use pytest.raises for exception testing","Use pytest-cov for coverage reporting"],junit:["Use @BeforeEach and @AfterEach for setup/teardown","Use @DisplayName for readable test names","Use @ParameterizedTest for data-driven tests","Use Mockito for mocking dependencies"],testng:["Use @BeforeMethod and @AfterMethod appropriately","Use @DataProvider for parameterized tests","Configure test groups for selective execution"],playwright:["Use page.locator() for resilient element selection","Use expect(locator) for auto-waiting assertions","Use page.waitForLoadState for navigation","Use test.describe for grouping tests","Use fixtures for reusable browser contexts"],cypress:["Use cy.intercept() for API mocking","Avoid conditional testing - use deterministic state","Use data-cy attributes for stable selectors","Use cy.within() for scoped queries","Prefer cy.contains() for text-based selection"],selenium:["Use explicit waits over implicit waits","Use Page Object Model for maintainability","Handle stale element references with retry logic","Clean up browser state between tests"]},languageGuidance:{typescript:["Use type assertions in tests for better IDE support","Create typed test fixtures and builders","Use satisfies operator for test data validation","Mock types with ts-mockito or typed mocking libs"],javascript:["Use JSDoc comments for test documentation","Consider TypeScript for larger test suites","Use ESLint with testing plugins"],python:["Use type hints in test functions","Use dataclasses for test data","Follow PEP 8 naming: test_should_do_something"],java:["Use AssertJ for fluent assertions","Use Lombok for test data classes","Follow naming: shouldDoSomething_whenCondition"],go:["Use table-driven tests for multiple cases","Use testify for assertions and mocking","Place tests in _test.go files"],rust:["Use #[test] attribute for test functions","Use assert!, assert_eq!, assert_ne! macros","Place unit tests in same file with #[cfg(test)]"],csharp:["Use xUnit or NUnit for testing","Use FluentAssertions for readable assertions","Use Moq for mocking interfaces"],kotlin:["Use kotest for BDD-style testing","Use MockK for Kotlin-first mocking","Use data classes for test fixtures"]},examples:[{title:"Unit Test Template (TypeScript + Vitest)",description:"Standard AAA pattern for unit tests",content:`describe('UserService', () => {
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.13.12");process.exit(0)}
2
+ var o={domain:"test-generation",bestPractices:["Follow Arrange-Act-Assert (AAA) pattern for clear test structure","One logical assertion per test - test one behavior at a time","Use descriptive test names: should_returnValue_when_condition","Mock external dependencies to isolate unit under test","Test edge cases and boundary conditions, not just happy paths","Keep tests deterministic - avoid time-dependent assertions","Use test data builders or factories for complex objects","Prefer integration tests for workflows, unit tests for logic","Maintain test independence - no shared mutable state between tests","Write failing test first (TDD Red) before implementation"],antiPatterns:[{name:"God Test",description:"A single test that verifies too many behaviors",reason:"Hard to diagnose failures, brittle, slow to run",alternative:"Split into focused tests, each verifying one behavior",detection:"expect.*expect.*expect.*expect.*expect"},{name:"Mystery Guest",description:"Test relies on external data files or state not visible in test",reason:"Tests are hard to understand and maintain",alternative:"Make test data explicit within the test or use fixtures"},{name:"Eager Test",description:"Test that verifies more than needed for the current behavior",reason:"Creates unnecessary coupling, breaks easily",alternative:"Only assert what is necessary for this specific test case"},{name:"Flaky Assertion",description:"Assertions that depend on timing, order, or external state",reason:"Creates unreliable test suite, erodes trust",alternative:"Use deterministic assertions, mock time/random",detection:"setTimeout|Date\\.now|Math\\.random"},{name:"Test Code Duplication",description:"Same setup or assertion code repeated across tests",reason:"Maintenance burden, inconsistency risk",alternative:"Extract to beforeEach, helpers, or fixtures"}],frameworkGuidance:{jest:["Use describe blocks to group related tests","Prefer toEqual for deep equality, toBe for primitives","Use jest.mock() at module level for consistent mocking","Use jest.spyOn for partial mocking of objects","Enable --coverage to track test coverage"],vitest:["Use vi.mock() for module mocking","Prefer vi.fn() over jest.fn() syntax","Use vitest/ui for interactive test debugging","Enable browser mode for component tests","Use inline snapshots for small expected values"],mocha:["Use beforeEach/afterEach for setup/teardown","Combine with chai for assertions","Use sinon for spies, stubs, and mocks","Set appropriate timeouts for async tests"],pytest:["Use fixtures for reusable test setup","Use parametrize for data-driven tests","Use conftest.py for shared fixtures","Use pytest.raises for exception testing","Use pytest-cov for coverage reporting"],junit:["Use @BeforeEach and @AfterEach for setup/teardown","Use @DisplayName for readable test names","Use @ParameterizedTest for data-driven tests","Use Mockito for mocking dependencies"],testng:["Use @BeforeMethod and @AfterMethod appropriately","Use @DataProvider for parameterized tests","Configure test groups for selective execution"],playwright:["Use page.locator() for resilient element selection","Use expect(locator) for auto-waiting assertions","Use page.waitForLoadState for navigation","Use test.describe for grouping tests","Use fixtures for reusable browser contexts"],cypress:["Use cy.intercept() for API mocking","Avoid conditional testing - use deterministic state","Use data-cy attributes for stable selectors","Use cy.within() for scoped queries","Prefer cy.contains() for text-based selection"],selenium:["Use explicit waits over implicit waits","Use Page Object Model for maintainability","Handle stale element references with retry logic","Clean up browser state between tests"]},languageGuidance:{typescript:["Use type assertions in tests for better IDE support","Create typed test fixtures and builders","Use satisfies operator for test data validation","Mock types with ts-mockito or typed mocking libs"],javascript:["Use JSDoc comments for test documentation","Consider TypeScript for larger test suites","Use ESLint with testing plugins"],python:["Use type hints in test functions","Use dataclasses for test data","Follow PEP 8 naming: test_should_do_something"],java:["Use AssertJ for fluent assertions","Use Lombok for test data classes","Follow naming: shouldDoSomething_whenCondition"],go:["Use table-driven tests for multiple cases","Use testify for assertions and mocking","Place tests in _test.go files"],rust:["Use #[test] attribute for test functions","Use assert!, assert_eq!, assert_ne! macros","Place unit tests in same file with #[cfg(test)]"],csharp:["Use xUnit or NUnit for testing","Use FluentAssertions for readable assertions","Use Moq for mocking interfaces"],kotlin:["Use kotest for BDD-style testing","Use MockK for Kotlin-first mocking","Use data classes for test fixtures"]},examples:[{title:"Unit Test Template (TypeScript + Vitest)",description:"Standard AAA pattern for unit tests",content:`describe('UserService', () => {
3
3
  describe('createUser', () => {
4
4
  it('should create user with valid data', async () => {
5
5
  // Arrange
@@ -26,5 +26,5 @@ var i={domain:"test-generation",bestPractices:["Follow Arrange-Act-Assert (AAA)
26
26
  .rejects.toThrow('Invalid email');
27
27
  });
28
28
  });
29
- });`,context:{language:"typescript",framework:"vitest"}}]},c={domain:"coverage-analysis",bestPractices:["Focus on risk-weighted coverage, not just percentage","Prioritize untested critical paths and business logic","Use mutation testing to validate test quality beyond line coverage","Target branch coverage over statement coverage","Use O(log n) sublinear algorithms for large codebases","Track coverage trends over time, not just snapshots","Exclude generated code, config, and third-party from metrics","Set realistic targets: 80% coverage for critical code","Identify coverage gaps by risk, not just location","Use coverage as a guide, not a goal"],antiPatterns:[{name:"Coverage Chasing",description:"Writing tests just to increase coverage percentage",reason:"Low-quality tests that exercise code without verifying behavior",alternative:"Write tests that verify behavior, measure mutation score"},{name:"Ignoring Branches",description:"Only tracking line coverage, missing conditional branches",reason:"Miss critical edge cases in conditionals",alternative:"Track branch coverage and ensure all paths tested"},{name:"Coverage Ratchet Too Tight",description:"Requiring 100% coverage on all code",reason:"Leads to test pollution, hard to maintain",alternative:"Risk-based coverage targets, allow exceptions"}],frameworkGuidance:{jest:["Use --coverage flag","Configure coverageThreshold in jest.config"],vitest:["Use --coverage flag","Use c8 or istanbul provider"],mocha:["Use nyc (Istanbul) for coverage"],pytest:["Use pytest-cov plugin","Use --cov flag"],junit:["Use JaCoCo for coverage reporting"],testng:["Use JaCoCo with TestNG"],playwright:["Use coverage API for browser code coverage"],cypress:["Use @cypress/code-coverage plugin"],selenium:["Integrate with build tool coverage (Maven/Gradle)"]},languageGuidance:{typescript:["Use c8 or istanbul for Node.js coverage"],javascript:["Use nyc or c8 for coverage"],python:["Use coverage.py or pytest-cov"],java:["Use JaCoCo or Cobertura"],go:["Use go test -cover","Use go tool cover for reports"],rust:["Use cargo-tarpaulin or grcov"],csharp:["Use coverlet or OpenCover"],kotlin:["Use JaCoCo with Kotlin support"]},examples:[]};var l={domain:"contract-testing",bestPractices:["Use contract testing for API boundaries (Pact, etc.)","Test both successful and error responses","Validate response schemas, not just status codes","Test authentication and authorization flows",'Use realistic test data, not just "test" strings',"Test rate limiting and pagination","Verify idempotency for applicable operations","Test with different content types (JSON, XML)","Document APIs with OpenAPI/Swagger specs","Use consumer-driven contracts for microservices"],antiPatterns:[{name:"Testing Implementation",description:"Tests that verify internal implementation details",reason:"Breaks when implementation changes, even if behavior unchanged",alternative:"Test the contract and behavior, not implementation"},{name:"Hardcoded URLs",description:"API URLs hardcoded in tests",reason:"Fails across environments, hard to maintain",alternative:"Use environment variables or config files"},{name:"No Schema Validation",description:"Only checking status codes, not response structure",reason:"Miss contract violations that break consumers",alternative:"Validate response against OpenAPI schema"}],frameworkGuidance:{jest:["Use supertest for HTTP testing"],vitest:["Use supertest or fetch for HTTP testing"],mocha:["Use supertest with chai-http"],pytest:["Use requests or httpx for API testing"],junit:["Use REST Assured for API testing"],testng:["Use REST Assured with TestNG"],playwright:["Use API testing with request context"],cypress:["Use cy.request() for API testing"],selenium:["Integrate with API testing libraries separately"]},languageGuidance:{typescript:["Use supertest, got, or axios"],javascript:["Use supertest, got, or axios"],python:["Use requests, httpx, or pytest-httpx"],java:["Use REST Assured or OkHttp"],go:["Use net/http/httptest package"],rust:["Use reqwest for HTTP testing"],csharp:["Use RestSharp or HttpClient"],kotlin:["Use Fuel or Ktor client"]},examples:[]},u={domain:"security-compliance",bestPractices:["Follow OWASP Top 10 for vulnerability testing","Test authentication bypass scenarios","Test SQL injection in all input fields","Test XSS in all output contexts","Verify CSRF protection on state-changing operations","Test authorization for all endpoints and actions","Scan dependencies for known vulnerabilities (SCA)","Use SAST tools in CI/CD pipeline","Test secrets management and exposure","Validate input sanitization and output encoding"],antiPatterns:[{name:"Security by Obscurity",description:"Relying on hidden endpoints or non-standard auth",reason:"Security through obscurity always fails",alternative:"Use standard authentication and authorization"},{name:"Testing Only Happy Path",description:"Only testing valid inputs",reason:"Miss injection and bypass vulnerabilities",alternative:"Test with malicious inputs and edge cases"}],frameworkGuidance:{jest:["Use for testing security functions and middleware"],vitest:["Use for testing security functions and middleware"],mocha:["Use for testing security functions"],pytest:["Use for testing security functions"],junit:["Use for testing security functions"],testng:["Use for testing security functions"],playwright:["Test for XSS, CSRF in browser context"],cypress:["Test for XSS, CSRF in browser context"],selenium:["Test for XSS, CSRF in browser context"]},languageGuidance:{typescript:["Use snyk, npm audit for dependency scanning"],javascript:["Use snyk, npm audit for dependency scanning"],python:["Use bandit for SAST, safety for SCA"],java:["Use SpotBugs, FindSecBugs for SAST"],go:["Use gosec for security scanning"],rust:["Use cargo-audit for vulnerability scanning"],csharp:["Use Security Code Scan for SAST"],kotlin:["Use detekt with security rules"]},examples:[]},d={domain:"visual-accessibility",bestPractices:["Capture screenshots at consistent viewport sizes","Use baseline images for comparison","Handle dynamic content (dates, avatars) with masks","Test across multiple browsers and devices","Use percy or chromatic for visual regression","Maintain baseline images in version control","Set appropriate diff thresholds for noise tolerance","Test responsive breakpoints systematically","Capture full-page and component screenshots","Use stable selectors for screenshot regions"],antiPatterns:[{name:"Pixel-Perfect Obsession",description:"Zero tolerance for any pixel differences",reason:"Anti-aliasing and rendering differences cause false failures",alternative:"Use appropriate diff thresholds (typically 0.1-5%)"},{name:"Unmasked Dynamic Content",description:"Not masking timestamps, avatars, ads",reason:"Causes constant baseline updates",alternative:"Mask or mock dynamic content consistently"}],frameworkGuidance:{jest:["Use jest-image-snapshot"],vitest:["Use vitest-image-snapshot"],mocha:["Use chai-image-snapshot"],pytest:["Use pytest-playwright with screenshots"],junit:["Use ashot for Java screenshot comparison"],testng:["Use ashot with TestNG"],playwright:["Use expect(page).toHaveScreenshot()"],cypress:["Use cypress-image-snapshot or percy"],selenium:["Use ashot or built-in screenshot"]},languageGuidance:{typescript:["Use playwright or puppeteer for screenshots"],javascript:["Use playwright or puppeteer for screenshots"],python:["Use playwright-python or selenium"],java:["Use ashot with Selenium"],go:["Use chromedp for browser automation"],rust:["Use headless-chrome or fantoccini"],csharp:["Use Selenium with screenshot comparison"],kotlin:["Use Selenium or Playwright with Kotlin"]},examples:[]};var p={domain:"chaos-resilience",bestPractices:["Define clear SLAs and performance budgets","Test under realistic load patterns","Monitor resource usage (CPU, memory, network)","Test both response time and throughput","Include performance tests in CI/CD","Use production-like test environments","Test with realistic data volumes","Profile before optimizing","Test under peak and sustained load","Monitor for memory leaks during extended tests"],antiPatterns:[{name:"Production Load Testing",description:"Running load tests against production",reason:"Can cause outages and affect real users",alternative:"Use staging environment with production-like data"},{name:"Single-Metric Focus",description:"Only measuring response time",reason:"Miss throughput, resource, and concurrency issues",alternative:"Track response time, throughput, errors, resources"}],frameworkGuidance:{jest:["Use for micro-benchmarks only"],vitest:["Use bench() for micro-benchmarks"],mocha:["Use for micro-benchmarks only"],pytest:["Use pytest-benchmark for micro-benchmarks"],junit:["Use JMH for micro-benchmarks"],testng:["Use JMH with TestNG"],playwright:["Use for frontend performance metrics"],cypress:["Use for frontend performance metrics"],selenium:["Limited - use dedicated perf tools"]},languageGuidance:{typescript:["Use k6, artillery, or autocannon"],javascript:["Use k6, artillery, or autocannon"],python:["Use locust for load testing"],java:["Use JMeter, Gatling, or k6"],go:["Use vegeta or hey for load testing"],rust:["Use criterion for benchmarks, drill for load"],csharp:["Use NBomber or k6"],kotlin:["Use Gatling with Kotlin DSL"]},examples:[]},o={"test-generation":i,"test-execution":i,"coverage-analysis":c,"quality-assessment":i,"defect-intelligence":i,"requirements-validation":i,"code-intelligence":c,"security-compliance":u,"contract-testing":l,"visual-accessibility":d,"chaos-resilience":p,"learning-optimization":i};function g(n){return o[n]}function m(n,s){let a=o[n],t=[...a.bestPractices];if(s.framework){let e=a.frameworkGuidance[s.framework];e&&t.push(...e.map(r=>`[${s.framework}] ${r}`))}if(s.language){let e=a.languageGuidance[s.language];e&&t.push(...e.map(r=>`[${s.language}] ${r}`))}if(s.includeAntiPatterns)for(let e of a.antiPatterns)t.push(`[AVOID] ${e.name}: ${e.description}`);return t}function f(n,s){let a=o[n],t=[];for(let e of a.antiPatterns)e.detection&&new RegExp(e.detection,"gi").test(s)&&t.push(e);return t}function h(n,s){let a=o[n],t=[];t.push(`## QE Guidance: ${n}`),t.push(""),t.push("### Best Practices");for(let e of a.bestPractices.slice(0,5))t.push(`- ${e}`);if(s.framework){let e=a.frameworkGuidance[s.framework];if(e&&e.length>0){t.push(""),t.push(`### ${s.framework} Tips`);for(let r of e.slice(0,3))t.push(`- ${r}`)}}if(s.language){let e=a.languageGuidance[s.language];if(e&&e.length>0){t.push(""),t.push(`### ${s.language} Tips`);for(let r of e.slice(0,3))t.push(`- ${r}`)}}t.push(""),t.push("### Anti-Patterns to Avoid");for(let e of a.antiPatterns.slice(0,3))t.push(`- **${e.name}**: ${e.description}`);return t.join(`
30
- `)}export{g as a,m as b,f as c,h as d};
29
+ });`,context:{language:"typescript",framework:"vitest"}}]},u={domain:"coverage-analysis",bestPractices:["Focus on risk-weighted coverage, not just percentage","Prioritize untested critical paths and business logic","Use mutation testing to validate test quality beyond line coverage","Target branch coverage over statement coverage","Use O(log n) sublinear algorithms for large codebases","Track coverage trends over time, not just snapshots","Exclude generated code, config, and third-party from metrics","Set realistic targets: 80% coverage for critical code","Identify coverage gaps by risk, not just location","Use coverage as a guide, not a goal"],antiPatterns:[{name:"Coverage Chasing",description:"Writing tests just to increase coverage percentage",reason:"Low-quality tests that exercise code without verifying behavior",alternative:"Write tests that verify behavior, measure mutation score"},{name:"Ignoring Branches",description:"Only tracking line coverage, missing conditional branches",reason:"Miss critical edge cases in conditionals",alternative:"Track branch coverage and ensure all paths tested"},{name:"Coverage Ratchet Too Tight",description:"Requiring 100% coverage on all code",reason:"Leads to test pollution, hard to maintain",alternative:"Risk-based coverage targets, allow exceptions"}],frameworkGuidance:{jest:["Use --coverage flag","Configure coverageThreshold in jest.config"],vitest:["Use --coverage flag","Use c8 or istanbul provider"],mocha:["Use nyc (Istanbul) for coverage"],pytest:["Use pytest-cov plugin","Use --cov flag"],junit:["Use JaCoCo for coverage reporting"],testng:["Use JaCoCo with TestNG"],playwright:["Use coverage API for browser code coverage"],cypress:["Use @cypress/code-coverage plugin"],selenium:["Integrate with build tool coverage (Maven/Gradle)"]},languageGuidance:{typescript:["Use c8 or istanbul for Node.js coverage"],javascript:["Use nyc or c8 for coverage"],python:["Use coverage.py or pytest-cov"],java:["Use JaCoCo or Cobertura"],go:["Use go test -cover","Use go tool cover for reports"],rust:["Use cargo-tarpaulin or grcov"],csharp:["Use coverlet or OpenCover"],kotlin:["Use JaCoCo with Kotlin support"]},examples:[]};var p={domain:"contract-testing",bestPractices:["Use contract testing for API boundaries (Pact, etc.)","Test both successful and error responses","Validate response schemas, not just status codes","Test authentication and authorization flows",'Use realistic test data, not just "test" strings',"Test rate limiting and pagination","Verify idempotency for applicable operations","Test with different content types (JSON, XML)","Document APIs with OpenAPI/Swagger specs","Use consumer-driven contracts for microservices"],antiPatterns:[{name:"Testing Implementation",description:"Tests that verify internal implementation details",reason:"Breaks when implementation changes, even if behavior unchanged",alternative:"Test the contract and behavior, not implementation"},{name:"Hardcoded URLs",description:"API URLs hardcoded in tests",reason:"Fails across environments, hard to maintain",alternative:"Use environment variables or config files"},{name:"No Schema Validation",description:"Only checking status codes, not response structure",reason:"Miss contract violations that break consumers",alternative:"Validate response against OpenAPI schema"}],frameworkGuidance:{jest:["Use supertest for HTTP testing"],vitest:["Use supertest or fetch for HTTP testing"],mocha:["Use supertest with chai-http"],pytest:["Use requests or httpx for API testing"],junit:["Use REST Assured for API testing"],testng:["Use REST Assured with TestNG"],playwright:["Use API testing with request context"],cypress:["Use cy.request() for API testing"],selenium:["Integrate with API testing libraries separately"]},languageGuidance:{typescript:["Use supertest, got, or axios"],javascript:["Use supertest, got, or axios"],python:["Use requests, httpx, or pytest-httpx"],java:["Use REST Assured or OkHttp"],go:["Use net/http/httptest package"],rust:["Use reqwest for HTTP testing"],csharp:["Use RestSharp or HttpClient"],kotlin:["Use Fuel or Ktor client"]},examples:[]},g={domain:"security-compliance",bestPractices:["Follow OWASP Top 10 for vulnerability testing","Test authentication bypass scenarios","Test SQL injection in all input fields","Test XSS in all output contexts","Verify CSRF protection on state-changing operations","Test authorization for all endpoints and actions","Scan dependencies for known vulnerabilities (SCA)","Use SAST tools in CI/CD pipeline","Test secrets management and exposure","Validate input sanitization and output encoding"],antiPatterns:[{name:"Security by Obscurity",description:"Relying on hidden endpoints or non-standard auth",reason:"Security through obscurity always fails",alternative:"Use standard authentication and authorization"},{name:"Testing Only Happy Path",description:"Only testing valid inputs",reason:"Miss injection and bypass vulnerabilities",alternative:"Test with malicious inputs and edge cases"}],frameworkGuidance:{jest:["Use for testing security functions and middleware"],vitest:["Use for testing security functions and middleware"],mocha:["Use for testing security functions"],pytest:["Use for testing security functions"],junit:["Use for testing security functions"],testng:["Use for testing security functions"],playwright:["Test for XSS, CSRF in browser context"],cypress:["Test for XSS, CSRF in browser context"],selenium:["Test for XSS, CSRF in browser context"]},languageGuidance:{typescript:["Use snyk, npm audit for dependency scanning"],javascript:["Use snyk, npm audit for dependency scanning"],python:["Use bandit for SAST, safety for SCA"],java:["Use SpotBugs, FindSecBugs for SAST"],go:["Use gosec for security scanning"],rust:["Use cargo-audit for vulnerability scanning"],csharp:["Use Security Code Scan for SAST"],kotlin:["Use detekt with security rules"]},examples:[]},m={domain:"visual-accessibility",bestPractices:["Capture screenshots at consistent viewport sizes","Use baseline images for comparison","Handle dynamic content (dates, avatars) with masks","Test across multiple browsers and devices","Use percy or chromatic for visual regression","Maintain baseline images in version control","Set appropriate diff thresholds for noise tolerance","Test responsive breakpoints systematically","Capture full-page and component screenshots","Use stable selectors for screenshot regions"],antiPatterns:[{name:"Pixel-Perfect Obsession",description:"Zero tolerance for any pixel differences",reason:"Anti-aliasing and rendering differences cause false failures",alternative:"Use appropriate diff thresholds (typically 0.1-5%)"},{name:"Unmasked Dynamic Content",description:"Not masking timestamps, avatars, ads",reason:"Causes constant baseline updates",alternative:"Mask or mock dynamic content consistently"}],frameworkGuidance:{jest:["Use jest-image-snapshot"],vitest:["Use vitest-image-snapshot"],mocha:["Use chai-image-snapshot"],pytest:["Use pytest-playwright with screenshots"],junit:["Use ashot for Java screenshot comparison"],testng:["Use ashot with TestNG"],playwright:["Use expect(page).toHaveScreenshot()"],cypress:["Use cypress-image-snapshot or percy"],selenium:["Use ashot or built-in screenshot"]},languageGuidance:{typescript:["Use playwright or puppeteer for screenshots"],javascript:["Use playwright or puppeteer for screenshots"],python:["Use playwright-python or selenium"],java:["Use ashot with Selenium"],go:["Use chromedp for browser automation"],rust:["Use headless-chrome or fantoccini"],csharp:["Use Selenium with screenshot comparison"],kotlin:["Use Selenium or Playwright with Kotlin"]},examples:[]};var f={domain:"chaos-resilience",bestPractices:["Define clear SLAs and performance budgets","Test under realistic load patterns","Monitor resource usage (CPU, memory, network)","Test both response time and throughput","Include performance tests in CI/CD","Use production-like test environments","Test with realistic data volumes","Profile before optimizing","Test under peak and sustained load","Monitor for memory leaks during extended tests"],antiPatterns:[{name:"Production Load Testing",description:"Running load tests against production",reason:"Can cause outages and affect real users",alternative:"Use staging environment with production-like data"},{name:"Single-Metric Focus",description:"Only measuring response time",reason:"Miss throughput, resource, and concurrency issues",alternative:"Track response time, throughput, errors, resources"}],frameworkGuidance:{jest:["Use for micro-benchmarks only"],vitest:["Use bench() for micro-benchmarks"],mocha:["Use for micro-benchmarks only"],pytest:["Use pytest-benchmark for micro-benchmarks"],junit:["Use JMH for micro-benchmarks"],testng:["Use JMH with TestNG"],playwright:["Use for frontend performance metrics"],cypress:["Use for frontend performance metrics"],selenium:["Limited - use dedicated perf tools"]},languageGuidance:{typescript:["Use k6, artillery, or autocannon"],javascript:["Use k6, artillery, or autocannon"],python:["Use locust for load testing"],java:["Use JMeter, Gatling, or k6"],go:["Use vegeta or hey for load testing"],rust:["Use criterion for benchmarks, drill for load"],csharp:["Use NBomber or k6"],kotlin:["Use Gatling with Kotlin DSL"]},examples:[]},l={"test-generation":o,"test-execution":o,"coverage-analysis":u,"quality-assessment":o,"defect-intelligence":o,"requirements-validation":o,"code-intelligence":u,"security-compliance":g,"contract-testing":p,"visual-accessibility":m,"chaos-resilience":f,"learning-optimization":o};function y(n){return l[n]}function U(n,s){let a=l[n],t=[...a.bestPractices];if(s.framework){let e=a.frameworkGuidance[s.framework];e&&t.push(...e.map(i=>`[${s.framework}] ${i}`))}if(s.language){let e=a.languageGuidance[s.language];e&&t.push(...e.map(i=>`[${s.language}] ${i}`))}if(s.includeAntiPatterns)for(let e of a.antiPatterns)t.push(`[AVOID] ${e.name}: ${e.description}`);return t}function v(n,s){let a=l[n],t=[];for(let e of a.antiPatterns)e.detection&&new RegExp(e.detection,"gi").test(s)&&t.push(e);return t}function b(n,s){let a=l[n],t=[];t.push(`## QE Guidance: ${n}`),t.push(""),t.push("### Best Practices");for(let e of a.bestPractices.slice(0,5))t.push(`- ${e}`);if(s.framework){let e=a.frameworkGuidance[s.framework];if(e&&e.length>0){t.push(""),t.push(`### ${s.framework} Tips`);for(let i of e.slice(0,3))t.push(`- ${i}`)}}if(s.language){let e=a.languageGuidance[s.language];if(e&&e.length>0){t.push(""),t.push(`### ${s.language} Tips`);for(let i of e.slice(0,3))t.push(`- ${i}`)}}t.push(""),t.push("### Anti-Patterns to Avoid");for(let e of a.antiPatterns.slice(0,3))t.push(`- **${e.name}**: ${e.description}`);return t.join(`
30
+ `)}function h(n,s){let a=s.filter(({pattern:r,similarity:c})=>c>=.5&&r.qualityScore>=.3);if(a.length===0)return n;let t=a.map(({pattern:r,similarity:c})=>`[Pattern: ${r.name}] ${r.description} (confidence: ${(r.confidence*100).toFixed(0)}%, similarity: ${(c*100).toFixed(0)}%)`),e=new Set(n.patterns.map(({id:r})=>r)),i=a.map(({pattern:r})=>r).filter(({id:r})=>!e.has(r)),d=a.reduce((r,c)=>r+c.similarity,0)/a.length;return{...n,patterns:[...n.patterns,...i],guidance:[...n.guidance,"--- Relevant Patterns ---",...t],reasoning:`${n.reasoning}; Found ${a.length} relevant pattern(s) with avg similarity ${(d*100).toFixed(0)}%`,confidence:Math.min(1,n.confidence+a.length*.02)}}function T(n,s,a){return n?h(s,a):s}export{y as a,U as b,v as c,b as d,h as e,T as f};