export interface DetailBreakdownItem { name: string; calls: number; total_tokens: number; quota: number; } export type DetailBreakdownSortKey = "calls" | "total_tokens" | "quota"; export function sortDetailBreakdown( items: DetailBreakdownItem[], sortKey: DetailBreakdownSortKey, sortAsc: boolean ): DetailBreakdownItem[] { return [...items].sort((a, b) => { const diff = a[sortKey] - b[sortKey]; if (diff !== 0) return sortAsc ? diff : -diff; return a.name.localeCompare(b.name); }); }