import React from "react"; import { Markdown } from '@agentscope-ai/chat'; import { AgentScopeRuntimeContentType, AgentScopeRuntimeRunStatus, IAgentScopeRuntimeMessage } from "../types"; import Images from '../../../../DefaultCards/Images'; import Videos from '../../../../DefaultCards/Videos'; import Files from '../../../../DefaultCards/Files'; import Audios from '../../../../DefaultCards/Audios'; import { useChatAnywhereOptions } from "../../Context/ChatAnywhereOptionsContext"; const Message = React.memo(function ({ data }: { data: IAgentScopeRuntimeMessage }) { const replaceMediaURL = useChatAnywhereOptions(v => v.api?.replaceMediaURL); const onFileCardClick = useChatAnywhereOptions(v => v.api?.onFileCardClick); const formatMediaURL = React.useCallback((url?: string) => { if (!url) return url; return replaceMediaURL?.(url) || url; }, [replaceMediaURL]); if (!data.content?.length) return null; return <> { data.content.map((item, index) => { switch (item.type) { case AgentScopeRuntimeContentType.TEXT: return case AgentScopeRuntimeContentType.REFUSAL: return case AgentScopeRuntimeContentType.IMAGE: return case AgentScopeRuntimeContentType.VIDEO: return case AgentScopeRuntimeContentType.FILE: return case AgentScopeRuntimeContentType.AUDIO: return default: return
{JSON.stringify(item)}
} }) } }) export default Message;