@ai-sdk/gateway 2.0.80 → 2.0.83

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.js CHANGED
@@ -34,7 +34,7 @@ __export(index_exports, {
34
34
  module.exports = __toCommonJS(index_exports);
35
35
 
36
36
  // src/gateway-provider.ts
37
- var import_provider_utils11 = require("@ai-sdk/provider-utils");
37
+ var import_provider_utils12 = require("@ai-sdk/provider-utils");
38
38
 
39
39
  // src/errors/as-gateway-error.ts
40
40
  var import_provider = require("@ai-sdk/provider");
@@ -646,9 +646,96 @@ var gatewaySpendReportResponseSchema = (0, import_provider_utils5.lazySchema)(
646
646
  )
647
647
  );
648
648
 
649
- // src/gateway-language-model.ts
649
+ // src/gateway-generation-info.ts
650
650
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
651
651
  var import_v46 = require("zod/v4");
652
+ var GatewayGenerationInfoFetcher = class {
653
+ constructor(config) {
654
+ this.config = config;
655
+ }
656
+ async getGenerationInfo(params) {
657
+ try {
658
+ const baseUrl = new URL(this.config.baseURL);
659
+ const { value } = await (0, import_provider_utils6.getFromApi)({
660
+ url: `${baseUrl.origin}/v1/generation?id=${encodeURIComponent(params.id)}`,
661
+ headers: await (0, import_provider_utils6.resolve)(this.config.headers()),
662
+ successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
663
+ gatewayGenerationInfoResponseSchema
664
+ ),
665
+ failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
666
+ errorSchema: import_v46.z.any(),
667
+ errorToMessage: (data) => data
668
+ }),
669
+ fetch: this.config.fetch
670
+ });
671
+ return value;
672
+ } catch (error) {
673
+ throw await asGatewayError(error);
674
+ }
675
+ }
676
+ };
677
+ var gatewayGenerationInfoResponseSchema = (0, import_provider_utils6.lazySchema)(
678
+ () => (0, import_provider_utils6.zodSchema)(
679
+ import_v46.z.object({
680
+ data: import_v46.z.object({
681
+ id: import_v46.z.string(),
682
+ total_cost: import_v46.z.number(),
683
+ upstream_inference_cost: import_v46.z.number(),
684
+ usage: import_v46.z.number(),
685
+ created_at: import_v46.z.string(),
686
+ model: import_v46.z.string(),
687
+ is_byok: import_v46.z.boolean(),
688
+ provider_name: import_v46.z.string(),
689
+ streamed: import_v46.z.boolean(),
690
+ finish_reason: import_v46.z.string(),
691
+ latency: import_v46.z.number(),
692
+ generation_time: import_v46.z.number(),
693
+ native_tokens_prompt: import_v46.z.number(),
694
+ native_tokens_completion: import_v46.z.number(),
695
+ native_tokens_reasoning: import_v46.z.number(),
696
+ native_tokens_cached: import_v46.z.number(),
697
+ native_tokens_cache_creation: import_v46.z.number(),
698
+ billable_web_search_calls: import_v46.z.number()
699
+ }).transform(
700
+ ({
701
+ total_cost,
702
+ upstream_inference_cost,
703
+ created_at,
704
+ is_byok,
705
+ provider_name,
706
+ finish_reason,
707
+ generation_time,
708
+ native_tokens_prompt,
709
+ native_tokens_completion,
710
+ native_tokens_reasoning,
711
+ native_tokens_cached,
712
+ native_tokens_cache_creation,
713
+ billable_web_search_calls,
714
+ ...rest
715
+ }) => ({
716
+ ...rest,
717
+ totalCost: total_cost,
718
+ upstreamInferenceCost: upstream_inference_cost,
719
+ createdAt: created_at,
720
+ isByok: is_byok,
721
+ providerName: provider_name,
722
+ finishReason: finish_reason,
723
+ generationTime: generation_time,
724
+ promptTokens: native_tokens_prompt,
725
+ completionTokens: native_tokens_completion,
726
+ reasoningTokens: native_tokens_reasoning,
727
+ cachedTokens: native_tokens_cached,
728
+ cacheCreationTokens: native_tokens_cache_creation,
729
+ billableWebSearchCalls: billable_web_search_calls
730
+ })
731
+ )
732
+ }).transform(({ data }) => data)
733
+ )
734
+ );
735
+
736
+ // src/gateway-language-model.ts
737
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
738
+ var import_v47 = require("zod/v4");
652
739
  var GatewayLanguageModel = class {
653
740
  constructor(modelId, config) {
654
741
  this.modelId = modelId;
@@ -669,24 +756,24 @@ var GatewayLanguageModel = class {
669
756
  async doGenerate(options) {
670
757
  const { args, warnings } = await this.getArgs(options);
671
758
  const { abortSignal } = options;
672
- const resolvedHeaders = await (0, import_provider_utils6.resolve)(this.config.headers());
759
+ const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers());
673
760
  try {
674
761
  const {
675
762
  responseHeaders,
676
763
  value: responseBody,
677
764
  rawValue: rawResponse
678
- } = await (0, import_provider_utils6.postJsonToApi)({
765
+ } = await (0, import_provider_utils7.postJsonToApi)({
679
766
  url: this.getUrl(),
680
- headers: (0, import_provider_utils6.combineHeaders)(
767
+ headers: (0, import_provider_utils7.combineHeaders)(
681
768
  resolvedHeaders,
682
769
  options.headers,
683
770
  this.getModelConfigHeaders(this.modelId, false),
684
- await (0, import_provider_utils6.resolve)(this.config.o11yHeaders)
771
+ await (0, import_provider_utils7.resolve)(this.config.o11yHeaders)
685
772
  ),
686
773
  body: args,
687
- successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(import_v46.z.any()),
688
- failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
689
- errorSchema: import_v46.z.any(),
774
+ successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(import_v47.z.any()),
775
+ failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
776
+ errorSchema: import_v47.z.any(),
690
777
  errorToMessage: (data) => data
691
778
  }),
692
779
  ...abortSignal && { abortSignal },
@@ -705,20 +792,20 @@ var GatewayLanguageModel = class {
705
792
  async doStream(options) {
706
793
  const { args, warnings } = await this.getArgs(options);
707
794
  const { abortSignal } = options;
708
- const resolvedHeaders = await (0, import_provider_utils6.resolve)(this.config.headers());
795
+ const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers());
709
796
  try {
710
- const { value: response, responseHeaders } = await (0, import_provider_utils6.postJsonToApi)({
797
+ const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
711
798
  url: this.getUrl(),
712
- headers: (0, import_provider_utils6.combineHeaders)(
799
+ headers: (0, import_provider_utils7.combineHeaders)(
713
800
  resolvedHeaders,
714
801
  options.headers,
715
802
  this.getModelConfigHeaders(this.modelId, true),
716
- await (0, import_provider_utils6.resolve)(this.config.o11yHeaders)
803
+ await (0, import_provider_utils7.resolve)(this.config.o11yHeaders)
717
804
  ),
718
805
  body: args,
719
- successfulResponseHandler: (0, import_provider_utils6.createEventSourceResponseHandler)(import_v46.z.any()),
720
- failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
721
- errorSchema: import_v46.z.any(),
806
+ successfulResponseHandler: (0, import_provider_utils7.createEventSourceResponseHandler)(import_v47.z.any()),
807
+ failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
808
+ errorSchema: import_v47.z.any(),
722
809
  errorToMessage: (data) => data
723
810
  }),
724
811
  ...abortSignal && { abortSignal },
@@ -796,8 +883,8 @@ var GatewayLanguageModel = class {
796
883
  };
797
884
 
798
885
  // src/gateway-embedding-model.ts
799
- var import_provider_utils7 = require("@ai-sdk/provider-utils");
800
- var import_v47 = require("zod/v4");
886
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
887
+ var import_v48 = require("zod/v4");
801
888
  var GatewayEmbeddingModel = class {
802
889
  constructor(modelId, config) {
803
890
  this.modelId = modelId;
@@ -816,29 +903,29 @@ var GatewayEmbeddingModel = class {
816
903
  providerOptions
817
904
  }) {
818
905
  var _a9;
819
- const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers());
906
+ const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers());
820
907
  try {
821
908
  const {
822
909
  responseHeaders,
823
910
  value: responseBody,
824
911
  rawValue
825
- } = await (0, import_provider_utils7.postJsonToApi)({
912
+ } = await (0, import_provider_utils8.postJsonToApi)({
826
913
  url: this.getUrl(),
827
- headers: (0, import_provider_utils7.combineHeaders)(
914
+ headers: (0, import_provider_utils8.combineHeaders)(
828
915
  resolvedHeaders,
829
916
  headers != null ? headers : {},
830
917
  this.getModelConfigHeaders(),
831
- await (0, import_provider_utils7.resolve)(this.config.o11yHeaders)
918
+ await (0, import_provider_utils8.resolve)(this.config.o11yHeaders)
832
919
  ),
833
920
  body: {
834
921
  input: values.length === 1 ? values[0] : values,
835
922
  ...providerOptions ? { providerOptions } : {}
836
923
  },
837
- successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
924
+ successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(
838
925
  gatewayEmbeddingResponseSchema
839
926
  ),
840
- failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
841
- errorSchema: import_v47.z.any(),
927
+ failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({
928
+ errorSchema: import_v48.z.any(),
842
929
  errorToMessage: (data) => data
843
930
  }),
844
931
  ...abortSignal && { abortSignal },
@@ -864,19 +951,19 @@ var GatewayEmbeddingModel = class {
864
951
  };
865
952
  }
866
953
  };
867
- var gatewayEmbeddingResponseSchema = (0, import_provider_utils7.lazyValidator)(
868
- () => (0, import_provider_utils7.zodSchema)(
869
- import_v47.z.object({
870
- embeddings: import_v47.z.array(import_v47.z.array(import_v47.z.number())),
871
- usage: import_v47.z.object({ tokens: import_v47.z.number() }).nullish(),
872
- providerMetadata: import_v47.z.record(import_v47.z.string(), import_v47.z.record(import_v47.z.string(), import_v47.z.unknown())).optional()
954
+ var gatewayEmbeddingResponseSchema = (0, import_provider_utils8.lazyValidator)(
955
+ () => (0, import_provider_utils8.zodSchema)(
956
+ import_v48.z.object({
957
+ embeddings: import_v48.z.array(import_v48.z.array(import_v48.z.number())),
958
+ usage: import_v48.z.object({ tokens: import_v48.z.number() }).nullish(),
959
+ providerMetadata: import_v48.z.record(import_v48.z.string(), import_v48.z.record(import_v48.z.string(), import_v48.z.unknown())).optional()
873
960
  })
874
961
  )
875
962
  );
876
963
 
877
964
  // src/gateway-image-model.ts
878
- var import_provider_utils8 = require("@ai-sdk/provider-utils");
879
- var import_v48 = require("zod/v4");
965
+ var import_provider_utils9 = require("@ai-sdk/provider-utils");
966
+ var import_v49 = require("zod/v4");
880
967
  var GatewayImageModel = class {
881
968
  constructor(modelId, config) {
882
969
  this.modelId = modelId;
@@ -899,19 +986,19 @@ var GatewayImageModel = class {
899
986
  abortSignal
900
987
  }) {
901
988
  var _a9, _b9, _c, _d;
902
- const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers());
989
+ const resolvedHeaders = await (0, import_provider_utils9.resolve)(this.config.headers());
903
990
  try {
904
991
  const {
905
992
  responseHeaders,
906
993
  value: responseBody,
907
994
  rawValue
908
- } = await (0, import_provider_utils8.postJsonToApi)({
995
+ } = await (0, import_provider_utils9.postJsonToApi)({
909
996
  url: this.getUrl(),
910
- headers: (0, import_provider_utils8.combineHeaders)(
997
+ headers: (0, import_provider_utils9.combineHeaders)(
911
998
  resolvedHeaders,
912
999
  headers != null ? headers : {},
913
1000
  this.getModelConfigHeaders(),
914
- await (0, import_provider_utils8.resolve)(this.config.o11yHeaders)
1001
+ await (0, import_provider_utils9.resolve)(this.config.o11yHeaders)
915
1002
  ),
916
1003
  body: {
917
1004
  prompt,
@@ -921,11 +1008,11 @@ var GatewayImageModel = class {
921
1008
  ...seed && { seed },
922
1009
  ...providerOptions && { providerOptions }
923
1010
  },
924
- successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(
1011
+ successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
925
1012
  gatewayImageResponseSchema
926
1013
  ),
927
- failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({
928
- errorSchema: import_v48.z.any(),
1014
+ failedResponseHandler: (0, import_provider_utils9.createJsonErrorResponseHandler)({
1015
+ errorSchema: import_v49.z.any(),
929
1016
  errorToMessage: (data) => data
930
1017
  }),
931
1018
  ...abortSignal && { abortSignal },
@@ -963,32 +1050,32 @@ var GatewayImageModel = class {
963
1050
  };
964
1051
  }
965
1052
  };
966
- var providerMetadataEntrySchema = import_v48.z.object({
967
- images: import_v48.z.array(import_v48.z.unknown()).optional()
968
- }).catchall(import_v48.z.unknown());
969
- var gatewayImageUsageSchema = import_v48.z.object({
970
- inputTokens: import_v48.z.number().nullish(),
971
- outputTokens: import_v48.z.number().nullish(),
972
- totalTokens: import_v48.z.number().nullish()
1053
+ var providerMetadataEntrySchema = import_v49.z.object({
1054
+ images: import_v49.z.array(import_v49.z.unknown()).optional()
1055
+ }).catchall(import_v49.z.unknown());
1056
+ var gatewayImageUsageSchema = import_v49.z.object({
1057
+ inputTokens: import_v49.z.number().nullish(),
1058
+ outputTokens: import_v49.z.number().nullish(),
1059
+ totalTokens: import_v49.z.number().nullish()
973
1060
  });
974
- var gatewayImageResponseSchema = import_v48.z.object({
975
- images: import_v48.z.array(import_v48.z.string()),
1061
+ var gatewayImageResponseSchema = import_v49.z.object({
1062
+ images: import_v49.z.array(import_v49.z.string()),
976
1063
  // Always base64 strings over the wire
977
- warnings: import_v48.z.array(
978
- import_v48.z.object({
979
- type: import_v48.z.literal("other"),
980
- message: import_v48.z.string()
1064
+ warnings: import_v49.z.array(
1065
+ import_v49.z.object({
1066
+ type: import_v49.z.literal("other"),
1067
+ message: import_v49.z.string()
981
1068
  })
982
1069
  ).optional(),
983
- providerMetadata: import_v48.z.record(import_v48.z.string(), providerMetadataEntrySchema).optional(),
1070
+ providerMetadata: import_v49.z.record(import_v49.z.string(), providerMetadataEntrySchema).optional(),
984
1071
  usage: gatewayImageUsageSchema.optional()
985
1072
  });
986
1073
 
987
1074
  // src/tool/parallel-search.ts
988
- var import_provider_utils9 = require("@ai-sdk/provider-utils");
1075
+ var import_provider_utils10 = require("@ai-sdk/provider-utils");
989
1076
  var import_zod = require("zod");
990
- var parallelSearchInputSchema = (0, import_provider_utils9.lazySchema)(
991
- () => (0, import_provider_utils9.zodSchema)(
1077
+ var parallelSearchInputSchema = (0, import_provider_utils10.lazySchema)(
1078
+ () => (0, import_provider_utils10.zodSchema)(
992
1079
  import_zod.z.object({
993
1080
  objective: import_zod.z.string().describe(
994
1081
  "Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."
@@ -1023,8 +1110,8 @@ var parallelSearchInputSchema = (0, import_provider_utils9.lazySchema)(
1023
1110
  })
1024
1111
  )
1025
1112
  );
1026
- var parallelSearchOutputSchema = (0, import_provider_utils9.lazySchema)(
1027
- () => (0, import_provider_utils9.zodSchema)(
1113
+ var parallelSearchOutputSchema = (0, import_provider_utils10.lazySchema)(
1114
+ () => (0, import_provider_utils10.zodSchema)(
1028
1115
  import_zod.z.union([
1029
1116
  // Success response
1030
1117
  import_zod.z.object({
@@ -1055,7 +1142,7 @@ var parallelSearchOutputSchema = (0, import_provider_utils9.lazySchema)(
1055
1142
  ])
1056
1143
  )
1057
1144
  );
1058
- var parallelSearchToolFactory = (0, import_provider_utils9.createProviderDefinedToolFactoryWithOutputSchema)({
1145
+ var parallelSearchToolFactory = (0, import_provider_utils10.createProviderDefinedToolFactoryWithOutputSchema)({
1059
1146
  id: "gateway.parallel_search",
1060
1147
  name: "parallel_search",
1061
1148
  inputSchema: parallelSearchInputSchema,
@@ -1064,10 +1151,10 @@ var parallelSearchToolFactory = (0, import_provider_utils9.createProviderDefined
1064
1151
  var parallelSearch = (config = {}) => parallelSearchToolFactory(config);
1065
1152
 
1066
1153
  // src/tool/perplexity-search.ts
1067
- var import_provider_utils10 = require("@ai-sdk/provider-utils");
1154
+ var import_provider_utils11 = require("@ai-sdk/provider-utils");
1068
1155
  var import_zod2 = require("zod");
1069
- var perplexitySearchInputSchema = (0, import_provider_utils10.lazySchema)(
1070
- () => (0, import_provider_utils10.zodSchema)(
1156
+ var perplexitySearchInputSchema = (0, import_provider_utils11.lazySchema)(
1157
+ () => (0, import_provider_utils11.zodSchema)(
1071
1158
  import_zod2.z.object({
1072
1159
  query: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.array(import_zod2.z.string())]).describe(
1073
1160
  "Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."
@@ -1108,8 +1195,8 @@ var perplexitySearchInputSchema = (0, import_provider_utils10.lazySchema)(
1108
1195
  })
1109
1196
  )
1110
1197
  );
1111
- var perplexitySearchOutputSchema = (0, import_provider_utils10.lazySchema)(
1112
- () => (0, import_provider_utils10.zodSchema)(
1198
+ var perplexitySearchOutputSchema = (0, import_provider_utils11.lazySchema)(
1199
+ () => (0, import_provider_utils11.zodSchema)(
1113
1200
  import_zod2.z.union([
1114
1201
  // Success response
1115
1202
  import_zod2.z.object({
@@ -1139,7 +1226,7 @@ var perplexitySearchOutputSchema = (0, import_provider_utils10.lazySchema)(
1139
1226
  ])
1140
1227
  )
1141
1228
  );
1142
- var perplexitySearchToolFactory = (0, import_provider_utils10.createProviderDefinedToolFactoryWithOutputSchema)({
1229
+ var perplexitySearchToolFactory = (0, import_provider_utils11.createProviderDefinedToolFactoryWithOutputSchema)({
1143
1230
  id: "gateway.perplexity_search",
1144
1231
  name: "perplexity_search",
1145
1232
  inputSchema: perplexitySearchInputSchema,
@@ -1177,10 +1264,10 @@ async function getVercelRequestId() {
1177
1264
  }
1178
1265
 
1179
1266
  // src/gateway-provider.ts
1180
- var import_provider_utils12 = require("@ai-sdk/provider-utils");
1267
+ var import_provider_utils13 = require("@ai-sdk/provider-utils");
1181
1268
 
1182
1269
  // src/version.ts
1183
- var VERSION = true ? "2.0.80" : "0.0.0-test";
1270
+ var VERSION = true ? "2.0.83" : "0.0.0-test";
1184
1271
 
1185
1272
  // src/gateway-provider.ts
1186
1273
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
@@ -1190,11 +1277,11 @@ function createGatewayProvider(options = {}) {
1190
1277
  let metadataCache = null;
1191
1278
  const cacheRefreshMillis = (_a9 = options.metadataCacheRefreshMillis) != null ? _a9 : 1e3 * 60 * 5;
1192
1279
  let lastFetchTime = 0;
1193
- const baseURL = (_b9 = (0, import_provider_utils11.withoutTrailingSlash)(options.baseURL)) != null ? _b9 : "https://ai-gateway.vercel.sh/v1/ai";
1280
+ const baseURL = (_b9 = (0, import_provider_utils12.withoutTrailingSlash)(options.baseURL)) != null ? _b9 : "https://ai-gateway.vercel.sh/v1/ai";
1194
1281
  const getHeaders = async () => {
1195
1282
  const auth = await getGatewayAuthToken(options);
1196
1283
  if (auth) {
1197
- return (0, import_provider_utils12.withUserAgentSuffix)(
1284
+ return (0, import_provider_utils13.withUserAgentSuffix)(
1198
1285
  {
1199
1286
  Authorization: `Bearer ${auth.token}`,
1200
1287
  "ai-gateway-protocol-version": AI_GATEWAY_PROTOCOL_VERSION,
@@ -1211,19 +1298,19 @@ function createGatewayProvider(options = {}) {
1211
1298
  });
1212
1299
  };
1213
1300
  const createO11yHeaders = () => {
1214
- const deploymentId = (0, import_provider_utils11.loadOptionalSetting)({
1301
+ const deploymentId = (0, import_provider_utils12.loadOptionalSetting)({
1215
1302
  settingValue: void 0,
1216
1303
  environmentVariableName: "VERCEL_DEPLOYMENT_ID"
1217
1304
  });
1218
- const environment = (0, import_provider_utils11.loadOptionalSetting)({
1305
+ const environment = (0, import_provider_utils12.loadOptionalSetting)({
1219
1306
  settingValue: void 0,
1220
1307
  environmentVariableName: "VERCEL_ENV"
1221
1308
  });
1222
- const region = (0, import_provider_utils11.loadOptionalSetting)({
1309
+ const region = (0, import_provider_utils12.loadOptionalSetting)({
1223
1310
  settingValue: void 0,
1224
1311
  environmentVariableName: "VERCEL_REGION"
1225
1312
  });
1226
- const projectId = (0, import_provider_utils11.loadOptionalSetting)({
1313
+ const projectId = (0, import_provider_utils12.loadOptionalSetting)({
1227
1314
  settingValue: void 0,
1228
1315
  environmentVariableName: "VERCEL_PROJECT_ID"
1229
1316
  });
@@ -1292,6 +1379,18 @@ function createGatewayProvider(options = {}) {
1292
1379
  );
1293
1380
  });
1294
1381
  };
1382
+ const getGenerationInfo = async (params) => {
1383
+ return new GatewayGenerationInfoFetcher({
1384
+ baseURL,
1385
+ headers: getHeaders,
1386
+ fetch: options.fetch
1387
+ }).getGenerationInfo(params).catch(async (error) => {
1388
+ throw await asGatewayError(
1389
+ error,
1390
+ await parseAuthMethod(await getHeaders())
1391
+ );
1392
+ });
1393
+ };
1295
1394
  const provider = function(modelId) {
1296
1395
  if (new.target) {
1297
1396
  throw new Error(
@@ -1303,6 +1402,7 @@ function createGatewayProvider(options = {}) {
1303
1402
  provider.getAvailableModels = getAvailableModels;
1304
1403
  provider.getCredits = getCredits;
1305
1404
  provider.getSpendReport = getSpendReport;
1405
+ provider.getGenerationInfo = getGenerationInfo;
1306
1406
  provider.imageModel = (modelId) => {
1307
1407
  return new GatewayImageModel(modelId, {
1308
1408
  provider: "gateway",
@@ -1327,7 +1427,7 @@ function createGatewayProvider(options = {}) {
1327
1427
  }
1328
1428
  var gateway = createGatewayProvider();
1329
1429
  async function getGatewayAuthToken(options) {
1330
- const apiKey = (0, import_provider_utils11.loadOptionalSetting)({
1430
+ const apiKey = (0, import_provider_utils12.loadOptionalSetting)({
1331
1431
  settingValue: options.apiKey,
1332
1432
  environmentVariableName: "AI_GATEWAY_API_KEY"
1333
1433
  });