import type { ParallelAgentState } from '@/lib/types'; interface ParallelBlockViewProps { agents: ParallelAgentState[]; stepName: string; } function StatusIcon({ status }: { status: string }): React.ReactElement { switch (status) { case 'completed': return ✓; case 'running': return ( ); case 'failed': return ✗; default: return ○; } } function formatDuration(ms: number): string { if (ms < 1000) return `${String(ms)}ms`; if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`; return `${(ms / 60000).toFixed(1)}m`; } function overallStatus(agents: ParallelAgentState[]): string { if (agents.some(a => a.status === 'failed')) return 'failed'; if (agents.some(a => a.status === 'running')) return 'running'; if (agents.every(a => a.status === 'completed')) return 'completed'; return 'pending'; } export function ParallelBlockView({ agents, stepName, }: ParallelBlockViewProps): React.ReactElement { const status = overallStatus(agents); const completed = agents.filter(a => a.status === 'completed').length; return (