@ai-sdk/gateway 3.0.125 → 3.0.127
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 +13 -0
- package/dist/index.d.mts +25 -6
- package/dist/index.d.ts +25 -6
- package/dist/index.js +67 -35
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -33
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/errors/create-gateway-error.ts +8 -0
- package/src/errors/gateway-failed-dependency-error.ts +35 -0
- package/src/errors/index.ts +1 -0
- package/src/gateway-language-model-settings.ts +1 -2
- package/src/index.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -214,12 +214,35 @@ var GatewayInternalServerError = class extends (_b6 = GatewayError, _a6 = symbol
|
|
|
214
214
|
}
|
|
215
215
|
};
|
|
216
216
|
|
|
217
|
-
// src/errors/gateway-
|
|
218
|
-
var name6 = "
|
|
217
|
+
// src/errors/gateway-failed-dependency-error.ts
|
|
218
|
+
var name6 = "GatewayFailedDependencyError";
|
|
219
219
|
var marker7 = `vercel.ai.gateway.error.${name6}`;
|
|
220
220
|
var symbol7 = Symbol.for(marker7);
|
|
221
221
|
var _a7, _b7;
|
|
222
|
-
var
|
|
222
|
+
var GatewayFailedDependencyError = class extends (_b7 = GatewayError, _a7 = symbol7, _b7) {
|
|
223
|
+
constructor({
|
|
224
|
+
message = "Failed dependency",
|
|
225
|
+
statusCode = 424,
|
|
226
|
+
cause,
|
|
227
|
+
generationId
|
|
228
|
+
} = {}) {
|
|
229
|
+
super({ message, statusCode, cause, generationId });
|
|
230
|
+
this[_a7] = true;
|
|
231
|
+
// used in isInstance
|
|
232
|
+
this.name = name6;
|
|
233
|
+
this.type = "failed_dependency";
|
|
234
|
+
}
|
|
235
|
+
static isInstance(error) {
|
|
236
|
+
return GatewayError.hasMarker(error) && symbol7 in error;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
// src/errors/gateway-response-error.ts
|
|
241
|
+
var name7 = "GatewayResponseError";
|
|
242
|
+
var marker8 = `vercel.ai.gateway.error.${name7}`;
|
|
243
|
+
var symbol8 = Symbol.for(marker8);
|
|
244
|
+
var _a8, _b8;
|
|
245
|
+
var GatewayResponseError = class extends (_b8 = GatewayError, _a8 = symbol8, _b8) {
|
|
223
246
|
constructor({
|
|
224
247
|
message = "Invalid response from Gateway",
|
|
225
248
|
statusCode = 502,
|
|
@@ -229,15 +252,15 @@ var GatewayResponseError = class extends (_b7 = GatewayError, _a7 = symbol7, _b7
|
|
|
229
252
|
generationId
|
|
230
253
|
} = {}) {
|
|
231
254
|
super({ message, statusCode, cause, generationId });
|
|
232
|
-
this[
|
|
255
|
+
this[_a8] = true;
|
|
233
256
|
// used in isInstance
|
|
234
|
-
this.name =
|
|
257
|
+
this.name = name7;
|
|
235
258
|
this.type = "response_error";
|
|
236
259
|
this.response = response;
|
|
237
260
|
this.validationError = validationError;
|
|
238
261
|
}
|
|
239
262
|
static isInstance(error) {
|
|
240
|
-
return GatewayError.hasMarker(error) &&
|
|
263
|
+
return GatewayError.hasMarker(error) && symbol8 in error;
|
|
241
264
|
}
|
|
242
265
|
};
|
|
243
266
|
|
|
@@ -254,7 +277,7 @@ async function createGatewayErrorFromResponse({
|
|
|
254
277
|
cause,
|
|
255
278
|
authMethod
|
|
256
279
|
}) {
|
|
257
|
-
var
|
|
280
|
+
var _a10;
|
|
258
281
|
const parseResult = await safeValidateTypes({
|
|
259
282
|
value: response,
|
|
260
283
|
schema: gatewayErrorResponseSchema
|
|
@@ -273,7 +296,7 @@ async function createGatewayErrorFromResponse({
|
|
|
273
296
|
const validatedResponse = parseResult.value;
|
|
274
297
|
const errorType = validatedResponse.error.type;
|
|
275
298
|
const message = validatedResponse.error.message;
|
|
276
|
-
const generationId = (
|
|
299
|
+
const generationId = (_a10 = validatedResponse.generationId) != null ? _a10 : void 0;
|
|
277
300
|
switch (errorType) {
|
|
278
301
|
case "authentication_error":
|
|
279
302
|
return GatewayAuthenticationError.createContextualError({
|
|
@@ -317,6 +340,13 @@ async function createGatewayErrorFromResponse({
|
|
|
317
340
|
cause,
|
|
318
341
|
generationId
|
|
319
342
|
});
|
|
343
|
+
case "failed_dependency":
|
|
344
|
+
return new GatewayFailedDependencyError({
|
|
345
|
+
message,
|
|
346
|
+
statusCode,
|
|
347
|
+
cause,
|
|
348
|
+
generationId
|
|
349
|
+
});
|
|
320
350
|
default:
|
|
321
351
|
return new GatewayInternalServerError({
|
|
322
352
|
message,
|
|
@@ -356,11 +386,11 @@ function extractApiCallResponse(error) {
|
|
|
356
386
|
}
|
|
357
387
|
|
|
358
388
|
// src/errors/gateway-timeout-error.ts
|
|
359
|
-
var
|
|
360
|
-
var
|
|
361
|
-
var
|
|
362
|
-
var
|
|
363
|
-
var GatewayTimeoutError = class _GatewayTimeoutError extends (
|
|
389
|
+
var name8 = "GatewayTimeoutError";
|
|
390
|
+
var marker9 = `vercel.ai.gateway.error.${name8}`;
|
|
391
|
+
var symbol9 = Symbol.for(marker9);
|
|
392
|
+
var _a9, _b9;
|
|
393
|
+
var GatewayTimeoutError = class _GatewayTimeoutError extends (_b9 = GatewayError, _a9 = symbol9, _b9) {
|
|
364
394
|
constructor({
|
|
365
395
|
message = "Request timed out",
|
|
366
396
|
statusCode = 408,
|
|
@@ -368,13 +398,13 @@ var GatewayTimeoutError = class _GatewayTimeoutError extends (_b8 = GatewayError
|
|
|
368
398
|
generationId
|
|
369
399
|
} = {}) {
|
|
370
400
|
super({ message, statusCode, cause, generationId });
|
|
371
|
-
this[
|
|
401
|
+
this[_a9] = true;
|
|
372
402
|
// used in isInstance
|
|
373
|
-
this.name =
|
|
403
|
+
this.name = name8;
|
|
374
404
|
this.type = "timeout_error";
|
|
375
405
|
}
|
|
376
406
|
static isInstance(error) {
|
|
377
|
-
return GatewayError.hasMarker(error) &&
|
|
407
|
+
return GatewayError.hasMarker(error) && symbol9 in error;
|
|
378
408
|
}
|
|
379
409
|
/**
|
|
380
410
|
* Creates a helpful timeout error message with troubleshooting guidance
|
|
@@ -414,7 +444,7 @@ function isTimeoutError(error) {
|
|
|
414
444
|
return false;
|
|
415
445
|
}
|
|
416
446
|
async function asGatewayError(error, authMethod) {
|
|
417
|
-
var
|
|
447
|
+
var _a10;
|
|
418
448
|
if (GatewayError.isInstance(error)) {
|
|
419
449
|
return error;
|
|
420
450
|
}
|
|
@@ -433,7 +463,7 @@ async function asGatewayError(error, authMethod) {
|
|
|
433
463
|
}
|
|
434
464
|
return await createGatewayErrorFromResponse({
|
|
435
465
|
response: extractApiCallResponse(error),
|
|
436
|
-
statusCode: (
|
|
466
|
+
statusCode: (_a10 = error.statusCode) != null ? _a10 : 500,
|
|
437
467
|
defaultMessage: "Gateway request failed",
|
|
438
468
|
cause: error,
|
|
439
469
|
authMethod
|
|
@@ -967,7 +997,7 @@ var GatewayEmbeddingModel = class {
|
|
|
967
997
|
abortSignal,
|
|
968
998
|
providerOptions
|
|
969
999
|
}) {
|
|
970
|
-
var
|
|
1000
|
+
var _a10;
|
|
971
1001
|
const resolvedHeaders = await resolve5(this.config.headers());
|
|
972
1002
|
try {
|
|
973
1003
|
const {
|
|
@@ -998,7 +1028,7 @@ var GatewayEmbeddingModel = class {
|
|
|
998
1028
|
});
|
|
999
1029
|
return {
|
|
1000
1030
|
embeddings: responseBody.embeddings,
|
|
1001
|
-
usage: (
|
|
1031
|
+
usage: (_a10 = responseBody.usage) != null ? _a10 : void 0,
|
|
1002
1032
|
providerMetadata: responseBody.providerMetadata,
|
|
1003
1033
|
response: { headers: responseHeaders, body: rawValue },
|
|
1004
1034
|
warnings: []
|
|
@@ -1060,7 +1090,7 @@ var GatewayImageModel = class {
|
|
|
1060
1090
|
headers,
|
|
1061
1091
|
abortSignal
|
|
1062
1092
|
}) {
|
|
1063
|
-
var
|
|
1093
|
+
var _a10, _b10, _c, _d;
|
|
1064
1094
|
const resolvedHeaders = await resolve6(this.config.headers());
|
|
1065
1095
|
try {
|
|
1066
1096
|
const {
|
|
@@ -1100,7 +1130,7 @@ var GatewayImageModel = class {
|
|
|
1100
1130
|
return {
|
|
1101
1131
|
images: responseBody.images,
|
|
1102
1132
|
// Always base64 strings from server
|
|
1103
|
-
warnings: (
|
|
1133
|
+
warnings: (_a10 = responseBody.warnings) != null ? _a10 : [],
|
|
1104
1134
|
providerMetadata: responseBody.providerMetadata,
|
|
1105
1135
|
response: {
|
|
1106
1136
|
timestamp: /* @__PURE__ */ new Date(),
|
|
@@ -1109,7 +1139,7 @@ var GatewayImageModel = class {
|
|
|
1109
1139
|
},
|
|
1110
1140
|
...responseBody.usage != null && {
|
|
1111
1141
|
usage: {
|
|
1112
|
-
inputTokens: (
|
|
1142
|
+
inputTokens: (_b10 = responseBody.usage.inputTokens) != null ? _b10 : void 0,
|
|
1113
1143
|
outputTokens: (_c = responseBody.usage.outputTokens) != null ? _c : void 0,
|
|
1114
1144
|
totalTokens: (_d = responseBody.usage.totalTokens) != null ? _d : void 0
|
|
1115
1145
|
}
|
|
@@ -1207,7 +1237,7 @@ var GatewayVideoModel = class {
|
|
|
1207
1237
|
headers,
|
|
1208
1238
|
abortSignal
|
|
1209
1239
|
}) {
|
|
1210
|
-
var
|
|
1240
|
+
var _a10;
|
|
1211
1241
|
const resolvedHeaders = await resolve7(this.config.headers());
|
|
1212
1242
|
try {
|
|
1213
1243
|
const { responseHeaders, value: responseBody } = await postJsonToApi4({
|
|
@@ -1303,7 +1333,7 @@ var GatewayVideoModel = class {
|
|
|
1303
1333
|
});
|
|
1304
1334
|
return {
|
|
1305
1335
|
videos: responseBody.videos,
|
|
1306
|
-
warnings: (
|
|
1336
|
+
warnings: (_a10 = responseBody.warnings) != null ? _a10 : [],
|
|
1307
1337
|
providerMetadata: responseBody.providerMetadata,
|
|
1308
1338
|
response: {
|
|
1309
1339
|
timestamp: /* @__PURE__ */ new Date(),
|
|
@@ -1667,22 +1697,22 @@ var gatewayTools = {
|
|
|
1667
1697
|
import { getContext } from "@vercel/oidc";
|
|
1668
1698
|
import { getVercelOidcToken } from "@vercel/oidc";
|
|
1669
1699
|
async function getVercelRequestId() {
|
|
1670
|
-
var
|
|
1671
|
-
return (
|
|
1700
|
+
var _a10;
|
|
1701
|
+
return (_a10 = getContext().headers) == null ? void 0 : _a10["x-vercel-id"];
|
|
1672
1702
|
}
|
|
1673
1703
|
|
|
1674
1704
|
// src/version.ts
|
|
1675
|
-
var VERSION = true ? "3.0.
|
|
1705
|
+
var VERSION = true ? "3.0.127" : "0.0.0-test";
|
|
1676
1706
|
|
|
1677
1707
|
// src/gateway-provider.ts
|
|
1678
1708
|
var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
|
|
1679
1709
|
function createGatewayProvider(options = {}) {
|
|
1680
|
-
var
|
|
1710
|
+
var _a10, _b10;
|
|
1681
1711
|
let pendingMetadata = null;
|
|
1682
1712
|
let metadataCache = null;
|
|
1683
|
-
const cacheRefreshMillis = (
|
|
1713
|
+
const cacheRefreshMillis = (_a10 = options.metadataCacheRefreshMillis) != null ? _a10 : 1e3 * 60 * 5;
|
|
1684
1714
|
let lastFetchTime = 0;
|
|
1685
|
-
const baseURL = (
|
|
1715
|
+
const baseURL = (_b10 = withoutTrailingSlash(options.baseURL)) != null ? _b10 : "https://ai-gateway.vercel.sh/v3/ai";
|
|
1686
1716
|
const getHeaders = async () => {
|
|
1687
1717
|
try {
|
|
1688
1718
|
const auth = await getGatewayAuthToken(options);
|
|
@@ -1742,8 +1772,8 @@ function createGatewayProvider(options = {}) {
|
|
|
1742
1772
|
});
|
|
1743
1773
|
};
|
|
1744
1774
|
const getAvailableModels = async () => {
|
|
1745
|
-
var
|
|
1746
|
-
const now = (_c = (
|
|
1775
|
+
var _a11, _b11, _c;
|
|
1776
|
+
const now = (_c = (_b11 = (_a11 = options._internal) == null ? void 0 : _a11.currentDate) == null ? void 0 : _b11.call(_a11).getTime()) != null ? _c : Date.now();
|
|
1747
1777
|
if (!pendingMetadata || now - lastFetchTime > cacheRefreshMillis) {
|
|
1748
1778
|
lastFetchTime = now;
|
|
1749
1779
|
pendingMetadata = new GatewayFetchMetadata({
|
|
@@ -1880,6 +1910,7 @@ async function getGatewayAuthToken(options) {
|
|
|
1880
1910
|
export {
|
|
1881
1911
|
GatewayAuthenticationError,
|
|
1882
1912
|
GatewayError,
|
|
1913
|
+
GatewayFailedDependencyError,
|
|
1883
1914
|
GatewayInternalServerError,
|
|
1884
1915
|
GatewayInvalidRequestError,
|
|
1885
1916
|
GatewayModelNotFoundError,
|