From 565d8bf74b25f5ab1c7c9b75b9b3e52d1858a121 Mon Sep 17 00:00:00 2001 From: Id545 Date: Thu, 29 Oct 2026 04:11:02 +0100 Subject: [PATCH] refactor(responses): keep responses() within the complexity ceiling Merging main left responses() one branch over the C901 ceiling. The tool search dispatch now runs in the else arm of the file search one, so a single check returns either emulation and the order is unchanged --- litellm/responses/main.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/litellm/responses/main.py b/litellm/responses/main.py index 1721d61c9c8..4bf1f5baf45 100644 --- a/litellm/responses/main.py +++ b/litellm/responses/main.py @@ -1817,22 +1817,23 @@ def responses( reentry_kwargs=reentry_kwargs, _is_async=_is_async, ) - if _file_search_dispatch is not None: - return _file_search_dispatch - - _tool_search_dispatch: Final = _responses_try_dispatch_lowered_tool_search( - tools=tools, - input=input, - model=model, - tool_choice=tool_choice, - responses_api_provider_config=responses_api_provider_config, - use_chat_completions_api=use_chat_completions_api, - model_info=deployment_model_info, - reentry_kwargs=reentry_kwargs, - _is_async=_is_async, + _emulated_dispatch: Final = ( + _file_search_dispatch + if _file_search_dispatch is not None + else _responses_try_dispatch_lowered_tool_search( + tools=tools, + input=input, + model=model, + tool_choice=tool_choice, + responses_api_provider_config=responses_api_provider_config, + use_chat_completions_api=use_chat_completions_api, + model_info=deployment_model_info, + reentry_kwargs=reentry_kwargs, + _is_async=_is_async, + ) ) - if _tool_search_dispatch is not None: - return _tool_search_dispatch + if _emulated_dispatch is not None: + return _emulated_dispatch if _bridges_to_chat_completions(responses_api_provider_config, use_chat_completions_api): bridge_kwargs: Final = _bridge_kwargs(kwargs, responses_api_provider_config, allowed_openai_params)