ai-test-kit 0.0.1
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/LICENSE +21 -0
- package/README.md +924 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -0
- package/dist/language/index.d.mts +218 -0
- package/dist/language/index.mjs +363 -0
- package/dist/tokenize-C-Zp26iY.mjs +13 -0
- package/dist/ui/index.d.mts +2302 -0
- package/dist/ui/index.mjs +266 -0
- package/package.json +71 -0
|
@@ -0,0 +1,2302 @@
|
|
|
1
|
+
import * as ai from "ai";
|
|
2
|
+
import { UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIToolInvocation, UITools } from "ai";
|
|
3
|
+
import * as _ai_sdk_provider0 from "@ai-sdk/provider";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/parts.d.ts
|
|
6
|
+
/** A single part variant selected from the union by its `type` tag. */
|
|
7
|
+
type PartOf<DATA extends UIDataTypes, TOOLS extends UITools, TYPE extends string> = Extract<UIMessagePart<DATA, TOOLS>, {
|
|
8
|
+
type: TYPE;
|
|
9
|
+
}>;
|
|
10
|
+
/** The fields of a part variant without the given keys, used as a builder's argument shape. */
|
|
11
|
+
type PartArgs<DATA extends UIDataTypes, TOOLS extends UITools, TYPE extends string, OMIT extends string = 'type'> = Omit<PartOf<DATA, TOOLS, TYPE>, OMIT | 'type'>;
|
|
12
|
+
/**
|
|
13
|
+
* Builds the {@link UIParts} namespace bound to a message's `DATA` and `TOOLS` types. The runtime is
|
|
14
|
+
* identical for every binding; the type parameters only sharpen `data` and `tool`. Use the top-level
|
|
15
|
+
* {@link UIParts} for the loose default, or `fromUIMessage` to bind.
|
|
16
|
+
*/
|
|
17
|
+
declare const createUIParts: <DATA extends UIDataTypes = UIDataTypes, TOOLS extends UITools = UITools>() => {
|
|
18
|
+
/** A text part, optionally with streaming `state` and provider metadata. */text: (text: string, opts?: PartArgs<DATA, TOOLS, "text", "text">) => PartOf<DATA, TOOLS, "text">; /** A reasoning part, optionally with streaming `state` and provider metadata. */
|
|
19
|
+
reasoning: (text: string, opts?: PartArgs<DATA, TOOLS, "reasoning", "text">) => PartOf<DATA, TOOLS, "reasoning">; /** A URL source part. */
|
|
20
|
+
sourceUrl: (args: PartArgs<DATA, TOOLS, "source-url">) => PartOf<DATA, TOOLS, "source-url">; /** A document source part. */
|
|
21
|
+
sourceDocument: (args: PartArgs<DATA, TOOLS, "source-document">) => PartOf<DATA, TOOLS, "source-document">; /** A file part referencing a file by URL. */
|
|
22
|
+
file: (args: PartArgs<DATA, TOOLS, "file">) => PartOf<DATA, TOOLS, "file">; /** A step boundary part. */
|
|
23
|
+
stepStart: () => PartOf<DATA, TOOLS, "step-start">; /** A `data-${name}` part carrying a typed custom data payload. */
|
|
24
|
+
data: <NAME extends keyof DATA & string>(name: NAME, data: DATA[NAME], opts?: {
|
|
25
|
+
id?: string;
|
|
26
|
+
}) => UIMessagePart<DATA, TOOLS>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
|
|
27
|
+
tool: <NAME extends keyof TOOLS & string>(name: NAME, invocation: UIToolInvocation<TOOLS[NAME]>) => UIMessagePart<DATA, TOOLS>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
|
|
28
|
+
dynamicTool: (args: PartArgs<DATA, TOOLS, "dynamic-tool">) => UIMessagePart<DATA, TOOLS>;
|
|
29
|
+
};
|
|
30
|
+
/** Builders for `UIMessagePart`s, with loose default types. Use `fromUIMessage` to bind to a message type. */
|
|
31
|
+
declare const UIParts: {
|
|
32
|
+
/** A text part, optionally with streaming `state` and provider metadata. */text: (text: string, opts?: PartArgs<UIDataTypes, UITools, "text", "text"> | undefined) => ai.TextUIPart; /** A reasoning part, optionally with streaming `state` and provider metadata. */
|
|
33
|
+
reasoning: (text: string, opts?: PartArgs<UIDataTypes, UITools, "reasoning", "text"> | undefined) => ai.ReasoningUIPart; /** A URL source part. */
|
|
34
|
+
sourceUrl: (args: PartArgs<UIDataTypes, UITools, "source-url", "type">) => ai.SourceUrlUIPart; /** A document source part. */
|
|
35
|
+
sourceDocument: (args: PartArgs<UIDataTypes, UITools, "source-document", "type">) => ai.SourceDocumentUIPart; /** A file part referencing a file by URL. */
|
|
36
|
+
file: (args: PartArgs<UIDataTypes, UITools, "file", "type">) => ai.FileUIPart; /** A step boundary part. */
|
|
37
|
+
stepStart: () => ai.StepStartUIPart; /** A `data-${name}` part carrying a typed custom data payload. */
|
|
38
|
+
data: <NAME extends string>(name: NAME, data: unknown, opts?: {
|
|
39
|
+
id?: string;
|
|
40
|
+
}) => UIMessagePart<UIDataTypes, UITools>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
|
|
41
|
+
tool: <NAME extends string>(name: NAME, invocation: UIToolInvocation<ai.UITool>) => UIMessagePart<UIDataTypes, UITools>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
|
|
42
|
+
dynamicTool: (args: PartArgs<UIDataTypes, UITools, "dynamic-tool", "type">) => UIMessagePart<UIDataTypes, UITools>;
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/ui/chunks.d.ts
|
|
46
|
+
/** A single chunk variant selected from the union by its `type` tag. */
|
|
47
|
+
type ChunkOf<METADATA, DATA extends UIDataTypes, TYPE extends string> = Extract<UIMessageChunk<METADATA, DATA>, {
|
|
48
|
+
type: TYPE;
|
|
49
|
+
}>;
|
|
50
|
+
/** The fields of a chunk variant without its `type` tag, used as a builder's argument shape. */
|
|
51
|
+
type ChunkArgs<METADATA, DATA extends UIDataTypes, TYPE extends string> = Omit<ChunkOf<METADATA, DATA, TYPE>, 'type'>;
|
|
52
|
+
/** Options for the streamed text/reasoning block builders: a stable id plus a tokenization strategy. */
|
|
53
|
+
type UIChunkBlockOptions = {
|
|
54
|
+
/** Stable id shared by the start/delta/end chunks. */id?: string; /** Split the text into fixed-size slices of at most this many characters. */
|
|
55
|
+
length?: number; /** Split the text on this delimiter, re-appending it to each token. */
|
|
56
|
+
separator?: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Builds the {@link UIChunks} namespace bound to a message's `METADATA` and `DATA` types. The runtime
|
|
60
|
+
* is identical for every binding; the type parameters only sharpen `data`, `start`, `finish`, and
|
|
61
|
+
* `messageMetadata`. Use the top-level {@link UIChunks} for the loose default, or `fromUIMessage` to bind.
|
|
62
|
+
*/
|
|
63
|
+
declare const createUIChunks: <METADATA = unknown, DATA extends UIDataTypes = UIDataTypes>() => {
|
|
64
|
+
/** A `text-start` chunk opening a text block. */textStart: (args: ChunkArgs<METADATA, DATA, "text-start">) => ChunkOf<METADATA, DATA, "text-start">; /** A `text-delta` chunk carrying a slice of streamed text. */
|
|
65
|
+
textDelta: (args: ChunkArgs<METADATA, DATA, "text-delta">) => ChunkOf<METADATA, DATA, "text-delta">; /** A `text-end` chunk closing a text block. */
|
|
66
|
+
textEnd: (args: ChunkArgs<METADATA, DATA, "text-end">) => ChunkOf<METADATA, DATA, "text-end">; /** A `reasoning-start` chunk opening a reasoning block. */
|
|
67
|
+
reasoningStart: (args: ChunkArgs<METADATA, DATA, "reasoning-start">) => ChunkOf<METADATA, DATA, "reasoning-start">; /** A `reasoning-delta` chunk carrying a slice of streamed reasoning. */
|
|
68
|
+
reasoningDelta: (args: ChunkArgs<METADATA, DATA, "reasoning-delta">) => ChunkOf<METADATA, DATA, "reasoning-delta">; /** A `reasoning-end` chunk closing a reasoning block. */
|
|
69
|
+
reasoningEnd: (args: ChunkArgs<METADATA, DATA, "reasoning-end">) => ChunkOf<METADATA, DATA, "reasoning-end">; /** An `error` chunk carrying an error message. */
|
|
70
|
+
error: (errorText: string) => ChunkOf<METADATA, DATA, "error">; /** A `tool-input-start` chunk opening a streamed tool input. */
|
|
71
|
+
toolInputStart: (args: ChunkArgs<METADATA, DATA, "tool-input-start">) => ChunkOf<METADATA, DATA, "tool-input-start">; /** A `tool-input-delta` chunk carrying a slice of the streamed tool input. */
|
|
72
|
+
toolInputDelta: (args: ChunkArgs<METADATA, DATA, "tool-input-delta">) => ChunkOf<METADATA, DATA, "tool-input-delta">; /** A `tool-input-available` chunk carrying the completed tool input. */
|
|
73
|
+
toolInputAvailable: (args: ChunkArgs<METADATA, DATA, "tool-input-available">) => ChunkOf<METADATA, DATA, "tool-input-available">; /** A `tool-input-error` chunk reporting a failed tool input. */
|
|
74
|
+
toolInputError: (args: ChunkArgs<METADATA, DATA, "tool-input-error">) => ChunkOf<METADATA, DATA, "tool-input-error">; /** A `tool-approval-request` chunk asking the user to approve a tool call. */
|
|
75
|
+
toolApprovalRequest: (args: ChunkArgs<METADATA, DATA, "tool-approval-request">) => ChunkOf<METADATA, DATA, "tool-approval-request">; /** A `tool-output-available` chunk carrying a tool result. */
|
|
76
|
+
toolOutputAvailable: (args: ChunkArgs<METADATA, DATA, "tool-output-available">) => ChunkOf<METADATA, DATA, "tool-output-available">; /** A `tool-output-error` chunk reporting a failed tool execution. */
|
|
77
|
+
toolOutputError: (args: ChunkArgs<METADATA, DATA, "tool-output-error">) => ChunkOf<METADATA, DATA, "tool-output-error">; /** A `tool-output-denied` chunk marking a denied tool call. */
|
|
78
|
+
toolOutputDenied: (args: ChunkArgs<METADATA, DATA, "tool-output-denied">) => ChunkOf<METADATA, DATA, "tool-output-denied">; /** A `source-url` chunk referencing a URL source. */
|
|
79
|
+
sourceUrl: (args: ChunkArgs<METADATA, DATA, "source-url">) => ChunkOf<METADATA, DATA, "source-url">; /** A `source-document` chunk referencing a document source. */
|
|
80
|
+
sourceDocument: (args: ChunkArgs<METADATA, DATA, "source-document">) => ChunkOf<METADATA, DATA, "source-document">; /** A `file` chunk referencing a file by URL. */
|
|
81
|
+
file: (args: ChunkArgs<METADATA, DATA, "file">) => ChunkOf<METADATA, DATA, "file">; /** A `data-${name}` chunk carrying a typed custom data payload. */
|
|
82
|
+
data: <NAME extends keyof DATA & string>(name: NAME, data: DATA[NAME], opts?: {
|
|
83
|
+
id?: string;
|
|
84
|
+
transient?: boolean;
|
|
85
|
+
}) => UIMessageChunk<METADATA, DATA>; /** A `start-step` chunk marking the beginning of a step. */
|
|
86
|
+
startStep: () => ChunkOf<METADATA, DATA, "start-step">; /** A `finish-step` chunk marking the end of a step. */
|
|
87
|
+
finishStep: () => ChunkOf<METADATA, DATA, "finish-step">; /** A `start` chunk opening a message stream, optionally carrying id and metadata. */
|
|
88
|
+
start: (args?: ChunkArgs<METADATA, DATA, "start">) => ChunkOf<METADATA, DATA, "start">; /** A `finish` chunk closing a message stream, optionally carrying finish reason and metadata. */
|
|
89
|
+
finish: (args?: ChunkArgs<METADATA, DATA, "finish">) => ChunkOf<METADATA, DATA, "finish">; /** An `abort` chunk marking an aborted stream. */
|
|
90
|
+
abort: (args?: ChunkArgs<METADATA, DATA, "abort">) => ChunkOf<METADATA, DATA, "abort">; /** A `message-metadata` chunk carrying typed message metadata. */
|
|
91
|
+
messageMetadata: (messageMetadata: METADATA) => ChunkOf<METADATA, DATA, "message-metadata">; /** A text block: `text-start` → `text-delta`* → `text-end`, so blocks compose by concatenation. */
|
|
92
|
+
text: (text: string, {
|
|
93
|
+
id,
|
|
94
|
+
length,
|
|
95
|
+
separator
|
|
96
|
+
}?: UIChunkBlockOptions) => Array<UIMessageChunk<METADATA, DATA>>; /** A reasoning block: `reasoning-start` → `reasoning-delta`* → `reasoning-end`. */
|
|
97
|
+
reasoning: (text: string, {
|
|
98
|
+
id,
|
|
99
|
+
length,
|
|
100
|
+
separator
|
|
101
|
+
}?: UIChunkBlockOptions) => Array<UIMessageChunk<METADATA, DATA>>; /** A streamed tool input block: `tool-input-start` → `tool-input-delta`* → `tool-input-available`. */
|
|
102
|
+
toolInput: (args: {
|
|
103
|
+
toolCallId: string;
|
|
104
|
+
toolName: string;
|
|
105
|
+
input: unknown;
|
|
106
|
+
length?: number;
|
|
107
|
+
}) => Array<UIMessageChunk<METADATA, DATA>>;
|
|
108
|
+
};
|
|
109
|
+
/** Builders for `UIMessageChunk`s, with loose default types. Use `fromUIMessage` to bind to a message type. */
|
|
110
|
+
declare const UIChunks: {
|
|
111
|
+
/** A `text-start` chunk opening a text block. */textStart: (args: ChunkArgs<unknown, UIDataTypes, "text-start">) => {
|
|
112
|
+
type: "text-start";
|
|
113
|
+
id: string;
|
|
114
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
115
|
+
}; /** A `text-delta` chunk carrying a slice of streamed text. */
|
|
116
|
+
textDelta: (args: ChunkArgs<unknown, UIDataTypes, "text-delta">) => {
|
|
117
|
+
type: "text-delta";
|
|
118
|
+
delta: string;
|
|
119
|
+
id: string;
|
|
120
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
121
|
+
}; /** A `text-end` chunk closing a text block. */
|
|
122
|
+
textEnd: (args: ChunkArgs<unknown, UIDataTypes, "text-end">) => {
|
|
123
|
+
type: "text-end";
|
|
124
|
+
id: string;
|
|
125
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
126
|
+
}; /** A `reasoning-start` chunk opening a reasoning block. */
|
|
127
|
+
reasoningStart: (args: ChunkArgs<unknown, UIDataTypes, "reasoning-start">) => {
|
|
128
|
+
type: "reasoning-start";
|
|
129
|
+
id: string;
|
|
130
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
131
|
+
}; /** A `reasoning-delta` chunk carrying a slice of streamed reasoning. */
|
|
132
|
+
reasoningDelta: (args: ChunkArgs<unknown, UIDataTypes, "reasoning-delta">) => {
|
|
133
|
+
type: "reasoning-delta";
|
|
134
|
+
id: string;
|
|
135
|
+
delta: string;
|
|
136
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
137
|
+
}; /** A `reasoning-end` chunk closing a reasoning block. */
|
|
138
|
+
reasoningEnd: (args: ChunkArgs<unknown, UIDataTypes, "reasoning-end">) => {
|
|
139
|
+
type: "reasoning-end";
|
|
140
|
+
id: string;
|
|
141
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
142
|
+
}; /** An `error` chunk carrying an error message. */
|
|
143
|
+
error: (errorText: string) => {
|
|
144
|
+
type: "error";
|
|
145
|
+
errorText: string;
|
|
146
|
+
}; /** A `tool-input-start` chunk opening a streamed tool input. */
|
|
147
|
+
toolInputStart: (args: ChunkArgs<unknown, UIDataTypes, "tool-input-start">) => {
|
|
148
|
+
type: "tool-input-start";
|
|
149
|
+
toolCallId: string;
|
|
150
|
+
toolName: string;
|
|
151
|
+
providerExecuted?: boolean;
|
|
152
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
153
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
154
|
+
dynamic?: boolean;
|
|
155
|
+
title?: string;
|
|
156
|
+
}; /** A `tool-input-delta` chunk carrying a slice of the streamed tool input. */
|
|
157
|
+
toolInputDelta: (args: ChunkArgs<unknown, UIDataTypes, "tool-input-delta">) => {
|
|
158
|
+
type: "tool-input-delta";
|
|
159
|
+
toolCallId: string;
|
|
160
|
+
inputTextDelta: string;
|
|
161
|
+
}; /** A `tool-input-available` chunk carrying the completed tool input. */
|
|
162
|
+
toolInputAvailable: (args: ChunkArgs<unknown, UIDataTypes, "tool-input-available">) => {
|
|
163
|
+
type: "tool-input-available";
|
|
164
|
+
toolCallId: string;
|
|
165
|
+
toolName: string;
|
|
166
|
+
input: unknown;
|
|
167
|
+
providerExecuted?: boolean;
|
|
168
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
169
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
170
|
+
dynamic?: boolean;
|
|
171
|
+
title?: string;
|
|
172
|
+
}; /** A `tool-input-error` chunk reporting a failed tool input. */
|
|
173
|
+
toolInputError: (args: ChunkArgs<unknown, UIDataTypes, "tool-input-error">) => {
|
|
174
|
+
type: "tool-input-error";
|
|
175
|
+
toolCallId: string;
|
|
176
|
+
toolName: string;
|
|
177
|
+
input: unknown;
|
|
178
|
+
providerExecuted?: boolean;
|
|
179
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
180
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
181
|
+
dynamic?: boolean;
|
|
182
|
+
errorText: string;
|
|
183
|
+
title?: string;
|
|
184
|
+
}; /** A `tool-approval-request` chunk asking the user to approve a tool call. */
|
|
185
|
+
toolApprovalRequest: (args: ChunkArgs<unknown, UIDataTypes, "tool-approval-request">) => {
|
|
186
|
+
type: "tool-approval-request";
|
|
187
|
+
approvalId: string;
|
|
188
|
+
toolCallId: string;
|
|
189
|
+
}; /** A `tool-output-available` chunk carrying a tool result. */
|
|
190
|
+
toolOutputAvailable: (args: ChunkArgs<unknown, UIDataTypes, "tool-output-available">) => {
|
|
191
|
+
type: "tool-output-available";
|
|
192
|
+
toolCallId: string;
|
|
193
|
+
output: unknown;
|
|
194
|
+
providerExecuted?: boolean;
|
|
195
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
196
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
197
|
+
dynamic?: boolean;
|
|
198
|
+
preliminary?: boolean;
|
|
199
|
+
}; /** A `tool-output-error` chunk reporting a failed tool execution. */
|
|
200
|
+
toolOutputError: (args: ChunkArgs<unknown, UIDataTypes, "tool-output-error">) => {
|
|
201
|
+
type: "tool-output-error";
|
|
202
|
+
toolCallId: string;
|
|
203
|
+
errorText: string;
|
|
204
|
+
providerExecuted?: boolean;
|
|
205
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
206
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
207
|
+
dynamic?: boolean;
|
|
208
|
+
}; /** A `tool-output-denied` chunk marking a denied tool call. */
|
|
209
|
+
toolOutputDenied: (args: ChunkArgs<unknown, UIDataTypes, "tool-output-denied">) => {
|
|
210
|
+
type: "tool-output-denied";
|
|
211
|
+
toolCallId: string;
|
|
212
|
+
}; /** A `source-url` chunk referencing a URL source. */
|
|
213
|
+
sourceUrl: (args: ChunkArgs<unknown, UIDataTypes, "source-url">) => {
|
|
214
|
+
type: "source-url";
|
|
215
|
+
sourceId: string;
|
|
216
|
+
url: string;
|
|
217
|
+
title?: string;
|
|
218
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
219
|
+
}; /** A `source-document` chunk referencing a document source. */
|
|
220
|
+
sourceDocument: (args: ChunkArgs<unknown, UIDataTypes, "source-document">) => {
|
|
221
|
+
type: "source-document";
|
|
222
|
+
sourceId: string;
|
|
223
|
+
mediaType: string;
|
|
224
|
+
title: string;
|
|
225
|
+
filename?: string;
|
|
226
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
227
|
+
}; /** A `file` chunk referencing a file by URL. */
|
|
228
|
+
file: (args: ChunkArgs<unknown, UIDataTypes, "file">) => {
|
|
229
|
+
type: "file";
|
|
230
|
+
url: string;
|
|
231
|
+
mediaType: string;
|
|
232
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
233
|
+
}; /** A `data-${name}` chunk carrying a typed custom data payload. */
|
|
234
|
+
data: <NAME extends string>(name: NAME, data: unknown, opts?: {
|
|
235
|
+
id?: string;
|
|
236
|
+
transient?: boolean;
|
|
237
|
+
}) => UIMessageChunk<unknown, UIDataTypes>; /** A `start-step` chunk marking the beginning of a step. */
|
|
238
|
+
startStep: () => {
|
|
239
|
+
type: "start-step";
|
|
240
|
+
}; /** A `finish-step` chunk marking the end of a step. */
|
|
241
|
+
finishStep: () => {
|
|
242
|
+
type: "finish-step";
|
|
243
|
+
}; /** A `start` chunk opening a message stream, optionally carrying id and metadata. */
|
|
244
|
+
start: (args?: ChunkArgs<unknown, UIDataTypes, "start"> | undefined) => {
|
|
245
|
+
type: "start";
|
|
246
|
+
messageId?: string;
|
|
247
|
+
messageMetadata?: unknown;
|
|
248
|
+
}; /** A `finish` chunk closing a message stream, optionally carrying finish reason and metadata. */
|
|
249
|
+
finish: (args?: ChunkArgs<unknown, UIDataTypes, "finish"> | undefined) => {
|
|
250
|
+
type: "finish";
|
|
251
|
+
finishReason?: ai.FinishReason;
|
|
252
|
+
messageMetadata?: unknown;
|
|
253
|
+
}; /** An `abort` chunk marking an aborted stream. */
|
|
254
|
+
abort: (args?: ChunkArgs<unknown, UIDataTypes, "abort"> | undefined) => {
|
|
255
|
+
type: "abort";
|
|
256
|
+
reason?: string;
|
|
257
|
+
}; /** A `message-metadata` chunk carrying typed message metadata. */
|
|
258
|
+
messageMetadata: (messageMetadata: unknown) => {
|
|
259
|
+
type: "message-metadata";
|
|
260
|
+
messageMetadata: unknown;
|
|
261
|
+
}; /** A text block: `text-start` → `text-delta`* → `text-end`, so blocks compose by concatenation. */
|
|
262
|
+
text: (text: string, {
|
|
263
|
+
id,
|
|
264
|
+
length,
|
|
265
|
+
separator
|
|
266
|
+
}?: UIChunkBlockOptions) => UIMessageChunk<unknown, UIDataTypes>[]; /** A reasoning block: `reasoning-start` → `reasoning-delta`* → `reasoning-end`. */
|
|
267
|
+
reasoning: (text: string, {
|
|
268
|
+
id,
|
|
269
|
+
length,
|
|
270
|
+
separator
|
|
271
|
+
}?: UIChunkBlockOptions) => UIMessageChunk<unknown, UIDataTypes>[]; /** A streamed tool input block: `tool-input-start` → `tool-input-delta`* → `tool-input-available`. */
|
|
272
|
+
toolInput: (args: {
|
|
273
|
+
toolCallId: string;
|
|
274
|
+
toolName: string;
|
|
275
|
+
input: unknown;
|
|
276
|
+
length?: number;
|
|
277
|
+
}) => UIMessageChunk<unknown, UIDataTypes>[];
|
|
278
|
+
};
|
|
279
|
+
//#endregion
|
|
280
|
+
//#region src/ui/message.d.ts
|
|
281
|
+
/** Identity and metadata overrides for a built message. */
|
|
282
|
+
type MessageOptions<METADATA> = {
|
|
283
|
+
/** The message id; defaults to an auto-incrementing `mock-message-{n}`. */id?: string; /** Typed message metadata. */
|
|
284
|
+
metadata?: METADATA;
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Builds the {@link UIMessages} namespace bound to a message's `METADATA`, `DATA`, and `TOOLS` types.
|
|
288
|
+
* Each role helper accepts a `string` shortcut (becomes a single text part) or a full array of parts.
|
|
289
|
+
* Use the top-level {@link UIMessages} for the loose default, or `fromUIMessage` to bind.
|
|
290
|
+
*/
|
|
291
|
+
declare const createUIMessages: <METADATA = unknown, DATA extends UIDataTypes = UIDataTypes, TOOLS extends UITools = UITools>() => {
|
|
292
|
+
/** A `user` message from a text shortcut or an array of parts. */user: (content: string | Array<UIMessagePart<DATA, TOOLS>>, opts?: MessageOptions<METADATA>) => UIMessage<METADATA, DATA, TOOLS>; /** An `assistant` message from a text shortcut or an array of parts. */
|
|
293
|
+
assistant: (content: string | Array<UIMessagePart<DATA, TOOLS>>, opts?: MessageOptions<METADATA>) => UIMessage<METADATA, DATA, TOOLS>; /** A `system` message from a text shortcut or an array of parts. */
|
|
294
|
+
system: (content: string | Array<UIMessagePart<DATA, TOOLS>>, opts?: MessageOptions<METADATA>) => UIMessage<METADATA, DATA, TOOLS>;
|
|
295
|
+
};
|
|
296
|
+
/** Builders for `UIMessage`s, with loose default types. Use `fromUIMessage` to bind to a message type. */
|
|
297
|
+
declare const UIMessages: {
|
|
298
|
+
/** A `user` message from a text shortcut or an array of parts. */user: (content: string | UIMessagePart<UIDataTypes, UITools>[], opts?: MessageOptions<unknown>) => UIMessage<unknown, UIDataTypes, UITools>; /** An `assistant` message from a text shortcut or an array of parts. */
|
|
299
|
+
assistant: (content: string | UIMessagePart<UIDataTypes, UITools>[], opts?: MessageOptions<unknown>) => UIMessage<unknown, UIDataTypes, UITools>; /** A `system` message from a text shortcut or an array of parts. */
|
|
300
|
+
system: (content: string | UIMessagePart<UIDataTypes, UITools>[], opts?: MessageOptions<unknown>) => UIMessage<unknown, UIDataTypes, UITools>;
|
|
301
|
+
};
|
|
302
|
+
//#endregion
|
|
303
|
+
//#region src/ui/from-ui-message.d.ts
|
|
304
|
+
/** Extracts the `METADATA` type parameter from a `UIMessage` type. */
|
|
305
|
+
type MetadataOf<UI_MESSAGE> = UI_MESSAGE extends UIMessage<infer METADATA, UIDataTypes, UITools> ? METADATA : unknown;
|
|
306
|
+
/** Extracts the `DATA` type parameter from a `UIMessage` type. */
|
|
307
|
+
type DataOf<UI_MESSAGE> = UI_MESSAGE extends UIMessage<unknown, infer DATA, UITools> ? DATA : UIDataTypes;
|
|
308
|
+
/** Extracts the `TOOLS` type parameter from a `UIMessage` type. */
|
|
309
|
+
type ToolsOf<UI_MESSAGE> = UI_MESSAGE extends UIMessage<unknown, UIDataTypes, infer TOOLS> ? TOOLS : UITools;
|
|
310
|
+
/**
|
|
311
|
+
* Binds the UI builders to a concrete `UIMessage` type, so `data`/`tool`/`messageMetadata` and message
|
|
312
|
+
* metadata infer their names and payloads from that type. Returns typed `UIParts`, `UIChunks`, and
|
|
313
|
+
* `UIMessages` namespaces; for loose, untyped builders use the top-level exports instead.
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* const { UIParts, UIChunks, UIMessages } = fromUIMessage<MyUIMessage>();
|
|
317
|
+
* UIChunks.data('weather', { city: 'Tokyo' }); // name and payload typed
|
|
318
|
+
* UIMessages.assistant([UIParts.text('hi')]);
|
|
319
|
+
*/
|
|
320
|
+
declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
|
|
321
|
+
UIParts: {
|
|
322
|
+
text: (text: string, opts?: (Exclude<"text" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
323
|
+
type: "text";
|
|
324
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
325
|
+
type: "text";
|
|
326
|
+
}>, "text" | "type"> | Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
327
|
+
type: "text";
|
|
328
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
329
|
+
type: "text";
|
|
330
|
+
}>, "text" | "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
331
|
+
type: "text";
|
|
332
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
333
|
+
type: "text";
|
|
334
|
+
}>, "text" | "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
335
|
+
type: "text";
|
|
336
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
337
|
+
type: "text";
|
|
338
|
+
}>, "text" | "type"> extends infer T extends keyof (ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
339
|
+
type: "text";
|
|
340
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
341
|
+
type: "text";
|
|
342
|
+
}>) ? { [P in T]: (ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
343
|
+
type: "text";
|
|
344
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
345
|
+
type: "text";
|
|
346
|
+
}>)[P] } : never) | undefined) => ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
347
|
+
type: "text";
|
|
348
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
349
|
+
type: "text";
|
|
350
|
+
}>;
|
|
351
|
+
reasoning: (text: string, opts?: (Exclude<"text" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
352
|
+
type: "reasoning";
|
|
353
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
354
|
+
type: "reasoning";
|
|
355
|
+
}>, "text" | "type"> | Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
356
|
+
type: "reasoning";
|
|
357
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
358
|
+
type: "reasoning";
|
|
359
|
+
}>, "text" | "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
360
|
+
type: "reasoning";
|
|
361
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
362
|
+
type: "reasoning";
|
|
363
|
+
}>, "text" | "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
364
|
+
type: "reasoning";
|
|
365
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
366
|
+
type: "reasoning";
|
|
367
|
+
}>, "text" | "type"> extends infer T extends keyof (ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
368
|
+
type: "reasoning";
|
|
369
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
370
|
+
type: "reasoning";
|
|
371
|
+
}>) ? { [P in T]: (ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
372
|
+
type: "reasoning";
|
|
373
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
374
|
+
type: "reasoning";
|
|
375
|
+
}>)[P] } : never) | undefined) => ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
376
|
+
type: "reasoning";
|
|
377
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
378
|
+
type: "reasoning";
|
|
379
|
+
}>;
|
|
380
|
+
sourceUrl: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
381
|
+
type: "source-url";
|
|
382
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
383
|
+
type: "source-url";
|
|
384
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
385
|
+
type: "source-url";
|
|
386
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
387
|
+
type: "source-url";
|
|
388
|
+
}>, "type"> | Exclude<"sourceId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
389
|
+
type: "source-url";
|
|
390
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
391
|
+
type: "source-url";
|
|
392
|
+
}>, "type"> | Exclude<"url" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
393
|
+
type: "source-url";
|
|
394
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
395
|
+
type: "source-url";
|
|
396
|
+
}>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
397
|
+
type: "source-url";
|
|
398
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
399
|
+
type: "source-url";
|
|
400
|
+
}>, "type"> extends infer T extends keyof (ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
401
|
+
type: "source-url";
|
|
402
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
403
|
+
type: "source-url";
|
|
404
|
+
}>) ? { [P in T]: (ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
405
|
+
type: "source-url";
|
|
406
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
407
|
+
type: "source-url";
|
|
408
|
+
}>)[P] } : never) => ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
409
|
+
type: "source-url";
|
|
410
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
411
|
+
type: "source-url";
|
|
412
|
+
}>;
|
|
413
|
+
sourceDocument: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
414
|
+
type: "source-document";
|
|
415
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
416
|
+
type: "source-document";
|
|
417
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
418
|
+
type: "source-document";
|
|
419
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
420
|
+
type: "source-document";
|
|
421
|
+
}>, "type"> | Exclude<"sourceId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
422
|
+
type: "source-document";
|
|
423
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
424
|
+
type: "source-document";
|
|
425
|
+
}>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
426
|
+
type: "source-document";
|
|
427
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
428
|
+
type: "source-document";
|
|
429
|
+
}>, "type"> | Exclude<"mediaType" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
430
|
+
type: "source-document";
|
|
431
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
432
|
+
type: "source-document";
|
|
433
|
+
}>, "type"> | Exclude<"filename" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
434
|
+
type: "source-document";
|
|
435
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
436
|
+
type: "source-document";
|
|
437
|
+
}>, "type"> extends infer T extends keyof (ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
438
|
+
type: "source-document";
|
|
439
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
440
|
+
type: "source-document";
|
|
441
|
+
}>) ? { [P in T]: (ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
442
|
+
type: "source-document";
|
|
443
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
444
|
+
type: "source-document";
|
|
445
|
+
}>)[P] } : never) => ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
446
|
+
type: "source-document";
|
|
447
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
448
|
+
type: "source-document";
|
|
449
|
+
}>;
|
|
450
|
+
file: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
451
|
+
type: "file";
|
|
452
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
453
|
+
type: "file";
|
|
454
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
455
|
+
type: "file";
|
|
456
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
457
|
+
type: "file";
|
|
458
|
+
}>, "type"> | Exclude<"url" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
459
|
+
type: "file";
|
|
460
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
461
|
+
type: "file";
|
|
462
|
+
}>, "type"> | Exclude<"mediaType" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
463
|
+
type: "file";
|
|
464
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
465
|
+
type: "file";
|
|
466
|
+
}>, "type"> | Exclude<"filename" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
467
|
+
type: "file";
|
|
468
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
469
|
+
type: "file";
|
|
470
|
+
}>, "type"> extends infer T extends keyof (ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
471
|
+
type: "file";
|
|
472
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
473
|
+
type: "file";
|
|
474
|
+
}>) ? { [P in T]: (ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
475
|
+
type: "file";
|
|
476
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
477
|
+
type: "file";
|
|
478
|
+
}>)[P] } : never) => ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
479
|
+
type: "file";
|
|
480
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
481
|
+
type: "file";
|
|
482
|
+
}>;
|
|
483
|
+
stepStart: () => ai.StepStartUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
484
|
+
type: "step-start";
|
|
485
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
486
|
+
type: "step-start";
|
|
487
|
+
}>;
|
|
488
|
+
data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
|
|
489
|
+
id?: string;
|
|
490
|
+
}) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
491
|
+
tool: <NAME extends keyof ToolsOf<UI_MESSAGE> & string>(name: NAME, invocation: ai.UIToolInvocation<ToolsOf<UI_MESSAGE>[NAME]>) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
492
|
+
dynamicTool: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
493
|
+
type: "dynamic-tool";
|
|
494
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
495
|
+
type: "dynamic-tool";
|
|
496
|
+
}>, "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
497
|
+
type: "dynamic-tool";
|
|
498
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
499
|
+
type: "dynamic-tool";
|
|
500
|
+
}>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
501
|
+
type: "dynamic-tool";
|
|
502
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
503
|
+
type: "dynamic-tool";
|
|
504
|
+
}>, "type"> | Exclude<"toolName" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
505
|
+
type: "dynamic-tool";
|
|
506
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
507
|
+
type: "dynamic-tool";
|
|
508
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
509
|
+
type: "dynamic-tool";
|
|
510
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
511
|
+
type: "dynamic-tool";
|
|
512
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
513
|
+
type: "dynamic-tool";
|
|
514
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
515
|
+
type: "dynamic-tool";
|
|
516
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
517
|
+
type: "dynamic-tool";
|
|
518
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
519
|
+
type: "dynamic-tool";
|
|
520
|
+
}>, "type"> | Exclude<"input" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
521
|
+
type: "dynamic-tool";
|
|
522
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
523
|
+
type: "dynamic-tool";
|
|
524
|
+
}>, "type"> | Exclude<"output" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
525
|
+
type: "dynamic-tool";
|
|
526
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
527
|
+
type: "dynamic-tool";
|
|
528
|
+
}>, "type"> | Exclude<"errorText" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
529
|
+
type: "dynamic-tool";
|
|
530
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
531
|
+
type: "dynamic-tool";
|
|
532
|
+
}>, "type"> | Exclude<"callProviderMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
533
|
+
type: "dynamic-tool";
|
|
534
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
535
|
+
type: "dynamic-tool";
|
|
536
|
+
}>, "type"> | Exclude<"approval" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
537
|
+
type: "dynamic-tool";
|
|
538
|
+
}> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
539
|
+
type: "dynamic-tool";
|
|
540
|
+
}>, "type"> extends infer T extends keyof (({
|
|
541
|
+
type: "dynamic-tool";
|
|
542
|
+
toolName: string;
|
|
543
|
+
toolCallId: string;
|
|
544
|
+
title?: string;
|
|
545
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
546
|
+
providerExecuted?: boolean;
|
|
547
|
+
} & {
|
|
548
|
+
state: "input-streaming";
|
|
549
|
+
input?: unknown;
|
|
550
|
+
output?: never;
|
|
551
|
+
errorText?: never;
|
|
552
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
553
|
+
approval?: never;
|
|
554
|
+
}) | ({
|
|
555
|
+
type: "dynamic-tool";
|
|
556
|
+
toolName: string;
|
|
557
|
+
toolCallId: string;
|
|
558
|
+
title?: string;
|
|
559
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
560
|
+
providerExecuted?: boolean;
|
|
561
|
+
} & {
|
|
562
|
+
state: "input-available";
|
|
563
|
+
input: unknown;
|
|
564
|
+
output?: never;
|
|
565
|
+
errorText?: never;
|
|
566
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
567
|
+
approval?: never;
|
|
568
|
+
}) | ({
|
|
569
|
+
type: "dynamic-tool";
|
|
570
|
+
toolName: string;
|
|
571
|
+
toolCallId: string;
|
|
572
|
+
title?: string;
|
|
573
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
574
|
+
providerExecuted?: boolean;
|
|
575
|
+
} & {
|
|
576
|
+
state: "approval-requested";
|
|
577
|
+
input: unknown;
|
|
578
|
+
output?: never;
|
|
579
|
+
errorText?: never;
|
|
580
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
581
|
+
approval: {
|
|
582
|
+
id: string;
|
|
583
|
+
approved?: never;
|
|
584
|
+
reason?: never;
|
|
585
|
+
};
|
|
586
|
+
}) | ({
|
|
587
|
+
type: "dynamic-tool";
|
|
588
|
+
toolName: string;
|
|
589
|
+
toolCallId: string;
|
|
590
|
+
title?: string;
|
|
591
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
592
|
+
providerExecuted?: boolean;
|
|
593
|
+
} & {
|
|
594
|
+
state: "approval-responded";
|
|
595
|
+
input: unknown;
|
|
596
|
+
output?: never;
|
|
597
|
+
errorText?: never;
|
|
598
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
599
|
+
approval: {
|
|
600
|
+
id: string;
|
|
601
|
+
approved: boolean;
|
|
602
|
+
reason?: string;
|
|
603
|
+
};
|
|
604
|
+
}) | ({
|
|
605
|
+
type: "dynamic-tool";
|
|
606
|
+
toolName: string;
|
|
607
|
+
toolCallId: string;
|
|
608
|
+
title?: string;
|
|
609
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
610
|
+
providerExecuted?: boolean;
|
|
611
|
+
} & {
|
|
612
|
+
state: "output-available";
|
|
613
|
+
input: unknown;
|
|
614
|
+
output: unknown;
|
|
615
|
+
errorText?: never;
|
|
616
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
617
|
+
resultProviderMetadata?: ai.ProviderMetadata;
|
|
618
|
+
preliminary?: boolean;
|
|
619
|
+
approval?: {
|
|
620
|
+
id: string;
|
|
621
|
+
approved: true;
|
|
622
|
+
reason?: string;
|
|
623
|
+
};
|
|
624
|
+
}) | ({
|
|
625
|
+
type: "dynamic-tool";
|
|
626
|
+
toolName: string;
|
|
627
|
+
toolCallId: string;
|
|
628
|
+
title?: string;
|
|
629
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
630
|
+
providerExecuted?: boolean;
|
|
631
|
+
} & {
|
|
632
|
+
state: "output-error";
|
|
633
|
+
input: unknown;
|
|
634
|
+
output?: never;
|
|
635
|
+
errorText: string;
|
|
636
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
637
|
+
resultProviderMetadata?: ai.ProviderMetadata;
|
|
638
|
+
approval?: {
|
|
639
|
+
id: string;
|
|
640
|
+
approved: true;
|
|
641
|
+
reason?: string;
|
|
642
|
+
};
|
|
643
|
+
}) | ({
|
|
644
|
+
type: "dynamic-tool";
|
|
645
|
+
toolName: string;
|
|
646
|
+
toolCallId: string;
|
|
647
|
+
title?: string;
|
|
648
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
649
|
+
providerExecuted?: boolean;
|
|
650
|
+
} & {
|
|
651
|
+
state: "output-denied";
|
|
652
|
+
input: unknown;
|
|
653
|
+
output?: never;
|
|
654
|
+
errorText?: never;
|
|
655
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
656
|
+
approval: {
|
|
657
|
+
id: string;
|
|
658
|
+
approved: false;
|
|
659
|
+
reason?: string;
|
|
660
|
+
};
|
|
661
|
+
}) | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
662
|
+
type: "dynamic-tool";
|
|
663
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
664
|
+
type: "dynamic-tool";
|
|
665
|
+
}>) ? { [P in T]: (({
|
|
666
|
+
type: "dynamic-tool";
|
|
667
|
+
toolName: string;
|
|
668
|
+
toolCallId: string;
|
|
669
|
+
title?: string;
|
|
670
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
671
|
+
providerExecuted?: boolean;
|
|
672
|
+
} & {
|
|
673
|
+
state: "input-streaming";
|
|
674
|
+
input?: unknown;
|
|
675
|
+
output?: never;
|
|
676
|
+
errorText?: never;
|
|
677
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
678
|
+
approval?: never;
|
|
679
|
+
}) | ({
|
|
680
|
+
type: "dynamic-tool";
|
|
681
|
+
toolName: string;
|
|
682
|
+
toolCallId: string;
|
|
683
|
+
title?: string;
|
|
684
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
685
|
+
providerExecuted?: boolean;
|
|
686
|
+
} & {
|
|
687
|
+
state: "input-available";
|
|
688
|
+
input: unknown;
|
|
689
|
+
output?: never;
|
|
690
|
+
errorText?: never;
|
|
691
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
692
|
+
approval?: never;
|
|
693
|
+
}) | ({
|
|
694
|
+
type: "dynamic-tool";
|
|
695
|
+
toolName: string;
|
|
696
|
+
toolCallId: string;
|
|
697
|
+
title?: string;
|
|
698
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
699
|
+
providerExecuted?: boolean;
|
|
700
|
+
} & {
|
|
701
|
+
state: "approval-requested";
|
|
702
|
+
input: unknown;
|
|
703
|
+
output?: never;
|
|
704
|
+
errorText?: never;
|
|
705
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
706
|
+
approval: {
|
|
707
|
+
id: string;
|
|
708
|
+
approved?: never;
|
|
709
|
+
reason?: never;
|
|
710
|
+
};
|
|
711
|
+
}) | ({
|
|
712
|
+
type: "dynamic-tool";
|
|
713
|
+
toolName: string;
|
|
714
|
+
toolCallId: string;
|
|
715
|
+
title?: string;
|
|
716
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
717
|
+
providerExecuted?: boolean;
|
|
718
|
+
} & {
|
|
719
|
+
state: "approval-responded";
|
|
720
|
+
input: unknown;
|
|
721
|
+
output?: never;
|
|
722
|
+
errorText?: never;
|
|
723
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
724
|
+
approval: {
|
|
725
|
+
id: string;
|
|
726
|
+
approved: boolean;
|
|
727
|
+
reason?: string;
|
|
728
|
+
};
|
|
729
|
+
}) | ({
|
|
730
|
+
type: "dynamic-tool";
|
|
731
|
+
toolName: string;
|
|
732
|
+
toolCallId: string;
|
|
733
|
+
title?: string;
|
|
734
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
735
|
+
providerExecuted?: boolean;
|
|
736
|
+
} & {
|
|
737
|
+
state: "output-available";
|
|
738
|
+
input: unknown;
|
|
739
|
+
output: unknown;
|
|
740
|
+
errorText?: never;
|
|
741
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
742
|
+
resultProviderMetadata?: ai.ProviderMetadata;
|
|
743
|
+
preliminary?: boolean;
|
|
744
|
+
approval?: {
|
|
745
|
+
id: string;
|
|
746
|
+
approved: true;
|
|
747
|
+
reason?: string;
|
|
748
|
+
};
|
|
749
|
+
}) | ({
|
|
750
|
+
type: "dynamic-tool";
|
|
751
|
+
toolName: string;
|
|
752
|
+
toolCallId: string;
|
|
753
|
+
title?: string;
|
|
754
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
755
|
+
providerExecuted?: boolean;
|
|
756
|
+
} & {
|
|
757
|
+
state: "output-error";
|
|
758
|
+
input: unknown;
|
|
759
|
+
output?: never;
|
|
760
|
+
errorText: string;
|
|
761
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
762
|
+
resultProviderMetadata?: ai.ProviderMetadata;
|
|
763
|
+
approval?: {
|
|
764
|
+
id: string;
|
|
765
|
+
approved: true;
|
|
766
|
+
reason?: string;
|
|
767
|
+
};
|
|
768
|
+
}) | ({
|
|
769
|
+
type: "dynamic-tool";
|
|
770
|
+
toolName: string;
|
|
771
|
+
toolCallId: string;
|
|
772
|
+
title?: string;
|
|
773
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
774
|
+
providerExecuted?: boolean;
|
|
775
|
+
} & {
|
|
776
|
+
state: "output-denied";
|
|
777
|
+
input: unknown;
|
|
778
|
+
output?: never;
|
|
779
|
+
errorText?: never;
|
|
780
|
+
callProviderMetadata?: ai.ProviderMetadata;
|
|
781
|
+
approval: {
|
|
782
|
+
id: string;
|
|
783
|
+
approved: false;
|
|
784
|
+
reason?: string;
|
|
785
|
+
};
|
|
786
|
+
}) | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
|
|
787
|
+
type: "dynamic-tool";
|
|
788
|
+
}> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
|
|
789
|
+
type: "dynamic-tool";
|
|
790
|
+
}>)[P] } : never) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
791
|
+
};
|
|
792
|
+
UIChunks: {
|
|
793
|
+
textStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
794
|
+
type: `data-${NAME}`;
|
|
795
|
+
id?: string;
|
|
796
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
797
|
+
transient?: boolean;
|
|
798
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
799
|
+
type: "text-start";
|
|
800
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
801
|
+
type: `data-${NAME}`;
|
|
802
|
+
id?: string;
|
|
803
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
804
|
+
transient?: boolean;
|
|
805
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
806
|
+
type: "text-start";
|
|
807
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
808
|
+
type: `data-${NAME}`;
|
|
809
|
+
id?: string;
|
|
810
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
811
|
+
transient?: boolean;
|
|
812
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
813
|
+
type: "text-start";
|
|
814
|
+
}>, "type"> extends infer T extends keyof ({
|
|
815
|
+
type: "text-start";
|
|
816
|
+
id: string;
|
|
817
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
818
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
819
|
+
type: `data-${NAME}`;
|
|
820
|
+
id?: string;
|
|
821
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
822
|
+
transient?: boolean;
|
|
823
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
824
|
+
type: "text-start";
|
|
825
|
+
}>) ? { [P in T]: ({
|
|
826
|
+
type: "text-start";
|
|
827
|
+
id: string;
|
|
828
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
829
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
830
|
+
type: `data-${NAME}`;
|
|
831
|
+
id?: string;
|
|
832
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
833
|
+
transient?: boolean;
|
|
834
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
835
|
+
type: "text-start";
|
|
836
|
+
}>)[P] } : never) => {
|
|
837
|
+
type: "text-start";
|
|
838
|
+
id: string;
|
|
839
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
840
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
841
|
+
type: `data-${NAME}`;
|
|
842
|
+
id?: string;
|
|
843
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
844
|
+
transient?: boolean;
|
|
845
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
846
|
+
type: "text-start";
|
|
847
|
+
}>;
|
|
848
|
+
textDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
849
|
+
type: `data-${NAME}`;
|
|
850
|
+
id?: string;
|
|
851
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
852
|
+
transient?: boolean;
|
|
853
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
854
|
+
type: "text-delta";
|
|
855
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
856
|
+
type: `data-${NAME}`;
|
|
857
|
+
id?: string;
|
|
858
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
859
|
+
transient?: boolean;
|
|
860
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
861
|
+
type: "text-delta";
|
|
862
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
863
|
+
type: `data-${NAME}`;
|
|
864
|
+
id?: string;
|
|
865
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
866
|
+
transient?: boolean;
|
|
867
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
868
|
+
type: "text-delta";
|
|
869
|
+
}>, "type"> | Exclude<"delta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
870
|
+
type: `data-${NAME}`;
|
|
871
|
+
id?: string;
|
|
872
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
873
|
+
transient?: boolean;
|
|
874
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
875
|
+
type: "text-delta";
|
|
876
|
+
}>, "type"> extends infer T extends keyof ({
|
|
877
|
+
type: "text-delta";
|
|
878
|
+
delta: string;
|
|
879
|
+
id: string;
|
|
880
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
881
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
882
|
+
type: `data-${NAME}`;
|
|
883
|
+
id?: string;
|
|
884
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
885
|
+
transient?: boolean;
|
|
886
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
887
|
+
type: "text-delta";
|
|
888
|
+
}>) ? { [P in T]: ({
|
|
889
|
+
type: "text-delta";
|
|
890
|
+
delta: string;
|
|
891
|
+
id: string;
|
|
892
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
893
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
894
|
+
type: `data-${NAME}`;
|
|
895
|
+
id?: string;
|
|
896
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
897
|
+
transient?: boolean;
|
|
898
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
899
|
+
type: "text-delta";
|
|
900
|
+
}>)[P] } : never) => {
|
|
901
|
+
type: "text-delta";
|
|
902
|
+
delta: string;
|
|
903
|
+
id: string;
|
|
904
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
905
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
906
|
+
type: `data-${NAME}`;
|
|
907
|
+
id?: string;
|
|
908
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
909
|
+
transient?: boolean;
|
|
910
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
911
|
+
type: "text-delta";
|
|
912
|
+
}>;
|
|
913
|
+
textEnd: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
914
|
+
type: `data-${NAME}`;
|
|
915
|
+
id?: string;
|
|
916
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
917
|
+
transient?: boolean;
|
|
918
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
919
|
+
type: "text-end";
|
|
920
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
921
|
+
type: `data-${NAME}`;
|
|
922
|
+
id?: string;
|
|
923
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
924
|
+
transient?: boolean;
|
|
925
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
926
|
+
type: "text-end";
|
|
927
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
928
|
+
type: `data-${NAME}`;
|
|
929
|
+
id?: string;
|
|
930
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
931
|
+
transient?: boolean;
|
|
932
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
933
|
+
type: "text-end";
|
|
934
|
+
}>, "type"> extends infer T extends keyof ({
|
|
935
|
+
type: "text-end";
|
|
936
|
+
id: string;
|
|
937
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
938
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
939
|
+
type: `data-${NAME}`;
|
|
940
|
+
id?: string;
|
|
941
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
942
|
+
transient?: boolean;
|
|
943
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
944
|
+
type: "text-end";
|
|
945
|
+
}>) ? { [P in T]: ({
|
|
946
|
+
type: "text-end";
|
|
947
|
+
id: string;
|
|
948
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
949
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
950
|
+
type: `data-${NAME}`;
|
|
951
|
+
id?: string;
|
|
952
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
953
|
+
transient?: boolean;
|
|
954
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
955
|
+
type: "text-end";
|
|
956
|
+
}>)[P] } : never) => {
|
|
957
|
+
type: "text-end";
|
|
958
|
+
id: string;
|
|
959
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
960
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
961
|
+
type: `data-${NAME}`;
|
|
962
|
+
id?: string;
|
|
963
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
964
|
+
transient?: boolean;
|
|
965
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
966
|
+
type: "text-end";
|
|
967
|
+
}>;
|
|
968
|
+
reasoningStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
969
|
+
type: `data-${NAME}`;
|
|
970
|
+
id?: string;
|
|
971
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
972
|
+
transient?: boolean;
|
|
973
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
974
|
+
type: "reasoning-start";
|
|
975
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
976
|
+
type: `data-${NAME}`;
|
|
977
|
+
id?: string;
|
|
978
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
979
|
+
transient?: boolean;
|
|
980
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
981
|
+
type: "reasoning-start";
|
|
982
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
983
|
+
type: `data-${NAME}`;
|
|
984
|
+
id?: string;
|
|
985
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
986
|
+
transient?: boolean;
|
|
987
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
988
|
+
type: "reasoning-start";
|
|
989
|
+
}>, "type"> extends infer T extends keyof ({
|
|
990
|
+
type: "reasoning-start";
|
|
991
|
+
id: string;
|
|
992
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
993
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
994
|
+
type: `data-${NAME}`;
|
|
995
|
+
id?: string;
|
|
996
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
997
|
+
transient?: boolean;
|
|
998
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
999
|
+
type: "reasoning-start";
|
|
1000
|
+
}>) ? { [P in T]: ({
|
|
1001
|
+
type: "reasoning-start";
|
|
1002
|
+
id: string;
|
|
1003
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1004
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1005
|
+
type: `data-${NAME}`;
|
|
1006
|
+
id?: string;
|
|
1007
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1008
|
+
transient?: boolean;
|
|
1009
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1010
|
+
type: "reasoning-start";
|
|
1011
|
+
}>)[P] } : never) => {
|
|
1012
|
+
type: "reasoning-start";
|
|
1013
|
+
id: string;
|
|
1014
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1015
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1016
|
+
type: `data-${NAME}`;
|
|
1017
|
+
id?: string;
|
|
1018
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1019
|
+
transient?: boolean;
|
|
1020
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1021
|
+
type: "reasoning-start";
|
|
1022
|
+
}>;
|
|
1023
|
+
reasoningDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1024
|
+
type: `data-${NAME}`;
|
|
1025
|
+
id?: string;
|
|
1026
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1027
|
+
transient?: boolean;
|
|
1028
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1029
|
+
type: "reasoning-delta";
|
|
1030
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1031
|
+
type: `data-${NAME}`;
|
|
1032
|
+
id?: string;
|
|
1033
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1034
|
+
transient?: boolean;
|
|
1035
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1036
|
+
type: "reasoning-delta";
|
|
1037
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1038
|
+
type: `data-${NAME}`;
|
|
1039
|
+
id?: string;
|
|
1040
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1041
|
+
transient?: boolean;
|
|
1042
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1043
|
+
type: "reasoning-delta";
|
|
1044
|
+
}>, "type"> | Exclude<"delta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1045
|
+
type: `data-${NAME}`;
|
|
1046
|
+
id?: string;
|
|
1047
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1048
|
+
transient?: boolean;
|
|
1049
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1050
|
+
type: "reasoning-delta";
|
|
1051
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1052
|
+
type: "reasoning-delta";
|
|
1053
|
+
id: string;
|
|
1054
|
+
delta: string;
|
|
1055
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1056
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1057
|
+
type: `data-${NAME}`;
|
|
1058
|
+
id?: string;
|
|
1059
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1060
|
+
transient?: boolean;
|
|
1061
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1062
|
+
type: "reasoning-delta";
|
|
1063
|
+
}>) ? { [P in T]: ({
|
|
1064
|
+
type: "reasoning-delta";
|
|
1065
|
+
id: string;
|
|
1066
|
+
delta: string;
|
|
1067
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1068
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1069
|
+
type: `data-${NAME}`;
|
|
1070
|
+
id?: string;
|
|
1071
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1072
|
+
transient?: boolean;
|
|
1073
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1074
|
+
type: "reasoning-delta";
|
|
1075
|
+
}>)[P] } : never) => {
|
|
1076
|
+
type: "reasoning-delta";
|
|
1077
|
+
id: string;
|
|
1078
|
+
delta: string;
|
|
1079
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1080
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1081
|
+
type: `data-${NAME}`;
|
|
1082
|
+
id?: string;
|
|
1083
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1084
|
+
transient?: boolean;
|
|
1085
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1086
|
+
type: "reasoning-delta";
|
|
1087
|
+
}>;
|
|
1088
|
+
reasoningEnd: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1089
|
+
type: `data-${NAME}`;
|
|
1090
|
+
id?: string;
|
|
1091
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1092
|
+
transient?: boolean;
|
|
1093
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1094
|
+
type: "reasoning-end";
|
|
1095
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1096
|
+
type: `data-${NAME}`;
|
|
1097
|
+
id?: string;
|
|
1098
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1099
|
+
transient?: boolean;
|
|
1100
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1101
|
+
type: "reasoning-end";
|
|
1102
|
+
}>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1103
|
+
type: `data-${NAME}`;
|
|
1104
|
+
id?: string;
|
|
1105
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1106
|
+
transient?: boolean;
|
|
1107
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1108
|
+
type: "reasoning-end";
|
|
1109
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1110
|
+
type: "reasoning-end";
|
|
1111
|
+
id: string;
|
|
1112
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1113
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1114
|
+
type: `data-${NAME}`;
|
|
1115
|
+
id?: string;
|
|
1116
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1117
|
+
transient?: boolean;
|
|
1118
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1119
|
+
type: "reasoning-end";
|
|
1120
|
+
}>) ? { [P in T]: ({
|
|
1121
|
+
type: "reasoning-end";
|
|
1122
|
+
id: string;
|
|
1123
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1124
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1125
|
+
type: `data-${NAME}`;
|
|
1126
|
+
id?: string;
|
|
1127
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1128
|
+
transient?: boolean;
|
|
1129
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1130
|
+
type: "reasoning-end";
|
|
1131
|
+
}>)[P] } : never) => {
|
|
1132
|
+
type: "reasoning-end";
|
|
1133
|
+
id: string;
|
|
1134
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1135
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1136
|
+
type: `data-${NAME}`;
|
|
1137
|
+
id?: string;
|
|
1138
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1139
|
+
transient?: boolean;
|
|
1140
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1141
|
+
type: "reasoning-end";
|
|
1142
|
+
}>;
|
|
1143
|
+
error: (errorText: string) => {
|
|
1144
|
+
type: "error";
|
|
1145
|
+
errorText: string;
|
|
1146
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1147
|
+
type: `data-${NAME}`;
|
|
1148
|
+
id?: string;
|
|
1149
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1150
|
+
transient?: boolean;
|
|
1151
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1152
|
+
type: "error";
|
|
1153
|
+
}>;
|
|
1154
|
+
toolInputStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1155
|
+
type: `data-${NAME}`;
|
|
1156
|
+
id?: string;
|
|
1157
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1158
|
+
transient?: boolean;
|
|
1159
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1160
|
+
type: "tool-input-start";
|
|
1161
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1162
|
+
type: `data-${NAME}`;
|
|
1163
|
+
id?: string;
|
|
1164
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1165
|
+
transient?: boolean;
|
|
1166
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1167
|
+
type: "tool-input-start";
|
|
1168
|
+
}>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1169
|
+
type: `data-${NAME}`;
|
|
1170
|
+
id?: string;
|
|
1171
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1172
|
+
transient?: boolean;
|
|
1173
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1174
|
+
type: "tool-input-start";
|
|
1175
|
+
}>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1176
|
+
type: `data-${NAME}`;
|
|
1177
|
+
id?: string;
|
|
1178
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1179
|
+
transient?: boolean;
|
|
1180
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1181
|
+
type: "tool-input-start";
|
|
1182
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1183
|
+
type: `data-${NAME}`;
|
|
1184
|
+
id?: string;
|
|
1185
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1186
|
+
transient?: boolean;
|
|
1187
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1188
|
+
type: "tool-input-start";
|
|
1189
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1190
|
+
type: `data-${NAME}`;
|
|
1191
|
+
id?: string;
|
|
1192
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1193
|
+
transient?: boolean;
|
|
1194
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1195
|
+
type: "tool-input-start";
|
|
1196
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1197
|
+
type: `data-${NAME}`;
|
|
1198
|
+
id?: string;
|
|
1199
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1200
|
+
transient?: boolean;
|
|
1201
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1202
|
+
type: "tool-input-start";
|
|
1203
|
+
}>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1204
|
+
type: `data-${NAME}`;
|
|
1205
|
+
id?: string;
|
|
1206
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1207
|
+
transient?: boolean;
|
|
1208
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1209
|
+
type: "tool-input-start";
|
|
1210
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1211
|
+
type: "tool-input-start";
|
|
1212
|
+
toolCallId: string;
|
|
1213
|
+
toolName: string;
|
|
1214
|
+
providerExecuted?: boolean;
|
|
1215
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1216
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1217
|
+
dynamic?: boolean;
|
|
1218
|
+
title?: string;
|
|
1219
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1220
|
+
type: `data-${NAME}`;
|
|
1221
|
+
id?: string;
|
|
1222
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1223
|
+
transient?: boolean;
|
|
1224
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1225
|
+
type: "tool-input-start";
|
|
1226
|
+
}>) ? { [P in T]: ({
|
|
1227
|
+
type: "tool-input-start";
|
|
1228
|
+
toolCallId: string;
|
|
1229
|
+
toolName: string;
|
|
1230
|
+
providerExecuted?: boolean;
|
|
1231
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1232
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1233
|
+
dynamic?: boolean;
|
|
1234
|
+
title?: string;
|
|
1235
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1236
|
+
type: `data-${NAME}`;
|
|
1237
|
+
id?: string;
|
|
1238
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1239
|
+
transient?: boolean;
|
|
1240
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1241
|
+
type: "tool-input-start";
|
|
1242
|
+
}>)[P] } : never) => {
|
|
1243
|
+
type: "tool-input-start";
|
|
1244
|
+
toolCallId: string;
|
|
1245
|
+
toolName: string;
|
|
1246
|
+
providerExecuted?: boolean;
|
|
1247
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1248
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1249
|
+
dynamic?: boolean;
|
|
1250
|
+
title?: string;
|
|
1251
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1252
|
+
type: `data-${NAME}`;
|
|
1253
|
+
id?: string;
|
|
1254
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1255
|
+
transient?: boolean;
|
|
1256
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1257
|
+
type: "tool-input-start";
|
|
1258
|
+
}>;
|
|
1259
|
+
toolInputDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1260
|
+
type: `data-${NAME}`;
|
|
1261
|
+
id?: string;
|
|
1262
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1263
|
+
transient?: boolean;
|
|
1264
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1265
|
+
type: "tool-input-delta";
|
|
1266
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1267
|
+
type: `data-${NAME}`;
|
|
1268
|
+
id?: string;
|
|
1269
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1270
|
+
transient?: boolean;
|
|
1271
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1272
|
+
type: "tool-input-delta";
|
|
1273
|
+
}>, "type"> | Exclude<"inputTextDelta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1274
|
+
type: `data-${NAME}`;
|
|
1275
|
+
id?: string;
|
|
1276
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1277
|
+
transient?: boolean;
|
|
1278
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1279
|
+
type: "tool-input-delta";
|
|
1280
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1281
|
+
type: "tool-input-delta";
|
|
1282
|
+
toolCallId: string;
|
|
1283
|
+
inputTextDelta: string;
|
|
1284
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1285
|
+
type: `data-${NAME}`;
|
|
1286
|
+
id?: string;
|
|
1287
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1288
|
+
transient?: boolean;
|
|
1289
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1290
|
+
type: "tool-input-delta";
|
|
1291
|
+
}>) ? { [P in T]: ({
|
|
1292
|
+
type: "tool-input-delta";
|
|
1293
|
+
toolCallId: string;
|
|
1294
|
+
inputTextDelta: string;
|
|
1295
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1296
|
+
type: `data-${NAME}`;
|
|
1297
|
+
id?: string;
|
|
1298
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1299
|
+
transient?: boolean;
|
|
1300
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1301
|
+
type: "tool-input-delta";
|
|
1302
|
+
}>)[P] } : never) => {
|
|
1303
|
+
type: "tool-input-delta";
|
|
1304
|
+
toolCallId: string;
|
|
1305
|
+
inputTextDelta: string;
|
|
1306
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1307
|
+
type: `data-${NAME}`;
|
|
1308
|
+
id?: string;
|
|
1309
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1310
|
+
transient?: boolean;
|
|
1311
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1312
|
+
type: "tool-input-delta";
|
|
1313
|
+
}>;
|
|
1314
|
+
toolInputAvailable: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1315
|
+
type: `data-${NAME}`;
|
|
1316
|
+
id?: string;
|
|
1317
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1318
|
+
transient?: boolean;
|
|
1319
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1320
|
+
type: "tool-input-available";
|
|
1321
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1322
|
+
type: `data-${NAME}`;
|
|
1323
|
+
id?: string;
|
|
1324
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1325
|
+
transient?: boolean;
|
|
1326
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1327
|
+
type: "tool-input-available";
|
|
1328
|
+
}>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1329
|
+
type: `data-${NAME}`;
|
|
1330
|
+
id?: string;
|
|
1331
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1332
|
+
transient?: boolean;
|
|
1333
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1334
|
+
type: "tool-input-available";
|
|
1335
|
+
}>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1336
|
+
type: `data-${NAME}`;
|
|
1337
|
+
id?: string;
|
|
1338
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1339
|
+
transient?: boolean;
|
|
1340
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1341
|
+
type: "tool-input-available";
|
|
1342
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1343
|
+
type: `data-${NAME}`;
|
|
1344
|
+
id?: string;
|
|
1345
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1346
|
+
transient?: boolean;
|
|
1347
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1348
|
+
type: "tool-input-available";
|
|
1349
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1350
|
+
type: `data-${NAME}`;
|
|
1351
|
+
id?: string;
|
|
1352
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1353
|
+
transient?: boolean;
|
|
1354
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1355
|
+
type: "tool-input-available";
|
|
1356
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1357
|
+
type: `data-${NAME}`;
|
|
1358
|
+
id?: string;
|
|
1359
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1360
|
+
transient?: boolean;
|
|
1361
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1362
|
+
type: "tool-input-available";
|
|
1363
|
+
}>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1364
|
+
type: `data-${NAME}`;
|
|
1365
|
+
id?: string;
|
|
1366
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1367
|
+
transient?: boolean;
|
|
1368
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1369
|
+
type: "tool-input-available";
|
|
1370
|
+
}>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1371
|
+
type: `data-${NAME}`;
|
|
1372
|
+
id?: string;
|
|
1373
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1374
|
+
transient?: boolean;
|
|
1375
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1376
|
+
type: "tool-input-available";
|
|
1377
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1378
|
+
type: "tool-input-available";
|
|
1379
|
+
toolCallId: string;
|
|
1380
|
+
toolName: string;
|
|
1381
|
+
input: unknown;
|
|
1382
|
+
providerExecuted?: boolean;
|
|
1383
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1384
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1385
|
+
dynamic?: boolean;
|
|
1386
|
+
title?: string;
|
|
1387
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1388
|
+
type: `data-${NAME}`;
|
|
1389
|
+
id?: string;
|
|
1390
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1391
|
+
transient?: boolean;
|
|
1392
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1393
|
+
type: "tool-input-available";
|
|
1394
|
+
}>) ? { [P in T]: ({
|
|
1395
|
+
type: "tool-input-available";
|
|
1396
|
+
toolCallId: string;
|
|
1397
|
+
toolName: string;
|
|
1398
|
+
input: unknown;
|
|
1399
|
+
providerExecuted?: boolean;
|
|
1400
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1401
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1402
|
+
dynamic?: boolean;
|
|
1403
|
+
title?: string;
|
|
1404
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1405
|
+
type: `data-${NAME}`;
|
|
1406
|
+
id?: string;
|
|
1407
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1408
|
+
transient?: boolean;
|
|
1409
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1410
|
+
type: "tool-input-available";
|
|
1411
|
+
}>)[P] } : never) => {
|
|
1412
|
+
type: "tool-input-available";
|
|
1413
|
+
toolCallId: string;
|
|
1414
|
+
toolName: string;
|
|
1415
|
+
input: unknown;
|
|
1416
|
+
providerExecuted?: boolean;
|
|
1417
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1418
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1419
|
+
dynamic?: boolean;
|
|
1420
|
+
title?: string;
|
|
1421
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1422
|
+
type: `data-${NAME}`;
|
|
1423
|
+
id?: string;
|
|
1424
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1425
|
+
transient?: boolean;
|
|
1426
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1427
|
+
type: "tool-input-available";
|
|
1428
|
+
}>;
|
|
1429
|
+
toolInputError: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1430
|
+
type: `data-${NAME}`;
|
|
1431
|
+
id?: string;
|
|
1432
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1433
|
+
transient?: boolean;
|
|
1434
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1435
|
+
type: "tool-input-error";
|
|
1436
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1437
|
+
type: `data-${NAME}`;
|
|
1438
|
+
id?: string;
|
|
1439
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1440
|
+
transient?: boolean;
|
|
1441
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1442
|
+
type: "tool-input-error";
|
|
1443
|
+
}>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1444
|
+
type: `data-${NAME}`;
|
|
1445
|
+
id?: string;
|
|
1446
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1447
|
+
transient?: boolean;
|
|
1448
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1449
|
+
type: "tool-input-error";
|
|
1450
|
+
}>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1451
|
+
type: `data-${NAME}`;
|
|
1452
|
+
id?: string;
|
|
1453
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1454
|
+
transient?: boolean;
|
|
1455
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1456
|
+
type: "tool-input-error";
|
|
1457
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1458
|
+
type: `data-${NAME}`;
|
|
1459
|
+
id?: string;
|
|
1460
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1461
|
+
transient?: boolean;
|
|
1462
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1463
|
+
type: "tool-input-error";
|
|
1464
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1465
|
+
type: `data-${NAME}`;
|
|
1466
|
+
id?: string;
|
|
1467
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1468
|
+
transient?: boolean;
|
|
1469
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1470
|
+
type: "tool-input-error";
|
|
1471
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1472
|
+
type: `data-${NAME}`;
|
|
1473
|
+
id?: string;
|
|
1474
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1475
|
+
transient?: boolean;
|
|
1476
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1477
|
+
type: "tool-input-error";
|
|
1478
|
+
}>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1479
|
+
type: `data-${NAME}`;
|
|
1480
|
+
id?: string;
|
|
1481
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1482
|
+
transient?: boolean;
|
|
1483
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1484
|
+
type: "tool-input-error";
|
|
1485
|
+
}>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1486
|
+
type: `data-${NAME}`;
|
|
1487
|
+
id?: string;
|
|
1488
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1489
|
+
transient?: boolean;
|
|
1490
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1491
|
+
type: "tool-input-error";
|
|
1492
|
+
}>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1493
|
+
type: `data-${NAME}`;
|
|
1494
|
+
id?: string;
|
|
1495
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1496
|
+
transient?: boolean;
|
|
1497
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1498
|
+
type: "tool-input-error";
|
|
1499
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1500
|
+
type: "tool-input-error";
|
|
1501
|
+
toolCallId: string;
|
|
1502
|
+
toolName: string;
|
|
1503
|
+
input: unknown;
|
|
1504
|
+
providerExecuted?: boolean;
|
|
1505
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1506
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1507
|
+
dynamic?: boolean;
|
|
1508
|
+
errorText: string;
|
|
1509
|
+
title?: string;
|
|
1510
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1511
|
+
type: `data-${NAME}`;
|
|
1512
|
+
id?: string;
|
|
1513
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1514
|
+
transient?: boolean;
|
|
1515
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1516
|
+
type: "tool-input-error";
|
|
1517
|
+
}>) ? { [P in T]: ({
|
|
1518
|
+
type: "tool-input-error";
|
|
1519
|
+
toolCallId: string;
|
|
1520
|
+
toolName: string;
|
|
1521
|
+
input: unknown;
|
|
1522
|
+
providerExecuted?: boolean;
|
|
1523
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1524
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1525
|
+
dynamic?: boolean;
|
|
1526
|
+
errorText: string;
|
|
1527
|
+
title?: string;
|
|
1528
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1529
|
+
type: `data-${NAME}`;
|
|
1530
|
+
id?: string;
|
|
1531
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1532
|
+
transient?: boolean;
|
|
1533
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1534
|
+
type: "tool-input-error";
|
|
1535
|
+
}>)[P] } : never) => {
|
|
1536
|
+
type: "tool-input-error";
|
|
1537
|
+
toolCallId: string;
|
|
1538
|
+
toolName: string;
|
|
1539
|
+
input: unknown;
|
|
1540
|
+
providerExecuted?: boolean;
|
|
1541
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1542
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1543
|
+
dynamic?: boolean;
|
|
1544
|
+
errorText: string;
|
|
1545
|
+
title?: string;
|
|
1546
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1547
|
+
type: `data-${NAME}`;
|
|
1548
|
+
id?: string;
|
|
1549
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1550
|
+
transient?: boolean;
|
|
1551
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1552
|
+
type: "tool-input-error";
|
|
1553
|
+
}>;
|
|
1554
|
+
toolApprovalRequest: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1555
|
+
type: `data-${NAME}`;
|
|
1556
|
+
id?: string;
|
|
1557
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1558
|
+
transient?: boolean;
|
|
1559
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1560
|
+
type: "tool-approval-request";
|
|
1561
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1562
|
+
type: `data-${NAME}`;
|
|
1563
|
+
id?: string;
|
|
1564
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1565
|
+
transient?: boolean;
|
|
1566
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1567
|
+
type: "tool-approval-request";
|
|
1568
|
+
}>, "type"> | Exclude<"approvalId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1569
|
+
type: `data-${NAME}`;
|
|
1570
|
+
id?: string;
|
|
1571
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1572
|
+
transient?: boolean;
|
|
1573
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1574
|
+
type: "tool-approval-request";
|
|
1575
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1576
|
+
type: "tool-approval-request";
|
|
1577
|
+
approvalId: string;
|
|
1578
|
+
toolCallId: string;
|
|
1579
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1580
|
+
type: `data-${NAME}`;
|
|
1581
|
+
id?: string;
|
|
1582
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1583
|
+
transient?: boolean;
|
|
1584
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1585
|
+
type: "tool-approval-request";
|
|
1586
|
+
}>) ? { [P in T]: ({
|
|
1587
|
+
type: "tool-approval-request";
|
|
1588
|
+
approvalId: string;
|
|
1589
|
+
toolCallId: string;
|
|
1590
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1591
|
+
type: `data-${NAME}`;
|
|
1592
|
+
id?: string;
|
|
1593
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1594
|
+
transient?: boolean;
|
|
1595
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1596
|
+
type: "tool-approval-request";
|
|
1597
|
+
}>)[P] } : never) => {
|
|
1598
|
+
type: "tool-approval-request";
|
|
1599
|
+
approvalId: string;
|
|
1600
|
+
toolCallId: string;
|
|
1601
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1602
|
+
type: `data-${NAME}`;
|
|
1603
|
+
id?: string;
|
|
1604
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1605
|
+
transient?: boolean;
|
|
1606
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1607
|
+
type: "tool-approval-request";
|
|
1608
|
+
}>;
|
|
1609
|
+
toolOutputAvailable: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1610
|
+
type: `data-${NAME}`;
|
|
1611
|
+
id?: string;
|
|
1612
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1613
|
+
transient?: boolean;
|
|
1614
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1615
|
+
type: "tool-output-available";
|
|
1616
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1617
|
+
type: `data-${NAME}`;
|
|
1618
|
+
id?: string;
|
|
1619
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1620
|
+
transient?: boolean;
|
|
1621
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1622
|
+
type: "tool-output-available";
|
|
1623
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1624
|
+
type: `data-${NAME}`;
|
|
1625
|
+
id?: string;
|
|
1626
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1627
|
+
transient?: boolean;
|
|
1628
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1629
|
+
type: "tool-output-available";
|
|
1630
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1631
|
+
type: `data-${NAME}`;
|
|
1632
|
+
id?: string;
|
|
1633
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1634
|
+
transient?: boolean;
|
|
1635
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1636
|
+
type: "tool-output-available";
|
|
1637
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1638
|
+
type: `data-${NAME}`;
|
|
1639
|
+
id?: string;
|
|
1640
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1641
|
+
transient?: boolean;
|
|
1642
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1643
|
+
type: "tool-output-available";
|
|
1644
|
+
}>, "type"> | Exclude<"output" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1645
|
+
type: `data-${NAME}`;
|
|
1646
|
+
id?: string;
|
|
1647
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1648
|
+
transient?: boolean;
|
|
1649
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1650
|
+
type: "tool-output-available";
|
|
1651
|
+
}>, "type"> | Exclude<"preliminary" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1652
|
+
type: `data-${NAME}`;
|
|
1653
|
+
id?: string;
|
|
1654
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1655
|
+
transient?: boolean;
|
|
1656
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1657
|
+
type: "tool-output-available";
|
|
1658
|
+
}>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1659
|
+
type: `data-${NAME}`;
|
|
1660
|
+
id?: string;
|
|
1661
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1662
|
+
transient?: boolean;
|
|
1663
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1664
|
+
type: "tool-output-available";
|
|
1665
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1666
|
+
type: "tool-output-available";
|
|
1667
|
+
toolCallId: string;
|
|
1668
|
+
output: unknown;
|
|
1669
|
+
providerExecuted?: boolean;
|
|
1670
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1671
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1672
|
+
dynamic?: boolean;
|
|
1673
|
+
preliminary?: boolean;
|
|
1674
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1675
|
+
type: `data-${NAME}`;
|
|
1676
|
+
id?: string;
|
|
1677
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1678
|
+
transient?: boolean;
|
|
1679
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1680
|
+
type: "tool-output-available";
|
|
1681
|
+
}>) ? { [P in T]: ({
|
|
1682
|
+
type: "tool-output-available";
|
|
1683
|
+
toolCallId: string;
|
|
1684
|
+
output: unknown;
|
|
1685
|
+
providerExecuted?: boolean;
|
|
1686
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1687
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1688
|
+
dynamic?: boolean;
|
|
1689
|
+
preliminary?: boolean;
|
|
1690
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1691
|
+
type: `data-${NAME}`;
|
|
1692
|
+
id?: string;
|
|
1693
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1694
|
+
transient?: boolean;
|
|
1695
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1696
|
+
type: "tool-output-available";
|
|
1697
|
+
}>)[P] } : never) => {
|
|
1698
|
+
type: "tool-output-available";
|
|
1699
|
+
toolCallId: string;
|
|
1700
|
+
output: unknown;
|
|
1701
|
+
providerExecuted?: boolean;
|
|
1702
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1703
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1704
|
+
dynamic?: boolean;
|
|
1705
|
+
preliminary?: boolean;
|
|
1706
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1707
|
+
type: `data-${NAME}`;
|
|
1708
|
+
id?: string;
|
|
1709
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1710
|
+
transient?: boolean;
|
|
1711
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1712
|
+
type: "tool-output-available";
|
|
1713
|
+
}>;
|
|
1714
|
+
toolOutputError: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1715
|
+
type: `data-${NAME}`;
|
|
1716
|
+
id?: string;
|
|
1717
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1718
|
+
transient?: boolean;
|
|
1719
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1720
|
+
type: "tool-output-error";
|
|
1721
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1722
|
+
type: `data-${NAME}`;
|
|
1723
|
+
id?: string;
|
|
1724
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1725
|
+
transient?: boolean;
|
|
1726
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1727
|
+
type: "tool-output-error";
|
|
1728
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1729
|
+
type: `data-${NAME}`;
|
|
1730
|
+
id?: string;
|
|
1731
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1732
|
+
transient?: boolean;
|
|
1733
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1734
|
+
type: "tool-output-error";
|
|
1735
|
+
}>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1736
|
+
type: `data-${NAME}`;
|
|
1737
|
+
id?: string;
|
|
1738
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1739
|
+
transient?: boolean;
|
|
1740
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1741
|
+
type: "tool-output-error";
|
|
1742
|
+
}>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1743
|
+
type: `data-${NAME}`;
|
|
1744
|
+
id?: string;
|
|
1745
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1746
|
+
transient?: boolean;
|
|
1747
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1748
|
+
type: "tool-output-error";
|
|
1749
|
+
}>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1750
|
+
type: `data-${NAME}`;
|
|
1751
|
+
id?: string;
|
|
1752
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1753
|
+
transient?: boolean;
|
|
1754
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1755
|
+
type: "tool-output-error";
|
|
1756
|
+
}>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1757
|
+
type: `data-${NAME}`;
|
|
1758
|
+
id?: string;
|
|
1759
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1760
|
+
transient?: boolean;
|
|
1761
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1762
|
+
type: "tool-output-error";
|
|
1763
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1764
|
+
type: "tool-output-error";
|
|
1765
|
+
toolCallId: string;
|
|
1766
|
+
errorText: string;
|
|
1767
|
+
providerExecuted?: boolean;
|
|
1768
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1769
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1770
|
+
dynamic?: boolean;
|
|
1771
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1772
|
+
type: `data-${NAME}`;
|
|
1773
|
+
id?: string;
|
|
1774
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1775
|
+
transient?: boolean;
|
|
1776
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1777
|
+
type: "tool-output-error";
|
|
1778
|
+
}>) ? { [P in T]: ({
|
|
1779
|
+
type: "tool-output-error";
|
|
1780
|
+
toolCallId: string;
|
|
1781
|
+
errorText: string;
|
|
1782
|
+
providerExecuted?: boolean;
|
|
1783
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1784
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1785
|
+
dynamic?: boolean;
|
|
1786
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1787
|
+
type: `data-${NAME}`;
|
|
1788
|
+
id?: string;
|
|
1789
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1790
|
+
transient?: boolean;
|
|
1791
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1792
|
+
type: "tool-output-error";
|
|
1793
|
+
}>)[P] } : never) => {
|
|
1794
|
+
type: "tool-output-error";
|
|
1795
|
+
toolCallId: string;
|
|
1796
|
+
errorText: string;
|
|
1797
|
+
providerExecuted?: boolean;
|
|
1798
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1799
|
+
toolMetadata?: _ai_sdk_provider0.JSONObject;
|
|
1800
|
+
dynamic?: boolean;
|
|
1801
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1802
|
+
type: `data-${NAME}`;
|
|
1803
|
+
id?: string;
|
|
1804
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1805
|
+
transient?: boolean;
|
|
1806
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1807
|
+
type: "tool-output-error";
|
|
1808
|
+
}>;
|
|
1809
|
+
toolOutputDenied: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1810
|
+
type: `data-${NAME}`;
|
|
1811
|
+
id?: string;
|
|
1812
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1813
|
+
transient?: boolean;
|
|
1814
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1815
|
+
type: "tool-output-denied";
|
|
1816
|
+
}>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1817
|
+
type: `data-${NAME}`;
|
|
1818
|
+
id?: string;
|
|
1819
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1820
|
+
transient?: boolean;
|
|
1821
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1822
|
+
type: "tool-output-denied";
|
|
1823
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1824
|
+
type: "tool-output-denied";
|
|
1825
|
+
toolCallId: string;
|
|
1826
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1827
|
+
type: `data-${NAME}`;
|
|
1828
|
+
id?: string;
|
|
1829
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1830
|
+
transient?: boolean;
|
|
1831
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1832
|
+
type: "tool-output-denied";
|
|
1833
|
+
}>) ? { [P in T]: ({
|
|
1834
|
+
type: "tool-output-denied";
|
|
1835
|
+
toolCallId: string;
|
|
1836
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1837
|
+
type: `data-${NAME}`;
|
|
1838
|
+
id?: string;
|
|
1839
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1840
|
+
transient?: boolean;
|
|
1841
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1842
|
+
type: "tool-output-denied";
|
|
1843
|
+
}>)[P] } : never) => {
|
|
1844
|
+
type: "tool-output-denied";
|
|
1845
|
+
toolCallId: string;
|
|
1846
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1847
|
+
type: `data-${NAME}`;
|
|
1848
|
+
id?: string;
|
|
1849
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1850
|
+
transient?: boolean;
|
|
1851
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1852
|
+
type: "tool-output-denied";
|
|
1853
|
+
}>;
|
|
1854
|
+
sourceUrl: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1855
|
+
type: `data-${NAME}`;
|
|
1856
|
+
id?: string;
|
|
1857
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1858
|
+
transient?: boolean;
|
|
1859
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1860
|
+
type: "source-url";
|
|
1861
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1862
|
+
type: `data-${NAME}`;
|
|
1863
|
+
id?: string;
|
|
1864
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1865
|
+
transient?: boolean;
|
|
1866
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1867
|
+
type: "source-url";
|
|
1868
|
+
}>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1869
|
+
type: `data-${NAME}`;
|
|
1870
|
+
id?: string;
|
|
1871
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1872
|
+
transient?: boolean;
|
|
1873
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1874
|
+
type: "source-url";
|
|
1875
|
+
}>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1876
|
+
type: `data-${NAME}`;
|
|
1877
|
+
id?: string;
|
|
1878
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1879
|
+
transient?: boolean;
|
|
1880
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1881
|
+
type: "source-url";
|
|
1882
|
+
}>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1883
|
+
type: `data-${NAME}`;
|
|
1884
|
+
id?: string;
|
|
1885
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1886
|
+
transient?: boolean;
|
|
1887
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1888
|
+
type: "source-url";
|
|
1889
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1890
|
+
type: "source-url";
|
|
1891
|
+
sourceId: string;
|
|
1892
|
+
url: string;
|
|
1893
|
+
title?: string;
|
|
1894
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1895
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1896
|
+
type: `data-${NAME}`;
|
|
1897
|
+
id?: string;
|
|
1898
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1899
|
+
transient?: boolean;
|
|
1900
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1901
|
+
type: "source-url";
|
|
1902
|
+
}>) ? { [P in T]: ({
|
|
1903
|
+
type: "source-url";
|
|
1904
|
+
sourceId: string;
|
|
1905
|
+
url: string;
|
|
1906
|
+
title?: string;
|
|
1907
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1908
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1909
|
+
type: `data-${NAME}`;
|
|
1910
|
+
id?: string;
|
|
1911
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1912
|
+
transient?: boolean;
|
|
1913
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1914
|
+
type: "source-url";
|
|
1915
|
+
}>)[P] } : never) => {
|
|
1916
|
+
type: "source-url";
|
|
1917
|
+
sourceId: string;
|
|
1918
|
+
url: string;
|
|
1919
|
+
title?: string;
|
|
1920
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1921
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1922
|
+
type: `data-${NAME}`;
|
|
1923
|
+
id?: string;
|
|
1924
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1925
|
+
transient?: boolean;
|
|
1926
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1927
|
+
type: "source-url";
|
|
1928
|
+
}>;
|
|
1929
|
+
sourceDocument: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1930
|
+
type: `data-${NAME}`;
|
|
1931
|
+
id?: string;
|
|
1932
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1933
|
+
transient?: boolean;
|
|
1934
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1935
|
+
type: "source-document";
|
|
1936
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1937
|
+
type: `data-${NAME}`;
|
|
1938
|
+
id?: string;
|
|
1939
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1940
|
+
transient?: boolean;
|
|
1941
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1942
|
+
type: "source-document";
|
|
1943
|
+
}>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1944
|
+
type: `data-${NAME}`;
|
|
1945
|
+
id?: string;
|
|
1946
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1947
|
+
transient?: boolean;
|
|
1948
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1949
|
+
type: "source-document";
|
|
1950
|
+
}>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1951
|
+
type: `data-${NAME}`;
|
|
1952
|
+
id?: string;
|
|
1953
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1954
|
+
transient?: boolean;
|
|
1955
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1956
|
+
type: "source-document";
|
|
1957
|
+
}>, "type"> | Exclude<"mediaType" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1958
|
+
type: `data-${NAME}`;
|
|
1959
|
+
id?: string;
|
|
1960
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1961
|
+
transient?: boolean;
|
|
1962
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1963
|
+
type: "source-document";
|
|
1964
|
+
}>, "type"> | Exclude<"filename" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1965
|
+
type: `data-${NAME}`;
|
|
1966
|
+
id?: string;
|
|
1967
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1968
|
+
transient?: boolean;
|
|
1969
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1970
|
+
type: "source-document";
|
|
1971
|
+
}>, "type"> extends infer T extends keyof ({
|
|
1972
|
+
type: "source-document";
|
|
1973
|
+
sourceId: string;
|
|
1974
|
+
mediaType: string;
|
|
1975
|
+
title: string;
|
|
1976
|
+
filename?: string;
|
|
1977
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1978
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1979
|
+
type: `data-${NAME}`;
|
|
1980
|
+
id?: string;
|
|
1981
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1982
|
+
transient?: boolean;
|
|
1983
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1984
|
+
type: "source-document";
|
|
1985
|
+
}>) ? { [P in T]: ({
|
|
1986
|
+
type: "source-document";
|
|
1987
|
+
sourceId: string;
|
|
1988
|
+
mediaType: string;
|
|
1989
|
+
title: string;
|
|
1990
|
+
filename?: string;
|
|
1991
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
1992
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
1993
|
+
type: `data-${NAME}`;
|
|
1994
|
+
id?: string;
|
|
1995
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
1996
|
+
transient?: boolean;
|
|
1997
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
1998
|
+
type: "source-document";
|
|
1999
|
+
}>)[P] } : never) => {
|
|
2000
|
+
type: "source-document";
|
|
2001
|
+
sourceId: string;
|
|
2002
|
+
mediaType: string;
|
|
2003
|
+
title: string;
|
|
2004
|
+
filename?: string;
|
|
2005
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
2006
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2007
|
+
type: `data-${NAME}`;
|
|
2008
|
+
id?: string;
|
|
2009
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2010
|
+
transient?: boolean;
|
|
2011
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2012
|
+
type: "source-document";
|
|
2013
|
+
}>;
|
|
2014
|
+
file: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2015
|
+
type: `data-${NAME}`;
|
|
2016
|
+
id?: string;
|
|
2017
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2018
|
+
transient?: boolean;
|
|
2019
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2020
|
+
type: "file";
|
|
2021
|
+
}>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2022
|
+
type: `data-${NAME}`;
|
|
2023
|
+
id?: string;
|
|
2024
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2025
|
+
transient?: boolean;
|
|
2026
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2027
|
+
type: "file";
|
|
2028
|
+
}>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2029
|
+
type: `data-${NAME}`;
|
|
2030
|
+
id?: string;
|
|
2031
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2032
|
+
transient?: boolean;
|
|
2033
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2034
|
+
type: "file";
|
|
2035
|
+
}>, "type"> | Exclude<"mediaType" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2036
|
+
type: `data-${NAME}`;
|
|
2037
|
+
id?: string;
|
|
2038
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2039
|
+
transient?: boolean;
|
|
2040
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2041
|
+
type: "file";
|
|
2042
|
+
}>, "type"> extends infer T extends keyof ({
|
|
2043
|
+
type: "file";
|
|
2044
|
+
url: string;
|
|
2045
|
+
mediaType: string;
|
|
2046
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
2047
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2048
|
+
type: `data-${NAME}`;
|
|
2049
|
+
id?: string;
|
|
2050
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2051
|
+
transient?: boolean;
|
|
2052
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2053
|
+
type: "file";
|
|
2054
|
+
}>) ? { [P in T]: ({
|
|
2055
|
+
type: "file";
|
|
2056
|
+
url: string;
|
|
2057
|
+
mediaType: string;
|
|
2058
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
2059
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2060
|
+
type: `data-${NAME}`;
|
|
2061
|
+
id?: string;
|
|
2062
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2063
|
+
transient?: boolean;
|
|
2064
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2065
|
+
type: "file";
|
|
2066
|
+
}>)[P] } : never) => {
|
|
2067
|
+
type: "file";
|
|
2068
|
+
url: string;
|
|
2069
|
+
mediaType: string;
|
|
2070
|
+
providerMetadata?: ai.ProviderMetadata;
|
|
2071
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2072
|
+
type: `data-${NAME}`;
|
|
2073
|
+
id?: string;
|
|
2074
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2075
|
+
transient?: boolean;
|
|
2076
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2077
|
+
type: "file";
|
|
2078
|
+
}>;
|
|
2079
|
+
data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
|
|
2080
|
+
id?: string;
|
|
2081
|
+
transient?: boolean;
|
|
2082
|
+
}) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>;
|
|
2083
|
+
startStep: () => {
|
|
2084
|
+
type: "start-step";
|
|
2085
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2086
|
+
type: `data-${NAME}`;
|
|
2087
|
+
id?: string;
|
|
2088
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2089
|
+
transient?: boolean;
|
|
2090
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2091
|
+
type: "start-step";
|
|
2092
|
+
}>;
|
|
2093
|
+
finishStep: () => {
|
|
2094
|
+
type: "finish-step";
|
|
2095
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2096
|
+
type: `data-${NAME}`;
|
|
2097
|
+
id?: string;
|
|
2098
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2099
|
+
transient?: boolean;
|
|
2100
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2101
|
+
type: "finish-step";
|
|
2102
|
+
}>;
|
|
2103
|
+
start: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2104
|
+
type: `data-${NAME}`;
|
|
2105
|
+
id?: string;
|
|
2106
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2107
|
+
transient?: boolean;
|
|
2108
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2109
|
+
type: "start";
|
|
2110
|
+
}>, "type"> | Exclude<"messageId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2111
|
+
type: `data-${NAME}`;
|
|
2112
|
+
id?: string;
|
|
2113
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2114
|
+
transient?: boolean;
|
|
2115
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2116
|
+
type: "start";
|
|
2117
|
+
}>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2118
|
+
type: `data-${NAME}`;
|
|
2119
|
+
id?: string;
|
|
2120
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2121
|
+
transient?: boolean;
|
|
2122
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2123
|
+
type: "start";
|
|
2124
|
+
}>, "type"> extends infer T extends keyof ({
|
|
2125
|
+
type: "start";
|
|
2126
|
+
messageId?: string;
|
|
2127
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2128
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2129
|
+
type: `data-${NAME}`;
|
|
2130
|
+
id?: string;
|
|
2131
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2132
|
+
transient?: boolean;
|
|
2133
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2134
|
+
type: "start";
|
|
2135
|
+
}>) ? { [P in T]: ({
|
|
2136
|
+
type: "start";
|
|
2137
|
+
messageId?: string;
|
|
2138
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2139
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2140
|
+
type: `data-${NAME}`;
|
|
2141
|
+
id?: string;
|
|
2142
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2143
|
+
transient?: boolean;
|
|
2144
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2145
|
+
type: "start";
|
|
2146
|
+
}>)[P] } : never) | undefined) => {
|
|
2147
|
+
type: "start";
|
|
2148
|
+
messageId?: string;
|
|
2149
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2150
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2151
|
+
type: `data-${NAME}`;
|
|
2152
|
+
id?: string;
|
|
2153
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2154
|
+
transient?: boolean;
|
|
2155
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2156
|
+
type: "start";
|
|
2157
|
+
}>;
|
|
2158
|
+
finish: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2159
|
+
type: `data-${NAME}`;
|
|
2160
|
+
id?: string;
|
|
2161
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2162
|
+
transient?: boolean;
|
|
2163
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2164
|
+
type: "finish";
|
|
2165
|
+
}>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2166
|
+
type: `data-${NAME}`;
|
|
2167
|
+
id?: string;
|
|
2168
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2169
|
+
transient?: boolean;
|
|
2170
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2171
|
+
type: "finish";
|
|
2172
|
+
}>, "type"> | Exclude<"finishReason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2173
|
+
type: `data-${NAME}`;
|
|
2174
|
+
id?: string;
|
|
2175
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2176
|
+
transient?: boolean;
|
|
2177
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2178
|
+
type: "finish";
|
|
2179
|
+
}>, "type"> extends infer T extends keyof ({
|
|
2180
|
+
type: "finish";
|
|
2181
|
+
finishReason?: ai.FinishReason;
|
|
2182
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2183
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2184
|
+
type: `data-${NAME}`;
|
|
2185
|
+
id?: string;
|
|
2186
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2187
|
+
transient?: boolean;
|
|
2188
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2189
|
+
type: "finish";
|
|
2190
|
+
}>) ? { [P in T]: ({
|
|
2191
|
+
type: "finish";
|
|
2192
|
+
finishReason?: ai.FinishReason;
|
|
2193
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2194
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2195
|
+
type: `data-${NAME}`;
|
|
2196
|
+
id?: string;
|
|
2197
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2198
|
+
transient?: boolean;
|
|
2199
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2200
|
+
type: "finish";
|
|
2201
|
+
}>)[P] } : never) | undefined) => {
|
|
2202
|
+
type: "finish";
|
|
2203
|
+
finishReason?: ai.FinishReason;
|
|
2204
|
+
messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2205
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2206
|
+
type: `data-${NAME}`;
|
|
2207
|
+
id?: string;
|
|
2208
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2209
|
+
transient?: boolean;
|
|
2210
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2211
|
+
type: "finish";
|
|
2212
|
+
}>;
|
|
2213
|
+
abort: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2214
|
+
type: `data-${NAME}`;
|
|
2215
|
+
id?: string;
|
|
2216
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2217
|
+
transient?: boolean;
|
|
2218
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2219
|
+
type: "abort";
|
|
2220
|
+
}>, "type"> | Exclude<"reason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2221
|
+
type: `data-${NAME}`;
|
|
2222
|
+
id?: string;
|
|
2223
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2224
|
+
transient?: boolean;
|
|
2225
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2226
|
+
type: "abort";
|
|
2227
|
+
}>, "type"> extends infer T extends keyof ({
|
|
2228
|
+
type: "abort";
|
|
2229
|
+
reason?: string;
|
|
2230
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2231
|
+
type: `data-${NAME}`;
|
|
2232
|
+
id?: string;
|
|
2233
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2234
|
+
transient?: boolean;
|
|
2235
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2236
|
+
type: "abort";
|
|
2237
|
+
}>) ? { [P in T]: ({
|
|
2238
|
+
type: "abort";
|
|
2239
|
+
reason?: string;
|
|
2240
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2241
|
+
type: `data-${NAME}`;
|
|
2242
|
+
id?: string;
|
|
2243
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2244
|
+
transient?: boolean;
|
|
2245
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2246
|
+
type: "abort";
|
|
2247
|
+
}>)[P] } : never) | undefined) => {
|
|
2248
|
+
type: "abort";
|
|
2249
|
+
reason?: string;
|
|
2250
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2251
|
+
type: `data-${NAME}`;
|
|
2252
|
+
id?: string;
|
|
2253
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2254
|
+
transient?: boolean;
|
|
2255
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2256
|
+
type: "abort";
|
|
2257
|
+
}>;
|
|
2258
|
+
messageMetadata: (messageMetadata: MetadataOf<UI_MESSAGE>) => {
|
|
2259
|
+
type: "message-metadata";
|
|
2260
|
+
messageMetadata: MetadataOf<UI_MESSAGE>;
|
|
2261
|
+
} | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
|
|
2262
|
+
type: `data-${NAME}`;
|
|
2263
|
+
id?: string;
|
|
2264
|
+
data: DataOf<UI_MESSAGE>[NAME];
|
|
2265
|
+
transient?: boolean;
|
|
2266
|
+
} }[keyof DataOf<UI_MESSAGE> & string], {
|
|
2267
|
+
type: "message-metadata";
|
|
2268
|
+
}>;
|
|
2269
|
+
text: (text: string, {
|
|
2270
|
+
id,
|
|
2271
|
+
length,
|
|
2272
|
+
separator
|
|
2273
|
+
}?: UIChunkBlockOptions) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
|
|
2274
|
+
reasoning: (text: string, {
|
|
2275
|
+
id,
|
|
2276
|
+
length,
|
|
2277
|
+
separator
|
|
2278
|
+
}?: UIChunkBlockOptions) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
|
|
2279
|
+
toolInput: (args: {
|
|
2280
|
+
toolCallId: string;
|
|
2281
|
+
toolName: string;
|
|
2282
|
+
input: unknown;
|
|
2283
|
+
length?: number;
|
|
2284
|
+
}) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
|
|
2285
|
+
};
|
|
2286
|
+
UIMessages: {
|
|
2287
|
+
user: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
|
|
2288
|
+
id?: string;
|
|
2289
|
+
metadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2290
|
+
}) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
2291
|
+
assistant: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
|
|
2292
|
+
id?: string;
|
|
2293
|
+
metadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2294
|
+
}) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
2295
|
+
system: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
|
|
2296
|
+
id?: string;
|
|
2297
|
+
metadata?: MetadataOf<UI_MESSAGE> | undefined;
|
|
2298
|
+
}) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
|
|
2299
|
+
};
|
|
2300
|
+
};
|
|
2301
|
+
//#endregion
|
|
2302
|
+
export { type UIChunkBlockOptions, UIChunks, UIMessages, UIParts, createUIChunks, createUIMessages, createUIParts, fromUIMessage };
|