@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
41 lines (31 loc) • 1.05 kB
text/typescript
import { TraceEventType } from '@/const/trace';
import { TraceClient } from '@/libs/traces';
import { TraceEventBasePayload, TraceEventPayloads } from '@/types/trace';
export const runtime = 'edge';
export const POST = async (req: Request) => {
type RequestData = TraceEventPayloads & TraceEventBasePayload;
const data = (await req.json()) as RequestData;
const { traceId, eventType } = data;
const traceClient = new TraceClient();
const eventClient = traceClient.createEvent(traceId);
switch (eventType) {
case TraceEventType.ModifyMessage: {
eventClient?.modifyMessage(data);
break;
}
case TraceEventType.DeleteAndRegenerateMessage: {
eventClient?.deleteAndRegenerateMessage(data);
break;
}
case TraceEventType.RegenerateMessage: {
eventClient?.regenerateMessage(data);
break;
}
case TraceEventType.CopyMessage: {
eventClient?.copyMessage(data);
break;
}
}
await traceClient.shutdownAsync();
return new Response(undefined, { status: 201 });
};