agentic-qe 3.15.11 → 3.15.13

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 (522) hide show
  1. package/.claude/hooks/aqe-hook.cjs +38 -2
  2. package/.claude/skills/skills-manifest.json +1 -1
  3. package/CHANGELOG.md +267 -0
  4. package/assets/skills/skills-manifest.json +1 -1
  5. package/dist/cli/bundle.js +6 -6
  6. package/dist/cli/chunks/adapter-KCQDVYY2.js +2 -0
  7. package/dist/cli/chunks/{agent-booster-wasm-TIDSQ3ZK.js → agent-booster-wasm-6RRQWMNE.js} +2 -2
  8. package/dist/cli/chunks/{agent-handler-G3EPBVA7.js → agent-handler-AOH6TV7W.js} +2 -2
  9. package/dist/cli/chunks/{agent-memory-branch-ARC5C7GW.js → agent-memory-branch-2P54SF5N.js} +2 -2
  10. package/dist/cli/chunks/aqe-learning-engine-SAQOHSGN.js +2 -0
  11. package/dist/cli/chunks/{arena-K4I4QDXB.js → arena-NSVFCAF5.js} +2 -2
  12. package/dist/cli/chunks/{arena-36DTATJV.js → arena-X6MOGQHA.js} +4 -4
  13. package/dist/cli/chunks/{audit-WQSJSJZF.js → audit-27DJLQNM.js} +3 -3
  14. package/dist/cli/chunks/base-WCACU3FN.js +2 -0
  15. package/dist/cli/chunks/{better-sqlite3-BB4K67MT.js → better-sqlite3-BU5GXILS.js} +2 -2
  16. package/dist/cli/chunks/{brain-handler-CU3GOIU3.js → brain-handler-GTQNHHZS.js} +3 -3
  17. package/dist/cli/chunks/{branch-enumerator-NJQX7ZNB.js → branch-enumerator-5CLULOCU.js} +2 -2
  18. package/dist/cli/chunks/{browser-6YJF4FQW.js → browser-R4DMU3LN.js} +2 -2
  19. package/dist/cli/chunks/browser-workflow-G6IASEAP.js +2 -0
  20. package/dist/cli/chunks/{chunk-G4FAPO57.js → chunk-2G7TVT6W.js} +2 -2
  21. package/dist/cli/chunks/{chunk-HDNWSKHA.js → chunk-32ZMWEP3.js} +2 -2
  22. package/dist/cli/chunks/{chunk-FWSGPE3V.js → chunk-3AN5TNGD.js} +3 -3
  23. package/dist/cli/chunks/{chunk-X4J73KP3.js → chunk-3LJ7LQMV.js} +1 -1
  24. package/dist/cli/chunks/{chunk-3RHOPP7A.js → chunk-3QZEGE67.js} +1 -1
  25. package/dist/cli/chunks/{chunk-RBZCA7SD.js → chunk-3RZV5DGO.js} +2 -2
  26. package/dist/cli/chunks/{chunk-DDEOZPWJ.js → chunk-3Y2ROSCL.js} +2 -2
  27. package/dist/cli/chunks/{chunk-LD5CFK53.js → chunk-3Y7TJFHU.js} +2 -2
  28. package/dist/cli/chunks/{chunk-I36CRDHF.js → chunk-3YNLWPBF.js} +2 -2
  29. package/dist/cli/chunks/{chunk-ZMC543GI.js → chunk-42J34YG4.js} +2 -2
  30. package/dist/cli/chunks/{chunk-YNOCQ2SL.js → chunk-4OVC4RIL.js} +1 -1
  31. package/dist/cli/chunks/{chunk-2KFFEKSI.js → chunk-526QYFJU.js} +2 -2
  32. package/dist/cli/chunks/{chunk-LBX7M4LW.js → chunk-5FKWCZNF.js} +2 -2
  33. package/dist/cli/chunks/{chunk-OH5V5EJW.js → chunk-5K26BEYB.js} +2 -2
  34. package/dist/cli/chunks/{chunk-TCYSBC7Y.js → chunk-5MDERQH3.js} +1 -1
  35. package/dist/cli/chunks/{chunk-V5AADCBC.js → chunk-5VMAV6T6.js} +1 -1
  36. package/dist/cli/chunks/{chunk-YBBT3YYG.js → chunk-5ZGM3RMH.js} +1 -1
  37. package/dist/cli/chunks/{chunk-RTY7VSZB.js → chunk-6KATY3KS.js} +2 -2
  38. package/dist/cli/chunks/{chunk-LPU6PAJE.js → chunk-6Z7PRBSG.js} +2 -2
  39. package/dist/cli/chunks/{chunk-6NA3KZZT.js → chunk-72ASBE35.js} +7 -7
  40. package/dist/cli/chunks/{chunk-GBFUANTC.js → chunk-756CGMEH.js} +1 -1
  41. package/dist/cli/chunks/{chunk-UTTSH4NH.js → chunk-75RDHBAX.js} +3 -3
  42. package/dist/cli/chunks/{chunk-XGPTZUKQ.js → chunk-7CMTY45A.js} +2 -2
  43. package/dist/cli/chunks/{chunk-NC6K7SCQ.js → chunk-7JUC2MVZ.js} +2 -2
  44. package/dist/cli/chunks/{chunk-RTFKTKSO.js → chunk-7NA7JXNB.js} +2 -2
  45. package/dist/cli/chunks/{chunk-GWJWSLDA.js → chunk-7PLIEBY7.js} +2 -2
  46. package/dist/cli/chunks/{chunk-OURITHFV.js → chunk-7YTGHGK4.js} +2 -2
  47. package/dist/cli/chunks/{chunk-ITL3IN2E.js → chunk-A64JFBWI.js} +2 -2
  48. package/dist/cli/chunks/{chunk-OHR7C777.js → chunk-AL6FBH3E.js} +2 -2
  49. package/dist/cli/chunks/{chunk-5N25I53C.js → chunk-AQSVJNEH.js} +2 -2
  50. package/dist/cli/chunks/{chunk-FL32MTKT.js → chunk-ARJW4I2O.js} +2 -2
  51. package/dist/cli/chunks/{chunk-ZQHDA4O7.js → chunk-ASQYASNV.js} +1 -1
  52. package/dist/cli/chunks/{chunk-4HJKQIX5.js → chunk-BEGR4D6N.js} +2 -2
  53. package/dist/cli/chunks/{chunk-G77MLBDF.js → chunk-BK577VL7.js} +2 -2
  54. package/dist/cli/chunks/{chunk-NPZOBSAN.js → chunk-BLSLEVDI.js} +2 -2
  55. package/dist/cli/chunks/{chunk-R5LGV6GZ.js → chunk-BTVEYBW2.js} +2 -2
  56. package/dist/cli/chunks/{chunk-2CW7VRPH.js → chunk-C6JTLKG7.js} +5 -5
  57. package/dist/cli/chunks/{chunk-EWPUQCN4.js → chunk-C7JM7CD3.js} +2 -2
  58. package/dist/cli/chunks/{chunk-325QCVDI.js → chunk-CCMKSHAT.js} +2 -2
  59. package/dist/cli/chunks/{chunk-V7DA4HAK.js → chunk-CE7B5LU7.js} +1 -1
  60. package/dist/cli/chunks/{chunk-4RAQ7PJA.js → chunk-CM4LSLKR.js} +2 -2
  61. package/dist/cli/chunks/chunk-CRWPZT74.js +62 -0
  62. package/dist/cli/chunks/{chunk-U3LJNNVJ.js → chunk-CT6SAVXQ.js} +2 -2
  63. package/dist/cli/chunks/chunk-CV77DMDQ.js +2 -0
  64. package/dist/cli/chunks/{chunk-UMVSWQNB.js → chunk-DFUASIKA.js} +2 -2
  65. package/dist/cli/chunks/{chunk-KSE5TDM5.js → chunk-DLD7RUZ4.js} +2 -2
  66. package/dist/cli/chunks/{chunk-4MUBW4RT.js → chunk-DNDL7SOS.js} +2 -2
  67. package/dist/cli/chunks/{chunk-EJPK7OTR.js → chunk-DVGRPK7A.js} +2 -2
  68. package/dist/cli/chunks/{chunk-WCVCOT4E.js → chunk-E56B6IDX.js} +2 -2
  69. package/dist/cli/chunks/{chunk-7HEMJHPP.js → chunk-E7CLYGS7.js} +1 -1
  70. package/dist/cli/chunks/{chunk-R5GRABPQ.js → chunk-EXGMJFAT.js} +1 -1
  71. package/dist/cli/chunks/chunk-F3YS57NF.js +21 -0
  72. package/dist/cli/chunks/{chunk-I4K2HTQU.js → chunk-FZ76G4QJ.js} +1 -1
  73. package/dist/cli/chunks/{chunk-4UX35V7P.js → chunk-G2Q66Z23.js} +2 -2
  74. package/dist/cli/chunks/{chunk-KJCIMNHS.js → chunk-G6WDYBLQ.js} +1 -1
  75. package/dist/cli/chunks/{chunk-VWUZSNVC.js → chunk-G77ERMUD.js} +1 -1
  76. package/dist/cli/chunks/{chunk-FZHSG75I.js → chunk-GB6HBNH2.js} +2 -2
  77. package/dist/cli/chunks/{chunk-KDI5JOYZ.js → chunk-GHM6MQNK.js} +2 -2
  78. package/dist/cli/chunks/{chunk-H7BLYMNU.js → chunk-GHY6Z6KO.js} +5 -5
  79. package/dist/cli/chunks/{chunk-TFW7CCKS.js → chunk-GII6UM3F.js} +1 -1
  80. package/dist/cli/chunks/{chunk-DOBZPSKE.js → chunk-GU5HNCWI.js} +1 -1
  81. package/dist/cli/chunks/{chunk-AFFN6E6Q.js → chunk-H4GG2NLO.js} +2 -2
  82. package/dist/cli/chunks/{chunk-7R5HC56U.js → chunk-H4H2YSFH.js} +1 -1
  83. package/dist/cli/chunks/{chunk-J4JMCZVA.js → chunk-HD7YIFOI.js} +2 -2
  84. package/dist/cli/chunks/{chunk-5MTWCCZJ.js → chunk-HOAJUIBQ.js} +2 -2
  85. package/dist/cli/chunks/{chunk-T5KHJ3J7.js → chunk-HQZGPJYG.js} +2 -2
  86. package/dist/cli/chunks/{chunk-VEEYL2CZ.js → chunk-HZ5NXFXH.js} +2 -2
  87. package/dist/cli/chunks/{chunk-LQ4NUC6Q.js → chunk-I3C7JOXC.js} +2 -2
  88. package/dist/cli/chunks/{chunk-Z2EA7A4Z.js → chunk-IC3TQEOA.js} +1 -1
  89. package/dist/cli/chunks/{chunk-E44NNCEU.js → chunk-IJUHSJ2U.js} +2 -2
  90. package/dist/cli/chunks/{chunk-EH2S6AOR.js → chunk-J2ZIFFM6.js} +2 -2
  91. package/dist/cli/chunks/{chunk-GVKVJJQX.js → chunk-JGZ722G3.js} +2 -2
  92. package/dist/cli/chunks/{chunk-EK5GMOSO.js → chunk-JQGMW45H.js} +1 -1
  93. package/dist/cli/chunks/{chunk-XGBU3KEM.js → chunk-JRRXCODW.js} +2 -2
  94. package/dist/cli/chunks/{chunk-5WYZHDIZ.js → chunk-K3TLLJMX.js} +1 -1
  95. package/dist/cli/chunks/{chunk-LXQ3B4RY.js → chunk-K4CZA77U.js} +2 -2
  96. package/dist/cli/chunks/chunk-K65CGKLD.js +8 -0
  97. package/dist/cli/chunks/{chunk-HFFPYC4G.js → chunk-KADFXPPN.js} +2 -2
  98. package/dist/cli/chunks/{chunk-APPZATXA.js → chunk-KB56CPU4.js} +2 -2
  99. package/dist/cli/chunks/{chunk-25P77WA5.js → chunk-KCW47QR5.js} +1 -1
  100. package/dist/cli/chunks/{chunk-WM3SRRA6.js → chunk-KDNJ4F3P.js} +2 -2
  101. package/dist/cli/chunks/{chunk-5ERFHEEE.js → chunk-KDVZND5Q.js} +1 -1
  102. package/dist/cli/chunks/{chunk-YOCULVHR.js → chunk-KUAKV3IW.js} +1 -1
  103. package/dist/cli/chunks/{chunk-M5XYIQYZ.js → chunk-KV4T4MXK.js} +2 -2
  104. package/dist/cli/chunks/{chunk-MIK4RBEH.js → chunk-KWYH3FI4.js} +1 -1
  105. package/dist/cli/chunks/{chunk-UKKYMW3S.js → chunk-LFJALJOA.js} +2 -2
  106. package/dist/cli/chunks/{chunk-K7V2WZNF.js → chunk-LL7LDPXS.js} +1 -1
  107. package/dist/cli/chunks/{chunk-55CH76ZO.js → chunk-LUZNKJE6.js} +3 -3
  108. package/dist/cli/chunks/{chunk-OV5RPLKV.js → chunk-LWR3FV3Y.js} +2 -2
  109. package/dist/cli/chunks/{chunk-SMVVAVN2.js → chunk-LZYQHVD4.js} +2 -2
  110. package/dist/cli/chunks/{chunk-672XOJDG.js → chunk-M6AAGIG7.js} +1 -1
  111. package/dist/cli/chunks/{chunk-WCAVIJ64.js → chunk-MAMQA43L.js} +1 -1
  112. package/dist/cli/chunks/chunk-MB46UBGY.js +3 -0
  113. package/dist/cli/chunks/{chunk-AP3ADWDK.js → chunk-MFW5HSG4.js} +2 -2
  114. package/dist/cli/chunks/{chunk-NKTWKYHB.js → chunk-MGZ5FJUW.js} +2 -2
  115. package/dist/cli/chunks/{chunk-ERN43HOX.js → chunk-MVVB7C2E.js} +410 -410
  116. package/dist/cli/chunks/{chunk-57LNKSW7.js → chunk-N4CYAKOX.js} +2 -2
  117. package/dist/cli/chunks/chunk-NT4DBXSX.js +2 -0
  118. package/dist/cli/chunks/{chunk-BZPE3LDO.js → chunk-NU3W5WFT.js} +2 -2
  119. package/dist/cli/chunks/chunk-NURIILUB.js +2 -0
  120. package/dist/cli/chunks/{chunk-ITPGWGQS.js → chunk-NW7IBHJA.js} +4 -4
  121. package/dist/cli/chunks/{chunk-OD5D4LSZ.js → chunk-NZ3GUMB2.js} +2 -2
  122. package/dist/cli/chunks/{chunk-35M2X3C5.js → chunk-NZD4DPSU.js} +2 -2
  123. package/dist/cli/chunks/{chunk-EIDJNT5C.js → chunk-O6FGXMHD.js} +1 -1
  124. package/dist/cli/chunks/{chunk-OYJC3YON.js → chunk-OCAEXYFA.js} +2 -2
  125. package/dist/cli/chunks/{chunk-Y7B5EUIJ.js → chunk-OFACHK5O.js} +2 -2
  126. package/dist/cli/chunks/{chunk-5MNASJOH.js → chunk-P7A4NKTZ.js} +2 -2
  127. package/dist/cli/chunks/{chunk-M7XFBSIK.js → chunk-PB6J6HAA.js} +2 -2
  128. package/dist/cli/chunks/{chunk-5HQP4SLM.js → chunk-PHP5UBT4.js} +2 -2
  129. package/dist/cli/chunks/{chunk-KXS3Y2AX.js → chunk-PIDQVU3L.js} +2 -2
  130. package/dist/cli/chunks/{chunk-4UBVAJFO.js → chunk-PSFSPGUD.js} +2 -2
  131. package/dist/cli/chunks/chunk-PT4FMJPQ.js +3 -0
  132. package/dist/cli/chunks/{chunk-HDJUYAZG.js → chunk-Q3UDLV5Z.js} +1 -1
  133. package/dist/cli/chunks/{chunk-CIAL4YRY.js → chunk-QDEJ4CI2.js} +2 -2
  134. package/dist/cli/chunks/{chunk-S6IYEBAI.js → chunk-QPNG5ZN2.js} +2 -2
  135. package/dist/cli/chunks/{chunk-YPX2TV3M.js → chunk-R7SYRCRP.js} +1 -1
  136. package/dist/cli/chunks/{chunk-XNLIWQYE.js → chunk-RF7HWBHN.js} +2 -2
  137. package/dist/cli/chunks/{chunk-5YLOLACR.js → chunk-RFNW2LGD.js} +2 -2
  138. package/dist/cli/chunks/{chunk-2VLYUF7U.js → chunk-S5AZCIZS.js} +2 -2
  139. package/dist/cli/chunks/{chunk-ETVAYGCB.js → chunk-SE4VNN4I.js} +3 -3
  140. package/dist/cli/chunks/{chunk-E6PF35JZ.js → chunk-SG3NX7QE.js} +2 -2
  141. package/dist/cli/chunks/{chunk-VYTILW4R.js → chunk-SSU73QAX.js} +2 -2
  142. package/dist/cli/chunks/{chunk-ZP75ASUU.js → chunk-SVLQRAMF.js} +1 -1
  143. package/dist/cli/chunks/{chunk-JGJXXAS6.js → chunk-SYV2V3PL.js} +4 -4
  144. package/dist/cli/chunks/{chunk-4RH5I24Q.js → chunk-T3PGQFDI.js} +2 -2
  145. package/dist/cli/chunks/{chunk-O4JAKWWM.js → chunk-TCBBNUBP.js} +17 -17
  146. package/dist/cli/chunks/{chunk-QDESWOZP.js → chunk-TOQWL2ZF.js} +2 -2
  147. package/dist/cli/chunks/{chunk-NTB342NJ.js → chunk-TSQC2KKZ.js} +4 -4
  148. package/dist/cli/chunks/{chunk-NQZNMCZU.js → chunk-TWDW32W2.js} +2 -2
  149. package/dist/cli/chunks/{chunk-CO3DX2AX.js → chunk-TWJTK4CC.js} +2 -2
  150. package/dist/cli/chunks/{chunk-FUYOOKTH.js → chunk-U2FUXDDJ.js} +3 -3
  151. package/dist/cli/chunks/{chunk-XDI5X3FR.js → chunk-UDQSYWVF.js} +1 -1
  152. package/dist/cli/chunks/chunk-UOC3O6RP.js +5 -0
  153. package/dist/cli/chunks/chunk-UT2VZ33P.js +2 -0
  154. package/dist/cli/chunks/{chunk-IOZRKXR5.js → chunk-UTRV7T2N.js} +2 -2
  155. package/dist/cli/chunks/{chunk-ZMHCMJ4J.js → chunk-UXZSUMEA.js} +2 -2
  156. package/dist/cli/chunks/{chunk-G4CKPWF6.js → chunk-VRHRBAEM.js} +1 -1
  157. package/dist/cli/chunks/{chunk-AUUJBXWX.js → chunk-VRVMIPTM.js} +2 -2
  158. package/dist/cli/chunks/{chunk-IENZSO3K.js → chunk-VTDFVFST.js} +2 -2
  159. package/dist/cli/chunks/{chunk-JFLU7L3W.js → chunk-VTOBUZL6.js} +2 -2
  160. package/dist/cli/chunks/{chunk-KKYO2NKV.js → chunk-VU5TBX2V.js} +2 -2
  161. package/dist/cli/chunks/{chunk-XS2XF3YG.js → chunk-W26B7ERY.js} +1 -1
  162. package/dist/cli/chunks/{chunk-DOFREOPQ.js → chunk-W2QWSQVE.js} +2 -2
  163. package/dist/cli/chunks/{chunk-KSLLHFVY.js → chunk-W3INMZZ6.js} +1 -1
  164. package/dist/cli/chunks/{chunk-FLU5FDSC.js → chunk-W3PPFHI5.js} +59 -59
  165. package/dist/cli/chunks/chunk-WKGTGOYS.js +13 -0
  166. package/dist/cli/chunks/{chunk-4X4MWMHB.js → chunk-WNQS4WTS.js} +2 -2
  167. package/dist/cli/chunks/{chunk-XJKZ7FTR.js → chunk-WO274FRI.js} +2 -2
  168. package/dist/cli/chunks/{chunk-76SNL7GU.js → chunk-WOCGL4QP.js} +2 -2
  169. package/dist/cli/chunks/{chunk-HYXUN7BW.js → chunk-WQL7WCIZ.js} +1 -1
  170. package/dist/cli/chunks/{chunk-BTVWA35P.js → chunk-X2Z7F4EU.js} +2 -2
  171. package/dist/cli/chunks/{chunk-VBK2YAYY.js → chunk-X7N2JF2X.js} +2 -2
  172. package/dist/cli/chunks/{chunk-NT7JRHMH.js → chunk-XEAEYC6Y.js} +1 -1
  173. package/dist/cli/chunks/{chunk-G2IJFNZS.js → chunk-XNBOGCF3.js} +2 -2
  174. package/dist/cli/chunks/{chunk-LCVEEII4.js → chunk-XPRVF4YE.js} +2 -2
  175. package/dist/cli/chunks/{chunk-AMZKAJLJ.js → chunk-YBQH2VOP.js} +2 -2
  176. package/dist/cli/chunks/{chunk-JUMICXM6.js → chunk-YQFLQE53.js} +2 -2
  177. package/dist/cli/chunks/{chunk-M5RQ6U3G.js → chunk-YSZ5OE3Z.js} +2 -2
  178. package/dist/cli/chunks/{chunk-RQMCZQN2.js → chunk-YXRASAPI.js} +2 -2
  179. package/dist/cli/chunks/{chunk-X3PZCXWG.js → chunk-YZEXYO4W.js} +1 -1
  180. package/dist/cli/chunks/{chunk-TL6OFMXF.js → chunk-YZWBNBTW.js} +2 -2
  181. package/dist/cli/chunks/{chunk-CFWGGRE7.js → chunk-ZAKQLAHT.js} +1 -1
  182. package/dist/cli/chunks/ci-ENOASTYB.js +81 -0
  183. package/dist/cli/chunks/{ci-config-J665XNOX.js → ci-config-B26OXHQM.js} +2 -2
  184. package/dist/cli/chunks/{ci-output-PEQQQWVD.js → ci-output-JTCLLNOQ.js} +2 -2
  185. package/dist/cli/chunks/{circuit-breaker-HHB2JSKH.js → circuit-breaker-23JMFNM5.js} +2 -2
  186. package/dist/cli/chunks/{claude-flow-setup-JKUJRWPN.js → claude-flow-setup-ON6L462G.js} +2 -2
  187. package/dist/cli/chunks/client-TV3V2YZ5.js +2 -0
  188. package/dist/cli/chunks/{cline-installer-Y77BWTAN.js → cline-installer-OWQ4D2FQ.js} +2 -2
  189. package/dist/cli/chunks/{code-LV2HAGJY.js → code-2ZRL7SEU.js} +19 -18
  190. package/dist/cli/chunks/{code-index-extractor-4GKKSETB.js → code-index-extractor-JXSQVM67.js} +2 -2
  191. package/dist/cli/chunks/{codex-installer-WMKBYE5Y.js → codex-installer-7LXZYBSQ.js} +2 -2
  192. package/dist/cli/chunks/{completions-SBGFAOIJ.js → completions-C2LR623C.js} +2 -2
  193. package/dist/cli/chunks/{complexity-analyzer-AQHFIJXC.js → complexity-analyzer-TGQLHCYJ.js} +2 -2
  194. package/dist/cli/chunks/{continuedev-installer-26AYFS2E.js → continuedev-installer-RUGD24D2.js} +2 -2
  195. package/dist/cli/chunks/{copilot-installer-4UD3DK55.js → copilot-installer-ZLFVLEJP.js} +2 -2
  196. package/dist/cli/chunks/core-handlers-PZT4OLWR.js +2 -0
  197. package/dist/cli/chunks/{cost-tracker-TP4NZCG4.js → cost-tracker-RT4QL745.js} +2 -2
  198. package/dist/cli/chunks/{coverage-B2KIXHAI.js → coverage-NV3C4IMM.js} +11 -10
  199. package/dist/cli/chunks/cross-domain-router-QOFCZ7G4.js +2 -0
  200. package/dist/cli/chunks/{cursor-installer-AVZEQZ4W.js → cursor-installer-LJKLNFF6.js} +2 -2
  201. package/dist/cli/chunks/{daemon-XM2A7LQU.js → daemon-BMDXCQT5.js} +3 -3
  202. package/dist/cli/chunks/{daemon-P574WWBW.js → daemon-FBH3IRYN.js} +4 -4
  203. package/dist/cli/chunks/{dag-attention-scheduler-MIWOZ6ET.js → dag-attention-scheduler-JGDED55I.js} +2 -2
  204. package/dist/cli/chunks/{detect-TYR7HT23.js → detect-SZIHIVCJ.js} +2 -2
  205. package/dist/cli/chunks/{dist-node-2DGVQGLS.js → dist-node-FV3KWXQ6.js} +2 -2
  206. package/dist/cli/chunks/{domain-handler-RRA4ZOMF.js → domain-handler-GI5JWQOV.js} +2 -2
  207. package/dist/cli/chunks/{domain-plugins-IVZEZ5RB.js → domain-plugins-BUWY36TL.js} +2 -2
  208. package/dist/cli/chunks/domain-transfer-GCY7W5DA.js +2 -0
  209. package/dist/cli/chunks/dream-TRFBGDSQ.js +2 -0
  210. package/dist/cli/chunks/{embed-and-insert-pattern-VNIEOVPO.js → embed-and-insert-pattern-GPRR3ZGD.js} +2 -2
  211. package/dist/cli/chunks/{eval-QV4LVPUF.js → eval-XPB3IGAP.js} +2 -2
  212. package/dist/cli/chunks/{experience-capture-middleware-DAPKT763.js → experience-capture-middleware-2E554UB3.js} +3 -3
  213. package/dist/cli/chunks/{fast-paths-WVRFPHX7.js → fast-paths-ZSMWZPUC.js} +2 -2
  214. package/dist/cli/chunks/{feature-flags-DEFTUIYT.js → feature-flags-GIWVDVVC.js} +2 -2
  215. package/dist/cli/chunks/{feature-flags-O7ZXDDCD.js → feature-flags-N7EOGE5P.js} +2 -2
  216. package/dist/cli/chunks/file-discovery-WCKGMSPZ.js +2 -0
  217. package/dist/cli/chunks/fleet-HCHDOUCX.js +44 -0
  218. package/dist/cli/chunks/{gnn-wrapper-LS4LZJDR.js → gnn-wrapper-CZNCNXXZ.js} +2 -2
  219. package/dist/cli/chunks/{heartbeat-handler-RFTERD4K.js → heartbeat-handler-6YUIF2YQ.js} +4 -4
  220. package/dist/cli/chunks/heartbeat-scheduler-P44A2OX3.js +2 -0
  221. package/dist/cli/chunks/hnsw-adapter-ZJQIQJKC.js +2 -0
  222. package/dist/cli/chunks/hnsw-index-HMG2GH3Z.js +2 -0
  223. package/dist/cli/chunks/{hnsw-legacy-bridge-GPKGFFHY.js → hnsw-legacy-bridge-J3M3IK24.js} +2 -2
  224. package/dist/cli/chunks/{hnswlib-node-PHL3F2PR.js → hnswlib-node-ULGTGDZW.js} +2 -2
  225. package/dist/cli/chunks/{hooks-GYJ6D4QM.js → hooks-C4BUGYUQ.js} +28 -28
  226. package/dist/cli/chunks/hybrid-backend-B7M74PZG.js +2 -0
  227. package/dist/cli/chunks/{hypergraph-engine-YGEQPCKJ.js → hypergraph-engine-WINGVMPG.js} +2 -2
  228. package/dist/cli/chunks/{hypergraph-handler-ZIMM647V.js → hypergraph-handler-GADMWKAU.js} +3 -3
  229. package/dist/cli/chunks/impact-analyzer-PZYOVKQO.js +2 -0
  230. package/dist/cli/chunks/{init-guard-VOMBXJXG.js → init-guard-K2T4QWAO.js} +2 -2
  231. package/dist/cli/chunks/{init-handler-PSMUBWK5.js → init-handler-PCZTDZYI.js} +6 -6
  232. package/dist/cli/chunks/init-wizard-TZDJQK3U.js +2 -0
  233. package/dist/cli/chunks/kernel-Y6RRIOKW.js +2 -0
  234. package/dist/cli/chunks/{kilocode-installer-2YNTFBWJ.js → kilocode-installer-XENXNEIU.js} +2 -2
  235. package/dist/cli/chunks/{kiro-installer-XHJDPVAZ.js → kiro-installer-3PG2TJ67.js} +2 -2
  236. package/dist/cli/chunks/knowledge-graph-BVD5Z66M.js +2 -0
  237. package/dist/cli/chunks/{learning-GNSIDRNG.js → learning-6KDH7FK4.js} +3 -3
  238. package/dist/cli/chunks/{llm-router-LQDM7IU2.js → llm-router-RKVDEWU2.js} +4 -4
  239. package/dist/cli/chunks/llm-router-service-KHCAMSUU.js +2 -0
  240. package/dist/cli/chunks/{load-YATHI72E.js → load-ITHC564X.js} +2 -2
  241. package/dist/cli/chunks/load-test-RUF7DZA5.js +2 -0
  242. package/dist/cli/chunks/{mcp-4Y6GDLYK.js → mcp-TCL5UW3N.js} +2 -2
  243. package/dist/cli/chunks/{memory-OUW3L7H2.js → memory-BKDAY2N2.js} +5 -5
  244. package/dist/cli/chunks/memory-backend-7ZLFOVGG.js +2 -0
  245. package/dist/cli/chunks/{memory-handlers-G3LFF53U.js → memory-handlers-WN4FXFOA.js} +2 -2
  246. package/dist/cli/chunks/{multi-model-executor-UBZJXAD2.js → multi-model-executor-VHAT7ZPF.js} +2 -2
  247. package/dist/cli/chunks/{opencode-installer-AMMNWVH5.js → opencode-installer-E3VM3EEY.js} +2 -2
  248. package/dist/cli/chunks/{orchestrator-Y44WDOER.js → orchestrator-BMQ6X762.js} +58 -20
  249. package/dist/cli/chunks/pattern-null-store-RY6CVYHP.js +2 -0
  250. package/dist/cli/chunks/{pattern-usage-recorder-ESR42RME.js → pattern-usage-recorder-GOOR2BV5.js} +2 -2
  251. package/dist/cli/chunks/{pipeline-EDTS6OSC.js → pipeline-5NSFQQIX.js} +2 -2
  252. package/dist/cli/chunks/{platform-5WONJSUX.js → platform-SQM34J5G.js} +2 -2
  253. package/dist/cli/chunks/{plugin-IJXPCLD4.js → plugin-UQJZRMZG.js} +2 -2
  254. package/dist/cli/chunks/{prime-radiant-advanced-wasm-5ECKGZK6.js → prime-radiant-advanced-wasm-WMDJOL4S.js} +2 -2
  255. package/dist/cli/chunks/project-root-IO5KRNGL.js +2 -0
  256. package/dist/cli/chunks/protocol-executor-U2CUDWDE.js +2 -0
  257. package/dist/cli/chunks/{protocol-handler-DRD3GVNW.js → protocol-handler-OBDCVY6X.js} +2 -2
  258. package/dist/cli/chunks/{prove-KTGW2HMJ.js → prove-XDC7I4XT.js} +2 -2
  259. package/dist/cli/chunks/qe-reasoning-bank-DQSSX2IP.js +2 -0
  260. package/dist/cli/chunks/{quality-DV2WPRRS.js → quality-L4GQ6WX4.js} +2 -2
  261. package/dist/cli/chunks/{quality-gate-HFUAFVZC.js → quality-gate-MJG66LKN.js} +3 -3
  262. package/dist/cli/chunks/queen-coordinator-6FN4BZIX.js +2 -0
  263. package/dist/cli/chunks/real-embeddings-HW4G2LWL.js +2 -0
  264. package/dist/cli/chunks/{ref-validation-QWSKS5OY.js → ref-validation-FC7JOJ2C.js} +2 -2
  265. package/dist/cli/chunks/{roocode-installer-RBAYRCHX.js → roocode-installer-KWS4CEIC.js} +2 -2
  266. package/dist/cli/chunks/router-YUO3I7RU.js +2 -0
  267. package/dist/cli/chunks/routing-feedback-36SLQGJE.js +2 -0
  268. package/dist/cli/chunks/{routing-handler-FMPP3XKO.js → routing-handler-QF4WVB2S.js} +2 -2
  269. package/dist/cli/chunks/{ruvector-commands-KZZT4HWF.js → ruvector-commands-2MTCOUK6.js} +2 -2
  270. package/dist/cli/chunks/rvf-dual-writer-FRYZH3WZ.js +2 -0
  271. package/dist/cli/chunks/rvf-migration-adapter-XXNITL5I.js +2 -0
  272. package/dist/cli/chunks/{rvf-migration-coordinator-7CHEV35N.js → rvf-migration-coordinator-BREJCXWN.js} +2 -2
  273. package/dist/cli/chunks/rvf-native-adapter-D2WWKJIV.js +2 -0
  274. package/dist/cli/chunks/{rvf-store-integrity-Q2TH52SN.js → rvf-store-integrity-KKC6HOJD.js} +2 -2
  275. package/dist/cli/chunks/safe-db-4RRIGRXD.js +2 -0
  276. package/dist/cli/chunks/schedule-25RTO4DQ.js +2 -0
  277. package/dist/cli/chunks/scheduler-BPIOJZ5P.js +2 -0
  278. package/dist/cli/chunks/{security-CUEA3UIM.js → security-OSAE7VAP.js} +3 -3
  279. package/dist/cli/chunks/{shared-rvf-adapter-DROMBRV2.js → shared-rvf-adapter-COUOS665.js} +2 -2
  280. package/dist/cli/chunks/{shared-rvf-dual-writer-DBNABOP7.js → shared-rvf-dual-writer-YXMPZKQE.js} +2 -2
  281. package/dist/cli/chunks/sqlite-persistence-EDF47DDX.js +2 -0
  282. package/dist/cli/chunks/{standalone-memory-IAHA3M6B.js → standalone-memory-E6JBMOIL.js} +2 -2
  283. package/dist/cli/chunks/{status-handler-AFUCASTX.js → status-handler-AFTCIYIX.js} +2 -2
  284. package/dist/cli/chunks/{structural-health-AQRV6JJ6.js → structural-health-2FROCEI4.js} +2 -2
  285. package/dist/cli/chunks/{sync-XW5TLZ7M.js → sync-VAYTOWDC.js} +2 -2
  286. package/dist/cli/chunks/{sync-GX7FMJHL.js → sync-YIQYOFGW.js} +2 -2
  287. package/dist/cli/chunks/task-handler-KVQHDEX3.js +62 -0
  288. package/dist/cli/chunks/task-handlers-MVVECQA6.js +9 -0
  289. package/dist/cli/chunks/{test-D2XDJNDX.js → test-5JSVTOMY.js} +4 -4
  290. package/dist/cli/chunks/test-runner-process-LEPF2OSS.js +2 -0
  291. package/dist/cli/chunks/{test-scheduling-TS6I2PR7.js → test-scheduling-HBOHVLI3.js} +3 -3
  292. package/dist/cli/chunks/{token-bootstrap-HBBLPCZ3.js → token-bootstrap-5VEPTPFA.js} +2 -2
  293. package/dist/cli/chunks/{token-usage-3MBUX4PR.js → token-usage-TBJHDLY6.js} +2 -2
  294. package/dist/cli/chunks/{transformers-ZWMQO3L2.js → transformers-VAWYMHMZ.js} +2 -2
  295. package/dist/cli/chunks/tree-sitter-wasm-parser-TSZTCMFV.js +2 -0
  296. package/dist/cli/chunks/{types-5YEMGPSQ.js → types-R5SDZU2E.js} +2 -2
  297. package/dist/cli/chunks/unified-memory-TLGSSLMI.js +2 -0
  298. package/dist/cli/chunks/unified-memory-hnsw-MSUR7ZOO.js +2 -0
  299. package/dist/cli/chunks/unified-persistence-VFFOTWK7.js +2 -0
  300. package/dist/cli/chunks/{upgrade-2TPBKIHI.js → upgrade-K5PIHXRB.js} +2 -2
  301. package/dist/cli/chunks/{validate-XRAXXFW6.js → validate-RPTS7RYJ.js} +2 -2
  302. package/dist/cli/chunks/{validate-swarm-IYSCS3BZ.js → validate-swarm-B2ZL556X.js} +2 -2
  303. package/dist/cli/chunks/visual-security-6Q44XNLB.js +2 -0
  304. package/dist/cli/chunks/{web-tree-sitter-PZQ3ZG2P.js → web-tree-sitter-K4DUJC32.js} +2 -2
  305. package/dist/cli/chunks/{windsurf-installer-U6XWFRVT.js → windsurf-installer-OK2AJN35.js} +2 -2
  306. package/dist/cli/chunks/witness-chain-KDOMXDQX.js +2 -0
  307. package/dist/cli/chunks/witness-chain-N3OY2RMH.js +2 -0
  308. package/dist/cli/chunks/{witness-chain-repair-K7YX2AO6.js → witness-chain-repair-L6Y5RFXR.js} +2 -2
  309. package/dist/cli/chunks/{witness-chain-verifier-GUTC3W7N.js → witness-chain-verifier-N4CW7FZX.js} +2 -2
  310. package/dist/cli/chunks/{witness-key-manager-YBNKMOP6.js → witness-key-manager-TDNPS3WD.js} +2 -2
  311. package/dist/cli/chunks/{workflow-UAJUILFQ.js → workflow-XRZA3YCY.js} +4 -4
  312. package/dist/cli/chunks/workflow-orchestrator-CVNNT2RJ.js +2 -0
  313. package/dist/cli/chunks/{wrappers-AVZ3GPAL.js → wrappers-5JIFWKN6.js} +2 -2
  314. package/dist/cli/commands/ci.js +7 -0
  315. package/dist/cli/commands/code.js +6 -0
  316. package/dist/cli/commands/coverage.js +7 -1
  317. package/dist/cli/commands/fleet-run.d.ts +12 -0
  318. package/dist/cli/commands/fleet-run.js +175 -0
  319. package/dist/cli/commands/fleet.js +2 -117
  320. package/dist/cli/commands/hooks-handlers/stats-hooks.d.ts +4 -3
  321. package/dist/cli/commands/hooks-handlers/stats-hooks.js +22 -4
  322. package/dist/cli/handlers/task-handler.d.ts +5 -0
  323. package/dist/cli/handlers/task-handler.js +26 -0
  324. package/dist/cli/utils/coverage-verdict.d.ts +11 -2
  325. package/dist/cli/utils/coverage-verdict.js +26 -6
  326. package/dist/cli/utils/fleet-operation.d.ts +10 -2
  327. package/dist/cli/utils/fleet-operation.js +20 -3
  328. package/dist/cli/utils/fleet-result.d.ts +20 -4
  329. package/dist/cli/utils/fleet-result.js +32 -21
  330. package/dist/cli/utils/fleet-shard.d.ts +36 -0
  331. package/dist/cli/utils/fleet-shard.js +110 -0
  332. package/dist/coordination/handlers/code-intelligence-handlers.js +21 -1
  333. package/dist/coordination/handlers/coverage-collection.d.ts +2 -0
  334. package/dist/coordination/handlers/coverage-collection.js +2 -1
  335. package/dist/coordination/handlers/coverage-evidence.d.ts +75 -0
  336. package/dist/coordination/handlers/coverage-evidence.js +159 -0
  337. package/dist/coordination/handlers/coverage-handlers.js +16 -3
  338. package/dist/coordination/handlers/coverage-scope.d.ts +40 -0
  339. package/dist/coordination/handlers/coverage-scope.js +321 -0
  340. package/dist/coordination/handlers/coverage-target.d.ts +9 -0
  341. package/dist/coordination/handlers/coverage-target.js +15 -5
  342. package/dist/coordination/handlers/handler-types.d.ts +2 -2
  343. package/dist/coordination/handlers/handler-utils.d.ts +11 -0
  344. package/dist/coordination/handlers/handler-utils.js +22 -8
  345. package/dist/coordination/handlers/misc-handlers.js +5 -2
  346. package/dist/coordination/handlers/quality-handlers.js +2 -2
  347. package/dist/coordination/handlers/security-handlers.js +12 -2
  348. package/dist/coordination/protocols/security-audit.js +11 -1
  349. package/dist/coordination/task-executor.js +7 -2
  350. package/dist/domains/code-intelligence/coordinator-gnn.d.ts +2 -16
  351. package/dist/domains/code-intelligence/coordinator-gnn.js +1 -62
  352. package/dist/domains/code-intelligence/coordinator.d.ts +12 -6
  353. package/dist/domains/code-intelligence/coordinator.js +24 -27
  354. package/dist/domains/code-intelligence/interfaces.d.ts +9 -0
  355. package/dist/domains/code-intelligence/services/metric-collector/listing-process-owner.js +4 -1
  356. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +51 -5
  357. package/dist/domains/code-intelligence/services/semantic-analyzer.js +144 -78
  358. package/dist/domains/coverage-analysis/collected-metrics.d.ts +10 -0
  359. package/dist/domains/coverage-analysis/collected-metrics.js +29 -0
  360. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +11 -3
  361. package/dist/domains/coverage-analysis/services/coverage-parser.d.ts +2 -0
  362. package/dist/domains/coverage-analysis/services/coverage-parser.js +18 -2
  363. package/dist/domains/quality-assessment/coherence/gate-controller.js +16 -4
  364. package/dist/domains/quality-assessment/coherence/lambda-calculator.d.ts +8 -0
  365. package/dist/domains/quality-assessment/coherence/lambda-calculator.js +57 -14
  366. package/dist/domains/quality-assessment/coherence/types.d.ts +12 -7
  367. package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +3 -1
  368. package/dist/domains/quality-assessment/coordinator-reports.d.ts +30 -10
  369. package/dist/domains/quality-assessment/coordinator-reports.js +93 -57
  370. package/dist/domains/quality-assessment/coordinator.d.ts +14 -40
  371. package/dist/domains/quality-assessment/coordinator.js +10 -4
  372. package/dist/domains/quality-assessment/interfaces.d.ts +2 -0
  373. package/dist/domains/quality-assessment/services/coherence-gate.js +15 -2
  374. package/dist/domains/quality-assessment/services/quality-gate.js +6 -4
  375. package/dist/domains/security-compliance/index.d.ts +1 -1
  376. package/dist/domains/security-compliance/interfaces.d.ts +46 -5
  377. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +3 -3
  378. package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +15 -14
  379. package/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +8 -9
  380. package/dist/domains/security-compliance/services/scanners/dast-helpers.js +19 -44
  381. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +3 -3
  382. package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +13 -9
  383. package/dist/domains/security-compliance/services/scanners/dast-requests.d.ts +54 -0
  384. package/dist/domains/security-compliance/services/scanners/dast-requests.js +125 -0
  385. package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +5 -1
  386. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +125 -155
  387. package/dist/domains/security-compliance/services/scanners/index.d.ts +1 -1
  388. package/dist/domains/security-compliance/services/scanners/index.js +1 -1
  389. package/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +2 -2
  390. package/dist/domains/security-compliance/services/security-auditor-dast.js +183 -212
  391. package/dist/domains/security-compliance/services/security-auditor-reports.js +5 -1
  392. package/dist/domains/security-compliance/services/security-auditor.d.ts +11 -3
  393. package/dist/domains/security-compliance/services/security-auditor.js +106 -65
  394. package/dist/domains/test-execution/coordinator.d.ts +2 -1
  395. package/dist/domains/test-execution/coordinator.js +33 -27
  396. package/dist/domains/test-execution/interfaces.d.ts +5 -0
  397. package/dist/domains/test-execution/services/test-executor.d.ts +6 -0
  398. package/dist/domains/test-execution/services/test-executor.js +16 -4
  399. package/dist/domains/visual-accessibility/coordinator.js +34 -9
  400. package/dist/domains/visual-accessibility/interfaces.d.ts +27 -0
  401. package/dist/domains/visual-accessibility/plugin.js +5 -0
  402. package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.d.ts +13 -21
  403. package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.js +13 -297
  404. package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +13 -5
  405. package/dist/domains/visual-accessibility/services/accessibility-tester.js +96 -73
  406. package/dist/init/phases/10-workers.js +42 -4
  407. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +23 -1
  408. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +50 -15
  409. package/dist/integrations/agentic-flow/reasoning-bank/index.d.ts +7 -2
  410. package/dist/integrations/agentic-flow/reasoning-bank/index.js +8 -0
  411. package/dist/integrations/embeddings/index/HNSWIndex.js +8 -4
  412. package/dist/integrations/ruvector/transfer-coherence-stub.js +5 -10
  413. package/dist/learning/embedder-endpoint-client.d.ts +8 -0
  414. package/dist/learning/embedder-endpoint-client.js +20 -0
  415. package/dist/learning/embedder-recovery.d.ts +63 -0
  416. package/dist/learning/embedder-recovery.js +94 -0
  417. package/dist/learning/qe-reasoning-bank-types.d.ts +5 -0
  418. package/dist/learning/qe-reasoning-bank.d.ts +21 -0
  419. package/dist/learning/qe-reasoning-bank.js +54 -8
  420. package/dist/learning/real-embeddings.d.ts +23 -0
  421. package/dist/learning/real-embeddings.js +69 -2
  422. package/dist/learning/real-qe-reasoning-bank.d.ts +24 -4
  423. package/dist/learning/real-qe-reasoning-bank.js +58 -20
  424. package/dist/logging/redaction.js +142 -12
  425. package/dist/mcp/bundle.js +509 -497
  426. package/dist/mcp/daemon-mode.d.ts +126 -0
  427. package/dist/mcp/daemon-mode.js +257 -0
  428. package/dist/mcp/entry.d.ts +4 -0
  429. package/dist/mcp/entry.js +50 -2
  430. package/dist/mcp/handlers/domain-handler-configs.d.ts +8 -0
  431. package/dist/mcp/handlers/domain-handler-configs.js +14 -2
  432. package/dist/mcp/handlers/handler-factory.js +3 -0
  433. package/dist/mcp/handlers/model-route-handlers.d.ts +107 -0
  434. package/dist/mcp/handlers/model-route-handlers.js +139 -0
  435. package/dist/mcp/handlers/orchestrate-routes.d.ts +6 -1
  436. package/dist/mcp/handlers/orchestrate-routes.js +94 -3
  437. package/dist/mcp/handlers/task-handlers.d.ts +3 -242
  438. package/dist/mcp/handlers/task-handlers.js +11 -788
  439. package/dist/mcp/handlers/task-inference.d.ts +26 -0
  440. package/dist/mcp/handlers/task-inference.js +156 -0
  441. package/dist/mcp/handlers/task-learning-handlers.d.ts +92 -0
  442. package/dist/mcp/handlers/task-learning-handlers.js +230 -0
  443. package/dist/mcp/handlers/task-orchestrate-handler.d.ts +73 -0
  444. package/dist/mcp/handlers/task-orchestrate-handler.js +361 -0
  445. package/dist/mcp/protocol-server.js +15 -2
  446. package/dist/mcp/services/reasoning-bank-service.d.ts +6 -1
  447. package/dist/mcp/services/reasoning-bank-service.js +9 -0
  448. package/dist/mcp/tools/code-intelligence/analyze.js +3 -6
  449. package/dist/mcp/tools/coverage-analysis/index.d.ts +4 -0
  450. package/dist/mcp/tools/coverage-analysis/index.js +8 -2
  451. package/dist/mcp/tools/visual-accessibility/index.d.ts +7 -0
  452. package/dist/mcp/tools/visual-accessibility/index.js +29 -13
  453. package/dist/mcp/types.d.ts +14 -0
  454. package/dist/routing/advisor/redaction.js +22 -2
  455. package/dist/shared/events/domain-events.d.ts +2 -0
  456. package/dist/shared/llm/providers/response-deadline.js +16 -2
  457. package/dist/shared/metrics/code-metrics.js +21 -3
  458. package/dist/shared/parsers/typescript-parser.d.ts +6 -0
  459. package/dist/shared/parsers/typescript-parser.js +13 -1
  460. package/dist/shared/types/index.js +3 -1
  461. package/dist/strange-loop/infra-healing/infra-aware-agent-provider.js +8 -1
  462. package/package.json +3 -3
  463. package/dist/cli/chunks/adapter-V4GSGOOK.js +0 -2
  464. package/dist/cli/chunks/aqe-learning-engine-6WQTM5YR.js +0 -2
  465. package/dist/cli/chunks/base-AK7BXBX2.js +0 -2
  466. package/dist/cli/chunks/browser-workflow-VTDFBW7T.js +0 -2
  467. package/dist/cli/chunks/chunk-2DTX7YAZ.js +0 -6
  468. package/dist/cli/chunks/chunk-72ZBJD2E.js +0 -3
  469. package/dist/cli/chunks/chunk-EBPJY4DI.js +0 -3
  470. package/dist/cli/chunks/chunk-H43AFUKL.js +0 -2
  471. package/dist/cli/chunks/chunk-HJ3XNTTJ.js +0 -2
  472. package/dist/cli/chunks/chunk-IO5537OM.js +0 -2
  473. package/dist/cli/chunks/chunk-IW6WDGHM.js +0 -2
  474. package/dist/cli/chunks/chunk-K2HBNYAZ.js +0 -62
  475. package/dist/cli/chunks/chunk-LRL56ZYL.js +0 -21
  476. package/dist/cli/chunks/chunk-VLD7Z2ED.js +0 -13
  477. package/dist/cli/chunks/chunk-VO3DRK4P.js +0 -3
  478. package/dist/cli/chunks/ci-6GUFAZMJ.js +0 -81
  479. package/dist/cli/chunks/client-HL2COSFM.js +0 -2
  480. package/dist/cli/chunks/core-handlers-IX7ATLM6.js +0 -2
  481. package/dist/cli/chunks/cross-domain-router-YYKLAPJO.js +0 -2
  482. package/dist/cli/chunks/domain-transfer-DOBI67K6.js +0 -2
  483. package/dist/cli/chunks/dream-T6EP7B3F.js +0 -2
  484. package/dist/cli/chunks/file-discovery-JYMVTDMU.js +0 -2
  485. package/dist/cli/chunks/fleet-FVAUMKUT.js +0 -46
  486. package/dist/cli/chunks/heartbeat-scheduler-4N5MUJ7S.js +0 -2
  487. package/dist/cli/chunks/hnsw-adapter-ZPAJDSLR.js +0 -2
  488. package/dist/cli/chunks/hnsw-index-4CTH6RHB.js +0 -2
  489. package/dist/cli/chunks/hybrid-backend-AW6UTXQS.js +0 -2
  490. package/dist/cli/chunks/impact-analyzer-MZK3JMSV.js +0 -2
  491. package/dist/cli/chunks/init-wizard-FUC7KDVX.js +0 -2
  492. package/dist/cli/chunks/kernel-ZCPMCVMW.js +0 -2
  493. package/dist/cli/chunks/knowledge-graph-NUJKEDNF.js +0 -2
  494. package/dist/cli/chunks/llm-router-service-B2BFBQ76.js +0 -2
  495. package/dist/cli/chunks/load-test-ZHQ2MUGO.js +0 -2
  496. package/dist/cli/chunks/memory-backend-AAMQG6WH.js +0 -2
  497. package/dist/cli/chunks/pattern-null-store-RFNVA46O.js +0 -2
  498. package/dist/cli/chunks/project-root-7QL4KP5C.js +0 -2
  499. package/dist/cli/chunks/protocol-executor-2NW5BD4R.js +0 -2
  500. package/dist/cli/chunks/qe-reasoning-bank-G2JZOGKD.js +0 -2
  501. package/dist/cli/chunks/queen-coordinator-GRG5FT2A.js +0 -2
  502. package/dist/cli/chunks/real-embeddings-RQRVOKVM.js +0 -2
  503. package/dist/cli/chunks/router-LQB5SWAF.js +0 -2
  504. package/dist/cli/chunks/routing-feedback-OEEXA55N.js +0 -2
  505. package/dist/cli/chunks/rvf-dual-writer-BZK4M7BO.js +0 -2
  506. package/dist/cli/chunks/rvf-migration-adapter-EZZUJL2E.js +0 -2
  507. package/dist/cli/chunks/rvf-native-adapter-6COXTQZ3.js +0 -2
  508. package/dist/cli/chunks/safe-db-PE6G3L55.js +0 -2
  509. package/dist/cli/chunks/schedule-OLKQ6QYW.js +0 -2
  510. package/dist/cli/chunks/scheduler-LSGBDFAT.js +0 -2
  511. package/dist/cli/chunks/sqlite-persistence-HH4DNTYH.js +0 -2
  512. package/dist/cli/chunks/task-handler-TFKVUTNF.js +0 -60
  513. package/dist/cli/chunks/task-handlers-SS4ZDXNF.js +0 -9
  514. package/dist/cli/chunks/test-runner-process-PSSBNNGR.js +0 -2
  515. package/dist/cli/chunks/tree-sitter-wasm-parser-TYRQRJ2W.js +0 -2
  516. package/dist/cli/chunks/unified-memory-AGDZQ5XD.js +0 -2
  517. package/dist/cli/chunks/unified-memory-hnsw-X5TJ3JDE.js +0 -2
  518. package/dist/cli/chunks/unified-persistence-UCV7YETW.js +0 -2
  519. package/dist/cli/chunks/visual-security-ZLXRIQZV.js +0 -2
  520. package/dist/cli/chunks/witness-chain-CVIWYTD2.js +0 -2
  521. package/dist/cli/chunks/witness-chain-VBKORKOX.js +0 -2
  522. package/dist/cli/chunks/workflow-orchestrator-3ZN7MVCE.js +0 -2
