@mastra/core 1.0.0-beta.0 → 1.0.0-beta.10

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 (562) hide show
  1. package/CHANGELOG.md +1136 -0
  2. package/dist/agent/agent-legacy.d.ts +19 -22
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent-types.test-d.d.ts +2 -0
  5. package/dist/agent/agent-types.test-d.d.ts.map +1 -0
  6. package/dist/agent/agent.d.ts +6 -6
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +6 -4
  9. package/dist/agent/agent.types.d.ts.map +1 -1
  10. package/dist/agent/index.cjs +9 -9
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +3 -3
  13. package/dist/agent/message-list/index.d.ts +60 -3
  14. package/dist/agent/message-list/index.d.ts.map +1 -1
  15. package/dist/agent/message-list/index.js +1 -1
  16. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  17. package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
  18. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  19. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  20. package/dist/agent/save-queue/index.d.ts +3 -1
  21. package/dist/agent/save-queue/index.d.ts.map +1 -1
  22. package/dist/agent/test-utils.d.ts +37 -0
  23. package/dist/agent/test-utils.d.ts.map +1 -1
  24. package/dist/agent/trip-wire.d.ts.map +1 -1
  25. package/dist/agent/types.d.ts +21 -6
  26. package/dist/agent/types.d.ts.map +1 -1
  27. package/dist/agent/utils.d.ts +3 -3
  28. package/dist/agent/utils.d.ts.map +1 -1
  29. package/dist/agent/workflows/prepare-stream/index.d.ts +9 -7
  30. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  31. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  32. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  33. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +6 -5
  34. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  35. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  36. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  37. package/dist/agent/workflows/prepare-stream/schema.d.ts +8 -8
  38. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  39. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
  40. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  41. package/dist/base.cjs +2 -2
  42. package/dist/base.js +1 -1
  43. package/dist/bundler/index.cjs +2 -2
  44. package/dist/bundler/index.js +1 -1
  45. package/dist/cache/index.cjs +3 -3
  46. package/dist/cache/index.js +1 -1
  47. package/dist/{chunk-4CDL2QJT.js → chunk-267YOF47.js} +121 -36
  48. package/dist/chunk-267YOF47.js.map +1 -0
  49. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  50. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  51. package/dist/{chunk-JV2KH24V.js → chunk-3GKKHF36.js} +693 -375
  52. package/dist/chunk-3GKKHF36.js.map +1 -0
  53. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  54. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  55. package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
  56. package/dist/chunk-4JKEUSCC.cjs.map +1 -0
  57. package/dist/{chunk-XEVG546F.js → chunk-4Q3Z6QRE.js} +178 -12
  58. package/dist/chunk-4Q3Z6QRE.js.map +1 -0
  59. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  60. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  61. package/dist/{chunk-26SQQNMU.js → chunk-6CYYFT4O.js} +11389 -8193
  62. package/dist/chunk-6CYYFT4O.js.map +1 -0
  63. package/dist/{chunk-32CTMD2C.js → chunk-6ONQWD6S.js} +1221 -347
  64. package/dist/chunk-6ONQWD6S.js.map +1 -0
  65. package/dist/{chunk-J7O6WENZ.cjs → chunk-6TBWJV35.js} +5 -5
  66. package/dist/chunk-6TBWJV35.js.map +1 -0
  67. package/dist/chunk-6XCINXZ7.cjs +194 -0
  68. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  69. package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
  70. package/dist/chunk-72YCRTEX.cjs.map +1 -0
  71. package/dist/{chunk-BXOL277H.cjs → chunk-7THRV5KZ.cjs} +762 -27
  72. package/dist/chunk-7THRV5KZ.cjs.map +1 -0
  73. package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
  74. package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
  75. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  76. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  77. package/dist/{chunk-QCQLOMJM.cjs → chunk-BCRRHJGV.cjs} +206 -65
  78. package/dist/chunk-BCRRHJGV.cjs.map +1 -0
  79. package/dist/chunk-BWYU7D33.js +192 -0
  80. package/dist/chunk-BWYU7D33.js.map +1 -0
  81. package/dist/{chunk-MV7KHWUT.js → chunk-BXONP7HX.js} +391 -15
  82. package/dist/chunk-BXONP7HX.js.map +1 -0
  83. package/dist/chunk-CDRYT2A5.js +513 -0
  84. package/dist/chunk-CDRYT2A5.js.map +1 -0
  85. package/dist/{chunk-S5MJLXMG.cjs → chunk-CZEJQSWB.cjs} +481 -124
  86. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  87. package/dist/chunk-DD2VNRQM.js +62 -0
  88. package/dist/chunk-DD2VNRQM.js.map +1 -0
  89. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  90. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  91. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  92. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  93. package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
  94. package/dist/chunk-F2GAJSBI.js.map +1 -0
  95. package/dist/{chunk-VOY2RXOC.cjs → chunk-G4IFCTL5.cjs} +182 -15
  96. package/dist/chunk-G4IFCTL5.cjs.map +1 -0
  97. package/dist/chunk-KJBMTK5B.cjs +64 -0
  98. package/dist/chunk-KJBMTK5B.cjs.map +1 -0
  99. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  100. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  101. package/dist/chunk-MGCGWPQJ.cjs +275 -0
  102. package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
  103. package/dist/chunk-MRFUISXC.cjs +4981 -0
  104. package/dist/chunk-MRFUISXC.cjs.map +1 -0
  105. package/dist/chunk-MSZP3FNH.cjs +518 -0
  106. package/dist/chunk-MSZP3FNH.cjs.map +1 -0
  107. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  108. package/dist/chunk-NRUZYMHE.js.map +1 -0
  109. package/dist/{chunk-7SKXKUYT.js → chunk-NUA6TSRD.js} +752 -17
  110. package/dist/chunk-NUA6TSRD.js.map +1 -0
  111. package/dist/chunk-OEIVMCWX.js +4959 -0
  112. package/dist/chunk-OEIVMCWX.js.map +1 -0
  113. package/dist/{chunk-VJUZZB2I.js → chunk-OIDPIW42.js} +26 -11
  114. package/dist/chunk-OIDPIW42.js.map +1 -0
  115. package/dist/{chunk-QUZGDSWE.cjs → chunk-OYIDRI3A.cjs} +32 -17
  116. package/dist/chunk-OYIDRI3A.cjs.map +1 -0
  117. package/dist/{chunk-YIK3ASEG.cjs → chunk-P2D2VO2O.cjs} +1226 -350
  118. package/dist/chunk-P2D2VO2O.cjs.map +1 -0
  119. package/dist/{chunk-L7XKOKOW.js → chunk-PK2A5WBG.js} +472 -125
  120. package/dist/chunk-PK2A5WBG.js.map +1 -0
  121. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  122. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  123. package/dist/{chunk-WM6CK2F3.cjs → chunk-QD3UWFAV.cjs} +130 -48
  124. package/dist/chunk-QD3UWFAV.cjs.map +1 -0
  125. package/dist/{chunk-FD734TPS.cjs → chunk-SL7Q6IZF.cjs} +11425 -8211
  126. package/dist/chunk-SL7Q6IZF.cjs.map +1 -0
  127. package/dist/{chunk-ECFXGXWO.cjs → chunk-SSPUH2N7.cjs} +693 -375
  128. package/dist/chunk-SSPUH2N7.cjs.map +1 -0
  129. package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
  130. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
  131. package/dist/chunk-THZTRBFS.js +268 -0
  132. package/dist/chunk-THZTRBFS.js.map +1 -0
  133. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  134. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  135. package/dist/{chunk-GRBGQ2GE.js → chunk-UVHSM2GU.cjs} +9 -3
  136. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  137. package/dist/{chunk-GGYKYORQ.cjs → chunk-WX2DLWXF.cjs} +407 -22
  138. package/dist/chunk-WX2DLWXF.cjs.map +1 -0
  139. package/dist/{chunk-P6APHXPZ.js → chunk-XRJQ5ZA7.js} +179 -38
  140. package/dist/chunk-XRJQ5ZA7.js.map +1 -0
  141. package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
  142. package/dist/chunk-Y36Y5MTD.js.map +1 -0
  143. package/dist/{chunk-VV753WCB.cjs → chunk-YWMMBIOM.cjs} +21 -20
  144. package/dist/chunk-YWMMBIOM.cjs.map +1 -0
  145. package/dist/{chunk-BU4IAJWF.js → chunk-Z57R5WS4.js} +16 -15
  146. package/dist/chunk-Z57R5WS4.js.map +1 -0
  147. package/dist/deployer/index.cjs +2 -2
  148. package/dist/deployer/index.js +1 -1
  149. package/dist/di/index.cjs +10 -2
  150. package/dist/di/index.d.ts +1 -1
  151. package/dist/di/index.d.ts.map +1 -1
  152. package/dist/di/index.js +1 -1
  153. package/dist/evals/base.d.ts +10 -2
  154. package/dist/evals/base.d.ts.map +1 -1
  155. package/dist/evals/base.test-utils.d.ts +25 -25
  156. package/dist/evals/index.cjs +9 -9
  157. package/dist/evals/index.js +2 -2
  158. package/dist/evals/scoreTraces/index.cjs +7 -6
  159. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  160. package/dist/evals/scoreTraces/index.js +4 -3
  161. package/dist/evals/scoreTraces/index.js.map +1 -1
  162. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  163. package/dist/evals/types.d.ts +25 -24
  164. package/dist/evals/types.d.ts.map +1 -1
  165. package/dist/index.cjs +2 -2
  166. package/dist/index.js +1 -1
  167. package/dist/integration/index.cjs +2 -2
  168. package/dist/integration/index.js +1 -1
  169. package/dist/llm/index.cjs +30 -10
  170. package/dist/llm/index.d.ts +2 -0
  171. package/dist/llm/index.d.ts.map +1 -1
  172. package/dist/llm/index.js +5 -1
  173. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  174. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  175. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  176. package/dist/llm/model/gateways/azure.d.ts +36 -0
  177. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  178. package/dist/llm/model/gateways/base.d.ts +9 -4
  179. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  180. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  181. package/dist/llm/model/gateways/index.d.ts +4 -1
  182. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  183. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  184. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  185. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  186. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  187. package/dist/llm/model/is-v2-model.d.ts +3 -0
  188. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  189. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  190. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  191. package/dist/llm/model/model.d.ts.map +1 -1
  192. package/dist/llm/model/model.loop.d.ts +2 -2
  193. package/dist/llm/model/model.loop.d.ts.map +1 -1
  194. package/dist/llm/model/model.loop.types.d.ts +2 -0
  195. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  196. package/dist/llm/model/provider-options.d.ts +4 -1
  197. package/dist/llm/model/provider-options.d.ts.map +1 -1
  198. package/dist/llm/model/provider-registry.d.ts +11 -1
  199. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  200. package/dist/llm/model/provider-types.generated.d.ts +520 -33
  201. package/dist/llm/model/registry-generator.d.ts +12 -0
  202. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  203. package/dist/llm/model/resolve-model.d.ts +1 -1
  204. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  205. package/dist/llm/model/router.d.ts +12 -5
  206. package/dist/llm/model/router.d.ts.map +1 -1
  207. package/dist/llm/model/shared.types.d.ts +10 -4
  208. package/dist/llm/model/shared.types.d.ts.map +1 -1
  209. package/dist/logger/constants.d.ts +1 -0
  210. package/dist/logger/constants.d.ts.map +1 -1
  211. package/dist/logger/index.cjs +11 -11
  212. package/dist/logger/index.js +2 -2
  213. package/dist/logger/transport.d.ts +1 -1
  214. package/dist/logger/transport.d.ts.map +1 -1
  215. package/dist/loop/index.cjs +2 -2
  216. package/dist/loop/index.js +1 -1
  217. package/dist/loop/loop.d.ts.map +1 -1
  218. package/dist/loop/network/index.d.ts.map +1 -1
  219. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  220. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  221. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  222. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  223. package/dist/loop/test-utils/options.d.ts.map +1 -1
  224. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  225. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  226. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  227. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  228. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  229. package/dist/loop/test-utils/utils.d.ts +1 -1
  230. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  231. package/dist/loop/types.d.ts +22 -5
  232. package/dist/loop/types.d.ts.map +1 -1
  233. package/dist/loop/workflows/agentic-execution/index.d.ts +42 -42
  234. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  235. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +29 -29
  236. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  237. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +14 -14
  238. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  239. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  240. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  241. package/dist/loop/workflows/agentic-loop/index.d.ts +44 -43
  242. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  243. package/dist/loop/workflows/run-state.d.ts +2 -2
  244. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  245. package/dist/loop/workflows/schema.d.ts +14 -14
  246. package/dist/loop/workflows/stream.d.ts +1 -1
  247. package/dist/loop/workflows/stream.d.ts.map +1 -1
  248. package/dist/mastra/index.cjs +2 -2
  249. package/dist/mastra/index.d.ts +377 -12
  250. package/dist/mastra/index.d.ts.map +1 -1
  251. package/dist/mastra/index.js +1 -1
  252. package/dist/mcp/index.cjs +4 -4
  253. package/dist/mcp/index.cjs.map +1 -1
  254. package/dist/mcp/index.d.ts +4 -4
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +2 -2
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/types.d.ts +2 -2
  259. package/dist/mcp/types.d.ts.map +1 -1
  260. package/dist/memory/index.cjs +21 -327
  261. package/dist/memory/index.cjs.map +1 -1
  262. package/dist/memory/index.js +1 -327
  263. package/dist/memory/index.js.map +1 -1
  264. package/dist/memory/memory.d.ts +28 -18
  265. package/dist/memory/memory.d.ts.map +1 -1
  266. package/dist/memory/mock.d.ts +15 -14
  267. package/dist/memory/mock.d.ts.map +1 -1
  268. package/dist/memory/types.d.ts +69 -11
  269. package/dist/memory/types.d.ts.map +1 -1
  270. package/dist/models-dev-23RN2WHG.js +3 -0
  271. package/dist/{models-dev-7U4NRMM3.js.map → models-dev-23RN2WHG.js.map} +1 -1
  272. package/dist/models-dev-EO3SUIY2.cjs +12 -0
  273. package/dist/{models-dev-VKSAQPRK.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
  274. package/dist/netlify-GXJ5D5DD.js +3 -0
  275. package/dist/{netlify-42ZNWIDQ.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  276. package/dist/netlify-KJLY3GFS.cjs +12 -0
  277. package/dist/{netlify-2IDXTNFW.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  278. package/dist/observability/index.cjs +16 -8
  279. package/dist/observability/index.js +1 -1
  280. package/dist/observability/types/tracing.d.ts +236 -13
  281. package/dist/observability/types/tracing.d.ts.map +1 -1
  282. package/dist/observability/utils.d.ts +47 -1
  283. package/dist/observability/utils.d.ts.map +1 -1
  284. package/dist/processors/index.cjs +35 -11
  285. package/dist/processors/index.d.ts +101 -23
  286. package/dist/processors/index.d.ts.map +1 -1
  287. package/dist/processors/index.js +1 -1
  288. package/dist/processors/memory/index.d.ts +7 -0
  289. package/dist/processors/memory/index.d.ts.map +1 -0
  290. package/dist/processors/memory/message-history.d.ts +43 -0
  291. package/dist/processors/memory/message-history.d.ts.map +1 -0
  292. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  293. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  294. package/dist/processors/memory/working-memory.d.ts +65 -0
  295. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  296. package/dist/processors/processors/batch-parts.d.ts +1 -1
  297. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  298. package/dist/processors/processors/index.d.ts +2 -1
  299. package/dist/processors/processors/index.d.ts.map +1 -1
  300. package/dist/processors/processors/language-detector.d.ts +15 -1
  301. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  302. package/dist/processors/processors/moderation.d.ts +15 -1
  303. package/dist/processors/processors/moderation.d.ts.map +1 -1
  304. package/dist/processors/processors/pii-detector.d.ts +15 -1
  305. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  306. package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
  307. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  308. package/dist/processors/processors/structured-output.d.ts +3 -2
  309. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  310. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  311. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  312. package/dist/processors/processors/token-limiter.d.ts +22 -12
  313. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  314. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  315. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  316. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  317. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  318. package/dist/processors/runner.d.ts +35 -4
  319. package/dist/processors/runner.d.ts.map +1 -1
  320. package/dist/provider-registry-A7FILT6Q.cjs +40 -0
  321. package/dist/provider-registry-A7FILT6Q.cjs.map +1 -0
  322. package/dist/provider-registry-XM2YDI5X.js +3 -0
  323. package/dist/provider-registry-XM2YDI5X.js.map +1 -0
  324. package/dist/provider-registry.json +1135 -77
  325. package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
  326. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  327. package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
  328. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  329. package/dist/relevance/index.cjs +2 -2
  330. package/dist/relevance/index.js +1 -1
  331. package/dist/request-context/index.cjs +10 -2
  332. package/dist/request-context/index.d.ts +26 -0
  333. package/dist/request-context/index.d.ts.map +1 -1
  334. package/dist/request-context/index.js +1 -1
  335. package/dist/server/auth.d.ts +11 -0
  336. package/dist/server/auth.d.ts.map +1 -1
  337. package/dist/server/base.d.ts +51 -0
  338. package/dist/server/base.d.ts.map +1 -0
  339. package/dist/server/composite-auth.d.ts +9 -0
  340. package/dist/server/composite-auth.d.ts.map +1 -0
  341. package/dist/server/index.cjs +124 -3
  342. package/dist/server/index.cjs.map +1 -1
  343. package/dist/server/index.d.ts +8 -0
  344. package/dist/server/index.d.ts.map +1 -1
  345. package/dist/server/index.js +121 -3
  346. package/dist/server/index.js.map +1 -1
  347. package/dist/server/simple-auth.d.ts +27 -0
  348. package/dist/server/simple-auth.d.ts.map +1 -0
  349. package/dist/storage/base.d.ts +76 -3
  350. package/dist/storage/base.d.ts.map +1 -1
  351. package/dist/storage/constants.d.ts +3 -1
  352. package/dist/storage/constants.d.ts.map +1 -1
  353. package/dist/storage/domains/agents/base.d.ts +49 -0
  354. package/dist/storage/domains/agents/base.d.ts.map +1 -0
  355. package/dist/storage/domains/agents/index.d.ts +3 -0
  356. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  357. package/dist/storage/domains/agents/inmemory.d.ts +22 -0
  358. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
  359. package/dist/storage/domains/index.d.ts +1 -0
  360. package/dist/storage/domains/index.d.ts.map +1 -1
  361. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  362. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  363. package/dist/storage/domains/scores/base.d.ts +2 -2
  364. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  365. package/dist/storage/domains/scores/inmemory.d.ts +2 -2
  366. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  367. package/dist/storage/domains/workflows/base.d.ts +4 -0
  368. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  369. package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
  370. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  371. package/dist/storage/index.cjs +65 -29
  372. package/dist/storage/index.js +1 -1
  373. package/dist/storage/mock.d.ts +7 -2
  374. package/dist/storage/mock.d.ts.map +1 -1
  375. package/dist/storage/storageWithInit.d.ts.map +1 -1
  376. package/dist/storage/types.d.ts +85 -2
  377. package/dist/storage/types.d.ts.map +1 -1
  378. package/dist/storage/utils.d.ts +82 -0
  379. package/dist/storage/utils.d.ts.map +1 -1
  380. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  381. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  382. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  383. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  384. package/dist/stream/RunOutput.d.ts +2 -2
  385. package/dist/stream/RunOutput.d.ts.map +1 -1
  386. package/dist/stream/aisdk/v4/usage.d.ts +19 -0
  387. package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
  388. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  389. package/dist/stream/aisdk/v5/execute.d.ts +8 -4
  390. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  391. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  392. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  393. package/dist/stream/aisdk/v5/output.d.ts +9 -9
  394. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  395. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  396. package/dist/stream/base/base.d.ts +1 -1
  397. package/dist/stream/base/base.d.ts.map +1 -1
  398. package/dist/stream/base/input.d.ts +1 -1
  399. package/dist/stream/base/output-format-handlers.d.ts +14 -1
  400. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  401. package/dist/stream/base/output.d.ts +3 -3
  402. package/dist/stream/base/output.d.ts.map +1 -1
  403. package/dist/stream/index.cjs +15 -11
  404. package/dist/stream/index.d.ts +2 -2
  405. package/dist/stream/index.d.ts.map +1 -1
  406. package/dist/stream/index.js +2 -2
  407. package/dist/stream/types.d.ts +48 -25
  408. package/dist/stream/types.d.ts.map +1 -1
  409. package/dist/test-utils/llm-mock.cjs +101 -30
  410. package/dist/test-utils/llm-mock.cjs.map +1 -1
  411. package/dist/test-utils/llm-mock.d.ts +7 -2
  412. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  413. package/dist/test-utils/llm-mock.js +97 -30
  414. package/dist/test-utils/llm-mock.js.map +1 -1
  415. package/dist/tools/index.cjs +6 -6
  416. package/dist/tools/index.js +2 -2
  417. package/dist/tools/is-vercel-tool.cjs +2 -2
  418. package/dist/tools/is-vercel-tool.js +1 -1
  419. package/dist/tools/stream.d.ts +10 -4
  420. package/dist/tools/stream.d.ts.map +1 -1
  421. package/dist/tools/tool-builder/builder.d.ts +2 -0
  422. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  423. package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
  424. package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
  425. package/dist/tools/tool.d.ts +21 -8
  426. package/dist/tools/tool.d.ts.map +1 -1
  427. package/dist/tools/types.d.ts +33 -6
  428. package/dist/tools/types.d.ts.map +1 -1
  429. package/dist/tools/validation.d.ts +25 -1
  430. package/dist/tools/validation.d.ts.map +1 -1
  431. package/dist/tts/index.cjs +2 -2
  432. package/dist/tts/index.js +1 -1
  433. package/dist/types/zod-compat.d.ts +14 -1
  434. package/dist/types/zod-compat.d.ts.map +1 -1
  435. package/dist/utils.cjs +25 -21
  436. package/dist/utils.d.ts +9 -4
  437. package/dist/utils.d.ts.map +1 -1
  438. package/dist/utils.js +1 -1
  439. package/dist/vector/filter/index.cjs +7 -189
  440. package/dist/vector/filter/index.cjs.map +1 -1
  441. package/dist/vector/filter/index.js +1 -190
  442. package/dist/vector/filter/index.js.map +1 -1
  443. package/dist/vector/index.cjs +7 -2
  444. package/dist/vector/index.cjs.map +1 -1
  445. package/dist/vector/index.d.ts +1 -0
  446. package/dist/vector/index.d.ts.map +1 -1
  447. package/dist/vector/index.js +2 -1
  448. package/dist/vector/index.js.map +1 -1
  449. package/dist/vector/types.d.ts +86 -3
  450. package/dist/vector/types.d.ts.map +1 -1
  451. package/dist/vector/vector.d.ts +39 -2
  452. package/dist/vector/vector.d.ts.map +1 -1
  453. package/dist/voice/aisdk/index.d.ts +3 -0
  454. package/dist/voice/aisdk/index.d.ts.map +1 -0
  455. package/dist/voice/aisdk/speech.d.ts +23 -0
  456. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  457. package/dist/voice/aisdk/transcription.d.ts +22 -0
  458. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  459. package/dist/voice/composite-voice.d.ts +4 -3
  460. package/dist/voice/composite-voice.d.ts.map +1 -1
  461. package/dist/voice/index.cjs +12 -4
  462. package/dist/voice/index.d.ts +1 -0
  463. package/dist/voice/index.d.ts.map +1 -1
  464. package/dist/voice/index.js +1 -1
  465. package/dist/workflows/default.d.ts +179 -270
  466. package/dist/workflows/default.d.ts.map +1 -1
  467. package/dist/workflows/evented/execution-engine.d.ts +3 -1
  468. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  469. package/dist/workflows/evented/index.cjs +10 -10
  470. package/dist/workflows/evented/index.js +1 -1
  471. package/dist/workflows/evented/step-executor.d.ts +1 -1
  472. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  473. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  474. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  475. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
  476. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  477. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  478. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  479. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  480. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  481. package/dist/workflows/evented/workflow.d.ts +2 -1
  482. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  483. package/dist/workflows/execution-engine.d.ts +8 -6
  484. package/dist/workflows/execution-engine.d.ts.map +1 -1
  485. package/dist/workflows/handlers/control-flow.d.ts +133 -0
  486. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  487. package/dist/workflows/handlers/entry.d.ts +43 -0
  488. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  489. package/dist/workflows/handlers/sleep.d.ts +60 -0
  490. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  491. package/dist/workflows/handlers/step.d.ts +58 -0
  492. package/dist/workflows/handlers/step.d.ts.map +1 -0
  493. package/dist/workflows/index.cjs +36 -16
  494. package/dist/workflows/index.js +1 -1
  495. package/dist/workflows/step.d.ts +8 -6
  496. package/dist/workflows/step.d.ts.map +1 -1
  497. package/dist/workflows/types.d.ts +224 -10
  498. package/dist/workflows/types.d.ts.map +1 -1
  499. package/dist/workflows/utils.d.ts +36 -0
  500. package/dist/workflows/utils.d.ts.map +1 -1
  501. package/dist/workflows/workflow.d.ts +135 -54
  502. package/dist/workflows/workflow.d.ts.map +1 -1
  503. package/package.json +26 -29
  504. package/src/llm/model/provider-types.generated.d.ts +520 -33
  505. package/dist/chunk-26SQQNMU.js.map +0 -1
  506. package/dist/chunk-32CTMD2C.js.map +0 -1
  507. package/dist/chunk-436FFEF6.js +0 -34
  508. package/dist/chunk-436FFEF6.js.map +0 -1
  509. package/dist/chunk-4CDL2QJT.js.map +0 -1
  510. package/dist/chunk-7AHYOMHJ.js +0 -149
  511. package/dist/chunk-7AHYOMHJ.js.map +0 -1
  512. package/dist/chunk-7SKXKUYT.js.map +0 -1
  513. package/dist/chunk-BNBRQS7N.js +0 -910
  514. package/dist/chunk-BNBRQS7N.js.map +0 -1
  515. package/dist/chunk-BU4IAJWF.js.map +0 -1
  516. package/dist/chunk-BXOL277H.cjs.map +0 -1
  517. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  518. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  519. package/dist/chunk-ECFXGXWO.cjs.map +0 -1
  520. package/dist/chunk-ET6UOTTU.cjs +0 -154
  521. package/dist/chunk-ET6UOTTU.cjs.map +0 -1
  522. package/dist/chunk-FD734TPS.cjs.map +0 -1
  523. package/dist/chunk-GGYKYORQ.cjs.map +0 -1
  524. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  525. package/dist/chunk-HGNRQ3OG.js +0 -58
  526. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  527. package/dist/chunk-IU2SZXJQ.cjs +0 -913
  528. package/dist/chunk-IU2SZXJQ.cjs.map +0 -1
  529. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  530. package/dist/chunk-JV2KH24V.js.map +0 -1
  531. package/dist/chunk-KIZIOFZC.js.map +0 -1
  532. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  533. package/dist/chunk-L7XKOKOW.js.map +0 -1
  534. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  535. package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
  536. package/dist/chunk-LRSB62Z6.cjs +0 -60
  537. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  538. package/dist/chunk-MV7KHWUT.js.map +0 -1
  539. package/dist/chunk-P6APHXPZ.js.map +0 -1
  540. package/dist/chunk-QCQLOMJM.cjs.map +0 -1
  541. package/dist/chunk-QUKUN6NR.cjs.map +0 -1
  542. package/dist/chunk-QUZGDSWE.cjs.map +0 -1
  543. package/dist/chunk-S5MJLXMG.cjs.map +0 -1
  544. package/dist/chunk-TQTAMPSC.js.map +0 -1
  545. package/dist/chunk-UIZSWUKP.js.map +0 -1
  546. package/dist/chunk-V3VLOOSW.cjs +0 -36
  547. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  548. package/dist/chunk-VJUZZB2I.js.map +0 -1
  549. package/dist/chunk-VOY2RXOC.cjs.map +0 -1
  550. package/dist/chunk-VV753WCB.cjs.map +0 -1
  551. package/dist/chunk-WM6CK2F3.cjs.map +0 -1
  552. package/dist/chunk-XEVG546F.js.map +0 -1
  553. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  554. package/dist/chunk-YIK3ASEG.cjs.map +0 -1
  555. package/dist/chunk-ZV5CC35D.js +0 -3
  556. package/dist/chunk-ZV5CC35D.js.map +0 -1
  557. package/dist/models-dev-7U4NRMM3.js +0 -3
  558. package/dist/models-dev-VKSAQPRK.cjs +0 -12
  559. package/dist/netlify-2IDXTNFW.cjs +0 -12
  560. package/dist/netlify-42ZNWIDQ.js +0 -3
  561. package/dist/registry-generator-H4YNODDH.js.map +0 -1
  562. package/dist/registry-generator-MK63POJO.cjs.map +0 -1
@@ -1,15 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkIU2SZXJQ_cjs = require('./chunk-IU2SZXJQ.cjs');
4
- var chunkVV753WCB_cjs = require('./chunk-VV753WCB.cjs');
5
- var chunkS5MJLXMG_cjs = require('./chunk-S5MJLXMG.cjs');
6
- var chunkTWH4PTDG_cjs = require('./chunk-TWH4PTDG.cjs');
7
- var chunkJ7O6WENZ_cjs = require('./chunk-J7O6WENZ.cjs');
8
3
  var fs = require('fs');
9
4
  var module$1 = require('module');
10
5
  var os = require('os');
11
6
  var path = require('path');
12
- var crypto = require('crypto');
13
7
 
14
8
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
15
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -18,6 +12,8 @@ var fs__default = /*#__PURE__*/_interopDefault(fs);
18
12
  var os__default = /*#__PURE__*/_interopDefault(os);
19
13
  var path__default = /*#__PURE__*/_interopDefault(path);
20
14
 
15
+ // src/llm/model/provider-registry.ts
16
+
21
17
  // src/llm/model/provider-registry.json
22
18
  var provider_registry_default = {
23
19
  providers: {
@@ -26,7 +22,13 @@ var provider_registry_default = {
26
22
  apiKeyEnvVar: "MOONSHOT_API_KEY",
27
23
  apiKeyHeader: "Authorization",
28
24
  name: "Moonshot AI (China)",
29
- 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
+ ],
30
32
  docUrl: "https://platform.moonshot.cn/docs/api/chat",
31
33
  gateway: "models.dev"
32
34
  },
@@ -44,7 +46,13 @@ var provider_registry_default = {
44
46
  apiKeyEnvVar: "MOONSHOT_API_KEY",
45
47
  apiKeyHeader: "Authorization",
46
48
  name: "Moonshot AI",
47
- 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
+ ],
48
56
  docUrl: "https://platform.moonshot.ai/docs/api/chat",
49
57
  gateway: "models.dev"
50
58
  },
@@ -125,6 +133,8 @@ var provider_registry_default = {
125
133
  "grok-3-mini-fast-latest",
126
134
  "grok-3-mini-latest",
127
135
  "grok-4",
136
+ "grok-4-1-fast",
137
+ "grok-4-1-fast-non-reasoning",
128
138
  "grok-4-fast",
129
139
  "grok-4-fast-non-reasoning",
130
140
  "grok-beta",
@@ -161,6 +171,7 @@ var provider_registry_default = {
161
171
  "google/gemma-3-27b-it",
162
172
  "microsoft/phi-4-mini-instruct",
163
173
  "minimaxai/minimax-m2",
174
+ "mistralai/mistral-large-3-675b-instruct-2512",
164
175
  "moonshotai/kimi-k2-instruct",
165
176
  "moonshotai/kimi-k2-instruct-0905",
166
177
  "nvidia/cosmos-nemotron-34b",
@@ -215,20 +226,31 @@ var provider_registry_default = {
215
226
  docUrl: "https://console.groq.com/docs/models",
216
227
  gateway: "models.dev"
217
228
  },
229
+ bailing: {
230
+ url: "https://api.tbox.cn/api/llm/v1/chat/completions",
231
+ apiKeyEnvVar: "BAILING_API_TOKEN",
232
+ apiKeyHeader: "Authorization",
233
+ name: "Bailing",
234
+ models: ["Ling-1T", "Ring-1T"],
235
+ docUrl: "https://alipaytbox.yuque.com/sxs0ba/ling/intro",
236
+ gateway: "models.dev"
237
+ },
218
238
  mistral: {
219
239
  url: "https://api.mistral.ai/v1",
220
240
  apiKeyEnvVar: "MISTRAL_API_KEY",
221
- apiKeyHeader: "Authorization",
222
241
  name: "Mistral",
223
242
  models: [
224
243
  "codestral-latest",
225
244
  "devstral-medium-2507",
245
+ "devstral-medium-latest",
226
246
  "devstral-small-2505",
227
247
  "devstral-small-2507",
228
248
  "magistral-medium-latest",
229
249
  "magistral-small",
230
250
  "ministral-3b-latest",
231
251
  "ministral-8b-latest",
252
+ "mistral-large-2411",
253
+ "mistral-large-2512",
232
254
  "mistral-large-latest",
233
255
  "mistral-medium-2505",
234
256
  "mistral-medium-2508",
@@ -269,7 +291,7 @@ var provider_registry_default = {
269
291
  "anthropic/claude-4-sonnet",
270
292
  "anthropic/claude-4.5-sonnet",
271
293
  "anthropic/claude-haiku-4.5",
272
- "cerebras/qwen3-coder",
294
+ "anthropic/claude-opus-4.5",
273
295
  "deepseek/deepseek-r1",
274
296
  "deepseek/deepseek-r1-distill-llama-70b",
275
297
  "deepseek/deepseek-v3.1-terminus",
@@ -282,6 +304,7 @@ var provider_registry_default = {
282
304
  "google/gemini-2.5-flash-lite-preview-09-2025",
283
305
  "google/gemini-2.5-flash-preview-09-2025",
284
306
  "google/gemini-2.5-pro",
307
+ "google/gemini-3-pro-preview",
285
308
  "meta/llama-3.3-70b",
286
309
  "meta/llama-4-maverick",
287
310
  "meta/llama-4-scout",
@@ -340,10 +363,10 @@ var provider_registry_default = {
340
363
  gateway: "models.dev"
341
364
  },
342
365
  nebius: {
343
- url: "https://api.studio.nebius.com/v1/",
366
+ url: "https://api.tokenfactory.nebius.com/v1",
344
367
  apiKeyEnvVar: "NEBIUS_API_KEY",
345
368
  apiKeyHeader: "Authorization",
346
- name: "Nebius AI Studio",
369
+ name: "Nebius Token Factory",
347
370
  models: [
348
371
  "NousResearch/hermes-4-405b",
349
372
  "NousResearch/hermes-4-70b",
@@ -361,15 +384,14 @@ var provider_registry_default = {
361
384
  "zai-org/glm-4.5",
362
385
  "zai-org/glm-4.5-air"
363
386
  ],
364
- docUrl: "https://docs.studio.nebius.com/quickstart",
387
+ docUrl: "https://docs.tokenfactory.nebius.com/",
365
388
  gateway: "models.dev"
366
389
  },
367
390
  deepseek: {
368
391
  url: "https://api.deepseek.com",
369
392
  apiKeyEnvVar: "DEEPSEEK_API_KEY",
370
- apiKeyHeader: "Authorization",
371
393
  name: "DeepSeek",
372
- models: ["deepseek-chat", "deepseek-reasoner"],
394
+ models: ["deepseek-chat", "deepseek-reasoner", "deepseek-v3.2"],
373
395
  docUrl: "https://platform.deepseek.com/api-docs/pricing",
374
396
  gateway: "models.dev"
375
397
  },
@@ -450,18 +472,23 @@ var provider_registry_default = {
450
472
  apiKeyHeader: "Authorization",
451
473
  name: "Venice AI",
452
474
  models: [
453
- "deepseek-coder-v2-lite",
454
- "deepseek-r1-671b",
455
- "dolphin-2.9.2-qwen2-72b",
456
- "llama-3.1-405b",
475
+ "claude-opus-45",
476
+ "deepseek-v3.2",
477
+ "gemini-3-pro-preview",
478
+ "google-gemma-3-27b-it",
479
+ "grok-41-fast",
480
+ "hermes-3-llama-3.1-405b",
481
+ "kimi-k2-thinking",
457
482
  "llama-3.2-3b",
458
483
  "llama-3.3-70b",
459
484
  "mistral-31-24b",
460
- "qwen-2.5-coder-32b",
461
- "qwen-2.5-qwq-32b",
462
- "qwen-2.5-vl",
485
+ "openai-gpt-oss-120b",
463
486
  "qwen3-235b",
487
+ "qwen3-235b-a22b-instruct-2507",
488
+ "qwen3-235b-a22b-thinking-2507",
464
489
  "qwen3-4b",
490
+ "qwen3-coder-480b-a35b-instruct",
491
+ "qwen3-next-80b",
465
492
  "venice-uncensored",
466
493
  "zai-org-glm-4.6"
467
494
  ],
@@ -474,41 +501,73 @@ var provider_registry_default = {
474
501
  apiKeyHeader: "Authorization",
475
502
  name: "Chutes",
476
503
  models: [
504
+ "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B",
505
+ "ArliAI/QwQ-32B-ArliAI-RpR-v1",
477
506
  "MiniMaxAI/MiniMax-M2",
507
+ "NousResearch/DeepHermes-3-Mistral-24B-Preview",
508
+ "NousResearch/Hermes-4-14B",
509
+ "NousResearch/Hermes-4-405B-FP8",
510
+ "NousResearch/Hermes-4-70B",
511
+ "OpenGVLab/InternVL3-78B",
512
+ "Qwen/Qwen2.5-72B-Instruct",
513
+ "Qwen/Qwen2.5-Coder-32B-Instruct",
514
+ "Qwen/Qwen2.5-VL-32B-Instruct",
515
+ "Qwen/Qwen2.5-VL-72B-Instruct",
516
+ "Qwen/Qwen3-14B",
517
+ "Qwen/Qwen3-235B-A22B",
478
518
  "Qwen/Qwen3-235B-A22B-Instruct-2507",
479
519
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
480
520
  "Qwen/Qwen3-30B-A3B",
481
521
  "Qwen/Qwen3-30B-A3B-Instruct-2507",
522
+ "Qwen/Qwen3-32B",
482
523
  "Qwen/Qwen3-Coder-30B-A3B-Instruct",
483
524
  "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
484
525
  "Qwen/Qwen3-Next-80B-A3B-Instruct",
485
- "Qwen/Qwen3-Next-80B-A3B-Thinking",
526
+ "Qwen/Qwen3-VL-235B-A22B-Instruct",
527
+ "Qwen/Qwen3-VL-235B-A22B-Thinking",
528
+ "chutesai/Mistral-Small-3.1-24B-Instruct-2503",
486
529
  "chutesai/Mistral-Small-3.2-24B-Instruct-2506",
530
+ "deepseek-ai/DeepSeek-R1",
487
531
  "deepseek-ai/DeepSeek-R1-0528",
488
532
  "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
489
533
  "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
534
+ "deepseek-ai/DeepSeek-V3",
490
535
  "deepseek-ai/DeepSeek-V3-0324",
491
536
  "deepseek-ai/DeepSeek-V3.1",
492
537
  "deepseek-ai/DeepSeek-V3.1-Terminus",
493
- "deepseek-ai/DeepSeek-V3.1:THINKING",
494
- "deepseek-ai/DeepSeek-V3.2-Exp",
538
+ "deepseek-ai/DeepSeek-V3.2",
539
+ "deepseek-ai/DeepSeek-V3.2-Speciale",
495
540
  "meituan-longcat/LongCat-Flash-Chat-FP8",
541
+ "microsoft/MAI-DS-R1-FP8",
496
542
  "moonshotai/Kimi-K2-Instruct-0905",
497
- "moonshotai/Kimi-K2-Instruct-75k",
498
- "moonshotai/Kimi-VL-A3B-Thinking",
543
+ "moonshotai/Kimi-K2-Thinking",
499
544
  "openai/gpt-oss-120b",
545
+ "openai/gpt-oss-20b",
546
+ "rednote-hilab/dots.ocr",
500
547
  "tngtech/DeepSeek-R1T-Chimera",
501
548
  "tngtech/DeepSeek-TNG-R1T2-Chimera",
549
+ "tngtech/TNG-R1T-Chimera",
550
+ "unsloth/Mistral-Nemo-Instruct-2407",
551
+ "unsloth/Mistral-Small-24B-Instruct-2501",
552
+ "unsloth/gemma-3-12b-it",
553
+ "unsloth/gemma-3-27b-it",
554
+ "unsloth/gemma-3-4b-it",
502
555
  "zai-org/GLM-4.5",
503
556
  "zai-org/GLM-4.5-Air",
504
- "zai-org/GLM-4.5-FP8",
505
- "zai-org/GLM-4.6",
506
- "zai-org/GLM-4.6-FP8",
507
- "zai-org/GLM-4.6-turbo"
557
+ "zai-org/GLM-4.6"
508
558
  ],
509
559
  docUrl: "https://llm.chutes.ai/v1/models",
510
560
  gateway: "models.dev"
511
561
  },
562
+ "kimi-for-coding": {
563
+ url: "https://api.kimi.com/coding/v1",
564
+ apiKeyEnvVar: "KIMI_API_KEY",
565
+ apiKeyHeader: "Authorization",
566
+ name: "Kimi For Coding",
567
+ models: ["kimi-k2-thinking"],
568
+ docUrl: "https://www.kimi.com/coding/docs/en/third-party-agents.html",
569
+ gateway: "models.dev"
570
+ },
512
571
  cortecs: {
513
572
  url: "https://api.cortecs.ai/v1",
514
573
  apiKeyEnvVar: "CORTECS_API_KEY",
@@ -616,10 +675,199 @@ var provider_registry_default = {
616
675
  apiKeyEnvVar: "BASETEN_API_KEY",
617
676
  apiKeyHeader: "Authorization",
618
677
  name: "Baseten",
619
- models: ["Qwen3/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
678
+ models: [
679
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct",
680
+ "deepseek-ai/DeepSeek-V3.2",
681
+ "moonshotai/Kimi-K2-Instruct-0905",
682
+ "moonshotai/Kimi-K2-Thinking",
683
+ "zai-org/GLM-4.6"
684
+ ],
620
685
  docUrl: "https://docs.baseten.co/development/model-apis/overview",
621
686
  gateway: "models.dev"
622
687
  },
688
+ siliconflow: {
689
+ url: "https://api.siliconflow.com/v1",
690
+ apiKeyEnvVar: "SILICONFLOW_API_KEY",
691
+ apiKeyHeader: "Authorization",
692
+ name: "SiliconFlow",
693
+ models: [
694
+ "baidu-ernie-4.5-300b-a47b",
695
+ "bytedance-seed-seed-oss-36b-instruct",
696
+ "deepseek-ai-deepseek-r1",
697
+ "deepseek-ai-deepseek-r1-distill-qwen-14b",
698
+ "deepseek-ai-deepseek-r1-distill-qwen-32b",
699
+ "deepseek-ai-deepseek-r1-distill-qwen-7b",
700
+ "deepseek-ai-deepseek-v3",
701
+ "deepseek-ai-deepseek-v3.1",
702
+ "deepseek-ai-deepseek-v3.1-terminus",
703
+ "deepseek-ai-deepseek-v3.2-exp",
704
+ "deepseek-ai-deepseek-vl2",
705
+ "inclusionai-ling-flash-2.0",
706
+ "inclusionai-ling-mini-2.0",
707
+ "inclusionai-ring-flash-2.0",
708
+ "meta-llama-meta-llama-3.1-8b-instruct",
709
+ "minimaxai-minimax-m1-80k",
710
+ "minimaxai-minimax-m2",
711
+ "moonshotai-kimi-dev-72b",
712
+ "moonshotai-kimi-k2-instruct",
713
+ "moonshotai-kimi-k2-instruct-0905",
714
+ "moonshotai-kimi-k2-thinking",
715
+ "nex-agi-deepseek-v3.1-nex-n1",
716
+ "openai-gpt-oss-120b",
717
+ "openai-gpt-oss-20b",
718
+ "qwen-qwen2.5-14b-instruct",
719
+ "qwen-qwen2.5-32b-instruct",
720
+ "qwen-qwen2.5-72b-instruct",
721
+ "qwen-qwen2.5-72b-instruct-128k",
722
+ "qwen-qwen2.5-7b-instruct",
723
+ "qwen-qwen2.5-coder-32b-instruct",
724
+ "qwen-qwen2.5-vl-32b-instruct",
725
+ "qwen-qwen2.5-vl-72b-instruct",
726
+ "qwen-qwen2.5-vl-7b-instruct",
727
+ "qwen-qwen3-14b",
728
+ "qwen-qwen3-235b-a22b",
729
+ "qwen-qwen3-235b-a22b-instruct-2507",
730
+ "qwen-qwen3-235b-a22b-thinking-2507",
731
+ "qwen-qwen3-30b-a3b",
732
+ "qwen-qwen3-30b-a3b-instruct-2507",
733
+ "qwen-qwen3-30b-a3b-thinking-2507",
734
+ "qwen-qwen3-32b",
735
+ "qwen-qwen3-8b",
736
+ "qwen-qwen3-coder-30b-a3b-instruct",
737
+ "qwen-qwen3-coder-480b-a35b-instruct",
738
+ "qwen-qwen3-next-80b-a3b-instruct",
739
+ "qwen-qwen3-next-80b-a3b-thinking",
740
+ "qwen-qwen3-omni-30b-a3b-captioner",
741
+ "qwen-qwen3-omni-30b-a3b-instruct",
742
+ "qwen-qwen3-omni-30b-a3b-thinking",
743
+ "qwen-qwen3-vl-235b-a22b-instruct",
744
+ "qwen-qwen3-vl-235b-a22b-thinking",
745
+ "qwen-qwen3-vl-30b-a3b-instruct",
746
+ "qwen-qwen3-vl-30b-a3b-thinking",
747
+ "qwen-qwen3-vl-32b-instruct",
748
+ "qwen-qwen3-vl-32b-thinking",
749
+ "qwen-qwen3-vl-8b-instruct",
750
+ "qwen-qwen3-vl-8b-thinking",
751
+ "qwen-qwq-32b",
752
+ "stepfun-ai-step3",
753
+ "tencent-hunyuan-a13b-instruct",
754
+ "tencent-hunyuan-mt-7b",
755
+ "thudm-glm-4-32b-0414",
756
+ "thudm-glm-4-9b-0414",
757
+ "thudm-glm-4.1v-9b-thinking",
758
+ "thudm-glm-z1-32b-0414",
759
+ "thudm-glm-z1-9b-0414",
760
+ "z-ai-glm-4.5",
761
+ "z-ai-glm-4.5-air",
762
+ "zai-org-glm-4.5",
763
+ "zai-org-glm-4.5-air",
764
+ "zai-org-glm-4.5v",
765
+ "zai-org-glm-4.6"
766
+ ],
767
+ docUrl: "https://cloud.siliconflow.com/models",
768
+ gateway: "models.dev"
769
+ },
770
+ helicone: {
771
+ url: "https://ai-gateway.helicone.ai/v1",
772
+ apiKeyEnvVar: "HELICONE_API_KEY",
773
+ apiKeyHeader: "Authorization",
774
+ name: "Helicone",
775
+ models: [
776
+ "chatgpt-4o-latest",
777
+ "claude-3-haiku-20240307",
778
+ "claude-3.5-haiku",
779
+ "claude-3.5-sonnet-v2",
780
+ "claude-3.7-sonnet",
781
+ "claude-4.5-haiku",
782
+ "claude-4.5-opus",
783
+ "claude-4.5-sonnet",
784
+ "claude-haiku-4-5-20251001",
785
+ "claude-opus-4",
786
+ "claude-opus-4-1",
787
+ "claude-opus-4-1-20250805",
788
+ "claude-sonnet-4",
789
+ "claude-sonnet-4-5-20250929",
790
+ "codex-mini-latest",
791
+ "deepseek-r1-distill-llama-70b",
792
+ "deepseek-reasoner",
793
+ "deepseek-tng-r1t2-chimera",
794
+ "deepseek-v3",
795
+ "deepseek-v3.1-terminus",
796
+ "deepseek-v3.2",
797
+ "ernie-4.5-21b-a3b-thinking",
798
+ "gemini-2.5-flash",
799
+ "gemini-2.5-flash-lite",
800
+ "gemini-2.5-pro",
801
+ "gemini-3-pro-preview",
802
+ "gemma-3-12b-it",
803
+ "gemma2-9b-it",
804
+ "glm-4.6",
805
+ "gpt-4.1",
806
+ "gpt-4.1-mini",
807
+ "gpt-4.1-mini-2025-04-14",
808
+ "gpt-4.1-nano",
809
+ "gpt-4o",
810
+ "gpt-4o-mini",
811
+ "gpt-5",
812
+ "gpt-5-chat-latest",
813
+ "gpt-5-codex",
814
+ "gpt-5-mini",
815
+ "gpt-5-nano",
816
+ "gpt-5-pro",
817
+ "gpt-5.1",
818
+ "gpt-5.1-chat-latest",
819
+ "gpt-5.1-codex",
820
+ "gpt-5.1-codex-mini",
821
+ "gpt-oss-120b",
822
+ "gpt-oss-20b",
823
+ "grok-3",
824
+ "grok-3-mini",
825
+ "grok-4",
826
+ "grok-4-1-fast-non-reasoning",
827
+ "grok-4-1-fast-reasoning",
828
+ "grok-4-fast-non-reasoning",
829
+ "grok-4-fast-reasoning",
830
+ "grok-code-fast-1",
831
+ "hermes-2-pro-llama-3-8b",
832
+ "kimi-k2-0711",
833
+ "kimi-k2-0905",
834
+ "kimi-k2-thinking",
835
+ "llama-3.1-8b-instant",
836
+ "llama-3.1-8b-instruct",
837
+ "llama-3.1-8b-instruct-turbo",
838
+ "llama-3.3-70b-instruct",
839
+ "llama-3.3-70b-versatile",
840
+ "llama-4-maverick",
841
+ "llama-4-scout",
842
+ "llama-guard-4",
843
+ "llama-prompt-guard-2-22m",
844
+ "llama-prompt-guard-2-86m",
845
+ "mistral-large-2411",
846
+ "mistral-nemo",
847
+ "mistral-small",
848
+ "o1",
849
+ "o1-mini",
850
+ "o3",
851
+ "o3-mini",
852
+ "o3-pro",
853
+ "o4-mini",
854
+ "qwen2.5-coder-7b-fast",
855
+ "qwen3-235b-a22b-thinking",
856
+ "qwen3-30b-a3b",
857
+ "qwen3-32b",
858
+ "qwen3-coder",
859
+ "qwen3-coder-30b-a3b-instruct",
860
+ "qwen3-next-80b-a3b-instruct",
861
+ "qwen3-vl-235b-a22b-instruct",
862
+ "sonar",
863
+ "sonar-deep-research",
864
+ "sonar-pro",
865
+ "sonar-reasoning",
866
+ "sonar-reasoning-pro"
867
+ ],
868
+ docUrl: "https://helicone.ai/models",
869
+ gateway: "models.dev"
870
+ },
623
871
  huggingface: {
624
872
  url: "https://router.huggingface.co/v1",
625
873
  apiKeyEnvVar: "HF_TOKEN",
@@ -650,19 +898,27 @@ var provider_registry_default = {
650
898
  apiKeyHeader: "Authorization",
651
899
  name: "OpenCode Zen",
652
900
  models: [
653
- "an-gd4",
901
+ "alpha-doubao-seed-code",
902
+ "alpha-gd4",
903
+ "alpha-minimax-m2",
654
904
  "big-pickle",
655
905
  "claude-3-5-haiku",
656
906
  "claude-haiku-4-5",
657
907
  "claude-opus-4-1",
908
+ "claude-opus-4-5",
658
909
  "claude-sonnet-4",
659
910
  "claude-sonnet-4-5",
911
+ "gemini-3-pro",
660
912
  "glm-4.6",
661
913
  "gpt-5",
662
914
  "gpt-5-codex",
915
+ "gpt-5-nano",
916
+ "gpt-5.1",
917
+ "gpt-5.1-codex",
918
+ "gpt-5.1-codex-max",
663
919
  "grok-code",
664
920
  "kimi-k2",
665
- "minimax-m2",
921
+ "kimi-k2-thinking",
666
922
  "qwen3-coder"
667
923
  ],
668
924
  docUrl: "https://opencode.ai/docs/zen",
@@ -692,6 +948,15 @@ var provider_registry_default = {
692
948
  docUrl: "https://fastrouter.ai/models",
693
949
  gateway: "models.dev"
694
950
  },
951
+ minimax: {
952
+ url: "https://api.minimax.io/anthropic/v1",
953
+ apiKeyEnvVar: "MINIMAX_API_KEY",
954
+ apiKeyHeader: "Authorization",
955
+ name: "MiniMax",
956
+ models: ["MiniMax-M2"],
957
+ docUrl: "https://platform.minimax.io/docs/guides/quickstart",
958
+ gateway: "models.dev"
959
+ },
695
960
  google: {
696
961
  apiKeyEnvVar: "GOOGLE_GENERATIVE_AI_API_KEY",
697
962
  name: "Google",
@@ -715,6 +980,7 @@ var provider_registry_default = {
715
980
  "gemini-2.5-pro-preview-05-06",
716
981
  "gemini-2.5-pro-preview-06-05",
717
982
  "gemini-2.5-pro-preview-tts",
983
+ "gemini-3-pro-preview",
718
984
  "gemini-embedding-001",
719
985
  "gemini-flash-latest",
720
986
  "gemini-flash-lite-latest",
@@ -753,6 +1019,93 @@ var provider_registry_default = {
753
1019
  docUrl: "https://weave-docs.wandb.ai/guides/integrations/inference/",
754
1020
  gateway: "models.dev"
755
1021
  },
1022
+ "cloudflare-ai-gateway": {
1023
+ url: "https://gateway.ai.cloudflare.com/v1/${CLOUDFLARE_ACCOUNT_ID}/${CLOUDFLARE_GATEWAY_ID}/compat/",
1024
+ apiKeyEnvVar: "CLOUDFLARE_API_TOKEN",
1025
+ apiKeyHeader: "Authorization",
1026
+ name: "Cloudflare AI Gateway",
1027
+ models: [
1028
+ "anthropic/claude-3-5-haiku",
1029
+ "anthropic/claude-3-haiku",
1030
+ "anthropic/claude-3-opus",
1031
+ "anthropic/claude-3-sonnet",
1032
+ "anthropic/claude-3.5-haiku",
1033
+ "anthropic/claude-3.5-sonnet",
1034
+ "anthropic/claude-haiku-4-5",
1035
+ "anthropic/claude-haiku-4.5",
1036
+ "anthropic/claude-opus-4",
1037
+ "anthropic/claude-opus-4-1",
1038
+ "anthropic/claude-opus-4-5",
1039
+ "anthropic/claude-opus-4.1",
1040
+ "anthropic/claude-opus-4.5",
1041
+ "anthropic/claude-sonnet-4",
1042
+ "anthropic/claude-sonnet-4-5",
1043
+ "anthropic/claude-sonnet-4.5",
1044
+ "openai/gpt-3.5-turbo",
1045
+ "openai/gpt-4",
1046
+ "openai/gpt-4-turbo",
1047
+ "openai/gpt-4o",
1048
+ "openai/gpt-4o-mini",
1049
+ "openai/gpt-5.1",
1050
+ "openai/gpt-5.1-codex",
1051
+ "openai/o1",
1052
+ "openai/o1-mini",
1053
+ "openai/o1-preview",
1054
+ "openai/o3",
1055
+ "openai/o3-mini",
1056
+ "openai/o3-pro",
1057
+ "openai/o4-mini",
1058
+ "replicate/deepseek-ai/deepseek-r1",
1059
+ "replicate/meta/meta-llama-3-70b-instruct",
1060
+ "replicate/meta/meta-llama-3-8b-instruct",
1061
+ "replicate/meta/meta-llama-3.1-405b-instruct",
1062
+ "replicate/replicate-internal/llama-405b-instruct-vllm",
1063
+ "workers-ai/aura-1",
1064
+ "workers-ai/aura-2-en",
1065
+ "workers-ai/aura-2-es",
1066
+ "workers-ai/bart-large-cnn",
1067
+ "workers-ai/bge-base-en-v1.5",
1068
+ "workers-ai/bge-large-en-v1.5",
1069
+ "workers-ai/bge-m3",
1070
+ "workers-ai/bge-reranker-base",
1071
+ "workers-ai/bge-small-en-v1.5",
1072
+ "workers-ai/deepseek-r1-distill-qwen-32b",
1073
+ "workers-ai/distilbert-sst-2-int8",
1074
+ "workers-ai/gemma-3-12b-it",
1075
+ "workers-ai/gemma-sea-lion-v4-27b-it",
1076
+ "workers-ai/gpt-oss-120b",
1077
+ "workers-ai/gpt-oss-20b",
1078
+ "workers-ai/granite-4.0-h-micro",
1079
+ "workers-ai/indictrans2-en-indic-1B",
1080
+ "workers-ai/llama-2-7b-chat-fp16",
1081
+ "workers-ai/llama-3-8b-instruct",
1082
+ "workers-ai/llama-3-8b-instruct-awq",
1083
+ "workers-ai/llama-3.1-8b-instruct",
1084
+ "workers-ai/llama-3.1-8b-instruct-awq",
1085
+ "workers-ai/llama-3.1-8b-instruct-fp8",
1086
+ "workers-ai/llama-3.2-11b-vision-instruct",
1087
+ "workers-ai/llama-3.2-1b-instruct",
1088
+ "workers-ai/llama-3.2-3b-instruct",
1089
+ "workers-ai/llama-3.3-70b-instruct-fp8-fast",
1090
+ "workers-ai/llama-4-scout-17b-16e-instruct",
1091
+ "workers-ai/llama-guard-3-8b",
1092
+ "workers-ai/m2m100-1.2b",
1093
+ "workers-ai/melotts",
1094
+ "workers-ai/mistral-7b-instruct-v0.1",
1095
+ "workers-ai/mistral-small-3.1-24b-instruct",
1096
+ "workers-ai/nova-3",
1097
+ "workers-ai/plamo-embedding-1b",
1098
+ "workers-ai/qwen2.5-coder-32b-instruct",
1099
+ "workers-ai/qwen3-30b-a3b-fp8",
1100
+ "workers-ai/qwen3-embedding-0.6b",
1101
+ "workers-ai/qwq-32b",
1102
+ "workers-ai/smart-turn-v2",
1103
+ "workers-ai/whisper",
1104
+ "workers-ai/whisper-large-v3-turbo"
1105
+ ],
1106
+ docUrl: "https://developers.cloudflare.com/ai-gateway/",
1107
+ gateway: "models.dev"
1108
+ },
756
1109
  openai: {
757
1110
  apiKeyEnvVar: "OPENAI_API_KEY",
758
1111
  name: "OpenAI",
@@ -775,6 +1128,11 @@ var provider_registry_default = {
775
1128
  "gpt-5-mini",
776
1129
  "gpt-5-nano",
777
1130
  "gpt-5-pro",
1131
+ "gpt-5.1",
1132
+ "gpt-5.1-chat-latest",
1133
+ "gpt-5.1-codex",
1134
+ "gpt-5.1-codex-max",
1135
+ "gpt-5.1-codex-mini",
778
1136
  "o1",
779
1137
  "o1-mini",
780
1138
  "o1-preview",
@@ -801,10 +1159,17 @@ var provider_registry_default = {
801
1159
  docUrl: "https://docs.bigmodel.cn/cn/coding-plan/overview",
802
1160
  gateway: "models.dev"
803
1161
  },
1162
+ "minimax-cn": {
1163
+ url: "https://api.minimaxi.com/anthropic/v1",
1164
+ apiKeyEnvVar: "MINIMAX_API_KEY",
1165
+ apiKeyHeader: "Authorization",
1166
+ name: "MiniMax (China)",
1167
+ models: ["MiniMax-M2"],
1168
+ docUrl: "https://platform.minimaxi.com/docs/guides/quickstart",
1169
+ gateway: "models.dev"
1170
+ },
804
1171
  perplexity: {
805
- url: "https://api.perplexity.ai",
806
1172
  apiKeyEnvVar: "PERPLEXITY_API_KEY",
807
- apiKeyHeader: "Authorization",
808
1173
  name: "Perplexity",
809
1174
  models: ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
810
1175
  docUrl: "https://docs.perplexity.ai",
@@ -820,6 +1185,7 @@ var provider_registry_default = {
820
1185
  "anthropic/claude-haiku-4.5",
821
1186
  "anthropic/claude-opus-4",
822
1187
  "anthropic/claude-opus-4.1",
1188
+ "anthropic/claude-opus-4.5",
823
1189
  "anthropic/claude-sonnet-4",
824
1190
  "anthropic/claude-sonnet-4.5",
825
1191
  "cognitivecomputations/dolphin3.0-mistral-24b",
@@ -834,6 +1200,8 @@ var provider_registry_default = {
834
1200
  "deepseek/deepseek-v3-base:free",
835
1201
  "deepseek/deepseek-v3.1-terminus",
836
1202
  "deepseek/deepseek-v3.1-terminus:exacto",
1203
+ "deepseek/deepseek-v3.2",
1204
+ "deepseek/deepseek-v3.2-speciale",
837
1205
  "featherless/qwerky-72b",
838
1206
  "google/gemini-2.0-flash-001",
839
1207
  "google/gemini-2.0-flash-exp:free",
@@ -844,18 +1212,20 @@ var provider_registry_default = {
844
1212
  "google/gemini-2.5-pro",
845
1213
  "google/gemini-2.5-pro-preview-05-06",
846
1214
  "google/gemini-2.5-pro-preview-06-05",
1215
+ "google/gemini-3-pro-preview",
847
1216
  "google/gemma-2-9b-it:free",
848
1217
  "google/gemma-3-12b-it",
849
1218
  "google/gemma-3-27b-it",
850
1219
  "google/gemma-3n-e4b-it",
851
1220
  "google/gemma-3n-e4b-it:free",
1221
+ "kwaipilot/kat-coder-pro:free",
852
1222
  "meta-llama/llama-3.2-11b-vision-instruct",
853
1223
  "meta-llama/llama-3.3-70b-instruct:free",
854
1224
  "meta-llama/llama-4-scout:free",
855
1225
  "microsoft/mai-ds-r1:free",
856
1226
  "minimax/minimax-01",
857
1227
  "minimax/minimax-m1",
858
- "minimax/minimax-m2:free",
1228
+ "minimax/minimax-m2",
859
1229
  "mistralai/codestral-2508",
860
1230
  "mistralai/devstral-medium-2507",
861
1231
  "mistralai/devstral-small-2505",
@@ -872,6 +1242,7 @@ var provider_registry_default = {
872
1242
  "moonshotai/kimi-k2",
873
1243
  "moonshotai/kimi-k2-0905",
874
1244
  "moonshotai/kimi-k2-0905:exacto",
1245
+ "moonshotai/kimi-k2-thinking",
875
1246
  "moonshotai/kimi-k2:free",
876
1247
  "nousresearch/deephermes-3-llama-3-8b-preview",
877
1248
  "nousresearch/hermes-4-405b",
@@ -887,15 +1258,15 @@ var provider_registry_default = {
887
1258
  "openai/gpt-5-mini",
888
1259
  "openai/gpt-5-nano",
889
1260
  "openai/gpt-5-pro",
1261
+ "openai/gpt-5.1",
1262
+ "openai/gpt-5.1-chat",
1263
+ "openai/gpt-5.1-codex",
1264
+ "openai/gpt-5.1-codex-mini",
890
1265
  "openai/gpt-oss-120b",
891
1266
  "openai/gpt-oss-120b:exacto",
892
1267
  "openai/gpt-oss-20b",
1268
+ "openai/gpt-oss-safeguard-20b",
893
1269
  "openai/o4-mini",
894
- "openrouter/cypher-alpha:free",
895
- "openrouter/horizon-alpha",
896
- "openrouter/horizon-beta",
897
- "openrouter/sonoma-dusk-alpha",
898
- "openrouter/sonoma-sky-alpha",
899
1270
  "qwen/qwen-2.5-coder-32b-instruct",
900
1271
  "qwen/qwen2.5-vl-32b-instruct:free",
901
1272
  "qwen/qwen2.5-vl-72b-instruct",
@@ -911,6 +1282,7 @@ var provider_registry_default = {
911
1282
  "qwen/qwen3-32b:free",
912
1283
  "qwen/qwen3-8b:free",
913
1284
  "qwen/qwen3-coder",
1285
+ "qwen/qwen3-coder-flash",
914
1286
  "qwen/qwen3-coder:exacto",
915
1287
  "qwen/qwen3-coder:free",
916
1288
  "qwen/qwen3-max",
@@ -927,6 +1299,7 @@ var provider_registry_default = {
927
1299
  "x-ai/grok-3-mini-beta",
928
1300
  "x-ai/grok-4",
929
1301
  "x-ai/grok-4-fast",
1302
+ "x-ai/grok-4.1-fast",
930
1303
  "x-ai/grok-code-fast-1",
931
1304
  "z-ai/glm-4.5",
932
1305
  "z-ai/glm-4.5-air",
@@ -952,7 +1325,10 @@ var provider_registry_default = {
952
1325
  "inclusionai/lint-1t",
953
1326
  "inclusionai/ring-1t",
954
1327
  "kuaishou/kat-coder-pro-v1",
1328
+ "minimax/minimax-m2",
955
1329
  "moonshotai/kimi-k2-0905",
1330
+ "moonshotai/kimi-k2-thinking",
1331
+ "moonshotai/kimi-k2-thinking-turbo",
956
1332
  "openai/gpt-5",
957
1333
  "openai/gpt-5-codex",
958
1334
  "qwen/qwen3-coder-plus",
@@ -966,6 +1342,31 @@ var provider_registry_default = {
966
1342
  docUrl: "https://docs.zenmux.ai",
967
1343
  gateway: "models.dev"
968
1344
  },
1345
+ ovhcloud: {
1346
+ url: "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
1347
+ apiKeyEnvVar: "OVHCLOUD_API_KEY",
1348
+ apiKeyHeader: "Authorization",
1349
+ name: "OVHcloud AI Endpoints",
1350
+ models: [
1351
+ "deepseek-r1-distill-llama-70b",
1352
+ "gpt-oss-120b",
1353
+ "gpt-oss-20b",
1354
+ "llama-3.1-8b-instruct",
1355
+ "llava-next-mistral-7b",
1356
+ "meta-llama-3_1-70b-instruct",
1357
+ "meta-llama-3_3-70b-instruct",
1358
+ "mistral-7b-instruct-v0.3",
1359
+ "mistral-nemo-instruct-2407",
1360
+ "mistral-small-3.2-24b-instruct-2506",
1361
+ "mixtral-8x7b-instruct-v0.1",
1362
+ "qwen2.5-coder-32b-instruct",
1363
+ "qwen2.5-vl-72b-instruct",
1364
+ "qwen3-32b",
1365
+ "qwen3-coder-30b-a3b-instruct"
1366
+ ],
1367
+ docUrl: "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//",
1368
+ gateway: "models.dev"
1369
+ },
969
1370
  iflowcn: {
970
1371
  url: "https://apis.iflow.cn/v1",
971
1372
  apiKeyEnvVar: "IFLOW_API_KEY",
@@ -976,9 +1377,12 @@ var provider_registry_default = {
976
1377
  "deepseek-v3",
977
1378
  "deepseek-v3.1",
978
1379
  "deepseek-v3.2",
1380
+ "deepseek-v3.2-chat",
979
1381
  "glm-4.6",
980
1382
  "kimi-k2",
981
1383
  "kimi-k2-0905",
1384
+ "kimi-k2-thinking",
1385
+ "minimax-m2",
982
1386
  "qwen3-235b",
983
1387
  "qwen3-235b-a22b-instruct",
984
1388
  "qwen3-235b-a22b-thinking-2507",
@@ -1010,6 +1414,7 @@ var provider_registry_default = {
1010
1414
  "hf:deepseek-ai/DeepSeek-V3-0324",
1011
1415
  "hf:deepseek-ai/DeepSeek-V3.1",
1012
1416
  "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
1417
+ "hf:deepseek-ai/DeepSeek-V3.2",
1013
1418
  "hf:meta-llama/Llama-3.1-405B-Instruct",
1014
1419
  "hf:meta-llama/Llama-3.1-70B-Instruct",
1015
1420
  "hf:meta-llama/Llama-3.1-8B-Instruct",
@@ -1018,6 +1423,7 @@ var provider_registry_default = {
1018
1423
  "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",
1019
1424
  "hf:moonshotai/Kimi-K2-Instruct",
1020
1425
  "hf:moonshotai/Kimi-K2-Instruct-0905",
1426
+ "hf:moonshotai/Kimi-K2-Thinking",
1021
1427
  "hf:openai/gpt-oss-120b",
1022
1428
  "hf:zai-org/GLM-4.5",
1023
1429
  "hf:zai-org/GLM-4.6"
@@ -1034,6 +1440,8 @@ var provider_registry_default = {
1034
1440
  "Qwen/Qwen3-Coder-480B-A35B-Instruct",
1035
1441
  "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
1036
1442
  "moonshotai/Kimi-K2-Instruct",
1443
+ "openai/gpt-oss-120b",
1444
+ "openai/gpt-oss-20b",
1037
1445
  "zai-org/GLM-4.5"
1038
1446
  ],
1039
1447
  docUrl: "https://deepinfra.com/models",
@@ -1102,18 +1510,24 @@ var provider_registry_default = {
1102
1510
  name: "Requesty",
1103
1511
  models: [
1104
1512
  "anthropic/claude-3-7-sonnet",
1105
- "anthropic/claude-4-sonnet-20250522",
1513
+ "anthropic/claude-haiku-4-5",
1106
1514
  "anthropic/claude-opus-4",
1107
- "anthropic/claude-opus-4-1-20250805",
1515
+ "anthropic/claude-opus-4-1",
1516
+ "anthropic/claude-opus-4-5",
1517
+ "anthropic/claude-sonnet-4",
1518
+ "anthropic/claude-sonnet-4-5",
1108
1519
  "google/gemini-2.5-flash",
1109
1520
  "google/gemini-2.5-pro",
1521
+ "google/gemini-3-pro-preview",
1110
1522
  "openai/gpt-4.1",
1111
1523
  "openai/gpt-4.1-mini",
1112
1524
  "openai/gpt-4o-mini",
1113
1525
  "openai/gpt-5",
1114
1526
  "openai/gpt-5-mini",
1115
1527
  "openai/gpt-5-nano",
1116
- "openai/o4-mini"
1528
+ "openai/o4-mini",
1529
+ "xai/grok-4",
1530
+ "xai/grok-4-fast"
1117
1531
  ],
1118
1532
  docUrl: "https://requesty.ai/solution/llm-routing/models",
1119
1533
  gateway: "models.dev"
@@ -1155,6 +1569,8 @@ var provider_registry_default = {
1155
1569
  "claude-opus-4-1",
1156
1570
  "claude-opus-4-1-20250805",
1157
1571
  "claude-opus-4-20250514",
1572
+ "claude-opus-4-5",
1573
+ "claude-opus-4-5-20251101",
1158
1574
  "claude-sonnet-4-0",
1159
1575
  "claude-sonnet-4-20250514",
1160
1576
  "claude-sonnet-4-5",
@@ -1177,6 +1593,7 @@ var provider_registry_default = {
1177
1593
  "accounts/fireworks/models/gpt-oss-120b",
1178
1594
  "accounts/fireworks/models/gpt-oss-20b",
1179
1595
  "accounts/fireworks/models/kimi-k2-instruct",
1596
+ "accounts/fireworks/models/kimi-k2-thinking",
1180
1597
  "accounts/fireworks/models/minimax-m2",
1181
1598
  "accounts/fireworks/models/qwen3-235b-a22b",
1182
1599
  "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
@@ -1184,6 +1601,33 @@ var provider_registry_default = {
1184
1601
  docUrl: "https://fireworks.ai/docs/",
1185
1602
  gateway: "models.dev"
1186
1603
  },
1604
+ "io-net": {
1605
+ url: "https://api.intelligence.io.solutions/api/v1",
1606
+ apiKeyEnvVar: "IOINTELLIGENCE_API_KEY",
1607
+ apiKeyHeader: "Authorization",
1608
+ name: "IO.NET",
1609
+ models: [
1610
+ "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
1611
+ "Qwen/Qwen2.5-VL-32B-Instruct",
1612
+ "Qwen/Qwen3-235B-A22B-Thinking-2507",
1613
+ "Qwen/Qwen3-Next-80B-A3B-Instruct",
1614
+ "deepseek-ai/DeepSeek-R1-0528",
1615
+ "meta-llama/Llama-3.2-90B-Vision-Instruct",
1616
+ "meta-llama/Llama-3.3-70B-Instruct",
1617
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
1618
+ "mistralai/Devstral-Small-2505",
1619
+ "mistralai/Magistral-Small-2506",
1620
+ "mistralai/Mistral-Large-Instruct-2411",
1621
+ "mistralai/Mistral-Nemo-Instruct-2407",
1622
+ "moonshotai/Kimi-K2-Instruct-0905",
1623
+ "moonshotai/Kimi-K2-Thinking",
1624
+ "openai/gpt-oss-120b",
1625
+ "openai/gpt-oss-20b",
1626
+ "zai-org/GLM-4.6"
1627
+ ],
1628
+ docUrl: "https://io.net/docs/guides/intelligence/io-intelligence",
1629
+ gateway: "models.dev"
1630
+ },
1187
1631
  modelscope: {
1188
1632
  url: "https://api-inference.modelscope.cn/v1",
1189
1633
  apiKeyEnvVar: "MODELSCOPE_API_KEY",
@@ -1241,12 +1685,122 @@ var provider_registry_default = {
1241
1685
  docUrl: "https://www.scaleway.com/en/docs/generative-apis/",
1242
1686
  gateway: "models.dev"
1243
1687
  },
1688
+ poe: {
1689
+ url: "https://api.poe.com/v1",
1690
+ apiKeyEnvVar: "POE_API_KEY",
1691
+ apiKeyHeader: "Authorization",
1692
+ name: "Poe",
1693
+ models: [
1694
+ "anthropic/claude-haiku-3",
1695
+ "anthropic/claude-haiku-3.5",
1696
+ "anthropic/claude-haiku-3.5-search",
1697
+ "anthropic/claude-haiku-4.5",
1698
+ "anthropic/claude-opus-3",
1699
+ "anthropic/claude-opus-4",
1700
+ "anthropic/claude-opus-4-reasoning",
1701
+ "anthropic/claude-opus-4-search",
1702
+ "anthropic/claude-opus-4.1",
1703
+ "anthropic/claude-sonnet-3.5",
1704
+ "anthropic/claude-sonnet-3.5-june",
1705
+ "anthropic/claude-sonnet-3.7",
1706
+ "anthropic/claude-sonnet-3.7-reasoning",
1707
+ "anthropic/claude-sonnet-3.7-search",
1708
+ "anthropic/claude-sonnet-4",
1709
+ "anthropic/claude-sonnet-4-reasoning",
1710
+ "anthropic/claude-sonnet-4-search",
1711
+ "anthropic/claude-sonnet-4.5",
1712
+ "elevenlabs/elevenlabs-music",
1713
+ "elevenlabs/elevenlabs-v2.5-turbo",
1714
+ "elevenlabs/elevenlabs-v3",
1715
+ "facebook/llama-3.1-405b",
1716
+ "facebook/llama-3.1-70b",
1717
+ "facebook/llama-3.1-8b",
1718
+ "google/gemini-2.0-flash",
1719
+ "google/gemini-2.0-flash-lite",
1720
+ "google/gemini-2.5-flash",
1721
+ "google/gemini-2.5-flash-lite",
1722
+ "google/gemini-2.5-pro",
1723
+ "google/gemini-3.0-pro",
1724
+ "google/imagen-3",
1725
+ "google/imagen-3-fast",
1726
+ "google/imagen-4",
1727
+ "google/imagen-4-fast",
1728
+ "google/imagen-4-ultra",
1729
+ "google/lyria",
1730
+ "google/nano-banana",
1731
+ "google/veo-2",
1732
+ "google/veo-3",
1733
+ "google/veo-3-fast",
1734
+ "google/veo-3.1",
1735
+ "google/veo-3.1-fast",
1736
+ "ideogramai/ideogram",
1737
+ "ideogramai/ideogram-v2",
1738
+ "ideogramai/ideogram-v2a",
1739
+ "ideogramai/ideogram-v2a-turbo",
1740
+ "lumalabs/dream-machine",
1741
+ "lumalabs/ray2",
1742
+ "novita/glm-4.6",
1743
+ "openAi/chatgpt-4o-latest",
1744
+ "openAi/dall-e-3",
1745
+ "openAi/gpt-3.5-turbo",
1746
+ "openAi/gpt-3.5-turbo-instruct",
1747
+ "openAi/gpt-3.5-turbo-raw",
1748
+ "openAi/gpt-4-classic",
1749
+ "openAi/gpt-4-classic-0314",
1750
+ "openAi/gpt-4-turbo",
1751
+ "openAi/gpt-4.1",
1752
+ "openAi/gpt-4.1-mini",
1753
+ "openAi/gpt-4.1-nano",
1754
+ "openAi/gpt-4o",
1755
+ "openAi/gpt-4o-aug",
1756
+ "openAi/gpt-4o-mini",
1757
+ "openAi/gpt-4o-mini-search",
1758
+ "openAi/gpt-4o-search",
1759
+ "openAi/gpt-5",
1760
+ "openAi/gpt-5-chat",
1761
+ "openAi/gpt-5-codex",
1762
+ "openAi/gpt-5-mini",
1763
+ "openAi/gpt-5-nano",
1764
+ "openAi/gpt-5-pro",
1765
+ "openAi/gpt-image-1",
1766
+ "openAi/gpt-image-1-mini",
1767
+ "openAi/o1",
1768
+ "openAi/o1-pro",
1769
+ "openAi/o3",
1770
+ "openAi/o3-deep-research",
1771
+ "openAi/o3-mini",
1772
+ "openAi/o3-mini-high",
1773
+ "openAi/o3-pro",
1774
+ "openAi/o4-mini",
1775
+ "openAi/o4-mini-deep-research",
1776
+ "openAi/sora-2",
1777
+ "openAi/sora-2-pro",
1778
+ "openai/gpt-5.1",
1779
+ "openai/gpt-5.1-codex",
1780
+ "openai/gpt-5.1-codex-mini",
1781
+ "openai/gpt-5.1-instant",
1782
+ "runwayml/runway",
1783
+ "runwayml/runway-gen-4-turbo",
1784
+ "stabilityai/stablediffusionxl",
1785
+ "topazlabs-co/topazlabs",
1786
+ "trytako/tako",
1787
+ "xai/grok-2",
1788
+ "xai/grok-3",
1789
+ "xai/grok-3-mini",
1790
+ "xai/grok-4",
1791
+ "xai/grok-4-fast-non-reasoning",
1792
+ "xai/grok-4-fast-reasoning",
1793
+ "xai/grok-code-fast-1"
1794
+ ],
1795
+ docUrl: "https://creator.poe.com/docs/external-applications/openai-compatible-api",
1796
+ gateway: "models.dev"
1797
+ },
1244
1798
  cerebras: {
1245
1799
  url: "https://api.cerebras.ai/v1",
1246
1800
  apiKeyEnvVar: "CEREBRAS_API_KEY",
1247
1801
  apiKeyHeader: "Authorization",
1248
1802
  name: "Cerebras",
1249
- models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b", "zai-glm-4.6"],
1803
+ models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
1250
1804
  docUrl: "https://inference-docs.cerebras.ai/models/overview",
1251
1805
  gateway: "models.dev"
1252
1806
  },
@@ -1257,23 +1811,25 @@ var provider_registry_default = {
1257
1811
  gateway: "netlify",
1258
1812
  models: [
1259
1813
  "anthropic/claude-3-5-haiku-20241022",
1260
- "anthropic/claude-3-5-haiku-latest",
1261
1814
  "anthropic/claude-3-7-sonnet-20250219",
1262
- "anthropic/claude-3-7-sonnet-latest",
1263
1815
  "anthropic/claude-3-haiku-20240307",
1264
1816
  "anthropic/claude-haiku-4-5-20251001",
1265
1817
  "anthropic/claude-opus-4-1-20250805",
1266
1818
  "anthropic/claude-opus-4-20250514",
1819
+ "anthropic/claude-opus-4-5-20251101",
1267
1820
  "anthropic/claude-sonnet-4-20250514",
1268
1821
  "anthropic/claude-sonnet-4-5-20250929",
1269
1822
  "gemini/gemini-2.0-flash",
1270
1823
  "gemini/gemini-2.0-flash-lite",
1271
1824
  "gemini/gemini-2.5-flash",
1825
+ "gemini/gemini-2.5-flash-image",
1272
1826
  "gemini/gemini-2.5-flash-image-preview",
1273
1827
  "gemini/gemini-2.5-flash-lite",
1274
1828
  "gemini/gemini-2.5-flash-lite-preview-09-2025",
1275
1829
  "gemini/gemini-2.5-flash-preview-09-2025",
1276
1830
  "gemini/gemini-2.5-pro",
1831
+ "gemini/gemini-3-pro-image-preview",
1832
+ "gemini/gemini-3-pro-preview",
1277
1833
  "gemini/gemini-flash-latest",
1278
1834
  "gemini/gemini-flash-lite-latest",
1279
1835
  "openai/codex-mini-latest",
@@ -1283,10 +1839,17 @@ var provider_registry_default = {
1283
1839
  "openai/gpt-4o",
1284
1840
  "openai/gpt-4o-mini",
1285
1841
  "openai/gpt-5",
1842
+ "openai/gpt-5-2025-08-07",
1286
1843
  "openai/gpt-5-codex",
1287
1844
  "openai/gpt-5-mini",
1845
+ "openai/gpt-5-mini-2025-08-07",
1288
1846
  "openai/gpt-5-nano",
1289
1847
  "openai/gpt-5-pro",
1848
+ "openai/gpt-5.1",
1849
+ "openai/gpt-5.1-2025-11-13",
1850
+ "openai/gpt-5.1-codex",
1851
+ "openai/gpt-5.1-codex-max",
1852
+ "openai/gpt-5.1-codex-mini",
1290
1853
  "openai/o3",
1291
1854
  "openai/o3-mini",
1292
1855
  "openai/o4-mini"
@@ -1295,9 +1858,21 @@ var provider_registry_default = {
1295
1858
  }
1296
1859
  },
1297
1860
  models: {
1298
- "moonshotai-cn": ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
1861
+ "moonshotai-cn": [
1862
+ "kimi-k2-0711-preview",
1863
+ "kimi-k2-0905-preview",
1864
+ "kimi-k2-thinking",
1865
+ "kimi-k2-thinking-turbo",
1866
+ "kimi-k2-turbo-preview"
1867
+ ],
1299
1868
  lucidquery: ["lucidnova-rf1-100b", "lucidquery-nexus-coder"],
1300
- moonshotai: ["kimi-k2-0711-preview", "kimi-k2-0905-preview", "kimi-k2-turbo-preview"],
1869
+ moonshotai: [
1870
+ "kimi-k2-0711-preview",
1871
+ "kimi-k2-0905-preview",
1872
+ "kimi-k2-thinking",
1873
+ "kimi-k2-thinking-turbo",
1874
+ "kimi-k2-turbo-preview"
1875
+ ],
1301
1876
  "zai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1302
1877
  alibaba: [
1303
1878
  "qvq-max",
@@ -1356,6 +1931,8 @@ var provider_registry_default = {
1356
1931
  "grok-3-mini-fast-latest",
1357
1932
  "grok-3-mini-latest",
1358
1933
  "grok-4",
1934
+ "grok-4-1-fast",
1935
+ "grok-4-1-fast-non-reasoning",
1359
1936
  "grok-4-fast",
1360
1937
  "grok-4-fast-non-reasoning",
1361
1938
  "grok-beta",
@@ -1376,6 +1953,7 @@ var provider_registry_default = {
1376
1953
  "google/gemma-3-27b-it",
1377
1954
  "microsoft/phi-4-mini-instruct",
1378
1955
  "minimaxai/minimax-m2",
1956
+ "mistralai/mistral-large-3-675b-instruct-2512",
1379
1957
  "moonshotai/kimi-k2-instruct",
1380
1958
  "moonshotai/kimi-k2-instruct-0905",
1381
1959
  "nvidia/cosmos-nemotron-34b",
@@ -1411,15 +1989,19 @@ var provider_registry_default = {
1411
1989
  "qwen-qwq-32b",
1412
1990
  "qwen/qwen3-32b"
1413
1991
  ],
1992
+ bailing: ["Ling-1T", "Ring-1T"],
1414
1993
  mistral: [
1415
1994
  "codestral-latest",
1416
1995
  "devstral-medium-2507",
1996
+ "devstral-medium-latest",
1417
1997
  "devstral-small-2505",
1418
1998
  "devstral-small-2507",
1419
1999
  "magistral-medium-latest",
1420
2000
  "magistral-small",
1421
2001
  "ministral-3b-latest",
1422
2002
  "ministral-8b-latest",
2003
+ "mistral-large-2411",
2004
+ "mistral-large-2512",
1423
2005
  "mistral-large-latest",
1424
2006
  "mistral-medium-2505",
1425
2007
  "mistral-medium-2508",
@@ -1452,7 +2034,7 @@ var provider_registry_default = {
1452
2034
  "anthropic/claude-4-sonnet",
1453
2035
  "anthropic/claude-4.5-sonnet",
1454
2036
  "anthropic/claude-haiku-4.5",
1455
- "cerebras/qwen3-coder",
2037
+ "anthropic/claude-opus-4.5",
1456
2038
  "deepseek/deepseek-r1",
1457
2039
  "deepseek/deepseek-r1-distill-llama-70b",
1458
2040
  "deepseek/deepseek-v3.1-terminus",
@@ -1465,6 +2047,7 @@ var provider_registry_default = {
1465
2047
  "google/gemini-2.5-flash-lite-preview-09-2025",
1466
2048
  "google/gemini-2.5-flash-preview-09-2025",
1467
2049
  "google/gemini-2.5-pro",
2050
+ "google/gemini-3-pro-preview",
1468
2051
  "meta/llama-3.3-70b",
1469
2052
  "meta/llama-4-maverick",
1470
2053
  "meta/llama-4-scout",
@@ -1536,7 +2119,7 @@ var provider_registry_default = {
1536
2119
  "zai-org/glm-4.5",
1537
2120
  "zai-org/glm-4.5-air"
1538
2121
  ],
1539
- deepseek: ["deepseek-chat", "deepseek-reasoner"],
2122
+ deepseek: ["deepseek-chat", "deepseek-reasoner", "deepseek-v3.2"],
1540
2123
  "alibaba-cn": [
1541
2124
  "deepseek-r1",
1542
2125
  "deepseek-r1-0528",
@@ -1601,54 +2184,83 @@ var provider_registry_default = {
1601
2184
  "tongyi-intent-detect-v3"
1602
2185
  ],
1603
2186
  venice: [
1604
- "deepseek-coder-v2-lite",
1605
- "deepseek-r1-671b",
1606
- "dolphin-2.9.2-qwen2-72b",
1607
- "llama-3.1-405b",
2187
+ "claude-opus-45",
2188
+ "deepseek-v3.2",
2189
+ "gemini-3-pro-preview",
2190
+ "google-gemma-3-27b-it",
2191
+ "grok-41-fast",
2192
+ "hermes-3-llama-3.1-405b",
2193
+ "kimi-k2-thinking",
1608
2194
  "llama-3.2-3b",
1609
2195
  "llama-3.3-70b",
1610
2196
  "mistral-31-24b",
1611
- "qwen-2.5-coder-32b",
1612
- "qwen-2.5-qwq-32b",
1613
- "qwen-2.5-vl",
2197
+ "openai-gpt-oss-120b",
1614
2198
  "qwen3-235b",
2199
+ "qwen3-235b-a22b-instruct-2507",
2200
+ "qwen3-235b-a22b-thinking-2507",
1615
2201
  "qwen3-4b",
2202
+ "qwen3-coder-480b-a35b-instruct",
2203
+ "qwen3-next-80b",
1616
2204
  "venice-uncensored",
1617
2205
  "zai-org-glm-4.6"
1618
2206
  ],
1619
2207
  chutes: [
2208
+ "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B",
2209
+ "ArliAI/QwQ-32B-ArliAI-RpR-v1",
1620
2210
  "MiniMaxAI/MiniMax-M2",
2211
+ "NousResearch/DeepHermes-3-Mistral-24B-Preview",
2212
+ "NousResearch/Hermes-4-14B",
2213
+ "NousResearch/Hermes-4-405B-FP8",
2214
+ "NousResearch/Hermes-4-70B",
2215
+ "OpenGVLab/InternVL3-78B",
2216
+ "Qwen/Qwen2.5-72B-Instruct",
2217
+ "Qwen/Qwen2.5-Coder-32B-Instruct",
2218
+ "Qwen/Qwen2.5-VL-32B-Instruct",
2219
+ "Qwen/Qwen2.5-VL-72B-Instruct",
2220
+ "Qwen/Qwen3-14B",
2221
+ "Qwen/Qwen3-235B-A22B",
1621
2222
  "Qwen/Qwen3-235B-A22B-Instruct-2507",
1622
2223
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
1623
2224
  "Qwen/Qwen3-30B-A3B",
1624
2225
  "Qwen/Qwen3-30B-A3B-Instruct-2507",
2226
+ "Qwen/Qwen3-32B",
1625
2227
  "Qwen/Qwen3-Coder-30B-A3B-Instruct",
1626
2228
  "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
1627
2229
  "Qwen/Qwen3-Next-80B-A3B-Instruct",
1628
- "Qwen/Qwen3-Next-80B-A3B-Thinking",
2230
+ "Qwen/Qwen3-VL-235B-A22B-Instruct",
2231
+ "Qwen/Qwen3-VL-235B-A22B-Thinking",
2232
+ "chutesai/Mistral-Small-3.1-24B-Instruct-2503",
1629
2233
  "chutesai/Mistral-Small-3.2-24B-Instruct-2506",
2234
+ "deepseek-ai/DeepSeek-R1",
1630
2235
  "deepseek-ai/DeepSeek-R1-0528",
1631
2236
  "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
1632
2237
  "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
2238
+ "deepseek-ai/DeepSeek-V3",
1633
2239
  "deepseek-ai/DeepSeek-V3-0324",
1634
2240
  "deepseek-ai/DeepSeek-V3.1",
1635
2241
  "deepseek-ai/DeepSeek-V3.1-Terminus",
1636
- "deepseek-ai/DeepSeek-V3.1:THINKING",
1637
- "deepseek-ai/DeepSeek-V3.2-Exp",
2242
+ "deepseek-ai/DeepSeek-V3.2",
2243
+ "deepseek-ai/DeepSeek-V3.2-Speciale",
1638
2244
  "meituan-longcat/LongCat-Flash-Chat-FP8",
2245
+ "microsoft/MAI-DS-R1-FP8",
1639
2246
  "moonshotai/Kimi-K2-Instruct-0905",
1640
- "moonshotai/Kimi-K2-Instruct-75k",
1641
- "moonshotai/Kimi-VL-A3B-Thinking",
2247
+ "moonshotai/Kimi-K2-Thinking",
1642
2248
  "openai/gpt-oss-120b",
2249
+ "openai/gpt-oss-20b",
2250
+ "rednote-hilab/dots.ocr",
1643
2251
  "tngtech/DeepSeek-R1T-Chimera",
1644
2252
  "tngtech/DeepSeek-TNG-R1T2-Chimera",
2253
+ "tngtech/TNG-R1T-Chimera",
2254
+ "unsloth/Mistral-Nemo-Instruct-2407",
2255
+ "unsloth/Mistral-Small-24B-Instruct-2501",
2256
+ "unsloth/gemma-3-12b-it",
2257
+ "unsloth/gemma-3-27b-it",
2258
+ "unsloth/gemma-3-4b-it",
1645
2259
  "zai-org/GLM-4.5",
1646
2260
  "zai-org/GLM-4.5-Air",
1647
- "zai-org/GLM-4.5-FP8",
1648
- "zai-org/GLM-4.6",
1649
- "zai-org/GLM-4.6-FP8",
1650
- "zai-org/GLM-4.6-turbo"
2261
+ "zai-org/GLM-4.6"
1651
2262
  ],
2263
+ "kimi-for-coding": ["kimi-k2-thinking"],
1652
2264
  cortecs: [
1653
2265
  "claude-4-5-sonnet",
1654
2266
  "claude-sonnet-4",
@@ -1727,7 +2339,180 @@ var provider_registry_default = {
1727
2339
  "moonshotai/Kimi-K2-Instruct",
1728
2340
  "openai/gpt-oss-120b"
1729
2341
  ],
1730
- baseten: ["Qwen3/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
2342
+ baseten: [
2343
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct",
2344
+ "deepseek-ai/DeepSeek-V3.2",
2345
+ "moonshotai/Kimi-K2-Instruct-0905",
2346
+ "moonshotai/Kimi-K2-Thinking",
2347
+ "zai-org/GLM-4.6"
2348
+ ],
2349
+ siliconflow: [
2350
+ "baidu-ernie-4.5-300b-a47b",
2351
+ "bytedance-seed-seed-oss-36b-instruct",
2352
+ "deepseek-ai-deepseek-r1",
2353
+ "deepseek-ai-deepseek-r1-distill-qwen-14b",
2354
+ "deepseek-ai-deepseek-r1-distill-qwen-32b",
2355
+ "deepseek-ai-deepseek-r1-distill-qwen-7b",
2356
+ "deepseek-ai-deepseek-v3",
2357
+ "deepseek-ai-deepseek-v3.1",
2358
+ "deepseek-ai-deepseek-v3.1-terminus",
2359
+ "deepseek-ai-deepseek-v3.2-exp",
2360
+ "deepseek-ai-deepseek-vl2",
2361
+ "inclusionai-ling-flash-2.0",
2362
+ "inclusionai-ling-mini-2.0",
2363
+ "inclusionai-ring-flash-2.0",
2364
+ "meta-llama-meta-llama-3.1-8b-instruct",
2365
+ "minimaxai-minimax-m1-80k",
2366
+ "minimaxai-minimax-m2",
2367
+ "moonshotai-kimi-dev-72b",
2368
+ "moonshotai-kimi-k2-instruct",
2369
+ "moonshotai-kimi-k2-instruct-0905",
2370
+ "moonshotai-kimi-k2-thinking",
2371
+ "nex-agi-deepseek-v3.1-nex-n1",
2372
+ "openai-gpt-oss-120b",
2373
+ "openai-gpt-oss-20b",
2374
+ "qwen-qwen2.5-14b-instruct",
2375
+ "qwen-qwen2.5-32b-instruct",
2376
+ "qwen-qwen2.5-72b-instruct",
2377
+ "qwen-qwen2.5-72b-instruct-128k",
2378
+ "qwen-qwen2.5-7b-instruct",
2379
+ "qwen-qwen2.5-coder-32b-instruct",
2380
+ "qwen-qwen2.5-vl-32b-instruct",
2381
+ "qwen-qwen2.5-vl-72b-instruct",
2382
+ "qwen-qwen2.5-vl-7b-instruct",
2383
+ "qwen-qwen3-14b",
2384
+ "qwen-qwen3-235b-a22b",
2385
+ "qwen-qwen3-235b-a22b-instruct-2507",
2386
+ "qwen-qwen3-235b-a22b-thinking-2507",
2387
+ "qwen-qwen3-30b-a3b",
2388
+ "qwen-qwen3-30b-a3b-instruct-2507",
2389
+ "qwen-qwen3-30b-a3b-thinking-2507",
2390
+ "qwen-qwen3-32b",
2391
+ "qwen-qwen3-8b",
2392
+ "qwen-qwen3-coder-30b-a3b-instruct",
2393
+ "qwen-qwen3-coder-480b-a35b-instruct",
2394
+ "qwen-qwen3-next-80b-a3b-instruct",
2395
+ "qwen-qwen3-next-80b-a3b-thinking",
2396
+ "qwen-qwen3-omni-30b-a3b-captioner",
2397
+ "qwen-qwen3-omni-30b-a3b-instruct",
2398
+ "qwen-qwen3-omni-30b-a3b-thinking",
2399
+ "qwen-qwen3-vl-235b-a22b-instruct",
2400
+ "qwen-qwen3-vl-235b-a22b-thinking",
2401
+ "qwen-qwen3-vl-30b-a3b-instruct",
2402
+ "qwen-qwen3-vl-30b-a3b-thinking",
2403
+ "qwen-qwen3-vl-32b-instruct",
2404
+ "qwen-qwen3-vl-32b-thinking",
2405
+ "qwen-qwen3-vl-8b-instruct",
2406
+ "qwen-qwen3-vl-8b-thinking",
2407
+ "qwen-qwq-32b",
2408
+ "stepfun-ai-step3",
2409
+ "tencent-hunyuan-a13b-instruct",
2410
+ "tencent-hunyuan-mt-7b",
2411
+ "thudm-glm-4-32b-0414",
2412
+ "thudm-glm-4-9b-0414",
2413
+ "thudm-glm-4.1v-9b-thinking",
2414
+ "thudm-glm-z1-32b-0414",
2415
+ "thudm-glm-z1-9b-0414",
2416
+ "z-ai-glm-4.5",
2417
+ "z-ai-glm-4.5-air",
2418
+ "zai-org-glm-4.5",
2419
+ "zai-org-glm-4.5-air",
2420
+ "zai-org-glm-4.5v",
2421
+ "zai-org-glm-4.6"
2422
+ ],
2423
+ helicone: [
2424
+ "chatgpt-4o-latest",
2425
+ "claude-3-haiku-20240307",
2426
+ "claude-3.5-haiku",
2427
+ "claude-3.5-sonnet-v2",
2428
+ "claude-3.7-sonnet",
2429
+ "claude-4.5-haiku",
2430
+ "claude-4.5-opus",
2431
+ "claude-4.5-sonnet",
2432
+ "claude-haiku-4-5-20251001",
2433
+ "claude-opus-4",
2434
+ "claude-opus-4-1",
2435
+ "claude-opus-4-1-20250805",
2436
+ "claude-sonnet-4",
2437
+ "claude-sonnet-4-5-20250929",
2438
+ "codex-mini-latest",
2439
+ "deepseek-r1-distill-llama-70b",
2440
+ "deepseek-reasoner",
2441
+ "deepseek-tng-r1t2-chimera",
2442
+ "deepseek-v3",
2443
+ "deepseek-v3.1-terminus",
2444
+ "deepseek-v3.2",
2445
+ "ernie-4.5-21b-a3b-thinking",
2446
+ "gemini-2.5-flash",
2447
+ "gemini-2.5-flash-lite",
2448
+ "gemini-2.5-pro",
2449
+ "gemini-3-pro-preview",
2450
+ "gemma-3-12b-it",
2451
+ "gemma2-9b-it",
2452
+ "glm-4.6",
2453
+ "gpt-4.1",
2454
+ "gpt-4.1-mini",
2455
+ "gpt-4.1-mini-2025-04-14",
2456
+ "gpt-4.1-nano",
2457
+ "gpt-4o",
2458
+ "gpt-4o-mini",
2459
+ "gpt-5",
2460
+ "gpt-5-chat-latest",
2461
+ "gpt-5-codex",
2462
+ "gpt-5-mini",
2463
+ "gpt-5-nano",
2464
+ "gpt-5-pro",
2465
+ "gpt-5.1",
2466
+ "gpt-5.1-chat-latest",
2467
+ "gpt-5.1-codex",
2468
+ "gpt-5.1-codex-mini",
2469
+ "gpt-oss-120b",
2470
+ "gpt-oss-20b",
2471
+ "grok-3",
2472
+ "grok-3-mini",
2473
+ "grok-4",
2474
+ "grok-4-1-fast-non-reasoning",
2475
+ "grok-4-1-fast-reasoning",
2476
+ "grok-4-fast-non-reasoning",
2477
+ "grok-4-fast-reasoning",
2478
+ "grok-code-fast-1",
2479
+ "hermes-2-pro-llama-3-8b",
2480
+ "kimi-k2-0711",
2481
+ "kimi-k2-0905",
2482
+ "kimi-k2-thinking",
2483
+ "llama-3.1-8b-instant",
2484
+ "llama-3.1-8b-instruct",
2485
+ "llama-3.1-8b-instruct-turbo",
2486
+ "llama-3.3-70b-instruct",
2487
+ "llama-3.3-70b-versatile",
2488
+ "llama-4-maverick",
2489
+ "llama-4-scout",
2490
+ "llama-guard-4",
2491
+ "llama-prompt-guard-2-22m",
2492
+ "llama-prompt-guard-2-86m",
2493
+ "mistral-large-2411",
2494
+ "mistral-nemo",
2495
+ "mistral-small",
2496
+ "o1",
2497
+ "o1-mini",
2498
+ "o3",
2499
+ "o3-mini",
2500
+ "o3-pro",
2501
+ "o4-mini",
2502
+ "qwen2.5-coder-7b-fast",
2503
+ "qwen3-235b-a22b-thinking",
2504
+ "qwen3-30b-a3b",
2505
+ "qwen3-32b",
2506
+ "qwen3-coder",
2507
+ "qwen3-coder-30b-a3b-instruct",
2508
+ "qwen3-next-80b-a3b-instruct",
2509
+ "qwen3-vl-235b-a22b-instruct",
2510
+ "sonar",
2511
+ "sonar-deep-research",
2512
+ "sonar-pro",
2513
+ "sonar-reasoning",
2514
+ "sonar-reasoning-pro"
2515
+ ],
1731
2516
  huggingface: [
1732
2517
  "MiniMaxAI/MiniMax-M2",
1733
2518
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
@@ -1745,19 +2530,27 @@ var provider_registry_default = {
1745
2530
  "zai-org/GLM-4.6"
1746
2531
  ],
1747
2532
  opencode: [
1748
- "an-gd4",
2533
+ "alpha-doubao-seed-code",
2534
+ "alpha-gd4",
2535
+ "alpha-minimax-m2",
1749
2536
  "big-pickle",
1750
2537
  "claude-3-5-haiku",
1751
2538
  "claude-haiku-4-5",
1752
2539
  "claude-opus-4-1",
2540
+ "claude-opus-4-5",
1753
2541
  "claude-sonnet-4",
1754
2542
  "claude-sonnet-4-5",
2543
+ "gemini-3-pro",
1755
2544
  "glm-4.6",
1756
2545
  "gpt-5",
1757
2546
  "gpt-5-codex",
2547
+ "gpt-5-nano",
2548
+ "gpt-5.1",
2549
+ "gpt-5.1-codex",
2550
+ "gpt-5.1-codex-max",
1758
2551
  "grok-code",
1759
2552
  "kimi-k2",
1760
- "minimax-m2",
2553
+ "kimi-k2-thinking",
1761
2554
  "qwen3-coder"
1762
2555
  ],
1763
2556
  fastrouter: [
@@ -1776,6 +2569,7 @@ var provider_registry_default = {
1776
2569
  "qwen/qwen3-coder",
1777
2570
  "x-ai/grok-4"
1778
2571
  ],
2572
+ minimax: ["MiniMax-M2"],
1779
2573
  google: [
1780
2574
  "gemini-1.5-flash",
1781
2575
  "gemini-1.5-flash-8b",
@@ -1796,6 +2590,7 @@ var provider_registry_default = {
1796
2590
  "gemini-2.5-pro-preview-05-06",
1797
2591
  "gemini-2.5-pro-preview-06-05",
1798
2592
  "gemini-2.5-pro-preview-tts",
2593
+ "gemini-3-pro-preview",
1799
2594
  "gemini-embedding-001",
1800
2595
  "gemini-flash-latest",
1801
2596
  "gemini-flash-lite-latest",
@@ -1815,6 +2610,85 @@ var provider_registry_default = {
1815
2610
  "microsoft/Phi-4-mini-instruct",
1816
2611
  "moonshotai/Kimi-K2-Instruct"
1817
2612
  ],
2613
+ "cloudflare-ai-gateway": [
2614
+ "anthropic/claude-3-5-haiku",
2615
+ "anthropic/claude-3-haiku",
2616
+ "anthropic/claude-3-opus",
2617
+ "anthropic/claude-3-sonnet",
2618
+ "anthropic/claude-3.5-haiku",
2619
+ "anthropic/claude-3.5-sonnet",
2620
+ "anthropic/claude-haiku-4-5",
2621
+ "anthropic/claude-haiku-4.5",
2622
+ "anthropic/claude-opus-4",
2623
+ "anthropic/claude-opus-4-1",
2624
+ "anthropic/claude-opus-4-5",
2625
+ "anthropic/claude-opus-4.1",
2626
+ "anthropic/claude-opus-4.5",
2627
+ "anthropic/claude-sonnet-4",
2628
+ "anthropic/claude-sonnet-4-5",
2629
+ "anthropic/claude-sonnet-4.5",
2630
+ "openai/gpt-3.5-turbo",
2631
+ "openai/gpt-4",
2632
+ "openai/gpt-4-turbo",
2633
+ "openai/gpt-4o",
2634
+ "openai/gpt-4o-mini",
2635
+ "openai/gpt-5.1",
2636
+ "openai/gpt-5.1-codex",
2637
+ "openai/o1",
2638
+ "openai/o1-mini",
2639
+ "openai/o1-preview",
2640
+ "openai/o3",
2641
+ "openai/o3-mini",
2642
+ "openai/o3-pro",
2643
+ "openai/o4-mini",
2644
+ "replicate/deepseek-ai/deepseek-r1",
2645
+ "replicate/meta/meta-llama-3-70b-instruct",
2646
+ "replicate/meta/meta-llama-3-8b-instruct",
2647
+ "replicate/meta/meta-llama-3.1-405b-instruct",
2648
+ "replicate/replicate-internal/llama-405b-instruct-vllm",
2649
+ "workers-ai/aura-1",
2650
+ "workers-ai/aura-2-en",
2651
+ "workers-ai/aura-2-es",
2652
+ "workers-ai/bart-large-cnn",
2653
+ "workers-ai/bge-base-en-v1.5",
2654
+ "workers-ai/bge-large-en-v1.5",
2655
+ "workers-ai/bge-m3",
2656
+ "workers-ai/bge-reranker-base",
2657
+ "workers-ai/bge-small-en-v1.5",
2658
+ "workers-ai/deepseek-r1-distill-qwen-32b",
2659
+ "workers-ai/distilbert-sst-2-int8",
2660
+ "workers-ai/gemma-3-12b-it",
2661
+ "workers-ai/gemma-sea-lion-v4-27b-it",
2662
+ "workers-ai/gpt-oss-120b",
2663
+ "workers-ai/gpt-oss-20b",
2664
+ "workers-ai/granite-4.0-h-micro",
2665
+ "workers-ai/indictrans2-en-indic-1B",
2666
+ "workers-ai/llama-2-7b-chat-fp16",
2667
+ "workers-ai/llama-3-8b-instruct",
2668
+ "workers-ai/llama-3-8b-instruct-awq",
2669
+ "workers-ai/llama-3.1-8b-instruct",
2670
+ "workers-ai/llama-3.1-8b-instruct-awq",
2671
+ "workers-ai/llama-3.1-8b-instruct-fp8",
2672
+ "workers-ai/llama-3.2-11b-vision-instruct",
2673
+ "workers-ai/llama-3.2-1b-instruct",
2674
+ "workers-ai/llama-3.2-3b-instruct",
2675
+ "workers-ai/llama-3.3-70b-instruct-fp8-fast",
2676
+ "workers-ai/llama-4-scout-17b-16e-instruct",
2677
+ "workers-ai/llama-guard-3-8b",
2678
+ "workers-ai/m2m100-1.2b",
2679
+ "workers-ai/melotts",
2680
+ "workers-ai/mistral-7b-instruct-v0.1",
2681
+ "workers-ai/mistral-small-3.1-24b-instruct",
2682
+ "workers-ai/nova-3",
2683
+ "workers-ai/plamo-embedding-1b",
2684
+ "workers-ai/qwen2.5-coder-32b-instruct",
2685
+ "workers-ai/qwen3-30b-a3b-fp8",
2686
+ "workers-ai/qwen3-embedding-0.6b",
2687
+ "workers-ai/qwq-32b",
2688
+ "workers-ai/smart-turn-v2",
2689
+ "workers-ai/whisper",
2690
+ "workers-ai/whisper-large-v3-turbo"
2691
+ ],
1818
2692
  openai: [
1819
2693
  "codex-mini-latest",
1820
2694
  "gpt-3.5-turbo",
@@ -1834,6 +2708,11 @@ var provider_registry_default = {
1834
2708
  "gpt-5-mini",
1835
2709
  "gpt-5-nano",
1836
2710
  "gpt-5-pro",
2711
+ "gpt-5.1",
2712
+ "gpt-5.1-chat-latest",
2713
+ "gpt-5.1-codex",
2714
+ "gpt-5.1-codex-max",
2715
+ "gpt-5.1-codex-mini",
1837
2716
  "o1",
1838
2717
  "o1-mini",
1839
2718
  "o1-preview",
@@ -1849,6 +2728,7 @@ var provider_registry_default = {
1849
2728
  "text-embedding-ada-002"
1850
2729
  ],
1851
2730
  "zhipuai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
2731
+ "minimax-cn": ["MiniMax-M2"],
1852
2732
  perplexity: ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
1853
2733
  openrouter: [
1854
2734
  "anthropic/claude-3.5-haiku",
@@ -1856,6 +2736,7 @@ var provider_registry_default = {
1856
2736
  "anthropic/claude-haiku-4.5",
1857
2737
  "anthropic/claude-opus-4",
1858
2738
  "anthropic/claude-opus-4.1",
2739
+ "anthropic/claude-opus-4.5",
1859
2740
  "anthropic/claude-sonnet-4",
1860
2741
  "anthropic/claude-sonnet-4.5",
1861
2742
  "cognitivecomputations/dolphin3.0-mistral-24b",
@@ -1870,6 +2751,8 @@ var provider_registry_default = {
1870
2751
  "deepseek/deepseek-v3-base:free",
1871
2752
  "deepseek/deepseek-v3.1-terminus",
1872
2753
  "deepseek/deepseek-v3.1-terminus:exacto",
2754
+ "deepseek/deepseek-v3.2",
2755
+ "deepseek/deepseek-v3.2-speciale",
1873
2756
  "featherless/qwerky-72b",
1874
2757
  "google/gemini-2.0-flash-001",
1875
2758
  "google/gemini-2.0-flash-exp:free",
@@ -1880,18 +2763,20 @@ var provider_registry_default = {
1880
2763
  "google/gemini-2.5-pro",
1881
2764
  "google/gemini-2.5-pro-preview-05-06",
1882
2765
  "google/gemini-2.5-pro-preview-06-05",
2766
+ "google/gemini-3-pro-preview",
1883
2767
  "google/gemma-2-9b-it:free",
1884
2768
  "google/gemma-3-12b-it",
1885
2769
  "google/gemma-3-27b-it",
1886
2770
  "google/gemma-3n-e4b-it",
1887
2771
  "google/gemma-3n-e4b-it:free",
2772
+ "kwaipilot/kat-coder-pro:free",
1888
2773
  "meta-llama/llama-3.2-11b-vision-instruct",
1889
2774
  "meta-llama/llama-3.3-70b-instruct:free",
1890
2775
  "meta-llama/llama-4-scout:free",
1891
2776
  "microsoft/mai-ds-r1:free",
1892
2777
  "minimax/minimax-01",
1893
2778
  "minimax/minimax-m1",
1894
- "minimax/minimax-m2:free",
2779
+ "minimax/minimax-m2",
1895
2780
  "mistralai/codestral-2508",
1896
2781
  "mistralai/devstral-medium-2507",
1897
2782
  "mistralai/devstral-small-2505",
@@ -1908,6 +2793,7 @@ var provider_registry_default = {
1908
2793
  "moonshotai/kimi-k2",
1909
2794
  "moonshotai/kimi-k2-0905",
1910
2795
  "moonshotai/kimi-k2-0905:exacto",
2796
+ "moonshotai/kimi-k2-thinking",
1911
2797
  "moonshotai/kimi-k2:free",
1912
2798
  "nousresearch/deephermes-3-llama-3-8b-preview",
1913
2799
  "nousresearch/hermes-4-405b",
@@ -1923,15 +2809,15 @@ var provider_registry_default = {
1923
2809
  "openai/gpt-5-mini",
1924
2810
  "openai/gpt-5-nano",
1925
2811
  "openai/gpt-5-pro",
2812
+ "openai/gpt-5.1",
2813
+ "openai/gpt-5.1-chat",
2814
+ "openai/gpt-5.1-codex",
2815
+ "openai/gpt-5.1-codex-mini",
1926
2816
  "openai/gpt-oss-120b",
1927
2817
  "openai/gpt-oss-120b:exacto",
1928
2818
  "openai/gpt-oss-20b",
2819
+ "openai/gpt-oss-safeguard-20b",
1929
2820
  "openai/o4-mini",
1930
- "openrouter/cypher-alpha:free",
1931
- "openrouter/horizon-alpha",
1932
- "openrouter/horizon-beta",
1933
- "openrouter/sonoma-dusk-alpha",
1934
- "openrouter/sonoma-sky-alpha",
1935
2821
  "qwen/qwen-2.5-coder-32b-instruct",
1936
2822
  "qwen/qwen2.5-vl-32b-instruct:free",
1937
2823
  "qwen/qwen2.5-vl-72b-instruct",
@@ -1947,6 +2833,7 @@ var provider_registry_default = {
1947
2833
  "qwen/qwen3-32b:free",
1948
2834
  "qwen/qwen3-8b:free",
1949
2835
  "qwen/qwen3-coder",
2836
+ "qwen/qwen3-coder-flash",
1950
2837
  "qwen/qwen3-coder:exacto",
1951
2838
  "qwen/qwen3-coder:free",
1952
2839
  "qwen/qwen3-max",
@@ -1963,6 +2850,7 @@ var provider_registry_default = {
1963
2850
  "x-ai/grok-3-mini-beta",
1964
2851
  "x-ai/grok-4",
1965
2852
  "x-ai/grok-4-fast",
2853
+ "x-ai/grok-4.1-fast",
1966
2854
  "x-ai/grok-code-fast-1",
1967
2855
  "z-ai/glm-4.5",
1968
2856
  "z-ai/glm-4.5-air",
@@ -1980,7 +2868,10 @@ var provider_registry_default = {
1980
2868
  "inclusionai/lint-1t",
1981
2869
  "inclusionai/ring-1t",
1982
2870
  "kuaishou/kat-coder-pro-v1",
2871
+ "minimax/minimax-m2",
1983
2872
  "moonshotai/kimi-k2-0905",
2873
+ "moonshotai/kimi-k2-thinking",
2874
+ "moonshotai/kimi-k2-thinking-turbo",
1984
2875
  "openai/gpt-5",
1985
2876
  "openai/gpt-5-codex",
1986
2877
  "qwen/qwen3-coder-plus",
@@ -1991,14 +2882,34 @@ var provider_registry_default = {
1991
2882
  "z-ai/glm-4.5-air",
1992
2883
  "z-ai/glm-4.6"
1993
2884
  ],
2885
+ ovhcloud: [
2886
+ "deepseek-r1-distill-llama-70b",
2887
+ "gpt-oss-120b",
2888
+ "gpt-oss-20b",
2889
+ "llama-3.1-8b-instruct",
2890
+ "llava-next-mistral-7b",
2891
+ "meta-llama-3_1-70b-instruct",
2892
+ "meta-llama-3_3-70b-instruct",
2893
+ "mistral-7b-instruct-v0.3",
2894
+ "mistral-nemo-instruct-2407",
2895
+ "mistral-small-3.2-24b-instruct-2506",
2896
+ "mixtral-8x7b-instruct-v0.1",
2897
+ "qwen2.5-coder-32b-instruct",
2898
+ "qwen2.5-vl-72b-instruct",
2899
+ "qwen3-32b",
2900
+ "qwen3-coder-30b-a3b-instruct"
2901
+ ],
1994
2902
  iflowcn: [
1995
2903
  "deepseek-r1",
1996
2904
  "deepseek-v3",
1997
2905
  "deepseek-v3.1",
1998
2906
  "deepseek-v3.2",
2907
+ "deepseek-v3.2-chat",
1999
2908
  "glm-4.6",
2000
2909
  "kimi-k2",
2001
2910
  "kimi-k2-0905",
2911
+ "kimi-k2-thinking",
2912
+ "minimax-m2",
2002
2913
  "qwen3-235b",
2003
2914
  "qwen3-235b-a22b-instruct",
2004
2915
  "qwen3-235b-a22b-thinking-2507",
@@ -2022,6 +2933,7 @@ var provider_registry_default = {
2022
2933
  "hf:deepseek-ai/DeepSeek-V3-0324",
2023
2934
  "hf:deepseek-ai/DeepSeek-V3.1",
2024
2935
  "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
2936
+ "hf:deepseek-ai/DeepSeek-V3.2",
2025
2937
  "hf:meta-llama/Llama-3.1-405B-Instruct",
2026
2938
  "hf:meta-llama/Llama-3.1-70B-Instruct",
2027
2939
  "hf:meta-llama/Llama-3.1-8B-Instruct",
@@ -2030,6 +2942,7 @@ var provider_registry_default = {
2030
2942
  "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct",
2031
2943
  "hf:moonshotai/Kimi-K2-Instruct",
2032
2944
  "hf:moonshotai/Kimi-K2-Instruct-0905",
2945
+ "hf:moonshotai/Kimi-K2-Thinking",
2033
2946
  "hf:openai/gpt-oss-120b",
2034
2947
  "hf:zai-org/GLM-4.5",
2035
2948
  "hf:zai-org/GLM-4.6"
@@ -2038,6 +2951,8 @@ var provider_registry_default = {
2038
2951
  "Qwen/Qwen3-Coder-480B-A35B-Instruct",
2039
2952
  "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
2040
2953
  "moonshotai/Kimi-K2-Instruct",
2954
+ "openai/gpt-oss-120b",
2955
+ "openai/gpt-oss-20b",
2041
2956
  "zai-org/GLM-4.5"
2042
2957
  ],
2043
2958
  zhipuai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
@@ -2066,18 +2981,24 @@ var provider_registry_default = {
2066
2981
  ],
2067
2982
  requesty: [
2068
2983
  "anthropic/claude-3-7-sonnet",
2069
- "anthropic/claude-4-sonnet-20250522",
2984
+ "anthropic/claude-haiku-4-5",
2070
2985
  "anthropic/claude-opus-4",
2071
- "anthropic/claude-opus-4-1-20250805",
2986
+ "anthropic/claude-opus-4-1",
2987
+ "anthropic/claude-opus-4-5",
2988
+ "anthropic/claude-sonnet-4",
2989
+ "anthropic/claude-sonnet-4-5",
2072
2990
  "google/gemini-2.5-flash",
2073
2991
  "google/gemini-2.5-pro",
2992
+ "google/gemini-3-pro-preview",
2074
2993
  "openai/gpt-4.1",
2075
2994
  "openai/gpt-4.1-mini",
2076
2995
  "openai/gpt-4o-mini",
2077
2996
  "openai/gpt-5",
2078
2997
  "openai/gpt-5-mini",
2079
2998
  "openai/gpt-5-nano",
2080
- "openai/o4-mini"
2999
+ "openai/o4-mini",
3000
+ "xai/grok-4",
3001
+ "xai/grok-4-fast"
2081
3002
  ],
2082
3003
  morph: ["auto", "morph-v3-fast", "morph-v3-large"],
2083
3004
  lmstudio: ["openai/gpt-oss-20b", "qwen/qwen3-30b-a3b-2507", "qwen/qwen3-coder-30b"],
@@ -2097,6 +3018,8 @@ var provider_registry_default = {
2097
3018
  "claude-opus-4-1",
2098
3019
  "claude-opus-4-1-20250805",
2099
3020
  "claude-opus-4-20250514",
3021
+ "claude-opus-4-5",
3022
+ "claude-opus-4-5-20251101",
2100
3023
  "claude-sonnet-4-0",
2101
3024
  "claude-sonnet-4-20250514",
2102
3025
  "claude-sonnet-4-5",
@@ -2111,10 +3034,30 @@ var provider_registry_default = {
2111
3034
  "accounts/fireworks/models/gpt-oss-120b",
2112
3035
  "accounts/fireworks/models/gpt-oss-20b",
2113
3036
  "accounts/fireworks/models/kimi-k2-instruct",
3037
+ "accounts/fireworks/models/kimi-k2-thinking",
2114
3038
  "accounts/fireworks/models/minimax-m2",
2115
3039
  "accounts/fireworks/models/qwen3-235b-a22b",
2116
3040
  "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
2117
3041
  ],
3042
+ "io-net": [
3043
+ "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
3044
+ "Qwen/Qwen2.5-VL-32B-Instruct",
3045
+ "Qwen/Qwen3-235B-A22B-Thinking-2507",
3046
+ "Qwen/Qwen3-Next-80B-A3B-Instruct",
3047
+ "deepseek-ai/DeepSeek-R1-0528",
3048
+ "meta-llama/Llama-3.2-90B-Vision-Instruct",
3049
+ "meta-llama/Llama-3.3-70B-Instruct",
3050
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
3051
+ "mistralai/Devstral-Small-2505",
3052
+ "mistralai/Magistral-Small-2506",
3053
+ "mistralai/Mistral-Large-Instruct-2411",
3054
+ "mistralai/Mistral-Nemo-Instruct-2407",
3055
+ "moonshotai/Kimi-K2-Instruct-0905",
3056
+ "moonshotai/Kimi-K2-Thinking",
3057
+ "openai/gpt-oss-120b",
3058
+ "openai/gpt-oss-20b",
3059
+ "zai-org/GLM-4.6"
3060
+ ],
2118
3061
  modelscope: [
2119
3062
  "Qwen/Qwen3-235B-A22B-Instruct-2507",
2120
3063
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
@@ -2148,26 +3091,130 @@ var provider_registry_default = {
2148
3091
  "voxtral-small-24b-2507",
2149
3092
  "whisper-large-v3"
2150
3093
  ],
2151
- cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b", "zai-glm-4.6"],
3094
+ poe: [
3095
+ "anthropic/claude-haiku-3",
3096
+ "anthropic/claude-haiku-3.5",
3097
+ "anthropic/claude-haiku-3.5-search",
3098
+ "anthropic/claude-haiku-4.5",
3099
+ "anthropic/claude-opus-3",
3100
+ "anthropic/claude-opus-4",
3101
+ "anthropic/claude-opus-4-reasoning",
3102
+ "anthropic/claude-opus-4-search",
3103
+ "anthropic/claude-opus-4.1",
3104
+ "anthropic/claude-sonnet-3.5",
3105
+ "anthropic/claude-sonnet-3.5-june",
3106
+ "anthropic/claude-sonnet-3.7",
3107
+ "anthropic/claude-sonnet-3.7-reasoning",
3108
+ "anthropic/claude-sonnet-3.7-search",
3109
+ "anthropic/claude-sonnet-4",
3110
+ "anthropic/claude-sonnet-4-reasoning",
3111
+ "anthropic/claude-sonnet-4-search",
3112
+ "anthropic/claude-sonnet-4.5",
3113
+ "elevenlabs/elevenlabs-music",
3114
+ "elevenlabs/elevenlabs-v2.5-turbo",
3115
+ "elevenlabs/elevenlabs-v3",
3116
+ "facebook/llama-3.1-405b",
3117
+ "facebook/llama-3.1-70b",
3118
+ "facebook/llama-3.1-8b",
3119
+ "google/gemini-2.0-flash",
3120
+ "google/gemini-2.0-flash-lite",
3121
+ "google/gemini-2.5-flash",
3122
+ "google/gemini-2.5-flash-lite",
3123
+ "google/gemini-2.5-pro",
3124
+ "google/gemini-3.0-pro",
3125
+ "google/imagen-3",
3126
+ "google/imagen-3-fast",
3127
+ "google/imagen-4",
3128
+ "google/imagen-4-fast",
3129
+ "google/imagen-4-ultra",
3130
+ "google/lyria",
3131
+ "google/nano-banana",
3132
+ "google/veo-2",
3133
+ "google/veo-3",
3134
+ "google/veo-3-fast",
3135
+ "google/veo-3.1",
3136
+ "google/veo-3.1-fast",
3137
+ "ideogramai/ideogram",
3138
+ "ideogramai/ideogram-v2",
3139
+ "ideogramai/ideogram-v2a",
3140
+ "ideogramai/ideogram-v2a-turbo",
3141
+ "lumalabs/dream-machine",
3142
+ "lumalabs/ray2",
3143
+ "novita/glm-4.6",
3144
+ "openAi/chatgpt-4o-latest",
3145
+ "openAi/dall-e-3",
3146
+ "openAi/gpt-3.5-turbo",
3147
+ "openAi/gpt-3.5-turbo-instruct",
3148
+ "openAi/gpt-3.5-turbo-raw",
3149
+ "openAi/gpt-4-classic",
3150
+ "openAi/gpt-4-classic-0314",
3151
+ "openAi/gpt-4-turbo",
3152
+ "openAi/gpt-4.1",
3153
+ "openAi/gpt-4.1-mini",
3154
+ "openAi/gpt-4.1-nano",
3155
+ "openAi/gpt-4o",
3156
+ "openAi/gpt-4o-aug",
3157
+ "openAi/gpt-4o-mini",
3158
+ "openAi/gpt-4o-mini-search",
3159
+ "openAi/gpt-4o-search",
3160
+ "openAi/gpt-5",
3161
+ "openAi/gpt-5-chat",
3162
+ "openAi/gpt-5-codex",
3163
+ "openAi/gpt-5-mini",
3164
+ "openAi/gpt-5-nano",
3165
+ "openAi/gpt-5-pro",
3166
+ "openAi/gpt-image-1",
3167
+ "openAi/gpt-image-1-mini",
3168
+ "openAi/o1",
3169
+ "openAi/o1-pro",
3170
+ "openAi/o3",
3171
+ "openAi/o3-deep-research",
3172
+ "openAi/o3-mini",
3173
+ "openAi/o3-mini-high",
3174
+ "openAi/o3-pro",
3175
+ "openAi/o4-mini",
3176
+ "openAi/o4-mini-deep-research",
3177
+ "openAi/sora-2",
3178
+ "openAi/sora-2-pro",
3179
+ "openai/gpt-5.1",
3180
+ "openai/gpt-5.1-codex",
3181
+ "openai/gpt-5.1-codex-mini",
3182
+ "openai/gpt-5.1-instant",
3183
+ "runwayml/runway",
3184
+ "runwayml/runway-gen-4-turbo",
3185
+ "stabilityai/stablediffusionxl",
3186
+ "topazlabs-co/topazlabs",
3187
+ "trytako/tako",
3188
+ "xai/grok-2",
3189
+ "xai/grok-3",
3190
+ "xai/grok-3-mini",
3191
+ "xai/grok-4",
3192
+ "xai/grok-4-fast-non-reasoning",
3193
+ "xai/grok-4-fast-reasoning",
3194
+ "xai/grok-code-fast-1"
3195
+ ],
3196
+ cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
2152
3197
  netlify: [
2153
3198
  "anthropic/claude-3-5-haiku-20241022",
2154
- "anthropic/claude-3-5-haiku-latest",
2155
3199
  "anthropic/claude-3-7-sonnet-20250219",
2156
- "anthropic/claude-3-7-sonnet-latest",
2157
3200
  "anthropic/claude-3-haiku-20240307",
2158
3201
  "anthropic/claude-haiku-4-5-20251001",
2159
3202
  "anthropic/claude-opus-4-1-20250805",
2160
3203
  "anthropic/claude-opus-4-20250514",
3204
+ "anthropic/claude-opus-4-5-20251101",
2161
3205
  "anthropic/claude-sonnet-4-20250514",
2162
3206
  "anthropic/claude-sonnet-4-5-20250929",
2163
3207
  "gemini/gemini-2.0-flash",
2164
3208
  "gemini/gemini-2.0-flash-lite",
2165
3209
  "gemini/gemini-2.5-flash",
3210
+ "gemini/gemini-2.5-flash-image",
2166
3211
  "gemini/gemini-2.5-flash-image-preview",
2167
3212
  "gemini/gemini-2.5-flash-lite",
2168
3213
  "gemini/gemini-2.5-flash-lite-preview-09-2025",
2169
3214
  "gemini/gemini-2.5-flash-preview-09-2025",
2170
3215
  "gemini/gemini-2.5-pro",
3216
+ "gemini/gemini-3-pro-image-preview",
3217
+ "gemini/gemini-3-pro-preview",
2171
3218
  "gemini/gemini-flash-latest",
2172
3219
  "gemini/gemini-flash-lite-latest",
2173
3220
  "openai/codex-mini-latest",
@@ -2177,10 +3224,17 @@ var provider_registry_default = {
2177
3224
  "openai/gpt-4o",
2178
3225
  "openai/gpt-4o-mini",
2179
3226
  "openai/gpt-5",
3227
+ "openai/gpt-5-2025-08-07",
2180
3228
  "openai/gpt-5-codex",
2181
3229
  "openai/gpt-5-mini",
3230
+ "openai/gpt-5-mini-2025-08-07",
2182
3231
  "openai/gpt-5-nano",
2183
3232
  "openai/gpt-5-pro",
3233
+ "openai/gpt-5.1",
3234
+ "openai/gpt-5.1-2025-11-13",
3235
+ "openai/gpt-5.1-codex",
3236
+ "openai/gpt-5.1-codex-max",
3237
+ "openai/gpt-5.1-codex-mini",
2184
3238
  "openai/o3",
2185
3239
  "openai/o3-mini",
2186
3240
  "openai/o4-mini"
@@ -2196,6 +3250,20 @@ var CACHE_FILE = () => path__default.default.join(CACHE_DIR(), "gateway-refresh-
2196
3250
  var GLOBAL_PROVIDER_REGISTRY_JSON = () => path__default.default.join(CACHE_DIR(), "provider-registry.json");
2197
3251
  var GLOBAL_PROVIDER_TYPES_DTS = () => path__default.default.join(CACHE_DIR(), "provider-types.generated.d.ts");
2198
3252
  var modelRouterCacheFailed = false;
3253
+ function atomicWriteFileSync(filePath, content, encoding = "utf-8") {
3254
+ const randomSuffix = Math.random().toString(36).substring(2, 15);
3255
+ const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;
3256
+ try {
3257
+ fs__default.default.writeFileSync(tempPath, content, encoding);
3258
+ fs__default.default.renameSync(tempPath, filePath);
3259
+ } catch (error) {
3260
+ try {
3261
+ fs__default.default.unlinkSync(tempPath);
3262
+ } catch {
3263
+ }
3264
+ throw error;
3265
+ }
3266
+ }
2199
3267
  function syncGlobalCacheToLocal() {
2200
3268
  try {
2201
3269
  const globalJsonExists = fs__default.default.existsSync(GLOBAL_PROVIDER_REGISTRY_JSON());
@@ -2210,13 +3278,25 @@ function syncGlobalCacheToLocal() {
2210
3278
  fs__default.default.mkdirSync(path__default.default.dirname(localDtsPath), { recursive: true });
2211
3279
  if (globalJsonExists) {
2212
3280
  const globalJsonContent = fs__default.default.readFileSync(GLOBAL_PROVIDER_REGISTRY_JSON(), "utf-8");
3281
+ try {
3282
+ JSON.parse(globalJsonContent);
3283
+ } catch {
3284
+ console.warn(
3285
+ `[GatewayRegistry] Detected corrupted global cache at ${GLOBAL_PROVIDER_REGISTRY_JSON()}. Deleting corrupted file.`
3286
+ );
3287
+ try {
3288
+ fs__default.default.unlinkSync(GLOBAL_PROVIDER_REGISTRY_JSON());
3289
+ } catch {
3290
+ }
3291
+ return;
3292
+ }
2213
3293
  let shouldCopyJson = true;
2214
3294
  if (fs__default.default.existsSync(localJsonPath)) {
2215
3295
  const localJsonContent = fs__default.default.readFileSync(localJsonPath, "utf-8");
2216
3296
  shouldCopyJson = globalJsonContent !== localJsonContent;
2217
3297
  }
2218
3298
  if (shouldCopyJson) {
2219
- fs__default.default.writeFileSync(localJsonPath, globalJsonContent, "utf-8");
3299
+ atomicWriteFileSync(localJsonPath, globalJsonContent, "utf-8");
2220
3300
  }
2221
3301
  }
2222
3302
  if (globalDtsExists) {
@@ -2227,7 +3307,7 @@ function syncGlobalCacheToLocal() {
2227
3307
  shouldCopyDts = globalDtsContent !== localDtsContent;
2228
3308
  }
2229
3309
  if (shouldCopyDts) {
2230
- fs__default.default.writeFileSync(localDtsPath, globalDtsContent, "utf-8");
3310
+ atomicWriteFileSync(localDtsPath, globalDtsContent, "utf-8");
2231
3311
  }
2232
3312
  }
2233
3313
  } catch (error) {
@@ -2260,7 +3340,7 @@ function saveLastRefreshTimeToDisk(date) {
2260
3340
  }
2261
3341
  function getPackageRoot() {
2262
3342
  try {
2263
- const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-YIK3ASEG.cjs', document.baseURI).href)) || "file://");
3343
+ const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-P2D2VO2O.cjs', document.baseURI).href)) || "file://");
2264
3344
  const packageJsonPath = require2.resolve("@mastra/core/package.json");
2265
3345
  return path__default.default.dirname(packageJsonPath);
2266
3346
  } catch {
@@ -2292,16 +3372,31 @@ function loadRegistry(useDynamicLoading) {
2292
3372
  registryData = JSON.parse(content);
2293
3373
  return registryData;
2294
3374
  } catch (err) {
2295
- errors.push(`${jsonPath}: ${err instanceof Error ? err.message : String(err)}`);
3375
+ const errorMessage = err instanceof Error ? err.message : String(err);
3376
+ errors.push(`${jsonPath}: ${errorMessage}`);
3377
+ const isFileNotFound = err instanceof Error && "code" in err && err.code === "ENOENT";
3378
+ const isJsonParseError = err instanceof SyntaxError;
3379
+ if (!isFileNotFound && isJsonParseError) {
3380
+ console.warn(
3381
+ `[GatewayRegistry] Detected corrupted provider-registry.json at ${jsonPath}. Deleting corrupted file and falling back to static registry.`
3382
+ );
3383
+ try {
3384
+ fs__default.default.unlinkSync(jsonPath);
3385
+ } catch {
3386
+ }
3387
+ registryData = provider_registry_default;
3388
+ return registryData;
3389
+ }
2296
3390
  continue;
2297
3391
  }
2298
3392
  }
2299
- throw new Error(
2300
- `Failed to load provider registry with dynamic loading. Make sure provider-registry.json is generated by running: npm run generate:providers
2301
-
3393
+ console.warn(
3394
+ `[GatewayRegistry] Could not load provider registry from any path. Falling back to static registry.
2302
3395
  Tried paths:
2303
3396
  ${errors.join("\n")}`
2304
3397
  );
3398
+ registryData = provider_registry_default;
3399
+ return registryData;
2305
3400
  }
2306
3401
  var PROVIDER_REGISTRY = new Proxy({}, {
2307
3402
  get(_target, prop) {
@@ -2331,7 +3426,7 @@ var PROVIDER_REGISTRY = new Proxy({}, {
2331
3426
  return void 0;
2332
3427
  }
2333
3428
  });
2334
- new Proxy({}, {
3429
+ var PROVIDER_MODELS = new Proxy({}, {
2335
3430
  get(_target, prop) {
2336
3431
  const registry = GatewayRegistry.getInstance();
2337
3432
  const models = registry.getModels();
@@ -2380,12 +3475,26 @@ function getProviderConfig(providerId) {
2380
3475
  const registry = GatewayRegistry.getInstance();
2381
3476
  return registry.getProviderConfig(providerId);
2382
3477
  }
3478
+ function isProviderRegistered(providerId) {
3479
+ const registry = GatewayRegistry.getInstance();
3480
+ return registry.isProviderRegistered(providerId);
3481
+ }
3482
+ function getRegisteredProviders() {
3483
+ const registry = GatewayRegistry.getInstance();
3484
+ const providers = registry.getProviders();
3485
+ return Object.keys(providers);
3486
+ }
3487
+ function isValidModelId(modelId) {
3488
+ const { provider } = parseModelString(modelId);
3489
+ return provider !== null && isProviderRegistered(provider);
3490
+ }
2383
3491
  var GatewayRegistry = class _GatewayRegistry {
2384
3492
  static instance = null;
2385
3493
  lastRefreshTime = null;
2386
3494
  refreshInterval = null;
2387
3495
  isRefreshing = false;
2388
3496
  useDynamicLoading;
3497
+ customGateways = [];
2389
3498
  constructor(options = {}) {
2390
3499
  const isDev2 = process.env.MASTRA_DEV === "true" || process.env.MASTRA_DEV === "1";
2391
3500
  this.useDynamicLoading = options.useDynamicLoading ?? isDev2;
@@ -2399,6 +3508,19 @@ var GatewayRegistry = class _GatewayRegistry {
2399
3508
  }
2400
3509
  return _GatewayRegistry.instance;
2401
3510
  }
3511
+ /**
3512
+ * Register custom gateways for type generation
3513
+ * @param gateways - Array of custom gateway instances
3514
+ */
3515
+ registerCustomGateways(gateways) {
3516
+ this.customGateways = gateways;
3517
+ }
3518
+ /**
3519
+ * Get all registered custom gateways
3520
+ */
3521
+ getCustomGateways() {
3522
+ return this.customGateways;
3523
+ }
2402
3524
  /**
2403
3525
  * Sync providers from all gateways
2404
3526
  * Requires dynamic loading to be enabled (useDynamicLoading=true).
@@ -2414,11 +3536,12 @@ var GatewayRegistry = class _GatewayRegistry {
2414
3536
  }
2415
3537
  this.isRefreshing = true;
2416
3538
  try {
2417
- const { ModelsDevGateway: ModelsDevGateway2 } = await import('./models-dev-VKSAQPRK.cjs');
2418
- const { NetlifyGateway: NetlifyGateway2 } = await import('./netlify-2IDXTNFW.cjs');
2419
- const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-MK63POJO.cjs');
2420
- const gateways2 = [new ModelsDevGateway2({}), new NetlifyGateway2()];
2421
- const { providers, models } = await fetchProvidersFromGateways(gateways2);
3539
+ const { ModelsDevGateway } = await import('./models-dev-EO3SUIY2.cjs');
3540
+ const { NetlifyGateway } = await import('./netlify-KJLY3GFS.cjs');
3541
+ const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-34SC4TAU.cjs');
3542
+ const defaultGateways = [new ModelsDevGateway({}), new NetlifyGateway()];
3543
+ const gateways = [...defaultGateways, ...this.customGateways];
3544
+ const { providers, models } = await fetchProvidersFromGateways(gateways);
2422
3545
  const packageRoot = getPackageRoot();
2423
3546
  try {
2424
3547
  fs__default.default.mkdirSync(CACHE_DIR(), { recursive: true });
@@ -2531,260 +3654,13 @@ if (autoRefreshEnabled) {
2531
3654
  GatewayRegistry.getInstance({ useDynamicLoading: isDev }).startAutoRefresh();
2532
3655
  }
2533
3656
 
2534
- // src/llm/model/gateways/index.ts
2535
- function findGatewayForModel(gatewayId, gateways2) {
2536
- const prefixedGateway = gateways2.find((g) => g.prefix && gatewayId.startsWith(`${g.prefix}/`));
2537
- if (prefixedGateway) {
2538
- return prefixedGateway;
2539
- }
2540
- const unprefixedGateways = gateways2.filter((g) => !g.prefix);
2541
- for (const gateway of unprefixedGateways) {
2542
- return gateway;
2543
- }
2544
- throw new chunkTWH4PTDG_cjs.MastraError({
2545
- id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
2546
- category: "USER",
2547
- domain: "MODEL_ROUTER",
2548
- text: `No Mastra model router gateway found for model id ${gatewayId}`
2549
- });
2550
- }
2551
-
2552
- // src/llm/model/router.ts
2553
- function getStaticProvidersByGateway(name) {
2554
- return Object.fromEntries(Object.entries(PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));
2555
- }
2556
- var gateways = [new chunkVV753WCB_cjs.NetlifyGateway(), new chunkIU2SZXJQ_cjs.ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
2557
- var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2558
- specificationVersion = "v2";
2559
- defaultObjectGenerationMode = "json";
2560
- supportsStructuredOutputs = true;
2561
- supportsImageUrls = true;
2562
- supportedUrls = {};
2563
- modelId;
2564
- provider;
2565
- config;
2566
- gateway;
2567
- constructor(config) {
2568
- let normalizedConfig;
2569
- if (typeof config === "string") {
2570
- normalizedConfig = { id: config };
2571
- } else if ("providerId" in config && "modelId" in config) {
2572
- normalizedConfig = {
2573
- id: `${config.providerId}/${config.modelId}`,
2574
- url: config.url,
2575
- apiKey: config.apiKey,
2576
- headers: config.headers
2577
- };
2578
- } else {
2579
- normalizedConfig = {
2580
- id: config.id,
2581
- url: config.url,
2582
- apiKey: config.apiKey,
2583
- headers: config.headers
2584
- };
2585
- }
2586
- const parsedConfig = {
2587
- ...normalizedConfig,
2588
- routerId: normalizedConfig.id
2589
- };
2590
- this.gateway = findGatewayForModel(normalizedConfig.id, gateways);
2591
- const parsed = chunkIU2SZXJQ_cjs.parseModelRouterId(normalizedConfig.id, this.gateway.prefix);
2592
- this.provider = parsed.providerId || "openai-compatible";
2593
- if (parsed.providerId && parsed.modelId !== normalizedConfig.id) {
2594
- parsedConfig.id = parsed.modelId;
2595
- }
2596
- this.modelId = parsedConfig.id;
2597
- this.config = parsedConfig;
2598
- }
2599
- async doGenerate() {
2600
- throw new Error(
2601
- "doGenerate is not supported by Mastra model router. Mastra only uses streaming (doStream) for all LLM calls."
2602
- );
2603
- }
2604
- async doStream(options) {
2605
- let apiKey;
2606
- try {
2607
- if (this.config.url) {
2608
- apiKey = this.config.apiKey || "";
2609
- } else {
2610
- apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
2611
- }
2612
- } catch (error) {
2613
- return {
2614
- stream: new ReadableStream({
2615
- start(controller) {
2616
- controller.enqueue({
2617
- type: "error",
2618
- error
2619
- });
2620
- }
2621
- })
2622
- };
2623
- }
2624
- const model = await this.resolveLanguageModel({
2625
- apiKey,
2626
- ...chunkIU2SZXJQ_cjs.parseModelRouterId(this.config.routerId, this.gateway.prefix)
2627
- });
2628
- return model.doStream(options);
2629
- }
2630
- async resolveLanguageModel({
2631
- modelId,
2632
- providerId,
2633
- apiKey
2634
- }) {
2635
- const key = crypto.createHash("sha256").update(this.gateway.name + modelId + providerId + apiKey + (this.config.url || "")).digest("hex");
2636
- if (_ModelRouterLanguageModel.modelInstances.has(key)) return _ModelRouterLanguageModel.modelInstances.get(key);
2637
- if (this.config.url) {
2638
- const modelInstance2 = chunkS5MJLXMG_cjs.createOpenAICompatible({
2639
- name: providerId,
2640
- apiKey,
2641
- baseURL: this.config.url,
2642
- headers: this.config.headers,
2643
- supportsStructuredOutputs: true
2644
- }).chatModel(modelId);
2645
- _ModelRouterLanguageModel.modelInstances.set(key, modelInstance2);
2646
- return modelInstance2;
2647
- }
2648
- const modelInstance = await this.gateway.resolveLanguageModel({ modelId, providerId, apiKey });
2649
- _ModelRouterLanguageModel.modelInstances.set(key, modelInstance);
2650
- return modelInstance;
2651
- }
2652
- static modelInstances = /* @__PURE__ */ new Map();
2653
- };
2654
-
2655
- // src/llm/model/resolve-model.ts
2656
- function isOpenAICompatibleObjectConfig(modelConfig) {
2657
- if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) return false;
2658
- if (typeof modelConfig === "object" && !("model" in modelConfig)) {
2659
- if ("id" in modelConfig) return true;
2660
- if ("providerId" in modelConfig && "modelId" in modelConfig) return true;
2661
- }
2662
- return false;
2663
- }
2664
- async function resolveModelConfig(modelConfig, requestContext = new chunkJ7O6WENZ_cjs.RequestContext(), mastra) {
2665
- if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) {
2666
- return modelConfig;
2667
- }
2668
- if (typeof modelConfig === "string" || isOpenAICompatibleObjectConfig(modelConfig)) {
2669
- return new ModelRouterLanguageModel(modelConfig);
2670
- }
2671
- if (typeof modelConfig === "function") {
2672
- const fromDynamic = await modelConfig({ requestContext, mastra });
2673
- if (typeof fromDynamic === "string" || isOpenAICompatibleObjectConfig(fromDynamic)) {
2674
- return new ModelRouterLanguageModel(fromDynamic);
2675
- }
2676
- return fromDynamic;
2677
- }
2678
- throw new Error("Invalid model configuration provided");
2679
- }
2680
-
2681
- // src/llm/model/embedding-router.ts
2682
- var ModelRouterEmbeddingModel = class {
2683
- specificationVersion = "v2";
2684
- modelId;
2685
- provider;
2686
- maxEmbeddingsPerCall = 2048;
2687
- supportsParallelCalls = true;
2688
- providerModel;
2689
- constructor(config) {
2690
- let normalizedConfig;
2691
- if (typeof config === "string") {
2692
- const parts = config.split("/");
2693
- if (parts.length !== 2) {
2694
- throw new Error(`Invalid model string format: "${config}". Expected format: "provider/model"`);
2695
- }
2696
- const [providerId, modelId] = parts;
2697
- normalizedConfig = { providerId, modelId };
2698
- } else if ("providerId" in config && "modelId" in config) {
2699
- normalizedConfig = {
2700
- providerId: config.providerId,
2701
- modelId: config.modelId,
2702
- url: config.url,
2703
- apiKey: config.apiKey,
2704
- headers: config.headers
2705
- };
2706
- } else {
2707
- const parts = config.id.split("/");
2708
- if (parts.length !== 2) {
2709
- throw new Error(`Invalid model string format: "${config.id}". Expected format: "provider/model"`);
2710
- }
2711
- const [providerId, modelId] = parts;
2712
- normalizedConfig = {
2713
- providerId,
2714
- modelId,
2715
- url: config.url,
2716
- apiKey: config.apiKey,
2717
- headers: config.headers
2718
- };
2719
- }
2720
- this.provider = normalizedConfig.providerId;
2721
- this.modelId = normalizedConfig.modelId;
2722
- if (normalizedConfig.url) {
2723
- const apiKey = normalizedConfig.apiKey || "";
2724
- this.providerModel = chunkS5MJLXMG_cjs.createOpenAICompatible({
2725
- name: normalizedConfig.providerId,
2726
- apiKey,
2727
- baseURL: normalizedConfig.url,
2728
- headers: normalizedConfig.headers
2729
- }).textEmbeddingModel(normalizedConfig.modelId);
2730
- } else {
2731
- const registry = GatewayRegistry.getInstance();
2732
- const providerConfig = registry.getProviderConfig(normalizedConfig.providerId);
2733
- if (!providerConfig) {
2734
- throw new Error(`Unknown provider: ${normalizedConfig.providerId}`);
2735
- }
2736
- let apiKey = normalizedConfig.apiKey;
2737
- if (!apiKey) {
2738
- const apiKeyEnvVar = providerConfig.apiKeyEnvVar;
2739
- if (Array.isArray(apiKeyEnvVar)) {
2740
- for (const envVar of apiKeyEnvVar) {
2741
- apiKey = process.env[envVar];
2742
- if (apiKey) break;
2743
- }
2744
- } else {
2745
- apiKey = process.env[apiKeyEnvVar];
2746
- }
2747
- }
2748
- if (!apiKey) {
2749
- const envVarDisplay = Array.isArray(providerConfig.apiKeyEnvVar) ? providerConfig.apiKeyEnvVar.join(" or ") : providerConfig.apiKeyEnvVar;
2750
- throw new Error(`API key not found for provider ${normalizedConfig.providerId}. Set ${envVarDisplay}`);
2751
- }
2752
- if (normalizedConfig.providerId === "openai") {
2753
- this.providerModel = chunkS5MJLXMG_cjs.createOpenAI({ apiKey }).textEmbeddingModel(
2754
- normalizedConfig.modelId
2755
- );
2756
- } else if (normalizedConfig.providerId === "google") {
2757
- this.providerModel = chunkS5MJLXMG_cjs.createGoogleGenerativeAI({ apiKey }).textEmbedding(
2758
- normalizedConfig.modelId
2759
- );
2760
- } else {
2761
- if (!providerConfig.url) {
2762
- throw new Error(`Provider ${normalizedConfig.providerId} does not have a URL configured`);
2763
- }
2764
- this.providerModel = chunkS5MJLXMG_cjs.createOpenAICompatible({
2765
- name: normalizedConfig.providerId,
2766
- apiKey,
2767
- baseURL: providerConfig.url
2768
- }).textEmbeddingModel(normalizedConfig.modelId);
2769
- }
2770
- }
2771
- if (this.providerModel.maxEmbeddingsPerCall !== void 0) {
2772
- this.maxEmbeddingsPerCall = this.providerModel.maxEmbeddingsPerCall;
2773
- }
2774
- if (this.providerModel.supportsParallelCalls !== void 0) {
2775
- this.supportsParallelCalls = this.providerModel.supportsParallelCalls;
2776
- }
2777
- }
2778
- async doEmbed(args) {
2779
- return this.providerModel.doEmbed(args);
2780
- }
2781
- };
2782
-
2783
- exports.ModelRouterEmbeddingModel = ModelRouterEmbeddingModel;
2784
- exports.ModelRouterLanguageModel = ModelRouterLanguageModel;
3657
+ exports.GatewayRegistry = GatewayRegistry;
3658
+ exports.PROVIDER_MODELS = PROVIDER_MODELS;
2785
3659
  exports.PROVIDER_REGISTRY = PROVIDER_REGISTRY;
2786
3660
  exports.getProviderConfig = getProviderConfig;
3661
+ exports.getRegisteredProviders = getRegisteredProviders;
3662
+ exports.isProviderRegistered = isProviderRegistered;
3663
+ exports.isValidModelId = isValidModelId;
2787
3664
  exports.parseModelString = parseModelString;
2788
- exports.resolveModelConfig = resolveModelConfig;
2789
- //# sourceMappingURL=chunk-YIK3ASEG.cjs.map
2790
- //# sourceMappingURL=chunk-YIK3ASEG.cjs.map
3665
+ //# sourceMappingURL=chunk-P2D2VO2O.cjs.map
3666
+ //# sourceMappingURL=chunk-P2D2VO2O.cjs.map