agentic-qe 3.10.2 → 3.10.4
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/release/SKILL.md +10 -10
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +88 -0
- package/assets/grammars/tree-sitter-c_sharp.wasm +0 -0
- package/assets/grammars/tree-sitter-java.wasm +0 -0
- package/assets/grammars/tree-sitter-javascript.wasm +0 -0
- package/assets/grammars/tree-sitter-python.wasm +0 -0
- package/assets/grammars/tree-sitter-rust.wasm +0 -0
- package/assets/grammars/tree-sitter-swift.wasm +0 -0
- package/assets/grammars/tree-sitter-tsx.wasm +0 -0
- package/assets/grammars/tree-sitter-typescript.wasm +0 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/agents/claim-verifier/claim-verifier-service.js +4 -2
- package/dist/agents/claim-verifier/verifiers/test-verifier.js +31 -23
- package/dist/agents/devils-advocate/agent.js +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-A62ETL5C.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-DHSIPFTH.js → agent-booster-wasm-EJPDSWON.js} +2 -2
- package/dist/cli/chunks/{agent-handler-FPQVHGGT.js → agent-handler-2DZB7LGI.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-OLOF5ZHV.js → agent-memory-branch-SSFYAVIK.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-MTCRAV6N.js +2 -0
- package/dist/cli/chunks/audit-42XG5JFB.js +3 -0
- package/dist/cli/chunks/base-KKEBUHZC.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-ZGSUMHDC.js → better-sqlite3-PX5JM3DG.js} +2 -2
- package/dist/cli/chunks/{brain-handler-ROZUHCOT.js → brain-handler-LFHX2TYP.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-VK7G4NKJ.js → branch-enumerator-AX7DKGV7.js} +2 -2
- package/dist/cli/chunks/{browser-Q2S75M2F.js → browser-4NYLZ7FA.js} +2 -2
- package/dist/cli/chunks/browser-workflow-XHYAJUB6.js +2 -0
- package/dist/cli/chunks/{chunk-XPCNUX2U.js → chunk-2B6ETC7C.js} +2 -2
- package/dist/cli/chunks/{chunk-YI6GNRQM.js → chunk-2G2PVVQG.js} +2 -2
- package/dist/cli/chunks/{chunk-2244IFZA.js → chunk-2L5VFVCG.js} +1 -1
- package/dist/cli/chunks/{chunk-EVCOCGVJ.js → chunk-2TYO4VZH.js} +4 -4
- package/dist/cli/chunks/{chunk-U3EUH6LX.js → chunk-3ISX5B77.js} +2 -2
- package/dist/cli/chunks/{chunk-WZJUMJ2S.js → chunk-3UGUX34A.js} +1 -1
- package/dist/cli/chunks/{chunk-6ZFHIKQG.js → chunk-4BX72XG4.js} +3 -3
- package/dist/cli/chunks/{chunk-UUFOHMUG.js → chunk-4FTLYIMW.js} +2 -2
- package/dist/cli/chunks/{chunk-XDU624HU.js → chunk-5FNNCVXR.js} +1 -1
- package/dist/cli/chunks/{chunk-7Z46RDDV.js → chunk-5Q3L4QEE.js} +3 -3
- package/dist/cli/chunks/{chunk-AH7FXNFE.js → chunk-5T2HDET6.js} +3 -3
- package/dist/cli/chunks/{chunk-24LUQICS.js → chunk-5T4J3IPG.js} +2 -2
- package/dist/cli/chunks/{chunk-HHCYSAH3.js → chunk-6OLHPWSN.js} +2 -2
- package/dist/cli/chunks/{chunk-5PRFFHFV.js → chunk-6SCIX2W2.js} +2 -2
- package/dist/cli/chunks/{chunk-2JDLQWSV.js → chunk-6WF2MOQB.js} +2 -2
- package/dist/cli/chunks/{chunk-YNNOY3XN.js → chunk-7BQXEYRV.js} +2 -2
- package/dist/cli/chunks/{chunk-MMIQ5DMA.js → chunk-7VO5IEJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-XDSA7YUQ.js → chunk-AIBE3J4A.js} +1 -1
- package/dist/cli/chunks/{chunk-AV7KYE5P.js → chunk-AMW27FSS.js} +5 -5
- package/dist/cli/chunks/{chunk-22D6VBPD.js → chunk-AZJYDM2K.js} +2 -2
- package/dist/cli/chunks/{chunk-PYIHZXCI.js → chunk-B6CT4ILU.js} +4 -4
- package/dist/cli/chunks/{chunk-ZK2BH23O.js → chunk-BEFRQOLH.js} +2 -2
- package/dist/cli/chunks/{chunk-CIRPP7RQ.js → chunk-C2446H7G.js} +2 -2
- package/dist/cli/chunks/{chunk-ON4D4TJ4.js → chunk-D7IWGQTW.js} +2 -2
- package/dist/cli/chunks/{chunk-6KSCXPPL.js → chunk-D7PI4CYZ.js} +2 -2
- package/dist/cli/chunks/{chunk-BQCSCAUC.js → chunk-DAIM72HV.js} +2 -2
- package/dist/cli/chunks/{chunk-XMJTTF5N.js → chunk-DPKECIKN.js} +3 -3
- package/dist/cli/chunks/{chunk-DZZEHPSJ.js → chunk-E6CGBOZY.js} +3 -3
- package/dist/cli/chunks/{chunk-OIRZJCZY.js → chunk-EGTOSQZK.js} +2 -2
- package/dist/cli/chunks/{chunk-WDMPJ2M2.js → chunk-EMZ3DXMG.js} +2 -2
- package/dist/cli/chunks/{chunk-QBRHKTFT.js → chunk-EWI37TJA.js} +1 -1
- package/dist/cli/chunks/{chunk-A5RMQG4N.js → chunk-F34OO2Q7.js} +3 -3
- package/dist/cli/chunks/{chunk-7SWD3D6Y.js → chunk-F6QPAVWS.js} +2 -2
- package/dist/cli/chunks/chunk-F77X5DAF.js +2 -0
- package/dist/cli/chunks/{chunk-Y63MBMOV.js → chunk-FDFJJFQT.js} +2 -2
- package/dist/cli/chunks/{chunk-YWZHMXTO.js → chunk-FQ7I4JBQ.js} +2 -2
- package/dist/cli/chunks/{chunk-S3ZO7JXS.js → chunk-G5FPWH5O.js} +4 -4
- package/dist/cli/chunks/{chunk-QSE67XJO.js → chunk-GDMH7NPV.js} +2 -2
- package/dist/cli/chunks/{chunk-MEY43PIQ.js → chunk-GILL32E2.js} +2 -2
- package/dist/cli/chunks/{chunk-LQTWPSYL.js → chunk-GLMDRGJD.js} +1 -1
- package/dist/cli/chunks/{chunk-MNV3E5KY.js → chunk-GS33ZRJH.js} +4 -4
- package/dist/cli/chunks/chunk-HPYGMKZF.js +2 -0
- package/dist/cli/chunks/{chunk-EQBEGDTG.js → chunk-HTLAPMTK.js} +1 -1
- package/dist/cli/chunks/{chunk-C2M74HCN.js → chunk-IAK76TIZ.js} +1 -1
- package/dist/cli/chunks/{chunk-2EDWGHDA.js → chunk-ICF5RPQU.js} +2 -2
- package/dist/cli/chunks/{chunk-ZXTO4C7R.js → chunk-IPAQ4HVX.js} +2 -2
- package/dist/cli/chunks/{chunk-RLXTBL3H.js → chunk-ISRTT4I7.js} +22 -22
- package/dist/cli/chunks/{chunk-SW4OKUTC.js → chunk-IYFMDIYZ.js} +2 -2
- package/dist/cli/chunks/{chunk-7IZ2OPC2.js → chunk-JRBGHWAM.js} +2 -2
- package/dist/cli/chunks/{chunk-QJ2EHLJ2.js → chunk-JYR3X4OC.js} +1 -1
- package/dist/cli/chunks/{chunk-5QHSLWLP.js → chunk-K72J52JO.js} +2 -2
- package/dist/cli/chunks/{chunk-PIZYRPMT.js → chunk-K7CW2X6U.js} +2 -2
- package/dist/cli/chunks/{chunk-3Z4FHA2E.js → chunk-K7K4TFJM.js} +4 -4
- package/dist/cli/chunks/{chunk-5HB54RUS.js → chunk-KCXE2LZU.js} +2 -2
- package/dist/cli/chunks/{chunk-THRTUW4Z.js → chunk-KGPAWNNR.js} +1 -1
- package/dist/cli/chunks/{chunk-MYWQTCS4.js → chunk-KJ56OXH4.js} +1 -1
- package/dist/cli/chunks/{chunk-ZDHMZPSL.js → chunk-KUFC4DBX.js} +1 -1
- package/dist/cli/chunks/{chunk-CV2SBMBW.js → chunk-KWZEBHAP.js} +2 -2
- package/dist/cli/chunks/{chunk-X2VAOIUY.js → chunk-L6VNEEN6.js} +1 -1
- package/dist/cli/chunks/{chunk-S3OZ7XSY.js → chunk-LHPR7ROV.js} +1 -1
- package/dist/cli/chunks/{chunk-HO37VP4O.js → chunk-LKK3NIHC.js} +1 -1
- package/dist/cli/chunks/{chunk-XRJECWZE.js → chunk-LOFA3U4X.js} +1 -1
- package/dist/cli/chunks/{chunk-AWFIEGR3.js → chunk-LYKSIOOT.js} +2 -2
- package/dist/cli/chunks/chunk-M2PSXKTG.js +2 -0
- package/dist/cli/chunks/{chunk-CMACGG4Z.js → chunk-M3MKP5VN.js} +1 -1
- package/dist/cli/chunks/{chunk-UYYBPWU3.js → chunk-M4ARHDY4.js} +1 -1
- package/dist/cli/chunks/chunk-M5DBKHM4.js +2 -0
- package/dist/cli/chunks/{chunk-7IVQ6OVR.js → chunk-MDWJXSBA.js} +2 -2
- package/dist/cli/chunks/{chunk-IICTTDAA.js → chunk-MFWWPRBV.js} +2 -2
- package/dist/cli/chunks/{chunk-4BXGVM2C.js → chunk-MHWYQHGN.js} +1 -1
- package/dist/cli/chunks/{chunk-HJME6G5M.js → chunk-MIQBRVK2.js} +1 -1
- package/dist/cli/chunks/{chunk-FY3CUPNN.js → chunk-MKZQBBCU.js} +2 -2
- package/dist/cli/chunks/{chunk-MCOFJHSJ.js → chunk-MQ5WMWUK.js} +5 -5
- package/dist/cli/chunks/chunk-MQIAN57O.js +2 -0
- package/dist/cli/chunks/{chunk-6NZHEM4V.js → chunk-MU4P4P4E.js} +3 -3
- package/dist/cli/chunks/{chunk-ETN5563K.js → chunk-MWV4KPOB.js} +2 -2
- package/dist/cli/chunks/{chunk-XTCUN36Z.js → chunk-N244P4MM.js} +2 -2
- package/dist/cli/chunks/{chunk-DRWGK3YO.js → chunk-N3MM4Z33.js} +2 -2
- package/dist/cli/chunks/{chunk-QQNCSEZG.js → chunk-N4CXUGXE.js} +2 -2
- package/dist/cli/chunks/{chunk-PEK6NGVJ.js → chunk-ND6YSW5N.js} +1 -1
- package/dist/cli/chunks/{chunk-7V5UHLNY.js → chunk-NJYI7HX7.js} +3 -3
- package/dist/cli/chunks/{chunk-YACT5WFC.js → chunk-NSRDP7RD.js} +2 -2
- package/dist/cli/chunks/{chunk-L7VIX22Y.js → chunk-NZGLDOU4.js} +15 -15
- package/dist/cli/chunks/{chunk-MNUTRAUV.js → chunk-O3SG32PS.js} +1 -1
- package/dist/cli/chunks/{chunk-ZGNZJJFF.js → chunk-OIFJH7TF.js} +1 -1
- package/dist/cli/chunks/{chunk-LZCBSFAU.js → chunk-OKKTDHHF.js} +6 -6
- package/dist/cli/chunks/{chunk-3RHHKYUR.js → chunk-OO7KJ34Y.js} +2 -2
- package/dist/cli/chunks/{chunk-STEGWLH5.js → chunk-OV4BLIKJ.js} +2 -2
- package/dist/cli/chunks/{chunk-AOI67HA3.js → chunk-PISW5HUX.js} +1 -1
- package/dist/cli/chunks/{chunk-SJH3HYNC.js → chunk-PLD4IGDL.js} +2 -2
- package/dist/cli/chunks/{chunk-2OH3ALYB.js → chunk-PMWWWYUM.js} +1 -1
- package/dist/cli/chunks/{chunk-EA7ZSN3V.js → chunk-PWJZZCHJ.js} +1 -1
- package/dist/cli/chunks/{chunk-HA63NBFK.js → chunk-PZ4PRZXN.js} +37 -37
- package/dist/cli/chunks/chunk-PZCSJZVJ.js +2 -0
- package/dist/cli/chunks/{chunk-CTDLI2ON.js → chunk-Q53M4LI7.js} +1 -1
- package/dist/cli/chunks/{chunk-WSVUSIAZ.js → chunk-QPMAXDJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-MCZHKXB4.js → chunk-RJKYPWFD.js} +2 -2
- package/dist/cli/chunks/{chunk-7QRMARM7.js → chunk-RUC3FCRK.js} +2 -2
- package/dist/cli/chunks/{chunk-5PL7WTCU.js → chunk-SC6UFGJ6.js} +2 -2
- package/dist/cli/chunks/{chunk-FO43SQXP.js → chunk-SJC7OKF3.js} +2 -2
- package/dist/cli/chunks/{chunk-R2O6OKT2.js → chunk-STMMZXS6.js} +1 -1
- package/dist/cli/chunks/{chunk-ORF2UKQH.js → chunk-SVILIQQQ.js} +1 -1
- package/dist/cli/chunks/{chunk-UVU7XLJY.js → chunk-SXMGNMFL.js} +5 -5
- package/dist/cli/chunks/{chunk-OIEQF7PG.js → chunk-SZKFT6CD.js} +2 -2
- package/dist/cli/chunks/{chunk-G5U6Q42D.js → chunk-TBJ566KV.js} +2 -2
- package/dist/cli/chunks/{chunk-SVYTN2GT.js → chunk-TCV5DASI.js} +2 -2
- package/dist/cli/chunks/chunk-TWAWEP4X.js +59 -0
- package/dist/cli/chunks/chunk-U27GVYXA.js +2 -0
- package/dist/cli/chunks/{chunk-FPAW77XV.js → chunk-UFKVKNAA.js} +1 -1
- package/dist/cli/chunks/{chunk-HJORBNXW.js → chunk-USB7GCIC.js} +1 -1
- package/dist/cli/chunks/{chunk-4GTDW2XL.js → chunk-UW3ZSFFB.js} +2 -2
- package/dist/cli/chunks/{chunk-OXCEUR5F.js → chunk-UWAUYDW4.js} +2 -2
- package/dist/cli/chunks/{chunk-4F3ZTXHP.js → chunk-UXJVR323.js} +2 -2
- package/dist/cli/chunks/{chunk-AIUSZC6K.js → chunk-V5G3SMAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-DMQPO43S.js → chunk-VDKMBOUK.js} +1 -1
- package/dist/cli/chunks/{chunk-5WJ3FWL4.js → chunk-VJ2D6FST.js} +24 -24
- package/dist/cli/chunks/chunk-VJOPNK2L.js +2 -0
- package/dist/cli/chunks/{chunk-JF53LRBL.js → chunk-VRE2EBFI.js} +2 -2
- package/dist/cli/chunks/{chunk-WNR2KAUH.js → chunk-WI5WXYIS.js} +2 -2
- package/dist/cli/chunks/{chunk-OWQ6HEYI.js → chunk-WIYWDON4.js} +2 -2
- package/dist/cli/chunks/{chunk-KB5L5TTF.js → chunk-WYMQ6FZR.js} +5 -5
- package/dist/cli/chunks/{chunk-TJKDATEU.js → chunk-XBFEHVBO.js} +2 -2
- package/dist/cli/chunks/{chunk-7SJX4CFK.js → chunk-XDZXLEJK.js} +1 -1
- package/dist/cli/chunks/{chunk-QEPFXY6G.js → chunk-XJXCSCCP.js} +1 -1
- package/dist/cli/chunks/{chunk-OPFN5LFT.js → chunk-XVA56PXZ.js} +4 -4
- package/dist/cli/chunks/{chunk-PXTDEO65.js → chunk-Y2EDDV5U.js} +2 -2
- package/dist/cli/chunks/{chunk-VSUTI4G6.js → chunk-YSLE6NNG.js} +2 -2
- package/dist/cli/chunks/{chunk-XGBAHAGC.js → chunk-Z4BTPQLG.js} +4 -4
- package/dist/cli/chunks/{chunk-NZO4WUSO.js → chunk-ZM4QGYGK.js} +3 -3
- package/dist/cli/chunks/{ci-PYCRCL7G.js → ci-2BLMQNX3.js} +6 -6
- package/dist/cli/chunks/{ci-output-EKQQFE2D.js → ci-output-XK4PPSN7.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-RH3Q2MJO.js → circuit-breaker-W7X4NPFE.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-DUDXB4VV.js → claude-flow-setup-GLBLSYNJ.js} +2 -2
- package/dist/cli/chunks/client-C6CJOCRN.js +2 -0
- package/dist/cli/chunks/{cline-installer-3Q4WIWUG.js → cline-installer-7WX7DBGI.js} +2 -2
- package/dist/cli/chunks/{code-E4Q6DGOO.js → code-SP3HAQWG.js} +20 -19
- package/dist/cli/chunks/{code-index-extractor-2PCISUOW.js → code-index-extractor-44HH36UG.js} +2 -2
- package/dist/cli/chunks/{codex-installer-YNNNOLJ6.js → codex-installer-LMXRWLPU.js} +2 -2
- package/dist/cli/chunks/{completions-2F7TUFBD.js → completions-GL5FTZAN.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-2B6MHO7W.js → complexity-analyzer-CQMYGETL.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-ENOKRU5M.js → continuedev-installer-CYVYS5B7.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-6YD2KM5F.js → copilot-installer-M7XVII2A.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-FCH4QOEA.js → cost-tracker-S4ET4FH3.js} +2 -2
- package/dist/cli/chunks/{coverage-JTOXZE3T.js → coverage-DFVSSQ4A.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-I3GEA5G6.js +2 -0
- package/dist/cli/chunks/{cursor-installer-QZFBUGLQ.js → cursor-installer-KWDSQPQC.js} +2 -2
- package/dist/cli/chunks/{daemon-K4QFB5FQ.js → daemon-2HD54QVO.js} +3 -3
- package/dist/cli/chunks/daemon-CRX46BBO.js +10 -0
- package/dist/cli/chunks/{dag-attention-scheduler-BXAAW33V.js → dag-attention-scheduler-SCP6WPZB.js} +2 -2
- package/dist/cli/chunks/{detect-UGSWIOAD.js → detect-XS2GDCEX.js} +2 -2
- package/dist/cli/chunks/{dist-node-FN3HX3OK.js → dist-node-U43MVQ3F.js} +2 -2
- package/dist/cli/chunks/{domain-handler-7PP7VYA7.js → domain-handler-HITMDULH.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-XZM44W7I.js → domain-transfer-TJF7DNI4.js} +2 -2
- package/dist/cli/chunks/dream-JCQMG2RL.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-JZVERJ5L.js → embed-and-insert-pattern-JKG33YZK.js} +2 -2
- package/dist/cli/chunks/{eval-466NFF2D.js → eval-NF5Y4W37.js} +3 -3
- package/dist/cli/chunks/{experience-capture-middleware-I7IQCC7V.js → experience-capture-middleware-VMMFYJ4D.js} +3 -3
- package/dist/cli/chunks/{fast-paths-34OICNZA.js → fast-paths-W2Q53IR2.js} +2 -2
- package/dist/cli/chunks/{feature-flags-6UBIVTAD.js → feature-flags-B4PBMQJO.js} +2 -2
- package/dist/cli/chunks/{feature-flags-X5WBBWSO.js → feature-flags-PVI7A4RE.js} +2 -2
- package/dist/cli/chunks/{file-discovery-NLMDBWXX.js → file-discovery-E4L3I33I.js} +2 -2
- package/dist/cli/chunks/{fleet-W7CYCHDI.js → fleet-LE5SHVLK.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-K4VTAG5X.js → gnn-wrapper-MWWJBLOH.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-ZGKF2Z6T.js → heartbeat-handler-XOUVNPQK.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-FBHE4ZWH.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-EOOA4WXD.js +2 -0
- package/dist/cli/chunks/hnsw-index-TD3KRPND.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-ELDRLKK5.js → hnsw-legacy-bridge-W3T5ZDDP.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-5BT5FO64.js → hnswlib-node-3TZFES5I.js} +2 -2
- package/dist/cli/chunks/hooks-RUPQVIUM.js +250 -0
- package/dist/cli/chunks/hybrid-router-64O6PXZ2.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-UWFW3XP5.js → hypergraph-engine-VDFK3JYH.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-PK2BI46K.js → hypergraph-handler-EUDGEF25.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-ITQHXGTM.js +2 -0
- package/dist/cli/chunks/{init-handler-HNG6KJOU.js → init-handler-MZEAJOZK.js} +6 -6
- package/dist/cli/chunks/init-wizard-DZ4IKGQI.js +2 -0
- package/dist/cli/chunks/kernel-HSVY4ZYK.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-25V7FEJ4.js → kilocode-installer-ECBYWT6M.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-7RMTTCQB.js → kiro-installer-KYFCSYTG.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-H32TXXX4.js +2 -0
- package/dist/cli/chunks/{learning-XQC2MG2R.js → learning-4RAFMDSB.js} +3 -3
- package/dist/cli/chunks/{llm-router-6KTTONH4.js → llm-router-JHBNLYP3.js} +12 -12
- package/dist/cli/chunks/llm-router-service-3FKESBUX.js +2 -0
- package/dist/cli/chunks/{load-BV64P3AL.js → load-4DVQML7P.js} +2 -2
- package/dist/cli/chunks/load-test-LKHURZGZ.js +2 -0
- package/dist/cli/chunks/{mcp-U5ZN77TA.js → mcp-LCWMU4GZ.js} +2 -2
- package/dist/cli/chunks/{memory-WB5BNBK7.js → memory-3DTJAURT.js} +5 -5
- package/dist/cli/chunks/memory-backend-XRJRZ6CK.js +2 -0
- package/dist/cli/chunks/memory-handlers-BL6E3XAK.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-3X3W3UTY.js → multi-model-executor-AVR5SZOO.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-TTTMG7ZZ.js → opencode-installer-DW2426QM.js} +3 -3
- package/dist/cli/chunks/{orchestrator-BLCGSHMZ.js → orchestrator-AHF4W5GS.js} +8 -8
- package/dist/cli/chunks/{pipeline-DZPGMRG7.js → pipeline-N6THEWYE.js} +2 -2
- package/dist/cli/chunks/{platform-EVMZAUNV.js → platform-MRCFQF7X.js} +2 -2
- package/dist/cli/chunks/{plugin-OR55K4HT.js → plugin-6YKUN5QM.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-4ODV27HD.js → prime-radiant-advanced-wasm-2YPAHSVS.js} +2 -2
- package/dist/cli/chunks/protocol-executor-KABPB6PQ.js +2 -0
- package/dist/cli/chunks/{protocol-handler-ZOTI5PID.js → protocol-handler-Y2NMUKWQ.js} +2 -2
- package/dist/cli/chunks/{prove-DIMBYJ7V.js → prove-DZUNWBFD.js} +2 -2
- package/dist/cli/chunks/provider-manager-U7EBM3FA.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-64O2OQIW.js +2 -0
- package/dist/cli/chunks/{quality-7MX4VL6M.js → quality-AIFQMGUV.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-SV3COGIL.js +2 -0
- package/dist/cli/chunks/{real-embeddings-YPUHWRN2.js → real-embeddings-5XL4LOG2.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-WG5AU4QM.js → roocode-installer-LV3WONT5.js} +2 -2
- package/dist/cli/chunks/router-QARRPMED.js +2 -0
- package/dist/cli/chunks/routing-feedback-KD2JFTPK.js +2 -0
- package/dist/cli/chunks/{routing-handler-LZB4MN2K.js → routing-handler-WSMUILGD.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-YE4ADBMC.js → ruvector-commands-BCEIDTW3.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-QS5ATW4C.js → rvf-dual-writer-LRSPC6H3.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-YIGKSBD3.js → rvf-migration-adapter-QHNX6353.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-2NDCWP7F.js → rvf-migration-coordinator-SLNB3XPW.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-4LLGF5AY.js +2 -0
- package/dist/cli/chunks/safe-db-RAX3H2P7.js +2 -0
- package/dist/cli/chunks/schedule-RQZGLLUY.js +2 -0
- package/dist/cli/chunks/scheduler-ACWTN4LN.js +2 -0
- package/dist/cli/chunks/{security-HT4SUT24.js → security-CYY6TECQ.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-U6JE4O6A.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-ZKFO7CBY.js → shared-rvf-dual-writer-PJBSNBRV.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-SWNBO257.js +2 -0
- package/dist/cli/chunks/{status-handler-AMEMKBI4.js → status-handler-W723LXX5.js} +2 -2
- package/dist/cli/chunks/{structural-health-RBADRLC3.js → structural-health-WZUPZBB5.js} +2 -2
- package/dist/cli/chunks/{sync-PCB23M4K.js → sync-UA22CKUS.js} +2 -2
- package/dist/cli/chunks/sync-ZLMF53TB.js +2 -0
- package/dist/cli/chunks/{task-handler-J26FSCH5.js → task-handler-SENTEEXZ.js} +2 -2
- package/dist/cli/chunks/{task-handlers-AQRLR6BL.js → task-handlers-FGVUZOCC.js} +3 -3
- package/dist/cli/chunks/{test-YXWSIOSB.js → test-Q37C3WI2.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-XY532GI4.js → test-scheduling-E6SPIBTH.js} +4 -4
- package/dist/cli/chunks/token-bootstrap-HQFFMZUF.js +2 -0
- package/dist/cli/chunks/{token-usage-2MJVE4DT.js → token-usage-JHNWTZ7L.js} +3 -3
- package/dist/cli/chunks/{transformers-QSNTOD2Z.js → transformers-TEXDUVNI.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-MWSS52H6.js +2 -0
- package/dist/cli/chunks/{types-RNKRSYMO.js → types-YQRKHYH3.js} +2 -2
- package/dist/cli/chunks/unified-memory-QG3FDRKR.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-KOR4EOIG.js +2 -0
- package/dist/cli/chunks/unified-persistence-J6NIRYKM.js +2 -0
- package/dist/cli/chunks/{upgrade-EKJHIFWP.js → upgrade-JKMEDURI.js} +2 -2
- package/dist/cli/chunks/{validate-KS4T7LWC.js → validate-URO7G6OE.js} +4 -4
- package/dist/cli/chunks/validate-swarm-VZVJ56Z5.js +14 -0
- package/dist/cli/chunks/{vibium-FLUQO4IF.js → vibium-G5WZILL6.js} +2 -2
- package/dist/cli/chunks/visual-security-RAWV6YLN.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-UMC63DWD.js → web-tree-sitter-LECH5T6H.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-V3FQGJIQ.js → windsurf-installer-2NPLC2YW.js} +2 -2
- package/dist/cli/chunks/{witness-chain-GE74TLSO.js → witness-chain-X347C36A.js} +2 -2
- package/dist/cli/chunks/witness-chain-ZO7FIM35.js +2 -0
- package/dist/cli/chunks/{workflow-4YZ2RPWA.js → workflow-V4ALYZ73.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-7SKITNIJ.js +2 -0
- package/dist/cli/chunks/wrappers-QXOPRPR4.js +2 -0
- package/dist/cli/commands/code.js +6 -0
- package/dist/cli/commands/hooks-handlers/task-hooks.js +50 -0
- package/dist/cli/commands/learning.js +5 -5
- package/dist/cli/commands/llm-router.js +1 -1
- package/dist/cli/commands/workflow.js +1 -0
- package/dist/coordination/consensus/providers/native-learning-provider.d.ts +1 -1
- package/dist/coordination/consensus/providers/ollama-provider.d.ts +1 -1
- package/dist/coordination/consensus/providers/openrouter-provider.d.ts +1 -1
- package/dist/coordination/handlers/code-intelligence-handlers.js +6 -0
- package/dist/coordination/mincut/neural-goap.js +24 -20
- package/dist/coordination/protocols/code-intelligence-index.js +31 -25
- package/dist/coordination/queen-coordinator.js +4 -0
- package/dist/coordination/queen-work-stealing.js +1 -2
- package/dist/domains/chaos-resilience/coordinator.js +19 -15
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +5 -2
- package/dist/domains/chaos-resilience/services/load-tester.js +15 -11
- package/dist/domains/code-intelligence/interfaces.d.ts +5 -0
- package/dist/domains/code-intelligence/services/c4-model/index.js +12 -6
- package/dist/domains/code-intelligence/services/impact-analyzer.js +6 -2
- package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +42 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.js +278 -93
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +8 -2
- package/dist/domains/contract-testing/coordinator.js +1 -1
- package/dist/domains/coverage-analysis/coordinator.js +4 -2
- package/dist/domains/learning-optimization/coordinator.js +1 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js +32 -26
- package/dist/domains/requirements-validation/coordinator.js +1 -0
- package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
- package/dist/domains/test-execution/services/retry-handler.js +18 -12
- package/dist/domains/test-generation/coordinator.js +1 -1
- package/dist/domains/test-generation/services/pattern-matcher.js +7 -5
- package/dist/domains/test-generation/services/test-generator.js +3 -2
- package/dist/domains/visual-accessibility/coordinator.js +24 -20
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/init/phases/12-verification.js +3 -3
- package/dist/integrations/agentic-flow/model-router/router.js +1 -1
- package/dist/integrations/embeddings/base/EmbeddingGenerator.js +11 -7
- package/dist/integrations/ruvector/hypergraph-engine.js +2 -2
- package/dist/integrations/ruvector/shared-rvf-adapter.js +12 -1
- package/dist/integrations/ruvector/shared-rvf-dual-writer.js +6 -2
- package/dist/integrations/ruvector/spectral-math.js +2 -2
- package/dist/integrations/ruvector/spectral-sparsifier.js +1 -1
- package/dist/kernel/kernel.js +1 -1
- package/dist/kernel/project-root.d.ts +33 -0
- package/dist/kernel/project-root.js +86 -0
- package/dist/kernel/unified-memory-hnsw.js +1 -0
- package/dist/kernel/unified-memory.d.ts +2 -19
- package/dist/kernel/unified-memory.js +8 -64
- package/dist/learning/experience-capture.js +1 -1
- package/dist/learning/local-judge-client.d.ts +55 -0
- package/dist/learning/local-judge-client.js +127 -0
- package/dist/learning/nagual-client.d.ts +73 -0
- package/dist/learning/nagual-client.js +150 -0
- package/dist/learning/pattern-store.js +10 -3
- package/dist/learning/qe-reasoning-bank.js +9 -1
- package/dist/learning/qe-unified-memory.js +8 -6
- package/dist/mcp/bundle.js +405 -403
- package/dist/mcp/entry.js +44 -33
- package/dist/mcp/handlers/core-handlers.js +2 -2
- package/dist/mcp/handlers/cross-phase-handlers.js +5 -3
- package/dist/mcp/handlers/handler-factory.d.ts +5 -0
- package/dist/mcp/handlers/handler-factory.js +44 -4
- package/dist/mcp/http-server.js +1 -0
- package/dist/mcp/protocol-server.js +2 -2
- package/dist/mcp/tools/code-intelligence/analyze.js +1 -1
- package/dist/mcp/tools/learning-optimization/optimize.js +1 -1
- package/dist/mcp/tools/qx-analysis/heuristics-engine.js +195 -173
- package/dist/mcp/tools/visual-accessibility/index.js +1 -1
- package/dist/mcp/transport/stdio.d.ts +7 -0
- package/dist/mcp/transport/stdio.js +39 -2
- package/dist/mcp/transport/websocket/websocket-transport.js +1 -0
- package/dist/optimization/auto-tuner.js +1 -1
- package/dist/planning/goap-planner.js +1 -0
- package/dist/routing/agent-dependency-graph.js +4 -1
- package/dist/shared/llm/router/config-store.js +1 -1
- package/dist/shared/metrics/system-metrics.js +6 -4
- package/dist/shared/parsers/tree-sitter-wasm-parser.d.ts +12 -0
- package/dist/shared/parsers/tree-sitter-wasm-parser.js +35 -0
- package/dist/shared/parsers/treesitter-ts-extractor.d.ts +39 -0
- package/dist/shared/parsers/treesitter-ts-extractor.js +196 -0
- package/dist/shared/utils/safe-expression-evaluator.js +8 -5
- package/dist/sync/cloud/postgres-writer.js +2 -0
- package/dist/sync/readers/json-reader.js +1 -1
- package/dist/test-scheduling/git-aware/test-selector.js +1 -1
- package/dist/workers/daemon.js +2 -0
- package/dist/workers/quality-daemon/git-watcher.js +2 -0
- package/dist/workers/quality-daemon/index.js +28 -24
- package/dist/workers/worker-manager.js +4 -0
- package/package.json +5 -4
- package/dist/cli/chunks/adapter-CR6J5C76.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-2MNTHMB6.js +0 -2
- package/dist/cli/chunks/audit-ALRYPHGP.js +0 -3
- package/dist/cli/chunks/base-AOQNGMTL.js +0 -2
- package/dist/cli/chunks/browser-workflow-UJ4A2ZXO.js +0 -2
- package/dist/cli/chunks/chunk-7DKYCVJI.js +0 -2
- package/dist/cli/chunks/chunk-FO73PZVU.js +0 -2
- package/dist/cli/chunks/chunk-I677W5BT.js +0 -59
- package/dist/cli/chunks/chunk-IAZEDWRX.js +0 -2
- package/dist/cli/chunks/chunk-RNREAOY4.js +0 -2
- package/dist/cli/chunks/chunk-UWXH2UQK.js +0 -2
- package/dist/cli/chunks/chunk-ZQUXNG5X.js +0 -2
- package/dist/cli/chunks/client-RDPWGOSA.js +0 -2
- package/dist/cli/chunks/cross-domain-router-4K5ZVZEZ.js +0 -2
- package/dist/cli/chunks/daemon-M422U3ZA.js +0 -10
- package/dist/cli/chunks/dream-RPNWM7VS.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-JBCXMMZO.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-3SC2HZIG.js +0 -2
- package/dist/cli/chunks/hnsw-index-FQORAR6K.js +0 -2
- package/dist/cli/chunks/hooks-T4CBINAV.js +0 -248
- package/dist/cli/chunks/hybrid-router-6CBFDXPR.js +0 -2
- package/dist/cli/chunks/impact-analyzer-SOEFVZWG.js +0 -2
- package/dist/cli/chunks/init-wizard-3E4IU5M4.js +0 -2
- package/dist/cli/chunks/kernel-GFZP4G5J.js +0 -2
- package/dist/cli/chunks/knowledge-graph-BKRKBU26.js +0 -2
- package/dist/cli/chunks/llm-router-service-KE4IGZPP.js +0 -2
- package/dist/cli/chunks/load-test-VSYJV2AO.js +0 -2
- package/dist/cli/chunks/memory-backend-B72RGHRF.js +0 -2
- package/dist/cli/chunks/memory-handlers-NWCH7AUO.js +0 -2
- package/dist/cli/chunks/protocol-executor-V3F37FPO.js +0 -2
- package/dist/cli/chunks/provider-manager-2PN72TT6.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-P665QNIR.js +0 -2
- package/dist/cli/chunks/queen-coordinator-XD4F7BGB.js +0 -2
- package/dist/cli/chunks/router-4SSNWDJC.js +0 -2
- package/dist/cli/chunks/routing-feedback-O2JSIBW6.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-WIUHYXRB.js +0 -2
- package/dist/cli/chunks/safe-db-WL5Y7ZNS.js +0 -2
- package/dist/cli/chunks/schedule-U7QDGU5A.js +0 -2
- package/dist/cli/chunks/scheduler-LXKGQYXA.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-4IZOJL33.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-4KFO3SEB.js +0 -2
- package/dist/cli/chunks/sync-ARDDLQBS.js +0 -2
- package/dist/cli/chunks/token-bootstrap-KL2QIQ36.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-QJOKHOIW.js +0 -2
- package/dist/cli/chunks/unified-memory-7AS4LIEF.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-GREESNJX.js +0 -2
- package/dist/cli/chunks/unified-persistence-BPJOMZOA.js +0 -2
- package/dist/cli/chunks/validate-swarm-SKKWRP2H.js +0 -14
- package/dist/cli/chunks/visual-security-BW662FHQ.js +0 -2
- package/dist/cli/chunks/witness-chain-OXVDLNVT.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-KKNR46XV.js +0 -2
- package/dist/cli/chunks/wrappers-37NLMKPE.js +0 -2
|
@@ -231,37 +231,43 @@ export class CoherenceGateController {
|
|
|
231
231
|
case QualityTier.NORMAL:
|
|
232
232
|
return [];
|
|
233
233
|
case QualityTier.REDUCED:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
234
|
+
{
|
|
235
|
+
const reducedActions = [
|
|
236
|
+
'runAdditionalTests',
|
|
237
|
+
'notifyReviewers',
|
|
238
|
+
'requireApproval',
|
|
239
|
+
];
|
|
240
|
+
if (reason === 'lambdaDroppedFast') {
|
|
241
|
+
reducedActions.push('increaseMonitoring');
|
|
242
|
+
}
|
|
243
|
+
return reducedActions;
|
|
241
244
|
}
|
|
242
|
-
return reducedActions;
|
|
243
245
|
case QualityTier.SAFE:
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
246
|
+
{
|
|
247
|
+
const safeActions = [
|
|
248
|
+
'blockDeploy',
|
|
249
|
+
'alertTeam',
|
|
250
|
+
'scheduleReview',
|
|
251
|
+
'generateReport',
|
|
252
|
+
];
|
|
253
|
+
if (reason === 'testFailureSpike') {
|
|
254
|
+
safeActions.push('runAdditionalTests');
|
|
255
|
+
}
|
|
256
|
+
return safeActions;
|
|
252
257
|
}
|
|
253
|
-
return safeActions;
|
|
254
258
|
case QualityTier.QUARANTINE:
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
{
|
|
260
|
+
const quarantineActions = [
|
|
261
|
+
'blockAllDeploys',
|
|
262
|
+
'escalateToLeads',
|
|
263
|
+
'rollbackIfNeeded',
|
|
264
|
+
'generateReport',
|
|
265
|
+
];
|
|
266
|
+
if (reason === 'securityCritical') {
|
|
267
|
+
quarantineActions.push('runSecurityScan');
|
|
268
|
+
}
|
|
269
|
+
return quarantineActions;
|
|
263
270
|
}
|
|
264
|
-
return quarantineActions;
|
|
265
271
|
}
|
|
266
272
|
}
|
|
267
273
|
/**
|
|
@@ -18,6 +18,7 @@ import { TestabilityScorerService } from './services/testability-scorer.js';
|
|
|
18
18
|
import { PPOAlgorithm } from '../../integrations/rl-suite/algorithms/ppo.js';
|
|
19
19
|
// V3 Integration: @ruvector wrappers (persistent patterns)
|
|
20
20
|
import { createPersistentSONAEngine, } from '../../integrations/ruvector/sona-persistence.js';
|
|
21
|
+
// V3 Integration: MinCut Awareness (ADR-047) - only import types needed beyond base
|
|
21
22
|
// CQ-002: Base domain coordinator
|
|
22
23
|
import { BaseDomainCoordinator, } from '../base-domain-coordinator.js';
|
|
23
24
|
import { createDomainFinding, } from '../../coordination/consensus/domain-findings.js';
|
|
@@ -337,25 +337,31 @@ export class RetryHandlerService {
|
|
|
337
337
|
switch (runner) {
|
|
338
338
|
case 'vitest':
|
|
339
339
|
// vitest run --reporter=json testFile -t "testName"
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
340
|
+
{
|
|
341
|
+
const vitestArgs = ['vitest', 'run', '--reporter=json', testFile];
|
|
342
|
+
if (testName) {
|
|
343
|
+
vitestArgs.push('-t', testName);
|
|
344
|
+
}
|
|
345
|
+
return { command: npx, args: vitestArgs };
|
|
343
346
|
}
|
|
344
|
-
return { command: npx, args: vitestArgs };
|
|
345
347
|
case 'jest':
|
|
346
348
|
// jest --json testFile -t "testName"
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
349
|
+
{
|
|
350
|
+
const jestArgs = ['jest', '--json', '--testPathPattern', testFile];
|
|
351
|
+
if (testName) {
|
|
352
|
+
jestArgs.push('-t', testName);
|
|
353
|
+
}
|
|
354
|
+
return { command: npx, args: jestArgs };
|
|
350
355
|
}
|
|
351
|
-
return { command: npx, args: jestArgs };
|
|
352
356
|
case 'mocha':
|
|
353
357
|
// mocha --reporter json testFile --grep "testName"
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
358
|
+
{
|
|
359
|
+
const mochaArgs = ['mocha', '--reporter', 'json', testFile];
|
|
360
|
+
if (testName) {
|
|
361
|
+
mochaArgs.push('--grep', testName);
|
|
362
|
+
}
|
|
363
|
+
return { command: npx, args: mochaArgs };
|
|
357
364
|
}
|
|
358
|
-
return { command: npx, args: mochaArgs };
|
|
359
365
|
default:
|
|
360
366
|
throw new Error(`Unsupported test runner: ${runner}`);
|
|
361
367
|
}
|
|
@@ -229,7 +229,7 @@ export class TestGenerationCoordinator extends BaseDomainCoordinator {
|
|
|
229
229
|
return err(new Error('Test generation paused: topology is in critical state'));
|
|
230
230
|
}
|
|
231
231
|
// Fire PreTestGeneration hook to get guidance and patterns from learning system
|
|
232
|
-
|
|
232
|
+
const hookPatternIds = [];
|
|
233
233
|
if (this.hookRegistry) {
|
|
234
234
|
try {
|
|
235
235
|
const targetFile = request.sourceFiles?.[0] || '';
|
|
@@ -1284,12 +1284,14 @@ class TypeScriptASTParser {
|
|
|
1284
1284
|
complexity++;
|
|
1285
1285
|
break;
|
|
1286
1286
|
case ts.SyntaxKind.BinaryExpression:
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
binary.operatorToken.kind === ts.SyntaxKind.
|
|
1290
|
-
|
|
1287
|
+
{
|
|
1288
|
+
const binary = n;
|
|
1289
|
+
if (binary.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken ||
|
|
1290
|
+
binary.operatorToken.kind === ts.SyntaxKind.BarBarToken) {
|
|
1291
|
+
complexity++;
|
|
1292
|
+
}
|
|
1293
|
+
break;
|
|
1291
1294
|
}
|
|
1292
|
-
break;
|
|
1293
1295
|
}
|
|
1294
1296
|
ts.forEachChild(n, visit);
|
|
1295
1297
|
};
|
|
@@ -736,8 +736,9 @@ Return a JSON array of test suggestions, each with: { "name": "test name", "desc
|
|
|
736
736
|
// Cross-reference with KG vectors to find callers (files that import this one)
|
|
737
737
|
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
738
738
|
const baseName = normalizedPath.split('/').pop()?.replace(/\.(ts|js|tsx|jsx|py)$/, '') || '';
|
|
739
|
-
// Search KG node vectors for this file's name to find related nodes
|
|
740
|
-
|
|
739
|
+
// Search KG node vectors for this file's name to find related nodes.
|
|
740
|
+
// KG persists under its own namespace (#511 parity) — read it there.
|
|
741
|
+
const nodeKeys = await this.memory.search(`code-intelligence:kg:node:*${baseName}*`, 50, { namespace: 'code-intelligence:kg' });
|
|
741
742
|
for (const key of nodeKeys) {
|
|
742
743
|
// Nodes matching this file's name that are from other files indicate callers
|
|
743
744
|
if (!key.includes(baseName))
|
|
@@ -892,29 +892,33 @@ export class VisualAccessibilityCoordinator extends BaseDomainCoordinator {
|
|
|
892
892
|
break;
|
|
893
893
|
case 'allocate':
|
|
894
894
|
// Allocate based on resource availability
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
895
|
+
{
|
|
896
|
+
const agentCount = typeof prediction.action.value === 'object' ? prediction.action.value.agents ?? 2 : 2;
|
|
897
|
+
const testsPerAgent = Math.ceil(prioritized.length / agentCount);
|
|
898
|
+
prioritized = prioritized.map((t, i) => ({
|
|
899
|
+
...t,
|
|
900
|
+
priority: 10 - Math.floor(i / testsPerAgent),
|
|
901
|
+
reason: `allocate-agent-${Math.floor(i / testsPerAgent)}`,
|
|
902
|
+
}));
|
|
903
|
+
strategy = 'allocate-by-agent';
|
|
904
|
+
break;
|
|
905
|
+
}
|
|
904
906
|
case 'rebalance':
|
|
905
907
|
// Rebalance based on viewport coverage
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
908
|
+
{
|
|
909
|
+
const viewportCounts = new Map();
|
|
910
|
+
for (const t of prioritized) {
|
|
911
|
+
viewportCounts.set(t.viewport.width, (viewportCounts.get(t.viewport.width) || 0) + 1);
|
|
912
|
+
}
|
|
913
|
+
prioritized.sort((a, b) => (viewportCounts.get(a.viewport.width) || 0) - (viewportCounts.get(b.viewport.width) || 0));
|
|
914
|
+
prioritized = prioritized.map((t) => ({
|
|
915
|
+
...t,
|
|
916
|
+
priority: 10 - (viewportCounts.get(t.viewport.width) || 0),
|
|
917
|
+
reason: 'rebalance-viewport-coverage',
|
|
918
|
+
}));
|
|
919
|
+
strategy = 'rebalance-viewport-coverage';
|
|
920
|
+
break;
|
|
909
921
|
}
|
|
910
|
-
prioritized.sort((a, b) => (viewportCounts.get(a.viewport.width) || 0) - (viewportCounts.get(b.viewport.width) || 0));
|
|
911
|
-
prioritized = prioritized.map((t) => ({
|
|
912
|
-
...t,
|
|
913
|
-
priority: 10 - (viewportCounts.get(t.viewport.width) || 0),
|
|
914
|
-
reason: 'rebalance-viewport-coverage',
|
|
915
|
-
}));
|
|
916
|
-
strategy = 'rebalance-viewport-coverage';
|
|
917
|
-
break;
|
|
918
922
|
default:
|
|
919
923
|
break;
|
|
920
924
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Main Entry Point
|
|
3
|
-
* Domain-Driven Design Architecture with
|
|
3
|
+
* Domain-Driven Design Architecture with 13 Bounded Contexts
|
|
4
4
|
*/
|
|
5
5
|
export * from './shared/types';
|
|
6
6
|
export * from './shared/value-objects';
|
|
@@ -28,7 +28,7 @@ export type { TopologyType, AgentNode, CommunicationEdge, SwarmTopology, AgentHe
|
|
|
28
28
|
export { SwarmSkillValidator, createSwarmSkillValidator, DEFAULT_SWARM_VALIDATION_CONFIG, P0_SKILLS, DEFAULT_VALIDATION_MODELS, TriggerOptimizer, createTriggerOptimizer, parseSkillFrontmatter, VersionComparator, createVersionComparator, } from './validation';
|
|
29
29
|
export type { SwarmValidationConfig, SwarmTopology as ValidationSwarmTopology, SwarmValidationResult, SwarmValidationSummary, SkillValidatorFn, SkillMetadata, TriggerAnalysisConfig, TriggerAnalysisResult, TriggerSuggestion, TriggerOptimizationReport, VersionComparisonConfig, SkillVersion, VersionComparisonResult, VersionResult, ComparisonStats, TestCaseComparison, } from './validation';
|
|
30
30
|
export declare const VERSION: string;
|
|
31
|
-
export declare const ARCHITECTURE = "DDD with
|
|
31
|
+
export declare const ARCHITECTURE = "DDD with 13 Bounded Contexts";
|
|
32
32
|
export declare const MAX_CONCURRENT_AGENTS = 15;
|
|
33
33
|
/**
|
|
34
34
|
* Quick start example:
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Main Entry Point
|
|
3
|
-
* Domain-Driven Design Architecture with
|
|
3
|
+
* Domain-Driven Design Architecture with 13 Bounded Contexts
|
|
4
4
|
*/
|
|
5
5
|
import { createRequire } from 'module';
|
|
6
6
|
// Read version from package.json dynamically
|
|
@@ -79,7 +79,7 @@ TriggerOptimizer, createTriggerOptimizer, parseSkillFrontmatter,
|
|
|
79
79
|
VersionComparator, createVersionComparator, } from './validation';
|
|
80
80
|
// Version info - read from package.json
|
|
81
81
|
export const VERSION = pkg.version;
|
|
82
|
-
export const ARCHITECTURE = 'DDD with
|
|
82
|
+
export const ARCHITECTURE = 'DDD with 13 Bounded Contexts';
|
|
83
83
|
export const MAX_CONCURRENT_AGENTS = 15;
|
|
84
84
|
/**
|
|
85
85
|
* Quick start example:
|
|
@@ -179,7 +179,7 @@ export class VerificationPhase extends BasePhase {
|
|
|
179
179
|
continue;
|
|
180
180
|
}
|
|
181
181
|
// Second-level key (2-space indent)
|
|
182
|
-
const subMatch = line.match(/^
|
|
182
|
+
const subMatch = line.match(/^ {2}(\w+):\s*(.*)$/);
|
|
183
183
|
if (subMatch && currentSection) {
|
|
184
184
|
currentSubSection = subMatch[1];
|
|
185
185
|
const value = subMatch[2].trim();
|
|
@@ -196,7 +196,7 @@ export class VerificationPhase extends BasePhase {
|
|
|
196
196
|
}
|
|
197
197
|
// Third-level key (4-space indent)
|
|
198
198
|
// Use [\w-]+ to match hyphenated keys like "pattern-consolidator"
|
|
199
|
-
const thirdMatch = line.match(/^
|
|
199
|
+
const thirdMatch = line.match(/^ {4}([\w-]+):\s*(.*)$/);
|
|
200
200
|
if (thirdMatch && currentSection && currentSubSection) {
|
|
201
201
|
const key = thirdMatch[1];
|
|
202
202
|
const value = thirdMatch[2].trim();
|
|
@@ -210,7 +210,7 @@ export class VerificationPhase extends BasePhase {
|
|
|
210
210
|
continue;
|
|
211
211
|
}
|
|
212
212
|
// Array item (4-space indent with dash)
|
|
213
|
-
const arrayMatch = line.match(/^
|
|
213
|
+
const arrayMatch = line.match(/^ {4}- "?([^"]*)"?$/);
|
|
214
214
|
if (arrayMatch && currentSection && currentSubSection) {
|
|
215
215
|
const section = result[currentSection];
|
|
216
216
|
if (!Array.isArray(section[currentSubSection])) {
|
|
@@ -375,7 +375,7 @@ export class ModelRouter {
|
|
|
375
375
|
// Step 2: Analyze complexity
|
|
376
376
|
const complexityAnalysis = await this.complexityAnalyzer.analyze(input);
|
|
377
377
|
// Step 3: Get recommended tier from complexity
|
|
378
|
-
|
|
378
|
+
const recommendedTier = complexityAnalysis.recommendedTier;
|
|
379
379
|
// Step 4: Estimate cost for this tier
|
|
380
380
|
const estimatedCostUsd = this.estimateCost(recommendedTier, input.task.length);
|
|
381
381
|
// Step 5: Check budget
|
|
@@ -208,17 +208,21 @@ export class EmbeddingGenerator {
|
|
|
208
208
|
return new Float32Array(vector.map((v) => Math.fround(v)));
|
|
209
209
|
case 'int8':
|
|
210
210
|
// Quantize to int8 range [-128, 127]
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
{
|
|
212
|
+
const max = Math.max(...vector.map(Math.abs));
|
|
213
|
+
return new Int8Array(vector.map((v) => Math.round((v / max) * 127)));
|
|
214
|
+
}
|
|
213
215
|
case 'binary':
|
|
214
216
|
// Binary quantization (sign bit only)
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
{
|
|
218
|
+
const binaryBytes = new Uint8Array(Math.ceil(vector.length / 8));
|
|
219
|
+
for (let i = 0; i < vector.length; i++) {
|
|
220
|
+
if (vector[i] >= 0) {
|
|
221
|
+
binaryBytes[Math.floor(i / 8)] |= 1 << (i % 8);
|
|
222
|
+
}
|
|
219
223
|
}
|
|
224
|
+
return binaryBytes;
|
|
220
225
|
}
|
|
221
|
-
return binaryBytes;
|
|
222
226
|
case 'none':
|
|
223
227
|
default:
|
|
224
228
|
return vector;
|
|
@@ -657,8 +657,8 @@ export class HypergraphEngine {
|
|
|
657
657
|
const startTime = Date.now();
|
|
658
658
|
let nodesSynced = 0;
|
|
659
659
|
let edgesSynced = 0;
|
|
660
|
-
|
|
661
|
-
|
|
660
|
+
const nodesAdded = 0;
|
|
661
|
+
const nodesRemoved = 0;
|
|
662
662
|
// Get all nodes from hypergraph
|
|
663
663
|
const hgNodes = await this.findNodes({});
|
|
664
664
|
for (const node of hgNodes) {
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @module integrations/ruvector/shared-rvf-adapter
|
|
12
12
|
*/
|
|
13
|
+
// Issue #516: lightweight, sqlite-free project-root resolver (static import so it
|
|
14
|
+
// resolves under the test runner; avoids pulling unified-memory's sqlite graph).
|
|
15
|
+
import { findProjectRoot } from '../../kernel/project-root.js';
|
|
13
16
|
let sharedAdapter = null;
|
|
14
17
|
let initAttempted = false;
|
|
15
18
|
// ---------------------------------------------------------------------------
|
|
@@ -62,7 +65,15 @@ export function getSharedRvfAdapter(dataDir = '.agentic-qe', dimensions = 384) {
|
|
|
62
65
|
}
|
|
63
66
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
64
67
|
const path = require('path');
|
|
65
|
-
|
|
68
|
+
// Issue #516: resolve a relative dataDir against the project root so the
|
|
69
|
+
// store lands in the project's own .agentic-qe/, not a cwd-relative one.
|
|
70
|
+
// A subfolder cwd (vendored builds, background workers, `aqe code index
|
|
71
|
+
// docs/`) otherwise scatters stray patterns.rvf-only stores. Explicit
|
|
72
|
+
// absolute dataDir args are honored as-is.
|
|
73
|
+
const baseDir = path.isAbsolute(dataDir)
|
|
74
|
+
? dataDir
|
|
75
|
+
: path.join(process.env.AQE_PROJECT_ROOT ?? findProjectRoot(), dataDir);
|
|
76
|
+
const rvfPath = path.join(baseDir, 'patterns.rvf');
|
|
66
77
|
// Open-or-create with a try-ladder rather than `existsSync` gate.
|
|
67
78
|
// Reasons:
|
|
68
79
|
// 1. RVF native's `RvfDatabase.create()` throws `0x0303 FsyncFailed`
|
|
@@ -56,16 +56,20 @@ export async function getSharedRvfDualWriter() {
|
|
|
56
56
|
return null;
|
|
57
57
|
}
|
|
58
58
|
// Get DB handle from unified memory
|
|
59
|
-
const { getUnifiedMemory } = await import('../../kernel/unified-memory.js');
|
|
59
|
+
const { getUnifiedMemory, findProjectRoot } = await import('../../kernel/unified-memory.js');
|
|
60
60
|
const unifiedMemory = getUnifiedMemory();
|
|
61
61
|
const db = unifiedMemory.getDatabase();
|
|
62
62
|
if (!db) {
|
|
63
63
|
return null;
|
|
64
64
|
}
|
|
65
|
+
// Issue #516: anchor brain.rvf to the project root rather than a
|
|
66
|
+
// cwd-relative path, so a subfolder cwd doesn't scatter a stray store.
|
|
67
|
+
const { join: joinPath } = await import('node:path');
|
|
68
|
+
const rvfPath = joinPath(process.env.AQE_PROJECT_ROOT ?? findProjectRoot(), '.agentic-qe', 'brain.rvf');
|
|
65
69
|
// Create dual-writer (dynamic import to avoid bundling .node files)
|
|
66
70
|
const { RvfDualWriter: DualWriterClass } = await import('./rvf-dual-writer.js');
|
|
67
71
|
const writer = new DualWriterClass(db, {
|
|
68
|
-
rvfPath
|
|
72
|
+
rvfPath,
|
|
69
73
|
mode: 'dual-write',
|
|
70
74
|
dimensions: 384,
|
|
71
75
|
});
|
|
@@ -114,7 +114,7 @@ export function approximateFiedlerValue(adjacency, n, maxIter = 100, tol = 1e-6)
|
|
|
114
114
|
// The trivial eigenvector of L: normalized all-ones
|
|
115
115
|
const trivial = new Float64Array(n).fill(1 / Math.sqrt(n));
|
|
116
116
|
// First, estimate lambda_max using a few power iterations on L
|
|
117
|
-
|
|
117
|
+
const maxVec = new Float64Array(n);
|
|
118
118
|
for (let i = 0; i < n; i++)
|
|
119
119
|
maxVec[i] = Math.random() - 0.5;
|
|
120
120
|
deflateVector(maxVec, trivial);
|
|
@@ -134,7 +134,7 @@ export function approximateFiedlerValue(adjacency, n, maxIter = 100, tol = 1e-6)
|
|
|
134
134
|
// Now use power iteration on (lambdaMax * I - L) to find the
|
|
135
135
|
// eigenvector corresponding to the LARGEST eigenvalue of (lambdaMax*I - L),
|
|
136
136
|
// which corresponds to the SMALLEST non-trivial eigenvalue of L.
|
|
137
|
-
|
|
137
|
+
const v = new Float64Array(n);
|
|
138
138
|
for (let i = 0; i < n; i++)
|
|
139
139
|
v[i] = Math.random() - 0.5;
|
|
140
140
|
deflateVector(v, trivial);
|
|
@@ -276,7 +276,7 @@ export class SpectralSparsifier {
|
|
|
276
276
|
// Use a different pattern for each deflation round to avoid
|
|
277
277
|
// starting in the null-space of the deflated matrix
|
|
278
278
|
const round = previousEigenvectors.length;
|
|
279
|
-
|
|
279
|
+
const v = new Array(n);
|
|
280
280
|
for (let i = 0; i < n; i++) {
|
|
281
281
|
v[i] = Math.sin((i + 1) * (round + 1) * 1.618033988749895) + 0.1 * (i - n / 2);
|
|
282
282
|
}
|
package/dist/kernel/kernel.js
CHANGED
|
@@ -566,7 +566,7 @@ export class QEKernelImpl {
|
|
|
566
566
|
const activeCount = this._coordinator.getActiveCount();
|
|
567
567
|
// Get memory stats - handle both backend types
|
|
568
568
|
let memUsed = 0;
|
|
569
|
-
|
|
569
|
+
const memAvailable = Number.MAX_SAFE_INTEGER;
|
|
570
570
|
if (this._memory instanceof InMemoryBackend) {
|
|
571
571
|
const memStats = this._memory.getStats();
|
|
572
572
|
memUsed = memStats.entries + memStats.vectors;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Root Detection
|
|
3
|
+
*
|
|
4
|
+
* Lightweight, dependency-free resolution of the AQE project root. Kept in its
|
|
5
|
+
* own module (no SQLite / kernel imports) so hot paths — e.g. the RVF pattern
|
|
6
|
+
* store factory — can import it statically without dragging in the sqlite-heavy
|
|
7
|
+
* unified-memory graph, and so it resolves cleanly under the test runner.
|
|
8
|
+
*
|
|
9
|
+
* `unified-memory` re-exports `findProjectRoot` / `clearProjectRootCache` for
|
|
10
|
+
* backward compatibility, so existing import sites keep working.
|
|
11
|
+
*
|
|
12
|
+
* @module kernel/project-root
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Clear the cached project root. Useful for testing or when the
|
|
16
|
+
* environment changes at runtime.
|
|
17
|
+
*/
|
|
18
|
+
export declare function clearProjectRootCache(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Find the project root by walking up the directory tree.
|
|
21
|
+
*
|
|
22
|
+
* Priority order:
|
|
23
|
+
* 1. AQE_PROJECT_ROOT environment variable (set by MCP config or init)
|
|
24
|
+
* 2. Walk up looking for the NEAREST .agentic-qe directory (existing AQE project)
|
|
25
|
+
* 3. Walk up looking for .git directory (git repo root)
|
|
26
|
+
* 4. Walk up looking for package.json WITHOUT node_modules sibling (monorepo root)
|
|
27
|
+
* 5. Fallback to current working directory
|
|
28
|
+
*
|
|
29
|
+
* Optimized: single upward walk checks all markers in one pass,
|
|
30
|
+
* and the result is cached at module level for subsequent calls.
|
|
31
|
+
*/
|
|
32
|
+
export declare function findProjectRoot(startDir?: string): string;
|
|
33
|
+
//# sourceMappingURL=project-root.d.ts.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Root Detection
|
|
3
|
+
*
|
|
4
|
+
* Lightweight, dependency-free resolution of the AQE project root. Kept in its
|
|
5
|
+
* own module (no SQLite / kernel imports) so hot paths — e.g. the RVF pattern
|
|
6
|
+
* store factory — can import it statically without dragging in the sqlite-heavy
|
|
7
|
+
* unified-memory graph, and so it resolves cleanly under the test runner.
|
|
8
|
+
*
|
|
9
|
+
* `unified-memory` re-exports `findProjectRoot` / `clearProjectRootCache` for
|
|
10
|
+
* backward compatibility, so existing import sites keep working.
|
|
11
|
+
*
|
|
12
|
+
* @module kernel/project-root
|
|
13
|
+
*/
|
|
14
|
+
import * as fs from 'fs';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
/** Module-level cache for findProjectRoot result. */
|
|
17
|
+
let _cachedProjectRoot = null;
|
|
18
|
+
/**
|
|
19
|
+
* Clear the cached project root. Useful for testing or when the
|
|
20
|
+
* environment changes at runtime.
|
|
21
|
+
*/
|
|
22
|
+
export function clearProjectRootCache() {
|
|
23
|
+
_cachedProjectRoot = null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Find the project root by walking up the directory tree.
|
|
27
|
+
*
|
|
28
|
+
* Priority order:
|
|
29
|
+
* 1. AQE_PROJECT_ROOT environment variable (set by MCP config or init)
|
|
30
|
+
* 2. Walk up looking for the NEAREST .agentic-qe directory (existing AQE project)
|
|
31
|
+
* 3. Walk up looking for .git directory (git repo root)
|
|
32
|
+
* 4. Walk up looking for package.json WITHOUT node_modules sibling (monorepo root)
|
|
33
|
+
* 5. Fallback to current working directory
|
|
34
|
+
*
|
|
35
|
+
* Optimized: single upward walk checks all markers in one pass,
|
|
36
|
+
* and the result is cached at module level for subsequent calls.
|
|
37
|
+
*/
|
|
38
|
+
export function findProjectRoot(startDir = process.cwd()) {
|
|
39
|
+
if (_cachedProjectRoot) {
|
|
40
|
+
return _cachedProjectRoot;
|
|
41
|
+
}
|
|
42
|
+
if (process.env.AQE_PROJECT_ROOT) {
|
|
43
|
+
_cachedProjectRoot = process.env.AQE_PROJECT_ROOT;
|
|
44
|
+
return _cachedProjectRoot;
|
|
45
|
+
}
|
|
46
|
+
const dir = startDir;
|
|
47
|
+
const root = path.parse(dir).root;
|
|
48
|
+
let checkDir = dir;
|
|
49
|
+
let nearestAqeDir = null;
|
|
50
|
+
let lowestGitDir = null;
|
|
51
|
+
let topmostPackageJson = null;
|
|
52
|
+
while (checkDir !== root) {
|
|
53
|
+
// Issue #516: prefer the NEAREST (lowest) .agentic-qe, mirroring the
|
|
54
|
+
// .git logic below. Keeping the topmost match let an ancestor store
|
|
55
|
+
// (e.g. ~/.agentic-qe, created by any `aqe` run from $HOME) hijack
|
|
56
|
+
// every descendant project and fragment its learning into $HOME.
|
|
57
|
+
if (fs.existsSync(path.join(checkDir, '.agentic-qe'))) {
|
|
58
|
+
if (nearestAqeDir === null) {
|
|
59
|
+
nearestAqeDir = checkDir;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (fs.existsSync(path.join(checkDir, '.git'))) {
|
|
63
|
+
if (lowestGitDir === null) {
|
|
64
|
+
lowestGitDir = checkDir;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (fs.existsSync(path.join(checkDir, 'package.json'))) {
|
|
68
|
+
topmostPackageJson = checkDir;
|
|
69
|
+
}
|
|
70
|
+
checkDir = path.dirname(checkDir);
|
|
71
|
+
}
|
|
72
|
+
if (nearestAqeDir) {
|
|
73
|
+
_cachedProjectRoot = nearestAqeDir;
|
|
74
|
+
}
|
|
75
|
+
else if (lowestGitDir) {
|
|
76
|
+
_cachedProjectRoot = lowestGitDir;
|
|
77
|
+
}
|
|
78
|
+
else if (topmostPackageJson) {
|
|
79
|
+
_cachedProjectRoot = topmostPackageJson;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
_cachedProjectRoot = process.cwd();
|
|
83
|
+
}
|
|
84
|
+
return _cachedProjectRoot;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=project-root.js.map
|
|
@@ -25,25 +25,8 @@ import { type Database as DatabaseType, type Statement } from 'better-sqlite3';
|
|
|
25
25
|
export { validateTableName, ALLOWED_TABLE_NAMES } from '../shared/sql-safety.js';
|
|
26
26
|
export { BinaryHeap, UnifiedHnswIndex, createHnswIndex } from './unified-memory-hnsw.js';
|
|
27
27
|
import { type CRDTStore, type CRDTStoreState, type CRDTStoreDelta } from '../memory/crdt/index.js';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* environment changes at runtime.
|
|
31
|
-
*/
|
|
32
|
-
export declare function clearProjectRootCache(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Find the project root by walking up the directory tree.
|
|
35
|
-
*
|
|
36
|
-
* Priority order:
|
|
37
|
-
* 1. AQE_PROJECT_ROOT environment variable (set by MCP config or init)
|
|
38
|
-
* 2. Walk up looking for .agentic-qe directory (existing AQE project)
|
|
39
|
-
* 3. Walk up looking for .git directory (git repo root)
|
|
40
|
-
* 4. Walk up looking for package.json WITHOUT node_modules sibling (monorepo root)
|
|
41
|
-
* 5. Fallback to current working directory
|
|
42
|
-
*
|
|
43
|
-
* Optimized: single upward walk checks all markers in one pass,
|
|
44
|
-
* and the result is cached at module level for subsequent calls.
|
|
45
|
-
*/
|
|
46
|
-
export declare function findProjectRoot(startDir?: string): string;
|
|
28
|
+
import { findProjectRoot, clearProjectRootCache } from './project-root.js';
|
|
29
|
+
export { findProjectRoot, clearProjectRootCache };
|
|
47
30
|
/**
|
|
48
31
|
* Get the default database path using project root detection.
|
|
49
32
|
* Always resolves to {project_root}/.agentic-qe/memory.db
|