export interface InsightsOptions { days: number; afkHome?: string | undefined; } export interface SessionAggregates { totalSessions: number; totalCostUsd: number; totalTokens: number; byDay: Record; byModel: Record; bySurface: Record; } export interface TraceAggregates { totalTracedSessions: number; toolCallCounts: Record; toolErrorCounts: Record; toolDurationsMs: Record; subagentForkDepths: Record; compactionCount: number; closureReasons: Record; totalInputTokens: number; totalOutputTokens: number; totalCacheReadTokens: number; totalCacheCreationTokens: number; totalCostUsd: number; sessionsWithCost: number; } export interface DaemonAggregates { totalRuns: number; successCount: number; errorCount: number; skipCount: number; byTaskId: Record; triggerBreakdown: Record; skipReasons: Record; recentErrors: Array<{ taskId: string; ts: number; message: string; }>; avgDurationMs: number; } export interface RoutingAggregates { totalRoutingEvents: number; skillDispatchModes: Record; skillFrequency: Record; composeCallCount: number; avgComposeNodes: number; avgComposeEdges: number; overflowKills: Record; } export interface InsightAggregates { generatedAt: number; windowDays: number; sessions: SessionAggregates; traces: TraceAggregates; daemon: DaemonAggregates; routing: RoutingAggregates; } export type RecommendationSeverity = 'high' | 'medium' | 'info'; export interface Recommendation { severity: RecommendationSeverity; title: string; body: string; metric: number; }