ai 7.0.0-beta.11 → 7.0.0-beta.112

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 +849 -24
  2. package/README.md +7 -17
  3. package/dist/index.d.ts +2865 -1707
  4. package/dist/index.js +4862 -4136
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/index.d.ts +1671 -95
  7. package/dist/internal/index.js +994 -294
  8. package/dist/internal/index.js.map +1 -1
  9. package/dist/test/index.js +35 -72
  10. package/dist/test/index.js.map +1 -1
  11. package/docs/02-foundations/02-providers-and-models.mdx +6 -2
  12. package/docs/02-foundations/03-prompts.mdx +15 -12
  13. package/docs/02-foundations/04-tools.mdx +2 -2
  14. package/docs/02-foundations/06-provider-options.mdx +10 -2
  15. package/docs/02-getting-started/02-nextjs-app-router.mdx +7 -7
  16. package/docs/02-getting-started/03-nextjs-pages-router.mdx +6 -6
  17. package/docs/02-getting-started/04-svelte.mdx +7 -7
  18. package/docs/02-getting-started/05-nuxt.mdx +6 -6
  19. package/docs/02-getting-started/06-nodejs.mdx +6 -6
  20. package/docs/02-getting-started/07-expo.mdx +6 -6
  21. package/docs/02-getting-started/08-tanstack-start.mdx +7 -7
  22. package/docs/02-getting-started/09-coding-agents.mdx +9 -12
  23. package/docs/03-agents/01-overview.mdx +17 -3
  24. package/docs/03-agents/02-building-agents.mdx +104 -19
  25. package/docs/03-agents/04-loop-control.mdx +39 -6
  26. package/docs/03-agents/05-configuring-call-options.mdx +3 -3
  27. package/docs/03-agents/06-memory.mdx +1 -2
  28. package/docs/03-agents/06-subagents.mdx +3 -1
  29. package/docs/03-agents/07-workflow-agent.mdx +601 -0
  30. package/docs/03-agents/index.mdx +10 -2
  31. package/docs/03-ai-sdk-core/05-generating-text.mdx +55 -25
  32. package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +2 -2
  33. package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +219 -60
  34. package/docs/03-ai-sdk-core/16-mcp-tools.mdx +6 -0
  35. package/docs/03-ai-sdk-core/17-runtime-and-tool-context.mdx +215 -0
  36. package/docs/03-ai-sdk-core/25-settings.mdx +61 -2
  37. package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
  38. package/docs/03-ai-sdk-core/30-embeddings.mdx +10 -20
  39. package/docs/03-ai-sdk-core/35-image-generation.mdx +22 -22
  40. package/docs/03-ai-sdk-core/38-video-generation.mdx +26 -26
  41. package/docs/03-ai-sdk-core/39-file-uploads.mdx +155 -0
  42. package/docs/03-ai-sdk-core/40-middleware.mdx +13 -13
  43. package/docs/03-ai-sdk-core/41-skill-uploads.mdx +194 -0
  44. package/docs/03-ai-sdk-core/45-provider-management.mdx +108 -0
  45. package/docs/03-ai-sdk-core/55-testing.mdx +10 -10
  46. package/docs/03-ai-sdk-core/60-telemetry.mdx +360 -68
  47. package/docs/03-ai-sdk-core/65-devtools.mdx +39 -16
  48. package/docs/03-ai-sdk-core/65-event-listeners.mdx +559 -173
  49. package/docs/03-ai-sdk-core/index.mdx +17 -0
  50. package/docs/04-ai-sdk-ui/02-chatbot.mdx +8 -1
  51. package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +0 -1
  52. package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +48 -6
  53. package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +4 -4
  54. package/docs/04-ai-sdk-ui/21-transport.mdx +38 -0
  55. package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +69 -0
  56. package/docs/05-ai-sdk-rsc/10-migrating-to-ui.mdx +1 -2
  57. package/docs/06-advanced/04-caching.mdx +10 -10
  58. package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +324 -190
  59. package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +330 -154
  60. package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +119 -12
  61. package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +123 -12
  62. package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +22 -14
  63. package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +3 -2
  64. package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +1 -1
  65. package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +1 -1
  66. package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +3 -2
  67. package/docs/07-reference/01-ai-sdk-core/14-upload-file.mdx +93 -0
  68. package/docs/07-reference/01-ai-sdk-core/14-upload-skill.mdx +110 -0
  69. package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +8 -8
  70. package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +189 -174
  71. package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +1 -1
  72. package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +1 -1
  73. package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +1 -1
  74. package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +33 -16
  75. package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +10 -11
  76. package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +21 -1
  77. package/docs/07-reference/01-ai-sdk-core/29-filter-active-tools.mdx +83 -0
  78. package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +77 -7
  79. package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +18 -0
  80. package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +4 -4
  81. package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +4 -4
  82. package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +9 -9
  83. package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +1 -1
  84. package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +1 -1
  85. package/docs/07-reference/01-ai-sdk-core/{70-step-count-is.mdx → 70-is-step-count.mdx} +14 -14
  86. package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +27 -9
  87. package/docs/07-reference/01-ai-sdk-core/72-loop-finished.mdx +83 -0
  88. package/docs/07-reference/01-ai-sdk-core/index.mdx +33 -0
  89. package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +9 -0
  90. package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +7 -0
  91. package/docs/07-reference/04-ai-sdk-workflow/01-workflow-agent.mdx +834 -0
  92. package/docs/07-reference/04-ai-sdk-workflow/02-workflow-chat-transport.mdx +342 -0
  93. package/docs/07-reference/04-ai-sdk-workflow/index.mdx +26 -0
  94. package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-reference-error.mdx +27 -0
  95. package/docs/07-reference/05-ai-sdk-errors/index.mdx +1 -0
  96. package/docs/07-reference/index.mdx +6 -0
  97. package/docs/08-migration-guides/23-migration-guide-7-0.mdx +660 -0
  98. package/docs/08-migration-guides/24-migration-guide-6-0.mdx +4 -4
  99. package/docs/08-migration-guides/26-migration-guide-5-0.mdx +11 -8
  100. package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +1 -1
  101. package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +1 -1
  102. package/package.json +25 -24
  103. package/src/agent/agent.ts +34 -27
  104. package/src/agent/create-agent-ui-stream-response.ts +10 -10
  105. package/src/agent/create-agent-ui-stream.ts +10 -10
  106. package/src/agent/index.ts +0 -6
  107. package/src/agent/pipe-agent-ui-stream-to-response.ts +10 -10
  108. package/src/agent/tool-loop-agent-settings.ts +246 -203
  109. package/src/agent/tool-loop-agent.ts +124 -79
  110. package/src/embed/embed-events.ts +132 -0
  111. package/src/embed/embed-many.ts +262 -239
  112. package/src/embed/embed.ts +137 -97
  113. package/src/embed/index.ts +1 -0
  114. package/src/error/index.ts +1 -0
  115. package/src/error/invalid-stream-part-error.ts +3 -3
  116. package/src/generate-image/generate-image.ts +18 -17
  117. package/src/generate-object/generate-object.ts +226 -239
  118. package/src/generate-object/index.ts +6 -0
  119. package/src/generate-object/output-strategy.ts +1 -1
  120. package/src/generate-object/stream-object.ts +360 -379
  121. package/src/generate-object/structured-output-events.ts +219 -0
  122. package/src/generate-text/active-tools.ts +12 -0
  123. package/src/generate-text/collect-tool-approvals.ts +1 -1
  124. package/src/generate-text/content-part.ts +12 -4
  125. package/src/generate-text/create-execute-tools-transformation.ts +195 -0
  126. package/src/generate-text/execute-tool-call.ts +138 -146
  127. package/src/generate-text/filter-active-tools.ts +38 -0
  128. package/src/generate-text/generate-text-events.ts +263 -0
  129. package/src/generate-text/generate-text-result.ts +5 -11
  130. package/src/generate-text/generate-text.ts +788 -954
  131. package/src/generate-text/index.ts +58 -26
  132. package/src/generate-text/invoke-tool-callbacks-from-stream.ts +84 -0
  133. package/src/generate-text/language-model-events.ts +79 -0
  134. package/src/generate-text/output.ts +1 -1
  135. package/src/generate-text/parse-tool-call.ts +1 -1
  136. package/src/generate-text/prepare-step.ts +36 -12
  137. package/src/generate-text/reasoning-output.ts +79 -0
  138. package/src/generate-text/reasoning.ts +5 -3
  139. package/src/generate-text/resolve-tool-approval.ts +134 -0
  140. package/src/generate-text/restricted-telemetry-dispatcher.ts +247 -0
  141. package/src/generate-text/smooth-stream.ts +1 -1
  142. package/src/generate-text/step-result.ts +80 -57
  143. package/src/generate-text/stop-condition.ts +58 -10
  144. package/src/generate-text/stream-language-model-call.ts +673 -0
  145. package/src/generate-text/stream-text-result.ts +176 -97
  146. package/src/generate-text/stream-text.ts +938 -1134
  147. package/src/generate-text/to-response-messages.ts +52 -4
  148. package/src/generate-text/tool-approval-configuration.ts +128 -0
  149. package/src/generate-text/tool-approval-request-output.ts +8 -1
  150. package/src/generate-text/tool-approval-response-output.ts +35 -0
  151. package/src/generate-text/tool-call-repair-function.ts +1 -1
  152. package/src/generate-text/tool-call.ts +15 -3
  153. package/src/generate-text/tool-error.ts +1 -1
  154. package/src/generate-text/tool-execution-events.ts +169 -0
  155. package/src/generate-text/tool-output-denied.ts +1 -1
  156. package/src/generate-text/tool-output.ts +1 -1
  157. package/src/generate-text/tool-result.ts +1 -1
  158. package/src/generate-text/tools-context-parameter.ts +14 -0
  159. package/src/generate-text/validate-tool-context.ts +34 -0
  160. package/src/generate-video/generate-video.ts +17 -16
  161. package/src/global.ts +3 -3
  162. package/src/index.ts +6 -3
  163. package/src/logger/log-warnings.ts +33 -19
  164. package/src/middleware/wrap-embedding-model.ts +6 -5
  165. package/src/middleware/wrap-image-model.ts +6 -5
  166. package/src/middleware/wrap-language-model.ts +14 -9
  167. package/src/model/resolve-model.ts +88 -76
  168. package/src/prompt/content-part.ts +45 -7
  169. package/src/prompt/convert-to-language-model-prompt.ts +271 -45
  170. package/src/prompt/data-content.ts +2 -2
  171. package/src/prompt/index.ts +15 -1
  172. package/src/prompt/language-model-call-options.ts +78 -0
  173. package/src/prompt/message.ts +4 -0
  174. package/src/prompt/{prepare-call-settings.ts → prepare-language-model-call-options.ts} +6 -7
  175. package/src/prompt/prepare-tool-choice.ts +15 -0
  176. package/src/prompt/{prepare-tools-and-tool-choice.ts → prepare-tools.ts} +8 -37
  177. package/src/prompt/prompt.ts +9 -0
  178. package/src/prompt/request-options.ts +109 -0
  179. package/src/prompt/split-data-url.ts +1 -1
  180. package/src/prompt/standardize-prompt.ts +39 -28
  181. package/src/registry/custom-provider.ts +17 -5
  182. package/src/registry/no-such-provider-error.ts +2 -1
  183. package/src/registry/provider-registry.ts +78 -4
  184. package/src/rerank/index.ts +6 -0
  185. package/src/rerank/rerank-events.ts +140 -0
  186. package/src/rerank/rerank.ts +194 -103
  187. package/src/telemetry/create-telemetry-dispatcher.ts +146 -0
  188. package/src/telemetry/index.ts +3 -4
  189. package/src/telemetry/{telemetry-settings.ts → telemetry-options.ts} +8 -19
  190. package/src/telemetry/telemetry-registry.ts +15 -0
  191. package/src/telemetry/telemetry.ts +223 -0
  192. package/src/test/mock-language-model-v2.ts +3 -3
  193. package/src/test/mock-language-model-v3.ts +3 -3
  194. package/src/test/mock-language-model-v4.ts +3 -3
  195. package/src/types/index.ts +1 -0
  196. package/src/types/provider-reference.ts +3 -0
  197. package/src/types/reranking-model.ts +1 -1
  198. package/src/ui/convert-to-model-messages.ts +48 -4
  199. package/src/ui/direct-chat-transport.ts +17 -8
  200. package/src/ui/http-chat-transport.ts +8 -19
  201. package/src/ui/index.ts +5 -1
  202. package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +1 -2
  203. package/src/ui/process-ui-message-stream.ts +63 -4
  204. package/src/ui/ui-messages.ts +81 -6
  205. package/src/ui/validate-ui-messages.ts +31 -2
  206. package/src/ui-message-stream/create-ui-message-stream.ts +2 -2
  207. package/src/ui-message-stream/ui-message-chunks.ts +40 -0
  208. package/src/upload-file/index.ts +2 -0
  209. package/src/upload-file/upload-file-result.ts +11 -0
  210. package/src/upload-file/upload-file.ts +163 -0
  211. package/src/upload-skill/index.ts +2 -0
  212. package/src/upload-skill/upload-skill-result.ts +11 -0
  213. package/src/upload-skill/upload-skill.ts +34 -0
  214. package/src/util/callback.ts +4 -0
  215. package/src/util/create-stitchable-stream.ts +1 -1
  216. package/src/util/data-url.ts +1 -1
  217. package/src/util/detect-media-type.ts +15 -6
  218. package/src/util/download/download-function.ts +1 -1
  219. package/src/util/merge-abort-signals.ts +17 -35
  220. package/src/util/merge-callbacks.ts +22 -0
  221. package/src/util/merge-objects.ts +5 -0
  222. package/src/util/notify.ts +11 -14
  223. package/src/util/retry-with-exponential-backoff.ts +2 -2
  224. package/dist/index.d.mts +0 -6471
  225. package/dist/index.mjs +0 -13720
  226. package/dist/index.mjs.map +0 -1
  227. package/dist/internal/index.d.mts +0 -314
  228. package/dist/internal/index.mjs +0 -1303
  229. package/dist/internal/index.mjs.map +0 -1
  230. package/dist/test/index.d.mts +0 -265
  231. package/dist/test/index.mjs +0 -472
  232. package/dist/test/index.mjs.map +0 -1
  233. package/src/generate-text/callback-events.ts +0 -332
  234. package/src/generate-text/is-approval-needed.ts +0 -29
  235. package/src/generate-text/run-tools-transformation.ts +0 -448
  236. package/src/generate-text/tool-set.ts +0 -14
  237. package/src/prompt/call-settings.ts +0 -148
  238. package/src/telemetry/assemble-operation-name.ts +0 -21
  239. package/src/telemetry/get-base-telemetry-attributes.ts +0 -53
  240. package/src/telemetry/get-global-telemetry-integration.ts +0 -85
  241. package/src/telemetry/get-tracer.ts +0 -20
  242. package/src/telemetry/noop-tracer.ts +0 -69
  243. package/src/telemetry/record-span.ts +0 -75
  244. package/src/telemetry/select-telemetry-attributes.ts +0 -78
  245. package/src/telemetry/stringify-for-telemetry.ts +0 -33
  246. package/src/telemetry/telemetry-integration-registry.ts +0 -17
  247. package/src/telemetry/telemetry-integration.ts +0 -24
  248. package/src/test/mock-tracer.ts +0 -156
  249. package/src/util/as-array.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,830 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.112
