@ai-sdk/google 4.0.0-beta.44 → 4.0.0-beta.46
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 +25 -0
- package/README.md +4 -4
- package/dist/index.d.ts +40 -40
- package/dist/index.js +102 -108
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +16 -16
- package/dist/internal/index.js +62 -62
- package/dist/internal/index.js.map +1 -1
- package/docs/{15-google-generative-ai.mdx → 15-google.mdx} +36 -36
- package/package.json +7 -6
- package/src/{convert-google-generative-ai-usage.ts → convert-google-usage.ts} +6 -6
- package/src/{convert-to-google-generative-ai-messages.ts → convert-to-google-messages.ts} +15 -15
- package/src/{google-generative-ai-embedding-model.ts → google-embedding-model.ts} +10 -16
- package/src/{google-generative-ai-embedding-options.ts → google-embedding-options.ts} +1 -1
- package/src/{google-generative-ai-files.ts → google-files.ts} +3 -3
- package/src/{google-generative-ai-image-model.ts → google-image-model.ts} +16 -20
- package/src/{google-generative-ai-image-settings.ts → google-image-settings.ts} +2 -2
- package/src/{google-generative-ai-language-model.ts → google-language-model.ts} +29 -34
- package/src/{google-generative-ai-options.ts → google-options.ts} +2 -2
- package/src/google-prepare-tools.ts +9 -5
- package/src/google-prompt.ts +82 -0
- package/src/google-provider.ts +42 -46
- package/src/{google-generative-ai-video-model.ts → google-video-model.ts} +5 -5
- package/src/{google-generative-ai-video-settings.ts → google-video-settings.ts} +1 -1
- package/src/index.ts +28 -10
- package/src/internal/index.ts +2 -2
- package/src/{map-google-generative-ai-finish-reason.ts → map-google-finish-reason.ts} +1 -1
- package/src/tool/code-execution.ts +2 -2
- package/src/tool/enterprise-web-search.ts +9 -3
- package/src/tool/file-search.ts +5 -7
- package/src/tool/google-maps.ts +3 -2
- package/src/tool/google-search.ts +10 -11
- package/src/tool/url-context.ts +4 -2
- package/src/tool/vertex-rag-store.ts +9 -6
- package/src/google-generative-ai-prompt.ts +0 -82
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @ai-sdk/google
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.46
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 58a2ad7: fix: more precise default message for tool execution denial
|
|
8
|
+
- 84f36e0: fix(google): omit passing includeServerSideToolInvocations for Vertex tool_config
|
|
9
|
+
- Updated dependencies [785fe16]
|
|
10
|
+
- Updated dependencies [67df0a0]
|
|
11
|
+
- Updated dependencies [befb78c]
|
|
12
|
+
- Updated dependencies [0458559]
|
|
13
|
+
- Updated dependencies [5852c0a]
|
|
14
|
+
- Updated dependencies [fc92055]
|
|
15
|
+
- @ai-sdk/provider-utils@5.0.0-beta.27
|
|
16
|
+
|
|
17
|
+
## 4.0.0-beta.45
|
|
18
|
+
|
|
19
|
+
### Major Changes
|
|
20
|
+
|
|
21
|
+
- a3757d7: chore(provider/google): remove useless GenerativeAI affix from types and classes for consistency
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [2e98477]
|
|
26
|
+
- @ai-sdk/provider-utils@5.0.0-beta.26
|
|
27
|
+
|
|
3
28
|
## 4.0.0-beta.44
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# AI SDK - Google
|
|
1
|
+
# AI SDK - Google Provider
|
|
2
2
|
|
|
3
|
-
The **[Google
|
|
3
|
+
The **[Google provider](https://ai-sdk.dev/providers/ai-sdk-providers/google)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Generative AI](https://ai.google/discover/generativeai/) APIs.
|
|
4
4
|
|
|
5
5
|
> **Deploying to Vercel?** With Vercel's AI Gateway you can access Google (and hundreds of models from other providers) — no additional packages, API keys, or extra cost. [Get started with AI Gateway](https://vercel.com/ai-gateway).
|
|
6
6
|
|
|
7
7
|
## Setup
|
|
8
8
|
|
|
9
|
-
The Google
|
|
9
|
+
The Google provider is available in the `@ai-sdk/google` module. You can install it with
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
npm i @ai-sdk/google
|
|
@@ -42,4 +42,4 @@ const { text } = await generateText({
|
|
|
42
42
|
|
|
43
43
|
## Documentation
|
|
44
44
|
|
|
45
|
-
Please check out the **[Google
|
|
45
|
+
Please check out the **[Google provider documentation](https://ai-sdk.dev/providers/ai-sdk-providers/google)** for more information.
|
package/dist/index.d.ts
CHANGED
|
@@ -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
|
|
14
|
+
type GoogleModelId = '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-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-3.1-flash-tts-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?: {
|
|
@@ -196,23 +196,23 @@ type SafetyRatingSchema = NonNullable<InferSchema<typeof responseSchema>['candid
|
|
|
196
196
|
type PromptFeedbackSchema = NonNullable<InferSchema<typeof responseSchema>['promptFeedback']>;
|
|
197
197
|
type UsageMetadataSchema = NonNullable<InferSchema<typeof responseSchema>['usageMetadata']>;
|
|
198
198
|
|
|
199
|
-
type
|
|
200
|
-
type
|
|
201
|
-
type
|
|
202
|
-
type
|
|
203
|
-
type
|
|
204
|
-
interface
|
|
205
|
-
promptFeedback:
|
|
206
|
-
groundingMetadata:
|
|
207
|
-
urlContextMetadata:
|
|
208
|
-
safetyRatings:
|
|
209
|
-
usageMetadata:
|
|
199
|
+
type GoogleGroundingMetadata = GroundingMetadataSchema;
|
|
200
|
+
type GoogleUrlContextMetadata = UrlContextMetadataSchema;
|
|
201
|
+
type GoogleSafetyRating = SafetyRatingSchema;
|
|
202
|
+
type GooglePromptFeedback = PromptFeedbackSchema;
|
|
203
|
+
type GoogleUsageMetadata = UsageMetadataSchema;
|
|
204
|
+
interface GoogleProviderMetadata {
|
|
205
|
+
promptFeedback: GooglePromptFeedback | null;
|
|
206
|
+
groundingMetadata: GoogleGroundingMetadata | null;
|
|
207
|
+
urlContextMetadata: GoogleUrlContextMetadata | null;
|
|
208
|
+
safetyRatings: GoogleSafetyRating[] | null;
|
|
209
|
+
usageMetadata: GoogleUsageMetadata | null;
|
|
210
210
|
finishMessage: string | null;
|
|
211
211
|
serviceTier: string | null;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
type
|
|
215
|
-
interface
|
|
214
|
+
type GoogleImageModelId = '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 & {});
|
|
215
|
+
interface GoogleImageSettings {
|
|
216
216
|
/**
|
|
217
217
|
* Override the maximum number of images per call (default 4)
|
|
218
218
|
*/
|
|
@@ -225,7 +225,7 @@ declare const googleImageModelOptionsSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
225
225
|
}>;
|
|
226
226
|
type GoogleImageModelOptions = InferSchema<typeof googleImageModelOptionsSchema>;
|
|
227
227
|
|
|
228
|
-
type
|
|
228
|
+
type GoogleEmbeddingModelId = 'gemini-embedding-001' | 'gemini-embedding-2-preview' | (string & {});
|
|
229
229
|
declare const googleEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
230
230
|
outputDimensionality?: number | undefined;
|
|
231
231
|
taskType?: "SEMANTIC_SIMILARITY" | "CLASSIFICATION" | "CLUSTERING" | "RETRIEVAL_DOCUMENT" | "RETRIEVAL_QUERY" | "QUESTION_ANSWERING" | "FACT_VERIFICATION" | "CODE_RETRIEVAL_QUERY" | undefined;
|
|
@@ -240,7 +240,7 @@ declare const googleEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
|
240
240
|
}>;
|
|
241
241
|
type GoogleEmbeddingModelOptions = InferSchema<typeof googleEmbeddingModelOptions>;
|
|
242
242
|
|
|
243
|
-
type
|
|
243
|
+
type GoogleVideoModelId = 'veo-3.1-fast-generate-preview' | 'veo-3.1-generate-preview' | 'veo-3.1-generate' | 'veo-3.1-lite-generate-preview' | 'veo-3.0-generate-001' | 'veo-3.0-fast-generate-001' | 'veo-2.0-generate-001' | (string & {});
|
|
244
244
|
|
|
245
245
|
type GoogleVideoModelOptions = {
|
|
246
246
|
pollIntervalMs?: number | null;
|
|
@@ -266,7 +266,7 @@ declare const googleTools: {
|
|
|
266
266
|
* Creates a Google search tool that gives Google direct access to real-time web content.
|
|
267
267
|
* Must have name "google_search".
|
|
268
268
|
*/
|
|
269
|
-
googleSearch: _ai_sdk_provider_utils.
|
|
269
|
+
googleSearch: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {
|
|
270
270
|
[x: string]: unknown;
|
|
271
271
|
searchTypes?: {
|
|
272
272
|
webSearch?: Record<string, never> | undefined;
|
|
@@ -287,7 +287,7 @@ declare const googleTools: {
|
|
|
287
287
|
*
|
|
288
288
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/web-grounding-enterprise
|
|
289
289
|
*/
|
|
290
|
-
enterpriseWebSearch: _ai_sdk_provider_utils.
|
|
290
|
+
enterpriseWebSearch: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {}, {}>;
|
|
291
291
|
/**
|
|
292
292
|
* Creates a Google Maps grounding tool that gives the model access to Google Maps data.
|
|
293
293
|
* Must have name "google_maps".
|
|
@@ -295,12 +295,12 @@ declare const googleTools: {
|
|
|
295
295
|
* @see https://ai.google.dev/gemini-api/docs/maps-grounding
|
|
296
296
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps
|
|
297
297
|
*/
|
|
298
|
-
googleMaps: _ai_sdk_provider_utils.
|
|
298
|
+
googleMaps: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {}, {}>;
|
|
299
299
|
/**
|
|
300
300
|
* Creates a URL context tool that gives Google direct access to real-time web content.
|
|
301
301
|
* Must have name "url_context".
|
|
302
302
|
*/
|
|
303
|
-
urlContext: _ai_sdk_provider_utils.
|
|
303
|
+
urlContext: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {}, {}>;
|
|
304
304
|
/**
|
|
305
305
|
* Enables Retrieval Augmented Generation (RAG) via the Gemini File Search tool.
|
|
306
306
|
* Must have name "file_search".
|
|
@@ -311,7 +311,7 @@ declare const googleTools: {
|
|
|
311
311
|
*
|
|
312
312
|
* @see https://ai.google.dev/gemini-api/docs/file-search
|
|
313
313
|
*/
|
|
314
|
-
fileSearch: _ai_sdk_provider_utils.
|
|
314
|
+
fileSearch: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {
|
|
315
315
|
[x: string]: unknown;
|
|
316
316
|
fileSearchStoreNames: string[];
|
|
317
317
|
topK?: number | undefined;
|
|
@@ -327,7 +327,7 @@ declare const googleTools: {
|
|
|
327
327
|
* @see https://ai.google.dev/gemini-api/docs/code-execution (Google AI)
|
|
328
328
|
* @see https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/code-execution-api (Vertex AI)
|
|
329
329
|
*/
|
|
330
|
-
codeExecution: _ai_sdk_provider_utils.
|
|
330
|
+
codeExecution: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{
|
|
331
331
|
language: string;
|
|
332
332
|
code: string;
|
|
333
333
|
}, {
|
|
@@ -338,52 +338,52 @@ declare const googleTools: {
|
|
|
338
338
|
* Creates a Vertex RAG Store tool that enables the model to perform RAG searches against a Vertex RAG Store.
|
|
339
339
|
* Must have name "vertex_rag_store".
|
|
340
340
|
*/
|
|
341
|
-
vertexRagStore: _ai_sdk_provider_utils.
|
|
341
|
+
vertexRagStore: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {
|
|
342
342
|
ragCorpus: string;
|
|
343
343
|
topK?: number;
|
|
344
344
|
}, {}>;
|
|
345
345
|
};
|
|
346
346
|
|
|
347
|
-
interface
|
|
348
|
-
(modelId:
|
|
349
|
-
languageModel(modelId:
|
|
350
|
-
chat(modelId:
|
|
347
|
+
interface GoogleProvider extends ProviderV4 {
|
|
348
|
+
(modelId: GoogleModelId): LanguageModelV4;
|
|
349
|
+
languageModel(modelId: GoogleModelId): LanguageModelV4;
|
|
350
|
+
chat(modelId: GoogleModelId): LanguageModelV4;
|
|
351
351
|
/**
|
|
352
352
|
* Creates a model for image generation.
|
|
353
353
|
*/
|
|
354
|
-
image(modelId:
|
|
354
|
+
image(modelId: GoogleImageModelId, settings?: GoogleImageSettings): ImageModelV4;
|
|
355
355
|
/**
|
|
356
356
|
* @deprecated Use `chat()` instead.
|
|
357
357
|
*/
|
|
358
|
-
generativeAI(modelId:
|
|
358
|
+
generativeAI(modelId: GoogleModelId): LanguageModelV4;
|
|
359
359
|
/**
|
|
360
360
|
* Creates a model for text embeddings.
|
|
361
361
|
*/
|
|
362
|
-
embedding(modelId:
|
|
362
|
+
embedding(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
|
|
363
363
|
/**
|
|
364
364
|
* Creates a model for text embeddings.
|
|
365
365
|
*/
|
|
366
|
-
embeddingModel(modelId:
|
|
366
|
+
embeddingModel(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
|
|
367
367
|
/**
|
|
368
368
|
* @deprecated Use `embedding` instead.
|
|
369
369
|
*/
|
|
370
|
-
textEmbedding(modelId:
|
|
370
|
+
textEmbedding(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
|
|
371
371
|
/**
|
|
372
372
|
* @deprecated Use `embeddingModel` instead.
|
|
373
373
|
*/
|
|
374
|
-
textEmbeddingModel(modelId:
|
|
374
|
+
textEmbeddingModel(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
|
|
375
375
|
/**
|
|
376
376
|
* Creates a model for video generation.
|
|
377
377
|
*/
|
|
378
|
-
video(modelId:
|
|
378
|
+
video(modelId: GoogleVideoModelId): Experimental_VideoModelV4;
|
|
379
379
|
/**
|
|
380
380
|
* Creates a model for video generation.
|
|
381
381
|
*/
|
|
382
|
-
videoModel(modelId:
|
|
382
|
+
videoModel(modelId: GoogleVideoModelId): Experimental_VideoModelV4;
|
|
383
383
|
files(): FilesV4;
|
|
384
384
|
tools: typeof googleTools;
|
|
385
385
|
}
|
|
386
|
-
interface
|
|
386
|
+
interface GoogleProviderSettings {
|
|
387
387
|
/**
|
|
388
388
|
* Use a different URL prefix for API calls, e.g. to use proxy servers.
|
|
389
389
|
* The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
|
|
@@ -414,14 +414,14 @@ interface GoogleGenerativeAIProviderSettings {
|
|
|
414
414
|
name?: string;
|
|
415
415
|
}
|
|
416
416
|
/**
|
|
417
|
-
* Create a Google
|
|
417
|
+
* Create a Google provider instance.
|
|
418
418
|
*/
|
|
419
|
-
declare function
|
|
419
|
+
declare function createGoogle(options?: GoogleProviderSettings): GoogleProvider;
|
|
420
420
|
/**
|
|
421
421
|
* Default Google Generative AI provider instance.
|
|
422
422
|
*/
|
|
423
|
-
declare const google:
|
|
423
|
+
declare const google: GoogleProvider;
|
|
424
424
|
|
|
425
425
|
declare const VERSION: string;
|
|
426
426
|
|
|
427
|
-
export { type GoogleEmbeddingModelOptions, type GoogleErrorData, type GoogleFilesUploadOptions, type GoogleEmbeddingModelOptions as GoogleGenerativeAIEmbeddingProviderOptions, type GoogleImageModelOptions as GoogleGenerativeAIImageProviderOptions, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleLanguageModelOptions as GoogleGenerativeAIProviderOptions, type GoogleGenerativeAIProviderSettings, type GoogleGenerativeAIVideoModelId, type GoogleVideoModelOptions as GoogleGenerativeAIVideoProviderOptions, type GoogleImageModelOptions, type GoogleLanguageModelOptions, type GoogleVideoModelOptions, VERSION, createGoogleGenerativeAI, google };
|
|
427
|
+
export { type GoogleEmbeddingModelOptions, type GoogleErrorData, type GoogleFilesUploadOptions, type GoogleEmbeddingModelOptions as GoogleGenerativeAIEmbeddingProviderOptions, type GoogleImageModelOptions as GoogleGenerativeAIImageProviderOptions, type GoogleProvider as GoogleGenerativeAIProvider, type GoogleProviderMetadata as GoogleGenerativeAIProviderMetadata, type GoogleLanguageModelOptions as GoogleGenerativeAIProviderOptions, type GoogleProviderSettings as GoogleGenerativeAIProviderSettings, type GoogleVideoModelId as GoogleGenerativeAIVideoModelId, type GoogleVideoModelOptions as GoogleGenerativeAIVideoProviderOptions, type GoogleImageModelOptions, type GoogleLanguageModelOptions, type GoogleProvider, type GoogleProviderMetadata, type GoogleProviderSettings, type GoogleVideoModelId, type GoogleVideoModelOptions, VERSION, createGoogle, createGoogle as createGoogleGenerativeAI, google };
|