@ai-sdk/gateway 1.0.36 → 1.0.38
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 +12 -0
- package/dist/index.d.mts +19 -20
- package/dist/index.d.ts +19 -20
- package/dist/index.js +159 -133
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +133 -85
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name7 in all)
|
|
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
|
|
30
20
|
// src/index.ts
|
|
@@ -45,13 +35,13 @@ module.exports = __toCommonJS(src_exports);
|
|
|
45
35
|
|
|
46
36
|
// src/gateway-provider.ts
|
|
47
37
|
var import_provider2 = require("@ai-sdk/provider");
|
|
48
|
-
var
|
|
38
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
49
39
|
|
|
50
40
|
// src/errors/as-gateway-error.ts
|
|
51
41
|
var import_provider = require("@ai-sdk/provider");
|
|
52
42
|
|
|
53
43
|
// src/errors/create-gateway-error.ts
|
|
54
|
-
var
|
|
44
|
+
var import_v42 = require("zod/v4");
|
|
55
45
|
|
|
56
46
|
// src/errors/gateway-error.ts
|
|
57
47
|
var marker = "vercel.ai.gateway.error";
|
|
@@ -196,13 +186,18 @@ var GatewayRateLimitError = class extends (_b4 = GatewayError, _a4 = symbol4, _b
|
|
|
196
186
|
};
|
|
197
187
|
|
|
198
188
|
// src/errors/gateway-model-not-found-error.ts
|
|
199
|
-
var
|
|
189
|
+
var import_v4 = require("zod/v4");
|
|
190
|
+
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
200
191
|
var name4 = "GatewayModelNotFoundError";
|
|
201
192
|
var marker5 = `vercel.ai.gateway.error.${name4}`;
|
|
202
193
|
var symbol5 = Symbol.for(marker5);
|
|
203
|
-
var modelNotFoundParamSchema =
|
|
204
|
-
|
|
205
|
-
|
|
194
|
+
var modelNotFoundParamSchema = (0, import_provider_utils.lazyValidator)(
|
|
195
|
+
() => (0, import_provider_utils.zodSchema)(
|
|
196
|
+
import_v4.z.object({
|
|
197
|
+
modelId: import_v4.z.string()
|
|
198
|
+
})
|
|
199
|
+
)
|
|
200
|
+
);
|
|
206
201
|
var _a5, _b5;
|
|
207
202
|
var GatewayModelNotFoundError = class extends (_b5 = GatewayError, _a5 = symbol5, _b5) {
|
|
208
203
|
constructor({
|
|
@@ -272,14 +267,18 @@ var GatewayResponseError = class extends (_b7 = GatewayError, _a7 = symbol7, _b7
|
|
|
272
267
|
};
|
|
273
268
|
|
|
274
269
|
// src/errors/create-gateway-error.ts
|
|
275
|
-
|
|
270
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
271
|
+
async function createGatewayErrorFromResponse({
|
|
276
272
|
response,
|
|
277
273
|
statusCode,
|
|
278
274
|
defaultMessage = "Gateway request failed",
|
|
279
275
|
cause,
|
|
280
276
|
authMethod
|
|
281
277
|
}) {
|
|
282
|
-
const parseResult =
|
|
278
|
+
const parseResult = await (0, import_provider_utils2.safeValidateTypes)({
|
|
279
|
+
value: response,
|
|
280
|
+
schema: gatewayErrorResponseSchema
|
|
281
|
+
});
|
|
283
282
|
if (!parseResult.success) {
|
|
284
283
|
return new GatewayResponseError({
|
|
285
284
|
message: `Invalid error response format: ${defaultMessage}`,
|
|
@@ -289,7 +288,7 @@ function createGatewayErrorFromResponse({
|
|
|
289
288
|
cause
|
|
290
289
|
});
|
|
291
290
|
}
|
|
292
|
-
const validatedResponse = parseResult.
|
|
291
|
+
const validatedResponse = parseResult.value;
|
|
293
292
|
const errorType = validatedResponse.error.type;
|
|
294
293
|
const message = validatedResponse.error.message;
|
|
295
294
|
switch (errorType) {
|
|
@@ -305,13 +304,14 @@ function createGatewayErrorFromResponse({
|
|
|
305
304
|
case "rate_limit_exceeded":
|
|
306
305
|
return new GatewayRateLimitError({ message, statusCode, cause });
|
|
307
306
|
case "model_not_found": {
|
|
308
|
-
const modelResult =
|
|
309
|
-
validatedResponse.error.param
|
|
310
|
-
|
|
307
|
+
const modelResult = await (0, import_provider_utils2.safeValidateTypes)({
|
|
308
|
+
value: validatedResponse.error.param,
|
|
309
|
+
schema: modelNotFoundParamSchema
|
|
310
|
+
});
|
|
311
311
|
return new GatewayModelNotFoundError({
|
|
312
312
|
message,
|
|
313
313
|
statusCode,
|
|
314
|
-
modelId: modelResult.success ? modelResult.
|
|
314
|
+
modelId: modelResult.success ? modelResult.value.modelId : void 0,
|
|
315
315
|
cause
|
|
316
316
|
});
|
|
317
317
|
}
|
|
@@ -321,14 +321,18 @@ function createGatewayErrorFromResponse({
|
|
|
321
321
|
return new GatewayInternalServerError({ message, statusCode, cause });
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
|
-
var gatewayErrorResponseSchema =
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
324
|
+
var gatewayErrorResponseSchema = (0, import_provider_utils2.lazyValidator)(
|
|
325
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
326
|
+
import_v42.z.object({
|
|
327
|
+
error: import_v42.z.object({
|
|
328
|
+
message: import_v42.z.string(),
|
|
329
|
+
type: import_v42.z.string().nullish(),
|
|
330
|
+
param: import_v42.z.unknown().nullish(),
|
|
331
|
+
code: import_v42.z.union([import_v42.z.string(), import_v42.z.number()]).nullish()
|
|
332
|
+
})
|
|
333
|
+
})
|
|
334
|
+
)
|
|
335
|
+
);
|
|
332
336
|
|
|
333
337
|
// src/errors/as-gateway-error.ts
|
|
334
338
|
function asGatewayError(error, authMethod) {
|
|
@@ -370,102 +374,114 @@ function extractApiCallResponse(error) {
|
|
|
370
374
|
}
|
|
371
375
|
|
|
372
376
|
// src/errors/parse-auth-method.ts
|
|
373
|
-
var
|
|
377
|
+
var import_v43 = require("zod/v4");
|
|
378
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
374
379
|
var GATEWAY_AUTH_METHOD_HEADER = "ai-gateway-auth-method";
|
|
375
|
-
function parseAuthMethod(headers) {
|
|
376
|
-
const result =
|
|
377
|
-
headers[GATEWAY_AUTH_METHOD_HEADER]
|
|
378
|
-
|
|
379
|
-
|
|
380
|
+
async function parseAuthMethod(headers) {
|
|
381
|
+
const result = await (0, import_provider_utils3.safeValidateTypes)({
|
|
382
|
+
value: headers[GATEWAY_AUTH_METHOD_HEADER],
|
|
383
|
+
schema: gatewayAuthMethodSchema
|
|
384
|
+
});
|
|
385
|
+
return result.success ? result.value : void 0;
|
|
380
386
|
}
|
|
381
|
-
var gatewayAuthMethodSchema =
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
]);
|
|
387
|
+
var gatewayAuthMethodSchema = (0, import_provider_utils3.lazyValidator)(
|
|
388
|
+
() => (0, import_provider_utils3.zodSchema)(import_v43.z.union([import_v43.z.literal("api-key"), import_v43.z.literal("oidc")]))
|
|
389
|
+
);
|
|
385
390
|
|
|
386
391
|
// src/gateway-fetch-metadata.ts
|
|
387
|
-
var
|
|
388
|
-
var
|
|
392
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
393
|
+
var import_v44 = require("zod/v4");
|
|
389
394
|
var GatewayFetchMetadata = class {
|
|
390
395
|
constructor(config) {
|
|
391
396
|
this.config = config;
|
|
392
397
|
}
|
|
393
398
|
async getAvailableModels() {
|
|
394
399
|
try {
|
|
395
|
-
const { value } = await (0,
|
|
400
|
+
const { value } = await (0, import_provider_utils4.getFromApi)({
|
|
396
401
|
url: `${this.config.baseURL}/config`,
|
|
397
|
-
headers: await (0,
|
|
398
|
-
successfulResponseHandler: (0,
|
|
399
|
-
|
|
402
|
+
headers: await (0, import_provider_utils4.resolve)(this.config.headers()),
|
|
403
|
+
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
|
|
404
|
+
gatewayAvailableModelsResponseSchema
|
|
400
405
|
),
|
|
401
|
-
failedResponseHandler: (0,
|
|
402
|
-
errorSchema:
|
|
406
|
+
failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({
|
|
407
|
+
errorSchema: import_v44.z.any(),
|
|
403
408
|
errorToMessage: (data) => data
|
|
404
409
|
}),
|
|
405
410
|
fetch: this.config.fetch
|
|
406
411
|
});
|
|
407
412
|
return value;
|
|
408
413
|
} catch (error) {
|
|
409
|
-
throw asGatewayError(error);
|
|
414
|
+
throw await asGatewayError(error);
|
|
410
415
|
}
|
|
411
416
|
}
|
|
412
417
|
async getCredits() {
|
|
413
418
|
try {
|
|
414
419
|
const baseUrl = new URL(this.config.baseURL);
|
|
415
|
-
const { value } = await (0,
|
|
420
|
+
const { value } = await (0, import_provider_utils4.getFromApi)({
|
|
416
421
|
url: `${baseUrl.origin}/v1/credits`,
|
|
417
|
-
headers: await (0,
|
|
418
|
-
successfulResponseHandler: (0,
|
|
419
|
-
|
|
420
|
-
|
|
422
|
+
headers: await (0, import_provider_utils4.resolve)(this.config.headers()),
|
|
423
|
+
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
|
|
424
|
+
gatewayCreditsResponseSchema
|
|
425
|
+
),
|
|
426
|
+
failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({
|
|
427
|
+
errorSchema: import_v44.z.any(),
|
|
421
428
|
errorToMessage: (data) => data
|
|
422
429
|
}),
|
|
423
430
|
fetch: this.config.fetch
|
|
424
431
|
});
|
|
425
432
|
return value;
|
|
426
433
|
} catch (error) {
|
|
427
|
-
throw asGatewayError(error);
|
|
434
|
+
throw await asGatewayError(error);
|
|
428
435
|
}
|
|
429
436
|
}
|
|
430
437
|
};
|
|
431
|
-
var
|
|
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
|
-
|
|
438
|
+
var gatewayAvailableModelsResponseSchema = (0, import_provider_utils4.lazyValidator)(
|
|
439
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
440
|
+
import_v44.z.object({
|
|
441
|
+
models: import_v44.z.array(
|
|
442
|
+
import_v44.z.object({
|
|
443
|
+
id: import_v44.z.string(),
|
|
444
|
+
name: import_v44.z.string(),
|
|
445
|
+
description: import_v44.z.string().nullish(),
|
|
446
|
+
pricing: import_v44.z.object({
|
|
447
|
+
input: import_v44.z.string(),
|
|
448
|
+
output: import_v44.z.string(),
|
|
449
|
+
input_cache_read: import_v44.z.string().nullish(),
|
|
450
|
+
input_cache_write: import_v44.z.string().nullish()
|
|
451
|
+
}).transform(
|
|
452
|
+
({ input, output, input_cache_read, input_cache_write }) => ({
|
|
453
|
+
input,
|
|
454
|
+
output,
|
|
455
|
+
...input_cache_read ? { cachedInputTokens: input_cache_read } : {},
|
|
456
|
+
...input_cache_write ? { cacheCreationInputTokens: input_cache_write } : {}
|
|
457
|
+
})
|
|
458
|
+
).nullish(),
|
|
459
|
+
specification: import_v44.z.object({
|
|
460
|
+
specificationVersion: import_v44.z.literal("v2"),
|
|
461
|
+
provider: import_v44.z.string(),
|
|
462
|
+
modelId: import_v44.z.string()
|
|
463
|
+
}),
|
|
464
|
+
modelType: import_v44.z.enum(["language", "embedding", "image"]).nullish()
|
|
465
|
+
})
|
|
466
|
+
)
|
|
467
|
+
})
|
|
468
|
+
)
|
|
469
|
+
);
|
|
470
|
+
var gatewayCreditsResponseSchema = (0, import_provider_utils4.lazyValidator)(
|
|
471
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
472
|
+
import_v44.z.object({
|
|
473
|
+
balance: import_v44.z.string(),
|
|
474
|
+
total_used: import_v44.z.string()
|
|
475
|
+
}).transform(({ balance, total_used }) => ({
|
|
476
|
+
balance,
|
|
477
|
+
totalUsed: total_used
|
|
478
|
+
}))
|
|
479
|
+
)
|
|
480
|
+
);
|
|
465
481
|
|
|
466
482
|
// src/gateway-language-model.ts
|
|
467
|
-
var
|
|
468
|
-
var
|
|
483
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
484
|
+
var import_v45 = require("zod/v4");
|
|
469
485
|
var GatewayLanguageModel = class {
|
|
470
486
|
constructor(modelId, config) {
|
|
471
487
|
this.modelId = modelId;
|
|
@@ -486,24 +502,24 @@ var GatewayLanguageModel = class {
|
|
|
486
502
|
async doGenerate(options) {
|
|
487
503
|
const { args, warnings } = await this.getArgs(options);
|
|
488
504
|
const { abortSignal } = options;
|
|
489
|
-
const resolvedHeaders = await (0,
|
|
505
|
+
const resolvedHeaders = await (0, import_provider_utils5.resolve)(this.config.headers());
|
|
490
506
|
try {
|
|
491
507
|
const {
|
|
492
508
|
responseHeaders,
|
|
493
509
|
value: responseBody,
|
|
494
510
|
rawValue: rawResponse
|
|
495
|
-
} = await (0,
|
|
511
|
+
} = await (0, import_provider_utils5.postJsonToApi)({
|
|
496
512
|
url: this.getUrl(),
|
|
497
|
-
headers: (0,
|
|
513
|
+
headers: (0, import_provider_utils5.combineHeaders)(
|
|
498
514
|
resolvedHeaders,
|
|
499
515
|
options.headers,
|
|
500
516
|
this.getModelConfigHeaders(this.modelId, false),
|
|
501
|
-
await (0,
|
|
517
|
+
await (0, import_provider_utils5.resolve)(this.config.o11yHeaders)
|
|
502
518
|
),
|
|
503
519
|
body: args,
|
|
504
|
-
successfulResponseHandler: (0,
|
|
505
|
-
failedResponseHandler: (0,
|
|
506
|
-
errorSchema:
|
|
520
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(import_v45.z.any()),
|
|
521
|
+
failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({
|
|
522
|
+
errorSchema: import_v45.z.any(),
|
|
507
523
|
errorToMessage: (data) => data
|
|
508
524
|
}),
|
|
509
525
|
...abortSignal && { abortSignal },
|
|
@@ -516,26 +532,26 @@ var GatewayLanguageModel = class {
|
|
|
516
532
|
warnings
|
|
517
533
|
};
|
|
518
534
|
} catch (error) {
|
|
519
|
-
throw asGatewayError(error, parseAuthMethod(resolvedHeaders));
|
|
535
|
+
throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
|
|
520
536
|
}
|
|
521
537
|
}
|
|
522
538
|
async doStream(options) {
|
|
523
539
|
const { args, warnings } = await this.getArgs(options);
|
|
524
540
|
const { abortSignal } = options;
|
|
525
|
-
const resolvedHeaders = await (0,
|
|
541
|
+
const resolvedHeaders = await (0, import_provider_utils5.resolve)(this.config.headers());
|
|
526
542
|
try {
|
|
527
|
-
const { value: response, responseHeaders } = await (0,
|
|
543
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils5.postJsonToApi)({
|
|
528
544
|
url: this.getUrl(),
|
|
529
|
-
headers: (0,
|
|
545
|
+
headers: (0, import_provider_utils5.combineHeaders)(
|
|
530
546
|
resolvedHeaders,
|
|
531
547
|
options.headers,
|
|
532
548
|
this.getModelConfigHeaders(this.modelId, true),
|
|
533
|
-
await (0,
|
|
549
|
+
await (0, import_provider_utils5.resolve)(this.config.o11yHeaders)
|
|
534
550
|
),
|
|
535
551
|
body: args,
|
|
536
|
-
successfulResponseHandler: (0,
|
|
537
|
-
failedResponseHandler: (0,
|
|
538
|
-
errorSchema:
|
|
552
|
+
successfulResponseHandler: (0, import_provider_utils5.createEventSourceResponseHandler)(import_v45.z.any()),
|
|
553
|
+
failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({
|
|
554
|
+
errorSchema: import_v45.z.any(),
|
|
539
555
|
errorToMessage: (data) => data
|
|
540
556
|
}),
|
|
541
557
|
...abortSignal && { abortSignal },
|
|
@@ -571,7 +587,7 @@ var GatewayLanguageModel = class {
|
|
|
571
587
|
response: { headers: responseHeaders }
|
|
572
588
|
};
|
|
573
589
|
} catch (error) {
|
|
574
|
-
throw asGatewayError(error, parseAuthMethod(resolvedHeaders));
|
|
590
|
+
throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
|
|
575
591
|
}
|
|
576
592
|
}
|
|
577
593
|
isFilePart(part) {
|
|
@@ -613,8 +629,8 @@ var GatewayLanguageModel = class {
|
|
|
613
629
|
};
|
|
614
630
|
|
|
615
631
|
// src/gateway-embedding-model.ts
|
|
616
|
-
var
|
|
617
|
-
var
|
|
632
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
633
|
+
var import_v46 = require("zod/v4");
|
|
618
634
|
var GatewayEmbeddingModel = class {
|
|
619
635
|
constructor(modelId, config) {
|
|
620
636
|
this.modelId = modelId;
|
|
@@ -633,29 +649,29 @@ var GatewayEmbeddingModel = class {
|
|
|
633
649
|
providerOptions
|
|
634
650
|
}) {
|
|
635
651
|
var _a8;
|
|
636
|
-
const resolvedHeaders = await (0,
|
|
652
|
+
const resolvedHeaders = await (0, import_provider_utils6.resolve)(this.config.headers());
|
|
637
653
|
try {
|
|
638
654
|
const {
|
|
639
655
|
responseHeaders,
|
|
640
656
|
value: responseBody,
|
|
641
657
|
rawValue
|
|
642
|
-
} = await (0,
|
|
658
|
+
} = await (0, import_provider_utils6.postJsonToApi)({
|
|
643
659
|
url: this.getUrl(),
|
|
644
|
-
headers: (0,
|
|
660
|
+
headers: (0, import_provider_utils6.combineHeaders)(
|
|
645
661
|
resolvedHeaders,
|
|
646
662
|
headers != null ? headers : {},
|
|
647
663
|
this.getModelConfigHeaders(),
|
|
648
|
-
await (0,
|
|
664
|
+
await (0, import_provider_utils6.resolve)(this.config.o11yHeaders)
|
|
649
665
|
),
|
|
650
666
|
body: {
|
|
651
667
|
input: values.length === 1 ? values[0] : values,
|
|
652
668
|
...providerOptions ? { providerOptions } : {}
|
|
653
669
|
},
|
|
654
|
-
successfulResponseHandler: (0,
|
|
670
|
+
successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
|
|
655
671
|
gatewayEmbeddingResponseSchema
|
|
656
672
|
),
|
|
657
|
-
failedResponseHandler: (0,
|
|
658
|
-
errorSchema:
|
|
673
|
+
failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
|
|
674
|
+
errorSchema: import_v46.z.any(),
|
|
659
675
|
errorToMessage: (data) => data
|
|
660
676
|
}),
|
|
661
677
|
...abortSignal && { abortSignal },
|
|
@@ -668,7 +684,7 @@ var GatewayEmbeddingModel = class {
|
|
|
668
684
|
response: { headers: responseHeaders, body: rawValue }
|
|
669
685
|
};
|
|
670
686
|
} catch (error) {
|
|
671
|
-
throw asGatewayError(error, parseAuthMethod(resolvedHeaders));
|
|
687
|
+
throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
|
|
672
688
|
}
|
|
673
689
|
}
|
|
674
690
|
getUrl() {
|
|
@@ -681,11 +697,15 @@ var GatewayEmbeddingModel = class {
|
|
|
681
697
|
};
|
|
682
698
|
}
|
|
683
699
|
};
|
|
684
|
-
var gatewayEmbeddingResponseSchema =
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
})
|
|
700
|
+
var gatewayEmbeddingResponseSchema = (0, import_provider_utils6.lazyValidator)(
|
|
701
|
+
() => (0, import_provider_utils6.zodSchema)(
|
|
702
|
+
import_v46.z.object({
|
|
703
|
+
embeddings: import_v46.z.array(import_v46.z.array(import_v46.z.number())),
|
|
704
|
+
usage: import_v46.z.object({ tokens: import_v46.z.number() }).nullish(),
|
|
705
|
+
providerMetadata: import_v46.z.record(import_v46.z.string(), import_v46.z.record(import_v46.z.string(), import_v46.z.unknown())).optional()
|
|
706
|
+
})
|
|
707
|
+
)
|
|
708
|
+
);
|
|
689
709
|
|
|
690
710
|
// src/vercel-environment.ts
|
|
691
711
|
var import_oidc = require("@vercel/oidc");
|
|
@@ -696,10 +716,10 @@ async function getVercelRequestId() {
|
|
|
696
716
|
}
|
|
697
717
|
|
|
698
718
|
// src/gateway-provider.ts
|
|
699
|
-
var
|
|
719
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
700
720
|
|
|
701
721
|
// src/version.ts
|
|
702
|
-
var VERSION = true ? "1.0.
|
|
722
|
+
var VERSION = true ? "1.0.38" : "0.0.0-test";
|
|
703
723
|
|
|
704
724
|
// src/gateway-provider.ts
|
|
705
725
|
var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
|
|
@@ -709,11 +729,11 @@ function createGatewayProvider(options = {}) {
|
|
|
709
729
|
let metadataCache = null;
|
|
710
730
|
const cacheRefreshMillis = (_a8 = options.metadataCacheRefreshMillis) != null ? _a8 : 1e3 * 60 * 5;
|
|
711
731
|
let lastFetchTime = 0;
|
|
712
|
-
const baseURL = (_b8 = (0,
|
|
732
|
+
const baseURL = (_b8 = (0, import_provider_utils7.withoutTrailingSlash)(options.baseURL)) != null ? _b8 : "https://ai-gateway.vercel.sh/v1/ai";
|
|
713
733
|
const getHeaders = async () => {
|
|
714
734
|
const auth = await getGatewayAuthToken(options);
|
|
715
735
|
if (auth) {
|
|
716
|
-
return (0,
|
|
736
|
+
return (0, import_provider_utils8.withUserAgentSuffix)(
|
|
717
737
|
{
|
|
718
738
|
Authorization: `Bearer ${auth.token}`,
|
|
719
739
|
"ai-gateway-protocol-version": AI_GATEWAY_PROTOCOL_VERSION,
|
|
@@ -730,15 +750,15 @@ function createGatewayProvider(options = {}) {
|
|
|
730
750
|
});
|
|
731
751
|
};
|
|
732
752
|
const createO11yHeaders = () => {
|
|
733
|
-
const deploymentId = (0,
|
|
753
|
+
const deploymentId = (0, import_provider_utils7.loadOptionalSetting)({
|
|
734
754
|
settingValue: void 0,
|
|
735
755
|
environmentVariableName: "VERCEL_DEPLOYMENT_ID"
|
|
736
756
|
});
|
|
737
|
-
const environment = (0,
|
|
757
|
+
const environment = (0, import_provider_utils7.loadOptionalSetting)({
|
|
738
758
|
settingValue: void 0,
|
|
739
759
|
environmentVariableName: "VERCEL_ENV"
|
|
740
760
|
});
|
|
741
|
-
const region = (0,
|
|
761
|
+
const region = (0, import_provider_utils7.loadOptionalSetting)({
|
|
742
762
|
settingValue: void 0,
|
|
743
763
|
environmentVariableName: "VERCEL_REGION"
|
|
744
764
|
});
|
|
@@ -774,7 +794,10 @@ function createGatewayProvider(options = {}) {
|
|
|
774
794
|
metadataCache = metadata;
|
|
775
795
|
return metadata;
|
|
776
796
|
}).catch(async (error) => {
|
|
777
|
-
throw
|
|
797
|
+
throw await asGatewayError(
|
|
798
|
+
error,
|
|
799
|
+
await parseAuthMethod(await getHeaders())
|
|
800
|
+
);
|
|
778
801
|
});
|
|
779
802
|
}
|
|
780
803
|
return metadataCache ? Promise.resolve(metadataCache) : pendingMetadata;
|
|
@@ -785,7 +808,10 @@ function createGatewayProvider(options = {}) {
|
|
|
785
808
|
headers: getHeaders,
|
|
786
809
|
fetch: options.fetch
|
|
787
810
|
}).getCredits().catch(async (error) => {
|
|
788
|
-
throw
|
|
811
|
+
throw await asGatewayError(
|
|
812
|
+
error,
|
|
813
|
+
await parseAuthMethod(await getHeaders())
|
|
814
|
+
);
|
|
789
815
|
});
|
|
790
816
|
};
|
|
791
817
|
const provider = function(modelId) {
|
|
@@ -815,7 +841,7 @@ function createGatewayProvider(options = {}) {
|
|
|
815
841
|
}
|
|
816
842
|
var gateway = createGatewayProvider();
|
|
817
843
|
async function getGatewayAuthToken(options) {
|
|
818
|
-
const apiKey = (0,
|
|
844
|
+
const apiKey = (0, import_provider_utils7.loadOptionalSetting)({
|
|
819
845
|
settingValue: options.apiKey,
|
|
820
846
|
environmentVariableName: "AI_GATEWAY_API_KEY"
|
|
821
847
|
});
|