import CodeBlock from '@/components/ui/codeblock' import { MemoizedReactMarkdown } from '@/components/markdown' import remarkGfm from 'remark-gfm' import remarkMath from 'remark-math' import { cn } from '@/lib/utils' import { fontMessage } from '@/lib/fonts' import { Message } from 'ai-connector' export interface ChatMessageProps { message: Message } export function ChatMessage(props: ChatMessageProps) { return (
{props.message.role === 'user' ? (
User
) : (
)} ▍ ) } children[0] = (children[0] as string).replace('`▍`', '▍') } const match = /language-(\w+)/.exec(className || '') return !inline ? ( ) : ( {children} ) }, table({ children }) { return ( {children}
) }, th({ children }) { return ( {children} ) }, td({ children }) { return ( {children} ) } }} > {props.message.content}
) } ChatMessage.displayName = 'ChatMessage' export function IconOpenAI(props: JSX.IntrinsicElements['svg']) { return ( OpenAI icon ) }