@ai-sdk/google 2.0.0-canary.0 → 2.0.0-canary.10

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,115 @@
1
1
  # @ai-sdk/google
2
2
 
3
+ ## 2.0.0-canary.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 3259565: feat (providers/google): add thinking config to provider options
8
+ - fd98925: chore(providers/google): update embedding model to use providerOptions
9
+ - Updated dependencies [95857aa]
10
+ - Updated dependencies [7ea4132]
11
+ - @ai-sdk/provider@2.0.0-canary.8
12
+ - @ai-sdk/provider-utils@3.0.0-canary.9
13
+
14
+ ## 2.0.0-canary.9
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [5d142ab]
19
+ - Updated dependencies [b6b43c7]
20
+ - Updated dependencies [8aa9e20]
21
+ - Updated dependencies [3795467]
22
+ - @ai-sdk/provider-utils@3.0.0-canary.8
23
+ - @ai-sdk/provider@2.0.0-canary.7
24
+
25
+ ## 2.0.0-canary.8
26
+
27
+ ### Patch Changes
28
+
29
+ - 26735b5: chore(embedding-model): add v2 interface
30
+ - 443d8ec: feat(embedding-model-v2): add response body field
31
+ - fd65bc6: chore(embedding-model-v2): rename rawResponse to response
32
+ - Updated dependencies [26735b5]
33
+ - Updated dependencies [443d8ec]
34
+ - Updated dependencies [14c9410]
35
+ - Updated dependencies [d9c98f4]
36
+ - Updated dependencies [c4a2fec]
37
+ - Updated dependencies [0054544]
38
+ - Updated dependencies [9e9c809]
39
+ - Updated dependencies [32831c6]
40
+ - Updated dependencies [d0f9495]
41
+ - Updated dependencies [fd65bc6]
42
+ - Updated dependencies [393138b]
43
+ - Updated dependencies [7182d14]
44
+ - @ai-sdk/provider@2.0.0-canary.6
45
+ - @ai-sdk/provider-utils@3.0.0-canary.7
46
+
47
+ ## 2.0.0-canary.7
48
+
49
+ ### Patch Changes
50
+
51
+ - f10304b: feat(tool-calling): don't require the user to have to pass parameters
52
+ - Updated dependencies [411e483]
53
+ - Updated dependencies [79457bd]
54
+ - Updated dependencies [ad80501]
55
+ - Updated dependencies [1766ede]
56
+ - Updated dependencies [f10304b]
57
+ - @ai-sdk/provider@2.0.0-canary.5
58
+ - @ai-sdk/provider-utils@3.0.0-canary.6
59
+
60
+ ## 2.0.0-canary.6
61
+
62
+ ### Patch Changes
63
+
64
+ - Updated dependencies [6f6bb89]
65
+ - @ai-sdk/provider@2.0.0-canary.4
66
+ - @ai-sdk/provider-utils@3.0.0-canary.5
67
+
68
+ ## 2.0.0-canary.5
69
+
70
+ ### Patch Changes
71
+
72
+ - Updated dependencies [d1a1aa1]
73
+ - @ai-sdk/provider@2.0.0-canary.3
74
+ - @ai-sdk/provider-utils@3.0.0-canary.4
75
+
76
+ ## 2.0.0-canary.4
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [a166433]
81
+ - Updated dependencies [abf9a79]
82
+ - Updated dependencies [9f95b35]
83
+ - Updated dependencies [0a87932]
84
+ - Updated dependencies [6dc848c]
85
+ - @ai-sdk/provider-utils@3.0.0-canary.3
86
+ - @ai-sdk/provider@2.0.0-canary.2
87
+
88
+ ## 2.0.0-canary.3
89
+
90
+ ### Patch Changes
91
+
92
+ - Updated dependencies [c57e248]
93
+ - Updated dependencies [33f4a6a]
94
+ - @ai-sdk/provider@2.0.0-canary.1
95
+ - @ai-sdk/provider-utils@3.0.0-canary.2
96
+
97
+ ## 2.0.0-canary.2
98
+
99
+ ### Patch Changes
100
+
101
+ - 5cf30ea: fix (provider/google): allow "OFF" for Google HarmBlockThreshold
102
+
103
+ ## 2.0.0-canary.1
104
+
105
+ ### Patch Changes
106
+
107
+ - 779d916: feat: add provider option schemas for vertex imagegen and google genai
108
+ - Updated dependencies [060370c]
109
+ - Updated dependencies [0c0c0b3]
110
+ - Updated dependencies [63d791d]
111
+ - @ai-sdk/provider-utils@3.0.0-canary.1
112
+
3
113
  ## 2.0.0-canary.0
4
114
 
5
115
  ### Major Changes
