@mastra/core 1.0.0-beta.1 → 1.0.0-beta.11

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 (576) hide show
  1. package/CHANGELOG.md +1218 -0
  2. package/dist/agent/agent-legacy.d.ts +35 -30
  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 +24 -9
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +17 -9
  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 +61 -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 +38 -4
  25. package/dist/agent/trip-wire.d.ts.map +1 -1
  26. package/dist/agent/types.d.ts +46 -14
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/agent/utils.d.ts +4 -5
  29. package/dist/agent/utils.d.ts.map +1 -1
  30. package/dist/agent/workflows/prepare-stream/index.d.ts +37 -13
  31. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  32. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  33. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  34. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +34 -11
  35. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  36. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  37. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  38. package/dist/agent/workflows/prepare-stream/schema.d.ts +38 -15
  39. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  40. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
  41. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  42. package/dist/base.cjs +2 -2
  43. package/dist/base.js +1 -1
  44. package/dist/bundler/index.cjs +2 -2
  45. package/dist/bundler/index.js +1 -1
  46. package/dist/cache/index.cjs +3 -3
  47. package/dist/cache/index.js +1 -1
  48. package/dist/{chunk-JUBFO5J3.js → chunk-2ULLRN4Y.js} +16333 -11839
  49. package/dist/chunk-2ULLRN4Y.js.map +1 -0
  50. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  51. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  52. package/dist/chunk-3E3ILV6T.cjs +518 -0
  53. package/dist/chunk-3E3ILV6T.cjs.map +1 -0
  54. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  55. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  56. package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
  57. package/dist/chunk-4JKEUSCC.cjs.map +1 -0
  58. package/dist/{chunk-MSWTA73A.cjs → chunk-52RSUALV.cjs} +16490 -11957
  59. package/dist/chunk-52RSUALV.cjs.map +1 -0
  60. package/dist/chunk-5PAEYE3Q.js +513 -0
  61. package/dist/chunk-5PAEYE3Q.js.map +1 -0
  62. package/dist/{chunk-ECFXGXWO.cjs → chunk-5Q6WAYEY.cjs} +695 -375
  63. package/dist/chunk-5Q6WAYEY.cjs.map +1 -0
  64. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  65. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  66. package/dist/{chunk-GRBGQ2GE.js → chunk-6TBWJV35.js} +5 -3
  67. package/dist/chunk-6TBWJV35.js.map +1 -0
  68. package/dist/chunk-6XCINXZ7.cjs +194 -0
  69. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  70. package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
  71. package/dist/chunk-72YCRTEX.cjs.map +1 -0
  72. package/dist/{chunk-W7UH2PWL.js → chunk-7P6BNIJH.js} +1142 -331
  73. package/dist/chunk-7P6BNIJH.js.map +1 -0
  74. package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
  75. package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
  76. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  77. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  78. package/dist/{chunk-GGYKYORQ.cjs → chunk-BJXKH4LG.cjs} +407 -22
  79. package/dist/chunk-BJXKH4LG.cjs.map +1 -0
  80. package/dist/{chunk-2ZVKF4HP.cjs → chunk-BUKY6CTR.cjs} +1147 -334
  81. package/dist/chunk-BUKY6CTR.cjs.map +1 -0
  82. package/dist/chunk-BWYU7D33.js +192 -0
  83. package/dist/chunk-BWYU7D33.js.map +1 -0
  84. package/dist/{chunk-XEVG546F.js → chunk-C36YRTZ6.js} +178 -12
  85. package/dist/chunk-C36YRTZ6.js.map +1 -0
  86. package/dist/{chunk-CB575O6L.cjs → chunk-CZEJQSWB.cjs} +473 -124
  87. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  88. package/dist/chunk-DD2VNRQM.js +62 -0
  89. package/dist/chunk-DD2VNRQM.js.map +1 -0
  90. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  91. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  92. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  93. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  94. package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
  95. package/dist/chunk-F2GAJSBI.js.map +1 -0
  96. package/dist/{chunk-4CDL2QJT.js → chunk-IVV5TOMD.js} +122 -37
  97. package/dist/chunk-IVV5TOMD.js.map +1 -0
  98. package/dist/{chunk-MV7KHWUT.js → chunk-JIGDJK2O.js} +391 -15
  99. package/dist/chunk-JIGDJK2O.js.map +1 -0
  100. package/dist/chunk-KJBMTK5B.cjs +64 -0
  101. package/dist/chunk-KJBMTK5B.cjs.map +1 -0
  102. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  103. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  104. package/dist/chunk-MGCGWPQJ.cjs +275 -0
  105. package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
  106. package/dist/chunk-MRFUISXC.cjs +4981 -0
  107. package/dist/chunk-MRFUISXC.cjs.map +1 -0
  108. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  109. package/dist/chunk-NRUZYMHE.js.map +1 -0
  110. package/dist/{chunk-CINNK34N.js → chunk-O2BJW7YA.js} +26 -11
  111. package/dist/chunk-O2BJW7YA.js.map +1 -0
  112. package/dist/chunk-OEIVMCWX.js +4959 -0
  113. package/dist/chunk-OEIVMCWX.js.map +1 -0
  114. package/dist/{chunk-WM6CK2F3.cjs → chunk-PG5H6QIO.cjs} +131 -49
  115. package/dist/chunk-PG5H6QIO.cjs.map +1 -0
  116. package/dist/{chunk-JPGVRWWL.js → chunk-PK2A5WBG.js} +472 -125
  117. package/dist/chunk-PK2A5WBG.js.map +1 -0
  118. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  119. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  120. package/dist/{chunk-VOY2RXOC.cjs → chunk-S73Z3PBJ.cjs} +182 -15
  121. package/dist/chunk-S73Z3PBJ.cjs.map +1 -0
  122. package/dist/{chunk-MA7TEM62.cjs → chunk-SCUWP4II.cjs} +769 -27
  123. package/dist/chunk-SCUWP4II.cjs.map +1 -0
  124. package/dist/{chunk-JV2KH24V.js → chunk-SXNQRJQD.js} +695 -375
  125. package/dist/chunk-SXNQRJQD.js.map +1 -0
  126. package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
  127. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
  128. package/dist/chunk-THZTRBFS.js +268 -0
  129. package/dist/chunk-THZTRBFS.js.map +1 -0
  130. package/dist/{chunk-VOQ3ULMT.js → chunk-U3XOLEPX.js} +759 -17
  131. package/dist/chunk-U3XOLEPX.js.map +1 -0
  132. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  133. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  134. package/dist/{chunk-H6CZGPZD.js → chunk-US2U7ECW.js} +179 -38
  135. package/dist/chunk-US2U7ECW.js.map +1 -0
  136. package/dist/{chunk-J7O6WENZ.cjs → chunk-UVHSM2GU.cjs} +6 -2
  137. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  138. package/dist/{chunk-CD56CXVE.cjs → chunk-WTSZBHIZ.cjs} +32 -17
  139. package/dist/chunk-WTSZBHIZ.cjs.map +1 -0
  140. package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
  141. package/dist/chunk-Y36Y5MTD.js.map +1 -0
  142. package/dist/{chunk-DNEURYF3.cjs → chunk-YC6PJEPH.cjs} +206 -65
  143. package/dist/chunk-YC6PJEPH.cjs.map +1 -0
  144. package/dist/{chunk-IQO7ANVS.cjs → chunk-YWMMBIOM.cjs} +21 -20
  145. package/dist/chunk-YWMMBIOM.cjs.map +1 -0
  146. package/dist/{chunk-I4CXL4SR.js → chunk-Z57R5WS4.js} +16 -15
  147. package/dist/chunk-Z57R5WS4.js.map +1 -0
  148. package/dist/deployer/index.cjs +2 -2
  149. package/dist/deployer/index.js +1 -1
  150. package/dist/di/index.cjs +10 -2
  151. package/dist/di/index.d.ts +1 -1
  152. package/dist/di/index.d.ts.map +1 -1
  153. package/dist/di/index.js +1 -1
  154. package/dist/evals/base.d.ts +10 -2
  155. package/dist/evals/base.d.ts.map +1 -1
  156. package/dist/evals/base.test-utils.d.ts +25 -25
  157. package/dist/evals/index.cjs +9 -9
  158. package/dist/evals/index.js +2 -2
  159. package/dist/evals/scoreTraces/index.cjs +7 -6
  160. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  161. package/dist/evals/scoreTraces/index.js +4 -3
  162. package/dist/evals/scoreTraces/index.js.map +1 -1
  163. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  164. package/dist/evals/types.d.ts +25 -24
  165. package/dist/evals/types.d.ts.map +1 -1
  166. package/dist/index.cjs +2 -2
  167. package/dist/index.js +1 -1
  168. package/dist/integration/index.cjs +2 -2
  169. package/dist/integration/index.js +1 -1
  170. package/dist/llm/index.cjs +30 -10
  171. package/dist/llm/index.d.ts +2 -0
  172. package/dist/llm/index.d.ts.map +1 -1
  173. package/dist/llm/index.js +5 -1
  174. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  175. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  176. package/dist/llm/model/base.types.d.ts +2 -2
  177. package/dist/llm/model/base.types.d.ts.map +1 -1
  178. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  179. package/dist/llm/model/gateways/azure.d.ts +36 -0
  180. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  181. package/dist/llm/model/gateways/base.d.ts +9 -4
  182. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  183. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  184. package/dist/llm/model/gateways/index.d.ts +4 -1
  185. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  186. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  187. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  188. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  189. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  190. package/dist/llm/model/is-v2-model.d.ts +3 -0
  191. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  192. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  193. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  194. package/dist/llm/model/model.d.ts.map +1 -1
  195. package/dist/llm/model/model.loop.d.ts +2 -2
  196. package/dist/llm/model/model.loop.d.ts.map +1 -1
  197. package/dist/llm/model/model.loop.types.d.ts +4 -2
  198. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  199. package/dist/llm/model/provider-options.d.ts +4 -1
  200. package/dist/llm/model/provider-options.d.ts.map +1 -1
  201. package/dist/llm/model/provider-registry.d.ts +11 -1
  202. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  203. package/dist/llm/model/provider-types.generated.d.ts +489 -27
  204. package/dist/llm/model/registry-generator.d.ts +12 -0
  205. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  206. package/dist/llm/model/resolve-model.d.ts +1 -1
  207. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  208. package/dist/llm/model/router.d.ts +12 -5
  209. package/dist/llm/model/router.d.ts.map +1 -1
  210. package/dist/llm/model/shared.types.d.ts +17 -6
  211. package/dist/llm/model/shared.types.d.ts.map +1 -1
  212. package/dist/logger/constants.d.ts +1 -0
  213. package/dist/logger/constants.d.ts.map +1 -1
  214. package/dist/logger/index.cjs +11 -11
  215. package/dist/logger/index.js +2 -2
  216. package/dist/logger/transport.d.ts +1 -1
  217. package/dist/logger/transport.d.ts.map +1 -1
  218. package/dist/loop/index.cjs +2 -2
  219. package/dist/loop/index.js +1 -1
  220. package/dist/loop/loop.d.ts.map +1 -1
  221. package/dist/loop/network/index.d.ts.map +1 -1
  222. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  223. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  224. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  225. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  226. package/dist/loop/test-utils/options.d.ts.map +1 -1
  227. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  228. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  229. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  230. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  231. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  232. package/dist/loop/test-utils/utils.d.ts +1 -1
  233. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  234. package/dist/loop/types.d.ts +42 -20
  235. package/dist/loop/types.d.ts.map +1 -1
  236. package/dist/loop/workflows/agentic-execution/index.d.ts +60 -42
  237. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  238. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +41 -29
  239. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  240. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +20 -14
  241. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  242. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  243. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  244. package/dist/loop/workflows/agentic-loop/index.d.ts +62 -43
  245. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  246. package/dist/loop/workflows/run-state.d.ts +2 -2
  247. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  248. package/dist/loop/workflows/schema.d.ts +32 -15
  249. package/dist/loop/workflows/schema.d.ts.map +1 -1
  250. package/dist/loop/workflows/stream.d.ts +1 -1
  251. package/dist/loop/workflows/stream.d.ts.map +1 -1
  252. package/dist/mastra/index.cjs +2 -2
  253. package/dist/mastra/index.d.ts +377 -12
  254. package/dist/mastra/index.d.ts.map +1 -1
  255. package/dist/mastra/index.js +1 -1
  256. package/dist/mcp/index.cjs +4 -4
  257. package/dist/mcp/index.cjs.map +1 -1
  258. package/dist/mcp/index.d.ts +4 -4
  259. package/dist/mcp/index.d.ts.map +1 -1
  260. package/dist/mcp/index.js +2 -2
  261. package/dist/mcp/index.js.map +1 -1
  262. package/dist/mcp/types.d.ts +2 -2
  263. package/dist/mcp/types.d.ts.map +1 -1
  264. package/dist/memory/index.cjs +21 -327
  265. package/dist/memory/index.cjs.map +1 -1
  266. package/dist/memory/index.js +1 -327
  267. package/dist/memory/index.js.map +1 -1
  268. package/dist/memory/memory.d.ts +28 -18
  269. package/dist/memory/memory.d.ts.map +1 -1
  270. package/dist/memory/mock.d.ts +15 -14
  271. package/dist/memory/mock.d.ts.map +1 -1
  272. package/dist/memory/types.d.ts +69 -11
  273. package/dist/memory/types.d.ts.map +1 -1
  274. package/dist/models-dev-23RN2WHG.js +3 -0
  275. package/dist/{models-dev-DNBKXHT4.js.map → models-dev-23RN2WHG.js.map} +1 -1
  276. package/dist/models-dev-EO3SUIY2.cjs +12 -0
  277. package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
  278. package/dist/netlify-GXJ5D5DD.js +3 -0
  279. package/dist/{netlify-7G2L5VSH.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  280. package/dist/netlify-KJLY3GFS.cjs +12 -0
  281. package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  282. package/dist/observability/index.cjs +16 -8
  283. package/dist/observability/index.js +1 -1
  284. package/dist/observability/types/tracing.d.ts +236 -13
  285. package/dist/observability/types/tracing.d.ts.map +1 -1
  286. package/dist/observability/utils.d.ts +47 -1
  287. package/dist/observability/utils.d.ts.map +1 -1
  288. package/dist/processors/index.cjs +115 -11
  289. package/dist/processors/index.d.ts +246 -26
  290. package/dist/processors/index.d.ts.map +1 -1
  291. package/dist/processors/index.js +1 -1
  292. package/dist/processors/memory/index.d.ts +7 -0
  293. package/dist/processors/memory/index.d.ts.map +1 -0
  294. package/dist/processors/memory/message-history.d.ts +43 -0
  295. package/dist/processors/memory/message-history.d.ts.map +1 -0
  296. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  297. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  298. package/dist/processors/memory/working-memory.d.ts +65 -0
  299. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  300. package/dist/processors/processors/batch-parts.d.ts +1 -1
  301. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  302. package/dist/processors/processors/index.d.ts +2 -1
  303. package/dist/processors/processors/index.d.ts.map +1 -1
  304. package/dist/processors/processors/language-detector.d.ts +15 -1
  305. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  306. package/dist/processors/processors/moderation.d.ts +15 -1
  307. package/dist/processors/processors/moderation.d.ts.map +1 -1
  308. package/dist/processors/processors/pii-detector.d.ts +15 -1
  309. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  310. package/dist/processors/processors/prepare-step.d.ts +12 -0
  311. package/dist/processors/processors/prepare-step.d.ts.map +1 -0
  312. package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
  313. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  314. package/dist/processors/processors/structured-output.d.ts +7 -5
  315. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  316. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  317. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  318. package/dist/processors/processors/token-limiter.d.ts +22 -12
  319. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  320. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  321. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  322. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  323. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  324. package/dist/processors/runner.d.ts +83 -9
  325. package/dist/processors/runner.d.ts.map +1 -1
  326. package/dist/processors/step-schema.d.ts +49731 -0
  327. package/dist/processors/step-schema.d.ts.map +1 -0
  328. package/dist/provider-registry-3TG2KUD2.cjs +40 -0
  329. package/dist/provider-registry-3TG2KUD2.cjs.map +1 -0
  330. package/dist/provider-registry-F67Y6OF2.js +3 -0
  331. package/dist/provider-registry-F67Y6OF2.js.map +1 -0
  332. package/dist/provider-registry.json +1056 -61
  333. package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
  334. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  335. package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
  336. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  337. package/dist/relevance/index.cjs +2 -2
  338. package/dist/relevance/index.js +1 -1
  339. package/dist/request-context/index.cjs +10 -2
  340. package/dist/request-context/index.d.ts +26 -0
  341. package/dist/request-context/index.d.ts.map +1 -1
  342. package/dist/request-context/index.js +1 -1
  343. package/dist/server/auth.d.ts +11 -0
  344. package/dist/server/auth.d.ts.map +1 -1
  345. package/dist/server/base.d.ts +51 -0
  346. package/dist/server/base.d.ts.map +1 -0
  347. package/dist/server/composite-auth.d.ts +9 -0
  348. package/dist/server/composite-auth.d.ts.map +1 -0
  349. package/dist/server/index.cjs +124 -3
  350. package/dist/server/index.cjs.map +1 -1
  351. package/dist/server/index.d.ts +8 -0
  352. package/dist/server/index.d.ts.map +1 -1
  353. package/dist/server/index.js +121 -3
  354. package/dist/server/index.js.map +1 -1
  355. package/dist/server/simple-auth.d.ts +27 -0
  356. package/dist/server/simple-auth.d.ts.map +1 -0
  357. package/dist/server/types.d.ts +6 -0
  358. package/dist/server/types.d.ts.map +1 -1
  359. package/dist/storage/base.d.ts +76 -3
  360. package/dist/storage/base.d.ts.map +1 -1
  361. package/dist/storage/constants.d.ts +3 -1
  362. package/dist/storage/constants.d.ts.map +1 -1
  363. package/dist/storage/domains/agents/base.d.ts +49 -0
  364. package/dist/storage/domains/agents/base.d.ts.map +1 -0
  365. package/dist/storage/domains/agents/index.d.ts +3 -0
  366. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  367. package/dist/storage/domains/agents/inmemory.d.ts +22 -0
  368. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
  369. package/dist/storage/domains/index.d.ts +1 -0
  370. package/dist/storage/domains/index.d.ts.map +1 -1
  371. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  372. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  373. package/dist/storage/domains/scores/base.d.ts +2 -2
  374. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  375. package/dist/storage/domains/scores/inmemory.d.ts +2 -2
  376. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  377. package/dist/storage/domains/workflows/base.d.ts +4 -0
  378. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  379. package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
  380. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  381. package/dist/storage/index.cjs +65 -29
  382. package/dist/storage/index.js +1 -1
  383. package/dist/storage/mock.d.ts +7 -2
  384. package/dist/storage/mock.d.ts.map +1 -1
  385. package/dist/storage/storageWithInit.d.ts.map +1 -1
  386. package/dist/storage/types.d.ts +88 -5
  387. package/dist/storage/types.d.ts.map +1 -1
  388. package/dist/storage/utils.d.ts +82 -0
  389. package/dist/storage/utils.d.ts.map +1 -1
  390. package/dist/stream/MastraAgentNetworkStream.d.ts +2 -2
  391. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  392. package/dist/stream/MastraWorkflowStream.d.ts +2 -2
  393. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  394. package/dist/stream/RunOutput.d.ts +2 -2
  395. package/dist/stream/RunOutput.d.ts.map +1 -1
  396. package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
  397. package/dist/stream/aisdk/v4/usage.d.ts +19 -0
  398. package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
  399. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  400. package/dist/stream/aisdk/v5/execute.d.ts +9 -5
  401. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  402. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  403. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  404. package/dist/stream/aisdk/v5/output-helpers.d.ts +5 -1
  405. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
  406. package/dist/stream/aisdk/v5/output.d.ts +11 -13
  407. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  408. package/dist/stream/aisdk/v5/transform.d.ts +2 -1
  409. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  410. package/dist/stream/base/base.d.ts +1 -1
  411. package/dist/stream/base/base.d.ts.map +1 -1
  412. package/dist/stream/base/input.d.ts +1 -1
  413. package/dist/stream/base/output-format-handlers.d.ts +14 -1
  414. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  415. package/dist/stream/base/output.d.ts +9 -14
  416. package/dist/stream/base/output.d.ts.map +1 -1
  417. package/dist/stream/index.cjs +15 -11
  418. package/dist/stream/index.d.ts +2 -2
  419. package/dist/stream/index.d.ts.map +1 -1
  420. package/dist/stream/index.js +2 -2
  421. package/dist/stream/types.d.ts +97 -32
  422. package/dist/stream/types.d.ts.map +1 -1
  423. package/dist/test-utils/llm-mock.cjs +101 -30
  424. package/dist/test-utils/llm-mock.cjs.map +1 -1
  425. package/dist/test-utils/llm-mock.d.ts +7 -2
  426. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  427. package/dist/test-utils/llm-mock.js +97 -30
  428. package/dist/test-utils/llm-mock.js.map +1 -1
  429. package/dist/tools/index.cjs +6 -6
  430. package/dist/tools/index.js +2 -2
  431. package/dist/tools/is-vercel-tool.cjs +2 -2
  432. package/dist/tools/is-vercel-tool.js +1 -1
  433. package/dist/tools/stream.d.ts +10 -4
  434. package/dist/tools/stream.d.ts.map +1 -1
  435. package/dist/tools/tool-builder/builder.d.ts +2 -0
  436. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  437. package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
  438. package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
  439. package/dist/tools/tool.d.ts +21 -8
  440. package/dist/tools/tool.d.ts.map +1 -1
  441. package/dist/tools/types.d.ts +33 -6
  442. package/dist/tools/types.d.ts.map +1 -1
  443. package/dist/tools/validation.d.ts +25 -1
  444. package/dist/tools/validation.d.ts.map +1 -1
  445. package/dist/tts/index.cjs +2 -2
  446. package/dist/tts/index.js +1 -1
  447. package/dist/types/zod-compat.d.ts +14 -1
  448. package/dist/types/zod-compat.d.ts.map +1 -1
  449. package/dist/utils.cjs +25 -21
  450. package/dist/utils.d.ts +9 -4
  451. package/dist/utils.d.ts.map +1 -1
  452. package/dist/utils.js +1 -1
  453. package/dist/vector/filter/index.cjs +7 -189
  454. package/dist/vector/filter/index.cjs.map +1 -1
  455. package/dist/vector/filter/index.js +1 -190
  456. package/dist/vector/filter/index.js.map +1 -1
  457. package/dist/vector/index.cjs +7 -2
  458. package/dist/vector/index.cjs.map +1 -1
  459. package/dist/vector/index.d.ts +1 -0
  460. package/dist/vector/index.d.ts.map +1 -1
  461. package/dist/vector/index.js +2 -1
  462. package/dist/vector/index.js.map +1 -1
  463. package/dist/vector/types.d.ts +86 -3
  464. package/dist/vector/types.d.ts.map +1 -1
  465. package/dist/vector/vector.d.ts +39 -2
  466. package/dist/vector/vector.d.ts.map +1 -1
  467. package/dist/voice/aisdk/index.d.ts +3 -0
  468. package/dist/voice/aisdk/index.d.ts.map +1 -0
  469. package/dist/voice/aisdk/speech.d.ts +23 -0
  470. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  471. package/dist/voice/aisdk/transcription.d.ts +22 -0
  472. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  473. package/dist/voice/composite-voice.d.ts +4 -3
  474. package/dist/voice/composite-voice.d.ts.map +1 -1
  475. package/dist/voice/index.cjs +12 -4
  476. package/dist/voice/index.d.ts +1 -0
  477. package/dist/voice/index.d.ts.map +1 -1
  478. package/dist/voice/index.js +1 -1
  479. package/dist/workflows/default.d.ts +180 -270
  480. package/dist/workflows/default.d.ts.map +1 -1
  481. package/dist/workflows/evented/execution-engine.d.ts +3 -1
  482. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  483. package/dist/workflows/evented/index.cjs +10 -10
  484. package/dist/workflows/evented/index.js +1 -1
  485. package/dist/workflows/evented/step-executor.d.ts +1 -1
  486. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  487. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  488. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  489. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
  490. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  491. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  492. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  493. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  494. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  495. package/dist/workflows/evented/workflow.d.ts +2 -1
  496. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  497. package/dist/workflows/execution-engine.d.ts +8 -6
  498. package/dist/workflows/execution-engine.d.ts.map +1 -1
  499. package/dist/workflows/handlers/control-flow.d.ts +133 -0
  500. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  501. package/dist/workflows/handlers/entry.d.ts +43 -0
  502. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  503. package/dist/workflows/handlers/sleep.d.ts +60 -0
  504. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  505. package/dist/workflows/handlers/step.d.ts +58 -0
  506. package/dist/workflows/handlers/step.d.ts.map +1 -0
  507. package/dist/workflows/index.cjs +40 -16
  508. package/dist/workflows/index.js +1 -1
  509. package/dist/workflows/step.d.ts +8 -6
  510. package/dist/workflows/step.d.ts.map +1 -1
  511. package/dist/workflows/types.d.ts +257 -10
  512. package/dist/workflows/types.d.ts.map +1 -1
  513. package/dist/workflows/utils.d.ts +36 -0
  514. package/dist/workflows/utils.d.ts.map +1 -1
  515. package/dist/workflows/workflow.d.ts +146 -55
  516. package/dist/workflows/workflow.d.ts.map +1 -1
  517. package/package.json +26 -30
  518. package/src/llm/model/provider-types.generated.d.ts +489 -27
  519. package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
  520. package/dist/chunk-436FFEF6.js +0 -34
  521. package/dist/chunk-436FFEF6.js.map +0 -1
  522. package/dist/chunk-4CDL2QJT.js.map +0 -1
  523. package/dist/chunk-7AHYOMHJ.js +0 -149
  524. package/dist/chunk-7AHYOMHJ.js.map +0 -1
  525. package/dist/chunk-CB575O6L.cjs.map +0 -1
  526. package/dist/chunk-CD56CXVE.cjs.map +0 -1
  527. package/dist/chunk-CINNK34N.js.map +0 -1
  528. package/dist/chunk-DNEURYF3.cjs.map +0 -1
  529. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  530. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  531. package/dist/chunk-ECFXGXWO.cjs.map +0 -1
  532. package/dist/chunk-ET6UOTTU.cjs +0 -154
  533. package/dist/chunk-ET6UOTTU.cjs.map +0 -1
  534. package/dist/chunk-GGYKYORQ.cjs.map +0 -1
  535. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  536. package/dist/chunk-H6CZGPZD.js.map +0 -1
  537. package/dist/chunk-HDJFSJCK.js +0 -2237
  538. package/dist/chunk-HDJFSJCK.js.map +0 -1
  539. package/dist/chunk-HGNRQ3OG.js +0 -58
  540. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  541. package/dist/chunk-I4CXL4SR.js.map +0 -1
  542. package/dist/chunk-IQO7ANVS.cjs.map +0 -1
  543. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  544. package/dist/chunk-JPGVRWWL.js.map +0 -1
  545. package/dist/chunk-JUBFO5J3.js.map +0 -1
  546. package/dist/chunk-JV2KH24V.js.map +0 -1
  547. package/dist/chunk-KIZIOFZC.js.map +0 -1
  548. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  549. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  550. package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
  551. package/dist/chunk-LRSB62Z6.cjs +0 -60
  552. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  553. package/dist/chunk-LWBQ4P4N.cjs +0 -2240
  554. package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
  555. package/dist/chunk-MA7TEM62.cjs.map +0 -1
  556. package/dist/chunk-MSWTA73A.cjs.map +0 -1
  557. package/dist/chunk-MV7KHWUT.js.map +0 -1
  558. package/dist/chunk-QUKUN6NR.cjs.map +0 -1
  559. package/dist/chunk-TQTAMPSC.js.map +0 -1
  560. package/dist/chunk-UIZSWUKP.js.map +0 -1
  561. package/dist/chunk-V3VLOOSW.cjs +0 -36
  562. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  563. package/dist/chunk-VOQ3ULMT.js.map +0 -1
  564. package/dist/chunk-VOY2RXOC.cjs.map +0 -1
  565. package/dist/chunk-W7UH2PWL.js.map +0 -1
  566. package/dist/chunk-WM6CK2F3.cjs.map +0 -1
  567. package/dist/chunk-XEVG546F.js.map +0 -1
  568. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  569. package/dist/chunk-ZV5CC35D.js +0 -3
  570. package/dist/chunk-ZV5CC35D.js.map +0 -1
  571. package/dist/models-dev-DNBKXHT4.js +0 -3
  572. package/dist/models-dev-YBEEQIX6.cjs +0 -12
  573. package/dist/netlify-7G2L5VSH.js +0 -3
  574. package/dist/netlify-GWNGSIRZ.cjs +0 -12
  575. package/dist/registry-generator-H4YNODDH.js.map +0 -1
  576. package/dist/registry-generator-MK63POJO.cjs.map +0 -1
@@ -1,13 +1,9 @@
1
- import { ModelsDevGateway, parseModelRouterId } from './chunk-HDJFSJCK.js';
2
- import { NetlifyGateway } from './chunk-I4CXL4SR.js';
3
- import { createOpenAICompatible, createOpenAI, createGoogleGenerativeAI } from './chunk-JPGVRWWL.js';
4
- import { MastraError } from './chunk-JJ5O45LH.js';
5
- import { RequestContext } from './chunk-GRBGQ2GE.js';
6
1
  import fs from 'fs';
7
2
  import { createRequire } from 'module';
8
3
  import os from 'os';
9
4
  import path from 'path';
10
- import { createHash } from 'crypto';
5
+
6
+ // src/llm/model/provider-registry.ts
11
7
 
12
8
  // src/llm/model/provider-registry.json
13
9
  var provider_registry_default = {
@@ -56,7 +52,7 @@ var provider_registry_default = {
56
52
  apiKeyEnvVar: "ZHIPU_API_KEY",
57
53
  apiKeyHeader: "Authorization",
58
54
  name: "Z.AI Coding Plan",
59
- models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
55
+ models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
60
56
  docUrl: "https://docs.z.ai/devpack/overview",
61
57
  gateway: "models.dev"
62
58
  },
@@ -128,6 +124,8 @@ var provider_registry_default = {
128
124
  "grok-3-mini-fast-latest",
129
125
  "grok-3-mini-latest",
130
126
  "grok-4",
127
+ "grok-4-1-fast",
128
+ "grok-4-1-fast-non-reasoning",
131
129
  "grok-4-fast",
132
130
  "grok-4-fast-non-reasoning",
133
131
  "grok-beta",
@@ -164,8 +162,12 @@ var provider_registry_default = {
164
162
  "google/gemma-3-27b-it",
165
163
  "microsoft/phi-4-mini-instruct",
166
164
  "minimaxai/minimax-m2",
165
+ "mistralai/devstral-2-123b-instruct-2512",
166
+ "mistralai/ministral-14b-instruct-2512",
167
+ "mistralai/mistral-large-3-675b-instruct-2512",
167
168
  "moonshotai/kimi-k2-instruct",
168
169
  "moonshotai/kimi-k2-instruct-0905",
170
+ "moonshotai/kimi-k2-thinking",
169
171
  "nvidia/cosmos-nemotron-34b",
170
172
  "nvidia/llama-3.1-nemotron-ultra-253b-v1",
171
173
  "nvidia/llama-embed-nemotron-8b",
@@ -218,6 +220,15 @@ var provider_registry_default = {
218
220
  docUrl: "https://console.groq.com/docs/models",
219
221
  gateway: "models.dev"
220
222
  },
223
+ bailing: {
224
+ url: "https://api.tbox.cn/api/llm/v1/chat/completions",
225
+ apiKeyEnvVar: "BAILING_API_TOKEN",
226
+ apiKeyHeader: "Authorization",
227
+ name: "Bailing",
228
+ models: ["Ling-1T", "Ring-1T"],
229
+ docUrl: "https://alipaytbox.yuque.com/sxs0ba/ling/intro",
230
+ gateway: "models.dev"
231
+ },
221
232
  mistral: {
222
233
  url: "https://api.mistral.ai/v1",
223
234
  apiKeyEnvVar: "MISTRAL_API_KEY",
@@ -225,12 +236,16 @@ var provider_registry_default = {
225
236
  models: [
226
237
  "codestral-latest",
227
238
  "devstral-medium-2507",
239
+ "devstral-medium-latest",
228
240
  "devstral-small-2505",
229
241
  "devstral-small-2507",
242
+ "labs-devstral-small-2512",
230
243
  "magistral-medium-latest",
231
244
  "magistral-small",
232
245
  "ministral-3b-latest",
233
246
  "ministral-8b-latest",
247
+ "mistral-large-2411",
248
+ "mistral-large-2512",
234
249
  "mistral-large-latest",
235
250
  "mistral-medium-2505",
236
251
  "mistral-medium-2508",
@@ -271,7 +286,7 @@ var provider_registry_default = {
271
286
  "anthropic/claude-4-sonnet",
272
287
  "anthropic/claude-4.5-sonnet",
273
288
  "anthropic/claude-haiku-4.5",
274
- "cerebras/qwen3-coder",
289
+ "anthropic/claude-opus-4.5",
275
290
  "deepseek/deepseek-r1",
276
291
  "deepseek/deepseek-r1-distill-llama-70b",
277
292
  "deepseek/deepseek-v3.1-terminus",
@@ -284,6 +299,7 @@ var provider_registry_default = {
284
299
  "google/gemini-2.5-flash-lite-preview-09-2025",
285
300
  "google/gemini-2.5-flash-preview-09-2025",
286
301
  "google/gemini-2.5-pro",
302
+ "google/gemini-3-pro-preview",
287
303
  "meta/llama-3.3-70b",
288
304
  "meta/llama-4-maverick",
289
305
  "meta/llama-4-scout",
@@ -369,7 +385,6 @@ var provider_registry_default = {
369
385
  deepseek: {
370
386
  url: "https://api.deepseek.com",
371
387
  apiKeyEnvVar: "DEEPSEEK_API_KEY",
372
- apiKeyHeader: "Authorization",
373
388
  name: "DeepSeek",
374
389
  models: ["deepseek-chat", "deepseek-reasoner"],
375
390
  docUrl: "https://platform.deepseek.com/api-docs/pricing",
@@ -452,18 +467,23 @@ var provider_registry_default = {
452
467
  apiKeyHeader: "Authorization",
453
468
  name: "Venice AI",
454
469
  models: [
455
- "deepseek-coder-v2-lite",
456
- "deepseek-r1-671b",
457
- "dolphin-2.9.2-qwen2-72b",
458
- "llama-3.1-405b",
470
+ "claude-opus-45",
471
+ "deepseek-v3.2",
472
+ "gemini-3-pro-preview",
473
+ "google-gemma-3-27b-it",
474
+ "grok-41-fast",
475
+ "hermes-3-llama-3.1-405b",
476
+ "kimi-k2-thinking",
459
477
  "llama-3.2-3b",
460
478
  "llama-3.3-70b",
461
479
  "mistral-31-24b",
462
- "qwen-2.5-coder-32b",
463
- "qwen-2.5-qwq-32b",
464
- "qwen-2.5-vl",
480
+ "openai-gpt-oss-120b",
465
481
  "qwen3-235b",
482
+ "qwen3-235b-a22b-instruct-2507",
483
+ "qwen3-235b-a22b-thinking-2507",
466
484
  "qwen3-4b",
485
+ "qwen3-coder-480b-a35b-instruct",
486
+ "qwen3-next-80b",
467
487
  "venice-uncensored",
468
488
  "zai-org-glm-4.6"
469
489
  ],
@@ -510,7 +530,8 @@ var provider_registry_default = {
510
530
  "deepseek-ai/DeepSeek-V3-0324",
511
531
  "deepseek-ai/DeepSeek-V3.1",
512
532
  "deepseek-ai/DeepSeek-V3.1-Terminus",
513
- "deepseek-ai/DeepSeek-V3.2-Exp",
533
+ "deepseek-ai/DeepSeek-V3.2",
534
+ "deepseek-ai/DeepSeek-V3.2-Speciale",
514
535
  "meituan-longcat/LongCat-Flash-Chat-FP8",
515
536
  "microsoft/MAI-DS-R1-FP8",
516
537
  "moonshotai/Kimi-K2-Instruct-0905",
@@ -520,6 +541,7 @@ var provider_registry_default = {
520
541
  "rednote-hilab/dots.ocr",
521
542
  "tngtech/DeepSeek-R1T-Chimera",
522
543
  "tngtech/DeepSeek-TNG-R1T2-Chimera",
544
+ "tngtech/TNG-R1T-Chimera",
523
545
  "unsloth/Mistral-Nemo-Instruct-2407",
524
546
  "unsloth/Mistral-Small-24B-Instruct-2501",
525
547
  "unsloth/gemma-3-12b-it",
@@ -532,6 +554,15 @@ var provider_registry_default = {
532
554
  docUrl: "https://llm.chutes.ai/v1/models",
533
555
  gateway: "models.dev"
534
556
  },
557
+ "kimi-for-coding": {
558
+ url: "https://api.kimi.com/coding/v1",
559
+ apiKeyEnvVar: "KIMI_API_KEY",
560
+ apiKeyHeader: "Authorization",
561
+ name: "Kimi For Coding",
562
+ models: ["kimi-k2-thinking"],
563
+ docUrl: "https://www.kimi.com/coding/docs/en/third-party-agents.html",
564
+ gateway: "models.dev"
565
+ },
535
566
  cortecs: {
536
567
  url: "https://api.cortecs.ai/v1",
537
568
  apiKeyEnvVar: "CORTECS_API_KEY",
@@ -639,10 +670,199 @@ var provider_registry_default = {
639
670
  apiKeyEnvVar: "BASETEN_API_KEY",
640
671
  apiKeyHeader: "Authorization",
641
672
  name: "Baseten",
642
- models: ["Qwen/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
673
+ models: [
674
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct",
675
+ "deepseek-ai/DeepSeek-V3.2",
676
+ "moonshotai/Kimi-K2-Instruct-0905",
677
+ "moonshotai/Kimi-K2-Thinking",
678
+ "zai-org/GLM-4.6"
679
+ ],
643
680
  docUrl: "https://docs.baseten.co/development/model-apis/overview",
644
681
  gateway: "models.dev"
645
682
  },
683
+ siliconflow: {
684
+ url: "https://api.siliconflow.com/v1",
685
+ apiKeyEnvVar: "SILICONFLOW_API_KEY",
686
+ apiKeyHeader: "Authorization",
687
+ name: "SiliconFlow",
688
+ models: [
689
+ "baidu-ernie-4.5-300b-a47b",
690
+ "bytedance-seed-seed-oss-36b-instruct",
691
+ "deepseek-ai-deepseek-r1",
692
+ "deepseek-ai-deepseek-r1-distill-qwen-14b",
693
+ "deepseek-ai-deepseek-r1-distill-qwen-32b",
694
+ "deepseek-ai-deepseek-r1-distill-qwen-7b",
695
+ "deepseek-ai-deepseek-v3",
696
+ "deepseek-ai-deepseek-v3.1",
697
+ "deepseek-ai-deepseek-v3.1-terminus",
698
+ "deepseek-ai-deepseek-v3.2-exp",
699
+ "deepseek-ai-deepseek-vl2",
700
+ "inclusionai-ling-flash-2.0",
701
+ "inclusionai-ling-mini-2.0",
702
+ "inclusionai-ring-flash-2.0",
703
+ "meta-llama-meta-llama-3.1-8b-instruct",
704
+ "minimaxai-minimax-m1-80k",
705
+ "minimaxai-minimax-m2",
706
+ "moonshotai-kimi-dev-72b",
707
+ "moonshotai-kimi-k2-instruct",
708
+ "moonshotai-kimi-k2-instruct-0905",
709
+ "moonshotai-kimi-k2-thinking",
710
+ "nex-agi-deepseek-v3.1-nex-n1",
711
+ "openai-gpt-oss-120b",
712
+ "openai-gpt-oss-20b",
713
+ "qwen-qwen2.5-14b-instruct",
714
+ "qwen-qwen2.5-32b-instruct",
715
+ "qwen-qwen2.5-72b-instruct",
716
+ "qwen-qwen2.5-72b-instruct-128k",
717
+ "qwen-qwen2.5-7b-instruct",
718
+ "qwen-qwen2.5-coder-32b-instruct",
719
+ "qwen-qwen2.5-vl-32b-instruct",
720
+ "qwen-qwen2.5-vl-72b-instruct",
721
+ "qwen-qwen2.5-vl-7b-instruct",
722
+ "qwen-qwen3-14b",
723
+ "qwen-qwen3-235b-a22b",
724
+ "qwen-qwen3-235b-a22b-instruct-2507",
725
+ "qwen-qwen3-235b-a22b-thinking-2507",
726
+ "qwen-qwen3-30b-a3b",
727
+ "qwen-qwen3-30b-a3b-instruct-2507",
728
+ "qwen-qwen3-30b-a3b-thinking-2507",
729
+ "qwen-qwen3-32b",
730
+ "qwen-qwen3-8b",
731
+ "qwen-qwen3-coder-30b-a3b-instruct",
732
+ "qwen-qwen3-coder-480b-a35b-instruct",
733
+ "qwen-qwen3-next-80b-a3b-instruct",
734
+ "qwen-qwen3-next-80b-a3b-thinking",
735
+ "qwen-qwen3-omni-30b-a3b-captioner",
736
+ "qwen-qwen3-omni-30b-a3b-instruct",
737
+ "qwen-qwen3-omni-30b-a3b-thinking",
738
+ "qwen-qwen3-vl-235b-a22b-instruct",
739
+ "qwen-qwen3-vl-235b-a22b-thinking",
740
+ "qwen-qwen3-vl-30b-a3b-instruct",
741
+ "qwen-qwen3-vl-30b-a3b-thinking",
742
+ "qwen-qwen3-vl-32b-instruct",
743
+ "qwen-qwen3-vl-32b-thinking",
744
+ "qwen-qwen3-vl-8b-instruct",
745
+ "qwen-qwen3-vl-8b-thinking",
746
+ "qwen-qwq-32b",
747
+ "stepfun-ai-step3",
748
+ "tencent-hunyuan-a13b-instruct",
749
+ "tencent-hunyuan-mt-7b",
750
+ "thudm-glm-4-32b-0414",
751
+ "thudm-glm-4-9b-0414",
752
+ "thudm-glm-4.1v-9b-thinking",
753
+ "thudm-glm-z1-32b-0414",
754
+ "thudm-glm-z1-9b-0414",
755
+ "z-ai-glm-4.5",
756
+ "z-ai-glm-4.5-air",
757
+ "zai-org-glm-4.5",
758
+ "zai-org-glm-4.5-air",
759
+ "zai-org-glm-4.5v",
760
+ "zai-org-glm-4.6"
761
+ ],
762
+ docUrl: "https://cloud.siliconflow.com/models",
763
+ gateway: "models.dev"
764
+ },
765
+ helicone: {
766
+ url: "https://ai-gateway.helicone.ai/v1",
767
+ apiKeyEnvVar: "HELICONE_API_KEY",
768
+ apiKeyHeader: "Authorization",
769
+ name: "Helicone",
770
+ models: [
771
+ "chatgpt-4o-latest",
772
+ "claude-3-haiku-20240307",
773
+ "claude-3.5-haiku",
774
+ "claude-3.5-sonnet-v2",
775
+ "claude-3.7-sonnet",
776
+ "claude-4.5-haiku",
777
+ "claude-4.5-opus",
778
+ "claude-4.5-sonnet",
779
+ "claude-haiku-4-5-20251001",
780
+ "claude-opus-4",
781
+ "claude-opus-4-1",
782
+ "claude-opus-4-1-20250805",
783
+ "claude-sonnet-4",
784
+ "claude-sonnet-4-5-20250929",
785
+ "codex-mini-latest",
786
+ "deepseek-r1-distill-llama-70b",
787
+ "deepseek-reasoner",
788
+ "deepseek-tng-r1t2-chimera",
789
+ "deepseek-v3",
790
+ "deepseek-v3.1-terminus",
791
+ "deepseek-v3.2",
792
+ "ernie-4.5-21b-a3b-thinking",
793
+ "gemini-2.5-flash",
794
+ "gemini-2.5-flash-lite",
795
+ "gemini-2.5-pro",
796
+ "gemini-3-pro-preview",
797
+ "gemma-3-12b-it",
798
+ "gemma2-9b-it",
799
+ "glm-4.6",
800
+ "gpt-4.1",
801
+ "gpt-4.1-mini",
802
+ "gpt-4.1-mini-2025-04-14",
803
+ "gpt-4.1-nano",
804
+ "gpt-4o",
805
+ "gpt-4o-mini",
806
+ "gpt-5",
807
+ "gpt-5-chat-latest",
808
+ "gpt-5-codex",
809
+ "gpt-5-mini",
810
+ "gpt-5-nano",
811
+ "gpt-5-pro",
812
+ "gpt-5.1",
813
+ "gpt-5.1-chat-latest",
814
+ "gpt-5.1-codex",
815
+ "gpt-5.1-codex-mini",
816
+ "gpt-oss-120b",
817
+ "gpt-oss-20b",
818
+ "grok-3",
819
+ "grok-3-mini",
820
+ "grok-4",
821
+ "grok-4-1-fast-non-reasoning",
822
+ "grok-4-1-fast-reasoning",
823
+ "grok-4-fast-non-reasoning",
824
+ "grok-4-fast-reasoning",
825
+ "grok-code-fast-1",
826
+ "hermes-2-pro-llama-3-8b",
827
+ "kimi-k2-0711",
828
+ "kimi-k2-0905",
829
+ "kimi-k2-thinking",
830
+ "llama-3.1-8b-instant",
831
+ "llama-3.1-8b-instruct",
832
+ "llama-3.1-8b-instruct-turbo",
833
+ "llama-3.3-70b-instruct",
834
+ "llama-3.3-70b-versatile",
835
+ "llama-4-maverick",
836
+ "llama-4-scout",
837
+ "llama-guard-4",
838
+ "llama-prompt-guard-2-22m",
839
+ "llama-prompt-guard-2-86m",
840
+ "mistral-large-2411",
841
+ "mistral-nemo",
842
+ "mistral-small",
843
+ "o1",
844
+ "o1-mini",
845
+ "o3",
846
+ "o3-mini",
847
+ "o3-pro",
848
+ "o4-mini",
849
+ "qwen2.5-coder-7b-fast",
850
+ "qwen3-235b-a22b-thinking",
851
+ "qwen3-30b-a3b",
852
+ "qwen3-32b",
853
+ "qwen3-coder",
854
+ "qwen3-coder-30b-a3b-instruct",
855
+ "qwen3-next-80b-a3b-instruct",
856
+ "qwen3-vl-235b-a22b-instruct",
857
+ "sonar",
858
+ "sonar-deep-research",
859
+ "sonar-pro",
860
+ "sonar-reasoning",
861
+ "sonar-reasoning-pro"
862
+ ],
863
+ docUrl: "https://helicone.ai/models",
864
+ gateway: "models.dev"
865
+ },
646
866
  huggingface: {
647
867
  url: "https://router.huggingface.co/v1",
648
868
  apiKeyEnvVar: "HF_TOKEN",
@@ -673,19 +893,27 @@ var provider_registry_default = {
673
893
  apiKeyHeader: "Authorization",
674
894
  name: "OpenCode Zen",
675
895
  models: [
676
- "an-gd4",
896
+ "alpha-doubao-seed-code",
897
+ "alpha-gd4",
898
+ "alpha-minimax-m2",
677
899
  "big-pickle",
678
900
  "claude-3-5-haiku",
679
901
  "claude-haiku-4-5",
680
902
  "claude-opus-4-1",
903
+ "claude-opus-4-5",
681
904
  "claude-sonnet-4",
682
905
  "claude-sonnet-4-5",
906
+ "gemini-3-pro",
683
907
  "glm-4.6",
684
908
  "gpt-5",
685
909
  "gpt-5-codex",
910
+ "gpt-5-nano",
911
+ "gpt-5.1",
912
+ "gpt-5.1-codex",
913
+ "gpt-5.1-codex-max",
686
914
  "grok-code",
687
915
  "kimi-k2",
688
- "minimax-m2",
916
+ "kimi-k2-thinking",
689
917
  "qwen3-coder"
690
918
  ],
691
919
  docUrl: "https://opencode.ai/docs/zen",
@@ -715,6 +943,15 @@ var provider_registry_default = {
715
943
  docUrl: "https://fastrouter.ai/models",
716
944
  gateway: "models.dev"
717
945
  },
946
+ minimax: {
947
+ url: "https://api.minimax.io/anthropic/v1",
948
+ apiKeyEnvVar: "MINIMAX_API_KEY",
949
+ apiKeyHeader: "Authorization",
950
+ name: "MiniMax",
951
+ models: ["MiniMax-M2"],
952
+ docUrl: "https://platform.minimax.io/docs/guides/quickstart",
953
+ gateway: "models.dev"
954
+ },
718
955
  google: {
719
956
  apiKeyEnvVar: "GOOGLE_GENERATIVE_AI_API_KEY",
720
957
  name: "Google",
@@ -738,6 +975,7 @@ var provider_registry_default = {
738
975
  "gemini-2.5-pro-preview-05-06",
739
976
  "gemini-2.5-pro-preview-06-05",
740
977
  "gemini-2.5-pro-preview-tts",
978
+ "gemini-3-pro-preview",
741
979
  "gemini-embedding-001",
742
980
  "gemini-flash-latest",
743
981
  "gemini-flash-lite-latest",
@@ -776,6 +1014,93 @@ var provider_registry_default = {
776
1014
  docUrl: "https://weave-docs.wandb.ai/guides/integrations/inference/",
777
1015
  gateway: "models.dev"
778
1016
  },
1017
+ "cloudflare-ai-gateway": {
1018
+ url: "https://gateway.ai.cloudflare.com/v1/${CLOUDFLARE_ACCOUNT_ID}/${CLOUDFLARE_GATEWAY_ID}/compat/",
1019
+ apiKeyEnvVar: "CLOUDFLARE_API_TOKEN",
1020
+ apiKeyHeader: "Authorization",
1021
+ name: "Cloudflare AI Gateway",
1022
+ models: [
1023
+ "anthropic/claude-3-5-haiku",
1024
+ "anthropic/claude-3-haiku",
1025
+ "anthropic/claude-3-opus",
1026
+ "anthropic/claude-3-sonnet",
1027
+ "anthropic/claude-3.5-haiku",
1028
+ "anthropic/claude-3.5-sonnet",
1029
+ "anthropic/claude-haiku-4-5",
1030
+ "anthropic/claude-haiku-4.5",
1031
+ "anthropic/claude-opus-4",
1032
+ "anthropic/claude-opus-4-1",
1033
+ "anthropic/claude-opus-4-5",
1034
+ "anthropic/claude-opus-4.1",
1035
+ "anthropic/claude-opus-4.5",
1036
+ "anthropic/claude-sonnet-4",
1037
+ "anthropic/claude-sonnet-4-5",
1038
+ "anthropic/claude-sonnet-4.5",
1039
+ "openai/gpt-3.5-turbo",
1040
+ "openai/gpt-4",
1041
+ "openai/gpt-4-turbo",
1042
+ "openai/gpt-4o",
1043
+ "openai/gpt-4o-mini",
1044
+ "openai/gpt-5.1",
1045
+ "openai/gpt-5.1-codex",
1046
+ "openai/o1",
1047
+ "openai/o1-mini",
1048
+ "openai/o1-preview",
1049
+ "openai/o3",
1050
+ "openai/o3-mini",
1051
+ "openai/o3-pro",
1052
+ "openai/o4-mini",
1053
+ "replicate/deepseek-ai/deepseek-r1",
1054
+ "replicate/meta/meta-llama-3-70b-instruct",
1055
+ "replicate/meta/meta-llama-3-8b-instruct",
1056
+ "replicate/meta/meta-llama-3.1-405b-instruct",
1057
+ "replicate/replicate-internal/llama-405b-instruct-vllm",
1058
+ "workers-ai/aura-1",
1059
+ "workers-ai/aura-2-en",
1060
+ "workers-ai/aura-2-es",
1061
+ "workers-ai/bart-large-cnn",
1062
+ "workers-ai/bge-base-en-v1.5",
1063
+ "workers-ai/bge-large-en-v1.5",
1064
+ "workers-ai/bge-m3",
1065
+ "workers-ai/bge-reranker-base",
1066
+ "workers-ai/bge-small-en-v1.5",
1067
+ "workers-ai/deepseek-r1-distill-qwen-32b",
1068
+ "workers-ai/distilbert-sst-2-int8",
1069
+ "workers-ai/gemma-3-12b-it",
1070
+ "workers-ai/gemma-sea-lion-v4-27b-it",
1071
+ "workers-ai/gpt-oss-120b",
1072
+ "workers-ai/gpt-oss-20b",
1073
+ "workers-ai/granite-4.0-h-micro",
1074
+ "workers-ai/indictrans2-en-indic-1B",
1075
+ "workers-ai/llama-2-7b-chat-fp16",
1076
+ "workers-ai/llama-3-8b-instruct",
1077
+ "workers-ai/llama-3-8b-instruct-awq",
1078
+ "workers-ai/llama-3.1-8b-instruct",
1079
+ "workers-ai/llama-3.1-8b-instruct-awq",
1080
+ "workers-ai/llama-3.1-8b-instruct-fp8",
1081
+ "workers-ai/llama-3.2-11b-vision-instruct",
1082
+ "workers-ai/llama-3.2-1b-instruct",
1083
+ "workers-ai/llama-3.2-3b-instruct",
1084
+ "workers-ai/llama-3.3-70b-instruct-fp8-fast",
1085
+ "workers-ai/llama-4-scout-17b-16e-instruct",
1086
+ "workers-ai/llama-guard-3-8b",
1087
+ "workers-ai/m2m100-1.2b",
1088
+ "workers-ai/melotts",
1089
+ "workers-ai/mistral-7b-instruct-v0.1",
1090
+ "workers-ai/mistral-small-3.1-24b-instruct",
1091
+ "workers-ai/nova-3",
1092
+ "workers-ai/plamo-embedding-1b",
1093
+ "workers-ai/qwen2.5-coder-32b-instruct",
1094
+ "workers-ai/qwen3-30b-a3b-fp8",
1095
+ "workers-ai/qwen3-embedding-0.6b",
1096
+ "workers-ai/qwq-32b",
1097
+ "workers-ai/smart-turn-v2",
1098
+ "workers-ai/whisper",
1099
+ "workers-ai/whisper-large-v3-turbo"
1100
+ ],
1101
+ docUrl: "https://developers.cloudflare.com/ai-gateway/",
1102
+ gateway: "models.dev"
1103
+ },
779
1104
  openai: {
780
1105
  apiKeyEnvVar: "OPENAI_API_KEY",
781
1106
  name: "OpenAI",
@@ -798,6 +1123,11 @@ var provider_registry_default = {
798
1123
  "gpt-5-mini",
799
1124
  "gpt-5-nano",
800
1125
  "gpt-5-pro",
1126
+ "gpt-5.1",
1127
+ "gpt-5.1-chat-latest",
1128
+ "gpt-5.1-codex",
1129
+ "gpt-5.1-codex-max",
1130
+ "gpt-5.1-codex-mini",
801
1131
  "o1",
802
1132
  "o1-mini",
803
1133
  "o1-preview",
@@ -820,14 +1150,21 @@ var provider_registry_default = {
820
1150
  apiKeyEnvVar: "ZHIPU_API_KEY",
821
1151
  apiKeyHeader: "Authorization",
822
1152
  name: "Zhipu AI Coding Plan",
823
- models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1153
+ models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
824
1154
  docUrl: "https://docs.bigmodel.cn/cn/coding-plan/overview",
825
1155
  gateway: "models.dev"
826
1156
  },
1157
+ "minimax-cn": {
1158
+ url: "https://api.minimaxi.com/anthropic/v1",
1159
+ apiKeyEnvVar: "MINIMAX_API_KEY",
1160
+ apiKeyHeader: "Authorization",
1161
+ name: "MiniMax (China)",
1162
+ models: ["MiniMax-M2"],
1163
+ docUrl: "https://platform.minimaxi.com/docs/guides/quickstart",
1164
+ gateway: "models.dev"
1165
+ },
827
1166
  perplexity: {
828
- url: "https://api.perplexity.ai",
829
1167
  apiKeyEnvVar: "PERPLEXITY_API_KEY",
830
- apiKeyHeader: "Authorization",
831
1168
  name: "Perplexity",
832
1169
  models: ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
833
1170
  docUrl: "https://docs.perplexity.ai",
@@ -843,6 +1180,7 @@ var provider_registry_default = {
843
1180
  "anthropic/claude-haiku-4.5",
844
1181
  "anthropic/claude-opus-4",
845
1182
  "anthropic/claude-opus-4.1",
1183
+ "anthropic/claude-opus-4.5",
846
1184
  "anthropic/claude-sonnet-4",
847
1185
  "anthropic/claude-sonnet-4.5",
848
1186
  "cognitivecomputations/dolphin3.0-mistral-24b",
@@ -857,6 +1195,8 @@ var provider_registry_default = {
857
1195
  "deepseek/deepseek-v3-base:free",
858
1196
  "deepseek/deepseek-v3.1-terminus",
859
1197
  "deepseek/deepseek-v3.1-terminus:exacto",
1198
+ "deepseek/deepseek-v3.2",
1199
+ "deepseek/deepseek-v3.2-speciale",
860
1200
  "featherless/qwerky-72b",
861
1201
  "google/gemini-2.0-flash-001",
862
1202
  "google/gemini-2.0-flash-exp:free",
@@ -867,18 +1207,20 @@ var provider_registry_default = {
867
1207
  "google/gemini-2.5-pro",
868
1208
  "google/gemini-2.5-pro-preview-05-06",
869
1209
  "google/gemini-2.5-pro-preview-06-05",
1210
+ "google/gemini-3-pro-preview",
870
1211
  "google/gemma-2-9b-it:free",
871
1212
  "google/gemma-3-12b-it",
872
1213
  "google/gemma-3-27b-it",
873
1214
  "google/gemma-3n-e4b-it",
874
1215
  "google/gemma-3n-e4b-it:free",
1216
+ "kwaipilot/kat-coder-pro:free",
875
1217
  "meta-llama/llama-3.2-11b-vision-instruct",
876
1218
  "meta-llama/llama-3.3-70b-instruct:free",
877
1219
  "meta-llama/llama-4-scout:free",
878
1220
  "microsoft/mai-ds-r1:free",
879
1221
  "minimax/minimax-01",
880
1222
  "minimax/minimax-m1",
881
- "minimax/minimax-m2:free",
1223
+ "minimax/minimax-m2",
882
1224
  "mistralai/codestral-2508",
883
1225
  "mistralai/devstral-medium-2507",
884
1226
  "mistralai/devstral-small-2505",
@@ -911,16 +1253,15 @@ var provider_registry_default = {
911
1253
  "openai/gpt-5-mini",
912
1254
  "openai/gpt-5-nano",
913
1255
  "openai/gpt-5-pro",
1256
+ "openai/gpt-5.1",
1257
+ "openai/gpt-5.1-chat",
1258
+ "openai/gpt-5.1-codex",
1259
+ "openai/gpt-5.1-codex-mini",
914
1260
  "openai/gpt-oss-120b",
915
1261
  "openai/gpt-oss-120b:exacto",
916
1262
  "openai/gpt-oss-20b",
1263
+ "openai/gpt-oss-safeguard-20b",
917
1264
  "openai/o4-mini",
918
- "openrouter/cypher-alpha:free",
919
- "openrouter/horizon-alpha",
920
- "openrouter/horizon-beta",
921
- "openrouter/polaris-alpha",
922
- "openrouter/sonoma-dusk-alpha",
923
- "openrouter/sonoma-sky-alpha",
924
1265
  "qwen/qwen-2.5-coder-32b-instruct",
925
1266
  "qwen/qwen2.5-vl-32b-instruct:free",
926
1267
  "qwen/qwen2.5-vl-72b-instruct",
@@ -936,6 +1277,7 @@ var provider_registry_default = {
936
1277
  "qwen/qwen3-32b:free",
937
1278
  "qwen/qwen3-8b:free",
938
1279
  "qwen/qwen3-coder",
1280
+ "qwen/qwen3-coder-flash",
939
1281
  "qwen/qwen3-coder:exacto",
940
1282
  "qwen/qwen3-coder:free",
941
1283
  "qwen/qwen3-max",
@@ -952,6 +1294,7 @@ var provider_registry_default = {
952
1294
  "x-ai/grok-3-mini-beta",
953
1295
  "x-ai/grok-4",
954
1296
  "x-ai/grok-4-fast",
1297
+ "x-ai/grok-4.1-fast",
955
1298
  "x-ai/grok-code-fast-1",
956
1299
  "z-ai/glm-4.5",
957
1300
  "z-ai/glm-4.5-air",
@@ -977,7 +1320,10 @@ var provider_registry_default = {
977
1320
  "inclusionai/lint-1t",
978
1321
  "inclusionai/ring-1t",
979
1322
  "kuaishou/kat-coder-pro-v1",
1323
+ "minimax/minimax-m2",
980
1324
  "moonshotai/kimi-k2-0905",
1325
+ "moonshotai/kimi-k2-thinking",
1326
+ "moonshotai/kimi-k2-thinking-turbo",
981
1327
  "openai/gpt-5",
982
1328
  "openai/gpt-5-codex",
983
1329
  "qwen/qwen3-coder-plus",
@@ -991,6 +1337,31 @@ var provider_registry_default = {
991
1337
  docUrl: "https://docs.zenmux.ai",
992
1338
  gateway: "models.dev"
993
1339
  },
1340
+ ovhcloud: {
1341
+ url: "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
1342
+ apiKeyEnvVar: "OVHCLOUD_API_KEY",
1343
+ apiKeyHeader: "Authorization",
1344
+ name: "OVHcloud AI Endpoints",
1345
+ models: [
1346
+ "deepseek-r1-distill-llama-70b",
1347
+ "gpt-oss-120b",
1348
+ "gpt-oss-20b",
1349
+ "llama-3.1-8b-instruct",
1350
+ "llava-next-mistral-7b",
1351
+ "meta-llama-3_1-70b-instruct",
1352
+ "meta-llama-3_3-70b-instruct",
1353
+ "mistral-7b-instruct-v0.3",
1354
+ "mistral-nemo-instruct-2407",
1355
+ "mistral-small-3.2-24b-instruct-2506",
1356
+ "mixtral-8x7b-instruct-v0.1",
1357
+ "qwen2.5-coder-32b-instruct",
1358
+ "qwen2.5-vl-72b-instruct",
1359
+ "qwen3-32b",
1360
+ "qwen3-coder-30b-a3b-instruct"
1361
+ ],
1362
+ docUrl: "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//",
1363
+ gateway: "models.dev"
1364
+ },
994
1365
  iflowcn: {
995
1366
  url: "https://apis.iflow.cn/v1",
996
1367
  apiKeyEnvVar: "IFLOW_API_KEY",
@@ -1001,9 +1372,12 @@ var provider_registry_default = {
1001
1372
  "deepseek-v3",
1002
1373
  "deepseek-v3.1",
1003
1374
  "deepseek-v3.2",
1375
+ "deepseek-v3.2-chat",
1004
1376
  "glm-4.6",
1005
1377
  "kimi-k2",
1006
1378
  "kimi-k2-0905",
1379
+ "kimi-k2-thinking",
1380
+ "minimax-m2",
1007
1381
  "qwen3-235b",
1008
1382
  "qwen3-235b-a22b-instruct",
1009
1383
  "qwen3-235b-a22b-thinking-2507",
@@ -1035,6 +1409,7 @@ var provider_registry_default = {
1035
1409
  "hf:deepseek-ai/DeepSeek-V3-0324",
1036
1410
  "hf:deepseek-ai/DeepSeek-V3.1",
1037
1411
  "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
1412
+ "hf:deepseek-ai/DeepSeek-V3.2",
1038
1413
  "hf:meta-llama/Llama-3.1-405B-Instruct",
1039
1414
  "hf:meta-llama/Llama-3.1-70B-Instruct",
1040
1415
  "hf:meta-llama/Llama-3.1-8B-Instruct",
@@ -1072,7 +1447,7 @@ var provider_registry_default = {
1072
1447
  apiKeyEnvVar: "ZHIPU_API_KEY",
1073
1448
  apiKeyHeader: "Authorization",
1074
1449
  name: "Zhipu AI",
1075
- models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1450
+ models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
1076
1451
  docUrl: "https://docs.z.ai/guides/overview/pricing",
1077
1452
  gateway: "models.dev"
1078
1453
  },
@@ -1100,7 +1475,7 @@ var provider_registry_default = {
1100
1475
  apiKeyEnvVar: "ZHIPU_API_KEY",
1101
1476
  apiKeyHeader: "Authorization",
1102
1477
  name: "Z.AI",
1103
- models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1478
+ models: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
1104
1479
  docUrl: "https://docs.z.ai/guides/overview/pricing",
1105
1480
  gateway: "models.dev"
1106
1481
  },
@@ -1130,18 +1505,24 @@ var provider_registry_default = {
1130
1505
  name: "Requesty",
1131
1506
  models: [
1132
1507
  "anthropic/claude-3-7-sonnet",
1133
- "anthropic/claude-4-sonnet-20250522",
1508
+ "anthropic/claude-haiku-4-5",
1134
1509
  "anthropic/claude-opus-4",
1135
- "anthropic/claude-opus-4-1-20250805",
1510
+ "anthropic/claude-opus-4-1",
1511
+ "anthropic/claude-opus-4-5",
1512
+ "anthropic/claude-sonnet-4",
1513
+ "anthropic/claude-sonnet-4-5",
1136
1514
  "google/gemini-2.5-flash",
1137
1515
  "google/gemini-2.5-pro",
1516
+ "google/gemini-3-pro-preview",
1138
1517
  "openai/gpt-4.1",
1139
1518
  "openai/gpt-4.1-mini",
1140
1519
  "openai/gpt-4o-mini",
1141
1520
  "openai/gpt-5",
1142
1521
  "openai/gpt-5-mini",
1143
1522
  "openai/gpt-5-nano",
1144
- "openai/o4-mini"
1523
+ "openai/o4-mini",
1524
+ "xai/grok-4",
1525
+ "xai/grok-4-fast"
1145
1526
  ],
1146
1527
  docUrl: "https://requesty.ai/solution/llm-routing/models",
1147
1528
  gateway: "models.dev"
@@ -1183,6 +1564,8 @@ var provider_registry_default = {
1183
1564
  "claude-opus-4-1",
1184
1565
  "claude-opus-4-1-20250805",
1185
1566
  "claude-opus-4-20250514",
1567
+ "claude-opus-4-5",
1568
+ "claude-opus-4-5-20251101",
1186
1569
  "claude-sonnet-4-0",
1187
1570
  "claude-sonnet-4-20250514",
1188
1571
  "claude-sonnet-4-5",
@@ -1205,6 +1588,7 @@ var provider_registry_default = {
1205
1588
  "accounts/fireworks/models/gpt-oss-120b",
1206
1589
  "accounts/fireworks/models/gpt-oss-20b",
1207
1590
  "accounts/fireworks/models/kimi-k2-instruct",
1591
+ "accounts/fireworks/models/kimi-k2-thinking",
1208
1592
  "accounts/fireworks/models/minimax-m2",
1209
1593
  "accounts/fireworks/models/qwen3-235b-a22b",
1210
1594
  "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
@@ -1212,6 +1596,33 @@ var provider_registry_default = {
1212
1596
  docUrl: "https://fireworks.ai/docs/",
1213
1597
  gateway: "models.dev"
1214
1598
  },
1599
+ "io-net": {
1600
+ url: "https://api.intelligence.io.solutions/api/v1",
1601
+ apiKeyEnvVar: "IOINTELLIGENCE_API_KEY",
1602
+ apiKeyHeader: "Authorization",
1603
+ name: "IO.NET",
1604
+ models: [
1605
+ "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
1606
+ "Qwen/Qwen2.5-VL-32B-Instruct",
1607
+ "Qwen/Qwen3-235B-A22B-Thinking-2507",
1608
+ "Qwen/Qwen3-Next-80B-A3B-Instruct",
1609
+ "deepseek-ai/DeepSeek-R1-0528",
1610
+ "meta-llama/Llama-3.2-90B-Vision-Instruct",
1611
+ "meta-llama/Llama-3.3-70B-Instruct",
1612
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
1613
+ "mistralai/Devstral-Small-2505",
1614
+ "mistralai/Magistral-Small-2506",
1615
+ "mistralai/Mistral-Large-Instruct-2411",
1616
+ "mistralai/Mistral-Nemo-Instruct-2407",
1617
+ "moonshotai/Kimi-K2-Instruct-0905",
1618
+ "moonshotai/Kimi-K2-Thinking",
1619
+ "openai/gpt-oss-120b",
1620
+ "openai/gpt-oss-20b",
1621
+ "zai-org/GLM-4.6"
1622
+ ],
1623
+ docUrl: "https://io.net/docs/guides/intelligence/io-intelligence",
1624
+ gateway: "models.dev"
1625
+ },
1215
1626
  modelscope: {
1216
1627
  url: "https://api-inference.modelscope.cn/v1",
1217
1628
  apiKeyEnvVar: "MODELSCOPE_API_KEY",
@@ -1269,12 +1680,124 @@ var provider_registry_default = {
1269
1680
  docUrl: "https://www.scaleway.com/en/docs/generative-apis/",
1270
1681
  gateway: "models.dev"
1271
1682
  },
1683
+ poe: {
1684
+ url: "https://api.poe.com/v1",
1685
+ apiKeyEnvVar: "POE_API_KEY",
1686
+ apiKeyHeader: "Authorization",
1687
+ name: "Poe",
1688
+ models: [
1689
+ "anthropic/claude-haiku-3",
1690
+ "anthropic/claude-haiku-3.5",
1691
+ "anthropic/claude-haiku-3.5-search",
1692
+ "anthropic/claude-haiku-4.5",
1693
+ "anthropic/claude-opus-3",
1694
+ "anthropic/claude-opus-4",
1695
+ "anthropic/claude-opus-4-reasoning",
1696
+ "anthropic/claude-opus-4-search",
1697
+ "anthropic/claude-opus-4.1",
1698
+ "anthropic/claude-opus-4.5",
1699
+ "anthropic/claude-sonnet-3.5",
1700
+ "anthropic/claude-sonnet-3.5-june",
1701
+ "anthropic/claude-sonnet-3.7",
1702
+ "anthropic/claude-sonnet-3.7-reasoning",
1703
+ "anthropic/claude-sonnet-3.7-search",
1704
+ "anthropic/claude-sonnet-4",
1705
+ "anthropic/claude-sonnet-4-reasoning",
1706
+ "anthropic/claude-sonnet-4-search",
1707
+ "anthropic/claude-sonnet-4.5",
1708
+ "elevenlabs/elevenlabs-music",
1709
+ "elevenlabs/elevenlabs-v2.5-turbo",
1710
+ "elevenlabs/elevenlabs-v3",
1711
+ "google/gemini-2.0-flash",
1712
+ "google/gemini-2.0-flash-lite",
1713
+ "google/gemini-2.5-flash",
1714
+ "google/gemini-2.5-flash-lite",
1715
+ "google/gemini-2.5-pro",
1716
+ "google/gemini-3-pro",
1717
+ "google/imagen-3",
1718
+ "google/imagen-3-fast",
1719
+ "google/imagen-4",
1720
+ "google/imagen-4-fast",
1721
+ "google/imagen-4-ultra",
1722
+ "google/lyria",
1723
+ "google/nano-banana",
1724
+ "google/nano-banana-pro",
1725
+ "google/veo-2",
1726
+ "google/veo-3",
1727
+ "google/veo-3-fast",
1728
+ "google/veo-3.1",
1729
+ "google/veo-3.1-fast",
1730
+ "ideogramai/ideogram",
1731
+ "ideogramai/ideogram-v2",
1732
+ "ideogramai/ideogram-v2a",
1733
+ "ideogramai/ideogram-v2a-turbo",
1734
+ "lumalabs/dream-machine",
1735
+ "lumalabs/ray2",
1736
+ "novita/glm-4.6",
1737
+ "novita/kimi-k2-thinking",
1738
+ "openai/chatgpt-4o-latest",
1739
+ "openai/dall-e-3",
1740
+ "openai/gpt-3.5-turbo",
1741
+ "openai/gpt-3.5-turbo-instruct",
1742
+ "openai/gpt-3.5-turbo-raw",
1743
+ "openai/gpt-4-classic",
1744
+ "openai/gpt-4-classic-0314",
1745
+ "openai/gpt-4-turbo",
1746
+ "openai/gpt-4.1",
1747
+ "openai/gpt-4.1-mini",
1748
+ "openai/gpt-4.1-nano",
1749
+ "openai/gpt-4o",
1750
+ "openai/gpt-4o-aug",
1751
+ "openai/gpt-4o-mini",
1752
+ "openai/gpt-4o-mini-search",
1753
+ "openai/gpt-4o-search",
1754
+ "openai/gpt-5",
1755
+ "openai/gpt-5-chat",
1756
+ "openai/gpt-5-codex",
1757
+ "openai/gpt-5-mini",
1758
+ "openai/gpt-5-nano",
1759
+ "openai/gpt-5-pro",
1760
+ "openai/gpt-5.1",
1761
+ "openai/gpt-5.1-codex",
1762
+ "openai/gpt-5.1-codex-mini",
1763
+ "openai/gpt-5.1-instant",
1764
+ "openai/gpt-image-1",
1765
+ "openai/gpt-image-1-mini",
1766
+ "openai/o1",
1767
+ "openai/o1-pro",
1768
+ "openai/o3",
1769
+ "openai/o3-deep-research",
1770
+ "openai/o3-mini",
1771
+ "openai/o3-mini-high",
1772
+ "openai/o3-pro",
1773
+ "openai/o4-mini",
1774
+ "openai/o4-mini-deep-research",
1775
+ "openai/sora-2",
1776
+ "openai/sora-2-pro",
1777
+ "runwayml/runway",
1778
+ "runwayml/runway-gen-4-turbo",
1779
+ "stabilityai/stablediffusionxl",
1780
+ "topazlabs-co/topazlabs",
1781
+ "trytako/tako",
1782
+ "xai/grok-2",
1783
+ "xai/grok-3",
1784
+ "xai/grok-3-mini",
1785
+ "xai/grok-4",
1786
+ "xai/grok-4-fast-non-reasoning",
1787
+ "xai/grok-4-fast-reasoning",
1788
+ "xai/grok-4.1-fast-non-reasoning",
1789
+ "xai/grok-4.1-fast-reasoning",
1790
+ "xai/grok-code-fast-1"
1791
+ ],
1792
+ docUrl: "https://creator.poe.com/docs/external-applications/openai-compatible-api",
1793
+ gateway: "models.dev"
1794
+ },
1272
1795
  cerebras: {
1273
1796
  url: "https://api.cerebras.ai/v1",
1274
1797
  apiKeyEnvVar: "CEREBRAS_API_KEY",
1275
1798
  apiKeyHeader: "Authorization",
1276
1799
  name: "Cerebras",
1277
- models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b", "zai-glm-4.6"],
1800
+ models: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
1278
1801
  docUrl: "https://inference-docs.cerebras.ai/models/overview",
1279
1802
  gateway: "models.dev"
1280
1803
  },
@@ -1285,23 +1808,25 @@ var provider_registry_default = {
1285
1808
  gateway: "netlify",
1286
1809
  models: [
1287
1810
  "anthropic/claude-3-5-haiku-20241022",
1288
- "anthropic/claude-3-5-haiku-latest",
1289
1811
  "anthropic/claude-3-7-sonnet-20250219",
1290
- "anthropic/claude-3-7-sonnet-latest",
1291
1812
  "anthropic/claude-3-haiku-20240307",
1292
1813
  "anthropic/claude-haiku-4-5-20251001",
1293
1814
  "anthropic/claude-opus-4-1-20250805",
1294
1815
  "anthropic/claude-opus-4-20250514",
1816
+ "anthropic/claude-opus-4-5-20251101",
1295
1817
  "anthropic/claude-sonnet-4-20250514",
1296
1818
  "anthropic/claude-sonnet-4-5-20250929",
1297
1819
  "gemini/gemini-2.0-flash",
1298
1820
  "gemini/gemini-2.0-flash-lite",
1299
1821
  "gemini/gemini-2.5-flash",
1822
+ "gemini/gemini-2.5-flash-image",
1300
1823
  "gemini/gemini-2.5-flash-image-preview",
1301
1824
  "gemini/gemini-2.5-flash-lite",
1302
1825
  "gemini/gemini-2.5-flash-lite-preview-09-2025",
1303
1826
  "gemini/gemini-2.5-flash-preview-09-2025",
1304
1827
  "gemini/gemini-2.5-pro",
1828
+ "gemini/gemini-3-pro-image-preview",
1829
+ "gemini/gemini-3-pro-preview",
1305
1830
  "gemini/gemini-flash-latest",
1306
1831
  "gemini/gemini-flash-lite-latest",
1307
1832
  "openai/codex-mini-latest",
@@ -1311,10 +1836,17 @@ var provider_registry_default = {
1311
1836
  "openai/gpt-4o",
1312
1837
  "openai/gpt-4o-mini",
1313
1838
  "openai/gpt-5",
1839
+ "openai/gpt-5-2025-08-07",
1314
1840
  "openai/gpt-5-codex",
1315
1841
  "openai/gpt-5-mini",
1842
+ "openai/gpt-5-mini-2025-08-07",
1316
1843
  "openai/gpt-5-nano",
1317
1844
  "openai/gpt-5-pro",
1845
+ "openai/gpt-5.1",
1846
+ "openai/gpt-5.1-2025-11-13",
1847
+ "openai/gpt-5.1-codex",
1848
+ "openai/gpt-5.1-codex-max",
1849
+ "openai/gpt-5.1-codex-mini",
1318
1850
  "openai/o3",
1319
1851
  "openai/o3-mini",
1320
1852
  "openai/o4-mini"
@@ -1338,7 +1870,7 @@ var provider_registry_default = {
1338
1870
  "kimi-k2-thinking-turbo",
1339
1871
  "kimi-k2-turbo-preview"
1340
1872
  ],
1341
- "zai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1873
+ "zai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
1342
1874
  alibaba: [
1343
1875
  "qvq-max",
1344
1876
  "qwen-flash",
@@ -1396,6 +1928,8 @@ var provider_registry_default = {
1396
1928
  "grok-3-mini-fast-latest",
1397
1929
  "grok-3-mini-latest",
1398
1930
  "grok-4",
1931
+ "grok-4-1-fast",
1932
+ "grok-4-1-fast-non-reasoning",
1399
1933
  "grok-4-fast",
1400
1934
  "grok-4-fast-non-reasoning",
1401
1935
  "grok-beta",
@@ -1416,8 +1950,12 @@ var provider_registry_default = {
1416
1950
  "google/gemma-3-27b-it",
1417
1951
  "microsoft/phi-4-mini-instruct",
1418
1952
  "minimaxai/minimax-m2",
1953
+ "mistralai/devstral-2-123b-instruct-2512",
1954
+ "mistralai/ministral-14b-instruct-2512",
1955
+ "mistralai/mistral-large-3-675b-instruct-2512",
1419
1956
  "moonshotai/kimi-k2-instruct",
1420
1957
  "moonshotai/kimi-k2-instruct-0905",
1958
+ "moonshotai/kimi-k2-thinking",
1421
1959
  "nvidia/cosmos-nemotron-34b",
1422
1960
  "nvidia/llama-3.1-nemotron-ultra-253b-v1",
1423
1961
  "nvidia/llama-embed-nemotron-8b",
@@ -1451,15 +1989,20 @@ var provider_registry_default = {
1451
1989
  "qwen-qwq-32b",
1452
1990
  "qwen/qwen3-32b"
1453
1991
  ],
1992
+ bailing: ["Ling-1T", "Ring-1T"],
1454
1993
  mistral: [
1455
1994
  "codestral-latest",
1456
1995
  "devstral-medium-2507",
1996
+ "devstral-medium-latest",
1457
1997
  "devstral-small-2505",
1458
1998
  "devstral-small-2507",
1999
+ "labs-devstral-small-2512",
1459
2000
  "magistral-medium-latest",
1460
2001
  "magistral-small",
1461
2002
  "ministral-3b-latest",
1462
2003
  "ministral-8b-latest",
2004
+ "mistral-large-2411",
2005
+ "mistral-large-2512",
1463
2006
  "mistral-large-latest",
1464
2007
  "mistral-medium-2505",
1465
2008
  "mistral-medium-2508",
@@ -1492,7 +2035,7 @@ var provider_registry_default = {
1492
2035
  "anthropic/claude-4-sonnet",
1493
2036
  "anthropic/claude-4.5-sonnet",
1494
2037
  "anthropic/claude-haiku-4.5",
1495
- "cerebras/qwen3-coder",
2038
+ "anthropic/claude-opus-4.5",
1496
2039
  "deepseek/deepseek-r1",
1497
2040
  "deepseek/deepseek-r1-distill-llama-70b",
1498
2041
  "deepseek/deepseek-v3.1-terminus",
@@ -1505,6 +2048,7 @@ var provider_registry_default = {
1505
2048
  "google/gemini-2.5-flash-lite-preview-09-2025",
1506
2049
  "google/gemini-2.5-flash-preview-09-2025",
1507
2050
  "google/gemini-2.5-pro",
2051
+ "google/gemini-3-pro-preview",
1508
2052
  "meta/llama-3.3-70b",
1509
2053
  "meta/llama-4-maverick",
1510
2054
  "meta/llama-4-scout",
@@ -1641,18 +2185,23 @@ var provider_registry_default = {
1641
2185
  "tongyi-intent-detect-v3"
1642
2186
  ],
1643
2187
  venice: [
1644
- "deepseek-coder-v2-lite",
1645
- "deepseek-r1-671b",
1646
- "dolphin-2.9.2-qwen2-72b",
1647
- "llama-3.1-405b",
2188
+ "claude-opus-45",
2189
+ "deepseek-v3.2",
2190
+ "gemini-3-pro-preview",
2191
+ "google-gemma-3-27b-it",
2192
+ "grok-41-fast",
2193
+ "hermes-3-llama-3.1-405b",
2194
+ "kimi-k2-thinking",
1648
2195
  "llama-3.2-3b",
1649
2196
  "llama-3.3-70b",
1650
2197
  "mistral-31-24b",
1651
- "qwen-2.5-coder-32b",
1652
- "qwen-2.5-qwq-32b",
1653
- "qwen-2.5-vl",
2198
+ "openai-gpt-oss-120b",
1654
2199
  "qwen3-235b",
2200
+ "qwen3-235b-a22b-instruct-2507",
2201
+ "qwen3-235b-a22b-thinking-2507",
1655
2202
  "qwen3-4b",
2203
+ "qwen3-coder-480b-a35b-instruct",
2204
+ "qwen3-next-80b",
1656
2205
  "venice-uncensored",
1657
2206
  "zai-org-glm-4.6"
1658
2207
  ],
@@ -1691,7 +2240,8 @@ var provider_registry_default = {
1691
2240
  "deepseek-ai/DeepSeek-V3-0324",
1692
2241
  "deepseek-ai/DeepSeek-V3.1",
1693
2242
  "deepseek-ai/DeepSeek-V3.1-Terminus",
1694
- "deepseek-ai/DeepSeek-V3.2-Exp",
2243
+ "deepseek-ai/DeepSeek-V3.2",
2244
+ "deepseek-ai/DeepSeek-V3.2-Speciale",
1695
2245
  "meituan-longcat/LongCat-Flash-Chat-FP8",
1696
2246
  "microsoft/MAI-DS-R1-FP8",
1697
2247
  "moonshotai/Kimi-K2-Instruct-0905",
@@ -1701,6 +2251,7 @@ var provider_registry_default = {
1701
2251
  "rednote-hilab/dots.ocr",
1702
2252
  "tngtech/DeepSeek-R1T-Chimera",
1703
2253
  "tngtech/DeepSeek-TNG-R1T2-Chimera",
2254
+ "tngtech/TNG-R1T-Chimera",
1704
2255
  "unsloth/Mistral-Nemo-Instruct-2407",
1705
2256
  "unsloth/Mistral-Small-24B-Instruct-2501",
1706
2257
  "unsloth/gemma-3-12b-it",
@@ -1710,6 +2261,7 @@ var provider_registry_default = {
1710
2261
  "zai-org/GLM-4.5-Air",
1711
2262
  "zai-org/GLM-4.6"
1712
2263
  ],
2264
+ "kimi-for-coding": ["kimi-k2-thinking"],
1713
2265
  cortecs: [
1714
2266
  "claude-4-5-sonnet",
1715
2267
  "claude-sonnet-4",
@@ -1788,7 +2340,180 @@ var provider_registry_default = {
1788
2340
  "moonshotai/Kimi-K2-Instruct",
1789
2341
  "openai/gpt-oss-120b"
1790
2342
  ],
1791
- baseten: ["Qwen/Qwen3-Coder-480B-A35B-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.6"],
2343
+ baseten: [
2344
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct",
2345
+ "deepseek-ai/DeepSeek-V3.2",
2346
+ "moonshotai/Kimi-K2-Instruct-0905",
2347
+ "moonshotai/Kimi-K2-Thinking",
2348
+ "zai-org/GLM-4.6"
2349
+ ],
2350
+ siliconflow: [
2351
+ "baidu-ernie-4.5-300b-a47b",
2352
+ "bytedance-seed-seed-oss-36b-instruct",
2353
+ "deepseek-ai-deepseek-r1",
2354
+ "deepseek-ai-deepseek-r1-distill-qwen-14b",
2355
+ "deepseek-ai-deepseek-r1-distill-qwen-32b",
2356
+ "deepseek-ai-deepseek-r1-distill-qwen-7b",
2357
+ "deepseek-ai-deepseek-v3",
2358
+ "deepseek-ai-deepseek-v3.1",
2359
+ "deepseek-ai-deepseek-v3.1-terminus",
2360
+ "deepseek-ai-deepseek-v3.2-exp",
2361
+ "deepseek-ai-deepseek-vl2",
2362
+ "inclusionai-ling-flash-2.0",
2363
+ "inclusionai-ling-mini-2.0",
2364
+ "inclusionai-ring-flash-2.0",
2365
+ "meta-llama-meta-llama-3.1-8b-instruct",
2366
+ "minimaxai-minimax-m1-80k",
2367
+ "minimaxai-minimax-m2",
2368
+ "moonshotai-kimi-dev-72b",
2369
+ "moonshotai-kimi-k2-instruct",
2370
+ "moonshotai-kimi-k2-instruct-0905",
2371
+ "moonshotai-kimi-k2-thinking",
2372
+ "nex-agi-deepseek-v3.1-nex-n1",
2373
+ "openai-gpt-oss-120b",
2374
+ "openai-gpt-oss-20b",
2375
+ "qwen-qwen2.5-14b-instruct",
2376
+ "qwen-qwen2.5-32b-instruct",
2377
+ "qwen-qwen2.5-72b-instruct",
2378
+ "qwen-qwen2.5-72b-instruct-128k",
2379
+ "qwen-qwen2.5-7b-instruct",
2380
+ "qwen-qwen2.5-coder-32b-instruct",
2381
+ "qwen-qwen2.5-vl-32b-instruct",
2382
+ "qwen-qwen2.5-vl-72b-instruct",
2383
+ "qwen-qwen2.5-vl-7b-instruct",
2384
+ "qwen-qwen3-14b",
2385
+ "qwen-qwen3-235b-a22b",
2386
+ "qwen-qwen3-235b-a22b-instruct-2507",
2387
+ "qwen-qwen3-235b-a22b-thinking-2507",
2388
+ "qwen-qwen3-30b-a3b",
2389
+ "qwen-qwen3-30b-a3b-instruct-2507",
2390
+ "qwen-qwen3-30b-a3b-thinking-2507",
2391
+ "qwen-qwen3-32b",
2392
+ "qwen-qwen3-8b",
2393
+ "qwen-qwen3-coder-30b-a3b-instruct",
2394
+ "qwen-qwen3-coder-480b-a35b-instruct",
2395
+ "qwen-qwen3-next-80b-a3b-instruct",
2396
+ "qwen-qwen3-next-80b-a3b-thinking",
2397
+ "qwen-qwen3-omni-30b-a3b-captioner",
2398
+ "qwen-qwen3-omni-30b-a3b-instruct",
2399
+ "qwen-qwen3-omni-30b-a3b-thinking",
2400
+ "qwen-qwen3-vl-235b-a22b-instruct",
2401
+ "qwen-qwen3-vl-235b-a22b-thinking",
2402
+ "qwen-qwen3-vl-30b-a3b-instruct",
2403
+ "qwen-qwen3-vl-30b-a3b-thinking",
2404
+ "qwen-qwen3-vl-32b-instruct",
2405
+ "qwen-qwen3-vl-32b-thinking",
2406
+ "qwen-qwen3-vl-8b-instruct",
2407
+ "qwen-qwen3-vl-8b-thinking",
2408
+ "qwen-qwq-32b",
2409
+ "stepfun-ai-step3",
2410
+ "tencent-hunyuan-a13b-instruct",
2411
+ "tencent-hunyuan-mt-7b",
2412
+ "thudm-glm-4-32b-0414",
2413
+ "thudm-glm-4-9b-0414",
2414
+ "thudm-glm-4.1v-9b-thinking",
2415
+ "thudm-glm-z1-32b-0414",
2416
+ "thudm-glm-z1-9b-0414",
2417
+ "z-ai-glm-4.5",
2418
+ "z-ai-glm-4.5-air",
2419
+ "zai-org-glm-4.5",
2420
+ "zai-org-glm-4.5-air",
2421
+ "zai-org-glm-4.5v",
2422
+ "zai-org-glm-4.6"
2423
+ ],
2424
+ helicone: [
2425
+ "chatgpt-4o-latest",
2426
+ "claude-3-haiku-20240307",
2427
+ "claude-3.5-haiku",
2428
+ "claude-3.5-sonnet-v2",
2429
+ "claude-3.7-sonnet",
2430
+ "claude-4.5-haiku",
2431
+ "claude-4.5-opus",
2432
+ "claude-4.5-sonnet",
2433
+ "claude-haiku-4-5-20251001",
2434
+ "claude-opus-4",
2435
+ "claude-opus-4-1",
2436
+ "claude-opus-4-1-20250805",
2437
+ "claude-sonnet-4",
2438
+ "claude-sonnet-4-5-20250929",
2439
+ "codex-mini-latest",
2440
+ "deepseek-r1-distill-llama-70b",
2441
+ "deepseek-reasoner",
2442
+ "deepseek-tng-r1t2-chimera",
2443
+ "deepseek-v3",
2444
+ "deepseek-v3.1-terminus",
2445
+ "deepseek-v3.2",
2446
+ "ernie-4.5-21b-a3b-thinking",
2447
+ "gemini-2.5-flash",
2448
+ "gemini-2.5-flash-lite",
2449
+ "gemini-2.5-pro",
2450
+ "gemini-3-pro-preview",
2451
+ "gemma-3-12b-it",
2452
+ "gemma2-9b-it",
2453
+ "glm-4.6",
2454
+ "gpt-4.1",
2455
+ "gpt-4.1-mini",
2456
+ "gpt-4.1-mini-2025-04-14",
2457
+ "gpt-4.1-nano",
2458
+ "gpt-4o",
2459
+ "gpt-4o-mini",
2460
+ "gpt-5",
2461
+ "gpt-5-chat-latest",
2462
+ "gpt-5-codex",
2463
+ "gpt-5-mini",
2464
+ "gpt-5-nano",
2465
+ "gpt-5-pro",
2466
+ "gpt-5.1",
2467
+ "gpt-5.1-chat-latest",
2468
+ "gpt-5.1-codex",
2469
+ "gpt-5.1-codex-mini",
2470
+ "gpt-oss-120b",
2471
+ "gpt-oss-20b",
2472
+ "grok-3",
2473
+ "grok-3-mini",
2474
+ "grok-4",
2475
+ "grok-4-1-fast-non-reasoning",
2476
+ "grok-4-1-fast-reasoning",
2477
+ "grok-4-fast-non-reasoning",
2478
+ "grok-4-fast-reasoning",
2479
+ "grok-code-fast-1",
2480
+ "hermes-2-pro-llama-3-8b",
2481
+ "kimi-k2-0711",
2482
+ "kimi-k2-0905",
2483
+ "kimi-k2-thinking",
2484
+ "llama-3.1-8b-instant",
2485
+ "llama-3.1-8b-instruct",
2486
+ "llama-3.1-8b-instruct-turbo",
2487
+ "llama-3.3-70b-instruct",
2488
+ "llama-3.3-70b-versatile",
2489
+ "llama-4-maverick",
2490
+ "llama-4-scout",
2491
+ "llama-guard-4",
2492
+ "llama-prompt-guard-2-22m",
2493
+ "llama-prompt-guard-2-86m",
2494
+ "mistral-large-2411",
2495
+ "mistral-nemo",
2496
+ "mistral-small",
2497
+ "o1",
2498
+ "o1-mini",
2499
+ "o3",
2500
+ "o3-mini",
2501
+ "o3-pro",
2502
+ "o4-mini",
2503
+ "qwen2.5-coder-7b-fast",
2504
+ "qwen3-235b-a22b-thinking",
2505
+ "qwen3-30b-a3b",
2506
+ "qwen3-32b",
2507
+ "qwen3-coder",
2508
+ "qwen3-coder-30b-a3b-instruct",
2509
+ "qwen3-next-80b-a3b-instruct",
2510
+ "qwen3-vl-235b-a22b-instruct",
2511
+ "sonar",
2512
+ "sonar-deep-research",
2513
+ "sonar-pro",
2514
+ "sonar-reasoning",
2515
+ "sonar-reasoning-pro"
2516
+ ],
1792
2517
  huggingface: [
1793
2518
  "MiniMaxAI/MiniMax-M2",
1794
2519
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
@@ -1806,19 +2531,27 @@ var provider_registry_default = {
1806
2531
  "zai-org/GLM-4.6"
1807
2532
  ],
1808
2533
  opencode: [
1809
- "an-gd4",
2534
+ "alpha-doubao-seed-code",
2535
+ "alpha-gd4",
2536
+ "alpha-minimax-m2",
1810
2537
  "big-pickle",
1811
2538
  "claude-3-5-haiku",
1812
2539
  "claude-haiku-4-5",
1813
2540
  "claude-opus-4-1",
2541
+ "claude-opus-4-5",
1814
2542
  "claude-sonnet-4",
1815
2543
  "claude-sonnet-4-5",
2544
+ "gemini-3-pro",
1816
2545
  "glm-4.6",
1817
2546
  "gpt-5",
1818
2547
  "gpt-5-codex",
2548
+ "gpt-5-nano",
2549
+ "gpt-5.1",
2550
+ "gpt-5.1-codex",
2551
+ "gpt-5.1-codex-max",
1819
2552
  "grok-code",
1820
2553
  "kimi-k2",
1821
- "minimax-m2",
2554
+ "kimi-k2-thinking",
1822
2555
  "qwen3-coder"
1823
2556
  ],
1824
2557
  fastrouter: [
@@ -1837,6 +2570,7 @@ var provider_registry_default = {
1837
2570
  "qwen/qwen3-coder",
1838
2571
  "x-ai/grok-4"
1839
2572
  ],
2573
+ minimax: ["MiniMax-M2"],
1840
2574
  google: [
1841
2575
  "gemini-1.5-flash",
1842
2576
  "gemini-1.5-flash-8b",
@@ -1857,6 +2591,7 @@ var provider_registry_default = {
1857
2591
  "gemini-2.5-pro-preview-05-06",
1858
2592
  "gemini-2.5-pro-preview-06-05",
1859
2593
  "gemini-2.5-pro-preview-tts",
2594
+ "gemini-3-pro-preview",
1860
2595
  "gemini-embedding-001",
1861
2596
  "gemini-flash-latest",
1862
2597
  "gemini-flash-lite-latest",
@@ -1876,6 +2611,85 @@ var provider_registry_default = {
1876
2611
  "microsoft/Phi-4-mini-instruct",
1877
2612
  "moonshotai/Kimi-K2-Instruct"
1878
2613
  ],
2614
+ "cloudflare-ai-gateway": [
2615
+ "anthropic/claude-3-5-haiku",
2616
+ "anthropic/claude-3-haiku",
2617
+ "anthropic/claude-3-opus",
2618
+ "anthropic/claude-3-sonnet",
2619
+ "anthropic/claude-3.5-haiku",
2620
+ "anthropic/claude-3.5-sonnet",
2621
+ "anthropic/claude-haiku-4-5",
2622
+ "anthropic/claude-haiku-4.5",
2623
+ "anthropic/claude-opus-4",
2624
+ "anthropic/claude-opus-4-1",
2625
+ "anthropic/claude-opus-4-5",
2626
+ "anthropic/claude-opus-4.1",
2627
+ "anthropic/claude-opus-4.5",
2628
+ "anthropic/claude-sonnet-4",
2629
+ "anthropic/claude-sonnet-4-5",
2630
+ "anthropic/claude-sonnet-4.5",
2631
+ "openai/gpt-3.5-turbo",
2632
+ "openai/gpt-4",
2633
+ "openai/gpt-4-turbo",
2634
+ "openai/gpt-4o",
2635
+ "openai/gpt-4o-mini",
2636
+ "openai/gpt-5.1",
2637
+ "openai/gpt-5.1-codex",
2638
+ "openai/o1",
2639
+ "openai/o1-mini",
2640
+ "openai/o1-preview",
2641
+ "openai/o3",
2642
+ "openai/o3-mini",
2643
+ "openai/o3-pro",
2644
+ "openai/o4-mini",
2645
+ "replicate/deepseek-ai/deepseek-r1",
2646
+ "replicate/meta/meta-llama-3-70b-instruct",
2647
+ "replicate/meta/meta-llama-3-8b-instruct",
2648
+ "replicate/meta/meta-llama-3.1-405b-instruct",
2649
+ "replicate/replicate-internal/llama-405b-instruct-vllm",
2650
+ "workers-ai/aura-1",
2651
+ "workers-ai/aura-2-en",
2652
+ "workers-ai/aura-2-es",
2653
+ "workers-ai/bart-large-cnn",
2654
+ "workers-ai/bge-base-en-v1.5",
2655
+ "workers-ai/bge-large-en-v1.5",
2656
+ "workers-ai/bge-m3",
2657
+ "workers-ai/bge-reranker-base",
2658
+ "workers-ai/bge-small-en-v1.5",
2659
+ "workers-ai/deepseek-r1-distill-qwen-32b",
2660
+ "workers-ai/distilbert-sst-2-int8",
2661
+ "workers-ai/gemma-3-12b-it",
2662
+ "workers-ai/gemma-sea-lion-v4-27b-it",
2663
+ "workers-ai/gpt-oss-120b",
2664
+ "workers-ai/gpt-oss-20b",
2665
+ "workers-ai/granite-4.0-h-micro",
2666
+ "workers-ai/indictrans2-en-indic-1B",
2667
+ "workers-ai/llama-2-7b-chat-fp16",
2668
+ "workers-ai/llama-3-8b-instruct",
2669
+ "workers-ai/llama-3-8b-instruct-awq",
2670
+ "workers-ai/llama-3.1-8b-instruct",
2671
+ "workers-ai/llama-3.1-8b-instruct-awq",
2672
+ "workers-ai/llama-3.1-8b-instruct-fp8",
2673
+ "workers-ai/llama-3.2-11b-vision-instruct",
2674
+ "workers-ai/llama-3.2-1b-instruct",
2675
+ "workers-ai/llama-3.2-3b-instruct",
2676
+ "workers-ai/llama-3.3-70b-instruct-fp8-fast",
2677
+ "workers-ai/llama-4-scout-17b-16e-instruct",
2678
+ "workers-ai/llama-guard-3-8b",
2679
+ "workers-ai/m2m100-1.2b",
2680
+ "workers-ai/melotts",
2681
+ "workers-ai/mistral-7b-instruct-v0.1",
2682
+ "workers-ai/mistral-small-3.1-24b-instruct",
2683
+ "workers-ai/nova-3",
2684
+ "workers-ai/plamo-embedding-1b",
2685
+ "workers-ai/qwen2.5-coder-32b-instruct",
2686
+ "workers-ai/qwen3-30b-a3b-fp8",
2687
+ "workers-ai/qwen3-embedding-0.6b",
2688
+ "workers-ai/qwq-32b",
2689
+ "workers-ai/smart-turn-v2",
2690
+ "workers-ai/whisper",
2691
+ "workers-ai/whisper-large-v3-turbo"
2692
+ ],
1879
2693
  openai: [
1880
2694
  "codex-mini-latest",
1881
2695
  "gpt-3.5-turbo",
@@ -1895,6 +2709,11 @@ var provider_registry_default = {
1895
2709
  "gpt-5-mini",
1896
2710
  "gpt-5-nano",
1897
2711
  "gpt-5-pro",
2712
+ "gpt-5.1",
2713
+ "gpt-5.1-chat-latest",
2714
+ "gpt-5.1-codex",
2715
+ "gpt-5.1-codex-max",
2716
+ "gpt-5.1-codex-mini",
1898
2717
  "o1",
1899
2718
  "o1-mini",
1900
2719
  "o1-preview",
@@ -1909,7 +2728,8 @@ var provider_registry_default = {
1909
2728
  "text-embedding-3-small",
1910
2729
  "text-embedding-ada-002"
1911
2730
  ],
1912
- "zhipuai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
2731
+ "zhipuai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
2732
+ "minimax-cn": ["MiniMax-M2"],
1913
2733
  perplexity: ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
1914
2734
  openrouter: [
1915
2735
  "anthropic/claude-3.5-haiku",
@@ -1917,6 +2737,7 @@ var provider_registry_default = {
1917
2737
  "anthropic/claude-haiku-4.5",
1918
2738
  "anthropic/claude-opus-4",
1919
2739
  "anthropic/claude-opus-4.1",
2740
+ "anthropic/claude-opus-4.5",
1920
2741
  "anthropic/claude-sonnet-4",
1921
2742
  "anthropic/claude-sonnet-4.5",
1922
2743
  "cognitivecomputations/dolphin3.0-mistral-24b",
@@ -1931,6 +2752,8 @@ var provider_registry_default = {
1931
2752
  "deepseek/deepseek-v3-base:free",
1932
2753
  "deepseek/deepseek-v3.1-terminus",
1933
2754
  "deepseek/deepseek-v3.1-terminus:exacto",
2755
+ "deepseek/deepseek-v3.2",
2756
+ "deepseek/deepseek-v3.2-speciale",
1934
2757
  "featherless/qwerky-72b",
1935
2758
  "google/gemini-2.0-flash-001",
1936
2759
  "google/gemini-2.0-flash-exp:free",
@@ -1941,18 +2764,20 @@ var provider_registry_default = {
1941
2764
  "google/gemini-2.5-pro",
1942
2765
  "google/gemini-2.5-pro-preview-05-06",
1943
2766
  "google/gemini-2.5-pro-preview-06-05",
2767
+ "google/gemini-3-pro-preview",
1944
2768
  "google/gemma-2-9b-it:free",
1945
2769
  "google/gemma-3-12b-it",
1946
2770
  "google/gemma-3-27b-it",
1947
2771
  "google/gemma-3n-e4b-it",
1948
2772
  "google/gemma-3n-e4b-it:free",
2773
+ "kwaipilot/kat-coder-pro:free",
1949
2774
  "meta-llama/llama-3.2-11b-vision-instruct",
1950
2775
  "meta-llama/llama-3.3-70b-instruct:free",
1951
2776
  "meta-llama/llama-4-scout:free",
1952
2777
  "microsoft/mai-ds-r1:free",
1953
2778
  "minimax/minimax-01",
1954
2779
  "minimax/minimax-m1",
1955
- "minimax/minimax-m2:free",
2780
+ "minimax/minimax-m2",
1956
2781
  "mistralai/codestral-2508",
1957
2782
  "mistralai/devstral-medium-2507",
1958
2783
  "mistralai/devstral-small-2505",
@@ -1985,16 +2810,15 @@ var provider_registry_default = {
1985
2810
  "openai/gpt-5-mini",
1986
2811
  "openai/gpt-5-nano",
1987
2812
  "openai/gpt-5-pro",
2813
+ "openai/gpt-5.1",
2814
+ "openai/gpt-5.1-chat",
2815
+ "openai/gpt-5.1-codex",
2816
+ "openai/gpt-5.1-codex-mini",
1988
2817
  "openai/gpt-oss-120b",
1989
2818
  "openai/gpt-oss-120b:exacto",
1990
2819
  "openai/gpt-oss-20b",
2820
+ "openai/gpt-oss-safeguard-20b",
1991
2821
  "openai/o4-mini",
1992
- "openrouter/cypher-alpha:free",
1993
- "openrouter/horizon-alpha",
1994
- "openrouter/horizon-beta",
1995
- "openrouter/polaris-alpha",
1996
- "openrouter/sonoma-dusk-alpha",
1997
- "openrouter/sonoma-sky-alpha",
1998
2822
  "qwen/qwen-2.5-coder-32b-instruct",
1999
2823
  "qwen/qwen2.5-vl-32b-instruct:free",
2000
2824
  "qwen/qwen2.5-vl-72b-instruct",
@@ -2010,6 +2834,7 @@ var provider_registry_default = {
2010
2834
  "qwen/qwen3-32b:free",
2011
2835
  "qwen/qwen3-8b:free",
2012
2836
  "qwen/qwen3-coder",
2837
+ "qwen/qwen3-coder-flash",
2013
2838
  "qwen/qwen3-coder:exacto",
2014
2839
  "qwen/qwen3-coder:free",
2015
2840
  "qwen/qwen3-max",
@@ -2026,6 +2851,7 @@ var provider_registry_default = {
2026
2851
  "x-ai/grok-3-mini-beta",
2027
2852
  "x-ai/grok-4",
2028
2853
  "x-ai/grok-4-fast",
2854
+ "x-ai/grok-4.1-fast",
2029
2855
  "x-ai/grok-code-fast-1",
2030
2856
  "z-ai/glm-4.5",
2031
2857
  "z-ai/glm-4.5-air",
@@ -2043,7 +2869,10 @@ var provider_registry_default = {
2043
2869
  "inclusionai/lint-1t",
2044
2870
  "inclusionai/ring-1t",
2045
2871
  "kuaishou/kat-coder-pro-v1",
2872
+ "minimax/minimax-m2",
2046
2873
  "moonshotai/kimi-k2-0905",
2874
+ "moonshotai/kimi-k2-thinking",
2875
+ "moonshotai/kimi-k2-thinking-turbo",
2047
2876
  "openai/gpt-5",
2048
2877
  "openai/gpt-5-codex",
2049
2878
  "qwen/qwen3-coder-plus",
@@ -2054,14 +2883,34 @@ var provider_registry_default = {
2054
2883
  "z-ai/glm-4.5-air",
2055
2884
  "z-ai/glm-4.6"
2056
2885
  ],
2886
+ ovhcloud: [
2887
+ "deepseek-r1-distill-llama-70b",
2888
+ "gpt-oss-120b",
2889
+ "gpt-oss-20b",
2890
+ "llama-3.1-8b-instruct",
2891
+ "llava-next-mistral-7b",
2892
+ "meta-llama-3_1-70b-instruct",
2893
+ "meta-llama-3_3-70b-instruct",
2894
+ "mistral-7b-instruct-v0.3",
2895
+ "mistral-nemo-instruct-2407",
2896
+ "mistral-small-3.2-24b-instruct-2506",
2897
+ "mixtral-8x7b-instruct-v0.1",
2898
+ "qwen2.5-coder-32b-instruct",
2899
+ "qwen2.5-vl-72b-instruct",
2900
+ "qwen3-32b",
2901
+ "qwen3-coder-30b-a3b-instruct"
2902
+ ],
2057
2903
  iflowcn: [
2058
2904
  "deepseek-r1",
2059
2905
  "deepseek-v3",
2060
2906
  "deepseek-v3.1",
2061
2907
  "deepseek-v3.2",
2908
+ "deepseek-v3.2-chat",
2062
2909
  "glm-4.6",
2063
2910
  "kimi-k2",
2064
2911
  "kimi-k2-0905",
2912
+ "kimi-k2-thinking",
2913
+ "minimax-m2",
2065
2914
  "qwen3-235b",
2066
2915
  "qwen3-235b-a22b-instruct",
2067
2916
  "qwen3-235b-a22b-thinking-2507",
@@ -2085,6 +2934,7 @@ var provider_registry_default = {
2085
2934
  "hf:deepseek-ai/DeepSeek-V3-0324",
2086
2935
  "hf:deepseek-ai/DeepSeek-V3.1",
2087
2936
  "hf:deepseek-ai/DeepSeek-V3.1-Terminus",
2937
+ "hf:deepseek-ai/DeepSeek-V3.2",
2088
2938
  "hf:meta-llama/Llama-3.1-405B-Instruct",
2089
2939
  "hf:meta-llama/Llama-3.1-70B-Instruct",
2090
2940
  "hf:meta-llama/Llama-3.1-8B-Instruct",
@@ -2106,7 +2956,7 @@ var provider_registry_default = {
2106
2956
  "openai/gpt-oss-20b",
2107
2957
  "zai-org/GLM-4.5"
2108
2958
  ],
2109
- zhipuai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
2959
+ zhipuai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
2110
2960
  submodel: [
2111
2961
  "Qwen/Qwen3-235B-A22B-Instruct-2507",
2112
2962
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
@@ -2118,7 +2968,7 @@ var provider_registry_default = {
2118
2968
  "zai-org/GLM-4.5-Air",
2119
2969
  "zai-org/GLM-4.5-FP8"
2120
2970
  ],
2121
- zai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
2971
+ zai: ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v"],
2122
2972
  inference: [
2123
2973
  "google/gemma-3",
2124
2974
  "meta/llama-3.1-8b-instruct",
@@ -2132,18 +2982,24 @@ var provider_registry_default = {
2132
2982
  ],
2133
2983
  requesty: [
2134
2984
  "anthropic/claude-3-7-sonnet",
2135
- "anthropic/claude-4-sonnet-20250522",
2985
+ "anthropic/claude-haiku-4-5",
2136
2986
  "anthropic/claude-opus-4",
2137
- "anthropic/claude-opus-4-1-20250805",
2987
+ "anthropic/claude-opus-4-1",
2988
+ "anthropic/claude-opus-4-5",
2989
+ "anthropic/claude-sonnet-4",
2990
+ "anthropic/claude-sonnet-4-5",
2138
2991
  "google/gemini-2.5-flash",
2139
2992
  "google/gemini-2.5-pro",
2993
+ "google/gemini-3-pro-preview",
2140
2994
  "openai/gpt-4.1",
2141
2995
  "openai/gpt-4.1-mini",
2142
2996
  "openai/gpt-4o-mini",
2143
2997
  "openai/gpt-5",
2144
2998
  "openai/gpt-5-mini",
2145
2999
  "openai/gpt-5-nano",
2146
- "openai/o4-mini"
3000
+ "openai/o4-mini",
3001
+ "xai/grok-4",
3002
+ "xai/grok-4-fast"
2147
3003
  ],
2148
3004
  morph: ["auto", "morph-v3-fast", "morph-v3-large"],
2149
3005
  lmstudio: ["openai/gpt-oss-20b", "qwen/qwen3-30b-a3b-2507", "qwen/qwen3-coder-30b"],
@@ -2163,6 +3019,8 @@ var provider_registry_default = {
2163
3019
  "claude-opus-4-1",
2164
3020
  "claude-opus-4-1-20250805",
2165
3021
  "claude-opus-4-20250514",
3022
+ "claude-opus-4-5",
3023
+ "claude-opus-4-5-20251101",
2166
3024
  "claude-sonnet-4-0",
2167
3025
  "claude-sonnet-4-20250514",
2168
3026
  "claude-sonnet-4-5",
@@ -2177,10 +3035,30 @@ var provider_registry_default = {
2177
3035
  "accounts/fireworks/models/gpt-oss-120b",
2178
3036
  "accounts/fireworks/models/gpt-oss-20b",
2179
3037
  "accounts/fireworks/models/kimi-k2-instruct",
3038
+ "accounts/fireworks/models/kimi-k2-thinking",
2180
3039
  "accounts/fireworks/models/minimax-m2",
2181
3040
  "accounts/fireworks/models/qwen3-235b-a22b",
2182
3041
  "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
2183
3042
  ],
3043
+ "io-net": [
3044
+ "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
3045
+ "Qwen/Qwen2.5-VL-32B-Instruct",
3046
+ "Qwen/Qwen3-235B-A22B-Thinking-2507",
3047
+ "Qwen/Qwen3-Next-80B-A3B-Instruct",
3048
+ "deepseek-ai/DeepSeek-R1-0528",
3049
+ "meta-llama/Llama-3.2-90B-Vision-Instruct",
3050
+ "meta-llama/Llama-3.3-70B-Instruct",
3051
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
3052
+ "mistralai/Devstral-Small-2505",
3053
+ "mistralai/Magistral-Small-2506",
3054
+ "mistralai/Mistral-Large-Instruct-2411",
3055
+ "mistralai/Mistral-Nemo-Instruct-2407",
3056
+ "moonshotai/Kimi-K2-Instruct-0905",
3057
+ "moonshotai/Kimi-K2-Thinking",
3058
+ "openai/gpt-oss-120b",
3059
+ "openai/gpt-oss-20b",
3060
+ "zai-org/GLM-4.6"
3061
+ ],
2184
3062
  modelscope: [
2185
3063
  "Qwen/Qwen3-235B-A22B-Instruct-2507",
2186
3064
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
@@ -2214,26 +3092,132 @@ var provider_registry_default = {
2214
3092
  "voxtral-small-24b-2507",
2215
3093
  "whisper-large-v3"
2216
3094
  ],
2217
- cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "qwen-3-coder-480b", "zai-glm-4.6"],
3095
+ poe: [
3096
+ "anthropic/claude-haiku-3",
3097
+ "anthropic/claude-haiku-3.5",
3098
+ "anthropic/claude-haiku-3.5-search",
3099
+ "anthropic/claude-haiku-4.5",
3100
+ "anthropic/claude-opus-3",
3101
+ "anthropic/claude-opus-4",
3102
+ "anthropic/claude-opus-4-reasoning",
3103
+ "anthropic/claude-opus-4-search",
3104
+ "anthropic/claude-opus-4.1",
3105
+ "anthropic/claude-opus-4.5",
3106
+ "anthropic/claude-sonnet-3.5",
3107
+ "anthropic/claude-sonnet-3.5-june",
3108
+ "anthropic/claude-sonnet-3.7",
3109
+ "anthropic/claude-sonnet-3.7-reasoning",
3110
+ "anthropic/claude-sonnet-3.7-search",
3111
+ "anthropic/claude-sonnet-4",
3112
+ "anthropic/claude-sonnet-4-reasoning",
3113
+ "anthropic/claude-sonnet-4-search",
3114
+ "anthropic/claude-sonnet-4.5",
3115
+ "elevenlabs/elevenlabs-music",
3116
+ "elevenlabs/elevenlabs-v2.5-turbo",
3117
+ "elevenlabs/elevenlabs-v3",
3118
+ "google/gemini-2.0-flash",
3119
+ "google/gemini-2.0-flash-lite",
3120
+ "google/gemini-2.5-flash",
3121
+ "google/gemini-2.5-flash-lite",
3122
+ "google/gemini-2.5-pro",
3123
+ "google/gemini-3-pro",
3124
+ "google/imagen-3",
3125
+ "google/imagen-3-fast",
3126
+ "google/imagen-4",
3127
+ "google/imagen-4-fast",
3128
+ "google/imagen-4-ultra",
3129
+ "google/lyria",
3130
+ "google/nano-banana",
3131
+ "google/nano-banana-pro",
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
+ "novita/kimi-k2-thinking",
3145
+ "openai/chatgpt-4o-latest",
3146
+ "openai/dall-e-3",
3147
+ "openai/gpt-3.5-turbo",
3148
+ "openai/gpt-3.5-turbo-instruct",
3149
+ "openai/gpt-3.5-turbo-raw",
3150
+ "openai/gpt-4-classic",
3151
+ "openai/gpt-4-classic-0314",
3152
+ "openai/gpt-4-turbo",
3153
+ "openai/gpt-4.1",
3154
+ "openai/gpt-4.1-mini",
3155
+ "openai/gpt-4.1-nano",
3156
+ "openai/gpt-4o",
3157
+ "openai/gpt-4o-aug",
3158
+ "openai/gpt-4o-mini",
3159
+ "openai/gpt-4o-mini-search",
3160
+ "openai/gpt-4o-search",
3161
+ "openai/gpt-5",
3162
+ "openai/gpt-5-chat",
3163
+ "openai/gpt-5-codex",
3164
+ "openai/gpt-5-mini",
3165
+ "openai/gpt-5-nano",
3166
+ "openai/gpt-5-pro",
3167
+ "openai/gpt-5.1",
3168
+ "openai/gpt-5.1-codex",
3169
+ "openai/gpt-5.1-codex-mini",
3170
+ "openai/gpt-5.1-instant",
3171
+ "openai/gpt-image-1",
3172
+ "openai/gpt-image-1-mini",
3173
+ "openai/o1",
3174
+ "openai/o1-pro",
3175
+ "openai/o3",
3176
+ "openai/o3-deep-research",
3177
+ "openai/o3-mini",
3178
+ "openai/o3-mini-high",
3179
+ "openai/o3-pro",
3180
+ "openai/o4-mini",
3181
+ "openai/o4-mini-deep-research",
3182
+ "openai/sora-2",
3183
+ "openai/sora-2-pro",
3184
+ "runwayml/runway",
3185
+ "runwayml/runway-gen-4-turbo",
3186
+ "stabilityai/stablediffusionxl",
3187
+ "topazlabs-co/topazlabs",
3188
+ "trytako/tako",
3189
+ "xai/grok-2",
3190
+ "xai/grok-3",
3191
+ "xai/grok-3-mini",
3192
+ "xai/grok-4",
3193
+ "xai/grok-4-fast-non-reasoning",
3194
+ "xai/grok-4-fast-reasoning",
3195
+ "xai/grok-4.1-fast-non-reasoning",
3196
+ "xai/grok-4.1-fast-reasoning",
3197
+ "xai/grok-code-fast-1"
3198
+ ],
3199
+ cerebras: ["gpt-oss-120b", "qwen-3-235b-a22b-instruct-2507", "zai-glm-4.6"],
2218
3200
  netlify: [
2219
3201
  "anthropic/claude-3-5-haiku-20241022",
2220
- "anthropic/claude-3-5-haiku-latest",
2221
3202
  "anthropic/claude-3-7-sonnet-20250219",
2222
- "anthropic/claude-3-7-sonnet-latest",
2223
3203
  "anthropic/claude-3-haiku-20240307",
2224
3204
  "anthropic/claude-haiku-4-5-20251001",
2225
3205
  "anthropic/claude-opus-4-1-20250805",
2226
3206
  "anthropic/claude-opus-4-20250514",
3207
+ "anthropic/claude-opus-4-5-20251101",
2227
3208
  "anthropic/claude-sonnet-4-20250514",
2228
3209
  "anthropic/claude-sonnet-4-5-20250929",
2229
3210
  "gemini/gemini-2.0-flash",
2230
3211
  "gemini/gemini-2.0-flash-lite",
2231
3212
  "gemini/gemini-2.5-flash",
3213
+ "gemini/gemini-2.5-flash-image",
2232
3214
  "gemini/gemini-2.5-flash-image-preview",
2233
3215
  "gemini/gemini-2.5-flash-lite",
2234
3216
  "gemini/gemini-2.5-flash-lite-preview-09-2025",
2235
3217
  "gemini/gemini-2.5-flash-preview-09-2025",
2236
3218
  "gemini/gemini-2.5-pro",
3219
+ "gemini/gemini-3-pro-image-preview",
3220
+ "gemini/gemini-3-pro-preview",
2237
3221
  "gemini/gemini-flash-latest",
2238
3222
  "gemini/gemini-flash-lite-latest",
2239
3223
  "openai/codex-mini-latest",
@@ -2243,10 +3227,17 @@ var provider_registry_default = {
2243
3227
  "openai/gpt-4o",
2244
3228
  "openai/gpt-4o-mini",
2245
3229
  "openai/gpt-5",
3230
+ "openai/gpt-5-2025-08-07",
2246
3231
  "openai/gpt-5-codex",
2247
3232
  "openai/gpt-5-mini",
3233
+ "openai/gpt-5-mini-2025-08-07",
2248
3234
  "openai/gpt-5-nano",
2249
3235
  "openai/gpt-5-pro",
3236
+ "openai/gpt-5.1",
3237
+ "openai/gpt-5.1-2025-11-13",
3238
+ "openai/gpt-5.1-codex",
3239
+ "openai/gpt-5.1-codex-max",
3240
+ "openai/gpt-5.1-codex-mini",
2250
3241
  "openai/o3",
2251
3242
  "openai/o3-mini",
2252
3243
  "openai/o4-mini"
@@ -2262,6 +3253,20 @@ var CACHE_FILE = () => path.join(CACHE_DIR(), "gateway-refresh-time");
2262
3253
  var GLOBAL_PROVIDER_REGISTRY_JSON = () => path.join(CACHE_DIR(), "provider-registry.json");
2263
3254
  var GLOBAL_PROVIDER_TYPES_DTS = () => path.join(CACHE_DIR(), "provider-types.generated.d.ts");
2264
3255
  var modelRouterCacheFailed = false;
3256
+ function atomicWriteFileSync(filePath, content, encoding = "utf-8") {
3257
+ const randomSuffix = Math.random().toString(36).substring(2, 15);
3258
+ const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;
3259
+ try {
3260
+ fs.writeFileSync(tempPath, content, encoding);
3261
+ fs.renameSync(tempPath, filePath);
3262
+ } catch (error) {
3263
+ try {
3264
+ fs.unlinkSync(tempPath);
3265
+ } catch {
3266
+ }
3267
+ throw error;
3268
+ }
3269
+ }
2265
3270
  function syncGlobalCacheToLocal() {
2266
3271
  try {
2267
3272
  const globalJsonExists = fs.existsSync(GLOBAL_PROVIDER_REGISTRY_JSON());
@@ -2276,13 +3281,25 @@ function syncGlobalCacheToLocal() {
2276
3281
  fs.mkdirSync(path.dirname(localDtsPath), { recursive: true });
2277
3282
  if (globalJsonExists) {
2278
3283
  const globalJsonContent = fs.readFileSync(GLOBAL_PROVIDER_REGISTRY_JSON(), "utf-8");
3284
+ try {
3285
+ JSON.parse(globalJsonContent);
3286
+ } catch {
3287
+ console.warn(
3288
+ `[GatewayRegistry] Detected corrupted global cache at ${GLOBAL_PROVIDER_REGISTRY_JSON()}. Deleting corrupted file.`
3289
+ );
3290
+ try {
3291
+ fs.unlinkSync(GLOBAL_PROVIDER_REGISTRY_JSON());
3292
+ } catch {
3293
+ }
3294
+ return;
3295
+ }
2279
3296
  let shouldCopyJson = true;
2280
3297
  if (fs.existsSync(localJsonPath)) {
2281
3298
  const localJsonContent = fs.readFileSync(localJsonPath, "utf-8");
2282
3299
  shouldCopyJson = globalJsonContent !== localJsonContent;
2283
3300
  }
2284
3301
  if (shouldCopyJson) {
2285
- fs.writeFileSync(localJsonPath, globalJsonContent, "utf-8");
3302
+ atomicWriteFileSync(localJsonPath, globalJsonContent, "utf-8");
2286
3303
  }
2287
3304
  }
2288
3305
  if (globalDtsExists) {
@@ -2293,7 +3310,7 @@ function syncGlobalCacheToLocal() {
2293
3310
  shouldCopyDts = globalDtsContent !== localDtsContent;
2294
3311
  }
2295
3312
  if (shouldCopyDts) {
2296
- fs.writeFileSync(localDtsPath, globalDtsContent, "utf-8");
3313
+ atomicWriteFileSync(localDtsPath, globalDtsContent, "utf-8");
2297
3314
  }
2298
3315
  }
2299
3316
  } catch (error) {
@@ -2358,16 +3375,31 @@ function loadRegistry(useDynamicLoading) {
2358
3375
  registryData = JSON.parse(content);
2359
3376
  return registryData;
2360
3377
  } catch (err) {
2361
- errors.push(`${jsonPath}: ${err instanceof Error ? err.message : String(err)}`);
3378
+ const errorMessage = err instanceof Error ? err.message : String(err);
3379
+ errors.push(`${jsonPath}: ${errorMessage}`);
3380
+ const isFileNotFound = err instanceof Error && "code" in err && err.code === "ENOENT";
3381
+ const isJsonParseError = err instanceof SyntaxError;
3382
+ if (!isFileNotFound && isJsonParseError) {
3383
+ console.warn(
3384
+ `[GatewayRegistry] Detected corrupted provider-registry.json at ${jsonPath}. Deleting corrupted file and falling back to static registry.`
3385
+ );
3386
+ try {
3387
+ fs.unlinkSync(jsonPath);
3388
+ } catch {
3389
+ }
3390
+ registryData = provider_registry_default;
3391
+ return registryData;
3392
+ }
2362
3393
  continue;
2363
3394
  }
2364
3395
  }
2365
- throw new Error(
2366
- `Failed to load provider registry with dynamic loading. Make sure provider-registry.json is generated by running: npm run generate:providers
2367
-
3396
+ console.warn(
3397
+ `[GatewayRegistry] Could not load provider registry from any path. Falling back to static registry.
2368
3398
  Tried paths:
2369
3399
  ${errors.join("\n")}`
2370
3400
  );
3401
+ registryData = provider_registry_default;
3402
+ return registryData;
2371
3403
  }
2372
3404
  var PROVIDER_REGISTRY = new Proxy({}, {
2373
3405
  get(_target, prop) {
@@ -2397,7 +3429,7 @@ var PROVIDER_REGISTRY = new Proxy({}, {
2397
3429
  return void 0;
2398
3430
  }
2399
3431
  });
2400
- new Proxy({}, {
3432
+ var PROVIDER_MODELS = new Proxy({}, {
2401
3433
  get(_target, prop) {
2402
3434
  const registry = GatewayRegistry.getInstance();
2403
3435
  const models = registry.getModels();
@@ -2446,12 +3478,26 @@ function getProviderConfig(providerId) {
2446
3478
  const registry = GatewayRegistry.getInstance();
2447
3479
  return registry.getProviderConfig(providerId);
2448
3480
  }
3481
+ function isProviderRegistered(providerId) {
3482
+ const registry = GatewayRegistry.getInstance();
3483
+ return registry.isProviderRegistered(providerId);
3484
+ }
3485
+ function getRegisteredProviders() {
3486
+ const registry = GatewayRegistry.getInstance();
3487
+ const providers = registry.getProviders();
3488
+ return Object.keys(providers);
3489
+ }
3490
+ function isValidModelId(modelId) {
3491
+ const { provider } = parseModelString(modelId);
3492
+ return provider !== null && isProviderRegistered(provider);
3493
+ }
2449
3494
  var GatewayRegistry = class _GatewayRegistry {
2450
3495
  static instance = null;
2451
3496
  lastRefreshTime = null;
2452
3497
  refreshInterval = null;
2453
3498
  isRefreshing = false;
2454
3499
  useDynamicLoading;
3500
+ customGateways = [];
2455
3501
  constructor(options = {}) {
2456
3502
  const isDev2 = process.env.MASTRA_DEV === "true" || process.env.MASTRA_DEV === "1";
2457
3503
  this.useDynamicLoading = options.useDynamicLoading ?? isDev2;
@@ -2465,6 +3511,19 @@ var GatewayRegistry = class _GatewayRegistry {
2465
3511
  }
2466
3512
  return _GatewayRegistry.instance;
2467
3513
  }
3514
+ /**
3515
+ * Register custom gateways for type generation
3516
+ * @param gateways - Array of custom gateway instances
3517
+ */
3518
+ registerCustomGateways(gateways) {
3519
+ this.customGateways = gateways;
3520
+ }
3521
+ /**
3522
+ * Get all registered custom gateways
3523
+ */
3524
+ getCustomGateways() {
3525
+ return this.customGateways;
3526
+ }
2468
3527
  /**
2469
3528
  * Sync providers from all gateways
2470
3529
  * Requires dynamic loading to be enabled (useDynamicLoading=true).
@@ -2480,11 +3539,12 @@ var GatewayRegistry = class _GatewayRegistry {
2480
3539
  }
2481
3540
  this.isRefreshing = true;
2482
3541
  try {
2483
- const { ModelsDevGateway: ModelsDevGateway2 } = await import('./models-dev-DNBKXHT4.js');
2484
- const { NetlifyGateway: NetlifyGateway2 } = await import('./netlify-7G2L5VSH.js');
2485
- const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-H4YNODDH.js');
2486
- const gateways2 = [new ModelsDevGateway2({}), new NetlifyGateway2()];
2487
- const { providers, models } = await fetchProvidersFromGateways(gateways2);
3542
+ const { ModelsDevGateway } = await import('./models-dev-23RN2WHG.js');
3543
+ const { NetlifyGateway } = await import('./netlify-GXJ5D5DD.js');
3544
+ const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-UMTNPBJX.js');
3545
+ const defaultGateways = [new ModelsDevGateway({}), new NetlifyGateway()];
3546
+ const gateways = [...defaultGateways, ...this.customGateways];
3547
+ const { providers, models } = await fetchProvidersFromGateways(gateways);
2488
3548
  const packageRoot = getPackageRoot();
2489
3549
  try {
2490
3550
  fs.mkdirSync(CACHE_DIR(), { recursive: true });
@@ -2597,255 +3657,6 @@ if (autoRefreshEnabled) {
2597
3657
  GatewayRegistry.getInstance({ useDynamicLoading: isDev }).startAutoRefresh();
2598
3658
  }
2599
3659
 
2600
- // src/llm/model/gateways/index.ts
2601
- function findGatewayForModel(gatewayId, gateways2) {
2602
- const prefixedGateway = gateways2.find((g) => g.prefix && gatewayId.startsWith(`${g.prefix}/`));
2603
- if (prefixedGateway) {
2604
- return prefixedGateway;
2605
- }
2606
- const unprefixedGateways = gateways2.filter((g) => !g.prefix);
2607
- for (const gateway of unprefixedGateways) {
2608
- return gateway;
2609
- }
2610
- throw new MastraError({
2611
- id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
2612
- category: "USER",
2613
- domain: "MODEL_ROUTER",
2614
- text: `No Mastra model router gateway found for model id ${gatewayId}`
2615
- });
2616
- }
2617
-
2618
- // src/llm/model/router.ts
2619
- function getStaticProvidersByGateway(name) {
2620
- return Object.fromEntries(Object.entries(PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));
2621
- }
2622
- var gateways = [new NetlifyGateway(), new ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
2623
- var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2624
- specificationVersion = "v2";
2625
- defaultObjectGenerationMode = "json";
2626
- supportsStructuredOutputs = true;
2627
- supportsImageUrls = true;
2628
- supportedUrls = {};
2629
- modelId;
2630
- provider;
2631
- config;
2632
- gateway;
2633
- constructor(config) {
2634
- let normalizedConfig;
2635
- if (typeof config === "string") {
2636
- normalizedConfig = { id: config };
2637
- } else if ("providerId" in config && "modelId" in config) {
2638
- normalizedConfig = {
2639
- id: `${config.providerId}/${config.modelId}`,
2640
- url: config.url,
2641
- apiKey: config.apiKey,
2642
- headers: config.headers
2643
- };
2644
- } else {
2645
- normalizedConfig = {
2646
- id: config.id,
2647
- url: config.url,
2648
- apiKey: config.apiKey,
2649
- headers: config.headers
2650
- };
2651
- }
2652
- const parsedConfig = {
2653
- ...normalizedConfig,
2654
- routerId: normalizedConfig.id
2655
- };
2656
- this.gateway = findGatewayForModel(normalizedConfig.id, gateways);
2657
- const parsed = parseModelRouterId(normalizedConfig.id, this.gateway.prefix);
2658
- this.provider = parsed.providerId || "openai-compatible";
2659
- if (parsed.providerId && parsed.modelId !== normalizedConfig.id) {
2660
- parsedConfig.id = parsed.modelId;
2661
- }
2662
- this.modelId = parsedConfig.id;
2663
- this.config = parsedConfig;
2664
- }
2665
- async doGenerate() {
2666
- throw new Error(
2667
- "doGenerate is not supported by Mastra model router. Mastra only uses streaming (doStream) for all LLM calls."
2668
- );
2669
- }
2670
- async doStream(options) {
2671
- let apiKey;
2672
- try {
2673
- if (this.config.url) {
2674
- apiKey = this.config.apiKey || "";
2675
- } else {
2676
- apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
2677
- }
2678
- } catch (error) {
2679
- return {
2680
- stream: new ReadableStream({
2681
- start(controller) {
2682
- controller.enqueue({
2683
- type: "error",
2684
- error
2685
- });
2686
- }
2687
- })
2688
- };
2689
- }
2690
- const model = await this.resolveLanguageModel({
2691
- apiKey,
2692
- ...parseModelRouterId(this.config.routerId, this.gateway.prefix)
2693
- });
2694
- return model.doStream(options);
2695
- }
2696
- async resolveLanguageModel({
2697
- modelId,
2698
- providerId,
2699
- apiKey
2700
- }) {
2701
- const key = createHash("sha256").update(this.gateway.name + modelId + providerId + apiKey + (this.config.url || "")).digest("hex");
2702
- if (_ModelRouterLanguageModel.modelInstances.has(key)) return _ModelRouterLanguageModel.modelInstances.get(key);
2703
- if (this.config.url) {
2704
- const modelInstance2 = createOpenAICompatible({
2705
- name: providerId,
2706
- apiKey,
2707
- baseURL: this.config.url,
2708
- headers: this.config.headers,
2709
- supportsStructuredOutputs: true
2710
- }).chatModel(modelId);
2711
- _ModelRouterLanguageModel.modelInstances.set(key, modelInstance2);
2712
- return modelInstance2;
2713
- }
2714
- const modelInstance = await this.gateway.resolveLanguageModel({ modelId, providerId, apiKey });
2715
- _ModelRouterLanguageModel.modelInstances.set(key, modelInstance);
2716
- return modelInstance;
2717
- }
2718
- static modelInstances = /* @__PURE__ */ new Map();
2719
- };
2720
-
2721
- // src/llm/model/resolve-model.ts
2722
- function isOpenAICompatibleObjectConfig(modelConfig) {
2723
- if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) return false;
2724
- if (typeof modelConfig === "object" && !("model" in modelConfig)) {
2725
- if ("id" in modelConfig) return true;
2726
- if ("providerId" in modelConfig && "modelId" in modelConfig) return true;
2727
- }
2728
- return false;
2729
- }
2730
- async function resolveModelConfig(modelConfig, requestContext = new RequestContext(), mastra) {
2731
- if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) {
2732
- return modelConfig;
2733
- }
2734
- if (typeof modelConfig === "string" || isOpenAICompatibleObjectConfig(modelConfig)) {
2735
- return new ModelRouterLanguageModel(modelConfig);
2736
- }
2737
- if (typeof modelConfig === "function") {
2738
- const fromDynamic = await modelConfig({ requestContext, mastra });
2739
- if (typeof fromDynamic === "string" || isOpenAICompatibleObjectConfig(fromDynamic)) {
2740
- return new ModelRouterLanguageModel(fromDynamic);
2741
- }
2742
- return fromDynamic;
2743
- }
2744
- throw new Error("Invalid model configuration provided");
2745
- }
2746
-
2747
- // src/llm/model/embedding-router.ts
2748
- var ModelRouterEmbeddingModel = class {
2749
- specificationVersion = "v2";
2750
- modelId;
2751
- provider;
2752
- maxEmbeddingsPerCall = 2048;
2753
- supportsParallelCalls = true;
2754
- providerModel;
2755
- constructor(config) {
2756
- let normalizedConfig;
2757
- if (typeof config === "string") {
2758
- const parts = config.split("/");
2759
- if (parts.length !== 2) {
2760
- throw new Error(`Invalid model string format: "${config}". Expected format: "provider/model"`);
2761
- }
2762
- const [providerId, modelId] = parts;
2763
- normalizedConfig = { providerId, modelId };
2764
- } else if ("providerId" in config && "modelId" in config) {
2765
- normalizedConfig = {
2766
- providerId: config.providerId,
2767
- modelId: config.modelId,
2768
- url: config.url,
2769
- apiKey: config.apiKey,
2770
- headers: config.headers
2771
- };
2772
- } else {
2773
- const parts = config.id.split("/");
2774
- if (parts.length !== 2) {
2775
- throw new Error(`Invalid model string format: "${config.id}". Expected format: "provider/model"`);
2776
- }
2777
- const [providerId, modelId] = parts;
2778
- normalizedConfig = {
2779
- providerId,
2780
- modelId,
2781
- url: config.url,
2782
- apiKey: config.apiKey,
2783
- headers: config.headers
2784
- };
2785
- }
2786
- this.provider = normalizedConfig.providerId;
2787
- this.modelId = normalizedConfig.modelId;
2788
- if (normalizedConfig.url) {
2789
- const apiKey = normalizedConfig.apiKey || "";
2790
- this.providerModel = createOpenAICompatible({
2791
- name: normalizedConfig.providerId,
2792
- apiKey,
2793
- baseURL: normalizedConfig.url,
2794
- headers: normalizedConfig.headers
2795
- }).textEmbeddingModel(normalizedConfig.modelId);
2796
- } else {
2797
- const registry = GatewayRegistry.getInstance();
2798
- const providerConfig = registry.getProviderConfig(normalizedConfig.providerId);
2799
- if (!providerConfig) {
2800
- throw new Error(`Unknown provider: ${normalizedConfig.providerId}`);
2801
- }
2802
- let apiKey = normalizedConfig.apiKey;
2803
- if (!apiKey) {
2804
- const apiKeyEnvVar = providerConfig.apiKeyEnvVar;
2805
- if (Array.isArray(apiKeyEnvVar)) {
2806
- for (const envVar of apiKeyEnvVar) {
2807
- apiKey = process.env[envVar];
2808
- if (apiKey) break;
2809
- }
2810
- } else {
2811
- apiKey = process.env[apiKeyEnvVar];
2812
- }
2813
- }
2814
- if (!apiKey) {
2815
- const envVarDisplay = Array.isArray(providerConfig.apiKeyEnvVar) ? providerConfig.apiKeyEnvVar.join(" or ") : providerConfig.apiKeyEnvVar;
2816
- throw new Error(`API key not found for provider ${normalizedConfig.providerId}. Set ${envVarDisplay}`);
2817
- }
2818
- if (normalizedConfig.providerId === "openai") {
2819
- this.providerModel = createOpenAI({ apiKey }).textEmbeddingModel(
2820
- normalizedConfig.modelId
2821
- );
2822
- } else if (normalizedConfig.providerId === "google") {
2823
- this.providerModel = createGoogleGenerativeAI({ apiKey }).textEmbedding(
2824
- normalizedConfig.modelId
2825
- );
2826
- } else {
2827
- if (!providerConfig.url) {
2828
- throw new Error(`Provider ${normalizedConfig.providerId} does not have a URL configured`);
2829
- }
2830
- this.providerModel = createOpenAICompatible({
2831
- name: normalizedConfig.providerId,
2832
- apiKey,
2833
- baseURL: providerConfig.url
2834
- }).textEmbeddingModel(normalizedConfig.modelId);
2835
- }
2836
- }
2837
- if (this.providerModel.maxEmbeddingsPerCall !== void 0) {
2838
- this.maxEmbeddingsPerCall = this.providerModel.maxEmbeddingsPerCall;
2839
- }
2840
- if (this.providerModel.supportsParallelCalls !== void 0) {
2841
- this.supportsParallelCalls = this.providerModel.supportsParallelCalls;
2842
- }
2843
- }
2844
- async doEmbed(args) {
2845
- return this.providerModel.doEmbed(args);
2846
- }
2847
- };
2848
-
2849
- export { ModelRouterEmbeddingModel, ModelRouterLanguageModel, PROVIDER_REGISTRY, getProviderConfig, parseModelString, resolveModelConfig };
2850
- //# sourceMappingURL=chunk-W7UH2PWL.js.map
2851
- //# sourceMappingURL=chunk-W7UH2PWL.js.map
3660
+ export { GatewayRegistry, PROVIDER_MODELS, PROVIDER_REGISTRY, getProviderConfig, getRegisteredProviders, isProviderRegistered, isValidModelId, parseModelString };
3661
+ //# sourceMappingURL=chunk-7P6BNIJH.js.map
3662
+ //# sourceMappingURL=chunk-7P6BNIJH.js.map