@convex-dev/agent 0.0.16-alpha.0 → 0.0.17-alpha.0

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.
Files changed (73) hide show
  1. package/README.md +92 -71
  2. package/dist/commonjs/client/index.d.ts +1012 -920
  3. package/dist/commonjs/client/index.d.ts.map +1 -1
  4. package/dist/commonjs/client/index.js +188 -31
  5. package/dist/commonjs/client/index.js.map +1 -1
  6. package/dist/commonjs/client/playground.d.ts +251 -116
  7. package/dist/commonjs/client/playground.d.ts.map +1 -1
  8. package/dist/commonjs/client/playground.js +33 -11
  9. package/dist/commonjs/client/playground.js.map +1 -1
  10. package/dist/commonjs/component/messages.d.ts +683 -571
  11. package/dist/commonjs/component/messages.d.ts.map +1 -1
  12. package/dist/commonjs/component/messages.js +56 -33
  13. package/dist/commonjs/component/messages.js.map +1 -1
  14. package/dist/commonjs/component/schema.d.ts +1080 -1324
  15. package/dist/commonjs/component/schema.d.ts.map +1 -1
  16. package/dist/commonjs/component/schema.js +20 -14
  17. package/dist/commonjs/component/schema.js.map +1 -1
  18. package/dist/commonjs/component/vector/index.d.ts.map +1 -1
  19. package/dist/commonjs/component/vector/index.js +4 -6
  20. package/dist/commonjs/component/vector/index.js.map +1 -1
  21. package/dist/commonjs/component/vector/tables.d.ts +10 -10
  22. package/dist/commonjs/component/vector/tables.d.ts.map +1 -1
  23. package/dist/commonjs/component/vector/tables.js.map +1 -1
  24. package/dist/commonjs/mapping.d.ts +7 -1
  25. package/dist/commonjs/mapping.d.ts.map +1 -1
  26. package/dist/commonjs/mapping.js +39 -18
  27. package/dist/commonjs/mapping.js.map +1 -1
  28. package/dist/commonjs/validators.d.ts +1669 -2336
  29. package/dist/commonjs/validators.d.ts.map +1 -1
  30. package/dist/commonjs/validators.js +35 -25
  31. package/dist/commonjs/validators.js.map +1 -1
  32. package/dist/esm/client/index.d.ts +1012 -920
  33. package/dist/esm/client/index.d.ts.map +1 -1
  34. package/dist/esm/client/index.js +188 -31
  35. package/dist/esm/client/index.js.map +1 -1
  36. package/dist/esm/client/playground.d.ts +251 -116
  37. package/dist/esm/client/playground.d.ts.map +1 -1
  38. package/dist/esm/client/playground.js +33 -11
  39. package/dist/esm/client/playground.js.map +1 -1
  40. package/dist/esm/component/messages.d.ts +683 -571
  41. package/dist/esm/component/messages.d.ts.map +1 -1
  42. package/dist/esm/component/messages.js +56 -33
  43. package/dist/esm/component/messages.js.map +1 -1
  44. package/dist/esm/component/schema.d.ts +1080 -1324
  45. package/dist/esm/component/schema.d.ts.map +1 -1
  46. package/dist/esm/component/schema.js +20 -14
  47. package/dist/esm/component/schema.js.map +1 -1
  48. package/dist/esm/component/vector/index.d.ts.map +1 -1
  49. package/dist/esm/component/vector/index.js +4 -6
  50. package/dist/esm/component/vector/index.js.map +1 -1
  51. package/dist/esm/component/vector/tables.d.ts +10 -10
  52. package/dist/esm/component/vector/tables.d.ts.map +1 -1
  53. package/dist/esm/component/vector/tables.js.map +1 -1
  54. package/dist/esm/mapping.d.ts +7 -1
  55. package/dist/esm/mapping.d.ts.map +1 -1
  56. package/dist/esm/mapping.js +39 -18
  57. package/dist/esm/mapping.js.map +1 -1
  58. package/dist/esm/validators.d.ts +1669 -2336
  59. package/dist/esm/validators.d.ts.map +1 -1
  60. package/dist/esm/validators.js +35 -25
  61. package/dist/esm/validators.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/client/index.test.ts +68 -0
  64. package/src/client/index.ts +219 -35
  65. package/src/client/playground.ts +49 -23
  66. package/src/component/_generated/api.d.ts +311 -323
  67. package/src/component/messages.test.ts +23 -0
  68. package/src/component/messages.ts +75 -42
  69. package/src/component/schema.ts +26 -13
  70. package/src/component/vector/index.ts +5 -6
  71. package/src/component/vector/tables.ts +15 -15
  72. package/src/mapping.ts +65 -32
  73. package/src/validators.ts +47 -27
@@ -1,5 +1,5 @@
1
1
  import type { EmbeddingModelV1, LanguageModelV1 } from "@ai-sdk/provider";
2
- import type { CoreMessage, DeepPartial, GenerateObjectResult, GenerateTextResult, JSONValue, RepairTextFunction, Schema, StepResult, StreamObjectResult, StreamTextResult, TelemetrySettings, Tool, ToolChoice, ToolExecutionOptions, ToolSet } from "ai";
2
+ import type { CoreMessage, DeepPartial, GenerateObjectResult, GenerateTextResult, JSONValue, RepairTextFunction, Schema, StepResult, StreamObjectResult, StreamTextResult, TelemetrySettings, Tool, ToolChoice, ToolExecutionOptions, ToolSet, UIMessage } from "ai";
3
3
  import { generateObject, generateText, streamObject, streamText } from "ai";
4
4
  import { Infer } from "convex/values";
5
5
  import { z } from "zod";
@@ -7,808 +7,84 @@ import { Mounts } from "../component/_generated/api.js";
7
7
  import { type VectorDimension } from "../component/vector/tables.js";
8
8
  import { type AIMessageWithoutId } from "../mapping.js";
9
9
  import { extractText, isTool } from "../shared.js";
10
- import { type CallSettings, MessageWithMetadata, type ProviderMetadata, type ProviderOptions, type SearchOptions, type Usage } from "../validators.js";
11
- import type { RunActionCtx, RunMutationCtx, RunQueryCtx, UseApi } from "./types.js";
10
+ import { type CallSettings, type MessageWithMetadata as InnerMessageWithMetadata, type ProviderMetadata, type ProviderOptions, type SearchOptions, type Usage } from "../validators.js";
11
+ import type { OpaqueIds, RunActionCtx, RunMutationCtx, RunQueryCtx, UseApi } from "./types.js";
12
12
  export { extractText, isTool };
13
13
  export type { Usage, ProviderMetadata };
