agentic-qe 3.13.11 → 3.13.12
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/helpers/.helpers-version +1 -1
- package/.claude/helpers/helpers.manifest.json +2 -2
- package/.claude/helpers/statusline.cjs +89 -40
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +40 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-FUV6LBJT.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-5ARDZYNO.js → agent-booster-wasm-7I7LZFNC.js} +2 -2
- package/dist/cli/chunks/{agent-handler-SVKEPF7B.js → agent-handler-QZZT52BH.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-QDL7OVHC.js → agent-memory-branch-MLQS5Y26.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-QNFNA3J4.js +2 -0
- package/dist/cli/chunks/{arena-7OCKBN6O.js → arena-IM4CP6LP.js} +2 -2
- package/dist/cli/chunks/{arena-HQLSNQZ3.js → arena-WRIY37EJ.js} +4 -4
- package/dist/cli/chunks/{audit-2EQJW5UE.js → audit-BSAQ4EFN.js} +3 -3
- package/dist/cli/chunks/base-37W2XIXC.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-OBFNNE4T.js → better-sqlite3-X2XZUXWZ.js} +2 -2
- package/dist/cli/chunks/{brain-handler-FV2AJZ4A.js → brain-handler-TVTTWZGP.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-6B4L5O3D.js → branch-enumerator-NI4Q7DSJ.js} +2 -2
- package/dist/cli/chunks/{browser-VDMGBWNK.js → browser-PXBLORUZ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-PDIUEK7B.js +2 -0
- package/dist/cli/chunks/{chunk-EKFKQGIT.js → chunk-2JAC57JE.js} +1 -1
- package/dist/cli/chunks/{chunk-NC7HTDH5.js → chunk-2VTX4SYW.js} +2 -2
- package/dist/cli/chunks/{chunk-JK6ENS3J.js → chunk-2VY7FL6A.js} +2 -2
- package/dist/cli/chunks/{chunk-YEPJS4AM.js → chunk-2W3D5A4R.js} +2 -2
- package/dist/cli/chunks/{chunk-VLW63UA2.js → chunk-33YZGOT6.js} +2 -2
- package/dist/cli/chunks/{chunk-WYQM7GXW.js → chunk-3ASVQILY.js} +2 -2
- package/dist/cli/chunks/{chunk-EN36AFRJ.js → chunk-3XVZHJQT.js} +1 -1
- package/dist/cli/chunks/{chunk-W7BB4XLP.js → chunk-42AS3HPO.js} +2 -2
- package/dist/cli/chunks/{chunk-5364DBZG.js → chunk-44NPKZGI.js} +2 -2
- package/dist/cli/chunks/{chunk-TJ67B7S7.js → chunk-4AITMWFZ.js} +2 -2
- package/dist/cli/chunks/{chunk-XEUUWOSS.js → chunk-4ANJV6I4.js} +3 -3
- package/dist/cli/chunks/{chunk-M3MRFZKD.js → chunk-4FVOJBEU.js} +1 -1
- package/dist/cli/chunks/{chunk-TMY2Y7SC.js → chunk-4M7YZ2X7.js} +1 -1
- package/dist/cli/chunks/{chunk-FPX4JSFH.js → chunk-4THFPRFM.js} +2 -2
- package/dist/cli/chunks/{chunk-MUAW4AJ6.js → chunk-4YFXF5AQ.js} +2 -2
- package/dist/cli/chunks/{chunk-WJB6YYMJ.js → chunk-4Z4X2ND4.js} +2 -2
- package/dist/cli/chunks/{chunk-PJNIDDER.js → chunk-52VGZJSD.js} +1 -1
- package/dist/cli/chunks/{chunk-RGUKQXKL.js → chunk-5E76HULA.js} +2 -2
- package/dist/cli/chunks/{chunk-MS5CAEPA.js → chunk-5PI75QYP.js} +2 -2
- package/dist/cli/chunks/{chunk-UX5SM2PW.js → chunk-5PNQNBDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-V7QZMOG3.js → chunk-5VSS2RBD.js} +2 -2
- package/dist/cli/chunks/{chunk-TBO64O56.js → chunk-66OQ7AB3.js} +1 -1
- package/dist/cli/chunks/{chunk-HZR4G6I3.js → chunk-6BSZHNOC.js} +1 -1
- package/dist/cli/chunks/{chunk-LREIHR2A.js → chunk-6KI6LAAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-WRZ5WZG3.js → chunk-6KKVMPPR.js} +2 -2
- package/dist/cli/chunks/{chunk-VU3ARH4S.js → chunk-7A4WTRWI.js} +1 -1
- package/dist/cli/chunks/{chunk-B646CE3C.js → chunk-7LATB5IR.js} +2 -2
- package/dist/cli/chunks/{chunk-7YL7P5XG.js → chunk-7PCIN7UN.js} +2 -2
- package/dist/cli/chunks/{chunk-YDEYB6Z2.js → chunk-7RVLVIAI.js} +1 -1
- package/dist/cli/chunks/{chunk-UPMQHCC2.js → chunk-7ZVO7I4Q.js} +1 -1
- package/dist/cli/chunks/{chunk-S3FNAHNC.js → chunk-A5RWLPVT.js} +2 -2
- package/dist/cli/chunks/{chunk-76NSSNB3.js → chunk-AKUDUB3O.js} +2 -2
- package/dist/cli/chunks/{chunk-CK7ZLMD2.js → chunk-AM42ROKZ.js} +1 -1
- package/dist/cli/chunks/{chunk-NHL37QAZ.js → chunk-AN5CGTTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-VNVGCJCS.js → chunk-AOOCV56W.js} +1 -1
- package/dist/cli/chunks/{chunk-ATRUE6CT.js → chunk-ASWWBNX2.js} +2 -2
- package/dist/cli/chunks/{chunk-DLL3AJH7.js → chunk-AYH3DMW2.js} +1 -1
- package/dist/cli/chunks/{chunk-ZNGFSR5M.js → chunk-BODFJ3DC.js} +2 -2
- package/dist/cli/chunks/{chunk-AZVV7POX.js → chunk-BZIPYXSW.js} +3 -3
- package/dist/cli/chunks/{chunk-BPPEN7SS.js → chunk-DCVFHVPR.js} +2 -2
- package/dist/cli/chunks/{chunk-4X4GTEQY.js → chunk-DFLASG3B.js} +1 -1
- package/dist/cli/chunks/{chunk-IGW5L7YM.js → chunk-DGFINXUE.js} +1 -1
- package/dist/cli/chunks/{chunk-XDK2TPI5.js → chunk-E67ZXRG6.js} +1 -1
- package/dist/cli/chunks/{chunk-FXKOHZBN.js → chunk-EDRPTLAX.js} +1 -1
- package/dist/cli/chunks/{chunk-W2NQDAJZ.js → chunk-EG73WYAW.js} +2 -2
- package/dist/cli/chunks/{chunk-HV6LJ57R.js → chunk-FI6J3UHJ.js} +1 -1
- package/dist/cli/chunks/{chunk-VHNAN7E2.js → chunk-G45AOQDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-XVFSZLRS.js → chunk-G6FJHDUG.js} +1 -1
- package/dist/cli/chunks/chunk-GEQWCK4F.js +2 -0
- package/dist/cli/chunks/{chunk-PBJ5I2NS.js → chunk-GJJWXRAD.js} +2 -2
- package/dist/cli/chunks/{chunk-Z5ARI4XT.js → chunk-GJUGG6UR.js} +2 -2
- package/dist/cli/chunks/{chunk-AFXMTSO3.js → chunk-GMLRIZ4E.js} +1 -1
- package/dist/cli/chunks/{chunk-2CBEQV6R.js → chunk-GQLJYTXN.js} +2 -2
- package/dist/cli/chunks/{chunk-E54QUKAD.js → chunk-H3GAR4SV.js} +2 -2
- package/dist/cli/chunks/{chunk-JKP2BUF5.js → chunk-HAJG44BD.js} +2 -2
- package/dist/cli/chunks/{chunk-2D7SBOZ4.js → chunk-HQWFZQMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-IZOWGVTU.js → chunk-HRTSYT4N.js} +2 -2
- package/dist/cli/chunks/{chunk-DPZ4AU6W.js → chunk-I5SXLV7D.js} +2 -2
- package/dist/cli/chunks/{chunk-QYHRDBKI.js → chunk-IOJ34SXJ.js} +2 -2
- package/dist/cli/chunks/{chunk-YYAJEPRD.js → chunk-IPDM3CAK.js} +1 -1
- package/dist/cli/chunks/{chunk-UDFTDQ6C.js → chunk-IPZEBALY.js} +10 -10
- package/dist/cli/chunks/{chunk-JKPMV5VB.js → chunk-IQH2RDN3.js} +5 -5
- package/dist/cli/chunks/{chunk-24XW7KUX.js → chunk-IT5QIUUA.js} +2 -2
- package/dist/cli/chunks/{chunk-FBASWZ7G.js → chunk-JTYCOFTD.js} +1 -1
- package/dist/cli/chunks/{chunk-23E37MDA.js → chunk-JVFZAJ5N.js} +2 -2
- package/dist/cli/chunks/{chunk-SJJFU7KK.js → chunk-KRZYWVS3.js} +2 -2
- package/dist/cli/chunks/{chunk-BL5BHBXR.js → chunk-KXSUDN46.js} +1 -1
- package/dist/cli/chunks/{chunk-OJUI65TR.js → chunk-KYJBJ56M.js} +2 -2
- package/dist/cli/chunks/{chunk-TCVEXQLL.js → chunk-L3GBNX7B.js} +2 -2
- package/dist/cli/chunks/{chunk-LM727BVL.js → chunk-LRO74LPA.js} +4 -4
- package/dist/cli/chunks/{chunk-BVKFBJX6.js → chunk-LXVT6JXO.js} +2 -2
- package/dist/cli/chunks/{chunk-4DTBGQWA.js → chunk-M3354CE4.js} +2 -2
- package/dist/cli/chunks/{chunk-2Y3PW5EJ.js → chunk-M73KM3AZ.js} +2 -2
- package/dist/cli/chunks/{chunk-LLP3UW62.js → chunk-M7CPJW53.js} +2 -2
- package/dist/cli/chunks/{chunk-RAV2NJNX.js → chunk-MB2KLJ6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-U6G6RUFI.js → chunk-MGKH4LCM.js} +1 -1
- package/dist/cli/chunks/{chunk-K652SCBA.js → chunk-MLFELTJX.js} +2 -2
- package/dist/cli/chunks/{chunk-UZ7OWJ75.js → chunk-MLXLGBQZ.js} +1 -1
- package/dist/cli/chunks/{chunk-EHZQIXH6.js → chunk-MYVKTG55.js} +3 -3
- package/dist/cli/chunks/{chunk-PT6U3IIK.js → chunk-N4OQ4D4V.js} +2 -2
- package/dist/cli/chunks/{chunk-XZI4QXJJ.js → chunk-NDRZZSD5.js} +2 -2
- package/dist/cli/chunks/{chunk-IZF3VLNW.js → chunk-NG6A7LCG.js} +1 -1
- package/dist/cli/chunks/{chunk-GPJDZFFV.js → chunk-NJ3QXJ54.js} +2 -2
- package/dist/cli/chunks/{chunk-2BDTZYQN.js → chunk-NJ4YVAG7.js} +3 -3
- package/dist/cli/chunks/{chunk-2E2QCIGR.js → chunk-NL2SCAGJ.js} +3 -3
- package/dist/cli/chunks/chunk-NLZUGANH.js +11 -0
- package/dist/cli/chunks/{chunk-WINYWMQP.js → chunk-NNLZAVFH.js} +1 -1
- package/dist/cli/chunks/{chunk-LPDT27EC.js → chunk-NTALX2YC.js} +2 -2
- package/dist/cli/chunks/{chunk-4ZQOJ7Q2.js → chunk-O4BWESH5.js} +2 -2
- package/dist/cli/chunks/{chunk-YRV45WDT.js → chunk-OG3DBHIV.js} +2 -2
- package/dist/cli/chunks/{chunk-P736OKQN.js → chunk-OZ53BIY5.js} +1 -1
- package/dist/cli/chunks/{chunk-H5DS7S4B.js → chunk-P6EFKHNI.js} +2 -2
- package/dist/cli/chunks/{chunk-T5M4TZRB.js → chunk-PGFCKE4G.js} +3 -3
- package/dist/cli/chunks/{chunk-HGPMS6JL.js → chunk-PVINNJ4P.js} +2 -2
- package/dist/cli/chunks/{chunk-H3AKF2HS.js → chunk-QG5L2JM5.js} +10 -10
- package/dist/cli/chunks/{chunk-EWH7PFV6.js → chunk-QM4Z7TQH.js} +1 -1
- package/dist/cli/chunks/{chunk-7HTYM6XY.js → chunk-QXO35J6F.js} +2 -2
- package/dist/cli/chunks/{chunk-OLPJGYO5.js → chunk-R7LGVJMZ.js} +2 -2
- package/dist/cli/chunks/{chunk-VC77SDNH.js → chunk-RACWX2ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-UJ2NRIAS.js → chunk-RP2BRRLX.js} +2 -2
- package/dist/cli/chunks/{chunk-GWTGBQ6X.js → chunk-RP5VFZJO.js} +2 -2
- package/dist/cli/chunks/{chunk-TU4BYSXR.js → chunk-S6WHYOWV.js} +2 -2
- package/dist/cli/chunks/{chunk-LIGDJP6H.js → chunk-SCQNISGS.js} +1 -1
- package/dist/cli/chunks/chunk-SNC73DWF.js +2 -0
- package/dist/cli/chunks/{chunk-W2T36CS5.js → chunk-SOS37ECY.js} +1 -1
- package/dist/cli/chunks/{chunk-AAPJG3WI.js → chunk-SXFSJJZF.js} +2 -2
- package/dist/cli/chunks/{chunk-DMHQ4ZUZ.js → chunk-TB2N3CAK.js} +2 -2
- package/dist/cli/chunks/chunk-TDVMILKO.js +2 -0
- package/dist/cli/chunks/{chunk-WVNLNXXI.js → chunk-TJVTV3HP.js} +2 -2
- package/dist/cli/chunks/{chunk-GJTGHVAX.js → chunk-TK5XLF3Z.js} +4 -4
- package/dist/cli/chunks/{chunk-JTQSXU6V.js → chunk-TWUWLSGQ.js} +3 -3
- package/dist/cli/chunks/{chunk-AHG2O5HT.js → chunk-U5G6OC2C.js} +2 -2
- package/dist/cli/chunks/{chunk-CTS545BF.js → chunk-UBOGJHWC.js} +1 -1
- package/dist/cli/chunks/{chunk-4TJJU5Y2.js → chunk-UC4EIULB.js} +13 -13
- package/dist/cli/chunks/{chunk-4CTKRLRX.js → chunk-UJUK6T4V.js} +2 -2
- package/dist/cli/chunks/chunk-UQ4UCHO7.js +2 -0
- package/dist/cli/chunks/{chunk-JWT675RM.js → chunk-UWZYXI3R.js} +2 -2
- package/dist/cli/chunks/{chunk-TZA45FI7.js → chunk-VA2ORJB5.js} +2 -2
- package/dist/cli/chunks/{chunk-2E3PRDEX.js → chunk-VBHA4SDU.js} +2 -2
- package/dist/cli/chunks/{chunk-H3BHOIT6.js → chunk-VD53LBF7.js} +3 -3
- package/dist/cli/chunks/{chunk-MWTFFGU3.js → chunk-VNODKACB.js} +2 -2
- package/dist/cli/chunks/{chunk-HHEWINDL.js → chunk-VQCLSX7T.js} +1 -1
- package/dist/cli/chunks/{chunk-UGFHEVG4.js → chunk-VQD2ELNL.js} +2 -2
- package/dist/cli/chunks/{chunk-WRMJWQUI.js → chunk-VZGP77YU.js} +1 -1
- package/dist/cli/chunks/chunk-WA6CSEOX.js +2 -0
- package/dist/cli/chunks/{chunk-PZHAPI47.js → chunk-WE3VKDMK.js} +3 -3
- package/dist/cli/chunks/{chunk-Y2S6SS7M.js → chunk-WXU7FAEB.js} +2 -2
- package/dist/cli/chunks/{chunk-PADCR4LY.js → chunk-WYFAPA2G.js} +2 -2
- package/dist/cli/chunks/{chunk-SW56PB22.js → chunk-WYIXNHPF.js} +2 -2
- package/dist/cli/chunks/{chunk-OQWG7GOD.js → chunk-X2SZCVDA.js} +2 -2
- package/dist/cli/chunks/{chunk-H7QWOJF2.js → chunk-X3JNFQW2.js} +2 -2
- package/dist/cli/chunks/{chunk-YRCNWQBO.js → chunk-XIKYUBIV.js} +2 -2
- package/dist/cli/chunks/{chunk-4TUGQESL.js → chunk-XM5I7J5S.js} +2 -2
- package/dist/cli/chunks/{chunk-2HT5HRAA.js → chunk-XT473WPO.js} +2 -2
- package/dist/cli/chunks/{chunk-IYMV4CU5.js → chunk-YL2GOJF6.js} +2 -2
- package/dist/cli/chunks/{chunk-36ONUM43.js → chunk-YQOQVSYU.js} +1 -1
- package/dist/cli/chunks/{chunk-EI4KYBNI.js → chunk-Z56BBX77.js} +2 -2
- package/dist/cli/chunks/{chunk-3SPYI7TS.js → chunk-Z6DSYLAG.js} +1 -1
- package/dist/cli/chunks/{chunk-LUAXQB57.js → chunk-ZMYV4R32.js} +1 -1
- package/dist/cli/chunks/{chunk-DXQMVATY.js → chunk-ZSAGRDXA.js} +2 -2
- package/dist/cli/chunks/{ci-M6WYL2XY.js → ci-QAUD62WH.js} +2 -2
- package/dist/cli/chunks/{ci-output-JFC3WOHX.js → ci-output-TZDVTNE7.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-IMVBU6WP.js → circuit-breaker-ZWPHJ7YJ.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-M5T5ZUXX.js → claude-flow-setup-SCB4EURN.js} +2 -2
- package/dist/cli/chunks/client-4W3KWTAU.js +2 -0
- package/dist/cli/chunks/{cline-installer-LSFAUHXC.js → cline-installer-EHZLMLXF.js} +2 -2
- package/dist/cli/chunks/{code-N3SWJ3XL.js → code-3N6PBJMK.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-WPGRG36B.js → code-index-extractor-6DIKHNRI.js} +2 -2
- package/dist/cli/chunks/{codex-installer-LKRCSDU5.js → codex-installer-P7DPQMYL.js} +2 -2
- package/dist/cli/chunks/{completions-E5TBZ5AB.js → completions-5MKWWCCE.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-3FOSOELK.js → complexity-analyzer-TPM4IPEK.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-ZSVFWMQB.js → continuedev-installer-VXODKGVX.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-POSKHPZM.js → copilot-installer-PVD5O56P.js} +2 -2
- package/dist/cli/chunks/core-handlers-BDU2XBLO.js +2 -0
- package/dist/cli/chunks/{cost-tracker-3UWDCNGC.js → cost-tracker-JOMZEQF3.js} +2 -2
- package/dist/cli/chunks/{coverage-HPBO67JF.js → coverage-HTXLEV3B.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-BPB6IHN4.js +2 -0
- package/dist/cli/chunks/{cursor-installer-DSW3L62X.js → cursor-installer-SHKDTDDZ.js} +2 -2
- package/dist/cli/chunks/{daemon-2622ZCMJ.js → daemon-FCFEWVVJ.js} +3 -3
- package/dist/cli/chunks/{daemon-33KTKDUM.js → daemon-PN4FEPLE.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-YFT5JMM6.js → dag-attention-scheduler-PLOHU5SR.js} +2 -2
- package/dist/cli/chunks/{detect-COR3Q6BE.js → detect-F3H4ZEZY.js} +2 -2
- package/dist/cli/chunks/{dist-node-5TRNTNWI.js → dist-node-5TC665N6.js} +2 -2
- package/dist/cli/chunks/{domain-handler-TZC4GCF6.js → domain-handler-ZIWVFXCU.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-D2TENM3Y.js → domain-transfer-7Q5JYMYR.js} +2 -2
- package/dist/cli/chunks/dream-WFCZGFDY.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-COAZZGS6.js → embed-and-insert-pattern-VESJQSYD.js} +2 -2
- package/dist/cli/chunks/{eval-5ID5D77H.js → eval-E2K2T75A.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-MT4Z74TD.js → experience-capture-middleware-Z5SE2O53.js} +3 -3
- package/dist/cli/chunks/{fast-paths-MACRZGSE.js → fast-paths-3H52RSUK.js} +2 -2
- package/dist/cli/chunks/{feature-flags-LFNL6BHS.js → feature-flags-LUHSMHPS.js} +2 -2
- package/dist/cli/chunks/{feature-flags-JZX6ZBUX.js → feature-flags-ONIKUZVK.js} +2 -2
- package/dist/cli/chunks/{file-discovery-DA5BEAO2.js → file-discovery-FLYSYSS4.js} +2 -2
- package/dist/cli/chunks/{fleet-35I4F7D2.js → fleet-6OJUAAKV.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-2W3HM3ZI.js → gnn-wrapper-PUL6B7KZ.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-6O2D2FU2.js → heartbeat-handler-HGHHDUDY.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-HWS4SHRM.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-7QOBHKRB.js +2 -0
- package/dist/cli/chunks/hnsw-index-6WUKYJH7.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-GWBXEMQR.js → hnsw-legacy-bridge-NDZSNMYX.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-TZ4VLARU.js → hnswlib-node-PISLKSO2.js} +2 -2
- package/dist/cli/chunks/{hooks-723GPTQ4.js → hooks-WYG54MRI.js} +10 -10
- package/dist/cli/chunks/hybrid-router-525JTRA5.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-ILRYFJM5.js → hypergraph-engine-EDHKHZZ2.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-523TSK4P.js → hypergraph-handler-OCHZAPPL.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-GG6CJEOK.js +2 -0
- package/dist/cli/chunks/{init-handler-RBDYIXNV.js → init-handler-5TCJ672H.js} +6 -6
- package/dist/cli/chunks/init-wizard-4VFAOK4Y.js +2 -0
- package/dist/cli/chunks/kernel-N3FQGOST.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-E2QSX7Z7.js → kilocode-installer-SWUQRCTZ.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-EZZLT2R5.js → kiro-installer-L22EBAM5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-I5QIHB4G.js +2 -0
- package/dist/cli/chunks/{learning-II2U3EV2.js → learning-TQOGG3CR.js} +3 -3
- package/dist/cli/chunks/llm-router-F2L4LFT2.js +37 -0
- package/dist/cli/chunks/llm-router-service-NCJZYJLG.js +2 -0
- package/dist/cli/chunks/{load-QFQ3YOBQ.js → load-A4ZF2KHC.js} +2 -2
- package/dist/cli/chunks/load-test-DCJEYIXD.js +2 -0
- package/dist/cli/chunks/{mcp-FPBBJJFY.js → mcp-T2Z46NNK.js} +2 -2
- package/dist/cli/chunks/{memory-RKN6KV75.js → memory-PUC3J6XC.js} +5 -5
- package/dist/cli/chunks/memory-backend-O6KO2KTX.js +2 -0
- package/dist/cli/chunks/memory-handlers-4Z43WEKD.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-OUNW3JM5.js → multi-model-executor-U5L4FI4O.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-FXETYGGY.js → opencode-installer-UWI6KHYH.js} +2 -2
- package/dist/cli/chunks/{orchestrator-35UTVXSP.js → orchestrator-3BEI7R5D.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-5WIJKX2K.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-YEQDS7DN.js → pattern-usage-recorder-EGWUI5LU.js} +2 -2
- package/dist/cli/chunks/{pipeline-YDJMWCAR.js → pipeline-JG6M4RHD.js} +2 -2
- package/dist/cli/chunks/{platform-L3LPNVKT.js → platform-F76G6RUI.js} +2 -2
- package/dist/cli/chunks/{plugin-55EYFJH5.js → plugin-EEGN3PMK.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-SUZT6RTM.js → prime-radiant-advanced-wasm-7KZAINFT.js} +2 -2
- package/dist/cli/chunks/protocol-executor-5TPNAZTB.js +2 -0
- package/dist/cli/chunks/{protocol-handler-QNBFRJNY.js → protocol-handler-UCEHYK2R.js} +2 -2
- package/dist/cli/chunks/{prove-3X5NQP4L.js → prove-JSNG75VD.js} +2 -2
- package/dist/cli/chunks/provider-manager-3VMOZ6HV.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-BATV4NTT.js +2 -0
- package/dist/cli/chunks/{quality-5ZONTNA6.js → quality-7SRM2HBM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-JPNREEVR.js → quality-gate-A5MPWHST.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-EIHGYBUO.js +2 -0
- package/dist/cli/chunks/{real-embeddings-HHR75AR5.js → real-embeddings-ZBF5EQOG.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-ZK73O2GD.js → roocode-installer-UYQK64BZ.js} +2 -2
- package/dist/cli/chunks/router-EMVGY4HU.js +2 -0
- package/dist/cli/chunks/routing-feedback-JUP4OFB2.js +2 -0
- package/dist/cli/chunks/{routing-handler-2UN5GRHJ.js → routing-handler-PY3KPDTH.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-EQQUEVWN.js → ruvector-commands-GCAOUTYS.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-43L75WLF.js → rvf-dual-writer-BUNP4SKD.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-Y5OVCYTO.js → rvf-migration-adapter-VSOAPLMB.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-NEPDFB3N.js → rvf-migration-coordinator-LSWEHAWX.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-LOC42TQ6.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-66FEC3MD.js → rvf-store-integrity-HNDKOM4L.js} +2 -2
- package/dist/cli/chunks/safe-db-WQ62IQKV.js +2 -0
- package/dist/cli/chunks/schedule-XJRP57TE.js +2 -0
- package/dist/cli/chunks/scheduler-EZH5SDIM.js +2 -0
- package/dist/cli/chunks/{security-H7PEUUCV.js → security-MQ2VB7PY.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-XETNK4ID.js → shared-rvf-adapter-TAZEU6QK.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-PXD54BWJ.js → shared-rvf-dual-writer-B7N6AOCY.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-HPEVCTIB.js +2 -0
- package/dist/cli/chunks/status-handler-NZP7DFHE.js +47 -0
- package/dist/cli/chunks/{structural-health-EIFBDCRI.js → structural-health-ALLUQ4X6.js} +2 -2
- package/dist/cli/chunks/{sync-3SU4H6R3.js → sync-MM7OCUYD.js} +2 -2
- package/dist/cli/chunks/{sync-PECWQ64K.js → sync-WJJG5J6V.js} +2 -2
- package/dist/cli/chunks/{task-handler-ZTUAT6YF.js → task-handler-CAQUEEB4.js} +2 -2
- package/dist/cli/chunks/{task-handlers-4RIO7LJJ.js → task-handlers-25BJ7D3W.js} +3 -3
- package/dist/cli/chunks/{test-EV7BSUTI.js → test-HW7GVGVN.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-4WVI5DLE.js → test-scheduling-HTMFJMSP.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-3P22AYZ4.js → token-bootstrap-F2DCLWGW.js} +2 -2
- package/dist/cli/chunks/{token-usage-FR3JOWYB.js → token-usage-RJZDMBDP.js} +2 -2
- package/dist/cli/chunks/{transformers-FENO33LA.js → transformers-3YFW3EUO.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-YFGJLSMB.js → tree-sitter-wasm-parser-U3PQPIK7.js} +2 -2
- package/dist/cli/chunks/{types-N3Y565RZ.js → types-7Q762WDO.js} +2 -2
- package/dist/cli/chunks/unified-memory-ATILROKR.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-XJXAX7DW.js +2 -0
- package/dist/cli/chunks/unified-persistence-3TN5PBWE.js +2 -0
- package/dist/cli/chunks/{upgrade-33ZVVZFW.js → upgrade-F7MKJWBQ.js} +2 -2
- package/dist/cli/chunks/{validate-CS5PXGDF.js → validate-B27AVRA6.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-GRZPWYNM.js → validate-swarm-GYZR3GNL.js} +2 -2
- package/dist/cli/chunks/{vibium-IO7N4VEE.js → vibium-W4XQMPJP.js} +2 -2
- package/dist/cli/chunks/visual-security-VFWRBCNA.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-UQXR5HHR.js → web-tree-sitter-I7CDCFJU.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-BCKLSLZT.js → windsurf-installer-UYLHFDHU.js} +2 -2
- package/dist/cli/chunks/{witness-chain-R3V26QWL.js → witness-chain-B66SYZKU.js} +2 -2
- package/dist/cli/chunks/witness-chain-JC5LEXRV.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-Y36HMPEM.js → witness-key-manager-U4JPAHVW.js} +2 -2
- package/dist/cli/chunks/{workflow-4TCIUUFQ.js → workflow-DYMO47FF.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-TKQUF2KN.js +2 -0
- package/dist/cli/chunks/{wrappers-MD4JRHJH.js → wrappers-7S6DQTEA.js} +2 -2
- package/dist/cli/commands/llm-router.js +35 -6
- package/dist/cli/handlers/status-handler.js +18 -2
- package/dist/mcp/bundle.js +398 -390
- package/dist/shared/llm/billing-modes.d.ts +5 -0
- package/dist/shared/llm/billing-modes.js +42 -3
- package/dist/shared/llm/index.d.ts +4 -1
- package/dist/shared/llm/index.js +5 -1
- package/dist/shared/llm/interfaces.d.ts +34 -3
- package/dist/shared/llm/interfaces.js +17 -0
- package/dist/shared/llm/provider-manager.js +8 -1
- package/dist/shared/llm/provider-registry.d.ts +135 -0
- package/dist/shared/llm/provider-registry.js +227 -0
- package/dist/shared/llm/providers/external-cli.d.ts +129 -0
- package/dist/shared/llm/providers/external-cli.js +385 -0
- package/dist/shared/llm/router/config-store.d.ts +14 -0
- package/dist/shared/llm/router/config-store.js +102 -14
- package/dist/shared/llm/router/external-provider-config.d.ts +47 -0
- package/dist/shared/llm/router/external-provider-config.js +105 -0
- package/dist/shared/llm/router/types.d.ts +50 -4
- package/dist/shared/llm/router/types.js +10 -0
- package/dist/shared/llm/translation/message-formatter.js +7 -1
- package/package.json +5 -1
- package/dist/cli/chunks/adapter-YBSKQFQ4.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-3H7DRDD4.js +0 -2
- package/dist/cli/chunks/base-ZTD6PFD7.js +0 -2
- package/dist/cli/chunks/browser-workflow-GKWDM25H.js +0 -2
- package/dist/cli/chunks/chunk-CYQRZ645.js +0 -2
- package/dist/cli/chunks/chunk-GP5QBJVO.js +0 -3
- package/dist/cli/chunks/chunk-JGXP67BP.js +0 -2
- package/dist/cli/chunks/chunk-UDSNWQQI.js +0 -2
- package/dist/cli/chunks/chunk-YXUFGDGS.js +0 -2
- package/dist/cli/chunks/client-4Q5JE7RY.js +0 -2
- package/dist/cli/chunks/core-handlers-4GKEYGPS.js +0 -2
- package/dist/cli/chunks/cross-domain-router-PBJ2ZGPJ.js +0 -2
- package/dist/cli/chunks/dream-4EXVFHUJ.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-UNEYR3WR.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-JQG66H4L.js +0 -2
- package/dist/cli/chunks/hnsw-index-2NOROILM.js +0 -2
- package/dist/cli/chunks/hybrid-router-FXTAJATE.js +0 -2
- package/dist/cli/chunks/impact-analyzer-VHZSBWMT.js +0 -2
- package/dist/cli/chunks/init-wizard-EML4OET2.js +0 -2
- package/dist/cli/chunks/kernel-TMRJOEO2.js +0 -2
- package/dist/cli/chunks/knowledge-graph-FMKVCMJQ.js +0 -2
- package/dist/cli/chunks/llm-router-WC66OXZH.js +0 -36
- package/dist/cli/chunks/llm-router-service-GOSVGMKM.js +0 -2
- package/dist/cli/chunks/load-test-WIRGDZIA.js +0 -2
- package/dist/cli/chunks/memory-backend-XBBIXDZU.js +0 -2
- package/dist/cli/chunks/memory-handlers-SQHNK3DK.js +0 -2
- package/dist/cli/chunks/pattern-null-store-PFLKHRVU.js +0 -2
- package/dist/cli/chunks/protocol-executor-GAMNY2JB.js +0 -2
- package/dist/cli/chunks/provider-manager-VTIG5AKU.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-KAX63PXV.js +0 -2
- package/dist/cli/chunks/queen-coordinator-UYW2MDKI.js +0 -2
- package/dist/cli/chunks/router-NVDU7IIA.js +0 -2
- package/dist/cli/chunks/routing-feedback-KHR3J2J3.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-PQ4IOTZU.js +0 -2
- package/dist/cli/chunks/safe-db-QHSFV63M.js +0 -2
- package/dist/cli/chunks/schedule-JGZFHJGM.js +0 -2
- package/dist/cli/chunks/scheduler-NGCDQIW5.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-3JSNWL6I.js +0 -2
- package/dist/cli/chunks/status-handler-CTXOH3FX.js +0 -47
- package/dist/cli/chunks/unified-memory-4VO5KSHP.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-ZR2FZXOB.js +0 -2
- package/dist/cli/chunks/unified-persistence-VFPW5MFM.js +0 -2
- package/dist/cli/chunks/visual-security-SNADRUPR.js +0 -2
- package/dist/cli/chunks/witness-chain-2TXUTEJE.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-ON6UYRVE.js +0 -2
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
import * as fs from 'fs';
|
|
21
21
|
import * as path from 'path';
|
|
22
22
|
import { findProjectRoot } from '../../../kernel/unified-memory.js';
|
|
23
|
+
import { isBuiltinExtendedProviderType } from './types.js';
|
|
24
|
+
import { isRegisteredProvider, registeredProviderTypes, } from '../provider-registry.js';
|
|
25
|
+
import { registerExternalProviders, sanitizeExternalProviders, } from './external-provider-config.js';
|
|
23
26
|
import { DEFAULT_ROUTER_CONFIG, ALL_PROVIDER_TYPES } from './types.js';
|
|
24
27
|
import { createLogger } from '../../../logging/logger-factory.js';
|
|
25
28
|
// `console.warn` is not usable here: in MCP stdio mode stdout is the protocol
|
|
@@ -35,7 +38,7 @@ export const ROUTER_CONFIG_FILENAME = 'llm-config.json';
|
|
|
35
38
|
* Empty array means "local provider, no key required". The set of
|
|
36
39
|
* runtime-constructible providers is narrower than ExtendedProviderType
|
|
37
40
|
* (e.g. onnx is in the type system but ProviderManager doesn't yet
|
|
38
|
-
* have a case for it) — see
|
|
41
|
+
* have a case for it) — see isRuntimeConstructible() below.
|
|
39
42
|
*/
|
|
40
43
|
const PROVIDER_ENV_KEYS = {
|
|
41
44
|
claude: ['ANTHROPIC_API_KEY', 'CLAUDE_API_KEY'],
|
|
@@ -58,14 +61,16 @@ const PROVIDER_ENV_KEYS = {
|
|
|
58
61
|
onnx: [], // local
|
|
59
62
|
};
|
|
60
63
|
/**
|
|
61
|
-
*
|
|
62
|
-
* instantiate today. Anything not
|
|
64
|
+
* Built-in providers that ProviderManager.createProvider() can actually
|
|
65
|
+
* instantiate today. Anything not constructible is dropped from the
|
|
63
66
|
* "available" set even if its env keys are present, so we don't emit
|
|
64
67
|
* a "Failed to create X provider" warning at every kernel boot.
|
|
65
68
|
*
|
|
66
69
|
* Keep this in sync with src/shared/llm/provider-manager.ts:createProvider().
|
|
70
|
+
* ADR-127: externally registered providers are constructible too — call
|
|
71
|
+
* `isRuntimeConstructible()` rather than reading this set directly.
|
|
67
72
|
*/
|
|
68
|
-
const
|
|
73
|
+
const BUILTIN_CONSTRUCTIBLE_PROVIDERS = new Set([
|
|
69
74
|
'claude',
|
|
70
75
|
'claude-code',
|
|
71
76
|
'codex',
|
|
@@ -77,6 +82,33 @@ const RUNTIME_CONSTRUCTIBLE_PROVIDERS = new Set([
|
|
|
77
82
|
'bedrock',
|
|
78
83
|
'cognitum',
|
|
79
84
|
]);
|
|
85
|
+
/**
|
|
86
|
+
* Can `ProviderManager.createProvider()` build this type? True for the
|
|
87
|
+
* built-in constructible set, and for any provider registered per ADR-127.
|
|
88
|
+
*/
|
|
89
|
+
export function isRuntimeConstructible(provider) {
|
|
90
|
+
return BUILTIN_CONSTRUCTIBLE_PROVIDERS.has(provider) || isRegisteredProvider(provider);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Every provider type the router may legitimately be pointed at: the ones AQE
|
|
94
|
+
* ships plus the ones a downstream integrator registered (ADR-127).
|
|
95
|
+
*
|
|
96
|
+
* `ALL_PROVIDER_TYPES` deliberately stays frozen as "what AQE ships" — it is
|
|
97
|
+
* exported public API that consumers read — so validation paths call this
|
|
98
|
+
* instead of widening that constant at runtime.
|
|
99
|
+
*/
|
|
100
|
+
export function allSelectableProviderTypes() {
|
|
101
|
+
return [...ALL_PROVIDER_TYPES, ...registeredProviderTypes()];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Env keys that indicate a provider is configured. Returns `[]` for a provider
|
|
105
|
+
* AQE does not ship — an externally registered provider (ADR-127) brings its
|
|
106
|
+
* own availability check (a binary on PATH, typically) rather than an env key,
|
|
107
|
+
* so "no keys" is the correct answer, not a crash.
|
|
108
|
+
*/
|
|
109
|
+
function envKeysFor(provider) {
|
|
110
|
+
return isBuiltinExtendedProviderType(provider) ? PROVIDER_ENV_KEYS[provider] : [];
|
|
111
|
+
}
|
|
80
112
|
/**
|
|
81
113
|
* Return the resolved config-file path for a project.
|
|
82
114
|
* Caller may override projectRoot for tests; defaults to findProjectRoot().
|
|
@@ -91,13 +123,15 @@ export function getRouterConfigPath(projectRoot) {
|
|
|
91
123
|
*/
|
|
92
124
|
export function detectAvailableProvidersFromEnv(env = process.env) {
|
|
93
125
|
const available = new Set();
|
|
94
|
-
|
|
95
|
-
|
|
126
|
+
// ADR-127: iterate registered providers alongside built-ins so an external
|
|
127
|
+
// host is detectable/enable-able without the user hand-editing `providers`.
|
|
128
|
+
for (const provider of allSelectableProviderTypes()) {
|
|
129
|
+
if (!isRuntimeConstructible(provider)) {
|
|
96
130
|
// ProviderManager has no case for this provider yet (e.g. onnx).
|
|
97
131
|
// Pretending it's available leads to "Failed to create" noise.
|
|
98
132
|
continue;
|
|
99
133
|
}
|
|
100
|
-
const keys =
|
|
134
|
+
const keys = envKeysFor(provider);
|
|
101
135
|
if (keys.length === 0) {
|
|
102
136
|
// local providers — always available if their binary is, but at
|
|
103
137
|
// config-merge time we treat them as "potentially available"
|
|
@@ -207,6 +241,19 @@ export function mergeRouterConfig(base, override) {
|
|
|
207
241
|
};
|
|
208
242
|
}
|
|
209
243
|
}
|
|
244
|
+
// ADR-127: `externalProviders` gets the same keyed-object merge semantics —
|
|
245
|
+
// declaring one host must not wipe the others.
|
|
246
|
+
if (base.externalProviders || override.externalProviders) {
|
|
247
|
+
merged.externalProviders = { ...(base.externalProviders ?? {}) };
|
|
248
|
+
for (const [type, cfg] of Object.entries(override.externalProviders ?? {})) {
|
|
249
|
+
if (!cfg)
|
|
250
|
+
continue;
|
|
251
|
+
merged.externalProviders[type] = {
|
|
252
|
+
...(base.externalProviders?.[type] ?? {}),
|
|
253
|
+
...cfg,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
}
|
|
210
257
|
// Issue #568: `agentOverrides` gets keyed-object merge semantics (like
|
|
211
258
|
// `providers`), NOT the shallow-replace treatment `fallbackChain` gets.
|
|
212
259
|
// Overriding one agent type must not wipe the rest.
|
|
@@ -255,12 +302,14 @@ export function sanitizeAgentOverrides(raw) {
|
|
|
255
302
|
const cleaned = {};
|
|
256
303
|
if (entry.provider !== undefined) {
|
|
257
304
|
const provider = entry.provider;
|
|
258
|
-
|
|
305
|
+
// ADR-127: registered external providers are valid override targets too.
|
|
306
|
+
const selectable = allSelectableProviderTypes();
|
|
307
|
+
if (!selectable.includes(provider)) {
|
|
259
308
|
warnings.push(`agentOverrides["${agentType}"].provider "${String(entry.provider)}" is not a known ` +
|
|
260
|
-
`provider (${
|
|
309
|
+
`provider (${selectable.join(', ')}); ignoring this entry.`);
|
|
261
310
|
continue;
|
|
262
311
|
}
|
|
263
|
-
if (!
|
|
312
|
+
if (!isRuntimeConstructible(provider)) {
|
|
264
313
|
warnings.push(`agentOverrides["${agentType}"].provider "${provider}" cannot be instantiated at ` +
|
|
265
314
|
`runtime yet; ignoring this entry.`);
|
|
266
315
|
continue;
|
|
@@ -325,7 +374,7 @@ export function applyEnvProviderDetection(config, env = process.env, explicitlyD
|
|
|
325
374
|
providers: { ...(config.providers ?? {}) },
|
|
326
375
|
};
|
|
327
376
|
for (const provider of available) {
|
|
328
|
-
const keys =
|
|
377
|
+
const keys = envKeysFor(provider);
|
|
329
378
|
if (keys.length === 0)
|
|
330
379
|
continue; // local provider, leave default
|
|
331
380
|
if (explicitlyDisabled.has(provider))
|
|
@@ -365,12 +414,17 @@ export function resolveProviderOverrideFromEnv(env = process.env) {
|
|
|
365
414
|
if (!raw)
|
|
366
415
|
return undefined;
|
|
367
416
|
const normalized = raw === 'anthropic' ? 'claude' : raw;
|
|
368
|
-
|
|
417
|
+
// ADR-127: a registered external provider is selectable here on exactly the
|
|
418
|
+
// same terms as a built-in — that is the whole point of issue #628.
|
|
419
|
+
const selectable = allSelectableProviderTypes();
|
|
420
|
+
if (selectable.includes(normalized)) {
|
|
369
421
|
return normalized;
|
|
370
422
|
}
|
|
423
|
+
// The warning enumerates built-ins AND registered types, so a typo is never
|
|
424
|
+
// mistaken for "some provider got registered and I can't see it".
|
|
371
425
|
// eslint-disable-next-line no-console
|
|
372
426
|
console.warn(`[router-config] Ignoring AQE_LLM_PROVIDER="${raw}": not a known provider. ` +
|
|
373
|
-
`Valid values: ${
|
|
427
|
+
`Valid values: ${selectable.join(', ')}.`);
|
|
374
428
|
return undefined;
|
|
375
429
|
}
|
|
376
430
|
/**
|
|
@@ -381,6 +435,21 @@ export function resolveProviderOverrideFromEnv(env = process.env) {
|
|
|
381
435
|
export function loadRouterConfig(options = {}) {
|
|
382
436
|
const env = options.env ?? process.env;
|
|
383
437
|
const onDisk = loadRouterConfigFile(options.projectRoot);
|
|
438
|
+
// ADR-127 (issue #628): register declared external providers FIRST. Every
|
|
439
|
+
// gate below — env detection, AQE_LLM_PROVIDER resolution, agentOverrides
|
|
440
|
+
// validation — asks the registry whether a type is selectable, so the
|
|
441
|
+
// declarations must be live before any of them run.
|
|
442
|
+
const { declarations, warnings: externalWarnings } = sanitizeExternalProviders(onDisk.externalProviders);
|
|
443
|
+
for (const warning of externalWarnings) {
|
|
444
|
+
logger.warn(`[llm-config] ${warning}`);
|
|
445
|
+
}
|
|
446
|
+
onDisk.externalProviders = declarations;
|
|
447
|
+
const registration = registerExternalProviders(declarations, {
|
|
448
|
+
sourceDetail: getRouterConfigPath(options.projectRoot),
|
|
449
|
+
});
|
|
450
|
+
for (const warning of registration.warnings) {
|
|
451
|
+
logger.warn(`[llm-config] ${warning}`);
|
|
452
|
+
}
|
|
384
453
|
// Issue #568: validate the hand-editable per-agent map before it reaches the
|
|
385
454
|
// router. Bad entries are dropped with a warning, never fatal.
|
|
386
455
|
if (onDisk.agentOverrides !== undefined) {
|
|
@@ -394,6 +463,21 @@ export function loadRouterConfig(options = {}) {
|
|
|
394
463
|
// ADR-123: an explicit `enabled: false` on disk is never resurrected by env.
|
|
395
464
|
const explicitlyDisabled = collectExplicitlyDisabled(onDisk);
|
|
396
465
|
let withEnv = applyEnvProviderDetection(merged, env, explicitlyDisabled);
|
|
466
|
+
// ADR-127: declaring an external host is enabling it. Without this the host
|
|
467
|
+
// would be selectable in principle but dropped by pickEnabledProviders,
|
|
468
|
+
// which is the "configured it and nothing happened" failure ADR-125 called
|
|
469
|
+
// out. An explicit `enabled: false` under `providers` still wins.
|
|
470
|
+
for (const type of registration.registered) {
|
|
471
|
+
if (explicitlyDisabled.has(type))
|
|
472
|
+
continue;
|
|
473
|
+
withEnv = {
|
|
474
|
+
...withEnv,
|
|
475
|
+
providers: {
|
|
476
|
+
...withEnv.providers,
|
|
477
|
+
[type]: { ...(withEnv.providers?.[type] ?? {}), enabled: true },
|
|
478
|
+
},
|
|
479
|
+
};
|
|
480
|
+
}
|
|
397
481
|
// ADR-123: AQE_LLM_PROVIDER pins the default provider and enables it.
|
|
398
482
|
const providerOverride = resolveProviderOverrideFromEnv(env);
|
|
399
483
|
if (providerOverride) {
|
|
@@ -418,8 +502,12 @@ export function loadRouterConfig(options = {}) {
|
|
|
418
502
|
*/
|
|
419
503
|
export function shouldEnableRouter(options = {}) {
|
|
420
504
|
const env = options.env ?? process.env;
|
|
505
|
+
// ADR-127: a project whose only provider is an externally registered host
|
|
506
|
+
// still needs a router.
|
|
507
|
+
if (registeredProviderTypes().length > 0)
|
|
508
|
+
return true;
|
|
421
509
|
for (const provider of ALL_PROVIDER_TYPES) {
|
|
422
|
-
const keys =
|
|
510
|
+
const keys = envKeysFor(provider);
|
|
423
511
|
if (keys.length === 0)
|
|
424
512
|
continue;
|
|
425
513
|
if (keys.some((k) => (env[k] ?? '').trim().length > 0)) {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 — Config-driven external provider registration
|
|
3
|
+
* ADR-127 (issue #628)
|
|
4
|
+
*
|
|
5
|
+
* Turns the `externalProviders` block of `.agentic-qe/llm-config.json` into
|
|
6
|
+
* live entries in the provider registry.
|
|
7
|
+
*
|
|
8
|
+
* This is the half of ADR-127 that actually unblocks the requester. An
|
|
9
|
+
* in-process `registerProvider()` call cannot reach the `aqe` CLI bundle or the
|
|
10
|
+
* MCP server bundle — they are separate esbuild artifacts spawned as
|
|
11
|
+
* subprocesses — but both call `loadRouterConfig()`, so a declaration on disk
|
|
12
|
+
* reaches both. No third-party code is imported: a declaration is data, and the
|
|
13
|
+
* provider it produces is AQE's own `ExternalCliProvider`.
|
|
14
|
+
*
|
|
15
|
+
* Untrusted-input discipline (inherited from ADR-125's `sanitizeAgentOverrides`):
|
|
16
|
+
* entries are validated and dropped **individually** with a warning. One
|
|
17
|
+
* malformed declaration must never fail router construction for the project.
|
|
18
|
+
*/
|
|
19
|
+
import { type ExternalCliProviderConfig } from '../providers/external-cli.js';
|
|
20
|
+
/** Result of processing an `externalProviders` block. */
|
|
21
|
+
export interface ExternalProviderRegistrationResult {
|
|
22
|
+
/** Types successfully registered. */
|
|
23
|
+
readonly registered: string[];
|
|
24
|
+
/** Human-readable reasons entries were dropped. */
|
|
25
|
+
readonly warnings: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Register every valid declaration in an `externalProviders` block.
|
|
29
|
+
*
|
|
30
|
+
* Idempotent: re-registering the same type replaces the previous entry, and
|
|
31
|
+
* config-sourced registrations that are no longer declared are removed. API
|
|
32
|
+
* registrations (`registerProvider()`) are never touched — a config reload must
|
|
33
|
+
* not silently unregister a provider an embedder installed in-process.
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerExternalProviders(declarations: Record<string, ExternalCliProviderConfig> | undefined, options?: {
|
|
36
|
+
sourceDetail?: string;
|
|
37
|
+
}): ExternalProviderRegistrationResult;
|
|
38
|
+
/**
|
|
39
|
+
* Extract and shallow-validate an `externalProviders` block read off disk.
|
|
40
|
+
* Returns only entries that are objects; deeper validation happens at
|
|
41
|
+
* registration so every rejection is reported through one path.
|
|
42
|
+
*/
|
|
43
|
+
export declare function sanitizeExternalProviders(raw: unknown): {
|
|
44
|
+
declarations: Record<string, ExternalCliProviderConfig>;
|
|
45
|
+
warnings: string[];
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=external-provider-config.d.ts.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 — Config-driven external provider registration
|
|
3
|
+
* ADR-127 (issue #628)
|
|
4
|
+
*
|
|
5
|
+
* Turns the `externalProviders` block of `.agentic-qe/llm-config.json` into
|
|
6
|
+
* live entries in the provider registry.
|
|
7
|
+
*
|
|
8
|
+
* This is the half of ADR-127 that actually unblocks the requester. An
|
|
9
|
+
* in-process `registerProvider()` call cannot reach the `aqe` CLI bundle or the
|
|
10
|
+
* MCP server bundle — they are separate esbuild artifacts spawned as
|
|
11
|
+
* subprocesses — but both call `loadRouterConfig()`, so a declaration on disk
|
|
12
|
+
* reaches both. No third-party code is imported: a declaration is data, and the
|
|
13
|
+
* provider it produces is AQE's own `ExternalCliProvider`.
|
|
14
|
+
*
|
|
15
|
+
* Untrusted-input discipline (inherited from ADR-125's `sanitizeAgentOverrides`):
|
|
16
|
+
* entries are validated and dropped **individually** with a warning. One
|
|
17
|
+
* malformed declaration must never fail router construction for the project.
|
|
18
|
+
*/
|
|
19
|
+
import { ExternalCliProvider, validateExternalCliConfig, } from '../providers/external-cli.js';
|
|
20
|
+
import { tryRegisterProvider, unregisterProvider, validateProviderType, } from '../provider-registry.js';
|
|
21
|
+
/**
|
|
22
|
+
* Types THIS module registered on the last load. Reaping is keyed off actual
|
|
23
|
+
* ownership rather than off the `source` metadata field, because that field is
|
|
24
|
+
* caller-supplied: an in-process embedder that passes `source: 'config'` must
|
|
25
|
+
* not have its registration silently reaped by an unrelated config reload.
|
|
26
|
+
*/
|
|
27
|
+
const configOwnedTypes = new Set();
|
|
28
|
+
/**
|
|
29
|
+
* Register every valid declaration in an `externalProviders` block.
|
|
30
|
+
*
|
|
31
|
+
* Idempotent: re-registering the same type replaces the previous entry, and
|
|
32
|
+
* config-sourced registrations that are no longer declared are removed. API
|
|
33
|
+
* registrations (`registerProvider()`) are never touched — a config reload must
|
|
34
|
+
* not silently unregister a provider an embedder installed in-process.
|
|
35
|
+
*/
|
|
36
|
+
export function registerExternalProviders(declarations, options = {}) {
|
|
37
|
+
const registered = [];
|
|
38
|
+
const warnings = [];
|
|
39
|
+
const sourceDetail = options.sourceDetail ?? '.agentic-qe/llm-config.json';
|
|
40
|
+
const declared = new Set(Object.keys(declarations ?? {}));
|
|
41
|
+
// Drop declarations this module previously registered that are no longer in
|
|
42
|
+
// the file, so removing an entry actually removes the provider. Types we do
|
|
43
|
+
// not own are left alone. If the registry was reset out from under us,
|
|
44
|
+
// `unregisterProvider` simply no-ops and the set is rebuilt below.
|
|
45
|
+
for (const owned of configOwnedTypes) {
|
|
46
|
+
if (!declared.has(owned)) {
|
|
47
|
+
unregisterProvider(owned);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
configOwnedTypes.clear();
|
|
51
|
+
for (const [type, declaration] of Object.entries(declarations ?? {})) {
|
|
52
|
+
const typeProblem = validateProviderType(type);
|
|
53
|
+
if (typeProblem) {
|
|
54
|
+
warnings.push(`externalProviders["${type}"] ignored: ${typeProblem}`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const configProblem = validateExternalCliConfig(type, declaration);
|
|
58
|
+
if (configProblem) {
|
|
59
|
+
warnings.push(`${configProblem} — ignoring this entry.`);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const registrationProblem = tryRegisterProvider(type,
|
|
63
|
+
// The declaration is captured here, so each construction gets a fresh
|
|
64
|
+
// provider built from the same validated data.
|
|
65
|
+
() => new ExternalCliProvider(type, declaration), {
|
|
66
|
+
billingMode: declaration.billingMode,
|
|
67
|
+
displayName: declaration.displayName,
|
|
68
|
+
models: declaration.models,
|
|
69
|
+
config: declaration,
|
|
70
|
+
source: 'config',
|
|
71
|
+
sourceDetail,
|
|
72
|
+
});
|
|
73
|
+
if (registrationProblem) {
|
|
74
|
+
warnings.push(`externalProviders["${type}"] ignored: ${registrationProblem}`);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
configOwnedTypes.add(type);
|
|
78
|
+
registered.push(type);
|
|
79
|
+
}
|
|
80
|
+
return { registered, warnings };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Extract and shallow-validate an `externalProviders` block read off disk.
|
|
84
|
+
* Returns only entries that are objects; deeper validation happens at
|
|
85
|
+
* registration so every rejection is reported through one path.
|
|
86
|
+
*/
|
|
87
|
+
export function sanitizeExternalProviders(raw) {
|
|
88
|
+
const declarations = {};
|
|
89
|
+
const warnings = [];
|
|
90
|
+
if (raw === undefined)
|
|
91
|
+
return { declarations, warnings };
|
|
92
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
93
|
+
warnings.push('externalProviders must be an object keyed by provider type; ignoring it.');
|
|
94
|
+
return { declarations, warnings };
|
|
95
|
+
}
|
|
96
|
+
for (const [type, value] of Object.entries(raw)) {
|
|
97
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
98
|
+
warnings.push(`externalProviders["${type}"] must be an object; ignoring this entry.`);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
declarations[type] = value;
|
|
102
|
+
}
|
|
103
|
+
return { declarations, warnings };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=external-provider-config.js.map
|
|
@@ -18,12 +18,33 @@
|
|
|
18
18
|
* @see ADR-011 - LLM Provider System for QE (foundation)
|
|
19
19
|
* @see ADR-043 - Vendor-Independent LLM Support (this extension)
|
|
20
20
|
*/
|
|
21
|
-
import {
|
|
21
|
+
import type { ExternalCliProviderConfig } from '../providers/external-cli';
|
|
22
|
+
import { BuiltinProviderType, LLMProviderType, LLMProvider, Message, GenerateOptions, TokenUsage, CostInfo, HealthCheckResult } from '../interfaces';
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
24
|
+
* The closed set of extended provider types AQE ships. Exhaustive — this is
|
|
25
|
+
* what a `Record` of per-provider constants must be keyed on, so that adding a
|
|
26
|
+
* built-in provider still fails the build until every map is updated.
|
|
27
|
+
*
|
|
28
|
+
* ADR-127: `BuiltinProviderType` covers the ten runtime-constructible
|
|
29
|
+
* providers; `onnx` exists in the type system (routing/translation know about
|
|
30
|
+
* it) but `ProviderManager` has no case for it yet.
|
|
31
|
+
*/
|
|
32
|
+
export type BuiltinExtendedProviderType = BuiltinProviderType | 'onnx';
|
|
33
|
+
/**
|
|
34
|
+
* Extended provider types including new ADR-043 providers.
|
|
35
|
+
*
|
|
36
|
+
* ADR-127: open, because `LLMProviderType` is open — a registered external
|
|
37
|
+
* provider is a valid routing target everywhere an extended type is accepted.
|
|
38
|
+
* Use `BuiltinExtendedProviderType` when you need exhaustiveness.
|
|
25
39
|
*/
|
|
26
|
-
export type ExtendedProviderType = LLMProviderType | '
|
|
40
|
+
export type ExtendedProviderType = LLMProviderType | 'onnx';
|
|
41
|
+
/**
|
|
42
|
+
* Type guard for the closed extended set. Use before indexing any
|
|
43
|
+
* `Record<BuiltinExtendedProviderType, _>` with an open provider type, so the
|
|
44
|
+
* external-provider case is handled explicitly rather than yielding
|
|
45
|
+
* `undefined` at a site the compiler believed was total (ADR-127).
|
|
46
|
+
*/
|
|
47
|
+
export declare function isBuiltinExtendedProviderType(type: string): type is BuiltinExtendedProviderType;
|
|
27
48
|
/**
|
|
28
49
|
* All supported provider types as a const array for iteration
|
|
29
50
|
*/
|
|
@@ -585,6 +606,31 @@ export interface RouterConfig {
|
|
|
585
606
|
* Unset fields keep their category default. Never put API keys here.
|
|
586
607
|
*/
|
|
587
608
|
agentOverrides?: Record<string, AgentProviderOverride>;
|
|
609
|
+
/**
|
|
610
|
+
* ADR-127 (issue #628): external provider declarations. Each key becomes a
|
|
611
|
+
* selectable provider identity — `AQE_LLM_PROVIDER=<key>`,
|
|
612
|
+
* `defaultProvider`, `fallbackChain`, and `agentOverrides` all accept it —
|
|
613
|
+
* backed by a generic subprocess provider built from the declaration.
|
|
614
|
+
*
|
|
615
|
+
* Declared by data, never by a module path: AQE does not import third-party
|
|
616
|
+
* code on the strength of a config file. See ADR-127 for why.
|
|
617
|
+
*
|
|
618
|
+
* @example
|
|
619
|
+
* ```jsonc
|
|
620
|
+
* {
|
|
621
|
+
* "externalProviders": {
|
|
622
|
+
* "my-host": {
|
|
623
|
+
* "kind": "cli",
|
|
624
|
+
* "command": ["my-host", "exec"],
|
|
625
|
+
* "billingMode": "subscription",
|
|
626
|
+
* "models": ["default"]
|
|
627
|
+
* }
|
|
628
|
+
* }
|
|
629
|
+
* }
|
|
630
|
+
* ```
|
|
631
|
+
* Declaring a host also enables it. Never put API keys here.
|
|
632
|
+
*/
|
|
633
|
+
externalProviders?: Record<string, ExternalCliProviderConfig>;
|
|
588
634
|
}
|
|
589
635
|
/**
|
|
590
636
|
* On-disk, per-agent-type routing override (issue #568).
|
|
@@ -18,6 +18,16 @@
|
|
|
18
18
|
* @see ADR-011 - LLM Provider System for QE (foundation)
|
|
19
19
|
* @see ADR-043 - Vendor-Independent LLM Support (this extension)
|
|
20
20
|
*/
|
|
21
|
+
import { isBuiltinProviderType, } from '../interfaces.js';
|
|
22
|
+
/**
|
|
23
|
+
* Type guard for the closed extended set. Use before indexing any
|
|
24
|
+
* `Record<BuiltinExtendedProviderType, _>` with an open provider type, so the
|
|
25
|
+
* external-provider case is handled explicitly rather than yielding
|
|
26
|
+
* `undefined` at a site the compiler believed was total (ADR-127).
|
|
27
|
+
*/
|
|
28
|
+
export function isBuiltinExtendedProviderType(type) {
|
|
29
|
+
return type === 'onnx' || isBuiltinProviderType(type);
|
|
30
|
+
}
|
|
21
31
|
/**
|
|
22
32
|
* All supported provider types as a const array for iteration
|
|
23
33
|
*/
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - Response normalization across formats
|
|
8
8
|
* - Message role mapping
|
|
9
9
|
*/
|
|
10
|
+
import { isBuiltinExtendedProviderType } from '../router/types.js';
|
|
10
11
|
// ============================================================================
|
|
11
12
|
// System Prompt Handling
|
|
12
13
|
// ============================================================================
|
|
@@ -36,7 +37,12 @@ const SYSTEM_PROMPT_STRATEGIES = {
|
|
|
36
37
|
* - Others: May need to prepend to first user message
|
|
37
38
|
*/
|
|
38
39
|
export function handleSystemPrompt(systemPrompt, targetProvider) {
|
|
39
|
-
|
|
40
|
+
// ADR-127: an externally registered provider has no entry here. Falling back
|
|
41
|
+
// to 'first-message' is the safe default — it inlines the system prompt into
|
|
42
|
+
// the conversation, which every chat-shaped provider understands.
|
|
43
|
+
const strategy = isBuiltinExtendedProviderType(targetProvider)
|
|
44
|
+
? SYSTEM_PROMPT_STRATEGIES[targetProvider]
|
|
45
|
+
: 'first-message';
|
|
40
46
|
// Clean up the system prompt
|
|
41
47
|
const cleanedPrompt = systemPrompt.trim();
|
|
42
48
|
// For providers that don't support system prompts natively,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.12",
|
|
4
4
|
"description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
"import": "./dist/shared/index.js",
|
|
23
23
|
"types": "./dist/shared/index.d.ts"
|
|
24
24
|
},
|
|
25
|
+
"./shared/llm": {
|
|
26
|
+
"import": "./dist/shared/llm/index.js",
|
|
27
|
+
"types": "./dist/shared/llm/index.d.ts"
|
|
28
|
+
},
|
|
25
29
|
"./cli": {
|
|
26
30
|
"import": "./dist/cli/index.js"
|
|
27
31
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-2BDTZYQN.js";import"./chunk-76NSSNB3.js";import"./chunk-UX5SM2PW.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-LUAXQB57.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-2E2QCIGR.js";import"./chunk-GPJDZFFV.js";import"./chunk-JTQSXU6V.js";import"./chunk-GJTGHVAX.js";import"./chunk-TMY2Y7SC.js";import"./chunk-5364DBZG.js";import"./chunk-P736OKQN.js";import"./chunk-36ONUM43.js";import"./chunk-AFXMTSO3.js";import"./chunk-MWTFFGU3.js";import"./chunk-YEPJS4AM.js";import"./chunk-JWT675RM.js";import"./chunk-E54QUKAD.js";import"./chunk-UGFHEVG4.js";import"./chunk-TU4BYSXR.js";import"./chunk-T5M4TZRB.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-UPMQHCC2.js";import"./chunk-2D7SBOZ4.js";import"./chunk-FXKOHZBN.js";import"./chunk-XDK2TPI5.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-YRCNWQBO.js";import"./chunk-24XW7KUX.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-4TUGQESL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-K652SCBA.js";import"./chunk-YRCNWQBO.js";import"./chunk-24XW7KUX.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-4TUGQESL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as r}from"./chunk-QYHRDBKI.js";import{c as o}from"./chunk-LUAXQB57.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
|
|
@@ -1,3 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a as f,b as l}from"./chunk-YXUFGDGS.js";import{m as b}from"./chunk-2Y3PW5EJ.js";import{d as g,e as _}from"./chunk-QYHRDBKI.js";import{b as v}from"./chunk-LREIHR2A.js";b();import*as d from"fs";import*as p from"path";_();var A=g("llm/router/config-store"),E="llm-config.json",u={claude:["ANTHROPIC_API_KEY","CLAUDE_API_KEY"],"claude-code":[],codex:[],openai:["OPENAI_API_KEY"],ollama:[],openrouter:["OPENROUTER_API_KEY"],gemini:["GOOGLE_AI_API_KEY","GEMINI_API_KEY","GOOGLE_API_KEY"],"azure-openai":["AZURE_OPENAI_API_KEY"],bedrock:["AWS_ACCESS_KEY_ID"],cognitum:["COGNITUM_API_KEY"],onnx:[]},m=new Set(["claude","claude-code","codex","openai","ollama","openrouter","gemini","azure-openai","bedrock","cognitum"]);function P(n){let r=n??v();return p.join(r,".agentic-qe",E)}function h(n=process.env){let r=new Set;for(let e of f){if(!m.has(e))continue;let o=u[e];if(o.length===0){r.add(e);continue}o.some(i=>(n[i]??"").trim().length>0)&&r.add(e)}return r}function O(n){let r=P(n);if(!d.existsSync(r))return{};let e=d.readFileSync(r,"utf8");if(!e.trim())return{};let o=JSON.parse(e);if(typeof o!="object"||o===null)throw new Error(`Invalid ${E}: expected object, got ${typeof o}`);return o}function w(n,r){let e=P(r),o=p.dirname(e);d.existsSync(o)||d.mkdirSync(o,{recursive:!0});let i=x(n),t=JSON.stringify(i,null,2)+`
|
|
3
|
-
`,s=e+".tmp-"+process.pid;d.writeFileSync(s,t,{encoding:"utf8",mode:384}),d.renameSync(s,e)}function x(n){if(!n.providers)return JSON.parse(JSON.stringify(n));let r=JSON.parse(JSON.stringify(n)),e=[];if(r.providers)for(let o of Object.keys(r.providers)){let i=r.providers[o];i&&"apiKey"in i&&i.apiKey&&(delete i.apiKey,e.push(o))}return e.length>0&&console.warn(`[router-config] Refused to persist apiKey for: ${e.join(", ")}. API keys belong in environment variables (e.g. ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY), NOT in .agentic-qe/llm-config.json which may be checked into source control.`),r}function y(n,r){let e={...n,...r,providers:{...n.providers??{}}};if(r.providers)for(let[o,i]of Object.entries(r.providers)){if(!i)continue;let t=o;e.providers[t]={...n.providers?.[t]??{},...i}}if(n.agentOverrides||r.agentOverrides){e.agentOverrides={...n.agentOverrides??{}};for(let[o,i]of Object.entries(r.agentOverrides??{}))i&&(e.agentOverrides[o]={...n.agentOverrides?.[o]??{},...i})}return e}function I(n){let r={},e=[];if(n==null)return{overrides:r,warnings:e};if(typeof n!="object"||Array.isArray(n))return e.push("`agentOverrides` must be an object keyed by agent type; ignoring it."),{overrides:r,warnings:e};for(let[o,i]of Object.entries(n)){if(!o.trim())continue;if(typeof i!="object"||i===null||Array.isArray(i)){e.push(`agentOverrides["${o}"] must be an object; ignoring it.`);continue}let t=i,s={};if(t.provider!==void 0){let a=t.provider;if(!f.includes(a)){e.push(`agentOverrides["${o}"].provider "${String(t.provider)}" is not a known provider (${f.join(", ")}); ignoring this entry.`);continue}if(!m.has(a)){e.push(`agentOverrides["${o}"].provider "${a}" cannot be instantiated at runtime yet; ignoring this entry.`);continue}s.provider=a}typeof t.model=="string"&&t.model.trim()&&(s.model=t.model.trim()),typeof t.temperature=="number"&&Number.isFinite(t.temperature)&&(s.temperature=t.temperature),typeof t.maxTokens=="number"&&Number.isFinite(t.maxTokens)&&(s.maxTokens=t.maxTokens),typeof t.priority=="number"&&Number.isFinite(t.priority)&&(s.priority=t.priority);let c=Object.keys(t).filter(a=>/^(api[-_]?key|key|token|secret|password|passwd|auth|authorization|bearer|credential)s?$/i.test(a));if(c.length>0&&e.push(`agentOverrides["${o}"] contained credential-shaped field(s) [${c.join(", ")}] \u2014 discarded, not persisted, not logged. Credentials belong in environment variables, never in .agentic-qe/llm-config.json.`),Object.keys(s).length===0){e.push(`agentOverrides["${o}"] had no usable fields; ignoring it.`);continue}r[o]=s}return{overrides:r,warnings:e}}function C(n,r=process.env,e=new Set){let o=h(r),i={...n,providers:{...n.providers??{}}};for(let t of o){if(u[t].length===0||e.has(t))continue;let c=i.providers[t]??{enabled:!1};c.enabled||(i.providers[t]={...c,enabled:!0})}return i}function S(n){let r=new Set;if(!n.providers)return r;for(let[e,o]of Object.entries(n.providers))o&&o.enabled===!1&&r.add(e);return r}function T(n=process.env){let r=(n.AQE_LLM_PROVIDER??"").trim().toLowerCase();if(!r)return;let e=r==="anthropic"?"claude":r;if(f.includes(e))return e;console.warn(`[router-config] Ignoring AQE_LLM_PROVIDER="${r}": not a known provider. Valid values: ${f.join(", ")}.`)}function K(n={}){let r=n.env??process.env,e=O(n.projectRoot);if(e.agentOverrides!==void 0){let{overrides:c,warnings:a}=I(e.agentOverrides);for(let R of a)A.warn(`[llm-config] ${R}`);e.agentOverrides=c}let o=y(l,e),i=S(e),t=C(o,r,i),s=T(r);return s&&(t={...t,defaultProvider:s,providers:{...t.providers,[s]:{...t.providers?.[s]??{},enabled:!0}}}),n.override?y(t,n.override):t}function Y(n={}){let r=n.env??process.env;for(let o of f){let i=u[o];if(i.length!==0&&i.some(t=>(r[t]??"").trim().length>0))return!0}let e=O(n.projectRoot);if(e.providers){for(let o of Object.values(e.providers))if(o?.enabled)return!0}return!1}export{h as a,w as b,K as c,Y as d};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
function t(r,o,n){let e=new Error(r);return e.name="LLMError",e.code=o,e.provider=n?.provider,e.model=n?.model,e.retryable=n?.retryable??!1,e.retryAfterMs=n?.retryAfterMs,e.cause=n?.cause,e}function i(r){return r instanceof Error&&"code"in r&&typeof r.code=="string"}export{t as a,i as b};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
var i={claude:"metered-api","claude-code":"subscription",codex:"subscription",openai:"metered-api",openrouter:"metered-api",gemini:"metered-api","azure-openai":"metered-api",bedrock:"metered-api",cognitum:"metered-capped",ollama:"local"};function n(e){return e.billingMode??i[e.type]??"metered-api"}function t(e){return i[e]??"metered-api"}function d(e,r){switch(r){case"metered-api":return`\u26A0\uFE0F LLM provider "${e}" bills a pay-per-token API key (not your Claude subscription) and has no server-side spend cap. Set a budget with --max-budget-usd / AQE_MAX_BUDGET_USD, or use AQE_LLM_PROVIDER=claude-code to run on your Claude Code subscription instead.`;case"metered-capped":return`\u2139\uFE0F LLM provider "${e}" bills per-token but enforces a server-side hard spend cap; it will pause at the cap rather than overspend.`;case"subscription":return`\u2139\uFE0F LLM provider "${e}" runs on your ${e==="codex"?"ChatGPT":"Claude Code"} subscription (shared plan usage). Worst case is hitting your plan's rate limit and pausing \u2014 no per-token API charges.`;case"local":return}}export{n as a,t as b,d as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
var t=["claude","claude-code","codex","openai","ollama","openrouter","gemini","azure-openai","bedrock","cognitum","onnx"];var e={maxAttempts:3,delayMs:100,trySameProviderAlternateModel:!0,skipOpenCircuits:!0,retryableErrors:["RATE_LIMITED","TIMEOUT","NETWORK_ERROR","PROVIDER_UNAVAILABLE"]},r=[{provider:"claude",models:["claude-sonnet-4-6","claude-haiku-4-5-20251001"],enabled:!0,priority:100,maxAttempts:2,timeoutMs:3e4},{provider:"openai",models:["gpt-4o","gpt-4o-mini"],enabled:!0,priority:90,maxAttempts:2,timeoutMs:3e4},{provider:"openrouter",models:["anthropic/claude-sonnet-4","openai/gpt-4o"],enabled:!0,priority:85,maxAttempts:2,timeoutMs:3e4},{provider:"ollama",models:["llama3.1","mistral"],enabled:!0,priority:80,maxAttempts:2,timeoutMs:6e4},{provider:"onnx",models:["phi-4","all-MiniLM-L6-v2"],enabled:!0,priority:70,maxAttempts:1,timeoutMs:12e4}],o={id:"default-fallback-chain",entries:r,maxRetries:3,retryDelayMs:100,backoffMultiplier:2,maxDelayMs:5e3},n={mode:"rule-based",rules:[],defaultProvider:"claude",defaultModel:"claude-sonnet-4-6",fallbackChain:o,fallbackBehavior:e,providers:{claude:{enabled:!0,defaultModel:"claude-sonnet-4-6"},"claude-code":{enabled:!1,defaultModel:"claude-sonnet-4-6"},openai:{enabled:!0,defaultModel:"gpt-4o"},ollama:{enabled:!0,defaultModel:"llama3.1"},openrouter:{enabled:!0,defaultModel:"anthropic/claude-sonnet-4"},gemini:{enabled:!1,defaultModel:"gemini-pro"},"azure-openai":{enabled:!1},bedrock:{enabled:!1},cognitum:{enabled:!1,defaultModel:"cognitum-auto"},onnx:{enabled:!0,defaultModel:"phi-4"}},enableMetrics:!0,metricsConfig:{enabled:!0,collectionIntervalMs:6e4,retentionMs:864e5,trackPerRequest:!0},maxDecisionTimeMs:10,cacheDecisions:!0,decisionCacheTtlMs:6e4,cacheConfig:{enabled:!0,ttlMs:6e4,maxEntries:1e3,keyStrategy:"agent-domain"},auditConfig:{enabled:!0,maxEntries:1e4,logContent:!1,logResponse:!1}},a=[{canonicalId:"claude-opus-4-7",canonicalName:"Claude Opus 4.7",providerIds:{claude:"claude-opus-4-7",openrouter:"anthropic/claude-opus-4.7",bedrock:"anthropic.claude-opus-4-7-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:1e6,maxOutputTokens:128e3},tier:"flagship",family:"claude",inputCostPer1M:5,outputCostPer1M:25},{canonicalId:"claude-sonnet-4-6",canonicalName:"Claude Sonnet 4.6",providerIds:{claude:"claude-sonnet-4-6",openrouter:"anthropic/claude-sonnet-4.6",bedrock:"anthropic.claude-sonnet-4-6-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:64e3},tier:"advanced",family:"claude",inputCostPer1M:3,outputCostPer1M:15},{canonicalId:"claude-haiku-4-5",canonicalName:"Claude Haiku 4.5",providerIds:{claude:"claude-haiku-4-5-20251001",openrouter:"anthropic/claude-haiku-4.5",bedrock:"anthropic.claude-haiku-4-5-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:16384},tier:"standard",family:"claude",inputCostPer1M:1,outputCostPer1M:5},{canonicalId:"gpt-4o",canonicalName:"GPT-4o",providerIds:{openai:"gpt-4o","azure-openai":"gpt-4o",openrouter:"openai/gpt-4o"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"advanced",family:"gpt",inputCostPer1M:2.5,outputCostPer1M:10},{canonicalId:"gpt-4o-mini",canonicalName:"GPT-4o Mini",providerIds:{openai:"gpt-4o-mini","azure-openai":"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"standard",family:"gpt",inputCostPer1M:.15,outputCostPer1M:.6},{canonicalId:"gemini-pro",canonicalName:"Gemini 2.0 Pro",providerIds:{gemini:"gemini-2.0-pro",openrouter:"google/gemini-2.0-pro"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e6,maxOutputTokens:8192},tier:"advanced",family:"gemini",inputCostPer1M:1.25,outputCostPer1M:5},{canonicalId:"llama-3.1-70b",canonicalName:"LLaMA 3.1 70B",providerIds:{ollama:"llama3.1:70b",openrouter:"meta-llama/llama-3.1-70b",bedrock:"meta.llama3-1-70b-instruct-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:4096},tier:"advanced",family:"llama",inputCostPer1M:.9,outputCostPer1M:.9},{canonicalId:"phi-4",canonicalName:"Microsoft Phi-4",providerIds:{ollama:"phi4",onnx:"phi-4",openrouter:"microsoft/phi-4"},capabilities:{supportsStreaming:!0,supportsTools:!1,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!1,maxContextTokens:16e3,maxOutputTokens:4096,requiresNetwork:!1},tier:"efficient",family:"phi",inputCostPer1M:0,outputCostPer1M:0}];export{t as a,n as b,a as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-PZHAPI47.js";import"./chunk-DXQMVATY.js";import"./chunk-TCVEXQLL.js";import"./chunk-LUAXQB57.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");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-UDFTDQ6C.js";import"./chunk-4DTBGQWA.js";import"./chunk-4CTKRLRX.js";import"./chunk-MUAW4AJ6.js";import"./chunk-BPPEN7SS.js";import"./chunk-MS5CAEPA.js";import"./chunk-H3AKF2HS.js";import"./chunk-TBO64O56.js";import"./chunk-EHZQIXH6.js";import"./chunk-YYAJEPRD.js";import"./chunk-OQWG7GOD.js";import"./chunk-Y2S6SS7M.js";import"./chunk-AAPJG3WI.js";import"./chunk-M3MRFZKD.js";import"./chunk-2HT5HRAA.js";import"./chunk-IGW5L7YM.js";import"./chunk-DMHQ4ZUZ.js";import"./chunk-IZOWGVTU.js";import"./chunk-DPZ4AU6W.js";import"./chunk-S3FNAHNC.js";import"./chunk-DLL3AJH7.js";import"./chunk-K652SCBA.js";import"./chunk-XZI4QXJJ.js";import"./chunk-BL5BHBXR.js";import"./chunk-BVKFBJX6.js";import"./chunk-IZF3VLNW.js";import"./chunk-HZR4G6I3.js";import"./chunk-PZHAPI47.js";import"./chunk-7YL7P5XG.js";import"./chunk-JK6ENS3J.js";import"./chunk-JKPMV5VB.js";import"./chunk-H5DS7S4B.js";import"./chunk-2E2QCIGR.js";import"./chunk-GPJDZFFV.js";import"./chunk-H7QWOJF2.js";import"./chunk-YRCNWQBO.js";import"./chunk-24XW7KUX.js";import"./chunk-JKP2BUF5.js";import"./chunk-LPDT27EC.js";import"./chunk-4X4GTEQY.js";import"./chunk-ZNGFSR5M.js";import"./chunk-LIGDJP6H.js";import"./chunk-GWTGBQ6X.js";import"./chunk-AZVV7POX.js";import"./chunk-YRV45WDT.js";import"./chunk-DXQMVATY.js";import"./chunk-XEUUWOSS.js";import"./chunk-VHNAN7E2.js";import"./chunk-HV6LJ57R.js";import"./chunk-PBJ5I2NS.js";import"./chunk-FPX4JSFH.js";import"./chunk-HGPMS6JL.js";import"./chunk-VU3ARH4S.js";import"./chunk-V7QZMOG3.js";import"./chunk-VLW63UA2.js";import"./chunk-7HTYM6XY.js";import"./chunk-WINYWMQP.js";import"./chunk-2BDTZYQN.js";import"./chunk-76NSSNB3.js";import"./chunk-OLPJGYO5.js";import"./chunk-UX5SM2PW.js";import"./chunk-EWH7PFV6.js";import"./chunk-VC77SDNH.js";import"./chunk-2CBEQV6R.js";import"./chunk-GP5QBJVO.js";import"./chunk-4TJJU5Y2.js";import"./chunk-TJ67B7S7.js";import"./chunk-UDSNWQQI.js";import"./chunk-PADCR4LY.js";import"./chunk-SW56PB22.js";import"./chunk-U6G6RUFI.js";import"./chunk-YXUFGDGS.js";import"./chunk-JGXP67BP.js";import"./chunk-XVFSZLRS.js";import"./chunk-3SPYI7TS.js";import"./chunk-UJ2NRIAS.js";import"./chunk-WVNLNXXI.js";import"./chunk-JTQSXU6V.js";import"./chunk-GJTGHVAX.js";import"./chunk-TMY2Y7SC.js";import"./chunk-5364DBZG.js";import"./chunk-P736OKQN.js";import"./chunk-36ONUM43.js";import"./chunk-AFXMTSO3.js";import"./chunk-MWTFFGU3.js";import"./chunk-YEPJS4AM.js";import"./chunk-JWT675RM.js";import"./chunk-E54QUKAD.js";import"./chunk-UGFHEVG4.js";import"./chunk-4ZQOJ7Q2.js";import"./chunk-TU4BYSXR.js";import"./chunk-T5M4TZRB.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-UPMQHCC2.js";import"./chunk-2D7SBOZ4.js";import"./chunk-FXKOHZBN.js";import"./chunk-XDK2TPI5.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-4TUGQESL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.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 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-7HTYM6XY.js";import"./chunk-WINYWMQP.js";import"./chunk-XDK2TPI5.js";import"./chunk-PJNIDDER.js";import"./chunk-LUAXQB57.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-JKPMV5VB.js";import"./chunk-H5DS7S4B.js";import"./chunk-2E2QCIGR.js";import"./chunk-GPJDZFFV.js";import"./chunk-JTQSXU6V.js";import"./chunk-GJTGHVAX.js";import"./chunk-TMY2Y7SC.js";import"./chunk-5364DBZG.js";import"./chunk-P736OKQN.js";import"./chunk-36ONUM43.js";import"./chunk-AFXMTSO3.js";import"./chunk-MWTFFGU3.js";import"./chunk-YEPJS4AM.js";import"./chunk-JWT675RM.js";import"./chunk-E54QUKAD.js";import"./chunk-UGFHEVG4.js";import"./chunk-4ZQOJ7Q2.js";import"./chunk-TU4BYSXR.js";import"./chunk-T5M4TZRB.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-UPMQHCC2.js";import"./chunk-2D7SBOZ4.js";import"./chunk-FXKOHZBN.js";import"./chunk-XDK2TPI5.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{q as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,s as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,t as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,r as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,u as createDreamScheduler,p as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{b as a}from"./chunk-ATRUE6CT.js";import"./chunk-BVKFBJX6.js";import"./chunk-IZF3VLNW.js";import"./chunk-HZR4G6I3.js";import"./chunk-36ONUM43.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{a as HeartbeatSchedulerWorker};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";b();export{a as HnswAdapter};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-WVNLNXXI.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-WJB6YYMJ.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{d as a,e as b,f as c}from"./chunk-SW56PB22.js";import"./chunk-U6G6RUFI.js";import"./chunk-YXUFGDGS.js";import"./chunk-JGXP67BP.js";import"./chunk-XVFSZLRS.js";import"./chunk-3SPYI7TS.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-LUAXQB57.js";export{a as HybridRouter,b as createHybridRouter,c as createQERouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-GWTGBQ6X.js";import"./chunk-AZVV7POX.js";import"./chunk-YRV45WDT.js";import"./chunk-PADCR4LY.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-TZA45FI7.js";import"./chunk-XDK2TPI5.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-LUAXQB57.js";export{a as ImpactAnalyzerService};
|