@ai-sdk/gateway 3.0.125 → 3.0.126

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/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-response-error.ts
218
- var name6 = "GatewayResponseError";
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 GatewayResponseError = class extends (_b7 = GatewayError, _a7 = symbol7, _b7) {
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[_a7] = true;
255
+ this[_a8] = true;
233
256
  // used in isInstance
234
- this.name = name6;
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) && symbol7 in 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 _a9;
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 = (_a9 = validatedResponse.generationId) != null ? _a9 : void 0;
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 name7 = "GatewayTimeoutError";
360
- var marker8 = `vercel.ai.gateway.error.${name7}`;
361
- var symbol8 = Symbol.for(marker8);
362
- var _a8, _b8;
363
- var GatewayTimeoutError = class _GatewayTimeoutError extends (_b8 = GatewayError, _a8 = symbol8, _b8) {
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[_a8] = true;
401
+ this[_a9] = true;
372
402
  // used in isInstance
373
- this.name = name7;
403
+ this.name = name8;
374
404
  this.type = "timeout_error";
375
405
  }
376
406
  static isInstance(error) {
377
- return GatewayError.hasMarker(error) && symbol8 in 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 _a9;
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: (_a9 = error.statusCode) != null ? _a9 : 500,
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 _a9;
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: (_a9 = responseBody.usage) != null ? _a9 : void 0,
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 _a9, _b9, _c, _d;
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: (_a9 = responseBody.warnings) != null ? _a9 : [],
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: (_b9 = responseBody.usage.inputTokens) != null ? _b9 : void 0,
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 _a9;
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: (_a9 = responseBody.warnings) != null ? _a9 : [],
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 _a9;
1671
- return (_a9 = getContext().headers) == null ? void 0 : _a9["x-vercel-id"];
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.125" : "0.0.0-test";
1705
+ var VERSION = true ? "3.0.126" : "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 _a9, _b9;
1710
+ var _a10, _b10;
1681
1711
  let pendingMetadata = null;
1682
1712
  let metadataCache = null;
1683
- const cacheRefreshMillis = (_a9 = options.metadataCacheRefreshMillis) != null ? _a9 : 1e3 * 60 * 5;
1713
+ const cacheRefreshMillis = (_a10 = options.metadataCacheRefreshMillis) != null ? _a10 : 1e3 * 60 * 5;
1684
1714
  let lastFetchTime = 0;
1685
- const baseURL = (_b9 = withoutTrailingSlash(options.baseURL)) != null ? _b9 : "https://ai-gateway.vercel.sh/v3/ai";
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 _a10, _b10, _c;
1746
- const now = (_c = (_b10 = (_a10 = options._internal) == null ? void 0 : _a10.currentDate) == null ? void 0 : _b10.call(_a10).getTime()) != null ? _c : Date.now();
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,