@depup/ai-sdk__google 3.0.61-depup.0 → 4.0.21-depup.0

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 (72) hide show
  1. package/CHANGELOG.md +883 -44
  2. package/README.md +2 -2
  3. package/changes.json +1 -1
  4. package/dist/index.d.ts +297 -53
  5. package/dist/index.js +5203 -793
  6. package/dist/index.js.map +1 -1
  7. package/dist/internal/index.d.ts +128 -25
  8. package/dist/internal/index.js +4169 -592
  9. package/dist/internal/index.js.map +1 -1
  10. package/docs/{15-google-generative-ai.mdx → 15-google.mdx} +847 -111
  11. package/package.json +17 -17
  12. package/src/{convert-google-generative-ai-usage.ts → convert-google-usage.ts} +9 -8
  13. package/src/convert-json-schema-to-openapi-schema.ts +1 -1
  14. package/src/convert-to-google-messages.ts +650 -0
  15. package/src/{google-generative-ai-embedding-options.ts → google-embedding-model-options.ts} +9 -2
  16. package/src/{google-generative-ai-embedding-model.ts → google-embedding-model.ts} +32 -19
  17. package/src/google-error.ts +1 -1
  18. package/src/google-files.ts +224 -0
  19. package/src/google-image-model-options.ts +35 -0
  20. package/src/{google-generative-ai-image-model.ts → google-image-model.ts} +116 -65
  21. package/src/{google-generative-ai-image-settings.ts → google-image-settings.ts} +2 -2
  22. package/src/google-json-accumulator.ts +46 -11
  23. package/src/{google-generative-ai-options.ts → google-language-model-options.ts} +79 -7
  24. package/src/{google-generative-ai-language-model.ts → google-language-model.ts} +534 -316
  25. package/src/google-prepare-tools.ts +15 -11
  26. package/src/google-prompt.ts +86 -0
  27. package/src/google-provider.ts +196 -53
  28. package/src/google-speech-api.ts +36 -0
  29. package/src/google-speech-model-options.ts +48 -0
  30. package/src/google-speech-model.ts +311 -0
  31. package/src/google-video-model-options.ts +41 -0
  32. package/src/{google-generative-ai-video-model.ts → google-video-model.ts} +149 -96
  33. package/src/{google-generative-ai-video-settings.ts → google-video-settings.ts} +2 -1
  34. package/src/index.ts +44 -9
  35. package/src/interactions/build-google-interactions-stream-transform.ts +860 -0
  36. package/src/interactions/cancel-google-interaction.ts +60 -0
  37. package/src/interactions/convert-google-interactions-usage.ts +69 -0
  38. package/src/interactions/convert-to-google-interactions-input.ts +559 -0
  39. package/src/interactions/extract-google-interactions-sources.ts +252 -0
  40. package/src/interactions/google-interactions-agent.ts +15 -0
  41. package/src/interactions/google-interactions-api.ts +554 -0
  42. package/src/interactions/google-interactions-language-model-options.ts +264 -0
  43. package/src/interactions/google-interactions-language-model.ts +767 -0
  44. package/src/interactions/google-interactions-prompt.ts +582 -0
  45. package/src/interactions/google-interactions-provider-metadata.ts +31 -0
  46. package/src/interactions/map-google-interactions-finish-reason.ts +31 -0
  47. package/src/interactions/parse-google-interactions-outputs.ts +273 -0
  48. package/src/interactions/poll-google-interactions.ts +130 -0
  49. package/src/interactions/prepare-google-interactions-tools.ts +245 -0
  50. package/src/interactions/stream-google-interactions.ts +243 -0
  51. package/src/interactions/synthesize-google-interactions-agent-stream.ts +185 -0
  52. package/src/internal/index.ts +9 -2
  53. package/src/{map-google-generative-ai-finish-reason.ts → map-google-finish-reason.ts} +3 -3
  54. package/src/realtime/google-realtime-event-mapper.ts +411 -0
  55. package/src/realtime/google-realtime-model-options.ts +23 -0
  56. package/src/realtime/google-realtime-model.ts +160 -0
  57. package/src/realtime/index.ts +6 -0
  58. package/src/tool/code-execution.ts +2 -2
  59. package/src/tool/enterprise-web-search.ts +9 -3
  60. package/src/tool/file-search.ts +31 -35
  61. package/src/tool/google-maps.ts +3 -2
  62. package/src/tool/google-search.ts +24 -27
  63. package/src/tool/url-context.ts +4 -2
  64. package/src/tool/vertex-rag-store.ts +9 -6
  65. package/dist/index.d.mts +0 -419
  66. package/dist/index.mjs +0 -3125
  67. package/dist/index.mjs.map +0 -1
  68. package/dist/internal/index.d.mts +0 -319
  69. package/dist/internal/index.mjs +0 -2314
  70. package/dist/internal/index.mjs.map +0 -1
  71. package/src/convert-to-google-generative-ai-messages.ts +0 -457
  72. package/src/google-generative-ai-prompt.ts +0 -74
package/CHANGELOG.md CHANGED
@@ -1,125 +1,965 @@
1
1
  # @ai-sdk/google
2
2
 
3
- ## 3.0.61
3
+ ## 4.0.21
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 03a04f6: feat(google-vertex): add support for streaming tool arguments input
7
+ - 7c16f21: feat(google): add `gemini-3.6-flash` and `gemini-3.5-flash-lite` models
8
8
 
9
- ## 3.0.60
9
+ ## 4.0.20
10
10
 
11
11
  ### Patch Changes
12
12
 
13
- - d42076d: Add AI Gateway hint to provider READMEs
13
+ - Updated dependencies [02ffdcb]
14
+ - Updated dependencies [76cb673]
15
+ - @ai-sdk/provider-utils@5.0.12
14
16
 
15
- ## 3.0.59
17
+ ## 4.0.19
16
18
 
17
19
  ### Patch Changes
18
20
 
19
- - 6247886: chore(provider-utils,google): fix grammar errors in error and warning messages
20
- - Updated dependencies [6247886]
21
- - @ai-sdk/provider-utils@4.0.23
21
+ - a70b027: fix(provider/google): associate multiple code execution results with their tool call
22
+ - a3ce307: fix(provider/google): surface Gemini `responseId` as `response-metadata` (stream) and `response.id` (generate)
22
23
 
23
- ## 3.0.58
24
+ ## 4.0.18
24
25
 
25
26
  ### Patch Changes
26
27
 
