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
@@ -24,6 +24,7 @@ const DEFAULT_CONFIG = {
24
24
  maxRetries: 2,
25
25
  stepTimeoutMs: 60000,
26
26
  replanOnFailure: true,
27
+ maxReplans: 3,
27
28
  parallelExecution: false,
28
29
  recordWorldState: true,
29
30
  useUnified: true, // ADR-046: Default to unified storage
@@ -44,6 +45,24 @@ function safeStringify(value, maxLength = 2000) {
44
45
  return String(value);
45
46
  }
46
47
  }
48
+ /**
49
+ * Issue #535: render the `error` of a domain Result err as text — an Error's
50
+ * message, a string as-is, else a (truncated) JSON rendering.
51
+ */
52
+ function describeDomainError(reason) {
53
+ if (reason === undefined || reason === null)
54
+ return 'unknown error';
55
+ if (reason instanceof Error || typeof reason === 'string')
56
+ return toErrorMessage(reason);
57
+ const message = reason.message;
58
+ return typeof message === 'string' ? message : safeStringify(reason, 500);
59
+ }
60
+ /**
61
+ * Issue #535: goap_execution_steps marker row recording that an execution
62
+ * was cancelled (see persistExecutionResult). Excluded from step lists.
63
+ */
64
+ const CANCELLED_MARKER_ACTION_ID = '__execution_cancelled__';
65
+ const CANCELLED_MARKER_STATUS = 'cancelled';
47
66
  // ============================================================================
48
67
  // Plan Executor Class
49
68
  // ============================================================================
