@ai-sdk/provider 0.0.0-64aae7dd-20260114144918

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 (138) hide show
  1. package/CHANGELOG.md +949 -0
  2. package/LICENSE +13 -0
  3. package/README.md +1 -0
  4. package/dist/index.d.mts +3796 -0
  5. package/dist/index.d.ts +3796 -0
  6. package/dist/index.js +421 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/index.mjs +377 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/package.json +59 -0
  11. package/src/embedding-model/index.ts +2 -0
  12. package/src/embedding-model/v2/embedding-model-v2-embedding.ts +5 -0
  13. package/src/embedding-model/v2/embedding-model-v2.ts +113 -0
  14. package/src/embedding-model/v2/index.ts +2 -0
  15. package/src/embedding-model/v3/embedding-model-v3-call-options.ts +26 -0
  16. package/src/embedding-model/v3/embedding-model-v3-embedding.ts +5 -0
  17. package/src/embedding-model/v3/embedding-model-v3-result.ts +48 -0
  18. package/src/embedding-model/v3/embedding-model-v3.ts +54 -0
  19. package/src/embedding-model/v3/index.ts +4 -0
  20. package/src/embedding-model-middleware/index.ts +1 -0
  21. package/src/embedding-model-middleware/v3/embedding-model-v3-middleware.ts +69 -0
  22. package/src/embedding-model-middleware/v3/index.ts +1 -0
  23. package/src/errors/ai-sdk-error.ts +62 -0
  24. package/src/errors/api-call-error.ts +59 -0
  25. package/src/errors/empty-response-body-error.ts +17 -0
  26. package/src/errors/get-error-message.ts +15 -0
  27. package/src/errors/index.ts +15 -0
  28. package/src/errors/invalid-argument-error.ts +32 -0
  29. package/src/errors/invalid-prompt-error.ts +33 -0
  30. package/src/errors/invalid-response-data-error.ts +31 -0
  31. package/src/errors/json-parse-error.ts +29 -0
  32. package/src/errors/load-api-key-error.ts +17 -0
  33. package/src/errors/load-setting-error.ts +17 -0
  34. package/src/errors/no-content-generated-error.ts +22 -0
  35. package/src/errors/no-such-model-error.ts +45 -0
  36. package/src/errors/too-many-embedding-values-for-call-error.ts +40 -0
  37. package/src/errors/type-validation-error.ts +51 -0
  38. package/src/errors/unsupported-functionality-error.ts +26 -0
  39. package/src/image-model/index.ts +2 -0
  40. package/src/image-model/v2/image-model-v2-call-options.ts +60 -0
  41. package/src/image-model/v2/image-model-v2-call-warning.ts +16 -0
  42. package/src/image-model/v2/image-model-v2.ts +104 -0
  43. package/src/image-model/v2/index.ts +6 -0
  44. package/src/image-model/v3/image-model-v3-call-options.ts +74 -0
  45. package/src/image-model/v3/image-model-v3-file.ts +44 -0
  46. package/src/image-model/v3/image-model-v3-usage.ts +19 -0
  47. package/src/image-model/v3/image-model-v3.ts +110 -0
  48. package/src/image-model/v3/index.ts +7 -0
  49. package/src/image-model-middleware/index.ts +1 -0
  50. package/src/image-model-middleware/v3/image-model-v3-middleware.ts +61 -0
  51. package/src/image-model-middleware/v3/index.ts +1 -0
  52. package/src/index.ts +15 -0
  53. package/src/json-value/index.ts +2 -0
  54. package/src/json-value/is-json.ts +40 -0
  55. package/src/json-value/json-value.ts +17 -0
  56. package/src/language-model/index.ts +2 -0
  57. package/src/language-model/v2/index.ts +18 -0
  58. package/src/language-model/v2/language-model-v2-call-options.ts +125 -0
  59. package/src/language-model/v2/language-model-v2-call-warning.ts +23 -0
  60. package/src/language-model/v2/language-model-v2-content.ts +14 -0
  61. package/src/language-model/v2/language-model-v2-data-content.ts +4 -0
  62. package/src/language-model/v2/language-model-v2-file.ts +25 -0
  63. package/src/language-model/v2/language-model-v2-finish-reason.ts +20 -0
  64. package/src/language-model/v2/language-model-v2-function-tool.ts +37 -0
  65. package/src/language-model/v2/language-model-v2-prompt.ts +218 -0
  66. package/src/language-model/v2/language-model-v2-provider-defined-tool.ts +24 -0
  67. package/src/language-model/v2/language-model-v2-reasoning.ts +14 -0
  68. package/src/language-model/v2/language-model-v2-response-metadata.ts +16 -0
  69. package/src/language-model/v2/language-model-v2-source.ts +67 -0
  70. package/src/language-model/v2/language-model-v2-stream-part.ts +102 -0
  71. package/src/language-model/v2/language-model-v2-text.ts +15 -0
  72. package/src/language-model/v2/language-model-v2-tool-call.ts +35 -0
  73. package/src/language-model/v2/language-model-v2-tool-choice.ts +5 -0
  74. package/src/language-model/v2/language-model-v2-tool-result.ts +40 -0
  75. package/src/language-model/v2/language-model-v2-usage.ts +34 -0
  76. package/src/language-model/v2/language-model-v2.ts +137 -0
  77. package/src/language-model/v3/index.ts +21 -0
  78. package/src/language-model/v3/language-model-v3-call-options.ts +125 -0
  79. package/src/language-model/v3/language-model-v3-content.ts +16 -0
  80. package/src/language-model/v3/language-model-v3-data-content.ts +4 -0
  81. package/src/language-model/v3/language-model-v3-file.ts +32 -0
  82. package/src/language-model/v3/language-model-v3-finish-reason.ts +33 -0
  83. package/src/language-model/v3/language-model-v3-function-tool.ts +53 -0
  84. package/src/language-model/v3/language-model-v3-generate-result.ts +63 -0
  85. package/src/language-model/v3/language-model-v3-prompt.ts +422 -0
  86. package/src/language-model/v3/language-model-v3-provider-tool.ts +28 -0
  87. package/src/language-model/v3/language-model-v3-reasoning.ts +14 -0
  88. package/src/language-model/v3/language-model-v3-response-metadata.ts +16 -0
  89. package/src/language-model/v3/language-model-v3-source.ts +67 -0
  90. package/src/language-model/v3/language-model-v3-stream-part.ts +106 -0
  91. package/src/language-model/v3/language-model-v3-stream-result.ts +32 -0
  92. package/src/language-model/v3/language-model-v3-text.ts +15 -0
  93. package/src/language-model/v3/language-model-v3-tool-approval-request.ts +27 -0
  94. package/src/language-model/v3/language-model-v3-tool-call.ts +41 -0
  95. package/src/language-model/v3/language-model-v3-tool-choice.ts +5 -0
  96. package/src/language-model/v3/language-model-v3-tool-result.ts +51 -0
  97. package/src/language-model/v3/language-model-v3-usage.ts +59 -0
  98. package/src/language-model/v3/language-model-v3.ts +61 -0
  99. package/src/language-model-middleware/index.ts +2 -0
  100. package/src/language-model-middleware/v2/index.ts +1 -0
  101. package/src/language-model-middleware/v2/language-model-v2-middleware.ts +82 -0
  102. package/src/language-model-middleware/v3/index.ts +1 -0
  103. package/src/language-model-middleware/v3/language-model-v3-middleware.ts +84 -0
  104. package/src/provider/index.ts +2 -0
  105. package/src/provider/v2/index.ts +1 -0
  106. package/src/provider/v2/provider-v2.ts +64 -0
  107. package/src/provider/v3/index.ts +1 -0
  108. package/src/provider/v3/provider-v3.ts +93 -0
  109. package/src/reranking-model/index.ts +1 -0
  110. package/src/reranking-model/v3/index.ts +2 -0
  111. package/src/reranking-model/v3/reranking-model-v3-call-options.ts +40 -0
  112. package/src/reranking-model/v3/reranking-model-v3.ts +90 -0
  113. package/src/shared/index.ts +2 -0
  114. package/src/shared/v2/index.ts +3 -0
  115. package/src/shared/v2/shared-v2-headers.ts +1 -0
  116. package/src/shared/v2/shared-v2-provider-metadata.ts +27 -0
  117. package/src/shared/v2/shared-v2-provider-options.ts +24 -0
  118. package/src/shared/v3/index.ts +4 -0
  119. package/src/shared/v3/shared-v3-headers.ts +1 -0
  120. package/src/shared/v3/shared-v3-provider-metadata.ts +24 -0
  121. package/src/shared/v3/shared-v3-provider-options.ts +24 -0
  122. package/src/shared/v3/shared-v3-warning.ts +50 -0
  123. package/src/speech-model/index.ts +2 -0
  124. package/src/speech-model/v2/index.ts +3 -0
  125. package/src/speech-model/v2/speech-model-v2-call-options.ts +62 -0
  126. package/src/speech-model/v2/speech-model-v2-call-warning.ts +16 -0
  127. package/src/speech-model/v2/speech-model-v2.ts +89 -0
  128. package/src/speech-model/v3/index.ts +2 -0
  129. package/src/speech-model/v3/speech-model-v3-call-options.ts +62 -0
  130. package/src/speech-model/v3/speech-model-v3.ts +89 -0
  131. package/src/transcription-model/index.ts +2 -0
  132. package/src/transcription-model/v2/index.ts +3 -0
  133. package/src/transcription-model/v2/transcription-model-v2-call-options.ts +48 -0
  134. package/src/transcription-model/v2/transcription-model-v2-call-warning.ts +16 -0
  135. package/src/transcription-model/v2/transcription-model-v2.ts +117 -0
  136. package/src/transcription-model/v3/index.ts +2 -0
  137. package/src/transcription-model/v3/transcription-model-v3-call-options.ts +45 -0
  138. package/src/transcription-model/v3/transcription-model-v3.ts +117 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,949 @@
