ai 7.0.0-beta.10 → 7.0.0-beta.100

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 (214) hide show
  1. package/CHANGELOG.md +705 -24
  2. package/README.md +6 -16
  3. package/dist/index.d.ts +3003 -2064
  4. package/dist/index.js +4054 -3916
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/index.d.ts +1605 -94
  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 +4 -1
  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 +31 -10
  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 +462 -0
  29. package/docs/03-agents/index.mdx +6 -0
  30. package/docs/03-ai-sdk-core/05-generating-text.mdx +3 -3
  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 +128 -26
  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 -19
  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 +221 -43
  45. package/docs/03-ai-sdk-core/65-devtools.mdx +41 -16
  46. package/docs/03-ai-sdk-core/65-event-listeners.mdx +398 -60
  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 +114 -72
  56. package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +136 -52
  57. package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +126 -7
  58. package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +130 -7
  59. package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +17 -9
  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 +76 -45
  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 +820 -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 +328 -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 +218 -180
  99. package/src/agent/tool-loop-agent.ts +87 -61
  100. package/src/embed/embed-events.ts +168 -0
  101. package/src/embed/embed-many.ts +270 -235
  102. package/src/embed/embed.ts +137 -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 +219 -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 +349 -374
  110. package/src/generate-object/structured-output-events.ts +240 -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} +108 -85
  115. package/src/generate-text/create-execute-tools-transformation.ts +160 -0
  116. package/src/generate-text/execute-tool-call.ts +114 -110
  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 +641 -820
  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-tool-approval-needed.ts +60 -0
  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 +72 -50
  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 +840 -996
  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-needs-approval-configuration.ts +25 -0
  140. package/src/generate-text/tool-output-denied.ts +1 -1
  141. package/src/generate-text/tool-output.ts +1 -1
  142. package/src/generate-text/tool-result.ts +1 -1
  143. package/src/index.ts +5 -3
  144. package/src/logger/log-warnings.ts +4 -0
  145. package/src/middleware/wrap-embedding-model.ts +2 -1
  146. package/src/middleware/wrap-image-model.ts +2 -1
  147. package/src/model/resolve-model.ts +88 -76
  148. package/src/prompt/content-part.ts +45 -7
  149. package/src/prompt/convert-to-language-model-prompt.ts +220 -38
  150. package/src/prompt/data-content.ts +2 -2
  151. package/src/prompt/index.ts +15 -1
  152. package/src/prompt/language-model-call-options.ts +78 -0
  153. package/src/prompt/message.ts +4 -0
  154. package/src/prompt/{prepare-call-settings.ts → prepare-language-model-call-options.ts} +6 -7
  155. package/src/prompt/prepare-tool-choice.ts +15 -0
  156. package/src/prompt/{prepare-tools-and-tool-choice.ts → prepare-tools.ts} +8 -37
  157. package/src/prompt/request-options.ts +109 -0
  158. package/src/prompt/split-data-url.ts +1 -1
  159. package/src/registry/custom-provider.ts +17 -5
  160. package/src/registry/no-such-provider-error.ts +2 -1
  161. package/src/registry/provider-registry.ts +78 -4
  162. package/src/rerank/index.ts +6 -0
  163. package/src/rerank/rerank-events.ts +176 -0
  164. package/src/rerank/rerank.ts +201 -98
  165. package/src/telemetry/create-unified-telemetry.ts +99 -0
  166. package/src/telemetry/index.ts +0 -1
  167. package/src/telemetry/telemetry-integration.ts +151 -10
  168. package/src/telemetry/telemetry-settings.ts +2 -15
  169. package/src/types/index.ts +1 -0
  170. package/src/types/provider-reference.ts +3 -0
  171. package/src/types/reranking-model.ts +1 -1
  172. package/src/ui/convert-to-model-messages.ts +27 -3
  173. package/src/ui/direct-chat-transport.ts +17 -8
  174. package/src/ui/http-chat-transport.ts +8 -19
  175. package/src/ui/index.ts +5 -1
  176. package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +1 -2
  177. package/src/ui/process-ui-message-stream.ts +15 -3
  178. package/src/ui/ui-messages.ts +71 -6
  179. package/src/ui/validate-ui-messages.ts +12 -2
  180. package/src/ui-message-stream/create-ui-message-stream.ts +2 -2
  181. package/src/ui-message-stream/ui-message-chunks.ts +22 -0
  182. package/src/upload-file/index.ts +2 -0
  183. package/src/upload-file/upload-file-result.ts +11 -0
  184. package/src/upload-file/upload-file.ts +163 -0
  185. package/src/upload-skill/index.ts +2 -0
  186. package/src/upload-skill/upload-skill-result.ts +11 -0
  187. package/src/upload-skill/upload-skill.ts +34 -0
  188. package/src/util/callback.ts +4 -0
  189. package/src/util/data-url.ts +1 -1
  190. package/src/util/detect-media-type.ts +15 -6
  191. package/src/util/merge-callbacks.ts +22 -0
  192. package/src/util/notify.ts +3 -7
  193. package/dist/index.d.mts +0 -6471
  194. package/dist/index.mjs +0 -13720
  195. package/dist/index.mjs.map +0 -1
  196. package/dist/internal/index.d.mts +0 -314
  197. package/dist/internal/index.mjs +0 -1303
  198. package/dist/internal/index.mjs.map +0 -1
  199. package/dist/test/index.d.mts +0 -265
  200. package/dist/test/index.mjs +0 -472
  201. package/dist/test/index.mjs.map +0 -1
  202. package/src/generate-text/is-approval-needed.ts +0 -29
  203. package/src/generate-text/run-tools-transformation.ts +0 -448
  204. package/src/generate-text/tool-set.ts +0 -14
  205. package/src/prompt/call-settings.ts +0 -148
  206. package/src/telemetry/assemble-operation-name.ts +0 -21
  207. package/src/telemetry/get-base-telemetry-attributes.ts +0 -53
  208. package/src/telemetry/get-global-telemetry-integration.ts +0 -85
  209. package/src/telemetry/get-tracer.ts +0 -20
  210. package/src/telemetry/noop-tracer.ts +0 -69
  211. package/src/telemetry/record-span.ts +0 -75
  212. package/src/telemetry/select-telemetry-attributes.ts +0 -78
  213. package/src/telemetry/stringify-for-telemetry.ts +0 -33
  214. package/src/test/mock-tracer.ts +0 -156
