ai 7.0.0-beta.9 → 7.0.0-beta.91

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 +652 -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,633 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.91
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [cdcdec2]
8
+ - @ai-sdk/gateway@4.0.0-beta.51
9
+
10
+ ## 7.0.0-beta.90
11
+
12
+ ### Patch Changes
13
+
14
+ - 1db29c8: feat(ai): break `CallSettings` apart into `LanguageModelCallOptions` and `RequestOptions`
15
+
16
+ ## 7.0.0-beta.89
17
+
18
+ ### Patch Changes
19
+
20
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
21
+ - Updated dependencies [b3976a2]
22
+ - Updated dependencies [ff5eba1]
23
+ - @ai-sdk/provider-utils@5.0.0-beta.20
24
+ - @ai-sdk/gateway@4.0.0-beta.50
25
+ - @ai-sdk/provider@4.0.0-beta.12
26
+
27
+ ## 7.0.0-beta.88
28
+
29
+ ### Major Changes
30
+
31
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [ef992f8]
36
+ - @ai-sdk/gateway@4.0.0-beta.49
37
+ - @ai-sdk/provider@4.0.0-beta.11
38
+ - @ai-sdk/provider-utils@5.0.0-beta.19
39
+
40
+ ## 7.0.0-beta.87
41
+
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [bdbd322]
45
+ - Updated dependencies [8f53ccf]
46
+ - @ai-sdk/gateway@4.0.0-beta.48
47
+
48
+ ## 7.0.0-beta.86
49
+
50
+ ### Patch Changes
51
+
52
+ - 5a6f514: feat(ai): support several tools in hasToolCall stop condition
53
+
54
+ ## 7.0.0-beta.85
55
+
56
+ ### Major Changes
57
+
58
+ - 57bf606: chore(ai): simplify unified telemetry creation
59
+
60
+ ## 7.0.0-beta.84
61
+
62
+ ### Patch Changes
63
+
64
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
65
+ - Updated dependencies [90e2d8a]
66
+ - @ai-sdk/provider-utils@5.0.0-beta.18
67
+ - @ai-sdk/gateway@4.0.0-beta.47
68
+
69
+ ## 7.0.0-beta.83
70
+
71
+ ### Patch Changes
72
+
73
+ - Updated dependencies [6b0a40d]
74
+ - @ai-sdk/gateway@4.0.0-beta.46
75
+
76
+ ## 7.0.0-beta.82
77
+
78
+ ### Patch Changes
79
+
80
+ - e27ed76: feat(devtools): add new devtools integration for telemetry
81
+
82
+ ## 7.0.0-beta.81
83
+
84
+ ### Patch Changes
85
+
86
+ - 2fe1099: feat(ai): emit streaming chunks throught the onChunk callback
87
+ - f04adcb: feat(ai): refresh `customProvider` and `createProviderRegistry` to support file and skill upload abstractions
88
+
89
+ ## 7.0.0-beta.80
90
+
91
+ ### Patch Changes
92
+
93
+ - 3ae1786: fix: better context type inference
94
+ - Updated dependencies [3ae1786]
95
+ - @ai-sdk/provider-utils@5.0.0-beta.17
96
+ - @ai-sdk/gateway@4.0.0-beta.45
97
+
98
+ ## 7.0.0-beta.79
99
+
100
+ ### Patch Changes
101
+
102
+ - 6866afe: fix(ai): fix `lastAssistantMessageIsCompleteWithApprovalResponses` to no longer ignore `providerExecuted` tool approvals
103
+
104
+ ## 7.0.0-beta.78
105
+
106
+ ### Patch Changes
107
+
108
+ - f372547: fix(ai): fix `providerExecuted` tool approvals being passed to language model twice
109
+ - Updated dependencies [7943a4b]
110
+ - @ai-sdk/gateway@4.0.0-beta.44
111
+
112
+ ## 7.0.0-beta.77
113
+
114
+ ### Patch Changes
115
+
116
+ - 2add429: fix(ai): skip passing invalid JSON inputs to response messages
117
+
118
+ ## 7.0.0-beta.76
119
+
120
+ ### Major Changes
121
+
122
+ - fcc6869: refactor(ai/core): rename `ModelCallStreamPart` to `LanguageModelStreamPart` and align stream model call naming (`streamLanguageModelCall`, `experimental_streamLanguageModelCall`).
123
+
124
+ This updates experimental low-level stream primitives to use "language model call" terminology consistently.
125
+
126
+ ## 7.0.0-beta.75
127
+
128
+ ### Patch Changes
129
+
130
+ - 176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces
131
+ - Updated dependencies [176466a]
132
+ - @ai-sdk/provider@4.0.0-beta.10
133
+ - @ai-sdk/gateway@4.0.0-beta.43
134
+ - @ai-sdk/provider-utils@5.0.0-beta.16
135
+
136
+ ## 7.0.0-beta.74
137
+
138
+ ### Patch Changes
139
+
140
+ - e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
141
+ - Updated dependencies [e311194]
142
+ - @ai-sdk/provider@4.0.0-beta.9
143
+ - @ai-sdk/gateway@4.0.0-beta.42
144
+ - @ai-sdk/provider-utils@5.0.0-beta.15
145
+
146
+ ## 7.0.0-beta.73
147
+
148
+ ### Patch Changes
149
+
150
+ - Updated dependencies [1464561]
151
+ - @ai-sdk/gateway@4.0.0-beta.41
152
+
153
+ ## 7.0.0-beta.72
154
+
155
+ ### Patch Changes
156
+
157
+ - 664a0eb: feat (ai/core): support plain string model IDs in `rerank()` function
158
+
159
+ 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.
160
+
161
+ ## 7.0.0-beta.71
162
+
163
+ ### Patch Changes
164
+
165
+ - e68be55: fix(ai): skip stringifying text when streaming partial text
166
+ - Updated dependencies [939171f]
167
+ - @ai-sdk/gateway@4.0.0-beta.40
168
+
169
+ ## 7.0.0-beta.70
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [0694029]
174
+ - @ai-sdk/gateway@4.0.0-beta.39
175
+
176
+ ## 7.0.0-beta.69
177
+
178
+ ### Major Changes
179
+
180
+ - 72223e7: chore(ai): remove deprecated isToolOrDynamicToolUIPart function
181
+
182
+ ### Patch Changes
183
+
184
+ - 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
185
+ - 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase
186
+ - Updated dependencies [34bd95d]
187
+ - Updated dependencies [008271d]
188
+ - @ai-sdk/provider@4.0.0-beta.8
189
+ - @ai-sdk/gateway@4.0.0-beta.38
190
+ - @ai-sdk/provider-utils@5.0.0-beta.14
191
+
192
+ ## 7.0.0-beta.68
193
+
194
+ ### Major Changes
195
+
196
+ - 7e26e81: chore: rename experimental_context to context
197
+
198
+ ### Patch Changes
199
+
200
+ - b0c2869: chore(ai): remove deprecated `media` type part from `ToolResultOutput`
201
+ - Updated dependencies [b0c2869]
202
+ - Updated dependencies [7e26e81]
203
+ - @ai-sdk/provider-utils@5.0.0-beta.13
204
+ - @ai-sdk/gateway@4.0.0-beta.37
205
+
206
+ ## 7.0.0-beta.67
207
+
208
+ ### Patch Changes
209
+
210
+ - d1a8bed: fix(ui): export `isDynamicToolUIPart` from `ai` package
211
+
212
+ ## 7.0.0-beta.66
213
+
214
+ ### Patch Changes
215
+
216
+ - Updated dependencies [fb0c233]
217
+ - Updated dependencies [d1f0d2b]
218
+ - @ai-sdk/gateway@4.0.0-beta.36
219
+
220
+ ## 7.0.0-beta.65
221
+
222
+ ### Patch Changes
223
+
224
+ - Updated dependencies [46d1149]
225
+ - @ai-sdk/provider-utils@5.0.0-beta.12
226
+ - @ai-sdk/gateway@4.0.0-beta.35
227
+
228
+ ## 7.0.0-beta.64
229
+
230
+ ### Patch Changes
231
+
232
+ - Updated dependencies [71b0e7d]
233
+ - @ai-sdk/gateway@4.0.0-beta.34
234
+
235
+ ## 7.0.0-beta.63
236
+
237
+ ### Patch Changes
238
+
239
+ - 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
240
+ - Updated dependencies [6fd51c0]
241
+ - @ai-sdk/provider-utils@5.0.0-beta.11
242
+ - @ai-sdk/provider@4.0.0-beta.7
243
+ - @ai-sdk/gateway@4.0.0-beta.33
244
+
245
+ ## 7.0.0-beta.62
246
+
247
+ ### Patch Changes
248
+
249
+ - Updated dependencies [11746ca]
250
+ - @ai-sdk/gateway@4.0.0-beta.32
251
+
252
+ ## 7.0.0-beta.61
253
+
254
+ ### Patch Changes
255
+
256
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
257
+ - Updated dependencies [c29a26f]
258
+ - @ai-sdk/provider-utils@5.0.0-beta.10
259
+ - @ai-sdk/provider@4.0.0-beta.6
260
+ - @ai-sdk/gateway@4.0.0-beta.31
261
+
262
+ ## 7.0.0-beta.60
263
+
264
+ ### Patch Changes
265
+
266
+ - 38fc777: Add AI Gateway hint to provider READMEs
267
+
268
+ ## 7.0.0-beta.59
269
+
270
+ ### Patch Changes
271
+
272
+ - Updated dependencies [4552cbf]
273
+ - @ai-sdk/gateway@4.0.0-beta.30
274
+
275
+ ## 7.0.0-beta.58
276
+
277
+ ### Patch Changes
278
+
279
+ - 2e17091: fix(types): move shared tool set utility types into provider-utils
280
+
281
+ 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.
282
+
283
+ - Updated dependencies [2e17091]
284
+ - @ai-sdk/provider-utils@5.0.0-beta.9
285
+ - @ai-sdk/gateway@4.0.0-beta.29
286
+
287
+ ## 7.0.0-beta.57
288
+
289
+ ### Major Changes
290
+
291
+ - 986c6fd: feat(ai): change type of experimental_context from unknown to generic
292
+ - 493295c: Remove the deprecated `ToolCallOptions` export.
293
+
294
+ Use `ToolExecutionOptions` instead.
295
+
296
+ ### Patch Changes
297
+
298
+ - Updated dependencies [986c6fd]
299
+ - Updated dependencies [493295c]
300
+ - @ai-sdk/provider-utils@5.0.0-beta.8
301
+ - @ai-sdk/gateway@4.0.0-beta.28
302
+
303
+ ## 7.0.0-beta.56
304
+
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [70a9aae]
308
+ - @ai-sdk/gateway@4.0.0-beta.27
309
+
310
+ ## 7.0.0-beta.55
311
+
312
+ ### Major Changes
313
+
314
+ - b3c9f6a: feat(ai): create new opentelemetry package (@ai-sdk/otel)
315
+
316
+ ## 7.0.0-beta.54
317
+
318
+ ### Patch Changes
319
+
320
+ - 5d0f18e: feat(ai): move opentelemetry to new package
321
+
322
+ ## 7.0.0-beta.53
323
+
324
+ ### Patch Changes
325
+
326
+ - 9b47dea: fix(ai): remove otel Tracer api from telemetry settings
327
+
328
+ ## 7.0.0-beta.52
329
+
330
+ ### Patch Changes
331
+
332
+ - b56301c: feat(ai): decouple otel from generate/streamObject
333
+
334
+ ## 7.0.0-beta.51
335
+
336
+ ### Patch Changes
337
+
338
+ - 6abd098: split `prepareToolsAndToolChoice()` into `prepareTools()` and `prepareToolChoice()`
339
+
340
+ ## 7.0.0-beta.50
341
+
342
+ ### Patch Changes
343
+
344
+ - 3debdb7: feat(ai): rename `stepCountIs` to `isStepCount`
345
+
346
+ ## 7.0.0-beta.49
347
+
348
+ ### Patch Changes
349
+
350
+ - Updated dependencies [294cbe7]
351
+ - @ai-sdk/gateway@4.0.0-beta.26
352
+
353
+ ## 7.0.0-beta.48
354
+
355
+ ### Patch Changes
356
+
357
+ - 5c4d910: feat(ai): add new `isLoopFinished` stop condition helper for unlimited steps
358
+
359
+ ## 7.0.0-beta.47
360
+
361
+ ### Patch Changes
362
+
363
+ - bc67b4f: feat(ai): add experimental callbacks for structured outputs
364
+
365
+ ## 7.0.0-beta.46
366
+
367
+ ### Patch Changes
368
+
369
+ - 31ee822: refactoring(ai): extract filterActiveTools and expose it as experimental_filterActiveTools
370
+
371
+ ## 7.0.0-beta.45
372
+
373
+ ### Patch Changes
374
+
375
+ - Updated dependencies [435895b]
376
+ - @ai-sdk/gateway@4.0.0-beta.25
377
+
378
+ ## 7.0.0-beta.44
379
+
380
+ ### Patch Changes
381
+
382
+ - Updated dependencies [d30466c]
383
+ - @ai-sdk/gateway@4.0.0-beta.24
384
+
385
+ ## 7.0.0-beta.43
386
+
387
+ ### Patch Changes
388
+
389
+ - Updated dependencies [4ec78cd]
390
+ - @ai-sdk/gateway@4.0.0-beta.23
391
+
392
+ ## 7.0.0-beta.42
393
+
394
+ ### Patch Changes
395
+
396
+ - a3fd75b: feat(ai): expose Experimental_ModelCallStreamPart type
397
+
398
+ ## 7.0.0-beta.41
399
+
400
+ ### Patch Changes
401
+
402
+ - Updated dependencies [7ceff62]
403
+ - @ai-sdk/gateway@4.0.0-beta.22
404
+
405
+ ## 7.0.0-beta.40
406
+
407
+ ### Patch Changes
408
+
409
+ - 989d3d2: fix(ai): include generated files in OTEL response attributes
410
+
411
+ ## 7.0.0-beta.39
412
+
413
+ ### Patch Changes
414
+
415
+ - f4cfccd: feat(ai): decouple otel from rerank function
416
+
417
+ ## 7.0.0-beta.38
418
+
419
+ ### Patch Changes
420
+
421
+ - 1f509d4: fix(ai): force template check on 'kind' param
422
+ - Updated dependencies [1f509d4]
423
+ - @ai-sdk/provider-utils@5.0.0-beta.7
424
+ - @ai-sdk/provider@4.0.0-beta.5
425
+ - @ai-sdk/gateway@4.0.0-beta.21
426
+
427
+ ## 7.0.0-beta.37
428
+
429
+ ### Patch Changes
430
+
431
+ - Updated dependencies [4f91b5d]
432
+ - @ai-sdk/gateway@4.0.0-beta.20
433
+
434
+ ## 7.0.0-beta.36
435
+
436
+ ### Patch Changes
437
+
438
+ - 118b953: feat(ai): decouple otel from embed functions
439
+
440
+ ## 7.0.0-beta.35
441
+
442
+ ### Patch Changes
443
+
444
+ - 99bf941: feat(ai): extract streamModelCall function for streaming text generation
445
+
446
+ ## 7.0.0-beta.34
447
+
448
+ ### Patch Changes
449
+
450
+ - Updated dependencies [72889f8]
451
+ - @ai-sdk/gateway@4.0.0-beta.19
452
+
453
+ ## 7.0.0-beta.33
454
+
455
+ ### Patch Changes
456
+
457
+ - caf1b6f: feat(ai): introduce experimental callbacks for rerank function
458
+
459
+ ## 7.0.0-beta.32
460
+
461
+ ### Major Changes
462
+
463
+ - 4b46062: refactoring(ai): extract tool callback invocation into separate function and forward chunks before callback invocation
464
+
465
+ ### Patch Changes
466
+
467
+ - Updated dependencies [165b97a]
468
+ - @ai-sdk/gateway@4.0.0-beta.18
469
+
470
+ ## 7.0.0-beta.31
471
+
472
+ ### Patch Changes
473
+
474
+ - e79e644: chore(ai/core): remove `timeout` from `CallSettings` as it was effectively unused there
475
+
476
+ ## 7.0.0-beta.30
477
+
478
+ ### Patch Changes
479
+
480
+ - f5a6f89: README updates
481
+
482
+ ## 7.0.0-beta.29
483
+
484
+ ### Patch Changes
485
+
486
+ - 877bf12: fix(ai): flatten model attributes for telemetry
487
+
488
+ ## 7.0.0-beta.28
489
+
490
+ ### Major Changes
491
+
492
+ - b9cf502: refactoring(ai): delay tool execution in stream text until model call is finished
493
+
494
+ ## 7.0.0-beta.27
495
+
496
+ ### Patch Changes
497
+
498
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
499
+ - Updated dependencies [3887c70]
500
+ - @ai-sdk/provider-utils@5.0.0-beta.6
501
+ - @ai-sdk/provider@4.0.0-beta.4
502
+ - @ai-sdk/gateway@4.0.0-beta.17
503
+
504
+ ## 7.0.0-beta.26
505
+
506
+ ### Patch Changes
507
+
508
+ - f0b0b20: feat(ai): add per-tool timeout overrides via toolTimeouts
509
+
510
+ ## 7.0.0-beta.25
511
+
512
+ ### Patch Changes
513
+
514
+ - ff9ce30: feat(ai): introduce experimental callbacks for embed function
515
+
516
+ ## 7.0.0-beta.24
517
+
518
+ ### Major Changes
519
+
520
+ - 776b617: feat(provider): adding new 'custom' content type
521
+
522
+ ### Patch Changes
523
+
524
+ - Updated dependencies [776b617]
525
+ - @ai-sdk/provider-utils@5.0.0-beta.5
526
+ - @ai-sdk/provider@4.0.0-beta.3
527
+ - @ai-sdk/gateway@4.0.0-beta.16
528
+
529
+ ## 7.0.0-beta.23
530
+
531
+ ### Patch Changes
532
+
533
+ - 80d4dde: fix(ai): include tool input on tool result for provider executed dynamic tools
534
+ - Updated dependencies [61753c3]
535
+ - @ai-sdk/provider-utils@5.0.0-beta.4
536
+ - @ai-sdk/gateway@4.0.0-beta.15
537
+
538
+ ## 7.0.0-beta.22
539
+
540
+ ### Patch Changes
541
+
542
+ - Updated dependencies [ead9144]
543
+ - @ai-sdk/gateway@4.0.0-beta.14
544
+
545
+ ## 7.0.0-beta.21
546
+
547
+ ### Patch Changes
548
+
549
+ - 34fd051: feat(ai): add toolMs to timeout configuration
550
+
551
+ ## 7.0.0-beta.20
552
+
553
+ ### Patch Changes
554
+
555
+ - Updated dependencies [2095655]
556
+ - @ai-sdk/gateway@4.0.0-beta.13
557
+
558
+ ## 7.0.0-beta.19
559
+
560
+ ### Patch Changes
561
+
562
+ - Updated dependencies [f7d4f01]
563
+ - @ai-sdk/provider-utils@5.0.0-beta.3
564
+ - @ai-sdk/provider@4.0.0-beta.2
565
+ - @ai-sdk/gateway@4.0.0-beta.12
566
+
567
+ ## 7.0.0-beta.18
568
+
569
+ ### Patch Changes
570
+
571
+ - Updated dependencies [5c2a5a2]
572
+ - @ai-sdk/provider@4.0.0-beta.1
573
+ - @ai-sdk/gateway@4.0.0-beta.11
574
+ - @ai-sdk/provider-utils@5.0.0-beta.2
575
+
576
+ ## 7.0.0-beta.17
577
+
578
+ ### Patch Changes
579
+
580
+ - Updated dependencies [4d6ab9a]
581
+ - @ai-sdk/gateway@4.0.0-beta.10
582
+
583
+ ## 7.0.0-beta.16
584
+
585
+ ### Major Changes
586
+
587
+ - 5b8c58f: feat(ai): decouple otel from core functions
588
+
589
+ ## 7.0.0-beta.15
590
+
591
+ ### Patch Changes
592
+
593
+ - Updated dependencies [980f777]
594
+ - Updated dependencies [7185ba2]
595
+ - @ai-sdk/gateway@4.0.0-beta.9
596
+
597
+ ## 7.0.0-beta.14
598
+
599
+ ### Patch Changes
600
+
601
+ - Updated dependencies [4adc485]
602
+ - @ai-sdk/gateway@4.0.0-beta.8
603
+
604
+ ## 7.0.0-beta.13
605
+
606
+ ### Patch Changes
607
+
608
+ - c26ca8d: Remove custom User-Agent header from HttpChatTransport to fix CORS preflight failures in Safari and Firefox
609
+
610
+ ## 7.0.0-beta.12
611
+
612
+ ### Patch Changes
613
+
614
+ - Updated dependencies [e046ea3]
615
+ - @ai-sdk/gateway@4.0.0-beta.7
616
+
617
+ ## 7.0.0-beta.11
618
+
619
+ ### Patch Changes
620
+
621
+ - Updated dependencies [82288b0]
622
+ - @ai-sdk/gateway@4.0.0-beta.6
623
+
624
+ ## 7.0.0-beta.10
625
+
626
+ ### Patch Changes
627
+
628
+ - Updated dependencies [aa5a583]
629
+ - @ai-sdk/gateway@4.0.0-beta.5
630
+
3
631
  ## 7.0.0-beta.9
