@ai-sdk/google 2.0.104 → 2.0.106

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,20 @@
1
1
  # @ai-sdk/google
2
2
 
3
+ ## 2.0.106
4
+
5
+ ### Patch Changes
6
+
7
+ - 0cc3740: fix(google): convert `type: [X, "null"]` to a plain nullable node so `items` and `format` beside it stay valid for Gemini
8
+
9
+ ## 2.0.105
10
+
11
+ ### Patch Changes
12
+
13
+ - 36a19fd: Defer validation schema construction until first use to reduce provider import time.
14
+ - Updated dependencies [d7b0ffa]
15
+ - Updated dependencies [4146790]
16
+ - @ai-sdk/provider-utils@3.0.42
17
+
3
18
  ## 2.0.104
4
19
 
5
20
  ### Patch Changes
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ module.exports = __toCommonJS(index_exports);
30
30
  var import_provider_utils15 = require("@ai-sdk/provider-utils");
31
31
 
32
32
  // src/version.ts
33
- var VERSION = true ? "2.0.104" : "0.0.0-test";
33
+ var VERSION = true ? "2.0.106" : "0.0.0-test";
34
34
 
35
35
  // src/google-generative-ai-embedding-model.ts
36
36
  var import_provider = require("@ai-sdk/provider");
@@ -60,7 +60,7 @@ var googleFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
60
60
  // src/google-generative-ai-embedding-options.ts
61
61
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
62
62
  var import_v42 = require("zod/v4");