27
- - f20ba77: feat(provider/google): preserve per-modality token details in usage data
28
+ - Updated dependencies [cd06458]
29
+ - @ai-sdk/provider-utils@5.0.11
28
30
 
29
- ## 3.0.57
31
+ ## 4.0.17
30
32
 
31
33
  ### Patch Changes
32
34
 
33
- - 0f2b2f1: fix(provider/google): fix Gemini service tier enum after upstream update
35
+ - 5b4a299: fix(provider/google): forward Vertex-only imageConfig options (personGeneration, prominentPeople, imageOutputOptions)
34
36
 
35
- ## 3.0.56
37
+ ## 4.0.16
36
38
 
37
39
  ### Patch Changes
38
40
 
39
- - Updated dependencies [0469aed]
40
- - @ai-sdk/provider-utils@4.0.22
41
+ - 662ddfc: Allow google.interactions agent requests to include supported tools, including file_search.
41
42
 
42
- ## 3.0.55
43
+ ## 4.0.15
43
44
 
44
45
  ### Patch Changes
45
46
 
46
- - bdde9d4: feat(provider/google): support combining built-in tools with function calling on Gemini 3
47
+ - Updated dependencies [31c7be8]
48
+ - @ai-sdk/provider-utils@5.0.10
47
49
 
48
- ## 3.0.54
50
+ ## 4.0.14
49
51
 
50
52
  ### Patch Changes
51
53
 
52
- - 4e22c2c: feat(provider/google): add support for service tier parameter
54
+ - 4be62c1: fix(provider-utils): validate provider-response URLs in `getFromApi`
53
55
 
