agentic-qe 3.14.8 → 3.15.0
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/release/SKILL.md +6 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +145 -0
- package/README.md +143 -366
- package/assets/readme/credit-ruflo.svg +1 -0
- package/assets/readme/credit-ruvector.svg +1 -0
- package/assets/readme/project-header.svg +1 -0
- package/assets/readme/quality-loop.svg +1 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/a2a/notifications/retry-queue.js +5 -1
- package/dist/adapters/ag-ui/json-patch.js +14 -7
- package/dist/adapters/ag-ui/state-delta-cache.js +20 -12
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-D7G5MIDQ.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-67OKGDGZ.js → agent-booster-wasm-GDHJ6QUN.js} +2 -2
- package/dist/cli/chunks/{agent-handler-4HZEQ3WQ.js → agent-handler-MPYYQ2RZ.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-IBHZQSRN.js → agent-memory-branch-QBSHKLA2.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-G6TUFGHC.js +2 -0
- package/dist/cli/chunks/{arena-LCLRGUIK.js → arena-UJE2FROF.js} +4 -4
- package/dist/cli/chunks/{arena-EJBIGSF4.js → arena-WIGSL37B.js} +2 -2
- package/dist/cli/chunks/{audit-PY4JNDQQ.js → audit-VT7Y2Z7V.js} +3 -3
- package/dist/cli/chunks/base-B45BOC7E.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-2JG5K6XT.js → better-sqlite3-DSL7LFRK.js} +2 -2
- package/dist/cli/chunks/{brain-handler-3UYK55GA.js → brain-handler-N3C2MDMK.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-GOSWOX46.js → branch-enumerator-B6NSQ3PZ.js} +2 -2
- package/dist/cli/chunks/{browser-DC2JV47Z.js → browser-KQ3YNRGW.js} +2 -2
- package/dist/cli/chunks/browser-workflow-MIBU4XMV.js +2 -0
- package/dist/cli/chunks/{chunk-RM6OC35G.js → chunk-2ORTL5WG.js} +1 -1
- package/dist/cli/chunks/{chunk-B2QKBQYD.js → chunk-2ZEV3O24.js} +1 -1
- package/dist/cli/chunks/{chunk-H5UH234L.js → chunk-32YSI6OT.js} +1 -1
- package/dist/cli/chunks/{chunk-GQJ4QDEN.js → chunk-3DKYBHNA.js} +4 -4
- package/dist/cli/chunks/{chunk-BFIXUKOR.js → chunk-3Y24VTZ3.js} +1 -1
- package/dist/cli/chunks/{chunk-G36RZF2Y.js → chunk-4BWDCUZZ.js} +1 -1
- package/dist/cli/chunks/{chunk-JRLZ7LZ3.js → chunk-4DCDIKBX.js} +2 -2
- package/dist/cli/chunks/{chunk-BHPTHC5O.js → chunk-4EEY23JS.js} +2 -2
- package/dist/cli/chunks/{chunk-NJEEKYEP.js → chunk-4FOKHGP5.js} +2 -2
- package/dist/cli/chunks/{chunk-NEXBTLN6.js → chunk-4OQSAUKR.js} +2 -2
- package/dist/cli/chunks/{chunk-KNSQWM2E.js → chunk-4YPL3OXS.js} +2 -2
- package/dist/cli/chunks/{chunk-QQVE65ER.js → chunk-5DJGP4TA.js} +2 -2
- package/dist/cli/chunks/{chunk-7TNCEVWX.js → chunk-5KN4QL3G.js} +2 -2
- package/dist/cli/chunks/{chunk-T6W2EYHC.js → chunk-5LN7FQZI.js} +2 -2
- package/dist/cli/chunks/{chunk-KKXH25IH.js → chunk-5PNRUMRV.js} +2 -2
- package/dist/cli/chunks/{chunk-G3C7Z6FO.js → chunk-62IEVKN3.js} +2 -2
- package/dist/cli/chunks/{chunk-3576QGPP.js → chunk-6GTIJNRO.js} +1 -1
- package/dist/cli/chunks/{chunk-SKJQKOFJ.js → chunk-6MN4L6BS.js} +2 -2
- package/dist/cli/chunks/{chunk-JTOFLDU7.js → chunk-7D6NVIGP.js} +6 -6
- package/dist/cli/chunks/{chunk-M7QKCHLQ.js → chunk-7JABIXP3.js} +2 -2
- package/dist/cli/chunks/chunk-7JC3LHA6.js +742 -0
- package/dist/cli/chunks/{chunk-LQVS5IWH.js → chunk-7WUHVGGT.js} +2 -2
- package/dist/cli/chunks/{chunk-I6NZFBT3.js → chunk-A37YYHUD.js} +2 -2
- package/dist/cli/chunks/{chunk-FRC7AFB4.js → chunk-AAQNRZKT.js} +2 -2
- package/dist/cli/chunks/{chunk-SPS472C5.js → chunk-AGYPPPXR.js} +2 -2
- package/dist/cli/chunks/chunk-AIE6OKCD.js +2 -0
- package/dist/cli/chunks/{chunk-5X4HDW5W.js → chunk-ANUZGOLQ.js} +2 -2
- package/dist/cli/chunks/{chunk-XFT4FYTC.js → chunk-AQZSF32Y.js} +2 -2
- package/dist/cli/chunks/{chunk-BITFGVZ4.js → chunk-ATXAMGVE.js} +2 -2
- package/dist/cli/chunks/{chunk-VAXTPLO3.js → chunk-AV3RX2L5.js} +2 -2
- package/dist/cli/chunks/{chunk-GHMJFICO.js → chunk-AW5OWYQ4.js} +2 -2
- package/dist/cli/chunks/{chunk-GA63ESNT.js → chunk-B6QTNTCU.js} +2 -2
- package/dist/cli/chunks/{chunk-HHANMCD2.js → chunk-BAPMEDWC.js} +1 -1
- package/dist/cli/chunks/{chunk-EKO5QL2B.js → chunk-BH2SQQ2N.js} +1 -1
- package/dist/cli/chunks/{chunk-W7JUD4EZ.js → chunk-C6M27NQE.js} +2 -2
- package/dist/cli/chunks/{chunk-4PY44TKH.js → chunk-CMYZWIXS.js} +2 -2
- package/dist/cli/chunks/{chunk-3FCHH4VP.js → chunk-CZWWC7GC.js} +1 -1
- package/dist/cli/chunks/{chunk-DSJJHPPS.js → chunk-D7NOHASX.js} +3 -3
- package/dist/cli/chunks/{chunk-N3ASALOL.js → chunk-DGRE6ZAA.js} +2 -2
- package/dist/cli/chunks/{chunk-U2QTL5T2.js → chunk-DSGRXW6K.js} +3 -3
- package/dist/cli/chunks/{chunk-F2WAB4WK.js → chunk-DXA7RLYU.js} +2 -2
- package/dist/cli/chunks/{chunk-C647D42G.js → chunk-DZHIE5UW.js} +2 -2
- package/dist/cli/chunks/{chunk-EMOZ5O5S.js → chunk-EBK6CUBD.js} +1 -1
- package/dist/cli/chunks/{chunk-PVJLQ2YZ.js → chunk-EPEKEUCF.js} +1 -1
- package/dist/cli/chunks/{chunk-UHLZKH6B.js → chunk-EQ4SDE4L.js} +25 -25
- package/dist/cli/chunks/{chunk-HE3BDBAO.js → chunk-EZPWSS3B.js} +2 -2
- package/dist/cli/chunks/{chunk-TCQWVVSR.js → chunk-F76SYOBT.js} +1 -1
- package/dist/cli/chunks/{chunk-7X3LMTRA.js → chunk-F7JVDLOI.js} +2 -2
- package/dist/cli/chunks/{chunk-CLUHGBLN.js → chunk-FCSETOWZ.js} +1 -1
- package/dist/cli/chunks/{chunk-77WL5HQW.js → chunk-FFE4XAQA.js} +1 -1
- package/dist/cli/chunks/{chunk-4HXFPBAA.js → chunk-FPTZP7W5.js} +1 -1
- package/dist/cli/chunks/{chunk-6GNWVPMR.js → chunk-FTFIA4I5.js} +2 -2
- package/dist/cli/chunks/{chunk-YHX74M7C.js → chunk-FTS6NGBP.js} +2 -2
- package/dist/cli/chunks/{chunk-UNFE4RPV.js → chunk-FZ3TQAPW.js} +1 -1
- package/dist/cli/chunks/{chunk-UIWXKRTK.js → chunk-G35KP72N.js} +2 -2
- package/dist/cli/chunks/{chunk-D2Y36V5J.js → chunk-GCHDMO5V.js} +2 -2
- package/dist/cli/chunks/{chunk-ES7TAJRJ.js → chunk-GRN47ANK.js} +2 -2
- package/dist/cli/chunks/{chunk-OVMG6EEF.js → chunk-GV7P5JYF.js} +2 -2
- package/dist/cli/chunks/{chunk-XAESN54Q.js → chunk-GX5RFGW2.js} +1 -1
- package/dist/cli/chunks/{chunk-SUNXA2UR.js → chunk-H77AUJNW.js} +2 -2
- package/dist/cli/chunks/{chunk-T4WQPE77.js → chunk-HBIV7PQH.js} +1 -1
- package/dist/cli/chunks/{chunk-VCSNNLWL.js → chunk-HOPXHZA3.js} +2 -2
- package/dist/cli/chunks/{chunk-GK5WLUX3.js → chunk-I3BH3KIF.js} +1 -1
- package/dist/cli/chunks/{chunk-RTD4U7IW.js → chunk-ILKMNDUM.js} +2 -2
- package/dist/cli/chunks/{chunk-LMAI74EP.js → chunk-IRHBR56R.js} +1 -1
- package/dist/cli/chunks/{chunk-DZHXCOSK.js → chunk-ISAMM7QA.js} +1 -1
- package/dist/cli/chunks/{chunk-6VTC3OHD.js → chunk-ISGFAMHZ.js} +2 -2
- package/dist/cli/chunks/{chunk-QPACHVDI.js → chunk-J46XGXPS.js} +1 -1
- package/dist/cli/chunks/{chunk-T53ZN4NO.js → chunk-J4XCBOPA.js} +2 -2
- package/dist/cli/chunks/{chunk-LKFBW2QM.js → chunk-JIWMFLHV.js} +2 -2
- package/dist/cli/chunks/{chunk-A5CLVZC3.js → chunk-JJ7WAU4I.js} +2 -2
- package/dist/cli/chunks/{chunk-CQEWL32R.js → chunk-JLPNYHJJ.js} +1 -1
- package/dist/cli/chunks/{chunk-6F7MFHTY.js → chunk-JO2YLIZH.js} +2 -2
- package/dist/cli/chunks/{chunk-VSPNIDQK.js → chunk-JSYNSJDQ.js} +2 -2
- package/dist/cli/chunks/{chunk-AJMAKUS3.js → chunk-JYRBOSOF.js} +2 -2
- package/dist/cli/chunks/{chunk-3S5IIK32.js → chunk-KEZ4PXVF.js} +1 -1
- package/dist/cli/chunks/{chunk-TT45RCLN.js → chunk-KLGFEHEN.js} +2 -2
- package/dist/cli/chunks/{chunk-673XJBGW.js → chunk-KU4WLKDK.js} +2 -2
- package/dist/cli/chunks/{chunk-EXQGHTPD.js → chunk-KUTMQBV4.js} +4 -4
- package/dist/cli/chunks/{chunk-A53MMSGC.js → chunk-L6PUBB6L.js} +2 -2
- package/dist/cli/chunks/{chunk-F6JJNBE5.js → chunk-LDJ5DZT5.js} +1 -1
- package/dist/cli/chunks/{chunk-25EEIAHS.js → chunk-LLS6JYPN.js} +2 -2
- package/dist/cli/chunks/{chunk-NWUFTLSF.js → chunk-LPCFIFZF.js} +2 -2
- package/dist/cli/chunks/{chunk-SMBGK7XI.js → chunk-M5EKZA7Q.js} +1 -1
- package/dist/cli/chunks/{chunk-YIWBJ637.js → chunk-MEYSIVMP.js} +2 -2
- package/dist/cli/chunks/{chunk-BUVJIVFG.js → chunk-MFGLRMO4.js} +1 -1
- package/dist/cli/chunks/{chunk-HBAFXWSO.js → chunk-MM57SD2F.js} +1 -1
- package/dist/cli/chunks/{chunk-UQGIC5OX.js → chunk-MO3QXLF2.js} +1 -1
- package/dist/cli/chunks/{chunk-WFKE7NZ5.js → chunk-MRIZY6HB.js} +2 -2
- package/dist/cli/chunks/{chunk-O4QB2GFL.js → chunk-N2MDNEF7.js} +2 -2
- package/dist/cli/chunks/{chunk-GVLRE3BV.js → chunk-N5ZHIQAV.js} +3 -3
- package/dist/cli/chunks/{chunk-6GJWT2OY.js → chunk-NZ556KZN.js} +2 -2
- package/dist/cli/chunks/{chunk-K6EOHGKS.js → chunk-O5AUOBGU.js} +2 -2
- package/dist/cli/chunks/{chunk-RJJIPTVH.js → chunk-OBSX3I4Y.js} +2 -2
- package/dist/cli/chunks/{chunk-3X2JSW3R.js → chunk-OLD2CIDI.js} +1 -1
- package/dist/cli/chunks/{chunk-AJ5PCJQ2.js → chunk-OTJ22IO2.js} +3 -3
- package/dist/cli/chunks/{chunk-J5HTQHJK.js → chunk-OYVDTD3A.js} +2 -2
- package/dist/cli/chunks/{chunk-JDOVO4E4.js → chunk-P2PPJUGD.js} +126 -130
- package/dist/cli/chunks/{chunk-TUZNWRYC.js → chunk-P4FRYNHL.js} +1 -1
- package/dist/cli/chunks/{chunk-56M4QNXU.js → chunk-P4WE6VRR.js} +2 -2
- package/dist/cli/chunks/{chunk-QDRFLM77.js → chunk-P725KXHX.js} +2 -2
- package/dist/cli/chunks/{chunk-AOD2ES44.js → chunk-P7MNF2SK.js} +2 -2
- package/dist/cli/chunks/{chunk-EBV3WFIR.js → chunk-PJU5HVWV.js} +2 -2
- package/dist/cli/chunks/{chunk-LTHV4PIG.js → chunk-PN3FYSQ6.js} +2 -2
- package/dist/cli/chunks/{chunk-CIEXUYY7.js → chunk-PPFW3H7E.js} +1 -1
- package/dist/cli/chunks/{chunk-L5T32SRF.js → chunk-Q4RCUCHD.js} +1 -1
- package/dist/cli/chunks/{chunk-Z5UZOYQS.js → chunk-QRALXNNX.js} +2 -2
- package/dist/cli/chunks/{chunk-CBWM5NOO.js → chunk-QVX22EIM.js} +2 -2
- package/dist/cli/chunks/{chunk-JQAJUXRE.js → chunk-R6CZCMKD.js} +2 -2
- package/dist/cli/chunks/chunk-ROK5YQ5P.js +3 -0
- package/dist/cli/chunks/{chunk-QP7EKLWU.js → chunk-S2GNFAOC.js} +2 -2
- package/dist/cli/chunks/{chunk-JRK5GX56.js → chunk-S644OORE.js} +1 -1
- package/dist/cli/chunks/{chunk-TGRHO4ES.js → chunk-S7CROKX4.js} +2 -2
- package/dist/cli/chunks/{chunk-BT3MI2BW.js → chunk-S7QUHLXV.js} +1 -1
- package/dist/cli/chunks/{chunk-SVP3BP52.js → chunk-UGYXUPGN.js} +2 -2
- package/dist/cli/chunks/{chunk-ISBOHF6Y.js → chunk-URRPJ3M7.js} +1 -1
- package/dist/cli/chunks/{chunk-R6I5I724.js → chunk-URUOTHPO.js} +2 -2
- package/dist/cli/chunks/{chunk-QKM4XT2F.js → chunk-VCYOFWMG.js} +2 -2
- package/dist/cli/chunks/{chunk-BCCSV3RH.js → chunk-VQVFGFYK.js} +1 -1
- package/dist/cli/chunks/{chunk-QH7C4PTX.js → chunk-VT5SMBEM.js} +1 -1
- package/dist/cli/chunks/{chunk-WVEHKAIH.js → chunk-VTGRGYY4.js} +3 -3
- package/dist/cli/chunks/{chunk-TP7L4EX6.js → chunk-VWCFXCSV.js} +2 -2
- package/dist/cli/chunks/{chunk-OZJQN7YE.js → chunk-VY4557VF.js} +2 -2
- package/dist/cli/chunks/{chunk-4RNCVSVN.js → chunk-VYERAOQL.js} +2 -2
- package/dist/cli/chunks/{chunk-VV2JVYOI.js → chunk-W6H2SOIK.js} +2 -2
- package/dist/cli/chunks/{chunk-VW7AXJQS.js → chunk-WBR4VRQE.js} +2 -2
- package/dist/cli/chunks/{chunk-T7YCNOW5.js → chunk-WDV6CBED.js} +2 -2
- package/dist/cli/chunks/{chunk-Z6G3QVZ4.js → chunk-WO7NPGUD.js} +19 -19
- package/dist/cli/chunks/{chunk-AEYJ4ZLA.js → chunk-WPOYFV4X.js} +1 -1
- package/dist/cli/chunks/{chunk-3EKG7HFV.js → chunk-WPSGMTI4.js} +3 -3
- package/dist/cli/chunks/{chunk-XECZYQT5.js → chunk-WQMXQO3O.js} +2 -2
- package/dist/cli/chunks/{chunk-QYCZYJH7.js → chunk-WR54SKKL.js} +2 -2
- package/dist/cli/chunks/{chunk-BTBJ2NLH.js → chunk-X4OESN7M.js} +2 -2
- package/dist/cli/chunks/{chunk-HPVYJ6JH.js → chunk-X5RELRY7.js} +2 -2
- package/dist/cli/chunks/{chunk-BOIUENWW.js → chunk-X7JEBPEW.js} +1 -1
- package/dist/cli/chunks/{chunk-OX7MJFLC.js → chunk-XEABMIUH.js} +2 -2
- package/dist/cli/chunks/{chunk-BL6273KR.js → chunk-XELFJC77.js} +3 -3
- package/dist/cli/chunks/{chunk-775WGWLL.js → chunk-XPUY3ZKD.js} +2 -2
- package/dist/cli/chunks/{chunk-BZIPW2PA.js → chunk-XZDPR6I2.js} +2 -2
- package/dist/cli/chunks/{chunk-OA75C4HY.js → chunk-Y63DADOR.js} +2 -2
- package/dist/cli/chunks/{chunk-F57FTFWS.js → chunk-YFRZVNE4.js} +2 -2
- package/dist/cli/chunks/{chunk-CXUC7YKA.js → chunk-YIDZ3TEN.js} +2 -2
- package/dist/cli/chunks/{chunk-LRGTPUJA.js → chunk-Z6CRROLU.js} +2 -2
- package/dist/cli/chunks/{chunk-J24AJEDE.js → chunk-ZPH2YT3J.js} +2 -2
- package/dist/cli/chunks/{chunk-AUFV2G2J.js → chunk-ZV7LJPSI.js} +5 -5
- package/dist/cli/chunks/{chunk-AR2S4DOB.js → chunk-ZXIIB3QE.js} +1 -1
- package/dist/cli/chunks/{ci-5LIV2HW5.js → ci-63JINRNB.js} +3 -3
- package/dist/cli/chunks/{ci-output-UO5BDFU4.js → ci-output-CRFWLUAA.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-UQDPXYRD.js → circuit-breaker-PJLG3WYL.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-62QES3QX.js → claude-flow-setup-UKHSQMJU.js} +2 -2
- package/dist/cli/chunks/client-A4FTITK3.js +2 -0
- package/dist/cli/chunks/{cline-installer-X7VZTSZG.js → cline-installer-PYQ27AS3.js} +2 -2
- package/dist/cli/chunks/{code-H3BF4L4H.js → code-K7VGLZ3W.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-BJGFZGGL.js → code-index-extractor-NNWAVWSL.js} +2 -2
- package/dist/cli/chunks/{codex-installer-KVZWKU6S.js → codex-installer-U4VJIKRN.js} +2 -2
- package/dist/cli/chunks/{completions-YMILE6V7.js → completions-DOCI3P4W.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-J26N2PWG.js → complexity-analyzer-RFW2QRFR.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-MAR42OV7.js → continuedev-installer-S5WXXOBU.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-CVOJF6OT.js → copilot-installer-AAQ6YLVJ.js} +2 -2
- package/dist/cli/chunks/core-handlers-FO3QTNWI.js +2 -0
- package/dist/cli/chunks/{cost-tracker-SXLWXE55.js → cost-tracker-R4VOHTWQ.js} +2 -2
- package/dist/cli/chunks/{coverage-D7HCHFP3.js → coverage-P54HPCLV.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-LIV6SRWF.js +2 -0
- package/dist/cli/chunks/{cursor-installer-X37VHIKW.js → cursor-installer-VHBWZE5A.js} +2 -2
- package/dist/cli/chunks/{daemon-JN7SOH6F.js → daemon-BTRSWNB4.js} +3 -3
- package/dist/cli/chunks/{daemon-LIW47IDM.js → daemon-JLH5TTWZ.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-QCHHIZBT.js → dag-attention-scheduler-5Z6DCRFK.js} +2 -2
- package/dist/cli/chunks/{detect-WRFCWAX5.js → detect-NWGASRJJ.js} +2 -2
- package/dist/cli/chunks/{dist-node-6FWT4XZO.js → dist-node-XMNNSEFJ.js} +2 -2
- package/dist/cli/chunks/{domain-handler-SNFPNMRT.js → domain-handler-BWVBZTNR.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-MXKHH62P.js → domain-plugins-YAD4USA4.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-47UJNERX.js → domain-transfer-Z3MRPZEZ.js} +2 -2
- package/dist/cli/chunks/dream-DNLGHYXY.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-LZFAUNBQ.js → embed-and-insert-pattern-5CCO45WC.js} +2 -2
- package/dist/cli/chunks/{eval-AMUXTMJB.js → eval-JEMLTGY4.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-3D65TR2C.js → experience-capture-middleware-FKVYBBAN.js} +3 -3
- package/dist/cli/chunks/{fast-paths-Y7BBMM56.js → fast-paths-TFL32H3C.js} +2 -2
- package/dist/cli/chunks/{feature-flags-VESRRQ6V.js → feature-flags-CNGAUUMT.js} +2 -2
- package/dist/cli/chunks/{feature-flags-JMQQ7JW4.js → feature-flags-OHGD2NCW.js} +2 -2
- package/dist/cli/chunks/{file-discovery-JJKQQUV6.js → file-discovery-IHGDYW34.js} +2 -2
- package/dist/cli/chunks/{fleet-WIGHICJF.js → fleet-OGTSDGJ2.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-BFNPETTT.js → gnn-wrapper-QYTTKNCE.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-HDXKTGUI.js → heartbeat-handler-R5OD2SKN.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-DL4LXXJF.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-Y64M43J4.js +2 -0
- package/dist/cli/chunks/hnsw-index-5V6DDMTA.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-6A7OTAPT.js → hnsw-legacy-bridge-ULJWYXBQ.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-LKV2H47B.js → hnswlib-node-SYKJXGE2.js} +2 -2
- package/dist/cli/chunks/{hooks-KDSFYQQG.js → hooks-XAJXPXTU.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-JWT2V4FQ.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-GDLPEPUC.js → hypergraph-engine-GIBPGW4N.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-4UMFA2EW.js → hypergraph-handler-ENFK6IDN.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-XUZQSZZC.js +2 -0
- package/dist/cli/chunks/{init-handler-4GCHPQHD.js → init-handler-CSA62LGT.js} +6 -6
- package/dist/cli/chunks/init-wizard-KDJKHEPN.js +2 -0
- package/dist/cli/chunks/kernel-MUDYPGFR.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-HJZMT2G5.js → kilocode-installer-YXFIRTSA.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-WUPY67HG.js → kiro-installer-JW3BG2MQ.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-GR52N7PU.js +2 -0
- package/dist/cli/chunks/{learning-AXKIS7IG.js → learning-BDBZ7ZVG.js} +3 -3
- package/dist/cli/chunks/{llm-router-HUDPNZLJ.js → llm-router-CCX2DYTC.js} +4 -4
- package/dist/cli/chunks/llm-router-service-QL6LVKZ4.js +2 -0
- package/dist/cli/chunks/{load-RM44POD7.js → load-UJTTEOOK.js} +2 -2
- package/dist/cli/chunks/load-test-76V75WZ5.js +2 -0
- package/dist/cli/chunks/{mcp-5JVQRBOP.js → mcp-2NAJYREC.js} +2 -2
- package/dist/cli/chunks/{memory-VGZ2V6PL.js → memory-C3UQSN5F.js} +5 -5
- package/dist/cli/chunks/memory-backend-SMQRS5QN.js +2 -0
- package/dist/cli/chunks/{memory-handlers-EI537Z32.js → memory-handlers-ESFIJENU.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-WPRKCSCM.js → multi-model-executor-SIHSHAD7.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-YAJMRCQO.js → opencode-installer-KDYHUGPG.js} +2 -2
- package/dist/cli/chunks/{orchestrator-MUGWBUYP.js → orchestrator-MJHIQEHD.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-MWAJMOYU.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-ZQJJ2YNG.js → pattern-usage-recorder-OLBE4UIF.js} +2 -2
- package/dist/cli/chunks/{pipeline-F4DXDUDC.js → pipeline-IOK2CV3U.js} +2 -2
- package/dist/cli/chunks/{platform-HI3A3OWF.js → platform-53JQ7JXN.js} +2 -2
- package/dist/cli/chunks/{plugin-XRITPTR7.js → plugin-L5SDIWDI.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-HHNJP7CQ.js → prime-radiant-advanced-wasm-2DS67JFS.js} +2 -2
- package/dist/cli/chunks/{project-root-2VN4WO2A.js → project-root-LQMOFO2Z.js} +2 -2
- package/dist/cli/chunks/protocol-executor-32X3GAJT.js +2 -0
- package/dist/cli/chunks/{protocol-handler-ZEVHSEBG.js → protocol-handler-NXG2M43B.js} +2 -2
- package/dist/cli/chunks/{prove-C4BLZWBS.js → prove-7K7PFSSX.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-KAFV3TGI.js +2 -0
- package/dist/cli/chunks/{quality-M3DTE4KK.js → quality-ATILUGMJ.js} +2 -2
- package/dist/cli/chunks/{quality-gate-V6KS7ML3.js → quality-gate-MPZMDPIZ.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-L3SODGRX.js +2 -0
- package/dist/cli/chunks/{real-embeddings-YWSE3IRT.js → real-embeddings-VZN3KIAI.js} +2 -2
- package/dist/cli/chunks/{ref-validation-ZWOTFA3T.js → ref-validation-EUATPVXX.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-GJBIWETD.js → roocode-installer-7M2GOUNZ.js} +2 -2
- package/dist/cli/chunks/router-DDCSSXYQ.js +2 -0
- package/dist/cli/chunks/routing-feedback-RFASKYCD.js +2 -0
- package/dist/cli/chunks/{routing-handler-CFYLGNAR.js → routing-handler-VWANE652.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-EDKG456B.js → ruvector-commands-B2YIPGOV.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-HCIF2G56.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-UVAHQ7SV.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-ZMEYMAI6.js → rvf-migration-coordinator-RQXOQJ5T.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-F2I5FFHK.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-AH6PNJP6.js → rvf-store-integrity-7P5YDXRH.js} +2 -2
- package/dist/cli/chunks/safe-db-6ZAA4S23.js +2 -0
- package/dist/cli/chunks/schedule-SM5Q6UVP.js +2 -0
- package/dist/cli/chunks/scheduler-4EYP4EZ6.js +2 -0
- package/dist/cli/chunks/{security-ZU2GW3ZM.js → security-VJ7TVSQF.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-5FOVSL3T.js → shared-rvf-adapter-63NXQFBX.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-IO4DC4XV.js → shared-rvf-dual-writer-JQRP7P5A.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-KLN2K266.js +2 -0
- package/dist/cli/chunks/{standalone-memory-3UXDZ7HI.js → standalone-memory-WJ72PH5P.js} +2 -2
- package/dist/cli/chunks/{status-handler-264CHTWS.js → status-handler-G72ZSLAX.js} +2 -2
- package/dist/cli/chunks/{structural-health-E2QPUOZE.js → structural-health-HYBGP4BD.js} +2 -2
- package/dist/cli/chunks/{sync-N2L2OST4.js → sync-5YMZZIF4.js} +2 -2
- package/dist/cli/chunks/{sync-2ACMWM7D.js → sync-O5FQAHT7.js} +2 -2
- package/dist/cli/chunks/{task-handler-IB5CVOTY.js → task-handler-E6IFNHZG.js} +2 -2
- package/dist/cli/chunks/{task-handlers-QBMYNJHE.js → task-handlers-P3GC2L5L.js} +3 -3
- package/dist/cli/chunks/{test-7RGLRDSP.js → test-OU6ERW67.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-RJABJT2W.js → test-scheduling-3HY4I3HY.js} +7 -7
- package/dist/cli/chunks/{token-bootstrap-JVHMHB72.js → token-bootstrap-A5QA4CWK.js} +2 -2
- package/dist/cli/chunks/{token-usage-3ECHQVCY.js → token-usage-MUNQVPFT.js} +2 -2
- package/dist/cli/chunks/{transformers-KJH3IJWI.js → transformers-IEO25W5V.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-XN6PFI32.js → tree-sitter-wasm-parser-T2EQHEAY.js} +2 -2
- package/dist/cli/chunks/{types-5BAPXOLS.js → types-ODCPGCID.js} +2 -2
- package/dist/cli/chunks/unified-memory-B5IA2KKQ.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-YF74LL3Z.js +2 -0
- package/dist/cli/chunks/unified-persistence-VZMGNGWY.js +2 -0
- package/dist/cli/chunks/{upgrade-S5NFQZID.js → upgrade-4DN6EIW2.js} +2 -2
- package/dist/cli/chunks/{validate-BIBWOLJD.js → validate-TBNAPDE3.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-WAA3LBHH.js → validate-swarm-ZN7XXUY4.js} +2 -2
- package/dist/cli/chunks/visual-security-ZV3BLLSH.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-OTBQTHAV.js → web-tree-sitter-DWAWVD2X.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-NNQ22EW6.js → windsurf-installer-U6EROS5S.js} +2 -2
- package/dist/cli/chunks/{witness-chain-E7MUBOJW.js → witness-chain-EQEJS2P4.js} +2 -2
- package/dist/cli/chunks/witness-chain-OA24MQWX.js +2 -0
- package/dist/cli/chunks/{witness-chain-repair-FW4QSN4C.js → witness-chain-repair-KBXDRXS3.js} +2 -2
- package/dist/cli/chunks/{witness-chain-verifier-YMROEBVL.js → witness-chain-verifier-HSQGZ4R4.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-4CGRNDMJ.js → witness-key-manager-RAODG73T.js} +2 -2
- package/dist/cli/chunks/{workflow-4VRSTRAN.js → workflow-KNFJNNKG.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-IMX2LSVE.js +2 -0
- package/dist/cli/chunks/{wrappers-4M4UTGEU.js → wrappers-NIJBA22T.js} +2 -2
- package/dist/cli/utils/workflow-parser.js +73 -57
- 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 +17 -15
- package/dist/domains/test-execution/services/retry-handler.js +6 -3
- package/dist/governance/ab-benchmarking.d.ts +5 -1
- package/dist/governance/ab-benchmarking.js +64 -29
- package/dist/mcp/bundle.js +414 -412
- package/dist/mcp/security/rate-limiter.d.ts +1 -0
- package/dist/mcp/security/rate-limiter.js +22 -5
- package/dist/mcp/services/session-store.js +17 -17
- package/dist/mcp/tools/planning/goap-status.d.ts +2 -0
- package/dist/mcp/tools/planning/goap-status.js +8 -2
- package/dist/planning/goap-planner.d.ts +3 -0
- package/dist/planning/goap-planner.js +80 -37
- package/dist/shared/embeddings/embedding-cache.js +1 -1
- package/dist/shared/embeddings/nomic-embedder.js +17 -7
- package/dist/shared/embeddings/ollama-client.js +5 -3
- package/dist/shared/git/git-analyzer.js +31 -30
- package/dist/shared/http/http-client.js +20 -13
- package/dist/shared/io/file-reader.js +11 -8
- package/dist/shared/llm/cache.d.ts +8 -29
- package/dist/shared/llm/cache.js +6 -2
- package/dist/shared/llm/cost-tracker.js +2 -1
- package/dist/shared/llm/provider-manager.js +4 -22
- package/dist/shared/llm/providers/gemini.d.ts +1 -0
- package/dist/shared/llm/providers/gemini.js +14 -5
- package/dist/shared/llm/providers/openrouter.js +6 -3
- package/dist/shared/metrics/code-metrics.js +1 -1
- package/dist/shared/metrics/system-metrics.js +8 -2
- package/dist/shared/retry-engine.js +2 -12
- package/dist/test-scheduling/executors/vitest-executor.js +26 -17
- package/package.json +3 -1
- package/dist/cli/chunks/adapter-XYCOXQCC.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-DTJCROTG.js +0 -2
- package/dist/cli/chunks/base-5TQ34GMD.js +0 -2
- package/dist/cli/chunks/browser-workflow-KWX4ESTJ.js +0 -2
- package/dist/cli/chunks/chunk-7STWD4KJ.js +0 -3
- package/dist/cli/chunks/chunk-PFXCRRR6.js +0 -736
- package/dist/cli/chunks/chunk-U64QORFO.js +0 -2
- package/dist/cli/chunks/client-AJZKCP4I.js +0 -2
- package/dist/cli/chunks/core-handlers-MQHEMGDV.js +0 -2
- package/dist/cli/chunks/cross-domain-router-3QNMZV5R.js +0 -2
- package/dist/cli/chunks/dream-OSWAITPT.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-BVRVVIE2.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-MZTHXULS.js +0 -2
- package/dist/cli/chunks/hnsw-index-KHEX4VDG.js +0 -2
- package/dist/cli/chunks/hybrid-backend-2B3LCLR4.js +0 -2
- package/dist/cli/chunks/impact-analyzer-4R4VWOGQ.js +0 -2
- package/dist/cli/chunks/init-wizard-TAOPXHHD.js +0 -2
- package/dist/cli/chunks/kernel-6I6VZUWY.js +0 -2
- package/dist/cli/chunks/knowledge-graph-KFMTTUR5.js +0 -2
- package/dist/cli/chunks/llm-router-service-2D74XVM3.js +0 -2
- package/dist/cli/chunks/load-test-53FWOWNS.js +0 -2
- package/dist/cli/chunks/memory-backend-KFJDDPEZ.js +0 -2
- package/dist/cli/chunks/pattern-null-store-7DMU5CJ4.js +0 -2
- package/dist/cli/chunks/protocol-executor-2EMTBTMG.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-VZHZZPHE.js +0 -2
- package/dist/cli/chunks/queen-coordinator-7MYTTUHI.js +0 -2
- package/dist/cli/chunks/router-ZD4LXAWA.js +0 -2
- package/dist/cli/chunks/routing-feedback-FSLMDVGD.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-LTKTDRFS.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-IF24EVC5.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-E6JNBKMZ.js +0 -2
- package/dist/cli/chunks/safe-db-F6TRB5KZ.js +0 -2
- package/dist/cli/chunks/schedule-HBD4BYTE.js +0 -2
- package/dist/cli/chunks/scheduler-6FYWPMQC.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-DOU72F5Z.js +0 -2
- package/dist/cli/chunks/unified-memory-GHAYAXWZ.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-CCC63YXT.js +0 -2
- package/dist/cli/chunks/unified-persistence-HKRHI5PG.js +0 -2
- package/dist/cli/chunks/visual-security-APOXJ3Q3.js +0 -2
- package/dist/cli/chunks/witness-chain-7IP5IJGT.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-2HNW5ZMQ.js +0 -2
|
@@ -72,7 +72,7 @@ export class VitestPhaseExecutor {
|
|
|
72
72
|
// Parallelism
|
|
73
73
|
if (phase.parallelism > 0) {
|
|
74
74
|
args.push('--pool', 'threads');
|
|
75
|
-
args.push('--
|
|
75
|
+
args.push('--maxWorkers', String(phase.parallelism));
|
|
76
76
|
}
|
|
77
77
|
// Fail fast
|
|
78
78
|
if (phase.failFast) {
|
|
@@ -326,8 +326,8 @@ export class VitestPhaseExecutor {
|
|
|
326
326
|
const flakyInRun = flakyTests.filter((id) => runTestIds.has(id));
|
|
327
327
|
flakyRatio = totalTests > 0 ? flakyInRun.length / totalTests : 0;
|
|
328
328
|
}
|
|
329
|
-
//
|
|
330
|
-
const coverage =
|
|
329
|
+
// Coverage belongs to this invocation's owned JSON report, not a shared artifact.
|
|
330
|
+
const coverage = this.getCoverageFromReport(vitestResult);
|
|
331
331
|
const success = passRate >= phase.thresholds.minPassRate &&
|
|
332
332
|
flakyRatio <= phase.thresholds.maxFlakyRatio &&
|
|
333
333
|
coverage >= phase.thresholds.minCoverage;
|
|
@@ -347,22 +347,31 @@ export class VitestPhaseExecutor {
|
|
|
347
347
|
flakyTests,
|
|
348
348
|
};
|
|
349
349
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
try {
|
|
353
|
-
const fs = await import('fs/promises');
|
|
354
|
-
const path = await import('path');
|
|
355
|
-
const coverageDir = this.config.coverageDir || 'coverage';
|
|
356
|
-
const coverageFile = path.join(this.config.cwd || process.cwd(), coverageDir, 'coverage-summary.json');
|
|
357
|
-
const content = await fs.readFile(coverageFile, 'utf-8');
|
|
358
|
-
const coverage = safeJsonParse(content);
|
|
359
|
-
// Return line coverage percentage
|
|
360
|
-
return (coverage.total?.lines?.pct ?? 0) / 100;
|
|
361
|
-
}
|
|
362
|
-
catch {
|
|
363
|
-
// Coverage file not available
|
|
350
|
+
getCoverageFromReport(result) {
|
|
351
|
+
if (!result.coverageMap)
|
|
364
352
|
return 0;
|
|
353
|
+
let totalLines = 0;
|
|
354
|
+
let coveredLines = 0;
|
|
355
|
+
for (const file of Object.values(result.coverageMap)) {
|
|
356
|
+
// Istanbul counts each statement's starting line once per file, using
|
|
357
|
+
// the maximum hit count when several statements share that line.
|
|
358
|
+
const lines = new Map();
|
|
359
|
+
for (const [id, hits] of Object.entries(file.s)) {
|
|
360
|
+
const line = file.statementMap[id]?.start.line;
|
|
361
|
+
if (line === undefined)
|
|
362
|
+
continue;
|
|
363
|
+
const previous = lines.get(line);
|
|
364
|
+
if (previous === undefined || previous < hits)
|
|
365
|
+
lines.set(line, hits);
|
|
366
|
+
}
|
|
367
|
+
totalLines += lines.size;
|
|
368
|
+
coveredLines += [...lines.values()].filter(hits => hits > 0).length;
|
|
365
369
|
}
|
|
370
|
+
// Match Istanbul's summary precision; an empty map supplies no coverage evidence.
|
|
371
|
+
if (totalLines === 0)
|
|
372
|
+
return 0;
|
|
373
|
+
const percent = Math.floor((100_000 * coveredLines / totalLines) / 10) / 100;
|
|
374
|
+
return percent / 100;
|
|
366
375
|
}
|
|
367
376
|
createErrorResult(phase, error, durationMs) {
|
|
368
377
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.15.0",
|
|
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",
|
|
@@ -120,6 +120,8 @@
|
|
|
120
120
|
"benchmark:self-learning": "tsx scripts/benchmark-self-learning.ts",
|
|
121
121
|
"benchmark:rabitq": "tsx scripts/benchmark-rabitq.ts",
|
|
122
122
|
"plugin:smoke": "bash plugins/agentic-qe-fleet/scripts/smoke.sh",
|
|
123
|
+
"plugin:sync-version": "node scripts/sync-plugin-versions.cjs",
|
|
124
|
+
"version": "node scripts/sync-plugin-versions.cjs",
|
|
123
125
|
"pretrain:history": "tsx scripts/pretrain-from-history.ts",
|
|
124
126
|
"dev": "node dist/cli/bundle.js",
|
|
125
127
|
"start": "node dist/cli/bundle.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.14.8");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-WVEHKAIH.js";import"./chunk-7TNCEVWX.js";import"./chunk-BFIXUKOR.js";import"./chunk-BITFGVZ4.js";import"./chunk-HPVYJ6JH.js";import"./chunk-XAESN54Q.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.14.8");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-GVLRE3BV.js";import"./chunk-CXUC7YKA.js";import"./chunk-BL6273KR.js";import"./chunk-3S5IIK32.js";import"./chunk-EXQGHTPD.js";import"./chunk-D2Y36V5J.js";import"./chunk-BUVJIVFG.js";import"./chunk-GK5WLUX3.js";import"./chunk-HHANMCD2.js";import"./chunk-M7QKCHLQ.js";import"./chunk-JRLZ7LZ3.js";import"./chunk-AEYJ4ZLA.js";import"./chunk-LTHV4PIG.js";import"./chunk-673XJBGW.js";import"./chunk-ISBOHF6Y.js";import"./chunk-CBWM5NOO.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-3EKG7HFV.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-EKO5QL2B.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-6GJWT2OY.js";import"./chunk-Z5UZOYQS.js";import"./chunk-BOIUENWW.js";import"./chunk-4PY44TKH.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.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.14.8");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-KKXH25IH.js";import"./chunk-XECZYQT5.js";import"./chunk-JQAJUXRE.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-Z5UZOYQS.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-6F7MFHTY.js";import"./chunk-KKXH25IH.js";import"./chunk-XECZYQT5.js";import"./chunk-JQAJUXRE.js";import"./chunk-BZIPW2PA.js";import"./chunk-RTD4U7IW.js";import"./chunk-BITFGVZ4.js";import"./chunk-A5CLVZC3.js";import"./chunk-LQVS5IWH.js";import"./chunk-SVP3BP52.js";import"./chunk-VCSNNLWL.js";import"./chunk-GA63ESNT.js";import"./chunk-VW7AXJQS.js";import"./chunk-OVMG6EEF.js";import"./chunk-UQGIC5OX.js";import"./chunk-T6W2EYHC.js";import"./chunk-U64QORFO.js";import"./chunk-J5HTQHJK.js";import"./chunk-RJJIPTVH.js";import"./chunk-HPVYJ6JH.js";import"./chunk-R6I5I724.js";import"./chunk-Z5UZOYQS.js";import"./chunk-SPS472C5.js";import"./chunk-T7YCNOW5.js";import"./chunk-XAESN54Q.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.8");process.exit(0)}
|
|
2
|
-
import{b as R,d as V}from"./chunk-BITFGVZ4.js";import{a as M}from"./chunk-EKO5QL2B.js";import{a as E,e as U}from"./chunk-HPVYJ6JH.js";import{randomUUID as ee}from"crypto";import*as d from"fs";import*as h from"path";import*as S from"os";import*as k from"fs";var j={"aqe test generate":{domain:"test-generation",action:"generateTests"},"aqe test execute":{domain:"test-execution",action:"execute"},"aqe coverage analyze":{domain:"coverage-analysis",action:"analyze"},"aqe coverage gaps":{domain:"coverage-analysis",action:"detectGaps"},"aqe quality gate":{domain:"quality-assessment",action:"evaluateGate"},"aqe quality assess":{domain:"quality-assessment",action:"analyzeQuality"},"aqe security scan":{domain:"security-compliance",action:"runSASTScan"},"aqe security audit":{domain:"security-compliance",action:"runAudit"},"aqe defect predict":{domain:"defect-intelligence",action:"predictDefects"},"aqe code index":{domain:"code-intelligence",action:"index"},"aqe code impact":{domain:"code-intelligence",action:"analyzeImpact"},"aqe contract validate":{domain:"contract-testing",action:"validateContract"},"aqe chaos test":{domain:"chaos-resilience",action:"runChaosTest"},"aqe requirements validate":{domain:"requirements-validation",action:"validateRequirements"},"aqe visual test":{domain:"visual-accessibility",action:"runVisualTest"},"aqe accessibility test":{domain:"visual-accessibility",action:"runAccessibilityTest"},"aqe learn optimize":{domain:"learning-optimization",action:"optimizeAllStrategies"}},F={daily:"0 0 * * *",weekly:"0 0 * * 0",hourly:"0 * * * *",minutely:"* * * * *"},I=1e4,T=20,C=1e4,H=["__proto__","constructor","prototype"];function x(n){return!H.includes(n)}function K(n){let e=n.split(`
|
|
3
|
-
`);if(e.length>I)throw new Error(`YAML content exceeds maximum allowed lines (${I}). File has ${e.length} lines.`);for(let i=0;i<e.length;i++)if(e[i].length>C)throw new Error(`YAML line ${i+1} exceeds maximum allowed length (${C} characters).`);let r={};for(let i=0;i<e.length;i++){let s=e[i];if(s.trim()===""||s.trim().startsWith("#")||s.search(/\S/)!==0)continue;let a=s.match(/^([\w_-]+):\s*(.+)$/);if(a){let[,c,l]=a;x(c)&&(r[c]=g(l))}}let t=["tags","stages","triggers"];for(let i of t){let s=new RegExp(`^${i}:\\s*$`),o=-1;for(let u=0;u<e.length;u++){let m=e[u];if(!(m.trim()===""||m.trim().startsWith("#"))&&s.test(m.trim())){o=u;break}}if(o===-1)continue;let a=[];r[i]=a;let c=e[o].search(/\S/),l=o+1;for(;l<e.length;){let u=e[l];if(u.trim()===""||u.trim().startsWith("#")){l++;continue}let m=u.search(/\S/),y=u.trim();if(m<=c&&!y.startsWith("-"))break;if(y.startsWith("- ")){let f=y.slice(2).trim();if(!f.includes(":")){a.push(g(f)),l++;continue}let p={},$=f.match(/^([\w_-]+):\s*(.*)$/);if($){let[,w,v]=$;p[w]=g(v)}let z=m;for(l++;l<e.length;){let w=e[l];if(w.trim()===""||w.trim().startsWith("#")){l++;continue}let v=w.search(/\S/),N=w.trim();if(v<=z)break;let A=N.match(/^([\w_-]+):\s*(.*)$/);if(A){let[,L,_]=A;if(_===""){let D=G(e,l+1,v,1);p[L]=D.value,l=D.nextLine;continue}else p[L]=g(_)}l++}a.push(p)}else l++}}return r}function G(n,e,r,t=0){if(t>T)throw new Error(`YAML nesting exceeds maximum allowed depth (${T}).`);let i={},s=null,o=null,a=e;for(;a<n.length;){let l=n[a];if(l.trim()===""||l.trim().startsWith("#")){a++;continue}let u=l.search(/\S/),m=l.trim();if(u<=r)break;if(m.startsWith("- ")){let f=m.slice(2).trim();o&&!Array.isArray(i[o])&&(i[o]=[]),o?i[o].push(g(f)):(s||(s=[]),s.push(g(f))),a++;continue}let y=m.match(/^([\w_-]+):\s*(.*)$/);if(y){let[,f,p]=y;if(!x(f)){a++;continue}p===""?(o=f,i[f]=[]):(i[f]=g(p),o=null)}a++}if(s&&Object.keys(i).length===0)return{value:s,nextLine:a};let c=Object.keys(i);return c.length===1&&Array.isArray(i[c[0]])?{value:i[c[0]],nextLine:a}:{value:i,nextLine:a}}function g(n){if(n==="")return"";if(n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"))return n.slice(1,-1);if(n==="true")return!0;if(n==="false")return!1;if(n==="null"||n==="~")return null;let e=Number(n);return!isNaN(e)&&n!==""?e:n.startsWith("[")&&n.endsWith("]")?n.slice(1,-1).split(",").map(t=>g(t.trim())):n}function le(n){let e=[];if(!k.existsSync(n))return{success:!1,errors:[`File not found: ${n}`]};let r;try{r=k.readFileSync(n,"utf-8")}catch(t){return{success:!1,errors:[`Failed to read file: ${t}`]}}return B(r,n)}function B(n,e){let r=[],t;try{t=K(n)}catch(o){return{success:!1,errors:[`Invalid YAML syntax: ${o}`]}}if((!t.name||typeof t.name!="string")&&r.push('Pipeline must have a "name" field'),(!t.stages||!Array.isArray(t.stages))&&r.push('Pipeline must have a "stages" array'),r.length>0)return{success:!1,errors:r};let i={name:t.name,description:t.description,version:t.version||"1.0.0",schedule:t.schedule,stages:t.stages.map((o,a)=>{let c=o;return{name:c.name||`stage-${a}`,command:c.command,params:c.params,depends_on:c.depends_on,condition:c.condition,timeout:c.timeout,retry:c.retry,continue_on_failure:c.continue_on_failure}}),triggers:t.triggers,tags:t.tags,timeout:t.timeout};for(let o=0;o<i.stages.length;o++){let a=i.stages[o];a.command||r.push(`Stage ${o+1} (${a.name}) must have a "command" field`)}if(r.length>0)return{success:!1,pipeline:i,errors:r};let s=X(i,e);return{success:!0,pipeline:i,workflow:s,errors:[]}}function X(n,e){let r=`pipeline-${n.name.replace(/\s+/g,"-").toLowerCase()}`,t=n.stages.map((s,o)=>{let a=q(s.command),c={};if(s.params)for(let[u,m]of Object.entries(s.params))x(u)&&(c[u]=`input.${u}`);let l={id:`stage-${s.name.replace(/\s+/g,"-").toLowerCase()}`,name:s.name,domain:a.domain,action:a.action,inputMapping:Object.keys(c).length>0?c:void 0,dependsOn:s.depends_on?.map(u=>`stage-${u.replace(/\s+/g,"-").toLowerCase()}`),timeout:s.timeout?s.timeout*1e3:void 0,continueOnFailure:s.continue_on_failure};return s.condition&&(l.condition={path:s.condition.path,operator:s.condition.operator,value:s.condition.value}),s.retry&&(l.retry={maxAttempts:s.retry.max_attempts||3,backoffMs:(s.retry.backoff_seconds||1)*1e3}),l}),i=n.triggers?.map(s=>{let o={eventType:J(s),sourceDomain:s.source_domain};return s.condition&&(o.condition={path:s.condition.path,operator:s.condition.operator,value:s.condition.value}),o});return{id:r,name:n.name,description:n.description||`Pipeline from ${e||"inline YAML"}`,version:n.version||"1.0.0",steps:t,triggers:i,tags:n.tags,timeout:n.timeout?n.timeout*1e3:void 0}}function q(n){let e=n.trim().replace(/\s+/g," ").toLowerCase();for(let[r,t]of Object.entries(j))if(e.startsWith(r.toLowerCase()))return t;return e.includes("test")&&e.includes("generate")?{domain:"test-generation",action:"generateTests"}:e.includes("test")&&(e.includes("execute")||e.includes("run"))?{domain:"test-execution",action:"execute"}:e.includes("coverage")?{domain:"coverage-analysis",action:"analyze"}:e.includes("quality")||e.includes("gate")?{domain:"quality-assessment",action:"evaluateGate"}:e.includes("security")||e.includes("scan")?{domain:"security-compliance",action:"runSASTScan"}:e.includes("defect")||e.includes("predict")?{domain:"defect-intelligence",action:"predictDefects"}:{domain:"learning-optimization",action:"runLearningCycle"}}function J(n){let e=n.event.toLowerCase();return e==="push"?"code-intelligence.CodePushed":e==="pull_request"||e==="pr"?"code-intelligence.PullRequestOpened":e==="schedule"?"workflow.ScheduleTrigger":e==="quality_gate"?"quality-assessment.QualityGateEvaluated":e==="test_complete"?"test-execution.TestRunCompleted":e}function de(n){let e=[],r=[];if(n.name||e.push({path:"name",message:"Pipeline name is required",severity:"error"}),!n.stages||n.stages.length===0)e.push({path:"stages",message:"Pipeline must have at least one stage",severity:"error"});else{let t=new Set;for(let s=0;s<n.stages.length;s++){let o=n.stages[s],a=`stages[${s}]`;if(t.has(o.name)&&e.push({path:`${a}.name`,message:`Duplicate stage name: ${o.name}`,severity:"error"}),t.add(o.name),o.command?q(o.command).domain==="learning-optimization"&&!o.command.toLowerCase().includes("learn")&&r.push({path:`${a}.command`,message:`Command "${o.command}" not recognized, will default to learning-optimization domain`,severity:"warning"}):e.push({path:`${a}.command`,message:"Stage must have a command",severity:"error"}),o.depends_on)for(let c of o.depends_on)n.stages.some(l=>l.name===c)||e.push({path:`${a}.depends_on`,message:`Unknown dependency: ${c}`,severity:"error"});o.timeout!==void 0&&o.timeout<=0&&e.push({path:`${a}.timeout`,message:"Timeout must be a positive number",severity:"error"}),o.retry&&o.retry.max_attempts!==void 0&&o.retry.max_attempts<1&&e.push({path:`${a}.retry.max_attempts`,message:"max_attempts must be at least 1",severity:"error"})}let i=Q(n.stages);i&&e.push({path:"stages",message:`Circular dependency detected: ${i}`,severity:"error"})}if(n.schedule&&(Z(n.schedule)||e.push({path:"schedule",message:`Invalid cron expression: ${n.schedule}`,severity:"error"})),n.triggers)for(let t=0;t<n.triggers.length;t++){let i=n.triggers[t],s=`triggers[${t}]`;i.event||e.push({path:`${s}.event`,message:"Trigger must have an event type",severity:"error"}),i.source_domain&&!M.includes(i.source_domain)&&r.push({path:`${s}.source_domain`,message:`Unknown domain: ${i.source_domain}`,severity:"warning"})}return{valid:e.length===0,errors:e,warnings:r}}function Q(n){let e=new Set,r=new Set,t=(i,s)=>{if(r.has(i))return[...s,i].join(" -> ");if(e.has(i))return null;e.add(i),r.add(i);let o=n.find(a=>a.name===i);if(o?.depends_on)for(let a of o.depends_on){let c=t(a,[...s,i]);if(c)return c}return r.delete(i),null};for(let i of n){let s=t(i.name,[]);if(s)return s}return null}function Z(n){if(Object.keys(F).includes(n))return!0;let e=n.trim().split(/\s+/);if(e.length!==5)return!1;let r=[/^(\*|[0-5]?\d)(-[0-5]?\d)?(\/\d+)?$/,/^(\*|1?\d|2[0-3])(-\d+)?(\/\d+)?$/,/^(\*|[1-9]|[12]\d|3[01])(-\d+)?(\/\d+)?$/,/^(\*|[1-9]|1[0-2])(-\d+)?(\/\d+)?$/,/^(\*|[0-7])(-[0-7])?(\/\d+)?$/];for(let t=0;t<5;t++){let i=e[t].split(",");for(let s of i)if(!r[t].test(s)&&s!=="*")return!1}return!0}function ue(n){let e={"@daily":"Daily at midnight","@weekly":"Weekly on Sunday at midnight","@hourly":"Every hour","@minutely":"Every minute"};if(e[n])return e[n];if(Object.keys(F).includes(n))return{daily:"Daily at midnight",weekly:"Weekly on Sunday at midnight",hourly:"Every hour",minutely:"Every minute"}[n]||n;let r=n.trim().split(/\s+/);if(r.length!==5)return n;let[t,i,s,o,a]=r;return t==="0"&&i==="0"&&s==="*"&&o==="*"&&a==="*"?"Daily at midnight":t==="0"&&s==="*"&&o==="*"&&a==="*"?`Daily at ${i}:00`:t!=="*"&&i!=="*"&&s==="*"&&o==="*"?`Daily at ${i}:${t.padStart(2,"0")}`:i==="*"&&t==="0"?"Every hour":t!=="*"&&i==="*"?`Every hour at minute ${t}`:n}function P(n,e=new Date){let r=n.trim().split(/\s+/);if(r.length!==5)return new Date(e.getTime()+1440*60*1e3);let[t,i]=r,s=new Date(e);return i!=="*"&&t!=="*"?(s.setHours(parseInt(i,10),parseInt(t,10),0,0),s<=e&&s.setDate(s.getDate()+1)):i!=="*"?(s.setHours(parseInt(i,10),0,0,0),s<=e&&s.setDate(s.getDate()+1)):t!=="*"?(s.setMinutes(parseInt(t,10),0,0),s<=e&&s.setHours(s.getHours()+1)):(s.setSeconds(0,0),s.setMinutes(s.getMinutes()+1)),s}V();U();var te=".aqe",ne="schedules.json",ie="1.0.0",O=5e3,se=50,W=10*1024*1024,b=class{schedulesPath;debug;lockFile;initialized=!1;constructor(e={}){e.schedulesPath&&this.validateSchedulesPath(e.schedulesPath),this.schedulesPath=e.schedulesPath??this.getDefaultSchedulesPath(),this.lockFile=`${this.schedulesPath}.lock`,this.debug=e.debug??!1}validateSchedulesPath(e){let r=S.homedir(),t=h.resolve(e),i=h.resolve(r);if(t.startsWith(i+h.sep)||t===i)return;let s=process.cwd(),o=h.resolve(s);if(t.startsWith(o+h.sep)||t===o)return;let a=S.tmpdir(),c=h.resolve(a);if(!(t.startsWith(c+h.sep)||t===c))throw new Error(`Security: Custom schedulesPath must be within home directory (${r}), current working directory (${s}), or temp directory (${a}). Provided path: ${e}`)}getDefaultSchedulesPath(){let e=S.homedir();return h.join(e,te,ne)}async initialize(){if(this.initialized)return;let e=h.dirname(this.schedulesPath);d.existsSync(e)||(d.mkdirSync(e,{recursive:!0}),this.log(`Created directory: ${e}`)),this.initialized=!0}async loadSchedules(){if(await this.initialize(),!d.existsSync(this.schedulesPath))return this.log("Schedules file does not exist, returning empty array"),[];try{let e=d.readFileSync(this.schedulesPath,"utf-8"),r=this.parseSchedulesFile(e);return this.log(`Loaded ${r.schedules.length} schedules`),r.schedules}catch(e){return await this.handleCorruptFile(e),[]}}async saveSchedule(e){await this.initialize(),await this.withFileLock(async()=>{let r=await this.loadSchedulesUnsafe(),t=r.findIndex(i=>i.id===e.id);t>=0?(r[t]=e,this.log(`Updated schedule: ${e.id}`)):(r.push(e),this.log(`Added schedule: ${e.id}`)),await this.writeSchedules(r)})}async removeSchedule(e){await this.initialize(),await this.withFileLock(async()=>{let r=await this.loadSchedulesUnsafe(),t=r.filter(i=>i.id!==e);if(t.length===r.length){this.log(`Schedule not found: ${e}`);return}await this.writeSchedules(t),this.log(`Removed schedule: ${e}`)})}async getSchedules(){return this.loadSchedules()}async getSchedule(e){return(await this.loadSchedules()).find(t=>t.id===e)}async getDueSchedules(){let e=await this.loadSchedules(),r=new Date;return e.filter(t=>t.enabled?new Date(t.nextRun)<=r:!1)}async markExecuted(e){await this.initialize(),await this.withFileLock(async()=>{let r=await this.loadSchedulesUnsafe(),t=r.find(s=>s.id===e);if(!t)throw new Error(`Schedule not found: ${e}`);let i=new Date;t.lastRun=i.toISOString(),t.nextRun=P(t.schedule,i).toISOString(),await this.writeSchedules(r),this.log(`Marked executed: ${e}, next run: ${t.nextRun}`)})}async setEnabled(e,r){await this.initialize(),await this.withFileLock(async()=>{let t=await this.loadSchedulesUnsafe(),i=t.find(s=>s.id===e);if(!i)throw new Error(`Schedule not found: ${e}`);i.enabled=r,r&&(i.nextRun=P(i.schedule,new Date).toISOString()),await this.writeSchedules(t),this.log(`Set enabled=${r}: ${e}`)})}async getEnabledSchedules(){return(await this.loadSchedules()).filter(r=>r.enabled)}async getSchedulesByWorkflow(e){return(await this.loadSchedules()).filter(t=>t.workflowId===e)}async clearAll(){await this.initialize(),await this.withFileLock(async()=>{await this.writeSchedules([]),this.log("Cleared all schedules")})}async getStats(){let e=await this.loadSchedules(),r=new Date;return{total:e.length,enabled:e.filter(t=>t.enabled).length,disabled:e.filter(t=>!t.enabled).length,due:e.filter(t=>t.enabled&&new Date(t.nextRun)<=r).length}}async loadSchedulesUnsafe(){if(!d.existsSync(this.schedulesPath))return[];try{let e=d.readFileSync(this.schedulesPath,"utf-8");return this.parseSchedulesFile(e).schedules}catch{return[]}}parseSchedulesFile(e){let r=Buffer.byteLength(e,"utf-8");if(r>W)throw new Error(`Schedules file exceeds maximum allowed size (${W/(1024*1024)}MB). File is ${(r/(1024*1024)).toFixed(2)}MB.`);let t=R(e);if(!t.schedules||!Array.isArray(t.schedules))throw new Error("Invalid schedules file: missing schedules array");for(let i of t.schedules)if(!i.id||!i.workflowId||!i.schedule)throw new Error("Invalid schedule entry: missing required fields");return t}async writeSchedules(e){let r={version:ie,updatedAt:new Date().toISOString(),schedules:e},t=JSON.stringify(r,null,2);d.writeFileSync(this.schedulesPath,t,"utf-8"),this.log(`Wrote ${e.length} schedules to disk`)}async handleCorruptFile(e){let r=E(e);this.log(`Corrupt schedules file detected: ${r}`);let t=`${this.schedulesPath}.corrupt.${Date.now()}`;try{d.existsSync(this.schedulesPath)&&(d.copyFileSync(this.schedulesPath,t),this.log(`Backed up corrupt file to: ${t}`))}catch(i){this.log(`Failed to backup corrupt file: ${i}`)}try{d.existsSync(this.schedulesPath)&&(d.unlinkSync(this.schedulesPath),this.log("Removed corrupt schedules file"))}catch(i){this.log(`Failed to remove corrupt file: ${i}`)}}async withFileLock(e){await this.acquireLock();try{return await e()}finally{this.releaseLock()}}async acquireLock(){let e=Date.now();for(;d.existsSync(this.lockFile);){try{let r=d.statSync(this.lockFile);if(Date.now()-r.mtimeMs>O){d.unlinkSync(this.lockFile),this.log("Removed stale lock file");break}}catch{break}if(Date.now()-e>O)throw new Error("Timeout waiting for scheduler lock");await this.sleep(se)}try{d.writeFileSync(this.lockFile,`${process.pid}:${Date.now()}`,{flag:"wx"})}catch(r){if(r.code==="EEXIST")return this.acquireLock();throw r}}releaseLock(){try{d.existsSync(this.lockFile)&&d.unlinkSync(this.lockFile)}catch(e){console.debug("[PersistentScheduler] Lock release error:",e instanceof Error?e.message:e)}}sleep(e){return new Promise(r=>setTimeout(r,e))}log(e){this.debug&&console.log(`[PersistentScheduler] ${e}`)}};function re(n={}){return new b(n)}function Y(){let n=Date.now().toString(36),e=ee().slice(0,8);return`sched-${n}-${e}`}function oe(n){let e=new Date;return{id:Y(),workflowId:n.workflowId,pipelinePath:n.pipelinePath,schedule:n.schedule,scheduleDescription:n.scheduleDescription,nextRun:P(n.schedule,e).toISOString(),enabled:n.enabled??!0,createdAt:e.toISOString()}}export{le as a,de as b,ue as c,b as d,re as e,Y as f,oe as g};
|