agentic-qe 3.10.1 → 3.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/.claude/hooks/README.txt +17 -0
  2. package/.claude/hooks/aqe-hook.cjs +98 -0
  3. package/.claude/hooks/cross-phase-memory.yaml +296 -0
  4. package/.claude/hooks/post-task-sync.sh +113 -0
  5. package/.claude/hooks/v3-domain-workers.json +121 -0
  6. package/.claude/skills/release/SKILL.md +10 -10
  7. package/.claude/skills/skills-manifest.json +1 -1
  8. package/CHANGELOG.md +131 -0
  9. package/assets/grammars/tree-sitter-c_sharp.wasm +0 -0
  10. package/assets/grammars/tree-sitter-java.wasm +0 -0
  11. package/assets/grammars/tree-sitter-javascript.wasm +0 -0
  12. package/assets/grammars/tree-sitter-python.wasm +0 -0
  13. package/assets/grammars/tree-sitter-rust.wasm +0 -0
  14. package/assets/grammars/tree-sitter-swift.wasm +0 -0
  15. package/assets/grammars/tree-sitter-tsx.wasm +0 -0
  16. package/assets/grammars/tree-sitter-typescript.wasm +0 -0
  17. package/assets/skills/skills-manifest.json +1 -1
  18. package/dist/agents/claim-verifier/claim-verifier-service.js +4 -2
  19. package/dist/agents/claim-verifier/verifiers/test-verifier.js +31 -23
  20. package/dist/agents/devils-advocate/agent.js +1 -1
  21. package/dist/cli/bundle.js +5 -5
  22. package/dist/cli/chunks/adapter-BHPUKMJ5.js +2 -0
  23. package/dist/cli/chunks/{agent-booster-wasm-FZLWOPSX.js → agent-booster-wasm-NGC6LSQP.js} +2 -2
  24. package/dist/cli/chunks/{agent-handler-KAGRVCKS.js → agent-handler-P2IJE4GK.js} +2 -2
  25. package/dist/cli/chunks/{agent-memory-branch-JJKFEXQW.js → agent-memory-branch-JXRJ5GKQ.js} +2 -2
  26. package/dist/cli/chunks/aqe-learning-engine-JQ5WD2HM.js +2 -0
  27. package/dist/cli/chunks/{audit-DN5SY4JJ.js → audit-BMQ3VESB.js} +2 -2
  28. package/dist/cli/chunks/base-E32WLGY2.js +2 -0
  29. package/dist/cli/chunks/{hnswlib-node-YX6OOBN6.js → better-sqlite3-HP4JZS6K.js} +2 -2
  30. package/dist/cli/chunks/{brain-handler-O7MP5BGY.js → brain-handler-SACNDFSW.js} +3 -3
  31. package/dist/cli/chunks/{branch-enumerator-ZPTN5J6V.js → branch-enumerator-LFOTVUDA.js} +2 -2
  32. package/dist/cli/chunks/{browser-PAZE2JSD.js → browser-FK7PRF3W.js} +2 -2
  33. package/dist/cli/chunks/browser-workflow-LNNXXAJG.js +2 -0
  34. package/dist/cli/chunks/{chunk-BF7MUYWC.js → chunk-2EQVYYBF.js} +2 -2
  35. package/dist/cli/chunks/{chunk-BGBSYF3K.js → chunk-2L73WXA4.js} +2 -2
  36. package/dist/cli/chunks/{chunk-W2DT3CDE.js → chunk-2ULVCLOW.js} +2 -2
  37. package/dist/cli/chunks/{chunk-FJSR2U65.js → chunk-3HBWDG62.js} +2 -2
  38. package/dist/cli/chunks/{chunk-WPNZSL4S.js → chunk-3JAOFKEU.js} +2 -2
  39. package/dist/cli/chunks/{chunk-2TDWCXZ6.js → chunk-3LRK7PYN.js} +2 -2
  40. package/dist/cli/chunks/{chunk-MVGVD6LS.js → chunk-3RZL4QTT.js} +2 -2
  41. package/dist/cli/chunks/chunk-3VF3HCG4.js +2 -0
  42. package/dist/cli/chunks/{chunk-6E7GI2UB.js → chunk-3X2ZQ55B.js} +4 -4
  43. package/dist/cli/chunks/{chunk-6QFONVEE.js → chunk-4CYLSXA6.js} +2 -2
  44. package/dist/cli/chunks/{chunk-VOIWDPIU.js → chunk-4OUAHZX2.js} +2 -2
  45. package/dist/cli/chunks/{chunk-EIROAH6N.js → chunk-4QFAUSWQ.js} +2 -2
  46. package/dist/cli/chunks/{chunk-ZEMXMDD3.js → chunk-5ER3COX3.js} +2 -2
  47. package/dist/cli/chunks/{chunk-ECPB7IAH.js → chunk-5EWWA4QP.js} +4 -4
  48. package/dist/cli/chunks/{chunk-AUVC3DDB.js → chunk-5G5AAEFF.js} +2 -2
  49. package/dist/cli/chunks/{chunk-RRLQFFCO.js → chunk-5IBJURYB.js} +3 -3
  50. package/dist/cli/chunks/chunk-5LON3MLI.js +2 -0
  51. package/dist/cli/chunks/{chunk-WMG5F6R6.js → chunk-5SGEOO2F.js} +2 -2
  52. package/dist/cli/chunks/{chunk-SQBB2DC6.js → chunk-6B4S7PKP.js} +3 -3
  53. package/dist/cli/chunks/{chunk-H44WD7QX.js → chunk-6FL3GN4T.js} +2 -2
  54. package/dist/cli/chunks/{chunk-7MSYTHZM.js → chunk-6GCOIIHY.js} +2 -2
  55. package/dist/cli/chunks/{chunk-KKNBYXYA.js → chunk-6Q2PPOOF.js} +1 -1
  56. package/dist/cli/chunks/{chunk-K4T3RDCB.js → chunk-6ZK24V2Y.js} +2 -2
  57. package/dist/cli/chunks/{chunk-G3BQU3Q6.js → chunk-72LE6PHL.js} +3 -3
  58. package/dist/cli/chunks/{chunk-F3OVFA6W.js → chunk-7RMZAVGO.js} +2 -2
  59. package/dist/cli/chunks/{chunk-YYWIA5FX.js → chunk-7SEHQTYD.js} +1 -1
  60. package/dist/cli/chunks/{chunk-UU2Q6XWF.js → chunk-7YYTTWGY.js} +1 -1
  61. package/dist/cli/chunks/{chunk-XKOKMS5A.js → chunk-7ZSPCGTI.js} +2 -2
  62. package/dist/cli/chunks/{chunk-RWYW573C.js → chunk-ADV4DH3W.js} +5 -5
  63. package/dist/cli/chunks/{chunk-OC3OJWLB.js → chunk-AEJVOJPT.js} +2 -2
  64. package/dist/cli/chunks/{chunk-2UN4DOBJ.js → chunk-B5MMDMH6.js} +2 -2
  65. package/dist/cli/chunks/{chunk-WQEZKAUR.js → chunk-BO2OV2RH.js} +2 -2
  66. package/dist/cli/chunks/{chunk-NPSBMDVU.js → chunk-BT3QLWII.js} +2 -2
  67. package/dist/cli/chunks/{chunk-6VQ5MFJ6.js → chunk-BWP3UVPE.js} +7 -7
  68. package/dist/cli/chunks/{chunk-SLNGJW4G.js → chunk-C6BBRM2J.js} +1 -1
  69. package/dist/cli/chunks/{chunk-4AWJ5PE4.js → chunk-CAMEFWRK.js} +1 -1
  70. package/dist/cli/chunks/{chunk-BECU52UY.js → chunk-CNEWYJKT.js} +4 -4
  71. package/dist/cli/chunks/{chunk-EO4B5GS4.js → chunk-CTDO2UB2.js} +1 -1
  72. package/dist/cli/chunks/{chunk-GTGONWGX.js → chunk-D2FBUOAR.js} +1 -1
  73. package/dist/cli/chunks/{chunk-OQP5OFRR.js → chunk-DF3MJ2YL.js} +1 -1
  74. package/dist/cli/chunks/{chunk-KEC5FBAW.js → chunk-DY5KEOHX.js} +1 -1
  75. package/dist/cli/chunks/{chunk-EBQ6YKP2.js → chunk-E2BJT6A7.js} +3 -3
  76. package/dist/cli/chunks/{chunk-WDTCCPK4.js → chunk-EETVN2OJ.js} +1 -1
  77. package/dist/cli/chunks/{chunk-UDVX34ZG.js → chunk-ERYMAYJW.js} +20 -17
  78. package/dist/cli/chunks/{chunk-ELUERFGA.js → chunk-FJGSEPFL.js} +2 -2
  79. package/dist/cli/chunks/{chunk-BN7ERYXI.js → chunk-FLTPHVZ3.js} +1 -1
  80. package/dist/cli/chunks/{chunk-OVENSL64.js → chunk-FND6V2RV.js} +22 -22
  81. package/dist/cli/chunks/{chunk-5ZCVMR5E.js → chunk-FU77CDEM.js} +2 -2
  82. package/dist/cli/chunks/{chunk-VKRMVTWU.js → chunk-GELF4ILR.js} +37 -37
  83. package/dist/cli/chunks/{chunk-H22MMMYY.js → chunk-GHNNJHH3.js} +2 -2
  84. package/dist/cli/chunks/{chunk-32R7EA7B.js → chunk-GJUGSH7T.js} +3 -3
  85. package/dist/cli/chunks/{chunk-HPNEZ7YN.js → chunk-GL3HZN3O.js} +1 -1
  86. package/dist/cli/chunks/{chunk-WL2J6ECN.js → chunk-H56AROF2.js} +2 -2
  87. package/dist/cli/chunks/{chunk-GTRXZJNX.js → chunk-HAO3SPOE.js} +2 -2
  88. package/dist/cli/chunks/{chunk-PUXDXIUE.js → chunk-HM523MTQ.js} +1 -1
  89. package/dist/cli/chunks/{chunk-KRXKU54J.js → chunk-HMFEPKAR.js} +2 -2
  90. package/dist/cli/chunks/{chunk-3YOPJ7DY.js → chunk-HQJMCTWN.js} +2 -2
  91. package/dist/cli/chunks/{chunk-LF7URN2X.js → chunk-HRLXU4LH.js} +2 -2
  92. package/dist/cli/chunks/{chunk-TL5F2S3Z.js → chunk-HWM2XJ3P.js} +24 -24
  93. package/dist/cli/chunks/{chunk-6A2NIR2E.js → chunk-I42R57ON.js} +2 -2
  94. package/dist/cli/chunks/chunk-IL2KOW5W.js +2 -0
  95. package/dist/cli/chunks/{chunk-CR4ERDS2.js → chunk-IRR7YA3Q.js} +2 -2
  96. package/dist/cli/chunks/{chunk-Y2DPXMOR.js → chunk-JD2PG4KS.js} +1 -1
  97. package/dist/cli/chunks/{chunk-TFNLXAK5.js → chunk-JE3C7JYN.js} +1 -1
  98. package/dist/cli/chunks/{chunk-ZTMWJQTZ.js → chunk-JLL27IGU.js} +2 -2
  99. package/dist/cli/chunks/{chunk-YPOTBXPU.js → chunk-JOLDCS6X.js} +2 -2
  100. package/dist/cli/chunks/chunk-JP63XACW.js +62 -0
  101. package/dist/cli/chunks/{chunk-AABKTWXC.js → chunk-JSFYPLMQ.js} +2 -2
  102. package/dist/cli/chunks/{chunk-KCTH5MHE.js → chunk-JTF6D2RJ.js} +4 -4
  103. package/dist/cli/chunks/{chunk-GRG3OP34.js → chunk-JTZ3Q2QS.js} +2 -2
  104. package/dist/cli/chunks/chunk-JXIPRMAY.js +95 -0
  105. package/dist/cli/chunks/{chunk-TNGGVMPQ.js → chunk-KG5SM36Y.js} +1 -1
  106. package/dist/cli/chunks/{chunk-QNW335PD.js → chunk-KTRB3L53.js} +2 -2
  107. package/dist/cli/chunks/{chunk-XRK7FBTY.js → chunk-L74CHKFR.js} +2 -2
  108. package/dist/cli/chunks/{chunk-IHDUWPFY.js → chunk-LZ6TNTGO.js} +2 -2
  109. package/dist/cli/chunks/{chunk-Y357YFLF.js → chunk-M5CDW2ZH.js} +2 -2
  110. package/dist/cli/chunks/{chunk-GRYXNWPF.js → chunk-MBSJ5G4I.js} +12 -12
  111. package/dist/cli/chunks/{chunk-IPRDHKSI.js → chunk-MC7K44M4.js} +2 -2
  112. package/dist/cli/chunks/{chunk-TP77PNN6.js → chunk-MQOFFRTA.js} +2 -2
  113. package/dist/cli/chunks/{chunk-JLKHPIQF.js → chunk-N7IBYDW5.js} +1 -1
  114. package/dist/cli/chunks/{chunk-G5DTENO3.js → chunk-NEYYLAYS.js} +5 -5
  115. package/dist/cli/chunks/{chunk-TNVYKYTO.js → chunk-NNVXHC74.js} +3 -3
  116. package/dist/cli/chunks/{chunk-HRDGN3OK.js → chunk-NNZMEYLT.js} +1 -1
  117. package/dist/cli/chunks/{chunk-25QGPRWN.js → chunk-NRCL3WCP.js} +2 -2
  118. package/dist/cli/chunks/{chunk-NRLT44YB.js → chunk-NXPFGPHV.js} +1 -1
  119. package/dist/cli/chunks/{chunk-PXFQSVA2.js → chunk-NZHOKLII.js} +3 -3
  120. package/dist/cli/chunks/{chunk-7SQD2TTQ.js → chunk-OG7CWWFR.js} +1 -1
  121. package/dist/cli/chunks/{chunk-XGUQYVJR.js → chunk-OPDTDKN3.js} +2 -2
  122. package/dist/cli/chunks/{chunk-2KTRRSKD.js → chunk-OX4R55T3.js} +2 -2
  123. package/dist/cli/chunks/{chunk-COZDJLIL.js → chunk-PFCAMX6H.js} +1 -1
  124. package/dist/cli/chunks/{chunk-UDFLR7GR.js → chunk-PL5SLO2W.js} +1 -1
  125. package/dist/cli/chunks/{chunk-6ZRMQXVL.js → chunk-PZHZPX3O.js} +4 -4
  126. package/dist/cli/chunks/{chunk-57NJQV57.js → chunk-Q7EBD24B.js} +1 -1
  127. package/dist/cli/chunks/{chunk-6D57DWQ6.js → chunk-QEODION5.js} +2 -2
  128. package/dist/cli/chunks/{chunk-K22TPWOJ.js → chunk-QM65UGPV.js} +2 -2
  129. package/dist/cli/chunks/{chunk-2ETDES5W.js → chunk-QWG76RHA.js} +2 -2
  130. package/dist/cli/chunks/{chunk-GXJ4BCGC.js → chunk-R5ONQAQL.js} +2 -2
  131. package/dist/cli/chunks/{chunk-KZJXVIAW.js → chunk-RNF47IJ5.js} +4 -4
  132. package/dist/cli/chunks/{chunk-IK6AJX3C.js → chunk-RTDHWOAG.js} +1 -1
  133. package/dist/cli/chunks/{chunk-NQZYUH6S.js → chunk-RZCAA2PZ.js} +1 -1
  134. package/dist/cli/chunks/{chunk-DQIS6J77.js → chunk-SL6YZAT4.js} +2 -2
  135. package/dist/cli/chunks/{chunk-RPL6K623.js → chunk-SNTMAVPH.js} +5 -5
  136. package/dist/cli/chunks/{chunk-MQYTW2IN.js → chunk-SWOG3PBD.js} +2 -2
  137. package/dist/cli/chunks/{chunk-DMIYWPQQ.js → chunk-T63EK6GH.js} +2 -2
  138. package/dist/cli/chunks/chunk-U6UK3UMX.js +59 -0
  139. package/dist/cli/chunks/{chunk-2S4XHK26.js → chunk-U7NMPZE2.js} +2 -2
  140. package/dist/cli/chunks/{chunk-WS4XVJHI.js → chunk-UDV4YB42.js} +1 -1
  141. package/dist/cli/chunks/{chunk-P7T5Y735.js → chunk-UHDBM7QS.js} +2 -2
  142. package/dist/cli/chunks/{chunk-5EU2VQK3.js → chunk-UIJFU4KD.js} +2 -2
  143. package/dist/cli/chunks/{chunk-Q24OJX44.js → chunk-USFZ4IJD.js} +2 -2
  144. package/dist/cli/chunks/{chunk-Q5VHBI4U.js → chunk-UZL366ZI.js} +1 -1
  145. package/dist/cli/chunks/{chunk-GMKGLZJU.js → chunk-VDTFRMES.js} +2 -2
  146. package/dist/cli/chunks/{chunk-EUJHHXE6.js → chunk-VIWIO27R.js} +3 -3
  147. package/dist/cli/chunks/{chunk-PLRSKAFZ.js → chunk-VRXY4T22.js} +2 -2
  148. package/dist/cli/chunks/{chunk-NDCPEXDN.js → chunk-WPVCSFDA.js} +2 -2
  149. package/dist/cli/chunks/{chunk-TX7SNQKL.js → chunk-WWD5IWTV.js} +1 -1
  150. package/dist/cli/chunks/{chunk-T3UXMPXX.js → chunk-X2B7SANM.js} +1 -1
  151. package/dist/cli/chunks/{chunk-7CKVAYP3.js → chunk-X3RJ6SFC.js} +1 -1
  152. package/dist/cli/chunks/{chunk-6LRCMFLV.js → chunk-XTP2GHI7.js} +2 -2
  153. package/dist/cli/chunks/{chunk-W6ZF2CPN.js → chunk-YDDZJCKY.js} +1 -1
  154. package/dist/cli/chunks/{chunk-5KFCH7RH.js → chunk-YDKYLNKZ.js} +1 -1
  155. package/dist/cli/chunks/{chunk-ELZ67OHQ.js → chunk-YIYV2JB6.js} +2 -2
  156. package/dist/cli/chunks/{chunk-PW6MOFXG.js → chunk-YX2HY4MX.js} +2 -2
  157. package/dist/cli/chunks/{chunk-DVOH75S4.js → chunk-YXH2CVAF.js} +1 -1
  158. package/dist/cli/chunks/{chunk-IITKJCPK.js → chunk-YYAPO3CU.js} +3 -3
  159. package/dist/cli/chunks/{chunk-5OTYBWRL.js → chunk-Z2K5IZM6.js} +2 -2
  160. package/dist/cli/chunks/{chunk-NOCYYXK4.js → chunk-ZG4P3DTL.js} +2 -2
  161. package/dist/cli/chunks/{chunk-YGRTMAWB.js → chunk-ZXQNE4QV.js} +1 -1
  162. package/dist/cli/chunks/{ci-EHRUN7O6.js → ci-AWZ3S5OT.js} +6 -6
  163. package/dist/cli/chunks/{ci-output-EXDXVXKB.js → ci-output-JLCYTIMT.js} +2 -2
  164. package/dist/cli/chunks/{circuit-breaker-LM4QRAAL.js → circuit-breaker-BJDKBDIL.js} +2 -2
  165. package/dist/cli/chunks/{claude-flow-setup-ZHUCZVW7.js → claude-flow-setup-KKOP5ZMO.js} +2 -2
  166. package/dist/cli/chunks/client-2UKBYFX4.js +2 -0
  167. package/dist/cli/chunks/{cline-installer-WMFLQOW2.js → cline-installer-7M525SEA.js} +2 -2
  168. package/dist/cli/chunks/{code-L7KRLU5E.js → code-27SUVJDO.js} +20 -19
  169. package/dist/cli/chunks/{code-index-extractor-FTMUYQC6.js → code-index-extractor-TTQQZLAK.js} +2 -2
  170. package/dist/cli/chunks/{codex-installer-B3F6WI3Z.js → codex-installer-GHNGNPKP.js} +2 -2
  171. package/dist/cli/chunks/{completions-3JZQRNB6.js → completions-JPJD24DG.js} +2 -2
  172. package/dist/cli/chunks/{complexity-analyzer-LB2FFEKX.js → complexity-analyzer-Q74EJV33.js} +2 -2
  173. package/dist/cli/chunks/{continuedev-installer-WH6IMV7R.js → continuedev-installer-ULTRDIML.js} +2 -2
  174. package/dist/cli/chunks/{copilot-installer-NOIEOFJM.js → copilot-installer-EK52X4CG.js} +2 -2
  175. package/dist/cli/chunks/{cost-tracker-IKX2VYSA.js → cost-tracker-2GKBRYXL.js} +2 -2
  176. package/dist/cli/chunks/{coverage-TD37CYSY.js → coverage-YCLC3W2A.js} +3 -3
  177. package/dist/cli/chunks/cross-domain-router-FPM3L27L.js +2 -0
  178. package/dist/cli/chunks/{cursor-installer-4NSVGRM5.js → cursor-installer-B3ALFW5E.js} +2 -2
  179. package/dist/cli/chunks/{daemon-UWEBUIDT.js → daemon-YWINEHG4.js} +4 -4
  180. package/dist/cli/chunks/{daemon-LYDV7NRW.js → daemon-ZKEBVLJA.js} +3 -3
  181. package/dist/cli/chunks/{dag-attention-scheduler-NECJGCHC.js → dag-attention-scheduler-OQPJ6ULA.js} +2 -2
  182. package/dist/cli/chunks/{detect-4XGC7ILO.js → detect-YMYIQH3Q.js} +2 -2
  183. package/dist/cli/chunks/{dist-node-GGJDXRKJ.js → dist-node-R4FAYQRY.js} +2 -2
  184. package/dist/cli/chunks/{domain-handler-UOFONAUT.js → domain-handler-IGWXLF2S.js} +2 -2
  185. package/dist/cli/chunks/{domain-transfer-6JLNOYPA.js → domain-transfer-A7YNO76C.js} +2 -2
  186. package/dist/cli/chunks/dream-XM33US3V.js +2 -0
  187. package/dist/cli/chunks/{embed-and-insert-pattern-ZM75DQ4J.js → embed-and-insert-pattern-KODZAS7Y.js} +2 -2
  188. package/dist/cli/chunks/{eval-CYZJTHEB.js → eval-ALQW7Q2S.js} +3 -3
  189. package/dist/cli/chunks/{experience-capture-middleware-RBOJLDUB.js → experience-capture-middleware-3WK4RXWK.js} +3 -3
  190. package/dist/cli/chunks/{fast-paths-S5BWZR3L.js → fast-paths-PQWDFIJZ.js} +2 -2
  191. package/dist/cli/chunks/{feature-flags-DUNQPDU3.js → feature-flags-6X33B3WX.js} +2 -2
  192. package/dist/cli/chunks/{feature-flags-6E7H3NYP.js → feature-flags-JRUAZCND.js} +2 -2
  193. package/dist/cli/chunks/{file-discovery-PFFKDGYG.js → file-discovery-SA3YU3IH.js} +2 -2
  194. package/dist/cli/chunks/{fleet-RCDZZFXN.js → fleet-7TXCAOKQ.js} +3 -3
  195. package/dist/cli/chunks/{gnn-wrapper-5AG3WDWF.js → gnn-wrapper-ZKNYACEC.js} +2 -2
  196. package/dist/cli/chunks/{heartbeat-handler-O2KAEX4Y.js → heartbeat-handler-KRZRZ23F.js} +4 -4
  197. package/dist/cli/chunks/heartbeat-scheduler-GM3M2MTG.js +2 -0
  198. package/dist/cli/chunks/hnsw-adapter-K62GEHIL.js +2 -0
  199. package/dist/cli/chunks/hnsw-index-VCAK3TWN.js +2 -0
  200. package/dist/cli/chunks/{hnsw-legacy-bridge-C7FG6YGW.js → hnsw-legacy-bridge-LVHQ5SG7.js} +2 -2
  201. package/dist/cli/chunks/{better-sqlite3-XGPW4HK5.js → hnswlib-node-64EGGWIC.js} +2 -2
  202. package/dist/cli/chunks/{hooks-FUHNE2P7.js → hooks-6Y3UHYI2.js} +14 -14
  203. package/dist/cli/chunks/hybrid-router-432QNCNG.js +2 -0
  204. package/dist/cli/chunks/{hypergraph-engine-LQRYBNPV.js → hypergraph-engine-2EZBZMFK.js} +2 -2
  205. package/dist/cli/chunks/{hypergraph-handler-AFFNLZVD.js → hypergraph-handler-GLPWYII2.js} +3 -3
  206. package/dist/cli/chunks/impact-analyzer-VTSISNN4.js +2 -0
  207. package/dist/cli/chunks/{init-handler-BQ6IDBX4.js → init-handler-ZSDO5VMA.js} +6 -6
  208. package/dist/cli/chunks/init-wizard-COB5AH7Q.js +2 -0
  209. package/dist/cli/chunks/kernel-ROK7X5FM.js +2 -0
  210. package/dist/cli/chunks/{kilocode-installer-KS72HUSG.js → kilocode-installer-ATYSDWIV.js} +2 -2
  211. package/dist/cli/chunks/{kiro-installer-2ZEFLGRX.js → kiro-installer-K66YT6PC.js} +2 -2
  212. package/dist/cli/chunks/knowledge-graph-YUWIDIWW.js +2 -0
  213. package/dist/cli/chunks/{learning-GGHGJ6B6.js → learning-BVYCC4RI.js} +3 -3
  214. package/dist/cli/chunks/{llm-router-LP6K5BJF.js → llm-router-VBCXE6DN.js} +12 -12
  215. package/dist/cli/chunks/llm-router-service-7VLXJ7VE.js +2 -0
  216. package/dist/cli/chunks/{load-2MLKXOT2.js → load-AREDQE2U.js} +2 -2
  217. package/dist/cli/chunks/load-test-32524DL3.js +2 -0
  218. package/dist/cli/chunks/{mcp-CDJBJG5H.js → mcp-NG6H6UC5.js} +2 -2
  219. package/dist/cli/chunks/{memory-4LAX7JZS.js → memory-Y65EHG6N.js} +5 -5
  220. package/dist/cli/chunks/memory-backend-BI2V5AAB.js +2 -0
  221. package/dist/cli/chunks/memory-handlers-NSOFWVFN.js +2 -0
  222. package/dist/cli/chunks/{multi-model-executor-SLJV73HE.js → multi-model-executor-VRPRFUZT.js} +2 -2
  223. package/dist/cli/chunks/{opencode-installer-M76SONWV.js → opencode-installer-CKQXPM5R.js} +3 -3
  224. package/dist/cli/chunks/{orchestrator-TJPUDJMP.js → orchestrator-I7JBKD6G.js} +19 -19
  225. package/dist/cli/chunks/{pipeline-2PVNFT6J.js → pipeline-MV2RWCBI.js} +2 -2
  226. package/dist/cli/chunks/{platform-KCSEDKEE.js → platform-VU5P3SOG.js} +2 -2
  227. package/dist/cli/chunks/{plugin-QX47QF5U.js → plugin-6TERLKCB.js} +2 -2
  228. package/dist/cli/chunks/{prime-radiant-advanced-wasm-L6VWL7VR.js → prime-radiant-advanced-wasm-WIUIN2DL.js} +2 -2
  229. package/dist/cli/chunks/protocol-executor-2UPB7SPI.js +2 -0
  230. package/dist/cli/chunks/{protocol-handler-WDNJDEUE.js → protocol-handler-HKWBGARO.js} +2 -2
  231. package/dist/cli/chunks/{prove-3B75DA3S.js → prove-7CQPHBRJ.js} +2 -2
  232. package/dist/cli/chunks/provider-manager-PDT37MIJ.js +2 -0
  233. package/dist/cli/chunks/qe-reasoning-bank-AQQ2BI4V.js +2 -0
  234. package/dist/cli/chunks/{quality-UGASS5WM.js → quality-VLUVXKVG.js} +2 -2
  235. package/dist/cli/chunks/queen-coordinator-6DVDVEU4.js +2 -0
  236. package/dist/cli/chunks/{real-embeddings-COBP2LHS.js → real-embeddings-JPZ64KK2.js} +2 -2
  237. package/dist/cli/chunks/{roocode-installer-TOZ4VLFT.js → roocode-installer-NONVB3UE.js} +2 -2
  238. package/dist/cli/chunks/router-O2G4KQ6L.js +2 -0
  239. package/dist/cli/chunks/routing-feedback-TAGTD3KQ.js +2 -0
  240. package/dist/cli/chunks/{routing-handler-5TDVSILX.js → routing-handler-YYXDT4J2.js} +2 -2
  241. package/dist/cli/chunks/{ruvector-commands-AM63KWQN.js → ruvector-commands-5PFMNDLR.js} +2 -2
  242. package/dist/cli/chunks/{rvf-dual-writer-UANIFE2M.js → rvf-dual-writer-TF6H7AXH.js} +2 -2
  243. package/dist/cli/chunks/{rvf-migration-adapter-LNPYWAPI.js → rvf-migration-adapter-VNGIUZCO.js} +2 -2
  244. package/dist/cli/chunks/{rvf-migration-coordinator-U47L63DQ.js → rvf-migration-coordinator-VA52YAIY.js} +2 -2
  245. package/dist/cli/chunks/rvf-native-adapter-46GRWQJR.js +2 -0
  246. package/dist/cli/chunks/safe-db-LNIPXXHH.js +2 -0
  247. package/dist/cli/chunks/schedule-AUH3ZALY.js +2 -0
  248. package/dist/cli/chunks/scheduler-KK3OYPWW.js +2 -0
  249. package/dist/cli/chunks/{security-KDQ2AH7G.js → security-62HEETBF.js} +3 -3
  250. package/dist/cli/chunks/{shared-rvf-adapter-5MAGLLYJ.js → shared-rvf-adapter-XWTQPGCT.js} +2 -2
  251. package/dist/cli/chunks/{shared-rvf-dual-writer-GF2OPPM5.js → shared-rvf-dual-writer-JTZK7LRD.js} +2 -2
  252. package/dist/cli/chunks/sqlite-persistence-CYESP7NG.js +2 -0
  253. package/dist/cli/chunks/{status-handler-XZKEL7LO.js → status-handler-LSUPUKRF.js} +2 -2
  254. package/dist/cli/chunks/{structural-health-27QKWW25.js → structural-health-Z75A666N.js} +2 -2
  255. package/dist/cli/chunks/{sync-INNKS6UK.js → sync-M3O4T3A3.js} +2 -2
  256. package/dist/cli/chunks/{sync-V3HGPEJT.js → sync-VI37UHHH.js} +2 -2
  257. package/dist/cli/chunks/{task-handler-LDUVOM6G.js → task-handler-AQBSZAQC.js} +2 -2
  258. package/dist/cli/chunks/{task-handlers-HTCPV7OO.js → task-handlers-BOZP247V.js} +3 -3
  259. package/dist/cli/chunks/{test-PCUVGVJL.js → test-FTEGPNN2.js} +4 -4
  260. package/dist/cli/chunks/{test-scheduling-GYVXWCAA.js → test-scheduling-IGR4U2VQ.js} +4 -4
  261. package/dist/cli/chunks/{token-bootstrap-MJ2ANC4P.js → token-bootstrap-2DFRVMBM.js} +2 -2
  262. package/dist/cli/chunks/{token-usage-ZREHROTF.js → token-usage-VCHV47EO.js} +3 -3
  263. package/dist/cli/chunks/{transformers-6B3FWFYL.js → transformers-M27QSNFH.js} +2 -2
  264. package/dist/cli/chunks/tree-sitter-wasm-parser-IIGEJYFU.js +2 -0
  265. package/dist/cli/chunks/{types-MVZTJI2F.js → types-RQFPUUKA.js} +2 -2
  266. package/dist/cli/chunks/unified-memory-RISHEANP.js +2 -0
  267. package/dist/cli/chunks/unified-memory-hnsw-2IKXGMNZ.js +2 -0
  268. package/dist/cli/chunks/unified-persistence-ZTTUJNTU.js +2 -0
  269. package/dist/cli/chunks/{upgrade-MKTFEILD.js → upgrade-VJMYX3AL.js} +2 -2
  270. package/dist/cli/chunks/{validate-IABGALSW.js → validate-ML7HUAU5.js} +4 -4
  271. package/dist/cli/chunks/{validate-swarm-RHF53RF6.js → validate-swarm-RCR6EYRC.js} +7 -7
  272. package/dist/cli/chunks/{vibium-RAKW6FMF.js → vibium-ZOOS3W5L.js} +2 -2
  273. package/dist/cli/chunks/visual-security-D66DTAO5.js +2 -0
  274. package/dist/cli/chunks/{web-tree-sitter-PYK7F4JZ.js → web-tree-sitter-2YPGYLWK.js} +2 -2
  275. package/dist/cli/chunks/{windsurf-installer-S3U2HWZ4.js → windsurf-installer-GOJWUWC5.js} +2 -2
  276. package/dist/cli/chunks/{witness-chain-435NKQLB.js → witness-chain-3MGSS3Q4.js} +2 -2
  277. package/dist/cli/chunks/witness-chain-RHWHHDLV.js +2 -0
  278. package/dist/cli/chunks/{workflow-5UHJCZ6J.js → workflow-B5Q77BI4.js} +4 -4
  279. package/dist/cli/chunks/workflow-orchestrator-OQMFW2TC.js +2 -0
  280. package/dist/cli/chunks/{wrappers-RD3NCMLK.js → wrappers-MM5VLEPG.js} +2 -2
  281. package/dist/cli/commands/code.js +6 -0
  282. package/dist/cli/commands/hooks-handlers/command-hooks.js +1 -1
  283. package/dist/cli/commands/hooks-handlers/routing-hooks.js +1 -1
  284. package/dist/cli/commands/hooks-handlers/task-hooks.js +1 -1
  285. package/dist/cli/commands/learning.js +5 -5
  286. package/dist/cli/commands/llm-router.js +1 -1
  287. package/dist/cli/commands/workflow.js +1 -0
  288. package/dist/coordination/consensus/providers/native-learning-provider.d.ts +1 -1
  289. package/dist/coordination/consensus/providers/ollama-provider.d.ts +1 -1
  290. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +1 -1
  291. package/dist/coordination/handlers/code-intelligence-handlers.js +6 -0
  292. package/dist/coordination/mincut/neural-goap.js +24 -20
  293. package/dist/coordination/protocols/code-intelligence-index.js +31 -25
  294. package/dist/coordination/queen-coordinator.js +4 -0
  295. package/dist/coordination/queen-work-stealing.js +1 -2
  296. package/dist/domains/chaos-resilience/coordinator.js +19 -15
  297. package/dist/domains/chaos-resilience/services/chaos-engineer.js +5 -2
  298. package/dist/domains/chaos-resilience/services/load-tester.js +15 -11
  299. package/dist/domains/code-intelligence/interfaces.d.ts +5 -0
  300. package/dist/domains/code-intelligence/services/c4-model/index.js +12 -6
  301. package/dist/domains/code-intelligence/services/impact-analyzer.js +6 -2
  302. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +42 -0
  303. package/dist/domains/code-intelligence/services/knowledge-graph.js +278 -93
  304. package/dist/domains/code-intelligence/services/semantic-analyzer.js +8 -2
  305. package/dist/domains/contract-testing/coordinator.js +1 -1
  306. package/dist/domains/coverage-analysis/coordinator.js +4 -2
  307. package/dist/domains/learning-optimization/coordinator.js +1 -0
  308. package/dist/domains/quality-assessment/coherence/gate-controller.js +32 -26
  309. package/dist/domains/requirements-validation/coordinator.js +1 -0
  310. package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
  311. package/dist/domains/test-execution/services/retry-handler.js +18 -12
  312. package/dist/domains/test-generation/coordinator.js +1 -1
  313. package/dist/domains/test-generation/services/pattern-matcher.js +7 -5
  314. package/dist/domains/test-generation/services/test-generator.js +3 -2
  315. package/dist/domains/visual-accessibility/coordinator.js +24 -20
  316. package/dist/index.d.ts +2 -2
  317. package/dist/index.js +2 -2
  318. package/dist/init/init-wizard-hooks.js +271 -271
  319. package/dist/init/phases/07-hooks.d.ts +7 -0
  320. package/dist/init/phases/07-hooks.js +132 -96
  321. package/dist/init/phases/12-verification.js +3 -3
  322. package/dist/integrations/agentic-flow/model-router/router.js +1 -1
  323. package/dist/integrations/embeddings/base/EmbeddingGenerator.js +11 -7
  324. package/dist/integrations/ruvector/hypergraph-engine.js +2 -2
  325. package/dist/integrations/ruvector/spectral-math.js +2 -2
  326. package/dist/integrations/ruvector/spectral-sparsifier.js +1 -1
  327. package/dist/kernel/kernel.js +1 -1
  328. package/dist/kernel/unified-memory-hnsw.js +1 -0
  329. package/dist/learning/agent-routing.d.ts +19 -0
  330. package/dist/learning/agent-routing.js +27 -1
  331. package/dist/learning/dream/dream-scheduler.d.ts +11 -36
  332. package/dist/learning/dream/dream-scheduler.js +44 -0
  333. package/dist/learning/experience-capture.js +1 -1
  334. package/dist/learning/experience-consolidation.d.ts +16 -0
  335. package/dist/learning/experience-consolidation.js +55 -11
  336. package/dist/learning/pattern-lifecycle.d.ts +21 -0
  337. package/dist/learning/pattern-lifecycle.js +70 -6
  338. package/dist/learning/qe-reasoning-bank.js +9 -1
  339. package/dist/learning/qe-unified-memory.js +8 -6
  340. package/dist/mcp/bundle.js +371 -368
  341. package/dist/mcp/handlers/core-handlers.js +2 -2
  342. package/dist/mcp/handlers/cross-phase-handlers.js +5 -3
  343. package/dist/mcp/handlers/handler-factory.d.ts +5 -0
  344. package/dist/mcp/handlers/handler-factory.js +44 -4
  345. package/dist/mcp/http-server.js +1 -0
  346. package/dist/mcp/protocol-server.js +15 -16
  347. package/dist/mcp/tools/code-intelligence/analyze.js +1 -1
  348. package/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  349. package/dist/mcp/tools/qx-analysis/heuristics-engine.js +195 -173
  350. package/dist/mcp/tools/visual-accessibility/index.js +1 -1
  351. package/dist/mcp/transport/stdio.d.ts +20 -0
  352. package/dist/mcp/transport/stdio.js +35 -2
  353. package/dist/mcp/transport/websocket/websocket-transport.js +1 -0
  354. package/dist/optimization/auto-tuner.js +1 -1
  355. package/dist/planning/goap-planner.js +1 -0
  356. package/dist/routing/agent-dependency-graph.js +4 -1
  357. package/dist/shared/llm/router/config-store.js +1 -1
  358. package/dist/shared/metrics/system-metrics.js +6 -4
  359. package/dist/shared/parsers/tree-sitter-wasm-parser.d.ts +12 -0
  360. package/dist/shared/parsers/tree-sitter-wasm-parser.js +35 -0
  361. package/dist/shared/parsers/treesitter-ts-extractor.d.ts +39 -0
  362. package/dist/shared/parsers/treesitter-ts-extractor.js +196 -0
  363. package/dist/shared/utils/rabitq.d.ts +133 -0
  364. package/dist/shared/utils/rabitq.js +201 -0
  365. package/dist/shared/utils/safe-expression-evaluator.js +8 -5
  366. package/dist/sync/cloud/postgres-writer.js +2 -0
  367. package/dist/sync/readers/json-reader.js +1 -1
  368. package/dist/test-scheduling/git-aware/test-selector.js +1 -1
  369. package/dist/workers/quality-daemon/index.js +26 -24
  370. package/package.json +12 -5
  371. package/dist/cli/chunks/adapter-3JS2CN7C.js +0 -2
  372. package/dist/cli/chunks/aqe-learning-engine-Q4GFNGU6.js +0 -2
  373. package/dist/cli/chunks/base-Q3MAL22Y.js +0 -2
  374. package/dist/cli/chunks/browser-workflow-JX3M2UWG.js +0 -2
  375. package/dist/cli/chunks/chunk-622MIAOR.js +0 -59
  376. package/dist/cli/chunks/chunk-CKECJH2A.js +0 -2
  377. package/dist/cli/chunks/chunk-IJ4BUSJN.js +0 -95
  378. package/dist/cli/chunks/chunk-VPCE5CIT.js +0 -2
  379. package/dist/cli/chunks/chunk-WO7KYT3X.js +0 -62
  380. package/dist/cli/chunks/client-PA3UJIHH.js +0 -2
  381. package/dist/cli/chunks/cross-domain-router-BVJRP2ZX.js +0 -2
  382. package/dist/cli/chunks/dream-BXZUEIW2.js +0 -2
  383. package/dist/cli/chunks/heartbeat-scheduler-LEKAWFJF.js +0 -2
  384. package/dist/cli/chunks/hnsw-adapter-2TCEG5M2.js +0 -2
  385. package/dist/cli/chunks/hnsw-index-VDPUTEES.js +0 -2
  386. package/dist/cli/chunks/hybrid-router-2EMDIYIG.js +0 -2
  387. package/dist/cli/chunks/impact-analyzer-HFD6CPWC.js +0 -2
  388. package/dist/cli/chunks/init-wizard-552QIVRC.js +0 -2
  389. package/dist/cli/chunks/kernel-5DN6O6EE.js +0 -2
  390. package/dist/cli/chunks/knowledge-graph-76Y77MB6.js +0 -2
  391. package/dist/cli/chunks/llm-router-service-4O6GCEFH.js +0 -2
  392. package/dist/cli/chunks/load-test-FCI2IWRJ.js +0 -2
  393. package/dist/cli/chunks/memory-backend-MKNCBNDE.js +0 -2
  394. package/dist/cli/chunks/memory-handlers-OBAFR4WV.js +0 -2
  395. package/dist/cli/chunks/protocol-executor-IA7WNT23.js +0 -2
  396. package/dist/cli/chunks/provider-manager-3K5KB5A6.js +0 -2
  397. package/dist/cli/chunks/qe-reasoning-bank-V5Z3BBYY.js +0 -2
  398. package/dist/cli/chunks/queen-coordinator-QOMPA27Z.js +0 -2
  399. package/dist/cli/chunks/router-P5RZUPC4.js +0 -2
  400. package/dist/cli/chunks/routing-feedback-3PS3OZQC.js +0 -2
  401. package/dist/cli/chunks/rvf-native-adapter-TT7OJPKM.js +0 -2
  402. package/dist/cli/chunks/safe-db-PEW7VBAE.js +0 -2
  403. package/dist/cli/chunks/schedule-QHOTHBQE.js +0 -2
  404. package/dist/cli/chunks/scheduler-KXJBYTRT.js +0 -2
  405. package/dist/cli/chunks/sqlite-persistence-TPXJK34J.js +0 -2
  406. package/dist/cli/chunks/tree-sitter-wasm-parser-JVV234MN.js +0 -2
  407. package/dist/cli/chunks/unified-memory-ROS2NKR5.js +0 -2
  408. package/dist/cli/chunks/unified-memory-hnsw-FLEUF3XO.js +0 -2
  409. package/dist/cli/chunks/unified-persistence-QC5L7UNQ.js +0 -2
  410. package/dist/cli/chunks/visual-security-NLIOUQCR.js +0 -2
  411. package/dist/cli/chunks/witness-chain-U7X6JX5J.js +0 -2
  412. package/dist/cli/chunks/workflow-orchestrator-APE6BAXH.js +0 -2
