@mastra/core 1.31.0-alpha.0 → 1.31.0-alpha.2

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 (144) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agent/agent-legacy.d.ts +11 -0
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent.d.ts.map +1 -1
  5. package/dist/agent/durable/index.cjs +22 -22
  6. package/dist/agent/durable/index.js +4 -4
  7. package/dist/agent/index.cjs +9 -9
  8. package/dist/agent/index.js +1 -1
  9. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  10. package/dist/browser/index.cjs +2 -2
  11. package/dist/browser/index.js +1 -1
  12. package/dist/channels/index.cjs +4 -4
  13. package/dist/channels/index.js +1 -1
  14. package/dist/{chunk-T6M7LXNH.js → chunk-2ZK5IF7F.js} +3 -3
  15. package/dist/{chunk-T6M7LXNH.js.map → chunk-2ZK5IF7F.js.map} +1 -1
  16. package/dist/{chunk-FNOZT6AO.js → chunk-56YX4QXF.js} +9 -9
  17. package/dist/{chunk-FNOZT6AO.js.map → chunk-56YX4QXF.js.map} +1 -1
  18. package/dist/{chunk-JCSNUAZW.js → chunk-7K3DRXR5.js} +3 -3
  19. package/dist/{chunk-JCSNUAZW.js.map → chunk-7K3DRXR5.js.map} +1 -1
  20. package/dist/{chunk-JFJ2Z5TP.cjs → chunk-BBGULRCO.cjs} +9 -9
  21. package/dist/{chunk-JFJ2Z5TP.cjs.map → chunk-BBGULRCO.cjs.map} +1 -1
  22. package/dist/{chunk-G4LS5NU4.js → chunk-CVPDCNSV.js} +8 -8
  23. package/dist/{chunk-G4LS5NU4.js.map → chunk-CVPDCNSV.js.map} +1 -1
  24. package/dist/{chunk-I2GDFWAT.cjs → chunk-DOKVBCA6.cjs} +389 -389
  25. package/dist/{chunk-I2GDFWAT.cjs.map → chunk-DOKVBCA6.cjs.map} +1 -1
  26. package/dist/{chunk-2FJAQWKL.cjs → chunk-GM5PX2CG.cjs} +224 -224
  27. package/dist/{chunk-2FJAQWKL.cjs.map → chunk-GM5PX2CG.cjs.map} +1 -1
  28. package/dist/{chunk-DQUFXPSD.js → chunk-HQ5T3ORE.js} +6 -6
  29. package/dist/{chunk-DQUFXPSD.js.map → chunk-HQ5T3ORE.js.map} +1 -1
  30. package/dist/{chunk-6NWBVKKX.js → chunk-IXX6CCDW.js} +7 -5
  31. package/dist/chunk-IXX6CCDW.js.map +1 -0
  32. package/dist/{chunk-ATWCWU4A.cjs → chunk-JGRV2X4U.cjs} +3 -3
  33. package/dist/{chunk-ATWCWU4A.cjs.map → chunk-JGRV2X4U.cjs.map} +1 -1
  34. package/dist/{chunk-BJYOYIKM.cjs → chunk-JHS4KPNK.cjs} +5 -5
  35. package/dist/{chunk-BJYOYIKM.cjs.map → chunk-JHS4KPNK.cjs.map} +1 -1
  36. package/dist/{chunk-YOSCM4RG.cjs → chunk-N6L3UFHQ.cjs} +3 -3
  37. package/dist/{chunk-YOSCM4RG.cjs.map → chunk-N6L3UFHQ.cjs.map} +1 -1
  38. package/dist/{chunk-PXLF2RXT.cjs → chunk-NJPEAYX3.cjs} +20 -20
  39. package/dist/{chunk-PXLF2RXT.cjs.map → chunk-NJPEAYX3.cjs.map} +1 -1
  40. package/dist/{chunk-D76ZTSAI.js → chunk-NWMUCSF3.js} +4 -4
  41. package/dist/{chunk-D76ZTSAI.js.map → chunk-NWMUCSF3.js.map} +1 -1
  42. package/dist/{chunk-4IXBC75W.cjs → chunk-PMPEPPEM.cjs} +169 -34
  43. package/dist/chunk-PMPEPPEM.cjs.map +1 -0
  44. package/dist/{chunk-WKXVKWRG.js → chunk-Q6ZGFUVB.js} +3 -3
  45. package/dist/{chunk-WKXVKWRG.js.map → chunk-Q6ZGFUVB.js.map} +1 -1
  46. package/dist/{chunk-4HNDVU6H.cjs → chunk-QIFCHCII.cjs} +18 -18
  47. package/dist/{chunk-4HNDVU6H.cjs.map → chunk-QIFCHCII.cjs.map} +1 -1
  48. package/dist/{chunk-5EP5MXPD.cjs → chunk-RB5GPVWV.cjs} +62 -60
  49. package/dist/chunk-RB5GPVWV.cjs.map +1 -0
  50. package/dist/{chunk-WE5LBH4J.js → chunk-RPNNSCCV.js} +160 -25
  51. package/dist/chunk-RPNNSCCV.js.map +1 -0
  52. package/dist/{chunk-OFOW2B3L.cjs → chunk-RRYFFH4I.cjs} +7 -7
  53. package/dist/{chunk-OFOW2B3L.cjs.map → chunk-RRYFFH4I.cjs.map} +1 -1
  54. package/dist/{chunk-AZXBNANX.js → chunk-TBGATHGK.js} +3 -3
  55. package/dist/{chunk-AZXBNANX.js.map → chunk-TBGATHGK.js.map} +1 -1
  56. package/dist/{chunk-NXPFGWJP.cjs → chunk-VKILDR4Y.cjs} +6 -6
  57. package/dist/{chunk-NXPFGWJP.cjs.map → chunk-VKILDR4Y.cjs.map} +1 -1
  58. package/dist/{chunk-D7YBG3X3.js → chunk-VRSJM3W2.js} +3 -3
  59. package/dist/{chunk-D7YBG3X3.js.map → chunk-VRSJM3W2.js.map} +1 -1
  60. package/dist/{chunk-LYX254UT.js → chunk-W6637N6M.js} +4 -4
  61. package/dist/{chunk-LYX254UT.js.map → chunk-W6637N6M.js.map} +1 -1
  62. package/dist/datasets/index.cjs +17 -17
  63. package/dist/datasets/index.js +2 -2
  64. package/dist/docs/SKILL.md +2 -1
  65. package/dist/docs/assets/SOURCE_MAP.json +242 -242
  66. package/dist/docs/references/reference-processors-skill-search-processor.md +19 -0
  67. package/dist/docs/references/reference-tools-perplexity.md +155 -0
  68. package/dist/docs/references/reference.md +1 -0
  69. package/dist/evals/index.cjs +6 -6
  70. package/dist/evals/index.js +2 -2
  71. package/dist/evals/scoreTraces/index.cjs +3 -3
  72. package/dist/evals/scoreTraces/index.js +1 -1
  73. package/dist/harness/index.cjs +7 -7
  74. package/dist/harness/index.js +5 -5
  75. package/dist/index.cjs +2 -2
  76. package/dist/index.js +1 -1
  77. package/dist/llm/index.cjs +20 -20
  78. package/dist/llm/index.js +5 -5
  79. package/dist/loop/index.cjs +14 -14
  80. package/dist/loop/index.js +1 -1
  81. package/dist/mastra/index.cjs +2 -2
  82. package/dist/mastra/index.js +1 -1
  83. package/dist/mastra-GU4WOJJ6.js +3 -0
  84. package/dist/{mastra-M3N2HPTL.js.map → mastra-GU4WOJJ6.js.map} +1 -1
  85. package/dist/mastra-HZ6MUPHV.cjs +12 -0
  86. package/dist/{mastra-7KQSO6TX.cjs.map → mastra-HZ6MUPHV.cjs.map} +1 -1
  87. package/dist/memory/index.cjs +19 -19
  88. package/dist/memory/index.js +1 -1
  89. package/dist/models-dev-2U52GDNO.cjs +12 -0
  90. package/dist/{models-dev-FYM3UMMI.cjs.map → models-dev-2U52GDNO.cjs.map} +1 -1
  91. package/dist/models-dev-GBYVKYLD.js +3 -0
  92. package/dist/{models-dev-UUMUDSM2.js.map → models-dev-GBYVKYLD.js.map} +1 -1
  93. package/dist/netlify-26S2YWQC.js +3 -0
  94. package/dist/{netlify-5ZBXHVLT.js.map → netlify-26S2YWQC.js.map} +1 -1
  95. package/dist/netlify-JNHXGWXV.cjs +12 -0
  96. package/dist/{netlify-CWSVLBIK.cjs.map → netlify-JNHXGWXV.cjs.map} +1 -1
  97. package/dist/processor-provider/index.cjs +10 -10
  98. package/dist/processor-provider/index.js +1 -1
  99. package/dist/processors/index.cjs +49 -49
  100. package/dist/processors/index.d.ts +5 -0
  101. package/dist/processors/index.d.ts.map +1 -1
  102. package/dist/processors/index.js +1 -1
  103. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  104. package/dist/processors/processors/skill-search.d.ts +1 -0
  105. package/dist/processors/processors/skill-search.d.ts.map +1 -1
  106. package/dist/provider-registry-2V4UUBCN.cjs +44 -0
  107. package/dist/{provider-registry-2ARM242M.cjs.map → provider-registry-2V4UUBCN.cjs.map} +1 -1
  108. package/dist/provider-registry-ZOKLGIOR.js +3 -0
  109. package/dist/{provider-registry-P2LJ6OUB.js.map → provider-registry-ZOKLGIOR.js.map} +1 -1
  110. package/dist/relevance/index.cjs +3 -3
  111. package/dist/relevance/index.js +1 -1
  112. package/dist/runner-DCM7XKBG.cjs +16 -0
  113. package/dist/{runner-5LZJOXWB.cjs.map → runner-DCM7XKBG.cjs.map} +1 -1
  114. package/dist/runner-LXMA6PBE.js +3 -0
  115. package/dist/{runner-FPZRZ3D7.js.map → runner-LXMA6PBE.js.map} +1 -1
  116. package/dist/storage/index.cjs +59 -59
  117. package/dist/storage/index.js +2 -2
  118. package/dist/stream/index.cjs +11 -11
  119. package/dist/stream/index.js +1 -1
  120. package/dist/tool-loop-agent/index.cjs +4 -4
  121. package/dist/tool-loop-agent/index.js +1 -1
  122. package/dist/vector/index.cjs +7 -7
  123. package/dist/vector/index.js +1 -1
  124. package/dist/workflows/evented/index.cjs +10 -10
  125. package/dist/workflows/evented/index.js +1 -1
  126. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  127. package/dist/workflows/index.cjs +24 -24
  128. package/dist/workflows/index.js +1 -1
  129. package/dist/workflows/workflow.d.ts.map +1 -1
  130. package/package.json +5 -5
  131. package/dist/chunk-4IXBC75W.cjs.map +0 -1
  132. package/dist/chunk-5EP5MXPD.cjs.map +0 -1
  133. package/dist/chunk-6NWBVKKX.js.map +0 -1
  134. package/dist/chunk-WE5LBH4J.js.map +0 -1
  135. package/dist/mastra-7KQSO6TX.cjs +0 -12
  136. package/dist/mastra-M3N2HPTL.js +0 -3
  137. package/dist/models-dev-FYM3UMMI.cjs +0 -12
  138. package/dist/models-dev-UUMUDSM2.js +0 -3
  139. package/dist/netlify-5ZBXHVLT.js +0 -3
  140. package/dist/netlify-CWSVLBIK.cjs +0 -12
  141. package/dist/provider-registry-2ARM242M.cjs +0 -44
  142. package/dist/provider-registry-P2LJ6OUB.js +0 -3
  143. package/dist/runner-5LZJOXWB.cjs +0 -16
  144. package/dist/runner-FPZRZ3D7.js +0 -3
