import { readBody } from "h3"; import { persistChatMessage, runCrmAgentFor } from "../agent/crmAgent"; import { getAuthContext } from "../utils/auth"; export default defineEventHandler(async (event) => { const body = await readBody<{ text?: string }>(event); const text = (body?.text ?? "").trim(); if (!text) { throw createError({ statusCode: 400, statusMessage: "text is required" }); } const auth = await getAuthContext(event); await persistChatMessage({ teamId: auth.teamId, conversationId: auth.conversationId, authorUserId: auth.userId, role: "USER", text, }); const reply = await runCrmAgentFor({ teamId: auth.teamId, userId: auth.userId, userText: text }); await persistChatMessage({ teamId: auth.teamId, conversationId: auth.conversationId, authorUserId: null, role: "ASSISTANT", text: reply.text, plan: reply.plan, tools: reply.tools, }); return { ok: true }; });