mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-20 00:11:50 +00:00
Resolve conflicts across the MCP grant refactor. Both branches touched the same MCP permission surfaces; staging kept raw SpecialMCPServerNames string checks while this branch routes everything through parse_mcp_server_grant and the AllServers/AllTeamServers/NoServers/ExplicitServers tagged union. Resolution decisions: - object_permission_utils.py: keep the grant-based validate_key_mcp_servers_against_team decomposition; adopt staging's ObjectPermissionDict typing throughout; use staging's stricter _validate_requested_toolsets (non-admin personal-key rejection, which our own docstring intended but the helper missed) and drop the now-redundant _raise_if_toolsets_exceed_team; keep staging's new validate_key_vector_stores_against_team - user_api_key_auth_mcp.py: keep grant-idiom NoServers/AllTeamServers checks; drop the unused DEFAULT_MANAGEMENT_OBJECT_IN_MEMORY_CACHE_TTL import since staging moved to get_management_object_ttl() - db.py, mcp_server_manager.py: keep the parse_mcp_server_grant path and modernize staging's remaining string-sentinel opt-out for consistency; _resolve_permission_identifier preserves staging's alias/name matching and the %r safe-logging path - test file: keep both suites (all-proxy/all-team grant tests + personal-key non-admin gate tests) - eslint-metrics.json: regenerated from the merged tree (1988/126/59) |
||
|---|---|---|
| .. | ||
| litellm-dashboard | ||
| Dockerfile | ||
| nginx.conf | ||