4
+
5
+ ### Major Changes
6
+
7
+ - cf93359: feat(ai): remove/refactor event data sent via callbacks
8
+ - 116c89f: feat(ai): remove telemetry data from the user-facing event data
9
+ - 4e095b0: fix(ai): reject system messages in messages or prompt by default (opt-in)
10
+
11
+ ### Patch Changes
12
+
13
+ - 5f3749c: refactoring: rename toolNeedsApproval to toolApproval
14
+ - 0a51f7d: fix(ai): enforce `callOptionsSchema` at runtime in `ToolLoopAgent`
15
+
16
+ `ToolLoopAgentSettings.callOptionsSchema` was declared and documented as a runtime schema for `options`, but `tool-loop-agent.ts` never invoked it. Any invariant a developer encoded in the schema was silently bypassed at runtime, and unchecked `options` flowed straight into `prepareCall` and any `instructions` template that interpolated them.
17
+
18
+ `ToolLoopAgent.prepareCall` now validates caller-supplied `options` against `callOptionsSchema` (when set) via `safeValidateTypes`, throwing `InvalidArgumentError` on failure before forwarding to `prepareCall` / `generateText` / `streamText`.
19
+
20
+ - 71d3022: fix(ai): unify generate text event callbacks
21
+ - 67df0a0: feat: add sensitiveContext property to Tool
22
+ - 4181cfe: fix(ai): harden `getMediaTypeFromUrl` against prototype-property collisions
23
+
24
+ `getMediaTypeFromUrl` (used to infer media types for `file-url` / `image-url` parts) used `ext in URL_EXTENSION_TO_MEDIA_TYPE` against a plain object literal. A URL ending in `.constructor` therefore resolved through the prototype chain and returned the `Object` constructor function, violating the helper's `: string` return type and forwarding a non-string value to provider adapters.
25
+
26
+ Switch to `Object.hasOwn(...)` so attacker-controlled extensions like `.constructor` cannot resolve to inherited `Object.prototype` keys.
27
+
28
+ - 51ce232: feat(ai): add sensitiveRuntimeContext option
29
+ - befb78c: refactoring: remove real-time delays in unit tests
30
+ - 29d8cf4: feat(ai): rename the core-event types
31
+ - 58a2ad7: fix: more precise default message for tool execution denial
32
+ - 37d69b2: feat(ai): access runtime context in tool approval functions
33
+ - 1043274: feat(ai): add a ModelCall start/end event
34
+ - 7f59f04: feat(ai): add approval reason to automatic tool approvals
35
+ - 7677c1e: feat(ai): allow tool approval functions to return undefined
36
+ - f58f9bc: fix(ai): remove stopWhen from onStart event
37
+ - e1bfb9c: feat(ai): remove unnecessary data from events
38
+ - e87d71b: feat(ai): support automatic tool approval in ui messages
39
+ - 9d486aa: feat(ai): generic tool approval function
40
+ - 9b0bc8a: fix(mcp): prevent prototype pollution by using secureJsonParse
41
+ - fc92055: feat(ai): automatic tool approval
42
+ - Updated dependencies [785fe16]
43
+ - Updated dependencies [67df0a0]
44
+ - Updated dependencies [befb78c]
45
+ - Updated dependencies [0458559]
46
+ - Updated dependencies [5852c0a]
47
+ - Updated dependencies [baa5f20]
48
+ - Updated dependencies [fc92055]
49
+ - Updated dependencies [f9acbc0]
50
+ - @ai-sdk/provider-utils@5.0.0-beta.27
51
+ - @ai-sdk/gateway@4.0.0-beta.63
52
+
53
+ ## 7.0.0-beta.111
54
+
55
+ ### Major Changes
56
+
57
+ - 1949571: feat(ai): make experimental_telemetry stable
58
+ - 6542d93: feat(ai): change naming nomenclature for `*TelemetryIntegration` to `*Telemetry`
59
+
60
+ ### Patch Changes
61
+
62
+ - f319fde: feat(ai): validate tool context against contextSchema at runtime
63
+
64
+ Tool execution and approval callbacks now validate each tool's `toolsContext` entry against its `contextSchema`. Invalid tool context now throws `TypeValidationError` with tool-context validation metadata in `error.context`.
65
+
66
+ - 511902c: skip validation for tool parts in terminal states when tool schema is no longer registered
67
+ - 2e98477: fix: retain stack traces on async errors
68
+ - 876fd3e: fix(ai): limit tool execution time duration to actual tool execution
69
+ - f32c750: refactoring(ai): simplify mergeAbortSignals
70
+ - Updated dependencies [2e98477]
71
+ - @ai-sdk/provider-utils@5.0.0-beta.26
72
+ - @ai-sdk/gateway@4.0.0-beta.62
73
+
74
+ ## 7.0.0-beta.110
75
+
76
+ ### Patch Changes
77
+
78
+ - 72cb801: feat(ai): concurrent event notification
79
+
80
+ ## 7.0.0-beta.109
81
+
82
+ ### Patch Changes
83
+
84
+ - ec98264: feat(ai): allow multiple integrations to be registered at once
85
+ - eea8d98: refactoring: rename tool execution events
86
+ - 75ef93e: remove the deprecated `experimental_output` alias and document the `output` migration for AI SDK 7
87
+ - Updated dependencies [eea8d98]
88
+ - @ai-sdk/provider-utils@5.0.0-beta.25
89
+ - @ai-sdk/gateway@4.0.0-beta.61
90
+
91
+ ## 7.0.0-beta.108
92
+
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies [f807e45]
96
+ - @ai-sdk/provider-utils@5.0.0-beta.24
97
+ - @ai-sdk/gateway@4.0.0-beta.60
98
+
99
+ ## 7.0.0-beta.107
100
+
101
+ ### Patch Changes
102
+
103
+ - 350ea38: refactoring: introduce Arrayable type
104
+ - Updated dependencies [350ea38]
105
+ - @ai-sdk/provider-utils@5.0.0-beta.23
106
+ - @ai-sdk/gateway@4.0.0-beta.59
107
+
108
+ ## 7.0.0-beta.106
109
+
110
+ ### Patch Changes
111
+
112
+ - Updated dependencies [03dc15c]
113
+ - @ai-sdk/gateway@4.0.0-beta.58
114
+
115
+ ## 7.0.0-beta.105
116
+
117
+ ### Patch Changes
118
+
119
+ - 33d099c: fix(ai): omit reasoning-start/end when sendReasoning is false
120
+
121
+ ## 7.0.0-beta.104
122
+
123
+ ### Patch Changes
124
+
125
+ - 2a74d43: Remove the deprecated `experimental_prepareStep` option from `generateText`.
126
+
127
+ Use `prepareStep` instead.
128
+
129
+ ## 7.0.0-beta.103
130
+
131
+ ### Patch Changes
132
+
133
+ - 382d53b: refactoring: rename context to runtimeContext
134
+ - 7bf7d7f: feat(ai): enable:true for telemetry by default
135
+ - c3d4019: chore(ai): rename 'TelemetrySettings' to 'TelemetryOptions'
136
+ - 083947b: feat(ai): separate toolsContext from context
137
+ - Updated dependencies [083947b]
138
+ - @ai-sdk/provider-utils@5.0.0-beta.22
139
+ - @ai-sdk/gateway@4.0.0-beta.57
140
+
141
+ ## 7.0.0-beta.102
142
+
143
+ ### Patch Changes
144
+
145
+ - Updated dependencies [0d8f107]
146
+ - @ai-sdk/gateway@4.0.0-beta.56
147
+
148
+ ## 7.0.0-beta.101
149
+
150
+ ### Patch Changes
151
+
152
+ - 4873966: chore(ai): allow general usage of `logWarnings` and emit them via Node API when available
153
+
154
+ ## 7.0.0-beta.100
155
+
156
+ ### Patch Changes
157
+
158
+ - add1126: refactoring: executeTool uses tool as parameter
159
+ - Updated dependencies [add1126]
160
+ - @ai-sdk/provider-utils@5.0.0-beta.21
161
+ - @ai-sdk/gateway@4.0.0-beta.55
162
+
163
+ ## 7.0.0-beta.99
164
+
165
+ ### Patch Changes
166
+
167
+ - 2a9c144: feat(ai): add toolNeedsApproval option
168
+
169
+ ## 7.0.0-beta.98
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [5df9b6f]
174
+ - @ai-sdk/gateway@4.0.0-beta.54
175
+
176
+ ## 7.0.0-beta.97
177
+
178
+ ### Patch Changes
179
+
180
+ - 208d045: fix(ai): skip global telemetry registration when local integration defined
181
+
182
+ ## 7.0.0-beta.96
183
+
184
+ ### Patch Changes
185
+
186
+ - Updated dependencies [0457e45]
187
+ - @ai-sdk/gateway@4.0.0-beta.53
188
+
189
+ ## 7.0.0-beta.95
190
+
191
+ ### Patch Changes
192
+
193
+ - c4f4b5f: refactoring(ai): remove deprecated experimental_activeTools option
194
+
195
+ ## 7.0.0-beta.94
196
+
197
+ ### Patch Changes
198
+
199
+ - 1582efa: chore(ai): remove the metadata field from the telemetry settings
200
+
201
+ ## 7.0.0-beta.93
202
+
203
+ ### Patch Changes
204
+
205
+ - bc47739: chore(ai): cleanup telemetry event data
206
+
207
+ ## 7.0.0-beta.92
208
+
209
+ ### Patch Changes
210
+
211
+ - Updated dependencies [ba2e254]
212
+ - @ai-sdk/gateway@4.0.0-beta.52
213
+
214
+ ## 7.0.0-beta.91
215
+
216
+ ### Patch Changes
217
+
218
+ - Updated dependencies [cdcdec2]
219
+ - @ai-sdk/gateway@4.0.0-beta.51
220
+
221
+ ## 7.0.0-beta.90
222
+
223
+ ### Patch Changes
224
+
225
+ - 1db29c8: feat(ai): break `CallSettings` apart into `LanguageModelCallOptions` and `RequestOptions`
226
+
227
+ ## 7.0.0-beta.89
228
+
229
+ ### Patch Changes
230
+
231
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
232
+ - Updated dependencies [b3976a2]
233
+ - Updated dependencies [ff5eba1]
234
+ - @ai-sdk/provider-utils@5.0.0-beta.20
235
+ - @ai-sdk/gateway@4.0.0-beta.50
236
+ - @ai-sdk/provider@4.0.0-beta.12
237
+
238
+ ## 7.0.0-beta.88
239
+
240
+ ### Major Changes
241
+
242
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
243
+
244
+ ### Patch Changes
245
+
246
+ - Updated dependencies [ef992f8]
247
+ - @ai-sdk/gateway@4.0.0-beta.49
248
+ - @ai-sdk/provider@4.0.0-beta.11
249
+ - @ai-sdk/provider-utils@5.0.0-beta.19
250
+
251
+ ## 7.0.0-beta.87
252
+
253
+ ### Patch Changes
254
+
255
+ - Updated dependencies [bdbd322]
256
+ - Updated dependencies [8f53ccf]
257
+ - @ai-sdk/gateway@4.0.0-beta.48
258
+
259
+ ## 7.0.0-beta.86
260
+
261
+ ### Patch Changes
262
+
263
+ - 5a6f514: feat(ai): support several tools in hasToolCall stop condition
264
+
265
+ ## 7.0.0-beta.85
266
+
267
+ ### Major Changes
268
+
269
+ - 57bf606: chore(ai): simplify unified telemetry creation
270
+
271
+ ## 7.0.0-beta.84
272
+
273
+ ### Patch Changes
274
+
275
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
276
+ - Updated dependencies [90e2d8a]
277
+ - @ai-sdk/provider-utils@5.0.0-beta.18
278
+ - @ai-sdk/gateway@4.0.0-beta.47
279
+
280
+ ## 7.0.0-beta.83
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies [6b0a40d]
285
+ - @ai-sdk/gateway@4.0.0-beta.46
286
+
287
+ ## 7.0.0-beta.82
288
+
289
+ ### Patch Changes
290
+
291
+ - e27ed76: feat(devtools): add new devtools integration for telemetry
292
+
293
+ ## 7.0.0-beta.81
294
+
295
+ ### Patch Changes
296
+
297
+ - 2fe1099: feat(ai): emit streaming chunks throught the onChunk callback
298
+ - f04adcb: feat(ai): refresh `customProvider` and `createProviderRegistry` to support file and skill upload abstractions
299
+
300
+ ## 7.0.0-beta.80
301
+
302
+ ### Patch Changes
303
+
304
+ - 3ae1786: fix: better context type inference
305
+ - Updated dependencies [3ae1786]
306
+ - @ai-sdk/provider-utils@5.0.0-beta.17
307
+ - @ai-sdk/gateway@4.0.0-beta.45
308
+
309
+ ## 7.0.0-beta.79
310
+
311
+ ### Patch Changes
312
+
313
+ - 6866afe: fix(ai): fix `lastAssistantMessageIsCompleteWithApprovalResponses` to no longer ignore `providerExecuted` tool approvals
314
+
315
+ ## 7.0.0-beta.78
316
+
317
+ ### Patch Changes
318
+
319
+ - f372547: fix(ai): fix `providerExecuted` tool approvals being passed to language model twice
320
+ - Updated dependencies [7943a4b]
321
+ - @ai-sdk/gateway@4.0.0-beta.44
322
+
323
+ ## 7.0.0-beta.77
324
+
325
+ ### Patch Changes
326
+
327
+ - 2add429: fix(ai): skip passing invalid JSON inputs to response messages
328
+
329
+ ## 7.0.0-beta.76
330
+
331
+ ### Major Changes
332
+
333
+ - fcc6869: refactor(ai/core): rename `ModelCallStreamPart` to `LanguageModelStreamPart` and align stream model call naming (`streamLanguageModelCall`, `experimental_streamLanguageModelCall`).
334
+
335
+ This updates experimental low-level stream primitives to use "language model call" terminology consistently.
336
+
337
+ ## 7.0.0-beta.75
338
+
339
+ ### Patch Changes
340
+
341
+ - 176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces
342
+ - Updated dependencies [176466a]
343
+ - @ai-sdk/provider@4.0.0-beta.10
344
+ - @ai-sdk/gateway@4.0.0-beta.43
345
+ - @ai-sdk/provider-utils@5.0.0-beta.16
346
+
347
+ ## 7.0.0-beta.74
348
+
349
+ ### Patch Changes
350
+
351
+ - e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
352
+ - Updated dependencies [e311194]
353
+ - @ai-sdk/provider@4.0.0-beta.9
354
+ - @ai-sdk/gateway@4.0.0-beta.42
355
+ - @ai-sdk/provider-utils@5.0.0-beta.15
356
+
357
+ ## 7.0.0-beta.73
358
+
359
+ ### Patch Changes
360
+
361
+ - Updated dependencies [1464561]
362
+ - @ai-sdk/gateway@4.0.0-beta.41
363
+
364
+ ## 7.0.0-beta.72
365
+
366
+ ### Patch Changes
367
+
368
+ - 664a0eb: feat (ai/core): support plain string model IDs in `rerank()` function
369
+
370
+ The `rerank()` function now accepts plain model strings (e.g., `'cohere/rerank-v3.5'`) in addition to `RerankingModel` objects, matching the behavior of `generateText`, `embed`, and other core functions.
371
+
372
+ ## 7.0.0-beta.71
373
+
374
+ ### Patch Changes
375
+
376
+ - e68be55: fix(ai): skip stringifying text when streaming partial text
377
+ - Updated dependencies [939171f]
378
+ - @ai-sdk/gateway@4.0.0-beta.40
379
+
380
+ ## 7.0.0-beta.70
381
+
382
+ ### Patch Changes
383
+
384
+ - Updated dependencies [0694029]
385
+ - @ai-sdk/gateway@4.0.0-beta.39
386
+
387
+ ## 7.0.0-beta.69
388
+
389
+ ### Major Changes
390
+
391
+ - 72223e7: chore(ai): remove deprecated isToolOrDynamicToolUIPart function
392
+
393
+ ### Patch Changes
394
+
395
+ - 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
396
+ - 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase
397
+ - Updated dependencies [34bd95d]
398
+ - Updated dependencies [008271d]
399
+ - @ai-sdk/provider@4.0.0-beta.8
400
+ - @ai-sdk/gateway@4.0.0-beta.38
401
+ - @ai-sdk/provider-utils@5.0.0-beta.14
402
+
403
+ ## 7.0.0-beta.68
404
+
405
+ ### Major Changes
406
+
407
+ - 7e26e81: chore: rename experimental_context to context
408
+
409
+ ### Patch Changes
410
+
411
+ - b0c2869: chore(ai): remove deprecated `media` type part from `ToolResultOutput`
412
+ - Updated dependencies [b0c2869]
413
+ - Updated dependencies [7e26e81]
414
+ - @ai-sdk/provider-utils@5.0.0-beta.13
415
+ - @ai-sdk/gateway@4.0.0-beta.37
416
+
417
+ ## 7.0.0-beta.67
418
+
419
+ ### Patch Changes
420
+
421
+ - d1a8bed: fix(ui): export `isDynamicToolUIPart` from `ai` package
422
+
423
+ ## 7.0.0-beta.66
424
+
425
+ ### Patch Changes
426
+
427
+ - Updated dependencies [fb0c233]
428
+ - Updated dependencies [d1f0d2b]
429
+ - @ai-sdk/gateway@4.0.0-beta.36
430
+
431
+ ## 7.0.0-beta.65
432
+
433
+ ### Patch Changes
434
+
435
+ - Updated dependencies [46d1149]
436
+ - @ai-sdk/provider-utils@5.0.0-beta.12
437
+ - @ai-sdk/gateway@4.0.0-beta.35
438
+
439
+ ## 7.0.0-beta.64
440
+
441
+ ### Patch Changes
442
+
443
+ - Updated dependencies [71b0e7d]
444
+ - @ai-sdk/gateway@4.0.0-beta.34
445
+
446
+ ## 7.0.0-beta.63
447
+
448
+ ### Patch Changes
449
+
450
+ - 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
451
+ - Updated dependencies [6fd51c0]
452
+ - @ai-sdk/provider-utils@5.0.0-beta.11
453
+ - @ai-sdk/provider@4.0.0-beta.7
454
+ - @ai-sdk/gateway@4.0.0-beta.33
455
+
456
+ ## 7.0.0-beta.62
457
+
458
+ ### Patch Changes
459
+
460
+ - Updated dependencies [11746ca]
461
+ - @ai-sdk/gateway@4.0.0-beta.32
462
+
463
+ ## 7.0.0-beta.61
464
+
465
+ ### Patch Changes
466
+
467
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
468
+ - Updated dependencies [c29a26f]
469
+ - @ai-sdk/provider-utils@5.0.0-beta.10
470
+ - @ai-sdk/provider@4.0.0-beta.6
471
+ - @ai-sdk/gateway@4.0.0-beta.31
472
+
473
+ ## 7.0.0-beta.60
474
+
475
+ ### Patch Changes
476
+
477
+ - 38fc777: Add AI Gateway hint to provider READMEs
478
+
479
+ ## 7.0.0-beta.59
480
+
481
+ ### Patch Changes
482
+
483
+ - Updated dependencies [4552cbf]
484
+ - @ai-sdk/gateway@4.0.0-beta.30
485
+
486
+ ## 7.0.0-beta.58
487
+
488
+ ### Patch Changes
489
+
490
+ - 2e17091: fix(types): move shared tool set utility types into provider-utils
491
+
492
+ Moved `ToolSet`, `InferToolSetContext`, and `UnionToIntersection` into `@ai-sdk/provider-utils` and updated `ai` internals to import them directly from there. This keeps the shared tool typing utilities colocated with the core tool type definitions.
493
+
494
+ - Updated dependencies [2e17091]
495
+ - @ai-sdk/provider-utils@5.0.0-beta.9
496
+ - @ai-sdk/gateway@4.0.0-beta.29
497
+
498
+ ## 7.0.0-beta.57
499
+
500
+ ### Major Changes
501
+
502
+ - 986c6fd: feat(ai): change type of experimental_context from unknown to generic
503
+ - 493295c: Remove the deprecated `ToolCallOptions` export.
504
+
505
+ Use `ToolExecutionOptions` instead.
506
+
507
+ ### Patch Changes
508
+
509
+ - Updated dependencies [986c6fd]
510
+ - Updated dependencies [493295c]
511
+ - @ai-sdk/provider-utils@5.0.0-beta.8
512
+ - @ai-sdk/gateway@4.0.0-beta.28
513
+
514
+ ## 7.0.0-beta.56
515
+
516
+ ### Patch Changes
517
+
518
+ - Updated dependencies [70a9aae]
519
+ - @ai-sdk/gateway@4.0.0-beta.27
520
+
521
+ ## 7.0.0-beta.55
522
+
523
+ ### Major Changes
524
+
525
+ - b3c9f6a: feat(ai): create new opentelemetry package (@ai-sdk/otel)
526
+
527
+ ## 7.0.0-beta.54
528
+
529
+ ### Patch Changes
530
+
531
+ - 5d0f18e: feat(ai): move opentelemetry to new package
532
+
533
+ ## 7.0.0-beta.53
534
+
535
+ ### Patch Changes
536
+
537
+ - 9b47dea: fix(ai): remove otel Tracer api from telemetry settings
538
+
539
+ ## 7.0.0-beta.52
540
+
541
+ ### Patch Changes
542
+
543
+ - b56301c: feat(ai): decouple otel from generate/streamObject
544
+
545
+ ## 7.0.0-beta.51
546
+
547
+ ### Patch Changes
548
+
549
+ - 6abd098: split `prepareToolsAndToolChoice()` into `prepareTools()` and `prepareToolChoice()`
550
+
551
+ ## 7.0.0-beta.50
552
+
553
+ ### Patch Changes
554
+
555
+ - 3debdb7: feat(ai): rename `stepCountIs` to `isStepCount`
556
+
557
+ ## 7.0.0-beta.49
558
+
559
+ ### Patch Changes
560
+
561
+ - Updated dependencies [294cbe7]
562
+ - @ai-sdk/gateway@4.0.0-beta.26
563
+
564
+ ## 7.0.0-beta.48
565
+
566
+ ### Patch Changes
567
+
568
+ - 5c4d910: feat(ai): add new `isLoopFinished` stop condition helper for unlimited steps
569
+
570
+ ## 7.0.0-beta.47
571
+
572
+ ### Patch Changes
573
+
574
+ - bc67b4f: feat(ai): add experimental callbacks for structured outputs
575
+
576
+ ## 7.0.0-beta.46
577
+
578
+ ### Patch Changes
579
+
580
+ - 31ee822: refactoring(ai): extract filterActiveTools and expose it as experimental_filterActiveTools
581
+
582
+ ## 7.0.0-beta.45
583
+
584
+ ### Patch Changes
585
+
586
+ - Updated dependencies [435895b]
587
+ - @ai-sdk/gateway@4.0.0-beta.25
588
+
589
+ ## 7.0.0-beta.44
590
+
591
+ ### Patch Changes
592
+
593
+ - Updated dependencies [d30466c]
594
+ - @ai-sdk/gateway@4.0.0-beta.24
595
+
596
+ ## 7.0.0-beta.43
597
+
598
+ ### Patch Changes
599
+
600
+ - Updated dependencies [4ec78cd]
601
+ - @ai-sdk/gateway@4.0.0-beta.23
602
+
603
+ ## 7.0.0-beta.42
604
+
605
+ ### Patch Changes
606
+
607
+ - a3fd75b: feat(ai): expose Experimental_ModelCallStreamPart type
608
+
609
+ ## 7.0.0-beta.41
610
+
611
+ ### Patch Changes
612
+
613
+ - Updated dependencies [7ceff62]
614
+ - @ai-sdk/gateway@4.0.0-beta.22
615
+
616
+ ## 7.0.0-beta.40
617
+
618
+ ### Patch Changes
619
+
620
+ - 989d3d2: fix(ai): include generated files in OTEL response attributes
621
+
622
+ ## 7.0.0-beta.39
623
+
624
+ ### Patch Changes
625
+
626
+ - f4cfccd: feat(ai): decouple otel from rerank function
627
+
628
+ ## 7.0.0-beta.38
629
+
630
+ ### Patch Changes
631
+
632
+ - 1f509d4: fix(ai): force template check on 'kind' param
633
+ - Updated dependencies [1f509d4]
634
+ - @ai-sdk/provider-utils@5.0.0-beta.7
635
+ - @ai-sdk/provider@4.0.0-beta.5
636
+ - @ai-sdk/gateway@4.0.0-beta.21
637
+
638
+ ## 7.0.0-beta.37
639
+
640
+ ### Patch Changes
641
+
642
+ - Updated dependencies [4f91b5d]
643
+ - @ai-sdk/gateway@4.0.0-beta.20
644
+
645
+ ## 7.0.0-beta.36
646
+
647
+ ### Patch Changes
648
+
649
+ - 118b953: feat(ai): decouple otel from embed functions
650
+
651
+ ## 7.0.0-beta.35
652
+
653
+ ### Patch Changes
654
+
655
+ - 99bf941: feat(ai): extract streamModelCall function for streaming text generation
656
+
657
+ ## 7.0.0-beta.34
658
+
659
+ ### Patch Changes
660
+
661
+ - Updated dependencies [72889f8]
662
+ - @ai-sdk/gateway@4.0.0-beta.19
663
+
664
+ ## 7.0.0-beta.33
665
+
666
+ ### Patch Changes
667
+
668
+ - caf1b6f: feat(ai): introduce experimental callbacks for rerank function
669
+
670
+ ## 7.0.0-beta.32
671
+
672
+ ### Major Changes
673
+
674
+ - 4b46062: refactoring(ai): extract tool callback invocation into separate function and forward chunks before callback invocation
675
+
676
+ ### Patch Changes
677
+
678
+ - Updated dependencies [165b97a]
679
+ - @ai-sdk/gateway@4.0.0-beta.18
680
+
681
+ ## 7.0.0-beta.31
682
+
683
+ ### Patch Changes
684
+
685
+ - e79e644: chore(ai/core): remove `timeout` from `CallSettings` as it was effectively unused there
686
+
687
+ ## 7.0.0-beta.30
688
+
689
+ ### Patch Changes
690
+
691
+ - f5a6f89: README updates
692
+
693
+ ## 7.0.0-beta.29
694
+
695
+ ### Patch Changes
696
+
697
+ - 877bf12: fix(ai): flatten model attributes for telemetry
698
+
699
+ ## 7.0.0-beta.28
700
+
701
+ ### Major Changes
702
+
703
+ - b9cf502: refactoring(ai): delay tool execution in stream text until model call is finished
704
+
705
+ ## 7.0.0-beta.27
706
+
707
+ ### Patch Changes
708
+
709
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
710
+ - Updated dependencies [3887c70]
711
+ - @ai-sdk/provider-utils@5.0.0-beta.6
712
+ - @ai-sdk/provider@4.0.0-beta.4
713
+ - @ai-sdk/gateway@4.0.0-beta.17
714
+
715
+ ## 7.0.0-beta.26
716
+
717
+ ### Patch Changes
718
+
719
+ - f0b0b20: feat(ai): add per-tool timeout overrides via toolTimeouts
720
+
721
+ ## 7.0.0-beta.25
722
+
723
+ ### Patch Changes
724
+
725
+ - ff9ce30: feat(ai): introduce experimental callbacks for embed function
726
+
727
+ ## 7.0.0-beta.24
728
+
729
+ ### Major Changes
730
+
731
+ - 776b617: feat(provider): adding new 'custom' content type
732
+
733
+ ### Patch Changes
734
+
735
+ - Updated dependencies [776b617]
736
+ - @ai-sdk/provider-utils@5.0.0-beta.5
737
+ - @ai-sdk/provider@4.0.0-beta.3
738
+ - @ai-sdk/gateway@4.0.0-beta.16
739
+
740
+ ## 7.0.0-beta.23
741
+
742
+ ### Patch Changes
743
+
744
+ - 80d4dde: fix(ai): include tool input on tool result for provider executed dynamic tools
745
+ - Updated dependencies [61753c3]
746
+ - @ai-sdk/provider-utils@5.0.0-beta.4
747
+ - @ai-sdk/gateway@4.0.0-beta.15
748
+
749
+ ## 7.0.0-beta.22
750
+
751
+ ### Patch Changes
752
+
753
+ - Updated dependencies [ead9144]
754
+ - @ai-sdk/gateway@4.0.0-beta.14
755
+
756
+ ## 7.0.0-beta.21
757
+
758
+ ### Patch Changes
759
+
760
+ - 34fd051: feat(ai): add toolMs to timeout configuration
761
+
762
+ ## 7.0.0-beta.20
763
+
764
+ ### Patch Changes
765
+
766
+ - Updated dependencies [2095655]
767
+ - @ai-sdk/gateway@4.0.0-beta.13
768
+
769
+ ## 7.0.0-beta.19
770
+
771
+ ### Patch Changes
772
+
773
+ - Updated dependencies [f7d4f01]
774
+ - @ai-sdk/provider-utils@5.0.0-beta.3
775
+ - @ai-sdk/provider@4.0.0-beta.2
776
+ - @ai-sdk/gateway@4.0.0-beta.12
777
+
778
+ ## 7.0.0-beta.18
779
+
780
+ ### Patch Changes
781
+
782
+ - Updated dependencies [5c2a5a2]
783
+ - @ai-sdk/provider@4.0.0-beta.1
784
+ - @ai-sdk/gateway@4.0.0-beta.11
785
+ - @ai-sdk/provider-utils@5.0.0-beta.2
786
+
787
+ ## 7.0.0-beta.17
788
+
789
+ ### Patch Changes
790
+
791
+ - Updated dependencies [4d6ab9a]
792
+ - @ai-sdk/gateway@4.0.0-beta.10
793
+
794
+ ## 7.0.0-beta.16
795
+
796
+ ### Major Changes
797
+
798
+ - 5b8c58f: feat(ai): decouple otel from core functions
799
+
800
+ ## 7.0.0-beta.15
801
+
802
+ ### Patch Changes
803
+
804
+ - Updated dependencies [980f777]
805
+ - Updated dependencies [7185ba2]
806
+ - @ai-sdk/gateway@4.0.0-beta.9
807
+
808
+ ## 7.0.0-beta.14
809
+
810
+ ### Patch Changes
811
+
812
+ - Updated dependencies [4adc485]
813
+ - @ai-sdk/gateway@4.0.0-beta.8
814
+
815
+ ## 7.0.0-beta.13
816
+
817
+ ### Patch Changes
818
+
819
+ - c26ca8d: Remove custom User-Agent header from HttpChatTransport to fix CORS preflight failures in Safari and Firefox
820
+
821
+ ## 7.0.0-beta.12
822
+
823
+ ### Patch Changes
824
+
825
+ - Updated dependencies [e046ea3]
826
+ - @ai-sdk/gateway@4.0.0-beta.7
827
+
3
828
  ## 7.0.0-beta.11
