litellm/ui
Cursor Agent e0d6c85fb3
fix(otel/v2, ui): scope auto_enable by access grants; fix Mode/Scope display
Backend resolver fix (logging_exporter_access.py, litellm_pre_call_utils.py):
  auto_enable=true previously ignored access.teams/orgs entirely — any request
  triggered the destination regardless of its access grants.

  New scoped behavior:
    auto_enable=true + access.global=true   -> fires for all requests
    auto_enable=true + access.teams=[A]     -> fires only for teamA requests
    auto_enable=true + access.orgs=[O]      -> fires only for orgO requests
    auto_enable=true + empty access         -> proxy-wide (backward compat)

  Introduced _has_explicit_access_grants() as the single check point in both
  the request-time resolver and is_destination_visible(). 18 new unit tests;
  all 62 pass. Live verified: 24/24 regression cases with real Anthropic spend.

UI fixes (LoggingCallbacksTable.tsx, types.ts, settings.tsx):
  Mode column:
    auto_enable=true  -> Auto-enabled (orange badge with tooltip)
    auto_enable=false -> Manual assignment
  Scope column (explicit access grants only, no runtime behavior):
    access.global=true -> Global access
    access.teams=[...] -> team: ...
    access.orgs=[...]  -> org: ...
    empty/absent       -> - (regardless of auto_enable)
  Tooltip on Auto-enabled explains proxy-wide backward compat when access
  is empty and guides admins to add explicit grants.

Co-authored-by: Mateo Wang <mateo-berri@users.noreply.github.com>
2026-07-04 02:15:40 +00:00
..
litellm-dashboard fix(otel/v2, ui): scope auto_enable by access grants; fix Mode/Scope display 2026-07-04 02:15:40 +00:00
Dockerfile feat: add componentized proxy deployment with gateway, backend, ui, and migrations (#27557) 2026-05-16 09:25:17 -07:00
nginx.conf feat: add componentized proxy deployment with gateway, backend, ui, and migrations (#27557) 2026-05-16 09:25:17 -07:00