agentic-qe 3.10.7 → 3.10.9

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 (381) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +84 -0
  3. package/dist/cli/bundle.js +5 -5
  4. package/dist/cli/chunks/adapter-TRSV37EA.js +2 -0
  5. package/dist/cli/chunks/{agent-booster-wasm-6I3JMU2M.js → agent-booster-wasm-RPAOJXZ3.js} +2 -2
  6. package/dist/cli/chunks/{agent-handler-XWI7YM6R.js → agent-handler-SMD5CAS6.js} +2 -2
  7. package/dist/cli/chunks/{agent-memory-branch-QFZKQN2L.js → agent-memory-branch-3IOQIQ7Y.js} +2 -2
  8. package/dist/cli/chunks/aqe-learning-engine-CVJRJOSO.js +2 -0
  9. package/dist/cli/chunks/{arena-5HNPVTBZ.js → arena-AP2J62WO.js} +4 -4
  10. package/dist/cli/chunks/{arena-P4IUBKZP.js → arena-GT3D6EAO.js} +2 -2
  11. package/dist/cli/chunks/{audit-PBSH25VZ.js → audit-Q3GJ5354.js} +2 -2
  12. package/dist/cli/chunks/base-BX4A2D4V.js +2 -0
  13. package/dist/cli/chunks/{hnswlib-node-ILDTCGLZ.js → better-sqlite3-6A6EAXAT.js} +2 -2
  14. package/dist/cli/chunks/{brain-handler-EVYRCKXI.js → brain-handler-2Z4ILQF3.js} +3 -3
  15. package/dist/cli/chunks/{branch-enumerator-SUDGYJQJ.js → branch-enumerator-EZWGL4UM.js} +2 -2
  16. package/dist/cli/chunks/{browser-4UKMW2RE.js → browser-YZELFPLJ.js} +2 -2
  17. package/dist/cli/chunks/browser-workflow-O3RL7EYT.js +2 -0
  18. package/dist/cli/chunks/{chunk-QBVFONWU.js → chunk-246Z3PH6.js} +2 -2
  19. package/dist/cli/chunks/{chunk-B5ZJV7GZ.js → chunk-2I5QLMQF.js} +2 -2
  20. package/dist/cli/chunks/{chunk-AW3LGLC3.js → chunk-2K2X75UF.js} +2 -2
  21. package/dist/cli/chunks/{chunk-OW4LJ5HE.js → chunk-2WRVNEIR.js} +2 -2
  22. package/dist/cli/chunks/{chunk-EWNJK2BU.js → chunk-2WSEJHFQ.js} +1 -1
  23. package/dist/cli/chunks/{chunk-6RG7ZJ2H.js → chunk-352W5G4G.js} +2 -2
  24. package/dist/cli/chunks/{chunk-7NK2H7H5.js → chunk-3HT4CT6F.js} +2 -2
  25. package/dist/cli/chunks/{chunk-MDVJVY4C.js → chunk-3YKJGKOY.js} +4 -4
  26. package/dist/cli/chunks/{chunk-OPLLH67G.js → chunk-42FBJF73.js} +1 -1
  27. package/dist/cli/chunks/{chunk-IXAABYGS.js → chunk-4BB75U6N.js} +2 -2
  28. package/dist/cli/chunks/{chunk-LJHCPN4E.js → chunk-4D3LVXUD.js} +2 -2
  29. package/dist/cli/chunks/{chunk-VPBXVZWE.js → chunk-4EJTE5TL.js} +1 -1
  30. package/dist/cli/chunks/{chunk-I7M574IO.js → chunk-4MUZGQPE.js} +2 -2
  31. package/dist/cli/chunks/{chunk-M7SO5KNJ.js → chunk-57XCLC55.js} +2 -2
  32. package/dist/cli/chunks/{chunk-QBVS4CXM.js → chunk-5HLOQEKL.js} +1 -1
  33. package/dist/cli/chunks/{chunk-XWPUCPYW.js → chunk-5U5SEO7C.js} +2 -2
  34. package/dist/cli/chunks/{chunk-YB4GXJJG.js → chunk-5X73HV2P.js} +1 -1
  35. package/dist/cli/chunks/{chunk-OSETFZVE.js → chunk-62MH7QAQ.js} +2 -2
  36. package/dist/cli/chunks/{chunk-64BSODHA.js → chunk-6HPI6YX3.js} +2 -2
  37. package/dist/cli/chunks/{chunk-SG6O3PXZ.js → chunk-6TR3OM7C.js} +2 -2
  38. package/dist/cli/chunks/{chunk-FQBNPSV2.js → chunk-757YHKIJ.js} +2 -2
  39. package/dist/cli/chunks/{chunk-JJELOEIY.js → chunk-7C5HI4ZA.js} +4 -4
  40. package/dist/cli/chunks/chunk-7D5JE46U.js +2 -0
  41. package/dist/cli/chunks/{chunk-L2ZSYIDA.js → chunk-7NT34MLU.js} +1 -1
  42. package/dist/cli/chunks/{chunk-6QBD64W3.js → chunk-7PYEJ4NV.js} +2 -2
  43. package/dist/cli/chunks/{chunk-ISLI6D4K.js → chunk-7S6D5K4X.js} +2 -2
  44. package/dist/cli/chunks/chunk-ABJPFKHE.js +2 -0
  45. package/dist/cli/chunks/{chunk-LEZ2MGHM.js → chunk-ABVBHH7P.js} +3 -3
  46. package/dist/cli/chunks/{chunk-V7WBNB2S.js → chunk-AHUX7QSE.js} +2 -2
  47. package/dist/cli/chunks/{chunk-DPT37UHR.js → chunk-AU4DQMLJ.js} +4 -4
  48. package/dist/cli/chunks/{chunk-MOI74MMX.js → chunk-BG2FN5K2.js} +2 -2
  49. package/dist/cli/chunks/{chunk-JNQVPTOM.js → chunk-BM52ZEAD.js} +2 -2
  50. package/dist/cli/chunks/{chunk-BLFZFKT6.js → chunk-BSMUT672.js} +2 -2
  51. package/dist/cli/chunks/{chunk-34NT5NBZ.js → chunk-BVEQPMOF.js} +2 -2
  52. package/dist/cli/chunks/{chunk-QLVZEEPR.js → chunk-BYVARYGB.js} +2 -2
  53. package/dist/cli/chunks/{chunk-QDBFB4XD.js → chunk-C6GQIUKW.js} +2 -2
  54. package/dist/cli/chunks/{chunk-X6OJFP7G.js → chunk-C6JULAWA.js} +2 -2
  55. package/dist/cli/chunks/{chunk-76SUEI7S.js → chunk-CDJIYJIA.js} +1 -1
  56. package/dist/cli/chunks/{chunk-2J4ZUUU5.js → chunk-CLJNAQXB.js} +2 -2
  57. package/dist/cli/chunks/{chunk-DU7Y54JI.js → chunk-CLSHSVMY.js} +1 -1
  58. package/dist/cli/chunks/{chunk-O4B6FFC5.js → chunk-CREORFJV.js} +1 -1
  59. package/dist/cli/chunks/{chunk-S4NNQE4L.js → chunk-CVRTXIYP.js} +1 -1
  60. package/dist/cli/chunks/{chunk-TTLAWPEN.js → chunk-CWRSQQHV.js} +2 -2
  61. package/dist/cli/chunks/{chunk-R2B6EQQF.js → chunk-D2JCSWYM.js} +2 -2
  62. package/dist/cli/chunks/{chunk-Z44VJC5U.js → chunk-D7NWDUY3.js} +2 -2
  63. package/dist/cli/chunks/chunk-DK6WWNCL.js +2 -0
  64. package/dist/cli/chunks/{chunk-X3HRJV65.js → chunk-DNE6MVNA.js} +1 -1
  65. package/dist/cli/chunks/{chunk-UURGDFGU.js → chunk-DZWZASDV.js} +1 -1
  66. package/dist/cli/chunks/{chunk-L6NB4UHR.js → chunk-EL6F72JN.js} +2 -2
  67. package/dist/cli/chunks/{chunk-G7ISGLKP.js → chunk-EYGRNXQT.js} +1 -1
  68. package/dist/cli/chunks/{chunk-K6A3AWUI.js → chunk-FALB6Z2Y.js} +1 -1
  69. package/dist/cli/chunks/{chunk-TXXRBNOB.js → chunk-FD37QFXW.js} +1 -1
  70. package/dist/cli/chunks/{chunk-MWRKNBSY.js → chunk-G4KVGUQN.js} +2 -2
  71. package/dist/cli/chunks/{chunk-32E2OPIE.js → chunk-G7V2HDTH.js} +3 -3
  72. package/dist/cli/chunks/{chunk-YMBPKBKG.js → chunk-GPALZJD3.js} +1 -1
  73. package/dist/cli/chunks/{chunk-3IJS52OS.js → chunk-H4SHHYRD.js} +2 -2
  74. package/dist/cli/chunks/{chunk-3XEL7XCA.js → chunk-H7AQ7M3J.js} +1 -1
  75. package/dist/cli/chunks/{chunk-CW7JQVXV.js → chunk-HAC7NB6R.js} +2 -2
  76. package/dist/cli/chunks/{chunk-KXENXRZE.js → chunk-HGKZOSAI.js} +1 -1
  77. package/dist/cli/chunks/{chunk-L3EQQMFI.js → chunk-HQZX4XYH.js} +2 -2
  78. package/dist/cli/chunks/{chunk-LFSQSLNP.js → chunk-HZSYCVLC.js} +2 -2
  79. package/dist/cli/chunks/{chunk-2JWFS2K2.js → chunk-I5C7O5IQ.js} +2 -2
  80. package/dist/cli/chunks/{chunk-LSHUPEQQ.js → chunk-I7RTTJH5.js} +2 -2
  81. package/dist/cli/chunks/{chunk-R7KIC6TL.js → chunk-ILPIH4Z6.js} +1 -1
  82. package/dist/cli/chunks/{chunk-262F3EMN.js → chunk-IR7PJUO7.js} +2 -2
  83. package/dist/cli/chunks/{chunk-MMR23KAO.js → chunk-J6GKKXCP.js} +2 -2
  84. package/dist/cli/chunks/{chunk-INI3AGF5.js → chunk-JZNMU63B.js} +2 -2
  85. package/dist/cli/chunks/{chunk-J5ETX2DG.js → chunk-K23XK33X.js} +2 -2
  86. package/dist/cli/chunks/{chunk-S423UHYM.js → chunk-KAMFT25W.js} +2 -2
  87. package/dist/cli/chunks/{chunk-AKSCYNFH.js → chunk-KJA5A3TV.js} +2 -2
  88. package/dist/cli/chunks/{chunk-76JYG426.js → chunk-KRAWWBX5.js} +2 -2
  89. package/dist/cli/chunks/{chunk-4RGV6Z2H.js → chunk-L5IO7QNO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-HBWAMCVB.js → chunk-L5NEEGKO.js} +14 -14
  91. package/dist/cli/chunks/{chunk-BRYYQQUV.js → chunk-LHKQW72O.js} +1 -1
  92. package/dist/cli/chunks/{chunk-BPC6X6VR.js → chunk-LT6QHDPK.js} +2 -2
  93. package/dist/cli/chunks/{chunk-HARYQMWN.js → chunk-MDED3HJI.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HDLF6LGO.js → chunk-NLUWPS2H.js} +3 -3
  95. package/dist/cli/chunks/{chunk-CGBEI7UH.js → chunk-NMQEU4BG.js} +2 -2
  96. package/dist/cli/chunks/{chunk-K6IU2MV4.js → chunk-NOWGQ6YZ.js} +1 -1
  97. package/dist/cli/chunks/{chunk-YLXUF5KW.js → chunk-NYBAH76S.js} +3 -3
  98. package/dist/cli/chunks/{chunk-TIUC5LRA.js → chunk-O36VC7B7.js} +2 -2
  99. package/dist/cli/chunks/{chunk-3O4Q4GAX.js → chunk-OD4OIPXO.js} +15 -13
  100. package/dist/cli/chunks/{chunk-LUZH2IZY.js → chunk-OF3EMOWN.js} +2 -2
  101. package/dist/cli/chunks/{chunk-AKL5A3IZ.js → chunk-OIN3Y4BY.js} +1 -1
  102. package/dist/cli/chunks/chunk-OPKEQYAC.js +2 -0
  103. package/dist/cli/chunks/{chunk-TY7XPI6R.js → chunk-OQUH7657.js} +2 -2
  104. package/dist/cli/chunks/{chunk-F5RZSNHI.js → chunk-OSP5AJAB.js} +2 -2
  105. package/dist/cli/chunks/{chunk-6A2HRMTD.js → chunk-PFGH7TWL.js} +2 -2
  106. package/dist/cli/chunks/{chunk-MK73CCKO.js → chunk-PYQZ4OA3.js} +2 -2
  107. package/dist/cli/chunks/{chunk-BU2I77YW.js → chunk-QAP5S7YC.js} +3 -3
  108. package/dist/cli/chunks/{chunk-JNXPRDNV.js → chunk-QE3CZGAC.js} +3 -3
  109. package/dist/cli/chunks/{chunk-5QMIVHFT.js → chunk-QFIKEZB5.js} +2 -2
  110. package/dist/cli/chunks/{chunk-AY4IEMRI.js → chunk-QHICG2NI.js} +2 -2
  111. package/dist/cli/chunks/{chunk-4I6FK67T.js → chunk-QHPLU5BU.js} +3 -3
  112. package/dist/cli/chunks/{chunk-HI4DA7Z3.js → chunk-QL6ZJ7RV.js} +2 -2
  113. package/dist/cli/chunks/{chunk-FK4JHBG4.js → chunk-QL7OOCPO.js} +2 -2
  114. package/dist/cli/chunks/{chunk-6OLPKIYU.js → chunk-QWXJRZEH.js} +1 -1
  115. package/dist/cli/chunks/{chunk-S7FNTWFM.js → chunk-R2M3RMCN.js} +2 -2
  116. package/dist/cli/chunks/{chunk-NKYMHEHY.js → chunk-RHOBDQXA.js} +2 -2
  117. package/dist/cli/chunks/{chunk-6F5KPT6U.js → chunk-RRSJ7BMF.js} +1 -1
  118. package/dist/cli/chunks/{chunk-RLXCFURS.js → chunk-RSWQY4NZ.js} +2 -2
  119. package/dist/cli/chunks/{chunk-UPDPD43T.js → chunk-S73EBPI5.js} +2 -2
  120. package/dist/cli/chunks/{chunk-OMDV6GFP.js → chunk-TIR3Z6TE.js} +1 -1
  121. package/dist/cli/chunks/{chunk-UVUVWA4B.js → chunk-TKZABUHO.js} +1 -1
  122. package/dist/cli/chunks/{chunk-4MJQJQLY.js → chunk-TOGD2JH2.js} +2 -2
  123. package/dist/cli/chunks/{chunk-QMGNYRR5.js → chunk-TVU6NMO3.js} +3 -3
  124. package/dist/cli/chunks/{chunk-C5CY5NSW.js → chunk-TXWUV3S5.js} +2 -2
  125. package/dist/cli/chunks/{chunk-3W6QASVB.js → chunk-U6TZVACK.js} +2 -2
  126. package/dist/cli/chunks/{chunk-L5UUUSSB.js → chunk-UJBIHPU5.js} +1 -1
  127. package/dist/cli/chunks/{chunk-FWLXK6AH.js → chunk-UPGKS6Z3.js} +2 -2
  128. package/dist/cli/chunks/{chunk-SLASYVNX.js → chunk-UU7OCRZM.js} +2 -2
  129. package/dist/cli/chunks/{chunk-WCXQA24H.js → chunk-UUA2NVUN.js} +8 -8
  130. package/dist/cli/chunks/{chunk-IYZWEYWJ.js → chunk-UX4UHYLE.js} +1 -1
  131. package/dist/cli/chunks/{chunk-V3KNHI5B.js → chunk-VDL277DX.js} +2 -2
  132. package/dist/cli/chunks/{chunk-RJBCIN2G.js → chunk-VHCHBMZC.js} +2 -2
  133. package/dist/cli/chunks/{chunk-222ZQTL5.js → chunk-VHYNRISI.js} +2 -2
  134. package/dist/cli/chunks/{chunk-4W5QWFU4.js → chunk-VIHFC67B.js} +1 -1
  135. package/dist/cli/chunks/{chunk-DYNO72WD.js → chunk-WOGWIMQK.js} +2 -2
  136. package/dist/cli/chunks/{chunk-SFW6IDMR.js → chunk-WPBVLIWQ.js} +10 -10
  137. package/dist/cli/chunks/{chunk-CJTDQJ7E.js → chunk-WWGGL3TR.js} +1 -1
  138. package/dist/cli/chunks/{chunk-2MLISLRR.js → chunk-X6YUGKMM.js} +1 -1
  139. package/dist/cli/chunks/{chunk-PY3HWJRJ.js → chunk-X7677BX3.js} +2 -2
  140. package/dist/cli/chunks/{chunk-MRLGQX7Y.js → chunk-XEMP2PNW.js} +2 -2
  141. package/dist/cli/chunks/{chunk-YBM4LUSF.js → chunk-XLK4GP3I.js} +2 -2
  142. package/dist/cli/chunks/chunk-XYRJL7YN.js +2 -0
  143. package/dist/cli/chunks/{chunk-OAXDI4XM.js → chunk-YB3PQ3UV.js} +1 -1
  144. package/dist/cli/chunks/{chunk-GUDOOOO6.js → chunk-YHFCLJMY.js} +1 -1
  145. package/dist/cli/chunks/{chunk-HELQ7CXL.js → chunk-YQBL5XTM.js} +1 -1
  146. package/dist/cli/chunks/chunk-Z6FRNWQA.js +6 -0
  147. package/dist/cli/chunks/{chunk-U7EGKKN3.js → chunk-ZT2DGSIO.js} +2 -2
  148. package/dist/cli/chunks/{chunk-DYSRMAZP.js → chunk-ZVF7QY4R.js} +1 -1
  149. package/dist/cli/chunks/{ci-OO42YBET.js → ci-KDEFR2X3.js} +2 -2
  150. package/dist/cli/chunks/{ci-output-YXMTEX7Q.js → ci-output-Z3WXRRFI.js} +2 -2
  151. package/dist/cli/chunks/{circuit-breaker-EHA4N643.js → circuit-breaker-GS44DEW2.js} +2 -2
  152. package/dist/cli/chunks/{claude-flow-setup-E6G6SLYI.js → claude-flow-setup-OHVMHAAH.js} +2 -2
  153. package/dist/cli/chunks/client-T263ZXVV.js +2 -0
  154. package/dist/cli/chunks/cline-installer-5TCF4MZD.js +4 -0
  155. package/dist/cli/chunks/{code-Q3U6XDOO.js → code-3KCGTG7Z.js} +2 -2
  156. package/dist/cli/chunks/{code-index-extractor-BK2DC4MO.js → code-index-extractor-LJBI54MZ.js} +2 -2
  157. package/dist/cli/chunks/codex-installer-IB62Z6LA.js +8 -0
  158. package/dist/cli/chunks/{completions-TZ5F33TA.js → completions-JDXX7KKB.js} +2 -2
  159. package/dist/cli/chunks/{complexity-analyzer-N7U4V7ID.js → complexity-analyzer-6JVDXXXP.js} +2 -2
  160. package/dist/cli/chunks/continuedev-installer-PUB45QVR.js +15 -0
  161. package/dist/cli/chunks/copilot-installer-QWJ36P22.js +3 -0
  162. package/dist/cli/chunks/core-handlers-ODKKGCFK.js +2 -0
  163. package/dist/cli/chunks/{cost-tracker-ZTIDLUFW.js → cost-tracker-J3KEJDL5.js} +2 -2
  164. package/dist/cli/chunks/{coverage-6G7T7TRQ.js → coverage-FWKRI2EY.js} +3 -3
  165. package/dist/cli/chunks/cross-domain-router-APU725GC.js +2 -0
  166. package/dist/cli/chunks/cursor-installer-2HYCUCTH.js +3 -0
  167. package/dist/cli/chunks/{daemon-KTXGJJRI.js → daemon-BVP66DIZ.js} +4 -4
  168. package/dist/cli/chunks/{daemon-5A4GD6XA.js → daemon-G3DBRWDQ.js} +3 -3
  169. package/dist/cli/chunks/{dag-attention-scheduler-4CUEQZD6.js → dag-attention-scheduler-2AQLNB4B.js} +2 -2
  170. package/dist/cli/chunks/{detect-I32JUSUE.js → detect-RUM5SHNE.js} +2 -2
  171. package/dist/cli/chunks/{dist-node-7ITNV6QS.js → dist-node-GX7MJHFT.js} +2 -2
  172. package/dist/cli/chunks/{domain-handler-LIFCXSZ4.js → domain-handler-OFBGZ2U5.js} +2 -2
  173. package/dist/cli/chunks/{domain-transfer-67UWLHSK.js → domain-transfer-6CGRPRGR.js} +2 -2
  174. package/dist/cli/chunks/dream-PJ5GKY3J.js +2 -0
  175. package/dist/cli/chunks/{embed-and-insert-pattern-4WC5RUD6.js → embed-and-insert-pattern-MUOEVQX2.js} +2 -2
  176. package/dist/cli/chunks/{eval-DLS2UAQ2.js → eval-SJMG67DE.js} +2 -2
  177. package/dist/cli/chunks/{experience-capture-middleware-VG5E6OJA.js → experience-capture-middleware-ICKN6IXX.js} +3 -3
  178. package/dist/cli/chunks/{fast-paths-262IVHDN.js → fast-paths-HXLBG3J4.js} +2 -2
  179. package/dist/cli/chunks/{feature-flags-L3K7DBN3.js → feature-flags-CRUB2ASU.js} +2 -2
  180. package/dist/cli/chunks/{feature-flags-JJ3FHZGD.js → feature-flags-JYZSSQJC.js} +2 -2
  181. package/dist/cli/chunks/{file-discovery-Q3PBKVUW.js → file-discovery-YHHC7NTJ.js} +2 -2
  182. package/dist/cli/chunks/{fleet-LQ5S2YHG.js → fleet-2VGDL4YL.js} +3 -3
  183. package/dist/cli/chunks/{gnn-wrapper-I33Z537H.js → gnn-wrapper-7ZAGD4S4.js} +2 -2
  184. package/dist/cli/chunks/{heartbeat-handler-RYIRAGZ7.js → heartbeat-handler-HAW3JRHN.js} +4 -4
  185. package/dist/cli/chunks/heartbeat-scheduler-4ZHUIW3Q.js +2 -0
  186. package/dist/cli/chunks/hnsw-adapter-UVJJ6TTP.js +2 -0
  187. package/dist/cli/chunks/hnsw-index-K6HS34JZ.js +2 -0
  188. package/dist/cli/chunks/{hnsw-legacy-bridge-SSENBBPR.js → hnsw-legacy-bridge-BO325POX.js} +2 -2
  189. package/dist/cli/chunks/{better-sqlite3-F262IAGH.js → hnswlib-node-YTK7S7GL.js} +2 -2
  190. package/dist/cli/chunks/{hooks-LR5KQMN5.js → hooks-HKM3JTFQ.js} +10 -10
  191. package/dist/cli/chunks/hybrid-router-25S7OH2Y.js +2 -0
  192. package/dist/cli/chunks/{hypergraph-engine-NDZA2DKP.js → hypergraph-engine-LGLGHK6B.js} +2 -2
  193. package/dist/cli/chunks/{hypergraph-handler-ADMWVHBT.js → hypergraph-handler-6QDVREZA.js} +3 -3
  194. package/dist/cli/chunks/impact-analyzer-UP4RDMJH.js +2 -0
  195. package/dist/cli/chunks/init-handler-XUQ7XHIE.js +74 -0
  196. package/dist/cli/chunks/init-wizard-2PAJ3GEC.js +2 -0
  197. package/dist/cli/chunks/kernel-7WOQGMMT.js +2 -0
  198. package/dist/cli/chunks/kilocode-installer-6CEZLVIX.js +4 -0
  199. package/dist/cli/chunks/{kiro-installer-TINLYZ22.js → kiro-installer-6CJGATOS.js} +4 -4
  200. package/dist/cli/chunks/knowledge-graph-FN2AWHGR.js +2 -0
  201. package/dist/cli/chunks/{learning-KBT3S5WW.js → learning-EIYTYZJY.js} +3 -3
  202. package/dist/cli/chunks/{llm-router-2MX5LUAB.js → llm-router-J4CI7VHU.js} +4 -4
  203. package/dist/cli/chunks/llm-router-service-C3UPBAS3.js +2 -0
  204. package/dist/cli/chunks/{load-IQWTGMLZ.js → load-CQPWGLQQ.js} +2 -2
  205. package/dist/cli/chunks/load-test-PQSGLDXJ.js +2 -0
  206. package/dist/cli/chunks/mcp-THOATWCO.js +2 -0
  207. package/dist/cli/chunks/{memory-XQVPI4UT.js → memory-NZHMHMRK.js} +5 -5
  208. package/dist/cli/chunks/memory-backend-6FR4RT5O.js +2 -0
  209. package/dist/cli/chunks/{memory-handlers-XD7MSFUN.js → memory-handlers-L2J54AQE.js} +2 -2
  210. package/dist/cli/chunks/{multi-model-executor-JC63UCWG.js → multi-model-executor-3P5E773H.js} +2 -2
  211. package/dist/cli/chunks/opencode-installer-IRZMKSNG.js +15 -0
  212. package/dist/cli/chunks/{orchestrator-B75QWJUF.js → orchestrator-UADLXTKP.js} +18 -18
  213. package/dist/cli/chunks/pattern-null-store-B2UX4NZY.js +2 -0
  214. package/dist/cli/chunks/{pipeline-TCBQ2UTZ.js → pipeline-QEH3XHXJ.js} +2 -2
  215. package/dist/cli/chunks/{platform-T43AYI3Z.js → platform-NEZ3NXLT.js} +2 -2
  216. package/dist/cli/chunks/{plugin-MSI3ZU3Z.js → plugin-O33HR2VO.js} +2 -2
  217. package/dist/cli/chunks/{prime-radiant-advanced-wasm-V62CWI6M.js → prime-radiant-advanced-wasm-MBUMFEX7.js} +2 -2
  218. package/dist/cli/chunks/protocol-executor-OQ6SL7SR.js +2 -0
  219. package/dist/cli/chunks/{protocol-handler-OH2INET2.js → protocol-handler-L455UOUT.js} +2 -2
  220. package/dist/cli/chunks/{prove-6PTMXMUL.js → prove-3XA3SMAA.js} +2 -2
  221. package/dist/cli/chunks/provider-manager-DQWHW2RG.js +2 -0
  222. package/dist/cli/chunks/qe-reasoning-bank-3JS2CZAE.js +2 -0
  223. package/dist/cli/chunks/{quality-PLNQN5GU.js → quality-H6Z5JH5B.js} +2 -2
  224. package/dist/cli/chunks/queen-coordinator-KXCWEM3Y.js +2 -0
  225. package/dist/cli/chunks/{real-embeddings-OW4OKR77.js → real-embeddings-5DNJ4KEM.js} +2 -2
  226. package/dist/cli/chunks/roocode-installer-KHXKR2FK.js +4 -0
  227. package/dist/cli/chunks/router-OVLIKT55.js +2 -0
  228. package/dist/cli/chunks/routing-feedback-2BYCXNXX.js +2 -0
  229. package/dist/cli/chunks/{routing-handler-CKFXXPMI.js → routing-handler-WAMGESEM.js} +2 -2
  230. package/dist/cli/chunks/{ruvector-commands-GERRPTJL.js → ruvector-commands-4J7XC6XY.js} +2 -2
  231. package/dist/cli/chunks/{rvf-dual-writer-5FAB2QPA.js → rvf-dual-writer-3PZEN6XN.js} +2 -2
  232. package/dist/cli/chunks/{rvf-migration-adapter-46COKWYB.js → rvf-migration-adapter-OIUNRQSU.js} +2 -2
  233. package/dist/cli/chunks/{rvf-migration-coordinator-AJVRWSNC.js → rvf-migration-coordinator-QZXDI4I5.js} +2 -2
  234. package/dist/cli/chunks/rvf-native-adapter-YNUYOQ5C.js +2 -0
  235. package/dist/cli/chunks/safe-db-6TYYEU7C.js +2 -0
  236. package/dist/cli/chunks/schedule-XVH7RTVY.js +2 -0
  237. package/dist/cli/chunks/scheduler-DHZBN5HA.js +2 -0
  238. package/dist/cli/chunks/{security-Q622IVRB.js → security-5NY77AMD.js} +3 -3
  239. package/dist/cli/chunks/{shared-rvf-adapter-EST24R3R.js → shared-rvf-adapter-MHPUZIMW.js} +2 -2
  240. package/dist/cli/chunks/{shared-rvf-dual-writer-CP6EXKBT.js → shared-rvf-dual-writer-ITLDYHCX.js} +2 -2
  241. package/dist/cli/chunks/sqlite-persistence-NR5WXTPN.js +2 -0
  242. package/dist/cli/chunks/{status-handler-LLRQB4E2.js → status-handler-7RBRIXZD.js} +2 -2
  243. package/dist/cli/chunks/{structural-health-BUFWTNN2.js → structural-health-MQPY6GA6.js} +2 -2
  244. package/dist/cli/chunks/{sync-JDG4SNT5.js → sync-66KCEANE.js} +2 -2
  245. package/dist/cli/chunks/{sync-RDL2RUOV.js → sync-USVQTHKN.js} +2 -2
  246. package/dist/cli/chunks/{task-handler-KPP6ZXA6.js → task-handler-4UI4FPPW.js} +2 -2
  247. package/dist/cli/chunks/{task-handlers-MRK2BQWI.js → task-handlers-KRII3GVV.js} +3 -3
  248. package/dist/cli/chunks/{test-7NYFTHRY.js → test-JHN2MVEG.js} +4 -4
  249. package/dist/cli/chunks/{test-scheduling-LGPKDMWD.js → test-scheduling-ZWTEGS3S.js} +3 -3
  250. package/dist/cli/chunks/{token-bootstrap-H5JHB7TD.js → token-bootstrap-YWXL6AS5.js} +2 -2
  251. package/dist/cli/chunks/{token-usage-TWPDS5U3.js → token-usage-INII2XM3.js} +2 -2
  252. package/dist/cli/chunks/{transformers-GRNPPUHM.js → transformers-DVFGDNZC.js} +2 -2
  253. package/dist/cli/chunks/{tree-sitter-wasm-parser-DOH5F6TO.js → tree-sitter-wasm-parser-W2XJT3XF.js} +2 -2
  254. package/dist/cli/chunks/{types-NYV3YKE3.js → types-GBZ5Q2GP.js} +2 -2
  255. package/dist/cli/chunks/unified-memory-WJEZ5YAK.js +2 -0
  256. package/dist/cli/chunks/unified-memory-hnsw-6ZA2PMYO.js +2 -0
  257. package/dist/cli/chunks/unified-persistence-SWH6R7MA.js +2 -0
  258. package/dist/cli/chunks/{upgrade-GDJMRYAT.js → upgrade-2JEXEGQX.js} +2 -2
  259. package/dist/cli/chunks/{validate-SIRFOPPM.js → validate-GDCM5YTS.js} +2 -2
  260. package/dist/cli/chunks/{validate-swarm-XGMJYR6X.js → validate-swarm-QZ5RSJEU.js} +2 -2
  261. package/dist/cli/chunks/{vibium-NP6ENRKV.js → vibium-I5BMT734.js} +2 -2
  262. package/dist/cli/chunks/visual-security-PH5JQZCZ.js +2 -0
  263. package/dist/cli/chunks/{web-tree-sitter-YDBWPYZD.js → web-tree-sitter-3QY2LMLP.js} +2 -2
  264. package/dist/cli/chunks/windsurf-installer-V7OBPLOB.js +7 -0
  265. package/dist/cli/chunks/{witness-chain-YHLBWQQ3.js → witness-chain-BNJ4VSZX.js} +2 -2
  266. package/dist/cli/chunks/witness-chain-WYMBNGSL.js +2 -0
  267. package/dist/cli/chunks/{workflow-TA6RY7R5.js → workflow-3FJSNLPI.js} +4 -4
  268. package/dist/cli/chunks/workflow-orchestrator-56JIXCI4.js +2 -0
  269. package/dist/cli/chunks/{wrappers-DS77IK4H.js → wrappers-ERTQNIPK.js} +2 -2
  270. package/dist/cli/commands/mcp.js +28 -28
  271. package/dist/cli/handlers/init-handler.d.ts +4 -0
  272. package/dist/cli/handlers/init-handler.js +50 -1
  273. package/dist/coordination/result-saver.js +4 -0
  274. package/dist/domains/code-intelligence/coordinator-hypergraph.js +9 -4
  275. package/dist/domains/code-intelligence/coordinator.js +9 -4
  276. package/dist/init/cline-installer.d.ts +6 -0
  277. package/dist/init/cline-installer.js +3 -1
  278. package/dist/init/codex-installer.d.ts +6 -0
  279. package/dist/init/codex-installer.js +3 -1
  280. package/dist/init/continuedev-installer.d.ts +6 -0
  281. package/dist/init/continuedev-installer.js +10 -3
  282. package/dist/init/copilot-installer.d.ts +6 -0
  283. package/dist/init/copilot-installer.js +3 -1
  284. package/dist/init/cursor-installer.d.ts +6 -0
  285. package/dist/init/cursor-installer.js +3 -1
  286. package/dist/init/kilocode-installer.d.ts +6 -0
  287. package/dist/init/kilocode-installer.js +3 -1
  288. package/dist/init/kiro-installer.d.ts +5 -0
  289. package/dist/init/kiro-installer.js +4 -4
  290. package/dist/init/opencode-installer.d.ts +39 -17
  291. package/dist/init/opencode-installer.js +166 -114
  292. package/dist/init/orchestrator.js +2 -0
  293. package/dist/init/phases/04-database.d.ts +5 -0
  294. package/dist/init/phases/04-database.js +7 -0
  295. package/dist/init/phases/05-learning.js +3 -0
  296. package/dist/init/phases/06-code-intelligence.js +6 -0
  297. package/dist/init/phases/07-hooks.js +5 -0
  298. package/dist/init/phases/08-mcp.js +34 -7
  299. package/dist/init/phases/09-assets.js +35 -28
  300. package/dist/init/phases/10-workers.js +4 -0
  301. package/dist/init/phases/11-claude-md.d.ts +1 -0
  302. package/dist/init/phases/11-claude-md.js +8 -0
  303. package/dist/init/phases/12-verification.js +10 -5
  304. package/dist/init/phases/13-governance.js +5 -0
  305. package/dist/init/phases/phase-interface.d.ts +14 -0
  306. package/dist/init/platform-config-generator.d.ts +3 -1
  307. package/dist/init/platform-config-generator.js +31 -17
  308. package/dist/init/roocode-installer.d.ts +6 -0
  309. package/dist/init/roocode-installer.js +3 -1
  310. package/dist/init/windsurf-installer.d.ts +6 -0
  311. package/dist/init/windsurf-installer.js +3 -1
  312. package/dist/integrations/ruvector/rvf-native-adapter.js +8 -0
  313. package/dist/integrations/ruvector/shared-rvf-dual-writer.js +5 -0
  314. package/dist/kernel/kernel.js +4 -2
  315. package/dist/kernel/unified-memory.js +66 -48
  316. package/dist/learning/rvf-pattern-store.js +8 -0
  317. package/dist/mcp/bundle.js +361 -358
  318. package/dist/mcp/entry.js +52 -6
  319. package/dist/mcp/handlers/core-handlers.js +7 -2
  320. package/dist/mcp/protocol-server.js +27 -1
  321. package/dist/mcp/services/session-store.d.ts +1 -0
  322. package/dist/mcp/services/session-store.js +7 -0
  323. package/dist/mcp/tools/base.d.ts +6 -0
  324. package/dist/mcp/tools/base.js +16 -0
  325. package/dist/optimization/session-cache.d.ts +11 -0
  326. package/dist/optimization/session-cache.js +31 -0
  327. package/package.json +7 -5
  328. package/dist/cli/chunks/adapter-TTIBYXH2.js +0 -2
  329. package/dist/cli/chunks/aqe-learning-engine-CTV5OLSN.js +0 -2
  330. package/dist/cli/chunks/base-ISNCJZ7A.js +0 -2
  331. package/dist/cli/chunks/browser-workflow-OD32QTTI.js +0 -2
  332. package/dist/cli/chunks/chunk-DF7V6X3N.js +0 -2
  333. package/dist/cli/chunks/chunk-I64BLAFS.js +0 -2
  334. package/dist/cli/chunks/chunk-LHZYTNOQ.js +0 -6
  335. package/dist/cli/chunks/chunk-LRRQEAP5.js +0 -2
  336. package/dist/cli/chunks/chunk-XCYPVJ34.js +0 -2
  337. package/dist/cli/chunks/chunk-XK7P7OXO.js +0 -2
  338. package/dist/cli/chunks/client-N4FQ6SMD.js +0 -2
  339. package/dist/cli/chunks/cline-installer-6JPWD64G.js +0 -4
  340. package/dist/cli/chunks/codex-installer-DA3GBMLN.js +0 -8
  341. package/dist/cli/chunks/continuedev-installer-DDDJGW26.js +0 -14
  342. package/dist/cli/chunks/copilot-installer-JVFCE6GT.js +0 -3
  343. package/dist/cli/chunks/core-handlers-SFD5HCA3.js +0 -2
  344. package/dist/cli/chunks/cross-domain-router-7HGRUNLT.js +0 -2
  345. package/dist/cli/chunks/cursor-installer-JFNYGSDD.js +0 -3
  346. package/dist/cli/chunks/dream-HPGD5TLD.js +0 -2
  347. package/dist/cli/chunks/heartbeat-scheduler-O6TI5E4P.js +0 -2
  348. package/dist/cli/chunks/hnsw-adapter-TOVTN23J.js +0 -2
  349. package/dist/cli/chunks/hnsw-index-KCZ75V7K.js +0 -2
  350. package/dist/cli/chunks/hybrid-router-4JEPC4JZ.js +0 -2
  351. package/dist/cli/chunks/impact-analyzer-3MHIU3SE.js +0 -2
  352. package/dist/cli/chunks/init-handler-MGCYDX62.js +0 -70
  353. package/dist/cli/chunks/init-wizard-ERBO5JNA.js +0 -2
  354. package/dist/cli/chunks/kernel-XJPIIWET.js +0 -2
  355. package/dist/cli/chunks/kilocode-installer-DQVWZUKP.js +0 -4
  356. package/dist/cli/chunks/knowledge-graph-NTJEG6ZE.js +0 -2
  357. package/dist/cli/chunks/llm-router-service-4T66BGB5.js +0 -2
  358. package/dist/cli/chunks/load-test-PM674TSK.js +0 -2
  359. package/dist/cli/chunks/mcp-GCTTJUBZ.js +0 -2
  360. package/dist/cli/chunks/memory-backend-53NQ5CG7.js +0 -2
  361. package/dist/cli/chunks/opencode-installer-6VJGEBIU.js +0 -3
  362. package/dist/cli/chunks/pattern-null-store-IF2RG2ON.js +0 -2
  363. package/dist/cli/chunks/protocol-executor-7AS75ZWT.js +0 -2
  364. package/dist/cli/chunks/provider-manager-AU2C4AET.js +0 -2
  365. package/dist/cli/chunks/qe-reasoning-bank-WATQRCFO.js +0 -2
  366. package/dist/cli/chunks/queen-coordinator-IOCC4VQH.js +0 -2
  367. package/dist/cli/chunks/roocode-installer-C32LCYAJ.js +0 -4
  368. package/dist/cli/chunks/router-SCJMX6WA.js +0 -2
  369. package/dist/cli/chunks/routing-feedback-RWC7F553.js +0 -2
  370. package/dist/cli/chunks/rvf-native-adapter-W2RT6PTO.js +0 -2
  371. package/dist/cli/chunks/safe-db-HO2LCAO3.js +0 -2
  372. package/dist/cli/chunks/schedule-XENCR4MR.js +0 -2
  373. package/dist/cli/chunks/scheduler-WKZ3O2SS.js +0 -2
  374. package/dist/cli/chunks/sqlite-persistence-IN6BOSCX.js +0 -2
  375. package/dist/cli/chunks/unified-memory-6MXOYRXZ.js +0 -2
  376. package/dist/cli/chunks/unified-memory-hnsw-HY3JJD5Z.js +0 -2
  377. package/dist/cli/chunks/unified-persistence-LKQNQYRY.js +0 -2
  378. package/dist/cli/chunks/visual-security-7TBWICHP.js +0 -2
  379. package/dist/cli/chunks/windsurf-installer-MFI6EAPH.js +0 -7
  380. package/dist/cli/chunks/witness-chain-24SVOWQL.js +0 -2
  381. package/dist/cli/chunks/workflow-orchestrator-XBDXCTLY.js +0 -2