@@ -200,9 +219,30 @@ export class PlanExecutor {
200
219
  */
201
220
  async executeWithCallbacks(plan, onStepStart, onStepComplete, initialState) {
202
221
  await this.initialize();
203
- const startTime = Date.now();
204
222
  const executionId = `exec-${Date.now()}-${randomUUID().slice(0, 8)}`;
205
223
  this.currentExecution = { planId: plan.id, cancelled: false };
224
+ try {
225
+ const result = await this.runPlan(plan, onStepStart, onStepComplete, initialState, {
226
+ excludedActions: new Set(),
227
+ replanDepth: 0,
228
+ });
229
+ // Persist once per top-level execution. Issue #535: replanned
230
+ // sub-plans used to persist their own steps AND hand them back to the
231
+ // parent, which persisted them again under the same step ids
232
+ // ("UNIQUE constraint failed: goap_execution_steps.id").
233
+ await this.persistExecutionResult(executionId, result);
234
+ return result;
235
+ }
236
+ finally {
237
+ this.currentExecution = null;
238
+ }
239
+ }
240
+ /**
241
+ * Run a plan's steps (and any replacement plans after a failure) without
242
+ * persisting or resetting execution tracking — see executeWithCallbacks.
243
+ */
244
+ async runPlan(plan, onStepStart, onStepComplete, initialState, replan) {
245
+ const startTime = Date.now();
206
246
  const result = {
207
247
  planId: plan.id,
208
248
  status: 'completed',
@@ -222,106 +262,115 @@ export class PlanExecutor {
222
262
  stepOrder: index,
223
263
  status: 'pending',
224
264
  }));
225
- try {
226
- for (const step of steps) {
227
- // Check for cancellation
228
- if (this.currentExecution?.cancelled) {
229
- result.status = 'cancelled';
230
- result.error = 'Execution was cancelled';
265
+ for (const step of steps) {
266
+ // Check for cancellation
267
+ if (this.currentExecution?.cancelled) {
268
+ result.status = 'cancelled';
269
+ result.error = 'Execution was cancelled';
270
+ break;
271
+ }
272
+ // Record world state before execution
273
+ if (this.config.recordWorldState) {
274
+ step.worldStateBefore = this.cloneState(currentState);
275
+ }
276
+ // Notify step start
277
+ onStepStart(step);
278
+ // Execute with retries
279
+ let success = false;
280
+ let lastError;
281
+ let retries = 0;
282
+ let output;
283
+ let agentId;
284
+ const stepStartTime = Date.now();
285
+ for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
286
+ const execResult = await this.executeStep(step, currentState);
287
+ if (execResult.success) {
288
+ success = true;
289
+ currentState = execResult.newState;
290
+ output = execResult.output;
291
+ agentId = execResult.agentId;
231
292
  break;
232
293
  }
233
- // Record world state before execution
234
- if (this.config.recordWorldState) {
235
- step.worldStateBefore = this.cloneState(currentState);
236
- }
237
- // Notify step start
238
- onStepStart(step);
239
- // Execute with retries
240
- let success = false;
241
- let lastError;
242
- let retries = 0;
243
- let output;
244
- let agentId;
245
- const stepStartTime = Date.now();
246
- for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
247
- const execResult = await this.executeStep(step, currentState);
248
- if (execResult.success) {
249
- success = true;
250
- currentState = execResult.newState;
251
- output = execResult.output;
252
- agentId = execResult.agentId;
253
- break;
254
- }
255
- lastError = execResult.error;
256
- retries = attempt;
257
- // Wait before retry (exponential backoff)
258
- if (attempt < this.config.maxRetries) {
259
- await this.delay(Math.min(1000 * Math.pow(2, attempt), 5000));
260
- }
294
+ lastError = execResult.error;
295
+ retries = attempt;
296
+ // Issue #535: deterministic failures (no implementation, domain
297
+ // not loaded, missing method, unmet preconditions) cannot succeed
298
+ // on retry — don't burn seconds of backoff on them.
299
+ if (execResult.retryable === false) {
300
+ break;
261
301
  }
262
- // Record executed step
263
- const executedStep = {
264
- ...step,
265
- status: success ? 'completed' : 'failed',
266
- retries,
267
- startedAt: new Date(stepStartTime),
268
- completedAt: new Date(),
269
- durationMs: Date.now() - stepStartTime,
270
- agentId,
271
- agentOutput: output,
272
- worldStateAfter: this.config.recordWorldState
273
- ? this.cloneState(currentState)
274
- : undefined,
275
- error: lastError,
276
- };
277
- result.steps.push(executedStep);
278
- onStepComplete(executedStep);
279
- if (success) {
280
- result.stepsCompleted++;
281
- await this.updateActionStats(step.action.id, true, executedStep.durationMs ?? 0);
302
+ // Wait before retry (exponential backoff)
303
+ if (attempt < this.config.maxRetries) {
304
+ await this.delay(Math.min(1000 * Math.pow(2, attempt), 5000));
282
305
  }
283
- else {
284
- result.stepsFailed++;
285
- await this.updateActionStats(step.action.id, false, 0);
286
- // Try to replan if configured
287
- if (this.config.replanOnFailure) {
288
- const newPlan = await this.replanFromFailure(plan, step.stepOrder, currentState);
289
- if (newPlan) {
290
- // Execute new plan recursively
291
- const replanResult = await this.executeWithCallbacks(newPlan, onStepStart, onStepComplete, currentState);
292
- result.steps.push(...replanResult.steps);
293
- result.stepsCompleted += replanResult.stepsCompleted;
294
- result.stepsFailed += replanResult.stepsFailed;
295
- if (replanResult.status === 'completed' && replanResult.finalWorldState) {
296
- currentState = replanResult.finalWorldState;
297
- }
298
- else {
299
- result.status = 'partial';
300
- result.error = `Replanning partially succeeded: ${replanResult.error || 'unknown error'}`;
301
- }
306
+ }
307
+ // Record executed step
308
+ const executedStep = {
309
+ ...step,
310
+ status: success ? 'completed' : 'failed',
311
+ retries,
312
+ startedAt: new Date(stepStartTime),
313
+ completedAt: new Date(),
314
+ durationMs: Date.now() - stepStartTime,
315
+ agentId,
316
+ agentOutput: output,
317
+ worldStateAfter: this.config.recordWorldState
318
+ ? this.cloneState(currentState)
319
+ : undefined,
320
+ error: lastError,
321
+ };
322
+ result.steps.push(executedStep);
323
+ onStepComplete(executedStep);
324
+ if (success) {
325
+ result.stepsCompleted++;
326
+ await this.updateActionStats(step.action.id, true, executedStep.durationMs ?? 0);
327
+ }
328
+ else {
329
+ result.stepsFailed++;
330
+ await this.updateActionStats(step.action.id, false, 0);
331
+ // Try to replan if configured (bounded — issue #535)
332
+ const maxReplans = this.config.maxReplans ?? 3;
333
+ if (this.config.replanOnFailure && replan.replanDepth < maxReplans) {
334
+ // Accumulate exclusions across successive replans so a chain of
335
+ // failures can't bounce back to an action that already failed.
336
+ replan.excludedActions.add(step.action.id);
337
+ const newPlan = await this.replanFromFailure(plan, step.stepOrder, currentState, [...replan.excludedActions]);
338
+ if (newPlan) {
339
+ const replanResult = await this.runPlan(newPlan, onStepStart, onStepComplete, currentState, { excludedActions: replan.excludedActions, replanDepth: replan.replanDepth + 1 });
340
+ result.steps.push(...replanResult.steps);
341
+ result.stepsCompleted += replanResult.stepsCompleted;
342
+ result.stepsFailed += replanResult.stepsFailed;
343
+ if (replanResult.status === 'completed' && replanResult.finalWorldState) {
344
+ currentState = replanResult.finalWorldState;
302
345
  }
303
346
  else {
304
- result.status = 'failed';
305
- result.error = `Step ${step.stepOrder} failed and replanning unsuccessful: ${lastError}`;
306
- break;
347
+ // The goal was not reached — report it as such rather than
348
+ // the old 'partial' ("Replanning partially succeeded").
349
+ result.status = replanResult.status === 'cancelled' ? 'cancelled' : 'failed';
350
+ result.error =
351
+ `Step ${step.stepOrder} failed (${lastError}); replanning did not recover: ` +
352
+ `${replanResult.error || 'unknown error'}`;
307
353
  }
354
+ // The replacement plan supersedes the rest of this plan —
355
+ // don't keep executing stale steps after it.
356
+ break;
308
357
  }
309
358
  else {
310
359
  result.status = 'failed';
311
- result.error = `Step ${step.stepOrder} failed: ${lastError}`;
360
+ result.error = `Step ${step.stepOrder} failed and replanning unsuccessful: ${lastError}`;
312
361
  break;
313
362
  }
314
363
  }
364
+ else {
365
+ result.status = 'failed';
366
+ result.error = `Step ${step.stepOrder} failed: ${lastError}`;
367
+ break;
368
+ }
315
369
  }
316
- result.finalWorldState = currentState;
317
- result.totalDurationMs = Date.now() - startTime;
318
- // Persist execution result
319
- await this.persistExecutionResult(executionId, result);
320
- return result;
321
- }
322
- finally {
323
- this.currentExecution = null;
324
370
  }
371
+ result.finalWorldState = currentState;
372
+ result.totalDurationMs = Date.now() - startTime;
373
+ return result;
325
374
  }
326
375
  /**
327
376
  * Execute a single step
@@ -334,6 +383,7 @@ export class PlanExecutor {
334
383
  success: false,
335
384
  newState: currentState,
336
385
  error: `Preconditions not met for action: ${action.name}`,
386
+ retryable: false,
337
387
  };
338
388
  }
339
389
  // A14: an action explicitly marked as having no real domain backing
@@ -347,6 +397,7 @@ export class PlanExecutor {
347
397
  success: false,
348
398
  newState: currentState,
349
399
  error: `Action '${action.name}' has no real implementation yet (not simulated — see GOAPAction.implemented)`,
400
+ retryable: false,
350
401
  };
351
402
  }
352
403
  // A14: real dispatch — opt-in via constructor-injected getDomainAPI
@@ -359,9 +410,7 @@ export class PlanExecutor {
359
410
  const taskDescription = this.buildTaskDescription(action);
360
411
  try {
361
412
  // Execute with timeout
362
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Step timeout after ${this.config.stepTimeoutMs}ms`)), this.config.stepTimeoutMs));
363
- const spawnPromise = this.spawner.spawn(action.agentType, taskDescription);
364
- const agentResult = await Promise.race([spawnPromise, timeoutPromise]);
413
+ const agentResult = await this.withStepTimeout(this.spawner.spawn(action.agentType, taskDescription));
365
414
  if (agentResult.success) {
366
415
  // Apply action effects to world state
367
416
  const newState = this.applyEffects(currentState, action.effects);
@@ -404,6 +453,7 @@ export class PlanExecutor {
404
453
  success: false,
405
454
  newState: currentState,
406
455
  error: `Action '${action.name}' has no qeDomain to resolve a real API from`,
456
+ retryable: false,
407
457
  };
408
458
  }
409
459
  if (!action.method) {
@@ -411,6 +461,7 @@ export class PlanExecutor {
411
461
  success: false,
412
462
  newState: currentState,
413
463
  error: `Action '${action.name}' is marked implemented but has no method binding`,
464
+ retryable: false,
414
465
  };
415
466
  }
416
467
  let api;
@@ -429,6 +480,7 @@ export class PlanExecutor {
429
480
  success: false,
430
481
  newState: currentState,
431
482
  error: `Domain '${action.qeDomain}' is not available (kernel not initialized, or the domain isn't loaded — try fleet_init)`,
483
+ retryable: false,
432
484
  };
433
485
  }
434
486
  const method = api[action.method];
@@ -437,12 +489,28 @@ export class PlanExecutor {
437
489
  success: false,
438
490
  newState: currentState,
439
491
  error: `Domain '${action.qeDomain}' has no method '${action.method}'`,
492
+ retryable: false,
440
493
  };
441
494
  }
442
495
  try {
443
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Step timeout after ${this.config.stepTimeoutMs}ms`)), this.config.stepTimeoutMs));
444
496
  const invokePromise = method.call(api, action.params ?? {});
445
- const result = await Promise.race([invokePromise, timeoutPromise]);
497
+ const result = await this.withStepTimeout(invokePromise);
498
+ // Issue #535: domain APIs return Result<T, Error> ({ success: false,
499
+ // error }) rather than throwing. Treating any resolved value as
500
+ // success reported e.g. detectGaps({}) -> err("missing coverageData")
501
+ // as a completed step and applied its effects — a fabricated success.
502
+ if (typeof result === 'object' &&
503
+ result !== null &&
504
+ result.success === false) {
505
+ const reason = result.error;
506
+ return {
507
+ success: false,
508
+ newState: currentState,
509
+ agentId: `domain:${action.qeDomain}`,
510
+ error: `Domain '${action.qeDomain}' method '${action.method}' returned an error: ` +
511
+ describeDomainError(reason),
512
+ };
513
+ }
446
514
  const newState = this.applyEffects(currentState, action.effects);
447
515
  return {
448
516
  success: true,
@@ -459,6 +527,25 @@ export class PlanExecutor {
459
527
  };
460
528
  }
461
529
  }
530
+ /**
531
+ * Race `work` against the per-step timeout, clearing the timer once the
532
+ * race settles so completed steps don't leave a pending timer behind
533
+ * (codex review, #535: it kept short-lived processes alive for up to
534
+ * stepTimeoutMs and accumulated timers across executions).
535
+ */
536
+ async withStepTimeout(work) {
537
+ let timer;
538
+ const timeout = new Promise((_, reject) => {
539
+ timer = setTimeout(() => reject(new Error(`Step timeout after ${this.config.stepTimeoutMs}ms`)), this.config.stepTimeoutMs);
540
+ });
541
+ try {
542
+ return await Promise.race([work, timeout]);
543
+ }
544
+ finally {
545
+ if (timer !== undefined)
546
+ clearTimeout(timer);
547
+ }
548
+ }
462
549
  /**
463
550
  * Build a task description for an agent
464
551
  */
@@ -494,11 +581,12 @@ export class PlanExecutor {
494
581
  * @param currentState - Current world state at failure point
495
582
  * @returns New plan or null if replanning fails
496
583
  */
497
- async replanFromFailure(originalPlan, failedStepIndex, currentState) {
584
+ async replanFromFailure(originalPlan, failedStepIndex, currentState, additionalExcluded = []) {
498
585
  try {
499
- // Exclude the failed action from replanning
586
+ // Exclude the failed action (and any that failed earlier in this
587
+ // execution) from replanning
500
588
  const failedAction = originalPlan.actions[failedStepIndex];
501
- const excludedActions = [failedAction.id];
589
+ const excludedActions = [...new Set([failedAction.id, ...additionalExcluded])];
502
590
  // Try to find a new plan
503
591
  const newPlan = await this.planner.findPlan(currentState, originalPlan.goalState, { excludedActions });
504
592
  return newPlan;
@@ -555,7 +643,8 @@ export class PlanExecutor {
555
643
  SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as steps_completed,
556
644
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as steps_failed,
557
645
  SUM(COALESCE(duration_ms, 0)) as total_duration_ms,
558
- COUNT(*) as steps_recorded,
646
+ SUM(CASE WHEN action_id = '${CANCELLED_MARKER_ACTION_ID}' THEN 0 ELSE 1 END) as steps_recorded,
647
+ SUM(CASE WHEN action_id = '${CANCELLED_MARKER_ACTION_ID}' THEN 1 ELSE 0 END) as cancelled_markers,
559
648
  MAX(CASE WHEN status = 'failed' THEN error_message END) as last_error
560
649
  FROM goap_execution_steps
561
650
  `;
@@ -571,9 +660,18 @@ export class PlanExecutor {
571
660
  const steps = await this.getExecutedSteps(row.execution_id);
572
661
  const finalWorldState = [...steps].reverse().find((s) => s.worldStateAfter)?.worldStateAfter;
573
662
  const plannedStepCount = this.getPlannedActionCount(row.plan_id);
663
+ // Issue #535: a failed step followed by a successful replacement plan
664
+ // is a recovered (completed) execution; only a run that ENDS on a
665
+ // failed step failed. Without failures, fewer recorded steps than
666
+ // planned means it was cancelled.
667
+ const lastStep = steps[steps.length - 1];
574
668
  let status;
575
- if (row.steps_failed > 0)
669
+ if (row.cancelled_markers > 0)
670
+ status = 'cancelled';
671
+ else if (lastStep?.status === 'failed')
576
672
  status = 'failed';
673
+ else if (row.steps_failed > 0)
674
+ status = 'completed';
577
675
  else if (plannedStepCount != null && row.steps_recorded < plannedStepCount)
578
676
  status = 'cancelled';
579
677
  else
@@ -605,8 +703,8 @@ export class PlanExecutor {
605
703
  */
606
704
  async getExecutedSteps(executionId) {
607
705
  const rows = this.db
608
- .prepare(`SELECT * FROM goap_execution_steps WHERE execution_id = ? ORDER BY step_order`)
609
- .all(executionId);
706
+ .prepare(`SELECT * FROM goap_execution_steps WHERE execution_id = ? AND action_id != ? ORDER BY step_order`)
707
+ .all(executionId, CANCELLED_MARKER_ACTION_ID);
610
708
  return rows.map((row) => ({
611
709
  id: row.id,
612
710
  planId: row.plan_id,
@@ -662,8 +760,19 @@ export class PlanExecutor {
662
760
  agent_output, world_state_before, world_state_after, error_message
663
761
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
664
762
  `);
665
- for (const step of result.steps) {
666
- insertStep.run(step.id, step.planId, executionId, step.action.id, step.stepOrder, step.status, step.retries, step.startedAt.toISOString(), step.durationMs ?? null, step.agentId ?? null, step.agentOutput ?? null, step.worldStateBefore ? JSON.stringify(step.worldStateBefore) : null, step.worldStateAfter ? JSON.stringify(step.worldStateAfter) : null, step.error ?? null);
763
+ // Issue #535: steps from replacement plans (replanning) are recorded
764
+ // under the top-level plan id with a chronological step order, so one
765
+ // execution is one history record for the plan the caller executed —
766
+ // not split across sub-plan ids with colliding step orders.
767
+ result.steps.forEach((step, index) => {
768
+ insertStep.run(step.id, result.planId, executionId, step.action.id, index, step.status, step.retries, step.startedAt.toISOString(), step.durationMs ?? null, step.agentId ?? null, step.agentOutput ?? null, step.worldStateBefore ? JSON.stringify(step.worldStateBefore) : null, step.worldStateAfter ? JSON.stringify(step.worldStateAfter) : null, step.error ?? null);
769
+ });
770
+ // Issue #535 (codex review): an execution's cancellation cannot be
771
+ // inferred from its step rows once replanning is involved (the step
772
+ // count no longer matches the executed plan's action count), so record
773
+ // it explicitly with a marker row that history reads and then hides.
774
+ if (result.status === 'cancelled') {
775
+ insertStep.run(`${executionId}-${CANCELLED_MARKER_STATUS}`, result.planId, executionId, CANCELLED_MARKER_ACTION_ID, result.steps.length, CANCELLED_MARKER_STATUS, 0, new Date().toISOString(), null, null, null, null, null, result.error ?? 'Execution was cancelled');
667
776
  }
668
777
  // Reflects only the most recent execution attempt for this plan — a
669
778
  // deliberate, documented scope limit: goap_plans is one row per plan,
@@ -220,6 +220,12 @@ export interface PlanConstraints {
220
220
  maxCost?: number;
221
221
  /** Maximum total duration in milliseconds */
222
222
  maxDurationMs?: number;
223
+ /**
224
+ * Maximum number of actions (steps) in the returned plan. Must be a
225
+ * positive integer; the planner rejects anything else. Defaults to
226
+ * DEFAULT_MAX_PLAN_STEPS when omitted. Issue #535.
227
+ */
228
+ maxSteps?: number;
223
229
  /** Only use actions that these agent types can execute */
224
230
  requiredAgentTypes?: string[];
225
231
  /** Exclude these specific action IDs */
@@ -227,6 +233,16 @@ export interface PlanConstraints {
227
233
  /** Prefer actions in these QE domains */
228
234
  preferredQeDomains?: QEDomain[];
229
235
  }
236
+ /**
237
+ * Default A* depth limit (plan length cap) when constraints.maxSteps is unset.
238
+ */
239
+ export declare const DEFAULT_MAX_PLAN_STEPS = 20;
240
+ /**
241
+ * Validate a constraints.maxSteps value. Returns an error message, or null
242
+ * when the value is absent or a positive integer. Issue #535: shared by the
243
+ * planner and the goap_plan MCP tool so both boundaries reject the same input.
244
+ */
245
+ export declare function validateMaxSteps(maxSteps: unknown): string | null;
230
246
  /**
231
247
  * Default world state for initialization
232
248
  */
@@ -12,6 +12,23 @@
12
12
  * @module planning/types
13
13
  * @version 3.0.0
14
14
  */
15
+ /**
16
+ * Default A* depth limit (plan length cap) when constraints.maxSteps is unset.
17
+ */
18
+ export const DEFAULT_MAX_PLAN_STEPS = 20;
19
+ /**
20
+ * Validate a constraints.maxSteps value. Returns an error message, or null
21
+ * when the value is absent or a positive integer. Issue #535: shared by the
22
+ * planner and the goap_plan MCP tool so both boundaries reject the same input.
23
+ */
24
+ export function validateMaxSteps(maxSteps) {
25
+ if (maxSteps === undefined)
26
+ return null;
27
+ if (typeof maxSteps !== 'number' || !Number.isInteger(maxSteps) || maxSteps < 1) {
28
+ return `constraints.maxSteps must be a positive integer, got ${String(maxSteps)}`;
29
+ }
30
+ return null;
31
+ }
15
32
  // ============================================================================
16
33
  // Default World State
17
34
  // ============================================================================
@@ -13,4 +13,19 @@ export declare function toErrorMessage(error: unknown): string;
13
13
  * Coerce unknown error value to an Error instance.
14
14
  */
15
15
  export declare function toError(error: unknown): Error;
16
+ /**
17
+ * A request was rejected because the caller's input is invalid (a malformed
18
+ * argument, an unknown function name, an unsupported option combination).
19
+ *
20
+ * The failure is deterministic and says nothing about the health of the
21
+ * component that rejected it, so it must not be retried and must not count
22
+ * toward a domain circuit breaker (ADR-064). The marker survives being
23
+ * flattened to a message string via `callerError` on TaskFailed events.
24
+ */
25
+ export declare class CallerInputError extends Error {
26
+ readonly callerError: true;
27
+ constructor(message: string);
28
+ }
29
+ /** True when `error` is (or is marked as) a caller-input error. */
30
+ export declare function isCallerInputError(error: unknown): boolean;
16
31
  //# sourceMappingURL=error-utils.d.ts.map
@@ -17,4 +17,25 @@ export function toErrorMessage(error) {
17
17
  export function toError(error) {
18
18
  return error instanceof Error ? error : new Error(String(error));
19
19
  }
20
+ /**
21
+ * A request was rejected because the caller's input is invalid (a malformed
22
+ * argument, an unknown function name, an unsupported option combination).
23
+ *
24
+ * The failure is deterministic and says nothing about the health of the
25
+ * component that rejected it, so it must not be retried and must not count
26
+ * toward a domain circuit breaker (ADR-064). The marker survives being
27
+ * flattened to a message string via `callerError` on TaskFailed events.
28
+ */
29
+ export class CallerInputError extends Error {
30
+ callerError = true;
31
+ constructor(message) {
32
+ super(message);
33
+ this.name = 'CallerInputError';
34
+ }
35
+ }
36
+ /** True when `error` is (or is marked as) a caller-input error. */
37
+ export function isCallerInputError(error) {
38
+ return error instanceof CallerInputError
39
+ || (typeof error === 'object' && error !== null && error.callerError === true);
40
+ }
20
41
  //# sourceMappingURL=error-utils.js.map
@@ -17,7 +17,8 @@ export interface TestSuiteCreatedPayload {
17
17
  suiteId: string;
18
18
  testCount: number;
19
19
  sourceFiles: string[];
20
- coverageEstimate: number;
20
+ /** null means unmeasured; never coerce unknown coverage to measured zero. */
21
+ coverageEstimate: number | null;
21
22
  }
22
23
  export declare const TestGenerationEvents: {
23
24
  readonly TestGenerated: "test-generation.TestGenerated";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.14.5",
3
+ "version": "3.14.7",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -78,7 +78,7 @@
78
78
  "mcp": "tsx src/mcp/entry.ts",
79
79
  "test": "NODE_OPTIONS='--max-old-space-size=1024 --expose-gc' vitest run",
80
80
  "test:unit": "npm run test:unit:fast && npm run test:unit:heavy && npm run test:unit:mcp",
81
- "test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/qe-reasoning-bank-feedback-loop.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning tests/context",
81
+ "test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning tests/context",
82
82
  "test:unit:heavy": "vitest run tests/unit/coordination tests/unit/domains tests/unit/integrations tests/unit/optimization tests/unit/init --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/browser-swarm-coordinator.test.ts'",
83
83
  "test:unit:mcp": "vitest run tests/unit/mcp --exclude='**/mcp/handlers/domain-handlers.test.ts' --fileParallelism=false",
84
84
  "test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts' --exclude='**/fixtures/init-corpus/**'",
@@ -115,7 +115,7 @@
115
115
  "test:journeys:ci": "vitest run tests/integration/ --exclude='**/browser/**' --exclude='**/browser-integration/**' --exclude='**/integration/mcp/**' --exclude='**/integration/sync/**' --exclude='**/integration/learning/**' --exclude='**/integration/domains/**' --exclude='**/integration/llm/**' --exclude='**/integration/n8n/**' --exclude='**/*.e2e.test.ts'",
116
116
  "test:watch": "vitest",
117
117
  "performance:gate": "npx tsx src/performance/run-gates.ts",
118
- "test:integration:browser": "VIBIUM_REAL_TESTS=true vitest run tests/integrations/vibium/vibium-real.test.ts",
118
+ "test:integration:browser": "VIBIUM_REAL_TESTS=true vitest run --config config/vitest.browser.config.ts",
119
119
  "benchmark:token-reduction": "vitest bench tests/benchmarks/code-intelligence-token-reduction.bench.ts",
120
120
  "benchmark:self-learning": "tsx scripts/benchmark-self-learning.ts",
121
121
  "benchmark:rabitq": "tsx scripts/benchmark-rabitq.ts",
@@ -196,13 +196,13 @@
196
196
  "semver": "^7.8.5",
197
197
  "typescript": "^5.9.3",
198
198
  "uuid": "^14.0.0",
199
- "vibium": "^0.1.2",
200
199
  "web-tree-sitter": "~0.26.8",
201
200
  "yaml": "^2.8.2"
202
201
  },
203
202
  "peerDependencies": {
204
203
  "@claude-flow/browser": "3.0.0-alpha.1",
205
- "@claude-flow/guidance": "3.0.0-alpha.1"
204
+ "@claude-flow/guidance": "3.0.0-alpha.1",
205
+ "vibium": "^26.8.21"
206
206
  },
207
207
  "peerDependenciesMeta": {
208
208
  "@claude-flow/browser": {
@@ -210,6 +210,9 @@
210
210
  },
211
211
  "@claude-flow/guidance": {
212
212
  "optional": true
213
+ },
214
+ "vibium": {
215
+ "optional": true
213
216
  }
214
217
  },
215
218
  "optionalDependencies": {
@@ -276,7 +279,8 @@
276
279
  "glob": "^13.0.0",
277
280
  "msw": "^2.12.7",
278
281
  "tsx": "^4.21.0",
279
- "vitest": "^5.0.1"
282
+ "vitest": "^5.0.1",
283
+ "vibium": "^26.8.21"
280
284
  },
281
285
  "engines": {
282
286
  "node": ">=22.13.0",
@@ -1,2 +0,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.14.5");process.exit(0)}
2
- import{a,b,c}from"./chunk-UKGXWW64.js";import"./chunk-I2NENQ44.js";import"./chunk-DLF5BOJD.js";import"./chunk-IJHCIXJC.js";import"./chunk-J5UNP6W3.js";import"./chunk-JSZ663MU.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
@@ -1,2 +0,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.14.5");process.exit(0)}
2
- import{a as x}from"./chunk-J27F4NSB.js";import{c as f}from"./chunk-7CD7PBHY.js";import"./chunk-JSZ663MU.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};