From d96f7fb6bc5f484f48319d061978da5e2b9ec84d Mon Sep 17 00:00:00 2001 From: akshatshahh Date: Sat, 10 Oct 2026 17:15:39 -0700 Subject: [PATCH] fix(router): satisfy type-discipline gate for session-affinity yield helper --- .../pre_call_checks/deployment_affinity_check.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/litellm/router_utils/pre_call_checks/deployment_affinity_check.py b/litellm/router_utils/pre_call_checks/deployment_affinity_check.py index dcf1d4d71e7..772bed84456 100644 --- a/litellm/router_utils/pre_call_checks/deployment_affinity_check.py +++ b/litellm/router_utils/pre_call_checks/deployment_affinity_check.py @@ -339,7 +339,9 @@ class DeploymentAffinityCheck(CustomLogger): return f"{model_id}_max_parallel_requests_client" @staticmethod - def _deployment_model_id(deployment: dict) -> str | None: + def _deployment_model_id( + deployment: dict, # mutable-ok: router deployment payloads are plain dicts by codebase convention; read-only access here + ) -> str | None: model_info: Final = deployment.get("model_info") if not isinstance(model_info, dict): return None @@ -371,9 +373,9 @@ class DeploymentAffinityCheck(CustomLogger): async def _yield_session_pin_if_saturated( self, - session_deployment: dict, - healthy_deployments: list[dict], - ) -> list[dict] | None: + session_deployment: dict, # mutable-ok: router deployment payloads are plain dicts by codebase convention; read-only access here + healthy_deployments: Sequence[dict], # mutable-ok: router deployment payloads are plain dicts by codebase convention; read-only access here + ) -> Sequence[dict] | None: # mutable-ok: router deployment payloads are plain dicts by codebase convention; read-only access here """Idle deployments when the pinned one is saturated, else None. Opt-in via session_affinity_yield_on_saturated_deployment. A turn yields