54
- ## 3.0.53
56
+ `getFromApi` now has a `validateUrl` flag. It is optional so existing callers keep compiling (omitting it behaves like `false`, i.e. no validation), but all AI SDK provider packages set it explicitly at every call site so each one makes a visible trust decision. When `true`, the URL is routed through `fetchWithValidatedRedirects` — the same guard used by `downloadBlob` — which rejects private/loopback/link-local targets, re-validates every redirect hop, strips proxy/metadata/cookie request headers, and drops all caller headers except the user-agent on cross-origin redirects (custom API-key headers must not follow a redirect off-origin any more than `Authorization` may); blocked URLs throw `DownloadError`. It is enabled at the image/video/audio download and polling call sites where the URL comes from a provider response body; URLs built from developer-configured endpoints pass `validateUrl: false` and are unaffected.
57
+
58
+ A new optional `credentialedOrigin` withholds caller headers unless the URL is same-origin with it, so the API key is not sent to a response-supplied host on a different origin.
59
+
60
+ A new optional `trustedOrigin` exempts URLs (and redirect hops) that are same-origin with the developer-configured provider endpoint from target validation, so self-hosted and localhost deployments whose response URLs point back at the configured host keep working; all other hops are still validated.
61
+
62
+ Also closes range gaps in `validateDownloadUrl` (IPv4 `224.0.0.0/4` multicast and the TEST-NET documentation ranges `192.0.2.0/24`, `198.51.100.0/24`, `203.0.113.0/24`; IPv6 documentation ranges `2001:db8::/32` and `3fff::/20`), and follows only the fetch-spec redirect status codes (301/302/303/307/308) — a `Location` header on any other status is not followed. This guard performs string/literal checks only and does not resolve DNS; hostnames that resolve to private addresses and DNS rebinding remain out of scope and must be constrained at the network layer (or by injecting a Node `fetch` that pins the resolved IP at connect time) for server deployments handling untrusted URLs. See `contributing/secure-url-handling.md`.
63
+
64
+ - Updated dependencies [4be62c1]
65
+ - Updated dependencies [7805e4a]
66
+ - Updated dependencies [cd12954]
67
+ - @ai-sdk/provider-utils@5.0.9
68
+
69
+ ## 4.0.13
70
+
71
+ ### Patch Changes
72
+
73
+ - Updated dependencies [e193290]
74
+ - @ai-sdk/provider-utils@5.0.8
75
+
76
+ ## 4.0.12
77
+
78
+ ### Patch Changes
79
+
80
+ - e40118c: Forward text file references as documents when using the Google Interactions API.
81
+
82
+ ## 4.0.11
83
+
84
+ ### Patch Changes
85
+
86
+ - 17d66c5: Fix Google tool result conversion to send file data as inline data instead of JSON text on the legacy tool-result path.
87
+ - 96d40bc: Expand standalone Google `threshold` provider options into safety settings.
88
+ - 0f93c57: feat (video): support video (not just image) reference inputs in `inputReferences` for reference-to-video generation
89
+ - Updated dependencies [0f93c57]
90
+ - @ai-sdk/provider@4.0.3
91
+ - @ai-sdk/provider-utils@5.0.7
92
+
93
+ ## 4.0.10
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies [ac306ed]
98
+ - @ai-sdk/provider-utils@5.0.6
99
+
100
+ ## 4.0.9
101
+
102
+ ### Patch Changes
103
+
104
+ - 7401c2c: Pass documented Gemini external HTTPS file URLs through without downloading them.
105
+
106
+ ## 4.0.8
107
+
108
+ ### Patch Changes
109
+
110
+ - 5c5c0f5: Add experimental streaming transcription support for transcription models, including OpenAI `gpt-realtime-whisper` and xAI WebSocket STT.
111
+ - Updated dependencies [5c5c0f5]
112
+ - @ai-sdk/provider@4.0.2
113
+ - @ai-sdk/provider-utils@5.0.5
114
+
115
+ ## 4.0.7
116
+
117
+ ### Patch Changes
118
+
119
+ - c6f5e62: Prevent prototype pollution when synchronously parsing provider JSON inputs and expose `secureJsonParse` from provider-utils.
120
+ - bd8d172: Fix Google embedding batch size to respect the Gemini API limit of 100 requests per batch.
121
+ - Updated dependencies [c6f5e62]
122
+ - @ai-sdk/provider-utils@5.0.4
123
+
124
+ ## 4.0.6
125
+
126
+ ### Patch Changes
127
+
128
+ - d20f0dc: Add `vertex.interactions()` for the Gemini Interactions API on Vertex AI. Targets the location-scoped `.../locations/{region}/interactions` resource using the existing Vertex OAuth credentials, enabling multimodal-output models such as `gemini-omni-flash-preview` (video output) through Vertex. The `GoogleInteractionsLanguageModel` is now exported from `@ai-sdk/google/internal` for provider reuse.
129
+
130
+ ## 4.0.5
131
+
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [8c616f0]
135
+ - @ai-sdk/provider-utils@5.0.3
136
+
137
+ ## 4.0.4
138
+
139
+ ### Patch Changes
140
+
141
+ - dc1eb8d: Support Gemini Interactions video output. Parse video output blocks from the Google Interactions API into file parts (buffered and streaming), and surface the per-modality output token breakdown via `providerMetadata.google.outputTokensByModality`.
142
+
143
+ ## 4.0.3
144
+
145
+ ### Patch Changes
146
+
147
+ - 0274f34: feat (video): add first-class `frameImages` and `inputReferences` call options for video generation
148
+ - Updated dependencies [0274f34]
149
+ - @ai-sdk/provider@4.0.1
150
+ - @ai-sdk/provider-utils@5.0.2
151
+
152
+ ## 4.0.2
153
+
154
+ ### Patch Changes
155
+
156
+ - Updated dependencies [6a436e3]
157
+ - @ai-sdk/provider-utils@5.0.1
158
+
159
+ ## 4.0.1
160
+
161
+ ### Patch Changes
162
+
163
+ - ba6d510: chore: fix deprecated use of zod `.passthrough()`
164
+
165
+ ## 4.0.0
166
+
167
+ ### Major Changes
168
+
169
+ - a3757d7: chore(provider/google): remove useless GenerativeAI affix from types and classes for consistency
170
+ - f7d4f01: feat(provider): add support for `reasoning-file` type for files that are part of reasoning
171
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
172
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
173
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
174
+ - 8359612: Start v7 pre-release
175
+ - 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
176
+
177
+ For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
178
+
179
+ ### Patch Changes
180
+
181
+ - 7f04802: feat(provider/google): add support for managed agents in the Interactions API
182
+ - 38fc777: Add AI Gateway hint to provider READMEs
183
+ - b71c0d7: feat(provider/google): support Google search grounding when using `generateImage` with Gemini
184
+ - 6190649: chore(provider/google): remove obsolete Google image model
185
+ - 55db546: fix(provider/google): fix Gemini service tier enum after upstream update
186
+ - 9a0a618: fix(google): fix `serviceTier` to be correctly formatted for Vertex API
187
+ - 00a0f36: feat(google, google-vertex): added `gemini-embedding-2`, `deep-research-max-preview-04-2026` and `deep-research-preview-04-2026`
188
+ - 9715ec7: feat(provider/google): add support for service tier parameter
189
+ - 41da50c: fix(provider/google): support `functionCall.id` when returned by Gemini API and provide matching `functionResponse.id`
190
+ - add4326: fix(provider/google): correct JSDoc for multimodal embedding content option
191
+ - a8d70b6: fix(google): auto-inject `skip_thought_signature_validator` for Gemini 3 tool-call replays without a signature
192
+ - 947cdab: Add Google realtime Live Translation provider options for `gemini-3.5-live-translate-preview`.
193
+ - 4e825f3: feat(google): update Interactions API implementation to cater for upstream breaking changes coming May 26
194
+ - b563707: feat(provider/google): add Gemini text-to-speech (speech) model support
195
+ - a05109d: feat(provider/google): preserve per-modality token details in usage data
196
+ - cfca634: fix(google): emit Vertex no-args streaming tool calls and preserve thoughtSignature
197
+
198
+ Vertex emits a no-args function call as a single chunk shaped `{ functionCall: { name: 'X' } }` with no `args`, no `partialArgs`, and no `willContinue`. The streaming parser had no branch for this shape, so the call was dropped along with any `thoughtSignature` it carried. For Gemini 3 thinking models this caused the next multi-turn step to 400 with `missing thought_signature`. The unary (`doGenerate`) path had the same drop.
199
+
200
+ Both paths now emit the call as a complete tool call with `'{}'` input and propagate `thoughtSignature` provider metadata.
201
+
202
+ Fixes #14847.
203
+
204
+ - c9c4661: fix(provider/google): preserve groundingMetadata and urlContextMetadata when they arrive in a stream chunk before the finishReason chunk
205
+ - 045d2e8: fix(google): read `serviceTier` from `usageMetadata.serviceTier` in both generate and stream paths
206
+
207
+ The previous implementation read `serviceTier` from the `x-gemini-service-tier`
208
+ response header, which is only populated on non-streaming responses. Gemini
209
+ streaming includes the value in `usageMetadata.serviceTier` on every chunk, so
210
+ `providerMetadata.google.serviceTier` was always `null` for streams. Read from
211
+ `usageMetadata` for both paths instead.
212
+
213
+ - 19b95f9: fix(google): use VALIDATED function calling mode when any tool has strict:true
214
+ - 2ce3c65: feat(provider/google-vertex): add Gemini text-to-speech (speech) model support
215
+ - 5878b40: fix(google): prevent prototype pollution when streaming tool args
216
+ - 46d1149: chore(provider-utils,google): fix grammar errors in error and warning messages
217
+ - 6a26901: feat(google): add `fileData` support to embedding model
218
+ - 01fa606: feat(provider/google): support combining built-in tools with function calling on Gemini 3
219
+ - 5036db8: feat(google-vertex): add support for streaming tool arguments input
220
+ - 9f0e36c: trigger release for all packages after provenance setup
221
+ - a2609df: fix(google): fix streaming tool call args
222
+ - ab43029: feat(provider/google): support multimodal content parts in embedding provider options
223
+ - 82288b0: feat(provider/google): add `gemini-embedding-2-preview` and fix multimodal embedding support with `embedMany`
224
+ - b04e23e: feat(provider/google): add support for the Gemini Interactions API
225
+ - 58a2ad7: fix: more precise default message for tool execution denial
226
+ - e59176c: chore(google): update v3 specs to v4
227
+ - ebbb0f2: fix(provider/google): fix lack of image consistency when using Interactions API in stateless mode
228
+ - aeda373: fix: only send provider credentials to same-origin response-supplied URLs
229
+
230
+ Several provider clients followed a URL taken from the provider's API response (a polling/status URL or a final media URL such as `polling_url`, `urls.get`, `result_url`, `result.sample`, or `video.uri`) and reused the authenticated headers — or appended `?key=<API_KEY>` — on that request. Because the host of the response-supplied URL was never validated, the long-lived API key was sent to whatever host the response named (a CDN in the benign case, or an attacker-chosen host if the provider response was tampered with), allowing credential exfiltration.
231
+
232
+ A new `isSameOrigin` helper is added to `@ai-sdk/provider-utils`, and the affected fetches in `@ai-sdk/black-forest-labs`, `@ai-sdk/fireworks`, `@ai-sdk/replicate`, `@ai-sdk/gladia`, `@ai-sdk/fal`, and `@ai-sdk/google` now attach credentials only when the followed URL is same-origin with the provider's configured API origin. Requests to a foreign origin are made without the credential.
233
+
234
+ - 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
235
+ - 0c4c275: trigger initial canary release
236
+ - bdb9ea1: chore(google): remove now obsolete Interactions API `Api-Revision` header
237
+ - db394ab: feat(provider/google): support cancelling long-running Interactions API agents via AbortSignal, and process their intermittent stream
238
+ - ce769dd: feat(provider): add experimental Realtime API support for voice conversations
239
+
240
+ Adds first-class support for realtime (speech-to-speech) APIs:
241
+
242
+ - `Experimental_RealtimeModelV4` spec in `@ai-sdk/provider` with normalized event types and factory
243
+ - OpenAI, Google, and xAI realtime provider implementations
244
+ - `openai.experimental_realtime()` / `google.experimental_realtime()` / `xai.experimental_realtime()` work in both server and browser
245
+ - `.getToken()` static method on each provider for server-side ephemeral token creation
246
+ - `experimental_getRealtimeToolDefinitions` helper for provider session tool definitions
247
+ - `experimental_useRealtime` hook in `@ai-sdk/react` returning `UIMessage[]` (aligned with `useChat`), with `onToolCall` and `addToolOutput` for client-driven tool execution
248
+ - `inputAudioTranscription` session config for showing transcribed user audio messages when supported by the provider
249
+
250
+ - 5b7e7c2: fix(google-vertex): don't send streamFunctionCallArguments for unary API calls and change default to false
251
+ - 2edd14e: fix(provider/google): correctly mark reasoning files as such and fix related multi-turn errors
252
+ - 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
253
+ - 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
254
+ - 546cefe: feat(provider/google): add `gemini-3.5-flash`
255
+ - 5463d0d: feat(provider): align tool result output content file part types with top-level message file part types
256
+ - 55f0938: chore(provider/google): update available models
257
+ - b8396f0: trigger initial beta release
258
+ - 84f36e0: fix(google): omit passing includeServerSideToolInvocations for Vertex tool_config
259
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
260
+ - 4dac142: feat(google): add new finishMessage field in providerMetadata
261
+ - aeea161: feat(google): read `serviceTier` from `x-gemini-service-tier` response header in Gemini API and use PayGo for Vertex
262
+ - 18c1970: feat(provider/google): Add multimodal tool-result support for Google function responses.
263
+
264
+ Tool results with `output.type = 'content'` now map media parts into
265
+ `functionResponse.parts` for Google models, including `image-data`,
266
+ `file-data`, and base64 `data:` URLs in URL-style content parts.
267
+ Remote HTTP(S) URLs in URL-style tool-result parts are not supported.
268
+
269
+ - b3976a2: Add workflow serialization support to all provider models.
270
+
271
+ **`@ai-sdk/provider-utils`:** New `serializeModel()` helper that extracts only serializable properties from a model instance, filtering out functions and objects containing functions. Third-party provider authors can use this to add workflow support to their own models.
272
+
273
+ **All providers:** `headers` is now optional in provider config types. This is non-breaking — existing code that passes `headers` continues to work. Custom provider implementations that construct model configs manually can now omit `headers`, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.
274
+
275
+ All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
276
+
277
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
278
+
279
+ ## 4.0.0-beta.85
280
+
281
+ ### Patch Changes
282
+
283
+ - Updated dependencies [0416e3e]
284
+ - @ai-sdk/provider@4.0.0-beta.20
285
+ - @ai-sdk/provider-utils@5.0.0-beta.50
286
+
287
+ ## 4.0.0-beta.84
288
+
289
+ ### Patch Changes
290
+
291
+ - 947cdab: Add Google realtime Live Translation provider options for `gemini-3.5-live-translate-preview`.
292
+
293
+ ## 4.0.0-beta.83
294
+
295
+ ### Patch Changes
296
+
297
+ - bdb9ea1: chore(google): remove now obsolete Interactions API `Api-Revision` header
298
+
299
+ ## 4.0.0-beta.82
300
+
301
+ ### Patch Changes
302
+
303
+ - b8396f0: trigger initial beta release
304
+ - Updated dependencies [b8396f0]
305
+ - @ai-sdk/provider-utils@5.0.0-beta.49
306
+ - @ai-sdk/provider@4.0.0-beta.19
307
+
308
+ ## 4.0.0-canary.81
309
+
310
+ ### Patch Changes
311
+
312
+ - 5878b40: fix(google): prevent prototype pollution when streaming tool args
313
+ - aeda373: fix: only send provider credentials to same-origin response-supplied URLs
314
+
315
+ Several provider clients followed a URL taken from the provider's API response (a polling/status URL or a final media URL such as `polling_url`, `urls.get`, `result_url`, `result.sample`, or `video.uri`) and reused the authenticated headers — or appended `?key=<API_KEY>` — on that request. Because the host of the response-supplied URL was never validated, the long-lived API key was sent to whatever host the response named (a CDN in the benign case, or an attacker-chosen host if the provider response was tampered with), allowing credential exfiltration.
316
+
317
+ A new `isSameOrigin` helper is added to `@ai-sdk/provider-utils`, and the affected fetches in `@ai-sdk/black-forest-labs`, `@ai-sdk/fireworks`, `@ai-sdk/replicate`, `@ai-sdk/gladia`, `@ai-sdk/fal`, and `@ai-sdk/google` now attach credentials only when the followed URL is same-origin with the provider's configured API origin. Requests to a foreign origin are made without the credential.
318
+
319
+ - Updated dependencies [aeda373]
320
+ - Updated dependencies [375fdd7]
321
+ - Updated dependencies [b4507d5]
322
+ - @ai-sdk/provider-utils@5.0.0-canary.48
323
+
324
+ ## 4.0.0-canary.80
325
+
326
+ ### Patch Changes
327
+
328
+ - Updated dependencies [bae5e2b]
329
+ - @ai-sdk/provider-utils@5.0.0-canary.47
330
+
331
+ ## 4.0.0-canary.79
332
+
333
+ ### Patch Changes
334
+
335
+ - ce769dd: feat(provider): add experimental Realtime API support for voice conversations
336
+
337
+ Adds first-class support for realtime (speech-to-speech) APIs:
338
+
339
+ - `Experimental_RealtimeModelV4` spec in `@ai-sdk/provider` with normalized event types and factory
340
+ - OpenAI, Google, and xAI realtime provider implementations
341
+ - `openai.experimental_realtime()` / `google.experimental_realtime()` / `xai.experimental_realtime()` work in both server and browser
342
+ - `.getToken()` static method on each provider for server-side ephemeral token creation
343
+ - `experimental_getRealtimeToolDefinitions` helper for provider session tool definitions
344
+ - `experimental_useRealtime` hook in `@ai-sdk/react` returning `UIMessage[]` (aligned with `useChat`), with `onToolCall` and `addToolOutput` for client-driven tool execution
345
+ - `inputAudioTranscription` session config for showing transcribed user audio messages when supported by the provider
346
+
347
+ - Updated dependencies [ce769dd]
348
+ - @ai-sdk/provider@4.0.0-canary.18
349
+ - @ai-sdk/provider-utils@5.0.0-canary.46
350
+
351
+ ## 4.0.0-canary.78
352
+
353
+ ### Patch Changes
354
+
355
+ - 2ce3c65: feat(provider/google-vertex): add Gemini text-to-speech (speech) model support
356
+
357
+ ## 4.0.0-canary.77
358
+
359
+ ### Patch Changes
360
+
361
+ - Updated dependencies [ee798eb]
362
+ - Updated dependencies [daf6637]
363
+ - @ai-sdk/provider-utils@5.0.0-canary.45
364
+
365
+ ## 4.0.0-canary.76
366
+
367
+ ### Patch Changes
368
+
369
+ - b563707: feat(provider/google): add Gemini text-to-speech (speech) model support
370
+
371
+ ## 4.0.0-canary.75
372
+
373
+ ### Patch Changes
374
+
375
+ - 00a0f36: feat(google, google-vertex): added `gemini-embedding-2`, `deep-research-max-preview-04-2026` and `deep-research-preview-04-2026`
376
+
377
+ ## 4.0.0-canary.74
378
+
379
+ ### Patch Changes
380
+
381
+ - a8d70b6: fix(google): auto-inject `skip_thought_signature_validator` for Gemini 3 tool-call replays without a signature
382
+
383
+ ## 4.0.0-canary.73
384
+
385
+ ### Patch Changes
386
+
387
+ - Updated dependencies [6c93e36]
388
+ - Updated dependencies [f617ac2]
389
+ - @ai-sdk/provider-utils@5.0.0-canary.44
390
+
391
+ ## 4.0.0-canary.72
392
+
393
+ ### Patch Changes
394
+
395
+ - b71c0d7: feat(provider/google): support Google search grounding when using `generateImage` with Gemini
396
+
397
+ ## 4.0.0-canary.71
398
+
399
+ ### Patch Changes
400
+
401
+ - 045d2e8: fix(google): read `serviceTier` from `usageMetadata.serviceTier` in both generate and stream paths
402
+
403
+ The previous implementation read `serviceTier` from the `x-gemini-service-tier`
404
+ response header, which is only populated on non-streaming responses. Gemini
405
+ streaming includes the value in `usageMetadata.serviceTier` on every chunk, so
406
+ `providerMetadata.google.serviceTier` was always `null` for streams. Read from
407
+ `usageMetadata` for both paths instead.
408
+
409
+ ## 4.0.0-canary.70
410
+
411
+ ### Patch Changes
412
+
413
+ - aeea161: feat(google): read `serviceTier` from `x-gemini-service-tier` response header in Gemini API and use PayGo for Vertex
414
+
415
+ ## 4.0.0-canary.69
416
+
417
+ ### Patch Changes
418
+
419
+ - 7f04802: feat(provider/google): add support for managed agents in the Interactions API
420
+
421
+ ## 4.0.0-canary.68
422
+
423
+ ### Patch Changes
424
+
425
+ - a2609df: fix(google): fix streaming tool call args
426
+ - 546cefe: feat(provider/google): add `gemini-3.5-flash`
427
+
428
+ ## 4.0.0-canary.67
429
+
430
+ ### Patch Changes
431
+
432
+ - 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
433
+ - Updated dependencies [7fc6bd6]
434
+ - @ai-sdk/provider-utils@5.0.0-canary.43
435
+ - @ai-sdk/provider@4.0.0-canary.17
436
+
437
+ ## 4.0.0-canary.66
438
+
439
+ ### Patch Changes
440
+
441
+ - Updated dependencies [a6617c5]
442
+ - @ai-sdk/provider-utils@5.0.0-canary.42
443
+
444
+ ## 4.0.0-canary.65
445
+
446
+ ### Patch Changes
447
+
448
+ - 4e825f3: feat(google): update Interactions API implementation to cater for upstream breaking changes coming May 26
449
+
450
+ ## 4.0.0-canary.64
451
+
452
+ ### Patch Changes
453
+
454
+ - 41da50c: fix(provider/google): support `functionCall.id` when returned by Gemini API and provide matching `functionResponse.id`
455
+
456
+ ## 4.0.0-canary.63
457
+
458
+ ### Patch Changes
459
+
460
+ - Updated dependencies [28dfa06]
461
+ - Updated dependencies [e93fa91]
462
+ - @ai-sdk/provider-utils@5.0.0-canary.41
463
+
464
+ ## 4.0.0-canary.62
465
+
466
+ ### Patch Changes
467
+
468
+ - Updated dependencies [a7de9c9]
469
+ - @ai-sdk/provider-utils@5.0.0-canary.40
470
+
471
+ ## 4.0.0-canary.61
472
+
473
+ ### Patch Changes
474
+
475
+ - Updated dependencies [105f95b]
476
+ - @ai-sdk/provider-utils@5.0.0-canary.39
477
+
478
+ ## 4.0.0-canary.60
479
+
480
+ ### Patch Changes
481
+
482
+ - 6a26901: feat(google): add `fileData` support to embedding model
483
+
484
+ ## 4.0.0-canary.59
485
+
486
+ ### Patch Changes
487
+
488
+ - db394ab: feat(provider/google): support cancelling long-running Interactions API agents via AbortSignal, and process their intermittent stream
489
+ - Updated dependencies [ca446f8]
490
+ - @ai-sdk/provider-utils@5.0.0-canary.38
491
+
492
+ ## 4.0.0-canary.58
493
+
494
+ ### Patch Changes
495
+
496
+ - Updated dependencies [d848405]
497
+ - @ai-sdk/provider-utils@5.0.0-canary.37
498
+
499
+ ## 4.0.0-canary.57
500
+
501
+ ### Patch Changes
502
+
503
+ - Updated dependencies [ca39020]
504
+ - @ai-sdk/provider-utils@5.0.0-canary.36
505
+
506
+ ## 4.0.0-canary.56
507
+
508
+ ### Patch Changes
509
+
510
+ - Updated dependencies [f634bac]
511
+ - @ai-sdk/provider-utils@5.0.0-canary.35
512
+
513
+ ## 4.0.0-canary.55
514
+
515
+ ### Patch Changes
516
+
517
+ - ebbb0f2: fix(provider/google): fix lack of image consistency when using Interactions API in stateless mode
518
+ - Updated dependencies [69254e0]
519
+ - Updated dependencies [3015fc3]
520
+ - @ai-sdk/provider-utils@5.0.0-canary.34
521
+
522
+ ## 4.0.0-canary.54
523
+
524
+ ### Patch Changes
525
+
526
+ - b04e23e: feat(provider/google): add support for the Gemini Interactions API
527
+
528
+ ## 4.0.0-canary.53
529
+
530
+ ### Patch Changes
531
+
532
+ - Updated dependencies [2427d88]
533
+ - @ai-sdk/provider-utils@5.0.0-canary.33
534
+
535
+ ## 4.0.0-canary.52
536
+
537
+ ### Patch Changes
538
+
539
+ - cfca634: fix(google): emit Vertex no-args streaming tool calls and preserve thoughtSignature
540
+
541
+ Vertex emits a no-args function call as a single chunk shaped `{ functionCall: { name: 'X' } }` with no `args`, no `partialArgs`, and no `willContinue`. The streaming parser had no branch for this shape, so the call was dropped along with any `thoughtSignature` it carried. For Gemini 3 thinking models this caused the next multi-turn step to 400 with `missing thought_signature`. The unary (`doGenerate`) path had the same drop.
542
+
543
+ Both paths now emit the call as a complete tool call with `'{}'` input and propagate `thoughtSignature` provider metadata.
544
+
545
+ Fixes #14847.
546
+
547
+ ## 4.0.0-canary.51
548
+
549
+ ### Patch Changes
550
+
551
+ - 5463d0d: feat(provider): align tool result output content file part types with top-level message file part types
552
+ - Updated dependencies [5463d0d]
553
+ - @ai-sdk/provider-utils@5.0.0-canary.32
554
+ - @ai-sdk/provider@4.0.0-canary.16
555
+
556
+ ## 4.0.0-canary.50
557
+
558
+ ### Patch Changes
559
+
560
+ - 0c4c275: trigger initial canary release
561
+ - Updated dependencies [0c4c275]
562
+ - @ai-sdk/provider-utils@5.0.0-canary.31
563
+ - @ai-sdk/provider@4.0.0-canary.15
564
+
565
+ ## 4.0.0-beta.49
566
+
567
+ ### Major Changes
568
+
569
+ - 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
570
+
571
+ For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
572
+
573
+ ### Patch Changes
574
+
575
+ - Updated dependencies [08d2129]
576
+ - @ai-sdk/provider-utils@5.0.0-beta.30
577
+
578
+ ## 4.0.0-beta.48
579
+
580
+ ### Patch Changes
581
+
582
+ - 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
583
+ - 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
584
+ - Updated dependencies [9bd6512]
585
+ - Updated dependencies [258c093]
586
+ - Updated dependencies [b6783da]
587
+ - @ai-sdk/provider-utils@5.0.0-beta.29
588
+ - @ai-sdk/provider@4.0.0-beta.14
589
+
590
+ ## 4.0.0-beta.47
591
+
592
+ ### Patch Changes
593
+
594
+ - 9f0e36c: trigger release for all packages after provenance setup
595
+ - Updated dependencies [9f0e36c]
596
+ - @ai-sdk/provider@4.0.0-beta.13
597
+ - @ai-sdk/provider-utils@5.0.0-beta.28
598
+
599
+ ## 4.0.0-beta.46
600
+
601
+ ### Patch Changes
602
+
603
+ - 58a2ad7: fix: more precise default message for tool execution denial
604
+ - 84f36e0: fix(google): omit passing includeServerSideToolInvocations for Vertex tool_config
605
+ - Updated dependencies [785fe16]
606
+ - Updated dependencies [67df0a0]
607
+ - Updated dependencies [befb78c]
608
+ - Updated dependencies [0458559]
609
+ - Updated dependencies [5852c0a]
610
+ - Updated dependencies [fc92055]
611
+ - @ai-sdk/provider-utils@5.0.0-beta.27
612
+
613
+ ## 4.0.0-beta.45
614
+
615
+ ### Major Changes
616
+
617
+ - a3757d7: chore(provider/google): remove useless GenerativeAI affix from types and classes for consistency
618
+
619
+ ### Patch Changes
620
+
621
+ - Updated dependencies [2e98477]
622
+ - @ai-sdk/provider-utils@5.0.0-beta.26
623
+
624
+ ## 4.0.0-beta.44
55
625
 
