From 46f6e8b791f8d93244c2d24dcc929b7d55d3203b Mon Sep 17 00:00:00 2001 From: Oleksiy Syvokon Date: Wed, 14 May 2025 15:43:17 +0300 Subject: [PATCH] agent: Fix tool use in Gemini (#30689) Thread doesn't run pending tools when `stop_reason` is not `ToolUse`. Perhaps we should change that so that it always runs pending tools if there are some, but for now this change just fixes setting `stop_reason` for Google models. Release Notes: - N/A --- crates/language_models/src/provider/google.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/language_models/src/provider/google.rs b/crates/language_models/src/provider/google.rs index b4753a763661ecd8eccf75fc5702cce6370571ac..c6631c52c815b241b09090eadd878f70aef0bfab 100644 --- a/crates/language_models/src/provider/google.rs +++ b/crates/language_models/src/provider/google.rs @@ -599,6 +599,7 @@ impl GoogleEventMapper { // responds with `finish_reason: STOP` if wants_to_use_tool { self.stop_reason = StopReason::ToolUse; + events.push(Ok(LanguageModelCompletionEvent::Stop(StopReason::ToolUse))); } events }