Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/discovery_endpoints/ui_discovery_endpoints.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 12:01 +0000

1#### Analytics Endpoints ##### 

2import os 

3from typing import Final 

4 

5from fastapi import APIRouter 

6 

7from litellm.proxy._experimental.mcp_server.stdio_gate import is_mcp_stdio_enabled 

8from litellm.proxy.common_utils.html_forms.default_credentials_hint import should_hide_default_credentials_hint 

9from litellm.types.proxy.discovery_endpoints.ui_discovery_endpoints import ( 

10 UiDiscoveryEndpoints, 

11) 

12 

13router: Final = APIRouter() 

14 

15 

16@router.get("/.well-known/litellm-ui-config", response_model=UiDiscoveryEndpoints) 

17@router.get("/litellm/.well-known/litellm-ui-config", response_model=UiDiscoveryEndpoints) # if mounted at root path 

18async def get_ui_config(): 

19 from litellm.proxy.auth.auth_utils import has_user_setup_sso 

20 from litellm.proxy.proxy_server import general_settings 

21 from litellm.proxy.utils import get_proxy_base_url, get_server_root_path 

22 

23 auto_redirect_ui_login_to_sso: Final = ( 

24 os.getenv("AUTO_REDIRECT_UI_LOGIN_TO_SSO", "false").lower() == "true" 

25 or general_settings.get("auto_redirect_ui_login_to_sso", False) is True 

26 ) 

27 admin_ui_disabled: Final = os.getenv("DISABLE_ADMIN_UI", "false").lower() == "true" 

28 hide_default_credentials_hint: Final = should_hide_default_credentials_hint(general_settings) 

29 

30 sso_configured: Final = has_user_setup_sso() 

31 

32 from litellm.proxy.proxy_server import proxy_config 

33 

34 is_control_plane: Final = len(proxy_config.worker_registry) > 0 

35 

36 return UiDiscoveryEndpoints( 

37 server_root_path=get_server_root_path(), 

38 proxy_base_url=get_proxy_base_url(), 

39 auto_redirect_to_sso=sso_configured and auto_redirect_ui_login_to_sso, 

40 admin_ui_disabled=admin_ui_disabled, 

41 sso_configured=sso_configured, 

42 hide_default_credentials_hint=hide_default_credentials_hint, 

43 is_control_plane=is_control_plane, 

44 workers=proxy_config.worker_registry if is_control_plane else [], 

45 mcp_stdio_enabled=is_mcp_stdio_enabled(), 

46 )