4
632
 
5
633
  ### Patch Changes
@@ -932,13 +1560,13 @@
932
1560
  Before
933
1561
 
934
1562
  ```ts
935
- model.textEmbeddingModel('my-model-id');
1563
+ model.textEmbeddingModel("my-model-id");
936
1564
  ```
937
1565
 
938
1566
  After
939
1567
 
940
1568
  ```ts
941
- model.embeddingModel('my-model-id');
1569
+ model.embeddingModel("my-model-id");
942
1570
  ```
943
1571
 
944
1572
  - b67d224: Fixes an issue where `providerMetadata` and `providerExecuted` were lost when tool input validation failed
@@ -961,15 +1589,15 @@
961
1589
  This change replaces
962
1590
 
963
1591
  ```ts
964
- import { experimental_createMCPClient } from 'ai';
965
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
1592
+ import { experimental_createMCPClient } from "ai";
1593
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
966
1594
  ```
967
1595
 
968
1596
  with
969
1597
 
970
1598
  ```ts
971
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
972
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
1599
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
1600
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
973
1601
  ```
974
1602
 
975
1603
  - 90e5bdd: chore(ai): restructure agent files
@@ -1056,7 +1684,7 @@
1056
1684
  - 81d4308: feat: provider-executed dynamic tools
1057
1685
  - e0d1ea9: fix(ai): align logic of text-end with reasoning-end
