agentic-qe 3.14.5 → 3.14.7

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 (494) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +150 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/adapters/ag-ui/event-types.d.ts +1 -1
  5. package/dist/audit/witness-chain-hash.d.ts +18 -0
  6. package/dist/audit/witness-chain-hash.js +37 -0
  7. package/dist/audit/witness-chain-repair.d.ts +71 -0
  8. package/dist/audit/witness-chain-repair.js +203 -0
  9. package/dist/audit/witness-chain-verifier.d.ts +152 -0
  10. package/dist/audit/witness-chain-verifier.js +293 -0
  11. package/dist/audit/witness-chain.d.ts +10 -43
  12. package/dist/audit/witness-chain.js +16 -106
  13. package/dist/audit/witness-findings.js +4 -1
  14. package/dist/cli/bundle.js +8 -8
  15. package/dist/cli/chunks/adapter-TVQKH65T.js +2 -0
  16. package/dist/cli/chunks/agent-booster-wasm-AK2W76RG.js +2 -0
  17. package/dist/cli/chunks/{agent-handler-V6CZ7Q6S.js → agent-handler-MGZCWHIY.js} +2 -2
  18. package/dist/cli/chunks/{agent-memory-branch-ZMD6ULC3.js → agent-memory-branch-JZ54MCSP.js} +2 -2
  19. package/dist/cli/chunks/aqe-learning-engine-ULGTVVWE.js +2 -0
  20. package/dist/cli/chunks/{arena-QLSBESC7.js → arena-CUVH3V7H.js} +2 -2
  21. package/dist/cli/chunks/{arena-4UPAEHFT.js → arena-YSWTKBCL.js} +4 -4
  22. package/dist/cli/chunks/audit-LVU76QGA.js +4 -0
  23. package/dist/cli/chunks/base-W42BURDL.js +2 -0
  24. package/dist/cli/chunks/{better-sqlite3-4DSBPDRH.js → better-sqlite3-DB3LOJQU.js} +2 -2
  25. package/dist/cli/chunks/{brain-handler-GBY4EZ4P.js → brain-handler-SD63KOQ6.js} +3 -3
  26. package/dist/cli/chunks/{branch-enumerator-XYBVXCNO.js → branch-enumerator-4MNOPUC7.js} +2 -2
  27. package/dist/cli/chunks/{browser-32F6MREU.js → browser-OLPNTWQE.js} +2 -2
  28. package/dist/cli/chunks/browser-workflow-HKGHFFFT.js +2 -0
  29. package/dist/cli/chunks/{chunk-WLXK2KNU.js → chunk-23CX7JNL.js} +2 -2
  30. package/dist/cli/chunks/{chunk-O3JTQ7N4.js → chunk-25P6JA6V.js} +1 -1
  31. package/dist/cli/chunks/{chunk-DO6EI5KB.js → chunk-2G63VIJE.js} +1 -1
  32. package/dist/cli/chunks/{chunk-G3L5L6YQ.js → chunk-2IMSJ7IO.js} +1 -1
  33. package/dist/cli/chunks/{chunk-RD6TEZ64.js → chunk-36VKMAMN.js} +2 -2
  34. package/dist/cli/chunks/{chunk-KIP6WZGV.js → chunk-3M7J4U74.js} +3 -3
  35. package/dist/cli/chunks/chunk-3QJU4Q4R.js +5 -0
  36. package/dist/cli/chunks/{chunk-2JGEZHWY.js → chunk-4EKV7PHB.js} +2 -2
  37. package/dist/cli/chunks/chunk-4INST4ZL.js +4 -0
  38. package/dist/cli/chunks/{chunk-DPBRWP4J.js → chunk-53BXTTRO.js} +3 -3
  39. package/dist/cli/chunks/chunk-5D7ZFWDS.js +2 -0
  40. package/dist/cli/chunks/{chunk-XLAUGSW7.js → chunk-5FSLMYAC.js} +2 -2
  41. package/dist/cli/chunks/chunk-5GFKTJ65.js +4 -0
  42. package/dist/cli/chunks/{chunk-WOIGKU2N.js → chunk-5U6N4V5M.js} +11 -11
  43. package/dist/cli/chunks/{chunk-PSPKSUF6.js → chunk-6EGS77BB.js} +1 -1
  44. package/dist/cli/chunks/{chunk-QIRL6B3C.js → chunk-6PJPQGF4.js} +2 -2
  45. package/dist/cli/chunks/{chunk-I6X3EGJI.js → chunk-6RD44SCE.js} +1 -1
  46. package/dist/cli/chunks/{chunk-IGBEJ4UJ.js → chunk-74IOEOMH.js} +2 -2
  47. package/dist/cli/chunks/{chunk-E3W6XQ57.js → chunk-77QZHIVX.js} +2 -2
  48. package/dist/cli/chunks/{chunk-R74ZKREV.js → chunk-7EZ2Z2CK.js} +1 -1
  49. package/dist/cli/chunks/{chunk-UTBYJ4RF.js → chunk-7MIOK72I.js} +18 -35
  50. package/dist/cli/chunks/{chunk-URVHZPWY.js → chunk-7QYOTUOX.js} +2 -2
  51. package/dist/cli/chunks/{chunk-K27SU3RE.js → chunk-A2VUCUTT.js} +2 -2
  52. package/dist/cli/chunks/{chunk-2KJQ2UQE.js → chunk-A3DK3XNZ.js} +1 -1
  53. package/dist/cli/chunks/{chunk-5D36YHS3.js → chunk-A5MA7A23.js} +4 -4
  54. package/dist/cli/chunks/{chunk-WJHWH5D2.js → chunk-AEUEMVJK.js} +2 -2
  55. package/dist/cli/chunks/{chunk-6CR4VQBQ.js → chunk-AJUBT4NP.js} +2 -2
  56. package/dist/cli/chunks/chunk-B2YGVSOP.js +27 -0
  57. package/dist/cli/chunks/{chunk-D6OUCB2H.js → chunk-B4I43GE2.js} +2 -2
  58. package/dist/cli/chunks/{chunk-WK7B4B6Y.js → chunk-BD7FEUN3.js} +2 -2
  59. package/dist/cli/chunks/{chunk-OEIQTWQP.js → chunk-BE4KALTE.js} +1 -1
  60. package/dist/cli/chunks/{chunk-JROVR6YS.js → chunk-BEFTQVEW.js} +2 -2
  61. package/dist/cli/chunks/{chunk-HBCGYMQU.js → chunk-BLG7SH4A.js} +1 -1
  62. package/dist/cli/chunks/{chunk-2OMLTYQK.js → chunk-C3FXFU2T.js} +1 -1
  63. package/dist/cli/chunks/{chunk-6A44AOGN.js → chunk-CBONQM5D.js} +2 -2
  64. package/dist/cli/chunks/{chunk-73EI4C2E.js → chunk-CQNMGK6Y.js} +2 -2
  65. package/dist/cli/chunks/{chunk-IIAR5S7Q.js → chunk-CVOQ6ESD.js} +2 -2
  66. package/dist/cli/chunks/{chunk-6TU7FEMD.js → chunk-DOBKEXMJ.js} +1 -1
  67. package/dist/cli/chunks/{chunk-BHFR2EXL.js → chunk-DYTQHRUS.js} +1 -1
  68. package/dist/cli/chunks/{chunk-E4AZXCT5.js → chunk-EADSQN5T.js} +1 -1
  69. package/dist/cli/chunks/{chunk-CYE2TJFV.js → chunk-EGOIIUBD.js} +2 -2
  70. package/dist/cli/chunks/{chunk-DKUBQQFG.js → chunk-EIGRV3J6.js} +2 -2
  71. package/dist/cli/chunks/{chunk-RP2ZKPYV.js → chunk-EJ6MMYLK.js} +1 -1
  72. package/dist/cli/chunks/{chunk-HSVKZ5KI.js → chunk-ENK44A6Q.js} +2 -2
  73. package/dist/cli/chunks/{chunk-67YV75XP.js → chunk-EYXE2XKP.js} +2 -2
  74. package/dist/cli/chunks/{chunk-HYEJJJY3.js → chunk-F2OPFVQH.js} +1 -1
  75. package/dist/cli/chunks/{chunk-XUR2M2WB.js → chunk-FBZC4IGB.js} +2 -2
  76. package/dist/cli/chunks/{chunk-BXVAVFGU.js → chunk-FSSR6WBE.js} +2 -2
  77. package/dist/cli/chunks/{chunk-W2XCZU62.js → chunk-FW4DJ4FJ.js} +1 -1
  78. package/dist/cli/chunks/{chunk-KKHYJF5U.js → chunk-FYPX5WBJ.js} +1 -1
  79. package/dist/cli/chunks/{chunk-K7NJHFLZ.js → chunk-G367W7XR.js} +3 -3
  80. package/dist/cli/chunks/{chunk-IUDWEOLX.js → chunk-GLGKQX2V.js} +2 -2
  81. package/dist/cli/chunks/{chunk-JVQBWYHW.js → chunk-GV4DYPJP.js} +2 -2
  82. package/dist/cli/chunks/{chunk-GTKCGPJZ.js → chunk-GVVFTFMB.js} +2 -2
  83. package/dist/cli/chunks/{chunk-AFEDJ3RU.js → chunk-H5RQPO3X.js} +2 -2
  84. package/dist/cli/chunks/{chunk-4FWTLJEP.js → chunk-HPWWYT67.js} +2 -2
  85. package/dist/cli/chunks/{chunk-G3W6BMVJ.js → chunk-HXXHMLJ5.js} +1 -1
  86. package/dist/cli/chunks/{chunk-NU7UTXMP.js → chunk-HYFQUWNB.js} +2 -2
  87. package/dist/cli/chunks/chunk-HYOPJHHW.js +2 -0
  88. package/dist/cli/chunks/{chunk-6LKDHEBY.js → chunk-HZY42OVU.js} +2 -2
  89. package/dist/cli/chunks/{chunk-C3HQL6S4.js → chunk-IAENZ2DR.js} +2 -2
  90. package/dist/cli/chunks/{chunk-M23ZOZVY.js → chunk-IEJ7ZV3M.js} +1 -1
  91. package/dist/cli/chunks/{chunk-RIZVC4XY.js → chunk-IWFFO6VT.js} +2 -2
  92. package/dist/cli/chunks/chunk-J7AQZLIH.js +21 -0
  93. package/dist/cli/chunks/{chunk-3KDL6QDK.js → chunk-JHJUSSAU.js} +2 -2
  94. package/dist/cli/chunks/{chunk-DLF5BOJD.js → chunk-JOZ47MV6.js} +1 -1
  95. package/dist/cli/chunks/{chunk-ELBZON4V.js → chunk-JZT7BU44.js} +2 -2
  96. package/dist/cli/chunks/{chunk-3DDXWYMO.js → chunk-KD2BLA5Y.js} +1 -1
  97. package/dist/cli/chunks/{chunk-VD5IO5EO.js → chunk-KUHLTVWC.js} +1 -1
  98. package/dist/cli/chunks/{chunk-YDFL445W.js → chunk-LU2EDWQK.js} +2 -2
  99. package/dist/cli/chunks/chunk-LXZMP3VX.js +736 -0
  100. package/dist/cli/chunks/{chunk-3YUB5HER.js → chunk-LY7MFGBD.js} +196 -187
  101. package/dist/cli/chunks/chunk-MM56VPNE.js +180 -0
  102. package/dist/cli/chunks/{chunk-37TUN44F.js → chunk-MNQN7UZX.js} +2 -2
  103. package/dist/cli/chunks/{chunk-7DETTOPZ.js → chunk-MQZ53OR3.js} +2 -2
  104. package/dist/cli/chunks/{chunk-BYG36QC5.js → chunk-MT7UNBZ7.js} +2 -2
  105. package/dist/cli/chunks/{chunk-JES6R5KP.js → chunk-MZB2UV2O.js} +1 -1
  106. package/dist/cli/chunks/{chunk-QZMUXJHZ.js → chunk-MZMG6CUJ.js} +2 -2
  107. package/dist/cli/chunks/chunk-N5XOXPHZ.js +4 -0
  108. package/dist/cli/chunks/{chunk-RD2VGOUH.js → chunk-NBLDBVAW.js} +1 -1
  109. package/dist/cli/chunks/{chunk-HVU64GP5.js → chunk-ND4QTZOL.js} +2 -2
  110. package/dist/cli/chunks/{chunk-SQF6HRXR.js → chunk-NHUGHAY6.js} +1 -1
  111. package/dist/cli/chunks/{chunk-TUSSPKRM.js → chunk-NOHWJOBS.js} +1 -1
  112. package/dist/cli/chunks/{chunk-NVYBM3R4.js → chunk-O5V7RHVG.js} +2 -2
  113. package/dist/cli/chunks/{chunk-6VAZAHQG.js → chunk-O6MO5KMR.js} +2 -2
  114. package/dist/cli/chunks/{chunk-IUHB5GVS.js → chunk-OAZX6WFU.js} +2 -2
  115. package/dist/cli/chunks/{chunk-LSUILON7.js → chunk-OEPNNLR4.js} +1 -1
  116. package/dist/cli/chunks/{chunk-IJHCIXJC.js → chunk-OIDWDGLG.js} +2 -2
  117. package/dist/cli/chunks/{chunk-CPC7FN52.js → chunk-ON2UTP2U.js} +2 -2
  118. package/dist/cli/chunks/{chunk-UJWAWIRV.js → chunk-ONR2NXXD.js} +7 -7
  119. package/dist/cli/chunks/{chunk-7VFY7TUR.js → chunk-OXHF3L2T.js} +2 -2
  120. package/dist/cli/chunks/{chunk-QYOGD2VW.js → chunk-OZGIOKEA.js} +1 -1
  121. package/dist/cli/chunks/{chunk-WJTSY5MC.js → chunk-P2UPYSDJ.js} +1 -1
  122. package/dist/cli/chunks/{chunk-52L77RMG.js → chunk-P7XSPP5D.js} +2 -2
  123. package/dist/cli/chunks/{chunk-M5AEL7IS.js → chunk-PCJQCEBA.js} +2 -2
  124. package/dist/cli/chunks/chunk-PELENDDQ.js +2 -0
  125. package/dist/cli/chunks/{chunk-C3Z4VVHP.js → chunk-PYKY22GC.js} +5 -5
  126. package/dist/cli/chunks/{chunk-AF4XKLXO.js → chunk-Q3NSU24F.js} +2 -2
  127. package/dist/cli/chunks/chunk-Q6NTEICT.js +2 -0
  128. package/dist/cli/chunks/chunk-QFETNCNN.js +12 -0
  129. package/dist/cli/chunks/{chunk-KYA5LARK.js → chunk-QGOWNVVG.js} +1 -1
  130. package/dist/cli/chunks/{chunk-Y5L3ES4L.js → chunk-QPLSYEWJ.js} +2 -2
  131. package/dist/cli/chunks/{chunk-F34OAHOM.js → chunk-QQFQDEUE.js} +2 -2
  132. package/dist/cli/chunks/{chunk-EFV4ADMO.js → chunk-QUORH2MG.js} +55 -79
  133. package/dist/cli/chunks/{chunk-QWUXCG2L.js → chunk-QVH5Y7AP.js} +1 -1
  134. package/dist/cli/chunks/{chunk-I2NENQ44.js → chunk-RC2A4JZ5.js} +2 -2
  135. package/dist/cli/chunks/{chunk-XZSMZHM2.js → chunk-RDGPXENG.js} +2 -2
  136. package/dist/cli/chunks/{chunk-N7H767TP.js → chunk-RKI3IQKQ.js} +2 -2
  137. package/dist/cli/chunks/{chunk-LULD4JV2.js → chunk-RKUAWQOF.js} +2 -2
  138. package/dist/cli/chunks/chunk-RLW25X66.js +2 -0
  139. package/dist/cli/chunks/{chunk-UKGXWW64.js → chunk-ROVZSZCS.js} +3 -3
  140. package/dist/cli/chunks/{chunk-EOR2UT72.js → chunk-RT6O2HW2.js} +2 -2
  141. package/dist/cli/chunks/{chunk-75QJ5HWE.js → chunk-SM2YJ2AL.js} +2 -2
  142. package/dist/cli/chunks/{chunk-KO4FNAUR.js → chunk-SRPLERER.js} +3 -3
  143. package/dist/cli/chunks/{chunk-NRE4NAVA.js → chunk-T77GZF4B.js} +1 -1
  144. package/dist/cli/chunks/{chunk-R6IU3EWP.js → chunk-TFK2AYIN.js} +2 -2
  145. package/dist/cli/chunks/chunk-TW3SR4TS.js +2 -0
  146. package/dist/cli/chunks/{chunk-IYTLXUBO.js → chunk-TXSPBLBT.js} +2 -2
  147. package/dist/cli/chunks/chunk-UA7TDVL7.js +12 -0
  148. package/dist/cli/chunks/{chunk-WX6RRIGW.js → chunk-UBJG3IHT.js} +2 -2
  149. package/dist/cli/chunks/{chunk-NQI7FWCS.js → chunk-UFSVUBTR.js} +2 -2
  150. package/dist/cli/chunks/{chunk-FUNGTIF2.js → chunk-UOI6ULCH.js} +2 -2
  151. package/dist/cli/chunks/{chunk-HVXJC3OC.js → chunk-UYUJT6QO.js} +2 -2
  152. package/dist/cli/chunks/{chunk-KEY43ANX.js → chunk-V5AK56DA.js} +2 -2
  153. package/dist/cli/chunks/{chunk-XFPPERA2.js → chunk-V6RE4YRQ.js} +2 -2
  154. package/dist/cli/chunks/{chunk-DDCIYOGT.js → chunk-VW6FRMLW.js} +2 -2
  155. package/dist/cli/chunks/chunk-VXKWNRGA.js +2 -0
  156. package/dist/cli/chunks/{chunk-CVMNJSCB.js → chunk-VYDVI6FZ.js} +2 -2
  157. package/dist/cli/chunks/{chunk-7JZJJA7U.js → chunk-WF6UISKW.js} +3 -3
  158. package/dist/cli/chunks/{chunk-SQKW3B6B.js → chunk-WIH522AP.js} +1 -1
  159. package/dist/cli/chunks/{chunk-KLTP5IDB.js → chunk-WOV6XI3A.js} +1 -1
  160. package/dist/cli/chunks/{chunk-VTOVWHEM.js → chunk-X7ADKL7T.js} +2 -2
  161. package/dist/cli/chunks/{chunk-SX4JLSLV.js → chunk-XBYQ2BS4.js} +2 -2
  162. package/dist/cli/chunks/{chunk-E4EYPYR3.js → chunk-XL5KIYE3.js} +2 -2
  163. package/dist/cli/chunks/{chunk-3VIXOHMS.js → chunk-XWYELBZS.js} +1 -1
  164. package/dist/cli/chunks/{chunk-YQGPQBCX.js → chunk-XYLQZWF6.js} +2 -2
  165. package/dist/cli/chunks/{chunk-XEZIIQYJ.js → chunk-Y6AKKQIQ.js} +1 -1
  166. package/dist/cli/chunks/{chunk-BJPL6THQ.js → chunk-YMW57PEL.js} +1 -1
  167. package/dist/cli/chunks/{chunk-JSZ663MU.js → chunk-YO4ESCB4.js} +1 -1
  168. package/dist/cli/chunks/{chunk-AMMQOV35.js → chunk-YRHTQZU4.js} +2 -2
  169. package/dist/cli/chunks/chunk-Z4Q5PCRZ.js +65 -0
  170. package/dist/cli/chunks/{chunk-RKOUXVZZ.js → chunk-ZELWDJXT.js} +2 -2
  171. package/dist/cli/chunks/{chunk-QRCIZFNK.js → chunk-ZQZD55MN.js} +2 -2
  172. package/dist/cli/chunks/{chunk-UMGFMKDW.js → chunk-ZS4XVJGV.js} +2 -2
  173. package/dist/cli/chunks/{chunk-6ITZZIQX.js → chunk-ZUB5YOCM.js} +2 -2
  174. package/dist/cli/chunks/chunk-ZUOVNFXK.js +2 -0
  175. package/dist/cli/chunks/{chunk-RGGK6VZ7.js → chunk-ZWEKAEEV.js} +1 -1
  176. package/dist/cli/chunks/{ci-RACDAJMR.js → ci-J3TDK5RA.js} +8 -8
  177. package/dist/cli/chunks/{ci-output-EHRSZBKG.js → ci-output-RLS32FUY.js} +2 -2
  178. package/dist/cli/chunks/{circuit-breaker-GBV7M5XG.js → circuit-breaker-MRCC7WCM.js} +2 -2
  179. package/dist/cli/chunks/claude-flow-setup-LIZCEKDF.js +2 -0
  180. package/dist/cli/chunks/client-3BD2DI4N.js +2 -0
  181. package/dist/cli/chunks/{cline-installer-W4NMXJSG.js → cline-installer-T7H6R2RC.js} +2 -2
  182. package/dist/cli/chunks/{code-JWXJMYXB.js → code-XMBLI7OF.js} +3 -3
  183. package/dist/cli/chunks/{code-index-extractor-RVI2IFTM.js → code-index-extractor-QS7BYLEX.js} +2 -2
  184. package/dist/cli/chunks/{codex-installer-3BORJINH.js → codex-installer-6PGT5FM6.js} +6 -6
  185. package/dist/cli/chunks/{completions-A55NCTAO.js → completions-2A3WRXY2.js} +2 -2
  186. package/dist/cli/chunks/{complexity-analyzer-JCXHGGLY.js → complexity-analyzer-23HOOGJ7.js} +2 -2
  187. package/dist/cli/chunks/{continuedev-installer-PUVFMGYW.js → continuedev-installer-4FSF7B3N.js} +2 -2
  188. package/dist/cli/chunks/{copilot-installer-4DCMYWHB.js → copilot-installer-A5GRQQUU.js} +2 -2
  189. package/dist/cli/chunks/core-handlers-C3H2ZCS2.js +2 -0
  190. package/dist/cli/chunks/{cost-tracker-5TV2GGKY.js → cost-tracker-Z4STQ5VB.js} +2 -2
  191. package/dist/cli/chunks/{coverage-NNWM7TX3.js → coverage-NUPP6KZZ.js} +3 -3
  192. package/dist/cli/chunks/cross-domain-router-JCQ7SWDP.js +2 -0
  193. package/dist/cli/chunks/{cursor-installer-4NCHGJGK.js → cursor-installer-FVJ7ROPJ.js} +2 -2
  194. package/dist/cli/chunks/{daemon-QIKCXKWO.js → daemon-7ZZA2MMN.js} +4 -4
  195. package/dist/cli/chunks/{daemon-T4JO4IXP.js → daemon-D662EX5N.js} +3 -3
  196. package/dist/cli/chunks/{dag-attention-scheduler-RPAAIDAD.js → dag-attention-scheduler-IB4TQ2KA.js} +2 -2
  197. package/dist/cli/chunks/{detect-SBEEVDSN.js → detect-LGLBZN4I.js} +2 -2
  198. package/dist/cli/chunks/{dist-node-ZHI6NCSU.js → dist-node-Z3OL42YE.js} +2 -2
  199. package/dist/cli/chunks/{domain-handler-LBC3GJ7Z.js → domain-handler-L3CLNL7U.js} +2 -2
  200. package/dist/cli/chunks/{domain-plugins-H6IZ5USZ.js → domain-plugins-GQ3V5X6L.js} +2 -2
  201. package/dist/cli/chunks/domain-transfer-MFCI76IY.js +2 -0
  202. package/dist/cli/chunks/dream-FTP33IJB.js +2 -0
  203. package/dist/cli/chunks/{embed-and-insert-pattern-AHTR7CRU.js → embed-and-insert-pattern-UGD6USYH.js} +2 -2
  204. package/dist/cli/chunks/{eval-DZU2KISM.js → eval-3B7UIYGY.js} +2 -2
  205. package/dist/cli/chunks/{experience-capture-middleware-5IQCWKSL.js → experience-capture-middleware-3RQ4NYY3.js} +3 -3
  206. package/dist/cli/chunks/{fast-paths-2KLDUWCY.js → fast-paths-QOSAEPYD.js} +2 -2
  207. package/dist/cli/chunks/{feature-flags-7AC3XDZA.js → feature-flags-3S5TH6P4.js} +2 -2
  208. package/dist/cli/chunks/{feature-flags-N6UAEZY4.js → feature-flags-TLF4NKOH.js} +2 -2
  209. package/dist/cli/chunks/{file-discovery-5SDIW4V2.js → file-discovery-AEVMJRNB.js} +2 -2
  210. package/dist/cli/chunks/{fleet-ZIQCAZ2Y.js → fleet-E6WTXWFL.js} +3 -3
  211. package/dist/cli/chunks/{gnn-wrapper-DUMBZJEV.js → gnn-wrapper-MCKH3AUU.js} +2 -2
  212. package/dist/cli/chunks/{heartbeat-handler-6HVM6ZMR.js → heartbeat-handler-U7XENHRR.js} +4 -4
  213. package/dist/cli/chunks/heartbeat-scheduler-HXBJVJL2.js +2 -0
  214. package/dist/cli/chunks/hnsw-adapter-TU6WG2ME.js +2 -0
  215. package/dist/cli/chunks/hnsw-index-MS5KODD7.js +2 -0
  216. package/dist/cli/chunks/{hnsw-legacy-bridge-5DRL5FLX.js → hnsw-legacy-bridge-5GW4SAEI.js} +2 -2
  217. package/dist/cli/chunks/{hnswlib-node-GW67GTCL.js → hnswlib-node-7BLZBK5T.js} +2 -2
  218. package/dist/cli/chunks/{hooks-QHH6FVO4.js → hooks-F3O2SB6H.js} +10 -10
  219. package/dist/cli/chunks/hybrid-backend-HT45LBHC.js +2 -0
  220. package/dist/cli/chunks/{hypergraph-engine-7XDCCVG2.js → hypergraph-engine-PV4EKXHB.js} +2 -2
  221. package/dist/cli/chunks/{hypergraph-handler-QHF7NOU5.js → hypergraph-handler-VOWO5ZTW.js} +3 -3
  222. package/dist/cli/chunks/impact-analyzer-AP4AGTG5.js +2 -0
  223. package/dist/cli/chunks/{init-handler-5UIVOM7K.js → init-handler-ENJ5ONJX.js} +16 -14
  224. package/dist/cli/chunks/init-wizard-I5DFZUQL.js +2 -0
  225. package/dist/cli/chunks/kernel-MISPSPPA.js +2 -0
  226. package/dist/cli/chunks/{kilocode-installer-TGGV6K5Q.js → kilocode-installer-HNNJOOPE.js} +2 -2
  227. package/dist/cli/chunks/{kiro-installer-4XYBHZWW.js → kiro-installer-UZBIQ3IC.js} +2 -2
  228. package/dist/cli/chunks/knowledge-graph-L26JESGE.js +2 -0
  229. package/dist/cli/chunks/{learning-STE5W6BS.js → learning-YMLCVFUT.js} +3 -3
  230. package/dist/cli/chunks/{llm-router-NKF7J3RI.js → llm-router-YWTARCCT.js} +4 -4
  231. package/dist/cli/chunks/llm-router-service-MWGC43ZA.js +2 -0
  232. package/dist/cli/chunks/{load-B2T77UJQ.js → load-DKE3F3IP.js} +2 -2
  233. package/dist/cli/chunks/load-test-H5ISNNM5.js +2 -0
  234. package/dist/cli/chunks/mcp-5PSGIUCW.js +2 -0
  235. package/dist/cli/chunks/{memory-WRFZKG56.js → memory-3L3O6JMM.js} +5 -5
  236. package/dist/cli/chunks/memory-backend-HWDNOBKW.js +2 -0
  237. package/dist/cli/chunks/memory-handlers-ZFDVQZM5.js +2 -0
  238. package/dist/cli/chunks/multi-model-executor-AEEO7IA4.js +14 -0
  239. package/dist/cli/chunks/{opencode-installer-J36EMQU7.js → opencode-installer-ABBO355U.js} +2 -2
  240. package/dist/cli/chunks/orchestrator-E36Q7MKE.js +393 -0
  241. package/dist/cli/chunks/pattern-null-store-GQP6ICWK.js +2 -0
  242. package/dist/cli/chunks/{pattern-usage-recorder-BVMTWI3E.js → pattern-usage-recorder-H4XKSID4.js} +2 -2
  243. package/dist/cli/chunks/{pipeline-OWAHDUAQ.js → pipeline-BGFEHXIN.js} +2 -2
  244. package/dist/cli/chunks/{platform-ANGBFWBV.js → platform-GK7ZVDJI.js} +2 -2
  245. package/dist/cli/chunks/{plugin-OO7ON2YW.js → plugin-CAH2CKI6.js} +2 -2
  246. package/dist/cli/chunks/{prime-radiant-advanced-wasm-HFG3BXWU.js → prime-radiant-advanced-wasm-M5EYRONA.js} +2 -2
  247. package/dist/cli/chunks/{project-root-LNOYVTYY.js → project-root-BSNZC243.js} +2 -2
  248. package/dist/cli/chunks/protocol-executor-AD5A4DAI.js +2 -0
  249. package/dist/cli/chunks/{protocol-handler-CE3Q6LY4.js → protocol-handler-JDSSC2SF.js} +2 -2
  250. package/dist/cli/chunks/{prove-7XPN53PY.js → prove-ANPTOZJE.js} +2 -2
  251. package/dist/cli/chunks/qe-reasoning-bank-W3Z2PKTR.js +2 -0
  252. package/dist/cli/chunks/{quality-TT23JRFX.js → quality-SXWGYRQR.js} +2 -2
  253. package/dist/cli/chunks/{quality-gate-PPPRP255.js → quality-gate-GYNCA4ZY.js} +3 -3
  254. package/dist/cli/chunks/queen-coordinator-HQRHLIJX.js +2 -0
  255. package/dist/cli/chunks/{real-embeddings-EYNZIFJE.js → real-embeddings-WSRYAOZM.js} +2 -2
  256. package/dist/cli/chunks/{ref-validation-QQR64ZXD.js → ref-validation-AZ3LRWEK.js} +2 -2
  257. package/dist/cli/chunks/{roocode-installer-UIGS7ZJD.js → roocode-installer-2QKGFIEU.js} +2 -2
  258. package/dist/cli/chunks/router-MTP5LH4H.js +2 -0
  259. package/dist/cli/chunks/routing-feedback-GWETVB4L.js +2 -0
  260. package/dist/cli/chunks/{routing-handler-6AENUIRG.js → routing-handler-UYDC5MMD.js} +2 -2
  261. package/dist/cli/chunks/{ruvector-commands-5AWMEV34.js → ruvector-commands-QXADPVEY.js} +2 -2
  262. package/dist/cli/chunks/rvf-dual-writer-4UE5S7WP.js +2 -0
  263. package/dist/cli/chunks/rvf-migration-adapter-PHH3HF4Q.js +2 -0
  264. package/dist/cli/chunks/{rvf-migration-coordinator-NWRJ7C22.js → rvf-migration-coordinator-GD4NBFKT.js} +2 -2
  265. package/dist/cli/chunks/rvf-native-adapter-KTLZBUWV.js +2 -0
  266. package/dist/cli/chunks/{rvf-store-integrity-ISKRP563.js → rvf-store-integrity-7SXG66IL.js} +2 -2
  267. package/dist/cli/chunks/safe-db-FWWGAPVE.js +2 -0
  268. package/dist/cli/chunks/schedule-TPA4V4D5.js +2 -0
  269. package/dist/cli/chunks/scheduler-5ZTEPNDD.js +2 -0
  270. package/dist/cli/chunks/{security-325A7FMB.js → security-YKB622PK.js} +3 -3
  271. package/dist/cli/chunks/shared-rvf-adapter-KMLAV7JK.js +2 -0
  272. package/dist/cli/chunks/{shared-rvf-dual-writer-THFDYS2Z.js → shared-rvf-dual-writer-OYY27DFV.js} +2 -2
  273. package/dist/cli/chunks/sqlite-persistence-HPTT624C.js +2 -0
  274. package/dist/cli/chunks/{standalone-memory-UD4MJ6GZ.js → standalone-memory-2DOABVLC.js} +2 -2
  275. package/dist/cli/chunks/{status-handler-CPFTN4XL.js → status-handler-EXRKETV7.js} +2 -2
  276. package/dist/cli/chunks/{structural-health-2MG2IVBL.js → structural-health-2SKK6DU6.js} +2 -2
  277. package/dist/cli/chunks/sync-DQ2YUNI6.js +2 -0
  278. package/dist/cli/chunks/{sync-EE4VVKOW.js → sync-UW7SX7GO.js} +2 -2
  279. package/dist/cli/chunks/{task-handler-7H5OYJG4.js → task-handler-LYQ6WYUY.js} +2 -2
  280. package/dist/cli/chunks/task-handlers-DIJO232S.js +9 -0
  281. package/dist/cli/chunks/test-WRHZMUCW.js +33 -0
  282. package/dist/cli/chunks/{test-scheduling-CHQ4ZLLJ.js → test-scheduling-HI23RXFK.js} +3 -3
  283. package/dist/cli/chunks/token-bootstrap-23SA6SWZ.js +2 -0
  284. package/dist/cli/chunks/{token-usage-EBXUJNRB.js → token-usage-M7RRDPXO.js} +2 -2
  285. package/dist/cli/chunks/{transformers-ZEKS2OJZ.js → transformers-4TC35KKS.js} +2 -2
  286. package/dist/cli/chunks/tree-sitter-wasm-parser-F4LTKAWD.js +2 -0
  287. package/dist/cli/chunks/{types-KYAA5VLV.js → types-NBXV6LXQ.js} +2 -2
  288. package/dist/cli/chunks/unified-memory-OVFEPRPS.js +2 -0
  289. package/dist/cli/chunks/unified-memory-hnsw-KKRSCZHR.js +2 -0
  290. package/dist/cli/chunks/unified-persistence-7GLR4RI3.js +2 -0
  291. package/dist/cli/chunks/{upgrade-UJBJ5AYM.js → upgrade-4BGOU5RM.js} +2 -2
  292. package/dist/cli/chunks/{validate-RUV6YMWS.js → validate-EDWAR63H.js} +2 -2
  293. package/dist/cli/chunks/{validate-swarm-IVEVMGVM.js → validate-swarm-VI72CPR7.js} +2 -2
  294. package/dist/cli/chunks/visual-security-2FUM5GLI.js +2 -0
  295. package/dist/cli/chunks/{web-tree-sitter-AVWA6HKE.js → web-tree-sitter-Y5XBRQXF.js} +2 -2
  296. package/dist/cli/chunks/{windsurf-installer-DAH7HI2W.js → windsurf-installer-VEX23WAF.js} +2 -2
  297. package/dist/cli/chunks/witness-chain-3YNL6YGY.js +2 -0
  298. package/dist/cli/chunks/witness-chain-MH6GA5L6.js +2 -0
  299. package/dist/cli/chunks/witness-chain-repair-MJZGZRWT.js +2 -0
  300. package/dist/cli/chunks/witness-chain-verifier-TTJYXTBE.js +2 -0
  301. package/dist/cli/chunks/{witness-key-manager-JSTBMG43.js → witness-key-manager-EM6YXYOY.js} +2 -2
  302. package/dist/cli/chunks/{workflow-TWOIA6LZ.js → workflow-2RBDOM7V.js} +4 -4
  303. package/dist/cli/chunks/workflow-orchestrator-H6G65YKU.js +2 -0
  304. package/dist/cli/chunks/wrappers-5OTAVVOV.js +2 -0
  305. package/dist/cli/commands/audit.d.ts +20 -2
  306. package/dist/cli/commands/audit.js +158 -16
  307. package/dist/cli/commands/ci.js +1 -1
  308. package/dist/cli/commands/claude-flow-setup.js +5 -4
  309. package/dist/cli/commands/test.js +18 -3
  310. package/dist/cli/handlers/init-handler.d.ts +2 -0
  311. package/dist/cli/handlers/init-handler.js +8 -2
  312. package/dist/cli/index.js +10 -1
  313. package/dist/coordination/handlers/test-execution-handlers.js +13 -8
  314. package/dist/coordination/index.d.ts +1 -1
  315. package/dist/coordination/queen-event-handlers.js +9 -6
  316. package/dist/coordination/result-saver.js +1 -1
  317. package/dist/coordination/services/index.d.ts +1 -1
  318. package/dist/coordination/services/task-audit-logger.d.ts +38 -13
  319. package/dist/coordination/services/task-audit-logger.js +33 -5
  320. package/dist/coordination/task-executor.d.ts +5 -0
  321. package/dist/coordination/task-executor.js +10 -5
  322. package/dist/domains/test-generation/coordinator.js +6 -5
  323. package/dist/domains/test-generation/interfaces.d.ts +11 -1
  324. package/dist/domains/test-generation/services/behavior-example-validation.d.ts +36 -0
  325. package/dist/domains/test-generation/services/behavior-example-validation.js +89 -0
  326. package/dist/domains/test-generation/services/behavior-examples.d.ts +8 -0
  327. package/dist/domains/test-generation/services/behavior-examples.js +65 -0
  328. package/dist/domains/test-generation/services/test-generator.d.ts +1 -1
  329. package/dist/domains/test-generation/services/test-generator.js +59 -30
  330. package/dist/domains/visual-accessibility/services/axe-core-audit.d.ts +0 -15
  331. package/dist/domains/visual-accessibility/services/axe-core-audit.js +12 -10
  332. package/dist/init/agents-installer.d.ts +4 -0
  333. package/dist/init/agents-installer.js +24 -11
  334. package/dist/init/browser-engine-installer.d.ts +5 -5
  335. package/dist/init/browser-engine-installer.js +28 -6
  336. package/dist/init/codex-installer.js +4 -2
  337. package/dist/init/idempotent-write.d.ts +53 -0
  338. package/dist/init/idempotent-write.js +160 -0
  339. package/dist/init/init-wizard.d.ts +2 -0
  340. package/dist/init/orchestrator.js +1 -0
  341. package/dist/init/phases/05-learning.js +3 -1
  342. package/dist/init/phases/07-hooks.js +32 -16
  343. package/dist/init/phases/08-mcp.js +4 -2
  344. package/dist/init/phases/09-assets.js +8 -18
  345. package/dist/init/phases/10-workers.js +7 -5
  346. package/dist/init/phases/12-verification.js +7 -2
  347. package/dist/init/phases/phase-interface.d.ts +2 -0
  348. package/dist/init/project-analyzer.d.ts +9 -0
  349. package/dist/init/project-analyzer.js +20 -1
  350. package/dist/init/self-configurator.d.ts +5 -3
  351. package/dist/init/self-configurator.js +18 -29
  352. package/dist/init/skills-installer.js +4 -2
  353. package/dist/init/types.d.ts +6 -0
  354. package/dist/init/types.js +20 -24
  355. package/dist/integrations/agentic-flow/reasoning-bank/index.d.ts +2 -5
  356. package/dist/integrations/coherence/coherence-service.js +84 -24
  357. package/dist/integrations/coherence/vote-tally.d.ts +38 -0
  358. package/dist/integrations/coherence/vote-tally.js +39 -0
  359. package/dist/integrations/ruvector/shared-rvf-adapter.d.ts +23 -0
  360. package/dist/integrations/ruvector/shared-rvf-adapter.js +24 -0
  361. package/dist/integrations/vibium/client.d.ts +1 -0
  362. package/dist/integrations/vibium/client.js +24 -11
  363. package/dist/integrations/vibium/runtime.d.ts +14 -0
  364. package/dist/integrations/vibium/runtime.js +94 -0
  365. package/dist/kernel/kernel.js +3 -2
  366. package/dist/kernel/pattern-fts-self-heal.d.ts +63 -0
  367. package/dist/kernel/pattern-fts-self-heal.js +193 -0
  368. package/dist/kernel/process-lifecycle.d.ts +60 -0
  369. package/dist/kernel/process-lifecycle.js +91 -0
  370. package/dist/kernel/unified-memory-schemas.d.ts +15 -1
  371. package/dist/kernel/unified-memory-schemas.js +53 -25
  372. package/dist/kernel/unified-memory.js +31 -34
  373. package/dist/kernel/unified-persistence.js +12 -6
  374. package/dist/learning/experience-capture.d.ts +2 -1
  375. package/dist/learning/experience-capture.js +23 -8
  376. package/dist/learning/pattern-store.d.ts +12 -1
  377. package/dist/learning/pattern-store.js +45 -30
  378. package/dist/learning/qe-patterns.d.ts +12 -0
  379. package/dist/learning/qe-patterns.js +7 -1
  380. package/dist/learning/qe-reasoning-bank.d.ts +1 -0
  381. package/dist/learning/qe-reasoning-bank.js +17 -4
  382. package/dist/learning/real-qe-reasoning-bank.d.ts +9 -4
  383. package/dist/learning/real-qe-reasoning-bank.js +28 -4
  384. package/dist/learning/rvf-pattern-store.js +36 -23
  385. package/dist/learning/sqlite-persistence.d.ts +8 -1
  386. package/dist/learning/sqlite-persistence.js +58 -33
  387. package/dist/logging/console-logger.d.ts +2 -5
  388. package/dist/logging/console-logger.js +10 -46
  389. package/dist/logging/index.d.ts +2 -0
  390. package/dist/logging/index.js +1 -0
  391. package/dist/logging/redaction.d.ts +27 -0
  392. package/dist/logging/redaction.js +170 -0
  393. package/dist/mcp/bundle.js +522 -545
  394. package/dist/mcp/entry.js +52 -6
  395. package/dist/mcp/handlers/core-handlers.js +5 -4
  396. package/dist/mcp/handlers/domain-handler-configs.js +12 -4
  397. package/dist/mcp/handlers/task-handlers.js +11 -7
  398. package/dist/mcp/protocol-server.js +20 -4
  399. package/dist/mcp/services/reasoning-bank-service.d.ts +6 -1
  400. package/dist/mcp/services/reasoning-bank-service.js +5 -1
  401. package/dist/mcp/tools/base.d.ts +9 -2
  402. package/dist/mcp/tools/base.js +7 -0
  403. package/dist/mcp/tools/coherence/consensus.js +51 -2
  404. package/dist/mcp/tools/planning/goap-plan.d.ts +20 -7
  405. package/dist/mcp/tools/planning/goap-plan.js +92 -20
  406. package/dist/mcp/tools/planning/goap-status.d.ts +37 -12
  407. package/dist/mcp/tools/planning/goap-status.js +52 -23
  408. package/dist/mcp/tools/planning/world-state.d.ts +101 -0
  409. package/dist/mcp/tools/planning/world-state.js +274 -0
  410. package/dist/mcp/tools/test-execution/e2e-execute.js +9 -1
  411. package/dist/mcp/tools/test-generation/generate.d.ts +6 -1
  412. package/dist/mcp/tools/test-generation/generate.js +8 -0
  413. package/dist/mcp/types.d.ts +10 -4
  414. package/dist/planning/goap-planner.d.ts +60 -4
  415. package/dist/planning/goap-planner.js +218 -60
  416. package/dist/planning/index.d.ts +1 -1
  417. package/dist/planning/index.js +1 -1
  418. package/dist/planning/plan-executor.d.ts +20 -1
  419. package/dist/planning/plan-executor.js +209 -100
  420. package/dist/planning/types.d.ts +16 -0
  421. package/dist/planning/types.js +17 -0
  422. package/dist/shared/error-utils.d.ts +15 -0
  423. package/dist/shared/error-utils.js +21 -0
  424. package/dist/shared/events/domain-events.d.ts +2 -1
  425. package/package.json +10 -6
  426. package/dist/cli/chunks/adapter-IYC62SXA.js +0 -2
  427. package/dist/cli/chunks/agent-booster-wasm-EDNKP3SP.js +0 -2
  428. package/dist/cli/chunks/aqe-learning-engine-LLOU2IXD.js +0 -2
  429. package/dist/cli/chunks/audit-CVZQMF55.js +0 -3
  430. package/dist/cli/chunks/base-P3Z4IKCT.js +0 -2
  431. package/dist/cli/chunks/browser-workflow-YYHQQ25X.js +0 -2
  432. package/dist/cli/chunks/chunk-3EZ5DR2R.js +0 -21
  433. package/dist/cli/chunks/chunk-5WOSWNDN.js +0 -2
  434. package/dist/cli/chunks/chunk-7CD7PBHY.js +0 -3
  435. package/dist/cli/chunks/chunk-7X7JYWT4.js +0 -27
  436. package/dist/cli/chunks/chunk-CZO4BJG5.js +0 -2
  437. package/dist/cli/chunks/chunk-J27F4NSB.js +0 -2
  438. package/dist/cli/chunks/chunk-J5UNP6W3.js +0 -2
  439. package/dist/cli/chunks/chunk-MI5Q55DG.js +0 -65
  440. package/dist/cli/chunks/chunk-TY5WC3FT.js +0 -12
  441. package/dist/cli/chunks/chunk-UDHVCKGA.js +0 -5
  442. package/dist/cli/chunks/chunk-XQSIRBKT.js +0 -180
  443. package/dist/cli/chunks/chunk-YXP6BKGS.js +0 -730
  444. package/dist/cli/chunks/chunk-ZBABIZ2D.js +0 -2
  445. package/dist/cli/chunks/chunk-ZCWERUYB.js +0 -12
  446. package/dist/cli/chunks/claude-flow-setup-5LVJOFKP.js +0 -2
  447. package/dist/cli/chunks/client-HUVFA5PF.js +0 -2
  448. package/dist/cli/chunks/core-handlers-UEXO3VAA.js +0 -2
  449. package/dist/cli/chunks/cross-domain-router-ODU5IZD6.js +0 -2
  450. package/dist/cli/chunks/domain-transfer-JZA5TMW3.js +0 -2
  451. package/dist/cli/chunks/dream-HE3OX42F.js +0 -2
  452. package/dist/cli/chunks/heartbeat-scheduler-QUIFGGLX.js +0 -2
  453. package/dist/cli/chunks/hnsw-adapter-42KB37KP.js +0 -2
  454. package/dist/cli/chunks/hnsw-index-T2PGO77J.js +0 -2
  455. package/dist/cli/chunks/hybrid-backend-FRNWYRKH.js +0 -2
  456. package/dist/cli/chunks/impact-analyzer-A5QYOYBR.js +0 -2
  457. package/dist/cli/chunks/init-wizard-XBU674YH.js +0 -2
  458. package/dist/cli/chunks/kernel-DV5MTNZD.js +0 -2
  459. package/dist/cli/chunks/knowledge-graph-4ACGVJQK.js +0 -2
  460. package/dist/cli/chunks/llm-router-service-PSMASERT.js +0 -2
  461. package/dist/cli/chunks/load-test-MRUO2VPF.js +0 -2
  462. package/dist/cli/chunks/mcp-JGSFCEMH.js +0 -2
  463. package/dist/cli/chunks/memory-backend-2MPGI6JW.js +0 -2
  464. package/dist/cli/chunks/memory-handlers-XT4HMITB.js +0 -2
  465. package/dist/cli/chunks/multi-model-executor-26Q5BSVG.js +0 -14
  466. package/dist/cli/chunks/orchestrator-D5IFV65I.js +0 -393
  467. package/dist/cli/chunks/pattern-null-store-TGWUL237.js +0 -2
  468. package/dist/cli/chunks/protocol-executor-GEVH5KD6.js +0 -2
  469. package/dist/cli/chunks/qe-reasoning-bank-DJ2JL6QB.js +0 -2
  470. package/dist/cli/chunks/queen-coordinator-F7E3AS26.js +0 -2
  471. package/dist/cli/chunks/router-OZH3QSAU.js +0 -2
  472. package/dist/cli/chunks/routing-feedback-J2E3ADZB.js +0 -2
  473. package/dist/cli/chunks/rvf-dual-writer-HK525Y5Y.js +0 -2
  474. package/dist/cli/chunks/rvf-migration-adapter-Q7FB3BKR.js +0 -2
  475. package/dist/cli/chunks/rvf-native-adapter-5ZRCGUI6.js +0 -2
  476. package/dist/cli/chunks/safe-db-3OYEPVEH.js +0 -2
  477. package/dist/cli/chunks/schedule-AG4C2EIQ.js +0 -2
  478. package/dist/cli/chunks/scheduler-SQS2CZFZ.js +0 -2
  479. package/dist/cli/chunks/shared-rvf-adapter-NFL6QSZ6.js +0 -2
  480. package/dist/cli/chunks/sqlite-persistence-MAKDFSHC.js +0 -2
  481. package/dist/cli/chunks/sync-MBTW5XBF.js +0 -2
  482. package/dist/cli/chunks/task-handlers-NH4GJHCJ.js +0 -9
  483. package/dist/cli/chunks/test-MPHGT4T6.js +0 -33
  484. package/dist/cli/chunks/token-bootstrap-SSDCYEKK.js +0 -2
  485. package/dist/cli/chunks/tree-sitter-wasm-parser-J6ZMAK37.js +0 -2
  486. package/dist/cli/chunks/unified-memory-DDWMC435.js +0 -2
  487. package/dist/cli/chunks/unified-memory-hnsw-4JA7SGBK.js +0 -2
  488. package/dist/cli/chunks/unified-persistence-F6OSNTXY.js +0 -2
  489. package/dist/cli/chunks/vibium-HOGMFJ2Z.js +0 -2
  490. package/dist/cli/chunks/visual-security-25SMBIYT.js +0 -2
  491. package/dist/cli/chunks/witness-chain-PJOQPFUX.js +0 -2
  492. package/dist/cli/chunks/witness-chain-ZW6KKUZU.js +0 -2
  493. package/dist/cli/chunks/workflow-orchestrator-UKSIDM7Q.js +0 -2
  494. package/dist/cli/chunks/wrappers-UR7BLXKV.js +0 -2
