Skip to content

Fix missing context usage for OpenAI/OpenRouter providers#406

Merged
Mng-dev-ai merged 2 commits intomainfrom
fix/context-usage-bridge-providers
Mar 15, 2026
Merged

Fix missing context usage for OpenAI/OpenRouter providers#406
Mng-dev-ai merged 2 commits intomainfrom
fix/context-usage-bridge-providers

Conversation

@Mng-dev-ai
Copy link
Owner

Summary

  • When using OpenAI or OpenRouter providers via the anthropic bridge, no context usage is displayed after streams end
  • Root cause: the bridge emits message_start with placeholder zero usage, so StreamProcessor.usage gets set to a zero-filled dict. When ResultMessage arrives with real usage, the fallback (self.usage is None) never triggers
  • Fix: also accept ResultMessage.usage when existing input token fields sum to zero, allowing bridge providers that only report real usage at stream end to populate context usage correctly

Test plan

  • Test with OpenRouter provider — verify context usage bar appears after stream ends
  • Test with OpenAI provider — verify context usage bar appears after stream ends
  • Test with Anthropic provider — verify no regression (AssistantMessage usage still takes precedence)

The anthropic_bridge emits placeholder zeros in message_start usage,
causing StreamProcessor to set self.usage to a zero-filled dict. When
ResultMessage arrives with real usage data, the existing fallback
(self.usage is None) never triggers because self.usage is already set.

Relax the condition to also accept ResultMessage usage when existing
input token fields sum to zero, so bridge providers that only report
real usage at stream end are handled correctly.
@Mng-dev-ai Mng-dev-ai merged commit 835c361 into main Mar 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant