@ai-sdk/provider 2.1.0-beta.5 → 3.0.0-beta.10
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 +30 -0
- package/dist/index.d.mts +168 -10
- package/dist/index.d.ts +168 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @ai-sdk/provider
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0c3b58b: fix(provider): add specificationVersion to ProviderV3
|
|
8
|
+
|
|
9
|
+
## 3.0.0-beta.9
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- a755db5: feat(provider): Add SharedV3Warning type
|
|
14
|
+
|
|
15
|
+
## 3.0.0-beta.8
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 3794514: feat: flexible tool output content support
|
|
20
|
+
|
|
21
|
+
## 3.0.0-beta.7
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 81d4308: feat: provider-executed dynamic tools
|
|
26
|
+
|
|
27
|
+
## 3.0.0-beta.6
|
|
28
|
+
|
|
29
|
+
### Major Changes
|
|
30
|
+
|
|
31
|
+
- dee8b05: ai SDK 6 beta
|
|
32
|
+
|
|
3
33
|
## 2.1.0-beta.5
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -59,6 +59,32 @@ type SharedV3ProviderMetadata = Record<string, Record<string, JSONValue>>;
|
|
|
59
59
|
*/
|
|
60
60
|
type SharedV3ProviderOptions = Record<string, Record<string, JSONValue>>;
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Warning from the model that certain features are e.g. unsupported or that compatibility
|
|
64
|
+
* functionality is used (which might lead to suboptimal results).
|
|
65
|
+
*/
|
|
66
|
+
type SharedV3Warning = {
|
|
67
|
+
/**
|
|
68
|
+
* A configuration setting is not supported by the model.
|
|
69
|
+
*/
|
|
70
|
+
type: 'unsupported-setting';
|
|
71
|
+
setting: string;
|
|
72
|
+
details?: string;
|
|
73
|
+
} | {
|
|
74
|
+
/**
|
|
75
|
+
* A compatibility feature is used that might lead to suboptimal results.
|
|
76
|
+
*/
|
|
77
|
+
type: 'compatibility';
|
|
78
|
+
feature: string;
|
|
79
|
+
details?: string;
|
|
80
|
+
} | {
|
|
81
|
+
/**
|
|
82
|
+
* Other warning.
|
|
83
|
+
*/
|
|
84
|
+
type: 'other';
|
|
85
|
+
message: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
62
88
|
type SharedV2Headers = Record<string, string>;
|
|
63
89
|
|
|
64
90
|
/**
|
|
@@ -1020,11 +1046,22 @@ interface LanguageModelV3ToolResultPart {
|
|
|
1020
1046
|
* Result of a tool call.
|
|
1021
1047
|
*/
|
|
1022
1048
|
type LanguageModelV3ToolResultOutput = {
|
|
1049
|
+
/**
|
|
1050
|
+
* Text tool output that should be directly sent to the API.
|
|
1051
|
+
*/
|
|
1023
1052
|
type: 'text';
|
|
1024
1053
|
value: string;
|
|
1054
|
+
/**
|
|
1055
|
+
* Provider-specific options.
|
|
1056
|
+
*/
|
|
1057
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1025
1058
|
} | {
|
|
1026
1059
|
type: 'json';
|
|
1027
1060
|
value: JSONValue;
|
|
1061
|
+
/**
|
|
1062
|
+
* Provider-specific options.
|
|
1063
|
+
*/
|
|
1064
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1028
1065
|
} | {
|
|
1029
1066
|
/**
|
|
1030
1067
|
* Type when the user has denied the execution of the tool call.
|
|
@@ -1034,12 +1071,24 @@ type LanguageModelV3ToolResultOutput = {
|
|
|
1034
1071
|
* Optional reason for the execution denial.
|
|
1035
1072
|
*/
|
|
1036
1073
|
reason?: string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Provider-specific options.
|
|
1076
|
+
*/
|
|
1077
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1037
1078
|
} | {
|
|
1038
1079
|
type: 'error-text';
|
|
1039
1080
|
value: string;
|
|
1081
|
+
/**
|
|
1082
|
+
* Provider-specific options.
|
|
1083
|
+
*/
|
|
1084
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1040
1085
|
} | {
|
|
1041
1086
|
type: 'error-json';
|
|
1042
1087
|
value: JSONValue;
|
|
1088
|
+
/**
|
|
1089
|
+
* Provider-specific options.
|
|
1090
|
+
*/
|
|
1091
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1043
1092
|
} | {
|
|
1044
1093
|
type: 'content';
|
|
1045
1094
|
value: Array<{
|
|
@@ -1048,8 +1097,12 @@ type LanguageModelV3ToolResultOutput = {
|
|
|
1048
1097
|
Text content.
|
|
1049
1098
|
*/
|
|
1050
1099
|
text: string;
|
|
1100
|
+
/**
|
|
1101
|
+
* Provider-specific options.
|
|
1102
|
+
*/
|
|
1103
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1051
1104
|
} | {
|
|
1052
|
-
type: '
|
|
1105
|
+
type: 'file-data';
|
|
1053
1106
|
/**
|
|
1054
1107
|
Base-64 encoded media data.
|
|
1055
1108
|
*/
|
|
@@ -1059,28 +1112,120 @@ IANA media type.
|
|
|
1059
1112
|
@see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
1060
1113
|
*/
|
|
1061
1114
|
mediaType: string;
|
|
1115
|
+
/**
|
|
1116
|
+
* Optional filename of the file.
|
|
1117
|
+
*/
|
|
1118
|
+
filename?: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* Provider-specific options.
|
|
1121
|
+
*/
|
|
1122
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1123
|
+
} | {
|
|
1124
|
+
type: 'file-url';
|
|
1125
|
+
/**
|
|
1126
|
+
* URL of the file.
|
|
1127
|
+
*/
|
|
1128
|
+
url: string;
|
|
1129
|
+
/**
|
|
1130
|
+
* Provider-specific options.
|
|
1131
|
+
*/
|
|
1132
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1133
|
+
} | {
|
|
1134
|
+
type: 'file-id';
|
|
1135
|
+
/**
|
|
1136
|
+
* ID of the file.
|
|
1137
|
+
*
|
|
1138
|
+
* If you use multiple providers, you need to
|
|
1139
|
+
* specify the provider specific ids using
|
|
1140
|
+
* the Record option. The key is the provider
|
|
1141
|
+
* name, e.g. 'openai' or 'anthropic'.
|
|
1142
|
+
*/
|
|
1143
|
+
fileId: string | Record<string, string>;
|
|
1144
|
+
/**
|
|
1145
|
+
* Provider-specific options.
|
|
1146
|
+
*/
|
|
1147
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1148
|
+
} | {
|
|
1149
|
+
/**
|
|
1150
|
+
* Images that are referenced using base64 encoded data.
|
|
1151
|
+
*/
|
|
1152
|
+
type: 'image-data';
|
|
1153
|
+
/**
|
|
1154
|
+
Base-64 encoded image data.
|
|
1155
|
+
*/
|
|
1156
|
+
data: string;
|
|
1157
|
+
/**
|
|
1158
|
+
IANA media type.
|
|
1159
|
+
@see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
1160
|
+
*/
|
|
1161
|
+
mediaType: string;
|
|
1162
|
+
/**
|
|
1163
|
+
* Provider-specific options.
|
|
1164
|
+
*/
|
|
1165
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1166
|
+
} | {
|
|
1167
|
+
/**
|
|
1168
|
+
* Images that are referenced using a URL.
|
|
1169
|
+
*/
|
|
1170
|
+
type: 'image-url';
|
|
1171
|
+
/**
|
|
1172
|
+
* URL of the image.
|
|
1173
|
+
*/
|
|
1174
|
+
url: string;
|
|
1175
|
+
/**
|
|
1176
|
+
* Provider-specific options.
|
|
1177
|
+
*/
|
|
1178
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1179
|
+
} | {
|
|
1180
|
+
/**
|
|
1181
|
+
* Images that are referenced using a provider file id.
|
|
1182
|
+
*/
|
|
1183
|
+
type: 'image-file-id';
|
|
1184
|
+
/**
|
|
1185
|
+
* Image that is referenced using a provider file id.
|
|
1186
|
+
*
|
|
1187
|
+
* If you use multiple providers, you need to
|
|
1188
|
+
* specify the provider specific ids using
|
|
1189
|
+
* the Record option. The key is the provider
|
|
1190
|
+
* name, e.g. 'openai' or 'anthropic'.
|
|
1191
|
+
*/
|
|
1192
|
+
fileId: string | Record<string, string>;
|
|
1193
|
+
/**
|
|
1194
|
+
* Provider-specific options.
|
|
1195
|
+
*/
|
|
1196
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1197
|
+
} | {
|
|
1198
|
+
/**
|
|
1199
|
+
* Custom content part. This can be used to implement
|
|
1200
|
+
* provider-specific content parts.
|
|
1201
|
+
*/
|
|
1202
|
+
type: 'custom';
|
|
1203
|
+
/**
|
|
1204
|
+
* Provider-specific options.
|
|
1205
|
+
*/
|
|
1206
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1062
1207
|
}>;
|
|
1063
1208
|
};
|
|
1064
1209
|
|
|
1065
1210
|
/**
|
|
1066
|
-
The configuration of a tool that is defined by the provider.
|
|
1211
|
+
* The configuration of a tool that is defined by the provider.
|
|
1067
1212
|
*/
|
|
1068
1213
|
type LanguageModelV3ProviderDefinedTool = {
|
|
1069
1214
|
/**
|
|
1070
|
-
|
|
1215
|
+
* The type of the tool (always 'provider-defined').
|
|
1071
1216
|
*/
|
|
1072
1217
|
type: 'provider-defined';
|
|
1073
1218
|
/**
|
|
1074
|
-
|
|
1219
|
+
* The ID of the tool. Should follow the format `<provider-id>.<unique-tool-name>`.
|
|
1075
1220
|
*/
|
|
1076
1221
|
id: `${string}.${string}`;
|
|
1077
1222
|
/**
|
|
1078
|
-
|
|
1223
|
+
* The name of the tool that the user must use in the tool set.
|
|
1079
1224
|
*/
|
|
1080
1225
|
name: string;
|
|
1081
1226
|
/**
|
|
1082
|
-
|
|
1083
|
-
|
|
1227
|
+
* The arguments for configuring the tool. Must match the expected arguments defined by the provider for this tool.
|
|
1228
|
+
*/
|
|
1084
1229
|
args: Record<string, unknown>;
|
|
1085
1230
|
};
|
|
1086
1231
|
|
|
@@ -1337,6 +1482,11 @@ type LanguageModelV3ToolCall = {
|
|
|
1337
1482
|
* If this flag is not set or is false, the tool call will be executed by the client.
|
|
1338
1483
|
*/
|
|
1339
1484
|
providerExecuted?: boolean;
|
|
1485
|
+
/**
|
|
1486
|
+
* Whether the tool is dynamic, i.e. defined at runtime.
|
|
1487
|
+
* For example, MCP (Model Context Protocol) tools that are executed by the provider.
|
|
1488
|
+
*/
|
|
1489
|
+
dynamic?: boolean;
|
|
1340
1490
|
/**
|
|
1341
1491
|
* Additional provider-specific metadata for the tool call.
|
|
1342
1492
|
*/
|
|
@@ -1381,6 +1531,11 @@ type LanguageModelV3ToolResult = {
|
|
|
1381
1531
|
* If this flag is not set or is false, the tool result is not preliminary.
|
|
1382
1532
|
*/
|
|
1383
1533
|
preliminary?: boolean;
|
|
1534
|
+
/**
|
|
1535
|
+
* Whether the tool is dynamic, i.e. defined at runtime.
|
|
1536
|
+
* For example, MCP (Model Context Protocol) tools that are executed by the provider.
|
|
1537
|
+
*/
|
|
1538
|
+
dynamic?: boolean;
|
|
1384
1539
|
/**
|
|
1385
1540
|
* Additional provider-specific metadata for the tool result.
|
|
1386
1541
|
*/
|
|
@@ -1481,6 +1636,8 @@ type LanguageModelV3StreamPart = {
|
|
|
1481
1636
|
toolName: string;
|
|
1482
1637
|
providerMetadata?: SharedV3ProviderMetadata;
|
|
1483
1638
|
providerExecuted?: boolean;
|
|
1639
|
+
dynamic?: boolean;
|
|
1640
|
+
title?: string;
|
|
1484
1641
|
} | {
|
|
1485
1642
|
type: 'tool-input-delta';
|
|
1486
1643
|
id: string;
|
|
@@ -1517,11 +1674,11 @@ type LanguageModelV3 = {
|
|
|
1517
1674
|
*/
|
|
1518
1675
|
readonly specificationVersion: 'v3';
|
|
1519
1676
|
/**
|
|
1520
|
-
|
|
1677
|
+
Provider ID.
|
|
1521
1678
|
*/
|
|
1522
1679
|
readonly provider: string;
|
|
1523
1680
|
/**
|
|
1524
|
-
Provider-specific model ID
|
|
1681
|
+
Provider-specific model ID.
|
|
1525
1682
|
*/
|
|
1526
1683
|
readonly modelId: string;
|
|
1527
1684
|
/**
|
|
@@ -2832,6 +2989,7 @@ type TranscriptionModelV3 = {
|
|
|
2832
2989
|
* Provider for language, text embedding, and image generation models.
|
|
2833
2990
|
*/
|
|
2834
2991
|
interface ProviderV3 {
|
|
2992
|
+
readonly specificationVersion: 'v3';
|
|
2835
2993
|
/**
|
|
2836
2994
|
Returns the language model with the given id.
|
|
2837
2995
|
The model id is then passed to the provider function to get the model.
|
|
@@ -3230,4 +3388,4 @@ interface ProviderV2 {
|
|
|
3230
3388
|
speechModel?(modelId: string): SpeechModelV2;
|
|
3231
3389
|
}
|
|
3232
3390
|
|
|
3233
|
-
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3CallWarning, type ImageModelV3ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3CallWarning, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderDefinedTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV3CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV3CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
|
3391
|
+
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3CallWarning, type ImageModelV3ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3CallWarning, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderDefinedTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV3CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV3CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
package/dist/index.d.ts
CHANGED
|
@@ -59,6 +59,32 @@ type SharedV3ProviderMetadata = Record<string, Record<string, JSONValue>>;
|
|
|
59
59
|
*/
|
|
60
60
|
type SharedV3ProviderOptions = Record<string, Record<string, JSONValue>>;
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Warning from the model that certain features are e.g. unsupported or that compatibility
|
|
64
|
+
* functionality is used (which might lead to suboptimal results).
|
|
65
|
+
*/
|
|
66
|
+
type SharedV3Warning = {
|
|
67
|
+
/**
|
|
68
|
+
* A configuration setting is not supported by the model.
|
|
69
|
+
*/
|
|
70
|
+
type: 'unsupported-setting';
|
|
71
|
+
setting: string;
|
|
72
|
+
details?: string;
|
|
73
|
+
} | {
|
|
74
|
+
/**
|
|
75
|
+
* A compatibility feature is used that might lead to suboptimal results.
|
|
76
|
+
*/
|
|
77
|
+
type: 'compatibility';
|
|
78
|
+
feature: string;
|
|
79
|
+
details?: string;
|
|
80
|
+
} | {
|
|
81
|
+
/**
|
|
82
|
+
* Other warning.
|
|
83
|
+
*/
|
|
84
|
+
type: 'other';
|
|
85
|
+
message: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
62
88
|
type SharedV2Headers = Record<string, string>;
|
|
63
89
|
|
|
64
90
|
/**
|
|
@@ -1020,11 +1046,22 @@ interface LanguageModelV3ToolResultPart {
|
|
|
1020
1046
|
* Result of a tool call.
|
|
1021
1047
|
*/
|
|
1022
1048
|
type LanguageModelV3ToolResultOutput = {
|
|
1049
|
+
/**
|
|
1050
|
+
* Text tool output that should be directly sent to the API.
|
|
1051
|
+
*/
|
|
1023
1052
|
type: 'text';
|
|
1024
1053
|
value: string;
|
|
1054
|
+
/**
|
|
1055
|
+
* Provider-specific options.
|
|
1056
|
+
*/
|
|
1057
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1025
1058
|
} | {
|
|
1026
1059
|
type: 'json';
|
|
1027
1060
|
value: JSONValue;
|
|
1061
|
+
/**
|
|
1062
|
+
* Provider-specific options.
|
|
1063
|
+
*/
|
|
1064
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1028
1065
|
} | {
|
|
1029
1066
|
/**
|
|
1030
1067
|
* Type when the user has denied the execution of the tool call.
|
|
@@ -1034,12 +1071,24 @@ type LanguageModelV3ToolResultOutput = {
|
|
|
1034
1071
|
* Optional reason for the execution denial.
|
|
1035
1072
|
*/
|
|
1036
1073
|
reason?: string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Provider-specific options.
|
|
1076
|
+
*/
|
|
1077
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1037
1078
|
} | {
|
|
1038
1079
|
type: 'error-text';
|
|
1039
1080
|
value: string;
|
|
1081
|
+
/**
|
|
1082
|
+
* Provider-specific options.
|
|
1083
|
+
*/
|
|
1084
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1040
1085
|
} | {
|
|
1041
1086
|
type: 'error-json';
|
|
1042
1087
|
value: JSONValue;
|
|
1088
|
+
/**
|
|
1089
|
+
* Provider-specific options.
|
|
1090
|
+
*/
|
|
1091
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1043
1092
|
} | {
|
|
1044
1093
|
type: 'content';
|
|
1045
1094
|
value: Array<{
|
|
@@ -1048,8 +1097,12 @@ type LanguageModelV3ToolResultOutput = {
|
|
|
1048
1097
|
Text content.
|
|
1049
1098
|
*/
|
|
1050
1099
|
text: string;
|
|
1100
|
+
/**
|
|
1101
|
+
* Provider-specific options.
|
|
1102
|
+
*/
|
|
1103
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1051
1104
|
} | {
|
|
1052
|
-
type: '
|
|
1105
|
+
type: 'file-data';
|
|
1053
1106
|
/**
|
|
1054
1107
|
Base-64 encoded media data.
|
|
1055
1108
|
*/
|
|
@@ -1059,28 +1112,120 @@ IANA media type.
|
|
|
1059
1112
|
@see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
1060
1113
|
*/
|
|
1061
1114
|
mediaType: string;
|
|
1115
|
+
/**
|
|
1116
|
+
* Optional filename of the file.
|
|
1117
|
+
*/
|
|
1118
|
+
filename?: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* Provider-specific options.
|
|
1121
|
+
*/
|
|
1122
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1123
|
+
} | {
|
|
1124
|
+
type: 'file-url';
|
|
1125
|
+
/**
|
|
1126
|
+
* URL of the file.
|
|
1127
|
+
*/
|
|
1128
|
+
url: string;
|
|
1129
|
+
/**
|
|
1130
|
+
* Provider-specific options.
|
|
1131
|
+
*/
|
|
1132
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1133
|
+
} | {
|
|
1134
|
+
type: 'file-id';
|
|
1135
|
+
/**
|
|
1136
|
+
* ID of the file.
|
|
1137
|
+
*
|
|
1138
|
+
* If you use multiple providers, you need to
|
|
1139
|
+
* specify the provider specific ids using
|
|
1140
|
+
* the Record option. The key is the provider
|
|
1141
|
+
* name, e.g. 'openai' or 'anthropic'.
|
|
1142
|
+
*/
|
|
1143
|
+
fileId: string | Record<string, string>;
|
|
1144
|
+
/**
|
|
1145
|
+
* Provider-specific options.
|
|
1146
|
+
*/
|
|
1147
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1148
|
+
} | {
|
|
1149
|
+
/**
|
|
1150
|
+
* Images that are referenced using base64 encoded data.
|
|
1151
|
+
*/
|
|
1152
|
+
type: 'image-data';
|
|
1153
|
+
/**
|
|
1154
|
+
Base-64 encoded image data.
|
|
1155
|
+
*/
|
|
1156
|
+
data: string;
|
|
1157
|
+
/**
|
|
1158
|
+
IANA media type.
|
|
1159
|
+
@see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
1160
|
+
*/
|
|
1161
|
+
mediaType: string;
|
|
1162
|
+
/**
|
|
1163
|
+
* Provider-specific options.
|
|
1164
|
+
*/
|
|
1165
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1166
|
+
} | {
|
|
1167
|
+
/**
|
|
1168
|
+
* Images that are referenced using a URL.
|
|
1169
|
+
*/
|
|
1170
|
+
type: 'image-url';
|
|
1171
|
+
/**
|
|
1172
|
+
* URL of the image.
|
|
1173
|
+
*/
|
|
1174
|
+
url: string;
|
|
1175
|
+
/**
|
|
1176
|
+
* Provider-specific options.
|
|
1177
|
+
*/
|
|
1178
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1179
|
+
} | {
|
|
1180
|
+
/**
|
|
1181
|
+
* Images that are referenced using a provider file id.
|
|
1182
|
+
*/
|
|
1183
|
+
type: 'image-file-id';
|
|
1184
|
+
/**
|
|
1185
|
+
* Image that is referenced using a provider file id.
|
|
1186
|
+
*
|
|
1187
|
+
* If you use multiple providers, you need to
|
|
1188
|
+
* specify the provider specific ids using
|
|
1189
|
+
* the Record option. The key is the provider
|
|
1190
|
+
* name, e.g. 'openai' or 'anthropic'.
|
|
1191
|
+
*/
|
|
1192
|
+
fileId: string | Record<string, string>;
|
|
1193
|
+
/**
|
|
1194
|
+
* Provider-specific options.
|
|
1195
|
+
*/
|
|
1196
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1197
|
+
} | {
|
|
1198
|
+
/**
|
|
1199
|
+
* Custom content part. This can be used to implement
|
|
1200
|
+
* provider-specific content parts.
|
|
1201
|
+
*/
|
|
1202
|
+
type: 'custom';
|
|
1203
|
+
/**
|
|
1204
|
+
* Provider-specific options.
|
|
1205
|
+
*/
|
|
1206
|
+
providerOptions?: SharedV3ProviderOptions;
|
|
1062
1207
|
}>;
|
|
1063
1208
|
};
|
|
1064
1209
|
|
|
1065
1210
|
/**
|
|
1066
|
-
The configuration of a tool that is defined by the provider.
|
|
1211
|
+
* The configuration of a tool that is defined by the provider.
|
|
1067
1212
|
*/
|
|
1068
1213
|
type LanguageModelV3ProviderDefinedTool = {
|
|
1069
1214
|
/**
|
|
1070
|
-
|
|
1215
|
+
* The type of the tool (always 'provider-defined').
|
|
1071
1216
|
*/
|
|
1072
1217
|
type: 'provider-defined';
|
|
1073
1218
|
/**
|
|
1074
|
-
|
|
1219
|
+
* The ID of the tool. Should follow the format `<provider-id>.<unique-tool-name>`.
|
|
1075
1220
|
*/
|
|
1076
1221
|
id: `${string}.${string}`;
|
|
1077
1222
|
/**
|
|
1078
|
-
|
|
1223
|
+
* The name of the tool that the user must use in the tool set.
|
|
1079
1224
|
*/
|
|
1080
1225
|
name: string;
|
|
1081
1226
|
/**
|
|
1082
|
-
|
|
1083
|
-
|
|
1227
|
+
* The arguments for configuring the tool. Must match the expected arguments defined by the provider for this tool.
|
|
1228
|
+
*/
|
|
1084
1229
|
args: Record<string, unknown>;
|
|
1085
1230
|
};
|
|
1086
1231
|
|
|
@@ -1337,6 +1482,11 @@ type LanguageModelV3ToolCall = {
|
|
|
1337
1482
|
* If this flag is not set or is false, the tool call will be executed by the client.
|
|
1338
1483
|
*/
|
|
1339
1484
|
providerExecuted?: boolean;
|
|
1485
|
+
/**
|
|
1486
|
+
* Whether the tool is dynamic, i.e. defined at runtime.
|
|
1487
|
+
* For example, MCP (Model Context Protocol) tools that are executed by the provider.
|
|
1488
|
+
*/
|
|
1489
|
+
dynamic?: boolean;
|
|
1340
1490
|
/**
|
|
1341
1491
|
* Additional provider-specific metadata for the tool call.
|
|
1342
1492
|
*/
|
|
@@ -1381,6 +1531,11 @@ type LanguageModelV3ToolResult = {
|
|
|
1381
1531
|
* If this flag is not set or is false, the tool result is not preliminary.
|
|
1382
1532
|
*/
|
|
1383
1533
|
preliminary?: boolean;
|
|
1534
|
+
/**
|
|
1535
|
+
* Whether the tool is dynamic, i.e. defined at runtime.
|
|
1536
|
+
* For example, MCP (Model Context Protocol) tools that are executed by the provider.
|
|
1537
|
+
*/
|
|
1538
|
+
dynamic?: boolean;
|
|
1384
1539
|
/**
|
|
1385
1540
|
* Additional provider-specific metadata for the tool result.
|
|
1386
1541
|
*/
|
|
@@ -1481,6 +1636,8 @@ type LanguageModelV3StreamPart = {
|
|
|
1481
1636
|
toolName: string;
|
|
1482
1637
|
providerMetadata?: SharedV3ProviderMetadata;
|
|
1483
1638
|
providerExecuted?: boolean;
|
|
1639
|
+
dynamic?: boolean;
|
|
1640
|
+
title?: string;
|
|
1484
1641
|
} | {
|
|
1485
1642
|
type: 'tool-input-delta';
|
|
1486
1643
|
id: string;
|
|
@@ -1517,11 +1674,11 @@ type LanguageModelV3 = {
|
|
|
1517
1674
|
*/
|
|
1518
1675
|
readonly specificationVersion: 'v3';
|
|
1519
1676
|
/**
|
|
1520
|
-
|
|
1677
|
+
Provider ID.
|
|
1521
1678
|
*/
|
|
1522
1679
|
readonly provider: string;
|
|
1523
1680
|
/**
|
|
1524
|
-
Provider-specific model ID
|
|
1681
|
+
Provider-specific model ID.
|
|
1525
1682
|
*/
|
|
1526
1683
|
readonly modelId: string;
|
|
1527
1684
|
/**
|
|
@@ -2832,6 +2989,7 @@ type TranscriptionModelV3 = {
|
|
|
2832
2989
|
* Provider for language, text embedding, and image generation models.
|
|
2833
2990
|
*/
|
|
2834
2991
|
interface ProviderV3 {
|
|
2992
|
+
readonly specificationVersion: 'v3';
|
|
2835
2993
|
/**
|
|
2836
2994
|
Returns the language model with the given id.
|
|
2837
2995
|
The model id is then passed to the provider function to get the model.
|
|
@@ -3230,4 +3388,4 @@ interface ProviderV2 {
|
|
|
3230
3388
|
speechModel?(modelId: string): SpeechModelV2;
|
|
3231
3389
|
}
|
|
3232
3390
|
|
|
3233
|
-
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3CallWarning, type ImageModelV3ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3CallWarning, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderDefinedTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV3CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV3CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
|
3391
|
+
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3CallWarning, type ImageModelV3ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3CallWarning, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderDefinedTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV3CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV3CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|