diff --git a/litellm/completion_extras/litellm_responses_transformation/transformation.py b/litellm/completion_extras/litellm_responses_transformation/transformation.py index caee7358abb..b3f00d760b4 100644 --- a/litellm/completion_extras/litellm_responses_transformation/transformation.py +++ b/litellm/completion_extras/litellm_responses_transformation/transformation.py @@ -675,6 +675,7 @@ class LiteLLMResponsesTransformationHandler(CompletionTransformationBridge): output_items=recovered_output_items, text_only_items=recovered_text_only_items, ) + continue # Merge text-only items into the recovered output items. Real # OUTPUT_ITEM_DONE events take precedence at any given output_index, diff --git a/litellm/integrations/rubrik.py b/litellm/integrations/rubrik.py index da6c38b8c23..8477523a2a7 100644 --- a/litellm/integrations/rubrik.py +++ b/litellm/integrations/rubrik.py @@ -515,7 +515,9 @@ class RubrikLogger(CustomGuardrail, CustomBatchLogger): returned_tool_calls = message.get("tool_calls") or [] blocking_explanation = message.get("content", "") - allowed_ids = {tc["id"] for tc in returned_tool_calls if tc.get("id")} + allowed_ids = { + tc["id"] for tc in returned_tool_calls if tc.get("id") is not None + } allowed_count = sum(1 for tc in all_tool_calls if tc.id in allowed_ids) if allowed_count == len(all_tool_calls): diff --git a/litellm/router.py b/litellm/router.py index ba2abe83dc8..8e60e3d5907 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -7342,7 +7342,7 @@ class Router: _model_name, _deployment_mode, ) - _shared_model_info["mode"] = _existing_shared_mode + _shared_model_info["mode"] = _existing_shared_mode _backend_alias_cost = {_model_name: _shared_model_info} if "responses/" in _model_name: _stripped_model_name = _model_name.replace("responses/", "")