@mastra/core 0.22.2 → 0.23.0

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 (199) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/agent/agent.d.ts +5 -1
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.types.d.ts +5 -1
  5. package/dist/agent/agent.types.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +13 -13
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/input-processor/index.cjs +6 -6
  9. package/dist/agent/input-processor/index.js +1 -1
  10. package/dist/agent/message-list/index.d.ts +32 -0
  11. package/dist/agent/message-list/index.d.ts.map +1 -1
  12. package/dist/agent/utils.d.ts +2 -8
  13. package/dist/agent/utils.d.ts.map +1 -1
  14. package/dist/agent/workflows/prepare-stream/index.d.ts +6 -2
  15. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +6 -2
  17. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  18. package/dist/ai-tracing/chunk-tracing.d.ts +10 -10
  19. package/dist/ai-tracing/chunk-tracing.d.ts.map +1 -1
  20. package/dist/ai-tracing/index.cjs +36 -36
  21. package/dist/ai-tracing/index.js +1 -1
  22. package/dist/ai-tracing/types.d.ts +17 -17
  23. package/dist/ai-tracing/types.d.ts.map +1 -1
  24. package/dist/{chunk-5CHZUAZV.cjs → chunk-34WQUECJ.cjs} +98 -98
  25. package/dist/chunk-34WQUECJ.cjs.map +1 -0
  26. package/dist/{chunk-VQLW7LPO.js → chunk-34ZCWSUA.js} +3 -3
  27. package/dist/{chunk-VQLW7LPO.js.map → chunk-34ZCWSUA.js.map} +1 -1
  28. package/dist/{chunk-YGL6E6PD.cjs → chunk-3JX2Y3WH.cjs} +9 -9
  29. package/dist/{chunk-YGL6E6PD.cjs.map → chunk-3JX2Y3WH.cjs.map} +1 -1
  30. package/dist/{chunk-RWWOJXMF.cjs → chunk-4XE7GVZM.cjs} +23 -23
  31. package/dist/{chunk-RWWOJXMF.cjs.map → chunk-4XE7GVZM.cjs.map} +1 -1
  32. package/dist/{chunk-FMNZ3BPT.cjs → chunk-4YHU6R7W.cjs} +96 -12
  33. package/dist/chunk-4YHU6R7W.cjs.map +1 -0
  34. package/dist/{chunk-WM4VQWOZ.cjs → chunk-5NTO7S5I.cjs} +72 -2
  35. package/dist/chunk-5NTO7S5I.cjs.map +1 -0
  36. package/dist/{chunk-MQ67HP3O.cjs → chunk-5P4S4AVU.cjs} +4 -4
  37. package/dist/{chunk-MQ67HP3O.cjs.map → chunk-5P4S4AVU.cjs.map} +1 -1
  38. package/dist/{chunk-576KDLXN.cjs → chunk-6KOL2B3A.cjs} +5 -5
  39. package/dist/{chunk-576KDLXN.cjs.map → chunk-6KOL2B3A.cjs.map} +1 -1
  40. package/dist/{chunk-T2RDWNN6.js → chunk-7KYNQSR4.js} +38 -39
  41. package/dist/chunk-7KYNQSR4.js.map +1 -0
  42. package/dist/{chunk-AMHNTB4N.cjs → chunk-7XAVBWZI.cjs} +19 -19
  43. package/dist/{chunk-AMHNTB4N.cjs.map → chunk-7XAVBWZI.cjs.map} +1 -1
  44. package/dist/{chunk-HZIF7HQC.js → chunk-A55YFHFT.js} +8 -8
  45. package/dist/{chunk-HZIF7HQC.js.map → chunk-A55YFHFT.js.map} +1 -1
  46. package/dist/{chunk-2JUDZXVI.cjs → chunk-AQGLVU53.cjs} +6 -6
  47. package/dist/{chunk-2JUDZXVI.cjs.map → chunk-AQGLVU53.cjs.map} +1 -1
  48. package/dist/{chunk-2DVGQK2L.js → chunk-BLUDYAPI.js} +3 -3
  49. package/dist/{chunk-2DVGQK2L.js.map → chunk-BLUDYAPI.js.map} +1 -1
  50. package/dist/{chunk-ROBLMWF6.cjs → chunk-DMBN72QF.cjs} +4 -4
  51. package/dist/{chunk-ROBLMWF6.cjs.map → chunk-DMBN72QF.cjs.map} +1 -1
  52. package/dist/{chunk-HD455BM6.cjs → chunk-DPE27ECD.cjs} +23 -23
  53. package/dist/{chunk-HD455BM6.cjs.map → chunk-DPE27ECD.cjs.map} +1 -1
  54. package/dist/{chunk-CGT36GQE.cjs → chunk-HANVMC6C.cjs} +36 -36
  55. package/dist/{chunk-CGT36GQE.cjs.map → chunk-HANVMC6C.cjs.map} +1 -1
  56. package/dist/{chunk-5NYWRAJN.js → chunk-HFXV34OE.js} +3 -3
  57. package/dist/{chunk-5NYWRAJN.js.map → chunk-HFXV34OE.js.map} +1 -1
  58. package/dist/{chunk-KQBF5ZEN.js → chunk-ITCG6QJR.js} +5 -5
  59. package/dist/{chunk-KQBF5ZEN.js.map → chunk-ITCG6QJR.js.map} +1 -1
  60. package/dist/{chunk-634YFL42.cjs → chunk-JTI6TVDV.cjs} +63 -12
  61. package/dist/chunk-JTI6TVDV.cjs.map +1 -0
  62. package/dist/{chunk-RBO5BUGG.js → chunk-JVV5LREI.js} +3 -3
  63. package/dist/{chunk-RBO5BUGG.js.map → chunk-JVV5LREI.js.map} +1 -1
  64. package/dist/{chunk-A3TQYIIR.js → chunk-JZ7I64PK.js} +93 -9
  65. package/dist/chunk-JZ7I64PK.js.map +1 -0
  66. package/dist/{chunk-PJDIDFKV.js → chunk-MRJUTTCU.js} +3 -3
  67. package/dist/{chunk-PJDIDFKV.js.map → chunk-MRJUTTCU.js.map} +1 -1
  68. package/dist/{chunk-NFIADRH5.js → chunk-NPNGPMT2.js} +3 -3
  69. package/dist/{chunk-NFIADRH5.js.map → chunk-NPNGPMT2.js.map} +1 -1
  70. package/dist/{chunk-IQGDOBME.cjs → chunk-NUAURT4I.cjs} +6 -6
  71. package/dist/{chunk-IQGDOBME.cjs.map → chunk-NUAURT4I.cjs.map} +1 -1
  72. package/dist/{chunk-4PMF7QUH.js → chunk-NVDVFJWA.js} +4 -4
  73. package/dist/{chunk-4PMF7QUH.js.map → chunk-NVDVFJWA.js.map} +1 -1
  74. package/dist/{chunk-M4AX46DS.js → chunk-OIT3PCWA.js} +3 -3
  75. package/dist/{chunk-M4AX46DS.js.map → chunk-OIT3PCWA.js.map} +1 -1
  76. package/dist/{chunk-3CVE7NQC.js → chunk-ONKGWHY6.js} +17 -17
  77. package/dist/chunk-ONKGWHY6.js.map +1 -0
  78. package/dist/{chunk-5GIAZ3CH.cjs → chunk-PDST7KX7.cjs} +22 -22
  79. package/dist/chunk-PDST7KX7.cjs.map +1 -0
  80. package/dist/{chunk-VD27FF3L.js → chunk-PS4ABZY7.js} +7 -7
  81. package/dist/{chunk-VD27FF3L.js.map → chunk-PS4ABZY7.js.map} +1 -1
  82. package/dist/{chunk-T3JFFQH2.js → chunk-PZUZNPFM.js} +72 -3
  83. package/dist/chunk-PZUZNPFM.js.map +1 -0
  84. package/dist/{chunk-VX7NIAMW.js → chunk-QOTPNUIA.js} +5 -5
  85. package/dist/{chunk-VX7NIAMW.js.map → chunk-QOTPNUIA.js.map} +1 -1
  86. package/dist/{chunk-TKYKL7Y4.cjs → chunk-TX4TTPYJ.cjs} +16 -16
  87. package/dist/{chunk-TKYKL7Y4.cjs.map → chunk-TX4TTPYJ.cjs.map} +1 -1
  88. package/dist/{chunk-ZDW322JC.cjs → chunk-TYWQLUF6.cjs} +8 -8
  89. package/dist/{chunk-ZDW322JC.cjs.map → chunk-TYWQLUF6.cjs.map} +1 -1
  90. package/dist/{chunk-A4B6IAKN.cjs → chunk-VTNVK7HN.cjs} +4 -4
  91. package/dist/{chunk-A4B6IAKN.cjs.map → chunk-VTNVK7HN.cjs.map} +1 -1
  92. package/dist/{chunk-I7KJDXUK.cjs → chunk-WBAXXG34.cjs} +19 -19
  93. package/dist/{chunk-I7KJDXUK.cjs.map → chunk-WBAXXG34.cjs.map} +1 -1
  94. package/dist/{chunk-LBEV3YZ2.js → chunk-WCHE6FJ7.js} +4 -4
  95. package/dist/{chunk-LBEV3YZ2.js.map → chunk-WCHE6FJ7.js.map} +1 -1
  96. package/dist/{chunk-Z2OK2JM2.js → chunk-ZISECZZO.js} +3 -3
  97. package/dist/{chunk-Z2OK2JM2.js.map → chunk-ZISECZZO.js.map} +1 -1
  98. package/dist/{chunk-AGD5B3FB.js → chunk-ZWF7AVLU.js} +55 -4
  99. package/dist/chunk-ZWF7AVLU.js.map +1 -0
  100. package/dist/error/index.cjs +9 -5
  101. package/dist/error/index.d.ts +1 -1
  102. package/dist/error/index.d.ts.map +1 -1
  103. package/dist/error/index.js +1 -1
  104. package/dist/error/utils.d.ts +28 -0
  105. package/dist/error/utils.d.ts.map +1 -1
  106. package/dist/eval/index.cjs +3 -3
  107. package/dist/eval/index.js +1 -1
  108. package/dist/index.cjs +72 -68
  109. package/dist/index.js +15 -15
  110. package/dist/llm/index.cjs +7 -7
  111. package/dist/llm/index.js +1 -1
  112. package/dist/llm/model/model.loop.d.ts +1 -1
  113. package/dist/llm/model/model.loop.d.ts.map +1 -1
  114. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  115. package/dist/llm/model/provider-types.generated.d.ts +14 -0
  116. package/dist/loop/index.cjs +2 -2
  117. package/dist/loop/index.js +1 -1
  118. package/dist/loop/loop.d.ts.map +1 -1
  119. package/dist/loop/types.d.ts +6 -3
  120. package/dist/loop/types.d.ts.map +1 -1
  121. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  122. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  123. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  124. package/dist/loop/workflows/stream.d.ts +1 -1
  125. package/dist/loop/workflows/stream.d.ts.map +1 -1
  126. package/dist/mastra/index.cjs +2 -2
  127. package/dist/mastra/index.js +1 -1
  128. package/dist/memory/index.cjs +4 -4
  129. package/dist/memory/index.js +1 -1
  130. package/dist/netlify-TX6V7SJJ.cjs +12 -0
  131. package/dist/{netlify-F3MVGV4Y.cjs.map → netlify-TX6V7SJJ.cjs.map} +1 -1
  132. package/dist/netlify-VJXBII33.js +3 -0
  133. package/dist/{netlify-26MMY5X4.js.map → netlify-VJXBII33.js.map} +1 -1
  134. package/dist/processors/index.cjs +11 -11
  135. package/dist/processors/index.js +1 -1
  136. package/dist/provider-registry.json +38 -2
  137. package/dist/relevance/index.cjs +4 -4
  138. package/dist/relevance/index.js +1 -1
  139. package/dist/scores/index.cjs +9 -9
  140. package/dist/scores/index.js +2 -2
  141. package/dist/scores/scoreTraces/index.cjs +15 -15
  142. package/dist/scores/scoreTraces/index.cjs.map +1 -1
  143. package/dist/scores/scoreTraces/index.js +6 -6
  144. package/dist/scores/scoreTraces/index.js.map +1 -1
  145. package/dist/server/index.cjs +7 -7
  146. package/dist/server/index.js +2 -2
  147. package/dist/storage/index.cjs +25 -25
  148. package/dist/storage/index.js +4 -4
  149. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  150. package/dist/stream/aisdk/v5/output.d.ts +2 -8
  151. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  152. package/dist/stream/base/output.d.ts +31 -13
  153. package/dist/stream/base/output.d.ts.map +1 -1
  154. package/dist/stream/index.cjs +11 -11
  155. package/dist/stream/index.js +2 -2
  156. package/dist/telemetry/index.cjs +7 -7
  157. package/dist/telemetry/index.js +1 -1
  158. package/dist/test-utils/llm-mock.cjs +2 -2
  159. package/dist/test-utils/llm-mock.js +1 -1
  160. package/dist/tts/index.cjs +2 -2
  161. package/dist/tts/index.js +1 -1
  162. package/dist/utils.cjs +17 -17
  163. package/dist/utils.js +1 -1
  164. package/dist/vector/index.cjs +4 -4
  165. package/dist/vector/index.js +1 -1
  166. package/dist/voice/index.cjs +4 -4
  167. package/dist/voice/index.js +1 -1
  168. package/dist/workflows/default.d.ts +11 -1
  169. package/dist/workflows/default.d.ts.map +1 -1
  170. package/dist/workflows/evented/index.cjs +10 -10
  171. package/dist/workflows/evented/index.js +1 -1
  172. package/dist/workflows/execution-engine.d.ts +3 -0
  173. package/dist/workflows/execution-engine.d.ts.map +1 -1
  174. package/dist/workflows/index.cjs +16 -12
  175. package/dist/workflows/index.js +1 -1
  176. package/dist/workflows/legacy/index.cjs +22 -22
  177. package/dist/workflows/legacy/index.js +1 -1
  178. package/dist/workflows/step.d.ts +1 -1
  179. package/dist/workflows/step.d.ts.map +1 -1
  180. package/dist/workflows/types.d.ts +16 -1
  181. package/dist/workflows/types.d.ts.map +1 -1
  182. package/dist/workflows/utils.d.ts +7 -0
  183. package/dist/workflows/utils.d.ts.map +1 -1
  184. package/dist/workflows/workflow.d.ts +12 -3
  185. package/dist/workflows/workflow.d.ts.map +1 -1
  186. package/package.json +11 -4
  187. package/src/llm/model/provider-types.generated.d.ts +14 -0
  188. package/dist/chunk-3CVE7NQC.js.map +0 -1
  189. package/dist/chunk-5CHZUAZV.cjs.map +0 -1
  190. package/dist/chunk-5GIAZ3CH.cjs.map +0 -1
  191. package/dist/chunk-634YFL42.cjs.map +0 -1
  192. package/dist/chunk-A3TQYIIR.js.map +0 -1
  193. package/dist/chunk-AGD5B3FB.js.map +0 -1
  194. package/dist/chunk-FMNZ3BPT.cjs.map +0 -1
  195. package/dist/chunk-T2RDWNN6.js.map +0 -1
  196. package/dist/chunk-T3JFFQH2.js.map +0 -1
  197. package/dist/chunk-WM4VQWOZ.cjs.map +0 -1
  198. package/dist/netlify-26MMY5X4.js +0 -3
  199. package/dist/netlify-F3MVGV4Y.cjs +0 -12
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkLZUSZT7R_cjs = require('./chunk-LZUSZT7R.cjs');
4
- var chunkYGL6E6PD_cjs = require('./chunk-YGL6E6PD.cjs');
4
+ var chunk3JX2Y3WH_cjs = require('./chunk-3JX2Y3WH.cjs');
5
5
  var chunkGPWMM745_cjs = require('./chunk-GPWMM745.cjs');
