From 9a977be141c757b5b6c941284979c6b30f91ba41 Mon Sep 17 00:00:00 2001 From: jesus Date: Fri, 18 Sep 2026 21:54:33 +0000 Subject: [PATCH] refactor(proxy): narrow user budget limits without a cast Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/proxy/management_endpoints/internal_user_endpoints.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/management_endpoints/internal_user_endpoints.py b/litellm/proxy/management_endpoints/internal_user_endpoints.py index dbbecacba37..d228ef0a93d 100644 --- a/litellm/proxy/management_endpoints/internal_user_endpoints.py +++ b/litellm/proxy/management_endpoints/internal_user_endpoints.py @@ -1264,7 +1264,7 @@ def _process_keys_for_user_info( def _prepare_user_budget_limits(value: object) -> str: from litellm.proxy.common_utils.timezone_utils import get_budget_reset_time - if not value: + if not isinstance(value, list) or not value: return json.dumps(None) initialized_windows: Final = tuple( { # mutable-ok: prisma stores a dict row per budget window @@ -1273,7 +1273,7 @@ def _prepare_user_budget_limits(value: object) -> str: } for w in ( window if isinstance(window, dict) else window.model_dump() # pyright: ignore[reportAttributeAccessIssue] # BudgetLimitEntry or its JSON dict - for window in cast(Sequence[object], value) + for window in value ) ) return json.dumps(initialized_windows)