@convex-dev/agent 0.1.10-alpha.1 → 0.1.10
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.
- package/README.md +1 -1
- package/dist/commonjs/client/createTool.js +8 -5
- package/dist/commonjs/client/createTool.js.map +1 -1
- package/dist/commonjs/client/files.js +8 -3
- package/dist/commonjs/client/files.js.map +1 -1
- package/dist/commonjs/client/index.d.ts +10 -11
- package/dist/commonjs/client/index.d.ts.map +1 -1
- package/dist/commonjs/client/index.js +80 -59
- package/dist/commonjs/client/index.js.map +1 -1
- package/dist/commonjs/client/streaming.d.ts.map +1 -1
- package/dist/commonjs/client/streaming.js +14 -15
- package/dist/commonjs/client/streaming.js.map +1 -1
- package/dist/commonjs/client/types.js +2 -1
- package/dist/commonjs/component/_generated/api.d.ts +2 -13
- package/dist/commonjs/component/_generated/api.js +7 -4
- package/dist/commonjs/component/_generated/api.js.map +1 -1
- package/dist/commonjs/component/_generated/server.js +11 -8
- package/dist/commonjs/component/_generated/server.js.map +1 -1
- package/dist/commonjs/component/apiKeys.js +16 -13
- package/dist/commonjs/component/apiKeys.js.map +1 -1
- package/dist/commonjs/component/convex.config.js +4 -2
- package/dist/commonjs/component/convex.config.js.map +1 -1
- package/dist/commonjs/component/files.d.ts +1 -1
- package/dist/commonjs/component/files.d.ts.map +1 -1
- package/dist/commonjs/component/files.js +47 -40
- package/dist/commonjs/component/files.js.map +1 -1
- package/dist/commonjs/component/messages.d.ts +31 -31
- package/dist/commonjs/component/messages.d.ts.map +1 -1
- package/dist/commonjs/component/messages.js +112 -107
- package/dist/commonjs/component/messages.js.map +1 -1
- package/dist/commonjs/component/schema.d.ts +74 -84
- package/dist/commonjs/component/schema.d.ts.map +1 -1
- package/dist/commonjs/component/schema.js +101 -99
- package/dist/commonjs/component/schema.js.map +1 -1
- package/dist/commonjs/component/streams.d.ts +0 -7
- package/dist/commonjs/component/streams.d.ts.map +1 -1
- package/dist/commonjs/component/streams.js +95 -118
- package/dist/commonjs/component/streams.js.map +1 -1
- package/dist/commonjs/component/threads.d.ts +8 -8
- package/dist/commonjs/component/threads.js +54 -51
- package/dist/commonjs/component/threads.js.map +1 -1
- package/dist/commonjs/component/users.js +49 -46
- package/dist/commonjs/component/users.js.map +1 -1
- package/dist/commonjs/component/vector/index.js +53 -48
- package/dist/commonjs/component/vector/index.js.map +1 -1
- package/dist/commonjs/component/vector/tables.d.ts +3 -5
- package/dist/commonjs/component/vector/tables.d.ts.map +1 -1
- package/dist/commonjs/component/vector/tables.js +32 -26
- package/dist/commonjs/component/vector/tables.js.map +1 -1
- package/dist/commonjs/mapping.d.ts +3 -3
- package/dist/commonjs/mapping.d.ts.map +1 -1
- package/dist/commonjs/mapping.js +39 -24
- package/dist/commonjs/mapping.js.map +1 -1
- package/dist/commonjs/react/deltas.d.ts.map +1 -1
- package/dist/commonjs/react/deltas.js +13 -7
- package/dist/commonjs/react/deltas.js.map +1 -1
- package/dist/commonjs/react/index.d.ts +2 -4
- package/dist/commonjs/react/index.d.ts.map +1 -1
- package/dist/commonjs/react/index.js +37 -42
- package/dist/commonjs/react/index.js.map +1 -1
- package/dist/commonjs/react/optimisticallySendMessage.js +7 -4
- package/dist/commonjs/react/optimisticallySendMessage.js.map +1 -1
- package/dist/commonjs/react/toUIMessages.js +8 -5
- package/dist/commonjs/react/toUIMessages.js.map +1 -1
- package/dist/commonjs/react/types.js +2 -1
- package/dist/commonjs/react/useSmoothText.js +8 -5
- package/dist/commonjs/react/useSmoothText.js.map +1 -1
- package/dist/commonjs/shared.js +9 -4
- package/dist/commonjs/shared.js.map +1 -1
- package/dist/commonjs/validators.d.ts +10 -15
- package/dist/commonjs/validators.d.ts.map +1 -1
- package/dist/commonjs/validators.js +249 -247
- package/dist/commonjs/validators.js.map +1 -1
- package/dist/commonjs/vitest.config.js +4 -2
- package/dist/commonjs/vitest.config.js.map +1 -1
- package/dist/commonjs.tsbuildinfo +1 -1
- package/dist/esm/client/index.d.ts +10 -11
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +2 -4
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/streaming.d.ts.map +1 -1
- package/dist/esm/client/streaming.js +1 -7
- package/dist/esm/client/streaming.js.map +1 -1
- package/dist/esm/component/_generated/api.d.ts +2 -13
- package/dist/esm/component/files.d.ts +1 -1
- package/dist/esm/component/files.d.ts.map +1 -1
- package/dist/esm/component/files.js +6 -4
- package/dist/esm/component/files.js.map +1 -1
- package/dist/esm/component/messages.d.ts +30 -30
- package/dist/esm/component/schema.d.ts +74 -84
- package/dist/esm/component/schema.d.ts.map +1 -1
- package/dist/esm/component/schema.js +2 -3
- package/dist/esm/component/schema.js.map +1 -1
- package/dist/esm/component/streams.d.ts +0 -7
- package/dist/esm/component/streams.d.ts.map +1 -1
- package/dist/esm/component/streams.js +22 -49
- package/dist/esm/component/streams.js.map +1 -1
- package/dist/esm/component/threads.d.ts +8 -8
- package/dist/esm/component/vector/tables.d.ts +3 -5
- package/dist/esm/component/vector/tables.d.ts.map +1 -1
- package/dist/esm/mapping.d.ts +3 -3
- package/dist/esm/mapping.d.ts.map +1 -1
- package/dist/esm/mapping.js +5 -3
- package/dist/esm/mapping.js.map +1 -1
- package/dist/esm/react/deltas.d.ts.map +1 -1
- package/dist/esm/react/deltas.js +2 -2
- package/dist/esm/react/deltas.js.map +1 -1
- package/dist/esm/react/index.d.ts +2 -4
- package/dist/esm/react/index.d.ts.map +1 -1
- package/dist/esm/react/index.js +9 -22
- package/dist/esm/react/index.js.map +1 -1
- package/dist/esm/react/optimisticallySendMessage.js +1 -1
- package/dist/esm/react/optimisticallySendMessage.js.map +1 -1
- package/dist/esm/validators.d.ts +10 -15
- package/dist/esm/validators.d.ts.map +1 -1
- package/dist/esm/validators.js +0 -2
- package/dist/esm/validators.js.map +1 -1
- package/dist/esm.tsbuildinfo +1 -1
- package/package.json +9 -4
- package/react/package.json +5 -0
- package/src/client/index.ts +15 -12
- package/src/client/streaming.ts +1 -7
- package/src/component/_generated/api.d.ts +2 -13
- package/src/component/files.ts +6 -4
- package/src/component/schema.ts +2 -3
- package/src/component/streams.ts +39 -85
- package/src/component/vector/tables.ts +1 -1
- package/src/mapping.ts +8 -4
- package/src/react/deltas.ts +2 -4
- package/src/react/index.ts +11 -23
- package/src/react/optimisticallySendMessage.ts +1 -1
- package/src/validators.ts +0 -6
- package/validators/package.json +5 -0
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteAllForThreadIdAsync = exports._deletePageForThreadId = exports.deleteAllForThreadIdSync = exports.updateThread = exports.createThread = exports.listThreadsByUserId = exports.getThread = void 0;
|
|
4
|
+
const convex_helpers_1 = require("convex-helpers");
|
|
5
|
+
const pagination_1 = require("convex-helpers/server/pagination");
|
|
6
|
+
const validators_1 = require("convex-helpers/validators");
|
|
7
|
+
const server_1 = require("convex/server");
|
|
8
|
+
const index_js_1 = require("../client/index.js");
|
|
9
|
+
const validators_js_1 = require("../validators.js");
|
|
10
|
+
const api_js_1 = require("./_generated/api.js");
|
|
11
|
+
const server_js_1 = require("./_generated/server.js");
|
|
12
|
+
const messages_js_1 = require("./messages.js");
|
|
13
|
+
const schema_js_1 = require("./schema.js");
|
|
14
|
+
const streams_js_1 = require("./streams.js");
|
|
12
15
|
function publicThreadOrNull(thread) {
|
|
13
16
|
if (thread === null) {
|
|
14
17
|
return null;
|
|
@@ -16,23 +19,23 @@ function publicThreadOrNull(thread) {
|
|
|
16
19
|
return publicThread(thread);
|
|
17
20
|
}
|
|
18
21
|
function publicThread(thread) {
|
|
19
|
-
return omit(thread, ["defaultSystemPrompt", "parentThreadIds", "order"]);
|
|
22
|
+
return (0, convex_helpers_1.omit)(thread, ["defaultSystemPrompt", "parentThreadIds", "order"]);
|
|
20
23
|
}
|
|
21
|
-
|
|
22
|
-
args: { threadId: v.id("threads") },
|
|
24
|
+
exports.getThread = (0, server_js_1.query)({
|
|
25
|
+
args: { threadId: schema_js_1.v.id("threads") },
|
|
23
26
|
handler: async (ctx, args) => {
|
|
24
27
|
return publicThreadOrNull(await ctx.db.get(args.threadId));
|
|
25
28
|
},
|
|
26
|
-
returns: v.union(vThreadDoc, v.null()),
|
|
29
|
+
returns: schema_js_1.v.union(index_js_1.vThreadDoc, schema_js_1.v.null()),
|
|
27
30
|
});
|
|
28
|
-
|
|
31
|
+
exports.listThreadsByUserId = (0, server_js_1.query)({
|
|
29
32
|
args: {
|
|
30
|
-
userId: v.optional(v.string()),
|
|
31
|
-
order: v.optional(v.union(v.literal("asc"), v.literal("desc"))),
|
|
32
|
-
paginationOpts: v.optional(paginationOptsValidator),
|
|
33
|
+
userId: schema_js_1.v.optional(schema_js_1.v.string()),
|
|
34
|
+
order: schema_js_1.v.optional(schema_js_1.v.union(schema_js_1.v.literal("asc"), schema_js_1.v.literal("desc"))),
|
|
35
|
+
paginationOpts: schema_js_1.v.optional(server_1.paginationOptsValidator),
|
|
33
36
|
},
|
|
34
37
|
handler: async (ctx, args) => {
|
|
35
|
-
const threads = await paginator(ctx.db, schema)
|
|
38
|
+
const threads = await (0, pagination_1.paginator)(ctx.db, schema_js_1.schema)
|
|
36
39
|
.query("threads")
|
|
37
40
|
.withIndex("userId", (q) => q.eq("userId", args.userId))
|
|
38
41
|
.order(args.order ?? "desc")
|
|
@@ -42,11 +45,11 @@ export const listThreadsByUserId = query({
|
|
|
42
45
|
page: threads.page.map(publicThread),
|
|
43
46
|
};
|
|
44
47
|
},
|
|
45
|
-
returns: vPaginationResult(vThreadDoc),
|
|
48
|
+
returns: (0, validators_js_1.vPaginationResult)(index_js_1.vThreadDoc),
|
|
46
49
|
});
|
|
47
|
-
const vThread = schema.tables.threads.validator;
|
|
48
|
-
|
|
49
|
-
args: omit(vThread.fields, ["order", "status"]),
|
|
50
|
+
const vThread = schema_js_1.schema.tables.threads.validator;
|
|
51
|
+
exports.createThread = (0, server_js_1.mutation)({
|
|
52
|
+
args: (0, convex_helpers_1.omit)(vThread.fields, ["order", "status"]),
|
|
50
53
|
handler: async (ctx, args) => {
|
|
51
54
|
const threadId = await ctx.db.insert("threads", {
|
|
52
55
|
...args,
|
|
@@ -54,20 +57,20 @@ export const createThread = mutation({
|
|
|
54
57
|
});
|
|
55
58
|
return publicThread((await ctx.db.get(threadId)));
|
|
56
59
|
},
|
|
57
|
-
returns: vThreadDoc,
|
|
60
|
+
returns: index_js_1.vThreadDoc,
|
|
58
61
|
});
|
|
59
|
-
|
|
62
|
+
exports.updateThread = (0, server_js_1.mutation)({
|
|
60
63
|
args: {
|
|
61
|
-
threadId: v.id("threads"),
|
|
62
|
-
patch: v.object(partial(pick(vThread.fields, ["title", "summary", "status"]))),
|
|
64
|
+
threadId: schema_js_1.v.id("threads"),
|
|
65
|
+
patch: schema_js_1.v.object((0, validators_1.partial)((0, convex_helpers_1.pick)(vThread.fields, ["title", "summary", "status"]))),
|
|
63
66
|
},
|
|
64
67
|
handler: async (ctx, args) => {
|
|
65
68
|
const thread = await ctx.db.get(args.threadId);
|
|
66
|
-
assert(thread, `Thread ${args.threadId} not found`);
|
|
69
|
+
(0, convex_helpers_1.assert)(thread, `Thread ${args.threadId} not found`);
|
|
67
70
|
await ctx.db.patch(args.threadId, args.patch);
|
|
68
71
|
return publicThread((await ctx.db.get(args.threadId)));
|
|
69
72
|
},
|
|
70
|
-
returns: vThreadDoc,
|
|
73
|
+
returns: index_js_1.vThreadDoc,
|
|
71
74
|
});
|
|
72
75
|
// When we expose this, we need to also hide all the messages and steps
|
|
73
76
|
// export const archiveThread = mutation({
|
|
@@ -86,37 +89,37 @@ export const updateThread = mutation({
|
|
|
86
89
|
* It will try to delete all pages synchronously.
|
|
87
90
|
* If it times out or fails, you'll have to run it again.
|
|
88
91
|
*/
|
|
89
|
-
|
|
90
|
-
args: { threadId: v.id("threads"), limit: v.optional(v.number()) },
|
|
92
|
+
exports.deleteAllForThreadIdSync = (0, server_js_1.action)({
|
|
93
|
+
args: { threadId: schema_js_1.v.id("threads"), limit: schema_js_1.v.optional(schema_js_1.v.number()) },
|
|
91
94
|
handler: async (ctx, args) => {
|
|
92
95
|
let cursor = undefined;
|
|
93
96
|
while (true) {
|
|
94
|
-
const result = await ctx.runMutation(internal.threads._deletePageForThreadId, { threadId: args.threadId, cursor, limit: args.limit });
|
|
97
|
+
const result = await ctx.runMutation(api_js_1.internal.threads._deletePageForThreadId, { threadId: args.threadId, cursor, limit: args.limit });
|
|
95
98
|
if (result.isDone) {
|
|
96
99
|
break;
|
|
97
100
|
}
|
|
98
101
|
cursor = result.cursor;
|
|
99
102
|
}
|
|
100
|
-
await ctx.runAction(api.streams.deleteAllStreamsForThreadIdSync, {
|
|
103
|
+
await ctx.runAction(api_js_1.api.streams.deleteAllStreamsForThreadIdSync, {
|
|
101
104
|
threadId: args.threadId,
|
|
102
105
|
});
|
|
103
106
|
},
|
|
104
|
-
returns: v.null(),
|
|
107
|
+
returns: schema_js_1.v.null(),
|
|
105
108
|
});
|
|
106
109
|
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()),
|
|
110
|
+
threadId: schema_js_1.v.id("threads"),
|
|
111
|
+
cursor: schema_js_1.v.optional(schema_js_1.v.string()),
|
|
112
|
+
messagesDone: schema_js_1.v.optional(schema_js_1.v.boolean()),
|
|
113
|
+
streamsDone: schema_js_1.v.optional(schema_js_1.v.boolean()),
|
|
114
|
+
streamOrder: schema_js_1.v.optional(schema_js_1.v.number()),
|
|
115
|
+
deltaCursor: schema_js_1.v.optional(schema_js_1.v.string()),
|
|
116
|
+
limit: schema_js_1.v.optional(schema_js_1.v.number()),
|
|
114
117
|
};
|
|
115
118
|
const deleteThreadReturns = {
|
|
116
|
-
cursor: v.string(),
|
|
117
|
-
isDone: v.boolean(),
|
|
119
|
+
cursor: schema_js_1.v.string(),
|
|
120
|
+
isDone: schema_js_1.v.boolean(),
|
|
118
121
|
};
|
|
119
|
-
|
|
122
|
+
exports._deletePageForThreadId = (0, server_js_1.internalMutation)({
|
|
120
123
|
args: deleteThreadArgs,
|
|
121
124
|
handler: deletePageForThreadIdHandler,
|
|
122
125
|
returns: deleteThreadReturns,
|
|
@@ -125,7 +128,7 @@ export const _deletePageForThreadId = internalMutation({
|
|
|
125
128
|
* Use this to delete a thread and everything it contains.
|
|
126
129
|
* It will continue deleting pages asynchronously.
|
|
127
130
|
*/
|
|
128
|
-
|
|
131
|
+
exports.deleteAllForThreadIdAsync = (0, server_js_1.mutation)({
|
|
129
132
|
args: deleteThreadArgs,
|
|
130
133
|
handler: async (ctx, args) => {
|
|
131
134
|
let messagesResult = {
|
|
@@ -141,7 +144,7 @@ export const deleteAllForThreadIdAsync = mutation({
|
|
|
141
144
|
deltaCursor: args.deltaCursor,
|
|
142
145
|
};
|
|
143
146
|
if (!args.streamsDone) {
|
|
144
|
-
streamResult = await deleteStreamsPageForThreadId(ctx, {
|
|
147
|
+
streamResult = await (0, streams_js_1.deleteStreamsPageForThreadId)(ctx, {
|
|
145
148
|
threadId: args.threadId,
|
|
146
149
|
streamOrder: args.streamOrder,
|
|
147
150
|
deltaCursor: args.deltaCursor,
|
|
@@ -149,7 +152,7 @@ export const deleteAllForThreadIdAsync = mutation({
|
|
|
149
152
|
}
|
|
150
153
|
const isDone = messagesResult.isDone && streamResult.isDone;
|
|
151
154
|
if (!isDone) {
|
|
152
|
-
await ctx.scheduler.runAfter(0, api.threads.deleteAllForThreadIdAsync, {
|
|
155
|
+
await ctx.scheduler.runAfter(0, api_js_1.api.threads.deleteAllForThreadIdAsync, {
|
|
153
156
|
threadId: args.threadId,
|
|
154
157
|
cursor: messagesResult.cursor,
|
|
155
158
|
messagesDone: messagesResult.isDone,
|
|
@@ -160,17 +163,17 @@ export const deleteAllForThreadIdAsync = mutation({
|
|
|
160
163
|
}
|
|
161
164
|
return { isDone };
|
|
162
165
|
},
|
|
163
|
-
returns: v.object({ isDone: v.boolean() }),
|
|
166
|
+
returns: schema_js_1.v.object({ isDone: schema_js_1.v.boolean() }),
|
|
164
167
|
});
|
|
165
168
|
async function deletePageForThreadIdHandler(ctx, args) {
|
|
166
|
-
const messages = await paginator(ctx.db, schema)
|
|
169
|
+
const messages = await (0, pagination_1.paginator)(ctx.db, schema_js_1.schema)
|
|
167
170
|
.query("messages")
|
|
168
171
|
.withIndex("threadId_status_tool_order_stepOrder", (q) => q.eq("threadId", args.threadId))
|
|
169
172
|
.paginate({
|
|
170
173
|
numItems: args.limit ?? 100,
|
|
171
174
|
cursor: args.cursor ?? null,
|
|
172
175
|
});
|
|
173
|
-
await Promise.all(messages.page.map((m) => deleteMessage(ctx, m)));
|
|
176
|
+
await Promise.all(messages.page.map((m) => (0, messages_js_1.deleteMessage)(ctx, m)));
|
|
174
177
|
if (messages.isDone) {
|
|
175
178
|
const thread = await ctx.db.get(args.threadId);
|
|
176
179
|
if (thread) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/component/threads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getThreadUserId = exports._deletePageForUserId = exports._deleteAllForUserIdAsync = exports.deleteAllForUserIdAsync = exports.deleteAllForUserId = exports.listUsersWithThreads = void 0;
|
|
4
|
+
const pagination_1 = require("convex-helpers/server/pagination");
|
|
5
|
+
const stream_1 = require("convex-helpers/server/stream");
|
|
6
|
+
const validators_1 = require("convex-helpers/validators");
|
|
7
|
+
const server_1 = require("convex/server");
|
|
8
|
+
const validators_js_1 = require("../validators.js");
|
|
9
|
+
const api_js_1 = require("./_generated/api.js");
|
|
10
|
+
const server_js_1 = require("./_generated/server.js");
|
|
11
|
+
const messages_js_1 = require("./messages.js");
|
|
12
|
+
const streams_js_1 = require("./streams.js");
|
|
13
|
+
const schema_js_1 = require("./schema.js");
|
|
11
14
|
// Note: it only searches for users with threads
|
|
12
|
-
|
|
15
|
+
exports.listUsersWithThreads = (0, server_js_1.query)({
|
|
13
16
|
args: {
|
|
14
|
-
paginationOpts: paginationOptsValidator,
|
|
17
|
+
paginationOpts: server_1.paginationOptsValidator,
|
|
15
18
|
},
|
|
16
19
|
handler: async (ctx, args) => {
|
|
17
|
-
const results = await stream(ctx.db, schema)
|
|
20
|
+
const results = await (0, stream_1.stream)(ctx.db, schema_js_1.schema)
|
|
18
21
|
.query("threads")
|
|
19
22
|
.withIndex("userId", (q) => q)
|
|
20
23
|
.filterWith(async (q) => !!q.userId)
|
|
@@ -25,10 +28,10 @@ export const listUsersWithThreads = query({
|
|
|
25
28
|
page: results.page.map((t) => t.userId).filter((t) => !!t),
|
|
26
29
|
};
|
|
27
30
|
},
|
|
28
|
-
returns: vPaginationResult(v.string()),
|
|
31
|
+
returns: (0, validators_js_1.vPaginationResult)(schema_js_1.v.string()),
|
|
29
32
|
});
|
|
30
|
-
|
|
31
|
-
args: { userId: v.string() },
|
|
33
|
+
exports.deleteAllForUserId = (0, server_js_1.action)({
|
|
34
|
+
args: { userId: schema_js_1.v.string() },
|
|
32
35
|
handler: async (ctx, args) => {
|
|
33
36
|
let threadsCursor = null;
|
|
34
37
|
let threadInProgress = null;
|
|
@@ -38,7 +41,7 @@ export const deleteAllForUserId = action({
|
|
|
38
41
|
let deltaCursor = undefined;
|
|
39
42
|
let isDone = false;
|
|
40
43
|
while (!isDone) {
|
|
41
|
-
const result = await ctx.runMutation(internal.users._deletePageForUserId, {
|
|
44
|
+
const result = await ctx.runMutation(api_js_1.internal.users._deletePageForUserId, {
|
|
42
45
|
userId: args.userId,
|
|
43
46
|
messagesCursor,
|
|
44
47
|
threadInProgress,
|
|
@@ -56,11 +59,11 @@ export const deleteAllForUserId = action({
|
|
|
56
59
|
isDone = result.isDone;
|
|
57
60
|
}
|
|
58
61
|
},
|
|
59
|
-
returns: v.null(),
|
|
62
|
+
returns: schema_js_1.v.null(),
|
|
60
63
|
});
|
|
61
|
-
|
|
64
|
+
exports.deleteAllForUserIdAsync = (0, server_js_1.mutation)({
|
|
62
65
|
args: {
|
|
63
|
-
userId: v.string(),
|
|
66
|
+
userId: schema_js_1.v.string(),
|
|
64
67
|
},
|
|
65
68
|
handler: async (ctx, args) => {
|
|
66
69
|
const isDone = await deleteAllForUserIdAsyncHandler(ctx, {
|
|
@@ -74,35 +77,35 @@ export const deleteAllForUserIdAsync = mutation({
|
|
|
74
77
|
});
|
|
75
78
|
return isDone;
|
|
76
79
|
},
|
|
77
|
-
returns: v.boolean(),
|
|
80
|
+
returns: schema_js_1.v.boolean(),
|
|
78
81
|
});
|
|
79
82
|
const deleteAllArgs = {
|
|
80
|
-
userId: v.string(),
|
|
81
|
-
messagesCursor: nullable(v.string()),
|
|
82
|
-
threadsCursor: nullable(v.string()),
|
|
83
|
-
threadInProgress: nullable(v.id("threads")),
|
|
84
|
-
streamsInProgress: v.optional(v.boolean()),
|
|
85
|
-
streamOrder: v.optional(v.number()),
|
|
86
|
-
deltaCursor: v.optional(v.string()),
|
|
83
|
+
userId: schema_js_1.v.string(),
|
|
84
|
+
messagesCursor: (0, validators_1.nullable)(schema_js_1.v.string()),
|
|
85
|
+
threadsCursor: (0, validators_1.nullable)(schema_js_1.v.string()),
|
|
86
|
+
threadInProgress: (0, validators_1.nullable)(schema_js_1.v.id("threads")),
|
|
87
|
+
streamsInProgress: schema_js_1.v.optional(schema_js_1.v.boolean()),
|
|
88
|
+
streamOrder: schema_js_1.v.optional(schema_js_1.v.number()),
|
|
89
|
+
deltaCursor: schema_js_1.v.optional(schema_js_1.v.string()),
|
|
87
90
|
};
|
|
88
91
|
const deleteAllReturns = {
|
|
89
|
-
threadsCursor: v.string(),
|
|
90
|
-
threadInProgress: nullable(v.id("threads")),
|
|
91
|
-
messagesCursor: nullable(v.string()),
|
|
92
|
-
streamsInProgress: v.optional(v.boolean()),
|
|
93
|
-
streamOrder: v.optional(v.number()),
|
|
94
|
-
deltaCursor: v.optional(v.string()),
|
|
95
|
-
isDone: v.boolean(),
|
|
92
|
+
threadsCursor: schema_js_1.v.string(),
|
|
93
|
+
threadInProgress: (0, validators_1.nullable)(schema_js_1.v.id("threads")),
|
|
94
|
+
messagesCursor: (0, validators_1.nullable)(schema_js_1.v.string()),
|
|
95
|
+
streamsInProgress: schema_js_1.v.optional(schema_js_1.v.boolean()),
|
|
96
|
+
streamOrder: schema_js_1.v.optional(schema_js_1.v.number()),
|
|
97
|
+
deltaCursor: schema_js_1.v.optional(schema_js_1.v.string()),
|
|
98
|
+
isDone: schema_js_1.v.boolean(),
|
|
96
99
|
};
|
|
97
|
-
|
|
100
|
+
exports._deleteAllForUserIdAsync = (0, server_js_1.internalMutation)({
|
|
98
101
|
args: deleteAllArgs,
|
|
99
102
|
handler: deleteAllForUserIdAsyncHandler,
|
|
100
|
-
returns: v.boolean(),
|
|
103
|
+
returns: schema_js_1.v.boolean(),
|
|
101
104
|
});
|
|
102
105
|
async function deleteAllForUserIdAsyncHandler(ctx, args) {
|
|
103
106
|
const result = await deletePageForUserId(ctx, args);
|
|
104
107
|
if (!result.isDone) {
|
|
105
|
-
await ctx.scheduler.runAfter(0, internal.users._deleteAllForUserIdAsync, {
|
|
108
|
+
await ctx.scheduler.runAfter(0, api_js_1.internal.users._deleteAllForUserIdAsync, {
|
|
106
109
|
userId: args.userId,
|
|
107
110
|
messagesCursor: result.messagesCursor,
|
|
108
111
|
threadsCursor: result.threadsCursor,
|
|
@@ -114,7 +117,7 @@ async function deleteAllForUserIdAsyncHandler(ctx, args) {
|
|
|
114
117
|
}
|
|
115
118
|
return result.isDone;
|
|
116
119
|
}
|
|
117
|
-
|
|
120
|
+
exports._deletePageForUserId = (0, server_js_1.internalMutation)({
|
|
118
121
|
args: deleteAllArgs,
|
|
119
122
|
handler: deletePageForUserId,
|
|
120
123
|
returns: deleteAllReturns,
|
|
@@ -128,7 +131,7 @@ async function deletePageForUserId(ctx, args) {
|
|
|
128
131
|
let deltaCursor = args.deltaCursor;
|
|
129
132
|
// Phase 1: Get a thread to work on if we don't have one
|
|
130
133
|
if (!threadsCursor || !threadInProgress) {
|
|
131
|
-
const threads = await paginator(ctx.db, schema)
|
|
134
|
+
const threads = await (0, pagination_1.paginator)(ctx.db, schema_js_1.schema)
|
|
132
135
|
.query("threads")
|
|
133
136
|
.withIndex("userId", (q) => q.eq("userId", args.userId))
|
|
134
137
|
.order("desc")
|
|
@@ -158,7 +161,7 @@ async function deletePageForUserId(ctx, args) {
|
|
|
158
161
|
}
|
|
159
162
|
// Phase 2: Delete messages for the current thread
|
|
160
163
|
if (!streamsInProgress) {
|
|
161
|
-
const messages = await paginator(ctx.db, schema)
|
|
164
|
+
const messages = await (0, pagination_1.paginator)(ctx.db, schema_js_1.schema)
|
|
162
165
|
.query("messages")
|
|
163
166
|
.withIndex("threadId_status_tool_order_stepOrder", (q) => q.eq("threadId", threadInProgress))
|
|
164
167
|
.order("desc")
|
|
@@ -166,7 +169,7 @@ async function deletePageForUserId(ctx, args) {
|
|
|
166
169
|
numItems: 100,
|
|
167
170
|
cursor: args.messagesCursor,
|
|
168
171
|
});
|
|
169
|
-
await Promise.all(messages.page.map((m) => deleteMessage(ctx, m)));
|
|
172
|
+
await Promise.all(messages.page.map((m) => (0, messages_js_1.deleteMessage)(ctx, m)));
|
|
170
173
|
if (messages.isDone) {
|
|
171
174
|
// Messages are done, move to streams deletion phase
|
|
172
175
|
streamsInProgress = true;
|
|
@@ -188,7 +191,7 @@ async function deletePageForUserId(ctx, args) {
|
|
|
188
191
|
};
|
|
189
192
|
}
|
|
190
193
|
// Phase 3: Delete streams for the current thread
|
|
191
|
-
const streamResult = await deleteStreamsPageForThreadId(ctx, {
|
|
194
|
+
const streamResult = await (0, streams_js_1.deleteStreamsPageForThreadId)(ctx, {
|
|
192
195
|
threadId: threadInProgress,
|
|
193
196
|
streamOrder,
|
|
194
197
|
deltaCursor,
|
|
@@ -217,11 +220,11 @@ async function deletePageForUserId(ctx, args) {
|
|
|
217
220
|
isDone: false,
|
|
218
221
|
};
|
|
219
222
|
}
|
|
220
|
-
|
|
223
|
+
exports.getThreadUserId = (0, server_js_1.internalQuery)({
|
|
221
224
|
args: {
|
|
222
|
-
threadId: v.id("threads"),
|
|
225
|
+
threadId: schema_js_1.v.id("threads"),
|
|
223
226
|
},
|
|
224
|
-
returns: v.union(v.string(), v.null()),
|
|
227
|
+
returns: schema_js_1.v.union(schema_js_1.v.string(), schema_js_1.v.null()),
|
|
225
228
|
handler: async (ctx, args) => {
|
|
226
229
|
const thread = await ctx.db.get(args.threadId);
|
|
227
230
|
return thread?.userId ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/component/users.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/component/users.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteBatch = exports.updateBatch = exports.insertBatch = exports.deleteBatchForThread = exports.paginate = void 0;
|
|
4
|
+
exports.insertVector = insertVector;
|
|
5
|
+
exports.searchVectors = searchVectors;
|
|
6
|
+
const pagination_1 = require("convex-helpers/server/pagination");
|
|
7
|
+
const stream_1 = require("convex-helpers/server/stream");
|
|
8
|
+
const values_1 = require("convex/values");
|
|
9
|
+
const server_js_1 = require("../_generated/server.js");
|
|
10
|
+
const schema_js_1 = require("../schema.js");
|
|
11
|
+
const tables_js_1 = require("./tables.js");
|
|
12
|
+
exports.paginate = (0, server_js_1.query)({
|
|
8
13
|
args: {
|
|
9
|
-
vectorDimension: vVectorDimension,
|
|
10
|
-
targetModel: v.string(),
|
|
11
|
-
table: v.optional(v.string()),
|
|
12
|
-
cursor: v.optional(v.string()),
|
|
13
|
-
limit: v.number(),
|
|
14
|
+
vectorDimension: tables_js_1.vVectorDimension,
|
|
15
|
+
targetModel: values_1.v.string(),
|
|
16
|
+
table: values_1.v.optional(values_1.v.string()),
|
|
17
|
+
cursor: values_1.v.optional(values_1.v.string()),
|
|
18
|
+
limit: values_1.v.number(),
|
|
14
19
|
},
|
|
15
|
-
returns: v.object({
|
|
16
|
-
ids: v.array(vVectorId),
|
|
17
|
-
isDone: v.boolean(),
|
|
18
|
-
continueCursor: v.string(),
|
|
20
|
+
returns: values_1.v.object({
|
|
21
|
+
ids: values_1.v.array(tables_js_1.vVectorId),
|
|
22
|
+
isDone: values_1.v.boolean(),
|
|
23
|
+
continueCursor: values_1.v.string(),
|
|
19
24
|
}),
|
|
20
25
|
handler: async (ctx, args) => {
|
|
21
|
-
const tableName = getVectorTableName(args.vectorDimension);
|
|
22
|
-
const vectors = await paginator(ctx.db,
|
|
26
|
+
const tableName = (0, tables_js_1.getVectorTableName)(args.vectorDimension);
|
|
27
|
+
const vectors = await (0, pagination_1.paginator)(ctx.db, schema_js_1.default)
|
|
23
28
|
.query(tableName)
|
|
24
29
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
30
|
.withIndex("model_table_threadId", (q) => args.table
|
|
@@ -38,21 +43,21 @@ export const paginate = query({
|
|
|
38
43
|
};
|
|
39
44
|
},
|
|
40
45
|
});
|
|
41
|
-
|
|
46
|
+
exports.deleteBatchForThread = (0, server_js_1.mutation)({
|
|
42
47
|
args: {
|
|
43
|
-
vectorDimension: vVectorDimension,
|
|
44
|
-
model: v.string(),
|
|
45
|
-
threadId: v.string(),
|
|
46
|
-
cursor: v.optional(v.string()),
|
|
47
|
-
limit: v.number(),
|
|
48
|
+
vectorDimension: tables_js_1.vVectorDimension,
|
|
49
|
+
model: values_1.v.string(),
|
|
50
|
+
threadId: values_1.v.string(),
|
|
51
|
+
cursor: values_1.v.optional(values_1.v.string()),
|
|
52
|
+
limit: values_1.v.number(),
|
|
48
53
|
},
|
|
49
|
-
returns: v.object({
|
|
50
|
-
isDone: v.boolean(),
|
|
51
|
-
continueCursor: v.string(),
|
|
54
|
+
returns: values_1.v.object({
|
|
55
|
+
isDone: values_1.v.boolean(),
|
|
56
|
+
continueCursor: values_1.v.string(),
|
|
52
57
|
}),
|
|
53
58
|
handler: async (ctx, args) => {
|
|
54
|
-
const tableName = getVectorTableName(args.vectorDimension);
|
|
55
|
-
const vectors = await mergedStream(["thread", "memory"].map((table) => stream(ctx.db,
|
|
59
|
+
const tableName = (0, tables_js_1.getVectorTableName)(args.vectorDimension);
|
|
60
|
+
const vectors = await (0, stream_1.mergedStream)(["thread", "memory"].map((table) => (0, stream_1.stream)(ctx.db, schema_js_1.default)
|
|
56
61
|
.query(tableName)
|
|
57
62
|
.withIndex("model_table_threadId", (q) => q
|
|
58
63
|
.eq("model", args.model)
|
|
@@ -69,15 +74,15 @@ export const deleteBatchForThread = mutation({
|
|
|
69
74
|
};
|
|
70
75
|
},
|
|
71
76
|
});
|
|
72
|
-
|
|
77
|
+
exports.insertBatch = (0, server_js_1.mutation)({
|
|
73
78
|
args: {
|
|
74
|
-
vectorDimension: vVectorDimension,
|
|
75
|
-
vectors: v.array(v.object({
|
|
76
|
-
...vEmbeddingsWithoutDenormalizedFields.fields,
|
|
77
|
-
messageId: v.optional(v.id("messages")),
|
|
79
|
+
vectorDimension: tables_js_1.vVectorDimension,
|
|
80
|
+
vectors: values_1.v.array(values_1.v.object({
|
|
81
|
+
...tables_js_1.vEmbeddingsWithoutDenormalizedFields.fields,
|
|
82
|
+
messageId: values_1.v.optional(values_1.v.id("messages")),
|
|
78
83
|
})),
|
|
79
84
|
},
|
|
80
|
-
returns: v.array(vVectorId),
|
|
85
|
+
returns: values_1.v.array(tables_js_1.vVectorId),
|
|
81
86
|
handler: async (ctx, args) => {
|
|
82
87
|
return Promise.all(args.vectors.map(async ({ messageId, ...v }) => {
|
|
83
88
|
const embeddingId = await insertVector(ctx, args.vectorDimension, v);
|
|
@@ -88,8 +93,8 @@ export const insertBatch = mutation({
|
|
|
88
93
|
}));
|
|
89
94
|
},
|
|
90
95
|
});
|
|
91
|
-
|
|
92
|
-
return ctx.db.insert(getVectorTableName(dimension), {
|
|
96
|
+
async function insertVector(ctx, dimension, v) {
|
|
97
|
+
return ctx.db.insert((0, tables_js_1.getVectorTableName)(dimension), {
|
|
93
98
|
...v,
|
|
94
99
|
model_table_userId: v.userId ? [v.model, v.table, v.userId] : undefined,
|
|
95
100
|
model_table_threadId: v.threadId
|
|
@@ -97,8 +102,8 @@ export async function insertVector(ctx, dimension, v) {
|
|
|
97
102
|
: undefined,
|
|
98
103
|
});
|
|
99
104
|
}
|
|
100
|
-
|
|
101
|
-
const tableName = getVectorTableName(args.dimension);
|
|
105
|
+
function searchVectors(ctx, vector, args) {
|
|
106
|
+
const tableName = (0, tables_js_1.getVectorTableName)(args.dimension);
|
|
102
107
|
return ctx.vectorSearch(tableName, "vector", {
|
|
103
108
|
vector,
|
|
104
109
|
// TODO: to support more tables, add more "OR" clauses for each.
|
|
@@ -116,19 +121,19 @@ export function searchVectors(ctx, vector, args) {
|
|
|
116
121
|
limit: args.limit,
|
|
117
122
|
});
|
|
118
123
|
}
|
|
119
|
-
|
|
124
|
+
exports.updateBatch = (0, server_js_1.mutation)({
|
|
120
125
|
args: {
|
|
121
|
-
vectors: v.array(v.object({
|
|
122
|
-
model: v.string(),
|
|
123
|
-
id: vVectorId,
|
|
124
|
-
vector: v.array(v.number()),
|
|
126
|
+
vectors: values_1.v.array(values_1.v.object({
|
|
127
|
+
model: values_1.v.string(),
|
|
128
|
+
id: tables_js_1.vVectorId,
|
|
129
|
+
vector: values_1.v.array(values_1.v.number()),
|
|
125
130
|
// TODO: support changing the vector length by
|
|
126
131
|
// deleting from one table and inserting into another.
|
|
127
132
|
// However this requires updating all the messages that reference
|
|
128
133
|
// the vector.
|
|
129
134
|
})),
|
|
130
135
|
},
|
|
131
|
-
returns: v.null(),
|
|
136
|
+
returns: values_1.v.null(),
|
|
132
137
|
handler: async (ctx, args) => {
|
|
133
138
|
await Promise.all(args.vectors.map((v) => ctx.db.patch(v.id, {
|
|
134
139
|
model: v.model,
|
|
@@ -136,11 +141,11 @@ export const updateBatch = mutation({
|
|
|
136
141
|
})));
|
|
137
142
|
},
|
|
138
143
|
});
|
|
139
|
-
|
|
144
|
+
exports.deleteBatch = (0, server_js_1.mutation)({
|
|
140
145
|
args: {
|
|
141
|
-
ids: v.array(vVectorId),
|
|
146
|
+
ids: values_1.v.array(tables_js_1.vVectorId),
|
|
142
147
|
},
|
|
143
|
-
returns: v.null(),
|
|
148
|
+
returns: values_1.v.null(),
|
|
144
149
|
handler: async (ctx, args) => {
|
|
145
150
|
await Promise.all(args.ids.map((id) => ctx.db.delete(id)));
|
|
146
151
|
},
|