@@ -1,4 +1,4 @@
1
- import { MastraModelGateway, createOpenAICompatible, MASTRA_USER_AGENT, createAnthropic, createGoogleGenerativeAI, createOpenAI } from './chunk-D7YBG3X3.js';
1
+ import { MastraModelGateway, createOpenAICompatible, MASTRA_USER_AGENT, createAnthropic, createGoogleGenerativeAI, createOpenAI } from './chunk-VRSJM3W2.js';
2
2
  import { InMemoryServerCache } from './chunk-CH66BRBG.js';
3
3
  import { MastraError } from './chunk-FJEVLHJT.js';
4
4
 
@@ -161,5 +161,5 @@ var NetlifyGateway = class extends MastraModelGateway {
161
161
  };
162
162
 
163
163
  export { NetlifyGateway };
164
- //# sourceMappingURL=chunk-WKXVKWRG.js.map
165
- //# sourceMappingURL=chunk-WKXVKWRG.js.map
164
+ //# sourceMappingURL=chunk-Q6ZGFUVB.js.map
165
+ //# sourceMappingURL=chunk-Q6ZGFUVB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/llm/model/gateways/netlify.ts"],"names":[],"mappings":"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","file":"chunk-WKXVKWRG.js","sourcesContent":["import { createAnthropic } from '@ai-sdk/anthropic-v6';\nimport { createGoogleGenerativeAI } from '@ai-sdk/google-v6';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport { createOpenAI } from '@ai-sdk/openai-v6';\nimport { InMemoryServerCache } from '../../../cache/inmemory.js';\nimport { MastraError } from '../../../error/index.js';\nimport { MastraModelGateway } from './base.js';\nimport type { ProviderConfig, GatewayLanguageModel } from './base.js';\nimport { MASTRA_USER_AGENT } from './constants.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 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 config: ProviderConfig = {\n apiKeyEnvVar: ['NETLIFY_TOKEN', 'NETLIFY_SITE_ID'],\n apiKeyHeader: 'Authorization',\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 config.models.push(`${providerId}/${model}`);\n }\n }\n // Return with gateway ID as key - registry generator will detect this and avoid doubling the prefix\n return { netlify: config };\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 headers,\n }: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n }): Promise<GatewayLanguageModel> {\n const baseURL = await this.buildUrl(`${providerId}/${modelId}`);\n\n const mastraHeaders = { 'User-Agent': MASTRA_USER_AGENT, ...headers };\n\n switch (providerId) {\n case 'openai':\n return createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);\n case 'gemini':\n return createGoogleGenerativeAI({\n baseURL: `${baseURL}/v1beta/`,\n apiKey,\n headers: {\n 'user-agent': 'google-genai-sdk/',\n ...mastraHeaders,\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 ...mastraHeaders,\n },\n })(modelId);\n default:\n return createOpenAICompatible({\n name: providerId,\n apiKey,\n baseURL,\n headers: mastraHeaders,\n supportsStructuredOutputs: true,\n }).chatModel(modelId);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/llm/model/gateways/netlify.ts"],"names":[],"mappings":"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","file":"chunk-Q6ZGFUVB.js","sourcesContent":["import { createAnthropic } from '@ai-sdk/anthropic-v6';\nimport { createGoogleGenerativeAI } from '@ai-sdk/google-v6';\nimport { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';\nimport { createOpenAI } from '@ai-sdk/openai-v6';\nimport { InMemoryServerCache } from '../../../cache/inmemory.js';\nimport { MastraError } from '../../../error/index.js';\nimport { MastraModelGateway } from './base.js';\nimport type { ProviderConfig, GatewayLanguageModel } from './base.js';\nimport { MASTRA_USER_AGENT } from './constants.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 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 config: ProviderConfig = {\n apiKeyEnvVar: ['NETLIFY_TOKEN', 'NETLIFY_SITE_ID'],\n apiKeyHeader: 'Authorization',\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 config.models.push(`${providerId}/${model}`);\n }\n }\n // Return with gateway ID as key - registry generator will detect this and avoid doubling the prefix\n return { netlify: config };\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 headers,\n }: {\n modelId: string;\n providerId: string;\n apiKey: string;\n headers?: Record<string, string>;\n }): Promise<GatewayLanguageModel> {\n const baseURL = await this.buildUrl(`${providerId}/${modelId}`);\n\n const mastraHeaders = { 'User-Agent': MASTRA_USER_AGENT, ...headers };\n\n switch (providerId) {\n case 'openai':\n return createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);\n case 'gemini':\n return createGoogleGenerativeAI({\n baseURL: `${baseURL}/v1beta/`,\n apiKey,\n headers: {\n 'user-agent': 'google-genai-sdk/',\n ...mastraHeaders,\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 ...mastraHeaders,\n },\n })(modelId);\n default:\n return createOpenAICompatible({\n name: providerId,\n apiKey,\n baseURL,\n headers: mastraHeaders,\n supportsStructuredOutputs: true,\n }).chatModel(modelId);\n }\n }\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunk5EP5MXPD_cjs = require('./chunk-5EP5MXPD.cjs');
4
- var chunkOFOW2B3L_cjs = require('./chunk-OFOW2B3L.cjs');
3
+ var chunkRB5GPVWV_cjs = require('./chunk-RB5GPVWV.cjs');
4
+ var chunkRRYFFH4I_cjs = require('./chunk-RRYFFH4I.cjs');
5
5
  var chunk6ZDWJUUO_cjs = require('./chunk-6ZDWJUUO.cjs');