@@ -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.7");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
2
  var s={"test-generation":/test|spec|describe|it\(|expect|assert|mock|stub|fixture|tdd|bdd/i,"test-execution":/run|execute|parallel|retry|flaky|timeout|worker|orchestrat/i,"coverage-analysis":/coverage|branch|line|uncovered|gap|untested|percentage|sublinear/i,"quality-assessment":/quality|gate|deploy|readiness|metric|threshold|sla|score/i,"defect-intelligence":/defect|bug|predict|root.?cause|regression|failure|incident/i,"requirements-validation":/requirement|bdd|gherkin|testabil|accept|criteri|scenario/i,"code-intelligence":/semantic|knowledge|graph|ast|symbol|reference|impact|depend/i,"security-compliance":/vuln|cve|owasp|xss|sqli|injection|csrf|auth|secret|compliance|sast|dast/i,"contract-testing":/contract|pact|openapi|swagger|graphql|schema|endpoint|api/i,"visual-accessibility":/screenshot|visual|snapshot|pixel|percy|a11y|aria|wcag|screen.?reader|accessible|contrast/i,"chaos-resilience":/chaos|resilience|fault|inject|blast|recover|latency|failure|stress|load/i,"learning-optimization":/learn|pattern|optim|neural|embedding|vector|memory|adapt|train/i};function l(e){for(let[t,a]of Object.entries(s))if(a.test(e))return t;return null}function m(e){let t=[];for(let[a,n]of Object.entries(s))n.test(e)&&t.push(a);return t}function u(e){return e}function d(e){let t=Math.min(e.usageCount/100,1);return e.confidence*.3+t*.2+e.successRate*.5}var c=3;function p(e,t,a=.4){let n=e.tier==="short-term"&&e.successfulUses>=c,r=e.successRate>=.7&&e.confidence>=.6,i=t===void 0||t<a,o;return n?r?i||(o="coherence_violation"):o="low_quality":o="insufficient_usage",{meetsUsageCriteria:n,meetsQualityCriteria:r,meetsCoherenceCriteria:i,blockReason:o}}function y(e){let t=[];if(e.id||t.push("Pattern ID is required"),e.patternType||t.push("Pattern type is required"),e.qeDomain||t.push("QE domain is required"),e.name||t.push("Pattern name is required"),e.template?.content||t.push("Template content is required"),e.confidence!==void 0&&(e.confidence<0||e.confidence>1)&&t.push("Confidence must be between 0 and 1"),e.successRate!==void 0&&(e.successRate<0||e.successRate>1)&&t.push("Success rate must be between 0 and 1"),e.template?.variables){let a=new Set;for(let n of e.template.variables)a.has(n.name)&&t.push(`Duplicate variable name: ${n.name}`),a.add(n.name),e.template.content.includes(`{{${n.name}}}`)||t.push(`Variable ${n.name} not referenced in template`)}return{valid:t.length===0,errors:t}}function f(e,t){let a=e.content;for(let n of e.variables){let r=t[n.name]??n.defaultValue;if(n.required&&r===void 0)throw new Error(`Required variable ${n.name} not provided`);if(r!==void 0){let i=`{{${n.name}}}`,o=typeof r=="object"?JSON.stringify(r):String(r);a=a.split(i).join(o)}}return a}var g=Object.keys(s);export{l as a,m as b,u as c,d,c as e,p as f,y as g,f as h,g as i};
@@ -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.7");process.exit(0)}
2
- import{b as d,d as c}from"./chunk-QBVFONWU.js";import{a as l,c as g}from"./chunk-XWPUCPYW.js";g();c();import{existsSync as y,readFileSync as p}from"node:fs";import{join as o,dirname as u}from"node:path";import{fileURLToPath as m}from"node:url";var i=class extends Error{constructor(t,n,r){super(t);this.code=n;this.cause=r;this.name="PatternLoaderError"}code;cause},s=class a{static instance=null;config;patterns;isLoading=!1;constructor(e={}){this.config={basePath:e.basePath??this.getDefaultBasePath(),throwOnMissing:e.throwOnMissing??!1,validatePatterns:e.validatePatterns??!0},this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]}}static getInstance(e){return a.instance||(a.instance=new a(e)),a.instance}static resetInstance(){a.instance=null}getDefaultBasePath(){try{let e=import.meta.url,t=m(e),n=u(t),r=o(n,"..","..","..");return o(r,"assets","patterns")}catch{return o(process.cwd(),"assets","patterns")}}async loadPatterns(){if(!this.isLoading){this.isLoading=!0,this.patterns.errors=[];try{this.patterns.index=this.loadJsonFile("index.json");let[e,t,n,r]=await Promise.all([Promise.resolve(this.loadJsonFile("adr-051-booster-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-router-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-embedding-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-reasoning-patterns.json"))]);this.patterns.booster=e,this.patterns.router=t,this.patterns.embedding=n,this.patterns.reasoning=r,this.patterns.loadedAt=new Date,this.config.validatePatterns&&this.validateLoadedPatterns()}finally{this.isLoading=!1}}}loadJsonFile(e){let t=o(this.config.basePath,e);try{if(!y(t)){let r=`Pattern file not found: ${t}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"FILE_NOT_FOUND");return null}let n=p(t,"utf-8");return d(n)}catch(n){if(n instanceof i)throw n;let r=`Failed to load pattern file ${e}: ${l(n)}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"PARSE_ERROR",n instanceof Error?n:void 0);return null}}validateLoadedPatterns(){this.patterns.booster&&(Array.isArray(this.patterns.booster.patterns)||this.patterns.errors.push("Booster patterns file missing patterns array")),this.patterns.router&&(Array.isArray(this.patterns.router.patterns)||this.patterns.errors.push("Router patterns file missing patterns array")),this.patterns.embedding&&(Array.isArray(this.patterns.embedding.patterns)||this.patterns.errors.push("Embedding patterns file missing patterns array")),this.patterns.reasoning&&(Array.isArray(this.patterns.reasoning.patterns)||this.patterns.errors.push("Reasoning patterns file missing patterns array"))}async ensureLoaded(){this.patterns.loadedAt||await this.loadPatterns()}async getIndex(){return await this.ensureLoaded(),this.patterns.index}async getBoosterPatterns(){return await this.ensureLoaded(),this.patterns.booster}async getRouterPatterns(){return await this.ensureLoaded(),this.patterns.router}async getEmbeddingPatterns(){return await this.ensureLoaded(),this.patterns.embedding}async getReasoningPatterns(){return await this.ensureLoaded(),this.patterns.reasoning}async getBoosterPatternByKey(e){let t=await this.getBoosterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getRouterPatternByKey(e){let t=await this.getRouterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEmbeddingPatternByKey(e){let t=await this.getEmbeddingPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getReasoningPatternByKey(e){let t=await this.getReasoningPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEligibleBoosterTransforms(){let e=await this.getBoosterPatternByKey("booster-transform-eligibility");return e?e.eligibility_criteria.simple_transforms:[]}async getTierHierarchy(){let e=await this.getRouterPatternByKey("router-5tier-complexity");return e?e.tier_hierarchy:null}async getQualityGateThresholds(){let e=await this.getReasoningPatternByKey("reasoning-pattern-quality-gates");return e?e.gate_thresholds:null}isLoaded(){return this.patterns.loadedAt!==null}getLoadedAt(){return this.patterns.loadedAt}getErrors(){return[...this.patterns.errors]}async getStatistics(){let e=await this.getIndex();return e?e.pattern_statistics:null}async reload(){this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]},await this.loadPatterns()}async getAllPatterns(){return await this.ensureLoaded(),{...this.patterns}}};function x(){return s.getInstance()}export{x as a};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
+ import{b as d,d as c}from"./chunk-246Z3PH6.js";import{a as l,c as g}from"./chunk-5U5SEO7C.js";g();c();import{existsSync as y,readFileSync as p}from"node:fs";import{join as o,dirname as u}from"node:path";import{fileURLToPath as m}from"node:url";var i=class extends Error{constructor(t,n,r){super(t);this.code=n;this.cause=r;this.name="PatternLoaderError"}code;cause},s=class a{static instance=null;config;patterns;isLoading=!1;constructor(e={}){this.config={basePath:e.basePath??this.getDefaultBasePath(),throwOnMissing:e.throwOnMissing??!1,validatePatterns:e.validatePatterns??!0},this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]}}static getInstance(e){return a.instance||(a.instance=new a(e)),a.instance}static resetInstance(){a.instance=null}getDefaultBasePath(){try{let e=import.meta.url,t=m(e),n=u(t),r=o(n,"..","..","..");return o(r,"assets","patterns")}catch{return o(process.cwd(),"assets","patterns")}}async loadPatterns(){if(!this.isLoading){this.isLoading=!0,this.patterns.errors=[];try{this.patterns.index=this.loadJsonFile("index.json");let[e,t,n,r]=await Promise.all([Promise.resolve(this.loadJsonFile("adr-051-booster-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-router-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-embedding-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-reasoning-patterns.json"))]);this.patterns.booster=e,this.patterns.router=t,this.patterns.embedding=n,this.patterns.reasoning=r,this.patterns.loadedAt=new Date,this.config.validatePatterns&&this.validateLoadedPatterns()}finally{this.isLoading=!1}}}loadJsonFile(e){let t=o(this.config.basePath,e);try{if(!y(t)){let r=`Pattern file not found: ${t}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"FILE_NOT_FOUND");return null}let n=p(t,"utf-8");return d(n)}catch(n){if(n instanceof i)throw n;let r=`Failed to load pattern file ${e}: ${l(n)}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"PARSE_ERROR",n instanceof Error?n:void 0);return null}}validateLoadedPatterns(){this.patterns.booster&&(Array.isArray(this.patterns.booster.patterns)||this.patterns.errors.push("Booster patterns file missing patterns array")),this.patterns.router&&(Array.isArray(this.patterns.router.patterns)||this.patterns.errors.push("Router patterns file missing patterns array")),this.patterns.embedding&&(Array.isArray(this.patterns.embedding.patterns)||this.patterns.errors.push("Embedding patterns file missing patterns array")),this.patterns.reasoning&&(Array.isArray(this.patterns.reasoning.patterns)||this.patterns.errors.push("Reasoning patterns file missing patterns array"))}async ensureLoaded(){this.patterns.loadedAt||await this.loadPatterns()}async getIndex(){return await this.ensureLoaded(),this.patterns.index}async getBoosterPatterns(){return await this.ensureLoaded(),this.patterns.booster}async getRouterPatterns(){return await this.ensureLoaded(),this.patterns.router}async getEmbeddingPatterns(){return await this.ensureLoaded(),this.patterns.embedding}async getReasoningPatterns(){return await this.ensureLoaded(),this.patterns.reasoning}async getBoosterPatternByKey(e){let t=await this.getBoosterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getRouterPatternByKey(e){let t=await this.getRouterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEmbeddingPatternByKey(e){let t=await this.getEmbeddingPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getReasoningPatternByKey(e){let t=await this.getReasoningPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEligibleBoosterTransforms(){let e=await this.getBoosterPatternByKey("booster-transform-eligibility");return e?e.eligibility_criteria.simple_transforms:[]}async getTierHierarchy(){let e=await this.getRouterPatternByKey("router-5tier-complexity");return e?e.tier_hierarchy:null}async getQualityGateThresholds(){let e=await this.getReasoningPatternByKey("reasoning-pattern-quality-gates");return e?e.gate_thresholds:null}isLoaded(){return this.patterns.loadedAt!==null}getLoadedAt(){return this.patterns.loadedAt}getErrors(){return[...this.patterns.errors]}async getStatistics(){let e=await this.getIndex();return e?e.pattern_statistics:null}async reload(){this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]},await this.loadPatterns()}async getAllPatterns(){return await this.ensureLoaded(),{...this.patterns}}};function x(){return s.getInstance()}export{x as a};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.7");process.exit(0)}
2
- import{a as k}from"./chunk-L5UUUSSB.js";import{a as te,b as ne}from"./chunk-OPLLH67G.js";import{b as ee}from"./chunk-EWNJK2BU.js";import{b as E,d as fe}from"./chunk-QBVFONWU.js";import{a as b,c as T}from"./chunk-XWPUCPYW.js";var he={M:16,efConstruction:200,efSearch:100},P={enabled:!0,pretrainedPatterns:!0,hnswConfig:he,promotionThreshold:3,qualityThreshold:.7,embeddingModel:"auto"},_={mode:"hybrid",confidenceThreshold:.7,feedbackEnabled:!0,cacheEnabled:!0,cacheTTLMs:300*1e3},F={enabled:["pattern-consolidator","coverage-gap-scanner","flaky-test-detector","routing-accuracy-monitor"],intervals:{"pattern-consolidator":1800*1e3,"coverage-gap-scanner":3600*1e3,"flaky-test-detector":7200*1e3,"routing-accuracy-monitor":900*1e3},maxConcurrent:4,daemonAutoStart:!0},N={claudeCode:!0,preCommit:!1,ciIntegration:!1},$={install:!0,installV2:!0,installV3:!0,overwrite:!1},O={enabled:!0,parameters:["hnsw.efSearch","routing.confidenceThreshold","pattern.promotionThreshold","testGen.complexityLimit"],tuningIntervalMs:10080*60*1e3,evaluationPeriodMs:5e3};var L=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","requirements-validation","code-intelligence","security-compliance","contract-testing","visual-accessibility","chaos-resilience","learning-optimization","enterprise-integration"];function M(){return"3.10.7"}function Fe(r,e){return{version:M(),project:{name:r,root:e,type:"single"},learning:P,routing:_,workers:F,hooks:N,skills:$,autoTuning:O,domains:{enabled:L,disabled:[]},agents:{maxConcurrent:15,defaultTimeout:6e4}}}fe();import{readFileSync as w,existsSync as p,statSync as ye,readdirSync as ve}from"fs";import{join as u,basename as re,extname as ie,relative as V}from"path";var be=[{name:"jest",detect:r=>{let e=["jest.config.js","jest.config.ts","jest.config.mjs","jest.config.cjs"];for(let n of e)if(p(u(r,n)))return{name:"jest",version:A(r,"jest"),configFile:n,confidence:1};let t=S(r);return t?.jest?{name:"jest",version:A(r,"jest"),configFile:"package.json",confidence:.9}:t?.devDependencies?.jest||t?.dependencies?.jest?{name:"jest",version:t.devDependencies?.jest||t.dependencies?.jest,confidence:.7}:null}},{name:"vitest",detect:r=>{let e=["vitest.config.ts","vitest.config.js","vitest.config.mts","vite.config.ts"];for(let n of e)if(p(u(r,n)))return{name:"vitest",version:A(r,"vitest"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.vitest||t?.dependencies?.vitest?{name:"vitest",version:t.devDependencies?.vitest,confidence:.8}:null}},{name:"mocha",detect:r=>{let e=[".mocharc.js",".mocharc.json",".mocharc.yaml",".mocharc.yml"];for(let n of e)if(p(u(r,n)))return{name:"mocha",version:A(r,"mocha"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.mocha?{name:"mocha",version:t.devDependencies?.mocha,confidence:.8}:null}},{name:"pytest",detect:r=>{let e=["pytest.ini","pyproject.toml","setup.cfg"];for(let n of e){let i=u(r,n);if(p(i))try{let s=w(i,"utf-8");if(s.includes("[pytest]")||s.includes("[tool.pytest]"))return{name:"pytest",configFile:n,confidence:1}}catch(s){console.debug("[ProjectAnalyzer] Config read failed:",s instanceof Error?s.message:s)}}let t=u(r,"requirements.txt");if(p(t))try{if(w(t,"utf-8").includes("pytest"))return{name:"pytest",configFile:"requirements.txt",confidence:.8}}catch(n){console.debug("[ProjectAnalyzer] requirements.txt read failed:",n instanceof Error?n.message:n)}return null}},{name:"playwright",detect:r=>{let e=["playwright.config.ts","playwright.config.js"];for(let n of e)if(p(u(r,n)))return{name:"playwright",version:A(r,"@playwright/test"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.["@playwright/test"]?{name:"playwright",version:t.devDependencies["@playwright/test"],confidence:.8}:null}},{name:"cypress",detect:r=>{let e=["cypress.config.ts","cypress.config.js","cypress.json"];for(let t of e)if(p(u(r,t)))return{name:"cypress",version:A(r,"cypress"),configFile:t,confidence:1};return p(u(r,"cypress"))?{name:"cypress",configFile:"cypress/",confidence:.9}:null}}],ke=[{name:"typescript",extensions:[".ts",".tsx",".mts",".cts"]},{name:"javascript",extensions:[".js",".jsx",".mjs",".cjs"]},{name:"python",extensions:[".py",".pyw"]},{name:"java",extensions:[".java"]},{name:"go",extensions:[".go"]},{name:"rust",extensions:[".rs"]},{name:"csharp",extensions:[".cs"]},{name:"ruby",extensions:[".rb"]},{name:"php",extensions:[".php"]},{name:"kotlin",extensions:[".kt",".kts"]},{name:"swift",extensions:[".swift"]}];function S(r){let e=u(r,"package.json");if(!p(e))return null;try{return E(w(e,"utf-8"))}catch{return null}}function A(r,e){let t=S(r);if(t)return t.devDependencies?.[e]||t.dependencies?.[e]}function Q(r,e,t={}){let{maxDepth:n=10,exclude:i=["node_modules",".git","dist","build","coverage",".next","__pycache__"]}=t;function s(o,a){if(a>n)return;let l;try{l=ve(o)}catch{return}for(let g of l){if(i.includes(g))continue;let c=u(o,g),x;try{x=ye(c)}catch{continue}x.isDirectory()?s(c,a+1):x.isFile()&&e(c)}}s(r,0)}var W=class{projectRoot;constructor(e){this.projectRoot=e}async analyze(){let e=Date.now(),[t,n,i,s,o]=await Promise.all([this.detectFrameworks(),this.detectLanguages(),this.detectExistingTests(),this.analyzeComplexity(),this.measureCoverage()]);return{projectName:S(this.projectRoot)?.name||re(this.projectRoot),projectRoot:this.projectRoot,projectType:this.detectProjectType(),frameworks:t,languages:n,existingTests:i,codeComplexity:s,coverage:o,packageManager:this.detectPackageManager(),hasTypeScript:p(u(this.projectRoot,"tsconfig.json")),hasCIConfig:this.detectCIConfig(),ciProvider:this.detectCIProvider(),analysisTimestamp:new Date,analysisDurationMs:Date.now()-e}}async detectFrameworks(){let e=[];for(let t of be){let n=t.detect(this.projectRoot);n&&e.push(n)}return e.sort((t,n)=>n.confidence-t.confidence)}async detectLanguages(){let e=new Map,t=0;Q(this.projectRoot,i=>{let s=ie(i).toLowerCase();if(s){for(let o of ke)if(o.extensions.includes(s)){let a=e.get(o.name)||{count:0,extensions:new Set};a.count++,a.extensions.add(s),e.set(o.name,a),t++;break}}});let n=[];for(let[i,s]of e)n.push({name:i,percentage:t>0?Math.round(s.count/t*100):0,fileCount:s.count,extensions:Array.from(s.extensions)});return n.sort((i,s)=>s.fileCount-i.fileCount)}async detectExistingTests(){let e={totalCount:0,byFramework:{},byType:{unit:0,integration:0,e2e:0,unknown:0},directories:[]},t=new Set,n=[/\.test\.[jt]sx?$/,/\.spec\.[jt]sx?$/,/_test\.[jt]sx?$/,/test_.*\.py$/,/.*_test\.py$/,/.*_test\.go$/,/.*Test\.java$/];return Q(this.projectRoot,i=>{let s=re(i);if(n.some(a=>a.test(s))){e.totalCount++;let a=V(this.projectRoot,i).toLowerCase();a.includes("e2e")||a.includes("cypress")||a.includes("playwright")?e.byType.e2e++:a.includes("integration")||a.includes("int-test")?e.byType.integration++:a.includes("unit")||a.includes("__tests__")||a.includes("test/")?e.byType.unit++:e.byType.unknown++;let l=V(this.projectRoot,u(i,".."));t.add(l)}}),e.directories=Array.from(t).slice(0,10),e}async analyzeComplexity(){let e=[],t=[],n=0,i=0;Q(this.projectRoot,a=>{let l=ie(a);if([".ts",".tsx",".js",".jsx",".py",".java",".go"].includes(l))try{let g=w(a,"utf-8"),c=this.calculateFileComplexity(g,l);t.push(...c.functionComplexities),c.maxComplexity>n&&(n=c.maxComplexity),i++,c.maxComplexity>10&&e.push(V(this.projectRoot,a))}catch(g){console.debug("[ProjectAnalyzer] Complexity analysis read failed:",g instanceof Error?g.message:g)}});let s=t.reduce((a,l)=>a+l,0),o=t.length>0?s/t.length:0;return{averageCyclomatic:Math.round(o*10)/10,maxCyclomatic:n,totalFiles:i,complexFiles:e.slice(0,20),recommendation:o<5?"simple":o<15?"medium":"complex"}}calculateFileComplexity(e,t){let n=this.stripCommentsAndStrings(e,t),i=this.calculateComplexity(n);return{functionComplexities:[i],maxComplexity:i}}removeDelimitedBlocks(e,t,n){let i="",s=0;for(;s<e.length;){let o=e.indexOf(t,s);if(o===-1){i+=e.slice(s);break}i+=e.slice(s,o);let a=e.indexOf(n,o+t.length);if(a===-1)break;s=a+n.length}return i}stripCommentsAndStrings(e,t){let n=e;return[".ts",".tsx",".js",".jsx",".java",".go"].includes(t)?(n=n.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.9");process.exit(0)}
2
+ import{a as k}from"./chunk-UJBIHPU5.js";import{a as te,b as ne}from"./chunk-42FBJF73.js";import{b as ee}from"./chunk-2WSEJHFQ.js";import{b as E,d as fe}from"./chunk-246Z3PH6.js";import{a as b,c as T}from"./chunk-5U5SEO7C.js";var he={M:16,efConstruction:200,efSearch:100},P={enabled:!0,pretrainedPatterns:!0,hnswConfig:he,promotionThreshold:3,qualityThreshold:.7,embeddingModel:"auto"},_={mode:"hybrid",confidenceThreshold:.7,feedbackEnabled:!0,cacheEnabled:!0,cacheTTLMs:300*1e3},F={enabled:["pattern-consolidator","coverage-gap-scanner","flaky-test-detector","routing-accuracy-monitor"],intervals:{"pattern-consolidator":1800*1e3,"coverage-gap-scanner":3600*1e3,"flaky-test-detector":7200*1e3,"routing-accuracy-monitor":900*1e3},maxConcurrent:4,daemonAutoStart:!0},N={claudeCode:!0,preCommit:!1,ciIntegration:!1},$={install:!0,installV2:!0,installV3:!0,overwrite:!1},O={enabled:!0,parameters:["hnsw.efSearch","routing.confidenceThreshold","pattern.promotionThreshold","testGen.complexityLimit"],tuningIntervalMs:10080*60*1e3,evaluationPeriodMs:5e3};var L=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","requirements-validation","code-intelligence","security-compliance","contract-testing","visual-accessibility","chaos-resilience","learning-optimization","enterprise-integration"];function M(){return"3.10.9"}function Fe(r,e){return{version:M(),project:{name:r,root:e,type:"single"},learning:P,routing:_,workers:F,hooks:N,skills:$,autoTuning:O,domains:{enabled:L,disabled:[]},agents:{maxConcurrent:15,defaultTimeout:6e4}}}fe();import{readFileSync as w,existsSync as p,statSync as ye,readdirSync as ve}from"fs";import{join as u,basename as re,extname as ie,relative as V}from"path";var be=[{name:"jest",detect:r=>{let e=["jest.config.js","jest.config.ts","jest.config.mjs","jest.config.cjs"];for(let n of e)if(p(u(r,n)))return{name:"jest",version:A(r,"jest"),configFile:n,confidence:1};let t=S(r);return t?.jest?{name:"jest",version:A(r,"jest"),configFile:"package.json",confidence:.9}:t?.devDependencies?.jest||t?.dependencies?.jest?{name:"jest",version:t.devDependencies?.jest||t.dependencies?.jest,confidence:.7}:null}},{name:"vitest",detect:r=>{let e=["vitest.config.ts","vitest.config.js","vitest.config.mts","vite.config.ts"];for(let n of e)if(p(u(r,n)))return{name:"vitest",version:A(r,"vitest"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.vitest||t?.dependencies?.vitest?{name:"vitest",version:t.devDependencies?.vitest,confidence:.8}:null}},{name:"mocha",detect:r=>{let e=[".mocharc.js",".mocharc.json",".mocharc.yaml",".mocharc.yml"];for(let n of e)if(p(u(r,n)))return{name:"mocha",version:A(r,"mocha"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.mocha?{name:"mocha",version:t.devDependencies?.mocha,confidence:.8}:null}},{name:"pytest",detect:r=>{let e=["pytest.ini","pyproject.toml","setup.cfg"];for(let n of e){let i=u(r,n);if(p(i))try{let s=w(i,"utf-8");if(s.includes("[pytest]")||s.includes("[tool.pytest]"))return{name:"pytest",configFile:n,confidence:1}}catch(s){console.debug("[ProjectAnalyzer] Config read failed:",s instanceof Error?s.message:s)}}let t=u(r,"requirements.txt");if(p(t))try{if(w(t,"utf-8").includes("pytest"))return{name:"pytest",configFile:"requirements.txt",confidence:.8}}catch(n){console.debug("[ProjectAnalyzer] requirements.txt read failed:",n instanceof Error?n.message:n)}return null}},{name:"playwright",detect:r=>{let e=["playwright.config.ts","playwright.config.js"];for(let n of e)if(p(u(r,n)))return{name:"playwright",version:A(r,"@playwright/test"),configFile:n,confidence:1};let t=S(r);return t?.devDependencies?.["@playwright/test"]?{name:"playwright",version:t.devDependencies["@playwright/test"],confidence:.8}:null}},{name:"cypress",detect:r=>{let e=["cypress.config.ts","cypress.config.js","cypress.json"];for(let t of e)if(p(u(r,t)))return{name:"cypress",version:A(r,"cypress"),configFile:t,confidence:1};return p(u(r,"cypress"))?{name:"cypress",configFile:"cypress/",confidence:.9}:null}}],ke=[{name:"typescript",extensions:[".ts",".tsx",".mts",".cts"]},{name:"javascript",extensions:[".js",".jsx",".mjs",".cjs"]},{name:"python",extensions:[".py",".pyw"]},{name:"java",extensions:[".java"]},{name:"go",extensions:[".go"]},{name:"rust",extensions:[".rs"]},{name:"csharp",extensions:[".cs"]},{name:"ruby",extensions:[".rb"]},{name:"php",extensions:[".php"]},{name:"kotlin",extensions:[".kt",".kts"]},{name:"swift",extensions:[".swift"]}];function S(r){let e=u(r,"package.json");if(!p(e))return null;try{return E(w(e,"utf-8"))}catch{return null}}function A(r,e){let t=S(r);if(t)return t.devDependencies?.[e]||t.dependencies?.[e]}function Q(r,e,t={}){let{maxDepth:n=10,exclude:i=["node_modules",".git","dist","build","coverage",".next","__pycache__"]}=t;function s(o,a){if(a>n)return;let l;try{l=ve(o)}catch{return}for(let g of l){if(i.includes(g))continue;let c=u(o,g),x;try{x=ye(c)}catch{continue}x.isDirectory()?s(c,a+1):x.isFile()&&e(c)}}s(r,0)}var W=class{projectRoot;constructor(e){this.projectRoot=e}async analyze(){let e=Date.now(),[t,n,i,s,o]=await Promise.all([this.detectFrameworks(),this.detectLanguages(),this.detectExistingTests(),this.analyzeComplexity(),this.measureCoverage()]);return{projectName:S(this.projectRoot)?.name||re(this.projectRoot),projectRoot:this.projectRoot,projectType:this.detectProjectType(),frameworks:t,languages:n,existingTests:i,codeComplexity:s,coverage:o,packageManager:this.detectPackageManager(),hasTypeScript:p(u(this.projectRoot,"tsconfig.json")),hasCIConfig:this.detectCIConfig(),ciProvider:this.detectCIProvider(),analysisTimestamp:new Date,analysisDurationMs:Date.now()-e}}async detectFrameworks(){let e=[];for(let t of be){let n=t.detect(this.projectRoot);n&&e.push(n)}return e.sort((t,n)=>n.confidence-t.confidence)}async detectLanguages(){let e=new Map,t=0;Q(this.projectRoot,i=>{let s=ie(i).toLowerCase();if(s){for(let o of ke)if(o.extensions.includes(s)){let a=e.get(o.name)||{count:0,extensions:new Set};a.count++,a.extensions.add(s),e.set(o.name,a),t++;break}}});let n=[];for(let[i,s]of e)n.push({name:i,percentage:t>0?Math.round(s.count/t*100):0,fileCount:s.count,extensions:Array.from(s.extensions)});return n.sort((i,s)=>s.fileCount-i.fileCount)}async detectExistingTests(){let e={totalCount:0,byFramework:{},byType:{unit:0,integration:0,e2e:0,unknown:0},directories:[]},t=new Set,n=[/\.test\.[jt]sx?$/,/\.spec\.[jt]sx?$/,/_test\.[jt]sx?$/,/test_.*\.py$/,/.*_test\.py$/,/.*_test\.go$/,/.*Test\.java$/];return Q(this.projectRoot,i=>{let s=re(i);if(n.some(a=>a.test(s))){e.totalCount++;let a=V(this.projectRoot,i).toLowerCase();a.includes("e2e")||a.includes("cypress")||a.includes("playwright")?e.byType.e2e++:a.includes("integration")||a.includes("int-test")?e.byType.integration++:a.includes("unit")||a.includes("__tests__")||a.includes("test/")?e.byType.unit++:e.byType.unknown++;let l=V(this.projectRoot,u(i,".."));t.add(l)}}),e.directories=Array.from(t).slice(0,10),e}async analyzeComplexity(){let e=[],t=[],n=0,i=0;Q(this.projectRoot,a=>{let l=ie(a);if([".ts",".tsx",".js",".jsx",".py",".java",".go"].includes(l))try{let g=w(a,"utf-8"),c=this.calculateFileComplexity(g,l);t.push(...c.functionComplexities),c.maxComplexity>n&&(n=c.maxComplexity),i++,c.maxComplexity>10&&e.push(V(this.projectRoot,a))}catch(g){console.debug("[ProjectAnalyzer] Complexity analysis read failed:",g instanceof Error?g.message:g)}});let s=t.reduce((a,l)=>a+l,0),o=t.length>0?s/t.length:0;return{averageCyclomatic:Math.round(o*10)/10,maxCyclomatic:n,totalFiles:i,complexFiles:e.slice(0,20),recommendation:o<5?"simple":o<15?"medium":"complex"}}calculateFileComplexity(e,t){let n=this.stripCommentsAndStrings(e,t),i=this.calculateComplexity(n);return{functionComplexities:[i],maxComplexity:i}}removeDelimitedBlocks(e,t,n){let i="",s=0;for(;s<e.length;){let o=e.indexOf(t,s);if(o===-1){i+=e.slice(s);break}i+=e.slice(s,o);let a=e.indexOf(n,o+t.length);if(a===-1)break;s=a+n.length}return i}stripCommentsAndStrings(e,t){let n=e;return[".ts",".tsx",".js",".jsx",".java",".go"].includes(t)?(n=n.split(`
3
3
  `).map(i=>{let s=i.indexOf("//");return s>=0?i.slice(0,s):i}).join(`
