mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-08 08:08:37 +00:00
* fix(proxy): expand config-defined model access groups when resolving team models for /v2/model/info Teams whose only model grant is a config-defined access group (a model_info.access_groups name listed in team.models) got an empty /v2/model/info?include_team_models=true result. _add_team_models_to_all_models passed each team.models entry straight to llm_router.get_model_list(model_name=...), which never matches an access-group name, so the group's member deployments were dropped. Runtime auth and /v1/models were unaffected because they expand team.models through get_team_models first. Resolve team.models through the same get_team_models resolver before iterating, reusing the exact path runtime auth and /v1/models trust so the two can't drift again. The get_model_names and get_model_access_groups accessors are hoisted above the team loop so they run once. * fix(proxy): keep a literal model whose name collides with an access-group name in listings A grant string that names both a deployed model and a config access group grants BOTH at runtime (_check_model_access_helper unions them), but the listing resolver dropped the literal and substituted the group members, hiding a callable model from /v1/models and /v2/model/info. Keep the literal when it is also a deployed model so listings match runtime access exactly. Pure-group names (no collision) are still replaced by their members. Also rewrites _get_models_from_access_groups to build its result without mutating the input list. Addresses the Greptile P1 on this PR. * fix(proxy): type proxy_model_list param as Sequence to satisfy LIT001 budget |
||
|---|---|---|
| .. | ||
| test_admin_viewer_handler_access.py | ||
| test_auth_checks.py | ||
| test_auth_exception_handler.py | ||
| test_auth_hot_path_network_requests.py | ||
| test_auth_utils.py | ||
| test_banned_params_extra_body.py | ||
| test_cli_auth.py | ||
| test_custom_auth_end_user_budget.py | ||
| test_handle_jwt.py | ||
| test_info_routes.py | ||
| test_litellm_license.py | ||
| test_login_utils.py | ||
| test_mcp_ip_filtering.py | ||
| test_model_checks.py | ||
| test_model_checks_fallbacks.py | ||
| test_multi_budget_windows.py | ||
| test_network.py | ||
| test_oauth2_proxy_hook.py | ||
| test_object_permission_loading.py | ||
| test_onboarding.py | ||
| test_organization_budget_enforcement.py | ||
| test_password_hashing.py | ||
| test_resolvers_exceptions.py | ||
| test_resolvers_models.py | ||
| test_resolvers_seam.py | ||
| test_resolvers_store.py | ||
| test_route_checks.py | ||
| test_router_override_fallback_auth.py | ||
| test_team_member_budget.py | ||
| test_unmapped_model_budget_enforcement.py | ||
| test_user_api_key_auth.py | ||