ai 7.0.0-beta.9 → 7.0.0-beta.90

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 (212) hide show
  1. package/CHANGELOG.md +645 -24
  2. package/README.md +6 -16
  3. package/dist/index.d.ts +1653 -653
  4. package/dist/index.js +4122 -3938
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/index.d.ts +1687 -112
  7. package/dist/internal/index.js +940 -265
  8. package/dist/internal/index.js.map +1 -1
  9. package/dist/test/index.js +29 -66
  10. package/dist/test/index.js.map +1 -1
  11. package/docs/02-foundations/02-providers-and-models.mdx +7 -2
  12. package/docs/02-foundations/03-prompts.mdx +1 -1
  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 +11 -13
  23. package/docs/03-agents/01-overview.mdx +1 -3
  24. package/docs/03-agents/02-building-agents.mdx +7 -8
  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/07-workflow-agent.mdx +471 -0
  29. package/docs/03-agents/index.mdx +6 -0
  30. package/docs/03-ai-sdk-core/05-generating-text.mdx +1 -1
  31. package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +2 -2
  32. package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +89 -19
  33. package/docs/03-ai-sdk-core/16-mcp-tools.mdx +6 -0
  34. package/docs/03-ai-sdk-core/25-settings.mdx +61 -2
  35. package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
  36. package/docs/03-ai-sdk-core/30-embeddings.mdx +25 -34
  37. package/docs/03-ai-sdk-core/35-image-generation.mdx +19 -20
  38. package/docs/03-ai-sdk-core/38-video-generation.mdx +25 -25
  39. package/docs/03-ai-sdk-core/39-file-uploads.mdx +155 -0
  40. package/docs/03-ai-sdk-core/40-middleware.mdx +13 -13
  41. package/docs/03-ai-sdk-core/41-skill-uploads.mdx +194 -0
  42. package/docs/03-ai-sdk-core/45-provider-management.mdx +108 -0
  43. package/docs/03-ai-sdk-core/55-testing.mdx +10 -10
  44. package/docs/03-ai-sdk-core/60-telemetry.mdx +214 -36
  45. package/docs/03-ai-sdk-core/65-devtools.mdx +41 -16
  46. package/docs/03-ai-sdk-core/65-event-listeners.mdx +419 -31
  47. package/docs/03-ai-sdk-core/index.mdx +11 -0
  48. package/docs/04-ai-sdk-ui/02-chatbot.mdx +7 -0
  49. package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +0 -1
  50. package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +2 -2
  51. package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +4 -4
  52. package/docs/04-ai-sdk-ui/21-transport.mdx +38 -0
  53. package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +26 -0
  54. package/docs/06-advanced/04-caching.mdx +10 -10
  55. package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +111 -34
  56. package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +133 -29
  57. package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +139 -3
  58. package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +143 -3
  59. package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +18 -3
  60. package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +3 -2
  61. package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +1 -1
  62. package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +1 -1
  63. package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +3 -2
  64. package/docs/07-reference/01-ai-sdk-core/14-upload-file.mdx +93 -0
  65. package/docs/07-reference/01-ai-sdk-core/14-upload-skill.mdx +110 -0
  66. package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +16 -16
  67. package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +22 -16
  68. package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +10 -11
  69. package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +7 -0
  70. package/docs/07-reference/01-ai-sdk-core/29-filter-active-tools.mdx +71 -0
  71. package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +72 -5
  72. package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +18 -0
  73. package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +4 -4
  74. package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +4 -4
  75. package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +9 -9
  76. package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +1 -1
  77. package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +1 -1
  78. package/docs/07-reference/01-ai-sdk-core/{70-step-count-is.mdx → 70-is-step-count.mdx} +14 -14
  79. package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +27 -9
  80. package/docs/07-reference/01-ai-sdk-core/72-loop-finished.mdx +83 -0
  81. package/docs/07-reference/01-ai-sdk-core/index.mdx +33 -0
  82. package/docs/07-reference/04-ai-sdk-workflow/01-workflow-agent.mdx +750 -0
  83. package/docs/07-reference/04-ai-sdk-workflow/02-workflow-chat-transport.mdx +342 -0
  84. package/docs/07-reference/04-ai-sdk-workflow/index.mdx +26 -0
  85. package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-reference-error.mdx +27 -0
  86. package/docs/07-reference/05-ai-sdk-errors/index.mdx +1 -0
  87. package/docs/07-reference/index.mdx +6 -0
  88. package/docs/08-migration-guides/23-migration-guide-7-0.mdx +306 -0
  89. package/docs/08-migration-guides/24-migration-guide-6-0.mdx +4 -4
  90. package/docs/08-migration-guides/26-migration-guide-5-0.mdx +11 -8
  91. package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +1 -1
  92. package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +1 -1
  93. package/package.json +23 -23
  94. package/src/agent/agent.ts +21 -14
  95. package/src/agent/create-agent-ui-stream-response.ts +5 -4
  96. package/src/agent/create-agent-ui-stream.ts +5 -4
  97. package/src/agent/pipe-agent-ui-stream-to-response.ts +5 -4
  98. package/src/agent/tool-loop-agent-settings.ts +205 -180
  99. package/src/agent/tool-loop-agent.ts +86 -60
  100. package/src/embed/embed-events.ts +181 -0
  101. package/src/embed/embed-many.ts +276 -235
  102. package/src/embed/embed.ts +141 -93
  103. package/src/embed/index.ts +1 -0
  104. package/src/error/index.ts +1 -0
  105. package/src/error/invalid-stream-part-error.ts +3 -3
  106. package/src/generate-object/generate-object.ts +225 -235
  107. package/src/generate-object/index.ts +6 -0
  108. package/src/generate-object/output-strategy.ts +1 -1
  109. package/src/generate-object/stream-object.ts +358 -373
  110. package/src/generate-object/structured-output-events.ts +258 -0
  111. package/src/generate-text/collect-tool-approvals.ts +1 -1
  112. package/src/generate-text/content-part.ts +9 -3
  113. package/src/generate-text/context-parameter.ts +44 -0
  114. package/src/generate-text/{callback-events.ts → core-events.ts} +115 -52
  115. package/src/generate-text/create-execute-tools-transformation.ts +156 -0
  116. package/src/generate-text/execute-tool-call.ts +104 -104
  117. package/src/generate-text/filter-active-tool.ts +41 -0
  118. package/src/generate-text/generate-text-result.ts +5 -4
  119. package/src/generate-text/generate-text.ts +639 -800
  120. package/src/generate-text/index.ts +31 -14
  121. package/src/generate-text/invoke-tool-callbacks-from-stream.ts +88 -0
  122. package/src/generate-text/is-approval-needed.ts +13 -6
  123. package/src/generate-text/output.ts +1 -1
  124. package/src/generate-text/parse-tool-call.ts +1 -1
  125. package/src/generate-text/prepare-step.ts +20 -10
  126. package/src/generate-text/reasoning-output.ts +79 -0
  127. package/src/generate-text/reasoning.ts +5 -3
  128. package/src/generate-text/smooth-stream.ts +1 -1
  129. package/src/generate-text/step-result.ts +74 -43
  130. package/src/generate-text/stop-condition.ts +58 -10
  131. package/src/generate-text/stream-language-model-call.ts +463 -0
  132. package/src/generate-text/stream-text-result.ts +171 -97
  133. package/src/generate-text/stream-text.ts +832 -978
  134. package/src/generate-text/to-response-messages.ts +18 -2
  135. package/src/generate-text/tool-approval-request-output.ts +1 -1
  136. package/src/generate-text/tool-call-repair-function.ts +1 -1
  137. package/src/generate-text/tool-call.ts +15 -3
  138. package/src/generate-text/tool-error.ts +1 -1
  139. package/src/generate-text/tool-output-denied.ts +1 -1
  140. package/src/generate-text/tool-output.ts +1 -1
  141. package/src/generate-text/tool-result.ts +1 -1
  142. package/src/index.ts +2 -1
  143. package/src/logger/log-warnings.ts +4 -0
  144. package/src/middleware/wrap-embedding-model.ts +2 -1
  145. package/src/middleware/wrap-image-model.ts +2 -1
  146. package/src/model/resolve-model.ts +88 -76
  147. package/src/prompt/content-part.ts +45 -7
  148. package/src/prompt/convert-to-language-model-prompt.ts +220 -38
  149. package/src/prompt/data-content.ts +2 -2
  150. package/src/prompt/index.ts +15 -1
  151. package/src/prompt/language-model-call-options.ts +78 -0
  152. package/src/prompt/message.ts +4 -0
  153. package/src/prompt/{prepare-call-settings.ts → prepare-language-model-call-options.ts} +6 -7
  154. package/src/prompt/prepare-tool-choice.ts +15 -0
  155. package/src/prompt/{prepare-tools-and-tool-choice.ts → prepare-tools.ts} +8 -36
  156. package/src/prompt/request-options.ts +109 -0
  157. package/src/prompt/split-data-url.ts +1 -1
  158. package/src/registry/custom-provider.ts +17 -5
  159. package/src/registry/no-such-provider-error.ts +2 -1
  160. package/src/registry/provider-registry.ts +78 -4
  161. package/src/rerank/index.ts +6 -0
  162. package/src/rerank/rerank-events.ts +189 -0
  163. package/src/rerank/rerank.ts +208 -98
  164. package/src/telemetry/create-unified-telemetry.ts +96 -0
  165. package/src/telemetry/index.ts +0 -1
  166. package/src/telemetry/telemetry-integration.ts +151 -10
  167. package/src/telemetry/telemetry-settings.ts +2 -7
  168. package/src/types/index.ts +1 -0
  169. package/src/types/provider-reference.ts +3 -0
  170. package/src/types/reranking-model.ts +1 -1
  171. package/src/ui/convert-to-model-messages.ts +27 -3
  172. package/src/ui/direct-chat-transport.ts +17 -8
  173. package/src/ui/http-chat-transport.ts +8 -19
  174. package/src/ui/index.ts +5 -1
  175. package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +1 -2
  176. package/src/ui/process-ui-message-stream.ts +15 -3
  177. package/src/ui/ui-messages.ts +70 -5
  178. package/src/ui/validate-ui-messages.ts +12 -2
  179. package/src/ui-message-stream/create-ui-message-stream.ts +2 -2
  180. package/src/ui-message-stream/ui-message-chunks.ts +22 -0
  181. package/src/upload-file/index.ts +2 -0
  182. package/src/upload-file/upload-file-result.ts +11 -0
  183. package/src/upload-file/upload-file.ts +163 -0
  184. package/src/upload-skill/index.ts +2 -0
  185. package/src/upload-skill/upload-skill-result.ts +11 -0
  186. package/src/upload-skill/upload-skill.ts +34 -0
  187. package/src/util/callback.ts +4 -0
  188. package/src/util/data-url.ts +1 -1
  189. package/src/util/detect-media-type.ts +15 -6
  190. package/src/util/merge-callbacks.ts +22 -0
  191. package/src/util/notify.ts +3 -7
  192. package/dist/index.d.mts +0 -6471
  193. package/dist/index.mjs +0 -13720
  194. package/dist/index.mjs.map +0 -1
  195. package/dist/internal/index.d.mts +0 -314
  196. package/dist/internal/index.mjs +0 -1303
  197. package/dist/internal/index.mjs.map +0 -1
  198. package/dist/test/index.d.mts +0 -265
  199. package/dist/test/index.mjs +0 -472
  200. package/dist/test/index.mjs.map +0 -1
  201. package/src/generate-text/run-tools-transformation.ts +0 -448
  202. package/src/generate-text/tool-set.ts +0 -14
  203. package/src/prompt/call-settings.ts +0 -148
  204. package/src/telemetry/assemble-operation-name.ts +0 -21
  205. package/src/telemetry/get-base-telemetry-attributes.ts +0 -53
  206. package/src/telemetry/get-global-telemetry-integration.ts +0 -85
  207. package/src/telemetry/get-tracer.ts +0 -20
  208. package/src/telemetry/noop-tracer.ts +0 -69
  209. package/src/telemetry/record-span.ts +0 -75
  210. package/src/telemetry/select-telemetry-attributes.ts +0 -78
  211. package/src/telemetry/stringify-for-telemetry.ts +0 -33
  212. package/src/test/mock-tracer.ts +0 -156
