agentic-qe 3.13.10 → 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/auto-memory-hook.mjs +1 -1
- package/.claude/helpers/helpers.manifest.json +6 -6
- package/.claude/helpers/hook-handler.cjs +30 -0
- package/.claude/helpers/intelligence.cjs +121 -10
- package/.claude/helpers/statusline.cjs +786 -8
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +78 -0
- package/README.md +1 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/agents/claim-verifier/claim-verifier-service.js +4 -4
- package/dist/agents/claim-verifier/index.js +6 -6
- package/dist/agents/claim-verifier/verifiers/file-verifier.js +1 -1
- package/dist/agents/claim-verifier/verifiers/index.js +3 -3
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +1 -1
- package/dist/causal-discovery/causal-graph.js +2 -2
- package/dist/causal-discovery/discovery-engine.js +2 -2
- package/dist/causal-discovery/weight-matrix.js +2 -2
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-FUV6LBJT.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-AWNQ6KB3.js → agent-booster-wasm-7I7LZFNC.js} +2 -2
- package/dist/cli/chunks/{agent-handler-RSHQZHPS.js → agent-handler-QZZT52BH.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-FU7Y3TQ3.js → agent-memory-branch-MLQS5Y26.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-QNFNA3J4.js +2 -0
- package/dist/cli/chunks/{arena-LOK2WYHC.js → arena-IM4CP6LP.js} +2 -2
- package/dist/cli/chunks/{arena-XQOCNKB6.js → arena-WRIY37EJ.js} +4 -4
- package/dist/cli/chunks/{audit-6ZS4EAD2.js → audit-BSAQ4EFN.js} +3 -3
- package/dist/cli/chunks/base-37W2XIXC.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-IMBCIZK3.js → better-sqlite3-X2XZUXWZ.js} +2 -2
- package/dist/cli/chunks/{brain-handler-3U6BH4EO.js → brain-handler-TVTTWZGP.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-CJBPVBXM.js → branch-enumerator-NI4Q7DSJ.js} +2 -2
- package/dist/cli/chunks/{browser-M4VW3KJY.js → browser-PXBLORUZ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-PDIUEK7B.js +2 -0
- package/dist/cli/chunks/{chunk-PVGOOKBF.js → chunk-2JAC57JE.js} +1 -1
- package/dist/cli/chunks/{chunk-JWV5ZM2S.js → chunk-2VTX4SYW.js} +2 -2
- package/dist/cli/chunks/{chunk-IYLSML27.js → chunk-2VY7FL6A.js} +2 -2
- package/dist/cli/chunks/{chunk-7QNN4GQU.js → chunk-2W3D5A4R.js} +2 -2
- package/dist/cli/chunks/{chunk-OZLMIEJC.js → chunk-33YZGOT6.js} +2 -2
- package/dist/cli/chunks/{chunk-WSPEAYPG.js → chunk-3ASVQILY.js} +2 -2
- package/dist/cli/chunks/{chunk-YO63NTJV.js → chunk-3XVZHJQT.js} +1 -1
- package/dist/cli/chunks/{chunk-H7AACUYS.js → chunk-42AS3HPO.js} +2 -2
- package/dist/cli/chunks/{chunk-HEY2ZRL7.js → chunk-44NPKZGI.js} +2 -2
- package/dist/cli/chunks/{chunk-PIV3QHGJ.js → chunk-4AITMWFZ.js} +2 -2
- package/dist/cli/chunks/{chunk-2SS2SSNZ.js → chunk-4ANJV6I4.js} +3 -3
- package/dist/cli/chunks/{chunk-CCAY7Q56.js → chunk-4FVOJBEU.js} +1 -1
- package/dist/cli/chunks/{chunk-EZY3DAIX.js → chunk-4M7YZ2X7.js} +4 -4
- package/dist/cli/chunks/{chunk-HZIT42TM.js → chunk-4THFPRFM.js} +2 -2
- package/dist/cli/chunks/chunk-4YFXF5AQ.js +21 -0
- package/dist/cli/chunks/{chunk-PUN3KZ6N.js → chunk-4Z4X2ND4.js} +2 -2
- package/dist/cli/chunks/{chunk-4TSLLWE7.js → chunk-52VGZJSD.js} +1 -1
- package/dist/cli/chunks/{chunk-NRD76M7A.js → chunk-5E76HULA.js} +2 -2
- package/dist/cli/chunks/{chunk-RQTXQ6C7.js → chunk-5PI75QYP.js} +2 -2
- package/dist/cli/chunks/{chunk-7BZUNNWC.js → chunk-5PNQNBDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-KBJYXZI7.js → chunk-5VSS2RBD.js} +2 -2
- package/dist/cli/chunks/{chunk-7QSGUJE2.js → chunk-66OQ7AB3.js} +1 -1
- package/dist/cli/chunks/{chunk-WFEHOEYP.js → chunk-6BSZHNOC.js} +1 -1
- package/dist/cli/chunks/{chunk-KQVTTP2S.js → chunk-6KI6LAAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-NZRKWUBM.js → chunk-6KKVMPPR.js} +2 -2
- package/dist/cli/chunks/{chunk-KITVDY4T.js → chunk-7A4WTRWI.js} +1 -1
- package/dist/cli/chunks/{chunk-GRTU5QOT.js → chunk-7LATB5IR.js} +2 -2
- package/dist/cli/chunks/{chunk-J6H2LUBM.js → chunk-7PCIN7UN.js} +2 -2
- package/dist/cli/chunks/{chunk-FBJUNJ2A.js → chunk-7RVLVIAI.js} +1 -1
- package/dist/cli/chunks/{chunk-7NDJW2DU.js → chunk-7ZVO7I4Q.js} +1 -1
- package/dist/cli/chunks/{chunk-EE55ALFK.js → chunk-A5RWLPVT.js} +2 -2
- package/dist/cli/chunks/{chunk-U6YDS37V.js → chunk-AKUDUB3O.js} +2 -2
- package/dist/cli/chunks/{chunk-6SM74KJI.js → chunk-AM42ROKZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VUCCPPQ6.js → chunk-AN5CGTTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-QZOAU2N5.js → chunk-AOOCV56W.js} +1 -1
- package/dist/cli/chunks/{chunk-U562TIMO.js → chunk-ASWWBNX2.js} +2 -2
- package/dist/cli/chunks/{chunk-C5CP66K5.js → chunk-AYH3DMW2.js} +1 -1
- package/dist/cli/chunks/{chunk-U5NKLMF4.js → chunk-BODFJ3DC.js} +2 -2
- package/dist/cli/chunks/{chunk-YHAUBZ4H.js → chunk-BZIPYXSW.js} +3 -3
- package/dist/cli/chunks/{chunk-JMF3FMAO.js → chunk-DCVFHVPR.js} +2 -2
- package/dist/cli/chunks/{chunk-H633BGA7.js → chunk-DFLASG3B.js} +1 -1
- package/dist/cli/chunks/{chunk-CPXZC7LF.js → chunk-DGFINXUE.js} +1 -1
- package/dist/cli/chunks/{chunk-54RIPGMC.js → chunk-E67ZXRG6.js} +1 -1
- package/dist/cli/chunks/{chunk-A233TTUX.js → chunk-EDRPTLAX.js} +1 -1
- package/dist/cli/chunks/{chunk-UHSIP4DJ.js → chunk-EG73WYAW.js} +2 -2
- package/dist/cli/chunks/{chunk-EKZNA6HW.js → chunk-FI6J3UHJ.js} +1 -1
- package/dist/cli/chunks/{chunk-6FIWTBR5.js → chunk-G45AOQDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-IR7FZYPO.js → chunk-G6FJHDUG.js} +1 -1
- package/dist/cli/chunks/chunk-GEQWCK4F.js +2 -0
- package/dist/cli/chunks/{chunk-6L36EHM2.js → chunk-GJJWXRAD.js} +2 -2
- package/dist/cli/chunks/{chunk-MMRORLMM.js → chunk-GJUGG6UR.js} +2 -2
- package/dist/cli/chunks/{chunk-YC5UJVV3.js → chunk-GMLRIZ4E.js} +1 -1
- package/dist/cli/chunks/{chunk-UNXPBIX5.js → chunk-GQLJYTXN.js} +2 -2
- package/dist/cli/chunks/{chunk-IJ3HHUSD.js → chunk-H3GAR4SV.js} +2 -2
- package/dist/cli/chunks/{chunk-OSWAQX4G.js → chunk-HAJG44BD.js} +2 -2
- package/dist/cli/chunks/{chunk-GSN4QIDI.js → chunk-HQWFZQMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JUVW4DOU.js → chunk-HRTSYT4N.js} +2 -2
- package/dist/cli/chunks/{chunk-2HMBDTSI.js → chunk-I5SXLV7D.js} +2 -2
- package/dist/cli/chunks/{chunk-DR4V75BF.js → chunk-IOJ34SXJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JALFKAAD.js → chunk-IPDM3CAK.js} +1 -1
- package/dist/cli/chunks/{chunk-NL3KX4NE.js → chunk-IPZEBALY.js} +34 -29
- package/dist/cli/chunks/{chunk-PSBQRTNF.js → chunk-IQH2RDN3.js} +5 -5
- package/dist/cli/chunks/{chunk-SWZUMHIQ.js → chunk-IT5QIUUA.js} +2 -2
- package/dist/cli/chunks/{chunk-2LGQNT6Q.js → chunk-JTYCOFTD.js} +1 -1
- package/dist/cli/chunks/{chunk-Q7QKJY6Y.js → chunk-JVFZAJ5N.js} +2 -2
- package/dist/cli/chunks/{chunk-F3AHUNWH.js → chunk-KRZYWVS3.js} +2 -2
- package/dist/cli/chunks/{chunk-7JK57AI2.js → chunk-KXSUDN46.js} +1 -1
- package/dist/cli/chunks/{chunk-EP2HOAEB.js → chunk-KYJBJ56M.js} +2 -2
- package/dist/cli/chunks/{chunk-OLETDPH2.js → chunk-L3GBNX7B.js} +2 -2
- package/dist/cli/chunks/{chunk-VWZ743HH.js → chunk-LRO74LPA.js} +4 -4
- package/dist/cli/chunks/{chunk-FC47FRFI.js → chunk-LXVT6JXO.js} +4 -4
- package/dist/cli/chunks/{chunk-7XWFAPPI.js → chunk-M3354CE4.js} +2 -2
- package/dist/cli/chunks/{chunk-37GWETSW.js → chunk-M73KM3AZ.js} +2 -2
- package/dist/cli/chunks/{chunk-BM5BSYPW.js → chunk-M7CPJW53.js} +2 -2
- package/dist/cli/chunks/{chunk-ZAEUW3Q4.js → chunk-MB2KLJ6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-QHRMZP6J.js → chunk-MGKH4LCM.js} +1 -1
- package/dist/cli/chunks/{chunk-AJQGNQ3W.js → chunk-MLFELTJX.js} +2 -2
- package/dist/cli/chunks/{chunk-I3SBXWF2.js → chunk-MLXLGBQZ.js} +1 -1
- package/dist/cli/chunks/{chunk-6C5WRBGZ.js → chunk-MYVKTG55.js} +3 -3
- package/dist/cli/chunks/{chunk-EJRDL5W5.js → chunk-N4OQ4D4V.js} +2 -2
- package/dist/cli/chunks/{chunk-MMA6Q6NF.js → chunk-NDRZZSD5.js} +2 -2
- package/dist/cli/chunks/{chunk-HL5RC5YB.js → chunk-NG6A7LCG.js} +1 -1
- package/dist/cli/chunks/{chunk-JPDJARGR.js → chunk-NJ3QXJ54.js} +2 -2
- package/dist/cli/chunks/{chunk-DZNK4EM7.js → chunk-NJ4YVAG7.js} +3 -3
- package/dist/cli/chunks/chunk-NL2SCAGJ.js +12 -0
- package/dist/cli/chunks/chunk-NLZUGANH.js +11 -0
- package/dist/cli/chunks/{chunk-TIGBPVPZ.js → chunk-NNLZAVFH.js} +1 -1
- package/dist/cli/chunks/{chunk-7XCRPSSU.js → chunk-NTALX2YC.js} +2 -2
- package/dist/cli/chunks/{chunk-YALYPHSG.js → chunk-O4BWESH5.js} +2 -2
- package/dist/cli/chunks/{chunk-C656WHED.js → chunk-OG3DBHIV.js} +2 -2
- package/dist/cli/chunks/{chunk-BFX3N7KU.js → chunk-OZ53BIY5.js} +1 -1
- package/dist/cli/chunks/{chunk-BB4LWAAH.js → chunk-P6EFKHNI.js} +2 -2
- package/dist/cli/chunks/{chunk-2FFCL4BK.js → chunk-PGFCKE4G.js} +3 -3
- package/dist/cli/chunks/{chunk-66BUC3JG.js → chunk-PVINNJ4P.js} +2 -2
- package/dist/cli/chunks/{chunk-FOWBKCRK.js → chunk-QG5L2JM5.js} +10 -10
- package/dist/cli/chunks/{chunk-ATSVI6T4.js → chunk-QM4Z7TQH.js} +1 -1
- package/dist/cli/chunks/{chunk-Q26QKZYI.js → chunk-QXO35J6F.js} +2 -2
- package/dist/cli/chunks/{chunk-FOPLJRWL.js → chunk-R7LGVJMZ.js} +2 -2
- package/dist/cli/chunks/{chunk-PLJ72A3I.js → chunk-RACWX2ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-ZH3MVVXO.js → chunk-RP2BRRLX.js} +2 -2
- package/dist/cli/chunks/{chunk-T7OS4CB4.js → chunk-RP5VFZJO.js} +2 -2
- package/dist/cli/chunks/{chunk-7GZJMPTD.js → chunk-S6WHYOWV.js} +2 -2
- package/dist/cli/chunks/{chunk-C5HYQTD7.js → chunk-SCQNISGS.js} +1 -1
- package/dist/cli/chunks/chunk-SNC73DWF.js +2 -0
- package/dist/cli/chunks/{chunk-WKE2FUCP.js → chunk-SOS37ECY.js} +1 -1
- package/dist/cli/chunks/{chunk-BTG5UFMA.js → chunk-SXFSJJZF.js} +2 -2
- package/dist/cli/chunks/{chunk-IHNPXNFG.js → chunk-TB2N3CAK.js} +2 -2
- package/dist/cli/chunks/chunk-TDVMILKO.js +2 -0
- package/dist/cli/chunks/{chunk-RYHOV4E3.js → chunk-TJVTV3HP.js} +2 -2
- package/dist/cli/chunks/{chunk-2E35LWYJ.js → chunk-TK5XLF3Z.js} +4 -4
- package/dist/cli/chunks/{chunk-NCX4W65B.js → chunk-TWUWLSGQ.js} +6 -6
- package/dist/cli/chunks/{chunk-WIB6KRFJ.js → chunk-U5G6OC2C.js} +2 -2
- package/dist/cli/chunks/{chunk-OZO2JUEK.js → chunk-UBOGJHWC.js} +1 -1
- package/dist/cli/chunks/{chunk-WK5MKY45.js → chunk-UC4EIULB.js} +13 -13
- package/dist/cli/chunks/{chunk-KBOGA4GA.js → chunk-UJUK6T4V.js} +2 -2
- package/dist/cli/chunks/chunk-UQ4UCHO7.js +2 -0
- package/dist/cli/chunks/{chunk-4PRQMFVO.js → chunk-UWZYXI3R.js} +2 -2
- package/dist/cli/chunks/{chunk-GQ6H37RN.js → chunk-VA2ORJB5.js} +2 -2
- package/dist/cli/chunks/{chunk-U5WFVIKL.js → chunk-VBHA4SDU.js} +2 -2
- package/dist/cli/chunks/{chunk-PGJHCCR6.js → chunk-VD53LBF7.js} +3 -3
- package/dist/cli/chunks/{chunk-UHHWEWDA.js → chunk-VNODKACB.js} +2 -2
- package/dist/cli/chunks/{chunk-3E3YLEHB.js → chunk-VQCLSX7T.js} +1 -1
- package/dist/cli/chunks/{chunk-G7YD3BR3.js → chunk-VQD2ELNL.js} +2 -2
- package/dist/cli/chunks/{chunk-RCXC4YGL.js → chunk-VZGP77YU.js} +1 -1
- package/dist/cli/chunks/chunk-WA6CSEOX.js +2 -0
- package/dist/cli/chunks/{chunk-JGXU5FUZ.js → chunk-WE3VKDMK.js} +3 -3
- package/dist/cli/chunks/{chunk-MGJPS2YV.js → chunk-WXU7FAEB.js} +2 -2
- package/dist/cli/chunks/{chunk-O5QZB2AP.js → chunk-WYFAPA2G.js} +2 -2
- package/dist/cli/chunks/{chunk-MFGKSD44.js → chunk-WYIXNHPF.js} +2 -2
- package/dist/cli/chunks/{chunk-2HEHM2KV.js → chunk-X2SZCVDA.js} +2 -2
- package/dist/cli/chunks/{chunk-2CLM53W2.js → chunk-X3JNFQW2.js} +2 -2
- package/dist/cli/chunks/{chunk-NBUBGYLE.js → chunk-XIKYUBIV.js} +2 -2
- package/dist/cli/chunks/{chunk-2FPHM356.js → chunk-XM5I7J5S.js} +2 -2
- package/dist/cli/chunks/{chunk-35CHBX6K.js → chunk-XT473WPO.js} +2 -2
- package/dist/cli/chunks/{chunk-74QKFILD.js → chunk-YL2GOJF6.js} +2 -2
- package/dist/cli/chunks/{chunk-K6SXDKWV.js → chunk-YQOQVSYU.js} +1 -1
- package/dist/cli/chunks/{chunk-G427QR5W.js → chunk-Z56BBX77.js} +2 -2
- package/dist/cli/chunks/{chunk-LPVHYZAE.js → chunk-Z6DSYLAG.js} +1 -1
- package/dist/cli/chunks/{chunk-W3DCBOLL.js → chunk-ZMYV4R32.js} +1 -1
- package/dist/cli/chunks/{chunk-UL6PT654.js → chunk-ZSAGRDXA.js} +2 -2
- package/dist/cli/chunks/{ci-7QW7234M.js → ci-QAUD62WH.js} +2 -2
- package/dist/cli/chunks/{ci-output-WGP4YKPQ.js → ci-output-TZDVTNE7.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-AOHSCJYO.js → circuit-breaker-ZWPHJ7YJ.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-CIZ3TWR7.js → claude-flow-setup-SCB4EURN.js} +2 -2
- package/dist/cli/chunks/client-4W3KWTAU.js +2 -0
- package/dist/cli/chunks/{cline-installer-J2QVGPJY.js → cline-installer-EHZLMLXF.js} +2 -2
- package/dist/cli/chunks/{code-WH26MFMB.js → code-3N6PBJMK.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-DBOYEFZ4.js → code-index-extractor-6DIKHNRI.js} +2 -2
- package/dist/cli/chunks/{codex-installer-MWYVGZC4.js → codex-installer-P7DPQMYL.js} +2 -2
- package/dist/cli/chunks/{completions-LNBHGWUS.js → completions-5MKWWCCE.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-AMYCTQG2.js → complexity-analyzer-TPM4IPEK.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-73EQPP37.js → continuedev-installer-VXODKGVX.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-JWSY2272.js → copilot-installer-PVD5O56P.js} +2 -2
- package/dist/cli/chunks/core-handlers-BDU2XBLO.js +2 -0
- package/dist/cli/chunks/{cost-tracker-XQVIORRZ.js → cost-tracker-JOMZEQF3.js} +2 -2
- package/dist/cli/chunks/{coverage-HYGJIQ25.js → coverage-HTXLEV3B.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-BPB6IHN4.js +2 -0
- package/dist/cli/chunks/{cursor-installer-DNPNJGZM.js → cursor-installer-SHKDTDDZ.js} +2 -2
- package/dist/cli/chunks/{daemon-GSOGO6L3.js → daemon-FCFEWVVJ.js} +3 -3
- package/dist/cli/chunks/{daemon-6JNNBU33.js → daemon-PN4FEPLE.js} +6 -6
- package/dist/cli/chunks/{dag-attention-scheduler-7SGPLKGI.js → dag-attention-scheduler-PLOHU5SR.js} +2 -2
- package/dist/cli/chunks/{detect-IXD77HG4.js → detect-F3H4ZEZY.js} +2 -2
- package/dist/cli/chunks/{dist-node-ARTYK2HL.js → dist-node-5TC665N6.js} +2 -2
- package/dist/cli/chunks/{domain-handler-X4BOFLMY.js → domain-handler-ZIWVFXCU.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-7JBEXLFL.js → domain-transfer-7Q5JYMYR.js} +2 -2
- package/dist/cli/chunks/dream-WFCZGFDY.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-VSOLKM3Y.js → embed-and-insert-pattern-VESJQSYD.js} +2 -2
- package/dist/cli/chunks/{eval-HS2QQW42.js → eval-E2K2T75A.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-MWEPZYBT.js → experience-capture-middleware-Z5SE2O53.js} +3 -3
- package/dist/cli/chunks/{fast-paths-RONNJ6AC.js → fast-paths-3H52RSUK.js} +2 -2
- package/dist/cli/chunks/{feature-flags-4YE5A6XG.js → feature-flags-LUHSMHPS.js} +2 -2
- package/dist/cli/chunks/{feature-flags-CLW4K2HN.js → feature-flags-ONIKUZVK.js} +2 -2
- package/dist/cli/chunks/{file-discovery-56C2FW4V.js → file-discovery-FLYSYSS4.js} +2 -2
- package/dist/cli/chunks/{fleet-KMB6RM3R.js → fleet-6OJUAAKV.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-R2OMDND4.js → gnn-wrapper-PUL6B7KZ.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-FP3CIA2V.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-EQKXBLRX.js → hnsw-legacy-bridge-NDZSNMYX.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-JG3WOXKM.js → hnswlib-node-PISLKSO2.js} +2 -2
- package/dist/cli/chunks/{hooks-6QZYELUZ.js → hooks-WYG54MRI.js} +40 -40
- package/dist/cli/chunks/hybrid-router-525JTRA5.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-5HGNZFDH.js → hypergraph-engine-EDHKHZZ2.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-LO2ODOYD.js → hypergraph-handler-OCHZAPPL.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-GG6CJEOK.js +2 -0
- package/dist/cli/chunks/{init-handler-E346YK6H.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-ZBJNB6N4.js → kilocode-installer-SWUQRCTZ.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-3TWFO4QZ.js → kiro-installer-L22EBAM5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-I5QIHB4G.js +2 -0
- package/dist/cli/chunks/{learning-3MLFLTM2.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-P6XC2P74.js → load-A4ZF2KHC.js} +2 -2
- package/dist/cli/chunks/load-test-DCJEYIXD.js +2 -0
- package/dist/cli/chunks/{mcp-XEND7FPN.js → mcp-T2Z46NNK.js} +2 -2
- package/dist/cli/chunks/{memory-HZ2WSMWW.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-IYEHZP73.js → multi-model-executor-U5L4FI4O.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-GH3VVBM2.js → opencode-installer-UWI6KHYH.js} +2 -2
- package/dist/cli/chunks/{orchestrator-GOKIBTQG.js → orchestrator-3BEI7R5D.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-5WIJKX2K.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-J2X4DD5S.js → pattern-usage-recorder-EGWUI5LU.js} +2 -2
- package/dist/cli/chunks/{pipeline-ELINTMVF.js → pipeline-JG6M4RHD.js} +2 -2
- package/dist/cli/chunks/{platform-PIPUB3LU.js → platform-F76G6RUI.js} +2 -2
- package/dist/cli/chunks/{plugin-DXDNI6ZV.js → plugin-EEGN3PMK.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-K6WWURGX.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-NMO7VI64.js → protocol-handler-UCEHYK2R.js} +2 -2
- package/dist/cli/chunks/{prove-4BLOE4SC.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-MYXBP3GX.js → quality-7SRM2HBM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-AXPBK3MT.js → quality-gate-A5MPWHST.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-EIHGYBUO.js +2 -0
- package/dist/cli/chunks/{real-embeddings-4AKAVZIY.js → real-embeddings-ZBF5EQOG.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-JE36LP4T.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-LOJUJCVV.js → routing-handler-PY3KPDTH.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-6PNDYF32.js → ruvector-commands-GCAOUTYS.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-GSTQPRNA.js → rvf-dual-writer-BUNP4SKD.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-Z2DSEG3E.js → rvf-migration-adapter-VSOAPLMB.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-XRNODDH4.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-LVEFIUUW.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-A2FK2DER.js → security-MQ2VB7PY.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-V7IBEGQQ.js → shared-rvf-adapter-TAZEU6QK.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-SMGECN2K.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-6BRP74EW.js → structural-health-ALLUQ4X6.js} +2 -2
- package/dist/cli/chunks/{sync-4PDTGP34.js → sync-MM7OCUYD.js} +2 -2
- package/dist/cli/chunks/{sync-KI573HOR.js → sync-WJJG5J6V.js} +2 -2
- package/dist/cli/chunks/{task-handler-QQGSAK6T.js → task-handler-CAQUEEB4.js} +2 -2
- package/dist/cli/chunks/{task-handlers-VUPCDYTI.js → task-handlers-25BJ7D3W.js} +3 -3
- package/dist/cli/chunks/{test-CJLXBSRH.js → test-HW7GVGVN.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-IKPQPQUB.js → test-scheduling-HTMFJMSP.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-FHLC3SHC.js → token-bootstrap-F2DCLWGW.js} +2 -2
- package/dist/cli/chunks/{token-usage-NCXAK7TB.js → token-usage-RJZDMBDP.js} +2 -2
- package/dist/cli/chunks/{transformers-SZFBEILB.js → transformers-3YFW3EUO.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-LFGJRML7.js → tree-sitter-wasm-parser-U3PQPIK7.js} +2 -2
- package/dist/cli/chunks/{types-NKXH7VTP.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-PFCFH6M5.js → upgrade-F7MKJWBQ.js} +2 -2
- package/dist/cli/chunks/{validate-YEBJRWQM.js → validate-B27AVRA6.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-TD2NA6QF.js → validate-swarm-GYZR3GNL.js} +2 -2
- package/dist/cli/chunks/{vibium-ACC4GIOT.js → vibium-W4XQMPJP.js} +2 -2
- package/dist/cli/chunks/visual-security-VFWRBCNA.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-IWVW5FIE.js → web-tree-sitter-I7CDCFJU.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-5PVGLJ3T.js → windsurf-installer-UYLHFDHU.js} +2 -2
- package/dist/cli/chunks/{witness-chain-VZB4LJOJ.js → witness-chain-B66SYZKU.js} +2 -2
- package/dist/cli/chunks/witness-chain-JC5LEXRV.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-X632AZTN.js → witness-key-manager-U4JPAHVW.js} +2 -2
- package/dist/cli/chunks/{workflow-VNAYFUVY.js → workflow-DYMO47FF.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-TKQUF2KN.js +2 -0
- package/dist/cli/chunks/{wrappers-KO3QXNZP.js → wrappers-7S6DQTEA.js} +2 -2
- package/dist/cli/commands/daemon.js +3 -3
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +2 -2
- package/dist/cli/commands/hooks-handlers/routing-hooks.js +7 -0
- package/dist/cli/commands/llm-router.js +35 -6
- package/dist/cli/commands/plugin.js +4 -4
- package/dist/cli/commands/quality-gate.js +5 -1
- package/dist/cli/handlers/status-handler.js +18 -2
- package/dist/cli/index.js +1 -1
- package/dist/cli/utils/index.js +2 -2
- package/dist/context/compaction/index.js +11 -11
- package/dist/context/compaction/tier1-microcompact.js +1 -1
- package/dist/context/compaction/tier2-session-summary.js +1 -1
- package/dist/context/compaction/tier3-llm-compact.js +1 -1
- package/dist/context/compaction/tier4-reactive.js +1 -1
- package/dist/coordination/claims/index.js +8 -8
- package/dist/coordination/consensus/consensus-engine.js +4 -4
- package/dist/coordination/consensus/factory.js +4 -4
- package/dist/coordination/consensus/index.js +8 -8
- package/dist/coordination/consensus/providers/claude-provider.js +1 -1
- package/dist/coordination/consensus/providers/gemini-provider.js +1 -1
- package/dist/coordination/consensus/providers/index.js +7 -7
- package/dist/coordination/consensus/providers/native-learning-provider.js +1 -1
- package/dist/coordination/consensus/providers/ollama-provider.js +1 -1
- package/dist/coordination/consensus/providers/openai-provider.js +1 -1
- package/dist/coordination/consensus/providers/openrouter-provider.js +1 -1
- package/dist/coordination/consensus/strategies/index.js +3 -3
- package/dist/coordination/cross-domain-router.js +2 -2
- package/dist/coordination/dynamic-scaling/dynamic-scaler.js +1 -1
- package/dist/coordination/dynamic-scaling/index.js +2 -2
- package/dist/coordination/fleet-tiers/index.js +3 -3
- package/dist/coordination/fleet-tiers/tier-selector.js +2 -2
- package/dist/coordination/handlers/code-intelligence-handlers.js +2 -2
- package/dist/coordination/handlers/coverage-collection.js +1 -1
- package/dist/coordination/handlers/coverage-handlers.js +3 -3
- package/dist/coordination/handlers/index.js +7 -7
- package/dist/coordination/handlers/misc-handlers.js +1 -1
- package/dist/coordination/handlers/quality-handlers.js +2 -2
- package/dist/coordination/handlers/requirements-handlers.js +2 -2
- package/dist/coordination/handlers/security-handlers.js +2 -2
- package/dist/coordination/handlers/test-execution-handlers.js +1 -1
- package/dist/coordination/index.js +20 -20
- package/dist/coordination/mincut/dream-integration.js +1 -1
- package/dist/coordination/mincut/index.js +14 -14
- package/dist/coordination/mincut/mincut-health-monitor.js +2 -2
- package/dist/coordination/mincut/mincut-persistence.js +1 -1
- package/dist/coordination/mincut/morphogenetic-growth.js +1 -1
- package/dist/coordination/mincut/neural-goap.js +1 -1
- package/dist/coordination/mincut/queen-integration.js +5 -5
- package/dist/coordination/mincut/shared-singleton.js +3 -3
- package/dist/coordination/mincut/strange-loop.js +1 -1
- package/dist/coordination/mincut/time-crystal.js +8 -8
- package/dist/coordination/mixins/consensus-enabled-domain.js +2 -2
- package/dist/coordination/mixins/index.js +3 -3
- package/dist/coordination/protocol-executor.js +2 -2
- package/dist/coordination/protocols/code-intelligence-index.js +4 -4
- package/dist/coordination/protocols/defect-investigation.js +2 -2
- package/dist/coordination/protocols/morning-sync.js +1 -1
- package/dist/coordination/protocols/quality-gate.js +2 -2
- package/dist/coordination/queen-coordinator.js +4 -4
- package/dist/coordination/queen-task-management.js +1 -1
- package/dist/coordination/services/index.js +1 -1
- package/dist/coordination/task-executor.js +6 -6
- package/dist/domains/chaos-resilience/coordinator.js +6 -6
- package/dist/domains/chaos-resilience/index.js +5 -5
- package/dist/domains/chaos-resilience/plugin.js +6 -6
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +3 -3
- package/dist/domains/chaos-resilience/services/index.js +3 -3
- package/dist/domains/chaos-resilience/services/load-tester.js +2 -2
- package/dist/domains/chaos-resilience/services/performance-profiler.js +2 -2
- package/dist/domains/code-intelligence/coordinator-consensus.js +1 -1
- package/dist/domains/code-intelligence/coordinator-gnn.js +1 -1
- package/dist/domains/code-intelligence/coordinator-hypergraph.js +2 -2
- package/dist/domains/code-intelligence/coordinator.js +9 -9
- package/dist/domains/code-intelligence/index.js +7 -7
- package/dist/domains/code-intelligence/plugin.js +6 -6
- package/dist/domains/code-intelligence/services/c4-model/index.js +3 -3
- package/dist/domains/code-intelligence/services/impact-analyzer.js +2 -2
- package/dist/domains/code-intelligence/services/index.js +6 -6
- package/dist/domains/code-intelligence/services/knowledge-graph.js +4 -4
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +1 -1
- package/dist/domains/code-intelligence/services/product-factors-bridge.js +5 -5
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +2 -2
- package/dist/domains/coverage-analysis/coordinator.js +9 -9
- package/dist/domains/coverage-analysis/index.js +10 -10
- package/dist/domains/coverage-analysis/plugin.js +4 -4
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
- package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/index.js +7 -7
- package/dist/domains/coverage-analysis/services/risk-scorer.js +1 -1
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +3 -3
- package/dist/domains/defect-intelligence/coordinator.js +5 -5
- package/dist/domains/defect-intelligence/index.js +5 -5
- package/dist/domains/defect-intelligence/plugin.js +6 -6
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +2 -2
- package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -4
- package/dist/domains/defect-intelligence/services/index.js +4 -4
- package/dist/domains/defect-intelligence/services/pattern-learner.js +2 -2
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +1 -1
- package/dist/domains/domain-interface.js +1 -1
- package/dist/domains/index.js +14 -14
- package/dist/domains/learning-optimization/coordinator.d.ts +3 -0
- package/dist/domains/learning-optimization/coordinator.js +6 -0
- package/dist/domains/learning-optimization/interfaces.d.ts +2 -0
- package/dist/domains/learning-optimization/plugin.d.ts +3 -0
- package/dist/domains/learning-optimization/plugin.js +5 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js +2 -2
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js +1 -1
- package/dist/domains/quality-assessment/coherence/partition-detector.js +1 -1
- package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +1 -1
- package/dist/domains/quality-assessment/coordinator-reports.js +1 -1
- package/dist/domains/quality-assessment/coordinator-rl-integration.js +2 -2
- package/dist/domains/quality-assessment/coordinator.js +5 -5
- package/dist/domains/quality-assessment/index.js +9 -9
- package/dist/domains/quality-assessment/plugin.js +6 -6
- package/dist/domains/quality-assessment/services/coherence-gate.js +6 -6
- package/dist/domains/quality-assessment/services/deployment-advisor.js +1 -1
- package/dist/domains/quality-assessment/services/index.js +4 -4
- package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -2
- package/dist/domains/quality-assessment/services/quality-gate.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/brutal-honesty-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/sfdipot-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/gherkin-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/html-formatter.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/markdown-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/question-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/test-idea-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/domain-registry.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/index.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/skills/skill-integration.js +1 -1
- package/dist/domains/security-compliance/coordinator.js +1 -1
- package/dist/domains/security-compliance/index.js +1 -1
- package/dist/domains/security-compliance/services/compliance-validator.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +2 -2
- package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +4 -4
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -3
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +2 -2
- package/dist/domains/test-execution/coordinator.js +8 -8
- package/dist/domains/test-execution/index.js +9 -9
- package/dist/domains/test-execution/interfaces.js +1 -1
- package/dist/domains/test-execution/plugin.js +3 -3
- package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js +1 -1
- package/dist/domains/test-execution/services/e2e/assertion-handlers.js +2 -2
- package/dist/domains/test-execution/services/e2e/browser-orchestrator.js +3 -3
- package/dist/domains/test-execution/services/e2e/e2e-coordinator.js +7 -7
- package/dist/domains/test-execution/services/e2e/index.js +10 -10
- package/dist/domains/test-execution/services/e2e/step-executors.js +6 -6
- package/dist/domains/test-execution/services/e2e/step-retry-handler.js +3 -3
- package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
- package/dist/domains/test-execution/services/e2e-runner.js +6 -6
- package/dist/domains/test-execution/services/flaky-detector.js +1 -1
- package/dist/domains/test-execution/services/index.js +9 -9
- package/dist/domains/test-execution/services/retry-handler.js +1 -1
- package/dist/domains/test-execution/services/test-executor.js +1 -1
- package/dist/domains/test-execution/services/test-prioritizer.js +3 -3
- package/dist/domains/test-execution/services/user-flow-generator.js +3 -3
- package/dist/domains/test-execution/test-prioritization-types.js +1 -1
- package/dist/domains/test-execution/types/index.js +3 -3
- package/dist/domains/test-generation/coordinator.js +5 -5
- package/dist/domains/test-generation/factories/index.js +1 -1
- package/dist/domains/test-generation/factories/test-generator-factory.js +1 -1
- package/dist/domains/test-generation/generators/base-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/go-test-generator.js +2 -2
- package/dist/domains/test-generation/generators/index.js +13 -13
- package/dist/domains/test-generation/generators/jest-vitest-generator.js +1 -1
- package/dist/domains/test-generation/generators/junit5-generator.js +2 -2
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js +2 -2
- package/dist/domains/test-generation/generators/mocha-generator.js +1 -1
- package/dist/domains/test-generation/generators/node-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/pytest-generator.js +2 -2
- package/dist/domains/test-generation/generators/rust-test-generator.js +3 -3
- package/dist/domains/test-generation/generators/swift-testing-generator.js +2 -2
- package/dist/domains/test-generation/generators/xunit-generator.js +2 -2
- package/dist/domains/test-generation/index.js +7 -7
- package/dist/domains/test-generation/interfaces/index.js +1 -1
- package/dist/domains/test-generation/plugin.js +5 -5
- package/dist/domains/test-generation/services/code-transform-integration.js +1 -1
- package/dist/domains/test-generation/services/index.js +10 -10
- package/dist/domains/test-generation/services/pattern-matcher.js +2 -2
- package/dist/domains/test-generation/services/test-generator.js +5 -5
- package/dist/domains/visual-accessibility/coordinator.js +1 -1
- package/dist/early-exit/early-exit-controller.js +4 -4
- package/dist/early-exit/early-exit-decision.js +2 -2
- package/dist/early-exit/index.js +5 -5
- package/dist/early-exit/quality-signal.js +1 -1
- package/dist/early-exit/speculative-executor.js +1 -1
- package/dist/index.js +18 -18
- package/dist/integrations/agentic-flow/agent-booster/adapter.js +4 -4
- package/dist/integrations/agentic-flow/agent-booster/index.js +10 -10
- package/dist/integrations/agentic-flow/index.js +6 -6
- package/dist/integrations/agentic-flow/metrics/index.js +3 -3
- package/dist/integrations/agentic-flow/metrics/metrics-tracker.js +2 -2
- package/dist/integrations/agentic-flow/metrics/pattern-updater.js +1 -1
- package/dist/integrations/agentic-flow/model-router/budget-enforcer.js +1 -1
- package/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +7 -7
- package/dist/integrations/agentic-flow/model-router/example.js +1 -1
- package/dist/integrations/agentic-flow/model-router/index.js +16 -16
- package/dist/integrations/agentic-flow/model-router/router.js +6 -6
- package/dist/integrations/agentic-flow/model-router/signal-collector.js +1 -1
- package/dist/integrations/agentic-flow/model-router/tier-recommender.js +1 -1
- package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.js +11 -6
- package/dist/integrations/browser/agent-browser/client.js +4 -4
- package/dist/integrations/browser/agent-browser/index.js +4 -4
- package/dist/integrations/browser/agent-browser/session-manager.js +1 -1
- package/dist/integrations/browser/client-factory.js +3 -3
- package/dist/integrations/browser/index.js +8 -8
- package/dist/integrations/browser/page-pool.js +1 -1
- package/dist/integrations/browser/stealth/index.js +2 -2
- package/dist/integrations/browser/stealth/stealth-client.js +3 -3
- package/dist/integrations/browser/web-content-fetcher.js +1 -1
- package/dist/integrations/coherence/coherence-service.js +2 -2
- package/dist/integrations/coherence/engines/category-adapter.js +1 -1
- package/dist/integrations/coherence/engines/causal-adapter.js +1 -1
- package/dist/integrations/coherence/engines/cohomology-adapter.js +1 -1
- package/dist/integrations/coherence/engines/homotopy-adapter.js +1 -1
- package/dist/integrations/coherence/engines/index.js +6 -6
- package/dist/integrations/coherence/engines/spectral-adapter.js +1 -1
- package/dist/integrations/coherence/engines/witness-adapter.js +1 -1
- package/dist/integrations/coherence/index.js +7 -7
- package/dist/integrations/coherence/threshold-tuner.js +1 -1
- package/dist/integrations/coherence/wasm-loader.js +2 -2
- package/dist/integrations/rl-suite/algorithms/a2c.js +2 -2
- package/dist/integrations/rl-suite/algorithms/actor-critic.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ddpg.js +1 -1
- package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
- package/dist/integrations/rl-suite/algorithms/dqn.js +2 -2
- package/dist/integrations/rl-suite/algorithms/eprop.js +2 -2
- package/dist/integrations/rl-suite/algorithms/index.js +10 -10
- package/dist/integrations/rl-suite/algorithms/policy-gradient.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ppo.js +2 -2
- package/dist/integrations/rl-suite/algorithms/q-learning.js +3 -3
- package/dist/integrations/rl-suite/algorithms/sarsa.js +2 -2
- package/dist/integrations/rl-suite/base-algorithm.js +1 -1
- package/dist/integrations/rl-suite/index.js +6 -6
- package/dist/integrations/rl-suite/neural/index.js +2 -2
- package/dist/integrations/rl-suite/orchestrator.js +11 -11
- package/dist/integrations/ruvector/ast-complexity.js +1 -1
- package/dist/integrations/ruvector/coverage-router.js +1 -1
- package/dist/integrations/ruvector/diff-risk-classifier.js +1 -1
- package/dist/integrations/ruvector/graph-boundaries.js +1 -1
- package/dist/integrations/ruvector/hypergraph-engine.js +1 -1
- package/dist/integrations/ruvector/hypergraph-schema.js +1 -1
- package/dist/integrations/ruvector/index.js +52 -52
- package/dist/integrations/ruvector/persistent-q-router.js +2 -2
- package/dist/integrations/ruvector/q-learning-router.js +1 -1
- package/dist/integrations/ruvector/solver-adapter.js +1 -1
- package/dist/integrations/ruvector/sona-persistence.d.ts +13 -11
- package/dist/integrations/ruvector/sona-persistence.js +1 -1
- package/dist/integrations/vibium/client.js +3 -3
- package/dist/integrations/vibium/fallback.js +2 -2
- package/dist/integrations/vibium/index.js +9 -9
- package/dist/kernel/agent-coordinator.js +1 -1
- package/dist/kernel/event-bus.js +1 -1
- package/dist/kernel/hybrid-backend.js +1 -1
- package/dist/kernel/index.js +11 -11
- package/dist/kernel/kernel.js +27 -27
- package/dist/kernel/memory-factory.js +2 -2
- package/dist/kernel/unified-persistence.js +1 -1
- package/dist/learning/aqe-learning-engine.d.ts +0 -1
- package/dist/learning/aqe-learning-engine.js +2 -36
- package/dist/learning/pattern-lifecycle.js +1 -1
- package/dist/learning/pattern-routing-guidance.d.ts +16 -0
- package/dist/learning/pattern-routing-guidance.js +34 -0
- package/dist/learning/qe-reasoning-bank-types.d.ts +2 -0
- package/dist/learning/qe-reasoning-bank.js +2 -1
- package/dist/learning/real-qe-reasoning-bank.d.ts +2 -0
- package/dist/learning/real-qe-reasoning-bank.js +4 -2
- package/dist/learning/token-tracker.js +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/logging/logger-factory.js +1 -1
- package/dist/mcp/bundle.js +445 -432
- package/dist/mcp/entry.js +1 -1
- package/dist/mcp/handlers/agent-handlers.js +2 -2
- package/dist/mcp/handlers/core-handlers.js +9 -9
- package/dist/mcp/handlers/domain-handler-configs.js +2 -2
- package/dist/mcp/handlers/domain-handlers.js +2 -2
- package/dist/mcp/handlers/handler-factory.js +3 -3
- package/dist/mcp/handlers/index.js +7 -7
- package/dist/mcp/handlers/memory-handlers.js +1 -1
- package/dist/mcp/handlers/task-handlers.js +3 -3
- package/dist/mcp/handlers/team-handlers.js +1 -1
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/metrics/index.js +1 -1
- package/dist/mcp/protocol-server.js +13 -13
- package/dist/mcp/security/cve-prevention.js +23 -23
- package/dist/mcp/security/index.js +9 -9
- package/dist/mcp/security/validators/index.js +6 -6
- package/dist/mcp/services/index.js +1 -1
- package/dist/mcp/services/task-router.js +1 -1
- package/dist/mcp/tool-registry.js +4 -4
- package/dist/mcp/tools/base.js +1 -1
- package/dist/mcp/tools/code-intelligence/analyze.js +4 -4
- package/dist/mcp/tools/code-intelligence/c4.js +6 -6
- package/dist/mcp/tools/coverage-analysis/index.js +4 -4
- package/dist/mcp/tools/defect-intelligence/predict.js +2 -2
- package/dist/mcp/tools/embeddings/embedding.js +2 -2
- package/dist/mcp/tools/embeddings/index.js +1 -1
- package/dist/mcp/tools/index.js +20 -20
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +11 -0
- package/dist/mcp/tools/learning-optimization/optimize.js +21 -0
- package/dist/mcp/tools/mincut/index.js +2 -2
- package/dist/mcp/tools/quality-assessment/evaluate.js +1 -1
- package/dist/mcp/tools/quality-assessment/gate.js +5 -2
- package/dist/mcp/tools/qx-analysis/analyze.js +5 -5
- package/dist/mcp/tools/qx-analysis/heuristics-engine.js +1 -1
- package/dist/mcp/tools/qx-analysis/index.js +6 -6
- package/dist/mcp/tools/registry.js +25 -25
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +1 -1
- package/dist/mcp/tools/requirements-validation/validate.js +1 -1
- package/dist/mcp/tools/security-compliance/scan.js +1 -1
- package/dist/mcp/tools/test-execution/e2e-execute.js +3 -3
- package/dist/mcp/tools/test-execution/execute.js +1 -1
- package/dist/mcp/tools/test-execution/index.js +2 -2
- package/dist/mcp/tools/test-generation/generate.js +3 -3
- package/dist/mcp/tools/visual-accessibility/index.js +3 -3
- package/dist/plugins/index.js +8 -8
- package/dist/plugins/lifecycle.js +5 -5
- package/dist/plugins/sources/github.js +1 -1
- package/dist/plugins/sources/local.js +1 -1
- package/dist/plugins/sources/npm.js +1 -1
- package/dist/shared/base-domain-plugin.js +1 -1
- package/dist/shared/c4-model/index.js +1 -1
- package/dist/shared/embeddings/index.js +4 -4
- package/dist/shared/embeddings/nomic-embedder.js +3 -3
- package/dist/shared/embeddings/ollama-client.js +1 -1
- package/dist/shared/entities/agent.js +1 -1
- package/dist/shared/entities/index.js +2 -2
- package/dist/shared/events/index.js +1 -1
- package/dist/shared/git/index.js +1 -1
- package/dist/shared/http/http-client.js +1 -1
- package/dist/shared/http/index.js +1 -1
- package/dist/shared/index.js +15 -15
- package/dist/shared/io/file-reader.js +1 -1
- package/dist/shared/io/index.js +1 -1
- package/dist/shared/llm/billing-modes.d.ts +5 -0
- package/dist/shared/llm/billing-modes.js +42 -3
- package/dist/shared/llm/circuit-breaker.js +1 -1
- package/dist/shared/llm/index.d.ts +4 -1
- package/dist/shared/llm/index.js +15 -11
- package/dist/shared/llm/interfaces.d.ts +34 -3
- package/dist/shared/llm/interfaces.js +17 -0
- package/dist/shared/llm/metrics/cost-metrics.js +2 -2
- package/dist/shared/llm/metrics/index.js +2 -2
- package/dist/shared/llm/metrics/router-metrics.js +1 -1
- package/dist/shared/llm/model-registry.js +1 -1
- package/dist/shared/llm/provider-manager.js +24 -17
- package/dist/shared/llm/provider-registry.d.ts +135 -0
- package/dist/shared/llm/provider-registry.js +227 -0
- package/dist/shared/llm/providers/azure-openai.js +2 -2
- package/dist/shared/llm/providers/bedrock.js +2 -2
- package/dist/shared/llm/providers/claude-code.js +1 -1
- package/dist/shared/llm/providers/claude.js +4 -4
- package/dist/shared/llm/providers/codex.js +1 -1
- package/dist/shared/llm/providers/cognitum.js +1 -1
- 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/providers/gemini.js +1 -1
- package/dist/shared/llm/providers/index.js +10 -10
- package/dist/shared/llm/providers/ollama.js +2 -2
- package/dist/shared/llm/providers/openai.js +2 -2
- package/dist/shared/llm/providers/openrouter.js +1 -1
- 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/hybrid-router.js +7 -7
- package/dist/shared/llm/router/index.js +4 -4
- package/dist/shared/llm/router/routing-rules.js +1 -1
- package/dist/shared/llm/router/types.d.ts +50 -4
- package/dist/shared/llm/router/types.js +10 -0
- package/dist/shared/llm/translation/index.js +3 -3
- package/dist/shared/llm/translation/message-formatter.js +7 -1
- package/dist/shared/llm/translation/prompt-translator.js +2 -2
- package/dist/shared/metrics/code-metrics.js +2 -2
- package/dist/shared/metrics/index.js +2 -2
- package/dist/shared/parsers/index.js +3 -3
- package/dist/shared/security/compliance-patterns.js +1 -1
- package/dist/shared/security/index.js +8 -8
- package/dist/shared/security/osv-client.js +1 -1
- package/dist/test-scheduling/index.js +9 -9
- package/dist/test-scheduling/phase-scheduler.js +1 -1
- package/dist/test-scheduling/pipeline.js +9 -9
- package/dist/validation/provider-llm-executor.js +5 -5
- package/dist/workers/daemon.js +3 -3
- package/dist/workers/index.js +5 -5
- package/dist/workers/quality-daemon/index.js +15 -15
- package/dist/workers/workers/compliance-checker.js +2 -2
- package/dist/workers/workers/coverage-tracker.js +1 -1
- package/dist/workers/workers/defect-predictor.js +1 -1
- package/dist/workers/workers/flaky-detector.js +1 -1
- package/dist/workers/workers/learning-consolidation.js +4 -4
- package/dist/workers/workers/performance-baseline.js +1 -1
- package/dist/workers/workers/quality-gate.js +1 -1
- package/dist/workers/workers/regression-monitor.js +1 -1
- package/dist/workers/workers/security-scan.js +1 -1
- package/dist/workers/workers/test-health.js +1 -1
- package/dist/workflows/browser/index.js +1 -1
- package/package.json +8 -3
- package/dist/cli/chunks/adapter-6CNMDJVJ.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-JGHHNSFX.js +0 -2
- package/dist/cli/chunks/base-ND3KAA2L.js +0 -2
- package/dist/cli/chunks/browser-workflow-EBSNGTSH.js +0 -2
- package/dist/cli/chunks/chunk-3I5ZTLFY.js +0 -2
- package/dist/cli/chunks/chunk-4EWKERKV.js +0 -3
- package/dist/cli/chunks/chunk-4NXABNLF.js +0 -2
- package/dist/cli/chunks/chunk-A6V5NZCV.js +0 -21
- package/dist/cli/chunks/chunk-QR6NVCRT.js +0 -12
- package/dist/cli/chunks/chunk-TL5FMEKW.js +0 -2
- package/dist/cli/chunks/chunk-XPUPST5T.js +0 -2
- package/dist/cli/chunks/client-NEGGUFEM.js +0 -2
- package/dist/cli/chunks/core-handlers-Q2XPFYQ5.js +0 -2
- package/dist/cli/chunks/cross-domain-router-WNZMUQ3G.js +0 -2
- package/dist/cli/chunks/dream-OL5XLAYS.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-XUAW3I3Q.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-EDK2YUZJ.js +0 -2
- package/dist/cli/chunks/hnsw-index-RDMT66NM.js +0 -2
- package/dist/cli/chunks/hybrid-router-BALMPXND.js +0 -2
- package/dist/cli/chunks/impact-analyzer-P6XLP3QX.js +0 -2
- package/dist/cli/chunks/init-wizard-HMU5OPKQ.js +0 -2
- package/dist/cli/chunks/kernel-HMSENQ6R.js +0 -2
- package/dist/cli/chunks/knowledge-graph-G7W72UC5.js +0 -2
- package/dist/cli/chunks/llm-router-XCBGZRKA.js +0 -36
- package/dist/cli/chunks/llm-router-service-VCM7LAGO.js +0 -2
- package/dist/cli/chunks/load-test-H5FATYS2.js +0 -2
- package/dist/cli/chunks/memory-backend-OPHD5UCR.js +0 -2
- package/dist/cli/chunks/memory-handlers-EA5UFT4G.js +0 -2
- package/dist/cli/chunks/pattern-null-store-XJOXEDQO.js +0 -2
- package/dist/cli/chunks/protocol-executor-XVN7GTLL.js +0 -2
- package/dist/cli/chunks/provider-manager-NQICCJZZ.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-SVCH233Z.js +0 -2
- package/dist/cli/chunks/queen-coordinator-Z3PBE4EH.js +0 -2
- package/dist/cli/chunks/router-HMWZW2SF.js +0 -2
- package/dist/cli/chunks/routing-feedback-ZZYHE2CL.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-ZPT4RLBE.js +0 -2
- package/dist/cli/chunks/safe-db-VMYUKPV6.js +0 -2
- package/dist/cli/chunks/schedule-DOQ4X4MH.js +0 -2
- package/dist/cli/chunks/scheduler-FE2DH224.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-TKCACSFQ.js +0 -2
- package/dist/cli/chunks/status-handler-UHY36LOR.js +0 -47
- package/dist/cli/chunks/unified-memory-2PA3CIQT.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-W43H4ZKY.js +0 -2
- package/dist/cli/chunks/unified-persistence-SOW7AAZL.js +0 -2
- package/dist/cli/chunks/visual-security-R6BVIOYU.js +0 -2
- package/dist/cli/chunks/witness-chain-GSJW7VDF.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-TXEMI5DD.js +0 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agentic QE v3 - HTTP Client
|
|
3
3
|
* Fetch wrapper with timeout, retry, and circuit breaker patterns
|
|
4
4
|
*/
|
|
5
|
-
import { ok, err } from '../types';
|
|
5
|
+
import { ok, err } from '../types/index.js';
|
|
6
6
|
import { toError } from '../error-utils.js';
|
|
7
7
|
// ============================================================================
|
|
8
8
|
// Constants
|
package/dist/shared/index.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
* Agentic QE v3 - Shared Kernel
|
|
3
3
|
* Common building blocks used across all domains
|
|
4
4
|
*/
|
|
5
|
-
export * from './types';
|
|
6
|
-
export * from './entities';
|
|
7
|
-
export * from './value-objects';
|
|
8
|
-
export * from './events';
|
|
9
|
-
export * from './parsers';
|
|
10
|
-
export * from './io';
|
|
11
|
-
export * from './http';
|
|
12
|
-
export * from './embeddings';
|
|
13
|
-
export * from './git';
|
|
14
|
-
export * from './security';
|
|
15
|
-
export * from './metrics';
|
|
16
|
-
export * from './safe-json';
|
|
17
|
-
export * from './error-utils';
|
|
18
|
-
export { DomainServiceRegistry, ServiceKeys } from './domain-service-registry';
|
|
19
|
-
export { ProviderManager, CircuitBreaker as LLMCircuitBreaker, CostTracker, LLMCache, ClaudeProvider, OpenAIProvider, OllamaProvider, createLLMError, isLLMError, } from './llm';
|
|
5
|
+
export * from './types/index.js';
|
|
6
|
+
export * from './entities/index.js';
|
|
7
|
+
export * from './value-objects/index.js';
|
|
8
|
+
export * from './events/index.js';
|
|
9
|
+
export * from './parsers/index.js';
|
|
10
|
+
export * from './io/index.js';
|
|
11
|
+
export * from './http/index.js';
|
|
12
|
+
export * from './embeddings/index.js';
|
|
13
|
+
export * from './git/index.js';
|
|
14
|
+
export * from './security/index.js';
|
|
15
|
+
export * from './metrics/index.js';
|
|
16
|
+
export * from './safe-json.js';
|
|
17
|
+
export * from './error-utils.js';
|
|
18
|
+
export { DomainServiceRegistry, ServiceKeys } from './domain-service-registry.js';
|
|
19
|
+
export { ProviderManager, CircuitBreaker as LLMCircuitBreaker, CostTracker, LLMCache, ClaudeProvider, OpenAIProvider, OllamaProvider, createLLMError, isLLMError, } from './llm/index.js';
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as fs from 'node:fs/promises';
|
|
6
6
|
import * as path from 'node:path';
|
|
7
|
-
import { ok, err } from '../types';
|
|
7
|
+
import { ok, err } from '../types/index.js';
|
|
8
8
|
import { validatePath } from '../security/path-traversal-validator.js';
|
|
9
9
|
import { safeJsonParse } from '../safe-json.js';
|
|
10
10
|
export class FileReadError extends Error {
|
package/dist/shared/io/index.js
CHANGED
|
@@ -8,5 +8,5 @@ FileReader,
|
|
|
8
8
|
// Error classes
|
|
9
9
|
FileReadError, JsonParseError, PathTraversalError, // SEC-004: Added for path traversal security
|
|
10
10
|
// Convenience functions
|
|
11
|
-
getFileReader, readFile, readJSON, fileExists, listFiles, } from './file-reader';
|
|
11
|
+
getFileReader, readFile, readJSON, fileExists, listFiles, } from './file-reader.js';
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -11,6 +11,11 @@ import type { BillingMode, LLMProvider, LLMProviderType } from './interfaces';
|
|
|
11
11
|
* Resolve a provider's billing mode: the instance's own `billingMode` wins,
|
|
12
12
|
* else the per-type default, else `metered-api` (the safe, cap-requiring
|
|
13
13
|
* assumption for an unknown provider).
|
|
14
|
+
*
|
|
15
|
+
* ADR-127: an external provider is expected to declare `billingMode` on the
|
|
16
|
+
* instance, which is why the instance's own value is consulted first. When it
|
|
17
|
+
* declares nothing it lands on `metered-api` and therefore requires a budget,
|
|
18
|
+
* rather than being silently treated as free.
|
|
14
19
|
*/
|
|
15
20
|
export declare function resolveBillingMode(provider: Pick<LLMProvider, 'type' | 'billingMode'>): BillingMode;
|
|
16
21
|
/** Resolve a billing mode from a bare provider type. */
|
|
@@ -6,7 +6,19 @@
|
|
|
6
6
|
* kernel, `aqe health`) can resolve a billing mode without constructing a
|
|
7
7
|
* provider, and so a provider that doesn't set `billingMode` still resolves.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
import { isBuiltinProviderType } from './interfaces.js';
|
|
10
|
+
import { registeredBillingDeclaration } from './provider-registry.js';
|
|
11
|
+
/**
|
|
12
|
+
* Default billing mode per built-in provider type.
|
|
13
|
+
*
|
|
14
|
+
* ADR-127: keyed on `BuiltinProviderType`, not `LLMProviderType`, for two
|
|
15
|
+
* reasons: adding a built-in provider must still fail the build until this map
|
|
16
|
+
* is updated, and a lookup by an open `LLMProviderType` must type as
|
|
17
|
+
* `BillingMode | undefined` so the `?? 'metered-api'` fallback below is
|
|
18
|
+
* actually forced rather than merely present. An external provider registered
|
|
19
|
+
* per ADR-127 has no entry here and therefore falls through to `metered-api` —
|
|
20
|
+
* the conservative, cap-requiring assumption.
|
|
21
|
+
*/
|
|
10
22
|
const BILLING_MODE_BY_TYPE = {
|
|
11
23
|
claude: 'metered-api',
|
|
12
24
|
'claude-code': 'subscription',
|
|
@@ -19,17 +31,29 @@ const BILLING_MODE_BY_TYPE = {
|
|
|
19
31
|
cognitum: 'metered-capped',
|
|
20
32
|
ollama: 'local',
|
|
21
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Look up the built-in default for a provider type, or `undefined` when the
|
|
36
|
+
* type is not one AQE ships (ADR-127: an externally registered provider).
|
|
37
|
+
*/
|
|
38
|
+
function builtinBillingMode(type) {
|
|
39
|
+
return isBuiltinProviderType(type) ? BILLING_MODE_BY_TYPE[type] : undefined;
|
|
40
|
+
}
|
|
22
41
|
/**
|
|
23
42
|
* Resolve a provider's billing mode: the instance's own `billingMode` wins,
|
|
24
43
|
* else the per-type default, else `metered-api` (the safe, cap-requiring
|
|
25
44
|
* assumption for an unknown provider).
|
|
45
|
+
*
|
|
46
|
+
* ADR-127: an external provider is expected to declare `billingMode` on the
|
|
47
|
+
* instance, which is why the instance's own value is consulted first. When it
|
|
48
|
+
* declares nothing it lands on `metered-api` and therefore requires a budget,
|
|
49
|
+
* rather than being silently treated as free.
|
|
26
50
|
*/
|
|
27
51
|
export function resolveBillingMode(provider) {
|
|
28
|
-
return provider.billingMode ??
|
|
52
|
+
return provider.billingMode ?? builtinBillingMode(provider.type) ?? 'metered-api';
|
|
29
53
|
}
|
|
30
54
|
/** Resolve a billing mode from a bare provider type. */
|
|
31
55
|
export function billingModeForType(type) {
|
|
32
|
-
return
|
|
56
|
+
return builtinBillingMode(type) ?? 'metered-api';
|
|
33
57
|
}
|
|
34
58
|
/**
|
|
35
59
|
* One-line notice shown at startup / in `aqe health` describing how the
|
|
@@ -47,6 +71,21 @@ export function billingNotice(provider, mode) {
|
|
|
47
71
|
return (`ℹ️ LLM provider "${provider}" bills per-token but enforces a server-side ` +
|
|
48
72
|
`hard spend cap; it will pause at the cap rather than overspend.`);
|
|
49
73
|
case 'subscription': {
|
|
74
|
+
// ADR-127: only a built-in may be named as drawing on a specific
|
|
75
|
+
// vendor's plan. An external provider that declares `subscription` is
|
|
76
|
+
// asserting something AQE cannot verify, and naming Claude Code or
|
|
77
|
+
// ChatGPT here would attribute the spend to a vendor that is not
|
|
78
|
+
// serving the work — the exact misrepresentation issue #628 refused to
|
|
79
|
+
// perform. Say what was declared, and say who declared it.
|
|
80
|
+
const declaration = registeredBillingDeclaration(provider);
|
|
81
|
+
if (declaration) {
|
|
82
|
+
const by = declaration.detail
|
|
83
|
+
? `declared by ${declaration.detail}`
|
|
84
|
+
: `declared by ${declaration.source === 'config' ? 'config' : 'the registering caller'}`;
|
|
85
|
+
return (`ℹ️ LLM provider "${provider}" is an external provider that reports ` +
|
|
86
|
+
`subscription billing (${by}) — AQE does not verify this. It draws on ` +
|
|
87
|
+
`that host's own plan, not on your Claude Code or ChatGPT subscription.`);
|
|
88
|
+
}
|
|
50
89
|
const sub = provider === 'codex' ? 'ChatGPT' : 'Claude Code';
|
|
51
90
|
return (`ℹ️ LLM provider "${provider}" runs on your ${sub} subscription ` +
|
|
52
91
|
`(shared plan usage). Worst case is hitting your plan's rate limit and pausing — ` +
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - HALF-OPEN: Testing recovery, limited requests allowed
|
|
12
12
|
*/
|
|
13
13
|
import { toError } from '../error-utils.js';
|
|
14
|
-
import { createLLMError, } from './interfaces';
|
|
14
|
+
import { createLLMError, } from './interfaces.js';
|
|
15
15
|
/**
|
|
16
16
|
* Default circuit breaker configuration
|
|
17
17
|
*/
|
|
@@ -41,11 +41,14 @@
|
|
|
41
41
|
* const costs = manager.getCostSummary('day');
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
|
-
export { type LLMProviderType, type MessageRole, type Message, type TokenUsage, type CostInfo, type LLMResponse, type EmbeddingResponse, type CompletionResponse, type LLMConfig, type ClaudeConfig, type OpenAIConfig, type OllamaConfig, type OpenRouterConfig, type GeminiConfig, type AzureOpenAIConfig, type BedrockConfig, type ProviderManagerConfig, type GenerateOptions, type EmbedOptions, type CompleteOptions, type LLMProvider, type HealthCheckResult, type CircuitBreakerState, type CircuitBreakerConfig, type CircuitBreakerStats, type CostPeriod, type CostSummary, type CostAlert, type CacheEntry, type LLMCacheConfig, type LLMCacheStats, type ProviderSelection, type ProviderMetrics, type LLMErrorCode, type LLMError, createLLMError, isLLMError, } from './interfaces';
|
|
44
|
+
export { type LLMProviderType, type MessageRole, type Message, type TokenUsage, type CostInfo, type LLMResponse, type EmbeddingResponse, type CompletionResponse, type LLMConfig, type ClaudeConfig, type OpenAIConfig, type OllamaConfig, type OpenRouterConfig, type GeminiConfig, type AzureOpenAIConfig, type BedrockConfig, type ProviderManagerConfig, type GenerateOptions, type EmbedOptions, type CompleteOptions, type BuiltinProviderType, BUILTIN_PROVIDER_TYPES, isBuiltinProviderType, type LLMProvider, type HealthCheckResult, type CircuitBreakerState, type CircuitBreakerConfig, type CircuitBreakerStats, type CostPeriod, type CostSummary, type CostAlert, type CacheEntry, type LLMCacheConfig, type LLMCacheStats, type ProviderSelection, type ProviderMetrics, type LLMErrorCode, type LLMError, createLLMError, isLLMError, } from './interfaces';
|
|
45
45
|
export { ClaudeProvider, DEFAULT_CLAUDE_CONFIG, OpenAIProvider, DEFAULT_OPENAI_CONFIG, OllamaProvider, DEFAULT_OLLAMA_CONFIG, OpenRouterProvider, DEFAULT_OPENROUTER_CONFIG, GeminiProvider, DEFAULT_GEMINI_CONFIG, AzureOpenAIProvider, DEFAULT_AZURE_OPENAI_CONFIG, BedrockProvider, DEFAULT_BEDROCK_CONFIG, } from './providers';
|
|
46
46
|
export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG, } from './circuit-breaker';
|
|
47
47
|
export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, type CacheableResponse, } from './cache';
|
|
48
48
|
export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker';
|
|
49
|
+
export { registerProvider, tryRegisterProvider, unregisterProvider, resetProviderRegistry, isRegisteredProvider, getRegisteredProvider, listRegisteredProviders, registeredProviderTypes, createRegisteredProvider, registeredBillingDeclaration, validateProviderType, validateProviderInstance, type ProviderFactory, type ProviderRegistrationOptions, type ProviderRegistrationSource, type RegisteredProvider, } from './provider-registry';
|
|
50
|
+
export { ExternalCliProvider, validateExternalCliConfig, resolvesOnPath, DEFAULT_EXTERNAL_CLI_TIMEOUT_MS, DEFAULT_EXTERNAL_CLI_CONCURRENCY, EXTERNAL_CLI_DEFAULT_MODEL, type ExternalCliProviderConfig, } from './providers/external-cli';
|
|
51
|
+
export { registerExternalProviders, sanitizeExternalProviders, type ExternalProviderRegistrationResult, } from './router/external-provider-config';
|
|
49
52
|
export { ProviderManager, createProviderManager, createQEProviderManager, DEFAULT_PROVIDER_MANAGER_CONFIG, } from './provider-manager';
|
|
50
53
|
export { mapModelId, normalizeModelId, getCanonicalName, getModelFamily, getModelTier, isModelAvailableOnProvider, getSupportedProviders, listCanonicalModels, listModelsByProvider, listModelsByFamily, listModelsByTier, getModelMapping, MODEL_MAPPINGS, type ProviderType, type ModelMapping, } from './model-mapping';
|
|
51
54
|
export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, type ModelCapabilities, type ModelCostInfo, type ModelInfo, } from './model-registry';
|
package/dist/shared/llm/index.js
CHANGED
|
@@ -42,26 +42,30 @@
|
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
44
|
// Core interfaces
|
|
45
|
-
export { createLLMError, isLLMError, } from './interfaces';
|
|
45
|
+
export { BUILTIN_PROVIDER_TYPES, isBuiltinProviderType, createLLMError, isLLMError, } from './interfaces.js';
|
|
46
46
|
// Providers (ADR-043: All 7 provider types)
|
|
47
47
|
export { ClaudeProvider, DEFAULT_CLAUDE_CONFIG, OpenAIProvider, DEFAULT_OPENAI_CONFIG, OllamaProvider, DEFAULT_OLLAMA_CONFIG,
|
|
48
48
|
// ADR-043 New Providers
|
|
49
|
-
OpenRouterProvider, DEFAULT_OPENROUTER_CONFIG, GeminiProvider, DEFAULT_GEMINI_CONFIG, AzureOpenAIProvider, DEFAULT_AZURE_OPENAI_CONFIG, BedrockProvider, DEFAULT_BEDROCK_CONFIG, } from './providers';
|
|
49
|
+
OpenRouterProvider, DEFAULT_OPENROUTER_CONFIG, GeminiProvider, DEFAULT_GEMINI_CONFIG, AzureOpenAIProvider, DEFAULT_AZURE_OPENAI_CONFIG, BedrockProvider, DEFAULT_BEDROCK_CONFIG, } from './providers/index.js';
|
|
50
50
|
// Circuit breaker
|
|
51
|
-
export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG, } from './circuit-breaker';
|
|
51
|
+
export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG, } from './circuit-breaker.js';
|
|
52
52
|
// Cache
|
|
53
|
-
export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, } from './cache';
|
|
53
|
+
export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, } from './cache.js';
|
|
54
54
|
// Cost tracker
|
|
55
|
-
export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker';
|
|
55
|
+
export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker.js';
|
|
56
|
+
// External provider registration (ADR-127 / issue #628)
|
|
57
|
+
export { registerProvider, tryRegisterProvider, unregisterProvider, resetProviderRegistry, isRegisteredProvider, getRegisteredProvider, listRegisteredProviders, registeredProviderTypes, createRegisteredProvider, registeredBillingDeclaration, validateProviderType, validateProviderInstance, } from './provider-registry.js';
|
|
58
|
+
export { ExternalCliProvider, validateExternalCliConfig, resolvesOnPath, DEFAULT_EXTERNAL_CLI_TIMEOUT_MS, DEFAULT_EXTERNAL_CLI_CONCURRENCY, EXTERNAL_CLI_DEFAULT_MODEL, } from './providers/external-cli.js';
|
|
59
|
+
export { registerExternalProviders, sanitizeExternalProviders, } from './router/external-provider-config.js';
|
|
56
60
|
// Provider manager
|
|
57
|
-
export { ProviderManager, createProviderManager, createQEProviderManager, DEFAULT_PROVIDER_MANAGER_CONFIG, } from './provider-manager';
|
|
61
|
+
export { ProviderManager, createProviderManager, createQEProviderManager, DEFAULT_PROVIDER_MANAGER_CONFIG, } from './provider-manager.js';
|
|
58
62
|
// Model mapping (ADR-043)
|
|
59
|
-
export { mapModelId, normalizeModelId, getCanonicalName, getModelFamily, getModelTier, isModelAvailableOnProvider, getSupportedProviders, listCanonicalModels, listModelsByProvider, listModelsByFamily, listModelsByTier, getModelMapping, MODEL_MAPPINGS, } from './model-mapping';
|
|
63
|
+
export { mapModelId, normalizeModelId, getCanonicalName, getModelFamily, getModelTier, isModelAvailableOnProvider, getSupportedProviders, listCanonicalModels, listModelsByProvider, listModelsByFamily, listModelsByTier, getModelMapping, MODEL_MAPPINGS, } from './model-mapping.js';
|
|
60
64
|
// Model registry (ADR-043)
|
|
61
|
-
export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, } from './model-registry';
|
|
65
|
+
export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, } from './model-registry.js';
|
|
62
66
|
// Metrics (ADR-043 Milestone 11)
|
|
63
|
-
export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, } from './metrics';
|
|
67
|
+
export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, } from './metrics/index.js';
|
|
64
68
|
// HybridRouter (ADR-043: Intelligent provider routing)
|
|
65
|
-
export { HybridRouter, createHybridRouter, createQERouter, } from './router';
|
|
66
|
-
export { ALL_PROVIDER_TYPES, DEFAULT_ROUTER_CONFIG, DEFAULT_FALLBACK_BEHAVIOR, RoutingRuleEngine, DEFAULT_QE_ROUTING_RULES, } from './router';
|
|
69
|
+
export { HybridRouter, createHybridRouter, createQERouter, } from './router/index.js';
|
|
70
|
+
export { ALL_PROVIDER_TYPES, DEFAULT_ROUTER_CONFIG, DEFAULT_FALLBACK_BEHAVIOR, RoutingRuleEngine, DEFAULT_QE_ROUTING_RULES, } from './router/index.js';
|
|
67
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -9,9 +9,32 @@
|
|
|
9
9
|
* - Response caching
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Provider types AQE ships built in. Exhaustive — safe to key a `Record` on.
|
|
13
|
+
*
|
|
14
|
+
* ADR-127: this is the closed half of the provider identity space. Anything
|
|
15
|
+
* that must be exhaustively handled (billing defaults, env-key maps, prompt
|
|
16
|
+
* translation strategies) keys on THIS type, not on `LLMProviderType`.
|
|
13
17
|
*/
|
|
14
|
-
export type
|
|
18
|
+
export type BuiltinProviderType = 'claude' | 'claude-code' | 'codex' | 'openai' | 'ollama' | 'openrouter' | 'bedrock' | 'azure-openai' | 'gemini' | 'cognitum';
|
|
19
|
+
/**
|
|
20
|
+
* Supported LLM provider types.
|
|
21
|
+
*
|
|
22
|
+
* ADR-127: open. A downstream integrator may register an additional provider
|
|
23
|
+
* identity (via `registerProvider()` or an `externalProviders` entry in
|
|
24
|
+
* `.agentic-qe/llm-config.json`) so `AQE_LLM_PROVIDER=<their-host>` resolves to
|
|
25
|
+
* a provider they supply, instead of forking this union or misrepresenting
|
|
26
|
+
* their host as an unrelated vendor (issue #628).
|
|
27
|
+
*
|
|
28
|
+
* The `(string & {})` arm keeps editor autocomplete on the built-ins while
|
|
29
|
+
* admitting registered identities. Because this type is no longer exhaustive,
|
|
30
|
+
* a `Record` keyed on it can no longer be checked by the compiler — use
|
|
31
|
+
* `BuiltinProviderType` for those and read through a fallback.
|
|
32
|
+
*/
|
|
33
|
+
export type LLMProviderType = BuiltinProviderType | (string & {});
|
|
34
|
+
/** The built-in provider types, as a runtime array. ADR-127. */
|
|
35
|
+
export declare const BUILTIN_PROVIDER_TYPES: readonly BuiltinProviderType[];
|
|
36
|
+
/** Type guard: is this one of the provider types AQE ships? */
|
|
37
|
+
export declare function isBuiltinProviderType(type: string): type is BuiltinProviderType;
|
|
15
38
|
/**
|
|
16
39
|
* Message role in a conversation
|
|
17
40
|
*/
|
|
@@ -629,7 +652,15 @@ export interface ProviderMetrics {
|
|
|
629
652
|
/**
|
|
630
653
|
* LLM-specific error codes
|
|
631
654
|
*/
|
|
632
|
-
export type LLMErrorCode = 'API_KEY_INVALID' | 'API_KEY_MISSING' | 'RATE_LIMITED' | 'CONTEXT_LENGTH_EXCEEDED' | 'CONTENT_FILTERED' | 'MODEL_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'CIRCUIT_OPEN' | 'TIMEOUT' | 'NETWORK_ERROR' | 'COST_LIMIT_EXCEEDED'
|
|
655
|
+
export type LLMErrorCode = 'API_KEY_INVALID' | 'API_KEY_MISSING' | 'RATE_LIMITED' | 'CONTEXT_LENGTH_EXCEEDED' | 'CONTENT_FILTERED' | 'MODEL_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'CIRCUIT_OPEN' | 'TIMEOUT' | 'NETWORK_ERROR' | 'COST_LIMIT_EXCEEDED'
|
|
656
|
+
/** ADR-127: a provider registration or its produced instance was malformed. */
|
|
657
|
+
| 'INVALID_REGISTRATION'
|
|
658
|
+
/**
|
|
659
|
+
* ADR-127: this provider has no embeddings endpoint. Distinct from a
|
|
660
|
+
* failure — the caller should fall back to another provider rather than
|
|
661
|
+
* retry, and must never receive a fabricated vector.
|
|
662
|
+
*/
|
|
663
|
+
| 'EMBEDDING_UNSUPPORTED' | 'UNKNOWN';
|
|
633
664
|
/**
|
|
634
665
|
* LLM error with rich context
|
|
635
666
|
*/
|
|
@@ -8,6 +8,23 @@
|
|
|
8
8
|
* - Circuit breaker support for resilience
|
|
9
9
|
* - Response caching
|
|
10
10
|
*/
|
|
11
|
+
/** The built-in provider types, as a runtime array. ADR-127. */
|
|
12
|
+
export const BUILTIN_PROVIDER_TYPES = [
|
|
13
|
+
'claude',
|
|
14
|
+
'claude-code',
|
|
15
|
+
'codex',
|
|
16
|
+
'openai',
|
|
17
|
+
'ollama',
|
|
18
|
+
'openrouter',
|
|
19
|
+
'bedrock',
|
|
20
|
+
'azure-openai',
|
|
21
|
+
'gemini',
|
|
22
|
+
'cognitum',
|
|
23
|
+
];
|
|
24
|
+
/** Type guard: is this one of the provider types AQE ships? */
|
|
25
|
+
export function isBuiltinProviderType(type) {
|
|
26
|
+
return BUILTIN_PROVIDER_TYPES.includes(type);
|
|
27
|
+
}
|
|
11
28
|
/**
|
|
12
29
|
* Create an LLM error
|
|
13
30
|
*/
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* - Budget monitoring and alerts
|
|
9
9
|
* - Cost optimization insights
|
|
10
10
|
*/
|
|
11
|
-
import { ALL_PROVIDER_TYPES } from '../router/types';
|
|
12
|
-
import { MODEL_PRICING } from '../cost-tracker';
|
|
11
|
+
import { ALL_PROVIDER_TYPES } from '../router/types.js';
|
|
12
|
+
import { MODEL_PRICING } from '../cost-tracker.js';
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// CostMetricsCollector Implementation
|
|
15
15
|
// ============================================================================
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Audit logging
|
|
10
10
|
*/
|
|
11
11
|
// Router metrics
|
|
12
|
-
export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, } from './router-metrics';
|
|
12
|
+
export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, } from './router-metrics.js';
|
|
13
13
|
// Cost metrics
|
|
14
|
-
export { CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, } from './cost-metrics';
|
|
14
|
+
export { CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, } from './cost-metrics.js';
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Time-windowed aggregations
|
|
11
11
|
*/
|
|
12
12
|
import { randomUUID } from 'crypto';
|
|
13
|
-
import { ALL_PROVIDER_TYPES, } from '../router/types';
|
|
13
|
+
import { ALL_PROVIDER_TYPES, } from '../router/types.js';
|
|
14
14
|
// ============================================================================
|
|
15
15
|
// RouterMetricsCollector Implementation
|
|
16
16
|
// ============================================================================
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* const visionModels = findModelsByCapability({ supportsVision: true });
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
import { normalizeModelId, getModelMapping, } from './model-mapping';
|
|
25
|
+
import { normalizeModelId, getModelMapping, } from './model-mapping.js';
|
|
26
26
|
// ============================================================================
|
|
27
27
|
// Model Registry Data
|
|
28
28
|
// ============================================================================
|
|
@@ -9,24 +9,25 @@
|
|
|
9
9
|
* - Response caching
|
|
10
10
|
* - Cost tracking
|
|
11
11
|
*/
|
|
12
|
-
import { createLLMError, } from './interfaces';
|
|
12
|
+
import { createLLMError, } from './interfaces.js';
|
|
13
13
|
import { secureRandomInt } from '../utils/crypto-random.js';
|
|
14
|
-
import { CircuitBreakerManager } from './circuit-breaker';
|
|
15
|
-
import { LLMResponseCache } from './cache';
|
|
16
|
-
import { CostTracker, getGlobalCostTracker } from './cost-tracker';
|
|
17
|
-
import { createDefaultSpendLedger, InMemorySpendLedger, } from './spend-ledger';
|
|
18
|
-
import { resolveBillingMode, billingNotice } from './billing-modes';
|
|
19
|
-
import { ClaudeProvider } from './providers/claude';
|
|
20
|
-
import { ClaudeCodeProvider } from './providers/claude-code';
|
|
21
|
-
import { CodexProvider } from './providers/codex';
|
|
22
|
-
import { CognitumProvider } from './providers/cognitum';
|
|
23
|
-
import { OpenAIProvider } from './providers/openai';
|
|
24
|
-
import { OllamaProvider } from './providers/ollama';
|
|
25
|
-
import { OpenRouterProvider } from './providers/openrouter';
|
|
26
|
-
import { GeminiProvider } from './providers/gemini';
|
|
27
|
-
import { AzureOpenAIProvider } from './providers/azure-openai';
|
|
28
|
-
import { BedrockProvider } from './providers/bedrock';
|
|
14
|
+
import { CircuitBreakerManager } from './circuit-breaker.js';
|
|
15
|
+
import { LLMResponseCache } from './cache.js';
|
|
16
|
+
import { CostTracker, getGlobalCostTracker } from './cost-tracker.js';
|
|
17
|
+
import { createDefaultSpendLedger, InMemorySpendLedger, } from './spend-ledger.js';
|
|
18
|
+
import { resolveBillingMode, billingNotice } from './billing-modes.js';
|
|
19
|
+
import { ClaudeProvider } from './providers/claude.js';
|
|
20
|
+
import { ClaudeCodeProvider } from './providers/claude-code.js';
|
|
21
|
+
import { CodexProvider } from './providers/codex.js';
|
|
22
|
+
import { CognitumProvider } from './providers/cognitum.js';
|
|
23
|
+
import { OpenAIProvider } from './providers/openai.js';
|
|
24
|
+
import { OllamaProvider } from './providers/ollama.js';
|
|
25
|
+
import { OpenRouterProvider } from './providers/openrouter.js';
|
|
26
|
+
import { GeminiProvider } from './providers/gemini.js';
|
|
27
|
+
import { AzureOpenAIProvider } from './providers/azure-openai.js';
|
|
28
|
+
import { BedrockProvider } from './providers/bedrock.js';
|
|
29
29
|
import { toError } from '../error-utils.js';
|
|
30
|
+
import { createRegisteredProvider } from './provider-registry.js';
|
|
30
31
|
/**
|
|
31
32
|
* Default provider manager configuration
|
|
32
33
|
*/
|
|
@@ -441,7 +442,13 @@ export class ProviderManager {
|
|
|
441
442
|
case 'bedrock':
|
|
442
443
|
return new BedrockProvider(this.config.providers.bedrock);
|
|
443
444
|
default:
|
|
444
|
-
|
|
445
|
+
// ADR-127: not a built-in. Fall through to the external provider
|
|
446
|
+
// registry, which throws PROVIDER_UNAVAILABLE when nothing is
|
|
447
|
+
// registered under this type — preserving the previous behavior for a
|
|
448
|
+
// genuinely unknown type while letting a downstream integrator supply
|
|
449
|
+
// one. Built-in cases are matched first, so a registration can never
|
|
450
|
+
// shadow a provider AQE ships.
|
|
451
|
+
return createRegisteredProvider(type);
|
|
445
452
|
}
|
|
446
453
|
}
|
|
447
454
|
/**
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 — External provider registry
|
|
3
|
+
* ADR-127: External provider registration (issue #628)
|
|
4
|
+
*
|
|
5
|
+
* The sanctioned extension point for provider identity. A downstream
|
|
6
|
+
* integrator can register an additional provider type so
|
|
7
|
+
* `AQE_LLM_PROVIDER=<their-host>` resolves to a provider they supply, instead
|
|
8
|
+
* of forking `BuiltinProviderType` or projecting their host onto an unrelated
|
|
9
|
+
* vendor identity (which would make `aqe health` misreport who served the work).
|
|
10
|
+
*
|
|
11
|
+
* Two entry points feed this registry:
|
|
12
|
+
* 1. `registerProvider()` — for a consumer that embeds AQE in-process.
|
|
13
|
+
* 2. The `externalProviders` block in `.agentic-qe/llm-config.json` — for the
|
|
14
|
+
* subprocess case (the `aqe` CLI and MCP server are separate bundles, so
|
|
15
|
+
* an in-process call cannot reach them). See `external-provider-config.ts`.
|
|
16
|
+
*
|
|
17
|
+
* State is process-global module state, matching ADR-125's
|
|
18
|
+
* `agent-router-config.ts`. Tests must call `resetProviderRegistry()`.
|
|
19
|
+
*/
|
|
20
|
+
import { type BillingMode, type LLMProvider, type LLMProviderType } from './interfaces';
|
|
21
|
+
/**
|
|
22
|
+
* Builds a provider instance. Receives whatever config the caller registered
|
|
23
|
+
* the provider with (an `externalProviders` entry, or the `config` passed to
|
|
24
|
+
* `registerProvider`). Must return an object satisfying `LLMProvider`.
|
|
25
|
+
*/
|
|
26
|
+
export type ProviderFactory = (config?: unknown) => LLMProvider;
|
|
27
|
+
/** Where a registration came from — surfaced by `aqe health` (ADR-127). */
|
|
28
|
+
export type ProviderRegistrationSource = 'api' | 'config';
|
|
29
|
+
export interface ProviderRegistrationOptions {
|
|
30
|
+
/**
|
|
31
|
+
* How this provider bills. ADR-123/ADR-127: this is an *assertion by the
|
|
32
|
+
* registrant*, not something AQE can verify, so it is recorded with its
|
|
33
|
+
* source and surfaced as "declared by". Omitting it resolves to
|
|
34
|
+
* `metered-api` — the conservative, cap-requiring assumption.
|
|
35
|
+
*/
|
|
36
|
+
readonly billingMode?: BillingMode;
|
|
37
|
+
/** Human-facing name for CLI output. Defaults to the type string. */
|
|
38
|
+
readonly displayName?: string;
|
|
39
|
+
/** Models this provider accepts. Informational; used by CLI listings. */
|
|
40
|
+
readonly models?: readonly string[];
|
|
41
|
+
/** Opaque config handed back to the factory on each construction. */
|
|
42
|
+
readonly config?: unknown;
|
|
43
|
+
/** Provenance. Defaults to `'api'`. */
|
|
44
|
+
readonly source?: ProviderRegistrationSource;
|
|
45
|
+
/** For `source: 'config'`, the file the declaration came from. */
|
|
46
|
+
readonly sourceDetail?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface RegisteredProvider extends ProviderRegistrationOptions {
|
|
49
|
+
readonly type: string;
|
|
50
|
+
readonly factory: ProviderFactory;
|
|
51
|
+
readonly source: ProviderRegistrationSource;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Validate a candidate provider type. Returns an error message, or `undefined`
|
|
55
|
+
* when the type is acceptable.
|
|
56
|
+
*
|
|
57
|
+
* Exported so config-driven registration can report per-entry problems without
|
|
58
|
+
* throwing (a bad line in a config file must never be fatal — ADR-125's
|
|
59
|
+
* drop-individually discipline).
|
|
60
|
+
*/
|
|
61
|
+
export declare function validateProviderType(type: string): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Register an additional provider type (ADR-127).
|
|
64
|
+
*
|
|
65
|
+
* Throws on an invalid or colliding type — an in-process caller passing a bad
|
|
66
|
+
* type has a bug, and silently ignoring it would strand `AQE_LLM_PROVIDER`
|
|
67
|
+
* pointing at nothing. Config-driven registration uses
|
|
68
|
+
* `tryRegisterProvider()` instead, which reports rather than throws.
|
|
69
|
+
*
|
|
70
|
+
* Re-registering the same type replaces the previous entry.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* import { registerProvider } from 'agentic-qe/shared/llm';
|
|
75
|
+
*
|
|
76
|
+
* registerProvider('my-host', () => new MyHostProvider(), {
|
|
77
|
+
* billingMode: 'subscription',
|
|
78
|
+
* displayName: 'My Host (subscription)',
|
|
79
|
+
* });
|
|
80
|
+
* // now AQE_LLM_PROVIDER=my-host resolves
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function registerProvider(type: string, factory: ProviderFactory, options?: ProviderRegistrationOptions): void;
|
|
84
|
+
/**
|
|
85
|
+
* Config-driven registration. Returns an error message instead of throwing, so
|
|
86
|
+
* one malformed `externalProviders` entry drops itself rather than failing
|
|
87
|
+
* router construction for the whole project.
|
|
88
|
+
*/
|
|
89
|
+
export declare function tryRegisterProvider(type: string, factory: ProviderFactory, options?: ProviderRegistrationOptions): string | undefined;
|
|
90
|
+
/** Remove a registration. Returns true if something was removed. */
|
|
91
|
+
export declare function unregisterProvider(type: string): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Clear all registrations. Tests must call this between cases — the registry
|
|
94
|
+
* is module-global (ADR-125 precedent: `resetAgentProviderOverrides()`).
|
|
95
|
+
*/
|
|
96
|
+
export declare function resetProviderRegistry(): void;
|
|
97
|
+
/** Is this type registered as an external provider? */
|
|
98
|
+
export declare function isRegisteredProvider(type: string): boolean;
|
|
99
|
+
/** Get a registration, or `undefined`. */
|
|
100
|
+
export declare function getRegisteredProvider(type: string): RegisteredProvider | undefined;
|
|
101
|
+
/** All registrations, in registration order. */
|
|
102
|
+
export declare function listRegisteredProviders(): readonly RegisteredProvider[];
|
|
103
|
+
/** Just the registered type strings. */
|
|
104
|
+
export declare function registeredProviderTypes(): readonly string[];
|
|
105
|
+
/**
|
|
106
|
+
* Validate that a factory actually produced something the manager can drive.
|
|
107
|
+
* Returns an error message, or `undefined` when the instance conforms.
|
|
108
|
+
*
|
|
109
|
+
* This runs at construction rather than registration because the product is
|
|
110
|
+
* what must conform, and calling a factory eagerly at registration time would
|
|
111
|
+
* be an unwanted side effect (a provider constructor may spawn processes or
|
|
112
|
+
* open handles).
|
|
113
|
+
*/
|
|
114
|
+
export declare function validateProviderInstance(type: string, instance: unknown): string | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Build an instance of a registered provider.
|
|
117
|
+
*
|
|
118
|
+
* Throws `PROVIDER_UNAVAILABLE` when the type is not registered, and
|
|
119
|
+
* `INVALID_REQUEST` when the factory produced something that is not a usable
|
|
120
|
+
* `LLMProvider`. `ProviderManager.createProvider()` calls this from the
|
|
121
|
+
* `default` arm of its built-in `switch`, so built-ins always win and a
|
|
122
|
+
* registration can never shadow one.
|
|
123
|
+
*/
|
|
124
|
+
export declare function createRegisteredProvider(type: LLMProviderType): LLMProvider;
|
|
125
|
+
/**
|
|
126
|
+
* The billing mode a registered provider declared, with its provenance, for
|
|
127
|
+
* `aqe health` to render as "external — <mode> (declared by <source>)".
|
|
128
|
+
* Returns `undefined` for a type that is not registered.
|
|
129
|
+
*/
|
|
130
|
+
export declare function registeredBillingDeclaration(type: LLMProviderType): {
|
|
131
|
+
mode: BillingMode;
|
|
132
|
+
source: ProviderRegistrationSource;
|
|
133
|
+
detail?: string;
|
|
134
|
+
} | undefined;
|
|
135
|
+
//# sourceMappingURL=provider-registry.d.ts.map
|