56
626
  ### Patch Changes
57
627
 
58
- - 2e5adff: chore(provider/google): remove obsolete Google image model
628
+ - Updated dependencies [eea8d98]
629
+ - @ai-sdk/provider-utils@5.0.0-beta.25
59
630
 
60
- ## 3.0.52
631
+ ## 4.0.0-beta.43
61
632
 
62
633
  ### Patch Changes
63
634
 
64
- - 055cd68: fix: publish v6 to latest npm dist tag
65
- - 47114a3: feat(provider/google): Add multimodal tool-result support for Google function responses.
635
+ - Updated dependencies [f807e45]
636
+ - @ai-sdk/provider-utils@5.0.0-beta.24
637
+
638
+ ## 4.0.0-beta.42
639
+
640
+ ### Patch Changes
641
+
642
+ - Updated dependencies [350ea38]
643
+ - @ai-sdk/provider-utils@5.0.0-beta.23
644
+
645
+ ## 4.0.0-beta.41
646
+
647
+ ### Patch Changes
648
+
649
+ - Updated dependencies [083947b]
650
+ - @ai-sdk/provider-utils@5.0.0-beta.22
651
+
652
+ ## 4.0.0-beta.40
653
+
654
+ ### Patch Changes
655
+
656
+ - 55f0938: chore(provider/google): update available models
657
+
658
+ ## 4.0.0-beta.39
659
+
660
+ ### Patch Changes
661
+
662
+ - Updated dependencies [add1126]
663
+ - @ai-sdk/provider-utils@5.0.0-beta.21
664
+
665
+ ## 4.0.0-beta.38
666
+
667
+ ### Patch Changes
668
+
669
+ - b3976a2: Add workflow serialization support to all provider models.
670
+
671
+ **`@ai-sdk/provider-utils`:** New `serializeModel()` helper that extracts only serializable properties from a model instance, filtering out functions and objects containing functions. Third-party provider authors can use this to add workflow support to their own models.
672
+
673
+ **All providers:** `headers` is now optional in provider config types. This is non-breaking — existing code that passes `headers` continues to work. Custom provider implementations that construct model configs manually can now omit `headers`, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.
674
+
675
+ All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
676
+
677
+ - ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
678
+ - Updated dependencies [b3976a2]
679
+ - Updated dependencies [ff5eba1]
680
+ - @ai-sdk/provider-utils@5.0.0-beta.20
681
+ - @ai-sdk/provider@4.0.0-beta.12
682
+
683
+ ## 4.0.0-beta.37
684
+
685
+ ### Major Changes
686
+
687
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
688
+
689
+ ### Patch Changes
690
+
691
+ - Updated dependencies [ef992f8]
692
+ - @ai-sdk/provider@4.0.0-beta.11
693
+ - @ai-sdk/provider-utils@5.0.0-beta.19
694
+
695
+ ## 4.0.0-beta.36
696
+
697
+ ### Patch Changes
698
+
699
+ - 9a0a618: fix(google): fix `serviceTier` to be correctly formatted for Vertex API
700
+
701
+ ## 4.0.0-beta.35
702
+
703
+ ### Patch Changes
704
+
705
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
706
+ - Updated dependencies [90e2d8a]
707
+ - @ai-sdk/provider-utils@5.0.0-beta.18
708
+
709
+ ## 4.0.0-beta.34
710
+
711
+ ### Patch Changes
712
+
713
+ - 5b7e7c2: fix(google-vertex): don't send streamFunctionCallArguments for unary API calls and change default to false
714
+
715
+ ## 4.0.0-beta.33
716
+
717
+ ### Patch Changes
718
+
719
+ - Updated dependencies [3ae1786]
720
+ - @ai-sdk/provider-utils@5.0.0-beta.17
721
+
722
+ ## 4.0.0-beta.32
723
+
724
+ ### Patch Changes
725
+
726
+ - 5036db8: feat(google-vertex): add support for streaming tool arguments input
727
+
728
+ ## 4.0.0-beta.31
729
+
730
+ ### Patch Changes
731
+
732
+ - Updated dependencies [176466a]
733
+ - @ai-sdk/provider@4.0.0-beta.10
734
+ - @ai-sdk/provider-utils@5.0.0-beta.16
735
+
736
+ ## 4.0.0-beta.30
737
+
738
+ ### Patch Changes
739
+
740
+ - Updated dependencies [e311194]
741
+ - @ai-sdk/provider@4.0.0-beta.9
742
+ - @ai-sdk/provider-utils@5.0.0-beta.15
743
+
744
+ ## 4.0.0-beta.29
745
+
746
+ ### Patch Changes
747
+
748
+ - Updated dependencies [34bd95d]
749
+ - Updated dependencies [008271d]
750
+ - @ai-sdk/provider@4.0.0-beta.8
751
+ - @ai-sdk/provider-utils@5.0.0-beta.14
752
+
753
+ ## 4.0.0-beta.28
754
+
755
+ ### Patch Changes
756
+
757
+ - Updated dependencies [b0c2869]
758
+ - Updated dependencies [7e26e81]
759
+ - @ai-sdk/provider-utils@5.0.0-beta.13
760
+
761
+ ## 4.0.0-beta.27
762
+
763
+ ### Patch Changes
764
+
765
+ - 46d1149: chore(provider-utils,google): fix grammar errors in error and warning messages
766
+ - Updated dependencies [46d1149]
767
+ - @ai-sdk/provider-utils@5.0.0-beta.12
768
+
769
+ ## 4.0.0-beta.26
770
+
771
+ ### Patch Changes
772
+
773
+ - a05109d: feat(provider/google): preserve per-modality token details in usage data
774
+
775
+ ## 4.0.0-beta.25
776
+
777
+ ### Patch Changes
778
+
779
+ - Updated dependencies [6fd51c0]
780
+ - @ai-sdk/provider-utils@5.0.0-beta.11
781
+ - @ai-sdk/provider@4.0.0-beta.7
782
+
783
+ ## 4.0.0-beta.24
784
+
785
+ ### Patch Changes
786
+
787
+ - 55db546: fix(provider/google): fix Gemini service tier enum after upstream update
788
+
789
+ ## 4.0.0-beta.23
790
+
791
+ ### Patch Changes
792
+
793
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
794
+ - Updated dependencies [c29a26f]
795
+ - @ai-sdk/provider-utils@5.0.0-beta.10
796
+ - @ai-sdk/provider@4.0.0-beta.6
797
+
798
+ ## 4.0.0-beta.22
799
+
800
+ ### Patch Changes
801
+
802
+ - 38fc777: Add AI Gateway hint to provider READMEs
803
+
804
+ ## 4.0.0-beta.21
805
+
806
+ ### Patch Changes
807
+
808
+ - Updated dependencies [2e17091]
809
+ - @ai-sdk/provider-utils@5.0.0-beta.9
810
+
811
+ ## 4.0.0-beta.20
812
+
813
+ ### Patch Changes
814
+
815
+ - Updated dependencies [986c6fd]
816
+ - Updated dependencies [493295c]
817
+ - @ai-sdk/provider-utils@5.0.0-beta.8
818
+
819
+ ## 4.0.0-beta.19
820
+
821
+ ### Patch Changes
822
+
823
+ - 01fa606: feat(provider/google): support combining built-in tools with function calling on Gemini 3
824
+
825
+ ## 4.0.0-beta.18
826
+
827
+ ### Patch Changes
828
+
829
+ - 9715ec7: feat(provider/google): add support for service tier parameter
830
+
831
+ ## 4.0.0-beta.17
832
+
833
+ ### Patch Changes
834
+
835
+ - Updated dependencies [1f509d4]
836
+ - @ai-sdk/provider-utils@5.0.0-beta.7
837
+ - @ai-sdk/provider@4.0.0-beta.5
838
+
839
+ ## 4.0.0-beta.16
840
+
841
+ ### Patch Changes
842
+
843
+ - 6190649: chore(provider/google): remove obsolete Google image model
844
+
845
+ ## 4.0.0-beta.15
846
+
847
+ ### Patch Changes
848
+
849
+ - 18c1970: feat(provider/google): Add multimodal tool-result support for Google function responses.
66
850
 