package/CHANGELOG.md CHANGED
@@ -1,5 +1,686 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.100
4
+
5
+ ### Patch Changes
6
+
7
+ - add1126: refactoring: executeTool uses tool as parameter
8
+ - Updated dependencies [add1126]
9
+ - @ai-sdk/provider-utils@5.0.0-beta.21
10
+ - @ai-sdk/gateway@4.0.0-beta.55
11
+
12
+ ## 7.0.0-beta.99
13
+
14
+ ### Patch Changes
15
+
16
+ - 2a9c144: feat(ai): add toolNeedsApproval option
17
+
18
+ ## 7.0.0-beta.98
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [5df9b6f]
23
+ - @ai-sdk/gateway@4.0.0-beta.54
24
+
25
+ ## 7.0.0-beta.97
26
+
27
+ ### Patch Changes
28
+
29
+ - 208d045: fix(ai): skip global telemetry registration when local integration defined
30
+
31
+ ## 7.0.0-beta.96
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [0457e45]
36
+ - @ai-sdk/gateway@4.0.0-beta.53
37
+
38
+ ## 7.0.0-beta.95
39
+
40
+ ### Patch Changes
41
+
42
+ - c4f4b5f: refactoring(ai): remove deprecated experimental_activeTools option
43
+
44
+ ## 7.0.0-beta.94
45
+
46
+ ### Patch Changes
47
+
48
+ - 1582efa: chore(ai): remove the metadata field from the telemetry settings
49
+
50
+ ## 7.0.0-beta.93
51
+
52
+ ### Patch Changes
53
+
54
+ - bc47739: chore(ai): cleanup telemetry event data
55
+
56
+ ## 7.0.0-beta.92
57
+
58
+ ### Patch Changes
59
+
60
+ - Updated dependencies [ba2e254]
61
+ - @ai-sdk/gateway@4.0.0-beta.52
62
+
63
+ ## 7.0.0-beta.91
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [cdcdec2]
68
+ - @ai-sdk/gateway@4.0.0-beta.51
69
+
70
+ ## 7.0.0-beta.90
71
+
72
+ ### Patch Changes
73
+
74
+ - 1db29c8: feat(ai): break `CallSettings` apart into `LanguageModelCallOptions` and `RequestOptions`
75
+
76
+ ## 7.0.0-beta.89
77
+
78
+ ### Patch Changes
79
+
80
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
81
+ - Updated dependencies [b3976a2]
82
+ - Updated dependencies [ff5eba1]
83
+ - @ai-sdk/provider-utils@5.0.0-beta.20
84
+ - @ai-sdk/gateway@4.0.0-beta.50
85
+ - @ai-sdk/provider@4.0.0-beta.12
86
+
87
+ ## 7.0.0-beta.88
88
+
89
+ ### Major Changes
90
+
91
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
92
+
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies [ef992f8]
96
+ - @ai-sdk/gateway@4.0.0-beta.49
97
+ - @ai-sdk/provider@4.0.0-beta.11
98
+ - @ai-sdk/provider-utils@5.0.0-beta.19
99
+
100
+ ## 7.0.0-beta.87
101
+
102
+ ### Patch Changes
103
+
104
+ - Updated dependencies [bdbd322]
105
+ - Updated dependencies [8f53ccf]
106
+ - @ai-sdk/gateway@4.0.0-beta.48
107
+
108
+ ## 7.0.0-beta.86
109
+
110
+ ### Patch Changes
111
+
112
+ - 5a6f514: feat(ai): support several tools in hasToolCall stop condition
113
+
114
+ ## 7.0.0-beta.85
115
+
116
+ ### Major Changes
117
+
118
+ - 57bf606: chore(ai): simplify unified telemetry creation
119
+
120
+ ## 7.0.0-beta.84
121
+
122
+ ### Patch Changes
123
+
124
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
125
+ - Updated dependencies [90e2d8a]
126
+ - @ai-sdk/provider-utils@5.0.0-beta.18
127
+ - @ai-sdk/gateway@4.0.0-beta.47
128
+
129
+ ## 7.0.0-beta.83
130
+
131
+ ### Patch Changes
132
+
133
+ - Updated dependencies [6b0a40d]
134
+ - @ai-sdk/gateway@4.0.0-beta.46
135
+
136
+ ## 7.0.0-beta.82
137
+
138
+ ### Patch Changes
139
+
140
+ - e27ed76: feat(devtools): add new devtools integration for telemetry
141
+
142
+ ## 7.0.0-beta.81
143
+
144
+ ### Patch Changes
145
+
146
+ - 2fe1099: feat(ai): emit streaming chunks throught the onChunk callback
147
+ - f04adcb: feat(ai): refresh `customProvider` and `createProviderRegistry` to support file and skill upload abstractions
148
+
149
+ ## 7.0.0-beta.80
150
+
151
+ ### Patch Changes
152
+
153
+ - 3ae1786: fix: better context type inference
154
+ - Updated dependencies [3ae1786]
155
+ - @ai-sdk/provider-utils@5.0.0-beta.17
156
+ - @ai-sdk/gateway@4.0.0-beta.45
157
+
158
+ ## 7.0.0-beta.79
159
+
160
+ ### Patch Changes
161
+
162
+ - 6866afe: fix(ai): fix `lastAssistantMessageIsCompleteWithApprovalResponses` to no longer ignore `providerExecuted` tool approvals
163
+
164
+ ## 7.0.0-beta.78
165
+
166
+ ### Patch Changes
167
+
168
+ - f372547: fix(ai): fix `providerExecuted` tool approvals being passed to language model twice
169
+ - Updated dependencies [7943a4b]
170
+ - @ai-sdk/gateway@4.0.0-beta.44
171
+
172
+ ## 7.0.0-beta.77
173
+
174
+ ### Patch Changes
175
+
176
+ - 2add429: fix(ai): skip passing invalid JSON inputs to response messages
177
+
178
+ ## 7.0.0-beta.76
179
+
180
+ ### Major Changes
181
+
182
+ - fcc6869: refactor(ai/core): rename `ModelCallStreamPart` to `LanguageModelStreamPart` and align stream model call naming (`streamLanguageModelCall`, `experimental_streamLanguageModelCall`).
183
+
184
+ This updates experimental low-level stream primitives to use "language model call" terminology consistently.
185
+
186
+ ## 7.0.0-beta.75
187
+
188
+ ### Patch Changes
189
+
190
+ - 176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces
191
+ - Updated dependencies [176466a]
192
+ - @ai-sdk/provider@4.0.0-beta.10
193
+ - @ai-sdk/gateway@4.0.0-beta.43
194
+ - @ai-sdk/provider-utils@5.0.0-beta.16
195
+
196
+ ## 7.0.0-beta.74
197
+
198
+ ### Patch Changes
199
+
200
+ - e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
201
+ - Updated dependencies [e311194]
202
+ - @ai-sdk/provider@4.0.0-beta.9
203
+ - @ai-sdk/gateway@4.0.0-beta.42
204
+ - @ai-sdk/provider-utils@5.0.0-beta.15
205
+
206
+ ## 7.0.0-beta.73
207
+
208
+ ### Patch Changes
209
+
210
+ - Updated dependencies [1464561]
211
+ - @ai-sdk/gateway@4.0.0-beta.41
212
+
213
+ ## 7.0.0-beta.72
214
+
215
+ ### Patch Changes
216
+
217
+ - 664a0eb: feat (ai/core): support plain string model IDs in `rerank()` function
218
+
219
+ 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.
220
+
221
+ ## 7.0.0-beta.71
222
+
223
+ ### Patch Changes
224
+
225
+ - e68be55: fix(ai): skip stringifying text when streaming partial text
226
+ - Updated dependencies [939171f]
227
+ - @ai-sdk/gateway@4.0.0-beta.40
228
+
229
+ ## 7.0.0-beta.70
230
+
231
+ ### Patch Changes
232
+
233
+ - Updated dependencies [0694029]
234
+ - @ai-sdk/gateway@4.0.0-beta.39
235
+
236
+ ## 7.0.0-beta.69
237
+
238
+ ### Major Changes
239
+
240
+ - 72223e7: chore(ai): remove deprecated isToolOrDynamicToolUIPart function
241
+
242
+ ### Patch Changes
243
+
244
+ - 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
245
+ - 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase
246
+ - Updated dependencies [34bd95d]
247
+ - Updated dependencies [008271d]
248
+ - @ai-sdk/provider@4.0.0-beta.8
249
+ - @ai-sdk/gateway@4.0.0-beta.38
250
+ - @ai-sdk/provider-utils@5.0.0-beta.14
251
+
252
+ ## 7.0.0-beta.68
253
+
254
+ ### Major Changes
255
+
256
+ - 7e26e81: chore: rename experimental_context to context
257
+
258
+ ### Patch Changes
259
+
260
+ - b0c2869: chore(ai): remove deprecated `media` type part from `ToolResultOutput`
261
+ - Updated dependencies [b0c2869]
262
+ - Updated dependencies [7e26e81]
263
+ - @ai-sdk/provider-utils@5.0.0-beta.13
264
+ - @ai-sdk/gateway@4.0.0-beta.37
265
+
266
+ ## 7.0.0-beta.67
267
+
268
+ ### Patch Changes
269
+
270
+ - d1a8bed: fix(ui): export `isDynamicToolUIPart` from `ai` package
271
+
272
+ ## 7.0.0-beta.66
273
+
274
+ ### Patch Changes
275
+
276
+ - Updated dependencies [fb0c233]
277
+ - Updated dependencies [d1f0d2b]
278
+ - @ai-sdk/gateway@4.0.0-beta.36
279
+
280
+ ## 7.0.0-beta.65
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies [46d1149]
285
+ - @ai-sdk/provider-utils@5.0.0-beta.12
286
+ - @ai-sdk/gateway@4.0.0-beta.35
287
+
288
+ ## 7.0.0-beta.64
289
+
290
+ ### Patch Changes
291
+
292
+ - Updated dependencies [71b0e7d]
293
+ - @ai-sdk/gateway@4.0.0-beta.34
294
+
295
+ ## 7.0.0-beta.63
296
+
297
+ ### Patch Changes
298
+
299
+ - 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
300
+ - Updated dependencies [6fd51c0]
301
+ - @ai-sdk/provider-utils@5.0.0-beta.11
302
+ - @ai-sdk/provider@4.0.0-beta.7
303
+ - @ai-sdk/gateway@4.0.0-beta.33
304
+
305
+ ## 7.0.0-beta.62
306
+
307
+ ### Patch Changes
308
+
309
+ - Updated dependencies [11746ca]
310
+ - @ai-sdk/gateway@4.0.0-beta.32
311
+
312
+ ## 7.0.0-beta.61
313
+
314
+ ### Patch Changes
315
+
316
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
317
+ - Updated dependencies [c29a26f]
318
+ - @ai-sdk/provider-utils@5.0.0-beta.10
319
+ - @ai-sdk/provider@4.0.0-beta.6
320
+ - @ai-sdk/gateway@4.0.0-beta.31
321
+
322
+ ## 7.0.0-beta.60
323
+
324
+ ### Patch Changes
325
+
326
+ - 38fc777: Add AI Gateway hint to provider READMEs
327
+
328
+ ## 7.0.0-beta.59
329
+
330
+ ### Patch Changes
331
+
332
+ - Updated dependencies [4552cbf]
333
+ - @ai-sdk/gateway@4.0.0-beta.30
334
+
335
+ ## 7.0.0-beta.58
336
+
337
+ ### Patch Changes
338
+
339
+ - 2e17091: fix(types): move shared tool set utility types into provider-utils
340
+
341
+ 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.
342
+
343
+ - Updated dependencies [2e17091]
344
+ - @ai-sdk/provider-utils@5.0.0-beta.9
345
+ - @ai-sdk/gateway@4.0.0-beta.29
346
+
347
+ ## 7.0.0-beta.57
348
+
349
+ ### Major Changes
350
+
351
+ - 986c6fd: feat(ai): change type of experimental_context from unknown to generic
352
+ - 493295c: Remove the deprecated `ToolCallOptions` export.
353
+
354
+ Use `ToolExecutionOptions` instead.
355
+
356
+ ### Patch Changes
357
+
358
+ - Updated dependencies [986c6fd]
359
+ - Updated dependencies [493295c]
360
+ - @ai-sdk/provider-utils@5.0.0-beta.8
361
+ - @ai-sdk/gateway@4.0.0-beta.28
362
+
363
+ ## 7.0.0-beta.56
364
+
365
+ ### Patch Changes
366
+
367
+ - Updated dependencies [70a9aae]
368
+ - @ai-sdk/gateway@4.0.0-beta.27
369
+
370
+ ## 7.0.0-beta.55
371
+
372
+ ### Major Changes
373
+
374
+ - b3c9f6a: feat(ai): create new opentelemetry package (@ai-sdk/otel)
375
+
376
+ ## 7.0.0-beta.54
377
+
378
+ ### Patch Changes
379
+
380
+ - 5d0f18e: feat(ai): move opentelemetry to new package
381
+
382
+ ## 7.0.0-beta.53
383
+
384
+ ### Patch Changes
385
+
386
+ - 9b47dea: fix(ai): remove otel Tracer api from telemetry settings
387
+
388
+ ## 7.0.0-beta.52
389
+
390
+ ### Patch Changes
391
+
392
+ - b56301c: feat(ai): decouple otel from generate/streamObject
393
+
394
+ ## 7.0.0-beta.51
395
+
396
+ ### Patch Changes
397
+
398
+ - 6abd098: split `prepareToolsAndToolChoice()` into `prepareTools()` and `prepareToolChoice()`
399
+
400
+ ## 7.0.0-beta.50
401
+
402
+ ### Patch Changes
403
+
404
+ - 3debdb7: feat(ai): rename `stepCountIs` to `isStepCount`
405
+
406
+ ## 7.0.0-beta.49
407
+
408
+ ### Patch Changes
409
+
410
+ - Updated dependencies [294cbe7]
411
+ - @ai-sdk/gateway@4.0.0-beta.26
412
+
413
+ ## 7.0.0-beta.48
414
+
415
+ ### Patch Changes
416
+
417
+ - 5c4d910: feat(ai): add new `isLoopFinished` stop condition helper for unlimited steps
418
+
419
+ ## 7.0.0-beta.47
420
+
421
+ ### Patch Changes
422
+
423
+ - bc67b4f: feat(ai): add experimental callbacks for structured outputs
424
+
425
+ ## 7.0.0-beta.46
426
+
427
+ ### Patch Changes
428
+
429
+ - 31ee822: refactoring(ai): extract filterActiveTools and expose it as experimental_filterActiveTools
430
+
431
+ ## 7.0.0-beta.45
432
+
433
+ ### Patch Changes
434
+
435
+ - Updated dependencies [435895b]
436
+ - @ai-sdk/gateway@4.0.0-beta.25
437
+
438
+ ## 7.0.0-beta.44
439
+
440
+ ### Patch Changes
441
+
442
+ - Updated dependencies [d30466c]
443
+ - @ai-sdk/gateway@4.0.0-beta.24
444
+
445
+ ## 7.0.0-beta.43
446
+
447
+ ### Patch Changes
448
+
449
+ - Updated dependencies [4ec78cd]
450
+ - @ai-sdk/gateway@4.0.0-beta.23
451
+
452
+ ## 7.0.0-beta.42
453
+
454
+ ### Patch Changes
455
+
456
+ - a3fd75b: feat(ai): expose Experimental_ModelCallStreamPart type
457
+
458
+ ## 7.0.0-beta.41
459
+
460
+ ### Patch Changes
461
+
462
+ - Updated dependencies [7ceff62]
463
+ - @ai-sdk/gateway@4.0.0-beta.22
464
+
465
+ ## 7.0.0-beta.40
466
+
467
+ ### Patch Changes
468
+
469
+ - 989d3d2: fix(ai): include generated files in OTEL response attributes
470
+
471
+ ## 7.0.0-beta.39
472
+
473
+ ### Patch Changes
474
+
475
+ - f4cfccd: feat(ai): decouple otel from rerank function
476
+
477
+ ## 7.0.0-beta.38
478
+
479
+ ### Patch Changes
480
+
481
+ - 1f509d4: fix(ai): force template check on 'kind' param
482
+ - Updated dependencies [1f509d4]
483
+ - @ai-sdk/provider-utils@5.0.0-beta.7
484
+ - @ai-sdk/provider@4.0.0-beta.5
485
+ - @ai-sdk/gateway@4.0.0-beta.21
486
+
487
+ ## 7.0.0-beta.37
488
+
489
+ ### Patch Changes
490
+
491
+ - Updated dependencies [4f91b5d]
492
+ - @ai-sdk/gateway@4.0.0-beta.20
493
+
494
+ ## 7.0.0-beta.36
495
+
496
+ ### Patch Changes
497
+
498
+ - 118b953: feat(ai): decouple otel from embed functions
499
+
500
+ ## 7.0.0-beta.35
501
+
502
+ ### Patch Changes
503
+
504
+ - 99bf941: feat(ai): extract streamModelCall function for streaming text generation
505
+
506
+ ## 7.0.0-beta.34
507
+
508
+ ### Patch Changes
509
+
510
+ - Updated dependencies [72889f8]
511
+ - @ai-sdk/gateway@4.0.0-beta.19
512
+
513
+ ## 7.0.0-beta.33
514
+
515
+ ### Patch Changes
516
+
517
+ - caf1b6f: feat(ai): introduce experimental callbacks for rerank function
518
+
519
+ ## 7.0.0-beta.32
520
+
521
+ ### Major Changes
522
+
523
+ - 4b46062: refactoring(ai): extract tool callback invocation into separate function and forward chunks before callback invocation
524
+
525
+ ### Patch Changes
526
+
527
+ - Updated dependencies [165b97a]
528
+ - @ai-sdk/gateway@4.0.0-beta.18
529
+
530
+ ## 7.0.0-beta.31
531
+
532
+ ### Patch Changes
533
+
534
+ - e79e644: chore(ai/core): remove `timeout` from `CallSettings` as it was effectively unused there
535
+
536
+ ## 7.0.0-beta.30
537
+
538
+ ### Patch Changes
539
+
540
+ - f5a6f89: README updates
541
+
542
+ ## 7.0.0-beta.29
543
+
544
+ ### Patch Changes
545
+
546
+ - 877bf12: fix(ai): flatten model attributes for telemetry
547
+
548
+ ## 7.0.0-beta.28
549
+
550
+ ### Major Changes
551
+
552
+ - b9cf502: refactoring(ai): delay tool execution in stream text until model call is finished
553
+
554
+ ## 7.0.0-beta.27
555
+
556
+ ### Patch Changes
557
+
558
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
559
+ - Updated dependencies [3887c70]
560
+ - @ai-sdk/provider-utils@5.0.0-beta.6
561
+ - @ai-sdk/provider@4.0.0-beta.4
562
+ - @ai-sdk/gateway@4.0.0-beta.17
563
+
564
+ ## 7.0.0-beta.26
565
+
566
+ ### Patch Changes
567
+
568
+ - f0b0b20: feat(ai): add per-tool timeout overrides via toolTimeouts
569
+
570
+ ## 7.0.0-beta.25
571
+
572
+ ### Patch Changes
573
+
574
+ - ff9ce30: feat(ai): introduce experimental callbacks for embed function
575
+
576
+ ## 7.0.0-beta.24
577
+
578
+ ### Major Changes
579
+
580
+ - 776b617: feat(provider): adding new 'custom' content type
581
+
582
+ ### Patch Changes
583
+
584
+ - Updated dependencies [776b617]
585
+ - @ai-sdk/provider-utils@5.0.0-beta.5
586
+ - @ai-sdk/provider@4.0.0-beta.3
587
+ - @ai-sdk/gateway@4.0.0-beta.16
588
+
589
+ ## 7.0.0-beta.23
590
+
591
+ ### Patch Changes
592
+
593
+ - 80d4dde: fix(ai): include tool input on tool result for provider executed dynamic tools
594
+ - Updated dependencies [61753c3]
595
+ - @ai-sdk/provider-utils@5.0.0-beta.4
596
+ - @ai-sdk/gateway@4.0.0-beta.15
597
+
598
+ ## 7.0.0-beta.22
599
+
600
+ ### Patch Changes
601
+
602
+ - Updated dependencies [ead9144]
603
+ - @ai-sdk/gateway@4.0.0-beta.14
604
+
605
+ ## 7.0.0-beta.21
606
+
607
+ ### Patch Changes
608
+
609
+ - 34fd051: feat(ai): add toolMs to timeout configuration
610
+
611
+ ## 7.0.0-beta.20
612
+
613
+ ### Patch Changes
614
+
615
+ - Updated dependencies [2095655]
616
+ - @ai-sdk/gateway@4.0.0-beta.13
617
+
618
+ ## 7.0.0-beta.19
619
+
620
+ ### Patch Changes
621
+
622
+ - Updated dependencies [f7d4f01]
623
+ - @ai-sdk/provider-utils@5.0.0-beta.3
624
+ - @ai-sdk/provider@4.0.0-beta.2
625
+ - @ai-sdk/gateway@4.0.0-beta.12
626
+
627
+ ## 7.0.0-beta.18
628
+
629
+ ### Patch Changes
630
+
631
+ - Updated dependencies [5c2a5a2]
632
+ - @ai-sdk/provider@4.0.0-beta.1
633
+ - @ai-sdk/gateway@4.0.0-beta.11
634
+ - @ai-sdk/provider-utils@5.0.0-beta.2
635
+
636
+ ## 7.0.0-beta.17
637
+
638
+ ### Patch Changes
639
+
640
+ - Updated dependencies [4d6ab9a]
641
+ - @ai-sdk/gateway@4.0.0-beta.10
642
+
643
+ ## 7.0.0-beta.16
644
+
645
+ ### Major Changes
646
+
647
+ - 5b8c58f: feat(ai): decouple otel from core functions
648
+
649
+ ## 7.0.0-beta.15
650
+
651
+ ### Patch Changes
652
+
653
+ - Updated dependencies [980f777]
654
+ - Updated dependencies [7185ba2]
655
+ - @ai-sdk/gateway@4.0.0-beta.9
656
+
657
+ ## 7.0.0-beta.14
658
+
659
+ ### Patch Changes
660
+
661
+ - Updated dependencies [4adc485]
662
+ - @ai-sdk/gateway@4.0.0-beta.8
663
+
664
+ ## 7.0.0-beta.13
665
+
666
+ ### Patch Changes
667
+
668
+ - c26ca8d: Remove custom User-Agent header from HttpChatTransport to fix CORS preflight failures in Safari and Firefox
669
+
670
+ ## 7.0.0-beta.12
671
+
672
+ ### Patch Changes
673
+
674
+ - Updated dependencies [e046ea3]
675
+ - @ai-sdk/gateway@4.0.0-beta.7
676
+
677
+ ## 7.0.0-beta.11
678
+
679
+ ### Patch Changes
680
+
681
+ - Updated dependencies [82288b0]
682
+ - @ai-sdk/gateway@4.0.0-beta.6
683
+
3
684
  ## 7.0.0-beta.10
