From 478f9b0072b9bbb6fc2841462457fa56fe122b4a Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Sat, 22 Nov 2025 15:51:41 -0800 Subject: [PATCH] fix: fix ruff checks --- .../transformation.py | 119 +++++++++++------- 1 file changed, 77 insertions(+), 42 deletions(-) diff --git a/litellm/completion_extras/litellm_responses_transformation/transformation.py b/litellm/completion_extras/litellm_responses_transformation/transformation.py index bc162153938..e37be860b52 100644 --- a/litellm/completion_extras/litellm_responses_transformation/transformation.py +++ b/litellm/completion_extras/litellm_responses_transformation/transformation.py @@ -32,12 +32,7 @@ from litellm.types.llms.openai import ( ResponsesAPIOptionalRequestParams, ResponsesAPIStreamEvents, ) -from litellm.types.utils import ( - Delta, - GenericStreamingChunk, - ModelResponseStream, - StreamingChoices, -) +from litellm.types.utils import GenericStreamingChunk, ModelResponseStream if TYPE_CHECKING: from openai.types.responses import ResponseInputImageParam @@ -102,9 +97,15 @@ class LiteLLMResponsesTransformationHandler(CompletionTransformationBridge): if item_type == "function_call": # Extract provider_specific_fields if present and pass through as-is provider_specific_fields = item.get("provider_specific_fields") - if provider_specific_fields and not isinstance(provider_specific_fields, dict): - provider_specific_fields = dict(provider_specific_fields) if hasattr(provider_specific_fields, "__dict__") else {} - + if provider_specific_fields and not isinstance( + provider_specific_fields, dict + ): + provider_specific_fields = ( + dict(provider_specific_fields) + if hasattr(provider_specific_fields, "__dict__") + else {} + ) + tool_call_dict = { "id": item.get("call_id") or item.get("id", ""), "function": { @@ -113,13 +114,15 @@ class LiteLLMResponsesTransformationHandler(CompletionTransformationBridge): }, "type": "function", } - + # Pass through provider_specific_fields as-is if present if provider_specific_fields: tool_call_dict["provider_specific_fields"] = provider_specific_fields # Also add to function's provider_specific_fields for consistency - tool_call_dict["function"]["provider_specific_fields"] = provider_specific_fields - + tool_call_dict["function"][ + "provider_specific_fields" + ] = provider_specific_fields + msg = Message( content=None, tool_calls=[tool_call_dict], @@ -356,33 +359,49 @@ class LiteLLMResponsesTransformationHandler(CompletionTransformationBridge): index += 1 elif isinstance(item, ResponseFunctionToolCall): - provider_specific_fields = None - if hasattr(item, "provider_specific_fields") and item.provider_specific_fields: - provider_specific_fields = item.provider_specific_fields - if not isinstance(provider_specific_fields, dict): - provider_specific_fields = dict(provider_specific_fields) if hasattr(provider_specific_fields, "__dict__") else {} - elif hasattr(item, "get") and callable(item.get): - provider_fields = item.get("provider_specific_fields") + provider_specific_fields = getattr( + item, "provider_specific_fields", None + ) + if provider_specific_fields and not isinstance( + provider_specific_fields, dict + ): + provider_specific_fields = ( + dict(provider_specific_fields) + if hasattr(provider_specific_fields, "__dict__") + else {} + ) + elif hasattr(item, "get") and callable(item.get): # type: ignore + provider_fields = item.get("provider_specific_fields") # type: ignore if provider_fields: - provider_specific_fields = provider_fields if isinstance(provider_fields, dict) else (dict(provider_fields) if hasattr(provider_fields, "__dict__") else {}) - + provider_specific_fields = ( + provider_fields + if isinstance(provider_fields, dict) + else ( + dict(provider_fields) # type: ignore + if hasattr(provider_fields, "__dict__") + else {} + ) + ) + function_dict: Dict[str, Any] = { "name": item.name, "arguments": item.arguments, } - + if provider_specific_fields: function_dict["provider_specific_fields"] = provider_specific_fields - + tool_call_dict: Dict[str, Any] = { "id": item.call_id, "function": function_dict, "type": "function", } - + if provider_specific_fields: - tool_call_dict["provider_specific_fields"] = provider_specific_fields - + tool_call_dict["provider_specific_fields"] = ( + provider_specific_fields + ) + msg = Message( content=None, tool_calls=[tool_call_dict], @@ -726,28 +745,36 @@ class OpenAiResponsesToChatCompletionStreamIterator(BaseModelResponseIterator): if output_item.get("type") == "function_call": # Extract provider_specific_fields if present provider_specific_fields = output_item.get("provider_specific_fields") - if provider_specific_fields and not isinstance(provider_specific_fields, dict): - provider_specific_fields = dict(provider_specific_fields) if hasattr(provider_specific_fields, "__dict__") else {} - + if provider_specific_fields and not isinstance( + provider_specific_fields, dict + ): + provider_specific_fields = ( + dict(provider_specific_fields) + if hasattr(provider_specific_fields, "__dict__") + else {} + ) + function_chunk = ChatCompletionToolCallFunctionChunk( name=output_item.get("name", None), arguments=parsed_chunk.get("arguments", ""), ) - + if provider_specific_fields: - function_chunk["provider_specific_fields"] = provider_specific_fields - + function_chunk["provider_specific_fields"] = ( + provider_specific_fields + ) + tool_call_chunk = ChatCompletionToolCallChunk( id=output_item.get("call_id"), index=0, type="function", function=function_chunk, ) - + # Add provider_specific_fields if present if provider_specific_fields: tool_call_chunk.provider_specific_fields = provider_specific_fields # type: ignore - + return GenericStreamingChunk( text="", tool_use=tool_call_chunk, @@ -782,29 +809,37 @@ class OpenAiResponsesToChatCompletionStreamIterator(BaseModelResponseIterator): if output_item.get("type") == "function_call": # Extract provider_specific_fields if present provider_specific_fields = output_item.get("provider_specific_fields") - if provider_specific_fields and not isinstance(provider_specific_fields, dict): - provider_specific_fields = dict(provider_specific_fields) if hasattr(provider_specific_fields, "__dict__") else {} - + if provider_specific_fields and not isinstance( + provider_specific_fields, dict + ): + provider_specific_fields = ( + dict(provider_specific_fields) + if hasattr(provider_specific_fields, "__dict__") + else {} + ) + function_chunk = ChatCompletionToolCallFunctionChunk( name=output_item.get("name", None), arguments="", # responses API sends everything again, we don't ) - + # Add provider_specific_fields to function if present if provider_specific_fields: - function_chunk["provider_specific_fields"] = provider_specific_fields - + function_chunk["provider_specific_fields"] = ( + provider_specific_fields + ) + tool_call_chunk = ChatCompletionToolCallChunk( id=output_item.get("call_id"), index=0, type="function", function=function_chunk, ) - + # Add provider_specific_fields if present if provider_specific_fields: tool_call_chunk.provider_specific_fields = provider_specific_fields # type: ignore - + return GenericStreamingChunk( text="", tool_use=tool_call_chunk,