63
- var googleEmbeddingContentPartSchema = import_v42.z.union([
63
+ var googleEmbeddingContentPartSchema = () => import_v42.z.union([
64
64
  import_v42.z.object({ text: import_v42.z.string() }),
65
65
  import_v42.z.object({
66
66
  inlineData: import_v42.z.object({
@@ -108,7 +108,7 @@ var googleGenerativeAIEmbeddingProviderOptions = (0, import_provider_utils2.lazy
108
108
  * The array length must match the number of values being embedded. In
109
109
  * the case of a single embedding, the array length must be 1.
110
110
  */
111
- content: import_v42.z.array(import_v42.z.array(googleEmbeddingContentPartSchema).min(1).nullable()).optional()
111
+ content: import_v42.z.array(import_v42.z.array(googleEmbeddingContentPartSchema()).min(1).nullable()).optional()
112
112
  })
113
113
  )
114
114
  );
@@ -397,6 +397,11 @@ function convertJSONSchemaDefinition(jsonSchema, isRoot, referenceContext) {
397
397
  const nonNullTypes = type.filter((t) => t !== "null");
398
398
  if (nonNullTypes.length === 0) {
399
399
  result.type = "null";
400
+ } else if (nonNullTypes.length === 1) {
401
+ result.type = nonNullTypes[0];
402
+ if (hasNull) {
403
+ result.nullable = true;
404
+ }
400
405
  } else {
401
406
  result.anyOf = nonNullTypes.map((t) => ({ type: t }));
402
407
  if (hasNull) {
@@ -2182,13 +2187,13 @@ var getSafetyRatingSchema = () => import_v45.z.object({
2182
2187
  severityScore: import_v45.z.number().nullish(),
2183
2188
  blocked: import_v45.z.boolean().nullish()
2184
2189
  });
2185
- var tokenDetailsSchema = import_v45.z.array(
2190
+ var tokenDetailsSchema = () => import_v45.z.array(
2186
2191
  import_v45.z.object({
2187
2192
  modality: import_v45.z.string(),
2188
2193
  tokenCount: import_v45.z.number()
2189
2194
  })
2190
2195
  ).nullish();
2191
- var usageSchema = import_v45.z.object({
2196
+ var usageSchema = () => import_v45.z.object({
2192
2197
  cachedContentTokenCount: import_v45.z.number().nullish(),
2193
2198
  thoughtsTokenCount: import_v45.z.number().nullish(),
2194
2199
  promptTokenCount: import_v45.z.number().nullish(),
@@ -2197,8 +2202,8 @@ var usageSchema = import_v45.z.object({
2197
2202
  // https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/v1/GenerateContentResponse#TrafficType
2198
2203
  trafficType: import_v45.z.string().nullish(),
2199
2204
  // https://ai.google.dev/api/generate-content#Modality
2200
- promptTokensDetails: tokenDetailsSchema,
2201
- candidatesTokensDetails: tokenDetailsSchema
2205
+ promptTokensDetails: tokenDetailsSchema(),
2206
+ candidatesTokensDetails: tokenDetailsSchema()
2202
2207
  });
2203
2208
  var getUrlContextMetadataSchema = () => import_v45.z.object({
2204
2209
  urlMetadata: import_v45.z.array(
@@ -2221,7 +2226,7 @@ var responseSchema = (0, import_provider_utils6.lazySchema)(
2221
2226
  urlContextMetadata: getUrlContextMetadataSchema().nullish()
2222
2227
  })
2223
2228
  ).nullish(),
2224
- usageMetadata: usageSchema.nullish(),
2229
+ usageMetadata: usageSchema().nullish(),
2225
2230
  promptFeedback: import_v45.z.object({
2226
2231
  blockReason: import_v45.z.string().nullish(),
2227
2232
  safetyRatings: import_v45.z.array(getSafetyRatingSchema()).nullish()
@@ -2243,7 +2248,7 @@ var chunkSchema = (0, import_provider_utils6.lazySchema)(
2243
2248
  urlContextMetadata: getUrlContextMetadataSchema().nullish()
2244
2249
  })
2245
2250
  ).nullish(),
2246
- usageMetadata: usageSchema.nullish(),
2251
+ usageMetadata: usageSchema().nullish(),
2247
2252
  promptFeedback: import_v45.z.object({
2248
2253
  blockReason: import_v45.z.string().nullish(),
2249
2254
  safetyRatings: import_v45.z.array(getSafetyRatingSchema()).nullish()
@@ -2281,7 +2286,7 @@ var enterpriseWebSearch = (0, import_provider_utils8.createProviderDefinedToolFa
2281
2286
  // src/tool/file-search.ts
2282
2287
  var import_provider_utils9 = require("@ai-sdk/provider-utils");
2283
2288
  var import_v48 = require("zod/v4");
2284
- var fileSearchArgsBaseSchema = import_v48.z.object({
2289
+ var fileSearchArgsBaseSchema = () => import_v48.z.object({
2285
2290
  /** The names of the file_search_stores to retrieve from.
2286
2291
  * Example: `fileSearchStores/my-file-search-store-123`
2287
2292
  */
@@ -2298,7 +2303,7 @@ var fileSearchArgsBaseSchema = import_v48.z.object({
2298
2303
  ).optional()
2299
2304
  }).passthrough();
2300
2305
  var fileSearchArgsSchema = (0, import_provider_utils9.lazySchema)(
2301
- () => (0, import_provider_utils9.zodSchema)(fileSearchArgsBaseSchema)
2306
+ () => (0, import_provider_utils9.zodSchema)(fileSearchArgsBaseSchema())
2302
2307
  );
2303
2308
  var fileSearch = (0, import_provider_utils9.createProviderDefinedToolFactory)({
2304
2309
  id: "google.file_search",
@@ -2318,7 +2323,7 @@ var googleMaps = (0, import_provider_utils10.createProviderDefinedToolFactory)({
2318
2323
  // src/tool/google-search.ts
2319
2324
  var import_provider_utils11 = require("@ai-sdk/provider-utils");
2320
2325
  var import_v410 = require("zod/v4");
2321
- var googleSearchToolArgsBaseSchema = import_v410.z.object({
2326
+ var googleSearchToolArgsBaseSchema = () => import_v410.z.object({
2322
2327
  searchTypes: import_v410.z.object({
2323
2328
  webSearch: import_v410.z.object({}).optional(),
2324
2329
  imageSearch: import_v410.z.object({}).optional()
@@ -2329,7 +2334,7 @@ var googleSearchToolArgsBaseSchema = import_v410.z.object({
2329
2334
  }).optional()
2330
2335
  }).passthrough();
2331
2336
  var googleSearchToolArgsSchema = (0, import_provider_utils11.lazySchema)(
2332
- () => (0, import_provider_utils11.zodSchema)(googleSearchToolArgsBaseSchema)
2337
+ () => (0, import_provider_utils11.zodSchema)(googleSearchToolArgsBaseSchema())
2333
2338
  );
2334
2339
  var googleSearch = (0, import_provider_utils11.createProviderDefinedToolFactory)({
2335
2340
  id: "google.google_search",