From 0133d11eb204ca36f33bcfb2b7209803815f09e0 Mon Sep 17 00:00:00 2001 From: Julio Quinteros Date: Thu, 5 Mar 2026 06:38:38 -0300 Subject: [PATCH] fix: replace assert with RuntimeError and fix return type annotation - a2a_protocol/main.py: replace bare assert with descriptive RuntimeError in _execute_a2a_send_with_retry so retry exhaustion gives a clear message - fine_tuning/main.py: fix _resolve_fine_tuning_timeout return type from float to Union[float, httpx.Timeout] to accurately reflect the passthrough path Co-Authored-By: Claude Sonnet 4.6 --- litellm/a2a_protocol/main.py | 5 ++++- litellm/fine_tuning/main.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/litellm/a2a_protocol/main.py b/litellm/a2a_protocol/main.py index 1ff2d93f83..8ee433516b 100644 --- a/litellm/a2a_protocol/main.py +++ b/litellm/a2a_protocol/main.py @@ -198,7 +198,10 @@ async def _execute_a2a_send_with_retry( continue except Exception: raise - assert a2a_response is not None + if a2a_response is None: + raise RuntimeError( + "A2A send_message failed: no response received after retry attempts." + ) return a2a_response diff --git a/litellm/fine_tuning/main.py b/litellm/fine_tuning/main.py index 9b69a7a5bb..9743d9028c 100644 --- a/litellm/fine_tuning/main.py +++ b/litellm/fine_tuning/main.py @@ -129,13 +129,13 @@ async def acreate_fine_tuning_job( def _resolve_fine_tuning_timeout( timeout: Any, custom_llm_provider: str, -) -> float: +) -> Union[float, httpx.Timeout]: """Normalise a raw timeout value to a float (seconds) for fine-tuning calls.""" timeout = timeout or 600.0 if isinstance(timeout, httpx.Timeout): if not supports_httpx_timeout(custom_llm_provider): return float(timeout.read or 600) - return timeout # type: ignore[return-value] + return timeout return float(timeout)