85e122cece
The Kimi Code usages endpoint returns resetTime on each limit's detail object, while window carries only duration/timeUnit. buildWindow() only reads window fields, so the 5h row parsed to a window with durationMs but no resetsAt — and omp usage renders "resets in …" only when window.resetsAt is set. The Total quota row worked because toUsageLimit falls back to row.resetsAt when no window exists, but the row.window ?? short-circuit bypassed that fallback for the 5h row. Carry the row-level reset onto the window when the window itself has none; an explicit window resetTime still wins.