@ai-sdk/google 4.0.0-beta.2 → 4.0.0-beta.21
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.
- package/CHANGELOG.md +140 -4
- package/dist/index.d.mts +56 -22
- package/dist/index.d.ts +56 -22
- package/dist/index.js +500 -80
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +500 -77
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +34 -15
- package/dist/internal/index.d.ts +34 -15
- package/dist/internal/index.js +452 -67
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +452 -64
- package/dist/internal/index.mjs.map +1 -1
- package/docs/15-google-generative-ai.mdx +36 -3
- package/package.json +3 -5
- package/src/convert-google-generative-ai-usage.ts +2 -2
- package/src/convert-to-google-generative-ai-messages.ts +273 -34
- package/src/google-generative-ai-embedding-model.ts +42 -13
- package/src/google-generative-ai-embedding-options.ts +24 -0
- package/src/google-generative-ai-image-model.ts +14 -14
- package/src/google-generative-ai-language-model.ts +305 -44
- package/src/google-generative-ai-options.ts +11 -1
- package/src/google-generative-ai-prompt.ts +39 -3
- package/src/google-generative-ai-video-model.ts +7 -7
- package/src/google-prepare-tools.ts +63 -8
- package/src/google-provider.ts +18 -18
- package/src/map-google-generative-ai-finish-reason.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,141 @@
|
|
|
1
1
|
# @ai-sdk/google
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.21
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [2e17091]
|
|
8
|
+
- @ai-sdk/provider-utils@5.0.0-beta.9
|
|
9
|
+
|
|
10
|
+
## 4.0.0-beta.20
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [986c6fd]
|
|
15
|
+
- Updated dependencies [493295c]
|
|
16
|
+
- @ai-sdk/provider-utils@5.0.0-beta.8
|
|
17
|
+
|
|
18
|
+
## 4.0.0-beta.19
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 01fa606: feat(provider/google): support combining built-in tools with function calling on Gemini 3
|
|
23
|
+
|
|
24
|
+
## 4.0.0-beta.18
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- 9715ec7: feat(provider/google): add support for service tier parameter
|
|
29
|
+
|
|
30
|
+
## 4.0.0-beta.17
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- Updated dependencies [1f509d4]
|
|
35
|
+
- @ai-sdk/provider-utils@5.0.0-beta.7
|
|
36
|
+
- @ai-sdk/provider@4.0.0-beta.5
|
|
37
|
+
|
|
38
|
+
## 4.0.0-beta.16
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 6190649: chore(provider/google): remove obsolete Google image model
|
|
43
|
+
|
|
44
|
+
## 4.0.0-beta.15
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- 18c1970: feat(provider/google): Add multimodal tool-result support for Google function responses.
|
|
49
|
+
|
|
50
|
+
Tool results with `output.type = 'content'` now map media parts into
|
|
51
|
+
`functionResponse.parts` for Google models, including `image-data`,
|
|
52
|
+
`file-data`, and base64 `data:` URLs in URL-style content parts.
|
|
53
|
+
Remote HTTP(S) URLs in URL-style tool-result parts are not supported.
|
|
54
|
+
|
|
55
|
+
## 4.0.0-beta.14
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
|
|
60
|
+
- Updated dependencies [3887c70]
|
|
61
|
+
- @ai-sdk/provider-utils@5.0.0-beta.6
|
|
62
|
+
- @ai-sdk/provider@4.0.0-beta.4
|
|
63
|
+
|
|
64
|
+
## 4.0.0-beta.13
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- Updated dependencies [776b617]
|
|
69
|
+
- @ai-sdk/provider-utils@5.0.0-beta.5
|
|
70
|
+
- @ai-sdk/provider@4.0.0-beta.3
|
|
71
|
+
|
|
72
|
+
## 4.0.0-beta.12
|
|
73
|
+
|
|
74
|
+
### Patch Changes
|
|
75
|
+
|
|
76
|
+
- Updated dependencies [61753c3]
|
|
77
|
+
- @ai-sdk/provider-utils@5.0.0-beta.4
|
|
78
|
+
|
|
79
|
+
## 4.0.0-beta.11
|
|
80
|
+
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- f7d4f01: feat(provider): add support for `reasoning-file` type for files that are part of reasoning
|
|
84
|
+
- Updated dependencies [f7d4f01]
|
|
85
|
+
- @ai-sdk/provider-utils@5.0.0-beta.3
|
|
86
|
+
- @ai-sdk/provider@4.0.0-beta.2
|
|
87
|
+
|
|
88
|
+
## 4.0.0-beta.10
|
|
89
|
+
|
|
90
|
+
### Patch Changes
|
|
91
|
+
|
|
92
|
+
- Updated dependencies [5c2a5a2]
|
|
93
|
+
- @ai-sdk/provider@4.0.0-beta.1
|
|
94
|
+
- @ai-sdk/provider-utils@5.0.0-beta.2
|
|
95
|
+
|
|
96
|
+
## 4.0.0-beta.9
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- e59176c: chore(google): update v3 specs to v4
|
|
101
|
+
|
|
102
|
+
## 4.0.0-beta.8
|
|
103
|
+
|
|
104
|
+
### Patch Changes
|
|
105
|
+
|
|
106
|
+
- 4dac142: feat(google): add new finishMessage field in providerMetadata
|
|
107
|
+
|
|
108
|
+
## 4.0.0-beta.7
|
|
109
|
+
|
|
110
|
+
### Patch Changes
|
|
111
|
+
|
|
112
|
+
- 82288b0: feat(provider/google): add `gemini-embedding-2-preview` and fix multimodal embedding support with `embedMany`
|
|
113
|
+
|
|
114
|
+
## 4.0.0-beta.6
|
|
115
|
+
|
|
116
|
+
### Patch Changes
|
|
117
|
+
|
|
118
|
+
- add4326: fix(provider/google): correct JSDoc for multimodal embedding content option
|
|
119
|
+
|
|
120
|
+
## 4.0.0-beta.5
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- ab43029: feat(provider/google): support multimodal content parts in embedding provider options
|
|
125
|
+
|
|
126
|
+
## 4.0.0-beta.4
|
|
127
|
+
|
|
128
|
+
### Patch Changes
|
|
129
|
+
|
|
130
|
+
- 2edd14e: fix(provider/google): correctly mark reasoning files as such and fix related multi-turn errors
|
|
131
|
+
|
|
132
|
+
## 4.0.0-beta.3
|
|
133
|
+
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- Updated dependencies [531251e]
|
|
137
|
+
- @ai-sdk/provider-utils@5.0.0-beta.1
|
|
138
|
+
|
|
3
139
|
## 4.0.0-beta.2
|
|
4
140
|
|
|
5
141
|
### Patch Changes
|
|
@@ -338,13 +474,13 @@
|
|
|
338
474
|
Before
|
|
339
475
|
|
|
340
476
|
```ts
|
|
341
|
-
model.textEmbeddingModel(
|
|
477
|
+
model.textEmbeddingModel("my-model-id");
|
|
342
478
|
```
|
|
343
479
|
|
|
344
480
|
After
|
|
345
481
|
|
|
346
482
|
```ts
|
|
347
|
-
model.embeddingModel(
|
|
483
|
+
model.embeddingModel("my-model-id");
|
|
348
484
|
```
|
|
349
485
|
|
|
350
486
|
- 2625a04: feat(openai); update spec for mcp approval
|
|
@@ -653,13 +789,13 @@
|
|
|
653
789
|
Before
|
|
654
790
|
|
|
655
791
|
```ts
|
|
656
|
-
model.textEmbeddingModel(
|
|
792
|
+
model.textEmbeddingModel("my-model-id");
|
|
657
793
|
```
|
|
658
794
|
|
|
659
795
|
After
|
|
660
796
|
|
|
661
797
|
```ts
|
|
662
|
-
model.embeddingModel(
|
|
798
|
+
model.embeddingModel("my-model-id");
|
|
663
799
|
```
|
|
664
800
|
|
|
665
801
|
- Updated dependencies [8d9e8ad]
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
2
2
|
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
|
-
import {
|
|
3
|
+
import { ProviderV4, LanguageModelV4, ImageModelV4, EmbeddingModelV4, Experimental_VideoModelV4 } from '@ai-sdk/provider';
|
|
4
4
|
|
|
5
5
|
declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
6
6
|
error: {
|
|
@@ -11,7 +11,7 @@ declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
11
11
|
}>;
|
|
12
12
|
type GoogleErrorData = InferSchema<typeof googleErrorDataSchema>;
|
|
13
13
|
|
|
14
|
-
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-
|
|
14
|
+
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
15
15
|
declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
16
16
|
responseModalities?: ("TEXT" | "IMAGE")[] | undefined;
|
|
17
17
|
thinkingConfig?: {
|
|
@@ -39,6 +39,7 @@ declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
|
39
39
|
longitude: number;
|
|
40
40
|
} | undefined;
|
|
41
41
|
} | undefined;
|
|
42
|
+
serviceTier?: "SERVICE_TIER_STANDARD" | "SERVICE_TIER_FLEX" | "SERVICE_TIER_PRIORITY" | undefined;
|
|
42
43
|
}>;
|
|
43
44
|
type GoogleLanguageModelOptions = InferSchema<typeof googleLanguageModelOptions>;
|
|
44
45
|
|
|
@@ -56,6 +57,21 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
56
57
|
mimeType: string;
|
|
57
58
|
data: string;
|
|
58
59
|
};
|
|
60
|
+
thought?: boolean | null | undefined;
|
|
61
|
+
thoughtSignature?: string | null | undefined;
|
|
62
|
+
} | {
|
|
63
|
+
toolCall: {
|
|
64
|
+
toolType: string;
|
|
65
|
+
id: string;
|
|
66
|
+
args?: unknown;
|
|
67
|
+
};
|
|
68
|
+
thoughtSignature?: string | null | undefined;
|
|
69
|
+
} | {
|
|
70
|
+
toolResponse: {
|
|
71
|
+
toolType: string;
|
|
72
|
+
id: string;
|
|
73
|
+
response?: unknown;
|
|
74
|
+
};
|
|
59
75
|
thoughtSignature?: string | null | undefined;
|
|
60
76
|
} | {
|
|
61
77
|
executableCode?: {
|
|
@@ -72,6 +88,7 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
72
88
|
})[] | null | undefined;
|
|
73
89
|
} | null | undefined;
|
|
74
90
|
finishReason?: string | null | undefined;
|
|
91
|
+
finishMessage?: string | null | undefined;
|
|
75
92
|
safetyRatings?: {
|
|
76
93
|
category?: string | null | undefined;
|
|
77
94
|
probability?: string | null | undefined;
|
|
@@ -153,18 +170,27 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
153
170
|
blocked?: boolean | null | undefined;
|
|
154
171
|
}[] | null | undefined;
|
|
155
172
|
} | null | undefined;
|
|
173
|
+
serviceTier?: string | null | undefined;
|
|
156
174
|
}>;
|
|
157
175
|
type GroundingMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['groundingMetadata']>;
|
|
158
176
|
type UrlContextMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['urlContextMetadata']>;
|
|
159
177
|
type SafetyRatingSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['safetyRatings']>[number];
|
|
178
|
+
type PromptFeedbackSchema = NonNullable<InferSchema<typeof responseSchema>['promptFeedback']>;
|
|
179
|
+
type UsageMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['usageMetadata']>;
|
|
160
180
|
|
|
161
181
|
type GoogleGenerativeAIGroundingMetadata = GroundingMetadataSchema;
|
|
162
182
|
type GoogleGenerativeAIUrlContextMetadata = UrlContextMetadataSchema;
|
|
163
183
|
type GoogleGenerativeAISafetyRating = SafetyRatingSchema;
|
|
184
|
+
type GoogleGenerativeAIPromptFeedback = PromptFeedbackSchema;
|
|
185
|
+
type GoogleGenerativeAIUsageMetadata = UsageMetadataSchema;
|
|
164
186
|
interface GoogleGenerativeAIProviderMetadata {
|
|
187
|
+
promptFeedback: GoogleGenerativeAIPromptFeedback | null;
|
|
165
188
|
groundingMetadata: GoogleGenerativeAIGroundingMetadata | null;
|
|
166
189
|
urlContextMetadata: GoogleGenerativeAIUrlContextMetadata | null;
|
|
167
190
|
safetyRatings: GoogleGenerativeAISafetyRating[] | null;
|
|
191
|
+
usageMetadata: GoogleGenerativeAIUsageMetadata | null;
|
|
192
|
+
finishMessage: string | null;
|
|
193
|
+
serviceTier: string | null;
|
|
168
194
|
}
|
|
169
195
|
|
|
170
196
|
type GoogleGenerativeAIImageModelId = 'imagen-4.0-generate-001' | 'imagen-4.0-ultra-generate-001' | 'imagen-4.0-fast-generate-001' | 'gemini-2.5-flash-image' | 'gemini-3-pro-image-preview' | 'gemini-3.1-flash-image-preview' | (string & {});
|
|
@@ -181,10 +207,18 @@ declare const googleImageModelOptionsSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
181
207
|
}>;
|
|
182
208
|
type GoogleImageModelOptions = InferSchema<typeof googleImageModelOptionsSchema>;
|
|
183
209
|
|
|
184
|
-
type GoogleGenerativeAIEmbeddingModelId = 'gemini-embedding-001' | (string & {});
|
|
210
|
+
type GoogleGenerativeAIEmbeddingModelId = 'gemini-embedding-001' | 'gemini-embedding-2-preview' | (string & {});
|
|
185
211
|
declare const googleEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
186
212
|
outputDimensionality?: number | undefined;
|
|
187
213
|
taskType?: "SEMANTIC_SIMILARITY" | "CLASSIFICATION" | "CLUSTERING" | "RETRIEVAL_DOCUMENT" | "RETRIEVAL_QUERY" | "QUESTION_ANSWERING" | "FACT_VERIFICATION" | "CODE_RETRIEVAL_QUERY" | undefined;
|
|
214
|
+
content?: (({
|
|
215
|
+
text: string;
|
|
216
|
+
} | {
|
|
217
|
+
inlineData: {
|
|
218
|
+
mimeType: string;
|
|
219
|
+
data: string;
|
|
220
|
+
};
|
|
221
|
+
})[] | null)[] | undefined;
|
|
188
222
|
}>;
|
|
189
223
|
type GoogleEmbeddingModelOptions = InferSchema<typeof googleEmbeddingModelOptions>;
|
|
190
224
|
|
|
@@ -217,7 +251,7 @@ declare const googleTools: {
|
|
|
217
251
|
startTime: string;
|
|
218
252
|
endTime: string;
|
|
219
253
|
} | undefined;
|
|
220
|
-
}>;
|
|
254
|
+
}, {}>;
|
|
221
255
|
/**
|
|
222
256
|
* Creates an Enterprise Web Search tool for grounding responses using a compliance-focused web index.
|
|
223
257
|
* Designed for highly-regulated industries (finance, healthcare, public sector).
|
|
@@ -228,7 +262,7 @@ declare const googleTools: {
|
|
|
228
262
|
*
|
|
229
263
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/web-grounding-enterprise
|
|
230
264
|
*/
|
|
231
|
-
enterpriseWebSearch: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
265
|
+
enterpriseWebSearch: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
232
266
|
/**
|
|
233
267
|
* Creates a Google Maps grounding tool that gives the model access to Google Maps data.
|
|
234
268
|
* Must have name "google_maps".
|
|
@@ -236,12 +270,12 @@ declare const googleTools: {
|
|
|
236
270
|
* @see https://ai.google.dev/gemini-api/docs/maps-grounding
|
|
237
271
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps
|
|
238
272
|
*/
|
|
239
|
-
googleMaps: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
273
|
+
googleMaps: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
240
274
|
/**
|
|
241
275
|
* Creates a URL context tool that gives Google direct access to real-time web content.
|
|
242
276
|
* Must have name "url_context".
|
|
243
277
|
*/
|
|
244
|
-
urlContext: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
278
|
+
urlContext: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
245
279
|
/**
|
|
246
280
|
* Enables Retrieval Augmented Generation (RAG) via the Gemini File Search tool.
|
|
247
281
|
* Must have name "file_search".
|
|
@@ -257,7 +291,7 @@ declare const googleTools: {
|
|
|
257
291
|
fileSearchStoreNames: string[];
|
|
258
292
|
topK?: number | undefined;
|
|
259
293
|
metadataFilter?: string | undefined;
|
|
260
|
-
}>;
|
|
294
|
+
}, {}>;
|
|
261
295
|
/**
|
|
262
296
|
* A tool that enables the model to generate and run Python code.
|
|
263
297
|
* Must have name "code_execution".
|
|
@@ -274,7 +308,7 @@ declare const googleTools: {
|
|
|
274
308
|
}, {
|
|
275
309
|
outcome: string;
|
|
276
310
|
output: string;
|
|
277
|
-
}, {}>;
|
|
311
|
+
}, {}, {}>;
|
|
278
312
|
/**
|
|
279
313
|
* Creates a Vertex RAG Store tool that enables the model to perform RAG searches against a Vertex RAG Store.
|
|
280
314
|
* Must have name "vertex_rag_store".
|
|
@@ -282,45 +316,45 @@ declare const googleTools: {
|
|
|
282
316
|
vertexRagStore: _ai_sdk_provider_utils.ProviderToolFactory<{}, {
|
|
283
317
|
ragCorpus: string;
|
|
284
318
|
topK?: number;
|
|
285
|
-
}>;
|
|
319
|
+
}, {}>;
|
|
286
320
|
};
|
|
287
321
|
|
|
288
|
-
interface GoogleGenerativeAIProvider extends
|
|
289
|
-
(modelId: GoogleGenerativeAIModelId):
|
|
290
|
-
languageModel(modelId: GoogleGenerativeAIModelId):
|
|
291
|
-
chat(modelId: GoogleGenerativeAIModelId):
|
|
322
|
+
interface GoogleGenerativeAIProvider extends ProviderV4 {
|
|
323
|
+
(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
324
|
+
languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
325
|
+
chat(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
292
326
|
/**
|
|
293
327
|
* Creates a model for image generation.
|
|
294
328
|
*/
|
|
295
|
-
image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings):
|
|
329
|
+
image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV4;
|
|
296
330
|
/**
|
|
297
331
|
* @deprecated Use `chat()` instead.
|
|
298
332
|
*/
|
|
299
|
-
generativeAI(modelId: GoogleGenerativeAIModelId):
|
|
333
|
+
generativeAI(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
300
334
|
/**
|
|
301
335
|
* Creates a model for text embeddings.
|
|
302
336
|
*/
|
|
303
|
-
embedding(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
337
|
+
embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
304
338
|
/**
|
|
305
339
|
* Creates a model for text embeddings.
|
|
306
340
|
*/
|
|
307
|
-
embeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
341
|
+
embeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
308
342
|
/**
|
|
309
343
|
* @deprecated Use `embedding` instead.
|
|
310
344
|
*/
|
|
311
|
-
textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
345
|
+
textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
312
346
|
/**
|
|
313
347
|
* @deprecated Use `embeddingModel` instead.
|
|
314
348
|
*/
|
|
315
|
-
textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
349
|
+
textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
316
350
|
/**
|
|
317
351
|
* Creates a model for video generation.
|
|
318
352
|
*/
|
|
319
|
-
video(modelId: GoogleGenerativeAIVideoModelId):
|
|
353
|
+
video(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
|
|
320
354
|
/**
|
|
321
355
|
* Creates a model for video generation.
|
|
322
356
|
*/
|
|
323
|
-
videoModel(modelId: GoogleGenerativeAIVideoModelId):
|
|
357
|
+
videoModel(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
|
|
324
358
|
tools: typeof googleTools;
|
|
325
359
|
}
|
|
326
360
|
interface GoogleGenerativeAIProviderSettings {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
2
2
|
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
|
-
import {
|
|
3
|
+
import { ProviderV4, LanguageModelV4, ImageModelV4, EmbeddingModelV4, Experimental_VideoModelV4 } from '@ai-sdk/provider';
|
|
4
4
|
|
|
5
5
|
declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
6
6
|
error: {
|
|
@@ -11,7 +11,7 @@ declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
11
11
|
}>;
|
|
12
12
|
type GoogleErrorData = InferSchema<typeof googleErrorDataSchema>;
|
|
13
13
|
|
|
14
|
-
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-
|
|
14
|
+
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
15
15
|
declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
16
16
|
responseModalities?: ("TEXT" | "IMAGE")[] | undefined;
|
|
17
17
|
thinkingConfig?: {
|
|
@@ -39,6 +39,7 @@ declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
|
39
39
|
longitude: number;
|
|
40
40
|
} | undefined;
|
|
41
41
|
} | undefined;
|
|
42
|
+
serviceTier?: "SERVICE_TIER_STANDARD" | "SERVICE_TIER_FLEX" | "SERVICE_TIER_PRIORITY" | undefined;
|
|
42
43
|
}>;
|
|
43
44
|
type GoogleLanguageModelOptions = InferSchema<typeof googleLanguageModelOptions>;
|
|
44
45
|
|
|
@@ -56,6 +57,21 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
56
57
|
mimeType: string;
|
|
57
58
|
data: string;
|
|
58
59
|
};
|
|
60
|
+
thought?: boolean | null | undefined;
|
|
61
|
+
thoughtSignature?: string | null | undefined;
|
|
62
|
+
} | {
|
|
63
|
+
toolCall: {
|
|
64
|
+
toolType: string;
|
|
65
|
+
id: string;
|
|
66
|
+
args?: unknown;
|
|
67
|
+
};
|
|
68
|
+
thoughtSignature?: string | null | undefined;
|
|
69
|
+
} | {
|
|
70
|
+
toolResponse: {
|
|
71
|
+
toolType: string;
|
|
72
|
+
id: string;
|
|
73
|
+
response?: unknown;
|
|
74
|
+
};
|
|
59
75
|
thoughtSignature?: string | null | undefined;
|
|
60
76
|
} | {
|
|
61
77
|
executableCode?: {
|
|
@@ -72,6 +88,7 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
72
88
|
})[] | null | undefined;
|
|
73
89
|
} | null | undefined;
|
|
74
90
|
finishReason?: string | null | undefined;
|
|
91
|
+
finishMessage?: string | null | undefined;
|
|
75
92
|
safetyRatings?: {
|
|
76
93
|
category?: string | null | undefined;
|
|
77
94
|
probability?: string | null | undefined;
|
|
@@ -153,18 +170,27 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
153
170
|
blocked?: boolean | null | undefined;
|
|
154
171
|
}[] | null | undefined;
|
|
155
172
|
} | null | undefined;
|
|
173
|
+
serviceTier?: string | null | undefined;
|
|
156
174
|
}>;
|
|
157
175
|
type GroundingMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['groundingMetadata']>;
|
|
158
176
|
type UrlContextMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['urlContextMetadata']>;
|
|
159
177
|
type SafetyRatingSchema = NonNullable<InferSchema<typeof responseSchema>['candidates'][number]['safetyRatings']>[number];
|
|
178
|
+
type PromptFeedbackSchema = NonNullable<InferSchema<typeof responseSchema>['promptFeedback']>;
|
|
179
|
+
type UsageMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['usageMetadata']>;
|
|
160
180
|
|
|
161
181
|
type GoogleGenerativeAIGroundingMetadata = GroundingMetadataSchema;
|
|
162
182
|
type GoogleGenerativeAIUrlContextMetadata = UrlContextMetadataSchema;
|
|
163
183
|
type GoogleGenerativeAISafetyRating = SafetyRatingSchema;
|
|
184
|
+
type GoogleGenerativeAIPromptFeedback = PromptFeedbackSchema;
|
|
185
|
+
type GoogleGenerativeAIUsageMetadata = UsageMetadataSchema;
|
|
164
186
|
interface GoogleGenerativeAIProviderMetadata {
|
|
187
|
+
promptFeedback: GoogleGenerativeAIPromptFeedback | null;
|
|
165
188
|
groundingMetadata: GoogleGenerativeAIGroundingMetadata | null;
|
|
166
189
|
urlContextMetadata: GoogleGenerativeAIUrlContextMetadata | null;
|
|
167
190
|
safetyRatings: GoogleGenerativeAISafetyRating[] | null;
|
|
191
|
+
usageMetadata: GoogleGenerativeAIUsageMetadata | null;
|
|
192
|
+
finishMessage: string | null;
|
|
193
|
+
serviceTier: string | null;
|
|
168
194
|
}
|
|
169
195
|
|
|
170
196
|
type GoogleGenerativeAIImageModelId = 'imagen-4.0-generate-001' | 'imagen-4.0-ultra-generate-001' | 'imagen-4.0-fast-generate-001' | 'gemini-2.5-flash-image' | 'gemini-3-pro-image-preview' | 'gemini-3.1-flash-image-preview' | (string & {});
|
|
@@ -181,10 +207,18 @@ declare const googleImageModelOptionsSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
181
207
|
}>;
|
|
182
208
|
type GoogleImageModelOptions = InferSchema<typeof googleImageModelOptionsSchema>;
|
|
183
209
|
|
|
184
|
-
type GoogleGenerativeAIEmbeddingModelId = 'gemini-embedding-001' | (string & {});
|
|
210
|
+
type GoogleGenerativeAIEmbeddingModelId = 'gemini-embedding-001' | 'gemini-embedding-2-preview' | (string & {});
|
|
185
211
|
declare const googleEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
186
212
|
outputDimensionality?: number | undefined;
|
|
187
213
|
taskType?: "SEMANTIC_SIMILARITY" | "CLASSIFICATION" | "CLUSTERING" | "RETRIEVAL_DOCUMENT" | "RETRIEVAL_QUERY" | "QUESTION_ANSWERING" | "FACT_VERIFICATION" | "CODE_RETRIEVAL_QUERY" | undefined;
|
|
214
|
+
content?: (({
|
|
215
|
+
text: string;
|
|
216
|
+
} | {
|
|
217
|
+
inlineData: {
|
|
218
|
+
mimeType: string;
|
|
219
|
+
data: string;
|
|
220
|
+
};
|
|
221
|
+
})[] | null)[] | undefined;
|
|
188
222
|
}>;
|
|
189
223
|
type GoogleEmbeddingModelOptions = InferSchema<typeof googleEmbeddingModelOptions>;
|
|
190
224
|
|
|
@@ -217,7 +251,7 @@ declare const googleTools: {
|
|
|
217
251
|
startTime: string;
|
|
218
252
|
endTime: string;
|
|
219
253
|
} | undefined;
|
|
220
|
-
}>;
|
|
254
|
+
}, {}>;
|
|
221
255
|
/**
|
|
222
256
|
* Creates an Enterprise Web Search tool for grounding responses using a compliance-focused web index.
|
|
223
257
|
* Designed for highly-regulated industries (finance, healthcare, public sector).
|
|
@@ -228,7 +262,7 @@ declare const googleTools: {
|
|
|
228
262
|
*
|
|
229
263
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/web-grounding-enterprise
|
|
230
264
|
*/
|
|
231
|
-
enterpriseWebSearch: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
265
|
+
enterpriseWebSearch: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
232
266
|
/**
|
|
233
267
|
* Creates a Google Maps grounding tool that gives the model access to Google Maps data.
|
|
234
268
|
* Must have name "google_maps".
|
|
@@ -236,12 +270,12 @@ declare const googleTools: {
|
|
|
236
270
|
* @see https://ai.google.dev/gemini-api/docs/maps-grounding
|
|
237
271
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps
|
|
238
272
|
*/
|
|
239
|
-
googleMaps: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
273
|
+
googleMaps: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
240
274
|
/**
|
|
241
275
|
* Creates a URL context tool that gives Google direct access to real-time web content.
|
|
242
276
|
* Must have name "url_context".
|
|
243
277
|
*/
|
|
244
|
-
urlContext: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}>;
|
|
278
|
+
urlContext: _ai_sdk_provider_utils.ProviderToolFactory<{}, {}, {}>;
|
|
245
279
|
/**
|
|
246
280
|
* Enables Retrieval Augmented Generation (RAG) via the Gemini File Search tool.
|
|
247
281
|
* Must have name "file_search".
|
|
@@ -257,7 +291,7 @@ declare const googleTools: {
|
|
|
257
291
|
fileSearchStoreNames: string[];
|
|
258
292
|
topK?: number | undefined;
|
|
259
293
|
metadataFilter?: string | undefined;
|
|
260
|
-
}>;
|
|
294
|
+
}, {}>;
|
|
261
295
|
/**
|
|
262
296
|
* A tool that enables the model to generate and run Python code.
|
|
263
297
|
* Must have name "code_execution".
|
|
@@ -274,7 +308,7 @@ declare const googleTools: {
|
|
|
274
308
|
}, {
|
|
275
309
|
outcome: string;
|
|
276
310
|
output: string;
|
|
277
|
-
}, {}>;
|
|
311
|
+
}, {}, {}>;
|
|
278
312
|
/**
|
|
279
313
|
* Creates a Vertex RAG Store tool that enables the model to perform RAG searches against a Vertex RAG Store.
|
|
280
314
|
* Must have name "vertex_rag_store".
|
|
@@ -282,45 +316,45 @@ declare const googleTools: {
|
|
|
282
316
|
vertexRagStore: _ai_sdk_provider_utils.ProviderToolFactory<{}, {
|
|
283
317
|
ragCorpus: string;
|
|
284
318
|
topK?: number;
|
|
285
|
-
}>;
|
|
319
|
+
}, {}>;
|
|
286
320
|
};
|
|
287
321
|
|
|
288
|
-
interface GoogleGenerativeAIProvider extends
|
|
289
|
-
(modelId: GoogleGenerativeAIModelId):
|
|
290
|
-
languageModel(modelId: GoogleGenerativeAIModelId):
|
|
291
|
-
chat(modelId: GoogleGenerativeAIModelId):
|
|
322
|
+
interface GoogleGenerativeAIProvider extends ProviderV4 {
|
|
323
|
+
(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
324
|
+
languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
325
|
+
chat(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
292
326
|
/**
|
|
293
327
|
* Creates a model for image generation.
|
|
294
328
|
*/
|
|
295
|
-
image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings):
|
|
329
|
+
image(modelId: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV4;
|
|
296
330
|
/**
|
|
297
331
|
* @deprecated Use `chat()` instead.
|
|
298
332
|
*/
|
|
299
|
-
generativeAI(modelId: GoogleGenerativeAIModelId):
|
|
333
|
+
generativeAI(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
|
|
300
334
|
/**
|
|
301
335
|
* Creates a model for text embeddings.
|
|
302
336
|
*/
|
|
303
|
-
embedding(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
337
|
+
embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
304
338
|
/**
|
|
305
339
|
* Creates a model for text embeddings.
|
|
306
340
|
*/
|
|
307
|
-
embeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
341
|
+
embeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
308
342
|
/**
|
|
309
343
|
* @deprecated Use `embedding` instead.
|
|
310
344
|
*/
|
|
311
|
-
textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
345
|
+
textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
312
346
|
/**
|
|
313
347
|
* @deprecated Use `embeddingModel` instead.
|
|
314
348
|
*/
|
|
315
|
-
textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId):
|
|
349
|
+
textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
|
|
316
350
|
/**
|
|
317
351
|
* Creates a model for video generation.
|
|
318
352
|
*/
|
|
319
|
-
video(modelId: GoogleGenerativeAIVideoModelId):
|
|
353
|
+
video(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
|
|
320
354
|
/**
|
|
321
355
|
* Creates a model for video generation.
|
|
322
356
|
*/
|
|
323
|
-
videoModel(modelId: GoogleGenerativeAIVideoModelId):
|
|
357
|
+
videoModel(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
|
|
324
358
|
tools: typeof googleTools;
|
|
325
359
|
}
|
|
326
360
|
interface GoogleGenerativeAIProviderSettings {
|