@mastra/core 0.24.5 → 0.24.6-alpha.0
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/CHANGELOG.md +306 -0
- package/dist/agent/agent.d.ts +8 -6
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +2 -0
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +13 -13
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
- package/dist/agent/test-utils.d.ts +4 -3
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/schema.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +8 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +36 -36
- package/dist/ai-tracing/index.js +1 -1
- package/dist/chunk-3PSWNGBF.js +3 -0
- package/dist/{chunk-ZV5CC35D.js.map → chunk-3PSWNGBF.js.map} +1 -1
- package/dist/{chunk-XHKMGOON.cjs → chunk-42RUESSD.cjs} +204 -150
- package/dist/chunk-42RUESSD.cjs.map +1 -0
- package/dist/{chunk-UD7DS7OY.cjs → chunk-46XGIEXM.cjs} +4 -4
- package/dist/{chunk-UD7DS7OY.cjs.map → chunk-46XGIEXM.cjs.map} +1 -1
- package/dist/{chunk-HGNRQ3OG.js → chunk-5O52O25J.js} +15 -8
- package/dist/chunk-5O52O25J.js.map +1 -0
- package/dist/{chunk-OLERJ2OU.js → chunk-6D2K2CAA.js} +7 -5
- package/dist/chunk-6D2K2CAA.js.map +1 -0
- package/dist/chunk-6XCINXZ7.cjs +194 -0
- package/dist/chunk-6XCINXZ7.cjs.map +1 -0
- package/dist/chunk-BJ6XIEC6.js +13 -0
- package/dist/chunk-BJ6XIEC6.js.map +1 -0
- package/dist/chunk-BWYU7D33.js +192 -0
- package/dist/chunk-BWYU7D33.js.map +1 -0
- package/dist/{chunk-R7UDZZA5.cjs → chunk-CT2DMHGC.cjs} +8 -8
- package/dist/{chunk-R7UDZZA5.cjs.map → chunk-CT2DMHGC.cjs.map} +1 -1
- package/dist/{chunk-YSQE5IHK.cjs → chunk-CYEQK4PM.cjs} +10 -8
- package/dist/chunk-CYEQK4PM.cjs.map +1 -0
- package/dist/{chunk-FCJ5INK7.js → chunk-DHLW4AP7.js} +3 -3
- package/dist/{chunk-FCJ5INK7.js.map → chunk-DHLW4AP7.js.map} +1 -1
- package/dist/{chunk-4UOIJRD6.cjs → chunk-GZDIHQDK.cjs} +4 -4
- package/dist/{chunk-4UOIJRD6.cjs.map → chunk-GZDIHQDK.cjs.map} +1 -1
- package/dist/{chunk-WCHE6FJ7.js → chunk-HCCXJ5YJ.js} +111 -6
- package/dist/chunk-HCCXJ5YJ.js.map +1 -0
- package/dist/{chunk-34ZCWSUA.js → chunk-HSX2K7HB.js} +15 -14
- package/dist/chunk-HSX2K7HB.js.map +1 -0
- package/dist/{chunk-LZFCR2SE.cjs → chunk-IAJHRFO4.cjs} +4 -4
- package/dist/{chunk-LZFCR2SE.cjs.map → chunk-IAJHRFO4.cjs.map} +1 -1
- package/dist/{chunk-4HQPVSGA.cjs → chunk-ICF3MCIN.cjs} +64 -12
- package/dist/chunk-ICF3MCIN.cjs.map +1 -0
- package/dist/{chunk-N2DOZAFH.js → chunk-INOOZ2A2.js} +760 -508
- package/dist/chunk-INOOZ2A2.js.map +1 -0
- package/dist/{chunk-3JX2Y3WH.cjs → chunk-IWU4YSYT.cjs} +16 -15
- package/dist/chunk-IWU4YSYT.cjs.map +1 -0
- package/dist/{chunk-3KVI2HLS.cjs → chunk-KWF3J2Q4.cjs} +11 -11
- package/dist/{chunk-3KVI2HLS.cjs.map → chunk-KWF3J2Q4.cjs.map} +1 -1
- package/dist/{chunk-TEW3ODXX.js → chunk-LAQQETGP.js} +36 -34
- package/dist/chunk-LAQQETGP.js.map +1 -0
- package/dist/{chunk-EUNOQ7HN.js → chunk-MRSBLBQ5.js} +4 -4
- package/dist/{chunk-EUNOQ7HN.js.map → chunk-MRSBLBQ5.js.map} +1 -1
- package/dist/{chunk-LLSLFDO6.js → chunk-NRQC7DQW.js} +57 -5
- package/dist/chunk-NRQC7DQW.js.map +1 -0
- package/dist/{chunk-WBAXXG34.cjs → chunk-PAOBGBU7.cjs} +112 -5
- package/dist/chunk-PAOBGBU7.cjs.map +1 -0
- package/dist/chunk-PE3V7GUL.cjs +4 -0
- package/dist/{chunk-LJFJTTZQ.cjs.map → chunk-PE3V7GUL.cjs.map} +1 -1
- package/dist/{chunk-DOLSYVNJ.cjs → chunk-PIH5FBNQ.cjs} +12 -12
- package/dist/{chunk-DOLSYVNJ.cjs.map → chunk-PIH5FBNQ.cjs.map} +1 -1
- package/dist/{chunk-4SXWN3RR.js → chunk-Q6LWNLAJ.js} +203 -149
- package/dist/chunk-Q6LWNLAJ.js.map +1 -0
- package/dist/{chunk-SL7VKAQ3.js → chunk-R6XC4DV5.js} +7 -7
- package/dist/chunk-R6XC4DV5.js.map +1 -0
- package/dist/{chunk-WNFLWMEP.cjs → chunk-RJOVFHWN.cjs} +765 -511
- package/dist/chunk-RJOVFHWN.cjs.map +1 -0
- package/dist/chunk-UCPGYU55.cjs +15 -0
- package/dist/chunk-UCPGYU55.cjs.map +1 -0
- package/dist/{chunk-K7MEUZ3O.js → chunk-UWTYVVVZ.js} +3 -3
- package/dist/{chunk-K7MEUZ3O.js.map → chunk-UWTYVVVZ.js.map} +1 -1
- package/dist/{chunk-ZISECZZO.js → chunk-VHEA3YXS.js} +2 -2
- package/dist/chunk-VHEA3YXS.js.map +1 -0
- package/dist/chunk-VXHOOZSK.js +446 -0
- package/dist/chunk-VXHOOZSK.js.map +1 -0
- package/dist/{chunk-NUAURT4I.cjs → chunk-W4UVO3HL.cjs} +2 -2
- package/dist/chunk-W4UVO3HL.cjs.map +1 -0
- package/dist/{chunk-ZIHEKHUB.js → chunk-WIMFJ2BA.js} +3 -3
- package/dist/{chunk-ZIHEKHUB.js.map → chunk-WIMFJ2BA.js.map} +1 -1
- package/dist/{chunk-LRSB62Z6.cjs → chunk-X7F4CSGR.cjs} +15 -8
- package/dist/chunk-X7F4CSGR.cjs.map +1 -0
- package/dist/{chunk-WUFFST2N.cjs → chunk-XDMQQZNX.cjs} +70 -68
- package/dist/chunk-XDMQQZNX.cjs.map +1 -0
- package/dist/chunk-XWGHD4C7.cjs +450 -0
- package/dist/chunk-XWGHD4C7.cjs.map +1 -0
- package/dist/{chunk-FZXAPBVV.js → chunk-Z6QCWTTO.js} +3 -3
- package/dist/{chunk-FZXAPBVV.js.map → chunk-Z6QCWTTO.js.map} +1 -1
- package/dist/{chunk-GWACPQ56.js → chunk-ZIWN73GQ.js} +5 -5
- package/dist/{chunk-GWACPQ56.js.map → chunk-ZIWN73GQ.js.map} +1 -1
- package/dist/{chunk-IJRERAWQ.cjs → chunk-ZOYE65RA.cjs} +8 -8
- package/dist/chunk-ZOYE65RA.cjs.map +1 -0
- package/dist/index.cjs +75 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -10
- package/dist/index.js.map +1 -1
- package/dist/llm/index.cjs +24 -8
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -1
- package/dist/llm/model/gateways/base.d.ts +9 -4
- package/dist/llm/model/gateways/base.d.ts.map +1 -1
- package/dist/llm/model/gateways/index.d.ts +3 -1
- package/dist/llm/model/gateways/index.d.ts.map +1 -1
- package/dist/llm/model/gateways/models-dev.d.ts +3 -2
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts +4 -3
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/provider-registry.d.ts +11 -1
- package/dist/llm/model/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +324 -29
- package/dist/llm/model/registry-generator.d.ts +12 -0
- package/dist/llm/model/registry-generator.d.ts.map +1 -1
- package/dist/llm/model/resolve-model.d.ts.map +1 -1
- package/dist/llm/model/router.d.ts +6 -1
- package/dist/llm/model/router.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/network/index.d.ts +6 -6
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/generateText.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/types.d.ts +8 -0
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +36 -36
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +24 -24
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +12 -12
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +36 -36
- package/dist/loop/workflows/schema.d.ts +16 -16
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +23 -0
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/memory/types.d.ts +3 -2
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-LJ4O6FNF.js +3 -0
- package/dist/{models-dev-BL5TAKE6.js.map → models-dev-LJ4O6FNF.js.map} +1 -1
- package/dist/models-dev-T2CXOEDH.cjs +12 -0
- package/dist/{models-dev-HZ3LZHPX.cjs.map → models-dev-T2CXOEDH.cjs.map} +1 -1
- package/dist/netlify-BAEMIQNH.cjs +12 -0
- package/dist/{netlify-TX6V7SJJ.cjs.map → netlify-BAEMIQNH.cjs.map} +1 -1
- package/dist/netlify-L7AZ74PV.js +3 -0
- package/dist/{netlify-VJXBII33.js.map → netlify-L7AZ74PV.js.map} +1 -1
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-RUDYHG7J.cjs +40 -0
- package/dist/provider-registry-RUDYHG7J.cjs.map +1 -0
- package/dist/provider-registry-THITZUJ7.js +3 -0
- package/dist/provider-registry-THITZUJ7.js.map +1 -0
- package/dist/provider-registry.json +705 -68
- package/dist/{registry-generator-6WVOHM2L.cjs → registry-generator-DL42NMBM.cjs} +23 -6
- package/dist/registry-generator-DL42NMBM.cjs.map +1 -0
- package/dist/{registry-generator-DXRSYYYT.js → registry-generator-I6S4ARS6.js} +23 -7
- package/dist/registry-generator-I6S4ARS6.js.map +1 -0
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +9 -9
- package/dist/scores/index.js +2 -2
- package/dist/scores/scoreTraces/index.cjs +8 -8
- package/dist/scores/scoreTraces/index.js +3 -3
- package/dist/server/composite-auth.d.ts +9 -0
- package/dist/server/composite-auth.d.ts.map +1 -0
- package/dist/server/index.cjs +83 -1
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +82 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/simple-auth.d.ts +32 -0
- package/dist/server/simple-auth.d.ts.map +1 -0
- package/dist/storage/index.cjs +3 -3
- package/dist/storage/index.js +1 -1
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +7 -2
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/index.cjs +2 -2
- package/dist/tools/index.js +1 -1
- package/dist/tools/stream.d.ts +1 -0
- package/dist/tools/stream.d.ts.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.js +1 -1
- package/dist/vector/filter/index.cjs +7 -189
- package/dist/vector/filter/index.cjs.map +1 -1
- package/dist/vector/filter/index.js +1 -190
- package/dist/vector/filter/index.js.map +1 -1
- package/dist/vector/index.cjs +9 -4
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/index.js +2 -1
- package/dist/vector/types.d.ts +86 -3
- package/dist/vector/types.d.ts.map +1 -1
- package/dist/vector/vector.d.ts +39 -2
- package/dist/vector/vector.d.ts.map +1 -1
- package/dist/voice/aisdk/index.d.ts +3 -0
- package/dist/voice/aisdk/index.d.ts.map +1 -0
- package/dist/voice/aisdk/speech.d.ts +23 -0
- package/dist/voice/aisdk/speech.d.ts.map +1 -0
- package/dist/voice/aisdk/transcription.d.ts +22 -0
- package/dist/voice/aisdk/transcription.d.ts.map +1 -0
- package/dist/voice/composite-voice.d.ts +3 -2
- package/dist/voice/composite-voice.d.ts.map +1 -1
- package/dist/voice/index.cjs +12 -4
- package/dist/voice/index.d.ts +1 -0
- package/dist/voice/index.d.ts.map +1 -1
- package/dist/voice/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +14 -14
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/legacy/machine.d.ts +1 -1
- package/dist/workflows/legacy/workflow-instance.d.ts +2 -2
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +2 -0
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/llm/model/provider-types.generated.d.ts +324 -29
- package/dist/chunk-34ZCWSUA.js.map +0 -1
- package/dist/chunk-3JX2Y3WH.cjs.map +0 -1
- package/dist/chunk-4HQPVSGA.cjs.map +0 -1
- package/dist/chunk-4SXWN3RR.js.map +0 -1
- package/dist/chunk-HF3GZRFP.cjs +0 -9
- package/dist/chunk-HF3GZRFP.cjs.map +0 -1
- package/dist/chunk-HGNRQ3OG.js.map +0 -1
- package/dist/chunk-IJRERAWQ.cjs.map +0 -1
- package/dist/chunk-LJFJTTZQ.cjs +0 -4
- package/dist/chunk-LLSLFDO6.js.map +0 -1
- package/dist/chunk-LRSB62Z6.cjs.map +0 -1
- package/dist/chunk-N2DOZAFH.js.map +0 -1
- package/dist/chunk-NUAURT4I.cjs.map +0 -1
- package/dist/chunk-OLERJ2OU.js.map +0 -1
- package/dist/chunk-RKXWLG33.js +0 -7
- package/dist/chunk-RKXWLG33.js.map +0 -1
- package/dist/chunk-SL7VKAQ3.js.map +0 -1
- package/dist/chunk-TEW3ODXX.js.map +0 -1
- package/dist/chunk-WBAXXG34.cjs.map +0 -1
- package/dist/chunk-WCHE6FJ7.js.map +0 -1
- package/dist/chunk-WNFLWMEP.cjs.map +0 -1
- package/dist/chunk-WUFFST2N.cjs.map +0 -1
- package/dist/chunk-XHKMGOON.cjs.map +0 -1
- package/dist/chunk-YSQE5IHK.cjs.map +0 -1
- package/dist/chunk-ZISECZZO.js.map +0 -1
- package/dist/chunk-ZV5CC35D.js +0 -3
- package/dist/models-dev-BL5TAKE6.js +0 -3
- package/dist/models-dev-HZ3LZHPX.cjs +0 -12
- package/dist/netlify-TX6V7SJJ.cjs +0 -12
- package/dist/netlify-VJXBII33.js +0 -3
- package/dist/registry-generator-6WVOHM2L.cjs.map +0 -1
- package/dist/registry-generator-DXRSYYYT.js.map +0 -1
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkIJRERAWQ_cjs = require('./chunk-IJRERAWQ.cjs');
|
|
4
|
-
var chunk3JX2Y3WH_cjs = require('./chunk-3JX2Y3WH.cjs');
|
|
5
|
-
var chunkGPWMM745_cjs = require('./chunk-GPWMM745.cjs');
|
|
6
|
-
var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
|
|
7
3
|
var fs = require('fs');
|
|
8
4
|
var module$1 = require('module');
|
|
9
5
|
var os = require('os');
|
|
10
6
|
var path = require('path');
|
|
11
|
-
var crypto = require('crypto');
|
|
12
|
-
var openaiCompatibleV5 = require('@ai-sdk/openai-compatible-v5');
|
|
13
|
-
var googleV5 = require('@ai-sdk/google-v5');
|
|
14
|
-
var openaiV5 = require('@ai-sdk/openai-v5');
|
|
15
7
|
|
|
16
8
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
17
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +12,8 @@ var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
|
20
12
|
var os__default = /*#__PURE__*/_interopDefault(os);
|
|
21
13
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
22
14
|
|
|
15
|
+
// src/llm/model/provider-registry.ts
|
|
16
|
+
|
|
23
17
|
// src/llm/model/provider-registry.json
|
|
24
18
|
var provider_registry_default = {
|
|
25
19
|
providers: {
|
|
@@ -28,7 +22,13 @@ var provider_registry_default = {
|
|
|
28
22
|
apiKeyEnvVar: "MOONSHOT_API_KEY",
|
|
29
23
|
apiKeyHeader: "Authorization",
|
|
30
24
|
name: "Moonshot AI (China)",
|
|
31
|
-
models: [
|
|
25
|
+
models: [
|
|
26
|
+
"kimi-k2-0711-preview",
|
|
27
|
+
"kimi-k2-0905-preview",
|
|
28
|
+
"kimi-k2-thinking",
|
|
29
|
+
"kimi-k2-thinking-turbo",
|
|
30
|
+
"kimi-k2-turbo-preview"
|
|
31
|
+
],
|
|
32
32
|
docUrl: "https://platform.moonshot.cn/docs/api/chat",
|
|
33
33
|
gateway: "models.dev"
|
|
34
34
|
},
|
|
@@ -46,7 +46,13 @@ var provider_registry_default = {
|
|
|
46
46
|
apiKeyEnvVar: "MOONSHOT_API_KEY",
|
|
47
47
|
apiKeyHeader: "Authorization",
|
|
48
48
|
name: "Moonshot AI",
|
|
49
|
-
models: [
|
|
49
|
+
models: [
|
|
50
|
+
"kimi-k2-0711-preview",
|
|
51
|
+
"kimi-k2-0905-preview",
|
|
52
|
+
"kimi-k2-thinking",
|
|
53
|
+
"kimi-k2-thinking-turbo",
|
|
54
|
+
"kimi-k2-turbo-preview"
|
|
55
|
+
],
|
|
50
56
|
docUrl: "https://platform.moonshot.ai/docs/api/chat",
|
|
51
57
|
gateway: "models.dev"
|
|
52
58
|
},
|
|
@@ -127,6 +133,8 @@ var provider_registry_default = {
|
|
|
127
133
|
"grok-3-mini-fast-latest",
|
|
128
134
|
"grok-3-mini-latest",
|
|
129
135
|
"grok-4",
|
|
136
|
+
"grok-4-1-fast",
|
|
137
|
+
"grok-4-1-fast-non-reasoning",
|
|
130
138
|
"grok-4-fast",
|
|
131
139
|
"grok-4-fast-non-reasoning",
|
|
132
140
|
"grok-beta",
|
|
@@ -162,17 +170,21 @@ var provider_registry_default = {
|
|
|
162
170
|
"deepseek-ai/deepseek-v3.1-terminus",
|
|
163
171
|
"google/gemma-3-27b-it",
|
|
164
172
|
"microsoft/phi-4-mini-instruct",
|
|
173
|
+
"minimaxai/minimax-m2",
|
|
165
174
|
"moonshotai/kimi-k2-instruct",
|
|
166
175
|
"moonshotai/kimi-k2-instruct-0905",
|
|
167
176
|
"nvidia/cosmos-nemotron-34b",
|
|
168
177
|
"nvidia/llama-3.1-nemotron-ultra-253b-v1",
|
|
169
178
|
"nvidia/llama-embed-nemotron-8b",
|
|
170
179
|
"nvidia/nemoretriever-ocr-v1",
|
|
180
|
+
"nvidia/nvidia-nemotron-nano-9b-v2",
|
|
171
181
|
"nvidia/parakeet-tdt-0.6b-v2",
|
|
172
182
|
"openai/gpt-oss-120b",
|
|
173
183
|
"openai/whisper-large-v3",
|
|
174
184
|
"qwen/qwen3-235b-a22b",
|
|
175
|
-
"qwen/qwen3-coder-480b-a35b-instruct"
|
|
185
|
+
"qwen/qwen3-coder-480b-a35b-instruct",
|
|
186
|
+
"qwen/qwen3-next-80b-a3b-instruct",
|
|
187
|
+
"qwen/qwen3-next-80b-a3b-thinking"
|
|
176
188
|
],
|
|
177
189
|
docUrl: "https://docs.api.nvidia.com/nim/",
|
|
178
190
|
gateway: "models.dev"
|
|
@@ -216,7 +228,6 @@ var provider_registry_default = {
|
|
|
216
228
|
mistral: {
|
|
217
229
|
url: "https://api.mistral.ai/v1",
|
|
218
230
|
apiKeyEnvVar: "MISTRAL_API_KEY",
|
|
219
|
-
apiKeyHeader: "Authorization",
|
|
220
231
|
name: "Mistral",
|
|
221
232
|
models: [
|
|
222
233
|
"codestral-latest",
|
|
@@ -267,7 +278,7 @@ var provider_registry_default = {
|
|
|
267
278
|
"anthropic/claude-4-sonnet",
|
|
268
279
|
"anthropic/claude-4.5-sonnet",
|
|
269
280
|
"anthropic/claude-haiku-4.5",
|
|
270
|
-
"
|
|
281
|
+
"anthropic/claude-opus-4.5",
|
|
271
282
|
"deepseek/deepseek-r1",
|
|
272
283
|
"deepseek/deepseek-r1-distill-llama-70b",
|
|
273
284
|
"deepseek/deepseek-v3.1-terminus",
|
|
@@ -280,9 +291,11 @@ var provider_registry_default = {
|
|
|
280
291
|
"google/gemini-2.5-flash-lite-preview-09-2025",
|
|
281
292
|
"google/gemini-2.5-flash-preview-09-2025",
|
|
282
293
|
"google/gemini-2.5-pro",
|
|
294
|
+
"google/gemini-3-pro-preview",
|
|
283
295
|
"meta/llama-3.3-70b",
|
|
284
296
|
"meta/llama-4-maverick",
|
|
285
297
|
"meta/llama-4-scout",
|
|
298
|
+
"minimax/minimax-m2",
|
|
286
299
|
"mistral/codestral",
|
|
287
300
|
"mistral/magistral-medium",
|
|
288
301
|
"mistral/magistral-small",
|
|
@@ -337,10 +350,10 @@ var provider_registry_default = {
|
|
|
337
350
|
gateway: "models.dev"
|
|
338
351
|
},
|
|
339
352
|
nebius: {
|
|
340
|
-
url: "https://api.
|
|
353
|
+
url: "https://api.tokenfactory.nebius.com/v1",
|
|
341
354
|
apiKeyEnvVar: "NEBIUS_API_KEY",
|
|
342
355
|
apiKeyHeader: "Authorization",
|
|
343
|
-
name: "Nebius
|
|
356
|
+
name: "Nebius Token Factory",
|
|
344
357
|
models: [
|
|
345
358
|
"NousResearch/hermes-4-405b",
|
|
346
359
|
"NousResearch/hermes-4-70b",
|
|
@@ -358,7 +371,7 @@ var provider_registry_default = {
|
|
|
358
371
|
"zai-org/glm-4.5",
|
|
359
372
|
"zai-org/glm-4.5-air"
|
|
360
373
|
],
|
|
361
|
-
docUrl: "https://docs.
|
|
374
|
+
docUrl: "https://docs.tokenfactory.nebius.com/",
|
|
362
375
|
gateway: "models.dev"
|
|
363
376
|
},
|
|
364
377
|
deepseek: {
|
|
@@ -459,7 +472,8 @@ var provider_registry_default = {
|
|
|
459
472
|
"qwen-2.5-vl",
|
|
460
473
|
"qwen3-235b",
|
|
461
474
|
"qwen3-4b",
|
|
462
|
-
"venice-uncensored"
|
|
475
|
+
"venice-uncensored",
|
|
476
|
+
"zai-org-glm-4.6"
|
|
463
477
|
],
|
|
464
478
|
docUrl: "https://docs.venice.ai",
|
|
465
479
|
gateway: "models.dev"
|
|
@@ -470,39 +484,58 @@ var provider_registry_default = {
|
|
|
470
484
|
apiKeyHeader: "Authorization",
|
|
471
485
|
name: "Chutes",
|
|
472
486
|
models: [
|
|
487
|
+
"Alibaba-NLP/Tongyi-DeepResearch-30B-A3B",
|
|
488
|
+
"ArliAI/QwQ-32B-ArliAI-RpR-v1",
|
|
489
|
+
"MiniMaxAI/MiniMax-M2",
|
|
490
|
+
"NousResearch/DeepHermes-3-Mistral-24B-Preview",
|
|
491
|
+
"NousResearch/Hermes-4-14B",
|
|
492
|
+
"NousResearch/Hermes-4-405B-FP8",
|
|
493
|
+
"NousResearch/Hermes-4-70B",
|
|
494
|
+
"OpenGVLab/InternVL3-78B",
|
|
495
|
+
"Qwen/Qwen2.5-72B-Instruct",
|
|
496
|
+
"Qwen/Qwen2.5-Coder-32B-Instruct",
|
|
497
|
+
"Qwen/Qwen2.5-VL-32B-Instruct",
|
|
498
|
+
"Qwen/Qwen2.5-VL-72B-Instruct",
|
|
499
|
+
"Qwen/Qwen3-14B",
|
|
500
|
+
"Qwen/Qwen3-235B-A22B",
|
|
473
501
|
"Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
474
502
|
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
475
503
|
"Qwen/Qwen3-30B-A3B",
|
|
476
504
|
"Qwen/Qwen3-30B-A3B-Instruct-2507",
|
|
477
|
-
"Qwen/Qwen3-
|
|
505
|
+
"Qwen/Qwen3-32B",
|
|
478
506
|
"Qwen/Qwen3-Coder-30B-A3B-Instruct",
|
|
479
507
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
|
|
480
508
|
"Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
481
|
-
"Qwen/Qwen3-
|
|
482
|
-
"
|
|
509
|
+
"Qwen/Qwen3-VL-235B-A22B-Instruct",
|
|
510
|
+
"Qwen/Qwen3-VL-235B-A22B-Thinking",
|
|
511
|
+
"chutesai/Mistral-Small-3.1-24B-Instruct-2503",
|
|
483
512
|
"chutesai/Mistral-Small-3.2-24B-Instruct-2506",
|
|
513
|
+
"deepseek-ai/DeepSeek-R1",
|
|
484
514
|
"deepseek-ai/DeepSeek-R1-0528",
|
|
485
515
|
"deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
|
|
486
516
|
"deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
|
|
517
|
+
"deepseek-ai/DeepSeek-V3",
|
|
487
518
|
"deepseek-ai/DeepSeek-V3-0324",
|
|
488
519
|
"deepseek-ai/DeepSeek-V3.1",
|
|
489
520
|
"deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
490
|
-
"deepseek-ai/DeepSeek-V3.1-turbo",
|
|
491
|
-
"deepseek-ai/DeepSeek-V3.1:THINKING",
|
|
492
521
|
"deepseek-ai/DeepSeek-V3.2-Exp",
|
|
493
522
|
"meituan-longcat/LongCat-Flash-Chat-FP8",
|
|
494
|
-
"
|
|
523
|
+
"microsoft/MAI-DS-R1-FP8",
|
|
495
524
|
"moonshotai/Kimi-K2-Instruct-0905",
|
|
496
|
-
"moonshotai/Kimi-K2-
|
|
497
|
-
"moonshotai/Kimi-VL-A3B-Thinking",
|
|
525
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
498
526
|
"openai/gpt-oss-120b",
|
|
527
|
+
"openai/gpt-oss-20b",
|
|
528
|
+
"rednote-hilab/dots.ocr",
|
|
499
529
|
"tngtech/DeepSeek-R1T-Chimera",
|
|
500
530
|
"tngtech/DeepSeek-TNG-R1T2-Chimera",
|
|
531
|
+
"unsloth/Mistral-Nemo-Instruct-2407",
|
|
532
|
+
"unsloth/Mistral-Small-24B-Instruct-2501",
|
|
533
|
+
"unsloth/gemma-3-12b-it",
|
|
534
|
+
"unsloth/gemma-3-27b-it",
|
|
535
|
+
"unsloth/gemma-3-4b-it",
|
|
536
|
+
"zai-org/GLM-4.5",
|
|
501
537
|
"zai-org/GLM-4.5-Air",
|
|
502
|
-
"zai-org/GLM-4.
|
|
503
|
-
"zai-org/GLM-4.5-turbo",
|
|
504
|
-
"zai-org/GLM-4.6-FP8",
|
|
505
|
-
"zai-org/GLM-4.6-turbo"
|
|
538
|
+
"zai-org/GLM-4.6"
|
|
506
539
|
],
|
|
507
540
|
docUrl: "https://llm.chutes.ai/v1/models",
|
|
508
541
|
gateway: "models.dev"
|
|
@@ -614,10 +647,97 @@ var provider_registry_default = {
|
|
|
614
647
|
apiKeyEnvVar: "BASETEN_API_KEY",
|
|
615
648
|
apiKeyHeader: "Authorization",
|
|
616
649
|
name: "Baseten",
|
|
617
|
-
models: [
|
|
650
|
+
models: [
|
|
651
|
+
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
652
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
653
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
654
|
+
"zai-org/GLM-4.6"
|
|
655
|
+
],
|
|
618
656
|
docUrl: "https://docs.baseten.co/development/model-apis/overview",
|
|
619
657
|
gateway: "models.dev"
|
|
620
658
|
},
|
|
659
|
+
siliconflow: {
|
|
660
|
+
url: "https://api.siliconflow.com/v1",
|
|
661
|
+
apiKeyEnvVar: "SILICONFLOW_API_KEY",
|
|
662
|
+
apiKeyHeader: "Authorization",
|
|
663
|
+
name: "SiliconFlow",
|
|
664
|
+
models: [
|
|
665
|
+
"baidu-ernie-4.5-300b-a47b",
|
|
666
|
+
"bytedance-seed-seed-oss-36b-instruct",
|
|
667
|
+
"deepseek-ai-deepseek-r1",
|
|
668
|
+
"deepseek-ai-deepseek-r1-distill-qwen-14b",
|
|
669
|
+
"deepseek-ai-deepseek-r1-distill-qwen-32b",
|
|
670
|
+
"deepseek-ai-deepseek-r1-distill-qwen-7b",
|
|
671
|
+
"deepseek-ai-deepseek-v3",
|
|
672
|
+
"deepseek-ai-deepseek-v3.1",
|
|
673
|
+
"deepseek-ai-deepseek-v3.1-terminus",
|
|
674
|
+
"deepseek-ai-deepseek-v3.2-exp",
|
|
675
|
+
"deepseek-ai-deepseek-vl2",
|
|
676
|
+
"inclusionai-ling-flash-2.0",
|
|
677
|
+
"inclusionai-ling-mini-2.0",
|
|
678
|
+
"inclusionai-ring-flash-2.0",
|
|
679
|
+
"meta-llama-meta-llama-3.1-8b-instruct",
|
|
680
|
+
"minimaxai-minimax-m1-80k",
|
|
681
|
+
"minimaxai-minimax-m2",
|
|
682
|
+
"moonshotai-kimi-dev-72b",
|
|
683
|
+
"moonshotai-kimi-k2-instruct",
|
|
684
|
+
"moonshotai-kimi-k2-instruct-0905",
|
|
685
|
+
"moonshotai-kimi-k2-thinking",
|
|
686
|
+
"nex-agi-deepseek-v3.1-nex-n1",
|
|
687
|
+
"openai-gpt-oss-120b",
|
|
688
|
+
"openai-gpt-oss-20b",
|
|
689
|
+
"qwen-qwen2.5-14b-instruct",
|
|
690
|
+
"qwen-qwen2.5-32b-instruct",
|
|
691
|
+
"qwen-qwen2.5-72b-instruct",
|
|
692
|
+
"qwen-qwen2.5-72b-instruct-128k",
|
|
693
|
+
"qwen-qwen2.5-7b-instruct",
|
|
694
|
+
"qwen-qwen2.5-coder-32b-instruct",
|
|
695
|
+
"qwen-qwen2.5-vl-32b-instruct",
|
|
696
|
+
"qwen-qwen2.5-vl-72b-instruct",
|
|
697
|
+
"qwen-qwen2.5-vl-7b-instruct",
|
|
698
|
+
"qwen-qwen3-14b",
|
|
699
|
+
"qwen-qwen3-235b-a22b",
|
|
700
|
+
"qwen-qwen3-235b-a22b-instruct-2507",
|
|
701
|
+
"qwen-qwen3-235b-a22b-thinking-2507",
|
|
702
|
+
"qwen-qwen3-30b-a3b",
|
|
703
|
+
"qwen-qwen3-30b-a3b-instruct-2507",
|
|
704
|
+
"qwen-qwen3-30b-a3b-thinking-2507",
|
|
705
|
+
"qwen-qwen3-32b",
|
|
706
|
+
"qwen-qwen3-8b",
|
|
707
|
+
"qwen-qwen3-coder-30b-a3b-instruct",
|
|
708
|
+
"qwen-qwen3-coder-480b-a35b-instruct",
|
|
709
|
+
"qwen-qwen3-next-80b-a3b-instruct",
|
|
710
|
+
"qwen-qwen3-next-80b-a3b-thinking",
|
|
711
|
+
"qwen-qwen3-omni-30b-a3b-captioner",
|
|
712
|
+
"qwen-qwen3-omni-30b-a3b-instruct",
|
|
713
|
+
"qwen-qwen3-omni-30b-a3b-thinking",
|
|
714
|
+
"qwen-qwen3-vl-235b-a22b-instruct",
|
|
715
|
+
"qwen-qwen3-vl-235b-a22b-thinking",
|
|
716
|
+
"qwen-qwen3-vl-30b-a3b-instruct",
|
|
717
|
+
"qwen-qwen3-vl-30b-a3b-thinking",
|
|
718
|
+
"qwen-qwen3-vl-32b-instruct",
|
|
719
|
+
"qwen-qwen3-vl-32b-thinking",
|
|
720
|
+
"qwen-qwen3-vl-8b-instruct",
|
|
721
|
+
"qwen-qwen3-vl-8b-thinking",
|
|
722
|
+
"qwen-qwq-32b",
|
|
723
|
+
"stepfun-ai-step3",
|
|
724
|
+
"tencent-hunyuan-a13b-instruct",
|
|
725
|
+
"tencent-hunyuan-mt-7b",
|
|
726
|
+
"thudm-glm-4-32b-0414",
|
|
727
|
+
"thudm-glm-4-9b-0414",
|
|
728
|
+
"thudm-glm-4.1v-9b-thinking",
|
|
729
|
+
"thudm-glm-z1-32b-0414",
|
|
730
|
+
"thudm-glm-z1-9b-0414",
|
|
731
|
+
"z-ai-glm-4.5",
|
|
732
|
+
"z-ai-glm-4.5-air",
|
|
733
|
+
"zai-org-glm-4.5",
|
|
734
|
+
"zai-org-glm-4.5-air",
|
|
735
|
+
"zai-org-glm-4.5v",
|
|
736
|
+
"zai-org-glm-4.6"
|
|
737
|
+
],
|
|
738
|
+
docUrl: "https://cloud.siliconflow.com/models",
|
|
739
|
+
gateway: "models.dev"
|
|
740
|
+
},
|
|
621
741
|
huggingface: {
|
|
622
742
|
url: "https://router.huggingface.co/v1",
|
|
623
743
|
apiKeyEnvVar: "HF_TOKEN",
|
|
@@ -648,19 +768,26 @@ var provider_registry_default = {
|
|
|
648
768
|
apiKeyHeader: "Authorization",
|
|
649
769
|
name: "OpenCode Zen",
|
|
650
770
|
models: [
|
|
651
|
-
"
|
|
771
|
+
"alpha-doubao-seed-code",
|
|
772
|
+
"alpha-gd4",
|
|
773
|
+
"alpha-minimax-m2",
|
|
652
774
|
"big-pickle",
|
|
653
775
|
"claude-3-5-haiku",
|
|
654
776
|
"claude-haiku-4-5",
|
|
655
777
|
"claude-opus-4-1",
|
|
778
|
+
"claude-opus-4-5",
|
|
656
779
|
"claude-sonnet-4",
|
|
657
780
|
"claude-sonnet-4-5",
|
|
781
|
+
"gemini-3-pro",
|
|
658
782
|
"glm-4.6",
|
|
659
783
|
"gpt-5",
|
|
660
784
|
"gpt-5-codex",
|
|
785
|
+
"gpt-5-nano",
|
|
786
|
+
"gpt-5.1",
|
|
787
|
+
"gpt-5.1-codex",
|
|
661
788
|
"grok-code",
|
|
662
789
|
"kimi-k2",
|
|
663
|
-
"
|
|
790
|
+
"kimi-k2-thinking",
|
|
664
791
|
"qwen3-coder"
|
|
665
792
|
],
|
|
666
793
|
docUrl: "https://opencode.ai/docs/zen",
|
|
@@ -690,6 +817,15 @@ var provider_registry_default = {
|
|
|
690
817
|
docUrl: "https://fastrouter.ai/models",
|
|
691
818
|
gateway: "models.dev"
|
|
692
819
|
},
|
|
820
|
+
minimax: {
|
|
821
|
+
url: "https://api.minimax.io/anthropic/v1",
|
|
822
|
+
apiKeyEnvVar: "MINIMAX_API_KEY",
|
|
823
|
+
apiKeyHeader: "Authorization",
|
|
824
|
+
name: "Minimax",
|
|
825
|
+
models: ["MiniMax-M2"],
|
|
826
|
+
docUrl: "https://platform.minimax.io/docs/guides/quickstart",
|
|
827
|
+
gateway: "models.dev"
|
|
828
|
+
},
|
|
693
829
|
google: {
|
|
694
830
|
apiKeyEnvVar: "GOOGLE_GENERATIVE_AI_API_KEY",
|
|
695
831
|
name: "Google",
|
|
@@ -713,6 +849,7 @@ var provider_registry_default = {
|
|
|
713
849
|
"gemini-2.5-pro-preview-05-06",
|
|
714
850
|
"gemini-2.5-pro-preview-06-05",
|
|
715
851
|
"gemini-2.5-pro-preview-tts",
|
|
852
|
+
"gemini-3-pro-preview",
|
|
716
853
|
"gemini-embedding-001",
|
|
717
854
|
"gemini-flash-latest",
|
|
718
855
|
"gemini-flash-lite-latest",
|
|
@@ -773,6 +910,10 @@ var provider_registry_default = {
|
|
|
773
910
|
"gpt-5-mini",
|
|
774
911
|
"gpt-5-nano",
|
|
775
912
|
"gpt-5-pro",
|
|
913
|
+
"gpt-5.1",
|
|
914
|
+
"gpt-5.1-chat-latest",
|
|
915
|
+
"gpt-5.1-codex",
|
|
916
|
+
"gpt-5.1-codex-mini",
|
|
776
917
|
"o1",
|
|
777
918
|
"o1-mini",
|
|
778
919
|
"o1-preview",
|
|
@@ -818,6 +959,7 @@ var provider_registry_default = {
|
|
|
818
959
|
"anthropic/claude-haiku-4.5",
|
|
819
960
|
"anthropic/claude-opus-4",
|
|
820
961
|
"anthropic/claude-opus-4.1",
|
|
962
|
+
"anthropic/claude-opus-4.5",
|
|
821
963
|
"anthropic/claude-sonnet-4",
|
|
822
964
|
"anthropic/claude-sonnet-4.5",
|
|
823
965
|
"cognitivecomputations/dolphin3.0-mistral-24b",
|
|
@@ -842,18 +984,20 @@ var provider_registry_default = {
|
|
|
842
984
|
"google/gemini-2.5-pro",
|
|
843
985
|
"google/gemini-2.5-pro-preview-05-06",
|
|
844
986
|
"google/gemini-2.5-pro-preview-06-05",
|
|
987
|
+
"google/gemini-3-pro-preview",
|
|
845
988
|
"google/gemma-2-9b-it:free",
|
|
846
989
|
"google/gemma-3-12b-it",
|
|
847
990
|
"google/gemma-3-27b-it",
|
|
848
991
|
"google/gemma-3n-e4b-it",
|
|
849
992
|
"google/gemma-3n-e4b-it:free",
|
|
993
|
+
"kwaipilot/kat-coder-pro:free",
|
|
850
994
|
"meta-llama/llama-3.2-11b-vision-instruct",
|
|
851
995
|
"meta-llama/llama-3.3-70b-instruct:free",
|
|
852
996
|
"meta-llama/llama-4-scout:free",
|
|
853
997
|
"microsoft/mai-ds-r1:free",
|
|
854
998
|
"minimax/minimax-01",
|
|
855
999
|
"minimax/minimax-m1",
|
|
856
|
-
"minimax/minimax-m2
|
|
1000
|
+
"minimax/minimax-m2",
|
|
857
1001
|
"mistralai/codestral-2508",
|
|
858
1002
|
"mistralai/devstral-medium-2507",
|
|
859
1003
|
"mistralai/devstral-small-2505",
|
|
@@ -870,10 +1014,12 @@ var provider_registry_default = {
|
|
|
870
1014
|
"moonshotai/kimi-k2",
|
|
871
1015
|
"moonshotai/kimi-k2-0905",
|
|
872
1016
|
"moonshotai/kimi-k2-0905:exacto",
|
|
1017
|
+
"moonshotai/kimi-k2-thinking",
|
|
873
1018
|
"moonshotai/kimi-k2:free",
|
|
874
1019
|
"nousresearch/deephermes-3-llama-3-8b-preview",
|
|
875
1020
|
"nousresearch/hermes-4-405b",
|
|
876
1021
|
"nousresearch/hermes-4-70b",
|
|
1022
|
+
"nvidia/nemotron-nano-9b-v2",
|
|
877
1023
|
"openai/gpt-4.1",
|
|
878
1024
|
"openai/gpt-4.1-mini",
|
|
879
1025
|
"openai/gpt-4o-mini",
|
|
@@ -884,15 +1030,15 @@ var provider_registry_default = {
|
|
|
884
1030
|
"openai/gpt-5-mini",
|
|
885
1031
|
"openai/gpt-5-nano",
|
|
886
1032
|
"openai/gpt-5-pro",
|
|
1033
|
+
"openai/gpt-5.1",
|
|
1034
|
+
"openai/gpt-5.1-chat",
|
|
1035
|
+
"openai/gpt-5.1-codex",
|
|
1036
|
+
"openai/gpt-5.1-codex-mini",
|
|
887
1037
|
"openai/gpt-oss-120b",
|
|
888
1038
|
"openai/gpt-oss-120b:exacto",
|
|
889
1039
|
"openai/gpt-oss-20b",
|
|
1040
|
+
"openai/gpt-oss-safeguard-20b",
|
|
890
1041
|
"openai/o4-mini",
|
|
891
|
-
"openrouter/cypher-alpha:free",
|
|
892
|
-
"openrouter/horizon-alpha",
|
|
893
|
-
"openrouter/horizon-beta",
|
|
894
|
-
"openrouter/sonoma-dusk-alpha",
|
|
895
|
-
"openrouter/sonoma-sky-alpha",
|
|
896
1042
|
"qwen/qwen-2.5-coder-32b-instruct",
|
|
897
1043
|
"qwen/qwen2.5-vl-32b-instruct:free",
|
|
898
1044
|
"qwen/qwen2.5-vl-72b-instruct",
|
|
@@ -908,6 +1054,7 @@ var provider_registry_default = {
|
|
|
908
1054
|
"qwen/qwen3-32b:free",
|
|
909
1055
|
"qwen/qwen3-8b:free",
|
|
910
1056
|
"qwen/qwen3-coder",
|
|
1057
|
+
"qwen/qwen3-coder-flash",
|
|
911
1058
|
"qwen/qwen3-coder:exacto",
|
|
912
1059
|
"qwen/qwen3-coder:free",
|
|
913
1060
|
"qwen/qwen3-max",
|
|
@@ -924,6 +1071,7 @@ var provider_registry_default = {
|
|
|
924
1071
|
"x-ai/grok-3-mini-beta",
|
|
925
1072
|
"x-ai/grok-4",
|
|
926
1073
|
"x-ai/grok-4-fast",
|
|
1074
|
+
"x-ai/grok-4.1-fast",
|
|
927
1075
|
"x-ai/grok-code-fast-1",
|
|
928
1076
|
"z-ai/glm-4.5",
|
|
929
1077
|
"z-ai/glm-4.5-air",
|
|
@@ -949,7 +1097,10 @@ var provider_registry_default = {
|
|
|
949
1097
|
"inclusionai/lint-1t",
|
|
950
1098
|
"inclusionai/ring-1t",
|
|
951
1099
|
"kuaishou/kat-coder-pro-v1",
|
|
1100
|
+
"minimax/minimax-m2",
|
|
952
1101
|
"moonshotai/kimi-k2-0905",
|
|
1102
|
+
"moonshotai/kimi-k2-thinking",
|
|
1103
|
+
"moonshotai/kimi-k2-thinking-turbo",
|
|
953
1104
|
"openai/gpt-5",
|
|
954
1105
|
"openai/gpt-5-codex",
|
|
955
1106
|
"qwen/qwen3-coder-plus",
|
|
@@ -963,6 +1114,59 @@ var provider_registry_default = {
|
|
|
963
1114
|
docUrl: "https://docs.zenmux.ai",
|
|
964
1115
|
gateway: "models.dev"
|
|
965
1116
|
},
|
|
1117
|
+
ovhcloud: {
|
|
1118
|
+
url: "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
|
|
1119
|
+
apiKeyEnvVar: "OVHCLOUD_API_KEY",
|
|
1120
|
+
apiKeyHeader: "Authorization",
|
|
1121
|
+
name: "OVHcloud AI Endpoints",
|
|
1122
|
+
models: [
|
|
1123
|
+
"deepseek-r1-distill-llama-70b",
|
|
1124
|
+
"gpt-oss-120b",
|
|
1125
|
+
"gpt-oss-20b",
|
|
1126
|
+
"llama-3.1-8b-instruct",
|
|
1127
|
+
"llava-next-mistral-7b",
|
|
1128
|
+
"meta-llama-3_1-70b-instruct",
|
|
1129
|
+
"meta-llama-3_3-70b-instruct",
|
|
1130
|
+
"mistral-7b-instruct-v0.3",
|
|
1131
|
+
"mistral-nemo-instruct-2407",
|
|
1132
|
+
"mistral-small-3.2-24b-instruct-2506",
|
|
1133
|
+
"mixtral-8x7b-instruct-v0.1",
|
|
1134
|
+
"qwen2.5-coder-32b-instruct",
|
|
1135
|
+
"qwen2.5-vl-72b-instruct",
|
|
1136
|
+
"qwen3-32b",
|
|
1137
|
+
"qwen3-coder-30b-a3b-instruct"
|
|
1138
|
+
],
|
|
1139
|
+
docUrl: "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//",
|
|
1140
|
+
gateway: "models.dev"
|
|
1141
|
+
},
|
|
1142
|
+
iflowcn: {
|
|
1143
|
+
url: "https://apis.iflow.cn/v1",
|
|
1144
|
+
apiKeyEnvVar: "IFLOW_API_KEY",
|
|
1145
|
+
apiKeyHeader: "Authorization",
|
|
1146
|
+
name: "iFlow",
|
|
1147
|
+
models: [
|
|
1148
|
+
"deepseek-r1",
|
|
1149
|
+
"deepseek-v3",
|
|
1150
|
+
"deepseek-v3.1",
|
|
1151
|
+
"deepseek-v3.2",
|
|
1152
|
+
"glm-4.6",
|
|
1153
|
+
"kimi-k2",
|
|
1154
|
+
"kimi-k2-0905",
|
|
1155
|
+
"minimax-m2",
|
|
1156
|
+
"qwen3-235b",
|
|
1157
|
+
"qwen3-235b-a22b-instruct",
|
|
1158
|
+
"qwen3-235b-a22b-thinking-2507",
|
|
1159
|
+
"qwen3-32b",
|
|
1160
|
+
"qwen3-coder",
|
|
1161
|
+
"qwen3-coder-plus",
|
|
1162
|
+
"qwen3-max",
|
|
1163
|
+
"qwen3-max-preview",
|
|
1164
|
+
"qwen3-vl-plus",
|
|
1165
|
+
"tstars2.0"
|
|
1166
|
+
],
|
|
1167
|
+
docUrl: "https://platform.iflow.cn/en/docs",
|
|
1168
|
+
gateway: "models.dev"
|
|
1169
|
+
},
|
|
966
1170
|
synthetic: {
|
|
967
1171
|
url: "https://api.synthetic.new/v1",
|
|
968
1172
|
apiKeyEnvVar: "SYNTHETIC_API_KEY",
|
|
@@ -988,6 +1192,7 @@ var provider_registry_default = {
|
|
|
988
1192
|
"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
|
989
1193
|
"hf:moonshotai/Kimi-K2-Instruct",
|
|
990
1194
|
"hf:moonshotai/Kimi-K2-Instruct-0905",
|
|
1195
|
+
"hf:moonshotai/Kimi-K2-Thinking",
|
|
991
1196
|
"hf:openai/gpt-oss-120b",
|
|
992
1197
|
"hf:zai-org/GLM-4.5",
|
|
993
1198
|
"hf:zai-org/GLM-4.6"
|
|
@@ -1004,6 +1209,8 @@ var provider_registry_default = {
|
|
|
1004
1209
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
1005
1210
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
|
|
1006
1211
|
"moonshotai/Kimi-K2-Instruct",
|
|
1212
|
+
"openai/gpt-oss-120b",
|
|
1213
|
+
"openai/gpt-oss-20b",
|
|
1007
1214
|
"zai-org/GLM-4.5"
|
|
1008
1215
|
],
|
|
1009
1216
|
docUrl: "https://deepinfra.com/models",
|
|
@@ -1072,9 +1279,11 @@ var provider_registry_default = {
|
|
|
1072
1279
|
name: "Requesty",
|
|
1073
1280
|
models: [
|
|
1074
1281
|
"anthropic/claude-3-7-sonnet",
|
|
1075
|
-
"anthropic/claude-4-
|
|
1282
|
+
"anthropic/claude-haiku-4-5",
|
|
1076
1283
|
"anthropic/claude-opus-4",
|
|
1077
|
-
"anthropic/claude-opus-4-1
|
|
1284
|
+
"anthropic/claude-opus-4-1",
|
|
1285
|
+
"anthropic/claude-sonnet-4",
|
|
1286
|
+
"anthropic/claude-sonnet-4-5",
|
|
1078
1287
|
"google/gemini-2.5-flash",
|
|
1079
1288
|
"google/gemini-2.5-pro",
|
|
1080
1289
|
"openai/gpt-4.1",
|
|
@@ -1083,7 +1292,9 @@ var provider_registry_default = {
|
|
|
1083
1292
|
"openai/gpt-5",
|
|
1084
1293
|
"openai/gpt-5-mini",
|
|
1085
1294
|
"openai/gpt-5-nano",
|
|
1086
|
-
"openai/o4-mini"
|
|
1295
|
+
"openai/o4-mini",
|
|
1296
|
+
"xai/grok-4",
|
|
1297
|
+
"xai/grok-4-fast"
|
|
1087
1298
|
],
|
|
1088
1299
|
docUrl: "https://requesty.ai/solution/llm-routing/models",
|
|
1089
1300
|
gateway: "models.dev"
|
|
@@ -1125,6 +1336,7 @@ var provider_registry_default = {
|
|
|
1125
1336
|
"claude-opus-4-1",
|
|
1126
1337
|
"claude-opus-4-1-20250805",
|
|
1127
1338
|
"claude-opus-4-20250514",
|
|
1339
|
+
"claude-opus-4-5",
|
|
1128
1340
|
"claude-sonnet-4-0",
|
|
1129
1341
|
"claude-sonnet-4-20250514",
|
|
1130
1342
|
"claude-sonnet-4-5",
|
|
@@ -1147,6 +1359,8 @@ var provider_registry_default = {
|
|
|
1147
1359
|
"accounts/fireworks/models/gpt-oss-120b",
|
|
1148
1360
|
"accounts/fireworks/models/gpt-oss-20b",
|
|
1149
1361
|
"accounts/fireworks/models/kimi-k2-instruct",
|
|
1362
|
+
"accounts/fireworks/models/kimi-k2-thinking",
|
|
1363
|
+
"accounts/fireworks/models/minimax-m2",
|
|
1150
1364
|
"accounts/fireworks/models/qwen3-235b-a22b",
|
|
1151
1365
|
"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
|
|
1152
1366
|
],
|
|
@@ -1210,12 +1424,122 @@ var provider_registry_default = {
|
|
|
1210
1424
|
docUrl: "https://www.scaleway.com/en/docs/generative-apis/",
|
|
1211
1425
|
gateway: "models.dev"
|
|
1212
1426
|
},
|
|
1427
|
+
poe: {
|
|
1428
|
+
url: "https://api.poe.com/v1",
|
|
1429
|
+
apiKeyEnvVar: "POE_API_KEY",
|
|
1430
|
+
apiKeyHeader: "Authorization",
|
|
1431
|
+
name: "Poe",
|
|
1432
|
+
models: [
|
|
1433
|
+
"anthropic/claude-haiku-3",
|
|
1434
|
+
"anthropic/claude-haiku-3.5",
|
|
1435
|
+
"anthropic/claude-haiku-3.5-search",
|
|
1436
|
+
"anthropic/claude-haiku-4.5",
|
|
1437
|
+
"anthropic/claude-opus-3",
|
|
1438
|
+
"anthropic/claude-opus-4",
|
|
1439
|
+
"anthropic/claude-opus-4-reasoning",
|
|
1440
|
+
"anthropic/claude-opus-4-search",
|
|
1441
|
+
"anthropic/claude-opus-4.1",
|
|
1442
|
+
"anthropic/claude-sonnet-3.5",
|
|
1443
|
+
"anthropic/claude-sonnet-3.5-june",
|
|
1444
|
+
"anthropic/claude-sonnet-3.7",
|
|
1445
|
+
"anthropic/claude-sonnet-3.7-reasoning",
|
|
1446
|
+
"anthropic/claude-sonnet-3.7-search",
|
|
1447
|
+
"anthropic/claude-sonnet-4",
|
|
1448
|
+
"anthropic/claude-sonnet-4-reasoning",
|
|
1449
|
+
"anthropic/claude-sonnet-4-search",
|
|
1450
|
+
"anthropic/claude-sonnet-4.5",
|
|
1451
|
+
"elevenlabs/elevenlabs-music",
|
|
1452
|
+
"elevenlabs/elevenlabs-v2.5-turbo",
|
|
1453
|
+
"elevenlabs/elevenlabs-v3",
|
|
1454
|
+
"facebook/llama-3.1-405b",
|
|
1455
|
+
"facebook/llama-3.1-70b",
|
|
1456
|
+
"facebook/llama-3.1-8b",
|
|
1457
|
+
"google/gemini-2.0-flash",
|
|
1458
|
+
"google/gemini-2.0-flash-lite",
|
|
1459
|
+
"google/gemini-2.5-flash",
|
|
1460
|
+
"google/gemini-2.5-flash-lite",
|
|
1461
|
+
"google/gemini-2.5-pro",
|
|
1462
|
+
"google/gemini-3.0-pro",
|
|
1463
|
+
"google/imagen-3",
|
|
1464
|
+
"google/imagen-3-fast",
|
|
1465
|
+
"google/imagen-4",
|
|
1466
|
+
"google/imagen-4-fast",
|
|
1467
|
+
"google/imagen-4-ultra",
|
|
1468
|
+
"google/lyria",
|
|
1469
|
+
"google/nano-banana",
|
|
1470
|
+
"google/veo-2",
|
|
1471
|
+
"google/veo-3",
|
|
1472
|
+
"google/veo-3-fast",
|
|
1473
|
+
"google/veo-3.1",
|
|
1474
|
+
"google/veo-3.1-fast",
|
|
1475
|
+
"ideogramai/ideogram",
|
|
1476
|
+
"ideogramai/ideogram-v2",
|
|
1477
|
+
"ideogramai/ideogram-v2a",
|
|
1478
|
+
"ideogramai/ideogram-v2a-turbo",
|
|
1479
|
+
"lumalabs/dream-machine",
|
|
1480
|
+
"lumalabs/ray2",
|
|
1481
|
+
"novita/glm-4.6",
|
|
1482
|
+
"openAi/chatgpt-4o-latest",
|
|
1483
|
+
"openAi/dall-e-3",
|
|
1484
|
+
"openAi/gpt-3.5-turbo",
|
|
1485
|
+
"openAi/gpt-3.5-turbo-instruct",
|
|
1486
|
+
"openAi/gpt-3.5-turbo-raw",
|
|
1487
|
+
"openAi/gpt-4-classic",
|
|
1488
|
+
"openAi/gpt-4-classic-0314",
|
|
1489
|
+
"openAi/gpt-4-turbo",
|
|
1490
|
+
"openAi/gpt-4.1",
|
|
1491
|
+
"openAi/gpt-4.1-mini",
|
|
1492
|
+
"openAi/gpt-4.1-nano",
|
|
1493
|
+
"openAi/gpt-4o",
|
|
1494
|
+
"openAi/gpt-4o-aug",
|
|
1495
|
+
"openAi/gpt-4o-mini",
|
|
1496
|
+
"openAi/gpt-4o-mini-search",
|
|
1497
|
+
"openAi/gpt-4o-search",
|
|
1498
|
+
"openAi/gpt-5",
|
|
1499
|
+
"openAi/gpt-5-chat",
|
|
1500
|
+
"openAi/gpt-5-codex",
|
|
1501
|
+
"openAi/gpt-5-mini",
|
|
1502
|
+
"openAi/gpt-5-nano",
|
|
1503
|
+
"openAi/gpt-5-pro",
|
|
1504
|
+
"openAi/gpt-image-1",
|
|
1505
|
+
"openAi/gpt-image-1-mini",
|
|
1506
|
+
"openAi/o1",
|
|
1507
|
+
"openAi/o1-pro",
|
|
1508
|
+
"openAi/o3",
|
|
1509
|
+
"openAi/o3-deep-research",
|
|
1510
|
+
"openAi/o3-mini",
|
|
1511
|
+
"openAi/o3-mini-high",
|
|
1512
|
+
"openAi/o3-pro",
|
|
1513
|
+
"openAi/o4-mini",
|
|
1514
|
+
"openAi/o4-mini-deep-research",
|
|
1515
|
+
"openAi/sora-2",
|
|
1516
|
+
"openAi/sora-2-pro",
|
|
1517
|
+
"openai/gpt-5.1",
|
|
1518
|
+
"openai/gpt-5.1-codex",
|
|
1519
|
+
"openai/gpt-5.1-codex-mini",
|
|
1520
|
+
"openai/gpt-5.1-instant",
|
|
1521
|
+
"runwayml/runway",
|
|
1522
|
+
"runwayml/runway-gen-4-turbo",
|
|
1523
|
+
"stabilityai/stablediffusionxl",
|
|
1524
|
+
"topazlabs-co/topazlabs",
|
|
1525
|
+
"trytako/tako",
|
|
1526
|
+
"xai/grok-2",
|
|
1527
|
+
"xai/grok-3",
|
|
1528
|
+
"xai/grok-3-mini",
|
|
1529
|
+
"xai/grok-4",
|
|
1530
|
+
"xai/grok-4-fast-non-reasoning",
|
|
1531
|
+
"xai/grok-4-fast-reasoning",
|
|
1532
|
+
"xai/grok-code-fast-1"
|
|
1533
|
+
],
|
|
1534
|
+
docUrl: "https://creator.poe.com/docs/external-applications/openai-compatible-api",
|
|
1535
|
+
gateway: "models.dev"
|
|
1536
|
+
},
|
|
1213
1537
|
cerebras: {
|
|
1214
1538
|
url: "https://api.cerebras.ai/v1",
|
|
1215
1539
|
apiKeyEnvVar: "CEREBRAS_API_KEY",
|
|
1216
1540
|
apiKeyHeader: "Authorization",
|
|
1217
1541
|
name: "Cerebras",
|
|
1218
|
-
models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "
|
|
1542
|
+
models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
|
|
1219
1543
|
docUrl: "https://inference-docs.cerebras.ai/models/overview",
|
|
1220
1544
|
gateway: "models.dev"
|
|
1221
1545
|
},
|
|
@@ -1226,23 +1550,25 @@ var provider_registry_default = {
|
|
|
1226
1550
|
gateway: "netlify",
|
|
1227
1551
|
models: [
|
|
1228
1552
|
"anthropic/claude-3-5-haiku-20241022",
|
|
1229
|
-
"anthropic/claude-3-5-haiku-latest",
|
|
1230
1553
|
"anthropic/claude-3-7-sonnet-20250219",
|
|
1231
|
-
"anthropic/claude-3-7-sonnet-latest",
|
|
1232
1554
|
"anthropic/claude-3-haiku-20240307",
|
|
1233
1555
|
"anthropic/claude-haiku-4-5-20251001",
|
|
1234
1556
|
"anthropic/claude-opus-4-1-20250805",
|
|
1235
1557
|
"anthropic/claude-opus-4-20250514",
|
|
1558
|
+
"anthropic/claude-opus-4-5-20251101",
|
|
1236
1559
|
"anthropic/claude-sonnet-4-20250514",
|
|
1237
1560
|
"anthropic/claude-sonnet-4-5-20250929",
|
|
1238
1561
|
"gemini/gemini-2.0-flash",
|
|
1239
1562
|
"gemini/gemini-2.0-flash-lite",
|
|
1240
1563
|
"gemini/gemini-2.5-flash",
|
|
1564
|
+
"gemini/gemini-2.5-flash-image",
|
|
1241
1565
|
"gemini/gemini-2.5-flash-image-preview",
|
|
1242
1566
|
"gemini/gemini-2.5-flash-lite",
|
|
1243
1567
|
"gemini/gemini-2.5-flash-lite-preview-09-2025",
|
|
1244
1568
|
"gemini/gemini-2.5-flash-preview-09-2025",
|
|
1245
1569
|
"gemini/gemini-2.5-pro",
|
|
1570
|
+
"gemini/gemini-3-pro-image-preview",
|
|
1571
|
+
"gemini/gemini-3-pro-preview",
|
|
1246
1572
|
"gemini/gemini-flash-latest",
|
|
1247
1573
|
"gemini/gemini-flash-lite-latest",
|
|
1248
1574
|
"openai/codex-mini-latest",
|
|
@@ -1252,10 +1578,16 @@ var provider_registry_default = {
|
|
|
1252
1578
|
"openai/gpt-4o",
|
|
1253
1579
|
"openai/gpt-4o-mini",
|
|
1254
1580
|
"openai/gpt-5",
|
|
1581
|
+
"openai/gpt-5-2025-08-07",
|
|
1255
1582
|
"openai/gpt-5-codex",
|
|
1256
1583
|
"openai/gpt-5-mini",
|
|
1584
|
+
"openai/gpt-5-mini-2025-08-07",
|
|
1257
1585
|
"openai/gpt-5-nano",
|
|
1258
1586
|
"openai/gpt-5-pro",
|
|
1587
|
+
"openai/gpt-5.1",
|
|
1588
|
+
"openai/gpt-5.1-2025-11-13",
|
|
1589
|
+
"openai/gpt-5.1-codex",
|
|
1590
|
+
"openai/gpt-5.1-codex-mini",
|
|
1259
1591
|
"openai/o3",
|
|
1260
1592
|
"openai/o3-mini",
|
|
1261
1593
|
"openai/o4-mini"
|
|
@@ -1264,9 +1596,21 @@ var provider_registry_default = {
|
|
|
1264
1596
|
}
|
|
1265
1597
|
},
|
|
1266
1598
|
models: {
|
|
1267
|
-
"moonshotai-cn": [
|
|
1599
|
+
"moonshotai-cn": [
|
|
1600
|
+
"kimi-k2-0711-preview",
|
|
1601
|
+
"kimi-k2-0905-preview",
|
|
1602
|
+
"kimi-k2-thinking",
|
|
1603
|
+
"kimi-k2-thinking-turbo",
|
|
1604
|
+
"kimi-k2-turbo-preview"
|
|
1605
|
+
],
|
|
1268
1606
|
lucidquery: ["lucidnova-rf1-100b", "lucidquery-nexus-coder"],
|
|
1269
|
-
moonshotai: [
|
|
1607
|
+
moonshotai: [
|
|
1608
|
+
"kimi-k2-0711-preview",
|
|
1609
|
+
"kimi-k2-0905-preview",
|
|
1610
|
+
"kimi-k2-thinking",
|
|
1611
|
+
"kimi-k2-thinking-turbo",
|
|
1612
|
+
"kimi-k2-turbo-preview"
|
|
1613
|
+
],
|
|
1270
1614
|
"zai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
|
|
1271
1615
|
alibaba: [
|
|
1272
1616
|
"qvq-max",
|
|
@@ -1325,6 +1669,8 @@ var provider_registry_default = {
|
|
|
1325
1669
|
"grok-3-mini-fast-latest",
|
|
1326
1670
|
"grok-3-mini-latest",
|
|
1327
1671
|
"grok-4",
|
|
1672
|
+
"grok-4-1-fast",
|
|
1673
|
+
"grok-4-1-fast-non-reasoning",
|
|
1328
1674
|
"grok-4-fast",
|
|
1329
1675
|
"grok-4-fast-non-reasoning",
|
|
1330
1676
|
"grok-beta",
|
|
@@ -1344,17 +1690,21 @@ var provider_registry_default = {
|
|
|
1344
1690
|
"deepseek-ai/deepseek-v3.1-terminus",
|
|
1345
1691
|
"google/gemma-3-27b-it",
|
|
1346
1692
|
"microsoft/phi-4-mini-instruct",
|
|
1693
|
+
"minimaxai/minimax-m2",
|
|
1347
1694
|
"moonshotai/kimi-k2-instruct",
|
|
1348
1695
|
"moonshotai/kimi-k2-instruct-0905",
|
|
1349
1696
|
"nvidia/cosmos-nemotron-34b",
|
|
1350
1697
|
"nvidia/llama-3.1-nemotron-ultra-253b-v1",
|
|
1351
1698
|
"nvidia/llama-embed-nemotron-8b",
|
|
1352
1699
|
"nvidia/nemoretriever-ocr-v1",
|
|
1700
|
+
"nvidia/nvidia-nemotron-nano-9b-v2",
|
|
1353
1701
|
"nvidia/parakeet-tdt-0.6b-v2",
|
|
1354
1702
|
"openai/gpt-oss-120b",
|
|
1355
1703
|
"openai/whisper-large-v3",
|
|
1356
1704
|
"qwen/qwen3-235b-a22b",
|
|
1357
|
-
"qwen/qwen3-coder-480b-a35b-instruct"
|
|
1705
|
+
"qwen/qwen3-coder-480b-a35b-instruct",
|
|
1706
|
+
"qwen/qwen3-next-80b-a3b-instruct",
|
|
1707
|
+
"qwen/qwen3-next-80b-a3b-thinking"
|
|
1358
1708
|
],
|
|
1359
1709
|
upstage: ["solar-mini", "solar-pro2"],
|
|
1360
1710
|
groq: [
|
|
@@ -1417,7 +1767,7 @@ var provider_registry_default = {
|
|
|
1417
1767
|
"anthropic/claude-4-sonnet",
|
|
1418
1768
|
"anthropic/claude-4.5-sonnet",
|
|
1419
1769
|
"anthropic/claude-haiku-4.5",
|
|
1420
|
-
"
|
|
1770
|
+
"anthropic/claude-opus-4.5",
|
|
1421
1771
|
"deepseek/deepseek-r1",
|
|
1422
1772
|
"deepseek/deepseek-r1-distill-llama-70b",
|
|
1423
1773
|
"deepseek/deepseek-v3.1-terminus",
|
|
@@ -1430,9 +1780,11 @@ var provider_registry_default = {
|
|
|
1430
1780
|
"google/gemini-2.5-flash-lite-preview-09-2025",
|
|
1431
1781
|
"google/gemini-2.5-flash-preview-09-2025",
|
|
1432
1782
|
"google/gemini-2.5-pro",
|
|
1783
|
+
"google/gemini-3-pro-preview",
|
|
1433
1784
|
"meta/llama-3.3-70b",
|
|
1434
1785
|
"meta/llama-4-maverick",
|
|
1435
1786
|
"meta/llama-4-scout",
|
|
1787
|
+
"minimax/minimax-m2",
|
|
1436
1788
|
"mistral/codestral",
|
|
1437
1789
|
"mistral/magistral-medium",
|
|
1438
1790
|
"mistral/magistral-small",
|
|
@@ -1577,42 +1929,62 @@ var provider_registry_default = {
|
|
|
1577
1929
|
"qwen-2.5-vl",
|
|
1578
1930
|
"qwen3-235b",
|
|
1579
1931
|
"qwen3-4b",
|
|
1580
|
-
"venice-uncensored"
|
|
1932
|
+
"venice-uncensored",
|
|
1933
|
+
"zai-org-glm-4.6"
|
|
1581
1934
|
],
|
|
1582
1935
|
chutes: [
|
|
1936
|
+
"Alibaba-NLP/Tongyi-DeepResearch-30B-A3B",
|
|
1937
|
+
"ArliAI/QwQ-32B-ArliAI-RpR-v1",
|
|
1938
|
+
"MiniMaxAI/MiniMax-M2",
|
|
1939
|
+
"NousResearch/DeepHermes-3-Mistral-24B-Preview",
|
|
1940
|
+
"NousResearch/Hermes-4-14B",
|
|
1941
|
+
"NousResearch/Hermes-4-405B-FP8",
|
|
1942
|
+
"NousResearch/Hermes-4-70B",
|
|
1943
|
+
"OpenGVLab/InternVL3-78B",
|
|
1944
|
+
"Qwen/Qwen2.5-72B-Instruct",
|
|
1945
|
+
"Qwen/Qwen2.5-Coder-32B-Instruct",
|
|
1946
|
+
"Qwen/Qwen2.5-VL-32B-Instruct",
|
|
1947
|
+
"Qwen/Qwen2.5-VL-72B-Instruct",
|
|
1948
|
+
"Qwen/Qwen3-14B",
|
|
1949
|
+
"Qwen/Qwen3-235B-A22B",
|
|
1583
1950
|
"Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
1584
1951
|
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
1585
1952
|
"Qwen/Qwen3-30B-A3B",
|
|
1586
1953
|
"Qwen/Qwen3-30B-A3B-Instruct-2507",
|
|
1587
|
-
"Qwen/Qwen3-
|
|
1954
|
+
"Qwen/Qwen3-32B",
|
|
1588
1955
|
"Qwen/Qwen3-Coder-30B-A3B-Instruct",
|
|
1589
1956
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
|
|
1590
1957
|
"Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
1591
|
-
"Qwen/Qwen3-
|
|
1592
|
-
"
|
|
1958
|
+
"Qwen/Qwen3-VL-235B-A22B-Instruct",
|
|
1959
|
+
"Qwen/Qwen3-VL-235B-A22B-Thinking",
|
|
1960
|
+
"chutesai/Mistral-Small-3.1-24B-Instruct-2503",
|
|
1593
1961
|
"chutesai/Mistral-Small-3.2-24B-Instruct-2506",
|
|
1962
|
+
"deepseek-ai/DeepSeek-R1",
|
|
1594
1963
|
"deepseek-ai/DeepSeek-R1-0528",
|
|
1595
1964
|
"deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
|
|
1596
1965
|
"deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
|
|
1966
|
+
"deepseek-ai/DeepSeek-V3",
|
|
1597
1967
|
"deepseek-ai/DeepSeek-V3-0324",
|
|
1598
1968
|
"deepseek-ai/DeepSeek-V3.1",
|
|
1599
1969
|
"deepseek-ai/DeepSeek-V3.1-Terminus",
|
|
1600
|
-
"deepseek-ai/DeepSeek-V3.1-turbo",
|
|
1601
|
-
"deepseek-ai/DeepSeek-V3.1:THINKING",
|
|
1602
1970
|
"deepseek-ai/DeepSeek-V3.2-Exp",
|
|
1603
1971
|
"meituan-longcat/LongCat-Flash-Chat-FP8",
|
|
1604
|
-
"
|
|
1972
|
+
"microsoft/MAI-DS-R1-FP8",
|
|
1605
1973
|
"moonshotai/Kimi-K2-Instruct-0905",
|
|
1606
|
-
"moonshotai/Kimi-K2-
|
|
1607
|
-
"moonshotai/Kimi-VL-A3B-Thinking",
|
|
1974
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
1608
1975
|
"openai/gpt-oss-120b",
|
|
1976
|
+
"openai/gpt-oss-20b",
|
|
1977
|
+
"rednote-hilab/dots.ocr",
|
|
1609
1978
|
"tngtech/DeepSeek-R1T-Chimera",
|
|
1610
1979
|
"tngtech/DeepSeek-TNG-R1T2-Chimera",
|
|
1980
|
+
"unsloth/Mistral-Nemo-Instruct-2407",
|
|
1981
|
+
"unsloth/Mistral-Small-24B-Instruct-2501",
|
|
1982
|
+
"unsloth/gemma-3-12b-it",
|
|
1983
|
+
"unsloth/gemma-3-27b-it",
|
|
1984
|
+
"unsloth/gemma-3-4b-it",
|
|
1985
|
+
"zai-org/GLM-4.5",
|
|
1611
1986
|
"zai-org/GLM-4.5-Air",
|
|
1612
|
-
"zai-org/GLM-4.
|
|
1613
|
-
"zai-org/GLM-4.5-turbo",
|
|
1614
|
-
"zai-org/GLM-4.6-FP8",
|
|
1615
|
-
"zai-org/GLM-4.6-turbo"
|
|
1987
|
+
"zai-org/GLM-4.6"
|
|
1616
1988
|
],
|
|
1617
1989
|
cortecs: [
|
|
1618
1990
|
"claude-4-5-sonnet",
|
|
@@ -1692,7 +2064,86 @@ var provider_registry_default = {
|
|
|
1692
2064
|
"moonshotai/Kimi-K2-Instruct",
|
|
1693
2065
|
"openai/gpt-oss-120b"
|
|
1694
2066
|
],
|
|
1695
|
-
baseten: [
|
|
2067
|
+
baseten: [
|
|
2068
|
+
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
2069
|
+
"moonshotai/Kimi-K2-Instruct-0905",
|
|
2070
|
+
"moonshotai/Kimi-K2-Thinking",
|
|
2071
|
+
"zai-org/GLM-4.6"
|
|
2072
|
+
],
|
|
2073
|
+
siliconflow: [
|
|
2074
|
+
"baidu-ernie-4.5-300b-a47b",
|
|
2075
|
+
"bytedance-seed-seed-oss-36b-instruct",
|
|
2076
|
+
"deepseek-ai-deepseek-r1",
|
|
2077
|
+
"deepseek-ai-deepseek-r1-distill-qwen-14b",
|
|
2078
|
+
"deepseek-ai-deepseek-r1-distill-qwen-32b",
|
|
2079
|
+
"deepseek-ai-deepseek-r1-distill-qwen-7b",
|
|
2080
|
+
"deepseek-ai-deepseek-v3",
|
|
2081
|
+
"deepseek-ai-deepseek-v3.1",
|
|
2082
|
+
"deepseek-ai-deepseek-v3.1-terminus",
|
|
2083
|
+
"deepseek-ai-deepseek-v3.2-exp",
|
|
2084
|
+
"deepseek-ai-deepseek-vl2",
|
|
2085
|
+
"inclusionai-ling-flash-2.0",
|
|
2086
|
+
"inclusionai-ling-mini-2.0",
|
|
2087
|
+
"inclusionai-ring-flash-2.0",
|
|
2088
|
+
"meta-llama-meta-llama-3.1-8b-instruct",
|
|
2089
|
+
"minimaxai-minimax-m1-80k",
|
|
2090
|
+
"minimaxai-minimax-m2",
|
|
2091
|
+
"moonshotai-kimi-dev-72b",
|
|
2092
|
+
"moonshotai-kimi-k2-instruct",
|
|
2093
|
+
"moonshotai-kimi-k2-instruct-0905",
|
|
2094
|
+
"moonshotai-kimi-k2-thinking",
|
|
2095
|
+
"nex-agi-deepseek-v3.1-nex-n1",
|
|
2096
|
+
"openai-gpt-oss-120b",
|
|
2097
|
+
"openai-gpt-oss-20b",
|
|
2098
|
+
"qwen-qwen2.5-14b-instruct",
|
|
2099
|
+
"qwen-qwen2.5-32b-instruct",
|
|
2100
|
+
"qwen-qwen2.5-72b-instruct",
|
|
2101
|
+
"qwen-qwen2.5-72b-instruct-128k",
|
|
2102
|
+
"qwen-qwen2.5-7b-instruct",
|
|
2103
|
+
"qwen-qwen2.5-coder-32b-instruct",
|
|
2104
|
+
"qwen-qwen2.5-vl-32b-instruct",
|
|
2105
|
+
"qwen-qwen2.5-vl-72b-instruct",
|
|
2106
|
+
"qwen-qwen2.5-vl-7b-instruct",
|
|
2107
|
+
"qwen-qwen3-14b",
|
|
2108
|
+
"qwen-qwen3-235b-a22b",
|
|
2109
|
+
"qwen-qwen3-235b-a22b-instruct-2507",
|
|
2110
|
+
"qwen-qwen3-235b-a22b-thinking-2507",
|
|
2111
|
+
"qwen-qwen3-30b-a3b",
|
|
2112
|
+
"qwen-qwen3-30b-a3b-instruct-2507",
|
|
2113
|
+
"qwen-qwen3-30b-a3b-thinking-2507",
|
|
2114
|
+
"qwen-qwen3-32b",
|
|
2115
|
+
"qwen-qwen3-8b",
|
|
2116
|
+
"qwen-qwen3-coder-30b-a3b-instruct",
|
|
2117
|
+
"qwen-qwen3-coder-480b-a35b-instruct",
|
|
2118
|
+
"qwen-qwen3-next-80b-a3b-instruct",
|
|
2119
|
+
"qwen-qwen3-next-80b-a3b-thinking",
|
|
2120
|
+
"qwen-qwen3-omni-30b-a3b-captioner",
|
|
2121
|
+
"qwen-qwen3-omni-30b-a3b-instruct",
|
|
2122
|
+
"qwen-qwen3-omni-30b-a3b-thinking",
|
|
2123
|
+
"qwen-qwen3-vl-235b-a22b-instruct",
|
|
2124
|
+
"qwen-qwen3-vl-235b-a22b-thinking",
|
|
2125
|
+
"qwen-qwen3-vl-30b-a3b-instruct",
|
|
2126
|
+
"qwen-qwen3-vl-30b-a3b-thinking",
|
|
2127
|
+
"qwen-qwen3-vl-32b-instruct",
|
|
2128
|
+
"qwen-qwen3-vl-32b-thinking",
|
|
2129
|
+
"qwen-qwen3-vl-8b-instruct",
|
|
2130
|
+
"qwen-qwen3-vl-8b-thinking",
|
|
2131
|
+
"qwen-qwq-32b",
|
|
2132
|
+
"stepfun-ai-step3",
|
|
2133
|
+
"tencent-hunyuan-a13b-instruct",
|
|
2134
|
+
"tencent-hunyuan-mt-7b",
|
|
2135
|
+
"thudm-glm-4-32b-0414",
|
|
2136
|
+
"thudm-glm-4-9b-0414",
|
|
2137
|
+
"thudm-glm-4.1v-9b-thinking",
|
|
2138
|
+
"thudm-glm-z1-32b-0414",
|
|
2139
|
+
"thudm-glm-z1-9b-0414",
|
|
2140
|
+
"z-ai-glm-4.5",
|
|
2141
|
+
"z-ai-glm-4.5-air",
|
|
2142
|
+
"zai-org-glm-4.5",
|
|
2143
|
+
"zai-org-glm-4.5-air",
|
|
2144
|
+
"zai-org-glm-4.5v",
|
|
2145
|
+
"zai-org-glm-4.6"
|
|
2146
|
+
],
|
|
1696
2147
|
huggingface: [
|
|
1697
2148
|
"MiniMaxAI/MiniMax-M2",
|
|
1698
2149
|
"Qwen/Qwen3-235B-A22B-Thinking-2507",
|
|
@@ -1710,19 +2161,26 @@ var provider_registry_default = {
|
|
|
1710
2161
|
"zai-org/GLM-4.6"
|
|
1711
2162
|
],
|
|
1712
2163
|
opencode: [
|
|
1713
|
-
"
|
|
2164
|
+
"alpha-doubao-seed-code",
|
|
2165
|
+
"alpha-gd4",
|
|
2166
|
+
"alpha-minimax-m2",
|
|
1714
2167
|
"big-pickle",
|
|
1715
2168
|
"claude-3-5-haiku",
|
|
1716
2169
|
"claude-haiku-4-5",
|
|
1717
2170
|
"claude-opus-4-1",
|
|
2171
|
+
"claude-opus-4-5",
|
|
1718
2172
|
"claude-sonnet-4",
|
|
1719
2173
|
"claude-sonnet-4-5",
|
|
2174
|
+
"gemini-3-pro",
|
|
1720
2175
|
"glm-4.6",
|
|
1721
2176
|
"gpt-5",
|
|
1722
2177
|
"gpt-5-codex",
|
|
2178
|
+
"gpt-5-nano",
|
|
2179
|
+
"gpt-5.1",
|
|
2180
|
+
"gpt-5.1-codex",
|
|
1723
2181
|
"grok-code",
|
|
1724
2182
|
"kimi-k2",
|
|
1725
|
-
"
|
|
2183
|
+
"kimi-k2-thinking",
|
|
1726
2184
|
"qwen3-coder"
|
|
1727
2185
|
],
|
|
1728
2186
|
fastrouter: [
|
|
@@ -1741,6 +2199,7 @@ var provider_registry_default = {
|
|
|
1741
2199
|
"qwen/qwen3-coder",
|
|
1742
2200
|
"x-ai/grok-4"
|
|
1743
2201
|
],
|
|
2202
|
+
minimax: ["MiniMax-M2"],
|
|
1744
2203
|
google: [
|
|
1745
2204
|
"gemini-1.5-flash",
|
|
1746
2205
|
"gemini-1.5-flash-8b",
|
|
@@ -1761,6 +2220,7 @@ var provider_registry_default = {
|
|
|
1761
2220
|
"gemini-2.5-pro-preview-05-06",
|
|
1762
2221
|
"gemini-2.5-pro-preview-06-05",
|
|
1763
2222
|
"gemini-2.5-pro-preview-tts",
|
|
2223
|
+
"gemini-3-pro-preview",
|
|
1764
2224
|
"gemini-embedding-001",
|
|
1765
2225
|
"gemini-flash-latest",
|
|
1766
2226
|
"gemini-flash-lite-latest",
|
|
@@ -1799,6 +2259,10 @@ var provider_registry_default = {
|
|
|
1799
2259
|
"gpt-5-mini",
|
|
1800
2260
|
"gpt-5-nano",
|
|
1801
2261
|
"gpt-5-pro",
|
|
2262
|
+
"gpt-5.1",
|
|
2263
|
+
"gpt-5.1-chat-latest",
|
|
2264
|
+
"gpt-5.1-codex",
|
|
2265
|
+
"gpt-5.1-codex-mini",
|
|
1802
2266
|
"o1",
|
|
1803
2267
|
"o1-mini",
|
|
1804
2268
|
"o1-preview",
|
|
@@ -1821,6 +2285,7 @@ var provider_registry_default = {
|
|
|
1821
2285
|
"anthropic/claude-haiku-4.5",
|
|
1822
2286
|
"anthropic/claude-opus-4",
|
|
1823
2287
|
"anthropic/claude-opus-4.1",
|
|
2288
|
+
"anthropic/claude-opus-4.5",
|
|
1824
2289
|
"anthropic/claude-sonnet-4",
|
|
1825
2290
|
"anthropic/claude-sonnet-4.5",
|
|
1826
2291
|
"cognitivecomputations/dolphin3.0-mistral-24b",
|
|
@@ -1845,18 +2310,20 @@ var provider_registry_default = {
|
|
|
1845
2310
|
"google/gemini-2.5-pro",
|
|
1846
2311
|
"google/gemini-2.5-pro-preview-05-06",
|
|
1847
2312
|
"google/gemini-2.5-pro-preview-06-05",
|
|
2313
|
+
"google/gemini-3-pro-preview",
|
|
1848
2314
|
"google/gemma-2-9b-it:free",
|
|
1849
2315
|
"google/gemma-3-12b-it",
|
|
1850
2316
|
"google/gemma-3-27b-it",
|
|
1851
2317
|
"google/gemma-3n-e4b-it",
|
|
1852
2318
|
"google/gemma-3n-e4b-it:free",
|
|
2319
|
+
"kwaipilot/kat-coder-pro:free",
|
|
1853
2320
|
"meta-llama/llama-3.2-11b-vision-instruct",
|
|
1854
2321
|
"meta-llama/llama-3.3-70b-instruct:free",
|
|
1855
2322
|
"meta-llama/llama-4-scout:free",
|
|
1856
2323
|
"microsoft/mai-ds-r1:free",
|
|
1857
2324
|
"minimax/minimax-01",
|
|
1858
2325
|
"minimax/minimax-m1",
|
|
1859
|
-
"minimax/minimax-m2
|
|
2326
|
+
"minimax/minimax-m2",
|
|
1860
2327
|
"mistralai/codestral-2508",
|
|
1861
2328
|
"mistralai/devstral-medium-2507",
|
|
1862
2329
|
"mistralai/devstral-small-2505",
|
|
@@ -1873,10 +2340,12 @@ var provider_registry_default = {
|
|
|
1873
2340
|
"moonshotai/kimi-k2",
|
|
1874
2341
|
"moonshotai/kimi-k2-0905",
|
|
1875
2342
|
"moonshotai/kimi-k2-0905:exacto",
|
|
2343
|
+
"moonshotai/kimi-k2-thinking",
|
|
1876
2344
|
"moonshotai/kimi-k2:free",
|
|
1877
2345
|
"nousresearch/deephermes-3-llama-3-8b-preview",
|
|
1878
2346
|
"nousresearch/hermes-4-405b",
|
|
1879
2347
|
"nousresearch/hermes-4-70b",
|
|
2348
|
+
"nvidia/nemotron-nano-9b-v2",
|
|
1880
2349
|
"openai/gpt-4.1",
|
|
1881
2350
|
"openai/gpt-4.1-mini",
|
|
1882
2351
|
"openai/gpt-4o-mini",
|
|
@@ -1887,15 +2356,15 @@ var provider_registry_default = {
|
|
|
1887
2356
|
"openai/gpt-5-mini",
|
|
1888
2357
|
"openai/gpt-5-nano",
|
|
1889
2358
|
"openai/gpt-5-pro",
|
|
2359
|
+
"openai/gpt-5.1",
|
|
2360
|
+
"openai/gpt-5.1-chat",
|
|
2361
|
+
"openai/gpt-5.1-codex",
|
|
2362
|
+
"openai/gpt-5.1-codex-mini",
|
|
1890
2363
|
"openai/gpt-oss-120b",
|
|
1891
2364
|
"openai/gpt-oss-120b:exacto",
|
|
1892
2365
|
"openai/gpt-oss-20b",
|
|
2366
|
+
"openai/gpt-oss-safeguard-20b",
|
|
1893
2367
|
"openai/o4-mini",
|
|
1894
|
-
"openrouter/cypher-alpha:free",
|
|
1895
|
-
"openrouter/horizon-alpha",
|
|
1896
|
-
"openrouter/horizon-beta",
|
|
1897
|
-
"openrouter/sonoma-dusk-alpha",
|
|
1898
|
-
"openrouter/sonoma-sky-alpha",
|
|
1899
2368
|
"qwen/qwen-2.5-coder-32b-instruct",
|
|
1900
2369
|
"qwen/qwen2.5-vl-32b-instruct:free",
|
|
1901
2370
|
"qwen/qwen2.5-vl-72b-instruct",
|
|
@@ -1911,6 +2380,7 @@ var provider_registry_default = {
|
|
|
1911
2380
|
"qwen/qwen3-32b:free",
|
|
1912
2381
|
"qwen/qwen3-8b:free",
|
|
1913
2382
|
"qwen/qwen3-coder",
|
|
2383
|
+
"qwen/qwen3-coder-flash",
|
|
1914
2384
|
"qwen/qwen3-coder:exacto",
|
|
1915
2385
|
"qwen/qwen3-coder:free",
|
|
1916
2386
|
"qwen/qwen3-max",
|
|
@@ -1927,6 +2397,7 @@ var provider_registry_default = {
|
|
|
1927
2397
|
"x-ai/grok-3-mini-beta",
|
|
1928
2398
|
"x-ai/grok-4",
|
|
1929
2399
|
"x-ai/grok-4-fast",
|
|
2400
|
+
"x-ai/grok-4.1-fast",
|
|
1930
2401
|
"x-ai/grok-code-fast-1",
|
|
1931
2402
|
"z-ai/glm-4.5",
|
|
1932
2403
|
"z-ai/glm-4.5-air",
|
|
@@ -1944,7 +2415,10 @@ var provider_registry_default = {
|
|
|
1944
2415
|
"inclusionai/lint-1t",
|
|
1945
2416
|
"inclusionai/ring-1t",
|
|
1946
2417
|
"kuaishou/kat-coder-pro-v1",
|
|
2418
|
+
"minimax/minimax-m2",
|
|
1947
2419
|
"moonshotai/kimi-k2-0905",
|
|
2420
|
+
"moonshotai/kimi-k2-thinking",
|
|
2421
|
+
"moonshotai/kimi-k2-thinking-turbo",
|
|
1948
2422
|
"openai/gpt-5",
|
|
1949
2423
|
"openai/gpt-5-codex",
|
|
1950
2424
|
"qwen/qwen3-coder-plus",
|
|
@@ -1955,6 +2429,43 @@ var provider_registry_default = {
|
|
|
1955
2429
|
"z-ai/glm-4.5-air",
|
|
1956
2430
|
"z-ai/glm-4.6"
|
|
1957
2431
|
],
|
|
2432
|
+
ovhcloud: [
|
|
2433
|
+
"deepseek-r1-distill-llama-70b",
|
|
2434
|
+
"gpt-oss-120b",
|
|
2435
|
+
"gpt-oss-20b",
|
|
2436
|
+
"llama-3.1-8b-instruct",
|
|
2437
|
+
"llava-next-mistral-7b",
|
|
2438
|
+
"meta-llama-3_1-70b-instruct",
|
|
2439
|
+
"meta-llama-3_3-70b-instruct",
|
|
2440
|
+
"mistral-7b-instruct-v0.3",
|
|
2441
|
+
"mistral-nemo-instruct-2407",
|
|
2442
|
+
"mistral-small-3.2-24b-instruct-2506",
|
|
2443
|
+
"mixtral-8x7b-instruct-v0.1",
|
|
2444
|
+
"qwen2.5-coder-32b-instruct",
|
|
2445
|
+
"qwen2.5-vl-72b-instruct",
|
|
2446
|
+
"qwen3-32b",
|
|
2447
|
+
"qwen3-coder-30b-a3b-instruct"
|
|
2448
|
+
],
|
|
2449
|
+
iflowcn: [
|
|
2450
|
+
"deepseek-r1",
|
|
2451
|
+
"deepseek-v3",
|
|
2452
|
+
"deepseek-v3.1",
|
|
2453
|
+
"deepseek-v3.2",
|
|
2454
|
+
"glm-4.6",
|
|
2455
|
+
"kimi-k2",
|
|
2456
|
+
"kimi-k2-0905",
|
|
2457
|
+
"minimax-m2",
|
|
2458
|
+
"qwen3-235b",
|
|
2459
|
+
"qwen3-235b-a22b-instruct",
|
|
2460
|
+
"qwen3-235b-a22b-thinking-2507",
|
|
2461
|
+
"qwen3-32b",
|
|
2462
|
+
"qwen3-coder",
|
|
2463
|
+
"qwen3-coder-plus",
|
|
2464
|
+
"qwen3-max",
|
|
2465
|
+
"qwen3-max-preview",
|
|
2466
|
+
"qwen3-vl-plus",
|
|
2467
|
+
"tstars2.0"
|
|
2468
|
+
],
|
|
1958
2469
|
synthetic: [
|
|
1959
2470
|
"hf:MiniMaxAI/MiniMax-M2",
|
|
1960
2471
|
"hf:Qwen/Qwen2.5-Coder-32B-Instruct",
|
|
@@ -1975,6 +2486,7 @@ var provider_registry_default = {
|
|
|
1975
2486
|
"hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",
|
|
1976
2487
|
"hf:moonshotai/Kimi-K2-Instruct",
|
|
1977
2488
|
"hf:moonshotai/Kimi-K2-Instruct-0905",
|
|
2489
|
+
"hf:moonshotai/Kimi-K2-Thinking",
|
|
1978
2490
|
"hf:openai/gpt-oss-120b",
|
|
1979
2491
|
"hf:zai-org/GLM-4.5",
|
|
1980
2492
|
"hf:zai-org/GLM-4.6"
|
|
@@ -1983,6 +2495,8 @@ var provider_registry_default = {
|
|
|
1983
2495
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct",
|
|
1984
2496
|
"Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
|
|
1985
2497
|
"moonshotai/Kimi-K2-Instruct",
|
|
2498
|
+
"openai/gpt-oss-120b",
|
|
2499
|
+
"openai/gpt-oss-20b",
|
|
1986
2500
|
"zai-org/GLM-4.5"
|
|
1987
2501
|
],
|
|
1988
2502
|
zhipuai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
|
|
@@ -2011,9 +2525,11 @@ var provider_registry_default = {
|
|
|
2011
2525
|
],
|
|
2012
2526
|
requesty: [
|
|
2013
2527
|
"anthropic/claude-3-7-sonnet",
|
|
2014
|
-
"anthropic/claude-4-
|
|
2528
|
+
"anthropic/claude-haiku-4-5",
|
|
2015
2529
|
"anthropic/claude-opus-4",
|
|
2016
|
-
"anthropic/claude-opus-4-1
|
|
2530
|
+
"anthropic/claude-opus-4-1",
|
|
2531
|
+
"anthropic/claude-sonnet-4",
|
|
2532
|
+
"anthropic/claude-sonnet-4-5",
|
|
2017
2533
|
"google/gemini-2.5-flash",
|
|
2018
2534
|
"google/gemini-2.5-pro",
|
|
2019
2535
|
"openai/gpt-4.1",
|
|
@@ -2022,7 +2538,9 @@ var provider_registry_default = {
|
|
|
2022
2538
|
"openai/gpt-5",
|
|
2023
2539
|
"openai/gpt-5-mini",
|
|
2024
2540
|
"openai/gpt-5-nano",
|
|
2025
|
-
"openai/o4-mini"
|
|
2541
|
+
"openai/o4-mini",
|
|
2542
|
+
"xai/grok-4",
|
|
2543
|
+
"xai/grok-4-fast"
|
|
2026
2544
|
],
|
|
2027
2545
|
morph: ["auto", "morph-v3-fast", "morph-v3-large"],
|
|
2028
2546
|
lmstudio: ["openai/gpt-oss-20b", "qwen/qwen3-30b-a3b-2507", "qwen/qwen3-coder-30b"],
|
|
@@ -2042,6 +2560,7 @@ var provider_registry_default = {
|
|
|
2042
2560
|
"claude-opus-4-1",
|
|
2043
2561
|
"claude-opus-4-1-20250805",
|
|
2044
2562
|
"claude-opus-4-20250514",
|
|
2563
|
+
"claude-opus-4-5",
|
|
2045
2564
|
"claude-sonnet-4-0",
|
|
2046
2565
|
"claude-sonnet-4-20250514",
|
|
2047
2566
|
"claude-sonnet-4-5",
|
|
@@ -2056,6 +2575,8 @@ var provider_registry_default = {
|
|
|
2056
2575
|
"accounts/fireworks/models/gpt-oss-120b",
|
|
2057
2576
|
"accounts/fireworks/models/gpt-oss-20b",
|
|
2058
2577
|
"accounts/fireworks/models/kimi-k2-instruct",
|
|
2578
|
+
"accounts/fireworks/models/kimi-k2-thinking",
|
|
2579
|
+
"accounts/fireworks/models/minimax-m2",
|
|
2059
2580
|
"accounts/fireworks/models/qwen3-235b-a22b",
|
|
2060
2581
|
"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
|
|
2061
2582
|
],
|
|
@@ -2092,26 +2613,130 @@ var provider_registry_default = {
|
|
|
2092
2613
|
"voxtral-small-24b-2507",
|
|
2093
2614
|
"whisper-large-v3"
|
|
2094
2615
|
],
|
|
2095
|
-
|
|
2616
|
+
poe: [
|
|
2617
|
+
"anthropic/claude-haiku-3",
|
|
2618
|
+
"anthropic/claude-haiku-3.5",
|
|
2619
|
+
"anthropic/claude-haiku-3.5-search",
|
|
2620
|
+
"anthropic/claude-haiku-4.5",
|
|
2621
|
+
"anthropic/claude-opus-3",
|
|
2622
|
+
"anthropic/claude-opus-4",
|
|
2623
|
+
"anthropic/claude-opus-4-reasoning",
|
|
2624
|
+
"anthropic/claude-opus-4-search",
|
|
2625
|
+
"anthropic/claude-opus-4.1",
|
|
2626
|
+
"anthropic/claude-sonnet-3.5",
|
|
2627
|
+
"anthropic/claude-sonnet-3.5-june",
|
|
2628
|
+
"anthropic/claude-sonnet-3.7",
|
|
2629
|
+
"anthropic/claude-sonnet-3.7-reasoning",
|
|
2630
|
+
"anthropic/claude-sonnet-3.7-search",
|
|
2631
|
+
"anthropic/claude-sonnet-4",
|
|
2632
|
+
"anthropic/claude-sonnet-4-reasoning",
|
|
2633
|
+
"anthropic/claude-sonnet-4-search",
|
|
2634
|
+
"anthropic/claude-sonnet-4.5",
|
|
2635
|
+
"elevenlabs/elevenlabs-music",
|
|
2636
|
+
"elevenlabs/elevenlabs-v2.5-turbo",
|
|
2637
|
+
"elevenlabs/elevenlabs-v3",
|
|
2638
|
+
"facebook/llama-3.1-405b",
|
|
2639
|
+
"facebook/llama-3.1-70b",
|
|
2640
|
+
"facebook/llama-3.1-8b",
|
|
2641
|
+
"google/gemini-2.0-flash",
|
|
2642
|
+
"google/gemini-2.0-flash-lite",
|
|
2643
|
+
"google/gemini-2.5-flash",
|
|
2644
|
+
"google/gemini-2.5-flash-lite",
|
|
2645
|
+
"google/gemini-2.5-pro",
|
|
2646
|
+
"google/gemini-3.0-pro",
|
|
2647
|
+
"google/imagen-3",
|
|
2648
|
+
"google/imagen-3-fast",
|
|
2649
|
+
"google/imagen-4",
|
|
2650
|
+
"google/imagen-4-fast",
|
|
2651
|
+
"google/imagen-4-ultra",
|
|
2652
|
+
"google/lyria",
|
|
2653
|
+
"google/nano-banana",
|
|
2654
|
+
"google/veo-2",
|
|
2655
|
+
"google/veo-3",
|
|
2656
|
+
"google/veo-3-fast",
|
|
2657
|
+
"google/veo-3.1",
|
|
2658
|
+
"google/veo-3.1-fast",
|
|
2659
|
+
"ideogramai/ideogram",
|
|
2660
|
+
"ideogramai/ideogram-v2",
|
|
2661
|
+
"ideogramai/ideogram-v2a",
|
|
2662
|
+
"ideogramai/ideogram-v2a-turbo",
|
|
2663
|
+
"lumalabs/dream-machine",
|
|
2664
|
+
"lumalabs/ray2",
|
|
2665
|
+
"novita/glm-4.6",
|
|
2666
|
+
"openAi/chatgpt-4o-latest",
|
|
2667
|
+
"openAi/dall-e-3",
|
|
2668
|
+
"openAi/gpt-3.5-turbo",
|
|
2669
|
+
"openAi/gpt-3.5-turbo-instruct",
|
|
2670
|
+
"openAi/gpt-3.5-turbo-raw",
|
|
2671
|
+
"openAi/gpt-4-classic",
|
|
2672
|
+
"openAi/gpt-4-classic-0314",
|
|
2673
|
+
"openAi/gpt-4-turbo",
|
|
2674
|
+
"openAi/gpt-4.1",
|
|
2675
|
+
"openAi/gpt-4.1-mini",
|
|
2676
|
+
"openAi/gpt-4.1-nano",
|
|
2677
|
+
"openAi/gpt-4o",
|
|
2678
|
+
"openAi/gpt-4o-aug",
|
|
2679
|
+
"openAi/gpt-4o-mini",
|
|
2680
|
+
"openAi/gpt-4o-mini-search",
|
|
2681
|
+
"openAi/gpt-4o-search",
|
|
2682
|
+
"openAi/gpt-5",
|
|
2683
|
+
"openAi/gpt-5-chat",
|
|
2684
|
+
"openAi/gpt-5-codex",
|
|
2685
|
+
"openAi/gpt-5-mini",
|
|
2686
|
+
"openAi/gpt-5-nano",
|
|
2687
|
+
"openAi/gpt-5-pro",
|
|
2688
|
+
"openAi/gpt-image-1",
|
|
2689
|
+
"openAi/gpt-image-1-mini",
|
|
2690
|
+
"openAi/o1",
|
|
2691
|
+
"openAi/o1-pro",
|
|
2692
|
+
"openAi/o3",
|
|
2693
|
+
"openAi/o3-deep-research",
|
|
2694
|
+
"openAi/o3-mini",
|
|
2695
|
+
"openAi/o3-mini-high",
|
|
2696
|
+
"openAi/o3-pro",
|
|
2697
|
+
"openAi/o4-mini",
|
|
2698
|
+
"openAi/o4-mini-deep-research",
|
|
2699
|
+
"openAi/sora-2",
|
|
2700
|
+
"openAi/sora-2-pro",
|
|
2701
|
+
"openai/gpt-5.1",
|
|
2702
|
+
"openai/gpt-5.1-codex",
|
|
2703
|
+
"openai/gpt-5.1-codex-mini",
|
|
2704
|
+
"openai/gpt-5.1-instant",
|
|
2705
|
+
"runwayml/runway",
|
|
2706
|
+
"runwayml/runway-gen-4-turbo",
|
|
2707
|
+
"stabilityai/stablediffusionxl",
|
|
2708
|
+
"topazlabs-co/topazlabs",
|
|
2709
|
+
"trytako/tako",
|
|
2710
|
+
"xai/grok-2",
|
|
2711
|
+
"xai/grok-3",
|
|
2712
|
+
"xai/grok-3-mini",
|
|
2713
|
+
"xai/grok-4",
|
|
2714
|
+
"xai/grok-4-fast-non-reasoning",
|
|
2715
|
+
"xai/grok-4-fast-reasoning",
|
|
2716
|
+
"xai/grok-code-fast-1"
|
|
2717
|
+
],
|
|
2718
|
+
cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
|
|
2096
2719
|
netlify: [
|
|
2097
2720
|
"anthropic/claude-3-5-haiku-20241022",
|
|
2098
|
-
"anthropic/claude-3-5-haiku-latest",
|
|
2099
2721
|
"anthropic/claude-3-7-sonnet-20250219",
|
|
2100
|
-
"anthropic/claude-3-7-sonnet-latest",
|
|
2101
2722
|
"anthropic/claude-3-haiku-20240307",
|
|
2102
2723
|
"anthropic/claude-haiku-4-5-20251001",
|
|
2103
2724
|
"anthropic/claude-opus-4-1-20250805",
|
|
2104
2725
|
"anthropic/claude-opus-4-20250514",
|
|
2726
|
+
"anthropic/claude-opus-4-5-20251101",
|
|
2105
2727
|
"anthropic/claude-sonnet-4-20250514",
|
|
2106
2728
|
"anthropic/claude-sonnet-4-5-20250929",
|
|
2107
2729
|
"gemini/gemini-2.0-flash",
|
|
2108
2730
|
"gemini/gemini-2.0-flash-lite",
|
|
2109
2731
|
"gemini/gemini-2.5-flash",
|
|
2732
|
+
"gemini/gemini-2.5-flash-image",
|
|
2110
2733
|
"gemini/gemini-2.5-flash-image-preview",
|
|
2111
2734
|
"gemini/gemini-2.5-flash-lite",
|
|
2112
2735
|
"gemini/gemini-2.5-flash-lite-preview-09-2025",
|
|
2113
2736
|
"gemini/gemini-2.5-flash-preview-09-2025",
|
|
2114
2737
|
"gemini/gemini-2.5-pro",
|
|
2738
|
+
"gemini/gemini-3-pro-image-preview",
|
|
2739
|
+
"gemini/gemini-3-pro-preview",
|
|
2115
2740
|
"gemini/gemini-flash-latest",
|
|
2116
2741
|
"gemini/gemini-flash-lite-latest",
|
|
2117
2742
|
"openai/codex-mini-latest",
|
|
@@ -2121,10 +2746,16 @@ var provider_registry_default = {
|
|
|
2121
2746
|
"openai/gpt-4o",
|
|
2122
2747
|
"openai/gpt-4o-mini",
|
|
2123
2748
|
"openai/gpt-5",
|
|
2749
|
+
"openai/gpt-5-2025-08-07",
|
|
2124
2750
|
"openai/gpt-5-codex",
|
|
2125
2751
|
"openai/gpt-5-mini",
|
|
2752
|
+
"openai/gpt-5-mini-2025-08-07",
|
|
2126
2753
|
"openai/gpt-5-nano",
|
|
2127
2754
|
"openai/gpt-5-pro",
|
|
2755
|
+
"openai/gpt-5.1",
|
|
2756
|
+
"openai/gpt-5.1-2025-11-13",
|
|
2757
|
+
"openai/gpt-5.1-codex",
|
|
2758
|
+
"openai/gpt-5.1-codex-mini",
|
|
2128
2759
|
"openai/o3",
|
|
2129
2760
|
"openai/o3-mini",
|
|
2130
2761
|
"openai/o4-mini"
|
|
@@ -2140,6 +2771,20 @@ var CACHE_FILE = () => path__default.default.join(CACHE_DIR(), "gateway-refresh-
|
|
|
2140
2771
|
var GLOBAL_PROVIDER_REGISTRY_JSON = () => path__default.default.join(CACHE_DIR(), "provider-registry.json");
|
|
2141
2772
|
var GLOBAL_PROVIDER_TYPES_DTS = () => path__default.default.join(CACHE_DIR(), "provider-types.generated.d.ts");
|
|
2142
2773
|
var modelRouterCacheFailed = false;
|
|
2774
|
+
function atomicWriteFileSync(filePath, content, encoding = "utf-8") {
|
|
2775
|
+
const randomSuffix = Math.random().toString(36).substring(2, 15);
|
|
2776
|
+
const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;
|
|
2777
|
+
try {
|
|
2778
|
+
fs__default.default.writeFileSync(tempPath, content, encoding);
|
|
2779
|
+
fs__default.default.renameSync(tempPath, filePath);
|
|
2780
|
+
} catch (error) {
|
|
2781
|
+
try {
|
|
2782
|
+
fs__default.default.unlinkSync(tempPath);
|
|
2783
|
+
} catch {
|
|
2784
|
+
}
|
|
2785
|
+
throw error;
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2143
2788
|
function syncGlobalCacheToLocal() {
|
|
2144
2789
|
try {
|
|
2145
2790
|
const globalJsonExists = fs__default.default.existsSync(GLOBAL_PROVIDER_REGISTRY_JSON());
|
|
@@ -2160,7 +2805,7 @@ function syncGlobalCacheToLocal() {
|
|
|
2160
2805
|
shouldCopyJson = globalJsonContent !== localJsonContent;
|
|
2161
2806
|
}
|
|
2162
2807
|
if (shouldCopyJson) {
|
|
2163
|
-
|
|
2808
|
+
atomicWriteFileSync(localJsonPath, globalJsonContent, "utf-8");
|
|
2164
2809
|
}
|
|
2165
2810
|
}
|
|
2166
2811
|
if (globalDtsExists) {
|
|
@@ -2171,7 +2816,7 @@ function syncGlobalCacheToLocal() {
|
|
|
2171
2816
|
shouldCopyDts = globalDtsContent !== localDtsContent;
|
|
2172
2817
|
}
|
|
2173
2818
|
if (shouldCopyDts) {
|
|
2174
|
-
|
|
2819
|
+
atomicWriteFileSync(localDtsPath, globalDtsContent, "utf-8");
|
|
2175
2820
|
}
|
|
2176
2821
|
}
|
|
2177
2822
|
} catch (error) {
|
|
@@ -2204,7 +2849,7 @@ function saveLastRefreshTimeToDisk(date) {
|
|
|
2204
2849
|
}
|
|
2205
2850
|
function getPackageRoot() {
|
|
2206
2851
|
try {
|
|
2207
|
-
const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
2852
|
+
const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-RJOVFHWN.cjs', document.baseURI).href)) || "file://");
|
|
2208
2853
|
const packageJsonPath = require2.resolve("@mastra/core/package.json");
|
|
2209
2854
|
return path__default.default.dirname(packageJsonPath);
|
|
2210
2855
|
} catch {
|
|
@@ -2275,7 +2920,7 @@ var PROVIDER_REGISTRY = new Proxy({}, {
|
|
|
2275
2920
|
return void 0;
|
|
2276
2921
|
}
|
|
2277
2922
|
});
|
|
2278
|
-
new Proxy({}, {
|
|
2923
|
+
var PROVIDER_MODELS = new Proxy({}, {
|
|
2279
2924
|
get(_target, prop) {
|
|
2280
2925
|
const registry = GatewayRegistry.getInstance();
|
|
2281
2926
|
const models = registry.getModels();
|
|
@@ -2324,12 +2969,26 @@ function getProviderConfig(providerId) {
|
|
|
2324
2969
|
const registry = GatewayRegistry.getInstance();
|
|
2325
2970
|
return registry.getProviderConfig(providerId);
|
|
2326
2971
|
}
|
|
2972
|
+
function isProviderRegistered(providerId) {
|
|
2973
|
+
const registry = GatewayRegistry.getInstance();
|
|
2974
|
+
return registry.isProviderRegistered(providerId);
|
|
2975
|
+
}
|
|
2976
|
+
function getRegisteredProviders() {
|
|
2977
|
+
const registry = GatewayRegistry.getInstance();
|
|
2978
|
+
const providers = registry.getProviders();
|
|
2979
|
+
return Object.keys(providers);
|
|
2980
|
+
}
|
|
2981
|
+
function isValidModelId(modelId) {
|
|
2982
|
+
const { provider } = parseModelString(modelId);
|
|
2983
|
+
return provider !== null && isProviderRegistered(provider);
|
|
2984
|
+
}
|
|
2327
2985
|
var GatewayRegistry = class _GatewayRegistry {
|
|
2328
2986
|
static instance = null;
|
|
2329
2987
|
lastRefreshTime = null;
|
|
2330
2988
|
refreshInterval = null;
|
|
2331
2989
|
isRefreshing = false;
|
|
2332
2990
|
useDynamicLoading;
|
|
2991
|
+
customGateways = [];
|
|
2333
2992
|
constructor(options = {}) {
|
|
2334
2993
|
const isDev2 = process.env.MASTRA_DEV === "true" || process.env.MASTRA_DEV === "1";
|
|
2335
2994
|
this.useDynamicLoading = options.useDynamicLoading ?? isDev2;
|
|
@@ -2343,6 +3002,19 @@ var GatewayRegistry = class _GatewayRegistry {
|
|
|
2343
3002
|
}
|
|
2344
3003
|
return _GatewayRegistry.instance;
|
|
2345
3004
|
}
|
|
3005
|
+
/**
|
|
3006
|
+
* Register custom gateways for type generation
|
|
3007
|
+
* @param gateways - Array of custom gateway instances
|
|
3008
|
+
*/
|
|
3009
|
+
registerCustomGateways(gateways) {
|
|
3010
|
+
this.customGateways = gateways;
|
|
3011
|
+
}
|
|
3012
|
+
/**
|
|
3013
|
+
* Get all registered custom gateways
|
|
3014
|
+
*/
|
|
3015
|
+
getCustomGateways() {
|
|
3016
|
+
return this.customGateways;
|
|
3017
|
+
}
|
|
2346
3018
|
/**
|
|
2347
3019
|
* Sync providers from all gateways
|
|
2348
3020
|
* Requires dynamic loading to be enabled (useDynamicLoading=true).
|
|
@@ -2358,11 +3030,12 @@ var GatewayRegistry = class _GatewayRegistry {
|
|
|
2358
3030
|
}
|
|
2359
3031
|
this.isRefreshing = true;
|
|
2360
3032
|
try {
|
|
2361
|
-
const { ModelsDevGateway
|
|
2362
|
-
const { NetlifyGateway
|
|
2363
|
-
const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-
|
|
2364
|
-
const
|
|
2365
|
-
const
|
|
3033
|
+
const { ModelsDevGateway } = await import('./models-dev-T2CXOEDH.cjs');
|
|
3034
|
+
const { NetlifyGateway } = await import('./netlify-BAEMIQNH.cjs');
|
|
3035
|
+
const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-DL42NMBM.cjs');
|
|
3036
|
+
const defaultGateways = [new ModelsDevGateway({}), new NetlifyGateway()];
|
|
3037
|
+
const gateways = [...defaultGateways, ...this.customGateways];
|
|
3038
|
+
const { providers, models } = await fetchProvidersFromGateways(gateways);
|
|
2366
3039
|
const packageRoot = getPackageRoot();
|
|
2367
3040
|
try {
|
|
2368
3041
|
fs__default.default.mkdirSync(CACHE_DIR(), { recursive: true });
|
|
@@ -2474,433 +3147,14 @@ var autoRefreshEnabled = process.env.MASTRA_AUTO_REFRESH_PROVIDERS === "true" ||
|
|
|
2474
3147
|
if (autoRefreshEnabled) {
|
|
2475
3148
|
GatewayRegistry.getInstance({ useDynamicLoading: isDev }).startAutoRefresh();
|
|
2476
3149
|
}
|
|
2477
|
-
var AISDKV5LanguageModel = class {
|
|
2478
|
-
/**
|
|
2479
|
-
* The language model must specify which language model interface version it implements.
|
|
2480
|
-
*/
|
|
2481
|
-
specificationVersion = "v2";
|
|
2482
|
-
/**
|
|
2483
|
-
* Name of the provider for logging purposes.
|
|
2484
|
-
*/
|
|
2485
|
-
provider;
|
|
2486
|
-
/**
|
|
2487
|
-
* Provider-specific model ID for logging purposes.
|
|
2488
|
-
*/
|
|
2489
|
-
modelId;
|
|
2490
|
-
/**
|
|
2491
|
-
* Supported URL patterns by media type for the provider.
|
|
2492
|
-
*
|
|
2493
|
-
* The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
|
|
2494
|
-
* and the values are arrays of regular expressions that match the URL paths.
|
|
2495
|
-
* The matching should be against lower-case URLs.
|
|
2496
|
-
* Matched URLs are supported natively by the model and are not downloaded.
|
|
2497
|
-
* @returns A map of supported URL patterns by media type (as a promise or a plain object).
|
|
2498
|
-
*/
|
|
2499
|
-
supportedUrls;
|
|
2500
|
-
#model;
|
|
2501
|
-
constructor(config) {
|
|
2502
|
-
this.#model = config;
|
|
2503
|
-
this.provider = this.#model.provider;
|
|
2504
|
-
this.modelId = this.#model.modelId;
|
|
2505
|
-
this.supportedUrls = this.#model.supportedUrls;
|
|
2506
|
-
}
|
|
2507
|
-
async doGenerate(options) {
|
|
2508
|
-
const result = await this.#model.doGenerate(options);
|
|
2509
|
-
return {
|
|
2510
|
-
request: result.request,
|
|
2511
|
-
response: result.response,
|
|
2512
|
-
stream: new ReadableStream({
|
|
2513
|
-
start(controller) {
|
|
2514
|
-
controller.enqueue({ type: "stream-start", warnings: result.warnings });
|
|
2515
|
-
controller.enqueue({
|
|
2516
|
-
type: "response-metadata",
|
|
2517
|
-
id: result.response?.id,
|
|
2518
|
-
modelId: result.response?.modelId,
|
|
2519
|
-
timestamp: result.response?.timestamp
|
|
2520
|
-
});
|
|
2521
|
-
for (const message of result.content) {
|
|
2522
|
-
if (message.type === "tool-call") {
|
|
2523
|
-
const toolCall = message;
|
|
2524
|
-
controller.enqueue({
|
|
2525
|
-
type: "tool-input-start",
|
|
2526
|
-
id: toolCall.toolCallId,
|
|
2527
|
-
toolName: toolCall.toolName
|
|
2528
|
-
});
|
|
2529
|
-
controller.enqueue({
|
|
2530
|
-
type: "tool-input-delta",
|
|
2531
|
-
id: toolCall.toolCallId,
|
|
2532
|
-
delta: toolCall.input
|
|
2533
|
-
});
|
|
2534
|
-
controller.enqueue({
|
|
2535
|
-
type: "tool-input-end",
|
|
2536
|
-
id: toolCall.toolCallId
|
|
2537
|
-
});
|
|
2538
|
-
controller.enqueue(toolCall);
|
|
2539
|
-
} else if (message.type === "tool-result") {
|
|
2540
|
-
const toolResult = message;
|
|
2541
|
-
controller.enqueue(toolResult);
|
|
2542
|
-
} else if (message.type === "text") {
|
|
2543
|
-
const text = message;
|
|
2544
|
-
const id = `msg_${crypto.randomUUID()}`;
|
|
2545
|
-
controller.enqueue({
|
|
2546
|
-
type: "text-start",
|
|
2547
|
-
id,
|
|
2548
|
-
providerMetadata: text.providerMetadata
|
|
2549
|
-
});
|
|
2550
|
-
controller.enqueue({
|
|
2551
|
-
type: "text-delta",
|
|
2552
|
-
id,
|
|
2553
|
-
delta: text.text
|
|
2554
|
-
});
|
|
2555
|
-
controller.enqueue({
|
|
2556
|
-
type: "text-end",
|
|
2557
|
-
id
|
|
2558
|
-
});
|
|
2559
|
-
} else if (message.type === "reasoning") {
|
|
2560
|
-
const id = `reasoning_${crypto.randomUUID()}`;
|
|
2561
|
-
const reasoning = message;
|
|
2562
|
-
controller.enqueue({
|
|
2563
|
-
type: "reasoning-start",
|
|
2564
|
-
id,
|
|
2565
|
-
providerMetadata: reasoning.providerMetadata
|
|
2566
|
-
});
|
|
2567
|
-
controller.enqueue({
|
|
2568
|
-
type: "reasoning-delta",
|
|
2569
|
-
id,
|
|
2570
|
-
delta: reasoning.text,
|
|
2571
|
-
providerMetadata: reasoning.providerMetadata
|
|
2572
|
-
});
|
|
2573
|
-
controller.enqueue({
|
|
2574
|
-
type: "reasoning-end",
|
|
2575
|
-
id,
|
|
2576
|
-
providerMetadata: reasoning.providerMetadata
|
|
2577
|
-
});
|
|
2578
|
-
} else if (message.type === "file") {
|
|
2579
|
-
const file = message;
|
|
2580
|
-
controller.enqueue({
|
|
2581
|
-
type: "file",
|
|
2582
|
-
mediaType: file.mediaType,
|
|
2583
|
-
data: file.data
|
|
2584
|
-
});
|
|
2585
|
-
} else if (message.type === "source") {
|
|
2586
|
-
const source = message;
|
|
2587
|
-
if (source.sourceType === "url") {
|
|
2588
|
-
controller.enqueue({
|
|
2589
|
-
type: "source",
|
|
2590
|
-
id: source.id,
|
|
2591
|
-
sourceType: "url",
|
|
2592
|
-
url: source.url,
|
|
2593
|
-
title: source.title,
|
|
2594
|
-
providerMetadata: source.providerMetadata
|
|
2595
|
-
});
|
|
2596
|
-
} else {
|
|
2597
|
-
controller.enqueue({
|
|
2598
|
-
type: "source",
|
|
2599
|
-
id: source.id,
|
|
2600
|
-
sourceType: "document",
|
|
2601
|
-
mediaType: source.mediaType,
|
|
2602
|
-
filename: source.filename,
|
|
2603
|
-
title: source.title,
|
|
2604
|
-
providerMetadata: source.providerMetadata
|
|
2605
|
-
});
|
|
2606
|
-
}
|
|
2607
|
-
}
|
|
2608
|
-
}
|
|
2609
|
-
controller.enqueue({
|
|
2610
|
-
type: "finish",
|
|
2611
|
-
finishReason: result.finishReason,
|
|
2612
|
-
usage: result.usage,
|
|
2613
|
-
providerMetadata: result.providerMetadata
|
|
2614
|
-
});
|
|
2615
|
-
controller.close();
|
|
2616
|
-
}
|
|
2617
|
-
})
|
|
2618
|
-
};
|
|
2619
|
-
}
|
|
2620
|
-
async doStream(options) {
|
|
2621
|
-
return await this.#model.doStream(options);
|
|
2622
|
-
}
|
|
2623
|
-
};
|
|
2624
|
-
|
|
2625
|
-
// src/llm/model/gateways/index.ts
|
|
2626
|
-
function findGatewayForModel(gatewayId, gateways2) {
|
|
2627
|
-
const prefixedGateway = gateways2.find((g) => g.prefix && gatewayId.startsWith(`${g.prefix}/`));
|
|
2628
|
-
if (prefixedGateway) {
|
|
2629
|
-
return prefixedGateway;
|
|
2630
|
-
}
|
|
2631
|
-
const unprefixedGateways = gateways2.filter((g) => !g.prefix);
|
|
2632
|
-
for (const gateway of unprefixedGateways) {
|
|
2633
|
-
return gateway;
|
|
2634
|
-
}
|
|
2635
|
-
throw new chunk5NTO7S5I_cjs.MastraError({
|
|
2636
|
-
id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
|
|
2637
|
-
category: "USER",
|
|
2638
|
-
domain: "MODEL_ROUTER",
|
|
2639
|
-
text: `No Mastra model router gateway found for model id ${gatewayId}`
|
|
2640
|
-
});
|
|
2641
|
-
}
|
|
2642
|
-
|
|
2643
|
-
// src/llm/model/router.ts
|
|
2644
|
-
function getStaticProvidersByGateway(name) {
|
|
2645
|
-
return Object.fromEntries(Object.entries(PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));
|
|
2646
|
-
}
|
|
2647
|
-
var gateways = [new chunk3JX2Y3WH_cjs.NetlifyGateway(), new chunkIJRERAWQ_cjs.ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
|
|
2648
|
-
var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
|
|
2649
|
-
specificationVersion = "v2";
|
|
2650
|
-
defaultObjectGenerationMode = "json";
|
|
2651
|
-
supportsStructuredOutputs = true;
|
|
2652
|
-
supportsImageUrls = true;
|
|
2653
|
-
supportedUrls = {};
|
|
2654
|
-
modelId;
|
|
2655
|
-
provider;
|
|
2656
|
-
config;
|
|
2657
|
-
gateway;
|
|
2658
|
-
constructor(config) {
|
|
2659
|
-
let normalizedConfig;
|
|
2660
|
-
if (typeof config === "string") {
|
|
2661
|
-
normalizedConfig = { id: config };
|
|
2662
|
-
} else if ("providerId" in config && "modelId" in config) {
|
|
2663
|
-
normalizedConfig = {
|
|
2664
|
-
id: `${config.providerId}/${config.modelId}`,
|
|
2665
|
-
url: config.url,
|
|
2666
|
-
apiKey: config.apiKey,
|
|
2667
|
-
headers: config.headers
|
|
2668
|
-
};
|
|
2669
|
-
} else {
|
|
2670
|
-
normalizedConfig = {
|
|
2671
|
-
id: config.id,
|
|
2672
|
-
url: config.url,
|
|
2673
|
-
apiKey: config.apiKey,
|
|
2674
|
-
headers: config.headers
|
|
2675
|
-
};
|
|
2676
|
-
}
|
|
2677
|
-
const parsedConfig = {
|
|
2678
|
-
...normalizedConfig,
|
|
2679
|
-
routerId: normalizedConfig.id
|
|
2680
|
-
};
|
|
2681
|
-
this.gateway = findGatewayForModel(normalizedConfig.id, gateways);
|
|
2682
|
-
const parsed = chunkIJRERAWQ_cjs.parseModelRouterId(normalizedConfig.id, this.gateway.prefix);
|
|
2683
|
-
this.provider = parsed.providerId || "openai-compatible";
|
|
2684
|
-
if (parsed.providerId && parsed.modelId !== normalizedConfig.id) {
|
|
2685
|
-
parsedConfig.id = parsed.modelId;
|
|
2686
|
-
}
|
|
2687
|
-
this.modelId = parsedConfig.id;
|
|
2688
|
-
this.config = parsedConfig;
|
|
2689
|
-
}
|
|
2690
|
-
async doGenerate(options) {
|
|
2691
|
-
let apiKey;
|
|
2692
|
-
try {
|
|
2693
|
-
if (this.config.url) {
|
|
2694
|
-
apiKey = this.config.apiKey || "";
|
|
2695
|
-
} else {
|
|
2696
|
-
apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
|
|
2697
|
-
}
|
|
2698
|
-
} catch (error) {
|
|
2699
|
-
return {
|
|
2700
|
-
stream: new ReadableStream({
|
|
2701
|
-
start(controller) {
|
|
2702
|
-
controller.enqueue({
|
|
2703
|
-
type: "error",
|
|
2704
|
-
error
|
|
2705
|
-
});
|
|
2706
|
-
controller.close();
|
|
2707
|
-
}
|
|
2708
|
-
})
|
|
2709
|
-
};
|
|
2710
|
-
}
|
|
2711
|
-
const model = await this.resolveLanguageModel({
|
|
2712
|
-
apiKey,
|
|
2713
|
-
...chunkIJRERAWQ_cjs.parseModelRouterId(this.config.routerId, this.gateway.prefix)
|
|
2714
|
-
});
|
|
2715
|
-
const aiSDKV5Model = new AISDKV5LanguageModel(model);
|
|
2716
|
-
return aiSDKV5Model.doGenerate(options);
|
|
2717
|
-
}
|
|
2718
|
-
async doStream(options) {
|
|
2719
|
-
let apiKey;
|
|
2720
|
-
try {
|
|
2721
|
-
if (this.config.url) {
|
|
2722
|
-
apiKey = this.config.apiKey || "";
|
|
2723
|
-
} else {
|
|
2724
|
-
apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
|
|
2725
|
-
}
|
|
2726
|
-
} catch (error) {
|
|
2727
|
-
return {
|
|
2728
|
-
stream: new ReadableStream({
|
|
2729
|
-
start(controller) {
|
|
2730
|
-
controller.enqueue({
|
|
2731
|
-
type: "error",
|
|
2732
|
-
error
|
|
2733
|
-
});
|
|
2734
|
-
controller.close();
|
|
2735
|
-
}
|
|
2736
|
-
})
|
|
2737
|
-
};
|
|
2738
|
-
}
|
|
2739
|
-
const model = await this.resolveLanguageModel({
|
|
2740
|
-
apiKey,
|
|
2741
|
-
...chunkIJRERAWQ_cjs.parseModelRouterId(this.config.routerId, this.gateway.prefix)
|
|
2742
|
-
});
|
|
2743
|
-
const aiSDKV5Model = new AISDKV5LanguageModel(model);
|
|
2744
|
-
return aiSDKV5Model.doStream(options);
|
|
2745
|
-
}
|
|
2746
|
-
async resolveLanguageModel({
|
|
2747
|
-
modelId,
|
|
2748
|
-
providerId,
|
|
2749
|
-
apiKey
|
|
2750
|
-
}) {
|
|
2751
|
-
const key = crypto.createHash("sha256").update(this.gateway.name + modelId + providerId + apiKey + (this.config.url || "")).digest("hex");
|
|
2752
|
-
if (_ModelRouterLanguageModel.modelInstances.has(key)) return _ModelRouterLanguageModel.modelInstances.get(key);
|
|
2753
|
-
if (this.config.url) {
|
|
2754
|
-
const modelInstance2 = openaiCompatibleV5.createOpenAICompatible({
|
|
2755
|
-
name: providerId,
|
|
2756
|
-
apiKey,
|
|
2757
|
-
baseURL: this.config.url,
|
|
2758
|
-
headers: this.config.headers,
|
|
2759
|
-
supportsStructuredOutputs: true
|
|
2760
|
-
}).chatModel(modelId);
|
|
2761
|
-
_ModelRouterLanguageModel.modelInstances.set(key, modelInstance2);
|
|
2762
|
-
return modelInstance2;
|
|
2763
|
-
}
|
|
2764
|
-
const modelInstance = await this.gateway.resolveLanguageModel({ modelId, providerId, apiKey });
|
|
2765
|
-
_ModelRouterLanguageModel.modelInstances.set(key, modelInstance);
|
|
2766
|
-
return modelInstance;
|
|
2767
|
-
}
|
|
2768
|
-
static modelInstances = /* @__PURE__ */ new Map();
|
|
2769
|
-
};
|
|
2770
|
-
|
|
2771
|
-
// src/llm/model/resolve-model.ts
|
|
2772
|
-
function isOpenAICompatibleObjectConfig(modelConfig) {
|
|
2773
|
-
if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) return false;
|
|
2774
|
-
if (typeof modelConfig === "object" && !("model" in modelConfig)) {
|
|
2775
|
-
if ("id" in modelConfig) return true;
|
|
2776
|
-
if ("providerId" in modelConfig && "modelId" in modelConfig) return true;
|
|
2777
|
-
}
|
|
2778
|
-
return false;
|
|
2779
|
-
}
|
|
2780
|
-
async function resolveModelConfig(modelConfig, runtimeContext = new chunkGPWMM745_cjs.RuntimeContext(), mastra) {
|
|
2781
|
-
if (typeof modelConfig === "function") {
|
|
2782
|
-
modelConfig = await modelConfig({ runtimeContext, mastra });
|
|
2783
|
-
}
|
|
2784
|
-
if (modelConfig instanceof ModelRouterLanguageModel || modelConfig instanceof AISDKV5LanguageModel) {
|
|
2785
|
-
return modelConfig;
|
|
2786
|
-
}
|
|
2787
|
-
if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) {
|
|
2788
|
-
if (modelConfig.specificationVersion === "v2") {
|
|
2789
|
-
return new AISDKV5LanguageModel(modelConfig);
|
|
2790
|
-
}
|
|
2791
|
-
return modelConfig;
|
|
2792
|
-
}
|
|
2793
|
-
if (typeof modelConfig === "string" || isOpenAICompatibleObjectConfig(modelConfig)) {
|
|
2794
|
-
return new ModelRouterLanguageModel(modelConfig);
|
|
2795
|
-
}
|
|
2796
|
-
throw new Error("Invalid model configuration provided");
|
|
2797
|
-
}
|
|
2798
|
-
var ModelRouterEmbeddingModel = class {
|
|
2799
|
-
specificationVersion = "v2";
|
|
2800
|
-
modelId;
|
|
2801
|
-
provider;
|
|
2802
|
-
maxEmbeddingsPerCall = 2048;
|
|
2803
|
-
supportsParallelCalls = true;
|
|
2804
|
-
providerModel;
|
|
2805
|
-
constructor(config) {
|
|
2806
|
-
let normalizedConfig;
|
|
2807
|
-
if (typeof config === "string") {
|
|
2808
|
-
const parts = config.split("/");
|
|
2809
|
-
if (parts.length !== 2) {
|
|
2810
|
-
throw new Error(`Invalid model string format: "${config}". Expected format: "provider/model"`);
|
|
2811
|
-
}
|
|
2812
|
-
const [providerId, modelId] = parts;
|
|
2813
|
-
normalizedConfig = { providerId, modelId };
|
|
2814
|
-
} else if ("providerId" in config && "modelId" in config) {
|
|
2815
|
-
normalizedConfig = {
|
|
2816
|
-
providerId: config.providerId,
|
|
2817
|
-
modelId: config.modelId,
|
|
2818
|
-
url: config.url,
|
|
2819
|
-
apiKey: config.apiKey,
|
|
2820
|
-
headers: config.headers
|
|
2821
|
-
};
|
|
2822
|
-
} else {
|
|
2823
|
-
const parts = config.id.split("/");
|
|
2824
|
-
if (parts.length !== 2) {
|
|
2825
|
-
throw new Error(`Invalid model string format: "${config.id}". Expected format: "provider/model"`);
|
|
2826
|
-
}
|
|
2827
|
-
const [providerId, modelId] = parts;
|
|
2828
|
-
normalizedConfig = {
|
|
2829
|
-
providerId,
|
|
2830
|
-
modelId,
|
|
2831
|
-
url: config.url,
|
|
2832
|
-
apiKey: config.apiKey,
|
|
2833
|
-
headers: config.headers
|
|
2834
|
-
};
|
|
2835
|
-
}
|
|
2836
|
-
this.provider = normalizedConfig.providerId;
|
|
2837
|
-
this.modelId = normalizedConfig.modelId;
|
|
2838
|
-
if (normalizedConfig.url) {
|
|
2839
|
-
const apiKey = normalizedConfig.apiKey || "";
|
|
2840
|
-
this.providerModel = openaiCompatibleV5.createOpenAICompatible({
|
|
2841
|
-
name: normalizedConfig.providerId,
|
|
2842
|
-
apiKey,
|
|
2843
|
-
baseURL: normalizedConfig.url,
|
|
2844
|
-
headers: normalizedConfig.headers
|
|
2845
|
-
}).textEmbeddingModel(normalizedConfig.modelId);
|
|
2846
|
-
} else {
|
|
2847
|
-
const registry = GatewayRegistry.getInstance();
|
|
2848
|
-
const providerConfig = registry.getProviderConfig(normalizedConfig.providerId);
|
|
2849
|
-
if (!providerConfig) {
|
|
2850
|
-
throw new Error(`Unknown provider: ${normalizedConfig.providerId}`);
|
|
2851
|
-
}
|
|
2852
|
-
let apiKey = normalizedConfig.apiKey;
|
|
2853
|
-
if (!apiKey) {
|
|
2854
|
-
const apiKeyEnvVar = providerConfig.apiKeyEnvVar;
|
|
2855
|
-
if (Array.isArray(apiKeyEnvVar)) {
|
|
2856
|
-
for (const envVar of apiKeyEnvVar) {
|
|
2857
|
-
apiKey = process.env[envVar];
|
|
2858
|
-
if (apiKey) break;
|
|
2859
|
-
}
|
|
2860
|
-
} else {
|
|
2861
|
-
apiKey = process.env[apiKeyEnvVar];
|
|
2862
|
-
}
|
|
2863
|
-
}
|
|
2864
|
-
if (!apiKey) {
|
|
2865
|
-
const envVarDisplay = Array.isArray(providerConfig.apiKeyEnvVar) ? providerConfig.apiKeyEnvVar.join(" or ") : providerConfig.apiKeyEnvVar;
|
|
2866
|
-
throw new Error(`API key not found for provider ${normalizedConfig.providerId}. Set ${envVarDisplay}`);
|
|
2867
|
-
}
|
|
2868
|
-
if (normalizedConfig.providerId === "openai") {
|
|
2869
|
-
this.providerModel = openaiV5.createOpenAI({ apiKey }).textEmbeddingModel(
|
|
2870
|
-
normalizedConfig.modelId
|
|
2871
|
-
);
|
|
2872
|
-
} else if (normalizedConfig.providerId === "google") {
|
|
2873
|
-
this.providerModel = googleV5.createGoogleGenerativeAI({ apiKey }).textEmbedding(
|
|
2874
|
-
normalizedConfig.modelId
|
|
2875
|
-
);
|
|
2876
|
-
} else {
|
|
2877
|
-
if (!providerConfig.url) {
|
|
2878
|
-
throw new Error(`Provider ${normalizedConfig.providerId} does not have a URL configured`);
|
|
2879
|
-
}
|
|
2880
|
-
this.providerModel = openaiCompatibleV5.createOpenAICompatible({
|
|
2881
|
-
name: normalizedConfig.providerId,
|
|
2882
|
-
apiKey,
|
|
2883
|
-
baseURL: providerConfig.url
|
|
2884
|
-
}).textEmbeddingModel(normalizedConfig.modelId);
|
|
2885
|
-
}
|
|
2886
|
-
}
|
|
2887
|
-
if (this.providerModel.maxEmbeddingsPerCall !== void 0) {
|
|
2888
|
-
this.maxEmbeddingsPerCall = this.providerModel.maxEmbeddingsPerCall;
|
|
2889
|
-
}
|
|
2890
|
-
if (this.providerModel.supportsParallelCalls !== void 0) {
|
|
2891
|
-
this.supportsParallelCalls = this.providerModel.supportsParallelCalls;
|
|
2892
|
-
}
|
|
2893
|
-
}
|
|
2894
|
-
async doEmbed(args) {
|
|
2895
|
-
return this.providerModel.doEmbed(args);
|
|
2896
|
-
}
|
|
2897
|
-
};
|
|
2898
3150
|
|
|
2899
|
-
exports.
|
|
2900
|
-
exports.
|
|
3151
|
+
exports.GatewayRegistry = GatewayRegistry;
|
|
3152
|
+
exports.PROVIDER_MODELS = PROVIDER_MODELS;
|
|
2901
3153
|
exports.PROVIDER_REGISTRY = PROVIDER_REGISTRY;
|
|
2902
3154
|
exports.getProviderConfig = getProviderConfig;
|
|
3155
|
+
exports.getRegisteredProviders = getRegisteredProviders;
|
|
3156
|
+
exports.isProviderRegistered = isProviderRegistered;
|
|
3157
|
+
exports.isValidModelId = isValidModelId;
|
|
2903
3158
|
exports.parseModelString = parseModelString;
|
|
2904
|
-
|
|
2905
|
-
//# sourceMappingURL=chunk-
|
|
2906
|
-
//# sourceMappingURL=chunk-WNFLWMEP.cjs.map
|
|
3159
|
+
//# sourceMappingURL=chunk-RJOVFHWN.cjs.map
|
|
3160
|
+
//# sourceMappingURL=chunk-RJOVFHWN.cjs.map
|