From c1647f6f5998894984b4b59a50a145be9f5f819b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 22 May 2026 14:19:59 +0000 Subject: [PATCH] fix(gemini realtime): pop tool_call_id mapping after use to bound memory Co-authored-by: Yassin Kortam --- litellm/llms/gemini/realtime/transformation.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/litellm/llms/gemini/realtime/transformation.py b/litellm/llms/gemini/realtime/transformation.py index 5e92be9cb8e..a987f18a0c7 100644 --- a/litellm/llms/gemini/realtime/transformation.py +++ b/litellm/llms/gemini/realtime/transformation.py @@ -345,8 +345,9 @@ class GeminiRealtimeConfig(BaseRealtimeConfig): except json.JSONDecodeError: output_dict = {"result": output} - # Look up the function name from stored mapping - function_name = self._tool_call_id_to_name.get(call_id) + # Look up the function name from stored mapping and remove the + # entry to prevent unbounded growth in long-running sessions. + function_name = self._tool_call_id_to_name.pop(call_id, None) if not function_name: verbose_logger.warning( f"Gemini Realtime: Function name not found for call_id={call_id}. "