@@ -19,6 +19,7 @@ import { EventBus, MemoryBackend, AgentCoordinator } from '../../kernel/interfac
19
19
  import type { HybridRouter } from '../../shared/llm/router/hybrid-router.js';
20
20
  import { QualityAssessmentAPI, GateEvaluationRequest, GateResult, QualityAnalysisRequest, QualityReport, DeploymentRequest, DeploymentAdvice, ComplexityRequest, ComplexityReport, QualityMetrics } from './interfaces';
21
21
  import { ClaimVerifierService } from '../../agents/claim-verifier/index.js';
22
+ import * as ReportHelpers from './coordinator-reports.js';
22
23
  import type { QueenMinCutBridge } from '../../coordination/mincut/queen-integration';
23
24
  import type { ConsensusStats } from '../../coordination/consensus';
24
25
  import { BaseDomainCoordinator, type BaseDomainCoordinatorConfig } from '../base-domain-coordinator.js';
@@ -154,19 +155,13 @@ export declare class QualityAssessmentCoordinator extends BaseDomainCoordinator<
154
155
  generateReport(options: {
155
156
  format: 'json' | 'html' | 'markdown';
156
157
  includeRecommendations?: boolean;
157
- }): Promise<Result<{
158
- content: string;
159
- format: string;
160
- }, Error>>;
158
+ }): ReturnType<typeof ReportHelpers.generateReport>;
161
159
  /**
162
- * Get quality dashboard overview
160
+ * Get quality dashboard overview. #1020: built from measured evidence only;
161
+ * unmeasured metrics are -1 and listed in `unmeasured`.
163
162
  * @returns Result containing dashboard data
164
163
  */
165
- getQualityDashboard(): Promise<Result<{
166
- overallScore: number;
167
- metrics: QualityMetrics;
168
- trends: Record<string, number>;
169
- }, Error>>;
164
+ getQualityDashboard(): ReturnType<typeof ReportHelpers.getQualityDashboard>;
170
165
  /**
171
166
  * Analyze project risks
172
167
  * @param options - Risk analysis options
@@ -175,17 +170,10 @@ export declare class QualityAssessmentCoordinator extends BaseDomainCoordinator<
175
170
  analyzeRisks(options: {
176
171
  scope: 'project' | 'module' | 'file';
177
172
  includeSecurityRisks?: boolean;
178
- }): Promise<Result<{
179
- risks: Array<{
180
- id: string;
181
- severity: string;
182
- description: string;
183
- category: string;
184
- }>;
185
- overallRiskLevel: 'low' | 'medium' | 'high' | 'critical';
186
- }, Error>>;
173
+ }): ReturnType<typeof ReportHelpers.analyzeRisks>;
187
174
  /**
188
- * Evaluate a quality gate (simplified API)
175
+ * Evaluate a quality gate (simplified API). #1020: a metric the caller does
176
+ * not supply is unmeasured, so the gate cannot pass on it.
189
177
  * @param options - Quality gate evaluation options
190
178
  * @returns Result containing gate evaluation
191
179
  */
