mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-11 08:38:24 +00:00
fix(types): use frozenset for valid_keys and allowed_set to avoid mutable type discipline breach
This commit is contained in:
parent
d73e18f330
commit
e978c82ecb
1 changed files with 6 additions and 6 deletions
|
|
@ -334,19 +334,19 @@ class ResponsesAPIRequestUtils:
|
|||
"""
|
||||
from litellm.utils import PreProcessNonDefaultParams
|
||||
|
||||
valid_keys: Final[set[str]] = set(get_type_hints(ResponsesAPIOptionalRequestParams).keys())
|
||||
valid_keys: Final[frozenset[str]] = frozenset(get_type_hints(ResponsesAPIOptionalRequestParams).keys())
|
||||
custom_llm_provider: Final = params.pop("custom_llm_provider", None)
|
||||
special_params: Final[dict[str, object]] = params.pop("kwargs", {})
|
||||
|
||||
allowed_openai_params: Final[object] = params.get("allowed_openai_params") or special_params.get(
|
||||
"allowed_openai_params"
|
||||
)
|
||||
allowed_set: Final[set[str]] = ( # mutable-ok: set accumulator
|
||||
{str(p) for p in allowed_openai_params if isinstance(p, str)}
|
||||
if isinstance(allowed_openai_params, (list, tuple, set))
|
||||
else set()
|
||||
allowed_set: Final[frozenset[str]] = (
|
||||
frozenset(p for p in allowed_openai_params if isinstance(p, str)) # pyright: ignore[reportUnknownVariableType] # element type is dynamic
|
||||
if isinstance(allowed_openai_params, (list, tuple, set, frozenset))
|
||||
else frozenset()
|
||||
)
|
||||
default_keys: Final[set[str]] = valid_keys | allowed_set
|
||||
default_keys: Final[frozenset[str]] = valid_keys | allowed_set
|
||||
|
||||
additional_drop_params: Final[list[str] | None] = params.pop("additional_drop_params", None)
|
||||
non_default_params: Final = _apply_nested_drop_params(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue