agentic-qe 3.15.9 → 3.15.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +251 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/a2ui/catalog/component-schemas.js +2 -1
- package/dist/adapters/a2ui/data/json-pointer-resolver.js +10 -5
- package/dist/adapters/a2ui/integration/agui-sync.js +10 -6
- package/dist/adapters/a2ui/integration/surface-state-bridge.js +9 -5
- package/dist/adapters/ag-ui/json-patch.js +10 -6
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-TR5SLAZC.js +2 -0
- package/dist/cli/chunks/agent-booster-wasm-H7ANGXW4.js +2 -0
- package/dist/cli/chunks/{agent-handler-RIYHTHVZ.js → agent-handler-SVXSHEET.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-WSUCUHOO.js → agent-memory-branch-WKQH36XL.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-DXWKCHY2.js +2 -0
- package/dist/cli/chunks/{arena-KRIBMIXX.js → arena-EKOOFVST.js} +2 -2
- package/dist/cli/chunks/{arena-YAJZX6MC.js → arena-OPS36NFZ.js} +4 -4
- package/dist/cli/chunks/{audit-7ZNOXWP3.js → audit-AO5NDZRI.js} +3 -3
- package/dist/cli/chunks/base-GTB6POYE.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-ZQAT4I6H.js → better-sqlite3-TFLVEMMY.js} +2 -2
- package/dist/cli/chunks/{brain-handler-452WCPZC.js → brain-handler-ADBBJPYW.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-IJFXJRPN.js → branch-enumerator-HGHUYYL5.js} +2 -2
- package/dist/cli/chunks/browser-5LU6P4SZ.js +4 -0
- package/dist/cli/chunks/browser-workflow-MSBOLYUY.js +2 -0
- package/dist/cli/chunks/{chunk-UOJBR4J3.js → chunk-2SXBBUM6.js} +2 -2
- package/dist/cli/chunks/{chunk-7JKB3Q7O.js → chunk-2T7RRL6G.js} +1 -1
- package/dist/cli/chunks/{chunk-HCYQHWI2.js → chunk-2XGVTYVX.js} +2 -2
- package/dist/cli/chunks/{chunk-3LYU7BLY.js → chunk-2ZI5FKSF.js} +2 -2
- package/dist/cli/chunks/chunk-2ZMF4NCF.js +4 -0
- package/dist/cli/chunks/{chunk-F3PQZX44.js → chunk-37OWRCUN.js} +1 -1
- package/dist/cli/chunks/{chunk-YRBBBUJX.js → chunk-3P34JFQH.js} +4 -4
- package/dist/cli/chunks/{chunk-ICP2ORGI.js → chunk-3Y7SPD72.js} +2 -2
- package/dist/cli/chunks/{chunk-WGDR2KIR.js → chunk-4G63WT4F.js} +2 -2
- package/dist/cli/chunks/chunk-4SJYIX54.js +3 -0
- package/dist/cli/chunks/chunk-5E6GHSTY.js +3 -0
- package/dist/cli/chunks/{chunk-OXTFSIGN.js → chunk-5LPYV3TK.js} +1 -1
- package/dist/cli/chunks/{chunk-XWIUFYM3.js → chunk-62OAY5KJ.js} +1 -1
- package/dist/cli/chunks/{chunk-VCMINU7K.js → chunk-6C3II5OM.js} +2 -2
- package/dist/cli/chunks/{chunk-EFBLP43U.js → chunk-6GP6W46M.js} +2 -2
- package/dist/cli/chunks/{chunk-4JCY45KV.js → chunk-6KIL6CMD.js} +2 -2
- package/dist/cli/chunks/{chunk-CTZJUV5I.js → chunk-6MVVSSID.js} +1 -1
- package/dist/cli/chunks/{chunk-JEP4ULR6.js → chunk-6P7424AO.js} +2 -2
- package/dist/cli/chunks/{chunk-SVHUYVUR.js → chunk-6PX4OXQO.js} +2 -2
- package/dist/cli/chunks/{chunk-LEAKYZ37.js → chunk-6S3WJGUV.js} +2 -2
- package/dist/cli/chunks/{chunk-7X2Y727E.js → chunk-6TB6YOCZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VU2EL424.js → chunk-6X5DHU6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-DDPPSSHW.js → chunk-6XCMKIZN.js} +1 -1
- package/dist/cli/chunks/{chunk-ZANDSVCK.js → chunk-7LFZ4CHM.js} +2 -2
- package/dist/cli/chunks/{chunk-UYLYMWV5.js → chunk-7OZVZIBE.js} +2 -2
- package/dist/cli/chunks/{chunk-32UTLDNY.js → chunk-7PJIR4ST.js} +2 -2
- package/dist/cli/chunks/{chunk-DINZR5CF.js → chunk-7TB6FK4B.js} +1 -1
- package/dist/cli/chunks/{chunk-KVBEGOJE.js → chunk-7ZCDZHDB.js} +2 -2
- package/dist/cli/chunks/{chunk-55HRSNGN.js → chunk-A55QKKT2.js} +2 -2
- package/dist/cli/chunks/{chunk-LCJTEUDC.js → chunk-ABFFWZPC.js} +428 -433
- package/dist/cli/chunks/{chunk-PVIA2FPD.js → chunk-ACWFKES2.js} +2 -2
- package/dist/cli/chunks/{chunk-2BA45H64.js → chunk-AH3ZD3NJ.js} +2 -2
- package/dist/cli/chunks/{chunk-OG2UI6A3.js → chunk-AI4VYSFS.js} +2 -2
- package/dist/cli/chunks/chunk-APSRPR4W.js +2 -0
- package/dist/cli/chunks/chunk-ATHWDAXB.js +3 -0
- package/dist/cli/chunks/{chunk-TSYQDRNK.js → chunk-B6LTH6YV.js} +2 -2
- package/dist/cli/chunks/chunk-BQUAE3CP.js +3 -0
- package/dist/cli/chunks/{chunk-OCESWNAZ.js → chunk-C522H7XR.js} +54 -33
- package/dist/cli/chunks/{chunk-TUYJ53V4.js → chunk-CESIR27V.js} +2 -2
- package/dist/cli/chunks/{chunk-PBZI2ZPV.js → chunk-CFBEBXLO.js} +3 -3
- package/dist/cli/chunks/{chunk-FJ4VTLLK.js → chunk-CMBLM26R.js} +2 -2
- package/dist/cli/chunks/{chunk-YZYDTABJ.js → chunk-CZ2IF6MC.js} +1 -1
- package/dist/cli/chunks/{chunk-GKPQ2GRR.js → chunk-CZGOSJQ4.js} +2 -2
- package/dist/cli/chunks/{chunk-FL3OYGCS.js → chunk-D6DA2KFD.js} +2 -2
- package/dist/cli/chunks/{chunk-37BIGMJI.js → chunk-DBMNJSBV.js} +1 -1
- package/dist/cli/chunks/{chunk-BHKXMIWX.js → chunk-DE4YJQJF.js} +2 -2
- package/dist/cli/chunks/{chunk-3CJCROMW.js → chunk-DEF34AFL.js} +2 -2
- package/dist/cli/chunks/chunk-DKAC3E3B.js +3 -0
- package/dist/cli/chunks/{chunk-AOFO4N32.js → chunk-DMFTELBS.js} +2 -2
- package/dist/cli/chunks/{chunk-KLGYIEJK.js → chunk-DNRWGATA.js} +10 -10
- package/dist/cli/chunks/{chunk-JWGRWMZP.js → chunk-DT7SIJOA.js} +2 -2
- package/dist/cli/chunks/{chunk-6PXA2BQJ.js → chunk-DURHK377.js} +67 -67
- package/dist/cli/chunks/{chunk-HAROIAJE.js → chunk-EAU5KDFO.js} +1 -1
- package/dist/cli/chunks/{chunk-L42JPFCC.js → chunk-EDLFX4ZB.js} +2 -2
- package/dist/cli/chunks/{chunk-6OOYIO3W.js → chunk-EN2QSKFF.js} +2 -2
- package/dist/cli/chunks/{chunk-UNUTC6TX.js → chunk-ERQKYIP7.js} +2 -2
- package/dist/cli/chunks/{chunk-KFUUIAR4.js → chunk-ESUO3GTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-4V27J6YN.js → chunk-EWFECZ2U.js} +2 -2
- package/dist/cli/chunks/{chunk-4W4DYVSH.js → chunk-FAUCT5KR.js} +3 -3
- package/dist/cli/chunks/{chunk-IFEIY3NQ.js → chunk-FB6TI3BH.js} +2 -2
- package/dist/cli/chunks/{chunk-2TDIS6YK.js → chunk-FBXTQNRH.js} +2 -2
- package/dist/cli/chunks/{chunk-XOLDMK23.js → chunk-FESZBPUB.js} +2 -2
- package/dist/cli/chunks/chunk-FFTPAWM6.js +141 -0
- package/dist/cli/chunks/{chunk-A6YIH4C4.js → chunk-FKL3R5JQ.js} +2 -2
- package/dist/cli/chunks/{chunk-N5PDFGCQ.js → chunk-FPUDRSFJ.js} +2 -2
- package/dist/cli/chunks/{chunk-7QGYJ5OY.js → chunk-FZOWULMH.js} +1 -1
- package/dist/cli/chunks/{chunk-AVB5QY2Q.js → chunk-G3CZCUPM.js} +2 -2
- package/dist/cli/chunks/{chunk-FV3NHVC7.js → chunk-G5I6KGMW.js} +3 -3
- package/dist/cli/chunks/{chunk-N3KEY4XJ.js → chunk-GHBNRMSJ.js} +2 -2
- package/dist/cli/chunks/{chunk-2YH62JCN.js → chunk-GJHWY3ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-ZXBCCO2H.js → chunk-GJMLK5UT.js} +2 -2
- package/dist/cli/chunks/{chunk-NHZIWIQZ.js → chunk-GRCIBCJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-J3DTDJDT.js → chunk-GWZZ7DAO.js} +2 -2
- package/dist/cli/chunks/{chunk-4SUOVLJ6.js → chunk-GZLZCZ42.js} +2 -2
- package/dist/cli/chunks/{chunk-MZS32SYS.js → chunk-H2PYU7MN.js} +1 -1
- package/dist/cli/chunks/{chunk-ABFDB4X3.js → chunk-H32EPIR2.js} +1 -1
- package/dist/cli/chunks/{chunk-KIXYKUCI.js → chunk-H74Q7TJN.js} +1 -1
- package/dist/cli/chunks/chunk-HOZUDE4C.js +2 -0
- package/dist/cli/chunks/{chunk-PMCRCEW5.js → chunk-I33O4BRQ.js} +2 -2
- package/dist/cli/chunks/{chunk-N3NP6PTT.js → chunk-IKISCIGH.js} +2 -2
- package/dist/cli/chunks/{chunk-Q3JVJRVJ.js → chunk-IPJ7Q3AJ.js} +1 -1
- package/dist/cli/chunks/{chunk-WRRCQ2UE.js → chunk-IU2IV4NE.js} +1 -1
- package/dist/cli/chunks/{chunk-QQ5SZH4D.js → chunk-JHIY4VCC.js} +2 -2
- package/dist/cli/chunks/{chunk-W32YU3VI.js → chunk-KG336OV3.js} +2 -2
- package/dist/cli/chunks/{chunk-W5VJRDDG.js → chunk-KI73QCR5.js} +2 -2
- package/dist/cli/chunks/{chunk-HGTWAZWU.js → chunk-KNQ2ERFX.js} +2 -2
- package/dist/cli/chunks/{chunk-SNBYYO6F.js → chunk-KOBVYY6H.js} +2 -2
- package/dist/cli/chunks/{chunk-VQHVHVSF.js → chunk-KSIWGGJI.js} +8 -8
- package/dist/cli/chunks/{chunk-REUFWGMA.js → chunk-LMS3Y7JD.js} +2 -2
- package/dist/cli/chunks/{chunk-LMU5DUDK.js → chunk-LQEURY7C.js} +1 -1
- package/dist/cli/chunks/{chunk-AJ4YDSOI.js → chunk-LRZY4KS2.js} +2 -2
- package/dist/cli/chunks/{chunk-KIKWJM6J.js → chunk-M2QV7PT7.js} +2 -2
- package/dist/cli/chunks/{chunk-TNMQVG4A.js → chunk-MA7JIQ6U.js} +2 -2
- package/dist/cli/chunks/{chunk-I6S35FRO.js → chunk-MG27QY4D.js} +2 -2
- package/dist/cli/chunks/chunk-MNN5J4GU.js +12 -0
- package/dist/cli/chunks/chunk-N6PIIK6G.js +3 -0
- package/dist/cli/chunks/chunk-NAXGWDVM.js +12 -0
- package/dist/cli/chunks/{chunk-XOVNZT7F.js → chunk-NGKNYIQZ.js} +1 -1
- package/dist/cli/chunks/chunk-NNFZUTDH.js +2 -0
- package/dist/cli/chunks/{chunk-ZVSLCEVC.js → chunk-NPPHWFA2.js} +3 -3
- package/dist/cli/chunks/{chunk-JNNZK7KH.js → chunk-NSHU347M.js} +1 -1
- package/dist/cli/chunks/{chunk-PX2B5TS2.js → chunk-NVYIZCSR.js} +2 -2
- package/dist/cli/chunks/{chunk-5NS3USRW.js → chunk-NW5JUCCG.js} +1 -1
- package/dist/cli/chunks/{chunk-KR3M44CF.js → chunk-NZYLNXT6.js} +3 -3
- package/dist/cli/chunks/{chunk-5D2I7JUP.js → chunk-OBAREPDC.js} +2 -2
- package/dist/cli/chunks/{chunk-F4JYIRW2.js → chunk-ODJNUMV3.js} +2 -2
- package/dist/cli/chunks/{chunk-K5DJXMAA.js → chunk-OEKP73MC.js} +2 -2
- package/dist/cli/chunks/{chunk-2URBI52G.js → chunk-OPFGRS5S.js} +2 -2
- package/dist/cli/chunks/{chunk-HZ5NC6U5.js → chunk-OY2AHLSF.js} +1 -1
- package/dist/cli/chunks/{chunk-GII5WVAK.js → chunk-OY3NJNP2.js} +1 -1
- package/dist/cli/chunks/{chunk-P73W2K7T.js → chunk-PCEW6Q2C.js} +1 -1
- package/dist/cli/chunks/{chunk-7QTB5VJZ.js → chunk-PFG6VQ5Z.js} +2 -2
- package/dist/cli/chunks/{chunk-7KII4CQG.js → chunk-PGYMKGOE.js} +2 -2
- package/dist/cli/chunks/{chunk-BXO536GT.js → chunk-PPSAMXYN.js} +3 -3
- package/dist/cli/chunks/chunk-RK73HB2F.js +2 -0
- package/dist/cli/chunks/{chunk-ZBDRLF43.js → chunk-RPHY2DU6.js} +2 -2
- package/dist/cli/chunks/{chunk-XDBD4GXO.js → chunk-RWWOHCMG.js} +25 -20
- package/dist/cli/chunks/{chunk-J5KNRVXR.js → chunk-S75EYIJG.js} +1 -1
- package/dist/cli/chunks/{chunk-ETG7O5E5.js → chunk-SKQUUE4F.js} +5 -5
- package/dist/cli/chunks/chunk-SO45NA4D.js +180 -0
- package/dist/cli/chunks/{chunk-47V7FQGX.js → chunk-SU5H66SD.js} +2 -2
- package/dist/cli/chunks/{chunk-NTAD5UX4.js → chunk-SY2IB442.js} +2 -2
- package/dist/cli/chunks/{chunk-D6XVGFTI.js → chunk-TBLI254A.js} +2 -2
- package/dist/cli/chunks/{chunk-47TYABPD.js → chunk-TNMBRDCA.js} +3 -3
- package/dist/cli/chunks/{chunk-P2CXVNKK.js → chunk-TYFZXDGZ.js} +2 -2
- package/dist/cli/chunks/{chunk-2XITOPYV.js → chunk-U4OICXV2.js} +2 -2
- package/dist/cli/chunks/{chunk-JAV5WPSY.js → chunk-U53ZB4IX.js} +2 -2
- package/dist/cli/chunks/chunk-UARKIZAS.js +2 -0
- package/dist/cli/chunks/{chunk-2HL3UM5P.js → chunk-UCJMVXO4.js} +2 -2
- package/dist/cli/chunks/{chunk-HWK5L7IJ.js → chunk-UHTTW3IT.js} +2 -2
- package/dist/cli/chunks/{chunk-OXZLKP6C.js → chunk-V2M2XCR5.js} +1 -1
- package/dist/cli/chunks/{chunk-YZGSJG34.js → chunk-V2RSNVMW.js} +1 -1
- package/dist/cli/chunks/{chunk-5JWGCIQW.js → chunk-V6JBOIMX.js} +1 -1
- package/dist/cli/chunks/{chunk-JUVHZG7I.js → chunk-VFKF2XO7.js} +1 -1
- package/dist/cli/chunks/{chunk-XQ3DDY7X.js → chunk-VFSYMOAL.js} +2 -2
- package/dist/cli/chunks/{chunk-V5PXQSFS.js → chunk-VJQYDYAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-A4RU67VX.js → chunk-VKRTTFB6.js} +2 -2
- package/dist/cli/chunks/{chunk-H3KBIWTO.js → chunk-VWNFAW2M.js} +2 -2
- package/dist/cli/chunks/{chunk-72AMFDC7.js → chunk-WBM6N6IM.js} +1 -1
- package/dist/cli/chunks/{chunk-XUIA5KMS.js → chunk-WDQ7IEZY.js} +2 -2
- package/dist/cli/chunks/{chunk-FLASM2XB.js → chunk-WDVRE6GN.js} +2 -2
- package/dist/cli/chunks/{chunk-FV7VAG74.js → chunk-WQ4PYWSW.js} +1 -1
- package/dist/cli/chunks/{chunk-DGTLJNJH.js → chunk-WSF24I3D.js} +2 -2
- package/dist/cli/chunks/{chunk-6YL6JOQB.js → chunk-XBVUVFJK.js} +2 -2
- package/dist/cli/chunks/{chunk-VRGCKBF7.js → chunk-XEB3NLJR.js} +2 -2
- package/dist/cli/chunks/{chunk-XYCKHYBM.js → chunk-XFVTGAAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-2I2UPJS7.js → chunk-XLZYRTNO.js} +2 -2
- package/dist/cli/chunks/{chunk-AR2E4B7K.js → chunk-XUZDBQ5X.js} +5 -5
- package/dist/cli/chunks/{chunk-AQTVVLNP.js → chunk-Y76IAYQD.js} +1 -1
- package/dist/cli/chunks/{chunk-UOWHE77F.js → chunk-YAKGBHO4.js} +2 -2
- package/dist/cli/chunks/{chunk-JK2ME6IT.js → chunk-YBSBABOS.js} +2 -2
- package/dist/cli/chunks/{chunk-NDKLQW6N.js → chunk-YCGP5VFP.js} +2 -2
- package/dist/cli/chunks/{chunk-GBUIG3FS.js → chunk-YDAQK5UF.js} +1 -1
- package/dist/cli/chunks/{chunk-HTZJSQ3C.js → chunk-YK3BVZY6.js} +2 -2
- package/dist/cli/chunks/{chunk-GCWSX2NY.js → chunk-YK7JN5N7.js} +4 -4
- package/dist/cli/chunks/{chunk-C6RTMTEH.js → chunk-YKMU4LBV.js} +1 -1
- package/dist/cli/chunks/{chunk-JP4P3P3D.js → chunk-YYTGXD3R.js} +2 -2
- package/dist/cli/chunks/{chunk-763SUL4B.js → chunk-Z2O2YJAF.js} +2 -2
- package/dist/cli/chunks/{chunk-QTVWUQTB.js → chunk-Z7IYW5U7.js} +1 -1
- package/dist/cli/chunks/{chunk-XZJ2O3VC.js → chunk-ZG5666GJ.js} +1 -1
- package/dist/cli/chunks/{chunk-6EPHNJTL.js → chunk-ZXPY654C.js} +1 -1
- package/dist/cli/chunks/{ci-7SGRCFPS.js → ci-MSKMVH5X.js} +2 -2
- package/dist/cli/chunks/{ci-config-MX3URPZA.js → ci-config-7ODMNAUM.js} +2 -2
- package/dist/cli/chunks/{ci-output-M47NJY6D.js → ci-output-FXZ7ZZW3.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-5GAK45SW.js → circuit-breaker-4VOUEPOX.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-YXYSRH4Y.js → claude-flow-setup-7D4SGLM4.js} +2 -2
- package/dist/cli/chunks/client-POSVREVS.js +2 -0
- package/dist/cli/chunks/{cline-installer-DLJ5QD5N.js → cline-installer-WRRT7BGQ.js} +2 -2
- package/dist/cli/chunks/{code-ONKLMVQ2.js → code-ZDJRIL3S.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-2232LGZN.js → code-index-extractor-4S4SHM56.js} +2 -2
- package/dist/cli/chunks/{codex-installer-UOWLYCMH.js → codex-installer-YTRHNDWR.js} +2 -2
- package/dist/cli/chunks/{completions-MHX7GCC7.js → completions-6N64JUXJ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-43ZUJKZU.js → complexity-analyzer-I4A26VCJ.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-6Q5JR4FF.js → continuedev-installer-IIDR66LB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-CZUMVHSI.js → copilot-installer-SVVFY3S2.js} +2 -2
- package/dist/cli/chunks/core-handlers-V243GY7X.js +2 -0
- package/dist/cli/chunks/{cost-tracker-VS5ZW3XN.js → cost-tracker-VGFS6IBX.js} +2 -2
- package/dist/cli/chunks/{coverage-VWKTWZ6D.js → coverage-B7MCGNTE.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-N3AIEM3B.js +2 -0
- package/dist/cli/chunks/{cursor-installer-YIFEMORH.js → cursor-installer-UPETT57E.js} +2 -2
- package/dist/cli/chunks/daemon-7BDJHEIJ.js +18 -0
- package/dist/cli/chunks/{daemon-SHWJSJW5.js → daemon-CQFNZLXU.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-TCC2WM46.js → dag-attention-scheduler-PJVABHON.js} +2 -2
- package/dist/cli/chunks/{detect-IGTWSQMA.js → detect-56SKAGWX.js} +2 -2
- package/dist/cli/chunks/{dist-node-TCOTJVQX.js → dist-node-UYTYUMLN.js} +2 -2
- package/dist/cli/chunks/{domain-handler-55ZVYODR.js → domain-handler-YOYLBYJE.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-GJRWOHQP.js → domain-plugins-7TARX2XF.js} +2 -2
- package/dist/cli/chunks/domain-transfer-AKVSBD6E.js +2 -0
- package/dist/cli/chunks/dream-UA7MKOPQ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-XAMNIKQL.js → embed-and-insert-pattern-IS6HSR66.js} +2 -2
- package/dist/cli/chunks/{eval-GO22R4OZ.js → eval-GNB574IM.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-F2BRMJ3Y.js → experience-capture-middleware-RCAOCKM7.js} +3 -3
- package/dist/cli/chunks/{fast-paths-6RGPYALD.js → fast-paths-KTZ5SF54.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZGS3KLPH.js → feature-flags-ITX5LQ57.js} +2 -2
- package/dist/cli/chunks/{feature-flags-MIWQIOHU.js → feature-flags-KFHSR5YF.js} +2 -2
- package/dist/cli/chunks/file-discovery-YCMNKZAK.js +2 -0
- package/dist/cli/chunks/fleet-2Y3ZE6CE.js +46 -0
- package/dist/cli/chunks/{gnn-wrapper-ALBJVW6T.js → gnn-wrapper-RLFW3GSX.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-ZMM53NDY.js → heartbeat-handler-EM2URCYZ.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-QH5V6G2P.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-OJNFAGJS.js +2 -0
- package/dist/cli/chunks/hnsw-index-DFUNARVD.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-RYUJPA7B.js → hnsw-legacy-bridge-JMHEOIBH.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-XM6XF3YV.js → hnswlib-node-CBP73QHY.js} +2 -2
- package/dist/cli/chunks/{hooks-X62O7TJO.js → hooks-IP7XE34Z.js} +34 -34
- package/dist/cli/chunks/hybrid-backend-SSGQQEQ2.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-ZBWUPTVD.js → hypergraph-engine-ONAYHU25.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DUMF6SJV.js → hypergraph-handler-VINJRAID.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-CRGCA7ZD.js +2 -0
- package/dist/cli/chunks/{init-guard-S4I2R46S.js → init-guard-RYVV5R3Z.js} +2 -2
- package/dist/cli/chunks/{init-handler-L4KJHVWS.js → init-handler-MPRGWMOE.js} +6 -6
- package/dist/cli/chunks/init-wizard-NIMZ4J55.js +2 -0
- package/dist/cli/chunks/kernel-JQK7PRAI.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-GNNB5FCZ.js → kilocode-installer-OPD7JBRL.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-HR6ZAH7T.js → kiro-installer-M4OPUNK2.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-YPVVIKEU.js +2 -0
- package/dist/cli/chunks/{learning-4IEEOHJS.js → learning-4UWTQLMF.js} +24 -24
- package/dist/cli/chunks/{llm-router-ZFMORP36.js → llm-router-SQ56FF6Z.js} +4 -4
- package/dist/cli/chunks/llm-router-service-5OGAUOXF.js +2 -0
- package/dist/cli/chunks/{load-ZM43WGDO.js → load-HPHKDGGL.js} +2 -2
- package/dist/cli/chunks/load-test-UKNV5MWW.js +2 -0
- package/dist/cli/chunks/mcp-TELMAC7Z.js +2 -0
- package/dist/cli/chunks/{memory-W5FZGVAD.js → memory-PFQ3KPVJ.js} +5 -5
- package/dist/cli/chunks/memory-backend-ZW4BTRNK.js +2 -0
- package/dist/cli/chunks/memory-handlers-FCXN437E.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-SXXGAQ2G.js → multi-model-executor-3VDRX6TZ.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-PIRBUAB5.js → opencode-installer-PJ576R63.js} +2 -2
- package/dist/cli/chunks/{orchestrator-H5SQCQTB.js → orchestrator-72QP4UU7.js} +63 -19
- package/dist/cli/chunks/pattern-null-store-4DUV6MQC.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-XZTWDI2T.js → pattern-usage-recorder-754YQW7C.js} +2 -2
- package/dist/cli/chunks/pipeline-AVXY4MVB.js +19 -0
- package/dist/cli/chunks/{platform-KJDABL5C.js → platform-3E3DXLYB.js} +2 -2
- package/dist/cli/chunks/{plugin-V4KSBVVM.js → plugin-7FUQAKRE.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-JDHTKQAT.js → prime-radiant-advanced-wasm-NIB4F5NV.js} +2 -2
- package/dist/cli/chunks/project-root-JCAUNL6O.js +2 -0
- package/dist/cli/chunks/protocol-executor-RNZNZP3A.js +2 -0
- package/dist/cli/chunks/{protocol-handler-BNRONTQV.js → protocol-handler-BQRYMUTG.js} +2 -2
- package/dist/cli/chunks/{prove-ELLL6XMX.js → prove-H52QGC6B.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-WK6TQOG2.js +2 -0
- package/dist/cli/chunks/{quality-NH2QA4D4.js → quality-QO4XPAUM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-JTKLF7GW.js → quality-gate-FBKE5E6F.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-4452SXZQ.js +2 -0
- package/dist/cli/chunks/{real-embeddings-J3KCKLPB.js → real-embeddings-RWGOVOXO.js} +2 -2
- package/dist/cli/chunks/{ref-validation-HNXQRP4F.js → ref-validation-LF76ZOBD.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-COJ6CX6S.js → roocode-installer-3BYEBTQ7.js} +2 -2
- package/dist/cli/chunks/router-3DIS5X4R.js +2 -0
- package/dist/cli/chunks/routing-feedback-OPXRCXM7.js +2 -0
- package/dist/cli/chunks/{routing-handler-WM33ZILE.js → routing-handler-DST7BVCU.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-BBLXEA7A.js → ruvector-commands-XE32PGKC.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-JL6T727I.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-V7IBDUCS.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-P7H6HCAG.js → rvf-migration-coordinator-VP32XC75.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-O3UQTEBK.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-R5SPVRFP.js → rvf-store-integrity-SH2AMVI7.js} +2 -2
- package/dist/cli/chunks/safe-db-EVB4ZC7T.js +2 -0
- package/dist/cli/chunks/schedule-ORDDXXY4.js +2 -0
- package/dist/cli/chunks/scheduler-XFLJSFIU.js +2 -0
- package/dist/cli/chunks/{security-AUDTRX3I.js → security-VSPNKCDS.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-PVDGBGI2.js → shared-rvf-adapter-HX6AHL3P.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-LZ2GMSS2.js → shared-rvf-dual-writer-MX4FC2JE.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-Y7B42CJ3.js +2 -0
- package/dist/cli/chunks/{standalone-memory-XNOAI4G4.js → standalone-memory-O4QUTK6L.js} +2 -2
- package/dist/cli/chunks/{status-handler-K72XZE4T.js → status-handler-Z2BP6EOG.js} +2 -2
- package/dist/cli/chunks/{structural-health-NF3YY7U5.js → structural-health-R36WNLQG.js} +2 -2
- package/dist/cli/chunks/sync-2ELWUFQU.js +2 -0
- package/dist/cli/chunks/{sync-VBD5Y3E2.js → sync-QF5Y3EMZ.js} +2 -2
- package/dist/cli/chunks/{task-handler-24S3WFVJ.js → task-handler-43PYE75J.js} +2 -2
- package/dist/cli/chunks/task-handlers-KPWAEMKH.js +9 -0
- package/dist/cli/chunks/{test-XFSGQELD.js → test-UWA377D4.js} +16 -16
- package/dist/cli/chunks/test-runner-process-3XZUYST2.js +2 -0
- package/dist/cli/chunks/{test-scheduling-VYUQ4CDE.js → test-scheduling-YQZPJRRN.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-F7C6UKTC.js +2 -0
- package/dist/cli/chunks/{token-usage-VLQ6WO2L.js → token-usage-DO6WLMXP.js} +2 -2
- package/dist/cli/chunks/{transformers-TOFMWWNM.js → transformers-H5RGFKVO.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-YTBCBHUO.js +2 -0
- package/dist/cli/chunks/{types-JTWLBAZJ.js → types-PJS2FGPF.js} +2 -2
- package/dist/cli/chunks/unified-memory-EHD4VNFW.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-ZODGM4UK.js +2 -0
- package/dist/cli/chunks/unified-persistence-MHSI7ABK.js +2 -0
- package/dist/cli/chunks/{upgrade-4ABM72T4.js → upgrade-4IC4F6AB.js} +2 -2
- package/dist/cli/chunks/{validate-UDJCWKXI.js → validate-DHUWW7PF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-TODOUWNN.js → validate-swarm-OERQNOX5.js} +2 -2
- package/dist/cli/chunks/visual-security-54MLFKWY.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-WBMAJPM5.js → web-tree-sitter-TV7DMKES.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-BTT53TUL.js → windsurf-installer-QZPWSH37.js} +2 -2
- package/dist/cli/chunks/witness-chain-LC6Q2W27.js +2 -0
- package/dist/cli/chunks/witness-chain-QUIBAF3W.js +2 -0
- package/dist/cli/chunks/witness-chain-repair-RUXIOE7F.js +2 -0
- package/dist/cli/chunks/{witness-chain-verifier-FRY3LMGH.js → witness-chain-verifier-YXENHB42.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-X7QHQQWL.js → witness-key-manager-HL26AGFO.js} +2 -2
- package/dist/cli/chunks/{workflow-QMZPAWQW.js → workflow-EOVVCN2E.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-UKHEJVSK.js +2 -0
- package/dist/cli/chunks/wrappers-AGODHBOO.js +2 -0
- package/dist/cli/commands/fleet.js +19 -12
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +9 -2
- package/dist/cli/commands/hooks-handlers/session-hooks.js +2 -2
- package/dist/cli/commands/hooks-handlers/stats-hooks.js +3 -2
- package/dist/cli/commands/learning.js +5 -3
- package/dist/cli/commands/ruvector-commands.js +2 -1
- package/dist/cli/commands/test.js +6 -0
- package/dist/cli/utils/ci-output.d.ts +9 -0
- package/dist/cli/utils/fleet-operation.d.ts +32 -0
- package/dist/cli/utils/fleet-operation.js +71 -0
- package/dist/cli/utils/fleet-result.d.ts +31 -0
- package/dist/cli/utils/fleet-result.js +124 -0
- package/dist/context/sources/git-source.js +6 -2
- package/dist/coordination/handlers/code-intelligence-handlers.js +60 -5
- package/dist/coordination/handlers/coverage-handlers.js +10 -1
- package/dist/coordination/handlers/requirements-handlers.js +16 -2
- package/dist/coordination/handlers/security-handlers.js +11 -1
- package/dist/coordination/handlers/test-execution-handlers.js +25 -7
- package/dist/coordination/mincut/queen-integration.d.ts +39 -1
- package/dist/coordination/mincut/queen-integration.js +83 -6
- package/dist/coordination/protocols/learning-consolidation-archive.d.ts +2 -6
- package/dist/coordination/protocols/learning-consolidation-archive.js +4 -27
- package/dist/coordination/protocols/learning-consolidation.d.ts +24 -0
- package/dist/coordination/protocols/learning-consolidation.js +71 -22
- package/dist/coordination/queen-coordinator.d.ts +1 -1
- package/dist/coordination/queen-coordinator.js +19 -7
- package/dist/coordination/queen-event-handlers.js +13 -0
- package/dist/coordination/queen-task-management.d.ts +18 -24
- package/dist/coordination/queen-task-management.js +62 -168
- package/dist/coordination/queen-task-queue.d.ts +41 -0
- package/dist/coordination/queen-task-queue.js +194 -0
- package/dist/coordination/queen-types.d.ts +1 -1
- package/dist/coordination/queen-work-stealing.d.ts +6 -1
- package/dist/coordination/queen-work-stealing.js +7 -4
- package/dist/coordination/result-saver-adapters.d.ts +15 -0
- package/dist/coordination/result-saver-adapters.js +57 -0
- package/dist/coordination/result-saver.d.ts +1 -1
- package/dist/coordination/result-saver.js +8 -5
- package/dist/coordination/yaml-pipeline-loader.js +5 -2
- package/dist/domains/code-intelligence/index-path-guard.d.ts +5 -2
- package/dist/domains/code-intelligence/index-path-guard.js +20 -50
- package/dist/domains/code-intelligence/plugin.js +5 -1
- package/dist/domains/code-intelligence/services/metric-collector/index.d.ts +2 -2
- package/dist/domains/code-intelligence/services/metric-collector/index.js +2 -3
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +11 -36
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +45 -103
- package/dist/domains/contract-testing/services/api-compatibility.js +7 -6
- package/dist/domains/contract-testing/services/contract-validator.js +6 -4
- package/dist/domains/contract-testing/services/schema-validator.js +8 -5
- package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
- package/dist/domains/defect-intelligence/plugin.js +11 -2
- package/dist/domains/defect-intelligence/prediction-history.d.ts +27 -0
- package/dist/domains/defect-intelligence/prediction-history.js +68 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js +25 -10
- package/dist/domains/enterprise-integration/services/message-broker-service.js +3 -2
- package/dist/domains/enterprise-integration/services/odata-service.js +2 -1
- package/dist/domains/enterprise-integration/services/sap-integration-service.js +3 -2
- package/dist/domains/learning-optimization/active-patterns.d.ts +2 -2
- package/dist/domains/learning-optimization/active-patterns.js +2 -2
- package/dist/domains/learning-optimization/coordinator.js +9 -5
- package/dist/domains/learning-optimization/interfaces.d.ts +6 -2
- package/dist/domains/learning-optimization/pattern-archive.d.ts +31 -0
- package/dist/domains/learning-optimization/pattern-archive.js +56 -0
- package/dist/domains/learning-optimization/pattern-consolidation.d.ts +12 -0
- package/dist/domains/learning-optimization/pattern-consolidation.js +41 -0
- package/dist/domains/learning-optimization/reward-source.d.ts +13 -0
- package/dist/domains/learning-optimization/reward-source.js +8 -1
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +5 -3
- package/dist/domains/learning-optimization/services/learning-coordinator.js +45 -58
- package/dist/domains/security-compliance/plugin.js +17 -3
- package/dist/domains/security-compliance/sast-path-guard.d.ts +9 -0
- package/dist/domains/security-compliance/sast-path-guard.js +17 -0
- package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +46 -56
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +76 -91
- package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +52 -62
- package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +21 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +29 -24
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +4 -1
- package/dist/domains/test-execution/coordinator.d.ts +5 -0
- package/dist/domains/test-execution/coordinator.js +35 -20
- package/dist/domains/test-execution/interfaces.d.ts +25 -0
- package/dist/domains/test-execution/plugin.js +19 -4
- package/dist/domains/test-execution/services/flaky-detector.js +9 -7
- package/dist/domains/test-execution/services/retry-handler.js +46 -7
- package/dist/domains/test-execution/services/runner-test-cases.d.ts +11 -0
- package/dist/domains/test-execution/services/runner-test-cases.js +20 -2
- package/dist/domains/test-execution/services/test-executor.js +8 -8
- package/dist/domains/test-generation/plugin.js +7 -2
- package/dist/domains/test-generation/services/test-data-generator.js +3 -1
- package/dist/domains/visual-accessibility/services/axe-core-audit.js +1 -1
- package/dist/hooks/cross-phase-hooks.js +2 -1
- package/dist/init/phases/10-workers.js +50 -6
- package/dist/integrations/browser/agent-browser/client.js +37 -52
- package/dist/integrations/browser/agent-browser/command-executor.d.ts +33 -27
- package/dist/integrations/browser/agent-browser/command-executor.js +53 -54
- package/dist/integrations/browser/agent-browser/session-manager.d.ts +1 -1
- package/dist/integrations/browser/agent-browser/session-manager.js +8 -9
- package/dist/integrations/browser/web-content-fetcher.js +9 -3
- package/dist/integrations/vibium/client.js +2 -2
- package/dist/integrations/vibium/runtime.d.ts +1 -1
- package/dist/integrations/vibium/runtime.js +14 -11
- package/dist/kernel/unified-memory-schemas.d.ts +3 -2
- package/dist/kernel/unified-memory-schemas.js +3 -2
- package/dist/kernel/unified-memory.js +25 -6
- package/dist/learning/dream/dream-commit.d.ts +65 -0
- package/dist/learning/dream/dream-commit.js +104 -0
- package/dist/learning/dream/dream-engine.d.ts +81 -31
- package/dist/learning/dream/dream-engine.js +225 -168
- package/dist/learning/dream/dream-insights-pruner.d.ts +9 -3
- package/dist/learning/dream/dream-insights-pruner.js +16 -30
- package/dist/learning/dream/index.d.ts +3 -2
- package/dist/learning/dream/index.js +3 -1
- package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -1
- package/dist/learning/dream/rvcow-branch-manager.js +8 -1
- package/dist/learning/dream/speculative-dreamer.d.ts +50 -74
- package/dist/learning/dream/speculative-dreamer.js +64 -111
- package/dist/learning/dream/spreading-activation.d.ts +2 -1
- package/dist/learning/dream/spreading-activation.js +15 -6
- package/dist/learning/experience-capture.d.ts +9 -0
- package/dist/learning/experience-capture.js +18 -4
- package/dist/learning/qe-reasoning-bank-types.d.ts +17 -2
- package/dist/learning/qe-reasoning-bank.js +22 -11
- package/dist/learning/sqlite-persistence.d.ts +6 -0
- package/dist/learning/sqlite-persistence.js +16 -2
- package/dist/learning/usage-outcome.d.ts +68 -0
- package/dist/learning/usage-outcome.js +84 -0
- package/dist/mcp/background-workers.d.ts +13 -1
- package/dist/mcp/background-workers.js +17 -3
- package/dist/mcp/bundle.js +607 -580
- package/dist/mcp/handlers/core-handlers.js +11 -0
- package/dist/mcp/handlers/domain-handler-configs.d.ts +5 -0
- package/dist/mcp/handlers/domain-handler-configs.js +11 -3
- package/dist/mcp/handlers/handler-factory.d.ts +2 -1
- package/dist/mcp/handlers/handler-factory.js +36 -15
- package/dist/mcp/handlers/orchestrate-routes.d.ts +36 -0
- package/dist/mcp/handlers/orchestrate-routes.js +88 -0
- package/dist/mcp/handlers/task-handlers.d.ts +3 -0
- package/dist/mcp/handlers/task-handlers.js +35 -8
- package/dist/mcp/handlers/validation-pipeline-handler.js +6 -2
- package/dist/mcp/protocol-server.js +2 -0
- package/dist/mcp/security/schema-validator.js +3 -2
- package/dist/mcp/tools/code-intelligence/c4.js +11 -1
- package/dist/mcp/tools/coverage-analysis/index.js +31 -2
- package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -8
- package/dist/mcp/tools/learning-optimization/dream.js +38 -34
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +18 -2
- package/dist/mcp/tools/learning-optimization/optimize.js +58 -10
- package/dist/mcp/tools/quality-assessment/gate.js +12 -1
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +9 -2
- package/dist/migration/agent-compat.js +7 -5
- package/dist/migrations/20261018_add_dream_insights_archive.d.ts +27 -0
- package/dist/migrations/20261018_add_dream_insights_archive.js +57 -0
- package/dist/shared/git/git-analyzer.d.ts +49 -0
- package/dist/shared/git/git-analyzer.js +159 -319
- package/dist/shared/git/git-process.d.ts +22 -0
- package/dist/shared/git/git-process.js +37 -0
- package/dist/shared/git/index.d.ts +1 -0
- package/dist/shared/git/index.js +1 -0
- package/dist/shared/io/payload-path-guard.d.ts +75 -0
- package/dist/shared/io/payload-path-guard.js +190 -0
- package/dist/shared/llm/router/agent-router-config.js +2 -1
- package/dist/shared/llm/translation/tool-translator.js +2 -1
- package/dist/shared/test-runner-args.d.ts +5 -0
- package/dist/shared/test-runner-args.js +6 -1
- package/dist/shared/test-runner-process.d.ts +6 -0
- package/dist/shared/test-runner-process.js +14 -0
- package/dist/shared/test-runner-verdict.d.ts +9 -1
- package/dist/shared/test-runner-verdict.js +15 -4
- package/dist/shared/utils/namespaced-search.d.ts +14 -0
- package/dist/shared/utils/namespaced-search.js +19 -1
- package/dist/shared/utils/safe-expression-evaluator.js +4 -3
- package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
- package/dist/validation/gate-reexecute.js +7 -4
- package/dist/workers/daemon.js +13 -1
- package/dist/workers/quality-daemon/git-watcher.js +9 -9
- package/dist/workers/workers/defect-predictor.d.ts +8 -3
- package/dist/workers/workers/defect-predictor.js +48 -49
- package/dist/workers/workers/learning-consolidation.d.ts +2 -0
- package/dist/workers/workers/learning-consolidation.js +12 -1
- package/dist/workflows/browser/workflow-loader.js +8 -5
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-R2Q4QGXQ.js +0 -2
- package/dist/cli/chunks/agent-booster-wasm-427FRKWG.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +0 -2
- package/dist/cli/chunks/base-67DXSAYM.js +0 -2
- package/dist/cli/chunks/browser-CT3MTV6G.js +0 -4
- package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +0 -2
- package/dist/cli/chunks/chunk-4URT6JO2.js +0 -2
- package/dist/cli/chunks/chunk-5LAAZLUC.js +0 -4
- package/dist/cli/chunks/chunk-7DMA5NYL.js +0 -4
- package/dist/cli/chunks/chunk-F2SQPP6U.js +0 -4
- package/dist/cli/chunks/chunk-G3BKZNFL.js +0 -120
- package/dist/cli/chunks/chunk-GR3JYE5A.js +0 -2
- package/dist/cli/chunks/chunk-J3WGK22W.js +0 -2
- package/dist/cli/chunks/chunk-KHSRIPBP.js +0 -180
- package/dist/cli/chunks/chunk-KTSLTZSG.js +0 -2
- package/dist/cli/chunks/chunk-O3JLOVZX.js +0 -4
- package/dist/cli/chunks/chunk-THAY7WHO.js +0 -12
- package/dist/cli/chunks/chunk-VXZJOKOX.js +0 -2
- package/dist/cli/chunks/chunk-VYLM2YV5.js +0 -12
- package/dist/cli/chunks/client-ZP3CTVRF.js +0 -2
- package/dist/cli/chunks/core-handlers-JSRXQWPE.js +0 -2
- package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +0 -2
- package/dist/cli/chunks/daemon-YIFT46FH.js +0 -34
- package/dist/cli/chunks/domain-transfer-6EF75EKU.js +0 -2
- package/dist/cli/chunks/dream-UDLM6M55.js +0 -2
- package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +0 -2
- package/dist/cli/chunks/fleet-ADL57COA.js +0 -44
- package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +0 -2
- package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +0 -2
- package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +0 -2
- package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +0 -2
- package/dist/cli/chunks/init-wizard-422UZYQ5.js +0 -2
- package/dist/cli/chunks/kernel-N7PJ6FCE.js +0 -2
- package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +0 -2
- package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +0 -2
- package/dist/cli/chunks/load-test-POMIF4Q4.js +0 -2
- package/dist/cli/chunks/mcp-CRZKZE37.js +0 -2
- package/dist/cli/chunks/memory-backend-4P6AHSOY.js +0 -2
- package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +0 -2
- package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +0 -2
- package/dist/cli/chunks/pipeline-5LMLBIJ7.js +0 -19
- package/dist/cli/chunks/project-root-X72FSM2F.js +0 -2
- package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +0 -2
- package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +0 -2
- package/dist/cli/chunks/router-CXZKOOTR.js +0 -2
- package/dist/cli/chunks/routing-feedback-IYFANYY5.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +0 -2
- package/dist/cli/chunks/safe-db-WFODRGVZ.js +0 -2
- package/dist/cli/chunks/schedule-RO55OQXG.js +0 -2
- package/dist/cli/chunks/scheduler-XXMJCH24.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +0 -2
- package/dist/cli/chunks/sync-UVXA6CT2.js +0 -2
- package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +0 -9
- package/dist/cli/chunks/token-bootstrap-EDK6FNQ3.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-MI3NZKUD.js +0 -2
- package/dist/cli/chunks/unified-memory-6JWHV6EF.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +0 -2
- package/dist/cli/chunks/unified-persistence-KGGNA46H.js +0 -2
- package/dist/cli/chunks/visual-security-6VZNQLH7.js +0 -2
- package/dist/cli/chunks/witness-chain-AKKHWEWU.js +0 -2
- package/dist/cli/chunks/witness-chain-TATPXQRK.js +0 -2
- package/dist/cli/chunks/witness-chain-repair-2HGJGE7O.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +0 -2
- package/dist/cli/chunks/wrappers-ZD5NBHYI.js +0 -2
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* 'next' priority analysis tasks into the daemon queue.
|
|
7
7
|
*/
|
|
8
8
|
import { watch } from 'fs';
|
|
9
|
-
import { execFile } from 'child_process';
|
|
10
|
-
import { promisify } from 'util';
|
|
11
9
|
import { resolve, join } from 'path';
|
|
12
10
|
import { existsSync, readFileSync } from 'fs';
|
|
13
11
|
import { getGitRefError } from '../../shared/git/ref-validation.js';
|
|
14
|
-
|
|
12
|
+
import { runGit } from '../../shared/git/git-process.js';
|
|
13
|
+
/** A hung git must not stall the watcher; its process group is stopped (#1115). */
|
|
14
|
+
const GIT_TIMEOUT_MS = 10_000;
|
|
15
15
|
const DEFAULTS = {
|
|
16
16
|
repoRoot: process.cwd(),
|
|
17
17
|
debounceMs: 500,
|
|
@@ -100,11 +100,11 @@ export class GitWatcher {
|
|
|
100
100
|
this._polling = true;
|
|
101
101
|
const changedBranches = [];
|
|
102
102
|
try {
|
|
103
|
-
const
|
|
103
|
+
const stdout = await runGit([
|
|
104
104
|
'for-each-ref',
|
|
105
105
|
'--format=%(refname:short) %(objectname:short)',
|
|
106
106
|
'refs/heads/',
|
|
107
|
-
], { cwd: this.options.repoRoot });
|
|
107
|
+
], { cwd: this.options.repoRoot, timeout: GIT_TIMEOUT_MS });
|
|
108
108
|
for (const line of stdout.trim().split('\n')) {
|
|
109
109
|
if (!line)
|
|
110
110
|
continue;
|
|
@@ -162,13 +162,13 @@ export class GitWatcher {
|
|
|
162
162
|
return;
|
|
163
163
|
let changedFiles = [];
|
|
164
164
|
try {
|
|
165
|
-
const
|
|
165
|
+
const stdout = await runGit([
|
|
166
166
|
'diff-tree',
|
|
167
167
|
'--no-commit-id',
|
|
168
168
|
'--name-only',
|
|
169
169
|
'-r',
|
|
170
170
|
commitHash,
|
|
171
|
-
], { cwd: this.options.repoRoot });
|
|
171
|
+
], { cwd: this.options.repoRoot, timeout: GIT_TIMEOUT_MS });
|
|
172
172
|
changedFiles = stdout
|
|
173
173
|
.trim()
|
|
174
174
|
.split('\n')
|
|
@@ -196,11 +196,11 @@ export class GitWatcher {
|
|
|
196
196
|
}
|
|
197
197
|
async snapshotHeads() {
|
|
198
198
|
try {
|
|
199
|
-
const
|
|
199
|
+
const stdout = await runGit([
|
|
200
200
|
'for-each-ref',
|
|
201
201
|
'--format=%(refname:short) %(objectname:short)',
|
|
202
202
|
'refs/heads/',
|
|
203
|
-
], { cwd: this.options.repoRoot });
|
|
203
|
+
], { cwd: this.options.repoRoot, timeout: GIT_TIMEOUT_MS });
|
|
204
204
|
for (const line of stdout.trim().split('\n')) {
|
|
205
205
|
if (!line)
|
|
206
206
|
continue;
|
|
@@ -8,10 +8,14 @@
|
|
|
8
8
|
*
|
|
9
9
|
* #1043: every prediction comes from a run of the defect-intelligence
|
|
10
10
|
* predictor (`defect-intelligence:predictor:prediction:<id>` in the
|
|
11
|
-
* `defect-intelligence` namespace, written by DefectPredictorService
|
|
11
|
+
* `defect-intelligence` namespace, written by DefectPredictorService or the
|
|
12
|
+
* public MCP handler), and
|
|
12
13
|
* only files that exist in the project are kept. Code hotspots have no
|
|
13
14
|
* measured source and are reported unmeasured. Nothing predicted → nothing
|
|
14
|
-
* stored, an "unmeasured" info finding. A
|
|
15
|
+
* stored, an "unmeasured" info finding. A recorded static scan is labelled
|
|
16
|
+
* `estimated: true` with its prediction method: `measured` means an actual
|
|
17
|
+
* analysis ran, not that its risk estimate is a calibrated probability.
|
|
18
|
+
* A `defect:predictions` record without
|
|
15
19
|
* the measured stamp (the invented one written by <= 3.15.6) is ignored and
|
|
16
20
|
* replaced by the next measured run.
|
|
17
21
|
*/
|
|
@@ -30,7 +34,8 @@ export declare class DefectPredictorWorker extends BaseWorker {
|
|
|
30
34
|
* #1043: the most recent prediction run the defect-intelligence predictor
|
|
31
35
|
* recorded, restricted to regular files whose real path is inside the
|
|
32
36
|
* project root. `measured` is `null` when there is no such prediction;
|
|
33
|
-
* `unusable` describes
|
|
37
|
+
* `unusable` describes an ambiguous newest timestamp or a newest prediction
|
|
38
|
+
* none of whose files qualify.
|
|
34
39
|
*/
|
|
35
40
|
private readLatestPrediction;
|
|
36
41
|
private analyzeHighRiskPredictions;
|
|
@@ -8,16 +8,21 @@
|
|
|
8
8
|
*
|
|
9
9
|
* #1043: every prediction comes from a run of the defect-intelligence
|
|
10
10
|
* predictor (`defect-intelligence:predictor:prediction:<id>` in the
|
|
11
|
-
* `defect-intelligence` namespace, written by DefectPredictorService
|
|
11
|
+
* `defect-intelligence` namespace, written by DefectPredictorService or the
|
|
12
|
+
* public MCP handler), and
|
|
12
13
|
* only files that exist in the project are kept. Code hotspots have no
|
|
13
14
|
* measured source and are reported unmeasured. Nothing predicted → nothing
|
|
14
|
-
* stored, an "unmeasured" info finding. A
|
|
15
|
+
* stored, an "unmeasured" info finding. A recorded static scan is labelled
|
|
16
|
+
* `estimated: true` with its prediction method: `measured` means an actual
|
|
17
|
+
* analysis ran, not that its risk estimate is a calibrated probability.
|
|
18
|
+
* A `defect:predictions` record without
|
|
15
19
|
* the measured stamp (the invented one written by <= 3.15.6) is ignored and
|
|
16
20
|
* replaced by the next measured run.
|
|
17
21
|
*/
|
|
18
22
|
import * as fs from 'fs';
|
|
19
23
|
import * as path from 'path';
|
|
20
24
|
import { bareSearchKey } from '../namespaced-keys.js';
|
|
25
|
+
import { parsePredictionRecord } from '../../domains/defect-intelligence/prediction-history.js';
|
|
21
26
|
import { BaseWorker } from '../base-worker.js';
|
|
22
27
|
import { findProjectRoot } from '../../kernel/project-root.js';
|
|
23
28
|
const CONFIG = {
|
|
@@ -36,10 +41,6 @@ const DEFECT_NAMESPACE = 'defect-intelligence';
|
|
|
36
41
|
const PREDICTION_KEY_PATTERN = 'defect-intelligence:predictor:prediction:*';
|
|
37
42
|
const PREDICTIONS_KEY = 'defect:predictions';
|
|
38
43
|
const SCHEMA_VERSION = 1;
|
|
39
|
-
/** The predictor keeps its records for 7 days; nothing older is current. */
|
|
40
|
-
const MAX_PREDICTION_AGE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
41
|
-
const MAX_PREDICTION_RECORDS = 1000;
|
|
42
|
-
const RISK_LEVELS = ['critical', 'high', 'medium', 'low', 'info'];
|
|
43
44
|
/**
|
|
44
45
|
* Where a predicted path lies, resolved against the project root with
|
|
45
46
|
* symlinks followed: only a regular file whose real path is inside the
|
|
@@ -75,39 +76,6 @@ function realProjectRoot() {
|
|
|
75
76
|
return path.resolve(root);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
const isRecord = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
|
|
79
|
-
function parseFilePrediction(raw) {
|
|
80
|
-
if (!isRecord(raw))
|
|
81
|
-
return null;
|
|
82
|
-
const { file, probability, riskLevel } = raw;
|
|
83
|
-
if (typeof file !== 'string' || file.length === 0)
|
|
84
|
-
return null;
|
|
85
|
-
if (typeof probability !== 'number' || !Number.isFinite(probability) || probability < 0 || probability > 1)
|
|
86
|
-
return null;
|
|
87
|
-
if (!RISK_LEVELS.includes(riskLevel))
|
|
88
|
-
return null;
|
|
89
|
-
const factors = Array.isArray(raw.factors)
|
|
90
|
-
? raw.factors.filter((f) => isRecord(f) && typeof f.name === 'string' && typeof f.contribution === 'number' && Number.isFinite(f.contribution))
|
|
91
|
-
: [];
|
|
92
|
-
const recommendations = Array.isArray(raw.recommendations)
|
|
93
|
-
? raw.recommendations.filter((r) => typeof r === 'string')
|
|
94
|
-
: [];
|
|
95
|
-
return { file, probability, riskLevel: riskLevel, factors, recommendations };
|
|
96
|
-
}
|
|
97
|
-
/** A recorded prediction run, or `null` when the record is not a usable one. */
|
|
98
|
-
function parsePredictionRecord(raw, now) {
|
|
99
|
-
if (!isRecord(raw) || typeof raw.id !== 'string' || typeof raw.timestamp !== 'string')
|
|
100
|
-
return null;
|
|
101
|
-
const t = Date.parse(raw.timestamp);
|
|
102
|
-
if (!Number.isFinite(t) || t > now + 60_000 || now - t > MAX_PREDICTION_AGE_MS)
|
|
103
|
-
return null;
|
|
104
|
-
if (!Array.isArray(raw.predictions) || raw.predictions.length === 0)
|
|
105
|
-
return null;
|
|
106
|
-
const predictions = raw.predictions.map(parseFilePrediction);
|
|
107
|
-
if (predictions.some((p) => p === null))
|
|
108
|
-
return null;
|
|
109
|
-
return { id: raw.id, timestamp: raw.timestamp, predictions: predictions };
|
|
110
|
-
}
|
|
111
79
|
export class DefectPredictorWorker extends BaseWorker {
|
|
112
80
|
constructor() {
|
|
113
81
|
super(CONFIG);
|
|
@@ -124,10 +92,12 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
124
92
|
severity: 'info',
|
|
125
93
|
domain: 'defect-intelligence',
|
|
126
94
|
title: 'Defect Prediction Unmeasured',
|
|
127
|
-
description: (unusable
|
|
128
|
-
?
|
|
129
|
-
|
|
130
|
-
|
|
95
|
+
description: (unusable?.ambiguous
|
|
96
|
+
? 'Multiple defect predictions have the same timestamp, so no unique latest analysis can be identified. No risk is reported. '
|
|
97
|
+
: unusable
|
|
98
|
+
? `The latest defect prediction (${unusable.id}) names no file inside this project ` +
|
|
99
|
+
`(${unusable.outside} outside the project root, ${unusable.missing} missing), so no risk is reported. `
|
|
100
|
+
: 'No defect prediction for files in this project has been recorded in the last 7 days, so no risk is reported. ') +
|
|
131
101
|
'Run defect_predict on the files to assess.',
|
|
132
102
|
});
|
|
133
103
|
if (unusable)
|
|
@@ -147,7 +117,14 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
147
117
|
}, findings, recommendations);
|
|
148
118
|
}
|
|
149
119
|
const { predictions } = latest;
|
|
150
|
-
|
|
120
|
+
if (latest.filesSkipped) {
|
|
121
|
+
findings.push({
|
|
122
|
+
type: 'defect-prediction-partial', severity: 'info', domain: 'defect-intelligence',
|
|
123
|
+
title: 'Partial Defect Prediction',
|
|
124
|
+
description: `${latest.filesSkipped} source files could not be read; risk estimates cover only ${predictions.length} successfully analyzed files.`,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
this.analyzeHighRiskPredictions(predictions, findings, recommendations, latest.estimated === true);
|
|
151
128
|
await context.memory.set(PREDICTIONS_KEY, latest);
|
|
152
129
|
await context.memory.set('defect:lastAnalysis', latest.evaluatedAt);
|
|
153
130
|
const healthScore = this.calculateHealthScore(predictions);
|
|
@@ -165,6 +142,8 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
165
142
|
trend: 'stable',
|
|
166
143
|
domainMetrics: {
|
|
167
144
|
filesAnalyzed: predictions.length,
|
|
145
|
+
filesSkipped: latest.filesSkipped ?? 0,
|
|
146
|
+
scanStatus: latest.filesSkipped ? 'partial' : 'complete',
|
|
168
147
|
highRiskFiles: highRisk,
|
|
169
148
|
missingFilesSkipped: latest.missingFilesSkipped,
|
|
170
149
|
outsideProjectSkipped: latest.outsideProjectSkipped,
|
|
@@ -192,21 +171,37 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
192
171
|
* #1043: the most recent prediction run the defect-intelligence predictor
|
|
193
172
|
* recorded, restricted to regular files whose real path is inside the
|
|
194
173
|
* project root. `measured` is `null` when there is no such prediction;
|
|
195
|
-
* `unusable` describes
|
|
174
|
+
* `unusable` describes an ambiguous newest timestamp or a newest prediction
|
|
175
|
+
* none of whose files qualify.
|
|
196
176
|
*/
|
|
197
177
|
async readLatestPrediction(context) {
|
|
198
|
-
const keys = await context.memory.search(PREDICTION_KEY_PATTERN,
|
|
178
|
+
const keys = await context.memory.search(PREDICTION_KEY_PATTERN, Number.MAX_SAFE_INTEGER, { namespace: DEFECT_NAMESPACE });
|
|
199
179
|
const now = Date.now();
|
|
200
180
|
let latest = null;
|
|
181
|
+
let ambiguous = false;
|
|
201
182
|
for (const found of keys) {
|
|
202
183
|
// #1049: the in-memory backend returns `<namespace>:<key>` from a namespaced search.
|
|
203
184
|
const key = bareSearchKey(found, DEFECT_NAMESPACE, PREDICTION_KEY_PATTERN);
|
|
204
185
|
const parsed = parsePredictionRecord(await context.memory.get(key, { namespace: DEFECT_NAMESPACE }), now);
|
|
205
|
-
if (
|
|
186
|
+
if (!parsed)
|
|
187
|
+
continue;
|
|
188
|
+
if (!latest || Date.parse(parsed.timestamp) > Date.parse(latest.timestamp)) {
|
|
206
189
|
latest = parsed;
|
|
190
|
+
ambiguous = false;
|
|
191
|
+
}
|
|
192
|
+
else if (Date.parse(parsed.timestamp) === Date.parse(latest.timestamp) && parsed.id !== latest.id) {
|
|
193
|
+
ambiguous = true;
|
|
194
|
+
}
|
|
207
195
|
}
|
|
208
196
|
if (!latest)
|
|
209
197
|
return { measured: null, unusable: null };
|
|
198
|
+
// Timestamp precision cannot establish ordering between concurrent runs.
|
|
199
|
+
// Never let backend key ordering decide whether the current scan is clean.
|
|
200
|
+
if (ambiguous)
|
|
201
|
+
return {
|
|
202
|
+
measured: null,
|
|
203
|
+
unusable: { id: `ambiguous:${latest.timestamp}`, outside: 0, missing: 0, ambiguous: true },
|
|
204
|
+
};
|
|
210
205
|
const realRoot = realProjectRoot();
|
|
211
206
|
const disposition = latest.predictions.map((p) => classifyPredictedFile(p.file, realRoot));
|
|
212
207
|
const existing = latest.predictions.filter((_, i) => disposition[i] === 'inside');
|
|
@@ -224,6 +219,7 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
224
219
|
schemaVersion: SCHEMA_VERSION,
|
|
225
220
|
source: 'defect-intelligence',
|
|
226
221
|
predictionId: latest.id,
|
|
222
|
+
...(latest.estimated ? { estimated: true, predictionMethod: latest.predictionMethod, filesSkipped: latest.filesSkipped } : {}),
|
|
227
223
|
predictedAt: latest.timestamp,
|
|
228
224
|
evaluatedAt: new Date().toISOString(),
|
|
229
225
|
predictions: existing,
|
|
@@ -231,7 +227,7 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
231
227
|
outsideProjectSkipped: outside,
|
|
232
228
|
} };
|
|
233
229
|
}
|
|
234
|
-
analyzeHighRiskPredictions(predictions, findings, recommendations) {
|
|
230
|
+
analyzeHighRiskPredictions(predictions, findings, recommendations, estimated = false) {
|
|
235
231
|
const critical = predictions.filter(p => p.riskLevel === 'critical');
|
|
236
232
|
const high = predictions.filter(p => p.riskLevel === 'high');
|
|
237
233
|
for (const prediction of [...critical, ...high]) {
|
|
@@ -241,10 +237,13 @@ export class DefectPredictorWorker extends BaseWorker {
|
|
|
241
237
|
severity: prediction.riskLevel,
|
|
242
238
|
domain: 'defect-intelligence',
|
|
243
239
|
title: `${prediction.riskLevel === 'critical' ? 'Critical' : 'High'} Defect Risk: ${name}`,
|
|
244
|
-
description:
|
|
240
|
+
description: estimated
|
|
241
|
+
? `${(prediction.probability * 100).toFixed(0)}% estimated code-risk score (static-code-indicators); not a calibrated defect probability`
|
|
242
|
+
: `${(prediction.probability * 100).toFixed(0)}% predicted defect probability (defect-intelligence predictor)`,
|
|
245
243
|
resource: prediction.file,
|
|
246
244
|
context: {
|
|
247
245
|
probability: prediction.probability,
|
|
246
|
+
...(estimated ? { estimated: true, predictionMethod: 'static-code-indicators' } : {}),
|
|
248
247
|
factors: prediction.factors,
|
|
249
248
|
recommendations: prediction.recommendations,
|
|
250
249
|
},
|
|
@@ -31,6 +31,8 @@ export declare class LearningConsolidationWorker extends BaseWorker {
|
|
|
31
31
|
private readonly dreamInsightsPruneNotBefore;
|
|
32
32
|
/** #1061: an invalid retention value is reported once per process. */
|
|
33
33
|
private retentionWarningLogged;
|
|
34
|
+
/** #1116: NULL-id stale rows last reported, so the warning is not repeated every tick. */
|
|
35
|
+
private nullIdRowsReported;
|
|
34
36
|
constructor();
|
|
35
37
|
/**
|
|
36
38
|
* Initialize or get the pattern lifecycle manager
|
|
@@ -61,6 +61,8 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
61
61
|
dreamInsightsPruneNotBefore = Date.now() + CONFIG.intervalMs;
|
|
62
62
|
/** #1061: an invalid retention value is reported once per process. */
|
|
63
63
|
retentionWarningLogged = false;
|
|
64
|
+
/** #1116: NULL-id stale rows last reported, so the warning is not repeated every tick. */
|
|
65
|
+
nullIdRowsReported = 0;
|
|
64
66
|
constructor() {
|
|
65
67
|
super(CONFIG);
|
|
66
68
|
}
|
|
@@ -252,7 +254,16 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
252
254
|
return 0;
|
|
253
255
|
const db = getUnifiedMemory().getDatabase();
|
|
254
256
|
// #1066: rows are copied to dream_insights_archive and verified first.
|
|
255
|
-
const { pruned, archived } = pruneStaleDreamInsights(db, { retentionDays });
|
|
257
|
+
const { pruned, archived, skippedNullId } = pruneStaleDreamInsights(db, { retentionDays });
|
|
258
|
+
// #1116: rows with a NULL id cannot be archived and are left in place.
|
|
259
|
+
// Warn when their number changes, not on every tick.
|
|
260
|
+
if (skippedNullId !== this.nullIdRowsReported) {
|
|
261
|
+
this.nullIdRowsReported = skippedNullId;
|
|
262
|
+
if (skippedNullId > 0) {
|
|
263
|
+
process.stderr.write(`[AQE] WARN dream_insights retention: ${skippedNullId} stale insight(s) have no id and were ` +
|
|
264
|
+
'left in place (they cannot be archived); the other stale insights were archived as usual\n');
|
|
265
|
+
}
|
|
266
|
+
}
|
|
256
267
|
if (pruned > 0) {
|
|
257
268
|
// Default log level, stderr only: MCP stdout carries JSON-RPC.
|
|
258
269
|
process.stderr.write(`[AQE] dream_insights retention: moved ${pruned} unapplied insight(s) ` +
|
|
@@ -3,6 +3,7 @@ import { join, basename, dirname } from 'path';
|
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { parse as parseYaml } from 'yaml';
|
|
5
5
|
import { safeEvaluateBoolean } from '../../shared/utils/safe-expression-evaluator.js';
|
|
6
|
+
import { setOwn } from '../../shared/utils/safe-record.js';
|
|
6
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
8
|
const __dirname = dirname(__filename);
|
|
8
9
|
/**
|
|
@@ -142,8 +143,9 @@ export class WorkflowLoader {
|
|
|
142
143
|
async createContext(templateName, variables) {
|
|
143
144
|
const workflow = await this.load(templateName);
|
|
144
145
|
// Validate required variables
|
|
146
|
+
// #1136: a variable counts as given only when it is an own property.
|
|
145
147
|
const missingVars = workflow.variables
|
|
146
|
-
.filter(v => v.required && !(v.name
|
|
148
|
+
.filter(v => v.required && !Object.hasOwn(variables, v.name))
|
|
147
149
|
.map(v => v.name);
|
|
148
150
|
if (missingVars.length > 0) {
|
|
149
151
|
throw new Error(`Missing required variables: ${missingVars.join(', ')}`);
|
|
@@ -151,11 +153,11 @@ export class WorkflowLoader {
|
|
|
151
153
|
// Resolve variables with defaults
|
|
152
154
|
const resolvedVariables = {};
|
|
153
155
|
workflow.variables.forEach(varDef => {
|
|
154
|
-
if (varDef.name
|
|
155
|
-
resolvedVariables
|
|
156
|
+
if (Object.hasOwn(variables, varDef.name)) {
|
|
157
|
+
setOwn(resolvedVariables, varDef.name, variables[varDef.name]);
|
|
156
158
|
}
|
|
157
159
|
else if ('default' in varDef) {
|
|
158
|
-
resolvedVariables
|
|
160
|
+
setOwn(resolvedVariables, varDef.name, varDef.default);
|
|
159
161
|
}
|
|
160
162
|
});
|
|
161
163
|
return {
|
|
@@ -217,7 +219,8 @@ export function interpolateVariables(template, variables) {
|
|
|
217
219
|
const keys = trimmedKey.split('.');
|
|
218
220
|
let value = variables;
|
|
219
221
|
for (const k of keys) {
|
|
220
|
-
|
|
222
|
+
// #1136: own properties only; {{constructor}} is not a variable.
|
|
223
|
+
if (value && typeof value === 'object' && Object.hasOwn(value, k)) {
|
|
221
224
|
value = value[k];
|
|
222
225
|
}
|
|
223
226
|
else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.10",
|
|
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",
|
|
@@ -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.9");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-PBZI2ZPV.js";import"./chunk-A6YIH4C4.js";import"./chunk-KIXYKUCI.js";import"./chunk-PVIA2FPD.js";import"./chunk-N3KEY4XJ.js";import"./chunk-HZ5NC6U5.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.9");process.exit(0)}
|
|
2
|
-
import{a as x}from"./chunk-KTSLTZSG.js";import{e as f}from"./chunk-O3JLOVZX.js";import"./chunk-DGTLJNJH.js";import"./chunk-HZ5NC6U5.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};
|
|
@@ -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.9");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-VYLM2YV5.js";import"./chunk-3LYU7BLY.js";import"./chunk-KLGYIEJK.js";import"./chunk-MZS32SYS.js";import"./chunk-GCWSX2NY.js";import"./chunk-2TDIS6YK.js";import"./chunk-F3PQZX44.js";import"./chunk-XWIUFYM3.js";import"./chunk-DDPPSSHW.js";import"./chunk-D6XVGFTI.js";import"./chunk-VRGCKBF7.js";import"./chunk-7JKB3Q7O.js";import"./chunk-UYLYMWV5.js";import"./chunk-XDBD4GXO.js";import"./chunk-7X2Y727E.js";import"./chunk-AVB5QY2Q.js";import"./chunk-OCESWNAZ.js";import"./chunk-ICP2ORGI.js";import"./chunk-PVIA2FPD.js";import"./chunk-OG2UI6A3.js";import"./chunk-V5PXQSFS.js";import"./chunk-5D2I7JUP.js";import"./chunk-EFBLP43U.js";import"./chunk-7KII4CQG.js";import"./chunk-4SUOVLJ6.js";import"./chunk-ZXBCCO2H.js";import"./chunk-BXO536GT.js";import"./chunk-SVHUYVUR.js";import"./chunk-FV7VAG74.js";import"./chunk-JNNZK7KH.js";import"./chunk-2BA45H64.js";import"./chunk-KTSLTZSG.js";import"./chunk-O3JLOVZX.js";import"./chunk-DGTLJNJH.js";import"./chunk-N3KEY4XJ.js";import"./chunk-2I2UPJS7.js";import"./chunk-PX2B5TS2.js";import"./chunk-4V27J6YN.js";import"./chunk-H3KBIWTO.js";import"./chunk-OXZLKP6C.js";import"./chunk-SNBYYO6F.js";import"./chunk-6YL6JOQB.js";import"./chunk-6OOYIO3W.js";import"./chunk-HZ5NC6U5.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.9");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-JK2ME6IT.js";import"./chunk-IFEIY3NQ.js";import"./chunk-3CJCROMW.js";import"./chunk-OCESWNAZ.js";import"./chunk-ICP2ORGI.js";import"./chunk-PVIA2FPD.js";import"./chunk-OG2UI6A3.js";import"./chunk-V5PXQSFS.js";import"./chunk-5D2I7JUP.js";import"./chunk-EFBLP43U.js";import"./chunk-7KII4CQG.js";import"./chunk-4SUOVLJ6.js";import"./chunk-ZXBCCO2H.js";import"./chunk-SVHUYVUR.js";import"./chunk-FV7VAG74.js";import"./chunk-2BA45H64.js";import"./chunk-KTSLTZSG.js";import"./chunk-O3JLOVZX.js";import"./chunk-DGTLJNJH.js";import"./chunk-N3KEY4XJ.js";import"./chunk-2I2UPJS7.js";import"./chunk-4V27J6YN.js";import"./chunk-H3KBIWTO.js";import"./chunk-6YL6JOQB.js";import"./chunk-6OOYIO3W.js";import"./chunk-HZ5NC6U5.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,4 +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.9");process.exit(0)}
|
|
2
|
-
import{a as p}from"./chunk-TSYQDRNK.js";import"./chunk-HZ5NC6U5.js";import{readFile as m,readdir as k}from"fs/promises";import{join as c,basename as y,dirname as W}from"path";import{fileURLToPath as v}from"url";import{parse as d}from"yaml";var b=v(import.meta.url),E=W(b),l=class{templatesDir;cache=new Map;constructor(r){this.templatesDir=r||c(E,"templates")}async load(r){if(this.cache.has(r))return this.cache.get(r);try{let e=c(this.templatesDir,`${r}.yaml`),n=await m(e,"utf-8"),o=d(n),i=await this.validate(o);if(!i.valid)throw new Error(`Invalid workflow template ${r}:
|
|
3
|
-
${i.errors.join(`
|
|
4
|
-
`)}`);return this.cache.set(r,o),o}catch(e){throw e.code==="ENOENT"?new Error(`Workflow template not found: ${r}`):e}}async list(){try{return(await k(this.templatesDir)).filter(e=>e.endsWith(".yaml")||e.endsWith(".yml")).map(e=>y(e,e.endsWith(".yaml")?".yaml":".yml")).sort()}catch(r){if(r.code==="ENOENT")return[];throw r}}async validate(r){let e=[],n=[];if(r.name||e.push("Workflow must have a name"),r.version||e.push("Workflow must have a version"),r.description||n.push("Workflow should have a description"),Array.isArray(r.variables)?r.variables.forEach((o,i)=>{o.name||e.push(`Variable at index ${i} must have a name`),o.type||e.push(`Variable ${o.name} must have a type`),o.required===void 0&&n.push(`Variable ${o.name} should specify if it's required`)}):e.push("Workflow must have a variables array"),!Array.isArray(r.steps))e.push("Workflow must have a steps array");else if(r.steps.length===0)e.push("Workflow must have at least one step");else{r.steps.forEach((t,s)=>{t.name||e.push(`Step at index ${s} must have a name`),t.action||e.push(`Step ${t.name||s} must have an action`),(!t.config||typeof t.config!="object")&&e.push(`Step ${t.name||s} must have a config object`),t.assertions&&Array.isArray(t.assertions)&&t.assertions.forEach((f,u)=>{f.condition||e.push(`Assertion ${u} in step ${t.name||s} must have a condition`),f.message||n.push(`Assertion ${u} in step ${t.name||s} should have a message`)})});let o=r.steps.map(t=>t.name),i=o.filter((t,s)=>o.indexOf(t)!==s);i.length>0&&e.push(`Duplicate step names found: ${i.join(", ")}`)}return{valid:e.length===0,errors:e,warnings:n}}async createContext(r,e){let n=await this.load(r),o=n.variables.filter(t=>t.required&&!(t.name in e)).map(t=>t.name);if(o.length>0)throw new Error(`Missing required variables: ${o.join(", ")}`);let i={};return n.variables.forEach(t=>{t.name in e?i[t.name]=e[t.name]:"default"in t&&(i[t.name]=t.default)}),{variables:i,results:new Map,metadata:{startTime:Date.now(),workflow:n.name,templateName:r}}}async getMetadata(r){try{let e=c(this.templatesDir,`${r}.yaml`),n=await m(e,"utf-8"),o=d(n);return{name:o.name,version:o.version,description:o.description}}catch(e){throw e.code==="ENOENT"?new Error(`Workflow template not found: ${r}`):e}}clearCache(){this.cache.clear()}async reload(r){return this.cache.delete(r),this.load(r)}},x=new l;function w(a,r){return a.replace(/\{\{([^}]+)\}\}/g,(e,n)=>{let i=n.trim().split("."),t=r;for(let s of i)if(t&&typeof t=="object"&&s in t)t=t[s];else return e;return t!=null?String(t):e})}function T(a,r){let e={...r.variables,result:r.results.get("__last_result__")},n=w(a,e);return p(n,e,!1)}var g=["login-flow","oauth-flow","scraping-workflow","visual-regression","form-validation","navigation-flow","api-integration","performance-audit","accessibility-audit"],A={"login-flow":"Authentication testing workflow for login forms with credential validation","oauth-flow":"OAuth2/OIDC authentication testing workflow with provider integration","scraping-workflow":"Data extraction workflow for web scraping with pagination and structured output","visual-regression":"Screenshot comparison workflow for visual regression testing across breakpoints","form-validation":"Input validation testing workflow for form fields with error handling","navigation-flow":"Multi-page navigation workflow for testing user journeys and state persistence","api-integration":"Browser-API hybrid testing workflow for validating frontend-backend integration","performance-audit":"Lighthouse-style performance audit workflow with Core Web Vitals","accessibility-audit":"WCAG 2.1 Level AA compliance audit workflow with automated accessibility testing"},h={authentication:["login-flow","oauth-flow"],testing:["form-validation","navigation-flow","api-integration"],quality:["visual-regression","performance-audit","accessibility-audit"],automation:["scraping-workflow"]};function _(a){return h[a]}function P(a){return g.includes(a)}function L(){return g.map(a=>{let r=Object.entries(h).find(([e,n])=>n.includes(a))?.[0]||"other";return{name:a,description:A[a],category:r}})}export{h as WORKFLOW_CATEGORIES,A as WORKFLOW_DESCRIPTIONS,g as WORKFLOW_TEMPLATES,l as WorkflowLoader,x as defaultWorkflowLoader,T as evaluateCondition,L as getAllWorkflowTemplates,_ as getWorkflowsByCategory,w as interpolateVariables,P as isValidWorkflowTemplate};
|
|
@@ -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.9");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-763SUL4B.js";import"./chunk-JK2ME6IT.js";import"./chunk-IFEIY3NQ.js";import"./chunk-3CJCROMW.js";import"./chunk-OCESWNAZ.js";import"./chunk-ICP2ORGI.js";import"./chunk-PVIA2FPD.js";import"./chunk-OG2UI6A3.js";import"./chunk-V5PXQSFS.js";import"./chunk-5D2I7JUP.js";import"./chunk-EFBLP43U.js";import"./chunk-7KII4CQG.js";import"./chunk-4SUOVLJ6.js";import"./chunk-ZXBCCO2H.js";import"./chunk-SVHUYVUR.js";import"./chunk-FV7VAG74.js";import"./chunk-2BA45H64.js";import"./chunk-KTSLTZSG.js";import"./chunk-O3JLOVZX.js";import"./chunk-DGTLJNJH.js";import"./chunk-N3KEY4XJ.js";import"./chunk-2I2UPJS7.js";import"./chunk-4V27J6YN.js";import"./chunk-H3KBIWTO.js";import"./chunk-6YL6JOQB.js";import"./chunk-6OOYIO3W.js";import"./chunk-HZ5NC6U5.js";export{a as BrowserWorkflowTool};
|
|
@@ -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.9");process.exit(0)}
|
|
2
|
-
var r=n=>typeof n=="number"&&Number.isFinite(n)&&n>=0&&n<=100,t=n=>n===null||r(n);function s(n){if(!n||typeof n!="object")return null;let e=n;if(e.measured!==!0||!r(e.line)||!t(e.statement)||!t(e.branch)||!t(e.function))return null;let u=typeof e.files=="number"&&Number.isInteger(e.files)&&e.files>=0?e.files:null;return u===null?null:{line:e.line,branch:e.branch,function:e.function,statement:e.statement,files:u,measured:!0,...e.runStatus==="passed"||e.runStatus==="failed"?{runStatus:e.runStatus}:{}}}function i(n){if(!n||typeof n!="object")return null;let e=n;if(e.measured!==!0||!r(e.line))return null;let u=l=>r(l)?l:null;return{line:e.line,branch:u(e.branch),function:u(e.function),statement:u(e.statement),measured:!0}}export{s as a,i as b};
|
|
@@ -1,4 +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.9");process.exit(0)}
|
|
2
|
-
import{c as H}from"./chunk-7QGYJ5OY.js";import{b as G,d as K}from"./chunk-PVIA2FPD.js";import*as R from"fs/promises";import*as w from"path";K();async function le(t){let i=[w.join(t,"coverage","coverage-final.json"),w.join(t,"coverage","lcov.info"),w.join(t,".nyc_output","coverage-final.json"),w.join(t,"coverage-final.json"),w.join(t,"coverage","coverage-summary.json"),w.join(t,"coverage.xml"),w.join(t,"htmlcov","status.json"),w.join(t,"cobertura-coverage.xml")];for(let s of i)try{let o=await R.readFile(s,"utf-8");if(s.endsWith("coverage-summary.json"))return q(o);if(s.endsWith(".json"))return Z(o);if(s.endsWith(".info"))return Q(o);if(s.endsWith(".xml"))return V(o)}catch{}return null}function X(t){let i=new Map,s=t.statementMap||{};for(let[o,u]of Object.entries(t.s||{})){let c=s[o]?.start?.line;if(typeof c!="number")continue;let e=i.get(c);(e===void 0||e<u)&&i.set(c,u)}return i}function Z(t){let i=G(t),s=[],o=0,u=0,c=0,e=0,l=0,r=0,g=0,f=0;for(let[d,v]of Object.entries(i)){let m=v,p=m.s||{},S=m.branchMap||{},b=m.b||{},a=m.f||{},n=X(m),h=n.size,x=[...n.values()].filter(y=>y>0).length,E=Object.values(b).flat().length,N=Object.values(b).flat().filter(y=>y>0).length,F=Object.keys(a).length,j=Object.values(a).filter(y=>y>0).length,I=Object.keys(p).length,L=Object.values(p).filter(y=>y>0).length,P=[...n.entries()].filter(([,y])=>y===0).map(([y])=>y),M=[];for(let[y,T]of Object.entries(b)){let D=S[y];T.forEach((_,C)=>{_===0&&D?.locations?.[C]?.start?.line&&M.push(D.locations[C].start.line)})}s.push({path:d,lines:{covered:x,total:h},branches:{covered:N,total:E},functions:{covered:j,total:F},statements:{covered:L,total:I},uncoveredLines:P.sort((y,T)=>y-T),uncoveredBranches:Array.from(new Set(M)).sort((y,T)=>y-T)}),o+=h,u+=x,c+=E,e+=N,l+=F,r+=j,g+=I,f+=L}return{files:s,summary:{line:o>0?u/o*100:0,branch:c>0?e/c*100:0,function:l>0?r/l*100:0,statement:g>0?f/g*100:0,files:s.length}}}function q(t){let i=G(t),s=e=>({covered:Number(e?.covered)||0,total:Number(e?.total)||0}),o=[];for(let[e,l]of Object.entries(i))e==="total"||typeof l!="object"||l===null||!l.lines||o.push({path:e,lines:s(l.lines),branches:s(l.branches),functions:s(l.functions),statements:s(l.statements??l.lines),uncoveredLines:[],uncoveredBranches:[]});let u=e=>o.reduce((l,r)=>({covered:l.covered+e(r).covered,total:l.total+e(r).total}),{covered:0,total:0}),c=e=>e.total>0?e.covered/e.total*100:0;return{files:o,summary:{line:c(u(e=>e.lines)),branch:c(u(e=>e.branches)),function:c(u(e=>e.functions)),statement:c(u(e=>e.statements)),files:o.length}}}function Q(t){let i=[],s=t.split(`
|
|
3
|
-
`),o=null,u=0,c=0,e=0,l=0,r=0,g=0,f=[],d=[];for(let n of s)if(n.startsWith("SF:"))o=n.slice(3);else if(n.startsWith("LF:"))u=parseInt(n.slice(3),10);else if(n.startsWith("LH:"))c=parseInt(n.slice(3),10);else if(n.startsWith("BRF:"))e=parseInt(n.slice(4),10);else if(n.startsWith("BRH:"))l=parseInt(n.slice(4),10);else if(n.startsWith("FNF:"))r=parseInt(n.slice(4),10);else if(n.startsWith("FNH:"))g=parseInt(n.slice(4),10);else if(n.startsWith("DA:")){let[h,x]=n.slice(3).split(",").map(E=>parseInt(E,10));x===0&&f.push(h)}else if(n.startsWith("BRDA:")){let h=n.slice(5).split(","),x=parseInt(h[0],10),E=h[3];(E==="0"||E==="-")&&d.push(x)}else n==="end_of_record"&&o&&(i.push({path:o,lines:{covered:c,total:u},branches:{covered:l,total:e},functions:{covered:g,total:r},statements:{covered:0,total:0},uncoveredLines:Array.from(new Set(f)),uncoveredBranches:Array.from(new Set(d))}),o=null,u=c=0,e=l=0,r=g=0,f.length=0,d.length=0);let v=0,m=0,p=0,S=0,b=0,a=0;for(let n of i)v+=n.lines.total,m+=n.lines.covered,p+=n.branches.total,S+=n.branches.covered,b+=n.functions.total,a+=n.functions.covered;return{files:i,summary:{line:v>0?m/v*100:0,branch:p>0?S/p*100:0,function:b>0?a/b*100:0,statement:v>0?m/v*100:0,files:i.length}}}function V(t){let i=[];function s(p,S){let b=p.match(new RegExp(`${S}=["']([^"']*)["']`));return b?b[1]:null}let o=/<class\s[^>]*?>/g,u;for(;(u=o.exec(t))!==null;){let p=u[0],S=s(p,"filename");if(!S)continue;let b=parseFloat(s(p,"line-rate")||"NaN"),a=parseFloat(s(p,"branch-rate")||"NaN"),n=u.index,h=t.indexOf("</class>",n),x=h>n?t.slice(n,h):"",E=0,N=0,F=0,j=0,I=0,L=0,P=[],M=[],y=/<line\s([^>]*?)\/>/g,T;for(;(T=y.exec(x))!==null;){let C=T[1],k=parseInt(s(C,"number")||"0",10),A=parseInt(s(C,"hits")||"0",10),J=s(C,"branch")==="true",B=s(C,"condition-coverage");E++,A>0?N++:P.push(k),J&&(F++,(B?parseInt(B,10):A>0?100:0)===100?j++:M.push(k))}let D=/<method\s([^>]*?)>/g,_;for(;(_=D.exec(x))!==null;){I++;let C=_.index,k=x.indexOf("</method>",C);if(k>C){let A=x.slice(C,k),J=/<line\s([^>]*?)\/>/g,B=!1,W;for(;(W=J.exec(A))!==null;)if(parseInt(s(W[1],"hits")||"0",10)>0){B=!0;break}B&&L++}}E===0&&!isNaN(b)&&(E=100,N=Math.round(Math.max(0,Math.min(1,b))*100)),i.push({path:S,lines:{covered:N,total:E},branches:{covered:j,total:F},functions:{covered:L,total:I},statements:{covered:0,total:0},uncoveredLines:P,uncoveredBranches:M})}let c=0,e=0,l=0,r=0,g=0,f=0;for(let p of i)c+=p.lines.total,e+=p.lines.covered,l+=p.branches.total,r+=p.branches.covered,g+=p.functions.total,f+=p.functions.covered;let d=t.match(/<coverage\s[^>]*?>/),v=d?parseFloat(s(d[0],"line-rate")||"NaN")*100:NaN,m=d?parseFloat(s(d[0],"branch-rate")||"NaN")*100:NaN;return{files:i,summary:{line:isNaN(v)?c>0?e/c*100:0:v,branch:isNaN(m)?l>0?r/l*100:0:m,function:g>0?f/g*100:0,statement:c>0?e/c*100:0,files:i.length}}}async function ue(t,i={}){let s=[],{includeTests:o=!0,languages:u,maxFiles:c=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(u&&u.length>0){e=[];for(let r of u)r==="typescript"&&e.push(".ts",".tsx"),r==="javascript"&&e.push(".js",".jsx",".mjs",".cjs"),r==="python"&&e.push(".py",".pyw"),r==="go"&&e.push(".go"),r==="rust"&&e.push(".rs"),r==="java"&&e.push(".java"),r==="kotlin"&&e.push(".kt",".kts"),r==="ruby"&&e.push(".rb"),(r==="csharp"||r==="c#")&&e.push(".cs"),r==="php"&&e.push(".php"),r==="swift"&&e.push(".swift"),(r==="c"||r==="cpp"||r==="c++")&&e.push(".c",".h",".cpp",".hpp",".cc"),r==="scala"&&e.push(".scala")}async function l(r){try{let g=await R.readdir(r,{withFileTypes:!0});for(let f of g){let d=w.join(r,f.name);if(f.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(f.name)||H(r,f.name,r===t))continue;if(s.length>=c)return;await l(d)}else if(f.isFile()){let v=w.extname(f.name);if(!e.includes(v)||!o&&(f.name.includes(".test.")||f.name.includes(".spec.")||f.name.endsWith("_test.ts")||f.name.endsWith("_test.js")||d.includes("/__tests__/")||d.includes("/test/")||d.includes("/tests/")))continue;if(s.length>=c)return;s.push(d)}}}catch{}}try{if((await R.stat(t)).isFile())return[t];await l(t)}catch{}return s}function de(t){let i=new Set,s={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 c of t){let e=s[c.category];e&&i.add(e)}let o=t.some(c=>c.severity==="critical"),u=t.some(c=>c.severity==="high");return o&&i.add("CRITICAL: Address critical vulnerabilities immediately before deployment"),u&&i.add("Prioritize fixing high-severity issues in the next sprint"),i.size===0&&t.length===0&&i.add("No vulnerabilities found - maintain current security practices"),Array.from(i)}import{execFileSync as Y,spawn as U}from"node:child_process";import{readdirSync as ee,readFileSync as te}from"node:fs";function $(t){for(let i of ee("/proc")){if(!/^\d+$/.test(i))continue;let s;try{s=te(`/proc/${i}/stat`,"utf8")}catch(u){if(["ENOENT","ESRCH"].includes(u.code??""))continue;throw u}let o=s.slice(s.lastIndexOf(")")+1).trim().split(/\s+/);if(o.length<3||!/^\d+$/.test(o[2]))throw new Error(`Invalid process stat for ${i}`);if(Number(o[2])===t&&o[0]!=="Z"&&o[0]!=="X")return!0}return!1}function ne(t){let i=Y("ps",["-axo","pgid=,stat="],{encoding:"utf8",timeout:1e3,maxBuffer:1048576});for(let s of i.split(`
|
|
4
|
-
`)){if(!s.trim())continue;let o=/^\s*(\d+)\s+([A-Z?])\S*\s*$/.exec(s);if(!o)throw new Error("Could not determine Darwin process group state");if(Number(o[1])===t&&o[2]!=="Z")return!0}return!1}var O=new Set,z=()=>{for(let t of O)try{process.kill(-t,"SIGKILL")}catch{}};function se(t){let i=t.pid;return process.platform==="win32"||i===void 0?()=>{}:(O.size===0&&process.once("exit",z),O.add(i),()=>{O.delete(i),O.size===0&&process.off("exit",z)})}function re(t){return new Promise((i,s)=>{let o=process.platform,u=o==="linux",c=process.platform!=="win32"&&t.pid!==void 0,e=process.platform==="win32"&&t.pid!==void 0,l,r=!1,g=!1,f=!1,d=!1,v=()=>{r||(r=!0,clearTimeout(l),t.off("close",b),i())},m=a=>{r||(r=!0,clearTimeout(l),t.off("close",b),s(a))},p=()=>{try{return process.kill(-t.pid,0),g&&u?$(t.pid):!0}catch(a){if(a.code==="ESRCH")return!1;if(o==="darwin"&&a.code==="EPERM")return ne(t.pid);if(g&&u&&a.code==="EPERM")return $(t.pid);throw a}},S=a=>{try{return process.kill(-t.pid,a),!0}catch(n){if(n.code==="ESRCH")return!1;throw n}},b=()=>{f=!0;try{if(e){d&&v();return}(!c||!p())&&v()}catch(a){m(a)}};t.once("close",b);try{if(c){if(!S("SIGTERM")){v();return}l=setTimeout(()=>{try{if(!S("SIGKILL")){v();return}g=!0;let a=Date.now()+1e3,n=()=>{try{p()?Date.now()>=a?m(new Error(`Test runner group ${t.pid} survived SIGKILL.`)):l=setTimeout(n,20):v()}catch(h){m(h)}};n()}catch(a){m(a)}},1e3)}else if(e){let a=U("taskkill",["/PID",String(t.pid),"/T","/F"],{stdio:"ignore",windowsHide:!0,timeout:2e3});a.once("error",m),a.once("close",n=>{n!==0?m(new Error(`Test runner tree termination failed (taskkill exit ${n}).`)):(d=!0,f&&v())})}else{if(t.kill("SIGTERM"),r)return;l=setTimeout(()=>{t.kill("SIGKILL")},1e3)}}catch(a){m(a)}})}var oe=1024*1024,ie=3e3;function he(t,i,s){let o=s.maxBuffer??oe;return new Promise(u=>{let c="",e="",l,r,g,f=!1,d;try{d=U(t,[...i],{cwd:s.cwd,env:s.env??process.env,detached:process.platform!=="win32",stdio:["ignore","pipe","pipe"]})}catch(a){u({status:null,signal:null,stdout:c,stderr:e,error:a});return}let v=se(d),m=(a,n)=>{if(f)return;f=!0,clearTimeout(S),clearTimeout(g);let x={status:r?null:a,signal:r&&!n?"SIGTERM":n,stdout:c,stderr:e,error:l},E=()=>{v(),u(x)};r?r.then(E,E):E()},p=(a,n)=>{if(r)return;l=Object.assign(new Error(n),{code:a,syscall:`spawnSync ${t}`}),r=re(d);let h=()=>{d.stdout?.destroy(),d.stderr?.destroy()};r.then(h,h),g=setTimeout(h,ie)},S=setTimeout(()=>p("ETIMEDOUT",`spawnSync ${t} ETIMEDOUT`),s.timeout),b=a=>n=>{if(r)return;let h=(a==="stdout"?c:e)+n,x=h.length>o?h.slice(0,o):h;a==="stdout"?c=x:e=x,h.length>o&&p("ENOBUFS",`spawnSync ${t} ENOBUFS`)};d.stdout?.setEncoding("utf8").on("data",b("stdout")),d.stderr?.setEncoding("utf8").on("data",b("stderr")),d.once("error",a=>{l??=a,d.pid===void 0&&m(null,null)}),d.once("close",(a,n)=>m(a,n))})}export{le as a,X as b,Z as c,q as d,Q as e,V as f,ue as g,de as h,se as i,re as j,he as k};
|
|
@@ -1,4 +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.9");process.exit(0)}
|
|
2
|
-
var a=class extends Error{constructor(r){super(r),this.name="TestRunnerExecutionError"}};function N(e,r,t,n,s,i){let c=(i?.testResults??[]).filter(u=>u.status==="failed"&&(e==="vitest"&&u.message||!u.assertionResults?.some(f=>f.status==="failed"))),o;if(t===null?o="terminated without an exit code":n.passed+n.failed+n.skipped===0?o="reported zero tests":c.length>0||(i?.numRuntimeErrorTestSuites??0)>0||(i?.numFailedTestSuites??0)>0&&n.failed===0?o="reported a suite execution error":(t!==0||i?.success===!1)&&n.failed===0&&(o="failed without a failed assertion"),!o)return;let l=[...c.map(u=>u.message).filter(Boolean),s.trim()].filter(Boolean).join(`
|
|
3
|
-
`).slice(0,4e3);return new a(`${e} ${o} for ${r} (exit code ${t??"unknown"}).`+(l?`
|
|
4
|
-
${l}`:""))}import{mkdtempSync as g,readFileSync as R,rmSync as y}from"node:fs";import{tmpdir as h}from"node:os";import{join as d}from"node:path";function x(e,r){if(!r)return;let t;try{t=R(r,"utf-8")}catch(n){if(n.code==="ENOENT")return;throw new Error("Could not read the current Vitest JSON report.")}try{let n=JSON.parse(t);if(!n||!Array.isArray(n.testResults))throw new Error("Invalid report")}catch{throw new Error("The current Vitest JSON report is malformed.")}return t}function k(){let e=g(d(h(),"aqe-vitest-report-")),r=d(e,"report.json"),t=!1;return{path:r,args:[`--outputFile=${r}`],read:n=>x(n,r),cleanup:()=>{if(!t){t=!0;try{y(e,{recursive:!0,force:!0})}catch{}}}}}function z(e){let r=e.some(s=>/(^|[\\/])vitest(\.cmd|\.js|\.mjs)?$/i.test(s)),t=e.some((s,i)=>s==="--reporter=json"||s==="--reporter"&&e[i+1]==="json"),n=e.some(s=>s.startsWith("--outputFile"));return r&&t&&!n}import{realpathSync as E,statSync as $}from"node:fs";import{basename as j,dirname as S,extname as b,resolve as p,sep as w}from"node:path";function m(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function F(e,r=process.cwd()){let t=p(r,e);try{return p(E(S(t)),j(t))}catch{return t}}function J(e){try{return $(e).isDirectory()}catch{return b(e)===""}}function P(e,r=process.cwd()){let t=F(e,r),n=t.split(w).join("/"),s=J(t)?"(?:/|$)":"$";return`^${m(n)}${s}`}function q(e,r){let t=m(r);return e==="mocha"?`--grep=${t}`:`--testNamePattern=${t}`}function I(e){return e.some(r=>/(^|[\\/])jest(\.cmd|\.js|\.mjs)?$/i.test(r))}export{a,N as b,k as c,z as d,F as e,P as f,q as g,I as h};
|
|
@@ -1,4 +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.9");process.exit(0)}
|
|
2
|
-
import{b as M}from"./chunk-XOLDMK23.js";import{j as D,k as x,l as k,n as h}from"./chunk-AR2E4B7K.js";import{c as y}from"./chunk-5LAAZLUC.js";import N from"chalk";import*as m from"fs";import*as d from"path";var T=["coverage/coverage-final.json","coverage/coverage-summary.json",".coverage/coverage-final.json"];function E(e){for(let t of T){let n=d.join(e,t);if(m.existsSync(n))try{let r=m.readFileSync(n,"utf-8"),a=JSON.parse(r);if(a.total&&a.total.lines)return w(a,e);let o=new Map;for(let s of y(r).files)o.set(s.path,s);return o.size>0?o:null}catch{continue}}return null}function w(e,t){let n=new Map;for(let[r,a]of Object.entries(e)){if(r==="total")continue;let o=a;n.set(r,{path:r,lines:{covered:o.lines.covered,total:o.lines.total},branches:{covered:o.branches.covered,total:o.branches.total},functions:{covered:o.functions.covered,total:o.functions.total},statements:{covered:o.statements.covered,total:o.statements.total},uncoveredLines:[],uncoveredBranches:[]})}return n.size>0?n:null}function j(e,t){let r=t.split(`
|
|
3
|
-
`).length,o=[e.replace(".ts",".test.ts").replace("/src/","/tests/"),e.replace(".ts",".spec.ts").replace("/src/","/tests/"),e.replace(".ts",".test.ts"),e.replace("/src/","/test/").replace(".ts",".test.ts")].some(g=>m.existsSync(g)),s=(t.match(/\bexport\b/g)||[]).length,i=(t.match(/\b(function|=>)\b/g)||[]).length,c=(t.match(/\b(if|switch|case|\?\?|\|\|)\b/g)||[]).length,l;if(o){let g=Math.min(c*.005,.15),b=Math.min(r*1e-4,.1);l=.85-g-b}else l=.2+(s>5?.1:0);l=Math.max(.05,Math.min(.95,l));let u=Math.floor(r*l),f=Math.max(i,1),C=Math.max(c,1),F=Math.floor(u*.7),S=Math.floor(f*l*.9),v=Array.from({length:r-u},(g,b)=>b+u+1);return{path:e,lines:{covered:u,total:r},branches:{covered:Math.min(F,C),total:C},functions:{covered:Math.min(S,f),total:f},statements:{covered:u,total:r},uncoveredLines:v,uncoveredBranches:v.slice(0,Math.floor(v.length/2))}}function p(e){let t=s=>e.reduce((i,c)=>i+s(c),0),n=(s,i)=>i>0?Math.round(s/i*100):0,r=t(s=>s.lines.total),a=t(s=>s.lines.covered),o=t(s=>s.statements.total);return{line:n(a,r),branch:n(t(s=>s.branches.covered),t(s=>s.branches.total)),function:n(t(s=>s.functions.covered),t(s=>s.functions.total)),statement:o>0?n(t(s=>s.statements.covered),o):n(a,r),files:e.length}}function R(e,t){let n=t||process.cwd(),r=E(n),a=[],o=[],s=!1;if(r&&r.size>0){s=!0;for(let i of e){let c=d.resolve(i),l=r.get(c)||r.get(i)||r.get(d.relative(n,c));l?a.push({...l,path:i}):o.push(i)}}else for(let i of e){let c=m.existsSync(i)?m.readFileSync(i,"utf-8"):"";a.push(j(i,c))}return{files:a,summary:p(a),instrumented:s,...o.length>0?{unmeasuredFiles:o}:{}}}var A=3,z="instrumented-report",O="static-estimation";async function I(e,t=n=>console.log(n)){let n=await D(e);if(n.status==="target-missing")return{kind:"no-data",reason:"target-missing",message:h("target-missing",e,null)};if(n.status==="evaluated"){let{evaluation:a,projectRoot:o}=n;if(a.status==="measured"){let s=a.files;return{kind:"data",data:{files:s,summary:p(s),instrumented:!0},projectRoot:o}}return{kind:"no-data",reason:a.reason,message:h(a.reason,e,o)}}let r=M(n.target,{includeTests:!1});return r.length===0?{kind:"no-sources"}:(t(N.gray(` Analyzing ${r.length} files...
|
|
4
|
-
`)),{kind:"data",data:R(r,n.projectRoot),projectRoot:n.projectRoot})}function P(e){return{branch:e.files.some(t=>t.branches.total>0),function:e.files.some(t=>t.functions.total>0),statement:e.files.some(t=>t.statements.total>0)}}var L=e=>e==="target-missing"||e==="unreadable-report";function _(){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 G(e,t,n,r){let a=await I(t,r);if(a.kind==="no-sources")return a;if(a.kind==="no-data")return L(a.reason)?{kind:"error",reason:a.reason,message:a.message}:{kind:"unmeasured",reason:a.reason,message:a.message};let o=a.data,s=o.instrumented,i=await e.analyze({coverageData:o,threshold:n,includeFileDetails:!0,measured:s,...a.projectRoot?{projectRoot:a.projectRoot}:{}});if(!i.success||!i.value)return{kind:"analysis-failed",message:i.error?.message||"Coverage analysis failed"};let c=i.value;if(!s)return{kind:"estimate",data:o,summary:{...c.summary},message:_()};let l=P(o),u=x(c.summary,n,l);return{kind:"measured",data:o,collected:l,verdict:u,summary:{...c.summary,branch:l.branch?c.summary.branch:null,function:l.function?c.summary.function:null,statement:l.statement?c.summary.statement:null},recommendations:k(c.recommendations??[],u,n,l)}}function X(e,t){switch(e.kind){case"measured":{let{overall:n,meetsThreshold:r}=e.verdict;return r?n<t+5?2:0:1}case"estimate":case"unmeasured":return A;case"no-sources":return 0;default:return 1}}function $(e,t,n){let r={line:null,branch:null,function:null,statement:null};switch(e.kind){case"measured":return{summary:e.summary,meetsThreshold:e.verdict.meetsThreshold,threshold:t,recommendations:e.recommendations,measured:!0,estimated:!1,coverageMethod:z,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:t,measured:!1,estimated:!0,unmeasured:!0,coverageMethod:O,reason:"no-coverage-report",target:n,warning:e.message};case"unmeasured":case"error":return{summary:r,meetsThreshold:null,threshold:t,measured:!1,unmeasured:e.kind==="unmeasured",reason:e.reason,target:n,warning:e.message};case"analysis-failed":return{summary:r,meetsThreshold:null,threshold:t,measured:!1,target:n,error:e.message};case"no-sources":return{summary:r,meetsThreshold:null,threshold:t,measured:!1,target:n,warning:"No source files found"}}}export{A as a,I as b,G as c,X as d,$ as e};
|