@@ -5,10 +5,11 @@
5
5
  * Installs AQE skills (both v2 methodology and v3 domain skills) to user projects.
6
6
  * Skills are copied from the bundled skills directory to the project's .claude/skills/.
7
7
  */
8
- import { existsSync, mkdirSync, readdirSync, statSync, readFileSync, writeFileSync, copyFileSync, unlinkSync, rmdirSync } from 'fs';
8
+ import { existsSync, mkdirSync, readdirSync, statSync, readFileSync, copyFileSync, unlinkSync, rmdirSync } from 'fs';
9
9
  import { join } from 'path';
10
10
  import { toErrorMessage } from '../shared/error-utils.js';
11
11
  import { findPackageRoot } from './find-package-root.js';
12
+ import { GENERATED_ON_LINE, writeTextIfChangedIgnoring } from './idempotent-write.js';
12
13
  // ============================================================================
13
14
  // Skill Categories (QE Skills Only - Claude Flow skills are managed separately)
14
15
  // ============================================================================
@@ -472,7 +473,8 @@ See \`.validation/README.md\` for usage instructions.
472
473
 
473
474
  *Generated by AQE v3 init on ${new Date().toISOString()}*
474
475
  `;
475
- writeFileSync(join(skillsDir, 'README.md'), indexContent, 'utf-8');
476
+ // #778: ignore the generation-timestamp footer when deciding to rewrite.
477
+ writeTextIfChangedIgnoring(join(skillsDir, 'README.md'), indexContent, GENERATED_ON_LINE);
476
478
  }