67
851
  Tool results with `output.type = 'content'` now map media parts into
68
852
  `functionResponse.parts` for Google models, including `image-data`,
69
853
  `file-data`, and base64 `data:` URLs in URL-style content parts.
70
854
  Remote HTTP(S) URLs in URL-style tool-result parts are not supported.
71
855
 
72
- - Updated dependencies [055cd68]
73
- - @ai-sdk/provider-utils@4.0.21
856
+ ## 4.0.0-beta.14
857
+
858
+ ### Patch Changes
859
+
860
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
861
+ - Updated dependencies [3887c70]
862
+ - @ai-sdk/provider-utils@5.0.0-beta.6
863
+ - @ai-sdk/provider@4.0.0-beta.4
864
+
865
+ ## 4.0.0-beta.13
866
+
867
+ ### Patch Changes
868
+
869
+ - Updated dependencies [776b617]
870
+ - @ai-sdk/provider-utils@5.0.0-beta.5
871
+ - @ai-sdk/provider@4.0.0-beta.3
872
+
873
+ ## 4.0.0-beta.12
874
+
875
+ ### Patch Changes
876
+
877
+ - Updated dependencies [61753c3]
878
+ - @ai-sdk/provider-utils@5.0.0-beta.4
879
+
880
+ ## 4.0.0-beta.11
881
+
882
+ ### Patch Changes
883
+
884
+ - f7d4f01: feat(provider): add support for `reasoning-file` type for files that are part of reasoning
885
+ - Updated dependencies [f7d4f01]
886
+ - @ai-sdk/provider-utils@5.0.0-beta.3
887
+ - @ai-sdk/provider@4.0.0-beta.2
888
+
889
+ ## 4.0.0-beta.10
890
+
891
+ ### Patch Changes
892
+
893
+ - Updated dependencies [5c2a5a2]
894
+ - @ai-sdk/provider@4.0.0-beta.1
895
+ - @ai-sdk/provider-utils@5.0.0-beta.2
74
896
 
