buildUsage() only emits cache reads under prompt_tokens_details, so the top-level-only read dropped the count for every Responses-format provider (codex, grok-cli, ...), persisting cached_tokens: 0 and billing cache hits at the full input rate. Mirror the cache_creation fallback already used just above.
16 KiB
16 KiB