@convex-dev/agent 0.0.1-alpha.0 → 0.0.1-alpha.2

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 (70) hide show
  1. package/README.md +297 -6
  2. package/dist/commonjs/client/index.d.ts +521 -62
  3. package/dist/commonjs/client/index.d.ts.map +1 -1
  4. package/dist/commonjs/client/index.js +230 -118
  5. package/dist/commonjs/client/index.js.map +1 -1
  6. package/dist/commonjs/client/types.d.ts +3 -0
  7. package/dist/commonjs/client/types.d.ts.map +1 -1
  8. package/dist/commonjs/component/messages.d.ts +22 -17
  9. package/dist/commonjs/component/messages.d.ts.map +1 -1
  10. package/dist/commonjs/component/messages.js +107 -47
  11. package/dist/commonjs/component/messages.js.map +1 -1
  12. package/dist/commonjs/component/schema.d.ts +16 -12
  13. package/dist/commonjs/component/schema.d.ts.map +1 -1
  14. package/dist/commonjs/component/schema.js +10 -3
  15. package/dist/commonjs/component/schema.js.map +1 -1
  16. package/dist/commonjs/component/vector/index.d.ts +41 -0
  17. package/dist/commonjs/component/vector/index.d.ts.map +1 -0
  18. package/dist/commonjs/component/vector/index.js +120 -0
  19. package/dist/commonjs/component/vector/index.js.map +1 -0
  20. package/dist/commonjs/component/vector/tables.d.ts.map +1 -1
  21. package/dist/commonjs/component/vector/tables.js +4 -2
  22. package/dist/commonjs/component/vector/tables.js.map +1 -1
  23. package/dist/commonjs/mapping.d.ts +6 -1
  24. package/dist/commonjs/mapping.d.ts.map +1 -1
  25. package/dist/commonjs/mapping.js +25 -0
  26. package/dist/commonjs/mapping.js.map +1 -1
  27. package/dist/commonjs/validators.d.ts +1375 -0
  28. package/dist/commonjs/validators.d.ts.map +1 -1
  29. package/dist/commonjs/validators.js +27 -0
  30. package/dist/commonjs/validators.js.map +1 -1
  31. package/dist/esm/client/index.d.ts +521 -62
  32. package/dist/esm/client/index.d.ts.map +1 -1
  33. package/dist/esm/client/index.js +230 -118
  34. package/dist/esm/client/index.js.map +1 -1
  35. package/dist/esm/client/types.d.ts +3 -0
  36. package/dist/esm/client/types.d.ts.map +1 -1
  37. package/dist/esm/component/messages.d.ts +22 -17
  38. package/dist/esm/component/messages.d.ts.map +1 -1
  39. package/dist/esm/component/messages.js +107 -47
  40. package/dist/esm/component/messages.js.map +1 -1
  41. package/dist/esm/component/schema.d.ts +16 -12
  42. package/dist/esm/component/schema.d.ts.map +1 -1
  43. package/dist/esm/component/schema.js +10 -3
  44. package/dist/esm/component/schema.js.map +1 -1
  45. package/dist/esm/component/vector/index.d.ts +41 -0
  46. package/dist/esm/component/vector/index.d.ts.map +1 -0
  47. package/dist/esm/component/vector/index.js +120 -0
  48. package/dist/esm/component/vector/index.js.map +1 -0
  49. package/dist/esm/component/vector/tables.d.ts.map +1 -1
  50. package/dist/esm/component/vector/tables.js +4 -2
  51. package/dist/esm/component/vector/tables.js.map +1 -1
  52. package/dist/esm/mapping.d.ts +6 -1
  53. package/dist/esm/mapping.d.ts.map +1 -1
  54. package/dist/esm/mapping.js +25 -0
  55. package/dist/esm/mapping.js.map +1 -1
  56. package/dist/esm/validators.d.ts +1375 -0
  57. package/dist/esm/validators.d.ts.map +1 -1
  58. package/dist/esm/validators.js +27 -0
  59. package/dist/esm/validators.js.map +1 -1
  60. package/package.json +2 -2
  61. package/src/client/index.ts +428 -232
  62. package/src/client/types.ts +4 -0
  63. package/src/component/_generated/api.d.ts +138 -11
  64. package/src/component/messages.ts +136 -66
  65. package/src/component/schema.ts +10 -3
  66. package/src/component/vector/index.ts +144 -0
  67. package/src/component/vector/tables.ts +7 -5
  68. package/src/mapping.ts +46 -11
  69. package/src/validators.test.ts +9 -0
  70. package/src/validators.ts +32 -0
