Team/user CRMFS export + scoped chat
This commit is contained in:
33
Frontend/server/api/chat.post.ts
Normal file
33
Frontend/server/api/chat.post.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
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 };
|
||||
});
|
||||
Reference in New Issue
Block a user