From b7d48ecd281fb229d7c7e9e89f4da12ce5b632e3 Mon Sep 17 00:00:00 2001 From: nate-berri Date: Sat, 10 Oct 2026 12:08:25 -0700 Subject: [PATCH] refactor(types): annotate GenerateRequestBase containers and check_max_budget (#45801) Part of LIT-9423 --- litellm/proxy/_types.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index bd6b77f4873..64bb4157f4a 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -1183,40 +1183,40 @@ class GenerateRequestBase(LiteLLMPydanticObjectBase): key_alias: str | None = None duration: str | None = None - models: list | None = [] + models: list[Any] | None = [] spend: float | None = 0 max_budget: float | None = None user_id: str | None = None team_id: str | None = None agent_id: str | None = None max_parallel_requests: int | None = None - metadata: dict | None = {} + metadata: dict[Any, Any] | None = {} tpm_limit: int | None = None rpm_limit: int | None = None budget_duration: str | None = None budget_limits: list[BudgetLimitEntry] | None = None # multiple concurrent budget windows - allowed_cache_controls: list | None = [] - config: dict | None = {} - permissions: dict | None = {} - model_max_budget: dict | None = {} # {"gpt-4": 5.0, "gpt-3.5-turbo": 5.0}, defaults to {} + allowed_cache_controls: list[object] | None = [] + config: dict[object, object] | None = {} + permissions: dict[object, object] | None = {} + model_max_budget: dict[object, object] | None = {} # {"gpt-4": 5.0, "gpt-3.5-turbo": 5.0}, defaults to {} budget_fallbacks: dict[str, list[str]] | None = None model_config = ConfigDict(protected_namespaces=()) - model_rpm_limit: dict | None = None - model_tpm_limit: dict | None = None + model_rpm_limit: dict[object, object] | None = None + model_tpm_limit: dict[object, object] | None = None mcp_rpm_limit: dict[str, int] | None = None tag_rpm_limit: dict[str, int] | None = None guardrails: list[str] | None = None policies: list[str] | None = None prompts: list[str] | None = None blocked: bool | None = None - aliases: dict | None = {} + aliases: dict[object, object] | None = {} object_permission: LiteLLM_ObjectPermissionBase | None = None @field_validator("max_budget", mode="before") @classmethod - def check_max_budget(cls, v): + def check_max_budget(cls, v: object) -> object: if v == "": return None return v