import React from 'react'
import { Bot, User } from 'lucide-react'
import EvalCard from './EvalCard.jsx'
export default function ChatMessage({ message }) {
const { role, content, evaluation, retryResult, retryPerformed, scoreImprovement } = message
if (role === 'user') {
return (
)
}
if (role === 'typing') {
return (
)
}
return (
{/* Response bubble */}
{/* Evaluation card */}
{evaluation && (
)}
{/* Retry result */}
{retryPerformed && retryResult && (
↻ Auto-Retry with Optimized Prompt
{/* Improved response */}
{retryResult.response && (
Optimized Response
{retryResult.prompt_version || 'optimized'} prompt
{retryResult.response}
)}
{/* Score improvement badge */}
{scoreImprovement !== undefined && scoreImprovement !== null && (
0 ? 'bg-success-50 text-success-700 border border-success-500/20' : 'bg-slate-100 text-slate-600'
}`}>
{scoreImprovement > 0 ? '↑' : '→'} Score {scoreImprovement > 0 ? '+' : ''}{Math.round(scoreImprovement * 100)}%
)}
)}
)
}