feat: sync savings chat history with convex
This commit is contained in:
@@ -9,6 +9,12 @@ const loanStatus = v.union(
|
||||
v.literal("abbezahlt"),
|
||||
v.literal("pausiert"),
|
||||
);
|
||||
const chatRole = v.union(v.literal("user"), v.literal("assistant"));
|
||||
const chatToolTrace = v.object({
|
||||
name: v.string(),
|
||||
inputSummary: v.string(),
|
||||
resultSummary: v.string(),
|
||||
});
|
||||
|
||||
export default defineSchema({
|
||||
...authTables,
|
||||
@@ -175,4 +181,25 @@ export default defineSchema({
|
||||
isDecoupled: v.optional(v.boolean()),
|
||||
submittedTan: v.optional(v.string()),
|
||||
}).index("by_user", ["userId"]),
|
||||
|
||||
chatSessions: defineTable({
|
||||
userId: v.id("users"),
|
||||
title: v.string(),
|
||||
createdAt: v.number(),
|
||||
updatedAt: v.number(),
|
||||
messageCount: v.number(),
|
||||
legacyLocalId: v.optional(v.string()),
|
||||
isDeleted: v.boolean(),
|
||||
})
|
||||
.index("by_user_deleted_updated", ["userId", "isDeleted", "updatedAt"])
|
||||
.index("by_user_legacyLocalId", ["userId", "legacyLocalId"]),
|
||||
|
||||
chatMessages: defineTable({
|
||||
userId: v.id("users"),
|
||||
sessionId: v.id("chatSessions"),
|
||||
role: chatRole,
|
||||
content: v.string(),
|
||||
createdAt: v.number(),
|
||||
toolTrace: v.optional(v.array(chatToolTrace)),
|
||||
}).index("by_user_session_created", ["userId", "sessionId", "createdAt"]),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user