@convex-dev/agent 0.6.0-alpha.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/MIGRATION.md +153 -0
  2. package/package.json +4 -2
  3. package/src/UIMessages.ts +135 -0
  4. package/src/client/approval.test.ts +350 -0
  5. package/src/client/createTool.ts +50 -52
  6. package/src/client/index.ts +162 -1
  7. package/src/client/mockModel.ts +9 -2
  8. package/src/client/search.test.ts +4 -5
  9. package/src/client/search.ts +47 -2
  10. package/src/client/start.ts +41 -24
  11. package/src/client/streamText.ts +27 -3
  12. package/src/client/streaming.integration.test.ts +1206 -0
  13. package/src/client/streaming.ts +41 -12
  14. package/src/client/types.ts +14 -12
  15. package/src/component/_generated/component.ts +53 -64
  16. package/src/component/messages.ts +12 -2
  17. package/src/deltas.ts +0 -1
  18. package/src/mapping.test.ts +143 -1
  19. package/src/mapping.ts +115 -6
  20. package/src/react/useDeltaStreams.ts +6 -0
  21. package/dist/UIMessages.d.ts +0 -46
  22. package/dist/UIMessages.d.ts.map +0 -1
  23. package/dist/UIMessages.js +0 -546
  24. package/dist/UIMessages.js.map +0 -1
  25. package/dist/client/createTool.d.ts +0 -170
  26. package/dist/client/createTool.d.ts.map +0 -1
  27. package/dist/client/createTool.js +0 -115
  28. package/dist/client/createTool.js.map +0 -1
  29. package/dist/client/defaultComponent.d.ts +0 -11
  30. package/dist/client/defaultComponent.d.ts.map +0 -1
  31. package/dist/client/defaultComponent.js +0 -7
  32. package/dist/client/defaultComponent.js.map +0 -1
  33. package/dist/client/definePlaygroundAPI.d.ts +0 -1725
  34. package/dist/client/definePlaygroundAPI.d.ts.map +0 -1
  35. package/dist/client/definePlaygroundAPI.js +0 -271
  36. package/dist/client/definePlaygroundAPI.js.map +0 -1
  37. package/dist/client/files.d.ts +0 -69
  38. package/dist/client/files.d.ts.map +0 -1
  39. package/dist/client/files.js +0 -181
  40. package/dist/client/files.js.map +0 -1
  41. package/dist/client/index.d.ts +0 -2044
  42. package/dist/client/index.d.ts.map +0 -1
  43. package/dist/client/index.js +0 -804
  44. package/dist/client/index.js.map +0 -1
  45. package/dist/client/messages.d.ts +0 -461
  46. package/dist/client/messages.d.ts.map +0 -1
  47. package/dist/client/messages.js +0 -106
  48. package/dist/client/messages.js.map +0 -1
  49. package/dist/client/mockModel.d.ts +0 -42
  50. package/dist/client/mockModel.d.ts.map +0 -1
  51. package/dist/client/mockModel.js +0 -175
  52. package/dist/client/mockModel.js.map +0 -1
  53. package/dist/client/saveInputMessages.d.ts +0 -20
  54. package/dist/client/saveInputMessages.d.ts.map +0 -1
  55. package/dist/client/saveInputMessages.js +0 -58
  56. package/dist/client/saveInputMessages.js.map +0 -1
  57. package/dist/client/search.d.ts +0 -493
  58. package/dist/client/search.d.ts.map +0 -1
  59. package/dist/client/search.js +0 -425
  60. package/dist/client/search.js.map +0 -1
  61. package/dist/client/start.d.ts +0 -84
  62. package/dist/client/start.d.ts.map +0 -1
  63. package/dist/client/start.js +0 -171
  64. package/dist/client/start.js.map +0 -1
  65. package/dist/client/streamText.d.ts +0 -46
  66. package/dist/client/streamText.d.ts.map +0 -1
  67. package/dist/client/streamText.js +0 -93
  68. package/dist/client/streamText.js.map +0 -1
  69. package/dist/client/streaming.d.ts +0 -3767
  70. package/dist/client/streaming.d.ts.map +0 -1
  71. package/dist/client/streaming.js +0 -294
  72. package/dist/client/streaming.js.map +0 -1
  73. package/dist/client/threads.d.ts +0 -46
  74. package/dist/client/threads.d.ts.map +0 -1
  75. package/dist/client/threads.js +0 -49
  76. package/dist/client/threads.js.map +0 -1
  77. package/dist/client/types.d.ts +0 -460
  78. package/dist/client/types.d.ts.map +0 -1
  79. package/dist/client/types.js +0 -2
  80. package/dist/client/types.js.map +0 -1
  81. package/dist/client/utils.d.ts +0 -4
  82. package/dist/client/utils.d.ts.map +0 -1
  83. package/dist/client/utils.js +0 -21
  84. package/dist/client/utils.js.map +0 -1
  85. package/dist/component/_generated/api.d.ts +0 -48
  86. package/dist/component/_generated/api.d.ts.map +0 -1
  87. package/dist/component/_generated/api.js +0 -31
  88. package/dist/component/_generated/api.js.map +0 -1
  89. package/dist/component/_generated/component.d.ts +0 -3119
  90. package/dist/component/_generated/component.d.ts.map +0 -1
  91. package/dist/component/_generated/component.js +0 -11
  92. package/dist/component/_generated/component.js.map +0 -1
  93. package/dist/component/_generated/dataModel.d.ts +0 -46
  94. package/dist/component/_generated/dataModel.d.ts.map +0 -1
  95. package/dist/component/_generated/dataModel.js +0 -11
  96. package/dist/component/_generated/dataModel.js.map +0 -1
  97. package/dist/component/_generated/server.d.ts +0 -121
  98. package/dist/component/_generated/server.d.ts.map +0 -1
  99. package/dist/component/_generated/server.js +0 -78
  100. package/dist/component/_generated/server.js.map +0 -1
  101. package/dist/component/apiKeys.d.ts +0 -11
  102. package/dist/component/apiKeys.d.ts.map +0 -1
  103. package/dist/component/apiKeys.js +0 -69
  104. package/dist/component/apiKeys.js.map +0 -1
  105. package/dist/component/convex.config.d.ts +0 -3
  106. package/dist/component/convex.config.d.ts.map +0 -1
  107. package/dist/component/convex.config.js +0 -3
  108. package/dist/component/convex.config.js.map +0 -1
  109. package/dist/component/files.d.ts +0 -97
  110. package/dist/component/files.d.ts.map +0 -1
  111. package/dist/component/files.js +0 -190
  112. package/dist/component/files.js.map +0 -1
  113. package/dist/component/messages.d.ts +0 -3850
  114. package/dist/component/messages.d.ts.map +0 -1
  115. package/dist/component/messages.js +0 -747
  116. package/dist/component/messages.js.map +0 -1
  117. package/dist/component/schema.d.ts +0 -8026
  118. package/dist/component/schema.d.ts.map +0 -1
  119. package/dist/component/schema.js +0 -147
  120. package/dist/component/schema.js.map +0 -1
  121. package/dist/component/streams.d.ts +0 -128
  122. package/dist/component/streams.d.ts.map +0 -1
  123. package/dist/component/streams.js +0 -413
  124. package/dist/component/streams.js.map +0 -1
  125. package/dist/component/threads.d.ts +0 -115
  126. package/dist/component/threads.d.ts.map +0 -1
  127. package/dist/component/threads.js +0 -208
  128. package/dist/component/threads.js.map +0 -1
  129. package/dist/component/users.d.ts +0 -52
  130. package/dist/component/users.d.ts.map +0 -1
  131. package/dist/component/users.js +0 -229
  132. package/dist/component/users.js.map +0 -1
  133. package/dist/component/vector/index.d.ts +0 -61
  134. package/dist/component/vector/index.d.ts.map +0 -1
  135. package/dist/component/vector/index.js +0 -146
  136. package/dist/component/vector/index.js.map +0 -1
  137. package/dist/component/vector/tables.d.ts +0 -58
  138. package/dist/component/vector/tables.d.ts.map +0 -1
  139. package/dist/component/vector/tables.js +0 -56
  140. package/dist/component/vector/tables.js.map +0 -1
  141. package/dist/deltas.d.ts +0 -43
  142. package/dist/deltas.d.ts.map +0 -1
  143. package/dist/deltas.js +0 -447
  144. package/dist/deltas.js.map +0 -1
  145. package/dist/mapping.d.ts +0 -54
  146. package/dist/mapping.d.ts.map +0 -1
  147. package/dist/mapping.js +0 -626
  148. package/dist/mapping.js.map +0 -1
  149. package/dist/react/SmoothText.d.ts +0 -5
  150. package/dist/react/SmoothText.d.ts.map +0 -1
  151. package/dist/react/SmoothText.js +0 -6
  152. package/dist/react/SmoothText.js.map +0 -1
  153. package/dist/react/index.d.ts +0 -25
  154. package/dist/react/index.d.ts.map +0 -1
  155. package/dist/react/index.js +0 -70
  156. package/dist/react/index.js.map +0 -1
  157. package/dist/react/optimisticallySendMessage.d.ts +0 -42
  158. package/dist/react/optimisticallySendMessage.d.ts.map +0 -1
  159. package/dist/react/optimisticallySendMessage.js +0 -74
  160. package/dist/react/optimisticallySendMessage.js.map +0 -1
  161. package/dist/react/types.d.ts +0 -12
  162. package/dist/react/types.d.ts.map +0 -1
  163. package/dist/react/types.js +0 -2
  164. package/dist/react/types.js.map +0 -1
  165. package/dist/react/useDeltaStreams.d.ts +0 -10
  166. package/dist/react/useDeltaStreams.d.ts.map +0 -1
  167. package/dist/react/useDeltaStreams.js +0 -101
  168. package/dist/react/useDeltaStreams.js.map +0 -1
  169. package/dist/react/useSmoothText.d.ts +0 -27
  170. package/dist/react/useSmoothText.d.ts.map +0 -1
  171. package/dist/react/useSmoothText.js +0 -68
  172. package/dist/react/useSmoothText.js.map +0 -1
  173. package/dist/react/useStreamingUIMessages.d.ts +0 -22
  174. package/dist/react/useStreamingUIMessages.d.ts.map +0 -1
  175. package/dist/react/useStreamingUIMessages.js +0 -92
  176. package/dist/react/useStreamingUIMessages.js.map +0 -1
  177. package/dist/react/useThreadMessages.d.ts +0 -104
  178. package/dist/react/useThreadMessages.d.ts.map +0 -1
  179. package/dist/react/useThreadMessages.js +0 -148
  180. package/dist/react/useThreadMessages.js.map +0 -1
  181. package/dist/react/useUIMessages.d.ts +0 -96
  182. package/dist/react/useUIMessages.d.ts.map +0 -1
  183. package/dist/react/useUIMessages.js +0 -108
  184. package/dist/react/useUIMessages.js.map +0 -1
  185. package/dist/shared.d.ts +0 -26
  186. package/dist/shared.d.ts.map +0 -1
  187. package/dist/shared.js +0 -67
  188. package/dist/shared.js.map +0 -1
  189. package/dist/validators.d.ts +0 -24516
  190. package/dist/validators.d.ts.map +0 -1
  191. package/dist/validators.js +0 -475
  192. package/dist/validators.js.map +0 -1
