@mastra/core 0.21.0-alpha.1 → 0.21.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 (249) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/agent/agent.d.ts +1 -1
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.types.d.ts +2 -2
  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 +4 -4
  11. package/dist/agent/message-list/index.d.ts.map +1 -1
  12. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +1 -1
  13. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  14. package/dist/agent/message-list/prompt/convert-file.d.ts +2 -2
  15. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  16. package/dist/agent/message-list/types.d.ts +2 -2
  17. package/dist/agent/message-list/types.d.ts.map +1 -1
  18. package/dist/agent/message-list/utils/convert-messages.d.ts +2 -2
  19. package/dist/agent/types.d.ts +2 -2
  20. package/dist/agent/types.d.ts.map +1 -1
  21. package/dist/agent/utils.d.ts +24 -24
  22. package/dist/agent/utils.d.ts.map +1 -1
  23. package/dist/ai-tracing/index.cjs +32 -32
  24. package/dist/ai-tracing/index.js +1 -1
  25. package/dist/chunk-3ORA5EFD.cjs +168 -0
  26. package/dist/chunk-3ORA5EFD.cjs.map +1 -0
  27. package/dist/{chunk-LOUJSR3F.cjs → chunk-4PRV2Y55.cjs} +5 -5
  28. package/dist/{chunk-LOUJSR3F.cjs.map → chunk-4PRV2Y55.cjs.map} +1 -1
  29. package/dist/chunk-5NR2GY4U.js +165 -0
  30. package/dist/chunk-5NR2GY4U.js.map +1 -0
  31. package/dist/{chunk-SL534RIL.cjs → chunk-EBF2GIFE.cjs} +12 -12
  32. package/dist/{chunk-SL534RIL.cjs.map → chunk-EBF2GIFE.cjs.map} +1 -1
  33. package/dist/{chunk-SSDFGDFJ.cjs → chunk-F3X3A5KA.cjs} +30 -16
  34. package/dist/chunk-F3X3A5KA.cjs.map +1 -0
  35. package/dist/{chunk-UPRLKS2E.cjs → chunk-FVVPBIUS.cjs} +16 -16
  36. package/dist/chunk-FVVPBIUS.cjs.map +1 -0
  37. package/dist/{chunk-ONHTH5RH.js → chunk-GOCHWSR7.js} +4 -4
  38. package/dist/chunk-GOCHWSR7.js.map +1 -0
  39. package/dist/chunk-HF3GZRFP.cjs +9 -0
  40. package/dist/chunk-HF3GZRFP.cjs.map +1 -0
  41. package/dist/{chunk-74P72XBM.cjs → chunk-JRNJL27F.cjs} +4 -4
  42. package/dist/chunk-JRNJL27F.cjs.map +1 -0
  43. package/dist/{chunk-R3W5CNKP.js → chunk-K7INT7EE.js} +10 -11
  44. package/dist/chunk-K7INT7EE.js.map +1 -0
  45. package/dist/{chunk-RXGL66T6.cjs → chunk-KJZFXTQR.cjs} +56 -57
  46. package/dist/chunk-KJZFXTQR.cjs.map +1 -0
  47. package/dist/{chunk-2VSJYKJF.js → chunk-KK5LUATU.js} +4 -4
  48. package/dist/{chunk-2VSJYKJF.js.map → chunk-KK5LUATU.js.map} +1 -1
  49. package/dist/{chunk-24L3LVID.js → chunk-KUFI34FC.js} +4 -4
  50. package/dist/{chunk-24L3LVID.js.map → chunk-KUFI34FC.js.map} +1 -1
  51. package/dist/{chunk-UQCUAYWV.js → chunk-LN5I7LG3.js} +3 -3
  52. package/dist/{chunk-UQCUAYWV.js.map → chunk-LN5I7LG3.js.map} +1 -1
  53. package/dist/{chunk-SQXKJWFX.cjs → chunk-M4ZLVM2E.cjs} +12 -12
  54. package/dist/{chunk-SQXKJWFX.cjs.map → chunk-M4ZLVM2E.cjs.map} +1 -1
  55. package/dist/{chunk-PPW3SAWO.js → chunk-NOY6XIU4.js} +4 -4
  56. package/dist/{chunk-PPW3SAWO.js.map → chunk-NOY6XIU4.js.map} +1 -1
  57. package/dist/{chunk-XQ5A3ISB.js → chunk-OBNF7UO2.js} +3 -3
  58. package/dist/{chunk-XQ5A3ISB.js.map → chunk-OBNF7UO2.js.map} +1 -1
  59. package/dist/{chunk-624FF2ZG.js → chunk-OVJ2WBFK.js} +2 -2
  60. package/dist/{chunk-624FF2ZG.js.map → chunk-OVJ2WBFK.js.map} +1 -1
  61. package/dist/chunk-RKXWLG33.js +7 -0
  62. package/dist/chunk-RKXWLG33.js.map +1 -0
  63. package/dist/{chunk-6OJROHMC.cjs → chunk-S4FM66W4.cjs} +11 -11
  64. package/dist/{chunk-6OJROHMC.cjs.map → chunk-S4FM66W4.cjs.map} +1 -1
  65. package/dist/{chunk-DUMAWQ7I.cjs → chunk-SJKHIH44.cjs} +4 -4
  66. package/dist/{chunk-DUMAWQ7I.cjs.map → chunk-SJKHIH44.cjs.map} +1 -1
  67. package/dist/{chunk-2BTTHMDJ.cjs → chunk-T3MCLRO6.cjs} +2 -2
  68. package/dist/{chunk-2BTTHMDJ.cjs.map → chunk-T3MCLRO6.cjs.map} +1 -1
  69. package/dist/{chunk-XL5MZTLP.js → chunk-TGWK6V72.js} +3 -3
  70. package/dist/chunk-TGWK6V72.js.map +1 -0
  71. package/dist/{chunk-33JJWAVI.js → chunk-VNVHOWW4.js} +7 -7
  72. package/dist/{chunk-33JJWAVI.js.map → chunk-VNVHOWW4.js.map} +1 -1
  73. package/dist/{chunk-Y2PKC5BX.cjs → chunk-W5YMECZP.cjs} +12 -9
  74. package/dist/chunk-W5YMECZP.cjs.map +1 -0
  75. package/dist/{chunk-EQV7XSTY.cjs → chunk-WU7LIV3L.cjs} +12 -12
  76. package/dist/{chunk-EQV7XSTY.cjs.map → chunk-WU7LIV3L.cjs.map} +1 -1
  77. package/dist/{chunk-Q4YVANA4.js → chunk-X3ECC3CB.js} +5 -5
  78. package/dist/{chunk-Q4YVANA4.js.map → chunk-X3ECC3CB.js.map} +1 -1
  79. package/dist/{chunk-TTJM3STK.cjs → chunk-X6EDVW3U.cjs} +6 -6
  80. package/dist/{chunk-TTJM3STK.cjs.map → chunk-X6EDVW3U.cjs.map} +1 -1
  81. package/dist/{chunk-75CDUY5G.js → chunk-Y3IFARBC.js} +7 -4
  82. package/dist/chunk-Y3IFARBC.js.map +1 -0
  83. package/dist/{chunk-YUV3LZMY.js → chunk-YWLOJRIX.js} +26 -12
  84. package/dist/chunk-YWLOJRIX.js.map +1 -0
  85. package/dist/index.cjs +50 -50
  86. package/dist/index.js +10 -10
  87. package/dist/llm/index.cjs +6 -6
  88. package/dist/llm/index.d.ts +2 -2
  89. package/dist/llm/index.d.ts.map +1 -1
  90. package/dist/llm/index.js +1 -1
  91. package/dist/llm/model/base.types.d.ts +2 -2
  92. package/dist/llm/model/base.types.d.ts.map +1 -1
  93. package/dist/llm/model/gateways/base.d.ts +1 -1
  94. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  95. package/dist/llm/model/gateways/models-dev.d.ts +1 -1
  96. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  97. package/dist/llm/model/gateways/netlify.d.ts +1 -1
  98. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  99. package/dist/llm/model/model.d.ts +2 -2
  100. package/dist/llm/model/model.d.ts.map +1 -1
  101. package/dist/llm/model/model.loop.d.ts +2 -2
  102. package/dist/llm/model/model.loop.d.ts.map +1 -1
  103. package/dist/llm/model/model.loop.types.d.ts +1 -1
  104. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  105. package/dist/llm/model/router.d.ts +1 -1
  106. package/dist/llm/model/router.d.ts.map +1 -1
  107. package/dist/llm/model/shared.types.d.ts +2 -2
  108. package/dist/llm/model/shared.types.d.ts.map +1 -1
  109. package/dist/loop/index.cjs +2 -2
  110. package/dist/loop/index.js +1 -1
  111. package/dist/loop/loop.d.ts +1 -1
  112. package/dist/loop/loop.d.ts.map +1 -1
  113. package/dist/loop/telemetry/index.d.ts +1 -1
  114. package/dist/loop/telemetry/index.d.ts.map +1 -1
  115. package/dist/loop/test-utils/streamObject.d.ts +1 -1
  116. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  117. package/dist/loop/test-utils/utils.d.ts +2 -2
  118. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  119. package/dist/loop/types.d.ts +2 -2
  120. package/dist/loop/types.d.ts.map +1 -1
  121. package/dist/loop/workflows/agentic-execution/index.d.ts +1 -1
  122. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  123. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +1 -1
  124. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  125. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +1 -1
  126. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  127. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  128. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  129. package/dist/loop/workflows/agentic-loop/index.d.ts +1 -1
  130. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  131. package/dist/loop/workflows/run-state.d.ts +1 -1
  132. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  133. package/dist/loop/workflows/schema.d.ts +5 -5
  134. package/dist/loop/workflows/schema.d.ts.map +1 -1
  135. package/dist/loop/workflows/stream.d.ts +1 -1
  136. package/dist/loop/workflows/stream.d.ts.map +1 -1
  137. package/dist/mastra/index.cjs +2 -2
  138. package/dist/mastra/index.js +1 -1
  139. package/dist/memory/index.cjs +4 -4
  140. package/dist/memory/index.js +1 -1
  141. package/dist/memory/memory.d.ts +2 -2
  142. package/dist/memory/memory.d.ts.map +1 -1
  143. package/dist/memory/types.d.ts +3 -3
  144. package/dist/memory/types.d.ts.map +1 -1
  145. package/dist/models-dev-3VEABUH4.js +3 -0
  146. package/dist/{models-dev-A334FF64.js.map → models-dev-3VEABUH4.js.map} +1 -1
  147. package/dist/models-dev-L42ORGVT.cjs +12 -0
  148. package/dist/{models-dev-ECOIQLLK.cjs.map → models-dev-L42ORGVT.cjs.map} +1 -1
  149. package/dist/netlify-53AMH53Z.cjs +12 -0
  150. package/dist/{netlify-WFAL2AA4.cjs.map → netlify-53AMH53Z.cjs.map} +1 -1
  151. package/dist/netlify-NP3YFNSZ.js +3 -0
  152. package/dist/{netlify-CEYZ5O54.js.map → netlify-NP3YFNSZ.js.map} +1 -1
  153. package/dist/processors/index.cjs +11 -11
  154. package/dist/processors/index.js +1 -1
  155. package/dist/relevance/index.cjs +4 -4
  156. package/dist/relevance/index.js +1 -1
  157. package/dist/scores/index.cjs +9 -9
  158. package/dist/scores/index.js +2 -2
  159. package/dist/scores/run-experiment/index.d.ts +1 -1
  160. package/dist/scores/run-experiment/index.d.ts.map +1 -1
  161. package/dist/scores/scoreTraces/index.cjs +8 -8
  162. package/dist/scores/scoreTraces/index.cjs.map +1 -1
  163. package/dist/scores/scoreTraces/index.js +3 -3
  164. package/dist/scores/scoreTraces/index.js.map +1 -1
  165. package/dist/scores/types.d.ts +1 -1
  166. package/dist/scores/types.d.ts.map +1 -1
  167. package/dist/storage/index.cjs +3 -3
  168. package/dist/storage/index.js +1 -1
  169. package/dist/stream/aisdk/v4/input.d.ts +1 -1
  170. package/dist/stream/aisdk/v4/input.d.ts.map +1 -1
  171. package/dist/stream/aisdk/v5/compat/content.d.ts +2 -2
  172. package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -1
  173. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +2 -2
  174. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  175. package/dist/stream/aisdk/v5/compat/ui-message.d.ts +1 -1
  176. package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -1
  177. package/dist/stream/aisdk/v5/compat/validation.d.ts +1 -1
  178. package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -1
  179. package/dist/stream/aisdk/v5/execute.d.ts +2 -2
  180. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  181. package/dist/stream/aisdk/v5/input.d.ts +1 -1
  182. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  183. package/dist/stream/aisdk/v5/output-helpers.d.ts +9 -9
  184. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
  185. package/dist/stream/aisdk/v5/output.d.ts +38 -38
  186. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  187. package/dist/stream/aisdk/v5/test-utils.d.ts +1 -1
  188. package/dist/stream/aisdk/v5/test-utils.d.ts.map +1 -1
  189. package/dist/stream/aisdk/v5/transform.d.ts +2 -2
  190. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  191. package/dist/stream/base/input.d.ts +1 -1
  192. package/dist/stream/base/input.d.ts.map +1 -1
  193. package/dist/stream/base/output.d.ts +23 -23
  194. package/dist/stream/base/output.d.ts.map +1 -1
  195. package/dist/stream/base/schema.d.ts +1 -1
  196. package/dist/stream/base/schema.d.ts.map +1 -1
  197. package/dist/stream/index.cjs +10 -10
  198. package/dist/stream/index.js +2 -2
  199. package/dist/stream/types.d.ts +4 -4
  200. package/dist/stream/types.d.ts.map +1 -1
  201. package/dist/test-utils/llm-mock.cjs +6 -6
  202. package/dist/test-utils/llm-mock.cjs.map +1 -1
  203. package/dist/test-utils/llm-mock.d.ts +1 -1
  204. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  205. package/dist/test-utils/llm-mock.js +3 -3
  206. package/dist/test-utils/llm-mock.js.map +1 -1
  207. package/dist/tools/types.d.ts +2 -2
  208. package/dist/tools/types.d.ts.map +1 -1
  209. package/dist/utils.cjs +17 -17
  210. package/dist/utils.d.ts +1 -1
  211. package/dist/utils.d.ts.map +1 -1
  212. package/dist/utils.js +1 -1
  213. package/dist/vector/embed.d.ts +2 -2
  214. package/dist/vector/embed.d.ts.map +1 -1
  215. package/dist/vector/index.cjs +4 -4
  216. package/dist/vector/index.js +1 -1
  217. package/dist/vector/vector.d.ts +2 -2
  218. package/dist/vector/vector.d.ts.map +1 -1
  219. package/dist/workflows/evented/index.cjs +10 -10
  220. package/dist/workflows/evented/index.js +1 -1
  221. package/dist/workflows/index.cjs +12 -12
  222. package/dist/workflows/index.js +1 -1
  223. package/dist/workflows/legacy/index.cjs +22 -22
  224. package/dist/workflows/legacy/index.js +1 -1
  225. package/dist/workflows/types.d.ts +1 -1
  226. package/dist/workflows/types.d.ts.map +1 -1
  227. package/package.json +15 -19
  228. package/dist/chunk-3ZEJSGTJ.cjs +0 -9289
  229. package/dist/chunk-3ZEJSGTJ.cjs.map +0 -1
  230. package/dist/chunk-74P72XBM.cjs.map +0 -1
  231. package/dist/chunk-75CDUY5G.js.map +0 -1
  232. package/dist/chunk-BLPOOPRL.js +0 -3164
  233. package/dist/chunk-BLPOOPRL.js.map +0 -1
  234. package/dist/chunk-ILZI4MEU.js +0 -9263
  235. package/dist/chunk-ILZI4MEU.js.map +0 -1
  236. package/dist/chunk-ONHTH5RH.js.map +0 -1
  237. package/dist/chunk-QMKBXESK.cjs +0 -3186
  238. package/dist/chunk-QMKBXESK.cjs.map +0 -1
  239. package/dist/chunk-R3W5CNKP.js.map +0 -1
  240. package/dist/chunk-RXGL66T6.cjs.map +0 -1
  241. package/dist/chunk-SSDFGDFJ.cjs.map +0 -1
  242. package/dist/chunk-UPRLKS2E.cjs.map +0 -1
  243. package/dist/chunk-XL5MZTLP.js.map +0 -1
  244. package/dist/chunk-Y2PKC5BX.cjs.map +0 -1
  245. package/dist/chunk-YUV3LZMY.js.map +0 -1
  246. package/dist/models-dev-A334FF64.js +0 -3
  247. package/dist/models-dev-ECOIQLLK.cjs +0 -12
  248. package/dist/netlify-CEYZ5O54.js +0 -3
  249. package/dist/netlify-WFAL2AA4.cjs +0 -12
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk2BTTHMDJ_cjs = require('./chunk-2BTTHMDJ.cjs');
3
+ var chunkT3MCLRO6_cjs = require('./chunk-T3MCLRO6.cjs');
4
4
  var chunkWM4VQWOZ_cjs = require('./chunk-WM4VQWOZ.cjs');
