From edd4c6d60cd5fa3637c6cabd6e97bd76963ba4cd Mon Sep 17 00:00:00 2001 From: kojinseok-del Date: Wed, 15 Apr 2026 23:09:37 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=8E=20fix:=20Handle=20`usage=5Fmetadat?= =?UTF-8?q?a`=20in=20Title=20Transaction=20for=20Gemini=20Models=20(#12386?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: handle `usage_metadata` in title transaction for Gemini models Gemini models return token usage via `usage_metadata` instead of `usage` or `tokenUsage`. The `collectedUsage` mapping in `titleConvo` only handled the latter two, causing title generation transactions to be silently skipped for Gemini. Adds an `else if (item.usage_metadata)` branch to extract `input_tokens`/`output_tokens`. Co-Authored-By: Claude Opus 4.6 (1M context) * fix: remove trailing whitespace in usage_metadata handler Co-Authored-By: Claude Opus 4.6 (1M context) --------- Co-authored-by: Claude Opus 4.6 (1M context) --- api/server/controllers/agents/client.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/server/controllers/agents/client.js b/api/server/controllers/agents/client.js index 3c1f91bd60..5f8aebb56d 100644 --- a/api/server/controllers/agents/client.js +++ b/api/server/controllers/agents/client.js @@ -1120,6 +1120,9 @@ class AgentClient extends BaseClient { } else if (item.tokenUsage) { input_tokens = item.tokenUsage.promptTokens; output_tokens = item.tokenUsage.completionTokens; + } else if (item.usage_metadata) { + input_tokens = item.usage_metadata.input_tokens; + output_tokens = item.usage_metadata.output_tokens; } return {