package/CHANGELOG.md CHANGED
@@ -1,5 +1,626 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.90
4
+
5
+ ### Patch Changes
6
+
7
+ - 1db29c8: feat(ai): break `CallSettings` apart into `LanguageModelCallOptions` and `RequestOptions`
8
+
9
+ ## 7.0.0-beta.89
10
+
11
+ ### Patch Changes
12
+
13
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
14
+ - Updated dependencies [b3976a2]
15
+ - Updated dependencies [ff5eba1]
16
+ - @ai-sdk/provider-utils@5.0.0-beta.20
17
+ - @ai-sdk/gateway@4.0.0-beta.50
18
+ - @ai-sdk/provider@4.0.0-beta.12
19
+
20
+ ## 7.0.0-beta.88
21
+
22
+ ### Major Changes
23
+
24
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies [ef992f8]
29
+ - @ai-sdk/gateway@4.0.0-beta.49
30
+ - @ai-sdk/provider@4.0.0-beta.11
31
+ - @ai-sdk/provider-utils@5.0.0-beta.19
32
+
33
+ ## 7.0.0-beta.87
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies [bdbd322]
38
+ - Updated dependencies [8f53ccf]
39
+ - @ai-sdk/gateway@4.0.0-beta.48
40
+
41
+ ## 7.0.0-beta.86
42
+
43
+ ### Patch Changes
44
+
45
+ - 5a6f514: feat(ai): support several tools in hasToolCall stop condition
46
+
47
+ ## 7.0.0-beta.85
48
+
49
+ ### Major Changes
50
+
51
+ - 57bf606: chore(ai): simplify unified telemetry creation
52
+
53
+ ## 7.0.0-beta.84
54
+
55
+ ### Patch Changes
56
+
57
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
58
+ - Updated dependencies [90e2d8a]
59
+ - @ai-sdk/provider-utils@5.0.0-beta.18
60
+ - @ai-sdk/gateway@4.0.0-beta.47
61
+
62
+ ## 7.0.0-beta.83
63
+
64
+ ### Patch Changes
65
+
66
+ - Updated dependencies [6b0a40d]
67
+ - @ai-sdk/gateway@4.0.0-beta.46
68
+
69
+ ## 7.0.0-beta.82
70
+
71
+ ### Patch Changes
72
+
73
+ - e27ed76: feat(devtools): add new devtools integration for telemetry
74
+
75
+ ## 7.0.0-beta.81
76
+
77
+ ### Patch Changes
78
+
79
+ - 2fe1099: feat(ai): emit streaming chunks throught the onChunk callback
80
+ - f04adcb: feat(ai): refresh `customProvider` and `createProviderRegistry` to support file and skill upload abstractions
81
+
82
+ ## 7.0.0-beta.80
83
+
84
+ ### Patch Changes
85
+
86
+ - 3ae1786: fix: better context type inference
87
+ - Updated dependencies [3ae1786]
88
+ - @ai-sdk/provider-utils@5.0.0-beta.17
89
+ - @ai-sdk/gateway@4.0.0-beta.45
90
+
91
+ ## 7.0.0-beta.79
92
+
93
+ ### Patch Changes
94
+
95
+ - 6866afe: fix(ai): fix `lastAssistantMessageIsCompleteWithApprovalResponses` to no longer ignore `providerExecuted` tool approvals
96
+
97
+ ## 7.0.0-beta.78
98
+
99
+ ### Patch Changes
100
+
101
+ - f372547: fix(ai): fix `providerExecuted` tool approvals being passed to language model twice
102
+ - Updated dependencies [7943a4b]
103
+ - @ai-sdk/gateway@4.0.0-beta.44
104
+
105
+ ## 7.0.0-beta.77
106
+
107
+ ### Patch Changes
108
+
109
+ - 2add429: fix(ai): skip passing invalid JSON inputs to response messages
110
+
111
+ ## 7.0.0-beta.76
112
+
113
+ ### Major Changes
114
+
115
+ - fcc6869: refactor(ai/core): rename `ModelCallStreamPart` to `LanguageModelStreamPart` and align stream model call naming (`streamLanguageModelCall`, `experimental_streamLanguageModelCall`).
116
+
117
+ This updates experimental low-level stream primitives to use "language model call" terminology consistently.
118
+
119
+ ## 7.0.0-beta.75
120
+
121
+ ### Patch Changes
122
+
123
+ - 176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces
124
+ - Updated dependencies [176466a]
125
+ - @ai-sdk/provider@4.0.0-beta.10
126
+ - @ai-sdk/gateway@4.0.0-beta.43
127
+ - @ai-sdk/provider-utils@5.0.0-beta.16
128
+
129
+ ## 7.0.0-beta.74
130
+
131
+ ### Patch Changes
132
+
133
+ - e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
134
+ - Updated dependencies [e311194]
135
+ - @ai-sdk/provider@4.0.0-beta.9
136
+ - @ai-sdk/gateway@4.0.0-beta.42
137
+ - @ai-sdk/provider-utils@5.0.0-beta.15
138
+
139
+ ## 7.0.0-beta.73
140
+
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [1464561]
144
+ - @ai-sdk/gateway@4.0.0-beta.41
145
+
146
+ ## 7.0.0-beta.72
147
+
148
+ ### Patch Changes
149
+
150
+ - 664a0eb: feat (ai/core): support plain string model IDs in `rerank()` function
151
+
152
+ 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.
153
+
154
+ ## 7.0.0-beta.71
155
+
156
+ ### Patch Changes
157
+
158
+ - e68be55: fix(ai): skip stringifying text when streaming partial text
159
+ - Updated dependencies [939171f]
160
+ - @ai-sdk/gateway@4.0.0-beta.40
161
+
162
+ ## 7.0.0-beta.70
163
+
164
+ ### Patch Changes
165
+
166
+ - Updated dependencies [0694029]
167
+ - @ai-sdk/gateway@4.0.0-beta.39
168
+
169
+ ## 7.0.0-beta.69
170
+
171
+ ### Major Changes
172
+
173
+ - 72223e7: chore(ai): remove deprecated isToolOrDynamicToolUIPart function
174
+
175
+ ### Patch Changes
176
+
177
+ - 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
178
+ - 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase
179
+ - Updated dependencies [34bd95d]
180
+ - Updated dependencies [008271d]
181
+ - @ai-sdk/provider@4.0.0-beta.8
182
+ - @ai-sdk/gateway@4.0.0-beta.38
183
+ - @ai-sdk/provider-utils@5.0.0-beta.14
184
+
185
+ ## 7.0.0-beta.68
186
+
187
+ ### Major Changes
188
+
189
+ - 7e26e81: chore: rename experimental_context to context
190
+
191
+ ### Patch Changes
192
+
193
+ - b0c2869: chore(ai): remove deprecated `media` type part from `ToolResultOutput`
194
+ - Updated dependencies [b0c2869]
195
+ - Updated dependencies [7e26e81]
196
+ - @ai-sdk/provider-utils@5.0.0-beta.13
197
+ - @ai-sdk/gateway@4.0.0-beta.37
198
+
199
+ ## 7.0.0-beta.67
200
+
201
+ ### Patch Changes
202
+
203
+ - d1a8bed: fix(ui): export `isDynamicToolUIPart` from `ai` package
204
+
205
+ ## 7.0.0-beta.66
206
+
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies [fb0c233]
210
+ - Updated dependencies [d1f0d2b]
211
+ - @ai-sdk/gateway@4.0.0-beta.36
212
+
213
+ ## 7.0.0-beta.65
214
+
215
+ ### Patch Changes
216
+
217
+ - Updated dependencies [46d1149]
218
+ - @ai-sdk/provider-utils@5.0.0-beta.12
219
+ - @ai-sdk/gateway@4.0.0-beta.35
220
+
221
+ ## 7.0.0-beta.64
222
+
223
+ ### Patch Changes
224
+
225
+ - Updated dependencies [71b0e7d]
226
+ - @ai-sdk/gateway@4.0.0-beta.34
227
+
228
+ ## 7.0.0-beta.63
229
+
230
+ ### Patch Changes
231
+
232
+ - 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
233
+ - Updated dependencies [6fd51c0]
234
+ - @ai-sdk/provider-utils@5.0.0-beta.11
235
+ - @ai-sdk/provider@4.0.0-beta.7
236
+ - @ai-sdk/gateway@4.0.0-beta.33
237
+
238
+ ## 7.0.0-beta.62
239
+
240
+ ### Patch Changes
241
+
242
+ - Updated dependencies [11746ca]
243
+ - @ai-sdk/gateway@4.0.0-beta.32
244
+
245
+ ## 7.0.0-beta.61
246
+
247
+ ### Patch Changes
248
+
249
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
250
+ - Updated dependencies [c29a26f]
251
+ - @ai-sdk/provider-utils@5.0.0-beta.10
252
+ - @ai-sdk/provider@4.0.0-beta.6
253
+ - @ai-sdk/gateway@4.0.0-beta.31
254
+
255
+ ## 7.0.0-beta.60
256
+
257
+ ### Patch Changes
258
+
259
+ - 38fc777: Add AI Gateway hint to provider READMEs
260
+
261
+ ## 7.0.0-beta.59
262
+
263
+ ### Patch Changes
264
+
265
+ - Updated dependencies [4552cbf]
266
+ - @ai-sdk/gateway@4.0.0-beta.30
267
+
268
+ ## 7.0.0-beta.58
269
+
270
+ ### Patch Changes
271
+
272
+ - 2e17091: fix(types): move shared tool set utility types into provider-utils
273
+
274
+ 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.
275
+
276
+ - Updated dependencies [2e17091]
277
+ - @ai-sdk/provider-utils@5.0.0-beta.9
278
+ - @ai-sdk/gateway@4.0.0-beta.29
279
+
280
+ ## 7.0.0-beta.57
281
+
282
+ ### Major Changes
283
+
284
+ - 986c6fd: feat(ai): change type of experimental_context from unknown to generic
285
+ - 493295c: Remove the deprecated `ToolCallOptions` export.
286
+
287
+ Use `ToolExecutionOptions` instead.
288
+
289
+ ### Patch Changes
290
+
291
+ - Updated dependencies [986c6fd]
292
+ - Updated dependencies [493295c]
293
+ - @ai-sdk/provider-utils@5.0.0-beta.8
294
+ - @ai-sdk/gateway@4.0.0-beta.28
295
+
296
+ ## 7.0.0-beta.56
297
+
298
+ ### Patch Changes
299
+
300
+ - Updated dependencies [70a9aae]
301
+ - @ai-sdk/gateway@4.0.0-beta.27
302
+
303
+ ## 7.0.0-beta.55
304
+
305
+ ### Major Changes
306
+
307
+ - b3c9f6a: feat(ai): create new opentelemetry package (@ai-sdk/otel)
308
+
309
+ ## 7.0.0-beta.54
310
+
311
+ ### Patch Changes
312
+
313
+ - 5d0f18e: feat(ai): move opentelemetry to new package
314
+
315
+ ## 7.0.0-beta.53
316
+
317
+ ### Patch Changes
318
+
319
+ - 9b47dea: fix(ai): remove otel Tracer api from telemetry settings
320
+
321
+ ## 7.0.0-beta.52
322
+
323
+ ### Patch Changes
324
+
325
+ - b56301c: feat(ai): decouple otel from generate/streamObject
326
+
327
+ ## 7.0.0-beta.51
328
+
329
+ ### Patch Changes
330
+
331
+ - 6abd098: split `prepareToolsAndToolChoice()` into `prepareTools()` and `prepareToolChoice()`
332
+
333
+ ## 7.0.0-beta.50
334
+
335
+ ### Patch Changes
336
+
337
+ - 3debdb7: feat(ai): rename `stepCountIs` to `isStepCount`
338
+
339
+ ## 7.0.0-beta.49
340
+
341
+ ### Patch Changes
342
+
343
+ - Updated dependencies [294cbe7]
344
+ - @ai-sdk/gateway@4.0.0-beta.26
345
+
346
+ ## 7.0.0-beta.48
347
+
348
+ ### Patch Changes
349
+
350
+ - 5c4d910: feat(ai): add new `isLoopFinished` stop condition helper for unlimited steps
351
+
352
+ ## 7.0.0-beta.47
353
+
354
+ ### Patch Changes
355
+
356
+ - bc67b4f: feat(ai): add experimental callbacks for structured outputs
357
+
358
+ ## 7.0.0-beta.46
359
+
360
+ ### Patch Changes
361
+
362
+ - 31ee822: refactoring(ai): extract filterActiveTools and expose it as experimental_filterActiveTools
363
+
364
+ ## 7.0.0-beta.45
365
+
366
+ ### Patch Changes
367
+
368
+ - Updated dependencies [435895b]
369
+ - @ai-sdk/gateway@4.0.0-beta.25
370
+
371
+ ## 7.0.0-beta.44
372
+
373
+ ### Patch Changes
374
+
375
+ - Updated dependencies [d30466c]
376
+ - @ai-sdk/gateway@4.0.0-beta.24
377
+
378
+ ## 7.0.0-beta.43
379
+
380
+ ### Patch Changes
381
+
382
+ - Updated dependencies [4ec78cd]
383
+ - @ai-sdk/gateway@4.0.0-beta.23
384
+
385
+ ## 7.0.0-beta.42
386
+
387
+ ### Patch Changes
388
+
389
+ - a3fd75b: feat(ai): expose Experimental_ModelCallStreamPart type
390
+
391
+ ## 7.0.0-beta.41
392
+
393
+ ### Patch Changes
394
+
395
+ - Updated dependencies [7ceff62]
396
+ - @ai-sdk/gateway@4.0.0-beta.22
397
+
398
+ ## 7.0.0-beta.40
399
+
400
+ ### Patch Changes
401
+
402
+ - 989d3d2: fix(ai): include generated files in OTEL response attributes
403
+
404
+ ## 7.0.0-beta.39
405
+
406
+ ### Patch Changes
407
+
408
+ - f4cfccd: feat(ai): decouple otel from rerank function
409
+
410
+ ## 7.0.0-beta.38
411
+
412
+ ### Patch Changes
413
+
414
+ - 1f509d4: fix(ai): force template check on 'kind' param
415
+ - Updated dependencies [1f509d4]
416
+ - @ai-sdk/provider-utils@5.0.0-beta.7
417
+ - @ai-sdk/provider@4.0.0-beta.5
418
+ - @ai-sdk/gateway@4.0.0-beta.21
419
+
420
+ ## 7.0.0-beta.37
421
+
422
+ ### Patch Changes
423
+
424
+ - Updated dependencies [4f91b5d]
425
+ - @ai-sdk/gateway@4.0.0-beta.20
426
+
427
+ ## 7.0.0-beta.36
428
+
429
+ ### Patch Changes
430
+
431
+ - 118b953: feat(ai): decouple otel from embed functions
432
+
433
+ ## 7.0.0-beta.35
434
+
435
+ ### Patch Changes
436
+
437
+ - 99bf941: feat(ai): extract streamModelCall function for streaming text generation
438
+
439
+ ## 7.0.0-beta.34
440
+
441
+ ### Patch Changes
442
+
443
+ - Updated dependencies [72889f8]
444
+ - @ai-sdk/gateway@4.0.0-beta.19
445
+
446
+ ## 7.0.0-beta.33
447
+
448
+ ### Patch Changes
449
+
450
+ - caf1b6f: feat(ai): introduce experimental callbacks for rerank function
451
+
452
+ ## 7.0.0-beta.32
453
+
454
+ ### Major Changes
455
+
456
+ - 4b46062: refactoring(ai): extract tool callback invocation into separate function and forward chunks before callback invocation
457
+
458
+ ### Patch Changes
459
+
460
+ - Updated dependencies [165b97a]
461
+ - @ai-sdk/gateway@4.0.0-beta.18
462
+
463
+ ## 7.0.0-beta.31
464
+
465
+ ### Patch Changes
466
+
467
+ - e79e644: chore(ai/core): remove `timeout` from `CallSettings` as it was effectively unused there
468
+
469
+ ## 7.0.0-beta.30
470
+
471
+ ### Patch Changes
472
+
473
+ - f5a6f89: README updates
474
+
475
+ ## 7.0.0-beta.29
476
+
477
+ ### Patch Changes
478
+
479
+ - 877bf12: fix(ai): flatten model attributes for telemetry
480
+
481
+ ## 7.0.0-beta.28
482
+
483
+ ### Major Changes
484
+
485
+ - b9cf502: refactoring(ai): delay tool execution in stream text until model call is finished
486
+
487
+ ## 7.0.0-beta.27
488
+
489
+ ### Patch Changes
490
+
491
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
492
+ - Updated dependencies [3887c70]
493
+ - @ai-sdk/provider-utils@5.0.0-beta.6
494
+ - @ai-sdk/provider@4.0.0-beta.4
495
+ - @ai-sdk/gateway@4.0.0-beta.17
496
+
497
+ ## 7.0.0-beta.26
498
+
499
+ ### Patch Changes
500
+
501
+ - f0b0b20: feat(ai): add per-tool timeout overrides via toolTimeouts
502
+
503
+ ## 7.0.0-beta.25
504
+
505
+ ### Patch Changes
506
+
507
+ - ff9ce30: feat(ai): introduce experimental callbacks for embed function
508
+
509
+ ## 7.0.0-beta.24
510
+
511
+ ### Major Changes
512
+
513
+ - 776b617: feat(provider): adding new 'custom' content type
514
+
515
+ ### Patch Changes
516
+
517
+ - Updated dependencies [776b617]
518
+ - @ai-sdk/provider-utils@5.0.0-beta.5
519
+ - @ai-sdk/provider@4.0.0-beta.3
520
+ - @ai-sdk/gateway@4.0.0-beta.16
521
+
522
+ ## 7.0.0-beta.23
523
+
524
+ ### Patch Changes
525
+
526
+ - 80d4dde: fix(ai): include tool input on tool result for provider executed dynamic tools
527
+ - Updated dependencies [61753c3]
528
+ - @ai-sdk/provider-utils@5.0.0-beta.4
529
+ - @ai-sdk/gateway@4.0.0-beta.15
530
+
531
+ ## 7.0.0-beta.22
532
+
533
+ ### Patch Changes
534
+
535
+ - Updated dependencies [ead9144]
536
+ - @ai-sdk/gateway@4.0.0-beta.14
537
+
538
+ ## 7.0.0-beta.21
539
+
540
+ ### Patch Changes
541
+
542
+ - 34fd051: feat(ai): add toolMs to timeout configuration
543
+
544
+ ## 7.0.0-beta.20
545
+
546
+ ### Patch Changes
547
+
548
+ - Updated dependencies [2095655]
549
+ - @ai-sdk/gateway@4.0.0-beta.13
550
+
551
+ ## 7.0.0-beta.19
552
+
553
+ ### Patch Changes
554
+
555
+ - Updated dependencies [f7d4f01]
556
+ - @ai-sdk/provider-utils@5.0.0-beta.3
557
+ - @ai-sdk/provider@4.0.0-beta.2
558
+ - @ai-sdk/gateway@4.0.0-beta.12
559
+
560
+ ## 7.0.0-beta.18
561
+
562
+ ### Patch Changes
563
+
564
+ - Updated dependencies [5c2a5a2]
565
+ - @ai-sdk/provider@4.0.0-beta.1
566
+ - @ai-sdk/gateway@4.0.0-beta.11
567
+ - @ai-sdk/provider-utils@5.0.0-beta.2
568
+
569
+ ## 7.0.0-beta.17
570
+
571
+ ### Patch Changes
572
+
573
+ - Updated dependencies [4d6ab9a]
574
+ - @ai-sdk/gateway@4.0.0-beta.10
575
+
576
+ ## 7.0.0-beta.16
577
+
578
+ ### Major Changes
579
+
580
+ - 5b8c58f: feat(ai): decouple otel from core functions
581
+
582
+ ## 7.0.0-beta.15
583
+
584
+ ### Patch Changes
585
+
586
+ - Updated dependencies [980f777]
587
+ - Updated dependencies [7185ba2]
588
+ - @ai-sdk/gateway@4.0.0-beta.9
589
+
590
+ ## 7.0.0-beta.14
591
+
592
+ ### Patch Changes
593
+
594
+ - Updated dependencies [4adc485]
595
+ - @ai-sdk/gateway@4.0.0-beta.8
596
+
597
+ ## 7.0.0-beta.13
598
+
599
+ ### Patch Changes
600
+
601
+ - c26ca8d: Remove custom User-Agent header from HttpChatTransport to fix CORS preflight failures in Safari and Firefox
602
+
603
+ ## 7.0.0-beta.12
604
+
605
+ ### Patch Changes
606
+
607
+ - Updated dependencies [e046ea3]
608
+ - @ai-sdk/gateway@4.0.0-beta.7
609
+
610
+ ## 7.0.0-beta.11
611
+
612
+ ### Patch Changes
613
+
614
+ - Updated dependencies [82288b0]
615
+ - @ai-sdk/gateway@4.0.0-beta.6
616
+
617
+ ## 7.0.0-beta.10
618
+
619
+ ### Patch Changes
620
+
621
+ - Updated dependencies [aa5a583]
622
+ - @ai-sdk/gateway@4.0.0-beta.5
623
+
3
624
  ## 7.0.0-beta.9
