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