#16021 [Bug]: OpenRouter cost information lost in streaming responses
## Description
When using LiteLLM proxy with OpenRouter in streaming mode, the cost information returned by OpenRouter in the usage.cost field is not preserved in the final response. This works correctly in non-streaming mode.
## Reproduction
1. Configure LiteLLM proxy with OpenRouter 2. Make a streaming chat completion request: from openai import OpenAI
client = OpenAI(base_url="http://litellm-proxy-url", api_key="...") stream = client.chat.completions.create( model="openrouter/x-ai/grok-4-fast", messages=[{"role": "user", "content": "test"}], stream=True )
for chunk in stream: if chunk.usage: print(chunk.usage) # cost field is missing
## Expected Behavior
The final streaming chunk should include the cost in the usage object, similar to non-streaming responses: usage.cost = 0.00123 # actual cost from OpenRouter
## Actual Behavior
The cost field is missing from the usage object in streaming responses, even though OpenRouter returns it.
Example of last chunk received (from logs): usage=CompletionUsage( completion_tokens=255, prompt_tokens=63, total_tokens=318, # cost field is missing here, but present in OpenRouter's response )
##…