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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/CHANGELOG.md +1136 -0
  2. package/dist/agent/agent-legacy.d.ts +19 -22
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent-types.test-d.d.ts +2 -0
  5. package/dist/agent/agent-types.test-d.d.ts.map +1 -0
  6. package/dist/agent/agent.d.ts +6 -6
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +6 -4
  9. package/dist/agent/agent.types.d.ts.map +1 -1
  10. package/dist/agent/index.cjs +9 -9
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +3 -3
  13. package/dist/agent/message-list/index.d.ts +60 -3
  14. package/dist/agent/message-list/index.d.ts.map +1 -1
  15. package/dist/agent/message-list/index.js +1 -1
  16. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  17. package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
  18. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  19. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  20. package/dist/agent/save-queue/index.d.ts +3 -1
  21. package/dist/agent/save-queue/index.d.ts.map +1 -1
  22. package/dist/agent/test-utils.d.ts +37 -0
  23. package/dist/agent/test-utils.d.ts.map +1 -1
  24. package/dist/agent/trip-wire.d.ts.map +1 -1
  25. package/dist/agent/types.d.ts +21 -6
  26. package/dist/agent/types.d.ts.map +1 -1
  27. package/dist/agent/utils.d.ts +3 -3
  28. package/dist/agent/utils.d.ts.map +1 -1
  29. package/dist/agent/workflows/prepare-stream/index.d.ts +9 -7
  30. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  31. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  32. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  33. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +6 -5
  34. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  35. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  36. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  37. package/dist/agent/workflows/prepare-stream/schema.d.ts +8 -8
  38. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  39. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
  40. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  41. package/dist/base.cjs +2 -2
  42. package/dist/base.js +1 -1
  43. package/dist/bundler/index.cjs +2 -2
  44. package/dist/bundler/index.js +1 -1
  45. package/dist/cache/index.cjs +3 -3
  46. package/dist/cache/index.js +1 -1
  47. package/dist/{chunk-4CDL2QJT.js → chunk-267YOF47.js} +121 -36
  48. package/dist/chunk-267YOF47.js.map +1 -0
  49. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  50. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  51. package/dist/{chunk-JV2KH24V.js → chunk-3GKKHF36.js} +693 -375
  52. package/dist/chunk-3GKKHF36.js.map +1 -0
  53. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  54. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  55. package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
  56. package/dist/chunk-4JKEUSCC.cjs.map +1 -0
  57. package/dist/{chunk-XEVG546F.js → chunk-4Q3Z6QRE.js} +178 -12
  58. package/dist/chunk-4Q3Z6QRE.js.map +1 -0
  59. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  60. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  61. package/dist/{chunk-26SQQNMU.js → chunk-6CYYFT4O.js} +11389 -8193
  62. package/dist/chunk-6CYYFT4O.js.map +1 -0
  63. package/dist/{chunk-32CTMD2C.js → chunk-6ONQWD6S.js} +1221 -347
  64. package/dist/chunk-6ONQWD6S.js.map +1 -0
  65. package/dist/{chunk-J7O6WENZ.cjs → chunk-6TBWJV35.js} +5 -5
  66. package/dist/chunk-6TBWJV35.js.map +1 -0
  67. package/dist/chunk-6XCINXZ7.cjs +194 -0
  68. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  69. package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
  70. package/dist/chunk-72YCRTEX.cjs.map +1 -0
  71. package/dist/{chunk-BXOL277H.cjs → chunk-7THRV5KZ.cjs} +762 -27
  72. package/dist/chunk-7THRV5KZ.cjs.map +1 -0
  73. package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
  74. package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
  75. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  76. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  77. package/dist/{chunk-QCQLOMJM.cjs → chunk-BCRRHJGV.cjs} +206 -65
  78. package/dist/chunk-BCRRHJGV.cjs.map +1 -0
  79. package/dist/chunk-BWYU7D33.js +192 -0
  80. package/dist/chunk-BWYU7D33.js.map +1 -0
  81. package/dist/{chunk-MV7KHWUT.js → chunk-BXONP7HX.js} +391 -15
  82. package/dist/chunk-BXONP7HX.js.map +1 -0
  83. package/dist/chunk-CDRYT2A5.js +513 -0
  84. package/dist/chunk-CDRYT2A5.js.map +1 -0
  85. package/dist/{chunk-S5MJLXMG.cjs → chunk-CZEJQSWB.cjs} +481 -124
  86. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  87. package/dist/chunk-DD2VNRQM.js +62 -0
  88. package/dist/chunk-DD2VNRQM.js.map +1 -0
  89. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  90. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  91. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  92. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  93. package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
  94. package/dist/chunk-F2GAJSBI.js.map +1 -0
  95. package/dist/{chunk-VOY2RXOC.cjs → chunk-G4IFCTL5.cjs} +182 -15
  96. package/dist/chunk-G4IFCTL5.cjs.map +1 -0
  97. package/dist/chunk-KJBMTK5B.cjs +64 -0
  98. package/dist/chunk-KJBMTK5B.cjs.map +1 -0
  99. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  100. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  101. package/dist/chunk-MGCGWPQJ.cjs +275 -0
  102. package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
  103. package/dist/chunk-MRFUISXC.cjs +4981 -0
  104. package/dist/chunk-MRFUISXC.cjs.map +1 -0
  105. package/dist/chunk-MSZP3FNH.cjs +518 -0
  106. package/dist/chunk-MSZP3FNH.cjs.map +1 -0
  107. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  108. package/dist/chunk-NRUZYMHE.js.map +1 -0
  109. package/dist/{chunk-7SKXKUYT.js → chunk-NUA6TSRD.js} +752 -17
  110. package/dist/chunk-NUA6TSRD.js.map +1 -0
  111. package/dist/chunk-OEIVMCWX.js +4959 -0
  112. package/dist/chunk-OEIVMCWX.js.map +1 -0
  113. package/dist/{chunk-VJUZZB2I.js → chunk-OIDPIW42.js} +26 -11
  114. package/dist/chunk-OIDPIW42.js.map +1 -0
  115. package/dist/{chunk-QUZGDSWE.cjs → chunk-OYIDRI3A.cjs} +32 -17
  116. package/dist/chunk-OYIDRI3A.cjs.map +1 -0
  117. package/dist/{chunk-YIK3ASEG.cjs → chunk-P2D2VO2O.cjs} +1226 -350
  118. package/dist/chunk-P2D2VO2O.cjs.map +1 -0
  119. package/dist/{chunk-L7XKOKOW.js → chunk-PK2A5WBG.js} +472 -125
  120. package/dist/chunk-PK2A5WBG.js.map +1 -0
  121. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  122. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  123. package/dist/{chunk-WM6CK2F3.cjs → chunk-QD3UWFAV.cjs} +130 -48
  124. package/dist/chunk-QD3UWFAV.cjs.map +1 -0
  125. package/dist/{chunk-FD734TPS.cjs → chunk-SL7Q6IZF.cjs} +11425 -8211
  126. package/dist/chunk-SL7Q6IZF.cjs.map +1 -0
  127. package/dist/{chunk-ECFXGXWO.cjs → chunk-SSPUH2N7.cjs} +693 -375
  128. package/dist/chunk-SSPUH2N7.cjs.map +1 -0
  129. package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
  130. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
  131. package/dist/chunk-THZTRBFS.js +268 -0
  132. package/dist/chunk-THZTRBFS.js.map +1 -0
  133. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  134. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  135. package/dist/{chunk-GRBGQ2GE.js → chunk-UVHSM2GU.cjs} +9 -3
  136. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  137. package/dist/{chunk-GGYKYORQ.cjs → chunk-WX2DLWXF.cjs} +407 -22
  138. package/dist/chunk-WX2DLWXF.cjs.map +1 -0
  139. package/dist/{chunk-P6APHXPZ.js → chunk-XRJQ5ZA7.js} +179 -38
  140. package/dist/chunk-XRJQ5ZA7.js.map +1 -0
  141. package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
  142. package/dist/chunk-Y36Y5MTD.js.map +1 -0
  143. package/dist/{chunk-VV753WCB.cjs → chunk-YWMMBIOM.cjs} +21 -20
  144. package/dist/chunk-YWMMBIOM.cjs.map +1 -0
  145. package/dist/{chunk-BU4IAJWF.js → chunk-Z57R5WS4.js} +16 -15
  146. package/dist/chunk-Z57R5WS4.js.map +1 -0
  147. package/dist/deployer/index.cjs +2 -2
  148. package/dist/deployer/index.js +1 -1
  149. package/dist/di/index.cjs +10 -2
  150. package/dist/di/index.d.ts +1 -1
  151. package/dist/di/index.d.ts.map +1 -1
  152. package/dist/di/index.js +1 -1
  153. package/dist/evals/base.d.ts +10 -2
  154. package/dist/evals/base.d.ts.map +1 -1
  155. package/dist/evals/base.test-utils.d.ts +25 -25
  156. package/dist/evals/index.cjs +9 -9
  157. package/dist/evals/index.js +2 -2
  158. package/dist/evals/scoreTraces/index.cjs +7 -6
  159. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  160. package/dist/evals/scoreTraces/index.js +4 -3
  161. package/dist/evals/scoreTraces/index.js.map +1 -1
  162. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  163. package/dist/evals/types.d.ts +25 -24
  164. package/dist/evals/types.d.ts.map +1 -1
  165. package/dist/index.cjs +2 -2
  166. package/dist/index.js +1 -1
  167. package/dist/integration/index.cjs +2 -2
  168. package/dist/integration/index.js +1 -1
  169. package/dist/llm/index.cjs +30 -10
  170. package/dist/llm/index.d.ts +2 -0
  171. package/dist/llm/index.d.ts.map +1 -1
  172. package/dist/llm/index.js +5 -1
  173. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  174. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  175. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  176. package/dist/llm/model/gateways/azure.d.ts +36 -0
  177. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  178. package/dist/llm/model/gateways/base.d.ts +9 -4
  179. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  180. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  181. package/dist/llm/model/gateways/index.d.ts +4 -1
  182. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  183. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  184. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  185. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  186. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  187. package/dist/llm/model/is-v2-model.d.ts +3 -0
  188. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  189. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  190. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  191. package/dist/llm/model/model.d.ts.map +1 -1
  192. package/dist/llm/model/model.loop.d.ts +2 -2
  193. package/dist/llm/model/model.loop.d.ts.map +1 -1
  194. package/dist/llm/model/model.loop.types.d.ts +2 -0
  195. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  196. package/dist/llm/model/provider-options.d.ts +4 -1
  197. package/dist/llm/model/provider-options.d.ts.map +1 -1
  198. package/dist/llm/model/provider-registry.d.ts +11 -1
  199. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  200. package/dist/llm/model/provider-types.generated.d.ts +520 -33
  201. package/dist/llm/model/registry-generator.d.ts +12 -0
  202. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  203. package/dist/llm/model/resolve-model.d.ts +1 -1
  204. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  205. package/dist/llm/model/router.d.ts +12 -5
  206. package/dist/llm/model/router.d.ts.map +1 -1
  207. package/dist/llm/model/shared.types.d.ts +10 -4
  208. package/dist/llm/model/shared.types.d.ts.map +1 -1
  209. package/dist/logger/constants.d.ts +1 -0
  210. package/dist/logger/constants.d.ts.map +1 -1
  211. package/dist/logger/index.cjs +11 -11
  212. package/dist/logger/index.js +2 -2
  213. package/dist/logger/transport.d.ts +1 -1
  214. package/dist/logger/transport.d.ts.map +1 -1
  215. package/dist/loop/index.cjs +2 -2
  216. package/dist/loop/index.js +1 -1
  217. package/dist/loop/loop.d.ts.map +1 -1
  218. package/dist/loop/network/index.d.ts.map +1 -1
  219. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  220. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  221. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  222. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  223. package/dist/loop/test-utils/options.d.ts.map +1 -1
  224. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  225. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  226. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  227. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  228. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  229. package/dist/loop/test-utils/utils.d.ts +1 -1
  230. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  231. package/dist/loop/types.d.ts +22 -5
  232. package/dist/loop/types.d.ts.map +1 -1
  233. package/dist/loop/workflows/agentic-execution/index.d.ts +42 -42
  234. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  235. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +29 -29
  236. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  237. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +14 -14
  238. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  239. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  240. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  241. package/dist/loop/workflows/agentic-loop/index.d.ts +44 -43
  242. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  243. package/dist/loop/workflows/run-state.d.ts +2 -2
  244. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  245. package/dist/loop/workflows/schema.d.ts +14 -14
  246. package/dist/loop/workflows/stream.d.ts +1 -1
  247. package/dist/loop/workflows/stream.d.ts.map +1 -1
  248. package/dist/mastra/index.cjs +2 -2
  249. package/dist/mastra/index.d.ts +377 -12
  250. package/dist/mastra/index.d.ts.map +1 -1
  251. package/dist/mastra/index.js +1 -1
  252. package/dist/mcp/index.cjs +4 -4
  253. package/dist/mcp/index.cjs.map +1 -1
  254. package/dist/mcp/index.d.ts +4 -4
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +2 -2
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/types.d.ts +2 -2
  259. package/dist/mcp/types.d.ts.map +1 -1
  260. package/dist/memory/index.cjs +21 -327
  261. package/dist/memory/index.cjs.map +1 -1
  262. package/dist/memory/index.js +1 -327
  263. package/dist/memory/index.js.map +1 -1
  264. package/dist/memory/memory.d.ts +28 -18
  265. package/dist/memory/memory.d.ts.map +1 -1
  266. package/dist/memory/mock.d.ts +15 -14
  267. package/dist/memory/mock.d.ts.map +1 -1
  268. package/dist/memory/types.d.ts +69 -11
  269. package/dist/memory/types.d.ts.map +1 -1
  270. package/dist/models-dev-23RN2WHG.js +3 -0
  271. package/dist/{models-dev-7U4NRMM3.js.map → models-dev-23RN2WHG.js.map} +1 -1
  272. package/dist/models-dev-EO3SUIY2.cjs +12 -0
  273. package/dist/{models-dev-VKSAQPRK.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
  274. package/dist/netlify-GXJ5D5DD.js +3 -0
  275. package/dist/{netlify-42ZNWIDQ.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  276. package/dist/netlify-KJLY3GFS.cjs +12 -0
  277. package/dist/{netlify-2IDXTNFW.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  278. package/dist/observability/index.cjs +16 -8
  279. package/dist/observability/index.js +1 -1
  280. package/dist/observability/types/tracing.d.ts +236 -13
  281. package/dist/observability/types/tracing.d.ts.map +1 -1
  282. package/dist/observability/utils.d.ts +47 -1
  283. package/dist/observability/utils.d.ts.map +1 -1
  284. package/dist/processors/index.cjs +35 -11
  285. package/dist/processors/index.d.ts +101 -23
  286. package/dist/processors/index.d.ts.map +1 -1
  287. package/dist/processors/index.js +1 -1
  288. package/dist/processors/memory/index.d.ts +7 -0
  289. package/dist/processors/memory/index.d.ts.map +1 -0
  290. package/dist/processors/memory/message-history.d.ts +43 -0
  291. package/dist/processors/memory/message-history.d.ts.map +1 -0
  292. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  293. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  294. package/dist/processors/memory/working-memory.d.ts +65 -0
  295. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  296. package/dist/processors/processors/batch-parts.d.ts +1 -1
  297. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  298. package/dist/processors/processors/index.d.ts +2 -1
  299. package/dist/processors/processors/index.d.ts.map +1 -1
  300. package/dist/processors/processors/language-detector.d.ts +15 -1
  301. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  302. package/dist/processors/processors/moderation.d.ts +15 -1
  303. package/dist/processors/processors/moderation.d.ts.map +1 -1
  304. package/dist/processors/processors/pii-detector.d.ts +15 -1
  305. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  306. package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
  307. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  308. package/dist/processors/processors/structured-output.d.ts +3 -2
  309. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  310. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  311. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  312. package/dist/processors/processors/token-limiter.d.ts +22 -12
  313. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  314. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  315. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  316. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  317. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  318. package/dist/processors/runner.d.ts +35 -4
  319. package/dist/processors/runner.d.ts.map +1 -1
  320. package/dist/provider-registry-A7FILT6Q.cjs +40 -0
  321. package/dist/provider-registry-A7FILT6Q.cjs.map +1 -0
  322. package/dist/provider-registry-XM2YDI5X.js +3 -0
  323. package/dist/provider-registry-XM2YDI5X.js.map +1 -0
  324. package/dist/provider-registry.json +1135 -77
  325. package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
  326. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  327. package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
  328. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  329. package/dist/relevance/index.cjs +2 -2
  330. package/dist/relevance/index.js +1 -1
  331. package/dist/request-context/index.cjs +10 -2
  332. package/dist/request-context/index.d.ts +26 -0
  333. package/dist/request-context/index.d.ts.map +1 -1
  334. package/dist/request-context/index.js +1 -1
  335. package/dist/server/auth.d.ts +11 -0
  336. package/dist/server/auth.d.ts.map +1 -1
  337. package/dist/server/base.d.ts +51 -0
  338. package/dist/server/base.d.ts.map +1 -0
  339. package/dist/server/composite-auth.d.ts +9 -0
  340. package/dist/server/composite-auth.d.ts.map +1 -0
  341. package/dist/server/index.cjs +124 -3
  342. package/dist/server/index.cjs.map +1 -1
  343. package/dist/server/index.d.ts +8 -0
  344. package/dist/server/index.d.ts.map +1 -1
  345. package/dist/server/index.js +121 -3
  346. package/dist/server/index.js.map +1 -1
  347. package/dist/server/simple-auth.d.ts +27 -0
  348. package/dist/server/simple-auth.d.ts.map +1 -0
  349. package/dist/storage/base.d.ts +76 -3
  350. package/dist/storage/base.d.ts.map +1 -1
  351. package/dist/storage/constants.d.ts +3 -1
  352. package/dist/storage/constants.d.ts.map +1 -1
  353. package/dist/storage/domains/agents/base.d.ts +49 -0
  354. package/dist/storage/domains/agents/base.d.ts.map +1 -0
  355. package/dist/storage/domains/agents/index.d.ts +3 -0
  356. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  357. package/dist/storage/domains/agents/inmemory.d.ts +22 -0
  358. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
  359. package/dist/storage/domains/index.d.ts +1 -0
  360. package/dist/storage/domains/index.d.ts.map +1 -1
  361. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  362. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  363. package/dist/storage/domains/scores/base.d.ts +2 -2
  364. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  365. package/dist/storage/domains/scores/inmemory.d.ts +2 -2
  366. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  367. package/dist/storage/domains/workflows/base.d.ts +4 -0
  368. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  369. package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
  370. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  371. package/dist/storage/index.cjs +65 -29
  372. package/dist/storage/index.js +1 -1
  373. package/dist/storage/mock.d.ts +7 -2
  374. package/dist/storage/mock.d.ts.map +1 -1
  375. package/dist/storage/storageWithInit.d.ts.map +1 -1
  376. package/dist/storage/types.d.ts +85 -2
  377. package/dist/storage/types.d.ts.map +1 -1
  378. package/dist/storage/utils.d.ts +82 -0
  379. package/dist/storage/utils.d.ts.map +1 -1
  380. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  381. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  382. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  383. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  384. package/dist/stream/RunOutput.d.ts +2 -2
  385. package/dist/stream/RunOutput.d.ts.map +1 -1
  386. package/dist/stream/aisdk/v4/usage.d.ts +19 -0
  387. package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
  388. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  389. package/dist/stream/aisdk/v5/execute.d.ts +8 -4
  390. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  391. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  392. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  393. package/dist/stream/aisdk/v5/output.d.ts +9 -9
  394. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  395. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  396. package/dist/stream/base/base.d.ts +1 -1
  397. package/dist/stream/base/base.d.ts.map +1 -1
  398. package/dist/stream/base/input.d.ts +1 -1
  399. package/dist/stream/base/output-format-handlers.d.ts +14 -1
  400. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  401. package/dist/stream/base/output.d.ts +3 -3
  402. package/dist/stream/base/output.d.ts.map +1 -1
  403. package/dist/stream/index.cjs +15 -11
  404. package/dist/stream/index.d.ts +2 -2
  405. package/dist/stream/index.d.ts.map +1 -1
  406. package/dist/stream/index.js +2 -2
  407. package/dist/stream/types.d.ts +48 -25
  408. package/dist/stream/types.d.ts.map +1 -1
  409. package/dist/test-utils/llm-mock.cjs +101 -30
  410. package/dist/test-utils/llm-mock.cjs.map +1 -1
  411. package/dist/test-utils/llm-mock.d.ts +7 -2
  412. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  413. package/dist/test-utils/llm-mock.js +97 -30
  414. package/dist/test-utils/llm-mock.js.map +1 -1
  415. package/dist/tools/index.cjs +6 -6
  416. package/dist/tools/index.js +2 -2
  417. package/dist/tools/is-vercel-tool.cjs +2 -2
  418. package/dist/tools/is-vercel-tool.js +1 -1
  419. package/dist/tools/stream.d.ts +10 -4
  420. package/dist/tools/stream.d.ts.map +1 -1
  421. package/dist/tools/tool-builder/builder.d.ts +2 -0
  422. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  423. package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
  424. package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
  425. package/dist/tools/tool.d.ts +21 -8
  426. package/dist/tools/tool.d.ts.map +1 -1
  427. package/dist/tools/types.d.ts +33 -6
  428. package/dist/tools/types.d.ts.map +1 -1
  429. package/dist/tools/validation.d.ts +25 -1
  430. package/dist/tools/validation.d.ts.map +1 -1
  431. package/dist/tts/index.cjs +2 -2
  432. package/dist/tts/index.js +1 -1
  433. package/dist/types/zod-compat.d.ts +14 -1
  434. package/dist/types/zod-compat.d.ts.map +1 -1
  435. package/dist/utils.cjs +25 -21
  436. package/dist/utils.d.ts +9 -4
  437. package/dist/utils.d.ts.map +1 -1
  438. package/dist/utils.js +1 -1
  439. package/dist/vector/filter/index.cjs +7 -189
  440. package/dist/vector/filter/index.cjs.map +1 -1
  441. package/dist/vector/filter/index.js +1 -190
  442. package/dist/vector/filter/index.js.map +1 -1
  443. package/dist/vector/index.cjs +7 -2
  444. package/dist/vector/index.cjs.map +1 -1
  445. package/dist/vector/index.d.ts +1 -0
  446. package/dist/vector/index.d.ts.map +1 -1
  447. package/dist/vector/index.js +2 -1
  448. package/dist/vector/index.js.map +1 -1
  449. package/dist/vector/types.d.ts +86 -3
  450. package/dist/vector/types.d.ts.map +1 -1
  451. package/dist/vector/vector.d.ts +39 -2
  452. package/dist/vector/vector.d.ts.map +1 -1
  453. package/dist/voice/aisdk/index.d.ts +3 -0
  454. package/dist/voice/aisdk/index.d.ts.map +1 -0
  455. package/dist/voice/aisdk/speech.d.ts +23 -0
  456. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  457. package/dist/voice/aisdk/transcription.d.ts +22 -0
  458. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  459. package/dist/voice/composite-voice.d.ts +4 -3
  460. package/dist/voice/composite-voice.d.ts.map +1 -1
  461. package/dist/voice/index.cjs +12 -4
  462. package/dist/voice/index.d.ts +1 -0
  463. package/dist/voice/index.d.ts.map +1 -1
  464. package/dist/voice/index.js +1 -1
  465. package/dist/workflows/default.d.ts +179 -270
  466. package/dist/workflows/default.d.ts.map +1 -1
  467. package/dist/workflows/evented/execution-engine.d.ts +3 -1
  468. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  469. package/dist/workflows/evented/index.cjs +10 -10
  470. package/dist/workflows/evented/index.js +1 -1
  471. package/dist/workflows/evented/step-executor.d.ts +1 -1
  472. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  473. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  474. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  475. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
  476. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  477. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  478. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  479. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  480. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  481. package/dist/workflows/evented/workflow.d.ts +2 -1
  482. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  483. package/dist/workflows/execution-engine.d.ts +8 -6
  484. package/dist/workflows/execution-engine.d.ts.map +1 -1
  485. package/dist/workflows/handlers/control-flow.d.ts +133 -0
  486. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  487. package/dist/workflows/handlers/entry.d.ts +43 -0
  488. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  489. package/dist/workflows/handlers/sleep.d.ts +60 -0
  490. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  491. package/dist/workflows/handlers/step.d.ts +58 -0
  492. package/dist/workflows/handlers/step.d.ts.map +1 -0
  493. package/dist/workflows/index.cjs +36 -16
  494. package/dist/workflows/index.js +1 -1
  495. package/dist/workflows/step.d.ts +8 -6
  496. package/dist/workflows/step.d.ts.map +1 -1
  497. package/dist/workflows/types.d.ts +224 -10
  498. package/dist/workflows/types.d.ts.map +1 -1
  499. package/dist/workflows/utils.d.ts +36 -0
  500. package/dist/workflows/utils.d.ts.map +1 -1
  501. package/dist/workflows/workflow.d.ts +135 -54
  502. package/dist/workflows/workflow.d.ts.map +1 -1
  503. package/package.json +26 -29
  504. package/src/llm/model/provider-types.generated.d.ts +520 -33
  505. package/dist/chunk-26SQQNMU.js.map +0 -1
  506. package/dist/chunk-32CTMD2C.js.map +0 -1
  507. package/dist/chunk-436FFEF6.js +0 -34
  508. package/dist/chunk-436FFEF6.js.map +0 -1
  509. package/dist/chunk-4CDL2QJT.js.map +0 -1
  510. package/dist/chunk-7AHYOMHJ.js +0 -149
  511. package/dist/chunk-7AHYOMHJ.js.map +0 -1
  512. package/dist/chunk-7SKXKUYT.js.map +0 -1
  513. package/dist/chunk-BNBRQS7N.js +0 -910
  514. package/dist/chunk-BNBRQS7N.js.map +0 -1
  515. package/dist/chunk-BU4IAJWF.js.map +0 -1
  516. package/dist/chunk-BXOL277H.cjs.map +0 -1
  517. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  518. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  519. package/dist/chunk-ECFXGXWO.cjs.map +0 -1
  520. package/dist/chunk-ET6UOTTU.cjs +0 -154
  521. package/dist/chunk-ET6UOTTU.cjs.map +0 -1
  522. package/dist/chunk-FD734TPS.cjs.map +0 -1
  523. package/dist/chunk-GGYKYORQ.cjs.map +0 -1
  524. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  525. package/dist/chunk-HGNRQ3OG.js +0 -58
  526. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  527. package/dist/chunk-IU2SZXJQ.cjs +0 -913
  528. package/dist/chunk-IU2SZXJQ.cjs.map +0 -1
  529. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  530. package/dist/chunk-JV2KH24V.js.map +0 -1
  531. package/dist/chunk-KIZIOFZC.js.map +0 -1
  532. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  533. package/dist/chunk-L7XKOKOW.js.map +0 -1
  534. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  535. package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
  536. package/dist/chunk-LRSB62Z6.cjs +0 -60
  537. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  538. package/dist/chunk-MV7KHWUT.js.map +0 -1
  539. package/dist/chunk-P6APHXPZ.js.map +0 -1
  540. package/dist/chunk-QCQLOMJM.cjs.map +0 -1
  541. package/dist/chunk-QUKUN6NR.cjs.map +0 -1
  542. package/dist/chunk-QUZGDSWE.cjs.map +0 -1
  543. package/dist/chunk-S5MJLXMG.cjs.map +0 -1
  544. package/dist/chunk-TQTAMPSC.js.map +0 -1
  545. package/dist/chunk-UIZSWUKP.js.map +0 -1
  546. package/dist/chunk-V3VLOOSW.cjs +0 -36
  547. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  548. package/dist/chunk-VJUZZB2I.js.map +0 -1
  549. package/dist/chunk-VOY2RXOC.cjs.map +0 -1
  550. package/dist/chunk-VV753WCB.cjs.map +0 -1
  551. package/dist/chunk-WM6CK2F3.cjs.map +0 -1
  552. package/dist/chunk-XEVG546F.js.map +0 -1
  553. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  554. package/dist/chunk-YIK3ASEG.cjs.map +0 -1
  555. package/dist/chunk-ZV5CC35D.js +0 -3
  556. package/dist/chunk-ZV5CC35D.js.map +0 -1
  557. package/dist/models-dev-7U4NRMM3.js +0 -3
  558. package/dist/models-dev-VKSAQPRK.cjs +0 -12
  559. package/dist/netlify-2IDXTNFW.cjs +0 -12
  560. package/dist/netlify-42ZNWIDQ.js +0 -3
  561. package/dist/registry-generator-H4YNODDH.js.map +0 -1
  562. package/dist/registry-generator-MK63POJO.cjs.map +0 -1
@@ -1,913 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkS5MJLXMG_cjs = require('./chunk-S5MJLXMG.cjs');
4
- var v4 = require('zod/v4');
5
- var aiSdkProviderV5 = require('@openrouter/ai-sdk-provider-v5');
6
-
7
- function convertToXaiChatMessages(prompt) {
8
- const messages = [];
9
- const warnings = [];
10
- for (const { role, content } of prompt) {
11
- switch (role) {
12
- case "system": {
13
- messages.push({ role: "system", content });
14
- break;
15
- }
16
- case "user": {
17
- if (content.length === 1 && content[0].type === "text") {
18
- messages.push({ role: "user", content: content[0].text });
19
- break;
20
- }
21
- messages.push({
22
- role: "user",
23
- content: content.map((part) => {
24
- switch (part.type) {
25
- case "text": {
26
- return { type: "text", text: part.text };
27
- }
28
- case "file": {
29
- if (part.mediaType.startsWith("image/")) {
30
- const mediaType = part.mediaType === "image/*" ? "image/jpeg" : part.mediaType;
31
- return {
32
- type: "image_url",
33
- image_url: {
34
- url: part.data instanceof URL ? part.data.toString() : `data:${mediaType};base64,${chunkS5MJLXMG_cjs.convertToBase64(part.data)}`
35
- }
36
- };
37
- } else {
38
- throw new chunkS5MJLXMG_cjs.UnsupportedFunctionalityError({
39
- functionality: `file part media type ${part.mediaType}`
40
- });
41
- }
42
- }
43
- }
44
- })
45
- });
46
- break;
47
- }
48
- case "assistant": {
49
- let text = "";
50
- const toolCalls = [];
51
- for (const part of content) {
52
- switch (part.type) {
53
- case "text": {
54
- text += part.text;
55
- break;
56
- }
57
- case "tool-call": {
58
- toolCalls.push({
59
- id: part.toolCallId,
60
- type: "function",
61
- function: {
62
- name: part.toolName,
63
- arguments: JSON.stringify(part.input)
64
- }
65
- });
66
- break;
67
- }
68
- }
69
- }
70
- messages.push({
71
- role: "assistant",
72
- content: text,
73
- tool_calls: toolCalls.length > 0 ? toolCalls : void 0
74
- });
75
- break;
76
- }
77
- case "tool": {
78
- for (const toolResponse of content) {
79
- const output = toolResponse.output;
80
- let contentValue;
81
- switch (output.type) {
82
- case "text":
83
- case "error-text":
84
- contentValue = output.value;
85
- break;
86
- case "content":
87
- case "json":
88
- case "error-json":
89
- contentValue = JSON.stringify(output.value);
90
- break;
91
- }
92
- messages.push({
93
- role: "tool",
94
- tool_call_id: toolResponse.toolCallId,
95
- content: contentValue
96
- });
97
- }
98
- break;
99
- }
100
- default: {
101
- const _exhaustiveCheck = role;
102
- throw new Error(`Unsupported role: ${_exhaustiveCheck}`);
103
- }
104
- }
105
- }
106
- return { messages, warnings };
107
- }
108
- function getResponseMetadata({
109
- id,
110
- model,
111
- created
112
- }) {
113
- return {
114
- id: id != null ? id : void 0,
115
- modelId: model != null ? model : void 0,
116
- timestamp: created != null ? new Date(created * 1e3) : void 0
117
- };
118
- }
119
- function mapXaiFinishReason(finishReason) {
120
- switch (finishReason) {
121
- case "stop":
122
- return "stop";
123
- case "length":
124
- return "length";
125
- case "tool_calls":
126
- case "function_call":
127
- return "tool-calls";
128
- case "content_filter":
129
- return "content-filter";
130
- default:
131
- return "unknown";
132
- }
133
- }
134
- var webSourceSchema = v4.z.object({
135
- type: v4.z.literal("web"),
136
- country: v4.z.string().length(2).optional(),
137
- excludedWebsites: v4.z.array(v4.z.string()).max(5).optional(),
138
- allowedWebsites: v4.z.array(v4.z.string()).max(5).optional(),
139
- safeSearch: v4.z.boolean().optional()
140
- });
141
- var xSourceSchema = v4.z.object({
142
- type: v4.z.literal("x"),
143
- excludedXHandles: v4.z.array(v4.z.string()).optional(),
144
- includedXHandles: v4.z.array(v4.z.string()).optional(),
145
- postFavoriteCount: v4.z.number().int().optional(),
146
- postViewCount: v4.z.number().int().optional(),
147
- /**
148
- * @deprecated use `includedXHandles` instead
149
- */
150
- xHandles: v4.z.array(v4.z.string()).optional()
151
- });
152
- var newsSourceSchema = v4.z.object({
153
- type: v4.z.literal("news"),
154
- country: v4.z.string().length(2).optional(),
155
- excludedWebsites: v4.z.array(v4.z.string()).max(5).optional(),
156
- safeSearch: v4.z.boolean().optional()
157
- });
158
- var rssSourceSchema = v4.z.object({
159
- type: v4.z.literal("rss"),
160
- links: v4.z.array(v4.z.string().url()).max(1)
161
- // currently only supports one RSS link
162
- });
163
- var searchSourceSchema = v4.z.discriminatedUnion("type", [
164
- webSourceSchema,
165
- xSourceSchema,
166
- newsSourceSchema,
167
- rssSourceSchema
168
- ]);
169
- var xaiProviderOptions = v4.z.object({
170
- reasoningEffort: v4.z.enum(["low", "high"]).optional(),
171
- searchParameters: v4.z.object({
172
- /**
173
- * search mode preference
174
- * - "off": disables search completely
175
- * - "auto": model decides whether to search (default)
176
- * - "on": always enables search
177
- */
178
- mode: v4.z.enum(["off", "auto", "on"]),
179
- /**
180
- * whether to return citations in the response
181
- * defaults to true
182
- */
183
- returnCitations: v4.z.boolean().optional(),
184
- /**
185
- * start date for search data (ISO8601 format: YYYY-MM-DD)
186
- */
187
- fromDate: v4.z.string().optional(),
188
- /**
189
- * end date for search data (ISO8601 format: YYYY-MM-DD)
190
- */
191
- toDate: v4.z.string().optional(),
192
- /**
193
- * maximum number of search results to consider
194
- * defaults to 20
195
- */
196
- maxSearchResults: v4.z.number().min(1).max(50).optional(),
197
- /**
198
- * data sources to search from
199
- * defaults to ["web", "x"] if not specified
200
- */
201
- sources: v4.z.array(searchSourceSchema).optional()
202
- }).optional()
203
- });
204
- var xaiErrorDataSchema = v4.z.object({
205
- error: v4.z.object({
206
- message: v4.z.string(),
207
- type: v4.z.string().nullish(),
208
- param: v4.z.any().nullish(),
209
- code: v4.z.union([v4.z.string(), v4.z.number()]).nullish()
210
- })
211
- });
212
- var xaiFailedResponseHandler = chunkS5MJLXMG_cjs.createJsonErrorResponseHandler({
213
- errorSchema: xaiErrorDataSchema,
214
- errorToMessage: (data) => data.error.message
215
- });
216
- function prepareTools({
217
- tools,
218
- toolChoice
219
- }) {
220
- tools = (tools == null ? void 0 : tools.length) ? tools : void 0;
221
- const toolWarnings = [];
222
- if (tools == null) {
223
- return { tools: void 0, toolChoice: void 0, toolWarnings };
224
- }
225
- const xaiTools = [];
226
- for (const tool of tools) {
227
- if (tool.type === "provider-defined") {
228
- toolWarnings.push({ type: "unsupported-tool", tool });
229
- } else {
230
- xaiTools.push({
231
- type: "function",
232
- function: {
233
- name: tool.name,
234
- description: tool.description,
235
- parameters: tool.inputSchema
236
- }
237
- });
238
- }
239
- }
240
- if (toolChoice == null) {
241
- return { tools: xaiTools, toolChoice: void 0, toolWarnings };
242
- }
243
- const type = toolChoice.type;
244
- switch (type) {
245
- case "auto":
246
- case "none":
247
- return { tools: xaiTools, toolChoice: type, toolWarnings };
248
- case "required":
249
- return { tools: xaiTools, toolChoice: "required", toolWarnings };
250
- case "tool":
251
- return {
252
- tools: xaiTools,
253
- toolChoice: {
254
- type: "function",
255
- function: { name: toolChoice.toolName }
256
- },
257
- toolWarnings
258
- };
259
- default: {
260
- const _exhaustiveCheck = type;
261
- throw new chunkS5MJLXMG_cjs.UnsupportedFunctionalityError({
262
- functionality: `tool choice type: ${_exhaustiveCheck}`
263
- });
264
- }
265
- }
266
- }
267
- var XaiChatLanguageModel = class {
268
- constructor(modelId, config) {
269
- this.specificationVersion = "v2";
270
- this.supportedUrls = {
271
- "image/*": [/^https?:\/\/.*$/]
272
- };
273
- this.modelId = modelId;
274
- this.config = config;
275
- }
276
- get provider() {
277
- return this.config.provider;
278
- }
279
- async getArgs({
280
- prompt,
281
- maxOutputTokens,
282
- temperature,
283
- topP,
284
- topK,
285
- frequencyPenalty,
286
- presencePenalty,
287
- stopSequences,
288
- seed,
289
- responseFormat,
290
- providerOptions,
291
- tools,
292
- toolChoice
293
- }) {
294
- var _a, _b, _c;
295
- const warnings = [];
296
- const options = (_a = await chunkS5MJLXMG_cjs.parseProviderOptions({
297
- provider: "xai",
298
- providerOptions,
299
- schema: xaiProviderOptions
300
- })) != null ? _a : {};
301
- if (topK != null) {
302
- warnings.push({
303
- type: "unsupported-setting",
304
- setting: "topK"
305
- });
306
- }
307
- if (frequencyPenalty != null) {
308
- warnings.push({
309
- type: "unsupported-setting",
310
- setting: "frequencyPenalty"
311
- });
312
- }
313
- if (presencePenalty != null) {
314
- warnings.push({
315
- type: "unsupported-setting",
316
- setting: "presencePenalty"
317
- });
318
- }
319
- if (stopSequences != null) {
320
- warnings.push({
321
- type: "unsupported-setting",
322
- setting: "stopSequences"
323
- });
324
- }
325
- if (responseFormat != null && responseFormat.type === "json" && responseFormat.schema != null) {
326
- warnings.push({
327
- type: "unsupported-setting",
328
- setting: "responseFormat",
329
- details: "JSON response format schema is not supported"
330
- });
331
- }
332
- const { messages, warnings: messageWarnings } = convertToXaiChatMessages(prompt);
333
- warnings.push(...messageWarnings);
334
- const {
335
- tools: xaiTools,
336
- toolChoice: xaiToolChoice,
337
- toolWarnings
338
- } = prepareTools({
339
- tools,
340
- toolChoice
341
- });
342
- warnings.push(...toolWarnings);
343
- const baseArgs = {
344
- // model id
345
- model: this.modelId,
346
- // standard generation settings
347
- max_tokens: maxOutputTokens,
348
- temperature,
349
- top_p: topP,
350
- seed,
351
- reasoning_effort: options.reasoningEffort,
352
- // response format
353
- response_format: (responseFormat == null ? void 0 : responseFormat.type) === "json" ? responseFormat.schema != null ? {
354
- type: "json_schema",
355
- json_schema: {
356
- name: (_b = responseFormat.name) != null ? _b : "response",
357
- schema: responseFormat.schema,
358
- strict: true
359
- }
360
- } : { type: "json_object" } : void 0,
361
- // search parameters
362
- search_parameters: options.searchParameters ? {
363
- mode: options.searchParameters.mode,
364
- return_citations: options.searchParameters.returnCitations,
365
- from_date: options.searchParameters.fromDate,
366
- to_date: options.searchParameters.toDate,
367
- max_search_results: options.searchParameters.maxSearchResults,
368
- sources: (_c = options.searchParameters.sources) == null ? void 0 : _c.map((source) => {
369
- var _a2;
370
- return {
371
- type: source.type,
372
- ...source.type === "web" && {
373
- country: source.country,
374
- excluded_websites: source.excludedWebsites,
375
- allowed_websites: source.allowedWebsites,
376
- safe_search: source.safeSearch
377
- },
378
- ...source.type === "x" && {
379
- excluded_x_handles: source.excludedXHandles,
380
- included_x_handles: (_a2 = source.includedXHandles) != null ? _a2 : source.xHandles,
381
- post_favorite_count: source.postFavoriteCount,
382
- post_view_count: source.postViewCount
383
- },
384
- ...source.type === "news" && {
385
- country: source.country,
386
- excluded_websites: source.excludedWebsites,
387
- safe_search: source.safeSearch
388
- },
389
- ...source.type === "rss" && {
390
- links: source.links
391
- }
392
- };
393
- })
394
- } : void 0,
395
- // messages in xai format
396
- messages,
397
- // tools in xai format
398
- tools: xaiTools,
399
- tool_choice: xaiToolChoice
400
- };
401
- return {
402
- args: baseArgs,
403
- warnings
404
- };
405
- }
406
- async doGenerate(options) {
407
- var _a, _b, _c;
408
- const { args: body, warnings } = await this.getArgs(options);
409
- const {
410
- responseHeaders,
411
- value: response,
412
- rawValue: rawResponse
413
- } = await chunkS5MJLXMG_cjs.postJsonToApi({
414
- url: `${(_a = this.config.baseURL) != null ? _a : "https://api.x.ai/v1"}/chat/completions`,
415
- headers: chunkS5MJLXMG_cjs.combineHeaders(this.config.headers(), options.headers),
416
- body,
417
- failedResponseHandler: xaiFailedResponseHandler,
418
- successfulResponseHandler: chunkS5MJLXMG_cjs.createJsonResponseHandler(
419
- xaiChatResponseSchema
420
- ),
421
- abortSignal: options.abortSignal,
422
- fetch: this.config.fetch
423
- });
424
- const choice = response.choices[0];
425
- const content = [];
426
- if (choice.message.content != null && choice.message.content.length > 0) {
427
- let text = choice.message.content;
428
- const lastMessage = body.messages[body.messages.length - 1];
429
- if ((lastMessage == null ? void 0 : lastMessage.role) === "assistant" && text === lastMessage.content) {
430
- text = "";
431
- }
432
- if (text.length > 0) {
433
- content.push({ type: "text", text });
434
- }
435
- }
436
- if (choice.message.reasoning_content != null && choice.message.reasoning_content.length > 0) {
437
- content.push({
438
- type: "reasoning",
439
- text: choice.message.reasoning_content
440
- });
441
- }
442
- if (choice.message.tool_calls != null) {
443
- for (const toolCall of choice.message.tool_calls) {
444
- content.push({
445
- type: "tool-call",
446
- toolCallId: toolCall.id,
447
- toolName: toolCall.function.name,
448
- input: toolCall.function.arguments
449
- });
450
- }
451
- }
452
- if (response.citations != null) {
453
- for (const url of response.citations) {
454
- content.push({
455
- type: "source",
456
- sourceType: "url",
457
- id: this.config.generateId(),
458
- url
459
- });
460
- }
461
- }
462
- return {
463
- content,
464
- finishReason: mapXaiFinishReason(choice.finish_reason),
465
- usage: {
466
- inputTokens: response.usage.prompt_tokens,
467
- outputTokens: response.usage.completion_tokens,
468
- totalTokens: response.usage.total_tokens,
469
- reasoningTokens: (_c = (_b = response.usage.completion_tokens_details) == null ? void 0 : _b.reasoning_tokens) != null ? _c : void 0
470
- },
471
- request: { body },
472
- response: {
473
- ...getResponseMetadata(response),
474
- headers: responseHeaders,
475
- body: rawResponse
476
- },
477
- warnings
478
- };
479
- }
480
- async doStream(options) {
481
- var _a;
482
- const { args, warnings } = await this.getArgs(options);
483
- const body = {
484
- ...args,
485
- stream: true,
486
- stream_options: {
487
- include_usage: true
488
- }
489
- };
490
- const { responseHeaders, value: response } = await chunkS5MJLXMG_cjs.postJsonToApi({
491
- url: `${(_a = this.config.baseURL) != null ? _a : "https://api.x.ai/v1"}/chat/completions`,
492
- headers: chunkS5MJLXMG_cjs.combineHeaders(this.config.headers(), options.headers),
493
- body,
494
- failedResponseHandler: xaiFailedResponseHandler,
495
- successfulResponseHandler: chunkS5MJLXMG_cjs.createEventSourceResponseHandler(xaiChatChunkSchema),
496
- abortSignal: options.abortSignal,
497
- fetch: this.config.fetch
498
- });
499
- let finishReason = "unknown";
500
- const usage = {
501
- inputTokens: void 0,
502
- outputTokens: void 0,
503
- totalTokens: void 0
504
- };
505
- let isFirstChunk = true;
506
- const contentBlocks = {};
507
- const lastReasoningDeltas = {};
508
- const self = this;
509
- return {
510
- stream: response.pipeThrough(
511
- new TransformStream({
512
- start(controller) {
513
- controller.enqueue({ type: "stream-start", warnings });
514
- },
515
- transform(chunk, controller) {
516
- var _a2, _b;
517
- if (options.includeRawChunks) {
518
- controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
519
- }
520
- if (!chunk.success) {
521
- controller.enqueue({ type: "error", error: chunk.error });
522
- return;
523
- }
524
- const value = chunk.value;
525
- if (isFirstChunk) {
526
- controller.enqueue({
527
- type: "response-metadata",
528
- ...getResponseMetadata(value)
529
- });
530
- isFirstChunk = false;
531
- }
532
- if (value.citations != null) {
533
- for (const url of value.citations) {
534
- controller.enqueue({
535
- type: "source",
536
- sourceType: "url",
537
- id: self.config.generateId(),
538
- url
539
- });
540
- }
541
- }
542
- if (value.usage != null) {
543
- usage.inputTokens = value.usage.prompt_tokens;
544
- usage.outputTokens = value.usage.completion_tokens;
545
- usage.totalTokens = value.usage.total_tokens;
546
- usage.reasoningTokens = (_b = (_a2 = value.usage.completion_tokens_details) == null ? void 0 : _a2.reasoning_tokens) != null ? _b : void 0;
547
- }
548
- const choice = value.choices[0];
549
- if ((choice == null ? void 0 : choice.finish_reason) != null) {
550
- finishReason = mapXaiFinishReason(choice.finish_reason);
551
- }
552
- if ((choice == null ? void 0 : choice.delta) == null) {
553
- return;
554
- }
555
- const delta = choice.delta;
556
- const choiceIndex = choice.index;
557
- if (delta.content != null && delta.content.length > 0) {
558
- const textContent = delta.content;
559
- const lastMessage = body.messages[body.messages.length - 1];
560
- if ((lastMessage == null ? void 0 : lastMessage.role) === "assistant" && textContent === lastMessage.content) {
561
- return;
562
- }
563
- const blockId = `text-${value.id || choiceIndex}`;
564
- if (contentBlocks[blockId] == null) {
565
- contentBlocks[blockId] = { type: "text" };
566
- controller.enqueue({
567
- type: "text-start",
568
- id: blockId
569
- });
570
- }
571
- controller.enqueue({
572
- type: "text-delta",
573
- id: blockId,
574
- delta: textContent
575
- });
576
- }
577
- if (delta.reasoning_content != null && delta.reasoning_content.length > 0) {
578
- const blockId = `reasoning-${value.id || choiceIndex}`;
579
- if (lastReasoningDeltas[blockId] === delta.reasoning_content) {
580
- return;
581
- }
582
- lastReasoningDeltas[blockId] = delta.reasoning_content;
583
- if (contentBlocks[blockId] == null) {
584
- contentBlocks[blockId] = { type: "reasoning" };
585
- controller.enqueue({
586
- type: "reasoning-start",
587
- id: blockId
588
- });
589
- }
590
- controller.enqueue({
591
- type: "reasoning-delta",
592
- id: blockId,
593
- delta: delta.reasoning_content
594
- });
595
- }
596
- if (delta.tool_calls != null) {
597
- for (const toolCall of delta.tool_calls) {
598
- const toolCallId = toolCall.id;
599
- controller.enqueue({
600
- type: "tool-input-start",
601
- id: toolCallId,
602
- toolName: toolCall.function.name
603
- });
604
- controller.enqueue({
605
- type: "tool-input-delta",
606
- id: toolCallId,
607
- delta: toolCall.function.arguments
608
- });
609
- controller.enqueue({
610
- type: "tool-input-end",
611
- id: toolCallId
612
- });
613
- controller.enqueue({
614
- type: "tool-call",
615
- toolCallId,
616
- toolName: toolCall.function.name,
617
- input: toolCall.function.arguments
618
- });
619
- }
620
- }
621
- },
622
- flush(controller) {
623
- for (const [blockId, block] of Object.entries(contentBlocks)) {
624
- controller.enqueue({
625
- type: block.type === "text" ? "text-end" : "reasoning-end",
626
- id: blockId
627
- });
628
- }
629
- controller.enqueue({ type: "finish", finishReason, usage });
630
- }
631
- })
632
- ),
633
- request: { body },
634
- response: { headers: responseHeaders }
635
- };
636
- }
637
- };
638
- var xaiUsageSchema = v4.z.object({
639
- prompt_tokens: v4.z.number(),
640
- completion_tokens: v4.z.number(),
641
- total_tokens: v4.z.number(),
642
- completion_tokens_details: v4.z.object({
643
- reasoning_tokens: v4.z.number().nullish()
644
- }).nullish()
645
- });
646
- var xaiChatResponseSchema = v4.z.object({
647
- id: v4.z.string().nullish(),
648
- created: v4.z.number().nullish(),
649
- model: v4.z.string().nullish(),
650
- choices: v4.z.array(
651
- v4.z.object({
652
- message: v4.z.object({
653
- role: v4.z.literal("assistant"),
654
- content: v4.z.string().nullish(),
655
- reasoning_content: v4.z.string().nullish(),
656
- tool_calls: v4.z.array(
657
- v4.z.object({
658
- id: v4.z.string(),
659
- type: v4.z.literal("function"),
660
- function: v4.z.object({
661
- name: v4.z.string(),
662
- arguments: v4.z.string()
663
- })
664
- })
665
- ).nullish()
666
- }),
667
- index: v4.z.number(),
668
- finish_reason: v4.z.string().nullish()
669
- })
670
- ),
671
- object: v4.z.literal("chat.completion"),
672
- usage: xaiUsageSchema,
673
- citations: v4.z.array(v4.z.string().url()).nullish()
674
- });
675
- var xaiChatChunkSchema = v4.z.object({
676
- id: v4.z.string().nullish(),
677
- created: v4.z.number().nullish(),
678
- model: v4.z.string().nullish(),
679
- choices: v4.z.array(
680
- v4.z.object({
681
- delta: v4.z.object({
682
- role: v4.z.enum(["assistant"]).optional(),
683
- content: v4.z.string().nullish(),
684
- reasoning_content: v4.z.string().nullish(),
685
- tool_calls: v4.z.array(
686
- v4.z.object({
687
- id: v4.z.string(),
688
- type: v4.z.literal("function"),
689
- function: v4.z.object({
690
- name: v4.z.string(),
691
- arguments: v4.z.string()
692
- })
693
- })
694
- ).nullish()
695
- }),
696
- finish_reason: v4.z.string().nullish(),
697
- index: v4.z.number()
698
- })
699
- ),
700
- usage: xaiUsageSchema.nullish(),
701
- citations: v4.z.array(v4.z.string().url()).nullish()
702
- });
703
- var VERSION = "2.0.26" ;
704
- var xaiErrorStructure = {
705
- errorSchema: xaiErrorDataSchema,
706
- errorToMessage: (data) => data.error.message
707
- };
708
- function createXai(options = {}) {
709
- var _a;
710
- const baseURL = chunkS5MJLXMG_cjs.withoutTrailingSlash(
711
- (_a = options.baseURL) != null ? _a : "https://api.x.ai/v1"
712
- );
713
- const getHeaders = () => chunkS5MJLXMG_cjs.withUserAgentSuffix(
714
- {
715
- Authorization: `Bearer ${chunkS5MJLXMG_cjs.loadApiKey({
716
- apiKey: options.apiKey,
717
- environmentVariableName: "XAI_API_KEY",
718
- description: "xAI API key"
719
- })}`,
720
- ...options.headers
721
- },
722
- `ai-sdk/xai/${VERSION}`
723
- );
724
- const createLanguageModel = (modelId) => {
725
- return new XaiChatLanguageModel(modelId, {
726
- provider: "xai.chat",
727
- baseURL,
728
- headers: getHeaders,
729
- generateId: chunkS5MJLXMG_cjs.generateId,
730
- fetch: options.fetch
731
- });
732
- };
733
- const createImageModel = (modelId) => {
734
- return new chunkS5MJLXMG_cjs.OpenAICompatibleImageModel(modelId, {
735
- provider: "xai.image",
736
- url: ({ path }) => `${baseURL}${path}`,
737
- headers: getHeaders,
738
- fetch: options.fetch,
739
- errorStructure: xaiErrorStructure
740
- });
741
- };
742
- const provider = (modelId) => createLanguageModel(modelId);
743
- provider.languageModel = createLanguageModel;
744
- provider.chat = createLanguageModel;
745
- provider.textEmbeddingModel = (modelId) => {
746
- throw new chunkS5MJLXMG_cjs.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
747
- };
748
- provider.imageModel = createImageModel;
749
- provider.image = createImageModel;
750
- return provider;
751
- }
752
- createXai();
753
-
754
- // src/llm/model/gateway-resolver.ts
755
- function parseModelRouterId(routerId, gatewayPrefix) {
756
- if (gatewayPrefix && !routerId.startsWith(`${gatewayPrefix}/`)) {
757
- throw new Error(`Expected ${gatewayPrefix}/ in model router ID ${routerId}`);
758
- }
759
- const idParts = routerId.split("/");
760
- if (gatewayPrefix && idParts.length < 3) {
761
- throw new Error(
762
- `Expected atleast 3 id parts ${gatewayPrefix}/provider/model, but only saw ${idParts.length} in ${routerId}`
763
- );
764
- }
765
- const providerId = idParts.at(gatewayPrefix ? 1 : 0);
766
- const modelId = idParts.slice(gatewayPrefix ? 2 : 1).join(`/`);
767
- if (!routerId.includes(`/`) || !providerId || !modelId) {
768
- throw new Error(
769
- `Attempted to parse provider/model from ${routerId} but this ID doesn't appear to contain a provider`
770
- );
771
- }
772
- return {
773
- providerId,
774
- modelId
775
- };
776
- }
777
-
778
- // src/llm/model/gateways/constants.ts
779
- var PROVIDERS_WITH_INSTALLED_PACKAGES = ["anthropic", "google", "openai", "openrouter", "xai"];
780
- var EXCLUDED_PROVIDERS = ["github-copilot"];
781
-
782
- // src/llm/model/gateways/models-dev.ts
783
- var OPENAI_COMPATIBLE_OVERRIDES = {
784
- cerebras: {
785
- url: "https://api.cerebras.ai/v1"
786
- },
787
- mistral: {
788
- url: "https://api.mistral.ai/v1"
789
- },
790
- groq: {
791
- url: "https://api.groq.com/openai/v1"
792
- },
793
- togetherai: {
794
- url: "https://api.together.xyz/v1"
795
- },
796
- deepinfra: {
797
- url: "https://api.deepinfra.com/v1/openai"
798
- },
799
- perplexity: {
800
- url: "https://api.perplexity.ai"
801
- },
802
- vercel: {
803
- url: "https://ai-gateway.vercel.sh/v1",
804
- apiKeyEnvVar: "AI_GATEWAY_API_KEY"
805
- }
806
- };
807
- var ModelsDevGateway = class extends chunkS5MJLXMG_cjs.MastraModelGateway {
808
- name = "models.dev";
809
- prefix = void 0;
810
- // No prefix for registry gateway
811
- providerConfigs = {};
812
- constructor(providerConfigs) {
813
- super();
814
- if (providerConfigs) this.providerConfigs = providerConfigs;
815
- }
816
- async fetchProviders() {
817
- const response = await fetch("https://models.dev/api.json");
818
- if (!response.ok) {
819
- throw new Error(`Failed to fetch from models.dev: ${response.statusText}`);
820
- }
821
- const data = await response.json();
822
- const providerConfigs = {};
823
- for (const [providerId, providerInfo] of Object.entries(data)) {
824
- if (EXCLUDED_PROVIDERS.includes(providerId)) continue;
825
- if (!providerInfo || typeof providerInfo !== "object" || !providerInfo.models) continue;
826
- const normalizedId = providerId;
827
- const isOpenAICompatible = providerInfo.npm === "@ai-sdk/openai-compatible" || providerInfo.npm === "@ai-sdk/gateway" || // Vercel AI Gateway is OpenAI-compatible
828
- normalizedId in OPENAI_COMPATIBLE_OVERRIDES;
829
- const hasInstalledPackage = PROVIDERS_WITH_INSTALLED_PACKAGES.includes(providerId);
830
- const hasApiAndEnv = providerInfo.api && providerInfo.env && providerInfo.env.length > 0;
831
- if (isOpenAICompatible || hasInstalledPackage || hasApiAndEnv) {
832
- const modelIds = Object.keys(providerInfo.models).sort();
833
- const url = providerInfo.api || OPENAI_COMPATIBLE_OVERRIDES[normalizedId]?.url;
834
- if (!hasInstalledPackage && !url) {
835
- continue;
836
- }
837
- const apiKeyEnvVar = providerInfo.env?.[0] || `${normalizedId.toUpperCase().replace(/-/g, "_")}_API_KEY`;
838
- const apiKeyHeader = !hasInstalledPackage ? OPENAI_COMPATIBLE_OVERRIDES[normalizedId]?.apiKeyHeader || "Authorization" : void 0;
839
- providerConfigs[normalizedId] = {
840
- url,
841
- apiKeyEnvVar,
842
- apiKeyHeader,
843
- name: providerInfo.name || providerId.charAt(0).toUpperCase() + providerId.slice(1),
844
- models: modelIds,
845
- docUrl: providerInfo.doc,
846
- // Include documentation URL if available
847
- gateway: `models.dev`
848
- };
849
- }
850
- }
851
- this.providerConfigs = providerConfigs;
852
- return providerConfigs;
853
- }
854
- buildUrl(routerId, envVars) {
855
- const { providerId } = parseModelRouterId(routerId);
856
- const config = this.providerConfigs[providerId];
857
- if (!config?.url) {
858
- return;
859
- }
860
- const baseUrlEnvVar = `${providerId.toUpperCase().replace(/-/g, "_")}_BASE_URL`;
861
- const customBaseUrl = envVars?.[baseUrlEnvVar] || process.env[baseUrlEnvVar];
862
- return customBaseUrl || config.url;
863
- }
864
- getApiKey(modelId) {
865
- const [provider, model] = modelId.split("/");
866
- if (!provider || !model) {
867
- throw new Error(`Could not identify provider from model id ${modelId}`);
868
- }
869
- const config = this.providerConfigs[provider];
870
- if (!config) {
871
- throw new Error(`Could not find config for provider ${provider} with model id ${modelId}`);
872
- }
873
- const apiKey = typeof config.apiKeyEnvVar === `string` ? process.env[config.apiKeyEnvVar] : void 0;
874
- if (!apiKey) {
875
- throw new Error(`Could not find API key process.env.${config.apiKeyEnvVar} for model id ${modelId}`);
876
- }
877
- return Promise.resolve(apiKey);
878
- }
879
- async resolveLanguageModel({
880
- modelId,
881
- providerId,
882
- apiKey
883
- }) {
884
- const baseURL = this.buildUrl(`${providerId}/${modelId}`);
885
- switch (providerId) {
886
- case "openai":
887
- return chunkS5MJLXMG_cjs.createOpenAI({ apiKey }).responses(modelId);
888
- case "gemini":
889
- case "google":
890
- return chunkS5MJLXMG_cjs.createGoogleGenerativeAI({
891
- apiKey
892
- }).chat(modelId);
893
- case "anthropic":
894
- return chunkS5MJLXMG_cjs.createAnthropic({ apiKey })(modelId);
895
- case "openrouter":
896
- return aiSdkProviderV5.createOpenRouter({ apiKey })(modelId);
897
- case "xai":
898
- return createXai({
899
- apiKey
900
- })(modelId);
901
- default:
902
- if (!baseURL) throw new Error(`No API URL found for ${providerId}/${modelId}`);
903
- return chunkS5MJLXMG_cjs.createOpenAICompatible({ name: providerId, apiKey, baseURL, supportsStructuredOutputs: true }).chatModel(
904
- modelId
905
- );
906
- }
907
- }
908
- };
909
-
910
- exports.ModelsDevGateway = ModelsDevGateway;
911
- exports.parseModelRouterId = parseModelRouterId;
912
- //# sourceMappingURL=chunk-IU2SZXJQ.cjs.map
913
- //# sourceMappingURL=chunk-IU2SZXJQ.cjs.map