mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-12 08:42:18 +00:00
fix(proxy): avoid reportArgumentType when writing parsed permissions
Assign json.loads result like aliases/config/metadata, then cast only at the refuse-helper call site so dict[str, object] is not written into the typed saved_token __setitem__ slot (basedpyright reportArgumentType).
This commit is contained in:
parent
402387ab35
commit
8001e5be17
1 changed files with 8 additions and 5 deletions
|
|
@ -5288,13 +5288,16 @@ async def generate_key_helper_fn(
|
|||
if isinstance(saved_token["metadata"], str):
|
||||
saved_token["metadata"] = json.loads(saved_token["metadata"])
|
||||
if isinstance(saved_token["permissions"], str):
|
||||
parsed_permissions: Final = cast( # cast-ok: permissions column stores a JSON object of permission flags
|
||||
dict[str, object], json.loads(saved_token["permissions"])
|
||||
)
|
||||
# Same json.loads → assign pattern as aliases/config/metadata above.
|
||||
saved_token["permissions"] = json.loads(saved_token["permissions"])
|
||||
# Refuse only when the permission is requested (truthy). An explicit
|
||||
# false must not trip a substring check on the serialized JSON.
|
||||
_refuse_get_spend_routes_unless_premium(parsed_permissions, premium_user)
|
||||
saved_token["permissions"] = parsed_permissions
|
||||
_refuse_get_spend_routes_unless_premium(
|
||||
cast( # cast-ok: permissions column stores a JSON object of permission flags
|
||||
dict[str, object], saved_token["permissions"]
|
||||
),
|
||||
premium_user,
|
||||
)
|
||||
if isinstance(saved_token["model_max_budget"], str):
|
||||
saved_token["model_max_budget"] = json.loads(saved_token["model_max_budget"])
|
||||
router_settings = cast(dict | None, saved_token.get("router_settings"))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue