#pragma once #include struct UsageData { float session_pct; // 5-hour window utilization (0-100) int session_reset_mins; // minutes until session resets float weekly_pct; // 7-day window utilization (0-100) int weekly_reset_mins; // minutes until weekly resets char status[16]; // "allowed" or "limited" bool ok; // data parse succeeded bool valid; // false until first successful parse // Today's Claude Code usage (Phase 4 — computed by the daemon from local // transcripts). Tokens can exceed 2^31 on a heavy day, so use 64-bit. long long tokens_today; // total tokens today (input+output+cache) long long output_today; // output tokens today (what Claude generated) int cost_cents_today; // equivalent API cost today, US cents int messages_today; // assistant requests (API turns) today // Now Playing (Phase 5 — daemon relays the Windows media session). int np_state; // 0 = nothing playing, 1 = playing, 2 = paused char np_title[64]; // current track title (UTF-8, may be empty) char np_artist[64]; // current track artist (UTF-8, may be empty) };