4
829
 
5
830
  ### Patch Changes
@@ -946,13 +1771,13 @@
946
1771
  Before
947
1772
 
948
1773
  ```ts
949
- model.textEmbeddingModel('my-model-id');
1774
+ model.textEmbeddingModel("my-model-id");
950
1775
  ```
951
1776
 
952
1777
  After
953
1778
 
954
1779
  ```ts
955
- model.embeddingModel('my-model-id');
1780
+ model.embeddingModel("my-model-id");
956
1781
  ```
957
1782
 
958
1783
  - b67d224: Fixes an issue where `providerMetadata` and `providerExecuted` were lost when tool input validation failed
@@ -975,15 +1800,15 @@
975
1800
  This change replaces
976
1801
 
977
1802
  ```ts
978
- import { experimental_createMCPClient } from 'ai';
979
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
1803
+ import { experimental_createMCPClient } from "ai";
1804
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
980
1805
  ```
981
1806
 
982
1807
  with
983
1808
 
984
1809
  ```ts
985
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
986
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
1810
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
1811
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
987
1812
  ```
988
1813
 
989
1814
  - 90e5bdd: chore(ai): restructure agent files
@@ -1070,7 +1895,7 @@
1070
1895
  - 81d4308: feat: provider-executed dynamic tools
1071
1896
  - e0d1ea9: fix(ai): align logic of text-end with reasoning-end
