import type { StudioRun } from '../protocol/studio-agent-types' import { formatStudioTime, studioPanelClass, studioStatusBadge, truncateStudioText } from '../theme' interface StudioEventStatusBarProps { sessionTitle?: string snapshotStatus: string eventStatus: string lastEventType?: string | null lastEventAt?: number | null eventError?: string | null latestRun?: StudioRun | null latestAssistantText?: string latestQuestion?: { question: string details?: string } | null } export function StudioEventStatusBar({ sessionTitle, snapshotStatus, eventStatus, lastEventType, lastEventAt, eventError, latestRun, latestAssistantText, latestQuestion, }: StudioEventStatusBarProps) { return (
Studio Session {sessionTitle ?? 'Initializing'} snapshot {snapshotStatus} events {eventStatus} {latestRun && ( run {latestRun.status} )}
Latest Event
{lastEventType ?? 'Waiting for stream'}
{formatStudioTime(lastEventAt)}
Assistant Stream
{latestAssistantText ? truncateStudioText(latestAssistantText) : 'No live text yet'}
Pending Question
{latestQuestion?.question ?? 'None'}
{latestQuestion?.details &&
{truncateStudioText(latestQuestion.details, 90)}
}
{eventError &&
{eventError}
}
) }