[litellm-agent] Staging → litellm_internal_staging (5/7/2026) - #27359
[litellm-agent] Staging → litellm_internal_staging (5/7/2026)#27359oss-pr-review-agent-shin[bot] wants to merge 0 commit into
Conversation
|
@greptile please review |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
@greptile please review |
|
@greptile please review |
Greptile SummaryThis automated staging PR bundles five independently-reviewed fixes: OAuth redirect-URI validation extended to same-origin (UI callback flow), JWT team-ID claim union for Okta/Auth0 single-team users, guardrail provenance tracking for cross-pod stale-entry reconciliation, deployment disambiguation by
Confidence Score: 5/5Safe to merge — all changed paths are well-scoped, thoroughly mocked, and guarded by new regression tests. Each change is narrow in scope with direct test coverage. The OAuth redirect validation tightens the trust boundary; the JWT union is additive only; the guardrail provenance system correctly segregates config from DB entries and never removes config-loaded guardrails during reconciliation; the health endpoint disambiguates only when an id is explicitly supplied. No backwards-incompatible interface changes, no direct DB queries in new hot paths, and all new tests are properly mocked. No files require special attention.
|
| Filename | Overview |
|---|---|
| litellm/proxy/_experimental/mcp_server/oauth_utils.py | Adds get_request_base_url (moved from discoverable_endpoints) and validate_trusted_redirect_uri that accepts same-origin or loopback URIs; X-Forwarded-* headers only honoured from trusted proxy ranges |
| litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py | Replaces loopback-only redirect_uri validation with validate_trusted_redirect_uri; callback now receives Request param for same-origin origin check; get_request_base_url de-duplicated into oauth_utils |
| litellm/proxy/auth/handle_jwt.py | Adds get_all_jwt_team_ids that unions plural (team_ids_jwt_field) and singular (team_id_jwt_field) claims, deduplicated, without consulting team_id_default |
| litellm/proxy/guardrails/guardrail_registry.py | Adds _sources provenance dict (db/config), get_source(), and reconcile_db_guardrails() to drop stale cross-pod DB entries; source param threads through initialize/update/reinitialize paths |
| litellm/proxy/guardrails/guardrail_endpoints.py | list_guardrails_v2 skips DB-backed in-memory entries absent from DB query; get_guardrail_info returns 404 for stale DB-backed entries; create/approve calls pass source=db |
| litellm/proxy/health_endpoints/_health_endpoints.py | test_model_connection now disambiguates by model_info.id (get_deployment) first, falling back to model_name lookup; fixes silent use of deployments[0] for wildcard multi-deployment models |
| litellm/proxy/proxy_server.py | _init_guardrails_in_db now collects db_guardrail_ids set and calls reconcile_db_guardrails after syncing, purging stale entries deleted on another pod |
| litellm/proxy/management_endpoints/ui_sso.py | SSO callback now calls get_all_jwt_team_ids instead of get_team_ids_from_jwt in two places, picking up both singular and plural claim fields |
| ui/litellm-dashboard/src/components/VirtualKeysPage/VirtualKeysTable.tsx | Moves filtering from client-side (filter_logic hook) to server-side (useKeys params); debounces filter inputs before API calls; pagination resets on filter change |
| ui/litellm-dashboard/src/components/key_team_helpers/filter_logic.tsx | Simplified to pure filter-state management; removes debouncedSearch API call, filteredKeys, filteredTotalCount, Sort By/Sort Order fields; adds Key Hash field |
| ui/litellm-dashboard/src/components/model_info_view.tsx | Passes model_info.id in the test-connection request payload so the backend can disambiguate between deployments sharing a wildcard model_name |
| litellm/proxy/guardrails/init_guardrails.py | Passes source=config when initializing guardrails from YAML config file |
Reviews (2): Last reviewed commit: "fix(ui): virtual keys filter silently re..." | Re-trigger Greptile
|
@greptile please review |
|
@greptile please review |
386f99d to
a67b7a7
Compare
Automated staging PR created by litellm-agent.
This branch collects PRs approved by the agent on 5/7/2026.