@@ -1,7 +1,7 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.1");process.exit(0)}
2
- import{a as B,b as L}from"./chunk-YGRTMAWB.js";import{b as R,d as $}from"./chunk-QNW335PD.js";import"./chunk-4AWJ5PE4.js";var f=[{id:"unit",name:"Unit Tests",testTypes:["unit"],testPatterns:["**/*.test.ts","**/*.spec.ts","!**/*.integration.*","!**/*.e2e.*"],thresholds:{minPassRate:.99,maxFlakyRatio:.01,minCoverage:.8},parallelism:8,timeoutMs:6e4,failFast:!0},{id:"integration",name:"Integration Tests",testTypes:["integration","contract"],testPatterns:["**/*.integration.test.ts","**/*.integration.spec.ts"],thresholds:{minPassRate:.95,maxFlakyRatio:.05,minCoverage:.7},parallelism:4,timeoutMs:3e5,failFast:!1},{id:"e2e",name:"E2E Tests",testTypes:["e2e","visual"],testPatterns:["**/*.e2e.test.ts","**/*.e2e.spec.ts"],thresholds:{minPassRate:.9,maxFlakyRatio:.1,minCoverage:.5},parallelism:2,timeoutMs:6e5,failFast:!1}];var b=class{constructor(e,t={phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1}){this.executor=e;this.config=t}executor;config;state="idle";currentPhaseIndex=0;results=[];startTime;endTime;abortController;async run(){if(this.state==="running")throw new Error("Scheduler is already running");this.state="running",this.currentPhaseIndex=0,this.results=[],this.startTime=new Date,this.abortController=new AbortController;try{for(let e of this.config.phases){if(this.state==="paused"&&await this.waitForResume(),this.abortController.signal.aborted)break;let t=await this.executePhaseWithRetry(e);if(this.results.push(t),this.currentPhaseIndex++,this.config.onPhaseComplete?.(t),!t.success&&this.config.failFast){this.state="failed";break}}return this.endTime=new Date,this.state=this.results.every(e=>e.success)?"completed":"failed",this.config.onAllComplete?.(this.results),this.results}catch(e){throw this.state="failed",this.endTime=new Date,e}}async runPhase(e){let t=this.config.phases.find(s=>s.id===e);if(!t)throw new Error(`Phase not found: ${e}`);return this.executePhaseWithRetry(t)}pause(){this.state==="running"&&(this.state="paused")}resume(){this.state==="paused"&&(this.state="running")}async abort(){this.abortController?.abort(),await this.executor.abort(),this.state="idle"}getStats(){let e=this.startTime&&this.endTime?this.endTime.getTime()-this.startTime.getTime():this.startTime?Date.now()-this.startTime.getTime():void 0;return{state:this.state,currentPhaseIndex:this.currentPhaseIndex,totalPhases:this.config.phases.length,completedPhases:this.results.filter(t=>t.success).length,failedPhases:this.results.filter(t=>!t.success).length,results:[...this.results],startTime:this.startTime,endTime:this.endTime,durationMs:e}}async isReady(){return this.executor.isReady()}async executePhaseWithRetry(e){let t,s=this.config.retryFailedPhases?this.config.maxRetries:1;for(let r=1;r<=s;r++)try{if(t=await this.executor.execute(e),t.success||!this.config.retryFailedPhases)return t}catch(a){if(this.config.onError?.(a,e),r===s)return this.createErrorResult(e,a)}return t}createErrorResult(e,t){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:0,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}waitForResume(){return new Promise(e=>{let t=()=>{this.state!=="paused"?e():setTimeout(t,100)};t()})}};function _(n,e){return new b(n,{phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1,...e})}function V(n,e){return n.passRate>=e.minPassRate&&n.flakyRatio<=e.maxFlakyRatio&&n.coverage>=e.minCoverage}$();import{spawn as j}from"child_process";var m=class{constructor(e={}){this.config=e}config;currentProcess=null;isAborted=!1;async execute(e,t){this.isAborted=!1;let s=Date.now();try{let r=this.buildArgs(e,t),a=await this.runVitest(r,e.timeoutMs),i=Date.now();return this.parseResult(e,a,i-s)}catch(r){let a=Date.now();return this.createErrorResult(e,r,a-s)}}async isReady(){try{return(await this.runCommand("npx",["vitest","--version"],5e3)).exitCode===0}catch{return!1}}getName(){return"vitest-executor"}async abort(){this.isAborted=!0,this.currentProcess&&(this.currentProcess.kill("SIGTERM"),this.currentProcess=null)}buildArgs(e,t){let s=["vitest","run","--reporter=json"];if(t&&t.length>0)s.push(...t);else for(let r of e.testPatterns)r.startsWith("!")?s.push("--exclude",r.slice(1)):s.push(r);return e.parallelism>0&&(s.push("--pool","threads"),s.push("--poolOptions.threads.maxThreads",String(e.parallelism))),e.failFast&&s.push("--bail","1"),s.push("--coverage"),s.push("--coverage.reporter",this.config.coverageReporter||"json"),this.config.coverageDir&&s.push("--coverage.reportsDirectory",this.config.coverageDir),this.config.extraArgs&&s.push(...this.config.extraArgs),s}async runVitest(e,t){let{stdout:s,exitCode:r}=await this.runCommand(this.config.vitestPath||"npx",e,t);try{let a=s.indexOf("{"),i=s.lastIndexOf("}");if(a===-1||i===-1)throw new Error("No JSON output from Vitest");let o=s.slice(a,i+1);return R(o)}catch{return{numTotalTestSuites:0,numPassedTestSuites:0,numFailedTestSuites:0,numTotalTests:0,numPassedTests:0,numFailedTests:0,numPendingTests:0,success:r===0,startTime:Date.now(),testResults:[]}}}runCommand(e,t,s){return new Promise((r,a)=>{let i="",o="",l=process.platform==="win32"&&e==="npx"?"npx.cmd":e;this.currentProcess=j(l,t,{cwd:this.config.cwd||process.cwd(),env:{...process.env,...this.config.env},shell:!1});let c=setTimeout(()=>{this.currentProcess?.kill("SIGTERM"),a(new Error(`Test execution timed out after ${s}ms`))},s);this.currentProcess.stdout?.on("data",u=>{i+=u.toString()}),this.currentProcess.stderr?.on("data",u=>{o+=u.toString()}),this.currentProcess.on("close",u=>{clearTimeout(c),this.currentProcess=null,this.isAborted?a(new Error("Test execution aborted")):r({stdout:i,stderr:o,exitCode:u??1})}),this.currentProcess.on("error",u=>{clearTimeout(c),this.currentProcess=null,a(u)})})}async parseResult(e,t,s){let r=[];for(let p of t.testResults)for(let h of p.assertionResults){let y={file:p.name,name:h.title,suite:h.ancestorTitles.join(" > "),passed:h.status==="passed",durationMs:h.duration||0,retries:0,error:h.failureMessages.join(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a as B,b as L}from"./chunk-ZXQNE4QV.js";import{b as R,d as $}from"./chunk-KTRB3L53.js";import"./chunk-CAMEFWRK.js";var f=[{id:"unit",name:"Unit Tests",testTypes:["unit"],testPatterns:["**/*.test.ts","**/*.spec.ts","!**/*.integration.*","!**/*.e2e.*"],thresholds:{minPassRate:.99,maxFlakyRatio:.01,minCoverage:.8},parallelism:8,timeoutMs:6e4,failFast:!0},{id:"integration",name:"Integration Tests",testTypes:["integration","contract"],testPatterns:["**/*.integration.test.ts","**/*.integration.spec.ts"],thresholds:{minPassRate:.95,maxFlakyRatio:.05,minCoverage:.7},parallelism:4,timeoutMs:3e5,failFast:!1},{id:"e2e",name:"E2E Tests",testTypes:["e2e","visual"],testPatterns:["**/*.e2e.test.ts","**/*.e2e.spec.ts"],thresholds:{minPassRate:.9,maxFlakyRatio:.1,minCoverage:.5},parallelism:2,timeoutMs:6e5,failFast:!1}];var b=class{constructor(e,t={phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1}){this.executor=e;this.config=t}executor;config;state="idle";currentPhaseIndex=0;results=[];startTime;endTime;abortController;async run(){if(this.state==="running")throw new Error("Scheduler is already running");this.state="running",this.currentPhaseIndex=0,this.results=[],this.startTime=new Date,this.abortController=new AbortController;try{for(let e of this.config.phases){if(this.state==="paused"&&await this.waitForResume(),this.abortController.signal.aborted)break;let t=await this.executePhaseWithRetry(e);if(this.results.push(t),this.currentPhaseIndex++,this.config.onPhaseComplete?.(t),!t.success&&this.config.failFast){this.state="failed";break}}return this.endTime=new Date,this.state=this.results.every(e=>e.success)?"completed":"failed",this.config.onAllComplete?.(this.results),this.results}catch(e){throw this.state="failed",this.endTime=new Date,e}}async runPhase(e){let t=this.config.phases.find(s=>s.id===e);if(!t)throw new Error(`Phase not found: ${e}`);return this.executePhaseWithRetry(t)}pause(){this.state==="running"&&(this.state="paused")}resume(){this.state==="paused"&&(this.state="running")}async abort(){this.abortController?.abort(),await this.executor.abort(),this.state="idle"}getStats(){let e=this.startTime&&this.endTime?this.endTime.getTime()-this.startTime.getTime():this.startTime?Date.now()-this.startTime.getTime():void 0;return{state:this.state,currentPhaseIndex:this.currentPhaseIndex,totalPhases:this.config.phases.length,completedPhases:this.results.filter(t=>t.success).length,failedPhases:this.results.filter(t=>!t.success).length,results:[...this.results],startTime:this.startTime,endTime:this.endTime,durationMs:e}}async isReady(){return this.executor.isReady()}async executePhaseWithRetry(e){let t,s=this.config.retryFailedPhases?this.config.maxRetries:1;for(let r=1;r<=s;r++)try{if(t=await this.executor.execute(e),t.success||!this.config.retryFailedPhases)return t}catch(a){if(this.config.onError?.(a,e),r===s)return this.createErrorResult(e,a)}return t}createErrorResult(e,t){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:0,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}waitForResume(){return new Promise(e=>{let t=()=>{this.state!=="paused"?e():setTimeout(t,100)};t()})}};function _(n,e){return new b(n,{phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1,...e})}function V(n,e){return n.passRate>=e.minPassRate&&n.flakyRatio<=e.maxFlakyRatio&&n.coverage>=e.minCoverage}$();import{spawn as j}from"child_process";var m=class{constructor(e={}){this.config=e}config;currentProcess=null;isAborted=!1;async execute(e,t){this.isAborted=!1;let s=Date.now();try{let r=this.buildArgs(e,t),a=await this.runVitest(r,e.timeoutMs),i=Date.now();return this.parseResult(e,a,i-s)}catch(r){let a=Date.now();return this.createErrorResult(e,r,a-s)}}async isReady(){try{return(await this.runCommand("npx",["vitest","--version"],5e3)).exitCode===0}catch{return!1}}getName(){return"vitest-executor"}async abort(){this.isAborted=!0,this.currentProcess&&(this.currentProcess.kill("SIGTERM"),this.currentProcess=null)}buildArgs(e,t){let s=["vitest","run","--reporter=json"];if(t&&t.length>0)s.push(...t);else for(let r of e.testPatterns)r.startsWith("!")?s.push("--exclude",r.slice(1)):s.push(r);return e.parallelism>0&&(s.push("--pool","threads"),s.push("--poolOptions.threads.maxThreads",String(e.parallelism))),e.failFast&&s.push("--bail","1"),s.push("--coverage"),s.push("--coverage.reporter",this.config.coverageReporter||"json"),this.config.coverageDir&&s.push("--coverage.reportsDirectory",this.config.coverageDir),this.config.extraArgs&&s.push(...this.config.extraArgs),s}async runVitest(e,t){let{stdout:s,exitCode:r}=await this.runCommand(this.config.vitestPath||"npx",e,t);try{let a=s.indexOf("{"),i=s.lastIndexOf("}");if(a===-1||i===-1)throw new Error("No JSON output from Vitest");let o=s.slice(a,i+1);return R(o)}catch{return{numTotalTestSuites:0,numPassedTestSuites:0,numFailedTestSuites:0,numTotalTests:0,numPassedTests:0,numFailedTests:0,numPendingTests:0,success:r===0,startTime:Date.now(),testResults:[]}}}runCommand(e,t,s){return new Promise((r,a)=>{let i="",o="",l=process.platform==="win32"&&e==="npx"?"npx.cmd":e;this.currentProcess=j(l,t,{cwd:this.config.cwd||process.cwd(),env:{...process.env,...this.config.env},shell:!1});let c=setTimeout(()=>{this.currentProcess?.kill("SIGTERM"),a(new Error(`Test execution timed out after ${s}ms`))},s);this.currentProcess.stdout?.on("data",u=>{i+=u.toString()}),this.currentProcess.stderr?.on("data",u=>{o+=u.toString()}),this.currentProcess.on("close",u=>{clearTimeout(c),this.currentProcess=null,this.isAborted?a(new Error("Test execution aborted")):r({stdout:i,stderr:o,exitCode:u??1})}),this.currentProcess.on("error",u=>{clearTimeout(c),this.currentProcess=null,a(u)})})}async parseResult(e,t,s){let r=[];for(let p of t.testResults)for(let h of p.assertionResults){let y={file:p.name,name:h.title,suite:h.ancestorTitles.join(" > "),passed:h.status==="passed",durationMs:h.duration||0,retries:0,error:h.failureMessages.join(`
3
3
  `)||void 0};r.push(y)}let a=this.config.flakyTracker;a&&a.recordResults(r);let i=t.numTotalTests,o=t.numPassedTests,l=t.numFailedTests,c=t.numPendingTests,u=i>0?o/i:0,g=[],T=0;if(a){g=a.analyze().flakyTests.map(d=>d.testId);let h=new Set(r.map(d=>`${d.file}:${d.suite}:${d.name}`)),y=g.filter(d=>h.has(d));T=i>0?y.length/i:0}let P=await this.getCoverageFromReport(),w=u>=e.thresholds.minPassRate&&T<=e.thresholds.maxFlakyRatio&&P>=e.thresholds.minCoverage;return{phaseId:e.id,phaseName:e.name,success:w,passRate:u,flakyRatio:T,coverage:P,durationMs:s,totalTests:i,passed:o,failed:l,skipped:c,testResults:r,flakyTests:g}}async getCoverageFromReport(){try{let e=await import("fs/promises"),t=await import("path"),s=this.config.coverageDir||"coverage",r=t.join(this.config.cwd||process.cwd(),s,"coverage-summary.json"),a=await e.readFile(r,"utf-8");return(R(a).total?.lines?.pct??0)/100}catch{return 0}}createErrorResult(e,t,s){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:s,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}};function z(n){return new m(n)}import{spawn as Q}from"child_process";import{resolve as W,dirname as J,basename as M}from"path";var Y=[{sourcePattern:/^src\/(.+)\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}.spec.ts`,`tests/${t}.test.ts`,`tests/${t}.spec.ts`,`src/${t}.test.ts`,`src/${t}.spec.ts`]}},{sourcePattern:/^src\/(.+)\/index\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}/index.test.ts`,`tests/unit/${t}.spec.ts`]}},{sourcePattern:/\.(test|spec)\.(ts|tsx|js|jsx)$/,toTestPaths:(n,e)=>[e]},{sourcePattern:/^(vitest\.config|jest\.config|tsconfig|package\.json)/,toTestPaths:()=>["**/*.test.ts","**/*.spec.ts"]}],v=class{constructor(e){this.config=e;if(!e.impactAnalyzer)throw new Error("GitAwareTestSelector requires impactAnalyzer. Use ImpactAnalyzerService from code-intelligence domain. NO FALLBACK TO PATTERN MATCHING - use real dependency analysis.");this.cwd=e.cwd||process.cwd(),this.baseRef=e.baseRef||"HEAD~1",this.mappingRules=e.mappingRules||Y,this.impactAnalyzer=e.impactAnalyzer}config;cwd;baseRef;mappingRules;impactAnalyzer;async selectAffectedTests(){try{let e=await this.getChangedFiles();if(e.length===0)return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!1};let{selectedTests:t,mappings:s,runAllTests:r,runAllReason:a}=await this.mapChangesToTests(e);return{changedFiles:e,selectedTests:[...new Set(t)],mappings:s,runAllTests:r,runAllReason:a}}catch(e){return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Git error: ${e.message}`}}}async selectTestsForFiles(e){let t=e.map(o=>({path:o,changeType:"modified"})),{selectedTests:s,mappings:r,runAllTests:a,runAllReason:i}=await this.mapChangesToTests(t);return{changedFiles:t,selectedTests:[...new Set(s)],mappings:r,runAllTests:a,runAllReason:i}}async getChangedFiles(){let t=(await this.git(["diff","--name-status",this.baseRef,"HEAD"])).trim().split(`
4
- `).filter(Boolean),s=[];for(let r of t){let[a,...i]=r.split(" "),o=i.join(" "),l,c;switch(a[0]){case"A":l="added";break;case"M":l="modified";break;case"D":l="deleted";break;case"R":l="renamed",c=o;break;default:l="modified"}s.push({path:l==="renamed"&&i[1]||o,changeType:l,previousPath:c})}return s}async getMergeBase(e="main"){try{return(await this.git(["merge-base","HEAD",e])).trim()}catch{return(await this.git(["merge-base","HEAD","master"])).trim()}}async mapChangesToTests(e){let t=[],s=[],r=!1,a;for(let l of e)if(this.isConfigFile(l.path))return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Config file changed: ${l.path}`};let i=e.filter(l=>l.changeType!=="deleted"||this.config.includeDeletedFileTests).map(l=>l.path);if(i.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};let o=await this.impactAnalyzer.getImpactedTests(i);if(!o.success){let l=o,c=l.error instanceof Error?l.error.message:String(l.error);return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Impact analysis failed: ${c}`}}if(o.value.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};t.push(...o.value);for(let l of e){if(l.changeType==="deleted"&&!this.config.includeDeletedFileTests)continue;let c=o.value.filter(u=>u.includes(M(l.path,".ts").replace(/\.(tsx?|jsx?)$/,"")));c.length>0&&s.push({sourceFile:l.path,testFiles:c,confidence:.95})}return{selectedTests:t,mappings:s,runAllTests:r,runAllReason:a}}isConfigFile(e){return/^(vitest\.config|jest\.config|tsconfig|package\.json)/.test(e)}async findTestsHeuristically(e){let t=M(e,".ts").replace(/\.(tsx?|jsx?)$/,""),s=J(e),r=[`${s}/${t}.test.ts`,`${s}/${t}.spec.ts`,`${s}/__tests__/${t}.test.ts`,`tests/${s}/${t}.test.ts`,`tests/unit/${s.replace("src/","")}/${t}.test.ts`];return this.filterExistingFiles(r)}async filterExistingFiles(e){let t=await import("fs/promises"),s=[];for(let r of e)try{let a=W(this.cwd,r);await t.access(a),s.push(r)}catch(a){console.debug("[TestSelector] File access check failed:",a instanceof Error?a.message:a)}return s}git(e){return new Promise((t,s)=>{let r="",a="",i=Q("git",e,{cwd:this.cwd});i.stdout.on("data",o=>{r+=o.toString()}),i.stderr.on("data",o=>{a+=o.toString()}),i.on("close",o=>{o===0?t(r):s(new Error(`git ${e.join(" ")} failed: ${a}`))}),i.on("error",s)})}};function F(n){return new v(n)}async function q(n,e,t){let r=await F({impactAnalyzer:n,baseRef:e,cwd:t}).selectAffectedTests();return r.runAllTests?[]:r.selectedTests}$();var K={minRunsForFlakiness:5,flakinessThreshold:.1,maxRecentErrors:5,historyRetentionDays:30},A=class{records=new Map;config;constructor(e){this.config={...K,...e}}recordResult(e){let t=this.getTestId(e),s=this.getOrCreateRecord(t,e);s.totalRuns++,s.lastRun=new Date,e.passed?s.passCount++:(s.failCount++,e.error&&(s.recentErrors=[e.error,...s.recentErrors.slice(0,this.config.maxRecentErrors-1)])),e.retries>0&&e.passed&&(s.flakyCount++,s.lastFlaky=new Date),s.flakinessScore=this.calculateFlakiness(s)}recordResults(e){for(let t of e)this.recordResult(t)}getRecord(e){return this.records.get(e)}getFlakyTests(){return Array.from(this.records.values()).filter(e=>e.totalRuns>=this.config.minRunsForFlakiness&&e.flakinessScore>=this.config.flakinessThreshold)}isFlaky(e){let t=this.records.get(e);return t?t.totalRuns>=this.config.minRunsForFlakiness&&t.flakinessScore>=this.config.flakinessThreshold:!1}analyze(){let e=Array.from(this.records.values()),t=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakinessScore>=this.config.flakinessThreshold),s=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakyCount>0&&l.flakinessScore<this.config.flakinessThreshold),r=e.filter(l=>l.totalRuns<this.config.minRunsForFlakiness),a=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness),i=a.length>0?t.length/a.length:0,o=this.calculateTrend(t);return{totalTests:e.length,flakyTests:t.sort((l,c)=>c.flakinessScore-l.flakinessScore),stabilizedTests:s,insufficientData:r,overallFlakiness:i,trend:o}}getQuarantineList(e=.3){return Array.from(this.records.values()).filter(t=>t.flakinessScore>=e).map(t=>t.testId)}pruneHistory(){let e=new Date;e.setDate(e.getDate()-this.config.historyRetentionDays);let t=0;for(let[s,r]of this.records)r.lastRun<e&&(this.records.delete(s),t++);return t}exportHistory(){return Array.from(this.records.values())}importHistory(e){for(let t of e){let s={...t,lastRun:new Date(t.lastRun),lastFlaky:t.lastFlaky?new Date(t.lastFlaky):void 0};this.records.set(t.testId,s)}}reset(){this.records.clear()}getTestId(e){return`${e.file}:${e.suite}:${e.name}`}getOrCreateRecord(e,t){let s=this.records.get(e);return s||(s={testId:e,file:t.file,name:t.name,totalRuns:0,passCount:0,failCount:0,flakyCount:0,flakinessScore:0,lastRun:new Date,recentErrors:[]},this.records.set(e,s)),s}calculateFlakiness(e){if(e.totalRuns<this.config.minRunsForFlakiness)return 0;let t=e.flakyCount/e.totalRuns,s=e.passCount/e.totalRuns,r=s>0&&s<1?Math.min(s,1-s)*2:0;return Math.min(1,t*3+r)}calculateTrend(e){if(e.length===0)return"stable";let s=Date.now()-10080*60*1e3,r=0,a=0;for(let i of e)i.lastFlaky&&(i.lastFlaky.getTime()>s?r++:a++);return r>a*1.5?"degrading":a>r*1.5?"improving":"stable"}};function S(n){return new A(n)}async function D(n,e){let t=S({...e,historyPath:n});try{let r=await(await import("fs/promises")).readFile(n,"utf-8"),a=R(r);t.importHistory(a)}catch(s){console.debug("[FlakyTracker] History load failed, starting fresh:",s instanceof Error?s.message:s)}return t}async function G(n,e){let t=await import("fs/promises"),s=n.exportHistory();await t.writeFile(e,JSON.stringify(s,null,2))}var X={enableAnnotations:!0,enableSummary:!0,enableOutputs:!0,maxAnnotations:10,includeFlakyWarnings:!0,includeCoverage:!0};function H(){let n=process.env;return n.GITHUB_ACTIONS==="true"?{isCI:!0,provider:"github-actions",branch:n.GITHUB_HEAD_REF||n.GITHUB_REF_NAME,commitSha:n.GITHUB_SHA,prNumber:n.GITHUB_EVENT_NAME==="pull_request"&&parseInt(n.GITHUB_REF?.split("/")[2]||"",10)||void 0,baseBranch:n.GITHUB_BASE_REF,buildUrl:`${n.GITHUB_SERVER_URL}/${n.GITHUB_REPOSITORY}/actions/runs/${n.GITHUB_RUN_ID}`}:n.GITLAB_CI==="true"?{isCI:!0,provider:"gitlab-ci",branch:n.CI_COMMIT_REF_NAME,commitSha:n.CI_COMMIT_SHA,prNumber:n.CI_MERGE_REQUEST_IID?parseInt(n.CI_MERGE_REQUEST_IID,10):void 0,baseBranch:n.CI_MERGE_REQUEST_TARGET_BRANCH_NAME,buildUrl:n.CI_JOB_URL}:n.JENKINS_URL?{isCI:!0,provider:"jenkins",branch:n.GIT_BRANCH||n.BRANCH_NAME,commitSha:n.GIT_COMMIT,prNumber:n.CHANGE_ID?parseInt(n.CHANGE_ID,10):void 0,baseBranch:n.CHANGE_TARGET,buildUrl:n.BUILD_URL}:n.CIRCLECI==="true"?{isCI:!0,provider:"circleci",branch:n.CIRCLE_BRANCH,commitSha:n.CIRCLE_SHA1,prNumber:n.CIRCLE_PULL_REQUEST?parseInt(n.CIRCLE_PULL_REQUEST.split("/").pop()||"",10):void 0,buildUrl:n.CIRCLE_BUILD_URL}:n.CI==="true"||n.CI==="1"?{isCI:!0,provider:"unknown"}:{isCI:!1}}var C=class{config;constructor(e){this.config={...X,...e}}generateOutput(e){let t=this.config.enableAnnotations?this.generateAnnotations(e):[],s=this.config.enableSummary?this.generateSummary(e):"",r=this.config.enableOutputs?this.generateOutputs(e):{};return{summary:s,annotations:t,outputs:r}}async writeOutput(e){let t=this.generateOutput(e),s=await import("fs/promises");for(let r of t.annotations)this.writeAnnotation(r);if(t.summary&&process.env.GITHUB_STEP_SUMMARY&&await s.appendFile(process.env.GITHUB_STEP_SUMMARY,t.summary),process.env.GITHUB_OUTPUT){let r=Object.entries(t.outputs).map(([a,i])=>`${a}=${i}`).join(`
4
+ `).filter(Boolean),s=[];for(let r of t){let[a,...i]=r.split(" "),o=i.join(" "),l,c;switch(a[0]){case"A":l="added";break;case"M":l="modified";break;case"D":l="deleted";break;case"R":l="renamed",c=o;break;default:l="modified"}s.push({path:l==="renamed"&&i[1]||o,changeType:l,previousPath:c})}return s}async getMergeBase(e="main"){try{return(await this.git(["merge-base","HEAD",e])).trim()}catch{return(await this.git(["merge-base","HEAD","master"])).trim()}}async mapChangesToTests(e){let t=[],s=[],a;for(let l of e)if(this.isConfigFile(l.path))return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Config file changed: ${l.path}`};let i=e.filter(l=>l.changeType!=="deleted"||this.config.includeDeletedFileTests).map(l=>l.path);if(i.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};let o=await this.impactAnalyzer.getImpactedTests(i);if(!o.success){let l=o,c=l.error instanceof Error?l.error.message:String(l.error);return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Impact analysis failed: ${c}`}}if(o.value.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};t.push(...o.value);for(let l of e){if(l.changeType==="deleted"&&!this.config.includeDeletedFileTests)continue;let c=o.value.filter(u=>u.includes(M(l.path,".ts").replace(/\.(tsx?|jsx?)$/,"")));c.length>0&&s.push({sourceFile:l.path,testFiles:c,confidence:.95})}return{selectedTests:t,mappings:s,runAllTests:!1,runAllReason:a}}isConfigFile(e){return/^(vitest\.config|jest\.config|tsconfig|package\.json)/.test(e)}async findTestsHeuristically(e){let t=M(e,".ts").replace(/\.(tsx?|jsx?)$/,""),s=J(e),r=[`${s}/${t}.test.ts`,`${s}/${t}.spec.ts`,`${s}/__tests__/${t}.test.ts`,`tests/${s}/${t}.test.ts`,`tests/unit/${s.replace("src/","")}/${t}.test.ts`];return this.filterExistingFiles(r)}async filterExistingFiles(e){let t=await import("fs/promises"),s=[];for(let r of e)try{let a=W(this.cwd,r);await t.access(a),s.push(r)}catch(a){console.debug("[TestSelector] File access check failed:",a instanceof Error?a.message:a)}return s}git(e){return new Promise((t,s)=>{let r="",a="",i=Q("git",e,{cwd:this.cwd});i.stdout.on("data",o=>{r+=o.toString()}),i.stderr.on("data",o=>{a+=o.toString()}),i.on("close",o=>{o===0?t(r):s(new Error(`git ${e.join(" ")} failed: ${a}`))}),i.on("error",s)})}};function F(n){return new v(n)}async function q(n,e,t){let r=await F({impactAnalyzer:n,baseRef:e,cwd:t}).selectAffectedTests();return r.runAllTests?[]:r.selectedTests}$();var K={minRunsForFlakiness:5,flakinessThreshold:.1,maxRecentErrors:5,historyRetentionDays:30},A=class{records=new Map;config;constructor(e){this.config={...K,...e}}recordResult(e){let t=this.getTestId(e),s=this.getOrCreateRecord(t,e);s.totalRuns++,s.lastRun=new Date,e.passed?s.passCount++:(s.failCount++,e.error&&(s.recentErrors=[e.error,...s.recentErrors.slice(0,this.config.maxRecentErrors-1)])),e.retries>0&&e.passed&&(s.flakyCount++,s.lastFlaky=new Date),s.flakinessScore=this.calculateFlakiness(s)}recordResults(e){for(let t of e)this.recordResult(t)}getRecord(e){return this.records.get(e)}getFlakyTests(){return Array.from(this.records.values()).filter(e=>e.totalRuns>=this.config.minRunsForFlakiness&&e.flakinessScore>=this.config.flakinessThreshold)}isFlaky(e){let t=this.records.get(e);return t?t.totalRuns>=this.config.minRunsForFlakiness&&t.flakinessScore>=this.config.flakinessThreshold:!1}analyze(){let e=Array.from(this.records.values()),t=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakinessScore>=this.config.flakinessThreshold),s=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakyCount>0&&l.flakinessScore<this.config.flakinessThreshold),r=e.filter(l=>l.totalRuns<this.config.minRunsForFlakiness),a=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness),i=a.length>0?t.length/a.length:0,o=this.calculateTrend(t);return{totalTests:e.length,flakyTests:t.sort((l,c)=>c.flakinessScore-l.flakinessScore),stabilizedTests:s,insufficientData:r,overallFlakiness:i,trend:o}}getQuarantineList(e=.3){return Array.from(this.records.values()).filter(t=>t.flakinessScore>=e).map(t=>t.testId)}pruneHistory(){let e=new Date;e.setDate(e.getDate()-this.config.historyRetentionDays);let t=0;for(let[s,r]of this.records)r.lastRun<e&&(this.records.delete(s),t++);return t}exportHistory(){return Array.from(this.records.values())}importHistory(e){for(let t of e){let s={...t,lastRun:new Date(t.lastRun),lastFlaky:t.lastFlaky?new Date(t.lastFlaky):void 0};this.records.set(t.testId,s)}}reset(){this.records.clear()}getTestId(e){return`${e.file}:${e.suite}:${e.name}`}getOrCreateRecord(e,t){let s=this.records.get(e);return s||(s={testId:e,file:t.file,name:t.name,totalRuns:0,passCount:0,failCount:0,flakyCount:0,flakinessScore:0,lastRun:new Date,recentErrors:[]},this.records.set(e,s)),s}calculateFlakiness(e){if(e.totalRuns<this.config.minRunsForFlakiness)return 0;let t=e.flakyCount/e.totalRuns,s=e.passCount/e.totalRuns,r=s>0&&s<1?Math.min(s,1-s)*2:0;return Math.min(1,t*3+r)}calculateTrend(e){if(e.length===0)return"stable";let s=Date.now()-10080*60*1e3,r=0,a=0;for(let i of e)i.lastFlaky&&(i.lastFlaky.getTime()>s?r++:a++);return r>a*1.5?"degrading":a>r*1.5?"improving":"stable"}};function S(n){return new A(n)}async function D(n,e){let t=S({...e,historyPath:n});try{let r=await(await import("fs/promises")).readFile(n,"utf-8"),a=R(r);t.importHistory(a)}catch(s){console.debug("[FlakyTracker] History load failed, starting fresh:",s instanceof Error?s.message:s)}return t}async function G(n,e){let t=await import("fs/promises"),s=n.exportHistory();await t.writeFile(e,JSON.stringify(s,null,2))}var X={enableAnnotations:!0,enableSummary:!0,enableOutputs:!0,maxAnnotations:10,includeFlakyWarnings:!0,includeCoverage:!0};function H(){let n=process.env;return n.GITHUB_ACTIONS==="true"?{isCI:!0,provider:"github-actions",branch:n.GITHUB_HEAD_REF||n.GITHUB_REF_NAME,commitSha:n.GITHUB_SHA,prNumber:n.GITHUB_EVENT_NAME==="pull_request"&&parseInt(n.GITHUB_REF?.split("/")[2]||"",10)||void 0,baseBranch:n.GITHUB_BASE_REF,buildUrl:`${n.GITHUB_SERVER_URL}/${n.GITHUB_REPOSITORY}/actions/runs/${n.GITHUB_RUN_ID}`}:n.GITLAB_CI==="true"?{isCI:!0,provider:"gitlab-ci",branch:n.CI_COMMIT_REF_NAME,commitSha:n.CI_COMMIT_SHA,prNumber:n.CI_MERGE_REQUEST_IID?parseInt(n.CI_MERGE_REQUEST_IID,10):void 0,baseBranch:n.CI_MERGE_REQUEST_TARGET_BRANCH_NAME,buildUrl:n.CI_JOB_URL}:n.JENKINS_URL?{isCI:!0,provider:"jenkins",branch:n.GIT_BRANCH||n.BRANCH_NAME,commitSha:n.GIT_COMMIT,prNumber:n.CHANGE_ID?parseInt(n.CHANGE_ID,10):void 0,baseBranch:n.CHANGE_TARGET,buildUrl:n.BUILD_URL}:n.CIRCLECI==="true"?{isCI:!0,provider:"circleci",branch:n.CIRCLE_BRANCH,commitSha:n.CIRCLE_SHA1,prNumber:n.CIRCLE_PULL_REQUEST?parseInt(n.CIRCLE_PULL_REQUEST.split("/").pop()||"",10):void 0,buildUrl:n.CIRCLE_BUILD_URL}:n.CI==="true"||n.CI==="1"?{isCI:!0,provider:"unknown"}:{isCI:!1}}var C=class{config;constructor(e){this.config={...X,...e}}generateOutput(e){let t=this.config.enableAnnotations?this.generateAnnotations(e):[],s=this.config.enableSummary?this.generateSummary(e):"",r=this.config.enableOutputs?this.generateOutputs(e):{};return{summary:s,annotations:t,outputs:r}}async writeOutput(e){let t=this.generateOutput(e),s=await import("fs/promises");for(let r of t.annotations)this.writeAnnotation(r);if(t.summary&&process.env.GITHUB_STEP_SUMMARY&&await s.appendFile(process.env.GITHUB_STEP_SUMMARY,t.summary),process.env.GITHUB_OUTPUT){let r=Object.entries(t.outputs).map(([a,i])=>`${a}=${i}`).join(`
5
5
  `);await s.appendFile(process.env.GITHUB_OUTPUT,r+`
6
6
  `)}}generateAnnotations(e){let t=[];for(let s of e){for(let r of s.testResults)!r.passed&&t.length<this.config.maxAnnotations&&t.push({file:r.file,line:this.extractLineNumber(r.stack)||1,level:"error",title:`Test Failed: ${r.name}`,message:r.error||"Test failed without error message"});if(this.config.includeFlakyWarnings)for(let r of s.flakyTests)t.length<this.config.maxAnnotations&&t.push({file:r,line:1,level:"warning",title:"Flaky Test Detected",message:"This test is flaky and may cause intermittent failures"})}return t}generateSummary(e){let t=[`## \u{1F9EA} Test Results
7
7
  `],s=e.every(i=>i.success);t.push(s?`\u2705 **All phases passed**
@@ -12,4 +12,4 @@ import{a as B,b as L}from"./chunk-YGRTMAWB.js";import{b as R,d as $}from"./chunk
12
12
  `);for(let i of r.slice(0,20))t.push(`#### ${i.suite} > ${i.name}`),t.push(`- **File**: \`${i.file}\``),i.error&&(t.push("```"),t.push(i.error.slice(0,500)),t.push("```")),t.push("");r.length>20&&t.push(`_... and ${r.length-20} more failures_`),t.push(`</details>
13
13
  `)}let a=e.flatMap(i=>i.flakyTests);if(a.length>0&&this.config.includeFlakyWarnings){t.push(`### \u26A0\uFE0F Flaky Tests
14
14
  `);for(let i of a.slice(0,10))t.push(`- \`${i}\``);t.push("")}return t.join(`
15
- `)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new C(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}config;selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await D(e.flakyHistoryPath,e.flakyTracker):S(e.flakyTracker),s=new m({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-HFD6CPWC.js"),a=new r(e.memory),i=F({cwd:e.cwd,baseRef:e.baseRef,impactAnalyzer:a}),o=_(s,{...e.scheduler,phases:e.phases&&e.phases.length>0?e.phases:f}),l=x(e.reporter);return new n(e,i,s,o,t,l)}async run(){let e=Date.now(),t=[],s=this.config.runAllTests??!1,r=performance.now();if(!s){let p=await this.selector.selectAffectedTests();p.runAllTests?(s=!0,console.log(`[TestSchedulingPipeline] Running all tests: ${p.runAllReason}`)):p.selectedTests.length===0?(console.log("[TestSchedulingPipeline] No affected tests found, running all"),s=!0):(t=p.selectedTests,console.log(`[TestSchedulingPipeline] Selected ${t.length} affected tests`))}let a=performance.now()-r;if(this.config.useDAGAttention&&t.length>0)try{let{isDAGAttentionEnabled:p}=await import("./feature-flags-DUNQPDU3.js");if(p()){let{createDAGAttentionScheduler:h}=await import("./dag-attention-scheduler-NECJGCHC.js"),y=h(),d=t.map(k=>({id:k,name:k,estimatedDuration:1e3,dependencies:[],priority:1,tags:[]})),N=y.schedule(d),I=[];for(let k of N.phases)I.push(...k.tests.map(O=>O.id));I.length>0&&(t=I)}}catch(p){process.env.DEBUG&&console.debug("[Pipeline] DAG attention scheduling skipped:",p instanceof Error?p.message:p)}let i=performance.now(),o;s?o=await this.scheduler.run():o=await this.runWithSelectedTests(t);let l=performance.now()-i,c=performance.now(),u=this.flakyTracker.analyze();this.config.flakyHistoryPath&&await G(this.flakyTracker,this.config.flakyHistoryPath);let g=performance.now()-c,T=performance.now();this.ciEnvironment.isCI&&await this.reporter.writeOutput(o);let P=performance.now()-T,w=Date.now()-e;return{phaseResults:o,selectedTests:t,ranAllTests:s,flakyAnalysis:u,ciEnvironment:this.ciEnvironment,totalDurationMs:w,stepLatencies:{selectionMs:a,executionMs:l,analysisMs:g,reportingMs:P}}}async runPhase(e){return this.scheduler.runPhase(e)}getFlakyTracker(){return this.flakyTracker}getSelector(){return this.selector}getStats(){return this.scheduler.getStats()}async abort(){await this.scheduler.abort()}async runWithSelectedTests(e){let t=[],s=this.config.phases??[];for(let r of s){let a=e.filter(i=>r.testPatterns.some(o=>o.startsWith("!")?!1:this.patternToRegex(o).test(i)));if(a.length>0){let i=await this.executor.execute(r,a);t.push(i)}}return t}patternToRegex(e){let t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*");return new RegExp(t)}};async function U(n){return E.create(n)}async function ee(n){return(await U(n)).run()}export{B as DAGAttentionScheduler,f as DEFAULT_TEST_PHASES,A as FlakyTestTracker,v as GitAwareTestSelector,C as GitHubActionsReporter,b as PhaseScheduler,E as TestSchedulingPipeline,m as VitestPhaseExecutor,V as checkQualityThresholds,L as createDAGAttentionScheduler,S as createFlakyTracker,x as createGitHubActionsReporter,_ as createPhaseScheduler,U as createTestPipeline,F as createTestSelector,z as createVitestExecutor,H as detectCIEnvironment,q as getAffectedTests,D as loadFlakyTracker,Z as reportToGitHubActions,ee as runTestPipeline,G as saveFlakyTracker};
15
+ `)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new C(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}config;selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await D(e.flakyHistoryPath,e.flakyTracker):S(e.flakyTracker),s=new m({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-VTSISNN4.js"),a=new r(e.memory),i=F({cwd:e.cwd,baseRef:e.baseRef,impactAnalyzer:a}),o=_(s,{...e.scheduler,phases:e.phases&&e.phases.length>0?e.phases:f}),l=x(e.reporter);return new n(e,i,s,o,t,l)}async run(){let e=Date.now(),t=[],s=this.config.runAllTests??!1,r=performance.now();if(!s){let p=await this.selector.selectAffectedTests();p.runAllTests?(s=!0,console.log(`[TestSchedulingPipeline] Running all tests: ${p.runAllReason}`)):p.selectedTests.length===0?(console.log("[TestSchedulingPipeline] No affected tests found, running all"),s=!0):(t=p.selectedTests,console.log(`[TestSchedulingPipeline] Selected ${t.length} affected tests`))}let a=performance.now()-r;if(this.config.useDAGAttention&&t.length>0)try{let{isDAGAttentionEnabled:p}=await import("./feature-flags-6X33B3WX.js");if(p()){let{createDAGAttentionScheduler:h}=await import("./dag-attention-scheduler-OQPJ6ULA.js"),y=h(),d=t.map(k=>({id:k,name:k,estimatedDuration:1e3,dependencies:[],priority:1,tags:[]})),N=y.schedule(d),I=[];for(let k of N.phases)I.push(...k.tests.map(O=>O.id));I.length>0&&(t=I)}}catch(p){process.env.DEBUG&&console.debug("[Pipeline] DAG attention scheduling skipped:",p instanceof Error?p.message:p)}let i=performance.now(),o;s?o=await this.scheduler.run():o=await this.runWithSelectedTests(t);let l=performance.now()-i,c=performance.now(),u=this.flakyTracker.analyze();this.config.flakyHistoryPath&&await G(this.flakyTracker,this.config.flakyHistoryPath);let g=performance.now()-c,T=performance.now();this.ciEnvironment.isCI&&await this.reporter.writeOutput(o);let P=performance.now()-T,w=Date.now()-e;return{phaseResults:o,selectedTests:t,ranAllTests:s,flakyAnalysis:u,ciEnvironment:this.ciEnvironment,totalDurationMs:w,stepLatencies:{selectionMs:a,executionMs:l,analysisMs:g,reportingMs:P}}}async runPhase(e){return this.scheduler.runPhase(e)}getFlakyTracker(){return this.flakyTracker}getSelector(){return this.selector}getStats(){return this.scheduler.getStats()}async abort(){await this.scheduler.abort()}async runWithSelectedTests(e){let t=[],s=this.config.phases??[];for(let r of s){let a=e.filter(i=>r.testPatterns.some(o=>o.startsWith("!")?!1:this.patternToRegex(o).test(i)));if(a.length>0){let i=await this.executor.execute(r,a);t.push(i)}}return t}patternToRegex(e){let t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*");return new RegExp(t)}};async function U(n){return E.create(n)}async function ee(n){return(await U(n)).run()}export{B as DAGAttentionScheduler,f as DEFAULT_TEST_PHASES,A as FlakyTestTracker,v as GitAwareTestSelector,C as GitHubActionsReporter,b as PhaseScheduler,E as TestSchedulingPipeline,m as VitestPhaseExecutor,V as checkQualityThresholds,L as createDAGAttentionScheduler,S as createFlakyTracker,x as createGitHubActionsReporter,_ as createPhaseScheduler,U as createTestPipeline,F as createTestSelector,z as createVitestExecutor,H as detectCIEnvironment,q as getAffectedTests,D as loadFlakyTracker,Z as reportToGitHubActions,ee as runTestPipeline,G as saveFlakyTracker};
@@ -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.10.1");process.exit(0)}
2
- import{b as f,c as k}from"./chunk-WL2J6ECN.js";import{b as l}from"./chunk-H22MMMYY.js";import{b as r}from"./chunk-ELUERFGA.js";import"./chunk-EIROAH6N.js";import"./chunk-ECPB7IAH.js";import"./chunk-WS4XVJHI.js";import"./chunk-NRLT44YB.js";import"./chunk-YPOTBXPU.js";import"./chunk-Q24OJX44.js";import"./chunk-GXJ4BCGC.js";import"./chunk-QNW335PD.js";import"./chunk-P7T5Y735.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-Y2DPXMOR.js";import"./chunk-2TDWCXZ6.js";import"./chunk-IK6AJX3C.js";import"./chunk-W2DT3CDE.js";import"./chunk-XRK7FBTY.js";import"./chunk-PLRSKAFZ.js";import"./chunk-GRG3OP34.js";import"./chunk-XKOKMS5A.js";import"./chunk-2ETDES5W.js";import"./chunk-MVGVD6LS.js";import"./chunk-25QGPRWN.js";import"./chunk-KRXKU54J.js";import"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";import*as s from"path";import*as a from"fs";var u={enableOptimization:!0,enablePersistence:!0,storagePath:process.env.AQE_STORAGE_PATH??".agentic-qe",autoSaveIntervalMs:6e4,verbose:process.env.AQE_VERBOSE==="true"},i=!1,n=null,p=!1;async function B(t){if(i)return;let e={...u,...t};if(e.verbose&&console.log("[TokenBootstrap] Initializing token tracking..."),e.enablePersistence){let o=s.resolve(e.storagePath);a.existsSync(o)||a.mkdirSync(o,{recursive:!0})}if(e.enableOptimization)try{n=(await l(!0)).backend,await k(n,{enabled:!0,verbose:e.verbose}),e.verbose&&(console.log("[TokenBootstrap] TokenOptimizerService initialized"),console.log(`[TokenBootstrap] isEnabled() = ${f.isEnabled()}`))}catch(o){console.error("[TokenBootstrap] Failed to initialize TokenOptimizerService:",o)}if(e.enablePersistence){let o=s.join(e.storagePath,"token-metrics.json");r.configurePersistence({filePath:o,autoSaveIntervalMs:e.autoSaveIntervalMs});try{let c=await r.load();e.verbose&&console.log(`[TokenBootstrap] Loaded existing metrics: ${c}`)}catch{e.verbose&&console.log("[TokenBootstrap] No existing metrics to load")}r.startAutoSave(),e.verbose&&console.log(`[TokenBootstrap] Persistence configured: ${o}`)}p||(g(e.verbose),p=!0),i=!0,e.verbose&&console.log("[TokenBootstrap] Token tracking initialized successfully")}async function d(t=!1){if(i){if(t&&console.log("[TokenBootstrap] Shutting down token tracking..."),r.stopAutoSave(),r.hasUnsavedChanges())try{await r.save(),t&&console.log("[TokenBootstrap] Metrics saved successfully")}catch(e){console.error("[TokenBootstrap] Failed to save metrics:",e)}if(n){try{await n.dispose()}catch(e){console.debug("[TokenBootstrap] Memory backend disposal error:",e instanceof Error?e.message:e)}n=null}i=!1}}function h(){return i}function y(){return n}function g(t){let e=async o=>{t&&console.log(`[TokenBootstrap] Received ${o}, saving metrics...`),await d(t)};process.on("beforeExit",()=>e("beforeExit"))}export{B as bootstrapTokenTracking,y as getTokenMemoryBackend,h as isTokenTrackingInitialized,d as shutdownTokenTracking};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{b as f,c as k}from"./chunk-H56AROF2.js";import{b as l}from"./chunk-GHNNJHH3.js";import{b as r}from"./chunk-FJGSEPFL.js";import"./chunk-4QFAUSWQ.js";import"./chunk-5EWWA4QP.js";import"./chunk-UDV4YB42.js";import"./chunk-NXPFGPHV.js";import"./chunk-JOLDCS6X.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-UHDBM7QS.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-JD2PG4KS.js";import"./chunk-3LRK7PYN.js";import"./chunk-RTDHWOAG.js";import"./chunk-2ULVCLOW.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";import*as s from"path";import*as a from"fs";var u={enableOptimization:!0,enablePersistence:!0,storagePath:process.env.AQE_STORAGE_PATH??".agentic-qe",autoSaveIntervalMs:6e4,verbose:process.env.AQE_VERBOSE==="true"},i=!1,n=null,p=!1;async function b(t){if(i)return;let e={...u,...t};if(e.verbose&&console.log("[TokenBootstrap] Initializing token tracking..."),e.enablePersistence){let o=s.resolve(e.storagePath);a.existsSync(o)||a.mkdirSync(o,{recursive:!0})}if(e.enableOptimization)try{n=(await l(!0)).backend,await k(n,{enabled:!0,verbose:e.verbose}),e.verbose&&(console.log("[TokenBootstrap] TokenOptimizerService initialized"),console.log(`[TokenBootstrap] isEnabled() = ${f.isEnabled()}`))}catch(o){console.error("[TokenBootstrap] Failed to initialize TokenOptimizerService:",o)}if(e.enablePersistence){let o=s.join(e.storagePath,"token-metrics.json");r.configurePersistence({filePath:o,autoSaveIntervalMs:e.autoSaveIntervalMs});try{let c=await r.load();e.verbose&&console.log(`[TokenBootstrap] Loaded existing metrics: ${c}`)}catch{e.verbose&&console.log("[TokenBootstrap] No existing metrics to load")}r.startAutoSave(),e.verbose&&console.log(`[TokenBootstrap] Persistence configured: ${o}`)}p||(d(e.verbose),p=!0),i=!0,e.verbose&&console.log("[TokenBootstrap] Token tracking initialized successfully")}async function g(t=!1){if(i){if(t&&console.log("[TokenBootstrap] Shutting down token tracking..."),r.stopAutoSave(),r.hasUnsavedChanges())try{await r.save(),t&&console.log("[TokenBootstrap] Metrics saved successfully")}catch(e){console.error("[TokenBootstrap] Failed to save metrics:",e)}if(n){try{await n.dispose()}catch(e){console.debug("[TokenBootstrap] Memory backend disposal error:",e instanceof Error?e.message:e)}n=null}i=!1}}function B(){return i}function h(){return n}function d(t){let e=async o=>{t&&console.log(`[TokenBootstrap] Received ${o}, saving metrics...`),await g(t)};process.on("beforeExit",()=>e("beforeExit"))}export{b as bootstrapTokenTracking,h as getTokenMemoryBackend,B as isTokenTrackingInitialized,g as shutdownTokenTracking};
@@ -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.10.1");process.exit(0)}
2
- import{a as S,b as f}from"./chunk-WL2J6ECN.js";import{a as k,b as u}from"./chunk-ELUERFGA.js";import"./chunk-ECPB7IAH.js";import"./chunk-WS4XVJHI.js";import"./chunk-NRLT44YB.js";import"./chunk-YPOTBXPU.js";import"./chunk-Q24OJX44.js";import"./chunk-GXJ4BCGC.js";import"./chunk-QNW335PD.js";import"./chunk-P7T5Y735.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-Y2DPXMOR.js";import{a as y,c as h}from"./chunk-2TDWCXZ6.js";import"./chunk-IK6AJX3C.js";import"./chunk-XRK7FBTY.js";import"./chunk-PLRSKAFZ.js";import"./chunk-GRG3OP34.js";import"./chunk-XKOKMS5A.js";import"./chunk-2ETDES5W.js";import"./chunk-MVGVD6LS.js";import"./chunk-25QGPRWN.js";import"./chunk-KRXKU54J.js";import"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";import{Command as v}from"commander";import e from"chalk";h();import*as p from"fs";function L(){return new v("token-usage").description("View and analyze token consumption metrics (ADR-042)").option("-p, --period <period>","Time period: 1h, 24h, 7d, 30d","24h").option("-a, --by-agent","Group usage by agent").option("-d, --by-domain","Group usage by domain").option("-r, --recommendations","Show optimization recommendations").option("-e, --export <file>","Export to CSV file").option("--dashboard","Show compact token budget dashboard summary").option("--cache-stats","Show session operation cache statistics (Imp-15)").option("--json","Output as JSON").option("-v, --verbose","Show detailed output").action(async n=>{await w(n)})}async function w(o){let n=R(o.period);try{o.cacheStats?await x(o):o.dashboard?console.log(k()):o.byAgent?await U(n,o):o.byDomain?await A(n,o):o.recommendations?await C(n,o):o.export?await E(n,o.export,o):await O(n,o)}catch(s){console.error(e.red(`Error: ${y(s)}`)),process.exit(1)}}async function O(o,n){let s=u.getSessionSummary(o);if(n.json){console.log(JSON.stringify($(s),null,2));return}console.log(e.bold.cyan(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a as S,b as f}from"./chunk-H56AROF2.js";import{a as k,b as u}from"./chunk-FJGSEPFL.js";import"./chunk-5EWWA4QP.js";import"./chunk-UDV4YB42.js";import"./chunk-NXPFGPHV.js";import"./chunk-JOLDCS6X.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-UHDBM7QS.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-JD2PG4KS.js";import{a as y,c as h}from"./chunk-3LRK7PYN.js";import"./chunk-RTDHWOAG.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";import{Command as v}from"commander";import e from"chalk";h();import*as p from"fs";function _(){return new v("token-usage").description("View and analyze token consumption metrics (ADR-042)").option("-p, --period <period>","Time period: 1h, 24h, 7d, 30d","24h").option("-a, --by-agent","Group usage by agent").option("-d, --by-domain","Group usage by domain").option("-r, --recommendations","Show optimization recommendations").option("-e, --export <file>","Export to CSV file").option("--dashboard","Show compact token budget dashboard summary").option("--cache-stats","Show session operation cache statistics (Imp-15)").option("--json","Output as JSON").option("-v, --verbose","Show detailed output").action(async n=>{await w(n)})}async function w(o){let n=R(o.period);try{o.cacheStats?await x(o):o.dashboard?console.log(k()):o.byAgent?await U(n,o):o.byDomain?await A(n,o):o.recommendations?await C(n,o):o.export?await E(n,o.export,o):await O(n,o)}catch(s){console.error(e.red(`Error: ${y(s)}`)),process.exit(1)}}async function O(o,n){let s=u.getSessionSummary(o);if(n.json){console.log(JSON.stringify($(s),null,2));return}console.log(e.bold.cyan(`
3
3
  \u{1F4CA} Token Usage Summary