1058
1686
  - 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)
1687
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
1060
1688
  - dce4e7b: chore(agent): rename system to instructions
1061
1689
  - 4ece5f9: feat(agent): add experimental_download to ToolLoopAgent
1062
1690
  - a417a34: feat(agent): introduce version property
@@ -1489,13 +2117,13 @@
1489
2117
  Before
1490
2118
 
1491
2119
  ```ts
1492
- model.textEmbeddingModel('my-model-id');
2120
+ model.textEmbeddingModel("my-model-id");
1493
2121
  ```
1494
2122
 
1495
2123
  After
1496
2124
 
1497
2125
  ```ts
1498
- model.embeddingModel('my-model-id');
2126
+ model.embeddingModel("my-model-id");
1499
2127
  ```
1500
2128
 
1501
2129
  - Updated dependencies [8d9e8ad]
@@ -1842,15 +2470,15 @@
1842
2470
  This change replaces
1843
2471
 
1844
2472
  ```ts
1845
- import { experimental_createMCPClient } from 'ai';
1846
- import { Experimental_StdioMCPTransport } from 'ai/mcp-stdio';
2473
+ import { experimental_createMCPClient } from "ai";
2474
+ import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
1847
2475
  ```
1848
2476
 
1849
2477
  with
1850
2478
 