75
- ## 3.0.51
897
+ ## 4.0.0-beta.9
76
898
 
77
899
  ### Patch Changes
78
900
 
79
- - 8901054: feat(google): add new finishMessage field in providerMetadata
901
+ - e59176c: chore(google): update v3 specs to v4
80
902
 
81
- ## 3.0.50
903
+ ## 4.0.0-beta.8
82
904
 
83
905
  ### Patch Changes
84
906
 
85
- - 5ffb1ad: feat(provider/google): add `gemini-embedding-2-preview` and fix multimodal embedding support with `embedMany`
907
+ - 4dac142: feat(google): add new finishMessage field in providerMetadata
86
908
 
87
- ## 3.0.49
909
+ ## 4.0.0-beta.7
88
910
 
89
911
  ### Patch Changes
90
912
 
91
- - 85f4bb4: fix(provider/google): correct JSDoc for multimodal embedding content option
913
+ - 82288b0: feat(provider/google): add `gemini-embedding-2-preview` and fix multimodal embedding support with `embedMany`
92
914
 
93
- ## 3.0.48
915
+ ## 4.0.0-beta.6
94
916
 
95
917
  ### Patch Changes
96
918
 
97
- - 35c46d1: feat(provider/google): support multimodal content parts in embedding provider options
919
+ - add4326: fix(provider/google): correct JSDoc for multimodal embedding content option
98
920
 
