import { pgTable, uuid, text, timestamp, index } from "drizzle-orm/pg-core"; import { chatConversations } from "./chat_conversations.js"; export const chatMessages = pgTable( "chat_messages", { id: uuid("id").primaryKey().defaultRandom(), conversationId: uuid("conversation_id").notNull().references(() => chatConversations.id, { onDelete: "cascade" }), role: text("role").notNull(), content: text("content").notNull(), agentId: uuid("agent_id"), createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(), }, (table) => ({ conversationCreatedIdx: index("chat_messages_conversation_created_idx").on(table.conversationId, table.createdAt), }), );