@@ -194,26 +182,21 @@ export declare class QualityAssessmentCoordinator extends BaseDomainCoordinator<
194
182
  metrics: Partial<QualityMetrics>;
195
183
  }): Promise<Result<{
196
184
  passed: boolean;
185
+ /** 0-100; -1 when a configured check is unmeasured. */
197
186
  score: number;
198
187
  violations: string[];
188
+ evidenceStatus?: GateResult['evidenceStatus'];
189
+ unmeasured?: string[];
199
190
  }, Error>>;
200
191
  /**
201
- * Assess deployment readiness
192
+ * Assess deployment readiness. #1020: never ready while an input is unmeasured.
202
193
  * @param options - Deployment readiness options
203
194
  * @returns Result containing readiness assessment
204
195
  */
205
196
  assessDeploymentReadiness(options: {
206
197
  environment: 'development' | 'staging' | 'production';
207
198
  changeSet: string[];
208
- }): Promise<Result<{
209
- ready: boolean;
210
- risks: Array<{
211
- id: string;
212
- severity: string;
213
- description: string;
214
- }>;
215
- score: number;
216
- }, Error>>;
199
+ }): ReturnType<typeof ReportHelpers.assessDeploymentReadiness>;
217
200
  /**
218
201
  * Analyze technical debt
219
202
  * @param options - Technical debt analysis options
@@ -222,16 +205,7 @@ export declare class QualityAssessmentCoordinator extends BaseDomainCoordinator<
222
205
  analyzeTechnicalDebt(options: {
223
206
  projectPath: string;
224
207
  includeCodeSmells?: boolean;
225
- }): Promise<Result<{
226
- totalDebt: number;
227
- items: Array<{
228
- file: string;
229
- type: string;
230
- effort: number;
231
- description: string;
232
- }>;
233
- debtRatio: number;
234
- }, Error>>;
208
+ }): ReturnType<typeof ReportHelpers.analyzeTechnicalDebt>;
235
209
  private spawnQualityGateAgent;
236
210
  private spawnQualityAnalyzerAgent;
237
211
  private spawnDeploymentAdvisorAgent;
@@ -236,7 +236,9 @@ export class QualityAssessmentCoordinator extends BaseDomainCoordinator {
236
236
  // V3 Integration: Use consensus for borderline cases (CONSENSUS-MIXIN-001)
237
237
  // Borderline cases are pass/fail decisions where metrics are close to thresholds
238
238
  let finalResult = result.value;
239
- if (this.config.enableConsensus && this.isBorderlineGateResult(request.metrics, request.thresholds, result.value)) {
239
+ // #1020: a verdict on missing evidence is not borderline; it is not a verdict.
240
+ if (this.config.enableConsensus && result.value.evidenceStatus !== 'insufficient-evidence'
241
+ && this.isBorderlineGateResult(request.metrics, request.thresholds, result.value)) {
240
242
  const consensusResult = await this.verifyGateVerdictWithConsensus(effectiveRequest, result.value);
241
243
  if (consensusResult) {
242
244
  finalResult = consensusResult;
@@ -544,7 +546,8 @@ export class QualityAssessmentCoordinator extends BaseDomainCoordinator {
544
546
  return ReportHelpers.generateReport(this.memory, options);
545
547
  }
546
548
  /**
547
- * Get quality dashboard overview
549
+ * Get quality dashboard overview. #1020: built from measured evidence only;
550
+ * unmeasured metrics are -1 and listed in `unmeasured`.
548
551
  * @returns Result containing dashboard data
549
552
  */
