| | import UserMessage from './UserMessage';
|
| | import AssistantMessage from './AssistantMessage';
|
| | import type { Message } from '@/types/agent';
|
| |
|
| | interface MessageBubbleProps {
|
| | message: Message;
|
| |
|
| | isLastTurn?: boolean;
|
| |
|
| | onUndoTurn?: () => void;
|
| |
|
| | isProcessing?: boolean;
|
| |
|
| | isStreaming?: boolean;
|
| | }
|
| |
|
| | |
| | |
| | |
| |
|
| | export default function MessageBubble({
|
| | message,
|
| | isLastTurn = false,
|
| | onUndoTurn,
|
| | isProcessing = false,
|
| | isStreaming = false,
|
| | }: MessageBubbleProps) {
|
| |
|
| |
|
| | if (message.approval && !message.content && !message.segments?.length) {
|
| | return null;
|
| | }
|
| |
|
| | if (message.role === 'user') {
|
| | return (
|
| | <UserMessage
|
| | message={message}
|
| | isLastTurn={isLastTurn}
|
| | onUndoTurn={onUndoTurn}
|
| | isProcessing={isProcessing}
|
| | />
|
| | );
|
| | }
|
| |
|
| | if (message.role === 'assistant') {
|
| | return <AssistantMessage message={message} isStreaming={isStreaming} />;
|
| | }
|
| |
|
| |
|
| | return null;
|
| | }
|
| |
|