1072
1897
  - 2406576: chore(agent): rename messages property on agent ui stream functions to uiMessages
1073
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
1898
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
1074
1899
  - dce4e7b: chore(agent): rename system to instructions
1075
1900
  - 4ece5f9: feat(agent): add experimental_download to ToolLoopAgent
1076
1901
  - a417a34: feat(agent): introduce version property
@@ -1503,13 +2328,13 @@
1503
2328
  Before
1504
2329
 
1505
2330
  ```ts
1506
- model.textEmbeddingModel('my-model-id');
2331
+ model.textEmbeddingModel("my-model-id");
1507
2332
  ```
1508
2333
 
1509
2334
  After
1510
2335
 
1511
2336
  ```ts
1512
- model.embeddingModel('my-model-id');
2337
+ model.embeddingModel("my-model-id");
1513
2338
  ```
1514
2339
 
1515
2340
  - Updated dependencies [8d9e8ad]
@@ -1856,15 +2681,15 @@
1856
2681
  This change replaces
1857
2682
 
1858
2683
  ```ts
1859
- import { experimental_createMCPClient } from 'ai';
1860
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
2684
+ import { experimental_createMCPClient } from "ai";
2685
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
1861
2686
  ```
1862
2687
 
1863
2688
  with
1864
2689
 
