import type { ChatMessage } from '../../types/bot'; import { normalizeAttachmentPaths } from './shared/botDashboardWorkspace'; export * from './shared/botDashboardTypes'; export * from './shared/botDashboardConstants'; export * from './shared/botDashboardWorkspace'; export * from './shared/botDashboardUtils'; export * from './shared/botDashboardConversation'; export * from './shared/botDashboardTopicUtils'; export function mapBotMessageResponseRow(row: any): ChatMessage { const roleRaw = String(row?.role || '').toLowerCase(); const role: ChatMessage['role'] = roleRaw === 'user' || roleRaw === 'assistant' || roleRaw === 'system' ? roleRaw : 'assistant'; const feedbackRaw = String(row?.feedback || '').trim().toLowerCase(); const feedback: ChatMessage['feedback'] = feedbackRaw === 'up' || feedbackRaw === 'down' ? feedbackRaw : null; return { id: Number.isFinite(Number(row?.id)) ? Number(row.id) : undefined, role, text: String(row?.text || ''), attachments: normalizeAttachmentPaths(row?.media), ts: Number(row?.ts || Date.now()), feedback, kind: 'final', } as ChatMessage; }