4
685
 
5
686
  ### Patch Changes
@@ -939,13 +1620,13 @@
939
1620
  Before
940
1621
 
941
1622
  ```ts
942
- model.textEmbeddingModel('my-model-id');
1623
+ model.textEmbeddingModel("my-model-id");
943
1624
  ```
944
1625
 
945
1626
  After
946
1627
 
947
1628
  ```ts
948
- model.embeddingModel('my-model-id');
1629
+ model.embeddingModel("my-model-id");
949
1630
  ```
950
1631
 
951
1632
  - b67d224: Fixes an issue where `providerMetadata` and `providerExecuted` were lost when tool input validation failed
@@ -968,15 +1649,15 @@
968
1649
  This change replaces
969
1650
 
970
1651
  ```ts
971
- import { experimental_createMCPClient } from 'ai';
972
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
1652
+ import { experimental_createMCPClient } from "ai";
1653
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
973
1654
  ```
974
1655
 
975
1656
  with
976
1657
 
977
1658
  ```ts
978
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
979
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
1659
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
1660
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
980
1661
  ```
981
1662
 
982
1663
  - 90e5bdd: chore(ai): restructure agent files
@@ -1063,7 +1744,7 @@
1063
1744
  - 81d4308: feat: provider-executed dynamic tools
1064
1745
  - e0d1ea9: fix(ai): align logic of text-end with reasoning-end
