agentic-qe 3.15.6 → 3.15.8
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.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +263 -0
- package/README.md +2 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +8 -6
- package/dist/cli/chunks/adapter-FC4EY447.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-SY7UCLBL.js → agent-booster-wasm-W3V5P7LE.js} +2 -2
- package/dist/cli/chunks/{agent-handler-KAMYBU3S.js → agent-handler-2NQFHAWE.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-2CAW3KUM.js → agent-memory-branch-457ECHHK.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-AUAL6UBL.js +2 -0
- package/dist/cli/chunks/{arena-QCCVIOAH.js → arena-IYBQ3GPY.js} +4 -4
- package/dist/cli/chunks/{arena-4OFLJ3R2.js → arena-JV3WSEHU.js} +2 -2
- package/dist/cli/chunks/{audit-RBDQJQJB.js → audit-5OS3T3K6.js} +3 -3
- package/dist/cli/chunks/base-2XML4WH7.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-5JRACCDQ.js → better-sqlite3-IQKBFVAO.js} +2 -2
- package/dist/cli/chunks/{brain-handler-W4QIIRT4.js → brain-handler-KA3SGAFM.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-IBNGI572.js → branch-enumerator-QZDU2VOQ.js} +2 -2
- package/dist/cli/chunks/{browser-GMSCVAOI.js → browser-ZL7OLKJQ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-2IFEUAAK.js +2 -0
- package/dist/cli/chunks/{chunk-6HWARQWV.js → chunk-22DOS3PM.js} +2 -2
- package/dist/cli/chunks/{chunk-VCONCVSY.js → chunk-2DPHFCMW.js} +2 -2
- package/dist/cli/chunks/{chunk-ALCIUWFC.js → chunk-2GSAAUW3.js} +1 -1
- package/dist/cli/chunks/{chunk-AX26QJ6T.js → chunk-2JCLACCS.js} +2 -2
- package/dist/cli/chunks/{chunk-7XTANLTN.js → chunk-2QRGIEQV.js} +1 -1
- package/dist/cli/chunks/{chunk-MP3FSUNB.js → chunk-2UN4JOTN.js} +2 -2
- package/dist/cli/chunks/{chunk-CR66HNAE.js → chunk-2ZRNXEVI.js} +1 -1
- package/dist/cli/chunks/{chunk-WKDWRRDT.js → chunk-3LFLO2WK.js} +2 -2
- package/dist/cli/chunks/{chunk-QLYO3H7E.js → chunk-3N627QRU.js} +2 -2
- package/dist/cli/chunks/{chunk-VVF337SV.js → chunk-4C3RYBTT.js} +2 -2
- package/dist/cli/chunks/{chunk-MQCTLTGE.js → chunk-4C7KE2EL.js} +2 -2
- package/dist/cli/chunks/{chunk-AUN4FG7V.js → chunk-4GUVVGJX.js} +1 -1
- package/dist/cli/chunks/{chunk-ZOUEQ6DL.js → chunk-4GYFONJB.js} +1 -1
- package/dist/cli/chunks/{chunk-24ZSGYC6.js → chunk-4I35ARWW.js} +1 -1
- package/dist/cli/chunks/{chunk-6MXAJBEA.js → chunk-4NTLGGXO.js} +1 -1
- package/dist/cli/chunks/{chunk-EF5UHDCG.js → chunk-4TZLZRZ4.js} +1 -1
- package/dist/cli/chunks/{chunk-RD5BYLN7.js → chunk-4YUBWU3E.js} +1 -1
- package/dist/cli/chunks/{chunk-7TVIX4WL.js → chunk-52YRSWPS.js} +2 -2
- package/dist/cli/chunks/{chunk-LAY7NCQK.js → chunk-5DZDLOY6.js} +3 -3
- package/dist/cli/chunks/{chunk-34MDMFET.js → chunk-5MBNRTT5.js} +2 -2
- package/dist/cli/chunks/{chunk-VAYZ5QIE.js → chunk-5ONJ7AV6.js} +1 -1
- package/dist/cli/chunks/{chunk-RV6HSMKJ.js → chunk-5YOO5QSE.js} +1 -1
- package/dist/cli/chunks/{chunk-BUTGIVKW.js → chunk-62T7U25U.js} +1 -1
- package/dist/cli/chunks/{chunk-66NW3ZB4.js → chunk-6CKTLVYV.js} +2 -2
- package/dist/cli/chunks/{chunk-TUDENMAE.js → chunk-6E7EOHMN.js} +2 -2
- package/dist/cli/chunks/{chunk-GVRFSXY6.js → chunk-6GIC2263.js} +2 -2
- package/dist/cli/chunks/{chunk-KIDOBLUO.js → chunk-767SR7WH.js} +2 -2
- package/dist/cli/chunks/{chunk-NBUXM5X6.js → chunk-7C6FMLQR.js} +2 -2
- package/dist/cli/chunks/{chunk-4POOJYXA.js → chunk-7CVMT64N.js} +1 -1
- package/dist/cli/chunks/{chunk-R363XXGH.js → chunk-7DHSHD5B.js} +2 -2
- package/dist/cli/chunks/{chunk-IEPWO4XP.js → chunk-7H3GNRNA.js} +2 -2
- package/dist/cli/chunks/{chunk-DQNUPEY5.js → chunk-7SLEUVPZ.js} +2 -2
- package/dist/cli/chunks/{chunk-YNG7E26C.js → chunk-7XGM7Q2N.js} +2 -2
- package/dist/cli/chunks/{chunk-5MT7DMD7.js → chunk-A2UGPKCS.js} +2 -2
- package/dist/cli/chunks/{chunk-2CIDFR2H.js → chunk-A6GCO6ZU.js} +2 -2
- package/dist/cli/chunks/{chunk-XFPQIWEH.js → chunk-BEVWCF3Q.js} +3 -3
- package/dist/cli/chunks/{chunk-LCCTJ2PC.js → chunk-BLZEOGQE.js} +2 -2
- package/dist/cli/chunks/{chunk-6R3FBFCJ.js → chunk-BQUIZ5QT.js} +2 -2
- package/dist/cli/chunks/{chunk-ZUTFHGEO.js → chunk-BTMEOZYY.js} +1 -1
- package/dist/cli/chunks/{chunk-FU7LNUD7.js → chunk-CDLG3Q2O.js} +2 -2
- package/dist/cli/chunks/{chunk-NYS2GUNO.js → chunk-CQ3SBRDP.js} +2 -2
- package/dist/cli/chunks/chunk-CQ5G64EA.js +3 -0
- package/dist/cli/chunks/{chunk-JCE76MPP.js → chunk-CRUQ6RXU.js} +2 -2
- package/dist/cli/chunks/{chunk-XBFQJZWX.js → chunk-D4IBIMWI.js} +2 -2
- package/dist/cli/chunks/{chunk-LZWJ5BMP.js → chunk-D4O3TJI7.js} +2 -2
- package/dist/cli/chunks/{chunk-AUOSHM63.js → chunk-DAFMHM64.js} +2 -2
- package/dist/cli/chunks/{chunk-V3OLS2NG.js → chunk-DCYUHCPK.js} +2 -2
- package/dist/cli/chunks/{chunk-F7A2UBZO.js → chunk-DKFSCJEF.js} +2 -2
- package/dist/cli/chunks/{chunk-5LST62QR.js → chunk-DN3AKAPY.js} +2 -2
- package/dist/cli/chunks/{chunk-OQ4S6B7P.js → chunk-DY37YMMQ.js} +1 -1
- package/dist/cli/chunks/{chunk-XQ53PZEF.js → chunk-EUVSSIGR.js} +3 -3
- package/dist/cli/chunks/{chunk-6WOZUSSN.js → chunk-FAYXES7R.js} +2 -2
- package/dist/cli/chunks/{chunk-GNYOHZVV.js → chunk-FEN2DHFM.js} +1 -1
- package/dist/cli/chunks/{chunk-BAYGQRNP.js → chunk-FEPFXXI7.js} +2 -2
- package/dist/cli/chunks/{chunk-DLSFT6PO.js → chunk-FJAO4UX2.js} +2 -2
- package/dist/cli/chunks/{chunk-22OZIJAD.js → chunk-FWXNFPLS.js} +2 -2
- package/dist/cli/chunks/{chunk-X33F7NXH.js → chunk-G6CLO74Q.js} +3 -3
- package/dist/cli/chunks/{chunk-HAN4MS5T.js → chunk-G77Q22EN.js} +2 -2
- package/dist/cli/chunks/{chunk-5DH5QI7G.js → chunk-GENNJRNK.js} +3 -3
- package/dist/cli/chunks/{chunk-LMAEMVPA.js → chunk-GGSTLKY5.js} +1 -1
- package/dist/cli/chunks/{chunk-EJ4KZFZN.js → chunk-GSOK4M6V.js} +1 -1
- package/dist/cli/chunks/{chunk-DA7DGDTI.js → chunk-HI6OBDDY.js} +2 -2
- package/dist/cli/chunks/{chunk-XZ46CI35.js → chunk-HNGNRIZZ.js} +2 -2
- package/dist/cli/chunks/{chunk-CLAMMGY3.js → chunk-HXCGV5UJ.js} +2 -2
- package/dist/cli/chunks/{chunk-5UPIL62W.js → chunk-I4U7YCXG.js} +3 -3
- package/dist/cli/chunks/{chunk-RFDFET3O.js → chunk-I77D65X5.js} +2 -2
- package/dist/cli/chunks/{chunk-HEGGV2PT.js → chunk-IJSFZO7P.js} +2 -2
- package/dist/cli/chunks/{chunk-GWM4M5NF.js → chunk-IMSRWNWF.js} +1 -1
- package/dist/cli/chunks/{chunk-B7RHBKHL.js → chunk-J6LL25QJ.js} +2 -2
- package/dist/cli/chunks/{chunk-KYVIOC3C.js → chunk-J7FLNP5L.js} +2 -2
- package/dist/cli/chunks/{chunk-YLNYPQDR.js → chunk-J7RCI25Q.js} +1 -1
- package/dist/cli/chunks/{chunk-72MQCZSM.js → chunk-JFWQFB3S.js} +2 -2
- package/dist/cli/chunks/{chunk-SV5BUYHH.js → chunk-JLTGO5BB.js} +2 -2
- package/dist/cli/chunks/{chunk-CCL436IU.js → chunk-JWPYMRIX.js} +14 -6
- package/dist/cli/chunks/{chunk-ONPPBLRB.js → chunk-K4N2MBCE.js} +2 -2
- package/dist/cli/chunks/{chunk-7SAMMQVS.js → chunk-K5R3WUJP.js} +1 -1
- package/dist/cli/chunks/{chunk-GI5HWS4H.js → chunk-KITKQUBX.js} +1 -1
- package/dist/cli/chunks/{chunk-7TJZDRDU.js → chunk-KJNUETCB.js} +1 -1
- package/dist/cli/chunks/{chunk-JYKQVYX2.js → chunk-KMVFBYJO.js} +2 -2
- package/dist/cli/chunks/{chunk-ZSBD4FUX.js → chunk-KMZW2P3R.js} +2 -2
- package/dist/cli/chunks/{chunk-PEMSXSP2.js → chunk-KNHLOANK.js} +2 -2
- package/dist/cli/chunks/{chunk-47Q7JL3V.js → chunk-KNQUHGNY.js} +2 -2
- package/dist/cli/chunks/{chunk-A7ANPS4E.js → chunk-KVMKYUOE.js} +2 -2
- package/dist/cli/chunks/{chunk-XBEI2JBA.js → chunk-LHRVSK44.js} +2 -2
- package/dist/cli/chunks/{chunk-AJT3XDRD.js → chunk-LPSMVBB3.js} +2 -2
- package/dist/cli/chunks/{chunk-ORBODZSO.js → chunk-LVHZK7GW.js} +2 -2
- package/dist/cli/chunks/{chunk-ZTB32K5N.js → chunk-LZWBUVCK.js} +3 -3
- package/dist/cli/chunks/{chunk-OPDZBRIL.js → chunk-MMY52Y6R.js} +2 -2
- package/dist/cli/chunks/{chunk-MQTA6KIO.js → chunk-MUDBF2JC.js} +1 -1
- package/dist/cli/chunks/{chunk-GFB6BZWU.js → chunk-MV4S3TEC.js} +2 -2
- package/dist/cli/chunks/{chunk-UB6DQGWM.js → chunk-NF63NHJH.js} +2 -2
- package/dist/cli/chunks/{chunk-D5N2O5EH.js → chunk-NHOMVBCI.js} +2 -2
- package/dist/cli/chunks/{chunk-3NJ7O3OH.js → chunk-NLYUC63R.js} +2 -2
- package/dist/cli/chunks/{chunk-4CLDYT36.js → chunk-NQDYOF35.js} +2 -2
- package/dist/cli/chunks/{chunk-ORFL3YXB.js → chunk-NW7HTOSN.js} +2 -2
- package/dist/cli/chunks/{chunk-FQ5N666N.js → chunk-NWFBF3KT.js} +1 -1
- package/dist/cli/chunks/{chunk-P7DXVL2S.js → chunk-NZATJ2C6.js} +2 -2
- package/dist/cli/chunks/{chunk-HOEWMEF2.js → chunk-O4RRVTXN.js} +2 -2
- package/dist/cli/chunks/{chunk-4KOVHQXK.js → chunk-OCLAMZJG.js} +2 -2
- package/dist/cli/chunks/{chunk-TLUIO37P.js → chunk-OJWEZYLR.js} +2 -2
- package/dist/cli/chunks/{chunk-A74J23QB.js → chunk-OWBFVAEH.js} +2 -2
- package/dist/cli/chunks/{chunk-6T6AHVLF.js → chunk-P2EA62YS.js} +1 -1
- package/dist/cli/chunks/{chunk-TL5GV3PR.js → chunk-P4UT4LBE.js} +3 -3
- package/dist/cli/chunks/{chunk-IVJIHZSM.js → chunk-PICEGWGB.js} +1 -1
- package/dist/cli/chunks/{chunk-ITIJ23K2.js → chunk-PIEKGKW6.js} +2 -2
- package/dist/cli/chunks/{chunk-2ZTWPMTK.js → chunk-PJGQ2TKN.js} +2 -2
- package/dist/cli/chunks/{chunk-KCB6P463.js → chunk-PPIM7B5G.js} +2 -2
- package/dist/cli/chunks/{chunk-L2TDHJR3.js → chunk-PUYQ6EKC.js} +2 -2
- package/dist/cli/chunks/{chunk-2IWPJUVV.js → chunk-PWA6XBW4.js} +8 -8
- package/dist/cli/chunks/{chunk-XPB5BVU6.js → chunk-PZ7FJ4UG.js} +2 -2
- package/dist/cli/chunks/{chunk-SOSJWM3E.js → chunk-QFYUZYRA.js} +4 -4
- package/dist/cli/chunks/{chunk-RUTO67PT.js → chunk-R2NHGESM.js} +2 -2
- package/dist/cli/chunks/{chunk-K55EAWZ5.js → chunk-RG42LDOB.js} +2 -2
- package/dist/cli/chunks/{chunk-JAPBSSFY.js → chunk-RSMPJWQH.js} +1 -1
- package/dist/cli/chunks/{chunk-46HBVDMU.js → chunk-SFPGLUXS.js} +1 -1
- package/dist/cli/chunks/{chunk-TVLOED6O.js → chunk-SHEVM5PF.js} +2 -2
- package/dist/cli/chunks/{chunk-6RDVY26I.js → chunk-SJMZZMHP.js} +2 -2
- package/dist/cli/chunks/{chunk-3DJNKNBR.js → chunk-ST7ASEJO.js} +57 -57
- package/dist/cli/chunks/{chunk-QS5KZYUZ.js → chunk-SWY6KGMF.js} +2 -2
- package/dist/cli/chunks/{chunk-UHHMAKPE.js → chunk-T2TDTBFV.js} +1 -1
- package/dist/cli/chunks/{chunk-5HAPS6VD.js → chunk-TC52M542.js} +2 -2
- package/dist/cli/chunks/chunk-TMNEK7TP.js +2 -0
- package/dist/cli/chunks/{chunk-ELI4GDQO.js → chunk-U3BWBP6B.js} +2 -2
- package/dist/cli/chunks/{chunk-CZBIREL5.js → chunk-U7CIY3YR.js} +2 -2
- package/dist/cli/chunks/{chunk-X2DR27AY.js → chunk-UDCYQLTD.js} +2 -2
- package/dist/cli/chunks/{chunk-CEXNW5TR.js → chunk-UKKFZJME.js} +1 -1
- package/dist/cli/chunks/{chunk-5NC7QEJ6.js → chunk-UQLAN5TX.js} +4 -4
- package/dist/cli/chunks/{chunk-BIXRTOH3.js → chunk-UTFMMZ57.js} +3 -3
- package/dist/cli/chunks/{chunk-YXU35GGD.js → chunk-UTNKMPTC.js} +1 -1
- package/dist/cli/chunks/{chunk-HZFK2Z2Z.js → chunk-V4QJ3MMT.js} +1 -1
- package/dist/cli/chunks/{chunk-LJCEDTUM.js → chunk-V7VZSNDK.js} +3 -3
- package/dist/cli/chunks/{chunk-RLB7K7QP.js → chunk-VKFVJCIH.js} +1 -1
- package/dist/cli/chunks/{chunk-5GIJU2ZY.js → chunk-VQRBBR27.js} +2 -2
- package/dist/cli/chunks/{chunk-Q2RBOC7V.js → chunk-VVK4ECVJ.js} +2 -2
- package/dist/cli/chunks/{chunk-624QRKQX.js → chunk-VWRNG3UK.js} +1 -1
- package/dist/cli/chunks/{chunk-F3KS3TAB.js → chunk-VWSGWYRB.js} +2 -2
- package/dist/cli/chunks/{chunk-I7WAW7TM.js → chunk-W5A36V3Z.js} +2 -2
- package/dist/cli/chunks/chunk-WAWKAYPY.js +2 -0
- package/dist/cli/chunks/{chunk-NMY4KTWA.js → chunk-WLXGUQOZ.js} +2 -2
- package/dist/cli/chunks/{chunk-7VTKR44N.js → chunk-X3HM7SV4.js} +2 -2
- package/dist/cli/chunks/chunk-X6VYQVUM.js +2 -0
- package/dist/cli/chunks/{chunk-ZL5LJT7D.js → chunk-X7ZQIFES.js} +2 -2
- package/dist/cli/chunks/{chunk-5VUIXDY2.js → chunk-XOOBLZXR.js} +2 -2
- package/dist/cli/chunks/{chunk-L4D3TPFP.js → chunk-XZQVC3GD.js} +1 -1
- package/dist/cli/chunks/{chunk-BO7UFNYV.js → chunk-Y5ZBF7MA.js} +2 -2
- package/dist/cli/chunks/{chunk-ULCHPPW2.js → chunk-YNQPHRUZ.js} +1 -1
- package/dist/cli/chunks/{chunk-ZCP4P6O2.js → chunk-YRH7KMTU.js} +2 -2
- package/dist/cli/chunks/{chunk-QLKUCMZC.js → chunk-YTYS2XSY.js} +1 -1
- package/dist/cli/chunks/{chunk-JPJEAK4G.js → chunk-YUP3APSN.js} +1 -1
- package/dist/cli/chunks/{chunk-BXATKI5S.js → chunk-YVWMJZ6O.js} +2 -2
- package/dist/cli/chunks/{chunk-PS6WFCA4.js → chunk-Z3LDUPLQ.js} +2 -2
- package/dist/cli/chunks/{chunk-FOJRPEIP.js → chunk-ZBI7PJFX.js} +2 -2
- package/dist/cli/chunks/{chunk-NHRF3V4B.js → chunk-ZG7UKWBB.js} +2 -2
- package/dist/cli/chunks/{chunk-7XUB7U6Z.js → chunk-ZOHS32SI.js} +2 -2
- package/dist/cli/chunks/{chunk-RHIQ6QO5.js → chunk-ZOVAZTXE.js} +430 -430
- package/dist/cli/chunks/{chunk-7QVPMH25.js → chunk-ZWMFKZEQ.js} +2 -2
- package/dist/cli/chunks/{ci-GEJCXMBK.js → ci-7NUCRGWO.js} +2 -2
- package/dist/cli/chunks/{ci-config-2ZVV4OXL.js → ci-config-VQVECCFI.js} +2 -2
- package/dist/cli/chunks/{ci-output-E45OGVPR.js → ci-output-P7GQ6TKF.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-X73ITYZC.js → circuit-breaker-5YP6N6HE.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W4PPH46C.js → claude-flow-setup-W5H7CMU6.js} +2 -2
- package/dist/cli/chunks/client-RFUSQRUZ.js +2 -0
- package/dist/cli/chunks/{cline-installer-NUEPMWDE.js → cline-installer-OYANSZ54.js} +2 -2
- package/dist/cli/chunks/{code-6WQHBS7G.js → code-OMT4UEZI.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-BXQIFIFT.js → code-index-extractor-M2JEWKNF.js} +2 -2
- package/dist/cli/chunks/{codex-installer-Z337R2KH.js → codex-installer-YBS6N5O3.js} +2 -2
- package/dist/cli/chunks/{completions-F5DMYFHV.js → completions-U7GS5RG6.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-W2SYPZDI.js → complexity-analyzer-QSXPIUIU.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-ZCHUIFTN.js → continuedev-installer-W5TTT743.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-M5JNODXF.js → copilot-installer-KC2RT24C.js} +2 -2
- package/dist/cli/chunks/core-handlers-ZC7QB432.js +2 -0
- package/dist/cli/chunks/{cost-tracker-LSYTHBHV.js → cost-tracker-OQPVR6V4.js} +2 -2
- package/dist/cli/chunks/{coverage-PGMRS5SS.js → coverage-TCO2A2NX.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-GRBK7YFZ.js +2 -0
- package/dist/cli/chunks/{cursor-installer-XPUA73UW.js → cursor-installer-MH7GWD4L.js} +2 -2
- package/dist/cli/chunks/daemon-JER6HE2J.js +12 -0
- package/dist/cli/chunks/{daemon-ITKDIYMW.js → daemon-UJEARJZ2.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-T55AXLD6.js → dag-attention-scheduler-F3SUJU5O.js} +2 -2
- package/dist/cli/chunks/{detect-DR7J6K4O.js → detect-5QTCRB32.js} +2 -2
- package/dist/cli/chunks/{dist-node-LAJJBOUT.js → dist-node-XKZPHDBO.js} +2 -2
- package/dist/cli/chunks/{domain-handler-OMSHCRMK.js → domain-handler-V3UEADKW.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-EQXSKC5K.js → domain-plugins-7PES4UHZ.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-FKRAGVSW.js → domain-transfer-NF7UJW7B.js} +2 -2
- package/dist/cli/chunks/dream-VALD726W.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-JZFPCNL3.js → embed-and-insert-pattern-D2HWORHF.js} +2 -2
- package/dist/cli/chunks/{eval-JSNNASBW.js → eval-UF2UBAUC.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-UPD3IZBK.js → experience-capture-middleware-2OUCEHHM.js} +3 -3
- package/dist/cli/chunks/{fast-paths-YNMIBS2E.js → fast-paths-KV5DKKHC.js} +2 -2
- package/dist/cli/chunks/{feature-flags-SRLXDKBI.js → feature-flags-6YWMTNO5.js} +2 -2
- package/dist/cli/chunks/{feature-flags-VIR7O4L7.js → feature-flags-MTW6NMR3.js} +2 -2
- package/dist/cli/chunks/file-discovery-VL73ASNI.js +2 -0
- package/dist/cli/chunks/{fleet-K2ED46EL.js → fleet-GJ66QFXK.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-QCU4ZRYW.js → gnn-wrapper-52V6ANOY.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-YYQI4WZM.js → heartbeat-handler-X7NHNRC7.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-FSX7A3ZA.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-UX2QT6RL.js +2 -0
- package/dist/cli/chunks/hnsw-index-WRDDAMXH.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-C5TJSWTZ.js → hnsw-legacy-bridge-DZBE3KMK.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-SE3MJJYS.js → hnswlib-node-2AWWUJAZ.js} +2 -2
- package/dist/cli/chunks/{hooks-C572SRDH.js → hooks-XLPVROL3.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-O67NGIB5.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-35A6G3M5.js → hypergraph-engine-6TI7YP6P.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-U2756CWI.js → hypergraph-handler-DBIBBOXS.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-6VXWWYWM.js +2 -0
- package/dist/cli/chunks/init-guard-OSO6MIDD.js +2 -0
- package/dist/cli/chunks/init-handler-7S7IHMUF.js +88 -0
- package/dist/cli/chunks/init-wizard-VH34J4TL.js +2 -0
- package/dist/cli/chunks/kernel-KJD24NO7.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-32PX5YH7.js → kilocode-installer-2KBRFXMA.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-C4ROMMUS.js → kiro-installer-5VFR4OQZ.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-343O2HEZ.js +2 -0
- package/dist/cli/chunks/{learning-GEPVZGJQ.js → learning-G5NHL3DV.js} +20 -20
- package/dist/cli/chunks/{llm-router-XRKTTJTX.js → llm-router-4EAPPMHS.js} +4 -4
- package/dist/cli/chunks/llm-router-service-2M4BT2AO.js +2 -0
- package/dist/cli/chunks/{load-XVH6HW7E.js → load-UYMZPEY6.js} +2 -2
- package/dist/cli/chunks/load-test-OTQ2JQ5F.js +2 -0
- package/dist/cli/chunks/{mcp-IULSTM4Z.js → mcp-NOTDZBW5.js} +2 -2
- package/dist/cli/chunks/{memory-6K7IAU4T.js → memory-QL53YIHP.js} +5 -5
- package/dist/cli/chunks/memory-backend-4QSNRRV6.js +2 -0
- package/dist/cli/chunks/{memory-handlers-CG6DRLAW.js → memory-handlers-YFFYRSM6.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-VZDUYPLX.js → multi-model-executor-PDDDXF2B.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-QUTXKNH4.js → opencode-installer-75D2SKOT.js} +2 -2
- package/dist/cli/chunks/{orchestrator-PCKKUWOP.js → orchestrator-3WIZBV4T.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-5USH5MNR.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-PX5HQVRL.js → pattern-usage-recorder-TEX2JGHA.js} +2 -2
- package/dist/cli/chunks/{pipeline-O562GTOG.js → pipeline-7ATPA6LU.js} +2 -2
- package/dist/cli/chunks/{platform-PM7Q2AZS.js → platform-WPSKRJE7.js} +2 -2
- package/dist/cli/chunks/{plugin-OTYTFGPY.js → plugin-UUFOVVMU.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-6CFXTHC2.js → prime-radiant-advanced-wasm-PDFSYWKZ.js} +2 -2
- package/dist/cli/chunks/project-root-SRTA6TBL.js +2 -0
- package/dist/cli/chunks/protocol-executor-4WYPCNBS.js +2 -0
- package/dist/cli/chunks/{protocol-handler-PPGNSAOS.js → protocol-handler-3VRYRIQB.js} +2 -2
- package/dist/cli/chunks/{prove-WQ3BKRZG.js → prove-2NAUROGF.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-I4D6SFS4.js +2 -0
- package/dist/cli/chunks/{quality-C5WUU3AA.js → quality-ZIEI2WGA.js} +2 -2
- package/dist/cli/chunks/{quality-gate-WSSRKD5U.js → quality-gate-KWJO4SWQ.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-24UMTZTE.js +2 -0
- package/dist/cli/chunks/{real-embeddings-CFQE7IRQ.js → real-embeddings-TSZ4UIAE.js} +2 -2
- package/dist/cli/chunks/{ref-validation-DHKHXVZT.js → ref-validation-DWFFRETJ.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-3PPODABV.js → roocode-installer-XTZHLUBO.js} +2 -2
- package/dist/cli/chunks/router-AUD4GATI.js +2 -0
- package/dist/cli/chunks/routing-feedback-2FE6SIKQ.js +2 -0
- package/dist/cli/chunks/{routing-handler-JNXTGT6T.js → routing-handler-GG525TDM.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-6YLROPVP.js → ruvector-commands-QKRJDM7Z.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-P5LEUF25.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-ZCYD5YJS.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-4DWB4WRK.js → rvf-migration-coordinator-FF52OS6Q.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-QGV6BW2W.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-YKR2ZNBF.js → rvf-store-integrity-M6DXTAZ4.js} +2 -2
- package/dist/cli/chunks/safe-db-Q6JUKG2A.js +2 -0
- package/dist/cli/chunks/schedule-44OSMGE5.js +2 -0
- package/dist/cli/chunks/scheduler-V3HO2QQT.js +2 -0
- package/dist/cli/chunks/security-EHXSW22U.js +18 -0
- package/dist/cli/chunks/{shared-rvf-adapter-LNRLFP5I.js → shared-rvf-adapter-6EH7UVJL.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-GWU6YQNS.js → shared-rvf-dual-writer-WML274E7.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-N5T7DWMR.js +2 -0
- package/dist/cli/chunks/{standalone-memory-46KKBSSV.js → standalone-memory-C7QKAXS4.js} +2 -2
- package/dist/cli/chunks/{status-handler-35T5FTDQ.js → status-handler-VLI7MRLM.js} +2 -2
- package/dist/cli/chunks/{structural-health-P7QPQWLO.js → structural-health-3LPG6MQN.js} +2 -2
- package/dist/cli/chunks/{sync-Y43EWBSY.js → sync-4IMMQEPT.js} +2 -2
- package/dist/cli/chunks/{sync-W6Z4R4PL.js → sync-JFJEJBVK.js} +2 -2
- package/dist/cli/chunks/{task-handler-5CX3ZYT7.js → task-handler-IED3K6E4.js} +2 -2
- package/dist/cli/chunks/{task-handlers-DQZGOJNE.js → task-handlers-FH6DNTHW.js} +3 -3
- package/dist/cli/chunks/{test-TPP53VVV.js → test-GPKT3CKZ.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-WBV4UMQH.js → test-scheduling-Z42XXZP6.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-GIIDXHLC.js → token-bootstrap-HMM3AHXM.js} +2 -2
- package/dist/cli/chunks/{token-usage-AKK37RB7.js → token-usage-6Y2ERYIY.js} +2 -2
- package/dist/cli/chunks/{transformers-7MASPELS.js → transformers-MB63T2XO.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-YZKD6UGB.js → tree-sitter-wasm-parser-56GDQCMR.js} +2 -2
- package/dist/cli/chunks/{types-AZ3BTXDP.js → types-J4J6QV3I.js} +2 -2
- package/dist/cli/chunks/unified-memory-RQ3Q4CU3.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-ZOP5FEYX.js +2 -0
- package/dist/cli/chunks/unified-persistence-72OCJJKK.js +2 -0
- package/dist/cli/chunks/{upgrade-L7OTDKEK.js → upgrade-U4XU7LFM.js} +2 -2
- package/dist/cli/chunks/{validate-O3QVFIGP.js → validate-B57HA4YK.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-2UGBGLTX.js → validate-swarm-UPPA4M6T.js} +2 -2
- package/dist/cli/chunks/visual-security-7F5UV23J.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-J75IYPRO.js → web-tree-sitter-GDZMUKOZ.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-FQ5DBFCG.js → windsurf-installer-VJRWCHXP.js} +2 -2
- package/dist/cli/chunks/witness-chain-KZ57QUFE.js +2 -0
- package/dist/cli/chunks/{witness-chain-I7TN4MXZ.js → witness-chain-LFASSMZK.js} +2 -2
- package/dist/cli/chunks/{witness-chain-repair-D3NE3NQK.js → witness-chain-repair-TPHN4DXN.js} +2 -2
- package/dist/cli/chunks/{witness-chain-verifier-RU2WOP5M.js → witness-chain-verifier-Z23FVABW.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-IHQB2FR5.js → witness-key-manager-745MJ7WO.js} +2 -2
- package/dist/cli/chunks/{workflow-6BWTNVV6.js → workflow-T245QNQM.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-ZNWEUYBN.js +2 -0
- package/dist/cli/chunks/{wrappers-URVP25VU.js → wrappers-WCAYIQUX.js} +2 -2
- package/dist/cli/commands/learning.js +3 -2
- package/dist/cli/commands/security.d.ts +16 -0
- package/dist/cli/commands/security.js +76 -9
- package/dist/cli/handlers/init-guard.d.ts +21 -1
- package/dist/cli/handlers/init-guard.js +51 -8
- package/dist/cli/handlers/init-handler.js +57 -56
- package/dist/cli/index.js +11 -0
- package/dist/cli/utils/ci-output.d.ts +5 -0
- package/dist/cli/utils/ci-output.js +8 -0
- package/dist/coordination/handlers/security-handlers.js +22 -6
- package/dist/coordination/protocols/defect-investigation.js +7 -1
- package/dist/coordination/protocols/learning-consolidation.js +6 -12
- package/dist/coordination/protocols/security-audit.js +11 -0
- package/dist/coordination/result-saver.d.ts +9 -0
- package/dist/coordination/result-saver.js +34 -4
- package/dist/domains/coverage-analysis/collected-metrics.d.ts +2 -0
- package/dist/domains/coverage-analysis/collected-metrics.js +8 -1
- package/dist/domains/defect-intelligence/services/defect-predictor.js +9 -6
- package/dist/domains/learning-optimization/active-patterns.d.ts +55 -0
- package/dist/domains/learning-optimization/active-patterns.js +77 -0
- package/dist/domains/learning-optimization/coordinator.js +12 -9
- package/dist/domains/learning-optimization/services/learning-coordinator.js +15 -17
- package/dist/domains/quality-assessment/interfaces.d.ts +4 -0
- package/dist/domains/quality-assessment/quality-evidence.d.ts +1 -1
- package/dist/domains/quality-assessment/services/quality-analyzer.js +7 -5
- package/dist/domains/quality-assessment/services/quality-gate.js +12 -3
- package/dist/domains/security-compliance/dependency-advisory-engine.d.ts +52 -0
- package/dist/domains/security-compliance/dependency-advisory-engine.js +113 -0
- package/dist/domains/security-compliance/interfaces.d.ts +30 -0
- package/dist/domains/security-compliance/plugin.d.ts +7 -1
- package/dist/domains/security-compliance/plugin.js +19 -0
- package/dist/domains/security-compliance/services/scanners/dependency-resolver.d.ts +71 -0
- package/dist/domains/security-compliance/services/scanners/dependency-resolver.js +232 -0
- package/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +21 -6
- package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +142 -64
- package/dist/domains/security-compliance/services/scanners/lockfile-versions.d.ts +43 -0
- package/dist/domains/security-compliance/services/scanners/lockfile-versions.js +248 -0
- package/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +30 -2
- package/dist/domains/security-compliance/services/security-auditor.d.ts +19 -6
- package/dist/domains/security-compliance/services/security-auditor.js +133 -92
- package/dist/domains/test-execution/services/retry-handler.js +34 -7
- package/dist/domains/test-execution/services/test-executor.d.ts +1 -0
- package/dist/domains/test-execution/services/test-executor.js +87 -7
- package/dist/kernel/shared-dirs.js +17 -5
- package/dist/learning/dream/dream-engine.d.ts +27 -1
- package/dist/learning/dream/dream-engine.js +56 -2
- package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -0
- package/dist/learning/dream/rvcow-branch-manager.js +8 -0
- package/dist/learning/dream/speculative-dreamer.d.ts +8 -0
- package/dist/learning/dream/speculative-dreamer.js +8 -0
- package/dist/mcp/background-workers.d.ts +15 -0
- package/dist/mcp/background-workers.js +71 -0
- package/dist/mcp/bundle.js +881 -878
- package/dist/mcp/entry.js +4 -49
- package/dist/mcp/handlers/domain-handler-configs.d.ts +4 -0
- package/dist/mcp/handlers/domain-handler-configs.js +5 -1
- package/dist/mcp/protocol-server.js +2 -1
- package/dist/mcp/types.d.ts +6 -0
- package/dist/shared/security/index.d.ts +2 -2
- package/dist/shared/security/index.js +1 -1
- package/dist/shared/security/osv-client.d.ts +79 -132
- package/dist/shared/security/osv-client.js +344 -167
- package/dist/shared/security/osv-lookup.d.ts +124 -0
- package/dist/shared/security/osv-lookup.js +246 -0
- package/dist/shared/security/osv-types.d.ts +119 -0
- package/dist/shared/security/osv-types.js +6 -0
- package/dist/workers/daemon.d.ts +5 -0
- package/dist/workers/daemon.js +16 -2
- package/dist/workers/interfaces.d.ts +6 -1
- package/dist/workers/namespaced-keys.d.ts +16 -0
- package/dist/workers/namespaced-keys.js +24 -0
- package/dist/workers/quality-daemon/persistent-memory.d.ts +1 -1
- package/dist/workers/quality-daemon/persistent-memory.js +2 -2
- package/dist/workers/worker-env.d.ts +45 -0
- package/dist/workers/worker-env.js +76 -0
- package/dist/workers/worker-manager.js +5 -2
- package/dist/workers/workers/defect-predictor.d.ts +25 -8
- package/dist/workers/workers/defect-predictor.js +223 -216
- package/dist/workers/workers/learning-consolidation.d.ts +20 -0
- package/dist/workers/workers/learning-consolidation.js +53 -22
- package/dist/workers/workers/performance-baseline.d.ts +24 -9
- package/dist/workers/workers/performance-baseline.js +187 -230
- package/dist/workers/workers/quality-gate.d.ts +11 -9
- package/dist/workers/workers/quality-gate.js +125 -267
- package/dist/workers/workers/security-scan-records.d.ts +111 -0
- package/dist/workers/workers/security-scan-records.js +128 -0
- package/dist/workers/workers/security-scan.d.ts +25 -7
- package/dist/workers/workers/security-scan.js +187 -164
- package/package.json +2 -2
- package/dist/cli/chunks/adapter-PP3XIXDV.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-VDUQJKKY.js +0 -2
- package/dist/cli/chunks/base-QSYWWPCE.js +0 -2
- package/dist/cli/chunks/browser-workflow-WXXPBSCM.js +0 -2
- package/dist/cli/chunks/chunk-45MVRQG4.js +0 -2
- package/dist/cli/chunks/chunk-5VZVMO7B.js +0 -3
- package/dist/cli/chunks/chunk-EECF4CMA.js +0 -2
- package/dist/cli/chunks/client-6XKSQ4JT.js +0 -2
- package/dist/cli/chunks/core-handlers-OJYW4Y6M.js +0 -2
- package/dist/cli/chunks/cross-domain-router-QVUPQ2SC.js +0 -2
- package/dist/cli/chunks/daemon-QBYTCIMH.js +0 -10
- package/dist/cli/chunks/dream-3UABDRZJ.js +0 -2
- package/dist/cli/chunks/file-discovery-ZFGZTKZ4.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-MJ6MTPDF.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-FQWJCFVW.js +0 -2
- package/dist/cli/chunks/hnsw-index-NJYKJUHC.js +0 -2
- package/dist/cli/chunks/hybrid-backend-SL7RFID7.js +0 -2
- package/dist/cli/chunks/impact-analyzer-5ZJTXPVC.js +0 -2
- package/dist/cli/chunks/init-handler-PCLYQUSB.js +0 -88
- package/dist/cli/chunks/init-wizard-MQMDSIOF.js +0 -2
- package/dist/cli/chunks/kernel-MEJ5GMRH.js +0 -2
- package/dist/cli/chunks/knowledge-graph-XUBZSEZE.js +0 -2
- package/dist/cli/chunks/llm-router-service-QZAPAEPX.js +0 -2
- package/dist/cli/chunks/load-test-OVXIQ3AF.js +0 -2
- package/dist/cli/chunks/memory-backend-TRPOMPK4.js +0 -2
- package/dist/cli/chunks/pattern-null-store-JWYBRBZG.js +0 -2
- package/dist/cli/chunks/project-root-VVSTHIP4.js +0 -2
- package/dist/cli/chunks/protocol-executor-PXZCLZD3.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-42FRS5V3.js +0 -2
- package/dist/cli/chunks/queen-coordinator-UI3B7DI6.js +0 -2
- package/dist/cli/chunks/router-HYRPWLAY.js +0 -2
- package/dist/cli/chunks/routing-feedback-BPZ5R6F3.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-DEKDQ6KO.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-L53VBS7I.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-I6RUGD2D.js +0 -2
- package/dist/cli/chunks/safe-db-KS65XDCP.js +0 -2
- package/dist/cli/chunks/schedule-KD2VN6GB.js +0 -2
- package/dist/cli/chunks/scheduler-ZH3RMUHY.js +0 -2
- package/dist/cli/chunks/security-PWQTGDRU.js +0 -13
- package/dist/cli/chunks/sqlite-persistence-6DTVME5D.js +0 -2
- package/dist/cli/chunks/unified-memory-FCX7NLFZ.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-VU5QJK37.js +0 -2
- package/dist/cli/chunks/unified-persistence-FM376LGE.js +0 -2
- package/dist/cli/chunks/visual-security-EU7Y3X46.js +0 -2
- package/dist/cli/chunks/witness-chain-CSEBT52D.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-ALNKOM3N.js +0 -2
package/dist/mcp/entry.js
CHANGED
|
@@ -25,6 +25,7 @@ import { initFeatureFlagsFromEnv } from '../integrations/ruvector/feature-flags.
|
|
|
25
25
|
import { resetSharedRvfAdapter } from '../integrations/ruvector/shared-rvf-adapter.js';
|
|
26
26
|
import { resetSharedRvfDualWriter } from '../integrations/ruvector/shared-rvf-dual-writer.js';
|
|
27
27
|
import { claimProcessLifecycle, closeRegisteredStores } from '../kernel/process-lifecycle.js';
|
|
28
|
+
import { startBackgroundWorkers } from './background-workers.js';
|
|
28
29
|
import { readFileSync } from 'node:fs';
|
|
29
30
|
import { resolve, dirname } from 'node:path';
|
|
30
31
|
import { fileURLToPath } from 'node:url';
|
|
@@ -330,55 +331,9 @@ async function main() {
|
|
|
330
331
|
originalStderrWrite(`[MCP] WARNING: ReasoningBank prewarm failed: ${rbErr instanceof Error ? rbErr.message : 'unknown'}\n`);
|
|
331
332
|
}
|
|
332
333
|
})();
|
|
333
|
-
// IMP-10: Start background workers (heartbeat scheduler, etc.)
|
|
334
|
-
//
|
|
335
|
-
|
|
336
|
-
try {
|
|
337
|
-
const { getDaemon } = await import('../workers/daemon.js');
|
|
338
|
-
// ADR-001 Bug A fix: use the canonical getDaemon() default. Passing
|
|
339
|
-
// `{ autoStart: false }` here would neuter workerManager.startAll() —
|
|
340
|
-
// the only call path that schedules per-worker setInterval timers, so
|
|
341
|
-
// workers would register but never tick. DEFAULT_CONFIG.autoStart=true
|
|
342
|
-
// (workers/daemon.ts) is the contracted default; matches the
|
|
343
|
-
// shutdownDaemon() call site above.
|
|
344
|
-
const daemon = getDaemon();
|
|
345
|
-
await daemon.start();
|
|
346
|
-
const status = daemon.getStatus();
|
|
347
|
-
originalStderrWrite(`[MCP] Background workers started (${status.workerManager.totalWorkers} workers)\n`);
|
|
348
|
-
// IMP-10: Start QualityDaemon with persistent memory (Finding 1 & 2 resolution)
|
|
349
|
-
try {
|
|
350
|
-
const { UnifiedMemoryManager } = await import('../kernel/unified-memory.js');
|
|
351
|
-
const { PersistentWorkerMemory } = await import('../workers/quality-daemon/persistent-memory.js');
|
|
352
|
-
const { isPrivateIp } = await import('../hooks/security/ssrf-guard.js');
|
|
353
|
-
const unifiedMemory = await UnifiedMemoryManager.getInstanceAsync();
|
|
354
|
-
const persistentMemory = new PersistentWorkerMemory(unifiedMemory);
|
|
355
|
-
const qualityDaemon = daemon.getQualityDaemon({
|
|
356
|
-
notifications: {
|
|
357
|
-
// IMP-07 SSRF guard: block private IPs in webhook URLs (Finding 5)
|
|
358
|
-
urlValidator: (url) => {
|
|
359
|
-
try {
|
|
360
|
-
const parsed = new URL(url);
|
|
361
|
-
const hostname = parsed.hostname.replace(/^\[|\]$/g, '');
|
|
362
|
-
return !isPrivateIp(hostname);
|
|
363
|
-
}
|
|
364
|
-
catch {
|
|
365
|
-
return false;
|
|
366
|
-
}
|
|
367
|
-
},
|
|
368
|
-
},
|
|
369
|
-
});
|
|
370
|
-
await qualityDaemon.start(persistentMemory);
|
|
371
|
-
originalStderrWrite(`[MCP] Quality daemon started\n`);
|
|
372
|
-
}
|
|
373
|
-
catch (qdError) {
|
|
374
|
-
originalStderrWrite(`[MCP] WARNING: Quality daemon failed to start: ${qdError}\n`);
|
|
375
|
-
// Non-fatal — MCP continues without quality daemon
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
catch (daemonError) {
|
|
379
|
-
originalStderrWrite(`[MCP] WARNING: Background workers failed to start: ${daemonError}\n`);
|
|
380
|
-
// Non-fatal — MCP server continues without background workers
|
|
381
|
-
}
|
|
334
|
+
// IMP-10: Start background workers (heartbeat scheduler, etc.) and the
|
|
335
|
+
// QualityDaemon. #1061: AQE_WORKERS_ENABLED=false skips both.
|
|
336
|
+
await startBackgroundWorkers(originalStderrWrite);
|
|
382
337
|
// Start HTTP server for AG-UI/A2A/A2UI if port is specified
|
|
383
338
|
const httpPort = parseInt(process.env.AQE_HTTP_PORT || '0', 10);
|
|
384
339
|
if (httpPort > 0) {
|
|
@@ -10,6 +10,7 @@ import { DomainHandlerConfig } from './handler-factory';
|
|
|
10
10
|
import { TestGenerateParams, TestGenerateResult, TestExecuteParams, CoverageAnalyzeParams, CoverageAnalyzeResult, QualityAssessParams, SecurityScanParams, ContractValidateParams, AccessibilityTestParams, ChaosTestParams } from '../types';
|
|
11
11
|
import type { SecurityScanEvidence } from '../../domains/security-compliance/scan-evidence.js';
|
|
12
12
|
import type { SecurityCoverage } from '../../domains/security-compliance/interfaces.js';
|
|
13
|
+
import type { DependencyScanReport } from '../../domains/security-compliance/dependency-advisory-engine.js';
|
|
13
14
|
import type { ExcludedQualityFile, PartialQualityMetric } from '../../domains/quality-assessment/interfaces.js';
|
|
14
15
|
import { type RiskDecision } from '../../contracts/verdicts.js';
|
|
15
16
|
import { type EvaluatedQualityCheck } from '../../domains/quality-assessment/quality-evidence.js';
|
|
@@ -114,7 +115,10 @@ export interface SecurityScanResult {
|
|
|
114
115
|
scanTypes?: {
|
|
115
116
|
sast: boolean;
|
|
116
117
|
dast: boolean;
|
|
118
|
+
dependencies?: boolean;
|
|
117
119
|
};
|
|
120
|
+
/** #1049: OSV dependency advisory scan; status other than 'complete' is not a clean result. */
|
|
121
|
+
dependencyScan?: DependencyScanReport;
|
|
118
122
|
note?: string;
|
|
119
123
|
}
|
|
120
124
|
export interface ContractValidateResult {
|
|
@@ -537,10 +537,12 @@ export const securityScanConfig = {
|
|
|
537
537
|
scanTypes.push('SAST');
|
|
538
538
|
if (params.dast)
|
|
539
539
|
scanTypes.push('DAST');
|
|
540
|
+
if (params.dependencies)
|
|
541
|
+
scanTypes.push('dependency advisories');
|
|
540
542
|
return `Security scan (${scanTypes.join(', ')}) for ${params.target || 'project'}`;
|
|
541
543
|
},
|
|
542
544
|
mapToPayload: (params, routingResult) => {
|
|
543
|
-
for (const name of ['sast', 'dast']) {
|
|
545
|
+
for (const name of ['sast', 'dast', 'dependencies']) {
|
|
544
546
|
if (params[name] !== undefined && typeof params[name] !== 'boolean') {
|
|
545
547
|
throw new Error(`${name} must be a boolean`);
|
|
546
548
|
}
|
|
@@ -548,6 +550,7 @@ export const securityScanConfig = {
|
|
|
548
550
|
return {
|
|
549
551
|
sast: params.sast !== false,
|
|
550
552
|
dast: params.dast || false,
|
|
553
|
+
dependencies: params.dependencies === true,
|
|
551
554
|
compliance: params.compliance || [],
|
|
552
555
|
target: params.target || '.',
|
|
553
556
|
targetUrl: params.targetUrl,
|
|
@@ -582,6 +585,7 @@ export const securityScanConfig = {
|
|
|
582
585
|
deepAnalysisPerformed: Boolean(data.evidence && data.deepAnalysisPerformed === true),
|
|
583
586
|
analysisDepth: data.analysisDepth,
|
|
584
587
|
scanTypes: data.scanTypes,
|
|
588
|
+
...(data.dependencyScan ? { dependencyScan: data.dependencyScan } : {}),
|
|
585
589
|
note: data.note,
|
|
586
590
|
duration,
|
|
587
591
|
savedFiles,
|
|
@@ -856,7 +856,7 @@ export class MCPProtocolServer {
|
|
|
856
856
|
this.registerTool({
|
|
857
857
|
definition: {
|
|
858
858
|
name: 'test_generate_enhanced',
|
|
859
|
-
description: 'Generate unit/integration/e2e tests with AI pattern recognition and anti-pattern detection. By default saves a manifest and report under .agentic-qe/results/tests/ (paths returned in savedFiles); pass saveResults: false to generate without writing any result files. Example: test_generate_enhanced({ sourceCode: "function add(a,b){return a+b}", testType: "unit", framework: "jest" })',
|
|
859
|
+
description: 'Generate unit/integration/e2e tests with AI pattern recognition and anti-pattern detection. By default saves a manifest and report under .agentic-qe/results/tests/, plus each generated test source under .agentic-qe/results/tests/generated/ (paths returned in savedFiles); pass saveResults: false to generate without writing any result files. Example: test_generate_enhanced({ sourceCode: "function add(a,b){return a+b}", testType: "unit", framework: "jest" })',
|
|
860
860
|
category: 'domain',
|
|
861
861
|
parameters: [
|
|
862
862
|
{ name: 'sourceCode', type: 'string', description: 'Source code to generate tests for' },
|
|
@@ -938,6 +938,7 @@ export class MCPProtocolServer {
|
|
|
938
938
|
{ name: 'dast', type: 'boolean', description: 'Run DAST scan', default: false },
|
|
939
939
|
{ name: 'target', type: 'string', description: 'Source file or directory for SAST' },
|
|
940
940
|
{ name: 'targetUrl', type: 'string', description: 'URL for a requested DAST scan' },
|
|
941
|
+
{ name: 'dependencies', type: 'boolean', description: 'Check package.json dependencies against OSV advisories (sends package names and versions to the OSV API). If the lookup fails or is partial, dependencyScan.status is incomplete/failed: advisories could not be checked, which is not zero vulnerabilities.', default: false },
|
|
941
942
|
saveResultsParameter('security_scan_comprehensive'),
|
|
942
943
|
],
|
|
943
944
|
},
|
package/dist/mcp/types.d.ts
CHANGED
|
@@ -238,6 +238,12 @@ export interface SecurityScanParams {
|
|
|
238
238
|
target?: string;
|
|
239
239
|
/** URL for explicitly requested dynamic scanning. */
|
|
240
240
|
targetUrl?: string;
|
|
241
|
+
/**
|
|
242
|
+
* #1049: check package.json dependencies against OSV advisories (opt-in; sends
|
|
243
|
+
* package names and versions to the OSV API). A failed or partial lookup is
|
|
244
|
+
* reported as incomplete, never as zero vulnerabilities.
|
|
245
|
+
*/
|
|
246
|
+
dependencies?: boolean;
|
|
241
247
|
/** #933: write result files under .agentic-qe/results/ (default true). false skips them. */
|
|
242
248
|
saveResults?: boolean;
|
|
243
249
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Security Utilities
|
|
3
3
|
*/
|
|
4
|
-
export { OSVClient } from './osv-client';
|
|
5
|
-
export type { OSVClientConfig, OSVQueryRequest, OSVEcosystem, OSVVulnerability, OSVSeverity, OSVAffected, OSVRange, OSVReference, OSVQueryResponse, OSVBatchQueryRequest, OSVBatchQueryResponse, ParsedVulnerability, } from './osv-client';
|
|
4
|
+
export { OSVClient, OSVLookupError, resolveOSVBaseUrl } from './osv-client';
|
|
5
|
+
export type { OSVBatchLookup, OSVPackageQuery, OSVUncheckedPackage, OSVClientConfig, OSVQueryRequest, OSVEcosystem, OSVVulnerability, OSVSeverity, OSVAffected, OSVRange, OSVReference, OSVQueryResponse, OSVBatchQueryRequest, OSVBatchQueryResponse, ParsedVulnerability, } from './osv-client';
|
|
6
6
|
export { CompliancePatternAnalyzer, getCompliancePatternAnalyzer } from './compliance-patterns';
|
|
7
7
|
export type { PatternMatch, CompliancePatternResult, EncryptionAnalysis, AccessControlAnalysis, LoggingAnalysis, DataProtectionAnalysis, SecurityControlsAnalysis, } from './compliance-patterns';
|
|
8
8
|
export type { RiskLevel, ValidationResult, PathValidationResult, RegexSafetyResult, CommandValidationResult, SanitizationOptions, PathValidationOptions, RegexValidationOptions, CommandValidationOptions, IValidationStrategy, IPathValidationStrategy, IRegexValidationStrategy, ICommandValidationStrategy, IInputSanitizationStrategy, ICryptoValidationStrategy, IValidationOrchestrator, } from './validators-interfaces';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Security Utilities
|
|
3
3
|
*/
|
|
4
|
-
export { OSVClient } from './osv-client.js';
|
|
4
|
+
export { OSVClient, OSVLookupError, resolveOSVBaseUrl } from './osv-client.js';
|
|
5
5
|
export { CompliancePatternAnalyzer, getCompliancePatternAnalyzer } from './compliance-patterns.js';
|
|
6
6
|
// ============================================================================
|
|
7
7
|
// Validators (moved from mcp/security/validators/)
|
|
@@ -5,146 +5,85 @@
|
|
|
5
5
|
* OSV provides vulnerability information for npm, PyPI, Go, Maven, and more.
|
|
6
6
|
* API Documentation: https://google.github.io/osv.dev/api/
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
package?: {
|
|
14
|
-
name: string;
|
|
15
|
-
ecosystem: OSVEcosystem;
|
|
16
|
-
version?: string;
|
|
17
|
-
};
|
|
18
|
-
/** Git commit hash */
|
|
19
|
-
commit?: string;
|
|
20
|
-
/** Package lock file version (for version ranges) */
|
|
21
|
-
version?: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Supported ecosystems
|
|
25
|
-
*/
|
|
26
|
-
export type OSVEcosystem = 'npm' | 'PyPI' | 'Go' | 'Maven' | 'crates.io' | 'NuGet' | 'Packagist' | 'RubyGems' | 'Hex' | 'Pub';
|
|
27
|
-
/**
|
|
28
|
-
* OSV vulnerability record
|
|
29
|
-
*/
|
|
30
|
-
export interface OSVVulnerability {
|
|
31
|
-
id: string;
|
|
32
|
-
summary: string;
|
|
33
|
-
details?: string;
|
|
34
|
-
aliases?: string[];
|
|
35
|
-
modified: string;
|
|
36
|
-
published?: string;
|
|
37
|
-
withdrawn?: string;
|
|
38
|
-
severity?: OSVSeverity[];
|
|
39
|
-
affected: OSVAffected[];
|
|
40
|
-
references?: OSVReference[];
|
|
41
|
-
database_specific?: Record<string, unknown>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* OSV severity rating
|
|
45
|
-
*/
|
|
46
|
-
export interface OSVSeverity {
|
|
47
|
-
type: 'CVSS_V2' | 'CVSS_V3';
|
|
48
|
-
score: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* OSV affected package information
|
|
52
|
-
*/
|
|
53
|
-
export interface OSVAffected {
|
|
54
|
-
package: {
|
|
55
|
-
name: string;
|
|
56
|
-
ecosystem: string;
|
|
57
|
-
purl?: string;
|
|
58
|
-
};
|
|
59
|
-
ranges?: OSVRange[];
|
|
60
|
-
versions?: string[];
|
|
61
|
-
ecosystem_specific?: Record<string, unknown>;
|
|
62
|
-
database_specific?: Record<string, unknown>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* OSV version range
|
|
66
|
-
*/
|
|
67
|
-
export interface OSVRange {
|
|
68
|
-
type: 'SEMVER' | 'ECOSYSTEM' | 'GIT';
|
|
69
|
-
repo?: string;
|
|
70
|
-
events: Array<{
|
|
71
|
-
introduced?: string;
|
|
72
|
-
fixed?: string;
|
|
73
|
-
last_affected?: string;
|
|
74
|
-
limit?: string;
|
|
75
|
-
}>;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* OSV reference link
|
|
79
|
-
*/
|
|
80
|
-
export interface OSVReference {
|
|
81
|
-
type: 'ADVISORY' | 'ARTICLE' | 'DETECTION' | 'DISCUSSION' | 'REPORT' | 'FIX' | 'GIT' | 'PACKAGE' | 'EVIDENCE' | 'WEB';
|
|
82
|
-
url: string;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* OSV query response
|
|
86
|
-
*/
|
|
87
|
-
export interface OSVQueryResponse {
|
|
88
|
-
vulns: OSVVulnerability[];
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* OSV batch query request
|
|
92
|
-
*/
|
|
93
|
-
export interface OSVBatchQueryRequest {
|
|
94
|
-
queries: OSVQueryRequest[];
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* OSV batch query response
|
|
98
|
-
*/
|
|
99
|
-
export interface OSVBatchQueryResponse {
|
|
100
|
-
results: Array<{
|
|
101
|
-
vulns?: OSVVulnerability[];
|
|
102
|
-
}>;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Parsed vulnerability for easier consumption
|
|
106
|
-
*/
|
|
107
|
-
export interface ParsedVulnerability {
|
|
108
|
-
id: string;
|
|
109
|
-
cveIds: string[];
|
|
110
|
-
summary: string;
|
|
111
|
-
details: string;
|
|
112
|
-
severity: 'critical' | 'high' | 'medium' | 'low' | 'unknown';
|
|
113
|
-
cvssScore: number | null;
|
|
114
|
-
affectedPackage: string;
|
|
115
|
-
affectedVersions: string[];
|
|
116
|
-
fixedVersions: string[];
|
|
117
|
-
publishedDate: Date | null;
|
|
118
|
-
references: string[];
|
|
119
|
-
}
|
|
8
|
+
import { type OSVBatchLookup, type OSVPackageQuery } from './osv-lookup';
|
|
9
|
+
export { OSVLookupError } from './osv-lookup';
|
|
10
|
+
export type { OSVBatchLookup, OSVPackageQuery, OSVUncheckedPackage } from './osv-lookup';
|
|
11
|
+
import type { OSVEcosystem, ParsedVulnerability } from './osv-types';
|
|
12
|
+
export type { OSVQueryRequest, OSVEcosystem, OSVVulnerability, OSVSeverity, OSVAffected, OSVRange, OSVReference, OSVQueryResponse, OSVBatchQueryRequest, OSVBatchQueryResponse, ParsedVulnerability, } from './osv-types';
|
|
120
13
|
/**
|
|
121
14
|
* OSV API Client Configuration
|
|
122
15
|
*/
|
|
123
16
|
export interface OSVClientConfig {
|
|
124
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* API base URL (default: $AQE_OSV_API_URL, else https://api.osv.dev). Must be
|
|
19
|
+
* https, or http on a loopback host. Validated lazily at the first lookup, so
|
|
20
|
+
* an invalid value fails dependency scans only, never construction (#1049).
|
|
21
|
+
*/
|
|
125
22
|
baseUrl?: string;
|
|
126
|
-
/**
|
|
23
|
+
/** Idle request timeout in ms (default: 30000) */
|
|
127
24
|
timeout?: number;
|
|
128
|
-
/**
|
|
25
|
+
/** Retries per request after the first attempt (default: 2) */
|
|
26
|
+
retries?: number;
|
|
27
|
+
/** Packages per querybatch request (default: 500; OSV accepts up to 1000) */
|
|
28
|
+
batchSize?: number;
|
|
29
|
+
/** Concurrent advisory-detail requests (default: 8) */
|
|
30
|
+
detailConcurrency?: number;
|
|
31
|
+
/** Enable advisory-detail caching (default: true) */
|
|
129
32
|
enableCache?: boolean;
|
|
130
33
|
/** Cache TTL in ms (default: 1 hour) */
|
|
131
34
|
cacheTtl?: number;
|
|
132
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* The OSV endpoint: `AQE_OSV_API_URL` or the public API. https is required,
|
|
38
|
+
* except plain http on a loopback host (local mirrors and test stubs).
|
|
39
|
+
* @throws Error naming AQE_OSV_API_URL when the value is not acceptable.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveOSVBaseUrl(env?: NodeJS.ProcessEnv): string;
|
|
42
|
+
/** Longest accepted AQE_OSV_API_URL; a longer value is invalid. */
|
|
43
|
+
export declare const MAX_OSV_URL_LENGTH = 2048;
|
|
133
44
|
/**
|
|
134
45
|
* OSV API Client
|
|
135
|
-
* Queries the Open Source Vulnerabilities database for dependency vulnerabilities
|
|
46
|
+
* Queries the Open Source Vulnerabilities database for dependency vulnerabilities.
|
|
47
|
+
*
|
|
48
|
+
* #1049: a failed or partial lookup is never reported as "no vulnerabilities".
|
|
49
|
+
* `lookupBatch` returns the packages it could not check; the list-returning
|
|
50
|
+
* methods throw `OSVLookupError` instead of returning `[]`.
|
|
136
51
|
*/
|
|
137
52
|
export declare class OSVClient {
|
|
138
53
|
private readonly config;
|
|
54
|
+
private readonly configuredBaseUrl;
|
|
55
|
+
private endpoint;
|
|
139
56
|
private readonly http;
|
|
140
|
-
private readonly
|
|
57
|
+
private readonly detailCache;
|
|
141
58
|
constructor(config?: OSVClientConfig);
|
|
59
|
+
/** The endpoint this client queries, or null when the configured URL is invalid. */
|
|
60
|
+
get baseUrl(): string | null;
|
|
61
|
+
/** Resolve (once) the endpoint; an invalid value is a reason, never a throw. */
|
|
62
|
+
private resolveEndpoint;
|
|
63
|
+
private get base();
|
|
64
|
+
/**
|
|
65
|
+
* Look up advisories for packages, reporting every package that could not be
|
|
66
|
+
* checked. Only `status: 'complete'` may be read as a clean/measured result.
|
|
67
|
+
*/
|
|
68
|
+
lookupBatch(packages: OSVPackageQuery[]): Promise<OSVBatchLookup>;
|
|
69
|
+
/**
|
|
70
|
+
* Look up npm `package.json` dependencies (`name -> version spec`).
|
|
71
|
+
*
|
|
72
|
+
* A dependency is checked at its lockfile-resolved version when one is given,
|
|
73
|
+
* else only when the spec is an exact version ("1.2.3", "=1.2.3", "v1.2.3").
|
|
74
|
+
* Ranges, tags and non-registry specs are reported unchecked, never guessed:
|
|
75
|
+
* checking a range's bound (e.g. "<4.17.12" as 4.17.12) can miss advisories
|
|
76
|
+
* that affect the versions the range allows (#1049).
|
|
77
|
+
*/
|
|
78
|
+
lookupNpmDependencies(dependencies: Record<string, string>, lockedVersions?: Record<string, string>): Promise<OSVBatchLookup>;
|
|
142
79
|
/**
|
|
143
|
-
* Query OSV for vulnerabilities affecting a package
|
|
80
|
+
* Query OSV for vulnerabilities affecting a package.
|
|
81
|
+
* @throws OSVLookupError when the advisory lookup did not complete.
|
|
144
82
|
*/
|
|
145
83
|
queryPackage(packageName: string, ecosystem: OSVEcosystem, version?: string): Promise<ParsedVulnerability[]>;
|
|
146
84
|
/**
|
|
147
|
-
* Batch query multiple packages
|
|
85
|
+
* Batch query multiple packages.
|
|
86
|
+
* @throws OSVLookupError when any package could not be checked.
|
|
148
87
|
*/
|
|
149
88
|
queryBatch(packages: Array<{
|
|
150
89
|
name: string;
|
|
@@ -152,40 +91,48 @@ export declare class OSVClient {
|
|
|
152
91
|
version?: string;
|
|
153
92
|
}>): Promise<Map<string, ParsedVulnerability[]>>;
|
|
154
93
|
/**
|
|
155
|
-
* Query vulnerabilities by CVE
|
|
94
|
+
* Query vulnerabilities by advisory/CVE id. An id OSV does not know (404) is [].
|
|
95
|
+
* @throws OSVLookupError on any other failure.
|
|
156
96
|
*/
|
|
157
97
|
queryByCVE(cveId: string): Promise<ParsedVulnerability[]>;
|
|
158
98
|
/**
|
|
159
|
-
*
|
|
99
|
+
* Scan npm dependencies for vulnerabilities.
|
|
100
|
+
* @throws OSVLookupError when any dependency could not be checked; use
|
|
101
|
+
* `lookupNpmDependencies` to get partial results with the unchecked list.
|
|
160
102
|
*/
|
|
161
103
|
scanNpmDependencies(dependencies: Record<string, string>): Promise<ParsedVulnerability[]>;
|
|
162
104
|
/**
|
|
163
|
-
* Scan a Python requirements.txt file content
|
|
105
|
+
* Scan a Python requirements.txt file content. Only `==` pins are concrete
|
|
106
|
+
* versions; other requirements are reported as unchecked.
|
|
107
|
+
* @throws OSVLookupError when any requirement could not be checked.
|
|
164
108
|
*/
|
|
165
109
|
scanPythonRequirements(requirements: string): Promise<ParsedVulnerability[]>;
|
|
110
|
+
/** Clear the advisory-detail cache. */
|
|
111
|
+
clearCache(): void;
|
|
112
|
+
private requestOptions;
|
|
113
|
+
/** Read a JSON body; any transport failure, non-2xx status or parse failure is a reason. */
|
|
114
|
+
private readJson;
|
|
115
|
+
private postBatch;
|
|
116
|
+
/** Fetch full advisory records (querybatch returns only ids) with bounded concurrency. */
|
|
117
|
+
private fetchDetails;
|
|
118
|
+
private fetchDetail;
|
|
166
119
|
/**
|
|
167
120
|
* Parse vulnerabilities into a more usable format
|
|
168
121
|
*/
|
|
169
122
|
private parseVulnerabilities;
|
|
170
123
|
/**
|
|
171
|
-
* Extract CVSS score
|
|
124
|
+
* Extract a numeric CVSS score. OSV usually carries a CVSS vector string
|
|
125
|
+
* ("CVSS:3.1/AV:N/..."), which holds no base score: that yields null.
|
|
172
126
|
*/
|
|
173
127
|
private extractCVSSScore;
|
|
174
128
|
/**
|
|
175
|
-
*
|
|
129
|
+
* Severity from a numeric CVSS score, else the advisory's own severity label
|
|
130
|
+
* (GitHub advisories carry `database_specific.severity`), else unknown.
|
|
176
131
|
*/
|
|
177
132
|
private scoreSeverity;
|
|
178
133
|
/**
|
|
179
134
|
* Extract fixed versions from affected ranges
|
|
180
135
|
*/
|
|
181
136
|
private extractFixedVersions;
|
|
182
|
-
/**
|
|
183
|
-
* Clean version string (remove ^ ~ etc.)
|
|
184
|
-
*/
|
|
185
|
-
private cleanVersion;
|
|
186
|
-
/**
|
|
187
|
-
* Clear the cache
|
|
188
|
-
*/
|
|
189
|
-
clearCache(): void;
|
|
190
137
|
}
|
|
191
138
|
//# sourceMappingURL=osv-client.d.ts.map
|