6
- var chunkWM4VQWOZ_cjs = require('./chunk-WM4VQWOZ.cjs');
6
+ var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
7
7
  var fs = require('fs');
8
8
  var module$1 = require('module');
9
9
  var os = require('os');
@@ -136,6 +136,21 @@ var provider_registry_default = {
136
136
  docUrl: "https://docs.x.ai/docs/models",
137
137
  gateway: "models.dev"
138
138
  },
139
+ vultr: {
140
+ url: "https://api.vultrinference.com/v1",
141
+ apiKeyEnvVar: "VULTR_API_KEY",
142
+ apiKeyHeader: "Authorization",
143
+ name: "Vultr",
144
+ models: [
145
+ "deepseek-r1-distill-llama-70b",
146
+ "deepseek-r1-distill-qwen-32b",
147
+ "gpt-oss-120b",
148
+ "kimi-k2-instruct",
149
+ "qwen2.5-coder-32b-instruct"
150
+ ],
151
+ docUrl: "https://api.vultrinference.com/",
152
+ gateway: "models.dev"
153
+ },
139
154
  nvidia: {
140
155
  url: "https://integrate.api.nvidia.com/v1",
141
156
  apiKeyEnvVar: "NVIDIA_API_KEY",
@@ -151,6 +166,7 @@ var provider_registry_default = {
151
166
  "moonshotai/kimi-k2-instruct-0905",
152
167
  "nvidia/cosmos-nemotron-34b",
153
168
  "nvidia/llama-3.1-nemotron-ultra-253b-v1",
169
+ "nvidia/llama-embed-nemotron-8b",
154
170
  "nvidia/nemoretriever-ocr-v1",
155
171
  "nvidia/parakeet-tdt-0.6b-v2",
156
172
  "openai/gpt-oss-120b",
@@ -610,6 +626,8 @@ var provider_registry_default = {
610
626
  models: [
611
627
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
612
628
  "Qwen/Qwen3-Coder-480B-A35B-Instruct",
629
+ "Qwen/Qwen3-Embedding-4B",
630
+ "Qwen/Qwen3-Embedding-8B",
613
631
  "Qwen/Qwen3-Next-80B-A3B-Instruct",
614
632
  "Qwen/Qwen3-Next-80B-A3B-Thinking",
615
633
  "deepseek-ai/DeepSeek-R1-0528",
@@ -694,6 +712,7 @@ var provider_registry_default = {
694
712
  "gemini-2.5-pro-preview-05-06",
695
713
  "gemini-2.5-pro-preview-06-05",
696
714
  "gemini-2.5-pro-preview-tts",
715
+ "gemini-embedding-001",
697
716
  "gemini-flash-latest",
698
717
  "gemini-flash-lite-latest",
699
718
  "gemini-live-2.5-flash",
@@ -761,7 +780,10 @@ var provider_registry_default = {
761
780
  "o3-mini",
762
781
  "o3-pro",
763
782
  "o4-mini",
764
- "o4-mini-deep-research"
783
+ "o4-mini-deep-research",
784
+ "text-embedding-3-large",
785
+ "text-embedding-3-small",
786
+ "text-embedding-ada-002"
765
787
  ],
766
788
  docUrl: "https://platform.openai.com/docs/models",
767
789
  gateway: "models.dev"
@@ -1268,6 +1290,13 @@ var provider_registry_default = {
1268
1290
  "grok-code-fast-1",
1269
1291
  "grok-vision-beta"
1270
1292
  ],
1293
+ vultr: [
1294
+ "deepseek-r1-distill-llama-70b",
1295
+ "deepseek-r1-distill-qwen-32b",
1296
+ "gpt-oss-120b",
1297
+ "kimi-k2-instruct",
1298
+ "qwen2.5-coder-32b-instruct"
1299
+ ],
1271
1300
  nvidia: [
1272
1301
  "black-forest-labs/flux.1-dev",
1273
1302
  "deepseek-ai/deepseek-v3.1",
@@ -1278,6 +1307,7 @@ var provider_registry_default = {
1278
1307
  "moonshotai/kimi-k2-instruct-0905",
1279
1308
  "nvidia/cosmos-nemotron-34b",
1280
1309
  "nvidia/llama-3.1-nemotron-ultra-253b-v1",
1310
+ "nvidia/llama-embed-nemotron-8b",
1281
1311
  "nvidia/nemoretriever-ocr-v1",
1282
1312
  "nvidia/parakeet-tdt-0.6b-v2",
1283
1313
  "openai/gpt-oss-120b",
@@ -1625,6 +1655,8 @@ var provider_registry_default = {
1625
1655
  huggingface: [
1626
1656
  "Qwen/Qwen3-235B-A22B-Thinking-2507",
1627
1657
  "Qwen/Qwen3-Coder-480B-A35B-Instruct",
1658
+ "Qwen/Qwen3-Embedding-4B",
1659
+ "Qwen/Qwen3-Embedding-8B",
1628
1660
  "Qwen/Qwen3-Next-80B-A3B-Instruct",
1629
1661
  "Qwen/Qwen3-Next-80B-A3B-Thinking",
1630
1662
  "deepseek-ai/DeepSeek-R1-0528",
@@ -1687,6 +1719,7 @@ var provider_registry_default = {
1687
1719
  "gemini-2.5-pro-preview-05-06",
1688
1720
  "gemini-2.5-pro-preview-06-05",
1689
1721
  "gemini-2.5-pro-preview-tts",
1722
+ "gemini-embedding-001",
1690
1723
  "gemini-flash-latest",
1691
1724
  "gemini-flash-lite-latest",
1692
1725
  "gemini-live-2.5-flash",
@@ -1732,7 +1765,10 @@ var provider_registry_default = {
1732
1765
  "o3-mini",
1733
1766
  "o3-pro",
1734
1767
  "o4-mini",
1735
- "o4-mini-deep-research"
1768
+ "o4-mini-deep-research",
1769
+ "text-embedding-3-large",
1770
+ "text-embedding-3-small",
1771
+ "text-embedding-ada-002"
1736
1772
  ],
1737
1773
  "zhipuai-coding-plan": ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6"],
1738
1774
  perplexity: ["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro"],
@@ -2027,7 +2063,47 @@ var provider_registry_default = {
2027
2063
  var registryData = null;
2028
2064
  var CACHE_DIR = path__default.default.join(os__default.default.homedir(), ".cache", "mastra");
2029
2065
  var CACHE_FILE = path__default.default.join(CACHE_DIR, "gateway-refresh-time");
2066
+ var GLOBAL_PROVIDER_REGISTRY_JSON = path__default.default.join(CACHE_DIR, "provider-registry.json");
2067
+ var GLOBAL_PROVIDER_TYPES_DTS = path__default.default.join(CACHE_DIR, "provider-types.generated.d.ts");
2030
2068
  var modelRouterCacheFailed = false;
2069
+ function syncGlobalCacheToLocal() {
2070
+ try {
2071
+ const globalJsonExists = fs__default.default.existsSync(GLOBAL_PROVIDER_REGISTRY_JSON);
2072
+ const globalDtsExists = fs__default.default.existsSync(GLOBAL_PROVIDER_TYPES_DTS);
2073
+ if (!globalJsonExists && !globalDtsExists) {
2074
+ return;
2075
+ }
2076
+ const packageRoot = getPackageRoot();
2077
+ const localJsonPath = path__default.default.join(packageRoot, "dist", "provider-registry.json");
2078
+ const localDtsPath = path__default.default.join(packageRoot, "dist", "llm", "model", "provider-types.generated.d.ts");
2079
+ fs__default.default.mkdirSync(path__default.default.dirname(localJsonPath), { recursive: true });
2080
+ fs__default.default.mkdirSync(path__default.default.dirname(localDtsPath), { recursive: true });
2081
+ if (globalJsonExists) {
2082
+ const globalJsonContent = fs__default.default.readFileSync(GLOBAL_PROVIDER_REGISTRY_JSON, "utf-8");
2083
+ let shouldCopyJson = true;
2084
+ if (fs__default.default.existsSync(localJsonPath)) {
2085
+ const localJsonContent = fs__default.default.readFileSync(localJsonPath, "utf-8");
2086
+ shouldCopyJson = globalJsonContent !== localJsonContent;
2087
+ }
2088
+ if (shouldCopyJson) {
2089
+ fs__default.default.writeFileSync(localJsonPath, globalJsonContent, "utf-8");
2090
+ }
2091
+ }
2092
+ if (globalDtsExists) {
2093
+ const globalDtsContent = fs__default.default.readFileSync(GLOBAL_PROVIDER_TYPES_DTS, "utf-8");
2094
+ let shouldCopyDts = true;
2095
+ if (fs__default.default.existsSync(localDtsPath)) {
2096
+ const localDtsContent = fs__default.default.readFileSync(localDtsPath, "utf-8");
2097
+ shouldCopyDts = globalDtsContent !== localDtsContent;
2098
+ }
2099
+ if (shouldCopyDts) {
2100
+ fs__default.default.writeFileSync(localDtsPath, globalDtsContent, "utf-8");
2101
+ }
2102
+ }
2103
+ } catch (error) {
2104
+ console.warn("Failed to sync global cache to local:", error);
2105
+ }
2106
+ }
2031
2107
  function getLastRefreshTimeFromDisk() {
2032
2108
  try {
2033
2109
  if (!fs__default.default.existsSync(CACHE_FILE)) {
@@ -2054,7 +2130,7 @@ function saveLastRefreshTimeToDisk(date) {
2054
2130
  }
2055
2131
  function getPackageRoot() {
2056
2132
  try {
2057
- const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-FMNZ3BPT.cjs', document.baseURI).href)) || "file://");
2133
+ const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-4YHU6R7W.cjs', document.baseURI).href)) || "file://");
2058
2134
  const packageJsonPath = require2.resolve("@mastra/core/package.json");
2059
2135
  return path__default.default.dirname(packageJsonPath);
2060
2136
  } catch {
@@ -2065,6 +2141,7 @@ function loadRegistry(useDynamicLoading) {
2065
2141
  if (!useDynamicLoading) {
2066
2142
  return provider_registry_default;
2067
2143
  }
2144
+ syncGlobalCacheToLocal();
2068
2145
  if (registryData) {
2069
2146
  return registryData;
2070
2147
  }
@@ -2208,15 +2285,22 @@ var GatewayRegistry = class _GatewayRegistry {
2208
2285
  this.isRefreshing = true;
2209
2286
  try {
2210
2287
  const { ModelsDevGateway: ModelsDevGateway2 } = await import('./models-dev-AXZASLL2.cjs');
2211
- const { NetlifyGateway: NetlifyGateway2 } = await import('./netlify-F3MVGV4Y.cjs');
2288
+ const { NetlifyGateway: NetlifyGateway2 } = await import('./netlify-TX6V7SJJ.cjs');
2212
2289
  const { fetchProvidersFromGateways, writeRegistryFiles } = await import('./registry-generator-6WVOHM2L.cjs');
2213
2290
  const gateways2 = [new ModelsDevGateway2({}), new NetlifyGateway2()];
2214
2291
  const { providers, models } = await fetchProvidersFromGateways(gateways2);
2215
2292
  const packageRoot = getPackageRoot();
2293
+ try {
2294
+ fs__default.default.mkdirSync(CACHE_DIR, { recursive: true });
2295
+ await writeRegistryFiles(GLOBAL_PROVIDER_REGISTRY_JSON, GLOBAL_PROVIDER_TYPES_DTS, providers, models);
2296
+ } catch (error) {
2297
+ console.warn("[GatewayRegistry] Failed to write to global cache:", error);
2298
+ }
2216
2299
  const distJsonPath = path__default.default.join(packageRoot, "dist", "provider-registry.json");
2217
2300
  const distTypesPath = path__default.default.join(packageRoot, "dist", "llm", "model", "provider-types.generated.d.ts");
2218
2301
  await writeRegistryFiles(distJsonPath, distTypesPath, providers, models);
2219
- if (writeToSrc || this.useDynamicLoading) {
2302
+ const shouldWriteToSrc = writeToSrc;
2303
+ if (shouldWriteToSrc) {
2220
2304
  const srcJsonPath = path__default.default.join(packageRoot, "src", "llm", "model", "provider-registry.json");
2221
2305
  const srcTypesPath = path__default.default.join(packageRoot, "src", "llm", "model", "provider-types.generated.d.ts");
2222
2306
  await fs__default.default.promises.copyFile(distJsonPath, srcJsonPath);
@@ -2327,7 +2411,7 @@ function findGatewayForModel(gatewayId, gateways2) {
2327
2411
  for (const gateway of unprefixedGateways) {
2328
2412
  return gateway;
2329
2413
  }
2330
- throw new chunkWM4VQWOZ_cjs.MastraError({
2414
+ throw new chunk5NTO7S5I_cjs.MastraError({
2331
2415
  id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
2332
2416
  category: "USER",
2333
2417
  domain: "MODEL_ROUTER",
@@ -2339,7 +2423,7 @@ function findGatewayForModel(gatewayId, gateways2) {
2339
2423
  function getStaticProvidersByGateway(name) {
2340
2424
  return Object.fromEntries(Object.entries(PROVIDER_REGISTRY).filter(([_provider, config]) => config.gateway === name));
2341
2425
  }
2342
- var gateways = [new chunkYGL6E6PD_cjs.NetlifyGateway(), new chunkLZUSZT7R_cjs.ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
2426
+ var gateways = [new chunk3JX2Y3WH_cjs.NetlifyGateway(), new chunkLZUSZT7R_cjs.ModelsDevGateway(getStaticProvidersByGateway(`models.dev`))];
2343
2427
  var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2344
2428
  specificationVersion = "v2";
2345
2429
  defaultObjectGenerationMode = "json";
@@ -2401,7 +2485,7 @@ var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2401
2485
  start(controller) {
2402
2486
  controller.enqueue({
2403
2487
  type: "error",
2404
- error: error instanceof Error ? error.message : String(error)
2488
+ error
2405
2489
  });
2406
2490
  }
2407
2491
  })
@@ -2570,5 +2654,5 @@ exports.PROVIDER_REGISTRY = PROVIDER_REGISTRY;
2570
2654
  exports.getProviderConfig = getProviderConfig;
2571
2655
  exports.parseModelString = parseModelString;
2572
2656
  exports.resolveModelConfig = resolveModelConfig;
2573
- //# sourceMappingURL=chunk-FMNZ3BPT.cjs.map
2574
- //# sourceMappingURL=chunk-FMNZ3BPT.cjs.map
2657
+ //# sourceMappingURL=chunk-4YHU6R7W.cjs.map
2658
+ //# sourceMappingURL=chunk-4YHU6R7W.cjs.map