1865
2690
  ```ts
1866
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
1867
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
2691
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
2692
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
1868
2693
  ```
1869
2694
 
1870
2695
  ## 6.0.0-beta.71
@@ -2246,7 +3071,7 @@
2246
3071
 
2247
3072
  - aa0515c: feat(ai): move Agent to stable
2248
3073
  - e7d9b00: feat(agent): add optional name property to agent
2249
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
3074
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
2250
3075
 
2251
3076
  ## 5.1.0-beta.18
2252
3077
 
@@ -2783,7 +3608,7 @@
2783
3608
 
2784
3609
  ```js
2785
3610
  await generateImage({
2786
- model: luma.image('photon-flash-1', {
3611
+ model: luma.image("photon-flash-1", {
2787
3612
  maxImagesPerCall: 5,
2788
3613
  pollIntervalMillis: 500,
2789
3614
  }),
@@ -2796,7 +3621,7 @@
2796
3621
 
2797
3622
  ```js
2798
3623
  await generateImage({
2799
- model: luma.image('photon-flash-1'),
3624
+ model: luma.image("photon-flash-1"),
2800
3625
  prompt,
2801
3626
  n: 10,
2802
3627
  maxImagesPerCall: 5,
@@ -2816,7 +3641,7 @@
2816
3641
  - c7710a9: chore (ai): rename DataStreamToSSETransformStream to JsonToSseTransformStream
2817
3642
  - bfbfc4c: feat (ai): streamText/generateText: totalUsage contains usage for all steps. usage is for a single step.
2818
3643
  - 9ae327d: chore (ui): replace chat store concept with chat instances
2819
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
3644
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
2820
3645
  - 247ee0c: chore (ai): remove steps from tool invocation ui parts
2821
3646
  - 109c0ac: chore (ai): rename id to chatId (in post request, resume request, and useChat)
2822
3647
  - 954aa73: feat (ui): extended regenerate support
@@ -2996,10 +3821,10 @@
2996
3821
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
2997
3822
 
2998
3823
  ```js
2999
- const prompt = 'Santa Claus driving a Cadillac';
3824
+ const prompt = "Santa Claus driving a Cadillac";
3000
3825
 
3001
3826
  const { providerMetadata } = await experimental_generateImage({
3002
- model: openai.image('dall-e-3'),
3827
+ model: openai.image("dall-e-3"),
3003
3828
  prompt,
3004
3829
  });
3005
3830
 
@@ -3559,7 +4384,7 @@
3559
4384
  ### Major Changes
3560
4385
 
3561
4386
  - 72d7d72: chore (ai): stable activeTools
3562
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
4387
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
3563
4388
 
3564
4389
  ### Patch Changes
3565
4390
 
@@ -3662,7 +4487,7 @@
3662
4487
 
3663
4488
  ```js
3664
4489
  await generateImage({
3665
- model: luma.image('photon-flash-1', {
4490
+ model: luma.image("photon-flash-1", {
3666
4491
  maxImagesPerCall: 5,
3667
4492
  pollIntervalMillis: 500,
3668
4493
  }),
@@ -3675,7 +4500,7 @@
3675
4500
 
3676
4501
  ```js
3677
4502
  await generateImage({
3678
- model: luma.image('photon-flash-1'),
4503
+ model: luma.image("photon-flash-1"),
3679
4504
  prompt,
3680
4505
  n: 10,
3681
4506
  maxImagesPerCall: 5,
@@ -3773,10 +4598,10 @@
3773
4598
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
3774
4599
 
3775
4600
  ```js
3776
- const prompt = 'Santa Claus driving a Cadillac';
4601
+ const prompt = "Santa Claus driving a Cadillac";
3777
4602
 
3778
4603
  const { providerMetadata } = await experimental_generateImage({
3779
- model: openai.image('dall-e-3'),
4604
+ model: openai.image("dall-e-3"),
3780
4605
  prompt,
3781
4606
  });
3782
4607