4
625
 
5
626
  ### Patch Changes
@@ -932,13 +1553,13 @@
932
1553
  Before
933
1554
 
934
1555
  ```ts
935
- model.textEmbeddingModel('my-model-id');
1556
+ model.textEmbeddingModel("my-model-id");
936
1557
  ```
937
1558
 
938
1559
  After
939
1560
 
940
1561
  ```ts
941
- model.embeddingModel('my-model-id');
1562
+ model.embeddingModel("my-model-id");
942
1563
  ```
943
1564
 
944
1565
  - b67d224: Fixes an issue where `providerMetadata` and `providerExecuted` were lost when tool input validation failed
@@ -961,15 +1582,15 @@
961
1582
  This change replaces
962
1583
 
963
1584
  ```ts
964
- import { experimental_createMCPClient } from 'ai';
965
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
1585
+ import { experimental_createMCPClient } from "ai";
1586
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
966
1587
  ```
967
1588
 
968
1589
  with
969
1590
 
970
1591
  ```ts
971
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
972
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
1592
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
1593
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
973
1594
  ```
974
1595
 
975
1596
  - 90e5bdd: chore(ai): restructure agent files
@@ -1056,7 +1677,7 @@
1056
1677
  - 81d4308: feat: provider-executed dynamic tools
1057
1678
  - e0d1ea9: fix(ai): align logic of text-end with reasoning-end