1851
2479
  ```ts
1852
- import { experimental_createMCPClient } from '@ai-sdk/mcp';
1853
- import { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';
2480
+ import { experimental_createMCPClient } from "@ai-sdk/mcp";
2481
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
1854
2482
  ```
1855
2483
 
1856
2484
  ## 6.0.0-beta.71
@@ -2232,7 +2860,7 @@
2232
2860
 
2233
2861
  - aa0515c: feat(ai): move Agent to stable
2234
2862
  - e7d9b00: feat(agent): add optional name property to agent
2235
- - b1aeea7: feat(ai): set default stopWhen on Agent to stepCountIs(20)
2863
+ - b1aeea7: feat(ai): set default stopWhen on Agent to isStepCount(20)
2236
2864
 
2237
2865
  ## 5.1.0-beta.18
2238
2866
 
@@ -2769,7 +3397,7 @@
2769
3397
 
2770
3398
  ```js
2771
3399
  await generateImage({
2772
- model: luma.image('photon-flash-1', {
3400
+ model: luma.image("photon-flash-1", {
2773
3401
  maxImagesPerCall: 5,
2774
3402
  pollIntervalMillis: 500,
2775
3403
  }),
@@ -2782,7 +3410,7 @@
2782
3410
 
2783
3411
  ```js
