@ai-sdk/provider 2.0.0-canary.6 → 2.0.0-canary.8
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 +18 -0
- package/dist/index.d.mts +200 -98
- package/dist/index.d.ts +200 -98
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
# @ai-sdk/provider
|
2
2
|
|
3
|
+
## 2.0.0-canary.8
|
4
|
+
|
5
|
+
### Major Changes
|
6
|
+
|
7
|
+
- 95857aa: chore: restructure language model supported urls
|
8
|
+
- 7ea4132: chore: remove object generation mode
|
9
|
+
|
10
|
+
## 2.0.0-canary.7
|
11
|
+
|
12
|
+
### Major Changes
|
13
|
+
|
14
|
+
- b6b43c7: chore: move warnings into stream-start part (spec)
|
15
|
+
- 3795467: chore: return content array from doGenerate (spec)
|
16
|
+
|
17
|
+
### Patch Changes
|
18
|
+
|
19
|
+
- 8aa9e20: feat: add speech with experimental_generateSpeech
|
20
|
+
|
3
21
|
## 2.0.0-canary.6
|
4
22
|
|
5
23
|
### Major Changes
|
package/dist/index.d.mts
CHANGED
@@ -875,6 +875,8 @@ type LanguageModelV2CallWarning = {
|
|
875
875
|
|
876
876
|
/**
|
877
877
|
A file that has been generated by the model.
|
878
|
+
Generated files as base64 encoded strings or binary data.
|
879
|
+
The files should be returned without any unnecessary conversion.
|
878
880
|
*/
|
879
881
|
type LanguageModelV2File = {
|
880
882
|
type: 'file';
|
@@ -896,31 +898,8 @@ type LanguageModelV2File = {
|
|
896
898
|
};
|
897
899
|
|
898
900
|
/**
|
899
|
-
|
900
|
-
|
901
|
-
Can be one of the following:
|
902
|
-
- `stop`: model generated stop sequence
|
903
|
-
- `length`: model generated maximum number of tokens
|
904
|
-
- `content-filter`: content filter violation stopped the model
|
905
|
-
- `tool-calls`: model triggered tool calls
|
906
|
-
- `error`: model stopped because of an error
|
907
|
-
- `other`: model stopped for other reasons
|
908
|
-
- `unknown`: the model has not transmitted a finish reason
|
909
|
-
*/
|
910
|
-
type LanguageModelV2FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
|
911
|
-
|
912
|
-
/**
|
913
|
-
Log probabilities for each token and its top log probabilities.
|
901
|
+
Reasoning that the model has generated.
|
914
902
|
*/
|
915
|
-
type LanguageModelV2LogProbs = Array<{
|
916
|
-
token: string;
|
917
|
-
logprob: number;
|
918
|
-
topLogprobs: Array<{
|
919
|
-
token: string;
|
920
|
-
logprob: number;
|
921
|
-
}>;
|
922
|
-
}>;
|
923
|
-
|
924
903
|
type LanguageModelV2Reasoning = {
|
925
904
|
type: 'reasoning';
|
926
905
|
reasoningType: 'text';
|
@@ -936,7 +915,7 @@ type LanguageModelV2Reasoning = {
|
|
936
915
|
};
|
937
916
|
|
938
917
|
/**
|
939
|
-
|
918
|
+
A source that has been used as input to generate the response.
|
940
919
|
*/
|
941
920
|
type LanguageModelV2Source = {
|
942
921
|
type: 'source';
|
@@ -962,6 +941,9 @@ type LanguageModelV2Source = {
|
|
962
941
|
providerMetadata?: SharedV2ProviderMetadata;
|
963
942
|
};
|
964
943
|
|
944
|
+
/**
|
945
|
+
Text that the model has generated.
|
946
|
+
*/
|
965
947
|
type LanguageModelV2Text = {
|
966
948
|
type: 'text';
|
967
949
|
/**
|
@@ -970,6 +952,9 @@ type LanguageModelV2Text = {
|
|
970
952
|
text: string;
|
971
953
|
};
|
972
954
|
|
955
|
+
/**
|
956
|
+
Tool calls that the model has generated.
|
957
|
+
*/
|
973
958
|
type LanguageModelV2ToolCall = {
|
974
959
|
type: 'tool-call';
|
975
960
|
toolCallType: 'function';
|
@@ -982,6 +967,34 @@ type LanguageModelV2ToolCall = {
|
|
982
967
|
args: string;
|
983
968
|
};
|
984
969
|
|
970
|
+
type LanguageModelV2Content = LanguageModelV2Text | LanguageModelV2Reasoning | LanguageModelV2File | LanguageModelV2Source | LanguageModelV2ToolCall;
|
971
|
+
|
972
|
+
/**
|
973
|
+
Reason why a language model finished generating a response.
|
974
|
+
|
975
|
+
Can be one of the following:
|
976
|
+
- `stop`: model generated stop sequence
|
977
|
+
- `length`: model generated maximum number of tokens
|
978
|
+
- `content-filter`: content filter violation stopped the model
|
979
|
+
- `tool-calls`: model triggered tool calls
|
980
|
+
- `error`: model stopped because of an error
|
981
|
+
- `other`: model stopped for other reasons
|
982
|
+
- `unknown`: the model has not transmitted a finish reason
|
983
|
+
*/
|
984
|
+
type LanguageModelV2FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
|
985
|
+
|
986
|
+
/**
|
987
|
+
Log probabilities for each token and its top log probabilities.
|
988
|
+
*/
|
989
|
+
type LanguageModelV2LogProbs = Array<{
|
990
|
+
token: string;
|
991
|
+
logprob: number;
|
992
|
+
topLogprobs: Array<{
|
993
|
+
token: string;
|
994
|
+
logprob: number;
|
995
|
+
}>;
|
996
|
+
}>;
|
997
|
+
|
985
998
|
type LanguageModelV2ToolCallDelta = {
|
986
999
|
type: 'tool-call-delta';
|
987
1000
|
toolCallType: 'function';
|
@@ -1025,46 +1038,17 @@ type LanguageModelV2 = {
|
|
1025
1038
|
*/
|
1026
1039
|
readonly modelId: string;
|
1027
1040
|
/**
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
Flag whether this model supports image URLs. Default is `true`.
|
1038
|
-
|
1039
|
-
When the flag is set to `false`, the AI SDK will download the image and
|
1040
|
-
pass the image data to the model.
|
1041
|
-
*/
|
1042
|
-
readonly supportsImageUrls?: boolean;
|
1043
|
-
/**
|
1044
|
-
Flag whether this model supports grammar-guided generation,
|
1045
|
-
i.e. follows JSON schemas for object generation
|
1046
|
-
when the response format is set to 'json' or
|
1047
|
-
when the `object-json` mode is used.
|
1048
|
-
|
1049
|
-
This means that the model guarantees that the generated JSON
|
1050
|
-
will be a valid JSON object AND that the object will match the
|
1051
|
-
JSON schema.
|
1052
|
-
|
1053
|
-
Please note that `generateObject` and `streamObject` will work
|
1054
|
-
regardless of this flag, but might send different prompts and
|
1055
|
-
use further optimizations if this flag is set to `true`.
|
1056
|
-
|
1057
|
-
Defaults to `false`.
|
1058
|
-
*/
|
1059
|
-
readonly supportsStructuredOutputs?: boolean;
|
1060
|
-
/**
|
1061
|
-
Checks if the model supports the given URL for file parts natively.
|
1062
|
-
If the model does not support the URL,
|
1063
|
-
the AI SDK will download the file and pass the file data to the model.
|
1064
|
-
|
1065
|
-
When undefined, the AI SDK will download the file.
|
1041
|
+
* Returns a map of supported URL patterns for the model.
|
1042
|
+
* The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
|
1043
|
+
* and the values are arrays of regular expressions that match the URL paths.
|
1044
|
+
*
|
1045
|
+
* The matching should be against lower-case URLs.
|
1046
|
+
*
|
1047
|
+
* Matched URLs are supported natively by the model and are not downloaded.
|
1048
|
+
*
|
1049
|
+
* @returns A promise resolving to a map of supported URL patterns.
|
1066
1050
|
*/
|
1067
|
-
|
1051
|
+
getSupportedUrls(): PromiseLike<Record<string, RegExp[]>>;
|
1068
1052
|
/**
|
1069
1053
|
Generates a language model output (non-streaming).
|
1070
1054
|
|
@@ -1073,29 +1057,9 @@ type LanguageModelV2 = {
|
|
1073
1057
|
*/
|
1074
1058
|
doGenerate(options: LanguageModelV2CallOptions): PromiseLike<{
|
1075
1059
|
/**
|
1076
|
-
|
1077
|
-
Can be undefined if the model did not generate any text.
|
1078
|
-
*/
|
1079
|
-
text?: LanguageModelV2Text;
|
1080
|
-
/**
|
1081
|
-
Reasoning that the model has generated.
|
1082
|
-
Can be undefined if the model does not support reasoning.
|
1060
|
+
Ordered content that the model has generated.
|
1083
1061
|
*/
|
1084
|
-
|
1085
|
-
/**
|
1086
|
-
Generated files as base64 encoded strings or binary data.
|
1087
|
-
The files should be returned without any unnecessary conversion.
|
1088
|
-
*/
|
1089
|
-
files?: Array<LanguageModelV2File>;
|
1090
|
-
/**
|
1091
|
-
Sources that have been used as input to generate the response.
|
1092
|
-
*/
|
1093
|
-
sources?: LanguageModelV2Source[];
|
1094
|
-
/**
|
1095
|
-
Tool calls that the model has generated.
|
1096
|
-
Can be undefined if the model did not generate any tool calls.
|
1097
|
-
*/
|
1098
|
-
toolCalls?: Array<LanguageModelV2ToolCall>;
|
1062
|
+
content: Array<LanguageModelV2Content>;
|
1099
1063
|
/**
|
1100
1064
|
Logprobs for the completion.
|
1101
1065
|
`undefined` if the mode does not support logprobs or if was not enabled
|
@@ -1154,7 +1118,7 @@ type LanguageModelV2 = {
|
|
1154
1118
|
/**
|
1155
1119
|
Warnings for the call, e.g. unsupported settings.
|
1156
1120
|
*/
|
1157
|
-
warnings
|
1121
|
+
warnings: Array<LanguageModelV2CallWarning>;
|
1158
1122
|
}>;
|
1159
1123
|
/**
|
1160
1124
|
Generates a language model output (streaming).
|
@@ -1184,13 +1148,12 @@ type LanguageModelV2 = {
|
|
1184
1148
|
*/
|
1185
1149
|
headers?: Record<string, string>;
|
1186
1150
|
};
|
1187
|
-
/**
|
1188
|
-
Warnings for the call, e.g. unsupported settings.
|
1189
|
-
*/
|
1190
|
-
warnings?: Array<LanguageModelV2CallWarning>;
|
1191
1151
|
}>;
|
1192
1152
|
};
|
1193
|
-
type LanguageModelV2StreamPart =
|
1153
|
+
type LanguageModelV2StreamPart = LanguageModelV2Content | LanguageModelV2ToolCallDelta | {
|
1154
|
+
type: 'stream-start';
|
1155
|
+
warnings: Array<LanguageModelV2CallWarning>;
|
1156
|
+
} | {
|
1194
1157
|
type: 'response-metadata';
|
1195
1158
|
id?: string;
|
1196
1159
|
timestamp?: Date;
|
@@ -1205,11 +1168,6 @@ type LanguageModelV2StreamPart = LanguageModelV2Text | LanguageModelV2Reasoning
|
|
1205
1168
|
type: 'error';
|
1206
1169
|
error: unknown;
|
1207
1170
|
};
|
1208
|
-
/**
|
1209
|
-
The object generation modes available for use with a model. `undefined`
|
1210
|
-
represents no support for object generation.
|
1211
|
-
*/
|
1212
|
-
type LanguageModelV2ObjectGenerationMode = 'json' | 'tool' | undefined;
|
1213
1171
|
|
1214
1172
|
/**
|
1215
1173
|
* Experimental middleware for LanguageModelV2.
|
@@ -2220,6 +2178,141 @@ type TranscriptionModelV1 = {
|
|
2220
2178
|
}>;
|
2221
2179
|
};
|
2222
2180
|
|
2181
|
+
type SpeechModelV1ProviderOptions = Record<string, Record<string, JSONValue>>;
|
2182
|
+
type SpeechModelV1CallOptions = {
|
2183
|
+
/**
|
2184
|
+
* Text to convert to speech.
|
2185
|
+
*/
|
2186
|
+
text: string;
|
2187
|
+
/**
|
2188
|
+
* The voice to use for speech synthesis.
|
2189
|
+
* This is provider-specific and may be a voice ID, name, or other identifier.
|
2190
|
+
*/
|
2191
|
+
voice?: string;
|
2192
|
+
/**
|
2193
|
+
* The desired output format for the audio e.g. "mp3", "wav", etc.
|
2194
|
+
*/
|
2195
|
+
outputFormat?: string;
|
2196
|
+
/**
|
2197
|
+
* Instructions for the speech generation e.g. "Speak in a slow and steady tone".
|
2198
|
+
*/
|
2199
|
+
instructions?: string;
|
2200
|
+
/**
|
2201
|
+
* The speed of the speech generation.
|
2202
|
+
*/
|
2203
|
+
speed?: number;
|
2204
|
+
/**
|
2205
|
+
* Additional provider-specific options that are passed through to the provider
|
2206
|
+
* as body parameters.
|
2207
|
+
*
|
2208
|
+
* The outer record is keyed by the provider name, and the inner
|
2209
|
+
* record is keyed by the provider-specific metadata key.
|
2210
|
+
* ```ts
|
2211
|
+
* {
|
2212
|
+
* "openai": {}
|
2213
|
+
* }
|
2214
|
+
* ```
|
2215
|
+
*/
|
2216
|
+
providerOptions?: SpeechModelV1ProviderOptions;
|
2217
|
+
/**
|
2218
|
+
* Abort signal for cancelling the operation.
|
2219
|
+
*/
|
2220
|
+
abortSignal?: AbortSignal;
|
2221
|
+
/**
|
2222
|
+
* Additional HTTP headers to be sent with the request.
|
2223
|
+
* Only applicable for HTTP-based providers.
|
2224
|
+
*/
|
2225
|
+
headers?: Record<string, string | undefined>;
|
2226
|
+
};
|
2227
|
+
|
2228
|
+
/**
|
2229
|
+
* Warning from the model provider for this call. The call will proceed, but e.g.
|
2230
|
+
* some settings might not be supported, which can lead to suboptimal results.
|
2231
|
+
*/
|
2232
|
+
type SpeechModelV1CallWarning = {
|
2233
|
+
type: 'unsupported-setting';
|
2234
|
+
setting: keyof SpeechModelV1CallOptions;
|
2235
|
+
details?: string;
|
2236
|
+
} | {
|
2237
|
+
type: 'other';
|
2238
|
+
message: string;
|
2239
|
+
};
|
2240
|
+
|
2241
|
+
/**
|
2242
|
+
* Speech model specification version 1.
|
2243
|
+
*/
|
2244
|
+
type SpeechModelV1 = {
|
2245
|
+
/**
|
2246
|
+
* The speech model must specify which speech model interface
|
2247
|
+
* version it implements. This will allow us to evolve the speech
|
2248
|
+
* model interface and retain backwards compatibility. The different
|
2249
|
+
* implementation versions can be handled as a discriminated union
|
2250
|
+
* on our side.
|
2251
|
+
*/
|
2252
|
+
readonly specificationVersion: 'v1';
|
2253
|
+
/**
|
2254
|
+
* Name of the provider for logging purposes.
|
2255
|
+
*/
|
2256
|
+
readonly provider: string;
|
2257
|
+
/**
|
2258
|
+
* Provider-specific model ID for logging purposes.
|
2259
|
+
*/
|
2260
|
+
readonly modelId: string;
|
2261
|
+
/**
|
2262
|
+
* Generates speech audio from text.
|
2263
|
+
*/
|
2264
|
+
doGenerate(options: SpeechModelV1CallOptions): PromiseLike<{
|
2265
|
+
/**
|
2266
|
+
* Generated audio as an ArrayBuffer.
|
2267
|
+
* The audio should be returned without any unnecessary conversion.
|
2268
|
+
* If the API returns base64 encoded strings, the audio should be returned
|
2269
|
+
* as base64 encoded strings. If the API returns binary data, the audio
|
2270
|
+
* should be returned as binary data.
|
2271
|
+
*/
|
2272
|
+
audio: string | Uint8Array;
|
2273
|
+
/**
|
2274
|
+
* Warnings for the call, e.g. unsupported settings.
|
2275
|
+
*/
|
2276
|
+
warnings: Array<SpeechModelV1CallWarning>;
|
2277
|
+
/**
|
2278
|
+
* Optional request information for telemetry and debugging purposes.
|
2279
|
+
*/
|
2280
|
+
request?: {
|
2281
|
+
/**
|
2282
|
+
* Response body (available only for providers that use HTTP requests).
|
2283
|
+
*/
|
2284
|
+
body?: unknown;
|
2285
|
+
};
|
2286
|
+
/**
|
2287
|
+
* Response information for telemetry and debugging purposes.
|
2288
|
+
*/
|
2289
|
+
response: {
|
2290
|
+
/**
|
2291
|
+
* Timestamp for the start of the generated response.
|
2292
|
+
*/
|
2293
|
+
timestamp: Date;
|
2294
|
+
/**
|
2295
|
+
* The ID of the response model that was used to generate the response.
|
2296
|
+
*/
|
2297
|
+
modelId: string;
|
2298
|
+
/**
|
2299
|
+
* Response headers.
|
2300
|
+
*/
|
2301
|
+
headers: Record<string, string> | undefined;
|
2302
|
+
/**
|
2303
|
+
* Response body.
|
2304
|
+
*/
|
2305
|
+
body?: unknown;
|
2306
|
+
};
|
2307
|
+
/**
|
2308
|
+
* Additional provider-specific metadata. They are passed through
|
2309
|
+
* from the provider to the AI SDK and enable provider-specific
|
2310
|
+
* results that can be fully encapsulated in the provider.
|
2311
|
+
*/
|
2312
|
+
providerMetadata?: Record<string, Record<string, JSONValue>>;
|
2313
|
+
}>;
|
2314
|
+
};
|
2315
|
+
|
2223
2316
|
/**
|
2224
2317
|
* Provider for language, text embedding, and image generation models.
|
2225
2318
|
*/
|
@@ -2264,6 +2357,15 @@ interface ProviderV1 {
|
|
2264
2357
|
@returns {TranscriptionModel} The transcription model associated with the id
|
2265
2358
|
*/
|
2266
2359
|
readonly transcriptionModel?: (modelId: string) => TranscriptionModelV1;
|
2360
|
+
/**
|
2361
|
+
Returns the speech model with the given id.
|
2362
|
+
The model id is then passed to the provider function to get the model.
|
2363
|
+
|
2364
|
+
@param {string} modelId - The id of the model to return.
|
2365
|
+
|
2366
|
+
@returns {SpeechModel} The speech model associated with the id
|
2367
|
+
*/
|
2368
|
+
readonly speechModel?: (modelId: string) => SpeechModelV1;
|
2267
2369
|
}
|
2268
2370
|
|
2269
2371
|
/**
|
@@ -2303,4 +2405,4 @@ interface ProviderV2 {
|
|
2303
2405
|
readonly imageModel: (modelId: string) => ImageModelV1;
|
2304
2406
|
}
|
2305
2407
|
|
2306
|
-
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV1, type ImageModelV1CallOptions, type ImageModelV1CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2LogProbs, type LanguageModelV2Message, type LanguageModelV2Middleware, type
|
2408
|
+
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV1, type ImageModelV1CallOptions, type ImageModelV1CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2LogProbs, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2RedactedReasoningPart, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
package/dist/index.d.ts
CHANGED
@@ -875,6 +875,8 @@ type LanguageModelV2CallWarning = {
|
|
875
875
|
|
876
876
|
/**
|
877
877
|
A file that has been generated by the model.
|
878
|
+
Generated files as base64 encoded strings or binary data.
|
879
|
+
The files should be returned without any unnecessary conversion.
|
878
880
|
*/
|
879
881
|
type LanguageModelV2File = {
|
880
882
|
type: 'file';
|
@@ -896,31 +898,8 @@ type LanguageModelV2File = {
|
|
896
898
|
};
|
897
899
|
|
898
900
|
/**
|
899
|
-
|
900
|
-
|
901
|
-
Can be one of the following:
|
902
|
-
- `stop`: model generated stop sequence
|
903
|
-
- `length`: model generated maximum number of tokens
|
904
|
-
- `content-filter`: content filter violation stopped the model
|
905
|
-
- `tool-calls`: model triggered tool calls
|
906
|
-
- `error`: model stopped because of an error
|
907
|
-
- `other`: model stopped for other reasons
|
908
|
-
- `unknown`: the model has not transmitted a finish reason
|
909
|
-
*/
|
910
|
-
type LanguageModelV2FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
|
911
|
-
|
912
|
-
/**
|
913
|
-
Log probabilities for each token and its top log probabilities.
|
901
|
+
Reasoning that the model has generated.
|
914
902
|
*/
|
915
|
-
type LanguageModelV2LogProbs = Array<{
|
916
|
-
token: string;
|
917
|
-
logprob: number;
|
918
|
-
topLogprobs: Array<{
|
919
|
-
token: string;
|
920
|
-
logprob: number;
|
921
|
-
}>;
|
922
|
-
}>;
|
923
|
-
|
924
903
|
type LanguageModelV2Reasoning = {
|
925
904
|
type: 'reasoning';
|
926
905
|
reasoningType: 'text';
|
@@ -936,7 +915,7 @@ type LanguageModelV2Reasoning = {
|
|
936
915
|
};
|
937
916
|
|
938
917
|
/**
|
939
|
-
|
918
|
+
A source that has been used as input to generate the response.
|
940
919
|
*/
|
941
920
|
type LanguageModelV2Source = {
|
942
921
|
type: 'source';
|
@@ -962,6 +941,9 @@ type LanguageModelV2Source = {
|
|
962
941
|
providerMetadata?: SharedV2ProviderMetadata;
|
963
942
|
};
|
964
943
|
|
944
|
+
/**
|
945
|
+
Text that the model has generated.
|
946
|
+
*/
|
965
947
|
type LanguageModelV2Text = {
|
966
948
|
type: 'text';
|
967
949
|
/**
|
@@ -970,6 +952,9 @@ type LanguageModelV2Text = {
|
|
970
952
|
text: string;
|
971
953
|
};
|
972
954
|
|
955
|
+
/**
|
956
|
+
Tool calls that the model has generated.
|
957
|
+
*/
|
973
958
|
type LanguageModelV2ToolCall = {
|
974
959
|
type: 'tool-call';
|
975
960
|
toolCallType: 'function';
|
@@ -982,6 +967,34 @@ type LanguageModelV2ToolCall = {
|
|
982
967
|
args: string;
|
983
968
|
};
|
984
969
|
|
970
|
+
type LanguageModelV2Content = LanguageModelV2Text | LanguageModelV2Reasoning | LanguageModelV2File | LanguageModelV2Source | LanguageModelV2ToolCall;
|
971
|
+
|
972
|
+
/**
|
973
|
+
Reason why a language model finished generating a response.
|
974
|
+
|
975
|
+
Can be one of the following:
|
976
|
+
- `stop`: model generated stop sequence
|
977
|
+
- `length`: model generated maximum number of tokens
|
978
|
+
- `content-filter`: content filter violation stopped the model
|
979
|
+
- `tool-calls`: model triggered tool calls
|
980
|
+
- `error`: model stopped because of an error
|
981
|
+
- `other`: model stopped for other reasons
|
982
|
+
- `unknown`: the model has not transmitted a finish reason
|
983
|
+
*/
|
984
|
+
type LanguageModelV2FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
|
985
|
+
|
986
|
+
/**
|
987
|
+
Log probabilities for each token and its top log probabilities.
|
988
|
+
*/
|
989
|
+
type LanguageModelV2LogProbs = Array<{
|
990
|
+
token: string;
|
991
|
+
logprob: number;
|
992
|
+
topLogprobs: Array<{
|
993
|
+
token: string;
|
994
|
+
logprob: number;
|
995
|
+
}>;
|
996
|
+
}>;
|
997
|
+
|
985
998
|
type LanguageModelV2ToolCallDelta = {
|
986
999
|
type: 'tool-call-delta';
|
987
1000
|
toolCallType: 'function';
|
@@ -1025,46 +1038,17 @@ type LanguageModelV2 = {
|
|
1025
1038
|
*/
|
1026
1039
|
readonly modelId: string;
|
1027
1040
|
/**
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
Flag whether this model supports image URLs. Default is `true`.
|
1038
|
-
|
1039
|
-
When the flag is set to `false`, the AI SDK will download the image and
|
1040
|
-
pass the image data to the model.
|
1041
|
-
*/
|
1042
|
-
readonly supportsImageUrls?: boolean;
|
1043
|
-
/**
|
1044
|
-
Flag whether this model supports grammar-guided generation,
|
1045
|
-
i.e. follows JSON schemas for object generation
|
1046
|
-
when the response format is set to 'json' or
|
1047
|
-
when the `object-json` mode is used.
|
1048
|
-
|
1049
|
-
This means that the model guarantees that the generated JSON
|
1050
|
-
will be a valid JSON object AND that the object will match the
|
1051
|
-
JSON schema.
|
1052
|
-
|
1053
|
-
Please note that `generateObject` and `streamObject` will work
|
1054
|
-
regardless of this flag, but might send different prompts and
|
1055
|
-
use further optimizations if this flag is set to `true`.
|
1056
|
-
|
1057
|
-
Defaults to `false`.
|
1058
|
-
*/
|
1059
|
-
readonly supportsStructuredOutputs?: boolean;
|
1060
|
-
/**
|
1061
|
-
Checks if the model supports the given URL for file parts natively.
|
1062
|
-
If the model does not support the URL,
|
1063
|
-
the AI SDK will download the file and pass the file data to the model.
|
1064
|
-
|
1065
|
-
When undefined, the AI SDK will download the file.
|
1041
|
+
* Returns a map of supported URL patterns for the model.
|
1042
|
+
* The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
|
1043
|
+
* and the values are arrays of regular expressions that match the URL paths.
|
1044
|
+
*
|
1045
|
+
* The matching should be against lower-case URLs.
|
1046
|
+
*
|
1047
|
+
* Matched URLs are supported natively by the model and are not downloaded.
|
1048
|
+
*
|
1049
|
+
* @returns A promise resolving to a map of supported URL patterns.
|
1066
1050
|
*/
|
1067
|
-
|
1051
|
+
getSupportedUrls(): PromiseLike<Record<string, RegExp[]>>;
|
1068
1052
|
/**
|
1069
1053
|
Generates a language model output (non-streaming).
|
1070
1054
|
|
@@ -1073,29 +1057,9 @@ type LanguageModelV2 = {
|
|
1073
1057
|
*/
|
1074
1058
|
doGenerate(options: LanguageModelV2CallOptions): PromiseLike<{
|
1075
1059
|
/**
|
1076
|
-
|
1077
|
-
Can be undefined if the model did not generate any text.
|
1078
|
-
*/
|
1079
|
-
text?: LanguageModelV2Text;
|
1080
|
-
/**
|
1081
|
-
Reasoning that the model has generated.
|
1082
|
-
Can be undefined if the model does not support reasoning.
|
1060
|
+
Ordered content that the model has generated.
|
1083
1061
|
*/
|
1084
|
-
|
1085
|
-
/**
|
1086
|
-
Generated files as base64 encoded strings or binary data.
|
1087
|
-
The files should be returned without any unnecessary conversion.
|
1088
|
-
*/
|
1089
|
-
files?: Array<LanguageModelV2File>;
|
1090
|
-
/**
|
1091
|
-
Sources that have been used as input to generate the response.
|
1092
|
-
*/
|
1093
|
-
sources?: LanguageModelV2Source[];
|
1094
|
-
/**
|
1095
|
-
Tool calls that the model has generated.
|
1096
|
-
Can be undefined if the model did not generate any tool calls.
|
1097
|
-
*/
|
1098
|
-
toolCalls?: Array<LanguageModelV2ToolCall>;
|
1062
|
+
content: Array<LanguageModelV2Content>;
|
1099
1063
|
/**
|
1100
1064
|
Logprobs for the completion.
|
1101
1065
|
`undefined` if the mode does not support logprobs or if was not enabled
|
@@ -1154,7 +1118,7 @@ type LanguageModelV2 = {
|
|
1154
1118
|
/**
|
1155
1119
|
Warnings for the call, e.g. unsupported settings.
|
1156
1120
|
*/
|
1157
|
-
warnings
|
1121
|
+
warnings: Array<LanguageModelV2CallWarning>;
|
1158
1122
|
}>;
|
1159
1123
|
/**
|
1160
1124
|
Generates a language model output (streaming).
|
@@ -1184,13 +1148,12 @@ type LanguageModelV2 = {
|
|
1184
1148
|
*/
|
1185
1149
|
headers?: Record<string, string>;
|
1186
1150
|
};
|
1187
|
-
/**
|
1188
|
-
Warnings for the call, e.g. unsupported settings.
|
1189
|
-
*/
|
1190
|
-
warnings?: Array<LanguageModelV2CallWarning>;
|
1191
1151
|
}>;
|
1192
1152
|
};
|
1193
|
-
type LanguageModelV2StreamPart =
|
1153
|
+
type LanguageModelV2StreamPart = LanguageModelV2Content | LanguageModelV2ToolCallDelta | {
|
1154
|
+
type: 'stream-start';
|
1155
|
+
warnings: Array<LanguageModelV2CallWarning>;
|
1156
|
+
} | {
|
1194
1157
|
type: 'response-metadata';
|
1195
1158
|
id?: string;
|
1196
1159
|
timestamp?: Date;
|
@@ -1205,11 +1168,6 @@ type LanguageModelV2StreamPart = LanguageModelV2Text | LanguageModelV2Reasoning
|
|
1205
1168
|
type: 'error';
|
1206
1169
|
error: unknown;
|
1207
1170
|
};
|
1208
|
-
/**
|
1209
|
-
The object generation modes available for use with a model. `undefined`
|
1210
|
-
represents no support for object generation.
|
1211
|
-
*/
|
1212
|
-
type LanguageModelV2ObjectGenerationMode = 'json' | 'tool' | undefined;
|
1213
1171
|
|
1214
1172
|
/**
|
1215
1173
|
* Experimental middleware for LanguageModelV2.
|
@@ -2220,6 +2178,141 @@ type TranscriptionModelV1 = {
|
|
2220
2178
|
}>;
|
2221
2179
|
};
|
2222
2180
|
|
2181
|
+
type SpeechModelV1ProviderOptions = Record<string, Record<string, JSONValue>>;
|
2182
|
+
type SpeechModelV1CallOptions = {
|
2183
|
+
/**
|
2184
|
+
* Text to convert to speech.
|
2185
|
+
*/
|
2186
|
+
text: string;
|
2187
|
+
/**
|
2188
|
+
* The voice to use for speech synthesis.
|
2189
|
+
* This is provider-specific and may be a voice ID, name, or other identifier.
|
2190
|
+
*/
|
2191
|
+
voice?: string;
|
2192
|
+
/**
|
2193
|
+
* The desired output format for the audio e.g. "mp3", "wav", etc.
|
2194
|
+
*/
|
2195
|
+
outputFormat?: string;
|
2196
|
+
/**
|
2197
|
+
* Instructions for the speech generation e.g. "Speak in a slow and steady tone".
|
2198
|
+
*/
|
2199
|
+
instructions?: string;
|
2200
|
+
/**
|
2201
|
+
* The speed of the speech generation.
|
2202
|
+
*/
|
2203
|
+
speed?: number;
|
2204
|
+
/**
|
2205
|
+
* Additional provider-specific options that are passed through to the provider
|
2206
|
+
* as body parameters.
|
2207
|
+
*
|
2208
|
+
* The outer record is keyed by the provider name, and the inner
|
2209
|
+
* record is keyed by the provider-specific metadata key.
|
2210
|
+
* ```ts
|
2211
|
+
* {
|
2212
|
+
* "openai": {}
|
2213
|
+
* }
|
2214
|
+
* ```
|
2215
|
+
*/
|
2216
|
+
providerOptions?: SpeechModelV1ProviderOptions;
|
2217
|
+
/**
|
2218
|
+
* Abort signal for cancelling the operation.
|
2219
|
+
*/
|
2220
|
+
abortSignal?: AbortSignal;
|
2221
|
+
/**
|
2222
|
+
* Additional HTTP headers to be sent with the request.
|
2223
|
+
* Only applicable for HTTP-based providers.
|
2224
|
+
*/
|
2225
|
+
headers?: Record<string, string | undefined>;
|
2226
|
+
};
|
2227
|
+
|
2228
|
+
/**
|
2229
|
+
* Warning from the model provider for this call. The call will proceed, but e.g.
|
2230
|
+
* some settings might not be supported, which can lead to suboptimal results.
|
2231
|
+
*/
|
2232
|
+
type SpeechModelV1CallWarning = {
|
2233
|
+
type: 'unsupported-setting';
|
2234
|
+
setting: keyof SpeechModelV1CallOptions;
|
2235
|
+
details?: string;
|
2236
|
+
} | {
|
2237
|
+
type: 'other';
|
2238
|
+
message: string;
|
2239
|
+
};
|
2240
|
+
|
2241
|
+
/**
|
2242
|
+
* Speech model specification version 1.
|
2243
|
+
*/
|
2244
|
+
type SpeechModelV1 = {
|
2245
|
+
/**
|
2246
|
+
* The speech model must specify which speech model interface
|
2247
|
+
* version it implements. This will allow us to evolve the speech
|
2248
|
+
* model interface and retain backwards compatibility. The different
|
2249
|
+
* implementation versions can be handled as a discriminated union
|
2250
|
+
* on our side.
|
2251
|
+
*/
|
2252
|
+
readonly specificationVersion: 'v1';
|
2253
|
+
/**
|
2254
|
+
* Name of the provider for logging purposes.
|
2255
|
+
*/
|
2256
|
+
readonly provider: string;
|
2257
|
+
/**
|
2258
|
+
* Provider-specific model ID for logging purposes.
|
2259
|
+
*/
|
2260
|
+
readonly modelId: string;
|
2261
|
+
/**
|
2262
|
+
* Generates speech audio from text.
|
2263
|
+
*/
|
2264
|
+
doGenerate(options: SpeechModelV1CallOptions): PromiseLike<{
|
2265
|
+
/**
|
2266
|
+
* Generated audio as an ArrayBuffer.
|
2267
|
+
* The audio should be returned without any unnecessary conversion.
|
2268
|
+
* If the API returns base64 encoded strings, the audio should be returned
|
2269
|
+
* as base64 encoded strings. If the API returns binary data, the audio
|
2270
|
+
* should be returned as binary data.
|
2271
|
+
*/
|
2272
|
+
audio: string | Uint8Array;
|
2273
|
+
/**
|
2274
|
+
* Warnings for the call, e.g. unsupported settings.
|
2275
|
+
*/
|
2276
|
+
warnings: Array<SpeechModelV1CallWarning>;
|
2277
|
+
/**
|
2278
|
+
* Optional request information for telemetry and debugging purposes.
|
2279
|
+
*/
|
2280
|
+
request?: {
|
2281
|
+
/**
|
2282
|
+
* Response body (available only for providers that use HTTP requests).
|
2283
|
+
*/
|
2284
|
+
body?: unknown;
|
2285
|
+
};
|
2286
|
+
/**
|
2287
|
+
* Response information for telemetry and debugging purposes.
|
2288
|
+
*/
|
2289
|
+
response: {
|
2290
|
+
/**
|
2291
|
+
* Timestamp for the start of the generated response.
|
2292
|
+
*/
|
2293
|
+
timestamp: Date;
|
2294
|
+
/**
|
2295
|
+
* The ID of the response model that was used to generate the response.
|
2296
|
+
*/
|
2297
|
+
modelId: string;
|
2298
|
+
/**
|
2299
|
+
* Response headers.
|
2300
|
+
*/
|
2301
|
+
headers: Record<string, string> | undefined;
|
2302
|
+
/**
|
2303
|
+
* Response body.
|
2304
|
+
*/
|
2305
|
+
body?: unknown;
|
2306
|
+
};
|
2307
|
+
/**
|
2308
|
+
* Additional provider-specific metadata. They are passed through
|
2309
|
+
* from the provider to the AI SDK and enable provider-specific
|
2310
|
+
* results that can be fully encapsulated in the provider.
|
2311
|
+
*/
|
2312
|
+
providerMetadata?: Record<string, Record<string, JSONValue>>;
|
2313
|
+
}>;
|
2314
|
+
};
|
2315
|
+
|
2223
2316
|
/**
|
2224
2317
|
* Provider for language, text embedding, and image generation models.
|
2225
2318
|
*/
|
@@ -2264,6 +2357,15 @@ interface ProviderV1 {
|
|
2264
2357
|
@returns {TranscriptionModel} The transcription model associated with the id
|
2265
2358
|
*/
|
2266
2359
|
readonly transcriptionModel?: (modelId: string) => TranscriptionModelV1;
|
2360
|
+
/**
|
2361
|
+
Returns the speech model with the given id.
|
2362
|
+
The model id is then passed to the provider function to get the model.
|
2363
|
+
|
2364
|
+
@param {string} modelId - The id of the model to return.
|
2365
|
+
|
2366
|
+
@returns {SpeechModel} The speech model associated with the id
|
2367
|
+
*/
|
2368
|
+
readonly speechModel?: (modelId: string) => SpeechModelV1;
|
2267
2369
|
}
|
2268
2370
|
|
2269
2371
|
/**
|
@@ -2303,4 +2405,4 @@ interface ProviderV2 {
|
|
2303
2405
|
readonly imageModel: (modelId: string) => ImageModelV1;
|
2304
2406
|
}
|
2305
2407
|
|
2306
|
-
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV1, type ImageModelV1CallOptions, type ImageModelV1CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2LogProbs, type LanguageModelV2Message, type LanguageModelV2Middleware, type
|
2408
|
+
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV1, type ImageModelV1CallOptions, type ImageModelV1CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2LogProbs, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2RedactedReasoningPart, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["export * from './embedding-model/index';\nexport * from './errors/index';\nexport * from './image-model/index';\nexport * from './json-value/index';\nexport * from './language-model-middleware/index';\nexport * from './language-model/index';\nexport * from './provider/index';\nexport * from './shared/index';\nexport * from './transcription-model/index';\n\nexport type { JSONSchema7, JSONSchema7Definition } from 'json-schema';\n","/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.message;\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n// TODO v5: rename to ParseError\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\nThrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super({\n name,\n message:\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n }: {\n value: unknown;\n cause: unknown;\n }): TypeValidationError {\n return TypeValidationError.isInstance(cause) && cause.value === value\n ? cause\n : new TypeValidationError({ value, cause });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) => typeof key === 'string' && isJSONValue(val),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) => typeof key === 'string' && isJSONValue(val),\n )\n );\n}\n"],"mappings":"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","names":["name","marker","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a"]}
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["export * from './embedding-model/index';\nexport * from './errors/index';\nexport * from './image-model/index';\nexport * from './json-value/index';\nexport * from './language-model-middleware/index';\nexport * from './language-model/index';\nexport * from './provider/index';\nexport * from './shared/index';\nexport * from './speech-model/index';\nexport * from './transcription-model/index';\n\nexport type { JSONSchema7, JSONSchema7Definition } from 'json-schema';\n","/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.message;\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n// TODO v5: rename to ParseError\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\nThrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super({\n name,\n message:\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n }: {\n value: unknown;\n cause: unknown;\n }): TypeValidationError {\n return TypeValidationError.isInstance(cause) && cause.value === value\n ? cause\n : new TypeValidationError({ value, cause });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) => typeof key === 'string' && isJSONValue(val),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) => typeof key === 'string' && isJSONValue(val),\n )\n );\n}\n"],"mappings":"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","names":["name","marker","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a","name","marker","symbol","_a"]}
|