agentic-qe 3.15.8 → 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 +434 -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/agents/claim-verifier/claim-verifier-service.js +13 -8
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/bridge/captured-experience-bridge.js +12 -13
- 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-2NQFHAWE.js → agent-handler-SVXSHEET.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-457ECHHK.js → agent-memory-branch-WKQH36XL.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-DXWKCHY2.js +2 -0
- package/dist/cli/chunks/{arena-JV3WSEHU.js → arena-EKOOFVST.js} +2 -2
- package/dist/cli/chunks/{arena-IYBQ3GPY.js → arena-OPS36NFZ.js} +4 -4
- package/dist/cli/chunks/{audit-5OS3T3K6.js → audit-AO5NDZRI.js} +3 -3
- package/dist/cli/chunks/base-GTB6POYE.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-IQKBFVAO.js → better-sqlite3-TFLVEMMY.js} +2 -2
- package/dist/cli/chunks/{brain-handler-KA3SGAFM.js → brain-handler-ADBBJPYW.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-QZDU2VOQ.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-CRUQ6RXU.js → chunk-2SXBBUM6.js} +2 -2
- package/dist/cli/chunks/{chunk-4GUVVGJX.js → chunk-2T7RRL6G.js} +1 -1
- package/dist/cli/chunks/{chunk-OJWEZYLR.js → chunk-2XGVTYVX.js} +2 -2
- package/dist/cli/chunks/{chunk-LVHZK7GW.js → chunk-2ZI5FKSF.js} +2 -2
- package/dist/cli/chunks/chunk-2ZMF4NCF.js +4 -0
- package/dist/cli/chunks/{chunk-62T7U25U.js → chunk-37OWRCUN.js} +1 -1
- package/dist/cli/chunks/{chunk-UQLAN5TX.js → chunk-3P34JFQH.js} +5 -5
- package/dist/cli/chunks/{chunk-UDCYQLTD.js → chunk-3Y7SPD72.js} +2 -2
- package/dist/cli/chunks/{chunk-PPIM7B5G.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-4TZLZRZ4.js → chunk-5LPYV3TK.js} +1 -1
- package/dist/cli/chunks/{chunk-YUP3APSN.js → chunk-62OAY5KJ.js} +1 -1
- package/dist/cli/chunks/{chunk-VQRBBR27.js → chunk-6C3II5OM.js} +2 -2
- package/dist/cli/chunks/{chunk-RG42LDOB.js → chunk-6GP6W46M.js} +2 -2
- package/dist/cli/chunks/{chunk-KMZW2P3R.js → chunk-6KIL6CMD.js} +2 -2
- package/dist/cli/chunks/{chunk-UKKFZJME.js → chunk-6MVVSSID.js} +1 -1
- package/dist/cli/chunks/{chunk-VVK4ECVJ.js → chunk-6P7424AO.js} +2 -2
- package/dist/cli/chunks/{chunk-A2UGPKCS.js → chunk-6PX4OXQO.js} +2 -2
- package/dist/cli/chunks/{chunk-JLTGO5BB.js → chunk-6S3WJGUV.js} +2 -2
- package/dist/cli/chunks/{chunk-GSOK4M6V.js → chunk-6TB6YOCZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VWRNG3UK.js → chunk-6X5DHU6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-5YOO5QSE.js → chunk-6XCMKIZN.js} +1 -1
- package/dist/cli/chunks/{chunk-4C3RYBTT.js → chunk-7LFZ4CHM.js} +2 -2
- package/dist/cli/chunks/{chunk-O4RRVTXN.js → chunk-7OZVZIBE.js} +2 -2
- package/dist/cli/chunks/{chunk-2JCLACCS.js → chunk-7PJIR4ST.js} +2 -2
- package/dist/cli/chunks/{chunk-NWFBF3KT.js → chunk-7TB6FK4B.js} +1 -1
- package/dist/cli/chunks/{chunk-FJAO4UX2.js → chunk-7ZCDZHDB.js} +2 -2
- package/dist/cli/chunks/chunk-A55QKKT2.js +2 -0
- package/dist/cli/chunks/{chunk-ZOVAZTXE.js → chunk-ABFFWZPC.js} +273 -278
- package/dist/cli/chunks/{chunk-FWXNFPLS.js → chunk-ACWFKES2.js} +2 -2
- package/dist/cli/chunks/{chunk-IJSFZO7P.js → chunk-AH3ZD3NJ.js} +2 -2
- package/dist/cli/chunks/{chunk-7SLEUVPZ.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-2GSAAUW3.js → chunk-B6LTH6YV.js} +2 -2
- package/dist/cli/chunks/chunk-BQUAE3CP.js +3 -0
- package/dist/cli/chunks/{chunk-7XGM7Q2N.js → chunk-C522H7XR.js} +54 -33
- package/dist/cli/chunks/{chunk-7DHSHD5B.js → chunk-CESIR27V.js} +2 -2
- package/dist/cli/chunks/{chunk-V7VZSNDK.js → chunk-CFBEBXLO.js} +3 -3
- package/dist/cli/chunks/{chunk-NZATJ2C6.js → chunk-CMBLM26R.js} +2 -2
- package/dist/cli/chunks/{chunk-7CVMT64N.js → chunk-CZ2IF6MC.js} +1 -1
- package/dist/cli/chunks/{chunk-YVWMJZ6O.js → chunk-CZGOSJQ4.js} +2 -2
- package/dist/cli/chunks/{chunk-TMNEK7TP.js → chunk-D6DA2KFD.js} +2 -2
- package/dist/cli/chunks/{chunk-UTNKMPTC.js → chunk-DBMNJSBV.js} +1 -1
- package/dist/cli/chunks/{chunk-JFWQFB3S.js → chunk-DE4YJQJF.js} +2 -2
- package/dist/cli/chunks/{chunk-767SR7WH.js → chunk-DEF34AFL.js} +2 -2
- package/dist/cli/chunks/{chunk-ZWMFKZEQ.js → chunk-DKAC3E3B.js} +2 -2
- package/dist/cli/chunks/{chunk-CDLG3Q2O.js → chunk-DMFTELBS.js} +2 -2
- package/dist/cli/chunks/{chunk-P4UT4LBE.js → chunk-DNRWGATA.js} +10 -10
- package/dist/cli/chunks/{chunk-PUYQ6EKC.js → chunk-DT7SIJOA.js} +2 -2
- package/dist/cli/chunks/{chunk-ST7ASEJO.js → chunk-DURHK377.js} +69 -69
- package/dist/cli/chunks/{chunk-V4QJ3MMT.js → chunk-EAU5KDFO.js} +1 -1
- package/dist/cli/chunks/{chunk-BLZEOGQE.js → chunk-EDLFX4ZB.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBI7PJFX.js → chunk-EN2QSKFF.js} +2 -2
- package/dist/cli/chunks/{chunk-U7CIY3YR.js → chunk-ERQKYIP7.js} +2 -2
- package/dist/cli/chunks/{chunk-X7ZQIFES.js → chunk-ESUO3GTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-SHEVM5PF.js → chunk-EWFECZ2U.js} +2 -2
- package/dist/cli/chunks/{chunk-JWPYMRIX.js → chunk-FAUCT5KR.js} +3 -3
- package/dist/cli/chunks/{chunk-KMVFBYJO.js → chunk-FB6TI3BH.js} +2 -2
- package/dist/cli/chunks/{chunk-22DOS3PM.js → chunk-FBXTQNRH.js} +2 -2
- package/dist/cli/chunks/{chunk-W5A36V3Z.js → chunk-FESZBPUB.js} +2 -2
- package/dist/cli/chunks/chunk-FFTPAWM6.js +141 -0
- package/dist/cli/chunks/{chunk-VWSGWYRB.js → chunk-FKL3R5JQ.js} +2 -2
- package/dist/cli/chunks/{chunk-2DPHFCMW.js → chunk-FPUDRSFJ.js} +2 -2
- package/dist/cli/chunks/{chunk-VKFVJCIH.js → chunk-FZOWULMH.js} +1 -1
- package/dist/cli/chunks/{chunk-HXCGV5UJ.js → chunk-G3CZCUPM.js} +2 -2
- package/dist/cli/chunks/{chunk-GENNJRNK.js → chunk-G5I6KGMW.js} +22 -22
- package/dist/cli/chunks/{chunk-J7FLNP5L.js → chunk-GHBNRMSJ.js} +2 -2
- package/dist/cli/chunks/{chunk-I77D65X5.js → chunk-GJHWY3ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-DKFSCJEF.js → chunk-GJMLK5UT.js} +2 -2
- package/dist/cli/chunks/{chunk-52YRSWPS.js → chunk-GRCIBCJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-NW7HTOSN.js → chunk-GWZZ7DAO.js} +2 -2
- package/dist/cli/chunks/{chunk-D4IBIMWI.js → chunk-GZLZCZ42.js} +2 -2
- package/dist/cli/chunks/{chunk-FEN2DHFM.js → chunk-H2PYU7MN.js} +1 -1
- package/dist/cli/chunks/{chunk-4I35ARWW.js → chunk-H32EPIR2.js} +1 -1
- package/dist/cli/chunks/{chunk-MUDBF2JC.js → chunk-H74Q7TJN.js} +1 -1
- package/dist/cli/chunks/chunk-HOZUDE4C.js +2 -0
- package/dist/cli/chunks/{chunk-MMY52Y6R.js → chunk-I33O4BRQ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG7UKWBB.js → chunk-IKISCIGH.js} +2 -2
- package/dist/cli/chunks/{chunk-SFPGLUXS.js → chunk-IPJ7Q3AJ.js} +1 -1
- package/dist/cli/chunks/{chunk-2ZRNXEVI.js → chunk-IU2IV4NE.js} +1 -1
- package/dist/cli/chunks/{chunk-XOOBLZXR.js → chunk-JHIY4VCC.js} +2 -2
- package/dist/cli/chunks/{chunk-PJGQ2TKN.js → chunk-KG336OV3.js} +2 -2
- package/dist/cli/chunks/{chunk-YRH7KMTU.js → chunk-KI73QCR5.js} +2 -2
- package/dist/cli/chunks/{chunk-FAYXES7R.js → chunk-KNQ2ERFX.js} +2 -2
- package/dist/cli/chunks/{chunk-CQ3SBRDP.js → chunk-KOBVYY6H.js} +2 -2
- package/dist/cli/chunks/{chunk-3N627QRU.js → chunk-KSIWGGJI.js} +8 -8
- package/dist/cli/chunks/{chunk-2UN4JOTN.js → chunk-LMS3Y7JD.js} +2 -2
- package/dist/cli/chunks/{chunk-RSMPJWQH.js → chunk-LQEURY7C.js} +1 -1
- package/dist/cli/chunks/{chunk-NQDYOF35.js → chunk-LRZY4KS2.js} +2 -2
- package/dist/cli/chunks/{chunk-U3BWBP6B.js → chunk-M2QV7PT7.js} +2 -2
- package/dist/cli/chunks/{chunk-WLXGUQOZ.js → chunk-MA7JIQ6U.js} +2 -2
- package/dist/cli/chunks/{chunk-Y5ZBF7MA.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-DCYUHCPK.js → chunk-NGKNYIQZ.js} +1 -1
- package/dist/cli/chunks/chunk-NNFZUTDH.js +2 -0
- package/dist/cli/chunks/{chunk-UTFMMZ57.js → chunk-NPPHWFA2.js} +3 -3
- package/dist/cli/chunks/chunk-NSHU347M.js +2 -0
- package/dist/cli/chunks/{chunk-NF63NHJH.js → chunk-NVYIZCSR.js} +2 -2
- package/dist/cli/chunks/{chunk-YNQPHRUZ.js → chunk-NW5JUCCG.js} +1 -1
- package/dist/cli/chunks/{chunk-G6CLO74Q.js → chunk-NZYLNXT6.js} +3 -3
- package/dist/cli/chunks/{chunk-R2NHGESM.js → chunk-OBAREPDC.js} +2 -2
- package/dist/cli/chunks/{chunk-X3HM7SV4.js → chunk-ODJNUMV3.js} +2 -2
- package/dist/cli/chunks/{chunk-OCLAMZJG.js → chunk-OEKP73MC.js} +2 -2
- package/dist/cli/chunks/{chunk-5MBNRTT5.js → chunk-OPFGRS5S.js} +2 -2
- package/dist/cli/chunks/{chunk-K5R3WUJP.js → chunk-OY2AHLSF.js} +1 -1
- package/dist/cli/chunks/{chunk-KJNUETCB.js → chunk-OY3NJNP2.js} +1 -1
- package/dist/cli/chunks/{chunk-P2EA62YS.js → chunk-PCEW6Q2C.js} +1 -1
- package/dist/cli/chunks/{chunk-HNGNRIZZ.js → chunk-PFG6VQ5Z.js} +2 -2
- package/dist/cli/chunks/{chunk-DN3AKAPY.js → chunk-PGYMKGOE.js} +2 -2
- package/dist/cli/chunks/{chunk-BEVWCF3Q.js → chunk-PPSAMXYN.js} +3 -3
- package/dist/cli/chunks/chunk-RK73HB2F.js +2 -0
- package/dist/cli/chunks/{chunk-6E7EOHMN.js → chunk-RPHY2DU6.js} +2 -2
- package/dist/cli/chunks/{chunk-7C6FMLQR.js → chunk-RWWOHCMG.js} +25 -20
- package/dist/cli/chunks/{chunk-5ONJ7AV6.js → chunk-S75EYIJG.js} +1 -1
- package/dist/cli/chunks/chunk-SKQUUE4F.js +5 -0
- package/dist/cli/chunks/chunk-SO45NA4D.js +180 -0
- package/dist/cli/chunks/{chunk-SWY6KGMF.js → chunk-SU5H66SD.js} +2 -2
- package/dist/cli/chunks/{chunk-ZOHS32SI.js → chunk-SY2IB442.js} +2 -2
- package/dist/cli/chunks/{chunk-MV4S3TEC.js → chunk-TBLI254A.js} +2 -2
- package/dist/cli/chunks/{chunk-5DZDLOY6.js → chunk-TNMBRDCA.js} +3 -3
- package/dist/cli/chunks/{chunk-FEPFXXI7.js → chunk-TYFZXDGZ.js} +2 -2
- package/dist/cli/chunks/{chunk-A6GCO6ZU.js → chunk-U4OICXV2.js} +2 -2
- package/dist/cli/chunks/{chunk-G77Q22EN.js → chunk-U53ZB4IX.js} +2 -2
- package/dist/cli/chunks/chunk-UARKIZAS.js +2 -0
- package/dist/cli/chunks/{chunk-6GIC2263.js → chunk-UCJMVXO4.js} +2 -2
- package/dist/cli/chunks/{chunk-DAFMHM64.js → chunk-UHTTW3IT.js} +2 -2
- package/dist/cli/chunks/{chunk-2QRGIEQV.js → chunk-V2M2XCR5.js} +1 -1
- package/dist/cli/chunks/{chunk-XZQVC3GD.js → chunk-V2RSNVMW.js} +1 -1
- package/dist/cli/chunks/{chunk-GGSTLKY5.js → chunk-V6JBOIMX.js} +1 -1
- package/dist/cli/chunks/{chunk-BTMEOZYY.js → chunk-VFKF2XO7.js} +1 -1
- package/dist/cli/chunks/{chunk-4C7KE2EL.js → chunk-VFSYMOAL.js} +2 -2
- package/dist/cli/chunks/{chunk-D4O3TJI7.js → chunk-VJQYDYAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-PZ7FJ4UG.js → chunk-VKRTTFB6.js} +2 -2
- package/dist/cli/chunks/{chunk-CQ5G64EA.js → chunk-VWNFAW2M.js} +2 -2
- package/dist/cli/chunks/{chunk-DY37YMMQ.js → chunk-WBM6N6IM.js} +1 -1
- package/dist/cli/chunks/{chunk-K4N2MBCE.js → chunk-WDQ7IEZY.js} +2 -2
- package/dist/cli/chunks/{chunk-HI6OBDDY.js → chunk-WDVRE6GN.js} +2 -2
- package/dist/cli/chunks/{chunk-PICEGWGB.js → chunk-WQ4PYWSW.js} +1 -1
- package/dist/cli/chunks/{chunk-NHOMVBCI.js → chunk-WSF24I3D.js} +2 -2
- package/dist/cli/chunks/{chunk-LPSMVBB3.js → chunk-XBVUVFJK.js} +2 -2
- package/dist/cli/chunks/{chunk-J6LL25QJ.js → chunk-XEB3NLJR.js} +2 -2
- package/dist/cli/chunks/{chunk-SJMZZMHP.js → chunk-XFVTGAAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-KVMKYUOE.js → chunk-XLZYRTNO.js} +2 -2
- package/dist/cli/chunks/chunk-XUZDBQ5X.js +6 -0
- package/dist/cli/chunks/{chunk-WAWKAYPY.js → chunk-Y76IAYQD.js} +1 -1
- package/dist/cli/chunks/{chunk-3LFLO2WK.js → chunk-YAKGBHO4.js} +2 -2
- package/dist/cli/chunks/{chunk-TC52M542.js → chunk-YBSBABOS.js} +2 -2
- package/dist/cli/chunks/{chunk-BQUIZ5QT.js → chunk-YCGP5VFP.js} +2 -2
- package/dist/cli/chunks/{chunk-T2TDTBFV.js → chunk-YDAQK5UF.js} +1 -1
- package/dist/cli/chunks/{chunk-LHRVSK44.js → chunk-YK3BVZY6.js} +2 -2
- package/dist/cli/chunks/{chunk-QFYUZYRA.js → chunk-YK7JN5N7.js} +4 -4
- package/dist/cli/chunks/{chunk-IMSRWNWF.js → chunk-YKMU4LBV.js} +1 -1
- package/dist/cli/chunks/{chunk-NLYUC63R.js → chunk-YYTGXD3R.js} +2 -2
- package/dist/cli/chunks/{chunk-OWBFVAEH.js → chunk-Z2O2YJAF.js} +2 -2
- package/dist/cli/chunks/{chunk-KITKQUBX.js → chunk-Z7IYW5U7.js} +1 -1
- package/dist/cli/chunks/{chunk-4NTLGGXO.js → chunk-ZG5666GJ.js} +1 -1
- package/dist/cli/chunks/{chunk-4YUBWU3E.js → chunk-ZXPY654C.js} +1 -1
- package/dist/cli/chunks/{ci-7NUCRGWO.js → ci-MSKMVH5X.js} +2 -2
- package/dist/cli/chunks/{ci-config-VQVECCFI.js → ci-config-7ODMNAUM.js} +2 -2
- package/dist/cli/chunks/{ci-output-P7GQ6TKF.js → ci-output-FXZ7ZZW3.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-5YP6N6HE.js → circuit-breaker-4VOUEPOX.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W5H7CMU6.js → claude-flow-setup-7D4SGLM4.js} +2 -2
- package/dist/cli/chunks/client-POSVREVS.js +2 -0
- package/dist/cli/chunks/{cline-installer-OYANSZ54.js → cline-installer-WRRT7BGQ.js} +2 -2
- package/dist/cli/chunks/{code-OMT4UEZI.js → code-ZDJRIL3S.js} +25 -24
- package/dist/cli/chunks/{code-index-extractor-M2JEWKNF.js → code-index-extractor-4S4SHM56.js} +2 -2
- package/dist/cli/chunks/{codex-installer-YBS6N5O3.js → codex-installer-YTRHNDWR.js} +2 -2
- package/dist/cli/chunks/{completions-U7GS5RG6.js → completions-6N64JUXJ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-QSXPIUIU.js → complexity-analyzer-I4A26VCJ.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-W5TTT743.js → continuedev-installer-IIDR66LB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-KC2RT24C.js → copilot-installer-SVVFY3S2.js} +2 -2
- package/dist/cli/chunks/core-handlers-V243GY7X.js +2 -0
- package/dist/cli/chunks/{cost-tracker-OQPVR6V4.js → cost-tracker-VGFS6IBX.js} +2 -2
- package/dist/cli/chunks/{coverage-TCO2A2NX.js → coverage-B7MCGNTE.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-N3AIEM3B.js +2 -0
- package/dist/cli/chunks/{cursor-installer-MH7GWD4L.js → cursor-installer-UPETT57E.js} +2 -2
- package/dist/cli/chunks/daemon-7BDJHEIJ.js +18 -0
- package/dist/cli/chunks/{daemon-UJEARJZ2.js → daemon-CQFNZLXU.js} +7 -7
- package/dist/cli/chunks/{dag-attention-scheduler-F3SUJU5O.js → dag-attention-scheduler-PJVABHON.js} +2 -2
- package/dist/cli/chunks/{detect-5QTCRB32.js → detect-56SKAGWX.js} +2 -2
- package/dist/cli/chunks/{dist-node-XKZPHDBO.js → dist-node-UYTYUMLN.js} +2 -2
- package/dist/cli/chunks/{domain-handler-V3UEADKW.js → domain-handler-YOYLBYJE.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-7PES4UHZ.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-D2HWORHF.js → embed-and-insert-pattern-IS6HSR66.js} +2 -2
- package/dist/cli/chunks/{eval-UF2UBAUC.js → eval-GNB574IM.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-2OUCEHHM.js → experience-capture-middleware-RCAOCKM7.js} +3 -3
- package/dist/cli/chunks/{fast-paths-KV5DKKHC.js → fast-paths-KTZ5SF54.js} +2 -2
- package/dist/cli/chunks/{feature-flags-MTW6NMR3.js → feature-flags-ITX5LQ57.js} +2 -2
- package/dist/cli/chunks/{feature-flags-6YWMTNO5.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-52V6ANOY.js → gnn-wrapper-RLFW3GSX.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-X7NHNRC7.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-DZBE3KMK.js → hnsw-legacy-bridge-JMHEOIBH.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-2AWWUJAZ.js → hnswlib-node-CBP73QHY.js} +2 -2
- package/dist/cli/chunks/{hooks-XLPVROL3.js → hooks-IP7XE34Z.js} +34 -34
- package/dist/cli/chunks/hybrid-backend-SSGQQEQ2.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-6TI7YP6P.js → hypergraph-engine-ONAYHU25.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DBIBBOXS.js → hypergraph-handler-VINJRAID.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-CRGCA7ZD.js +2 -0
- package/dist/cli/chunks/{init-guard-OSO6MIDD.js → init-guard-RYVV5R3Z.js} +2 -2
- package/dist/cli/chunks/{init-handler-7S7IHMUF.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-2KBRFXMA.js → kilocode-installer-OPD7JBRL.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-5VFR4OQZ.js → kiro-installer-M4OPUNK2.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-YPVVIKEU.js +2 -0
- package/dist/cli/chunks/{learning-G5NHL3DV.js → learning-4UWTQLMF.js} +24 -24
- package/dist/cli/chunks/{llm-router-4EAPPMHS.js → llm-router-SQ56FF6Z.js} +4 -4
- package/dist/cli/chunks/llm-router-service-5OGAUOXF.js +2 -0
- package/dist/cli/chunks/{load-UYMZPEY6.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-QL53YIHP.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-PDDDXF2B.js → multi-model-executor-3VDRX6TZ.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-75D2SKOT.js → opencode-installer-PJ576R63.js} +2 -2
- package/dist/cli/chunks/{orchestrator-3WIZBV4T.js → orchestrator-72QP4UU7.js} +64 -19
- package/dist/cli/chunks/pattern-null-store-4DUV6MQC.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-TEX2JGHA.js → pattern-usage-recorder-754YQW7C.js} +2 -2
- package/dist/cli/chunks/pipeline-AVXY4MVB.js +19 -0
- package/dist/cli/chunks/{platform-WPSKRJE7.js → platform-3E3DXLYB.js} +2 -2
- package/dist/cli/chunks/{plugin-UUFOVVMU.js → plugin-7FUQAKRE.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-PDFSYWKZ.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-3VRYRIQB.js → protocol-handler-BQRYMUTG.js} +2 -2
- package/dist/cli/chunks/{prove-2NAUROGF.js → prove-H52QGC6B.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-WK6TQOG2.js +2 -0
- package/dist/cli/chunks/{quality-ZIEI2WGA.js → quality-QO4XPAUM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-KWJO4SWQ.js → quality-gate-FBKE5E6F.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-4452SXZQ.js +2 -0
- package/dist/cli/chunks/{real-embeddings-TSZ4UIAE.js → real-embeddings-RWGOVOXO.js} +2 -2
- package/dist/cli/chunks/{ref-validation-DWFFRETJ.js → ref-validation-LF76ZOBD.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-XTZHLUBO.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-GG525TDM.js → routing-handler-DST7BVCU.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-QKRJDM7Z.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-FF52OS6Q.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-M6DXTAZ4.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-EHXSW22U.js → security-VSPNKCDS.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-6EH7UVJL.js → shared-rvf-adapter-HX6AHL3P.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-WML274E7.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-C7QKAXS4.js → standalone-memory-O4QUTK6L.js} +2 -2
- package/dist/cli/chunks/{status-handler-VLI7MRLM.js → status-handler-Z2BP6EOG.js} +2 -2
- package/dist/cli/chunks/{structural-health-3LPG6MQN.js → structural-health-R36WNLQG.js} +2 -2
- package/dist/cli/chunks/sync-2ELWUFQU.js +2 -0
- package/dist/cli/chunks/{sync-JFJEJBVK.js → sync-QF5Y3EMZ.js} +2 -2
- package/dist/cli/chunks/{task-handler-IED3K6E4.js → task-handler-43PYE75J.js} +13 -7
- package/dist/cli/chunks/task-handlers-KPWAEMKH.js +9 -0
- package/dist/cli/chunks/{test-GPKT3CKZ.js → test-UWA377D4.js} +16 -16
- package/dist/cli/chunks/test-runner-process-3XZUYST2.js +2 -0
- package/dist/cli/chunks/{test-scheduling-Z42XXZP6.js → test-scheduling-YQZPJRRN.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-F7C6UKTC.js +2 -0
- package/dist/cli/chunks/{token-usage-6Y2ERYIY.js → token-usage-DO6WLMXP.js} +2 -2
- package/dist/cli/chunks/{transformers-MB63T2XO.js → transformers-H5RGFKVO.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-YTBCBHUO.js +2 -0
- package/dist/cli/chunks/{types-J4J6QV3I.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-U4XU7LFM.js → upgrade-4IC4F6AB.js} +2 -2
- package/dist/cli/chunks/{validate-B57HA4YK.js → validate-DHUWW7PF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-UPPA4M6T.js → validate-swarm-OERQNOX5.js} +2 -2
- package/dist/cli/chunks/visual-security-54MLFKWY.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-GDZMUKOZ.js → web-tree-sitter-TV7DMKES.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-VJRWCHXP.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-Z23FVABW.js → witness-chain-verifier-YXENHB42.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-745MJ7WO.js → witness-key-manager-HL26AGFO.js} +2 -2
- package/dist/cli/chunks/{workflow-T245QNQM.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/code.js +8 -0
- package/dist/cli/commands/daemon.js +8 -0
- package/dist/cli/commands/fleet.js +27 -15
- 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/handlers/task-handler.js +21 -1
- 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 +74 -7
- package/dist/coordination/handlers/coverage-collection.js +9 -10
- package/dist/coordination/handlers/coverage-handlers.js +31 -4
- package/dist/coordination/handlers/coverage-runner.d.ts +2 -1
- package/dist/coordination/handlers/coverage-runner.js +9 -2
- package/dist/coordination/handlers/coverage-target.d.ts +13 -3
- package/dist/coordination/handlers/coverage-target.js +224 -7
- package/dist/coordination/handlers/handler-types.d.ts +2 -0
- 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 +57 -12
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.js +1 -1
- 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 +35 -0
- package/dist/coordination/protocols/learning-consolidation-archive.js +34 -0
- package/dist/coordination/protocols/learning-consolidation.d.ts +62 -3
- package/dist/coordination/protocols/learning-consolidation.js +187 -60
- package/dist/coordination/queen-coordinator.d.ts +13 -2
- package/dist/coordination/queen-coordinator.js +43 -8
- package/dist/coordination/queen-event-handlers.js +15 -1
- package/dist/coordination/queen-lifecycle.js +9 -0
- package/dist/coordination/queen-task-management.d.ts +18 -24
- package/dist/coordination/queen-task-management.js +94 -127
- 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 +11 -1
- package/dist/coordination/queen-types.js +8 -0
- 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/task-dag/dag-algorithms.d.ts +33 -0
- package/dist/coordination/task-dag/dag-algorithms.js +162 -0
- package/dist/coordination/task-dag/dag-obligations.d.ts +21 -0
- package/dist/coordination/task-dag/dag-obligations.js +83 -0
- package/dist/coordination/task-dag/dag.d.ts +69 -19
- package/dist/coordination/task-dag/dag.js +215 -269
- package/dist/coordination/task-dag/index.d.ts +12 -4
- package/dist/coordination/task-dag/index.js +11 -3
- package/dist/coordination/task-dag/prerequisite-ledger.d.ts +84 -0
- package/dist/coordination/task-dag/prerequisite-ledger.js +252 -0
- package/dist/coordination/task-dag/scheduler.d.ts +19 -9
- package/dist/coordination/task-dag/scheduler.js +36 -12
- package/dist/coordination/task-dag/types.d.ts +160 -1
- package/dist/coordination/task-dag/types.js +2 -1
- package/dist/coordination/task-executability.d.ts +18 -0
- package/dist/coordination/task-executability.js +31 -0
- package/dist/coordination/task-executor.d.ts +1 -0
- package/dist/coordination/task-executor.js +5 -0
- package/dist/coordination/yaml-pipeline-loader.js +5 -2
- package/dist/domains/code-intelligence/coordinator.js +35 -9
- package/dist/domains/code-intelligence/index-path-guard.d.ts +52 -0
- package/dist/domains/code-intelligence/index-path-guard.js +95 -0
- package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
- package/dist/domains/code-intelligence/plugin.js +5 -1
- package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +6 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.js +42 -5
- 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/coordinator.js +3 -1
- 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 +29 -12
- 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 +14 -14
- package/dist/domains/learning-optimization/active-patterns.js +17 -14
- package/dist/domains/learning-optimization/coordinator-helpers.js +2 -3
- package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
- package/dist/domains/learning-optimization/coordinator.js +52 -107
- package/dist/domains/learning-optimization/index.d.ts +1 -1
- package/dist/domains/learning-optimization/interfaces.d.ts +62 -6
- 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/plugin.js +11 -1
- package/dist/domains/learning-optimization/reward-source.d.ts +50 -0
- package/dist/domains/learning-optimization/reward-source.js +65 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +7 -5
- package/dist/domains/learning-optimization/services/learning-coordinator.js +98 -75
- package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +14 -4
- package/dist/domains/learning-optimization/services/metrics-optimizer.js +129 -63
- package/dist/domains/learning-optimization/services/transfer-specialist.js +25 -15
- 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 +41 -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 +32 -0
- package/dist/domains/test-execution/services/runner-test-cases.js +87 -0
- package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
- package/dist/domains/test-execution/services/test-executor.js +31 -9
- 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/fleet-integration.js +2 -0
- package/dist/init/init-wizard-steps.js +2 -0
- package/dist/init/phases/06-code-intelligence.js +2 -0
- package/dist/init/phases/10-workers.js +51 -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/anti-drift-middleware.d.ts +44 -5
- package/dist/kernel/anti-drift-middleware.js +147 -11
- package/dist/kernel/interfaces.d.ts +5 -0
- 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 +24 -4
- package/dist/learning/dream/dream-insights-pruner.js +85 -11
- 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/skill-validation-learner.d.ts +2 -0
- package/dist/learning/skill-validation-learner.js +29 -21
- 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 +23 -3
- package/dist/mcp/bundle.js +602 -551
- package/dist/mcp/handlers/core-handlers.js +11 -0
- package/dist/mcp/handlers/domain-handler-configs.d.ts +19 -0
- package/dist/mcp/handlers/domain-handler-configs.js +76 -30
- package/dist/mcp/handlers/handler-factory.d.ts +2 -1
- package/dist/mcp/handlers/handler-factory.js +37 -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 +69 -6
- package/dist/mcp/handlers/validation-pipeline-handler.js +6 -2
- package/dist/mcp/metrics/metrics-collector.d.ts +11 -9
- package/dist/mcp/metrics/metrics-collector.js +13 -26
- package/dist/mcp/protocol-server.js +10 -3
- 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 +52 -5
- package/dist/mcp/tools/learning-optimization/optimize.js +164 -80
- package/dist/mcp/tools/quality-assessment/gate.js +12 -1
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +9 -2
- package/dist/memory/crdt/lww-register.js +11 -1
- 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/routing/calibration/ema-calibrator.js +3 -1
- package/dist/shared/base-domain-plugin.d.ts +4 -0
- package/dist/shared/base-domain-plugin.js +6 -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/cache.js +4 -1
- package/dist/shared/llm/router/agent-router-config.js +2 -1
- package/dist/shared/llm/translation/tool-translator.js +2 -1
- package/dist/shared/security/compliance-patterns.js +3 -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 +32 -0
- package/dist/shared/test-runner-process.js +105 -0
- package/dist/shared/test-runner-verdict.d.ts +9 -1
- package/dist/shared/test-runner-verdict.js +15 -4
- package/dist/shared/types/index.d.ts +9 -0
- package/dist/shared/types/index.js +13 -0
- package/dist/shared/utils/namespaced-search.d.ts +56 -0
- package/dist/shared/utils/namespaced-search.js +71 -0
- package/dist/shared/utils/safe-expression-evaluator.js +4 -3
- package/dist/strange-loop/infra-healing/infra-action-executor.js +7 -3
- package/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +10 -9
- package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
- package/dist/validation/gate-reexecute.js +7 -4
- package/dist/workers/daemon.d.ts +2 -0
- package/dist/workers/daemon.js +23 -6
- package/dist/workers/namespaced-keys.d.ts +4 -7
- package/dist/workers/namespaced-keys.js +4 -15
- package/dist/workers/quality-daemon/ci-monitor.js +9 -5
- package/dist/workers/quality-daemon/git-watcher.js +9 -9
- package/dist/workers/worker-env.d.ts +16 -8
- package/dist/workers/worker-env.js +25 -12
- package/dist/workers/worker-manager.js +4 -0
- 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 +3 -1
- package/dist/workers/workers/learning-consolidation.js +22 -8
- package/dist/workflows/browser/workflow-loader.js +8 -5
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-FC4EY447.js +0 -2
- package/dist/cli/chunks/agent-booster-wasm-W3V5P7LE.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-AUAL6UBL.js +0 -2
- package/dist/cli/chunks/base-2XML4WH7.js +0 -2
- package/dist/cli/chunks/browser-ZL7OLKJQ.js +0 -4
- package/dist/cli/chunks/browser-workflow-2IFEUAAK.js +0 -2
- package/dist/cli/chunks/chunk-4GYFONJB.js +0 -4
- package/dist/cli/chunks/chunk-6CKTLVYV.js +0 -2
- package/dist/cli/chunks/chunk-7H3GNRNA.js +0 -4
- package/dist/cli/chunks/chunk-EUVSSIGR.js +0 -12
- package/dist/cli/chunks/chunk-I4U7YCXG.js +0 -180
- package/dist/cli/chunks/chunk-J7RCI25Q.js +0 -2
- package/dist/cli/chunks/chunk-KNHLOANK.js +0 -4
- package/dist/cli/chunks/chunk-KNQUHGNY.js +0 -2
- package/dist/cli/chunks/chunk-LZWBUVCK.js +0 -5
- package/dist/cli/chunks/chunk-PIEKGKW6.js +0 -12
- package/dist/cli/chunks/chunk-PWA6XBW4.js +0 -120
- package/dist/cli/chunks/chunk-X6VYQVUM.js +0 -2
- package/dist/cli/chunks/chunk-YTYS2XSY.js +0 -2
- package/dist/cli/chunks/chunk-Z3LDUPLQ.js +0 -6
- package/dist/cli/chunks/client-RFUSQRUZ.js +0 -2
- package/dist/cli/chunks/core-handlers-ZC7QB432.js +0 -2
- package/dist/cli/chunks/cross-domain-router-GRBK7YFZ.js +0 -2
- package/dist/cli/chunks/daemon-JER6HE2J.js +0 -12
- package/dist/cli/chunks/domain-transfer-NF7UJW7B.js +0 -2
- package/dist/cli/chunks/dream-VALD726W.js +0 -2
- package/dist/cli/chunks/file-discovery-VL73ASNI.js +0 -2
- package/dist/cli/chunks/fleet-GJ66QFXK.js +0 -43
- package/dist/cli/chunks/heartbeat-scheduler-FSX7A3ZA.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-UX2QT6RL.js +0 -2
- package/dist/cli/chunks/hnsw-index-WRDDAMXH.js +0 -2
- package/dist/cli/chunks/hybrid-backend-O67NGIB5.js +0 -2
- package/dist/cli/chunks/impact-analyzer-6VXWWYWM.js +0 -2
- package/dist/cli/chunks/init-wizard-VH34J4TL.js +0 -2
- package/dist/cli/chunks/kernel-KJD24NO7.js +0 -2
- package/dist/cli/chunks/knowledge-graph-343O2HEZ.js +0 -2
- package/dist/cli/chunks/llm-router-service-2M4BT2AO.js +0 -2
- package/dist/cli/chunks/load-test-OTQ2JQ5F.js +0 -2
- package/dist/cli/chunks/mcp-NOTDZBW5.js +0 -2
- package/dist/cli/chunks/memory-backend-4QSNRRV6.js +0 -2
- package/dist/cli/chunks/memory-handlers-YFFYRSM6.js +0 -2
- package/dist/cli/chunks/pattern-null-store-5USH5MNR.js +0 -2
- package/dist/cli/chunks/pipeline-7ATPA6LU.js +0 -19
- package/dist/cli/chunks/project-root-SRTA6TBL.js +0 -2
- package/dist/cli/chunks/protocol-executor-4WYPCNBS.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-I4D6SFS4.js +0 -2
- package/dist/cli/chunks/queen-coordinator-24UMTZTE.js +0 -2
- package/dist/cli/chunks/router-AUD4GATI.js +0 -2
- package/dist/cli/chunks/routing-feedback-2FE6SIKQ.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-P5LEUF25.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-ZCYD5YJS.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-QGV6BW2W.js +0 -2
- package/dist/cli/chunks/safe-db-Q6JUKG2A.js +0 -2
- package/dist/cli/chunks/schedule-44OSMGE5.js +0 -2
- package/dist/cli/chunks/scheduler-V3HO2QQT.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-N5T7DWMR.js +0 -2
- package/dist/cli/chunks/sync-4IMMQEPT.js +0 -2
- package/dist/cli/chunks/task-handlers-FH6DNTHW.js +0 -9
- package/dist/cli/chunks/token-bootstrap-HMM3AHXM.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-56GDQCMR.js +0 -2
- package/dist/cli/chunks/unified-memory-RQ3Q4CU3.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-ZOP5FEYX.js +0 -2
- package/dist/cli/chunks/unified-persistence-72OCJJKK.js +0 -2
- package/dist/cli/chunks/visual-security-7F5UV23J.js +0 -2
- package/dist/cli/chunks/witness-chain-KZ57QUFE.js +0 -2
- package/dist/cli/chunks/witness-chain-LFASSMZK.js +0 -2
- package/dist/cli/chunks/witness-chain-repair-TPHN4DXN.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-ZNWEUYBN.js +0 -2
- package/dist/cli/chunks/wrappers-WCAYIQUX.js +0 -2
|
@@ -109,13 +109,20 @@ declare class MetricsCollectorImpl {
|
|
|
109
109
|
successRate: number;
|
|
110
110
|
};
|
|
111
111
|
/**
|
|
112
|
-
*
|
|
112
|
+
* Number of completed tasks in the sliding window. Zero means the retry and
|
|
113
|
+
* worker figures below describe nothing that was measured (#1110).
|
|
113
114
|
*/
|
|
114
|
-
|
|
115
|
+
getRecordedTaskCount(): number;
|
|
115
116
|
/**
|
|
116
|
-
* Get
|
|
117
|
+
* Get worker efficiency based on actual throughput.
|
|
118
|
+
* Returns null when no task has been recorded: there is nothing to measure (#1110).
|
|
117
119
|
*/
|
|
118
|
-
|
|
120
|
+
getWorkerEfficiency(): number | null;
|
|
121
|
+
/**
|
|
122
|
+
* Get load balance score based on actual distribution.
|
|
123
|
+
* Returns null when no worker has been recorded (#1110).
|
|
124
|
+
*/
|
|
125
|
+
getLoadBalanceScore(): number | null;
|
|
119
126
|
/**
|
|
120
127
|
* Get retry statistics
|
|
121
128
|
*/
|
|
@@ -132,11 +139,6 @@ declare class MetricsCollectorImpl {
|
|
|
132
139
|
* Get number of workers used (with active or completed tasks)
|
|
133
140
|
*/
|
|
134
141
|
getWorkersUsed(): number;
|
|
135
|
-
/**
|
|
136
|
-
* Generate individual test result durations based on actual execution
|
|
137
|
-
* Uses the sliding window of real task durations
|
|
138
|
-
*/
|
|
139
|
-
getTestDurations(count: number): number[];
|
|
140
142
|
/**
|
|
141
143
|
* Record a successful retry for tracking
|
|
142
144
|
*/
|
|
@@ -165,11 +165,19 @@ class MetricsCollectorImpl {
|
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
*
|
|
168
|
+
* Number of completed tasks in the sliding window. Zero means the retry and
|
|
169
|
+
* worker figures below describe nothing that was measured (#1110).
|
|
170
|
+
*/
|
|
171
|
+
getRecordedTaskCount() {
|
|
172
|
+
return this.taskMetrics.length;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get worker efficiency based on actual throughput.
|
|
176
|
+
* Returns null when no task has been recorded: there is nothing to measure (#1110).
|
|
169
177
|
*/
|
|
170
178
|
getWorkerEfficiency() {
|
|
171
179
|
if (this.taskMetrics.length === 0) {
|
|
172
|
-
return
|
|
180
|
+
return null;
|
|
173
181
|
}
|
|
174
182
|
// Calculate efficiency based on:
|
|
175
183
|
// - Success rate
|
|
@@ -185,11 +193,12 @@ class MetricsCollectorImpl {
|
|
|
185
193
|
return Math.min(1.0, Math.max(0, efficiency));
|
|
186
194
|
}
|
|
187
195
|
/**
|
|
188
|
-
* Get load balance score based on actual distribution
|
|
196
|
+
* Get load balance score based on actual distribution.
|
|
197
|
+
* Returns null when no worker has been recorded (#1110).
|
|
189
198
|
*/
|
|
190
199
|
getLoadBalanceScore() {
|
|
191
200
|
if (this.workerLoads.size === 0) {
|
|
192
|
-
return
|
|
201
|
+
return null;
|
|
193
202
|
}
|
|
194
203
|
const loads = Array.from(this.workerLoads.values()).map((w) => w.completedTaskCount);
|
|
195
204
|
if (loads.length <= 1) {
|
|
@@ -243,28 +252,6 @@ class MetricsCollectorImpl {
|
|
|
243
252
|
getWorkersUsed() {
|
|
244
253
|
return this.workerLoads.size;
|
|
245
254
|
}
|
|
246
|
-
/**
|
|
247
|
-
* Generate individual test result durations based on actual execution
|
|
248
|
-
* Uses the sliding window of real task durations
|
|
249
|
-
*/
|
|
250
|
-
getTestDurations(count) {
|
|
251
|
-
const durations = [];
|
|
252
|
-
if (this.taskMetrics.length === 0) {
|
|
253
|
-
// No real data - return reasonable estimates based on typical test times
|
|
254
|
-
for (let i = 0; i < count; i++) {
|
|
255
|
-
durations.push(100 + i * 10); // Start at 100ms, increment by 10ms
|
|
256
|
-
}
|
|
257
|
-
return durations;
|
|
258
|
-
}
|
|
259
|
-
// Use real durations from the sliding window
|
|
260
|
-
const realDurations = this.taskMetrics.map((t) => t.durationMs || 200).sort((a, b) => a - b);
|
|
261
|
-
for (let i = 0; i < count; i++) {
|
|
262
|
-
// Sample from real durations with wrapping
|
|
263
|
-
const index = i % realDurations.length;
|
|
264
|
-
durations.push(Math.round(realDurations[index]));
|
|
265
|
-
}
|
|
266
|
-
return durations;
|
|
267
|
-
}
|
|
268
255
|
/**
|
|
269
256
|
* Record a successful retry for tracking
|
|
270
257
|
*/
|
|
@@ -655,6 +655,7 @@ export class MCPProtocolServer {
|
|
|
655
655
|
isCacheable: false,
|
|
656
656
|
parameters: [
|
|
657
657
|
{ name: 'domain', type: 'string', description: 'Specific domain to check' },
|
|
658
|
+
{ name: 'detailed', type: 'boolean', description: 'Include per-domain health, issues and the MinCut reading (raw minCut status/value, and the fleet reading without task-scoped agents that decides status)', default: false },
|
|
658
659
|
],
|
|
659
660
|
},
|
|
660
661
|
handler: (params) => handleFleetHealth(params),
|
|
@@ -720,6 +721,7 @@ export class MCPProtocolServer {
|
|
|
720
721
|
parameters: [
|
|
721
722
|
{ name: 'task', type: 'string', description: 'Task description', required: true },
|
|
722
723
|
{ name: 'strategy', type: 'string', description: 'Execution strategy', enum: ['parallel', 'sequential', 'adaptive'] },
|
|
724
|
+
{ name: 'filePaths', type: 'array', description: 'Project files the task works on. A security scan or quality assessment runs on these files and is refused without them.', items: { type: 'string' } },
|
|
723
725
|
],
|
|
724
726
|
},
|
|
725
727
|
handler: (params) => handleTaskOrchestrate(params),
|
|
@@ -1491,7 +1493,11 @@ export class MCPProtocolServer {
|
|
|
1491
1493
|
],
|
|
1492
1494
|
},
|
|
1493
1495
|
handler: async (params) => {
|
|
1494
|
-
|
|
1496
|
+
// #1074: run the advisor CLI asynchronously; a synchronous call would
|
|
1497
|
+
// stop the server answering every other request for up to 60s.
|
|
1498
|
+
const { execFile } = await import('child_process');
|
|
1499
|
+
const { promisify } = await import('util');
|
|
1500
|
+
const execFileAsync = promisify(execFile);
|
|
1495
1501
|
const { writeFileSync, unlinkSync, mkdirSync } = await import('fs');
|
|
1496
1502
|
const { join } = await import('path');
|
|
1497
1503
|
const { tmpdir } = await import('os');
|
|
@@ -1531,15 +1537,16 @@ export class MCPProtocolServer {
|
|
|
1531
1537
|
// Resolve aqe binary with fallback to npx (MCP server may not have aqe on PATH)
|
|
1532
1538
|
let aqeBin = 'aqe';
|
|
1533
1539
|
try {
|
|
1534
|
-
|
|
1540
|
+
await execFileAsync('which', ['aqe'], { encoding: 'utf-8' });
|
|
1535
1541
|
}
|
|
1536
1542
|
catch {
|
|
1537
1543
|
aqeBin = 'npx';
|
|
1538
1544
|
cliArgs.unshift('aqe');
|
|
1539
1545
|
}
|
|
1540
|
-
const result =
|
|
1546
|
+
const { stdout: result } = await execFileAsync(aqeBin, cliArgs, {
|
|
1541
1547
|
encoding: 'utf-8',
|
|
1542
1548
|
timeout: 60000,
|
|
1549
|
+
maxBuffer: 1024 * 1024,
|
|
1543
1550
|
env: process.env,
|
|
1544
1551
|
});
|
|
1545
1552
|
try {
|
|
@@ -451,7 +451,8 @@ export class SchemaValidator {
|
|
|
451
451
|
// Check required properties
|
|
452
452
|
if (schema.required) {
|
|
453
453
|
for (const required of schema.required) {
|
|
454
|
-
|
|
454
|
+
// #1136: own properties only; an inherited `constructor` is not present.
|
|
455
|
+
if (!Object.hasOwn(data, required)) {
|
|
455
456
|
errors.push({
|
|
456
457
|
path: path ? `${path}.${required}` : required,
|
|
457
458
|
message: `Required property '${required}' is missing`,
|
|
@@ -464,7 +465,7 @@ export class SchemaValidator {
|
|
|
464
465
|
// Validate properties
|
|
465
466
|
if (schema.properties) {
|
|
466
467
|
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
467
|
-
if (key
|
|
468
|
+
if (Object.hasOwn(data, key)) {
|
|
468
469
|
this.validateValue(data[key], propSchema, path ? `${path}.${key}` : key, `${schemaPath}/properties/${key}`, errors);
|
|
469
470
|
}
|
|
470
471
|
}
|
|
@@ -15,6 +15,7 @@ import { KnowledgeGraphService } from '../../../domains/code-intelligence/servic
|
|
|
15
15
|
import { createKnowledgeGraphRelationshipResolver } from '../../../domains/code-intelligence/services/c4-model/kg-relationships.js';
|
|
16
16
|
import { InMemoryEventBus } from '../../../kernel/event-bus.js';
|
|
17
17
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
18
|
+
import { requirePayloadPath } from '../../../shared/io/payload-path-guard.js';
|
|
18
19
|
const want = (level, l) => level === 'all' || level === l;
|
|
19
20
|
// ============================================================================
|
|
20
21
|
// Tool Implementation
|
|
@@ -53,7 +54,16 @@ export class CodeC4Tool extends MCPToolBase {
|
|
|
53
54
|
return this.searchService;
|
|
54
55
|
}
|
|
55
56
|
async execute(params, context) {
|
|
56
|
-
const { action, projectPath = '.', level = 'all', query, limit = 10 } = params;
|
|
57
|
+
const { action, projectPath: requestedPath = '.', level = 'all', query, limit = 10 } = params;
|
|
58
|
+
// #1126: analyse (and report package names from) only a directory inside
|
|
59
|
+
// the project.
|
|
60
|
+
let projectPath = requestedPath;
|
|
61
|
+
if (requestedPath !== '.') {
|
|
62
|
+
const confined = await requirePayloadPath('qe/code/c4', 'projectPath', requestedPath, { allowDirectory: true });
|
|
63
|
+
if (!confined.success)
|
|
64
|
+
return { success: false, error: confined.error.message };
|
|
65
|
+
projectPath = confined.value;
|
|
66
|
+
}
|
|
57
67
|
try {
|
|
58
68
|
if (this.isAborted(context)) {
|
|
59
69
|
return { success: false, error: 'Operation aborted' };
|
|
@@ -12,6 +12,27 @@ import { CoverageAnalyzerService } from '../../../domains/coverage-analysis/serv
|
|
|
12
12
|
import { GapDetectorService } from '../../../domains/coverage-analysis/services/gap-detector.js';
|
|
13
13
|
import { findAndParseCoverage, parseCoverage, } from '../../../domains/coverage-analysis/services/coverage-parser.js';
|
|
14
14
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
15
|
+
import { requirePayloadPath } from '../../../shared/io/payload-path-guard.js';
|
|
16
|
+
/**
|
|
17
|
+
* #1126: a caller-named coverage report must be a regular file inside the
|
|
18
|
+
* project (never /dev/zero or /proc/self/environ), and a target a directory
|
|
19
|
+
* inside it. Returns the real paths to read, or an error naming the refusal.
|
|
20
|
+
*/
|
|
21
|
+
async function confineCoverageInputs(tool, target, coverageFile) {
|
|
22
|
+
let confinedTarget = target;
|
|
23
|
+
if (target !== '.') {
|
|
24
|
+
const t = await requirePayloadPath(tool, 'target', target, { allowDirectory: true, allowMissing: true });
|
|
25
|
+
if (!t.success)
|
|
26
|
+
return { error: t.error.message };
|
|
27
|
+
confinedTarget = t.value;
|
|
28
|
+
}
|
|
29
|
+
if (coverageFile === undefined)
|
|
30
|
+
return { target: confinedTarget };
|
|
31
|
+
const f = await requirePayloadPath(tool, 'coverageFile', coverageFile);
|
|
32
|
+
if (!f.success)
|
|
33
|
+
return { error: f.error.message };
|
|
34
|
+
return { target: confinedTarget, coverageFile: f.value };
|
|
35
|
+
}
|
|
15
36
|
// ============================================================================
|
|
16
37
|
// Helper: Calculate Coverage Summary from Files
|
|
17
38
|
// ============================================================================
|
|
@@ -93,8 +114,12 @@ export class CoverageAnalyzeTool extends MCPToolBase {
|
|
|
93
114
|
return this.analyzerService;
|
|
94
115
|
}
|
|
95
116
|
async execute(params, context) {
|
|
96
|
-
const { target = '.', coverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, coverageFormat, language, } = params;
|
|
117
|
+
const { target: requestedTarget = '.', coverageFile: requestedCoverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, coverageFormat, language, } = params;
|
|
97
118
|
const shouldIncludeRisk = includeRisk || includeRiskScoring;
|
|
119
|
+
const confined = await confineCoverageInputs('qe/coverage/analyze', requestedTarget, requestedCoverageFile);
|
|
120
|
+
if ('error' in confined)
|
|
121
|
+
return { success: false, error: confined.error };
|
|
122
|
+
const { target, coverageFile } = confined;
|
|
98
123
|
try {
|
|
99
124
|
this.emitStream(context, {
|
|
100
125
|
status: 'analyzing',
|
|
@@ -309,7 +334,11 @@ export class CoverageGapsTool extends MCPToolBase {
|
|
|
309
334
|
return this.gapService;
|
|
310
335
|
}
|
|
311
336
|
async execute(params, context) {
|
|
312
|
-
const { target = '.', coverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', coverageFormat, language, } = params;
|
|
337
|
+
const { target: requestedTarget = '.', coverageFile: requestedCoverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', coverageFormat, language, } = params;
|
|
338
|
+
const confined = await confineCoverageInputs('qe/coverage/gaps', requestedTarget, requestedCoverageFile);
|
|
339
|
+
if ('error' in confined)
|
|
340
|
+
return { success: false, error: confined.error };
|
|
341
|
+
const { target, coverageFile } = confined;
|
|
313
342
|
try {
|
|
314
343
|
this.emitStream(context, {
|
|
315
344
|
status: 'detecting',
|
|
@@ -52,6 +52,8 @@ export interface DreamResultSummary {
|
|
|
52
52
|
nodesActivated: number;
|
|
53
53
|
};
|
|
54
54
|
patternsCreated: number;
|
|
55
|
+
/** #1060: how long the dream's single commit transaction held the write lock, in ms */
|
|
56
|
+
commitDurationMs?: number;
|
|
55
57
|
}
|
|
56
58
|
export interface InsightSummary {
|
|
57
59
|
id: string;
|
|
@@ -91,19 +93,17 @@ export interface DreamStatusResult {
|
|
|
91
93
|
export declare class DreamCycleTool extends MCPToolBase<DreamCycleParams, DreamCycleToolResult> {
|
|
92
94
|
readonly config: MCPToolConfig;
|
|
93
95
|
private engine;
|
|
94
|
-
|
|
96
|
+
/** #1060: the one in-flight engine creation, so concurrent calls share it. */
|
|
97
|
+
private enginePending;
|
|
95
98
|
/**
|
|
96
99
|
* Get or create the DreamEngine instance.
|
|
97
100
|
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
+
* #1060: one engine for the tool's lifetime. Duration and the minimum
|
|
102
|
+
* concept count are passed per call to dream(), so a call with different
|
|
103
|
+
* values no longer closes and recreates the engine (which interrupted a
|
|
104
|
+
* dream still running on it).
|
|
101
105
|
*/
|
|
102
106
|
private getEngine;
|
|
103
|
-
/**
|
|
104
|
-
* Compare two configs for equality (shallow comparison of relevant fields)
|
|
105
|
-
*/
|
|
106
|
-
private configsEqual;
|
|
107
107
|
/**
|
|
108
108
|
* Load patterns from ReasoningBank into the DreamEngine
|
|
109
109
|
*
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { MCPToolBase, getSharedMemoryBackend } from '../base.js';
|
|
15
15
|
import { createDreamEngine, } from '../../../learning/dream/index.js';
|
|
16
|
+
import { DreamAlreadyRunningError } from '../../../learning/dream/dream-engine.js';
|
|
16
17
|
import { createQEReasoningBank } from '../../../learning/qe-reasoning-bank.js';
|
|
17
18
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
18
19
|
// ============================================================================
|
|
@@ -66,39 +67,37 @@ export class DreamCycleTool extends MCPToolBase {
|
|
|
66
67
|
timeout: 120000, // 2 minutes max (dream cycle + overhead)
|
|
67
68
|
};
|
|
68
69
|
engine = null;
|
|
69
|
-
|
|
70
|
+
/** #1060: the one in-flight engine creation, so concurrent calls share it. */
|
|
71
|
+
enginePending = null;
|
|
70
72
|
/**
|
|
71
73
|
* Get or create the DreamEngine instance.
|
|
72
74
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
75
|
+
* #1060: one engine for the tool's lifetime. Duration and the minimum
|
|
76
|
+
* concept count are passed per call to dream(), so a call with different
|
|
77
|
+
* values no longer closes and recreates the engine (which interrupted a
|
|
78
|
+
* dream still running on it).
|
|
76
79
|
*/
|
|
77
|
-
async getEngine(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
async getEngine() {
|
|
81
|
+
if (this.engine)
|
|
82
|
+
return this.engine;
|
|
83
|
+
if (!this.enginePending) {
|
|
84
|
+
const create = async () => {
|
|
85
|
+
const engine = createDreamEngine();
|
|
86
|
+
await engine.initialize();
|
|
87
|
+
// A reset while initializing dropped this engine; don't resurrect it.
|
|
88
|
+
if (this.enginePending === pending)
|
|
89
|
+
this.engine = engine;
|
|
90
|
+
else
|
|
91
|
+
engine.close().catch(() => { });
|
|
92
|
+
return engine;
|
|
93
|
+
};
|
|
94
|
+
const pending = create();
|
|
95
|
+
this.enginePending = pending;
|
|
96
|
+
const settle = () => { if (this.enginePending === pending)
|
|
97
|
+
this.enginePending = null; };
|
|
98
|
+
pending.then(settle, settle);
|
|
89
99
|
}
|
|
90
|
-
return this.
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Compare two configs for equality (shallow comparison of relevant fields)
|
|
94
|
-
*/
|
|
95
|
-
configsEqual(a, b) {
|
|
96
|
-
if (a === b)
|
|
97
|
-
return true;
|
|
98
|
-
if (!a || !b)
|
|
99
|
-
return false;
|
|
100
|
-
return (a.maxDurationMs === b.maxDurationMs &&
|
|
101
|
-
a.minConceptsRequired === b.minConceptsRequired);
|
|
100
|
+
return this.enginePending;
|
|
102
101
|
}
|
|
103
102
|
/**
|
|
104
103
|
* Load patterns from ReasoningBank into the DreamEngine
|
|
@@ -142,7 +141,8 @@ export class DreamCycleTool extends MCPToolBase {
|
|
|
142
141
|
domain: result.pattern.qeDomain || 'learning-optimization',
|
|
143
142
|
patternType: result.pattern.patternType,
|
|
144
143
|
confidence: result.pattern.confidence,
|
|
145
|
-
|
|
144
|
+
// A real 0% stays 0%; a pattern never used has no rate (#1142 review).
|
|
145
|
+
successRate: result.pattern.usageCount > 0 ? result.pattern.successRate : undefined,
|
|
146
146
|
}));
|
|
147
147
|
const loaded = await engine.loadPatternsAsConcepts(importPatterns);
|
|
148
148
|
this.logger.info(`Loaded ${loaded} patterns as concepts from ReasoningBank`);
|
|
@@ -195,17 +195,19 @@ export class DreamCycleTool extends MCPToolBase {
|
|
|
195
195
|
const minPatterns = params.minPatterns || 10;
|
|
196
196
|
const loadFromRB = params.loadFromReasoningBank !== false;
|
|
197
197
|
this.logger.info(`Starting dream cycle (${durationMs}ms, min: ${minPatterns} patterns)`);
|
|
198
|
-
const engine = await this.getEngine(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
198
|
+
const engine = await this.getEngine();
|
|
199
|
+
// #1060: a concurrent dream is refused with a clear error, not queued.
|
|
200
|
+
const running = engine.getCurrentCycle();
|
|
201
|
+
if (running) {
|
|
202
|
+
throw new DreamAlreadyRunningError(running.id);
|
|
203
|
+
}
|
|
202
204
|
// Load patterns from ReasoningBank if requested
|
|
203
205
|
if (loadFromRB) {
|
|
204
206
|
const loaded = await this.loadPatternsFromReasoningBank(engine);
|
|
205
207
|
this.logger.info(`Loaded ${loaded} patterns from ReasoningBank`);
|
|
206
208
|
}
|
|
207
209
|
// Run the dream cycle
|
|
208
|
-
const result = await engine.dream(durationMs);
|
|
210
|
+
const result = await engine.dream(durationMs, { minConceptsRequired: minPatterns });
|
|
209
211
|
const dreamResult = {
|
|
210
212
|
cycleId: result.cycle.id,
|
|
211
213
|
status: result.cycle.status,
|
|
@@ -215,6 +217,7 @@ export class DreamCycleTool extends MCPToolBase {
|
|
|
215
217
|
insightsGenerated: result.cycle.insightsGenerated,
|
|
216
218
|
activationStats: result.activationStats,
|
|
217
219
|
patternsCreated: result.patternsCreated,
|
|
220
|
+
commitDurationMs: result.commitDurationMs,
|
|
218
221
|
};
|
|
219
222
|
const insights = result.insights.map((i) => ({
|
|
220
223
|
id: i.id,
|
|
@@ -392,6 +395,7 @@ export class DreamCycleTool extends MCPToolBase {
|
|
|
392
395
|
* Reset instance cache (for fleet dispose)
|
|
393
396
|
*/
|
|
394
397
|
resetInstanceCache() {
|
|
398
|
+
this.enginePending = null;
|
|
395
399
|
if (this.engine) {
|
|
396
400
|
this.engine.close().catch(console.error);
|
|
397
401
|
this.engine = null;
|
|
@@ -31,6 +31,7 @@ export interface OptimizationObjective {
|
|
|
31
31
|
}
|
|
32
32
|
export interface LearningOptimizeResult {
|
|
33
33
|
action: string;
|
|
34
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
34
35
|
learnResult?: LearnResult;
|
|
35
36
|
optimizeResult?: OptimizeResult;
|
|
36
37
|
transferResult?: TransferResult;
|
|
@@ -39,9 +40,18 @@ export interface LearningOptimizeResult {
|
|
|
39
40
|
}
|
|
40
41
|
export interface LearnResult {
|
|
41
42
|
experiencesProcessed: number;
|
|
43
|
+
/** #1109: experiences with a measured outcome; patterns are learned from these only. */
|
|
44
|
+
measuredExperiences?: number;
|
|
45
|
+
/** #1109: experiences recorded with an assigned reward, excluded from every rate. */
|
|
46
|
+
assignedRewardsExcluded?: number;
|
|
47
|
+
/** #1121: requested experience IDs with no stored experience; not processed. */
|
|
48
|
+
experienceIdsNotFound?: number;
|
|
49
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
42
50
|
patternsLearned: number;
|
|
43
51
|
newPatterns: LearnedPattern[];
|
|
44
|
-
improvement
|
|
52
|
+
/** No baseline is recorded to compare against, so improvement is not measured (#1109). */
|
|
53
|
+
improvement: number | null;
|
|
54
|
+
unmeasured?: string[];
|
|
45
55
|
}
|
|
46
56
|
export interface LearnedPattern {
|
|
47
57
|
id: string;
|
|
@@ -53,6 +63,20 @@ export interface LearnedPattern {
|
|
|
53
63
|
successRate: number;
|
|
54
64
|
}
|
|
55
65
|
export interface OptimizeResult {
|
|
66
|
+
inputSource: 'recorded-experiences';
|
|
67
|
+
experiencesUsed: number;
|
|
68
|
+
/** #1109: recorded experiences left out because their reward was assigned. */
|
|
69
|
+
assignedRewardsExcluded?: number;
|
|
70
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
71
|
+
unmeasured?: string[];
|
|
72
|
+
/** Figures that were modelled, not observed (#1099). */
|
|
73
|
+
estimated?: string[];
|
|
74
|
+
/** How improvement and confidence were derived, when optimization ran. */
|
|
75
|
+
evaluation?: {
|
|
76
|
+
method: 'held-out';
|
|
77
|
+
trainingSamples: number;
|
|
78
|
+
heldOutSamples: number;
|
|
79
|
+
};
|
|
56
80
|
strategiesEvaluated: number;
|
|
57
81
|
bestStrategy: Strategy;
|
|
58
82
|
improvement: number;
|
|
@@ -81,17 +105,33 @@ export interface PatternResult {
|
|
|
81
105
|
byType: Record<string, number>;
|
|
82
106
|
byDomain: Record<string, number>;
|
|
83
107
|
topPatterns: LearnedPattern[];
|
|
84
|
-
|
|
85
|
-
|
|
108
|
+
/** Null when no pattern has a measured rate (#1121); not a 0 that reads as measured. */
|
|
109
|
+
avgConfidence: number | null;
|
|
110
|
+
avgSuccessRate: number | null;
|
|
111
|
+
/** #1109: patterns learned from assigned rewards, left out of every figure. */
|
|
112
|
+
assignedPatternsExcluded?: number;
|
|
113
|
+
/** #1121: untagged patterns mined before #1120, left out of every figure. */
|
|
114
|
+
legacyPatternsExcluded?: number;
|
|
115
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
86
116
|
/** Read-only persisted SONA visibility when an initialized fleet is available. */
|
|
87
117
|
sona?: SONASnapshot;
|
|
88
118
|
}
|
|
89
119
|
export interface DashboardResult {
|
|
90
|
-
|
|
120
|
+
/** Average success rate of patterns with measured rates; null when there are none. */
|
|
121
|
+
overallLearningRate: number | null;
|
|
91
122
|
totalPatterns: number;
|
|
92
123
|
totalKnowledge: number;
|
|
93
124
|
experiencesLast24h: number;
|
|
125
|
+
/** #1109: last-24h experiences excluded from rankings because their reward was assigned. */
|
|
126
|
+
assignedRewardsExcluded?: number;
|
|
127
|
+
/** #1109: stored patterns excluded because they were learned from assigned rewards. */
|
|
128
|
+
assignedPatternsExcluded?: number;
|
|
129
|
+
/** #1121: untagged patterns mined before #1120 (rate selected over successes), excluded likewise. */
|
|
130
|
+
legacyPatternsExcluded?: number;
|
|
131
|
+
/** Ranked by measured success rate; empty when no domain has a measured outcome. */
|
|
94
132
|
topPerformingDomains: DomainName[];
|
|
133
|
+
evidenceStatus?: 'insufficient-evidence';
|
|
134
|
+
unmeasured?: string[];
|
|
95
135
|
learningTrend: TrendPoint[];
|
|
96
136
|
recentMilestones: Milestone[];
|
|
97
137
|
/** Read-only persisted SONA visibility when an initialized fleet is available. */
|
|
@@ -108,7 +148,8 @@ export interface TrendPoint {
|
|
|
108
148
|
}
|
|
109
149
|
export interface Milestone {
|
|
110
150
|
name: string;
|
|
111
|
-
|
|
151
|
+
/** When the milestone was first reached; null because that moment is not recorded (#1109). */
|
|
152
|
+
achievedAt: string | null;
|
|
112
153
|
domain: DomainName;
|
|
113
154
|
}
|
|
114
155
|
export declare class LearningOptimizeTool extends MCPToolBase<LearningOptimizeParams, LearningOptimizeResult> {
|
|
@@ -119,6 +160,12 @@ export declare class LearningOptimizeTool extends MCPToolBase<LearningOptimizePa
|
|
|
119
160
|
private getServices;
|
|
120
161
|
execute(params: LearningOptimizeParams, context: MCPToolContext): Promise<ToolResult<LearningOptimizeResult>>;
|
|
121
162
|
private executeLearn;
|
|
163
|
+
/**
|
|
164
|
+
* #1121: learn from explicitly requested experiences. experiencesProcessed
|
|
165
|
+
* is the number actually read; IDs with no stored experience are counted in
|
|
166
|
+
* experienceIdsNotFound instead of being reported as processed.
|
|
167
|
+
*/
|
|
168
|
+
private learnFromExperienceIds;
|
|
122
169
|
/**
|
|
123
170
|
* Return demo learn results when no real data available.
|
|
124
171
|
* Only used when demoMode is explicitly requested or as fallback with warning.
|