477
479
  /**
478
480
  * Scan the skills directory to get all present skills
@@ -314,6 +314,12 @@ export declare const DEFAULT_HOOKS_CONFIG: HooksConfig;
314
314
  export declare const DEFAULT_SKILLS_CONFIG: SkillsConfig;
315
315
  export declare const DEFAULT_AUTO_TUNING_CONFIG: AutoTuningConfig;
316
316
  export declare const DEFAULT_N8N_PLATFORM_CONFIG: N8nPlatformConfig;
317
+ /**
318
+ * The QE domains `aqe init` enables by default: every loadable DDD domain
319
+ * plugin, i.e. the canonical shared ALL_DOMAINS minus the cross-domain
320
+ * `coordination` context (the Queen, not a domain plugin). Derived — never
321
+ * hand-maintained — so fresh and existing installs cannot drift (#778).
322
+ */
317
323
  export declare const ALL_DOMAINS: string[];
318
324
  /**
319
325
  * Get the current AQE version from build-time constant
@@ -4,6 +4,8 @@
4
4
  *
5
5
  * Types for project analysis, self-configuration, and initialization.
6
6
  */
7
+ import { ALL_DOMAINS as CANONICAL_DOMAINS } from '../shared/types/index.js';
8
+ import { PROMOTION_MIN_SUCCESS_RATE, PROMOTION_THRESHOLD, } from '../learning/qe-patterns.js';
7
9
  // ============================================================================
