import React from 'react' import { cn } from '@/utils/cn' import type { MessageContent, UserInteraction, BaseEvent } from '../../types' import { MarkdownContent } from '../../task-panel/Preview/MarkdownPreview' import { UserInteractionWidget } from './user-interaction' export interface ContentMessageProps { content?: MessageContent userInteraction?: UserInteraction base?: BaseEvent isUserInput: boolean showUserFile: boolean onSendMessage?: (content: string) => void } /** * 内容消息组件 - 渲染文本内容与用户交互,对应 next-agent ContentMessage/FactCheck */ function InnerContentMessage({ content, userInteraction, isUserInput, showUserFile, onSendMessage, }: ContentMessageProps) { const text = content?.content || content?.text if (!text && !userInteraction) return null return (
{text && (
{isUserInput ? (
{text}
) : ( )}
)} {userInteraction && (
)}
) } export const ContentMessage = React.memo(InnerContentMessage) export default ContentMessage