5
- var providerUtils = require('@ai-sdk/provider-utils');
5
+ var providerUtilsV5 = require('@ai-sdk/provider-utils-v5');
6
6
  var crypto = require('crypto');
7
- var AIV5 = require('ai');
8
- var AIV4 = require('ai-v4');
7
+ var AIV4 = require('ai');
8
+ var AIV5 = require('ai-v5');
9
+ var providerUtils = require('@ai-sdk/provider-utils');
9
10
  var zod = require('zod');
10
11
 
11
12
  function _interopNamespace(e) {
@@ -26,8 +27,8 @@ function _interopNamespace(e) {
26
27
  return Object.freeze(n);
27
28
  }
28
29
 
29
- var AIV5__namespace = /*#__PURE__*/_interopNamespace(AIV5);
30
30
  var AIV4__namespace = /*#__PURE__*/_interopNamespace(AIV4);
31
+ var AIV5__namespace = /*#__PURE__*/_interopNamespace(AIV5);
31
32
 
32
33
  var DefaultGeneratedFile = class {
33
34
  base64Data;
@@ -42,14 +43,14 @@ var DefaultGeneratedFile = class {
42
43
  // lazy conversion with caching to avoid unnecessary conversion overhead:
43
44
  get base64() {
44
45
  if (this.base64Data == null) {
45
- this.base64Data = providerUtils.convertUint8ArrayToBase64(this.uint8ArrayData);
46
+ this.base64Data = providerUtilsV5.convertUint8ArrayToBase64(this.uint8ArrayData);
46
47
  }
47
48
  return this.base64Data;
48
49
  }
49
50
  // lazy conversion with caching to avoid unnecessary conversion overhead:
50
51
  get uint8Array() {
51
52
  if (this.uint8ArrayData == null) {
52
- this.uint8ArrayData = providerUtils.convertBase64ToUint8Array(this.base64Data);
53
+ this.uint8ArrayData = providerUtilsV5.convertBase64ToUint8Array(this.base64Data);
53
54
  }
54
55
  return this.uint8ArrayData;
55
56
  }
@@ -151,7 +152,7 @@ var imageMediaTypeSignatures = [
151
152
  }
152
153
  ];
153
154
  var stripID3 = (data) => {
154
- const bytes = typeof data === "string" ? providerUtils.convertBase64ToUint8Array(data) : data;
155
+ const bytes = typeof data === "string" ? providerUtilsV5.convertBase64ToUint8Array(data) : data;
155
156
  const id3Size = (
156
157
  // @ts-ignore
157
158
  (bytes[6] & 127) << 21 | // @ts-ignore
@@ -612,7 +613,7 @@ function convertDataContentToBase64String(content) {
612
613
  var downloadFromUrl = async ({ url, downloadRetries }) => {
613
614
  const urlText = url.toString();
614
615
  try {
615
- const response = await chunk2BTTHMDJ_cjs.fetchWithRetry(
616
+ const response = await chunkT3MCLRO6_cjs.fetchWithRetry(
616
617
  urlText,
617
618
  {
618
619
  method: "GET"
@@ -662,7 +663,7 @@ async function downloadAssetsFromMessages({
662
663
  return { mediaType, data };
663
664
  }).filter((part) => part.data instanceof URL).map((part) => ({
664
665
  url: part.data,
665
- isUrlSupportedByModel: part.mediaType != null && providerUtils.isUrlSupported({
666
+ isUrlSupportedByModel: part.mediaType != null && providerUtilsV5.isUrlSupported({
666
667
  url: part.data.toString(),
667
668
  mediaType: part.mediaType,
668
669
  supportedUrls: supportedUrls ?? {}
@@ -1780,7 +1781,9 @@ var MessageList = class _MessageList {
1780
1781
  if (typeof coreMessage.content === "string") {
1781
1782
  parts.push({
1782
1783
  type: "text",
1783
- text: coreMessage.content
1784
+ text: coreMessage.content,
1785
+ // Preserve providerOptions from CoreMessage (e.g., for system messages with cacheControl)
1786
+ ..."providerOptions" in coreMessage && coreMessage.providerOptions ? { providerMetadata: coreMessage.providerOptions } : {}
1784
1787
  });
1785
1788
  } else if (Array.isArray(coreMessage.content)) {
1786
1789
  for (const part of coreMessage.content) {
@@ -1790,9 +1793,14 @@ var MessageList = class _MessageList {
1790
1793
  if (coreMessage.role === "assistant" && prevPart && prevPart.type === "tool-invocation") {
1791
1794
  parts.push({ type: "step-start" });
1792
1795
  }
1796
+ const mergedProviderMetadata = {
1797
+ ..."providerOptions" in coreMessage && coreMessage.providerOptions ? coreMessage.providerOptions : {},
1798
+ ..."providerOptions" in part && part.providerOptions ? part.providerOptions : {}
1799
+ };
1793
1800
  parts.push({
1794
1801
  type: "text",
1795
- text: part.text
1802
+ text: part.text,
1803
+ ...Object.keys(mergedProviderMetadata).length > 0 ? { providerMetadata: mergedProviderMetadata } : {}
1796
1804
  });
1797
1805
  break;
1798
1806
  case "tool-call":
@@ -2689,7 +2697,9 @@ var MessageList = class _MessageList {
2689
2697
  if (typeof coreMessage.content === "string") {
2690
2698
  parts.push({
2691
2699
  type: "text",
2692
- text: coreMessage.content
2700
+ text: coreMessage.content,
2701
+ // Preserve providerOptions from ModelMessage level (e.g., system messages with cacheControl)
2702
+ ..."providerOptions" in coreMessage && coreMessage.providerOptions ? { providerMetadata: coreMessage.providerOptions } : {}
2693
2703
  });
2694
2704
  } else if (Array.isArray(coreMessage.content)) {
2695
2705
  for (const part of coreMessage.content) {
@@ -2701,10 +2711,14 @@ var MessageList = class _MessageList {
2701
2711
  type: "step-start"
2702
2712
  });
2703
2713
  }
2714
+ const mergedProviderMetadataV3 = {
2715
+ ..."providerOptions" in coreMessage && coreMessage.providerOptions ? coreMessage.providerOptions : {},
2716
+ ...part.providerOptions || {}
2717
+ };
2704
2718
  parts.push({
2705
2719
  type: "text",
2706
2720
  text: part.text,
2707
- providerMetadata: part.providerOptions
2721
+ ...Object.keys(mergedProviderMetadataV3).length > 0 ? { providerMetadata: mergedProviderMetadataV3 } : {}
2708
2722
  });
2709
2723
  break;
2710
2724
  case "tool-call":
@@ -2981,5 +2995,5 @@ exports.DefaultGeneratedFile = DefaultGeneratedFile;
2981
2995
  exports.DefaultGeneratedFileWithType = DefaultGeneratedFileWithType;
2982
2996
  exports.MessageList = MessageList;
2983
2997
  exports.convertMessages = convertMessages;
2984
- //# sourceMappingURL=chunk-SSDFGDFJ.cjs.map
2985
- //# sourceMappingURL=chunk-SSDFGDFJ.cjs.map
2998
+ //# sourceMappingURL=chunk-F3X3A5KA.cjs.map
2999
+ //# sourceMappingURL=chunk-F3X3A5KA.cjs.map