@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.
Files changed (277) hide show
  1. package/CHANGELOG.md +306 -0
  2. package/dist/agent/agent.d.ts +8 -6
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.types.d.ts +2 -0
  5. package/dist/agent/agent.types.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +13 -13
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/input-processor/index.cjs +6 -6
  9. package/dist/agent/input-processor/index.js +1 -1
  10. package/dist/agent/message-list/index.d.ts.map +1 -1
  11. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  12. package/dist/agent/test-utils.d.ts +4 -3
  13. package/dist/agent/test-utils.d.ts.map +1 -1
  14. package/dist/agent/utils.d.ts.map +1 -1
  15. package/dist/agent/workflows/prepare-stream/index.d.ts +4 -4
  16. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  18. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +4 -4
  19. package/dist/agent/workflows/prepare-stream/schema.d.ts +4 -4
  20. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +8 -1
  21. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  22. package/dist/ai-tracing/index.cjs +36 -36
  23. package/dist/ai-tracing/index.js +1 -1
  24. package/dist/chunk-3PSWNGBF.js +3 -0
  25. package/dist/{chunk-ZV5CC35D.js.map → chunk-3PSWNGBF.js.map} +1 -1
  26. package/dist/{chunk-XHKMGOON.cjs → chunk-42RUESSD.cjs} +204 -150
  27. package/dist/chunk-42RUESSD.cjs.map +1 -0
  28. package/dist/{chunk-UD7DS7OY.cjs → chunk-46XGIEXM.cjs} +4 -4
  29. package/dist/{chunk-UD7DS7OY.cjs.map → chunk-46XGIEXM.cjs.map} +1 -1
  30. package/dist/{chunk-HGNRQ3OG.js → chunk-5O52O25J.js} +15 -8
  31. package/dist/chunk-5O52O25J.js.map +1 -0
  32. package/dist/{chunk-OLERJ2OU.js → chunk-6D2K2CAA.js} +7 -5
  33. package/dist/chunk-6D2K2CAA.js.map +1 -0
  34. package/dist/chunk-6XCINXZ7.cjs +194 -0
  35. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  36. package/dist/chunk-BJ6XIEC6.js +13 -0
  37. package/dist/chunk-BJ6XIEC6.js.map +1 -0
  38. package/dist/chunk-BWYU7D33.js +192 -0
  39. package/dist/chunk-BWYU7D33.js.map +1 -0
  40. package/dist/{chunk-R7UDZZA5.cjs → chunk-CT2DMHGC.cjs} +8 -8
  41. package/dist/{chunk-R7UDZZA5.cjs.map → chunk-CT2DMHGC.cjs.map} +1 -1
  42. package/dist/{chunk-YSQE5IHK.cjs → chunk-CYEQK4PM.cjs} +10 -8
  43. package/dist/chunk-CYEQK4PM.cjs.map +1 -0
  44. package/dist/{chunk-FCJ5INK7.js → chunk-DHLW4AP7.js} +3 -3
  45. package/dist/{chunk-FCJ5INK7.js.map → chunk-DHLW4AP7.js.map} +1 -1
  46. package/dist/{chunk-4UOIJRD6.cjs → chunk-GZDIHQDK.cjs} +4 -4
  47. package/dist/{chunk-4UOIJRD6.cjs.map → chunk-GZDIHQDK.cjs.map} +1 -1
  48. package/dist/{chunk-WCHE6FJ7.js → chunk-HCCXJ5YJ.js} +111 -6
  49. package/dist/chunk-HCCXJ5YJ.js.map +1 -0
  50. package/dist/{chunk-34ZCWSUA.js → chunk-HSX2K7HB.js} +15 -14
  51. package/dist/chunk-HSX2K7HB.js.map +1 -0
  52. package/dist/{chunk-LZFCR2SE.cjs → chunk-IAJHRFO4.cjs} +4 -4
  53. package/dist/{chunk-LZFCR2SE.cjs.map → chunk-IAJHRFO4.cjs.map} +1 -1
  54. package/dist/{chunk-4HQPVSGA.cjs → chunk-ICF3MCIN.cjs} +64 -12
  55. package/dist/chunk-ICF3MCIN.cjs.map +1 -0
  56. package/dist/{chunk-N2DOZAFH.js → chunk-INOOZ2A2.js} +760 -508
  57. package/dist/chunk-INOOZ2A2.js.map +1 -0
  58. package/dist/{chunk-3JX2Y3WH.cjs → chunk-IWU4YSYT.cjs} +16 -15
  59. package/dist/chunk-IWU4YSYT.cjs.map +1 -0
  60. package/dist/{chunk-3KVI2HLS.cjs → chunk-KWF3J2Q4.cjs} +11 -11
  61. package/dist/{chunk-3KVI2HLS.cjs.map → chunk-KWF3J2Q4.cjs.map} +1 -1
  62. package/dist/{chunk-TEW3ODXX.js → chunk-LAQQETGP.js} +36 -34
  63. package/dist/chunk-LAQQETGP.js.map +1 -0
  64. package/dist/{chunk-EUNOQ7HN.js → chunk-MRSBLBQ5.js} +4 -4
  65. package/dist/{chunk-EUNOQ7HN.js.map → chunk-MRSBLBQ5.js.map} +1 -1
  66. package/dist/{chunk-LLSLFDO6.js → chunk-NRQC7DQW.js} +57 -5
  67. package/dist/chunk-NRQC7DQW.js.map +1 -0
  68. package/dist/{chunk-WBAXXG34.cjs → chunk-PAOBGBU7.cjs} +112 -5
  69. package/dist/chunk-PAOBGBU7.cjs.map +1 -0
  70. package/dist/chunk-PE3V7GUL.cjs +4 -0
  71. package/dist/{chunk-LJFJTTZQ.cjs.map → chunk-PE3V7GUL.cjs.map} +1 -1
  72. package/dist/{chunk-DOLSYVNJ.cjs → chunk-PIH5FBNQ.cjs} +12 -12
  73. package/dist/{chunk-DOLSYVNJ.cjs.map → chunk-PIH5FBNQ.cjs.map} +1 -1
  74. package/dist/{chunk-4SXWN3RR.js → chunk-Q6LWNLAJ.js} +203 -149
  75. package/dist/chunk-Q6LWNLAJ.js.map +1 -0
  76. package/dist/{chunk-SL7VKAQ3.js → chunk-R6XC4DV5.js} +7 -7
  77. package/dist/chunk-R6XC4DV5.js.map +1 -0
  78. package/dist/{chunk-WNFLWMEP.cjs → chunk-RJOVFHWN.cjs} +765 -511
  79. package/dist/chunk-RJOVFHWN.cjs.map +1 -0
  80. package/dist/chunk-UCPGYU55.cjs +15 -0
  81. package/dist/chunk-UCPGYU55.cjs.map +1 -0
  82. package/dist/{chunk-K7MEUZ3O.js → chunk-UWTYVVVZ.js} +3 -3
  83. package/dist/{chunk-K7MEUZ3O.js.map → chunk-UWTYVVVZ.js.map} +1 -1
  84. package/dist/{chunk-ZISECZZO.js → chunk-VHEA3YXS.js} +2 -2
  85. package/dist/chunk-VHEA3YXS.js.map +1 -0
  86. package/dist/chunk-VXHOOZSK.js +446 -0
  87. package/dist/chunk-VXHOOZSK.js.map +1 -0
  88. package/dist/{chunk-NUAURT4I.cjs → chunk-W4UVO3HL.cjs} +2 -2
  89. package/dist/chunk-W4UVO3HL.cjs.map +1 -0
  90. package/dist/{chunk-ZIHEKHUB.js → chunk-WIMFJ2BA.js} +3 -3
  91. package/dist/{chunk-ZIHEKHUB.js.map → chunk-WIMFJ2BA.js.map} +1 -1
  92. package/dist/{chunk-LRSB62Z6.cjs → chunk-X7F4CSGR.cjs} +15 -8
  93. package/dist/chunk-X7F4CSGR.cjs.map +1 -0
  94. package/dist/{chunk-WUFFST2N.cjs → chunk-XDMQQZNX.cjs} +70 -68
  95. package/dist/chunk-XDMQQZNX.cjs.map +1 -0
  96. package/dist/chunk-XWGHD4C7.cjs +450 -0
  97. package/dist/chunk-XWGHD4C7.cjs.map +1 -0
  98. package/dist/{chunk-FZXAPBVV.js → chunk-Z6QCWTTO.js} +3 -3
  99. package/dist/{chunk-FZXAPBVV.js.map → chunk-Z6QCWTTO.js.map} +1 -1
  100. package/dist/{chunk-GWACPQ56.js → chunk-ZIWN73GQ.js} +5 -5
  101. package/dist/{chunk-GWACPQ56.js.map → chunk-ZIWN73GQ.js.map} +1 -1
  102. package/dist/{chunk-IJRERAWQ.cjs → chunk-ZOYE65RA.cjs} +8 -8
  103. package/dist/chunk-ZOYE65RA.cjs.map +1 -0
  104. package/dist/index.cjs +75 -54
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.js +15 -10
  107. package/dist/index.js.map +1 -1
  108. package/dist/llm/index.cjs +24 -8
  109. package/dist/llm/index.d.ts +1 -0
  110. package/dist/llm/index.d.ts.map +1 -1
  111. package/dist/llm/index.js +5 -1
  112. package/dist/llm/model/gateways/base.d.ts +9 -4
  113. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  114. package/dist/llm/model/gateways/index.d.ts +3 -1
  115. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  116. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  117. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  118. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  119. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  120. package/dist/llm/model/model.d.ts.map +1 -1
  121. package/dist/llm/model/model.loop.d.ts +1 -1
  122. package/dist/llm/model/model.loop.d.ts.map +1 -1
  123. package/dist/llm/model/provider-registry.d.ts +11 -1
  124. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  125. package/dist/llm/model/provider-types.generated.d.ts +324 -29
  126. package/dist/llm/model/registry-generator.d.ts +12 -0
  127. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  128. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  129. package/dist/llm/model/router.d.ts +6 -1
  130. package/dist/llm/model/router.d.ts.map +1 -1
  131. package/dist/loop/index.cjs +2 -2
  132. package/dist/loop/index.js +1 -1
  133. package/dist/loop/loop.d.ts.map +1 -1
  134. package/dist/loop/network/index.d.ts +6 -6
  135. package/dist/loop/network/index.d.ts.map +1 -1
  136. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  137. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  138. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  139. package/dist/loop/types.d.ts +8 -0
  140. package/dist/loop/types.d.ts.map +1 -1
  141. package/dist/loop/workflows/agentic-execution/index.d.ts +36 -36
  142. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  143. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +24 -24
  144. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  145. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +12 -12
  146. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  147. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  148. package/dist/loop/workflows/agentic-loop/index.d.ts +36 -36
  149. package/dist/loop/workflows/schema.d.ts +16 -16
  150. package/dist/mastra/index.cjs +2 -2
  151. package/dist/mastra/index.d.ts +23 -0
  152. package/dist/mastra/index.d.ts.map +1 -1
  153. package/dist/mastra/index.js +1 -1
  154. package/dist/memory/index.cjs +4 -4
  155. package/dist/memory/index.js +1 -1
  156. package/dist/memory/types.d.ts +3 -2
  157. package/dist/memory/types.d.ts.map +1 -1
  158. package/dist/models-dev-LJ4O6FNF.js +3 -0
  159. package/dist/{models-dev-BL5TAKE6.js.map → models-dev-LJ4O6FNF.js.map} +1 -1
  160. package/dist/models-dev-T2CXOEDH.cjs +12 -0
  161. package/dist/{models-dev-HZ3LZHPX.cjs.map → models-dev-T2CXOEDH.cjs.map} +1 -1
  162. package/dist/netlify-BAEMIQNH.cjs +12 -0
  163. package/dist/{netlify-TX6V7SJJ.cjs.map → netlify-BAEMIQNH.cjs.map} +1 -1
  164. package/dist/netlify-L7AZ74PV.js +3 -0
  165. package/dist/{netlify-VJXBII33.js.map → netlify-L7AZ74PV.js.map} +1 -1
  166. package/dist/processors/index.cjs +11 -11
  167. package/dist/processors/index.js +1 -1
  168. package/dist/provider-registry-RUDYHG7J.cjs +40 -0
  169. package/dist/provider-registry-RUDYHG7J.cjs.map +1 -0
  170. package/dist/provider-registry-THITZUJ7.js +3 -0
  171. package/dist/provider-registry-THITZUJ7.js.map +1 -0
  172. package/dist/provider-registry.json +705 -68
  173. package/dist/{registry-generator-6WVOHM2L.cjs → registry-generator-DL42NMBM.cjs} +23 -6
  174. package/dist/registry-generator-DL42NMBM.cjs.map +1 -0
  175. package/dist/{registry-generator-DXRSYYYT.js → registry-generator-I6S4ARS6.js} +23 -7
  176. package/dist/registry-generator-I6S4ARS6.js.map +1 -0
  177. package/dist/relevance/index.cjs +4 -4
  178. package/dist/relevance/index.js +1 -1
  179. package/dist/scores/index.cjs +9 -9
  180. package/dist/scores/index.js +2 -2
  181. package/dist/scores/scoreTraces/index.cjs +8 -8
  182. package/dist/scores/scoreTraces/index.js +3 -3
  183. package/dist/server/composite-auth.d.ts +9 -0
  184. package/dist/server/composite-auth.d.ts.map +1 -0
  185. package/dist/server/index.cjs +83 -1
  186. package/dist/server/index.cjs.map +1 -1
  187. package/dist/server/index.d.ts +3 -0
  188. package/dist/server/index.d.ts.map +1 -1
  189. package/dist/server/index.js +82 -2
  190. package/dist/server/index.js.map +1 -1
  191. package/dist/server/simple-auth.d.ts +32 -0
  192. package/dist/server/simple-auth.d.ts.map +1 -0
  193. package/dist/storage/index.cjs +3 -3
  194. package/dist/storage/index.js +1 -1
  195. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  196. package/dist/stream/base/output.d.ts.map +1 -1
  197. package/dist/stream/index.cjs +11 -11
  198. package/dist/stream/index.js +2 -2
  199. package/dist/stream/types.d.ts +7 -2
  200. package/dist/stream/types.d.ts.map +1 -1
  201. package/dist/test-utils/llm-mock.cjs +2 -2
  202. package/dist/test-utils/llm-mock.js +1 -1
  203. package/dist/tools/index.cjs +2 -2
  204. package/dist/tools/index.js +1 -1
  205. package/dist/tools/stream.d.ts +1 -0
  206. package/dist/tools/stream.d.ts.map +1 -1
  207. package/dist/utils.cjs +17 -17
  208. package/dist/utils.js +1 -1
  209. package/dist/vector/filter/index.cjs +7 -189
  210. package/dist/vector/filter/index.cjs.map +1 -1
  211. package/dist/vector/filter/index.js +1 -190
  212. package/dist/vector/filter/index.js.map +1 -1
  213. package/dist/vector/index.cjs +9 -4
  214. package/dist/vector/index.d.ts +1 -0
  215. package/dist/vector/index.d.ts.map +1 -1
  216. package/dist/vector/index.js +2 -1
  217. package/dist/vector/types.d.ts +86 -3
  218. package/dist/vector/types.d.ts.map +1 -1
  219. package/dist/vector/vector.d.ts +39 -2
  220. package/dist/vector/vector.d.ts.map +1 -1
  221. package/dist/voice/aisdk/index.d.ts +3 -0
  222. package/dist/voice/aisdk/index.d.ts.map +1 -0
  223. package/dist/voice/aisdk/speech.d.ts +23 -0
  224. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  225. package/dist/voice/aisdk/transcription.d.ts +22 -0
  226. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  227. package/dist/voice/composite-voice.d.ts +3 -2
  228. package/dist/voice/composite-voice.d.ts.map +1 -1
  229. package/dist/voice/index.cjs +12 -4
  230. package/dist/voice/index.d.ts +1 -0
  231. package/dist/voice/index.d.ts.map +1 -1
  232. package/dist/voice/index.js +1 -1
  233. package/dist/workflows/evented/index.cjs +10 -10
  234. package/dist/workflows/evented/index.js +1 -1
  235. package/dist/workflows/index.cjs +14 -14
  236. package/dist/workflows/index.js +1 -1
  237. package/dist/workflows/legacy/index.cjs +22 -22
  238. package/dist/workflows/legacy/index.js +1 -1
  239. package/dist/workflows/legacy/machine.d.ts +1 -1
  240. package/dist/workflows/legacy/workflow-instance.d.ts +2 -2
  241. package/dist/workflows/utils.d.ts.map +1 -1
  242. package/dist/workflows/workflow.d.ts +2 -0
  243. package/dist/workflows/workflow.d.ts.map +1 -1
  244. package/package.json +5 -5
  245. package/src/llm/model/provider-types.generated.d.ts +324 -29
  246. package/dist/chunk-34ZCWSUA.js.map +0 -1
  247. package/dist/chunk-3JX2Y3WH.cjs.map +0 -1
  248. package/dist/chunk-4HQPVSGA.cjs.map +0 -1
  249. package/dist/chunk-4SXWN3RR.js.map +0 -1
  250. package/dist/chunk-HF3GZRFP.cjs +0 -9
  251. package/dist/chunk-HF3GZRFP.cjs.map +0 -1
  252. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  253. package/dist/chunk-IJRERAWQ.cjs.map +0 -1
  254. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  255. package/dist/chunk-LLSLFDO6.js.map +0 -1
  256. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  257. package/dist/chunk-N2DOZAFH.js.map +0 -1
  258. package/dist/chunk-NUAURT4I.cjs.map +0 -1
  259. package/dist/chunk-OLERJ2OU.js.map +0 -1
  260. package/dist/chunk-RKXWLG33.js +0 -7
  261. package/dist/chunk-RKXWLG33.js.map +0 -1
  262. package/dist/chunk-SL7VKAQ3.js.map +0 -1
  263. package/dist/chunk-TEW3ODXX.js.map +0 -1
  264. package/dist/chunk-WBAXXG34.cjs.map +0 -1
  265. package/dist/chunk-WCHE6FJ7.js.map +0 -1
  266. package/dist/chunk-WNFLWMEP.cjs.map +0 -1
  267. package/dist/chunk-WUFFST2N.cjs.map +0 -1
  268. package/dist/chunk-XHKMGOON.cjs.map +0 -1
  269. package/dist/chunk-YSQE5IHK.cjs.map +0 -1
  270. package/dist/chunk-ZISECZZO.js.map +0 -1
  271. package/dist/chunk-ZV5CC35D.js +0 -3
  272. package/dist/models-dev-BL5TAKE6.js +0 -3
  273. package/dist/models-dev-HZ3LZHPX.cjs +0 -12
  274. package/dist/netlify-TX6V7SJJ.cjs +0 -12
  275. package/dist/netlify-VJXBII33.js +0 -3
  276. package/dist/registry-generator-6WVOHM2L.cjs.map +0 -1
  277. 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: ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
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: ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
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
- "cerebras/qwen3-coder",
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.studio.nebius.com/v1/",
353
+ url: "https://api.tokenfactory.nebius.com/v1",
341
354
  apiKeyEnvVar: "NEBIUS_API_KEY",
