@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
@@ -229,19 +229,19 @@ export declare const vMessageDoc: import("convex/values").VObject<{
229
229
  fileId?: import("convex/values").GenericId<"files"> | undefined;
230
230
  model?: string | undefined;
231
231
  userId?: string | undefined;
232
- order?: number | undefined;
232
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
233
233
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
234
234
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
235
235
  agentName?: string | undefined;
236
236
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
237
237
  stepOrder?: number | undefined;
238
238
  tool: boolean;
239
- chatId: import("convex/values").GenericId<"chats">;
240
239
  status: "pending" | "success" | "failed";
240
+ order: number;
241
241
  }, {
242
242
  id: import("convex/values").VString<string | undefined, "optional">;
243
243
  userId: import("convex/values").VString<string | undefined, "optional">;
244
- chatId: import("convex/values").VId<import("convex/values").GenericId<"chats">, "required">;
244
+ chatId: import("convex/values").VId<import("convex/values").GenericId<"chats"> | undefined, "optional">;
245
245
  threadId: import("convex/values").VId<import("convex/values").GenericId<"messages"> | undefined, "optional">;
246
246
  stepId: import("convex/values").VId<import("convex/values").GenericId<"steps"> | undefined, "optional">;
247
247
  agentName: import("convex/values").VString<string | undefined, "optional">;
@@ -731,7 +731,7 @@ export declare const vMessageDoc: import("convex/values").VObject<{
731
731
  text: import("convex/values").VString<string | undefined, "optional">;
732
732
  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>;
733
733
  tool: import("convex/values").VBoolean<boolean, "required">;
734
- order: import("convex/values").VFloat64<number | undefined, "optional">;
734
+ order: import("convex/values").VFloat64<number, "required">;
735
735
  stepOrder: import("convex/values").VFloat64<number | undefined, "optional">;
736
736
  fileId: import("convex/values").VId<import("convex/values").GenericId<"files"> | undefined, "optional">;
737
737
  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>;
@@ -740,6 +740,8 @@ export declare const messageStatuses: ("pending" | "success" | "failed")[];
740
740
  export declare const addMessages: import("convex/server").RegisteredMutation<"public", {
741
741
  pending?: boolean | undefined;
742
742
  model?: string | undefined;
743
+ userId?: string | undefined;
744
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
743
745
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
744
746
  agentName?: string | undefined;
745
747
  parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
@@ -831,7 +833,6 @@ export declare const addMessages: import("convex/server").RegisteredMutation<"pu
831
833
  content: string;
832
834
  };
833
835
  }[];
834
- chatId: import("convex/values").GenericId<"chats">;
835
836
  }, Promise<{
836
837
  messages: {
837
838
  _id: import("convex/values").GenericId<"messages">;
@@ -924,15 +925,15 @@ export declare const addMessages: import("convex/server").RegisteredMutation<"pu
924
925
  fileId?: import("convex/values").GenericId<"files"> | undefined;
925
926
  model?: string | undefined;
926
927
  userId?: string | undefined;
927
- order?: number | undefined;
928
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
928
929
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
929
930
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
930
931
  agentName?: string | undefined;
931
932
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
932
933
  stepOrder?: number | undefined;
933
934
  tool: boolean;
934
- chatId: import("convex/values").GenericId<"chats">;
935
935
  status: "pending" | "success" | "failed";
936
+ order: number;
936
937
  }[];
937
938
  }>>;
938
939
  export declare const addSteps: import("convex/server").RegisteredMutation<"public", {
@@ -1373,6 +1374,7 @@ export declare const commitMessage: import("convex/server").RegisteredMutation<"
1373
1374
  export declare const getChatMessages: import("convex/server").RegisteredQuery<"public", {
1374
1375
  limit?: number | undefined;
1375
1376
  order?: "asc" | "desc" | undefined;
1377
+ parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
1376
1378
  cursor?: string | undefined;
1377
1379
  statuses?: ("pending" | "success" | "failed")[] | undefined;
1378
1380
  isTool?: boolean | undefined;
@@ -1469,15 +1471,15 @@ export declare const getChatMessages: import("convex/server").RegisteredQuery<"p
1469
1471
  fileId?: import("convex/values").GenericId<"files"> | undefined;
1470
1472
  model?: string | undefined;
1471
1473
  userId?: string | undefined;
1472
- order?: number | undefined;
1474
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
1473
1475
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
1474
1476
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
1475
1477
  agentName?: string | undefined;
1476
1478
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
1477
1479
  stepOrder?: number | undefined;
1478
1480
  tool: boolean;
1479
- chatId: import("convex/values").GenericId<"chats">;
1480
1481
  status: "pending" | "success" | "failed";
1482
+ order: number;
1481
1483
  }[];
1482
1484
  continueCursor: string;
1483
1485
  isDone: boolean;
@@ -1492,6 +1494,7 @@ export declare const searchMessages: import("convex/server").RegisteredAction<"p
1492
1494
  } | undefined;