package/dist/mapping.js DELETED
@@ -1,626 +0,0 @@
1
- import {} from "ai";
2
- import { vMessageWithMetadata, vToolResultOutput, vToolApprovalRequest, vToolApprovalResponse, } from "./validators.js";
3
- import { MAX_FILE_SIZE, storeFile } from "./client/files.js";
4
- import { convertUint8ArrayToBase64, } from "@ai-sdk/provider-utils";
5
- import { parse, validate } from "convex-helpers/validators";
6
- import { getModelName, getProviderName, } from "./shared.js";
7
- export async function serializeMessage(ctx, component, message) {
8
- const { content, fileIds } = await serializeContent(ctx, component, message.content);
9
- return {
10
- message: {
11
- role: message.role,
12
- content,
13
- ...(message.providerOptions
14
- ? { providerOptions: message.providerOptions }
15
- : {}),
16
- },
17
- fileIds,
18
- };
19
- }
20
- // Similar to serializeMessage, but doesn't save any files and is looser
21
- // For use on the frontend / in synchronous environments.
22
- export function fromModelMessage(message) {
23
- const content = fromModelMessageContent(message.content);
24
- return {
25
- role: message.role,
26
- content,
27
- ...(message.providerOptions
28
- ? { providerOptions: message.providerOptions }
29
- : {}),
30
- };
31
- }
32
- export async function serializeOrThrow(message) {
33
- const { content } = await serializeContent({}, {}, message.content);
34
- return {
35
- role: message.role,
36
- content,
37
- ...(message.providerOptions
38
- ? { providerOptions: message.providerOptions }
39
- : {}),
40
- };
41
- }
42
- export function toModelMessage(message) {
43
- return {
44
- ...message,
45
- content: toModelMessageContent(message.content),
46
- };
47
- }
48
- export function docsToModelMessages(messages) {
49
- return messages
50
- .map((m) => m.message)
51
- .filter((m) => !!m)
52
- .filter((m) => !!m.content.length)
53
- .map(toModelMessage);
54
- }
55
- export function serializeUsage(usage) {
56
- return {
57
- promptTokens: usage.inputTokens ?? 0,
58
- completionTokens: usage.outputTokens ?? 0,
59
- totalTokens: usage.totalTokens ?? 0,
60
- reasoningTokens: usage.reasoningTokens,
61
- cachedInputTokens: usage.cachedInputTokens,
62
- };
63
- }
64
- export function toModelMessageUsage(usage) {
65
- return {
66
- inputTokens: usage.promptTokens,
67
- outputTokens: usage.completionTokens,
68
- totalTokens: usage.totalTokens,
69
- reasoningTokens: usage.reasoningTokens,
70
- cachedInputTokens: usage.cachedInputTokens,
71
- // These detail fields are required by LanguageModelUsage type but we don't
72
- // have the granular data, so we provide empty objects with undefined values.
73
- inputTokenDetails: {
74
- cacheReadTokens: undefined,
75
- cacheWriteTokens: undefined,
76
- noCacheTokens: undefined,
77
- },
78
- outputTokenDetails: {
79
- textTokens: undefined,
80
- reasoningTokens: undefined,
81
- },
82
- };
83
- }
84
- export function serializeWarnings(warnings) {
85
- if (!warnings) {
86
- return undefined;
87
- }
88
- return warnings.map((warning) => {
89
- if (warning.type === "compatibility") {
90
- return {
91
- type: "unsupported-setting",
92
- setting: warning.feature,
93
- details: warning.details,
94
- };
95
- }
96
- return warning;
97
- });
98
- }
99
- export function toModelMessageWarnings(warnings) {
100
- if (!warnings) {
101
- return undefined;
102
- }
103
- return warnings.map((warning) => {
104
- if (warning.type === "unsupported-setting") {
105
- return {
106
- type: "compatibility",
107
- feature: warning.setting,
108
- details: warning.details,
109
- };
110
- }
111
- return warning;
112
- });
113
- }
114
- export async function serializeNewMessagesInStep(ctx, component, step, model) {
115
- // If there are tool results, there's another message with the tool results
116
- // ref: https://github.com/vercel/ai/blob/main/packages/ai/src/generate-text/to-response-messages.ts#L120
117
- const hasToolMessage = step.response.messages.at(-1)?.role === "tool";
118
- const assistantFields = {
119
- model: model ? getModelName(model) : undefined,
120
- provider: model ? getProviderName(model) : undefined,
121
- providerMetadata: step.providerMetadata,
122
- reasoning: step.reasoningText,
123
- reasoningDetails: step.reasoning,
124
- usage: serializeUsage(step.usage),
125
- warnings: serializeWarnings(step.warnings),
126
- finishReason: step.finishReason,
127
- // Only store the sources on one message
128
- sources: hasToolMessage ? undefined : step.sources,
129
- };
130
- const toolFields = { sources: step.sources };
131
- const messages = await Promise.all((hasToolMessage
132
- ? step.response.messages.slice(-2)
133
- : step.content.length
134
- ? step.response.messages.slice(-1)
135
- : [{ role: "assistant", content: [] }]).map(async (msg) => {
136
- const { message, fileIds } = await serializeMessage(ctx, component, msg);
137
- return parse(vMessageWithMetadata, {
138
- message,
139
- ...(message.role === "tool" ? toolFields : assistantFields),
140
- text: step.text,
141
- fileIds,
142
- });
143
- }));
144
- // TODO: capture step.files separately?
145
- return { messages };
146
- }
147
- export async function serializeObjectResult(ctx, component, result, model) {
148
- const text = JSON.stringify(result.object);
149
- const { message, fileIds } = await serializeMessage(ctx, component, {
150
- role: "assistant",
151
- content: text,
152
- });
153
- return {
154
- messages: [
155
- {
156
- message,
157
- model: model ? getModelName(model) : undefined,
158
- provider: model ? getProviderName(model) : undefined,
159
- providerMetadata: result.providerMetadata,
160
- finishReason: result.finishReason,
161
- text,
162
- usage: serializeUsage(result.usage),
163
- warnings: serializeWarnings(result.warnings),
164
- fileIds,
165
- },
166
- ],
167
- };
168
- }
169
- function getMimeOrMediaType(part) {
170
- if ("mediaType" in part) {
171
- return part.mediaType;
172
- }
173
- if ("mimeType" in part) {
174
- return part.mimeType;
175
- }
176
- return undefined;
177
- }
178
- export async function serializeContent(ctx, component, content) {
179
- if (typeof content === "string") {
180
- return { content };
181
- }
182
- const fileIds = [];
183
- const serialized = await Promise.all(content.map(async (part) => {
184
- const metadata = {};
185
- if ("providerOptions" in part) {
186
- metadata.providerOptions = part.providerOptions;
187
- }
188
- if ("providerMetadata" in part) {
189
- metadata.providerMetadata = part.providerMetadata;
190
- }
191
- switch (part.type) {
192
- case "text": {
193
- return {
194
- type: part.type,
195
- text: part.text,
196
- ...metadata,
197
- };
198
- }
199
- case "image": {
200
- let image = serializeDataOrUrl(part.image);
201
- if (image instanceof ArrayBuffer &&
202
- image.byteLength > MAX_FILE_SIZE) {
203
- const { file } = await storeFile(ctx, component, new Blob([image], {
204
- type: getMimeOrMediaType(part) || guessMimeType(image),
205
- }));
206
- image = file.url;
207
- fileIds.push(file.fileId);
208
- }
209
- return {
210
- type: part.type,
211
- mediaType: getMimeOrMediaType(part),
212
- ...metadata,
213
- image,
214
- };
215
- }
216
- case "file": {
217
- let data = serializeDataOrUrl(part.data);
218
- if (data instanceof ArrayBuffer && data.byteLength > MAX_FILE_SIZE) {
219
- const { file } = await storeFile(ctx, component, new Blob([data], { type: getMimeOrMediaType(part) }));
220
- data = file.url;
221
- fileIds.push(file.fileId);
222
- }
223
- return {
224
- type: part.type,
225
- data,
226
- filename: part.filename,
227
- mediaType: getMimeOrMediaType(part),
228
- ...metadata,
229
- };
230
- }
231
- case "tool-call": {
232
- // Handle legacy data where only args field exists
233
- const input = part.input ?? part?.args ?? {};
234
- return {
235
- type: part.type,
236
- input,
237
- /** @deprecated Use `input` instead. */
238
- args: input,
239
- toolCallId: part.toolCallId,
240
- toolName: part.toolName,
241
- providerExecuted: part.providerExecuted,
242
- ...metadata,
243
- };
244
- }
245
- case "tool-result": {
246
- return normalizeToolResult(part, metadata);
247
- }
248
- case "reasoning": {
249
- return {
250
- type: part.type,
251
- text: part.text,
252
- ...metadata,
253
- };
254
- }
255
- // Not in current generation output, but could be in historical messages
256
- case "redacted-reasoning": {
257
- return {
258
- type: part.type,
259
- data: part.data,
260
- ...metadata,
261
- };
262
- }
263
- case "source": {
264
- return part;
265
- }
266
- case "tool-approval-request": {
267
- return {
268
- type: part.type,
269
- approvalId: part.approvalId,
270
- toolCallId: part.toolCallId,
271
- ...metadata,
272
- };
273
- }
274
- case "tool-approval-response": {
275
- return {
276
- type: part.type,
277
- approvalId: part.approvalId,
278
- approved: part.approved,
279
- reason: part.reason,
280
- providerExecuted: part.providerExecuted,
281
- ...metadata,
282
- };
283
- }
284
- default:
285
- return null;
286
- }
287
- }));
288
- return {
289
- content: serialized.filter((p) => p !== null),
290
- fileIds: fileIds.length > 0 ? fileIds : undefined,
291
- };
292
- }
293
- export function fromModelMessageContent(content) {
294
- if (typeof content === "string") {
295
- return content;
296
- }
297
- return content
298
- .map((part) => {
299
- const metadata = {};
300
- if ("providerOptions" in part) {
301
- metadata.providerOptions = part.providerOptions;
302
- }
303
- if ("providerMetadata" in part) {
304
- metadata.providerMetadata = part.providerMetadata;
305
- }
306
- switch (part.type) {
307
- case "text":
308
- return part;
309
- case "image":
310
- return {
311
- type: part.type,
312
- mediaType: getMimeOrMediaType(part),
313
- ...metadata,
314
- image: serializeDataOrUrl(part.image),
315
- };
316
- case "file":
317
- return {
318
- type: part.type,
319
- data: serializeDataOrUrl(part.data),
320
- filename: part.filename,
321
- mediaType: getMimeOrMediaType(part),
322
- ...metadata,
323
- };
324
- case "tool-call":
325
- // Handle legacy data where only args field exists
326
- return {
327
- type: part.type,
328
- input: part.input ?? part?.args ?? {},
329
- /** @deprecated Use `input` instead. */
330
- args: part.input ?? part?.args ?? {},
331
- toolCallId: part.toolCallId,
332
- toolName: part.toolName,
333
- providerExecuted: part.providerExecuted,
334
- ...metadata,
335
- };
336
- case "tool-result":
337
- return normalizeToolResult(part, metadata);
338
- case "reasoning":
339
- return {
340
- type: part.type,
341
- text: part.text,
342
- ...metadata,
343
- };
344
- case "tool-approval-request":
345
- return {
346
- type: part.type,
347
- approvalId: part.approvalId,
348
- toolCallId: part.toolCallId,
349
- ...metadata,
350
- };
351
- case "tool-approval-response":
352
- return {
353
- type: part.type,
354
- approvalId: part.approvalId,
355
- approved: part.approved,
356
- reason: part.reason,
357
- providerExecuted: part.providerExecuted,
358
- ...metadata,
359
- };
360
- // Not in current generation output, but could be in historical messages
361
- default:
362
- return null;
363
- }
364
- })
365
- .filter((p) => p !== null);
366
- }
367
- export function toModelMessageContent(content) {
368
- if (typeof content === "string") {
369
- return content;
370
- }
371
- return content
372
- .map((part) => {
373
- const metadata = {};
374
- if ("providerOptions" in part) {
375
- metadata.providerOptions = part.providerOptions;
376
- }
377
- if ("providerMetadata" in part) {
378
- metadata.providerMetadata = part.providerMetadata;
379
- }
380
- switch (part.type) {
381
- case "text":
382
- return {
383
- type: part.type,
384
- text: part.text,
385
- ...metadata,
386
- };
387
- case "image":
388
- return {
389
- type: part.type,
390
- image: toModelMessageDataOrUrl(part.image),
391
- mediaType: getMimeOrMediaType(part),
392
- ...metadata,
393
- };
394
- case "file":
395
- return {
396
- type: part.type,
397
- data: toModelMessageDataOrUrl(part.data),
398
- filename: part.filename,
399
- mediaType: getMimeOrMediaType(part),
400
- ...metadata,
401
- };
402
- case "tool-call": {
403
- // Handle legacy data where only args field exists
404
- const input = part.input ?? part?.args ?? {};
405
- return {
406
- type: part.type,
407
- input,
408
- toolCallId: part.toolCallId,
409
- toolName: part.toolName,
410
- providerExecuted: part.providerExecuted,
411
- ...metadata,
412
- };
413
- }
414
- case "tool-result": {
415
- return normalizeToolResult(part, metadata);
416
- }
417
- case "reasoning":
418
- return {
419
- type: part.type,
420
- text: part.text,
421
- ...metadata,
422
- };
423
- case "redacted-reasoning":
424
- // TODO: should we just drop this?
425
- return {
426
- type: "reasoning",
427
- text: "",
428
- ...metadata,
429
- providerOptions: metadata.providerOptions
430
- ? {
431
- ...Object.fromEntries(Object.entries(metadata.providerOptions ?? {}).map(([key, value]) => [
432
- key,
433
- { ...value, redactedData: part.data },
434
- ])),
435
- }
436
- : undefined,
437
- };
438
- case "source":
439
- return part;
440
- case "tool-approval-request":
441
- return {
442
- type: part.type,
443
- approvalId: part.approvalId,
444
- toolCallId: part.toolCallId,
445
- ...metadata,
446
- };
447
- case "tool-approval-response":
448
- return {
449
- type: part.type,
450
- approvalId: part.approvalId,
451
- approved: part.approved,
452
- reason: part.reason,
453
- providerExecuted: part.providerExecuted,
454
- ...metadata,
455
- };
456
- default:
457
- return null;
458
- }
459
- })
460
- .filter((p) => p !== null);
461
- }
462
- export function normalizeToolOutput(result) {
463
- if (typeof result === "string") {
464
- return {
465
- type: "text",
466
- value: result,
467
- };
468
- }
469
- if (validate(vToolResultOutput, result)) {
470
- return result;
471
- }
472
- return {
473
- type: "json",
474
- value: result ?? null,
475
- };
476
- }
477
- function normalizeToolResult(part, metadata) {
478
- return {
479
- type: part.type,
480
- output: part.output
481
- ? validate(vToolResultOutput, part.output)
482
- ? part.output
483
- : normalizeToolOutput(JSON.stringify(part.output))
484
- : normalizeToolOutput("result" in part ? part.result : undefined),
485
- toolCallId: part.toolCallId,
486
- toolName: part.toolName,
487
- // Preserve isError flag for error reporting
488
- ...("isError" in part && part.isError ? { isError: true } : {}),
489
- ...metadata,
490
- };
491
- }
492
- /**
493
- * Return a best-guess MIME type based on the magic-number signature
494
- * found at the start of an ArrayBuffer.
495
- *
496
- * @param buf – the source ArrayBuffer
497
- * @returns the detected MIME type, or `"application/octet-stream"` if unknown
498
- */
499
- export function guessMimeType(buf) {
500
- if (typeof buf === "string") {
501
- if (buf.match(/^data:\w+\/\w+;base64/)) {
502
- return buf.split(";")[0].split(":")[1];
503
- }
504
- return "text/plain";
505
- }
506
- if (buf.byteLength < 4)
507
- return "application/octet-stream";
508
- // Read the first 12 bytes (enough for all signatures below)
509
- const bytes = new Uint8Array(buf.slice(0, 12));
510
- const hex = [...bytes].map((b) => b.toString(16).padStart(2, "0")).join("");
511
- // Helper so we can look at only the needed prefix
512
- const startsWith = (sig) => hex.startsWith(sig.toLowerCase());
513
- // --- image formats ---
514
- if (startsWith("89504e47"))
515
- return "image/png"; // PNG - 89 50 4E 47
516
- if (startsWith("ffd8ffdb") ||
517
- startsWith("ffd8ffe0") ||
518
- startsWith("ffd8ffee") ||
519
- startsWith("ffd8ffe1"))
520
- return "image/jpeg"; // JPEG
521
- if (startsWith("47494638"))
522
- return "image/gif"; // GIF
523
- if (startsWith("424d"))
524
- return "image/bmp"; // BMP
525
- if (startsWith("52494646") && hex.substr(16, 8) === "57454250")
526
- return "image/webp"; // WEBP (RIFF....WEBP)
527
- if (startsWith("49492a00"))
528
- return "image/tiff"; // TIFF
529
- // <svg in hex is 3c 3f 78 6d 6c
530
- if (startsWith("3c737667"))
531
- return "image/svg+xml"; // <svg
532
- if (startsWith("3c3f786d"))
533
- return "image/svg+xml"; // <?xm
534
- // --- audio/video ---
535
- if (startsWith("494433"))
536
- return "audio/mpeg"; // MP3 (ID3)
537
- if (startsWith("000001ba") || startsWith("000001b3"))
538
- return "video/mpeg"; // MPEG container
539
- if (startsWith("1a45dfa3"))
540
- return "video/webm"; // WEBM / Matroska
541
- if (startsWith("00000018") && hex.substr(16, 8) === "66747970")
542
- return "video/mp4"; // MP4
543
- if (startsWith("4f676753"))
544
- return "audio/ogg"; // OGG / Opus
545
- // --- documents & archives ---
546
- if (startsWith("25504446"))
547
- return "application/pdf"; // PDF
548
- if (startsWith("504b0304") ||
549
- startsWith("504b0506") ||
550
- startsWith("504b0708"))
551
- return "application/zip"; // ZIP / DOCX / PPTX / XLSX / EPUB
552
- if (startsWith("52617221"))
553
- return "application/x-rar-compressed"; // RAR
554
- if (startsWith("7f454c46"))
555
- return "application/x-elf"; // ELF binaries
556
- if (startsWith("1f8b08"))
557
- return "application/gzip"; // GZIP
558
- if (startsWith("425a68"))
559
- return "application/x-bzip2"; // BZIP2
560
- if (startsWith("3c3f786d6c"))
561
- return "application/xml"; // XML
562
- // Plain text, JSON and others are trickier—fallback:
563
- return "application/octet-stream";
564
- }
565
- /**
566
- * Serialize an AI SDK `DataContent` or `URL` to a Convex-serializable format.
567
- * @param dataOrUrl - The data or URL to serialize.
568
- * @returns The serialized data as an ArrayBuffer or the URL as a string.
569
- */
570
- export function serializeDataOrUrl(dataOrUrl) {
571
- if (typeof dataOrUrl === "string") {
572
- return dataOrUrl;
573
- }
574
- if (dataOrUrl instanceof ArrayBuffer) {
575
- return dataOrUrl; // Already an ArrayBuffer
576
- }
577
- if (dataOrUrl instanceof URL) {
578
- return dataOrUrl.toString();
579
- }
580
- return dataOrUrl.buffer.slice(dataOrUrl.byteOffset, dataOrUrl.byteOffset + dataOrUrl.byteLength);
581
- }
582
- export function toModelMessageDataOrUrl(urlOrString) {
583
- if (urlOrString instanceof URL) {
584
- return urlOrString;
585
- }
586
- if (typeof urlOrString === "string") {
587
- if (urlOrString.startsWith("http://") ||
588
- urlOrString.startsWith("https://")) {
589
- return new URL(urlOrString);
590
- }
591
- return urlOrString;
592
- }
593
- return urlOrString;
594
- }
595
- export function toUIFilePart(part) {
596
- const dataOrUrl = part.type === "image" ? part.image : part.data;
597
- const url = dataOrUrl instanceof ArrayBuffer
598
- ? convertUint8ArrayToBase64(new Uint8Array(dataOrUrl))
599
- : dataOrUrl.toString();
600
- return {
601
- type: "file",
602
- mediaType: part.mediaType,
603
- filename: part.type === "file" ? part.filename : undefined,
604
- url,
605
- providerMetadata: part.providerOptions,
606
- };
607
- }
608
- // Currently unused
609
- // export function toModelMessages(args: {
610
- // messages?: ModelMessage[] | AIMessageWithoutId[];
611
- // }): ModelMessage[] {
612
- // const messages: ModelMessage[] = [];
613
- // if (args.messages) {
614
- // if (
615
- // args.messages.every(
616
- // (m) => typeof m === "object" && m !== null && "parts" in m,
617
- // )
618
- // ) {
619
- // messages.push(...convertToModelMessages(args.messages));
620
- // } else {
621
- // messages.push(...modelMessageSchema.array().parse(args.messages));
622
- // }
623
- // }
624
- // return messages;
625
- // }
626
- //# sourceMappingURL=mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { type SmoothTextOptions } from "./useSmoothText.js";
2
- export declare function SmoothText({ text, ...options }: {
3
- text: string;
4
- } & SmoothTextOptions): string;
5
- //# sourceMappingURL=SmoothText.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmoothText.d.ts","sourceRoot":"","sources":["../../src/react/SmoothText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,GAAG,OAAO,EACX,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,UAGtC"}
@@ -1,6 +0,0 @@
1
- import { useSmoothText } from "./useSmoothText.js";
2
- export function SmoothText({ text, ...options }) {
3
- const [visibleText] = useSmoothText(text, options);
4
- return visibleText;
5
- }
6
- //# sourceMappingURL=SmoothText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmoothText.js","sourceRoot":"","sources":["../../src/react/SmoothText.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,oBAAoB,CAAC;AAE3E,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,GAAG,OAAO,EAC2B;IACrC,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC;AACrB,CAAC"}