4
4
  `)),console.log(e.gray(`Period: ${o}`)),console.log(e.gray(`Session: ${s.sessionId}
5
5
  `)),console.log(e.bold("Total Usage:")),console.log(` Input tokens: ${l(s.totalUsage.inputTokens)}`),console.log(` Output tokens: ${l(s.totalUsage.outputTokens)}`),console.log(` Total tokens: ${l(s.totalUsage.totalTokens)}`),s.totalUsage.estimatedCostUsd!==void 0&&console.log(` Estimated cost: ${T(s.totalUsage.estimatedCostUsd)}`),console.log(e.bold(`
@@ -22,4 +22,4 @@ Session Operation Cache (Imp-15)
22
22
  Recommendations:`)),s.recommendations.length===0)console.log(e.green(" \u2713 Token usage is optimized!"));else for(let g of s.recommendations)console.log(` ${e.yellow("\u2022")} ${g}`);let i=f.getReuseStats();i&&(console.log(e.bold(`
23
23
  Pattern Reuse Analysis:`)),i.exitRate<.1&&i.totalAttempts>10&&console.log(` ${e.yellow("\u2022")} Low early exit rate (${(i.exitRate*100).toFixed(1)}%). Consider lowering similarity threshold.`),i.reasonBreakdown.confidence_too_low>i.totalAttempts*.3&&console.log(` ${e.yellow("\u2022")} Many patterns rejected for low confidence. Review pattern training.`),i.reasonBreakdown.pattern_too_old>i.totalAttempts*.2&&console.log(` ${e.yellow("\u2022")} Patterns expiring frequently. Consider increasing max pattern age.`)),console.log("")}async function E(o,n,s){let i=u.getTaskMetrics(o),g=["Task ID","Agent ID","Domain","Operation","Input Tokens","Output Tokens","Total Tokens","Cost (USD)","Pattern Reused","Tokens Saved","Timestamp"],d=i.map(a=>[a.taskId,a.agentId,a.domain,a.operation,a.usage.inputTokens,a.usage.outputTokens,a.usage.totalTokens,a.usage.estimatedCostUsd?.toFixed(6)||"0",a.patternReused?"Yes":"No",a.tokensSaved||0,new Date(a.timestamp).toISOString()]),c=[g.join(","),...d.map(a=>a.map(P).join(","))].join(`