550
553
  async getQualityDashboard() {
@@ -559,7 +562,8 @@ export class QualityAssessmentCoordinator extends BaseDomainCoordinator {
559
562
  return ReportHelpers.analyzeRisks(this.memory, options);
560
563
  }
561
564
  /**
562
- * Evaluate a quality gate (simplified API)
565
+ * Evaluate a quality gate (simplified API). #1020: a metric the caller does
566
+ * not supply is unmeasured, so the gate cannot pass on it.
563
567
  * @param options - Quality gate evaluation options
564
568
  * @returns Result containing gate evaluation
565
569
  */
@@ -573,10 +577,12 @@ export class QualityAssessmentCoordinator extends BaseDomainCoordinator {
573
577
  passed: result.value.passed,
574
578
  score: result.value.overallScore,
575
579
  violations: result.value.failedChecks,
580
+ ...(result.value.evidenceStatus ? { evidenceStatus: result.value.evidenceStatus } : {}),
581
+ ...(result.value.unmeasured ? { unmeasured: result.value.unmeasured } : {}),
576
582
  });
577
583
  }
578
584
  /**
579
- * Assess deployment readiness
585
+ * Assess deployment readiness. #1020: never ready while an input is unmeasured.
580
586
  * @param options - Deployment readiness options
581
587
  * @returns Result containing readiness assessment
582
588
  */
