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
« 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
5from fastapi import APIRouter
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)
13router: Final = APIRouter()
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
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)
30 sso_configured: Final = has_user_setup_sso()
32 from litellm.proxy.proxy_server import proxy_config
34 is_control_plane: Final = len(proxy_config.worker_registry) > 0
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 )