import { cn } from '../src/lib/utils'; import { User, Bot, Wrench, Loader2 } from 'lucide-react'; export interface ToolCall { id: string; title: string; status: 'running' | 'complete' | 'error'; } export interface ChatMessageData { id: string; role: 'user' | 'agent'; content: string; toolCalls?: ToolCall[]; isStreaming?: boolean; } interface ChatMessageProps { message: ChatMessageData; } export function ChatMessage({ message }: ChatMessageProps) { const isUser = message.role === 'user'; return (
{isUser ? : }
{isUser ? 'You' : 'Agent'}
{message.content} {message.isStreaming && }
{message.toolCalls && message.toolCalls.length > 0 && (
{message.toolCalls.map(tool => ( ))}
)}
); } interface ToolCallDisplayProps { toolCall: ToolCall; } function ToolCallDisplay({ toolCall }: ToolCallDisplayProps) { return (
{toolCall.status === 'running' ? ( ) : ( )} {toolCall.title} {toolCall.status}
); }