@convex-dev/agent 0.5.0-alpha.1 → 0.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/MIGRATION.md +153 -0
  2. package/README.md +32 -27
  3. package/dist/UIMessages.d.ts +46 -0
  4. package/dist/UIMessages.d.ts.map +1 -0
  5. package/dist/UIMessages.js +546 -0
  6. package/dist/UIMessages.js.map +1 -0
  7. package/dist/client/createTool.d.ts +126 -27
  8. package/dist/client/createTool.d.ts.map +1 -1
  9. package/dist/client/createTool.js +67 -12
  10. package/dist/client/createTool.js.map +1 -1
  11. package/dist/client/defaultComponent.d.ts +11 -0
  12. package/dist/client/defaultComponent.d.ts.map +1 -0
  13. package/dist/client/defaultComponent.js +7 -0
  14. package/dist/client/defaultComponent.js.map +1 -0
  15. package/dist/client/definePlaygroundAPI.d.ts +1335 -204
  16. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  17. package/dist/client/definePlaygroundAPI.js +52 -28
  18. package/dist/client/definePlaygroundAPI.js.map +1 -1
  19. package/dist/client/files.d.ts +20 -7
  20. package/dist/client/files.d.ts.map +1 -1
  21. package/dist/client/files.js +68 -11
  22. package/dist/client/files.js.map +1 -1
  23. package/dist/client/index.d.ts +1116 -978
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +332 -747
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/messages.d.ts +461 -0
  28. package/dist/client/messages.d.ts.map +1 -0
  29. package/dist/client/messages.js +106 -0
  30. package/dist/client/messages.js.map +1 -0
  31. package/dist/client/mockModel.d.ts +42 -0
  32. package/dist/client/mockModel.d.ts.map +1 -0
  33. package/dist/client/mockModel.js +182 -0
  34. package/dist/client/mockModel.js.map +1 -0
  35. package/dist/client/saveInputMessages.d.ts +20 -0
  36. package/dist/client/saveInputMessages.d.ts.map +1 -0
  37. package/dist/client/saveInputMessages.js +58 -0
  38. package/dist/client/saveInputMessages.js.map +1 -0
  39. package/dist/client/search.d.ts +350 -39
  40. package/dist/client/search.d.ts.map +1 -1
  41. package/dist/client/search.js +350 -39
  42. package/dist/client/search.js.map +1 -1
  43. package/dist/client/start.d.ts +84 -0
  44. package/dist/client/start.d.ts.map +1 -0
  45. package/dist/client/start.js +185 -0
  46. package/dist/client/start.js.map +1 -0
  47. package/dist/client/streamText.d.ts +46 -0
  48. package/dist/client/streamText.d.ts.map +1 -0
  49. package/dist/client/streamText.js +117 -0
  50. package/dist/client/streamText.js.map +1 -0
  51. package/dist/client/streaming.d.ts +3716 -32
  52. package/dist/client/streaming.d.ts.map +1 -1
  53. package/dist/client/streaming.js +161 -59
  54. package/dist/client/streaming.js.map +1 -1
  55. package/dist/client/threads.d.ts +46 -0
  56. package/dist/client/threads.d.ts.map +1 -0
  57. package/dist/client/threads.js +49 -0
  58. package/dist/client/threads.js.map +1 -0
  59. package/dist/client/types.d.ts +266 -128
  60. package/dist/client/types.d.ts.map +1 -1
  61. package/dist/client/utils.d.ts +4 -0
  62. package/dist/client/utils.d.ts.map +1 -0
  63. package/dist/client/utils.js +21 -0
  64. package/dist/client/utils.js.map +1 -0
  65. package/dist/component/_generated/api.d.ts +24 -2178
  66. package/dist/component/_generated/api.d.ts.map +1 -1
  67. package/dist/component/_generated/api.js +10 -1
  68. package/dist/component/_generated/api.js.map +1 -1
  69. package/dist/component/_generated/component.d.ts +3120 -0
  70. package/dist/component/_generated/component.d.ts.map +1 -0
  71. package/dist/component/_generated/component.js +11 -0
  72. package/dist/component/_generated/component.js.map +1 -0
  73. package/dist/component/_generated/dataModel.d.ts +4 -18
  74. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  75. package/dist/component/_generated/dataModel.js +11 -0
  76. package/dist/component/_generated/dataModel.js.map +1 -0
  77. package/dist/component/_generated/server.d.ts +10 -38
  78. package/dist/component/_generated/server.d.ts.map +1 -1
  79. package/dist/component/_generated/server.js +9 -5
  80. package/dist/component/_generated/server.js.map +1 -1
  81. package/dist/component/files.d.ts +16 -10
  82. package/dist/component/files.d.ts.map +1 -1
  83. package/dist/component/files.js +10 -2
  84. package/dist/component/files.js.map +1 -1
  85. package/dist/component/messages.d.ts +2578 -366
  86. package/dist/component/messages.d.ts.map +1 -1
  87. package/dist/component/messages.js +397 -154
  88. package/dist/component/messages.js.map +1 -1
  89. package/dist/component/schema.d.ts +5697 -3584
  90. package/dist/component/schema.d.ts.map +1 -1
  91. package/dist/component/schema.js +18 -41
  92. package/dist/component/schema.js.map +1 -1
  93. package/dist/component/streams.d.ts +39 -339
  94. package/dist/component/streams.d.ts.map +1 -1
  95. package/dist/component/streams.js +114 -73
  96. package/dist/component/streams.js.map +1 -1
  97. package/dist/component/threads.d.ts +13 -13
  98. package/dist/component/users.d.ts +7 -7
  99. package/dist/component/vector/index.d.ts +1 -1
  100. package/dist/component/vector/index.d.ts.map +1 -1
  101. package/dist/component/vector/index.js +1 -3
  102. package/dist/component/vector/index.js.map +1 -1
  103. package/dist/deltas.d.ts +43 -0
  104. package/dist/deltas.d.ts.map +1 -0
  105. package/dist/deltas.js +446 -0
  106. package/dist/deltas.js.map +1 -0
  107. package/dist/mapping.d.ts +38 -20
  108. package/dist/mapping.d.ts.map +1 -1
  109. package/dist/mapping.js +365 -97
  110. package/dist/mapping.js.map +1 -1
  111. package/dist/react/SmoothText.d.ts +5 -0
  112. package/dist/react/SmoothText.d.ts.map +1 -0
  113. package/dist/react/SmoothText.js +6 -0
  114. package/dist/react/SmoothText.js.map +1 -0
  115. package/dist/react/index.d.ts +5 -77
  116. package/dist/react/index.d.ts.map +1 -1
  117. package/dist/react/index.js +6 -160
  118. package/dist/react/index.js.map +1 -1
  119. package/dist/react/optimisticallySendMessage.d.ts +36 -3
  120. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  121. package/dist/react/optimisticallySendMessage.js +35 -9
  122. package/dist/react/optimisticallySendMessage.js.map +1 -1
  123. package/dist/react/types.d.ts +4 -18
  124. package/dist/react/types.d.ts.map +1 -1
  125. package/dist/react/useDeltaStreams.d.ts +10 -0
  126. package/dist/react/useDeltaStreams.d.ts.map +1 -0
  127. package/dist/react/useDeltaStreams.js +106 -0
  128. package/dist/react/useDeltaStreams.js.map +1 -0
  129. package/dist/react/useSmoothText.d.ts +13 -12
  130. package/dist/react/useSmoothText.d.ts.map +1 -1
  131. package/dist/react/useSmoothText.js +32 -15
  132. package/dist/react/useSmoothText.js.map +1 -1
  133. package/dist/react/useStreamingUIMessages.d.ts +22 -0
  134. package/dist/react/useStreamingUIMessages.d.ts.map +1 -0
  135. package/dist/react/useStreamingUIMessages.js +92 -0
  136. package/dist/react/useStreamingUIMessages.js.map +1 -0
  137. package/dist/react/useThreadMessages.d.ts +104 -0
  138. package/dist/react/useThreadMessages.d.ts.map +1 -0
  139. package/dist/react/useThreadMessages.js +148 -0
  140. package/dist/react/useThreadMessages.js.map +1 -0
  141. package/dist/react/useUIMessages.d.ts +96 -0
  142. package/dist/react/useUIMessages.d.ts.map +1 -0
  143. package/dist/react/useUIMessages.js +108 -0
  144. package/dist/react/useUIMessages.js.map +1 -0
  145. package/dist/shared.d.ts +20 -4
  146. package/dist/shared.d.ts.map +1 -1
  147. package/dist/shared.js +45 -8
  148. package/dist/shared.js.map +1 -1
  149. package/dist/validators.d.ts +22981 -5666
  150. package/dist/validators.d.ts.map +1 -1
  151. package/dist/validators.js +245 -137
  152. package/dist/validators.js.map +1 -1
  153. package/package.json +101 -51
  154. package/src/UIMessages.combineUIMessages.test.ts +239 -0
  155. package/src/UIMessages.test.ts +273 -0
  156. package/src/UIMessages.ts +739 -0
  157. package/src/client/approval.test.ts +350 -0
  158. package/src/client/createTool.ts +291 -76
  159. package/src/client/defaultComponent.ts +17 -0
  160. package/src/client/definePlaygroundAPI.ts +67 -31
  161. package/src/client/files.ts +100 -20
  162. package/src/client/index.test.ts +40 -85
  163. package/src/client/index.ts +638 -1289
  164. package/src/client/messages.ts +237 -0
  165. package/src/client/mockModel.ts +252 -0
  166. package/src/client/saveInputMessages.test.ts +583 -0
  167. package/src/client/saveInputMessages.ts +101 -0
  168. package/src/client/search.test.ts +1207 -0
  169. package/src/client/search.ts +581 -70
  170. package/src/client/start.ts +327 -0
  171. package/src/client/streamText.ts +187 -0
  172. package/src/client/streaming.test.ts +186 -0
  173. package/src/client/streaming.ts +241 -97
  174. package/src/client/threads.ts +83 -0
  175. package/src/client/types.ts +370 -219
  176. package/src/client/utils.ts +27 -0
  177. package/src/component/_generated/api.ts +64 -0
  178. package/src/component/_generated/component.ts +4902 -0
  179. package/src/component/_generated/{server.d.ts → server.ts} +33 -21
  180. package/src/component/files.ts +11 -2
  181. package/src/component/messages.test.ts +195 -51
  182. package/src/component/messages.ts +500 -201
  183. package/src/component/schema.ts +20 -46
  184. package/src/component/setup.test.ts +7 -0
  185. package/src/component/streams.ts +184 -83
  186. package/src/component/users.test.ts +0 -1
  187. package/src/component/vector/index.ts +1 -3
  188. package/src/deltas.test.ts +626 -0
  189. package/src/deltas.ts +569 -0
  190. package/src/fromUIMessages.test.ts +497 -0
  191. package/src/mapping.test.ts +180 -6
  192. package/src/mapping.ts +479 -162
  193. package/src/react/SmoothText.tsx +9 -0
  194. package/src/react/index.ts +10 -230
  195. package/src/react/optimisticallySendMessage.ts +55 -12
  196. package/src/react/types.ts +6 -39
  197. package/src/react/useDeltaStreams.ts +160 -0
  198. package/src/react/useSmoothText.ts +56 -36
  199. package/src/react/useStreamingUIMessages.ts +143 -0
  200. package/src/react/useThreadMessages.ts +262 -0
  201. package/src/react/useUIMessages.test.ts +255 -0
  202. package/src/react/useUIMessages.ts +195 -0
  203. package/src/shared.ts +88 -12
  204. package/src/test.ts +18 -0
  205. package/src/toUIMessages.test.ts +1269 -0
  206. package/src/validators.test.ts +18 -19
  207. package/src/validators.ts +325 -185
  208. package/dist/client/_generated/_ignore.d.ts +0 -1
  209. package/dist/client/_generated/_ignore.d.ts.map +0 -1
  210. package/dist/client/_generated/_ignore.js +0 -3
  211. package/dist/client/_generated/_ignore.js.map +0 -1
  212. package/dist/client/listMessages.d.ts +0 -22
  213. package/dist/client/listMessages.d.ts.map +0 -1
  214. package/dist/client/listMessages.js +0 -25
  215. package/dist/client/listMessages.js.map +0 -1
  216. package/dist/package.json +0 -3
  217. package/dist/react/deltas.d.ts +0 -26
  218. package/dist/react/deltas.d.ts.map +0 -1
  219. package/dist/react/deltas.js +0 -384
  220. package/dist/react/deltas.js.map +0 -1
  221. package/dist/react/toUIMessages.d.ts +0 -15
  222. package/dist/react/toUIMessages.d.ts.map +0 -1
  223. package/dist/react/toUIMessages.js +0 -211
  224. package/dist/react/toUIMessages.js.map +0 -1
  225. package/src/client/listMessages.ts +0 -38
  226. package/src/component/_generated/api.d.ts +0 -2202
  227. package/src/component/_generated/api.js +0 -23
  228. package/src/component/_generated/server.js +0 -90
  229. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  230. package/src/react/deltas.test.ts +0 -315
  231. package/src/react/deltas.ts +0 -478
  232. package/src/react/toUIMessages.test.ts +0 -420
  233. package/src/react/toUIMessages.ts +0 -253
  234. package/src/vitest.config.ts +0 -7
  235. /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
