import { CheckCircle2, XCircle, Clock, Loader2, Circle } from "lucide-react"; import { cn } from "@/lib/utils"; import type { AgentExecutionStatus } from "@/types/execution"; const config: Record< AgentExecutionStatus, { icon: typeof Circle; color: string; label: string } > = { idle: { icon: Circle, color: "text-muted-foreground", label: "Idle" }, pending: { icon: Clock, color: "text-yellow-500", label: "Pending" }, running: { icon: Loader2, color: "text-blue-500", label: "Running" }, completed: { icon: CheckCircle2, color: "text-green-500", label: "Completed" }, error: { icon: XCircle, color: "text-red-500", label: "Error" }, }; interface AgentStatusBadgeProps { status: AgentExecutionStatus; agentName?: string; className?: string; } export function AgentStatusBadge({ status, agentName, className }: AgentStatusBadgeProps) { const { icon: Icon, color, label } = config[status]; return ( {agentName && {agentName}} {label} ); }