@convex-dev/agent 0.1.6 → 0.1.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +23 -12
  2. package/dist/commonjs/client/_generated/_ignore.d.ts +1 -0
  3. package/dist/commonjs/client/_generated/_ignore.d.ts.map +1 -0
  4. package/dist/commonjs/client/_generated/_ignore.js +3 -0
  5. package/dist/commonjs/client/_generated/_ignore.js.map +1 -0
  6. package/dist/commonjs/client/files.d.ts +57 -0
  7. package/dist/commonjs/client/files.d.ts.map +1 -0
  8. package/dist/commonjs/client/files.js +124 -0
  9. package/dist/commonjs/client/files.js.map +1 -0
  10. package/dist/commonjs/client/index.d.ts +489 -318
  11. package/dist/commonjs/client/index.d.ts.map +1 -1
  12. package/dist/commonjs/client/index.js +652 -550
  13. package/dist/commonjs/client/index.js.map +1 -1
  14. package/dist/commonjs/client/types.d.ts +35 -5
  15. package/dist/commonjs/client/types.d.ts.map +1 -1
  16. package/dist/commonjs/component/_generated/api.d.ts +53 -711
  17. package/dist/commonjs/component/files.d.ts +66 -21
  18. package/dist/commonjs/component/files.d.ts.map +1 -1
  19. package/dist/commonjs/component/files.js +71 -26
  20. package/dist/commonjs/component/files.js.map +1 -1
  21. package/dist/commonjs/component/messages.d.ts +37 -499
  22. package/dist/commonjs/component/messages.d.ts.map +1 -1
  23. package/dist/commonjs/component/messages.js +44 -124
  24. package/dist/commonjs/component/messages.js.map +1 -1
  25. package/dist/commonjs/component/schema.d.ts +951 -3785
  26. package/dist/commonjs/component/schema.d.ts.map +1 -1
  27. package/dist/commonjs/component/schema.js +8 -25
  28. package/dist/commonjs/component/schema.js.map +1 -1
  29. package/dist/commonjs/component/streams.d.ts +3 -3
  30. package/dist/commonjs/mapping.d.ts +28 -19
  31. package/dist/commonjs/mapping.d.ts.map +1 -1
  32. package/dist/commonjs/mapping.js +136 -81
  33. package/dist/commonjs/mapping.js.map +1 -1
  34. package/dist/commonjs/react/toUIMessages.d.ts.map +1 -1
  35. package/dist/commonjs/react/toUIMessages.js +12 -6
  36. package/dist/commonjs/react/toUIMessages.js.map +1 -1
  37. package/dist/commonjs/validators.d.ts +851 -3388
  38. package/dist/commonjs/validators.d.ts.map +1 -1
  39. package/dist/commonjs/validators.js +11 -37
  40. package/dist/commonjs/validators.js.map +1 -1
  41. package/dist/commonjs.tsbuildinfo +1 -1
  42. package/dist/esm/client/_generated/_ignore.d.ts +1 -0
  43. package/dist/esm/client/_generated/_ignore.d.ts.map +1 -0
  44. package/dist/esm/client/_generated/_ignore.js +3 -0
  45. package/dist/esm/client/_generated/_ignore.js.map +1 -0
  46. package/dist/esm/client/files.d.ts +57 -0
  47. package/dist/esm/client/files.d.ts.map +1 -0
  48. package/dist/esm/client/files.js +124 -0
  49. package/dist/esm/client/files.js.map +1 -0
  50. package/dist/esm/client/index.d.ts +489 -318
  51. package/dist/esm/client/index.d.ts.map +1 -1
  52. package/dist/esm/client/index.js +652 -550
  53. package/dist/esm/client/index.js.map +1 -1
  54. package/dist/esm/client/types.d.ts +35 -5
  55. package/dist/esm/client/types.d.ts.map +1 -1
  56. package/dist/esm/component/_generated/api.d.ts +53 -711
  57. package/dist/esm/component/files.d.ts +66 -21
  58. package/dist/esm/component/files.d.ts.map +1 -1
  59. package/dist/esm/component/files.js +71 -26
  60. package/dist/esm/component/files.js.map +1 -1
  61. package/dist/esm/component/messages.d.ts +37 -499
  62. package/dist/esm/component/messages.d.ts.map +1 -1
  63. package/dist/esm/component/messages.js +44 -124
  64. package/dist/esm/component/messages.js.map +1 -1
  65. package/dist/esm/component/schema.d.ts +951 -3785
  66. package/dist/esm/component/schema.d.ts.map +1 -1
  67. package/dist/esm/component/schema.js +8 -25
  68. package/dist/esm/component/schema.js.map +1 -1
  69. package/dist/esm/component/streams.d.ts +3 -3
  70. package/dist/esm/mapping.d.ts +28 -19
  71. package/dist/esm/mapping.d.ts.map +1 -1
  72. package/dist/esm/mapping.js +136 -81
  73. package/dist/esm/mapping.js.map +1 -1
  74. package/dist/esm/react/toUIMessages.d.ts.map +1 -1
  75. package/dist/esm/react/toUIMessages.js +12 -6
  76. package/dist/esm/react/toUIMessages.js.map +1 -1
  77. package/dist/esm/validators.d.ts +851 -3388
  78. package/dist/esm/validators.d.ts.map +1 -1
  79. package/dist/esm/validators.js +11 -37
  80. package/dist/esm/validators.js.map +1 -1
  81. package/dist/esm.tsbuildinfo +1 -1
  82. package/package.json +11 -9
  83. package/src/client/_generated/_ignore.ts +1 -0
  84. package/src/client/files.ts +167 -0
  85. package/src/client/index.test.ts +127 -1
  86. package/src/client/index.ts +970 -812
  87. package/src/client/setup.test.ts +29 -0
  88. package/src/client/types.ts +41 -3
  89. package/src/component/_generated/api.d.ts +53 -711
  90. package/src/component/files.test.ts +130 -0
  91. package/src/component/files.ts +83 -27
  92. package/src/component/messages.test.ts +2 -1
  93. package/src/component/messages.ts +46 -136
  94. package/src/component/schema.ts +7 -28
  95. package/src/mapping.test.ts +163 -0
  96. package/src/mapping.ts +173 -103
  97. package/src/react/deltas.test.ts +4 -1
  98. package/src/react/toUIMessages.ts +12 -6
  99. package/src/validators.ts +33 -47