6
- var chunkNXPFGWJP_cjs = require('./chunk-NXPFGWJP.cjs');
7
- var chunkBJYOYIKM_cjs = require('./chunk-BJYOYIKM.cjs');
8
- var chunk4IXBC75W_cjs = require('./chunk-4IXBC75W.cjs');
6
+ var chunkVKILDR4Y_cjs = require('./chunk-VKILDR4Y.cjs');
7
+ var chunkJHS4KPNK_cjs = require('./chunk-JHS4KPNK.cjs');
8
+ var chunkPMPEPPEM_cjs = require('./chunk-PMPEPPEM.cjs');
9
9
  var chunkRD4AETXE_cjs = require('./chunk-RD4AETXE.cjs');
10
10
  var chunkHM6XXOV2_cjs = require('./chunk-HM6XXOV2.cjs');
11
11
  var chunkMR7ZWBL6_cjs = require('./chunk-MR7ZWBL6.cjs');
12
- var chunkI2GDFWAT_cjs = require('./chunk-I2GDFWAT.cjs');
12
+ var chunkDOKVBCA6_cjs = require('./chunk-DOKVBCA6.cjs');
13
13
  var chunkGLBBBSS5_cjs = require('./chunk-GLBBBSS5.cjs');
14
14
  var chunkIBQB7RSW_cjs = require('./chunk-IBQB7RSW.cjs');
