import { Box, Text } from "ink"; import type { SessionStatsSnapshot } from "../../agent/stats"; interface SessionStatsProps { stats: SessionStatsSnapshot; agentId?: string; } function formatDuration(ms: number): string { if (ms < 1000) { return `${Math.round(ms)}ms`; } return `${(ms / 1000).toFixed(1)}s`; } function formatNumber(n: number): string { return n.toLocaleString(); } export function SessionStats({ stats, agentId }: SessionStatsProps) { const wallDuration = formatDuration(stats.totalWallMs); const apiDuration = formatDuration(stats.totalApiMs); return ( Total duration (API): {apiDuration} Total duration (wall): {wallDuration} Usage: {stats.usage.stepCount} steps,{" "} {formatNumber(stats.usage.promptTokens)} input,{" "} {formatNumber(stats.usage.completionTokens)} output {agentId && Agent ID: {agentId}} ); }