diff --git a/app/overview-client.tsx b/app/overview-client.tsx index 4c06b30..a533f3f 100644 --- a/app/overview-client.tsx +++ b/app/overview-client.tsx @@ -138,6 +138,21 @@ export function OverviewClient() { const projects = projectsData?.projects ?? []; const projectCount = projects.length; + // Compute model usage from JSONL sessions (not stats-cache) to exclude retired models + const sessionModelUsage = useMemo(() => { + const usage: Record = + {}; + for (const s of sessions) { + if (!s.model) continue; + const existing = usage[s.model] ?? { inputTokens: 0, outputTokens: 0 }; + usage[s.model] = { + inputTokens: existing.inputTokens + (s.input_tokens ?? 0), + outputTokens: existing.outputTokens + (s.output_tokens ?? 0), + }; + } + return usage; + }, [sessions]); + const chartDays = useMemo(() => { if (!dateFrom || !dateTo) return 90; try { @@ -283,7 +298,7 @@ export function OverviewClient() { icon={} title="Model distribution" > - + diff --git a/components/overview/model-breakdown-donut.tsx b/components/overview/model-breakdown-donut.tsx index 671928c..fb03f5a 100644 --- a/components/overview/model-breakdown-donut.tsx +++ b/components/overview/model-breakdown-donut.tsx @@ -8,11 +8,10 @@ import { ResponsiveContainer, Legend, } from "recharts"; -import type { ModelUsage } from "@/types/claude"; import { formatTokens } from "@/lib/decode"; interface Props { - modelUsage: Record; + modelUsage: Record; } const MODEL_COLORS = [