agentic-qe 3.15.9 → 3.15.10

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 (568) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +251 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/adapters/a2ui/catalog/component-schemas.js +2 -1
  5. package/dist/adapters/a2ui/data/json-pointer-resolver.js +10 -5
  6. package/dist/adapters/a2ui/integration/agui-sync.js +10 -6
  7. package/dist/adapters/a2ui/integration/surface-state-bridge.js +9 -5
  8. package/dist/adapters/ag-ui/json-patch.js +10 -6
  9. package/dist/audit/witness-chain.d.ts +1 -1
  10. package/dist/cli/bundle.js +6 -6
  11. package/dist/cli/chunks/adapter-TR5SLAZC.js +2 -0
  12. package/dist/cli/chunks/agent-booster-wasm-H7ANGXW4.js +2 -0
  13. package/dist/cli/chunks/{agent-handler-RIYHTHVZ.js → agent-handler-SVXSHEET.js} +2 -2
  14. package/dist/cli/chunks/{agent-memory-branch-WSUCUHOO.js → agent-memory-branch-WKQH36XL.js} +2 -2
  15. package/dist/cli/chunks/aqe-learning-engine-DXWKCHY2.js +2 -0
  16. package/dist/cli/chunks/{arena-KRIBMIXX.js → arena-EKOOFVST.js} +2 -2
  17. package/dist/cli/chunks/{arena-YAJZX6MC.js → arena-OPS36NFZ.js} +4 -4
  18. package/dist/cli/chunks/{audit-7ZNOXWP3.js → audit-AO5NDZRI.js} +3 -3
  19. package/dist/cli/chunks/base-GTB6POYE.js +2 -0
  20. package/dist/cli/chunks/{better-sqlite3-ZQAT4I6H.js → better-sqlite3-TFLVEMMY.js} +2 -2
  21. package/dist/cli/chunks/{brain-handler-452WCPZC.js → brain-handler-ADBBJPYW.js} +3 -3
  22. package/dist/cli/chunks/{branch-enumerator-IJFXJRPN.js → branch-enumerator-HGHUYYL5.js} +2 -2
  23. package/dist/cli/chunks/browser-5LU6P4SZ.js +4 -0
  24. package/dist/cli/chunks/browser-workflow-MSBOLYUY.js +2 -0
  25. package/dist/cli/chunks/{chunk-UOJBR4J3.js → chunk-2SXBBUM6.js} +2 -2
  26. package/dist/cli/chunks/{chunk-7JKB3Q7O.js → chunk-2T7RRL6G.js} +1 -1
  27. package/dist/cli/chunks/{chunk-HCYQHWI2.js → chunk-2XGVTYVX.js} +2 -2
  28. package/dist/cli/chunks/{chunk-3LYU7BLY.js → chunk-2ZI5FKSF.js} +2 -2
  29. package/dist/cli/chunks/chunk-2ZMF4NCF.js +4 -0
  30. package/dist/cli/chunks/{chunk-F3PQZX44.js → chunk-37OWRCUN.js} +1 -1
  31. package/dist/cli/chunks/{chunk-YRBBBUJX.js → chunk-3P34JFQH.js} +4 -4
  32. package/dist/cli/chunks/{chunk-ICP2ORGI.js → chunk-3Y7SPD72.js} +2 -2
  33. package/dist/cli/chunks/{chunk-WGDR2KIR.js → chunk-4G63WT4F.js} +2 -2
  34. package/dist/cli/chunks/chunk-4SJYIX54.js +3 -0
  35. package/dist/cli/chunks/chunk-5E6GHSTY.js +3 -0
  36. package/dist/cli/chunks/{chunk-OXTFSIGN.js → chunk-5LPYV3TK.js} +1 -1
  37. package/dist/cli/chunks/{chunk-XWIUFYM3.js → chunk-62OAY5KJ.js} +1 -1
  38. package/dist/cli/chunks/{chunk-VCMINU7K.js → chunk-6C3II5OM.js} +2 -2
  39. package/dist/cli/chunks/{chunk-EFBLP43U.js → chunk-6GP6W46M.js} +2 -2
  40. package/dist/cli/chunks/{chunk-4JCY45KV.js → chunk-6KIL6CMD.js} +2 -2
  41. package/dist/cli/chunks/{chunk-CTZJUV5I.js → chunk-6MVVSSID.js} +1 -1
  42. package/dist/cli/chunks/{chunk-JEP4ULR6.js → chunk-6P7424AO.js} +2 -2
  43. package/dist/cli/chunks/{chunk-SVHUYVUR.js → chunk-6PX4OXQO.js} +2 -2
  44. package/dist/cli/chunks/{chunk-LEAKYZ37.js → chunk-6S3WJGUV.js} +2 -2
  45. package/dist/cli/chunks/{chunk-7X2Y727E.js → chunk-6TB6YOCZ.js} +1 -1
  46. package/dist/cli/chunks/{chunk-VU2EL424.js → chunk-6X5DHU6Q.js} +1 -1
  47. package/dist/cli/chunks/{chunk-DDPPSSHW.js → chunk-6XCMKIZN.js} +1 -1
  48. package/dist/cli/chunks/{chunk-ZANDSVCK.js → chunk-7LFZ4CHM.js} +2 -2
  49. package/dist/cli/chunks/{chunk-UYLYMWV5.js → chunk-7OZVZIBE.js} +2 -2
  50. package/dist/cli/chunks/{chunk-32UTLDNY.js → chunk-7PJIR4ST.js} +2 -2
  51. package/dist/cli/chunks/{chunk-DINZR5CF.js → chunk-7TB6FK4B.js} +1 -1
  52. package/dist/cli/chunks/{chunk-KVBEGOJE.js → chunk-7ZCDZHDB.js} +2 -2
  53. package/dist/cli/chunks/{chunk-55HRSNGN.js → chunk-A55QKKT2.js} +2 -2
  54. package/dist/cli/chunks/{chunk-LCJTEUDC.js → chunk-ABFFWZPC.js} +428 -433
  55. package/dist/cli/chunks/{chunk-PVIA2FPD.js → chunk-ACWFKES2.js} +2 -2
  56. package/dist/cli/chunks/{chunk-2BA45H64.js → chunk-AH3ZD3NJ.js} +2 -2
  57. package/dist/cli/chunks/{chunk-OG2UI6A3.js → chunk-AI4VYSFS.js} +2 -2
  58. package/dist/cli/chunks/chunk-APSRPR4W.js +2 -0
  59. package/dist/cli/chunks/chunk-ATHWDAXB.js +3 -0
  60. package/dist/cli/chunks/{chunk-TSYQDRNK.js → chunk-B6LTH6YV.js} +2 -2
  61. package/dist/cli/chunks/chunk-BQUAE3CP.js +3 -0
  62. package/dist/cli/chunks/{chunk-OCESWNAZ.js → chunk-C522H7XR.js} +54 -33
  63. package/dist/cli/chunks/{chunk-TUYJ53V4.js → chunk-CESIR27V.js} +2 -2
  64. package/dist/cli/chunks/{chunk-PBZI2ZPV.js → chunk-CFBEBXLO.js} +3 -3
  65. package/dist/cli/chunks/{chunk-FJ4VTLLK.js → chunk-CMBLM26R.js} +2 -2
  66. package/dist/cli/chunks/{chunk-YZYDTABJ.js → chunk-CZ2IF6MC.js} +1 -1
  67. package/dist/cli/chunks/{chunk-GKPQ2GRR.js → chunk-CZGOSJQ4.js} +2 -2
  68. package/dist/cli/chunks/{chunk-FL3OYGCS.js → chunk-D6DA2KFD.js} +2 -2
  69. package/dist/cli/chunks/{chunk-37BIGMJI.js → chunk-DBMNJSBV.js} +1 -1
  70. package/dist/cli/chunks/{chunk-BHKXMIWX.js → chunk-DE4YJQJF.js} +2 -2
  71. package/dist/cli/chunks/{chunk-3CJCROMW.js → chunk-DEF34AFL.js} +2 -2
  72. package/dist/cli/chunks/chunk-DKAC3E3B.js +3 -0
  73. package/dist/cli/chunks/{chunk-AOFO4N32.js → chunk-DMFTELBS.js} +2 -2
  74. package/dist/cli/chunks/{chunk-KLGYIEJK.js → chunk-DNRWGATA.js} +10 -10
  75. package/dist/cli/chunks/{chunk-JWGRWMZP.js → chunk-DT7SIJOA.js} +2 -2
  76. package/dist/cli/chunks/{chunk-6PXA2BQJ.js → chunk-DURHK377.js} +67 -67
  77. package/dist/cli/chunks/{chunk-HAROIAJE.js → chunk-EAU5KDFO.js} +1 -1
  78. package/dist/cli/chunks/{chunk-L42JPFCC.js → chunk-EDLFX4ZB.js} +2 -2
  79. package/dist/cli/chunks/{chunk-6OOYIO3W.js → chunk-EN2QSKFF.js} +2 -2
  80. package/dist/cli/chunks/{chunk-UNUTC6TX.js → chunk-ERQKYIP7.js} +2 -2
  81. package/dist/cli/chunks/{chunk-KFUUIAR4.js → chunk-ESUO3GTJ.js} +2 -2
  82. package/dist/cli/chunks/{chunk-4V27J6YN.js → chunk-EWFECZ2U.js} +2 -2
  83. package/dist/cli/chunks/{chunk-4W4DYVSH.js → chunk-FAUCT5KR.js} +3 -3
  84. package/dist/cli/chunks/{chunk-IFEIY3NQ.js → chunk-FB6TI3BH.js} +2 -2
  85. package/dist/cli/chunks/{chunk-2TDIS6YK.js → chunk-FBXTQNRH.js} +2 -2
  86. package/dist/cli/chunks/{chunk-XOLDMK23.js → chunk-FESZBPUB.js} +2 -2
  87. package/dist/cli/chunks/chunk-FFTPAWM6.js +141 -0
  88. package/dist/cli/chunks/{chunk-A6YIH4C4.js → chunk-FKL3R5JQ.js} +2 -2
  89. package/dist/cli/chunks/{chunk-N5PDFGCQ.js → chunk-FPUDRSFJ.js} +2 -2
  90. package/dist/cli/chunks/{chunk-7QGYJ5OY.js → chunk-FZOWULMH.js} +1 -1
  91. package/dist/cli/chunks/{chunk-AVB5QY2Q.js → chunk-G3CZCUPM.js} +2 -2
  92. package/dist/cli/chunks/{chunk-FV3NHVC7.js → chunk-G5I6KGMW.js} +3 -3
  93. package/dist/cli/chunks/{chunk-N3KEY4XJ.js → chunk-GHBNRMSJ.js} +2 -2
  94. package/dist/cli/chunks/{chunk-2YH62JCN.js → chunk-GJHWY3ZX.js} +2 -2
  95. package/dist/cli/chunks/{chunk-ZXBCCO2H.js → chunk-GJMLK5UT.js} +2 -2
  96. package/dist/cli/chunks/{chunk-NHZIWIQZ.js → chunk-GRCIBCJ2.js} +2 -2
  97. package/dist/cli/chunks/{chunk-J3DTDJDT.js → chunk-GWZZ7DAO.js} +2 -2
  98. package/dist/cli/chunks/{chunk-4SUOVLJ6.js → chunk-GZLZCZ42.js} +2 -2
  99. package/dist/cli/chunks/{chunk-MZS32SYS.js → chunk-H2PYU7MN.js} +1 -1
  100. package/dist/cli/chunks/{chunk-ABFDB4X3.js → chunk-H32EPIR2.js} +1 -1
  101. package/dist/cli/chunks/{chunk-KIXYKUCI.js → chunk-H74Q7TJN.js} +1 -1
  102. package/dist/cli/chunks/chunk-HOZUDE4C.js +2 -0
  103. package/dist/cli/chunks/{chunk-PMCRCEW5.js → chunk-I33O4BRQ.js} +2 -2
  104. package/dist/cli/chunks/{chunk-N3NP6PTT.js → chunk-IKISCIGH.js} +2 -2
  105. package/dist/cli/chunks/{chunk-Q3JVJRVJ.js → chunk-IPJ7Q3AJ.js} +1 -1
  106. package/dist/cli/chunks/{chunk-WRRCQ2UE.js → chunk-IU2IV4NE.js} +1 -1
  107. package/dist/cli/chunks/{chunk-QQ5SZH4D.js → chunk-JHIY4VCC.js} +2 -2
  108. package/dist/cli/chunks/{chunk-W32YU3VI.js → chunk-KG336OV3.js} +2 -2
  109. package/dist/cli/chunks/{chunk-W5VJRDDG.js → chunk-KI73QCR5.js} +2 -2
  110. package/dist/cli/chunks/{chunk-HGTWAZWU.js → chunk-KNQ2ERFX.js} +2 -2
  111. package/dist/cli/chunks/{chunk-SNBYYO6F.js → chunk-KOBVYY6H.js} +2 -2
  112. package/dist/cli/chunks/{chunk-VQHVHVSF.js → chunk-KSIWGGJI.js} +8 -8
  113. package/dist/cli/chunks/{chunk-REUFWGMA.js → chunk-LMS3Y7JD.js} +2 -2
  114. package/dist/cli/chunks/{chunk-LMU5DUDK.js → chunk-LQEURY7C.js} +1 -1
  115. package/dist/cli/chunks/{chunk-AJ4YDSOI.js → chunk-LRZY4KS2.js} +2 -2
  116. package/dist/cli/chunks/{chunk-KIKWJM6J.js → chunk-M2QV7PT7.js} +2 -2
  117. package/dist/cli/chunks/{chunk-TNMQVG4A.js → chunk-MA7JIQ6U.js} +2 -2
  118. package/dist/cli/chunks/{chunk-I6S35FRO.js → chunk-MG27QY4D.js} +2 -2
  119. package/dist/cli/chunks/chunk-MNN5J4GU.js +12 -0
  120. package/dist/cli/chunks/chunk-N6PIIK6G.js +3 -0
  121. package/dist/cli/chunks/chunk-NAXGWDVM.js +12 -0
  122. package/dist/cli/chunks/{chunk-XOVNZT7F.js → chunk-NGKNYIQZ.js} +1 -1
  123. package/dist/cli/chunks/chunk-NNFZUTDH.js +2 -0
  124. package/dist/cli/chunks/{chunk-ZVSLCEVC.js → chunk-NPPHWFA2.js} +3 -3
  125. package/dist/cli/chunks/{chunk-JNNZK7KH.js → chunk-NSHU347M.js} +1 -1
  126. package/dist/cli/chunks/{chunk-PX2B5TS2.js → chunk-NVYIZCSR.js} +2 -2
  127. package/dist/cli/chunks/{chunk-5NS3USRW.js → chunk-NW5JUCCG.js} +1 -1
  128. package/dist/cli/chunks/{chunk-KR3M44CF.js → chunk-NZYLNXT6.js} +3 -3
  129. package/dist/cli/chunks/{chunk-5D2I7JUP.js → chunk-OBAREPDC.js} +2 -2
  130. package/dist/cli/chunks/{chunk-F4JYIRW2.js → chunk-ODJNUMV3.js} +2 -2
  131. package/dist/cli/chunks/{chunk-K5DJXMAA.js → chunk-OEKP73MC.js} +2 -2
  132. package/dist/cli/chunks/{chunk-2URBI52G.js → chunk-OPFGRS5S.js} +2 -2
  133. package/dist/cli/chunks/{chunk-HZ5NC6U5.js → chunk-OY2AHLSF.js} +1 -1
  134. package/dist/cli/chunks/{chunk-GII5WVAK.js → chunk-OY3NJNP2.js} +1 -1
  135. package/dist/cli/chunks/{chunk-P73W2K7T.js → chunk-PCEW6Q2C.js} +1 -1
  136. package/dist/cli/chunks/{chunk-7QTB5VJZ.js → chunk-PFG6VQ5Z.js} +2 -2
  137. package/dist/cli/chunks/{chunk-7KII4CQG.js → chunk-PGYMKGOE.js} +2 -2
  138. package/dist/cli/chunks/{chunk-BXO536GT.js → chunk-PPSAMXYN.js} +3 -3
  139. package/dist/cli/chunks/chunk-RK73HB2F.js +2 -0
  140. package/dist/cli/chunks/{chunk-ZBDRLF43.js → chunk-RPHY2DU6.js} +2 -2
  141. package/dist/cli/chunks/{chunk-XDBD4GXO.js → chunk-RWWOHCMG.js} +25 -20
  142. package/dist/cli/chunks/{chunk-J5KNRVXR.js → chunk-S75EYIJG.js} +1 -1
  143. package/dist/cli/chunks/{chunk-ETG7O5E5.js → chunk-SKQUUE4F.js} +5 -5
  144. package/dist/cli/chunks/chunk-SO45NA4D.js +180 -0
  145. package/dist/cli/chunks/{chunk-47V7FQGX.js → chunk-SU5H66SD.js} +2 -2
  146. package/dist/cli/chunks/{chunk-NTAD5UX4.js → chunk-SY2IB442.js} +2 -2
  147. package/dist/cli/chunks/{chunk-D6XVGFTI.js → chunk-TBLI254A.js} +2 -2
  148. package/dist/cli/chunks/{chunk-47TYABPD.js → chunk-TNMBRDCA.js} +3 -3
  149. package/dist/cli/chunks/{chunk-P2CXVNKK.js → chunk-TYFZXDGZ.js} +2 -2
  150. package/dist/cli/chunks/{chunk-2XITOPYV.js → chunk-U4OICXV2.js} +2 -2
  151. package/dist/cli/chunks/{chunk-JAV5WPSY.js → chunk-U53ZB4IX.js} +2 -2
  152. package/dist/cli/chunks/chunk-UARKIZAS.js +2 -0
  153. package/dist/cli/chunks/{chunk-2HL3UM5P.js → chunk-UCJMVXO4.js} +2 -2
  154. package/dist/cli/chunks/{chunk-HWK5L7IJ.js → chunk-UHTTW3IT.js} +2 -2
  155. package/dist/cli/chunks/{chunk-OXZLKP6C.js → chunk-V2M2XCR5.js} +1 -1
  156. package/dist/cli/chunks/{chunk-YZGSJG34.js → chunk-V2RSNVMW.js} +1 -1
  157. package/dist/cli/chunks/{chunk-5JWGCIQW.js → chunk-V6JBOIMX.js} +1 -1
  158. package/dist/cli/chunks/{chunk-JUVHZG7I.js → chunk-VFKF2XO7.js} +1 -1
  159. package/dist/cli/chunks/{chunk-XQ3DDY7X.js → chunk-VFSYMOAL.js} +2 -2
  160. package/dist/cli/chunks/{chunk-V5PXQSFS.js → chunk-VJQYDYAJ.js} +2 -2
  161. package/dist/cli/chunks/{chunk-A4RU67VX.js → chunk-VKRTTFB6.js} +2 -2
  162. package/dist/cli/chunks/{chunk-H3KBIWTO.js → chunk-VWNFAW2M.js} +2 -2
  163. package/dist/cli/chunks/{chunk-72AMFDC7.js → chunk-WBM6N6IM.js} +1 -1
  164. package/dist/cli/chunks/{chunk-XUIA5KMS.js → chunk-WDQ7IEZY.js} +2 -2
  165. package/dist/cli/chunks/{chunk-FLASM2XB.js → chunk-WDVRE6GN.js} +2 -2
  166. package/dist/cli/chunks/{chunk-FV7VAG74.js → chunk-WQ4PYWSW.js} +1 -1
  167. package/dist/cli/chunks/{chunk-DGTLJNJH.js → chunk-WSF24I3D.js} +2 -2
  168. package/dist/cli/chunks/{chunk-6YL6JOQB.js → chunk-XBVUVFJK.js} +2 -2
  169. package/dist/cli/chunks/{chunk-VRGCKBF7.js → chunk-XEB3NLJR.js} +2 -2
  170. package/dist/cli/chunks/{chunk-XYCKHYBM.js → chunk-XFVTGAAJ.js} +2 -2
  171. package/dist/cli/chunks/{chunk-2I2UPJS7.js → chunk-XLZYRTNO.js} +2 -2
  172. package/dist/cli/chunks/{chunk-AR2E4B7K.js → chunk-XUZDBQ5X.js} +5 -5
  173. package/dist/cli/chunks/{chunk-AQTVVLNP.js → chunk-Y76IAYQD.js} +1 -1
  174. package/dist/cli/chunks/{chunk-UOWHE77F.js → chunk-YAKGBHO4.js} +2 -2
  175. package/dist/cli/chunks/{chunk-JK2ME6IT.js → chunk-YBSBABOS.js} +2 -2
  176. package/dist/cli/chunks/{chunk-NDKLQW6N.js → chunk-YCGP5VFP.js} +2 -2
  177. package/dist/cli/chunks/{chunk-GBUIG3FS.js → chunk-YDAQK5UF.js} +1 -1
  178. package/dist/cli/chunks/{chunk-HTZJSQ3C.js → chunk-YK3BVZY6.js} +2 -2
  179. package/dist/cli/chunks/{chunk-GCWSX2NY.js → chunk-YK7JN5N7.js} +4 -4
  180. package/dist/cli/chunks/{chunk-C6RTMTEH.js → chunk-YKMU4LBV.js} +1 -1
  181. package/dist/cli/chunks/{chunk-JP4P3P3D.js → chunk-YYTGXD3R.js} +2 -2
  182. package/dist/cli/chunks/{chunk-763SUL4B.js → chunk-Z2O2YJAF.js} +2 -2
  183. package/dist/cli/chunks/{chunk-QTVWUQTB.js → chunk-Z7IYW5U7.js} +1 -1
  184. package/dist/cli/chunks/{chunk-XZJ2O3VC.js → chunk-ZG5666GJ.js} +1 -1
  185. package/dist/cli/chunks/{chunk-6EPHNJTL.js → chunk-ZXPY654C.js} +1 -1
  186. package/dist/cli/chunks/{ci-7SGRCFPS.js → ci-MSKMVH5X.js} +2 -2
  187. package/dist/cli/chunks/{ci-config-MX3URPZA.js → ci-config-7ODMNAUM.js} +2 -2
  188. package/dist/cli/chunks/{ci-output-M47NJY6D.js → ci-output-FXZ7ZZW3.js} +2 -2
  189. package/dist/cli/chunks/{circuit-breaker-5GAK45SW.js → circuit-breaker-4VOUEPOX.js} +2 -2
  190. package/dist/cli/chunks/{claude-flow-setup-YXYSRH4Y.js → claude-flow-setup-7D4SGLM4.js} +2 -2
  191. package/dist/cli/chunks/client-POSVREVS.js +2 -0
  192. package/dist/cli/chunks/{cline-installer-DLJ5QD5N.js → cline-installer-WRRT7BGQ.js} +2 -2
  193. package/dist/cli/chunks/{code-ONKLMVQ2.js → code-ZDJRIL3S.js} +3 -3
  194. package/dist/cli/chunks/{code-index-extractor-2232LGZN.js → code-index-extractor-4S4SHM56.js} +2 -2
  195. package/dist/cli/chunks/{codex-installer-UOWLYCMH.js → codex-installer-YTRHNDWR.js} +2 -2
  196. package/dist/cli/chunks/{completions-MHX7GCC7.js → completions-6N64JUXJ.js} +2 -2
  197. package/dist/cli/chunks/{complexity-analyzer-43ZUJKZU.js → complexity-analyzer-I4A26VCJ.js} +2 -2
  198. package/dist/cli/chunks/{continuedev-installer-6Q5JR4FF.js → continuedev-installer-IIDR66LB.js} +2 -2
  199. package/dist/cli/chunks/{copilot-installer-CZUMVHSI.js → copilot-installer-SVVFY3S2.js} +2 -2
  200. package/dist/cli/chunks/core-handlers-V243GY7X.js +2 -0
  201. package/dist/cli/chunks/{cost-tracker-VS5ZW3XN.js → cost-tracker-VGFS6IBX.js} +2 -2
  202. package/dist/cli/chunks/{coverage-VWKTWZ6D.js → coverage-B7MCGNTE.js} +3 -3
  203. package/dist/cli/chunks/cross-domain-router-N3AIEM3B.js +2 -0
  204. package/dist/cli/chunks/{cursor-installer-YIFEMORH.js → cursor-installer-UPETT57E.js} +2 -2
  205. package/dist/cli/chunks/daemon-7BDJHEIJ.js +18 -0
  206. package/dist/cli/chunks/{daemon-SHWJSJW5.js → daemon-CQFNZLXU.js} +3 -3
  207. package/dist/cli/chunks/{dag-attention-scheduler-TCC2WM46.js → dag-attention-scheduler-PJVABHON.js} +2 -2
  208. package/dist/cli/chunks/{detect-IGTWSQMA.js → detect-56SKAGWX.js} +2 -2
  209. package/dist/cli/chunks/{dist-node-TCOTJVQX.js → dist-node-UYTYUMLN.js} +2 -2
  210. package/dist/cli/chunks/{domain-handler-55ZVYODR.js → domain-handler-YOYLBYJE.js} +2 -2
  211. package/dist/cli/chunks/{domain-plugins-GJRWOHQP.js → domain-plugins-7TARX2XF.js} +2 -2
  212. package/dist/cli/chunks/domain-transfer-AKVSBD6E.js +2 -0
  213. package/dist/cli/chunks/dream-UA7MKOPQ.js +2 -0
  214. package/dist/cli/chunks/{embed-and-insert-pattern-XAMNIKQL.js → embed-and-insert-pattern-IS6HSR66.js} +2 -2
  215. package/dist/cli/chunks/{eval-GO22R4OZ.js → eval-GNB574IM.js} +2 -2
  216. package/dist/cli/chunks/{experience-capture-middleware-F2BRMJ3Y.js → experience-capture-middleware-RCAOCKM7.js} +3 -3
  217. package/dist/cli/chunks/{fast-paths-6RGPYALD.js → fast-paths-KTZ5SF54.js} +2 -2
  218. package/dist/cli/chunks/{feature-flags-ZGS3KLPH.js → feature-flags-ITX5LQ57.js} +2 -2
  219. package/dist/cli/chunks/{feature-flags-MIWQIOHU.js → feature-flags-KFHSR5YF.js} +2 -2
  220. package/dist/cli/chunks/file-discovery-YCMNKZAK.js +2 -0
  221. package/dist/cli/chunks/fleet-2Y3ZE6CE.js +46 -0
  222. package/dist/cli/chunks/{gnn-wrapper-ALBJVW6T.js → gnn-wrapper-RLFW3GSX.js} +2 -2
  223. package/dist/cli/chunks/{heartbeat-handler-ZMM53NDY.js → heartbeat-handler-EM2URCYZ.js} +4 -4
  224. package/dist/cli/chunks/heartbeat-scheduler-QH5V6G2P.js +2 -0
  225. package/dist/cli/chunks/hnsw-adapter-OJNFAGJS.js +2 -0
  226. package/dist/cli/chunks/hnsw-index-DFUNARVD.js +2 -0
  227. package/dist/cli/chunks/{hnsw-legacy-bridge-RYUJPA7B.js → hnsw-legacy-bridge-JMHEOIBH.js} +2 -2
  228. package/dist/cli/chunks/{hnswlib-node-XM6XF3YV.js → hnswlib-node-CBP73QHY.js} +2 -2
  229. package/dist/cli/chunks/{hooks-X62O7TJO.js → hooks-IP7XE34Z.js} +34 -34
  230. package/dist/cli/chunks/hybrid-backend-SSGQQEQ2.js +2 -0
  231. package/dist/cli/chunks/{hypergraph-engine-ZBWUPTVD.js → hypergraph-engine-ONAYHU25.js} +2 -2
  232. package/dist/cli/chunks/{hypergraph-handler-DUMF6SJV.js → hypergraph-handler-VINJRAID.js} +3 -3
  233. package/dist/cli/chunks/impact-analyzer-CRGCA7ZD.js +2 -0
  234. package/dist/cli/chunks/{init-guard-S4I2R46S.js → init-guard-RYVV5R3Z.js} +2 -2
  235. package/dist/cli/chunks/{init-handler-L4KJHVWS.js → init-handler-MPRGWMOE.js} +6 -6
  236. package/dist/cli/chunks/init-wizard-NIMZ4J55.js +2 -0
  237. package/dist/cli/chunks/kernel-JQK7PRAI.js +2 -0
  238. package/dist/cli/chunks/{kilocode-installer-GNNB5FCZ.js → kilocode-installer-OPD7JBRL.js} +2 -2
  239. package/dist/cli/chunks/{kiro-installer-HR6ZAH7T.js → kiro-installer-M4OPUNK2.js} +2 -2
  240. package/dist/cli/chunks/knowledge-graph-YPVVIKEU.js +2 -0
  241. package/dist/cli/chunks/{learning-4IEEOHJS.js → learning-4UWTQLMF.js} +24 -24
  242. package/dist/cli/chunks/{llm-router-ZFMORP36.js → llm-router-SQ56FF6Z.js} +4 -4
  243. package/dist/cli/chunks/llm-router-service-5OGAUOXF.js +2 -0
  244. package/dist/cli/chunks/{load-ZM43WGDO.js → load-HPHKDGGL.js} +2 -2
  245. package/dist/cli/chunks/load-test-UKNV5MWW.js +2 -0
  246. package/dist/cli/chunks/mcp-TELMAC7Z.js +2 -0
  247. package/dist/cli/chunks/{memory-W5FZGVAD.js → memory-PFQ3KPVJ.js} +5 -5
  248. package/dist/cli/chunks/memory-backend-ZW4BTRNK.js +2 -0
  249. package/dist/cli/chunks/memory-handlers-FCXN437E.js +2 -0
  250. package/dist/cli/chunks/{multi-model-executor-SXXGAQ2G.js → multi-model-executor-3VDRX6TZ.js} +2 -2
  251. package/dist/cli/chunks/{opencode-installer-PIRBUAB5.js → opencode-installer-PJ576R63.js} +2 -2
  252. package/dist/cli/chunks/{orchestrator-H5SQCQTB.js → orchestrator-72QP4UU7.js} +63 -19
  253. package/dist/cli/chunks/pattern-null-store-4DUV6MQC.js +2 -0
  254. package/dist/cli/chunks/{pattern-usage-recorder-XZTWDI2T.js → pattern-usage-recorder-754YQW7C.js} +2 -2
  255. package/dist/cli/chunks/pipeline-AVXY4MVB.js +19 -0
  256. package/dist/cli/chunks/{platform-KJDABL5C.js → platform-3E3DXLYB.js} +2 -2
  257. package/dist/cli/chunks/{plugin-V4KSBVVM.js → plugin-7FUQAKRE.js} +2 -2
  258. package/dist/cli/chunks/{prime-radiant-advanced-wasm-JDHTKQAT.js → prime-radiant-advanced-wasm-NIB4F5NV.js} +2 -2
  259. package/dist/cli/chunks/project-root-JCAUNL6O.js +2 -0
  260. package/dist/cli/chunks/protocol-executor-RNZNZP3A.js +2 -0
  261. package/dist/cli/chunks/{protocol-handler-BNRONTQV.js → protocol-handler-BQRYMUTG.js} +2 -2
  262. package/dist/cli/chunks/{prove-ELLL6XMX.js → prove-H52QGC6B.js} +2 -2
  263. package/dist/cli/chunks/qe-reasoning-bank-WK6TQOG2.js +2 -0
  264. package/dist/cli/chunks/{quality-NH2QA4D4.js → quality-QO4XPAUM.js} +2 -2
  265. package/dist/cli/chunks/{quality-gate-JTKLF7GW.js → quality-gate-FBKE5E6F.js} +3 -3
  266. package/dist/cli/chunks/queen-coordinator-4452SXZQ.js +2 -0
  267. package/dist/cli/chunks/{real-embeddings-J3KCKLPB.js → real-embeddings-RWGOVOXO.js} +2 -2
  268. package/dist/cli/chunks/{ref-validation-HNXQRP4F.js → ref-validation-LF76ZOBD.js} +2 -2
  269. package/dist/cli/chunks/{roocode-installer-COJ6CX6S.js → roocode-installer-3BYEBTQ7.js} +2 -2
  270. package/dist/cli/chunks/router-3DIS5X4R.js +2 -0
  271. package/dist/cli/chunks/routing-feedback-OPXRCXM7.js +2 -0
  272. package/dist/cli/chunks/{routing-handler-WM33ZILE.js → routing-handler-DST7BVCU.js} +2 -2
  273. package/dist/cli/chunks/{ruvector-commands-BBLXEA7A.js → ruvector-commands-XE32PGKC.js} +2 -2
  274. package/dist/cli/chunks/rvf-dual-writer-JL6T727I.js +2 -0
  275. package/dist/cli/chunks/rvf-migration-adapter-V7IBDUCS.js +2 -0
  276. package/dist/cli/chunks/{rvf-migration-coordinator-P7H6HCAG.js → rvf-migration-coordinator-VP32XC75.js} +2 -2
  277. package/dist/cli/chunks/rvf-native-adapter-O3UQTEBK.js +2 -0
  278. package/dist/cli/chunks/{rvf-store-integrity-R5SPVRFP.js → rvf-store-integrity-SH2AMVI7.js} +2 -2
  279. package/dist/cli/chunks/safe-db-EVB4ZC7T.js +2 -0
  280. package/dist/cli/chunks/schedule-ORDDXXY4.js +2 -0
  281. package/dist/cli/chunks/scheduler-XFLJSFIU.js +2 -0
  282. package/dist/cli/chunks/{security-AUDTRX3I.js → security-VSPNKCDS.js} +3 -3
  283. package/dist/cli/chunks/{shared-rvf-adapter-PVDGBGI2.js → shared-rvf-adapter-HX6AHL3P.js} +2 -2
  284. package/dist/cli/chunks/{shared-rvf-dual-writer-LZ2GMSS2.js → shared-rvf-dual-writer-MX4FC2JE.js} +2 -2
  285. package/dist/cli/chunks/sqlite-persistence-Y7B42CJ3.js +2 -0
  286. package/dist/cli/chunks/{standalone-memory-XNOAI4G4.js → standalone-memory-O4QUTK6L.js} +2 -2
  287. package/dist/cli/chunks/{status-handler-K72XZE4T.js → status-handler-Z2BP6EOG.js} +2 -2
  288. package/dist/cli/chunks/{structural-health-NF3YY7U5.js → structural-health-R36WNLQG.js} +2 -2
  289. package/dist/cli/chunks/sync-2ELWUFQU.js +2 -0
  290. package/dist/cli/chunks/{sync-VBD5Y3E2.js → sync-QF5Y3EMZ.js} +2 -2
  291. package/dist/cli/chunks/{task-handler-24S3WFVJ.js → task-handler-43PYE75J.js} +2 -2
  292. package/dist/cli/chunks/task-handlers-KPWAEMKH.js +9 -0
  293. package/dist/cli/chunks/{test-XFSGQELD.js → test-UWA377D4.js} +16 -16
  294. package/dist/cli/chunks/test-runner-process-3XZUYST2.js +2 -0
  295. package/dist/cli/chunks/{test-scheduling-VYUQ4CDE.js → test-scheduling-YQZPJRRN.js} +3 -3
  296. package/dist/cli/chunks/token-bootstrap-F7C6UKTC.js +2 -0
  297. package/dist/cli/chunks/{token-usage-VLQ6WO2L.js → token-usage-DO6WLMXP.js} +2 -2
  298. package/dist/cli/chunks/{transformers-TOFMWWNM.js → transformers-H5RGFKVO.js} +2 -2
  299. package/dist/cli/chunks/tree-sitter-wasm-parser-YTBCBHUO.js +2 -0
  300. package/dist/cli/chunks/{types-JTWLBAZJ.js → types-PJS2FGPF.js} +2 -2
  301. package/dist/cli/chunks/unified-memory-EHD4VNFW.js +2 -0
  302. package/dist/cli/chunks/unified-memory-hnsw-ZODGM4UK.js +2 -0
  303. package/dist/cli/chunks/unified-persistence-MHSI7ABK.js +2 -0
  304. package/dist/cli/chunks/{upgrade-4ABM72T4.js → upgrade-4IC4F6AB.js} +2 -2
  305. package/dist/cli/chunks/{validate-UDJCWKXI.js → validate-DHUWW7PF.js} +2 -2
  306. package/dist/cli/chunks/{validate-swarm-TODOUWNN.js → validate-swarm-OERQNOX5.js} +2 -2
  307. package/dist/cli/chunks/visual-security-54MLFKWY.js +2 -0
  308. package/dist/cli/chunks/{web-tree-sitter-WBMAJPM5.js → web-tree-sitter-TV7DMKES.js} +2 -2
  309. package/dist/cli/chunks/{windsurf-installer-BTT53TUL.js → windsurf-installer-QZPWSH37.js} +2 -2
  310. package/dist/cli/chunks/witness-chain-LC6Q2W27.js +2 -0
  311. package/dist/cli/chunks/witness-chain-QUIBAF3W.js +2 -0
  312. package/dist/cli/chunks/witness-chain-repair-RUXIOE7F.js +2 -0
  313. package/dist/cli/chunks/{witness-chain-verifier-FRY3LMGH.js → witness-chain-verifier-YXENHB42.js} +2 -2
  314. package/dist/cli/chunks/{witness-key-manager-X7QHQQWL.js → witness-key-manager-HL26AGFO.js} +2 -2
  315. package/dist/cli/chunks/{workflow-QMZPAWQW.js → workflow-EOVVCN2E.js} +4 -4
  316. package/dist/cli/chunks/workflow-orchestrator-UKHEJVSK.js +2 -0
  317. package/dist/cli/chunks/wrappers-AGODHBOO.js +2 -0
  318. package/dist/cli/commands/fleet.js +19 -12
  319. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +9 -2
  320. package/dist/cli/commands/hooks-handlers/session-hooks.js +2 -2
  321. package/dist/cli/commands/hooks-handlers/stats-hooks.js +3 -2
  322. package/dist/cli/commands/learning.js +5 -3
  323. package/dist/cli/commands/ruvector-commands.js +2 -1
  324. package/dist/cli/commands/test.js +6 -0
  325. package/dist/cli/utils/ci-output.d.ts +9 -0
  326. package/dist/cli/utils/fleet-operation.d.ts +32 -0
  327. package/dist/cli/utils/fleet-operation.js +71 -0
  328. package/dist/cli/utils/fleet-result.d.ts +31 -0
  329. package/dist/cli/utils/fleet-result.js +124 -0
  330. package/dist/context/sources/git-source.js +6 -2
  331. package/dist/coordination/handlers/code-intelligence-handlers.js +60 -5
  332. package/dist/coordination/handlers/coverage-handlers.js +10 -1
  333. package/dist/coordination/handlers/requirements-handlers.js +16 -2
  334. package/dist/coordination/handlers/security-handlers.js +11 -1
  335. package/dist/coordination/handlers/test-execution-handlers.js +25 -7
  336. package/dist/coordination/mincut/queen-integration.d.ts +39 -1
  337. package/dist/coordination/mincut/queen-integration.js +83 -6
  338. package/dist/coordination/protocols/learning-consolidation-archive.d.ts +2 -6
  339. package/dist/coordination/protocols/learning-consolidation-archive.js +4 -27
  340. package/dist/coordination/protocols/learning-consolidation.d.ts +24 -0
  341. package/dist/coordination/protocols/learning-consolidation.js +71 -22
  342. package/dist/coordination/queen-coordinator.d.ts +1 -1
  343. package/dist/coordination/queen-coordinator.js +19 -7
  344. package/dist/coordination/queen-event-handlers.js +13 -0
  345. package/dist/coordination/queen-task-management.d.ts +18 -24
  346. package/dist/coordination/queen-task-management.js +62 -168
  347. package/dist/coordination/queen-task-queue.d.ts +41 -0
  348. package/dist/coordination/queen-task-queue.js +194 -0
  349. package/dist/coordination/queen-types.d.ts +1 -1
  350. package/dist/coordination/queen-work-stealing.d.ts +6 -1
  351. package/dist/coordination/queen-work-stealing.js +7 -4
  352. package/dist/coordination/result-saver-adapters.d.ts +15 -0
  353. package/dist/coordination/result-saver-adapters.js +57 -0
  354. package/dist/coordination/result-saver.d.ts +1 -1
  355. package/dist/coordination/result-saver.js +8 -5
  356. package/dist/coordination/yaml-pipeline-loader.js +5 -2
  357. package/dist/domains/code-intelligence/index-path-guard.d.ts +5 -2
  358. package/dist/domains/code-intelligence/index-path-guard.js +20 -50
  359. package/dist/domains/code-intelligence/plugin.js +5 -1
  360. package/dist/domains/code-intelligence/services/metric-collector/index.d.ts +2 -2
  361. package/dist/domains/code-intelligence/services/metric-collector/index.js +2 -3
  362. package/dist/domains/code-intelligence/services/metric-collector/loc-counter.d.ts +1 -1
  363. package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +11 -36
  364. package/dist/domains/code-intelligence/services/metric-collector/test-counter.d.ts +1 -1
  365. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +45 -103
  366. package/dist/domains/contract-testing/services/api-compatibility.js +7 -6
  367. package/dist/domains/contract-testing/services/contract-validator.js +6 -4
  368. package/dist/domains/contract-testing/services/schema-validator.js +8 -5
  369. package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
  370. package/dist/domains/defect-intelligence/plugin.js +11 -2
  371. package/dist/domains/defect-intelligence/prediction-history.d.ts +27 -0
  372. package/dist/domains/defect-intelligence/prediction-history.js +68 -0
  373. package/dist/domains/defect-intelligence/services/defect-predictor.js +25 -10
  374. package/dist/domains/enterprise-integration/services/message-broker-service.js +3 -2
  375. package/dist/domains/enterprise-integration/services/odata-service.js +2 -1
  376. package/dist/domains/enterprise-integration/services/sap-integration-service.js +3 -2
  377. package/dist/domains/learning-optimization/active-patterns.d.ts +2 -2
  378. package/dist/domains/learning-optimization/active-patterns.js +2 -2
  379. package/dist/domains/learning-optimization/coordinator.js +9 -5
  380. package/dist/domains/learning-optimization/interfaces.d.ts +6 -2
  381. package/dist/domains/learning-optimization/pattern-archive.d.ts +31 -0
  382. package/dist/domains/learning-optimization/pattern-archive.js +56 -0
  383. package/dist/domains/learning-optimization/pattern-consolidation.d.ts +12 -0
  384. package/dist/domains/learning-optimization/pattern-consolidation.js +41 -0
  385. package/dist/domains/learning-optimization/reward-source.d.ts +13 -0
  386. package/dist/domains/learning-optimization/reward-source.js +8 -1
  387. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +5 -3
  388. package/dist/domains/learning-optimization/services/learning-coordinator.js +45 -58
  389. package/dist/domains/security-compliance/plugin.js +17 -3
  390. package/dist/domains/security-compliance/sast-path-guard.d.ts +9 -0
  391. package/dist/domains/security-compliance/sast-path-guard.js +17 -0
  392. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +46 -56
  393. package/dist/domains/security-compliance/services/scanners/dast-helpers.js +76 -91
  394. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +52 -62
  395. package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +21 -1
  396. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +29 -24
  397. package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +4 -1
  398. package/dist/domains/test-execution/coordinator.d.ts +5 -0
  399. package/dist/domains/test-execution/coordinator.js +35 -20
  400. package/dist/domains/test-execution/interfaces.d.ts +25 -0
  401. package/dist/domains/test-execution/plugin.js +19 -4
  402. package/dist/domains/test-execution/services/flaky-detector.js +9 -7
  403. package/dist/domains/test-execution/services/retry-handler.js +46 -7
  404. package/dist/domains/test-execution/services/runner-test-cases.d.ts +11 -0
  405. package/dist/domains/test-execution/services/runner-test-cases.js +20 -2
  406. package/dist/domains/test-execution/services/test-executor.js +8 -8
  407. package/dist/domains/test-generation/plugin.js +7 -2
  408. package/dist/domains/test-generation/services/test-data-generator.js +3 -1
  409. package/dist/domains/visual-accessibility/services/axe-core-audit.js +1 -1
  410. package/dist/hooks/cross-phase-hooks.js +2 -1
  411. package/dist/init/phases/10-workers.js +50 -6
  412. package/dist/integrations/browser/agent-browser/client.js +37 -52
  413. package/dist/integrations/browser/agent-browser/command-executor.d.ts +33 -27
  414. package/dist/integrations/browser/agent-browser/command-executor.js +53 -54
  415. package/dist/integrations/browser/agent-browser/session-manager.d.ts +1 -1
  416. package/dist/integrations/browser/agent-browser/session-manager.js +8 -9
  417. package/dist/integrations/browser/web-content-fetcher.js +9 -3
  418. package/dist/integrations/vibium/client.js +2 -2
  419. package/dist/integrations/vibium/runtime.d.ts +1 -1
  420. package/dist/integrations/vibium/runtime.js +14 -11
  421. package/dist/kernel/unified-memory-schemas.d.ts +3 -2
  422. package/dist/kernel/unified-memory-schemas.js +3 -2
  423. package/dist/kernel/unified-memory.js +25 -6
  424. package/dist/learning/dream/dream-commit.d.ts +65 -0
  425. package/dist/learning/dream/dream-commit.js +104 -0
  426. package/dist/learning/dream/dream-engine.d.ts +81 -31
  427. package/dist/learning/dream/dream-engine.js +225 -168
  428. package/dist/learning/dream/dream-insights-pruner.d.ts +9 -3
  429. package/dist/learning/dream/dream-insights-pruner.js +16 -30
  430. package/dist/learning/dream/index.d.ts +3 -2
  431. package/dist/learning/dream/index.js +3 -1
  432. package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -1
  433. package/dist/learning/dream/rvcow-branch-manager.js +8 -1
  434. package/dist/learning/dream/speculative-dreamer.d.ts +50 -74
  435. package/dist/learning/dream/speculative-dreamer.js +64 -111
  436. package/dist/learning/dream/spreading-activation.d.ts +2 -1
  437. package/dist/learning/dream/spreading-activation.js +15 -6
  438. package/dist/learning/experience-capture.d.ts +9 -0
  439. package/dist/learning/experience-capture.js +18 -4
  440. package/dist/learning/qe-reasoning-bank-types.d.ts +17 -2
  441. package/dist/learning/qe-reasoning-bank.js +22 -11
  442. package/dist/learning/sqlite-persistence.d.ts +6 -0
  443. package/dist/learning/sqlite-persistence.js +16 -2
  444. package/dist/learning/usage-outcome.d.ts +68 -0
  445. package/dist/learning/usage-outcome.js +84 -0
  446. package/dist/mcp/background-workers.d.ts +13 -1
  447. package/dist/mcp/background-workers.js +17 -3
  448. package/dist/mcp/bundle.js +607 -580
  449. package/dist/mcp/handlers/core-handlers.js +11 -0
  450. package/dist/mcp/handlers/domain-handler-configs.d.ts +5 -0
  451. package/dist/mcp/handlers/domain-handler-configs.js +11 -3
  452. package/dist/mcp/handlers/handler-factory.d.ts +2 -1
  453. package/dist/mcp/handlers/handler-factory.js +36 -15
  454. package/dist/mcp/handlers/orchestrate-routes.d.ts +36 -0
  455. package/dist/mcp/handlers/orchestrate-routes.js +88 -0
  456. package/dist/mcp/handlers/task-handlers.d.ts +3 -0
  457. package/dist/mcp/handlers/task-handlers.js +35 -8
  458. package/dist/mcp/handlers/validation-pipeline-handler.js +6 -2
  459. package/dist/mcp/protocol-server.js +2 -0
  460. package/dist/mcp/security/schema-validator.js +3 -2
  461. package/dist/mcp/tools/code-intelligence/c4.js +11 -1
  462. package/dist/mcp/tools/coverage-analysis/index.js +31 -2
  463. package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -8
  464. package/dist/mcp/tools/learning-optimization/dream.js +38 -34
  465. package/dist/mcp/tools/learning-optimization/optimize.d.ts +18 -2
  466. package/dist/mcp/tools/learning-optimization/optimize.js +58 -10
  467. package/dist/mcp/tools/quality-assessment/gate.js +12 -1
  468. package/dist/mcp/tools/requirements-validation/quality-criteria.js +9 -2
  469. package/dist/migration/agent-compat.js +7 -5
  470. package/dist/migrations/20261018_add_dream_insights_archive.d.ts +27 -0
  471. package/dist/migrations/20261018_add_dream_insights_archive.js +57 -0
  472. package/dist/shared/git/git-analyzer.d.ts +49 -0
  473. package/dist/shared/git/git-analyzer.js +159 -319
  474. package/dist/shared/git/git-process.d.ts +22 -0
  475. package/dist/shared/git/git-process.js +37 -0
  476. package/dist/shared/git/index.d.ts +1 -0
  477. package/dist/shared/git/index.js +1 -0
  478. package/dist/shared/io/payload-path-guard.d.ts +75 -0
  479. package/dist/shared/io/payload-path-guard.js +190 -0
  480. package/dist/shared/llm/router/agent-router-config.js +2 -1
  481. package/dist/shared/llm/translation/tool-translator.js +2 -1
  482. package/dist/shared/test-runner-args.d.ts +5 -0
  483. package/dist/shared/test-runner-args.js +6 -1
  484. package/dist/shared/test-runner-process.d.ts +6 -0
  485. package/dist/shared/test-runner-process.js +14 -0
  486. package/dist/shared/test-runner-verdict.d.ts +9 -1
  487. package/dist/shared/test-runner-verdict.js +15 -4
  488. package/dist/shared/utils/namespaced-search.d.ts +14 -0
  489. package/dist/shared/utils/namespaced-search.js +19 -1
  490. package/dist/shared/utils/safe-expression-evaluator.js +4 -3
  491. package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
  492. package/dist/validation/gate-reexecute.js +7 -4
  493. package/dist/workers/daemon.js +13 -1
  494. package/dist/workers/quality-daemon/git-watcher.js +9 -9
  495. package/dist/workers/workers/defect-predictor.d.ts +8 -3
  496. package/dist/workers/workers/defect-predictor.js +48 -49
  497. package/dist/workers/workers/learning-consolidation.d.ts +2 -0
  498. package/dist/workers/workers/learning-consolidation.js +12 -1
  499. package/dist/workflows/browser/workflow-loader.js +8 -5
  500. package/package.json +1 -1
  501. package/dist/cli/chunks/adapter-R2Q4QGXQ.js +0 -2
  502. package/dist/cli/chunks/agent-booster-wasm-427FRKWG.js +0 -2
  503. package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +0 -2
  504. package/dist/cli/chunks/base-67DXSAYM.js +0 -2
  505. package/dist/cli/chunks/browser-CT3MTV6G.js +0 -4
  506. package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +0 -2
  507. package/dist/cli/chunks/chunk-4URT6JO2.js +0 -2
  508. package/dist/cli/chunks/chunk-5LAAZLUC.js +0 -4
  509. package/dist/cli/chunks/chunk-7DMA5NYL.js +0 -4
  510. package/dist/cli/chunks/chunk-F2SQPP6U.js +0 -4
  511. package/dist/cli/chunks/chunk-G3BKZNFL.js +0 -120
  512. package/dist/cli/chunks/chunk-GR3JYE5A.js +0 -2
  513. package/dist/cli/chunks/chunk-J3WGK22W.js +0 -2
  514. package/dist/cli/chunks/chunk-KHSRIPBP.js +0 -180
  515. package/dist/cli/chunks/chunk-KTSLTZSG.js +0 -2
  516. package/dist/cli/chunks/chunk-O3JLOVZX.js +0 -4
  517. package/dist/cli/chunks/chunk-THAY7WHO.js +0 -12
  518. package/dist/cli/chunks/chunk-VXZJOKOX.js +0 -2
  519. package/dist/cli/chunks/chunk-VYLM2YV5.js +0 -12
  520. package/dist/cli/chunks/client-ZP3CTVRF.js +0 -2
  521. package/dist/cli/chunks/core-handlers-JSRXQWPE.js +0 -2
  522. package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +0 -2
  523. package/dist/cli/chunks/daemon-YIFT46FH.js +0 -34
  524. package/dist/cli/chunks/domain-transfer-6EF75EKU.js +0 -2
  525. package/dist/cli/chunks/dream-UDLM6M55.js +0 -2
  526. package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +0 -2
  527. package/dist/cli/chunks/fleet-ADL57COA.js +0 -44
  528. package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +0 -2
  529. package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +0 -2
  530. package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +0 -2
  531. package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +0 -2
  532. package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +0 -2
  533. package/dist/cli/chunks/init-wizard-422UZYQ5.js +0 -2
  534. package/dist/cli/chunks/kernel-N7PJ6FCE.js +0 -2
  535. package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +0 -2
  536. package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +0 -2
  537. package/dist/cli/chunks/load-test-POMIF4Q4.js +0 -2
  538. package/dist/cli/chunks/mcp-CRZKZE37.js +0 -2
  539. package/dist/cli/chunks/memory-backend-4P6AHSOY.js +0 -2
  540. package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +0 -2
  541. package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +0 -2
  542. package/dist/cli/chunks/pipeline-5LMLBIJ7.js +0 -19
  543. package/dist/cli/chunks/project-root-X72FSM2F.js +0 -2
  544. package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +0 -2
  545. package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +0 -2
  546. package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +0 -2
  547. package/dist/cli/chunks/router-CXZKOOTR.js +0 -2
  548. package/dist/cli/chunks/routing-feedback-IYFANYY5.js +0 -2
  549. package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +0 -2
  550. package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +0 -2
  551. package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +0 -2
  552. package/dist/cli/chunks/safe-db-WFODRGVZ.js +0 -2
  553. package/dist/cli/chunks/schedule-RO55OQXG.js +0 -2
  554. package/dist/cli/chunks/scheduler-XXMJCH24.js +0 -2
  555. package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +0 -2
  556. package/dist/cli/chunks/sync-UVXA6CT2.js +0 -2
  557. package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +0 -9
  558. package/dist/cli/chunks/token-bootstrap-EDK6FNQ3.js +0 -2
  559. package/dist/cli/chunks/tree-sitter-wasm-parser-MI3NZKUD.js +0 -2
  560. package/dist/cli/chunks/unified-memory-6JWHV6EF.js +0 -2
  561. package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +0 -2
  562. package/dist/cli/chunks/unified-persistence-KGGNA46H.js +0 -2
  563. package/dist/cli/chunks/visual-security-6VZNQLH7.js +0 -2
  564. package/dist/cli/chunks/witness-chain-AKKHWEWU.js +0 -2
  565. package/dist/cli/chunks/witness-chain-TATPXQRK.js +0 -2
  566. package/dist/cli/chunks/witness-chain-repair-2HGJGE7O.js +0 -2
  567. package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +0 -2
  568. package/dist/cli/chunks/wrappers-ZD5NBHYI.js +0 -2
