From 4bbc2c3e2d238204fd2d8096b795a5209a7614cf Mon Sep 17 00:00:00 2001 From: Jaeyeon Kim Date: Wed, 28 Oct 2026 19:40:03 +0000 Subject: [PATCH] fix: satisfy typing for silent model fanout --- litellm/router.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/litellm/router.py b/litellm/router.py index 3f04645a7e4..af274a4f178 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -6377,7 +6377,9 @@ class Router: ) if deployment_has_mcp and _is_silent_experiment_marker(kwargs.get("litellm_metadata")): return None - silent_model: Final[object] = deployment["litellm_params"].get("silent_model") + silent_model: Final = cast( # cast-ok: untyped deployment value is validated by _silent_experiment_targets + object, deployment["litellm_params"].get("silent_model") + ) if ( silent_model is not None and handler_name in SILENT_MODEL_MIRROR_ALLOWED_CALL_TYPES @@ -6386,7 +6388,7 @@ class Router: # Snapshot now: `_update_kwargs_with_deployment` below mutates kwargs in place, # and the task only starts running once this coroutine yields. for silent_target in _silent_experiment_targets(silent_model): - silent_kwargs: Final = self._silent_experiment_generic_kwargs(**kwargs) + silent_kwargs = self._silent_experiment_generic_kwargs(**kwargs) if silent_kwargs is not None: asyncio.create_task( self._silent_experiment_ageneric(