"use client"; import { ChatMessage } from "@/lib/types"; import React from "react"; import { formatToolCallToString } from "@/lib/format-tool-call"; import { extractTextFromContentPart } from "@/lib/format-message-content"; import { MessageBlock, ToolCallBlock, } from "@/components/ui/message-components"; interface ChatMessageItemProps { message: ChatMessage; } export function ChatMessageItem({ message }: ChatMessageItemProps) { switch (message.role) { case "system": return ( ); case "user": return ( ); case "assistant": if ( message.tool_calls && Array.isArray(message.tool_calls) && message.tool_calls.length > 0 ) { return ( <> {message.tool_calls.map((toolCall: any, index: number) => { const formattedToolCall = formatToolCallToString(toolCall); const toolCallContent = ( {formattedToolCall || "Error: Could not display tool call"} ); return ( ); })} ); } else { return ( ); } case "tool": const toolOutputContent = ( {extractTextFromContentPart(message.content)} ); return ( ); } return null; }