import { Gtk } from "ags/gtk3" import { createPoll } from "ags/time" import { shell } from "../lib/utils" import { CardHeader, StatRow } from "./WidgetCard" type ClaudeUsage = { available: boolean tokens: number messages: number cacheHitPercent: number } const usage = createPoll( { available: false, tokens: 0, messages: 0, cacheHitPercent: 0 }, 60000, shell("bash $HOME/.config/ags/lib/claude-usage.sh"), (stdout) => { try { return JSON.parse(stdout.trim()) } catch { return { available: false, tokens: 0, messages: 0, cacheHitPercent: 0 } } }, ) function formatTokens(tokens: number) { if (tokens >= 1000000) return `${(tokens / 1000000).toFixed(2)}M` if (tokens >= 1000) return `${(tokens / 1000).toFixed(1)}K` return `${tokens}` } export function ClaudeUsageCard() { return ( ) }