@convex-dev/agent 0.1.9-alpha.2 → 0.1.9-alpha.3

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.
@@ -1663,13 +1663,21 @@ export type Mounts = {
1663
1663
  deleteAllForThreadIdAsync: FunctionReference<
1664
1664
  "mutation",
1665
1665
  "public",
1666
- { cursor?: string; limit?: number; threadId: string },
1667
- { cursor: string; isDone: boolean }
1666
+ {
1667
+ cursor?: string;
1668
+ deltaCursor?: string;
1669
+ limit?: number;
1670
+ messagesDone?: boolean;
1671
+ streamOrder?: number;
1672
+ streamsDone?: boolean;
1673
+ threadId: string;
1674
+ },
1675
+ { isDone: boolean }
1668
1676
  >;
1669
1677
  deleteAllForThreadIdSync: FunctionReference<
1670
1678
  "action",
1671
1679
  "public",
1672
- { cursor?: string; limit?: number; threadId: string },
1680
+ { limit?: number; threadId: string },
1673
1681
  null
1674
1682
  >;
1675
1683
  getThread: FunctionReference<
@@ -69,12 +69,15 @@ export declare const updateThread: import("convex/server").RegisteredMutation<"p
69
69
  */
70
70
  export declare const deleteAllForThreadIdSync: import("convex/server").RegisteredAction<"public", {
71
71
  limit?: number | undefined;
72
- cursor?: string | undefined;
73
72
  threadId: import("convex/values").GenericId<"threads">;
74
73
  }, Promise<void>>;
75
74
  export declare const _deletePageForThreadId: import("convex/server").RegisteredMutation<"internal", {
76
75
  limit?: number | undefined;
77
76
  cursor?: string | undefined;
77
+ messagesDone?: boolean | undefined;
78
+ streamsDone?: boolean | undefined;
79
+ streamOrder?: number | undefined;
80
+ deltaCursor?: string | undefined;
78
81
  threadId: import("convex/values").GenericId<"threads">;
79
82
  }, Promise<{
80
83
  isDone: boolean;
@@ -87,9 +90,12 @@ export declare const _deletePageForThreadId: import("convex/server").RegisteredM
87
90
  export declare const deleteAllForThreadIdAsync: import("convex/server").RegisteredMutation<"public", {
88
91
  limit?: number | undefined;
89
92
  cursor?: string | undefined;
93
+ messagesDone?: boolean | undefined;
94
+ streamsDone?: boolean | undefined;
95
+ streamOrder?: number | undefined;
96
+ deltaCursor?: string | undefined;
90
97
  threadId: import("convex/values").GenericId<"threads">;
91
98
  }, Promise<{
92
99
  isDone: boolean;
93
- cursor: string;
94
100
  }>>;
95
101
  //# sourceMappingURL=threads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,SAAS;;;;;;;;;UAMpB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;GAkB9B,CAAC;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;GAUvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;GAcvB,CAAC;AA4BH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;iBAmBnC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;GAIjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;GAmBpC,CAAC"}
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,SAAS;;;;;;;;;UAMpB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;GAkB9B,CAAC;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;GAUvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;GAcvB,CAAC;AAgBH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;iBAmBnC,CAAC;AAkBH,eAAO,MAAM,sBAAsB;;;;;;;;;;;GAIjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;GAoCpC,CAAC"}
@@ -8,6 +8,7 @@ import { api, internal } from "./_generated/api.js";
8
8
  import { action, internalMutation, mutation, query, } from "./_generated/server.js";
9
9
  import { deleteMessage } from "./messages.js";
10
10
  import { schema, v } from "./schema.js";
11
+ import { deleteStreamsPageForThreadId } from "./streams.js";
11
12
  function publicThreadOrNull(thread) {
12
13
  if (thread === null) {
13
14
  return null;
@@ -80,24 +81,15 @@ export const updateThread = mutation({
80
81
  // returns: vThreadDoc,
81
82
  // });
82
83
  // TODO: delete thread
83
- const deleteThreadArgs = {
84
- threadId: v.id("threads"),
85
- cursor: v.optional(v.string()),
86
- limit: v.optional(v.number()),
87
- };
88
- const deleteThreadReturns = {
89
- cursor: v.string(),
90
- isDone: v.boolean(),
91
- };
92
84
  /**
93
85
  * Use this to delete a thread and everything it contains.
94
86
  * It will try to delete all pages synchronously.
95
87
  * If it times out or fails, you'll have to run it again.
96
88
  */
97
89
  export const deleteAllForThreadIdSync = action({
98
- args: deleteThreadArgs,
90
+ args: { threadId: v.id("threads"), limit: v.optional(v.number()) },
99
91
  handler: async (ctx, args) => {
100
- let cursor = args.cursor;
92
+ let cursor = undefined;
101
93
  while (true) {
102
94
  const result = await ctx.runMutation(internal.threads._deletePageForThreadId, { threadId: args.threadId, cursor, limit: args.limit });
103
95
  if (result.isDone) {
@@ -111,6 +103,19 @@ export const deleteAllForThreadIdSync = action({
111
103
  },
112
104
  returns: v.null(),
113
105
  });
106
+ const deleteThreadArgs = {
107
+ threadId: v.id("threads"),
108
+ cursor: v.optional(v.string()),
109
+ messagesDone: v.optional(v.boolean()),
110
+ streamsDone: v.optional(v.boolean()),
111
+ streamOrder: v.optional(v.number()),
112
+ deltaCursor: v.optional(v.string()),
113
+ limit: v.optional(v.number()),
114
+ };
115
+ const deleteThreadReturns = {
116
+ cursor: v.string(),
117
+ isDone: v.boolean(),
118
+ };
114
119
  export const _deletePageForThreadId = internalMutation({
115
120
  args: deleteThreadArgs,
116
121
  handler: deletePageForThreadIdHandler,
@@ -123,18 +128,39 @@ export const _deletePageForThreadId = internalMutation({
123
128
  export const deleteAllForThreadIdAsync = mutation({
124
129
  args: deleteThreadArgs,
125
130
  handler: async (ctx, args) => {
126
- const result = await deletePageForThreadIdHandler(ctx, args);
127
- if (!result.isDone) {
131
+ let messagesResult = {
132
+ isDone: args.messagesDone ?? false,
133
+ cursor: args.cursor,
134
+ };
135
+ if (!args.messagesDone) {
136
+ messagesResult = await deletePageForThreadIdHandler(ctx, args);
137
+ }
138
+ let streamResult = {
139
+ isDone: args.streamsDone ?? false,
140
+ streamOrder: args.streamOrder,
141
+ deltaCursor: args.deltaCursor,
142
+ };
143
+ if (!args.streamsDone) {
144
+ streamResult = await deleteStreamsPageForThreadId(ctx, {
145
+ threadId: args.threadId,
146
+ streamOrder: args.streamOrder,
147
+ deltaCursor: args.deltaCursor,
148
+ });
149
+ }
150
+ const isDone = messagesResult.isDone && streamResult.isDone;
151
+ if (!isDone) {
128
152
  await ctx.scheduler.runAfter(0, api.threads.deleteAllForThreadIdAsync, {
129
153
  threadId: args.threadId,
130
- cursor: result.cursor,
154
+ cursor: messagesResult.cursor,
155
+ messagesDone: messagesResult.isDone,
156
+ streamsDone: streamResult.isDone,
157
+ streamOrder: streamResult.streamOrder,
158
+ deltaCursor: streamResult.deltaCursor,
131
159
  });
132
160
  }
133
- // Kick off the streams deletion
134
- await ctx.scheduler.runAfter(0, api.streams.deleteAllStreamsForThreadIdSync, { threadId: args.threadId });
135
- return result;
161
+ return { isDone };
136
162
  },
137
- returns: deleteThreadReturns,
163
+ returns: v.object({ isDone: v.boolean() }),
138
164
  });
139
165
  async function deletePageForThreadIdHandler(ctx, args) {
140
166
  const messages = await paginator(ctx.db, schema)
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"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"}