From 3efd803cd10d7a32a912e8d534da09ae760245dc Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 22 May 2026 21:34:14 +0000 Subject: [PATCH] fix(gemini realtime): default conversation_id before tool-call response.done mypy flagged that response.done's conversation_id (str on the TypedDict) could be None when current_response_id was already set on entry. Ensure the fallback runs unconditionally before the response is constructed. --- litellm/llms/gemini/realtime/transformation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/litellm/llms/gemini/realtime/transformation.py b/litellm/llms/gemini/realtime/transformation.py index 29c7df8f289..44adc7a54bf 100644 --- a/litellm/llms/gemini/realtime/transformation.py +++ b/litellm/llms/gemini/realtime/transformation.py @@ -1241,13 +1241,13 @@ class GeminiRealtimeConfig(BaseRealtimeConfig): if not value.get("functionCalls"): continue + if current_conversation_id is None: + current_conversation_id = f"conv_{uuid.uuid4()}" + # Emit response.created preamble if this is the first event in the response if current_response_id is None: current_response_id = f"resp_{uuid.uuid4()}" current_output_item_id = f"item_{uuid.uuid4()}" - current_conversation_id = ( - current_conversation_id or f"conv_{uuid.uuid4()}" - ) # Emit response.created returned_message.append(