ml-agent / frontend /src /components /Chat /MessageBubble.tsx
akseljoonas's picture
akseljoonas HF Staff
feat: merge HF Space improvements
bdbcdab
import UserMessage from './UserMessage';
import AssistantMessage from './AssistantMessage';
import type { UIMessage } from 'ai';
interface MessageBubbleProps {
message: UIMessage;
isLastTurn?: boolean;
onUndoTurn?: () => void;
isProcessing?: boolean;
isStreaming?: boolean;
approveTools: (approvals: Array<{ tool_call_id: string; approved: boolean; feedback?: string | null }>) => Promise<boolean>;
}
export default function MessageBubble({
message,
isLastTurn = false,
onUndoTurn,
isProcessing = false,
isStreaming = false,
approveTools,
}: MessageBubbleProps) {
if (message.role === 'user') {
return (
<UserMessage
message={message}
isLastTurn={isLastTurn}
onUndoTurn={onUndoTurn}
isProcessing={isProcessing}
/>
);
}
if (message.role === 'assistant') {
return (
<AssistantMessage
message={message}
isStreaming={isStreaming}
approveTools={approveTools}
/>
);
}
return null;
}