1
+ # @ai-sdk/provider
2
+
3
+ ## 0.0.0-64aae7dd-20260114144918
4
+
5
+ ### Patch Changes
6
+
7
+ - 9fbe723: chore(ai): include sources in npm package
8
+
9
+ ## 3.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - d937c8f: Add Image model middleware support via `wrapImageModel` and `ImageModelV3Middleware`.
14
+
15
+ ## 3.0.1
16
+
17
+ ### Patch Changes
18
+
19
+ - 863d34f: fix: trigger release to update `@latest`
20
+
21
+ ## 3.0.0
22
+
23
+ ### Major Changes
24
+
25
+ - dee8b05: ai SDK 6 beta
26
+
27
+ ### Minor Changes
28
+
29
+ - 78928cb: release: start 5.1 beta
30
+
31
+ ### Patch Changes
32
+
33
+ - 0c3b58b: fix(provider): add specificationVersion to ProviderV3
34
+ - 0adc679: feat(provider): shared spec v3
35
+ - d1bdadb: Added reranking model
36
+ - 046aa3b: feat(provider): speech model v3 spec
37
+ - 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
38
+
39
+ Before
40
+
41
+ ```ts
42
+ model.textEmbeddingModel('my-model-id');
43
+ ```
44
+
45
+ After
46
+
47
+ ```ts
48
+ model.embeddingModel('my-model-id');
49
+ ```
50
+
51
+ - dce03c4: feat: tool input examples
52
+ - 2625a04: feat(openai); update spec for mcp approval
53
+ - 37c58a0: This release introduces `wrapEmbeddingModel`, a new helper that brings embedding model customization capabilities similar to `wrapLanguageModel`.
54
+ - 2b0caef: feat(provider): add preliminary provider executed tool results to language model specification
55
+ - 954c356: feat(openai): allow custom names for provider-defined tools
56
+ - 544d4e8: chore(specification): rename v3 provider defined tool to provider tool
57
+ - 0c4822d: feat: `EmbeddingModelV3`
58
+ - 4c44a5b: fix(spec): allow `undefined` values in `JSONObject` type
59
+ - e8109d3: feat: tool execution approval
60
+ - ed329cb: feat: `Provider-V3`
61
+ - 53f3368: feat(provider): support embedding model call warnings in specification
62
+ - 3bd2689: feat: extended token usage
63
+ - bb36798: fix(spec): `LanguageModelV3ToolResult["result"]` change from `unknown` to `NonNullable<JSONValue>`
64
+ - 8dac895: feat: `LanguageModelV3`
65
+ - a755db5: feat(provider): Add SharedV3Warning type
66
+ - 475189e: chore(specification): rename EmbeddingModelCallOptions
67
+ - 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings
68
+ - b681d7d: feat: expose usage tokens for 'generateImage' function
69
+ - db913bd: fix(google): add thought signature to gemini 3 pro image parts
70
+ - 9061dc0: feat: image editing
71
+ - 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
72
+ - 81d4308: feat: provider-executed dynamic tools
73
+ - 9549c9e: chore(specification): extract types
74
+ - af3780b: chore(provider): remove providerExecuted from LanguageModelV3ToolResult
75
+ - 522f6b8: feat: `ImageModelV3`
76
+ - 10d819b: fix(packages/provider): fix CallWarning and allow strings as type
77
+ - 3794514: feat: flexible tool output content support
78
+ - cbf52cd: feat: expose raw finish reason
79
+ - 1bd7d32: feat: tool-specific strict mode
80
+
81
+ ## 3.0.0-beta.32
82
+
83
+ ### Patch Changes
84
+
85
+ - 475189e: chore(specification): rename EmbeddingModelCallOptions
86
+
87
+ ## 3.0.0-beta.31
88
+
89
+ ### Patch Changes
90
+
91
+ - 2625a04: feat(openai); update spec for mcp approval
92
+
93
+ ## 3.0.0-beta.30
94
+
95
+ ### Patch Changes
96
+
97
+ - cbf52cd: feat: expose raw finish reason
98
+
99
+ ## 3.0.0-beta.29
100
+
101
+ ### Patch Changes
102
+
103
+ - 9549c9e: chore(specification): extract types
104
+
105
+ ## 3.0.0-beta.28
106
+
107
+ ### Patch Changes
108
+
109
+ - 9061dc0: feat: image editing
110
+
111
+ ## 3.0.0-beta.27
112
+
113
+ ### Patch Changes
114
+
115
+ - 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
116
+
117
+ ## 3.0.0-beta.26
118
+
119
+ ### Patch Changes
120
+
121
+ - 3bd2689: feat: extended token usage
122
+
123
+ ## 3.0.0-beta.25
124
+
125
+ ### Patch Changes
126
+
127
+ - 53f3368: feat(provider): support embedding model call warnings in specification
128
+
129
+ ## 3.0.0-beta.24
130
+
131
+ ### Patch Changes
132
+
133
+ - dce03c4: feat: tool input examples
134
+
135
+ ## 3.0.0-beta.23
136
+
137
+ ### Patch Changes
138
+
139
+ - 1bd7d32: feat: tool-specific strict mode
140
+
141
+ ## 3.0.0-beta.22
142
+
143
+ ### Patch Changes
144
+
145
+ - 544d4e8: chore(specification): rename v3 provider defined tool to provider tool
146
+
147
+ ## 3.0.0-beta.21
148
+
149
+ ### Patch Changes
150
+
151
+ - 954c356: feat(openai): allow custom names for provider-defined tools
152
+
153
+ ## 3.0.0-beta.20
154
+
155
+ ### Patch Changes
156
+
157
+ - 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings
158
+
159
+ ## 3.0.0-beta.19
160
+
161
+ ### Patch Changes
162
+
163
+ - 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
164
+
165
+ Before
166
+
167
+ ```ts
168
+ model.textEmbeddingModel('my-model-id');
169
+ ```
170
+
171
+ After
172
+
173
+ ```ts
174
+ model.embeddingModel('my-model-id');
175
+ ```
176
+
177
+ ## 3.0.0-beta.18
178
+
179
+ ### Patch Changes
180
+
181
+ - 10d819b: fix(packages/provider): fix CallWarning and allow strings as type
182
+
183
+ ## 3.0.0-beta.17
184
+
185
+ ### Patch Changes
186
+
187
+ - db913bd: fix(google): add thought signature to gemini 3 pro image parts
188
+
189
+ ## 3.0.0-beta.16
190
+
191
+ ### Patch Changes
192
+
193
+ - b681d7d: feat: expose usage tokens for 'generateImage' function
194
+
195
+ ## 3.0.0-beta.15
196
+
197
+ ### Patch Changes
198
+
199
+ - bb36798: fix(spec): `LanguageModelV3ToolResult["result"]` change from `unknown` to `NonNullable<JSONValue>`
200
+
201
+ ## 3.0.0-beta.14
202
+
203
+ ### Patch Changes
204
+
205
+ - af3780b: chore(provider): remove providerExecuted from LanguageModelV3ToolResult
206
+
207
+ ## 3.0.0-beta.13
208
+
209
+ ### Patch Changes
210
+
211
+ - 37c58a0: This release introduces `wrapEmbeddingModel`, a new helper that brings embedding model customization capabilities similar to `wrapLanguageModel`.
212
+
213
+ ## 3.0.0-beta.12
214
+
215
+ ### Patch Changes
216
+
217
+ - d1bdadb: Added reranking model
218
+
219
+ ## 3.0.0-beta.11
220
+
221
+ ### Patch Changes
222
+
223
+ - 4c44a5b: fix(spec): allow `undefined` values in `JSONObject` type
224
+
225
+ ## 3.0.0-beta.10
226
+
227
+ ### Patch Changes
228
+
229
+ - 0c3b58b: fix(provider): add specificationVersion to ProviderV3
230
+
231
+ ## 3.0.0-beta.9
232
+
233
+ ### Patch Changes
234
+
235
+ - a755db5: feat(provider): Add SharedV3Warning type
236
+
237
+ ## 3.0.0-beta.8
238
+
239
+ ### Patch Changes
240
+
241
+ - 3794514: feat: flexible tool output content support
242
+
243
+ ## 3.0.0-beta.7
244
+
245
+ ### Patch Changes
246
+
247
+ - 81d4308: feat: provider-executed dynamic tools
248
+
249
+ ## 3.0.0-beta.6
250
+
251
+ ### Major Changes
252
+
253
+ - dee8b05: ai SDK 6 beta
254
+
255
+ ## 2.1.0-beta.5
256
+
257
+ ### Patch Changes
258
+
259
+ - 046aa3b: feat(provider): speech model v3 spec
260
+ - e8109d3: feat: tool execution approval
261
+
262
+ ## 2.1.0-beta.4
263
+
264
+ ### Patch Changes
265
+
266
+ - 0adc679: feat(provider): shared spec v3
267
+ - 2b0caef: feat(provider): add preliminary provider executed tool results to language model specification
268
+
269
+ ## 2.1.0-beta.3
270
+
271
+ ### Patch Changes
272
+
273
+ - 8dac895: feat: `LanguageModelV3`
274
+
275
+ ## 2.1.0-beta.2
276
+
277
+ ### Patch Changes
278
+
279
+ - ed329cb: feat: `Provider-V3`
280
+ - 522f6b8: feat: `ImageModelV3`
281
+
282
+ ## 2.1.0-beta.1
283
+
284
+ ### Patch Changes
285
+
286
+ - 0c4822d: feat: `EmbeddingModelV3`
287
+
288
+ ## 2.1.0-beta.0
289
+
290
+ ### Minor Changes
291
+
292
+ - 78928cb: release: start 5.1 beta
293
+
294
+ ## 2.0.0
295
+
296
+ ### Major Changes
297
+
298
+ - 742b7be: feat: forward id, streaming start, streaming end of content blocks
299
+ - 7cddb72: refactoring (provider): collapse provider defined tools into single definition
300
+ - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware
301
+ - e2b9e4b: feat (provider): add name for provider defined tools for future validation
302
+ - 95857aa: chore: restructure language model supported urls
303
+ - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2)
304
+ - d1a1aa1: chore (provider): merge rawRequest into request (language model v2)
305
+ - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result
306
+ - d5f588f: AI SDK 5
307
+ - b6b43c7: chore: move warnings into stream-start part (spec)
308
+ - 411e483: chore (provider): refactor usage (language model v2)
309
+ - abf9a79: chore: rename mimeType to mediaType
310
+ - 14c9410: chore: refactor file towards source pattern (spec)
311
+ - e86be6f: chore: remove logprobs
312
+ - 0d06df6: chore (ai): remove v1 providers
313
+ - d9c98f4: chore: refactor reasoning parts (spec)
314
+ - a3f768e: chore: restructure reasoning support
315
+ - 7435eb5: feat: upgrade speech models to v2 specification
316
+ - 0054544: chore: refactor source parts (spec)
317
+ - 9e9c809: chore: refactor tool call and tool call delta parts (spec)
318
+ - 32831c6: chore: refactor text parts (spec)
319
+ - 6dc848c: chore (provider): remove image parts
320
+ - d0f9495: chore: refactor file parts (spec)
321
+ - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information
322
+ - 44f4aba: feat: upgrade transcription models to v2 specification
323
+ - 7ea4132: chore: remove object generation mode
324
+ - 023ba40: feat (provider): support arbitrary media types in tool results
325
+ - e030615: chore (provider): remove prompt type from language model v2 spec
326
+ - 5e57fae: refactoring (provider): restructure tool result output
327
+ - c57e248: chore (provider): remove mode
328
+ - 3795467: chore: return content array from doGenerate (spec)
329
+ - 1766ede: chore: rename maxTokens to maxOutputTokens
330
+ - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions
331
+
332
+ ### Patch Changes
333
+
334
+ - dc714f3: release alpha.4
335
+ - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on
336
+ - 48d257a: release alpha.15
337
+ - 0d2c085: chore (provider): tweak provider definition
338
+ - 9222aeb: release alpha.8
339
+ - e2aceaf: feat: add raw chunk support
340
+ - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2)
341
+ - a166433: feat: add transcription with experimental_transcribe
342
+ - 26735b5: chore(embedding-model): add v2 interface
343
+ - 443d8ec: feat(embedding-model-v2): add response body field
344
+ - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency
345
+ - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option
346
+ - 2e13791: feat(anthropic): add server-side web search support
347
+ - 472524a: spec (ai): add provider options to tools
348
+ - dd3ff01: chore: add language setting to speechv2
349
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
350
+ - 0a87932: core (ai): change transcription model mimeType to mediaType
351
+ - c4a2fec: chore (provider): extract shared provider options and metadata (spec)
352
+ - 79457bd: chore (provider): extract LanguageModelV2File
353
+ - 8aa9e20: feat: add speech with experimental_generateSpeech
354
+ - 4617fab: chore(embedding-models): remove remaining settings
355
+ - cb68df0: feat: add transcription and speech model support to provider registry
356
+ - ad80501: chore (provider): allow both binary and base64 file content (spec)
357
+
358
+ Before
359
+
360
+ ```ts
361
+ import { convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils';
362
+
363
+ // Had to manually convert binary data to base64
364
+ const fileData = new Uint8Array([0, 1, 2, 3]);
365
+ const filePart = {
366
+ type: 'file',
367
+ mediaType: 'application/pdf',
368
+ data: convertUint8ArrayToBase64(fileData), // Required conversion
369
+ };
370
+ ```
371
+
372
+ After
373
+
374
+ ```ts
375
+ // Can use binary data directly
376
+ const fileData = new Uint8Array([0, 1, 2, 3]);
377
+ const filePart = {
378
+ type: 'file',
379
+ mediaType: 'application/pdf',
380
+ data: fileData, // Direct Uint8Array support
381
+ };
382
+ ```
383
+
384
+ - 68ecf2f: release alpha.13
385
+ - 6b98118: release alpha.3
386
+ - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise
387
+
388
+ pull request: https://github.com/vercel/ai/pull/6343
389
+
390
+ - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977)
391
+
392
+ The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
393
+
394
+ ```js
395
+ const prompt = 'Santa Claus driving a Cadillac';
396
+
397
+ const { providerMetadata } = await experimental_generateImage({
398
+ model: openai.image('dall-e-3'),
399
+ prompt,
400
+ });
401
+
402
+ const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt;
403
+
404
+ console.log({
405
+ prompt,
406
+ revisedPrompt,
407
+ });
408
+ ```
409
+
410
+ - 5c56081: release alpha.7
411
+ - fd65bc6: chore(embedding-model-v2): rename rawResponse to response
412
+ - 26535e0: release alpha.2
413
+ - 393138b: feat(embedding-model-v2): add providerOptions
414
+ - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type
415
+ - c1e6647: release alpha.11
416
+ - 811dff3: release alpha.9
417
+ - f10304b: feat(tool-calling): don't require the user to have to pass parameters
418
+ - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response
419
+ - c4df419: release alpha.10
420
+
421
+ ## 2.0.0-beta.2
422
+
423
+ ### Patch Changes
424
+
425
+ - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response
426
+
427
+ ## 2.0.0-beta.1
428
+
429
+ ### Major Changes
430
+
431
+ - 742b7be: feat: forward id, streaming start, streaming end of content blocks
432
+ - 7cddb72: refactoring (provider): collapse provider defined tools into single definition
433
+ - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware
434
+ - e2b9e4b: feat (provider): add name for provider defined tools for future validation
435
+ - 0d06df6: chore (ai): remove v1 providers
436
+ - 7435eb5: feat: upgrade speech models to v2 specification
437
+ - 44f4aba: feat: upgrade transcription models to v2 specification
438
+ - 023ba40: feat (provider): support arbitrary media types in tool results
439
+ - 5e57fae: refactoring (provider): restructure tool result output
440
+
441
+ ### Patch Changes
442
+
443
+ - 472524a: spec (ai): add provider options to tools
444
+ - dd3ff01: chore: add language setting to speechv2
445
+ - cb68df0: feat: add transcription and speech model support to provider registry
446
+
447
+ ## 2.0.0-alpha.15
448
+
449
+ ### Patch Changes
450
+
451
+ - 48d257a: release alpha.15
452
+
453
+ ## 2.0.0-alpha.14
454
+
455
+ ### Major Changes
456
+
457
+ - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result
458
+
459
+ ### Patch Changes
460
+
461
+ - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on
462
+ - 2e13791: feat(anthropic): add server-side web search support
463
+
464
+ ## 2.0.0-alpha.13
465
+
466
+ ### Patch Changes
467
+
468
+ - 68ecf2f: release alpha.13
469
+
470
+ ## 2.0.0-alpha.12
471
+
472
+ ### Patch Changes
473
+
474
+ - e2aceaf: feat: add raw chunk support
475
+
476
+ ## 2.0.0-alpha.11
477
+
478
+ ### Patch Changes
479
+
480
+ - c1e6647: release alpha.11
481
+
482
+ ## 2.0.0-alpha.10
483
+
484
+ ### Patch Changes
485
+
486
+ - c4df419: release alpha.10
487
+
488
+ ## 2.0.0-alpha.9
489
+
490
+ ### Patch Changes
491
+
492
+ - 811dff3: release alpha.9
493
+
494
+ ## 2.0.0-alpha.8
495
+
496
+ ### Patch Changes
497
+
498
+ - 9222aeb: release alpha.8
499
+
500
+ ## 2.0.0-alpha.7
501
+
502
+ ### Patch Changes
503
+
504
+ - 5c56081: release alpha.7
505
+
506
+ ## 2.0.0-alpha.6
507
+
508
+ ### Patch Changes
509
+
510
+ - 0d2c085: chore (provider): tweak provider definition
511
+
512
+ ## 2.0.0-alpha.4
513
+
514
+ ### Patch Changes
515
+
516
+ - dc714f3: release alpha.4
517
+
518
+ ## 2.0.0-alpha.3
519
+
520
+ ### Patch Changes
521
+
522
+ - 6b98118: release alpha.3
523
+
524
+ ## 2.0.0-alpha.2
525
+
526
+ ### Patch Changes
527
+
528
+ - 26535e0: release alpha.2
529
+
530
+ ## 2.0.0-alpha.1
531
+
532
+ ### Patch Changes
533
+
534
+ - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise
535
+
536
+ pull request: https://github.com/vercel/ai/pull/6343
537
+
538
+ ## 2.0.0-canary.14
539
+
540
+ ### Major Changes
541
+
542
+ - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information
543
+
544
+ ### Patch Changes
545
+
546
+ - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency
547
+
548
+ ## 2.0.0-canary.13
549
+
550
+ ### Patch Changes
551
+
552
+ - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977)
553
+
554
+ The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
555
+
556
+ ```js
557
+ const prompt = 'Santa Claus driving a Cadillac';
558
+
559
+ const { providerMetadata } = await experimental_generateImage({
560
+ model: openai.image('dall-e-3'),
561
+ prompt,
562
+ });
563
+
564
+ const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt;
565
+
566
+ console.log({
567
+ prompt,
568
+ revisedPrompt,
569
+ });
570
+ ```
571
+
572
+ ## 2.0.0-canary.12
573
+
574
+ ### Patch Changes
575
+
576
+ - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2)
577
+
578
+ ## 2.0.0-canary.11
579
+
580
+ ### Major Changes
581
+
582
+ - e030615: chore (provider): remove prompt type from language model v2 spec
583
+
584
+ ### Patch Changes
585
+
586
+ - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option
587
+ - 4617fab: chore(embedding-models): remove remaining settings
588
+
589
+ ## 2.0.0-canary.10
590
+
591
+ ### Major Changes
592
+
593
+ - a3f768e: chore: restructure reasoning support
594
+
595
+ ### Patch Changes
596
+
597
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
598
+
599
+ ## 2.0.0-canary.9
600
+
601
+ ### Major Changes
602
+
603
+ - e86be6f: chore: remove logprobs
604
+
605
+ ## 2.0.0-canary.8
606
+
607
+ ### Major Changes
608
+
609
+ - 95857aa: chore: restructure language model supported urls
610
+ - 7ea4132: chore: remove object generation mode
611
+
612
+ ## 2.0.0-canary.7
613
+
614
+ ### Major Changes
615
+
616
+ - b6b43c7: chore: move warnings into stream-start part (spec)
617
+ - 3795467: chore: return content array from doGenerate (spec)
618
+
619
+ ### Patch Changes
620
+
621
+ - 8aa9e20: feat: add speech with experimental_generateSpeech
622
+
623
+ ## 2.0.0-canary.6
624
+
625
+ ### Major Changes
626
+
627
+ - 14c9410: chore: refactor file towards source pattern (spec)
628
+ - d9c98f4: chore: refactor reasoning parts (spec)
629
+ - 0054544: chore: refactor source parts (spec)
630
+ - 9e9c809: chore: refactor tool call and tool call delta parts (spec)
631
+ - 32831c6: chore: refactor text parts (spec)
632
+ - d0f9495: chore: refactor file parts (spec)
633
+
634
+ ### Patch Changes
635
+
636
+ - 26735b5: chore(embedding-model): add v2 interface
637
+ - 443d8ec: feat(embedding-model-v2): add response body field
638
+ - c4a2fec: chore (provider): extract shared provider options and metadata (spec)
639
+ - fd65bc6: chore(embedding-model-v2): rename rawResponse to response
640
+ - 393138b: feat(embedding-model-v2): add providerOptions
641
+ - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type
642
+
643
+ ## 2.0.0-canary.5
644
+
645
+ ### Major Changes
646
+
647
+ - 411e483: chore (provider): refactor usage (language model v2)
648
+ - ad80501: chore (provider): allow both binary and base64 file content (spec)
649
+ - 1766ede: chore: rename maxTokens to maxOutputTokens
650
+
651
+ ### Patch Changes
652
+
653
+ - 79457bd: chore (provider): extract LanguageModelV2File
654
+ - f10304b: feat(tool-calling): don't require the user to have to pass parameters
655
+
656
+ ## 2.0.0-canary.4
657
+
658
+ ### Major Changes
659
+
660
+ - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2)
661
+
662
+ ## 2.0.0-canary.3
663
+
664
+ ### Major Changes
665
+
666
+ - d1a1aa1: chore (provider): merge rawRequest into request (language model v2)
667
+
668
+ ## 2.0.0-canary.2
669
+
670
+ ### Major Changes
671
+
672
+ - abf9a79: chore: rename mimeType to mediaType
673
+ - 6dc848c: chore (provider): remove image parts
674
+
675
+ ### Patch Changes
676
+
677
+ - a166433: feat: add transcription with experimental_transcribe
678
+ - 0a87932: core (ai): change transcription model mimeType to mediaType
679
+
680
+ ## 2.0.0-canary.1
681
+
682
+ ### Major Changes
683
+
684
+ - c57e248: chore (provider): remove mode
685
+ - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions
686
+
687
+ ## 2.0.0-canary.0
688
+
689
+ ### Major Changes
690
+
691
+ - d5f588f: AI SDK 5
692
+
693
+ ## 1.1.0
694
+
695
+ ### Minor Changes
696
+
697
+ - 5bc638d: AI SDK 4.2
698
+
699
+ ## 1.0.12
700
+
701
+ ### Patch Changes
702
+
703
+ - 0bd5bc6: feat (ai): support model-generated files
704
+
705
+ ## 1.0.11
706
+
707
+ ### Patch Changes
708
+
709
+ - 2e1101a: feat (provider/openai): pdf input support
710
+
711
+ ## 1.0.10
712
+
713
+ ### Patch Changes
714
+
715
+ - e1d3d42: feat (ai): expose raw response body in generateText and generateObject
716
+
717
+ ## 1.0.9
718
+
719
+ ### Patch Changes
720
+
721
+ - ddf9740: feat (ai): add anthropic reasoning
722
+
723
+ ## 1.0.8
724
+
725
+ ### Patch Changes
726
+
727
+ - 2761f06: fix (ai/provider): publish with LanguageModelV1Source
728
+
729
+ ## 1.0.7
730
+
731
+ ### Patch Changes
732
+
733
+ - d89c3b9: feat (provider): add image model support to provider specification
734
+
735
+ ## 1.0.6
736
+
737
+ ### Patch Changes
738
+
739
+ - 3a58a2e: feat (ai/core): throw NoImageGeneratedError from generateImage when no predictions are returned.
740
+
741
+ ## 1.0.5
742
+
743
+ ### Patch Changes
744
+
745
+ - 0a699f1: feat: add reasoning token support
746
+
747
+ ## 1.0.4
748
+
749
+ ### Patch Changes
750
+
751
+ - 19a2ce7: feat (provider): add message option to UnsupportedFunctionalityError
752
+ - 6337688: feat: change image generation errors to warnings
753
+
754
+ ## 1.0.3
755
+
756
+ ### Patch Changes
757
+
758
+ - 5ed5e45: chore (config): Use ts-library.json tsconfig for no-UI libs.
759
+
760
+ ## 1.0.2
761
+
762
+ ### Patch Changes
763
+
764
+ - 09a9cab: feat (ai/core): add experimental generateImage function
765
+
766
+ ## 1.0.1
767
+
768
+ ### Patch Changes
769
+
770
+ - b446ae5: feat (provider): Define type for ObjectGenerationMode.
771
+
772
+ ## 1.0.0
773
+
774
+ ### Major Changes
775
+
776
+ - b469a7e: chore: remove isXXXError methods
777
+ - c0ddc24: chore (ai): remove toJSON method from AI SDK errors
778
+
779
+ ## 1.0.0-canary.0
780
+
781
+ ### Major Changes
782
+
783
+ - b469a7e: chore: remove isXXXError methods
784
+ - c0ddc24: chore (ai): remove toJSON method from AI SDK errors
785
+
786
+ ## 0.0.26
787
+
788
+ ### Patch Changes
789
+
790
+ - aa98cdb: chore: more flexible dependency versioning
791
+ - 1486128: feat: add supportsUrl to language model specification
792
+ - 7b937c5: feat (provider-utils): improve id generator robustness
793
+ - 3b1b69a: feat: provider-defined tools
794
+ - 811a317: feat (ai/core): multi-part tool results (incl. images)
795
+
796
+ ## 0.0.25
797
+
798
+ ### Patch Changes
799
+
800
+ - b9b0d7b: feat (ai): access raw request body
801
+
802
+ ## 0.0.24
803
+
804
+ ### Patch Changes
805
+
806
+ - d595d0d: feat (ai/core): file content parts
807
+
808
+ ## 0.0.23
809
+
810
+ ### Patch Changes
811
+
812
+ - 03313cd: feat (ai): expose response id, response model, response timestamp in telemetry and api
813
+ - 3be7c1c: fix (provider/anthropic): support prompt caching on assistant messages
814
+
815
+ ## 0.0.22
816
+
817
+ ### Patch Changes
818
+
819
+ - 26515cb: feat (ai/provider): introduce ProviderV1 specification
820
+
821
+ ## 0.0.21
822
+
823
+ ### Patch Changes
824
+
825
+ - f2c025e: feat (ai/core): prompt validation
826
+
827
+ ## 0.0.20
828
+
829
+ ### Patch Changes
830
+
831
+ - 6ac355e: feat (provider/anthropic): add cache control support
832
+
833
+ ## 0.0.19
834
+
835
+ ### Patch Changes
836
+
837
+ - dd4a0f5: fix (ai/provider): remove invalid check in isJSONParseError
838
+
839
+ ## 0.0.18
840
+
841
+ ### Patch Changes
842
+
843
+ - 4bd27a9: chore (ai/provider): refactor type validation
844
+
845
+ ## 0.0.17
846
+
847
+ ### Patch Changes
848
+
849
+ - 029af4c: feat (ai/core): support schema name & description in generateObject & streamObject
850
+
851
+ ## 0.0.16
852
+
853
+ ### Patch Changes
854
+
855
+ - d58517b: feat (ai/openai): structured outputs
856
+
857
+ ## 0.0.15
858
+
859
+ ### Patch Changes
860
+
861
+ - 96aed25: fix (ai/provider): release new version
862
+
863
+ ## 0.0.14
864
+
865
+ ### Patch Changes
866
+
867
+ - a8d1c9e9: feat (ai/core): parallel image download
868
+
869
+ ## 0.0.13
870
+
871
+ ### Patch Changes
872
+
873
+ - 2b9da0f0: feat (core): support stopSequences setting.
874
+ - a5b58845: feat (core): support topK setting
875
+ - 4aa8deb3: feat (provider): support responseFormat setting in provider api
876
+ - 13b27ec6: chore (ai/core): remove grammar mode
877
+
878
+ ## 0.0.12
879
+
880
+ ### Patch Changes
881
+
882
+ - b7290943: feat (ai/core): add token usage to embed and embedMany
883
+
884
+ ## 0.0.11
885
+
886
+ ### Patch Changes
887
+
888
+ - 5edc6110: feat (provider): add headers support to language and embedding model spec
889
+
890
+ ## 0.0.10
891
+
892
+ ### Patch Changes
893
+
894
+ - 102ca22f: fix (@ai-sdk/provider): fix TypeValidationError.isTypeValidationError
895
+
896
+ ## 0.0.9
897
+
898
+ ### Patch Changes
899
+
900
+ - 09295e2e: feat (@ai-sdk/provider): add DownloadError
901
+
902
+ ## 0.0.8
903
+
904
+ ### Patch Changes
905
+
906
+ - f39c0dd2: feat (provider): add toolChoice to language model specification
907
+
908
+ ## 0.0.7
909
+
910
+ ### Patch Changes
911
+
912
+ - 8e780288: feat (ai/provider): add "unknown" finish reason (for models that don't provide a finish reason)
913
+
914
+ ## 0.0.6
915
+
916
+ ### Patch Changes
917
+
918
+ - 6a50ac4: feat (provider): add additional error types
919
+
920
+ ## 0.0.5
921
+
922
+ ### Patch Changes
923
+
924
+ - 0f6bc4e: feat (ai/core): add embed function
925
+
926
+ ## 0.0.4
927
+
928
+ ### Patch Changes
929
+
930
+ - 325ca55: feat (ai/core): improve image content part error message
931
+
932
+ ## 0.0.3
933
+
934
+ ### Patch Changes
935
+
936
+ - 41d5736: ai/core: re-expose language model types.
937
+
938
+ ## 0.0.2
939
+
940
+ ### Patch Changes
941
+
942
+ - d6431ae: ai/core: add logprobs support (thanks @SamStenner for the contribution)
943
+ - 25f3350: ai/core: add support for getting raw response headers.
944
+
945
+ ## 0.0.1
946
+
947
+ ### Patch Changes
948
+
949
+ - eb150a6: ai/core: remove scaling of setting values (breaking change). If you were using the temperature, frequency penalty, or presence penalty settings, you need to update the providers and adjust the setting values.