24
24
  `);if(p.writeFileSync(n,c),console.log(e.green(`\u2713 Exported ${i.length} records to ${n}`)),s.verbose){let a=u.getSessionSummary(o),r=n.replace(".csv","-summary.json");p.writeFileSync(r,JSON.stringify($(a),null,2)),console.log(e.green(`\u2713 Exported summary to ${r}`))}}function R(o){return o&&["1h","24h","7d","30d"].includes(o)?o:"24h"}function l(o){return o>=1e6?(o/1e6).toFixed(1)+"M":o>=1e3?(o/1e3).toFixed(1)+"K":String(o)}function T(o){return o<.01?`$${o.toFixed(4)}`:`$${o.toFixed(2)}`}function t(o,n){return o.padEnd(n)}function b(o,n){return o.length<=n?o:o.slice(0,n-1)+"\u2026"}function P(o){let n=String(o);return n.includes(",")||n.includes('"')||n.includes(`
25
- `)?`"${n.replace(/"/g,'""')}"`:n}function $(o){return{sessionId:o.sessionId,startTime:o.startTime,endTime:o.endTime,totalUsage:o.totalUsage,optimizationStats:o.optimizationStats,byAgent:Object.fromEntries(o.byAgent),byDomain:Object.fromEntries(o.byDomain)}}export{L as createTokenUsageCommand};
25
+ `)?`"${n.replace(/"/g,'""')}"`:n}function $(o){return{sessionId:o.sessionId,startTime:o.startTime,endTime:o.endTime,totalUsage:o.totalUsage,optimizationStats:o.optimizationStats,byAgent:Object.fromEntries(o.byAgent),byDomain:Object.fromEntries(o.byDomain)}}export{_ as createTokenUsageCommand};
@@ -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.10.1");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-KKNBYXYA.js";import"./chunk-4AWJ5PE4.js";export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-6Q2PPOOF.js";import"./chunk-CAMEFWRK.js";export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e}from"./chunk-5LON3MLI.js";import"./chunk-2L73WXA4.js";import"./chunk-CAMEFWRK.js";export{a as TreeSitterWASMParser,e as _resetWasmState,b as createWasmParsers,c as isWasmAvailable,d as loadWasmGrammar};
@@ -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.10.1");process.exit(0)}
2
- import{a,b,c,d,e,f,g}from"./chunk-DVOH75S4.js";import"./chunk-4AWJ5PE4.js";export{e as BudgetExceededError,f as ComplexityAnalysisError,b as DEFAULT_BUDGET_CONFIG,c as DEFAULT_ROUTER_CONFIG,d as ModelRouterError,g as RoutingTimeoutError,a as TIER_METADATA};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f,g}from"./chunk-YXH2CVAF.js";import"./chunk-CAMEFWRK.js";export{e as BudgetExceededError,f as ComplexityAnalysisError,b as DEFAULT_BUDGET_CONFIG,c as DEFAULT_ROUTER_CONFIG,d as ModelRouterError,g as RoutingTimeoutError,a as TIER_METADATA};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,o}from"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import{a as c,d,e}from"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";o();export{a as ALLOWED_TABLE_NAMES,c as BinaryHeap,i as DEFAULT_UNIFIED_MEMORY_CONFIG,d as UnifiedHnswIndex,k as UnifiedMemoryManager,f as clearProjectRootCache,e as createHnswIndex,g as findProjectRoot,h as getDefaultDbPath,j as getResolvedDefaultConfig,l as getUnifiedMemory,m as initializeUnifiedMemory,n as resetUnifiedMemory,b as validateTableName};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f}from"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";f();export{a as BinaryHeap,b as InMemoryHNSWIndex,c as RuvectorFlatIndex,d as UnifiedHnswIndex,e as createHnswIndex};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e}from"./chunk-YX2HY4MX.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{a as DEFAULT_UNIFIED_CONFIG,b as UnifiedPersistenceManager,c as getUnifiedPersistence,d as initializeUnifiedPersistence,e as resetUnifiedPersistence};
@@ -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.10.1");process.exit(0)}
2
- import{S as m,b as c}from"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";m();import{Command as f}from"commander";import n from"chalk";import{createRequire as u}from"node:module";import{platform as p,arch as v}from"node:os";var y=[{packageName:"better-sqlite3",role:"SQLite storage (required \u2014 memory.db, patterns, audit)",fallback:"n/a \u2014 required",affectsFlags:[],required:!0},{packageName:"web-tree-sitter",role:"Tree-sitter WASM parser runtime (required \u2014 code intelligence)",fallback:"n/a \u2014 required",affectsFlags:[],required:!0},{packageName:"hnswlib-node",role:"Canonical HNSW vector index (default since ADR-090)",fallback:"ProgressiveHnswBackend (JS) \u2014 correct but slower on large codebases",affectsFlags:["useNativeHNSW"],required:!1},{packageName:"@ruvector/rvf-node",role:"Persistent HNSW pattern store + RVF brain export format",fallback:"SQLite-backed HNSW + JSONL brain export",affectsFlags:["useRVFPatternStore"],required:!1},{packageName:"@ruvector/solver-node",role:"Sublinear PageRank on the pattern citation graph",fallback:"TypeScript power iteration \u2014 O(n\xB7m) (practical cap \u2248 50K nodes)",affectsFlags:["useSublinearSolver"],required:!1},{packageName:"@ruvector/attention",role:"Flash Attention with SIMD acceleration",fallback:"Plain attention \u2014 2.5\u20137\xD7 slower on large sequences",affectsFlags:["useQEFlashAttention"],required:!1},{packageName:"@ruvector/gnn",role:"GraphMAE native acceleration",fallback:"TypeScript GraphMAE \u2014 correct but slower",affectsFlags:["useGraphMAEEmbeddings"],required:!1}];function b(){let r=u(import.meta.url);return o=>{try{return r(o),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a:new Error(String(a))}}}}function N(r,o){return r.map(a=>{let s=o(a.packageName);if(s.ok)return{...a,status:"loaded"};let t=E(s.error),e=a.required?"required-missing":"missing";return{...a,status:e,loadError:s.error.message}})}function E(r){return r.code==="MODULE_NOT_FOUND"}var R={RUVECTOR_USE_RVF_PATTERN_STORE:"useRVFPatternStore",RUVECTOR_USE_SUBLINEAR_SOLVER:"useSublinearSolver",RUVECTOR_USE_NATIVE_HNSW:"useNativeHNSW",RUVECTOR_USE_GNN_INDEX:"useQEGNNIndex",RUVECTOR_USE_FLASH_ATTENTION:"useQEFlashAttention",RUVECTOR_USE_GRAPH_MAE_EMBEDDINGS:"useGraphMAEEmbeddings"};function S(r){let o=[];for(let[a,s]of Object.entries(R)){let t=r[a];t!==void 0&&o.push({envVar:a,value:t,flagName:s})}return o}function k(r){let o=[],a=new Map(r.natives.map(e=>[e.packageName,e]));for(let e of r.natives)e.status==="required-missing"&&o.push({severity:"error",message:`Required dependency missing: ${e.packageName} \u2014 ${e.role}`,action:`npm install ${e.packageName}`});for(let e of r.natives)e.status==="missing"&&!e.required&&o.push({severity:"warn",message:`Optional native missing: ${e.packageName} \u2014 falls back to ${e.fallback}`,action:`npm install ${e.packageName}`});let s={...r.flags};for(let e of r.envOverrides){let i=r.natives.filter(d=>d.affectsFlags.includes(e.flagName)),l=i.some(d=>d.status==="loaded");if((e.value==="true"||e.value==="1")&&i.length>0&&!l){let d=i.map(g=>g.packageName).join(", ");o.push({severity:"warn",message:`${e.envVar}=${e.value} requests flag ${e.flagName}=true, but required native(s) not loaded: ${d}. The flag will silently fall back.`,action:i[0]?`npm install ${i[0].packageName}`:void 0})}}return r.natives.filter(e=>!e.required&&e.status==="missing").length===0&&r.natives.every(e=>e.status!=="required-missing")&&o.push({severity:"info",message:"All recommended native bindings are loaded \u2014 no action required."}),o}function q(r){let o=N(y,r.probe),a=S(r.env),s=k({natives:o,flags:r.flags,envOverrides:a}),t=o.filter(l=>!l.required&&l.status==="loaded").length,e=o.filter(l=>!l.required&&l.status==="missing").length,i=o.filter(l=>l.required).every(l=>l.status==="loaded");return{aqeVersion:r.aqeVersion,platform:{os:p(),arch:v(),node:process.version},natives:o,flags:r.flags,envOverrides:a,recommendations:s,summary:{requiredOk:i,optionalMissingCount:e,optionalLoadedCount:t}}}function h(r,o){return r.summary.requiredOk?o&&r.summary.optionalMissingCount>0?1:0:2}function O(r){let o=[],a=(e="")=>o.push(e);a(""),a(n.bold.blue(" aqe upgrade \u2014 native binding report")),a(n.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),a(""),a(` AQE: ${n.cyan(r.aqeVersion)}`),a(` Platform: ${n.cyan(`${r.platform.os} ${r.platform.arch}`)}`),a(` Node: ${n.cyan(r.platform.node)}`),a(""),a(n.blue(" Native bindings:"));for(let e of r.natives){let i=$(e.status);a(` ${i} ${n.bold(e.packageName.padEnd(28))} ${n.gray(e.role)}`),e.status!=="loaded"&&e.loadError&&a(` ${n.gray(e.loadError.split(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{S as m,b as c}from"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";m();import{Command as f}from"commander";import n from"chalk";import{createRequire as u}from"node:module";import{platform as p,arch as v}from"node:os";var y=[{packageName:"better-sqlite3",role:"SQLite storage (required \u2014 memory.db, patterns, audit)",fallback:"n/a \u2014 required",affectsFlags:[],required:!0},{packageName:"web-tree-sitter",role:"Tree-sitter WASM parser runtime (required \u2014 code intelligence)",fallback:"n/a \u2014 required",affectsFlags:[],required:!0},{packageName:"hnswlib-node",role:"Canonical HNSW vector index (default since ADR-090)",fallback:"ProgressiveHnswBackend (JS) \u2014 correct but slower on large codebases",affectsFlags:["useNativeHNSW"],required:!1},{packageName:"@ruvector/rvf-node",role:"Persistent HNSW pattern store + RVF brain export format",fallback:"SQLite-backed HNSW + JSONL brain export",affectsFlags:["useRVFPatternStore"],required:!1},{packageName:"@ruvector/solver-node",role:"Sublinear PageRank on the pattern citation graph",fallback:"TypeScript power iteration \u2014 O(n\xB7m) (practical cap \u2248 50K nodes)",affectsFlags:["useSublinearSolver"],required:!1},{packageName:"@ruvector/attention",role:"Flash Attention with SIMD acceleration",fallback:"Plain attention \u2014 2.5\u20137\xD7 slower on large sequences",affectsFlags:["useQEFlashAttention"],required:!1},{packageName:"@ruvector/gnn",role:"GraphMAE native acceleration",fallback:"TypeScript GraphMAE \u2014 correct but slower",affectsFlags:["useGraphMAEEmbeddings"],required:!1}];function b(){let r=u(import.meta.url);return o=>{try{return r(o),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a:new Error(String(a))}}}}function N(r,o){return r.map(a=>{let s=o(a.packageName);if(s.ok)return{...a,status:"loaded"};let t=E(s.error),e=a.required?"required-missing":"missing";return{...a,status:e,loadError:s.error.message}})}function E(r){return r.code==="MODULE_NOT_FOUND"}var R={RUVECTOR_USE_RVF_PATTERN_STORE:"useRVFPatternStore",RUVECTOR_USE_SUBLINEAR_SOLVER:"useSublinearSolver",RUVECTOR_USE_NATIVE_HNSW:"useNativeHNSW",RUVECTOR_USE_GNN_INDEX:"useQEGNNIndex",RUVECTOR_USE_FLASH_ATTENTION:"useQEFlashAttention",RUVECTOR_USE_GRAPH_MAE_EMBEDDINGS:"useGraphMAEEmbeddings"};function S(r){let o=[];for(let[a,s]of Object.entries(R)){let t=r[a];t!==void 0&&o.push({envVar:a,value:t,flagName:s})}return o}function k(r){let o=[],a=new Map(r.natives.map(e=>[e.packageName,e]));for(let e of r.natives)e.status==="required-missing"&&o.push({severity:"error",message:`Required dependency missing: ${e.packageName} \u2014 ${e.role}`,action:`npm install ${e.packageName}`});for(let e of r.natives)e.status==="missing"&&!e.required&&o.push({severity:"warn",message:`Optional native missing: ${e.packageName} \u2014 falls back to ${e.fallback}`,action:`npm install ${e.packageName}`});let s={...r.flags};for(let e of r.envOverrides){let i=r.natives.filter(d=>d.affectsFlags.includes(e.flagName)),l=i.some(d=>d.status==="loaded");if((e.value==="true"||e.value==="1")&&i.length>0&&!l){let d=i.map(g=>g.packageName).join(", ");o.push({severity:"warn",message:`${e.envVar}=${e.value} requests flag ${e.flagName}=true, but required native(s) not loaded: ${d}. The flag will silently fall back.`,action:i[0]?`npm install ${i[0].packageName}`:void 0})}}return r.natives.filter(e=>!e.required&&e.status==="missing").length===0&&r.natives.every(e=>e.status!=="required-missing")&&o.push({severity:"info",message:"All recommended native bindings are loaded \u2014 no action required."}),o}function q(r){let o=N(y,r.probe),a=S(r.env),s=k({natives:o,flags:r.flags,envOverrides:a}),t=o.filter(l=>!l.required&&l.status==="loaded").length,e=o.filter(l=>!l.required&&l.status==="missing").length,i=o.filter(l=>l.required).every(l=>l.status==="loaded");return{aqeVersion:r.aqeVersion,platform:{os:p(),arch:v(),node:process.version},natives:o,flags:r.flags,envOverrides:a,recommendations:s,summary:{requiredOk:i,optionalMissingCount:e,optionalLoadedCount:t}}}function h(r,o){return r.summary.requiredOk?o&&r.summary.optionalMissingCount>0?1:0:2}function O(r){let o=[],a=(e="")=>o.push(e);a(""),a(n.bold.blue(" aqe upgrade \u2014 native binding report")),a(n.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),a(""),a(` AQE: ${n.cyan(r.aqeVersion)}`),a(` Platform: ${n.cyan(`${r.platform.os} ${r.platform.arch}`)}`),a(` Node: ${n.cyan(r.platform.node)}`),a(""),a(n.blue(" Native bindings:"));for(let e of r.natives){let i=$(e.status);a(` ${i} ${n.bold(e.packageName.padEnd(28))} ${n.gray(e.role)}`),e.status!=="loaded"&&e.loadError&&a(` ${n.gray(e.loadError.split(`
3
3
  `)[0])}`)}a(""),a(n.blue(" Flag state (after env overrides):"));let s=Object.entries(r.flags);for(let[e,i]of s){let l=i?n.green("on "):n.yellow("off");a(` ${l} ${e}`)}if(r.envOverrides.length>0){a(""),a(n.blue(" Env overrides in effect:"));for(let e of r.envOverrides)a(` ${n.cyan(e.envVar)}=${n.cyan(e.value)} ${n.gray(`\u2192 ${e.flagName}`)}`)}if(a(""),a(n.blue(" Recommendations:")),r.recommendations.length===0)a(n.gray(" (none)"));else for(let e of r.recommendations){let i=F(e.severity);a(` ${i} ${e.message}`),e.action&&a(` ${n.gray("\u2192")} ${n.cyan(e.action)}`)}a("");let t=r.summary.requiredOk?n.green("OK"):n.red("FAIL");return a(` Summary: required ${t} optional loaded ${n.cyan(r.summary.optionalLoadedCount)} / ${n.cyan(r.summary.optionalLoadedCount+r.summary.optionalMissingCount)}`),a(""),o.join(`
4
4
  `)}function $(r){switch(r){case"loaded":return n.green("\u2713");case"missing":return n.yellow("\u2026");case"required-missing":return n.red("\u2717")}}function F(r){switch(r){case"info":return n.green("\u2713");case"warn":return n.yellow("!");case"error":return n.red("\u2717")}}function U(r){return new f("upgrade").description("Detect optional native bindings and recommend install / flag changes (read-only)").option("--json","Emit the report as JSON to stdout",!1).option("--strict","Exit non-zero if any recommended optional native is missing",!1).action(async a=>{let s=A(),t=c(),e=q({aqeVersion:s,probe:b(),env:process.env,flags:{useRVFPatternStore:t.useRVFPatternStore,useSublinearSolver:t.useSublinearSolver,useNativeHNSW:t.useNativeHNSW,useGraphMAEEmbeddings:t.useGraphMAEEmbeddings,useQEFlashAttention:t.useQEFlashAttention}});a.json?process.stdout.write(JSON.stringify(e,null,2)+`
5
5
  `):process.stdout.write(O(e)),await r(h(e,a.strict===!0))})}function A(){try{return u(import.meta.url)("../../../package.json").version??"unknown"}catch{return"unknown"}}export{y as NATIVE_CATALOG,k as buildRecommendations,q as buildReport,b as createDefaultLoadProbe,U as createUpgradeCommand,N as detectNatives,h as exitCodeFor,S as readEnvOverrides,O as renderReportHuman};
@@ -1,7 +1,7 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.1");process.exit(0)}
2
- import{e as P}from"./chunk-K4T3RDCB.js";import"./chunk-EBQ6YKP2.js";import{a as V}from"./chunk-WQEZKAUR.js";import"./chunk-WDTCCPK4.js";import{b as v,d as F}from"./chunk-QNW335PD.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-2TDWCXZ6.js";import"./chunk-XKOKMS5A.js";import"./chunk-4AWJ5PE4.js";F();import{Command as M}from"commander";import{readFileSync as A,writeFileSync as S,existsSync as C,readdirSync as O,statSync as B}from"fs";import{join as b,resolve as j,basename as I}from"path";import e from"chalk";function R(i){let n=j(i);if(!C(n))throw new Error(`Input path not found: ${n}`);if(B(n).isDirectory()){let r=[],t=O(n).filter(o=>o.endsWith(".json")).map(o=>b(n,o));for(let o of t)try{let u=v(A(o,"utf-8"));if($(u))r.push(u);else if(Array.isArray(u))for(let d of u)$(d)&&r.push(d)}catch{console.warn(e.yellow(`Warning: Could not parse ${I(o)}`))}return r}else{let r=v(A(n,"utf-8"));if($(r))return[r];if(Array.isArray(r))return r.filter($);throw new Error("Invalid input format. Expected ParallelValidationRunResult or array of results.")}}function $(i){return typeof i=="object"&&i!==null&&"runId"in i&&"model"in i&&"outcomes"in i&&Array.isArray(i.outcomes)}function D(){return V({storeQEPattern:async()=>{},searchQEPatterns:async()=>({success:!0,value:[]}),addFact:async()=>({success:!0,value:void 0}),query:async()=>({success:!0,value:{results:[],confidence:0}}),getStats:()=>({totalPatterns:0,totalFacts:0,indexHealth:1,lastCompaction:new Date})})}function T(){let i=process.cwd(),n=[b(i,".claude/skills/trust-tier-manifest.json"),b(i,".claude/skills/skills-manifest.json")];for(let g of n)if(C(g))return g;return b(i,".claude/skills/trust-tier-manifest.json")}function L(i,n,g){let r=g.format||"markdown";if(r==="markdown"||r==="both"){let t=n.generateMarkdownReport(i);if(g.output){let o=r==="both"?g.output.replace(/\.\w+$/,".md"):g.output;S(o,t),console.log(e.green(`Markdown report written to: ${o}`))}else console.log(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{e as P}from"./chunk-6ZK24V2Y.js";import"./chunk-E2BJT6A7.js";import{a as V}from"./chunk-BO2OV2RH.js";import"./chunk-EETVN2OJ.js";import{b as v,d as F}from"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-7ZSPCGTI.js";import"./chunk-CAMEFWRK.js";F();import{Command as M}from"commander";import{readFileSync as A,writeFileSync as S,existsSync as C,readdirSync as O,statSync as B}from"fs";import{join as b,resolve as j,basename as I}from"path";import e from"chalk";function R(i){let n=j(i);if(!C(n))throw new Error(`Input path not found: ${n}`);if(B(n).isDirectory()){let r=[],t=O(n).filter(o=>o.endsWith(".json")).map(o=>b(n,o));for(let o of t)try{let u=v(A(o,"utf-8"));if($(u))r.push(u);else if(Array.isArray(u))for(let d of u)$(d)&&r.push(d)}catch{console.warn(e.yellow(`Warning: Could not parse ${I(o)}`))}return r}else{let r=v(A(n,"utf-8"));if($(r))return[r];if(Array.isArray(r))return r.filter($);throw new Error("Invalid input format. Expected ParallelValidationRunResult or array of results.")}}function $(i){return typeof i=="object"&&i!==null&&"runId"in i&&"model"in i&&"outcomes"in i&&Array.isArray(i.outcomes)}function D(){return V({storeQEPattern:async()=>{},searchQEPatterns:async()=>({success:!0,value:[]}),addFact:async()=>({success:!0,value:void 0}),query:async()=>({success:!0,value:{results:[],confidence:0}}),getStats:()=>({totalPatterns:0,totalFacts:0,indexHealth:1,lastCompaction:new Date})})}function T(){let i=process.cwd(),n=[b(i,".claude/skills/trust-tier-manifest.json"),b(i,".claude/skills/skills-manifest.json")];for(let g of n)if(C(g))return g;return b(i,".claude/skills/trust-tier-manifest.json")}function L(i,n,g){let r=g.format||"markdown";if(r==="markdown"||r==="both"){let t=n.generateMarkdownReport(i);if(g.output){let o=r==="both"?g.output.replace(/\.\w+$/,".md"):g.output;S(o,t),console.log(e.green(`Markdown report written to: ${o}`))}else console.log(`
3
3
  `+t)}if(r==="json"||r==="both"){let t=n.generateJsonReport(i);if(g.output){let o=r==="both"?g.output.replace(/\.\w+$/,".json"):g.output;S(o,t),console.log(e.green(`JSON report written to: ${o}`))}else console.log(`
4
- `+t)}}function G(i,n,g){let r=new M("skill").description("Skill validation and reporting (ADR-056)");return r.command("report").description("Generate aggregated report from validation results").requiredOption("-i, --input <path>","Input file or directory containing validation results").option("-o, --output <path>","Output file path (default: stdout)").option("-f, --format <format>","Output format: markdown, json, or both","markdown").option("-b, --baseline <path>","Baseline directory for regression detection").option("--detect-regressions","Enable regression detection against historical data").option("--update-manifest","Update trust tier manifest with new pass rates").option("-t, --threshold <number>","Regression threshold (0-1)",parseFloat).option("-v, --verbose","Verbose output").action(async t=>{try{t.verbose&&(console.log(e.blue(`
4
+ `+t)}}function W(i,n,g){let r=new M("skill").description("Skill validation and reporting (ADR-056)");return r.command("report").description("Generate aggregated report from validation results").requiredOption("-i, --input <path>","Input file or directory containing validation results").option("-o, --output <path>","Output file path (default: stdout)").option("-f, --format <format>","Output format: markdown, json, or both","markdown").option("-b, --baseline <path>","Baseline directory for regression detection").option("--detect-regressions","Enable regression detection against historical data").option("--update-manifest","Update trust tier manifest with new pass rates").option("-t, --threshold <number>","Regression threshold (0-1)",parseFloat).option("-v, --verbose","Verbose output").action(async t=>{try{t.verbose&&(console.log(e.blue(`
5
5
  Validation Result Aggregator`)),console.log(e.gray(`ADR-056 Phase 5
6
6
  `))),console.log(e.gray(`Loading results from: ${t.input}`));let o=R(t.input);if(o.length===0){console.log(e.yellow("No validation results found")),await n(0);return}console.log(e.gray(`Loaded ${o.length} validation run(s)`));let u=T(),d=D(),f=P(d,u,{regressionThreshold:t.threshold??.1,autoUpdateManifest:t.updateManifest??!1});console.log(e.gray("Aggregating results..."));let a=await f.aggregateResults(o);if(console.log(`
7
7
  `+e.bold("Summary:")),console.log(` Total Skills: ${e.white(a.summary.totalSkills)}`),console.log(` Passed: ${e.green(a.summary.passedSkills)}`),console.log(` Failed: ${e.red(a.summary.failedSkills)}`),console.log(` Avg Pass Rate: ${e.cyan((a.summary.avgPassRate*100).toFixed(1)+"%")}`),console.log(` Total Tests: ${e.white(a.summary.totalTests)}`),console.log(` Duration: ${e.gray((a.summary.totalDurationMs/1e3).toFixed(1)+"s")}`),a.regressions.length>0){console.log(`
@@ -18,4 +18,4 @@ Error:`),o instanceof Error?o.message:o),await n(1)}}),r.command("compare").desc
18
18
  `+e.yellow("Removed Skills:"));for(let s of k.slice(0,5))console.log(` * ${s}`)}if(console.log(`
19
19
  `+e.gray(`Unchanged: ${h.length} skills`)),t.output){let s={timestamp:new Date().toISOString(),runA:t.runA,runB:t.runB,improved:c,regressed:m,unchanged:h,newSkills:y,removedSkills:k};S(t.output,JSON.stringify(s,null,2)),console.log(e.green(`
20
20
  Comparison written to: ${t.output}`))}console.log(""),await n(m.length>0?1:0)}catch(o){console.error(e.red(`
21
- Error:`),o instanceof Error?o.message:o),await n(1)}}),r}export{G as createValidateCommand};
21
+ Error:`),o instanceof Error?o.message:o),await n(1)}}),r}export{W as createValidateCommand};
@@ -1,14 +1,14 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.1");process.exit(0)}
2
- import{a as i,b as v,c as d,d as p}from"./chunk-K4T3RDCB.js";import{a as h}from"./chunk-KCTH5MHE.js";import"./chunk-EBQ6YKP2.js";import{a as k}from"./chunk-WQEZKAUR.js";import"./chunk-YYWIA5FX.js";import"./chunk-WDTCCPK4.js";import"./chunk-6ZRMQXVL.js";import"./chunk-57NJQV57.js";import"./chunk-3YOPJ7DY.js";import"./chunk-TFNLXAK5.js";import"./chunk-NRLT44YB.js";import"./chunk-F3OVFA6W.js";import"./chunk-PXFQSVA2.js";import"./chunk-Q24OJX44.js";import"./chunk-GXJ4BCGC.js";import"./chunk-QNW335PD.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-Y2DPXMOR.js";import"./chunk-2TDWCXZ6.js";import"./chunk-IK6AJX3C.js";import"./chunk-XRK7FBTY.js";import"./chunk-PLRSKAFZ.js";import"./chunk-GRG3OP34.js";import"./chunk-XKOKMS5A.js";import"./chunk-2ETDES5W.js";import"./chunk-MVGVD6LS.js";import"./chunk-25QGPRWN.js";import"./chunk-KRXKU54J.js";import"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";import{Command as x}from"commander";import o from"chalk";function _(e,t,a){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await a())try{console.log(o.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a as i,b as v,c as d,d as p}from"./chunk-6ZK24V2Y.js";import{a as k}from"./chunk-JTF6D2RJ.js";import"./chunk-E2BJT6A7.js";import{a as h}from"./chunk-BO2OV2RH.js";import"./chunk-7SEHQTYD.js";import"./chunk-EETVN2OJ.js";import"./chunk-PZHZPX3O.js";import"./chunk-Q7EBD24B.js";import"./chunk-HQJMCTWN.js";import"./chunk-JE3C7JYN.js";import"./chunk-NXPFGPHV.js";import"./chunk-7RMZAVGO.js";import"./chunk-NZHOKLII.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-JD2PG4KS.js";import"./chunk-3LRK7PYN.js";import"./chunk-RTDHWOAG.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";import{Command as x}from"commander";import o from"chalk";function j(e,t,n){let c=new x("validate").description("Validation commands for skills and agents");return c.command("swarm").description("Validate skills in parallel using Claude Flow swarms (ADR-056)").option("-s, --skills <skills>",'Comma-separated list of skills to validate, or "all" for P0 skills',"all").option("-m, --models <models>","Comma-separated list of models to validate against",p.join(",")).option("-t, --topology <topology>","Swarm topology: hierarchical or mesh","hierarchical").option("--max-concurrent <number>","Maximum concurrent skill validations",String(i.maxConcurrentSkills)).option("--max-models <number>","Maximum concurrent models per skill",String(i.maxConcurrentModels)).option("--timeout <ms>","Timeout per validation in milliseconds",String(i.timeout)).option("--no-retry","Disable retries on failure").option("-v, --verbose","Show detailed output").option("--json","Output results as JSON").action(async l=>{if(await n())try{console.log(o.blue(`
3
3
  Swarm Skill Validation
