@ai-sdk/google 3.0.136 → 3.0.138
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 +15 -0
- package/dist/index.d.mts +8 -11
- package/dist/index.d.ts +8 -11
- package/dist/index.js +248 -230
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +158 -135
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +19 -14
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +19 -14
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/convert-json-schema-to-openapi-schema.ts +11 -1
- package/src/google-generative-ai-embedding-options.ts +15 -14
- package/src/google-generative-ai-image-model.ts +1 -1
- package/src/google-generative-ai-language-model.ts +43 -40
- package/src/google-generative-ai-video-model.ts +30 -26
- package/src/tool/file-search.ts +33 -30
- package/src/tool/google-search.ts +19 -18
- package/src/transcription/google-transcription-model-options.ts +40 -31
- package/src/transcription/google-transcription-model.ts +37 -30
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
29
29
|
|
|
30
30
|
// src/transcription/google-transcription-model.ts
|
|
31
31
|
var import_provider = require("@ai-sdk/provider");
|
|
32
|
-
var
|
|
32
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
33
33
|
var import_v43 = require("zod/v4");
|
|
34
34
|
|
|
35
35
|
// src/google-error.ts
|
|
@@ -53,37 +53,42 @@ var googleFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
|
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
// src/transcription/google-transcription-model-options.ts
|
|
56
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
56
57
|
var import_v42 = require("zod/v4");
|
|
57
|
-
var googleTranscriptionModelOptions =
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
58
|
+
var googleTranscriptionModelOptions = (0, import_provider_utils2.lazySchema)(
|
|
59
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
60
|
+
import_v42.z.object({
|
|
61
|
+
/**
|
|
62
|
+
* BCP-47 language codes providing hints about the languages present in the
|
|
63
|
+
* audio. If omitted or empty, defaults to automatic language detection.
|
|
64
|
+
*/
|
|
65
|
+
languageCodes: import_v42.z.array(import_v42.z.string()).optional(),
|
|
66
|
+
/**
|
|
67
|
+
* Custom vocabulary phrases, which bias the speech recognition model
|
|
68
|
+
* toward recognizing specific terms.
|
|
69
|
+
*/
|
|
70
|
+
customVocabulary: import_v42.z.array(import_v42.z.string()).optional(),
|
|
71
|
+
/**
|
|
72
|
+
* Enables word-level timestamp generation.
|
|
73
|
+
*/
|
|
74
|
+
wordTimestamp: import_v42.z.boolean().optional(),
|
|
75
|
+
/**
|
|
76
|
+
* Enables speaker diarization.
|
|
77
|
+
*/
|
|
78
|
+
diarization: import_v42.z.boolean().optional(),
|
|
79
|
+
/**
|
|
80
|
+
* Transcription output formatting mode.
|
|
81
|
+
*
|
|
82
|
+
* - `VERBATIM` (default): exact literal transcript preserving filler
|
|
83
|
+
* words, repetitions, and false starts.
|
|
84
|
+
* - `SMART`: cleans up and structures the transcript in real time —
|
|
85
|
+
* disfluency removal, inline self-corrections, structured formatting
|
|
86
|
+
* (lists, numbers, dates, paragraph breaks), and grammar/casing polish.
|
|
87
|
+
*/
|
|
88
|
+
mode: import_v42.z.enum(["SMART", "VERBATIM"]).optional()
|
|
89
|
+
})
|
|
90
|
+
)
|
|
91
|
+
);
|
|
87
92
|
|
|
88
93
|
// src/transcription/google-transcription-model.ts
|
|
89
94
|
function isLiveTranscriptionModelId(modelId) {
|
|
@@ -99,7 +104,7 @@ var GoogleTranscriptionModel = class {
|
|
|
99
104
|
return this.config.provider;
|
|
100
105
|
}
|
|
101
106
|
async parseOptions(providerOptions) {
|
|
102
|
-
return (0,
|
|
107
|
+
return (0, import_provider_utils3.parseProviderOptions)({
|
|
103
108
|
provider: "google",
|
|
104
109
|
providerOptions,
|
|
105
110
|
schema: googleTranscriptionModelOptions
|
|
@@ -122,7 +127,7 @@ var GoogleTranscriptionModel = class {
|
|
|
122
127
|
input: [
|
|
123
128
|
{
|
|
124
129
|
type: "audio",
|
|
125
|
-
data: (0,
|
|
130
|
+
data: (0, import_provider_utils3.convertToBase64)(options.audio),
|
|
126
131
|
mime_type: options.mediaType
|
|
127
132
|
}
|
|
128
133
|
],
|
|
@@ -132,15 +137,15 @@ var GoogleTranscriptionModel = class {
|
|
|
132
137
|
value: response,
|
|
133
138
|
responseHeaders,
|
|
134
139
|
rawValue: rawResponse
|
|
135
|
-
} = await (0,
|
|
140
|
+
} = await (0, import_provider_utils3.postJsonToApi)({
|
|
136
141
|
url: `${this.config.baseURL}/interactions`,
|
|
137
|
-
headers: (0,
|
|
138
|
-
this.config.headers ? await (0,
|
|
142
|
+
headers: (0, import_provider_utils3.combineHeaders)(
|
|
143
|
+
this.config.headers ? await (0, import_provider_utils3.resolve)(this.config.headers) : void 0,
|
|
139
144
|
options.headers
|
|
140
145
|
),
|
|
141
146
|
body: requestBody,
|
|
142
147
|
failedResponseHandler: googleFailedResponseHandler,
|
|
143
|
-
successfulResponseHandler: (0,
|
|
148
|
+
successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)(
|
|
144
149
|
googleInteractionsTranscriptionResponseSchema
|
|
145
150
|
),
|
|
146
151
|
abortSignal: options.abortSignal,
|
|
@@ -207,45 +212,49 @@ function parseOffsetSeconds(offset) {
|
|
|
207
212
|
const parsed = Number.parseFloat(offset);
|
|
208
213
|
return Number.isFinite(parsed) ? parsed : void 0;
|
|
209
214
|
}
|
|
210
|
-
var googleInteractionsWordAnnotationSchema = import_v43.z.object({
|
|
215
|
+
var googleInteractionsWordAnnotationSchema = () => import_v43.z.object({
|
|
211
216
|
type: import_v43.z.string().nullish(),
|
|
212
217
|
text: import_v43.z.string().nullish(),
|
|
213
218
|
speaker: import_v43.z.string().nullish(),
|
|
214
219
|
start_offset: import_v43.z.string().nullish(),
|
|
215
220
|
end_offset: import_v43.z.string().nullish()
|
|
216
221
|
});
|
|
217
|
-
var googleInteractionsTranscriptionResponseSchema =
|
|
218
|
-
|
|
219
|
-
steps: import_v43.z.array(
|
|
222
|
+
var googleInteractionsTranscriptionResponseSchema = (0, import_provider_utils3.lazySchema)(
|
|
223
|
+
() => (0, import_provider_utils3.zodSchema)(
|
|
220
224
|
import_v43.z.object({
|
|
221
|
-
|
|
222
|
-
|
|
225
|
+
status: import_v43.z.string().nullish(),
|
|
226
|
+
steps: import_v43.z.array(
|
|
223
227
|
import_v43.z.object({
|
|
224
228
|
type: import_v43.z.string().nullish(),
|
|
225
|
-
|
|
226
|
-
|
|
229
|
+
content: import_v43.z.array(
|
|
230
|
+
import_v43.z.object({
|
|
231
|
+
type: import_v43.z.string().nullish(),
|
|
232
|
+
text: import_v43.z.string().nullish(),
|
|
233
|
+
annotations: import_v43.z.array(googleInteractionsWordAnnotationSchema()).nullish()
|
|
234
|
+
})
|
|
235
|
+
).nullish()
|
|
227
236
|
})
|
|
228
|
-
).nullish()
|
|
237
|
+
).nullish(),
|
|
238
|
+
usage: import_v43.z.record(import_v43.z.string(), import_v43.z.unknown()).nullish()
|
|
229
239
|
})
|
|
230
|
-
)
|
|
231
|
-
|
|
232
|
-
});
|
|
240
|
+
)
|
|
241
|
+
);
|
|
233
242
|
|
|
234
243
|
// src/google-provider.ts
|
|
235
|
-
var
|
|
244
|
+
var import_provider_utils26 = require("@ai-sdk/provider-utils");
|
|
236
245
|
|
|
237
246
|
// src/version.ts
|
|
238
|
-
var VERSION = true ? "3.0.
|
|
247
|
+
var VERSION = true ? "3.0.138" : "0.0.0-test";
|
|
239
248
|
|
|
240
249
|
// src/google-generative-ai-embedding-model.ts
|
|
241
250
|
var import_provider2 = require("@ai-sdk/provider");
|
|
242
|
-
var
|
|
251
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
243
252
|
var import_v45 = require("zod/v4");
|
|
244
253
|
|
|
245
254
|
// src/google-generative-ai-embedding-options.ts
|
|
246
|
-
var
|
|
255
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
247
256
|
var import_v44 = require("zod/v4");
|
|
248
|
-
var googleEmbeddingContentPartSchema = import_v44.z.union([
|
|
257
|
+
var googleEmbeddingContentPartSchema = () => import_v44.z.union([
|
|
249
258
|
import_v44.z.object({ text: import_v44.z.string() }),
|
|
250
259
|
import_v44.z.object({
|
|
251
260
|
inlineData: import_v44.z.object({
|
|
@@ -260,8 +269,8 @@ var googleEmbeddingContentPartSchema = import_v44.z.union([
|
|
|
260
269
|
})
|
|
261
270
|
})
|
|
262
271
|
]);
|
|
263
|
-
var googleEmbeddingModelOptions = (0,
|
|
264
|
-
() => (0,
|
|
272
|
+
var googleEmbeddingModelOptions = (0, import_provider_utils4.lazySchema)(
|
|
273
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
265
274
|
import_v44.z.object({
|
|
266
275
|
/**
|
|
267
276
|
* Optional. Optional reduced dimension for the output embedding.
|
|
@@ -299,14 +308,14 @@ var googleEmbeddingModelOptions = (0, import_provider_utils3.lazySchema)(
|
|
|
299
308
|
* The array length must match the number of values being embedded. In
|
|
300
309
|
* the case of a single embedding, the array length must be 1.
|
|
301
310
|
*/
|
|
302
|
-
content: import_v44.z.array(import_v44.z.array(googleEmbeddingContentPartSchema).min(1).nullable()).optional()
|
|
311
|
+
content: import_v44.z.array(import_v44.z.array(googleEmbeddingContentPartSchema()).min(1).nullable()).optional()
|
|
303
312
|
})
|
|
304
313
|
)
|
|
305
314
|
);
|
|
306
315
|
|
|
307
316
|
// src/google-generative-ai-embedding-model.ts
|
|
308
317
|
var _a;
|
|
309
|
-
_a =
|
|
318
|
+
_a = import_provider_utils5.EXPERIMENTAL_EMBEDDING_MODEL_PROVIDER_OPTIONS_TRANSFORMER;
|
|
310
319
|
var GoogleGenerativeAIEmbeddingModel = class {
|
|
311
320
|
constructor(modelId, config) {
|
|
312
321
|
this.specificationVersion = "v3";
|
|
@@ -342,7 +351,7 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
342
351
|
abortSignal,
|
|
343
352
|
providerOptions
|
|
344
353
|
}) {
|
|
345
|
-
const googleOptions = await (0,
|
|
354
|
+
const googleOptions = await (0, import_provider_utils5.parseProviderOptions)({
|
|
346
355
|
provider: "google",
|
|
347
356
|
providerOptions,
|
|
348
357
|
schema: googleEmbeddingModelOptions
|
|
@@ -355,8 +364,8 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
355
364
|
values
|
|
356
365
|
});
|
|
357
366
|
}
|
|
358
|
-
const mergedHeaders = (0,
|
|
359
|
-
await (0,
|
|
367
|
+
const mergedHeaders = (0, import_provider_utils5.combineHeaders)(
|
|
368
|
+
await (0, import_provider_utils5.resolve)(this.config.headers),
|
|
360
369
|
headers
|
|
361
370
|
);
|
|
362
371
|
const multimodalContent = googleOptions == null ? void 0 : googleOptions.content;
|
|
@@ -369,7 +378,7 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
369
378
|
responseHeaders: responseHeaders2,
|
|
370
379
|
value: response2,
|
|
371
380
|
rawValue: rawValue2
|
|
372
|
-
} = await (0,
|
|
381
|
+
} = await (0, import_provider_utils5.postJsonToApi)({
|
|
373
382
|
url: `${this.config.baseURL}/models/${this.modelId}:embedContent`,
|
|
374
383
|
headers: mergedHeaders,
|
|
375
384
|
body: {
|
|
@@ -381,7 +390,7 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
381
390
|
taskType: googleOptions == null ? void 0 : googleOptions.taskType
|
|
382
391
|
},
|
|
383
392
|
failedResponseHandler: googleFailedResponseHandler,
|
|
384
|
-
successfulResponseHandler: (0,
|
|
393
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
|
|
385
394
|
googleGenerativeAISingleEmbeddingResponseSchema
|
|
386
395
|
),
|
|
387
396
|
abortSignal,
|
|
@@ -398,7 +407,7 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
398
407
|
responseHeaders,
|
|
399
408
|
value: response,
|
|
400
409
|
rawValue
|
|
401
|
-
} = await (0,
|
|
410
|
+
} = await (0, import_provider_utils5.postJsonToApi)({
|
|
402
411
|
url: `${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,
|
|
403
412
|
headers: mergedHeaders,
|
|
404
413
|
body: {
|
|
@@ -417,7 +426,7 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
417
426
|
})
|
|
418
427
|
},
|
|
419
428
|
failedResponseHandler: googleFailedResponseHandler,
|
|
420
|
-
successfulResponseHandler: (0,
|
|
429
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
|
|
421
430
|
googleGenerativeAITextEmbeddingResponseSchema
|
|
422
431
|
),
|
|
423
432
|
abortSignal,
|
|
@@ -431,15 +440,15 @@ var GoogleGenerativeAIEmbeddingModel = class {
|
|
|
431
440
|
};
|
|
432
441
|
}
|
|
433
442
|
};
|
|
434
|
-
var googleGenerativeAITextEmbeddingResponseSchema = (0,
|
|
435
|
-
() => (0,
|
|
443
|
+
var googleGenerativeAITextEmbeddingResponseSchema = (0, import_provider_utils5.lazySchema)(
|
|
444
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
436
445
|
import_v45.z.object({
|
|
437
446
|
embeddings: import_v45.z.array(import_v45.z.object({ values: import_v45.z.array(import_v45.z.number()) }))
|
|
438
447
|
})
|
|
439
448
|
)
|
|
440
449
|
);
|
|
441
|
-
var googleGenerativeAISingleEmbeddingResponseSchema = (0,
|
|
442
|
-
() => (0,
|
|
450
|
+
var googleGenerativeAISingleEmbeddingResponseSchema = (0, import_provider_utils5.lazySchema)(
|
|
451
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
443
452
|
import_v45.z.object({
|
|
444
453
|
embedding: import_v45.z.object({ values: import_v45.z.array(import_v45.z.number()) })
|
|
445
454
|
})
|
|
@@ -457,7 +466,7 @@ function validateMultimodalContentLength({
|
|
|
457
466
|
}
|
|
458
467
|
|
|
459
468
|
// src/google-generative-ai-language-model.ts
|
|
460
|
-
var
|
|
469
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
461
470
|
var import_v47 = require("zod/v4");
|
|
462
471
|
|
|
463
472
|
// src/continue-google-stream.ts
|
|
@@ -665,6 +674,11 @@ function convertJSONSchemaDefinition(jsonSchema, isRoot, referenceContext) {
|
|
|
665
674
|
const nonNullTypes = type.filter((t) => t !== "null");
|
|
666
675
|
if (nonNullTypes.length === 0) {
|
|
667
676
|
result.type = "null";
|
|
677
|
+
} else if (nonNullTypes.length === 1) {
|
|
678
|
+
result.type = nonNullTypes[0];
|
|
679
|
+
if (hasNull) {
|
|
680
|
+
result.nullable = true;
|
|
681
|
+
}
|
|
668
682
|
} else {
|
|
669
683
|
result.anyOf = nonNullTypes.map((t) => ({ type: t }));
|
|
670
684
|
if (hasNull) {
|
|
@@ -875,7 +889,7 @@ function isEmptyObjectSchema(jsonSchema) {
|
|
|
875
889
|
|
|
876
890
|
// src/convert-to-google-generative-ai-messages.ts
|
|
877
891
|
var import_provider4 = require("@ai-sdk/provider");
|
|
878
|
-
var
|
|
892
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
879
893
|
var SKIP_THOUGHT_SIGNATURE_VALIDATOR = "skip_thought_signature_validator";
|
|
880
894
|
function getGoogleProviderOptions(providerOptions, providerOptionsName) {
|
|
881
895
|
const namespaces = [
|
|
@@ -914,7 +928,7 @@ function convertUrlToolResultPart(url, mediaType, supportedFunctionResponseUrls)
|
|
|
914
928
|
}
|
|
915
929
|
};
|
|
916
930
|
}
|
|
917
|
-
return mediaType != null && (0,
|
|
931
|
+
return mediaType != null && (0, import_provider_utils6.isUrlSupported)({
|
|
918
932
|
url,
|
|
919
933
|
mediaType,
|
|
920
934
|
supportedUrls: supportedFunctionResponseUrls
|
|
@@ -1063,7 +1077,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {
|
|
|
1063
1077
|
} : {
|
|
1064
1078
|
inlineData: {
|
|
1065
1079
|
mimeType: mediaType,
|
|
1066
|
-
data: (0,
|
|
1080
|
+
data: (0, import_provider_utils6.convertToBase64)(part.data)
|
|
1067
1081
|
}
|
|
1068
1082
|
}
|
|
1069
1083
|
);
|
|
@@ -1108,7 +1122,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {
|
|
|
1108
1122
|
return {
|
|
1109
1123
|
inlineData: {
|
|
1110
1124
|
mimeType: part.mediaType,
|
|
1111
|
-
data: (0,
|
|
1125
|
+
data: (0, import_provider_utils6.convertToBase64)(part.data)
|
|
1112
1126
|
},
|
|
1113
1127
|
...(providerOpts == null ? void 0 : providerOpts.thought) === true ? { thought: true } : {},
|
|
1114
1128
|
thoughtSignature
|
|
@@ -1133,7 +1147,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {
|
|
|
1133
1147
|
return {
|
|
1134
1148
|
toolCall: {
|
|
1135
1149
|
toolType: serverToolType,
|
|
1136
|
-
args: typeof part.input === "string" ? (0,
|
|
1150
|
+
args: typeof part.input === "string" ? (0, import_provider_utils6.secureJsonParse)(part.input) : part.input,
|
|
1137
1151
|
id: serverToolCallId
|
|
1138
1152
|
},
|
|
1139
1153
|
thoughtSignature: effectiveThoughtSignature
|
|
@@ -1257,7 +1271,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {
|
|
|
1257
1271
|
}
|
|
1258
1272
|
|
|
1259
1273
|
// src/download-tool-result-files.ts
|
|
1260
|
-
var
|
|
1274
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1261
1275
|
async function downloadToolResultFiles(prompt, {
|
|
1262
1276
|
abortSignal,
|
|
1263
1277
|
supportedUrls = {}
|
|
@@ -1274,17 +1288,17 @@ async function downloadToolResultFiles(prompt, {
|
|
|
1274
1288
|
if (part.type !== "file-url" && part.type !== "image-url") {
|
|
1275
1289
|
return part;
|
|
1276
1290
|
}
|
|
1277
|
-
if (part.type === "file-url" && part.mediaType != null && (0,
|
|
1291
|
+
if (part.type === "file-url" && part.mediaType != null && (0, import_provider_utils7.isUrlSupported)({
|
|
1278
1292
|
url: part.url,
|
|
1279
1293
|
mediaType: part.mediaType,
|
|
1280
1294
|
supportedUrls
|
|
1281
1295
|
})) {
|
|
1282
1296
|
return part;
|
|
1283
1297
|
}
|
|
1284
|
-
const blob = await (0,
|
|
1298
|
+
const blob = await (0, import_provider_utils7.downloadBlob)(part.url, { abortSignal });
|
|
1285
1299
|
return {
|
|
1286
1300
|
type: part.type === "file-url" ? "file-data" : "image-data",
|
|
1287
|
-
data: (0,
|
|
1301
|
+
data: (0, import_provider_utils7.convertUint8ArrayToBase64)(
|
|
1288
1302
|
new Uint8Array(await blob.arrayBuffer())
|
|
1289
1303
|
),
|
|
1290
1304
|
mediaType: blob.type || (part.type === "file-url" ? (_a2 = part.mediaType) != null ? _a2 : "application/octet-stream" : "image/*"),
|
|
@@ -1328,10 +1342,10 @@ function getModelPath(modelId) {
|
|
|
1328
1342
|
}
|
|
1329
1343
|
|
|
1330
1344
|
// src/google-generative-ai-options.ts
|
|
1331
|
-
var
|
|
1345
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1332
1346
|
var import_v46 = require("zod/v4");
|
|
1333
|
-
var googleLanguageModelOptions = (0,
|
|
1334
|
-
() => (0,
|
|
1347
|
+
var googleLanguageModelOptions = (0, import_provider_utils8.lazySchema)(
|
|
1348
|
+
() => (0, import_provider_utils8.zodSchema)(
|
|
1335
1349
|
import_v46.z.object({
|
|
1336
1350
|
responseModalities: import_v46.z.array(import_v46.z.enum(["TEXT", "IMAGE"])).optional(),
|
|
1337
1351
|
thinkingConfig: import_v46.z.object({
|
|
@@ -2091,7 +2105,7 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
2091
2105
|
var _a2;
|
|
2092
2106
|
this.modelId = modelId;
|
|
2093
2107
|
this.config = config;
|
|
2094
|
-
this.generateId = (_a2 = config.generateId) != null ? _a2 :
|
|
2108
|
+
this.generateId = (_a2 = config.generateId) != null ? _a2 : import_provider_utils9.generateId;
|
|
2095
2109
|
}
|
|
2096
2110
|
get provider() {
|
|
2097
2111
|
return this.config.provider;
|
|
@@ -2119,13 +2133,13 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
2119
2133
|
var _a2, _b, _c;
|
|
2120
2134
|
const warnings = [];
|
|
2121
2135
|
const providerOptionsName = this.config.provider.includes("vertex") ? "vertex" : "google";
|
|
2122
|
-
let googleOptions = await (0,
|
|
2136
|
+
let googleOptions = await (0, import_provider_utils9.parseProviderOptions)({
|
|
2123
2137
|
provider: providerOptionsName,
|
|
2124
2138
|
providerOptions,
|
|
2125
2139
|
schema: googleLanguageModelOptions
|
|
2126
2140
|
});
|
|
2127
2141
|
if (googleOptions == null && providerOptionsName !== "google") {
|
|
2128
|
-
googleOptions = await (0,
|
|
2142
|
+
googleOptions = await (0, import_provider_utils9.parseProviderOptions)({
|
|
2129
2143
|
provider: "google",
|
|
2130
2144
|
providerOptions,
|
|
2131
2145
|
schema: googleLanguageModelOptions
|
|
@@ -2297,19 +2311,19 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
2297
2311
|
async doGenerate(options) {
|
|
2298
2312
|
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B;
|
|
2299
2313
|
const { args, warnings, providerOptionsName, extraHeaders } = await this.getArgs(options);
|
|
2300
|
-
const mergedHeaders = (0,
|
|
2301
|
-
await (0,
|
|
2314
|
+
const mergedHeaders = (0, import_provider_utils9.combineHeaders)(
|
|
2315
|
+
await (0, import_provider_utils9.resolve)(this.config.headers),
|
|
2302
2316
|
options.headers,
|
|
2303
2317
|
extraHeaders
|
|
2304
2318
|
);
|
|
2305
|
-
const generateContent = (body) => (0,
|
|
2319
|
+
const generateContent = (body) => (0, import_provider_utils9.postJsonToApi)({
|
|
2306
2320
|
url: `${this.config.baseURL}/${getModelPath(
|
|
2307
2321
|
this.modelId
|
|
2308
2322
|
)}:generateContent`,
|
|
2309
2323
|
headers: mergedHeaders,
|
|
2310
2324
|
body,
|
|
2311
2325
|
failedResponseHandler: googleFailedResponseHandler,
|
|
2312
|
-
successfulResponseHandler: (0,
|
|
2326
|
+
successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(responseSchema),
|
|
2313
2327
|
abortSignal: options.abortSignal,
|
|
2314
2328
|
fetch: this.config.fetch
|
|
2315
2329
|
});
|
|
@@ -2513,19 +2527,19 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
2513
2527
|
}
|
|
2514
2528
|
async doStream(options) {
|
|
2515
2529
|
const { args, warnings, providerOptionsName, extraHeaders } = await this.getArgs(options, { isStreaming: true });
|
|
2516
|
-
const headers = (0,
|
|
2517
|
-
await (0,
|
|
2530
|
+
const headers = (0, import_provider_utils9.combineHeaders)(
|
|
2531
|
+
await (0, import_provider_utils9.resolve)(this.config.headers),
|
|
2518
2532
|
options.headers,
|
|
2519
2533
|
extraHeaders
|
|
2520
2534
|
);
|
|
2521
|
-
const streamGenerateContent = (body) => (0,
|
|
2535
|
+
const streamGenerateContent = (body) => (0, import_provider_utils9.postJsonToApi)({
|
|
2522
2536
|
url: `${this.config.baseURL}/${getModelPath(
|
|
2523
2537
|
this.modelId
|
|
2524
2538
|
)}:streamGenerateContent?alt=sse`,
|
|
2525
2539
|
headers,
|
|
2526
2540
|
body,
|
|
2527
2541
|
failedResponseHandler: googleFailedResponseHandler,
|
|
2528
|
-
successfulResponseHandler: (0,
|
|
2542
|
+
successfulResponseHandler: (0, import_provider_utils9.createEventSourceResponseHandler)(chunkSchema),
|
|
2529
2543
|
abortSignal: options.abortSignal,
|
|
2530
2544
|
fetch: this.config.fetch
|
|
2531
2545
|
});
|
|
@@ -3163,7 +3177,7 @@ var getGroundingMetadataSchema = () => import_v47.z.object({
|
|
|
3163
3177
|
import_v47.z.object({})
|
|
3164
3178
|
]).nullish()
|
|
3165
3179
|
});
|
|
3166
|
-
var partialArgSchema = import_v47.z.object({
|
|
3180
|
+
var partialArgSchema = () => import_v47.z.object({
|
|
3167
3181
|
jsonPath: import_v47.z.string(),
|
|
3168
3182
|
stringValue: import_v47.z.string().nullish(),
|
|
3169
3183
|
numberValue: import_v47.z.number().nullish(),
|
|
@@ -3180,7 +3194,7 @@ var getContentSchema = () => import_v47.z.object({
|
|
|
3180
3194
|
id: import_v47.z.string().nullish(),
|
|
3181
3195
|
name: import_v47.z.string().nullish(),
|
|
3182
3196
|
args: import_v47.z.unknown().nullish(),
|
|
3183
|
-
partialArgs: import_v47.z.array(partialArgSchema).nullish(),
|
|
3197
|
+
partialArgs: import_v47.z.array(partialArgSchema()).nullish(),
|
|
3184
3198
|
willContinue: import_v47.z.boolean().nullish()
|
|
3185
3199
|
}),
|
|
3186
3200
|
thoughtSignature: import_v47.z.string().nullish()
|
|
@@ -3233,13 +3247,13 @@ var getSafetyRatingSchema = () => import_v47.z.object({
|
|
|
3233
3247
|
severityScore: import_v47.z.number().nullish(),
|
|
3234
3248
|
blocked: import_v47.z.boolean().nullish()
|
|
3235
3249
|
});
|
|
3236
|
-
var tokenDetailsSchema = import_v47.z.array(
|
|
3250
|
+
var tokenDetailsSchema = () => import_v47.z.array(
|
|
3237
3251
|
import_v47.z.object({
|
|
3238
3252
|
modality: import_v47.z.string(),
|
|
3239
3253
|
tokenCount: import_v47.z.number()
|
|
3240
3254
|
}).catchall(import_v47.z.json())
|
|
3241
3255
|
).nullish();
|
|
3242
|
-
var usageSchema = import_v47.z.object({
|
|
3256
|
+
var usageSchema = () => import_v47.z.object({
|
|
3243
3257
|
cachedContentTokenCount: import_v47.z.number().nullish(),
|
|
3244
3258
|
thoughtsTokenCount: import_v47.z.number().nullish(),
|
|
3245
3259
|
promptTokenCount: import_v47.z.number().nullish(),
|
|
@@ -3250,10 +3264,10 @@ var usageSchema = import_v47.z.object({
|
|
|
3250
3264
|
trafficType: import_v47.z.string().nullish(),
|
|
3251
3265
|
serviceTier: import_v47.z.string().nullish(),
|
|
3252
3266
|
// https://ai.google.dev/api/generate-content#Modality
|
|
3253
|
-
promptTokensDetails: tokenDetailsSchema,
|
|
3254
|
-
cacheTokensDetails: tokenDetailsSchema,
|
|
3255
|
-
candidatesTokensDetails: tokenDetailsSchema,
|
|
3256
|
-
toolUsePromptTokensDetails: tokenDetailsSchema
|
|
3267
|
+
promptTokensDetails: tokenDetailsSchema(),
|
|
3268
|
+
cacheTokensDetails: tokenDetailsSchema(),
|
|
3269
|
+
candidatesTokensDetails: tokenDetailsSchema(),
|
|
3270
|
+
toolUsePromptTokensDetails: tokenDetailsSchema()
|
|
3257
3271
|
}).catchall(import_v47.z.json());
|
|
3258
3272
|
var getUrlContextMetadataSchema = () => import_v47.z.object({
|
|
3259
3273
|
urlMetadata: import_v47.z.array(
|
|
@@ -3263,8 +3277,8 @@ var getUrlContextMetadataSchema = () => import_v47.z.object({
|
|
|
3263
3277
|
})
|
|
3264
3278
|
).nullish()
|
|
3265
3279
|
});
|
|
3266
|
-
var responseSchema = (0,
|
|
3267
|
-
() => (0,
|
|
3280
|
+
var responseSchema = (0, import_provider_utils9.lazySchema)(
|
|
3281
|
+
() => (0, import_provider_utils9.zodSchema)(
|
|
3268
3282
|
import_v47.z.object({
|
|
3269
3283
|
responseId: import_v47.z.string().nullish(),
|
|
3270
3284
|
candidates: import_v47.z.array(
|
|
@@ -3278,7 +3292,7 @@ var responseSchema = (0, import_provider_utils8.lazySchema)(
|
|
|
3278
3292
|
urlContextMetadata: getUrlContextMetadataSchema().nullish()
|
|
3279
3293
|
})
|
|
3280
3294
|
).nullish(),
|
|
3281
|
-
usageMetadata: usageSchema.nullish(),
|
|
3295
|
+
usageMetadata: usageSchema().nullish(),
|
|
3282
3296
|
promptFeedback: import_v47.z.object({
|
|
3283
3297
|
blockReason: import_v47.z.string().nullish(),
|
|
3284
3298
|
safetyRatings: import_v47.z.array(getSafetyRatingSchema()).nullish()
|
|
@@ -3286,8 +3300,8 @@ var responseSchema = (0, import_provider_utils8.lazySchema)(
|
|
|
3286
3300
|
})
|
|
3287
3301
|
)
|
|
3288
3302
|
);
|
|
3289
|
-
var chunkSchema = (0,
|
|
3290
|
-
() => (0,
|
|
3303
|
+
var chunkSchema = (0, import_provider_utils9.lazySchema)(
|
|
3304
|
+
() => (0, import_provider_utils9.zodSchema)(
|
|
3291
3305
|
import_v47.z.object({
|
|
3292
3306
|
responseId: import_v47.z.string().nullish(),
|
|
3293
3307
|
candidates: import_v47.z.array(
|
|
@@ -3301,7 +3315,7 @@ var chunkSchema = (0, import_provider_utils8.lazySchema)(
|
|
|
3301
3315
|
urlContextMetadata: getUrlContextMetadataSchema().nullish()
|
|
3302
3316
|
})
|
|
3303
3317
|
).nullish(),
|
|
3304
|
-
usageMetadata: usageSchema.nullish(),
|
|
3318
|
+
usageMetadata: usageSchema().nullish(),
|
|
3305
3319
|
promptFeedback: import_v47.z.object({
|
|
3306
3320
|
blockReason: import_v47.z.string().nullish(),
|
|
3307
3321
|
safetyRatings: import_v47.z.array(getSafetyRatingSchema()).nullish()
|
|
@@ -3314,9 +3328,9 @@ function isConfirmedPromptBlockReason(blockReason) {
|
|
|
3314
3328
|
}
|
|
3315
3329
|
|
|
3316
3330
|
// src/tool/code-execution.ts
|
|
3317
|
-
var
|
|
3331
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
3318
3332
|
var import_v48 = require("zod/v4");
|
|
3319
|
-
var codeExecution = (0,
|
|
3333
|
+
var codeExecution = (0, import_provider_utils10.createProviderToolFactoryWithOutputSchema)({
|
|
3320
3334
|
id: "google.code_execution",
|
|
3321
3335
|
inputSchema: import_v48.z.object({
|
|
3322
3336
|
language: import_v48.z.string().describe("The programming language of the code."),
|
|
@@ -3329,17 +3343,17 @@ var codeExecution = (0, import_provider_utils9.createProviderToolFactoryWithOutp
|
|
|
3329
3343
|
});
|
|
3330
3344
|
|
|
3331
3345
|
// src/tool/enterprise-web-search.ts
|
|
3332
|
-
var
|
|
3346
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
3333
3347
|
var import_v49 = require("zod/v4");
|
|
3334
|
-
var enterpriseWebSearch = (0,
|
|
3348
|
+
var enterpriseWebSearch = (0, import_provider_utils11.createProviderToolFactory)({
|
|
3335
3349
|
id: "google.enterprise_web_search",
|
|
3336
|
-
inputSchema: (0,
|
|
3350
|
+
inputSchema: (0, import_provider_utils11.lazySchema)(() => (0, import_provider_utils11.zodSchema)(import_v49.z.object({})))
|
|
3337
3351
|
});
|
|
3338
3352
|
|
|
3339
3353
|
// src/tool/file-search.ts
|
|
3340
|
-
var
|
|
3354
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
3341
3355
|
var import_v410 = require("zod/v4");
|
|
3342
|
-
var fileSearchArgsBaseSchema = import_v410.z.object({
|
|
3356
|
+
var fileSearchArgsBaseSchema = () => import_v410.z.object({
|
|
3343
3357
|
/** The names of the file_search_stores to retrieve from.
|
|
3344
3358
|
* Example: `fileSearchStores/my-file-search-store-123`
|
|
3345
3359
|
*/
|
|
@@ -3355,26 +3369,26 @@ var fileSearchArgsBaseSchema = import_v410.z.object({
|
|
|
3355
3369
|
"Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression."
|
|
3356
3370
|
).optional()
|
|
3357
3371
|
}).passthrough();
|
|
3358
|
-
var fileSearchArgsSchema = (0,
|
|
3359
|
-
() => (0,
|
|
3372
|
+
var fileSearchArgsSchema = (0, import_provider_utils12.lazySchema)(
|
|
3373
|
+
() => (0, import_provider_utils12.zodSchema)(fileSearchArgsBaseSchema())
|
|
3360
3374
|
);
|
|
3361
|
-
var fileSearch = (0,
|
|
3375
|
+
var fileSearch = (0, import_provider_utils12.createProviderToolFactory)({
|
|
3362
3376
|
id: "google.file_search",
|
|
3363
3377
|
inputSchema: fileSearchArgsSchema
|
|
3364
3378
|
});
|
|
3365
3379
|
|
|
3366
3380
|
// src/tool/google-maps.ts
|
|
3367
|
-
var
|
|
3381
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
3368
3382
|
var import_v411 = require("zod/v4");
|
|
3369
|
-
var googleMaps = (0,
|
|
3383
|
+
var googleMaps = (0, import_provider_utils13.createProviderToolFactory)({
|
|
3370
3384
|
id: "google.google_maps",
|
|
3371
|
-
inputSchema: (0,
|
|
3385
|
+
inputSchema: (0, import_provider_utils13.lazySchema)(() => (0, import_provider_utils13.zodSchema)(import_v411.z.object({})))
|
|
3372
3386
|
});
|
|
3373
3387
|
|
|
3374
3388
|
// src/tool/google-search.ts
|
|
3375
|
-
var
|
|
3389
|
+
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
3376
3390
|
var import_v412 = require("zod/v4");
|
|
3377
|
-
var googleSearchToolArgsBaseSchema = import_v412.z.object({
|
|
3391
|
+
var googleSearchToolArgsBaseSchema = () => import_v412.z.object({
|
|
3378
3392
|
searchTypes: import_v412.z.object({
|
|
3379
3393
|
webSearch: import_v412.z.object({}).optional(),
|
|
3380
3394
|
imageSearch: import_v412.z.object({}).optional()
|
|
@@ -3384,10 +3398,10 @@ var googleSearchToolArgsBaseSchema = import_v412.z.object({
|
|
|
3384
3398
|
endTime: import_v412.z.string()
|
|
3385
3399
|
}).optional()
|
|
3386
3400
|
}).passthrough();
|
|
3387
|
-
var googleSearchToolArgsSchema = (0,
|
|
3388
|
-
() => (0,
|
|
3401
|
+
var googleSearchToolArgsSchema = (0, import_provider_utils14.lazySchema)(
|
|
3402
|
+
() => (0, import_provider_utils14.zodSchema)(googleSearchToolArgsBaseSchema())
|
|
3389
3403
|
);
|
|
3390
|
-
var googleSearch = (0,
|
|
3404
|
+
var googleSearch = (0, import_provider_utils14.createProviderToolFactory)(
|
|
3391
3405
|
{
|
|
3392
3406
|
id: "google.google_search",
|
|
3393
3407
|
inputSchema: googleSearchToolArgsSchema
|
|
@@ -3395,17 +3409,17 @@ var googleSearch = (0, import_provider_utils13.createProviderToolFactory)(
|
|
|
3395
3409
|
);
|
|
3396
3410
|
|
|
3397
3411
|
// src/tool/url-context.ts
|
|
3398
|
-
var
|
|
3412
|
+
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
|
3399
3413
|
var import_v413 = require("zod/v4");
|
|
3400
|
-
var urlContext = (0,
|
|
3414
|
+
var urlContext = (0, import_provider_utils15.createProviderToolFactory)({
|
|
3401
3415
|
id: "google.url_context",
|
|
3402
|
-
inputSchema: (0,
|
|
3416
|
+
inputSchema: (0, import_provider_utils15.lazySchema)(() => (0, import_provider_utils15.zodSchema)(import_v413.z.object({})))
|
|
3403
3417
|
});
|
|
3404
3418
|
|
|
3405
3419
|
// src/tool/vertex-rag-store.ts
|
|
3406
|
-
var
|
|
3420
|
+
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
3407
3421
|
var import_v414 = require("zod/v4");
|
|
3408
|
-
var vertexRagStore = (0,
|
|
3422
|
+
var vertexRagStore = (0, import_provider_utils16.createProviderToolFactory)({
|
|
3409
3423
|
id: "google.vertex_rag_store",
|
|
3410
3424
|
inputSchema: import_v414.z.object({
|
|
3411
3425
|
ragCorpus: import_v414.z.string(),
|
|
@@ -3474,7 +3488,7 @@ var googleTools = {
|
|
|
3474
3488
|
};
|
|
3475
3489
|
|
|
3476
3490
|
// src/google-generative-ai-image-model.ts
|
|
3477
|
-
var
|
|
3491
|
+
var import_provider_utils17 = require("@ai-sdk/provider-utils");
|
|
3478
3492
|
var import_v415 = require("zod/v4");
|
|
3479
3493
|
var GoogleGenerativeAIImageModel = class {
|
|
3480
3494
|
constructor(modelId, settings, config) {
|
|
@@ -3540,7 +3554,7 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3540
3554
|
details: "This model does not support the `seed` option through this provider."
|
|
3541
3555
|
});
|
|
3542
3556
|
}
|
|
3543
|
-
const googleOptions = await (0,
|
|
3557
|
+
const googleOptions = await (0, import_provider_utils17.parseProviderOptions)({
|
|
3544
3558
|
provider: "google",
|
|
3545
3559
|
providerOptions,
|
|
3546
3560
|
schema: googleImageModelOptionsSchema
|
|
@@ -3567,12 +3581,12 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3567
3581
|
instances: [{ prompt }],
|
|
3568
3582
|
parameters
|
|
3569
3583
|
};
|
|
3570
|
-
const { responseHeaders, value: response } = await (0,
|
|
3584
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils17.postJsonToApi)({
|
|
3571
3585
|
url: `${this.config.baseURL}/models/${this.modelId}:predict`,
|
|
3572
|
-
headers: (0,
|
|
3586
|
+
headers: (0, import_provider_utils17.combineHeaders)(await (0, import_provider_utils17.resolve)(this.config.headers), headers),
|
|
3573
3587
|
body,
|
|
3574
3588
|
failedResponseHandler: googleFailedResponseHandler,
|
|
3575
|
-
successfulResponseHandler: (0,
|
|
3589
|
+
successfulResponseHandler: (0, import_provider_utils17.createJsonResponseHandler)(
|
|
3576
3590
|
googleImageResponseSchema
|
|
3577
3591
|
),
|
|
3578
3592
|
abortSignal,
|
|
@@ -3659,7 +3673,7 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3659
3673
|
const languageModelPrompt = [
|
|
3660
3674
|
{ role: "user", content: userContent }
|
|
3661
3675
|
];
|
|
3662
|
-
const googleImageOptions = await (0,
|
|
3676
|
+
const googleImageOptions = await (0, import_provider_utils17.parseProviderOptions)({
|
|
3663
3677
|
provider: "google",
|
|
3664
3678
|
providerOptions,
|
|
3665
3679
|
schema: googleImageModelOptionsSchema
|
|
@@ -3670,7 +3684,7 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3670
3684
|
baseURL: this.config.baseURL,
|
|
3671
3685
|
headers: (_b = this.config.headers) != null ? _b : {},
|
|
3672
3686
|
fetch: this.config.fetch,
|
|
3673
|
-
generateId: (_c = this.config.generateId) != null ? _c :
|
|
3687
|
+
generateId: (_c = this.config.generateId) != null ? _c : import_provider_utils17.generateId
|
|
3674
3688
|
});
|
|
3675
3689
|
const result = await languageModel.doGenerate({
|
|
3676
3690
|
prompt: languageModelPrompt,
|
|
@@ -3699,7 +3713,7 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3699
3713
|
const images = [];
|
|
3700
3714
|
for (const part of result.content) {
|
|
3701
3715
|
if (part.type === "file" && part.mediaType.startsWith("image/")) {
|
|
3702
|
-
images.push((0,
|
|
3716
|
+
images.push((0, import_provider_utils17.convertToBase64)(part.data));
|
|
3703
3717
|
}
|
|
3704
3718
|
}
|
|
3705
3719
|
const languageModelGoogleMetadata = (_h = (_g = result.providerMetadata) == null ? void 0 : _g.google) != null ? _h : {};
|
|
@@ -3729,8 +3743,8 @@ var GoogleGenerativeAIImageModel = class {
|
|
|
3729
3743
|
function isGeminiModel(modelId) {
|
|
3730
3744
|
return modelId.startsWith("gemini-");
|
|
3731
3745
|
}
|
|
3732
|
-
var googleImageResponseSchema = (0,
|
|
3733
|
-
() => (0,
|
|
3746
|
+
var googleImageResponseSchema = (0, import_provider_utils17.lazySchema)(
|
|
3747
|
+
() => (0, import_provider_utils17.zodSchema)(
|
|
3734
3748
|
import_v415.z.object({
|
|
3735
3749
|
predictions: import_v415.z.array(
|
|
3736
3750
|
import_v415.z.union([
|
|
@@ -3741,8 +3755,8 @@ var googleImageResponseSchema = (0, import_provider_utils16.lazySchema)(
|
|
|
3741
3755
|
})
|
|
3742
3756
|
)
|
|
3743
3757
|
);
|
|
3744
|
-
var googleImageModelOptionsSchema = (0,
|
|
3745
|
-
() => (0,
|
|
3758
|
+
var googleImageModelOptionsSchema = (0, import_provider_utils17.lazySchema)(
|
|
3759
|
+
() => (0, import_provider_utils17.zodSchema)(
|
|
3746
3760
|
import_v415.z.object({
|
|
3747
3761
|
personGeneration: import_v415.z.enum(["dont_allow", "allow_adult", "allow_all"]).nullish(),
|
|
3748
3762
|
aspectRatio: import_v415.z.enum(["1:1", "3:4", "4:3", "9:16", "16:9"]).nullish(),
|
|
@@ -3755,14 +3769,14 @@ var googleImageModelOptionsSchema = (0, import_provider_utils16.lazySchema)(
|
|
|
3755
3769
|
* dedicated escape hatch for grounding image generation the same way
|
|
3756
3770
|
* `generateText` does.
|
|
3757
3771
|
*/
|
|
3758
|
-
googleSearch: googleSearchToolArgsBaseSchema.optional()
|
|
3772
|
+
googleSearch: googleSearchToolArgsBaseSchema().optional()
|
|
3759
3773
|
})
|
|
3760
3774
|
)
|
|
3761
3775
|
);
|
|
3762
3776
|
|
|
3763
3777
|
// src/google-generative-ai-video-model.ts
|
|
3764
3778
|
var import_provider6 = require("@ai-sdk/provider");
|
|
3765
|
-
var
|
|
3779
|
+
var import_provider_utils18 = require("@ai-sdk/provider-utils");
|
|
3766
3780
|
var import_v416 = require("zod/v4");
|
|
3767
3781
|
function getFirstFrameImage(options) {
|
|
3768
3782
|
var _a2, _b;
|
|
@@ -3797,7 +3811,7 @@ function convertFileToGoogleImage(file, warnings) {
|
|
|
3797
3811
|
});
|
|
3798
3812
|
return void 0;
|
|
3799
3813
|
}
|
|
3800
|
-
const base64Data = typeof file.data === "string" ? file.data : (0,
|
|
3814
|
+
const base64Data = typeof file.data === "string" ? file.data : (0, import_provider_utils18.convertUint8ArrayToBase64)(file.data);
|
|
3801
3815
|
return {
|
|
3802
3816
|
bytesBase64Encoded: base64Data,
|
|
3803
3817
|
mimeType: file.mediaType || "image/png"
|
|
@@ -3842,7 +3856,7 @@ var GoogleGenerativeAIVideoModel = class {
|
|
|
3842
3856
|
var _a2, _b, _c, _d, _e, _f, _g, _h;
|
|
3843
3857
|
const currentDate = (_c = (_b = (_a2 = this.config._internal) == null ? void 0 : _a2.currentDate) == null ? void 0 : _b.call(_a2)) != null ? _c : /* @__PURE__ */ new Date();
|
|
3844
3858
|
const warnings = [];
|
|
3845
|
-
const googleOptions = await (0,
|
|
3859
|
+
const googleOptions = await (0, import_provider_utils18.parseProviderOptions)({
|
|
3846
3860
|
provider: "google",
|
|
3847
3861
|
providerOptions: options.providerOptions,
|
|
3848
3862
|
schema: googleVideoModelOptionsSchema
|
|
@@ -3917,17 +3931,17 @@ var GoogleGenerativeAIVideoModel = class {
|
|
|
3917
3931
|
}
|
|
3918
3932
|
}
|
|
3919
3933
|
}
|
|
3920
|
-
const { value: operation } = await (0,
|
|
3934
|
+
const { value: operation } = await (0, import_provider_utils18.postJsonToApi)({
|
|
3921
3935
|
url: `${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,
|
|
3922
|
-
headers: (0,
|
|
3923
|
-
await (0,
|
|
3936
|
+
headers: (0, import_provider_utils18.combineHeaders)(
|
|
3937
|
+
await (0, import_provider_utils18.resolve)(this.config.headers),
|
|
3924
3938
|
options.headers
|
|
3925
3939
|
),
|
|
3926
3940
|
body: {
|
|
3927
3941
|
instances,
|
|
3928
3942
|
parameters
|
|
3929
3943
|
},
|
|
3930
|
-
successfulResponseHandler: (0,
|
|
3944
|
+
successfulResponseHandler: (0, import_provider_utils18.createJsonResponseHandler)(
|
|
3931
3945
|
googleOperationSchema
|
|
3932
3946
|
),
|
|
3933
3947
|
failedResponseHandler: googleFailedResponseHandler,
|
|
@@ -3953,20 +3967,20 @@ var GoogleGenerativeAIVideoModel = class {
|
|
|
3953
3967
|
message: `Video generation timed out after ${pollTimeoutMs}ms`
|
|
3954
3968
|
});
|
|
3955
3969
|
}
|
|
3956
|
-
await (0,
|
|
3970
|
+
await (0, import_provider_utils18.delay)(pollIntervalMs);
|
|
3957
3971
|
if ((_f = options.abortSignal) == null ? void 0 : _f.aborted) {
|
|
3958
3972
|
throw new import_provider6.AISDKError({
|
|
3959
3973
|
name: "GOOGLE_VIDEO_GENERATION_ABORTED",
|
|
3960
3974
|
message: "Video generation request was aborted"
|
|
3961
3975
|
});
|
|
3962
3976
|
}
|
|
3963
|
-
const { value: statusOperation, responseHeaders: pollHeaders } = await (0,
|
|
3977
|
+
const { value: statusOperation, responseHeaders: pollHeaders } = await (0, import_provider_utils18.getFromApi)({
|
|
3964
3978
|
url: `${this.config.baseURL}/${operationName}`,
|
|
3965
|
-
headers: (0,
|
|
3966
|
-
await (0,
|
|
3979
|
+
headers: (0, import_provider_utils18.combineHeaders)(
|
|
3980
|
+
await (0, import_provider_utils18.resolve)(this.config.headers),
|
|
3967
3981
|
options.headers
|
|
3968
3982
|
),
|
|
3969
|
-
successfulResponseHandler: (0,
|
|
3983
|
+
successfulResponseHandler: (0, import_provider_utils18.createJsonResponseHandler)(
|
|
3970
3984
|
googleOperationSchema
|
|
3971
3985
|
),
|
|
3972
3986
|
failedResponseHandler: googleFailedResponseHandler,
|
|
@@ -3991,11 +4005,11 @@ var GoogleGenerativeAIVideoModel = class {
|
|
|
3991
4005
|
}
|
|
3992
4006
|
const videos = [];
|
|
3993
4007
|
const videoMetadata = [];
|
|
3994
|
-
const resolvedHeaders = await (0,
|
|
4008
|
+
const resolvedHeaders = await (0, import_provider_utils18.resolve)(this.config.headers);
|
|
3995
4009
|
const apiKey = resolvedHeaders == null ? void 0 : resolvedHeaders["x-goog-api-key"];
|
|
3996
4010
|
for (const generatedSample of response.generateVideoResponse.generatedSamples) {
|
|
3997
4011
|
if ((_h = generatedSample.video) == null ? void 0 : _h.uri) {
|
|
3998
|
-
const urlWithAuth = apiKey && (0,
|
|
4012
|
+
const urlWithAuth = apiKey && (0, import_provider_utils18.isSameOrigin)(generatedSample.video.uri, this.config.baseURL) ? `${generatedSample.video.uri}${generatedSample.video.uri.includes("?") ? "&" : "?"}key=${apiKey}` : generatedSample.video.uri;
|
|
3999
4013
|
videos.push({
|
|
4000
4014
|
type: "url",
|
|
4001
4015
|
url: urlWithAuth,
|
|
@@ -4028,28 +4042,32 @@ var GoogleGenerativeAIVideoModel = class {
|
|
|
4028
4042
|
};
|
|
4029
4043
|
}
|
|
4030
4044
|
};
|
|
4031
|
-
var googleOperationSchema =
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
import_v416.z.object({
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
})
|
|
4051
|
-
|
|
4052
|
-
|
|
4045
|
+
var googleOperationSchema = (0, import_provider_utils18.lazySchema)(
|
|
4046
|
+
() => (0, import_provider_utils18.zodSchema)(
|
|
4047
|
+
import_v416.z.object({
|
|
4048
|
+
name: import_v416.z.string().nullish(),
|
|
4049
|
+
done: import_v416.z.boolean().nullish(),
|
|
4050
|
+
error: import_v416.z.object({
|
|
4051
|
+
code: import_v416.z.number().nullish(),
|
|
4052
|
+
message: import_v416.z.string(),
|
|
4053
|
+
status: import_v416.z.string().nullish()
|
|
4054
|
+
}).nullish(),
|
|
4055
|
+
response: import_v416.z.object({
|
|
4056
|
+
generateVideoResponse: import_v416.z.object({
|
|
4057
|
+
generatedSamples: import_v416.z.array(
|
|
4058
|
+
import_v416.z.object({
|
|
4059
|
+
video: import_v416.z.object({
|
|
4060
|
+
uri: import_v416.z.string().nullish()
|
|
4061
|
+
}).nullish()
|
|
4062
|
+
})
|
|
4063
|
+
).nullish()
|
|
4064
|
+
}).nullish()
|
|
4065
|
+
}).nullish()
|
|
4066
|
+
})
|
|
4067
|
+
)
|
|
4068
|
+
);
|
|
4069
|
+
var googleVideoModelOptionsSchema = (0, import_provider_utils18.lazySchema)(
|
|
4070
|
+
() => (0, import_provider_utils18.zodSchema)(
|
|
4053
4071
|
import_v416.z.object({
|
|
4054
4072
|
pollIntervalMs: import_v416.z.number().positive().nullish(),
|
|
4055
4073
|
pollTimeoutMs: import_v416.z.number().positive().nullish(),
|
|
@@ -4066,7 +4084,7 @@ var googleVideoModelOptionsSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
4066
4084
|
);
|
|
4067
4085
|
|
|
4068
4086
|
// src/interactions/google-interactions-language-model.ts
|
|
4069
|
-
var
|
|
4087
|
+
var import_provider_utils25 = require("@ai-sdk/provider-utils");
|
|
4070
4088
|
|
|
4071
4089
|
// src/interactions/convert-google-interactions-usage.ts
|
|
4072
4090
|
function convertGoogleInteractionsUsage(usage) {
|
|
@@ -4832,7 +4850,7 @@ function buildGoogleInteractionsStreamTransform({
|
|
|
4832
4850
|
}
|
|
4833
4851
|
|
|
4834
4852
|
// src/interactions/convert-to-google-interactions-input.ts
|
|
4835
|
-
var
|
|
4853
|
+
var import_provider_utils19 = require("@ai-sdk/provider-utils");
|
|
4836
4854
|
function getTopLevelMediaType(mediaType) {
|
|
4837
4855
|
const slashIndex = mediaType.indexOf("/");
|
|
4838
4856
|
return slashIndex === -1 ? mediaType : mediaType.substring(0, slashIndex);
|
|
@@ -5021,7 +5039,7 @@ function convertFilePartToContent({
|
|
|
5021
5039
|
}
|
|
5022
5040
|
return {
|
|
5023
5041
|
type: kind,
|
|
5024
|
-
data: (0,
|
|
5042
|
+
data: (0, import_provider_utils19.convertToBase64)(part.data),
|
|
5025
5043
|
mime_type: part.mediaType,
|
|
5026
5044
|
...resolutionField
|
|
5027
5045
|
};
|
|
@@ -5072,7 +5090,7 @@ function compactPromptForPreviousInteraction({
|
|
|
5072
5090
|
}
|
|
5073
5091
|
function safeParseToolArgs(input) {
|
|
5074
5092
|
try {
|
|
5075
|
-
const parsed = (0,
|
|
5093
|
+
const parsed = (0, import_provider_utils19.secureJsonParse)(input);
|
|
5076
5094
|
if (parsed != null && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
5077
5095
|
return parsed;
|
|
5078
5096
|
}
|
|
@@ -5195,7 +5213,7 @@ function filePartToImageBlock({
|
|
|
5195
5213
|
}
|
|
5196
5214
|
return {
|
|
5197
5215
|
type: "image",
|
|
5198
|
-
data: (0,
|
|
5216
|
+
data: (0, import_provider_utils19.convertToBase64)(part.data),
|
|
5199
5217
|
mime_type: part.mediaType
|
|
5200
5218
|
};
|
|
5201
5219
|
}
|
|
@@ -5222,7 +5240,7 @@ ${block.text}`
|
|
|
5222
5240
|
}
|
|
5223
5241
|
|
|
5224
5242
|
// src/interactions/google-interactions-api.ts
|
|
5225
|
-
var
|
|
5243
|
+
var import_provider_utils20 = require("@ai-sdk/provider-utils");
|
|
5226
5244
|
var import_v417 = require("zod/v4");
|
|
5227
5245
|
var tokenByModalitySchema = () => import_v417.z.object({
|
|
5228
5246
|
modality: import_v417.z.string().nullish(),
|
|
@@ -5385,8 +5403,8 @@ var stepSchema = () => {
|
|
|
5385
5403
|
import_v417.z.object({ type: import_v417.z.string() }).loose()
|
|
5386
5404
|
]);
|
|
5387
5405
|
};
|
|
5388
|
-
var googleInteractionsResponseSchema = (0,
|
|
5389
|
-
() => (0,
|
|
5406
|
+
var googleInteractionsResponseSchema = (0, import_provider_utils20.lazySchema)(
|
|
5407
|
+
() => (0, import_provider_utils20.zodSchema)(
|
|
5390
5408
|
import_v417.z.object({
|
|
5391
5409
|
/*
|
|
5392
5410
|
* `id` is omitted from the response body when `store: false` (fully
|
|
@@ -5407,8 +5425,8 @@ var googleInteractionsResponseSchema = (0, import_provider_utils19.lazySchema)(
|
|
|
5407
5425
|
}).loose()
|
|
5408
5426
|
)
|
|
5409
5427
|
);
|
|
5410
|
-
var googleInteractionsEventSchema = (0,
|
|
5411
|
-
() => (0,
|
|
5428
|
+
var googleInteractionsEventSchema = (0, import_provider_utils20.lazySchema)(
|
|
5429
|
+
() => (0, import_provider_utils20.zodSchema)(
|
|
5412
5430
|
(() => {
|
|
5413
5431
|
const status = interactionStatusSchema();
|
|
5414
5432
|
const annotation = annotationSchema();
|
|
@@ -5565,10 +5583,10 @@ var googleInteractionsEventSchema = (0, import_provider_utils19.lazySchema)(
|
|
|
5565
5583
|
);
|
|
5566
5584
|
|
|
5567
5585
|
// src/interactions/google-interactions-language-model-options.ts
|
|
5568
|
-
var
|
|
5586
|
+
var import_provider_utils21 = require("@ai-sdk/provider-utils");
|
|
5569
5587
|
var import_v418 = require("zod/v4");
|
|
5570
|
-
var googleInteractionsLanguageModelOptions = (0,
|
|
5571
|
-
() => (0,
|
|
5588
|
+
var googleInteractionsLanguageModelOptions = (0, import_provider_utils21.lazySchema)(
|
|
5589
|
+
() => (0, import_provider_utils21.zodSchema)(
|
|
5572
5590
|
import_v418.z.object({
|
|
5573
5591
|
previousInteractionId: import_v418.z.string().nullish(),
|
|
5574
5592
|
store: import_v418.z.boolean().nullish(),
|
|
@@ -5935,10 +5953,10 @@ function parseGoogleInteractionsOutputs({
|
|
|
5935
5953
|
}
|
|
5936
5954
|
|
|
5937
5955
|
// src/interactions/poll-google-interactions.ts
|
|
5938
|
-
var
|
|
5956
|
+
var import_provider_utils23 = require("@ai-sdk/provider-utils");
|
|
5939
5957
|
|
|
5940
5958
|
// src/interactions/cancel-google-interaction.ts
|
|
5941
|
-
var
|
|
5959
|
+
var import_provider_utils22 = require("@ai-sdk/provider-utils");
|
|
5942
5960
|
var getOriginalFetch = () => globalThis.fetch;
|
|
5943
5961
|
async function cancelGoogleInteraction({
|
|
5944
5962
|
baseURL,
|
|
@@ -5953,9 +5971,9 @@ async function cancelGoogleInteraction({
|
|
|
5953
5971
|
try {
|
|
5954
5972
|
const response = await fetch(url, {
|
|
5955
5973
|
method: "POST",
|
|
5956
|
-
headers: (0,
|
|
5957
|
-
(0,
|
|
5958
|
-
(0,
|
|
5974
|
+
headers: (0, import_provider_utils22.withUserAgentSuffix)(
|
|
5975
|
+
(0, import_provider_utils22.combineHeaders)({ "Content-Type": "application/json" }, headers),
|
|
5976
|
+
(0, import_provider_utils22.getRuntimeEnvironmentUserAgent)()
|
|
5959
5977
|
),
|
|
5960
5978
|
body: "{}"
|
|
5961
5979
|
});
|
|
@@ -6005,16 +6023,16 @@ async function pollGoogleInteractionUntilTerminal({
|
|
|
6005
6023
|
`google.interactions: timed out polling interaction ${interactionId} after ${timeoutMs}ms.`
|
|
6006
6024
|
);
|
|
6007
6025
|
}
|
|
6008
|
-
await (0,
|
|
6026
|
+
await (0, import_provider_utils23.delay)(nextDelayMs, { abortSignal });
|
|
6009
6027
|
const {
|
|
6010
6028
|
value: response,
|
|
6011
6029
|
rawValue: rawResponse,
|
|
6012
6030
|
responseHeaders
|
|
6013
|
-
} = await (0,
|
|
6031
|
+
} = await (0, import_provider_utils23.getFromApi)({
|
|
6014
6032
|
url,
|
|
6015
6033
|
headers,
|
|
6016
6034
|
failedResponseHandler: googleFailedResponseHandler,
|
|
6017
|
-
successfulResponseHandler: (0,
|
|
6035
|
+
successfulResponseHandler: (0, import_provider_utils23.createJsonResponseHandler)(
|
|
6018
6036
|
googleInteractionsResponseSchema
|
|
6019
6037
|
),
|
|
6020
6038
|
abortSignal,
|
|
@@ -6026,7 +6044,7 @@ async function pollGoogleInteractionUntilTerminal({
|
|
|
6026
6044
|
nextDelayMs = Math.min(nextDelayMs * 2, maxDelayMs);
|
|
6027
6045
|
}
|
|
6028
6046
|
} catch (error) {
|
|
6029
|
-
if ((0,
|
|
6047
|
+
if ((0, import_provider_utils23.isAbortError)(error)) {
|
|
6030
6048
|
await cancelOnServer();
|
|
6031
6049
|
}
|
|
6032
6050
|
throw error;
|
|
@@ -6182,7 +6200,7 @@ function prepareGoogleInteractionsTools({
|
|
|
6182
6200
|
}
|
|
6183
6201
|
|
|
6184
6202
|
// src/interactions/stream-google-interactions.ts
|
|
6185
|
-
var
|
|
6203
|
+
var import_provider_utils24 = require("@ai-sdk/provider-utils");
|
|
6186
6204
|
var DEFAULT_MAX_RETRIES = 3;
|
|
6187
6205
|
var DEFAULT_RETRY_DELAY_MS = 500;
|
|
6188
6206
|
function streamGoogleInteractionEvents({
|
|
@@ -6229,11 +6247,11 @@ function streamGoogleInteractionEvents({
|
|
|
6229
6247
|
return `${base}?${params.toString()}`;
|
|
6230
6248
|
}
|
|
6231
6249
|
async function openReader() {
|
|
6232
|
-
const { value: stream } = await (0,
|
|
6250
|
+
const { value: stream } = await (0, import_provider_utils24.getFromApi)({
|
|
6233
6251
|
url: buildUrl(),
|
|
6234
6252
|
headers: eventSourceHeaders,
|
|
6235
6253
|
failedResponseHandler: googleFailedResponseHandler,
|
|
6236
|
-
successfulResponseHandler: (0,
|
|
6254
|
+
successfulResponseHandler: (0, import_provider_utils24.createEventSourceResponseHandler)(
|
|
6237
6255
|
googleInteractionsEventSchema
|
|
6238
6256
|
),
|
|
6239
6257
|
abortSignal: effectiveSignal,
|
|
@@ -6250,7 +6268,7 @@ function streamGoogleInteractionEvents({
|
|
|
6250
6268
|
currentReader = await openReader();
|
|
6251
6269
|
receivedAnyEventThisAttempt = false;
|
|
6252
6270
|
} catch (error) {
|
|
6253
|
-
if ((0,
|
|
6271
|
+
if ((0, import_provider_utils24.isAbortError)(error) || effectiveSignal.aborted) {
|
|
6254
6272
|
controller.error(error);
|
|
6255
6273
|
return;
|
|
6256
6274
|
}
|
|
@@ -6259,7 +6277,7 @@ function streamGoogleInteractionEvents({
|
|
|
6259
6277
|
controller.error(error);
|
|
6260
6278
|
return;
|
|
6261
6279
|
}
|
|
6262
|
-
await (0,
|
|
6280
|
+
await (0, import_provider_utils24.delay)(retryDelayMs * attempt, {
|
|
6263
6281
|
abortSignal: effectiveSignal
|
|
6264
6282
|
});
|
|
6265
6283
|
continue;
|
|
@@ -6280,7 +6298,7 @@ function streamGoogleInteractionEvents({
|
|
|
6280
6298
|
);
|
|
6281
6299
|
return;
|
|
6282
6300
|
}
|
|
6283
|
-
await (0,
|
|
6301
|
+
await (0, import_provider_utils24.delay)(retryDelayMs * attempt, {
|
|
6284
6302
|
abortSignal: effectiveSignal
|
|
6285
6303
|
});
|
|
6286
6304
|
} else {
|
|
@@ -6300,7 +6318,7 @@ function streamGoogleInteractionEvents({
|
|
|
6300
6318
|
}
|
|
6301
6319
|
controller.enqueue(value);
|
|
6302
6320
|
} catch (error) {
|
|
6303
|
-
if ((0,
|
|
6321
|
+
if ((0, import_provider_utils24.isAbortError)(error) || effectiveSignal.aborted) {
|
|
6304
6322
|
controller.error(error);
|
|
6305
6323
|
return;
|
|
6306
6324
|
}
|
|
@@ -6310,7 +6328,7 @@ function streamGoogleInteractionEvents({
|
|
|
6310
6328
|
controller.error(error);
|
|
6311
6329
|
return;
|
|
6312
6330
|
}
|
|
6313
|
-
await (0,
|
|
6331
|
+
await (0, import_provider_utils24.delay)(retryDelayMs * attempt, {
|
|
6314
6332
|
abortSignal: effectiveSignal
|
|
6315
6333
|
});
|
|
6316
6334
|
}
|
|
@@ -6522,7 +6540,7 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6522
6540
|
async getArgs(options) {
|
|
6523
6541
|
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F;
|
|
6524
6542
|
const warnings = [];
|
|
6525
|
-
const opts = await (0,
|
|
6543
|
+
const opts = await (0, import_provider_utils25.parseProviderOptions)({
|
|
6526
6544
|
provider: "google",
|
|
6527
6545
|
providerOptions: options.providerOptions,
|
|
6528
6546
|
schema: googleInteractionsLanguageModelOptions
|
|
@@ -6779,17 +6797,17 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6779
6797
|
var _a2, _b, _c, _d, _e, _f;
|
|
6780
6798
|
const { args, warnings, isAgent, isBackground, pollingTimeoutMs } = await this.getArgs(options);
|
|
6781
6799
|
const url = `${this.config.baseURL}/interactions`;
|
|
6782
|
-
const mergedHeaders = (0,
|
|
6800
|
+
const mergedHeaders = (0, import_provider_utils25.combineHeaders)(
|
|
6783
6801
|
INTERACTIONS_API_REVISION_HEADER,
|
|
6784
|
-
this.config.headers ? await (0,
|
|
6802
|
+
this.config.headers ? await (0, import_provider_utils25.resolve)(this.config.headers) : void 0,
|
|
6785
6803
|
options.headers
|
|
6786
6804
|
);
|
|
6787
|
-
const postResult = await (0,
|
|
6805
|
+
const postResult = await (0, import_provider_utils25.postJsonToApi)({
|
|
6788
6806
|
url,
|
|
6789
6807
|
headers: mergedHeaders,
|
|
6790
6808
|
body: args,
|
|
6791
6809
|
failedResponseHandler: googleFailedResponseHandler,
|
|
6792
|
-
successfulResponseHandler: (0,
|
|
6810
|
+
successfulResponseHandler: (0, import_provider_utils25.createJsonResponseHandler)(
|
|
6793
6811
|
googleInteractionsResponseSchema
|
|
6794
6812
|
),
|
|
6795
6813
|
abortSignal: options.abortSignal,
|
|
@@ -6816,7 +6834,7 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6816
6834
|
const interactionId = typeof response.id === "string" && response.id.length > 0 ? response.id : void 0;
|
|
6817
6835
|
const { content, hasFunctionCall } = parseGoogleInteractionsOutputs({
|
|
6818
6836
|
steps: (_b = response.steps) != null ? _b : null,
|
|
6819
|
-
generateId: (_c = this.config.generateId) != null ? _c :
|
|
6837
|
+
generateId: (_c = this.config.generateId) != null ? _c : import_provider_utils25.generateId,
|
|
6820
6838
|
interactionId
|
|
6821
6839
|
});
|
|
6822
6840
|
const finishReason = {
|
|
@@ -6864,9 +6882,9 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6864
6882
|
var _a2;
|
|
6865
6883
|
const { args, warnings, isBackground, pollingTimeoutMs } = await this.getArgs(options);
|
|
6866
6884
|
const url = `${this.config.baseURL}/interactions`;
|
|
6867
|
-
const mergedHeaders = (0,
|
|
6885
|
+
const mergedHeaders = (0, import_provider_utils25.combineHeaders)(
|
|
6868
6886
|
INTERACTIONS_API_REVISION_HEADER,
|
|
6869
|
-
this.config.headers ? await (0,
|
|
6887
|
+
this.config.headers ? await (0, import_provider_utils25.resolve)(this.config.headers) : void 0,
|
|
6870
6888
|
options.headers
|
|
6871
6889
|
);
|
|
6872
6890
|
if (isBackground) {
|
|
@@ -6880,12 +6898,12 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6880
6898
|
});
|
|
6881
6899
|
}
|
|
6882
6900
|
const body = { ...args, stream: true };
|
|
6883
|
-
const { responseHeaders, value: response } = await (0,
|
|
6901
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils25.postJsonToApi)({
|
|
6884
6902
|
url,
|
|
6885
6903
|
headers: mergedHeaders,
|
|
6886
6904
|
body,
|
|
6887
6905
|
failedResponseHandler: googleFailedResponseHandler,
|
|
6888
|
-
successfulResponseHandler: (0,
|
|
6906
|
+
successfulResponseHandler: (0, import_provider_utils25.createEventSourceResponseHandler)(
|
|
6889
6907
|
googleInteractionsEventSchema
|
|
6890
6908
|
),
|
|
6891
6909
|
abortSignal: options.abortSignal,
|
|
@@ -6894,7 +6912,7 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6894
6912
|
const headerServiceTier = responseHeaders == null ? void 0 : responseHeaders["x-gemini-service-tier"];
|
|
6895
6913
|
const transform = buildGoogleInteractionsStreamTransform({
|
|
6896
6914
|
warnings,
|
|
6897
|
-
generateId: (_a2 = this.config.generateId) != null ? _a2 :
|
|
6915
|
+
generateId: (_a2 = this.config.generateId) != null ? _a2 : import_provider_utils25.generateId,
|
|
6898
6916
|
includeRawChunks: options.includeRawChunks,
|
|
6899
6917
|
serviceTier: headerServiceTier
|
|
6900
6918
|
});
|
|
@@ -6931,12 +6949,12 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6931
6949
|
pollingTimeoutMs
|
|
6932
6950
|
}) {
|
|
6933
6951
|
var _a2, _b;
|
|
6934
|
-
const postResult = await (0,
|
|
6952
|
+
const postResult = await (0, import_provider_utils25.postJsonToApi)({
|
|
6935
6953
|
url,
|
|
6936
6954
|
headers: mergedHeaders,
|
|
6937
6955
|
body: args,
|
|
6938
6956
|
failedResponseHandler: googleFailedResponseHandler,
|
|
6939
|
-
successfulResponseHandler: (0,
|
|
6957
|
+
successfulResponseHandler: (0, import_provider_utils25.createJsonResponseHandler)(
|
|
6940
6958
|
googleInteractionsResponseSchema
|
|
6941
6959
|
),
|
|
6942
6960
|
abortSignal: options.abortSignal,
|
|
@@ -6954,7 +6972,7 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6954
6972
|
const synthesized = synthesizeGoogleInteractionsAgentStream({
|
|
6955
6973
|
response: postResponse,
|
|
6956
6974
|
warnings,
|
|
6957
|
-
generateId: (_a2 = this.config.generateId) != null ? _a2 :
|
|
6975
|
+
generateId: (_a2 = this.config.generateId) != null ? _a2 : import_provider_utils25.generateId,
|
|
6958
6976
|
includeRawChunks: options.includeRawChunks,
|
|
6959
6977
|
headerServiceTier
|
|
6960
6978
|
});
|
|
@@ -6974,7 +6992,7 @@ var GoogleInteractionsLanguageModel = class {
|
|
|
6974
6992
|
});
|
|
6975
6993
|
const transform = buildGoogleInteractionsStreamTransform({
|
|
6976
6994
|
warnings,
|
|
6977
|
-
generateId: (_b = this.config.generateId) != null ? _b :
|
|
6995
|
+
generateId: (_b = this.config.generateId) != null ? _b : import_provider_utils25.generateId,
|
|
6978
6996
|
includeRawChunks: options.includeRawChunks,
|
|
6979
6997
|
serviceTier: headerServiceTier
|
|
6980
6998
|
});
|
|
@@ -7028,11 +7046,11 @@ function supportsExternalFileUrls(modelId) {
|
|
|
7028
7046
|
}
|
|
7029
7047
|
function createGoogleGenerativeAI(options = {}) {
|
|
7030
7048
|
var _a2, _b;
|
|
7031
|
-
const baseURL = (_a2 = (0,
|
|
7049
|
+
const baseURL = (_a2 = (0, import_provider_utils26.withoutTrailingSlash)(options.baseURL)) != null ? _a2 : "https://generativelanguage.googleapis.com/v1beta";
|
|
7032
7050
|
const providerName = (_b = options.name) != null ? _b : "google.generative-ai";
|
|
7033
|
-
const getHeaders = () => (0,
|
|
7051
|
+
const getHeaders = () => (0, import_provider_utils26.withUserAgentSuffix)(
|
|
7034
7052
|
{
|
|
7035
|
-
"x-goog-api-key": (0,
|
|
7053
|
+
"x-goog-api-key": (0, import_provider_utils26.loadApiKey)({
|
|
7036
7054
|
apiKey: options.apiKey,
|
|
7037
7055
|
environmentVariableName: "GOOGLE_GENERATIVE_AI_API_KEY",
|
|
7038
7056
|
description: "Google Generative AI"
|
|
@@ -7047,7 +7065,7 @@ function createGoogleGenerativeAI(options = {}) {
|
|
|
7047
7065
|
provider: providerName,
|
|
7048
7066
|
baseURL,
|
|
7049
7067
|
headers: getHeaders,
|
|
7050
|
-
generateId: (_a3 = options.generateId) != null ? _a3 :
|
|
7068
|
+
generateId: (_a3 = options.generateId) != null ? _a3 : import_provider_utils26.generateId,
|
|
7051
7069
|
supportedUrls: () => ({
|
|
7052
7070
|
"*": [
|
|
7053
7071
|
// Google Generative Language "files" endpoint
|
|
@@ -7094,7 +7112,7 @@ function createGoogleGenerativeAI(options = {}) {
|
|
|
7094
7112
|
baseURL,
|
|
7095
7113
|
headers: getHeaders,
|
|
7096
7114
|
fetch: options.fetch,
|
|
7097
|
-
generateId: (_a3 = options.generateId) != null ? _a3 :
|
|
7115
|
+
generateId: (_a3 = options.generateId) != null ? _a3 : import_provider_utils26.generateId
|
|
7098
7116
|
});
|
|
7099
7117
|
};
|
|
7100
7118
|
const createInteractionsModel = (modelIdOrAgent) => {
|
|
@@ -7105,7 +7123,7 @@ function createGoogleGenerativeAI(options = {}) {
|
|
|
7105
7123
|
provider: `${providerName}.interactions`,
|
|
7106
7124
|
baseURL,
|
|
7107
7125
|
headers: getHeaders,
|
|
7108
|
-
generateId: (_a3 = options.generateId) != null ? _a3 :
|
|
7126
|
+
generateId: (_a3 = options.generateId) != null ? _a3 : import_provider_utils26.generateId,
|
|
7109
7127
|
fetch: options.fetch
|
|
7110
7128
|
}
|
|
7111
7129
|
);
|