@@ -332,19 +332,19 @@ export declare const schema: import("convex/server").SchemaDefinition<{
332
332
  fileId?: import("convex/values").GenericId<"files"> | undefined;
333
333
  model?: string | undefined;
334
334
  userId?: string | undefined;
335
- order?: number | undefined;
335
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
336
336
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
337
337
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
338
338
  agentName?: string | undefined;
339
339
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
340
340
  stepOrder?: number | undefined;
341
341
  tool: boolean;
342
- chatId: import("convex/values").GenericId<"chats">;
343
342
  status: "pending" | "success" | "failed";
343
+ order: number;
344
344
  }, {
345
345
  id: import("convex/values").VString<string | undefined, "optional">;
346
346
  userId: import("convex/values").VString<string | undefined, "optional">;
347
- chatId: import("convex/values").VId<import("convex/values").GenericId<"chats">, "required">;
347
+ chatId: import("convex/values").VId<import("convex/values").GenericId<"chats"> | undefined, "optional">;
348
348
  threadId: import("convex/values").VId<import("convex/values").GenericId<"messages"> | undefined, "optional">;
349
349
  stepId: import("convex/values").VId<import("convex/values").GenericId<"steps"> | undefined, "optional">;
350
350
  agentName: import("convex/values").VString<string | undefined, "optional">;
@@ -834,12 +834,13 @@ export declare const schema: import("convex/server").SchemaDefinition<{
834
834
  text: import("convex/values").VString<string | undefined, "optional">;
835
835
  embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
836
836
  tool: import("convex/values").VBoolean<boolean, "required">;
837
- order: import("convex/values").VFloat64<number | undefined, "optional">;
837
+ order: import("convex/values").VFloat64<number, "required">;
838
838
  stepOrder: import("convex/values").VFloat64<number | undefined, "optional">;
839
839
  fileId: import("convex/values").VId<import("convex/values").GenericId<"files"> | undefined, "optional">;
840
840
  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>;
841
841
  }, "required", "id" | "tool" | "text" | "message" | "fileId" | "message.providerOptions" | "message.experimental_providerMetadata" | `message.providerOptions.${string}` | `message.experimental_providerMetadata.${string}` | "message.role" | "message.content" | "model" | "userId" | "chatId" | "status" | "order" | "threadId" | "stepId" | "agentName" | "embeddingId" | "stepOrder">, {
842
842
  chatId_status_tool_order_stepOrder: ["chatId", "status", "tool", "order", "stepOrder", "_creationTime"];
843
+ userId_status_tool_order_stepOrder: ["userId", "status", "tool", "order", "stepOrder", "_creationTime"];
843
844
  embeddingId: ["embeddingId", "_creationTime"];
844
845
  }, {
845
846
  text_search: {
@@ -2263,19 +2264,20 @@ export declare const vv: {
2263
2264
  fileId?: import("convex/values").GenericId<"files"> | undefined;
2264
2265
  model?: string | undefined;
2265
2266
  userId?: string | undefined;
2266
- order?: number | undefined;
2267
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
2267
2268
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
2268
2269
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
2269
2270
  agentName?: string | undefined;
2270
2271
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
2271
2272
  stepOrder?: number | undefined;
2272
2273
  tool: boolean;
2273
- chatId: import("convex/values").GenericId<"chats">;
2274
2274
  status: "pending" | "success" | "failed";
2275
+ order: number;
2275
2276
  };
2276
2277
  fieldPaths: ("id" | "tool" | "text" | "message" | "fileId" | "message.providerOptions" | "message.experimental_providerMetadata" | `message.providerOptions.${string}` | `message.experimental_providerMetadata.${string}` | "message.role" | "message.content" | "model" | "userId" | "chatId" | "_creationTime" | "status" | "order" | "threadId" | "stepId" | "agentName" | "embeddingId" | "stepOrder") | "_id";
2277
2278
  indexes: {
2278
2279
  chatId_status_tool_order_stepOrder: ["chatId", "status", "tool", "order", "stepOrder", "_creationTime"];
2280
+ userId_status_tool_order_stepOrder: ["userId", "status", "tool", "order", "stepOrder", "_creationTime"];
2279
2281
  embeddingId: ["embeddingId", "_creationTime"];
2280
2282
  by_id: ["_id"];
2281
2283
  by_creation_time: ["_creationTime"];
@@ -2847,19 +2849,20 @@ export declare const vv: {
2847
2849
  fileId?: import("convex/values").GenericId<"files"> | undefined;
2848
2850
  model?: string | undefined;
2849
2851
  userId?: string | undefined;
2850
- order?: number | undefined;
2852
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
2851
2853
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
2852
2854
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
2853
2855
  agentName?: string | undefined;
2854
2856
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
2855
2857
  stepOrder?: number | undefined;
2856
2858
  tool: boolean;
2857
- chatId: import("convex/values").GenericId<"chats">;
2858
2859
  status: "pending" | "success" | "failed";
2860
+ order: number;
2859
2861
  };
2860
2862
  fieldPaths: ("id" | "tool" | "text" | "message" | "fileId" | "message.providerOptions" | "message.experimental_providerMetadata" | `message.providerOptions.${string}` | `message.experimental_providerMetadata.${string}` | "message.role" | "message.content" | "model" | "userId" | "chatId" | "_creationTime" | "status" | "order" | "threadId" | "stepId" | "agentName" | "embeddingId" | "stepOrder") | "_id";
2861
2863
  indexes: {
2862
2864
  chatId_status_tool_order_stepOrder: ["chatId", "status", "tool", "order", "stepOrder", "_creationTime"];
2865
+ userId_status_tool_order_stepOrder: ["userId", "status", "tool", "order", "stepOrder", "_creationTime"];
2863
2866
  embeddingId: ["embeddingId", "_creationTime"];
2864
2867
  by_id: ["_id"];
2865
2868
  by_creation_time: ["_creationTime"];
@@ -3653,19 +3656,19 @@ export declare const vv: {
3653
3656
  fileId?: import("convex/values").GenericId<"files"> | undefined;
3654
3657
  model?: string | undefined;
3655
3658
  userId?: string | undefined;
3656
- order?: number | undefined;
3659
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
3657
3660
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
3658
3661
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
3659
3662
  agentName?: string | undefined;
3660
3663
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
3661
3664
  stepOrder?: number | undefined;
3662
3665
  tool: boolean;
3663
- chatId: import("convex/values").GenericId<"chats">;
3664
3666
  status: "pending" | "success" | "failed";
3667
+ order: number;
3665
3668
  }, {
3666
3669
  id: import("convex/values").VString<string | undefined, "optional">;
3667
3670
  userId: import("convex/values").VString<string | undefined, "optional">;
3668
- chatId: import("convex/values").VId<import("convex/values").GenericId<"chats">, "required">;
3671
+ chatId: import("convex/values").VId<import("convex/values").GenericId<"chats"> | undefined, "optional">;
3669
3672
  threadId: import("convex/values").VId<import("convex/values").GenericId<"messages"> | undefined, "optional">;
3670
3673
  stepId: import("convex/values").VId<import("convex/values").GenericId<"steps"> | undefined, "optional">;
3671
3674
  agentName: import("convex/values").VString<string | undefined, "optional">;
@@ -4155,12 +4158,13 @@ export declare const vv: {
4155
4158
  text: import("convex/values").VString<string | undefined, "optional">;
4156
4159
  embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
4157
4160
  tool: import("convex/values").VBoolean<boolean, "required">;
4158
- order: import("convex/values").VFloat64<number | undefined, "optional">;
4161
+ order: import("convex/values").VFloat64<number, "required">;
4159
4162
  stepOrder: import("convex/values").VFloat64<number | undefined, "optional">;
4160
4163
  fileId: import("convex/values").VId<import("convex/values").GenericId<"files"> | undefined, "optional">;
4161
4164
  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>;
4162
4165
  }, "required", "id" | "tool" | "text" | "message" | "fileId" | "message.providerOptions" | "message.experimental_providerMetadata" | `message.providerOptions.${string}` | `message.experimental_providerMetadata.${string}` | "message.role" | "message.content" | "model" | "userId" | "chatId" | "status" | "order" | "threadId" | "stepId" | "agentName" | "embeddingId" | "stepOrder">, {
4163
4166
  chatId_status_tool_order_stepOrder: ["chatId", "status", "tool", "order", "stepOrder", "_creationTime"];
4167
+ userId_status_tool_order_stepOrder: ["userId", "status", "tool", "order", "stepOrder", "_creationTime"];
4164
4168
  embeddingId: ["embeddingId", "_creationTime"];
4165
4169
  }, {
4166
4170
  text_search: {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyFjB,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gMAIinM,eAAgB,qEAAqE,CAAC,mJAAkJ,aAAc,+MAA+M,eAAe;;mFAA0W,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;CAJ1+N,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAEnB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgGjB,CAAC;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gMAI2+L,eAAgB,qEAAqE,CAAC,mJAAkJ,aAAc,+MAA+M,eAAe;;mFAA0W,GAAG,gDAAwB,WAAW,2BAA0B,WAAY;;;CAJp2N,CAAC;AACjC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAEnB,eAAe,MAAM,CAAC"}
@@ -21,7 +21,7 @@ export const schema = defineSchema({
21
21
  messages: defineTable({
22
22
  id: v.optional(v.string()), // external id, e.g. from Vercel AI SDK
23
23
  userId: v.optional(v.string()), // useful for future indexes (text search)
24
- chatId: v.id("chats"),
24
+ chatId: v.optional(v.id("chats")),
25
25
  threadId: v.optional(v.id("messages")),
26
26
  stepId: v.optional(v.id("steps")),
27
27
  agentName: v.optional(v.string()),
@@ -32,8 +32,8 @@ export const schema = defineSchema({
32
32
  // TODO: add sub-messages back in? or be able to skip them?
33
33
  tool: v.boolean(),
34
34
  // Repeats until a non-tool message.
35
- // Set when the message is finished
36
- order: v.optional(v.number()),
35
+ // Unset if it's not in a chat.
36
+ order: v.number(),
37
37
  stepOrder: v.optional(v.number()),
38
38
  fileId: v.optional(v.id("files")),
39
39
  status: vMessageStatus,
@@ -46,6 +46,13 @@ export const schema = defineSchema({
46
46
  "tool",
47
47
  "order",
48
48
  "stepOrder",
49
+ ])
50
+ .index("userId_status_tool_order_stepOrder", [
51
+ "userId",
52
+ "status",
53
+ "tool",
54
+ "order",
55
+ "stepOrder",
49
56
  ])
50
57
  // Allows finding all threaded messages in order
51
58
  // Allows finding all failed messages to evaluate
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export declare const paginate: import("convex/server").RegisteredQuery<"public", {
2
+ cursor?: string | undefined;
3
+ limit: number;
4
+ vectorDimension: 128 | 256 | 512 | 768 | 1024 | 1536 | 2048 | 3072 | 4096;
5
+ targetModel: string;
6
+ }, Promise<{
7
+ ids: (import("convex/values").GenericId<"embeddings_128"> | import("convex/values").GenericId<"embeddings_256"> | import("convex/values").GenericId<"embeddings_512"> | import("convex/values").GenericId<"embeddings_768"> | import("convex/values").GenericId<"embeddings_1024"> | import("convex/values").GenericId<"embeddings_1536"> | import("convex/values").GenericId<"embeddings_2048"> | import("convex/values").GenericId<"embeddings_3072"> | import("convex/values").GenericId<"embeddings_4096">)[];
8
+ isDone: boolean;
9
+ continueCursor: string;
10
+ }>>;
11
+ export declare const deleteBatchForChat: import("convex/server").RegisteredMutation<"public", {
12
+ cursor?: string | undefined;
13
+ limit: number;
14
+ model: string;
15
+ chatId: string;
16
+ vectorDimension: 128 | 256 | 512 | 768 | 1024 | 1536 | 2048 | 3072 | 4096;
17
+ }, Promise<{
18
+ isDone: boolean;
19
+ continueCursor: string;
20
+ }>>;
21
+ export declare const insertBatch: import("convex/server").RegisteredMutation<"public", {
22
+ vectorDimension: 128 | 256 | 512 | 768 | 1024 | 1536 | 2048 | 3072 | 4096;
23
+ vectors: {
24
+ userId?: string | undefined;
25
+ chatId?: string | undefined;
26
+ vector: number[];
27
+ model: string;
28
+ kind: "chat" | "memory";
29
+ }[];
30
+ }, Promise<void>>;
31
+ export declare const updateBatch: import("convex/server").RegisteredMutation<"public", {
32
+ vectors: {
33
+ id: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096">;
34
+ vector: number[];
35
+ model: string;
36
+ }[];
37
+ }, Promise<void>>;
38
+ export declare const deleteBatch: import("convex/server").RegisteredMutation<"public", {
39
+ ids: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096">[];
40
+ }, Promise<void>>;
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/component/vector/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ;;;;;;;;;GA+BnB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;GAsC7B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;iBA6BtB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;iBAqBtB,CAAC;AAEH,eAAO,MAAM,WAAW;;iBAQtB,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import { v } from "convex/values";
3
+ import { mutation, query } from "../_generated/server";
4
+ import { getVectorTableName, vVectorDimension, vVectorId } from "./tables";
5
+ import schema from "../schema";
6
+ import { mergedStream } from "convex-helpers/server/stream";
7
+ import { stream } from "convex-helpers/server/stream";
8
+ export const paginate = query({
9
+ args: {
10
+ vectorDimension: vVectorDimension,
11
+ targetModel: v.string(),
12
+ cursor: v.optional(v.string()),
13
+ limit: v.number(),
14
+ },
15
+ returns: v.object({
16
+ ids: v.array(vVectorId),
17
+ isDone: v.boolean(),
18
+ continueCursor: v.string(),
19
+ }),
20
+ handler: async (ctx, args) => {
21
+ const tableName = getVectorTableName(args.vectorDimension);
22
+ const vectors = await paginator(ctx.db, schema)
23
+ .query(tableName)
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ .withIndex("model_kind_chatId", (q) => q.eq("model", args.targetModel))
26
+ .paginate({
27
+ cursor: args.cursor ?? null,
28
+ numItems: args.limit,
29
+ maximumRowsRead: 300,
30
+ });
31
+ return {
32
+ ids: vectors.page.map((v) => v._id),
33
+ isDone: vectors.isDone,
34
+ continueCursor: vectors.continueCursor,
35
+ };
36
+ },
37
+ });
38
+ export const deleteBatchForChat = mutation({
39
+ args: {
40
+ vectorDimension: vVectorDimension,
41
+ model: v.string(),
42
+ chatId: v.string(),
43
+ cursor: v.optional(v.string()),
44
+ limit: v.number(),
45
+ },
46
+ returns: v.object({
47
+ isDone: v.boolean(),
48
+ continueCursor: v.string(),
49
+ }),
50
+ handler: async (ctx, args) => {
51
+ const tableName = getVectorTableName(args.vectorDimension);
52
+ const vectors = await mergedStream(["chat", "memory"].map((kind) => stream(ctx.db, schema)
53
+ .query(tableName)
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ .withIndex("model_kind_chatId", (q) =>
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ q.eq("model", args.model)
58
+ .eq("kind", kind)
59
+ .eq("chatId", args.chatId))), ["chatId"]).paginate({
60
+ cursor: args.cursor ?? null,
61
+ numItems: args.limit,
62
+ maximumRowsRead: 300,
63
+ });
64
+ await Promise.all(vectors.page.map((v) => ctx.db.delete(v._id)));
65
+ return {
66
+ isDone: vectors.isDone,
67
+ continueCursor: vectors.continueCursor,
68
+ };
69
+ },
70
+ });
71
+ export const insertBatch = mutation({
72
+ args: {
73
+ vectorDimension: vVectorDimension,
74
+ vectors: v.array(v.object({
75
+ model: v.string(),
76
+ kind: v.union(v.literal("chat"), v.literal("memory")),
77
+ userId: v.optional(v.string()),
78
+ chatId: v.optional(v.string()),
79
+ vector: v.array(v.number()),
80
+ })),
81
+ },
82
+ returns: v.null(),
83
+ handler: async (ctx, args) => {
84
+ await Promise.all(args.vectors.map((v) => ctx.db.insert(getVectorTableName(args.vectorDimension), {
85
+ model: v.model,
86
+ kind: v.kind,
87
+ userId: v.userId,
88
+ chatId: v.chatId,
89
+ vector: v.vector,
90
+ model_kind_userId: v.userId ? [v.model, v.kind, v.userId] : undefined,
91
+ model_kind_chatId: v.chatId ? [v.model, v.kind, v.chatId] : undefined,
92
+ })));
93
+ },
94
+ });
95
+ export const updateBatch = mutation({
96
+ args: {
97
+ vectors: v.array(v.object({
98
+ model: v.string(),
99
+ id: vVectorId,
100
+ vector: v.array(v.number()),
101
+ })),
102
+ },
103
+ returns: v.null(),
104
+ handler: async (ctx, args) => {
105
+ await Promise.all(args.vectors.map((v) => ctx.db.patch(v.id, {
106
+ model: v.model,
107
+ vector: v.vector,
108
+ })));
109
+ },
110
+ });
111
+ export const deleteBatch = mutation({
112
+ args: {
113
+ ids: v.array(vVectorId),
114
+ },
115
+ returns: v.null(),
116
+ handler: async (ctx, args) => {
117
+ await Promise.all(args.ids.map((id) => ctx.db.delete(id)));
118
+ },
119
+ });
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/component/vector/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../src/component/vector/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,QAAA,MAAM,UAAU;;;;;;;;CASf,CAAC;AAUF,eAAO,MAAM,gBAAgB,6DAEnB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,gBAAgB,EAExB,cAAc,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,wFAAgC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,6MAAgC,CAAC;AAC9D,eAAO,MAAM,SAAS,EAEjB,MAAM,CACT,SAAS,CAAC,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAC5C,GAAG,CAAC,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CACzC,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAC5C,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC,EACzD;IAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;CAAE,EACd,yBAAyB,EACzB,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;IACnC,MAAM,EAAE;QACN,WAAW,EAAE,QAAQ,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,GACvB,eAAe,CACpD;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa;;;EAQ/D;AAED,QAAA,MAAM,MAAM,EAAE;KACX,CAAC,IAAI,MAAM,OAAO,gBAAgB,GACjC,MAAM,IAAI,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAC9D,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAC7B;CASF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../src/component/vector/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,QAAA,MAAM,UAAU;;;;;;;;CASf,CAAC;AAYF,eAAO,MAAM,gBAAgB,6DAEnB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,gBAAgB,EAExB,cAAc,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,wFAAgC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,6MAAgC,CAAC;AAC9D,eAAO,MAAM,SAAS,EAEjB,MAAM,CACT,SAAS,CAAC,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAC5C,GAAG,CAAC,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CACzC,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAC5C,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC,EACzD;IAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;CAAE,EACd,yBAAyB,EACzB,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;IACnC,MAAM,EAAE;QACN,WAAW,EAAE,QAAQ,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,GACvB,eAAe,CACpD;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa;;;EAQ/D;AAED,QAAA,MAAM,MAAM,EAAE;KACX,CAAC,IAAI,MAAM,OAAO,gBAAgB,GACjC,MAAM,IAAI,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAC9D,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAC7B;CASF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -13,11 +13,13 @@ const embeddings = {
13
13
  vector: v.array(v.number()),
14
14
  };
15
15
  function table(dimensions) {
16
- return defineTable(embeddings).vectorIndex("vector", {
16
+ return defineTable(embeddings)
17
+ .vectorIndex("vector", {
17
18
  vectorField: "vector",
18
19
  dimensions,
19
20
  filterFields: ["model_kind_userId", "model_kind_chatId"],
20
- });
21
+ })
22
+ .index("model_kind_chatId", ["model", "kind", "chatId"]);
21
23
  }
22
24
  export const VectorDimensions = [
23
25
  128, 256, 512, 768, 1024, 1536, 2048, 3072, 4096,
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/component/vector/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,WAAW,GAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAyB,CAAC,EAAwB,MAAM,eAAe,CAAC;AAG/E,gEAAgE;AAChE,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,4BAA4B;IAC5B,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,SAAS,KAAK,CAAmB,UAAa;IAC5C,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;QACnD,WAAW,EAAE,QAAQ;QACrB,UAAU;QACV,YAAY,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACxC,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAC8B,CAAC;AAIzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAC9B,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAI9C,CAAC;AAiBF,MAAM,UAAU,kBAAkB,CAAC,SAA0B;IAC3D,OAAO,cAAc,SAAS,EAAqB,CAAC;AACtD,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,GAAa,EAAE,EAAiB;IAC9D,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,MAAM,GAKR,MAAM,CAAC,WAAW,CACpB,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;IACnC,cAAc,UAAU,EAAE;IAC1B,KAAK,CAAC,UAAU,CAAC;CAClB,CAAC,CAIH,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/component/vector/tables.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AssistantContent, CoreMessage, GenerateTextResult, StepResult, ToolContent, ToolSet, UserContent } from "ai";
1
+ import { type AssistantContent, type CoreMessage, type GenerateTextResult, type StepResult, type ToolContent, type ToolSet, type Message as UIMessage, type UserContent } from "ai";
2
2
  import { MessageWithFileAndId, Step } from "./validators";
3
3
  export type SerializeUrlsAndUint8Arrays<T> = T extends URL ? string : T extends Uint8Array | ArrayBufferLike ? ArrayBuffer : T extends Array<infer Inner> ? Array<SerializeUrlsAndUint8Arrays<Inner>> : T extends Record<string, any> ? {
4
4
  [K in keyof T]: SerializeUrlsAndUint8Arrays<T[K]>;
@@ -23,4 +23,9 @@ export declare function serializeResponse<TOOLS extends ToolSet, OUTPUT>(respons
23
23
  export declare function serializeStep<TOOLS extends ToolSet>(step: StepResult<TOOLS>): Step;
24
24
  export declare function serializeNewMessagesInStep<TOOLS extends ToolSet>(step: StepResult<TOOLS>): MessageWithFileAndId[];
25
25
  export declare function deserializeContent(content: SerializedContent): Content;
26
+ export declare function promptOrMessagesToCoreMessages(args: {
27
+ system?: string;
28
+ prompt?: string;
29
+ messages?: CoreMessage[] | Omit<UIMessage, "id">[];
30
+ }): CoreMessage[];
26
31
  //# sourceMappingURL=mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EAGX,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACZ,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GACtD,MAAM,GACN,CAAC,SAAS,UAAU,GAAG,eAAe,GACpC,WAAW,GACX,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,GAC1B,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,GAEzC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,CAAC,CAAC;AAEZ,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;AAEzE,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,iBAAiB,CAOnB;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAExD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAepE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,EAC7D,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GACtD;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAK/C;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,OAAO,EACjD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GACtB,IAAI,CAeN;AAED,wBAAgB,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAC9D,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GACtB,oBAAoB,EAAE,CAiBxB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CActE"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAGhB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,OAAO,IAAI,SAAS,EACzB,KAAK,WAAW,EACjB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GACtD,MAAM,GACN,CAAC,SAAS,UAAU,GAAG,eAAe,GACpC,WAAW,GACX,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,GAC1B,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,GAEzC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,CAAC,CAAC;AAEZ,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;AAEzE,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,iBAAiB,CAOnB;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAExD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAepE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,EAC7D,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GACtD;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAK/C;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,OAAO,EACjD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GACtB,IAAI,CAeN;AAED,wBAAgB,0BAA0B,CAAC,KAAK,SAAS,OAAO,EAC9D,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GACtB,oBAAoB,EAAE,CAiBxB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CActE;AAkCD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;CACpD,GAAG,WAAW,EAAE,CAyBhB"}
@@ -1,3 +1,5 @@
1
+ import { convertToCoreMessages, coreMessageSchema, } from "ai";
2
+ import { assert } from "convex-helpers";
1
3
  export function serializeMessage(messageWithId) {
2
4
  const { id: _, ...message } = messageWithId;
3
5
  const content = message.content;
@@ -98,4 +100,27 @@ function deserializeUrl(urlOrString) {
98
100
  }
99
101
  return urlOrString;
100
102
  }
103
+ export function promptOrMessagesToCoreMessages(args) {
104
+ const messages = [];
105
+ if (args.system) {
106
+ messages.push({ role: "system", content: args.system });
107
+ }
108
+ if (!args.messages) {
109
+ assert(args.prompt, "messages or prompt is required");
110
+ messages.push({ role: "user", content: args.prompt });
111
+ }
112
+ else if (args.messages.some((m) => typeof m === "object" &&
113
+ m !== null &&
114
+ (m.role === "data" || // UI-only role
115
+ "toolInvocations" in m || // UI-specific field
116
+ "parts" in m || // UI-specific field
117
+ "experimental_attachments" in m))) {
118
+ messages.push(...convertToCoreMessages(args.messages));
119
+ }
120
+ else {
121
+ messages.push(...coreMessageSchema.array().parse(args.messages));
122
+ }
123
+ assert(messages.length > 0, "Messages must contain at least one message");
124
+ return messages;
125
+ }
101
126
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"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"}