agentic-qe 3.14.4 → 3.14.6
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 +169 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/ag-ui/event-types.d.ts +1 -1
- package/dist/audit/witness-chain-hash.d.ts +18 -0
- package/dist/audit/witness-chain-hash.js +37 -0
- package/dist/audit/witness-chain-repair.d.ts +71 -0
- package/dist/audit/witness-chain-repair.js +203 -0
- package/dist/audit/witness-chain-verifier.d.ts +152 -0
- package/dist/audit/witness-chain-verifier.js +293 -0
- package/dist/audit/witness-chain.d.ts +10 -43
- package/dist/audit/witness-chain.js +43 -126
- package/dist/audit/witness-findings.js +4 -1
- package/dist/cli/bundle.js +13 -10
- package/dist/cli/chunks/adapter-UYOJPTOX.js +2 -0
- package/dist/cli/chunks/agent-booster-wasm-2YGML6OU.js +2 -0
- package/dist/cli/chunks/{agent-handler-RDNTK4CA.js → agent-handler-D5SSQYNU.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-NAAMBWIR.js → agent-memory-branch-YHPLTITV.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-JR5AVQXR.js +2 -0
- package/dist/cli/chunks/{arena-KXFHRWX4.js → arena-7BGOXGXO.js} +2 -2
- package/dist/cli/chunks/{arena-HXTWJ5YY.js → arena-MCE6EU7K.js} +4 -4
- package/dist/cli/chunks/audit-BMWTQECB.js +4 -0
- package/dist/cli/chunks/base-DRZ2LS6X.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-UICJZIDG.js → better-sqlite3-PMUNGASU.js} +2 -2
- package/dist/cli/chunks/brain-handler-QPUFYX7F.js +94 -0
- package/dist/cli/chunks/{branch-enumerator-SS7UNVIA.js → branch-enumerator-WKFDGRN4.js} +2 -2
- package/dist/cli/chunks/{browser-77GI6KBE.js → browser-VY5HKH5X.js} +2 -2
- package/dist/cli/chunks/browser-workflow-CJ7T3MXF.js +2 -0
- package/dist/cli/chunks/{chunk-PZJOPURC.js → chunk-257E2A5M.js} +5 -5
- package/dist/cli/chunks/{chunk-55RWDRJD.js → chunk-2JVWITNK.js} +4 -4
- package/dist/cli/chunks/{chunk-BOARZKU3.js → chunk-2NPKIBAZ.js} +2 -2
- package/dist/cli/chunks/chunk-2TMWAQQ3.js +13 -0
- package/dist/cli/chunks/{chunk-M4WJKGVK.js → chunk-2YXGBZWV.js} +1 -1
- package/dist/cli/chunks/{chunk-3VOQRIQM.js → chunk-3EA536JF.js} +2 -2
- package/dist/cli/chunks/{chunk-ZZDIMOOV.js → chunk-3EZOZN25.js} +2 -2
- package/dist/cli/chunks/{chunk-MNW6QGNJ.js → chunk-3HZS4M3O.js} +2 -2
- package/dist/cli/chunks/{chunk-EKQ673SA.js → chunk-3NIG7S5W.js} +1 -1
- package/dist/cli/chunks/{chunk-7D777LTF.js → chunk-4N23RFDU.js} +2 -2
- package/dist/cli/chunks/{chunk-BOZZYWCR.js → chunk-5J6W7SIA.js} +1 -1
- package/dist/cli/chunks/{chunk-HIVA55CJ.js → chunk-5OOMJGFN.js} +1 -1
- package/dist/cli/chunks/{chunk-W7BWUTVV.js → chunk-5QQSIGUA.js} +2 -2
- package/dist/cli/chunks/{chunk-PAWXJ73E.js → chunk-5VFPCSK7.js} +1 -1
- package/dist/cli/chunks/{chunk-KPA7MZ6C.js → chunk-62N4NUJH.js} +2 -2
- package/dist/cli/chunks/chunk-64VGZQLB.js +2 -0
- package/dist/cli/chunks/{chunk-64PFWE2F.js → chunk-66VWCR67.js} +2 -2
- package/dist/cli/chunks/{chunk-XRT2WRMS.js → chunk-6LIHFV7O.js} +2 -2
- package/dist/cli/chunks/{chunk-STJCATGN.js → chunk-6OS76PHI.js} +2 -2
- package/dist/cli/chunks/{chunk-ZNPKDCZR.js → chunk-6RE3X4V5.js} +2 -2
- package/dist/cli/chunks/{chunk-BFP7KO7P.js → chunk-6SH5VZUD.js} +2 -2
- package/dist/cli/chunks/chunk-6SQM2MUX.js +4 -0
- package/dist/cli/chunks/{chunk-IPR4QP3H.js → chunk-6U7LNMWZ.js} +2 -2
- package/dist/cli/chunks/{chunk-MIQTXNBG.js → chunk-72KXSMWI.js} +1 -1
- package/dist/cli/chunks/chunk-7CUQCCMD.js +27 -0
- package/dist/cli/chunks/chunk-7D3V65N5.js +2 -0
- package/dist/cli/chunks/{chunk-JZ3ORVZ3.js → chunk-7J6QC567.js} +3 -3
- package/dist/cli/chunks/{chunk-4OYFXLBK.js → chunk-7LPR6HJG.js} +2 -2
- package/dist/cli/chunks/{chunk-4MHXCAG2.js → chunk-7NITCZWD.js} +1 -1
- package/dist/cli/chunks/{chunk-M5QUBZY6.js → chunk-7Z5LHRC3.js} +2 -2
- package/dist/cli/chunks/{chunk-CSU5NYOX.js → chunk-AHKELLIO.js} +4 -4
- package/dist/cli/chunks/{chunk-DHJPWQBR.js → chunk-AIRGNL55.js} +2 -2
- package/dist/cli/chunks/{chunk-C2WU3533.js → chunk-AJRUJAAK.js} +1 -1
- package/dist/cli/chunks/{chunk-HIYXCDEP.js → chunk-AVBJYI5I.js} +1 -1
- package/dist/cli/chunks/{chunk-U5K45TFH.js → chunk-B6D2CHEH.js} +1 -1
- package/dist/cli/chunks/{chunk-FRH6VAUS.js → chunk-B6MOJC3X.js} +1 -1
- package/dist/cli/chunks/{chunk-HUWNIPZ5.js → chunk-BAMN2CHI.js} +1 -1
- package/dist/cli/chunks/{chunk-ONII3572.js → chunk-BBT64TII.js} +3 -3
- package/dist/cli/chunks/{chunk-KSKEF7LZ.js → chunk-BJTJLJRZ.js} +3 -3
- package/dist/cli/chunks/chunk-BMAPORJ7.js +15 -0
- package/dist/cli/chunks/{chunk-CIZ5JPDC.js → chunk-BPEDWS6O.js} +3 -3
- package/dist/cli/chunks/{chunk-Z3RHREWF.js → chunk-BVR7RMC5.js} +1 -1
- package/dist/cli/chunks/{chunk-HDSAM2RE.js → chunk-C6KWXUFJ.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBAKA4YB.js → chunk-CCK4BF76.js} +1 -1
- package/dist/cli/chunks/{chunk-IFCLB7FJ.js → chunk-CD542DNJ.js} +1 -1
- package/dist/cli/chunks/{chunk-6KJABXAR.js → chunk-CF2ISEOJ.js} +2 -2
- package/dist/cli/chunks/chunk-CM7U6TAX.js +5 -0
- package/dist/cli/chunks/{chunk-3X3DJZJJ.js → chunk-D45SG6CP.js} +1 -1
- package/dist/cli/chunks/{chunk-DAEFDCJ4.js → chunk-D6CJIGRU.js} +89 -83
- package/dist/cli/chunks/{chunk-MVPCNSPY.js → chunk-DBDPRORT.js} +2 -2
- package/dist/cli/chunks/{chunk-AUXFKCQL.js → chunk-DHVX5UB2.js} +2 -2
- package/dist/cli/chunks/{chunk-GPLQ6DOK.js → chunk-DK4XN4CU.js} +2 -2
- package/dist/cli/chunks/{chunk-SRKETSFF.js → chunk-DPYSUDAO.js} +1 -1
- package/dist/cli/chunks/{chunk-CNG6GQEZ.js → chunk-DUYOVM5I.js} +2 -2
- package/dist/cli/chunks/{chunk-VIHTL3U2.js → chunk-DZ3AUAAB.js} +2 -2
- package/dist/cli/chunks/{chunk-CU46J64M.js → chunk-E6G2RD5H.js} +2 -2
- package/dist/cli/chunks/{chunk-5YPYDPBJ.js → chunk-EAY2JMZG.js} +2 -2
- package/dist/cli/chunks/{chunk-V3QLFNA2.js → chunk-ELLBS5RP.js} +4 -4
- package/dist/cli/chunks/chunk-ENGZ4D5V.js +2 -0
- package/dist/cli/chunks/chunk-FBMN7B46.js +4 -0
- package/dist/cli/chunks/{chunk-EDJ3O7RH.js → chunk-FWASDOT2.js} +2 -2
- package/dist/cli/chunks/{chunk-MDWCE7YW.js → chunk-FZOBD67M.js} +1 -1
- package/dist/cli/chunks/{chunk-A4FYONNU.js → chunk-GDSXITFH.js} +2 -2
- package/dist/cli/chunks/{chunk-2JW3BCGG.js → chunk-GGRHV6D7.js} +1 -1
- package/dist/cli/chunks/{chunk-ISDMD6EU.js → chunk-GPYVDFB3.js} +90 -90
- package/dist/cli/chunks/{chunk-CDKG6EI7.js → chunk-GSF6MB64.js} +2 -2
- package/dist/cli/chunks/{chunk-WLG5AJ4N.js → chunk-H52HZ67P.js} +2 -2
- package/dist/cli/chunks/{chunk-FGYMFUE2.js → chunk-H5BS5VH7.js} +2 -2
- package/dist/cli/chunks/{chunk-34WO57CW.js → chunk-H6ZM3PUT.js} +1 -1
- package/dist/cli/chunks/{chunk-6CQN24ZK.js → chunk-HM6ZSCPI.js} +1 -1
- package/dist/cli/chunks/{chunk-DPFRKBOG.js → chunk-HNFVJP4I.js} +2 -2
- package/dist/cli/chunks/{chunk-TPGED2IF.js → chunk-I33ERSGB.js} +2 -2
- package/dist/cli/chunks/{chunk-UEM7ZF5K.js → chunk-IAF6T27S.js} +2 -2
- package/dist/cli/chunks/{chunk-KCZR45PA.js → chunk-IB27QACC.js} +2 -2
- package/dist/cli/chunks/{chunk-SGYJ4NFZ.js → chunk-ICTXTNQZ.js} +1 -1
- package/dist/cli/chunks/chunk-IG5GNEC6.js +4 -0
- package/dist/cli/chunks/{chunk-KHFNNVJA.js → chunk-IQO7UCFR.js} +2 -2
- package/dist/cli/chunks/{chunk-3TW5W5LX.js → chunk-IV5UZOHH.js} +2 -2
- package/dist/cli/chunks/{chunk-7ZIOFPL3.js → chunk-JBTPOIAC.js} +2 -2
- package/dist/cli/chunks/{chunk-ZNEMGX5O.js → chunk-JIXUMYKZ.js} +1 -1
- package/dist/cli/chunks/{chunk-MTZH7AHC.js → chunk-JMONHE4B.js} +1 -1
- package/dist/cli/chunks/{chunk-TDZ53WO2.js → chunk-JVNTSNWU.js} +2 -2
- package/dist/cli/chunks/{chunk-PFR4G3DJ.js → chunk-JXGFRBUO.js} +2 -2
- package/dist/cli/chunks/chunk-JZOS5FCX.js +2 -0
- package/dist/cli/chunks/{chunk-STM3UDNO.js → chunk-KNNISEDY.js} +2 -2
- package/dist/cli/chunks/{chunk-TWAWHOP7.js → chunk-L4RUBPLR.js} +2 -2
- package/dist/cli/chunks/chunk-LL3IGZBI.js +2 -0
- package/dist/cli/chunks/{chunk-CIKSHTEQ.js → chunk-MBRHSU6W.js} +10 -10
- package/dist/cli/chunks/{chunk-G6T45OIC.js → chunk-MJS53PRX.js} +2 -2
- package/dist/cli/chunks/{chunk-PO3IXGMQ.js → chunk-MQROI74N.js} +2 -2
- package/dist/cli/chunks/{chunk-DOTK76IJ.js → chunk-MUOG6QXR.js} +2 -2
- package/dist/cli/chunks/{chunk-MVNP7GIR.js → chunk-MW2GGZZ5.js} +1 -1
- package/dist/cli/chunks/{chunk-FWGOHAAB.js → chunk-NHWGMJAP.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBJ4XOOV.js → chunk-NMAIY4PX.js} +4 -4
- package/dist/cli/chunks/{chunk-CDHQFHRP.js → chunk-NQZ5AR3D.js} +2 -2
- package/dist/cli/chunks/{chunk-FLYOJOKN.js → chunk-P6OYS755.js} +1 -1
- package/dist/cli/chunks/{chunk-BGE6FOLM.js → chunk-PI7TJS62.js} +2 -2
- package/dist/cli/chunks/chunk-PX5YDCRH.js +4 -0
- package/dist/cli/chunks/{chunk-Q5DO24IJ.js → chunk-PZPWRQ2M.js} +3 -3
- package/dist/cli/chunks/{chunk-R4VL6E65.js → chunk-Q5XTSMWR.js} +2 -2
- package/dist/cli/chunks/{chunk-JBNEE5UH.js → chunk-Q7EAGKAE.js} +2 -2
- package/dist/cli/chunks/{chunk-R5NE6B2M.js → chunk-QDFTT3RF.js} +2 -2
- package/dist/cli/chunks/{chunk-DFZCKIGY.js → chunk-QGA55PFM.js} +3 -3
- package/dist/cli/chunks/{chunk-RJCYCLZV.js → chunk-QW6VMTBR.js} +2 -2
- package/dist/cli/chunks/{chunk-6VRA2QGL.js → chunk-QZANMBIT.js} +1 -1
- package/dist/cli/chunks/{chunk-MEGDYJPV.js → chunk-RETBYIAC.js} +4 -4
- package/dist/cli/chunks/{chunk-XJ7QNVI5.js → chunk-RFNPJK6N.js} +3 -3
- package/dist/cli/chunks/{chunk-NJBGXDQ7.js → chunk-RG52OKAM.js} +1 -1
- package/dist/cli/chunks/{chunk-DA5K5754.js → chunk-RSXXCL4A.js} +1 -1
- package/dist/cli/chunks/{chunk-HV2J7KKQ.js → chunk-RTFO5UQH.js} +2 -2
- package/dist/cli/chunks/{chunk-6UWGMOND.js → chunk-RZZCUIAI.js} +2 -2
- package/dist/cli/chunks/chunk-SDRHUMJB.js +2 -0
- package/dist/cli/chunks/{chunk-TSRSV3LD.js → chunk-SE4WIB26.js} +1 -1
- package/dist/cli/chunks/{chunk-ODKLFVYC.js → chunk-SESK3ARK.js} +2 -2
- package/dist/cli/chunks/{chunk-AWWNB2T7.js → chunk-SJUXE4IC.js} +2 -2
- package/dist/cli/chunks/{chunk-QGIU2WRL.js → chunk-SMDN3BQZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VD6QRULW.js → chunk-SNOBH4AZ.js} +2 -2
- package/dist/cli/chunks/{chunk-OSLYSG3B.js → chunk-SPV2VKC5.js} +2 -2
- package/dist/cli/chunks/chunk-TCHGOB2N.js +2 -0
- package/dist/cli/chunks/{chunk-MOBNBMFW.js → chunk-TVYY3OCX.js} +1 -1
- package/dist/cli/chunks/{chunk-UGVHCMUN.js → chunk-UCFQALXO.js} +3 -3
- package/dist/cli/chunks/{chunk-3QHGWY7T.js → chunk-UKA2KOXE.js} +2 -2
- package/dist/cli/chunks/{chunk-MCUJEZT6.js → chunk-UNFFDHER.js} +16 -11
- package/dist/cli/chunks/{chunk-6QYNWR7U.js → chunk-UQ32JHES.js} +2 -2
- package/dist/cli/chunks/{chunk-OULHKEVH.js → chunk-V4DM6ELU.js} +2 -2
- package/dist/cli/chunks/{chunk-M2JBBZQB.js → chunk-VGFFFKGK.js} +2 -2
- package/dist/cli/chunks/{chunk-OCWWP5PL.js → chunk-VMNWDJIZ.js} +2 -2
- package/dist/cli/chunks/chunk-W6HXLH5G.js +180 -0
- package/dist/cli/chunks/{chunk-AIHDEEJO.js → chunk-WCJBU2KI.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBQY5GLF.js → chunk-WGM35YWL.js} +2 -2
- package/dist/cli/chunks/chunk-WO4QMXIG.js +3 -0
- package/dist/cli/chunks/{chunk-3UPAMMCB.js → chunk-XAS3XRYM.js} +1 -1
- package/dist/cli/chunks/chunk-Y3LZ35OG.js +2 -0
- package/dist/cli/chunks/{chunk-5R3QL7WN.js → chunk-Y3UOUNHM.js} +2 -2
- package/dist/cli/chunks/{chunk-ZJ26AQA5.js → chunk-YFBSPLJG.js} +1 -1
- package/dist/cli/chunks/{chunk-BDESSCVR.js → chunk-YHKEDEAA.js} +3 -3
- package/dist/cli/chunks/{chunk-CXQPR5MY.js → chunk-YS4FCTWF.js} +1 -1
- package/dist/cli/chunks/{chunk-CLTMDCSE.js → chunk-YSLL6VSL.js} +2 -2
- package/dist/cli/chunks/chunk-Z6GGIRQQ.js +65 -0
- package/dist/cli/chunks/{chunk-F3SBRQC6.js → chunk-Z7WODOTH.js} +2 -2
- package/dist/cli/chunks/chunk-ZCRTRYXK.js +14 -0
- package/dist/cli/chunks/{chunk-XRYF6JV7.js → chunk-ZEV3YTO7.js} +2 -2
- package/dist/cli/chunks/{chunk-YNXS6CGV.js → chunk-ZL6SYKUK.js} +1 -1
- package/dist/cli/chunks/{chunk-5SJHQ2CO.js → chunk-ZSPU4MOS.js} +2 -2
- package/dist/cli/chunks/{chunk-UDHKLT4C.js → chunk-ZVWVV4EX.js} +1 -1
- package/dist/cli/chunks/{ci-464KPQNP.js → ci-W6K6G2KZ.js} +2 -2
- package/dist/cli/chunks/{ci-output-I7FX2RSO.js → ci-output-LDT24TS3.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-3FW237WW.js → circuit-breaker-F5V4KITU.js} +2 -2
- package/dist/cli/chunks/claude-flow-setup-DT6WQQVD.js +2 -0
- package/dist/cli/chunks/client-KHWJT6FB.js +2 -0
- package/dist/cli/chunks/{cline-installer-UWFHT6VY.js → cline-installer-G7TJOAEX.js} +2 -2
- package/dist/cli/chunks/{code-KQSUT3FS.js → code-PGE6A42V.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-PABBNUSC.js → code-index-extractor-RNITH372.js} +2 -2
- package/dist/cli/chunks/codex-installer-LBX77AI3.js +14 -0
- package/dist/cli/chunks/{completions-7RWHAUAR.js → completions-4AWLAARX.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-XPOAF33E.js → complexity-analyzer-ZPNSS476.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-V4F2FIZP.js → continuedev-installer-UAPWX6OA.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-JMICURQB.js → copilot-installer-BJN2YJGI.js} +2 -2
- package/dist/cli/chunks/core-handlers-HING5RRG.js +2 -0
- package/dist/cli/chunks/{cost-tracker-5OFHEYFJ.js → cost-tracker-MHP2VJ63.js} +2 -2
- package/dist/cli/chunks/{coverage-QKN57JDS.js → coverage-PQB4IEFG.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-PQTD6AZN.js +2 -0
- package/dist/cli/chunks/{cursor-installer-GBJ7YXSM.js → cursor-installer-ZXBWYAS3.js} +2 -2
- package/dist/cli/chunks/{daemon-GKP7CMEK.js → daemon-64C7R6OJ.js} +3 -3
- package/dist/cli/chunks/{daemon-IAVSO6HK.js → daemon-N2BEGEFY.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-S225TCI7.js → dag-attention-scheduler-SPZDAPNL.js} +2 -2
- package/dist/cli/chunks/{detect-IUYH422U.js → detect-LXJBSSZW.js} +2 -2
- package/dist/cli/chunks/{dist-node-2YRE6A7C.js → dist-node-U3TKZ2IZ.js} +2 -2
- package/dist/cli/chunks/{domain-handler-PL2TZC6H.js → domain-handler-3DDWUVSR.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-HCGLXKIT.js → domain-plugins-JJVWI4OQ.js} +2 -2
- package/dist/cli/chunks/domain-transfer-M36KUJ2U.js +2 -0
- package/dist/cli/chunks/dream-WUGRSNCV.js +2 -0
- package/dist/cli/chunks/embed-and-insert-pattern-JPAR7TXX.js +3 -0
- package/dist/cli/chunks/{eval-WCK7KNFN.js → eval-SOLG23EA.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-2MSQWSAR.js → experience-capture-middleware-T7G2VOOD.js} +4 -4
- package/dist/cli/chunks/{fast-paths-VYOSIBKF.js → fast-paths-32N3ELI4.js} +2 -2
- package/dist/cli/chunks/{feature-flags-WCFUKHNQ.js → feature-flags-APJDQ4N7.js} +2 -2
- package/dist/cli/chunks/{feature-flags-UJRHFBRX.js → feature-flags-NAHKLDRN.js} +2 -2
- package/dist/cli/chunks/{file-discovery-JDGL4ZWS.js → file-discovery-YKVM3MDB.js} +2 -2
- package/dist/cli/chunks/{fleet-ROXVMZ2F.js → fleet-55M5CJS4.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-NIO4ZCO3.js → gnn-wrapper-UD6E6S6Z.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-PI42WD3C.js → heartbeat-handler-OYVW3VSC.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-33XX5XNQ.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-XQPERX3H.js +2 -0
- package/dist/cli/chunks/hnsw-index-2GNXTWHH.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-YLC7SPK2.js → hnsw-legacy-bridge-HBYIS3ZW.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-LG6OS3B7.js → hnswlib-node-EQPM42OU.js} +2 -2
- package/dist/cli/chunks/{hooks-WVALP5GX.js → hooks-5ZSSJWO6.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-CCF7URKI.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-GJEMW3EG.js → hypergraph-engine-XBGVQ4PD.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-BLF6LXEV.js → hypergraph-handler-CAWAQ673.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-HGKAZWIG.js +2 -0
- package/dist/cli/chunks/{init-handler-K25RWRYY.js → init-handler-PRHXSARK.js} +6 -6
- package/dist/cli/chunks/init-wizard-72MFBI3G.js +2 -0
- package/dist/cli/chunks/kernel-BRCBVMSK.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-BXN6WZ7G.js → kilocode-installer-F7LXBM7I.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-PM362DLN.js → kiro-installer-NM723ZRG.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-DG44IPEI.js +2 -0
- package/dist/cli/chunks/{learning-CPERDDRG.js → learning-5QYIDHH3.js} +3 -3
- package/dist/cli/chunks/{llm-router-GOAV5FPI.js → llm-router-43HKWPSX.js} +4 -4
- package/dist/cli/chunks/llm-router-service-24KXFX32.js +2 -0
- package/dist/cli/chunks/{load-2BG6SHAK.js → load-5YDBWSCS.js} +2 -2
- package/dist/cli/chunks/load-test-N4TAYJY3.js +2 -0
- package/dist/cli/chunks/mcp-UMAPMNMY.js +2 -0
- package/dist/cli/chunks/{memory-4NHBYT6S.js → memory-FWCPCQFP.js} +6 -6
- package/dist/cli/chunks/memory-backend-NVYFYVAU.js +2 -0
- package/dist/cli/chunks/memory-handlers-UTWCNCHL.js +2 -0
- package/dist/cli/chunks/multi-model-executor-2XTBGLE4.js +14 -0
- package/dist/cli/chunks/{opencode-installer-ATZLLK74.js → opencode-installer-GIXOJ6NS.js} +2 -2
- package/dist/cli/chunks/orchestrator-VW6BKHLI.js +393 -0
- package/dist/cli/chunks/pattern-null-store-SBPNYDBR.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-7VE4XDAI.js → pattern-usage-recorder-7CEUC3J7.js} +2 -2
- package/dist/cli/chunks/{pipeline-LQZSNDD2.js → pipeline-IGUQPPPO.js} +2 -2
- package/dist/cli/chunks/platform-2P636I7B.js +2 -0
- package/dist/cli/chunks/{plugin-EJ6K2MGU.js → plugin-NY6SWDPE.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-OIHTKJMN.js → prime-radiant-advanced-wasm-2UUDTIO2.js} +2 -2
- package/dist/cli/chunks/project-root-IOISG5KX.js +2 -0
- package/dist/cli/chunks/protocol-executor-IBYEII5Q.js +2 -0
- package/dist/cli/chunks/{protocol-handler-NRBROAU7.js → protocol-handler-ZTPCRQ5W.js} +2 -2
- package/dist/cli/chunks/{prove-EJOGEGD3.js → prove-SQX5A3IG.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-7IETWW6W.js +2 -0
- package/dist/cli/chunks/{quality-E55UC73D.js → quality-DROILKRY.js} +2 -2
- package/dist/cli/chunks/{quality-gate-OIQATNT3.js → quality-gate-PWKWDJY2.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-NHUK2MWJ.js +2 -0
- package/dist/cli/chunks/real-embeddings-P5U3MGYC.js +2 -0
- package/dist/cli/chunks/{ref-validation-OPO6J7OL.js → ref-validation-KY73NQXD.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-ODY5KRWU.js → roocode-installer-6JPPRB3W.js} +2 -2
- package/dist/cli/chunks/router-SRSO3IHF.js +2 -0
- package/dist/cli/chunks/routing-feedback-PASRE5HY.js +2 -0
- package/dist/cli/chunks/{routing-handler-KQM6VWLC.js → routing-handler-VTJIVFUO.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-U2GVV6PF.js → ruvector-commands-C6RPSJJO.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-4M4J67OU.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-TSXGT5LF.js +2 -0
- package/dist/cli/chunks/rvf-migration-coordinator-R53URRIO.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-MOF3E7BR.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-KMIHD3LP.js → rvf-store-integrity-MMXN5TEJ.js} +2 -2
- package/dist/cli/chunks/safe-db-QJLFO33B.js +2 -0
- package/dist/cli/chunks/schedule-YIVXW5O2.js +2 -0
- package/dist/cli/chunks/scheduler-AON7DWSJ.js +2 -0
- package/dist/cli/chunks/{security-P5NM353C.js → security-3B3R2NL4.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-VIJB7JUS.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-2CSG7C4W.js → shared-rvf-dual-writer-UVWGDUWC.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-75VHKKQB.js +2 -0
- package/dist/cli/chunks/standalone-memory-M4LWAAYZ.js +2 -0
- package/dist/cli/chunks/{status-handler-6TU6O37R.js → status-handler-YYFV6OZL.js} +2 -2
- package/dist/cli/chunks/{structural-health-KBIJSTXJ.js → structural-health-27E6LLKB.js} +2 -2
- package/dist/cli/chunks/sync-26CEGSTC.js +2 -0
- package/dist/cli/chunks/{sync-LNHI5SB7.js → sync-J3LJ56WN.js} +2 -2
- package/dist/cli/chunks/task-handler-4MCEBQZL.js +54 -0
- package/dist/cli/chunks/task-handlers-GYBAWKE2.js +9 -0
- package/dist/cli/chunks/{test-DHAAI3DU.js → test-MPC5HRH5.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-XDBZ3QC2.js → test-scheduling-ZJBFRZ3J.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-2Y2XITBX.js +2 -0
- package/dist/cli/chunks/{token-usage-Q2YG5YQN.js → token-usage-3X5WMTG2.js} +2 -2
- package/dist/cli/chunks/{transformers-F5UQTQCY.js → transformers-MVL4C5IX.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-SLW65ZFO.js +2 -0
- package/dist/cli/chunks/{types-JQ7EQO5Q.js → types-TG5P3CRS.js} +2 -2
- package/dist/cli/chunks/unified-memory-UCQ6AB32.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-IXYUMKRR.js +2 -0
- package/dist/cli/chunks/unified-persistence-7E6JQ4FZ.js +2 -0
- package/dist/cli/chunks/{upgrade-TJRVGHGD.js → upgrade-ETBHDEPY.js} +2 -2
- package/dist/cli/chunks/{validate-BWPCVHBN.js → validate-C2A73LZK.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-QVVKCQLP.js → validate-swarm-67XN42ML.js} +2 -2
- package/dist/cli/chunks/{vibium-ZFATIWHO.js → vibium-NILGKHLN.js} +2 -2
- package/dist/cli/chunks/visual-security-4VZXPEVG.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-KPLY7ONR.js → web-tree-sitter-USJN77P4.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-H7XM7ISA.js → windsurf-installer-5GGZXGJW.js} +2 -2
- package/dist/cli/chunks/witness-chain-IWS5ZHHL.js +2 -0
- package/dist/cli/chunks/witness-chain-JQA2VPZI.js +2 -0
- package/dist/cli/chunks/witness-chain-repair-4UA7IPS3.js +2 -0
- package/dist/cli/chunks/witness-chain-verifier-3GEADWPE.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-DFRL42GE.js → witness-key-manager-ZWEIK3VJ.js} +2 -2
- package/dist/cli/chunks/{workflow-2ZQO6WYI.js → workflow-KHMVVBBA.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-GI5NQH7C.js +2 -0
- package/dist/cli/chunks/wrappers-N6XIK5PT.js +2 -0
- package/dist/cli/commands/audit.d.ts +20 -2
- package/dist/cli/commands/audit.js +158 -16
- package/dist/cli/commands/claude-flow-setup.js +5 -4
- package/dist/cli/commands/mcp.js +6 -0
- package/dist/cli/commands/memory.d.ts +1 -1
- package/dist/cli/commands/memory.js +8 -8
- package/dist/cli/commands/platform.js +15 -2
- package/dist/cli/commands/upgrade.d.ts +3 -3
- package/dist/cli/commands/upgrade.js +3 -3
- package/dist/cli/handlers/init-handler.d.ts +10 -0
- package/dist/cli/handlers/task-handler.js +24 -3
- package/dist/cli/helpers/standalone-memory.d.ts +12 -0
- package/dist/cli/helpers/standalone-memory.js +46 -0
- package/dist/cli/index.js +39 -42
- package/dist/cli/log-gate.d.ts +66 -0
- package/dist/cli/log-gate.js +170 -0
- package/dist/init/agents-installer.d.ts +4 -0
- package/dist/init/agents-installer.js +24 -11
- package/dist/init/codex-installer.js +22 -8
- package/dist/init/idempotent-write.d.ts +53 -0
- package/dist/init/idempotent-write.js +160 -0
- package/dist/init/orchestrator.js +1 -0
- package/dist/init/phases/05-learning.js +3 -1
- package/dist/init/phases/07-hooks.js +32 -16
- package/dist/init/phases/08-mcp.js +4 -2
- package/dist/init/phases/09-assets.d.ts +10 -0
- package/dist/init/phases/09-assets.js +3 -0
- package/dist/init/phases/10-workers.js +7 -5
- package/dist/init/phases/12-verification.js +7 -2
- package/dist/init/project-analyzer.d.ts +9 -0
- package/dist/init/project-analyzer.js +20 -1
- package/dist/init/self-configurator.d.ts +5 -3
- package/dist/init/self-configurator.js +18 -29
- package/dist/init/skills-installer.js +4 -2
- package/dist/init/token-bootstrap.d.ts +1 -1
- package/dist/init/token-bootstrap.js +12 -2
- package/dist/init/types.d.ts +16 -0
- package/dist/init/types.js +20 -24
- package/dist/integrations/coherence/coherence-service.js +84 -24
- package/dist/integrations/coherence/vote-tally.d.ts +38 -0
- package/dist/integrations/coherence/vote-tally.js +39 -0
- package/dist/integrations/ruvector/brain-exporter.js +17 -0
- package/dist/integrations/ruvector/brain-import-audit.d.ts +20 -0
- package/dist/integrations/ruvector/brain-import-audit.js +22 -0
- package/dist/integrations/ruvector/brain-rvf-exporter.js +16 -0
- package/dist/integrations/ruvector/brain-shared.js +1 -1
- package/dist/integrations/ruvector/rvf-dual-writer.js +6 -1
- package/dist/integrations/ruvector/shared-rvf-adapter.d.ts +23 -0
- package/dist/integrations/ruvector/shared-rvf-adapter.js +24 -0
- package/dist/kernel/hybrid-backend.d.ts +6 -0
- package/dist/kernel/hybrid-backend.js +18 -0
- package/dist/kernel/kernel.js +12 -16
- package/dist/kernel/project-root.d.ts +1 -1
- package/dist/kernel/project-root.js +24 -3
- package/dist/learning/embedder-identity-store.js +4 -3
- package/dist/learning/pattern-store.d.ts +11 -0
- package/dist/learning/pattern-store.js +31 -9
- package/dist/learning/qe-patterns.d.ts +6 -0
- package/dist/learning/qe-patterns.js +7 -1
- package/dist/learning/qe-reasoning-bank.js +3 -0
- package/dist/learning/real-embeddings.d.ts +8 -0
- package/dist/learning/real-embeddings.js +16 -0
- package/dist/learning/rvf-pattern-store.js +30 -10
- package/dist/learning/sqlite-persistence.d.ts +8 -1
- package/dist/learning/sqlite-persistence.js +49 -9
- package/dist/logging/console-logger.d.ts +2 -5
- package/dist/logging/console-logger.js +10 -46
- package/dist/logging/index.d.ts +2 -0
- package/dist/logging/index.js +1 -0
- package/dist/logging/redaction.d.ts +27 -0
- package/dist/logging/redaction.js +170 -0
- package/dist/mcp/bundle.js +463 -449
- package/dist/mcp/entry.js +2 -0
- package/dist/mcp/handlers/core-handlers.js +5 -4
- package/dist/mcp/handlers/memory-handlers.d.ts +6 -1
- package/dist/mcp/handlers/memory-handlers.js +44 -22
- package/dist/mcp/handlers/task-handlers.js +14 -1
- package/dist/mcp/protocol-server.js +3 -1
- package/dist/mcp/services/session-store.js +5 -1
- package/dist/mcp/tools/base.d.ts +9 -2
- package/dist/mcp/tools/base.js +7 -0
- package/dist/mcp/tools/coherence/consensus.js +51 -2
- package/dist/mcp/tools/planning/goap-plan.d.ts +20 -7
- package/dist/mcp/tools/planning/goap-plan.js +92 -20
- package/dist/mcp/tools/planning/goap-status.d.ts +37 -12
- package/dist/mcp/tools/planning/goap-status.js +52 -23
- package/dist/mcp/tools/planning/world-state.d.ts +101 -0
- package/dist/mcp/tools/planning/world-state.js +274 -0
- package/dist/mcp/types.d.ts +4 -2
- package/dist/planning/goap-planner.d.ts +60 -4
- package/dist/planning/goap-planner.js +218 -60
- package/dist/planning/index.d.ts +1 -1
- package/dist/planning/index.js +1 -1
- package/dist/planning/plan-executor.d.ts +20 -1
- package/dist/planning/plan-executor.js +209 -100
- package/dist/planning/types.d.ts +16 -0
- package/dist/planning/types.js +17 -0
- package/dist/plugins/cache.d.ts +2 -0
- package/dist/plugins/cache.js +15 -2
- package/dist/plugins/lifecycle.js +15 -2
- package/dist/plugins/manifest.js +7 -5
- package/dist/plugins/resolver.d.ts +13 -22
- package/dist/plugins/resolver.js +169 -61
- package/dist/plugins/version-policy.d.ts +13 -0
- package/dist/plugins/version-policy.js +18 -0
- package/dist/shared/types/index.d.ts +6 -0
- package/dist/shared/types/index.js +8 -0
- package/package.json +2 -1
- package/dist/cli/chunks/adapter-TNNNJRDG.js +0 -2
- package/dist/cli/chunks/agent-booster-wasm-5PC7D2FW.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-5ZRMYJLB.js +0 -2
- package/dist/cli/chunks/audit-YSGA7UWT.js +0 -3
- package/dist/cli/chunks/base-KWZHOPSH.js +0 -2
- package/dist/cli/chunks/brain-handler-ET6YAP4B.js +0 -90
- package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +0 -2
- package/dist/cli/chunks/chunk-33YYYWBQ.js +0 -4
- package/dist/cli/chunks/chunk-5Z6XZV7K.js +0 -65
- package/dist/cli/chunks/chunk-6J62K3SW.js +0 -2
- package/dist/cli/chunks/chunk-6TPKK7LD.js +0 -15
- package/dist/cli/chunks/chunk-DEYLEDJN.js +0 -27
- package/dist/cli/chunks/chunk-J6GNQS62.js +0 -5
- package/dist/cli/chunks/chunk-KGT36Z42.js +0 -14
- package/dist/cli/chunks/chunk-NA7B2QYB.js +0 -2
- package/dist/cli/chunks/chunk-NDPFGIMJ.js +0 -13
- package/dist/cli/chunks/chunk-OBAP2TXZ.js +0 -2
- package/dist/cli/chunks/chunk-PEPFCPES.js +0 -2
- package/dist/cli/chunks/chunk-T6BVLVI5.js +0 -2
- package/dist/cli/chunks/chunk-TT23RRB7.js +0 -2
- package/dist/cli/chunks/chunk-XC7DYDSY.js +0 -180
- package/dist/cli/chunks/chunk-XWMZ6D6N.js +0 -2
- package/dist/cli/chunks/chunk-Y3MW3YBC.js +0 -3
- package/dist/cli/chunks/claude-flow-setup-6JKMBPGU.js +0 -2
- package/dist/cli/chunks/client-7E4LM2WW.js +0 -2
- package/dist/cli/chunks/codex-installer-CQ24DTP5.js +0 -14
- package/dist/cli/chunks/core-handlers-IFG3757P.js +0 -2
- package/dist/cli/chunks/cross-domain-router-EK7W4PGP.js +0 -2
- package/dist/cli/chunks/domain-transfer-KQJRUPXA.js +0 -2
- package/dist/cli/chunks/dream-NFSCSLY7.js +0 -2
- package/dist/cli/chunks/embed-and-insert-pattern-ZPAG7235.js +0 -3
- package/dist/cli/chunks/heartbeat-scheduler-ZATCDJDK.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-WXQABRCA.js +0 -2
- package/dist/cli/chunks/hnsw-index-TPSWLEA5.js +0 -2
- package/dist/cli/chunks/impact-analyzer-HNIU45P5.js +0 -2
- package/dist/cli/chunks/init-wizard-JUIPBMHG.js +0 -2
- package/dist/cli/chunks/kernel-5BOZQ754.js +0 -2
- package/dist/cli/chunks/knowledge-graph-EWDAENWM.js +0 -2
- package/dist/cli/chunks/llm-router-service-3YT7JGBS.js +0 -2
- package/dist/cli/chunks/load-test-BP2CPLIV.js +0 -2
- package/dist/cli/chunks/mcp-5TTB37DC.js +0 -2
- package/dist/cli/chunks/memory-backend-4PYQBPRM.js +0 -2
- package/dist/cli/chunks/memory-handlers-2B27NITS.js +0 -2
- package/dist/cli/chunks/multi-model-executor-KCWSGCDT.js +0 -14
- package/dist/cli/chunks/orchestrator-RKB7XJRG.js +0 -393
- package/dist/cli/chunks/pattern-null-store-OYOQOV2O.js +0 -2
- package/dist/cli/chunks/platform-OD5H5U6G.js +0 -2
- package/dist/cli/chunks/protocol-executor-3ATJTXWG.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +0 -2
- package/dist/cli/chunks/queen-coordinator-RN7L6KG5.js +0 -2
- package/dist/cli/chunks/real-embeddings-FPFFNOSZ.js +0 -2
- package/dist/cli/chunks/router-MDHITQ2V.js +0 -2
- package/dist/cli/chunks/routing-feedback-5XLNJ3Y3.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-JBW4O3II.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-BPPQL4XJ.js +0 -2
- package/dist/cli/chunks/rvf-migration-coordinator-V2GHCJKN.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-S4562CG5.js +0 -2
- package/dist/cli/chunks/safe-db-FIRHSXVF.js +0 -2
- package/dist/cli/chunks/schedule-RVXFB4HK.js +0 -2
- package/dist/cli/chunks/scheduler-IKKAMAOO.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-LVIUOO4S.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-SQ3HCUQ7.js +0 -2
- package/dist/cli/chunks/sync-UHOX6RJW.js +0 -2
- package/dist/cli/chunks/task-handler-AVDHMLGI.js +0 -49
- package/dist/cli/chunks/task-handlers-KYK4VTRA.js +0 -9
- package/dist/cli/chunks/token-bootstrap-GUTTLPZX.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-DEGOHS6F.js +0 -2
- package/dist/cli/chunks/unified-memory-CXHLHB5I.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-I7WAE54M.js +0 -2
- package/dist/cli/chunks/unified-persistence-6CPF65WI.js +0 -2
- package/dist/cli/chunks/visual-security-GNPHME5H.js +0 -2
- package/dist/cli/chunks/witness-chain-RRN6NDCH.js +0 -2
- package/dist/cli/chunks/witness-chain-VT4UHHBR.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-DB3HIECD.js +0 -2
- package/dist/cli/chunks/wrappers-SUS6XEJD.js +0 -2
package/dist/mcp/entry.js
CHANGED
|
@@ -21,6 +21,7 @@ import { initializeExperienceCapture, stopCleanupTimer } from '../learning/exper
|
|
|
21
21
|
import { createInfraHealingOrchestratorSync, ShellCommandRunner } from '../strange-loop/infra-healing/index.js';
|
|
22
22
|
import { setInfraHealingOrchestrator, handleFleetInit } from './handlers/index.js';
|
|
23
23
|
import { parallelPrefetch } from '../boot/parallel-prefetch.js';
|
|
24
|
+
import { initFeatureFlagsFromEnv } from '../integrations/ruvector/feature-flags.js';
|
|
24
25
|
import { readFileSync } from 'node:fs';
|
|
25
26
|
import { resolve, dirname } from 'node:path';
|
|
26
27
|
import { fileURLToPath } from 'node:url';
|
|
@@ -29,6 +30,7 @@ const pkg = require('../../package.json');
|
|
|
29
30
|
let server = null;
|
|
30
31
|
let httpServer = null;
|
|
31
32
|
async function main() {
|
|
33
|
+
initFeatureFlagsFromEnv();
|
|
32
34
|
// Output startup message BEFORE suppressing stderr (Claude Code health check needs this)
|
|
33
35
|
const version = pkg.version;
|
|
34
36
|
process.stderr.write(`[agentic-qe-v3] MCP server starting v${version}\n`);
|
|
@@ -115,14 +115,15 @@ export async function handleFleetInit(params) {
|
|
|
115
115
|
try {
|
|
116
116
|
// If already initialized, return existing fleet
|
|
117
117
|
if (state.initialized && state.kernel && state.queen) {
|
|
118
|
+
const effectiveConfig = state.kernel.getConfig();
|
|
118
119
|
return {
|
|
119
120
|
success: true,
|
|
120
121
|
data: {
|
|
121
122
|
fleetId: state.fleetId,
|
|
122
|
-
topology:
|
|
123
|
-
maxAgents:
|
|
124
|
-
//
|
|
125
|
-
enabledDomains:
|
|
123
|
+
topology: state.topology,
|
|
124
|
+
maxAgents: effectiveConfig.maxConcurrentAgents,
|
|
125
|
+
// Report the running kernel, not the later caller's requested domains.
|
|
126
|
+
enabledDomains: effectiveConfig.enabledDomains.filter(d => d !== 'coordination'),
|
|
126
127
|
status: 'ready',
|
|
127
128
|
},
|
|
128
129
|
};
|
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
* and ComplianceReporter for violation tracking.
|
|
7
7
|
*/
|
|
8
8
|
import { ToolResult, MemoryStoreParams, MemoryStoreResult, MemoryRetrieveParams, MemoryRetrieveResult, MemoryQueryParams } from '../types';
|
|
9
|
-
import type { VectorSearchProvenance } from '../../kernel/interfaces.js';
|
|
9
|
+
import type { MemoryBackend, VectorSearchProvenance } from '../../kernel/interfaces.js';
|
|
10
|
+
/**
|
|
11
|
+
* Register (or clear) a standalone memory backend for the memory handlers.
|
|
12
|
+
* An initialized fleet always takes precedence over it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function setStandaloneMemoryBackend(backend: MemoryBackend | null): void;
|
|
10
15
|
export declare function handleMemoryStore(params: MemoryStoreParams): Promise<ToolResult<MemoryStoreResult>>;
|
|
11
16
|
export declare function handleMemoryRetrieve(params: MemoryRetrieveParams): Promise<ToolResult<MemoryRetrieveResult>>;
|
|
12
17
|
interface MemoryQueryResult {
|
|
@@ -12,16 +12,38 @@ import { memoryWriteGateIntegration, createMemoryPattern, isMemoryWriteGateEnabl
|
|
|
12
12
|
// Real transformer embeddings for semantic search (384-dim, matches ExperienceReplay)
|
|
13
13
|
import { computeRealEmbedding } from '../../learning/real-embeddings.js';
|
|
14
14
|
// ============================================================================
|
|
15
|
+
// Memory Backend Resolution
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Backend used when no fleet is initialized. The CLI memory subcommands set
|
|
19
|
+
* this so they can run against .agentic-qe/memory.db without booting the
|
|
20
|
+
* kernel, Queen Coordinator, and every domain coordinator.
|
|
21
|
+
*/
|
|
22
|
+
let standaloneMemory = null;
|
|
23
|
+
/**
|
|
24
|
+
* Register (or clear) a standalone memory backend for the memory handlers.
|
|
25
|
+
* An initialized fleet always takes precedence over it.
|
|
26
|
+
*/
|
|
27
|
+
export function setStandaloneMemoryBackend(backend) {
|
|
28
|
+
standaloneMemory = backend;
|
|
29
|
+
}
|
|
30
|
+
function getMemoryBackend() {
|
|
31
|
+
if (isFleetInitialized()) {
|
|
32
|
+
return getFleetState().kernel.memory;
|
|
33
|
+
}
|
|
34
|
+
return standaloneMemory;
|
|
35
|
+
}
|
|
36
|
+
// ============================================================================
|
|
15
37
|
// Memory Store Handler
|
|
16
38
|
// ============================================================================
|
|
17
39
|
export async function handleMemoryStore(params) {
|
|
18
|
-
|
|
40
|
+
const memory = getMemoryBackend();
|
|
41
|
+
if (!memory) {
|
|
19
42
|
return {
|
|
20
43
|
success: false,
|
|
21
44
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
22
45
|
};
|
|
23
46
|
}
|
|
24
|
-
const { kernel } = getFleetState();
|
|
25
47
|
try {
|
|
26
48
|
const namespace = params.namespace || 'default';
|
|
27
49
|
// Build namespaced key ourselves since get/delete interface doesn't support namespace
|
|
@@ -57,7 +79,7 @@ export async function handleMemoryStore(params) {
|
|
|
57
79
|
console.warn(`[MemoryHandler] Write allowed with warning: ${decision.reason}`);
|
|
58
80
|
}
|
|
59
81
|
}
|
|
60
|
-
await
|
|
82
|
+
await memory.set(fullKey, params.value, {
|
|
61
83
|
ttl: params.ttl,
|
|
62
84
|
});
|
|
63
85
|
// Store vector embedding for semantic search (HNSW)
|
|
@@ -66,7 +88,7 @@ export async function handleMemoryStore(params) {
|
|
|
66
88
|
try {
|
|
67
89
|
const textForEmbedding = `${params.key} ${JSON.stringify(params.value)}`;
|
|
68
90
|
const embedding = await computeRealEmbedding(textForEmbedding);
|
|
69
|
-
await
|
|
91
|
+
await memory.storeVector(fullKey, embedding, {
|
|
70
92
|
key: params.key,
|
|
71
93
|
namespace,
|
|
72
94
|
storedAt: Date.now(),
|
|
@@ -117,17 +139,17 @@ export async function handleMemoryStore(params) {
|
|
|
117
139
|
// Memory Retrieve Handler
|
|
118
140
|
// ============================================================================
|
|
119
141
|
export async function handleMemoryRetrieve(params) {
|
|
120
|
-
|
|
142
|
+
const memory = getMemoryBackend();
|
|
143
|
+
if (!memory) {
|
|
121
144
|
return {
|
|
122
145
|
success: false,
|
|
123
146
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
124
147
|
};
|
|
125
148
|
}
|
|
126
|
-
const { kernel } = getFleetState();
|
|
127
149
|
try {
|
|
128
150
|
const namespace = params.namespace || 'default';
|
|
129
151
|
const fullKey = `${namespace}:${params.key}`;
|
|
130
|
-
const value = await
|
|
152
|
+
const value = await memory.get(fullKey);
|
|
131
153
|
if (value === undefined) {
|
|
132
154
|
return {
|
|
133
155
|
success: true,
|
|
@@ -168,13 +190,13 @@ function isNaturalLanguageQuery(pattern) {
|
|
|
168
190
|
return pattern.includes(' ') && !pattern.includes('*') && !pattern.includes('?');
|
|
169
191
|
}
|
|
170
192
|
export async function handleMemoryQuery(params) {
|
|
171
|
-
|
|
193
|
+
const memory = getMemoryBackend();
|
|
194
|
+
if (!memory) {
|
|
172
195
|
return {
|
|
173
196
|
success: false,
|
|
174
197
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
175
198
|
};
|
|
176
199
|
}
|
|
177
|
-
const { kernel } = getFleetState();
|
|
178
200
|
try {
|
|
179
201
|
const namespace = params.namespace || 'default';
|
|
180
202
|
const limit = params.limit || 100;
|
|
@@ -188,7 +210,7 @@ export async function handleMemoryQuery(params) {
|
|
|
188
210
|
// Generate real 384-dim transformer embedding for accurate cosine similarity search
|
|
189
211
|
const embedding = await computeRealEmbedding(params.pattern);
|
|
190
212
|
const keyPrefix = namespace !== 'default' ? `${namespace}:` : undefined;
|
|
191
|
-
const filtered = await
|
|
213
|
+
const filtered = await memory.vectorSearch(embedding, limit + offset, keyPrefix);
|
|
192
214
|
const paginatedResults = filtered.slice(offset, offset + limit);
|
|
193
215
|
const entries = paginatedResults.map(r => {
|
|
194
216
|
const parts = r.key.split(':');
|
|
@@ -205,7 +227,7 @@ export async function handleMemoryQuery(params) {
|
|
|
205
227
|
total: filtered.length,
|
|
206
228
|
hasMore: offset + limit < filtered.length,
|
|
207
229
|
searchType: 'semantic',
|
|
208
|
-
searchProvenance:
|
|
230
|
+
searchProvenance: memory.getVectorSearchProvenance?.(),
|
|
209
231
|
},
|
|
210
232
|
};
|
|
211
233
|
}
|
|
@@ -218,7 +240,7 @@ export async function handleMemoryQuery(params) {
|
|
|
218
240
|
const pattern = params.pattern
|
|
219
241
|
? `${namespace}:${params.pattern}`
|
|
220
242
|
: `${namespace}:*`;
|
|
221
|
-
const keys = await
|
|
243
|
+
const keys = await memory.search(pattern, limit + offset);
|
|
222
244
|
// Apply pagination
|
|
223
245
|
const paginatedKeys = keys.slice(offset, offset + limit);
|
|
224
246
|
const entries = paginatedKeys.map((key) => {
|
|
@@ -246,17 +268,17 @@ export async function handleMemoryQuery(params) {
|
|
|
246
268
|
}
|
|
247
269
|
}
|
|
248
270
|
export async function handleMemoryDelete(params) {
|
|
249
|
-
|
|
271
|
+
const memory = getMemoryBackend();
|
|
272
|
+
if (!memory) {
|
|
250
273
|
return {
|
|
251
274
|
success: false,
|
|
252
275
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
253
276
|
};
|
|
254
277
|
}
|
|
255
|
-
const { kernel } = getFleetState();
|
|
256
278
|
try {
|
|
257
279
|
const namespace = params.namespace || 'default';
|
|
258
280
|
const fullKey = `${namespace}:${params.key}`;
|
|
259
|
-
const deleted = await
|
|
281
|
+
const deleted = await memory.delete(fullKey);
|
|
260
282
|
return {
|
|
261
283
|
success: true,
|
|
262
284
|
data: {
|
|
@@ -274,21 +296,21 @@ export async function handleMemoryDelete(params) {
|
|
|
274
296
|
}
|
|
275
297
|
}
|
|
276
298
|
export async function handleMemoryUsage() {
|
|
277
|
-
|
|
299
|
+
const memory = getMemoryBackend();
|
|
300
|
+
if (!memory) {
|
|
278
301
|
return {
|
|
279
302
|
success: false,
|
|
280
303
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
281
304
|
};
|
|
282
305
|
}
|
|
283
|
-
const { kernel } = getFleetState();
|
|
284
306
|
try {
|
|
285
307
|
// Estimate stats by searching for all keys
|
|
286
|
-
const allKeys = await
|
|
308
|
+
const allKeys = await memory.search('*', 10000);
|
|
287
309
|
// Issue N4: Query real vector count from SQLite instead of hardcoding 0
|
|
288
310
|
let vectorCount = 0;
|
|
289
311
|
let namespaceCount = 1;
|
|
290
312
|
try {
|
|
291
|
-
const backend =
|
|
313
|
+
const backend = memory;
|
|
292
314
|
if (backend.getVectorStats) {
|
|
293
315
|
const stats = await backend.getVectorStats();
|
|
294
316
|
vectorCount = stats?.vectorCount ?? 0;
|
|
@@ -322,13 +344,13 @@ export async function handleMemoryUsage() {
|
|
|
322
344
|
}
|
|
323
345
|
}
|
|
324
346
|
export async function handleMemoryShare(params) {
|
|
325
|
-
|
|
347
|
+
const memory = getMemoryBackend();
|
|
348
|
+
if (!memory) {
|
|
326
349
|
return {
|
|
327
350
|
success: false,
|
|
328
351
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
329
352
|
};
|
|
330
353
|
}
|
|
331
|
-
const { kernel } = getFleetState();
|
|
332
354
|
try {
|
|
333
355
|
// Store shared knowledge for each target agent
|
|
334
356
|
const sharedKey = `shared:${params.knowledgeDomain}:${Date.now()}`;
|
|
@@ -368,7 +390,7 @@ export async function handleMemoryShare(params) {
|
|
|
368
390
|
}
|
|
369
391
|
}
|
|
370
392
|
}
|
|
371
|
-
await
|
|
393
|
+
await memory.set(sharedKey, sharedContent, {
|
|
372
394
|
namespace: 'agent-knowledge',
|
|
373
395
|
});
|
|
374
396
|
// ADR-058: Register pattern after successful share
|
|
@@ -10,6 +10,7 @@ import { getTaskRouter, } from '../services/task-router.js';
|
|
|
10
10
|
import { getReasoningBankService, startTaskTrajectory, endTaskTrajectory, } from '../services/reasoning-bank-service.js';
|
|
11
11
|
import { scoreUnjudgedTrajectories } from './trajectory-judge.js';
|
|
12
12
|
import { toErrorMessage } from '../../shared/error-utils.js';
|
|
13
|
+
import { ALL_DOMAINS, isDomainName } from '../../shared/types/index.js';
|
|
13
14
|
// ============================================================================
|
|
14
15
|
// Task Type to Workflow Mapping (Issue #206)
|
|
15
16
|
// Maps TaskTypes to their associated workflow IDs for auto-execution
|
|
@@ -30,12 +31,24 @@ export async function handleTaskSubmit(params) {
|
|
|
30
31
|
error: 'Fleet not initialized. Call fleet_init first.',
|
|
31
32
|
};
|
|
32
33
|
}
|
|
34
|
+
// #734 D: reject unknown domains instead of accepting work no domain runs.
|
|
35
|
+
// Parity with `aqe task submit --domain`.
|
|
36
|
+
const targetDomains = params.targetDomains ?? [];
|
|
37
|
+
if (!Array.isArray(targetDomains) || !targetDomains.every(isDomainName)) {
|
|
38
|
+
const unknown = Array.isArray(targetDomains)
|
|
39
|
+
? targetDomains.filter((d) => !isDomainName(d)).map(String)
|
|
40
|
+
: [String(targetDomains)];
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
error: `Unknown domain: ${unknown.join(', ')}. Valid domains: ${ALL_DOMAINS.join(', ')}`,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
33
46
|
const { queen } = getFleetState();
|
|
34
47
|
try {
|
|
35
48
|
const result = await queen.submitTask({
|
|
36
49
|
type: params.type,
|
|
37
50
|
priority: params.priority || 'p1',
|
|
38
|
-
targetDomains
|
|
51
|
+
targetDomains,
|
|
39
52
|
payload: params.payload || {},
|
|
40
53
|
timeout: params.timeout || 300000,
|
|
41
54
|
});
|
|
@@ -41,6 +41,7 @@ import { getLoadBalancer, } from './load-balancer.js';
|
|
|
41
41
|
import { getPerformanceMonitor, } from './performance-monitor.js';
|
|
42
42
|
// ADR-062: Loop detection for MCP tool calls
|
|
43
43
|
import { ToolCallSignatureTracker } from '../kernel/anti-drift-middleware.js';
|
|
44
|
+
import { formatErrorForLog } from '../logging/redaction.js';
|
|
44
45
|
import { createRequire } from 'module';
|
|
45
46
|
const _require = createRequire(import.meta.url);
|
|
46
47
|
const _pkg = _require('../../package.json');
|
|
@@ -550,7 +551,7 @@ export class MCPProtocolServer {
|
|
|
550
551
|
catch (err) {
|
|
551
552
|
// Preserve the diagnostic for operators without exposing it in the MCP
|
|
552
553
|
// response or AG-UI event. Stderr keeps stdio protocol output valid.
|
|
553
|
-
console.error(`[MCP] Tool ${name} failed:`, err);
|
|
554
|
+
console.error(`[MCP] Tool ${name} failed:`, formatErrorForLog(err));
|
|
554
555
|
const error = err instanceof Error ? err : new Error('Tool execution failed');
|
|
555
556
|
// IMP-08: Detect context overflow (413) and trigger reactive compaction
|
|
556
557
|
const errorMsg = error.message || '';
|
|
@@ -649,6 +650,7 @@ export class MCPProtocolServer {
|
|
|
649
650
|
parameters: [
|
|
650
651
|
{ name: 'type', type: 'string', description: 'Task type', required: true },
|
|
651
652
|
{ name: 'priority', type: 'string', description: 'Task priority', enum: ['p0', 'p1', 'p2', 'p3'], default: 'p1' },
|
|
653
|
+
{ name: 'targetDomains', type: 'array', description: 'Target domains (e.g. ["coverage-analysis"]); unknown domains are rejected' },
|
|
652
654
|
{ name: 'payload', type: 'object', description: 'Task payload data' },
|
|
653
655
|
],
|
|
654
656
|
},
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import { randomUUID } from 'crypto';
|
|
12
12
|
import * as fs from 'fs';
|
|
13
13
|
import * as path from 'path';
|
|
14
|
+
import { findProjectRoot } from '../../kernel/project-root.js';
|
|
14
15
|
// ============================================================================
|
|
15
16
|
// Session Store
|
|
16
17
|
// ============================================================================
|
|
@@ -33,7 +34,10 @@ export class SessionStore {
|
|
|
33
34
|
// write .agentic-qe/sessions/*.jsonl to disk.
|
|
34
35
|
persistDisabled = process.env.AQE_MEMORY_BACKEND === 'memory';
|
|
35
36
|
constructor(sessionDir) {
|
|
36
|
-
|
|
37
|
+
// #735: a cwd-relative default created `<subdir>/.agentic-qe/sessions`
|
|
38
|
+
// on the first MCP tool call, which later runs then adopted as the
|
|
39
|
+
// nearest project store. Anchor the default at the project root.
|
|
40
|
+
this.sessionDir = sessionDir ?? path.join(findProjectRoot(), DEFAULT_SESSION_DIR);
|
|
37
41
|
}
|
|
38
42
|
/**
|
|
39
43
|
* Start a new session. Returns the sessionId (UUID).
|
package/dist/mcp/tools/base.d.ts
CHANGED
|
@@ -153,9 +153,11 @@ export interface MCPToolContext {
|
|
|
153
153
|
kernel?: import('../../kernel/interfaces.js').QEKernel;
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
|
-
* Data source tracking for audit/transparency
|
|
156
|
+
* Data source tracking for audit/transparency.
|
|
157
|
+
* 'estimated': computed from real inputs mixed with assumed/default values
|
|
158
|
+
* (the result names which ones) — never presented as fully real (#535).
|
|
157
159
|
*/
|
|
158
|
-
export type DataSource = 'real' | 'demo' | 'fallback';
|
|
160
|
+
export type DataSource = 'real' | 'demo' | 'fallback' | 'estimated';
|
|
159
161
|
/**
|
|
160
162
|
* Logger interface for tool operations
|
|
161
163
|
*/
|
|
@@ -196,6 +198,11 @@ export declare abstract class MCPToolBase<TParams extends Record<string, unknown
|
|
|
196
198
|
* MUST be called when returning sample data for transparency
|
|
197
199
|
*/
|
|
198
200
|
protected markAsDemoData(context: MCPToolContext, reason: string): void;
|
|
201
|
+
/**
|
|
202
|
+
* Mark result as partly derived from assumed/default values (#535). The
|
|
203
|
+
* tool's result must say which values were assumed.
|
|
204
|
+
*/
|
|
205
|
+
protected markAsEstimatedData(): void;
|
|
199
206
|
/**
|
|
200
207
|
* Mark result as coming from real service data
|
|
201
208
|
*/
|
package/dist/mcp/tools/base.js
CHANGED
|
@@ -277,6 +277,13 @@ export class MCPToolBase {
|
|
|
277
277
|
demoMode: context.demoMode,
|
|
278
278
|
});
|
|
279
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Mark result as partly derived from assumed/default values (#535). The
|
|
282
|
+
* tool's result must say which values were assumed.
|
|
283
|
+
*/
|
|
284
|
+
markAsEstimatedData() {
|
|
285
|
+
this.currentDataSource = 'estimated';
|
|
286
|
+
}
|
|
280
287
|
/**
|
|
281
288
|
* Mark result as coming from real service data
|
|
282
289
|
*/
|
|
@@ -10,6 +10,32 @@
|
|
|
10
10
|
import { MCPToolBase, } from '../base.js';
|
|
11
11
|
import { createCoherenceService, wasmLoader, } from '../../../integrations/coherence/index.js';
|
|
12
12
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
13
|
+
import { tallyVotes, describeBreakdown } from '../../../integrations/coherence/vote-tally.js';
|
|
14
|
+
/**
|
|
15
|
+
* Check every vote's shape. Returns an error message naming the first bad
|
|
16
|
+
* field, or null when all votes are usable.
|
|
17
|
+
*/
|
|
18
|
+
function validateVotes(votes) {
|
|
19
|
+
const shape = 'Each vote must be { agentId: string, verdict: string | number | boolean, confidence: number 0-1 }.';
|
|
20
|
+
for (let i = 0; i < votes.length; i++) {
|
|
21
|
+
const vote = votes[i];
|
|
22
|
+
if (typeof vote !== 'object' || vote === null || Array.isArray(vote)) {
|
|
23
|
+
return `votes[${i}] must be an object. ${shape}`;
|
|
24
|
+
}
|
|
25
|
+
const { agentId, verdict, confidence } = vote;
|
|
26
|
+
if (typeof agentId !== 'string' || agentId.trim() === '') {
|
|
27
|
+
return `votes[${i}].agentId must be a non-empty string. ${shape}`;
|
|
28
|
+
}
|
|
29
|
+
const verdictType = typeof verdict;
|
|
30
|
+
if (verdictType !== 'string' && verdictType !== 'number' && verdictType !== 'boolean') {
|
|
31
|
+
return `votes[${i}].verdict is required (string, number, or boolean), got ${verdict === null ? 'null' : verdictType}. ${shape}`;
|
|
32
|
+
}
|
|
33
|
+
if (typeof confidence !== 'number' || !Number.isFinite(confidence) || confidence < 0 || confidence > 1) {
|
|
34
|
+
return `votes[${i}].confidence must be a number between 0 and 1, got ${JSON.stringify(confidence) ?? 'undefined'}. ${shape}`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
13
39
|
// ============================================================================
|
|
14
40
|
// Schema
|
|
15
41
|
// ============================================================================
|
|
@@ -18,7 +44,22 @@ const COHERENCE_CONSENSUS_SCHEMA = {
|
|
|
18
44
|
properties: {
|
|
19
45
|
votes: {
|
|
20
46
|
type: 'array',
|
|
21
|
-
description: 'Array of agent votes to verify for consensus'
|
|
47
|
+
description: 'Array of agent votes to verify for consensus (at least 2). Each vote is an object ' +
|
|
48
|
+
'{ agentId: string, verdict: string | number | boolean, confidence: number 0-1, ' +
|
|
49
|
+
'agentType?: string, reasoning?: string }.',
|
|
50
|
+
items: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
description: 'One agent vote',
|
|
53
|
+
properties: {
|
|
54
|
+
agentId: { type: 'string', description: 'Agent identifier', minLength: 1 },
|
|
55
|
+
agentType: { type: 'string', description: 'Agent type (default: worker)' },
|
|
56
|
+
// `verdict` may be a string, number, or boolean, which this schema
|
|
57
|
+
// type cannot express; it is required below and checked in execute().
|
|
58
|
+
confidence: { type: 'number', description: 'Confidence in the verdict', minimum: 0, maximum: 1 },
|
|
59
|
+
reasoning: { type: 'string', description: 'Optional reasoning text' },
|
|
60
|
+
},
|
|
61
|
+
required: ['agentId', 'verdict', 'confidence'],
|
|
62
|
+
},
|
|
22
63
|
},
|
|
23
64
|
confidenceThreshold: {
|
|
24
65
|
type: 'number',
|
|
@@ -102,6 +143,13 @@ export class CoherenceConsensusTool extends MCPToolBase {
|
|
|
102
143
|
error: 'At least two votes are required to verify consensus',
|
|
103
144
|
};
|
|
104
145
|
}
|
|
146
|
+
// A vote without a usable verdict would be grouped as the string
|
|
147
|
+
// "undefined"; three such votes looked like a unanimous false consensus
|
|
148
|
+
// even for a 2-1 split sent under another key (issue #535).
|
|
149
|
+
const voteError = validateVotes(votes);
|
|
150
|
+
if (voteError) {
|
|
151
|
+
return { success: false, error: voteError };
|
|
152
|
+
}
|
|
105
153
|
try {
|
|
106
154
|
// Get service
|
|
107
155
|
const service = await this.getService();
|
|
@@ -152,7 +200,8 @@ export class CoherenceConsensusTool extends MCPToolBase {
|
|
|
152
200
|
success: true,
|
|
153
201
|
data: {
|
|
154
202
|
...fallbackResult,
|
|
155
|
-
recommendation:
|
|
203
|
+
recommendation: `Running in fallback mode (simple analysis): ${describeBreakdown(tallyVotes(votes))} ` +
|
|
204
|
+
`across ${votes.length} votes. ` +
|
|
156
205
|
'Install prime-radiant-advanced-wasm for spectral consensus analysis.',
|
|
157
206
|
usedFallback: true,
|
|
158
207
|
executionTimeMs: Date.now() - startTime,
|
|
@@ -9,19 +9,21 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { MCPToolBase, MCPToolConfig, MCPToolContext } from '../base.js';
|
|
11
11
|
import { ToolResult } from '../../types.js';
|
|
12
|
-
import {
|
|
12
|
+
import { type WorldStatePatch, type WorldStateProvenance, type WorldStateSources } from './world-state.js';
|
|
13
13
|
/**
|
|
14
14
|
* Parameters for GOAP plan tool
|
|
15
15
|
*/
|
|
16
16
|
export interface GOAPPlanParams {
|
|
17
17
|
/** Goal name (named goal) or custom goal conditions object */
|
|
18
18
|
goal: string | Record<string, unknown>;
|
|
19
|
-
/** Current world state (auto-detected if not provided) */
|
|
20
|
-
currentState?:
|
|
19
|
+
/** Current world state (auto-detected if not provided; may be partial) */
|
|
20
|
+
currentState?: WorldStatePatch;
|
|
21
21
|
/** Plan constraints */
|
|
22
22
|
constraints?: {
|
|
23
23
|
maxCost?: number;
|
|
24
24
|
maxDurationMs?: number;
|
|
25
|
+
/** Maximum number of plan steps (positive integer) */
|
|
26
|
+
maxSteps?: number;
|
|
25
27
|
requiredAgentTypes?: string[];
|
|
26
28
|
excludedActions?: string[];
|
|
27
29
|
};
|
|
@@ -46,6 +48,13 @@ export interface GOAPPlanResult {
|
|
|
46
48
|
stepCount: number;
|
|
47
49
|
reusedFrom?: string;
|
|
48
50
|
similarityScore?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Where each start-state field came from ('live' | 'measured' | 'caller' |
|
|
53
|
+
* 'default'). Issue #535: the plan is only as real as its start state.
|
|
54
|
+
*/
|
|
55
|
+
stateProvenance: WorldStateProvenance;
|
|
56
|
+
/** Start-state fields that were DEFAULT_V3_WORLD_STATE assumptions. */
|
|
57
|
+
defaultedFields: string[];
|
|
49
58
|
}
|
|
50
59
|
/**
|
|
51
60
|
* GOAP Plan MCP Tool
|
|
@@ -53,7 +62,10 @@ export interface GOAPPlanResult {
|
|
|
53
62
|
* Finds optimal action sequences to achieve QE goals using A* search.
|
|
54
63
|
*/
|
|
55
64
|
export declare class GOAPPlanTool extends MCPToolBase<GOAPPlanParams, GOAPPlanResult> {
|
|
65
|
+
private readonly worldStateSources;
|
|
56
66
|
private planner;
|
|
67
|
+
/** World-state sources; injectable for tests (defaults read live state). */
|
|
68
|
+
constructor(worldStateSources?: WorldStateSources);
|
|
57
69
|
readonly config: MCPToolConfig;
|
|
58
70
|
private buildSchema;
|
|
59
71
|
/**
|
|
@@ -67,11 +79,12 @@ export declare class GOAPPlanTool extends MCPToolBase<GOAPPlanParams, GOAPPlanRe
|
|
|
67
79
|
/**
|
|
68
80
|
* Execute the GOAP planning
|
|
69
81
|
*/
|
|
70
|
-
execute(params: GOAPPlanParams,
|
|
82
|
+
execute(params: GOAPPlanParams, _context: MCPToolContext): Promise<ToolResult<GOAPPlanResult>>;
|
|
71
83
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
84
|
+
* Validate `constraints` (issue #535): must be an object, only known keys,
|
|
85
|
+
* numeric limits must be numbers, maxSteps a positive integer, and the
|
|
86
|
+
* list constraints string arrays.
|
|
74
87
|
*/
|
|
75
|
-
private
|
|
88
|
+
private validateConstraints;
|
|
76
89
|
}
|
|
77
90
|
//# sourceMappingURL=goap-plan.d.ts.map
|