@@ -1,8 +1,3639 @@
1
- import { type ChunkDetector, type StreamTextTransform, type ToolSet } from "ai";
2
- import type { ProviderOptions, StreamArgs, StreamMessage, vTextStreamPartV5 } from "../validators.js";
3
- import type { MessageDoc } from "../component/schema.js";
4
- import type { AgentComponent, RunActionCtx, RunMutationCtx, RunQueryCtx, SyncStreamsReturnValue } from "./types.js";
5
- import type { Infer } from "convex/values";
1
+ import { type AsyncIterableStream, type ChunkDetector, type StreamTextTransform, type TextStreamPart, type ToolSet, type UIMessageChunk } from "ai";
2
+ import { type ProviderOptions, type StreamArgs, type StreamMessage } from "../validators.js";
3
+ import type { ActionCtx, AgentComponent, MutationCtx, QueryCtx, SyncStreamsReturnValue } from "./types.js";
4
+ export declare const vStreamMessagesReturnValue: import("convex/values").VObject<{
5
+ splitCursor?: string | null | undefined;
6
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null | undefined;
7
+ streams?: {
8
+ messages: {
9
+ userId?: string | undefined;
10
+ agentName?: string | undefined;
11
+ model?: string | undefined;
12
+ provider?: string | undefined;
13
+ providerOptions?: Record<string, Record<string, any>> | undefined;
14
+ format?: "UIMessageChunk" | "TextStreamPart" | undefined;
15
+ order: number;
16
+ stepOrder: number;
17
+ status: "aborted" | "streaming" | "finished";
18
+ streamId: string;
19
+ }[];
20
+ kind: "list";
21
+ } | {
22
+ deltas: {
23
+ streamId: string;
24
+ start: number;
25
+ end: number;
26
+ parts: any[];
27
+ }[];
28
+ kind: "deltas";
29
+ } | undefined;
30
+ isDone: boolean;
31
+ page: {
32
+ userId?: string | undefined;
33
+ id?: string | undefined;
34
+ embeddingId?: string | undefined;
35
+ fileIds?: string[] | undefined;
36
+ error?: string | undefined;
37
+ agentName?: string | undefined;
38
+ model?: string | undefined;
39
+ provider?: string | undefined;
40
+ providerOptions?: Record<string, Record<string, any>> | undefined;
41
+ message?: {
42
+ providerOptions?: Record<string, Record<string, any>> | undefined;
43
+ role: "user";
44
+ content: string | ({
45
+ providerOptions?: Record<string, Record<string, any>> | undefined;
46
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
47
+ type: "text";
48
+ text: string;
49
+ } | {
50
+ providerOptions?: Record<string, Record<string, any>> | undefined;
51
+ mediaType?: string | undefined;
52
+ mimeType?: string | undefined;
53
+ type: "image";
54
+ image: string | ArrayBuffer;
55
+ } | {
56
+ providerOptions?: Record<string, Record<string, any>> | undefined;
57
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
58
+ mediaType?: string | undefined;
59
+ mimeType?: string | undefined;
60
+ filename?: string | undefined;
61
+ type: "file";
62
+ data: string | ArrayBuffer;
63
+ })[];
64
+ } | {
65
+ providerOptions?: Record<string, Record<string, any>> | undefined;
66
+ role: "assistant";
67
+ content: string | ({
68
+ providerOptions?: Record<string, Record<string, any>> | undefined;
69
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
70
+ type: "text";
71
+ text: string;
72
+ } | {
73
+ providerOptions?: Record<string, Record<string, any>> | undefined;
74
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
75
+ mediaType?: string | undefined;
76
+ mimeType?: string | undefined;
77
+ filename?: string | undefined;
78
+ type: "file";
79
+ data: string | ArrayBuffer;
80
+ } | {
81
+ providerOptions?: Record<string, Record<string, any>> | undefined;
82
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
83
+ signature?: string | undefined;
84
+ type: "reasoning";
85
+ text: string;
86
+ } | {
87
+ providerOptions?: Record<string, Record<string, any>> | undefined;
88
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
89
+ type: "redacted-reasoning";
90
+ data: string;
91
+ } | {
92
+ providerOptions?: Record<string, Record<string, any>> | undefined;
93
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
94
+ args?: any;
95
+ providerExecuted?: boolean | undefined;
96
+ type: "tool-call";
97
+ toolCallId: string;
98
+ toolName: string;
99
+ input: any;
100
+ } | {
101
+ providerOptions?: Record<string, Record<string, any>> | undefined;
102
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
103
+ input?: any;
104
+ providerExecuted?: boolean | undefined;
105
+ type: "tool-call";
106
+ toolCallId: string;
107
+ toolName: string;
108
+ args: any;
109
+ } | {
110
+ providerOptions?: Record<string, Record<string, any>> | undefined;
111
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
112
+ args?: any;
113
+ providerExecuted?: boolean | undefined;
114
+ output?: {
115
+ providerOptions?: Record<string, Record<string, any>> | undefined;
116
+ type: "text";
117
+ value: string;
118
+ } | {
119
+ providerOptions?: Record<string, Record<string, any>> | undefined;
120
+ type: "json";
121
+ value: any;
122
+ } | {
123
+ providerOptions?: Record<string, Record<string, any>> | undefined;
124
+ type: "error-text";
125
+ value: string;
126
+ } | {
127
+ providerOptions?: Record<string, Record<string, any>> | undefined;
128
+ type: "error-json";
129
+ value: any;
130
+ } | {
131
+ providerOptions?: Record<string, Record<string, any>> | undefined;
132
+ reason?: string | undefined;
133
+ type: "execution-denied";
134
+ } | {
135
+ type: "content";
136
+ value: ({
137
+ providerOptions?: Record<string, Record<string, any>> | undefined;
138
+ type: "text";
139
+ text: string;
140
+ } | {
141
+ type: "media";
142
+ mediaType: string;
143
+ data: string;
144
+ } | {
145
+ providerOptions?: Record<string, Record<string, any>> | undefined;
146
+ filename?: string | undefined;
147
+ type: "file-data";
148
+ mediaType: string;
149
+ data: string;
150
+ } | {
151
+ providerOptions?: Record<string, Record<string, any>> | undefined;
152
+ type: "file-url";
153
+ url: string;
154
+ } | {
155
+ providerOptions?: Record<string, Record<string, any>> | undefined;
156
+ type: "file-id";
157
+ fileId: string | Record<string, string>;
158
+ } | {
159
+ providerOptions?: Record<string, Record<string, any>> | undefined;
160
+ type: "image-data";
161
+ mediaType: string;
162
+ data: string;
163
+ } | {
164
+ providerOptions?: Record<string, Record<string, any>> | undefined;
165
+ type: "image-url";
166
+ url: string;
167
+ } | {
168
+ providerOptions?: Record<string, Record<string, any>> | undefined;
169
+ type: "image-file-id";
170
+ fileId: string | Record<string, string>;
171
+ } | {
172
+ providerOptions?: Record<string, Record<string, any>> | undefined;
173
+ type: "custom";
174
+ })[];
175
+ } | undefined;
176
+ result?: any;
177
+ isError?: boolean | undefined;
178
+ experimental_content?: ({
179
+ type: "text";
180
+ text: string;
181
+ } | {
182
+ mimeType?: string | undefined;
183
+ type: "image";
184
+ data: string;
185
+ })[] | undefined;
186
+ type: "tool-result";
187
+ toolCallId: string;
188
+ toolName: string;
189
+ } | {
190
+ providerOptions?: Record<string, Record<string, any>> | undefined;
191
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
192
+ title?: string | undefined;
193
+ type: "source";
194
+ id: string;
195
+ url: string;
196
+ sourceType: "url";
197
+ } | {
198
+ providerOptions?: Record<string, Record<string, any>> | undefined;
199
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
200
+ filename?: string | undefined;
201
+ type: "source";
202
+ id: string;
203
+ mediaType: string;
204
+ sourceType: "document";
205
+ title: string;
206
+ } | {
207
+ providerOptions?: Record<string, Record<string, any>> | undefined;
208
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
209
+ type: "tool-approval-request";
210
+ toolCallId: string;
211
+ approvalId: string;
212
+ })[];
213
+ } | {
214
+ providerOptions?: Record<string, Record<string, any>> | undefined;
215
+ role: "tool";
216
+ content: ({
217
+ providerOptions?: Record<string, Record<string, any>> | undefined;
218
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
219
+ args?: any;
220
+ providerExecuted?: boolean | undefined;
221
+ output?: {
222
+ providerOptions?: Record<string, Record<string, any>> | undefined;
223
+ type: "text";
224
+ value: string;
225
+ } | {
226
+ providerOptions?: Record<string, Record<string, any>> | undefined;
227
+ type: "json";
228
+ value: any;
229
+ } | {
230
+ providerOptions?: Record<string, Record<string, any>> | undefined;
231
+ type: "error-text";
232
+ value: string;
233
+ } | {
234
+ providerOptions?: Record<string, Record<string, any>> | undefined;
235
+ type: "error-json";
236
+ value: any;
237
+ } | {
238
+ providerOptions?: Record<string, Record<string, any>> | undefined;
239
+ reason?: string | undefined;
240
+ type: "execution-denied";
241
+ } | {
242
+ type: "content";
243
+ value: ({
244
+ providerOptions?: Record<string, Record<string, any>> | undefined;
245
+ type: "text";
246
+ text: string;
247
+ } | {
248
+ type: "media";
249
+ mediaType: string;
250
+ data: string;
251
+ } | {
252
+ providerOptions?: Record<string, Record<string, any>> | undefined;
253
+ filename?: string | undefined;
254
+ type: "file-data";
255
+ mediaType: string;
256
+ data: string;
257
+ } | {
258
+ providerOptions?: Record<string, Record<string, any>> | undefined;
259
+ type: "file-url";
260
+ url: string;
261
+ } | {
262
+ providerOptions?: Record<string, Record<string, any>> | undefined;
263
+ type: "file-id";
264
+ fileId: string | Record<string, string>;
265
+ } | {
266
+ providerOptions?: Record<string, Record<string, any>> | undefined;
267
+ type: "image-data";
268
+ mediaType: string;
269
+ data: string;
270
+ } | {
271
+ providerOptions?: Record<string, Record<string, any>> | undefined;
272
+ type: "image-url";
273
+ url: string;
274
+ } | {
275
+ providerOptions?: Record<string, Record<string, any>> | undefined;
276
+ type: "image-file-id";
277
+ fileId: string | Record<string, string>;
278
+ } | {
279
+ providerOptions?: Record<string, Record<string, any>> | undefined;
280
+ type: "custom";
281
+ })[];
282
+ } | undefined;
283
+ result?: any;
284
+ isError?: boolean | undefined;
285
+ experimental_content?: ({
286
+ type: "text";
287
+ text: string;
288
+ } | {
289
+ mimeType?: string | undefined;
290
+ type: "image";
291
+ data: string;
292
+ })[] | undefined;
293
+ type: "tool-result";
294
+ toolCallId: string;
295
+ toolName: string;
296
+ } | {
297
+ providerOptions?: Record<string, Record<string, any>> | undefined;
298
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
299
+ providerExecuted?: boolean | undefined;
300
+ reason?: string | undefined;
301
+ type: "tool-approval-response";
302
+ approvalId: string;
303
+ approved: boolean;
304
+ })[];
305
+ } | {
306
+ providerOptions?: Record<string, Record<string, any>> | undefined;
307
+ role: "system";
308
+ content: string;
309
+ } | undefined;
310
+ text?: string | undefined;
311
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
312
+ reasoning?: string | undefined;
313
+ usage?: {
314
+ reasoningTokens?: number | undefined;
315
+ cachedInputTokens?: number | undefined;
316
+ promptTokens: number;
317
+ completionTokens: number;
318
+ totalTokens: number;
319
+ } | undefined;
320
+ sources?: ({
321
+ type?: "source" | undefined;
322
+ providerOptions?: Record<string, Record<string, any>> | undefined;
323
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
324
+ title?: string | undefined;
325
+ id: string;
326
+ url: string;
327
+ sourceType: "url";
328
+ } | {
329
+ providerOptions?: Record<string, Record<string, any>> | undefined;
330
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
331
+ filename?: string | undefined;
332
+ type: "source";
333
+ id: string;
334
+ mediaType: string;
335
+ sourceType: "document";
336
+ title: string;
337
+ })[] | undefined;
338
+ warnings?: ({
339
+ details?: string | undefined;
340
+ type: "unsupported-setting";
341
+ setting: string;
342
+ } | {
343
+ details?: string | undefined;
344
+ type: "unsupported-tool";
345
+ tool: any;
346
+ } | {
347
+ type: "other";
348
+ message: string;
349
+ })[] | undefined;
350
+ finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
351
+ reasoningDetails?: ({
352
+ providerOptions?: Record<string, Record<string, any>> | undefined;
353
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
354
+ signature?: string | undefined;
355
+ type: "reasoning";
356
+ text: string;
357
+ } | {
358
+ signature?: string | undefined;
359
+ type: "text";
360
+ text: string;
361
+ } | {
362
+ type: "redacted";
363
+ data: string;
364
+ })[] | undefined;
365
+ _id: string;
366
+ _creationTime: number;
367
+ threadId: string;
368
+ order: number;
369
+ stepOrder: number;
370
+ status: "pending" | "success" | "failed";
371
+ tool: boolean;
372
+ }[];
373
+ continueCursor: string;
374
+ }, {
375
+ streams: import("convex/values").VUnion<{
376
+ messages: {
377
+ userId?: string | undefined;
378
+ agentName?: string | undefined;
379
+ model?: string | undefined;
380
+ provider?: string | undefined;
381
+ providerOptions?: Record<string, Record<string, any>> | undefined;
382
+ format?: "UIMessageChunk" | "TextStreamPart" | undefined;
383
+ order: number;
384
+ stepOrder: number;
385
+ status: "aborted" | "streaming" | "finished";
386
+ streamId: string;
387
+ }[];
388
+ kind: "list";
389
+ } | {
390
+ deltas: {
391
+ streamId: string;
392
+ start: number;
393
+ end: number;
394
+ parts: any[];
395
+ }[];
396
+ kind: "deltas";
397
+ } | undefined, [import("convex/values").VObject<{
398
+ messages: {
399
+ userId?: string | undefined;
400
+ agentName?: string | undefined;
401
+ model?: string | undefined;
402
+ provider?: string | undefined;
403
+ providerOptions?: Record<string, Record<string, any>> | undefined;
404
+ format?: "UIMessageChunk" | "TextStreamPart" | undefined;
405
+ order: number;
406
+ stepOrder: number;
407
+ status: "aborted" | "streaming" | "finished";
408
+ streamId: string;
409
+ }[];
410
+ kind: "list";
411
+ }, {
412
+ kind: import("convex/values").VLiteral<"list", "required">;
413
+ messages: import("convex/values").VArray<{
414
+ userId?: string | undefined;
415
+ agentName?: string | undefined;
416
+ model?: string | undefined;
417
+ provider?: string | undefined;
418
+ providerOptions?: Record<string, Record<string, any>> | undefined;
419
+ format?: "UIMessageChunk" | "TextStreamPart" | undefined;
420
+ order: number;
421
+ stepOrder: number;
422
+ status: "aborted" | "streaming" | "finished";
423
+ streamId: string;
424
+ }[], import("convex/values").VObject<{
425
+ userId?: string | undefined;
426
+ agentName?: string | undefined;
427
+ model?: string | undefined;
428
+ provider?: string | undefined;
429
+ providerOptions?: Record<string, Record<string, any>> | undefined;
430
+ format?: "UIMessageChunk" | "TextStreamPart" | undefined;
431
+ order: number;
432
+ stepOrder: number;
433
+ status: "aborted" | "streaming" | "finished";
434
+ streamId: string;
435
+ }, {
436
+ streamId: import("convex/values").VString<string, "required">;
437
+ status: import("convex/values").VUnion<"aborted" | "streaming" | "finished", [import("convex/values").VLiteral<"streaming", "required">, import("convex/values").VLiteral<"finished", "required">, import("convex/values").VLiteral<"aborted", "required">], "required", never>;
438
+ format: import("convex/values").VUnion<"UIMessageChunk" | "TextStreamPart" | undefined, [import("convex/values").VLiteral<"UIMessageChunk", "required">, import("convex/values").VLiteral<"TextStreamPart", "required">], "optional", never>;
439
+ order: import("convex/values").VFloat64<number, "required">;
440
+ stepOrder: import("convex/values").VFloat64<number, "required">;
441
+ userId: import("convex/values").VString<string | undefined, "optional">;
442
+ agentName: import("convex/values").VString<string | undefined, "optional">;
443
+ model: import("convex/values").VString<string | undefined, "optional">;
444
+ provider: import("convex/values").VString<string | undefined, "optional">;
445
+ 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>;
446
+ }, "required", "userId" | "order" | "stepOrder" | "status" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "streamId" | "format">, "required">;
447
+ }, "required", "messages" | "kind">, import("convex/values").VObject<{
448
+ deltas: {
449
+ streamId: string;
450
+ start: number;
451
+ end: number;
452
+ parts: any[];
453
+ }[];
454
+ kind: "deltas";
455
+ }, {
456
+ kind: import("convex/values").VLiteral<"deltas", "required">;
457
+ deltas: import("convex/values").VArray<{
458
+ streamId: string;
459
+ start: number;
460
+ end: number;
461
+ parts: any[];
462
+ }[], import("convex/values").VObject<{
463
+ streamId: string;
464
+ start: number;
465
+ end: number;
466
+ parts: any[];
467
+ }, {
468
+ streamId: import("convex/values").VString<string, "required">;
469
+ start: import("convex/values").VFloat64<number, "required">;
470
+ end: import("convex/values").VFloat64<number, "required">;
471
+ parts: import("convex/values").VArray<any[], import("convex/values").VAny<any, "required", string>, "required">;
472
+ }, "required", "streamId" | "start" | "end" | "parts">, "required">;
473
+ }, "required", "deltas" | "kind">], "optional", "messages" | "deltas" | "kind">;
474
+ page: import("convex/values").VArray<{
475
+ userId?: string | undefined;
476
+ id?: string | undefined;
477
+ embeddingId?: string | undefined;
478
+ fileIds?: string[] | undefined;
479
+ error?: string | undefined;
480
+ agentName?: string | undefined;
481
+ model?: string | undefined;
482
+ provider?: string | undefined;
483
+ providerOptions?: Record<string, Record<string, any>> | undefined;
484
+ message?: {
485
+ providerOptions?: Record<string, Record<string, any>> | undefined;
486
+ role: "user";
487
+ content: string | ({
488
+ providerOptions?: Record<string, Record<string, any>> | undefined;
489
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
490
+ type: "text";
491
+ text: string;
492
+ } | {
493
+ providerOptions?: Record<string, Record<string, any>> | undefined;
494
+ mediaType?: string | undefined;
495
+ mimeType?: string | undefined;
496
+ type: "image";
497
+ image: string | ArrayBuffer;
498
+ } | {
499
+ providerOptions?: Record<string, Record<string, any>> | undefined;
500
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
501
+ mediaType?: string | undefined;
502
+ mimeType?: string | undefined;
503
+ filename?: string | undefined;
504
+ type: "file";
505
+ data: string | ArrayBuffer;
506
+ })[];
507
+ } | {
508
+ providerOptions?: Record<string, Record<string, any>> | undefined;
509
+ role: "assistant";
510
+ content: string | ({
511
+ providerOptions?: Record<string, Record<string, any>> | undefined;
512
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
513
+ type: "text";
514
+ text: string;
515
+ } | {
516
+ providerOptions?: Record<string, Record<string, any>> | undefined;
517
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
518
+ mediaType?: string | undefined;
519
+ mimeType?: string | undefined;
520
+ filename?: string | undefined;
521
+ type: "file";
522
+ data: string | ArrayBuffer;
523
+ } | {
524
+ providerOptions?: Record<string, Record<string, any>> | undefined;
525
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
526
+ signature?: string | undefined;
527
+ type: "reasoning";
528
+ text: string;
529
+ } | {
530
+ providerOptions?: Record<string, Record<string, any>> | undefined;
531
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
532
+ type: "redacted-reasoning";
533
+ data: string;
534
+ } | {
535
+ providerOptions?: Record<string, Record<string, any>> | undefined;
536
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
537
+ args?: any;
538
+ providerExecuted?: boolean | undefined;
539
+ type: "tool-call";
540
+ toolCallId: string;
541
+ toolName: string;
542
+ input: any;
543
+ } | {
544
+ providerOptions?: Record<string, Record<string, any>> | undefined;
545
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
546
+ input?: any;
547
+ providerExecuted?: boolean | undefined;
548
+ type: "tool-call";
549
+ toolCallId: string;
550
+ toolName: string;
551
+ args: any;
552
+ } | {
553
+ providerOptions?: Record<string, Record<string, any>> | undefined;
554
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
555
+ args?: any;
556
+ providerExecuted?: boolean | undefined;
557
+ output?: {
558
+ providerOptions?: Record<string, Record<string, any>> | undefined;
559
+ type: "text";
560
+ value: string;
561
+ } | {
562
+ providerOptions?: Record<string, Record<string, any>> | undefined;
563
+ type: "json";
564
+ value: any;
565
+ } | {
566
+ providerOptions?: Record<string, Record<string, any>> | undefined;
567
+ type: "error-text";
568
+ value: string;
569
+ } | {
570
+ providerOptions?: Record<string, Record<string, any>> | undefined;
571
+ type: "error-json";
572
+ value: any;
573
+ } | {
574
+ providerOptions?: Record<string, Record<string, any>> | undefined;
575
+ reason?: string | undefined;
576
+ type: "execution-denied";
577
+ } | {
578
+ type: "content";
579
+ value: ({
580
+ providerOptions?: Record<string, Record<string, any>> | undefined;
581
+ type: "text";
582
+ text: string;
583
+ } | {
584
+ type: "media";
585
+ mediaType: string;
586
+ data: string;
587
+ } | {
588
+ providerOptions?: Record<string, Record<string, any>> | undefined;
589
+ filename?: string | undefined;
590
+ type: "file-data";
591
+ mediaType: string;
592
+ data: string;
593
+ } | {
594
+ providerOptions?: Record<string, Record<string, any>> | undefined;
595
+ type: "file-url";
596
+ url: string;
597
+ } | {
598
+ providerOptions?: Record<string, Record<string, any>> | undefined;
599
+ type: "file-id";
600
+ fileId: string | Record<string, string>;
601
+ } | {
602
+ providerOptions?: Record<string, Record<string, any>> | undefined;
603
+ type: "image-data";
604
+ mediaType: string;
605
+ data: string;
606
+ } | {
607
+ providerOptions?: Record<string, Record<string, any>> | undefined;
608
+ type: "image-url";
609
+ url: string;
610
+ } | {
611
+ providerOptions?: Record<string, Record<string, any>> | undefined;
612
+ type: "image-file-id";
613
+ fileId: string | Record<string, string>;
614
+ } | {
615
+ providerOptions?: Record<string, Record<string, any>> | undefined;
616
+ type: "custom";
617
+ })[];
618
+ } | undefined;
619
+ result?: any;
620
+ isError?: boolean | undefined;
621
+ experimental_content?: ({
622
+ type: "text";
623
+ text: string;
624
+ } | {
625
+ mimeType?: string | undefined;
626
+ type: "image";
627
+ data: string;
628
+ })[] | undefined;
629
+ type: "tool-result";
630
+ toolCallId: string;
631
+ toolName: string;
632
+ } | {
633
+ providerOptions?: Record<string, Record<string, any>> | undefined;
634
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
635
+ title?: string | undefined;
636
+ type: "source";
637
+ id: string;
638
+ url: string;
639
+ sourceType: "url";
640
+ } | {
641
+ providerOptions?: Record<string, Record<string, any>> | undefined;
642
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
643
+ filename?: string | undefined;
644
+ type: "source";
645
+ id: string;
646
+ mediaType: string;
647
+ sourceType: "document";
648
+ title: string;
649
+ } | {
650
+ providerOptions?: Record<string, Record<string, any>> | undefined;
651
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
652
+ type: "tool-approval-request";
653
+ toolCallId: string;
654
+ approvalId: string;
655
+ })[];
656
+ } | {
657
+ providerOptions?: Record<string, Record<string, any>> | undefined;
658
+ role: "tool";
659
+ content: ({
660
+ providerOptions?: Record<string, Record<string, any>> | undefined;
661
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
662
+ args?: any;
663
+ providerExecuted?: boolean | undefined;
664
+ output?: {
665
+ providerOptions?: Record<string, Record<string, any>> | undefined;
666
+ type: "text";
667
+ value: string;
668
+ } | {
669
+ providerOptions?: Record<string, Record<string, any>> | undefined;
670
+ type: "json";
671
+ value: any;
672
+ } | {
673
+ providerOptions?: Record<string, Record<string, any>> | undefined;
674
+ type: "error-text";
675
+ value: string;
676
+ } | {
677
+ providerOptions?: Record<string, Record<string, any>> | undefined;
678
+ type: "error-json";
679
+ value: any;
680
+ } | {
681
+ providerOptions?: Record<string, Record<string, any>> | undefined;
682
+ reason?: string | undefined;
683
+ type: "execution-denied";
684
+ } | {
685
+ type: "content";
686
+ value: ({
687
+ providerOptions?: Record<string, Record<string, any>> | undefined;
688
+ type: "text";
689
+ text: string;
690
+ } | {
691
+ type: "media";
692
+ mediaType: string;
693
+ data: string;
694
+ } | {
695
+ providerOptions?: Record<string, Record<string, any>> | undefined;
696
+ filename?: string | undefined;
697
+ type: "file-data";
698
+ mediaType: string;
699
+ data: string;
700
+ } | {
701
+ providerOptions?: Record<string, Record<string, any>> | undefined;
702
+ type: "file-url";
703
+ url: string;
704
+ } | {
705
+ providerOptions?: Record<string, Record<string, any>> | undefined;
706
+ type: "file-id";
707
+ fileId: string | Record<string, string>;
708
+ } | {
709
+ providerOptions?: Record<string, Record<string, any>> | undefined;
710
+ type: "image-data";
711
+ mediaType: string;
712
+ data: string;
713
+ } | {
714
+ providerOptions?: Record<string, Record<string, any>> | undefined;
715
+ type: "image-url";
716
+ url: string;
717
+ } | {
718
+ providerOptions?: Record<string, Record<string, any>> | undefined;
719
+ type: "image-file-id";
720
+ fileId: string | Record<string, string>;
721
+ } | {
722
+ providerOptions?: Record<string, Record<string, any>> | undefined;
723
+ type: "custom";
724
+ })[];
725
+ } | undefined;
726
+ result?: any;
727
+ isError?: boolean | undefined;
728
+ experimental_content?: ({
729
+ type: "text";
730
+ text: string;
731
+ } | {
732
+ mimeType?: string | undefined;
733
+ type: "image";
734
+ data: string;
735
+ })[] | undefined;
736
+ type: "tool-result";
737
+ toolCallId: string;
738
+ toolName: string;
739
+ } | {
740
+ providerOptions?: Record<string, Record<string, any>> | undefined;
741
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
742
+ providerExecuted?: boolean | undefined;
743
+ reason?: string | undefined;
744
+ type: "tool-approval-response";
745
+ approvalId: string;
746
+ approved: boolean;
747
+ })[];
748
+ } | {
749
+ providerOptions?: Record<string, Record<string, any>> | undefined;
750
+ role: "system";
751
+ content: string;
752
+ } | undefined;
753
+ text?: string | undefined;
754
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
755
+ reasoning?: string | undefined;
756
+ usage?: {
757
+ reasoningTokens?: number | undefined;
758
+ cachedInputTokens?: number | undefined;
759
+ promptTokens: number;
760
+ completionTokens: number;
761
+ totalTokens: number;
762
+ } | undefined;
763
+ sources?: ({
764
+ type?: "source" | undefined;
765
+ providerOptions?: Record<string, Record<string, any>> | undefined;
766
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
767
+ title?: string | undefined;
768
+ id: string;
769
+ url: string;
770
+ sourceType: "url";
771
+ } | {
772
+ providerOptions?: Record<string, Record<string, any>> | undefined;
773
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
774
+ filename?: string | undefined;
775
+ type: "source";
776
+ id: string;
777
+ mediaType: string;
778
+ sourceType: "document";
779
+ title: string;
780
+ })[] | undefined;
781
+ warnings?: ({
782
+ details?: string | undefined;
783
+ type: "unsupported-setting";
784
+ setting: string;
785
+ } | {
786
+ details?: string | undefined;
787
+ type: "unsupported-tool";
788
+ tool: any;
789
+ } | {
790
+ type: "other";
791
+ message: string;
792
+ })[] | undefined;
793
+ finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
794
+ reasoningDetails?: ({
795
+ providerOptions?: Record<string, Record<string, any>> | undefined;
796
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
797
+ signature?: string | undefined;
798
+ type: "reasoning";
799
+ text: string;
800
+ } | {
801
+ signature?: string | undefined;
802
+ type: "text";
803
+ text: string;
804
+ } | {
805
+ type: "redacted";
806
+ data: string;
807
+ })[] | undefined;
808
+ _id: string;
809
+ _creationTime: number;
810
+ threadId: string;
811
+ order: number;
812
+ stepOrder: number;
813
+ status: "pending" | "success" | "failed";
814
+ tool: boolean;
815
+ }[], import("convex/values").VObject<{
816
+ userId?: string | undefined;
817
+ id?: string | undefined;
818
+ embeddingId?: string | undefined;
819
+ fileIds?: 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
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
831
+ type: "text";
832
+ text: string;
833
+ } | {
834
+ providerOptions?: Record<string, Record<string, any>> | undefined;
835
+ mediaType?: string | undefined;
836
+ mimeType?: string | undefined;
837
+ type: "image";
838
+ image: string | ArrayBuffer;
839
+ } | {
840
+ providerOptions?: Record<string, Record<string, any>> | undefined;
841
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
842
+ mediaType?: string | undefined;
843
+ mimeType?: string | undefined;
844
+ filename?: string | undefined;
845
+ type: "file";
846
+ data: string | ArrayBuffer;
847
+ })[];
848
+ } | {
849
+ providerOptions?: Record<string, Record<string, any>> | undefined;
850
+ role: "assistant";
851
+ content: string | ({
852
+ providerOptions?: Record<string, Record<string, any>> | undefined;
853
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
854
+ type: "text";
855
+ text: string;
856
+ } | {
857
+ providerOptions?: Record<string, Record<string, any>> | undefined;
858
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
859
+ mediaType?: string | undefined;
860
+ mimeType?: string | undefined;
861
+ filename?: string | undefined;
862
+ type: "file";
863
+ data: string | ArrayBuffer;
864
+ } | {
865
+ providerOptions?: Record<string, Record<string, any>> | undefined;
866
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
867
+ signature?: string | undefined;
868
+ type: "reasoning";
869
+ text: string;
870
+ } | {
871
+ providerOptions?: Record<string, Record<string, any>> | undefined;
872
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
873
+ type: "redacted-reasoning";
874
+ data: string;
875
+ } | {
876
+ providerOptions?: Record<string, Record<string, any>> | undefined;
877
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
878
+ args?: any;
879
+ providerExecuted?: boolean | undefined;
880
+ type: "tool-call";
881
+ toolCallId: string;
882
+ toolName: string;
883
+ input: any;
884
+ } | {
885
+ providerOptions?: Record<string, Record<string, any>> | undefined;
886
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
887
+ input?: any;
888
+ providerExecuted?: boolean | undefined;
889
+ type: "tool-call";
890
+ toolCallId: string;
891
+ toolName: string;
892
+ args: any;
893
+ } | {
894
+ providerOptions?: Record<string, Record<string, any>> | undefined;
895
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
896
+ args?: any;
897
+ providerExecuted?: boolean | undefined;
898
+ output?: {
899
+ providerOptions?: Record<string, Record<string, any>> | undefined;
900
+ type: "text";
901
+ value: string;
902
+ } | {
903
+ providerOptions?: Record<string, Record<string, any>> | undefined;
904
+ type: "json";
905
+ value: any;
906
+ } | {
907
+ providerOptions?: Record<string, Record<string, any>> | undefined;
908
+ type: "error-text";
909
+ value: string;
910
+ } | {
911
+ providerOptions?: Record<string, Record<string, any>> | undefined;
912
+ type: "error-json";
913
+ value: any;
914
+ } | {
915
+ providerOptions?: Record<string, Record<string, any>> | undefined;
916
+ reason?: string | undefined;
917
+ type: "execution-denied";
918
+ } | {
919
+ type: "content";
920
+ value: ({
921
+ providerOptions?: Record<string, Record<string, any>> | undefined;
922
+ type: "text";
923
+ text: string;
924
+ } | {
925
+ type: "media";
926
+ mediaType: string;
927
+ data: string;
928
+ } | {
929
+ providerOptions?: Record<string, Record<string, any>> | undefined;
930
+ filename?: string | undefined;
931
+ type: "file-data";
932
+ mediaType: string;
933
+ data: string;
934
+ } | {
935
+ providerOptions?: Record<string, Record<string, any>> | undefined;
936
+ type: "file-url";
937
+ url: string;
938
+ } | {
939
+ providerOptions?: Record<string, Record<string, any>> | undefined;
940
+ type: "file-id";
941
+ fileId: string | Record<string, string>;
942
+ } | {
943
+ providerOptions?: Record<string, Record<string, any>> | undefined;
944
+ type: "image-data";
945
+ mediaType: string;
946
+ data: string;
947
+ } | {
948
+ providerOptions?: Record<string, Record<string, any>> | undefined;
949
+ type: "image-url";
950
+ url: string;
951
+ } | {
952
+ providerOptions?: Record<string, Record<string, any>> | undefined;
953
+ type: "image-file-id";
954
+ fileId: string | Record<string, string>;
955
+ } | {
956
+ providerOptions?: Record<string, Record<string, any>> | undefined;
957
+ type: "custom";
958
+ })[];
959
+ } | undefined;
960
+ result?: any;
961
+ isError?: boolean | undefined;
962
+ experimental_content?: ({
963
+ type: "text";
964
+ text: string;
965
+ } | {
966
+ mimeType?: string | undefined;
967
+ type: "image";
968
+ data: string;
969
+ })[] | undefined;
970
+ type: "tool-result";
971
+ toolCallId: string;
972
+ toolName: string;
973
+ } | {
974
+ providerOptions?: Record<string, Record<string, any>> | undefined;
975
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
976
+ title?: string | undefined;
977
+ type: "source";
978
+ id: string;
979
+ url: string;
980
+ sourceType: "url";
981
+ } | {
982
+ providerOptions?: Record<string, Record<string, any>> | undefined;
983
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
984
+ filename?: string | undefined;
985
+ type: "source";
986
+ id: string;
987
+ mediaType: string;
988
+ sourceType: "document";
989
+ title: string;
990
+ } | {
991
+ providerOptions?: Record<string, Record<string, any>> | undefined;
992
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
993
+ type: "tool-approval-request";
994
+ toolCallId: string;
995
+ approvalId: string;
996
+ })[];
997
+ } | {
998
+ providerOptions?: Record<string, Record<string, any>> | undefined;
999
+ role: "tool";
1000
+ content: ({
1001
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1002
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1003
+ args?: any;
1004
+ providerExecuted?: boolean | undefined;
1005
+ output?: {
1006
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1007
+ type: "text";
1008
+ value: string;
1009
+ } | {
1010
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1011
+ type: "json";
1012
+ value: any;
1013
+ } | {
1014
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1015
+ type: "error-text";
1016
+ value: string;
1017
+ } | {
1018
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1019
+ type: "error-json";
1020
+ value: any;
1021
+ } | {
1022
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1023
+ reason?: string | undefined;
1024
+ type: "execution-denied";
1025
+ } | {
1026
+ type: "content";
1027
+ value: ({
1028
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1029
+ type: "text";
1030
+ text: string;
1031
+ } | {
1032
+ type: "media";
1033
+ mediaType: string;
1034
+ data: string;
1035
+ } | {
1036
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1037
+ filename?: string | undefined;
1038
+ type: "file-data";
1039
+ mediaType: string;
1040
+ data: string;
1041
+ } | {
1042
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1043
+ type: "file-url";
1044
+ url: string;
1045
+ } | {
1046
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1047
+ type: "file-id";
1048
+ fileId: string | Record<string, string>;
1049
+ } | {
1050
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1051
+ type: "image-data";
1052
+ mediaType: string;
1053
+ data: string;
1054
+ } | {
1055
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1056
+ type: "image-url";
1057
+ url: string;
1058
+ } | {
1059
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1060
+ type: "image-file-id";
1061
+ fileId: string | Record<string, string>;
1062
+ } | {
1063
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1064
+ type: "custom";
1065
+ })[];
1066
+ } | undefined;
1067
+ result?: any;
1068
+ isError?: boolean | undefined;
1069
+ experimental_content?: ({
1070
+ type: "text";
1071
+ text: string;
1072
+ } | {
1073
+ mimeType?: string | undefined;
1074
+ type: "image";
1075
+ data: string;
1076
+ })[] | undefined;
1077
+ type: "tool-result";
1078
+ toolCallId: string;
1079
+ toolName: string;
1080
+ } | {
1081
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1082
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1083
+ providerExecuted?: boolean | undefined;
1084
+ reason?: string | undefined;
1085
+ type: "tool-approval-response";
1086
+ approvalId: string;
1087
+ approved: boolean;
1088
+ })[];
1089
+ } | {
1090
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1091
+ role: "system";
1092
+ content: string;
1093
+ } | undefined;
1094
+ text?: string | undefined;
1095
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1096
+ reasoning?: string | undefined;
1097
+ usage?: {
1098
+ reasoningTokens?: number | undefined;
1099
+ cachedInputTokens?: number | undefined;
1100
+ promptTokens: number;
1101
+ completionTokens: number;
1102
+ totalTokens: number;
1103
+ } | undefined;
1104
+ sources?: ({
1105
+ type?: "source" | undefined;
1106
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1107
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1108
+ title?: string | undefined;
1109
+ id: string;
1110
+ url: string;
1111
+ sourceType: "url";
1112
+ } | {
1113
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1114
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1115
+ filename?: string | undefined;
1116
+ type: "source";
1117
+ id: string;
1118
+ mediaType: string;
1119
+ sourceType: "document";
1120
+ title: string;
1121
+ })[] | undefined;
1122
+ warnings?: ({
1123
+ details?: string | undefined;
1124
+ type: "unsupported-setting";
1125
+ setting: string;
1126
+ } | {
1127
+ details?: string | undefined;
1128
+ type: "unsupported-tool";
1129
+ tool: any;
1130
+ } | {
1131
+ type: "other";
1132
+ message: string;
1133
+ })[] | undefined;
1134
+ finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
1135
+ reasoningDetails?: ({
1136
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1137
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1138
+ signature?: string | undefined;
1139
+ type: "reasoning";
1140
+ text: string;
1141
+ } | {
1142
+ signature?: string | undefined;
1143
+ type: "text";
1144
+ text: string;
1145
+ } | {
1146
+ type: "redacted";
1147
+ data: string;
1148
+ })[] | undefined;
1149
+ _id: string;
1150
+ _creationTime: number;
1151
+ threadId: string;
1152
+ order: number;
1153
+ stepOrder: number;
1154
+ status: "pending" | "success" | "failed";
1155
+ tool: boolean;
1156
+ }, {
1157
+ _id: import("convex/values").VString<string, "required">;
1158
+ _creationTime: import("convex/values").VFloat64<number, "required">;
1159
+ userId: import("convex/values").VString<string | undefined, "optional">;
1160
+ threadId: import("convex/values").VString<string, "required">;
1161
+ order: import("convex/values").VFloat64<number, "required">;
1162
+ stepOrder: import("convex/values").VFloat64<number, "required">;
1163
+ embeddingId: import("convex/values").VString<string | undefined, "optional">;
1164
+ fileIds: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
1165
+ error: import("convex/values").VString<string | undefined, "optional">;
1166
+ 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>;
1167
+ agentName: import("convex/values").VString<string | undefined, "optional">;
1168
+ model: import("convex/values").VString<string | undefined, "optional">;
1169
+ provider: import("convex/values").VString<string | undefined, "optional">;
1170
+ 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>;
1171
+ message: import("convex/values").VUnion<{
1172
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1173
+ role: "user";
1174
+ content: string | ({
1175
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1176
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1177
+ type: "text";
1178
+ text: string;
1179
+ } | {
1180
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1181
+ mediaType?: string | undefined;
1182
+ mimeType?: string | undefined;
1183
+ type: "image";
1184
+ image: string | ArrayBuffer;
1185
+ } | {
1186
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1187
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1188
+ mediaType?: string | undefined;
1189
+ mimeType?: string | undefined;
1190
+ filename?: string | undefined;
1191
+ type: "file";
1192
+ data: string | ArrayBuffer;
1193
+ })[];
1194
+ } | {
1195
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1196
+ role: "assistant";
1197
+ content: string | ({
1198
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1199
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1200
+ type: "text";
1201
+ text: string;
1202
+ } | {
1203
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1204
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1205
+ mediaType?: string | undefined;
1206
+ mimeType?: string | undefined;
1207
+ filename?: string | undefined;
1208
+ type: "file";
1209
+ data: string | ArrayBuffer;
1210
+ } | {
1211
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1212
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1213
+ signature?: string | undefined;
1214
+ type: "reasoning";
1215
+ text: string;
1216
+ } | {
1217
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1218
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1219
+ type: "redacted-reasoning";
1220
+ data: string;
1221
+ } | {
1222
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1223
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1224
+ args?: any;
1225
+ providerExecuted?: boolean | undefined;
1226
+ type: "tool-call";
1227
+ toolCallId: string;
1228
+ toolName: string;
1229
+ input: any;
1230
+ } | {
1231
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1232
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1233
+ input?: any;
1234
+ providerExecuted?: boolean | undefined;
1235
+ type: "tool-call";
1236
+ toolCallId: string;
1237
+ toolName: string;
1238
+ args: any;
1239
+ } | {
1240
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1241
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1242
+ args?: any;
1243
+ providerExecuted?: boolean | undefined;
1244
+ output?: {
1245
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1246
+ type: "text";
1247
+ value: string;
1248
+ } | {
1249
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1250
+ type: "json";
1251
+ value: any;
1252
+ } | {
1253
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1254
+ type: "error-text";
1255
+ value: string;
1256
+ } | {
1257
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1258
+ type: "error-json";
1259
+ value: any;
1260
+ } | {
1261
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1262
+ reason?: string | undefined;
1263
+ type: "execution-denied";
1264
+ } | {
1265
+ type: "content";
1266
+ value: ({
1267
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1268
+ type: "text";
1269
+ text: string;
1270
+ } | {
1271
+ type: "media";
1272
+ mediaType: string;
1273
+ data: string;
1274
+ } | {
1275
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1276
+ filename?: string | undefined;
1277
+ type: "file-data";
1278
+ mediaType: string;
1279
+ data: string;
1280
+ } | {
1281
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1282
+ type: "file-url";
1283
+ url: string;
1284
+ } | {
1285
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1286
+ type: "file-id";
1287
+ fileId: string | Record<string, string>;
1288
+ } | {
1289
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1290
+ type: "image-data";
1291
+ mediaType: string;
1292
+ data: string;
1293
+ } | {
1294
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1295
+ type: "image-url";
1296
+ url: string;
1297
+ } | {
1298
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1299
+ type: "image-file-id";
1300
+ fileId: string | Record<string, string>;
1301
+ } | {
1302
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1303
+ type: "custom";
1304
+ })[];
1305
+ } | undefined;
1306
+ result?: any;
1307
+ isError?: boolean | undefined;
1308
+ experimental_content?: ({
1309
+ type: "text";
1310
+ text: string;
1311
+ } | {
1312
+ mimeType?: string | undefined;
1313
+ type: "image";
1314
+ data: string;
1315
+ })[] | undefined;
1316
+ type: "tool-result";
1317
+ toolCallId: string;
1318
+ toolName: string;
1319
+ } | {
1320
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1321
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1322
+ title?: string | undefined;
1323
+ type: "source";
1324
+ id: string;
1325
+ url: string;
1326
+ sourceType: "url";
1327
+ } | {
1328
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1329
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1330
+ filename?: string | undefined;
1331
+ type: "source";
1332
+ id: string;
1333
+ mediaType: string;
1334
+ sourceType: "document";
1335
+ title: string;
1336
+ } | {
1337
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1338
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1339
+ type: "tool-approval-request";
1340
+ toolCallId: string;
1341
+ approvalId: string;
1342
+ })[];
1343
+ } | {
1344
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1345
+ role: "tool";
1346
+ content: ({
1347
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1348
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1349
+ args?: any;
1350
+ providerExecuted?: boolean | undefined;
1351
+ output?: {
1352
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1353
+ type: "text";
1354
+ value: string;
1355
+ } | {
1356
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1357
+ type: "json";
1358
+ value: any;
1359
+ } | {
1360
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1361
+ type: "error-text";
1362
+ value: string;
1363
+ } | {
1364
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1365
+ type: "error-json";
1366
+ value: any;
1367
+ } | {
1368
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1369
+ reason?: string | undefined;
1370
+ type: "execution-denied";
1371
+ } | {
1372
+ type: "content";
1373
+ value: ({
1374
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1375
+ type: "text";
1376
+ text: string;
1377
+ } | {
1378
+ type: "media";
1379
+ mediaType: string;
1380
+ data: string;
1381
+ } | {
1382
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1383
+ filename?: string | undefined;
1384
+ type: "file-data";
1385
+ mediaType: string;
1386
+ data: string;
1387
+ } | {
1388
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1389
+ type: "file-url";
1390
+ url: string;
1391
+ } | {
1392
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1393
+ type: "file-id";
1394
+ fileId: string | Record<string, string>;
1395
+ } | {
1396
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1397
+ type: "image-data";
1398
+ mediaType: string;
1399
+ data: string;
1400
+ } | {
1401
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1402
+ type: "image-url";
1403
+ url: string;
1404
+ } | {
1405
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1406
+ type: "image-file-id";
1407
+ fileId: string | Record<string, string>;
1408
+ } | {
1409
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1410
+ type: "custom";
1411
+ })[];
1412
+ } | undefined;
1413
+ result?: any;
1414
+ isError?: boolean | undefined;
1415
+ experimental_content?: ({
1416
+ type: "text";
1417
+ text: string;
1418
+ } | {
1419
+ mimeType?: string | undefined;
1420
+ type: "image";
1421
+ data: string;
1422
+ })[] | undefined;
1423
+ type: "tool-result";
1424
+ toolCallId: string;
1425
+ toolName: string;
1426
+ } | {
1427
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1428
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1429
+ providerExecuted?: boolean | undefined;
1430
+ reason?: string | undefined;
1431
+ type: "tool-approval-response";
1432
+ approvalId: string;
1433
+ approved: boolean;
1434
+ })[];
1435
+ } | {
1436
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1437
+ role: "system";
1438
+ content: string;
1439
+ } | undefined, [import("convex/values").VObject<{
1440
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1441
+ role: "user";
1442
+ content: string | ({
1443
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1444
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1445
+ type: "text";
1446
+ text: string;
1447
+ } | {
1448
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1449
+ mediaType?: string | undefined;
1450
+ mimeType?: string | undefined;
1451
+ type: "image";
1452
+ image: string | ArrayBuffer;
1453
+ } | {
1454
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1455
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1456
+ mediaType?: string | undefined;
1457
+ mimeType?: string | undefined;
1458
+ filename?: string | undefined;
1459
+ type: "file";
1460
+ data: string | ArrayBuffer;
1461
+ })[];
1462
+ }, {
1463
+ role: import("convex/values").VLiteral<"user", "required">;
1464
+ content: import("convex/values").VUnion<string | ({
1465
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1466
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1467
+ type: "text";
1468
+ text: string;
1469
+ } | {
1470
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1471
+ mediaType?: string | undefined;
1472
+ mimeType?: string | undefined;
1473
+ type: "image";
1474
+ image: string | ArrayBuffer;
1475
+ } | {
1476
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1477
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1478
+ mediaType?: string | undefined;
1479
+ mimeType?: string | undefined;
1480
+ filename?: string | undefined;
1481
+ type: "file";
1482
+ data: string | ArrayBuffer;
1483
+ })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
1484
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1485
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1486
+ type: "text";
1487
+ text: string;
1488
+ } | {
1489
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1490
+ mediaType?: string | undefined;
1491
+ mimeType?: string | undefined;
1492
+ type: "image";
1493
+ image: string | ArrayBuffer;
1494
+ } | {
1495
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1496
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1497
+ mediaType?: string | undefined;
1498
+ mimeType?: string | undefined;
1499
+ filename?: string | undefined;
1500
+ type: "file";
1501
+ data: string | ArrayBuffer;
1502
+ })[], import("convex/values").VUnion<{
1503
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1504
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1505
+ type: "text";
1506
+ text: string;
1507
+ } | {
1508
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1509
+ mediaType?: string | undefined;
1510
+ mimeType?: string | undefined;
1511
+ type: "image";
1512
+ image: string | ArrayBuffer;
1513
+ } | {
1514
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1515
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1516
+ mediaType?: string | undefined;
1517
+ mimeType?: string | undefined;
1518
+ filename?: string | undefined;
1519
+ type: "file";
1520
+ data: string | ArrayBuffer;
1521
+ }, [import("convex/values").VObject<{
1522
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1523
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1524
+ type: "text";
1525
+ text: string;
1526
+ }, {
1527
+ type: import("convex/values").VLiteral<"text", "required">;
1528
+ text: import("convex/values").VString<string, "required">;
1529
+ 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>;
1530
+ 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>;
1531
+ }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
1532
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1533
+ mediaType?: string | undefined;
1534
+ mimeType?: string | undefined;
1535
+ type: "image";
1536
+ image: string | ArrayBuffer;
1537
+ }, {
1538
+ type: import("convex/values").VLiteral<"image", "required">;
1539
+ image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
1540
+ mediaType: import("convex/values").VString<string | undefined, "optional">;
1541
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
1542
+ 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>;
1543
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
1544
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1545
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1546
+ mediaType?: string | undefined;
1547
+ mimeType?: string | undefined;
1548
+ filename?: string | undefined;
1549
+ type: "file";
1550
+ data: string | ArrayBuffer;
1551
+ }, {
1552
+ type: import("convex/values").VLiteral<"file", "required">;
1553
+ data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
1554
+ filename: import("convex/values").VString<string | undefined, "optional">;
1555
+ mediaType: import("convex/values").VString<string | undefined, "optional">;
1556
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
1557
+ 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>;
1558
+ 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>;
1559
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
1560
+ 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>;
1561
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
1562
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1563
+ role: "assistant";
1564
+ content: string | ({
1565
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1566
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1567
+ type: "text";
1568
+ text: string;
1569
+ } | {
1570
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1571
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1572
+ mediaType?: string | undefined;
1573
+ mimeType?: string | undefined;
1574
+ filename?: string | undefined;
1575
+ type: "file";
1576
+ data: string | ArrayBuffer;
1577
+ } | {
1578
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1579
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1580
+ signature?: string | undefined;
1581
+ type: "reasoning";
1582
+ text: string;
1583
+ } | {
1584
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1585
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1586
+ type: "redacted-reasoning";
1587
+ data: string;
1588
+ } | {
1589
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1590
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1591
+ args?: any;
1592
+ providerExecuted?: boolean | undefined;
1593
+ type: "tool-call";
1594
+ toolCallId: string;
1595
+ toolName: string;
1596
+ input: any;
1597
+ } | {
1598
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1599
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1600
+ input?: any;
1601
+ providerExecuted?: boolean | undefined;
1602
+ type: "tool-call";
1603
+ toolCallId: string;
1604
+ toolName: string;
1605
+ args: any;
1606
+ } | {
1607
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1608
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1609
+ args?: any;
1610
+ providerExecuted?: boolean | undefined;
1611
+ output?: {
1612
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1613
+ type: "text";
1614
+ value: string;
1615
+ } | {
1616
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1617
+ type: "json";
1618
+ value: any;
1619
+ } | {
1620
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1621
+ type: "error-text";
1622
+ value: string;
1623
+ } | {
1624
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1625
+ type: "error-json";
1626
+ value: any;
1627
+ } | {
1628
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1629
+ reason?: string | undefined;
1630
+ type: "execution-denied";
1631
+ } | {
1632
+ type: "content";
1633
+ value: ({
1634
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1635
+ type: "text";
1636
+ text: string;
1637
+ } | {
1638
+ type: "media";
1639
+ mediaType: string;
1640
+ data: string;
1641
+ } | {
1642
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1643
+ filename?: string | undefined;
1644
+ type: "file-data";
1645
+ mediaType: string;
1646
+ data: string;
1647
+ } | {
1648
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1649
+ type: "file-url";
1650
+ url: string;
1651
+ } | {
1652
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1653
+ type: "file-id";
1654
+ fileId: string | Record<string, string>;
1655
+ } | {
1656
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1657
+ type: "image-data";
1658
+ mediaType: string;
1659
+ data: string;
1660
+ } | {
1661
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1662
+ type: "image-url";
1663
+ url: string;
1664
+ } | {
1665
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1666
+ type: "image-file-id";
1667
+ fileId: string | Record<string, string>;
1668
+ } | {
1669
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1670
+ type: "custom";
1671
+ })[];
1672
+ } | undefined;
1673
+ result?: any;
1674
+ isError?: boolean | undefined;
1675
+ experimental_content?: ({
1676
+ type: "text";
1677
+ text: string;
1678
+ } | {
1679
+ mimeType?: string | undefined;
1680
+ type: "image";
1681
+ data: string;
1682
+ })[] | undefined;
1683
+ type: "tool-result";
1684
+ toolCallId: string;
1685
+ toolName: string;
1686
+ } | {
1687
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1688
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1689
+ title?: string | undefined;
1690
+ type: "source";
1691
+ id: string;
1692
+ url: string;
1693
+ sourceType: "url";
1694
+ } | {
1695
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1696
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1697
+ filename?: string | undefined;
1698
+ type: "source";
1699
+ id: string;
1700
+ mediaType: string;
1701
+ sourceType: "document";
1702
+ title: string;
1703
+ } | {
1704
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1705
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1706
+ type: "tool-approval-request";
1707
+ toolCallId: string;
1708
+ approvalId: string;
1709
+ })[];
1710
+ }, {
1711
+ role: import("convex/values").VLiteral<"assistant", "required">;
1712
+ content: import("convex/values").VUnion<string | ({
1713
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1714
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1715
+ type: "text";
1716
+ text: string;
1717
+ } | {
1718
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1719
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1720
+ mediaType?: string | undefined;
1721
+ mimeType?: string | undefined;
1722
+ filename?: string | undefined;
1723
+ type: "file";
1724
+ data: string | ArrayBuffer;
1725
+ } | {
1726
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1727
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1728
+ signature?: string | undefined;
1729
+ type: "reasoning";
1730
+ text: string;
1731
+ } | {
1732
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1733
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1734
+ type: "redacted-reasoning";
1735
+ data: string;
1736
+ } | {
1737
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1738
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1739
+ args?: any;
1740
+ providerExecuted?: boolean | undefined;
1741
+ type: "tool-call";
1742
+ toolCallId: string;
1743
+ toolName: string;
1744
+ input: any;
1745
+ } | {
1746
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1747
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1748
+ input?: any;
1749
+ providerExecuted?: boolean | undefined;
1750
+ type: "tool-call";
1751
+ toolCallId: string;
1752
+ toolName: string;
1753
+ args: any;
1754
+ } | {
1755
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1756
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1757
+ args?: any;
1758
+ providerExecuted?: boolean | undefined;
1759
+ output?: {
1760
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1761
+ type: "text";
1762
+ value: string;
1763
+ } | {
1764
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1765
+ type: "json";
1766
+ value: any;
1767
+ } | {
1768
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1769
+ type: "error-text";
1770
+ value: string;
1771
+ } | {
1772
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1773
+ type: "error-json";
1774
+ value: any;
1775
+ } | {
1776
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1777
+ reason?: string | undefined;
1778
+ type: "execution-denied";
1779
+ } | {
1780
+ type: "content";
1781
+ value: ({
1782
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1783
+ type: "text";
1784
+ text: string;
1785
+ } | {
1786
+ type: "media";
1787
+ mediaType: string;
1788
+ data: string;
1789
+ } | {
1790
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1791
+ filename?: string | undefined;
1792
+ type: "file-data";
1793
+ mediaType: string;
1794
+ data: string;
1795
+ } | {
1796
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1797
+ type: "file-url";
1798
+ url: string;
1799
+ } | {
1800
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1801
+ type: "file-id";
1802
+ fileId: string | Record<string, string>;
1803
+ } | {
1804
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1805
+ type: "image-data";
1806
+ mediaType: string;
1807
+ data: string;
1808
+ } | {
1809
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1810
+ type: "image-url";
1811
+ url: string;
1812
+ } | {
1813
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1814
+ type: "image-file-id";
1815
+ fileId: string | Record<string, string>;
1816
+ } | {
1817
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1818
+ type: "custom";
1819
+ })[];
1820
+ } | undefined;
1821
+ result?: any;
1822
+ isError?: boolean | undefined;
1823
+ experimental_content?: ({
1824
+ type: "text";
1825
+ text: string;
1826
+ } | {
1827
+ mimeType?: string | undefined;
1828
+ type: "image";
1829
+ data: string;
1830
+ })[] | undefined;
1831
+ type: "tool-result";
1832
+ toolCallId: string;
1833
+ toolName: string;
1834
+ } | {
1835
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1836
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1837
+ title?: string | undefined;
1838
+ type: "source";
1839
+ id: string;
1840
+ url: string;
1841
+ sourceType: "url";
1842
+ } | {
1843
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1844
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1845
+ filename?: string | undefined;
1846
+ type: "source";
1847
+ id: string;
1848
+ mediaType: string;
1849
+ sourceType: "document";
1850
+ title: string;
1851
+ } | {
1852
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1853
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1854
+ type: "tool-approval-request";
1855
+ toolCallId: string;
1856
+ approvalId: string;
1857
+ })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
1858
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1859
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1860
+ type: "text";
1861
+ text: string;
1862
+ } | {
1863
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1864
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1865
+ mediaType?: string | undefined;
1866
+ mimeType?: string | undefined;
1867
+ filename?: string | undefined;
1868
+ type: "file";
1869
+ data: string | ArrayBuffer;
1870
+ } | {
1871
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1872
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1873
+ signature?: string | undefined;
1874
+ type: "reasoning";
1875
+ text: string;
1876
+ } | {
1877
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1878
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1879
+ type: "redacted-reasoning";
1880
+ data: string;
1881
+ } | {
1882
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1883
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1884
+ args?: any;
1885
+ providerExecuted?: boolean | undefined;
1886
+ type: "tool-call";
1887
+ toolCallId: string;
1888
+ toolName: string;
1889
+ input: any;
1890
+ } | {
1891
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1892
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1893
+ input?: any;
1894
+ providerExecuted?: boolean | undefined;
1895
+ type: "tool-call";
1896
+ toolCallId: string;
1897
+ toolName: string;
1898
+ args: any;
1899
+ } | {
1900
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1901
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1902
+ args?: any;
1903
+ providerExecuted?: boolean | undefined;
1904
+ output?: {
1905
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1906
+ type: "text";
1907
+ value: string;
1908
+ } | {
1909
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1910
+ type: "json";
1911
+ value: any;
1912
+ } | {
1913
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1914
+ type: "error-text";
1915
+ value: string;
1916
+ } | {
1917
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1918
+ type: "error-json";
1919
+ value: any;
1920
+ } | {
1921
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1922
+ reason?: string | undefined;
1923
+ type: "execution-denied";
1924
+ } | {
1925
+ type: "content";
1926
+ value: ({
1927
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1928
+ type: "text";
1929
+ text: string;
1930
+ } | {
1931
+ type: "media";
1932
+ mediaType: string;
1933
+ data: string;
1934
+ } | {
1935
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1936
+ filename?: string | undefined;
1937
+ type: "file-data";
1938
+ mediaType: string;
1939
+ data: string;
1940
+ } | {
1941
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1942
+ type: "file-url";
1943
+ url: string;
1944
+ } | {
1945
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1946
+ type: "file-id";
1947
+ fileId: string | Record<string, string>;
1948
+ } | {
1949
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1950
+ type: "image-data";
1951
+ mediaType: string;
1952
+ data: string;
1953
+ } | {
1954
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1955
+ type: "image-url";
1956
+ url: string;
1957
+ } | {
1958
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1959
+ type: "image-file-id";
1960
+ fileId: string | Record<string, string>;
1961
+ } | {
1962
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1963
+ type: "custom";
1964
+ })[];
1965
+ } | undefined;
1966
+ result?: any;
1967
+ isError?: boolean | undefined;
1968
+ experimental_content?: ({
1969
+ type: "text";
1970
+ text: string;
1971
+ } | {
1972
+ mimeType?: string | undefined;
1973
+ type: "image";
1974
+ data: string;
1975
+ })[] | undefined;
1976
+ type: "tool-result";
1977
+ toolCallId: string;
1978
+ toolName: string;
1979
+ } | {
1980
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1981
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1982
+ title?: string | undefined;
1983
+ type: "source";
1984
+ id: string;
1985
+ url: string;
1986
+ sourceType: "url";
1987
+ } | {
1988
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1989
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1990
+ filename?: string | undefined;
1991
+ type: "source";
1992
+ id: string;
1993
+ mediaType: string;
1994
+ sourceType: "document";
1995
+ title: string;
1996
+ } | {
1997
+ providerOptions?: Record<string, Record<string, any>> | undefined;
1998
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
1999
+ type: "tool-approval-request";
2000
+ toolCallId: string;
2001
+ approvalId: string;
2002
+ })[], import("convex/values").VUnion<{
2003
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2004
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2005
+ type: "text";
2006
+ text: string;
2007
+ } | {
2008
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2009
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2010
+ mediaType?: string | undefined;
2011
+ mimeType?: string | undefined;
2012
+ filename?: string | undefined;
2013
+ type: "file";
2014
+ data: string | ArrayBuffer;
2015
+ } | {
2016
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2017
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2018
+ signature?: string | undefined;
2019
+ type: "reasoning";
2020
+ text: string;
2021
+ } | {
2022
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2023
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2024
+ type: "redacted-reasoning";
2025
+ data: string;
2026
+ } | {
2027
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2028
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2029
+ args?: any;
2030
+ providerExecuted?: boolean | undefined;
2031
+ type: "tool-call";
2032
+ toolCallId: string;
2033
+ toolName: string;
2034
+ input: any;
2035
+ } | {
2036
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2037
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2038
+ input?: any;
2039
+ providerExecuted?: boolean | undefined;
2040
+ type: "tool-call";
2041
+ toolCallId: string;
2042
+ toolName: string;
2043
+ args: any;
2044
+ } | {
2045
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2046
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2047
+ args?: any;
2048
+ providerExecuted?: boolean | undefined;
2049
+ output?: {
2050
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2051
+ type: "text";
2052
+ value: string;
2053
+ } | {
2054
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2055
+ type: "json";
2056
+ value: any;
2057
+ } | {
2058
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2059
+ type: "error-text";
2060
+ value: string;
2061
+ } | {
2062
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2063
+ type: "error-json";
2064
+ value: any;
2065
+ } | {
2066
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2067
+ reason?: string | undefined;
2068
+ type: "execution-denied";
2069
+ } | {
2070
+ type: "content";
2071
+ value: ({
2072
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2073
+ type: "text";
2074
+ text: string;
2075
+ } | {
2076
+ type: "media";
2077
+ mediaType: string;
2078
+ data: string;
2079
+ } | {
2080
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2081
+ filename?: string | undefined;
2082
+ type: "file-data";
2083
+ mediaType: string;
2084
+ data: string;
2085
+ } | {
2086
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2087
+ type: "file-url";
2088
+ url: string;
2089
+ } | {
2090
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2091
+ type: "file-id";
2092
+ fileId: string | Record<string, string>;
2093
+ } | {
2094
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2095
+ type: "image-data";
2096
+ mediaType: string;
2097
+ data: string;
2098
+ } | {
2099
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2100
+ type: "image-url";
2101
+ url: string;
2102
+ } | {
2103
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2104
+ type: "image-file-id";
2105
+ fileId: string | Record<string, string>;
2106
+ } | {
2107
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2108
+ type: "custom";
2109
+ })[];
2110
+ } | undefined;
2111
+ result?: any;
2112
+ isError?: boolean | undefined;
2113
+ experimental_content?: ({
2114
+ type: "text";
2115
+ text: string;
2116
+ } | {
2117
+ mimeType?: string | undefined;
2118
+ type: "image";
2119
+ data: string;
2120
+ })[] | undefined;
2121
+ type: "tool-result";
2122
+ toolCallId: string;
2123
+ toolName: string;
2124
+ } | {
2125
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2126
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2127
+ title?: string | undefined;
2128
+ type: "source";
2129
+ id: string;
2130
+ url: string;
2131
+ sourceType: "url";
2132
+ } | {
2133
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2134
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2135
+ filename?: string | undefined;
2136
+ type: "source";
2137
+ id: string;
2138
+ mediaType: string;
2139
+ sourceType: "document";
2140
+ title: string;
2141
+ } | {
2142
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2143
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2144
+ type: "tool-approval-request";
2145
+ toolCallId: string;
2146
+ approvalId: string;
2147
+ }, [import("convex/values").VObject<{
2148
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2149
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2150
+ type: "text";
2151
+ text: string;
2152
+ }, {
2153
+ type: import("convex/values").VLiteral<"text", "required">;
2154
+ text: import("convex/values").VString<string, "required">;
2155
+ 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>;
2156
+ 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>;
2157
+ }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
2158
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2159
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2160
+ mediaType?: string | undefined;
2161
+ mimeType?: string | undefined;
2162
+ filename?: string | undefined;
2163
+ type: "file";
2164
+ data: string | ArrayBuffer;
2165
+ }, {
2166
+ type: import("convex/values").VLiteral<"file", "required">;
2167
+ data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
2168
+ filename: import("convex/values").VString<string | undefined, "optional">;
2169
+ mediaType: import("convex/values").VString<string | undefined, "optional">;
2170
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
2171
+ 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>;
2172
+ 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>;
2173
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
2174
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2175
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2176
+ signature?: string | undefined;
2177
+ type: "reasoning";
2178
+ text: string;
2179
+ }, {
2180
+ type: import("convex/values").VLiteral<"reasoning", "required">;
2181
+ text: import("convex/values").VString<string, "required">;
2182
+ signature: import("convex/values").VString<string | undefined, "optional">;
2183
+ 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>;
2184
+ 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>;
2185
+ }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
2186
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2187
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2188
+ type: "redacted-reasoning";
2189
+ data: string;
2190
+ }, {
2191
+ type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
2192
+ data: import("convex/values").VString<string, "required">;
2193
+ 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>;
2194
+ 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>;
2195
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
2196
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2197
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2198
+ args?: any;
2199
+ providerExecuted?: boolean | undefined;
2200
+ type: "tool-call";
2201
+ toolCallId: string;
2202
+ toolName: string;
2203
+ input: any;
2204
+ } | {
2205
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2206
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2207
+ input?: any;
2208
+ providerExecuted?: boolean | undefined;
2209
+ type: "tool-call";
2210
+ toolCallId: string;
2211
+ toolName: string;
2212
+ args: any;
2213
+ }, [import("convex/values").VObject<{
2214
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2215
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2216
+ args?: any;
2217
+ providerExecuted?: boolean | undefined;
2218
+ type: "tool-call";
2219
+ toolCallId: string;
2220
+ toolName: string;
2221
+ input: any;
2222
+ }, {
2223
+ type: import("convex/values").VLiteral<"tool-call", "required">;
2224
+ toolCallId: import("convex/values").VString<string, "required">;
2225
+ toolName: import("convex/values").VString<string, "required">;
2226
+ input: import("convex/values").VAny<any, "required", string>;
2227
+ args: import("convex/values").VAny<any, "optional", string>;
2228
+ providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
2229
+ 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>;
2230
+ 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>;
2231
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
2232
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2233
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2234
+ input?: any;
2235
+ providerExecuted?: boolean | undefined;
2236
+ type: "tool-call";
2237
+ toolCallId: string;
2238
+ toolName: string;
2239
+ args: any;
2240
+ }, {
2241
+ type: import("convex/values").VLiteral<"tool-call", "required">;
2242
+ toolCallId: import("convex/values").VString<string, "required">;
2243
+ toolName: import("convex/values").VString<string, "required">;
2244
+ args: import("convex/values").VAny<any, "required", string>;
2245
+ input: import("convex/values").VAny<any, "optional", string>;
2246
+ providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
2247
+ 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>;
2248
+ 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>;
2249
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
2250
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2251
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2252
+ args?: any;
2253
+ providerExecuted?: boolean | undefined;
2254
+ output?: {
2255
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2256
+ type: "text";
2257
+ value: string;
2258
+ } | {
2259
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2260
+ type: "json";
2261
+ value: any;
2262
+ } | {
2263
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2264
+ type: "error-text";
2265
+ value: string;
2266
+ } | {
2267
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2268
+ type: "error-json";
2269
+ value: any;
2270
+ } | {
2271
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2272
+ reason?: string | undefined;
2273
+ type: "execution-denied";
2274
+ } | {
2275
+ type: "content";
2276
+ value: ({
2277
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2278
+ type: "text";
2279
+ text: string;
2280
+ } | {
2281
+ type: "media";
2282
+ mediaType: string;
2283
+ data: string;
2284
+ } | {
2285
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2286
+ filename?: string | undefined;
2287
+ type: "file-data";
2288
+ mediaType: string;
2289
+ data: string;
2290
+ } | {
2291
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2292
+ type: "file-url";
2293
+ url: string;
2294
+ } | {
2295
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2296
+ type: "file-id";
2297
+ fileId: string | Record<string, string>;
2298
+ } | {
2299
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2300
+ type: "image-data";
2301
+ mediaType: string;
2302
+ data: string;
2303
+ } | {
2304
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2305
+ type: "image-url";
2306
+ url: string;
2307
+ } | {
2308
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2309
+ type: "image-file-id";
2310
+ fileId: string | Record<string, string>;
2311
+ } | {
2312
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2313
+ type: "custom";
2314
+ })[];
2315
+ } | undefined;
2316
+ result?: any;
2317
+ isError?: boolean | undefined;
2318
+ experimental_content?: ({
2319
+ type: "text";
2320
+ text: string;
2321
+ } | {
2322
+ mimeType?: string | undefined;
2323
+ type: "image";
2324
+ data: string;
2325
+ })[] | undefined;
2326
+ type: "tool-result";
2327
+ toolCallId: string;
2328
+ toolName: string;
2329
+ }, {
2330
+ type: import("convex/values").VLiteral<"tool-result", "required">;
2331
+ toolCallId: import("convex/values").VString<string, "required">;
2332
+ toolName: import("convex/values").VString<string, "required">;
2333
+ output: import("convex/values").VUnion<{
2334
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2335
+ type: "text";
2336
+ value: string;
2337
+ } | {
2338
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2339
+ type: "json";
2340
+ value: any;
2341
+ } | {
2342
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2343
+ type: "error-text";
2344
+ value: string;
2345
+ } | {
2346
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2347
+ type: "error-json";
2348
+ value: any;
2349
+ } | {
2350
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2351
+ reason?: string | undefined;
2352
+ type: "execution-denied";
2353
+ } | {
2354
+ type: "content";
2355
+ value: ({
2356
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2357
+ type: "text";
2358
+ text: string;
2359
+ } | {
2360
+ type: "media";
2361
+ mediaType: string;
2362
+ data: string;
2363
+ } | {
2364
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2365
+ filename?: string | undefined;
2366
+ type: "file-data";
2367
+ mediaType: string;
2368
+ data: string;
2369
+ } | {
2370
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2371
+ type: "file-url";
2372
+ url: string;
2373
+ } | {
2374
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2375
+ type: "file-id";
2376
+ fileId: string | Record<string, string>;
2377
+ } | {
2378
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2379
+ type: "image-data";
2380
+ mediaType: string;
2381
+ data: string;
2382
+ } | {
2383
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2384
+ type: "image-url";
2385
+ url: string;
2386
+ } | {
2387
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2388
+ type: "image-file-id";
2389
+ fileId: string | Record<string, string>;
2390
+ } | {
2391
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2392
+ type: "custom";
2393
+ })[];
2394
+ } | undefined, [import("convex/values").VObject<{
2395
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2396
+ type: "text";
2397
+ value: string;
2398
+ }, {
2399
+ type: import("convex/values").VLiteral<"text", "required">;
2400
+ value: import("convex/values").VString<string, "required">;
2401
+ 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>;
2402
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
2403
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2404
+ type: "json";
2405
+ value: any;
2406
+ }, {
2407
+ type: import("convex/values").VLiteral<"json", "required">;
2408
+ value: import("convex/values").VAny<any, "required", string>;
2409
+ 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>;
2410
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
2411
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2412
+ type: "error-text";
2413
+ value: string;
2414
+ }, {
2415
+ type: import("convex/values").VLiteral<"error-text", "required">;
2416
+ value: import("convex/values").VString<string, "required">;
2417
+ 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>;
2418
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
2419
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2420
+ type: "error-json";
2421
+ value: any;
2422
+ }, {
2423
+ type: import("convex/values").VLiteral<"error-json", "required">;
2424
+ value: import("convex/values").VAny<any, "required", string>;
2425
+ 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>;
2426
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
2427
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2428
+ reason?: string | undefined;
2429
+ type: "execution-denied";
2430
+ }, {
2431
+ type: import("convex/values").VLiteral<"execution-denied", "required">;
2432
+ reason: import("convex/values").VString<string | undefined, "optional">;
2433
+ 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>;
2434
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
2435
+ type: "content";
2436
+ value: ({
2437
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2438
+ type: "text";
2439
+ text: string;
2440
+ } | {
2441
+ type: "media";
2442
+ mediaType: string;
2443
+ data: string;
2444
+ } | {
2445
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2446
+ filename?: string | undefined;
2447
+ type: "file-data";
2448
+ mediaType: string;
2449
+ data: string;
2450
+ } | {
2451
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2452
+ type: "file-url";
2453
+ url: string;
2454
+ } | {
2455
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2456
+ type: "file-id";
2457
+ fileId: string | Record<string, string>;
2458
+ } | {
2459
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2460
+ type: "image-data";
2461
+ mediaType: string;
2462
+ data: string;
2463
+ } | {
2464
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2465
+ type: "image-url";
2466
+ url: string;
2467
+ } | {
2468
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2469
+ type: "image-file-id";
2470
+ fileId: string | Record<string, string>;
2471
+ } | {
2472
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2473
+ type: "custom";
2474
+ })[];
2475
+ }, {
2476
+ type: import("convex/values").VLiteral<"content", "required">;
2477
+ value: import("convex/values").VArray<({
2478
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2479
+ type: "text";
2480
+ text: string;
2481
+ } | {
2482
+ type: "media";
2483
+ mediaType: string;
2484
+ data: string;
2485
+ } | {
2486
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2487
+ filename?: string | undefined;
2488
+ type: "file-data";
2489
+ mediaType: string;
2490
+ data: string;
2491
+ } | {
2492
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2493
+ type: "file-url";
2494
+ url: string;
2495
+ } | {
2496
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2497
+ type: "file-id";
2498
+ fileId: string | Record<string, string>;
2499
+ } | {
2500
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2501
+ type: "image-data";
2502
+ mediaType: string;
2503
+ data: string;
2504
+ } | {
2505
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2506
+ type: "image-url";
2507
+ url: string;
2508
+ } | {
2509
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2510
+ type: "image-file-id";
2511
+ fileId: string | Record<string, string>;
2512
+ } | {
2513
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2514
+ type: "custom";
2515
+ })[], import("convex/values").VUnion<{
2516
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2517
+ type: "text";
2518
+ text: string;
2519
+ } | {
2520
+ type: "media";
2521
+ mediaType: string;
2522
+ data: string;
2523
+ } | {
2524
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2525
+ filename?: string | undefined;
2526
+ type: "file-data";
2527
+ mediaType: string;
2528
+ data: string;
2529
+ } | {
2530
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2531
+ type: "file-url";
2532
+ url: string;
2533
+ } | {
2534
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2535
+ type: "file-id";
2536
+ fileId: string | Record<string, string>;
2537
+ } | {
2538
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2539
+ type: "image-data";
2540
+ mediaType: string;
2541
+ data: string;
2542
+ } | {
2543
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2544
+ type: "image-url";
2545
+ url: string;
2546
+ } | {
2547
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2548
+ type: "image-file-id";
2549
+ fileId: string | Record<string, string>;
2550
+ } | {
2551
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2552
+ type: "custom";
2553
+ }, [import("convex/values").VObject<{
2554
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2555
+ type: "text";
2556
+ text: string;
2557
+ }, {
2558
+ type: import("convex/values").VLiteral<"text", "required">;
2559
+ text: import("convex/values").VString<string, "required">;
2560
+ 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>;
2561
+ }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
2562
+ type: "media";
2563
+ mediaType: string;
2564
+ data: string;
2565
+ }, {
2566
+ type: import("convex/values").VLiteral<"media", "required">;
2567
+ data: import("convex/values").VString<string, "required">;
2568
+ mediaType: import("convex/values").VString<string, "required">;
2569
+ }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
2570
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2571
+ filename?: string | undefined;
2572
+ type: "file-data";
2573
+ mediaType: string;
2574
+ data: string;
2575
+ }, {
2576
+ type: import("convex/values").VLiteral<"file-data", "required">;
2577
+ data: import("convex/values").VString<string, "required">;
2578
+ mediaType: import("convex/values").VString<string, "required">;
2579
+ filename: import("convex/values").VString<string | undefined, "optional">;
2580
+ 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>;
2581
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
2582
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2583
+ type: "file-url";
2584
+ url: string;
2585
+ }, {
2586
+ type: import("convex/values").VLiteral<"file-url", "required">;
2587
+ url: import("convex/values").VString<string, "required">;
2588
+ 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>;
2589
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
2590
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2591
+ type: "file-id";
2592
+ fileId: string | Record<string, string>;
2593
+ }, {
2594
+ type: import("convex/values").VLiteral<"file-id", "required">;
2595
+ fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
2596
+ 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>;
2597
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
2598
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2599
+ type: "image-data";
2600
+ mediaType: string;
2601
+ data: string;
2602
+ }, {
2603
+ type: import("convex/values").VLiteral<"image-data", "required">;
2604
+ data: import("convex/values").VString<string, "required">;
2605
+ mediaType: import("convex/values").VString<string, "required">;
2606
+ 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>;
2607
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
2608
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2609
+ type: "image-url";
2610
+ url: string;
2611
+ }, {
2612
+ type: import("convex/values").VLiteral<"image-url", "required">;
2613
+ url: import("convex/values").VString<string, "required">;
2614
+ 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>;
2615
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
2616
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2617
+ type: "image-file-id";
2618
+ fileId: string | Record<string, string>;
2619
+ }, {
2620
+ type: import("convex/values").VLiteral<"image-file-id", "required">;
2621
+ fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
2622
+ 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>;
2623
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
2624
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2625
+ type: "custom";
2626
+ }, {
2627
+ type: import("convex/values").VLiteral<"custom", "required">;
2628
+ 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>;
2629
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
2630
+ }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
2631
+ 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>;
2632
+ 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>;
2633
+ providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
2634
+ result: import("convex/values").VAny<any, "optional", string>;
2635
+ isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
2636
+ args: import("convex/values").VAny<any, "optional", string>;
2637
+ experimental_content: import("convex/values").VArray<({
2638
+ type: "text";
2639
+ text: string;
2640
+ } | {
2641
+ mimeType?: string | undefined;
2642
+ type: "image";
2643
+ data: string;
2644
+ })[] | undefined, import("convex/values").VUnion<{
2645
+ type: "text";
2646
+ text: string;
2647
+ } | {
2648
+ mimeType?: string | undefined;
2649
+ type: "image";
2650
+ data: string;
2651
+ }, [import("convex/values").VObject<{
2652
+ type: "text";
2653
+ text: string;
2654
+ }, {
2655
+ type: import("convex/values").VLiteral<"text", "required">;
2656
+ text: import("convex/values").VString<string, "required">;
2657
+ }, "required", "type" | "text">, import("convex/values").VObject<{
2658
+ mimeType?: string | undefined;
2659
+ type: "image";
2660
+ data: string;
2661
+ }, {
2662
+ type: import("convex/values").VLiteral<"image", "required">;
2663
+ data: import("convex/values").VString<string, "required">;
2664
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
2665
+ }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
2666
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
2667
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2668
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2669
+ title?: string | undefined;
2670
+ type: "source";
2671
+ id: string;
2672
+ url: string;
2673
+ sourceType: "url";
2674
+ } | {
2675
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2676
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2677
+ filename?: string | undefined;
2678
+ type: "source";
2679
+ id: string;
2680
+ mediaType: string;
2681
+ sourceType: "document";
2682
+ title: string;
2683
+ }, [import("convex/values").VObject<{
2684
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2685
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2686
+ title?: string | undefined;
2687
+ type: "source";
2688
+ id: string;
2689
+ url: string;
2690
+ sourceType: "url";
2691
+ }, {
2692
+ type: import("convex/values").VLiteral<"source", "required">;
2693
+ sourceType: import("convex/values").VLiteral<"url", "required">;
2694
+ id: import("convex/values").VString<string, "required">;
2695
+ url: import("convex/values").VString<string, "required">;
2696
+ title: import("convex/values").VString<string | undefined, "optional">;
2697
+ 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>;
2698
+ 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>;
2699
+ }, "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType" | "title">, import("convex/values").VObject<{
2700
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2701
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2702
+ filename?: string | undefined;
2703
+ type: "source";
2704
+ id: string;
2705
+ mediaType: string;
2706
+ sourceType: "document";
2707
+ title: string;
2708
+ }, {
2709
+ type: import("convex/values").VLiteral<"source", "required">;
2710
+ sourceType: import("convex/values").VLiteral<"document", "required">;
2711
+ id: import("convex/values").VString<string, "required">;
2712
+ mediaType: import("convex/values").VString<string, "required">;
2713
+ title: import("convex/values").VString<string, "required">;
2714
+ filename: import("convex/values").VString<string | undefined, "optional">;
2715
+ 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>;
2716
+ 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>;
2717
+ }, "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType" | "title">], "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType" | "title">, import("convex/values").VObject<{
2718
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2719
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2720
+ type: "tool-approval-request";
2721
+ toolCallId: string;
2722
+ approvalId: string;
2723
+ }, {
2724
+ type: import("convex/values").VLiteral<"tool-approval-request", "required">;
2725
+ approvalId: import("convex/values").VString<string, "required">;
2726
+ toolCallId: import("convex/values").VString<string, "required">;
2727
+ 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>;
2728
+ 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>;
2729
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "type" | "id" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "title" | "approvalId">, "required">], "required", never>;
2730
+ 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>;
2731
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
2732
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2733
+ role: "tool";
2734
+ content: ({
2735
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2736
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2737
+ args?: any;
2738
+ providerExecuted?: boolean | undefined;
2739
+ output?: {
2740
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2741
+ type: "text";
2742
+ value: string;
2743
+ } | {
2744
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2745
+ type: "json";
2746
+ value: any;
2747
+ } | {
2748
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2749
+ type: "error-text";
2750
+ value: string;
2751
+ } | {
2752
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2753
+ type: "error-json";
2754
+ value: any;
2755
+ } | {
2756
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2757
+ reason?: string | undefined;
2758
+ type: "execution-denied";
2759
+ } | {
2760
+ type: "content";
2761
+ value: ({
2762
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2763
+ type: "text";
2764
+ text: string;
2765
+ } | {
2766
+ type: "media";
2767
+ mediaType: string;
2768
+ data: string;
2769
+ } | {
2770
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2771
+ filename?: string | undefined;
2772
+ type: "file-data";
2773
+ mediaType: string;
2774
+ data: string;
2775
+ } | {
2776
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2777
+ type: "file-url";
2778
+ url: string;
2779
+ } | {
2780
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2781
+ type: "file-id";
2782
+ fileId: string | Record<string, string>;
2783
+ } | {
2784
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2785
+ type: "image-data";
2786
+ mediaType: string;
2787
+ data: string;
2788
+ } | {
2789
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2790
+ type: "image-url";
2791
+ url: string;
2792
+ } | {
2793
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2794
+ type: "image-file-id";
2795
+ fileId: string | Record<string, string>;
2796
+ } | {
2797
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2798
+ type: "custom";
2799
+ })[];
2800
+ } | undefined;
2801
+ result?: any;
2802
+ isError?: boolean | undefined;
2803
+ experimental_content?: ({
2804
+ type: "text";
2805
+ text: string;
2806
+ } | {
2807
+ mimeType?: string | undefined;
2808
+ type: "image";
2809
+ data: string;
2810
+ })[] | undefined;
2811
+ type: "tool-result";
2812
+ toolCallId: string;
2813
+ toolName: string;
2814
+ } | {
2815
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2816
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2817
+ providerExecuted?: boolean | undefined;
2818
+ reason?: string | undefined;
2819
+ type: "tool-approval-response";
2820
+ approvalId: string;
2821
+ approved: boolean;
2822
+ })[];
2823
+ }, {
2824
+ role: import("convex/values").VLiteral<"tool", "required">;
2825
+ content: import("convex/values").VArray<({
2826
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2827
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2828
+ args?: any;
2829
+ providerExecuted?: boolean | undefined;
2830
+ output?: {
2831
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2832
+ type: "text";
2833
+ value: string;
2834
+ } | {
2835
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2836
+ type: "json";
2837
+ value: any;
2838
+ } | {
2839
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2840
+ type: "error-text";
2841
+ value: string;
2842
+ } | {
2843
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2844
+ type: "error-json";
2845
+ value: any;
2846
+ } | {
2847
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2848
+ reason?: string | undefined;
2849
+ type: "execution-denied";
2850
+ } | {
2851
+ type: "content";
2852
+ value: ({
2853
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2854
+ type: "text";
2855
+ text: string;
2856
+ } | {
2857
+ type: "media";
2858
+ mediaType: string;
2859
+ data: string;
2860
+ } | {
2861
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2862
+ filename?: string | undefined;
2863
+ type: "file-data";
2864
+ mediaType: string;
2865
+ data: string;
2866
+ } | {
2867
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2868
+ type: "file-url";
2869
+ url: string;
2870
+ } | {
2871
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2872
+ type: "file-id";
2873
+ fileId: string | Record<string, string>;
2874
+ } | {
2875
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2876
+ type: "image-data";
2877
+ mediaType: string;
2878
+ data: string;
2879
+ } | {
2880
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2881
+ type: "image-url";
2882
+ url: string;
2883
+ } | {
2884
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2885
+ type: "image-file-id";
2886
+ fileId: string | Record<string, string>;
2887
+ } | {
2888
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2889
+ type: "custom";
2890
+ })[];
2891
+ } | undefined;
2892
+ result?: any;
2893
+ isError?: boolean | undefined;
2894
+ experimental_content?: ({
2895
+ type: "text";
2896
+ text: string;
2897
+ } | {
2898
+ mimeType?: string | undefined;
2899
+ type: "image";
2900
+ data: string;
2901
+ })[] | undefined;
2902
+ type: "tool-result";
2903
+ toolCallId: string;
2904
+ toolName: string;
2905
+ } | {
2906
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2907
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2908
+ providerExecuted?: boolean | undefined;
2909
+ reason?: string | undefined;
2910
+ type: "tool-approval-response";
2911
+ approvalId: string;
2912
+ approved: boolean;
2913
+ })[], import("convex/values").VUnion<{
2914
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2915
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2916
+ args?: any;
2917
+ providerExecuted?: boolean | undefined;
2918
+ output?: {
2919
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2920
+ type: "text";
2921
+ value: string;
2922
+ } | {
2923
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2924
+ type: "json";
2925
+ value: any;
2926
+ } | {
2927
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2928
+ type: "error-text";
2929
+ value: string;
2930
+ } | {
2931
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2932
+ type: "error-json";
2933
+ value: any;
2934
+ } | {
2935
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2936
+ reason?: string | undefined;
2937
+ type: "execution-denied";
2938
+ } | {
2939
+ type: "content";
2940
+ value: ({
2941
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2942
+ type: "text";
2943
+ text: string;
2944
+ } | {
2945
+ type: "media";
2946
+ mediaType: string;
2947
+ data: string;
2948
+ } | {
2949
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2950
+ filename?: string | undefined;
2951
+ type: "file-data";
2952
+ mediaType: string;
2953
+ data: string;
2954
+ } | {
2955
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2956
+ type: "file-url";
2957
+ url: string;
2958
+ } | {
2959
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2960
+ type: "file-id";
2961
+ fileId: string | Record<string, string>;
2962
+ } | {
2963
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2964
+ type: "image-data";
2965
+ mediaType: string;
2966
+ data: string;
2967
+ } | {
2968
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2969
+ type: "image-url";
2970
+ url: string;
2971
+ } | {
2972
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2973
+ type: "image-file-id";
2974
+ fileId: string | Record<string, string>;
2975
+ } | {
2976
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2977
+ type: "custom";
2978
+ })[];
2979
+ } | undefined;
2980
+ result?: any;
2981
+ isError?: boolean | undefined;
2982
+ experimental_content?: ({
2983
+ type: "text";
2984
+ text: string;
2985
+ } | {
2986
+ mimeType?: string | undefined;
2987
+ type: "image";
2988
+ data: string;
2989
+ })[] | undefined;
2990
+ type: "tool-result";
2991
+ toolCallId: string;
2992
+ toolName: string;
2993
+ } | {
2994
+ providerOptions?: Record<string, Record<string, any>> | undefined;
2995
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
2996
+ providerExecuted?: boolean | undefined;
2997
+ reason?: string | undefined;
2998
+ type: "tool-approval-response";
2999
+ approvalId: string;
3000
+ approved: boolean;
3001
+ }, [import("convex/values").VObject<{
3002
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3003
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3004
+ args?: any;
3005
+ providerExecuted?: boolean | undefined;
3006
+ output?: {
3007
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3008
+ type: "text";
3009
+ value: string;
3010
+ } | {
3011
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3012
+ type: "json";
3013
+ value: any;
3014
+ } | {
3015
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3016
+ type: "error-text";
3017
+ value: string;
3018
+ } | {
3019
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3020
+ type: "error-json";
3021
+ value: any;
3022
+ } | {
3023
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3024
+ reason?: string | undefined;
3025
+ type: "execution-denied";
3026
+ } | {
3027
+ type: "content";
3028
+ value: ({
3029
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3030
+ type: "text";
3031
+ text: string;
3032
+ } | {
3033
+ type: "media";
3034
+ mediaType: string;
3035
+ data: string;
3036
+ } | {
3037
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3038
+ filename?: string | undefined;
3039
+ type: "file-data";
3040
+ mediaType: string;
3041
+ data: string;
3042
+ } | {
3043
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3044
+ type: "file-url";
3045
+ url: string;
3046
+ } | {
3047
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3048
+ type: "file-id";
3049
+ fileId: string | Record<string, string>;
3050
+ } | {
3051
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3052
+ type: "image-data";
3053
+ mediaType: string;
3054
+ data: string;
3055
+ } | {
3056
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3057
+ type: "image-url";
3058
+ url: string;
3059
+ } | {
3060
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3061
+ type: "image-file-id";
3062
+ fileId: string | Record<string, string>;
3063
+ } | {
3064
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3065
+ type: "custom";
3066
+ })[];
3067
+ } | undefined;
3068
+ result?: any;
3069
+ isError?: boolean | undefined;
3070
+ experimental_content?: ({
3071
+ type: "text";
3072
+ text: string;
3073
+ } | {
3074
+ mimeType?: string | undefined;
3075
+ type: "image";
3076
+ data: string;
3077
+ })[] | undefined;
3078
+ type: "tool-result";
3079
+ toolCallId: string;
3080
+ toolName: string;
3081
+ }, {
3082
+ type: import("convex/values").VLiteral<"tool-result", "required">;
3083
+ toolCallId: import("convex/values").VString<string, "required">;
3084
+ toolName: import("convex/values").VString<string, "required">;
3085
+ output: import("convex/values").VUnion<{
3086
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3087
+ type: "text";
3088
+ value: string;
3089
+ } | {
3090
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3091
+ type: "json";
3092
+ value: any;
3093
+ } | {
3094
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3095
+ type: "error-text";
3096
+ value: string;
3097
+ } | {
3098
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3099
+ type: "error-json";
3100
+ value: any;
3101
+ } | {
3102
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3103
+ reason?: string | undefined;
3104
+ type: "execution-denied";
3105
+ } | {
3106
+ type: "content";
3107
+ value: ({
3108
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3109
+ type: "text";
3110
+ text: string;
3111
+ } | {
3112
+ type: "media";
3113
+ mediaType: string;
3114
+ data: string;
3115
+ } | {
3116
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3117
+ filename?: string | undefined;
3118
+ type: "file-data";
3119
+ mediaType: string;
3120
+ data: string;
3121
+ } | {
3122
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3123
+ type: "file-url";
3124
+ url: string;
3125
+ } | {
3126
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3127
+ type: "file-id";
3128
+ fileId: string | Record<string, string>;
3129
+ } | {
3130
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3131
+ type: "image-data";
3132
+ mediaType: string;
3133
+ data: string;
3134
+ } | {
3135
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3136
+ type: "image-url";
3137
+ url: string;
3138
+ } | {
3139
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3140
+ type: "image-file-id";
3141
+ fileId: string | Record<string, string>;
3142
+ } | {
3143
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3144
+ type: "custom";
3145
+ })[];
3146
+ } | undefined, [import("convex/values").VObject<{
3147
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3148
+ type: "text";
3149
+ value: string;
3150
+ }, {
3151
+ type: import("convex/values").VLiteral<"text", "required">;
3152
+ value: import("convex/values").VString<string, "required">;
3153
+ 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>;
3154
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
3155
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3156
+ type: "json";
3157
+ value: any;
3158
+ }, {
3159
+ type: import("convex/values").VLiteral<"json", "required">;
3160
+ value: import("convex/values").VAny<any, "required", string>;
3161
+ 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>;
3162
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
3163
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3164
+ type: "error-text";
3165
+ value: string;
3166
+ }, {
3167
+ type: import("convex/values").VLiteral<"error-text", "required">;
3168
+ value: import("convex/values").VString<string, "required">;
3169
+ 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>;
3170
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
3171
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3172
+ type: "error-json";
3173
+ value: any;
3174
+ }, {
3175
+ type: import("convex/values").VLiteral<"error-json", "required">;
3176
+ value: import("convex/values").VAny<any, "required", string>;
3177
+ 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>;
3178
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
3179
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3180
+ reason?: string | undefined;
3181
+ type: "execution-denied";
3182
+ }, {
3183
+ type: import("convex/values").VLiteral<"execution-denied", "required">;
3184
+ reason: import("convex/values").VString<string | undefined, "optional">;
3185
+ 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>;
3186
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
3187
+ type: "content";
3188
+ value: ({
3189
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3190
+ type: "text";
3191
+ text: string;
3192
+ } | {
3193
+ type: "media";
3194
+ mediaType: string;
3195
+ data: string;
3196
+ } | {
3197
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3198
+ filename?: string | undefined;
3199
+ type: "file-data";
3200
+ mediaType: string;
3201
+ data: string;
3202
+ } | {
3203
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3204
+ type: "file-url";
3205
+ url: string;
3206
+ } | {
3207
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3208
+ type: "file-id";
3209
+ fileId: string | Record<string, string>;
3210
+ } | {
3211
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3212
+ type: "image-data";
3213
+ mediaType: string;
3214
+ data: string;
3215
+ } | {
3216
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3217
+ type: "image-url";
3218
+ url: string;
3219
+ } | {
3220
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3221
+ type: "image-file-id";
3222
+ fileId: string | Record<string, string>;
3223
+ } | {
3224
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3225
+ type: "custom";
3226
+ })[];
3227
+ }, {
3228
+ type: import("convex/values").VLiteral<"content", "required">;
3229
+ value: import("convex/values").VArray<({
3230
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3231
+ type: "text";
3232
+ text: string;
3233
+ } | {
3234
+ type: "media";
3235
+ mediaType: string;
3236
+ data: string;
3237
+ } | {
3238
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3239
+ filename?: string | undefined;
3240
+ type: "file-data";
3241
+ mediaType: string;
3242
+ data: string;
3243
+ } | {
3244
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3245
+ type: "file-url";
3246
+ url: string;
3247
+ } | {
3248
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3249
+ type: "file-id";
3250
+ fileId: string | Record<string, string>;
3251
+ } | {
3252
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3253
+ type: "image-data";
3254
+ mediaType: string;
3255
+ data: string;
3256
+ } | {
3257
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3258
+ type: "image-url";
3259
+ url: string;
3260
+ } | {
3261
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3262
+ type: "image-file-id";
3263
+ fileId: string | Record<string, string>;
3264
+ } | {
3265
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3266
+ type: "custom";
3267
+ })[], import("convex/values").VUnion<{
3268
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3269
+ type: "text";
3270
+ text: string;
3271
+ } | {
3272
+ type: "media";
3273
+ mediaType: string;
3274
+ data: string;
3275
+ } | {
3276
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3277
+ filename?: string | undefined;
3278
+ type: "file-data";
3279
+ mediaType: string;
3280
+ data: string;
3281
+ } | {
3282
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3283
+ type: "file-url";
3284
+ url: string;
3285
+ } | {
3286
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3287
+ type: "file-id";
3288
+ fileId: string | Record<string, string>;
3289
+ } | {
3290
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3291
+ type: "image-data";
3292
+ mediaType: string;
3293
+ data: string;
3294
+ } | {
3295
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3296
+ type: "image-url";
3297
+ url: string;
3298
+ } | {
3299
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3300
+ type: "image-file-id";
3301
+ fileId: string | Record<string, string>;
3302
+ } | {
3303
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3304
+ type: "custom";
3305
+ }, [import("convex/values").VObject<{
3306
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3307
+ type: "text";
3308
+ text: string;
3309
+ }, {
3310
+ type: import("convex/values").VLiteral<"text", "required">;
3311
+ text: import("convex/values").VString<string, "required">;
3312
+ 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>;
3313
+ }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
3314
+ type: "media";
3315
+ mediaType: string;
3316
+ data: string;
3317
+ }, {
3318
+ type: import("convex/values").VLiteral<"media", "required">;
3319
+ data: import("convex/values").VString<string, "required">;
3320
+ mediaType: import("convex/values").VString<string, "required">;
3321
+ }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
3322
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3323
+ filename?: string | undefined;
3324
+ type: "file-data";
3325
+ mediaType: string;
3326
+ data: string;
3327
+ }, {
3328
+ type: import("convex/values").VLiteral<"file-data", "required">;
3329
+ data: import("convex/values").VString<string, "required">;
3330
+ mediaType: import("convex/values").VString<string, "required">;
3331
+ filename: import("convex/values").VString<string | undefined, "optional">;
3332
+ 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>;
3333
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
3334
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3335
+ type: "file-url";
3336
+ url: string;
3337
+ }, {
3338
+ type: import("convex/values").VLiteral<"file-url", "required">;
3339
+ url: import("convex/values").VString<string, "required">;
3340
+ 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>;
3341
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
3342
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3343
+ type: "file-id";
3344
+ fileId: string | Record<string, string>;
3345
+ }, {
3346
+ type: import("convex/values").VLiteral<"file-id", "required">;
3347
+ fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
3348
+ 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>;
3349
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
3350
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3351
+ type: "image-data";
3352
+ mediaType: string;
3353
+ data: string;
3354
+ }, {
3355
+ type: import("convex/values").VLiteral<"image-data", "required">;
3356
+ data: import("convex/values").VString<string, "required">;
3357
+ mediaType: import("convex/values").VString<string, "required">;
3358
+ 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>;
3359
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
3360
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3361
+ type: "image-url";
3362
+ url: string;
3363
+ }, {
3364
+ type: import("convex/values").VLiteral<"image-url", "required">;
3365
+ url: import("convex/values").VString<string, "required">;
3366
+ 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>;
3367
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
3368
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3369
+ type: "image-file-id";
3370
+ fileId: string | Record<string, string>;
3371
+ }, {
3372
+ type: import("convex/values").VLiteral<"image-file-id", "required">;
3373
+ fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
3374
+ 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>;
3375
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
3376
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3377
+ type: "custom";
3378
+ }, {
3379
+ type: import("convex/values").VLiteral<"custom", "required">;
3380
+ 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>;
3381
+ }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
3382
+ }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
3383
+ 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>;
3384
+ 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>;
3385
+ providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
3386
+ result: import("convex/values").VAny<any, "optional", string>;
3387
+ isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
3388
+ args: import("convex/values").VAny<any, "optional", string>;
3389
+ experimental_content: import("convex/values").VArray<({
3390
+ type: "text";
3391
+ text: string;
3392
+ } | {
3393
+ mimeType?: string | undefined;
3394
+ type: "image";
3395
+ data: string;
3396
+ })[] | undefined, import("convex/values").VUnion<{
3397
+ type: "text";
3398
+ text: string;
3399
+ } | {
3400
+ mimeType?: string | undefined;
3401
+ type: "image";
3402
+ data: string;
3403
+ }, [import("convex/values").VObject<{
3404
+ type: "text";
3405
+ text: string;
3406
+ }, {
3407
+ type: import("convex/values").VLiteral<"text", "required">;
3408
+ text: import("convex/values").VString<string, "required">;
3409
+ }, "required", "type" | "text">, import("convex/values").VObject<{
3410
+ mimeType?: string | undefined;
3411
+ type: "image";
3412
+ data: string;
3413
+ }, {
3414
+ type: import("convex/values").VLiteral<"image", "required">;
3415
+ data: import("convex/values").VString<string, "required">;
3416
+ mimeType: import("convex/values").VString<string | undefined, "optional">;
3417
+ }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
3418
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
3419
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3420
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3421
+ providerExecuted?: boolean | undefined;
3422
+ reason?: string | undefined;
3423
+ type: "tool-approval-response";
3424
+ approvalId: string;
3425
+ approved: boolean;
3426
+ }, {
3427
+ type: import("convex/values").VLiteral<"tool-approval-response", "required">;
3428
+ approvalId: import("convex/values").VString<string, "required">;
3429
+ approved: import("convex/values").VBoolean<boolean, "required">;
3430
+ reason: import("convex/values").VString<string | undefined, "optional">;
3431
+ providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
3432
+ 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>;
3433
+ 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>;
3434
+ }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
3435
+ 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>;
3436
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
3437
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3438
+ role: "system";
3439
+ content: string;
3440
+ }, {
3441
+ role: import("convex/values").VLiteral<"system", "required">;
3442
+ content: import("convex/values").VString<string, "required">;
3443
+ 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>;
3444
+ }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
3445
+ tool: import("convex/values").VBoolean<boolean, "required">;
3446
+ text: import("convex/values").VString<string | undefined, "optional">;
3447
+ usage: import("convex/values").VObject<{
3448
+ reasoningTokens?: number | undefined;
3449
+ cachedInputTokens?: number | undefined;
3450
+ promptTokens: number;
3451
+ completionTokens: number;
3452
+ totalTokens: number;
3453
+ } | undefined, {
3454
+ promptTokens: import("convex/values").VFloat64<number, "required">;
3455
+ completionTokens: import("convex/values").VFloat64<number, "required">;
3456
+ totalTokens: import("convex/values").VFloat64<number, "required">;
3457
+ reasoningTokens: import("convex/values").VFloat64<number | undefined, "optional">;
3458
+ cachedInputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
3459
+ }, "optional", "promptTokens" | "completionTokens" | "totalTokens" | "reasoningTokens" | "cachedInputTokens">;
3460
+ 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>;
3461
+ sources: import("convex/values").VArray<({
3462
+ type?: "source" | undefined;
3463
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3464
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3465
+ title?: string | undefined;
3466
+ id: string;
3467
+ url: string;
3468
+ sourceType: "url";
3469
+ } | {
3470
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3471
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3472
+ filename?: string | undefined;
3473
+ type: "source";
3474
+ id: string;
3475
+ mediaType: string;
3476
+ sourceType: "document";
3477
+ title: string;
3478
+ })[] | undefined, import("convex/values").VUnion<{
3479
+ type?: "source" | undefined;
3480
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3481
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3482
+ title?: string | undefined;
3483
+ id: string;
3484
+ url: string;
3485
+ sourceType: "url";
3486
+ } | {
3487
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3488
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3489
+ filename?: string | undefined;
3490
+ type: "source";
3491
+ id: string;
3492
+ mediaType: string;
3493
+ sourceType: "document";
3494
+ title: string;
3495
+ }, [import("convex/values").VObject<{
3496
+ type?: "source" | undefined;
3497
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3498
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3499
+ title?: string | undefined;
3500
+ id: string;
3501
+ url: string;
3502
+ sourceType: "url";
3503
+ }, {
3504
+ type: import("convex/values").VLiteral<"source" | undefined, "optional">;
3505
+ sourceType: import("convex/values").VLiteral<"url", "required">;
3506
+ id: import("convex/values").VString<string, "required">;
3507
+ url: import("convex/values").VString<string, "required">;
3508
+ title: import("convex/values").VString<string | undefined, "optional">;
3509
+ 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>;
3510
+ 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>;
3511
+ }, "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType" | "title">, import("convex/values").VObject<{
3512
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3513
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3514
+ filename?: string | undefined;
3515
+ type: "source";
3516
+ id: string;
3517
+ mediaType: string;
3518
+ sourceType: "document";
3519
+ title: string;
3520
+ }, {
3521
+ type: import("convex/values").VLiteral<"source", "required">;
3522
+ sourceType: import("convex/values").VLiteral<"document", "required">;
3523
+ id: import("convex/values").VString<string, "required">;
3524
+ mediaType: import("convex/values").VString<string, "required">;
3525
+ title: import("convex/values").VString<string, "required">;
3526
+ filename: import("convex/values").VString<string | undefined, "optional">;
3527
+ 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>;
3528
+ 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>;
3529
+ }, "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType" | "title">], "required", "type" | "id" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType" | "title">, "optional">;
3530
+ warnings: import("convex/values").VArray<({
3531
+ details?: string | undefined;
3532
+ type: "unsupported-setting";
3533
+ setting: string;
3534
+ } | {
3535
+ details?: string | undefined;
3536
+ type: "unsupported-tool";
3537
+ tool: any;
3538
+ } | {
3539
+ type: "other";
3540
+ message: string;
3541
+ })[] | undefined, import("convex/values").VUnion<{
3542
+ details?: string | undefined;
3543
+ type: "unsupported-setting";
3544
+ setting: string;
3545
+ } | {
3546
+ details?: string | undefined;
3547
+ type: "unsupported-tool";
3548
+ tool: any;
3549
+ } | {
3550
+ type: "other";
3551
+ message: string;
3552
+ }, [import("convex/values").VObject<{
3553
+ details?: string | undefined;
3554
+ type: "unsupported-setting";
3555
+ setting: string;
3556
+ }, {
3557
+ type: import("convex/values").VLiteral<"unsupported-setting", "required">;
3558
+ setting: import("convex/values").VString<string, "required">;
3559
+ details: import("convex/values").VString<string | undefined, "optional">;
3560
+ }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
3561
+ details?: string | undefined;
3562
+ type: "unsupported-tool";
3563
+ tool: any;
3564
+ }, {
3565
+ type: import("convex/values").VLiteral<"unsupported-tool", "required">;
3566
+ tool: import("convex/values").VAny<any, "required", string>;
3567
+ details: import("convex/values").VString<string | undefined, "optional">;
3568
+ }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
3569
+ type: "other";
3570
+ message: string;
3571
+ }, {
3572
+ type: import("convex/values").VLiteral<"other", "required">;
3573
+ message: import("convex/values").VString<string, "required">;
3574
+ }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
3575
+ 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>;
3576
+ reasoning: import("convex/values").VString<string | undefined, "optional">;
3577
+ reasoningDetails: import("convex/values").VArray<({
3578
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3579
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3580
+ signature?: string | undefined;
3581
+ type: "reasoning";
3582
+ text: string;
3583
+ } | {
3584
+ signature?: string | undefined;
3585
+ type: "text";
3586
+ text: string;
3587
+ } | {
3588
+ type: "redacted";
3589
+ data: string;
3590
+ })[] | undefined, import("convex/values").VUnion<{
3591
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3592
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3593
+ signature?: string | undefined;
3594
+ type: "reasoning";
3595
+ text: string;
3596
+ } | {
3597
+ signature?: string | undefined;
3598
+ type: "text";
3599
+ text: string;
3600
+ } | {
3601
+ type: "redacted";
3602
+ data: string;
3603
+ }, [import("convex/values").VObject<{
3604
+ providerOptions?: Record<string, Record<string, any>> | undefined;
3605
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
3606
+ signature?: string | undefined;
3607
+ type: "reasoning";
3608
+ text: string;
3609
+ }, {
3610
+ type: import("convex/values").VLiteral<"reasoning", "required">;
3611
+ text: import("convex/values").VString<string, "required">;
3612
+ signature: import("convex/values").VString<string | undefined, "optional">;
3613
+ 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>;
3614
+ 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>;
3615
+ }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
3616
+ signature?: string | undefined;
3617
+ type: "text";
3618
+ text: string;
3619
+ }, {
3620
+ type: import("convex/values").VLiteral<"text", "required">;
3621
+ text: import("convex/values").VString<string, "required">;
3622
+ signature: import("convex/values").VString<string | undefined, "optional">;
3623
+ }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
3624
+ type: "redacted";
3625
+ data: string;
3626
+ }, {
3627
+ type: import("convex/values").VLiteral<"redacted", "required">;
3628
+ data: import("convex/values").VString<string, "required">;
3629
+ }, "required", "type" | "data">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data" | "signature">, "optional">;
3630
+ id: import("convex/values").VString<string | undefined, "optional">;
3631
+ }, "required", "_id" | "_creationTime" | "userId" | "id" | "threadId" | "order" | "stepOrder" | "embeddingId" | "fileIds" | "error" | "status" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "reasoning" | "tool" | "usage" | "sources" | "warnings" | "finishReason" | "reasoningDetails" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | "usage.reasoningTokens" | "usage.cachedInputTokens">, "required">;
3632
+ continueCursor: import("convex/values").VString<string, "required">;
3633
+ isDone: import("convex/values").VBoolean<boolean, "required">;
3634
+ splitCursor: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
3635
+ pageStatus: import("convex/values").VUnion<"SplitRecommended" | "SplitRequired" | null | undefined, [import("convex/values").VLiteral<"SplitRecommended", "required">, import("convex/values").VLiteral<"SplitRequired", "required">, import("convex/values").VNull<null, "required">], "optional", never>;
3636
+ }, "required", "isDone" | "page" | "continueCursor" | "splitCursor" | "pageStatus" | "streams" | "streams.messages" | "streams.deltas" | "streams.kind">;
6
3637
  /**
7
3638
  * A function that handles fetching stream deltas, used with the React hooks
8
3639
  * `useThreadMessages` or `useStreamingThreadMessages`.
@@ -12,12 +3643,12 @@ import type { Infer } from "convex/values";
12
3643
  * @param args.streamArgs The stream arguments with per-stream cursors.
13
3644
  * @returns The deltas for each stream from their existing cursor.
14
3645
  */
