Non-streaming codex traffic recorded cached_tokens: 0 even when upstream prompt caching worked. The Claude-format branch (which OpenAI Responses usage also matches) never read input_tokens_details, and the OpenAI branch ignored a top-level flat cached_tokens. Read both in both branches; Responses prompts are cache-inclusive so canonicalizeUsage passes the value through without folding. 5 new regression tests.
3.1 KiB
3.1 KiB