1065
1746
  - 2406576: chore(agent): rename messages property on agent ui stream functions to uiMessages
1066
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
1747
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
1067
1748
  - dce4e7b: chore(agent): rename system to instructions
1068
1749
  - 4ece5f9: feat(agent): add experimental_download to ToolLoopAgent
1069
1750
  - a417a34: feat(agent): introduce version property
@@ -1496,13 +2177,13 @@
1496
2177
  Before
1497
2178
 
1498
2179
  ```ts
1499
- model.textEmbeddingModel('my-model-id');
2180
+ model.textEmbeddingModel("my-model-id");
1500
2181
  ```
1501
2182
 
1502
2183
  After
1503
2184
 
1504
2185
  ```ts
1505
- model.embeddingModel('my-model-id');
2186
+ model.embeddingModel("my-model-id");
1506
2187
  ```
1507
2188
 
1508
2189
  - Updated dependencies [8d9e8ad]
@@ -1849,15 +2530,15 @@
1849
2530
  This change replaces
1850
2531
 
1851
2532
  ```ts
1852
- import { experimental_createMCPClient } from 'ai';
1853
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
2533
+ import { experimental_createMCPClient } from "ai";
2534
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
1854
2535
  ```
1855
2536
 
1856
2537
  with
1857
2538
 