4
- `));let r=l.skills==="all"?[...d]:l.skills.split(",").map(y=>y.trim()),u=l.models.split(",").map(y=>y.trim()),g=P(l.topology),n={topology:g,maxConcurrentSkills:parseInt(l.maxConcurrent,10)||i.maxConcurrentSkills,maxConcurrentModels:parseInt(l.maxModels,10)||i.maxConcurrentModels,timeout:parseInt(l.timeout,10)||i.timeout,continueOnFailure:!0,retry:l.retry!==!1?i.retry:void 0};l.verbose&&(console.log(o.gray("Configuration:")),console.log(o.gray(` Topology: ${n.topology}`)),console.log(o.gray(` Skills: ${r.length}`)),console.log(o.gray(` Models: ${u.length}`)),console.log(o.gray(` Max Concurrent Skills: ${n.maxConcurrentSkills}`)),console.log(o.gray(` Max Concurrent Models: ${n.maxConcurrentModels}`)),console.log(o.gray(` Timeout: ${n.timeout}ms`)),console.log(o.gray(` Retry: ${n.retry?"enabled":"disabled"}`)),console.log("")),console.log(o.cyan(` Skills: ${r.join(", ")}`)),console.log(o.cyan(` Models: ${u.join(", ")}`)),console.log(o.cyan(` Topology: ${g}`)),console.log("");let m=await R(e),f=k(m),C=v(n,f),w=Date.now();console.log(o.yellow(` Starting parallel validation...
5
- `));let $=await C.validateSkillsParallel(r,u),s=C.getSummary($),b=Date.now()-w;l.json?T(s):V(s,l.verbose),console.log(o.blue(`
4
+ `));let r=l.skills==="all"?[...d]:l.skills.split(",").map(y=>y.trim()),u=l.models.split(",").map(y=>y.trim()),g=P(l.topology),a={topology:g,maxConcurrentSkills:parseInt(l.maxConcurrent,10)||i.maxConcurrentSkills,maxConcurrentModels:parseInt(l.maxModels,10)||i.maxConcurrentModels,timeout:parseInt(l.timeout,10)||i.timeout,continueOnFailure:!0,retry:l.retry!==!1?i.retry:void 0};l.verbose&&(console.log(o.gray("Configuration:")),console.log(o.gray(` Topology: ${a.topology}`)),console.log(o.gray(` Skills: ${r.length}`)),console.log(o.gray(` Models: ${u.length}`)),console.log(o.gray(` Max Concurrent Skills: ${a.maxConcurrentSkills}`)),console.log(o.gray(` Max Concurrent Models: ${a.maxConcurrentModels}`)),console.log(o.gray(` Timeout: ${a.timeout}ms`)),console.log(o.gray(` Retry: ${a.retry?"enabled":"disabled"}`)),console.log("")),console.log(o.cyan(` Skills: ${r.join(", ")}`)),console.log(o.cyan(` Models: ${u.join(", ")}`)),console.log(o.cyan(` Topology: ${g}`)),console.log("");let m=await R(e),f=h(m),C=v(a,f),$=Date.now();console.log(o.yellow(` Starting parallel validation...
5
+ `));let b=await C.validateSkillsParallel(r,u),s=C.getSummary(b),w=Date.now()-$;l.json?T(s):D(s,l.verbose),console.log(o.blue(`
6
6
  Summary
