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
@@ -3,7 +3,7 @@
3
3
  * Common types, interfaces, and patterns used across all scanner modules
4
4
  */
5
5
  import type { MemoryBackend } from '@kernel/interfaces.js';
6
- import type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, RemediationAdvice, ScanSummary, SecurityCoverage, ScanStatus, SASTResult, DASTResult, DASTOptions, AuthCredentials, RuleSet, FalsePositiveCheck, UncheckedDependency, LocalDependency } from '../../interfaces.js';
6
+ import type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, RemediationAdvice, ScanSummary, SecurityCoverage, ScanStatus, SASTResult, DASTResult, DASTRequestFailure, DASTOptions, AuthCredentials, RuleSet, FalsePositiveCheck, UncheckedDependency, LocalDependency } from '../../interfaces.js';
7
7
  import type { HybridRouter, ChatResponse } from '@shared/llm/index.js';
8
8
  /**
9
9
  * Combined security scanner configuration
@@ -117,5 +117,5 @@ export interface MutableScanSummary {
117
117
  totalFiles: number;
118
118
  scanDurationMs: number;
119
119
  }
120
- export type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, RemediationAdvice, ScanSummary, SecurityCoverage, ScanStatus, SASTResult, DASTResult, DASTOptions, AuthCredentials, RuleSet, FalsePositiveCheck, UncheckedDependency, LocalDependency, MemoryBackend, HybridRouter, ChatResponse, };
120
+ export type { Vulnerability, VulnerabilitySeverity, VulnerabilityCategory, VulnerabilityLocation, RemediationAdvice, ScanSummary, SecurityCoverage, ScanStatus, SASTResult, DASTResult, DASTRequestFailure, DASTOptions, AuthCredentials, RuleSet, FalsePositiveCheck, UncheckedDependency, LocalDependency, MemoryBackend, HybridRouter, ChatResponse, };
121
121
  //# sourceMappingURL=scanner-types.d.ts.map
@@ -4,49 +4,44 @@
4
4
  */
5
5
  import { LoggerFactory } from '../../../logging/index.js';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
- import { toErrorMessage } from '../../../shared/error-utils.js';
7
+ import { assertScannableResponse, dastRequestFailure, parseDastTarget, probe, summarizeFailures, } from './scanners/dast-requests.js';
8
8
  // ============================================================================
9
9
  // DAST Scanning
10
10
  // ============================================================================
11
11
  /**
12
12
  * Perform DAST scan using HTTP requests to test for vulnerabilities
13
13
  * Tests for common web vulnerabilities: XSS, SQL injection, security headers, etc.
14
+ *
15
+ * #1052: runAudit has no error channel for one phase, so a target that could
16
+ * not be scanned is a result with status 'failed' and the reason, never an
17
+ * empty result that reads as "no findings".
14
18
  */
15
19
  const logger = LoggerFactory.create('security-compliance/security-auditor-dast');
