/** * render.ts — Renderizado del trace tree en terminal (Phase 2 visual upgrade) * * Mejoras sobre Phase 1: * - Agrupa tool calls por bloque de respuesta (entre Stop events) * - Detecta modo por bloque: Claude directo / Con agentes / Con skills * - Barra visual de contexto (cuánto % del contexto está en uso) * - Barra visual de eficiencia * - Tokens en formato legible (K / M) * - Badge de loop por línea de tool repetido * - Coste y stats por bloque individual */ export interface TraceEvent { type: string; tool_name?: string; tool_input?: string; ts: number; duration_ms?: number; session_id?: string; cwd?: string; } export interface LoopAlert { toolName: string; count: number; ts: number; } export interface CostInfo { cost_usd: number; input_tokens: number; output_tokens: number; cache_read: number; cache_creation: number; efficiency_score: number; loops: LoopAlert[]; summary?: string; context_used?: number; context_window?: number; } export interface WeeklyStats { totalTokens: number; byDay: { date: string; tokens: number; }[]; lastUpdated: string | null; } export interface RenderState { sessionId: string; cwd: string; startedAt: number; events: TraceEvent[]; cost?: CostInfo; weekly?: WeeklyStats; cyclePct?: number; } export declare function renderTrace(state: RenderState): string;