packages/chat-next-api/src/server.ts
import { recordOpenAICostFromUsage } from './costMetrics'; import { CHAT_DEBUG_LEVEL, getChatDebugLogs, logChatDebug, resetChatDebugLogs, runWithChatLogContext, type ChatDebugLogEntry, } from './debugLogBuffer';
export type ChatServerLogger = (event: string, payload: Record<string, unknown>) => void;
export function createChatServerLogger(onEvent?: ChatServerLogger): ChatServerLogger { return (event, payload) => { logChatDebug(event, payload); if (event === 'chat.pipeline.tokens') { void recordOpenAICostFromUsage(payload); } onEvent?.(event, payload); }; }
export { logChatDebug, getChatDebugLogs, resetChatDebugLogs, runWithChatLogContext, CHAT_DEBUG_LEVEL, type ChatDebugLogEntry, };