package/dist/index.d.mts CHANGED
@@ -1,6 +1,35 @@
1
- import { FetchFunction } from '@ai-sdk/provider-utils';
2
- import { ProviderV1, LanguageModelV1, EmbeddingModelV1 } from '@ai-sdk/provider';
3
1
  import { z } from 'zod';
2
+ import { ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
3
+ import { FetchFunction } from '@ai-sdk/provider-utils';
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 {
@@ -35,7 +64,7 @@ interface GoogleGenerativeAISettings {
35
64
  */
36
65
  safetySettings?: Array<{
37
66
  category: 'HARM_CATEGORY_UNSPECIFIED' | 'HARM_CATEGORY_HATE_SPEECH' | 'HARM_CATEGORY_DANGEROUS_CONTENT' | 'HARM_CATEGORY_HARASSMENT' | 'HARM_CATEGORY_SEXUALLY_EXPLICIT' | 'HARM_CATEGORY_CIVIC_INTEGRITY';
38
- threshold: 'HARM_BLOCK_THRESHOLD_UNSPECIFIED' | 'BLOCK_LOW_AND_ABOVE' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_ONLY_HIGH' | 'BLOCK_NONE';
67
+ threshold: 'HARM_BLOCK_THRESHOLD_UNSPECIFIED' | 'BLOCK_LOW_AND_ABOVE' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_ONLY_HIGH' | 'BLOCK_NONE' | 'OFF';
39
68
  }>;
40
69
  /**
41
70
  * Optional. Enables timestamp understanding for audio-only files.
@@ -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,27 @@ 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
+ thinkingConfig: z.ZodOptional<z.ZodNullable<z.ZodObject<{
278
+ thinkingBudget: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ thinkingBudget?: number | null | undefined;
281
+ }, {
282
+ thinkingBudget?: number | null | undefined;
283
+ }>>>;
284
+ }, "strip", z.ZodTypeAny, {
285
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
286
+ thinkingConfig?: {
287
+ thinkingBudget?: number | null | undefined;
288
+ } | null | undefined;
289
+ }, {
290
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
291
+ thinkingConfig?: {
292
+ thinkingBudget?: number | null | undefined;
293
+ } | null | undefined;
294
+ }>;
295
+ type GoogleGenerativeAIProviderOptions = z.infer<typeof googleGenerativeAIProviderOptionsSchema>;
336
296
 
337
297
  type GoogleGenerativeAIGroundingMetadata = z.infer<typeof groundingMetadataSchema>;
338
298
  type GoogleGenerativeAISafetyRating = z.infer<typeof safetyRatingSchema>;
@@ -341,4 +301,58 @@ interface GoogleGenerativeAIProviderMetadata {
341
301
  safetyRatings: GoogleGenerativeAISafetyRating[] | null;
342
302
  }
343
303
 
344
- export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
304
+ type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
305
+
306
+ interface GoogleGenerativeAIProvider extends ProviderV2 {
307
+ (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
308
+ languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
309
+ chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
310
+ /**
311
+ * @deprecated Use `chat()` instead.
312
+ */
313
+ generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
314
+ /**
315
+ @deprecated Use `textEmbeddingModel()` instead.
316
+ */
317
+ embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
318
+ /**
319
+ @deprecated Use `textEmbeddingModel()` instead.
320
+ */
321
+ textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
322
+ textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
323
+ }
324
+ interface GoogleGenerativeAIProviderSettings {
325
+ /**
326
+ Use a different URL prefix for API calls, e.g. to use proxy servers.
327
+ The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
328
+ */
329
+ baseURL?: string;
330
+ /**
331
+ API key that is being send using the `x-goog-api-key` header.
332
+ It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
333
+ */
334
+ apiKey?: string;
335
+ /**
336
+ Custom headers to include in the requests.
337
+ */
338
+ headers?: Record<string, string | undefined>;
339
+ /**
340
+ Custom fetch implementation. You can use it as a middleware to intercept requests,
341
+ or to provide a custom fetch implementation for e.g. testing.
342
+ */
343
+ fetch?: FetchFunction;
344
+ /**
345
+ Optional function to generate a unique ID for each request.
346
+ */
347
+ generateId?: () => string;
348
+ }
349
+ /**
350
+ Create a Google Generative AI provider instance.
351
+ */
352
+ declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
353
+ /**
354
+ Default Google Generative AI provider instance.
355
+ */
356
+ declare const google: GoogleGenerativeAIProvider;
357
+
358
+ 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 { FetchFunction } from '@ai-sdk/provider-utils';
2
- import { ProviderV1, LanguageModelV1, EmbeddingModelV1 } from '@ai-sdk/provider';
3
1
  import { z } from 'zod';
2
+ import { ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
3
+ import { FetchFunction } from '@ai-sdk/provider-utils';
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 {
@@ -35,7 +64,7 @@ interface GoogleGenerativeAISettings {
35
64
  */
36
65
  safetySettings?: Array<{
37
66
  category: 'HARM_CATEGORY_UNSPECIFIED' | 'HARM_CATEGORY_HATE_SPEECH' | 'HARM_CATEGORY_DANGEROUS_CONTENT' | 'HARM_CATEGORY_HARASSMENT' | 'HARM_CATEGORY_SEXUALLY_EXPLICIT' | 'HARM_CATEGORY_CIVIC_INTEGRITY';
38
- threshold: 'HARM_BLOCK_THRESHOLD_UNSPECIFIED' | 'BLOCK_LOW_AND_ABOVE' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_ONLY_HIGH' | 'BLOCK_NONE';
67
+ threshold: 'HARM_BLOCK_THRESHOLD_UNSPECIFIED' | 'BLOCK_LOW_AND_ABOVE' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_ONLY_HIGH' | 'BLOCK_NONE' | 'OFF';
39
68
  }>;
40
69
  /**
41
70
  * Optional. Enables timestamp understanding for audio-only files.
@@ -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,27 @@ 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
+ thinkingConfig: z.ZodOptional<z.ZodNullable<z.ZodObject<{
278
+ thinkingBudget: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ thinkingBudget?: number | null | undefined;
281
+ }, {
282
+ thinkingBudget?: number | null | undefined;
283
+ }>>>;
284
+ }, "strip", z.ZodTypeAny, {
285
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
286
+ thinkingConfig?: {
287
+ thinkingBudget?: number | null | undefined;
288
+ } | null | undefined;
289
+ }, {
290
+ responseModalities?: ("TEXT" | "IMAGE")[] | null | undefined;
291
+ thinkingConfig?: {
292
+ thinkingBudget?: number | null | undefined;
293
+ } | null | undefined;
294
+ }>;
295
+ type GoogleGenerativeAIProviderOptions = z.infer<typeof googleGenerativeAIProviderOptionsSchema>;
336
296
 
337
297
  type GoogleGenerativeAIGroundingMetadata = z.infer<typeof groundingMetadataSchema>;
338
298
  type GoogleGenerativeAISafetyRating = z.infer<typeof safetyRatingSchema>;
@@ -341,4 +301,58 @@ interface GoogleGenerativeAIProviderMetadata {
341
301
  safetyRatings: GoogleGenerativeAISafetyRating[] | null;
342
302
  }
343
303
 
344
- export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };
304
+ type GoogleGenerativeAIEmbeddingModelId = 'text-embedding-004' | (string & {});
305
+
306
+ interface GoogleGenerativeAIProvider extends ProviderV2 {
307
+ (modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
308
+ languageModel(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
309
+ chat(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
310
+ /**
311
+ * @deprecated Use `chat()` instead.
312
+ */
313
+ generativeAI(modelId: GoogleGenerativeAIModelId, settings?: GoogleGenerativeAISettings): LanguageModelV2;
314
+ /**
315
+ @deprecated Use `textEmbeddingModel()` instead.
316
+ */
317
+ embedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
318
+ /**
319
+ @deprecated Use `textEmbeddingModel()` instead.
320
+ */
321
+ textEmbedding(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
322
+ textEmbeddingModel(modelId: GoogleGenerativeAIEmbeddingModelId): EmbeddingModelV2<string>;
323
+ }
324
+ interface GoogleGenerativeAIProviderSettings {
325
+ /**
326
+ Use a different URL prefix for API calls, e.g. to use proxy servers.
327
+ The default prefix is `https://generativelanguage.googleapis.com/v1beta`.
328
+ */
329
+ baseURL?: string;
330
+ /**
331
+ API key that is being send using the `x-goog-api-key` header.
332
+ It defaults to the `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.
333
+ */
334
+ apiKey?: string;
335
+ /**
336
+ Custom headers to include in the requests.
337
+ */
338
+ headers?: Record<string, string | undefined>;
339
+ /**
340
+ Custom fetch implementation. You can use it as a middleware to intercept requests,
341
+ or to provide a custom fetch implementation for e.g. testing.
342
+ */
343
+ fetch?: FetchFunction;
344
+ /**
345
+ Optional function to generate a unique ID for each request.
346
+ */
347
+ generateId?: () => string;
348
+ }
349
+ /**
350
+ Create a Google Generative AI provider instance.
351
+ */
352
+ declare function createGoogleGenerativeAI(options?: GoogleGenerativeAIProviderSettings): GoogleGenerativeAIProvider;
353
+ /**
354
+ Default Google Generative AI provider instance.
355
+ */
356
+ declare const google: GoogleGenerativeAIProvider;
357
+
358
+ export { type GoogleErrorData, type GoogleGenerativeAIProvider, type GoogleGenerativeAIProviderMetadata, type GoogleGenerativeAIProviderOptions, type GoogleGenerativeAIProviderSettings, createGoogleGenerativeAI, google };