1858
2539
  ```ts
1859
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
1860
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
2540
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
2541
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
1861
2542
  ```
1862
2543
 
1863
2544
  ## 6.0.0-beta.71
@@ -2239,7 +2920,7 @@
2239
2920
 
2240
2921
  - aa0515c: feat(ai): move Agent to stable
2241
2922
  - e7d9b00: feat(agent): add optional name property to agent
2242
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
2923
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
2243
2924
 
2244
2925
  ## 5.1.0-beta.18
2245
2926
 
@@ -2776,7 +3457,7 @@
2776
3457
 
2777
3458
  ```js
2778
3459
  await generateImage({
2779
- model: luma.image('photon-flash-1', {
3460
+ model: luma.image("photon-flash-1", {
2780
3461
  maxImagesPerCall: 5,
2781
3462
  pollIntervalMillis: 500,
2782
3463
  }),
@@ -2789,7 +3470,7 @@
2789
3470
 
2790
3471
  ```js
2791
3472
  await generateImage({
2792
- model: luma.image('photon-flash-1'),
3473
+ model: luma.image("photon-flash-1"),
2793
3474
  prompt,
2794
3475
  n: 10,
2795
3476
  maxImagesPerCall: 5,
@@ -2809,7 +3490,7 @@
2809
3490
  - c7710a9: chore (ai): rename DataStreamToSSETransformStream to JsonToSseTransformStream
2810
3491
  - bfbfc4c: feat (ai): streamText/generateText: totalUsage contains usage for all steps. usage is for a single step.
2811
3492
  - 9ae327d: chore (ui): replace chat store concept with chat instances
2812
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
3493
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
2813
3494
  - 247ee0c: chore (ai): remove steps from tool invocation ui parts
2814
3495
  - 109c0ac: chore (ai): rename id to chatId (in post request, resume request, and useChat)
2815
3496
  - 954aa73: feat (ui): extended regenerate support
@@ -2989,10 +3670,10 @@
2989
3670
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
2990
3671
 
2991
3672
  ```js
2992
- const prompt = 'Santa Claus driving a Cadillac';
3673
+ const prompt = "Santa Claus driving a Cadillac";
2993
3674
 
2994
3675
  const { providerMetadata } = await experimental_generateImage({
2995
- model: openai.image('dall-e-3'),
3676
+ model: openai.image("dall-e-3"),
2996
3677
  prompt,
2997
3678
  });
2998
3679
 
@@ -3552,7 +4233,7 @@
3552
4233
  ### Major Changes
3553
4234
 
3554
4235
  - 72d7d72: chore (ai): stable activeTools
3555
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
4236
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
3556
4237
 
3557
4238
  ### Patch Changes
3558
4239
 
@@ -3655,7 +4336,7 @@
3655
4336
 
3656
4337
  ```js
3657
4338
  await generateImage({
3658
- model: luma.image('photon-flash-1', {
4339
+ model: luma.image("photon-flash-1", {
3659
4340
  maxImagesPerCall: 5,
3660
4341
  pollIntervalMillis: 500,
3661
4342
  }),
@@ -3668,7 +4349,7 @@
3668
4349
 
3669
4350
  ```js
3670
4351
  await generateImage({
3671
- model: luma.image('photon-flash-1'),
4352
+ model: luma.image("photon-flash-1"),
3672
4353
  prompt,
3673
4354
  n: 10,
3674
4355
  maxImagesPerCall: 5,
@@ -3766,10 +4447,10 @@
3766
4447
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
3767
4448
 
3768
4449
  ```js
3769
- const prompt = 'Santa Claus driving a Cadillac';
4450
+ const prompt = "Santa Claus driving a Cadillac";
3770
4451
 
3771
4452
  const { providerMetadata } = await experimental_generateImage({
3772
- model: openai.image('dall-e-3'),
4453
+ model: openai.image("dall-e-3"),
3773
4454
  prompt,
3774
4455
  });
3775
4456