@@ -2,9 +2,23 @@
2
2
  * agent-browser CLI Command Executor
3
3
  * Wraps CLI calls with type safety and error handling
4
4
  */
5
- import { spawnSync, spawn } from 'child_process';
5
+ import { spawn } from 'child_process';
6
6
  import { safeJsonParse } from '../../../shared/safe-json.js';
7
+ import { npmCliInvocation } from '../../../shared/npm-cli-invocation.js';
8
+ import { runProcessText, runTestRunnerProcess } from '../../../shared/test-runner-process.js';
7
9
  import { toErrorMessage } from '../../../shared/error-utils.js';
10
+ /**
11
+ * Run `npx agent-browser ...` without blocking the event loop (#1115). A
12
+ * timeout stops the whole npx process tree, as the synchronous call did not.
13
+ */
14
+ export function runAgentBrowser(args, timeout, maxBuffer) {
15
+ const npx = npmCliInvocation('npx');
16
+ if (!npx) {
17
+ const error = Object.assign(new Error('npx CLI not found next to node'), { code: 'ENOENT' });
18
+ return Promise.resolve({ status: null, signal: null, stdout: '', stderr: '', error });
19
+ }
20
+ return runTestRunnerProcess(npx[0], [...npx[1], 'agent-browser', ...args], { cwd: process.cwd(), timeout, maxBuffer });
21
+ }
8
22
  /**
9
23
  * Execute agent-browser CLI commands with type safety
10
24
  */
