@convex-dev/agent
Version:
A agent component for Convex.
40 lines • 1.35 kB
JavaScript
import { insertAtTop } from "convex/react";
export function optimisticallySendMessage(query) {
return (store, args) => {
const queries = store.getAllQueries(query);
let maxOrder = 0;
let maxStepOrder = 0;
for (const q of queries) {
if (q.args?.threadId !== args.threadId)
continue;
if (q.args.streamArgs)
continue;
for (const m of q.value?.page ?? []) {
maxOrder = Math.max(maxOrder, m.order);
maxStepOrder = Math.max(maxStepOrder, m.stepOrder);
}
}
const order = maxOrder + 1;
const stepOrder = 0;
insertAtTop({
paginatedQuery: query,
argsToMatch: { threadId: args.threadId, streamArgs: undefined },
item: {
_creationTime: Date.now(),
_id: crypto.randomUUID(),
order,
stepOrder,
status: "pending",
threadId: args.threadId,
tool: false,
message: {
role: "user",
content: args.prompt,
},
text: args.prompt,
},
localQueryStore: store,
});
};
}
//# sourceMappingURL=optimisticallySendMessage.js.map