@mastra/core 1.16.0-alpha.3 → 1.16.0-alpha.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 (160) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/agent/index.cjs +13 -13
  3. package/dist/agent/index.js +2 -2
  4. package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
  5. package/dist/agent/message-list/index.cjs +18 -18
  6. package/dist/agent/message-list/index.js +1 -1
  7. package/dist/agent/message-list/message-list.d.ts +13 -0
  8. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  9. package/dist/{chunk-4EZX3JLF.cjs → chunk-43LAX4OC.cjs} +9 -9
  10. package/dist/{chunk-4EZX3JLF.cjs.map → chunk-43LAX4OC.cjs.map} +1 -1
  11. package/dist/{chunk-WZQ2AJZV.js → chunk-7BMRL7A7.js} +8 -8
  12. package/dist/{chunk-WZQ2AJZV.js.map → chunk-7BMRL7A7.js.map} +1 -1
  13. package/dist/{chunk-26OOSNWN.js → chunk-7BZCZH6B.js} +3 -3
  14. package/dist/{chunk-26OOSNWN.js.map → chunk-7BZCZH6B.js.map} +1 -1
  15. package/dist/{chunk-WZ2EJZ7R.cjs → chunk-7L2ICIDI.cjs} +6 -6
  16. package/dist/{chunk-WZ2EJZ7R.cjs.map → chunk-7L2ICIDI.cjs.map} +1 -1
  17. package/dist/{chunk-VQMIFPSC.cjs → chunk-ALCZ3AX7.cjs} +87 -84
  18. package/dist/chunk-ALCZ3AX7.cjs.map +1 -0
  19. package/dist/{chunk-O6O5MD7Q.cjs → chunk-ANLO4VM2.cjs} +36 -2
  20. package/dist/chunk-ANLO4VM2.cjs.map +1 -0
  21. package/dist/{chunk-76GUV7TZ.js → chunk-BLBX5SP3.js} +4 -4
  22. package/dist/{chunk-76GUV7TZ.js.map → chunk-BLBX5SP3.js.map} +1 -1
  23. package/dist/{chunk-V7KMU6NL.cjs → chunk-EEOZARYV.cjs} +7 -7
  24. package/dist/{chunk-V7KMU6NL.cjs.map → chunk-EEOZARYV.cjs.map} +1 -1
  25. package/dist/{chunk-GZWOMZ7C.js → chunk-GC3I45ZY.js} +3 -3
  26. package/dist/{chunk-GZWOMZ7C.js.map → chunk-GC3I45ZY.js.map} +1 -1
  27. package/dist/{chunk-MLCFE6MR.js → chunk-GRMC2OYN.js} +19 -3
  28. package/dist/chunk-GRMC2OYN.js.map +1 -0
  29. package/dist/{chunk-IS7VFXXN.js → chunk-HA53QKBU.js} +8 -8
  30. package/dist/{chunk-IS7VFXXN.js.map → chunk-HA53QKBU.js.map} +1 -1
  31. package/dist/{chunk-AVOGYFGK.cjs → chunk-HXFCAKO3.cjs} +83 -83
  32. package/dist/{chunk-AVOGYFGK.cjs.map → chunk-HXFCAKO3.cjs.map} +1 -1
  33. package/dist/{chunk-2NDTZII6.cjs → chunk-IK6ZBEOH.cjs} +15 -15
  34. package/dist/{chunk-2NDTZII6.cjs.map → chunk-IK6ZBEOH.cjs.map} +1 -1
  35. package/dist/{chunk-WEKILIGZ.js → chunk-J3NJXIJ4.js} +3 -3
  36. package/dist/{chunk-WEKILIGZ.js.map → chunk-J3NJXIJ4.js.map} +1 -1
  37. package/dist/{chunk-XME4PQE7.cjs → chunk-K4NN2KQQ.cjs} +19 -3
  38. package/dist/chunk-K4NN2KQQ.cjs.map +1 -0
  39. package/dist/{chunk-TKGXEXRR.js → chunk-KXRAP65E.js} +13 -10
  40. package/dist/chunk-KXRAP65E.js.map +1 -0
  41. package/dist/{chunk-A25ZFPG7.js → chunk-OMQ7OGTD.js} +7 -7
  42. package/dist/{chunk-A25ZFPG7.js.map → chunk-OMQ7OGTD.js.map} +1 -1
  43. package/dist/{chunk-Q7B3NPO3.cjs → chunk-OUMEFQRG.cjs} +3 -3
  44. package/dist/{chunk-Q7B3NPO3.cjs.map → chunk-OUMEFQRG.cjs.map} +1 -1
  45. package/dist/{chunk-TQO7BSJX.js → chunk-OUYKDP7F.js} +3 -3
  46. package/dist/{chunk-TQO7BSJX.js.map → chunk-OUYKDP7F.js.map} +1 -1
  47. package/dist/{chunk-RKGUSDHX.cjs → chunk-P5L3FDO5.cjs} +58 -58
  48. package/dist/{chunk-RKGUSDHX.cjs.map → chunk-P5L3FDO5.cjs.map} +1 -1
  49. package/dist/{chunk-MQ2YFSTS.cjs → chunk-PPDMILXE.cjs} +185 -185
  50. package/dist/{chunk-MQ2YFSTS.cjs.map → chunk-PPDMILXE.cjs.map} +1 -1
  51. package/dist/{chunk-BF2JWKWL.cjs → chunk-QR67PGEX.cjs} +5 -5
  52. package/dist/{chunk-BF2JWKWL.cjs.map → chunk-QR67PGEX.cjs.map} +1 -1
  53. package/dist/{chunk-XYT5D2T7.cjs → chunk-R67VVUDR.cjs} +13 -13
  54. package/dist/{chunk-XYT5D2T7.cjs.map → chunk-R67VVUDR.cjs.map} +1 -1
  55. package/dist/{chunk-YVFTL5BS.cjs → chunk-RQBBPR64.cjs} +16 -16
  56. package/dist/{chunk-YVFTL5BS.cjs.map → chunk-RQBBPR64.cjs.map} +1 -1
  57. package/dist/{chunk-2CEWKM43.js → chunk-RTRZMBMW.js} +3 -3
  58. package/dist/{chunk-2CEWKM43.js.map → chunk-RTRZMBMW.js.map} +1 -1
  59. package/dist/{chunk-YPJ5V2S5.js → chunk-SLZ3WO42.js} +36 -2
  60. package/dist/chunk-SLZ3WO42.js.map +1 -0
  61. package/dist/{chunk-STU7CG7E.js → chunk-V4WRIZUB.js} +5 -5
  62. package/dist/{chunk-STU7CG7E.js.map → chunk-V4WRIZUB.js.map} +1 -1
  63. package/dist/{chunk-JBAMLTYP.js → chunk-VDL5NSEM.js} +4 -4
  64. package/dist/{chunk-JBAMLTYP.js.map → chunk-VDL5NSEM.js.map} +1 -1
  65. package/dist/{chunk-JO36CQSY.js → chunk-WT6PBYLT.js} +12 -12
  66. package/dist/chunk-WT6PBYLT.js.map +1 -0
  67. package/dist/{chunk-7LMIK23W.js → chunk-XKOCRXCP.js} +3 -3
  68. package/dist/{chunk-7LMIK23W.js.map → chunk-XKOCRXCP.js.map} +1 -1
  69. package/dist/{chunk-YSPKTAYB.cjs → chunk-XW4B2RAG.cjs} +24 -24
  70. package/dist/{chunk-YSPKTAYB.cjs.map → chunk-XW4B2RAG.cjs.map} +1 -1
  71. package/dist/{chunk-4LDSJHWQ.cjs → chunk-YW7C25S4.cjs} +7 -7
  72. package/dist/{chunk-4LDSJHWQ.cjs.map → chunk-YW7C25S4.cjs.map} +1 -1
  73. package/dist/{chunk-BXDWBXQW.cjs → chunk-Z2ZO3S34.cjs} +13 -13
  74. package/dist/chunk-Z2ZO3S34.cjs.map +1 -0
  75. package/dist/{chunk-TUSCHVH3.js → chunk-ZJMETLCP.js} +4 -4
  76. package/dist/{chunk-TUSCHVH3.js.map → chunk-ZJMETLCP.js.map} +1 -1
  77. package/dist/datasets/index.cjs +17 -17
  78. package/dist/datasets/index.js +2 -2
  79. package/dist/docs/SKILL.md +1 -1
  80. package/dist/docs/assets/SOURCE_MAP.json +239 -239
  81. package/dist/docs/references/docs-memory-observational-memory.md +36 -0
  82. package/dist/docs/references/reference-memory-observational-memory.md +42 -3
  83. package/dist/evals/index.cjs +5 -5
  84. package/dist/evals/index.js +2 -2
  85. package/dist/evals/scoreTraces/index.cjs +3 -3
  86. package/dist/evals/scoreTraces/index.js +1 -1
  87. package/dist/harness/index.cjs +17 -17
  88. package/dist/harness/index.js +7 -7
  89. package/dist/index.cjs +2 -2
  90. package/dist/index.js +1 -1
  91. package/dist/integration/index.cjs +2 -2
  92. package/dist/integration/index.js +1 -1
  93. package/dist/llm/index.cjs +16 -16
  94. package/dist/llm/index.js +5 -5
  95. package/dist/llm/model/provider-types.generated.d.ts +3 -3
  96. package/dist/loop/index.cjs +14 -14
  97. package/dist/loop/index.js +1 -1
  98. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  99. package/dist/mastra/index.cjs +2 -2
  100. package/dist/mastra/index.js +1 -1
  101. package/dist/memory/index.cjs +14 -14
  102. package/dist/memory/index.js +1 -1
  103. package/dist/models-dev-FQZJVFA3.cjs +12 -0
  104. package/dist/{models-dev-2FOUJALF.cjs.map → models-dev-FQZJVFA3.cjs.map} +1 -1
  105. package/dist/models-dev-IXIFPHTL.js +3 -0
  106. package/dist/{models-dev-A55UVGDD.js.map → models-dev-IXIFPHTL.js.map} +1 -1
  107. package/dist/netlify-ZDPSLMHL.js +3 -0
  108. package/dist/{netlify-MF3L2BRE.js.map → netlify-ZDPSLMHL.js.map} +1 -1
  109. package/dist/netlify-ZP6W4FNX.cjs +12 -0
  110. package/dist/{netlify-I3P5QPXG.cjs.map → netlify-ZP6W4FNX.cjs.map} +1 -1
  111. package/dist/processor-provider/index.cjs +10 -10
  112. package/dist/processor-provider/index.js +1 -1
  113. package/dist/processors/index.cjs +42 -42
  114. package/dist/processors/index.js +1 -1
  115. package/dist/provider-registry-GQASCCYW.cjs +40 -0
  116. package/dist/{provider-registry-QB6DEJ7U.cjs.map → provider-registry-GQASCCYW.cjs.map} +1 -1
  117. package/dist/provider-registry-JPXSL43R.js +3 -0
  118. package/dist/{provider-registry-J76YNM72.js.map → provider-registry-JPXSL43R.js.map} +1 -1
  119. package/dist/provider-registry.json +8 -8
  120. package/dist/relevance/index.cjs +3 -3
  121. package/dist/relevance/index.js +1 -1
  122. package/dist/storage/index.cjs +74 -74
  123. package/dist/storage/index.js +1 -1
  124. package/dist/stream/index.cjs +11 -11
  125. package/dist/stream/index.js +2 -2
  126. package/dist/test-utils/llm-mock.cjs +4 -4
  127. package/dist/test-utils/llm-mock.js +1 -1
  128. package/dist/tool-loop-agent/index.cjs +4 -4
  129. package/dist/tool-loop-agent/index.js +1 -1
  130. package/dist/tools/index.cjs +7 -7
  131. package/dist/tools/index.js +1 -1
  132. package/dist/tools/is-vercel-tool.cjs +2 -2
  133. package/dist/tools/is-vercel-tool.js +1 -1
  134. package/dist/tools/validation.d.ts.map +1 -1
  135. package/dist/utils.cjs +23 -23
  136. package/dist/utils.js +1 -1
  137. package/dist/vector/index.cjs +7 -7
  138. package/dist/vector/index.js +1 -1
  139. package/dist/workflows/evented/index.cjs +10 -10
  140. package/dist/workflows/evented/index.js +1 -1
  141. package/dist/workflows/index.cjs +24 -24
  142. package/dist/workflows/index.js +1 -1
  143. package/dist/workspace/index.cjs +68 -68
  144. package/dist/workspace/index.js +1 -1
  145. package/package.json +5 -5
  146. package/src/llm/model/provider-types.generated.d.ts +3 -3
  147. package/dist/chunk-BXDWBXQW.cjs.map +0 -1
  148. package/dist/chunk-JO36CQSY.js.map +0 -1
  149. package/dist/chunk-MLCFE6MR.js.map +0 -1
  150. package/dist/chunk-O6O5MD7Q.cjs.map +0 -1
  151. package/dist/chunk-TKGXEXRR.js.map +0 -1
  152. package/dist/chunk-VQMIFPSC.cjs.map +0 -1
  153. package/dist/chunk-XME4PQE7.cjs.map +0 -1
  154. package/dist/chunk-YPJ5V2S5.js.map +0 -1
  155. package/dist/models-dev-2FOUJALF.cjs +0 -12
  156. package/dist/models-dev-A55UVGDD.js +0 -3
  157. package/dist/netlify-I3P5QPXG.cjs +0 -12
  158. package/dist/netlify-MF3L2BRE.js +0 -3
  159. package/dist/provider-registry-J76YNM72.js +0 -3
  160. package/dist/provider-registry-QB6DEJ7U.cjs +0 -40
