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.
- package/.claude/hooks/aqe-hook.cjs +38 -2
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +267 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-KCQDVYY2.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-TIDSQ3ZK.js → agent-booster-wasm-6RRQWMNE.js} +2 -2
- package/dist/cli/chunks/{agent-handler-G3EPBVA7.js → agent-handler-AOH6TV7W.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-ARC5C7GW.js → agent-memory-branch-2P54SF5N.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-SAQOHSGN.js +2 -0
- package/dist/cli/chunks/{arena-K4I4QDXB.js → arena-NSVFCAF5.js} +2 -2
- package/dist/cli/chunks/{arena-36DTATJV.js → arena-X6MOGQHA.js} +4 -4
- package/dist/cli/chunks/{audit-WQSJSJZF.js → audit-27DJLQNM.js} +3 -3
- package/dist/cli/chunks/base-WCACU3FN.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-BB4K67MT.js → better-sqlite3-BU5GXILS.js} +2 -2
- package/dist/cli/chunks/{brain-handler-CU3GOIU3.js → brain-handler-GTQNHHZS.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-NJQX7ZNB.js → branch-enumerator-5CLULOCU.js} +2 -2
- package/dist/cli/chunks/{browser-6YJF4FQW.js → browser-R4DMU3LN.js} +2 -2
- package/dist/cli/chunks/browser-workflow-G6IASEAP.js +2 -0
- package/dist/cli/chunks/{chunk-G4FAPO57.js → chunk-2G7TVT6W.js} +2 -2
- package/dist/cli/chunks/{chunk-HDNWSKHA.js → chunk-32ZMWEP3.js} +2 -2
- package/dist/cli/chunks/{chunk-FWSGPE3V.js → chunk-3AN5TNGD.js} +3 -3
- package/dist/cli/chunks/{chunk-X4J73KP3.js → chunk-3LJ7LQMV.js} +1 -1
- package/dist/cli/chunks/{chunk-3RHOPP7A.js → chunk-3QZEGE67.js} +1 -1
- package/dist/cli/chunks/{chunk-RBZCA7SD.js → chunk-3RZV5DGO.js} +2 -2
- package/dist/cli/chunks/{chunk-DDEOZPWJ.js → chunk-3Y2ROSCL.js} +2 -2
- package/dist/cli/chunks/{chunk-LD5CFK53.js → chunk-3Y7TJFHU.js} +2 -2
- package/dist/cli/chunks/{chunk-I36CRDHF.js → chunk-3YNLWPBF.js} +2 -2
- package/dist/cli/chunks/{chunk-ZMC543GI.js → chunk-42J34YG4.js} +2 -2
- package/dist/cli/chunks/{chunk-YNOCQ2SL.js → chunk-4OVC4RIL.js} +1 -1
- package/dist/cli/chunks/{chunk-2KFFEKSI.js → chunk-526QYFJU.js} +2 -2
- package/dist/cli/chunks/{chunk-LBX7M4LW.js → chunk-5FKWCZNF.js} +2 -2
- package/dist/cli/chunks/{chunk-OH5V5EJW.js → chunk-5K26BEYB.js} +2 -2
- package/dist/cli/chunks/{chunk-TCYSBC7Y.js → chunk-5MDERQH3.js} +1 -1
- package/dist/cli/chunks/{chunk-V5AADCBC.js → chunk-5VMAV6T6.js} +1 -1
- package/dist/cli/chunks/{chunk-YBBT3YYG.js → chunk-5ZGM3RMH.js} +1 -1
- package/dist/cli/chunks/{chunk-RTY7VSZB.js → chunk-6KATY3KS.js} +2 -2
- package/dist/cli/chunks/{chunk-LPU6PAJE.js → chunk-6Z7PRBSG.js} +2 -2
- package/dist/cli/chunks/{chunk-6NA3KZZT.js → chunk-72ASBE35.js} +7 -7
- package/dist/cli/chunks/{chunk-GBFUANTC.js → chunk-756CGMEH.js} +1 -1
- package/dist/cli/chunks/{chunk-UTTSH4NH.js → chunk-75RDHBAX.js} +3 -3
- package/dist/cli/chunks/{chunk-XGPTZUKQ.js → chunk-7CMTY45A.js} +2 -2
- package/dist/cli/chunks/{chunk-NC6K7SCQ.js → chunk-7JUC2MVZ.js} +2 -2
- package/dist/cli/chunks/{chunk-RTFKTKSO.js → chunk-7NA7JXNB.js} +2 -2
- package/dist/cli/chunks/{chunk-GWJWSLDA.js → chunk-7PLIEBY7.js} +2 -2
- package/dist/cli/chunks/{chunk-OURITHFV.js → chunk-7YTGHGK4.js} +2 -2
- package/dist/cli/chunks/{chunk-ITL3IN2E.js → chunk-A64JFBWI.js} +2 -2
- package/dist/cli/chunks/{chunk-OHR7C777.js → chunk-AL6FBH3E.js} +2 -2
- package/dist/cli/chunks/{chunk-5N25I53C.js → chunk-AQSVJNEH.js} +2 -2
- package/dist/cli/chunks/{chunk-FL32MTKT.js → chunk-ARJW4I2O.js} +2 -2
- package/dist/cli/chunks/{chunk-ZQHDA4O7.js → chunk-ASQYASNV.js} +1 -1
- package/dist/cli/chunks/{chunk-4HJKQIX5.js → chunk-BEGR4D6N.js} +2 -2
- package/dist/cli/chunks/{chunk-G77MLBDF.js → chunk-BK577VL7.js} +2 -2
- package/dist/cli/chunks/{chunk-NPZOBSAN.js → chunk-BLSLEVDI.js} +2 -2
- package/dist/cli/chunks/{chunk-R5LGV6GZ.js → chunk-BTVEYBW2.js} +2 -2
- package/dist/cli/chunks/{chunk-2CW7VRPH.js → chunk-C6JTLKG7.js} +5 -5
- package/dist/cli/chunks/{chunk-EWPUQCN4.js → chunk-C7JM7CD3.js} +2 -2
- package/dist/cli/chunks/{chunk-325QCVDI.js → chunk-CCMKSHAT.js} +2 -2
- package/dist/cli/chunks/{chunk-V7DA4HAK.js → chunk-CE7B5LU7.js} +1 -1
- package/dist/cli/chunks/{chunk-4RAQ7PJA.js → chunk-CM4LSLKR.js} +2 -2
- package/dist/cli/chunks/chunk-CRWPZT74.js +62 -0
- package/dist/cli/chunks/{chunk-U3LJNNVJ.js → chunk-CT6SAVXQ.js} +2 -2
- package/dist/cli/chunks/chunk-CV77DMDQ.js +2 -0
- package/dist/cli/chunks/{chunk-UMVSWQNB.js → chunk-DFUASIKA.js} +2 -2
- package/dist/cli/chunks/{chunk-KSE5TDM5.js → chunk-DLD7RUZ4.js} +2 -2
- package/dist/cli/chunks/{chunk-4MUBW4RT.js → chunk-DNDL7SOS.js} +2 -2
- package/dist/cli/chunks/{chunk-EJPK7OTR.js → chunk-DVGRPK7A.js} +2 -2
- package/dist/cli/chunks/{chunk-WCVCOT4E.js → chunk-E56B6IDX.js} +2 -2
- package/dist/cli/chunks/{chunk-7HEMJHPP.js → chunk-E7CLYGS7.js} +1 -1
- package/dist/cli/chunks/{chunk-R5GRABPQ.js → chunk-EXGMJFAT.js} +1 -1
- package/dist/cli/chunks/chunk-F3YS57NF.js +21 -0
- package/dist/cli/chunks/{chunk-I4K2HTQU.js → chunk-FZ76G4QJ.js} +1 -1
- package/dist/cli/chunks/{chunk-4UX35V7P.js → chunk-G2Q66Z23.js} +2 -2
- package/dist/cli/chunks/{chunk-KJCIMNHS.js → chunk-G6WDYBLQ.js} +1 -1
- package/dist/cli/chunks/{chunk-VWUZSNVC.js → chunk-G77ERMUD.js} +1 -1
- package/dist/cli/chunks/{chunk-FZHSG75I.js → chunk-GB6HBNH2.js} +2 -2
- package/dist/cli/chunks/{chunk-KDI5JOYZ.js → chunk-GHM6MQNK.js} +2 -2
- package/dist/cli/chunks/{chunk-H7BLYMNU.js → chunk-GHY6Z6KO.js} +5 -5
- package/dist/cli/chunks/{chunk-TFW7CCKS.js → chunk-GII6UM3F.js} +1 -1
- package/dist/cli/chunks/{chunk-DOBZPSKE.js → chunk-GU5HNCWI.js} +1 -1
- package/dist/cli/chunks/{chunk-AFFN6E6Q.js → chunk-H4GG2NLO.js} +2 -2
- package/dist/cli/chunks/{chunk-7R5HC56U.js → chunk-H4H2YSFH.js} +1 -1
- package/dist/cli/chunks/{chunk-J4JMCZVA.js → chunk-HD7YIFOI.js} +2 -2
- package/dist/cli/chunks/{chunk-5MTWCCZJ.js → chunk-HOAJUIBQ.js} +2 -2
- package/dist/cli/chunks/{chunk-T5KHJ3J7.js → chunk-HQZGPJYG.js} +2 -2
- package/dist/cli/chunks/{chunk-VEEYL2CZ.js → chunk-HZ5NXFXH.js} +2 -2
- package/dist/cli/chunks/{chunk-LQ4NUC6Q.js → chunk-I3C7JOXC.js} +2 -2
- package/dist/cli/chunks/{chunk-Z2EA7A4Z.js → chunk-IC3TQEOA.js} +1 -1
- package/dist/cli/chunks/{chunk-E44NNCEU.js → chunk-IJUHSJ2U.js} +2 -2
- package/dist/cli/chunks/{chunk-EH2S6AOR.js → chunk-J2ZIFFM6.js} +2 -2
- package/dist/cli/chunks/{chunk-GVKVJJQX.js → chunk-JGZ722G3.js} +2 -2
- package/dist/cli/chunks/{chunk-EK5GMOSO.js → chunk-JQGMW45H.js} +1 -1
- package/dist/cli/chunks/{chunk-XGBU3KEM.js → chunk-JRRXCODW.js} +2 -2
- package/dist/cli/chunks/{chunk-5WYZHDIZ.js → chunk-K3TLLJMX.js} +1 -1
- package/dist/cli/chunks/{chunk-LXQ3B4RY.js → chunk-K4CZA77U.js} +2 -2
- package/dist/cli/chunks/chunk-K65CGKLD.js +8 -0
- package/dist/cli/chunks/{chunk-HFFPYC4G.js → chunk-KADFXPPN.js} +2 -2
- package/dist/cli/chunks/{chunk-APPZATXA.js → chunk-KB56CPU4.js} +2 -2
- package/dist/cli/chunks/{chunk-25P77WA5.js → chunk-KCW47QR5.js} +1 -1
- package/dist/cli/chunks/{chunk-WM3SRRA6.js → chunk-KDNJ4F3P.js} +2 -2
- package/dist/cli/chunks/{chunk-5ERFHEEE.js → chunk-KDVZND5Q.js} +1 -1
- package/dist/cli/chunks/{chunk-YOCULVHR.js → chunk-KUAKV3IW.js} +1 -1
- package/dist/cli/chunks/{chunk-M5XYIQYZ.js → chunk-KV4T4MXK.js} +2 -2
- package/dist/cli/chunks/{chunk-MIK4RBEH.js → chunk-KWYH3FI4.js} +1 -1
- package/dist/cli/chunks/{chunk-UKKYMW3S.js → chunk-LFJALJOA.js} +2 -2
- package/dist/cli/chunks/{chunk-K7V2WZNF.js → chunk-LL7LDPXS.js} +1 -1
- package/dist/cli/chunks/{chunk-55CH76ZO.js → chunk-LUZNKJE6.js} +3 -3
- package/dist/cli/chunks/{chunk-OV5RPLKV.js → chunk-LWR3FV3Y.js} +2 -2
- package/dist/cli/chunks/{chunk-SMVVAVN2.js → chunk-LZYQHVD4.js} +2 -2
- package/dist/cli/chunks/{chunk-672XOJDG.js → chunk-M6AAGIG7.js} +1 -1
- package/dist/cli/chunks/{chunk-WCAVIJ64.js → chunk-MAMQA43L.js} +1 -1
- package/dist/cli/chunks/chunk-MB46UBGY.js +3 -0
- package/dist/cli/chunks/{chunk-AP3ADWDK.js → chunk-MFW5HSG4.js} +2 -2
- package/dist/cli/chunks/{chunk-NKTWKYHB.js → chunk-MGZ5FJUW.js} +2 -2
- package/dist/cli/chunks/{chunk-ERN43HOX.js → chunk-MVVB7C2E.js} +410 -410
- package/dist/cli/chunks/{chunk-57LNKSW7.js → chunk-N4CYAKOX.js} +2 -2
- package/dist/cli/chunks/chunk-NT4DBXSX.js +2 -0
- package/dist/cli/chunks/{chunk-BZPE3LDO.js → chunk-NU3W5WFT.js} +2 -2
- package/dist/cli/chunks/chunk-NURIILUB.js +2 -0
- package/dist/cli/chunks/{chunk-ITPGWGQS.js → chunk-NW7IBHJA.js} +4 -4
- package/dist/cli/chunks/{chunk-OD5D4LSZ.js → chunk-NZ3GUMB2.js} +2 -2
- package/dist/cli/chunks/{chunk-35M2X3C5.js → chunk-NZD4DPSU.js} +2 -2
- package/dist/cli/chunks/{chunk-EIDJNT5C.js → chunk-O6FGXMHD.js} +1 -1
- package/dist/cli/chunks/{chunk-OYJC3YON.js → chunk-OCAEXYFA.js} +2 -2
- package/dist/cli/chunks/{chunk-Y7B5EUIJ.js → chunk-OFACHK5O.js} +2 -2
- package/dist/cli/chunks/{chunk-5MNASJOH.js → chunk-P7A4NKTZ.js} +2 -2
- package/dist/cli/chunks/{chunk-M7XFBSIK.js → chunk-PB6J6HAA.js} +2 -2
- package/dist/cli/chunks/{chunk-5HQP4SLM.js → chunk-PHP5UBT4.js} +2 -2
- package/dist/cli/chunks/{chunk-KXS3Y2AX.js → chunk-PIDQVU3L.js} +2 -2
- package/dist/cli/chunks/{chunk-4UBVAJFO.js → chunk-PSFSPGUD.js} +2 -2
- package/dist/cli/chunks/chunk-PT4FMJPQ.js +3 -0
- package/dist/cli/chunks/{chunk-HDJUYAZG.js → chunk-Q3UDLV5Z.js} +1 -1
- package/dist/cli/chunks/{chunk-CIAL4YRY.js → chunk-QDEJ4CI2.js} +2 -2
- package/dist/cli/chunks/{chunk-S6IYEBAI.js → chunk-QPNG5ZN2.js} +2 -2
- package/dist/cli/chunks/{chunk-YPX2TV3M.js → chunk-R7SYRCRP.js} +1 -1
- package/dist/cli/chunks/{chunk-XNLIWQYE.js → chunk-RF7HWBHN.js} +2 -2
- package/dist/cli/chunks/{chunk-5YLOLACR.js → chunk-RFNW2LGD.js} +2 -2
- package/dist/cli/chunks/{chunk-2VLYUF7U.js → chunk-S5AZCIZS.js} +2 -2
- package/dist/cli/chunks/{chunk-ETVAYGCB.js → chunk-SE4VNN4I.js} +3 -3
- package/dist/cli/chunks/{chunk-E6PF35JZ.js → chunk-SG3NX7QE.js} +2 -2
- package/dist/cli/chunks/{chunk-VYTILW4R.js → chunk-SSU73QAX.js} +2 -2
- package/dist/cli/chunks/{chunk-ZP75ASUU.js → chunk-SVLQRAMF.js} +1 -1
- package/dist/cli/chunks/{chunk-JGJXXAS6.js → chunk-SYV2V3PL.js} +4 -4
- package/dist/cli/chunks/{chunk-4RH5I24Q.js → chunk-T3PGQFDI.js} +2 -2
- package/dist/cli/chunks/{chunk-O4JAKWWM.js → chunk-TCBBNUBP.js} +17 -17
- package/dist/cli/chunks/{chunk-QDESWOZP.js → chunk-TOQWL2ZF.js} +2 -2
- package/dist/cli/chunks/{chunk-NTB342NJ.js → chunk-TSQC2KKZ.js} +4 -4
- package/dist/cli/chunks/{chunk-NQZNMCZU.js → chunk-TWDW32W2.js} +2 -2
- package/dist/cli/chunks/{chunk-CO3DX2AX.js → chunk-TWJTK4CC.js} +2 -2
- package/dist/cli/chunks/{chunk-FUYOOKTH.js → chunk-U2FUXDDJ.js} +3 -3
- package/dist/cli/chunks/{chunk-XDI5X3FR.js → chunk-UDQSYWVF.js} +1 -1
- package/dist/cli/chunks/chunk-UOC3O6RP.js +5 -0
- package/dist/cli/chunks/chunk-UT2VZ33P.js +2 -0
- package/dist/cli/chunks/{chunk-IOZRKXR5.js → chunk-UTRV7T2N.js} +2 -2
- package/dist/cli/chunks/{chunk-ZMHCMJ4J.js → chunk-UXZSUMEA.js} +2 -2
- package/dist/cli/chunks/{chunk-G4CKPWF6.js → chunk-VRHRBAEM.js} +1 -1
- package/dist/cli/chunks/{chunk-AUUJBXWX.js → chunk-VRVMIPTM.js} +2 -2
- package/dist/cli/chunks/{chunk-IENZSO3K.js → chunk-VTDFVFST.js} +2 -2
- package/dist/cli/chunks/{chunk-JFLU7L3W.js → chunk-VTOBUZL6.js} +2 -2
- package/dist/cli/chunks/{chunk-KKYO2NKV.js → chunk-VU5TBX2V.js} +2 -2
- package/dist/cli/chunks/{chunk-XS2XF3YG.js → chunk-W26B7ERY.js} +1 -1
- package/dist/cli/chunks/{chunk-DOFREOPQ.js → chunk-W2QWSQVE.js} +2 -2
- package/dist/cli/chunks/{chunk-KSLLHFVY.js → chunk-W3INMZZ6.js} +1 -1
- package/dist/cli/chunks/{chunk-FLU5FDSC.js → chunk-W3PPFHI5.js} +59 -59
- package/dist/cli/chunks/chunk-WKGTGOYS.js +13 -0
- package/dist/cli/chunks/{chunk-4X4MWMHB.js → chunk-WNQS4WTS.js} +2 -2
- package/dist/cli/chunks/{chunk-XJKZ7FTR.js → chunk-WO274FRI.js} +2 -2
- package/dist/cli/chunks/{chunk-76SNL7GU.js → chunk-WOCGL4QP.js} +2 -2
- package/dist/cli/chunks/{chunk-HYXUN7BW.js → chunk-WQL7WCIZ.js} +1 -1
- package/dist/cli/chunks/{chunk-BTVWA35P.js → chunk-X2Z7F4EU.js} +2 -2
- package/dist/cli/chunks/{chunk-VBK2YAYY.js → chunk-X7N2JF2X.js} +2 -2
- package/dist/cli/chunks/{chunk-NT7JRHMH.js → chunk-XEAEYC6Y.js} +1 -1
- package/dist/cli/chunks/{chunk-G2IJFNZS.js → chunk-XNBOGCF3.js} +2 -2
- package/dist/cli/chunks/{chunk-LCVEEII4.js → chunk-XPRVF4YE.js} +2 -2
- package/dist/cli/chunks/{chunk-AMZKAJLJ.js → chunk-YBQH2VOP.js} +2 -2
- package/dist/cli/chunks/{chunk-JUMICXM6.js → chunk-YQFLQE53.js} +2 -2
- package/dist/cli/chunks/{chunk-M5RQ6U3G.js → chunk-YSZ5OE3Z.js} +2 -2
- package/dist/cli/chunks/{chunk-RQMCZQN2.js → chunk-YXRASAPI.js} +2 -2
- package/dist/cli/chunks/{chunk-X3PZCXWG.js → chunk-YZEXYO4W.js} +1 -1
- package/dist/cli/chunks/{chunk-TL6OFMXF.js → chunk-YZWBNBTW.js} +2 -2
- package/dist/cli/chunks/{chunk-CFWGGRE7.js → chunk-ZAKQLAHT.js} +1 -1
- package/dist/cli/chunks/ci-ENOASTYB.js +81 -0
- package/dist/cli/chunks/{ci-config-J665XNOX.js → ci-config-B26OXHQM.js} +2 -2
- package/dist/cli/chunks/{ci-output-PEQQQWVD.js → ci-output-JTCLLNOQ.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-HHB2JSKH.js → circuit-breaker-23JMFNM5.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-JKUJRWPN.js → claude-flow-setup-ON6L462G.js} +2 -2
- package/dist/cli/chunks/client-TV3V2YZ5.js +2 -0
- package/dist/cli/chunks/{cline-installer-Y77BWTAN.js → cline-installer-OWQ4D2FQ.js} +2 -2
- package/dist/cli/chunks/{code-LV2HAGJY.js → code-2ZRL7SEU.js} +19 -18
- package/dist/cli/chunks/{code-index-extractor-4GKKSETB.js → code-index-extractor-JXSQVM67.js} +2 -2
- package/dist/cli/chunks/{codex-installer-WMKBYE5Y.js → codex-installer-7LXZYBSQ.js} +2 -2
- package/dist/cli/chunks/{completions-SBGFAOIJ.js → completions-C2LR623C.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-AQHFIJXC.js → complexity-analyzer-TGQLHCYJ.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-26AYFS2E.js → continuedev-installer-RUGD24D2.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-4UD3DK55.js → copilot-installer-ZLFVLEJP.js} +2 -2
- package/dist/cli/chunks/core-handlers-PZT4OLWR.js +2 -0
- package/dist/cli/chunks/{cost-tracker-TP4NZCG4.js → cost-tracker-RT4QL745.js} +2 -2
- package/dist/cli/chunks/{coverage-B2KIXHAI.js → coverage-NV3C4IMM.js} +11 -10
- package/dist/cli/chunks/cross-domain-router-QOFCZ7G4.js +2 -0
- package/dist/cli/chunks/{cursor-installer-AVZEQZ4W.js → cursor-installer-LJKLNFF6.js} +2 -2
- package/dist/cli/chunks/{daemon-XM2A7LQU.js → daemon-BMDXCQT5.js} +3 -3
- package/dist/cli/chunks/{daemon-P574WWBW.js → daemon-FBH3IRYN.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-MIWOZ6ET.js → dag-attention-scheduler-JGDED55I.js} +2 -2
- package/dist/cli/chunks/{detect-TYR7HT23.js → detect-SZIHIVCJ.js} +2 -2
- package/dist/cli/chunks/{dist-node-2DGVQGLS.js → dist-node-FV3KWXQ6.js} +2 -2
- package/dist/cli/chunks/{domain-handler-RRA4ZOMF.js → domain-handler-GI5JWQOV.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-IVZEZ5RB.js → domain-plugins-BUWY36TL.js} +2 -2
- package/dist/cli/chunks/domain-transfer-GCY7W5DA.js +2 -0
- package/dist/cli/chunks/dream-TRFBGDSQ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-VNIEOVPO.js → embed-and-insert-pattern-GPRR3ZGD.js} +2 -2
- package/dist/cli/chunks/{eval-QV4LVPUF.js → eval-XPB3IGAP.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-DAPKT763.js → experience-capture-middleware-2E554UB3.js} +3 -3
- package/dist/cli/chunks/{fast-paths-WVRFPHX7.js → fast-paths-ZSMWZPUC.js} +2 -2
- package/dist/cli/chunks/{feature-flags-DEFTUIYT.js → feature-flags-GIWVDVVC.js} +2 -2
- package/dist/cli/chunks/{feature-flags-O7ZXDDCD.js → feature-flags-N7EOGE5P.js} +2 -2
- package/dist/cli/chunks/file-discovery-WCKGMSPZ.js +2 -0
- package/dist/cli/chunks/fleet-HCHDOUCX.js +44 -0
- package/dist/cli/chunks/{gnn-wrapper-LS4LZJDR.js → gnn-wrapper-CZNCNXXZ.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-RFTERD4K.js → heartbeat-handler-6YUIF2YQ.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-P44A2OX3.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-ZJQIQJKC.js +2 -0
- package/dist/cli/chunks/hnsw-index-HMG2GH3Z.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-GPKGFFHY.js → hnsw-legacy-bridge-J3M3IK24.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-PHL3F2PR.js → hnswlib-node-ULGTGDZW.js} +2 -2
- package/dist/cli/chunks/{hooks-GYJ6D4QM.js → hooks-C4BUGYUQ.js} +28 -28
- package/dist/cli/chunks/hybrid-backend-B7M74PZG.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-YGEQPCKJ.js → hypergraph-engine-WINGVMPG.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-ZIMM647V.js → hypergraph-handler-GADMWKAU.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-PZYOVKQO.js +2 -0
- package/dist/cli/chunks/{init-guard-VOMBXJXG.js → init-guard-K2T4QWAO.js} +2 -2
- package/dist/cli/chunks/{init-handler-PSMUBWK5.js → init-handler-PCZTDZYI.js} +6 -6
- package/dist/cli/chunks/init-wizard-TZDJQK3U.js +2 -0
- package/dist/cli/chunks/kernel-Y6RRIOKW.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-2YNTFBWJ.js → kilocode-installer-XENXNEIU.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-XHJDPVAZ.js → kiro-installer-3PG2TJ67.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-BVD5Z66M.js +2 -0
- package/dist/cli/chunks/{learning-GNSIDRNG.js → learning-6KDH7FK4.js} +3 -3
- package/dist/cli/chunks/{llm-router-LQDM7IU2.js → llm-router-RKVDEWU2.js} +4 -4
- package/dist/cli/chunks/llm-router-service-KHCAMSUU.js +2 -0
- package/dist/cli/chunks/{load-YATHI72E.js → load-ITHC564X.js} +2 -2
- package/dist/cli/chunks/load-test-RUF7DZA5.js +2 -0
- package/dist/cli/chunks/{mcp-4Y6GDLYK.js → mcp-TCL5UW3N.js} +2 -2
- package/dist/cli/chunks/{memory-OUW3L7H2.js → memory-BKDAY2N2.js} +5 -5
- package/dist/cli/chunks/memory-backend-7ZLFOVGG.js +2 -0
- package/dist/cli/chunks/{memory-handlers-G3LFF53U.js → memory-handlers-WN4FXFOA.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-UBZJXAD2.js → multi-model-executor-VHAT7ZPF.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-AMMNWVH5.js → opencode-installer-E3VM3EEY.js} +2 -2
- package/dist/cli/chunks/{orchestrator-Y44WDOER.js → orchestrator-BMQ6X762.js} +58 -20
- package/dist/cli/chunks/pattern-null-store-RY6CVYHP.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-ESR42RME.js → pattern-usage-recorder-GOOR2BV5.js} +2 -2
- package/dist/cli/chunks/{pipeline-EDTS6OSC.js → pipeline-5NSFQQIX.js} +2 -2
- package/dist/cli/chunks/{platform-5WONJSUX.js → platform-SQM34J5G.js} +2 -2
- package/dist/cli/chunks/{plugin-IJXPCLD4.js → plugin-UQJZRMZG.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-5ECKGZK6.js → prime-radiant-advanced-wasm-WMDJOL4S.js} +2 -2
- package/dist/cli/chunks/project-root-IO5KRNGL.js +2 -0
- package/dist/cli/chunks/protocol-executor-U2CUDWDE.js +2 -0
- package/dist/cli/chunks/{protocol-handler-DRD3GVNW.js → protocol-handler-OBDCVY6X.js} +2 -2
- package/dist/cli/chunks/{prove-KTGW2HMJ.js → prove-XDC7I4XT.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-DQSSX2IP.js +2 -0
- package/dist/cli/chunks/{quality-DV2WPRRS.js → quality-L4GQ6WX4.js} +2 -2
- package/dist/cli/chunks/{quality-gate-HFUAFVZC.js → quality-gate-MJG66LKN.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-6FN4BZIX.js +2 -0
- package/dist/cli/chunks/real-embeddings-HW4G2LWL.js +2 -0
- package/dist/cli/chunks/{ref-validation-QWSKS5OY.js → ref-validation-FC7JOJ2C.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-RBAYRCHX.js → roocode-installer-KWS4CEIC.js} +2 -2
- package/dist/cli/chunks/router-YUO3I7RU.js +2 -0
- package/dist/cli/chunks/routing-feedback-36SLQGJE.js +2 -0
- package/dist/cli/chunks/{routing-handler-FMPP3XKO.js → routing-handler-QF4WVB2S.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-KZZT4HWF.js → ruvector-commands-2MTCOUK6.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-FRYZH3WZ.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-XXNITL5I.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-7CHEV35N.js → rvf-migration-coordinator-BREJCXWN.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-D2WWKJIV.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-Q2TH52SN.js → rvf-store-integrity-KKC6HOJD.js} +2 -2
- package/dist/cli/chunks/safe-db-4RRIGRXD.js +2 -0
- package/dist/cli/chunks/schedule-25RTO4DQ.js +2 -0
- package/dist/cli/chunks/scheduler-BPIOJZ5P.js +2 -0
- package/dist/cli/chunks/{security-CUEA3UIM.js → security-OSAE7VAP.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-DROMBRV2.js → shared-rvf-adapter-COUOS665.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-DBNABOP7.js → shared-rvf-dual-writer-YXMPZKQE.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-EDF47DDX.js +2 -0
- package/dist/cli/chunks/{standalone-memory-IAHA3M6B.js → standalone-memory-E6JBMOIL.js} +2 -2
- package/dist/cli/chunks/{status-handler-AFUCASTX.js → status-handler-AFTCIYIX.js} +2 -2
- package/dist/cli/chunks/{structural-health-AQRV6JJ6.js → structural-health-2FROCEI4.js} +2 -2
- package/dist/cli/chunks/{sync-XW5TLZ7M.js → sync-VAYTOWDC.js} +2 -2
- package/dist/cli/chunks/{sync-GX7FMJHL.js → sync-YIQYOFGW.js} +2 -2
- package/dist/cli/chunks/task-handler-KVQHDEX3.js +62 -0
- package/dist/cli/chunks/task-handlers-MVVECQA6.js +9 -0
- package/dist/cli/chunks/{test-D2XDJNDX.js → test-5JSVTOMY.js} +4 -4
- package/dist/cli/chunks/test-runner-process-LEPF2OSS.js +2 -0
- package/dist/cli/chunks/{test-scheduling-TS6I2PR7.js → test-scheduling-HBOHVLI3.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-HBBLPCZ3.js → token-bootstrap-5VEPTPFA.js} +2 -2
- package/dist/cli/chunks/{token-usage-3MBUX4PR.js → token-usage-TBJHDLY6.js} +2 -2
- package/dist/cli/chunks/{transformers-ZWMQO3L2.js → transformers-VAWYMHMZ.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-TSZTCMFV.js +2 -0
- package/dist/cli/chunks/{types-5YEMGPSQ.js → types-R5SDZU2E.js} +2 -2
- package/dist/cli/chunks/unified-memory-TLGSSLMI.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-MSUR7ZOO.js +2 -0
- package/dist/cli/chunks/unified-persistence-VFFOTWK7.js +2 -0
- package/dist/cli/chunks/{upgrade-2TPBKIHI.js → upgrade-K5PIHXRB.js} +2 -2
- package/dist/cli/chunks/{validate-XRAXXFW6.js → validate-RPTS7RYJ.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-IYSCS3BZ.js → validate-swarm-B2ZL556X.js} +2 -2
- package/dist/cli/chunks/visual-security-6Q44XNLB.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-PZQ3ZG2P.js → web-tree-sitter-K4DUJC32.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-U6XWFRVT.js → windsurf-installer-OK2AJN35.js} +2 -2
- package/dist/cli/chunks/witness-chain-KDOMXDQX.js +2 -0
- package/dist/cli/chunks/witness-chain-N3OY2RMH.js +2 -0
- package/dist/cli/chunks/{witness-chain-repair-K7YX2AO6.js → witness-chain-repair-L6Y5RFXR.js} +2 -2
- package/dist/cli/chunks/{witness-chain-verifier-GUTC3W7N.js → witness-chain-verifier-N4CW7FZX.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-YBNKMOP6.js → witness-key-manager-TDNPS3WD.js} +2 -2
- package/dist/cli/chunks/{workflow-UAJUILFQ.js → workflow-XRZA3YCY.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-CVNNT2RJ.js +2 -0
- package/dist/cli/chunks/{wrappers-AVZ3GPAL.js → wrappers-5JIFWKN6.js} +2 -2
- package/dist/cli/commands/ci.js +7 -0
- package/dist/cli/commands/code.js +6 -0
- package/dist/cli/commands/coverage.js +7 -1
- package/dist/cli/commands/fleet-run.d.ts +12 -0
- package/dist/cli/commands/fleet-run.js +175 -0
- package/dist/cli/commands/fleet.js +2 -117
- package/dist/cli/commands/hooks-handlers/stats-hooks.d.ts +4 -3
- package/dist/cli/commands/hooks-handlers/stats-hooks.js +22 -4
- package/dist/cli/handlers/task-handler.d.ts +5 -0
- package/dist/cli/handlers/task-handler.js +26 -0
- package/dist/cli/utils/coverage-verdict.d.ts +11 -2
- package/dist/cli/utils/coverage-verdict.js +26 -6
- package/dist/cli/utils/fleet-operation.d.ts +10 -2
- package/dist/cli/utils/fleet-operation.js +20 -3
- package/dist/cli/utils/fleet-result.d.ts +20 -4
- package/dist/cli/utils/fleet-result.js +32 -21
- package/dist/cli/utils/fleet-shard.d.ts +36 -0
- package/dist/cli/utils/fleet-shard.js +110 -0
- package/dist/coordination/handlers/code-intelligence-handlers.js +21 -1
- package/dist/coordination/handlers/coverage-collection.d.ts +2 -0
- package/dist/coordination/handlers/coverage-collection.js +2 -1
- package/dist/coordination/handlers/coverage-evidence.d.ts +75 -0
- package/dist/coordination/handlers/coverage-evidence.js +159 -0
- package/dist/coordination/handlers/coverage-handlers.js +16 -3
- package/dist/coordination/handlers/coverage-scope.d.ts +40 -0
- package/dist/coordination/handlers/coverage-scope.js +321 -0
- package/dist/coordination/handlers/coverage-target.d.ts +9 -0
- package/dist/coordination/handlers/coverage-target.js +15 -5
- package/dist/coordination/handlers/handler-types.d.ts +2 -2
- package/dist/coordination/handlers/handler-utils.d.ts +11 -0
- package/dist/coordination/handlers/handler-utils.js +22 -8
- package/dist/coordination/handlers/misc-handlers.js +5 -2
- package/dist/coordination/handlers/quality-handlers.js +2 -2
- package/dist/coordination/handlers/security-handlers.js +12 -2
- package/dist/coordination/protocols/security-audit.js +11 -1
- package/dist/coordination/task-executor.js +7 -2
- package/dist/domains/code-intelligence/coordinator-gnn.d.ts +2 -16
- package/dist/domains/code-intelligence/coordinator-gnn.js +1 -62
- package/dist/domains/code-intelligence/coordinator.d.ts +12 -6
- package/dist/domains/code-intelligence/coordinator.js +24 -27
- package/dist/domains/code-intelligence/interfaces.d.ts +9 -0
- package/dist/domains/code-intelligence/services/metric-collector/listing-process-owner.js +4 -1
- package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +51 -5
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +144 -78
- package/dist/domains/coverage-analysis/collected-metrics.d.ts +10 -0
- package/dist/domains/coverage-analysis/collected-metrics.js +29 -0
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +11 -3
- package/dist/domains/coverage-analysis/services/coverage-parser.d.ts +2 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.js +18 -2
- package/dist/domains/quality-assessment/coherence/gate-controller.js +16 -4
- package/dist/domains/quality-assessment/coherence/lambda-calculator.d.ts +8 -0
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js +57 -14
- package/dist/domains/quality-assessment/coherence/types.d.ts +12 -7
- package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +3 -1
- package/dist/domains/quality-assessment/coordinator-reports.d.ts +30 -10
- package/dist/domains/quality-assessment/coordinator-reports.js +93 -57
- package/dist/domains/quality-assessment/coordinator.d.ts +14 -40
- package/dist/domains/quality-assessment/coordinator.js +10 -4
- package/dist/domains/quality-assessment/interfaces.d.ts +2 -0
- package/dist/domains/quality-assessment/services/coherence-gate.js +15 -2
- package/dist/domains/quality-assessment/services/quality-gate.js +6 -4
- package/dist/domains/security-compliance/index.d.ts +1 -1
- package/dist/domains/security-compliance/interfaces.d.ts +46 -5
- package/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +3 -3
- package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +15 -14
- package/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +8 -9
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +19 -44
- package/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +3 -3
- package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +13 -9
- package/dist/domains/security-compliance/services/scanners/dast-requests.d.ts +54 -0
- package/dist/domains/security-compliance/services/scanners/dast-requests.js +125 -0
- package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +5 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +125 -155
- package/dist/domains/security-compliance/services/scanners/index.d.ts +1 -1
- package/dist/domains/security-compliance/services/scanners/index.js +1 -1
- package/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +2 -2
- package/dist/domains/security-compliance/services/security-auditor-dast.js +183 -212
- package/dist/domains/security-compliance/services/security-auditor-reports.js +5 -1
- package/dist/domains/security-compliance/services/security-auditor.d.ts +11 -3
- package/dist/domains/security-compliance/services/security-auditor.js +106 -65
- package/dist/domains/test-execution/coordinator.d.ts +2 -1
- package/dist/domains/test-execution/coordinator.js +33 -27
- package/dist/domains/test-execution/interfaces.d.ts +5 -0
- package/dist/domains/test-execution/services/test-executor.d.ts +6 -0
- package/dist/domains/test-execution/services/test-executor.js +16 -4
- package/dist/domains/visual-accessibility/coordinator.js +34 -9
- package/dist/domains/visual-accessibility/interfaces.d.ts +27 -0
- package/dist/domains/visual-accessibility/plugin.js +5 -0
- package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.d.ts +13 -21
- package/dist/domains/visual-accessibility/services/accessibility-tester-heuristics.js +13 -297
- package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +13 -5
- package/dist/domains/visual-accessibility/services/accessibility-tester.js +96 -73
- package/dist/init/phases/10-workers.js +42 -4
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +23 -1
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +50 -15
- package/dist/integrations/agentic-flow/reasoning-bank/index.d.ts +7 -2
- package/dist/integrations/agentic-flow/reasoning-bank/index.js +8 -0
- package/dist/integrations/embeddings/index/HNSWIndex.js +8 -4
- package/dist/integrations/ruvector/transfer-coherence-stub.js +5 -10
- package/dist/learning/embedder-endpoint-client.d.ts +8 -0
- package/dist/learning/embedder-endpoint-client.js +20 -0
- package/dist/learning/embedder-recovery.d.ts +63 -0
- package/dist/learning/embedder-recovery.js +94 -0
- package/dist/learning/qe-reasoning-bank-types.d.ts +5 -0
- package/dist/learning/qe-reasoning-bank.d.ts +21 -0
- package/dist/learning/qe-reasoning-bank.js +54 -8
- package/dist/learning/real-embeddings.d.ts +23 -0
- package/dist/learning/real-embeddings.js +69 -2
- package/dist/learning/real-qe-reasoning-bank.d.ts +24 -4
- package/dist/learning/real-qe-reasoning-bank.js +58 -20
- package/dist/logging/redaction.js +142 -12
- package/dist/mcp/bundle.js +509 -497
- package/dist/mcp/daemon-mode.d.ts +126 -0
- package/dist/mcp/daemon-mode.js +257 -0
- package/dist/mcp/entry.d.ts +4 -0
- package/dist/mcp/entry.js +50 -2
- package/dist/mcp/handlers/domain-handler-configs.d.ts +8 -0
- package/dist/mcp/handlers/domain-handler-configs.js +14 -2
- package/dist/mcp/handlers/handler-factory.js +3 -0
- package/dist/mcp/handlers/model-route-handlers.d.ts +107 -0
- package/dist/mcp/handlers/model-route-handlers.js +139 -0
- package/dist/mcp/handlers/orchestrate-routes.d.ts +6 -1
- package/dist/mcp/handlers/orchestrate-routes.js +94 -3
- package/dist/mcp/handlers/task-handlers.d.ts +3 -242
- package/dist/mcp/handlers/task-handlers.js +11 -788
- package/dist/mcp/handlers/task-inference.d.ts +26 -0
- package/dist/mcp/handlers/task-inference.js +156 -0
- package/dist/mcp/handlers/task-learning-handlers.d.ts +92 -0
- package/dist/mcp/handlers/task-learning-handlers.js +230 -0
- package/dist/mcp/handlers/task-orchestrate-handler.d.ts +73 -0
- package/dist/mcp/handlers/task-orchestrate-handler.js +361 -0
- package/dist/mcp/protocol-server.js +15 -2
- package/dist/mcp/services/reasoning-bank-service.d.ts +6 -1
- package/dist/mcp/services/reasoning-bank-service.js +9 -0
- package/dist/mcp/tools/code-intelligence/analyze.js +3 -6
- package/dist/mcp/tools/coverage-analysis/index.d.ts +4 -0
- package/dist/mcp/tools/coverage-analysis/index.js +8 -2
- package/dist/mcp/tools/visual-accessibility/index.d.ts +7 -0
- package/dist/mcp/tools/visual-accessibility/index.js +29 -13
- package/dist/mcp/types.d.ts +14 -0
- package/dist/routing/advisor/redaction.js +22 -2
- package/dist/shared/events/domain-events.d.ts +2 -0
- package/dist/shared/llm/providers/response-deadline.js +16 -2
- package/dist/shared/metrics/code-metrics.js +21 -3
- package/dist/shared/parsers/typescript-parser.d.ts +6 -0
- package/dist/shared/parsers/typescript-parser.js +13 -1
- package/dist/shared/types/index.js +3 -1
- package/dist/strange-loop/infra-healing/infra-aware-agent-provider.js +8 -1
- package/package.json +3 -3
- package/dist/cli/chunks/adapter-V4GSGOOK.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-6WQTM5YR.js +0 -2
- package/dist/cli/chunks/base-AK7BXBX2.js +0 -2
- package/dist/cli/chunks/browser-workflow-VTDFBW7T.js +0 -2
- package/dist/cli/chunks/chunk-2DTX7YAZ.js +0 -6
- package/dist/cli/chunks/chunk-72ZBJD2E.js +0 -3
- package/dist/cli/chunks/chunk-EBPJY4DI.js +0 -3
- package/dist/cli/chunks/chunk-H43AFUKL.js +0 -2
- package/dist/cli/chunks/chunk-HJ3XNTTJ.js +0 -2
- package/dist/cli/chunks/chunk-IO5537OM.js +0 -2
- package/dist/cli/chunks/chunk-IW6WDGHM.js +0 -2
- package/dist/cli/chunks/chunk-K2HBNYAZ.js +0 -62
- package/dist/cli/chunks/chunk-LRL56ZYL.js +0 -21
- package/dist/cli/chunks/chunk-VLD7Z2ED.js +0 -13
- package/dist/cli/chunks/chunk-VO3DRK4P.js +0 -3
- package/dist/cli/chunks/ci-6GUFAZMJ.js +0 -81
- package/dist/cli/chunks/client-HL2COSFM.js +0 -2
- package/dist/cli/chunks/core-handlers-IX7ATLM6.js +0 -2
- package/dist/cli/chunks/cross-domain-router-YYKLAPJO.js +0 -2
- package/dist/cli/chunks/domain-transfer-DOBI67K6.js +0 -2
- package/dist/cli/chunks/dream-T6EP7B3F.js +0 -2
- package/dist/cli/chunks/file-discovery-JYMVTDMU.js +0 -2
- package/dist/cli/chunks/fleet-FVAUMKUT.js +0 -46
- package/dist/cli/chunks/heartbeat-scheduler-4N5MUJ7S.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-ZPAJDSLR.js +0 -2
- package/dist/cli/chunks/hnsw-index-4CTH6RHB.js +0 -2
- package/dist/cli/chunks/hybrid-backend-AW6UTXQS.js +0 -2
- package/dist/cli/chunks/impact-analyzer-MZK3JMSV.js +0 -2
- package/dist/cli/chunks/init-wizard-FUC7KDVX.js +0 -2
- package/dist/cli/chunks/kernel-ZCPMCVMW.js +0 -2
- package/dist/cli/chunks/knowledge-graph-NUJKEDNF.js +0 -2
- package/dist/cli/chunks/llm-router-service-B2BFBQ76.js +0 -2
- package/dist/cli/chunks/load-test-ZHQ2MUGO.js +0 -2
- package/dist/cli/chunks/memory-backend-AAMQG6WH.js +0 -2
- package/dist/cli/chunks/pattern-null-store-RFNVA46O.js +0 -2
- package/dist/cli/chunks/project-root-7QL4KP5C.js +0 -2
- package/dist/cli/chunks/protocol-executor-2NW5BD4R.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-G2JZOGKD.js +0 -2
- package/dist/cli/chunks/queen-coordinator-GRG5FT2A.js +0 -2
- package/dist/cli/chunks/real-embeddings-RQRVOKVM.js +0 -2
- package/dist/cli/chunks/router-LQB5SWAF.js +0 -2
- package/dist/cli/chunks/routing-feedback-OEEXA55N.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-BZK4M7BO.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-EZZUJL2E.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-6COXTQZ3.js +0 -2
- package/dist/cli/chunks/safe-db-PE6G3L55.js +0 -2
- package/dist/cli/chunks/schedule-OLKQ6QYW.js +0 -2
- package/dist/cli/chunks/scheduler-LSGBDFAT.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-HH4DNTYH.js +0 -2
- package/dist/cli/chunks/task-handler-TFKVUTNF.js +0 -60
- package/dist/cli/chunks/task-handlers-SS4ZDXNF.js +0 -9
- package/dist/cli/chunks/test-runner-process-PSSBNNGR.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-TYRQRJ2W.js +0 -2
- package/dist/cli/chunks/unified-memory-AGDZQ5XD.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-X5TJ3JDE.js +0 -2
- package/dist/cli/chunks/unified-persistence-UCV7YETW.js +0 -2
- package/dist/cli/chunks/visual-security-ZLXRIQZV.js +0 -2
- package/dist/cli/chunks/witness-chain-CVIWYTD2.js +0 -2
- package/dist/cli/chunks/witness-chain-VBKORKOX.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-3ZN7MVCE.js +0 -2
package/dist/mcp/types.d.ts
CHANGED
|
@@ -584,6 +584,20 @@ export interface CoverageAnalyzeResult {
|
|
|
584
584
|
* this is "no measurement", never 0%.
|
|
585
585
|
*/
|
|
586
586
|
unmeasured?: boolean;
|
|
587
|
+
/**
|
|
588
|
+
* #1154: `insufficient-evidence` when source files under the target are not
|
|
589
|
+
* in the report, or the report is older than the sources. The figures then
|
|
590
|
+
* cover the measured files only and must not be read as a pass.
|
|
591
|
+
*/
|
|
592
|
+
evidenceStatus?: 'complete' | 'insufficient-evidence';
|
|
593
|
+
/** #1154: source files under the target with no entry in the report. */
|
|
594
|
+
unmeasuredFiles?: string[];
|
|
595
|
+
/** #1154: the report is older than these source files. */
|
|
596
|
+
staleReport?: {
|
|
597
|
+
reportPath: string;
|
|
598
|
+
reportModified: string;
|
|
599
|
+
newerFiles: string[];
|
|
600
|
+
};
|
|
587
601
|
/** Caveats the caller should surface (e.g. "no instrumentation ran"). */
|
|
588
602
|
warning?: string;
|
|
589
603
|
}
|
|
@@ -26,7 +26,7 @@ const PATTERNS = [
|
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
category: 'api_key_header',
|
|
29
|
-
regex: /(Authorization:\s*Bearer\s+)\S+/gi,
|
|
29
|
+
regex: /(Authorization:\s*(?:Bearer|Token)\s+)\S+/gi,
|
|
30
30
|
replacement: '$1<REDACTED:api_key>',
|
|
31
31
|
modes: ['strict', 'balanced'],
|
|
32
32
|
},
|
|
@@ -38,7 +38,8 @@ const PATTERNS = [
|
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
category: 'private_key',
|
|
41
|
-
|
|
41
|
+
// A block with no END line (truncated output) is redacted to end of input.
|
|
42
|
+
regex: /-----BEGIN\s[\w\s]*PRIVATE KEY-----(?:[\s\S]*?-----END\s[\w\s]*PRIVATE KEY-----|[\s\S]*)/g,
|
|
42
43
|
replacement: '<REDACTED:private_key>',
|
|
43
44
|
modes: ['strict', 'balanced'],
|
|
44
45
|
},
|
|
@@ -66,6 +67,25 @@ const PATTERNS = [
|
|
|
66
67
|
replacement: '<REDACTED:slack_token>',
|
|
67
68
|
modes: ['strict', 'balanced'],
|
|
68
69
|
},
|
|
70
|
+
{
|
|
71
|
+
category: 'huggingface_token',
|
|
72
|
+
regex: /\bhf_[A-Za-z0-9]{30,}\b/g,
|
|
73
|
+
replacement: '<REDACTED:huggingface_token>',
|
|
74
|
+
modes: ['strict', 'balanced'],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
category: 'npm_token',
|
|
78
|
+
regex: /\bnpm_[A-Za-z0-9]{36,}\b/g,
|
|
79
|
+
replacement: '<REDACTED:npm_token>',
|
|
80
|
+
modes: ['strict', 'balanced'],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
// Cognitum API keys; the trailing lookahead skips snake_case identifiers.
|
|
84
|
+
category: 'cognitum_key',
|
|
85
|
+
regex: /\bcog_[A-Za-z0-9-]{20,}(?!\w)/g,
|
|
86
|
+
replacement: '<REDACTED:cognitum_key>',
|
|
87
|
+
modes: ['strict', 'balanced'],
|
|
88
|
+
},
|
|
69
89
|
{
|
|
70
90
|
category: 'stripe_key',
|
|
71
91
|
regex: /\b(sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_)[A-Za-z0-9]{10,}\b/g,
|
|
@@ -38,6 +38,8 @@ export interface TestRunCompletedPayload {
|
|
|
38
38
|
failed: number;
|
|
39
39
|
skipped: number;
|
|
40
40
|
duration: number;
|
|
41
|
+
/** #1176: tests that passed on a retry; already counted in `passed`. */
|
|
42
|
+
flaky?: number;
|
|
41
43
|
}
|
|
42
44
|
export interface FlakyTestDetectedPayload {
|
|
43
45
|
testId: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const IDLE_READ_AHEAD_BYTES = 1024 * 1024;
|
|
1
2
|
/**
|
|
2
3
|
* Bound headers and bodies; streaming callers may use an idle body deadline.
|
|
3
4
|
* `maxDurationMs` adds an absolute cap from the start of the request, so an
|
|
@@ -40,22 +41,35 @@ export async function fetchWithResponseDeadline(url, options, timeoutMs, timeout
|
|
|
40
41
|
resetIdleDeadline();
|
|
41
42
|
const reader = response.body.getReader();
|
|
42
43
|
let finished = false;
|
|
44
|
+
let expiry;
|
|
43
45
|
const finish = () => {
|
|
44
46
|
finished = true;
|
|
45
47
|
clearTimers();
|
|
46
48
|
};
|
|
49
|
+
// Idle streams read ahead of the consumer, so the deadline measures network
|
|
50
|
+
// silence rather than consumer pauses (#962). The read-ahead is bounded; a
|
|
51
|
+
// consumer stalled behind a full buffer still meets the deadline.
|
|
52
|
+
const highWaterMark = bodyDeadline === 'idle' ? IDLE_READ_AHEAD_BYTES : 0;
|
|
53
|
+
// Bytes already received are delivered before the deadline error surfaces.
|
|
54
|
+
const failWhenDrained = (controller) => {
|
|
55
|
+
if (expiry && controller.desiredSize === highWaterMark)
|
|
56
|
+
controller.error(expiry);
|
|
57
|
+
};
|
|
47
58
|
const body = new ReadableStream({
|
|
48
59
|
start(controller) {
|
|
49
60
|
expireBody = error => {
|
|
50
61
|
if (finished)
|
|
51
62
|
return;
|
|
52
63
|
finish();
|
|
53
|
-
|
|
64
|
+
expiry = error;
|
|
65
|
+
failWhenDrained(controller);
|
|
54
66
|
// Cancel also settles any pending read before releasing its lock.
|
|
55
67
|
void reader.cancel(error).catch(() => { }).finally(() => reader.releaseLock());
|
|
56
68
|
};
|
|
57
69
|
},
|
|
58
70
|
async pull(controller) {
|
|
71
|
+
if (expiry)
|
|
72
|
+
return failWhenDrained(controller);
|
|
59
73
|
try {
|
|
60
74
|
const result = await reader.read();
|
|
61
75
|
if (finished)
|
|
@@ -89,7 +103,7 @@ export async function fetchWithResponseDeadline(url, options, timeoutMs, timeout
|
|
|
89
103
|
reader.releaseLock();
|
|
90
104
|
}
|
|
91
105
|
},
|
|
92
|
-
}, { highWaterMark
|
|
106
|
+
}, new ByteLengthQueuingStrategy({ highWaterMark }));
|
|
93
107
|
const bounded = new Response(body, {
|
|
94
108
|
status: response.status,
|
|
95
109
|
statusText: response.statusText,
|
|
@@ -41,6 +41,15 @@ function isGeneratedSource(content) {
|
|
|
41
41
|
const head = content.slice(0, GENERATED_SNIFF_CHARS).replace(/\r\n/g, '\n');
|
|
42
42
|
return GO_GENERATED_LINE.test(head) || GENERATED_TAG.test(firstCommentBlock(head));
|
|
43
43
|
}
|
|
44
|
+
/** Extensions parsed as TypeScript/JavaScript; anything else is only estimated. */
|
|
45
|
+
const PARSED_EXTENSIONS = ['ts', 'tsx', 'mts', 'cts', 'js', 'jsx', 'mjs', 'cjs'];
|
|
46
|
+
/**
|
|
47
|
+
* A UTF-16 file read as UTF-8: its byte-order mark becomes two replacement
|
|
48
|
+
* characters (#1020). It is source in an unsupported encoding, not binary.
|
|
49
|
+
*/
|
|
50
|
+
function isUtf16Source(content) {
|
|
51
|
+
return content.startsWith('\uFFFD\uFFFD') && content.slice(0, BINARY_SNIFF_CHARS).includes('\u0000');
|
|
52
|
+
}
|
|
44
53
|
/** Exclusion decided from the file name alone. */
|
|
45
54
|
function excludedByName(filePath) {
|
|
46
55
|
const name = filePath.split(/[\\/]/).pop() ?? filePath;
|
|
@@ -86,6 +95,9 @@ export class CodeMetricsAnalyzer {
|
|
|
86
95
|
? { status: 'excluded', metrics: null, reason: `${filePath} was refused by the file reader (${readError.message})` }
|
|
87
96
|
: { status: 'failed', metrics: null, reason: `${filePath} could not be read (${readError.message})` };
|
|
88
97
|
}
|
|
98
|
+
if (content !== undefined && isUtf16Source(content)) {
|
|
99
|
+
return { status: 'failed', metrics: null, reason: `${filePath} is UTF-16 encoded; only UTF-8 source can be analysed` };
|
|
100
|
+
}
|
|
89
101
|
// git-style sniff, except that TS/JS which parses cleanly is source even
|
|
90
102
|
// with a raw NUL inside a string literal (seen in real repos).
|
|
91
103
|
const sourceDespiteNul = parsedAsSource && !parseFailure;
|
|
@@ -97,6 +109,11 @@ export class CodeMetricsAnalyzer {
|
|
|
97
109
|
}
|
|
98
110
|
if (parseFailure)
|
|
99
111
|
return { status: 'failed', metrics, reason: `${filePath} could not be parsed (${parseFailure})` };
|
|
112
|
+
// #1020: without a parse, complexity is a regex estimate — the same
|
|
113
|
+
// estimate a TS parse failure falls back to — so it is not a measurement.
|
|
114
|
+
if (!parsedAsSource) {
|
|
115
|
+
return { status: 'failed', metrics, reason: `${filePath} was not parsed (no parser for this file type); its complexity would only be a regex estimate` };
|
|
116
|
+
}
|
|
100
117
|
return { status: 'measured', metrics };
|
|
101
118
|
}
|
|
102
119
|
/** Compute metrics, reporting read errors and parse failures separately. */
|
|
@@ -119,10 +136,11 @@ export class CodeMetricsAnalyzer {
|
|
|
119
136
|
let functionCount = 0;
|
|
120
137
|
let classCount = 0;
|
|
121
138
|
// Only parse TypeScript/JavaScript files
|
|
122
|
-
|
|
139
|
+
const parsedAsSource = PARSED_EXTENSIONS.includes(ext);
|
|
140
|
+
if (parsedAsSource) {
|
|
123
141
|
try {
|
|
124
142
|
const ast = this.parser.parseFile(fileName, content);
|
|
125
|
-
const syntaxErrors = ast
|
|
143
|
+
const syntaxErrors = this.parser.countSyntaxErrors(ast);
|
|
126
144
|
if (syntaxErrors > 0) {
|
|
127
145
|
parseFailure = `${syntaxErrors} syntax error${syntaxErrors === 1 ? '' : 's'}`;
|
|
128
146
|
}
|
|
@@ -197,7 +215,7 @@ export class CodeMetricsAnalyzer {
|
|
|
197
215
|
classCount,
|
|
198
216
|
maxNestingDepth,
|
|
199
217
|
};
|
|
200
|
-
return { metrics, content, parseFailure, parsedAsSource
|
|
218
|
+
return { metrics, content, parseFailure, parsedAsSource };
|
|
201
219
|
}
|
|
202
220
|
/**
|
|
203
221
|
* Analyze function-level metrics
|
|
@@ -160,6 +160,12 @@ export declare class TypeScriptParser {
|
|
|
160
160
|
* Parse a TypeScript file and return the AST SourceFile
|
|
161
161
|
*/
|
|
162
162
|
parseFile(filePath: string, content: string): ts.SourceFile;
|
|
163
|
+
/**
|
|
164
|
+
* #1020: syntax errors in a parsed file, read through the public Program
|
|
165
|
+
* API instead of the internal `parseDiagnostics` field. For JavaScript this
|
|
166
|
+
* includes TypeScript-only syntax, which is not valid JavaScript.
|
|
167
|
+
*/
|
|
168
|
+
countSyntaxErrors(sourceFile: ts.SourceFile): number;
|
|
163
169
|
/**
|
|
164
170
|
* Extract all functions from the AST
|
|
165
171
|
*/
|
|
@@ -17,6 +17,18 @@ export class TypeScriptParser {
|
|
|
17
17
|
parseFile(filePath, content) {
|
|
18
18
|
return ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, this.getScriptKind(filePath));
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* #1020: syntax errors in a parsed file, read through the public Program
|
|
22
|
+
* API instead of the internal `parseDiagnostics` field. For JavaScript this
|
|
23
|
+
* includes TypeScript-only syntax, which is not valid JavaScript.
|
|
24
|
+
*/
|
|
25
|
+
countSyntaxErrors(sourceFile) {
|
|
26
|
+
const options = { noLib: true, noResolve: true, allowJs: true, types: [] };
|
|
27
|
+
const host = ts.createCompilerHost(options);
|
|
28
|
+
host.getSourceFile = () => sourceFile;
|
|
29
|
+
const program = ts.createProgram({ rootNames: [sourceFile.fileName], options, host });
|
|
30
|
+
return program.getSyntacticDiagnostics(sourceFile).length;
|
|
31
|
+
}
|
|
20
32
|
/**
|
|
21
33
|
* Extract all functions from the AST
|
|
22
34
|
*/
|
|
@@ -227,7 +239,7 @@ export class TypeScriptParser {
|
|
|
227
239
|
return ts.ScriptKind.TS;
|
|
228
240
|
if (filePath.endsWith('.jsx'))
|
|
229
241
|
return ts.ScriptKind.JSX;
|
|
230
|
-
if (
|
|
242
|
+
if (/\.(js|mjs|cjs)$/.test(filePath))
|
|
231
243
|
return ts.ScriptKind.JS;
|
|
232
244
|
return ts.ScriptKind.TS;
|
|
233
245
|
}
|
|
@@ -43,6 +43,8 @@ export function isPriority(value) {
|
|
|
43
43
|
}
|
|
44
44
|
/** Shared rejection message so `task_submit` and `aqe task submit` stay in parity (#1108). */
|
|
45
45
|
export function invalidPriorityMessage(value) {
|
|
46
|
-
|
|
46
|
+
// An empty string would otherwise render as "Invalid priority: ." (#1117).
|
|
47
|
+
const shown = value === '' ? '(empty)' : String(value);
|
|
48
|
+
return `Invalid priority: ${shown}. Valid priorities: ${ALL_PRIORITIES.join(', ')}`;
|
|
47
49
|
}
|
|
48
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -79,7 +79,14 @@ export class InfraAwareAgentProvider {
|
|
|
79
79
|
* Failing services get responsiveness=0, healthy services get 1.0.
|
|
80
80
|
*/
|
|
81
81
|
getInfraAgentHealth(agentId) {
|
|
82
|
-
|
|
82
|
+
// The prefix is a literal, not a pattern: createInfraAgents() builds ids
|
|
83
|
+
// by concatenation and getAgentHealth() routes by startsWith(). Strip it
|
|
84
|
+
// the same way so a prefix containing regex metacharacters still recovers
|
|
85
|
+
// the real service name instead of silently reporting a down service as
|
|
86
|
+
// healthy (and so an unparseable prefix can't throw).
|
|
87
|
+
const serviceName = agentId.startsWith(this.prefix)
|
|
88
|
+
? agentId.slice(this.prefix.length)
|
|
89
|
+
: agentId;
|
|
83
90
|
const failingServices = this.observer.getFailingServices();
|
|
84
91
|
const isFailing = failingServices.has(serviceName);
|
|
85
92
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.13",
|
|
4
4
|
"description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
"@types/ws": "^8.18.1",
|
|
272
272
|
"@typescript-eslint/eslint-plugin": "^8.59.3",
|
|
273
273
|
"@typescript-eslint/parser": "^8.59.3",
|
|
274
|
-
"@vitest/coverage-v8": "^5.0.
|
|
274
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
275
275
|
"ajv": "^8.20.0",
|
|
276
276
|
"ajv-formats": "^3.0.1",
|
|
277
277
|
"dotenv": "^17.2.3",
|
|
@@ -282,7 +282,7 @@
|
|
|
282
282
|
"msw": "^2.12.7",
|
|
283
283
|
"tsx": "^4.21.0",
|
|
284
284
|
"vibium": "^26.8.21",
|
|
285
|
-
"vitest": "^5.0.
|
|
285
|
+
"vitest": "^5.0.5"
|
|
286
286
|
},
|
|
287
287
|
"engines": {
|
|
288
288
|
"node": ">=22.13.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-UTTSH4NH.js";import"./chunk-HDNWSKHA.js";import"./chunk-YPX2TV3M.js";import"./chunk-JFLU7L3W.js";import"./chunk-DDEOZPWJ.js";import"./chunk-CFWGGRE7.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-FWSGPE3V.js";import"./chunk-I36CRDHF.js";import"./chunk-6NA3KZZT.js";import"./chunk-NTB342NJ.js";import"./chunk-JGJXXAS6.js";import"./chunk-35M2X3C5.js";import"./chunk-7HEMJHPP.js";import"./chunk-DOBZPSKE.js";import"./chunk-V5AADCBC.js";import"./chunk-CO3DX2AX.js";import"./chunk-KDI5JOYZ.js";import"./chunk-NT7JRHMH.js";import"./chunk-CIAL4YRY.js";import"./chunk-AUUJBXWX.js";import"./chunk-YNOCQ2SL.js";import"./chunk-IOZRKXR5.js";import"./chunk-LD5CFK53.js";import"./chunk-XGPTZUKQ.js";import"./chunk-JFLU7L3W.js";import"./chunk-WM3SRRA6.js";import"./chunk-XGBU3KEM.js";import"./chunk-G2IJFNZS.js";import"./chunk-M5XYIQYZ.js";import"./chunk-NQZNMCZU.js";import"./chunk-5N25I53C.js";import"./chunk-OYJC3YON.js";import"./chunk-VLD7Z2ED.js";import"./chunk-EJPK7OTR.js";import"./chunk-7R5HC56U.js";import"./chunk-IW6WDGHM.js";import"./chunk-QDESWOZP.js";import"./chunk-IO5537OM.js";import"./chunk-FZHSG75I.js";import"./chunk-VO3DRK4P.js";import"./chunk-HJ3XNTTJ.js";import"./chunk-76SNL7GU.js";import"./chunk-DOFREOPQ.js";import"./chunk-EH2S6AOR.js";import"./chunk-XNLIWQYE.js";import"./chunk-Z2EA7A4Z.js";import"./chunk-J4JMCZVA.js";import"./chunk-4MUBW4RT.js";import"./chunk-DDEOZPWJ.js";import"./chunk-XJKZ7FTR.js";import"./chunk-CFWGGRE7.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-ZMHCMJ4J.js";import"./chunk-RTY7VSZB.js";import"./chunk-OV5RPLKV.js";import"./chunk-LD5CFK53.js";import"./chunk-XGPTZUKQ.js";import"./chunk-JFLU7L3W.js";import"./chunk-WM3SRRA6.js";import"./chunk-XGBU3KEM.js";import"./chunk-G2IJFNZS.js";import"./chunk-M5XYIQYZ.js";import"./chunk-NQZNMCZU.js";import"./chunk-5N25I53C.js";import"./chunk-OYJC3YON.js";import"./chunk-EJPK7OTR.js";import"./chunk-7R5HC56U.js";import"./chunk-QDESWOZP.js";import"./chunk-IO5537OM.js";import"./chunk-FZHSG75I.js";import"./chunk-VO3DRK4P.js";import"./chunk-HJ3XNTTJ.js";import"./chunk-76SNL7GU.js";import"./chunk-EH2S6AOR.js";import"./chunk-XNLIWQYE.js";import"./chunk-4MUBW4RT.js";import"./chunk-DDEOZPWJ.js";import"./chunk-XJKZ7FTR.js";import"./chunk-CFWGGRE7.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-HFFPYC4G.js";import"./chunk-ZMHCMJ4J.js";import"./chunk-RTY7VSZB.js";import"./chunk-OV5RPLKV.js";import"./chunk-LD5CFK53.js";import"./chunk-XGPTZUKQ.js";import"./chunk-JFLU7L3W.js";import"./chunk-WM3SRRA6.js";import"./chunk-XGBU3KEM.js";import"./chunk-G2IJFNZS.js";import"./chunk-M5XYIQYZ.js";import"./chunk-NQZNMCZU.js";import"./chunk-5N25I53C.js";import"./chunk-OYJC3YON.js";import"./chunk-EJPK7OTR.js";import"./chunk-7R5HC56U.js";import"./chunk-QDESWOZP.js";import"./chunk-IO5537OM.js";import"./chunk-FZHSG75I.js";import"./chunk-VO3DRK4P.js";import"./chunk-HJ3XNTTJ.js";import"./chunk-76SNL7GU.js";import"./chunk-EH2S6AOR.js";import"./chunk-XNLIWQYE.js";import"./chunk-4MUBW4RT.js";import"./chunk-DDEOZPWJ.js";import"./chunk-XJKZ7FTR.js";import"./chunk-CFWGGRE7.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a as F,c as $,d as N,e as b,f as L}from"./chunk-72ZBJD2E.js";import{c as _,d as v}from"./chunk-M7XFBSIK.js";import{c as C,e as se}from"./chunk-ITL3IN2E.js";import{c as A,d as re}from"./chunk-EH2S6AOR.js";import*as p from"fs";import*as X from"os";import*as l from"path";import*as f from"fs";import*as O from"os";import*as u from"path";se();function oe(n=process.env){let t=(n.AQE_COVERAGE_NO_EXEC??"").trim().toLowerCase();return t?t!=="false"&&t!=="0"&&t!=="no"&&t!=="off":!1}var ae=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".go",".rs",".java",".rb"]),I=new Set(["node_modules","dist","build","coverage",".git",".claude",".agentic-qe","__pycache__",".venv","target","vendor"]),W=new Set(["tests","test","__tests__","benches","examples","spec"]),ie=[/\.test\./i,/\.spec\./i,/_test\./i,/_spec\./i,/^test_/i,/^test\./i,/^conftest\./i];function y(n,t){let e=n.split(u.sep).join("/"),r=u.basename(e);if(ie.some(s=>s.test(r)))return!0;let o=e;if(t){let s=u.resolve(t).split(u.sep).join("/"),i=u.resolve(n).split(u.sep).join("/");(i===s||i.startsWith(`${s}/`))&&(o=i.slice(s.length).replace(/^\//,""))}return o.split("/").some(s=>W.has(s))}function ce(n){let t=n.split(""),e=n.length,r=0,o=(s,i)=>{for(let a=s;a<i&&a<e;a++)n[a]!==`
|
|
3
|
-
`&&(t[a]=" ")};for(;r<e;){let s=n[r];if(s==="/"&&n[r+1]==="/"){let a=n.indexOf(`
|
|
4
|
-
`,r),c=a===-1?e:a;o(r,c),r=c;continue}if(s==="/"&&n[r+1]==="*"){let a=0,c=r;for(;r<e;){if(n[r]==="/"&&n[r+1]==="*"){a++,r+=2;continue}if(n[r]==="*"&&n[r+1]==="/"){if(a--,r+=2,a===0)break;continue}r++}o(c,r);continue}let i=/^b?r(#*)"/.exec(n.slice(r,r+300));if(i){let a=`"${i[1]}`,c=r+i[0].length,g=n.indexOf(a,c),h=g===-1?e:g+a.length;o(r,h),r=h;continue}if(s==='"'){let a=r;for(r++;r<e;){if(n[r]==="\\"){r+=2;continue}if(n[r]==='"'){r++;break}r++}o(a,r);continue}if(s==="'"){let a=-1;if(n[r+1]==="\\"){let c=n.indexOf("'",r+2);c!==-1&&c<=r+5&&(a=c+1)}else n[r+2]==="'"&&(a=r+3);if(a!==-1){o(r,a),r=a;continue}}r++}return t.join("")}function le(n,t){if(t!==".rs")return[];let e=ce(n).split(`
|
|
5
|
-
`),r=[];for(let o=0;o<e.length;o++){if(!/#\s*\[\s*cfg\s*\(\s*test\s*\)\s*\]/.test(e[o]))continue;let s=-1;for(let c=o;c<Math.min(e.length,o+10);c++){let g=e[c],h=g.indexOf("{"),d=g.indexOf(";");if(d!==-1&&(h===-1||d<h))break;if(h!==-1){let x=e.slice(o,c+1).join(" ");/\bmod\s+\w+/.test(x)&&(s=c);break}}if(s===-1)continue;let i=0,a=-1;for(let c=s;c<e.length;c++){for(let g of e[c])g==="{"?i++:g==="}"&&i--;if(i<=0){a=c;break}}r.push([o+1,(a===-1?e.length-1:a)+1]),o=a===-1?e.length:a}return r}function ue(n){if(n.length===0)return 0;let t=n.split(`
|
|
6
|
-
`);return t[t.length-1]===""&&t.pop(),t.length}function U(n,t=6){let e=u.resolve(n);try{if(!f.existsSync(e))return null;f.statSync(e).isDirectory()||(e=u.dirname(e))}catch{return null}for(let r=0;r<=t;r++){if(f.existsSync(u.join(e,"Cargo.toml")))return f.realpathSync(e);let o=u.dirname(e);if(o===e)break;e=o}return null}function J(n,t=0){if(t>4)return!1;let e;try{e=f.readdirSync(n,{withFileTypes:!0})}catch{return!1}for(let r of e)if(r.isFile()&&u.extname(r.name)===".rs")return!0;for(let r of e)if(r.isDirectory()&&!I.has(r.name)&&J(u.join(n,r.name),t+1))return!0;return!1}function Fe(n){let t=U(n);if(t===null)return!1;let e=u.resolve(n);return e===t||J(e)}async function $e(n,t={}){if(oe())return null;let e=t.timeoutMs??3e5,r=U(n);if(!r)return null;let o=await C("cargo",["llvm-cov","--version"],{cwd:r,timeout:3e4});if(o.error||o.status!==0)return null;let s=u.join(f.mkdtempSync(u.join(O.tmpdir(),"aqe-rust-cov-")),"lcov.info");try{let i=await C("cargo",["llvm-cov","--lcov","--output-path",s],{cwd:r,timeout:e});if(i.error||i.status!==0||!f.existsSync(s))return null;let c=b(f.readFileSync(s,"utf-8")).files.filter(d=>!y(d.path,r));if(c.length===0)return null;let g=z(c),h=c.some(d=>d.branches.total>0);return{data:g,provenance:{method:"cargo-llvm-cov",estimated:!1,branchDataCollected:h,functionDataCollected:c.some(d=>d.functions.total>0),notes:h?[]:["cargo-llvm-cov reported no branch data (Rust branch coverage requires a nightly toolchain with -Z coverage-options=branch). Branch coverage is reported as null rather than assumed."]}}}catch{return null}finally{try{f.rmSync(u.dirname(s),{recursive:!0,force:!0})}catch{}}}var M={".rs":{fn:/\bfn\s+\w+/g,branch:/\b(if|match|while|for)\b|\?\?|\|\||&&/g},".go":{fn:/\bfunc\s+\w*/g,branch:/\b(if|switch|case|for|select)\b|\|\||&&/g},".py":{fn:/\b(def|lambda)\b/g,branch:/\b(if|elif|for|while|except)\b|\band\b|\bor\b/g},".java":{fn:/\b(public|private|protected|static)[\w<>,\s[\]]+\w+\s*\(/g,branch:/\b(if|switch|case|for|while|catch)\b|\|\||&&/g},".rb":{fn:/\bdef\s+\w+/g,branch:/\b(if|elsif|unless|case|when|while)\b|\|\||&&/g},default:{fn:/\bfunction\b|=>|\b\w+\s*\([^)]*\)\s*\{/g,branch:/\b(if|switch|case|for|while|catch)\b|\?\?|\|\||&&/g}};function fe(n){return M[n]??M.default}function P(n,t){return(n.match(new RegExp(t.source,t.flags))||[]).length}function z(n){let t=s=>n.reduce((i,a)=>i+s(a),0),e=(s,i)=>i>0?Math.round(s/i*100):0,r=t(s=>s.lines.total),o=t(s=>s.lines.covered);return{files:n,summary:{line:e(o,r),branch:e(t(s=>s.branches.covered),t(s=>s.branches.total)),function:e(t(s=>s.functions.covered),t(s=>s.functions.total)),statement:e(o,r),files:n.length}}}function pe(n){let t=[],e=n;function r(o,s){if(s>6)return;let i;try{i=f.readdirSync(o,{withFileTypes:!0})}catch{return}for(let a of i){let c=u.join(o,a.name);if(a.isDirectory()){if(I.has(a.name)||W.has(a.name))continue;r(c,s+1)}else if(a.isFile()){if(!ae.has(u.extname(a.name))||y(c,e))continue;t.push(c)}}}return r(n,0),t}function Ne(n){if(!f.existsSync(n)||!f.statSync(n).isDirectory())return null;let t=pe(n);if(t.length===0)return null;let e=t.map(r=>{let o="";try{o=v(r,{outsideRoot:"allow"})}catch{}let s=u.extname(r),i=ue(o),a=le(o,s),c=m=>a.some(([w,R])=>m>=w&&m<=R),g=a.reduce((m,[w,R])=>m+(R-w+1),0),h=Math.max(i-g,0),d=fe(s),x=P(o,d.fn),Y=a.length>0,K=ge(r),Z=Y||K,H=P(o,d.branch),Q=Math.min(H*.005,.15),ee=Math.min(h*1e-4,.1),te=Math.max(.05,Math.min(.95,Z?.85-Q-ee:.2)),j=Math.floor(h*te),D=[];for(let m=1;m<=i;m++)c(m)||D.push(m);let ne=D.slice(j);return{path:r,lines:{covered:j,total:h},branches:{covered:0,total:0},functions:{covered:0,total:x},statements:{covered:j,total:h},uncoveredLines:ne,uncoveredBranches:[]}});return{data:z(e),provenance:{method:"static-estimation",estimated:!0,branchDataCollected:!1,functionDataCollected:!1,notes:["No instrumentation ran. These numbers are a STATIC ESTIMATE derived from source shape (file size, declaration counts, presence of a test file) \u2014 they are not measured coverage and must not be reported as such.","Branch and function coverage were not collected and are reported as null."]}}}function ge(n){let t=u.extname(n),e=n.slice(0,-t.length);return[`${e}.test${t}`,`${e}.spec${t}`,`${e}_test${t}`,`${e}.test${t}`.replace("/src/","/tests/"),`${e}.spec${t}`.replace("/src/","/tests/"),`${e}${t}`.replace("/src/","/tests/")].some(o=>{try{return f.existsSync(o)}catch{return!1}})}re();var he=["package.json","pyproject.toml","setup.py","setup.cfg","go.mod","Cargo.toml","pom.xml","build.gradle","build.gradle.kts",".git"],de=["vitest.config.ts","vitest.config.js","vitest.config.mts","vitest.config.mjs","vitest.config.cts","vitest.config.cjs","vitest.workspace.ts","vitest.workspace.js","vitest.workspace.mts","vitest.workspace.mjs","vitest.workspace.json","vite.config.ts","vite.config.js","vite.config.mts","vite.config.mjs","jest.config.ts","jest.config.js","jest.config.mts","jest.config.mjs","jest.config.cts","jest.config.cjs","jest.config.json"];function G(n){return de.some(t=>p.existsSync(l.join(n,t)))?!0:T(n)?.jest!==void 0}function S(n){let t=T(n);if(!t)return null;let e={...t.devDependencies,...t.dependencies};return e.jest||e["@jest/core"]?"jest":e.mocha||e.nyc?"nyc":e.vitest?"vitest":null}function me(n){try{return p.readdirSync(n).some(t=>/^\.(mocharc|nycrc)(\.|$)/.test(t))}catch{return!1}}function ve(n,t){if(me(n))return(S(t)??"vitest")==="nyc";let e=S(n);return e===null||e===(S(t)??"vitest")}function T(n){try{let t=JSON.parse(v(l.join(n,"package.json"),{outsideRoot:"allow"}));return typeof t=="object"&&t!==null?t:null}catch{return null}}function V(n){let t=[],e=!1,o=T(n)?.workspaces,s=Array.isArray(o)?o:typeof o=="object"&&o!==null&&Array.isArray(o.packages)?o.packages:null;o!=null&&typeof o=="object"&&(e=!0),s&&t.push(...s.filter(i=>typeof i=="string"));try{let i=v(l.join(n,"pnpm-workspace.yaml"),{outsideRoot:"allow"});e=!0;let a=!1;for(let c of i.split(/\r?\n/)){let g=c.replace(/\s+#.*$/,"").trimEnd();if(/^packages\s*:/.test(g)){a=!0;continue}if(a){let h=/^\s+-\s+(.+)$/.exec(g);h?t.push(h[1].trim().replace(/^['"]|['"]$/g,"")):/^\S/.test(g)&&(a=!1)}}}catch{}return e?t:null}function be(n){let r=n.replace(/^\.\//,"").replace(/\/+$/,"").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"\0").replace(/\*\*/g,"").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]").split("\0").join("(?:.*/)?").split("").join(".*");return new RegExp(`^${r}$`)}function ye(n,t){let e=V(n);if(!e)return!1;let r=l.relative(n,t).split(l.sep).join("/");if(r===""||r.startsWith("..")||l.isAbsolute(r))return!1;let o=!1;for(let s of e){let i=s.startsWith("!"),a=i?s.slice(1):s;l.isAbsolute(a)||/^[A-Za-z]:/.test(a)||a.split(/[\\/]/).includes("..")||be(a).test(r)&&(o=!i)}return o}function k(n,t){let e=l.relative(t,n);return e===""||!e.startsWith("..")&&!l.isAbsolute(e)}function xe(n){try{return p.realpathSync(l.resolve(A(n)))}catch{return null}}function q(n,t=12){let e;try{let a=l.resolve(n);if(!p.existsSync(a))return null;let c=p.realpathSync(a);e=p.statSync(c).isDirectory()?c:l.dirname(c)}catch{return null}let r=null;try{r=p.realpathSync(X.homedir())}catch{r=null}let o=e,s=null,i=null;for(let a=0;a<=t;a++){if(r!==null&&e===r&&e!==o)return s;if(!s&&he.some(g=>p.existsSync(l.join(e,g)))){if(s=e,G(e)||!p.existsSync(l.join(e,"package.json")))return e}else if(s&&V(e)!==null)return i??=xe(o)??"",i&&k(e,i)&&k(s,i)&&ye(e,s)&&G(e)&&ve(s,e)?e:s;if(s&&p.existsSync(l.join(e,".git")))return s;let c=l.dirname(e);if(c===e)return s;e=c}return s}function We(n,t){try{let e=p.realpathSync(t),r=p.realpathSync(l.resolve(n)),o=p.statSync(r).isDirectory()?r:l.dirname(r);for(;o!==e&&k(o,e);){if(p.existsSync(l.join(o,"package.json")))return`${l.relative(e,o).split(l.sep).join("/")}/`;let s=l.dirname(o);if(s===o)break;o=s}}catch{}return null}var je=new Set(["lcov.info","coverage-final.json","coverage-summary.json","coverage.xml","cobertura-coverage.xml","cobertura.xml"]);function we(n){let t=l.basename(n).toLowerCase();return je.has(t)||t.endsWith(".lcov")||t.endsWith(".lcov.info")}async function Re(n){let t;try{t=await _(n,{outsideRoot:"allow"})}catch{return null}if(t.trim().length===0)return null;try{let e=l.basename(n).toLowerCase(),r;if(e.endsWith(".json")){let o=JSON.parse(t);if(Se(o))r=N(t);else if(Ce(o))r=$(t);else return null}else e.endsWith(".xml")?r=L(t):r=b(t);return r.files.length>0?r:null}catch{return null}}function Ce(n){let t=Object.values(n);return t.length>0&&t.every(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&typeof e.s=="object"&&typeof e.statementMap=="object")}function Se(n){let t=n.total;return typeof t=="object"&&t!==null&&typeof t.lines=="object"}function Ee(n,t){let e=l.relative(t,n);return e===""||!e.startsWith("..")&&!l.isAbsolute(e)}function E(n){try{return p.realpathSync(n)}catch{return l.resolve(n)}}function ke(n,t,e){let r=E(t),o=E(e);return o===r?[...n.files]:n.files.filter(s=>{let i=l.isAbsolute(s.path)?E(s.path):l.resolve(r,s.path);return Ee(i,o)})}function B(n,t,e,r={}){if(r.numTotalTests===0)return{status:"no-data",reason:"no-tests-ran"};let o=ke(n,t,e);if(o.length===0)return{status:"no-data",reason:"target-not-covered"};let s=o.filter(i=>!y(i.path,t));return s.length===0?{status:"no-data",reason:"test-only-report"}:{status:"measured",files:s}}async function Ue(n){let t=l.resolve(n),e;try{e=p.statSync(t)}catch{return{status:"target-missing",target:t}}if(e.isFile()&&we(t)){let s=l.dirname(t),i=q(s)??(l.basename(s)==="coverage"?l.dirname(s):s),a=await Re(t),c=a?B(a,i,i):{status:"no-data",reason:"unreadable-report"};return{status:"evaluated",target:t,projectRoot:i,source:"report-file",evaluation:c}}let r=q(t)??(e.isDirectory()?t:l.dirname(t)),o=await F(r);return o?{status:"evaluated",target:t,projectRoot:r,source:"project-report",evaluation:B(o,r,t)}:{status:"no-report",target:t,projectRoot:r}}function Je(n,t,e){let r=[n.line];e.statement!==!1&&r.push(n.statement),e.branch&&r.push(n.branch),e.function&&r.push(n.function);let o=r.reduce((s,i)=>s+i,0)/r.length;return{overall:o,meetsThreshold:o>=t}}var Te=/^Coverage is [\d.]+% below threshold/i;function ze(n,t,e,r){let o=n.filter(s=>!Te.test(s)&&(r.branch||!/branch coverage/i.test(s))&&(r.function||!/function coverage/i.test(s)));return t.meetsThreshold?o:[`Coverage is ${(e-t.overall).toFixed(1)}% below threshold. Focus on high-risk files first.`,...o]}function Ge(n){return n==="target-not-covered"||n==="no-tests-ran"}function qe(n,t,e){switch(n){case"target-missing":return`Target does not exist: ${t}`;case"unreadable-report":return`Unreadable coverage report: ${t}. It could not be parsed or lists no files. Supported: lcov.info, istanbul coverage-final.json / coverage-summary.json, Cobertura XML. Raw V8 output is not supported \u2014 convert it with c8 or your runner's istanbul reporter.`;case"test-only-report":return"The coverage report contains only test files, so there is no production coverage to report. Coverage OF a test file is not a meaningful metric. Check that your coverage tool is instrumenting your source directory.";case"target-not-covered":return`Target is UNMEASURED: the coverage data for project ${e??"?"} has no entry for any production file under ${t}. This is not 0% coverage \u2014 no measurement exists for it. Check your coverage tool's include/exclude settings, or regenerate the report.`;case"no-tests-ran":return`Target is UNMEASURED: the test runner reported running 0 tests from ${e??"?"}. This is not 0% coverage.`}}export{oe as a,U as b,Fe as c,$e as d,Ne as e,We as f,Re as g,ke as h,B as i,Ue as j,Je as k,ze as l,Ge as m,qe as n};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{c as P}from"./chunk-TCYSBC7Y.js";import{c as J}from"./chunk-M7XFBSIK.js";import{b as E,d as q}from"./chunk-JFLU7L3W.js";import*as O from"fs/promises";import*as y from"path";q();async function Z(o){let i=[y.join(o,"coverage","coverage-final.json"),y.join(o,"coverage","lcov.info"),y.join(o,".nyc_output","coverage-final.json"),y.join(o,"coverage-final.json"),y.join(o,"coverage","coverage-summary.json"),y.join(o,"coverage.xml"),y.join(o,"htmlcov","status.json"),y.join(o,"cobertura-coverage.xml")];for(let t of i)try{let a=await J(t,{outsideRoot:"allow"});if(t.endsWith("coverage-summary.json"))return X(a);if(t.endsWith(".json"))return K(a);if(t.endsWith(".info"))return $(a);if(t.endsWith(".xml"))return G(a)}catch{}return null}function U(o){let i=new Map,t=o.statementMap||{};for(let[a,l]of Object.entries(o.s||{})){let r=t[a]?.start?.line;if(typeof r!="number")continue;let e=i.get(r);(e===void 0||e<l)&&i.set(r,l)}return i}function K(o){let i=E(o),t=[],a=0,l=0,r=0,e=0,c=0,n=0,h=0,u=0;for(let[m,g]of Object.entries(i)){let p=g,f=p.s||{},F=p.branchMap||{},v=p.b||{},R=p.f||{},s=U(p),x=s.size,C=[...s.values()].filter(d=>d>0).length,b=Object.values(v).flat().length,w=Object.values(v).flat().filter(d=>d>0).length,M=Object.keys(R).length,L=Object.values(R).filter(d=>d>0).length,I=Object.keys(f).length,B=Object.values(f).filter(d=>d>0).length,_=[...s.entries()].filter(([,d])=>d===0).map(([d])=>d),k=[];for(let[d,N]of Object.entries(v)){let W=F[d];N.forEach((D,j)=>{D===0&&W?.locations?.[j]?.start?.line&&k.push(W.locations[j].start.line)})}t.push({path:m,lines:{covered:C,total:x},branches:{covered:w,total:b},functions:{covered:L,total:M},statements:{covered:B,total:I},uncoveredLines:_.sort((d,N)=>d-N),uncoveredBranches:Array.from(new Set(k)).sort((d,N)=>d-N)}),a+=x,l+=C,r+=b,e+=w,c+=M,n+=L,h+=I,u+=B}return{files:t,summary:{line:a>0?l/a*100:0,branch:r>0?e/r*100:0,function:c>0?n/c*100:0,statement:h>0?u/h*100:0,files:t.length}}}function X(o){let i=E(o),t=e=>({covered:Number(e?.covered)||0,total:Number(e?.total)||0}),a=[];for(let[e,c]of Object.entries(i))e==="total"||typeof c!="object"||c===null||!c.lines||a.push({path:e,lines:t(c.lines),branches:t(c.branches),functions:t(c.functions),statements:t(c.statements??c.lines),uncoveredLines:[],uncoveredBranches:[]});let l=e=>a.reduce((c,n)=>({covered:c.covered+e(n).covered,total:c.total+e(n).total}),{covered:0,total:0}),r=e=>e.total>0?e.covered/e.total*100:0;return{files:a,summary:{line:r(l(e=>e.lines)),branch:r(l(e=>e.branches)),function:r(l(e=>e.functions)),statement:r(l(e=>e.statements)),files:a.length}}}function $(o){let i=[],t=o.split(`
|
|
3
|
-
`),a=null,l=0,r=0,e=0,c=0,n=0,h=0,u=[],m=[];for(let s of t)if(s.startsWith("SF:"))a=s.slice(3);else if(s.startsWith("LF:"))l=parseInt(s.slice(3),10);else if(s.startsWith("LH:"))r=parseInt(s.slice(3),10);else if(s.startsWith("BRF:"))e=parseInt(s.slice(4),10);else if(s.startsWith("BRH:"))c=parseInt(s.slice(4),10);else if(s.startsWith("FNF:"))n=parseInt(s.slice(4),10);else if(s.startsWith("FNH:"))h=parseInt(s.slice(4),10);else if(s.startsWith("DA:")){let[x,C]=s.slice(3).split(",").map(b=>parseInt(b,10));C===0&&u.push(x)}else if(s.startsWith("BRDA:")){let x=s.slice(5).split(","),C=parseInt(x[0],10),b=x[3];(b==="0"||b==="-")&&m.push(C)}else s==="end_of_record"&&a&&(i.push({path:a,lines:{covered:r,total:l},branches:{covered:c,total:e},functions:{covered:h,total:n},statements:{covered:0,total:0},uncoveredLines:Array.from(new Set(u)),uncoveredBranches:Array.from(new Set(m))}),a=null,l=r=0,e=c=0,n=h=0,u.length=0,m.length=0);let g=0,p=0,f=0,F=0,v=0,R=0;for(let s of i)g+=s.lines.total,p+=s.lines.covered,f+=s.branches.total,F+=s.branches.covered,v+=s.functions.total,R+=s.functions.covered;return{files:i,summary:{line:g>0?p/g*100:0,branch:f>0?F/f*100:0,function:v>0?R/v*100:0,statement:g>0?p/g*100:0,files:i.length}}}function G(o){let i=[];function t(f,F){let v=f.match(new RegExp(`${F}=["']([^"']*)["']`));return v?v[1]:null}let a=/<class\s[^>]*?>/g,l;for(;(l=a.exec(o))!==null;){let f=l[0],F=t(f,"filename");if(!F)continue;let v=parseFloat(t(f,"line-rate")||"NaN"),R=parseFloat(t(f,"branch-rate")||"NaN"),s=l.index,x=o.indexOf("</class>",s),C=x>s?o.slice(s,x):"",b=0,w=0,M=0,L=0,I=0,B=0,_=[],k=[],d=/<line\s([^>]*?)\/>/g,N;for(;(N=d.exec(C))!==null;){let j=N[1],S=parseInt(t(j,"number")||"0",10),A=parseInt(t(j,"hits")||"0",10),z=t(j,"branch")==="true",T=t(j,"condition-coverage");b++,A>0?w++:_.push(S),z&&(M++,(T?parseInt(T,10):A>0?100:0)===100?L++:k.push(S))}let W=/<method\s([^>]*?)>/g,D;for(;(D=W.exec(C))!==null;){I++;let j=D.index,S=C.indexOf("</method>",j);if(S>j){let A=C.slice(j,S),z=/<line\s([^>]*?)\/>/g,T=!1,H;for(;(H=z.exec(A))!==null;)if(parseInt(t(H[1],"hits")||"0",10)>0){T=!0;break}T&&B++}}b===0&&!isNaN(v)&&(b=100,w=Math.round(Math.max(0,Math.min(1,v))*100)),i.push({path:F,lines:{covered:w,total:b},branches:{covered:L,total:M},functions:{covered:B,total:I},statements:{covered:0,total:0},uncoveredLines:_,uncoveredBranches:k})}let r=0,e=0,c=0,n=0,h=0,u=0;for(let f of i)r+=f.lines.total,e+=f.lines.covered,c+=f.branches.total,n+=f.branches.covered,h+=f.functions.total,u+=f.functions.covered;let m=o.match(/<coverage\s[^>]*?>/),g=m?parseFloat(t(m[0],"line-rate")||"NaN")*100:NaN,p=m?parseFloat(t(m[0],"branch-rate")||"NaN")*100:NaN;return{files:i,summary:{line:isNaN(g)?r>0?e/r*100:0:g,branch:isNaN(p)?c>0?n/c*100:0:p,function:h>0?u/h*100:0,statement:r>0?e/r*100:0,files:i.length}}}async function ee(o,i={}){let t=[],{includeTests:a=!0,languages:l,maxFiles:r=5e3}=i,e=[".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".pyw",".go",".rs",".java",".kt",".kts",".rb",".cs",".php",".swift",".c",".h",".cpp",".hpp",".cc",".scala"];if(l&&l.length>0){e=[];for(let n of l)n==="typescript"&&e.push(".ts",".tsx"),n==="javascript"&&e.push(".js",".jsx",".mjs",".cjs"),n==="python"&&e.push(".py",".pyw"),n==="go"&&e.push(".go"),n==="rust"&&e.push(".rs"),n==="java"&&e.push(".java"),n==="kotlin"&&e.push(".kt",".kts"),n==="ruby"&&e.push(".rb"),(n==="csharp"||n==="c#")&&e.push(".cs"),n==="php"&&e.push(".php"),n==="swift"&&e.push(".swift"),(n==="c"||n==="cpp"||n==="c++")&&e.push(".c",".h",".cpp",".hpp",".cc"),n==="scala"&&e.push(".scala")}async function c(n){try{let h=await O.readdir(n,{withFileTypes:!0});for(let u of h){let m=y.join(n,u.name);if(u.isDirectory()){if(["node_modules",".git","dist","build","coverage",".nyc_output","__pycache__",".venv","venv",".tox",".mypy_cache","target",".gradle","vendor",".bundle",".cache",".npm",".yarn",".next",".nuxt",".svelte-kit","out",".turbo","tmp","temp",".tmp"].includes(u.name)||P(n,u.name,n===o))continue;if(t.length>=r)return;await c(m)}else if(u.isFile()){let g=y.extname(u.name);if(!e.includes(g)||!a&&(u.name.includes(".test.")||u.name.includes(".spec.")||u.name.endsWith("_test.ts")||u.name.endsWith("_test.js")||m.includes("/__tests__/")||m.includes("/test/")||m.includes("/tests/")))continue;if(t.length>=r)return;t.push(m)}}}catch{}}try{if((await O.stat(o)).isFile())return[o];await c(o)}catch{}return t}function te(o){let i=new Set,t={injection:"Use parameterized queries and input validation to prevent injection attacks",xss:"Sanitize user input and use Content-Security-Policy headers","sensitive-data":"Never hardcode secrets; use environment variables or secret managers","access-control":"Implement proper authentication and authorization checks","security-misconfiguration":"Review and harden security configurations","insecure-deserialization":"Avoid deserializing untrusted data; use safe alternatives","broken-auth":"Use strong authentication mechanisms and secure session management",dependencies:"Keep dependencies updated and regularly audit for vulnerabilities"};for(let r of o){let e=t[r.category];e&&i.add(e)}let a=o.some(r=>r.severity==="critical"),l=o.some(r=>r.severity==="high");return a&&i.add("CRITICAL: Address critical vulnerabilities immediately before deployment"),l&&i.add("Prioritize fixing high-severity issues in the next sprint"),i.size===0&&o.length===0&&i.add("No vulnerabilities found - maintain current security practices"),Array.from(i)}export{Z as a,U as b,K as c,X as d,$ as e,G as f,ee as g,te as h};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a as b,b as y}from"./chunk-UKKYMW3S.js";import{b as v}from"./chunk-LPU6PAJE.js";import{j as d,k as g,l as f,n as l}from"./chunk-2DTX7YAZ.js";import p from"chalk";var C=3,h="instrumented-report",k="static-estimation";async function D(e,r=a=>console.log(a)){let a=await d(e);if(a.status==="target-missing")return{kind:"no-data",reason:"target-missing",message:l("target-missing",e,null)};if(a.status==="evaluated"){let{evaluation:n,projectRoot:t}=a;if(n.status==="measured"){let u=n.files;return{kind:"data",data:{files:u,summary:b(u),instrumented:!0},projectRoot:t}}return{kind:"no-data",reason:n.reason,message:l(n.reason,e,t)}}let s=v(a.target,{includeTests:!1});return s.length===0?{kind:"no-sources"}:(r(p.gray(` Analyzing ${s.length} files...
|
|
3
|
-
`)),{kind:"data",data:y(s,a.projectRoot),projectRoot:a.projectRoot})}function R(e){return{branch:e.files.some(r=>r.branches.total>0),function:e.files.some(r=>r.functions.total>0),statement:e.files.some(r=>r.statements.total>0)}}var T=e=>e==="target-missing"||e==="unreadable-report";function x(){return"UNMEASURED: no coverage report exists for this project, so these figures are a STATIC ESTIMATE derived from source shape \u2014 not measured coverage. No threshold verdict is given and nothing is stored as evidence. Run your tests with coverage first (e.g. `npm test -- --coverage`) and re-run."}async function j(e,r,a,s){let n=await D(r,s);if(n.kind==="no-sources")return n;if(n.kind==="no-data")return T(n.reason)?{kind:"error",reason:n.reason,message:n.message}:{kind:"unmeasured",reason:n.reason,message:n.message};let t=n.data,u=t.instrumented,m=await e.analyze({coverageData:t,threshold:a,includeFileDetails:!0,measured:u,...n.projectRoot?{projectRoot:n.projectRoot}:{}});if(!m.success||!m.value)return{kind:"analysis-failed",message:m.error?.message||"Coverage analysis failed"};let o=m.value;if(!u)return{kind:"estimate",data:t,summary:{...o.summary},message:x()};let i=R(t),c=g(o.summary,a,i);return{kind:"measured",data:t,collected:i,verdict:c,summary:{...o.summary,branch:i.branch?o.summary.branch:null,function:i.function?o.summary.function:null,statement:i.statement?o.summary.statement:null},recommendations:f(o.recommendations??[],c,a,i)}}function M(e,r){switch(e.kind){case"measured":{let{overall:a,meetsThreshold:s}=e.verdict;return s?a<r+5?2:0:1}case"estimate":case"unmeasured":return C;case"no-sources":return 0;default:return 1}}function S(e,r,a){let s={line:null,branch:null,function:null,statement:null};switch(e.kind){case"measured":return{summary:e.summary,meetsThreshold:e.verdict.meetsThreshold,threshold:r,recommendations:e.recommendations,measured:!0,estimated:!1,coverageMethod:h,branchDataCollected:e.collected.branch,functionDataCollected:e.collected.function,statementDataCollected:e.collected.statement,...e.data.unmeasuredFiles?.length?{unmeasuredFiles:e.data.unmeasuredFiles}:{}};case"estimate":return{summary:e.summary,meetsThreshold:null,threshold:r,measured:!1,estimated:!0,unmeasured:!0,coverageMethod:k,reason:"no-coverage-report",target:a,warning:e.message};case"unmeasured":case"error":return{summary:s,meetsThreshold:null,threshold:r,measured:!1,unmeasured:e.kind==="unmeasured",reason:e.reason,target:a,warning:e.message};case"analysis-failed":return{summary:s,meetsThreshold:null,threshold:r,measured:!1,target:a,error:e.message};case"no-sources":return{summary:s,meetsThreshold:null,threshold:r,measured:!1,target:a,warning:"No source files found"}}}export{C as a,D as b,j as c,M as d,S as e};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a as T}from"./chunk-IO5537OM.js";import{c as g}from"./chunk-FZHSG75I.js";import{S,b as l}from"./chunk-76SNL7GU.js";T();S();import{createRequire as B}from"module";var G=B(import.meta.url),d=class{validateTransfer(e,t){return{approved:!0}}};function R(){if(l().useCoherenceGate)try{let{CoherenceGate:o}=G("./coherence-gate.js");return new o}catch{}return new d}T();var x=g.create("transfer-verification"),A={maxSourceRegression:.05,minTargetImprovement:0,maxSourceConfidenceRegression:.1},b=class{config;constructor(e={}){this.config={...A,...e}}verifyTransfer(e){let t=e.sourcePerformanceAfter.successRate-e.sourcePerformanceBefore.successRate,r=e.targetPerformanceAfter.successRate-e.targetPerformanceBefore.successRate,n=e.sourcePerformanceAfter.avgConfidence-e.sourcePerformanceBefore.avgConfidence,a=e.targetPerformanceAfter.avgConfidence-e.targetPerformanceBefore.avgConfidence,s=t>=-this.config.maxSourceRegression&&n>=-this.config.maxSourceConfidenceRegression,c=r>=this.config.minTargetImprovement,u=s&&c,m;if(!u){let i=[];s||i.push(`source domain regressed: successRate delta=${t.toFixed(4)}, confidence delta=${n.toFixed(4)}`),c||i.push(`target domain did not improve: successRate delta=${r.toFixed(4)}`),m=i.join("; ")}return u?x.debug("Transfer verification passed",{transferId:e.transferId,sourceDelta:t,targetDelta:r}):x.warn("Transfer verification failed",{transferId:e.transferId,sourceDomain:e.sourceDomain,targetDomain:e.targetDomain,sourceDelta:t,targetDelta:r,failureReason:m}),{passed:u,sourceStable:s,targetImproved:c,sourceDelta:t,targetDelta:r,sourceConfidenceDelta:n,targetConfidenceDelta:a,failureReason:m}}getConfig(){return{...this.config}}};function M(o){return new b(o)}S();var p=class{alphas=new Map;betas=new Map;sample(e){let t=this.alphas.get(e)??1,r=this.betas.get(e)??1;return this.sampleBeta(t,r)}update(e,t){t?this.alphas.set(e,(this.alphas.get(e)??1)+1):this.betas.set(e,(this.betas.get(e)??1)+1)}getMean(e){let t=this.alphas.get(e)??1,r=this.betas.get(e)??1;return t/(t+r)}getObservationCount(e){let t=this.alphas.get(e)??1,r=this.betas.get(e)??1;return t-1+(r-1)}getAlpha(e){return this.alphas.get(e)??1}getBeta(e){return this.betas.get(e)??1}sampleBeta(e,t){let r=this.sampleGamma(e),n=this.sampleGamma(t);return r+n===0?.5:r/(r+n)}sampleGamma(e){if(e<1){let n=Math.random();return this.sampleGamma(e+1)*Math.pow(n,1/e)}let t=e-1/3,r=1/Math.sqrt(9*t);for(;;){let n,a;do n=this.standardNormal(),a=1+r*n;while(a<=0);a=a*a*a;let s=Math.random();if(s<1-.0331*n*n*n*n||Math.log(s)<.5*n*n+t*(1-a+Math.log(a)))return t*a}}standardNormal(){let e=Math.random(),t=Math.random();return Math.sqrt(-2*Math.log(e||1e-10))*Math.cos(2*Math.PI*t)}};var I={threshold:5,slack:.5,resetOnAlarm:!0,warmupSamples:20},h=class{config;states=new Map;constructor(e={}){this.config={...I,...e}}update(e,t){let r=this.getOrCreateState(e);if(r.samplesSinceReset++,r.mu===null)return r.warmupSum+=t,r.warmupCount++,r.warmupCount>=this.config.warmupSamples&&(r.mu=r.warmupSum/r.warmupCount),{driftDetected:!1,cumulativeSum:0,direction:"none",samplesSinceReset:r.samplesSinceReset};r.sPlus=Math.max(0,r.sPlus+(t-r.mu-this.config.slack)),r.sMinus=Math.max(0,r.sMinus+(-t+r.mu-this.config.slack));let n=Math.max(r.sPlus,r.sMinus),a=!1,s="none";r.sPlus>this.config.threshold?(a=!0,s="positive"):r.sMinus>this.config.threshold&&(a=!0,s="negative");let c={driftDetected:a,cumulativeSum:n,direction:s,samplesSinceReset:r.samplesSinceReset};return a&&this.config.resetOnAlarm&&(r.sPlus=0,r.sMinus=0,r.samplesSinceReset=0),c}reset(e){e?this.states.delete(e):this.states.clear()}getState(e){let t=this.states.get(e);if(!t)return{driftDetected:!1,cumulativeSum:0,direction:"none",samplesSinceReset:0};let r=Math.max(t.sPlus,t.sMinus),n="none";return t.sPlus>this.config.threshold?n="positive":t.sMinus>this.config.threshold&&(n="negative"),{driftDetected:t.sPlus>this.config.threshold||t.sMinus>this.config.threshold,cumulativeSum:r,direction:n,samplesSinceReset:t.samplesSinceReset}}getOrCreateState(e){let t=this.states.get(e);return t||(t={sPlus:0,sMinus:0,samplesSinceReset:0,warmupSum:0,warmupCount:0,mu:null},this.states.set(e,t)),t}};var w=g.create("domain-transfer"),V={minTransferProbability:.3,explorationWarmup:5,verification:{},maxHistorySize:1e3,useMetaLearningEnhancements:!0},v=class{constructor(e=100){this.decayThreshold=e}decayThreshold;getDecayMultiplier(e){return e<=0?1:Math.pow(.5,e/this.decayThreshold)}applyDecay(e,t,r){return t+(e-t)*this.getDecayMultiplier(r)}},y=class{cusum;outcomes=[];windowSize;constructor(e=20){this.windowSize=e,this.cusum=new h({threshold:3,slack:.1,resetOnAlarm:!1,warmupSamples:Math.min(10,Math.floor(e/2))})}record(e){this.outcomes.push(e),this.outcomes.length>this.windowSize*2&&this.outcomes.splice(0,this.outcomes.length-this.windowSize*2);let t=this.getCurrentRate();this.cusum.update("learn",t)}isPlateaued(){return this.outcomes.length<this.windowSize?!1:!this.cusum.getState("learn").driftDetected}getCurrentRate(){if(this.outcomes.length===0)return 0;let e=this.outcomes.slice(-this.windowSize);return e.filter(Boolean).length/e.length}getOutcomeCount(){return this.outcomes.length}getCusumState(){return this.cusum.getState("learn")}},D=class{front=[];dominates(e,t){let r=e.successRate>=t.successRate&&e.speed>=t.speed&&e.confidence>=t.confidence,n=e.successRate>t.successRate||e.speed>t.speed||e.confidence>t.confidence;return r&&n}add(e){for(let t=this.front.length-1;t>=0;t--)this.dominates(e,this.front[t])&&this.front.splice(t,1);this.front.some(t=>this.dominates(t,e))||this.front.push(e)}getFront(){return[...this.front]}isNonDominated(e){return!this.front.some(t=>this.dominates(t,e))}},C=class{constructor(e=.2){this.bonusScale=e}bonusScale;triedPairs=new Set;markTried(e){this.triedPairs.add(e)}isTried(e){return this.triedPairs.has(e)}getBonus(e){return this.triedPairs.has(e)?0:this.bonusScale}apply(e,t){return Math.min(1,e+this.getBonus(t))}getTriedCount(){return this.triedPairs.size}},P=class{config;sampler;verifier;coherenceGate;transferHistory=[];affinityScores=new Map;performanceProvider=null;transferExecutor=null;nativeModule=null;decayingBeta;plateauDetector;paretoFront;curiosityBonus;constructor(e={}){this.config={...V,...e},this.sampler=new p,this.verifier=M(this.config.verification),this.coherenceGate=R(),this.decayingBeta=new v,this.plateauDetector=new y,this.paretoFront=new D,this.curiosityBonus=new C,this.tryLoadNativeModule()}evaluateTransfer(e,t){if(!this.isEnabled())return this.createRejectedCandidate(e,t);let r=this.makePairKey(e,t),n=this.sampler.sample(r),s=this.sampler.getObservationCount(r)<this.config.explorationWarmup,c=this.getAffinityScore(e,t);if(this.isMetaLearningEnabled()){let u=this.sampler.getMean(r),m=this.sampler.getAlpha(r)-1;n=this.decayingBeta.applyDecay(n,u,m),n=this.curiosityBonus.apply(n,r)}return{sourceDomain:e,targetDomain:t,sampledProbability:n,affinityScore:c,isExploration:s,pairKey:r}}executeTransfer(e){let t=`transfer-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=this.coherenceGate.validateTransfer({domain:e.sourceDomain},e.targetDomain);if(!r.approved)return w.info("Transfer blocked by coherence gate",{transferId:t,source:e.sourceDomain,target:e.targetDomain,reason:r.rejectionReason}),this.createBlockedResult(t,e,r);let n=this.getPerformanceSnapshot(e.sourceDomain),a=this.getPerformanceSnapshot(e.targetDomain),s=this.computeSqrtDampening(e),c=this.doTransfer(e.sourceDomain,e.targetDomain,s),u=this.getPerformanceSnapshot(e.sourceDomain),m=this.getPerformanceSnapshot(e.targetDomain),i=this.verifier.verifyTransfer({transferId:t,sourceDomain:e.sourceDomain,targetDomain:e.targetDomain,sourcePerformanceBefore:n,sourcePerformanceAfter:u,targetPerformanceBefore:a,targetPerformanceAfter:m}),f=c&&i.passed;if(this.sampler.update(e.pairKey,f),this.updateAffinityScore(e.pairKey,f),this.isMetaLearningEnabled()){this.plateauDetector.record(f),this.curiosityBonus.markTried(e.pairKey);let F=this.sampler.getMean(e.pairKey);this.paretoFront.add({pairKey:e.pairKey,successRate:F,speed:1/(1+s),confidence:this.getAffinityScore(e.sourceDomain,e.targetDomain)})}return this.addToHistory({transferId:t,sourceDomain:e.sourceDomain,targetDomain:e.targetDomain,success:f,sampledProbability:e.sampledProbability,dampeningFactor:s,sourceDelta:i.sourceDelta,targetDelta:i.targetDelta,timestamp:Date.now()}),w.info("Transfer completed",{transferId:t,source:e.sourceDomain,target:e.targetDomain,success:f,dampeningFactor:s.toFixed(4),sourceDelta:i.sourceDelta.toFixed(4),targetDelta:i.targetDelta.toFixed(4)}),{transferId:t,candidate:e,success:f,dampeningFactor:s,verification:i,coherenceResult:r,sourcePerformanceBefore:n,sourcePerformanceAfter:u,targetPerformanceBefore:a,targetPerformanceAfter:m,timestamp:Date.now()}}getAffinityScore(e,t){return this.affinityScores.get(this.makePairKey(e,t))??.5}getTransferHistory(){return[...this.transferHistory]}getExpectedSuccessRate(e,t){return this.sampler.getMean(this.makePairKey(e,t))}getObservationCount(e,t){return this.sampler.getObservationCount(this.makePairKey(e,t))}setPerformanceProvider(e){this.performanceProvider=e}setTransferExecutor(e){this.transferExecutor=e}getSampler(){return this.sampler}getCoherenceGate(){return this.coherenceGate}getDecayingBeta(){return this.decayingBeta}getPlateauDetector(){return this.plateauDetector}getParetoFront(){return this.paretoFront}getCuriosityBonus(){return this.curiosityBonus}isLearningPlateaued(){return this.plateauDetector.isPlateaued()}isEnabled(){return l().useCrossDomainTransfer===!0}isMetaLearningEnabled(){return this.config.useMetaLearningEnhancements===!0&&l().useMetaLearningEnhancements!==!1}makePairKey(e,t){return`${e}->${t}`}computeSqrtDampening(e){let t=this.sampler.getObservationCount(e.pairKey);return Math.sqrt(t/(t+this.config.explorationWarmup))}doTransfer(e,t,r){return this.transferExecutor?this.transferExecutor(e,t,r):!0}getPerformanceSnapshot(e){return this.performanceProvider?this.performanceProvider(e):{domain:e,successRate:.5,avgConfidence:.5,patternCount:0,timestamp:Date.now()}}updateAffinityScore(e,t){let r=this.affinityScores.get(e)??.5;this.affinityScores.set(e,.2*(t?1:0)+.8*r)}addToHistory(e){for(this.transferHistory.push(e);this.transferHistory.length>this.config.maxHistorySize;)this.transferHistory.shift()}createBlockedResult(e,t,r){let n={domain:"",successRate:0,avgConfidence:0,patternCount:0,timestamp:Date.now()};return{transferId:e,candidate:t,success:!1,dampeningFactor:0,verification:{passed:!1,sourceStable:!1,targetImproved:!1,sourceDelta:0,targetDelta:0,sourceConfidenceDelta:0,targetConfidenceDelta:0,failureReason:`Coherence gate rejected: ${r.rejectionReason??"unknown"}`},coherenceResult:r,sourcePerformanceBefore:{...n,domain:t.sourceDomain},sourcePerformanceAfter:{...n,domain:t.sourceDomain},targetPerformanceBefore:{...n,domain:t.targetDomain},targetPerformanceAfter:{...n,domain:t.targetDomain},timestamp:Date.now()}}createRejectedCandidate(e,t){return{sourceDomain:e,targetDomain:t,sampledProbability:0,affinityScore:0,isExploration:!1,pairKey:this.makePairKey(e,t)}}tryLoadNativeModule(){this.nativeModule=null}};function J(o){return new P(o)}export{p as a,h as b,V as c,v as d,y as e,D as f,C as g,P as h,J as i};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{b as _}from"./chunk-CFWGGRE7.js";function p(e){return g.has(e)}function m(e){return l.has(e)}function b(e){return/^qe-security|^qe-pentest/.test(e)}function x(e,t="strict"){if(t==="off")return{text:e,redactions:[],replacementCount:0};let r=e,s=new Set,c=0;for(let a of d){if(!a.modes.includes(t))continue;let i=new RegExp(a.regex.source,a.regex.flags),n=r.match(i);n&&n.length>0&&(s.add(a.category),c+=n.length,r=r.replace(i,a.replacement))}return{text:r,redactions:Array.from(s).sort(),replacementCount:c}}function E(e,t,r){if(b(e)&&!m(t))throw new o(`Security agent "${e}" may only use providers: ${[...l].join(", ")}. Got: "${t}". OpenRouter is excluded (third-party proxy risk).`,6);if(r==="off"&&!p(t))throw new o(`Redaction mode "off" is only allowed for self-hosted providers (${[...g].join(", ")}). Got: "${t}".`,6)}var d,g,l,o,A=_(()=>{"use strict";d=[{category:"aws_key",regex:/\b(AKIA[0-9A-Z]{16})\b/g,replacement:"<REDACTED:aws_key>",modes:["strict","balanced"]},{category:"env_value",regex:/^([A-Z][A-Z0-9_]{2,})=(.+)$/gm,replacement:"$1=<REDACTED:env_value>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(Authorization:\s*Bearer\s+)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(x-api-key:\s*)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"private_key",regex:/-----BEGIN\s[\w\s]*PRIVATE KEY-----[\s\S]*?-----END\s[\w\s]*PRIVATE KEY-----/g,replacement:"<REDACTED:private_key>",modes:["strict","balanced"]},{category:"jwt",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g,replacement:"<REDACTED:jwt>",modes:["strict","balanced"]},{category:"github_token",regex:/\b(ghp_|gho_|ghs_|ghr_|github_pat_)[A-Za-z0-9_]{16,}\b/g,replacement:"<REDACTED:github_token>",modes:["strict","balanced"]},{category:"gitlab_token",regex:/\b(glpat-)[A-Za-z0-9_-]{20,}\b/g,replacement:"<REDACTED:gitlab_token>",modes:["strict","balanced"]},{category:"slack_token",regex:/\b(xoxb-|xoxp-|xoxs-|xoxa-)[A-Za-z0-9-]{10,}\b/g,replacement:"<REDACTED:slack_token>",modes:["strict","balanced"]},{category:"stripe_key",regex:/\b(sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_)[A-Za-z0-9]{10,}\b/g,replacement:"<REDACTED:stripe_key>",modes:["strict","balanced"]},{category:"google_api_key",regex:/\bAIzaSy[A-Za-z0-9_-]{33}\b/g,replacement:"<REDACTED:google_api_key>",modes:["strict","balanced"]},{category:"aws_session_token",regex:/\bASIA[0-9A-Z]{16}\b/g,replacement:"<REDACTED:aws_session_token>",modes:["strict","balanced"]},{category:"connection_string",regex:/\b(mongodb(\+srv)?|postgres(ql)?|mysql|redis|amqp):\/\/[^\s"']+/gi,replacement:"<REDACTED:connection_string>",modes:["strict","balanced"]},{category:"generic_secret",regex:/\b(password|secret|token|apikey|api_key|access_key|secret_key)\s*[:=]\s*['"]?(?!ghp_|gho_|ghs_|ghr_|github_pat_|glpat-|xoxb-|xoxp-|xoxs-|xoxa-|sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_|AIzaSy|AKIA|ASIA|<REDACTED:)[^\s'"]{8,}['"]?/gi,replacement:"<REDACTED:generic_secret>",modes:["strict","balanced"]},{category:"email",regex:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"<REDACTED:pii_email>",modes:["strict"]},{category:"phone",regex:/\b(\+?1?[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}\b/g,replacement:"<REDACTED:pii_phone>",modes:["strict"]},{category:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"<REDACTED:pii_ssn>",modes:["strict"]}],g=new Set(["ollama"]),l=new Set(["claude","ollama"]);o=class extends Error{constructor(r,s){super(r);this.exitCode=s;this.name="AdvisorRedactionError"}exitCode}});export{p as a,x as b,E as c,A as d};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as t}from"./chunk-FZHSG75I.js";import{d as r}from"./chunk-VO3DRK4P.js";import{b as o}from"./chunk-CFWGGRE7.js";var L=o(()=>{"use strict";e();g();t();r()});export{L as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
var t=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","requirements-validation","code-intelligence","security-compliance","contract-testing","visual-accessibility","chaos-resilience","learning-optimization","enterprise-integration","coordination"];function r(e){return typeof e=="string"&&t.includes(e)}function i(e){return{success:!0,value:e}}function o(e){return{success:!1,error:e}}var n=["p0","p1","p2","p3"];function a(e){return typeof e=="string"&&n.includes(e)}function s(e){return`Invalid priority: ${String(e)}. Valid priorities: ${n.join(", ")}`}export{t as a,r as b,i as c,o as d,a as e,s as f};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{r as C,v as M}from"./chunk-LD5CFK53.js";import{i as b}from"./chunk-7R5HC56U.js";M();import{createRequire as H}from"node:module";var w=H(import.meta.url),_=null;function T(){if(_)return _;let E=w("hnswlib-node");if(!E.HierarchicalNSW)throw new Error("hnswlib-node module missing HierarchicalNSW export");return _=E.HierarchicalNSW,_}function U(){return!0}var x=class{indexes;config;initialized;nextId;unifiedAdapters=null;useUnified;constructor(e={}){this.config={M:e.M||16,efConstruction:e.efConstruction||200,efSearch:e.efSearch||50,dimension:e.dimension||384,metric:e.metric||"cosine",quantization:e.quantization||"none"},this.indexes=new Map,this.initialized=new Set,this.nextId=new Map,this.useUnified=U(),this.useUnified&&(this.unifiedAdapters=new Map)}initializeIndex(e){if(this.initialized.has(e))return;if(this.useUnified&&this.unifiedAdapters)try{let{HnswAdapter:s}=w("../../../kernel/hnsw-adapter.js"),d=new s(`embedding-${e}`,{dimensions:this.config.dimension,M:this.config.M,efConstruction:this.config.efConstruction,efSearch:this.config.efSearch,metric:this.config.metric==="dotproduct"?"cosine":this.config.metric});this.unifiedAdapters.set(e,d),this.initialized.add(e),this.nextId.set(e,0);return}catch{}let t={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",n=T(),r=new n(t,this.config.dimension);r.initIndex({maxElements:1e4,m:this.config.M,efConstruction:this.config.efConstruction}),this.indexes.set(e,r),this.initialized.add(e),this.nextId.set(e,0)}addEmbedding(e,i){let t=e.namespace;this.initialized.has(t)||this.initializeIndex(t);let n=i??this.nextId.get(t);i===void 0&&this.nextId.set(t,n+1);let r=this.unifiedAdapters?.get(t);if(r){let o=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.add(n,o),n}let s=this.indexes.get(t),d=this.toFloatArray(e.vector);return s.addPoint(d,n),n}addEmbeddingsBatch(e){return e.map(i=>this.addEmbedding(i.embedding,i.id))}search(e,i={}){let t=i.namespace||e.namespace;if(!this.initialized.has(t))return[];let n=i.limit||10,r=this.unifiedAdapters?.get(t);if(r){let l=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.search(l,n).map(u=>({id:u.id,distance:1-u.score}))}let s=this.indexes.get(t),d=this.toFloatArray(e.vector),o=s.searchKnn(d,n);return o.neighbors.map((l,m)=>({id:l,distance:o.distances[m]}))}getIndexStats(e){if(!this.initialized.has(e))return null;let i=this.unifiedAdapters?.get(e);return i?{size:i.size(),maxElements:1e4,dimension:i.dimensions(),metric:this.config.metric}:{size:this.indexes.get(e).getCurrentCount(),maxElements:1e4,dimension:this.config.dimension,metric:this.config.metric}}async saveIndex(e,i){if(!this.initialized.has(e))throw new Error(`Namespace ${e} not initialized`);if(this.unifiedAdapters?.has(e)){console.warn(`[HNSWEmbeddingIndex] saveIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally.`);return}await this.indexes.get(e).writeIndex(i)}async loadIndex(e,i){if(this.useUnified){console.warn(`[HNSWEmbeddingIndex] loadIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally. Initialize via initializeIndex() instead.`);return}let n={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",r=T(),s=new r(n,this.config.dimension);await s.readIndex(i),this.indexes.set(e,s),this.initialized.add(e)}clearIndex(e){if(this.initialized.has(e)){let i=this.unifiedAdapters?.get(e);i&&(i.clear?.(),this.unifiedAdapters.delete(e)),this.indexes.delete(e),this.initialized.delete(e),this.nextId.delete(e)}}clearAll(){if(this.unifiedAdapters){for(let e of this.unifiedAdapters.values())e.clear?.();this.unifiedAdapters.clear()}this.indexes.clear(),this.initialized.clear(),this.nextId.clear()}resizeIndex(e,i){this.initialized.has(e)&&(this.clearIndex(e),this.initializeIndex(e))}setEfSearch(e){this.config.efSearch=e}toFloatArray(e){if(Array.isArray(e))return e;if(e instanceof Float32Array)return Array.from(e);if(e instanceof Int8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=e[t]/128;return i}if(e instanceof Uint8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=(e[t]-128)/128;return i}throw new Error(`Unsupported vector type: ${typeof e}`)}getConfig(){return{...this.config}}isInitialized(e){return this.initialized.has(e)}getInitializedNamespaces(){return Array.from(this.initialized)}getSize(e){if(!this.initialized.has(e))return 0;let i=this.unifiedAdapters?.get(e);return i?i.size():this.nextId.get(e)||0}};var O={mergeSimilarityThreshold:.85,maxMergesPerRun:50,softThreshold:400,hardThreshold:2e3,archiveMinAgeDays:30,archiveQualityThreshold:.15,mergeQualityBoost:.02,contradictionSimilarityThreshold:.85,contradictionQualityDelta:.4},R=class{config;db=null;initialized=!1;constructor(e={}){this.config={...O,...e}}async initialize(e){if(!this.initialized){if(e)this.db=e;else{let i=C();await i.initialize(),this.db=i.getDatabase()}this.initialized=!0}}async consolidateAll(e){this.ensureInitialized();let i={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[]},t=this.db.prepare("SELECT domain, COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL GROUP BY domain").all(),n=e?t.filter(s=>e.includes(s.domain)):t.filter(s=>s.cnt>this.config.softThreshold);for(let{domain:s,cnt:d}of n){let o=await this.consolidateDomain(s,d);i.merged+=o.merged,i.contradicted+=o.contradicted,i.qualityUpdated+=o.qualityUpdated,i.archived+=o.archived,i.hardDeleted+=o.hardDeleted,i.domainsProcessed.push(s)}let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL").get();return i.activeRemaining=r.cnt,(i.merged>0||i.archived>0||i.contradicted>0)&&console.log(`[ExperienceConsolidator] Consolidated: ${i.merged} merged, ${i.contradicted} contradicted, ${i.archived} archived, ${i.activeRemaining} active`),i}async consolidateDomain(e,i){this.ensureInitialized();let t={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]},n=await this.clusterAndMerge(e);t.merged=n.merged,t.contradicted=n.contradicted,t.qualityUpdated=this.reinforceQuality(e),t.archived=this.archiveValueless(e);let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE domain = ? AND consolidated_into IS NULL").get(e).cnt,s=0;return r>this.config.hardThreshold&&(s=this.hardDeleteExcess(e,r),t.archived+=s),t.activeRemaining=r-s,t}async bootstrapDomain(e){if(this.ensureInitialized(),this.db.prepare("SELECT value FROM kv_store WHERE key = ?").get(`consolidation_bootstrap_${e}`))return console.log(`[ExperienceConsolidator] Domain ${e} already bootstrapped`),{merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]};let t={...this.config};this.config.mergeSimilarityThreshold=.8,this.config.maxMergesPerRun=200;let n=await this.consolidateDomain(e);Object.assign(this.config,t);try{this.db.prepare("INSERT OR REPLACE INTO kv_store (key, value, namespace) VALUES (?, ?, 'system')").run(`consolidation_bootstrap_${e}`,new Date().toISOString())}catch{}return console.log(`[ExperienceConsolidator] Bootstrap ${e}: ${n.merged} merged, ${n.archived} archived`),n}async clusterAndMerge(e){let i=this.db.prepare(`
|
|
3
|
-
SELECT id, task, domain, quality, success, application_count,
|
|
4
|
-
consolidation_count, reuse_success_count, reuse_failure_count,
|
|
5
|
-
embedding, embedding_dimension, started_at
|
|
6
|
-
FROM captured_experiences
|
|
7
|
-
WHERE domain = ? AND consolidated_into IS NULL AND embedding IS NOT NULL
|
|
8
|
-
ORDER BY quality DESC
|
|
9
|
-
`).all(e);if(i.length<2)return{merged:0,contradicted:0};let t=new x({dimension:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}),n=new Map,r=0;for(let a of i)if(a.embedding&&a.embedding_dimension){let N=this.bufferToFloatArray(a.embedding,a.embedding_dimension),y=r++;n.set(y,a.id);let S={vector:N,dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}};t.addEmbedding(S,y)}let s=new Set,d=0,o=0,l=this.db.prepare("UPDATE captured_experiences SET consolidated_into = ? WHERE id = ?"),m=this.db.prepare("UPDATE captured_experiences SET consolidated_into = 'contradicted' WHERE id = ?"),u=this.db.prepare(`
|
|
10
|
-
UPDATE captured_experiences
|
|
11
|
-
SET consolidation_count = consolidation_count + ?,
|
|
12
|
-
quality = MIN(1.0, quality + ?),
|
|
13
|
-
quality_updated_at = datetime('now')
|
|
14
|
-
WHERE id = ?
|
|
15
|
-
`),I=this.db.prepare(`
|
|
16
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, target_id, details, created_at)
|
|
17
|
-
VALUES (?, ?, ?, ?, ?, ?, datetime('now'))
|
|
18
|
-
`);for(let a of i){if(d+o>=this.config.maxMergesPerRun)break;if(s.has(a.id)||!a.embedding||!a.embedding_dimension)continue;let y={vector:this.bufferToFloatArray(a.embedding,a.embedding_dimension),dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}},S=t.search(y,{limit:6,namespace:"experiences"}),h=[],g=[];for(let{id:v,distance:p}of S){if(d+o>=this.config.maxMergesPerRun)break;let c=n.get(v);if(!c||c===a.id||s.has(c))continue;let A=1-p;if(A<Math.min(this.config.mergeSimilarityThreshold,this.config.contradictionSimilarityThreshold))continue;let f=i.find(z=>z.id===c);if(!f)continue;let D=Math.abs(a.quality-f.quality);if(A>=this.config.contradictionSimilarityThreshold&&D>=this.config.contradictionQualityDelta){f.quality<a.quality&&(s.add(c),g.push(c),o++);continue}A>=this.config.mergeSimilarityThreshold&&f.quality<=a.quality&&f.application_count===0&&(s.add(c),h.push(c),d++)}h.length>0&&this.db.transaction(()=>{for(let c of h)l.run(a.id,c);let p=this.config.mergeQualityBoost*h.length;u.run(h.length,p,a.id),I.run(b(),e,"merge",JSON.stringify(h),a.id,JSON.stringify({count:h.length,boost:p}))})(),g.length>0&&this.db.transaction(()=>{for(let p of g)m.run(p);I.run(b(),e,"contradiction",JSON.stringify(g),a.id,JSON.stringify({count:g.length,survivorQuality:a.quality}))})()}return t.clearIndex("experiences"),{merged:d,contradicted:o}}reinforceQuality(e){let i=this.db.prepare(`
|
|
19
|
-
SELECT ce.id, ce.quality, ce.consolidation_count,
|
|
20
|
-
ce.reuse_success_count, ce.reuse_failure_count,
|
|
21
|
-
COALESCE(app.total, 0) as app_total,
|
|
22
|
-
COALESCE(app.successes, 0) as app_successes
|
|
23
|
-
FROM captured_experiences ce
|
|
24
|
-
LEFT JOIN (
|
|
25
|
-
SELECT experience_id,
|
|
26
|
-
COUNT(*) as total,
|
|
27
|
-
SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as successes
|
|
28
|
-
FROM experience_applications
|
|
29
|
-
GROUP BY experience_id
|
|
30
|
-
) app ON app.experience_id = ce.id
|
|
31
|
-
WHERE ce.domain = ? AND ce.consolidated_into IS NULL
|
|
32
|
-
AND (app.total > 0 OR ce.reuse_success_count > 0 OR ce.reuse_failure_count > 0)
|
|
33
|
-
`).all(e);if(i.length===0)return 0;let t=this.db.prepare(`
|
|
34
|
-
UPDATE captured_experiences
|
|
35
|
-
SET quality = ?, quality_updated_at = datetime('now')
|
|
36
|
-
WHERE id = ?
|
|
37
|
-
`),n=0;return this.db.transaction(()=>{for(let s of i){let d=s.app_total+s.reuse_success_count+s.reuse_failure_count,o=s.app_successes+s.reuse_success_count,l=d>0?o/d:0,m=Math.min(s.consolidation_count,10)/10,u=Math.min(1,.4*s.quality+.4*l+.2*m);Math.abs(u-s.quality)>.01&&(t.run(u,s.id),n++)}})(),n}archiveValueless(e){let i=new Date;i.setDate(i.getDate()-this.config.archiveMinAgeDays);let t=i.toISOString().replace("T"," ").slice(0,19),n=this.db.prepare(`
|
|
38
|
-
UPDATE captured_experiences
|
|
39
|
-
SET consolidated_into = 'archived'
|
|
40
|
-
WHERE domain = ?
|
|
41
|
-
AND consolidated_into IS NULL
|
|
42
|
-
AND quality < ?
|
|
43
|
-
AND application_count = 0
|
|
44
|
-
AND success = 0
|
|
45
|
-
AND consolidation_count = 1
|
|
46
|
-
AND started_at < ?
|
|
47
|
-
`).run(e,this.config.archiveQualityThreshold,t);if(n.changes>0)try{this.db.prepare(`
|
|
48
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
|
|
49
|
-
VALUES (?, ?, 'archive', '[]', ?, datetime('now'))
|
|
50
|
-
`).run(b(),e,JSON.stringify({count:n.changes}))}catch{}return n.changes}hardDeleteExcess(e,i){let t=i-this.config.hardThreshold;if(t<=0)return 0;let r=this.db.prepare(`
|
|
51
|
-
UPDATE captured_experiences
|
|
52
|
-
SET consolidated_into = 'archived'
|
|
53
|
-
WHERE id IN (
|
|
54
|
-
SELECT id FROM captured_experiences
|
|
55
|
-
WHERE domain = ? AND consolidated_into IS NULL AND application_count = 0
|
|
56
|
-
ORDER BY quality ASC, started_at ASC
|
|
57
|
-
LIMIT ?
|
|
58
|
-
)
|
|
59
|
-
`).run(e,t).changes;if(r>0){try{this.db.prepare(`
|
|
60
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
|
|
61
|
-
VALUES (?, ?, 'safety-valve-archive', '[]', ?, datetime('now'))
|
|
62
|
-
`).run(b(),e,JSON.stringify({count:r,currentCount:i,hardThreshold:this.config.hardThreshold,note:"soft-archive replacement for legacy hard-delete safety valve"}))}catch{}console.warn(`[ExperienceConsolidator] Safety valve: soft-archived ${r} from ${e} (was ${i}, threshold ${this.config.hardThreshold})`)}return r}ensureInitialized(){if(!this.initialized||!this.db)throw new Error("ExperienceConsolidator not initialized. Call initialize() first.")}bufferToFloatArray(e,i){let t=[];for(let n=0;n<i;n++)t.push(e.readFloatLE(n*4));return t}};export{x as a,R as b};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.11");process.exit(0)}
|
|
2
|
-
import{a as K}from"./chunk-V7DA4HAK.js";import{a as C,e as x,f as Y}from"./chunk-U3LJNNVJ.js";import{a as O}from"./chunk-XDI5X3FR.js";import{a as H,b as F,c as G,d as j,f as V}from"./chunk-NTB342NJ.js";import{c as $,d as J}from"./chunk-JGJXXAS6.js";import{a as W,b as U,g as _,j as z}from"./chunk-7HEMJHPP.js";import{i as B}from"./chunk-AUUJBXWX.js";import{b as q,d as ne}from"./chunk-JFLU7L3W.js";import{a as D,g as S,i as M,k as L,l as v,p as A}from"./chunk-VLD7Z2ED.js";import{i as N}from"./chunk-7R5HC56U.js";import{c as p,d as h}from"./chunk-IW6WDGHM.js";import{a as te}from"./chunk-IO5537OM.js";import{c as I}from"./chunk-FZHSG75I.js";import{a as w,b as f,e as ee}from"./chunk-DDEOZPWJ.js";te();ee();ne();var c=I.create("RealQEReasoningBank"),ie={sqlite:{dbPath:".agentic-qe/memory.db",walMode:!0,useUnified:!0},embeddings:{modelName:"Xenova/all-MiniLM-L6-v2",quantized:!0,enableCache:!0},enableLearning:!0,enableRouting:!0,enableGuidance:!0,hnsw:{M:16,efConstruction:200,efSearch:100},routingWeights:{similarity:.3,performance:.4,capabilities:.3},coherenceThreshold:.4},Q=class{constructor(e={},t){this.coherenceService=t;this.qeConfig={...ie,...e},this.sqliteStore=B(this.qeConfig.sqlite),this.asymmetricEngine=new K}coherenceService;qeConfig;sqliteStore;hnswIndex=null;patternIdMap=new Map;initialized=!1;embedderUnavailableReason=null;stats={routingRequests:0,totalRoutingLatency:0,learningOutcomes:0,successfulOutcomes:0};routingLatencies=new O(1e3);asymmetricEngine;agentCapabilities={"qe-test-generator":{domains:["test-generation"],capabilities:["test-generation","tdd","bdd","unit-test","integration-test"],performanceScore:.85},"qe-coverage-analyzer":{domains:["coverage-analysis"],capabilities:["coverage-analysis","gap-detection","risk-scoring"],performanceScore:.92},"qe-coverage-specialist":{domains:["coverage-analysis"],capabilities:["sublinear-analysis","branch-coverage","mutation-testing"],performanceScore:.88},"qe-test-architect":{domains:["test-generation","coverage-analysis"],capabilities:["test-strategy","test-pyramid","architecture"],performanceScore:.9},"qe-api-contract-validator":{domains:["contract-testing"],capabilities:["contract-testing","openapi","graphql","pact"],performanceScore:.87},"qe-security-auditor":{domains:["security-compliance"],capabilities:["sast","dast","vulnerability","owasp"],performanceScore:.82},"qe-visual-tester":{domains:["visual-accessibility"],capabilities:["screenshot","visual-regression","percy","chromatic"],performanceScore:.8},"qe-a11y-ally":{domains:["visual-accessibility"],capabilities:["wcag","aria","screen-reader","contrast"],performanceScore:.85},"qe-performance-tester":{domains:["chaos-resilience"],capabilities:["load-testing","stress-testing","k6","artillery"],performanceScore:.83},"qe-flaky-investigator":{domains:["test-execution"],capabilities:["flaky-detection","test-stability","retry"],performanceScore:.78},"qe-chaos-engineer":{domains:["chaos-resilience"],capabilities:["chaos-testing","resilience","fault-injection"],performanceScore:.75}};async initialize(){if(this.initialized)return;let e=performance.now();await this.sqliteStore.initialize(),c.info("SQLite persistence initialized");try{await S(D,this.qeConfig.embeddings)}catch(n){this.embedderUnavailableReason=w(n),c.warn("No embedding runtime: patterns are stored without vectors (pending `aqe learning backfill-embeddings`) and searched by text matching only",{reason:this.embedderUnavailableReason})}this.embedderUnavailableReason===null&&(await this.initializeHNSW(),c.info("HNSW index initialized"),await this.loadPatternsIntoHNSW()),this.sqliteStore.getStats().totalPatterns===0&&(this.sqliteStore.hasAnyHistoricalData?.()??!1?c.error("qe_patterns table is EMPTY but historical data exists \u2014 possible data loss! Restore from backup instead of loading seed patterns. Skipping foundational pattern load to avoid masking data loss."):await this.loadFoundationalPatterns()),this.initialized=!0;let i=performance.now()-e;c.info("Fully initialized",{durationMs:Math.round(i)})}getPatternSearchStatus(){return this.embedderUnavailableReason===null?{mode:"vector"}:{mode:"lexical-only",reason:this.embedderUnavailableReason}}async initializeHNSW(){try{let e=await import("./hnswlib-node-PHL3F2PR.js"),i=e.default?.HierarchicalNSW||e.HierarchicalNSW;if(typeof i!="function")throw new Error("HierarchicalNSW not found in hnswlib-node module");let n=i,r=v();this.hnswIndex=new n("cosine",r),this.hnswIndex.initIndex(1e5,this.qeConfig.hnsw.M,this.qeConfig.hnsw.efConstruction),this.hnswIndex.setEf(this.qeConfig.hnsw.efSearch),c.info("HNSW initialized",{dimension:r,M:this.qeConfig.hnsw.M})}catch(e){throw c.error("HNSW initialization failed",e instanceof Error?e:void 0),e}}async loadPatternsIntoHNSW(){if(!this.hnswIndex)return;let e=this.sqliteStore.getAllEmbeddings(),t=v(),i=0,n=0,r=A()?.spaceId;for(let{patternId:s,embedding:a,spaceId:o}of e){if(!r||o!==r||!a||!Array.isArray(a)||a.length!==t){n++;continue}let d=this.hnswIndex.getCurrentCount();this.hnswIndex.addPoint(a,d),this.patternIdMap.set(d,s),i++}n>0&&c.warn("Skipped invalid embeddings",{skipped:n,expectedDim:t}),c.info("Loaded patterns into HNSW index",{count:i})}async loadFoundationalPatterns(){let e=[{patternType:"test-template",name:"AAA Unit Test",description:"Arrange-Act-Assert pattern for clear, maintainable unit tests",template:{type:"code",content:`describe('{{className}}', () => {
|
|
3
|
-
describe('{{methodName}}', () => {
|
|
4
|
-
it('should {{expectedBehavior}}', {{async}} () => {
|
|
5
|
-
// Arrange
|
|
6
|
-
{{arrangeCode}}
|
|
7
|
-
|
|
8
|
-
// Act
|
|
9
|
-
{{actCode}}
|
|
10
|
-
|
|
11
|
-
// Assert
|
|
12
|
-
{{assertCode}}
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
});`,variables:[{name:"className",type:"string",required:!0},{name:"methodName",type:"string",required:!0},{name:"expectedBehavior",type:"string",required:!0}]},context:{testType:"unit",tags:["unit-test","aaa","best-practice"]}},{patternType:"coverage-strategy",name:"Risk-Based Coverage",description:"Prioritize coverage by code risk and complexity",template:{type:"prompt",content:"Analyze coverage gaps focusing on critical business logic, error handling, and high-complexity functions.",variables:[]},context:{tags:["coverage","risk-based"]}}];for(let t of e)try{await this.storeQEPattern(t)}catch(i){c.warn("Failed to load foundational pattern",{name:t.name,error:i})}c.info("Loaded foundational patterns",{count:e.length})}async storeQEPattern(e){try{let t=`${e.name} ${e.description||""} ${e.context?.tags?.join(" ")||""}`,i=this.embedderUnavailableReason===null?await S(t,this.qeConfig.embeddings):void 0,n=W(t)||"test-generation";if(C())try{let a=Y(e.name,{description:e.description,template:e.template,patternType:e.patternType},n,{tags:e.context?.tags}),o=await x.evaluateWrite(a);if(!o.allowed&&(c.warn("Pattern blocked by MemoryWriteGate",{name:e.name,reason:o.reason,conflicts:o.conflictingPatterns?.join(", ")||"none"}),o.reason?.includes("strict")))return h(new Error(`Pattern blocked by governance: ${o.reason}`))}catch(a){c.warn("MemoryWriteGate check error (continuing)",{error:a})}let r=N(),s={id:r,patternType:e.patternType,qeDomain:n,domain:n,name:e.name,description:e.description||"",confidence:.5,usageCount:0,successRate:0,qualityScore:0,tier:"short-term",template:e.template,context:{tags:[],...e.context},createdAt:new Date,lastUsedAt:new Date,successfulUses:0,embedding:i,reusable:!1,reuseCount:0,averageTokenSavings:0};if(this.sqliteStore.storePattern(s,i),this.hnswIndex&&i){let a=this.hnswIndex.getCurrentCount();this.hnswIndex.addPoint(i,a),this.patternIdMap.set(a,r)}if(C())try{x.registerPattern({key:r,value:{name:s.name,description:s.description,patternType:s.patternType},domain:s.domain})}catch(a){c.warn("Pattern registration with MemoryWriteGate failed",{error:a})}return p(s)}catch(t){return h(f(t))}}async searchQEPatterns(e,t={}){let i=performance.now();try{let n=t.limit||10,r=[];if(this.embedderUnavailableReason===null){if(!this.hnswIndex)return h(new Error("HNSW index not available"));await this.collectVectorMatches(e,n,t,r)}let s=new Map(r.map(o=>[o.pattern.id,o]));for(let o of this.sqliteStore.searchFTS(e,n*2)){let d=s.get(o.id);if(d){d.score=J(d.score,o.ftsScore*o.coverage);continue}if(t.minSimilarity!==void 0)continue;let m=this.sqliteStore.getPattern(o.id);!m||t.domain&&m.qeDomain!==t.domain||r.push({pattern:m,score:.5*o.ftsScore*o.coverage,similarity:0,matchType:"lexical",canReuse:!1})}r.sort((o,d)=>d.score-o.score);let a=performance.now()-i;return a>10&&c.warn("Slow search",{searchTimeMs:Number(a.toFixed(1))}),p(r.slice(0,n))}catch(n){return h(f(n))}}async collectVectorMatches(e,t,i,n){let r=await S(e,this.qeConfig.embeddings),s=this.hnswIndex.searchKnn(r,t*2);for(let a=0;a<s.neighbors.length;a++){let o=s.neighbors[a],m=1-s.distances[a];if(i.minSimilarity!==void 0&&m<i.minSimilarity)continue;let b=this.patternIdMap.get(o);if(!b)continue;let l=this.sqliteStore.getPattern(b);if(!l||i.domain&&l.qeDomain!==i.domain)continue;let u=$.reuseOptimization,g=(Date.now()-new Date(l.lastUsedAt).getTime())/864e5;n.push({pattern:l,similarity:m,score:m,matchType:"vector",canReuse:!!(l.reusable&&m>=u.minSimilarityForReuse&&l.successRate>=u.minSuccessRateForReuse&&g<=u.maxAgeForReuse)})}}async routeTask(e){let t=performance.now();this.stats.routingRequests++;try{let i=e.domain?[e.domain]:U(e.task);i.length===0&&i.push("test-generation");let n=await this.searchQEPatterns(e.task,{limit:10,domain:i[0]}),r=n.success?n.value.map(l=>l.pattern):[],s=[];for(let[l,u]of Object.entries(this.agentCapabilities)){let g=0,y=[],T=i.filter(P=>u.domains.includes(P)).length,E=T>0?T/i.length*.4:0;if(g+=E*this.qeConfig.routingWeights.similarity,E>0&&y.push(`Domain: ${(E*100).toFixed(0)}%`),e.capabilities&&e.capabilities.length>0){let P=e.capabilities.filter(X=>u.capabilities.some(Z=>Z.toLowerCase().includes(X.toLowerCase()))).length,R=P>0?P/e.capabilities.length*.3:0;g+=R*this.qeConfig.routingWeights.capabilities,R>0&&y.push(`Caps: ${(R*100).toFixed(0)}%`)}else g+=.15*this.qeConfig.routingWeights.capabilities;g+=u.performanceScore*.3*this.qeConfig.routingWeights.performance,y.push(`Perf: ${(u.performanceScore*100).toFixed(0)}%`),s.push({agent:l,score:g,reasoning:y})}s.sort((l,u)=>u.score-l.score);let a=s[0],o=s.slice(1,4),d=[];if(this.qeConfig.enableGuidance&&i.length>0){let l=F(i[0],{framework:e.context?.framework,language:e.context?.language,includeAntiPatterns:!0});d.push(...l.slice(0,5))}let m=performance.now()-t;this.stats.totalRoutingLatency+=m,this.routingLatencies.push(m);let b={recommendedAgent:a.agent,confidence:a.score,alternatives:o.map(l=>({agent:l.agent,score:l.score})),domains:i,patterns:r,guidance:d,reasoning:a.reasoning.join("; "),latencyMs:m};return p(V(e.includePatternGuidance,b,n.success?n.value:[]))}catch(i){return h(f(i))}}async recordOutcome(e){if(!this.qeConfig.enableLearning)return p(void 0);try{this.sqliteStore.recordUsage(e.patternId,e.success,e.metrics,e.feedback),this.stats.learningOutcomes++,e.success&&this.stats.successfulOutcomes++;let t=this.sqliteStore.getPattern(e.patternId);if(t){let i=t.qeDomain,n=this.asymmetricEngine.computeConfidenceUpdate(t.confidence,e.success?"success":"failure",i);this.asymmetricEngine.shouldQuarantine(n,i).shouldQuarantine&&c.info("Pattern quarantined (asymmetric drop)",{name:t.name}),this.sqliteStore.updatePattern(e.patternId,{confidence:n}),await this.checkPatternPromotionWithCoherence(t)&&(this.sqliteStore.promotePattern(e.patternId),c.info("Pattern promoted to long-term",{name:t.name}))}return p(void 0)}catch(t){return h(f(t))}}async checkPatternPromotionWithCoherence(e){let t=_(e);if(!t.meetsUsageCriteria||!t.meetsQualityCriteria)return!1;if(this.coherenceService&&this.coherenceService.isInitialized()){let r=[...await this.getLongTermPatterns(),e].map(a=>({id:a.id,embedding:a.embedding||[],weight:a.confidence,metadata:{name:a.name,domain:a.qeDomain}})),s=await this.coherenceService.checkCoherence(r);if(s.energy>=(this.qeConfig.coherenceThreshold||.4))return c.info("Pattern promotion blocked due to coherence violation",{name:e.name,energy:s.energy}),s.contradictions&&s.contradictions.length>0&&c.info("Conflicts with existing patterns",{conflictingNodeIds:s.contradictions.map(a=>a.nodeIds).flat()}),!1}return!0}async getLongTermPatterns(){return this.sqliteStore.getPatterns({limit:1e3}).filter(t=>t.tier==="long-term")}shouldPromote(e){return e.tier==="short-term"&&e.successfulUses>=3&&e.successRate>=.7&&e.confidence>=.6}getQEGuidance(e){return H(e)}generateQEContext(e,t){return j(e,t||{})}checkQEAntiPatterns(e,t){return G(e,t)}async getQEStats(){let e=this.sqliteStore.getStats(),t=this.routingLatencies.percentile(95)||0,i={};for(let n of z)i[n]=e.byDomain[n]||0;return{totalPatterns:e.totalPatterns,byDomain:i,byTier:e.byTier,routingRequests:this.stats.routingRequests,avgRoutingLatencyMs:this.stats.routingRequests>0?this.stats.totalRoutingLatency/this.stats.routingRequests:0,p95RoutingLatencyMs:t,learningOutcomes:this.stats.learningOutcomes,patternSuccessRate:this.stats.learningOutcomes>0?this.stats.successfulOutcomes/this.stats.learningOutcomes:0,embeddingCacheSize:0,transformerAvailable:L(),patternSearch:this.getPatternSearchStatus(),embeddingDimension:v(),sqliteDbPath:this.qeConfig.sqlite.dbPath||".agentic-qe/memory.db",asymmetricLearning:{failurePenaltyRatio:"10:1",quarantinedPatterns:this.sqliteStore.getPatterns({limit:1e4}).filter(n=>n.quarantined===!0).length,rehabilitatedPatterns:this.sqliteStore.getPatterns({limit:1e4}).filter(n=>n.quarantined===!1&&n.quarantinedAt).length,avgConfidenceDelta:this.stats.learningOutcomes>0?this.stats.successfulOutcomes/this.stats.learningOutcomes-.5:0}}}async storeLoopPattern(e){try{let t=await this.storeQEPattern({patternType:"anti-pattern",name:`loop-detection:${e.toolCallSignature}`,description:`Tool call loop detected for agent ${e.agentId} during ${e.taskType}. Steering: ${e.steeringUsed}. Resolved: ${e.resolved}`,template:{type:"prompt",content:e.steeringUsed,variables:[]},context:{tags:["anti-pattern","loop-detection","learning-optimization",e.taskType]}});return t.success?{success:!0,patternId:t.value.id}:{success:!1,error:t.error?.message??"Unknown error"}}catch(t){return{success:!1,error:w(t)}}}async recordPatternOutcome(e,t,i){let n=this.sqliteStore.getPattern(e);if(!n)return;let r=n.usageCount+1,s=t?n.successfulUses+1:n.successfulUses,a=s/r,o=.3,d=(1-o)*n.qualityScore+o*i,m=Math.min(1,.5+r*.05+a*.3);this.sqliteStore.updatePattern(e,{usageCount:r,successfulUses:s,successRate:a,qualityScore:d,confidence:m})}async checkPatternPromotion(e,t,i,n){let r=this.sqliteStore.getPattern(e);return r?r.tier==="short-term"?t>=3&&i>=.6&&n>=.5:r.tier==="long-term"?t>=10&&i>=.75&&n>=.7:!1:!1}async promotePattern(e){this.sqliteStore.promotePattern(e)}async demotePattern(e){let t=this.sqliteStore.getPattern(e);if(!t)return;let i=["short-term","working","long-term"],n=i.indexOf(t.tier);if(n>0){let r=i[n-1];this.sqliteStore.updatePattern(e,{tier:r}),c.info("Pattern demoted",{name:t.name,newTier:r})}}cleanupPatternIdMap(){if(!this.initialized)return 0;let e=0,t=this.sqliteStore.getPatterns({limit:1e5}),i=new Set(t.map(n=>n.id));for(let[n,r]of Array.from(this.patternIdMap.entries()))i.has(r)||(this.patternIdMap.delete(n),e++);return e>0&&c.info("Cleaned stale patternIdMap entries",{count:e}),e}removePatternFromHNSW(e){for(let[t,i]of Array.from(this.patternIdMap.entries()))if(i===e)return this.patternIdMap.delete(t),c.info("Removed pattern from HNSW mapping",{patternId:e}),!0;return!1}getMemoryStats(){return{patternIdMapSize:this.patternIdMap.size,routingLatenciesSize:this.routingLatencies.length,hnswIndexCount:this.hnswIndex?.getCurrentCount()??0}}async storeTrajectory(e){return this.sqliteStore.getDb().prepare(`
|
|
16
|
-
INSERT OR REPLACE INTO qe_trajectories (
|
|
17
|
-
id, task, agent, domain, started_at, ended_at, success, steps_json, metadata_json
|
|
18
|
-
) VALUES (?, ?, ?, ?, datetime('now'), datetime('now'), ?, ?, ?)
|
|
19
|
-
`).run(e.id,e.task,e.agent??null,e.domain??null,e.success?1:0,JSON.stringify(e.steps),JSON.stringify(e.metrics??{})),e.id}async getTrajectories(e,t=50){let i=this.sqliteStore.getDb(),n="SELECT * FROM qe_trajectories",r=[];return e&&(n+=" WHERE domain = ?",r.push(e)),n+=" ORDER BY ended_at DESC LIMIT ?",r.push(t),i.prepare(n).all(...r).map(a=>({id:a.id,task:a.task,agent:a.agent??void 0,domain:a.domain,success:a.success===1,steps:q(a.steps_json||"[]"),metrics:a.metadata_json?q(a.metadata_json):void 0}))}async linkPatternToTrajectory(e,t){let i=this.sqliteStore.getDb(),n=this.sqliteStore.getPattern(e);if(n){let r={...n.context,sourceTrajectoryId:t};i.prepare(`
|
|
20
|
-
UPDATE qe_patterns SET context_json = ?, updated_at = datetime('now') WHERE id = ?
|
|
21
|
-
`).run(JSON.stringify(r),e)}}async getEnhancedAdapter(){return{message:"Use EnhancedReasoningBankAdapter for full agentic-flow integration",importPath:"../integrations/agentic-flow/reasoning-bank/index.js"}}async dispose(){this.sqliteStore.close(),M(),this.hnswIndex=null,this.patternIdMap.clear(),this.routingLatencies.clear(),this.stats.routingRequests=0,this.stats.totalRoutingLatency=0,this.stats.learningOutcomes=0,this.stats.successfulOutcomes=0,this.initialized=!1,c.info("Disposed")}async destroy(){return this.dispose()}};function xe(k={},e){return new Q(k,e)}export{xe as a};
|