@mastra/core 1.0.0-beta.4 → 1.0.0-beta.5

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 (283) hide show
  1. package/CHANGELOG.md +325 -0
  2. package/dist/agent/agent.d.ts +2 -2
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.types.d.ts +2 -0
  5. package/dist/agent/agent.types.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +9 -9
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/message-list/index.cjs +3 -3
  9. package/dist/agent/message-list/index.d.ts.map +1 -1
  10. package/dist/agent/message-list/index.js +1 -1
  11. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  12. package/dist/agent/types.d.ts +2 -3
  13. package/dist/agent/types.d.ts.map +1 -1
  14. package/dist/agent/utils.d.ts.map +1 -1
  15. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +8 -1
  18. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  19. package/dist/{chunk-3RW5EMSB.js → chunk-3B2OPLGG.js} +13 -6
  20. package/dist/chunk-3B2OPLGG.js.map +1 -0
  21. package/dist/{chunk-RXDJL5QT.js → chunk-3ZQ7LX73.js} +13 -13
  22. package/dist/chunk-3ZQ7LX73.js.map +1 -0
  23. package/dist/{chunk-5WXEYDFI.cjs → chunk-556MJ7CL.cjs} +33 -26
  24. package/dist/chunk-556MJ7CL.cjs.map +1 -0
  25. package/dist/{chunk-HGNRQ3OG.js → chunk-5O52O25J.js} +15 -8
  26. package/dist/chunk-5O52O25J.js.map +1 -0
  27. package/dist/{chunk-WTYNK7Q4.js → chunk-5SA2EZ33.js} +421 -29
  28. package/dist/chunk-5SA2EZ33.js.map +1 -0
  29. package/dist/chunk-6XCINXZ7.cjs +194 -0
  30. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  31. package/dist/{chunk-MDKPL2R2.js → chunk-7ZADRRDW.js} +5 -4
  32. package/dist/chunk-7ZADRRDW.js.map +1 -0
  33. package/dist/{chunk-JXESKY4A.js → chunk-B5J5HYDN.js} +7 -5
  34. package/dist/chunk-B5J5HYDN.js.map +1 -0
  35. package/dist/chunk-BWYU7D33.js +192 -0
  36. package/dist/chunk-BWYU7D33.js.map +1 -0
  37. package/dist/{chunk-FVNT7VTO.js → chunk-D7CJ4HIQ.js} +240 -17
  38. package/dist/chunk-D7CJ4HIQ.js.map +1 -0
  39. package/dist/{chunk-VSM3NLUX.cjs → chunk-DQIZ5FFX.cjs} +163 -129
  40. package/dist/chunk-DQIZ5FFX.cjs.map +1 -0
  41. package/dist/{chunk-ZCVTH3CH.cjs → chunk-HNHZGFZY.cjs} +5 -4
  42. package/dist/chunk-HNHZGFZY.cjs.map +1 -0
  43. package/dist/{chunk-VZC4BWWH.cjs → chunk-IITXXVYI.cjs} +17 -17
  44. package/dist/chunk-IITXXVYI.cjs.map +1 -0
  45. package/dist/{chunk-2OTDXX73.js → chunk-KJIQGPQR.js} +4 -4
  46. package/dist/{chunk-2OTDXX73.js.map → chunk-KJIQGPQR.js.map} +1 -1
  47. package/dist/{chunk-2NVBZKZI.cjs → chunk-KP42JLXE.cjs} +370 -132
  48. package/dist/chunk-KP42JLXE.cjs.map +1 -0
  49. package/dist/{chunk-IWB65P37.cjs → chunk-KWWD3U7G.cjs} +5 -5
  50. package/dist/chunk-KWWD3U7G.cjs.map +1 -0
  51. package/dist/{chunk-3W5RQCCY.cjs → chunk-NHP6ZIDG.cjs} +248 -24
  52. package/dist/chunk-NHP6ZIDG.cjs.map +1 -0
  53. package/dist/{chunk-O6NA3Z43.cjs → chunk-OUUPUAGA.cjs} +10 -8
  54. package/dist/chunk-OUUPUAGA.cjs.map +1 -0
  55. package/dist/{chunk-D6EDHNGV.js → chunk-PC6EKOWK.js} +64 -11
  56. package/dist/chunk-PC6EKOWK.js.map +1 -0
  57. package/dist/{chunk-S6OEQHEI.cjs → chunk-QGWNF2QJ.cjs} +59 -50
  58. package/dist/chunk-QGWNF2QJ.cjs.map +1 -0
  59. package/dist/{chunk-HBJPYQRN.cjs → chunk-RROQ46B6.cjs} +69 -16
  60. package/dist/chunk-RROQ46B6.cjs.map +1 -0
  61. package/dist/{chunk-U7VECK2G.js → chunk-T2CJRA6E.js} +4 -4
  62. package/dist/chunk-T2CJRA6E.js.map +1 -0
  63. package/dist/{chunk-IHJDOC3A.js → chunk-T2UNO766.js} +16 -7
  64. package/dist/chunk-T2UNO766.js.map +1 -0
  65. package/dist/{chunk-CYVNOIXS.cjs → chunk-U3VE2EVB.cjs} +11 -11
  66. package/dist/{chunk-CYVNOIXS.cjs.map → chunk-U3VE2EVB.cjs.map} +1 -1
  67. package/dist/{chunk-4IKJAKCD.cjs → chunk-V537VSV4.cjs} +74 -16
  68. package/dist/chunk-V537VSV4.cjs.map +1 -0
  69. package/dist/{chunk-4RXG622P.cjs → chunk-VYJXTHII.cjs} +422 -30
  70. package/dist/chunk-VYJXTHII.cjs.map +1 -0
  71. package/dist/{chunk-LRSB62Z6.cjs → chunk-X7F4CSGR.cjs} +15 -8
  72. package/dist/chunk-X7F4CSGR.cjs.map +1 -0
  73. package/dist/{chunk-XXBWX7DT.js → chunk-XBO6W7LZ.js} +328 -91
  74. package/dist/chunk-XBO6W7LZ.js.map +1 -0
  75. package/dist/{chunk-KEURQGCQ.js → chunk-XIDKHXNR.js} +74 -17
  76. package/dist/chunk-XIDKHXNR.js.map +1 -0
  77. package/dist/{chunk-WQSGX6XA.cjs → chunk-XJQX54QP.cjs} +5 -5
  78. package/dist/{chunk-WQSGX6XA.cjs.map → chunk-XJQX54QP.cjs.map} +1 -1
  79. package/dist/{chunk-W3DD3XP5.js → chunk-YDFX3JR2.js} +163 -129
  80. package/dist/chunk-YDFX3JR2.js.map +1 -0
  81. package/dist/{chunk-IWQDBVJK.js → chunk-ZTTMSCLU.js} +3 -3
  82. package/dist/{chunk-IWQDBVJK.js.map → chunk-ZTTMSCLU.js.map} +1 -1
  83. package/dist/evals/base.d.ts +1 -1
  84. package/dist/evals/base.d.ts.map +1 -1
  85. package/dist/evals/base.test-utils.d.ts +25 -25
  86. package/dist/evals/index.cjs +4 -4
  87. package/dist/evals/index.js +1 -1
  88. package/dist/evals/scoreTraces/index.cjs +3 -3
  89. package/dist/evals/scoreTraces/index.js +1 -1
  90. package/dist/index.cjs +2 -2
  91. package/dist/index.js +1 -1
  92. package/dist/integration/index.cjs +2 -2
  93. package/dist/integration/index.js +1 -1
  94. package/dist/llm/index.cjs +18 -14
  95. package/dist/llm/index.d.ts +2 -1
  96. package/dist/llm/index.d.ts.map +1 -1
  97. package/dist/llm/index.js +5 -5
  98. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  99. package/dist/llm/model/gateways/azure.d.ts +36 -0
  100. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  101. package/dist/llm/model/gateways/base.d.ts +3 -6
  102. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  103. package/dist/llm/model/gateways/index.d.ts +4 -1
  104. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  105. package/dist/llm/model/gateways/models-dev.d.ts +2 -2
  106. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  107. package/dist/llm/model/gateways/netlify.d.ts +2 -2
  108. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  109. package/dist/llm/model/model.d.ts.map +1 -1
  110. package/dist/llm/model/model.loop.d.ts +1 -1
  111. package/dist/llm/model/model.loop.d.ts.map +1 -1
  112. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  113. package/dist/llm/model/provider-types.generated.d.ts +192 -11
  114. package/dist/llm/model/registry-generator.d.ts +12 -0
  115. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  116. package/dist/llm/model/router.d.ts.map +1 -1
  117. package/dist/loop/index.cjs +2 -2
  118. package/dist/loop/index.js +1 -1
  119. package/dist/loop/loop.d.ts.map +1 -1
  120. package/dist/loop/network/index.d.ts.map +1 -1
  121. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  122. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  123. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  124. package/dist/loop/types.d.ts +8 -0
  125. package/dist/loop/types.d.ts.map +1 -1
  126. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  127. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  128. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  129. package/dist/mastra/index.cjs +2 -2
  130. package/dist/mastra/index.d.ts +9 -9
  131. package/dist/mastra/index.d.ts.map +1 -1
  132. package/dist/mastra/index.js +1 -1
  133. package/dist/mcp/index.cjs.map +1 -1
  134. package/dist/mcp/index.d.ts +4 -4
  135. package/dist/mcp/index.d.ts.map +1 -1
  136. package/dist/mcp/index.js.map +1 -1
  137. package/dist/mcp/types.d.ts +2 -2
  138. package/dist/mcp/types.d.ts.map +1 -1
  139. package/dist/memory/index.cjs +89 -34
  140. package/dist/memory/index.cjs.map +1 -1
  141. package/dist/memory/index.js +85 -30
  142. package/dist/memory/index.js.map +1 -1
  143. package/dist/memory/mock.d.ts +9 -13
  144. package/dist/memory/mock.d.ts.map +1 -1
  145. package/dist/models-dev-F6MTIYTO.js +3 -0
  146. package/dist/{models-dev-6PRLJKVZ.js.map → models-dev-F6MTIYTO.js.map} +1 -1
  147. package/dist/models-dev-XIVR5EJV.cjs +12 -0
  148. package/dist/{models-dev-WHMI5G6Y.cjs.map → models-dev-XIVR5EJV.cjs.map} +1 -1
  149. package/dist/netlify-MXBOGAJR.cjs +12 -0
  150. package/dist/{netlify-46I3SNNV.cjs.map → netlify-MXBOGAJR.cjs.map} +1 -1
  151. package/dist/netlify-RX3JXCFQ.js +3 -0
  152. package/dist/{netlify-EBQ6YUC6.js.map → netlify-RX3JXCFQ.js.map} +1 -1
  153. package/dist/processors/index.cjs +11 -11
  154. package/dist/processors/index.d.ts +2 -2
  155. package/dist/processors/index.d.ts.map +1 -1
  156. package/dist/processors/index.js +1 -1
  157. package/dist/processors/processors/batch-parts.d.ts +1 -1
  158. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  159. package/dist/processors/processors/language-detector.d.ts +1 -1
  160. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  161. package/dist/processors/processors/moderation.d.ts +1 -1
  162. package/dist/processors/processors/moderation.d.ts.map +1 -1
  163. package/dist/processors/processors/pii-detector.d.ts +1 -1
  164. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  165. package/dist/processors/processors/prompt-injection-detector.d.ts +1 -1
  166. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  167. package/dist/processors/processors/structured-output.d.ts +1 -1
  168. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  169. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  170. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  171. package/dist/processors/processors/token-limiter.d.ts +1 -1
  172. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  173. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  174. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  175. package/dist/provider-registry-3LUCE7FT.js +3 -0
  176. package/dist/{provider-registry-HDG6UMUC.js.map → provider-registry-3LUCE7FT.js.map} +1 -1
  177. package/dist/provider-registry-NBRXBOQT.cjs +40 -0
  178. package/dist/{provider-registry-RP2W4B24.cjs.map → provider-registry-NBRXBOQT.cjs.map} +1 -1
  179. package/dist/provider-registry.json +400 -22
  180. package/dist/{registry-generator-JPCV47SC.cjs → registry-generator-DEPPRYYJ.cjs} +21 -6
  181. package/dist/registry-generator-DEPPRYYJ.cjs.map +1 -0
  182. package/dist/{registry-generator-XD4FPZTU.js → registry-generator-FLW6NV42.js} +21 -7
  183. package/dist/registry-generator-FLW6NV42.js.map +1 -0
  184. package/dist/relevance/index.cjs +2 -2
  185. package/dist/relevance/index.js +1 -1
  186. package/dist/server/composite-auth.d.ts +9 -0
  187. package/dist/server/composite-auth.d.ts.map +1 -0
  188. package/dist/server/index.cjs +31 -0
  189. package/dist/server/index.cjs.map +1 -1
  190. package/dist/server/index.d.ts +1 -0
  191. package/dist/server/index.d.ts.map +1 -1
  192. package/dist/server/index.js +31 -1
  193. package/dist/server/index.js.map +1 -1
  194. package/dist/storage/index.cjs +29 -29
  195. package/dist/storage/index.js +1 -1
  196. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  197. package/dist/stream/base/output.d.ts.map +1 -1
  198. package/dist/stream/index.cjs +11 -11
  199. package/dist/stream/index.js +2 -2
  200. package/dist/stream/types.d.ts +7 -2
  201. package/dist/stream/types.d.ts.map +1 -1
  202. package/dist/test-utils/llm-mock.cjs +2 -2
  203. package/dist/test-utils/llm-mock.js +1 -1
  204. package/dist/tools/index.cjs +6 -6
  205. package/dist/tools/index.js +2 -2
  206. package/dist/tools/is-vercel-tool.cjs +2 -2
  207. package/dist/tools/is-vercel-tool.js +1 -1
  208. package/dist/tools/stream.d.ts +1 -0
  209. package/dist/tools/stream.d.ts.map +1 -1
  210. package/dist/tools/tool-builder/builder.d.ts +2 -0
  211. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  212. package/dist/tools/tool.d.ts +6 -6
  213. package/dist/tools/tool.d.ts.map +1 -1
  214. package/dist/tools/types.d.ts +6 -2
  215. package/dist/tools/types.d.ts.map +1 -1
  216. package/dist/tools/validation.d.ts +13 -1
  217. package/dist/tools/validation.d.ts.map +1 -1
  218. package/dist/utils.cjs +22 -22
  219. package/dist/utils.d.ts +1 -1
  220. package/dist/utils.d.ts.map +1 -1
  221. package/dist/utils.js +1 -1
  222. package/dist/vector/filter/index.cjs +7 -189
  223. package/dist/vector/filter/index.cjs.map +1 -1
  224. package/dist/vector/filter/index.js +1 -190
  225. package/dist/vector/filter/index.js.map +1 -1
  226. package/dist/vector/index.cjs +5 -0
  227. package/dist/vector/index.cjs.map +1 -1
  228. package/dist/vector/index.d.ts +1 -0
  229. package/dist/vector/index.d.ts.map +1 -1
  230. package/dist/vector/index.js +1 -0
  231. package/dist/vector/index.js.map +1 -1
  232. package/dist/vector/types.d.ts +86 -3
  233. package/dist/vector/types.d.ts.map +1 -1
  234. package/dist/vector/vector.d.ts +39 -2
  235. package/dist/vector/vector.d.ts.map +1 -1
  236. package/dist/workflows/default.d.ts.map +1 -1
  237. package/dist/workflows/evented/index.cjs +10 -10
  238. package/dist/workflows/evented/index.js +1 -1
  239. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  240. package/dist/workflows/index.cjs +23 -19
  241. package/dist/workflows/index.js +1 -1
  242. package/dist/workflows/types.d.ts +2 -2
  243. package/dist/workflows/types.d.ts.map +1 -1
  244. package/dist/workflows/utils.d.ts +7 -0
  245. package/dist/workflows/utils.d.ts.map +1 -1
  246. package/dist/workflows/workflow.d.ts +4 -2
  247. package/dist/workflows/workflow.d.ts.map +1 -1
  248. package/package.json +9 -8
  249. package/src/llm/model/provider-types.generated.d.ts +192 -11
  250. package/dist/chunk-2NVBZKZI.cjs.map +0 -1
  251. package/dist/chunk-3RW5EMSB.js.map +0 -1
  252. package/dist/chunk-3W5RQCCY.cjs.map +0 -1
  253. package/dist/chunk-4IKJAKCD.cjs.map +0 -1
  254. package/dist/chunk-4RXG622P.cjs.map +0 -1
  255. package/dist/chunk-5WXEYDFI.cjs.map +0 -1
  256. package/dist/chunk-D6EDHNGV.js.map +0 -1
  257. package/dist/chunk-FVNT7VTO.js.map +0 -1
  258. package/dist/chunk-HBJPYQRN.cjs.map +0 -1
  259. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  260. package/dist/chunk-IHJDOC3A.js.map +0 -1
  261. package/dist/chunk-IWB65P37.cjs.map +0 -1
  262. package/dist/chunk-JXESKY4A.js.map +0 -1
  263. package/dist/chunk-KEURQGCQ.js.map +0 -1
  264. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  265. package/dist/chunk-MDKPL2R2.js.map +0 -1
  266. package/dist/chunk-O6NA3Z43.cjs.map +0 -1
  267. package/dist/chunk-RXDJL5QT.js.map +0 -1
  268. package/dist/chunk-S6OEQHEI.cjs.map +0 -1
  269. package/dist/chunk-U7VECK2G.js.map +0 -1
  270. package/dist/chunk-VSM3NLUX.cjs.map +0 -1
  271. package/dist/chunk-VZC4BWWH.cjs.map +0 -1
  272. package/dist/chunk-W3DD3XP5.js.map +0 -1
  273. package/dist/chunk-WTYNK7Q4.js.map +0 -1
  274. package/dist/chunk-XXBWX7DT.js.map +0 -1
  275. package/dist/chunk-ZCVTH3CH.cjs.map +0 -1
  276. package/dist/models-dev-6PRLJKVZ.js +0 -3
  277. package/dist/models-dev-WHMI5G6Y.cjs +0 -12
  278. package/dist/netlify-46I3SNNV.cjs +0 -12
  279. package/dist/netlify-EBQ6YUC6.js +0 -3
  280. package/dist/provider-registry-HDG6UMUC.js +0 -3
  281. package/dist/provider-registry-RP2W4B24.cjs +0 -40
  282. package/dist/registry-generator-JPCV47SC.cjs.map +0 -1
  283. package/dist/registry-generator-XD4FPZTU.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/model/gateways/netlify.ts"],"names":["MastraModelGateway","InMemoryServerCache","MastraError","createOpenAI","createGoogleGenerativeAI","createAnthropic","createOpenAICompatible"],"mappings":"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","file":"chunk-VZC4BWWH.cjs","sourcesContent":["import { createAnthropic } from '@ai-sdk/anthropic-v5';\nimport { createGoogleGenerativeAI } from '@ai-sdk/google-v5';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport { createOpenAI } from '@ai-sdk/openai-v5';\nimport type { LanguageModelV2 } from '@ai-sdk/provider-v5';\nimport { InMemoryServerCache } from '../../../cache/inmemory.js';\nimport { MastraError } from '../../../error/index.js';\nimport { MastraModelGateway } from './base.js';\nimport type { ProviderConfig } from './base.js';\n\ninterface NetlifyProviderResponse {\n token_env_var: string;\n url_env_var: string;\n models: string[];\n}\ninterface NetlifyResponse {\n providers: Record<string, NetlifyProviderResponse>;\n}\n\ninterface NetlifyTokenResponse {\n token: string;\n url: string;\n expires_at: number;\n}\n\ninterface CachedToken {\n token: string;\n url: string;\n expiresAt: number;\n}\n\ninterface TokenData {\n token: string;\n url: string;\n}\n\nexport class NetlifyGateway extends MastraModelGateway {\n readonly id = 'netlify';\n readonly name = 'Netlify AI Gateway';\n readonly prefix = 'netlify'; // All providers will be prefixed with \"netlify/\"\n private tokenCache = new InMemoryServerCache();\n\n async fetchProviders(): Promise<Record<string, ProviderConfig>> {\n const response = await fetch('https://api.netlify.com/api/v1/ai-gateway/providers');\n if (!response.ok) {\n throw new Error(`Failed to fetch from Netlify: ${response.statusText}`);\n }\n const data = (await response.json()) as NetlifyResponse;\n const netlify: ProviderConfig = {\n apiKeyEnvVar: ['NETLIFY_TOKEN', 'NETLIFY_SITE_ID'],\n apiKeyHeader: 'Authorization', // Netlify uses standard Bearer auth\n name: `Netlify`,\n gateway: `netlify`,\n models: [],\n docUrl: 'https://docs.netlify.com/build/ai-gateway/overview/',\n };\n // Convert Netlify format to our standard format\n for (const [providerId, provider] of Object.entries(data.providers)) {\n for (const model of provider.models) {\n netlify.models.push(`${providerId}/${model}`);\n }\n }\n return { netlify };\n }\n\n async buildUrl(routerId: string, envVars?: typeof process.env): Promise<string> {\n // Check for Netlify site ID first (for token exchange)\n const siteId = envVars?.['NETLIFY_SITE_ID'] || process.env['NETLIFY_SITE_ID'];\n const netlifyToken = envVars?.['NETLIFY_TOKEN'] || process.env['NETLIFY_TOKEN'];\n\n if (!netlifyToken) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_TOKEN',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_TOKEN environment variable required for model: ${routerId}`,\n });\n }\n\n if (!siteId) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_SITE_ID',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_SITE_ID environment variable required for model: ${routerId}`,\n });\n }\n\n try {\n const tokenData = await this.getOrFetchToken(siteId, netlifyToken);\n return tokenData.url.endsWith(`/`) ? tokenData.url.substring(0, tokenData.url.length - 1) : tokenData.url;\n } catch (error) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_TOKEN_ERROR',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Failed to get Netlify AI Gateway token for model ${routerId}: ${error instanceof Error ? error.message : String(error)}`,\n });\n }\n }\n\n /**\n * Get cached token or fetch a new site-specific AI Gateway token from Netlify\n */\n private async getOrFetchToken(siteId: string, netlifyToken: string): Promise<TokenData> {\n const cacheKey = `netlify-token:${siteId}:${netlifyToken}`;\n\n // Check cache first\n const cached = (await this.tokenCache.get(cacheKey)) as CachedToken | undefined;\n if (cached && cached.expiresAt > Date.now() / 1000 + 60) {\n // Return cached token if it won't expire in the next minute\n return { token: cached.token, url: cached.url };\n }\n\n // Fetch new token\n const response = await fetch(`https://api.netlify.com/api/v1/sites/${siteId}/ai-gateway/token`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${netlifyToken}`,\n },\n });\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Failed to get Netlify AI Gateway token: ${response.status} ${error}`);\n }\n\n const tokenResponse = (await response.json()) as NetlifyTokenResponse;\n\n // Cache the token - InMemoryServerCache will handle the TTL\n await this.tokenCache.set(cacheKey, {\n token: tokenResponse.token,\n url: tokenResponse.url,\n expiresAt: tokenResponse.expires_at,\n });\n\n return { token: tokenResponse.token, url: tokenResponse.url };\n }\n\n /**\n * Get cached token or fetch a new site-specific AI Gateway token from Netlify\n */\n async getApiKey(modelId: string): Promise<string> {\n const siteId = process.env['NETLIFY_SITE_ID'];\n const netlifyToken = process.env['NETLIFY_TOKEN'];\n\n if (!netlifyToken) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_TOKEN',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_TOKEN environment variable required for model: ${modelId}`,\n });\n }\n\n if (!siteId) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_NO_SITE_ID',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Missing NETLIFY_SITE_ID environment variable required for model: ${modelId}`,\n });\n }\n\n try {\n return (await this.getOrFetchToken(siteId, netlifyToken)).token;\n } catch (error) {\n throw new MastraError({\n id: 'NETLIFY_GATEWAY_TOKEN_ERROR',\n domain: 'LLM',\n category: 'UNKNOWN',\n text: `Failed to get Netlify AI Gateway token for model ${modelId}: ${error instanceof Error ? error.message : String(error)}`,\n });\n }\n }\n\n async resolveLanguageModel({\n modelId,\n providerId,\n apiKey,\n }: {\n modelId: string;\n providerId: string;\n apiKey: string;\n }): Promise<LanguageModelV2> {\n const baseURL = await this.buildUrl(`${providerId}/${modelId}`);\n\n switch (providerId) {\n case 'openai':\n return createOpenAI({ apiKey, baseURL }).responses(modelId);\n case 'gemini':\n return createGoogleGenerativeAI({\n baseURL: `${baseURL}/v1beta/`,\n apiKey,\n headers: {\n 'user-agent': 'google-genai-sdk/',\n },\n }).chat(modelId);\n case 'anthropic':\n return createAnthropic({\n apiKey,\n baseURL: `${baseURL}/v1/`,\n headers: {\n 'anthropic-version': '2023-06-01',\n 'user-agent': 'anthropic/',\n },\n })(modelId);\n default:\n return createOpenAICompatible({ name: providerId, apiKey, baseURL, supportsStructuredOutputs: true }).chatModel(\n modelId,\n );\n }\n }\n}\n"]}