package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # @mastra/core
2
2
 
3
+ ## 1.16.0-alpha.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix consecutive tool-only loop iterations being merged into a single assistant message block. When the agentic loop runs multiple iterations that each produce only tool calls, the LLM would misinterpret them as parallel calls from a single turn. A `step-start` boundary is now inserted between iterations to ensure they are treated as sequential steps. ([#14652](https://github.com/mastra-ai/mastra/pull/14652))
8
+
9
+ ## 1.16.0-alpha.4
10
+
11
+ ### Minor Changes
12
+
13
+ - Added `ModelByInputTokens` in `@mastra/memory` for token-threshold-based model selection in Observational Memory. ([#14614](https://github.com/mastra-ai/mastra/pull/14614))
14
+
15
+ When configured, OM automatically selects different observer or reflector models based on the actual input token count at the time the OM call runs.
16
+
17
+ Example usage:
18
+
19
+ ```ts
20
+ import { Memory, ModelByInputTokens } from '@mastra/memory';
21
+
22
+ const memory = new Memory({
23
+ options: {
24
+ observationalMemory: {
25
+ model: new ModelByInputTokens({
26
+ upTo: {
27
+ 10_000: 'google/gemini-2.5-flash',
28
+ 40_000: 'openai/gpt-4o',
29
+ 1_000_000: 'openai/gpt-4.5',
30
+ },
31
+ }),
32
+ },
33
+ },
34
+ });
35
+ ```
36
+
37
+ The `upTo` keys are inclusive upper bounds. OM resolves the matching tier directly at the observer or reflector call site. If the input exceeds the largest configured threshold, OM throws an error.
38
+
39
+ Improved Observational Memory tracing so traces show the observer and reflector spans and make it easier to see which resolved model was used at runtime.
40
+
41
+ ### Patch Changes
42
+
43
+ - Fixed null detection in tool input validation to check actual values at failing paths instead of relying on error message string matching. This ensures null values from LLMs are correctly handled even when validators produce error messages that don't contain the word "null" (e.g., "must be string"). Fixes #14476. ([#14496](https://github.com/mastra-ai/mastra/pull/14496))
44
+
45
+ - Fixed Anthropic 'tool_use ids were found without tool_result blocks immediately after' error. When client tools (e.g. execute_command) and provider tools (e.g. web_search) are called in parallel, the tool ordering in message history could cause Anthropic to reject subsequent requests, making the thread unrecoverable. Tool blocks are now correctly split to satisfy Anthropic's ordering requirements. ([#14648](https://github.com/mastra-ai/mastra/pull/14648))
46
+
3
47
  ## 1.16.0-alpha.3
4
48
 
5
49
  ### Minor Changes
@@ -1,53 +1,53 @@
1
1
  'use strict';
2
2
 
3
- var chunkVQMIFPSC_cjs = require('../chunk-VQMIFPSC.cjs');
4
- var chunkO6O5MD7Q_cjs = require('../chunk-O6O5MD7Q.cjs');
3
+ var chunkALCZ3AX7_cjs = require('../chunk-ALCZ3AX7.cjs');
4
+ var chunkANLO4VM2_cjs = require('../chunk-ANLO4VM2.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Agent", {
9
9
  enumerable: true,
10
- get: function () { return chunkVQMIFPSC_cjs.Agent; }
10
+ get: function () { return chunkALCZ3AX7_cjs.Agent; }
11
11
  });
12
12
  Object.defineProperty(exports, "TripWire", {
13
13
  enumerable: true,
14
- get: function () { return chunkVQMIFPSC_cjs.TripWire; }
14
+ get: function () { return chunkALCZ3AX7_cjs.TripWire; }
15
15
  });
16
16
  Object.defineProperty(exports, "isSupportedLanguageModel", {
17
17
  enumerable: true,
18
- get: function () { return chunkVQMIFPSC_cjs.isSupportedLanguageModel; }
18
+ get: function () { return chunkALCZ3AX7_cjs.isSupportedLanguageModel; }
19
19
  });
20
20
  Object.defineProperty(exports, "resolveThreadIdFromArgs", {
21
21
  enumerable: true,
22
- get: function () { return chunkVQMIFPSC_cjs.resolveThreadIdFromArgs; }
22
+ get: function () { return chunkALCZ3AX7_cjs.resolveThreadIdFromArgs; }
23
23
  });
24
24
  Object.defineProperty(exports, "supportedLanguageModelSpecifications", {
25
25
  enumerable: true,
26
- get: function () { return chunkVQMIFPSC_cjs.supportedLanguageModelSpecifications; }
26
+ get: function () { return chunkALCZ3AX7_cjs.supportedLanguageModelSpecifications; }
27
27
  });
28
28
  Object.defineProperty(exports, "tryGenerateWithJsonFallback", {
29
29
  enumerable: true,
30
- get: function () { return chunkVQMIFPSC_cjs.tryGenerateWithJsonFallback; }
30
+ get: function () { return chunkALCZ3AX7_cjs.tryGenerateWithJsonFallback; }
31
31
  });
32
32
  Object.defineProperty(exports, "tryStreamWithJsonFallback", {
33
33
  enumerable: true,
34
- get: function () { return chunkVQMIFPSC_cjs.tryStreamWithJsonFallback; }
34
+ get: function () { return chunkALCZ3AX7_cjs.tryStreamWithJsonFallback; }
35
35
  });
36
36
  Object.defineProperty(exports, "MessageList", {
37
37
  enumerable: true,
38
- get: function () { return chunkO6O5MD7Q_cjs.MessageList; }
38
+ get: function () { return chunkANLO4VM2_cjs.MessageList; }
39
39
  });
40
40
  Object.defineProperty(exports, "TypeDetector", {
41
41
  enumerable: true,
42
- get: function () { return chunkO6O5MD7Q_cjs.TypeDetector; }
42
+ get: function () { return chunkANLO4VM2_cjs.TypeDetector; }
43
43
  });
44
44
  Object.defineProperty(exports, "aiV5ModelMessageToV2PromptMessage", {
45
45
  enumerable: true,
46
- get: function () { return chunkO6O5MD7Q_cjs.aiV5ModelMessageToV2PromptMessage; }
46
+ get: function () { return chunkANLO4VM2_cjs.aiV5ModelMessageToV2PromptMessage; }
47
47
  });
48
48
  Object.defineProperty(exports, "convertMessages", {
49
49
  enumerable: true,
50
- get: function () { return chunkO6O5MD7Q_cjs.convertMessages; }
50
+ get: function () { return chunkANLO4VM2_cjs.convertMessages; }
51
51
  });
52
52
  //# sourceMappingURL=index.cjs.map
53
53
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { Agent, TripWire, isSupportedLanguageModel, resolveThreadIdFromArgs, supportedLanguageModelSpecifications, tryGenerateWithJsonFallback, tryStreamWithJsonFallback } from '../chunk-TKGXEXRR.js';
2
- export { MessageList, TypeDetector, aiV5ModelMessageToV2PromptMessage, convertMessages } from '../chunk-YPJ5V2S5.js';
1
+ export { Agent, TripWire, isSupportedLanguageModel, resolveThreadIdFromArgs, supportedLanguageModelSpecifications, tryGenerateWithJsonFallback, tryStreamWithJsonFallback } from '../chunk-KXRAP65E.js';
2
+ export { MessageList, TypeDetector, aiV5ModelMessageToV2PromptMessage, convertMessages } from '../chunk-SLZ3WO42.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output-converter.d.ts","sourceRoot":"","sources":["../../../../src/agent/message-list/conversion/output-converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA6B7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,EAC9B,yBAAyB,UAAQ,GAChC,QAAQ,CAAC,SAAS,EAAE,CA8HtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAe7F;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAEzF;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,EAC9B,UAAU,EAAE,eAAe,EAAE,EAC7B,yBAAyB,UAAQ,GAChC,QAAQ,CAAC,YAAY,EAAE,CAmEzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,eAAe,EAAE,GAC5B,QAAQ,CAAC,YAAY,EAAE,CAKzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,YAAY,GAAG,eAAe,GAAG,MAAM,GACxE,aAAa,CAef"}
1
+ {"version":3,"file":"output-converter.d.ts","sourceRoot":"","sources":["../../../../src/agent/message-list/conversion/output-converter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA6B7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,EAC9B,yBAAyB,UAAQ,GAChC,QAAQ,CAAC,SAAS,EAAE,CA8HtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAgC7F;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAEzF;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,EAC9B,UAAU,EAAE,eAAe,EAAE,EAC7B,yBAAyB,UAAQ,GAChC,QAAQ,CAAC,YAAY,EAAE,CAmEzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,eAAe,EAAE,GAC5B,QAAQ,CAAC,YAAY,EAAE,CAKzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,YAAY,GAAG,eAAe,GAAG,MAAM,GACxE,aAAa,CAef"}
@@ -1,76 +1,76 @@
1
1
  'use strict';
2
2
 
3
- var chunkO6O5MD7Q_cjs = require('../../chunk-O6O5MD7Q.cjs');
3
+ var chunkANLO4VM2_cjs = require('../../chunk-ANLO4VM2.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "AIV4Adapter", {
8
8
  enumerable: true,
9
- get: function () { return chunkO6O5MD7Q_cjs.AIV4Adapter; }
9
+ get: function () { return chunkANLO4VM2_cjs.AIV4Adapter; }
10
10
  });
11
11
  Object.defineProperty(exports, "AIV5Adapter", {
12
12
  enumerable: true,
13
- get: function () { return chunkO6O5MD7Q_cjs.AIV5Adapter; }
13
+ get: function () { return chunkANLO4VM2_cjs.AIV5Adapter; }
14
14
  });
15
15
  Object.defineProperty(exports, "CacheKeyGenerator", {
16
16
  enumerable: true,
17
- get: function () { return chunkO6O5MD7Q_cjs.CacheKeyGenerator; }
17
+ get: function () { return chunkANLO4VM2_cjs.CacheKeyGenerator; }
18
18
  });
19
19
  Object.defineProperty(exports, "MessageList", {
20
20
  enumerable: true,
21
- get: function () { return chunkO6O5MD7Q_cjs.MessageList; }
21
+ get: function () { return chunkANLO4VM2_cjs.MessageList; }
22
22
  });
23
23
  Object.defineProperty(exports, "MessageMerger", {
24
24
  enumerable: true,
25
- get: function () { return chunkO6O5MD7Q_cjs.MessageMerger; }
25
+ get: function () { return chunkANLO4VM2_cjs.MessageMerger; }
26
26
  });
27
27
  Object.defineProperty(exports, "MessageStateManager", {
28
28
  enumerable: true,
29
- get: function () { return chunkO6O5MD7Q_cjs.MessageStateManager; }
29
+ get: function () { return chunkANLO4VM2_cjs.MessageStateManager; }
30
30
  });
31
31
  Object.defineProperty(exports, "TypeDetector", {
32
32
  enumerable: true,
33
- get: function () { return chunkO6O5MD7Q_cjs.TypeDetector; }
33
+ get: function () { return chunkANLO4VM2_cjs.TypeDetector; }
34
34
  });
35
35
  Object.defineProperty(exports, "aiV4CoreMessageToV1PromptMessage", {
36
36
  enumerable: true,
37
- get: function () { return chunkO6O5MD7Q_cjs.aiV4CoreMessageToV1PromptMessage; }
37
+ get: function () { return chunkANLO4VM2_cjs.aiV4CoreMessageToV1PromptMessage; }
38
38
  });
39
39
  Object.defineProperty(exports, "aiV5ModelMessageToV2PromptMessage", {
40
40
  enumerable: true,
41
- get: function () { return chunkO6O5MD7Q_cjs.aiV5ModelMessageToV2PromptMessage; }
41
+ get: function () { return chunkANLO4VM2_cjs.aiV5ModelMessageToV2PromptMessage; }
42
42
  });
43
43
  Object.defineProperty(exports, "convertMessages", {
44
44
  enumerable: true,
45
- get: function () { return chunkO6O5MD7Q_cjs.convertMessages; }
45
+ get: function () { return chunkANLO4VM2_cjs.convertMessages; }
46
46
  });
47
47
  Object.defineProperty(exports, "coreContentToString", {
48
48
  enumerable: true,
49
- get: function () { return chunkO6O5MD7Q_cjs.coreContentToString; }
49
+ get: function () { return chunkANLO4VM2_cjs.coreContentToString; }
50
50
  });
51
51
  Object.defineProperty(exports, "ensureAnthropicCompatibleMessages", {
52
52
  enumerable: true,
53
- get: function () { return chunkO6O5MD7Q_cjs.ensureAnthropicCompatibleMessages; }
53
+ get: function () { return chunkANLO4VM2_cjs.ensureAnthropicCompatibleMessages; }
54
54
  });
55
55
  Object.defineProperty(exports, "ensureGeminiCompatibleMessages", {
56
56
  enumerable: true,
57
- get: function () { return chunkO6O5MD7Q_cjs.ensureGeminiCompatibleMessages; }
57
+ get: function () { return chunkANLO4VM2_cjs.ensureGeminiCompatibleMessages; }
58
58
  });
59
59
  Object.defineProperty(exports, "findToolCallArgs", {
60
60
  enumerable: true,
61
- get: function () { return chunkO6O5MD7Q_cjs.findToolCallArgs; }
61
+ get: function () { return chunkANLO4VM2_cjs.findToolCallArgs; }
62
62
  });
63
63
  Object.defineProperty(exports, "getOpenAIReasoningItemId", {
64
64
  enumerable: true,
65
- get: function () { return chunkO6O5MD7Q_cjs.getOpenAIReasoningItemId; }
65
+ get: function () { return chunkANLO4VM2_cjs.getOpenAIReasoningItemId; }
66
66
  });
67
67
  Object.defineProperty(exports, "hasOpenAIReasoningItemId", {
68
68
  enumerable: true,
69
- get: function () { return chunkO6O5MD7Q_cjs.hasOpenAIReasoningItemId; }
69
+ get: function () { return chunkANLO4VM2_cjs.hasOpenAIReasoningItemId; }
70
70
  });
71
71
  Object.defineProperty(exports, "messagesAreEqual", {
72
72
  enumerable: true,
73
- get: function () { return chunkO6O5MD7Q_cjs.messagesAreEqual; }
73
+ get: function () { return chunkANLO4VM2_cjs.messagesAreEqual; }
74
74
  });
75
75
  //# sourceMappingURL=index.cjs.map
76
76
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { AIV4Adapter, AIV5Adapter, CacheKeyGenerator, MessageList, MessageMerger, MessageStateManager, TypeDetector, aiV4CoreMessageToV1PromptMessage, aiV5ModelMessageToV2PromptMessage, convertMessages, coreContentToString, ensureAnthropicCompatibleMessages, ensureGeminiCompatibleMessages, findToolCallArgs, getOpenAIReasoningItemId, hasOpenAIReasoningItemId, messagesAreEqual } from '../../chunk-YPJ5V2S5.js';
1
+ export { AIV4Adapter, AIV5Adapter, CacheKeyGenerator, MessageList, MessageMerger, MessageStateManager, TypeDetector, aiV4CoreMessageToV1PromptMessage, aiV5ModelMessageToV2PromptMessage, convertMessages, coreContentToString, ensureAnthropicCompatibleMessages, ensureGeminiCompatibleMessages, findToolCallArgs, getOpenAIReasoningItemId, hasOpenAIReasoningItemId, messagesAreEqual } from '../../chunk-SLZ3WO42.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -238,6 +238,19 @@ export declare class MessageList {
238
238
  updateToolInvocation(inputPart: Extract<MastraMessagePart, {
239
239
  type: 'tool-invocation';
240
240
  }>): boolean;
241
+ /**
242
+ * Append a `step-start` boundary to the last assistant message.
243
+ * This marks the beginning of a new loop iteration so that
244
+ * `convertToModelMessages` splits sequential tool-call turns into
245
+ * separate message blocks instead of collapsing them into one.
246
+ *
247
+ * Respects sealed messages (post-observation) — if the last assistant
248
+ * message is sealed, the step-start is not added.
249
+ *
250
+ * If the message was loaded from memory it is moved to the response
251
+ * source so the updated content is re-saved.
252
+ */
253
+ stepStart(): boolean;
241
254
  getSystemMessages(tag?: string): CoreMessageV4[];
242
255
  /**
243
256
  * Get all system messages (both tagged and untagged)
@@ -1 +1 @@
1
- {"version":3,"file":"message-list.d.ts","sourceRoot":"","sources":["../../../src/agent/message-list/message-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-list.d.ts","sourceRoot":"","sources":["../../../src/agent/message-list/message-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAqBtD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,aAAa,EAEb,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAgB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG7F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAyB;IAGzC,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO,CAAC,oBAAoB,CAAoD;IAEhF,OAAO,CAAC,UAAU,CAA2B;IAG7C,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,KAAK,cAAc,GAEzB;IACD,OAAO,KAAK,eAAe,GAE1B;IACD,OAAO,KAAK,mBAAmB,GAE9B;IACD,OAAO,KAAK,mBAAmB,GAE9B;IACD,OAAO,KAAK,uBAAuB,GAElC;IACD,OAAO,KAAK,wBAAwB,GAEnC;IACD,OAAO,KAAK,4BAA4B,GAEvC;IACD,OAAO,KAAK,4BAA4B,GAEvC;IAED,OAAO,CAAC,iBAAiB,CAAC,CAA2C;IACrE,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,CAAgB;IAG/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAQd;gBAEI,EACV,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,MAAM,EAEN,mBAAmB,GACpB,GAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,MAAM,CAAC;QAC7D,MAAM,CAAC,EAAE,aAAa,CAAC;KACnB;IASN;;OAEG;IACI,cAAc,IAAI,IAAI;IAKtB,iBAAiB,IAAI,OAAO;IAI5B,iBAAiB,IAAI,KAAK,CAAC;QAChC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;QACpD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,CAAC;IAKF;;OAEG;IACI,aAAa,IAAI,KAAK,CAAC;QAC5B,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;QACpD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,aAAa,CAAC;KACzB,CAAC;IAOK,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa;IA6B5D,SAAS,IAAI,0BAA0B;IAU9C;;;;;;;OAOG;IACI,gBAAgB,IAAI;QACzB,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACpD,cAAc,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzE;IAmBM,WAAW,CAAC,KAAK,EAAE,0BAA0B;IAU7C,wBAAwB,IAAI;QACjC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,aAAa,GAAG,IAAI,CAAC;KAC/D;IAIM,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAO5C,IAAW,GAAG;;sBA6FJ,eAAe,EAAE;sBACjB,eAAe,EAAE;;6BAGZ,QAAQ,CAAC,YAAY,EAAE;0BAC1B,QAAQ,CAAC,SAAS,EAAE;8BAGhB,QAAQ,CAAC,YAAY,EAAE;sCAiBxB;oBACP,mBAAmB,CAAC,EAAE,MAAM,CAAC;oBAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;oBACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;iBAC1C,KAIA,OAAO,CAAC,qBAAqB,CAAC;;;sBAwE3B,qBAAqB,EAAE;wBAErB,aAAa,EAAE;;0BAEf,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;iCAWV,qBAAqB;;;;;;;;0BAmB5B,QAAQ,CAAC,SAAS,EAAE;;sBAItB,qBAAqB,EAAE;wBAErB,aAAa,EAAE;;0BAEf,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;;;;;;0BA4BjB,QAAQ,CAAC,SAAS,EAAE;;;;;0BAQpB,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;;sBAuBnB,eAAe,EAAE;sBACjB,eAAe,EAAE;;0BAGf,QAAQ,CAAC,SAAS,EAAE;6BACjB,mBAAmB,EAAE;4CAIJ,MAAM,KAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;wCAYhD,QAAQ,CAAC,YAAY,KAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;;;0BAS3E,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;MAtU5B;IACD,IAAW,YAAY;;;;;;0BAmPX,QAAQ,CAAC,SAAS,EAAE;;;;;0BAQpB,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;;sBAuBnB,eAAe,EAAE;sBACjB,eAAe,EAAE;;;0BAIf,QAAQ,CAAC,SAAS,EAAE;;sBAItB,qBAAqB,EAAE;;;0BAIrB,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;;;sBAwCnB,eAAe,EAAE;;;0BAIf,QAAQ,CAAC,SAAS,EAAE;;sBAItB,qBAAqB,EAAE;;0BAErB,qBAAqB,EAAE;4BACrB,aAAa,EAAE;;;MA7U5B;IAED,IAAW,KAAK;;sBAGF,eAAe,EAAE;;;sBAcjB,eAAe,EAAE;;;;;MA8B9B;IAED;;;;OAIG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE;IAqBpD,OAAO,CAAC,GAAG,CAqIT;IAEF,OAAO,CAAC,UAAU,CAiBhB;IACF,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,OAAO,CAAC,KAAK,CAiBX;IACF,OAAO,CAAC,cAAc,CAiBpB;IAEF,OAAO,CAAC,QAAQ,CAkCd;IACF,OAAO,CAAC,iBAAiB,CAcvB;IAEK,oBAAoB,IAAI,eAAe,EAAE;IAOzC,kCAAkC,IAAI,MAAM,GAAG,SAAS;IAO/D;;;OAGG;IACI,YAAY,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM,GAAG,OAAO;IAInE;;;;;;;OAOG;IACI,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,GAAG,OAAO;IAmDxG;;;;;;;;;;;OAWG;IACI,SAAS,IAAI,OAAO;IA2BpB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAOvD;;;OAGG;IACI,oBAAoB,IAAI,aAAa,EAAE;IAI9C;;;OAGG;IACI,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAS9C;;;;OAIG;IACI,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI;IAezD,SAAS,CACd,QAAQ,EACJ,aAAa,GACb,aAAa,EAAE,GACf,QAAQ,CAAC,YAAY,GACrB,QAAQ,CAAC,YAAY,EAAE,GACvB,eAAe,GACf,eAAe,EAAE,GACjB,MAAM,GACN,MAAM,EAAE,GACR,IAAI,EACR,GAAG,CAAC,EAAE,MAAM;IASd,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,MAAM;IAiLd,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,oBAAoB;CAS7B"}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkQ7B3NPO3_cjs = require('./chunk-Q7B3NPO3.cjs');
3
+ var chunkOUMEFQRG_cjs = require('./chunk-OUMEFQRG.cjs');
4
4
  var chunk2VD5OGOT_cjs = require('./chunk-2VD5OGOT.cjs');
5
5
  var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
6
6
 
7
7
  // src/llm/model/gateways/netlify.ts
8
- var NetlifyGateway = class extends chunkQ7B3NPO3_cjs.MastraModelGateway {
8
+ var NetlifyGateway = class extends chunkOUMEFQRG_cjs.MastraModelGateway {
9
9
  id = "netlify";
10
10
  name = "Netlify AI Gateway";
11
11
  tokenCache = new chunk2VD5OGOT_cjs.InMemoryServerCache();
@@ -128,12 +128,12 @@ var NetlifyGateway = class extends chunkQ7B3NPO3_cjs.MastraModelGateway {
128
128
  headers
129
129
  }) {
130
130
  const baseURL = await this.buildUrl(`${providerId}/${modelId}`);
131
- const mastraHeaders = { "User-Agent": chunkQ7B3NPO3_cjs.MASTRA_USER_AGENT, ...headers };
131
+ const mastraHeaders = { "User-Agent": chunkOUMEFQRG_cjs.MASTRA_USER_AGENT, ...headers };
132
132
  switch (providerId) {
133
133
  case "openai":
134
- return chunkQ7B3NPO3_cjs.createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);
134
+ return chunkOUMEFQRG_cjs.createOpenAI({ apiKey, baseURL, headers: mastraHeaders }).responses(modelId);
135
135
  case "gemini":
136
- return chunkQ7B3NPO3_cjs.createGoogleGenerativeAI({
136
+ return chunkOUMEFQRG_cjs.createGoogleGenerativeAI({
137
137
  baseURL: `${baseURL}/v1beta/`,
138
138
  apiKey,
139
139
  headers: {
@@ -142,7 +142,7 @@ var NetlifyGateway = class extends chunkQ7B3NPO3_cjs.MastraModelGateway {
142
142
  }
143
143
  }).chat(modelId);
144
144
  case "anthropic":
145
- return chunkQ7B3NPO3_cjs.createAnthropic({
145
+ return chunkOUMEFQRG_cjs.createAnthropic({
146
146
  apiKey,
147
147
  baseURL: `${baseURL}/v1/`,
148
148
  headers: {
@@ -151,7 +151,7 @@ var NetlifyGateway = class extends chunkQ7B3NPO3_cjs.MastraModelGateway {
151
151
  }
152
152
  })(modelId);
153
153
  default:
154
- return chunkQ7B3NPO3_cjs.createOpenAICompatible({
154
+ return chunkOUMEFQRG_cjs.createOpenAICompatible({
155
155
  name: providerId,
156
156
  apiKey,
157
157
  baseURL,
@@ -163,5 +163,5 @@ var NetlifyGateway = class extends chunkQ7B3NPO3_cjs.MastraModelGateway {
163
163
  };
164
164
 
165
165
  exports.NetlifyGateway = NetlifyGateway;
166
- //# sourceMappingURL=chunk-4EZX3JLF.cjs.map
167
- //# sourceMappingURL=chunk-4EZX3JLF.cjs.map
166
+ //# sourceMappingURL=chunk-43LAX4OC.cjs.map
167
+ //# sourceMappingURL=chunk-43LAX4OC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/llm/model/gateways/netlify.ts"],"names":["MastraModelGateway","InMemoryServerCache","MastraError","MASTRA_USER_AGENT","createOpenAI","createGoogleGenerativeAI","createAnthropic","createOpenAICompatible"],"mappings":"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","file":"chunk-4EZX3JLF.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';\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<LanguageModelV2> {\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":["MastraModelGateway","InMemoryServerCache","MastraError","MASTRA_USER_AGENT","createOpenAI","createGoogleGenerativeAI","createAnthropic","createOpenAICompatible"],"mappings":";;;;;;;AAqCO,IAAM,cAAA,GAAN,cAA6BA,oCAAA,CAAmB;AAAA,EAC5C,EAAA,GAAK,SAAA;AAAA,EACL,IAAA,GAAO,oBAAA;AAAA,EACR,UAAA,GAAa,IAAIC,qCAAA,EAAoB;AAAA,EAE7C,MAAM,cAAA,GAA0D;AAC9D,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,qDAAqD,CAAA;AAClF,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,8BAAA,EAAiC,QAAA,CAAS,UAAU,CAAA,CAAE,CAAA;AAAA,IACxE;AACA,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,MAAA,GAAyB;AAAA,MAC7B,YAAA,EAAc,CAAC,eAAA,EAAiB,iBAAiB,CAAA;AAAA,MACjD,YAAA,EAAc,eAAA;AAAA,MACd,IAAA,EAAM,CAAA,OAAA,CAAA;AAAA,MACN,OAAA,EAAS,CAAA,OAAA,CAAA;AAAA,MACT,QAAQ,EAAC;AAAA,MACT,MAAA,EAAQ;AAAA,KACV;AAEA,IAAA,KAAA,MAAW,CAAC,YAAY,QAAQ,CAAA,IAAK,OAAO,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAA,EAAG;AACnE,MAAA,KAAA,MAAW,KAAA,IAAS,SAAS,MAAA,EAAQ;AACnC,QAAA,MAAA,CAAO,OAAO,IAAA,CAAK,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAA;AAAA,MAC7C;AAAA,IACF;AAEA,IAAA,OAAO,EAAE,SAAS,MAAA,EAAO;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAA,CAAS,QAAA,EAAkB,OAAA,EAA+C;AAE9E,IAAA,MAAM,SAAS,OAAA,GAAU,iBAAiB,CAAA,IAAK,OAAA,CAAQ,IAAI,iBAAiB,CAAA;AAC5E,IAAA,MAAM,eAAe,OAAA,GAAU,eAAe,CAAA,IAAK,OAAA,CAAQ,IAAI,eAAe,CAAA;AAE9E,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAIC,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,0BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,kEAAkE,QAAQ,CAAA;AAAA,OACjF,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,4BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,oEAAoE,QAAQ,CAAA;AAAA,OACnF,CAAA;AAAA,IACH;AAEA,IAAA,IAAI;AACF,MAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,eAAA,CAAgB,QAAQ,YAAY,CAAA;AACjE,MAAA,OAAO,SAAA,CAAU,GAAA,CAAI,QAAA,CAAS,CAAA,CAAA,CAAG,IAAI,SAAA,CAAU,GAAA,CAAI,SAAA,CAAU,CAAA,EAAG,SAAA,CAAU,GAAA,CAAI,MAAA,GAAS,CAAC,IAAI,SAAA,CAAU,GAAA;AAAA,IACxG,SAAS,KAAA,EAAO;AACd,MAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,6BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,CAAA,iDAAA,EAAoD,QAAQ,CAAA,EAAA,EAAK,KAAA,YAAiB,QAAQ,KAAA,CAAM,OAAA,GAAU,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,OAC9H,CAAA;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,eAAA,CAAgB,MAAA,EAAgB,YAAA,EAA0C;AACtF,IAAA,MAAM,QAAA,GAAW,CAAA,cAAA,EAAiB,MAAM,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA;AAGxD,IAAA,MAAM,MAAA,GAAU,MAAM,IAAA,CAAK,UAAA,CAAW,IAAI,QAAQ,CAAA;AAClD,IAAA,IAAI,UAAU,MAAA,CAAO,SAAA,GAAY,KAAK,GAAA,EAAI,GAAI,MAAO,EAAA,EAAI;AAEvD,MAAA,OAAO,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA,EAAO,GAAA,EAAK,OAAO,GAAA,EAAI;AAAA,IAChD;AAGA,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,qCAAA,EAAwC,MAAM,CAAA,iBAAA,CAAA,EAAqB;AAAA,MAC9F,MAAA,EAAQ,KAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,aAAA,EAAe,UAAU,YAAY,CAAA;AAAA;AACvC,KACD,CAAA;AAED,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,KAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,wCAAA,EAA2C,SAAS,MAAM,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAA;AAAA,IACvF;AAEA,IAAA,MAAM,aAAA,GAAiB,MAAM,QAAA,CAAS,IAAA,EAAK;AAG3C,IAAA,MAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,QAAA,EAAU;AAAA,MAClC,OAAO,aAAA,CAAc,KAAA;AAAA,MACrB,KAAK,aAAA,CAAc,GAAA;AAAA,MACnB,WAAW,aAAA,CAAc;AAAA,KAC1B,CAAA;AAED,IAAA,OAAO,EAAE,KAAA,EAAO,aAAA,CAAc,KAAA,EAAO,GAAA,EAAK,cAAc,GAAA,EAAI;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,UAAU,OAAA,EAAkC;AAChD,IAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,GAAA,CAAI,iBAAiB,CAAA;AAC5C,IAAA,MAAM,YAAA,GAAe,OAAA,CAAQ,GAAA,CAAI,eAAe,CAAA;AAEhD,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,0BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,kEAAkE,OAAO,CAAA;AAAA,OAChF,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,4BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,oEAAoE,OAAO,CAAA;AAAA,OAClF,CAAA;AAAA,IACH;AAEA,IAAA,IAAI;AACF,MAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,eAAA,CAAgB,MAAA,EAAQ,YAAY,CAAA,EAAG,KAAA;AAAA,IAC5D,SAAS,KAAA,EAAO;AACd,MAAA,MAAM,IAAIA,6BAAA,CAAY;AAAA,QACpB,EAAA,EAAI,6BAAA;AAAA,QACJ,MAAA,EAAQ,KAAA;AAAA,QACR,QAAA,EAAU,SAAA;AAAA,QACV,IAAA,EAAM,CAAA,iDAAA,EAAoD,OAAO,CAAA,EAAA,EAAK,KAAA,YAAiB,QAAQ,KAAA,CAAM,OAAA,GAAU,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,OAC7H,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,oBAAA,CAAqB;AAAA,IACzB,OAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF,EAK6B;AAC3B,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,QAAA,CAAS,GAAG,UAAU,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAA;AAE9D,IAAA,MAAM,aAAA,GAAgB,EAAE,YAAA,EAAcC,mCAAA,EAAmB,GAAG,OAAA,EAAQ;AAEpE,IAAA,QAAQ,UAAA;AAAY,MAClB,KAAK,QAAA;AACH,QAAA,OAAOC,8BAAA,CAAa,EAAE,MAAA,EAAQ,OAAA,EAAS,SAAS,aAAA,EAAe,CAAA,CAAE,SAAA,CAAU,OAAO,CAAA;AAAA,MACpF,KAAK,QAAA;AACH,QAAA,OAAOC,0CAAA,CAAyB;AAAA,UAC9B,OAAA,EAAS,GAAG,OAAO,CAAA,QAAA,CAAA;AAAA,UACnB,MAAA;AAAA,UACA,OAAA,EAAS;AAAA,YACP,YAAA,EAAc,mBAAA;AAAA,YACd,GAAG;AAAA;AACL,SACD,CAAA,CAAE,IAAA,CAAK,OAAO,CAAA;AAAA,MACjB,KAAK,WAAA;AACH,QAAA,OAAOC,iCAAA,CAAgB;AAAA,UACrB,MAAA;AAAA,UACA,OAAA,EAAS,GAAG,OAAO,CAAA,IAAA,CAAA;AAAA,UACnB,OAAA,EAAS;AAAA,YACP,mBAAA,EAAqB,YAAA;AAAA,YACrB,GAAG;AAAA;AACL,SACD,EAAE,OAAO,CAAA;AAAA,MACZ;AACE,QAAA,OAAOC,wCAAA,CAAuB;AAAA,UAC5B,IAAA,EAAM,UAAA;AAAA,UACN,MAAA;AAAA,UACA,OAAA;AAAA,UACA,OAAA,EAAS,aAAA;AAAA,UACT,yBAAA,EAA2B;AAAA,SAC5B,CAAA,CAAE,SAAA,CAAU,OAAO,CAAA;AAAA;AACxB,EACF;AACF","file":"chunk-43LAX4OC.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';\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<LanguageModelV2> {\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,11 +1,11 @@
1
- import { ModelsDevGateway, parseModelRouterId } from './chunk-2CEWKM43.js';
2
- import { NetlifyGateway } from './chunk-GZWOMZ7C.js';
3
- import { EventSourceParserStream, AISDKError, InvalidArgumentError, APICallError, LoadAPIKeyError, LoadSettingError, TypeValidationError, JSONParseError, EmptyResponseBodyError, MastraModelGateway, createOpenAICompatible, createOpenAI, createGoogleGenerativeAI, InvalidResponseDataError, UnsupportedFunctionalityError, MASTRA_USER_AGENT, TooManyEmbeddingValuesForCallError, InvalidPromptError } from './chunk-TQO7BSJX.js';
4
- import { PROVIDER_REGISTRY, GatewayRegistry } from './chunk-JO36CQSY.js';
5
- import { AISDKV5LanguageModel, createStreamFromGenerateResult } from './chunk-7LMIK23W.js';
1
+ import { ModelsDevGateway, parseModelRouterId } from './chunk-RTRZMBMW.js';
2
+ import { NetlifyGateway } from './chunk-GC3I45ZY.js';
3
+ import { EventSourceParserStream, AISDKError, InvalidArgumentError, APICallError, LoadAPIKeyError, LoadSettingError, TypeValidationError, JSONParseError, EmptyResponseBodyError, MastraModelGateway, createOpenAICompatible, createOpenAI, createGoogleGenerativeAI, InvalidResponseDataError, UnsupportedFunctionalityError, MASTRA_USER_AGENT, TooManyEmbeddingValuesForCallError, InvalidPromptError } from './chunk-OUYKDP7F.js';
4
+ import { PROVIDER_REGISTRY, GatewayRegistry } from './chunk-WT6PBYLT.js';
5
+ import { AISDKV5LanguageModel, createStreamFromGenerateResult } from './chunk-XKOCRXCP.js';
6
6
  import { InMemoryServerCache } from './chunk-GMSAGYTB.js';
7
- import { MastraError } from './chunk-FJEVLHJT.js';
8
7
  import { RequestContext } from './chunk-JGOH7RWL.js';
8
+ import { MastraError } from './chunk-FJEVLHJT.js';
9
9
  import { __export, __reExport } from './chunk-TM6AOUSD.js';
10
10
  import { createHash } from 'crypto';
11
11
  import * as z4 from 'zod/v4';
@@ -7795,5 +7795,5 @@ var ModelRouterEmbeddingModel = class {
7795
7795
  };
7796
7796
 
7797
7797
  export { AzureOpenAIGateway, EMBEDDING_MODELS, ModelRouterEmbeddingModel, ModelRouterLanguageModel, resolveModelConfig };
7798
- //# sourceMappingURL=chunk-WZQ2AJZV.js.map
7799
- //# sourceMappingURL=chunk-WZQ2AJZV.js.map
7798
+ //# sourceMappingURL=chunk-7BMRL7A7.js.map
7799
+ //# sourceMappingURL=chunk-7BMRL7A7.js.map