[0.11.0] - 2026-04-25
Added
computePlanUsage(plan, turns, { pricing, now })(#39) — aggregates spend over a plan's current cycle and returns aPlanUsage:spentUsd,daysElapsed,daysInCycle,projectedEndOfCycleUsd(linear extrapolation from observed rate),overBudget,runwayDays(days of budget left at the current daily rate, only populated when the projection exceeds budget),resetAt, andlimitedData(true when fewer than 7 days have elapsed in the cycle, so renderers can mark projections as low-confidence per the issue's acceptance). Provider-aware filtering:claudeplans countclaude-code+anthropic-apiturns,cursorplans countcursorturns (no reader emits these yet — see SourceKind),customplans count every turn.cycleBounds(resetDay, now)— exposed for callers that need the cycle window without a fullPlanUsage. UTC-anchored, clampsresetDay > 28to the actual last-day-of-month so February withresetDay: 31resolves to Feb 28/29, handles year-boundary crossings, and never returns a zero-length cycle.