@ai-sdk/google 1.2.6 → 1.2.7

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ai-sdk/google
2
2
 
3
+ ## 1.2.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 1789884: feat: add provider option schemas for vertex imagegen and google genai
8
+
3
9
  ## 1.2.6
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1,6 +1,35 @@
1
+ import { z } from 'zod';
1
2
  import { FetchFunction } from '@ai-sdk/provider-utils';
2
3
  import { ProviderV1, LanguageModelV1, EmbeddingModelV1 } from '@ai-sdk/provider';
3
- import { z } from 'zod';
4
+
5
+ declare const googleErrorDataSchema: z.ZodObject<{
6
+ error: z.ZodObject<{
7
+ code: z.ZodNullable<z.ZodNumber>;
8
+ message: z.ZodString;
9
+ status: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ status: string;
12
+ code: number | null;
13
+ message: string;
14
+ }, {
15
+ status: string;
16
+ code: number | null;
17
+ message: string;
18
+ }>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ error: {
21
+ status: string;
22
+ code: number | null;
23
+ message: string;
24
+ };
25
+ }, {
26
+ error: {
27
+ status: string;
28
+ code: number | null;
29
+ message: string;
30
+ };
31
+ }>;
32
+ type GoogleErrorData = z.infer<typeof googleErrorDataSchema>;
4
33
 
5
34
  type GoogleGenerativeAIModelId = 'gemini-2.0-flash-001' | 'gemini-1.5-flash' | 'gemini-1.5-flash-latest' | 'gemini-1.5-flash-001' | 'gemini-1.5-flash-002' | 'gemini-1.5-flash-8b' | 'gemini-1.5-flash-8b-latest' | 'gemini-1.5-flash-8b-001' | 'gemini-1.5-pro' | 'gemini-1.5-pro-latest' | 'gemini-1.5-pro-001' | 'gemini-1.5-pro-002' | 'gemini-2.5-pro-exp-03-25' | 'gemini-2.0-flash-lite-preview-02-05' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash-thinking-exp-01-21' | 'gemini-2.0-flash-exp' | 'gemini-exp-1206' | 'gemma-3-27b-it' | 'learnlm-1.5-pro-experimental' | (string & {});