1058
1679
  - 2406576: chore(agent): rename messages property on agent ui stream functions to uiMessages
1059
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
1680
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
1060
1681
  - dce4e7b: chore(agent): rename system to instructions
1061
1682
  - 4ece5f9: feat(agent): add experimental_download to ToolLoopAgent
1062
1683
  - a417a34: feat(agent): introduce version property
@@ -1489,13 +2110,13 @@
1489
2110
  Before
1490
2111
 
1491
2112
  ```ts
1492
- model.textEmbeddingModel('my-model-id');
2113
+ model.textEmbeddingModel("my-model-id");
1493
2114
  ```
1494
2115
 
1495
2116
  After
1496
2117
 
1497
2118
  ```ts
1498
- model.embeddingModel('my-model-id');
2119
+ model.embeddingModel("my-model-id");
1499
2120
  ```
1500
2121
 
1501
2122
  - Updated dependencies [8d9e8ad]
@@ -1842,15 +2463,15 @@
1842
2463
  This change replaces
1843
2464
 
1844
2465
  ```ts
1845
- import { experimental_createMCPClient } from 'ai';
1846
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
2466
+ import { experimental_createMCPClient } from "ai";
2467
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
1847
2468
  ```
1848
2469
 
1849
2470
  with
1850
2471
 