8
10
  // Default Configurations
9
11
  // ============================================================================
@@ -16,8 +18,9 @@ export const DEFAULT_LEARNING_CONFIG = {
16
18
  enabled: true,
17
19
  pretrainedPatterns: true,
18
20
  hnswConfig: DEFAULT_HNSW_CONFIG,
19
- promotionThreshold: 3,
20
- qualityThreshold: 0.7,
21
+ // Single source of truth: the values the learning runtime enforces (#778).
22
+ promotionThreshold: PROMOTION_THRESHOLD,
23
+ qualityThreshold: PROMOTION_MIN_SUCCESS_RATE,
21
24
  embeddingModel: 'auto',
22
25
  };
23
26
  export const DEFAULT_ROUTING_CONFIG = {
@@ -71,21 +74,13 @@ export const DEFAULT_N8N_PLATFORM_CONFIG = {
71
74
  installSkills: true,
72
75
  installTypeScriptAgents: false,
73
76
  };
74
- export const ALL_DOMAINS = [
75
- 'test-generation',
76
- 'test-execution',
77
- 'coverage-analysis',
78
- 'quality-assessment',
79
- 'defect-intelligence',
80
- 'requirements-validation',
81
- 'code-intelligence',
82
- 'security-compliance',
83
- 'contract-testing',
84
- 'visual-accessibility',
85
- 'chaos-resilience',
86
- 'learning-optimization',
87
- 'enterprise-integration',
88
- ];
77
+ /**
78
+ * The QE domains `aqe init` enables by default: every loadable DDD domain
79
+ * plugin, i.e. the canonical shared ALL_DOMAINS minus the cross-domain
80
+ * `coordination` context (the Queen, not a domain plugin). Derived — never
81
+ * hand-maintained — so fresh and existing installs cannot drift (#778).
82
+ */
83
+ export const ALL_DOMAINS = CANONICAL_DOMAINS.filter((d) => d !== 'coordination');
89
84
  /**
90
85
  * Get the current AQE version from build-time constant
91
86
  */
@@ -103,14 +98,15 @@ export function createDefaultConfig(projectName, projectRoot) {
103
98
  root: projectRoot,
104
99
  type: 'single',
105
100
  },
106
- learning: DEFAULT_LEARNING_CONFIG,
107
- routing: DEFAULT_ROUTING_CONFIG,
108
- workers: DEFAULT_WORKERS_CONFIG,
109
- hooks: DEFAULT_HOOKS_CONFIG,
110
- skills: DEFAULT_SKILLS_CONFIG,
111
- autoTuning: DEFAULT_AUTO_TUNING_CONFIG,
101
+ // Cloned so callers that mutate the config cannot corrupt the shared defaults.
102
+ learning: structuredClone(DEFAULT_LEARNING_CONFIG),
103
+ routing: structuredClone(DEFAULT_ROUTING_CONFIG),
104
+ workers: structuredClone(DEFAULT_WORKERS_CONFIG),
105
+ hooks: structuredClone(DEFAULT_HOOKS_CONFIG),
106
+ skills: structuredClone(DEFAULT_SKILLS_CONFIG),
107
+ autoTuning: structuredClone(DEFAULT_AUTO_TUNING_CONFIG),
112
108
  domains: {
113
- enabled: ALL_DOMAINS,
109
+ enabled: [...ALL_DOMAINS],
114
110
  disabled: [],
115
111
  },
116
112
  agents: {
@@ -15,7 +15,7 @@
15
15
  * - Automatic strategy recommendations
16
16
  * - Pattern quality improvement over time
17
17
  */
18
- import { RealQEReasoningBank, type RealQEReasoningBankConfig, type RealQERoutingRequest, type RealQERoutingResult, type LearningOutcome } from '../../../learning/real-qe-reasoning-bank.js';
18
+ import { RealQEReasoningBank, type RealQEReasoningBankConfig, type RealQEPatternSearchResult, type RealQERoutingRequest, type RealQERoutingResult, type LearningOutcome } from '../../../learning/real-qe-reasoning-bank.js';
19
19
  import { TrajectoryTracker, type Trajectory, type TrajectoryStep, type TrajectoryOptions, type TrajectoryTrackerConfig } from './trajectory-tracker.js';
20
20
  import { ExperienceReplay, type ExperienceGuidance, type ExperienceReplayConfig } from './experience-replay.js';
21
21
  import { PatternEvolution, type PatternVersion, type DriftDetectionResult, type MergeCandidate, type PatternEvolutionConfig } from './pattern-evolution.js';
@@ -182,10 +182,7 @@ export declare class EnhancedReasoningBankAdapter {
182
182
  limit?: number;
183
183
  domain?: QEDomain;
184
184
  minSimilarity?: number;
185
- }): Promise<Result<Array<{
186
- pattern: QEPattern;
187
- similarity: number;
188
- }>>>;
185
+ }): Promise<Result<RealQEPatternSearchResult[]>>;
189
186
  /**
190
187
  * Record a pattern outcome with evolution tracking
191
188
  */
