import ReactMarkdown from "react-markdown" import remarkGfm from "remark-gfm" export type Message = { id: string | number role: "user" | "assistant" content: string createdAt?: Date } export function MessageBubble({ message }: { message: Message }) { const isUser = message.role === "user" if (isUser) { return (

{message.content}

) } // Assistant message with Markdown rendering return (
(

), h2: ({ ...props }) => (

), h3: ({ ...props }) => (

), p: ({ ...props }) => (

), ul: ({ ...props }) => (

    ), ol: ({ ...props }) => (
      ), li: ({ ...props }) => (
    1. ), code: ({ className, children, ...props }: any) => { const isInline = !className return isInline ? ( {children} ) : ( {children} ) }, pre: ({ ...props }) =>
      ,
                  blockquote: ({ ...props }) => (
                    
      ), a: ({ ...props }) => ( ), strong: ({ ...props }) => ( ), }} > {message.content}

) } export function TypingIndicator() { return (
) } export function StreamingMessage({ content }: { content: string }) { return (
) }