@@ -54,7 +54,9 @@ export interface GateResult {
54
54
  gateName: string;
55
55
  passed: boolean;
56
56
  checks: GateCheck[];
57
+ /** 0-100; -1 when any configured check is unmeasured (#1020). */
57
58
  overallScore: number;
59
+ /** Measured checks that failed their threshold; unmeasured checks are not listed (#1020). */
58
60
  failedChecks: string[];
59
61
  /** Gate service evidence state; absent for other gate implementations. */
60
62
  evidenceStatus?: 'measured' | 'insufficient-evidence';
@@ -11,7 +11,10 @@ import { QualityTier, DEFAULT_COHERENCE_GATE_POLICY, } from '../coherence/index.
11
11
  import { createLambdaCalculator, } from '../coherence/lambda-calculator.js';
12
12
  import { createCoherenceGateController, } from '../coherence/gate-controller.js';
13
13
  import { toError } from '../../../shared/error-utils.js';
14
+ import { isMeasuredMetricValue } from '../evidence-sufficiency.js';
14
15
  import { createPartitionDetector, } from '../coherence/partition-detector.js';
16
+ /** #996: the sentinel for an input with no measured value. */
17
+ const UNMEASURED = -1;
15
18
  /**
16
19
  * Default service configuration
17
20
  */
@@ -175,13 +178,23 @@ export class CoherenceGateService extends QualityGateService {
175
178
  * Convert QualityMetrics to coherence input format
176
179
  */
177
180
  convertToCoherenceMetrics(metrics, previousLambda) {
181
+ // #1020: QualityMetrics carries no latency or flaky-test data, so those
182
+ // inputs are unmeasured (-1) instead of an invented "fast, not flaky"
183
+ // value. The total vulnerability count is weighted as critical, so the
184
+ // high/medium breakdown adds nothing when the total was measured.
185
+ const vulns = isMeasuredMetricValue(metrics.securityVulnerabilities) ? 0 : UNMEASURED;
178
186
  return {
179
187
  lineCoverage: metrics.coverage,
180
188
  testPassRate: metrics.testsPassing,
181
189
  criticalVulns: metrics.securityVulnerabilities,
182
- p95Latency: 100, // Default if not provided
190
+ highVulns: vulns,
191
+ mediumVulns: vulns,
192
+ p95Latency: UNMEASURED,
183
193
  targetLatency: 200, // Default target
184
- maintainabilityIndex: 100 - metrics.technicalDebt * 10, // Convert debt hours to index
194
+ maintainabilityIndex: isMeasuredMetricValue(metrics.technicalDebt)
195
+ ? 100 - metrics.technicalDebt * 10 // Convert debt hours to index
196
+ : UNMEASURED,
197
+ flakyTestRatio: UNMEASURED,
185
198
  duplicationPercent: metrics.duplications,
186
199
  previousLambda,
187
200
  };
@@ -87,14 +87,16 @@ export class QualityGateService {
87
87
  const unmeasured = checks
88
88
  .filter((check) => !isMeasuredMetricValue(check.value))
89
89
  .map((check) => check.name);
90
- // Collect failed checks
90
+ // Collect failed checks. #1020: an unmeasured check did not fail a
91
+ // threshold; it is listed in `unmeasured` only.
91
92
  for (const check of checks) {
92
- if (!check.passed) {
93
+ if (!check.passed && isMeasuredMetricValue(check.value)) {
93
94
  failedChecks.push(check.name);
94
95
  }
95
96
  }
96
- // Calculate overall score (0-100)
97
- const overallScore = this.calculateOverallScore(checks);
97
+ // Calculate overall score (0-100). #1020: -1 = no measured score, the
98
+ // same sentinel quality_assess uses; never a score over partial data.
99
+ const overallScore = unmeasured.length === 0 ? this.calculateOverallScore(checks) : -1;
98
100
  // Determine pass/fail based on critical checks
99
101
  const passed = unmeasured.length === 0 && this.determineGateStatus(checks);
100
102
  const result = {
@@ -9,5 +9,5 @@ export { SecurityComplianceCoordinator, type IExtendedSecurityComplianceCoordina
9
9
  export { SecurityScannerService, type ISecurityScannerService, type SecurityScannerConfig, type FullScanResult, } from './services/security-scanner.js';
10
10
  export { SecurityAuditorService, type ISecurityAuditorService, type SecurityAuditorConfig, type SecurityPostureSummary, type TriagedVulnerabilities, } from './services/security-auditor.js';
11
11
  export { ComplianceValidatorService, type IExtendedComplianceValidationService, type ComplianceValidatorConfig, type MultiStandardReport, type DataType, type DataHandlingReport, type DataLocation, type ComplianceEvidence, type ControlEvidence, } from './services/compliance-validator.js';
12
- export type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, DependencyInfo, RemediationAdvice, ComplianceStandard, ComplianceRule, ComplianceViolation, ComplianceContext, ComplianceReport, GapAnalysis, ComplianceGap, RemediationAction, SASTResult, DASTResult, DASTOptions, DependencyScanResult, SecretScanResult, DetectedSecret, ScanSummary, ScanStatus, RuleSet, FalsePositiveCheck, SecurityCoverage, AuthCredentials, PackageSecurityInfo, OutdatedPackage, UpgradeRecommendation, SecurityAuditOptions, SecurityAuditReport, SecurityPosture, ISASTService, IDASTService, IDependencySecurityService, IComplianceValidationService, ISecurityComplianceCoordinator, IVulnerabilityRepository, IComplianceReportRepository, SecurityScanCompletedEvent, VulnerabilityDetectedEvent, ComplianceCheckCompletedEvent, } from './interfaces.js';
12
+ export type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, DependencyInfo, RemediationAdvice, ComplianceStandard, ComplianceRule, ComplianceViolation, ComplianceContext, ComplianceReport, GapAnalysis, ComplianceGap, RemediationAction, SASTResult, DASTResult, DASTScanStatus, DASTRequestFailure, DASTOptions, DependencyScanResult, SecretScanResult, DetectedSecret, ScanSummary, ScanStatus, RuleSet, FalsePositiveCheck, SecurityCoverage, AuthCredentials, PackageSecurityInfo, OutdatedPackage, UpgradeRecommendation, SecurityAuditOptions, SecurityAuditReport, SecurityPosture, ISASTService, IDASTService, IDependencySecurityService, IComplianceValidationService, ISecurityComplianceCoordinator, IVulnerabilityRepository, IComplianceReportRepository, SecurityScanCompletedEvent, VulnerabilityDetectedEvent, ComplianceCheckCompletedEvent, } from './interfaces.js';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -179,12 +179,32 @@ export interface DASTOptions {
179
179
  readonly activeScanning?: boolean;
180
180
  readonly timeout?: number;
181
181
  }
182
+ /**
183
+ * Completeness of a DAST scan (#1135), on the model of DependencyScanStatus (#1049).
184
+ * - complete: every planned request was answered; the findings (or none) are a measurement.
185
+ * - incomplete: the target answered, some probes did not; the findings are real, the rest is unmeasured.
186
+ * - failed: the target could not be scanned. Never read as "no findings".
187
+ */
188
+ export type DASTScanStatus = 'complete' | 'incomplete' | 'failed';
189
+ /** A DAST request the target did not answer (#1135). */
190
+ export interface DASTRequestFailure {
191
+ /** Origin and path of the request; query strings and credentials are not kept. */
192
+ readonly url: string;
193
+ /** DAST_REQUEST_FAILED, DAST_REQUEST_TIMEOUT, DAST_TLS_FAILED, DAST_RATE_LIMITED, ... */
194
+ readonly code: string;
195
+ readonly reason: string;
196
+ }
182
197
  export interface DASTResult {
183
198
  readonly scanId: string;
184
199
  readonly targetUrl: string;
185
200
  readonly vulnerabilities: Vulnerability[];
186
201
  readonly summary: ScanSummary;
187
202
  readonly crawledUrls: number;
203
+ readonly status: DASTScanStatus;
204
+ /** Requests the target did not answer; non-empty means the scan is not complete. */
205
+ readonly failedRequests: DASTRequestFailure[];
206
+ /** Why the scan is incomplete/failed; absent when complete. */
207
+ readonly error?: string;
188
208
  }
189
209
  export interface AuthCredentials {
190
210
  readonly type: 'basic' | 'bearer' | 'cookie' | 'oauth';
@@ -213,6 +233,16 @@ export interface IDependencySecurityService {
213
233
  export interface DependencyScanResult {
214
234
  readonly vulnerabilities: Vulnerability[];
215
235
  readonly outdatedPackages: OutdatedPackage[];
236
+ /**
237
+ * #1221: whether the latest version of every dependency was looked up. Only
238
+ * 'complete' means `outdatedPackages` is the full list; 'incomplete' and
239
+ * 'failed' list the packages not checked in `outdatedUnchecked`, and
240
+ * 'not-run' means this scan does not look up latest versions. An empty
241
+ * `outdatedPackages` is "up to date" only when this is 'complete'.
242
+ */
243
+ readonly outdatedStatus: 'complete' | 'incomplete' | 'failed' | 'not-run';
244
+ /** #1221: dependencies whose latest version could not be looked up, and why. */
245
+ readonly outdatedUnchecked: UncheckedDependency[];
216
246
  readonly summary: ScanSummary;
217
247
  /**
218
248
  * #1049: whether the advisory lookup covered every dependency. Only
@@ -227,7 +257,7 @@ export interface DependencyScanResult {
227
257
  /** Why the scan is incomplete/failed; absent when complete. */
228
258
  readonly error?: string;
229
259
  }
230
- /** A dependency whose advisories could not be checked, and why (#1049). */
260
+ /** A dependency whose advisories (#1049) or latest version (#1221) could not be checked, and why. */
231
261
  export interface UncheckedDependency {
232
262
  readonly name: string;
233
263
  /** The spec as declared in the manifest. */
@@ -249,8 +279,13 @@ export interface PackageSecurityInfo {
249
279
  readonly name: string;
250
280
  readonly version: string;
251
281
  readonly vulnerabilities: Vulnerability[];
252
- readonly latestVersion: string;
253
- readonly isDeprecated: boolean;
282
+ /** null when the registry lookup failed (#1052). */
283
+ readonly latestVersion: string | null;
284
+ /** null when deprecation could not be checked, never `false` (#1052). */
285
+ readonly isDeprecated: boolean | null;
286
+ /** incomplete when a registry lookup failed; `unchecked` says which and why. */
287
+ readonly status: 'complete' | 'incomplete';
288
+ readonly unchecked?: string[];
254
289
  }
255
290
  export interface OutdatedPackage {
256
291
  readonly name: string;
@@ -261,9 +296,13 @@ export interface OutdatedPackage {
261
296
  export interface UpgradeRecommendation {
262
297
  readonly package: string;
263
298
  readonly fromVersion: string;
264
- readonly toVersion: string;
299
+ /** null when the registry lookup failed; see `unchecked` (#1052). */
300
+ readonly toVersion: string | null;
265
301
  readonly fixesVulnerabilities: string[];
266
- readonly breakingChanges: boolean;
302
+ /** null when the target version is unknown. */
303
+ readonly breakingChanges: boolean | null;
304
+ /** Why no target version could be looked up; absent when it was. */
305
+ readonly unchecked?: string;
267
306
  }
268
307
  /**
269
308
  * Compliance Validation Service
@@ -358,6 +397,8 @@ export interface SecurityAuditReport {
358
397
  readonly secretScanResults?: SecretScanResult;
359
398
  readonly overallRiskScore: RiskScore;
360
399
  readonly recommendations: string[];
400
+ /** Checks that ran but could not complete (#1052); absent when every included check completed. */
401
+ readonly incompleteChecks?: string[];
361
402
  }
362
403
  export interface SecretScanResult {
363
404
  readonly secretsFound: DetectedSecret[];
@@ -2,15 +2,15 @@
2
2
  * Agentic QE v3 - DAST Authorization Testing
3
3
  * Authorization bypass and IDOR testing utilities
4
4
  */
5
- import type { Vulnerability, AuthCredentials } from './scanner-types.js';
5
+ import type { Vulnerability, AuthCredentials, DASTRequestFailure } from './scanner-types.js';
6
6
  /**
7
7
  * Test for authorization bypass on protected endpoints
8
8
  */
9
- export declare function testAuthorizationBypass(parsedUrl: URL, authHeaders: Record<string, string>, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[]): Promise<number>;
9
+ export declare function testAuthorizationBypass(parsedUrl: URL, authHeaders: Record<string, string>, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<number>;
10
10
  /**
11
11
  * Test for Insecure Direct Object References (IDOR)
12
12
  */
13
- export declare function testIDOR(parsedUrl: URL, authHeaders: Record<string, string>, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[]): Promise<number>;
13
+ export declare function testIDOR(parsedUrl: URL, authHeaders: Record<string, string>, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<number>;
14
14
  /**
15
15
  * Validate authentication credentials
16
16
  */
@@ -3,13 +3,14 @@
3
3
  * Authorization bypass and IDOR testing utilities
4
4
  */
5
5
  import { v4 as uuidv4 } from 'uuid';
6
+ import { probe } from './dast-requests.js';
6
7
  // ============================================================================
7
8
  // Authorization Testing
8
9
  // ============================================================================
9
10
  /**
10
11
  * Test for authorization bypass on protected endpoints
11
12
  */
12
- export async function testAuthorizationBypass(parsedUrl, authHeaders, crawledUrls, maxDepth, vulnerabilities) {
13
+ export async function testAuthorizationBypass(parsedUrl, authHeaders, crawledUrls, maxDepth, vulnerabilities, failures) {
13
14
  const protectedEndpoints = [
14
15
  '/admin',
15
16
  '/dashboard',
@@ -23,21 +24,21 @@ export async function testAuthorizationBypass(parsedUrl, authHeaders, crawledUrl
23
24
  break;
24
25
  const testUrl = new URL(endpoint, parsedUrl.origin).toString();
25
26
  // Try with authentication
26
- const authResponse = await fetch(testUrl, {
27
+ const authResponse = await probe(testUrl, {
27
28
  method: 'GET',
28
29
  headers: { ...authHeaders },
29
30
  signal: AbortSignal.timeout(5000),
30
- });
31
- if (authResponse.ok) {
31
+ }, failures);
32
+ if (authResponse?.ok) {
32
33
  crawledUrls++;
33
34
  // Try without authentication
34
- const unauthResponse = await fetch(testUrl, {
35
+ const unauthResponse = await probe(testUrl, {
35
36
  method: 'GET',
36
37
  signal: AbortSignal.timeout(5000),
37
- });
38
- if (unauthResponse.ok && unauthResponse.status === 200) {
39
- const authText = await authResponse.text();
40
- const unauthText = await unauthResponse.text();
38
+ }, failures);
39
+ if (unauthResponse?.ok && unauthResponse.status === 200) {
40
+ const authText = authResponse.text;
41
+ const unauthText = unauthResponse.text;
41
42
  if (authText.length > 100 && unauthText.length > 100 &&
42
43
  Math.abs(authText.length - unauthText.length) < authText.length * 0.1) {
43
44
  vulnerabilities.push({
@@ -59,7 +60,7 @@ export async function testAuthorizationBypass(parsedUrl, authHeaders, crawledUrl
59
60
  /**
60
61
  * Test for Insecure Direct Object References (IDOR)
61
62
  */
62
- export async function testIDOR(parsedUrl, authHeaders, crawledUrls, maxDepth, vulnerabilities) {
63
+ export async function testIDOR(parsedUrl, authHeaders, crawledUrls, maxDepth, vulnerabilities, failures) {
63
64
  const idorEndpoints = [
64
65
  '/api/users/1',
65
66
  '/api/users/2',
@@ -70,14 +71,14 @@ export async function testIDOR(parsedUrl, authHeaders, crawledUrls, maxDepth, vu
70
71
  if (crawledUrls >= maxDepth * 15)
71
72
  break;
72
73
  const testUrl = new URL(endpoint, parsedUrl.origin).toString();
73
- const response = await fetch(testUrl, {
74
+ const response = await probe(testUrl, {
74
75
  method: 'GET',
75
76
  headers: { ...authHeaders },
76
77
  signal: AbortSignal.timeout(5000),
77
- });
78
- if (response.ok) {
78
+ }, failures);
79
+ if (response?.ok) {
79
80
  crawledUrls++;
80
- const text = await response.text();
81
+ const text = response.text;
81
82
  if (text.includes('email') || text.includes('password') || text.includes('phone')) {
82
83
  vulnerabilities.push({
83
84
  id: uuidv4(),
@@ -2,7 +2,7 @@
2
2
  * Agentic QE v3 - DAST Scanner Helper Functions
3
3
  * Utility functions for dynamic security analysis
4
4
  */
5
- import type { Vulnerability, ScanSummary, MemoryBackend } from './scanner-types.js';
5
+ import type { Vulnerability, ScanSummary, MemoryBackend, DASTRequestFailure } from './scanner-types.js';
6
6
  export { testXSS, testSQLi } from './dast-injection-testing.js';
7
7
  export { testAuthorizationBypass, testIDOR, validateCredentials, buildAuthHeaders, } from './dast-auth-testing.js';
8
8
  /**
@@ -20,23 +20,19 @@ export declare function analyzeServerHeaders(headers: Headers, targetUrl: string
20
20
  /**
21
21
  * Scan for sensitive file exposure
22
22
  */
23
- export declare function scanSensitiveFiles(parsedUrl: URL, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[]): Promise<number>;
23
+ export declare function scanSensitiveFiles(parsedUrl: URL, crawledUrls: number, maxDepth: number, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<number>;
24
24
  /**
25
25
  * Analyze CORS configuration
26
26
  */
27
- export declare function analyzeCORS(targetUrl: string, vulnerabilities: Vulnerability[]): Promise<void>;
27
+ export declare function analyzeCORS(targetUrl: string, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<void>;
28
28
  /**
29
29
  * Extract links from HTML and crawl discovered pages
30
30
  */
31
- export declare function extractAndCrawlLinks(html: string, baseUrl: URL, currentCrawled: number, maxDepth: number, vulnerabilities: Vulnerability[]): Promise<number>;
31
+ export declare function extractAndCrawlLinks(html: string, baseUrl: URL, currentCrawled: number, maxDepth: number, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<number>;
32
32
  /**
33
33
  * Analyze HTML forms for security issues
34
34
  */
35
35
  export declare function analyzeFormsForSecurityIssues(html: string, baseUrl: string, vulnerabilities: Vulnerability[]): void;
36
- /**
37
- * Handle fetch errors and add appropriate vulnerabilities
38
- */
39
- export declare function handleFetchError(fetchError: unknown, targetUrl: string, vulnerabilities: Vulnerability[]): void;
40
36
  /**
41
37
  * Calculate scan summary from vulnerabilities
42
38
  */
@@ -44,5 +40,8 @@ export declare function calculateSummary(vulnerabilities: Vulnerability[], total
44
40
  /**
45
41
  * Store scan results in memory
46
42
  */
47
- export declare function storeScanResults(memory: MemoryBackend, scanId: string, scanType: string, vulnerabilities: Vulnerability[], summary: ScanSummary): Promise<void>;
43
+ export declare function storeScanResults(memory: MemoryBackend, scanId: string, scanType: string, vulnerabilities: Vulnerability[], summary: ScanSummary, completeness?: {
44
+ status: string;
45
+ failedRequests: DASTRequestFailure[];
46
+ }): Promise<void>;
48
47
  //# sourceMappingURL=dast-helpers.d.ts.map
@@ -3,7 +3,7 @@
3
3
  * Utility functions for dynamic security analysis
4
4
  */
5
5
  import { v4 as uuidv4 } from 'uuid';
6
- import { toErrorMessage } from '../../../../shared/error-utils.js';
6
+ import { probe } from './dast-requests.js';
7
7
  // Re-export from specialized modules for convenience
8
8
  export { testXSS, testSQLi } from './dast-injection-testing.js';
9
9
  export { testAuthorizationBypass, testIDOR, validateCredentials, buildAuthHeaders, } from './dast-auth-testing.js';
@@ -100,7 +100,7 @@ export function analyzeServerHeaders(headers, targetUrl, vulnerabilities) {
100
100
  /**
101
101
  * Scan for sensitive file exposure
102
102
  */
103
- export async function scanSensitiveFiles(parsedUrl, crawledUrls, maxDepth, vulnerabilities) {
103
+ export async function scanSensitiveFiles(parsedUrl, crawledUrls, maxDepth, vulnerabilities, failures) {
104
104
  const sensitiveEndpoints = [
105
105
  { path: '/.git/config', name: 'Git Configuration' },
106
106
  { path: '/.env', name: 'Environment File' },
@@ -113,13 +113,13 @@ export async function scanSensitiveFiles(parsedUrl, crawledUrls, maxDepth, vulne
113
113
  if (crawledUrls >= maxDepth * 10)
114
114
  break;
115
115
  const testUrl = new URL(endpoint.path, parsedUrl.origin).toString();
116
- const testResponse = await fetch(testUrl, {
116
+ const testResponse = await probe(testUrl, {
117
117
  method: 'GET',
118
118
  signal: AbortSignal.timeout(5000),
119
- });
120
- if (testResponse.ok) {
119
+ }, failures);
120
+ if (testResponse?.ok) {
121
121
  crawledUrls++;
122
- const text = await testResponse.text();
122
+ const text = testResponse.text;
123
123
  if (text.length > 20 && !text.toLowerCase().includes('not found') && !text.toLowerCase().includes('404')) {
124
124
  const isSensitive = endpoint.path.includes('.git') ||
125
125
  endpoint.path.includes('.env') ||
@@ -148,15 +148,17 @@ export async function scanSensitiveFiles(parsedUrl, crawledUrls, maxDepth, vulne
148
148
  /**
149
149
  * Analyze CORS configuration
150
150
  */
151
- export async function analyzeCORS(targetUrl, vulnerabilities) {
152
- const corsResponse = await fetch(targetUrl, {
151
+ export async function analyzeCORS(targetUrl, vulnerabilities, failures) {
152
+ const corsResponse = await probe(targetUrl, {
153
153
  method: 'OPTIONS',
154
154
  headers: {
155
155
  'Origin': 'https://evil-attacker.com',
156
156
  'Access-Control-Request-Method': 'GET',
157
157
  },
158
158
  signal: AbortSignal.timeout(5000),
159
- });
159
+ }, failures);
160
+ if (!corsResponse)
161
+ return;
160
162
  const allowOrigin = corsResponse.headers.get('access-control-allow-origin');
161
163
  if (allowOrigin === '*' || allowOrigin === 'https://evil-attacker.com') {
162
164
  vulnerabilities.push({
@@ -177,7 +179,7 @@ export async function analyzeCORS(targetUrl, vulnerabilities) {
177
179
  /**
178
180
  * Extract links from HTML and crawl discovered pages
179
181
  */
180
- export async function extractAndCrawlLinks(html, baseUrl, currentCrawled, maxDepth, vulnerabilities) {
182
+ export async function extractAndCrawlLinks(html, baseUrl, currentCrawled, maxDepth, vulnerabilities, failures) {
181
183
  let crawledUrls = currentCrawled;
182
184
  const maxCrawl = maxDepth * 5;
183
185
  const linkPattern = /href=["']([^"']+)["']/gi;
@@ -200,12 +202,14 @@ export async function extractAndCrawlLinks(html, baseUrl, currentCrawled, maxDep
200
202
  if (crawledUrls >= maxCrawl)
201
203
  break;
202
204
  const crawlUrl = new URL(path, baseUrl.origin).toString();
203
- const crawlResponse = await fetch(crawlUrl, {
205
+ const crawlResponse = await probe(crawlUrl, {
204
206
  method: 'GET',
205
207
  headers: { 'User-Agent': 'AgenticQE-DAST-Scanner/3.0' },
206
208
  signal: AbortSignal.timeout(5000),
207
209
  redirect: 'follow',
208
- });
210
+ }, failures);
211
+ if (!crawlResponse)
212
+ continue;
209
213
  crawledUrls++;
210
214
  if (crawlResponse.ok) {
211
215
  if (path.includes('password') || path.includes('token') || path.includes('api_key')) {
@@ -220,7 +224,7 @@ export async function extractAndCrawlLinks(html, baseUrl, currentCrawled, maxDep
220
224
  references: ['https://owasp.org/www-community/vulnerabilities/Information_exposure_through_query_strings_in_url'],
221
225
  });
222
226
  }
223
- const responseText = await crawlResponse.text();
227
+ const responseText = crawlResponse.text;
224
228
  if (responseText.includes('Index of /') || responseText.includes('Directory listing for')) {
225
229
  vulnerabilities.push({
226
230
  id: uuidv4(),
@@ -308,36 +312,6 @@ export function analyzeFormsForSecurityIssues(html, baseUrl, vulnerabilities) {
308
312
  // ============================================================================
309
313
  // Utility Functions
310
314
  // ============================================================================
311
- /**
312
- * Handle fetch errors and add appropriate vulnerabilities
313
- */
314
- export function handleFetchError(fetchError, targetUrl, vulnerabilities) {
315
- const errorMsg = toErrorMessage(fetchError);
316
- if (errorMsg.includes('CERT') || errorMsg.includes('SSL') || errorMsg.includes('TLS') || errorMsg.includes('certificate')) {
317
- vulnerabilities.push({
318
- id: uuidv4(),
319
- title: 'TLS Certificate Error',
320
- description: `SSL/TLS error: ${errorMsg}`,
321
- severity: 'high',
322
- category: 'security-misconfiguration',
323
- location: { file: targetUrl },
324
- remediation: { description: 'Fix TLS certificate configuration', estimatedEffort: 'moderate', automatable: false },
325
- references: ['https://owasp.org/www-project-web-security-testing-guide/'],
326
- });
327
- }
328
- else if (errorMsg.includes('timeout') || errorMsg.includes('abort')) {
329
- vulnerabilities.push({
330
- id: uuidv4(),
331
- title: 'Connection Timeout',
332
- description: `Target did not respond within timeout: ${errorMsg}`,
333
- severity: 'informational',
334
- category: 'security-misconfiguration',
335
- location: { file: targetUrl },
336
- remediation: { description: 'Verify target is accessible', estimatedEffort: 'trivial', automatable: false },
337
- references: [],
338
- });
339
- }
340
- }
341
315
  /**
342
316
  * Calculate scan summary from vulnerabilities
343
317
  */
@@ -359,12 +333,13 @@ export function calculateSummary(vulnerabilities, totalFiles, scanDurationMs) {
359
333
  /**
360
334
  * Store scan results in memory
361
335
  */
362
- export async function storeScanResults(memory, scanId, scanType, vulnerabilities, summary) {
336
+ export async function storeScanResults(memory, scanId, scanType, vulnerabilities, summary, completeness) {
363
337
  await memory.set(`security:scan:${scanId}`, {
364
338
  scanId,
365
339
  scanType,
366
340
  vulnerabilities,
367
341
  summary,
342
+ ...completeness,
368
343
  timestamp: new Date().toISOString(),
369
344
  }, { namespace: 'security-compliance', ttl: 86400 * 7 });
370
345
  }
@@ -2,19 +2,19 @@
2
2
  * Agentic QE v3 - DAST Injection Testing
3
3
  * XSS and SQL injection testing utilities
4
4
  */
5
- import type { Vulnerability } from './scanner-types.js';
5
+ import type { Vulnerability, DASTRequestFailure } from './scanner-types.js';
6
6
  /**
7
7
  * Test for XSS vulnerabilities
8
8
  */
9
9
  export declare function testXSS(targetUrl: string, parsedUrl: URL, paramName: string, payloads: Array<{
10
10
  payload: string;
11
11
  name: string;
12
- }>, vulnerabilities: Vulnerability[]): Promise<void>;
12
+ }>, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<void>;
13
13
  /**
14
14
  * Test for SQL injection vulnerabilities
15
15
  */
16
16
  export declare function testSQLi(targetUrl: string, parsedUrl: URL, paramName: string, payloads: Array<{
17
17
  payload: string;
18
18
  name: string;
19
- }>, vulnerabilities: Vulnerability[]): Promise<void>;
19
+ }>, vulnerabilities: Vulnerability[], failures?: DASTRequestFailure[]): Promise<void>;
20
20
  //# sourceMappingURL=dast-injection-testing.d.ts.map