15
- export declare function syncStreams(ctx: RunQueryCtx, component: AgentComponent, args: {
3646
+ export declare function syncStreams(ctx: QueryCtx | MutationCtx | ActionCtx, component: AgentComponent, { threadId, streamArgs, includeStatuses, }: {
16
3647
  threadId: string;
17
- streamArgs: StreamArgs | undefined;
3648
+ streamArgs?: StreamArgs | undefined;
18
3649
  includeStatuses?: ("streaming" | "finished" | "aborted")[];
19
3650
  }): Promise<SyncStreamsReturnValue | undefined>;
20
- export declare function abortStream(ctx: RunMutationCtx, component: AgentComponent, args: {
3651
+ export declare function abortStream(ctx: MutationCtx | ActionCtx, component: AgentComponent, args: {
21
3652
  reason: string;
22
3653
  } & ({
23
3654
  streamId: string;
@@ -34,7 +3665,7 @@ export declare function abortStream(ctx: RunMutationCtx, component: AgentCompone
34
3665
  * @param args.includeStatuses The statuses to include in the list.
35
3666
  * @returns The streams for the thread.
36
3667
  */
37
- export declare function listStreams(ctx: RunQueryCtx, component: AgentComponent, { threadId, startOrder, includeStatuses, }: {
3668
+ export declare function listStreams(ctx: QueryCtx | MutationCtx | ActionCtx, component: AgentComponent, { threadId, startOrder, includeStatuses, }: {
38
3669
  threadId: string;
39
3670
  startOrder?: number;
40
3671
  includeStatuses?: ("streaming" | "finished" | "aborted")[];
@@ -53,42 +3684,95 @@ export type StreamingOptions = {
53
3684
  * Defaults to 250.
54
3685
  */
55
3686
  throttleMs?: number;
3687
+ /**
3688
+ * If set to true, this will return immediately, as it would if you weren't
3689
+ * saving the deltas. Otherwise, the call will "consume" the stream with
3690
+ * .consumeStream(), which waits for the stream to finish before returning.
3691
+ *
3692
+ * When saving deltas, you're often not interactin with the stream otherwise.
3693
+ */
3694
+ returnImmediately?: boolean;
56
3695
  };
57
3696
  export declare const DEFAULT_STREAMING_OPTIONS: {
58
3697
  chunking: RegExp;
59
3698
  throttleMs: number;
3699
+ returnImmediately: false;
60
3700
  };
61
- export declare function mergeTransforms<TOOLS extends ToolSet>(options: StreamingOptions | boolean | undefined, existing: StreamTextTransform<TOOLS> | Array<StreamTextTransform<TOOLS>> | undefined): StreamTextTransform<TOOLS> | StreamTextTransform<TOOLS>[] | undefined;
62
- export declare class DeltaStreamer {
3701
+ /**
3702
+ *
3703
+ * @param options The options passed to `agent.streamText` to decide whether to
3704
+ * save deltas while streaming.
3705
+ * @param existing The transforms passed to `agent.streamText` to merge with.
3706
+ * @returns The merged transforms to pass to the underlying `streamText` call.
3707
+ */
3708
+ export declare function mergeTransforms<TOOLS extends ToolSet>(options: {
3709
+ chunking?: StreamingOptions["chunking"];
3710
+ } | boolean | undefined, existing: StreamTextTransform<TOOLS> | Array<StreamTextTransform<TOOLS>> | undefined): StreamTextTransform<TOOLS> | StreamTextTransform<TOOLS>[] | undefined;
3711
+ /**
3712
+ * DeltaStreamer can be used to save a stream of "parts" by writing
3713
+ * batches of them in "deltas" to the database so clients can subscribe
3714
+ * (using the syncStreams utility and client hooks) and re-hydrate the stream.
3715
+ * You can optionally compress the parts, e.g. concatenating text deltas, to
3716
+ * optimize the data in transit.
3717
+ */
3718
+ export declare class DeltaStreamer<T> {
63
3719
  #private;
64
3720
  readonly component: AgentComponent;
65
- readonly ctx: RunActionCtx;
3721
+ readonly ctx: MutationCtx | ActionCtx;
66
3722
  readonly metadata: {
67
3723
  threadId: string;
68
- agentName: string | undefined;
69
- model: string | undefined;
70
- provider: string | undefined;
71
- providerOptions: ProviderOptions | undefined;
72
- userId: string | undefined;
73
- order: number | undefined;
74
- stepOrder: number | undefined;
75
- abortSignal: AbortSignal | undefined;
3724
+ userId?: string;
3725
+ order: number;
3726
+ stepOrder: number;
3727
+ agentName?: string;
3728
+ model?: string;
3729
+ provider?: string;
3730
+ providerOptions?: ProviderOptions;
3731
+ format: "UIMessageChunk" | "TextStreamPart" | undefined;
76
3732
  };
77
3733
  streamId: string | undefined;
78
- readonly options: Required<StreamingOptions>;
3734
+ readonly config: {
3735
+ throttleMs: number;
3736
+ onAsyncAbort: (reason: string) => Promise<void>;
3737
+ compress: ((parts: T[]) => T[]) | null;
3738
+ };
79
3739
  abortController: AbortController;
80
- constructor(component: AgentComponent, ctx: RunActionCtx, options: true | StreamingOptions, metadata: {
81
- threadId: string;
82
- agentName: string | undefined;
83
- model: string | undefined;
84
- provider: string | undefined;
85
- providerOptions: ProviderOptions | undefined;
86
- userId: string | undefined;
87
- order: number | undefined;
88
- stepOrder: number | undefined;
3740
+ constructor(component: AgentComponent, ctx: MutationCtx | ActionCtx, config: {
3741
+ throttleMs: number | undefined;
3742
+ onAsyncAbort: (reason: string) => Promise<void>;
89
3743
  abortSignal: AbortSignal | undefined;
3744
+ compress: ((parts: T[]) => T[]) | null;
3745
+ }, metadata: {
3746
+ threadId: string;
3747
+ userId?: string;
3748
+ order: number;
3749
+ stepOrder: number;
3750
+ agentName?: string;
3751
+ model?: string;
3752
+ provider?: string;
3753
+ providerOptions?: ProviderOptions;
3754
+ format: "UIMessageChunk" | "TextStreamPart" | undefined;
90
3755
  });
91
- addParts(parts: Infer<typeof vTextStreamPartV5>[]): Promise<void>;
92
- finish(messages: MessageDoc[]): Promise<void>;
3756
+ getStreamId(): Promise<string>;
3757
+ addParts(parts: T[]): Promise<void>;
3758
+ consumeStream(stream: AsyncIterableStream<T>): Promise<void>;
3759
+ /**
3760
+ * Mark the stream as being finished externally (e.g., atomically via addMessages).
3761
+ * When called, consumeStream() will skip calling finish() since it will be
3762
+ * handled elsewhere in the same mutation as message saving.
3763
+ */
3764
+ markFinishedExternally(): void;
3765
+ /**
3766
+ * Get the stream ID, waiting for it to be created if necessary.
3767
+ * Useful for passing to addMessages for atomic finish.
3768
+ */
3769
+ getOrCreateStreamId(): Promise<string>;
3770
+ finish(): Promise<void>;
3771
+ fail(reason: string): Promise<void>;
93
3772
  }
3773
+ /**
3774
+ * Compressing parts when streaming to save bandwidth in deltas.
3775
+ */
3776
+ export declare function compressUIMessageChunks(parts: UIMessageChunk[]): UIMessageChunk[];
3777
+ export declare function compressTextStreamParts(parts: TextStreamPart<ToolSet>[]): TextStreamPart<ToolSet>[];
94
3778
  //# sourceMappingURL=streaming.d.ts.map