1493
1495
  userId?: string | undefined;
1494
1496
  chatId?: import("convex/values").GenericId<"chats"> | undefined;
1497
+ parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
1495
1498
  limit: number;
1496
1499
  }, Promise<{
1497
1500
  _id: import("convex/values").GenericId<"messages">;
@@ -1584,19 +1587,20 @@ export declare const searchMessages: import("convex/server").RegisteredAction<"p
1584
1587
  fileId?: import("convex/values").GenericId<"files"> | undefined;
1585
1588
  model?: string | undefined;
1586
1589
  userId?: string | undefined;
1587
- order?: number | undefined;
1590
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
1588
1591
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
1589
1592
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
1590
1593
  agentName?: string | undefined;
1591
1594
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
1592
1595
  stepOrder?: number | undefined;
1593
1596
  tool: boolean;
1594
- chatId: import("convex/values").GenericId<"chats">;
1595
1597
  status: "pending" | "success" | "failed";
1598
+ order: number;
1596
1599
  }[]>>;
1597
1600
  export declare const _fetchVectorMessages: import("convex/server").RegisteredQuery<"internal", {
1598
1601
  userId?: string | undefined;
1599
1602
  chatId?: import("convex/values").GenericId<"chats"> | undefined;
1603
+ parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
1600
1604
  textSearchMessages?: {
1601
1605
  id?: string | undefined;
1602
1606
  text?: string | undefined;
@@ -1686,18 +1690,19 @@ export declare const _fetchVectorMessages: import("convex/server").RegisteredQue
1686
1690
  fileId?: import("convex/values").GenericId<"files"> | undefined;
1687
1691
  model?: string | undefined;
1688
1692
  userId?: string | undefined;
1689
- order?: number | undefined;
1693
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
1690
1694
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
1691
1695
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
1692
1696
  agentName?: string | undefined;
1693
1697
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
1694
1698
  stepOrder?: number | undefined;
1695
1699
  tool: boolean;
1696
- chatId: import("convex/values").GenericId<"chats">;
1697
1700
  status: "pending" | "success" | "failed";
1701
+ order: number;
1698
1702
  _creationTime: number;
1699
1703
  _id: import("convex/values").GenericId<"messages">;
1700
1704
  }[] | undefined;
1705
+ limit: number;
1701
1706
  messageRange: {
1702
1707
  before: number;
1703
1708
  after: number;
@@ -1794,15 +1799,15 @@ export declare const _fetchVectorMessages: import("convex/server").RegisteredQue
1794
1799
  fileId?: import("convex/values").GenericId<"files"> | undefined;
1795
1800
  model?: string | undefined;
1796
1801
  userId?: string | undefined;
1797
- order?: number | undefined;
1802
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
1798
1803
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
1799
1804
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
1800
1805
  agentName?: string | undefined;
1801
1806
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
1802
1807
  stepOrder?: number | undefined;
1803
1808
  tool: boolean;
1804
- chatId: import("convex/values").GenericId<"chats">;
1805
1809
  status: "pending" | "success" | "failed";
1810
+ order: number;
1806
1811
  }[]>>;
1807
1812
  export declare const textSearch: import("convex/server").RegisteredQuery<"public", {
1808
1813
  userId?: string | undefined;
@@ -1900,14 +1905,14 @@ export declare const textSearch: import("convex/server").RegisteredQuery<"public
1900
1905
  fileId?: import("convex/values").GenericId<"files"> | undefined;
1901
1906
  model?: string | undefined;
1902
1907
  userId?: string | undefined;
1903
- order?: number | undefined;
1908
+ chatId?: import("convex/values").GenericId<"chats"> | undefined;
1904
1909
  threadId?: import("convex/values").GenericId<"messages"> | undefined;
1905
1910
  stepId?: import("convex/values").GenericId<"steps"> | undefined;
1906
1911
  agentName?: string | undefined;
1907
1912
  embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
1908
1913
  stepOrder?: number | undefined;
1909
1914
  tool: boolean;
1910
- chatId: import("convex/values").GenericId<"chats">;
1911
1915
  status: "pending" | "success" | "failed";
1916
+ order: number;
1912
1917
  }[]>>;
1913
1918
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/component/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/component/messages.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export const getChatsByUserId = query({
31
31
  .eq("status", status)
32
32
  .eq("userId", args.userId)
33
33
  .gte("order", args.offset ?? 0)));
34
- const chats = await mergedStream(streams, ["order", "stepOrder"]).paginate({
34
+ const chats = await mergedStream(streams, ["order"]).paginate({
35
35
  numItems: args.limit ?? 100,
36
36
  cursor: args.cursor ?? null,
37
37
  });
@@ -280,7 +280,8 @@ export const getFilesToDelete = query({
280
280
  export const vMessageDoc = schema.tables.messages.validator;
281
281
  export const messageStatuses = vMessageDoc.fields.status.members.map((m) => m.value);
282
282
  const addMessagesArgs = {
283
- chatId: v.id("chats"),
283
+ userId: v.optional(v.string()),
284
+ chatId: v.optional(v.id("chats")),
284
285
  stepId: v.optional(v.id("steps")),
285
286
  parentMessageId: v.optional(v.id("messages")),
286
287
  messages: v.array(vMessageWithFileAndId),
@@ -298,23 +299,31 @@ export const addMessages = mutation({
298
299
  }),
299
300
  });
300
301
  async function addMessagesHandler(ctx, args) {
301
- const chat = await ctx.db.get(args.chatId);
302
- assert(chat, `Chat ${args.chatId} not found`);
302
+ let userId = args.userId;
303
+ const chatId = args.chatId;
304
+ if (!userId && args.chatId) {
305
+ const chat = await ctx.db.get(args.chatId);
306
+ assert(chat, `Chat ${args.chatId} not found`);
307
+ userId = chat._id;
308
+ }
303
309
  const { failPendingSteps, pending, messages, parentMessageId, ...rest } = args;
304
- if (failPendingSteps) {
310
+ const parent = parentMessageId && (await ctx.db.get(parentMessageId));
311
+ if (failPendingSteps && parent?.status !== "pending") {
312
+ assert(args.chatId, "chatId is required to fail pending steps");
305
313
  const pendingMessages = await ctx.db
306
314
  .query("messages")
307
- .withIndex("chatId_status_tool_order_stepOrder", (q) => q.eq("chatId", args.chatId).eq("status", "pending"))
315
+ .withIndex("chatId_status_tool_order_stepOrder", (q) => q.eq("chatId", chatId).eq("status", "pending"))
308
316
  .collect();
309
317
  await Promise.all(pendingMessages.map((m) => ctx.db.patch(m._id, { status: "failed", text: "Restarting" })));
310
318
  }
311
- let order;
312
- const maxMessage = await getMaxMessage(ctx, args.chatId);
319
+ let threadId = parentMessageId;
320
+ const maxMessage = await getMaxMessage(ctx, chatId, userId);
313
321
  // If the previous message isn't our parent, we make a new thread.
314
- const threadId = parentMessageId && maxMessage?._id === parentMessageId
315
- ? maxMessage.threadId ?? parentMessageId
316
- : parentMessageId;
317
- order = maxMessage?.order ?? -1;
322
+ threadId =
323
+ parentMessageId && maxMessage?._id === parentMessageId
324
+ ? maxMessage.threadId ?? parentMessageId
325
+ : parentMessageId;
326
+ let order = maxMessage?.order ?? -1;
318
327
  const toReturn = [];
319
328
  if (messages.length > 0) {
320
329
  for (const { message, fileId, id } of messages) {
@@ -326,7 +335,7 @@ async function addMessagesHandler(ctx, args) {
326
335
  const messageId = await ctx.db.insert("messages", {
327
336
  ...rest,
328
337
  threadId,
329
- userId: chat.userId,
338
+ userId,
330
339
  message,
331
340
  id,
332
341
  order,
@@ -340,11 +349,20 @@ async function addMessagesHandler(ctx, args) {
340
349
  }
341
350
  return { messages: toReturn };
342
351
  }
343
- async function getMaxMessage(ctx, chatId) {
344
- return mergedStream(["success", "pending"].map((status) => stream(ctx.db, schema)
345
- .query("messages")
346
- .withIndex("chatId_status_tool_order_stepOrder", (q) => q.eq("chatId", chatId).eq("status", status).eq("tool", false))
347
- .order("desc")), ["order", "stepOrder"]).first();
352
+ async function getMaxMessage(ctx, chatId, userId) {
353
+ assert(chatId || userId, "One of chatId or userId is required");
354
+ if (chatId) {
355
+ return mergedStream(["success", "pending"].map((status) => stream(ctx.db, schema)
356
+ .query("messages")
357
+ .withIndex("chatId_status_tool_order_stepOrder", (q) => q.eq("chatId", chatId).eq("status", status).eq("tool", false))
358
+ .order("desc")), ["order", "stepOrder"]).first();
359
+ }
360
+ else {
361
+ return mergedStream(["success", "pending"].map((status) => stream(ctx.db, schema)
362
+ .query("messages")
363
+ .withIndex("userId_status_tool_order_stepOrder", (q) => q.eq("userId", userId).eq("status", status).eq("tool", false))
364
+ .order("desc")), ["order", "stepOrder"]).first();
365
+ }
348
366
  }
349
367
  const addStepsArgs = {
350
368
  chatId: v.id("chats"),
@@ -396,7 +414,8 @@ async function addStepsHandler(ctx, args) {
396
414
  pending: step.finishReason === "stop" ? false : true,
397
415
  failPendingSteps: false,
398
416
  });
399
- if (step.finishReason === "stop") {
417
+ // We don't commit if the parent is still pending.
418
+ if (step.finishReason === "stop" && parentMessage.status === "success") {
400
419
  await commitMessageHandler(ctx, { messageId: args.messageId });
401
420
  }
402
421
  steps.push((await ctx.db.get(stepId)));
@@ -448,6 +467,7 @@ async function commitMessageHandler(ctx, { messageId }) {
448
467
  .eq("order", order))), ["order", "stepOrder"]).collect();
449
468
  for (const message of messages) {
450
469
  await ctx.db.patch(message._id, { status: "success" });
470
+ // TODO: recursively commit steps & messages that might depend on this one.
451
471
  }
452
472
  }
453
473
  export const getChatMessages = query({
@@ -459,14 +479,25 @@ export const getChatMessages = query({
459
479
  // Note: the other arguments cannot change from when the cursor was created.
460
480
  cursor: v.optional(v.string()),
461
481
  statuses: v.optional(v.array(vMessageStatus)),
482
+ parentMessageId: v.optional(v.id("messages")),
462
483
  },
463
484
  handler: async (ctx, args) => {
464
485
  const statuses = args.statuses ?? ["success"];
486
+ const parent = args.parentMessageId && (await ctx.db.get(args.parentMessageId));
465
487
  const toolOptions = args.isTool === undefined ? [true, false] : [args.isTool];
466
488
  const order = args.order ?? "desc";
467
489
  const streams = toolOptions.flatMap((tool) => statuses.map((status) => stream(ctx.db, schema)
468
490
  .query("messages")
469
- .withIndex("chatId_status_tool_order_stepOrder", (q) => q.eq("chatId", args.chatId).eq("status", status).eq("tool", tool))
491
+ .withIndex("chatId_status_tool_order_stepOrder", (q) => {
492
+ const qq = q
493
+ .eq("chatId", args.chatId)
494
+ .eq("status", status)
495
+ .eq("tool", tool);
496
+ if (parent) {
497
+ return qq.lte("order", parent.order);
498
+ }
499
+ return qq;
500
+ })
470
501
  .order(order)));
471
502
  const messages = await mergedStream(streams, [
472
503
  "order",
@@ -491,6 +522,7 @@ export const searchMessages = action({
491
522
  args: {
492
523
  userId: v.optional(v.string()),
493
524
  chatId: v.optional(v.id("chats")),
525
+ parentMessageId: v.optional(v.id("messages")),
494
526
  ...vSearchOptions.fields,
495
527
  },
496
528
  returns: v.array(v.doc("messages")),
@@ -535,10 +567,10 @@ export const searchMessages = action({
535
567
  userId: args.userId,
536
568
  chatId: args.chatId,
537
569
  vectorIds,
538
- textSearchMessages: textSearchMessages
539
- ?.filter((m) => !vectorIds.includes(m.embeddingId))
540
- .slice(0, limit - vectorIds.length),
570
+ textSearchMessages: textSearchMessages?.filter((m) => !vectorIds.includes(m.embeddingId)),
541
571
  messageRange: args.messageRange ?? DEFAULT_MESSAGE_RANGE,
572
+ parentMessageId: args.parentMessageId,
573
+ limit,
542
574
  });
543
575
  return messages;
544
576
  }
@@ -552,61 +584,89 @@ export const _fetchVectorMessages = internalQuery({
552
584
  vectorIds: v.array(vVectorId),
553
585
  textSearchMessages: v.optional(v.array(v.doc("messages"))),
554
586
  messageRange: v.object({ before: v.number(), after: v.number() }),
587
+ parentMessageId: v.optional(v.id("messages")),
588
+ limit: v.number(),
555
589
  },
556
590
  returns: v.array(v.doc("messages")),
557
591
  handler: async (ctx, args) => {
558
- const messages = (await Promise.all(args.vectorIds.map((embeddingId) => ctx.db
592
+ const parent = args.parentMessageId && (await ctx.db.get(args.parentMessageId));
593
+ const { userId, chatId } = args;
594
+ assert(userId || chatId, "Specify userId or chatId to search");
595
+ let messages = (await Promise.all(args.vectorIds.map((embeddingId) => ctx.db
559
596
  .query("messages")
560
597
  .withIndex("embeddingId", (q) => q.eq("embeddingId", embeddingId))
561
- .filter((q) => args.userId
562
- ? q.eq("userId", args.userId)
598
+ .filter((q) => userId
599
+ ? q.eq("userId", userId)
563
600
  : // eslint-disable-next-line @typescript-eslint/no-explicit-any
564
- q.eq("chatId", args.chatId) // not sure why it's failing...
565
- )
566
- .first()))).filter((m) => m !== undefined);
601
+ q.eq("chatId", chatId))
602
+ .first()))).filter((m) => m !== undefined && m !== null && (!parent || m.order <= parent.order));
567
603
  messages.push(...(args.textSearchMessages ?? []));
604
+ // TODO: prioritize more recent messages
568
605
  messages.sort((a, b) => a.order - b.order);
606
+ messages = messages.slice(0, args.limit);
569
607
  // Fetch the surrounding messages
608
+ if (!chatId) {
609
+ return messages.sort((a, b) => a.order - b.order);
610
+ }
570
611
  const included = {};
571
612
  for (const m of messages) {
572
- if (!included[m.chatId]) {
573
- included[m.chatId] = new Set();
613
+ const searchId = m.chatId ?? m.userId;
614
+ if (!included[searchId]) {
615
+ included[searchId] = new Set();
574
616
  }
575
- included[m.chatId].add(m.order);
617
+ included[searchId].add(m.order);
576
618
  }
577
619
  const ranges = {};
578
620
  const { before, after } = args.messageRange;
579
621
  for (const m of messages) {
622
+ const searchId = m.chatId ?? m.userId;
580
623
  const order = m.order;
581
624
  let earliest = order - before;
582
625
  let latest = order + after;
583
626
  for (; earliest <= latest; earliest++) {
584
- if (!included[m.chatId].has(earliest)) {
627
+ if (!included[searchId].has(earliest)) {
585
628
  break;
586
629
  }
587
630
  }
588
631
  for (; latest >= earliest; latest--) {
589
- if (!included[m.chatId].has(latest)) {
632
+ if (!included[searchId].has(latest)) {
590
633
  break;
591
634
  }
592
635
  }
593
636
  for (let i = earliest; i <= latest; i++) {
594
- included[m.chatId].add(i);
637
+ included[searchId].add(i);
595
638
  }
596
639
  if (earliest !== latest) {
597
- const surrounding = await ctx.db
598
- .query("messages")
599
- .withIndex("chatId_status_tool_order_stepOrder", (q) => q
600
- .eq("chatId", m.chatId)
601
- .eq("status", "success")
602
- .eq("tool", false)
603
- .gt("order", earliest)
604
- .lt("order", latest))
605
- .collect();
606
- if (!ranges[m.chatId]) {
607
- ranges[m.chatId] = [];
640
+ if (m.chatId) {
641
+ const surrounding = await ctx.db
642
+ .query("messages")
643
+ .withIndex("chatId_status_tool_order_stepOrder", (q) => q
644
+ .eq("chatId", m.chatId)
645
+ .eq("status", "success")
646
+ .eq("tool", false)
647
+ .gt("order", earliest)
648
+ .lt("order", latest))
649
+ .collect();
650
+ if (!ranges[searchId]) {
651
+ ranges[searchId] = [];
652
+ }
653
+ ranges[searchId].push(...surrounding);
654
+ }
655
+ else {
656
+ const surrounding = await ctx.db
657
+ .query("messages")
658
+ .withIndex("userId_status_tool_order_stepOrder", (q) => q
659
+ .eq("userId", m.userId)
660
+ .eq("status", "success")
661
+ .eq("tool", false)
662
+ .gt("order", earliest)
663
+ .lt("order", latest))
664
+ .collect();
665
+ if (!ranges[searchId]) {
666
+ ranges[searchId] = [];
667
+ }
668
+ ranges[searchId].push(...surrounding);
608
669
  }
609
- ranges[m.chatId].push(...surrounding);
610
670
  }
611
671
  }
612
672
  return Object.values(ranges)
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/component/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/component/messages.ts"],"names":[],"mappings":"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"}