6
35
  interface DynamicRetrievalConfig {
@@ -59,96 +88,6 @@ interface GoogleGenerativeAISettings {
59
88
  dynamicRetrievalConfig?: DynamicRetrievalConfig;
60
89
  }
61
90
 
62
- type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
63
- interface GoogleGenerativeAIEmbeddingSettings {
64
- /**
65
- * Optional. Optional reduced dimension for the output embedding.
66
- * If set, excessive values in the output embedding are truncated from the end.
67
- */
68
- outputDimensionality?: number;
69
- }
70
-
71
- interface GoogleGenerativeAIProvider extends ProviderV1 {
72
- (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
73
- languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
74
- chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
75
- /**
76
- * @deprecated Use `chat()` instead.
77
- */
78
- generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
79
- /**
80
- @deprecated Use `textEmbeddingModel()` instead.
81
- */
82
- embedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
83
- /**
84
- @deprecated Use `textEmbeddingModel()` instead.
85
- */
86
- textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
87
- textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
88
- }
89
- interface GoogleGenerativeAIProviderSettings {
90
- /**
91
- Use a different URL prefix for API calls, e.g. to use proxy servers.
92
- The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
93
- */
94
- baseURL?: string;
95
- /**
96
- API key that is being send using the `x-goog-api-key` header.
97
- It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
98
- */
99
- apiKey?: string;
100
- /**
101
- Custom headers to include in the requests.
102
- */
103
- headers?: Record<string, string | undefined>;
104
- /**
105
- Custom fetch implementation. You can use it as a middleware to intercept requests,
106
- or to provide a custom fetch implementation for e.g. testing.
107
- */
108
- fetch?: FetchFunction;
109
- /**
110
- Optional function to generate a unique ID for each request.
111
- */
112
- generateId?: () => string;
113
- }
114
- /**
115
- Create a Google Generative AI provider instance.
116
- */
117
- declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
118
- /**
119
- Default Google Generative AI provider instance.
120
- */
121
- declare const google: GoogleGenerativeAIProvider;
122
-
123
- declare const googleErrorDataSchema: z.ZodObject<{
124
- error: z.ZodObject<{
125
- code: z.ZodNullable<z.ZodNumber>;
126
- message: z.ZodString;
127
- status: z.ZodString;
128
- }, "strip", z.ZodTypeAny, {
129
- code: number | null;
130
- message: string;
131
- status: string;
132
- }, {
133
- code: number | null;
134
- message: string;
135
- status: string;
136
- }>;
137
- }, "strip", z.ZodTypeAny, {
138
- error: {
139
- code: number | null;
140
- message: string;
141
- status: string;
142
- };
143
- }, {
144
- error: {
145
- code: number | null;
146
- message: string;
147
- status: string;
148
- };
149
- }>;
150
- type GoogleErrorData = z.infer<typeof googleErrorDataSchema>;
151
-
152
91
  declare const groundingMetadataSchema: z.ZodObject<{
153
92
  webSearchQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
154
93
  retrievalQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
@@ -333,6 +272,14 @@ declare const safetyRatingSchema: z.ZodObject<{
333
272
  severityScore?: number | null | undefined;
334
273
  blocked?: boolean | null | undefined;
335
274
  }>;
275
+ declare const googleGenerativeAIProviderOptionsSchema: z.ZodObject<{
276
+ responseModalities: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE"]>, "many">>>;
277
+ }, "strip", z.ZodTypeAny, {
278
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
279
+ }, {
280
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
281
+ }>;
282
+ type GoogleGenerativeAIProviderOptions = z.infer<typeof googleGenerativeAIProviderOptionsSchema>;
336
283
 
337
284
  type GoogleGenerativeAIGroundingMetadata = z.infer<typeof groundingMetadataSchema>;
338
285
  type GoogleGenerativeAISafetyRating = z.infer<typeof safetyRatingSchema>;
@@ -341,4 +288,65 @@ interface GoogleGenerativeAIProviderMetadata {
341
288
  safetyRatings: GoogleGenerativeAISafetyRating[] | null;
342
289
  }
343
290
 
344
- export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
291
+ type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
292
+ interface GoogleGenerativeAIEmbeddingSettings {
293
+ /**
294
+ * Optional. Optional reduced dimension for the output embedding.
295
+ * If set, excessive values in the output embedding are truncated from the end.
296
+ */
297
+ outputDimensionality?: number;
298
+ }
299
+
300
+ interface GoogleGenerativeAIProvider extends ProviderV1 {
301
+ (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
302
+ languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
303
+ chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
304
+ /**
305
+ * @deprecated Use `chat()` instead.
306
+ */
307
+ generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
308
+ /**
309
+ @deprecated Use `textEmbeddingModel()` instead.
310
+ */
311
+ embedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
312
+ /**
313
+ @deprecated Use `textEmbeddingModel()` instead.
314
+ */
315
+ textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
316
+ textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
317
+ }
318
+ interface GoogleGenerativeAIProviderSettings {
319
+ /**
320
+ Use a different URL prefix for API calls, e.g. to use proxy servers.
321
+ The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
322
+ */
323
+ baseURL?: string;
324
+ /**
325
+ API key that is being send using the `x-goog-api-key` header.
326
+ It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
327
+ */
328
+ apiKey?: string;
329
+ /**
330
+ Custom headers to include in the requests.
331
+ */
332
+ headers?: Record<string, string | undefined>;
333
+ /**
334
+ Custom fetch implementation. You can use it as a middleware to intercept requests,
335
+ or to provide a custom fetch implementation for e.g. testing.
336
+ */
337
+ fetch?: FetchFunction;
338
+ /**
339
+ Optional function to generate a unique ID for each request.
340
+ */
341
+ generateId?: () => string;
342
+ }
343
+ /**
344
+ Create a Google Generative AI provider instance.
345
+ */
346
+ declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
347
+ /**
348
+ Default Google Generative AI provider instance.
349
+ */
350
+ declare const google: GoogleGenerativeAIProvider;
351
+
352
+ export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderOptions, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,35 @@
1
+ import { z } from 'zod';
1
2
  import { FetchFunction } from '@ai-sdk/provider-utils';
2
3
  import { ProviderV1, LanguageModelV1, EmbeddingModelV1 } from '@ai-sdk/provider';
3
- import { z } from 'zod';
4
+
5
+ declare const googleErrorDataSchema: z.ZodObject<{
6
+ error: z.ZodObject<{
7
+ code: z.ZodNullable<z.ZodNumber>;
8
+ message: z.ZodString;
9
+ status: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ status: string;
12
+ code: number | null;
13
+ message: string;
14
+ }, {
15
+ status: string;
16
+ code: number | null;
17
+ message: string;
18
+ }>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ error: {
21
+ status: string;
22
+ code: number | null;
23
+ message: string;
24
+ };
25
+ }, {
26
+ error: {
27
+ status: string;
28
+ code: number | null;
29
+ message: string;
30
+ };
31
+ }>;
32
+ type GoogleErrorData = z.infer<typeof googleErrorDataSchema>;
4
33
 
5
34
  type GoogleGenerativeAIModelId = 'gemini-2.0-flash-001' | 'gemini-1.5-flash' | 'gemini-1.5-flash-latest' | 'gemini-1.5-flash-001' | 'gemini-1.5-flash-002' | 'gemini-1.5-flash-8b' | 'gemini-1.5-flash-8b-latest' | 'gemini-1.5-flash-8b-001' | 'gemini-1.5-pro' | 'gemini-1.5-pro-latest' | 'gemini-1.5-pro-001' | 'gemini-1.5-pro-002' | 'gemini-2.5-pro-exp-03-25' | 'gemini-2.0-flash-lite-preview-02-05' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash-thinking-exp-01-21' | 'gemini-2.0-flash-exp' | 'gemini-exp-1206' | 'gemma-3-27b-it' | 'learnlm-1.5-pro-experimental' | (string & {});
6
35
  interface DynamicRetrievalConfig {
@@ -59,96 +88,6 @@ interface GoogleGenerativeAISettings {
59
88
  dynamicRetrievalConfig?: DynamicRetrievalConfig;
60
89
  }
61
90
 
62
- type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
63
- interface GoogleGenerativeAIEmbeddingSettings {
64
- /**
65
- * Optional. Optional reduced dimension for the output embedding.
66
- * If set, excessive values in the output embedding are truncated from the end.
67
- */
68
- outputDimensionality?: number;
69
- }
70
-
71
- interface GoogleGenerativeAIProvider extends ProviderV1 {
72
- (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
73
- languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
74
- chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
75
- /**
76
- * @deprecated Use `chat()` instead.
77
- */
78
- generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
79
- /**
80
- @deprecated Use `textEmbeddingModel()` instead.
81
- */
82
- embedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
83
- /**
84
- @deprecated Use `textEmbeddingModel()` instead.
85
- */
86
- textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
87
- textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
88
- }
89
- interface GoogleGenerativeAIProviderSettings {
90
- /**
91
- Use a different URL prefix for API calls, e.g. to use proxy servers.
92
- The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
93
- */
94
- baseURL?: string;
95
- /**
96
- API key that is being send using the `x-goog-api-key` header.
97
- It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
98
- */
99
- apiKey?: string;
100
- /**
101
- Custom headers to include in the requests.
102
- */
103
- headers?: Record<string, string | undefined>;
104
- /**
105
- Custom fetch implementation. You can use it as a middleware to intercept requests,
106
- or to provide a custom fetch implementation for e.g. testing.
107
- */
108
- fetch?: FetchFunction;
109
- /**
110
- Optional function to generate a unique ID for each request.
111
- */
112
- generateId?: () => string;
113
- }
114
- /**
115
- Create a Google Generative AI provider instance.
116
- */
117
- declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
118
- /**
119
- Default Google Generative AI provider instance.
120
- */
121
- declare const google: GoogleGenerativeAIProvider;
122
-
123
- declare const googleErrorDataSchema: z.ZodObject<{
124
- error: z.ZodObject<{
125
- code: z.ZodNullable<z.ZodNumber>;
126
- message: z.ZodString;
127
- status: z.ZodString;
128
- }, "strip", z.ZodTypeAny, {
129
- code: number | null;
130
- message: string;
131
- status: string;
132
- }, {
133
- code: number | null;
134
- message: string;
135
- status: string;
136
- }>;
137
- }, "strip", z.ZodTypeAny, {
138
- error: {
139
- code: number | null;
140
- message: string;
141
- status: string;
142
- };
143
- }, {
144
- error: {
145
- code: number | null;
146
- message: string;
147
- status: string;
148
- };
149
- }>;
150
- type GoogleErrorData = z.infer<typeof googleErrorDataSchema>;
151
-
152
91
  declare const groundingMetadataSchema: z.ZodObject<{
153
92
  webSearchQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
154
93
  retrievalQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
@@ -333,6 +272,14 @@ declare const safetyRatingSchema: z.ZodObject<{
333
272
  severityScore?: number | null | undefined;
334
273
  blocked?: boolean | null | undefined;
335
274
  }>;
275
+ declare const googleGenerativeAIProviderOptionsSchema: z.ZodObject<{
276
+ responseModalities: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE"]>, "many">>>;
277
+ }, "strip", z.ZodTypeAny, {
278
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
279
+ }, {
280
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
281
+ }>;
282
+ type GoogleGenerativeAIProviderOptions = z.infer<typeof googleGenerativeAIProviderOptionsSchema>;
336
283
 
337
284
  type GoogleGenerativeAIGroundingMetadata = z.infer<typeof groundingMetadataSchema>;
338
285
  type GoogleGenerativeAISafetyRating = z.infer<typeof safetyRatingSchema>;
@@ -341,4 +288,65 @@ interface GoogleGenerativeAIProviderMetadata {
341
288
  safetyRatings: GoogleGenerativeAISafetyRating[] | null;
342
289
  }
343
290
 
344
- export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
291
+ type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
292
+ interface GoogleGenerativeAIEmbeddingSettings {
293
+ /**
294
+ * Optional. Optional reduced dimension for the output embedding.
295
+ * If set, excessive values in the output embedding are truncated from the end.
296
+ */
297
+ outputDimensionality?: number;
298
+ }
299
+
300
+ interface GoogleGenerativeAIProvider extends ProviderV1 {
301
+ (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
302
+ languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
303
+ chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
304
+ /**
305
+ * @deprecated Use `chat()` instead.
306
+ */
307
+ generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV1;
308
+ /**
309
+ @deprecated Use `textEmbeddingModel()` instead.
310
+ */
311
+ embedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
312
+ /**
313
+ @deprecated Use `textEmbeddingModel()` instead.
314
+ */
315
+ textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
316
+ textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId, settings?: GoogleGenerativeAIEmbeddingSettings): EmbeddingModelV1<string>;
317
+ }
318
+ interface GoogleGenerativeAIProviderSettings {
319
+ /**
320
+ Use a different URL prefix for API calls, e.g. to use proxy servers.
321
+ The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
322
+ */
323
+ baseURL?: string;
324
+ /**
325
+ API key that is being send using the `x-goog-api-key` header.
326
+ It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
327
+ */
328
+ apiKey?: string;
329
+ /**
330
+ Custom headers to include in the requests.
331
+ */
332
+ headers?: Record<string, string | undefined>;
333
+ /**
334
+ Custom fetch implementation. You can use it as a middleware to intercept requests,
335
+ or to provide a custom fetch implementation for e.g. testing.
336
+ */
337
+ fetch?: FetchFunction;
338
+ /**
339
+ Optional function to generate a unique ID for each request.
340
+ */
341
+ generateId?: () => string;
342
+ }
343
+ /**
344
+ Create a Google Generative AI provider instance.
345
+ */
346
+ declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
347
+ /**
348
+ Default Google Generative AI provider instance.
349
+ */
350
+ declare const google: GoogleGenerativeAIProvider;
351
+
352
+ export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderOptions, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
package/dist/index.js CHANGED
@@ -422,9 +422,7 @@ var GoogleGenerativeAILanguageModel = class {
422
422
  const googleOptions = (0, import_provider_utils3.parseProviderOptions)({
423
423
  provider: "google",
424
424
  providerOptions: providerMetadata,
425
- schema: import_zod2.z.object({
426
- responseModalities: import_zod2.z.array(import_zod2.z.enum(["TEXT", "IMAGE"])).nullish()
427
- })
425
+ schema: googleGenerativeAIProviderOptionsSchema
428
426
  });
429
427
  const generationConfig = {
430
428
  // standardized settings:
@@ -836,6 +834,9 @@ var chunkSchema = import_zod2.z.object({
836
834
  totalTokenCount: import_zod2.z.number().nullish()
837
835
  }).nullish()
838
836
  });
837
+ var googleGenerativeAIProviderOptionsSchema = import_zod2.z.object({
838
+ responseModalities: import_zod2.z.array(import_zod2.z.enum(["TEXT", "IMAGE"])).nullish()
839
+ });
839
840
 
840
841
  // src/google-generative-ai-embedding-model.ts
841
842
  var import_provider3 = require("@ai-sdk/provider");