ai 7.0.0-beta.10 → 7.0.0-beta.101

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