agentic-qe 3.8.13 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +48 -0
- package/dist/adapters/a2ui/integration/agui-sync.js +2 -1
- package/dist/audit/witness-chain.js +15 -3
- package/dist/boot/fast-paths.d.ts +24 -0
- package/dist/boot/fast-paths.js +43 -0
- package/dist/boot/parallel-prefetch.d.ts +26 -0
- package/dist/boot/parallel-prefetch.js +36 -0
- package/dist/cli/bundle.js +12 -9431
- package/dist/cli/chunks/adapter-WBR5NXS3.js +2 -0
- package/dist/cli/chunks/agent-booster-wasm-PQYB7VRU.js +2 -0
- package/dist/cli/chunks/agent-handler-QDAB5NQS.js +33 -0
- package/dist/cli/chunks/aqe-learning-engine-TK4JQCGT.js +2 -0
- package/dist/cli/chunks/audit-S7JUYYVP.js +3 -0
- package/dist/cli/chunks/base-2WXOSMBQ.js +2 -0
- package/dist/cli/chunks/better-sqlite3-7KY2RDXO.js +2 -0
- package/dist/cli/chunks/brain-handler-PPEGDCN4.js +68 -0
- package/dist/cli/chunks/branch-enumerator-XK4V5W7L.js +7 -0
- package/dist/cli/chunks/browser-PALA5PL3.js +4 -0
- package/dist/cli/chunks/browser-workflow-42F7GK5T.js +2 -0
- package/dist/cli/chunks/chunk-24FKIJNC.js +15 -0
- package/dist/cli/chunks/chunk-263XS447.js +2 -0
- package/dist/cli/chunks/chunk-2BZFNEN2.js +4 -0
- package/dist/cli/chunks/chunk-2E5NQNSU.js +180 -0
- package/dist/cli/chunks/chunk-2I7J3O6V.js +2 -0
- package/dist/cli/chunks/chunk-3ADGXLTM.js +14 -0
- package/dist/cli/chunks/chunk-3IHG3WOY.js +12 -0
- package/dist/cli/chunks/chunk-3IUNFTIF.js +2 -0
- package/dist/cli/chunks/chunk-3JPRUND5.js +2 -0
- package/dist/cli/chunks/chunk-3NZLZHJI.js +2 -0
- package/dist/cli/chunks/chunk-3THRQEZ2.js +95 -0
- package/dist/cli/chunks/chunk-3ZOONQG6.js +2 -0
- package/dist/cli/chunks/chunk-4B6NCELM.js +2 -0
- package/dist/cli/chunks/chunk-4I2IOUS4.js +2 -0
- package/dist/cli/chunks/chunk-4VBTXZRM.js +2 -0
- package/dist/cli/chunks/chunk-4VUPRTVX.js +3 -0
- package/dist/cli/chunks/chunk-4YOMLWEK.js +70 -0
- package/dist/cli/chunks/chunk-4YS3IJ45.js +2 -0
- package/dist/cli/chunks/chunk-5SKGFSKD.js +2 -0
- package/dist/cli/chunks/chunk-5T2ZQWKF.js +27 -0
- package/dist/cli/chunks/chunk-62ADTHV7.js +2 -0
- package/dist/cli/chunks/chunk-6EOS7KX2.js +2 -0
- package/dist/cli/chunks/chunk-6SVX4DJC.js +6 -0
- package/dist/cli/chunks/chunk-72WOAVK6.js +2 -0
- package/dist/cli/chunks/chunk-7R6YMLVS.js +3 -0
- package/dist/cli/chunks/chunk-7VDBAVTY.js +2 -0
- package/dist/cli/chunks/chunk-AFLLQ5PP.js +15 -0
- package/dist/cli/chunks/chunk-AKE543X2.js +2 -0
- package/dist/cli/chunks/chunk-B36CDR4U.js +2 -0
- package/dist/cli/chunks/chunk-B6LLWYQ6.js +2 -0
- package/dist/cli/chunks/chunk-BDIEMZ22.js +91 -0
- package/dist/cli/chunks/chunk-BGXNSCXX.js +4 -0
- package/dist/cli/chunks/chunk-BLBRY5UD.js +2 -0
- package/dist/cli/chunks/chunk-BPWXXEH2.js +3029 -0
- package/dist/cli/chunks/chunk-BR26T7ZS.js +180 -0
- package/dist/cli/chunks/chunk-BTREG4IW.js +2 -0
- package/dist/cli/chunks/chunk-BULKFVYX.js +2 -0
- package/dist/cli/chunks/chunk-BXAXGEFC.js +24 -0
- package/dist/cli/chunks/chunk-CL6POIX4.js +2 -0
- package/dist/cli/chunks/chunk-CS2KS7LP.js +2 -0
- package/dist/cli/chunks/chunk-CWFB6BSA.js +316 -0
- package/dist/cli/chunks/chunk-DRT3WKQW.js +2 -0
- package/dist/cli/chunks/chunk-EHDQJQ6Y.js +27 -0
- package/dist/cli/chunks/chunk-ESVQ6MEB.js +2 -0
- package/dist/cli/chunks/chunk-FEKY7T6Q.js +2 -0
- package/dist/cli/chunks/chunk-FGA7VIFR.js +7 -0
- package/dist/cli/chunks/chunk-FIA6X7UL.js +2 -0
- package/dist/cli/chunks/chunk-GAOJV3OX.js +2 -0
- package/dist/cli/chunks/chunk-GKNNSCLC.js +5 -0
- package/dist/cli/chunks/chunk-GPQ57KA4.js +2 -0
- package/dist/cli/chunks/chunk-GRUUQAR6.js +2 -0
- package/dist/cli/chunks/chunk-HRO6OZQD.js +2 -0
- package/dist/cli/chunks/chunk-HY6PMO5W.js +66 -0
- package/dist/cli/chunks/chunk-IAV2JMIX.js +167 -0
- package/dist/cli/chunks/chunk-IFNIIK34.js +21 -0
- package/dist/cli/chunks/chunk-IGJPMN4I.js +3 -0
- package/dist/cli/chunks/chunk-J3KWWR6Z.js +1 -0
- package/dist/cli/chunks/chunk-JBANAPWG.js +2 -0
- package/dist/cli/chunks/chunk-JJO7Y4H3.js +604 -0
- package/dist/cli/chunks/chunk-JRYGQO2W.js +2 -0
- package/dist/cli/chunks/chunk-JXM26HEE.js +2 -0
- package/dist/cli/chunks/chunk-JZSDOIXA.js +2 -0
- package/dist/cli/chunks/chunk-KP5NUODU.js +3 -0
- package/dist/cli/chunks/chunk-LHJQD2VU.js +750 -0
- package/dist/cli/chunks/chunk-LNQIY6BP.js +2 -0
- package/dist/cli/chunks/chunk-MDUHYUHF.js +2 -0
- package/dist/cli/chunks/chunk-MV6CMOJQ.js +65 -0
- package/dist/cli/chunks/chunk-MZOFWJTM.js +2 -0
- package/dist/cli/chunks/chunk-N2NS2PHA.js +45 -0
- package/dist/cli/chunks/chunk-N4TL73TH.js +314 -0
- package/dist/cli/chunks/chunk-N5UXCLFI.js +2 -0
- package/dist/cli/chunks/chunk-NZ2VCPN4.js +2 -0
- package/dist/cli/chunks/chunk-OF4D7MYI.js +2 -0
- package/dist/cli/chunks/chunk-OI5NGQO2.js +2 -0
- package/dist/cli/chunks/chunk-OLHKGP35.js +2 -0
- package/dist/cli/chunks/chunk-QOVHWZEP.js +1 -0
- package/dist/cli/chunks/chunk-RFSN6IDA.js +79 -0
- package/dist/cli/chunks/chunk-RTGGL7D7.js +4 -0
- package/dist/cli/chunks/chunk-RU5WAHB7.js +3 -0
- package/dist/cli/chunks/chunk-SUSEVMZT.js +2 -0
- package/dist/cli/chunks/chunk-TLHP5EII.js +2 -0
- package/dist/cli/chunks/chunk-TWUWL5EJ.js +2 -0
- package/dist/cli/chunks/chunk-U5RN7YQW.js +2 -0
- package/dist/cli/chunks/chunk-UFUVUO3J.js +2 -0
- package/dist/cli/chunks/chunk-UQHYFOBX.js +16 -0
- package/dist/cli/chunks/chunk-VOS4NQSF.js +2 -0
- package/dist/cli/chunks/chunk-VSVXUTJN.js +256 -0
- package/dist/cli/chunks/chunk-WBQSXPBI.js +2 -0
- package/dist/cli/chunks/chunk-WGMPEW2T.js +2 -0
- package/dist/cli/chunks/chunk-WIEC7VKK.js +2 -0
- package/dist/cli/chunks/chunk-WJ3DLOXF.js +14 -0
- package/dist/cli/chunks/chunk-X3KI6JOY.js +9 -0
- package/dist/cli/chunks/chunk-X5IJGWYG.js +2 -0
- package/dist/cli/chunks/chunk-XIBDETCS.js +146 -0
- package/dist/cli/chunks/chunk-XLRQYLWW.js +2 -0
- package/dist/cli/chunks/chunk-XO6PVK2P.js +3 -0
- package/dist/cli/chunks/chunk-XRE2HCWG.js +3 -0
- package/dist/cli/chunks/chunk-XT2V2322.js +2 -0
- package/dist/cli/chunks/chunk-Y7BHKZFJ.js +18 -0
- package/dist/cli/chunks/chunk-YAGODYIG.js +59 -0
- package/dist/cli/chunks/chunk-YANUP2RO.js +2 -0
- package/dist/cli/chunks/chunk-YPFOCNOE.js +30 -0
- package/dist/cli/chunks/chunk-YR6ZZGH7.js +81 -0
- package/dist/cli/chunks/chunk-YVA65UZL.js +2 -0
- package/dist/cli/chunks/chunk-YW2THB5Q.js +2 -0
- package/dist/cli/chunks/chunk-ZAPS3UGQ.js +20 -0
- package/dist/cli/chunks/chunk-ZDATDCYN.js +2 -0
- package/dist/cli/chunks/ci-J374KDLI.js +81 -0
- package/dist/cli/chunks/ci-output-7JN7F6CI.js +2 -0
- package/dist/cli/chunks/claude-flow-setup-245JLJCN.js +2 -0
- package/dist/cli/chunks/client-MCSNSH2C.js +2 -0
- package/dist/cli/chunks/cline-installer-LBA2M5N3.js +4 -0
- package/dist/cli/chunks/code-U4N4WONM.js +38 -0
- package/dist/cli/chunks/code-index-extractor-A57Z6BO4.js +3 -0
- package/dist/cli/chunks/codex-installer-UXMK2N4T.js +8 -0
- package/dist/cli/chunks/completions-W66BSCOE.js +1364 -0
- package/dist/cli/chunks/complexity-analyzer-AB4OZARV.js +2 -0
- package/dist/cli/chunks/continuedev-installer-LRFZ2SJM.js +14 -0
- package/dist/cli/chunks/copilot-installer-CQ3JYBIB.js +3 -0
- package/dist/cli/chunks/cost-tracker-4F723RB6.js +2 -0
- package/dist/cli/chunks/coverage-4PUEQXAY.js +27 -0
- package/dist/cli/chunks/cross-domain-router-OWR5IJ5G.js +2 -0
- package/dist/cli/chunks/cursor-installer-JZEDEDHA.js +3 -0
- package/dist/cli/chunks/daemon-B7TWGHXQ.js +19 -0
- package/dist/cli/chunks/dag-attention-scheduler-JWO6XI6A.js +2 -0
- package/dist/cli/chunks/detect-L6ZZHUSX.js +2 -0
- package/dist/cli/chunks/domain-handler-FT5FLZWL.js +25 -0
- package/dist/cli/chunks/domain-transfer-5Y4FGJAJ.js +2 -0
- package/dist/cli/chunks/dream-4TDBIYED.js +2 -0
- package/dist/cli/chunks/esm-node-2PKHKOTS.js +2 -0
- package/dist/cli/chunks/eval-GHMPFGWV.js +15 -0
- package/dist/cli/chunks/fast-paths-B3R647KN.js +2 -0
- package/dist/cli/chunks/feature-flags-DWS7ARSX.js +2 -0
- package/dist/cli/chunks/feature-flags-IVQ3AL4Q.js +2 -0
- package/dist/cli/chunks/file-discovery-QFPA6GMV.js +2 -0
- package/dist/cli/chunks/fleet-EKOKMOMW.js +43 -0
- package/dist/cli/chunks/gnn-wrapper-OYC55N5E.js +2 -0
- package/dist/cli/chunks/heartbeat-handler-MBBS4IBU.js +48 -0
- package/dist/cli/chunks/heartbeat-scheduler-XDGMOT7X.js +2 -0
- package/dist/cli/chunks/hnsw-index-YO7CT23I.js +2 -0
- package/dist/cli/chunks/hnswlib-node-56YWVXFE.js +2 -0
- package/dist/cli/chunks/hooks-L5VLZGEK.js +101 -0
- package/dist/cli/chunks/hypergraph-engine-A4Y2ZRAG.js +2 -0
- package/dist/cli/chunks/hypergraph-handler-3HDGB5SZ.js +35 -0
- package/dist/cli/chunks/impact-analyzer-UEIGXSZ4.js +2 -0
- package/dist/cli/chunks/init-handler-JDET6WUN.js +68 -0
- package/dist/cli/chunks/init-wizard-JWZUGIPJ.js +2 -0
- package/dist/cli/chunks/kernel-YNDTVKIW.js +2 -0
- package/dist/cli/chunks/kilocode-installer-GZZG5AFW.js +4 -0
- package/dist/cli/chunks/kiro-installer-IWNY5TKH.js +74 -0
- package/dist/cli/chunks/knowledge-graph-NGJKFTSN.js +2 -0
- package/dist/cli/chunks/learning-722ZNSZ6.js +107 -0
- package/dist/cli/chunks/llm-router-DNAV746L.js +30 -0
- package/dist/cli/chunks/load-Y3GCUFM4.js +2 -0
- package/dist/cli/chunks/load-test-GZUBXFF3.js +2 -0
- package/dist/cli/chunks/mcp-LKPIBZ3W.js +2 -0
- package/dist/cli/chunks/memory-L57MLFOP.js +32 -0
- package/dist/cli/chunks/memory-backend-3NQIZUXE.js +2 -0
- package/dist/cli/chunks/memory-handlers-MDZQ7HVW.js +2 -0
- package/dist/cli/chunks/opencode-installer-4HUB36H5.js +3 -0
- package/dist/cli/chunks/orchestrator-QHSBB2UC.js +371 -0
- package/dist/cli/chunks/pipeline-D3QER35Z.js +19 -0
- package/dist/cli/chunks/platform-T4E7Q3RD.js +2 -0
- package/dist/cli/chunks/plugin-JHW2YPRC.js +27 -0
- package/dist/cli/chunks/prime-radiant-advanced-wasm-G7CFNNQV.js +2 -0
- package/dist/cli/chunks/protocol-executor-SPUVRDWT.js +2 -0
- package/dist/cli/chunks/protocol-handler-2BQQ4HDM.js +20 -0
- package/dist/cli/chunks/prove-UQ6JFT73.js +3 -0
- package/dist/cli/chunks/qe-reasoning-bank-3HBK2FVD.js +2 -0
- package/dist/cli/chunks/quality-JRZYMC77.js +7 -0
- package/dist/cli/chunks/queen-coordinator-RW3NKO5A.js +2 -0
- package/dist/cli/chunks/real-embeddings-GK63VF35.js +2 -0
- package/dist/cli/chunks/roocode-installer-F4E2LAYR.js +4 -0
- package/dist/cli/chunks/router-RJGHWDQ3.js +2 -0
- package/dist/cli/chunks/routing-feedback-ZXBXFKX6.js +2 -0
- package/dist/cli/chunks/routing-handler-VNKFUUGB.js +20 -0
- package/dist/cli/chunks/ruvector-commands-2TLNHC3A.js +8 -0
- package/dist/cli/chunks/rvf-dual-writer-MQW2SJLT.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-LKFKTMUN.js +2 -0
- package/dist/cli/chunks/safe-db-G22E5ROA.js +2 -0
- package/dist/cli/chunks/schedule-Y7VVCPYV.js +2 -0
- package/dist/cli/chunks/scheduler-AUQIFQB7.js +2 -0
- package/dist/cli/chunks/security-EBEG2OPU.js +14 -0
- package/dist/cli/chunks/shared-rvf-dual-writer-BVSCQAFS.js +2 -0
- package/dist/cli/chunks/sqlite-persistence-JAVHUGGL.js +2 -0
- package/dist/cli/chunks/status-handler-VZ32M4G4.js +45 -0
- package/dist/cli/chunks/structural-health-K6LRCKV6.js +2 -0
- package/dist/cli/chunks/sync-MHSHNLIM.js +23 -0
- package/dist/cli/chunks/task-handler-JNOIBZ2G.js +49 -0
- package/dist/cli/chunks/task-handlers-P5DSUKND.js +2 -0
- package/dist/cli/chunks/test-DO22BNIL.js +33 -0
- package/dist/cli/chunks/test-scheduling-VLRQZEFL.js +15 -0
- package/dist/cli/chunks/token-bootstrap-4VJKGVMK.js +2 -0
- package/dist/cli/chunks/token-usage-LG3PXRXH.js +25 -0
- package/dist/cli/chunks/transformers-GY7SIKEU.js +2 -0
- package/dist/cli/chunks/tree-sitter-wasm-parser-FT2KB66N.js +2 -0
- package/dist/cli/chunks/types-QJGNBKP2.js +2 -0
- package/dist/cli/chunks/unified-memory-XYGENQUT.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-MVEGQBF3.js +2 -0
- package/dist/cli/chunks/unified-persistence-PFRCWEUG.js +2 -0
- package/dist/cli/chunks/validate-VQCRSVNQ.js +21 -0
- package/dist/cli/chunks/validate-swarm-A5DHAWTP.js +14 -0
- package/dist/cli/chunks/vibium-RZBSL4EB.js +2 -0
- package/dist/cli/chunks/visual-security-V47BLGJM.js +2 -0
- package/dist/cli/chunks/web-tree-sitter-7C4NXEOF.js +2 -0
- package/dist/cli/chunks/windsurf-installer-ES3KPQG3.js +7 -0
- package/dist/cli/chunks/witness-chain-BR63P4A7.js +2 -0
- package/dist/cli/chunks/workflow-JETHX4ML.js +51 -0
- package/dist/cli/chunks/workflow-orchestrator-7PZMX3JZ.js +2 -0
- package/dist/cli/chunks/wrappers-WP5RH745.js +2 -0
- package/dist/cli/commands/daemon.d.ts +13 -0
- package/dist/cli/commands/daemon.js +224 -0
- package/dist/cli/commands/hooks-handlers/hooks-shared.js +2 -1
- package/dist/cli/commands/plugin.d.ts +12 -0
- package/dist/cli/commands/plugin.js +135 -0
- package/dist/cli/commands/workflow.d.ts +10 -0
- package/dist/cli/commands/workflow.js +587 -0
- package/dist/cli/handlers/brain-handler.js +13 -8
- package/dist/cli/handlers/heartbeat-handler.d.ts +1 -0
- package/dist/cli/handlers/heartbeat-handler.js +20 -10
- package/dist/cli/handlers/hypergraph-handler.js +3 -3
- package/dist/cli/handlers/init-handler.js +10 -9
- package/dist/cli/handlers/interfaces.d.ts +4 -4
- package/dist/cli/index.js +159 -638
- package/dist/cli/lazy-registry.d.ts +27 -0
- package/dist/cli/lazy-registry.js +70 -0
- package/dist/context/compaction/context-budget.d.ts +71 -0
- package/dist/context/compaction/context-budget.js +120 -0
- package/dist/context/compaction/index.d.ts +96 -0
- package/dist/context/compaction/index.js +259 -0
- package/dist/context/compaction/llm-caller-adapter.d.ts +14 -0
- package/dist/context/compaction/llm-caller-adapter.js +47 -0
- package/dist/context/compaction/tier1-microcompact.d.ts +33 -0
- package/dist/context/compaction/tier1-microcompact.js +47 -0
- package/dist/context/compaction/tier2-session-summary.d.ts +72 -0
- package/dist/context/compaction/tier2-session-summary.js +172 -0
- package/dist/context/compaction/tier3-llm-compact.d.ts +65 -0
- package/dist/context/compaction/tier3-llm-compact.js +166 -0
- package/dist/context/compaction/tier4-reactive.d.ts +54 -0
- package/dist/context/compaction/tier4-reactive.js +129 -0
- package/dist/coordination/consensus/providers/claude-provider.d.ts +1 -0
- package/dist/coordination/consensus/providers/claude-provider.js +23 -3
- package/dist/domains/test-generation/generators/base-test-generator.d.ts +1 -1
- package/dist/domains/test-generation/generators/base-test-generator.js +11 -11
- package/dist/domains/test-generation/generators/go-test-generator.js +12 -12
- package/dist/domains/test-generation/generators/junit5-generator.js +9 -9
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js +10 -10
- package/dist/domains/test-generation/generators/pytest-generator.js +8 -8
- package/dist/domains/test-generation/generators/swift-testing-generator.js +8 -8
- package/dist/domains/test-generation/generators/test-value-helpers.d.ts +20 -0
- package/dist/domains/test-generation/generators/test-value-helpers.js +48 -0
- package/dist/domains/test-generation/generators/xunit-generator.js +11 -11
- package/dist/hooks/cross-phase-hooks.d.ts +11 -0
- package/dist/hooks/cross-phase-hooks.js +73 -9
- package/dist/hooks/security/config-snapshot.d.ts +21 -0
- package/dist/hooks/security/config-snapshot.js +33 -0
- package/dist/hooks/security/exit-codes.d.ts +28 -0
- package/dist/hooks/security/exit-codes.js +33 -0
- package/dist/hooks/security/index.d.ts +15 -0
- package/dist/hooks/security/index.js +15 -0
- package/dist/hooks/security/ssrf-guard.d.ts +25 -0
- package/dist/hooks/security/ssrf-guard.js +69 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -2
- package/dist/init/init-wizard-hooks.js +15 -1
- package/dist/init/phases/07-hooks.js +2 -2
- package/dist/init/settings-merge.js +3 -7
- package/dist/kernel/kernel.js +35 -0
- package/dist/kernel/memory-backend.js +3 -1
- package/dist/mcp/bundle.js +416 -362
- package/dist/mcp/entry.js +132 -77
- package/dist/mcp/http-server.js +4 -1
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +5 -4
- package/dist/mcp/middleware/batch-executor.d.ts +46 -0
- package/dist/mcp/middleware/batch-executor.js +150 -0
- package/dist/mcp/middleware/microcompact.d.ts +97 -0
- package/dist/mcp/middleware/microcompact.js +179 -0
- package/dist/mcp/middleware/middleware-chain.d.ts +37 -0
- package/dist/mcp/middleware/middleware-chain.js +60 -0
- package/dist/mcp/protocol-server.d.ts +16 -0
- package/dist/mcp/protocol-server.js +140 -36
- package/dist/mcp/services/session-durability-middleware.d.ts +22 -0
- package/dist/mcp/services/session-durability-middleware.js +64 -0
- package/dist/mcp/services/session-resume.d.ts +29 -0
- package/dist/mcp/services/session-resume.js +221 -0
- package/dist/mcp/services/session-store.d.ts +84 -0
- package/dist/mcp/services/session-store.js +163 -0
- package/dist/mcp/tool-registry.d.ts +9 -0
- package/dist/mcp/tool-registry.js +30 -1
- package/dist/mcp/types.d.ts +1 -0
- package/dist/plugins/cache.d.ts +44 -0
- package/dist/plugins/cache.js +149 -0
- package/dist/plugins/index.d.ts +15 -0
- package/dist/plugins/index.js +15 -0
- package/dist/plugins/lifecycle.d.ts +67 -0
- package/dist/plugins/lifecycle.js +175 -0
- package/dist/plugins/manifest.d.ts +45 -0
- package/dist/plugins/manifest.js +173 -0
- package/dist/plugins/resolver.d.ts +37 -0
- package/dist/plugins/resolver.js +80 -0
- package/dist/plugins/security.d.ts +23 -0
- package/dist/plugins/security.js +125 -0
- package/dist/plugins/sources/github.d.ts +17 -0
- package/dist/plugins/sources/github.js +77 -0
- package/dist/plugins/sources/local.d.ts +20 -0
- package/dist/plugins/sources/local.js +32 -0
- package/dist/plugins/sources/npm.d.ts +18 -0
- package/dist/plugins/sources/npm.js +82 -0
- package/dist/shared/llm/retry.d.ts +5 -2
- package/dist/shared/llm/retry.js +7 -3
- package/dist/shared/prompt-cache-latch.d.ts +41 -0
- package/dist/shared/prompt-cache-latch.js +63 -0
- package/dist/shared/retry-engine.d.ts +77 -0
- package/dist/shared/retry-engine.js +194 -0
- package/dist/workers/daemon.d.ts +8 -0
- package/dist/workers/daemon.js +13 -0
- package/dist/workers/quality-daemon/ci-monitor.d.ts +55 -0
- package/dist/workers/quality-daemon/ci-monitor.js +147 -0
- package/dist/workers/quality-daemon/coverage-delta.d.ts +72 -0
- package/dist/workers/quality-daemon/coverage-delta.js +135 -0
- package/dist/workers/quality-daemon/git-watcher.d.ts +51 -0
- package/dist/workers/quality-daemon/git-watcher.js +209 -0
- package/dist/workers/quality-daemon/index.d.ts +119 -0
- package/dist/workers/quality-daemon/index.js +343 -0
- package/dist/workers/quality-daemon/nightly-consolidation.d.ts +74 -0
- package/dist/workers/quality-daemon/nightly-consolidation.js +136 -0
- package/dist/workers/quality-daemon/notification-service.d.ts +67 -0
- package/dist/workers/quality-daemon/notification-service.js +178 -0
- package/dist/workers/quality-daemon/persistent-memory.d.ts +31 -0
- package/dist/workers/quality-daemon/persistent-memory.js +30 -0
- package/dist/workers/quality-daemon/priority-queue.d.ts +97 -0
- package/dist/workers/quality-daemon/priority-queue.js +126 -0
- package/dist/workers/quality-daemon/test-suggester.d.ts +50 -0
- package/dist/workers/quality-daemon/test-suggester.js +121 -0
- package/dist/workers/worker-manager.js +2 -1
- package/package.json +1 -1
- package/dist/mcp/server.d.ts +0 -46
- package/dist/mcp/server.js +0 -802
package/dist/mcp/server.js
DELETED
|
@@ -1,802 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - MCP Server
|
|
3
|
-
* Model Context Protocol server for AI integration
|
|
4
|
-
*/
|
|
5
|
-
import { createToolRegistry } from './tool-registry';
|
|
6
|
-
import {
|
|
7
|
-
// Core handlers
|
|
8
|
-
handleFleetInit, handleFleetStatus, handleFleetHealth, disposeFleet,
|
|
9
|
-
// Task handlers
|
|
10
|
-
handleTaskSubmit, handleTaskList, handleTaskStatus, handleTaskCancel, handleTaskOrchestrate,
|
|
11
|
-
// Agent handlers
|
|
12
|
-
handleAgentList, handleAgentSpawn, handleAgentMetrics, handleAgentStatus,
|
|
13
|
-
// Domain handlers
|
|
14
|
-
handleTestGenerate, handleTestExecute, handleCoverageAnalyze, handleQualityAssess, handleSecurityScan, handleContractValidate, handleAccessibilityTest, handleChaosTest, handleDefectPredict, handleRequirementsValidate, handleCodeIndex,
|
|
15
|
-
// Hypergraph query handler
|
|
16
|
-
handleHypergraphQuery,
|
|
17
|
-
// Memory handlers
|
|
18
|
-
handleMemoryStore, handleMemoryRetrieve, handleMemoryQuery, handleMemoryDelete, handleMemoryUsage, handleMemoryShare,
|
|
19
|
-
// Cross-phase handlers
|
|
20
|
-
handleCrossPhaseStore, handleCrossPhaseQuery, handleAgentComplete, handlePhaseStart, handlePhaseEnd, handleCrossPhaseStats, handleFormatSignals, handleCrossPhaseCleanup,
|
|
21
|
-
// Pipeline handlers (Imp-9: YAML Deterministic Pipelines)
|
|
22
|
-
handlePipelineLoad, handlePipelineRun, handlePipelineList, handlePipelineValidate,
|
|
23
|
-
// Validation Pipeline handler (BMAD-003)
|
|
24
|
-
handleValidationPipeline,
|
|
25
|
-
// Heartbeat handlers (Imp-10: Token-Free Heartbeat Scheduler)
|
|
26
|
-
handleHeartbeatStatus, handleHeartbeatTrigger, handleHeartbeatLog, } from './handlers';
|
|
27
|
-
// ============================================================================
|
|
28
|
-
// Tool Definitions
|
|
29
|
-
// ============================================================================
|
|
30
|
-
const CORE_TOOLS = [
|
|
31
|
-
// Fleet Init
|
|
32
|
-
{
|
|
33
|
-
definition: {
|
|
34
|
-
name: 'mcp__agentic_qe__fleet_init',
|
|
35
|
-
description: 'Initialize the AQE v3 fleet with specified topology and configuration',
|
|
36
|
-
category: 'core',
|
|
37
|
-
parameters: [
|
|
38
|
-
{ name: 'topology', type: 'string', description: 'Swarm topology type', enum: ['hierarchical', 'mesh', 'ring', 'adaptive'] },
|
|
39
|
-
{ name: 'maxAgents', type: 'number', description: 'Maximum number of agents', default: 15 },
|
|
40
|
-
{ name: 'testingFocus', type: 'array', description: 'Areas of testing focus' },
|
|
41
|
-
{ name: 'frameworks', type: 'array', description: 'Testing frameworks to support' },
|
|
42
|
-
{ name: 'environments', type: 'array', description: 'Target environments' },
|
|
43
|
-
{ name: 'enabledDomains', type: 'array', description: 'Domains to enable' },
|
|
44
|
-
{ name: 'lazyLoading', type: 'boolean', description: 'Enable lazy loading', default: true },
|
|
45
|
-
{ name: 'memoryBackend', type: 'string', description: 'Memory backend type', enum: ['sqlite', 'agentdb', 'hybrid'] },
|
|
46
|
-
],
|
|
47
|
-
},
|
|
48
|
-
handler: handleFleetInit,
|
|
49
|
-
},
|
|
50
|
-
// Fleet Status
|
|
51
|
-
{
|
|
52
|
-
definition: {
|
|
53
|
-
name: 'mcp__agentic_qe__fleet_status',
|
|
54
|
-
description: 'Get current fleet status including agents, tasks, and health',
|
|
55
|
-
category: 'core',
|
|
56
|
-
parameters: [
|
|
57
|
-
{ name: 'verbose', type: 'boolean', description: 'Include detailed information', default: false },
|
|
58
|
-
{ name: 'includeDomains', type: 'boolean', description: 'Include domain status', default: false },
|
|
59
|
-
{ name: 'includeMetrics', type: 'boolean', description: 'Include performance metrics', default: true },
|
|
60
|
-
],
|
|
61
|
-
},
|
|
62
|
-
handler: handleFleetStatus,
|
|
63
|
-
},
|
|
64
|
-
// Fleet Health
|
|
65
|
-
{
|
|
66
|
-
definition: {
|
|
67
|
-
name: 'mcp__agentic_qe__fleet_health',
|
|
68
|
-
description: 'Check fleet and domain health status',
|
|
69
|
-
category: 'core',
|
|
70
|
-
parameters: [
|
|
71
|
-
{ name: 'domain', type: 'string', description: 'Specific domain to check' },
|
|
72
|
-
{ name: 'detailed', type: 'boolean', description: 'Include detailed health info', default: false },
|
|
73
|
-
],
|
|
74
|
-
},
|
|
75
|
-
handler: handleFleetHealth,
|
|
76
|
-
},
|
|
77
|
-
];
|
|
78
|
-
const TASK_TOOLS = [
|
|
79
|
-
// Task Submit
|
|
80
|
-
{
|
|
81
|
-
definition: {
|
|
82
|
-
name: 'mcp__agentic_qe__task_submit',
|
|
83
|
-
description: 'Submit a task to the Queen Coordinator for execution',
|
|
84
|
-
category: 'task',
|
|
85
|
-
parameters: [
|
|
86
|
-
{ name: 'type', type: 'string', description: 'Task type', required: true },
|
|
87
|
-
{ name: 'priority', type: 'string', description: 'Task priority', enum: ['p0', 'p1', 'p2', 'p3'], default: 'p1' },
|
|
88
|
-
{ name: 'targetDomains', type: 'array', description: 'Target domains for task' },
|
|
89
|
-
{ name: 'payload', type: 'object', description: 'Task payload data' },
|
|
90
|
-
{ name: 'timeout', type: 'number', description: 'Task timeout in ms', default: 300000 },
|
|
91
|
-
],
|
|
92
|
-
},
|
|
93
|
-
handler: handleTaskSubmit,
|
|
94
|
-
},
|
|
95
|
-
// Task List
|
|
96
|
-
{
|
|
97
|
-
definition: {
|
|
98
|
-
name: 'mcp__agentic_qe__task_list',
|
|
99
|
-
description: 'List tasks with optional filtering',
|
|
100
|
-
category: 'task',
|
|
101
|
-
parameters: [
|
|
102
|
-
{ name: 'status', type: 'string', description: 'Filter by status' },
|
|
103
|
-
{ name: 'priority', type: 'string', description: 'Filter by priority' },
|
|
104
|
-
{ name: 'domain', type: 'string', description: 'Filter by domain' },
|
|
105
|
-
{ name: 'limit', type: 'number', description: 'Maximum results', default: 50 },
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
handler: handleTaskList,
|
|
109
|
-
},
|
|
110
|
-
// Task Status
|
|
111
|
-
{
|
|
112
|
-
definition: {
|
|
113
|
-
name: 'mcp__agentic_qe__task_status',
|
|
114
|
-
description: 'Get detailed status of a specific task',
|
|
115
|
-
category: 'task',
|
|
116
|
-
parameters: [
|
|
117
|
-
{ name: 'taskId', type: 'string', description: 'Task ID', required: true },
|
|
118
|
-
{ name: 'detailed', type: 'boolean', description: 'Include full result data', default: false },
|
|
119
|
-
],
|
|
120
|
-
},
|
|
121
|
-
handler: handleTaskStatus,
|
|
122
|
-
},
|
|
123
|
-
// Task Cancel
|
|
124
|
-
{
|
|
125
|
-
definition: {
|
|
126
|
-
name: 'mcp__agentic_qe__task_cancel',
|
|
127
|
-
description: 'Cancel a running or pending task',
|
|
128
|
-
category: 'task',
|
|
129
|
-
parameters: [
|
|
130
|
-
{ name: 'taskId', type: 'string', description: 'Task ID to cancel', required: true },
|
|
131
|
-
],
|
|
132
|
-
},
|
|
133
|
-
handler: handleTaskCancel,
|
|
134
|
-
},
|
|
135
|
-
// Task Orchestrate
|
|
136
|
-
{
|
|
137
|
-
definition: {
|
|
138
|
-
name: 'mcp__agentic_qe__task_orchestrate',
|
|
139
|
-
description: 'Orchestrate a high-level QE task across multiple agents',
|
|
140
|
-
category: 'task',
|
|
141
|
-
parameters: [
|
|
142
|
-
{ name: 'task', type: 'string', description: 'Task description', required: true },
|
|
143
|
-
{ name: 'strategy', type: 'string', description: 'Execution strategy', enum: ['parallel', 'sequential', 'adaptive'], default: 'adaptive' },
|
|
144
|
-
{ name: 'priority', type: 'string', description: 'Task priority', enum: ['low', 'medium', 'high', 'critical'], default: 'medium' },
|
|
145
|
-
{ name: 'maxAgents', type: 'number', description: 'Maximum agents to use', default: 5 },
|
|
146
|
-
{ name: 'context', type: 'object', description: 'Additional context (project, branch, etc.)' },
|
|
147
|
-
],
|
|
148
|
-
},
|
|
149
|
-
handler: handleTaskOrchestrate,
|
|
150
|
-
},
|
|
151
|
-
];
|
|
152
|
-
const AGENT_TOOLS = [
|
|
153
|
-
// Agent List
|
|
154
|
-
{
|
|
155
|
-
definition: {
|
|
156
|
-
name: 'mcp__agentic_qe__agent_list',
|
|
157
|
-
description: 'List all active agents with optional filtering',
|
|
158
|
-
category: 'agent',
|
|
159
|
-
parameters: [
|
|
160
|
-
{ name: 'domain', type: 'string', description: 'Filter by domain' },
|
|
161
|
-
{ name: 'status', type: 'string', description: 'Filter by status', enum: ['idle', 'busy', 'failed'] },
|
|
162
|
-
{ name: 'limit', type: 'number', description: 'Maximum results', default: 50 },
|
|
163
|
-
],
|
|
164
|
-
},
|
|
165
|
-
handler: handleAgentList,
|
|
166
|
-
},
|
|
167
|
-
// Agent Spawn
|
|
168
|
-
{
|
|
169
|
-
definition: {
|
|
170
|
-
name: 'mcp__agentic_qe__agent_spawn',
|
|
171
|
-
description: 'Spawn a new agent in a specific domain',
|
|
172
|
-
category: 'agent',
|
|
173
|
-
parameters: [
|
|
174
|
-
{ name: 'domain', type: 'string', description: 'Domain for the agent', required: true },
|
|
175
|
-
{ name: 'type', type: 'string', description: 'Agent type', default: 'worker' },
|
|
176
|
-
{ name: 'capabilities', type: 'array', description: 'Agent capabilities' },
|
|
177
|
-
],
|
|
178
|
-
},
|
|
179
|
-
handler: handleAgentSpawn,
|
|
180
|
-
},
|
|
181
|
-
// Agent Metrics
|
|
182
|
-
{
|
|
183
|
-
definition: {
|
|
184
|
-
name: 'mcp__agentic_qe__agent_metrics',
|
|
185
|
-
description: 'Get performance metrics for agents',
|
|
186
|
-
category: 'agent',
|
|
187
|
-
parameters: [
|
|
188
|
-
{ name: 'agentId', type: 'string', description: 'Specific agent ID' },
|
|
189
|
-
{ name: 'metric', type: 'string', description: 'Metric type', enum: ['all', 'cpu', 'memory', 'tasks', 'performance'], default: 'all' },
|
|
190
|
-
],
|
|
191
|
-
},
|
|
192
|
-
handler: handleAgentMetrics,
|
|
193
|
-
},
|
|
194
|
-
// Agent Status
|
|
195
|
-
{
|
|
196
|
-
definition: {
|
|
197
|
-
name: 'mcp__agentic_qe__agent_status',
|
|
198
|
-
description: 'Get detailed status of a specific agent',
|
|
199
|
-
category: 'agent',
|
|
200
|
-
parameters: [
|
|
201
|
-
{ name: 'agentId', type: 'string', description: 'Agent ID', required: true },
|
|
202
|
-
],
|
|
203
|
-
},
|
|
204
|
-
handler: handleAgentStatus,
|
|
205
|
-
},
|
|
206
|
-
];
|
|
207
|
-
const DOMAIN_TOOLS = [
|
|
208
|
-
// Test Generate
|
|
209
|
-
{
|
|
210
|
-
definition: {
|
|
211
|
-
name: 'mcp__agentic_qe__test_generate_enhanced',
|
|
212
|
-
description: 'Generate tests with AI enhancement and pattern recognition',
|
|
213
|
-
category: 'domain',
|
|
214
|
-
domain: 'test-generation',
|
|
215
|
-
lazyLoad: true,
|
|
216
|
-
parameters: [
|
|
217
|
-
{ name: 'sourceCode', type: 'string', description: 'Source code to generate tests for' },
|
|
218
|
-
{ name: 'filePath', type: 'string', description: 'Path to source file' },
|
|
219
|
-
{ name: 'language', type: 'string', description: 'Programming language', enum: ['javascript', 'typescript', 'python', 'java', 'go'] },
|
|
220
|
-
{ name: 'framework', type: 'string', description: 'Test framework' },
|
|
221
|
-
{ name: 'testType', type: 'string', description: 'Type of tests', enum: ['unit', 'integration', 'e2e', 'property-based'] },
|
|
222
|
-
{ name: 'coverageGoal', type: 'number', description: 'Target coverage percentage', default: 80 },
|
|
223
|
-
{ name: 'aiEnhancement', type: 'boolean', description: 'Enable AI-powered analysis', default: true },
|
|
224
|
-
{ name: 'detectAntiPatterns', type: 'boolean', description: 'Detect code anti-patterns', default: false },
|
|
225
|
-
],
|
|
226
|
-
},
|
|
227
|
-
handler: handleTestGenerate,
|
|
228
|
-
},
|
|
229
|
-
// Test Execute
|
|
230
|
-
{
|
|
231
|
-
definition: {
|
|
232
|
-
name: 'mcp__agentic_qe__test_execute_parallel',
|
|
233
|
-
description: 'Execute tests in parallel with retry logic',
|
|
234
|
-
category: 'domain',
|
|
235
|
-
domain: 'test-execution',
|
|
236
|
-
lazyLoad: true,
|
|
237
|
-
parameters: [
|
|
238
|
-
{ name: 'testFiles', type: 'array', description: 'Test files to execute' },
|
|
239
|
-
{ name: 'testSuites', type: 'array', description: 'Test suites to run' },
|
|
240
|
-
{ name: 'parallel', type: 'boolean', description: 'Enable parallel execution', default: true },
|
|
241
|
-
{ name: 'parallelism', type: 'number', description: 'Number of parallel workers', default: 4 },
|
|
242
|
-
{ name: 'retryCount', type: 'number', description: 'Number of retries', default: 3 },
|
|
243
|
-
{ name: 'timeout', type: 'number', description: 'Test timeout in ms', default: 60000 },
|
|
244
|
-
{ name: 'collectCoverage', type: 'boolean', description: 'Collect coverage data', default: false },
|
|
245
|
-
{ name: 'reportFormat', type: 'string', description: 'Report format', enum: ['json', 'junit', 'html', 'markdown'] },
|
|
246
|
-
],
|
|
247
|
-
},
|
|
248
|
-
handler: handleTestExecute,
|
|
249
|
-
},
|
|
250
|
-
// Coverage Analyze
|
|
251
|
-
{
|
|
252
|
-
definition: {
|
|
253
|
-
name: 'mcp__agentic_qe__coverage_analyze_sublinear',
|
|
254
|
-
description: 'Analyze coverage with O(log n) sublinear algorithm',
|
|
255
|
-
category: 'domain',
|
|
256
|
-
domain: 'coverage-analysis',
|
|
257
|
-
lazyLoad: true,
|
|
258
|
-
parameters: [
|
|
259
|
-
{ name: 'target', type: 'string', description: 'Target path to analyze' },
|
|
260
|
-
{ name: 'includeRisk', type: 'boolean', description: 'Include risk scoring', default: false },
|
|
261
|
-
{ name: 'detectGaps', type: 'boolean', description: 'Detect coverage gaps', default: true },
|
|
262
|
-
{ name: 'mlPowered', type: 'boolean', description: 'Use ML for gap detection', default: false },
|
|
263
|
-
{ name: 'prioritization', type: 'string', description: 'Gap prioritization strategy', enum: ['complexity', 'criticality', 'change-frequency', 'ml-confidence'] },
|
|
264
|
-
],
|
|
265
|
-
},
|
|
266
|
-
handler: handleCoverageAnalyze,
|
|
267
|
-
},
|
|
268
|
-
// Quality Assess
|
|
269
|
-
{
|
|
270
|
-
definition: {
|
|
271
|
-
name: 'mcp__agentic_qe__quality_assess',
|
|
272
|
-
description: 'Assess code quality with optional quality gate',
|
|
273
|
-
category: 'domain',
|
|
274
|
-
domain: 'quality-assessment',
|
|
275
|
-
lazyLoad: true,
|
|
276
|
-
parameters: [
|
|
277
|
-
{ name: 'target', type: 'string', description: 'Target path to analyze' },
|
|
278
|
-
{ name: 'runGate', type: 'boolean', description: 'Run quality gate evaluation', default: false },
|
|
279
|
-
{ name: 'threshold', type: 'number', description: 'Quality threshold', default: 80 },
|
|
280
|
-
{ name: 'metrics', type: 'array', description: 'Metrics to evaluate' },
|
|
281
|
-
],
|
|
282
|
-
},
|
|
283
|
-
handler: handleQualityAssess,
|
|
284
|
-
},
|
|
285
|
-
// Security Scan
|
|
286
|
-
{
|
|
287
|
-
definition: {
|
|
288
|
-
name: 'mcp__agentic_qe__security_scan_comprehensive',
|
|
289
|
-
description: 'Comprehensive security scanning with SAST/DAST',
|
|
290
|
-
category: 'domain',
|
|
291
|
-
domain: 'security-compliance',
|
|
292
|
-
lazyLoad: true,
|
|
293
|
-
parameters: [
|
|
294
|
-
{ name: 'sast', type: 'boolean', description: 'Run SAST scan', default: true },
|
|
295
|
-
{ name: 'dast', type: 'boolean', description: 'Run DAST scan', default: false },
|
|
296
|
-
{ name: 'compliance', type: 'array', description: 'Compliance frameworks to check' },
|
|
297
|
-
{ name: 'target', type: 'string', description: 'Target to scan' },
|
|
298
|
-
],
|
|
299
|
-
},
|
|
300
|
-
handler: handleSecurityScan,
|
|
301
|
-
},
|
|
302
|
-
// Contract Validate
|
|
303
|
-
{
|
|
304
|
-
definition: {
|
|
305
|
-
name: 'mcp__agentic_qe__contract_validate',
|
|
306
|
-
description: 'Validate API contracts for breaking changes',
|
|
307
|
-
category: 'domain',
|
|
308
|
-
domain: 'contract-testing',
|
|
309
|
-
lazyLoad: true,
|
|
310
|
-
parameters: [
|
|
311
|
-
{ name: 'contractPath', type: 'string', description: 'Path to contract file' },
|
|
312
|
-
{ name: 'providerUrl', type: 'string', description: 'Provider URL' },
|
|
313
|
-
{ name: 'consumerName', type: 'string', description: 'Consumer name' },
|
|
314
|
-
{ name: 'checkBreakingChanges', type: 'boolean', description: 'Check for breaking changes', default: true },
|
|
315
|
-
],
|
|
316
|
-
},
|
|
317
|
-
handler: handleContractValidate,
|
|
318
|
-
},
|
|
319
|
-
// Accessibility Test
|
|
320
|
-
{
|
|
321
|
-
definition: {
|
|
322
|
-
name: 'mcp__agentic_qe__accessibility_test',
|
|
323
|
-
description: 'Test accessibility against WCAG standards',
|
|
324
|
-
category: 'domain',
|
|
325
|
-
domain: 'visual-accessibility',
|
|
326
|
-
lazyLoad: true,
|
|
327
|
-
parameters: [
|
|
328
|
-
{ name: 'url', type: 'string', description: 'URL to test' },
|
|
329
|
-
{ name: 'standard', type: 'string', description: 'Accessibility standard', enum: ['wcag21-aa', 'wcag21-aaa', 'wcag22-aa', 'section508'] },
|
|
330
|
-
{ name: 'includeScreenReader', type: 'boolean', description: 'Include screen reader tests', default: false },
|
|
331
|
-
],
|
|
332
|
-
},
|
|
333
|
-
handler: handleAccessibilityTest,
|
|
334
|
-
},
|
|
335
|
-
// Chaos Test
|
|
336
|
-
{
|
|
337
|
-
definition: {
|
|
338
|
-
name: 'mcp__agentic_qe__chaos_test',
|
|
339
|
-
description: 'Run chaos engineering tests',
|
|
340
|
-
category: 'domain',
|
|
341
|
-
domain: 'chaos-resilience',
|
|
342
|
-
lazyLoad: true,
|
|
343
|
-
parameters: [
|
|
344
|
-
{ name: 'faultType', type: 'string', description: 'Type of fault to inject', enum: ['latency', 'error', 'timeout', 'cpu', 'memory', 'network'] },
|
|
345
|
-
{ name: 'target', type: 'string', description: 'Target service' },
|
|
346
|
-
{ name: 'duration', type: 'number', description: 'Fault duration in ms', default: 30000 },
|
|
347
|
-
{ name: 'intensity', type: 'number', description: 'Fault intensity (0-100)', default: 50 },
|
|
348
|
-
{ name: 'dryRun', type: 'boolean', description: 'Dry run mode', default: true },
|
|
349
|
-
],
|
|
350
|
-
},
|
|
351
|
-
handler: handleChaosTest,
|
|
352
|
-
},
|
|
353
|
-
// Defect Predict
|
|
354
|
-
{
|
|
355
|
-
definition: {
|
|
356
|
-
name: 'mcp__agentic_qe__defect_predict',
|
|
357
|
-
description: 'Predict potential defects using AI',
|
|
358
|
-
category: 'domain',
|
|
359
|
-
domain: 'defect-intelligence',
|
|
360
|
-
lazyLoad: true,
|
|
361
|
-
parameters: [
|
|
362
|
-
{ name: 'target', type: 'string', description: 'Target path' },
|
|
363
|
-
{ name: 'lookback', type: 'number', description: 'Lookback period in days', default: 30 },
|
|
364
|
-
{ name: 'minConfidence', type: 'number', description: 'Minimum confidence threshold', default: 0.7 },
|
|
365
|
-
],
|
|
366
|
-
},
|
|
367
|
-
handler: handleDefectPredict,
|
|
368
|
-
},
|
|
369
|
-
// Requirements Validate
|
|
370
|
-
{
|
|
371
|
-
definition: {
|
|
372
|
-
name: 'mcp__agentic_qe__requirements_validate',
|
|
373
|
-
description: 'Validate requirements and generate BDD scenarios',
|
|
374
|
-
category: 'domain',
|
|
375
|
-
domain: 'requirements-validation',
|
|
376
|
-
lazyLoad: true,
|
|
377
|
-
parameters: [
|
|
378
|
-
{ name: 'requirementsPath', type: 'string', description: 'Path to requirements' },
|
|
379
|
-
{ name: 'testPath', type: 'string', description: 'Path to tests' },
|
|
380
|
-
{ name: 'generateBDD', type: 'boolean', description: 'Generate BDD scenarios', default: false },
|
|
381
|
-
],
|
|
382
|
-
},
|
|
383
|
-
handler: handleRequirementsValidate,
|
|
384
|
-
},
|
|
385
|
-
// Code Index
|
|
386
|
-
{
|
|
387
|
-
definition: {
|
|
388
|
-
name: 'mcp__agentic_qe__code_index',
|
|
389
|
-
description: 'Index code for knowledge graph',
|
|
390
|
-
category: 'domain',
|
|
391
|
-
domain: 'code-intelligence',
|
|
392
|
-
lazyLoad: true,
|
|
393
|
-
parameters: [
|
|
394
|
-
{ name: 'target', type: 'string', description: 'Target path' },
|
|
395
|
-
{ name: 'incremental', type: 'boolean', description: 'Incremental indexing', default: false },
|
|
396
|
-
{ name: 'gitSince', type: 'string', description: 'Index changes since git ref' },
|
|
397
|
-
],
|
|
398
|
-
},
|
|
399
|
-
handler: handleCodeIndex,
|
|
400
|
-
},
|
|
401
|
-
// Hypergraph Query
|
|
402
|
-
{
|
|
403
|
-
definition: {
|
|
404
|
-
name: 'mcp__agentic_qe__hypergraph_query',
|
|
405
|
-
description: 'Query the code knowledge hypergraph for untested functions, impacted tests, coverage gaps, and stats',
|
|
406
|
-
category: 'domain',
|
|
407
|
-
domain: 'code-intelligence',
|
|
408
|
-
lazyLoad: true,
|
|
409
|
-
parameters: [
|
|
410
|
-
{ name: 'query', type: 'string', description: 'Query type: stats, untested, impacted, gaps', required: true },
|
|
411
|
-
{ name: 'files', type: 'array', description: 'Changed files (required for "impacted" query)' },
|
|
412
|
-
{ name: 'maxCoverage', type: 'number', description: 'Max coverage threshold for "gaps" query (default: 50)' },
|
|
413
|
-
{ name: 'limit', type: 'number', description: 'Max results (default: 20)' },
|
|
414
|
-
],
|
|
415
|
-
},
|
|
416
|
-
handler: handleHypergraphQuery,
|
|
417
|
-
},
|
|
418
|
-
// Validation Pipeline (BMAD-003)
|
|
419
|
-
{
|
|
420
|
-
definition: {
|
|
421
|
-
name: 'mcp__agentic_qe__validation_pipeline',
|
|
422
|
-
description: 'Run structured validation pipeline (13-step requirements validation with gate enforcement and scoring)',
|
|
423
|
-
category: 'domain',
|
|
424
|
-
domain: 'requirements-validation',
|
|
425
|
-
parameters: [
|
|
426
|
-
{ name: 'filePath', type: 'string', description: 'Path to the document to validate' },
|
|
427
|
-
{ name: 'content', type: 'string', description: 'Inline content to validate (alternative to filePath)' },
|
|
428
|
-
{ name: 'pipeline', type: 'string', description: 'Pipeline type', default: 'requirements', enum: ['requirements'] },
|
|
429
|
-
{ name: 'steps', type: 'array', description: 'Specific step IDs to run (default: all 13)' },
|
|
430
|
-
{ name: 'continueOnFailure', type: 'boolean', description: 'Continue past blocking failures', default: false },
|
|
431
|
-
{ name: 'format', type: 'string', description: 'Output format', default: 'markdown', enum: ['markdown', 'json'] },
|
|
432
|
-
],
|
|
433
|
-
},
|
|
434
|
-
handler: handleValidationPipeline,
|
|
435
|
-
},
|
|
436
|
-
];
|
|
437
|
-
const MEMORY_TOOLS = [
|
|
438
|
-
// Memory Store
|
|
439
|
-
{
|
|
440
|
-
definition: {
|
|
441
|
-
name: 'mcp__agentic_qe__memory_store',
|
|
442
|
-
description: 'Store data in memory with optional TTL',
|
|
443
|
-
category: 'memory',
|
|
444
|
-
parameters: [
|
|
445
|
-
{ name: 'key', type: 'string', description: 'Memory key', required: true },
|
|
446
|
-
{ name: 'value', type: 'object', description: 'Value to store', required: true },
|
|
447
|
-
{ name: 'namespace', type: 'string', description: 'Memory namespace', default: 'default' },
|
|
448
|
-
{ name: 'ttl', type: 'number', description: 'Time to live in ms' },
|
|
449
|
-
{ name: 'metadata', type: 'object', description: 'Additional metadata' },
|
|
450
|
-
{ name: 'persist', type: 'boolean', description: 'Persist to storage', default: false },
|
|
451
|
-
],
|
|
452
|
-
},
|
|
453
|
-
handler: handleMemoryStore,
|
|
454
|
-
},
|
|
455
|
-
// Memory Retrieve
|
|
456
|
-
{
|
|
457
|
-
definition: {
|
|
458
|
-
name: 'mcp__agentic_qe__memory_retrieve',
|
|
459
|
-
description: 'Retrieve data from memory',
|
|
460
|
-
category: 'memory',
|
|
461
|
-
parameters: [
|
|
462
|
-
{ name: 'key', type: 'string', description: 'Memory key', required: true },
|
|
463
|
-
{ name: 'namespace', type: 'string', description: 'Memory namespace', default: 'default' },
|
|
464
|
-
{ name: 'includeMetadata', type: 'boolean', description: 'Include metadata', default: false },
|
|
465
|
-
],
|
|
466
|
-
},
|
|
467
|
-
handler: handleMemoryRetrieve,
|
|
468
|
-
},
|
|
469
|
-
// Memory Query
|
|
470
|
-
{
|
|
471
|
-
definition: {
|
|
472
|
-
name: 'mcp__agentic_qe__memory_query',
|
|
473
|
-
description: 'Query memory with pattern matching',
|
|
474
|
-
category: 'memory',
|
|
475
|
-
parameters: [
|
|
476
|
-
{ name: 'pattern', type: 'string', description: 'Key pattern (supports wildcards)' },
|
|
477
|
-
{ name: 'namespace', type: 'string', description: 'Memory namespace' },
|
|
478
|
-
{ name: 'limit', type: 'number', description: 'Maximum results', default: 100 },
|
|
479
|
-
{ name: 'offset', type: 'number', description: 'Pagination offset', default: 0 },
|
|
480
|
-
{ name: 'includeExpired', type: 'boolean', description: 'Include expired entries', default: false },
|
|
481
|
-
],
|
|
482
|
-
},
|
|
483
|
-
handler: handleMemoryQuery,
|
|
484
|
-
},
|
|
485
|
-
// Memory Delete
|
|
486
|
-
{
|
|
487
|
-
definition: {
|
|
488
|
-
name: 'mcp__agentic_qe__memory_delete',
|
|
489
|
-
description: 'Delete memory entry',
|
|
490
|
-
category: 'memory',
|
|
491
|
-
parameters: [
|
|
492
|
-
{ name: 'key', type: 'string', description: 'Memory key', required: true },
|
|
493
|
-
{ name: 'namespace', type: 'string', description: 'Memory namespace', default: 'default' },
|
|
494
|
-
],
|
|
495
|
-
},
|
|
496
|
-
handler: handleMemoryDelete,
|
|
497
|
-
},
|
|
498
|
-
// Memory Usage
|
|
499
|
-
{
|
|
500
|
-
definition: {
|
|
501
|
-
name: 'mcp__agentic_qe__memory_usage',
|
|
502
|
-
description: 'Get memory usage statistics',
|
|
503
|
-
category: 'memory',
|
|
504
|
-
parameters: [],
|
|
505
|
-
},
|
|
506
|
-
handler: handleMemoryUsage,
|
|
507
|
-
},
|
|
508
|
-
// Memory Share
|
|
509
|
-
{
|
|
510
|
-
definition: {
|
|
511
|
-
name: 'mcp__agentic_qe__memory_share',
|
|
512
|
-
description: 'Share knowledge between agents',
|
|
513
|
-
category: 'memory',
|
|
514
|
-
parameters: [
|
|
515
|
-
{ name: 'sourceAgentId', type: 'string', description: 'Source agent ID', required: true },
|
|
516
|
-
{ name: 'targetAgentIds', type: 'array', description: 'Target agent IDs', required: true },
|
|
517
|
-
{ name: 'knowledgeDomain', type: 'string', description: 'Knowledge domain', required: true },
|
|
518
|
-
{ name: 'knowledgeContent', type: 'object', description: 'Knowledge content', required: true },
|
|
519
|
-
],
|
|
520
|
-
},
|
|
521
|
-
handler: handleMemoryShare,
|
|
522
|
-
},
|
|
523
|
-
];
|
|
524
|
-
const CROSS_PHASE_TOOLS = [
|
|
525
|
-
// Cross-Phase Store
|
|
526
|
-
{
|
|
527
|
-
definition: {
|
|
528
|
-
name: 'mcp__agentic_qe__cross_phase_store',
|
|
529
|
-
description: 'Store a cross-phase signal for QCSD feedback loops (strategic, tactical, operational, quality-criteria)',
|
|
530
|
-
category: 'cross-phase',
|
|
531
|
-
parameters: [
|
|
532
|
-
{ name: 'loop', type: 'string', description: 'Feedback loop type', required: true, enum: ['strategic', 'tactical', 'operational', 'quality-criteria'] },
|
|
533
|
-
{ name: 'data', type: 'object', description: 'Signal data (riskWeights, factorWeights, flakyPatterns, etc.)', required: true },
|
|
534
|
-
],
|
|
535
|
-
},
|
|
536
|
-
handler: handleCrossPhaseStore,
|
|
537
|
-
},
|
|
538
|
-
// Cross-Phase Query
|
|
539
|
-
{
|
|
540
|
-
definition: {
|
|
541
|
-
name: 'mcp__agentic_qe__cross_phase_query',
|
|
542
|
-
description: 'Query cross-phase signals by loop type with optional filters',
|
|
543
|
-
category: 'cross-phase',
|
|
544
|
-
parameters: [
|
|
545
|
-
{ name: 'loop', type: 'string', description: 'Feedback loop type', required: true, enum: ['strategic', 'tactical', 'operational', 'quality-criteria'] },
|
|
546
|
-
{ name: 'maxAge', type: 'string', description: 'Maximum signal age (e.g., "30d", "24h")', required: false },
|
|
547
|
-
{ name: 'filter', type: 'object', description: 'Additional filters', required: false },
|
|
548
|
-
],
|
|
549
|
-
},
|
|
550
|
-
handler: handleCrossPhaseQuery,
|
|
551
|
-
},
|
|
552
|
-
// Agent Complete Hook
|
|
553
|
-
{
|
|
554
|
-
definition: {
|
|
555
|
-
name: 'mcp__agentic_qe__agent_complete',
|
|
556
|
-
description: 'Trigger cross-phase hooks when an agent completes (auto-stores relevant signals)',
|
|
557
|
-
category: 'cross-phase',
|
|
558
|
-
parameters: [
|
|
559
|
-
{ name: 'agentName', type: 'string', description: 'Name of the completed agent', required: true },
|
|
560
|
-
{ name: 'result', type: 'object', description: 'Agent result data', required: true },
|
|
561
|
-
],
|
|
562
|
-
},
|
|
563
|
-
handler: handleAgentComplete,
|
|
564
|
-
},
|
|
565
|
-
// Phase Start Hook
|
|
566
|
-
{
|
|
567
|
-
definition: {
|
|
568
|
-
name: 'mcp__agentic_qe__phase_start',
|
|
569
|
-
description: 'Trigger phase start hooks to get injected cross-phase signals for agents',
|
|
570
|
-
category: 'cross-phase',
|
|
571
|
-
parameters: [
|
|
572
|
-
{ name: 'phase', type: 'string', description: 'QCSD phase name', required: true, enum: ['ideation', 'refinement', 'development', 'cicd', 'production'] },
|
|
573
|
-
{ name: 'context', type: 'object', description: 'Phase context data', required: false },
|
|
574
|
-
],
|
|
575
|
-
},
|
|
576
|
-
handler: handlePhaseStart,
|
|
577
|
-
},
|
|
578
|
-
// Phase End Hook
|
|
579
|
-
{
|
|
580
|
-
definition: {
|
|
581
|
-
name: 'mcp__agentic_qe__phase_end',
|
|
582
|
-
description: 'Trigger phase end hooks to store accumulated signals',
|
|
583
|
-
category: 'cross-phase',
|
|
584
|
-
parameters: [
|
|
585
|
-
{ name: 'phase', type: 'string', description: 'QCSD phase name', required: true, enum: ['ideation', 'refinement', 'development', 'cicd', 'production'] },
|
|
586
|
-
{ name: 'context', type: 'object', description: 'Phase result data', required: false },
|
|
587
|
-
],
|
|
588
|
-
},
|
|
589
|
-
handler: handlePhaseEnd,
|
|
590
|
-
},
|
|
591
|
-
// Cross-Phase Stats
|
|
592
|
-
{
|
|
593
|
-
definition: {
|
|
594
|
-
name: 'mcp__agentic_qe__cross_phase_stats',
|
|
595
|
-
description: 'Get cross-phase memory statistics (total signals, by loop, by namespace)',
|
|
596
|
-
category: 'cross-phase',
|
|
597
|
-
parameters: [],
|
|
598
|
-
},
|
|
599
|
-
handler: handleCrossPhaseStats,
|
|
600
|
-
},
|
|
601
|
-
// Format Signals
|
|
602
|
-
{
|
|
603
|
-
definition: {
|
|
604
|
-
name: 'mcp__agentic_qe__format_signals',
|
|
605
|
-
description: 'Format cross-phase signals for injection into agent prompts',
|
|
606
|
-
category: 'cross-phase',
|
|
607
|
-
parameters: [
|
|
608
|
-
{ name: 'signals', type: 'array', description: 'Signals to format', required: true },
|
|
609
|
-
],
|
|
610
|
-
},
|
|
611
|
-
handler: handleFormatSignals,
|
|
612
|
-
},
|
|
613
|
-
// Cross-Phase Cleanup
|
|
614
|
-
{
|
|
615
|
-
definition: {
|
|
616
|
-
name: 'mcp__agentic_qe__cross_phase_cleanup',
|
|
617
|
-
description: 'Clean up expired cross-phase signals',
|
|
618
|
-
category: 'cross-phase',
|
|
619
|
-
parameters: [],
|
|
620
|
-
},
|
|
621
|
-
handler: handleCrossPhaseCleanup,
|
|
622
|
-
},
|
|
623
|
-
];
|
|
624
|
-
// ============================================================================
|
|
625
|
-
// MCP Server Class
|
|
626
|
-
const PIPELINE_TOOLS = [
|
|
627
|
-
// Pipeline Load
|
|
628
|
-
{
|
|
629
|
-
definition: {
|
|
630
|
-
name: 'mcp__agentic_qe__pipeline_load',
|
|
631
|
-
description: 'Load and register a YAML pipeline definition',
|
|
632
|
-
category: 'coordination',
|
|
633
|
-
parameters: [
|
|
634
|
-
{ name: 'yaml', type: 'string', description: 'YAML pipeline definition string', required: true },
|
|
635
|
-
{ name: 'variables', type: 'object', description: 'Variable substitutions for ${VAR} placeholders' },
|
|
636
|
-
],
|
|
637
|
-
},
|
|
638
|
-
handler: handlePipelineLoad,
|
|
639
|
-
},
|
|
640
|
-
// Pipeline Run
|
|
641
|
-
{
|
|
642
|
-
definition: {
|
|
643
|
-
name: 'mcp__agentic_qe__pipeline_run',
|
|
644
|
-
description: 'Execute a previously loaded pipeline by ID',
|
|
645
|
-
category: 'coordination',
|
|
646
|
-
parameters: [
|
|
647
|
-
{ name: 'pipelineId', type: 'string', description: 'Pipeline ID to execute', required: true },
|
|
648
|
-
{ name: 'input', type: 'object', description: 'Input data for pipeline execution' },
|
|
649
|
-
],
|
|
650
|
-
},
|
|
651
|
-
handler: handlePipelineRun,
|
|
652
|
-
},
|
|
653
|
-
// Pipeline List
|
|
654
|
-
{
|
|
655
|
-
definition: {
|
|
656
|
-
name: 'mcp__agentic_qe__pipeline_list',
|
|
657
|
-
description: 'List all registered pipelines (built-in and YAML)',
|
|
658
|
-
category: 'coordination',
|
|
659
|
-
parameters: [],
|
|
660
|
-
},
|
|
661
|
-
handler: handlePipelineList,
|
|
662
|
-
},
|
|
663
|
-
// Pipeline Validate
|
|
664
|
-
{
|
|
665
|
-
definition: {
|
|
666
|
-
name: 'mcp__agentic_qe__pipeline_validate',
|
|
667
|
-
description: 'Validate a YAML pipeline definition without registering it',
|
|
668
|
-
category: 'coordination',
|
|
669
|
-
parameters: [
|
|
670
|
-
{ name: 'yaml', type: 'string', description: 'YAML pipeline definition to validate', required: true },
|
|
671
|
-
{ name: 'variables', type: 'object', description: 'Variable substitutions for ${VAR} placeholders' },
|
|
672
|
-
],
|
|
673
|
-
},
|
|
674
|
-
handler: handlePipelineValidate,
|
|
675
|
-
},
|
|
676
|
-
];
|
|
677
|
-
// Imp-10: Token-Free Heartbeat Scheduler
|
|
678
|
-
const HEARTBEAT_TOOLS = [
|
|
679
|
-
// Heartbeat Status
|
|
680
|
-
{
|
|
681
|
-
definition: {
|
|
682
|
-
name: 'mcp__agentic_qe__heartbeat_status',
|
|
683
|
-
description: 'Get heartbeat scheduler status, health metrics, and last result',
|
|
684
|
-
category: 'core',
|
|
685
|
-
parameters: [],
|
|
686
|
-
},
|
|
687
|
-
handler: handleHeartbeatStatus,
|
|
688
|
-
},
|
|
689
|
-
// Heartbeat Trigger
|
|
690
|
-
{
|
|
691
|
-
definition: {
|
|
692
|
-
name: 'mcp__agentic_qe__heartbeat_trigger',
|
|
693
|
-
description: 'Trigger an immediate heartbeat maintenance cycle (SQL-only, zero tokens)',
|
|
694
|
-
category: 'core',
|
|
695
|
-
parameters: [
|
|
696
|
-
{ name: 'timeout', type: 'number', description: 'Timeout in milliseconds (default: 60000)' },
|
|
697
|
-
],
|
|
698
|
-
},
|
|
699
|
-
handler: handleHeartbeatTrigger,
|
|
700
|
-
},
|
|
701
|
-
// Heartbeat Log
|
|
702
|
-
{
|
|
703
|
-
definition: {
|
|
704
|
-
name: 'mcp__agentic_qe__heartbeat_log',
|
|
705
|
-
description: 'Read the daily heartbeat log for a specific date',
|
|
706
|
-
category: 'core',
|
|
707
|
-
parameters: [
|
|
708
|
-
{ name: 'date', type: 'string', description: 'Date in YYYY-MM-DD format (defaults to today)' },
|
|
709
|
-
],
|
|
710
|
-
},
|
|
711
|
-
handler: handleHeartbeatLog,
|
|
712
|
-
},
|
|
713
|
-
];
|
|
714
|
-
// ============================================================================
|
|
715
|
-
export class MCPServer {
|
|
716
|
-
registry;
|
|
717
|
-
initialized = false;
|
|
718
|
-
constructor() {
|
|
719
|
-
this.registry = createToolRegistry();
|
|
720
|
-
}
|
|
721
|
-
/**
|
|
722
|
-
* Initialize the server and register all tools
|
|
723
|
-
*/
|
|
724
|
-
async initialize() {
|
|
725
|
-
if (this.initialized) {
|
|
726
|
-
return;
|
|
727
|
-
}
|
|
728
|
-
// Register all tools in a single consolidated loop
|
|
729
|
-
const allTools = [
|
|
730
|
-
...CORE_TOOLS,
|
|
731
|
-
...TASK_TOOLS,
|
|
732
|
-
...AGENT_TOOLS,
|
|
733
|
-
...DOMAIN_TOOLS,
|
|
734
|
-
...MEMORY_TOOLS,
|
|
735
|
-
...CROSS_PHASE_TOOLS,
|
|
736
|
-
...PIPELINE_TOOLS,
|
|
737
|
-
...HEARTBEAT_TOOLS,
|
|
738
|
-
];
|
|
739
|
-
this.registry.registerAll(allTools);
|
|
740
|
-
this.initialized = true;
|
|
741
|
-
}
|
|
742
|
-
/**
|
|
743
|
-
* Get tool registry
|
|
744
|
-
*/
|
|
745
|
-
getRegistry() {
|
|
746
|
-
return this.registry;
|
|
747
|
-
}
|
|
748
|
-
/**
|
|
749
|
-
* Get all tool definitions
|
|
750
|
-
*/
|
|
751
|
-
getTools() {
|
|
752
|
-
return this.registry.getDefinitions();
|
|
753
|
-
}
|
|
754
|
-
/**
|
|
755
|
-
* Get loaded tool definitions (for MCP protocol)
|
|
756
|
-
*/
|
|
757
|
-
getLoadedTools() {
|
|
758
|
-
return this.registry.getLoadedDefinitions();
|
|
759
|
-
}
|
|
760
|
-
/**
|
|
761
|
-
* Invoke a tool
|
|
762
|
-
*/
|
|
763
|
-
async invoke(toolName, params) {
|
|
764
|
-
const result = await this.registry.invoke(toolName, params);
|
|
765
|
-
if (!result.success) {
|
|
766
|
-
throw new Error(result.error || 'Tool invocation failed');
|
|
767
|
-
}
|
|
768
|
-
return result.data;
|
|
769
|
-
}
|
|
770
|
-
/**
|
|
771
|
-
* Load tools for a specific message (lazy loading)
|
|
772
|
-
*/
|
|
773
|
-
loadToolsForMessage(message) {
|
|
774
|
-
const domains = this.registry.loadForMessage(message);
|
|
775
|
-
return domains;
|
|
776
|
-
}
|
|
777
|
-
/**
|
|
778
|
-
* Get server statistics
|
|
779
|
-
*/
|
|
780
|
-
getStats() {
|
|
781
|
-
return this.registry.getStats();
|
|
782
|
-
}
|
|
783
|
-
/**
|
|
784
|
-
* Dispose server resources
|
|
785
|
-
*/
|
|
786
|
-
async dispose() {
|
|
787
|
-
await disposeFleet();
|
|
788
|
-
this.registry.clear();
|
|
789
|
-
this.initialized = false;
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
// ============================================================================
|
|
793
|
-
// Factory Function
|
|
794
|
-
// ============================================================================
|
|
795
|
-
export function createMCPServer() {
|
|
796
|
-
return new MCPServer();
|
|
797
|
-
}
|
|
798
|
-
// ============================================================================
|
|
799
|
-
// Default Export
|
|
800
|
-
// ============================================================================
|
|
801
|
-
export default MCPServer;
|
|
802
|
-
//# sourceMappingURL=server.js.map
|