99
- ## 3.0.47
921
+ ## 4.0.0-beta.5
100
922
 
101
923
  ### Patch Changes
102
924
 
103
- - 9d46b93: fix(provider/google): correctly mark reasoning files as such and fix related multi-turn errors
925
+ - ab43029: feat(provider/google): support multimodal content parts in embedding provider options
104
926
 
105
- ## 3.0.46
927
+ ## 4.0.0-beta.4
106
928
 
107
929
  ### Patch Changes
108
930
 
109
- - Updated dependencies [64ac0fd]
110
- - @ai-sdk/provider-utils@4.0.20
931
+ - 2edd14e: fix(provider/google): correctly mark reasoning files as such and fix related multi-turn errors
111
932
 
112
- ## 3.0.45
933
+ ## 4.0.0-beta.3
113
934
 
114
935
  ### Patch Changes
115
936
 
116
- - e2a59ef: fix(provider/google): preserve groundingMetadata and urlContextMetadata when they arrive in a stream chunk before the finishReason chunk
937
+ - Updated dependencies [531251e]
938
+ - @ai-sdk/provider-utils@5.0.0-beta.1
117
939
 
118
- ## 3.0.44
940
+ ## 4.0.0-beta.2
119
941
 
120
942
  ### Patch Changes
121
943
 
122
- - 45d71c3: fix(google): use VALIDATED function calling mode when any tool has strict:true
944
+ - c9c4661: fix(provider/google): preserve groundingMetadata and urlContextMetadata when they arrive in a stream chunk before the finishReason chunk
945
+
946
+ ## 4.0.0-beta.1
947
+
948
+ ### Patch Changes
949
+
950
+ - 19b95f9: fix(google): use VALIDATED function calling mode when any tool has strict:true
951
+
952
+ ## 4.0.0-beta.0
953
+
954
+ ### Major Changes
955
+
956
+ - 8359612: Start v7 pre-release
957
+
958
+ ### Patch Changes
959
+
960
+ - Updated dependencies [8359612]
961
+ - @ai-sdk/provider@4.0.0-beta.0
962
+ - @ai-sdk/provider-utils@5.0.0-beta.0
123
963
 
124
964
  ## 3.0.43
125
965
 
@@ -1451,7 +2291,6 @@
1451
2291
  ### Patch Changes
1452
2292
 
1453
2293
  - 2e06f14: feat (provider/google): Change to provider defined tools
1454
-
1455
2294
  - Change the google search tool to be a provider defined tool
1456
2295
  - Added new URL context tool as a provider defined tool
1457
2296