package/src/validators.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  type ObjectType,
5
5
  type Validator,
6
6
  type Value,
7
+ type VObject,
7
8
  } from "convex/values";
8
9
  import { vVectorDimension } from "./component/vector/tables.js";
9
10
 
@@ -59,18 +60,6 @@ export const vFilePart = v.object({
59
60
  providerOptions,
60
61
  });
61
62
 
62
- export const vFile = v.object({
63
- data: v.optional(v.union(v.bytes(), v.string())),
64
- url: v.optional(v.string()),
65
- mimeType: v.string(),
66
- fileId: v.optional(v.id("files")),
67
- });
68
-
69
- export const vFileWithStringId = v.object({
70
- ...vFile.fields,
71
- fileId: v.optional(v.string()),
72
- });
73
-
74
63
  export const vUserContent = v.union(
75
64
  v.string(),
76
65
  v.array(v.union(vTextPart, vImagePart, vFilePart))
@@ -260,11 +249,11 @@ export const vLanguageModelV1CallWarning = v.union(
260
249
  })
261
250
  );
262
251
 
263
- export const vMessageWithMetadata = v.object({
252
+ export const vMessageWithMetadataInternal = v.object({
264
253
  id: v.optional(v.string()), // external id, e.g. from Vercel AI SDK
265
254
  message: vMessage,
266
255
  text: v.optional(v.string()),
267
- files: v.optional(v.array(vFile)),
256
+ fileIds: v.optional(v.array(v.id("files"))),
268
257
  // metadata
269
258
  finishReason: v.optional(vFinishReason),
270
259
  model: v.optional(v.string()),
@@ -277,6 +266,10 @@ export const vMessageWithMetadata = v.object({
277
266
  warnings: v.optional(v.array(vLanguageModelV1CallWarning)),
278
267
  error: v.optional(v.string()),
279
268
  });
269
+ export const vMessageWithMetadata = v.object({
270
+ ...vMessageWithMetadataInternal.fields,
271
+ fileIds: v.optional(v.array(v.string())),
272
+ });
280
273
  export type MessageWithMetadata = Infer<typeof vMessageWithMetadata>;
281
274
 
282
275
  export const vMessageEmbeddings = v.object({
@@ -285,37 +278,6 @@ export const vMessageEmbeddings = v.object({
285
278
  vectors: v.array(v.union(v.array(v.number()), v.null())),
286
279
  });
287
280
 
288
- export const vStep = v.object({
289
- files: v.optional(v.array(v.any())),
290
- finishReason: vFinishReason,
291
- isContinued: v.boolean(),
292
- logprobs: v.optional(v.any()),
293
- providerMetadata,
294
- experimental_providerMetadata: providerMetadata,
295
- reasoning: v.optional(v.string()),
296
- reasoningDetails: v.optional(vReasoningDetails),
297
- request: v.optional(vRequest),
298
- response: v.optional(vResponse),
299
- sources: v.optional(v.array(vSource)),
300
- stepType: v.union(
301
- v.literal("initial"),
302
- v.literal("continue"),
303
- v.literal("tool-result")
304
- ),
305
- text: v.string(),
306
- toolCalls: v.array(vToolCallPart),
307
- toolResults: v.array(vToolResultPart),
308
- usage: v.optional(vUsage),
309
- warnings: v.optional(v.array(vLanguageModelV1CallWarning)),
310
- });
311
- export type Step = Infer<typeof vStep>;
312
-
313
- export const vStepWithMessages = v.object({
314
- step: vStep,
315
- messages: v.array(vMessageWithMetadata),
316
- embeddings: v.optional(vMessageEmbeddings),
317
- });
318
- export type StepWithMessagesWithMetadata = Infer<typeof vStepWithMessages>;
319
281
 
320
282
  export const vObjectResult = v.object({
321
283
  request: vRequest,
@@ -353,10 +315,34 @@ export const vContextOptions = v.object({
353
315
  });
354
316
 
355
317
  export const vStorageOptions = v.object({
318
+ saveMessages: v.optional(
319
+ v.union(v.literal("all"), v.literal("none"), v.literal("promptAndOutput"))
320
+ ),
321
+ });
322
+
323
+ const vStorageOptionsIncludingDeprecated = v.object({
324
+ ...vStorageOptions.fields,
356
325
  saveAllInputMessages: v.optional(v.boolean()),
357
326
  saveAnyInputMessages: v.optional(v.boolean()),
358
327
  saveOutputMessages: v.optional(v.boolean()),
359
- });
328
+ }) as VObject<
329
+ {
330
+ saveMessages?: "all" | "none" | "promptAndOutput";
331
+ /**
332
+ * @deprecated Use saveMessages instead.
333
+ */
334
+ saveAllInputMessages?: boolean;
335
+ /**
336
+ * @deprecated Use saveMessages instead.
337
+ */
338
+ saveAnyInputMessages?: boolean;
339
+ /**
340
+ * @deprecated Use saveMessages instead.
341
+ */
342
+ saveOutputMessages?: boolean;
343
+ },
344
+ typeof vStorageOptions.fields
345
+ >;
360
346
 
361
347
  const vPromptFields = {
362
348
  system: v.optional(v.string()),
@@ -382,7 +368,7 @@ const vCommonArgs = {
382
368
  userId: v.optional(v.string()),
383
369
  threadId: v.optional(v.string()),
384
370
  contextOptions: v.optional(vContextOptions),
385
- storageOptions: v.optional(vStorageOptions),
371
+ storageOptions: v.optional(vStorageOptionsIncludingDeprecated),
386
372
  providerOptions,
387
373
  ...vCallSettingsFields,
388
374
  ...vPromptFields,