import type { TaskTokenUsage } from "@fusion/core"; import "./TaskTokenStatsPanel.css"; interface TaskTokenStatsPanelProps { tokenUsage?: TaskTokenUsage; loading: boolean; } function formatTokenCount(value: number): string { return value.toLocaleString(); } function formatTimestamp(value: string): string { const parsed = new Date(value); if (Number.isNaN(parsed.getTime())) { return value; } return parsed.toLocaleString(); } export function TaskTokenStatsPanel({ tokenUsage, loading }: TaskTokenStatsPanelProps) { if (!tokenUsage && loading) { return ( Token Usage Loading token statistics… ); } if (!tokenUsage) { return ( Token Usage No token usage recorded for this task yet. ); } return ( Token Usage Input {formatTokenCount(tokenUsage.inputTokens)} Output {formatTokenCount(tokenUsage.outputTokens)} Cached {formatTokenCount(tokenUsage.cachedTokens)} Total {formatTokenCount(tokenUsage.totalTokens)} First used {formatTimestamp(tokenUsage.firstUsedAt)} Last used {formatTimestamp(tokenUsage.lastUsedAt)} ); }