2784
3412
  await generateImage({
2785
- model: luma.image('photon-flash-1'),
3413
+ model: luma.image("photon-flash-1"),
2786
3414
  prompt,
2787
3415
  n: 10,
2788
3416
  maxImagesPerCall: 5,
@@ -2802,7 +3430,7 @@
2802
3430
  - c7710a9: chore (ai): rename DataStreamToSSETransformStream to JsonToSseTransformStream
2803
3431
  - bfbfc4c: feat (ai): streamText/generateText: totalUsage contains usage for all steps. usage is for a single step.
2804
3432
  - 9ae327d: chore (ui): replace chat store concept with chat instances
2805
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
3433
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
2806
3434
  - 247ee0c: chore (ai): remove steps from tool invocation ui parts
2807
3435
  - 109c0ac: chore (ai): rename id to chatId (in post request, resume request, and useChat)
2808
3436
  - 954aa73: feat (ui): extended regenerate support
@@ -2982,10 +3610,10 @@
2982
3610
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
2983
3611
 
2984
3612
  ```js
2985
- const prompt = 'Santa Claus driving a Cadillac';
3613
+ const prompt = "Santa Claus driving a Cadillac";
2986
3614
 
2987
3615
  const { providerMetadata } = await experimental_generateImage({
2988
- model: openai.image('dall-e-3'),
3616
+ model: openai.image("dall-e-3"),
2989
3617
  prompt,
2990
3618
  });
2991
3619
 
@@ -3545,7 +4173,7 @@
3545
4173
  ### Major Changes
3546
4174
 
3547
4175
  - 72d7d72: chore (ai): stable activeTools
3548
- - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to stepCountIs.
4176
+ - 9315076: chore (ai): rename continueUntil to stopWhen. Rename maxSteps stop condition to isStepCount.
3549
4177
 
3550
4178
  ### Patch Changes
3551
4179
 
@@ -3648,7 +4276,7 @@
3648
4276
 
3649
4277
  ```js
3650
4278
  await generateImage({
3651
- model: luma.image('photon-flash-1', {
4279
+ model: luma.image("photon-flash-1", {
3652
4280
  maxImagesPerCall: 5,
3653
4281
  pollIntervalMillis: 500,
3654
4282
  }),
@@ -3661,7 +4289,7 @@
3661
4289
 
3662
4290
  ```js
3663
4291
  await generateImage({
3664
- model: luma.image('photon-flash-1'),
4292
+ model: luma.image("photon-flash-1"),
3665
4293
  prompt,
3666
4294
  n: 10,
3667
4295
  maxImagesPerCall: 5,
@@ -3759,10 +4387,10 @@
3759
4387
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
3760
4388
 
3761
4389
  ```js
3762
- const prompt = 'Santa Claus driving a Cadillac';
4390
+ const prompt = "Santa Claus driving a Cadillac";
3763
4391
 
3764
4392
  const { providerMetadata } = await experimental_generateImage({
3765
- model: openai.image('dall-e-3'),
4393
+ model: openai.image("dall-e-3"),
3766
4394
  prompt,
3767
4395
  });
3768
4396