7
- `)),console.log(` Total validations: ${o.white(s.results.length)}`),console.log(` Passed: ${o.green(s.successCount)}`),console.log(` Failed: ${o.red(s.failureCount)}`),console.log(` Pass rate: ${D(s.overallPassRate)}`),console.log(` Total time: ${o.gray(S(b))}`),console.log(` Avg time per validation: ${o.gray(S(s.avgDurationMs))}`),console.log("");let M=s.failureCount>0?1:0;await t(M)}catch(r){console.error(o.red(`
7
+ `)),console.log(` Total validations: ${o.white(s.results.length)}`),console.log(` Passed: ${o.green(s.successCount)}`),console.log(` Failed: ${o.red(s.failureCount)}`),console.log(` Pass rate: ${V(s.overallPassRate)}`),console.log(` Total time: ${o.gray(S(w))}`),console.log(` Avg time per validation: ${o.gray(S(s.avgDurationMs))}`),console.log("");let M=s.failureCount>0?1:0;await t(M)}catch(r){console.error(o.red(`
8
8
  Validation failed:`),r),await t(1)}}),c.command("list").description("List available P0 skills for validation").action(async()=>{console.log(o.blue(`
9
9
  P0 Skills (Trust Tier 3)
10
10
  `));for(let l of d)console.log(` ${o.green("*")} ${o.white(l)}`);console.log(o.gray(`
