Skip to content

Commit cdd8bd1

Browse files
committed
order required again
1 parent 141c222 commit cdd8bd1

File tree

4 files changed

+22
-17
lines changed

4 files changed

+22
-17
lines changed

example/convex/_generated/api.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ export declare const components: {
275275
role: "system";
276276
};
277277
model?: string;
278-
order?: number;
278+
order: number;
279279
status: "pending" | "success" | "failed";
280280
stepId?: string;
281281
stepOrder?: number;
@@ -399,7 +399,7 @@ export declare const components: {
399399
role: "system";
400400
};
401401
model?: string;
402-
order?: number;
402+
order: number;
403403
status: "pending" | "success" | "failed";
404404
stepId?: string;
405405
stepOrder?: number;
@@ -1171,7 +1171,7 @@ export declare const components: {
11711171
role: "system";
11721172
};
11731173
model?: string;
1174-
order?: number;
1174+
order: number;
11751175
status: "pending" | "success" | "failed";
11761176
stepId?: string;
11771177
stepOrder?: number;
@@ -1358,7 +1358,7 @@ export declare const components: {
13581358
role: "system";
13591359
};
13601360
model?: string;
1361-
order?: number;
1361+
order: number;
13621362
status: "pending" | "success" | "failed";
13631363
stepId?: string;
13641364
stepOrder?: number;
@@ -1487,7 +1487,7 @@ export declare const components: {
14871487
role: "system";
14881488
};
14891489
model?: string;
1490-
order?: number;
1490+
order: number;
14911491
status: "pending" | "success" | "failed";
14921492
stepId?: string;
14931493
stepOrder?: number;

src/component/_generated/api.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ export type Mounts = {
265265
role: "system";
266266
};
267267
model?: string;
268-
order?: number;
268+
order: number;
269269
status: "pending" | "success" | "failed";
270270
stepId?: string;
271271
stepOrder?: number;
@@ -389,7 +389,7 @@ export type Mounts = {
389389
role: "system";
390390
};
391391
model?: string;
392-
order?: number;
392+
order: number;
393393
status: "pending" | "success" | "failed";
394394
stepId?: string;
395395
stepOrder?: number;
@@ -1133,7 +1133,7 @@ export type Mounts = {
11331133
role: "system";
11341134
};
11351135
model?: string;
1136-
order?: number;
1136+
order: number;
11371137
status: "pending" | "success" | "failed";
11381138
stepId?: string;
11391139
stepOrder?: number;
@@ -1320,7 +1320,7 @@ export type Mounts = {
13201320
role: "system";
13211321
};
13221322
model?: string;
1323-
order?: number;
1323+
order: number;
13241324
status: "pending" | "success" | "failed";
13251325
stepId?: string;
13261326
stepOrder?: number;
@@ -1449,7 +1449,7 @@ export type Mounts = {
14491449
role: "system";
14501450
};
14511451
model?: string;
1452-
order?: number;
1452+
order: number;
14531453
status: "pending" | "success" | "failed";
14541454
stepId?: string;
14551455
stepOrder?: number;

src/component/messages.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ async function addMessagesHandler(
433433
if (messages.length > 0) {
434434
for (const { message, fileId, id } of messages) {
435435
const tool = isTool(message);
436-
if (!tool && order !== undefined) {
436+
if (!tool) {
437437
order++;
438438
}
439439
const text = extractText(message);
@@ -754,24 +754,22 @@ export const _fetchVectorMessages = internalQuery({
754754
)
755755
).filter(
756756
(m): m is Doc<"messages"> =>
757-
m !== undefined &&
758-
m !== null &&
759-
(!parent || !m.order || !parent.order || m.order <= parent.order)
757+
m !== undefined && m !== null && (!parent || m.order <= parent.order)
760758
);
761759
messages.push(...(args.textSearchMessages ?? []));
762760
// TODO: prioritize more recent messages
763761
messages.sort((a, b) => a.order! - b.order!);
764762
messages = messages.slice(0, args.limit);
765763
// Fetch the surrounding messages
766764
if (!chatId) {
767-
return messages.sort((a, b) => a.order! - b.order!);
765+
return messages.sort((a, b) => a.order - b.order);
768766
}
769767
const included: Record<string, Set<number>> = {};
770768
for (const m of messages) {
771769
if (!included[chatId]) {
772770
included[chatId] = new Set();
773771
}
774-
included[chatId].add(m.order!);
772+
included[m.chatId].add(m.order!);
775773
}
776774
const ranges: Record<Id<"chats">, Doc<"messages">[]> = {};
777775
const { before, after } = args.messageRange;

src/component/schema.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export const schema = defineSchema({
3434
tool: v.boolean(),
3535
// Repeats until a non-tool message.
3636
// Unset if it's not in a chat.
37-
order: v.optional(v.number()),
37+
order: v.number(),
3838
stepOrder: v.optional(v.number()),
3939
fileId: v.optional(v.id("files")),
4040
status: vMessageStatus,
@@ -48,6 +48,13 @@ export const schema = defineSchema({
4848
"order",
4949
"stepOrder",
5050
])
51+
.index("userId_status_tool_order_stepOrder", [
52+
"userId",
53+
"status",
54+
"tool",
55+
"order",
56+
"stepOrder",
57+
])
5158
// Allows finding all threaded messages in order
5259
// Allows finding all failed messages to evaluate
5360
// .index("status_threadId_order_stepOrder", [

0 commit comments

Comments
 (0)