16
20
  export async function performDASTScan(targetUrl) {
17
21
  const scanId = uuidv4();
18
22
  const startTime = Date.now();
19
23
  const vulnerabilities = [];
24
+ const failedRequests = [];
20
25
  let crawledUrls = 0;
26
+ const finish = (failure) => ({
27
+ scanId,
28
+ targetUrl,
29
+ vulnerabilities: failure ? [] : vulnerabilities,
30
+ summary: summarize(failure ? [] : vulnerabilities, Date.now() - startTime),
31
+ crawledUrls,
32
+ status: failure ? 'failed' : failedRequests.length > 0 ? 'incomplete' : 'complete',
33
+ failedRequests,
34
+ ...(failure ? { error: `${failure.code ? `${failure.code}: ` : ''}${failure.message}` }
35
+ : failedRequests.length > 0 ? { error: summarizeFailures(failedRequests) } : {}),
36
+ });
21
37
  try {
22
- // Validate URL
23
- let parsedUrl;
24
- try {
25
- parsedUrl = new URL(targetUrl);
26
- }
27
- catch {
28
- return {
29
- scanId,
30
- targetUrl,
31
- vulnerabilities: [{
32
- id: uuidv4(),
33
- title: 'Invalid Target URL',
34
- description: 'The provided target URL is not valid',
35
- severity: 'informational',
36
- category: 'security-misconfiguration',
37
- location: { file: targetUrl },
38
- remediation: { description: 'Provide a valid URL', estimatedEffort: 'trivial', automatable: false },
39
- references: [],
40
- }],
41
- summary: { critical: 0, high: 0, medium: 0, low: 0, informational: 1, totalFiles: 0, scanDurationMs: Date.now() - startTime },
42
- crawledUrls: 0,
43
- };
44
- }
38
+ const parsedUrl = parseDastTarget(targetUrl);
45
39
  // Perform HTTP request to check security headers and response characteristics
46
40
  const controller = new AbortController();
47
41
  const timeoutId = setTimeout(() => controller.abort(), 30000); // 30s timeout
42
+ let response;
48
43
  try {
49
- const response = await fetch(targetUrl, {
44
+ response = await fetch(targetUrl, {
50
45
  method: 'GET',
51
46
  headers: {
52
47
  'User-Agent': 'AgenticQE-SecurityScanner/3.0',
@@ -55,198 +50,188 @@ export async function performDASTScan(targetUrl) {
55
50
  signal: controller.signal,
56
51
  redirect: 'follow',
57
52
  });
53
+ await response.body?.cancel().catch(() => undefined);
54
+ // The headers of a 401/403/407/408/429/5xx page are not the target's.
55
+ assertScannableResponse(response.status);
56
+ }
57
+ catch (fetchError) {
58
+ throw dastRequestFailure(fetchError);
59
+ }
60
+ finally {
58
61
  clearTimeout(timeoutId);
59
- crawledUrls = 1;
60
- // Check security headers
61
- const headers = response.headers;
62
- // Check for missing security headers
63
- const securityHeaderChecks = [
64
- {
65
- header: 'strict-transport-security',
66
- title: 'Missing HTTP Strict Transport Security (HSTS)',
67
- description: 'HSTS header is missing, allowing downgrade attacks',
68
- severity: 'medium',
69
- remediation: 'Add Strict-Transport-Security header with appropriate max-age',
70
- },
71
- {
72
- header: 'x-content-type-options',
73
- title: 'Missing X-Content-Type-Options Header',
74
- description: 'X-Content-Type-Options header is missing, allowing MIME sniffing attacks',
75
- severity: 'low',
76
- remediation: 'Add X-Content-Type-Options: nosniff header',
77
- },
78
- {
79
- header: 'x-frame-options',
80
- title: 'Missing X-Frame-Options Header',
81
- description: 'X-Frame-Options header is missing, allowing clickjacking attacks',
82
- severity: 'medium',
83
- remediation: 'Add X-Frame-Options: DENY or SAMEORIGIN header',
84
- },
85
- {
86
- header: 'content-security-policy',
87
- title: 'Missing Content Security Policy',
88
- description: 'CSP header is missing, increasing XSS attack surface',
89
- severity: 'medium',
90
- remediation: 'Implement a Content-Security-Policy header',
91
- },
92
- {
93
- header: 'x-xss-protection',
94
- title: 'Missing X-XSS-Protection Header',
95
- description: 'X-XSS-Protection header is missing (legacy XSS filter)',
96
- severity: 'low',
97
- remediation: 'Add X-XSS-Protection: 1; mode=block header',
98
- },
99
- ];
100
- for (const check of securityHeaderChecks) {
101
- if (!headers.get(check.header)) {
102
- vulnerabilities.push({
103
- id: uuidv4(),
104
- title: check.title,
105
- description: check.description,
106
- severity: check.severity,
107
- category: 'security-misconfiguration',
108
- location: {
109
- file: targetUrl,
110
- snippet: `Response Headers: ${check.header} not present`,
111
- },
112
- remediation: {
113
- description: check.remediation,
114
- estimatedEffort: 'minor',
115
- automatable: true,
116
- },
117
- references: [
118
- 'https://owasp.org/www-project-secure-headers/',
119
- ],
120
- });
121
- }
122
- }
123
- // Check for insecure cookies
124
- const cookies = headers.get('set-cookie');
125
- if (cookies) {
126
- if (!cookies.toLowerCase().includes('secure')) {
127
- vulnerabilities.push({
128
- id: uuidv4(),
129
- title: 'Cookie Without Secure Flag',
130
- description: 'Session cookie is set without the Secure flag',
131
- severity: 'medium',
132
- category: 'sensitive-data',
133
- location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
134
- remediation: { description: 'Add Secure flag to cookies', estimatedEffort: 'trivial', automatable: true },
135
- references: ['https://owasp.org/www-community/controls/SecureCookieAttribute'],
136
- });
137
- }
138
- if (!cookies.toLowerCase().includes('httponly')) {
139
- vulnerabilities.push({
140
- id: uuidv4(),
141
- title: 'Cookie Without HttpOnly Flag',
142
- description: 'Session cookie is set without the HttpOnly flag, making it accessible to JavaScript',
143
- severity: 'medium',
144
- category: 'sensitive-data',
145
- location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
146
- remediation: { description: 'Add HttpOnly flag to session cookies', estimatedEffort: 'trivial', automatable: true },
147
- references: ['https://owasp.org/www-community/HttpOnly'],
148
- });
149
- }
150
- if (!cookies.toLowerCase().includes('samesite')) {
151
- vulnerabilities.push({
152
- id: uuidv4(),
153
- title: 'Cookie Without SameSite Attribute',
154
- description: 'Cookie is set without the SameSite attribute, potentially vulnerable to CSRF',
155
- severity: 'low',
156
- category: 'broken-auth',
157
- location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
158
- remediation: { description: 'Add SameSite=Strict or SameSite=Lax to cookies', estimatedEffort: 'trivial', automatable: true },
159
- references: ['https://owasp.org/www-community/SameSite'],
160
- });
161
- }
162
- }
163
- // Check for server information disclosure
164
- const server = headers.get('server');
165
- if (server && /[0-9]+\.[0-9]+/.test(server)) {
62
+ }
63
+ crawledUrls = 1;
64
+ // Check security headers
65
+ const headers = response.headers;
66
+ // Check for missing security headers
67
+ const securityHeaderChecks = [
68
+ {
69
+ header: 'strict-transport-security',
70
+ title: 'Missing HTTP Strict Transport Security (HSTS)',
71
+ description: 'HSTS header is missing, allowing downgrade attacks',
72
+ severity: 'medium',
73
+ remediation: 'Add Strict-Transport-Security header with appropriate max-age',
74
+ },
75
+ {
76
+ header: 'x-content-type-options',
77
+ title: 'Missing X-Content-Type-Options Header',
78
+ description: 'X-Content-Type-Options header is missing, allowing MIME sniffing attacks',
79
+ severity: 'low',
80
+ remediation: 'Add X-Content-Type-Options: nosniff header',
81
+ },
82
+ {
83
+ header: 'x-frame-options',
84
+ title: 'Missing X-Frame-Options Header',
85
+ description: 'X-Frame-Options header is missing, allowing clickjacking attacks',
86
+ severity: 'medium',
87
+ remediation: 'Add X-Frame-Options: DENY or SAMEORIGIN header',
88
+ },
89
+ {
90
+ header: 'content-security-policy',
91
+ title: 'Missing Content Security Policy',
92
+ description: 'CSP header is missing, increasing XSS attack surface',
93
+ severity: 'medium',
94
+ remediation: 'Implement a Content-Security-Policy header',
95
+ },
96
+ {
97
+ header: 'x-xss-protection',
98
+ title: 'Missing X-XSS-Protection Header',
99
+ description: 'X-XSS-Protection header is missing (legacy XSS filter)',
100
+ severity: 'low',
101
+ remediation: 'Add X-XSS-Protection: 1; mode=block header',
102
+ },
103
+ ];
104
+ for (const check of securityHeaderChecks) {
105
+ if (!headers.get(check.header)) {
166
106
  vulnerabilities.push({
167
107
  id: uuidv4(),
168
- title: 'Server Version Disclosure',
169
- description: `Server header reveals version information: ${server}`,
170
- severity: 'low',
108
+ title: check.title,
109
+ description: check.description,
110
+ severity: check.severity,
171
111
  category: 'security-misconfiguration',
172
- location: { file: targetUrl, snippet: `Server: ${server}` },
173
- remediation: { description: 'Remove or obfuscate server version information', estimatedEffort: 'trivial', automatable: true },
174
- references: ['https://owasp.org/www-project-web-security-testing-guide/'],
112
+ location: {
113
+ file: targetUrl,
114
+ snippet: `Response Headers: ${check.header} not present`,
115
+ },
116
+ remediation: {
117
+ description: check.remediation,
118
+ estimatedEffort: 'minor',
119
+ automatable: true,
120
+ },
121
+ references: [
122
+ 'https://owasp.org/www-project-secure-headers/',
123
+ ],
175
124
  });
176
125
  }
177
- // Check for HTTPS
178
- if (parsedUrl.protocol === 'http:') {
126
+ }
127
+ // Check for insecure cookies
128
+ const cookies = headers.get('set-cookie');
129
+ if (cookies) {
130
+ if (!cookies.toLowerCase().includes('secure')) {
179
131
  vulnerabilities.push({
180
132
  id: uuidv4(),
181
- title: 'Insecure HTTP Protocol',
182
- description: 'Target is using HTTP instead of HTTPS, exposing data in transit',
183
- severity: 'high',
133
+ title: 'Cookie Without Secure Flag',
134
+ description: 'Session cookie is set without the Secure flag',
135
+ severity: 'medium',
184
136
  category: 'sensitive-data',
185
- location: { file: targetUrl },
186
- remediation: { description: 'Use HTTPS with valid TLS certificate', estimatedEffort: 'moderate', automatable: false },
187
- references: ['https://owasp.org/www-project-web-security-testing-guide/'],
137
+ location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
138
+ remediation: { description: 'Add Secure flag to cookies', estimatedEffort: 'trivial', automatable: true },
139
+ references: ['https://owasp.org/www-community/controls/SecureCookieAttribute'],
188
140
  });
189
141
  }
190
- // Try common test endpoints for additional checks
191
- const testEndpoints = [
192
- { path: '/.git/config', vuln: 'Git Repository Exposed', severity: 'high' },
193
- { path: '/.env', vuln: 'Environment File Exposed', severity: 'critical' },
194
- { path: '/phpinfo.php', vuln: 'PHP Info Exposed', severity: 'medium' },
195
- { path: '/wp-config.php.bak', vuln: 'WordPress Config Backup Exposed', severity: 'critical' },
196
- ];
197
- for (const endpoint of testEndpoints) {
198
- try {
199
- const testUrl = new URL(endpoint.path, parsedUrl.origin).toString();
200
- const testResponse = await fetch(testUrl, {
201
- method: 'GET',
202
- signal: AbortSignal.timeout(5000),
203
- });
204
- if (testResponse.ok && testResponse.status === 200) {
205
- const text = await testResponse.text();
206
- // Verify it's actually the sensitive content, not a custom 404
207
- if (text.length > 10 && !text.toLowerCase().includes('not found')) {
208
- crawledUrls++;
209
- vulnerabilities.push({
210
- id: uuidv4(),
211
- title: endpoint.vuln,
212
- description: `Sensitive file found at ${endpoint.path}`,
213
- severity: endpoint.severity,
214
- category: 'sensitive-data',
215
- location: { file: testUrl },
216
- remediation: { description: 'Remove or restrict access to sensitive files', estimatedEffort: 'trivial', automatable: true },
217
- references: ['https://owasp.org/www-project-web-security-testing-guide/'],
218
- });
219
- }
220
- }
221
- }
222
- catch {
223
- // Endpoint not accessible, which is expected/good
224
- }
142
+ if (!cookies.toLowerCase().includes('httponly')) {
143
+ vulnerabilities.push({
144
+ id: uuidv4(),
145
+ title: 'Cookie Without HttpOnly Flag',
146
+ description: 'Session cookie is set without the HttpOnly flag, making it accessible to JavaScript',
147
+ severity: 'medium',
148
+ category: 'sensitive-data',
149
+ location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
150
+ remediation: { description: 'Add HttpOnly flag to session cookies', estimatedEffort: 'trivial', automatable: true },
151
+ references: ['https://owasp.org/www-community/HttpOnly'],
152
+ });
225
153
  }
226
- }
227
- catch (fetchError) {
228
- clearTimeout(timeoutId);
229
- const errorMessage = toErrorMessage(fetchError);
230
- // Network errors might indicate issues
231
- if (errorMessage.includes('certificate') || errorMessage.includes('SSL') || errorMessage.includes('TLS')) {
154
+ if (!cookies.toLowerCase().includes('samesite')) {
232
155
  vulnerabilities.push({
233
156
  id: uuidv4(),
234
- title: 'TLS/SSL Certificate Issue',
235
- description: `Certificate error: ${errorMessage}`,
236
- severity: 'high',
237
- category: 'security-misconfiguration',
238
- location: { file: targetUrl },
239
- remediation: { description: 'Fix TLS certificate configuration', estimatedEffort: 'moderate', automatable: false },
240
- references: ['https://owasp.org/www-project-web-security-testing-guide/'],
157
+ title: 'Cookie Without SameSite Attribute',
158
+ description: 'Cookie is set without the SameSite attribute, potentially vulnerable to CSRF',
159
+ severity: 'low',
160
+ category: 'broken-auth',
161
+ location: { file: targetUrl, snippet: `Set-Cookie: ${cookies.substring(0, 50)}...` },
162
+ remediation: { description: 'Add SameSite=Strict or SameSite=Lax to cookies', estimatedEffort: 'trivial', automatable: true },
163
+ references: ['https://owasp.org/www-community/SameSite'],
241
164
  });
242
165
  }
243
166
  }
167
+ // Check for server information disclosure
168
+ const server = headers.get('server');
169
+ if (server && /[0-9]+\.[0-9]+/.test(server)) {
170
+ vulnerabilities.push({
171
+ id: uuidv4(),
172
+ title: 'Server Version Disclosure',
173
+ description: `Server header reveals version information: ${server}`,
174
+ severity: 'low',
175
+ category: 'security-misconfiguration',
176
+ location: { file: targetUrl, snippet: `Server: ${server}` },
177
+ remediation: { description: 'Remove or obfuscate server version information', estimatedEffort: 'trivial', automatable: true },
178
+ references: ['https://owasp.org/www-project-web-security-testing-guide/'],
179
+ });
180
+ }
181
+ // Check for HTTPS
182
+ if (parsedUrl.protocol === 'http:') {
183
+ vulnerabilities.push({
184
+ id: uuidv4(),
185
+ title: 'Insecure HTTP Protocol',
186
+ description: 'Target is using HTTP instead of HTTPS, exposing data in transit',
187
+ severity: 'high',
188
+ category: 'sensitive-data',
189
+ location: { file: targetUrl },
190
+ remediation: { description: 'Use HTTPS with valid TLS certificate', estimatedEffort: 'moderate', automatable: false },
191
+ references: ['https://owasp.org/www-project-web-security-testing-guide/'],
192
+ });
193
+ }
194
+ // Try common test endpoints for additional checks
195
+ const testEndpoints = [
196
+ { path: '/.git/config', vuln: 'Git Repository Exposed', severity: 'high' },
197
+ { path: '/.env', vuln: 'Environment File Exposed', severity: 'critical' },
198
+ { path: '/phpinfo.php', vuln: 'PHP Info Exposed', severity: 'medium' },
199
+ { path: '/wp-config.php.bak', vuln: 'WordPress Config Backup Exposed', severity: 'critical' },
200
+ ];
201
+ for (const endpoint of testEndpoints) {
202
+ // An unanswered probe is recorded, and leaves the scan incomplete.
203
+ const testUrl = new URL(endpoint.path, parsedUrl.origin).toString();
204
+ const testResponse = await probe(testUrl, {
205
+ method: 'GET',
206
+ signal: AbortSignal.timeout(5000),
207
+ }, failedRequests);
208
+ if (testResponse?.ok && testResponse.status === 200) {
209
+ const text = testResponse.text;
210
+ // Verify it's actually the sensitive content, not a custom 404
211
+ if (text.length > 10 && !text.toLowerCase().includes('not found')) {
212
+ crawledUrls++;
213
+ vulnerabilities.push({
214
+ id: uuidv4(),
215
+ title: endpoint.vuln,
216
+ description: `Sensitive file found at ${endpoint.path}`,
217
+ severity: endpoint.severity,
218
+ category: 'sensitive-data',
219
+ location: { file: testUrl },
220
+ remediation: { description: 'Remove or restrict access to sensitive files', estimatedEffort: 'trivial', automatable: true },
221
+ references: ['https://owasp.org/www-project-web-security-testing-guide/'],
222
+ });
223
+ }
224
+ }
225
+ }
244
226
  }
245
227
  catch (error) {
246
- logger.error('DAST scan failed:', error instanceof Error ? error : undefined);
228
+ // DAST_INVALID_TARGET, DAST_TLS_FAILED, DAST_RATE_LIMITED, ... or an analysis bug.
229
+ logger.warn(`DAST scan failed: ${error instanceof Error ? error.message : String(error)}`);
230
+ return finish(error instanceof Error ? error : new Error(String(error)));
247
231
  }
248
- const scanDurationMs = Date.now() - startTime;
249
- // Calculate summary
232
+ return finish();
233
+ }
234
+ function summarize(vulnerabilities, scanDurationMs) {
250
235
  let critical = 0, high = 0, medium = 0, low = 0, informational = 0;
251
236
  for (const vuln of vulnerabilities) {
252
237
  switch (vuln.severity) {
@@ -267,20 +252,6 @@ export async function performDASTScan(targetUrl) {
267
252
  break;
268
253
  }
269
254
  }
270
- return {
271
- scanId,
272
- targetUrl,
273
- vulnerabilities,
274
- summary: {
275
- critical,
276
- high,
277
- medium,
278
- low,
279
- informational,
280
- totalFiles: 1,
281
- scanDurationMs,
282
- },
283
- crawledUrls,
284
- };
255
+ return { critical, high, medium, low, informational, totalFiles: 1, scanDurationMs };
285
256
  }
286
257
  //# sourceMappingURL=security-auditor-dast.js.map
@@ -85,7 +85,11 @@ export function generateRecommendations(sast, dast, deps, secrets) {
85
85
  if (secrets && secrets.secretsFound.length > 0) {
86
86
  recommendations.push(`Remove ${secrets.secretsFound.length} exposed secrets and rotate credentials`);
87
87
  }
88
- if (recommendations.length === 0) {
88
+ // #1052: an incomplete or failed check cannot support a "posture is good" verdict.
89
+ const unmeasured = (dast !== undefined && dast.status !== 'complete') || (deps !== undefined && deps.status !== 'complete')
90
+ // #1221: so can an outdated-package check whose registry lookups failed.
91
+ || (deps !== undefined && (deps.outdatedStatus === 'incomplete' || deps.outdatedStatus === 'failed'));
92
+ if (recommendations.length === 0 && !unmeasured) {
89
93
  recommendations.push('Security posture is good. Continue regular scanning.');
90
94
  }
91
95
  return recommendations;
@@ -49,10 +49,18 @@ export declare class SecurityAuditorService implements ISecurityAuditorService {
49
49
  private mapToOSVEcosystem;
50
50
  private mapParsedVulnerability;
51
51
  private categorizeVulnerability;
52
- private checkOutdated;
52
+ /**
53
+ * Look up the latest version of each dependency (#1221). A failed lookup is
54
+ * listed in `outdatedUnchecked` with its reason, never counted as up to date.
55
+ */
56
+ private checkOutdatedPackages;
53
57
  private queryVulnerabilityDatabase;
54
- private getLatestVersion;
55
- private checkDeprecation;
58
+ /**
59
+ * Latest version and deprecation from the package registry (#1052). A failed
60
+ * lookup says why; it never reads as "not deprecated" or a version.
61
+ * `deprecated` is null when the registry does not report deprecation.
62
+ */
63
+ private lookupRegistry;
56
64
  private determineUpdateType;
57
65
  private hasBreakingChanges;
58
66
  private createDependencySummary;