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
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,440 @@ All notable changes to the Agentic QE project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.15.10] - 2026-10-19
|
|
9
|
+
|
|
10
|
+
Files named in a request are now read only when they are inside your
|
|
11
|
+
project, and secrets in test failures are redacted everywhere AQE returns
|
|
12
|
+
or stores them. Advertised `aqe fleet run` and `task_orchestrate` commands
|
|
13
|
+
run real handlers and judge what they returned. A dream can no longer lose
|
|
14
|
+
an acknowledged memory write, git and other slow tools no longer freeze
|
|
15
|
+
the MCP server, and the learning success rate counts measured outcomes
|
|
16
|
+
only. Every change was reviewed adversarially before merge.
|
|
17
|
+
|
|
18
|
+
### Security
|
|
19
|
+
|
|
20
|
+
- **Paths in a request are read only inside the project** ([#1126],
|
|
21
|
+
[#1162], [#1125], [#1144]): before, a caller could ask AQE over MCP to
|
|
22
|
+
read any file on the machine, and one request for `/dev/zero` crashed the
|
|
23
|
+
server. Every handler that reads a file or folder named in a request
|
|
24
|
+
(`generate-tests`, `execute-tests`, `predict-defects`, `sast-scan`,
|
|
25
|
+
`security_scan_comprehensive`, `coverage_analyze_sublinear`,
|
|
26
|
+
`code_index`, `contract_validate` and others) now applies one shared
|
|
27
|
+
check, on every entry point: MCP tools, `task_submit`,
|
|
28
|
+
`task_orchestrate` and `aqe task submit`.
|
|
29
|
+
- The real location, with every symlink followed, must be inside the
|
|
30
|
+
project root. A symlink that points out, and `src/link/../x` when
|
|
31
|
+
`src/link` points out, are refused.
|
|
32
|
+
- Only regular files are read, at most 2 MB each where a file is read
|
|
33
|
+
whole. Devices, FIFOs and (except where a folder is expected)
|
|
34
|
+
directories are refused before anything is opened.
|
|
35
|
+
- A path outside the project is refused without touching the
|
|
36
|
+
filesystem, so the error does not reveal whether the file exists.
|
|
37
|
+
- The refusal is a caller error: it is not retried and does not trip the
|
|
38
|
+
domain circuit breaker.
|
|
39
|
+
- **Secrets in test failures are redacted** ([#1122], [#1139]): a
|
|
40
|
+
connection string, AWS key or bearer token in a failing test's message
|
|
41
|
+
used to come back verbatim from `test_execute_parallel` and
|
|
42
|
+
`aqe test execute`, and was saved under `.agentic-qe/results/`, in
|
|
43
|
+
session logs and in `memory.db` (test runs, experiences, retry and flaky
|
|
44
|
+
history). All of these copies are now redacted, before any length cap,
|
|
45
|
+
so a secret cut in half cannot survive. The `error` of every MCP domain
|
|
46
|
+
tool is redacted as a backstop.
|
|
47
|
+
- **Lookups keyed by caller data read own properties only** ([#1136],
|
|
48
|
+
[#1156], [#1118], [#1132]):
|
|
49
|
+
- `${constructor}` or `{{toString}}` in a pipeline YAML, browser
|
|
50
|
+
workflow, workflow condition or cross-phase hook no longer expands to
|
|
51
|
+
native function source. It stays literal.
|
|
52
|
+
- JSON Pointer and JSON Patch paths such as `/__proto__/x` in the A2UI
|
|
53
|
+
and AG-UI adapters can no longer write to `Object.prototype`.
|
|
54
|
+
- Required-property checks in contract, enterprise-integration and MCP
|
|
55
|
+
schema validation no longer count an inherited `constructor` as
|
|
56
|
+
present.
|
|
57
|
+
- Name tables (agent names, gate rules, routing categories,
|
|
58
|
+
`aqe ruvector flags --profile`, faker paths and recovery playbook
|
|
59
|
+
services) no longer match inherited members. Thanks to @rudycelekli
|
|
60
|
+
for the recovery playbook fix.
|
|
61
|
+
- **DAST scans fail when the target cannot be reached** ([#1092]): an
|
|
62
|
+
initial 401/403 now fails with `DAST_AUTHENTICATION_FAILED` and a 5xx
|
|
63
|
+
with `DAST_TARGET_UNAVAILABLE`. Before, an unreachable target could
|
|
64
|
+
produce a completed scan. Failed follow-up probes fail the scan, and a
|
|
65
|
+
failed scan is not stored as completed. Thanks to @rudycelekli.
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- **Dreams no longer put memory writes at risk** ([#1060], [#1160]): a
|
|
70
|
+
dream does its work in memory and writes its results in one short
|
|
71
|
+
transaction at the end. An acknowledged `memory_store` made during a
|
|
72
|
+
dream is kept however the dream ends: it finishes, is cancelled, the
|
|
73
|
+
engine closes, stdin closes or the process is killed. `cancelDream()`,
|
|
74
|
+
`close()` and shutdown stop a dream at once and record it `interrupted`.
|
|
75
|
+
A second dream request while one runs is refused instead of interrupting
|
|
76
|
+
it. A cycle left `running` by a dead process is marked `interrupted`
|
|
77
|
+
(never deleted) after 11 minutes. Thanks to @pacphi for the report and
|
|
78
|
+
reproduction in [#1060].
|
|
79
|
+
- **Slow child processes no longer freeze the MCP server** ([#1115],
|
|
80
|
+
[#1148]): git (defect prediction, task routing, the quality daemon's
|
|
81
|
+
watcher), `cloc`/`tokei` and test-runner listings for `code_index`, and
|
|
82
|
+
`npx agent-browser` for the browser tools now run asynchronously with
|
|
83
|
+
timeouts. A timeout stops the child's whole process group, so nothing is
|
|
84
|
+
left running. With a git that took 1 s per call, `fleet_status` used to
|
|
85
|
+
wait up to 12 s; now it answers in well under a second.
|
|
86
|
+
- **Learning's success rate counts measured outcomes only** ([#1129],
|
|
87
|
+
[#1121], [#1142]): `aqe learning stats` said 100% after test runs with a
|
|
88
|
+
failing test. Now only a test run is a measured outcome (it passes when
|
|
89
|
+
every test passed, and both results are recorded), and the rate counts
|
|
90
|
+
runs, not rows. Completed calls, errors, hook-reported `--success` and
|
|
91
|
+
session-consolidation aggregates count as uses, not verdicts. Existing
|
|
92
|
+
rows are classified on read; nothing is deleted or rewritten. The
|
|
93
|
+
learning dashboard no longer shows an invented `0.5` learning rate or a
|
|
94
|
+
`100%` transfer rate, and patterns stored before 3.15.9 are kept but left
|
|
95
|
+
out of stats.
|
|
96
|
+
- **Learning consolidation cannot lose patterns** ([#1106], [#1143]): a
|
|
97
|
+
merge now reads back every archived source and the merged pattern before
|
|
98
|
+
removing the sources. If any step fails, nothing is merged. A failed
|
|
99
|
+
domain or merge is reported as `status: 'partial'` with an `errors` list
|
|
100
|
+
instead of success. A dry run now predicts the same trims as a real run,
|
|
101
|
+
and a key scan that never ends stops with an error.
|
|
102
|
+
- **Advertised commands run real handlers** ([#1125], [#1144]):
|
|
103
|
+
`aqe fleet run scan` runs a SAST scan on the target's JS/TS files,
|
|
104
|
+
`analyze` uses the coverage report that already exists for the target,
|
|
105
|
+
and `test` generates tests for the target's sources. `task_orchestrate`
|
|
106
|
+
routes `scan-security` to `sast-scan` and `assess-quality` to
|
|
107
|
+
`analyze-quality` when you pass `filePaths`. Requests that lack the
|
|
108
|
+
input a handler needs are refused with the tool to use instead; nothing
|
|
109
|
+
is estimated. `task_submit` with `sast-scan` now accepts plain path
|
|
110
|
+
strings.
|
|
111
|
+
- **Index tasks run, or are refused up front** ([#1086], [#1134],
|
|
112
|
+
[#1159]): an inferred `index-code` task now runs the code-intelligence
|
|
113
|
+
handler with the paths it was given. Thanks to @rudycelekli.
|
|
114
|
+
- **Queen slots are always handed on** ([#1127], [#1138], [#1140],
|
|
115
|
+
[#1152]): a slot freed while the queue drains goes to the next queued
|
|
116
|
+
task. Work stealing moves a task only to a domain that can run it and
|
|
117
|
+
never exceeds `maxConcurrentTasks`. A failure at dispatch publishes
|
|
118
|
+
`QueenTaskFailed` once and frees its slot once; a plugin that throws no
|
|
119
|
+
longer leaves its task `running`.
|
|
120
|
+
- **Retries rerun tests inside `describe` blocks** ([#1141], [#1151]): the
|
|
121
|
+
retry filter only ever matched top-level tests. It now matches the full
|
|
122
|
+
name for Vitest, Jest and Mocha. A retry that selects no test is
|
|
123
|
+
reported as `unmatched` instead of counting as an attempt.
|
|
124
|
+
- **Retry results are reported** ([#1130], [#1163]):
|
|
125
|
+
`test_execute_parallel` returns `retryStats` (retries run, now passing,
|
|
126
|
+
still failing, per test) and `aqe test execute` prints a `Retries:` line.
|
|
127
|
+
- **`fleet_status` stays healthy during a test run** ([#1130], [#1163]):
|
|
128
|
+
the agent spawned for one task no longer marks the fleet `degraded`
|
|
129
|
+
while it runs or after it finishes. Real topology problems and failed
|
|
130
|
+
agents still degrade the status. `fleet_health({ detailed: true })`
|
|
131
|
+
shows the raw MinCut reading.
|
|
132
|
+
- **Chaos wording is not run as tests** ([#1130], [#1163]): "Run chaos
|
|
133
|
+
resilience testing with fault injection" now gets chaos guidance from
|
|
134
|
+
`task_orchestrate` instead of being submitted as `execute-tests`.
|
|
135
|
+
- **Dream archive and worker status are reported truthfully** ([#1116],
|
|
136
|
+
[#1155]): a stale insight with a NULL id no longer makes every retention
|
|
137
|
+
sweep fail. The generated `start-daemon.cjs` honours
|
|
138
|
+
`AQE_WORKERS_ENABLED` (environment or Claude settings files) and says
|
|
139
|
+
"started" only when the server is still running. MCP startup reports
|
|
140
|
+
workers as `starting` until they have started.
|
|
141
|
+
- **Concurrent startups no longer fail with "database is locked" during a
|
|
142
|
+
schema migration** ([#1116], [#1155]): a migration takes the write lock
|
|
143
|
+
up front and waits for it.
|
|
144
|
+
- **Defect predictions reach the background worker** ([#1088]): public
|
|
145
|
+
predictions are recorded in the shape the worker reads, history is
|
|
146
|
+
bounded to the newest 32 runs, and the newest result is no longer hidden
|
|
147
|
+
behind an old scan cap. Static scores are labelled as estimates. Thanks
|
|
148
|
+
to @rudycelekli.
|
|
149
|
+
|
|
150
|
+
### Changed
|
|
151
|
+
|
|
152
|
+
- **`task_orchestrate` and fleet responses:** `type` is now the handler
|
|
153
|
+
type that actually ran (for example `sast-scan`). The type inferred from
|
|
154
|
+
the description moves to the new field `inferredType`. Clients that read
|
|
155
|
+
`type` as the inferred type should read `inferredType`.
|
|
156
|
+
- **`aqe fleet run` shows results and a verdict.** It prints the findings,
|
|
157
|
+
coverage or generated tests, and exits 1 with `Verdict: FAILED (…)` on a
|
|
158
|
+
critical or high finding, incomplete scan evidence, a failed quality
|
|
159
|
+
gate, coverage below 80% or an unreadable result. The count line now
|
|
160
|
+
says `Completed: N` instead of `Successful: N`.
|
|
161
|
+
- **Payload paths are confined to the project root.** After `aqe init` in
|
|
162
|
+
a monorepo package, a sibling package such as `../b/tests/x.test.ts` is
|
|
163
|
+
refused. Set `AQE_PROJECT_ROOT=<repo root>` to let packages reach each
|
|
164
|
+
other.
|
|
165
|
+
- **Interpolation no longer resolves inherited values.** `${constructor}`,
|
|
166
|
+
`${toString}` and similar placeholders stay literal unless you define
|
|
167
|
+
them.
|
|
168
|
+
- **`enableBranching` is a deprecated no-op.** The option is still
|
|
169
|
+
accepted and logs a warning. `RVCOWBranchManager` is deprecated.
|
|
170
|
+
- **Index tasks without `paths` are refused at submit.** `task_submit` and
|
|
171
|
+
`aqe task submit` with `index` or `index-code` need a non-empty `paths`
|
|
172
|
+
list, and `task_orchestrate` needs `filePaths`. Use `code_index` or
|
|
173
|
+
`aqe code index` to index a directory.
|
|
174
|
+
- **`task_orchestrate` refuses `optimize-learning` from free text**,
|
|
175
|
+
because it overwrites the stored learned strategies. Use `task_submit`
|
|
176
|
+
with type `optimize-strategies`. `run-chaos`, `validate-contracts`,
|
|
177
|
+
`validate-requirements` and `test-accessibility` are refused with the
|
|
178
|
+
tool to use instead.
|
|
179
|
+
- **Schema v14.** The `dream_insights_archive` table moves into the
|
|
180
|
+
versioned schema with an additive, idempotent migration. 3.15.8 and
|
|
181
|
+
3.15.9 still open a migrated database.
|
|
182
|
+
- **Learning success rates count measured outcomes only.** Projects that
|
|
183
|
+
only have hook-reported outcomes now show "insufficient evidence"
|
|
184
|
+
instead of 100%. `aqe learning stats --json` reports `measuredOutcomes`
|
|
185
|
+
and `unmeasuredOutcomes`, and `patternSuccessRate` can be `null`.
|
|
186
|
+
- **Git timeouts are reported as unavailable, never as 0.** A prediction
|
|
187
|
+
whose git history timed out carries a `warnings` entry, and its metrics
|
|
188
|
+
are not cached.
|
|
189
|
+
|
|
190
|
+
### Known issues
|
|
191
|
+
|
|
192
|
+
- `task_orchestrate` still fails on an install without an embedder (the
|
|
193
|
+
optional `@huggingface/transformers` package or `AQE_EMBEDDER_ENDPOINT`),
|
|
194
|
+
so its new routing is only reachable with one configured ([#1022]).
|
|
195
|
+
- Payload path checks and the read that follows are not atomic, so a path
|
|
196
|
+
swapped between them is not caught yet ([#1161]).
|
|
197
|
+
- Some direct `map[userKey]` lookups on plain objects remain to be audited
|
|
198
|
+
([#1157]).
|
|
199
|
+
- `aqe fleet run analyze` and `aqe coverage` can pass from a report that
|
|
200
|
+
covers only part of the target ([#1154]).
|
|
201
|
+
- The daemon spawned by `start-daemon.cjs` exits on stdin EOF, so it never
|
|
202
|
+
stays up; it now says so instead of reporting "started" ([#1158]).
|
|
203
|
+
- A rare "database is locked" on concurrent first open of a non-WAL
|
|
204
|
+
database ([#1164]).
|
|
205
|
+
- Git timeout follow-ups: per-path deadlines and the watcher baseline
|
|
206
|
+
([#1165]).
|
|
207
|
+
- Queen follow-ups: a late `onComplete` can settle twice, and work stealing
|
|
208
|
+
rarely runs under the slot cap ([#1153]).
|
|
209
|
+
- Learning outcome follow-ups: failures can still mint patterns, and
|
|
210
|
+
routing still uses completion-based success ([#1147]).
|
|
211
|
+
- Pattern consolidation follow-ups: id-only read-back and no
|
|
212
|
+
compare-and-delete ([#1149]).
|
|
213
|
+
|
|
214
|
+
[#1022]: https://github.com/proffesor-for-testing/agentic-qe/issues/1022
|
|
215
|
+
[#1060]: https://github.com/proffesor-for-testing/agentic-qe/issues/1060
|
|
216
|
+
[#1086]: https://github.com/proffesor-for-testing/agentic-qe/pull/1086
|
|
217
|
+
[#1088]: https://github.com/proffesor-for-testing/agentic-qe/pull/1088
|
|
218
|
+
[#1092]: https://github.com/proffesor-for-testing/agentic-qe/pull/1092
|
|
219
|
+
[#1106]: https://github.com/proffesor-for-testing/agentic-qe/issues/1106
|
|
220
|
+
[#1115]: https://github.com/proffesor-for-testing/agentic-qe/issues/1115
|
|
221
|
+
[#1116]: https://github.com/proffesor-for-testing/agentic-qe/issues/1116
|
|
222
|
+
[#1118]: https://github.com/proffesor-for-testing/agentic-qe/issues/1118
|
|
223
|
+
[#1121]: https://github.com/proffesor-for-testing/agentic-qe/issues/1121
|
|
224
|
+
[#1122]: https://github.com/proffesor-for-testing/agentic-qe/issues/1122
|
|
225
|
+
[#1125]: https://github.com/proffesor-for-testing/agentic-qe/issues/1125
|
|
226
|
+
[#1126]: https://github.com/proffesor-for-testing/agentic-qe/issues/1126
|
|
227
|
+
[#1127]: https://github.com/proffesor-for-testing/agentic-qe/issues/1127
|
|
228
|
+
[#1129]: https://github.com/proffesor-for-testing/agentic-qe/issues/1129
|
|
229
|
+
[#1130]: https://github.com/proffesor-for-testing/agentic-qe/issues/1130
|
|
230
|
+
[#1132]: https://github.com/proffesor-for-testing/agentic-qe/pull/1132
|
|
231
|
+
[#1134]: https://github.com/proffesor-for-testing/agentic-qe/issues/1134
|
|
232
|
+
[#1136]: https://github.com/proffesor-for-testing/agentic-qe/issues/1136
|
|
233
|
+
[#1138]: https://github.com/proffesor-for-testing/agentic-qe/pull/1138
|
|
234
|
+
[#1139]: https://github.com/proffesor-for-testing/agentic-qe/pull/1139
|
|
235
|
+
[#1140]: https://github.com/proffesor-for-testing/agentic-qe/issues/1140
|
|
236
|
+
[#1141]: https://github.com/proffesor-for-testing/agentic-qe/issues/1141
|
|
237
|
+
[#1142]: https://github.com/proffesor-for-testing/agentic-qe/pull/1142
|
|
238
|
+
[#1143]: https://github.com/proffesor-for-testing/agentic-qe/pull/1143
|
|
239
|
+
[#1144]: https://github.com/proffesor-for-testing/agentic-qe/pull/1144
|
|
240
|
+
[#1147]: https://github.com/proffesor-for-testing/agentic-qe/issues/1147
|
|
241
|
+
[#1148]: https://github.com/proffesor-for-testing/agentic-qe/pull/1148
|
|
242
|
+
[#1149]: https://github.com/proffesor-for-testing/agentic-qe/issues/1149
|
|
243
|
+
[#1151]: https://github.com/proffesor-for-testing/agentic-qe/pull/1151
|
|
244
|
+
[#1152]: https://github.com/proffesor-for-testing/agentic-qe/pull/1152
|
|
245
|
+
[#1153]: https://github.com/proffesor-for-testing/agentic-qe/issues/1153
|
|
246
|
+
[#1154]: https://github.com/proffesor-for-testing/agentic-qe/issues/1154
|
|
247
|
+
[#1155]: https://github.com/proffesor-for-testing/agentic-qe/pull/1155
|
|
248
|
+
[#1156]: https://github.com/proffesor-for-testing/agentic-qe/pull/1156
|
|
249
|
+
[#1157]: https://github.com/proffesor-for-testing/agentic-qe/issues/1157
|
|
250
|
+
[#1158]: https://github.com/proffesor-for-testing/agentic-qe/issues/1158
|
|
251
|
+
[#1159]: https://github.com/proffesor-for-testing/agentic-qe/pull/1159
|
|
252
|
+
[#1160]: https://github.com/proffesor-for-testing/agentic-qe/pull/1160
|
|
253
|
+
[#1161]: https://github.com/proffesor-for-testing/agentic-qe/issues/1161
|
|
254
|
+
[#1162]: https://github.com/proffesor-for-testing/agentic-qe/pull/1162
|
|
255
|
+
[#1163]: https://github.com/proffesor-for-testing/agentic-qe/pull/1163
|
|
256
|
+
[#1164]: https://github.com/proffesor-for-testing/agentic-qe/issues/1164
|
|
257
|
+
[#1165]: https://github.com/proffesor-for-testing/agentic-qe/issues/1165
|
|
258
|
+
|
|
259
|
+
## [3.15.9] - 2026-10-17
|
|
260
|
+
|
|
261
|
+
Tasks no longer get stuck in `running` and quietly use up Queen slots.
|
|
262
|
+
`test_execute_parallel` and the learning tools now report only what was
|
|
263
|
+
actually measured, without made-up efficiency numbers, sample data or
|
|
264
|
+
success rates. Test runs no longer freeze the MCP server, and code indexing
|
|
265
|
+
stays inside your project. Every change was reviewed adversarially before
|
|
266
|
+
merge.
|
|
267
|
+
|
|
268
|
+
### Fixed
|
|
269
|
+
|
|
270
|
+
- **Tasks no longer get stuck and use up Queen slots** ([#1070], [#1075],
|
|
271
|
+
[#1077], [#1081], [#1076], [#1079], [#1082], [#1085], [#1107]): several
|
|
272
|
+
paths left a task `running` forever, each one holding a concurrency slot.
|
|
273
|
+
After 50 such tasks, every new submission was queued and never ran.
|
|
274
|
+
- `quality_assess` gives its slot back. The anti-drift middleware was
|
|
275
|
+
silently dropping its `TaskCompleted` event.
|
|
276
|
+
- `task_submit`, `aqe task submit`, `task_orchestrate` and `aqe fleet run`
|
|
277
|
+
reject a task type that no domain plugin runs. The error names the
|
|
278
|
+
domain and the types it supports.
|
|
279
|
+
- As a backstop, the Queen fails any task it owns that has no handler,
|
|
280
|
+
with the reason, and frees the slot.
|
|
281
|
+
- The anti-drift middleware never drops task lifecycle events. When it
|
|
282
|
+
drops any other event, it logs a rate-limited warning on stderr with the
|
|
283
|
+
event type and source, never the payload. If the embedding service fails
|
|
284
|
+
part-way, events are still delivered (marked unverified) instead of
|
|
285
|
+
`publish()` failing.
|
|
286
|
+
- **Test runs no longer freeze the MCP server** ([#1074], [#1114]): the
|
|
287
|
+
`execute-tests` runner, `coverage_analyze_sublinear` on a Rust crate
|
|
288
|
+
(`cargo llvm-cov`, up to 300 s) and `advisor_consult` (up to 60 s) used
|
|
289
|
+
blocking child-process calls that froze every other MCP request until they
|
|
290
|
+
finished. They now run asynchronously, with the same exit codes, output,
|
|
291
|
+
timeouts and output limits as before.
|
|
292
|
+
- **`test_execute_parallel` runs your suite once and reports real numbers**
|
|
293
|
+
([#1059], [#1065], [#1110], [#1113]): one request no longer starts two
|
|
294
|
+
test runs. The 0.85 efficiency, 0.9 load balance and made-up `test_case_N`
|
|
295
|
+
durations are gone. Per-test results come from the Vitest or Jest JSON
|
|
296
|
+
report. Anything that was not measured is left out and listed in
|
|
297
|
+
`unmeasured`, with a reason in `unmeasuredReasons`. Each run is stored in
|
|
298
|
+
learning once instead of twice.
|
|
299
|
+
- **Learning reports only what it measured** ([#1093], [#1099], [#1105],
|
|
300
|
+
[#1109], [#1120]):
|
|
301
|
+
- `qe/learning/optimize` optimizes the experiences that were actually
|
|
302
|
+
recorded. Before, it generated random samples.
|
|
303
|
+
- A/B tests no longer pad with random samples, the default strategy no
|
|
304
|
+
longer claims a 0.7 outcome, and optimizer confidence is scored on
|
|
305
|
+
held-out records.
|
|
306
|
+
- Experiences with a fixed reward (generated tests, defect predictions,
|
|
307
|
+
impact analyses and coverage gaps) are still recorded, now tagged
|
|
308
|
+
`rewardSource: 'assigned'`. They no longer count toward success rates,
|
|
309
|
+
pattern confidence, domain rankings, milestones or anomaly baselines.
|
|
310
|
+
- With too little measured data, the tools say `insufficient-evidence`
|
|
311
|
+
instead of reporting 100%.
|
|
312
|
+
- **Learning data is read from where it is written** ([#1071], [#1084],
|
|
313
|
+
[#1089], [#1103]): export, import, consolidation, transfer and shared
|
|
314
|
+
knowledge lookups use the `learning-optimization` namespace that learning
|
|
315
|
+
writes to. Export now returns every active pattern. Before, it stopped at
|
|
316
|
+
about 5,000. An import no longer overwrites newer knowledge or a better
|
|
317
|
+
strategy with stale data. Thanks to @rudycelekli.
|
|
318
|
+
- **Code indexing stays inside your project** ([#1096], [#1123]): a symlink
|
|
319
|
+
inside the project that points outside it is skipped and reported instead
|
|
320
|
+
of read. Missing files and directories are no longer counted as indexed.
|
|
321
|
+
A request that indexes nothing now fails: the MCP task is marked failed
|
|
322
|
+
and the CLI exits with code 1.
|
|
323
|
+
- **Dream insights are archived, not deleted** ([#1066], [#1112]): the
|
|
324
|
+
retention sweep moves stale unapplied insights into a new
|
|
325
|
+
`dream_insights_archive` table, in one transaction that deletes only rows
|
|
326
|
+
whose copy is verified. `AQE_DREAM_INSIGHTS_RETENTION_DAYS=false`, `no`,
|
|
327
|
+
`disabled`, `none` and `never` now turn the sweep off. An unreadable value
|
|
328
|
+
also leaves it off, with a warning. Before, it fell back to deleting at
|
|
329
|
+
30 days.
|
|
330
|
+
- **Worker settings** ([#1066], [#1112]): worker ids in
|
|
331
|
+
`AQE_DISABLED_WORKERS` are no longer case-sensitive. `aqe daemon start`
|
|
332
|
+
and the generated `start-daemon.cjs` respect `AQE_WORKERS_ENABLED`. The
|
|
333
|
+
QualityDaemon no longer waits about 150 s for every worker's first run
|
|
334
|
+
before it starts.
|
|
335
|
+
- **Invalid task priorities are rejected** ([#1108], [#1111]):
|
|
336
|
+
`task_submit` and `aqe task submit` accept only `p0` to `p3`, with the
|
|
337
|
+
same error on both paths. Before, any string was accepted.
|
|
338
|
+
- **Test-execution experiences no longer show up as fake test runs**
|
|
339
|
+
([#1095], [#1100]).
|
|
340
|
+
- **Deleting an unfinished task no longer unblocks the tasks that depend on
|
|
341
|
+
it** ([#1069], [#1098]): this affects library users of the `TaskDAG` and
|
|
342
|
+
`DAGScheduler` API. Every dependency now has a typed status. Each change
|
|
343
|
+
of status writes an audit receipt, and an unfinished prerequisite can only
|
|
344
|
+
be bypassed by an explicit, attributed waiver.
|
|
345
|
+
- **Coverage for monorepo packages** ([#1036]): a package with no test
|
|
346
|
+
runner config of its own uses the workspace root's config, so coverage is
|
|
347
|
+
measured instead of estimated. Thanks to @rudycelekli.
|
|
348
|
+
- **CRDT registers** ([#1062], [#1063]): a register created by a read can no
|
|
349
|
+
longer erase a negative-timestamp write on merge. A second local write in
|
|
350
|
+
the same millisecond is no longer dropped. Thanks to @rudycelekli.
|
|
351
|
+
- **Names like `constructor` or `__proto__`** ([#1064], [#1083], [#1104]):
|
|
352
|
+
CI workflows, claim agents, infra services, model ids and task domains
|
|
353
|
+
with these names no longer crash or read inherited values. Thanks to
|
|
354
|
+
@rudycelekli.
|
|
355
|
+
- **Empty LLM completions are no longer cached** ([#1090]), so a provider
|
|
356
|
+
refusal does not block retries of the same prompt until the cache entry
|
|
357
|
+
expires. Thanks to @rudycelekli.
|
|
358
|
+
|
|
359
|
+
### Changed
|
|
360
|
+
|
|
361
|
+
- **`task_orchestrate` and `aqe fleet run scan`** now return an error for
|
|
362
|
+
`scan-security`, `run-chaos` and `assess-quality`, which no domain plugin
|
|
363
|
+
runs. Before, these tasks were accepted and never finished. Routing them
|
|
364
|
+
to real handlers is tracked in [#1124].
|
|
365
|
+
- **`test_execute_parallel` output**: fields with no measurement behind them,
|
|
366
|
+
such as `workerStats.efficiency`, `workerStats.loadBalance`, `retryStats`
|
|
367
|
+
and per-test `results`, are left out of the response and named in
|
|
368
|
+
`unmeasured`. Code that read those fields unconditionally needs to handle
|
|
369
|
+
their absence.
|
|
370
|
+
- **Learning totals can drop.** Success rates, confidence, rankings and
|
|
371
|
+
milestones now count measured outcomes only.
|
|
372
|
+
- **For library users:** `TaskDAG.removeTask` no longer marks dependents
|
|
373
|
+
ready. Use a waiver to let them run.
|
|
374
|
+
|
|
375
|
+
### Known issues
|
|
376
|
+
|
|
377
|
+
- Dreams still need the full rework ([#1060]).
|
|
378
|
+
- The anti-drift middleware still runs model inference for every event on
|
|
379
|
+
the in-process bus ([#1078]).
|
|
380
|
+
- `task_orchestrate` and fleet scans do not route security, chaos or
|
|
381
|
+
quality tasks to their domains yet ([#1124], [#1125]).
|
|
382
|
+
- Some MCP-reachable paths still use blocking child-process calls
|
|
383
|
+
([#1115]).
|
|
384
|
+
- Test failure messages and runner output are not yet redacted for secrets
|
|
385
|
+
([#1122]).
|
|
386
|
+
- In a narrow case, a task that fails at dispatch while the Queen is
|
|
387
|
+
draining its queue can leave a free slot unused until the next submission
|
|
388
|
+
([#1127]).
|
|
389
|
+
- Workspace member dependencies are not scanned from a monorepo root yet
|
|
390
|
+
([#1057]).
|
|
391
|
+
|
|
392
|
+
[#1036]: https://github.com/proffesor-for-testing/agentic-qe/pull/1036
|
|
393
|
+
[#1057]: https://github.com/proffesor-for-testing/agentic-qe/issues/1057
|
|
394
|
+
[#1059]: https://github.com/proffesor-for-testing/agentic-qe/issues/1059
|
|
395
|
+
[#1060]: https://github.com/proffesor-for-testing/agentic-qe/issues/1060
|
|
396
|
+
[#1062]: https://github.com/proffesor-for-testing/agentic-qe/pull/1062
|
|
397
|
+
[#1063]: https://github.com/proffesor-for-testing/agentic-qe/pull/1063
|
|
398
|
+
[#1064]: https://github.com/proffesor-for-testing/agentic-qe/pull/1064
|
|
399
|
+
[#1065]: https://github.com/proffesor-for-testing/agentic-qe/pull/1065
|
|
400
|
+
[#1066]: https://github.com/proffesor-for-testing/agentic-qe/issues/1066
|
|
401
|
+
[#1069]: https://github.com/proffesor-for-testing/agentic-qe/issues/1069
|
|
402
|
+
[#1070]: https://github.com/proffesor-for-testing/agentic-qe/issues/1070
|
|
403
|
+
[#1071]: https://github.com/proffesor-for-testing/agentic-qe/issues/1071
|
|
404
|
+
[#1074]: https://github.com/proffesor-for-testing/agentic-qe/issues/1074
|
|
405
|
+
[#1075]: https://github.com/proffesor-for-testing/agentic-qe/issues/1075
|
|
406
|
+
[#1076]: https://github.com/proffesor-for-testing/agentic-qe/pull/1076
|
|
407
|
+
[#1077]: https://github.com/proffesor-for-testing/agentic-qe/issues/1077
|
|
408
|
+
[#1078]: https://github.com/proffesor-for-testing/agentic-qe/issues/1078
|
|
409
|
+
[#1079]: https://github.com/proffesor-for-testing/agentic-qe/pull/1079
|
|
410
|
+
[#1081]: https://github.com/proffesor-for-testing/agentic-qe/issues/1081
|
|
411
|
+
[#1082]: https://github.com/proffesor-for-testing/agentic-qe/pull/1082
|
|
412
|
+
[#1083]: https://github.com/proffesor-for-testing/agentic-qe/pull/1083
|
|
413
|
+
[#1084]: https://github.com/proffesor-for-testing/agentic-qe/pull/1084
|
|
414
|
+
[#1085]: https://github.com/proffesor-for-testing/agentic-qe/pull/1085
|
|
415
|
+
[#1089]: https://github.com/proffesor-for-testing/agentic-qe/pull/1089
|
|
416
|
+
[#1090]: https://github.com/proffesor-for-testing/agentic-qe/pull/1090
|
|
417
|
+
[#1093]: https://github.com/proffesor-for-testing/agentic-qe/pull/1093
|
|
418
|
+
[#1095]: https://github.com/proffesor-for-testing/agentic-qe/issues/1095
|
|
419
|
+
[#1096]: https://github.com/proffesor-for-testing/agentic-qe/issues/1096
|
|
420
|
+
[#1098]: https://github.com/proffesor-for-testing/agentic-qe/pull/1098
|
|
421
|
+
[#1099]: https://github.com/proffesor-for-testing/agentic-qe/issues/1099
|
|
422
|
+
[#1100]: https://github.com/proffesor-for-testing/agentic-qe/pull/1100
|
|
423
|
+
[#1103]: https://github.com/proffesor-for-testing/agentic-qe/pull/1103
|
|
424
|
+
[#1104]: https://github.com/proffesor-for-testing/agentic-qe/pull/1104
|
|
425
|
+
[#1105]: https://github.com/proffesor-for-testing/agentic-qe/pull/1105
|
|
426
|
+
[#1107]: https://github.com/proffesor-for-testing/agentic-qe/pull/1107
|
|
427
|
+
[#1108]: https://github.com/proffesor-for-testing/agentic-qe/issues/1108
|
|
428
|
+
[#1109]: https://github.com/proffesor-for-testing/agentic-qe/issues/1109
|
|
429
|
+
[#1110]: https://github.com/proffesor-for-testing/agentic-qe/issues/1110
|
|
430
|
+
[#1111]: https://github.com/proffesor-for-testing/agentic-qe/pull/1111
|
|
431
|
+
[#1112]: https://github.com/proffesor-for-testing/agentic-qe/pull/1112
|
|
432
|
+
[#1113]: https://github.com/proffesor-for-testing/agentic-qe/pull/1113
|
|
433
|
+
[#1114]: https://github.com/proffesor-for-testing/agentic-qe/pull/1114
|
|
434
|
+
[#1115]: https://github.com/proffesor-for-testing/agentic-qe/issues/1115
|
|
435
|
+
[#1120]: https://github.com/proffesor-for-testing/agentic-qe/pull/1120
|
|
436
|
+
[#1122]: https://github.com/proffesor-for-testing/agentic-qe/issues/1122
|
|
437
|
+
[#1123]: https://github.com/proffesor-for-testing/agentic-qe/pull/1123
|
|
438
|
+
[#1124]: https://github.com/proffesor-for-testing/agentic-qe/issues/1124
|
|
439
|
+
[#1125]: https://github.com/proffesor-for-testing/agentic-qe/issues/1125
|
|
440
|
+
[#1127]: https://github.com/proffesor-for-testing/agentic-qe/issues/1127
|
|
441
|
+
|
|
8
442
|
## [3.15.8] - 2026-10-16
|
|
9
443
|
|
|
10
444
|
Your acknowledged memory writes are no longer lost when a dream is running,
|
|
@@ -965,7 +965,8 @@ export function validateComponent(component, componentType) {
|
|
|
965
965
|
// Check required properties
|
|
966
966
|
if (schema.required) {
|
|
967
967
|
for (const prop of schema.required) {
|
|
968
|
-
|
|
968
|
+
// #1136: own properties only; an inherited `constructor` is not present.
|
|
969
|
+
if (!Object.hasOwn(comp, prop)) {
|
|
969
970
|
errors.push({
|
|
970
971
|
path: prop,
|
|
971
972
|
message: `Missing required property: ${prop}`,
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @see https://www.rfc-editor.org/rfc/rfc6901
|
|
8
8
|
* @module adapters/a2ui/data/json-pointer-resolver
|
|
9
9
|
*/
|
|
10
|
+
import { setOwn } from '../../../shared/utils/safe-record.js';
|
|
10
11
|
// ============================================================================
|
|
11
12
|
// Types
|
|
12
13
|
// ============================================================================
|
|
@@ -176,7 +177,9 @@ export function resolvePointerWithInfo(data, pointer) {
|
|
|
176
177
|
else {
|
|
177
178
|
// Object access
|
|
178
179
|
const obj = current;
|
|
179
|
-
|
|
180
|
+
// #1136: own properties only; `/constructor` or `/__proto__` does not
|
|
181
|
+
// resolve to an inherited member.
|
|
182
|
+
if (!Object.hasOwn(obj, segment)) {
|
|
180
183
|
return { found: false, value: undefined };
|
|
181
184
|
}
|
|
182
185
|
lastKey = segment;
|
|
@@ -239,9 +242,11 @@ export function setAtPointer(data, pointer, value) {
|
|
|
239
242
|
}
|
|
240
243
|
else {
|
|
241
244
|
const obj = current;
|
|
242
|
-
|
|
245
|
+
// #1136: own properties only, and created as own data properties, so
|
|
246
|
+
// `/__proto__/x` cannot walk into and write Object.prototype.
|
|
247
|
+
if (!Object.hasOwn(obj, segment)) {
|
|
243
248
|
// Auto-create intermediate objects
|
|
244
|
-
obj
|
|
249
|
+
setOwn(obj, segment, {});
|
|
245
250
|
}
|
|
246
251
|
current = obj[segment];
|
|
247
252
|
}
|
|
@@ -269,7 +274,7 @@ export function setAtPointer(data, pointer, value) {
|
|
|
269
274
|
}
|
|
270
275
|
}
|
|
271
276
|
else {
|
|
272
|
-
current
|
|
277
|
+
setOwn(current, lastSegment, value);
|
|
273
278
|
}
|
|
274
279
|
}
|
|
275
280
|
/**
|
|
@@ -304,7 +309,7 @@ export function deleteAtPointer(data, pointer) {
|
|
|
304
309
|
}
|
|
305
310
|
else {
|
|
306
311
|
const obj = parent;
|
|
307
|
-
if (!(lastSegment
|
|
312
|
+
if (!Object.hasOwn(obj, lastSegment)) {
|
|
308
313
|
return false;
|
|
309
314
|
}
|
|
310
315
|
delete obj[lastSegment];
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { EventEmitter } from 'events';
|
|
10
10
|
import { v4 as uuidv4 } from 'uuid';
|
|
11
|
+
import { getOwn, setOwn } from '../../../shared/utils/safe-record.js';
|
|
11
12
|
/**
|
|
12
13
|
* Default configuration
|
|
13
14
|
*/
|
|
@@ -473,7 +474,8 @@ export class AGUISyncService extends EventEmitter {
|
|
|
473
474
|
const parts = extractor.split('.');
|
|
474
475
|
let value = payload;
|
|
475
476
|
for (const part of parts) {
|
|
476
|
-
|
|
477
|
+
// #1136: own properties only.
|
|
478
|
+
if (value && typeof value === 'object' && Object.hasOwn(value, part)) {
|
|
477
479
|
value = value[part];
|
|
478
480
|
}
|
|
479
481
|
else {
|
|
@@ -498,7 +500,7 @@ export class AGUISyncService extends EventEmitter {
|
|
|
498
500
|
if (typeof current !== 'object') {
|
|
499
501
|
return undefined;
|
|
500
502
|
}
|
|
501
|
-
current = current
|
|
503
|
+
current = getOwn(current, part);
|
|
502
504
|
}
|
|
503
505
|
return current;
|
|
504
506
|
}
|
|
@@ -512,14 +514,16 @@ export class AGUISyncService extends EventEmitter {
|
|
|
512
514
|
}
|
|
513
515
|
const parts = path.split('/').filter(Boolean);
|
|
514
516
|
let current = obj;
|
|
517
|
+
// #1136: own properties only, created as own data properties, so
|
|
518
|
+
// `/__proto__/x` cannot walk into and write Object.prototype.
|
|
515
519
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
516
520
|
const part = parts[i];
|
|
517
|
-
if (!(part
|
|
518
|
-
current
|
|
521
|
+
if (!Object.hasOwn(current, part) || typeof current[part] !== 'object' || current[part] === null) {
|
|
522
|
+
setOwn(current, part, {});
|
|
519
523
|
}
|
|
520
524
|
current = current[part];
|
|
521
525
|
}
|
|
522
|
-
current
|
|
526
|
+
setOwn(current, parts[parts.length - 1], value);
|
|
523
527
|
}
|
|
524
528
|
/**
|
|
525
529
|
* Delete value at JSON Pointer path
|
|
@@ -532,7 +536,7 @@ export class AGUISyncService extends EventEmitter {
|
|
|
532
536
|
let current = obj;
|
|
533
537
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
534
538
|
const part = parts[i];
|
|
535
|
-
if (!(part
|
|
539
|
+
if (!Object.hasOwn(current, part) || typeof current[part] !== 'object') {
|
|
536
540
|
return;
|
|
537
541
|
}
|
|
538
542
|
current = current[part];
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { EventEmitter } from 'events';
|
|
10
10
|
import { v4 as uuidv4 } from 'uuid';
|
|
11
|
+
import { getOwn, setOwn } from '../../../shared/utils/safe-record.js';
|
|
11
12
|
import { createSurfaceGenerator, createComponentBuilder, } from '../renderer/index.js';
|
|
12
13
|
/**
|
|
13
14
|
* Default configuration
|
|
@@ -461,7 +462,8 @@ export class SurfaceStateBridge extends EventEmitter {
|
|
|
461
462
|
if (typeof current !== 'object') {
|
|
462
463
|
return undefined;
|
|
463
464
|
}
|
|
464
|
-
|
|
465
|
+
// #1136: own properties only.
|
|
466
|
+
current = getOwn(current, part);
|
|
465
467
|
}
|
|
466
468
|
return current;
|
|
467
469
|
}
|
|
@@ -475,14 +477,16 @@ export class SurfaceStateBridge extends EventEmitter {
|
|
|
475
477
|
}
|
|
476
478
|
const parts = path.split('/').filter(Boolean);
|
|
477
479
|
let current = obj;
|
|
480
|
+
// #1136: own properties only, created as own data properties, so
|
|
481
|
+
// `/__proto__/x` cannot walk into and write Object.prototype.
|
|
478
482
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
479
483
|
const part = parts[i];
|
|
480
|
-
if (!(part
|
|
481
|
-
current
|
|
484
|
+
if (!Object.hasOwn(current, part) || typeof current[part] !== 'object' || current[part] === null) {
|
|
485
|
+
setOwn(current, part, {});
|
|
482
486
|
}
|
|
483
487
|
current = current[part];
|
|
484
488
|
}
|
|
485
|
-
current
|
|
489
|
+
setOwn(current, parts[parts.length - 1], value);
|
|
486
490
|
}
|
|
487
491
|
/**
|
|
488
492
|
* Delete value at JSON Pointer path
|
|
@@ -495,7 +499,7 @@ export class SurfaceStateBridge extends EventEmitter {
|
|
|
495
499
|
let current = obj;
|
|
496
500
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
497
501
|
const part = parts[i];
|
|
498
|
-
if (!(part
|
|
502
|
+
if (!Object.hasOwn(current, part) || typeof current[part] !== 'object') {
|
|
499
503
|
return;
|
|
500
504
|
}
|
|
501
505
|
current = current[part];
|