342
355
  apiKeyHeader: "Authorization",
343
- name: "Nebius AI Studio",
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.studio.nebius.com/quickstart",
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-30B-A3B-Thinking-2507",
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-Next-80B-A3B-Thinking",
482
- "chutesai/Devstral-Small-2505",
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
- "moonshotai/Kimi-Dev-72B",
523
+ "microsoft/MAI-DS-R1-FP8",
495
524
  "moonshotai/Kimi-K2-Instruct-0905",
496
- "moonshotai/Kimi-K2-Instruct-75k",
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.5-FP8",
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: ["Qwen3/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
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
- "an-gbt",
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
- "minimax-m2",
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:free",
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-sonnet-20250522",
1282
+ "anthropic/claude-haiku-4-5",
1076
1283
  "anthropic/claude-opus-4",
1077
- "anthropic/claude-opus-4-1-20250805",
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", "qwen-3-coder-480b"],
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": ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
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: ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
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
- "cerebras/qwen3-coder",
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-30B-A3B-Thinking-2507",
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-Next-80B-A3B-Thinking",
1592
- "chutesai/Devstral-Small-2505",
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
- "moonshotai/Kimi-Dev-72B",
1972
+ "microsoft/MAI-DS-R1-FP8",
1605
1973
  "moonshotai/Kimi-K2-Instruct-0905",
1606
- "moonshotai/Kimi-K2-Instruct-75k",
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.5-FP8",
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: ["Qwen3/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
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
- "an-gbt",
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
- "minimax-m2",
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:free",
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-sonnet-20250522",
2528
+ "anthropic/claude-haiku-4-5",
2015
2529
  "anthropic/claude-opus-4",
2016
- "anthropic/claude-opus-4-1-20250805",
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
- cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b"],
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
- fs__default.default.writeFileSync(localJsonPath, globalJsonContent, "utf-8");
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
- fs__default.default.writeFileSync(localDtsPath, globalDtsContent, "utf-8");
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-WNFLWMEP.cjs', document.baseURI).href)) || "file://");
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: ModelsDevGateway2 } = await import('./models-dev-HZ3LZHPX.cjs');
2362
- const { NetlifyGateway: NetlifyGateway2 } = await import('./netlify-TX6V7SJJ.cjs');
2363
- const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-6WVOHM2L.cjs');
2364
- const gateways2 = [new ModelsDevGateway2({}), new NetlifyGateway2()];
2365
- const { providers, models } = await fetchProvidersFromGateways(gateways2);
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.ModelRouterEmbeddingModel = ModelRouterEmbeddingModel;
2900
- exports.ModelRouterLanguageModel = ModelRouterLanguageModel;
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
- exports.resolveModelConfig = resolveModelConfig;
2905
- //# sourceMappingURL=chunk-WNFLWMEP.cjs.map
2906
- //# sourceMappingURL=chunk-WNFLWMEP.cjs.map
3159
+ //# sourceMappingURL=chunk-RJOVFHWN.cjs.map
3160
+ //# sourceMappingURL=chunk-RJOVFHWN.cjs.map