11
11
  Total: ${d.length} skills
12
12
  `)),console.log(o.cyan(` Default Models:
13
- `));for(let l of p)console.log(` ${o.blue("*")} ${o.white(l)}`);console.log(""),await t(0)}),c}function P(e){let t=e.toLowerCase().trim();return t==="hierarchical"||t==="mesh"?t:(console.log(o.yellow(` Warning: Invalid topology "${e}", using hierarchical`)),"hierarchical")}async function R(e){return h({sqlite:{dbPath:".agentic-qe/validation.db",walMode:!0},embeddings:{quantized:!0,enableCache:!0,maxCacheSize:5e3},enableLearning:!0,enableRouting:!0,enableGuidance:!1,hnsw:{M:16,efConstruction:200,efSearch:100},routingWeights:{similarity:.4,performance:.35,capabilities:.25}})}function T(e){let t={summary:{totalSkills:e.totalSkills,totalModels:e.totalModels,successCount:e.successCount,failureCount:e.failureCount,overallPassRate:e.overallPassRate,totalDurationMs:e.totalDurationMs,avgDurationMs:e.avgDurationMs,topology:e.topology},results:e.results.map(a=>({skill:a.skill,model:a.model,schemaValid:a.schemaValid,validatorPassed:a.validatorPassed,evalPassRate:a.evalPassRate,durationMs:a.durationMs,errors:a.errors,trustTier:a.trustTier,validationLevel:a.validationLevel,retryCount:a.retryCount,timestamp:a.timestamp.toISOString()}))};console.log(JSON.stringify(t,null,2))}function V(e,t){console.log(o.cyan(` Results by Skill:
14
- `));for(let[a,c]of e.bySkill){let l=c.filter(n=>n.errors.length===0&&n.evalPassRate>=.9).length,r=c.length,u=r>0?l/r:0,g=u>=.9?o.green("*"):u>=.7?o.yellow("!"):o.red("x");if(console.log(` ${g} ${o.white(a)}`),console.log(o.gray(` Pass rate: ${(u*100).toFixed(1)}% (${l}/${r})`)),t)for(let n of c){let m=n.errors.length===0?o.green("+"):o.red("-");if(console.log(` ${m} ${n.model}: ${(n.evalPassRate*100).toFixed(1)}% (${S(n.durationMs)})`),n.errors.length>0)for(let f of n.errors)console.log(o.red(` Error: ${f}`))}console.log("")}}function D(e){let t=`${(e*100).toFixed(1)}%`;return e>=.9?o.green(t):e>=.7?o.yellow(t):o.red(t)}function S(e){if(e<1e3)return`${Math.round(e)}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;let t=Math.floor(e/6e4),a=(e%6e4/1e3).toFixed(0);return`${t}m ${a}s`}export{_ as createValidateSwarmCommand};
13
+ `));for(let l of p)console.log(` ${o.blue("*")} ${o.white(l)}`);console.log(""),await t(0)}),c}function P(e){let t=e.toLowerCase().trim();return t==="hierarchical"||t==="mesh"?t:(console.log(o.yellow(` Warning: Invalid topology "${e}", using hierarchical`)),"hierarchical")}async function R(e){return k({sqlite:{dbPath:".agentic-qe/validation.db",walMode:!0},embeddings:{quantized:!0,enableCache:!0,maxCacheSize:5e3},enableLearning:!0,enableRouting:!0,enableGuidance:!1,hnsw:{M:16,efConstruction:200,efSearch:100},routingWeights:{similarity:.4,performance:.35,capabilities:.25}})}function T(e){let t={summary:{totalSkills:e.totalSkills,totalModels:e.totalModels,successCount:e.successCount,failureCount:e.failureCount,overallPassRate:e.overallPassRate,totalDurationMs:e.totalDurationMs,avgDurationMs:e.avgDurationMs,topology:e.topology},results:e.results.map(n=>({skill:n.skill,model:n.model,schemaValid:n.schemaValid,validatorPassed:n.validatorPassed,evalPassRate:n.evalPassRate,durationMs:n.durationMs,errors:n.errors,trustTier:n.trustTier,validationLevel:n.validationLevel,retryCount:n.retryCount,timestamp:n.timestamp.toISOString()}))};console.log(JSON.stringify(t,null,2))}function D(e,t){console.log(o.cyan(` Results by Skill:
14
+ `));for(let[n,c]of e.bySkill){let l=c.filter(a=>a.errors.length===0&&a.evalPassRate>=.9).length,r=c.length,u=r>0?l/r:0,g=u>=.9?o.green("*"):u>=.7?o.yellow("!"):o.red("x");if(console.log(` ${g} ${o.white(n)}`),console.log(o.gray(` Pass rate: ${(u*100).toFixed(1)}% (${l}/${r})`)),t)for(let a of c){let m=a.errors.length===0?o.green("+"):o.red("-");if(console.log(` ${m} ${a.model}: ${(a.evalPassRate*100).toFixed(1)}% (${S(a.durationMs)})`),a.errors.length>0)for(let f of a.errors)console.log(o.red(` Error: ${f}`))}console.log("")}}function V(e){let t=`${(e*100).toFixed(1)}%`;return e>=.9?o.green(t):e>=.7?o.yellow(t):o.red(t)}function S(e){if(e<1e3)return`${Math.round(e)}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;let t=Math.floor(e/6e4),n=(e%6e4/1e3).toFixed(0);return`${t}m ${n}s`}export{j as createValidateSwarmCommand};
@@ -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.10.1");process.exit(0)}
2
- import{c as t}from"./chunk-4AWJ5PE4.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{c as t}from"./chunk-CAMEFWRK.js";import{createRequire as o}from"module";var i,e,a,c,l,p,s,m,u,d,A,f,h,_,b,v,L,n=t(()=>{i=o(import.meta.url),e=i("vibium"),a=e,{RuvectorLayer:c,TensorCompress:l,differentiableSearch:p,hierarchicalForward:s,getCompressionLevel:m,init:u,FlashAttention:d,DotProductAttention:A,MultiHeadAttention:f,HyperbolicAttention:h,LinearAttention:_,MoEAttention:b,SonaEngine:v,pipeline:L}=e||{}});n();export{A as DotProductAttention,d as FlashAttention,h as HyperbolicAttention,_ as LinearAttention,b as MoEAttention,f as MultiHeadAttention,c as RuvectorLayer,v as SonaEngine,l as TensorCompress,a as default,p as differentiableSearch,m as getCompressionLevel,s as hierarchicalForward,u as init,L as pipeline};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a}from"./chunk-U7NMPZE2.js";import"./chunk-2EQVYYBF.js";import"./chunk-4QFAUSWQ.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-RTDHWOAG.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{a as VisualSecurityTool};
@@ -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.10.1");process.exit(0)}
2
- import"./chunk-4AWJ5PE4.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import"./chunk-CAMEFWRK.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b as pipeline};
@@ -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.10.1");process.exit(0)}
2
- import{b as u}from"./chunk-W6ZF2CPN.js";import{a as f,c as h}from"./chunk-2TDWCXZ6.js";import"./chunk-4AWJ5PE4.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{b as u}from"./chunk-YDDZJCKY.js";import{a as f,c as h}from"./chunk-3LRK7PYN.js";import"./chunk-CAMEFWRK.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
3
3
  `}catch{return t}}mergeExistingRules(e,t){try{let r=g(e,"utf-8");return r.includes("Agentic QE")||r.includes("fleet_init")?r:r.trimEnd()+`
