litellm/litellm/types
Ryan Crabbe ad43a35d76 feat: add control plane for multi-proxy worker management
Adds a control plane capability that enables a central admin instance
to manage multiple regional worker proxies from a single UI.

Backend:
- Worker registry loaded from YAML config (worker_id, name, url)
- /.well-known/litellm-ui-config exposes is_control_plane and workers list
- /v3/login + /v3/login/exchange: opaque code exchange for cross-origin
  username/password auth (JWT never in URL/logs, single-use 60s TTL)
- SSO cookie handoff with return_to → opaque code → exchange
- _validate_return_to: full origin validation (scheme+hostname+port)
- Startup warning when control_plane_url set without Redis
- Both /v3 endpoints gated behind control_plane_url config

Frontend:
- Worker selector dropdown on login page (gated behind is_control_plane)
- Cross-origin SSO code exchange handling on callback
- switchToWorkerUrl: localStorage-persisted worker URL for API calls
- useWorker hook: shared worker state management
- WorkerDropdown in navbar for switching workers
- Logout/switch clears worker state from localStorage

Tests:
- 7 tests for /v3/login + /v3/login/exchange
- 10 tests for _validate_return_to
- 2 tests for control plane discovery endpoint
2026-03-19 22:50:19 -07:00
..
containers style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
google_genai fix(mypy): fix scattered 1-off type errors across 14 files 2026-03-13 00:08:57 +00:00
images merge: resolve conflicts between main and litellm_oss_staging_03_11_2026 2026-03-12 09:38:31 -03:00
integrations style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
interactions style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
litellm_core_utils include server_tool_use in streaming usage (#16826) 2025-11-25 14:50:17 -08:00
llms chore: apply black formatting to fix lint CI (batch 3) 2026-03-19 18:11:40 -07:00
management_endpoints style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
mcp_server style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
passthrough_endpoints Revert "Add streamGenerateContent cost tracking in passthrough (#15199)" (#15202) 2025-10-04 14:37:02 -07:00
prompts Prompt Management - new API for integrating providers (#17829) 2025-12-11 15:43:40 -08:00
proxy feat: add control plane for multi-proxy worker management 2026-03-19 22:50:19 -07:00
responses refactor: extract duplicated stdout/stderr → logs logic to shared helper 2026-03-18 22:05:27 -03:00
secret_managers style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
videos [Staging] - Ishaan March 17th (#23903) 2026-03-18 15:09:01 -07:00
access_group.py allow editing of access group names 2026-02-13 17:03:41 -08:00
adapter.py
agents.py fix(agents.tsx): support granting agents access to subagents 2026-03-10 21:03:20 -07:00
caching.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
completion.py fix: correct CompletionRequest messages type to match OpenAI API spec (#12980) 2025-07-28 16:47:20 -07:00
embedding.py
files.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
fine_tuning.py (feat) POST /fine_tuning/jobs support passing vertex specific hyper params (#7490) 2025-01-01 07:44:48 -08:00
guardrails.py [Staging] - Ishaan March 17th (#23903) 2026-03-18 15:09:01 -07:00
mcp.py merge: resolve conflicts between main and litellm_oss_staging_03_11_2026 2026-03-12 09:38:31 -03:00
policy_engine.py [Feat] New LiteLLM Policy engine - create policies to manage guardrails, conditions - permissions per Key, Team (#19612) 2026-01-22 19:49:53 -08:00
rag.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
realtime.py address greptile review feedback (greploop iteration 2) 2026-03-12 18:53:22 +05:30
rerank.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00
router.py [Feat] - Ishaan main merge branch (#23596) 2026-03-14 09:40:00 -07:00
scheduler.py Squashed commit of the following: (#9709) 2025-04-02 21:24:54 -07:00
search.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
services.py [Fix] CI/CD - mypy & check_code_and_doc_quality & mcp_testing (#17920) 2025-12-13 08:18:43 -08:00
tag_management.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00
tool_management.py Bug Fix: auto-inject prompt caching support for Gemini models (#21881) 2026-03-03 20:25:35 -08:00
utils.py fix(greptile-review): address backward compatibility and code quality issues 2026-03-16 19:17:06 +05:30
vector_store_files.py Vector store files Stable Release (#16643) 2025-11-15 13:00:33 -08:00
vector_stores.py style: run black formatter on entire codebase 2026-03-11 17:07:57 -03:00