@ai-sdk/gateway 4.0.119 → 4.0.121
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.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -94
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/gateway-batch.ts +63 -50
- package/src/gateway-decision-model.ts +44 -42
- package/src/gateway-embedding-model.ts +23 -22
- package/src/gateway-image-model.ts +49 -40
- package/src/gateway-language-model-settings.ts +1 -1
- package/src/gateway-provider-options.ts +67 -65
- package/src/gateway-provider.ts +10 -4
- package/src/gateway-reranking-model.ts +23 -22
- package/src/gateway-speech-model.ts +37 -30
- package/src/gateway-transcription-model.ts +50 -43
- package/src/gateway-video-model.ts +114 -95
- package/src/tool/browserbase-fetch.ts +3 -3
- package/src/tool/tako-search.ts +220 -214
|
@@ -103,27 +103,28 @@ export class GatewayRerankingModel implements RerankingModelV4 {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
const gatewayRerankingWarningSchema =
|
|
107
|
-
z.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
106
|
+
const gatewayRerankingWarningSchema = () =>
|
|
107
|
+
z.discriminatedUnion('type', [
|
|
108
|
+
z.object({
|
|
109
|
+
type: z.literal('unsupported'),
|
|
110
|
+
feature: z.string(),
|
|
111
|
+
details: z.string().optional(),
|
|
112
|
+
}),
|
|
113
|
+
z.object({
|
|
114
|
+
type: z.literal('compatibility'),
|
|
115
|
+
feature: z.string(),
|
|
116
|
+
details: z.string().optional(),
|
|
117
|
+
}),
|
|
118
|
+
z.object({
|
|
119
|
+
type: z.literal('deprecated'),
|
|
120
|
+
setting: z.string(),
|
|
121
|
+
message: z.string(),
|
|
122
|
+
}),
|
|
123
|
+
z.object({
|
|
124
|
+
type: z.literal('other'),
|
|
125
|
+
message: z.string(),
|
|
126
|
+
}),
|
|
127
|
+
]);
|
|
127
128
|
|
|
128
129
|
const gatewayRerankingResponseSchema = lazySchema(() =>
|
|
129
130
|
zodSchema(
|
|
@@ -134,7 +135,7 @@ const gatewayRerankingResponseSchema = lazySchema(() =>
|
|
|
134
135
|
relevanceScore: z.number(),
|
|
135
136
|
}),
|
|
136
137
|
),
|
|
137
|
-
warnings: z.array(gatewayRerankingWarningSchema).optional(),
|
|
138
|
+
warnings: z.array(gatewayRerankingWarningSchema()).optional(),
|
|
138
139
|
providerMetadata: z
|
|
139
140
|
.record(z.string(), z.record(z.string(), z.unknown()))
|
|
140
141
|
.optional(),
|
|
@@ -4,6 +4,8 @@ import type {
|
|
|
4
4
|
SpeechModelV4,
|
|
5
5
|
} from '@ai-sdk/provider';
|
|
6
6
|
import {
|
|
7
|
+
lazySchema,
|
|
8
|
+
zodSchema,
|
|
7
9
|
combineHeaders,
|
|
8
10
|
createJsonErrorResponseHandler,
|
|
9
11
|
createJsonResponseHandler,
|
|
@@ -114,35 +116,40 @@ export class GatewaySpeechModel implements SpeechModelV4 {
|
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
|
|
117
|
-
const providerMetadataEntrySchema = z.object({}).catchall(z.unknown());
|
|
119
|
+
const providerMetadataEntrySchema = () => z.object({}).catchall(z.unknown());
|
|
118
120
|
|
|
119
|
-
const gatewaySpeechWarningSchema =
|
|
120
|
-
z.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
121
|
+
const gatewaySpeechWarningSchema = () =>
|
|
122
|
+
z.discriminatedUnion('type', [
|
|
123
|
+
z.object({
|
|
124
|
+
type: z.literal('unsupported'),
|
|
125
|
+
feature: z.string(),
|
|
126
|
+
details: z.string().optional(),
|
|
127
|
+
}),
|
|
128
|
+
z.object({
|
|
129
|
+
type: z.literal('compatibility'),
|
|
130
|
+
feature: z.string(),
|
|
131
|
+
details: z.string().optional(),
|
|
132
|
+
}),
|
|
133
|
+
z.object({
|
|
134
|
+
type: z.literal('deprecated'),
|
|
135
|
+
setting: z.string(),
|
|
136
|
+
message: z.string(),
|
|
137
|
+
}),
|
|
138
|
+
z.object({
|
|
139
|
+
type: z.literal('other'),
|
|
140
|
+
message: z.string(),
|
|
141
|
+
}),
|
|
142
|
+
]);
|
|
140
143
|
|
|
141
|
-
const gatewaySpeechResponseSchema =
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
const gatewaySpeechResponseSchema = lazySchema(() =>
|
|
145
|
+
zodSchema(
|
|
146
|
+
z.object({
|
|
147
|
+
audio: z.string(),
|
|
148
|
+
warnings: z.array(gatewaySpeechWarningSchema()).optional(),
|
|
149
|
+
usage: z.record(z.string(), z.json()).optional(),
|
|
150
|
+
providerMetadata: z
|
|
151
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
152
|
+
.optional(),
|
|
153
|
+
}),
|
|
154
|
+
),
|
|
155
|
+
);
|
|
@@ -8,6 +8,8 @@ import {
|
|
|
8
8
|
type TranscriptionModelV4,
|
|
9
9
|
} from '@ai-sdk/provider';
|
|
10
10
|
import {
|
|
11
|
+
lazySchema,
|
|
12
|
+
zodSchema,
|
|
11
13
|
combineHeaders,
|
|
12
14
|
convertBase64ToUint8Array,
|
|
13
15
|
convertUint8ArrayToBase64,
|
|
@@ -443,49 +445,54 @@ function createGatewayTranscriptionStream({
|
|
|
443
445
|
});
|
|
444
446
|
}
|
|
445
447
|
|
|
446
|
-
const providerMetadataEntrySchema = z.object({}).catchall(z.unknown());
|
|
447
|
-
|
|
448
|
-
const gatewayTranscriptionWarningSchema =
|
|
449
|
-
z.
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
.
|
|
474
|
-
z.
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
448
|
+
const providerMetadataEntrySchema = () => z.object({}).catchall(z.unknown());
|
|
449
|
+
|
|
450
|
+
const gatewayTranscriptionWarningSchema = () =>
|
|
451
|
+
z.discriminatedUnion('type', [
|
|
452
|
+
z.object({
|
|
453
|
+
type: z.literal('unsupported'),
|
|
454
|
+
feature: z.string(),
|
|
455
|
+
details: z.string().optional(),
|
|
456
|
+
}),
|
|
457
|
+
z.object({
|
|
458
|
+
type: z.literal('compatibility'),
|
|
459
|
+
feature: z.string(),
|
|
460
|
+
details: z.string().optional(),
|
|
461
|
+
}),
|
|
462
|
+
z.object({
|
|
463
|
+
type: z.literal('deprecated'),
|
|
464
|
+
setting: z.string(),
|
|
465
|
+
message: z.string(),
|
|
466
|
+
}),
|
|
467
|
+
z.object({
|
|
468
|
+
type: z.literal('other'),
|
|
469
|
+
message: z.string(),
|
|
470
|
+
}),
|
|
471
|
+
]);
|
|
472
|
+
|
|
473
|
+
const gatewayTranscriptionResponseSchema = lazySchema(() =>
|
|
474
|
+
zodSchema(
|
|
475
|
+
z.object({
|
|
476
|
+
text: z.string(),
|
|
477
|
+
segments: z
|
|
478
|
+
.array(
|
|
479
|
+
z.object({
|
|
480
|
+
text: z.string(),
|
|
481
|
+
startSecond: z.number(),
|
|
482
|
+
endSecond: z.number(),
|
|
483
|
+
}),
|
|
484
|
+
)
|
|
485
|
+
.optional(),
|
|
486
|
+
language: z.string().nullish(),
|
|
487
|
+
durationInSeconds: z.number().nullish(),
|
|
488
|
+
warnings: z.array(gatewayTranscriptionWarningSchema()).optional(),
|
|
489
|
+
usage: z.record(z.string(), z.json()).optional(),
|
|
490
|
+
providerMetadata: z
|
|
491
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
492
|
+
.optional(),
|
|
493
|
+
}),
|
|
494
|
+
),
|
|
495
|
+
);
|
|
489
496
|
|
|
490
497
|
/**
|
|
491
498
|
* `asGatewayError` is async while the WebSocket event handlers are
|
|
@@ -13,6 +13,8 @@ import {
|
|
|
13
13
|
type SharedV4Warning,
|
|
14
14
|
} from '@ai-sdk/provider';
|
|
15
15
|
import {
|
|
16
|
+
lazySchema,
|
|
17
|
+
zodSchema,
|
|
16
18
|
combineHeaders,
|
|
17
19
|
convertUint8ArrayToBase64,
|
|
18
20
|
createJsonErrorResponseHandler,
|
|
@@ -400,98 +402,115 @@ function maybeEncodeVideoFile(file: VideoModelV4File) {
|
|
|
400
402
|
return file;
|
|
401
403
|
}
|
|
402
404
|
|
|
403
|
-
const providerMetadataEntrySchema =
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
.
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
405
|
+
const providerMetadataEntrySchema = () =>
|
|
406
|
+
z
|
|
407
|
+
.object({
|
|
408
|
+
videos: z.array(z.unknown()).optional(),
|
|
409
|
+
})
|
|
410
|
+
.catchall(z.unknown());
|
|
411
|
+
|
|
412
|
+
const gatewayVideoDataSchema = () =>
|
|
413
|
+
z.union([
|
|
414
|
+
z.object({
|
|
415
|
+
type: z.literal('url'),
|
|
416
|
+
url: z.string(),
|
|
417
|
+
mediaType: z.string(),
|
|
418
|
+
}),
|
|
419
|
+
z.object({
|
|
420
|
+
type: z.literal('base64'),
|
|
421
|
+
data: z.string(),
|
|
422
|
+
mediaType: z.string(),
|
|
423
|
+
}),
|
|
424
|
+
]);
|
|
425
|
+
|
|
426
|
+
const gatewayVideoWarningSchema = () =>
|
|
427
|
+
z.discriminatedUnion('type', [
|
|
428
|
+
z.object({
|
|
429
|
+
type: z.literal('unsupported'),
|
|
430
|
+
feature: z.string(),
|
|
431
|
+
details: z.string().optional(),
|
|
432
|
+
}),
|
|
433
|
+
z.object({
|
|
434
|
+
type: z.literal('compatibility'),
|
|
435
|
+
feature: z.string(),
|
|
436
|
+
details: z.string().optional(),
|
|
437
|
+
}),
|
|
438
|
+
z.object({
|
|
439
|
+
type: z.literal('deprecated'),
|
|
440
|
+
setting: z.string(),
|
|
441
|
+
message: z.string(),
|
|
442
|
+
}),
|
|
443
|
+
z.object({
|
|
444
|
+
type: z.literal('other'),
|
|
445
|
+
message: z.string(),
|
|
446
|
+
}),
|
|
447
|
+
]);
|
|
448
|
+
|
|
449
|
+
const gatewayVideoEventSchema = lazySchema(() =>
|
|
450
|
+
zodSchema(
|
|
451
|
+
z.discriminatedUnion('type', [
|
|
452
|
+
z.object({
|
|
453
|
+
type: z.literal('result'),
|
|
454
|
+
videos: z.array(gatewayVideoDataSchema()),
|
|
455
|
+
warnings: z.array(gatewayVideoWarningSchema()).optional(),
|
|
456
|
+
providerMetadata: z
|
|
457
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
458
|
+
.optional(),
|
|
459
|
+
}),
|
|
460
|
+
z.object({
|
|
461
|
+
type: z.literal('error'),
|
|
462
|
+
message: z.string(),
|
|
463
|
+
errorType: z.string(),
|
|
464
|
+
statusCode: z.number(),
|
|
465
|
+
param: z.unknown().nullable(),
|
|
466
|
+
}),
|
|
467
|
+
]),
|
|
468
|
+
),
|
|
469
|
+
);
|
|
470
|
+
|
|
471
|
+
const gatewayVideoStartResponseSchema = lazySchema(() =>
|
|
472
|
+
zodSchema(
|
|
473
|
+
z.object({
|
|
474
|
+
operation: z.unknown(),
|
|
475
|
+
warnings: z.array(gatewayVideoWarningSchema()).nullish(),
|
|
476
|
+
providerMetadata: z
|
|
477
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
478
|
+
.nullish(),
|
|
479
|
+
}),
|
|
480
|
+
),
|
|
481
|
+
);
|
|
482
|
+
|
|
483
|
+
const gatewayVideoStatusResponseSchema = lazySchema(() =>
|
|
484
|
+
zodSchema(
|
|
485
|
+
z.discriminatedUnion('status', [
|
|
486
|
+
z.object({
|
|
487
|
+
status: z.literal('pending'),
|
|
488
|
+
warnings: z.array(gatewayVideoWarningSchema()).nullish(),
|
|
489
|
+
providerMetadata: z
|
|
490
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
491
|
+
.nullish(),
|
|
492
|
+
}),
|
|
493
|
+
z.object({
|
|
494
|
+
status: z.literal('completed'),
|
|
495
|
+
videos: z.array(gatewayVideoDataSchema()),
|
|
496
|
+
warnings: z.array(gatewayVideoWarningSchema()).nullish(),
|
|
497
|
+
providerMetadata: z
|
|
498
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
499
|
+
.nullish(),
|
|
500
|
+
}),
|
|
501
|
+
z.object({
|
|
502
|
+
status: z.literal('error'),
|
|
503
|
+
error: z.string(),
|
|
504
|
+
providerMetadata: z
|
|
505
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
506
|
+
.nullish(),
|
|
507
|
+
}),
|
|
508
|
+
z.object({
|
|
509
|
+
status: z.literal('cancelled'),
|
|
510
|
+
providerMetadata: z
|
|
511
|
+
.record(z.string(), providerMetadataEntrySchema())
|
|
512
|
+
.nullish(),
|
|
513
|
+
}),
|
|
514
|
+
]),
|
|
515
|
+
),
|
|
516
|
+
);
|
|
@@ -76,7 +76,7 @@ export type BrowserbaseFetchOutput =
|
|
|
76
76
|
| BrowserbaseFetchError
|
|
77
77
|
| BrowserbaseFetchResponse;
|
|
78
78
|
|
|
79
|
-
const jsonObjectSchema = z.record(z.string(), z.unknown());
|
|
79
|
+
const jsonObjectSchema = () => z.record(z.string(), z.unknown());
|
|
80
80
|
|
|
81
81
|
const browserbaseFetchInputSchema = lazySchema(() =>
|
|
82
82
|
zodSchema(
|
|
@@ -104,7 +104,7 @@ const browserbaseFetchInputSchema = lazySchema(() =>
|
|
|
104
104
|
.describe(
|
|
105
105
|
'Output format. raw returns the response body unchanged, markdown returns page content as Markdown, and json returns structured content using schema.',
|
|
106
106
|
),
|
|
107
|
-
schema: jsonObjectSchema
|
|
107
|
+
schema: jsonObjectSchema()
|
|
108
108
|
.optional()
|
|
109
109
|
.describe(
|
|
110
110
|
'JSON Schema for structured extraction. Only use with format set to json.',
|
|
@@ -118,7 +118,7 @@ const browserbaseFetchOutputSchema = lazySchema(() =>
|
|
|
118
118
|
z.union([
|
|
119
119
|
z.object({
|
|
120
120
|
id: z.string(),
|
|
121
|
-
content: z.union([z.string(), jsonObjectSchema]),
|
|
121
|
+
content: z.union([z.string(), jsonObjectSchema()]),
|
|
122
122
|
contentType: z.string(),
|
|
123
123
|
encoding: z.string(),
|
|
124
124
|
headers: z.record(z.string(), z.string()),
|