@ai-sdk/gateway 4.0.0-beta.24 → 4.0.0-beta.25
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 +6 -0
- package/dist/index.d.mts +49 -1
- package/dist/index.d.ts +49 -1
- package/dist/index.js +231 -131
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +283 -176
- package/dist/index.mjs.map +1 -1
- package/docs/00-ai-gateway.mdx +80 -0
- package/package.json +1 -1
- package/src/gateway-generation-info.ts +147 -0
- package/src/gateway-provider.ts +29 -0
- package/src/index.ts +4 -0
package/dist/index.mjs
CHANGED
|
@@ -667,16 +667,110 @@ var gatewaySpendReportResponseSchema = lazySchema5(
|
|
|
667
667
|
)
|
|
668
668
|
);
|
|
669
669
|
|
|
670
|
+
// src/gateway-generation-info.ts
|
|
671
|
+
import {
|
|
672
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler3,
|
|
673
|
+
createJsonResponseHandler as createJsonResponseHandler3,
|
|
674
|
+
getFromApi as getFromApi3,
|
|
675
|
+
lazySchema as lazySchema6,
|
|
676
|
+
resolve as resolve3,
|
|
677
|
+
zodSchema as zodSchema6
|
|
678
|
+
} from "@ai-sdk/provider-utils";
|
|
679
|
+
import { z as z6 } from "zod/v4";
|
|
680
|
+
var GatewayGenerationInfoFetcher = class {
|
|
681
|
+
constructor(config) {
|
|
682
|
+
this.config = config;
|
|
683
|
+
}
|
|
684
|
+
async getGenerationInfo(params) {
|
|
685
|
+
try {
|
|
686
|
+
const baseUrl = new URL(this.config.baseURL);
|
|
687
|
+
const { value } = await getFromApi3({
|
|
688
|
+
url: `${baseUrl.origin}/v1/generation?id=${encodeURIComponent(params.id)}`,
|
|
689
|
+
headers: await resolve3(this.config.headers()),
|
|
690
|
+
successfulResponseHandler: createJsonResponseHandler3(
|
|
691
|
+
gatewayGenerationInfoResponseSchema
|
|
692
|
+
),
|
|
693
|
+
failedResponseHandler: createJsonErrorResponseHandler3({
|
|
694
|
+
errorSchema: z6.any(),
|
|
695
|
+
errorToMessage: (data) => data
|
|
696
|
+
}),
|
|
697
|
+
fetch: this.config.fetch
|
|
698
|
+
});
|
|
699
|
+
return value;
|
|
700
|
+
} catch (error) {
|
|
701
|
+
throw await asGatewayError(error);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
};
|
|
705
|
+
var gatewayGenerationInfoResponseSchema = lazySchema6(
|
|
706
|
+
() => zodSchema6(
|
|
707
|
+
z6.object({
|
|
708
|
+
data: z6.object({
|
|
709
|
+
id: z6.string(),
|
|
710
|
+
total_cost: z6.number(),
|
|
711
|
+
upstream_inference_cost: z6.number(),
|
|
712
|
+
usage: z6.number(),
|
|
713
|
+
created_at: z6.string(),
|
|
714
|
+
model: z6.string(),
|
|
715
|
+
is_byok: z6.boolean(),
|
|
716
|
+
provider_name: z6.string(),
|
|
717
|
+
streamed: z6.boolean(),
|
|
718
|
+
finish_reason: z6.string(),
|
|
719
|
+
latency: z6.number(),
|
|
720
|
+
generation_time: z6.number(),
|
|
721
|
+
native_tokens_prompt: z6.number(),
|
|
722
|
+
native_tokens_completion: z6.number(),
|
|
723
|
+
native_tokens_reasoning: z6.number(),
|
|
724
|
+
native_tokens_cached: z6.number(),
|
|
725
|
+
native_tokens_cache_creation: z6.number(),
|
|
726
|
+
billable_web_search_calls: z6.number()
|
|
727
|
+
}).transform(
|
|
728
|
+
({
|
|
729
|
+
total_cost,
|
|
730
|
+
upstream_inference_cost,
|
|
731
|
+
created_at,
|
|
732
|
+
is_byok,
|
|
733
|
+
provider_name,
|
|
734
|
+
finish_reason,
|
|
735
|
+
generation_time,
|
|
736
|
+
native_tokens_prompt,
|
|
737
|
+
native_tokens_completion,
|
|
738
|
+
native_tokens_reasoning,
|
|
739
|
+
native_tokens_cached,
|
|
740
|
+
native_tokens_cache_creation,
|
|
741
|
+
billable_web_search_calls,
|
|
742
|
+
...rest
|
|
743
|
+
}) => ({
|
|
744
|
+
...rest,
|
|
745
|
+
totalCost: total_cost,
|
|
746
|
+
upstreamInferenceCost: upstream_inference_cost,
|
|
747
|
+
createdAt: created_at,
|
|
748
|
+
isByok: is_byok,
|
|
749
|
+
providerName: provider_name,
|
|
750
|
+
finishReason: finish_reason,
|
|
751
|
+
generationTime: generation_time,
|
|
752
|
+
promptTokens: native_tokens_prompt,
|
|
753
|
+
completionTokens: native_tokens_completion,
|
|
754
|
+
reasoningTokens: native_tokens_reasoning,
|
|
755
|
+
cachedTokens: native_tokens_cached,
|
|
756
|
+
cacheCreationTokens: native_tokens_cache_creation,
|
|
757
|
+
billableWebSearchCalls: billable_web_search_calls
|
|
758
|
+
})
|
|
759
|
+
)
|
|
760
|
+
}).transform(({ data }) => data)
|
|
761
|
+
)
|
|
762
|
+
);
|
|
763
|
+
|
|
670
764
|
// src/gateway-language-model.ts
|
|
671
765
|
import {
|
|
672
766
|
combineHeaders,
|
|
673
767
|
createEventSourceResponseHandler,
|
|
674
|
-
createJsonErrorResponseHandler as
|
|
675
|
-
createJsonResponseHandler as
|
|
768
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler4,
|
|
769
|
+
createJsonResponseHandler as createJsonResponseHandler4,
|
|
676
770
|
postJsonToApi,
|
|
677
|
-
resolve as
|
|
771
|
+
resolve as resolve4
|
|
678
772
|
} from "@ai-sdk/provider-utils";
|
|
679
|
-
import { z as
|
|
773
|
+
import { z as z7 } from "zod/v4";
|
|
680
774
|
var GatewayLanguageModel = class {
|
|
681
775
|
constructor(modelId, config) {
|
|
682
776
|
this.modelId = modelId;
|
|
@@ -697,7 +791,7 @@ var GatewayLanguageModel = class {
|
|
|
697
791
|
async doGenerate(options) {
|
|
698
792
|
const { args, warnings } = await this.getArgs(options);
|
|
699
793
|
const { abortSignal } = options;
|
|
700
|
-
const resolvedHeaders = await
|
|
794
|
+
const resolvedHeaders = await resolve4(this.config.headers());
|
|
701
795
|
try {
|
|
702
796
|
const {
|
|
703
797
|
responseHeaders,
|
|
@@ -709,12 +803,12 @@ var GatewayLanguageModel = class {
|
|
|
709
803
|
resolvedHeaders,
|
|
710
804
|
options.headers,
|
|
711
805
|
this.getModelConfigHeaders(this.modelId, false),
|
|
712
|
-
await
|
|
806
|
+
await resolve4(this.config.o11yHeaders)
|
|
713
807
|
),
|
|
714
808
|
body: args,
|
|
715
|
-
successfulResponseHandler:
|
|
716
|
-
failedResponseHandler:
|
|
717
|
-
errorSchema:
|
|
809
|
+
successfulResponseHandler: createJsonResponseHandler4(z7.any()),
|
|
810
|
+
failedResponseHandler: createJsonErrorResponseHandler4({
|
|
811
|
+
errorSchema: z7.any(),
|
|
718
812
|
errorToMessage: (data) => data
|
|
719
813
|
}),
|
|
720
814
|
...abortSignal && { abortSignal },
|
|
@@ -733,7 +827,7 @@ var GatewayLanguageModel = class {
|
|
|
733
827
|
async doStream(options) {
|
|
734
828
|
const { args, warnings } = await this.getArgs(options);
|
|
735
829
|
const { abortSignal } = options;
|
|
736
|
-
const resolvedHeaders = await
|
|
830
|
+
const resolvedHeaders = await resolve4(this.config.headers());
|
|
737
831
|
try {
|
|
738
832
|
const { value: response, responseHeaders } = await postJsonToApi({
|
|
739
833
|
url: this.getUrl(),
|
|
@@ -741,12 +835,12 @@ var GatewayLanguageModel = class {
|
|
|
741
835
|
resolvedHeaders,
|
|
742
836
|
options.headers,
|
|
743
837
|
this.getModelConfigHeaders(this.modelId, true),
|
|
744
|
-
await
|
|
838
|
+
await resolve4(this.config.o11yHeaders)
|
|
745
839
|
),
|
|
746
840
|
body: args,
|
|
747
|
-
successfulResponseHandler: createEventSourceResponseHandler(
|
|
748
|
-
failedResponseHandler:
|
|
749
|
-
errorSchema:
|
|
841
|
+
successfulResponseHandler: createEventSourceResponseHandler(z7.any()),
|
|
842
|
+
failedResponseHandler: createJsonErrorResponseHandler4({
|
|
843
|
+
errorSchema: z7.any(),
|
|
750
844
|
errorToMessage: (data) => data
|
|
751
845
|
}),
|
|
752
846
|
...abortSignal && { abortSignal },
|
|
@@ -826,14 +920,14 @@ var GatewayLanguageModel = class {
|
|
|
826
920
|
// src/gateway-embedding-model.ts
|
|
827
921
|
import {
|
|
828
922
|
combineHeaders as combineHeaders2,
|
|
829
|
-
createJsonErrorResponseHandler as
|
|
830
|
-
createJsonResponseHandler as
|
|
831
|
-
lazySchema as
|
|
923
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler5,
|
|
924
|
+
createJsonResponseHandler as createJsonResponseHandler5,
|
|
925
|
+
lazySchema as lazySchema7,
|
|
832
926
|
postJsonToApi as postJsonToApi2,
|
|
833
|
-
resolve as
|
|
834
|
-
zodSchema as
|
|
927
|
+
resolve as resolve5,
|
|
928
|
+
zodSchema as zodSchema7
|
|
835
929
|
} from "@ai-sdk/provider-utils";
|
|
836
|
-
import { z as
|
|
930
|
+
import { z as z8 } from "zod/v4";
|
|
837
931
|
var GatewayEmbeddingModel = class {
|
|
838
932
|
constructor(modelId, config) {
|
|
839
933
|
this.modelId = modelId;
|
|
@@ -852,7 +946,7 @@ var GatewayEmbeddingModel = class {
|
|
|
852
946
|
providerOptions
|
|
853
947
|
}) {
|
|
854
948
|
var _a9;
|
|
855
|
-
const resolvedHeaders = await
|
|
949
|
+
const resolvedHeaders = await resolve5(this.config.headers());
|
|
856
950
|
try {
|
|
857
951
|
const {
|
|
858
952
|
responseHeaders,
|
|
@@ -864,17 +958,17 @@ var GatewayEmbeddingModel = class {
|
|
|
864
958
|
resolvedHeaders,
|
|
865
959
|
headers != null ? headers : {},
|
|
866
960
|
this.getModelConfigHeaders(),
|
|
867
|
-
await
|
|
961
|
+
await resolve5(this.config.o11yHeaders)
|
|
868
962
|
),
|
|
869
963
|
body: {
|
|
870
964
|
values,
|
|
871
965
|
...providerOptions ? { providerOptions } : {}
|
|
872
966
|
},
|
|
873
|
-
successfulResponseHandler:
|
|
967
|
+
successfulResponseHandler: createJsonResponseHandler5(
|
|
874
968
|
gatewayEmbeddingResponseSchema
|
|
875
969
|
),
|
|
876
|
-
failedResponseHandler:
|
|
877
|
-
errorSchema:
|
|
970
|
+
failedResponseHandler: createJsonErrorResponseHandler5({
|
|
971
|
+
errorSchema: z8.any(),
|
|
878
972
|
errorToMessage: (data) => data
|
|
879
973
|
}),
|
|
880
974
|
...abortSignal && { abortSignal },
|
|
@@ -901,12 +995,12 @@ var GatewayEmbeddingModel = class {
|
|
|
901
995
|
};
|
|
902
996
|
}
|
|
903
997
|
};
|
|
904
|
-
var gatewayEmbeddingResponseSchema =
|
|
905
|
-
() =>
|
|
906
|
-
|
|
907
|
-
embeddings:
|
|
908
|
-
usage:
|
|
909
|
-
providerMetadata:
|
|
998
|
+
var gatewayEmbeddingResponseSchema = lazySchema7(
|
|
999
|
+
() => zodSchema7(
|
|
1000
|
+
z8.object({
|
|
1001
|
+
embeddings: z8.array(z8.array(z8.number())),
|
|
1002
|
+
usage: z8.object({ tokens: z8.number() }).nullish(),
|
|
1003
|
+
providerMetadata: z8.record(z8.string(), z8.record(z8.string(), z8.unknown())).optional()
|
|
910
1004
|
})
|
|
911
1005
|
)
|
|
912
1006
|
);
|
|
@@ -915,12 +1009,12 @@ var gatewayEmbeddingResponseSchema = lazySchema6(
|
|
|
915
1009
|
import {
|
|
916
1010
|
combineHeaders as combineHeaders3,
|
|
917
1011
|
convertUint8ArrayToBase64,
|
|
918
|
-
createJsonResponseHandler as
|
|
919
|
-
createJsonErrorResponseHandler as
|
|
1012
|
+
createJsonResponseHandler as createJsonResponseHandler6,
|
|
1013
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler6,
|
|
920
1014
|
postJsonToApi as postJsonToApi3,
|
|
921
|
-
resolve as
|
|
1015
|
+
resolve as resolve6
|
|
922
1016
|
} from "@ai-sdk/provider-utils";
|
|
923
|
-
import { z as
|
|
1017
|
+
import { z as z9 } from "zod/v4";
|
|
924
1018
|
var GatewayImageModel = class {
|
|
925
1019
|
constructor(modelId, config) {
|
|
926
1020
|
this.modelId = modelId;
|
|
@@ -945,7 +1039,7 @@ var GatewayImageModel = class {
|
|
|
945
1039
|
abortSignal
|
|
946
1040
|
}) {
|
|
947
1041
|
var _a9, _b9, _c, _d;
|
|
948
|
-
const resolvedHeaders = await
|
|
1042
|
+
const resolvedHeaders = await resolve6(this.config.headers());
|
|
949
1043
|
try {
|
|
950
1044
|
const {
|
|
951
1045
|
responseHeaders,
|
|
@@ -957,7 +1051,7 @@ var GatewayImageModel = class {
|
|
|
957
1051
|
resolvedHeaders,
|
|
958
1052
|
headers != null ? headers : {},
|
|
959
1053
|
this.getModelConfigHeaders(),
|
|
960
|
-
await
|
|
1054
|
+
await resolve6(this.config.o11yHeaders)
|
|
961
1055
|
),
|
|
962
1056
|
body: {
|
|
963
1057
|
prompt,
|
|
@@ -971,11 +1065,11 @@ var GatewayImageModel = class {
|
|
|
971
1065
|
},
|
|
972
1066
|
...mask && { mask: maybeEncodeImageFile(mask) }
|
|
973
1067
|
},
|
|
974
|
-
successfulResponseHandler:
|
|
1068
|
+
successfulResponseHandler: createJsonResponseHandler6(
|
|
975
1069
|
gatewayImageResponseSchema
|
|
976
1070
|
),
|
|
977
|
-
failedResponseHandler:
|
|
978
|
-
errorSchema:
|
|
1071
|
+
failedResponseHandler: createJsonErrorResponseHandler6({
|
|
1072
|
+
errorSchema: z9.any(),
|
|
979
1073
|
errorToMessage: (data) => data
|
|
980
1074
|
}),
|
|
981
1075
|
...abortSignal && { abortSignal },
|
|
@@ -1022,35 +1116,35 @@ function maybeEncodeImageFile(file) {
|
|
|
1022
1116
|
}
|
|
1023
1117
|
return file;
|
|
1024
1118
|
}
|
|
1025
|
-
var providerMetadataEntrySchema =
|
|
1026
|
-
images:
|
|
1027
|
-
}).catchall(
|
|
1028
|
-
var gatewayImageWarningSchema =
|
|
1029
|
-
|
|
1030
|
-
type:
|
|
1031
|
-
feature:
|
|
1032
|
-
details:
|
|
1119
|
+
var providerMetadataEntrySchema = z9.object({
|
|
1120
|
+
images: z9.array(z9.unknown()).optional()
|
|
1121
|
+
}).catchall(z9.unknown());
|
|
1122
|
+
var gatewayImageWarningSchema = z9.discriminatedUnion("type", [
|
|
1123
|
+
z9.object({
|
|
1124
|
+
type: z9.literal("unsupported"),
|
|
1125
|
+
feature: z9.string(),
|
|
1126
|
+
details: z9.string().optional()
|
|
1033
1127
|
}),
|
|
1034
|
-
|
|
1035
|
-
type:
|
|
1036
|
-
feature:
|
|
1037
|
-
details:
|
|
1128
|
+
z9.object({
|
|
1129
|
+
type: z9.literal("compatibility"),
|
|
1130
|
+
feature: z9.string(),
|
|
1131
|
+
details: z9.string().optional()
|
|
1038
1132
|
}),
|
|
1039
|
-
|
|
1040
|
-
type:
|
|
1041
|
-
message:
|
|
1133
|
+
z9.object({
|
|
1134
|
+
type: z9.literal("other"),
|
|
1135
|
+
message: z9.string()
|
|
1042
1136
|
})
|
|
1043
1137
|
]);
|
|
1044
|
-
var gatewayImageUsageSchema =
|
|
1045
|
-
inputTokens:
|
|
1046
|
-
outputTokens:
|
|
1047
|
-
totalTokens:
|
|
1138
|
+
var gatewayImageUsageSchema = z9.object({
|
|
1139
|
+
inputTokens: z9.number().nullish(),
|
|
1140
|
+
outputTokens: z9.number().nullish(),
|
|
1141
|
+
totalTokens: z9.number().nullish()
|
|
1048
1142
|
});
|
|
1049
|
-
var gatewayImageResponseSchema =
|
|
1050
|
-
images:
|
|
1143
|
+
var gatewayImageResponseSchema = z9.object({
|
|
1144
|
+
images: z9.array(z9.string()),
|
|
1051
1145
|
// Always base64 strings over the wire
|
|
1052
|
-
warnings:
|
|
1053
|
-
providerMetadata:
|
|
1146
|
+
warnings: z9.array(gatewayImageWarningSchema).optional(),
|
|
1147
|
+
providerMetadata: z9.record(z9.string(), providerMetadataEntrySchema).optional(),
|
|
1054
1148
|
usage: gatewayImageUsageSchema.optional()
|
|
1055
1149
|
});
|
|
1056
1150
|
|
|
@@ -1059,12 +1153,12 @@ import { APICallError as APICallError2 } from "@ai-sdk/provider";
|
|
|
1059
1153
|
import {
|
|
1060
1154
|
combineHeaders as combineHeaders4,
|
|
1061
1155
|
convertUint8ArrayToBase64 as convertUint8ArrayToBase642,
|
|
1062
|
-
createJsonErrorResponseHandler as
|
|
1156
|
+
createJsonErrorResponseHandler as createJsonErrorResponseHandler7,
|
|
1063
1157
|
parseJsonEventStream,
|
|
1064
1158
|
postJsonToApi as postJsonToApi4,
|
|
1065
|
-
resolve as
|
|
1159
|
+
resolve as resolve7
|
|
1066
1160
|
} from "@ai-sdk/provider-utils";
|
|
1067
|
-
import { z as
|
|
1161
|
+
import { z as z10 } from "zod/v4";
|
|
1068
1162
|
var GatewayVideoModel = class {
|
|
1069
1163
|
constructor(modelId, config) {
|
|
1070
1164
|
this.modelId = modelId;
|
|
@@ -1090,7 +1184,7 @@ var GatewayVideoModel = class {
|
|
|
1090
1184
|
abortSignal
|
|
1091
1185
|
}) {
|
|
1092
1186
|
var _a9;
|
|
1093
|
-
const resolvedHeaders = await
|
|
1187
|
+
const resolvedHeaders = await resolve7(this.config.headers());
|
|
1094
1188
|
try {
|
|
1095
1189
|
const { responseHeaders, value: responseBody } = await postJsonToApi4({
|
|
1096
1190
|
url: this.getUrl(),
|
|
@@ -1098,7 +1192,7 @@ var GatewayVideoModel = class {
|
|
|
1098
1192
|
resolvedHeaders,
|
|
1099
1193
|
headers != null ? headers : {},
|
|
1100
1194
|
this.getModelConfigHeaders(),
|
|
1101
|
-
await
|
|
1195
|
+
await resolve7(this.config.o11yHeaders),
|
|
1102
1196
|
{ accept: "text/event-stream" }
|
|
1103
1197
|
),
|
|
1104
1198
|
body: {
|
|
@@ -1176,8 +1270,8 @@ var GatewayVideoModel = class {
|
|
|
1176
1270
|
responseHeaders: Object.fromEntries([...response.headers])
|
|
1177
1271
|
};
|
|
1178
1272
|
},
|
|
1179
|
-
failedResponseHandler:
|
|
1180
|
-
errorSchema:
|
|
1273
|
+
failedResponseHandler: createJsonErrorResponseHandler7({
|
|
1274
|
+
errorSchema: z10.any(),
|
|
1181
1275
|
errorToMessage: (data) => data
|
|
1182
1276
|
}),
|
|
1183
1277
|
...abortSignal && { abortSignal },
|
|
@@ -1216,115 +1310,115 @@ function maybeEncodeVideoFile(file) {
|
|
|
1216
1310
|
}
|
|
1217
1311
|
return file;
|
|
1218
1312
|
}
|
|
1219
|
-
var providerMetadataEntrySchema2 =
|
|
1220
|
-
videos:
|
|
1221
|
-
}).catchall(
|
|
1222
|
-
var gatewayVideoDataSchema =
|
|
1223
|
-
|
|
1224
|
-
type:
|
|
1225
|
-
url:
|
|
1226
|
-
mediaType:
|
|
1313
|
+
var providerMetadataEntrySchema2 = z10.object({
|
|
1314
|
+
videos: z10.array(z10.unknown()).optional()
|
|
1315
|
+
}).catchall(z10.unknown());
|
|
1316
|
+
var gatewayVideoDataSchema = z10.union([
|
|
1317
|
+
z10.object({
|
|
1318
|
+
type: z10.literal("url"),
|
|
1319
|
+
url: z10.string(),
|
|
1320
|
+
mediaType: z10.string()
|
|
1227
1321
|
}),
|
|
1228
|
-
|
|
1229
|
-
type:
|
|
1230
|
-
data:
|
|
1231
|
-
mediaType:
|
|
1322
|
+
z10.object({
|
|
1323
|
+
type: z10.literal("base64"),
|
|
1324
|
+
data: z10.string(),
|
|
1325
|
+
mediaType: z10.string()
|
|
1232
1326
|
})
|
|
1233
1327
|
]);
|
|
1234
|
-
var gatewayVideoWarningSchema =
|
|
1235
|
-
|
|
1236
|
-
type:
|
|
1237
|
-
feature:
|
|
1238
|
-
details:
|
|
1328
|
+
var gatewayVideoWarningSchema = z10.discriminatedUnion("type", [
|
|
1329
|
+
z10.object({
|
|
1330
|
+
type: z10.literal("unsupported"),
|
|
1331
|
+
feature: z10.string(),
|
|
1332
|
+
details: z10.string().optional()
|
|
1239
1333
|
}),
|
|
1240
|
-
|
|
1241
|
-
type:
|
|
1242
|
-
feature:
|
|
1243
|
-
details:
|
|
1334
|
+
z10.object({
|
|
1335
|
+
type: z10.literal("compatibility"),
|
|
1336
|
+
feature: z10.string(),
|
|
1337
|
+
details: z10.string().optional()
|
|
1244
1338
|
}),
|
|
1245
|
-
|
|
1246
|
-
type:
|
|
1247
|
-
message:
|
|
1339
|
+
z10.object({
|
|
1340
|
+
type: z10.literal("other"),
|
|
1341
|
+
message: z10.string()
|
|
1248
1342
|
})
|
|
1249
1343
|
]);
|
|
1250
|
-
var gatewayVideoEventSchema =
|
|
1251
|
-
|
|
1252
|
-
type:
|
|
1253
|
-
videos:
|
|
1254
|
-
warnings:
|
|
1255
|
-
providerMetadata:
|
|
1344
|
+
var gatewayVideoEventSchema = z10.discriminatedUnion("type", [
|
|
1345
|
+
z10.object({
|
|
1346
|
+
type: z10.literal("result"),
|
|
1347
|
+
videos: z10.array(gatewayVideoDataSchema),
|
|
1348
|
+
warnings: z10.array(gatewayVideoWarningSchema).optional(),
|
|
1349
|
+
providerMetadata: z10.record(z10.string(), providerMetadataEntrySchema2).optional()
|
|
1256
1350
|
}),
|
|
1257
|
-
|
|
1258
|
-
type:
|
|
1259
|
-
message:
|
|
1260
|
-
errorType:
|
|
1261
|
-
statusCode:
|
|
1262
|
-
param:
|
|
1351
|
+
z10.object({
|
|
1352
|
+
type: z10.literal("error"),
|
|
1353
|
+
message: z10.string(),
|
|
1354
|
+
errorType: z10.string(),
|
|
1355
|
+
statusCode: z10.number(),
|
|
1356
|
+
param: z10.unknown().nullable()
|
|
1263
1357
|
})
|
|
1264
1358
|
]);
|
|
1265
1359
|
|
|
1266
1360
|
// src/tool/parallel-search.ts
|
|
1267
1361
|
import {
|
|
1268
1362
|
createProviderToolFactoryWithOutputSchema,
|
|
1269
|
-
lazySchema as
|
|
1270
|
-
zodSchema as
|
|
1363
|
+
lazySchema as lazySchema8,
|
|
1364
|
+
zodSchema as zodSchema8
|
|
1271
1365
|
} from "@ai-sdk/provider-utils";
|
|
1272
|
-
import { z as
|
|
1273
|
-
var parallelSearchInputSchema =
|
|
1274
|
-
() =>
|
|
1275
|
-
|
|
1276
|
-
objective:
|
|
1366
|
+
import { z as z11 } from "zod";
|
|
1367
|
+
var parallelSearchInputSchema = lazySchema8(
|
|
1368
|
+
() => zodSchema8(
|
|
1369
|
+
z11.object({
|
|
1370
|
+
objective: z11.string().describe(
|
|
1277
1371
|
"Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."
|
|
1278
1372
|
),
|
|
1279
|
-
search_queries:
|
|
1373
|
+
search_queries: z11.array(z11.string()).optional().describe(
|
|
1280
1374
|
"Optional search queries to supplement the objective. Maximum 200 characters per query."
|
|
1281
1375
|
),
|
|
1282
|
-
mode:
|
|
1376
|
+
mode: z11.enum(["one-shot", "agentic"]).optional().describe(
|
|
1283
1377
|
'Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'
|
|
1284
1378
|
),
|
|
1285
|
-
max_results:
|
|
1379
|
+
max_results: z11.number().optional().describe(
|
|
1286
1380
|
"Maximum number of results to return (1-20). Defaults to 10 if not specified."
|
|
1287
1381
|
),
|
|
1288
|
-
source_policy:
|
|
1289
|
-
include_domains:
|
|
1290
|
-
exclude_domains:
|
|
1291
|
-
after_date:
|
|
1382
|
+
source_policy: z11.object({
|
|
1383
|
+
include_domains: z11.array(z11.string()).optional().describe("List of domains to include in search results."),
|
|
1384
|
+
exclude_domains: z11.array(z11.string()).optional().describe("List of domains to exclude from search results."),
|
|
1385
|
+
after_date: z11.string().optional().describe(
|
|
1292
1386
|
"Only include results published after this date (ISO 8601 format)."
|
|
1293
1387
|
)
|
|
1294
1388
|
}).optional().describe(
|
|
1295
1389
|
"Source policy for controlling which domains to include/exclude and freshness."
|
|
1296
1390
|
),
|
|
1297
|
-
excerpts:
|
|
1298
|
-
max_chars_per_result:
|
|
1299
|
-
max_chars_total:
|
|
1391
|
+
excerpts: z11.object({
|
|
1392
|
+
max_chars_per_result: z11.number().optional().describe("Maximum characters per result."),
|
|
1393
|
+
max_chars_total: z11.number().optional().describe("Maximum total characters across all results.")
|
|
1300
1394
|
}).optional().describe("Excerpt configuration for controlling result length."),
|
|
1301
|
-
fetch_policy:
|
|
1302
|
-
max_age_seconds:
|
|
1395
|
+
fetch_policy: z11.object({
|
|
1396
|
+
max_age_seconds: z11.number().optional().describe(
|
|
1303
1397
|
"Maximum age in seconds for cached content. Set to 0 to always fetch fresh content."
|
|
1304
1398
|
)
|
|
1305
1399
|
}).optional().describe("Fetch policy for controlling content freshness.")
|
|
1306
1400
|
})
|
|
1307
1401
|
)
|
|
1308
1402
|
);
|
|
1309
|
-
var parallelSearchOutputSchema =
|
|
1310
|
-
() =>
|
|
1311
|
-
|
|
1403
|
+
var parallelSearchOutputSchema = lazySchema8(
|
|
1404
|
+
() => zodSchema8(
|
|
1405
|
+
z11.union([
|
|
1312
1406
|
// Success response
|
|
1313
|
-
|
|
1314
|
-
searchId:
|
|
1315
|
-
results:
|
|
1316
|
-
|
|
1317
|
-
url:
|
|
1318
|
-
title:
|
|
1319
|
-
excerpt:
|
|
1320
|
-
publishDate:
|
|
1321
|
-
relevanceScore:
|
|
1407
|
+
z11.object({
|
|
1408
|
+
searchId: z11.string(),
|
|
1409
|
+
results: z11.array(
|
|
1410
|
+
z11.object({
|
|
1411
|
+
url: z11.string(),
|
|
1412
|
+
title: z11.string(),
|
|
1413
|
+
excerpt: z11.string(),
|
|
1414
|
+
publishDate: z11.string().nullable().optional(),
|
|
1415
|
+
relevanceScore: z11.number().optional()
|
|
1322
1416
|
})
|
|
1323
1417
|
)
|
|
1324
1418
|
}),
|
|
1325
1419
|
// Error response
|
|
1326
|
-
|
|
1327
|
-
error:
|
|
1420
|
+
z11.object({
|
|
1421
|
+
error: z11.enum([
|
|
1328
1422
|
"api_error",
|
|
1329
1423
|
"rate_limit",
|
|
1330
1424
|
"timeout",
|
|
@@ -1332,8 +1426,8 @@ var parallelSearchOutputSchema = lazySchema7(
|
|
|
1332
1426
|
"configuration_error",
|
|
1333
1427
|
"unknown"
|
|
1334
1428
|
]),
|
|
1335
|
-
statusCode:
|
|
1336
|
-
message:
|
|
1429
|
+
statusCode: z11.number().optional(),
|
|
1430
|
+
message: z11.string()
|
|
1337
1431
|
})
|
|
1338
1432
|
])
|
|
1339
1433
|
)
|
|
@@ -1348,79 +1442,79 @@ var parallelSearch = (config = {}) => parallelSearchToolFactory(config);
|
|
|
1348
1442
|
// src/tool/perplexity-search.ts
|
|
1349
1443
|
import {
|
|
1350
1444
|
createProviderToolFactoryWithOutputSchema as createProviderToolFactoryWithOutputSchema2,
|
|
1351
|
-
lazySchema as
|
|
1352
|
-
zodSchema as
|
|
1445
|
+
lazySchema as lazySchema9,
|
|
1446
|
+
zodSchema as zodSchema9
|
|
1353
1447
|
} from "@ai-sdk/provider-utils";
|
|
1354
|
-
import { z as
|
|
1355
|
-
var perplexitySearchInputSchema =
|
|
1356
|
-
() =>
|
|
1357
|
-
|
|
1358
|
-
query:
|
|
1448
|
+
import { z as z12 } from "zod";
|
|
1449
|
+
var perplexitySearchInputSchema = lazySchema9(
|
|
1450
|
+
() => zodSchema9(
|
|
1451
|
+
z12.object({
|
|
1452
|
+
query: z12.union([z12.string(), z12.array(z12.string())]).describe(
|
|
1359
1453
|
"Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."
|
|
1360
1454
|
),
|
|
1361
|
-
max_results:
|
|
1455
|
+
max_results: z12.number().optional().describe(
|
|
1362
1456
|
"Maximum number of search results to return (1-20, default: 10)"
|
|
1363
1457
|
),
|
|
1364
|
-
max_tokens_per_page:
|
|
1458
|
+
max_tokens_per_page: z12.number().optional().describe(
|
|
1365
1459
|
"Maximum number of tokens to extract per search result page (256-2048, default: 2048)"
|
|
1366
1460
|
),
|
|
1367
|
-
max_tokens:
|
|
1461
|
+
max_tokens: z12.number().optional().describe(
|
|
1368
1462
|
"Maximum total tokens across all search results (default: 25000, max: 1000000)"
|
|
1369
1463
|
),
|
|
1370
|
-
country:
|
|
1464
|
+
country: z12.string().optional().describe(
|
|
1371
1465
|
"Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"
|
|
1372
1466
|
),
|
|
1373
|
-
search_domain_filter:
|
|
1467
|
+
search_domain_filter: z12.array(z12.string()).optional().describe(
|
|
1374
1468
|
"List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"
|
|
1375
1469
|
),
|
|
1376
|
-
search_language_filter:
|
|
1470
|
+
search_language_filter: z12.array(z12.string()).optional().describe(
|
|
1377
1471
|
"List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"
|
|
1378
1472
|
),
|
|
1379
|
-
search_after_date:
|
|
1473
|
+
search_after_date: z12.string().optional().describe(
|
|
1380
1474
|
"Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."
|
|
1381
1475
|
),
|
|
1382
|
-
search_before_date:
|
|
1476
|
+
search_before_date: z12.string().optional().describe(
|
|
1383
1477
|
"Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."
|
|
1384
1478
|
),
|
|
1385
|
-
last_updated_after_filter:
|
|
1479
|
+
last_updated_after_filter: z12.string().optional().describe(
|
|
1386
1480
|
"Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."
|
|
1387
1481
|
),
|
|
1388
|
-
last_updated_before_filter:
|
|
1482
|
+
last_updated_before_filter: z12.string().optional().describe(
|
|
1389
1483
|
"Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."
|
|
1390
1484
|
),
|
|
1391
|
-
search_recency_filter:
|
|
1485
|
+
search_recency_filter: z12.enum(["day", "week", "month", "year"]).optional().describe(
|
|
1392
1486
|
"Filter results by relative time period. Cannot be used with search_after_date or search_before_date."
|
|
1393
1487
|
)
|
|
1394
1488
|
})
|
|
1395
1489
|
)
|
|
1396
1490
|
);
|
|
1397
|
-
var perplexitySearchOutputSchema =
|
|
1398
|
-
() =>
|
|
1399
|
-
|
|
1491
|
+
var perplexitySearchOutputSchema = lazySchema9(
|
|
1492
|
+
() => zodSchema9(
|
|
1493
|
+
z12.union([
|
|
1400
1494
|
// Success response
|
|
1401
|
-
|
|
1402
|
-
results:
|
|
1403
|
-
|
|
1404
|
-
title:
|
|
1405
|
-
url:
|
|
1406
|
-
snippet:
|
|
1407
|
-
date:
|
|
1408
|
-
lastUpdated:
|
|
1495
|
+
z12.object({
|
|
1496
|
+
results: z12.array(
|
|
1497
|
+
z12.object({
|
|
1498
|
+
title: z12.string(),
|
|
1499
|
+
url: z12.string(),
|
|
1500
|
+
snippet: z12.string(),
|
|
1501
|
+
date: z12.string().optional(),
|
|
1502
|
+
lastUpdated: z12.string().optional()
|
|
1409
1503
|
})
|
|
1410
1504
|
),
|
|
1411
|
-
id:
|
|
1505
|
+
id: z12.string()
|
|
1412
1506
|
}),
|
|
1413
1507
|
// Error response
|
|
1414
|
-
|
|
1415
|
-
error:
|
|
1508
|
+
z12.object({
|
|
1509
|
+
error: z12.enum([
|
|
1416
1510
|
"api_error",
|
|
1417
1511
|
"rate_limit",
|
|
1418
1512
|
"timeout",
|
|
1419
1513
|
"invalid_input",
|
|
1420
1514
|
"unknown"
|
|
1421
1515
|
]),
|
|
1422
|
-
statusCode:
|
|
1423
|
-
message:
|
|
1516
|
+
statusCode: z12.number().optional(),
|
|
1517
|
+
message: z12.string()
|
|
1424
1518
|
})
|
|
1425
1519
|
])
|
|
1426
1520
|
)
|
|
@@ -1465,7 +1559,7 @@ async function getVercelRequestId() {
|
|
|
1465
1559
|
import { withUserAgentSuffix } from "@ai-sdk/provider-utils";
|
|
1466
1560
|
|
|
1467
1561
|
// src/version.ts
|
|
1468
|
-
var VERSION = true ? "4.0.0-beta.
|
|
1562
|
+
var VERSION = true ? "4.0.0-beta.25" : "0.0.0-test";
|
|
1469
1563
|
|
|
1470
1564
|
// src/gateway-provider.ts
|
|
1471
1565
|
var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
|
|
@@ -1579,6 +1673,18 @@ function createGatewayProvider(options = {}) {
|
|
|
1579
1673
|
);
|
|
1580
1674
|
});
|
|
1581
1675
|
};
|
|
1676
|
+
const getGenerationInfo = async (params) => {
|
|
1677
|
+
return new GatewayGenerationInfoFetcher({
|
|
1678
|
+
baseURL,
|
|
1679
|
+
headers: getHeaders,
|
|
1680
|
+
fetch: options.fetch
|
|
1681
|
+
}).getGenerationInfo(params).catch(async (error) => {
|
|
1682
|
+
throw await asGatewayError(
|
|
1683
|
+
error,
|
|
1684
|
+
await parseAuthMethod(await getHeaders())
|
|
1685
|
+
);
|
|
1686
|
+
});
|
|
1687
|
+
};
|
|
1582
1688
|
const provider = function(modelId) {
|
|
1583
1689
|
if (new.target) {
|
|
1584
1690
|
throw new Error(
|
|
@@ -1591,6 +1697,7 @@ function createGatewayProvider(options = {}) {
|
|
|
1591
1697
|
provider.getAvailableModels = getAvailableModels;
|
|
1592
1698
|
provider.getCredits = getCredits;
|
|
1593
1699
|
provider.getSpendReport = getSpendReport;
|
|
1700
|
+
provider.getGenerationInfo = getGenerationInfo;
|
|
1594
1701
|
provider.imageModel = (modelId) => {
|
|
1595
1702
|
return new GatewayImageModel(modelId, {
|
|
1596
1703
|
provider: "gateway",
|