@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.
Files changed (35) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +4 -4
  3. package/dist/index.d.ts +40 -40
  4. package/dist/index.js +102 -108
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/index.d.ts +16 -16
  7. package/dist/internal/index.js +62 -62
  8. package/dist/internal/index.js.map +1 -1
  9. package/docs/{15-google-generative-ai.mdx → 15-google.mdx} +36 -36
  10. package/package.json +7 -6
  11. package/src/{convert-google-generative-ai-usage.ts → convert-google-usage.ts} +6 -6
  12. package/src/{convert-to-google-generative-ai-messages.ts → convert-to-google-messages.ts} +15 -15
  13. package/src/{google-generative-ai-embedding-model.ts → google-embedding-model.ts} +10 -16
  14. package/src/{google-generative-ai-embedding-options.ts → google-embedding-options.ts} +1 -1
  15. package/src/{google-generative-ai-files.ts → google-files.ts} +3 -3
  16. package/src/{google-generative-ai-image-model.ts → google-image-model.ts} +16 -20
  17. package/src/{google-generative-ai-image-settings.ts → google-image-settings.ts} +2 -2
  18. package/src/{google-generative-ai-language-model.ts → google-language-model.ts} +29 -34
  19. package/src/{google-generative-ai-options.ts → google-options.ts} +2 -2
  20. package/src/google-prepare-tools.ts +9 -5
  21. package/src/google-prompt.ts +82 -0
  22. package/src/google-provider.ts +42 -46
  23. package/src/{google-generative-ai-video-model.ts → google-video-model.ts} +5 -5
  24. package/src/{google-generative-ai-video-settings.ts → google-video-settings.ts} +1 -1
  25. package/src/index.ts +28 -10
  26. package/src/internal/index.ts +2 -2
  27. package/src/{map-google-generative-ai-finish-reason.ts → map-google-finish-reason.ts} +1 -1
  28. package/src/tool/code-execution.ts +2 -2
  29. package/src/tool/enterprise-web-search.ts +9 -3
  30. package/src/tool/file-search.ts +5 -7
  31. package/src/tool/google-maps.ts +3 -2
  32. package/src/tool/google-search.ts +10 -11
  33. package/src/tool/url-context.ts +4 -2
  34. package/src/tool/vertex-rag-store.ts +9 -6
  35. 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 Generative AI Provider
1
+ # AI SDK - Google Provider
2
2
 
3
- The **[Google Generative AI provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-generative-ai)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Generative AI](https://ai.google/discover/generativeai/) APIs.
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 Generative AI provider is available in the `@ai-sdk/google` module. You can install it with
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 Generative AI provider documentation](https://ai-sdk.dev/providers/ai-sdk-providers/google-generative-ai)** for more information.
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 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-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 & {});
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 GoogleGenerativeAIGroundingMetadata = GroundingMetadataSchema;
200
- type GoogleGenerativeAIUrlContextMetadata = UrlContextMetadataSchema;
201
- type GoogleGenerativeAISafetyRating = SafetyRatingSchema;
202
- type GoogleGenerativeAIPromptFeedback = PromptFeedbackSchema;
203
- type GoogleGenerativeAIUsageMetadata = UsageMetadataSchema;
204
- interface GoogleGenerativeAIProviderMetadata {
205
- promptFeedback: GoogleGenerativeAIPromptFeedback | null;
206
- groundingMetadata: GoogleGenerativeAIGroundingMetadata | null;
207
- urlContextMetadata: GoogleGenerativeAIUrlContextMetadata | null;
208
- safetyRatings: GoogleGenerativeAISafetyRating[] | null;
209
- usageMetadata: GoogleGenerativeAIUsageMetadata | null;
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 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 & {});
215
- interface GoogleGenerativeAIImageSettings {
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 GoogleGenerativeAIEmbeddingModelId = 'gemini-embedding-001' | 'gemini-embedding-2-preview' | (string & {});
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 GoogleGenerativeAIVideoModelId = '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 & {});
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.ProviderToolFactory<{}, {
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.ProviderToolFactory<{}, {}, {}>;
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.ProviderToolFactory<{}, {}, {}>;
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.ProviderToolFactory<{}, {}, {}>;
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.ProviderToolFactory<{}, {
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.ProviderToolFactoryWithOutputSchema<{
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.ProviderToolFactory<{}, {
341
+ vertexRagStore: _ai_sdk_provider_utils.ProviderExecutedToolFactory<{}, {}, {
342
342
  ragCorpus: string;
343
343
  topK?: number;
344
344
  }, {}>;
345
345
  };
346
346
 
347
- interface GoogleGenerativeAIProvider extends ProviderV4 {
348
- (modelId: GoogleGenerativeAIModelId): LanguageModelV4;
349
- languageModel(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
350
- chat(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
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: GoogleGenerativeAIImageModelId, settings?: GoogleGenerativeAIImageSettings): ImageModelV4;
354
+ image(modelId: GoogleImageModelId, settings?: GoogleImageSettings): ImageModelV4;
355
355
  /**
356
356
  * @deprecated Use `chat()` instead.
357
357
  */
358
- generativeAI(modelId: GoogleGenerativeAIModelId): LanguageModelV4;
358
+ generativeAI(modelId: GoogleModelId): LanguageModelV4;
359
359
  /**
360
360
  * Creates a model for text embeddings.
361
361
  */
362
- embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
362
+ embedding(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
363
363
  /**
364
364
  * Creates a model for text embeddings.
365
365
  */
366
- embeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
366
+ embeddingModel(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
367
367
  /**
368
368
  * @deprecated Use `embedding` instead.
369
369
  */
370
- textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
370
+ textEmbedding(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
371
371
  /**
372
372
  * @deprecated Use `embeddingModel` instead.
373
373
  */
374
- textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV4;
374
+ textEmbeddingModel(modelId: GoogleEmbeddingModelId): EmbeddingModelV4;
375
375
  /**
376
376
  * Creates a model for video generation.
377
377
  */
378
- video(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
378
+ video(modelId: GoogleVideoModelId): Experimental_VideoModelV4;
379
379
  /**
380
380
  * Creates a model for video generation.
381
381
  */
382
- videoModel(modelId: GoogleGenerativeAIVideoModelId): Experimental_VideoModelV4;
382
+ videoModel(modelId: GoogleVideoModelId): Experimental_VideoModelV4;
383
383
  files(): FilesV4;
384
384
  tools: typeof googleTools;
385
385
  }
386
- interface GoogleGenerativeAIProviderSettings {
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 Generative AI provider instance.
417
+ * Create a Google provider instance.
418
418
  */
419
- declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
419
+ declare function createGoogle(options?: GoogleProviderSettings): GoogleProvider;
420
420
  /**
421
421
  * Default Google Generative AI provider instance.
422
422
  */
423
- declare const google: GoogleGenerativeAIProvider;
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 };