#31714 [Bug]: Fireworks cache-read tokens are not charged at cache-read rate
### What happened? Fireworks chat responses can include `usage.prompt_tokens_details.cached_tokens`, while model info can include `cache_read_input_token_cost`. The Fireworks cost calculator currently uses provider-specific prompt/output multiplication and does not apply the cache-read token price. Cached prompt tokens should be charged at `cache_read_input_token_cost`, with only uncached prompt tokens charged at `input_cost_per_token`
A representative usage has `prompt_tokens=27147`, `cached_tokens=27146`, `completion_tokens=351`, `input_cost_per_token=0.0000014`, `cache_read_input_token_cost=0.00000026`, and `output_cost_per_token=0.0000044`. Expected total cost is `0.00860376`
### Steps to Reproduce Register a Fireworks model with input, output, and cache-read token pricing. Build a `ModelResponse` whose usage has `prompt_tokens_details.cached_tokens`. Call `completion_cost(..., custom_llm_provider="fireworks_ai")` and compare the result with `uncached_prompt_tokens * input_cost_per_token + cached_tokens * cache_read_input_token_cost + completion_tokens * output_cost_per_token`
### Relevant log output `prompt_tokens_details.cached_tokens` is present in usage, and `cache_read_…