4
4
 
5
5
  ---
@@ -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.10.1");process.exit(0)}
2
- import{a,b,c,d,e,f,g}from"./chunk-3YOPJ7DY.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f,g}from"./chunk-HQJMCTWN.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-5G5AAEFF.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{a as GENESIS_PREV_HASH,f as WitnessChain,i as _resetWitnessChainForTests,h as createWitnessChain,g as getWitnessChain,d as hashWith,e as serializeEntry,b as sha256,c as shake256};
@@ -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.10.1");process.exit(0)}
2
- import{b as $}from"./chunk-EO4B5GS4.js";import"./chunk-6LRCMFLV.js";import{d as R}from"./chunk-H44WD7QX.js";import{b as k,c as C,d as b}from"./chunk-IITKJCPK.js";import{c as W}from"./chunk-QNW335PD.js";import"./chunk-Y2DPXMOR.js";import"./chunk-2TDWCXZ6.js";import"./chunk-4AWJ5PE4.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{b as $}from"./chunk-CTDO2UB2.js";import"./chunk-XTP2GHI7.js";import{d as R}from"./chunk-6FL3GN4T.js";import{b as k,c as C,d as b}from"./chunk-YYAPO3CU.js";import{c as W}from"./chunk-KTRB3L53.js";import"./chunk-JD2PG4KS.js";import"./chunk-3LRK7PYN.js";import"./chunk-CAMEFWRK.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
3
3
  Running workflow from: ${t}
4
4
  `));let s=k(c);if(!s.success||!s.workflow){console.log(o.red("Failed to parse pipeline:"));for(let w of s.errors)console.log(o.red(` ${w}`));await a(1)}let r={...W(l.params,"params")};if(s.pipeline){for(let w of s.pipeline.stages)if(w.params)for(let[S,h]of Object.entries(w.params))r[S]=h}if(!d.workflowOrchestrator.getWorkflow(s.workflow.id)){let w=d.workflowOrchestrator.registerWorkflow(s.workflow);w.success||(console.log(o.red(`Failed to register workflow: ${w.error.message}`)),await a(1))}let n=await d.workflowOrchestrator.executeWorkflow(s.workflow.id,r);if(!n.success){console.log(o.red(`Failed to start workflow: ${n.error.message}`)),await a(1);return}let p=n.value;if(console.log(o.cyan(` Execution ID: ${p}`)),console.log(o.gray(` Workflow: ${s.workflow.name}`)),console.log(o.gray(` Stages: ${s.workflow.steps.length}`)),console.log(""),l.watch){console.log(o.blue(`Workflow Progress:
5
5
  `));let w,S=Date.now();for(;;){let g=d.workflowOrchestrator.getWorkflowStatus(p);if(!g)break;if(!w||w.progress!==g.progress||w.status!==g.status||JSON.stringify(w.currentSteps)!==JSON.stringify(g.currentSteps)){process.stdout.write("\r\x1B[K");let v="\u2588".repeat(Math.floor(g.progress/5))+"\u2591".repeat(20-Math.floor(g.progress/5)),D=g.status==="completed"?o.green:g.status==="failed"?o.red:g.status==="running"?o.yellow:o.gray;console.log(` [${v}] ${g.progress}% - ${D(g.status)}`),g.currentSteps.length>0&&l.verbose&&console.log(o.gray(` Running: ${g.currentSteps.join(", ")}`)),w=g}if(g.status==="completed"||g.status==="failed"||g.status==="cancelled")break;await new Promise(v=>setTimeout(v,500))}let h=d.workflowOrchestrator.getWorkflowStatus(p);if(h){console.log("");let g=h.duration||Date.now()-S;h.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(g)}`)),console.log(o.gray(` Completed: ${h.completedSteps.length} stages`)),h.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${h.skippedSteps.length} stages`))):h.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${h.error}`)),console.log(o.gray(` Failed stages: ${h.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${h.status}`))}}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${p}' to check progress`));console.log(""),await a(0)}catch(s){console.error(o.red(`
@@ -35,10 +35,10 @@ Workflow cancelled: ${t}
35
35
  `)):console.log(o.red(`
36
36
  Failed to cancel workflow: ${l.error.message}
37
37
  `)),await a(l.success?0:1)}catch(l){console.error(o.red(`
38
- Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-JX3M2UWG.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
38
+ Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-LNNXXAJG.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
39
39
  Browser Workflow Templates:
40
40
  `));for(let u of e.data.availableTemplates)console.log(` ${o.cyan(u)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await a(0)}catch(t){console.error(o.red(`
41
- Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-JX3M2UWG.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-EXDXVXKB.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
41
+ Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-LNNXXAJG.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-JLCYTIMT.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
42
42
  File not found: ${p}
43
43
  `)),await a(1)),f.workflowYaml=i.readFileSync(p,"utf-8")}else f.templateName=t;else console.log(o.red(`
44
44
  Provide a template name or --yaml. Use "workflow browser-list" to see templates.
@@ -0,0 +1,2 @@
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d}from"./chunk-VIWIO27R.js";import"./chunk-IRR7YA3Q.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-JD2PG4KS.js";import"./chunk-3LRK7PYN.js";import"./chunk-RTDHWOAG.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
@@ -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.10.1");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-GMKGLZJU.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-5EU2VQK3.js";import"./chunk-Q24OJX44.js";import"./chunk-GXJ4BCGC.js";import"./chunk-QNW335PD.js";import"./chunk-VPCE5CIT.js";import"./chunk-BGBSYF3K.js";import"./chunk-2TDWCXZ6.js";import"./chunk-XRK7FBTY.js";import"./chunk-PLRSKAFZ.js";import"./chunk-GRG3OP34.js";import"./chunk-XKOKMS5A.js";import"./chunk-2ETDES5W.js";import"./chunk-MVGVD6LS.js";import"./chunk-25QGPRWN.js";import"./chunk-KRXKU54J.js";import"./chunk-ELZ67OHQ.js";import"./chunk-4AWJ5PE4.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.3");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-VDTFRMES.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-UIJFU4KD.js";import"./chunk-USFZ4IJD.js";import"./chunk-R5ONQAQL.js";import"./chunk-KTRB3L53.js";import"./chunk-3VF3HCG4.js";import"./chunk-2L73WXA4.js";import"./chunk-3LRK7PYN.js";import"./chunk-L74CHKFR.js";import"./chunk-VRXY4T22.js";import"./chunk-JTZ3Q2QS.js";import"./chunk-7ZSPCGTI.js";import"./chunk-QWG76RHA.js";import"./chunk-3RZL4QTT.js";import"./chunk-NRCL3WCP.js";import"./chunk-HMFEPKAR.js";import"./chunk-YIYV2JB6.js";import"./chunk-CAMEFWRK.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
@@ -94,6 +94,12 @@ Examples:
94
94
  console.log(` Nodes created: ${chalk.white(idx.nodesCreated)}`);
95
95
  console.log(` Edges created: ${chalk.white(idx.edgesCreated)}`);
96
96
  console.log(` Duration: ${chalk.yellow(idx.duration + 'ms')}`);
97
+ if (idx.warnings && idx.warnings.length > 0) {
98
+ console.log(chalk.yellow(`\n Warnings (${idx.warnings.length}):`));
99
+ for (const w of idx.warnings) {
100
+ console.log(chalk.yellow(` ⚠ ${w}`));
101
+ }
102
+ }
97
103
  if (idx.errors.length > 0) {
98
104
  console.log(chalk.red(`\n Errors (${idx.errors.length}):`));
99
105
  for (const err of idx.errors.slice(0, 5)) {
@@ -248,7 +248,7 @@ export function registerCommandHooks(hooks) {
248
248
  .command('post-command')
249
249
  .description('Record Bash command outcome')
250
250
  .option('-c, --command <cmd>', 'Command that was executed')
251
- .option('--success <bool>', 'Whether command succeeded', 'true')
251
+ .option('--success [bool]', 'Whether command succeeded', 'true')
252
252
  .option('--exit-code <code>', 'Command exit code')
253
253
  .option('--json', 'Output as JSON')
254
254
  .action(async (options) => {
@@ -186,7 +186,7 @@ export function registerRoutingHooks(hooks) {
186
186
  hooks
187
187
  .command('post-route')
188
188
  .description('Close the most-recent route sentinel from a Stop hook (#451)')
189
- .option('--success <bool>', 'Whether the turn completed successfully', 'true')
189
+ .option('--success [bool]', 'Whether the turn completed successfully', 'true')
190
190
  .option('--json', 'Output as JSON')
191
191
  .action(async (options) => {
192
192
  try {
@@ -257,7 +257,7 @@ export function registerTaskHooks(hooks) {
257
257
  .command('post-task')
258
258
  .description('Record task outcome for pattern learning')
259
259
  .option('--task-id <id>', 'Task identifier')
260
- .option('--success <bool>', 'Whether task succeeded', 'true')
260
+ .option('--success [bool]', 'Whether task succeeded', 'true')
261
261
  .option('--agent <name>', 'Agent that executed the task')
262
262
  .option('--duration <ms>', 'Task duration in milliseconds')
263
263
  .option('-d, --description <desc>', 'Task description — fallback Q-state source when pre-task bridge is absent (issue #499)')
@@ -555,7 +555,7 @@ function registerBackupCommand(learning) {
555
555
  throw new Error(`No learning database found at: ${dbPath}`);
556
556
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
557
557
  const defaultOutput = path.join(process.cwd(), 'backups', `learning-${timestamp}.db`);
558
- let outputPath = options.output ? path.resolve(options.output) : defaultOutput;
558
+ const outputPath = options.output ? path.resolve(options.output) : defaultOutput;
559
559
  const backupDir = path.dirname(outputPath);
560
560
  if (!existsSync(backupDir))
561
561
  mkdirSync(backupDir, { recursive: true });
@@ -692,7 +692,7 @@ function registerVerifyCommand(learning) {
692
692
  const verificationResult = await verifyDatabaseIntegrity(dbPath);
693
693
  const schemaVersion = await getSchemaVersion(dbPath);
694
694
  const fileStats = await stat(dbPath);
695
- let tableCounts = {};
695
+ const tableCounts = {};
696
696
  try {
697
697
  const db = openDatabase(dbPath, { readonly: true });
698
698
  for (const table of ['qe_patterns', 'qe_trajectories', 'captured_experiences', 'kv_store', 'vectors']) {
@@ -829,7 +829,7 @@ function registerImportMergeCommand(learning) {
829
829
  .option('--json', 'Output as JSON')
830
830
  .action(async (options) => {
831
831
  try {
832
- let inputPath = path.resolve(options.input);
832
+ const inputPath = path.resolve(options.input);
833
833
  if (!existsSync(inputPath))
834
834
  throw new Error(`File not found: ${inputPath}`);
835
835
  let content;
@@ -1173,7 +1173,7 @@ function registerRepairCommand(learning) {
1173
1173
  }
1174
1174
  printInfo(`Corruption detected: ${integrityResult.message}`);
1175
1175
  // Step 2: Count rows before repair
1176
- let rowCountsBefore = {};
1176
+ const rowCountsBefore = {};
1177
1177
  try {
1178
1178
  const db = openDatabase(dbPath, { readonly: true });
1179
1179
  const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();
@@ -1264,7 +1264,7 @@ function registerRepairCommand(learning) {
1264
1264
  throw new Error(`Repaired DB still has integrity issues: ${repairedIntegrity.message}. Backup preserved at ${backupPath}`);
1265
1265
  }
1266
1266
  // Step 7: Verify row counts
1267
- let rowCountsAfter = {};
1267
+ const rowCountsAfter = {};
1268
1268
  const repairedDb = openDatabase(repairedPath, { readonly: true });
1269
1269
  const repairedTables = repairedDb.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();
1270
1270
  for (const t of repairedTables) {
@@ -534,7 +534,7 @@ async function checkProviderHealth(timeout) {
534
534
  }
535
535
  function findModel(modelId) {
536
536
  // Search by canonical ID first
537
- let model = DEFAULT_MODEL_MAPPINGS.find(m => m.canonicalId === modelId);
537
+ const model = DEFAULT_MODEL_MAPPINGS.find(m => m.canonicalId === modelId);
538
538
  if (model)
539
539
  return model;
540
540
  // Search by provider-specific ID
@@ -76,6 +76,7 @@ export function createWorkflowCommand(context, cleanupAndExit, ensureInitialized
76
76
  console.log(chalk.blue('Workflow Progress:\n'));
77
77
  let lastStatus;
78
78
  const startTime = Date.now();
79
+ // eslint-disable-next-line no-constant-condition -- polling loop; breaks internally
79
80
  while (true) {
80
81
  const status = context.workflowOrchestrator.getWorkflowStatus(executionId);
81
82
  if (!status)
@@ -99,7 +99,7 @@ export interface PatternMatchResult {
99
99
  export declare class NativeLearningProvider extends BaseModelProvider {
100
100
  readonly id = "native-learning";
101
101
  readonly name = "Native Learning (Local Patterns)";
102
- readonly type: 'custom';
102
+ readonly type: "custom";
103
103
  protected costPerToken: {
104
104
  input: number;
105
105
  output: number;