@@ -31,6 +31,31 @@
31
31
  import { DEFAULT_COHERENCE_CONFIG, DEFAULT_COHERENCE_LOGGER, WasmNotLoadedError, CoherenceError, } from './types.js';
32
32
  import { toErrorMessage, toError } from '../../shared/error-utils.js';
33
33
  import { CohomologyAdapter, SpectralAdapter, CausalAdapter, CategoryAdapter, HomotopyAdapter, WitnessAdapter, } from './engines/index.js';
34
+ import { tallyVotes, describeLeader, describeBreakdown } from './vote-tally.js';
35
+ /** Fallback consensus is valid only when more than this share of votes agree */
36
+ const FALLBACK_MAJORITY_THRESHOLD = 0.6;
37
+ /**
38
+ * Minimum number of voters for unanimity to be flagged as possible false
39
+ * consensus. Two agreeing agents are too few to call it groupthink.
40
+ */
41
+ const MIN_VOTERS_FOR_FALSE_CONSENSUS = 3;
42
+ /**
43
+ * False consensus means votes that *appear* unified but may not be
44
+ * (tool contract: "appears unified but isn't"). From verdicts alone the only
45
+ * observable "appears unified" signal is unanimity, so both the spectral and
46
+ * the fallback path flag unanimity among at least three voters as a risk.
47
+ * A split vote (e.g. 2 pass / 1 fail) shows its disagreement openly: it is a
48
+ * majority or an unverified consensus, never a false one (issue #535).
49
+ */
50
+ function appearsFalselyUnified(tally) {
51
+ return tally.isUnanimous && tally.total >= MIN_VOTERS_FOR_FALSE_CONSENSUS;
52
+ }
53
+ /** e.g. "3 of 3 votes 'pass'" or "2 of 3 votes 'pass'; 2 'pass' / 1 'fail'" */
54
+ function describeTally(tally) {
55
+ return tally.isUnanimous
56
+ ? describeLeader(tally)
57
+ : `${describeLeader(tally)}; ${describeBreakdown(tally)}`;
58
+ }
34
59
  // ============================================================================
