agentic-qe 3.13.6 → 3.13.8
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 +63 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-DM2E2X4Q.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-TMON22NL.js → agent-booster-wasm-W5KKWWGM.js} +2 -2
- package/dist/cli/chunks/{agent-handler-JOX6O26U.js → agent-handler-U27BOQIY.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-AMIJIDCM.js → agent-memory-branch-FYEN2L2U.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-STMX2LM7.js +2 -0
- package/dist/cli/chunks/{arena-RKLFXDMO.js → arena-7GWHLRNN.js} +4 -4
- package/dist/cli/chunks/{arena-N6SO2CCQ.js → arena-F2ZO52SD.js} +2 -2
- package/dist/cli/chunks/{audit-ZJE3DUH6.js → audit-O4RLECCQ.js} +3 -3
- package/dist/cli/chunks/base-EPDGZB2X.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-5G6AR6LX.js → better-sqlite3-3VQVXH7I.js} +2 -2
- package/dist/cli/chunks/{brain-handler-QD4DZ574.js → brain-handler-Z4FSHVHF.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-PG3OUYE6.js → branch-enumerator-VW7QDS3O.js} +2 -2
- package/dist/cli/chunks/{browser-Y2DJG7HQ.js → browser-P5PZI236.js} +2 -2
- package/dist/cli/chunks/browser-workflow-CRZ6635H.js +2 -0
- package/dist/cli/chunks/{chunk-Z6SAS2NU.js → chunk-22TNTFEN.js} +1 -1
- package/dist/cli/chunks/{chunk-TMM5NKPI.js → chunk-2CJ5V2DT.js} +1 -1
- package/dist/cli/chunks/{chunk-2FTAMEOB.js → chunk-2CSKJ5JM.js} +1 -1
- package/dist/cli/chunks/{chunk-N7JRGAJF.js → chunk-2GD3RLVF.js} +2 -2
- package/dist/cli/chunks/{chunk-2ILX73JG.js → chunk-2Q7T3PL4.js} +1 -1
- package/dist/cli/chunks/{chunk-TWNXZOJY.js → chunk-3KSB2PDF.js} +2 -2
- package/dist/cli/chunks/{chunk-75QKZ6VX.js → chunk-3OJWLZIO.js} +2 -2
- package/dist/cli/chunks/{chunk-RBNSZFVL.js → chunk-3UENFJEV.js} +3 -3
- package/dist/cli/chunks/{chunk-FH6H4KOZ.js → chunk-426SRHIW.js} +20 -20
- package/dist/cli/chunks/{chunk-7TON6JSG.js → chunk-4GTPYV66.js} +2 -2
- package/dist/cli/chunks/{chunk-JGQZ7ECC.js → chunk-55UQC4BO.js} +1 -1
- package/dist/cli/chunks/{chunk-3TC4ZPGR.js → chunk-5LLHM6NK.js} +2 -2
- package/dist/cli/chunks/{chunk-X75OYPS6.js → chunk-5P2K6VVS.js} +1 -1
- package/dist/cli/chunks/{chunk-IHUAEQZN.js → chunk-5PRVDHNG.js} +1 -1
- package/dist/cli/chunks/{chunk-VK5I4JSN.js → chunk-5QZAXVUI.js} +2 -2
- package/dist/cli/chunks/{chunk-RDSO3R2R.js → chunk-65LJ2QU4.js} +3 -3
- package/dist/cli/chunks/{chunk-NX6FOAS4.js → chunk-6BNPFSFE.js} +1 -1
- package/dist/cli/chunks/{chunk-6ITWOYET.js → chunk-6H3VRSJ4.js} +2 -2
- package/dist/cli/chunks/{chunk-2SVDR5KB.js → chunk-756OZOSH.js} +2 -2
- package/dist/cli/chunks/{chunk-NUDDFJYU.js → chunk-7QJ344ZA.js} +2 -2
- package/dist/cli/chunks/{chunk-PX7MVV6F.js → chunk-7TK24XF7.js} +2 -2
- package/dist/cli/chunks/{chunk-OS56PKRO.js → chunk-7VWAKVRE.js} +2 -2
- package/dist/cli/chunks/{chunk-QQA4N3YT.js → chunk-A3V4SRLU.js} +2 -2
- package/dist/cli/chunks/{chunk-UNLH7NPY.js → chunk-ACZ7CNBM.js} +1 -1
- package/dist/cli/chunks/{chunk-XZPAKAFJ.js → chunk-AGJG5PAS.js} +1 -1
- package/dist/cli/chunks/{chunk-CBXJ4AQS.js → chunk-AKCNLYE3.js} +2 -2
- package/dist/cli/chunks/{chunk-R2GHZ2QG.js → chunk-AMTA6V5L.js} +2 -2
- package/dist/cli/chunks/{chunk-6QZSF6RL.js → chunk-BC37ZYBO.js} +2 -2
- package/dist/cli/chunks/{chunk-MOIKR7RU.js → chunk-BS4ZARET.js} +2 -2
- package/dist/cli/chunks/{chunk-DS53MJCN.js → chunk-BTCQJOI2.js} +1 -1
- package/dist/cli/chunks/{chunk-Y2QZK46R.js → chunk-BU6HG2RT.js} +2 -2
- package/dist/cli/chunks/{chunk-E7MD5LHC.js → chunk-C37IK75J.js} +2 -2
- package/dist/cli/chunks/{chunk-CTILSLXF.js → chunk-CB23FNZW.js} +2 -2
- package/dist/cli/chunks/{chunk-PA6SUNDD.js → chunk-CB6FBMND.js} +1 -1
- package/dist/cli/chunks/{chunk-PW3JLQGH.js → chunk-CDBTYQ4N.js} +2 -2
- package/dist/cli/chunks/{chunk-V5MS6XNT.js → chunk-CDVGXGUX.js} +2 -2
- package/dist/cli/chunks/{chunk-KBHSID6C.js → chunk-CK2I5QTK.js} +2 -2
- package/dist/cli/chunks/{chunk-K7ZFBGLE.js → chunk-CR5ZQXMN.js} +2 -2
- package/dist/cli/chunks/{chunk-EKWEJOV7.js → chunk-CZTNTQZA.js} +1 -1
- package/dist/cli/chunks/{chunk-LYGHX4II.js → chunk-D2SHZXX7.js} +1 -1
- package/dist/cli/chunks/{chunk-XRH2D6JV.js → chunk-D45ZSWZD.js} +3 -3
- package/dist/cli/chunks/{chunk-EYHRYIBX.js → chunk-D53CCDCD.js} +1 -1
- package/dist/cli/chunks/{chunk-5VGQABM3.js → chunk-DKX6SIVF.js} +4 -4
- package/dist/cli/chunks/{chunk-FGQH5LOG.js → chunk-DPQ2IANL.js} +2 -2
- package/dist/cli/chunks/{chunk-U63JEFF5.js → chunk-DTN5NUAJ.js} +2 -2
- package/dist/cli/chunks/{chunk-7NYCYSGW.js → chunk-DW5F6DJM.js} +2 -2
- package/dist/cli/chunks/{chunk-WA553ALQ.js → chunk-DZHVLIR6.js} +1 -1
- package/dist/cli/chunks/{chunk-MTEEFP6V.js → chunk-E2OORKCW.js} +2 -2
- package/dist/cli/chunks/{chunk-ADYY2GKC.js → chunk-EO3RV7QV.js} +2 -2
- package/dist/cli/chunks/{chunk-KHDE4KT5.js → chunk-FMTURKX4.js} +4 -4
- package/dist/cli/chunks/{chunk-QSO5RFJ4.js → chunk-FSKEQ625.js} +4 -4
- package/dist/cli/chunks/{chunk-HWWMINXV.js → chunk-GO6GSIHE.js} +2 -2
- package/dist/cli/chunks/{chunk-5VV5MOED.js → chunk-GPRPGL5N.js} +2 -2
- package/dist/cli/chunks/{chunk-DR2M2SI2.js → chunk-GVX4IAKF.js} +2 -2
- package/dist/cli/chunks/{chunk-2BUDKFIE.js → chunk-HBM423QM.js} +1 -1
- package/dist/cli/chunks/{chunk-2VUXU22M.js → chunk-HD22NMGP.js} +2 -2
- package/dist/cli/chunks/{chunk-UHQA6EH6.js → chunk-HP76TI6A.js} +2 -2
- package/dist/cli/chunks/{chunk-4YFBAXRD.js → chunk-HQQI4ZEO.js} +1 -1
- package/dist/cli/chunks/{chunk-4VWB64OH.js → chunk-HRAU4ZC3.js} +1 -1
- package/dist/cli/chunks/{chunk-JPJSOS4H.js → chunk-I6LGE3DO.js} +1 -1
- package/dist/cli/chunks/{chunk-EVJSK56E.js → chunk-ICET3FUT.js} +3 -3
- package/dist/cli/chunks/{chunk-PTBW2QXE.js → chunk-IYOGT6HD.js} +2 -2
- package/dist/cli/chunks/{chunk-R5FSKAS3.js → chunk-J3EDJVZR.js} +1 -1
- package/dist/cli/chunks/{chunk-ACHMNMEJ.js → chunk-JKSAZL2F.js} +1 -1
- package/dist/cli/chunks/chunk-K6XYLMXO.js +2 -0
- package/dist/cli/chunks/{chunk-YOVQBSTW.js → chunk-L24DBYXX.js} +2 -2
- package/dist/cli/chunks/{chunk-6VUEUYFL.js → chunk-LXGDJ5TO.js} +5 -5
- package/dist/cli/chunks/{chunk-POZ3S4UO.js → chunk-M3PXWTNF.js} +2 -2
- package/dist/cli/chunks/{chunk-DLBJ7IZT.js → chunk-M7O7UKP3.js} +10 -10
- package/dist/cli/chunks/{chunk-GEH3S5DI.js → chunk-MKCCKFUY.js} +2 -2
- package/dist/cli/chunks/{chunk-GSZL3WST.js → chunk-MLFS3MVR.js} +2 -2
- package/dist/cli/chunks/{chunk-7KRZ2Q6B.js → chunk-MMNNQ5PO.js} +3 -3
- package/dist/cli/chunks/{chunk-YL7CAOQG.js → chunk-MQKQTX4T.js} +3 -3
- package/dist/cli/chunks/{chunk-JDADNBWS.js → chunk-MRLPZMA3.js} +1 -1
- package/dist/cli/chunks/{chunk-VSP2IB5N.js → chunk-N7ITWNQP.js} +2 -2
- package/dist/cli/chunks/{chunk-Q4RU4XG6.js → chunk-NJ7SVXE6.js} +2 -2
- package/dist/cli/chunks/{chunk-ISOTSVI7.js → chunk-NW5XQQMC.js} +1 -1
- package/dist/cli/chunks/{chunk-UN2MXDJT.js → chunk-NXTV6EJQ.js} +2 -2
- package/dist/cli/chunks/{chunk-D777E2MT.js → chunk-OWWLOSVW.js} +2 -2
- package/dist/cli/chunks/{chunk-523XPMTU.js → chunk-OZSYL2CL.js} +1 -1
- package/dist/cli/chunks/{chunk-P4CHYYJN.js → chunk-P6PRMORM.js} +2 -2
- package/dist/cli/chunks/{chunk-V4QQTPZF.js → chunk-PDIJAWCK.js} +2 -2
- package/dist/cli/chunks/{chunk-463VBHHH.js → chunk-PIPV2C7N.js} +2 -2
- package/dist/cli/chunks/{chunk-BDVZF46F.js → chunk-PLIUHFVE.js} +2 -2
- package/dist/cli/chunks/{chunk-BAOKXLIV.js → chunk-PTAX4IY2.js} +2 -2
- package/dist/cli/chunks/{chunk-F66FYZQF.js → chunk-PVUQMV6P.js} +2 -2
- package/dist/cli/chunks/{chunk-YQUZGPUQ.js → chunk-PZS742LW.js} +1 -1
- package/dist/cli/chunks/{chunk-LQYAJ7RR.js → chunk-Q53NBMNL.js} +2 -2
- package/dist/cli/chunks/{chunk-7225UNNY.js → chunk-QFHOF4F3.js} +2 -2
- package/dist/cli/chunks/{chunk-X3CHYV7G.js → chunk-QMMRUFEI.js} +2 -2
- package/dist/cli/chunks/{chunk-NUCVMWDJ.js → chunk-QWACAQQ4.js} +2 -2
- package/dist/cli/chunks/{chunk-LVLGRUUJ.js → chunk-QYPXBIP5.js} +1 -1
- package/dist/cli/chunks/{chunk-5CMZDVUR.js → chunk-QYZLZ6P3.js} +2 -2
- package/dist/cli/chunks/{chunk-TGSL4OOT.js → chunk-R557EYUJ.js} +2 -2
- package/dist/cli/chunks/{chunk-PGDDPZ7W.js → chunk-RWSBQ2AD.js} +1 -1
- package/dist/cli/chunks/{chunk-OIGWREK7.js → chunk-SBGMMCPJ.js} +1 -1
- package/dist/cli/chunks/{chunk-YRRYKR7U.js → chunk-SECJ2IQE.js} +2 -2
- package/dist/cli/chunks/{chunk-DXM7IN2W.js → chunk-SEOOA2FX.js} +2 -2
- package/dist/cli/chunks/{chunk-AOUULKKT.js → chunk-SLTIRAYZ.js} +2 -2
- package/dist/cli/chunks/{chunk-GV3C224P.js → chunk-SSIOQDWN.js} +2 -2
- package/dist/cli/chunks/{chunk-PSAXLKDZ.js → chunk-SXSCWO6M.js} +2 -2
- package/dist/cli/chunks/{chunk-3QJH5W55.js → chunk-SYPXKVVR.js} +2 -2
- package/dist/cli/chunks/{chunk-E3OKRZCH.js → chunk-SZYHPGZD.js} +2 -2
- package/dist/cli/chunks/{chunk-EYWR4Y3J.js → chunk-TM55OOPV.js} +1 -1
- package/dist/cli/chunks/{chunk-PLYGIUFO.js → chunk-TQL4CSAS.js} +2 -2
- package/dist/cli/chunks/{chunk-JQXAWTS5.js → chunk-U6O3CFIW.js} +3 -3
- package/dist/cli/chunks/{chunk-P6A35LKJ.js → chunk-UGBHQC32.js} +2 -2
- package/dist/cli/chunks/{chunk-NNIAUDHF.js → chunk-UJ5KZ764.js} +1 -1
- package/dist/cli/chunks/{chunk-EY44JDUL.js → chunk-UK2267F4.js} +3 -3
- package/dist/cli/chunks/{chunk-FV47SYXK.js → chunk-VJDGJ6CW.js} +1 -1
- package/dist/cli/chunks/{chunk-7GTB7LVJ.js → chunk-W2FT6OUU.js} +3 -3
- package/dist/cli/chunks/{chunk-LLVXOXAK.js → chunk-W4CW6TKP.js} +1 -1
- package/dist/cli/chunks/{chunk-O34674VM.js → chunk-WIDOUTFF.js} +2 -2
- package/dist/cli/chunks/{chunk-THW6LF5I.js → chunk-WMRLLJDW.js} +2 -2
- package/dist/cli/chunks/{chunk-LGP26FTM.js → chunk-WR3PYP6X.js} +2 -2
- package/dist/cli/chunks/{chunk-BGLSIA4U.js → chunk-X4FHVATG.js} +2 -2
- package/dist/cli/chunks/{chunk-CKYRZ3TA.js → chunk-X6MSSQFP.js} +2 -2
- package/dist/cli/chunks/{chunk-GQCYO54W.js → chunk-X6VCAUOX.js} +2 -2
- package/dist/cli/chunks/{chunk-HBNMEYJS.js → chunk-XIJGRH5I.js} +10 -10
- package/dist/cli/chunks/chunk-XJT6TR5E.js +2 -0
- package/dist/cli/chunks/{chunk-6UPQD42K.js → chunk-XKKCH24C.js} +2 -2
- package/dist/cli/chunks/{chunk-EP4ORDFE.js → chunk-XONUAS4K.js} +2 -2
- package/dist/cli/chunks/{chunk-DSTQ2OWI.js → chunk-XPMQEFQI.js} +1 -1
- package/dist/cli/chunks/{chunk-R5LDNZVB.js → chunk-XUB5UG7C.js} +2 -2
- package/dist/cli/chunks/{chunk-BI6UU3Z3.js → chunk-Y5JWDXGB.js} +1 -1
- package/dist/cli/chunks/{chunk-XLDEWLP4.js → chunk-Y6EFJG52.js} +1 -1
- package/dist/cli/chunks/{chunk-6FICUNAV.js → chunk-Y7ALSL72.js} +1 -1
- package/dist/cli/chunks/{chunk-KMCI3RGD.js → chunk-YCL7OWK3.js} +2 -2
- package/dist/cli/chunks/{chunk-BOM5NGCR.js → chunk-YEGZUE6G.js} +1 -1
- package/dist/cli/chunks/{chunk-3OUHOJBN.js → chunk-YHV23E6J.js} +1 -1
- package/dist/cli/chunks/{chunk-MSA6MD5C.js → chunk-YISGZEZR.js} +1 -1
- package/dist/cli/chunks/{chunk-N6QUDQ5H.js → chunk-YLFM5AZ4.js} +2 -2
- package/dist/cli/chunks/{chunk-AU3APBY2.js → chunk-YRSKYBOL.js} +2 -2
- package/dist/cli/chunks/{chunk-XF2TKGSC.js → chunk-YTBW2SLZ.js} +1 -1
- package/dist/cli/chunks/{chunk-HPRX5S74.js → chunk-YWISQTXQ.js} +1 -1
- package/dist/cli/chunks/{chunk-JH6KUV74.js → chunk-ZKOIWNH7.js} +2 -2
- package/dist/cli/chunks/{chunk-DKGDBKBJ.js → chunk-ZLWYE47I.js} +1 -1
- package/dist/cli/chunks/{chunk-DSIS6WQD.js → chunk-ZNJJLA64.js} +3 -3
- package/dist/cli/chunks/{chunk-SZO6JIFM.js → chunk-ZO6QWQ2G.js} +2 -2
- package/dist/cli/chunks/{ci-MWQVCZ2W.js → ci-3Z3OSULB.js} +2 -2
- package/dist/cli/chunks/{ci-output-ZCH4IZ7H.js → ci-output-ETGFFPKJ.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-N3VSQM5X.js → circuit-breaker-G7ABL353.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-TSJFOGXN.js → claude-flow-setup-EKBBG7HG.js} +2 -2
- package/dist/cli/chunks/client-IAOK3VSF.js +2 -0
- package/dist/cli/chunks/{cline-installer-OHKWAB4I.js → cline-installer-TRNHEMDA.js} +2 -2
- package/dist/cli/chunks/{code-3UTIL3QR.js → code-JMENIVDM.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-TVG2V2NY.js → code-index-extractor-JIYCGDUF.js} +2 -2
- package/dist/cli/chunks/{codex-installer-L6ZOTOO2.js → codex-installer-XBHDOIN7.js} +2 -2
- package/dist/cli/chunks/{completions-SFRB664X.js → completions-HF6I7WD3.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-HDZKVO6D.js → complexity-analyzer-MWV6KUSW.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-HKLZR3UO.js → continuedev-installer-YWTPGW7K.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-5P3LX3C5.js → copilot-installer-V2SX7GBX.js} +2 -2
- package/dist/cli/chunks/core-handlers-624KK362.js +2 -0
- package/dist/cli/chunks/{cost-tracker-MZR5RB6E.js → cost-tracker-RQJRRISN.js} +2 -2
- package/dist/cli/chunks/{coverage-L6V6NFIM.js → coverage-IZ43CIOL.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-2DAGKVTZ.js +2 -0
- package/dist/cli/chunks/{cursor-installer-FD6DT23Y.js → cursor-installer-K3VUWVE3.js} +2 -2
- package/dist/cli/chunks/{daemon-HTSRODRG.js → daemon-HFAAQUIJ.js} +4 -4
- package/dist/cli/chunks/{daemon-I5ESGZGX.js → daemon-N6AICOXE.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-JPTHWB2Q.js → dag-attention-scheduler-7TFE4MSB.js} +2 -2
- package/dist/cli/chunks/{detect-RTUZDBEZ.js → detect-VFGXI7AL.js} +2 -2
- package/dist/cli/chunks/{dist-node-5HLWHNYA.js → dist-node-P2JPEBHL.js} +2 -2
- package/dist/cli/chunks/{domain-handler-R7IPUX54.js → domain-handler-CIMGA5Z3.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-E3I2LMCB.js → domain-transfer-UHNJ2JW4.js} +2 -2
- package/dist/cli/chunks/dream-EYG2RXNJ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-BXUWG73R.js → embed-and-insert-pattern-UWK2RRN4.js} +2 -2
- package/dist/cli/chunks/{eval-3ZFM75YA.js → eval-NXHZ7BQE.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-NJ3BT657.js → experience-capture-middleware-RVQ7F34S.js} +3 -3
- package/dist/cli/chunks/{fast-paths-Q3V5C5IM.js → fast-paths-DRXANKX2.js} +2 -2
- package/dist/cli/chunks/{feature-flags-D3JGPHXY.js → feature-flags-NW6VEQMN.js} +2 -2
- package/dist/cli/chunks/{feature-flags-XZGJNPZ7.js → feature-flags-V45DD537.js} +2 -2
- package/dist/cli/chunks/{file-discovery-MZOYXIOS.js → file-discovery-GJO7L2NH.js} +2 -2
- package/dist/cli/chunks/{fleet-FG3EBA75.js → fleet-O35WUOSC.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-PKZLZHL2.js → gnn-wrapper-AUVW767T.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-YZTRVH75.js → heartbeat-handler-5YXDBHH4.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-43Q5PRW7.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-XN2M6KGB.js +2 -0
- package/dist/cli/chunks/hnsw-index-4TEELZ7L.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-WONHB63F.js → hnsw-legacy-bridge-BYJY6BS3.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-Q4VPSJJM.js → hnswlib-node-DOAKQHTK.js} +2 -2
- package/dist/cli/chunks/{hooks-RWX5ZZCE.js → hooks-AXI33SEK.js} +10 -10
- package/dist/cli/chunks/hybrid-router-L4IMWRLC.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-G6N24L5G.js → hypergraph-engine-SMYLLI4Z.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-4RGOLL6F.js → hypergraph-handler-GYPRTMRE.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-GNCMGV2E.js +2 -0
- package/dist/cli/chunks/{init-handler-L7DZAHXO.js → init-handler-DO5NFTZT.js} +6 -6
- package/dist/cli/chunks/init-wizard-6XY76PR6.js +2 -0
- package/dist/cli/chunks/kernel-KSJDDMZX.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-G7PUCUDZ.js → kilocode-installer-CVWXBLG6.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-H6234HEB.js → kiro-installer-DK7J7XL7.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-MDPRHCAD.js +2 -0
- package/dist/cli/chunks/{learning-346CA4DH.js → learning-QHDQFBN4.js} +3 -3
- package/dist/cli/chunks/{llm-router-ATNRDTEM.js → llm-router-AMNXDGQ2.js} +4 -4
- package/dist/cli/chunks/llm-router-service-Y5Q7C6J5.js +2 -0
- package/dist/cli/chunks/{load-3L2CK4ML.js → load-2NZHFE5D.js} +2 -2
- package/dist/cli/chunks/load-test-NZZNYHOR.js +2 -0
- package/dist/cli/chunks/{mcp-JJ4ZDUJB.js → mcp-MX4GB3MU.js} +2 -2
- package/dist/cli/chunks/{memory-U3K2Y777.js → memory-NZACDD2C.js} +7 -7
- package/dist/cli/chunks/memory-backend-H3JXCBSZ.js +2 -0
- package/dist/cli/chunks/memory-handlers-KV7IJ2XA.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-DPCU4CSM.js → multi-model-executor-ABZUIP3S.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-KNUCUSRG.js → opencode-installer-V3IFSJQT.js} +2 -2
- package/dist/cli/chunks/{orchestrator-DJV2NUWD.js → orchestrator-GCK47DTJ.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-DXW5PB5E.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-TQ7KECBB.js → pattern-usage-recorder-TAD2TRNY.js} +2 -2
- package/dist/cli/chunks/{pipeline-JG57VFOB.js → pipeline-ZIXBDYN5.js} +2 -2
- package/dist/cli/chunks/{platform-L7LOBG4E.js → platform-4B7OOTAM.js} +2 -2
- package/dist/cli/chunks/{plugin-ATBPEU2K.js → plugin-QQ3SOXY2.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-XCX7CNVW.js → prime-radiant-advanced-wasm-4BYJTTZX.js} +2 -2
- package/dist/cli/chunks/protocol-executor-RRLH6VOX.js +2 -0
- package/dist/cli/chunks/{protocol-handler-DOFLSB4N.js → protocol-handler-VNRDG3KY.js} +2 -2
- package/dist/cli/chunks/{prove-CDBMRPBD.js → prove-WVPJXN6K.js} +2 -2
- package/dist/cli/chunks/provider-manager-S7QOPTRO.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-SPKHDTEL.js +2 -0
- package/dist/cli/chunks/{quality-5CMQBYP3.js → quality-E3VPSE2L.js} +2 -2
- package/dist/cli/chunks/{quality-gate-LU66IWRT.js → quality-gate-2ZPH7H7Z.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-T7LEO2QL.js +2 -0
- package/dist/cli/chunks/{real-embeddings-3B7AXYOP.js → real-embeddings-CYHZLS5U.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-GF4YJW7E.js → roocode-installer-A2PJDZ6G.js} +2 -2
- package/dist/cli/chunks/router-LMBUXWVM.js +2 -0
- package/dist/cli/chunks/routing-feedback-A5JZ2HTV.js +2 -0
- package/dist/cli/chunks/{routing-handler-PWQMWFND.js → routing-handler-WASZ7YUM.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-SMD6KSBD.js → ruvector-commands-USEIUYOT.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-M5TEJ56X.js → rvf-dual-writer-GC2SZLOS.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-EHLWMZYI.js → rvf-migration-adapter-RMXAP7UZ.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-GMVLX3FX.js → rvf-migration-coordinator-22D6BTI5.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-IVKAJC5C.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-PDADEHAZ.js → rvf-store-integrity-B5676PI2.js} +2 -2
- package/dist/cli/chunks/safe-db-MREVE34L.js +2 -0
- package/dist/cli/chunks/schedule-QUQSORLA.js +2 -0
- package/dist/cli/chunks/scheduler-POQUTUKP.js +2 -0
- package/dist/cli/chunks/{security-PSMBTUSM.js → security-GYR2YU72.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-DP2Z4YLV.js → shared-rvf-adapter-RTWRMMCR.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-UOU6ORBJ.js → shared-rvf-dual-writer-4YKFV67E.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-K4TX4WXV.js +2 -0
- package/dist/cli/chunks/{status-handler-T565F47D.js → status-handler-CBPWW3QD.js} +2 -2
- package/dist/cli/chunks/{structural-health-54WNSZ7Y.js → structural-health-CATUHO2L.js} +2 -2
- package/dist/cli/chunks/{sync-5ZGYF7JF.js → sync-ADHPFKN6.js} +2 -2
- package/dist/cli/chunks/{sync-EXADT5IZ.js → sync-YFHOSBNL.js} +2 -2
- package/dist/cli/chunks/{task-handler-JXWQZDEX.js → task-handler-R2KZIXXF.js} +2 -2
- package/dist/cli/chunks/{task-handlers-UKHRILMM.js → task-handlers-HLXWXRC4.js} +3 -3
- package/dist/cli/chunks/{test-3SU56PMM.js → test-A5SJ4CSH.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-CZZ4KKWM.js → test-scheduling-NWAUSA6A.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-RSIAPUIV.js → token-bootstrap-KOZLR5KD.js} +2 -2
- package/dist/cli/chunks/{token-usage-7HW43ORO.js → token-usage-7EDWF7XZ.js} +2 -2
- package/dist/cli/chunks/{transformers-A5REG7OI.js → transformers-OJGVAPSE.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-F43MC7E5.js → tree-sitter-wasm-parser-A2BLMPCC.js} +2 -2
- package/dist/cli/chunks/{types-DEOHTTJ3.js → types-AU2VADM6.js} +2 -2
- package/dist/cli/chunks/unified-memory-EWCB3EHN.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-PH2ECVGQ.js +2 -0
- package/dist/cli/chunks/unified-persistence-2AM7JHBZ.js +2 -0
- package/dist/cli/chunks/{upgrade-7NKNCL2I.js → upgrade-JLXJ6UTR.js} +2 -2
- package/dist/cli/chunks/{validate-SN2UY7CT.js → validate-AMJG6AVL.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-YITFMCXY.js → validate-swarm-6J4VKCBH.js} +2 -2
- package/dist/cli/chunks/{vibium-AZNIG6O7.js → vibium-YATMPDAF.js} +2 -2
- package/dist/cli/chunks/visual-security-B4KSJUTG.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-DY4YXPMR.js → web-tree-sitter-UCDN3H4X.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-HXD4BK7N.js → windsurf-installer-WHKYYVAM.js} +2 -2
- package/dist/cli/chunks/{witness-chain-UV7BOO6T.js → witness-chain-NDBGA7TH.js} +2 -2
- package/dist/cli/chunks/witness-chain-QHAHCB7E.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-BCNW3SZH.js → witness-key-manager-2PQHTQVG.js} +2 -2
- package/dist/cli/chunks/{workflow-R3SSSWA5.js → workflow-F5HE4FGG.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-LYU63YL7.js +2 -0
- package/dist/cli/chunks/{wrappers-6JUXYAML.js → wrappers-UHG2KXGO.js} +2 -2
- package/dist/cli/commands/memory.js +3 -0
- package/dist/kernel/hybrid-backend.d.ts +2 -1
- package/dist/kernel/hybrid-backend.js +4 -0
- package/dist/kernel/interfaces.d.ts +10 -0
- package/dist/kernel/memory-backend.d.ts +2 -1
- package/dist/kernel/memory-backend.js +8 -0
- package/dist/kernel/native-hnsw-backend.js +8 -6
- package/dist/kernel/unified-memory.d.ts +2 -0
- package/dist/kernel/unified-memory.js +43 -8
- package/dist/mcp/bundle.js +213 -213
- package/dist/mcp/handlers/memory-handlers.d.ts +2 -0
- package/dist/mcp/handlers/memory-handlers.js +13 -2
- package/dist/mcp/types.d.ts +10 -0
- package/package.json +4 -2
- package/dist/cli/chunks/adapter-7XXMDGFO.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-2KGMCBJG.js +0 -2
- package/dist/cli/chunks/base-4M3VL4XK.js +0 -2
- package/dist/cli/chunks/browser-workflow-DHIPXEGO.js +0 -2
- package/dist/cli/chunks/chunk-CVXEOTIK.js +0 -2
- package/dist/cli/chunks/chunk-GA7PUAMT.js +0 -2
- package/dist/cli/chunks/client-IEN43WBH.js +0 -2
- package/dist/cli/chunks/core-handlers-PBITKHVP.js +0 -2
- package/dist/cli/chunks/cross-domain-router-JGCWQ7BO.js +0 -2
- package/dist/cli/chunks/dream-52MPUF5Q.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-LMAEJQYQ.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-DGGDYJEL.js +0 -2
- package/dist/cli/chunks/hnsw-index-KA7WDTHX.js +0 -2
- package/dist/cli/chunks/hybrid-router-Q6JQTV55.js +0 -2
- package/dist/cli/chunks/impact-analyzer-7LFSGIQP.js +0 -2
- package/dist/cli/chunks/init-wizard-T4K44J6D.js +0 -2
- package/dist/cli/chunks/kernel-TGHK6X7F.js +0 -2
- package/dist/cli/chunks/knowledge-graph-MV3OSGCB.js +0 -2
- package/dist/cli/chunks/llm-router-service-OOCNAPJO.js +0 -2
- package/dist/cli/chunks/load-test-4OZPYWL4.js +0 -2
- package/dist/cli/chunks/memory-backend-LMRIHJQY.js +0 -2
- package/dist/cli/chunks/memory-handlers-J6CVQ5DS.js +0 -2
- package/dist/cli/chunks/pattern-null-store-AQWPHLRW.js +0 -2
- package/dist/cli/chunks/protocol-executor-FWUT6L6K.js +0 -2
- package/dist/cli/chunks/provider-manager-4PY7IR3V.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-M4XVWRPY.js +0 -2
- package/dist/cli/chunks/queen-coordinator-KSRI42QZ.js +0 -2
- package/dist/cli/chunks/router-F2TCXNSG.js +0 -2
- package/dist/cli/chunks/routing-feedback-VHOWXUY7.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-XG3LFOYW.js +0 -2
- package/dist/cli/chunks/safe-db-CTHJ3SXC.js +0 -2
- package/dist/cli/chunks/schedule-LLYADLGL.js +0 -2
- package/dist/cli/chunks/scheduler-72YIGDIX.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-N7OO3ZOE.js +0 -2
- package/dist/cli/chunks/unified-memory-Q55MJWAM.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-4BEKV2K5.js +0 -2
- package/dist/cli/chunks/unified-persistence-IIB5MR67.js +0 -2
- package/dist/cli/chunks/visual-security-F4FUP6KV.js +0 -2
- package/dist/cli/chunks/witness-chain-SQ5LCKUQ.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-Z4PZXWVY.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as v}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as v}from"./chunk-WR3PYP6X.js";import{a as he,c as ge}from"./chunk-6BNPFSFE.js";import{a as se,b as Me}from"./chunk-2GD3RLVF.js";import{a}from"./chunk-2CJ5V2DT.js";import{d as fe}from"./chunk-PZS742LW.js";import{b as R,c as me}from"./chunk-CZTNTQZA.js";import{b as K,d as de}from"./chunk-HD22NMGP.js";import{b as E,c as L}from"./chunk-XKKCH24C.js";import{b as pe,d as we}from"./chunk-7TK24XF7.js";we();L();var ye={failureThreshold:5,resetTimeoutMs:3e4,halfOpenSuccessThreshold:2,failureWindowMs:6e4,includeTimeouts:!0},ne=class{state="closed";failures=[];successCount=0;totalRequests=0;totalSuccesses=0;totalFailures=0;rejectedCount=0;lastFailureTime;lastSuccessTime;openedAt;halfOpenSuccesses=0;config;providerType;constructor(t,e={}){this.providerType=t,this.config={...ye,...e}}getState(){return this.state==="open"&&this.openedAt&&Date.now()-this.openedAt.getTime()>=this.config.resetTimeoutMs&&this.transitionTo("half-open"),this.state}canExecute(){let t=this.getState();return t==="closed"?!0:t!=="open"}async execute(t){if(this.totalRequests++,this.getState()==="open")throw this.rejectedCount++,a(`Circuit breaker is open for provider ${this.providerType}`,"CIRCUIT_OPEN",{provider:this.providerType,retryable:!0,retryAfterMs:this.getTimeUntilTransition()});try{let r=await t();return this.recordSuccess(),r}catch(r){throw this.recordFailure(E(r)),r}}recordSuccess(){this.successCount++,this.totalSuccesses++,this.lastSuccessTime=new Date,this.getState()==="half-open"&&(this.halfOpenSuccesses++,this.halfOpenSuccesses>=this.config.halfOpenSuccessThreshold&&this.transitionTo("closed"))}recordFailure(t){if(this.totalFailures++,this.lastFailureTime=new Date,(t.message.toLowerCase().includes("timeout")||t.name==="TimeoutError"||t.name==="AbortError")&&!this.config.includeTimeouts)return;this.failures.push({timestamp:new Date,error:t}),this.cleanOldFailures();let r=this.getState();if(r==="half-open"){this.transitionTo("open");return}r==="closed"&&this.failures.length>=this.config.failureThreshold&&this.transitionTo("open")}getStats(){return{state:this.getState(),totalRequests:this.totalRequests,successCount:this.totalSuccesses,failureCount:this.totalFailures,rejectedCount:this.rejectedCount,lastFailureTime:this.lastFailureTime,lastSuccessTime:this.lastSuccessTime,timeUntilTransitionMs:this.getTimeUntilTransition()}}reset(){this.state="closed",this.failures=[],this.successCount=0,this.halfOpenSuccesses=0,this.openedAt=void 0}forceOpen(){this.transitionTo("open")}forceHalfOpen(){this.transitionTo("half-open")}getRecentFailures(t=5){return this.failures.slice(-t).map(e=>`[${e.timestamp.toISOString()}] ${e.error.message}`)}transitionTo(t){if(this.state!==t)switch(this.state=t,t){case"open":this.openedAt=new Date,this.halfOpenSuccesses=0;break;case"half-open":this.halfOpenSuccesses=0;break;case"closed":this.failures=[],this.openedAt=void 0,this.halfOpenSuccesses=0;break}}cleanOldFailures(){let t=Date.now()-this.config.failureWindowMs;this.failures=this.failures.filter(e=>e.timestamp.getTime()>t)}getTimeUntilTransition(){if(this.state==="open"&&this.openedAt){let t=Date.now()-this.openedAt.getTime(),e=this.config.resetTimeoutMs-t;return Math.max(0,e)}}},q=class{breakers=new Map;defaultConfig;constructor(t={}){this.defaultConfig={...ye,...t}}getBreaker(t,e){let r=this.breakers.get(t);return r||(r=new ne(t,{...this.defaultConfig,...e}),this.breakers.set(t,r)),r}getAllStats(){let t={};for(let[e,r]of this.breakers)t[e]=r.getStats();return t}getAvailableProviders(){let t=[];for(let[e,r]of this.breakers)r.canExecute()&&t.push(e);return t}resetAll(){for(let t of this.breakers.values())t.reset()}reset(t){let e=this.breakers.get(t);e&&e.reset()}};var be={maxSize:1e3,defaultTtlMs:36e5,enableLRU:!0,cacheGenerations:!0,cacheEmbeddings:!0,cacheCompletions:!0},M=class{cache=new Map;accessOrder=[];config;hits=0;misses=0;evictions=0;constructor(t={}){this.config={...be,...t}}static generateKey(t,e,r){let n=[t,r?.model??"default",String(r?.temperature??.7),String(r?.maxTokens??0),r?.systemPrompt??"",e].join("|"),s=0;for(let i=0;i<n.length;i++){let l=n.charCodeAt(i);s=(s<<5)-s+l,s=s&s}return`${t}:${Math.abs(s).toString(36)}`}get(t){let e=this.cache.get(t);if(!e){this.misses++;return}if(e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs){this.delete(t),this.misses++;return}return this.hits++,e.lastAccessedAt=new Date,e.accessCount++,this.config.enableLRU&&this.updateAccessOrder(t),e.value}set(t,e,r){this.cache.size>=this.config.maxSize&&!this.cache.has(t)&&this.evictLRU();let o={value:e,createdAt:new Date,lastAccessedAt:new Date,accessCount:1,ttlMs:r??this.config.defaultTtlMs,keyHash:t};this.cache.set(t,o),this.config.enableLRU&&this.updateAccessOrder(t)}has(t){let e=this.cache.get(t);return e?e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs?(this.delete(t),!1):!0:!1}delete(t){let e=this.cache.delete(t);if(e){let r=this.accessOrder.indexOf(t);r!==-1&&this.accessOrder.splice(r,1)}return e}clear(){this.cache.clear(),this.accessOrder=[],this.hits=0,this.misses=0,this.evictions=0}getStats(){let t=this.hits+this.misses,e=t>0?this.hits/t:0,r=0;for(let o of this.cache.values())r+=this.estimateSize(o.value);return{size:this.cache.size,maxSize:this.config.maxSize,hits:this.hits,misses:this.misses,hitRate:e,evictions:this.evictions,memoryUsageBytes:r}}keys(){return Array.from(this.cache.keys())}entries(){return Array.from(this.cache.entries())}import(t){for(let[e,r]of t)r.createdAt=new Date(r.createdAt),r.lastAccessedAt=new Date(r.lastAccessedAt),this.cache.set(e,r),this.accessOrder.push(e);for(;this.cache.size>this.config.maxSize;)this.evictLRU()}pruneExpired(){let t=Date.now(),e=0;for(let[r,o]of this.cache.entries())o.ttlMs>0&&t-o.createdAt.getTime()>o.ttlMs&&(this.delete(r),e++);return e}updateAccessOrder(t){let e=this.accessOrder.indexOf(t);e!==-1&&this.accessOrder.splice(e,1),this.accessOrder.push(t)}evictLRU(){if(this.accessOrder.length===0){let e=this.cache.keys().next().value;e&&(this.cache.delete(e),this.evictions++);return}let t=this.accessOrder.shift();t&&(this.cache.delete(t),this.evictions++)}estimateSize(t){return t==null?0:JSON.stringify(t).length*2}},B=class{generationCache;embeddingCache;completionCache;config;constructor(t={}){this.config={...be,...t},this.generationCache=new M(t),this.embeddingCache=new M(t),this.completionCache=new M(t)}getGeneration(t,e){if(!this.config.cacheGenerations)return;let r=M.generateKey("generation",t,e);return this.generationCache.get(r)}setGeneration(t,e,r,o){if(!this.config.cacheGenerations)return;let n=M.generateKey("generation",t,r);this.generationCache.set(n,e,o)}getEmbedding(t,e){if(!this.config.cacheEmbeddings)return;let r=M.generateKey("embedding",t,e);return this.embeddingCache.get(r)}setEmbedding(t,e,r,o){if(!this.config.cacheEmbeddings)return;let n=M.generateKey("embedding",t,r);this.embeddingCache.set(n,e,o)}getCompletion(t,e){if(!this.config.cacheCompletions)return;let r=M.generateKey("completion",t,e);return this.completionCache.get(r)}setCompletion(t,e,r,o){if(!this.config.cacheCompletions)return;let n=M.generateKey("completion",t,r);this.completionCache.set(n,e,o)}getStats(){let t=this.generationCache.getStats(),e=this.embeddingCache.getStats(),r=this.completionCache.getStats(),o=t.hits+e.hits+r.hits,n=t.misses+e.misses+r.misses,s=o+n;return{generation:t,embedding:e,completion:r,total:{size:t.size+e.size+r.size,maxSize:this.config.maxSize*3,hits:o,misses:n,hitRate:s>0?o/s:0,evictions:t.evictions+e.evictions+r.evictions,memoryUsageBytes:t.memoryUsageBytes+e.memoryUsageBytes+r.memoryUsageBytes}}}clear(){this.generationCache.clear(),this.embeddingCache.clear(),this.completionCache.clear()}pruneExpired(){return this.generationCache.pruneExpired()+this.embeddingCache.pruneExpired()+this.completionCache.pruneExpired()}};var ie="(unattributed)",Ae=`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS llm_spend (
|
|
4
4
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
5
5
|
ts INTEGER NOT NULL,
|
|
@@ -17,7 +17,7 @@ CREATE INDEX IF NOT EXISTS idx_llm_spend_ts ON llm_spend(ts);
|
|
|
17
17
|
VALUES (@ts, @provider, @model, @cost_usd, @cost_source, @prompt_tokens, @completion_tokens, @request_id, @agent_type)`).run({ts:Date.now(),provider:t.provider,model:t.model,cost_usd:t.costUsd,cost_source:t.costSource,prompt_tokens:t.promptTokens,completion_tokens:t.completionTokens,request_id:t.requestId,agent_type:t.agent??null}):this.db.prepare(`INSERT INTO llm_spend
|
|
18
18
|
(ts, provider, model, cost_usd, cost_source, prompt_tokens, completion_tokens, request_id)
|
|
19
19
|
VALUES (@ts, @provider, @model, @cost_usd, @cost_source, @prompt_tokens, @completion_tokens, @request_id)`).run({ts:Date.now(),provider:t.provider,model:t.model,cost_usd:t.costUsd,cost_source:t.costSource,prompt_tokens:t.promptTokens,completion_tokens:t.completionTokens,request_id:t.requestId})}catch{}}spentSince(t,e=Date.now()){try{return this.db.prepare("SELECT COALESCE(SUM(cost_usd), 0) AS total FROM llm_spend WHERE ts >= ?").get(e-t)?.total??0}catch{return 0}}spentByAgentSince(t,e=Date.now()){try{let r=this.db.prepare(`SELECT COALESCE(agent_type, ?) AS agent, COALESCE(SUM(cost_usd), 0) AS total
|
|
20
|
-
FROM llm_spend WHERE ts >= ? GROUP BY COALESCE(agent_type, ?)`).all(ie,e-t,ie),o={};for(let n of r)o[n.agent]=n.total;return o}catch{return{}}}},N=class{entries=[];record(t){this.entries.push({ts:Date.now(),costUsd:t.costUsd,agent:t.agent??ie})}spentSince(t,e=Date.now()){let r=e-t,o=0;for(let n of this.entries)n.ts>=r&&(o+=n.costUsd);return o}spentByAgentSince(t,e=Date.now()){let r=e-t,o={};for(let n of this.entries)n.ts>=r&&(o[n.agent]=(o[n.agent]??0)+n.costUsd);return o}};async function ve(){try{let t=(await import("./unified-memory-
|
|
20
|
+
FROM llm_spend WHERE ts >= ? GROUP BY COALESCE(agent_type, ?)`).all(ie,e-t,ie),o={};for(let n of r)o[n.agent]=n.total;return o}catch{return{}}}},N=class{entries=[];record(t){this.entries.push({ts:Date.now(),costUsd:t.costUsd,agent:t.agent??ie})}spentSince(t,e=Date.now()){let r=e-t,o=0;for(let n of this.entries)n.ts>=r&&(o+=n.costUsd);return o}spentByAgentSince(t,e=Date.now()){let r=e-t,o={};for(let n of this.entries)n.ts>=r&&(o[n.agent]=(o[n.agent]??0)+n.costUsd);return o}};async function ve(){try{let t=(await import("./unified-memory-EWCB3EHN.js")).getUnifiedMemory();return t.isInitialized()||await t.initialize(),new ae(t.getDatabase())}catch{return new N}}L();function ce(g,t,e,r){let o=Math.min(t*Math.pow(2,g),e),n=Math.random()*r*o;return o+n}var Le=1e3,Pe=3e4;function T(g,t=Le,e=Pe){return ce(g,t,e,0)}import{readFileSync as Oe}from"fs";import*as Te from"path";var le=["low","medium","high","xhigh","max"],Ie="xhigh";function G(g){return typeof g=="string"&&le.includes(g)}var $;function Se(g){try{let e=Oe(g,"utf8").match(/^\s*effort_level\s*:\s*['"]?([a-z]+)['"]?\s*$/m);return e&&G(e[1])?e[1]:null}catch{return null}}function ke(g={}){if(g.override&&G(g.override))return g.override;if(g.agentEffort&&G(g.agentEffort))return g.agentEffort;let e=(g.env??process.env).QE_EFFORT_LEVEL;if(e&&G(e))return e;let r=g.fleetDefaultsPath??Te.join(process.cwd(),"config","fleet-defaults.yaml");return $===void 0&&($=Se(r)),$||Ie}function Ee(g,t){let e=le.indexOf(g),r=le.indexOf(t);return e>r?t:g}var xe={model:"claude-sonnet-4-6",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,anthropicVersion:"2023-06-01",enableCache:!0,enableCircuitBreaker:!0},F=class{type="claude";name="Anthropic Claude";config;requestId=0;constructor(t={}){this.config={...xe,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set ANTHROPIC_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),o=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:o,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:o,models:this.getSupportedModels(),details:{apiVersion:this.config.anthropicVersion,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("Anthropic API key not configured","API_KEY_MISSING",{provider:"claude",retryable:!1});let o=this.formatMessages(t),n=e?.model??this.config.model,s=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,l=`claude-${++this.requestId}-${Date.now()}`,p=Date.now(),m={model:n,max_tokens:s,temperature:i,messages:o};e?.systemPrompt&&(m.system=this.config.enableCache!==!1?[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}]:e.systemPrompt),e?.stopSequences&&e.stopSequences.length>0&&(m.stop_sequences=e.stopSequences);try{if(fe(n).supportsEffortXHigh){let u=ke({override:e?.effort}),d=Ee(u,"xhigh");m.thinking={type:"adaptive",effort:d}}}catch{}try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(m)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),u=Date.now()-p;if(!c.ok){let k=await c.json().catch(()=>({error:{message:"Unknown error"}}));throw this.handleApiError(c.status,k,n)}let d=await c.json(),h=d.usage.cache_creation_input_tokens??0,f=d.usage.cache_read_input_tokens??0,b={promptTokens:d.usage.input_tokens,completionTokens:d.usage.output_tokens,totalTokens:d.usage.input_tokens+h+f+d.usage.output_tokens,cacheCreationTokens:h,cacheReadTokens:f},y=R.calculateCost(n,b);return v.recordTokenUsage(l,"claude-provider","llm","generate",{inputTokens:d.usage.input_tokens,outputTokens:d.usage.output_tokens,totalTokens:d.usage.input_tokens+d.usage.output_tokens,estimatedCostUsd:y.totalCost}),{content:d.content.filter(k=>k.type==="text").map(k=>k.text).join(""),model:d.model,provider:"claude",usage:b,cost:y,latencyMs:u,finishReason:this.mapFinishReason(d.stop_reason),cached:!1,requestId:l}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"claude",model:n,retryable:!0,cause:c})}}async embed(t,e){throw a("Claude does not support native embeddings. Use OpenAI or Ollama for embeddings.","MODEL_NOT_FOUND",{provider:"claude",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
|
|
21
21
|
|
|
22
22
|
`,"```"]});return{completion:r.content,model:r.model,provider:"claude",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307"]}getCostPerToken(){return R.getCostPerToken(this.config.model)}async dispose(){}getApiKey(){return this.config.apiKey??process.env.ANTHROPIC_API_KEY}getBaseUrl(){return(this.config.baseUrl??process.env.ANTHROPIC_BASE_URL??"https://api.anthropic.com").replace(/\/$/,"")}getHeaders(){return{"Content-Type":"application/json","x-api-key":this.getApiKey(),"anthropic-version":this.config.anthropicVersion??"2023-06-01"}}formatMessages(t){return typeof t=="string"?[{role:"user",content:t}]:t.filter(e=>e.role!=="system").map(e=>({role:e.role,content:e.content}))}mapFinishReason(t){switch(t){case"end_turn":return"stop";case"max_tokens":return"length";case"stop_sequence":return"stop";default:return"stop"}}handleApiError(t,e,r){let o="error"in e?e.error?.message??"Unknown API error":"Unknown API error",n="error"in e&&"type"in e.error?e.error.type:"";switch(t){case 401:throw a(o,"API_KEY_INVALID",{provider:"claude",model:r,retryable:!1});case 429:throw a(o,"RATE_LIMITED",{provider:"claude",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw n==="invalid_request_error"&&o.includes("context")?a(o,"CONTEXT_LENGTH_EXCEEDED",{provider:"claude",model:r,retryable:!1}):a(o,"UNKNOWN",{provider:"claude",model:r,retryable:!1});case 500:case 502:case 503:throw a(o,"PROVIDER_UNAVAILABLE",{provider:"claude",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(o,"UNKNOWN",{provider:"claude",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let o=new AbortController,n=setTimeout(()=>o.abort(),r);try{return await fetch(t,{...e,signal:o.signal})}catch(s){throw s instanceof Error&&s.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"claude",retryable:!0}):s}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,o){let n;for(let s=0;s<o;s++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&s<o-1){let l=T(s);await this.sleep(l);continue}return i}catch(i){if(n=E(i),s<o-1){let l=T(s);await this.sleep(l)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};import{spawn as Ue}from"node:child_process";var Ne=["ANTHROPIC_API_KEY","CLAUDE_API_KEY","ANTHROPIC_AUTH_TOKEN"],De={model:"sonnet",maxTokens:4096,temperature:.7,timeoutMs:12e4,maxRetries:1,binaryPath:"claude",maxConcurrency:2,disallowedTools:["Bash","Edit","Write","NotebookEdit","WebFetch","WebSearch","Task"]},W=class g{type="claude-code";name="Claude Code (subscription)";billingMode="subscription";config;requestId=0;availabilityCache;active=0;queue=[];constructor(t={}){this.config={...De,...t};let e=Number.parseInt(process.env.AQE_CLAUDE_CODE_CONCURRENCY??"",10);Number.isFinite(e)&&e>0&&(this.config.maxConcurrency=e)}async isAvailable(){let t=Date.now();if(this.availabilityCache&&t-this.availabilityCache.at<6e4)return this.availabilityCache.available;let e=!1;try{let{code:r}=await this.runProcess(["--version"],void 0,5e3);e=r===0}catch{e=!1}return this.availabilityCache={at:t,available:e},e}async healthCheck(){let t=Date.now(),e=await this.isAvailable(),r=Date.now()-t;return e?{healthy:!0,latencyMs:r,models:this.getSupportedModels(),details:{binaryPath:this.config.binaryPath,billing:"subscription"}}:{healthy:!1,latencyMs:r,error:`Claude Code CLI ("${this.config.binaryPath}") not found or not runnable. Install Claude Code and log in with your Pro/Max account.`}}async generate(t,e){let r=this.toCliModel(e?.model??this.config.model),o=`claude-code-${++this.requestId}-${Date.now()}`,{prompt:n,systemPrompt:s}=this.flatten(t,e?.systemPrompt),i=["-p","--output-format","json","--model",r];s&&i.push("--append-system-prompt",s);let l=this.config.disallowedTools??[];l.length>0&&i.push("--disallowedTools",...l);let p=Date.now(),m=e?.timeoutMs??this.config.timeoutMs??12e4,{code:c,stdout:u,stderr:d}=await this.withConcurrency(()=>this.runProcess(i,n,m)),h=Date.now()-p;if(c!==0&&!u.trim())throw this.classifyError(d||`claude exited with code ${c}`,r);let f;try{f=JSON.parse(u)}catch{throw a(`Could not parse claude -p JSON output: ${u.slice(0,200)}`,"PROVIDER_UNAVAILABLE",{provider:"claude-code",model:r,retryable:!0})}if(f.is_error)throw this.classifyError(f.result??f.api_error_status??"claude error",r);let b=f.usage??{},y={promptTokens:b.input_tokens??0,completionTokens:b.output_tokens??0,totalTokens:(b.input_tokens??0)+(b.output_tokens??0),cacheCreationTokens:b.cache_creation_input_tokens??0,cacheReadTokens:b.cache_read_input_tokens??0},C=f.modelUsage&&Object.keys(f.modelUsage)[0]||r;return v.recordTokenUsage(o,"claude-code-provider","llm","generate",{inputTokens:y.promptTokens,outputTokens:y.completionTokens,totalTokens:y.totalTokens,estimatedCostUsd:0}),{content:f.result??"",model:C,provider:"claude-code",usage:y,cost:{inputCost:0,outputCost:0,totalCost:0,currency:"USD",source:"provider-receipt"},latencyMs:h,finishReason:this.mapFinishReason(f.stop_reason),cached:!1,requestId:o}}async embed(t,e){throw a("Claude Code provider does not support embeddings. Use openai, ollama, or cognitum.","MODEL_NOT_FOUND",{provider:"claude-code",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256});return{completion:r.content,model:r.model,provider:"claude-code",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["opus","sonnet","haiku"]}getCostPerToken(){return{input:0,output:0}}async dispose(){}toCliModel(t){let e=t.toLowerCase();return e.includes("opus")?"opus":e.includes("haiku")?"haiku":e.includes("sonnet")?"sonnet":t}flatten(t,e){if(typeof t=="string")return{prompt:t,systemPrompt:e};let r=t.filter(n=>n.role==="system").map(n=>n.content);return e&&r.unshift(e),{prompt:t.filter(n=>n.role!=="system").map(n=>`${n.role==="assistant"?"Assistant":"User"}: ${n.content}`).join(`
|
|
23
23
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{c as f}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{c as f}from"./chunk-NW5XQQMC.js";import*as o from"fs";import*as n from"path";function u(){t=null}function g(c=process.cwd()){if(t)return t;if(process.env.AQE_PROJECT_ROOT)return t=process.env.AQE_PROJECT_ROOT,t;let l=c,a=n.parse(l).root,e=l,i=null,s=null,r=null;for(;e!==a;)o.existsSync(n.join(e,".agentic-qe"))&&i===null&&(i=e),o.existsSync(n.join(e,".git"))&&s===null&&(s=e),o.existsSync(n.join(e,"package.json"))&&(r=e),e=n.dirname(e);return i?t=i:s?t=s:r?t=r:t=process.cwd(),t}var t,p=f(()=>{"use strict";t=null});export{u as a,g as b,p as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as D}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a as D}from"./chunk-SBGMMCPJ.js";import{c as T,d as $}from"./chunk-TM55OOPV.js";import{a as j}from"./chunk-BC37ZYBO.js";import"./chunk-MRLPZMA3.js";import"./chunk-NW5XQQMC.js";import{Command as U}from"commander";import o from"chalk";import*as I from"fs";import*as p from"path";import*as F from"fs";import*as R from"path";var P={version:"1",name:"aqe-ci",phases:[{name:"Test Generation",type:"test",enabled:!0,config:{target:".",framework:"vitest",type:"unit"},continueOnFailure:!1,timeout:300},{name:"Coverage Analysis",type:"coverage",enabled:!0,config:{target:".",threshold:80},continueOnFailure:!0,timeout:300},{name:"Security Scan",type:"security",enabled:!0,config:{sast:!0},continueOnFailure:!0,timeout:300},{name:"Quality Gate",type:"quality-gate",enabled:!0,config:{},continueOnFailure:!1,timeout:60}],output:{format:"json",directory:".aqe-ci-output",combinedReport:!0},qualityGate:{enforced:!0,thresholds:{coverage:80,security:"medium",quality:70}}},Q=[".aqe-ci.yml",".aqe-ci.yaml","aqe-ci.yml","aqe-ci.yaml"];function G(s=process.cwd()){let n=R.resolve(s);for(let r=0;r<10;r++){for(let a of Q){let e=R.join(n,a);if(F.existsSync(e))return e}let l=R.dirname(n);if(l===n)break;n=l}return null}function x(s){if(!F.existsSync(s))return{success:!1,errors:[`Config file not found: ${s}`]};let n;try{n=F.readFileSync(s,"utf-8")}catch(r){return{success:!1,errors:[`Failed to read config: ${r}`]}}return N(n,s)}function N(s,n){let r=[],l;try{l=j(s)}catch(e){return{success:!1,errors:[`Invalid YAML: ${e}`]}}let a={version:l.version||P.version,name:l.name||P.name,phases:[],output:{...P.output},qualityGate:{...P.qualityGate,thresholds:{...P.qualityGate.thresholds}}};if(l.output&&typeof l.output=="object"){let e=l.output;e.format&&(a.output.format=e.format),e.directory&&(a.output.directory=e.directory),e.combined_report!==void 0&&(a.output.combinedReport=e.combined_report)}if(l.quality_gate&&typeof l.quality_gate=="object"){let e=l.quality_gate;if(e.enforced!==void 0&&(a.qualityGate.enforced=e.enforced),e.thresholds&&typeof e.thresholds=="object"){let t=e.thresholds;t.coverage!==void 0&&(a.qualityGate.thresholds.coverage=t.coverage),t.security!==void 0&&(a.qualityGate.thresholds.security=t.security),t.quality!==void 0&&(a.qualityGate.thresholds.quality=t.quality)}}if(l.phases&&Array.isArray(l.phases))for(let e=0;e<l.phases.length;e++){let t=l.phases[e];if(!t.name){r.push(`Phase ${e+1} must have a "name" field`);continue}if(!t.type){r.push(`Phase "${t.name}" must have a "type" field`);continue}let i=["test","coverage","security","quality-gate","code-intelligence","custom"];if(!i.includes(t.type)){r.push(`Phase "${t.name}" has invalid type "${t.type}". Valid: ${i.join(", ")}`);continue}let h={name:t.name,type:t.type,enabled:t.enabled!==!1,config:t.config||{},continueOnFailure:t.continue_on_failure||!1,timeout:t.timeout||300};a.phases.push(h)}else a.phases=[...P.phases];return a.phases.length===0&&r.push("Config must have at least one phase"),r.length>0?{success:!1,config:a,errors:r}:{success:!0,config:a,errors:[],configPath:n}}function E(){return{...P,phases:P.phases.map(s=>({...s,config:{...s.config}})),output:{...P.output},qualityGate:{...P.qualityGate,thresholds:{...P.qualityGate.thresholds}}}}async function W(s,n,r,l){let a=Date.now(),e=[];if(!s.enabled)return{phase:s.name,type:s.type,status:"skipped",duration:0,exitCode:0,summary:"Phase disabled",artifacts:[]};try{let t={},i="passed",h="";switch(s.type){case"test":{let f=await n.kernel.getDomainAPIAsync("test-generation");if(!f)return A(s,a,"failed",1,"Test generation domain not available",e);let C=s.config.target||".",{walkSourceFiles:m}=await import("./file-discovery-GJO7L2NH.js"),w=p.resolve(C),v=m(w,{includeTests:!1}),y=await f.generateTests({sourceFiles:v,testType:s.config.type||"unit",framework:s.config.framework||"vitest",coverageTarget:80});if(y.success&&y.value){let g=y.value;t={testsGenerated:g.tests.length,coverageEstimate:g.coverageEstimate},h=`Generated ${g.tests.length} tests (est. ${g.coverageEstimate}% coverage)`;let d=p.join(r,"test-generation.json");I.writeFileSync(d,$(g),"utf-8"),e.push(d)}else i="failed",h=y.error?.message||"Test generation failed";break}case"coverage":{let f=await n.kernel.getDomainAPIAsync("coverage-analysis");if(!f)return A(s,a,"failed",1,"Coverage analysis domain not available",e);let C=s.config.target||".",m=s.config.threshold||80,{walkSourceFiles:w}=await import("./file-discovery-GJO7L2NH.js"),v=p.resolve(C),y=w(v,{includeTests:!1}),g=D(y),d=await f.analyze({coverageData:g,threshold:m,includeFileDetails:!0});if(d.success&&d.value){let b=d.value;t={...b.summary,meetsThreshold:b.meetsThreshold,threshold:m},i=b.meetsThreshold?"passed":"warning",h=`Line: ${b.summary.line}%, Branch: ${b.summary.branch}% \u2014 ${b.meetsThreshold?"meets":"below"} ${m}% threshold`;let q=p.join(r,"coverage.json");I.writeFileSync(q,$(d.value),"utf-8"),e.push(q)}else i="failed",h=d.error?.message||"Coverage analysis failed";break}case"security":{let f=await n.kernel.getDomainAPIAsync("security-compliance");if(!f)return A(s,a,"failed",1,"Security domain not available",e);let C=s.config.target||".",{walkSourceFiles:m}=await import("./file-discovery-GJO7L2NH.js"),w=p.resolve(C),v=m(w,{includeTests:!0}),y=await f.runSASTScan(v);if(y.success&&y.value){let g=y.value,d=g.vulnerabilities||[],b=d.filter(S=>S.severity==="high"||S.severity==="critical").length;t={vulnerabilities:d.length,high:b},i=b>0?"failed":d.length>0?"warning":"passed",h=d.length===0?"No vulnerabilities found":`${d.length} vulnerabilities (${b} high/critical)`;let{toSARIF:q}=await import("./ci-output-ETGFFPKJ.js"),c=p.join(r,"security.sarif");I.writeFileSync(c,q({vulnerabilities:d,target:C,scanType:"SAST"}),"utf-8"),e.push(c);let u=p.join(r,"security.json");I.writeFileSync(u,$(g),"utf-8"),e.push(u)}else i="failed",h=y.error?.message||"Security scan failed";break}case"quality-gate":{let f=await n.kernel.getDomainAPIAsync("quality-assessment");if(!f)return A(s,a,"failed",1,"Quality assessment domain not available",e);let C=await f.evaluate({runGate:!0,includeAdvice:!0});if(C.success&&C.value){let m=C.value,w=m.passed??m.meetsThreshold??!0;t={passed:w,score:m.score||m.grade,checks:m.checks},i=w?"passed":"failed",h=`Quality gate: ${w?"PASSED":"FAILED"} (score: ${m.score||m.grade||"N/A"})`;let v=p.join(r,"quality-gate.json");I.writeFileSync(v,$(m),"utf-8"),e.push(v)}else i="failed",h=C.error?.message||"Quality gate evaluation failed";break}case"code-intelligence":{let f=await n.kernel.getDomainAPIAsync("code-intelligence");if(!f)return A(s,a,"failed",1,"Code intelligence domain not available",e);let C=s.config.target||".",{walkSourceFiles:m}=await import("./file-discovery-GJO7L2NH.js"),w=p.resolve(C),v=m(w,{includeTests:!1}),y=await f.index({paths:v,incremental:!0});if(y.success&&y.value){let g=y.value;t=g,h=`Indexed ${g.filesIndexed} files, ${g.nodesCreated} nodes`;let d=p.join(r,"code-intelligence.json");I.writeFileSync(d,$(g),"utf-8"),e.push(d)}else i="warning",h=y.error?.message||"Code intelligence indexing incomplete";break}default:h=`Custom phase "${s.name}" \u2014 no built-in handler`,i="warning"}let k=Date.now()-a;return{phase:s.name,type:s.type,status:i,duration:k,exitCode:i==="failed"?1:0,summary:h,artifacts:e,details:t}}catch(t){let i=Date.now()-a;return{phase:s.name,type:s.type,status:"failed",duration:i,exitCode:1,summary:`Error: ${t instanceof Error?t.message:String(t)}`,artifacts:e}}}function A(s,n,r,l,a,e){return{phase:s.name,type:s.type,status:r,duration:Date.now()-n,exitCode:l,summary:a,artifacts:e}}function _(s){let n=`# AQE CI/CD Report
|
|
3
3
|
|
|
4
4
|
`;n+=`**Status:** ${s.overallStatus==="passed"?"PASSED":s.overallStatus==="warning"?"WARNING":"FAILED"}
|
|
5
5
|
`,n+=`**Duration:** ${(s.duration/1e3).toFixed(1)}s
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-TM55OOPV.js";import"./chunk-NW5XQQMC.js";export{a as FORMAT_OPTION,b as OUTPUT_OPTION,g as coverageToMarkdown,h as qualityGateToMarkdown,i as securityToMarkdown,j as testRunToMarkdown,d as toJSON,f as toJUnit,e as toSARIF,c as writeOutput};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a,b}from"./chunk-VJDGJ6CW.js";import"./chunk-NW5XQQMC.js";export{a as AdvisorCircuitBreaker,b as AdvisorCircuitBreakerError};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as g}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as g}from"./chunk-TQL4CSAS.js";import{b as f,d as h}from"./chunk-HD22NMGP.js";import{a as d,c as v}from"./chunk-XKKCH24C.js";import{a as b}from"./chunk-NW5XQQMC.js";h();v();import{existsSync as c,writeFileSync as p,readFileSync as m}from"node:fs";import{join as a}from"node:path";async function C(t,e){let o=g(t);if(e&&o.available&&console.log(`[ClaudeFlow] Detected via ${o.method}${o.version?`: v${o.version}`:""}`),!o.available)return{available:!1};let r={"mcp-config":"mcp","local-binary":"cli","npx-cached":"cli","npm-dependency":"npm"};return{available:!0,version:o.version,method:o.method?r[o.method]:void 0}}async function S(t){return{trajectories:!0,modelRouting:!0,pretrain:!0,workers:!0,patternSearch:!0}}function F(t,e){return{version:"1.0",projectRoot:t,integration:{enabled:!0,features:{trajectories:e.trajectories,modelRouting:e.modelRouting,pretrain:e.pretrain,workers:e.workers}},learning:{trajectoryStorage:e.trajectories?"claude-flow":"local",patternSearch:e.patternSearch?"claude-flow":"local"},routing:{modelRouting:e.modelRouting?"claude-flow":"rule-based",preferences:{simple:"haiku",standard:"sonnet",complex:"opus"}},pretrain:{enabled:e.pretrain,depth:"medium",autoRun:!0},workers:{enabled:e.workers,autoDispatch:["optimize","consolidate"]}}}function y(t){let e=a(t,".claude","settings.json"),o={};if(c(e))try{o=f(m(e,"utf-8"))}catch{}o.mcpServers||(o.mcpServers={});let r=o.mcpServers;!r.ruflo&&!r["claude-flow"]&&(r.ruflo={command:"npx",args:["ruflo@3.5.18","mcp"],env:{}}),p(e,JSON.stringify(o,null,2))}async function q(t){let{projectRoot:e,force:o,checkOnly:r,debug:s}=t,n=await C(e,s);if(!n.available&&!o)return{available:!1,features:{trajectories:!1,modelRouting:!1,pretrain:!1,workers:!1,patternSearch:!1}};let l=await S(e);if(r)return{available:n.available,version:n.version,features:l};let w=a(e,".agentic-qe"),u=a(w,"claude-flow-integration.json");try{let i=F(e,l);p(u,JSON.stringify(i,null,2)),s&&console.log(`[ClaudeFlow] Config written to: ${u}`)}catch(i){return{available:n.available,version:n.version,features:l,error:`Failed to write config: ${d(i)}`}}try{y(e)}catch(i){s&&console.log("[ClaudeFlow] MCP config update failed:",d(i))}return{available:!0,version:n.version,features:l,configPath:u}}function O(t){let e=a(t,".agentic-qe","claude-flow-integration.json");return c(e)}function $(t){let e=a(t,".agentic-qe","claude-flow-integration.json");if(!c(e))return null;try{return f(m(e,"utf-8"))}catch{return null}}function D(t){let e=a(t,".agentic-qe","claude-flow-integration.json");if(c(e))try{return b("node:fs").rmSync(e),!0}catch{return!1}return!0}export{$ as getClaudeFlowConfig,O as isClaudeFlowConfigured,D as removeClaudeFlowIntegration,q as setupClaudeFlowIntegration};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{c as a,d as b,e as c}from"./chunk-MMNNQ5PO.js";import"./chunk-E2OORKCW.js";import"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as f}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as f}from"./chunk-W4CW6TKP.js";import{a as m,c as v}from"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";v();import{existsSync as s,mkdirSync as p,readFileSync as u,writeFileSync as a}from"fs";import{join as h,dirname as d}from"path";var l=class{projectRoot;overwrite;options;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=f()}async install(){let e={success:!0,mcpConfigured:!1,modeInstalled:!1,errors:[],configPath:"",modePath:""};try{let t=this.generator.generateMcpConfig("cline",{memoryBackend:this.options.memoryBackend}),r=h(this.projectRoot,t.path);if(e.configPath=r,!s(r)||this.overwrite){let o=d(r);if(s(o)||p(o,{recursive:!0}),s(r)&&this.overwrite){let c=this.mergeExistingConfig(r,t.content);a(r,c)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("cline"),i=h(this.projectRoot,n.path);if(e.modePath=i,!s(i)||this.overwrite){let o=d(i);if(s(o)||p(o,{recursive:!0}),s(i)&&this.overwrite){let c=this.mergeExistingModes(i,n.content);a(i,c)}else a(i,n.content);e.modeInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Cline installation failed: ${m(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(u(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
|
|
3
3
|
`}catch{return t}}mergeExistingModes(e,t){try{let r=JSON.parse(u(e,"utf-8")),n=JSON.parse(t);if(!Array.isArray(r))return t;let i=r.filter(o=>o.slug!=="qe-engineer");return i.push(...n),JSON.stringify(i,null,2)+`
|
|
4
4
|
`}catch{return t}}};function x(g){return new l(g)}export{l as ClineInstaller,x as createClineInstaller};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as T,b as D}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a as T,b as D}from"./chunk-JKSAZL2F.js";import{c as h,d as v}from"./chunk-TM55OOPV.js";import"./chunk-NW5XQQMC.js";import{Command as z}from"commander";import e from"chalk";function O(A,p,P){return new z("code").description("Code intelligence analysis").argument("<action>","Action (index|search|impact|deps|complexity|c4)").argument("[target]","Target path or query").option("--depth <depth>","Analysis depth","3").option("--include-tests","Include test files").option("--incremental","Incremental indexing (index action only)").option("--git-since <ref>","Index changes since git ref (index action only)").option("--level <level>","C4 level for c4 action (context|container|component|all)","all").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").addHelpText("after",`
|
|
3
3
|
Examples:
|
|
4
4
|
aqe code index src/ Index source files into knowledge graph
|
|
5
5
|
aqe code index src/ --incremental Incremental index (only changed files)
|
package/dist/cli/chunks/{code-index-extractor-TVG2V2NY.js → code-index-extractor-JIYCGDUF.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import"./chunk-NW5XQQMC.js";import{readFile as m}from"fs/promises";var d=new Set(["if","for","while","switch","catch","return","new","throw","import","export","constructor"]),h=50;function x(o,c){let n=c.split(`
|
|
3
3
|
`),e=[],i=[];for(let t=0;t<n.length;t++){let s=n[t],a=s.match(/(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+(\w+)/);if(a){e.push({type:"function",name:a[1],lineStart:t+1});continue}let l=s.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s+)?(?:\([^)]*\)|[a-zA-Z_]\w*)\s*(?::\s*[^=]+)?\s*=>/);if(l){e.push({type:"function",name:l[1],lineStart:t+1});continue}let u=s.match(/(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+(\w+)/);if(u){e.push({type:"class",name:u[1],lineStart:t+1});continue}let f=s.match(/(?:export\s+)?interface\s+(\w+)/);if(f){e.push({type:"interface",name:f[1],lineStart:t+1});continue}let r=s.match(/^\s+(?:(?:public|private|protected|static|readonly|override|abstract|async)\s+)*(\w+)\s*(?:<[^>]*>)?\s*\([^)]*\)\s*(?::\s*[^{]+)?\s*\{?\s*$/);if(r&&!d.has(r[1])){e.push({type:"function",name:r[1],lineStart:t+1});continue}let p=s.match(/(?:import|from)\s+['"](\.[^'"]+)['"]/);p&&i.push(p[1])}return{path:o,entities:e,imports:i}}async function y(o){let c=[];for(let n=0;n<o.length;n+=h){let e=o.slice(n,n+h),i=await Promise.allSettled(e.map(async t=>{let s=await m(t,"utf-8");return x(t,s)}));for(let t of i)t.status==="fulfilled"&&c.push(t.value)}return{files:c}}export{y as extractCodeIndex};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as I}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a as I}from"./chunk-HBM423QM.js";import{b as O}from"./chunk-W4CW6TKP.js";import{a as w,c as T}from"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";T();import{copyFileSync as y,existsSync as c,mkdirSync as x,readFileSync as R,readdirSync as N,statSync as S,writeFileSync as C}from"fs";import{join as s,dirname as E}from"path";import{fileURLToPath as A}from"url";var j=class h{projectRoot;overwrite;options;generator;static AGENTS_START="<!-- BEGIN AGENTIC-QE CODEX -->";static AGENTS_END="<!-- END AGENTIC-QE CODEX -->";constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=O()}async install(){let e={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,hooksConfigured:!1,skillsInstalled:0,errors:[],configPath:"",agentsMdPath:"",hooksPath:s(this.projectRoot,".codex","hooks.json"),skillsPath:s(this.projectRoot,".agents","skills"),components:{mcp:{status:"skipped"},rules:{status:"skipped"},hooks:{status:"unavailable"},skills:{status:"unavailable"}}};try{let t=this.generator.generateMcpConfig("codex",{memoryBackend:this.options.memoryBackend}),o=s(this.projectRoot,t.path);e.configPath=o;let n=c(o);if(this.options.installMcp!==!1&&(!n||this.overwrite)){let i=E(o);if(c(i)||x(i,{recursive:!0}),c(o)&&this.overwrite){let u=this.mergeExistingTomlConfig(o,t.content);C(o,u)}else C(o,t.content);e.mcpConfigured=!0,e.components.mcp.status=n?"updated":"installed"}else this.options.installMcp!==!1&&n&&(e.components.mcp.status="preserved")}catch(t){this.recordComponentFailure(e,"mcp",t)}try{let t=this.generator.generateBehavioralRules("codex"),o=s(this.projectRoot,t.path);e.agentsMdPath=o;let n=c(o);if(!n||this.overwrite){if(n&&this.overwrite){let i=this.mergeExistingAgentsMd(o,t.content);C(o,i)}else C(o,this.markAgentsSection(t.content));e.agentsMdInstalled=!0,e.components.rules.status=n?"updated":"installed"}else e.components.rules.status="preserved"}catch(t){this.recordComponentFailure(e,"rules",t)}try{e.components.hooks.status=this.installCodexHooks(e)}catch(t){this.recordComponentFailure(e,"hooks",t)}try{let t=this.installCodexSkills();e.skillsInstalled=t.count,e.components.skills.status=t.status}catch(t){this.recordComponentFailure(e,"skills",t)}return e.success=e.errors.length===0,e}recordComponentFailure(e,t,o){let n=w(o);e.components[t]={status:"failed",error:n},e.errors.push(`Codex ${t} installation failed: ${n}`)}installCodexHooks(e){let t=this.resolvePackageRoot();if(!t)return"unavailable";let o=s(t,".codex","hooks.json"),n=s(t,".codex","hooks");if(!c(o)||!c(n))return"unavailable";let i=s(this.projectRoot,".codex"),u=s(i,"hooks");x(u,{recursive:!0});for(let r of N(n)){if(!this.options.includeRuflo&&r==="ruflo-codex-hook.cjs")continue;let g=s(n,r);if(!S(g).isFile())continue;let k=s(u,r);(!c(k)||this.overwrite)&&y(g,k)}let l=[{source:s(t,".claude","hooks","aqe-hook.cjs"),target:s(u,"aqe-runtime.cjs")},...this.options.includeRuflo?[{source:s(t,".claude","helpers","ruflo-hook.cjs"),target:s(u,"ruflo-runtime.cjs")}]:[]];for(let r of l)c(r.source)&&(!c(r.target)||this.overwrite)&&y(r.source,r.target);let a=JSON.parse(R(o,"utf-8")),p=r=>JSON.stringify(r).includes("ruflo-codex-hook.cjs"),m={...a,hooks:Object.fromEntries(Object.entries(a.hooks||{}).map(([r,g])=>[r,this.options.includeRuflo?g:g.filter(k=>!p(k))]))},d=s(i,"hooks.json");if(!c(d))return C(d,JSON.stringify(m,null,2)+`
|
|
3
3
|
`),e.hooksConfigured=!0,"installed";let f=JSON.parse(R(d,"utf-8")),v=r=>JSON.stringify(r).includes("/.codex/hooks/aqe-codex-hook.cjs")||JSON.stringify(r).includes("/.codex/hooks/ruflo-codex-hook.cjs"),b={},P=new Set([...Object.keys(f.hooks||{}),...Object.keys(m.hooks||{})]);for(let r of P){let g=(f.hooks?.[r]||[]).filter(k=>!v(k));b[r]=[...g,...m.hooks?.[r]||[]]}return C(d,JSON.stringify({...f,description:m.description,hooks:b},null,2)+`
|
|
4
4
|
`),e.hooksConfigured=!0,"updated"}installCodexSkills(){let e=this.resolvePackageRoot();if(!e)return{count:0,status:"unavailable"};let t=s(e,".agents","skills");if(!c(t))return{count:0,status:"unavailable"};let o=s(this.projectRoot,".agents","skills");x(o,{recursive:!0});let n=0,i=0;for(let l of I({includeRuflo:this.options.includeRuflo})){let a=s(t,l.name);if(!c(a)||!S(a).isDirectory())throw new Error(`Missing packaged Codex skill directory: ${l.name}`);let p=s(o,l.name);if(c(p)&&!this.overwrite)continue;let m=c(p);if(l.files){x(p,{recursive:!0});for(let d of l.files){let f=s(a,d);if(!c(f)||!S(f).isFile())throw new Error(`Missing packaged Codex skill file: ${l.name}/${d}`);let v=s(p,d);x(E(v),{recursive:!0}),y(f,v)}}else this.copyDirectory(a,p);m?i++:n++}return{count:n+i,status:i>0?"updated":n>0?"installed":"preserved"}}copyDirectory(e,t){x(t,{recursive:!0});for(let o of N(e)){let n=s(e,o),i=s(t,o);S(n).isDirectory()?this.copyDirectory(n,i):y(n,i)}}resolvePackageRoot(){let e=E(A(import.meta.url));return[s(e,"..",".."),s(E(process.argv[1]||""),"..",".."),s(this.projectRoot,"node_modules","agentic-qe")].find(o=>c(s(o,".codex","hooks.json"))||c(s(o,".agents","skills")))}mergeExistingTomlConfig(e,t){let o=R(e,"utf-8"),n=/^\s*\[mcp_servers\.(?:agentic-qe|"agentic-qe")(?:\.(?:[^\]]+))?\]\s*(?:#.*)?$/,i=o.split(/\r?\n/),u=[],l=!1;for(let a of i)/^\s*\[[^\]]+\]\s*(?:#.*)?$/.test(a)&&(l=n.test(a)),l||u.push(a);return u.join(`
|
|
5
5
|
`).trimEnd()+`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import"./chunk-NW5XQQMC.js";import{Command as v}from"commander";import o from"chalk";var c=["test-generation","test-execution","coverage-analysis","quality-assessment","defect-intelligence","requirements-validation","code-intelligence","security-compliance","contract-testing","visual-accessibility","chaos-resilience","learning-optimization"],a=["qe-tdd-specialist","qe-test-architect","qe-parallel-executor","qe-flaky-hunter","qe-retry-handler","qe-coverage-specialist","qe-gap-detector","qe-quality-gate","qe-deployment-advisor","qe-code-complexity","qe-qx-partner","qe-security-scanner","qe-security-auditor","qe-contract-validator","qe-integration-tester","qe-graphql-tester","qe-visual-tester","qe-accessibility-auditor","qe-responsive-tester","qe-performance-tester","qe-load-tester","qe-chaos-engineer","qe-code-intelligence","qe-dependency-mapper","qe-kg-builder","qe-requirements-validator","qe-bdd-generator","qe-defect-predictor","qe-root-cause-analyzer","qe-regression-analyzer","qe-impact-analyzer","qe-risk-assessor","qe-learning-coordinator","qe-pattern-learner","qe-transfer-specialist","qe-metrics-optimizer","qe-fleet-commander","qe-queen-coordinator","qe-property-tester","qe-mutation-tester","qe-tdd-red","qe-tdd-green","qe-tdd-refactor","qe-code-reviewer","qe-integration-reviewer","qe-performance-reviewer","qe-security-reviewer"],i=["tester","reviewer","security-auditor","security-architect","performance-engineer","code-analyzer","cicd-engineer","reasoningbank-learner","adr-architect","ddd-domain-expert","v3-integration-architect","memory-specialist","claims-authorizer","sparc-orchestrator","sona-learning-optimizer","safla-neural","production-validator","tdd-london-swarm","queen-coordinator","swarm-memory-manager","worker-specialist","collective-intelligence-coordinator","scout-explorer","adaptive-coordinator","mesh-coordinator","hierarchical-coordinator","consensus-coordinator","byzantine-coordinator","raft-manager","crdt-synchronizer","n8n-workflow-executor","n8n-unit-tester","n8n-integration-test","n8n-trigger-test","n8n-security-auditor"],P=[...a,...i];var p=["generate-tests","execute-tests","analyze-coverage","assess-quality","predict-defects","validate-requirements","analyze-code","scan-security","validate-contracts","test-accessibility","chaos-test","optimize-learning"],b=["p0","p1","p2","p3"],y=["pending","running","completed","failed","cancelled"],d=["jest","vitest","pytest","junit","playwright","cypress","go-test","node-test"],w=["unit","integration","e2e"],C=["sqlite","agentdb","hybrid"];function q(){return`#!/bin/bash
|
|
3
3
|
# AQE CLI Bash Completion Script
|
|
4
4
|
# Generated by aqe completions bash
|
|
5
5
|
# ADR-041: Shell Completions for Enhanced Developer Experience
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i}from"./chunk-7QJ344ZA.js";import"./chunk-Y7ALSL72.js";import"./chunk-CB6FBMND.js";import"./chunk-NW5XQQMC.js";export{g as ComplexityAnalyzer,c as ScoreCalculator,a as SignalCollector,e as TierRecommender,h as createComplexityAnalyzer,i as createComplexityAnalyzerWithDependencies,d as createScoreCalculator,b as createSignalCollector,f as createTierRecommender};
|
package/dist/cli/chunks/{continuedev-installer-HKLZR3UO.js → continuedev-installer-YWTPGW7K.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as m}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as m}from"./chunk-W4CW6TKP.js";import{a as u,c as h}from"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";h();import{existsSync as i,mkdirSync as g,readFileSync as d,writeFileSync as a}from"fs";import{join as f,dirname as p}from"path";var c=class{projectRoot;overwrite;options;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=m()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let r=this.generator.generateMcpConfig("continuedev",{memoryBackend:this.options.memoryBackend}),t=f(this.projectRoot,r.path);if(e.configPath=t,!i(t)||this.overwrite){let o=p(t);if(i(o)||g(o,{recursive:!0}),i(t)&&this.overwrite){let v=this.mergeExistingYamlConfig(t,r.content);a(t,v)}else a(t,r.content);e.mcpConfigured=!0}let s=this.generator.generateBehavioralRules("continuedev"),n=f(this.projectRoot,s.path);if(e.rulesPath=n,!i(n)||this.overwrite){let o=p(n);i(o)||g(o,{recursive:!0}),a(n,s.content),e.rulesInstalled=!0}}catch(r){e.success=!1,e.errors.push(`Continue.dev installation failed: ${u(r)}`)}return e}mergeExistingYamlConfig(e,r){try{let t=d(e,"utf-8");if(t.includes("agentic-qe"))return t;if(t.includes("mcpServers:")){let n=` - name: agentic-qe
|
|
3
3
|
command: npx
|
|
4
4
|
args:
|
|
5
5
|
- "-y"
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as g}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as g}from"./chunk-W4CW6TKP.js";import{a as p,c as v}from"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";v();import{existsSync as s,mkdirSync as f,readFileSync as C,writeFileSync as l}from"fs";import{join as u,dirname as m}from"path";var a=class{projectRoot;overwrite;options;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.options=t,this.generator=g()}async install(){let t={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let r=this.generator.generateMcpConfig("copilot",{memoryBackend:this.options.memoryBackend}),e=u(this.projectRoot,r.path);if(t.configPath=e,!s(e)||this.overwrite){let o=m(e);if(s(o)||f(o,{recursive:!0}),s(e)&&this.overwrite){let h=this.mergeExistingConfig(e,r.content);l(e,h)}else l(e,r.content);t.mcpConfigured=!0}let i=this.generator.generateBehavioralRules("copilot"),n=u(this.projectRoot,i.path);if(t.rulesPath=n,!s(n)||this.overwrite){let o=m(n);s(o)||f(o,{recursive:!0}),l(n,i.content),t.rulesInstalled=!0}}catch(r){t.success=!1,t.errors.push(`Copilot installation failed: ${p(r)}`)}return t}mergeExistingConfig(t,r){try{let e=JSON.parse(C(t,"utf-8")),i=JSON.parse(r);return e.servers||(e.servers={}),Object.assign(e.servers,i.servers),JSON.stringify(e,null,2)+`
|
|
3
3
|
`}catch{return r}}};function R(c){return new a(c)}export{a as CopilotInstaller,R as createCopilotInstaller};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l}from"./chunk-M7O7UKP3.js";import"./chunk-HP76TI6A.js";import"./chunk-GO6GSIHE.js";import"./chunk-AMTA6V5L.js";import"./chunk-OWWLOSVW.js";import"./chunk-756OZOSH.js";import"./chunk-XIJGRH5I.js";import"./chunk-Y5JWDXGB.js";import"./chunk-U6O3CFIW.js";import"./chunk-YISGZEZR.js";import"./chunk-SLTIRAYZ.js";import"./chunk-CDVGXGUX.js";import"./chunk-CK2I5QTK.js";import"./chunk-DZHVLIR6.js";import"./chunk-SYPXKVVR.js";import"./chunk-D2SHZXX7.js";import"./chunk-X6VCAUOX.js";import"./chunk-BU6HG2RT.js";import"./chunk-PTAX4IY2.js";import"./chunk-X6MSSQFP.js";import"./chunk-HQQI4ZEO.js";import"./chunk-SEOOA2FX.js";import"./chunk-Q53NBMNL.js";import"./chunk-BTCQJOI2.js";import"./chunk-IYOGT6HD.js";import"./chunk-ACZ7CNBM.js";import"./chunk-HRAU4ZC3.js";import"./chunk-MMNNQ5PO.js";import"./chunk-3KSB2PDF.js";import"./chunk-XUB5UG7C.js";import"./chunk-LXGDJ5TO.js";import"./chunk-X4FHVATG.js";import"./chunk-ICET3FUT.js";import"./chunk-4GTPYV66.js";import"./chunk-CR5ZQXMN.js";import"./chunk-SXSCWO6M.js";import"./chunk-FSKEQ625.js";import"./chunk-CB23FNZW.js";import"./chunk-PIPV2C7N.js";import"./chunk-ZLWYE47I.js";import"./chunk-N7ITWNQP.js";import"./chunk-2Q7T3PL4.js";import"./chunk-WMRLLJDW.js";import"./chunk-3UENFJEV.js";import"./chunk-ZKOIWNH7.js";import"./chunk-E2OORKCW.js";import"./chunk-W2FT6OUU.js";import"./chunk-YEGZUE6G.js";import"./chunk-YWISQTXQ.js";import"./chunk-5QZAXVUI.js";import"./chunk-YRSKYBOL.js";import"./chunk-MLFS3MVR.js";import"./chunk-J3EDJVZR.js";import"./chunk-PDIJAWCK.js";import"./chunk-GVX4IAKF.js";import"./chunk-WIDOUTFF.js";import"./chunk-OZSYL2CL.js";import"./chunk-MQKQTX4T.js";import"./chunk-3OJWLZIO.js";import"./chunk-7QJ344ZA.js";import"./chunk-Y7ALSL72.js";import"./chunk-CB6FBMND.js";import"./chunk-L24DBYXX.js";import"./chunk-QWACAQQ4.js";import"./chunk-6H3VRSJ4.js";import"./chunk-ZNJJLA64.js";import"./chunk-WR3PYP6X.js";import"./chunk-6BNPFSFE.js";import"./chunk-2GD3RLVF.js";import"./chunk-UGBHQC32.js";import"./chunk-22TNTFEN.js";import"./chunk-2CSKJ5JM.js";import"./chunk-2CJ5V2DT.js";import"./chunk-PZS742LW.js";import"./chunk-CZTNTQZA.js";import"./chunk-P6PRMORM.js";import"./chunk-EO3RV7QV.js";import"./chunk-D45ZSWZD.js";import"./chunk-DKX6SIVF.js";import"./chunk-D53CCDCD.js";import"./chunk-BS4ZARET.js";import"./chunk-AGJG5PAS.js";import"./chunk-UJ5KZ764.js";import"./chunk-YHV23E6J.js";import"./chunk-DPQ2IANL.js";import"./chunk-5LLHM6NK.js";import"./chunk-M3PXWTNF.js";import"./chunk-NXTV6EJQ.js";import"./chunk-TQL4CSAS.js";import"./chunk-GPRPGL5N.js";import"./chunk-A3V4SRLU.js";import"./chunk-UK2267F4.js";import"./chunk-426SRHIW.js";import"./chunk-SSIOQDWN.js";import"./chunk-C37IK75J.js";import"./chunk-K6XYLMXO.js";import"./chunk-PVUQMV6P.js";import"./chunk-ZO6QWQ2G.js";import"./chunk-HD22NMGP.js";import"./chunk-5P2K6VVS.js";import"./chunk-YCL7OWK3.js";import"./chunk-RWSBQ2AD.js";import"./chunk-MRLPZMA3.js";import"./chunk-XKKCH24C.js";import"./chunk-YTBW2SLZ.js";import"./chunk-XONUAS4K.js";import"./chunk-QYZLZ6P3.js";import"./chunk-YLFM5AZ4.js";import"./chunk-CDBTYQ4N.js";import"./chunk-7TK24XF7.js";import"./chunk-NJ7SVXE6.js";import"./chunk-7VWAKVRE.js";import"./chunk-XJT6TR5E.js";import"./chunk-SECJ2IQE.js";import"./chunk-DW5F6DJM.js";import"./chunk-NW5XQQMC.js";export{c as adoptExternalFleet,e as assignAgentLevel,k as disposeFleet,f as getAgentLevel,g as getAllAgentLevels,a as getFleetState,d as getFleetTopology,l as handleAQEHealth,j as handleFleetHealth,h as handleFleetInit,i as handleFleetStatus,b as isFleetInitialized};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a,b,c,d}from"./chunk-CZTNTQZA.js";import"./chunk-NW5XQQMC.js";export{b as CostTracker,a as MODEL_PRICING,c as getGlobalCostTracker,d as resetGlobalCostTracker};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as u,b as j,c as F,d as x,e as N,f as O,g as L,h as D,i as B,j as M}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a as u,b as j,c as F,d as x,e as N,f as O,g as L,h as D,i as B,j as M}from"./chunk-I6LGE3DO.js";import{a as V}from"./chunk-SBGMMCPJ.js";import{b as I}from"./chunk-JKSAZL2F.js";import{c as P,d as W,g as G}from"./chunk-TM55OOPV.js";import"./chunk-NW5XQQMC.js";import{Command as q}from"commander";import e from"chalk";var R={low:{minRisk:.7,maxGaps:10,description:"Only critical gaps with high risk scores"},medium:{minRisk:.5,maxGaps:20,description:"Moderate gaps including medium risk items"},high:{minRisk:.3,maxGaps:50,description:"All gaps including low risk items"}},$=class extends M{constructor(t={}){super(t)}getTitle(){return"Coverage Analysis Wizard"}getSubtitle(){return"Analyze code coverage with O(log n) gap detection"}getConfirmationPrompt(){return"Proceed with coverage analysis?"}isNonInteractive(){return this.options.nonInteractive??!1}getCommands(){return[new D({id:"target",stepNumber:"1/7",title:"Target Directory",description:"Enter the directory or file to analyze for coverage",examples:"src/, ./lib, coverage/lcov.info",defaultValue:this.options.defaultTarget||".",suggestionsProvider:j.getCoverageTargets,validatePath:!0}),new x({id:"sensitivity",stepNumber:"2/7",title:"Gap Detection Sensitivity",description:"Select how sensitive the gap detection should be",options:[{key:"1",value:"low",label:"low",description:R.low.description},{key:"2",value:"medium",label:"medium",description:R.medium.description},{key:"3",value:"high",label:"high",description:R.high.description}],defaultValue:this.options.defaultSensitivity||"medium",validValues:["low","medium","high"]}),new x({id:"format",stepNumber:"3/7",title:"Report Format",description:"Select the output format for the coverage report",options:[{key:"1",value:"json",label:"json",description:"JSON - Machine-readable, good for CI/CD pipelines"},{key:"2",value:"html",label:"html",description:"HTML - Interactive, visual report with charts"},{key:"3",value:"markdown",label:"markdown",description:"Markdown - Documentation-friendly format"},{key:"4",value:"text",label:"text",description:"Text - Simple console output"}],defaultValue:this.options.defaultFormat||"json",validValues:["json","html","markdown","text"]}),new N({id:"priorityFocus",stepNumber:"4/7",title:"Priority Focus Areas",description:"Select coverage metrics to prioritize (comma-separated or numbers)",instructions:"Example: 1,2 or functions,branches",options:[{key:"1",value:"functions",label:"functions",description:"Functions - Focus on function coverage"},{key:"2",value:"branches",label:"branches",description:"Branches - Focus on branch/decision coverage"},{key:"3",value:"lines",label:"lines",description:"Lines - Focus on line coverage"},{key:"4",value:"statements",label:"statements",description:"Statements - Focus on statement coverage"}],defaultValue:this.options.defaultPriorityFocus||["functions","branches"],validValues:["functions","branches","lines","statements"]}),new O({id:"riskScoring",stepNumber:"5/7",title:"Enable risk scoring",description:"Enable risk scoring to prioritize coverage gaps by potential impact",additionalInfo:"Risk scores consider code complexity, change frequency, and criticality",defaultValue:this.options.defaultRiskScoring??!0}),new L({id:"threshold",stepNumber:"6/7",title:"Coverage threshold %",description:"Set the minimum coverage percentage required. Files below this threshold will be flagged.",presets:[{key:"1",value:60,label:"60% - Legacy/maintenance projects"},{key:"2",value:70,label:"70% - Standard projects"},{key:"3",value:80,label:"80% - Quality-focused projects"},{key:"4",value:90,label:"90% - Critical/high-reliability projects"}],defaultValue:this.options.defaultThreshold||80,min:0,max:100}),new B({id:"patterns",stepNumber:"7/7",title:"File Patterns (Optional)",description:"Specify patterns to include or exclude from analysis. Leave blank to analyze all files."})]}buildResult(t){let h=t.patterns;return{target:t.target,sensitivity:t.sensitivity,format:t.format,priorityFocus:t.priorityFocus,riskScoring:t.riskScoring,threshold:t.threshold,includePatterns:h?.include,excludePatterns:h?.exclude,cancelled:!1}}printSummary(t){u.printSummaryHeader();let h=F.relativePath(t.target,this.cwd);u.printSummaryField("Target",h),u.printSummaryField("Sensitivity",t.sensitivity),u.printSummaryField("Report Format",t.format),u.printSummaryField("Priority Focus",t.priorityFocus.join(", ")),u.printSummaryField("Risk Scoring",F.enabledDisabled(t.riskScoring)),u.printSummaryField("Threshold",F.percentage(t.threshold)),t.includePatterns&&t.includePatterns.length>0&&u.printSummaryField("Include",t.includePatterns.join(", ")),t.excludePatterns&&t.excludePatterns.length>0&&u.printSummaryField("Exclude",t.excludePatterns.join(", "));let b=R[t.sensitivity];u.printDerivedSettings({"Min risk score":String(b.minRisk),"Max gaps shown":String(b.maxGaps)})}getDefaults(){return{target:this.options.defaultTarget||this.cwd,sensitivity:this.options.defaultSensitivity||"medium",format:this.options.defaultFormat||"json",priorityFocus:this.options.defaultPriorityFocus||["functions","branches"],riskScoring:this.options.defaultRiskScoring??!0,threshold:this.options.defaultThreshold||80,cancelled:!1}}getCancelled(){return{target:".",sensitivity:"medium",format:"json",priorityFocus:["functions","branches"],riskScoring:!0,threshold:80,cancelled:!0}}};async function E(p={}){return new $(p).run()}function z(p){return p>=80?e.green:p>=50?e.yellow:e.red}function te(p,t,h){let b=new q("coverage").description("Coverage analysis shortcut").argument("[target]","Target file or directory",".").option("--risk","Include risk scoring").option("--gaps","Detect coverage gaps").option("--threshold <percent>","Coverage threshold percentage","80").option("--sensitivity <level>","Gap detection sensitivity (low|medium|high)","medium").option("--wizard","Run interactive coverage analysis wizard").option("--ghost","Include ghost intent coverage analysis (detect untested behavioral intents)").option("-F, --format <format>","Output format (text|json|markdown)","text").option("-o, --output <path>","Write output to file").action(async(y,i)=>{let g=y,w=i.risk,k=i.gaps,d=parseInt(i.threshold,10);if(i.wizard)try{let s=await E({defaultTarget:y!=="."?y:void 0,defaultThreshold:i.threshold!=="80"?parseInt(i.threshold,10):void 0,defaultRiskScoring:i.risk,defaultSensitivity:i.sensitivity!=="medium"?i.sensitivity:void 0});s.cancelled&&(console.log(e.yellow(`
|
|
3
3
|
Coverage analysis cancelled.
|
|
4
4
|
`)),await t(0)),g=s.target,w=s.riskScoring,k=!0,d=s.threshold,console.log(e.green(`
|
|
5
5
|
Starting coverage analysis...
|
|
@@ -19,7 +19,7 @@ import{a as u,b as j,c as F,d as x,e as N,f as O,g as L,h as D,i as B,j as M}fro
|
|
|
19
19
|
Risk Analysis:`));let o=[...c.files].sort((n,r)=>n.lines.covered/n.lines.total-r.lines.covered/r.lines.total).slice(0,5);for(let n of o){let r=await s.calculateRisk({file:n.path,uncoveredLines:n.uncoveredLines});if(r.success&&r.value){let l=r.value,C=l.riskLevel==="high"?e.red:l.riskLevel==="medium"?e.yellow:e.green,A=n.path.replace(process.cwd()+"/","");console.log(` ${C(`[${l.riskLevel}]`)} ${e.white(A)}`),console.log(e.gray(` Risk: ${(l.overallRisk*100).toFixed(0)}%, Coverage: ${Math.round(n.lines.covered/n.lines.total*100)}%`))}}}if(a&&f==="json"?P(W(a),i.output):a&&f==="markdown"?P(G(a),i.output):f==="text"&&console.log(e.green(`
|
|
20
20
|
Coverage analysis complete
|
|
21
21
|
`)),a&&!a.meetsThreshold&&await t(1),a){let o=(a.summary.line+a.summary.branch+a.summary.function+a.summary.statement)/4;o<d+5&&o>=d&&await t(2)}await t(0)}catch(s){console.error(e.red(`
|
|
22
|
-
Failed:`),s),await t(1)}});return b.command("gaps").description("Enumerate unhandled branches in source files").argument("<file>","Source file to analyze").option("--mechanical","Exhaustive mode: report all branches without filtering").option("--json","Output as JSON").option("--markdown","Output as markdown report").action(async(y,i)=>{try{let{readFileSync:g,existsSync:w}=await import("fs"),k=await import("path"),{enumerateBranches:d,formatBranchReport:s,formatBranchJSON:T}=await import("./branch-enumerator-
|
|
22
|
+
Failed:`),s),await t(1)}});return b.command("gaps").description("Enumerate unhandled branches in source files").argument("<file>","Source file to analyze").option("--mechanical","Exhaustive mode: report all branches without filtering").option("--json","Output as JSON").option("--markdown","Output as markdown report").action(async(y,i)=>{try{let{readFileSync:g,existsSync:w}=await import("fs"),k=await import("path"),{enumerateBranches:d,formatBranchReport:s,formatBranchJSON:T}=await import("./branch-enumerator-VW7QDS3O.js"),v=k.resolve(y);w(v)||(console.error(e.red(`
|
|
23
23
|
File not found: ${v}
|
|
24
24
|
`)),await t(1));let S=g(v,"utf-8"),c=d(S,v);if(i.json)console.log(T(c));else if(i.markdown)console.log(s(c));else{if(console.log(`
|
|
25
25
|
${e.cyan("Branch Enumeration:")} ${e.white(y)}`),console.log(e.gray(`Found ${c.unhandledCount} unhandled branches (${c.duration}ms)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{a,b}from"./chunk-WIDOUTFF.js";import"./chunk-OZSYL2CL.js";import"./chunk-MRLPZMA3.js";import"./chunk-YTBW2SLZ.js";import"./chunk-NW5XQQMC.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as g}from"./chunk-
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.8");process.exit(0)}
|
|
2
|
+
import{b as g}from"./chunk-W4CW6TKP.js";import{a as u,c as m}from"./chunk-XKKCH24C.js";import"./chunk-NW5XQQMC.js";m();import{existsSync as s,mkdirSync as h,readFileSync as v,writeFileSync as i}from"fs";import{join as p,dirname as C}from"path";var a=class{projectRoot;overwrite;options;generator;constructor(r){this.projectRoot=r.projectRoot,this.overwrite=r.overwrite??!1,this.options=r,this.generator=g()}async install(){let r={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("cursor",{memoryBackend:this.options.memoryBackend}),e=p(this.projectRoot,t.path);if(r.configPath=e,!s(e)||this.overwrite){let l=C(e);if(s(l)||h(l,{recursive:!0}),s(e)&&this.overwrite){let f=this.mergeExistingConfig(e,t.content);i(e,f)}else i(e,t.content);r.mcpConfigured=!0}let o=this.generator.generateBehavioralRules("cursor"),n=p(this.projectRoot,o.path);r.rulesPath=n,(!s(n)||this.overwrite)&&(i(n,o.content),r.rulesInstalled=!0)}catch(t){r.success=!1,r.errors.push(`Cursor installation failed: ${u(t)}`)}return r}mergeExistingConfig(r,t){try{let e=JSON.parse(v(r,"utf-8")),o=JSON.parse(t);return e.mcpServers||(e.mcpServers={}),Object.assign(e.mcpServers,o.mcpServers),JSON.stringify(e,null,2)+`
|
|
3
3
|
`}catch{return t}}};function S(c){return new a(c)}export{a as CursorInstaller,S as createCursorInstaller};
|