agentic-qe 3.10.8 → 3.10.9
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 +37 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-TRSV37EA.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-4JSL6LF6.js → agent-booster-wasm-RPAOJXZ3.js} +2 -2
- package/dist/cli/chunks/{agent-handler-6YOFH7KL.js → agent-handler-SMD5CAS6.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-O3IBK4BY.js → agent-memory-branch-3IOQIQ7Y.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-CVJRJOSO.js +2 -0
- package/dist/cli/chunks/{arena-KLGRZTTU.js → arena-AP2J62WO.js} +4 -4
- package/dist/cli/chunks/{arena-BLCAZNAY.js → arena-GT3D6EAO.js} +2 -2
- package/dist/cli/chunks/{audit-FKKLR22S.js → audit-Q3GJ5354.js} +2 -2
- package/dist/cli/chunks/base-BX4A2D4V.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-PNPV64M3.js → better-sqlite3-6A6EAXAT.js} +2 -2
- package/dist/cli/chunks/{brain-handler-YTGYC2QW.js → brain-handler-2Z4ILQF3.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-KIIBEJ5S.js → branch-enumerator-EZWGL4UM.js} +2 -2
- package/dist/cli/chunks/{browser-7YZLTV2C.js → browser-YZELFPLJ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-O3RL7EYT.js +2 -0
- package/dist/cli/chunks/{chunk-DDMKCHYT.js → chunk-246Z3PH6.js} +2 -2
- package/dist/cli/chunks/{chunk-DI7REPYC.js → chunk-2I5QLMQF.js} +2 -2
- package/dist/cli/chunks/{chunk-D7IH2A3C.js → chunk-2K2X75UF.js} +2 -2
- package/dist/cli/chunks/{chunk-Y4XTPEAC.js → chunk-2WRVNEIR.js} +2 -2
- package/dist/cli/chunks/{chunk-FXPAGKVS.js → chunk-2WSEJHFQ.js} +1 -1
- package/dist/cli/chunks/{chunk-JQBD4JO2.js → chunk-352W5G4G.js} +2 -2
- package/dist/cli/chunks/{chunk-OZDRAKFF.js → chunk-3HT4CT6F.js} +2 -2
- package/dist/cli/chunks/{chunk-KTEWRRDZ.js → chunk-3YKJGKOY.js} +4 -4
- package/dist/cli/chunks/{chunk-4G2GTX2V.js → chunk-42FBJF73.js} +1 -1
- package/dist/cli/chunks/{chunk-MSWBVPVQ.js → chunk-4BB75U6N.js} +2 -2
- package/dist/cli/chunks/{chunk-77BVW2CT.js → chunk-4D3LVXUD.js} +2 -2
- package/dist/cli/chunks/{chunk-RXWPYY6H.js → chunk-4EJTE5TL.js} +1 -1
- package/dist/cli/chunks/{chunk-CP4CSI5R.js → chunk-4MUZGQPE.js} +2 -2
- package/dist/cli/chunks/{chunk-CCUUTTTJ.js → chunk-57XCLC55.js} +2 -2
- package/dist/cli/chunks/{chunk-ZSMHQENA.js → chunk-5HLOQEKL.js} +1 -1
- package/dist/cli/chunks/{chunk-MTWBYHMS.js → chunk-5U5SEO7C.js} +2 -2
- package/dist/cli/chunks/{chunk-FWQZZ22V.js → chunk-5X73HV2P.js} +1 -1
- package/dist/cli/chunks/{chunk-YUK4KU2B.js → chunk-62MH7QAQ.js} +2 -2
- package/dist/cli/chunks/{chunk-WKLI5Z3L.js → chunk-6HPI6YX3.js} +2 -2
- package/dist/cli/chunks/{chunk-6B3COND2.js → chunk-6TR3OM7C.js} +2 -2
- package/dist/cli/chunks/{chunk-Z57UERQZ.js → chunk-757YHKIJ.js} +2 -2
- package/dist/cli/chunks/{chunk-HEC2UWY3.js → chunk-7C5HI4ZA.js} +4 -4
- package/dist/cli/chunks/{chunk-O75ODKCX.js → chunk-7D5JE46U.js} +2 -2
- package/dist/cli/chunks/{chunk-7NKVEEXD.js → chunk-7NT34MLU.js} +1 -1
- package/dist/cli/chunks/{chunk-LZVKR7HV.js → chunk-7PYEJ4NV.js} +2 -2
- package/dist/cli/chunks/{chunk-PG7KISET.js → chunk-7S6D5K4X.js} +2 -2
- package/dist/cli/chunks/{chunk-SDGRU6SG.js → chunk-ABJPFKHE.js} +1 -1
- package/dist/cli/chunks/{chunk-4AG2TQEF.js → chunk-ABVBHH7P.js} +3 -3
- package/dist/cli/chunks/{chunk-ALFF4AAM.js → chunk-AHUX7QSE.js} +2 -2
- package/dist/cli/chunks/{chunk-54PBHRRW.js → chunk-AU4DQMLJ.js} +4 -4
- package/dist/cli/chunks/{chunk-HWJEHXPQ.js → chunk-BG2FN5K2.js} +2 -2
- package/dist/cli/chunks/{chunk-SSRMFU4P.js → chunk-BM52ZEAD.js} +2 -2
- package/dist/cli/chunks/{chunk-LJEO5R32.js → chunk-BSMUT672.js} +2 -2
- package/dist/cli/chunks/{chunk-NL4EKO2J.js → chunk-BVEQPMOF.js} +2 -2
- package/dist/cli/chunks/{chunk-PTPGYUT2.js → chunk-BYVARYGB.js} +2 -2
- package/dist/cli/chunks/{chunk-UU422SST.js → chunk-C6GQIUKW.js} +2 -2
- package/dist/cli/chunks/{chunk-LBR5FXPD.js → chunk-C6JULAWA.js} +2 -2
- package/dist/cli/chunks/{chunk-XNFYQRJ2.js → chunk-CDJIYJIA.js} +1 -1
- package/dist/cli/chunks/{chunk-2UL4UK6V.js → chunk-CLJNAQXB.js} +2 -2
- package/dist/cli/chunks/{chunk-X4CHPEOQ.js → chunk-CLSHSVMY.js} +1 -1
- package/dist/cli/chunks/{chunk-SDVL5TZK.js → chunk-CREORFJV.js} +1 -1
- package/dist/cli/chunks/{chunk-T2Z3M6HA.js → chunk-CVRTXIYP.js} +1 -1
- package/dist/cli/chunks/{chunk-OIU6PKLF.js → chunk-CWRSQQHV.js} +2 -2
- package/dist/cli/chunks/{chunk-S6PGWJDK.js → chunk-D2JCSWYM.js} +2 -2
- package/dist/cli/chunks/{chunk-4OHLPG6B.js → chunk-D7NWDUY3.js} +2 -2
- package/dist/cli/chunks/{chunk-ON6C2OYG.js → chunk-DK6WWNCL.js} +2 -2
- package/dist/cli/chunks/{chunk-LCDMB5SP.js → chunk-DNE6MVNA.js} +1 -1
- package/dist/cli/chunks/{chunk-X3NEQ3SL.js → chunk-DZWZASDV.js} +1 -1
- package/dist/cli/chunks/{chunk-RNJRKFMX.js → chunk-EL6F72JN.js} +2 -2
- package/dist/cli/chunks/{chunk-XLQX77KP.js → chunk-EYGRNXQT.js} +1 -1
- package/dist/cli/chunks/{chunk-DNEYBK7X.js → chunk-FALB6Z2Y.js} +1 -1
- package/dist/cli/chunks/{chunk-PRYSWF6F.js → chunk-FD37QFXW.js} +1 -1
- package/dist/cli/chunks/{chunk-K5Y64X2U.js → chunk-G4KVGUQN.js} +2 -2
- package/dist/cli/chunks/{chunk-QNNH5TDV.js → chunk-G7V2HDTH.js} +3 -3
- package/dist/cli/chunks/{chunk-WYAHOUK2.js → chunk-GPALZJD3.js} +1 -1
- package/dist/cli/chunks/{chunk-AGQIJWAD.js → chunk-H4SHHYRD.js} +2 -2
- package/dist/cli/chunks/{chunk-Q32LITZL.js → chunk-H7AQ7M3J.js} +1 -1
- package/dist/cli/chunks/{chunk-GDHJZPNC.js → chunk-HAC7NB6R.js} +2 -2
- package/dist/cli/chunks/{chunk-YMJ5AVVU.js → chunk-HGKZOSAI.js} +1 -1
- package/dist/cli/chunks/{chunk-VKLPSPPI.js → chunk-HQZX4XYH.js} +2 -2
- package/dist/cli/chunks/{chunk-4B676LUC.js → chunk-HZSYCVLC.js} +2 -2
- package/dist/cli/chunks/{chunk-YQYTQRTR.js → chunk-I5C7O5IQ.js} +2 -2
- package/dist/cli/chunks/{chunk-7LHN6WBX.js → chunk-I7RTTJH5.js} +2 -2
- package/dist/cli/chunks/{chunk-OK6CSJOX.js → chunk-ILPIH4Z6.js} +1 -1
- package/dist/cli/chunks/{chunk-6R6RC6YJ.js → chunk-IR7PJUO7.js} +2 -2
- package/dist/cli/chunks/{chunk-BALWMVCX.js → chunk-J6GKKXCP.js} +2 -2
- package/dist/cli/chunks/{chunk-34LWJDCM.js → chunk-JZNMU63B.js} +2 -2
- package/dist/cli/chunks/{chunk-C6TUX7YJ.js → chunk-K23XK33X.js} +2 -2
- package/dist/cli/chunks/{chunk-GHIHW3IE.js → chunk-KAMFT25W.js} +2 -2
- package/dist/cli/chunks/{chunk-OV3ESWN4.js → chunk-KJA5A3TV.js} +2 -2
- package/dist/cli/chunks/{chunk-HE3KLHNO.js → chunk-KRAWWBX5.js} +2 -2
- package/dist/cli/chunks/{chunk-LT4OZHMK.js → chunk-L5IO7QNO.js} +2 -2
- package/dist/cli/chunks/{chunk-OLOKPY5O.js → chunk-L5NEEGKO.js} +2 -2
- package/dist/cli/chunks/{chunk-IFQPGBKQ.js → chunk-LHKQW72O.js} +1 -1
- package/dist/cli/chunks/{chunk-6B32USSC.js → chunk-LT6QHDPK.js} +2 -2
- package/dist/cli/chunks/{chunk-B3B5QZYN.js → chunk-MDED3HJI.js} +2 -2
- package/dist/cli/chunks/{chunk-FPEFIJQ6.js → chunk-NLUWPS2H.js} +3 -3
- package/dist/cli/chunks/{chunk-Q7B7T4YK.js → chunk-NMQEU4BG.js} +2 -2
- package/dist/cli/chunks/{chunk-4IGSL7CX.js → chunk-NOWGQ6YZ.js} +1 -1
- package/dist/cli/chunks/{chunk-M5PBVK3V.js → chunk-NYBAH76S.js} +3 -3
- package/dist/cli/chunks/{chunk-LIOK7WBX.js → chunk-O36VC7B7.js} +2 -2
- package/dist/cli/chunks/{chunk-WDZT344G.js → chunk-OD4OIPXO.js} +15 -13
- package/dist/cli/chunks/{chunk-JZYXYHEE.js → chunk-OF3EMOWN.js} +2 -2
- package/dist/cli/chunks/{chunk-2F4VRCT6.js → chunk-OIN3Y4BY.js} +1 -1
- package/dist/cli/chunks/chunk-OPKEQYAC.js +2 -0
- package/dist/cli/chunks/{chunk-XYXRO7VP.js → chunk-OQUH7657.js} +2 -2
- package/dist/cli/chunks/{chunk-R2LWUBET.js → chunk-OSP5AJAB.js} +2 -2
- package/dist/cli/chunks/{chunk-XPAH7SEX.js → chunk-PFGH7TWL.js} +2 -2
- package/dist/cli/chunks/{chunk-DNC27OP7.js → chunk-PYQZ4OA3.js} +2 -2
- package/dist/cli/chunks/{chunk-5KUINS3D.js → chunk-QAP5S7YC.js} +3 -3
- package/dist/cli/chunks/{chunk-XKIVOADM.js → chunk-QE3CZGAC.js} +3 -3
- package/dist/cli/chunks/{chunk-NKKDO5W4.js → chunk-QFIKEZB5.js} +2 -2
- package/dist/cli/chunks/{chunk-5GPOSKGP.js → chunk-QHICG2NI.js} +2 -2
- package/dist/cli/chunks/{chunk-HVE3EH36.js → chunk-QHPLU5BU.js} +3 -3
- package/dist/cli/chunks/{chunk-XRJH5KXF.js → chunk-QL6ZJ7RV.js} +2 -2
- package/dist/cli/chunks/{chunk-3AG2MM7U.js → chunk-QL7OOCPO.js} +2 -2
- package/dist/cli/chunks/{chunk-NFZY6ZVY.js → chunk-QWXJRZEH.js} +1 -1
- package/dist/cli/chunks/{chunk-E5GUTKET.js → chunk-R2M3RMCN.js} +2 -2
- package/dist/cli/chunks/{chunk-2KP5TJS2.js → chunk-RHOBDQXA.js} +2 -2
- package/dist/cli/chunks/{chunk-HVFHPDXV.js → chunk-RRSJ7BMF.js} +1 -1
- package/dist/cli/chunks/{chunk-KTBBSOZG.js → chunk-RSWQY4NZ.js} +2 -2
- package/dist/cli/chunks/{chunk-JITZAJJN.js → chunk-S73EBPI5.js} +2 -2
- package/dist/cli/chunks/{chunk-CO6UY7ZU.js → chunk-TIR3Z6TE.js} +1 -1
- package/dist/cli/chunks/{chunk-474ZUVGP.js → chunk-TKZABUHO.js} +1 -1
- package/dist/cli/chunks/{chunk-2RDWYJJY.js → chunk-TOGD2JH2.js} +2 -2
- package/dist/cli/chunks/{chunk-33CLP2NE.js → chunk-TVU6NMO3.js} +3 -3
- package/dist/cli/chunks/{chunk-BMSMDD72.js → chunk-TXWUV3S5.js} +2 -2
- package/dist/cli/chunks/{chunk-VM5C4DIV.js → chunk-U6TZVACK.js} +2 -2
- package/dist/cli/chunks/{chunk-KWKGROPS.js → chunk-UJBIHPU5.js} +1 -1
- package/dist/cli/chunks/{chunk-JFTRHS5V.js → chunk-UPGKS6Z3.js} +2 -2
- package/dist/cli/chunks/{chunk-H35FNLQJ.js → chunk-UU7OCRZM.js} +2 -2
- package/dist/cli/chunks/{chunk-MWAEUJDC.js → chunk-UUA2NVUN.js} +8 -8
- package/dist/cli/chunks/{chunk-NWIKNQLJ.js → chunk-UX4UHYLE.js} +1 -1
- package/dist/cli/chunks/{chunk-Z4WAJ647.js → chunk-VDL277DX.js} +2 -2
- package/dist/cli/chunks/{chunk-VL4MSE3J.js → chunk-VHCHBMZC.js} +2 -2
- package/dist/cli/chunks/{chunk-G73PIM7X.js → chunk-VHYNRISI.js} +2 -2
- package/dist/cli/chunks/{chunk-TXLLF7XR.js → chunk-VIHFC67B.js} +1 -1
- package/dist/cli/chunks/{chunk-QHLENBGB.js → chunk-WOGWIMQK.js} +2 -2
- package/dist/cli/chunks/{chunk-H73AA2JI.js → chunk-WPBVLIWQ.js} +10 -10
- package/dist/cli/chunks/{chunk-CHPL7TA4.js → chunk-WWGGL3TR.js} +1 -1
- package/dist/cli/chunks/{chunk-D7ZVIL3C.js → chunk-X6YUGKMM.js} +1 -1
- package/dist/cli/chunks/{chunk-G2J7WGOG.js → chunk-X7677BX3.js} +2 -2
- package/dist/cli/chunks/{chunk-GXKCRIHK.js → chunk-XEMP2PNW.js} +2 -2
- package/dist/cli/chunks/{chunk-Z7FWPSOK.js → chunk-XLK4GP3I.js} +2 -2
- package/dist/cli/chunks/{chunk-YATW2RWQ.js → chunk-XYRJL7YN.js} +2 -2
- package/dist/cli/chunks/{chunk-W72CUJRB.js → chunk-YB3PQ3UV.js} +1 -1
- package/dist/cli/chunks/{chunk-QHGHWATK.js → chunk-YHFCLJMY.js} +1 -1
- package/dist/cli/chunks/{chunk-CDNXXNQM.js → chunk-YQBL5XTM.js} +1 -1
- package/dist/cli/chunks/chunk-Z6FRNWQA.js +6 -0
- package/dist/cli/chunks/{chunk-NOP5ZJ7E.js → chunk-ZT2DGSIO.js} +2 -2
- package/dist/cli/chunks/{chunk-DPSLJ6IW.js → chunk-ZVF7QY4R.js} +1 -1
- package/dist/cli/chunks/{ci-2G4BBIQD.js → ci-KDEFR2X3.js} +2 -2
- package/dist/cli/chunks/{ci-output-SI3ME52L.js → ci-output-Z3WXRRFI.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-KTICF3EC.js → circuit-breaker-GS44DEW2.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-F44PULFU.js → claude-flow-setup-OHVMHAAH.js} +2 -2
- package/dist/cli/chunks/client-T263ZXVV.js +2 -0
- package/dist/cli/chunks/cline-installer-5TCF4MZD.js +4 -0
- package/dist/cli/chunks/{code-EDLIBN77.js → code-3KCGTG7Z.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-P4NBWGTV.js → code-index-extractor-LJBI54MZ.js} +2 -2
- package/dist/cli/chunks/codex-installer-IB62Z6LA.js +8 -0
- package/dist/cli/chunks/{completions-XPCXB5SR.js → completions-JDXX7KKB.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-LAL5RSB7.js → complexity-analyzer-6JVDXXXP.js} +2 -2
- package/dist/cli/chunks/continuedev-installer-PUB45QVR.js +15 -0
- package/dist/cli/chunks/copilot-installer-QWJ36P22.js +3 -0
- package/dist/cli/chunks/core-handlers-ODKKGCFK.js +2 -0
- package/dist/cli/chunks/{cost-tracker-EUJFKHGT.js → cost-tracker-J3KEJDL5.js} +2 -2
- package/dist/cli/chunks/{coverage-C75LPZYB.js → coverage-FWKRI2EY.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-APU725GC.js +2 -0
- package/dist/cli/chunks/cursor-installer-2HYCUCTH.js +3 -0
- package/dist/cli/chunks/{daemon-JR2MSTSK.js → daemon-BVP66DIZ.js} +4 -4
- package/dist/cli/chunks/{daemon-BPVBZZQO.js → daemon-G3DBRWDQ.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-I5H7DBNU.js → dag-attention-scheduler-2AQLNB4B.js} +2 -2
- package/dist/cli/chunks/{detect-O5TMML24.js → detect-RUM5SHNE.js} +2 -2
- package/dist/cli/chunks/{dist-node-MDZ6UQ3V.js → dist-node-GX7MJHFT.js} +2 -2
- package/dist/cli/chunks/{domain-handler-BGBTZETG.js → domain-handler-OFBGZ2U5.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-C2D2IEYV.js → domain-transfer-6CGRPRGR.js} +2 -2
- package/dist/cli/chunks/dream-PJ5GKY3J.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-UJREBJF5.js → embed-and-insert-pattern-MUOEVQX2.js} +2 -2
- package/dist/cli/chunks/{eval-BDD24HQC.js → eval-SJMG67DE.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-KLVXIIYH.js → experience-capture-middleware-ICKN6IXX.js} +3 -3
- package/dist/cli/chunks/{fast-paths-5HIKAQZ7.js → fast-paths-HXLBG3J4.js} +2 -2
- package/dist/cli/chunks/{feature-flags-YE5SJPDS.js → feature-flags-CRUB2ASU.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NM3S7OEW.js → feature-flags-JYZSSQJC.js} +2 -2
- package/dist/cli/chunks/{file-discovery-PWRQZNJQ.js → file-discovery-YHHC7NTJ.js} +2 -2
- package/dist/cli/chunks/{fleet-UIPKNQX3.js → fleet-2VGDL4YL.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-GWGKZRTO.js → gnn-wrapper-7ZAGD4S4.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-GQHJPNAY.js → heartbeat-handler-HAW3JRHN.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-4ZHUIW3Q.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-UVJJ6TTP.js +2 -0
- package/dist/cli/chunks/hnsw-index-K6HS34JZ.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-NE5JIRG3.js → hnsw-legacy-bridge-BO325POX.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-MROES2Y7.js → hnswlib-node-YTK7S7GL.js} +2 -2
- package/dist/cli/chunks/{hooks-3NBBUOB6.js → hooks-HKM3JTFQ.js} +10 -10
- package/dist/cli/chunks/hybrid-router-25S7OH2Y.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-6NRFVDV7.js → hypergraph-engine-LGLGHK6B.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-F3OOGTXF.js → hypergraph-handler-6QDVREZA.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-UP4RDMJH.js +2 -0
- package/dist/cli/chunks/{init-handler-DOTXTVUI.js → init-handler-XUQ7XHIE.js} +22 -21
- package/dist/cli/chunks/init-wizard-2PAJ3GEC.js +2 -0
- package/dist/cli/chunks/kernel-7WOQGMMT.js +2 -0
- package/dist/cli/chunks/kilocode-installer-6CEZLVIX.js +4 -0
- package/dist/cli/chunks/{kiro-installer-WBJDXY7Q.js → kiro-installer-6CJGATOS.js} +4 -4
- package/dist/cli/chunks/knowledge-graph-FN2AWHGR.js +2 -0
- package/dist/cli/chunks/{learning-BC5N4V3D.js → learning-EIYTYZJY.js} +3 -3
- package/dist/cli/chunks/{llm-router-T427WD6R.js → llm-router-J4CI7VHU.js} +4 -4
- package/dist/cli/chunks/llm-router-service-C3UPBAS3.js +2 -0
- package/dist/cli/chunks/{load-M6SL2O3M.js → load-CQPWGLQQ.js} +2 -2
- package/dist/cli/chunks/load-test-PQSGLDXJ.js +2 -0
- package/dist/cli/chunks/mcp-THOATWCO.js +2 -0
- package/dist/cli/chunks/{memory-FJAO3CSF.js → memory-NZHMHMRK.js} +5 -5
- package/dist/cli/chunks/memory-backend-6FR4RT5O.js +2 -0
- package/dist/cli/chunks/{memory-handlers-S3W6IQJL.js → memory-handlers-L2J54AQE.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-FYOVZ4OH.js → multi-model-executor-3P5E773H.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-APSBE4UR.js → opencode-installer-IRZMKSNG.js} +2 -2
- package/dist/cli/chunks/{orchestrator-LN53EQ45.js → orchestrator-UADLXTKP.js} +16 -16
- package/dist/cli/chunks/pattern-null-store-B2UX4NZY.js +2 -0
- package/dist/cli/chunks/{pipeline-BYWXY2NO.js → pipeline-QEH3XHXJ.js} +2 -2
- package/dist/cli/chunks/{platform-CZ774YPS.js → platform-NEZ3NXLT.js} +2 -2
- package/dist/cli/chunks/{plugin-72NXRX5Z.js → plugin-O33HR2VO.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-G4DE6YKJ.js → prime-radiant-advanced-wasm-MBUMFEX7.js} +2 -2
- package/dist/cli/chunks/protocol-executor-OQ6SL7SR.js +2 -0
- package/dist/cli/chunks/{protocol-handler-UH6CV63V.js → protocol-handler-L455UOUT.js} +2 -2
- package/dist/cli/chunks/{prove-V7FAT5HF.js → prove-3XA3SMAA.js} +2 -2
- package/dist/cli/chunks/provider-manager-DQWHW2RG.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-3JS2CZAE.js +2 -0
- package/dist/cli/chunks/{quality-N2K62FQM.js → quality-H6Z5JH5B.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-KXCWEM3Y.js +2 -0
- package/dist/cli/chunks/{real-embeddings-TKHUE2RL.js → real-embeddings-5DNJ4KEM.js} +2 -2
- package/dist/cli/chunks/roocode-installer-KHXKR2FK.js +4 -0
- package/dist/cli/chunks/router-OVLIKT55.js +2 -0
- package/dist/cli/chunks/routing-feedback-2BYCXNXX.js +2 -0
- package/dist/cli/chunks/{routing-handler-UUWD4IKG.js → routing-handler-WAMGESEM.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-B4WPTGCI.js → ruvector-commands-4J7XC6XY.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-MNRJGNIX.js → rvf-dual-writer-3PZEN6XN.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-P2RDBFA4.js → rvf-migration-adapter-OIUNRQSU.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-DFESZQSS.js → rvf-migration-coordinator-QZXDI4I5.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-YNUYOQ5C.js +2 -0
- package/dist/cli/chunks/safe-db-6TYYEU7C.js +2 -0
- package/dist/cli/chunks/schedule-XVH7RTVY.js +2 -0
- package/dist/cli/chunks/scheduler-DHZBN5HA.js +2 -0
- package/dist/cli/chunks/{security-MHLTNKFX.js → security-5NY77AMD.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-LR7E2EQI.js → shared-rvf-adapter-MHPUZIMW.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-RFFON2F3.js → shared-rvf-dual-writer-ITLDYHCX.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-NR5WXTPN.js +2 -0
- package/dist/cli/chunks/{status-handler-ROPTYGQC.js → status-handler-7RBRIXZD.js} +2 -2
- package/dist/cli/chunks/{structural-health-YGUFXGJ6.js → structural-health-MQPY6GA6.js} +2 -2
- package/dist/cli/chunks/{sync-6JTRTDL3.js → sync-66KCEANE.js} +2 -2
- package/dist/cli/chunks/{sync-NZZUMTKC.js → sync-USVQTHKN.js} +2 -2
- package/dist/cli/chunks/{task-handler-KYMV3AC6.js → task-handler-4UI4FPPW.js} +2 -2
- package/dist/cli/chunks/{task-handlers-Z63YBQVU.js → task-handlers-KRII3GVV.js} +3 -3
- package/dist/cli/chunks/{test-O6BQ7FGP.js → test-JHN2MVEG.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-T3IOXEFI.js → test-scheduling-ZWTEGS3S.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-CTI2ULJF.js → token-bootstrap-YWXL6AS5.js} +2 -2
- package/dist/cli/chunks/{token-usage-TNQTNAVT.js → token-usage-INII2XM3.js} +2 -2
- package/dist/cli/chunks/{transformers-CJQDNQER.js → transformers-DVFGDNZC.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-RBZWLEVQ.js → tree-sitter-wasm-parser-W2XJT3XF.js} +2 -2
- package/dist/cli/chunks/{types-OMFCO364.js → types-GBZ5Q2GP.js} +2 -2
- package/dist/cli/chunks/unified-memory-WJEZ5YAK.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-6ZA2PMYO.js +2 -0
- package/dist/cli/chunks/unified-persistence-SWH6R7MA.js +2 -0
- package/dist/cli/chunks/{upgrade-KRVOYWN3.js → upgrade-2JEXEGQX.js} +2 -2
- package/dist/cli/chunks/{validate-32FKHMKQ.js → validate-GDCM5YTS.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-45RPBPPH.js → validate-swarm-QZ5RSJEU.js} +2 -2
- package/dist/cli/chunks/{vibium-LCTNDCKK.js → vibium-I5BMT734.js} +2 -2
- package/dist/cli/chunks/visual-security-PH5JQZCZ.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-FX2EFCLH.js → web-tree-sitter-3QY2LMLP.js} +2 -2
- package/dist/cli/chunks/windsurf-installer-V7OBPLOB.js +7 -0
- package/dist/cli/chunks/{witness-chain-YG2UWTYZ.js → witness-chain-BNJ4VSZX.js} +2 -2
- package/dist/cli/chunks/witness-chain-WYMBNGSL.js +2 -0
- package/dist/cli/chunks/{workflow-AEJ37RNV.js → workflow-3FJSNLPI.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-56JIXCI4.js +2 -0
- package/dist/cli/chunks/{wrappers-GSU6VNU6.js → wrappers-ERTQNIPK.js} +2 -2
- package/dist/cli/commands/mcp.js +28 -28
- package/dist/cli/handlers/init-handler.d.ts +2 -0
- package/dist/cli/handlers/init-handler.js +22 -1
- package/dist/init/cline-installer.d.ts +6 -0
- package/dist/init/cline-installer.js +3 -1
- package/dist/init/codex-installer.d.ts +6 -0
- package/dist/init/codex-installer.js +3 -1
- package/dist/init/continuedev-installer.d.ts +6 -0
- package/dist/init/continuedev-installer.js +10 -3
- package/dist/init/copilot-installer.d.ts +6 -0
- package/dist/init/copilot-installer.js +3 -1
- package/dist/init/cursor-installer.d.ts +6 -0
- package/dist/init/cursor-installer.js +3 -1
- package/dist/init/kilocode-installer.d.ts +6 -0
- package/dist/init/kilocode-installer.js +3 -1
- package/dist/init/kiro-installer.d.ts +5 -0
- package/dist/init/kiro-installer.js +4 -4
- package/dist/init/orchestrator.js +1 -0
- package/dist/init/phases/07-hooks.js +5 -0
- package/dist/init/phases/08-mcp.js +34 -7
- package/dist/init/phases/09-assets.js +30 -27
- package/dist/init/phases/11-claude-md.d.ts +1 -0
- package/dist/init/phases/11-claude-md.js +8 -0
- package/dist/init/phases/13-governance.js +5 -0
- package/dist/init/phases/phase-interface.d.ts +8 -0
- package/dist/init/platform-config-generator.d.ts +3 -1
- package/dist/init/platform-config-generator.js +31 -17
- package/dist/init/roocode-installer.d.ts +6 -0
- package/dist/init/roocode-installer.js +3 -1
- package/dist/init/windsurf-installer.d.ts +6 -0
- package/dist/init/windsurf-installer.js +3 -1
- package/dist/mcp/bundle.js +297 -296
- package/dist/mcp/entry.js +10 -1
- package/dist/mcp/protocol-server.js +17 -0
- package/dist/optimization/session-cache.d.ts +11 -0
- package/dist/optimization/session-cache.js +31 -0
- package/package.json +2 -2
- package/dist/cli/chunks/adapter-PAMPC2X7.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-DGKLEC6I.js +0 -2
- package/dist/cli/chunks/base-6HJR4VJT.js +0 -2
- package/dist/cli/chunks/browser-workflow-OWNU5XK7.js +0 -2
- package/dist/cli/chunks/chunk-2B2RLPK3.js +0 -2
- package/dist/cli/chunks/chunk-NSI3WL6P.js +0 -6
- package/dist/cli/chunks/client-E6GK5NWT.js +0 -2
- package/dist/cli/chunks/cline-installer-A7G7OXIS.js +0 -4
- package/dist/cli/chunks/codex-installer-JB3ULDQP.js +0 -8
- package/dist/cli/chunks/continuedev-installer-GSYBLQV7.js +0 -14
- package/dist/cli/chunks/copilot-installer-7B56CNU2.js +0 -3
- package/dist/cli/chunks/core-handlers-HJUORTFU.js +0 -2
- package/dist/cli/chunks/cross-domain-router-35WVZFAZ.js +0 -2
- package/dist/cli/chunks/cursor-installer-WXQFM4KJ.js +0 -3
- package/dist/cli/chunks/dream-QTZDMP6D.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-N433NZCG.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-MR6W2OA4.js +0 -2
- package/dist/cli/chunks/hnsw-index-XC6EMJA2.js +0 -2
- package/dist/cli/chunks/hybrid-router-SH4IEAJA.js +0 -2
- package/dist/cli/chunks/impact-analyzer-RUTVXE7P.js +0 -2
- package/dist/cli/chunks/init-wizard-56NY5BSP.js +0 -2
- package/dist/cli/chunks/kernel-7JAN7WCO.js +0 -2
- package/dist/cli/chunks/kilocode-installer-3AXYSZTO.js +0 -4
- package/dist/cli/chunks/knowledge-graph-ST4LW3V4.js +0 -2
- package/dist/cli/chunks/llm-router-service-JNDF5MVJ.js +0 -2
- package/dist/cli/chunks/load-test-I3P3DUS5.js +0 -2
- package/dist/cli/chunks/mcp-F2V3KKG6.js +0 -2
- package/dist/cli/chunks/memory-backend-27BBT57O.js +0 -2
- package/dist/cli/chunks/pattern-null-store-SRBYJRNX.js +0 -2
- package/dist/cli/chunks/protocol-executor-WJLJHWO2.js +0 -2
- package/dist/cli/chunks/provider-manager-UKUHSHAL.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-IMUECSFZ.js +0 -2
- package/dist/cli/chunks/queen-coordinator-EC4SVNMB.js +0 -2
- package/dist/cli/chunks/roocode-installer-DFUA6FXW.js +0 -4
- package/dist/cli/chunks/router-TVTOUQLL.js +0 -2
- package/dist/cli/chunks/routing-feedback-Y4WDXNXW.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-4YSC6QKO.js +0 -2
- package/dist/cli/chunks/safe-db-RGAY54O5.js +0 -2
- package/dist/cli/chunks/schedule-KJ4GWLPJ.js +0 -2
- package/dist/cli/chunks/scheduler-AONSLVA3.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-7RZUEPM4.js +0 -2
- package/dist/cli/chunks/unified-memory-G3BYQ3WU.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-F7XUZMKW.js +0 -2
- package/dist/cli/chunks/unified-persistence-V35NXJSO.js +0 -2
- package/dist/cli/chunks/visual-security-K47U7KUM.js +0 -2
- package/dist/cli/chunks/windsurf-installer-I3TSJCNL.js +0 -7
- package/dist/cli/chunks/witness-chain-G6GJXZD3.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-SKF7GC5X.js +0 -2
|
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
|
15
15
|
export class CodexInstaller {
|
|
16
16
|
projectRoot;
|
|
17
17
|
overwrite;
|
|
18
|
+
options;
|
|
18
19
|
generator;
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectRoot = options.projectRoot;
|
|
21
22
|
this.overwrite = options.overwrite ?? false;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.generator = createPlatformConfigGenerator();
|
|
23
25
|
}
|
|
24
26
|
async install() {
|
|
@@ -32,7 +34,7 @@ export class CodexInstaller {
|
|
|
32
34
|
};
|
|
33
35
|
try {
|
|
34
36
|
// Generate TOML MCP config
|
|
35
|
-
const mcpConfig = this.generator.generateMcpConfig('codex');
|
|
37
|
+
const mcpConfig = this.generator.generateMcpConfig('codex', { memoryBackend: this.options.memoryBackend });
|
|
36
38
|
const configPath = join(this.projectRoot, mcpConfig.path);
|
|
37
39
|
result.configPath = configPath;
|
|
38
40
|
if (!existsSync(configPath) || this.overwrite) {
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
export interface ContinueDevInstallerOptions {
|
|
9
9
|
projectRoot: string;
|
|
10
10
|
overwrite?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Memory backend for this install. 'memory' => database-free: the MCP config
|
|
13
|
+
* is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
|
|
14
|
+
*/
|
|
15
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
11
16
|
}
|
|
12
17
|
export interface ContinueDevInstallResult {
|
|
13
18
|
success: boolean;
|
|
@@ -20,6 +25,7 @@ export interface ContinueDevInstallResult {
|
|
|
20
25
|
export declare class ContinueDevInstaller {
|
|
21
26
|
private projectRoot;
|
|
22
27
|
private overwrite;
|
|
28
|
+
private options;
|
|
23
29
|
private generator;
|
|
24
30
|
constructor(options: ContinueDevInstallerOptions);
|
|
25
31
|
install(): Promise<ContinueDevInstallResult>;
|
|
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
|
15
15
|
export class ContinueDevInstaller {
|
|
16
16
|
projectRoot;
|
|
17
17
|
overwrite;
|
|
18
|
+
options;
|
|
18
19
|
generator;
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectRoot = options.projectRoot;
|
|
21
22
|
this.overwrite = options.overwrite ?? false;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.generator = createPlatformConfigGenerator();
|
|
23
25
|
}
|
|
24
26
|
async install() {
|
|
@@ -32,7 +34,7 @@ export class ContinueDevInstaller {
|
|
|
32
34
|
};
|
|
33
35
|
try {
|
|
34
36
|
// Generate YAML MCP config
|
|
35
|
-
const mcpConfig = this.generator.generateMcpConfig('continuedev');
|
|
37
|
+
const mcpConfig = this.generator.generateMcpConfig('continuedev', { memoryBackend: this.options.memoryBackend });
|
|
36
38
|
const configPath = join(this.projectRoot, mcpConfig.path);
|
|
37
39
|
result.configPath = configPath;
|
|
38
40
|
if (!existsSync(configPath) || this.overwrite) {
|
|
@@ -83,6 +85,12 @@ export class ContinueDevInstaller {
|
|
|
83
85
|
// If existing config already has mcpServers key, append just the server entry
|
|
84
86
|
// to avoid duplicate mcpServers keys (which produces invalid YAML)
|
|
85
87
|
if (existing.includes('mcpServers:')) {
|
|
88
|
+
// #533: honor database-free mode on the merge path too — otherwise this
|
|
89
|
+
// hardcoded entry re-introduces AQE_MEMORY_PATH and the server recreates
|
|
90
|
+
// memory.db at runtime, defeating a --no-database install.
|
|
91
|
+
const envBlock = this.options.memoryBackend === 'memory'
|
|
92
|
+
? ` AQE_MEMORY_BACKEND: memory\n AQE_V3_MODE: "true"`
|
|
93
|
+
: ` AQE_MEMORY_PATH: .agentic-qe/memory.db\n AQE_V3_MODE: "true"`;
|
|
86
94
|
const serverEntry = ` - name: agentic-qe
|
|
87
95
|
command: npx
|
|
88
96
|
args:
|
|
@@ -90,8 +98,7 @@ export class ContinueDevInstaller {
|
|
|
90
98
|
- agentic-qe@latest
|
|
91
99
|
- mcp
|
|
92
100
|
env:
|
|
93
|
-
|
|
94
|
-
AQE_V3_MODE: "true"`;
|
|
101
|
+
${envBlock}`;
|
|
95
102
|
return existing.trimEnd() + '\n' + serverEntry + '\n';
|
|
96
103
|
}
|
|
97
104
|
// No existing mcpServers — append the full block
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
export interface CopilotInstallerOptions {
|
|
9
9
|
projectRoot: string;
|
|
10
10
|
overwrite?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Memory backend for this install. 'memory' => database-free: the MCP config
|
|
13
|
+
* is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
|
|
14
|
+
*/
|
|
15
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
11
16
|
}
|
|
12
17
|
export interface CopilotInstallResult {
|
|
13
18
|
success: boolean;
|
|
@@ -20,6 +25,7 @@ export interface CopilotInstallResult {
|
|
|
20
25
|
export declare class CopilotInstaller {
|
|
21
26
|
private projectRoot;
|
|
22
27
|
private overwrite;
|
|
28
|
+
private options;
|
|
23
29
|
private generator;
|
|
24
30
|
constructor(options: CopilotInstallerOptions);
|
|
25
31
|
install(): Promise<CopilotInstallResult>;
|
|
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
|
15
15
|
export class CopilotInstaller {
|
|
16
16
|
projectRoot;
|
|
17
17
|
overwrite;
|
|
18
|
+
options;
|
|
18
19
|
generator;
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectRoot = options.projectRoot;
|
|
21
22
|
this.overwrite = options.overwrite ?? false;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.generator = createPlatformConfigGenerator();
|
|
23
25
|
}
|
|
24
26
|
async install() {
|
|
@@ -32,7 +34,7 @@ export class CopilotInstaller {
|
|
|
32
34
|
};
|
|
33
35
|
try {
|
|
34
36
|
// Generate MCP config
|
|
35
|
-
const mcpConfig = this.generator.generateMcpConfig('copilot');
|
|
37
|
+
const mcpConfig = this.generator.generateMcpConfig('copilot', { memoryBackend: this.options.memoryBackend });
|
|
36
38
|
const configPath = join(this.projectRoot, mcpConfig.path);
|
|
37
39
|
result.configPath = configPath;
|
|
38
40
|
if (!existsSync(configPath) || this.overwrite) {
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
export interface CursorInstallerOptions {
|
|
9
9
|
projectRoot: string;
|
|
10
10
|
overwrite?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Memory backend for this install. 'memory' => database-free: the MCP config
|
|
13
|
+
* is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
|
|
14
|
+
*/
|
|
15
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
11
16
|
}
|
|
12
17
|
export interface CursorInstallResult {
|
|
13
18
|
success: boolean;
|
|
@@ -20,6 +25,7 @@ export interface CursorInstallResult {
|
|
|
20
25
|
export declare class CursorInstaller {
|
|
21
26
|
private projectRoot;
|
|
22
27
|
private overwrite;
|
|
28
|
+
private options;
|
|
23
29
|
private generator;
|
|
24
30
|
constructor(options: CursorInstallerOptions);
|
|
25
31
|
install(): Promise<CursorInstallResult>;
|
|
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
|
15
15
|
export class CursorInstaller {
|
|
16
16
|
projectRoot;
|
|
17
17
|
overwrite;
|
|
18
|
+
options;
|
|
18
19
|
generator;
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectRoot = options.projectRoot;
|
|
21
22
|
this.overwrite = options.overwrite ?? false;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.generator = createPlatformConfigGenerator();
|
|
23
25
|
}
|
|
24
26
|
async install() {
|
|
@@ -32,7 +34,7 @@ export class CursorInstaller {
|
|
|
32
34
|
};
|
|
33
35
|
try {
|
|
34
36
|
// Generate MCP config
|
|
35
|
-
const mcpConfig = this.generator.generateMcpConfig('cursor');
|
|
37
|
+
const mcpConfig = this.generator.generateMcpConfig('cursor', { memoryBackend: this.options.memoryBackend });
|
|
36
38
|
const configPath = join(this.projectRoot, mcpConfig.path);
|
|
37
39
|
result.configPath = configPath;
|
|
38
40
|
if (!existsSync(configPath) || this.overwrite) {
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
export interface KiloCodeInstallerOptions {
|
|
9
9
|
projectRoot: string;
|
|
10
10
|
overwrite?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Memory backend for this install. 'memory' => database-free: the MCP config
|
|
13
|
+
* is written to run in-memory (AQE_MEMORY_BACKEND=memory, no AQE_MEMORY_PATH). (#533)
|
|
14
|
+
*/
|
|
15
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
11
16
|
}
|
|
12
17
|
export interface KiloCodeInstallResult {
|
|
13
18
|
success: boolean;
|
|
@@ -20,6 +25,7 @@ export interface KiloCodeInstallResult {
|
|
|
20
25
|
export declare class KiloCodeInstaller {
|
|
21
26
|
private projectRoot;
|
|
22
27
|
private overwrite;
|
|
28
|
+
private options;
|
|
23
29
|
private generator;
|
|
24
30
|
constructor(options: KiloCodeInstallerOptions);
|
|
25
31
|
install(): Promise<KiloCodeInstallResult>;
|
|
@@ -15,10 +15,12 @@ import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
|
15
15
|
export class KiloCodeInstaller {
|
|
16
16
|
projectRoot;
|
|
17
17
|
overwrite;
|
|
18
|
+
options;
|
|
18
19
|
generator;
|
|
19
20
|
constructor(options) {
|
|
20
21
|
this.projectRoot = options.projectRoot;
|
|
21
22
|
this.overwrite = options.overwrite ?? false;
|
|
23
|
+
this.options = options;
|
|
22
24
|
this.generator = createPlatformConfigGenerator();
|
|
23
25
|
}
|
|
24
26
|
async install() {
|
|
@@ -32,7 +34,7 @@ export class KiloCodeInstaller {
|
|
|
32
34
|
};
|
|
33
35
|
try {
|
|
34
36
|
// Generate MCP config
|
|
35
|
-
const mcpConfig = this.generator.generateMcpConfig('kilocode');
|
|
37
|
+
const mcpConfig = this.generator.generateMcpConfig('kilocode', { memoryBackend: this.options.memoryBackend });
|
|
36
38
|
const configPath = join(this.projectRoot, mcpConfig.path);
|
|
37
39
|
result.configPath = configPath;
|
|
38
40
|
if (!existsSync(configPath) || this.overwrite) {
|
|
@@ -18,6 +18,11 @@ export interface KiroInstallerOptions {
|
|
|
18
18
|
installSteering?: boolean;
|
|
19
19
|
/** Overwrite existing files (default: false) */
|
|
20
20
|
overwrite?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Memory backend for this install. 'memory' => database-free: the Kiro MCP
|
|
23
|
+
* config runs the server in-memory (AQE_MEMORY_BACKEND=memory). (#533)
|
|
24
|
+
*/
|
|
25
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
21
26
|
}
|
|
22
27
|
export interface KiroInstallResult {
|
|
23
28
|
success: boolean;
|
|
@@ -130,10 +130,10 @@ export class KiroInstaller {
|
|
|
130
130
|
'agentic-qe': {
|
|
131
131
|
command: 'npx',
|
|
132
132
|
args: ['-y', 'agentic-qe@latest', 'mcp'],
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
AQE_V3_MODE: 'true'
|
|
136
|
-
|
|
133
|
+
// Issue #533: database-free installs run the MCP server in-memory.
|
|
134
|
+
env: this.options.memoryBackend === 'memory'
|
|
135
|
+
? { AQE_MEMORY_BACKEND: 'memory', AQE_V3_MODE: 'true' }
|
|
136
|
+
: { AQE_MEMORY_PATH: '.agentic-qe/memory.db', AQE_V3_MODE: 'true' },
|
|
137
137
|
disabled: false,
|
|
138
138
|
autoApprove: [
|
|
139
139
|
'fleet_init',
|
|
@@ -25,6 +25,11 @@ export class HooksPhase extends BasePhase {
|
|
|
25
25
|
critical = false;
|
|
26
26
|
requiresPhases = ['configuration'];
|
|
27
27
|
async shouldRun(context) {
|
|
28
|
+
// #532: hooks write into .claude/ — part of the Claude Code surface.
|
|
29
|
+
if (context.options.noClaude) {
|
|
30
|
+
context.services.log(' Hooks skipped (--no-claude)');
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
28
33
|
const config = context.config;
|
|
29
34
|
return config?.hooks?.claudeCode ?? true;
|
|
30
35
|
}
|
|
@@ -26,6 +26,11 @@ export class MCPPhase extends BasePhase {
|
|
|
26
26
|
requiresPhases = ['configuration', 'database'];
|
|
27
27
|
async run(context) {
|
|
28
28
|
const { projectRoot } = context;
|
|
29
|
+
// #532: --no-claude suppresses the Claude Code surface, including .mcp.json.
|
|
30
|
+
if (context.options.noClaude) {
|
|
31
|
+
context.services.log(' MCP: skipped (--no-claude — .mcp.json is the Claude Code surface)');
|
|
32
|
+
return { configured: false, mcpPath: '', serverName: '' };
|
|
33
|
+
}
|
|
29
34
|
// MCP is enabled by default — skip only with --no-mcp
|
|
30
35
|
if (context.options.noMcp) {
|
|
31
36
|
context.services.log(' MCP: skipped (--no-mcp)');
|
|
@@ -39,14 +44,29 @@ export class MCPPhase extends BasePhase {
|
|
|
39
44
|
// AQE MCP server configuration
|
|
40
45
|
// AQE_PROJECT_ROOT omitted — runtime discovery via findProjectRoot() is
|
|
41
46
|
// portable across machines, devcontainers, and CI (#321)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
//
|
|
48
|
+
// Issue #533: in database-free mode (--no-database / memoryBackend:'memory')
|
|
49
|
+
// the server must run in-memory and must not have learning/workers forced
|
|
50
|
+
// on (those persist to SQLite, recreating .agentic-qe/memory.db at runtime
|
|
51
|
+
// and defeating the db-free install). Those phases are already skipped at
|
|
52
|
+
// install time; mirror that in the generated env.
|
|
53
|
+
const dbFree = context.options.memoryBackend === 'memory';
|
|
54
|
+
const env = dbFree
|
|
55
|
+
? {
|
|
56
|
+
AQE_MEMORY_BACKEND: 'memory',
|
|
57
|
+
AQE_LEARNING_ENABLED: 'false',
|
|
58
|
+
AQE_WORKERS_ENABLED: 'false',
|
|
59
|
+
NODE_ENV: 'production',
|
|
60
|
+
}
|
|
61
|
+
: {
|
|
46
62
|
AQE_LEARNING_ENABLED: 'true',
|
|
47
63
|
AQE_WORKERS_ENABLED: 'true',
|
|
48
64
|
NODE_ENV: 'production',
|
|
49
|
-
}
|
|
65
|
+
};
|
|
66
|
+
const aqeServerConfig = {
|
|
67
|
+
command: 'aqe-mcp',
|
|
68
|
+
args: [],
|
|
69
|
+
env,
|
|
50
70
|
};
|
|
51
71
|
// Write to .mcp.json at project root (the only location Claude Code reads)
|
|
52
72
|
const rootMcpPath = join(projectRoot, '.mcp.json');
|
|
@@ -68,8 +88,15 @@ export class MCPPhase extends BasePhase {
|
|
|
68
88
|
writeFileSync(rootMcpPath, JSON.stringify(rootMcpConfig, null, 2), 'utf-8');
|
|
69
89
|
context.services.log(` MCP config: ${rootMcpPath}`);
|
|
70
90
|
context.services.log(` Server: agentic-qe`);
|
|
71
|
-
|
|
72
|
-
|
|
91
|
+
if (dbFree) {
|
|
92
|
+
context.services.log(` Memory backend: in-memory (database-free)`);
|
|
93
|
+
context.services.log(` Learning: disabled (db-free)`);
|
|
94
|
+
context.services.log(` Workers: disabled (db-free)`);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
context.services.log(` Learning: enabled`);
|
|
98
|
+
context.services.log(` Workers: enabled`);
|
|
99
|
+
}
|
|
73
100
|
return {
|
|
74
101
|
configured: true,
|
|
75
102
|
mcpPath: rootMcpPath,
|
|
@@ -42,8 +42,8 @@ export class AssetsPhase extends BasePhase {
|
|
|
42
42
|
else if (options.autoMode && isVersionUpgrade) {
|
|
43
43
|
context.services.log(` Version upgrade detected: updating skills and agents`);
|
|
44
44
|
}
|
|
45
|
-
// Install skills
|
|
46
|
-
if (config.skills.install) {
|
|
45
|
+
// Install skills (Claude Code surface — skipped with --no-claude, #532)
|
|
46
|
+
if (!options.noClaude && config.skills.install) {
|
|
47
47
|
const skillsInstaller = createSkillsInstaller({
|
|
48
48
|
projectRoot,
|
|
49
49
|
installV2Skills: config.skills.installV2,
|
|
@@ -56,25 +56,27 @@ export class AssetsPhase extends BasePhase {
|
|
|
56
56
|
context.services.warn(`Skills warnings: ${skillsResult.errors.join(', ')}`);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
// Install agents
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
// Install agents (Claude Code surface — skipped with --no-claude, #532)
|
|
60
|
+
if (!options.noClaude) {
|
|
61
|
+
try {
|
|
62
|
+
const agentsInstaller = createAgentsInstaller({
|
|
63
|
+
projectRoot,
|
|
64
|
+
installQEAgents: true,
|
|
65
|
+
installSubagents: true,
|
|
66
|
+
overwrite: shouldOverwrite,
|
|
67
|
+
});
|
|
68
|
+
const agentsResult = await agentsInstaller.install();
|
|
69
|
+
agentsInstalled = agentsResult.installed.length;
|
|
70
|
+
if (agentsResult.errors.length > 0) {
|
|
71
|
+
context.services.warn(`Agents warnings: ${agentsResult.errors.join(', ')}`);
|
|
72
|
+
}
|
|
71
73
|
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
context.services.warn(`Agents install error: ${error instanceof Error ? error.message : error}`);
|
|
76
|
+
}
|
|
77
|
+
// Initialize overlay configs in agent registry for runtime use
|
|
78
|
+
initializeOverlays(projectRoot);
|
|
72
79
|
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
context.services.warn(`Agents install error: ${error instanceof Error ? error.message : error}`);
|
|
75
|
-
}
|
|
76
|
-
// Initialize overlay configs in agent registry for runtime use
|
|
77
|
-
initializeOverlays(projectRoot);
|
|
78
80
|
// Install Vibium browser engine for the qe-browser fleet skill.
|
|
79
81
|
// Graceful — never fails init if Vibium cannot be installed.
|
|
80
82
|
// Skipped in --minimal mode per ADR-086 minimal-footprint guidance.
|
|
@@ -204,6 +206,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
204
206
|
installHooks: true,
|
|
205
207
|
installSteering: true,
|
|
206
208
|
overwrite: shouldOverwrite,
|
|
209
|
+
memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined,
|
|
207
210
|
});
|
|
208
211
|
const kiroResult = await kiroInstaller.install();
|
|
209
212
|
kiroAgents = kiroResult.agentsInstalled.length;
|
|
@@ -224,7 +227,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
224
227
|
const platformsConfigured = [];
|
|
225
228
|
if (options.withCopilot || (options.autoMode && existsSync(join(projectRoot, '.vscode')))) {
|
|
226
229
|
const { createCopilotInstaller } = await import('../copilot-installer.js');
|
|
227
|
-
const installer = createCopilotInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
230
|
+
const installer = createCopilotInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
228
231
|
const res = await installer.install();
|
|
229
232
|
if (res.mcpConfigured)
|
|
230
233
|
platformsConfigured.push('copilot');
|
|
@@ -237,7 +240,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
237
240
|
}
|
|
238
241
|
if (options.withCursor || (options.autoMode && existsSync(join(projectRoot, '.cursor')))) {
|
|
239
242
|
const { createCursorInstaller } = await import('../cursor-installer.js');
|
|
240
|
-
const installer = createCursorInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
243
|
+
const installer = createCursorInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
241
244
|
const res = await installer.install();
|
|
242
245
|
if (res.mcpConfigured)
|
|
243
246
|
platformsConfigured.push('cursor');
|
|
@@ -250,7 +253,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
250
253
|
}
|
|
251
254
|
if (options.withCline) {
|
|
252
255
|
const { createClineInstaller } = await import('../cline-installer.js');
|
|
253
|
-
const installer = createClineInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
256
|
+
const installer = createClineInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
254
257
|
const res = await installer.install();
|
|
255
258
|
if (res.mcpConfigured)
|
|
256
259
|
platformsConfigured.push('cline');
|
|
@@ -263,7 +266,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
263
266
|
}
|
|
264
267
|
if (options.withKiloCode || (options.autoMode && existsSync(join(projectRoot, '.kilocode')))) {
|
|
265
268
|
const { createKiloCodeInstaller } = await import('../kilocode-installer.js');
|
|
266
|
-
const installer = createKiloCodeInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
269
|
+
const installer = createKiloCodeInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
267
270
|
const res = await installer.install();
|
|
268
271
|
if (res.mcpConfigured)
|
|
269
272
|
platformsConfigured.push('kilocode');
|
|
@@ -276,7 +279,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
276
279
|
}
|
|
277
280
|
if (options.withRooCode || (options.autoMode && existsSync(join(projectRoot, '.roo')))) {
|
|
278
281
|
const { createRooCodeInstaller } = await import('../roocode-installer.js');
|
|
279
|
-
const installer = createRooCodeInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
282
|
+
const installer = createRooCodeInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
280
283
|
const res = await installer.install();
|
|
281
284
|
if (res.mcpConfigured)
|
|
282
285
|
platformsConfigured.push('roocode');
|
|
@@ -290,7 +293,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
290
293
|
// P2 platforms: Codex (TOML), Windsurf (JSON), Continue.dev (YAML)
|
|
291
294
|
if (options.withCodex || (options.autoMode && existsSync(join(projectRoot, '.codex')))) {
|
|
292
295
|
const { createCodexInstaller } = await import('../codex-installer.js');
|
|
293
|
-
const installer = createCodexInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
296
|
+
const installer = createCodexInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
294
297
|
const res = await installer.install();
|
|
295
298
|
if (res.mcpConfigured)
|
|
296
299
|
platformsConfigured.push('codex');
|
|
@@ -303,7 +306,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
303
306
|
}
|
|
304
307
|
if (options.withWindsurf || (options.autoMode && existsSync(join(projectRoot, '.windsurf')))) {
|
|
305
308
|
const { createWindsurfInstaller } = await import('../windsurf-installer.js');
|
|
306
|
-
const installer = createWindsurfInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
309
|
+
const installer = createWindsurfInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
307
310
|
const res = await installer.install();
|
|
308
311
|
if (res.mcpConfigured)
|
|
309
312
|
platformsConfigured.push('windsurf');
|
|
@@ -316,7 +319,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
316
319
|
}
|
|
317
320
|
if (options.withContinueDev || (options.autoMode && existsSync(join(projectRoot, '.continue')))) {
|
|
318
321
|
const { createContinueDevInstaller } = await import('../continuedev-installer.js');
|
|
319
|
-
const installer = createContinueDevInstaller({ projectRoot, overwrite: shouldOverwrite });
|
|
322
|
+
const installer = createContinueDevInstaller({ projectRoot, overwrite: shouldOverwrite, memoryBackend: options.memoryBackend === 'memory' ? 'memory' : undefined });
|
|
320
323
|
const res = await installer.install();
|
|
321
324
|
if (res.mcpConfigured)
|
|
322
325
|
platformsConfigured.push('continuedev');
|
|
@@ -17,6 +17,7 @@ export declare class ClaudeMdPhase extends BasePhase<ClaudeMdResult> {
|
|
|
17
17
|
readonly order = 110;
|
|
18
18
|
readonly critical = false;
|
|
19
19
|
readonly requiresPhases: readonly ["configuration"];
|
|
20
|
+
shouldRun(context: InitContext): Promise<boolean>;
|
|
20
21
|
protected run(context: InitContext): Promise<ClaudeMdResult>;
|
|
21
22
|
/**
|
|
22
23
|
* Generate CLAUDE.md content
|
|
@@ -14,6 +14,14 @@ export class ClaudeMdPhase extends BasePhase {
|
|
|
14
14
|
order = 110;
|
|
15
15
|
critical = false;
|
|
16
16
|
requiresPhases = ['configuration'];
|
|
17
|
+
async shouldRun(context) {
|
|
18
|
+
// #532: --no-claude suppresses the Claude Code surface, including CLAUDE.md.
|
|
19
|
+
if (context.options.noClaude) {
|
|
20
|
+
context.services.log(' CLAUDE.md skipped (--no-claude)');
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
17
25
|
async run(context) {
|
|
18
26
|
const config = context.config;
|
|
19
27
|
const { projectRoot } = context;
|
|
@@ -33,6 +33,11 @@ export class GovernancePhase extends BasePhase {
|
|
|
33
33
|
* Run unless --no-governance flag is set
|
|
34
34
|
*/
|
|
35
35
|
async shouldRun(context) {
|
|
36
|
+
// #532: governance is part of the Claude Code surface — skip with --no-claude.
|
|
37
|
+
if (context.options.noClaude) {
|
|
38
|
+
context.services.log(' Governance skipped (--no-claude)');
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
36
41
|
// Check for --no-governance flag (via noGovernance option)
|
|
37
42
|
if (context.options.noGovernance) {
|
|
38
43
|
context.services.log(' Governance skipped (--no-governance flag)');
|
|
@@ -129,6 +129,14 @@ export interface InitOptions {
|
|
|
129
129
|
withAllPlatforms?: boolean;
|
|
130
130
|
/** Skip MCP server config (MCP is enabled by default) */
|
|
131
131
|
noMcp?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Suppress the default Claude Code surface (#532). When true, init does NOT
|
|
134
|
+
* write `.claude/` skills+agents, `.mcp.json`, `CLAUDE.md`, governance, or
|
|
135
|
+
* hooks — making `--with-<platform>` flags the only install targets (e.g. an
|
|
136
|
+
* OpenCode-only install). Opt-in via `--no-claude`; default install is
|
|
137
|
+
* unchanged. Pairs naturally with `--no-database`.
|
|
138
|
+
*/
|
|
139
|
+
noClaude?: boolean;
|
|
132
140
|
/** @deprecated Use default behavior instead — MCP is now enabled by default */
|
|
133
141
|
withMcp?: boolean;
|
|
134
142
|
/**
|
|
@@ -35,7 +35,9 @@ export declare class PlatformConfigGenerator {
|
|
|
35
35
|
/**
|
|
36
36
|
* Generate the MCP config for a platform
|
|
37
37
|
*/
|
|
38
|
-
generateMcpConfig(platformId: PlatformId
|
|
38
|
+
generateMcpConfig(platformId: PlatformId, opts?: {
|
|
39
|
+
memoryBackend?: 'memory' | 'sqlite' | 'agentdb' | 'hybrid';
|
|
40
|
+
}): GeneratedConfig;
|
|
39
41
|
/**
|
|
40
42
|
* Generate behavioral rules / instruction file for a platform
|
|
41
43
|
*/
|
|
@@ -135,14 +135,22 @@ const SAFE_AUTO_APPROVE_TOOLS = [
|
|
|
135
135
|
// ============================================================================
|
|
136
136
|
// MCP Server Entry
|
|
137
137
|
// ============================================================================
|
|
138
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Build the MCP server env. Issue #533: in database-free mode the server must
|
|
140
|
+
* run in-memory (AQE_MEMORY_BACKEND=memory) and must NOT be pointed at a
|
|
141
|
+
* persistent db path — otherwise launching via this client recreates
|
|
142
|
+
* .agentic-qe/memory.db at runtime and defeats the --no-database install.
|
|
143
|
+
*/
|
|
144
|
+
function getMcpServerEnv(dbFree) {
|
|
145
|
+
return dbFree
|
|
146
|
+
? { AQE_MEMORY_BACKEND: 'memory', AQE_V3_MODE: 'true' }
|
|
147
|
+
: { AQE_MEMORY_PATH: '.agentic-qe/memory.db', AQE_V3_MODE: 'true' };
|
|
148
|
+
}
|
|
149
|
+
function getMcpServerEntry(withAutoApprove, dbFree) {
|
|
139
150
|
const entry = {
|
|
140
151
|
command: 'npx',
|
|
141
152
|
args: ['-y', 'agentic-qe@latest', 'mcp'],
|
|
142
|
-
env:
|
|
143
|
-
AQE_MEMORY_PATH: '.agentic-qe/memory.db',
|
|
144
|
-
AQE_V3_MODE: 'true',
|
|
145
|
-
},
|
|
153
|
+
env: getMcpServerEnv(dbFree),
|
|
146
154
|
};
|
|
147
155
|
if (withAutoApprove) {
|
|
148
156
|
entry.disabled = false;
|
|
@@ -153,8 +161,8 @@ function getMcpServerEntry(withAutoApprove) {
|
|
|
153
161
|
// ============================================================================
|
|
154
162
|
// Config Generators
|
|
155
163
|
// ============================================================================
|
|
156
|
-
function generateJsonConfig(platform) {
|
|
157
|
-
const serverEntry = getMcpServerEntry(platform.supportsAutoApprove);
|
|
164
|
+
function generateJsonConfig(platform, dbFree) {
|
|
165
|
+
const serverEntry = getMcpServerEntry(platform.supportsAutoApprove, dbFree);
|
|
158
166
|
if (platform.id === 'copilot') {
|
|
159
167
|
// Copilot uses "servers" key with "type": "stdio"
|
|
160
168
|
const config = {
|
|
@@ -174,7 +182,10 @@ function generateJsonConfig(platform) {
|
|
|
174
182
|
};
|
|
175
183
|
return JSON.stringify(config, null, 2) + '\n';
|
|
176
184
|
}
|
|
177
|
-
function generateTomlConfig() {
|
|
185
|
+
function generateTomlConfig(dbFree) {
|
|
186
|
+
const envLines = dbFree
|
|
187
|
+
? `AQE_MEMORY_BACKEND = "memory"\nAQE_V3_MODE = "true"`
|
|
188
|
+
: `AQE_MEMORY_PATH = ".agentic-qe/memory.db"\nAQE_V3_MODE = "true"`;
|
|
178
189
|
return `# Agentic QE MCP Server
|
|
179
190
|
[mcp_servers.agentic-qe]
|
|
180
191
|
type = "stdio"
|
|
@@ -182,11 +193,13 @@ command = "npx"
|
|
|
182
193
|
args = ["-y", "agentic-qe@latest", "mcp"]
|
|
183
194
|
|
|
184
195
|
[mcp_servers.agentic-qe.env]
|
|
185
|
-
|
|
186
|
-
AQE_V3_MODE = "true"
|
|
196
|
+
${envLines}
|
|
187
197
|
`;
|
|
188
198
|
}
|
|
189
|
-
function generateYamlConfig() {
|
|
199
|
+
function generateYamlConfig(dbFree) {
|
|
200
|
+
const envLines = dbFree
|
|
201
|
+
? ` AQE_MEMORY_BACKEND: memory\n AQE_V3_MODE: "true"`
|
|
202
|
+
: ` AQE_MEMORY_PATH: .agentic-qe/memory.db\n AQE_V3_MODE: "true"`;
|
|
190
203
|
return `# Agentic QE MCP Server
|
|
191
204
|
mcpServers:
|
|
192
205
|
- name: agentic-qe
|
|
@@ -196,8 +209,7 @@ mcpServers:
|
|
|
196
209
|
- agentic-qe@latest
|
|
197
210
|
- mcp
|
|
198
211
|
env:
|
|
199
|
-
|
|
200
|
-
AQE_V3_MODE: "true"
|
|
212
|
+
${envLines}
|
|
201
213
|
`;
|
|
202
214
|
}
|
|
203
215
|
// ============================================================================
|
|
@@ -281,19 +293,21 @@ export class PlatformConfigGenerator {
|
|
|
281
293
|
/**
|
|
282
294
|
* Generate the MCP config for a platform
|
|
283
295
|
*/
|
|
284
|
-
generateMcpConfig(platformId) {
|
|
296
|
+
generateMcpConfig(platformId, opts) {
|
|
285
297
|
const platform = this.getPlatform(platformId);
|
|
298
|
+
// Issue #533: database-free installs propagate AQE_MEMORY_BACKEND=memory.
|
|
299
|
+
const dbFree = opts?.memoryBackend === 'memory';
|
|
286
300
|
let content;
|
|
287
301
|
switch (platform.configFormat) {
|
|
288
302
|
case 'toml':
|
|
289
|
-
content = generateTomlConfig();
|
|
303
|
+
content = generateTomlConfig(dbFree);
|
|
290
304
|
break;
|
|
291
305
|
case 'yaml':
|
|
292
|
-
content = generateYamlConfig();
|
|
306
|
+
content = generateYamlConfig(dbFree);
|
|
293
307
|
break;
|
|
294
308
|
case 'json':
|
|
295
309
|
default:
|
|
296
|
-
content = generateJsonConfig(platform);
|
|
310
|
+
content = generateJsonConfig(platform, dbFree);
|
|
297
311
|
break;
|
|
298
312
|
}
|
|
299
313
|
return {
|