35
60
  // Coherence Service Implementation
36
61
  // ============================================================================
@@ -557,15 +582,44 @@ export class CoherenceService {
557
582
  }
558
583
  const collapseRisk = this.spectralAdapter.predictCollapseRisk();
559
584
  const fiedlerValue = this.spectralAdapter.computeFiedlerValue();
585
+ const tally = tallyVotes(votes);
586
+ // When every vote agrees and carries positive confidence, the agreement
587
+ // graph is complete with positive edge weights, so its algebraic
588
+ // connectivity is necessarily > 0. A non-positive value here means the
589
+ // engine's eigen-solver result cannot be trusted; count votes instead
590
+ // of reporting a unanimous vote as a collapsed one.
591
+ if (tally.isUnanimous && votes.every(v => v.confidence > 0) && !(fiedlerValue > 0)) {
592
+ this.logger.warn('Spectral engine returned a zero Fiedler value for a connected agreement graph, using fallback', {
593
+ fiedlerValue,
594
+ voteCount: votes.length,
595
+ });
596
+ return this.verifyConsensusWithFallback(votes, startTime);
597
+ }
598
+ // Agents are connected only when they share a verdict, so any split
599
+ // vote disconnects the graph (λ2 = 0) and fails verification here.
600
+ const isValid = collapseRisk < 0.3 && fiedlerValue > 0.1;
601
+ const isFalseConsensus = appearsFalselyUnified(tally);
602
+ let recommendation;
603
+ if (!isValid) {
604
+ recommendation =
605
+ `No verified consensus (${describeTally(tally)}): agreement-graph Fiedler value ` +
606
+ `${fiedlerValue.toFixed(3)}, collapse risk ${collapseRisk.toFixed(2)}. Spawn independent reviewer.`;
607
+ }
608
+ else if (isFalseConsensus) {
609
+ recommendation =
610
+ `Consensus verified (${describeTally(tally)}), but unanimous agreement may indicate ` +
611
+ 'false consensus. Consider adding diversity.';
612
+ }
613
+ else {
614
+ recommendation = `Consensus verified (${describeTally(tally)}).`;
615
+ }
560
616
  return {
561
- isValid: collapseRisk < 0.3 && fiedlerValue > 0.1,
617
+ isValid,
562
618
  confidence: 1 - collapseRisk,
563
- isFalseConsensus: fiedlerValue < 0.05,
619
+ isFalseConsensus,
564
620
  fiedlerValue,
565
621
  collapseRisk,
566
- recommendation: collapseRisk > 0.3
567
- ? 'Spawn independent reviewer'
568
- : 'Consensus verified',
622
+ recommendation,
569
623
  durationMs: Date.now() - startTime,
570
624
  usedFallback: false,
571
625
  };