@@ -27,21 +41,15 @@ export class AgentBrowserCommandExecutor {
27
41
  // Core execution methods
28
42
  // ========================================================================
29
43
  /**
30
- * Execute a command synchronously and parse JSON result
44
+ * Execute a command and parse JSON result
31
45
  */
32
- execute(command, args = []) {
46
+ async execute(command, args = []) {
33
47
  const fullArgs = this.buildArgs(command, args);
34
- const spawnArgs = ['agent-browser', ...fullArgs];
35
48
  if (this.config.debug) {
36
- console.log(`[agent-browser] Executing: npx ${spawnArgs.join(' ')}`);
49
+ console.log(`[agent-browser] Executing: npx agent-browser ${fullArgs.join(' ')}`);
37
50
  }
38
51
  try {
39
- const result = spawnSync('npx', spawnArgs, {
40
- encoding: 'utf-8',
41
- timeout: this.config.timeout,
42
- maxBuffer: 10 * 1024 * 1024, // 10MB for screenshots
43
- shell: false,
44
- });
52
+ const result = await runAgentBrowser(fullArgs, this.config.timeout, 10 * 1024 * 1024); // 10MB for screenshots
45
53
  if (result.error) {
46
54
  return { success: false, error: result.error.message };
47
55
  }
@@ -110,12 +118,12 @@ export class AgentBrowserCommandExecutor {
110
118
  /**
111
119
  * Open URL in browser (auto-launches if needed)
112
120
  */
113
- open(url) {
121
+ async open(url) {
114
122
  const args = [url];
115
123
  if (this.config.headed) {
116
124
  args.push('--headed');
117
125
  }
118
- const result = this.execute('open', args);
126
+ const result = await this.execute('open', args);
119
127
  if (result.success) {
120
128
  this.browserLaunched = true;
121
129
  }
@@ -124,8 +132,8 @@ export class AgentBrowserCommandExecutor {
124
132
  /**
125
133
  * Close browser
126
134
  */
127
- close() {
128
- const result = this.execute('close');
135
+ async close() {
136
+ const result = await this.execute('close');
129
137
  if (result.success) {
130
138
  this.browserLaunched = false;
131
139
  }
@@ -136,10 +144,10 @@ export class AgentBrowserCommandExecutor {
136
144
  * CRITICAL: Must be called to prevent memory leaks!
137
145
  * The daemon persists even after close() - this kills it entirely.
138
146
  */
139
- terminateDaemon() {
147
+ async terminateDaemon() {
140
148
  try {
141
149
  // First close the browser gracefully
142
- this.close();
150
+ await this.close();
143
151
  // Kill all processes matching this session's daemon
144
152
  // The daemon runs as: node .../agent-browser/.../daemon.js
145
153
  // with environment variable AGENT_BROWSER_SESSION=<sessionName>
@@ -147,15 +155,10 @@ export class AgentBrowserCommandExecutor {
147
155
  // Find and kill processes by session name
148
156
  // Use pkill with argument array to prevent shell injection
149
157
  try {
150
- spawnSync('pkill', ['-f', `agent-browser.*--session[= ]${sessionName}`], {
151
- timeout: 5000,
152
- stdio: 'ignore',
153
- shell: false,
154
- });
158
+ await runProcessText('pkill', ['-f', `agent-browser.*--session[= ]${sessionName}`], { cwd: process.cwd(), timeout: 5000 });
155
159
  }
156
- catch (error) {
157
- // Non-critical: pkill errors - process might already be dead
158
- console.debug('[CommandExecutor] pkill error:', error instanceof Error ? error.message : error);
160
+ catch {
161
+ // Non-critical: pkill exits 1 when nothing matched, or the process is already dead
159
162
  }
160
163
  // Also try to kill by AGENT_BROWSER_SESSION env var (harder to match)
161
164
  // As a fallback, we'll rely on the session-specific matching above
@@ -175,7 +178,7 @@ export class AgentBrowserCommandExecutor {
175
178
  /**
176
179
  * Get accessibility snapshot with refs
177
180
  */
178
- snapshot(options) {
181
+ async snapshot(options) {
179
182
  const args = ['--json'];
180
183
  if (options?.interactive)
181
184
  args.push('-i');
@@ -191,32 +194,32 @@ export class AgentBrowserCommandExecutor {
191
194
  /**
192
195
  * Click element by ref or selector
193
196
  */
194
- click(target) {
197
+ async click(target) {
195
198
  return this.execute('click', [target]);
196
199
  }
197
200
  /**
198
201
  * Fill input by ref or selector
199
202
  */
200
- fill(target, text) {
203
+ async fill(target, text) {
201
204
  return this.execute('fill', [target, text]);
202
205
  }
203
206
  /**
204
207
  * Type text (without clearing)
205
208
  */
206
- type(target, text) {
209
+ async type(target, text) {
207
210
  return this.execute('type', [target, text]);
208
211
  }
209
212
  /**
210
213
  * Get element text
211
214
  */
212
- getText(target) {
215
+ async getText(target) {
213
216
  return this.execute('get', ['text', target, '--json']);
214
217
  }
215
218
  /**
216
219
  * Check if element is visible
217
220
  */
218
- isVisible(target) {
219
- const result = this.execute('is', ['visible', target, '--json']);
221
+ async isVisible(target) {
222
+ const result = await this.execute('is', ['visible', target, '--json']);
220
223
  if (result.success && result.data) {
221
224
  return { success: true, data: result.data.success };
222
225
  }
@@ -228,7 +231,7 @@ export class AgentBrowserCommandExecutor {
228
231
  /**
229
232
  * Take screenshot
230
233
  */
231
- screenshot(path, fullPage) {
234
+ async screenshot(path, fullPage) {
232
235
  const args = [];
233
236
  if (path)
234
237
  args.push(path);
@@ -244,7 +247,7 @@ export class AgentBrowserCommandExecutor {
244
247
  /**
245
248
  * Wait for element
246
249
  */
247
- waitForElement(target, timeout) {
250
+ async waitForElement(target, timeout) {
248
251
  const args = [target];
249
252
  if (timeout) {
250
253
  // Wait command accepts ms or selector
@@ -255,13 +258,13 @@ export class AgentBrowserCommandExecutor {
255
258
  /**
256
259
  * Wait for text to appear
257
260
  */
258
- waitForText(text) {
261
+ async waitForText(text) {
259
262
  return this.execute('wait', ['--text', text]);
260
263
  }
261
264
  /**
262
265
  * Wait for URL pattern
263
266
  */
264
- waitForUrl(pattern) {
267
+ async waitForUrl(pattern) {
265
268
  // URL pattern needs to be a glob pattern, convert simple strings
266
269
  const urlPattern = pattern.includes('*') ? pattern : `**${pattern}**`;
267
270
  return this.execute('wait', ['--url', urlPattern]);
@@ -269,7 +272,7 @@ export class AgentBrowserCommandExecutor {
269
272
  /**
270
273
  * Wait for network idle
271
274
  */
272
- waitForNetworkIdle() {
275
+ async waitForNetworkIdle() {
273
276
  return this.execute('wait', ['--load', 'networkidle']);
274
277
  }
275
278
  // ========================================================================
@@ -278,13 +281,13 @@ export class AgentBrowserCommandExecutor {
278
281
  /**
279
282
  * Set device emulation
280
283
  */
281
- setDevice(deviceName) {
284
+ async setDevice(deviceName) {
282
285
  return this.execute('set', ['device', deviceName]);
283
286
  }
284
287
  /**
285
288
  * Set viewport size
286
289
  */
287
- setViewport(width, height) {
290
+ async setViewport(width, height) {
288
291
  return this.execute('set', ['viewport', String(width), String(height)]);
289
292
  }
290
293
  // ========================================================================
@@ -293,20 +296,20 @@ export class AgentBrowserCommandExecutor {
293
296
  /**
294
297
  * Mock network route
295
298
  */
296
- mockRoute(urlPattern, body) {
299
+ async mockRoute(urlPattern, body) {
297
300
  const bodyJson = JSON.stringify(body);
298
301
  return this.execute('network', ['route', urlPattern, '--body', bodyJson]);
299
302
  }
300
303
  /**
301
304
  * Abort network route
302
305
  */
303
- abortRoute(urlPattern) {
306
+ async abortRoute(urlPattern) {
304
307
  return this.execute('network', ['route', urlPattern, '--abort']);
305
308
  }
306
309
  /**
307
310
  * Clear network routes
308
311
  */
309
- clearRoutes() {
312
+ async clearRoutes() {
310
313
  return this.execute('network', ['unroute']);
311
314
  }
312
315
  // ========================================================================
@@ -315,13 +318,13 @@ export class AgentBrowserCommandExecutor {
315
318
  /**
316
319
  * Save browser state (cookies, storage)
317
320
  */
318
- saveState(path) {
321
+ async saveState(path) {
319
322
  return this.execute('state', ['save', path]);
320
323
  }
321
324
  /**
322
325
  * Load browser state
323
326
  */
324
- loadState(path) {
327
+ async loadState(path) {
325
328
  return this.execute('state', ['load', path]);
326
329
  }
327
330
  // ========================================================================
@@ -331,15 +334,15 @@ export class AgentBrowserCommandExecutor {
331
334
  * Start trace recording
332
335
  * Records browser activity for debugging and analysis
333
336
  */
334
- startTrace() {
337
+ async startTrace() {
335
338
  return this.execute('trace', ['start']);
336
339
  }
337
340
  /**
338
341
  * Stop trace recording and save to file
339
342
  * @param outputPath - Path to save the trace file
340
343
  */
341
- stopTrace(outputPath) {
342
- const result = this.execute('trace', ['stop', outputPath]);
344
+ async stopTrace(outputPath) {
345
+ const result = await this.execute('trace', ['stop', outputPath]);
343
346
  if (result.success) {
344
347
  return { success: true, data: outputPath };
345
348
  }
@@ -351,7 +354,7 @@ export class AgentBrowserCommandExecutor {
351
354
  /**
352
355
  * Evaluate JavaScript in page context
353
356
  */
354
- eval(script) {
357
+ async eval(script) {
355
358
  return this.execute('eval', [script, '--json']);
356
359
  }
357
360
  // ========================================================================
@@ -386,15 +389,11 @@ export class AgentBrowserCommandExecutor {
386
389
  /**
387
390
  * Check if agent-browser CLI is available
388
391
  */
389
- export function isAgentBrowserAvailable() {
392
+ export async function isAgentBrowserAvailable() {
390
393
  try {
391
394
  // Use 'npx agent-browser' without args to check help output
392
395
  // --version is not a valid command, but running with no args shows help
393
- const result = spawnSync('npx', ['agent-browser'], {
394
- encoding: 'utf-8',
395
- timeout: 10000,
396
- shell: false,
397
- });
396
+ const result = await runAgentBrowser([], 10000);
398
397
  const output = (result.stdout ?? '') + (result.stderr ?? '');
399
398
  return output.includes('agent-browser') && output.includes('Usage:');
400
399
  }
@@ -56,7 +56,7 @@ export declare class AgentBrowserSessionManager {
56
56
  /**
57
57
  * List active session names from CLI
58
58
  */
59
- listCliSessions(): string[];
59
+ listCliSessions(): Promise<string[]>;
60
60
  /**
61
61
  * Close a specific session
62
62
  */
@@ -2,8 +2,7 @@
2
2
  * agent-browser Session Manager
3
3
  * Manages multiple isolated browser sessions for parallel testing
4
4
  */
5
- import { execSync } from 'child_process';
6
- import { AgentBrowserCommandExecutor } from './command-executor.js';
5
+ import { AgentBrowserCommandExecutor, runAgentBrowser } from './command-executor.js';
7
6
  /**
8
7
  * Manage multiple isolated browser sessions
9
8
  */
@@ -43,7 +42,7 @@ export class AgentBrowserSessionManager {
43
42
  this.sessions.set(name, session);
44
43
  // Navigate to initial URL if provided
45
44
  if (options?.initialUrl) {
46
- const result = executor.open(options.initialUrl);
45
+ const result = await executor.open(options.initialUrl);
47
46
  if (result.success) {
48
47
  session.currentUrl = options.initialUrl;
49
48
  session.status = 'active';
@@ -97,12 +96,12 @@ export class AgentBrowserSessionManager {
97
96
  /**
98
97
  * List active session names from CLI
99
98
  */
100
- listCliSessions() {
99
+ async listCliSessions() {
101
100
  try {
102
- const output = execSync('npx agent-browser session list', {
103
- encoding: 'utf-8',
104
- timeout: 5000,
105
- });
101
+ const result = await runAgentBrowser(['session', 'list'], 5000);
102
+ if (result.error || result.status !== 0)
103
+ return [];
104
+ const output = result.stdout;
106
105
  // Parse output like:
107
106
  // Active sessions:
108
107
  // -> default
@@ -134,7 +133,7 @@ export class AgentBrowserSessionManager {
134
133
  }
135
134
  // Terminate the daemon entirely (not just close browser)
136
135
  // This is CRITICAL to prevent memory leaks - the daemon persists otherwise!
137
- const result = session.executor.terminateDaemon();
136
+ const result = await session.executor.terminateDaemon();
138
137
  if (result.success) {
139
138
  session.status = 'closed';
140
139
  this.sessions.delete(name);
@@ -12,13 +12,15 @@
12
12
  * @version 1.0.0
13
13
  * @since v3
14
14
  */
15
- import { exec, execSync } from 'child_process';
15
+ import { exec } from 'child_process';
16
16
  import { promisify } from 'util';
17
17
  import * as fs from 'fs';
18
18
  import * as path from 'path';
19
19
  import { createBrowserClient, isAgentBrowserAvailable } from './client-factory.js';
20
20
  import { toErrorMessage } from '../../shared/error-utils.js';
21
21
  import { safeJsonParse } from '../../shared/safe-json.js';
22
+ import { npmCliInvocation } from '../../shared/npm-cli-invocation.js';
23
+ import { runProcessText } from '../../shared/test-runner-process.js';
22
24
  const execAsync = promisify(exec);
23
25
  // ============================================================================
24
26
  // WebContentFetcher Class
@@ -246,9 +248,13 @@ export class WebContentFetcher {
246
248
  if (!fs.existsSync(packageJsonPath)) {
247
249
  fs.writeFileSync(packageJsonPath, JSON.stringify({ name: 'pw-fetch', type: 'commonjs' }));
248
250
  try {
249
- execSync('npm install playwright-extra puppeteer-extra-plugin-stealth playwright', {
251
+ // Async so the install does not block the event loop for up to 120s,
252
+ // and a timeout stops npm with its children (#1115).
253
+ const npm = npmCliInvocation('npm');
254
+ if (!npm)
255
+ throw new Error('npm CLI not found');
256
+ await runProcessText(npm[0], [...npm[1], 'install', 'playwright-extra', 'puppeteer-extra-plugin-stealth', 'playwright'], {
250
257
  cwd: workDir,
251
- stdio: 'pipe',
252
258
  timeout: 120000,
253
259
  });
254
260
  }
@@ -135,7 +135,7 @@ export class VibiumClientImpl {
135
135
  try {
136
136
  // Check if Vibium package is available
137
137
  const browser = await getVibiumBrowser();
138
- this._available = browser !== null && isVibiumReady();
138
+ this._available = browser !== null && await isVibiumReady();
139
139
  return this._available;
140
140
  }
141
141
  catch {
@@ -215,7 +215,7 @@ export class VibiumClientImpl {
215
215
  }
216
216
  // Launch REAL browser using Vibium
217
217
  const headless = options?.headless ?? this.config.headless;
218
- if (!isVibiumReady()) {
218
+ if (!(await isVibiumReady())) {
219
219
  throw new VibiumUnavailableError(`Vibium browser payload unavailable; run ${VIBIUM_SETUP}`);
220
220
  }
221
221
  const instance = await browser.start({ headless });
@@ -9,6 +9,6 @@ type Runtime = typeof import('vibium');
9
9
  export declare function npmInvocation(platform?: NodeJS.Platform, execPath?: string, exists?: (path: string) => boolean): [string, string[]];
10
10
  export declare function loadVibium(): Promise<Runtime>;
11
11
  /** Check the payload belonging to the resolved library, not a different PATH CLI. */
12
- export declare function isVibiumReady(): boolean;
12
+ export declare function isVibiumReady(): Promise<boolean>;
13
13
  export {};
14
14
  //# sourceMappingURL=runtime.d.ts.map
@@ -1,11 +1,18 @@
1
1
  /** Resolve the opt-in Vibium runtime for both local and global AQE installs. */
2
2
  import { createRequire } from 'node:module';
3
- import { execFileSync } from 'node:child_process';
4
3
  import { existsSync } from 'node:fs';
5
4
  import { dirname, join } from 'node:path';
6
5
  import { npmCliInvocation } from '../../shared/npm-cli-invocation.js';
6
+ import { runProcessText } from '../../shared/test-runner-process.js';
7
7
  export const VIBIUM_SETUP = 'aqe init --browser-engine (or npm install vibium@^26.8.21)';
8
8
  const requireFromHere = createRequire(import.meta.url);
9
+ /**
10
+ * Async probe (#1115): a slow npm or Vibium CLI must not block the MCP server,
11
+ * and a timeout stops its whole process group.
12
+ */
13
+ function execFileText(file, args) {
14
+ return runProcessText(file, args, { cwd: process.cwd(), timeout: 5000 });
15
+ }
9
16
  /**
10
17
  * How to run npm without a shell. On Windows `npm` is an `npm.cmd` shim, which
11
18
  * execFile cannot start without `shell: true` (EINVAL/ENOENT since the
@@ -16,7 +23,7 @@ export function npmInvocation(platform = process.platform, execPath = process.ex
16
23
  return npmCliInvocation('npm', platform, execPath, exists) ?? ['npm', []];
17
24
  }
18
25
  /** Never install or download anything while probing availability. */
19
- function resolveRuntime() {
26
+ async function resolveRuntime() {
20
27
  try {
21
28
  return requireFromHere.resolve('vibium');
22
29
  }
@@ -28,9 +35,7 @@ function resolveRuntime() {
28
35
  // A global CLI installation is not on Node's normal module search path.
29
36
  // npm root is read-only and honors the same npm prefix as explicit setup.
30
37
  const [npmBin, npmPrefixArgs] = npmInvocation();
31
- const root = execFileSync(npmBin, [...npmPrefixArgs, 'root', '-g'], {
32
- encoding: 'utf8', timeout: 5000, stdio: ['ignore', 'pipe', 'pipe'],
33
- }).trim();
38
+ const root = (await execFileText(npmBin, [...npmPrefixArgs, 'root', '-g'])).trim();
34
39
  return requireFromHere.resolve(join(root, 'vibium'));
35
40
  }
36
41
  }
@@ -60,7 +65,7 @@ export async function loadVibium() {
60
65
  throw error;
61
66
  let entry;
62
67
  try {
63
- entry = resolveRuntime();
68
+ entry = await resolveRuntime();
64
69
  }
65
70
  catch (cause) {
66
71
  throw new Error(`Vibium is not installed; run ${VIBIUM_SETUP}`, { cause });
@@ -75,12 +80,10 @@ export async function loadVibium() {
75
80
  return runtime;
76
81
  }
77
82
  /** Check the payload belonging to the resolved library, not a different PATH CLI. */
78
- export function isVibiumReady() {
83
+ export async function isVibiumReady() {
79
84
  try {
80
- const cli = join(dirname(resolveRuntime()), '..', 'bin', 'cli.js');
81
- execFileSync(process.execPath, [cli, 'is-installed'], {
82
- timeout: 5000, stdio: 'ignore',
83
- });
85
+ const cli = join(dirname(await resolveRuntime()), '..', 'bin', 'cli.js');
86
+ await execFileText(process.execPath, [cli, 'is-installed']);
84
87
  return true;
85
88
  }
86
89
  catch {
@@ -7,8 +7,9 @@
7
7
  import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
8
8
  import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
9
9
  import { LEARNING_EVIDENCE_SCHEMA } from '../migrations/20260830_add_learning_evidence_tables.js';
10
- export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA };
11
- export declare const SCHEMA_VERSION = 13;
10
+ import { DREAM_INSIGHTS_ARCHIVE_SCHEMA } from '../migrations/20261018_add_dream_insights_archive.js';
11
+ export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA };
12
+ export declare const SCHEMA_VERSION = 14;
12
13
  export declare const SCHEMA_VERSION_TABLE = "\n CREATE TABLE IF NOT EXISTS schema_version (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n version INTEGER NOT NULL,\n migrated_at TEXT DEFAULT (datetime('now'))\n );\n";
13
14
  export declare const KV_STORE_SCHEMA = "\n -- Key-Value Store (v2 compatible - same schema as HybridBackend)\n CREATE TABLE IF NOT EXISTS kv_store (\n key TEXT NOT NULL,\n namespace TEXT NOT NULL,\n value TEXT NOT NULL,\n expires_at INTEGER,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n PRIMARY KEY (namespace, key)\n );\n CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);\n CREATE INDEX IF NOT EXISTS idx_kv_expires ON kv_store(expires_at) WHERE expires_at IS NOT NULL;\n";
14
15
  export declare const VECTORS_SCHEMA = "\n -- Vector Embeddings (new in v3 - replaces in-memory AgentDB)\n CREATE TABLE IF NOT EXISTS vectors (\n id TEXT PRIMARY KEY,\n namespace TEXT NOT NULL DEFAULT 'default',\n embedding BLOB NOT NULL,\n dimensions INTEGER NOT NULL,\n metadata TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_vectors_namespace ON vectors(namespace);\n CREATE INDEX IF NOT EXISTS idx_vectors_dimensions ON vectors(dimensions);\n";
@@ -7,12 +7,13 @@
7
7
  import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
8
8
  import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
9
9
  import { LEARNING_EVIDENCE_SCHEMA } from '../migrations/20260830_add_learning_evidence_tables.js';
10
+ import { DREAM_INSIGHTS_ARCHIVE_SCHEMA } from '../migrations/20261018_add_dream_insights_archive.js';
10
11
  // Re-export for convenience
11
- export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA };
12
+ export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA };
12
13
  // ============================================================================
13
14
  // Schema Version for Migrations
14
15
  // ============================================================================
15
- export const SCHEMA_VERSION = 13; // v12: learning evidence; v13: embedding-space provenance (#633)
16
+ export const SCHEMA_VERSION = 14; // v12: learning evidence; v13: embedding-space provenance (#633); v14: dream_insights_archive (#1116)
16
17
  export const SCHEMA_VERSION_TABLE = `
17
18
  CREATE TABLE IF NOT EXISTS schema_version (
18
19
  id INTEGER PRIMARY KEY CHECK (id = 1),
@@ -41,7 +41,7 @@ export { BinaryHeap, UnifiedHnswIndex, createHnswIndex } from './unified-memory-
41
41
  // parity tests or benchmarks only.
42
42
  import { UnifiedHnswIndex } from './unified-memory-hnsw.js';
43
43
  // Import schemas
44
- import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, QE_PATTERNS_FTS_SCHEMA, QE_PATTERNS_SCHEMA_WITHOUT_FTS, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
44
+ import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, QE_PATTERNS_FTS_SCHEMA, QE_PATTERNS_SCHEMA_WITHOUT_FTS, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
45
45
  import { ensurePatternFtsInSync } from './pattern-fts-self-heal.js';
46
46
  import { applyMigration as applyLearningEvidenceMigration } from '../migrations/20260830_add_learning_evidence_tables.js';
47
47
  // CRDT imports for distributed state synchronization
@@ -432,10 +432,20 @@ export class UnifiedMemoryManager {
432
432
  this.db.exec(SCHEMA_VERSION_TABLE);
433
433
  this.handleV2SchemaIncompatibilities();
434
434
  const versionRow = this.db.prepare('SELECT version FROM schema_version WHERE id = 1').get();
435
- const currentVersion = versionRow?.version ?? 0;
436
- if (currentVersion < SCHEMA_VERSION) {
437
- console.log(`[UnifiedMemory] Migrating from v${currentVersion} to v${SCHEMA_VERSION}`);
435
+ const observedVersion = versionRow?.version ?? 0;
436
+ if (observedVersion < SCHEMA_VERSION) {
437
+ console.log(`[UnifiedMemory] Migrating from v${observedVersion} to v${SCHEMA_VERSION}`);
438
+ // #1116: IMMEDIATE takes the write lock before the first statement, so a
439
+ // concurrent opener waits on busy_timeout instead of failing with
440
+ // SQLITE_BUSY when a deferred read transaction has to upgrade (CREATE
441
+ // INDEX after a CREATE TABLE IF NOT EXISTS that only read). The version is
442
+ // read again under that lock: a process that waited applies only what the
443
+ // first one left, instead of re-running steps from a stale version.
438
444
  const migrate = this.db.transaction(() => {
445
+ const lockedRow = this.db.prepare('SELECT version FROM schema_version WHERE id = 1').get();
446
+ const currentVersion = lockedRow?.version ?? 0;
447
+ if (currentVersion >= SCHEMA_VERSION)
448
+ return currentVersion;
439
449
  if (currentVersion < 1)
440
450
  this.db.exec(KV_STORE_SCHEMA);
441
451
  if (currentVersion < 2)
@@ -472,13 +482,22 @@ export class UnifiedMemoryManager {
472
482
  applyLearningEvidenceMigration(this.db);
473
483
  if (currentVersion < 13)
474
484
  this.migrateToV13EmbeddingSpace();
485
+ // #1116: additive; a table an earlier sweep created lazily is kept with its rows.
486
+ if (currentVersion < 14)
487
+ this.db.exec(DREAM_INSIGHTS_ARCHIVE_SCHEMA);
475
488
  this.db.prepare(`
476
489
  INSERT OR REPLACE INTO schema_version (id, version, migrated_at)
477
490
  VALUES (1, ?, datetime('now'))
478
491
  `).run(SCHEMA_VERSION);
492
+ return currentVersion;
479
493
  });
480
- migrate();
481
- console.log(`[UnifiedMemory] Migration complete`);
494
+ const migratedFrom = migrate.immediate();
495
+ if (migratedFrom >= SCHEMA_VERSION) {
496
+ console.log(`[UnifiedMemory] Another process completed the migration to v${SCHEMA_VERSION}`);
497
+ }
498
+ else {
499
+ console.log(`[UnifiedMemory] Migration complete`);
500
+ }
482
501
  }
483
502
  }
484
503
  /**
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Dream commit (#1060): compute, then commit.
3
+ *
4
+ * A dream cycle is computed entirely in memory (spreading activation and
5
+ * insight generation never touch the database). Its results are then written
6
+ * here in ONE synchronous better-sqlite3 transaction: the activation levels,
7
+ * the insights and the final cycle row. There is no `await` inside the
8
+ * transaction, so no foreground write on the shared connection can join it,
9
+ * and no lock is held while asynchronous work runs. A cancelled, failed or
10
+ * interrupted dream commits nothing beyond its cycle row.
11
+ *
12
+ * Before #1060 the dream wrote its results one awaited statement at a time
13
+ * (and, with opt-in branching, inside a SAVEPOINT held across the whole
14
+ * asynchronous dream), so a discard or a shutdown mid-dream rolled back
15
+ * foreground writes that had already been acknowledged.
16
+ */
17
+ import type { Database as DatabaseType } from 'better-sqlite3';
18
+ import type { DreamCycle } from './types.js';
19
+ import type { DreamInsight } from './insight-generator.js';
20
+ /** Everything a dream cycle writes, computed before anything is written. */
21
+ export interface ComputedDream {
22
+ cycle: DreamCycle;
23
+ /**
24
+ * Final activation level per concept node (clamped to [0, 1] on write),
25
+ * with the level the dream loaded. A node whose stored level no longer
26
+ * equals `loadedLevel` was written by someone else during the dream and is
27
+ * left alone. Omit `loadedLevel` to write unconditionally.
28
+ */
29
+ activations: ReadonlyArray<readonly [nodeId: string, level: number, loadedLevel?: number]>;
30
+ insights: readonly DreamInsight[];
31
+ }
32
+ export interface DreamCommitResult {
33
+ /** Wall-clock time the write transaction was open, in milliseconds. */
34
+ commitDurationMs: number;
35
+ /** Concept nodes updated (a node deleted meanwhile is skipped, not recreated). */
36
+ activationsWritten: number;
37
+ /** Activations skipped: the node vanished or a foreground write changed it. */
38
+ activationsSkipped: number;
39
+ insightsWritten: number;
40
+ }
41
+ /**
42
+ * Write a computed dream in one short synchronous transaction.
43
+ * Throws (and writes nothing) if any statement fails.
44
+ */
45
+ export declare function commitDream(db: DatabaseType, dream: ComputedDream): DreamCommitResult;
46
+ /**
47
+ * Margin added to the longest dream duration before a `running` cycle is
48
+ * treated as abandoned (covers graph loading and insight generation).
49
+ * DreamEngine.initialize() sweeps cycles older than
50
+ * max(config.maxDurationMs, 60 s) + this margin, 11 minutes by default.
51
+ * Library callers running longer dreams must raise maxDurationMs on every
52
+ * engine sharing the database (see DreamEngine.dream()).
53
+ */
54
+ export declare const ABANDONED_CYCLE_GRACE_MS: number;
55
+ /** Error recorded on a cycle the abandoned-cycle sweep marks interrupted. */
56
+ export declare const ABANDONED_CYCLE_ERROR = "abandoned: process exited";
57
+ /**
58
+ * Mark cycles a dead process left `running` as `interrupted` (#1060). Only a
59
+ * cycle that started more than `olderThanMs` ago is touched, so pass at least
60
+ * the longest dream duration plus ABANDONED_CYCLE_GRACE_MS: a cycle still
61
+ * running in another live process is then never marked. Rows are only
62
+ * updated, never deleted. Returns the number of cycles marked.
63
+ */
64
+ export declare function markAbandonedCycles(db: DatabaseType, olderThanMs?: number, now?: number): number;
65
+ //# sourceMappingURL=dream-commit.d.ts.map