4
4
  `),n=this.removeDelimitedBlocks(n,"/*","*/"),n=this.removeDelimitedBlocks(n,"`","`"),n=this.removeDelimitedBlocks(n,'"','"'),n=this.removeDelimitedBlocks(n,"'","'")):t===".py"&&(n=n.split(`
5
5
  `).map(i=>{let s=i.indexOf("#");return s>=0?i.slice(0,s):i}).join(`
@@ -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.7");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
2
  import r from"chalk";function s(e){switch(e){case"healthy":case"completed":return r.green(e);case"idle":return r.cyan(e);case"degraded":case"running":return r.yellow(e);case"unhealthy":case"failed":return r.red(e);default:return r.gray(e)}}function a(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${(e/6e4).toFixed(1)}m`:`${(e/36e5).toFixed(1)}h`}function l(e){let t=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4),o=Math.floor(e%6e4/1e3);return`${t}h ${n}m ${o}s`}export{s as a,a as b,l as c};
@@ -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.7");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
2
  function M(u){let e=u|0;return()=>{e=e+1831565813|0;let n=Math.imul(e^e>>>15,1|e);return n=n+Math.imul(n^n>>>7,61|n)^n,((n^n>>>14)>>>0)/4294967296}}var A=2,y=10,x=200,p=1e-8,b=class{epsilon;seed;constructor(e){if(this.epsilon=e?.epsilon??.3,this.seed=e?.seed,this.epsilon<=0||this.epsilon>=1)throw new Error("SparsifierConfig.epsilon must be in (0, 1)")}sparsify(e){if(e.nodeCount<=0||e.edges.length===0)return{nodeCount:e.nodeCount,edges:[]};let n=this.seed!==void 0?M(this.seed):Math.random,t=this.approximateEffectiveResistances(e),i=e.nodeCount,r=e.edges.length,o=Math.max(1,Math.log(i)),m=this.epsilon*this.epsilon,l=Math.min(r,Math.max(i-1,A*(i-1)*(1-this.epsilon))),s=new Float64Array(r),c=0;for(let a=0;a<r;a++){let d=e.edges[a][2];s[a]=d*t[a],c+=s[a]}if(c<=0)return{nodeCount:e.nodeCount,edges:[]};let f=[];for(let a=0;a<r;a++){let[d,C,E]=e.edges[a],g=Math.min(1,s[a]/c*l);if(n()<g){let w=E/g;f.push([d,C,w])}}return{nodeCount:e.nodeCount,edges:f}}validateSpectral(e,n){let t=Math.min(y,Math.max(1,e.nodeCount-1)),i=this.computeLaplacian(e),r=this.computeLaplacian(n),o=this.computeTopEigenvalues(i,t),m=this.computeTopEigenvalues(r,t),l=[],s=!0,c=this.epsilon;for(let f=0;f<o.length;f++){if(o[f]<1e-10)continue;let a=m[f]/o[f];l.push(a),(a<1-c||a>1+c)&&(s=!1)}return{isValid:s,eigenvalueRatios:l,originalEdgeCount:e.edges.length,sparsifiedEdgeCount:n.edges.length,compressionRatio:e.edges.length>0?n.edges.length/e.edges.length:0}}computeLaplacian(e){let n=e.nodeCount,t=Array.from({length:n},()=>new Array(n).fill(0));for(let[i,r,o]of e.edges)i<0||i>=n||r<0||r>=n||(t[i][i]+=o,t[r][r]+=o,t[i][r]-=o,t[r][i]-=o);return t}computeTopEigenvalues(e,n){let t=e.length;if(t===0)return[];let i=[],r=[],o=e.map(m=>[...m]);for(let m=0;m<Math.min(n,t);m++){let l=this.powerIteration(o,t,r);if(l===null)break;i.push(l.eigenvalue),r.push(l.eigenvector),V(o,l.eigenvalue,l.eigenvector)}return i}approximateEffectiveResistances(e){let n=e.nodeCount,t=new Float64Array(n);for(let[r,o,m]of e.edges)r>=0&&r<n&&(t[r]+=m),o>=0&&o<n&&(t[o]+=m);let i=new Array(e.edges.length);for(let r=0;r<e.edges.length;r++){let[o,m]=e.edges[r],l=t[o]||1,s=t[m]||1;i[r]=1/l+1/s}return i}powerIteration(e,n,t){let i=0;for(let s=0;s<n;s++)for(let c=0;c<n;c++)i+=e[s][c]*e[s][c];if(i<p*p)return null;let r=t.length,o=new Array(n);for(let s=0;s<n;s++)o[s]=Math.sin((s+1)*(r+1)*1.618033988749895)+.1*(s-n/2);for(let s of t)h(o,s);if(R(o)<p)return null;let l=0;for(let s=0;s<x;s++){let c=L(e,o);for(let d of t)h(c,d);let f=S(c,o),a=v(c);if(a<p)return{eigenvalue:0,eigenvector:o};for(let d=0;d<n;d++)o[d]=c[d]/a;if(Math.abs(f-l)<p){l=f;break}l=f}return{eigenvalue:Math.abs(l),eigenvector:o}}};function L(u,e){let n=u.length,t=new Array(n).fill(0);for(let i=0;i<n;i++){let r=0;for(let o=0;o<n;o++)r+=u[i][o]*e[o];t[i]=r}return t}function v(u){let e=0;for(let n=0;n<u.length;n++)e+=u[n]*u[n];return Math.sqrt(e)}function R(u){let e=v(u);if(e>0)for(let n=0;n<u.length;n++)u[n]/=e;return e}function S(u,e){let n=0;for(let t=0;t<u.length;t++)n+=u[t]*e[t];return n}function h(u,e){let n=S(u,e);for(let t=0;t<u.length;t++)u[t]-=n*e[t]}function V(u,e,n){let t=n.length;for(let i=0;i<t;i++)for(let r=0;r<t;r++)u[i][r]-=e*n[i]*n[r]}export{b as a};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.7");process.exit(0)}
2
- import{c as t}from"./chunk-LRRQEAP5.js";function o(e){try{return e.prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
+ import{c as t}from"./chunk-ABJPFKHE.js";function o(e){try{return e.prepare(`
3
3
  SELECT COUNT(*) as count FROM sqlite_master
4
4
  WHERE type='table' AND name IN ('hypergraph_nodes', 'hypergraph_edges')
5
5
  `).get().count===2}catch{return!1}}var r,a,E,n,p=t(()=>{"use strict";r=`
@@ -1,12 +1,12 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.7");process.exit(0)}
2
- import{a as v}from"./chunk-6F5KPT6U.js";import{a as h}from"./chunk-DF7V6X3N.js";import{c as E}from"./chunk-222ZQTL5.js";import{a as y,c as k}from"./chunk-XWPUCPYW.js";k();h();var l=E.create("qe-hooks"),u={PreTestGeneration:"qe:pre-test-generation",PostTestGeneration:"qe:post-test-generation",TestExecutionResult:"qe:test-execution-result",PreCoverageAnalysis:"qe:pre-coverage-analysis",PostCoverageAnalysis:"qe:post-coverage-analysis",CoverageGapIdentified:"qe:coverage-gap-identified",QEAgentRouting:"qe:agent-routing",QEAgentCompletion:"qe:agent-completion",QualityScoreCalculated:"qe:quality-score",RiskAssessmentComplete:"qe:risk-assessment",PatternLearned:"qe:pattern-learned",PatternApplied:"qe:pattern-applied",PatternPromoted:"qe:pattern-promoted",PreCompaction:"qe:pre-compaction"};function Q(i){return{[u.PreTestGeneration]:async t=>{let{targetFile:s,testType:a,framework:e,language:r}=t.data,n=await i.routeTask({task:`Generate ${a} tests for ${s}`,taskType:"test-generation",context:{framework:e,language:r,testType:a}});if(!n.success)return{success:!1,error:n.error.message};let o=[];try{let{getUnifiedMemory:c}=await import("./unified-memory-6MXOYRXZ.js");o=c().getDatabase().prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
+ import{a as v}from"./chunk-RRSJ7BMF.js";import{a as h}from"./chunk-OPKEQYAC.js";import{c as E}from"./chunk-VHYNRISI.js";import{a as y,c as k}from"./chunk-5U5SEO7C.js";k();h();var l=E.create("qe-hooks"),u={PreTestGeneration:"qe:pre-test-generation",PostTestGeneration:"qe:post-test-generation",TestExecutionResult:"qe:test-execution-result",PreCoverageAnalysis:"qe:pre-coverage-analysis",PostCoverageAnalysis:"qe:post-coverage-analysis",CoverageGapIdentified:"qe:coverage-gap-identified",QEAgentRouting:"qe:agent-routing",QEAgentCompletion:"qe:agent-completion",QualityScoreCalculated:"qe:quality-score",RiskAssessmentComplete:"qe:risk-assessment",PatternLearned:"qe:pattern-learned",PatternApplied:"qe:pattern-applied",PatternPromoted:"qe:pattern-promoted",PreCompaction:"qe:pre-compaction"};function Q(i){return{[u.PreTestGeneration]:async t=>{let{targetFile:s,testType:a,framework:e,language:r}=t.data,n=await i.routeTask({task:`Generate ${a} tests for ${s}`,taskType:"test-generation",context:{framework:e,language:r,testType:a}});if(!n.success)return{success:!1,error:n.error.message};let o=[];try{let{getUnifiedMemory:c}=await import("./unified-memory-WJEZ5YAK.js");o=c().getDatabase().prepare(`
3
3
  SELECT u.pattern_id, u.success, u.feedback
4
4
  FROM qe_pattern_usage u
5
5
  JOIN qe_patterns p ON u.pattern_id = p.id
6
6
  WHERE p.qe_domain = 'test-generation'
7
7
  ORDER BY u.created_at DESC
8
8
  LIMIT 10
9
- `).all()}catch{}return{success:!0,routing:n.value,guidance:n.value.guidance,data:{recommendedAgent:n.value.recommendedAgent,patterns:n.value.patterns.map(c=>c.id),recentExperiences:o}}},[u.PostTestGeneration]:async t=>{let{targetFile:s,generatedTests:a,testCount:e,framework:r,language:n,success:o,patternId:c}=t.data,d=0;if(c&&await i.recordOutcome({patternId:c,success:o,metrics:{testsPassed:0,testsFailed:0}}),o&&a&&e>0)try{(await i.storePattern({patternType:"test-template",name:`Generated tests for ${s.split("/").pop()}`,description:`Test template extracted from successful test generation for ${s}`,template:{type:"code",content:a,variables:[]},context:{framework:r,language:n,testType:"unit",tags:["generated","test-template",r,n]}})).success&&(d=1)}catch(p){l.debug("Pattern learning failed",{error:p instanceof Error?p.message:String(p)})}return{success:!0,patternsLearned:d,data:{learned:d>0}}},[u.TestExecutionResult]:async t=>{let{runId:s,patternId:a,passed:e,failed:r,duration:n,flaky:o}=t.data;if(a){let c=e+r>0?e/(e+r):0;await i.recordOutcome({patternId:a,success:c>.8&&!o,metrics:{testsPassed:e,testsFailed:r,executionTimeMs:n}})}return{success:!0,data:{runId:s,successRate:e+r>0?e/(e+r):0}}},[u.PreCoverageAnalysis]:async t=>{let{targetPath:s,currentCoverage:a}=t.data,e=await i.routeTask({task:`Analyze coverage gaps for ${s} (current: ${a}%)`,taskType:"analysis",domain:"coverage-analysis"});if(!e.success)return{success:!1,error:e.error.message};let r=[];try{let{getUnifiedMemory:n}=await import("./unified-memory-6MXOYRXZ.js");r=n().getDatabase().prepare(`
9
+ `).all()}catch{}return{success:!0,routing:n.value,guidance:n.value.guidance,data:{recommendedAgent:n.value.recommendedAgent,patterns:n.value.patterns.map(c=>c.id),recentExperiences:o}}},[u.PostTestGeneration]:async t=>{let{targetFile:s,generatedTests:a,testCount:e,framework:r,language:n,success:o,patternId:c}=t.data,d=0;if(c&&await i.recordOutcome({patternId:c,success:o,metrics:{testsPassed:0,testsFailed:0}}),o&&a&&e>0)try{(await i.storePattern({patternType:"test-template",name:`Generated tests for ${s.split("/").pop()}`,description:`Test template extracted from successful test generation for ${s}`,template:{type:"code",content:a,variables:[]},context:{framework:r,language:n,testType:"unit",tags:["generated","test-template",r,n]}})).success&&(d=1)}catch(p){l.debug("Pattern learning failed",{error:p instanceof Error?p.message:String(p)})}return{success:!0,patternsLearned:d,data:{learned:d>0}}},[u.TestExecutionResult]:async t=>{let{runId:s,patternId:a,passed:e,failed:r,duration:n,flaky:o}=t.data;if(a){let c=e+r>0?e/(e+r):0;await i.recordOutcome({patternId:a,success:c>.8&&!o,metrics:{testsPassed:e,testsFailed:r,executionTimeMs:n}})}return{success:!0,data:{runId:s,successRate:e+r>0?e/(e+r):0}}},[u.PreCoverageAnalysis]:async t=>{let{targetPath:s,currentCoverage:a}=t.data,e=await i.routeTask({task:`Analyze coverage gaps for ${s} (current: ${a}%)`,taskType:"analysis",domain:"coverage-analysis"});if(!e.success)return{success:!1,error:e.error.message};let r=[];try{let{getUnifiedMemory:n}=await import("./unified-memory-WJEZ5YAK.js");r=n().getDatabase().prepare(`
10
10
  SELECT u.pattern_id, u.success, u.feedback
11
11
  FROM qe_pattern_usage u
12
12
  JOIN qe_patterns p ON u.pattern_id = p.id
@@ -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.7");process.exit(0)}
2
- import{a as v}from"./chunk-DF7V6X3N.js";import{c as l}from"./chunk-222ZQTL5.js";import{S as R,b as g}from"./chunk-76JYG426.js";v();R();import{createHash as m,randomUUID as f}from"crypto";var a=l.create("witness-chain"),p=class{logLikelihoodRatio=0;upperBound;lowerBound;observations=0;constructor(t=.05,e=.05){this.upperBound=Math.log(1/t),this.lowerBound=Math.log(e)}addWeightedEvidence(t,e){return this.logLikelihoodRatio+=t?e:-e,this.observations++,this.logLikelihoodRatio>=this.upperBound?"PASS":this.logLikelihoodRatio<=this.lowerBound?"FAIL":"INCONCLUSIVE"}addEvidence(t){return this.addWeightedEvidence(t,.5)}getRatio(){return this.logLikelihoodRatio}getObservations(){return this.observations}getBounds(){return{upper:this.upperBound,lower:this.lowerBound}}reset(){this.logLikelihoodRatio=0,this.observations=0}},c="0".repeat(64),h=class{receipts=[];lastHash=c;sprtAccumulators=new Map;appendWitness(t){let e=f(),i=Date.now(),s=this.receipts.length,n=this.lastHash+JSON.stringify(t)+i,o=m("sha256").update(n).digest("hex"),u={id:e,timestamp:i,previousHash:this.lastHash,hash:o,decision:t,chainIndex:s};return this.receipts.push(u),this.lastHash=o,this.updateSPRT(t),a.debug("Witness appended",{chainIndex:s,type:t.type,decision:t.decision,hash:o.slice(0,16)+"..."}),u}verifyChain(){if(this.receipts.length===0)return{valid:!0,length:0,brokenAt:-1,message:"Chain is empty (valid)",lastHash:c};let t=c;for(let e=0;e<this.receipts.length;e++){let i=this.receipts[e];if(i.previousHash!==t)return{valid:!1,length:this.receipts.length,brokenAt:e,message:`Chain broken at index ${e}: previousHash mismatch`,lastHash:this.lastHash};let s=i.previousHash+JSON.stringify(i.decision)+i.timestamp,n=m("sha256").update(s).digest("hex");if(i.hash!==n)return{valid:!1,length:this.receipts.length,brokenAt:e,message:`Chain broken at index ${e}: hash mismatch (tamper detected)`,lastHash:this.lastHash};t=i.hash}return{valid:!0,length:this.receipts.length,brokenAt:-1,message:`Chain valid (${this.receipts.length} receipts)`,lastHash:this.lastHash}}getChain(t){return t!==void 0&&t>0?[...this.receipts.slice(-t)]:[...this.receipts]}getChainLength(){return this.receipts.length}getLastHash(){return this.lastHash}exportChain(){let t={version:"1.0.0",exportedAt:Date.now(),length:this.receipts.length,receipts:this.receipts};return JSON.stringify(t,null,2)}importChain(t){try{let e=JSON.parse(t);if(!e||e.version!=="1.0.0"||!Array.isArray(e.receipts))return a.warn("Import failed: invalid format"),!1;let i=this.receipts,s=this.lastHash;this.receipts=e.receipts,this.lastHash=e.receipts.length>0?e.receipts[e.receipts.length-1].hash:c;let n=this.verifyChain();return n.valid?(a.info("Chain imported successfully",{length:e.receipts.length}),!0):(this.receipts=i,this.lastHash=s,a.warn("Import failed: chain integrity check failed",{message:n.message}),!1)}catch(e){return a.warn("Import failed: parse error",{error:e instanceof Error?e.message:String(e)}),!1}}getSPRT(t,e,i){return this.sprtAccumulators.has(t)||this.sprtAccumulators.set(t,new p(e,i)),this.sprtAccumulators.get(t)}getReceipt(t){return this.receipts[t]}updateSPRT(t){let e=t.decision==="PASS"||t.decision==="PERMIT";this.getSPRT(t.type).addEvidence(e)}},d=class extends h{persistence;constructor(t){super(),this.persistence=t;let e=t.loadAllReceipts();if(e.length>0){let i={version:"1.0.0",exportedAt:Date.now(),length:e.length,receipts:e};this.importChain(JSON.stringify(i))?a.info("Witness chain restored from SQLite",{receipts:e.length}):a.warn("Failed to restore witness chain from SQLite \u2014 starting fresh")}}appendWitness(t){let e=super.appendWitness(t);try{this.persistence.insertReceipt(e)}catch(i){a.warn("Failed to persist witness receipt to SQLite",{chainIndex:e.chainIndex,error:i instanceof Error?i.message:String(i)})}return e}};function C(r){r.exec(`
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.9");process.exit(0)}
2
+ import{a as v}from"./chunk-OPKEQYAC.js";import{c as l}from"./chunk-VHYNRISI.js";import{S as R,b as g}from"./chunk-KRAWWBX5.js";v();R();import{createHash as m,randomUUID as f}from"crypto";var a=l.create("witness-chain"),p=class{logLikelihoodRatio=0;upperBound;lowerBound;observations=0;constructor(t=.05,e=.05){this.upperBound=Math.log(1/t),this.lowerBound=Math.log(e)}addWeightedEvidence(t,e){return this.logLikelihoodRatio+=t?e:-e,this.observations++,this.logLikelihoodRatio>=this.upperBound?"PASS":this.logLikelihoodRatio<=this.lowerBound?"FAIL":"INCONCLUSIVE"}addEvidence(t){return this.addWeightedEvidence(t,.5)}getRatio(){return this.logLikelihoodRatio}getObservations(){return this.observations}getBounds(){return{upper:this.upperBound,lower:this.lowerBound}}reset(){this.logLikelihoodRatio=0,this.observations=0}},c="0".repeat(64),h=class{receipts=[];lastHash=c;sprtAccumulators=new Map;appendWitness(t){let e=f(),i=Date.now(),s=this.receipts.length,n=this.lastHash+JSON.stringify(t)+i,o=m("sha256").update(n).digest("hex"),u={id:e,timestamp:i,previousHash:this.lastHash,hash:o,decision:t,chainIndex:s};return this.receipts.push(u),this.lastHash=o,this.updateSPRT(t),a.debug("Witness appended",{chainIndex:s,type:t.type,decision:t.decision,hash:o.slice(0,16)+"..."}),u}verifyChain(){if(this.receipts.length===0)return{valid:!0,length:0,brokenAt:-1,message:"Chain is empty (valid)",lastHash:c};let t=c;for(let e=0;e<this.receipts.length;e++){let i=this.receipts[e];if(i.previousHash!==t)return{valid:!1,length:this.receipts.length,brokenAt:e,message:`Chain broken at index ${e}: previousHash mismatch`,lastHash:this.lastHash};let s=i.previousHash+JSON.stringify(i.decision)+i.timestamp,n=m("sha256").update(s).digest("hex");if(i.hash!==n)return{valid:!1,length:this.receipts.length,brokenAt:e,message:`Chain broken at index ${e}: hash mismatch (tamper detected)`,lastHash:this.lastHash};t=i.hash}return{valid:!0,length:this.receipts.length,brokenAt:-1,message:`Chain valid (${this.receipts.length} receipts)`,lastHash:this.lastHash}}getChain(t){return t!==void 0&&t>0?[...this.receipts.slice(-t)]:[...this.receipts]}getChainLength(){return this.receipts.length}getLastHash(){return this.lastHash}exportChain(){let t={version:"1.0.0",exportedAt:Date.now(),length:this.receipts.length,receipts:this.receipts};return JSON.stringify(t,null,2)}importChain(t){try{let e=JSON.parse(t);if(!e||e.version!=="1.0.0"||!Array.isArray(e.receipts))return a.warn("Import failed: invalid format"),!1;let i=this.receipts,s=this.lastHash;this.receipts=e.receipts,this.lastHash=e.receipts.length>0?e.receipts[e.receipts.length-1].hash:c;let n=this.verifyChain();return n.valid?(a.info("Chain imported successfully",{length:e.receipts.length}),!0):(this.receipts=i,this.lastHash=s,a.warn("Import failed: chain integrity check failed",{message:n.message}),!1)}catch(e){return a.warn("Import failed: parse error",{error:e instanceof Error?e.message:String(e)}),!1}}getSPRT(t,e,i){return this.sprtAccumulators.has(t)||this.sprtAccumulators.set(t,new p(e,i)),this.sprtAccumulators.get(t)}getReceipt(t){return this.receipts[t]}updateSPRT(t){let e=t.decision==="PASS"||t.decision==="PERMIT";this.getSPRT(t.type).addEvidence(e)}},d=class extends h{persistence;constructor(t){super(),this.persistence=t;let e=t.loadAllReceipts();if(e.length>0){let i={version:"1.0.0",exportedAt:Date.now(),length:e.length,receipts:e};this.importChain(JSON.stringify(i))?a.info("Witness chain restored from SQLite",{receipts:e.length}):a.warn("Failed to restore witness chain from SQLite \u2014 starting fresh")}}appendWitness(t){let e=super.appendWitness(t);try{this.persistence.insertReceipt(e)}catch(i){a.warn("Failed to persist witness receipt to SQLite",{chainIndex:e.chainIndex,error:i instanceof Error?i.message:String(i)})}return e}};function C(r){r.exec(`
3
3
  CREATE TABLE IF NOT EXISTS witness_chain_receipts (
4
4
  id TEXT PRIMARY KEY,
5
5
  chain_index INTEGER NOT NULL,
@@ -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.7");process.exit(0)}
2
- import{S as f,b as p}from"./chunk-76JYG426.js";f();var y={predictionWindowSize:10,compressionThreshold:.3,maxConcurrentStreams:8,oscillationFrequencyMs:100};function d(s){try{return JSON.stringify(s).length}catch{return 0}}function w(s,t){let e={},n=!1;for(let r of Object.keys(t))JSON.stringify(s[r])!==JSON.stringify(t[r])&&(e[r]=t[r],n=!0);for(let r of Object.keys(s))r in t||(e[r]=void 0,n=!0);return n?e:null}function v(s,t){let e={...s};for(let[n,r]of Object.entries(t))r===void 0?delete e[n]:e[n]=r;return e}var l=class{windowSize;windows=new Map;constructor(t){this.windowSize=Math.max(1,t)}predict(t){let e=this.windows.get(t);if(!e||e.length===0)return null;let n=e[e.length-1];return typeof n!="object"||n===null||Array.isArray(n)?null:{...n}}record(t,e){let n=this.windows.get(t);n||(n=[],this.windows.set(t,n)),n.push(e),n.length>this.windowSize&&n.shift()}removeStream(t){this.windows.delete(t)}},h=class{maxStreams;cycleMs;streamIds=[];currentIndex=0;constructor(t,e){this.maxStreams=Math.max(1,t),this.cycleMs=Math.max(1,e)}addStream(t){return this.streamIds.includes(t)||this.streamIds.length>=this.maxStreams?!1:(this.streamIds.push(t),!0)}removeStream(t){let e=this.streamIds.indexOf(t);return e===-1?!1:(this.streamIds.splice(e,1),this.currentIndex>=this.streamIds.length&&(this.currentIndex=0),!0)}nextStream(){if(this.streamIds.length===0)return null;let t=this.streamIds[this.currentIndex];return this.currentIndex=(this.currentIndex+1)%this.streamIds.length,t}getActiveStreams(){return[...this.streamIds]}get activeCount(){return this.streamIds.length}},g=class{config;predictor;router;lastPayloads=new Map;totalMessages=0;compressedMessages=0;totalOriginalBytes=0;totalCompressedBytes=0;constructor(t){this.config={...y,...t},this.predictor=new l(this.config.predictionWindowSize),this.router=new h(this.config.maxConcurrentStreams,this.config.oscillationFrequencyMs)}send(t,e,n,r){this.totalMessages++;let i=d(r);this.totalOriginalBytes+=i;let c=!1,o=r,a=i;if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let m=this.predictor.predict(t);if(m){let u=w(m,r);u?1-d(u)/Math.max(i,1)>=this.config.compressionThreshold&&(o={__delta:!0,__changes:u},a=d(o),c=!0,this.compressedMessages++):(o={__delta:!0,__changes:{}},a=d(o),c=!0,this.compressedMessages++)}}return this.totalCompressedBytes+=a,this.predictor.record(t,r),this.lastPayloads.set(t,r),{streamId:t,senderId:e,receiverId:n,payload:o,compressed:c,originalSize:i,compressedSize:a,timestamp:Date.now()}}receive(t){if(!t.compressed||typeof t.payload!="object"||t.payload===null)return this.lastPayloads.set(t.streamId,t.payload),this.predictor.record(t.streamId,t.payload),t.payload;let e=t.payload;if(!e.__delta)return this.lastPayloads.set(t.streamId,t.payload),this.predictor.record(t.streamId,t.payload),t.payload;let n=this.predictor.predict(t.streamId),r=e.__changes??{};if(!n)return r;let i=v(n,r);return this.predictor.record(t.streamId,i),this.lastPayloads.set(t.streamId,i),i}getStats(){let t=this.totalOriginalBytes-this.totalCompressedBytes;return{totalMessages:this.totalMessages,compressedMessages:this.compressedMessages,bandwidthSavedBytes:Math.max(0,t),bandwidthReductionPercent:this.totalOriginalBytes>0?Math.max(0,t)/this.totalOriginalBytes*100:0,activeStreams:this.router.activeCount}}addStream(t){this.router.addStream(t)}removeStream(t){this.router.removeStream(t),this.predictor.removeStream(t),this.lastPayloads.delete(t)}};function M(s){return S()?new g(s):null}function S(){return p().useCognitiveRouting}export{M as a,S as b};
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.9");process.exit(0)}
2
+ import{S as f,b as p}from"./chunk-KRAWWBX5.js";f();var y={predictionWindowSize:10,compressionThreshold:.3,maxConcurrentStreams:8,oscillationFrequencyMs:100};function d(s){try{return JSON.stringify(s).length}catch{return 0}}function w(s,t){let e={},n=!1;for(let r of Object.keys(t))JSON.stringify(s[r])!==JSON.stringify(t[r])&&(e[r]=t[r],n=!0);for(let r of Object.keys(s))r in t||(e[r]=void 0,n=!0);return n?e:null}function v(s,t){let e={...s};for(let[n,r]of Object.entries(t))r===void 0?delete e[n]:e[n]=r;return e}var l=class{windowSize;windows=new Map;constructor(t){this.windowSize=Math.max(1,t)}predict(t){let e=this.windows.get(t);if(!e||e.length===0)return null;let n=e[e.length-1];return typeof n!="object"||n===null||Array.isArray(n)?null:{...n}}record(t,e){let n=this.windows.get(t);n||(n=[],this.windows.set(t,n)),n.push(e),n.length>this.windowSize&&n.shift()}removeStream(t){this.windows.delete(t)}},h=class{maxStreams;cycleMs;streamIds=[];currentIndex=0;constructor(t,e){this.maxStreams=Math.max(1,t),this.cycleMs=Math.max(1,e)}addStream(t){return this.streamIds.includes(t)||this.streamIds.length>=this.maxStreams?!1:(this.streamIds.push(t),!0)}removeStream(t){let e=this.streamIds.indexOf(t);return e===-1?!1:(this.streamIds.splice(e,1),this.currentIndex>=this.streamIds.length&&(this.currentIndex=0),!0)}nextStream(){if(this.streamIds.length===0)return null;let t=this.streamIds[this.currentIndex];return this.currentIndex=(this.currentIndex+1)%this.streamIds.length,t}getActiveStreams(){return[...this.streamIds]}get activeCount(){return this.streamIds.length}},g=class{config;predictor;router;lastPayloads=new Map;totalMessages=0;compressedMessages=0;totalOriginalBytes=0;totalCompressedBytes=0;constructor(t){this.config={...y,...t},this.predictor=new l(this.config.predictionWindowSize),this.router=new h(this.config.maxConcurrentStreams,this.config.oscillationFrequencyMs)}send(t,e,n,r){this.totalMessages++;let i=d(r);this.totalOriginalBytes+=i;let c=!1,o=r,a=i;if(typeof r=="object"&&r!==null&&!Array.isArray(r)){let m=this.predictor.predict(t);if(m){let u=w(m,r);u?1-d(u)/Math.max(i,1)>=this.config.compressionThreshold&&(o={__delta:!0,__changes:u},a=d(o),c=!0,this.compressedMessages++):(o={__delta:!0,__changes:{}},a=d(o),c=!0,this.compressedMessages++)}}return this.totalCompressedBytes+=a,this.predictor.record(t,r),this.lastPayloads.set(t,r),{streamId:t,senderId:e,receiverId:n,payload:o,compressed:c,originalSize:i,compressedSize:a,timestamp:Date.now()}}receive(t){if(!t.compressed||typeof t.payload!="object"||t.payload===null)return this.lastPayloads.set(t.streamId,t.payload),this.predictor.record(t.streamId,t.payload),t.payload;let e=t.payload;if(!e.__delta)return this.lastPayloads.set(t.streamId,t.payload),this.predictor.record(t.streamId,t.payload),t.payload;let n=this.predictor.predict(t.streamId),r=e.__changes??{};if(!n)return r;let i=v(n,r);return this.predictor.record(t.streamId,i),this.lastPayloads.set(t.streamId,i),i}getStats(){let t=this.totalOriginalBytes-this.totalCompressedBytes;return{totalMessages:this.totalMessages,compressedMessages:this.compressedMessages,bandwidthSavedBytes:Math.max(0,t),bandwidthReductionPercent:this.totalOriginalBytes>0?Math.max(0,t)/this.totalOriginalBytes*100:0,activeStreams:this.router.activeCount}}addStream(t){this.router.addStream(t)}removeStream(t){this.router.removeStream(t),this.predictor.removeStream(t),this.lastPayloads.delete(t)}};function M(s){return S()?new g(s):null}function S(){return p().useCognitiveRouting}export{M as a,S as b};
@@ -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.7");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
2
  import{existsSync as c,readFileSync as f}from"fs";import{join as p,dirname as i}from"path";import{fileURLToPath as s}from"url";function u(o,a=10){let t=i(s(o));for(let r=0;r<a;r++){let n=p(t,"package.json");if(c(n))try{if(JSON.parse(f(n,"utf-8")).name==="agentic-qe")return t}catch{}let e=i(t);if(e===t)break;t=e}return null}export{u as a};
@@ -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.7");process.exit(0)}
2
- import{j as d}from"./chunk-XK7P7OXO.js";import{a as u,c as g}from"./chunk-XWPUCPYW.js";g();var m=[{type:"email",pattern:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,mask:n=>n[0]+"***@"+n.split("@")[1]},{type:"ssn",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,mask:()=>"***-**-****"},{type:"credit-card",pattern:/\b(?:\d[ -]*?){13,19}\b/g,mask:n=>"****-****-****-"+n.replace(/\D/g,"").slice(-4)},{type:"phone",pattern:/\b(?:\+?1[-.\s]?)?(?:\(?\d{3}\)?[-.\s]?)?\d{3}[-.\s]?\d{4}\b/g,mask:n=>n.slice(0,3)+"***"+n.slice(-2)},{type:"api-key",pattern:/(?:key|token|api_key|apikey|secret|password|passwd|auth)=([A-Za-z0-9_\-]{16,})/gi,mask:()=>"***REDACTED***"}],y=class extends d{config={name:"qe/security/url-validate",description:"Validate URL security: checks for XSS/injection patterns, unsafe protocols, and scans URL query parameters for PII exposure (emails, SSNs, credit cards, API keys).",domain:"security-compliance",schema:this.buildSchema()};buildSchema(){return{type:"object",properties:{url:{type:"string",description:"URL to validate for security threats and PII exposure"},enablePII:{type:"boolean",description:"Enable PII exposure scanning in URL and query parameters",default:!0}},required:["url"]}}async execute(s,r){try{let e=this.validateURLSecurity(s.url),t=s.enablePII!==!1?this.scanForPII(s.url):{scanned:!1,found:!1,types:[],details:[]},c=e.issues.length+(t.found?t.types.length:0)===0?`URL passed all checks (security: clean, PII: ${t.scanned?"none found":"not scanned"})`:`URL has ${e.issues.length} security issue(s)${t.found?` and ${t.types.length} PII type(s) exposed in URL`:""}`;return{success:!0,data:{url:s.url,urlSecurity:e,piiExposure:t,summary:c}}}catch(e){return{success:!1,error:u(e)}}}validateURLSecurity(s){let r=[],e="none";try{let t=new URL(s);["http:","https:"].includes(t.protocol)||(r.push({type:"unsafe-protocol",description:`Protocol ${t.protocol} is not allowed`,severity:"high"}),e="high");let o=[/<script/i,/javascript:/i,/on\w+=/i,/data:text\/html/i];for(let i of o)if(i.test(s)){r.push({type:"xss",description:"Potential XSS pattern detected in URL",severity:"critical"}),e="critical";break}let c=[/'.*or.*'/i,/union.*select/i,/drop.*table/i,/;\s*--/i];for(let i of c)if(i.test(s)){r.push({type:"sql-injection",description:"Potential SQL injection pattern detected in URL",severity:"critical"}),e="critical";break}/\.\.[/\\]/.test(s)&&(r.push({type:"path-traversal",description:"Potential path traversal pattern (../) detected",severity:"high"}),e!=="critical"&&(e="high"));let a=["redirect","url","next","return","returnUrl","goto"];for(let i of a){let l=t.searchParams.get(i);l&&/^https?:\/\//.test(l)&&(r.push({type:"open-redirect",description:`Query parameter "${i}" contains an external URL \u2014 potential open redirect`,severity:"medium"}),e==="none"&&(e="medium"))}}catch{r.push({type:"invalid-url",description:"URL could not be parsed",severity:"critical"}),e="critical"}return{valid:r.length===0,riskLevel:e,issues:r}}scanForPII(s){let r=[],e=new Set,t;try{t=decodeURIComponent(s)}catch{t=s}let o="",c="";try{let a=new URL(t);o=a.search,c=a.pathname}catch{o=t}for(let{type:a,pattern:i,mask:l}of m){i.lastIndex=0;let p;for(;(p=i.exec(t))!==null;){e.add(a);let h=o.includes(p[0])?"query-parameter":c.includes(p[0])?"path":"url";r.push({type:a,location:h,masked:l(p[0])})}}return{scanned:!0,found:e.size>0,types:Array.from(e),details:r}}};export{y as a};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.9");process.exit(0)}
2
+ import{k as d}from"./chunk-XYRJL7YN.js";import{a as u,c as g}from"./chunk-5U5SEO7C.js";g();var m=[{type:"email",pattern:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,mask:n=>n[0]+"***@"+n.split("@")[1]},{type:"ssn",pattern:/\b\d{3}-\d{2}-\d{4}\b/g,mask:()=>"***-**-****"},{type:"credit-card",pattern:/\b(?:\d[ -]*?){13,19}\b/g,mask:n=>"****-****-****-"+n.replace(/\D/g,"").slice(-4)},{type:"phone",pattern:/\b(?:\+?1[-.\s]?)?(?:\(?\d{3}\)?[-.\s]?)?\d{3}[-.\s]?\d{4}\b/g,mask:n=>n.slice(0,3)+"***"+n.slice(-2)},{type:"api-key",pattern:/(?:key|token|api_key|apikey|secret|password|passwd|auth)=([A-Za-z0-9_\-]{16,})/gi,mask:()=>"***REDACTED***"}],y=class extends d{config={name:"qe/security/url-validate",description:"Validate URL security: checks for XSS/injection patterns, unsafe protocols, and scans URL query parameters for PII exposure (emails, SSNs, credit cards, API keys).",domain:"security-compliance",schema:this.buildSchema()};buildSchema(){return{type:"object",properties:{url:{type:"string",description:"URL to validate for security threats and PII exposure"},enablePII:{type:"boolean",description:"Enable PII exposure scanning in URL and query parameters",default:!0}},required:["url"]}}async execute(s,r){try{let e=this.validateURLSecurity(s.url),t=s.enablePII!==!1?this.scanForPII(s.url):{scanned:!1,found:!1,types:[],details:[]},c=e.issues.length+(t.found?t.types.length:0)===0?`URL passed all checks (security: clean, PII: ${t.scanned?"none found":"not scanned"})`:`URL has ${e.issues.length} security issue(s)${t.found?` and ${t.types.length} PII type(s) exposed in URL`:""}`;return{success:!0,data:{url:s.url,urlSecurity:e,piiExposure:t,summary:c}}}catch(e){return{success:!1,error:u(e)}}}validateURLSecurity(s){let r=[],e="none";try{let t=new URL(s);["http:","https:"].includes(t.protocol)||(r.push({type:"unsafe-protocol",description:`Protocol ${t.protocol} is not allowed`,severity:"high"}),e="high");let o=[/<script/i,/javascript:/i,/on\w+=/i,/data:text\/html/i];for(let i of o)if(i.test(s)){r.push({type:"xss",description:"Potential XSS pattern detected in URL",severity:"critical"}),e="critical";break}let c=[/'.*or.*'/i,/union.*select/i,/drop.*table/i,/;\s*--/i];for(let i of c)if(i.test(s)){r.push({type:"sql-injection",description:"Potential SQL injection pattern detected in URL",severity:"critical"}),e="critical";break}/\.\.[/\\]/.test(s)&&(r.push({type:"path-traversal",description:"Potential path traversal pattern (../) detected",severity:"high"}),e!=="critical"&&(e="high"));let a=["redirect","url","next","return","returnUrl","goto"];for(let i of a){let l=t.searchParams.get(i);l&&/^https?:\/\//.test(l)&&(r.push({type:"open-redirect",description:`Query parameter "${i}" contains an external URL \u2014 potential open redirect`,severity:"medium"}),e==="none"&&(e="medium"))}}catch{r.push({type:"invalid-url",description:"URL could not be parsed",severity:"critical"}),e="critical"}return{valid:r.length===0,riskLevel:e,issues:r}}scanForPII(s){let r=[],e=new Set,t;try{t=decodeURIComponent(s)}catch{t=s}let o="",c="";try{let a=new URL(t);o=a.search,c=a.pathname}catch{o=t}for(let{type:a,pattern:i,mask:l}of m){i.lastIndex=0;let p;for(;(p=i.exec(t))!==null;){e.add(a);let h=o.includes(p[0])?"query-parameter":c.includes(p[0])?"path":"url";r.push({type:a,location:h,masked:l(p[0])})}}return{scanned:!0,found:e.size>0,types:Array.from(e),details:r}}};export{y as a};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.7");process.exit(0)}
2
- import{a as T,c as N}from"./chunk-XWPUCPYW.js";import{b as D,c as L,d as V}from"./chunk-DYNO72WD.js";N();V();import*as C from"fs";import*as v from"path";import*as W from"yaml";var q=5,H=4,Q=3e4,K=".claude/skills",B=5e3,J=500,$=100,Y=1e3,F=500,z=.8,X=.2,Z=.1,w=.1,ee=.1,te=.1,se=.1,re=200,ne=500,ae=300,ie=1,oe=.9,U={maxWorkers:q,batchSize:H,retryFailedTests:!0,timeout:Q,skillsDir:K,progressIntervalMs:B},S=class{async execute(e,r,t){let s=L($,J+$);return await new Promise(o=>setTimeout(o,s)),{output:this.generateMockResponse(e),tokensUsed:D(F,Y+F),durationMs:s}}generateMockResponse(e){let r=[];return e.includes("alt")&&r.push("alt","1.1.1","perceivable"),e.includes("contrast")&&r.push("contrast","1.4.3","4.5:1"),e.includes("keyboard")&&r.push("keyboard","2.1.1","operable","button"),e.includes("label")&&r.push("label","3.3.2","understandable"),e.includes("ARIA")&&r.push("ARIA","4.1.2","robust"),e.includes("focus")&&r.push("focus","2.4.7","outline"),e.includes("lang")&&r.push("lang","3.1.1","language"),e.includes("caption")&&r.push("caption","1.2.2","track"),e.includes("accessible")&&r.push("accessible","compliant"),r.length===0&&r.push("accessibility","WCAG","finding"),`Analysis complete. Found issues related to: ${r.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.9");process.exit(0)}
2
+ import{a as T,c as N}from"./chunk-5U5SEO7C.js";import{b as D,c as L,d as V}from"./chunk-WOGWIMQK.js";N();V();import*as C from"fs";import*as v from"path";import*as W from"yaml";var q=5,H=4,Q=3e4,K=".claude/skills",B=5e3,J=500,$=100,Y=1e3,F=500,z=.8,X=.2,Z=.1,w=.1,ee=.1,te=.1,se=.1,re=200,ne=500,ae=300,ie=1,oe=.9,U={maxWorkers:q,batchSize:H,retryFailedTests:!0,timeout:Q,skillsDir:K,progressIntervalMs:B},S=class{async execute(e,r,t){let s=L($,J+$);return await new Promise(o=>setTimeout(o,s)),{output:this.generateMockResponse(e),tokensUsed:D(F,Y+F),durationMs:s}}generateMockResponse(e){let r=[];return e.includes("alt")&&r.push("alt","1.1.1","perceivable"),e.includes("contrast")&&r.push("contrast","1.4.3","4.5:1"),e.includes("keyboard")&&r.push("keyboard","2.1.1","operable","button"),e.includes("label")&&r.push("label","3.3.2","understandable"),e.includes("ARIA")&&r.push("ARIA","4.1.2","robust"),e.includes("focus")&&r.push("focus","2.4.7","outline"),e.includes("lang")&&r.push("lang","3.1.1","language"),e.includes("caption")&&r.push("caption","1.2.2","track"),e.includes("accessible")&&r.push("accessible","compliant"),r.length===0&&r.push("accessibility","WCAG","finding"),`Analysis complete. Found issues related to: ${r.join(", ")}.
3
3
  Recommendations: Implement proper ${r[0]} attributes for better accessibility.
4
4
  Severity: ${e.includes("critical")?"critical":"serious"}`}},M=class{constructor(e,r,t){this.executor=r;this.config=t;this.id=e}executor;config;id;status="idle";tasksCompleted=0;tasksFailed=0;lastHeartbeat=Date.now();async executeBatch(e){this.status="running";let r=[];for(let t of e){this.lastHeartbeat=Date.now();try{let s=await this.executeTestCase(t);if(r.push(s),s.passed)this.tasksCompleted++;else if(this.tasksFailed++,this.config.retryFailedTests&&!s.passed){let n=await this.executeTestCase(t,!0);n.passed&&(r[r.length-1]=n,this.tasksCompleted++,this.tasksFailed--)}}catch(s){this.tasksFailed++,r.push({testId:t.testCaseId,passed:!1,expectedPatterns:t.testCase.expected_output.must_contain||[],actualPatterns:[],reasoningQuality:0,category:t.testCase.category,priority:t.testCase.priority,error:T(s)})}}return this.status="idle",r}async executeTestCase(e,r=!1){let t=Date.now(),s=this.buildPrompt(e),n=await this.executor.execute(s,e.model,{timeout:this.config.timeout}),o=this.validateResponse(n.output,e.testCase.expected_output,e.testCase.validation);return{testId:e.testCaseId,passed:o.passed,expectedPatterns:e.testCase.expected_output.must_contain||[],actualPatterns:o.foundPatterns,reasoningQuality:o.reasoningQuality,executionTimeMs:Date.now()-t,category:e.testCase.category,priority:e.testCase.priority,error:o.error}}buildPrompt(e){let{testCase:r}=e,t=r.input.context;return`Analyze the following ${t.language||"HTML"} code for accessibility issues.
5
5
  Context: ${t.description||r.description}