import { eq } from "drizzle-orm"; import { db } from "@/lib/db"; import { DEFAULT_ASSISTANT_NAME } from "@/lib/assistant-config"; import { users } from "@/modules/_core/schema"; export { DEFAULT_ASSISTANT_NAME, MAX_ASSISTANT_NAME_LENGTH, MAX_ASSISTANT_SYSTEM_PROMPT_LENGTH, resolveAssistantSystemPrompt, } from "@/lib/assistant-config"; export type AssistantPreferences = { enabled: boolean; name: string; systemPrompt: string | null; model: string | null; }; export async function getAssistantPreferences(userId: string): Promise { const [row] = await db .select({ assistantEnabled: users.assistantEnabled, assistantName: users.assistantName, assistantSystemPrompt: users.assistantSystemPrompt, assistantModel: users.assistantModel, }) .from(users) .where(eq(users.id, userId)) .limit(1); return { enabled: row?.assistantEnabled ?? false, name: row?.assistantName?.trim() || DEFAULT_ASSISTANT_NAME, systemPrompt: row?.assistantSystemPrompt ?? null, model: row?.assistantModel?.trim() || null, }; } export async function getAssistantEnabled(userId: string): Promise { const prefs = await getAssistantPreferences(userId); return prefs.enabled; }