15
15
  var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
@@ -78,7 +78,7 @@ var Mastra = class {
78
78
  }
79
79
  get datasets() {
80
80
  if (!this.#datasets) {
81
- this.#datasets = new chunkNXPFGWJP_cjs.DatasetsManager(this);
81
+ this.#datasets = new chunkVKILDR4Y_cjs.DatasetsManager(this);
82
82
  }
83
83
  return this.#datasets;
84
84
  }
@@ -300,7 +300,7 @@ var Mastra = class {
300
300
  this.#events[topic] = config?.events?.[topic] ?? [];
301
301
  }
302
302
  }
303
- const workflowEventProcessor = new chunk5EP5MXPD_cjs.WorkflowEventProcessor({ mastra: this });
303
+ const workflowEventProcessor = new chunkRB5GPVWV_cjs.WorkflowEventProcessor({ mastra: this });
304
304
  const workflowEventCb = async (event, cb) => {
305
305
  try {
306
306
  await workflowEventProcessor.process(event, cb);
@@ -328,7 +328,7 @@ var Mastra = class {
328
328
  this.#idGenerator = config?.idGenerator;
329
329
  let storage = config?.storage;
330
330
  if (storage) {
331
- storage = chunk4IXBC75W_cjs.augmentWithInit(storage);
331
+ storage = chunkPMPEPPEM_cjs.augmentWithInit(storage);
332
332
  }
333
333
  if (config?.observability) {
334
334
  if (typeof config.observability.getDefaultInstance === "function") {
@@ -411,7 +411,7 @@ var Mastra = class {
411
411
  }
412
412
  });
413
413
  }
414
- for (const gateway of chunkI2GDFWAT_cjs.defaultGateways) {
414
+ for (const gateway of chunkDOKVBCA6_cjs.defaultGateways) {
415
415
  const key = gateway.getId();
416
416
  if (!this.#gateways[key]) {
417
417
  this.#gateways[key] = gateway;
@@ -441,7 +441,7 @@ var Mastra = class {
441
441
  }
442
442
  });
443
443
  }
444
- chunkMR7ZWBL6_cjs.registerHook("onScorerRun" /* ON_SCORER_RUN */, chunkBJYOYIKM_cjs.createOnScorerHook(this));
444
+ chunkMR7ZWBL6_cjs.registerHook("onScorerRun" /* ON_SCORER_RUN */, chunkJHS4KPNK_cjs.createOnScorerHook(this));
445
445
  this.#observability.setMastraContext({ mastra: this });
446
446
  this.setLogger({ logger });
447
447
  }
@@ -623,7 +623,7 @@ var Mastra = class {
623
623
  if (!agent) {
624
624
  throw createUndefinedPrimitiveError("agent", agent, key);
625
625
  }
626
- if (chunk4IXBC75W_cjs.isDurableAgentLike(agent)) {
626
+ if (chunkPMPEPPEM_cjs.isDurableAgentLike(agent)) {
627
627
  const durableAgent = agent;
628
628
  const underlyingAgent = durableAgent.agent;
629
629
  const agentKey2 = key || durableAgent.id;
@@ -651,8 +651,8 @@ var Mastra = class {
651
651
  return;
652
652
  }
653
653
  let mastraAgent;
654
- if (chunkOFOW2B3L_cjs.isToolLoopAgentLike(agent)) {
655
- mastraAgent = chunkOFOW2B3L_cjs.toolLoopAgentToMastraAgent(agent, { fallbackName: key });
654
+ if (chunkRRYFFH4I_cjs.isToolLoopAgentLike(agent)) {
655
+ mastraAgent = chunkRRYFFH4I_cjs.toolLoopAgentToMastraAgent(agent, { fallbackName: key });
656
656
  } else {
657
657
  mastraAgent = agent;
658
658
  }
@@ -1994,7 +1994,7 @@ var Mastra = class {
1994
1994
  * ```
1995
1995
  */
1996
1996
  setStorage(storage) {
1997
- this.#storage = chunk4IXBC75W_cjs.augmentWithInit(storage);
1997
+ this.#storage = chunkPMPEPPEM_cjs.augmentWithInit(storage);
1998
1998
  this.#ensureBackgroundTaskManager();
1999
1999
  }
2000
2000
  setLogger({ logger }) {
@@ -2685,7 +2685,7 @@ var Mastra = class {
2685
2685
  if (process.env.MASTRA_DEV !== "true" && process.env.MASTRA_DEV !== "1") {
2686
2686
  return;
2687
2687
  }
2688
- import('./provider-registry-2ARM242M.cjs').then(async ({ GatewayRegistry }) => {
2688
+ import('./provider-registry-2V4UUBCN.cjs').then(async ({ GatewayRegistry }) => {
2689
2689
  const registry = GatewayRegistry.getInstance();
2690
2690
  const customGateways = Object.values(this.#gateways || {});
2691
2691
  registry.registerCustomGateways(customGateways);
@@ -2739,5 +2739,5 @@ var Mastra = class {
2739
2739
  };
2740
2740
 
2741
2741
  exports.Mastra = Mastra;
2742
- //# sourceMappingURL=chunk-4HNDVU6H.cjs.map
2743
- //# sourceMappingURL=chunk-4HNDVU6H.cjs.map
2742
+ //# sourceMappingURL=chunk-QIFCHCII.cjs.map
2743
+ //# sourceMappingURL=chunk-QIFCHCII.cjs.map