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}
); }