14
- export { vUsage, vProviderMetadata, vUserMessage, vAssistantMessage, vToolMessage, vSystemMessage, vMessage, } from "../validators.js";
15
- export declare const vThreadDoc: import("convex/values").VObject<{
16
- userId?: string | undefined;
17
- title?: string | undefined;
18
- summary?: string | undefined;
19
- status: "active" | "archived";
20
- _creationTime: number;
21
- _id: string;
22
- }, {
23
- _id: import("convex/values").VString<string, "required">;
24
- _creationTime: import("convex/values").VFloat64<number, "required">;
25
- userId: import("convex/values").VString<string | undefined, "optional">;
26
- title: import("convex/values").VString<string | undefined, "optional">;
27
- summary: import("convex/values").VString<string | undefined, "optional">;
28
- status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
29
- }, "required", "status" | "userId" | "title" | "summary" | "_creationTime" | "_id">;
30
- export type ThreadDoc = Infer<typeof vThreadDoc>;
31
- export declare const vMessageDoc: import("convex/values").VObject<{
32
- id?: string | undefined;
33
- userId?: string | undefined;
34
- parentMessageId?: string | undefined;
35
- stepId?: string | undefined;
36
- agentName?: string | undefined;
37
- message?: {
38
- providerOptions?: Record<string, any> | undefined;
39
- experimental_providerMetadata?: Record<string, any> | undefined;
40
- role: "user";
41
- content: string | ({
42
- providerOptions?: Record<string, any> | undefined;
43
- experimental_providerMetadata?: Record<string, any> | undefined;
44
- type: "text";
45
- text: string;
46
- } | {
47
- providerOptions?: Record<string, any> | undefined;
48
- experimental_providerMetadata?: Record<string, any> | undefined;
49
- mimeType?: string | undefined;
50
- type: "image";
51
- image: string | ArrayBuffer;
52
- } | {
53
- providerOptions?: Record<string, any> | undefined;
54
- experimental_providerMetadata?: Record<string, any> | undefined;
55
- type: "file";
56
- mimeType: string;
57
- data: string | ArrayBuffer;
58
- })[];
59
- } | {
60
- providerOptions?: Record<string, any> | undefined;
61
- experimental_providerMetadata?: Record<string, any> | undefined;
62
- role: "assistant";
63
- content: string | ({
64
- providerOptions?: Record<string, any> | undefined;
65
- experimental_providerMetadata?: Record<string, any> | undefined;
66
- type: "text";
67
- text: string;
68
- } | {
69
- providerOptions?: Record<string, any> | undefined;
70
- experimental_providerMetadata?: Record<string, any> | undefined;
71
- type: "file";
72
- mimeType: string;
73
- data: string | ArrayBuffer;
74
- } | {
75
- providerOptions?: Record<string, any> | undefined;
76
- experimental_providerMetadata?: Record<string, any> | undefined;
77
- type: "reasoning";
78
- text: string;
79
- } | {
80
- providerOptions?: Record<string, any> | undefined;
81
- experimental_providerMetadata?: Record<string, any> | undefined;
82
- type: "redacted-reasoning";
83
- data: string;
84
- } | {
85
- providerOptions?: Record<string, any> | undefined;
86
- experimental_providerMetadata?: Record<string, any> | undefined;
87
- type: "tool-call";
88
- toolCallId: string;
89
- toolName: string;
90
- args: any;
91
- })[];
92
- } | {
93
- providerOptions?: Record<string, any> | undefined;
94
- experimental_providerMetadata?: Record<string, any> | undefined;
95
- role: "tool";
96
- content: {
97
- providerOptions?: Record<string, any> | undefined;
98
- experimental_providerMetadata?: Record<string, any> | undefined;
99
- args?: any;
100
- experimental_content?: ({
101
- type: "text";
102
- text: string;
103
- } | {
104
- mimeType?: string | undefined;
105
- type: "image";
106
- data: string;
107
- })[] | undefined;
108
- isError?: boolean | undefined;
109
- type: "tool-result";
110
- toolCallId: string;
111
- toolName: string;
112
- result: any;
113
- }[];
114
- } | {
115
- providerOptions?: Record<string, any> | undefined;
116
- experimental_providerMetadata?: Record<string, any> | undefined;
117
- role: "system";
118
- content: string;
119
- } | undefined;
120
- text?: string | undefined;
121
- reasoning?: string | undefined;
122
- error?: string | undefined;
123
- model?: string | undefined;
124
- provider?: string | undefined;
125
- embeddingId?: string | undefined;
126
- usage?: {
127
- promptTokens: number;
128
- completionTokens: number;
129
- totalTokens: number;
130
- } | undefined;
131
- finishReason?: "length" | "error" | "stop" | "content-filter" | "tool-calls" | "other" | "unknown" | undefined;
132
- providerMetadata?: Record<string, any> | undefined;
133
- sources?: {
134
- title?: string | undefined;
135
- providerMetadata?: Record<string, Record<string, any>> | undefined;
136
- id: string;
137
- sourceType: "url";
138
- url: string;
139
- }[] | undefined;
140
- warnings?: ({
141
- details?: string | undefined;
142
- type: "unsupported-setting";
143
- setting: string;
144
- } | {
145
- details?: string | undefined;
146
- type: "unsupported-tool";
147
- tool: any;
148
- } | {
149
- type: "other";
150
- message: string;
151
- })[] | undefined;
152
- fileId?: string | undefined;
153
- status: "pending" | "success" | "failed";
154
- order: number;
155
- _creationTime: number;
156
- threadId: string;
157
- tool: boolean;
158
- stepOrder: number;
159
- _id: string;
160
- }, {
161
- threadId: import("convex/values").VString<string, "required">;
162
- parentMessageId: import("convex/values").VString<string | undefined, "optional">;
163
- stepId: import("convex/values").VString<string | undefined, "optional">;
164
- embeddingId: import("convex/values").VString<string | undefined, "optional">;
165
- fileId: import("convex/values").VString<string | undefined, "optional">;
166
- id: import("convex/values").VString<string | undefined, "optional">;
167
- userId: import("convex/values").VString<string | undefined, "optional">;
168
- agentName: import("convex/values").VString<string | undefined, "optional">;
169
- message: import("convex/values").VUnion<{
170
- providerOptions?: Record<string, any> | undefined;
171
- experimental_providerMetadata?: Record<string, any> | undefined;
172
- role: "user";
173
- content: string | ({
174
- providerOptions?: Record<string, any> | undefined;
175
- experimental_providerMetadata?: Record<string, any> | undefined;
176
- type: "text";
177
- text: string;
178
- } | {
179
- providerOptions?: Record<string, any> | undefined;
180
- experimental_providerMetadata?: Record<string, any> | undefined;
181
- mimeType?: string | undefined;
182
- type: "image";
183
- image: string | ArrayBuffer;
184
- } | {
185
- providerOptions?: Record<string, any> | undefined;
186
- experimental_providerMetadata?: Record<string, any> | undefined;
187
- type: "file";
188
- mimeType: string;
189
- data: string | ArrayBuffer;
190
- })[];
191
- } | {
192
- providerOptions?: Record<string, any> | undefined;
193
- experimental_providerMetadata?: Record<string, any> | undefined;
194
- role: "assistant";
195
- content: string | ({
196
- providerOptions?: Record<string, any> | undefined;
197
- experimental_providerMetadata?: Record<string, any> | undefined;
198
- type: "text";
199
- text: string;
200
- } | {
201
- providerOptions?: Record<string, any> | undefined;
202
- experimental_providerMetadata?: Record<string, any> | undefined;
203
- type: "file";
204
- mimeType: string;
205
- data: string | ArrayBuffer;
206
- } | {
207
- providerOptions?: Record<string, any> | undefined;
208
- experimental_providerMetadata?: Record<string, any> | undefined;
209
- type: "reasoning";
210
- text: string;
211
- } | {
212
- providerOptions?: Record<string, any> | undefined;
213
- experimental_providerMetadata?: Record<string, any> | undefined;
214
- type: "redacted-reasoning";
215
- data: string;
216
- } | {
217
- providerOptions?: Record<string, any> | undefined;
218
- experimental_providerMetadata?: Record<string, any> | undefined;
219
- type: "tool-call";
220
- toolCallId: string;
221
- toolName: string;
222
- args: any;
223
- })[];
224
- } | {
225
- providerOptions?: Record<string, any> | undefined;
226
- experimental_providerMetadata?: Record<string, any> | undefined;
227
- role: "tool";
228
- content: {
229
- providerOptions?: Record<string, any> | undefined;
230
- experimental_providerMetadata?: Record<string, any> | undefined;
231
- args?: any;
232
- experimental_content?: ({
233
- type: "text";
234
- text: string;
235
- } | {
236
- mimeType?: string | undefined;
237
- type: "image";
238
- data: string;
239
- })[] | undefined;
240
- isError?: boolean | undefined;
241
- type: "tool-result";
242
- toolCallId: string;
243
- toolName: string;
244
- result: any;
245
- }[];
246
- } | {
247
- providerOptions?: Record<string, any> | undefined;
248
- experimental_providerMetadata?: Record<string, any> | undefined;
249
- role: "system";
250
- content: string;
251
- } | undefined, [import("convex/values").VObject<{
252
- providerOptions?: Record<string, any> | undefined;
253
- experimental_providerMetadata?: Record<string, any> | undefined;
254
- role: "user";
255
- content: string | ({
256
- providerOptions?: Record<string, any> | undefined;
257
- experimental_providerMetadata?: Record<string, any> | undefined;
258
- type: "text";
259
- text: string;
260
- } | {
261
- providerOptions?: Record<string, any> | undefined;
262
- experimental_providerMetadata?: Record<string, any> | undefined;
263
- mimeType?: string | undefined;
264
- type: "image";
265
- image: string | ArrayBuffer;
266
- } | {
267
- providerOptions?: Record<string, any> | undefined;
268
- experimental_providerMetadata?: Record<string, any> | undefined;
269
- type: "file";
270
- mimeType: string;
271
- data: string | ArrayBuffer;
272
- })[];
273
- }, {
274
- role: import("convex/values").VLiteral<"user", "required">;
275
- content: import("convex/values").VUnion<string | ({
276
- providerOptions?: Record<string, any> | undefined;
277
- experimental_providerMetadata?: Record<string, any> | undefined;
278
- type: "text";
279
- text: string;
280
- } | {
281
- providerOptions?: Record<string, any> | undefined;
282
- experimental_providerMetadata?: Record<string, any> | undefined;
283
- mimeType?: string | undefined;
284
- type: "image";
285
- image: string | ArrayBuffer;
286
- } | {
287
- providerOptions?: Record<string, any> | undefined;
288
- experimental_providerMetadata?: Record<string, any> | undefined;
289
- type: "file";
290
- mimeType: string;
291
- data: string | ArrayBuffer;
292
- })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
293
- providerOptions?: Record<string, any> | undefined;
294
- experimental_providerMetadata?: Record<string, any> | undefined;
295
- type: "text";
296
- text: string;
297
- } | {
298
- providerOptions?: Record<string, any> | undefined;
299
- experimental_providerMetadata?: Record<string, any> | undefined;
300
- mimeType?: string | undefined;
301
- type: "image";
302
- image: string | ArrayBuffer;
303
- } | {
304
- providerOptions?: Record<string, any> | undefined;
305
- experimental_providerMetadata?: Record<string, any> | undefined;
306
- type: "file";
307
- mimeType: string;
308
- data: string | ArrayBuffer;
309
- })[], import("convex/values").VUnion<{
310
- providerOptions?: Record<string, any> | undefined;
311
- experimental_providerMetadata?: Record<string, any> | undefined;
312
- type: "text";
313
- text: string;
314
- } | {
315
- providerOptions?: Record<string, any> | undefined;
316
- experimental_providerMetadata?: Record<string, any> | undefined;
317
- mimeType?: string | undefined;
318
- type: "image";
319
- image: string | ArrayBuffer;
320
- } | {
321
- providerOptions?: Record<string, any> | undefined;
322
- experimental_providerMetadata?: Record<string, any> | undefined;
323
- type: "file";
324
- mimeType: string;
325
- data: string | ArrayBuffer;
326
- }, [import("convex/values").VObject<{
327
- providerOptions?: Record<string, any> | undefined;
328
- experimental_providerMetadata?: Record<string, any> | undefined;
329
- type: "text";
330
- text: string;
331
- }, {
332
- type: import("convex/values").VLiteral<"text", "required">;
333
- text: import("convex/values").VString<string, "required">;
334
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
335
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
336
- }, "required", "type" | "text" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}`>, import("convex/values").VObject<{
337
- providerOptions?: Record<string, any> | undefined;
338
- experimental_providerMetadata?: Record<string, any> | undefined;
339
- mimeType?: string | undefined;
340
- type: "image";
341
- image: string | ArrayBuffer;
342
- }, {
343
- type: import("convex/values").VLiteral<"image", "required">;
344
- image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
345
- mimeType: import("convex/values").VString<string | undefined, "optional">;
346
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
347
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
348
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "image" | "mimeType">, import("convex/values").VObject<{
349
- providerOptions?: Record<string, any> | undefined;
350
- experimental_providerMetadata?: Record<string, any> | undefined;
351
- type: "file";
352
- mimeType: string;
353
- data: string | ArrayBuffer;
354
- }, {
355
- type: import("convex/values").VLiteral<"file", "required">;
356
- data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
357
- mimeType: import("convex/values").VString<string, "required">;
358
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
359
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
360
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "mimeType" | "data">], "required", "type" | "text" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "image" | "mimeType" | "data">, "required">], "required", never>;
361
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
362
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
363
- }, "required", "role" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "content">, import("convex/values").VObject<{
364
- providerOptions?: Record<string, any> | undefined;
365
- experimental_providerMetadata?: Record<string, any> | undefined;
366
- role: "assistant";
367
- content: string | ({
368
- providerOptions?: Record<string, any> | undefined;
369
- experimental_providerMetadata?: Record<string, any> | undefined;
370
- type: "text";
371
- text: string;
372
- } | {
373
- providerOptions?: Record<string, any> | undefined;
374
- experimental_providerMetadata?: Record<string, any> | undefined;
375
- type: "file";
376
- mimeType: string;
377
- data: string | ArrayBuffer;
378
- } | {
379
- providerOptions?: Record<string, any> | undefined;
380
- experimental_providerMetadata?: Record<string, any> | undefined;
381
- type: "reasoning";
382
- text: string;
383
- } | {
384
- providerOptions?: Record<string, any> | undefined;
385
- experimental_providerMetadata?: Record<string, any> | undefined;
386
- type: "redacted-reasoning";
387
- data: string;
388
- } | {
389
- providerOptions?: Record<string, any> | undefined;
390
- experimental_providerMetadata?: Record<string, any> | undefined;
391
- type: "tool-call";
392
- toolCallId: string;
393
- toolName: string;
394
- args: any;
395
- })[];
396
- }, {
397
- role: import("convex/values").VLiteral<"assistant", "required">;
398
- content: import("convex/values").VUnion<string | ({
399
- providerOptions?: Record<string, any> | undefined;
400
- experimental_providerMetadata?: Record<string, any> | undefined;
401
- type: "text";
402
- text: string;
403
- } | {
404
- providerOptions?: Record<string, any> | undefined;
405
- experimental_providerMetadata?: Record<string, any> | undefined;
406
- type: "file";
407
- mimeType: string;
408
- data: string | ArrayBuffer;
409
- } | {
410
- providerOptions?: Record<string, any> | undefined;
411
- experimental_providerMetadata?: Record<string, any> | undefined;
412
- type: "reasoning";
413
- text: string;
414
- } | {
415
- providerOptions?: Record<string, any> | undefined;
416
- experimental_providerMetadata?: Record<string, any> | undefined;
417
- type: "redacted-reasoning";
418
- data: string;
419
- } | {
420
- providerOptions?: Record<string, any> | undefined;
421
- experimental_providerMetadata?: Record<string, any> | undefined;
422
- type: "tool-call";
423
- toolCallId: string;
424
- toolName: string;
425
- args: any;
426
- })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
427
- providerOptions?: Record<string, any> | undefined;
428
- experimental_providerMetadata?: Record<string, any> | undefined;
429
- type: "text";
430
- text: string;
431
- } | {
432
- providerOptions?: Record<string, any> | undefined;
433
- experimental_providerMetadata?: Record<string, any> | undefined;
434
- type: "file";
435
- mimeType: string;
436
- data: string | ArrayBuffer;
437
- } | {
438
- providerOptions?: Record<string, any> | undefined;
439
- experimental_providerMetadata?: Record<string, any> | undefined;
440
- type: "reasoning";
441
- text: string;
442
- } | {
443
- providerOptions?: Record<string, any> | undefined;
444
- experimental_providerMetadata?: Record<string, any> | undefined;
445
- type: "redacted-reasoning";
446
- data: string;
447
- } | {
448
- providerOptions?: Record<string, any> | undefined;
449
- experimental_providerMetadata?: Record<string, any> | undefined;
450
- type: "tool-call";
451
- toolCallId: string;
452
- toolName: string;
453
- args: any;
454
- })[], import("convex/values").VUnion<{
455
- providerOptions?: Record<string, any> | undefined;
456
- experimental_providerMetadata?: Record<string, any> | undefined;
457
- type: "text";
458
- text: string;
459
- } | {
460
- providerOptions?: Record<string, any> | undefined;
461
- experimental_providerMetadata?: Record<string, any> | undefined;
462
- type: "file";
463
- mimeType: string;
464
- data: string | ArrayBuffer;
465
- } | {
466
- providerOptions?: Record<string, any> | undefined;
467
- experimental_providerMetadata?: Record<string, any> | undefined;
468
- type: "reasoning";
469
- text: string;
470
- } | {
471
- providerOptions?: Record<string, any> | undefined;
472
- experimental_providerMetadata?: Record<string, any> | undefined;
473
- type: "redacted-reasoning";
474
- data: string;
475
- } | {
476
- providerOptions?: Record<string, any> | undefined;
477
- experimental_providerMetadata?: Record<string, any> | undefined;
478
- type: "tool-call";
479
- toolCallId: string;
480
- toolName: string;
481
- args: any;
482
- }, [import("convex/values").VObject<{
483
- providerOptions?: Record<string, any> | undefined;
484
- experimental_providerMetadata?: Record<string, any> | undefined;
485
- type: "text";
486
- text: string;
487
- }, {
488
- type: import("convex/values").VLiteral<"text", "required">;
489
- text: import("convex/values").VString<string, "required">;
490
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
491
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
492
- }, "required", "type" | "text" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}`>, import("convex/values").VObject<{
493
- providerOptions?: Record<string, any> | undefined;
494
- experimental_providerMetadata?: Record<string, any> | undefined;
495
- type: "file";
496
- mimeType: string;
497
- data: string | ArrayBuffer;
498
- }, {
499
- type: import("convex/values").VLiteral<"file", "required">;
500
- data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
501
- mimeType: import("convex/values").VString<string, "required">;
502
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
503
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
504
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "mimeType" | "data">, import("convex/values").VObject<{
505
- providerOptions?: Record<string, any> | undefined;
506
- experimental_providerMetadata?: Record<string, any> | undefined;
507
- type: "reasoning";
508
- text: string;
509
- }, {
510
- type: import("convex/values").VLiteral<"reasoning", "required">;
511
- text: import("convex/values").VString<string, "required">;
512
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
513
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
514
- }, "required", "type" | "text" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}`>, import("convex/values").VObject<{
515
- providerOptions?: Record<string, any> | undefined;
516
- experimental_providerMetadata?: Record<string, any> | undefined;
517
- type: "redacted-reasoning";
518
- data: string;
519
- }, {
520
- type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
521
- data: import("convex/values").VString<string, "required">;
522
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
523
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
524
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "data">, import("convex/values").VObject<{
525
- providerOptions?: Record<string, any> | undefined;
526
- experimental_providerMetadata?: Record<string, any> | undefined;
527
- type: "tool-call";
528
- toolCallId: string;
529
- toolName: string;
530
- args: any;
531
- }, {
532
- type: import("convex/values").VLiteral<"tool-call", "required">;
533
- toolCallId: import("convex/values").VString<string, "required">;
534
- toolName: import("convex/values").VString<string, "required">;
535
- args: import("convex/values").VAny<any, "required", string>;
536
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
537
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
538
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "text" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "mimeType" | "data" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "required">], "required", never>;
539
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
540
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
541
- }, "required", "role" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "content">, import("convex/values").VObject<{
542
- providerOptions?: Record<string, any> | undefined;
543
- experimental_providerMetadata?: Record<string, any> | undefined;
544
- role: "tool";
545
- content: {
546
- providerOptions?: Record<string, any> | undefined;
547
- experimental_providerMetadata?: Record<string, any> | undefined;
548
- args?: any;
549
- experimental_content?: ({
550
- type: "text";
551
- text: string;
552
- } | {
553
- mimeType?: string | undefined;
554
- type: "image";
555
- data: string;
556
- })[] | undefined;
557
- isError?: boolean | undefined;
558
- type: "tool-result";
559
- toolCallId: string;
560
- toolName: string;
561
- result: any;
562
- }[];
563
- }, {
564
- role: import("convex/values").VLiteral<"tool", "required">;
565
- content: import("convex/values").VArray<{
566
- providerOptions?: Record<string, any> | undefined;
567
- experimental_providerMetadata?: Record<string, any> | undefined;
568
- args?: any;
569
- experimental_content?: ({
570
- type: "text";
571
- text: string;
572
- } | {
573
- mimeType?: string | undefined;
574
- type: "image";
575
- data: string;
576
- })[] | undefined;
577
- isError?: boolean | undefined;
578
- type: "tool-result";
579
- toolCallId: string;
580
- toolName: string;
581
- result: any;
582
- }[], import("convex/values").VObject<{
583
- providerOptions?: Record<string, any> | undefined;
584
- experimental_providerMetadata?: Record<string, any> | undefined;
585
- args?: any;
586
- experimental_content?: ({
587
- type: "text";
588
- text: string;
589
- } | {
590
- mimeType?: string | undefined;
591
- type: "image";
592
- data: string;
593
- })[] | undefined;
594
- isError?: boolean | undefined;
595
- type: "tool-result";
596
- toolCallId: string;
597
- toolName: string;
598
- result: any;
599
- }, {
600
- type: import("convex/values").VLiteral<"tool-result", "required">;
601
- toolCallId: import("convex/values").VString<string, "required">;
602
- toolName: import("convex/values").VString<string, "required">;
603
- result: import("convex/values").VAny<any, "required", string>;
604
- args: import("convex/values").VAny<any, "optional", string>;
605
- experimental_content: import("convex/values").VArray<({
606
- type: "text";
607
- text: string;
608
- } | {
609
- mimeType?: string | undefined;
610
- type: "image";
611
- data: string;
612
- })[] | undefined, import("convex/values").VUnion<{
613
- type: "text";
614
- text: string;
615
- } | {
616
- mimeType?: string | undefined;
617
- type: "image";
618
- data: string;
619
- }, [import("convex/values").VObject<{
620
- type: "text";
621
- text: string;
622
- }, {
623
- type: import("convex/values").VLiteral<"text", "required">;
624
- text: import("convex/values").VString<string, "required">;
625
- }, "required", "type" | "text">, import("convex/values").VObject<{
626
- mimeType?: string | undefined;
627
- type: "image";
628
- data: string;
629
- }, {
630
- type: import("convex/values").VLiteral<"image", "required">;
631
- data: import("convex/values").VString<string, "required">;
632
- mimeType: import("convex/values").VString<string | undefined, "optional">;
633
- }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
634
- isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
635
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
636
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
637
- }, "required", "type" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>, "required">;
638
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
639
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
640
- }, "required", "role" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "content">, import("convex/values").VObject<{
641
- providerOptions?: Record<string, any> | undefined;
642
- experimental_providerMetadata?: Record<string, any> | undefined;
643
- role: "system";
644
- content: string;
645
- }, {
646
- role: import("convex/values").VLiteral<"system", "required">;
647
- content: import("convex/values").VString<string, "required">;
648
- providerOptions: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
649
- experimental_providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
650
- }, "required", "role" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "content">], "optional", "role" | "providerOptions" | "experimental_providerMetadata" | `providerOptions.${string}` | `experimental_providerMetadata.${string}` | "content">;
651
- error: import("convex/values").VString<string | undefined, "optional">;
652
- model: import("convex/values").VString<string | undefined, "optional">;
653
- provider: import("convex/values").VString<string | undefined, "optional">;
654
- text: import("convex/values").VString<string | undefined, "optional">;
655
- tool: import("convex/values").VBoolean<boolean, "required">;
656
- order: import("convex/values").VFloat64<number, "required">;
657
- stepOrder: import("convex/values").VFloat64<number, "required">;
658
- usage: import("convex/values").VObject<{
659
- promptTokens: number;
660
- completionTokens: number;
661
- totalTokens: number;
662
- } | undefined, {
663
- promptTokens: import("convex/values").VFloat64<number, "required">;
664
- completionTokens: import("convex/values").VFloat64<number, "required">;
665
- totalTokens: import("convex/values").VFloat64<number, "required">;
666
- }, "optional", "promptTokens" | "completionTokens" | "totalTokens">;
667
- finishReason: import("convex/values").VUnion<"length" | "error" | "stop" | "content-filter" | "tool-calls" | "other" | "unknown" | undefined, [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "optional", never>;
668
- providerMetadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
669
- sources: import("convex/values").VArray<{
670
- title?: string | undefined;
671
- providerMetadata?: Record<string, Record<string, any>> | undefined;
672
- id: string;
673
- sourceType: "url";
674
- url: string;
675
- }[] | undefined, import("convex/values").VObject<{
676
- title?: string | undefined;
677
- providerMetadata?: Record<string, Record<string, any>> | undefined;
678
- id: string;
679
- sourceType: "url";
680
- url: string;
681
- }, {
682
- sourceType: import("convex/values").VLiteral<"url", "required">;
683
- id: import("convex/values").VString<string, "required">;
684
- url: import("convex/values").VString<string, "required">;
685
- title: import("convex/values").VString<string | undefined, "optional">;
686
- providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
687
- }, "required", "id" | "title" | "providerMetadata" | "sourceType" | "url" | `providerMetadata.${string}`>, "optional">;
688
- reasoning: import("convex/values").VString<string | undefined, "optional">;
689
- warnings: import("convex/values").VArray<({
690
- details?: string | undefined;
691
- type: "unsupported-setting";
692
- setting: string;
693
- } | {
694
- details?: string | undefined;
695
- type: "unsupported-tool";
696
- tool: any;
697
- } | {
698
- type: "other";
699
- message: string;
700
- })[] | undefined, import("convex/values").VUnion<{
701
- details?: string | undefined;
702
- type: "unsupported-setting";
703
- setting: string;
704
- } | {
705
- details?: string | undefined;
706
- type: "unsupported-tool";
707
- tool: any;
708
- } | {
709
- type: "other";
710
- message: string;
711
- }, [import("convex/values").VObject<{
712
- details?: string | undefined;
713
- type: "unsupported-setting";
714
- setting: string;
715
- }, {
716
- type: import("convex/values").VLiteral<"unsupported-setting", "required">;
717
- setting: import("convex/values").VString<string, "required">;
718
- details: import("convex/values").VString<string | undefined, "optional">;
719
- }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
720
- details?: string | undefined;
721
- type: "unsupported-tool";
722
- tool: any;
723
- }, {
724
- type: import("convex/values").VLiteral<"unsupported-tool", "required">;
725
- tool: import("convex/values").VAny<any, "required", string>;
726
- details: import("convex/values").VString<string | undefined, "optional">;
727
- }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
728
- type: "other";
729
- message: string;
730
- }, {
731
- type: import("convex/values").VLiteral<"other", "required">;
732
- message: import("convex/values").VString<string, "required">;
733
- }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
734
- status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
735
- _id: import("convex/values").VString<string, "required">;
736
- _creationTime: import("convex/values").VFloat64<number, "required">;
737
- }, "required", "id" | "status" | "userId" | "order" | "_creationTime" | "threadId" | "parentMessageId" | "stepId" | "agentName" | "message" | "text" | "reasoning" | "tool" | "error" | "model" | "provider" | "embeddingId" | "stepOrder" | "usage" | "finishReason" | "providerMetadata" | "sources" | `providerMetadata.${string}` | "warnings" | "fileId" | "message.role" | "message.providerOptions" | "message.experimental_providerMetadata" | `message.providerOptions.${string}` | `message.experimental_providerMetadata.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | "_id">;
738
- export type MessageDoc = Infer<typeof vMessageDoc>;
739
- /**
740
- * Options to configure what messages are fetched as context,
741
- * automatically with thread.generateText, or directly via search.
742
- */
743
- export type ContextOptions = {
744
- /** @deprecated Use excludeToolMessages instead. */
745
- includeToolCalls?: boolean;
746
- /**
747
- * Whether to include tool messages in the context.
748
- * By default, tool calls and results are not included.
749
- */
750
- excludeToolMessages?: boolean;
751
- /**
752
- * How many recent messages to include. These are added after the search
753
- * messages, and do not count against the search limit.
754
- * Default: 100
755
- */
756
- recentMessages?: number;
757
- /**
758
- * Options for searching messages.
759
- */
760
- searchOptions?: {
761
- /**
762
- * The maximum number of messages to fetch. Default is 10.
763
- */
764
- limit: number;
765
- /**
766
- * Whether to use text search to find messages. Default is false.
767
- */
768
- textSearch?: boolean;
769
- /**
770
- * Whether to use vector search to find messages. Default is false.
771
- * At least one of textSearch or vectorSearch must be true.
772
- */
773
- vectorSearch?: boolean;
774
- /**
775
- * What messages around the search results to include.
776
- * Default: { before: 2, after: 1 }
777
- * (two before, and one after each message found in the search)
778
- * Note, this is after the limit is applied.
779
- * By default this will quadruple the number of messages fetched.
780
- */
781
- messageRange?: {
782
- before: number;
783
- after: number;
784
- };
785
- };
786
- /**
787
- * Whether to search across other threads for relevant messages.
788
- * By default, only the current thread is searched.
789
- */
790
- searchOtherThreads?: boolean;
791
- };
792
- /**
793
- * Options to configure the automatic saving of messages
794
- * when generating text / objects in a thread.
795
- */
796
- export type StorageOptions = {
797
- /**
798
- * Defaults to false, allowing you to pass in arbitrary context that will
799
- * be in addition to automatically fetched content.
800
- * Pass true to have all input messages saved to the thread history.
801
- */
802
- saveAllInputMessages?: boolean;
803
- /** Defaults to true, saving the prompt, or last message passed to generateText. */
804
- saveAnyInputMessages?: boolean;
805
- /** Defaults to true. Whether to save messages generated while chatting. */
806
- saveOutputMessages?: boolean;
807
- };
808
- export type GenerationOutputMetadata = {
809
- messageId?: string;
810
- };
811
- type CoreMessageMaybeWithId = CoreMessage & {
14
+ export { paginationResultValidator, vContextOptions, vUsage, vProviderMetadata, vUserMessage, vAssistantMessage, vToolMessage, vStorageOptions, vSystemMessage, vMessage, } from "../validators.js";
15
+ /**
16
+ * Options to configure what messages are fetched as context,
17
+ * automatically with thread.generateText, or directly via search.
18
+ */
19
+ export type ContextOptions = {
20
+ /** @deprecated Use excludeToolMessages instead. */
21
+ includeToolCalls?: boolean;
22
+ /**
23
+ * Whether to include tool messages in the context.
24
+ * By default, tool calls and results are not included.
25
+ */
26
+ excludeToolMessages?: boolean;
27
+ /**
28
+ * How many recent messages to include. These are added after the search
29
+ * messages, and do not count against the search limit.
30
+ * Default: 100
31
+ */
32
+ recentMessages?: number;
33
+ /**
34
+ * Options for searching messages.
35
+ */
36
+ searchOptions?: {
37
+ /**
38
+ * The maximum number of messages to fetch. Default is 10.
39
+ */
40
+ limit: number;
41
+ /**
42
+ * Whether to use text search to find messages. Default is false.
43
+ */
44
+ textSearch?: boolean;
45
+ /**
46
+ * Whether to use vector search to find messages. Default is false.
47
+ * At least one of textSearch or vectorSearch must be true.
48
+ */
49
+ vectorSearch?: boolean;
50
+ /**
51
+ * What messages around the search results to include.
52
+ * Default: { before: 2, after: 1 }
53
+ * (two before, and one after each message found in the search)
54
+ * Note, this is after the limit is applied.
55
+ * By default this will quadruple the number of messages fetched.
56
+ */
57
+ messageRange?: {
58
+ before: number;
59
+ after: number;
60
+ };
61
+ };
62
+ /**
63
+ * Whether to search across other threads for relevant messages.
64
+ * By default, only the current thread is searched.
65
+ */
66
+ searchOtherThreads?: boolean;
67
+ };
68
+ /**
69
+ * Options to configure the automatic saving of messages
70
+ * when generating text / objects in a thread.
71
+ */
72
+ export type StorageOptions = {
73
+ /**
74
+ * Defaults to false, allowing you to pass in arbitrary context that will
75
+ * be in addition to automatically fetched content.
76
+ * Pass true to have all input messages saved to the thread history.
77
+ */
78
+ saveAllInputMessages?: boolean;
79
+ /** Defaults to true, saving the prompt, or last message passed to generateText. */
80
+ saveAnyInputMessages?: boolean;
81
+ /** Defaults to true. Whether to save messages generated while chatting. */
82
+ saveOutputMessages?: boolean;
83
+ };
84
+ export type GenerationOutputMetadata = {
85
+ messageId?: string;
86
+ };
87
+ type CoreMessageMaybeWithId = CoreMessage & {
812
88
  id?: string | undefined;
813
89
  };
814
90
  export type UsageHandler = (ctx: RunActionCtx, args: {
@@ -820,8 +96,9 @@ export type UsageHandler = (ctx: RunActionCtx, args: {
820
96
  model: string;
821
97
  provider: string;
822
98
  }) => void | Promise<void>;
99
+ export type AgentComponent = UseApi<Mounts>;
823
100
  export declare class Agent<AgentTools extends ToolSet> {
824
- component: UseApi<Mounts>;
101
+ component: AgentComponent;
825
102
  options: {
826
103
  /**
827
104
  * The name for the agent. This will be attributed on each message
@@ -885,7 +162,7 @@ export declare class Agent<AgentTools extends ToolSet> {
885
162
  */
886
163
  usageHandler?: UsageHandler;
887
164
  };
888
- constructor(component: UseApi<Mounts>, options: {
165
+ constructor(component: AgentComponent, options: {
889
166
  /**
890
167
  * The name for the agent. This will be attributed on each message
891
168
  * created by this agent.
@@ -1072,7 +349,7 @@ export declare class Agent<AgentTools extends ToolSet> {
1072
349
  */
1073
350
  beforeMessageId?: string;
1074
351
  contextOptions: ContextOptions | undefined;
1075
- }): Promise<CoreMessage[]>;
352
+ }): Promise<MessageDoc[]>;
1076
353
  /**
1077
354
  * Get the embeddings for a set of messages.
1078
355
  * @param messages The messages to get the embeddings for.
@@ -1307,67 +584,56 @@ export declare class Agent<AgentTools extends ToolSet> {
1307
584
  userId?: string | undefined;
1308
585
  threadId?: string | undefined;
1309
586
  messages?: ({
1310
- providerOptions?: Record<string, any> | undefined;
1311
- experimental_providerMetadata?: Record<string, any> | undefined;
587
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1312
588
  role: "user";
1313
589
  content: string | ({
1314
- providerOptions?: Record<string, any> | undefined;
1315
- experimental_providerMetadata?: Record<string, any> | undefined;
590
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1316
591
  type: "text";
1317
592
  text: string;
1318
593
  } | {
1319
- providerOptions?: Record<string, any> | undefined;
1320
- experimental_providerMetadata?: Record<string, any> | undefined;
594
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1321
595
  mimeType?: string | undefined;
1322
596
  type: "image";
1323
597
  image: string | ArrayBuffer;
1324
598
  } | {
1325
- providerOptions?: Record<string, any> | undefined;
1326
- experimental_providerMetadata?: Record<string, any> | undefined;
599
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1327
600
  type: "file";
1328
601
  mimeType: string;
1329
602
  data: string | ArrayBuffer;
1330
603
  })[];
1331
604
  } | {
1332
- providerOptions?: Record<string, any> | undefined;
1333
- experimental_providerMetadata?: Record<string, any> | undefined;
605
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1334
606
  role: "assistant";
1335
607
  content: string | ({
1336
- providerOptions?: Record<string, any> | undefined;
1337
- experimental_providerMetadata?: Record<string, any> | undefined;
608
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1338
609
  type: "text";
1339
610
  text: string;
1340
611
  } | {
1341
- providerOptions?: Record<string, any> | undefined;
1342
- experimental_providerMetadata?: Record<string, any> | undefined;
612
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1343
613
  type: "file";
1344
614
  mimeType: string;
1345
615
  data: string | ArrayBuffer;
1346
616
  } | {
1347
- providerOptions?: Record<string, any> | undefined;
1348
- experimental_providerMetadata?: Record<string, any> | undefined;
617
+ providerOptions?: Record<string, Record<string, any>> | undefined;
618
+ signature?: string | undefined;
1349
619
  type: "reasoning";
1350
620
  text: string;
1351
621
  } | {
1352
- providerOptions?: Record<string, any> | undefined;
1353
- experimental_providerMetadata?: Record<string, any> | undefined;
622
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1354
623
  type: "redacted-reasoning";
1355
624
  data: string;
1356
625
  } | {
1357
- providerOptions?: Record<string, any> | undefined;
1358
- experimental_providerMetadata?: Record<string, any> | undefined;
626
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1359
627
  type: "tool-call";
1360
628
  toolCallId: string;
1361
629
  toolName: string;
1362
630
  args: any;
1363
631
  })[];
1364
632
  } | {
1365
- providerOptions?: Record<string, any> | undefined;
1366
- experimental_providerMetadata?: Record<string, any> | undefined;
633
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1367
634
  role: "tool";
1368
635
  content: {
1369
- providerOptions?: Record<string, any> | undefined;
1370
- experimental_providerMetadata?: Record<string, any> | undefined;
636
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1371
637
  args?: any;
1372
638
  experimental_content?: ({
1373
639
  type: "text";
@@ -1384,13 +650,11 @@ export declare class Agent<AgentTools extends ToolSet> {
1384
650
  result: any;
1385
651
  }[];
1386
652
  } | {
1387
- providerOptions?: Record<string, any> | undefined;
1388
- experimental_providerMetadata?: Record<string, any> | undefined;
653
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1389
654
  role: "system";
1390
655
  content: string;
1391
656
  })[] | undefined;
1392
- providerOptions?: Record<string, any> | undefined;
1393
- experimental_providerMetadata?: Record<string, any> | undefined;
657
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1394
658
  system?: string | undefined;
1395
659
  headers?: Record<string, string> | undefined;
1396
660
  maxTokens?: number | undefined;
@@ -1409,7 +673,7 @@ export declare class Agent<AgentTools extends ToolSet> {
1409
673
  experimental_continueSteps?: boolean | undefined;
1410
674
  prompt?: string | undefined;
1411
675
  contextOptions?: {
1412
- includeToolCalls?: boolean | undefined;
676
+ excludeToolMessages?: boolean | undefined;
1413
677
  recentMessages?: number | undefined;
1414
678
  searchOptions?: {
1415
679
  messageRange?: {
@@ -1424,7 +688,8 @@ export declare class Agent<AgentTools extends ToolSet> {
1424
688
  } | undefined;
1425
689
  storageOptions?: {
1426
690
  saveAllInputMessages?: boolean | undefined;
1427
- saveAllOutputMessages?: boolean | undefined;
691
+ saveAnyInputMessages?: boolean | undefined;
692
+ saveOutputMessages?: boolean | undefined;
1428
693
  } | undefined;
1429
694
  }, Promise<string>>;
1430
695
  /**
@@ -1443,67 +708,56 @@ export declare class Agent<AgentTools extends ToolSet> {
1443
708
  userId?: string | undefined;
1444
709
  threadId?: string | undefined;
1445
710
  messages?: ({
1446
- providerOptions?: Record<string, any> | undefined;
1447
- experimental_providerMetadata?: Record<string, any> | undefined;
711
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1448
712
  role: "user";
1449
713
  content: string | ({
1450
- providerOptions?: Record<string, any> | undefined;
1451
- experimental_providerMetadata?: Record<string, any> | undefined;
714
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1452
715
  type: "text";
1453
716
  text: string;
1454
717
  } | {
1455
- providerOptions?: Record<string, any> | undefined;
1456
- experimental_providerMetadata?: Record<string, any> | undefined;
718
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1457
719
  mimeType?: string | undefined;
1458
720
  type: "image";
1459
721
  image: string | ArrayBuffer;
1460
722
  } | {
1461
- providerOptions?: Record<string, any> | undefined;
1462
- experimental_providerMetadata?: Record<string, any> | undefined;
723
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1463
724
  type: "file";
1464
725
  mimeType: string;
1465
726
  data: string | ArrayBuffer;
1466
727
  })[];
1467
728
  } | {
1468
- providerOptions?: Record<string, any> | undefined;
1469
- experimental_providerMetadata?: Record<string, any> | undefined;
729
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1470
730
  role: "assistant";
1471
731
  content: string | ({
1472
- providerOptions?: Record<string, any> | undefined;
1473
- experimental_providerMetadata?: Record<string, any> | undefined;
732
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1474
733
  type: "text";
1475
734
  text: string;
1476
735
  } | {
1477
- providerOptions?: Record<string, any> | undefined;
1478
- experimental_providerMetadata?: Record<string, any> | undefined;
736
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1479
737
  type: "file";
1480
738
  mimeType: string;
1481
739
  data: string | ArrayBuffer;
1482
740
  } | {
1483
- providerOptions?: Record<string, any> | undefined;
1484
- experimental_providerMetadata?: Record<string, any> | undefined;
741
+ providerOptions?: Record<string, Record<string, any>> | undefined;
742
+ signature?: string | undefined;
1485
743
  type: "reasoning";
1486
744
  text: string;
1487
745
  } | {
1488
- providerOptions?: Record<string, any> | undefined;
1489
- experimental_providerMetadata?: Record<string, any> | undefined;
746
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1490
747
  type: "redacted-reasoning";
1491
748
  data: string;
1492
749
  } | {
1493
- providerOptions?: Record<string, any> | undefined;
1494
- experimental_providerMetadata?: Record<string, any> | undefined;
750
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1495
751
  type: "tool-call";
1496
752
  toolCallId: string;
1497
753
  toolName: string;
1498
754
  args: any;
1499
755
  })[];
1500
756
  } | {
1501
- providerOptions?: Record<string, any> | undefined;
1502
- experimental_providerMetadata?: Record<string, any> | undefined;
757
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1503
758
  role: "tool";
1504
759
  content: {
1505
- providerOptions?: Record<string, any> | undefined;
1506
- experimental_providerMetadata?: Record<string, any> | undefined;
760
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1507
761
  args?: any;
1508
762
  experimental_content?: ({
1509
763
  type: "text";
@@ -1520,13 +774,11 @@ export declare class Agent<AgentTools extends ToolSet> {
1520
774
  result: any;
1521
775
  }[];
1522
776
  } | {
1523
- providerOptions?: Record<string, any> | undefined;
1524
- experimental_providerMetadata?: Record<string, any> | undefined;
777
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1525
778
  role: "system";
1526
779
  content: string;
1527
780
  })[] | undefined;
1528
- providerOptions?: Record<string, any> | undefined;
1529
- experimental_providerMetadata?: Record<string, any> | undefined;
781
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1530
782
  system?: string | undefined;
1531
783
  headers?: Record<string, string> | undefined;
1532
784
  maxTokens?: number | undefined;
@@ -1539,7 +791,7 @@ export declare class Agent<AgentTools extends ToolSet> {
1539
791
  maxRetries?: number | undefined;
1540
792
  prompt?: string | undefined;
1541
793
  contextOptions?: {
1542
- includeToolCalls?: boolean | undefined;
794
+ excludeToolMessages?: boolean | undefined;
1543
795
  recentMessages?: number | undefined;
1544
796
  searchOptions?: {
1545
797
  messageRange?: {
@@ -1554,10 +806,143 @@ export declare class Agent<AgentTools extends ToolSet> {
1554
806
  } | undefined;
1555
807
  storageOptions?: {
1556
808
  saveAllInputMessages?: boolean | undefined;
1557
- saveAllOutputMessages?: boolean | undefined;
809
+ saveAnyInputMessages?: boolean | undefined;
810
+ saveOutputMessages?: boolean | undefined;
1558
811
  } | undefined;
1559
812
  }, Promise<T>>;
1560
813
  }
814
+ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
815
+ id?: string | undefined;
816
+ userId?: string | undefined;
817
+ parentMessageId?: string | undefined;
818
+ stepId?: string | undefined;
819
+ embeddingId?: string | undefined;
820
+ error?: string | undefined;
821
+ agentName?: string | undefined;
822
+ model?: string | undefined;
823
+ provider?: string | undefined;
824
+ providerOptions?: Record<string, Record<string, any>> | undefined;
825
+ message?: {
826
+ providerOptions?: Record<string, Record<string, any>> | undefined;
827
+ role: "user";
828
+ content: string | ({
829
+ providerOptions?: Record<string, Record<string, any>> | undefined;
830
+ type: "text";
831
+ text: string;
832
+ } | {
833
+ providerOptions?: Record<string, Record<string, any>> | undefined;
834
+ mimeType?: string | undefined;
835
+ type: "image";
836
+ image: string | ArrayBuffer;
837
+ } | {
838
+ providerOptions?: Record<string, Record<string, any>> | undefined;
839
+ type: "file";
840
+ mimeType: string;
841
+ data: string | ArrayBuffer;
842
+ })[];
843
+ } | {
844
+ providerOptions?: Record<string, Record<string, any>> | undefined;
845
+ role: "assistant";
846
+ content: string | ({
847
+ providerOptions?: Record<string, Record<string, any>> | undefined;
848
+ type: "text";
849
+ text: string;
850
+ } | {
851
+ providerOptions?: Record<string, Record<string, any>> | undefined;
852
+ type: "file";
853
+ mimeType: string;
854
+ data: string | ArrayBuffer;
855
+ } | {
856
+ providerOptions?: Record<string, Record<string, any>> | undefined;
857
+ signature?: string | undefined;
858
+ type: "reasoning";
859
+ text: string;
860
+ } | {
861
+ providerOptions?: Record<string, Record<string, any>> | undefined;
862
+ type: "redacted-reasoning";
863
+ data: string;
864
+ } | {
865
+ providerOptions?: Record<string, Record<string, any>> | undefined;
866
+ type: "tool-call";
867
+ toolCallId: string;
868
+ toolName: string;
869
+ args: any;
870
+ })[];
871
+ } | {
872
+ providerOptions?: Record<string, Record<string, any>> | undefined;
873
+ role: "tool";
874
+ content: {
875
+ providerOptions?: Record<string, Record<string, any>> | undefined;
876
+ args?: any;
877
+ experimental_content?: ({
878
+ type: "text";
879
+ text: string;
880
+ } | {
881
+ mimeType?: string | undefined;
882
+ type: "image";
883
+ data: string;
884
+ })[] | undefined;
885
+ isError?: boolean | undefined;
886
+ type: "tool-result";
887
+ toolCallId: string;
888
+ toolName: string;
889
+ result: any;
890
+ }[];
891
+ } | {
892
+ providerOptions?: Record<string, Record<string, any>> | undefined;
893
+ role: "system";
894
+ content: string;
895
+ } | undefined;
896
+ text?: string | undefined;
897
+ reasoning?: string | undefined;
898
+ files?: {
899
+ bytes?: ArrayBuffer | undefined;
900
+ url?: string | undefined;
901
+ fileId?: string | undefined;
902
+ mimeType: string;
903
+ }[] | undefined;
904
+ usage?: {
905
+ promptTokens: number;
906
+ completionTokens: number;
907
+ totalTokens: number;
908
+ } | undefined;
909
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
910
+ sources?: {
911
+ title?: string | undefined;
912
+ providerOptions?: Record<string, Record<string, any>> | undefined;
913
+ id: string;
914
+ url: string;
915
+ sourceType: "url";
916
+ }[] | undefined;
917
+ reasoningDetails?: ({
918
+ signature?: string | undefined;
919
+ type: "text";
920
+ text: string;
921
+ } | {
922
+ type: "redacted";
923
+ data: string;
924
+ })[] | undefined;
925
+ warnings?: ({
926
+ details?: string | undefined;
927
+ type: "unsupported-setting";
928
+ setting: string;
929
+ } | {
930
+ details?: string | undefined;
931
+ type: "unsupported-tool";
932
+ tool: any;
933
+ } | {
934
+ type: "other";
935
+ message: string;
936
+ })[] | undefined;
937
+ finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
938
+ status: "pending" | "success" | "failed";
939
+ order: number;
940
+ _creationTime: number;
941
+ threadId: string;
942
+ stepOrder: number;
943
+ tool: boolean;
944
+ _id: string;
945
+ }[];
1561
946
  export type ToolCtx = RunActionCtx & {
1562
947
  userId?: string;
1563
948
  threadId?: string;
@@ -1708,60 +1093,767 @@ interface Thread<DefaultTools extends ToolSet> {
1708
1093
  * The target threadId, from the startThread or continueThread initializers.
1709
1094
  */
1710
1095
  threadId: string;
1711
- /**
1712
- * This behaves like {@link generateText} from the "ai" package except that
1713
- * it add context based on the userId and threadId and saves the input and
1714
- * resulting messages to the thread, if specified.
1715
- * Use {@link continueThread} to get a version of this function already scoped
1716
- * to a thread (and optionally userId).
1717
- * @param args The arguments to the generateText function, along with extra controls
1718
- * for the {@link ContextOptions} and {@link StorageOptions}.
1719
- * @returns The result of the generateText function.
1720
- */
1721
- generateText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, OUTPUT_PARTIAL = never>(args: TextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, OUTPUT_PARTIAL>, options?: Options): Promise<GenerateTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, OUTPUT> & ThreadOutputMetadata>;
1722
- /**
1723
- * This behaves like {@link streamText} from the "ai" package except that
1724
- * it add context based on the userId and threadId and saves the input and
1725
- * resulting messages to the thread, if specified.
1726
- * Use {@link continueThread} to get a version of this function already scoped
1727
- * to a thread (and optionally userId).
1728
- * @param args The arguments to the streamText function, along with extra controls
1729
- * for the {@link ContextOptions} and {@link StorageOptions}.
1730
- * @returns The result of the streamText function.
1731
- */
1732
- streamText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, PARTIAL_OUTPUT = never>(args: StreamingTextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, PARTIAL_OUTPUT>, options?: Options): Promise<StreamTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, PARTIAL_OUTPUT> & ThreadOutputMetadata>;
1733
- /**
1734
- * This behaves like {@link generateObject} from the "ai" package except that
1735
- * it add context based on the userId and threadId and saves the input and
1736
- * resulting messages to the thread, if specified. This overload is for objects, arrays, and enums.
1737
- * Use {@link continueThread} to get a version of this function already scoped
1738
- * to a thread (and optionally userId).
1739
- * @param args The arguments to the generateObject function, along with extra controls
1740
- * for the {@link ContextOptions} and {@link StorageOptions}.
1741
- * @returns The result of the generateObject function.
1742
- */
1743
- generateObject<T>(args: OurObjectArgs<T>, options?: Options): Promise<GenerateObjectResult<T> & ThreadOutputMetadata>;
1744
- /**
1745
- * This behaves like {@link generateObject} from the "ai" package except that
1746
- * it add context based on the userId and threadId and saves the input and
1747
- * resulting messages to the thread, if specified. This overload is for when there's no schema.
1748
- * Use {@link continueThread} to get a version of this function already scoped
1749
- * to a thread (and optionally userId).
1750
- * @param args The arguments to the generateObject function, along with extra controls
1751
- * for the {@link ContextOptions} and {@link StorageOptions}.
1752
- * @returns The result of the generateObject function.
1753
- */
1754
- generateObject(args: GenerateObjectNoSchemaOptions, options?: Options): Promise<GenerateObjectResult<JSONValue> & ThreadOutputMetadata>;
1755
- /**
1756
- * This behaves like {@link streamObject} from the "ai" package except that
1757
- * it add context based on the userId and threadId and saves the input and
1758
- * resulting messages to the thread, if specified.
1759
- * Use {@link continueThread} to get a version of this function already scoped
1760
- * to a thread (and optionally userId).
1761
- * @param args The arguments to the streamObject function, along with extra controls
1762
- * for the {@link ContextOptions} and {@link StorageOptions}.
1763
- * @returns The result of the streamObject function.
1764
- */
1765
- streamObject<T>(args: OurStreamObjectArgs<T>, options?: Options): Promise<StreamObjectResult<DeepPartial<T>, T, never> & ThreadOutputMetadata>;
1766
- }
1096
+ /**
1097
+ * This behaves like {@link generateText} from the "ai" package except that
1098
+ * it add context based on the userId and threadId and saves the input and
1099
+ * resulting messages to the thread, if specified.
1100
+ * Use {@link continueThread} to get a version of this function already scoped
1101
+ * to a thread (and optionally userId).
1102
+ * @param args The arguments to the generateText function, along with extra controls
1103
+ * for the {@link ContextOptions} and {@link StorageOptions}.
1104
+ * @returns The result of the generateText function.
1105
+ */
1106
+ generateText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, OUTPUT_PARTIAL = never>(args: TextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, OUTPUT_PARTIAL>, options?: Options): Promise<GenerateTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, OUTPUT> & ThreadOutputMetadata>;
1107
+ /**
1108
+ * This behaves like {@link streamText} from the "ai" package except that
1109
+ * it add context based on the userId and threadId and saves the input and
1110
+ * resulting messages to the thread, if specified.
1111
+ * Use {@link continueThread} to get a version of this function already scoped
1112
+ * to a thread (and optionally userId).
1113
+ * @param args The arguments to the streamText function, along with extra controls
1114
+ * for the {@link ContextOptions} and {@link StorageOptions}.
1115
+ * @returns The result of the streamText function.
1116
+ */
1117
+ streamText<TOOLS extends ToolSet | undefined = undefined, OUTPUT = never, PARTIAL_OUTPUT = never>(args: StreamingTextArgs<TOOLS extends undefined ? DefaultTools : TOOLS, TOOLS, OUTPUT, PARTIAL_OUTPUT>, options?: Options): Promise<StreamTextResult<TOOLS extends undefined ? DefaultTools : TOOLS, PARTIAL_OUTPUT> & ThreadOutputMetadata>;
1118
+ /**
1119
+ * This behaves like {@link generateObject} from the "ai" package except that
1120
+ * it add context based on the userId and threadId and saves the input and
1121
+ * resulting messages to the thread, if specified. This overload is for objects, arrays, and enums.
1122
+ * Use {@link continueThread} to get a version of this function already scoped
1123
+ * to a thread (and optionally userId).
1124
+ * @param args The arguments to the generateObject function, along with extra controls
1125
+ * for the {@link ContextOptions} and {@link StorageOptions}.
1126
+ * @returns The result of the generateObject function.
1127
+ */
1128
+ generateObject<T>(args: OurObjectArgs<T>, options?: Options): Promise<GenerateObjectResult<T> & ThreadOutputMetadata>;
1129
+ /**
1130
+ * This behaves like {@link generateObject} from the "ai" package except that
1131
+ * it add context based on the userId and threadId and saves the input and
1132
+ * resulting messages to the thread, if specified. This overload is for when there's no schema.
1133
+ * Use {@link continueThread} to get a version of this function already scoped
1134
+ * to a thread (and optionally userId).
1135
+ * @param args The arguments to the generateObject function, along with extra controls
1136
+ * for the {@link ContextOptions} and {@link StorageOptions}.
1137
+ * @returns The result of the generateObject function.
1138
+ */
1139
+ generateObject(args: GenerateObjectNoSchemaOptions, options?: Options): Promise<GenerateObjectResult<JSONValue> & ThreadOutputMetadata>;
1140
+ /**
1141
+ * This behaves like {@link streamObject} from the "ai" package except that
1142
+ * it add context based on the userId and threadId and saves the input and
1143
+ * resulting messages to the thread, if specified.
1144
+ * Use {@link continueThread} to get a version of this function already scoped
1145
+ * to a thread (and optionally userId).
1146
+ * @param args The arguments to the streamObject function, along with extra controls
1147
+ * for the {@link ContextOptions} and {@link StorageOptions}.
1148
+ * @returns The result of the streamObject function.
1149
+ */
1150
+ streamObject<T>(args: OurStreamObjectArgs<T>, options?: Options): Promise<StreamObjectResult<DeepPartial<T>, T, never> & ThreadOutputMetadata>;
1151
+ }
1152
+ export declare const vThreadDoc: import("convex/values").VObject<{
1153
+ userId?: string | undefined;
1154
+ title?: string | undefined;
1155
+ summary?: string | undefined;
1156
+ status: "active" | "archived";
1157
+ _creationTime: number;
1158
+ _id: string;
1159
+ }, {
1160
+ _id: import("convex/values").VString<string, "required">;
1161
+ _creationTime: import("convex/values").VFloat64<number, "required">;
1162
+ userId: import("convex/values").VString<string | undefined, "optional">;
1163
+ title: import("convex/values").VString<string | undefined, "optional">;
1164
+ summary: import("convex/values").VString<string | undefined, "optional">;
1165
+ status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
1166
+ }, "required", "status" | "userId" | "title" | "summary" | "_creationTime" | "_id">;
1167
+ export type ThreadDoc = Infer<typeof vThreadDoc>;
1168
+ export declare const vMessageDoc: import("convex/values").VObject<{
1169
+ id?: string | undefined;
1170
+ userId?: string | undefined;
1171
+ parentMessageId?: string | undefined;
1172
+ stepId?: string | undefined;
1173
+ embeddingId?: string | undefined;
1174
+ error?: string | undefined;
1175
+ agentName?: string | undefined;
1176
+ model?: string | undefined;
1177
+ provider?: string | undefined;
1178
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1179
+ message?: {
1180
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1181
+ role: "user";
1182
+ content: string | ({
1183
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1184
+ type: "text";
1185
+ text: string;
1186
+ } | {
1187
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1188
+ mimeType?: string | undefined;
1189
+ type: "image";
1190
+ image: string | ArrayBuffer;
1191
+ } | {
1192
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1193
+ type: "file";
1194
+ mimeType: string;
1195
+ data: string | ArrayBuffer;
1196
+ })[];
1197
+ } | {
1198
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1199
+ role: "assistant";
1200
+ content: string | ({
1201
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1202
+ type: "text";
1203
+ text: string;
1204
+ } | {
1205
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1206
+ type: "file";
1207
+ mimeType: string;
1208
+ data: string | ArrayBuffer;
1209
+ } | {
1210
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1211
+ signature?: string | undefined;
1212
+ type: "reasoning";
1213
+ text: string;
1214
+ } | {
1215
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1216
+ type: "redacted-reasoning";
1217
+ data: string;
1218
+ } | {
1219
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1220
+ type: "tool-call";
1221
+ toolCallId: string;
1222
+ toolName: string;
1223
+ args: any;
1224
+ })[];
1225
+ } | {
1226
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1227
+ role: "tool";
1228
+ content: {
1229
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1230
+ args?: any;
1231
+ experimental_content?: ({
1232
+ type: "text";
1233
+ text: string;
1234
+ } | {
1235
+ mimeType?: string | undefined;
1236
+ type: "image";
1237
+ data: string;
1238
+ })[] | undefined;
1239
+ isError?: boolean | undefined;
1240
+ type: "tool-result";
1241
+ toolCallId: string;
1242
+ toolName: string;
1243
+ result: any;
1244
+ }[];
1245
+ } | {
1246
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1247
+ role: "system";
1248
+ content: string;
1249
+ } | undefined;
1250
+ text?: string | undefined;
1251
+ reasoning?: string | undefined;
1252
+ files?: {
1253
+ bytes?: ArrayBuffer | undefined;
1254
+ url?: string | undefined;
1255
+ fileId?: string | undefined;
1256
+ mimeType: string;
1257
+ }[] | undefined;
1258
+ usage?: {
1259
+ promptTokens: number;
1260
+ completionTokens: number;
1261
+ totalTokens: number;
1262
+ } | undefined;
1263
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1264
+ sources?: {
1265
+ title?: string | undefined;
1266
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1267
+ id: string;
1268
+ url: string;
1269
+ sourceType: "url";
1270
+ }[] | undefined;
1271
+ reasoningDetails?: ({
1272
+ signature?: string | undefined;
1273
+ type: "text";
1274
+ text: string;
1275
+ } | {
1276
+ type: "redacted";
1277
+ data: string;
1278
+ })[] | undefined;
1279
+ warnings?: ({
1280
+ details?: string | undefined;
1281
+ type: "unsupported-setting";
1282
+ setting: string;
1283
+ } | {
1284
+ details?: string | undefined;
1285
+ type: "unsupported-tool";
1286
+ tool: any;
1287
+ } | {
1288
+ type: "other";
1289
+ message: string;
1290
+ })[] | undefined;
1291
+ finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
1292
+ status: "pending" | "success" | "failed";
1293
+ order: number;
1294
+ _creationTime: number;
1295
+ threadId: string;
1296
+ stepOrder: number;
1297
+ tool: boolean;
1298
+ _id: string;
1299
+ }, {
1300
+ threadId: import("convex/values").VString<string, "required">;
1301
+ parentMessageId: import("convex/values").VString<string | undefined, "optional">;
1302
+ stepId: import("convex/values").VString<string | undefined, "optional">;
1303
+ embeddingId: import("convex/values").VString<string | undefined, "optional">;
1304
+ files: import("convex/values").VArray<{
1305
+ bytes?: ArrayBuffer | undefined;
1306
+ url?: string | undefined;
1307
+ fileId?: string | undefined;
1308
+ mimeType: string;
1309
+ }[] | undefined, import("convex/values").VObject<{
1310
+ bytes?: ArrayBuffer | undefined;
1311
+ url?: string | undefined;
1312
+ fileId?: string | undefined;
1313
+ mimeType: string;
1314
+ }, {
1315
+ bytes: import("convex/values").VBytes<ArrayBuffer | undefined, "optional">;
1316
+ url: import("convex/values").VString<string | undefined, "optional">;
1317
+ mimeType: import("convex/values").VString<string, "required">;
1318
+ fileId: import("convex/values").VString<string | undefined, "optional">;
1319
+ }, "required", "bytes" | "mimeType" | "url" | "fileId">, "optional">;
1320
+ id: import("convex/values").VString<string | undefined, "optional">;
1321
+ userId: import("convex/values").VString<string | undefined, "optional">;
1322
+ order: import("convex/values").VFloat64<number, "required">;
1323
+ stepOrder: import("convex/values").VFloat64<number, "required">;
1324
+ error: import("convex/values").VString<string | undefined, "optional">;
1325
+ status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
1326
+ agentName: import("convex/values").VString<string | undefined, "optional">;
1327
+ model: import("convex/values").VString<string | undefined, "optional">;
1328
+ provider: import("convex/values").VString<string | undefined, "optional">;
1329
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1330
+ message: import("convex/values").VUnion<{
1331
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1332
+ role: "user";
1333
+ content: string | ({
1334
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1335
+ type: "text";
1336
+ text: string;
1337
+ } | {
1338
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1339
+ mimeType?: string | undefined;
1340
+ type: "image";
1341
+ image: string | ArrayBuffer;
1342
+ } | {
1343
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1344
+ type: "file";
1345
+ mimeType: string;
1346
+ data: string | ArrayBuffer;
1347
+ })[];
1348
+ } | {
1349
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1350
+ role: "assistant";
1351
+ content: string | ({
1352
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1353
+ type: "text";
1354
+ text: string;
1355
+ } | {
1356
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1357
+ type: "file";
1358
+ mimeType: string;
1359
+ data: string | ArrayBuffer;
1360
+ } | {
1361
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1362
+ signature?: string | undefined;
1363
+ type: "reasoning";
1364
+ text: string;
1365
+ } | {
1366
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1367
+ type: "redacted-reasoning";
1368
+ data: string;
1369
+ } | {
1370
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1371
+ type: "tool-call";
1372
+ toolCallId: string;
1373
+ toolName: string;
1374
+ args: any;
1375
+ })[];
1376
+ } | {
1377
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1378
+ role: "tool";
1379
+ content: {
1380
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1381
+ args?: any;
1382
+ experimental_content?: ({
1383
+ type: "text";
1384
+ text: string;
1385
+ } | {
1386
+ mimeType?: string | undefined;
1387
+ type: "image";
1388
+ data: string;
1389
+ })[] | undefined;
1390
+ isError?: boolean | undefined;
1391
+ type: "tool-result";
1392
+ toolCallId: string;
1393
+ toolName: string;
1394
+ result: any;
1395
+ }[];
1396
+ } | {
1397
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1398
+ role: "system";
1399
+ content: string;
1400
+ } | undefined, [import("convex/values").VObject<{
1401
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1402
+ role: "user";
1403
+ content: string | ({
1404
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1405
+ type: "text";
1406
+ text: string;
1407
+ } | {
1408
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1409
+ mimeType?: string | undefined;
1410
+ type: "image";
1411
+ image: string | ArrayBuffer;
1412
+ } | {
1413
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1414
+ type: "file";
1415
+ mimeType: string;
1416
+ data: string | ArrayBuffer;
1417
+ })[];
1418
+ }, {
1419
+ role: import("convex/values").VLiteral<"user", "required">;
1420
+ content: import("convex/values").VUnion<string | ({
1421
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1422
+ type: "text";
1423
+ text: string;
1424
+ } | {
1425
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1426
+ mimeType?: string | undefined;
1427
+ type: "image";
1428
+ image: string | ArrayBuffer;
1429
+ } | {
1430
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1431
+ type: "file";
1432
+ mimeType: string;
1433
+ data: string | ArrayBuffer;
1434
+ })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
1435
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1436
+ type: "text";
1437
+ text: string;
1438
+ } | {
1439
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1440
+ mimeType?: string | undefined;
1441
+ type: "image";
1442
+ image: string | ArrayBuffer;
1443
+ } | {
1444
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1445
+ type: "file";
1446
+ mimeType: string;
1447
+ data: string | ArrayBuffer;
1448
+ })[], import("convex/values").VUnion<{
1449
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1450
+ type: "text";
1451
+ text: string;
1452
+ } | {
1453
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1454
+ mimeType?: string | undefined;
1455
+ type: "image";
1456
+ image: string | ArrayBuffer;
1457
+ } | {
1458
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1459
+ type: "file";
1460
+ mimeType: string;
1461
+ data: string | ArrayBuffer;
1462
+ }, [import("convex/values").VObject<{
1463
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1464
+ type: "text";
1465
+ text: string;
1466
+ }, {
1467
+ type: import("convex/values").VLiteral<"text", "required">;
1468
+ text: import("convex/values").VString<string, "required">;
1469
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1470
+ }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
1471
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1472
+ mimeType?: string | undefined;
1473
+ type: "image";
1474
+ image: string | ArrayBuffer;
1475
+ }, {
1476
+ type: import("convex/values").VLiteral<"image", "required">;
1477
+ image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
1478
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
1479
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1480
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mimeType">, import("convex/values").VObject<{
1481
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1482
+ type: "file";
1483
+ mimeType: string;
1484
+ data: string | ArrayBuffer;
1485
+ }, {
1486
+ type: import("convex/values").VLiteral<"file", "required">;
1487
+ data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
1488
+ mimeType: import("convex/values").VString<string, "required">;
1489
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1490
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mimeType" | "data">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "mimeType" | "data">, "required">], "required", never>;
1491
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1492
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
1493
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1494
+ role: "assistant";
1495
+ content: string | ({
1496
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1497
+ type: "text";
1498
+ text: string;
1499
+ } | {
1500
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1501
+ type: "file";
1502
+ mimeType: string;
1503
+ data: string | ArrayBuffer;
1504
+ } | {
1505
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1506
+ signature?: string | undefined;
1507
+ type: "reasoning";
1508
+ text: string;
1509
+ } | {
1510
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1511
+ type: "redacted-reasoning";
1512
+ data: string;
1513
+ } | {
1514
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1515
+ type: "tool-call";
1516
+ toolCallId: string;
1517
+ toolName: string;
1518
+ args: any;
1519
+ })[];
1520
+ }, {
1521
+ role: import("convex/values").VLiteral<"assistant", "required">;
1522
+ content: import("convex/values").VUnion<string | ({
1523
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1524
+ type: "text";
1525
+ text: string;
1526
+ } | {
1527
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1528
+ type: "file";
1529
+ mimeType: string;
1530
+ data: string | ArrayBuffer;
1531
+ } | {
1532
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1533
+ signature?: string | undefined;
1534
+ type: "reasoning";
1535
+ text: string;
1536
+ } | {
1537
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1538
+ type: "redacted-reasoning";
1539
+ data: string;
1540
+ } | {
1541
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1542
+ type: "tool-call";
1543
+ toolCallId: string;
1544
+ toolName: string;
1545
+ args: any;
1546
+ })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
1547
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1548
+ type: "text";
1549
+ text: string;
1550
+ } | {
1551
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1552
+ type: "file";
1553
+ mimeType: string;
1554
+ data: string | ArrayBuffer;
1555
+ } | {
1556
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1557
+ signature?: string | undefined;
1558
+ type: "reasoning";
1559
+ text: string;
1560
+ } | {
1561
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1562
+ type: "redacted-reasoning";
1563
+ data: string;
1564
+ } | {
1565
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1566
+ type: "tool-call";
1567
+ toolCallId: string;
1568
+ toolName: string;
1569
+ args: any;
1570
+ })[], import("convex/values").VUnion<{
1571
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1572
+ type: "text";
1573
+ text: string;
1574
+ } | {
1575
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1576
+ type: "file";
1577
+ mimeType: string;
1578
+ data: string | ArrayBuffer;
1579
+ } | {
1580
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1581
+ signature?: string | undefined;
1582
+ type: "reasoning";
1583
+ text: string;
1584
+ } | {
1585
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1586
+ type: "redacted-reasoning";
1587
+ data: string;
1588
+ } | {
1589
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1590
+ type: "tool-call";
1591
+ toolCallId: string;
1592
+ toolName: string;
1593
+ args: any;
1594
+ }, [import("convex/values").VObject<{
1595
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1596
+ type: "text";
1597
+ text: string;
1598
+ }, {
1599
+ type: import("convex/values").VLiteral<"text", "required">;
1600
+ text: import("convex/values").VString<string, "required">;
1601
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1602
+ }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
1603
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1604
+ type: "file";
1605
+ mimeType: string;
1606
+ data: string | ArrayBuffer;
1607
+ }, {
1608
+ type: import("convex/values").VLiteral<"file", "required">;
1609
+ data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
1610
+ mimeType: import("convex/values").VString<string, "required">;
1611
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1612
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mimeType" | "data">, import("convex/values").VObject<{
1613
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1614
+ signature?: string | undefined;
1615
+ type: "reasoning";
1616
+ text: string;
1617
+ }, {
1618
+ type: import("convex/values").VLiteral<"reasoning", "required">;
1619
+ text: import("convex/values").VString<string, "required">;
1620
+ signature: import("convex/values").VString<string | undefined, "optional">;
1621
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1622
+ }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, import("convex/values").VObject<{
1623
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1624
+ type: "redacted-reasoning";
1625
+ data: string;
1626
+ }, {
1627
+ type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
1628
+ data: import("convex/values").VString<string, "required">;
1629
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1630
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, import("convex/values").VObject<{
1631
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1632
+ type: "tool-call";
1633
+ toolCallId: string;
1634
+ toolName: string;
1635
+ args: any;
1636
+ }, {
1637
+ type: import("convex/values").VLiteral<"tool-call", "required">;
1638
+ toolCallId: import("convex/values").VString<string, "required">;
1639
+ toolName: import("convex/values").VString<string, "required">;
1640
+ args: import("convex/values").VAny<any, "required", string>;
1641
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1642
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "required">], "required", never>;
1643
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1644
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
1645
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1646
+ role: "tool";
1647
+ content: {
1648
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1649
+ args?: any;
1650
+ experimental_content?: ({
1651
+ type: "text";
1652
+ text: string;
1653
+ } | {
1654
+ mimeType?: string | undefined;
1655
+ type: "image";
1656
+ data: string;
1657
+ })[] | undefined;
1658
+ isError?: boolean | undefined;
1659
+ type: "tool-result";
1660
+ toolCallId: string;
1661
+ toolName: string;
1662
+ result: any;
1663
+ }[];
1664
+ }, {
1665
+ role: import("convex/values").VLiteral<"tool", "required">;
1666
+ content: import("convex/values").VArray<{
1667
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1668
+ args?: any;
1669
+ experimental_content?: ({
1670
+ type: "text";
1671
+ text: string;
1672
+ } | {
1673
+ mimeType?: string | undefined;
1674
+ type: "image";
1675
+ data: string;
1676
+ })[] | undefined;
1677
+ isError?: boolean | undefined;
1678
+ type: "tool-result";
1679
+ toolCallId: string;
1680
+ toolName: string;
1681
+ result: any;
1682
+ }[], import("convex/values").VObject<{
1683
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1684
+ args?: any;
1685
+ experimental_content?: ({
1686
+ type: "text";
1687
+ text: string;
1688
+ } | {
1689
+ mimeType?: string | undefined;
1690
+ type: "image";
1691
+ data: string;
1692
+ })[] | undefined;
1693
+ isError?: boolean | undefined;
1694
+ type: "tool-result";
1695
+ toolCallId: string;
1696
+ toolName: string;
1697
+ result: any;
1698
+ }, {
1699
+ type: import("convex/values").VLiteral<"tool-result", "required">;
1700
+ toolCallId: import("convex/values").VString<string, "required">;
1701
+ toolName: import("convex/values").VString<string, "required">;
1702
+ result: import("convex/values").VAny<any, "required", string>;
1703
+ args: import("convex/values").VAny<any, "optional", string>;
1704
+ experimental_content: import("convex/values").VArray<({
1705
+ type: "text";
1706
+ text: string;
1707
+ } | {
1708
+ mimeType?: string | undefined;
1709
+ type: "image";
1710
+ data: string;
1711
+ })[] | undefined, import("convex/values").VUnion<{
1712
+ type: "text";
1713
+ text: string;
1714
+ } | {
1715
+ mimeType?: string | undefined;
1716
+ type: "image";
1717
+ data: string;
1718
+ }, [import("convex/values").VObject<{
1719
+ type: "text";
1720
+ text: string;
1721
+ }, {
1722
+ type: import("convex/values").VLiteral<"text", "required">;
1723
+ text: import("convex/values").VString<string, "required">;
1724
+ }, "required", "type" | "text">, import("convex/values").VObject<{
1725
+ mimeType?: string | undefined;
1726
+ type: "image";
1727
+ data: string;
1728
+ }, {
1729
+ type: import("convex/values").VLiteral<"image", "required">;
1730
+ data: import("convex/values").VString<string, "required">;
1731
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
1732
+ }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
1733
+ isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
1734
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1735
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>, "required">;
1736
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1737
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
1738
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1739
+ role: "system";
1740
+ content: string;
1741
+ }, {
1742
+ role: import("convex/values").VLiteral<"system", "required">;
1743
+ content: import("convex/values").VString<string, "required">;
1744
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1745
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
1746
+ tool: import("convex/values").VBoolean<boolean, "required">;
1747
+ text: import("convex/values").VString<string | undefined, "optional">;
1748
+ usage: import("convex/values").VObject<{
1749
+ promptTokens: number;
1750
+ completionTokens: number;
1751
+ totalTokens: number;
1752
+ } | undefined, {
1753
+ promptTokens: import("convex/values").VFloat64<number, "required">;
1754
+ completionTokens: import("convex/values").VFloat64<number, "required">;
1755
+ totalTokens: import("convex/values").VFloat64<number, "required">;
1756
+ }, "optional", "promptTokens" | "completionTokens" | "totalTokens">;
1757
+ providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1758
+ sources: import("convex/values").VArray<{
1759
+ title?: string | undefined;
1760
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1761
+ id: string;
1762
+ url: string;
1763
+ sourceType: "url";
1764
+ }[] | undefined, import("convex/values").VObject<{
1765
+ title?: string | undefined;
1766
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1767
+ id: string;
1768
+ url: string;
1769
+ sourceType: "url";
1770
+ }, {
1771
+ sourceType: import("convex/values").VLiteral<"url", "required">;
1772
+ id: import("convex/values").VString<string, "required">;
1773
+ url: import("convex/values").VString<string, "required">;
1774
+ title: import("convex/values").VString<string | undefined, "optional">;
1775
+ providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
1776
+ }, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "url" | "sourceType">, "optional">;
1777
+ reasoning: import("convex/values").VString<string | undefined, "optional">;
1778
+ reasoningDetails: import("convex/values").VArray<({
1779
+ signature?: string | undefined;
1780
+ type: "text";
1781
+ text: string;
1782
+ } | {
1783
+ type: "redacted";
1784
+ data: string;
1785
+ })[] | undefined, import("convex/values").VUnion<{
1786
+ signature?: string | undefined;
1787
+ type: "text";
1788
+ text: string;
1789
+ } | {
1790
+ type: "redacted";
1791
+ data: string;
1792
+ }, [import("convex/values").VObject<{
1793
+ signature?: string | undefined;
1794
+ type: "text";
1795
+ text: string;
1796
+ }, {
1797
+ type: import("convex/values").VLiteral<"text", "required">;
1798
+ text: import("convex/values").VString<string, "required">;
1799
+ signature: import("convex/values").VString<string | undefined, "optional">;
1800
+ }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
1801
+ type: "redacted";
1802
+ data: string;
1803
+ }, {
1804
+ type: import("convex/values").VLiteral<"redacted", "required">;
1805
+ data: import("convex/values").VString<string, "required">;
1806
+ }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
1807
+ warnings: import("convex/values").VArray<({
1808
+ details?: string | undefined;
1809
+ type: "unsupported-setting";
1810
+ setting: string;
1811
+ } | {
1812
+ details?: string | undefined;
1813
+ type: "unsupported-tool";
1814
+ tool: any;
1815
+ } | {
1816
+ type: "other";
1817
+ message: string;
1818
+ })[] | undefined, import("convex/values").VUnion<{
1819
+ details?: string | undefined;
1820
+ type: "unsupported-setting";
1821
+ setting: string;
1822
+ } | {
1823
+ details?: string | undefined;
1824
+ type: "unsupported-tool";
1825
+ tool: any;
1826
+ } | {
1827
+ type: "other";
1828
+ message: string;
1829
+ }, [import("convex/values").VObject<{
1830
+ details?: string | undefined;
1831
+ type: "unsupported-setting";
1832
+ setting: string;
1833
+ }, {
1834
+ type: import("convex/values").VLiteral<"unsupported-setting", "required">;
1835
+ setting: import("convex/values").VString<string, "required">;
1836
+ details: import("convex/values").VString<string | undefined, "optional">;
1837
+ }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
1838
+ details?: string | undefined;
1839
+ type: "unsupported-tool";
1840
+ tool: any;
1841
+ }, {
1842
+ type: import("convex/values").VLiteral<"unsupported-tool", "required">;
1843
+ tool: import("convex/values").VAny<any, "required", string>;
1844
+ details: import("convex/values").VString<string | undefined, "optional">;
1845
+ }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
1846
+ type: "other";
1847
+ message: string;
1848
+ }, {
1849
+ type: import("convex/values").VLiteral<"other", "required">;
1850
+ message: import("convex/values").VString<string, "required">;
1851
+ }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
1852
+ finishReason: import("convex/values").VUnion<"length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined, [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "optional", never>;
1853
+ _id: import("convex/values").VString<string, "required">;
1854
+ _creationTime: import("convex/values").VFloat64<number, "required">;
1855
+ }, "required", "id" | "status" | "userId" | "order" | "_creationTime" | "threadId" | "parentMessageId" | "stepId" | "stepOrder" | "embeddingId" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "files" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}` | "_id">;
1856
+ export type MessageDoc = Infer<typeof vMessageDoc>;
1857
+ type MessageWithMetadata = OpaqueIds<InnerMessageWithMetadata>;
1858
+ export declare function toUIMessages(messages: MessageDoc[]): UIMessage[];
1767
1859
  //# sourceMappingURL=index.d.ts.map