@ai-sdk/provider 0.0.0-4115c213-20260122152721

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