1851
2472
  ```ts
1852
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
1853
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
2473
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
2474
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
1854
2475
  ```
1855
2476
 
1856
2477
  ## 6.0.0-beta.71
@@ -2232,7 +2853,7 @@
2232
2853
 
2233
2854
  - aa0515c: feat(ai): move Agent to stable
2234
2855
  - e7d9b00: feat(agent): add optional name property to agent
2235
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
2856
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
2236
2857
 
2237
2858
  ## 5.1.0-beta.18
2238
2859
 
@@ -2769,7 +3390,7 @@
2769
3390
 
2770
3391
  ```js
2771
3392
  await generateImage({
2772
- model: luma.image('photon-flash-1', {
3393
+ model: luma.image("photon-flash-1", {
2773
3394
  maxImagesPerCall: 5,
2774
3395
  pollIntervalMillis: 500,
2775
3396
  }),
@@ -2782,7 +3403,7 @@
2782
3403
 
2783
3404
  ```js
2784
3405
  await generateImage({
2785
- model: luma.image('photon-flash-1'),
3406
+ model: luma.image("photon-flash-1"),
2786
3407
  prompt,
2787
3408
  n: 10,
2788
3409
  maxImagesPerCall: 5,
@@ -2802,7 +3423,7 @@
2802
3423
  - c7710a9: chore (ai): rename DataStreamToSSETransformStream to JsonToSseTransformStream
2803
3424
  - bfbfc4c: feat (ai): streamText/generateText: totalUsage contains usage for all steps. usage is for a single step.
2804
3425
  - 9ae327d: chore (ui): replace chat store concept with chat instances
2805
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
3426
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
2806
3427
  - 247ee0c: chore (ai): remove steps from tool invocation ui parts
2807
3428
  - 109c0ac: chore (ai): rename id to chatId (in post request, resume request, and useChat)
2808
3429
  - 954aa73: feat (ui): extended regenerate support
@@ -2982,10 +3603,10 @@
2982
3603
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
2983
3604
 
2984
3605
  ```js
2985
- const prompt = 'Santa Claus driving a Cadillac';
3606
+ const prompt = "Santa Claus driving a Cadillac";
2986
3607
 
2987
3608
  const { providerMetadata } = await experimental_generateImage({
2988
- model: openai.image('dall-e-3'),
3609
+ model: openai.image("dall-e-3"),
2989
3610
  prompt,
2990
3611
  });
2991
3612
 
@@ -3545,7 +4166,7 @@
3545
4166
  ### Major Changes
3546
4167
 
3547
4168
  - 72d7d72: chore (ai): stable activeTools
3548
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
4169
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
3549
4170
 
3550
4171
  ### Patch Changes
3551
4172
 
@@ -3648,7 +4269,7 @@
3648
4269
 
3649
4270
  ```js
3650
4271
  await generateImage({
3651
- model: luma.image('photon-flash-1', {
4272
+ model: luma.image("photon-flash-1", {
3652
4273
  maxImagesPerCall: 5,
3653
4274
  pollIntervalMillis: 500,
3654
4275
  }),
@@ -3661,7 +4282,7 @@
3661
4282
 
3662
4283
  ```js
3663
4284
  await generateImage({
3664
- model: luma.image('photon-flash-1'),
4285
+ model: luma.image("photon-flash-1"),
3665
4286
  prompt,
3666
4287
  n: 10,
3667
4288
  maxImagesPerCall: 5,
@@ -3759,10 +4380,10 @@
3759
4380
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
3760
4381
 
3761
4382
  ```js
3762
- const prompt = 'Santa Claus driving a Cadillac';
4383
+ const prompt = "Santa Claus driving a Cadillac";
3763
4384
 
3764
4385
  const { providerMetadata } = await experimental_generateImage({
3765
- model: openai.image('dall-e-3'),
4386
+ model: openai.image("dall-e-3"),
3766
4387
  prompt,
3767
4388
  });
3768
4389