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
|
@@ -166,6 +166,26 @@ const DEFAULT_CONFIG = {
|
|
|
166
166
|
maxHistorySize: 200,
|
|
167
167
|
fallbackDimension: 64,
|
|
168
168
|
};
|
|
169
|
+
/**
|
|
170
|
+
* Control-plane (task/agent/workflow lifecycle) events, matched on the last
|
|
171
|
+
* dot-separated segment of the event type:
|
|
172
|
+
* - every `Queen*` event (QueenCoordinator prefixes all of its events),
|
|
173
|
+
* - `Task*`, `Agent*`, `Workflow*`, `Step*`, `Protocol*` and `Action*` events
|
|
174
|
+
* (TaskCompleted, TaskFailed, workflow.StepCompleted, coordination.ProtocolFailed, ...).
|
|
175
|
+
* The Queen, the workflow orchestrator and the protocol executor count slots
|
|
176
|
+
* and advance state machines on these events, so losing one leaks a slot or
|
|
177
|
+
* hangs a run (#1070, #1077).
|
|
178
|
+
*/
|
|
179
|
+
const CONTROL_PLANE_EVENT_RE = /^(?:Queen[A-Z]|(?:Task|Agent|Workflow|Step|Protocol|Action)[A-Z])/;
|
|
180
|
+
/** True when the event type is a lifecycle / control-plane event that must never be dropped. */
|
|
181
|
+
export function isControlPlaneEvent(eventType) {
|
|
182
|
+
const name = eventType.slice(eventType.lastIndexOf('.') + 1);
|
|
183
|
+
return CONTROL_PLANE_EVENT_RE.test(name);
|
|
184
|
+
}
|
|
185
|
+
/** One warning per event type and source per window; later drops in the window are counted. */
|
|
186
|
+
const DRIFT_WARN_WINDOW_MS = 60_000;
|
|
187
|
+
/** Bound on distinct (type, source) keys tracked for warning rate limiting. */
|
|
188
|
+
const DRIFT_WARN_MAX_KEYS = 256;
|
|
169
189
|
/**
|
|
170
190
|
* Deterministic pseudo-embedding via FNV-1a-inspired hash spread.
|
|
171
191
|
* Not semantically meaningful but sufficient for detecting payload mutations.
|
|
@@ -241,6 +261,15 @@ export class SemanticAntiDriftMiddleware {
|
|
|
241
261
|
totalChecked = 0;
|
|
242
262
|
driftCount = 0;
|
|
243
263
|
similaritySum = 0;
|
|
264
|
+
unverifiedCount = 0;
|
|
265
|
+
/** Suppressed drift warnings of keys evicted from the rate limiter, reported on the next warning. */
|
|
266
|
+
evictedSuppressedWarnings = 0;
|
|
267
|
+
/** Rate limit for drift warnings, keyed by event type and source. */
|
|
268
|
+
driftWarnings = new Map();
|
|
269
|
+
/** Payload text each fingerprint was computed from (same-process events only). */
|
|
270
|
+
emittedPayloadText = new WeakMap();
|
|
271
|
+
embeddingWarningAt = -Infinity;
|
|
272
|
+
suppressedEmbeddingWarnings = 0;
|
|
244
273
|
constructor(config) {
|
|
245
274
|
this.config = {
|
|
246
275
|
...DEFAULT_CONFIG,
|
|
@@ -256,7 +285,9 @@ export class SemanticAntiDriftMiddleware {
|
|
|
256
285
|
*/
|
|
257
286
|
async onEmit(event) {
|
|
258
287
|
const payloadText = JSON.stringify(event.payload);
|
|
259
|
-
const embedding = await this.
|
|
288
|
+
const embedding = await this.embedForEvent(payloadText, event, 'emit');
|
|
289
|
+
if (embedding === null)
|
|
290
|
+
return event;
|
|
260
291
|
const category = this.resolveCategory(event.type);
|
|
261
292
|
const threshold = this.config.thresholds[category] ?? this.config.thresholds['default'];
|
|
262
293
|
const fingerprint = {
|
|
@@ -266,23 +297,38 @@ export class SemanticAntiDriftMiddleware {
|
|
|
266
297
|
hopCount: 0,
|
|
267
298
|
emittedAt: Date.now(),
|
|
268
299
|
};
|
|
300
|
+
this.emittedPayloadText.set(fingerprint, payloadText);
|
|
269
301
|
return { ...event, semanticFingerprint: fingerprint };
|
|
270
302
|
}
|
|
271
303
|
/**
|
|
272
304
|
* Re-embed the payload and compare with the original fingerprint.
|
|
273
|
-
* If drift exceeds threshold
|
|
274
|
-
*
|
|
275
|
-
*
|
|
305
|
+
* If drift exceeds threshold a warning is logged, a SemanticDriftDetectedEvent
|
|
306
|
+
* is emitted, and a data event is dropped (returns null). Control-plane
|
|
307
|
+
* events (see {@link isControlPlaneEvent}) are delivered anyway: dropping a
|
|
308
|
+
* lifecycle event leaks Queen slots (#1070, #1077). Events without a
|
|
309
|
+
* fingerprint pass through unchanged.
|
|
276
310
|
* @param event - The incoming domain event.
|
|
277
|
-
* @returns The event with incremented hopCount, or null if drifted.
|
|
311
|
+
* @returns The event with incremented hopCount, or null if a drifted data event.
|
|
278
312
|
*/
|
|
279
313
|
async onReceive(event) {
|
|
280
314
|
const fp = event.semanticFingerprint;
|
|
281
315
|
if (!fp)
|
|
282
316
|
return event;
|
|
283
317
|
const payloadText = JSON.stringify(event.payload);
|
|
284
|
-
|
|
285
|
-
|
|
318
|
+
// A payload whose text is byte-identical to the text this instance
|
|
319
|
+
// fingerprinted at emit time has similarity 1 by construction; skip the
|
|
320
|
+
// second model inference (#1077).
|
|
321
|
+
let similarity = 1;
|
|
322
|
+
const emittedText = this.emittedPayloadText.get(fp);
|
|
323
|
+
// Release the cached text now: bus history keeps the emitted fingerprint
|
|
324
|
+
// alive for up to 10k events.
|
|
325
|
+
this.emittedPayloadText.delete(fp);
|
|
326
|
+
if (emittedText !== payloadText) {
|
|
327
|
+
const currentEmbedding = await this.embedForEvent(payloadText, event, 'receive');
|
|
328
|
+
if (currentEmbedding === null)
|
|
329
|
+
return event;
|
|
330
|
+
similarity = cosineSimilarity(currentEmbedding, fp.embedding);
|
|
331
|
+
}
|
|
286
332
|
const distance = 1 - similarity;
|
|
287
333
|
const drifted = distance > fp.driftThreshold;
|
|
288
334
|
this.totalChecked++;
|
|
@@ -300,8 +346,11 @@ export class SemanticAntiDriftMiddleware {
|
|
|
300
346
|
this.history.shift();
|
|
301
347
|
if (drifted) {
|
|
302
348
|
this.driftCount++;
|
|
349
|
+
const deliver = isControlPlaneEvent(event.type);
|
|
350
|
+
this.warnDrift(event, checkResult, deliver);
|
|
303
351
|
await this.emitDriftEvent(event, checkResult);
|
|
304
|
-
|
|
352
|
+
if (!deliver)
|
|
353
|
+
return null;
|
|
305
354
|
}
|
|
306
355
|
const updatedFingerprint = { ...fp, hopCount: fp.hopCount + 1 };
|
|
307
356
|
return { ...event, semanticFingerprint: updatedFingerprint };
|
|
@@ -316,6 +365,7 @@ export class SemanticAntiDriftMiddleware {
|
|
|
316
365
|
totalChecked: this.totalChecked,
|
|
317
366
|
driftCount: this.driftCount,
|
|
318
367
|
averageSimilarity: this.totalChecked > 0 ? this.similaritySum / this.totalChecked : 0,
|
|
368
|
+
unverifiedCount: this.unverifiedCount,
|
|
319
369
|
};
|
|
320
370
|
}
|
|
321
371
|
/**
|
|
@@ -334,13 +384,57 @@ export class SemanticAntiDriftMiddleware {
|
|
|
334
384
|
return err(new Error('fallbackDimension must be positive'));
|
|
335
385
|
return ok(undefined);
|
|
336
386
|
}
|
|
337
|
-
/**
|
|
387
|
+
/**
|
|
388
|
+
* Compute embedding, preferring transformer pipeline with hash fallback.
|
|
389
|
+
* The transformer returns a zero vector for text it treats as non-semantic
|
|
390
|
+
* (JSON with a "metrics" key, raw arrays, mostly numeric strings). A zero
|
|
391
|
+
* vector has no direction, so the cosine check read it as total drift and
|
|
392
|
+
* silently dropped the event, e.g. every quality_assess TaskCompleted (#1070).
|
|
393
|
+
* Such text gets a hash embedding of the same length instead, which still
|
|
394
|
+
* detects a mutated payload.
|
|
395
|
+
*/
|
|
338
396
|
async embed(text) {
|
|
339
397
|
const hasTransformer = await probeTransformer();
|
|
340
|
-
if (hasTransformer && _computeRealEmbedding)
|
|
341
|
-
|
|
398
|
+
if (hasTransformer && _computeRealEmbedding) {
|
|
399
|
+
const embedding = await _computeRealEmbedding(text);
|
|
400
|
+
if (embedding.some(v => v !== 0))
|
|
401
|
+
return embedding;
|
|
402
|
+
return hashBasedEmbedding(text, embedding.length || this.config.fallbackDimension);
|
|
403
|
+
}
|
|
342
404
|
return hashBasedEmbedding(text, this.config.fallbackDimension);
|
|
343
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Fingerprinting is advisory infrastructure, not an event-delivery dependency.
|
|
408
|
+
* A transformer can fail after its cached availability probe succeeded. Do not
|
|
409
|
+
* switch vector spaces mid-event: an old semantic vector and a new hash vector
|
|
410
|
+
* cannot be compared. Deliver this event without claiming a completed check;
|
|
411
|
+
* later events still try the transformer normally.
|
|
412
|
+
*/
|
|
413
|
+
async embedForEvent(text, event, stage) {
|
|
414
|
+
try {
|
|
415
|
+
return await this.embed(text);
|
|
416
|
+
}
|
|
417
|
+
catch {
|
|
418
|
+
// Counted even when the warning below is rate limited, so an outage
|
|
419
|
+
// stays visible in getStats().
|
|
420
|
+
this.unverifiedCount++;
|
|
421
|
+
const now = Date.now();
|
|
422
|
+
if (now - this.embeddingWarningAt < DRIFT_WARN_WINDOW_MS) {
|
|
423
|
+
this.suppressedEmbeddingWarnings++;
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
logger.warn('Anti-drift embedding unavailable; event delivered without verification', {
|
|
427
|
+
eventType: event.type, source: event.source, stage,
|
|
428
|
+
suppressedSinceLastWarning: this.suppressedEmbeddingWarnings,
|
|
429
|
+
});
|
|
430
|
+
this.embeddingWarningAt = now;
|
|
431
|
+
this.suppressedEmbeddingWarnings = 0;
|
|
432
|
+
}
|
|
433
|
+
// Never log the payload or provider's error text (it may contain input or
|
|
434
|
+
// credentials), and never count an unavailable check as successful/drifted.
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
344
438
|
/** Map event type to threshold category via substring matching. */
|
|
345
439
|
resolveCategory(eventType) {
|
|
346
440
|
const lower = eventType.toLowerCase();
|
|
@@ -350,6 +444,48 @@ export class SemanticAntiDriftMiddleware {
|
|
|
350
444
|
}
|
|
351
445
|
return 'default';
|
|
352
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* Log a drift detection to stderr (via the structured logger). Never logs
|
|
449
|
+
* payload contents. Rate limited per event type and source so a flood of
|
|
450
|
+
* drifted events produces one line per window plus a suppressed count.
|
|
451
|
+
*/
|
|
452
|
+
warnDrift(event, check, delivered) {
|
|
453
|
+
const key = `${event.type}|${String(event.source)}`;
|
|
454
|
+
const now = Date.now();
|
|
455
|
+
const entry = this.driftWarnings.get(key);
|
|
456
|
+
if (entry && now - entry.lastAt < DRIFT_WARN_WINDOW_MS) {
|
|
457
|
+
entry.suppressed++;
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
if (!entry && this.driftWarnings.size >= DRIFT_WARN_MAX_KEYS)
|
|
461
|
+
this.evictOldestDriftWarning();
|
|
462
|
+
const suppressed = entry?.suppressed ?? 0;
|
|
463
|
+
const evictedSuppressed = this.evictedSuppressedWarnings;
|
|
464
|
+
this.evictedSuppressedWarnings = 0;
|
|
465
|
+
// Re-insert so Map order tracks lastAt and the first key is the oldest.
|
|
466
|
+
this.driftWarnings.delete(key);
|
|
467
|
+
this.driftWarnings.set(key, { lastAt: now, suppressed: 0 });
|
|
468
|
+
logger.warn(delivered
|
|
469
|
+
? 'Semantic drift detected on a control-plane event; delivered anyway'
|
|
470
|
+
: 'Semantic drift detected; event dropped', {
|
|
471
|
+
eventType: event.type,
|
|
472
|
+
source: event.source,
|
|
473
|
+
cosineSimilarity: Number(check.cosineSimilarity.toFixed(4)),
|
|
474
|
+
cosineDistance: Number((1 - check.cosineSimilarity).toFixed(4)),
|
|
475
|
+
threshold: check.threshold,
|
|
476
|
+
hopCount: check.hopCount,
|
|
477
|
+
...(suppressed > 0 ? { suppressedSinceLastWarning: suppressed } : {}),
|
|
478
|
+
...(evictedSuppressed > 0 ? { suppressedForEvictedKeys: evictedSuppressed } : {}),
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
/** Drop the least recently warned key, carrying its suppressed count forward. */
|
|
482
|
+
evictOldestDriftWarning() {
|
|
483
|
+
const oldest = this.driftWarnings.keys().next();
|
|
484
|
+
if (oldest.done)
|
|
485
|
+
return;
|
|
486
|
+
this.evictedSuppressedWarnings += this.driftWarnings.get(oldest.value)?.suppressed ?? 0;
|
|
487
|
+
this.driftWarnings.delete(oldest.value);
|
|
488
|
+
}
|
|
353
489
|
/** Fire a SemanticDriftDetectedEvent via the configured callback. */
|
|
354
490
|
async emitDriftEvent(originalEvent, check) {
|
|
355
491
|
if (!this.config.onDriftDetected)
|
|
@@ -33,6 +33,11 @@ export interface DomainPlugin extends Initializable, Disposable {
|
|
|
33
33
|
* @returns true if domain can handle the task type
|
|
34
34
|
*/
|
|
35
35
|
canHandleTask?(taskType: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Task types this domain executes through `executeTask` (#1075).
|
|
38
|
+
* Optional - used to tell callers which types a domain accepts.
|
|
39
|
+
*/
|
|
40
|
+
getSupportedTaskTypes?(): string[];
|
|
36
41
|
}
|
|
37
42
|
export interface DomainHealth {
|
|
38
43
|
/**
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
|
|
8
8
|
import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
|
|
9
9
|
import { LEARNING_EVIDENCE_SCHEMA } from '../migrations/20260830_add_learning_evidence_tables.js';
|
|
10
|
-
|
|
11
|
-
export
|
|
10
|
+
import { DREAM_INSIGHTS_ARCHIVE_SCHEMA } from '../migrations/20261018_add_dream_insights_archive.js';
|
|
11
|
+
export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA };
|
|
12
|
+
export declare const SCHEMA_VERSION = 14;
|
|
12
13
|
export declare const SCHEMA_VERSION_TABLE = "\n CREATE TABLE IF NOT EXISTS schema_version (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n version INTEGER NOT NULL,\n migrated_at TEXT DEFAULT (datetime('now'))\n );\n";
|
|
13
14
|
export declare const KV_STORE_SCHEMA = "\n -- Key-Value Store (v2 compatible - same schema as HybridBackend)\n CREATE TABLE IF NOT EXISTS kv_store (\n key TEXT NOT NULL,\n namespace TEXT NOT NULL,\n value TEXT NOT NULL,\n expires_at INTEGER,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n PRIMARY KEY (namespace, key)\n );\n CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);\n CREATE INDEX IF NOT EXISTS idx_kv_expires ON kv_store(expires_at) WHERE expires_at IS NOT NULL;\n";
|
|
14
15
|
export declare const VECTORS_SCHEMA = "\n -- Vector Embeddings (new in v3 - replaces in-memory AgentDB)\n CREATE TABLE IF NOT EXISTS vectors (\n id TEXT PRIMARY KEY,\n namespace TEXT NOT NULL DEFAULT 'default',\n embedding BLOB NOT NULL,\n dimensions INTEGER NOT NULL,\n metadata TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_vectors_namespace ON vectors(namespace);\n CREATE INDEX IF NOT EXISTS idx_vectors_dimensions ON vectors(dimensions);\n";
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
|
|
8
8
|
import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
|
|
9
9
|
import { LEARNING_EVIDENCE_SCHEMA } from '../migrations/20260830_add_learning_evidence_tables.js';
|
|
10
|
+
import { DREAM_INSIGHTS_ARCHIVE_SCHEMA } from '../migrations/20261018_add_dream_insights_archive.js';
|
|
10
11
|
// Re-export for convenience
|
|
11
|
-
export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA };
|
|
12
|
+
export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, LEARNING_EVIDENCE_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA };
|
|
12
13
|
// ============================================================================
|
|
13
14
|
// Schema Version for Migrations
|
|
14
15
|
// ============================================================================
|
|
15
|
-
export const SCHEMA_VERSION =
|
|
16
|
+
export const SCHEMA_VERSION = 14; // v12: learning evidence; v13: embedding-space provenance (#633); v14: dream_insights_archive (#1116)
|
|
16
17
|
export const SCHEMA_VERSION_TABLE = `
|
|
17
18
|
CREATE TABLE IF NOT EXISTS schema_version (
|
|
18
19
|
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
@@ -41,7 +41,7 @@ export { BinaryHeap, UnifiedHnswIndex, createHnswIndex } from './unified-memory-
|
|
|
41
41
|
// parity tests or benchmarks only.
|
|
42
42
|
import { UnifiedHnswIndex } from './unified-memory-hnsw.js';
|
|
43
43
|
// Import schemas
|
|
44
|
-
import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, QE_PATTERNS_FTS_SCHEMA, QE_PATTERNS_SCHEMA_WITHOUT_FTS, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
|
|
44
|
+
import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, QE_PATTERNS_FTS_SCHEMA, QE_PATTERNS_SCHEMA_WITHOUT_FTS, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, DREAM_INSIGHTS_ARCHIVE_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
|
|
45
45
|
import { ensurePatternFtsInSync } from './pattern-fts-self-heal.js';
|
|
46
46
|
import { applyMigration as applyLearningEvidenceMigration } from '../migrations/20260830_add_learning_evidence_tables.js';
|
|
47
47
|
// CRDT imports for distributed state synchronization
|
|
@@ -432,10 +432,20 @@ export class UnifiedMemoryManager {
|
|
|
432
432
|
this.db.exec(SCHEMA_VERSION_TABLE);
|
|
433
433
|
this.handleV2SchemaIncompatibilities();
|
|
434
434
|
const versionRow = this.db.prepare('SELECT version FROM schema_version WHERE id = 1').get();
|
|
435
|
-
const
|
|
436
|
-
if (
|
|
437
|
-
console.log(`[UnifiedMemory] Migrating from v${
|
|
435
|
+
const observedVersion = versionRow?.version ?? 0;
|
|
436
|
+
if (observedVersion < SCHEMA_VERSION) {
|
|
437
|
+
console.log(`[UnifiedMemory] Migrating from v${observedVersion} to v${SCHEMA_VERSION}`);
|
|
438
|
+
// #1116: IMMEDIATE takes the write lock before the first statement, so a
|
|
439
|
+
// concurrent opener waits on busy_timeout instead of failing with
|
|
440
|
+
// SQLITE_BUSY when a deferred read transaction has to upgrade (CREATE
|
|
441
|
+
// INDEX after a CREATE TABLE IF NOT EXISTS that only read). The version is
|
|
442
|
+
// read again under that lock: a process that waited applies only what the
|
|
443
|
+
// first one left, instead of re-running steps from a stale version.
|
|
438
444
|
const migrate = this.db.transaction(() => {
|
|
445
|
+
const lockedRow = this.db.prepare('SELECT version FROM schema_version WHERE id = 1').get();
|
|
446
|
+
const currentVersion = lockedRow?.version ?? 0;
|
|
447
|
+
if (currentVersion >= SCHEMA_VERSION)
|
|
448
|
+
return currentVersion;
|
|
439
449
|
if (currentVersion < 1)
|
|
440
450
|
this.db.exec(KV_STORE_SCHEMA);
|
|
441
451
|
if (currentVersion < 2)
|
|
@@ -472,13 +482,22 @@ export class UnifiedMemoryManager {
|
|
|
472
482
|
applyLearningEvidenceMigration(this.db);
|
|
473
483
|
if (currentVersion < 13)
|
|
474
484
|
this.migrateToV13EmbeddingSpace();
|
|
485
|
+
// #1116: additive; a table an earlier sweep created lazily is kept with its rows.
|
|
486
|
+
if (currentVersion < 14)
|
|
487
|
+
this.db.exec(DREAM_INSIGHTS_ARCHIVE_SCHEMA);
|
|
475
488
|
this.db.prepare(`
|
|
476
489
|
INSERT OR REPLACE INTO schema_version (id, version, migrated_at)
|
|
477
490
|
VALUES (1, ?, datetime('now'))
|
|
478
491
|
`).run(SCHEMA_VERSION);
|
|
492
|
+
return currentVersion;
|
|
479
493
|
});
|
|
480
|
-
migrate();
|
|
481
|
-
|
|
494
|
+
const migratedFrom = migrate.immediate();
|
|
495
|
+
if (migratedFrom >= SCHEMA_VERSION) {
|
|
496
|
+
console.log(`[UnifiedMemory] Another process completed the migration to v${SCHEMA_VERSION}`);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
console.log(`[UnifiedMemory] Migration complete`);
|
|
500
|
+
}
|
|
482
501
|
}
|
|
483
502
|
}
|
|
484
503
|
/**
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dream commit (#1060): compute, then commit.
|
|
3
|
+
*
|
|
4
|
+
* A dream cycle is computed entirely in memory (spreading activation and
|
|
5
|
+
* insight generation never touch the database). Its results are then written
|
|
6
|
+
* here in ONE synchronous better-sqlite3 transaction: the activation levels,
|
|
7
|
+
* the insights and the final cycle row. There is no `await` inside the
|
|
8
|
+
* transaction, so no foreground write on the shared connection can join it,
|
|
9
|
+
* and no lock is held while asynchronous work runs. A cancelled, failed or
|
|
10
|
+
* interrupted dream commits nothing beyond its cycle row.
|
|
11
|
+
*
|
|
12
|
+
* Before #1060 the dream wrote its results one awaited statement at a time
|
|
13
|
+
* (and, with opt-in branching, inside a SAVEPOINT held across the whole
|
|
14
|
+
* asynchronous dream), so a discard or a shutdown mid-dream rolled back
|
|
15
|
+
* foreground writes that had already been acknowledged.
|
|
16
|
+
*/
|
|
17
|
+
import type { Database as DatabaseType } from 'better-sqlite3';
|
|
18
|
+
import type { DreamCycle } from './types.js';
|
|
19
|
+
import type { DreamInsight } from './insight-generator.js';
|
|
20
|
+
/** Everything a dream cycle writes, computed before anything is written. */
|
|
21
|
+
export interface ComputedDream {
|
|
22
|
+
cycle: DreamCycle;
|
|
23
|
+
/**
|
|
24
|
+
* Final activation level per concept node (clamped to [0, 1] on write),
|
|
25
|
+
* with the level the dream loaded. A node whose stored level no longer
|
|
26
|
+
* equals `loadedLevel` was written by someone else during the dream and is
|
|
27
|
+
* left alone. Omit `loadedLevel` to write unconditionally.
|
|
28
|
+
*/
|
|
29
|
+
activations: ReadonlyArray<readonly [nodeId: string, level: number, loadedLevel?: number]>;
|
|
30
|
+
insights: readonly DreamInsight[];
|
|
31
|
+
}
|
|
32
|
+
export interface DreamCommitResult {
|
|
33
|
+
/** Wall-clock time the write transaction was open, in milliseconds. */
|
|
34
|
+
commitDurationMs: number;
|
|
35
|
+
/** Concept nodes updated (a node deleted meanwhile is skipped, not recreated). */
|
|
36
|
+
activationsWritten: number;
|
|
37
|
+
/** Activations skipped: the node vanished or a foreground write changed it. */
|
|
38
|
+
activationsSkipped: number;
|
|
39
|
+
insightsWritten: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Write a computed dream in one short synchronous transaction.
|
|
43
|
+
* Throws (and writes nothing) if any statement fails.
|
|
44
|
+
*/
|
|
45
|
+
export declare function commitDream(db: DatabaseType, dream: ComputedDream): DreamCommitResult;
|
|
46
|
+
/**
|
|
47
|
+
* Margin added to the longest dream duration before a `running` cycle is
|
|
48
|
+
* treated as abandoned (covers graph loading and insight generation).
|
|
49
|
+
* DreamEngine.initialize() sweeps cycles older than
|
|
50
|
+
* max(config.maxDurationMs, 60 s) + this margin, 11 minutes by default.
|
|
51
|
+
* Library callers running longer dreams must raise maxDurationMs on every
|
|
52
|
+
* engine sharing the database (see DreamEngine.dream()).
|
|
53
|
+
*/
|
|
54
|
+
export declare const ABANDONED_CYCLE_GRACE_MS: number;
|
|
55
|
+
/** Error recorded on a cycle the abandoned-cycle sweep marks interrupted. */
|
|
56
|
+
export declare const ABANDONED_CYCLE_ERROR = "abandoned: process exited";
|
|
57
|
+
/**
|
|
58
|
+
* Mark cycles a dead process left `running` as `interrupted` (#1060). Only a
|
|
59
|
+
* cycle that started more than `olderThanMs` ago is touched, so pass at least
|
|
60
|
+
* the longest dream duration plus ABANDONED_CYCLE_GRACE_MS: a cycle still
|
|
61
|
+
* running in another live process is then never marked. Rows are only
|
|
62
|
+
* updated, never deleted. Returns the number of cycles marked.
|
|
63
|
+
*/
|
|
64
|
+
export declare function markAbandonedCycles(db: DatabaseType, olderThanMs?: number, now?: number): number;
|
|
65
|
+
//# sourceMappingURL=dream-commit.d.ts.map
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dream commit (#1060): compute, then commit.
|
|
3
|
+
*
|
|
4
|
+
* A dream cycle is computed entirely in memory (spreading activation and
|
|
5
|
+
* insight generation never touch the database). Its results are then written
|
|
6
|
+
* here in ONE synchronous better-sqlite3 transaction: the activation levels,
|
|
7
|
+
* the insights and the final cycle row. There is no `await` inside the
|
|
8
|
+
* transaction, so no foreground write on the shared connection can join it,
|
|
9
|
+
* and no lock is held while asynchronous work runs. A cancelled, failed or
|
|
10
|
+
* interrupted dream commits nothing beyond its cycle row.
|
|
11
|
+
*
|
|
12
|
+
* Before #1060 the dream wrote its results one awaited statement at a time
|
|
13
|
+
* (and, with opt-in branching, inside a SAVEPOINT held across the whole
|
|
14
|
+
* asynchronous dream), so a discard or a shutdown mid-dream rolled back
|
|
15
|
+
* foreground writes that had already been acknowledged.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Write a computed dream in one short synchronous transaction.
|
|
19
|
+
* Throws (and writes nothing) if any statement fails.
|
|
20
|
+
*/
|
|
21
|
+
export function commitDream(db, dream) {
|
|
22
|
+
const updateActivation = db.prepare(`
|
|
23
|
+
UPDATE concept_nodes
|
|
24
|
+
SET activation_level = ?, last_activated = datetime('now')
|
|
25
|
+
WHERE id = ? AND (? IS NULL OR COALESCE(activation_level, 0) = ?)
|
|
26
|
+
`);
|
|
27
|
+
const insertInsight = db.prepare(`
|
|
28
|
+
INSERT INTO dream_insights
|
|
29
|
+
(id, cycle_id, insight_type, source_concepts, description, novelty_score,
|
|
30
|
+
confidence_score, actionable, applied, suggested_action, pattern_id)
|
|
31
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0, ?, NULL)
|
|
32
|
+
`);
|
|
33
|
+
// Upsert: a dream run with commit:false (SpeculativeDreamer) wrote no
|
|
34
|
+
// 'running' row up front, so its row is created here.
|
|
35
|
+
const upsertCycle = db.prepare(`
|
|
36
|
+
INSERT INTO dream_cycles
|
|
37
|
+
(id, start_time, end_time, duration_ms, concepts_processed, associations_found,
|
|
38
|
+
insights_generated, status, error)
|
|
39
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
40
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
41
|
+
end_time = excluded.end_time, duration_ms = excluded.duration_ms,
|
|
42
|
+
concepts_processed = excluded.concepts_processed,
|
|
43
|
+
associations_found = excluded.associations_found,
|
|
44
|
+
insights_generated = excluded.insights_generated,
|
|
45
|
+
status = excluded.status, error = excluded.error
|
|
46
|
+
`);
|
|
47
|
+
const write = db.transaction(() => {
|
|
48
|
+
// The cycle row first: insights reference it.
|
|
49
|
+
const { cycle } = dream;
|
|
50
|
+
upsertCycle.run(cycle.id, cycle.startTime.toISOString(), cycle.endTime?.toISOString() ?? null, cycle.durationMs ?? null, cycle.conceptsProcessed, cycle.associationsFound, cycle.insightsGenerated, cycle.status, cycle.error ?? null);
|
|
51
|
+
let activationsWritten = 0;
|
|
52
|
+
for (const [nodeId, level, loadedLevel] of dream.activations) {
|
|
53
|
+
// Conflict rule: the foreground wins. A node removed since the dream
|
|
54
|
+
// loaded it is not recreated, and a node whose level changed since then
|
|
55
|
+
// is not overwritten; in both cases the UPDATE matches no row. The check
|
|
56
|
+
// compares values: a foreground write that set the node to exactly the
|
|
57
|
+
// level the dream loaded is indistinguishable and is overwritten.
|
|
58
|
+
const expected = loadedLevel ?? null;
|
|
59
|
+
activationsWritten += updateActivation.run(Math.max(0, Math.min(1, level)), nodeId, expected, expected).changes;
|
|
60
|
+
}
|
|
61
|
+
for (const insight of dream.insights) {
|
|
62
|
+
insertInsight.run(insight.id, insight.cycleId, insight.type, JSON.stringify(insight.sourceConcepts), insight.description, insight.noveltyScore, insight.confidenceScore, insight.actionable ? 1 : 0, insight.suggestedAction ?? null);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
activationsWritten,
|
|
66
|
+
activationsSkipped: dream.activations.length - activationsWritten,
|
|
67
|
+
insightsWritten: dream.insights.length,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
const started = performance.now();
|
|
71
|
+
// IMMEDIATE takes the write lock up front, so the transaction waits on
|
|
72
|
+
// busy_timeout instead of failing at the read-to-write upgrade.
|
|
73
|
+
const counts = write.immediate();
|
|
74
|
+
return { ...counts, commitDurationMs: performance.now() - started };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Margin added to the longest dream duration before a `running` cycle is
|
|
78
|
+
* treated as abandoned (covers graph loading and insight generation).
|
|
79
|
+
* DreamEngine.initialize() sweeps cycles older than
|
|
80
|
+
* max(config.maxDurationMs, 60 s) + this margin, 11 minutes by default.
|
|
81
|
+
* Library callers running longer dreams must raise maxDurationMs on every
|
|
82
|
+
* engine sharing the database (see DreamEngine.dream()).
|
|
83
|
+
*/
|
|
84
|
+
export const ABANDONED_CYCLE_GRACE_MS = 10 * 60 * 1000;
|
|
85
|
+
/** Error recorded on a cycle the abandoned-cycle sweep marks interrupted. */
|
|
86
|
+
export const ABANDONED_CYCLE_ERROR = 'abandoned: process exited';
|
|
87
|
+
/**
|
|
88
|
+
* Mark cycles a dead process left `running` as `interrupted` (#1060). Only a
|
|
89
|
+
* cycle that started more than `olderThanMs` ago is touched, so pass at least
|
|
90
|
+
* the longest dream duration plus ABANDONED_CYCLE_GRACE_MS: a cycle still
|
|
91
|
+
* running in another live process is then never marked. Rows are only
|
|
92
|
+
* updated, never deleted. Returns the number of cycles marked.
|
|
93
|
+
*/
|
|
94
|
+
export function markAbandonedCycles(db, olderThanMs = ABANDONED_CYCLE_GRACE_MS, now = Date.now()) {
|
|
95
|
+
const cutoff = new Date(now - olderThanMs).toISOString();
|
|
96
|
+
return db.prepare(`
|
|
97
|
+
UPDATE dream_cycles
|
|
98
|
+
SET status = 'interrupted',
|
|
99
|
+
error = ?,
|
|
100
|
+
end_time = COALESCE(end_time, ?)
|
|
101
|
+
WHERE status = 'running' AND start_time < ?
|
|
102
|
+
`).run(ABANDONED_CYCLE_ERROR, new Date(now).toISOString(), cutoff).changes;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=dream-commit.js.map
|