@@ -586,30 +640,36 @@ export class CoherenceService {
586
640
  * Fallback consensus verification
587
641
  */
588
642
  verifyConsensusWithFallback(votes, startTime) {
589
- // Count verdicts
590
- const verdictCounts = new Map();
591
- for (const vote of votes) {
592
- const key = String(vote.verdict);
593
- verdictCounts.set(key, (verdictCounts.get(key) || 0) + 1);
594
- }
595
- // Find majority
596
- let maxCount = 0;
597
- verdictCounts.forEach(count => {
598
- maxCount = Math.max(maxCount, count);
599
- });
600
- const majorityRatio = maxCount / votes.length;
643
+ const tally = tallyVotes(votes);
644
+ const { majorityRatio } = tally;
601
645
  const avgConfidence = votes.reduce((sum, v) => sum + v.confidence, 0) / votes.length;
646
+ // Flags and text are derived from the same predicates so the
647
+ // recommendation can never contradict them (issue #535).
648
+ const isValid = majorityRatio > FALLBACK_MAJORITY_THRESHOLD;
649
+ const isFalseConsensus = appearsFalselyUnified(tally);
650
+ let recommendation;
651
+ if (!isValid) {
652
+ recommendation =
653
+ `No clear majority: ${describeBreakdown(tally)} across ${tally.total} votes ` +
654
+ `(needs more than ${Math.round(FALLBACK_MAJORITY_THRESHOLD * 100)}% agreeing). Consider spawning additional agents.`;
655
+ }
656
+ else if (isFalseConsensus) {
657
+ recommendation =
658
+ `Unanimous consensus (${describeLeader(tally)}) may indicate false consensus. Consider adding diversity.`;
659
+ }
660
+ else if (tally.isUnanimous) {
661
+ recommendation = `Unanimous consensus achieved (${describeLeader(tally)}).`;
662
+ }
663
+ else {
664
+ recommendation = `Majority consensus achieved (${describeTally(tally)}).`;
665
+ }
602
666
  return {
603
- isValid: majorityRatio > 0.6,
667
+ isValid,
604
668
  confidence: majorityRatio * avgConfidence,
605
- isFalseConsensus: verdictCounts.size === 1 && votes.length > 2,
669
+ isFalseConsensus,
606
670
  fiedlerValue: majorityRatio, // Approximation
607
671
  collapseRisk: 1 - majorityRatio,
608
- recommendation: majorityRatio < 0.6
609
- ? 'No clear majority. Consider spawning additional agents.'
610
- : majorityRatio === 1 && verdictCounts.size === 1
611
- ? 'Unanimous consensus may indicate false consensus. Consider adding diversity.'
612
- : 'Majority consensus achieved.',
672
+ recommendation,
613
673
  durationMs: Date.now() - startTime,
614
674
  usedFallback: true,
615
675
  };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Agentic QE v3 - Consensus vote tally
3
+ *
4
+ * Counts verdicts once so that every consensus flag and every
5
+ * recommendation string is derived from the same numbers (issue #535).
6
+ */
7
+ /** Minimal vote shape needed to tally verdicts */
8
+ export interface TallyableVote {
9
+ verdict: string | number | boolean;
10
+ }
11
+ /** Verdict counts for a set of votes */
12
+ export interface VoteTally {
13
+ /** Total number of votes */
14
+ total: number;
15
+ /** Verdicts with counts, most votes first (ties ordered by verdict) */
16
+ counts: Array<{
17
+ verdict: string;
18
+ count: number;
19
+ }>;
20
+ /** Verdict with the most votes (first in `counts`) */
21
+ topVerdict: string;
22
+ /** Number of votes for `topVerdict` */
23
+ topCount: number;
24
+ /** topCount / total (0 when there are no votes) */
25
+ majorityRatio: number;
26
+ /** True when every vote has the same verdict */
27
+ isUnanimous: boolean;
28
+ }
29
+ /**
30
+ * Tally votes by verdict. Verdicts are compared by their string form,
31
+ * matching how consensus has always grouped them.
32
+ */
33
+ export declare function tallyVotes(votes: readonly TallyableVote[]): VoteTally;
34
+ /** e.g. "2 of 3 votes 'pass'" */
35
+ export declare function describeLeader(tally: VoteTally): string;
36
+ /** e.g. "2 'pass' / 1 'fail'" */
37
+ export declare function describeBreakdown(tally: VoteTally): string;
38
+ //# sourceMappingURL=vote-tally.d.ts.map
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Agentic QE v3 - Consensus vote tally
3
+ *
4
+ * Counts verdicts once so that every consensus flag and every
5
+ * recommendation string is derived from the same numbers (issue #535).
6
+ */
7
+ /**
8
+ * Tally votes by verdict. Verdicts are compared by their string form,
9
+ * matching how consensus has always grouped them.
10
+ */
11
+ export function tallyVotes(votes) {
12
+ const byVerdict = new Map();
13
+ for (const vote of votes) {
14
+ const key = String(vote.verdict);
15
+ byVerdict.set(key, (byVerdict.get(key) ?? 0) + 1);
16
+ }
17
+ const counts = [...byVerdict.entries()]
18
+ .map(([verdict, count]) => ({ verdict, count }))
19
+ .sort((a, b) => b.count - a.count || a.verdict.localeCompare(b.verdict));
20
+ const top = counts[0] ?? { verdict: '', count: 0 };
21
+ const total = votes.length;
22
+ return {
23
+ total,
24
+ counts,
25
+ topVerdict: top.verdict,
26
+ topCount: top.count,
27
+ majorityRatio: total > 0 ? top.count / total : 0,
28
+ isUnanimous: counts.length === 1,
29
+ };
30
+ }
31
+ /** e.g. "2 of 3 votes 'pass'" */
32
+ export function describeLeader(tally) {
33
+ return `${tally.topCount} of ${tally.total} votes '${tally.topVerdict}'`;
34
+ }
35
+ /** e.g. "2 'pass' / 1 'fail'" */
36
+ export function describeBreakdown(tally) {
37
+ return tally.counts.map(({ verdict, count }) => `${count} '${verdict}'`).join(' / ');
38
+ }
39
+ //# sourceMappingURL=vote-tally.js.map
@@ -11,6 +11,14 @@
11
11
  * @module integrations/ruvector/shared-rvf-adapter
12
12
  */
13
13
  import type { RvfNativeAdapter, RvfCompactionResult, RvfStatus } from './rvf-native-adapter.js';
14
+ /**
15
+ * The store is locked by a live process. The open ladder has already logged
16
+ * why it is degrading, so callers should not log it again (#574).
17
+ */
18
+ export declare class RvfLiveLockError extends Error {
19
+ readonly lockError: unknown;
20
+ constructor(lockError: unknown);
21
+ }
14
22
  /** @internal test-only seam */
15
23
  export declare function __setSharedRvfAdapterForTests(adapter: RvfNativeAdapter | null): void;
16
24
  /**
@@ -21,6 +29,19 @@ export declare function __setSharedRvfAdapterForTests(adapter: RvfNativeAdapter
21
29
  * @returns The shared adapter, or null if native bindings are unavailable
22
30
  */
23
31
  export declare function getSharedRvfAdapter(dataDir?: string, dimensions?: number): RvfNativeAdapter | null;
32
+ /**
33
+ * Race-tolerant open-or-create.
34
+ * Tries open first (cheap, succeeds for the common case where init has
35
+ * already produced the file). On open failure we attempt create. On the
36
+ * concurrent-create loser, create itself fails with `FsyncFailed`; we
37
+ * retry open once more. Any final exception bubbles up to the caller.
38
+ *
39
+ * Also asserts `dim()` matches the caller-requested `dimensions` after
40
+ * open so silent dimension drift between releases / configs is detected
41
+ * — a bad-dim file is closed and create() is attempted (fail-loud rather
42
+ * than corrupt-silently, which would manifest as wrong vector hits later).
43
+ */
44
+ declare function openOrCreateRvf(openFn: (p: string) => RvfNativeAdapter, createFn: (p: string, dim: number) => RvfNativeAdapter, rvfPath: string, dimensions: number): RvfNativeAdapter;
24
45
  export interface CompactDecision {
25
46
  shouldCompact: boolean;
26
47
  trigger: 'force' | 'size-guard' | 'dead-ratio' | 'none';
@@ -64,6 +85,8 @@ export declare function compactSharedRvfAdapter(opts?: {
64
85
  * `getSharedRvfAdapter()` which invokes it internally.
65
86
  */
66
87
  export declare function runBootCompactGuard(adapter: RvfNativeAdapter, rvfPath: string): RvfCompactionResult | null;
88
+ /** @internal test-only seam: the open ladder with injectable open/create */
89
+ export { openOrCreateRvf as __openOrCreateRvfForTests };
67
90
  /** Close the shared adapter and reset the singleton. */
68
91
  export declare function resetSharedRvfAdapter(): void;
69
92
  //# sourceMappingURL=shared-rvf-adapter.d.ts.map
@@ -18,6 +18,18 @@ import { findProjectRoot } from '../../kernel/project-root.js';
18
18
  import { quarantineUnusableStore, isLockHeldByLiveProcess, isRvfLockHeldError, removeStaleRvfLock, readLockOwnerPid, } from './rvf-store-integrity.js';
19
19
  let sharedAdapter = null;
20
20
  let initAttempted = false;
21
+ /**
22
+ * The store is locked by a live process. The open ladder has already logged
23
+ * why it is degrading, so callers should not log it again (#574).
24
+ */
25
+ export class RvfLiveLockError extends Error {
26
+ lockError;
27
+ constructor(lockError) {
28
+ super(lockError instanceof Error ? lockError.message : String(lockError));
29
+ this.lockError = lockError;
30
+ this.name = 'RvfLiveLockError';
31
+ }
32
+ }
21
33
  // ---------------------------------------------------------------------------
22
34
  // Test seam: allow tests to install a fake adapter without going through the
23
35
  // native binding loader. NOT part of the public API — used by tests only.
@@ -97,6 +109,9 @@ export function getSharedRvfAdapter(dataDir = '.agentic-qe', dimensions = 384) {
97
109
  return sharedAdapter;
98
110
  }
99
111
  catch (error) {
112
+ // Already reported by the open ladder as "locked by a live process".
113
+ if (error instanceof RvfLiveLockError)
114
+ return null;
100
115
  console.warn('[RVF] Shared adapter init failed:', error instanceof Error ? error.message : error);
101
116
  return null;
102
117
  }
@@ -137,12 +152,14 @@ function openOrCreateRvf(openFn, createFn, rvfPath, dimensions) {
137
152
  // assumption. This includes a lock owned by the current PID: another
138
153
  // in-process adapter may still hold the store, so PID equality is not proof
139
154
  // that the lock can be removed safely.
155
+ let liveOwner = false;
140
156
  if (!opened && isRvfLockHeldError(openErr)) {
141
157
  try {
142
158
  // eslint-disable-next-line @typescript-eslint/no-require-imports
143
159
  const fs = require('fs');
144
160
  const lockPath = `${rvfPath}.lock`;
145
161
  if (fs.existsSync(lockPath) && isLockHeldByLiveProcess(rvfPath)) {
162
+ liveOwner = true;
146
163
  console.warn(`[RVF] ${rvfPath} is locked by a live process (pid ${readLockOwnerPid(rvfPath)}) — ` +
147
164
  'not breaking the lock; degrading to SQLite for this run.');
148
165
  }
@@ -159,6 +176,11 @@ function openOrCreateRvf(openFn, createFn, rvfPath, dimensions) {
159
176
  }
160
177
  }
161
178
  }
179
+ // #574: a live owner means the store is busy, not missing or broken. A
180
+ // create on an existing path always fails and a reopen hits the same lock,
181
+ // so stop at the warning above instead of running Passes 2 and 3.
182
+ if (liveOwner)
183
+ throw new RvfLiveLockError(openErr);
162
184
  if (opened) {
163
185
  const actualDim = opened.dimension();
164
186
  if (actualDim === dimensions)
@@ -312,6 +334,8 @@ function formatBytes(n) {
312
334
  }
313
335
  return `${v.toFixed(i === 0 ? 0 : 1)}${units[i]}`;
314
336
  }
337
+ /** @internal test-only seam: the open ladder with injectable open/create */
338
+ export { openOrCreateRvf as __openOrCreateRvfForTests };
315
339
  /** Close the shared adapter and reset the singleton. */
316
340
  export function resetSharedRvfAdapter() {
317
341
  if (sharedAdapter) {
@@ -41,6 +41,7 @@ export declare class VibiumClientImpl implements VibiumClient {
41
41
  private _initialized;
42
42
  private _available;
43
43
  private vibeInstance;
44
+ private browserInstance;
44
45
  /**
45
46
  * Create a new Vibium client
46
47
  *
@@ -7,6 +7,7 @@
7
7
  * @module integrations/vibium/client
8
8
  */
9
9
  import { randomUUID } from 'crypto';
10
+ import { loadVibium, isVibiumReady, VIBIUM_SETUP } from './runtime.js';
10
11
  import { DEFAULT_VIBIUM_CONFIG } from './types.js';
11
12
  import { VibiumError, VibiumUnavailableError, VibiumTimeoutError, VibiumElementNotFoundError, VibiumConnectionError, VibiumNavigationError, VibiumScreenshotError, VibiumInteractionError, createVibiumError, } from './errors.js';
12
13
  import { toError } from '../../shared/error-utils.js';
@@ -24,7 +25,7 @@ async function getVibiumBrowser() {
24
25
  return vibiumBrowser;
25
26
  }
26
27
  try {
27
- const vibium = await import('vibium');
28
+ const vibium = await loadVibium();
28
29
  vibiumBrowser = vibium.browser;
29
30
  vibiumAvailable = true;
30
31
  return vibiumBrowser;
@@ -112,6 +113,7 @@ export class VibiumClientImpl {
112
113
  _available = null;
113
114
  // Real Vibium browser instance
114
115
  vibeInstance = null;
116
+ browserInstance = null;
115
117
  /**
116
118
  * Create a new Vibium client
117
119
  *
@@ -133,7 +135,7 @@ export class VibiumClientImpl {
133
135
  try {
134
136
  // Check if Vibium package is available
135
137
  const browser = await getVibiumBrowser();
136
- this._available = browser !== null;
138
+ this._available = browser !== null && isVibiumReady();
137
139
  return this._available;
138
140
  }
139
141
  catch {
@@ -157,7 +159,7 @@ export class VibiumClientImpl {
157
159
  if (isAvailable) {
158
160
  this.lastHealthCheck = {
159
161
  status: this.vibeInstance ? 'connected' : 'disconnected',
160
- version: '0.1.2', // From package.json
162
+ // Runtime availability is checked against the installed payload.
161
163
  browserType: this.config.browserType,
162
164
  features: [
163
165
  'browser-launch',
@@ -177,7 +179,7 @@ export class VibiumClientImpl {
177
179
  status: 'unavailable',
178
180
  features: ['fallback-only'],
179
181
  lastChecked,
180
- error: 'Vibium package not available - install with: npm install vibium',
182
+ error: `Vibium runtime or browser payload unavailable; run ${VIBIUM_SETUP}`,
181
183
  sessionActive: false,
182
184
  };
183
185
  }
@@ -209,13 +211,22 @@ export class VibiumClientImpl {
209
211
  const operation = async () => {
210
212
  const browser = await getVibiumBrowser();
211
213
  if (!browser) {
212
- throw new VibiumUnavailableError('Vibium package not available. Install with: npm install vibium');
214
+ throw new VibiumUnavailableError(`Vibium runtime unavailable; run ${VIBIUM_SETUP}`);
213
215
  }
214
216
  // Launch REAL browser using Vibium
215
217
  const headless = options?.headless ?? this.config.headless;
216
- this.vibeInstance = await browser.launch({
217
- headless,
218
- });
218
+ if (!isVibiumReady()) {
219
+ throw new VibiumUnavailableError(`Vibium browser payload unavailable; run ${VIBIUM_SETUP}`);
220
+ }
221
+ const instance = await browser.start({ headless });
222
+ try {
223
+ this.vibeInstance = await instance.page();
224
+ this.browserInstance = instance;
225
+ }
226
+ catch (error) {
227
+ await instance.stop();
228
+ throw error;
229
+ }
219
230
  const session = {
220
231
  id: this.generateSessionId(),
221
232
  browserType: this.config.browserType,
@@ -247,8 +258,9 @@ export class VibiumClientImpl {
247
258
  }
248
259
  const operation = async () => {
249
260
  if (this.vibeInstance) {
250
- await this.vibeInstance.quit();
261
+ await this.browserInstance?.stop();
251
262
  this.vibeInstance = null;
263
+ this.browserInstance = null;
252
264
  }
253
265
  this.currentSession = null;
254
266
  };
@@ -575,7 +587,7 @@ export class VibiumClientImpl {
575
587
  this.ensureSession();
576
588
  try {
577
589
  // Use real Vibium evaluate method
578
- const result = await this.vibeInstance.evaluate(script);
590
+ const result = await this.vibeInstance.evaluate(`(async () => { ${script} })()`);
579
591
  return { success: true, value: result };
580
592
  }
581
593
  catch (error) {
@@ -608,13 +620,14 @@ export class VibiumClientImpl {
608
620
  async dispose() {
609
621
  if (this.vibeInstance) {
610
622
  try {
611
- await this.vibeInstance.quit();
623
+ await this.browserInstance?.stop();
612
624
  }
613
625
  catch (error) {
614
626
  // Non-critical: Vibium disposal errors
615
627
  console.debug('[VibiumClient] Disposal error:', error instanceof Error ? error.message : error);
616
628
  }
617
629
  this.vibeInstance = null;
630
+ this.browserInstance = null;
618
631
  }
619
632
  this.currentSession = null;
620
633
  this._initialized = false;
@@ -0,0 +1,14 @@
1
+ export declare const VIBIUM_SETUP = "aqe init --browser-engine (or npm install vibium@^26.8.21)";
2
+ type Runtime = typeof import('vibium');
3
+ /**
4
+ * How to run npm without a shell. On Windows `npm` is an `npm.cmd` shim, which
5
+ * execFile cannot start without `shell: true` (EINVAL/ENOENT since the
6
+ * CVE-2024-27980 fix), so run the npm CLI bundled next to node.exe instead.
7
+ * Falls back to plain `npm` when that layout is absent.
8
+ */
9
+ export declare function npmInvocation(platform?: NodeJS.Platform, execPath?: string, exists?: (path: string) => boolean): [string, string[]];
10
+ export declare function loadVibium(): Promise<Runtime>;
11
+ /** Check the payload belonging to the resolved library, not a different PATH CLI. */
12
+ export declare function isVibiumReady(): boolean;
13
+ export {};
14
+ //# sourceMappingURL=runtime.d.ts.map