fix: 修复缓存 token usage 转换语义

统一 OpenAI、Gemini、Claude 之间缓存 token 的 usage 语义,避免 Claude 侧重复统计缓存输入 token。

同时补充 stream 合并逻辑、字段注释和覆盖转换链路的测试。
This commit is contained in:
stabey
2026-05-27 23:49:07 +08:00
parent 14ad6e9b75
commit 739e39e1ca
9 changed files with 274 additions and 64 deletions
@@ -994,6 +994,7 @@ impl GrokClientStreamEmitter {
fn grok_canonical_usage(usage: GrokUsageEstimate) -> StreamingCanonicalUsage {
StreamingCanonicalUsage {
input_tokens: usage.input_tokens,
input_tokens_include_cache: false,
output_tokens: usage.output_tokens,
total_tokens: usage.input_tokens.saturating_add(usage.output_tokens),
cache_creation_tokens: 0,