Commit Graph
31605 Commits
Author SHA1 Message Date
Kris Xia bfabb39fc6 fix: Fix Vertex AI Gemini streaming content_filter handling
- Add promptFeedback.blockReason check in chunk_parser
- Return content_filter finish_reason when blocked
- Extract content filter logic into _check_prompt_level_content_filter() method
- Update unit tests to reflect simplified implementation

Signed-off-by: Kris Xia <xiajiayi0506@gmail.com>
2026-02-04 21:11:47 +08:00
Sameer KankuteandGitHub 8b563a7641 Merge pull request #20402 from BerriAI/litellm_responses_tools_file_ids
Add mapping for responses tools in file ids
v1.81.7.dev1
2026-02-04 18:09:39 +05:30
Sameer KankuteandGitHub 8a3b253e62 Merge pull request #20390 from BerriAI/litellm_fix_empty_message
Fix: empty assistant message for converse API
2026-02-04 18:05:37 +05:30
Sameer KankuteandGitHub 18a524a1dc Merge pull request #20408 from BerriAI/litellm_fix_model+map_streaming
Fix supports_native_streaming for gemini and vertex ai and claude models
2026-02-04 17:56:48 +05:30
Sameer KankuteandGitHub a86e501632 Merge pull request #20407 from BerriAI/litellm_key_mcp_permissions
Add Key info endpoint object permission data
2026-02-04 17:56:05 +05:30
Sameer Kankute 1a5f2a566f Fix: test_bedrock_no_default_message 2026-02-04 17:52:28 +05:30
Sameer KankuteandGitHub b2feedc469 Merge pull request #20318 from BerriAI/litellm_oss_staging_02_03_2026
feat(guardrails): implement team-based isolation guardrails mgmnt (#1…
2026-02-04 17:49:30 +05:30
Sameer Kankute 54b5c7d2cd Fix: litellm/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_grayswan.py 2026-02-04 17:35:26 +05:30
Sameer Kankute f8b6af5577 Fix test_transform_messages_disable_copilot_system_to_assistant 2026-02-04 17:29:55 +05:30
Sameer KankuteandGitHub 674593e4d7 Merge pull request #20413 from BerriAI/revert-20145-fix/proxy_failure_cases
Revert "fix: proxy failure cases, now log ip and user agent, key hash, name"
2026-02-04 17:17:39 +05:30
Sameer KankuteandGitHub 6b25e37309 Revert "fix: proxy failure cases, now log ip and user agent, key hash, name (…"
This reverts commit ec279eb426.
2026-02-04 17:16:51 +05:30
Sameer Kankute 5cec5c3bef fix model map json 2026-02-04 14:48:49 +05:30
Sameer Kankute 0ed5e51f9b Fix supports_native_streaming for anthropic models 2026-02-04 14:44:31 +05:30
Sameer Kankute 20c21c63d9 Fix supports_native_streaming for gemini and vertex ai models 2026-02-04 14:41:32 +05:30
Sameer Kankute fc873d8867 Fix mypy issues 2026-02-04 14:40:08 +05:30
Sameer Kankute 42561729ee Add Key info endpoint object permission data 2026-02-04 14:21:19 +05:30
Sameer KankuteandGitHub bfc0c4b4ab Merge pull request #20396 from BerriAI/litellm_copilot_kit_sdk
[DOCS]Add copilotkit sdk doc as supported agents sdk
2026-02-04 13:41:08 +05:30
Sameer KankuteandGitHub 4d90767d82 Merge pull request #20406 from BerriAI/litellm_deepreasearch_agent_gemini
Add gemini deep research in model cost map
2026-02-04 13:39:55 +05:30
Sameer Kankute 216cf4cac5 Add gemini deep research in model cost map 2026-02-04 13:38:13 +05:30
Sameer Kankute e4c1cfff9d Fix mypy issues 2026-02-04 13:25:21 +05:30
Sameer Kankute 2698c9218c Fix mypy issues 2026-02-04 13:24:00 +05:30
Sameer Kankute 5413f584f5 Fix code quality issues 2026-02-04 13:17:05 +05:30
Sameer Kankute 8b3213ce5c Add mapping for responses tools in file ids 2026-02-04 13:12:45 +05:30
Sameer KankuteGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
cdd4569064 Apply suggestion from @greptile-apps[bot]
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-04 11:56:17 +05:30
Sameer Kankute 465bbf3514 Add copilotkit sdk doc as supported agents sdk 2026-02-04 11:53:49 +05:30
Sameer Kankute 8109413a54 Add copilotkit sdk doc as supported agents sdk 2026-02-04 11:52:17 +05:30
58cc6248ab Skip test_e2e_semantic_filter when OPENAI_API_KEY is not set (#20387)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-02-03 22:09:47 -08:00
Krish DholakiaandGitHub ca34b4ee13 Revert "feat(guardrails): implement team-based isolation guardrails mgmnt (#1…" (#20393)
This reverts commit 76a399ba69.
2026-02-03 20:55:46 -08:00
Krrish Dholakia 49c678589e fix: fix schema.prisma on litellm proxy extras 2026-02-03 20:36:10 -08:00
Sameer Kankute 15351a93dc Fix: empty assistant message for converse API 2026-02-04 09:50:58 +05:30
Ishaan Jaffer 7b8e3c7736 docs fix 2026-02-03 20:11:48 -08:00
yuneng-jiangandGitHub dc07a6922f Merge pull request #20371 from BerriAI/litellm_config_search_tools
[Feature] Include Config Defined Search Tools in /search_tools/list
2026-02-03 20:00:21 -08:00
Ishaan JaffandGitHub da4cf4942f [Feat] Add xAI /realtime API Support - works with LiveKitSDK (#20381)
* init: _realtime_health_check + routing

* refactor: OpenAIRealtime

* refactor: XAI_API_BASE

* feat: XAIRealtime

* init feat: XAIRealtime

* OpenAIRealtime

* TestXAIRealtime

* test fixes

* test OAI

* TEST xAI, OAI

* clean realtime jobs

* refactor

* test XAI

* docs xAI

* fix xAI

* fix lint errors

* test_async_realtime_url_contains_model

* test fix

* document test changes

* _realtime_health_check

* docs xai realtime

* fix handlers

* add additional_headers

* fix
2026-02-03 19:58:28 -08:00
Krish DholakiaandGitHub 7056d9984e Custom Code Guardrails UI Playground (#20377)
* feat(guardrails/): allow custom code execution for guardrails

first step in allowing teams to submit custom code for guardrails

* feat: custom_code_guardrail.md

support passing custom code for guardrails

* feat: initial commit adding ui for custom code guardrails

allows users to write guardrails based on custom code

* feat: expose new test custom code guardrail endpoint

allows ui testing playground to sanity check if guardrail is working as expected

* fix: fix linting errors

* fix: fix max recursion check

* fix: fix linting error
2026-02-03 19:57:24 -08:00
Sameer KankuteandGitHub 25fa1ad4e7 Merge pull request #20386 from naaa760/fix/extra-head-chat-comp-brid
fix(proxy): forward extra headers in chat
2026-02-04 09:11:43 +05:30
naaa760 0cb6b58768 fix(proxy): forward extra_headers in chat 2026-02-04 08:56:50 +05:30
Sameer KankuteandGitHub 7b57d1acf1 Merge pull request #20331 from BerriAI/litellm_bstch_status_retrieve
Fix: Managed Batches: Inconsistent State Management for list and cancel batches
2026-02-04 08:52:17 +05:30
Sameer KankuteandGitHub f11c16a0e7 Merge pull request #20334 from BerriAI/litellm_fireworks_ai_field_remoal
Fix: Extra inputs are not permitted, field: 'messages[2].provider_specific_fields
2026-02-04 08:50:04 +05:30
Sameer KankuteandGitHub bd87c446f2 Merge pull request #20329 from BerriAI/litellm_delete_files_bug
Add support for delete and GET via file_id for gemini
2026-02-04 08:49:24 +05:30
66eadfabe4 [Bug] Ensure MCP permissions are enforced when using JWT Auth (#20383)
* fix: enforce team MCP permissions when using JWT authentication

Root cause: When JWT auth was used with teams in groups (via team_ids_jwt_field),
the team's MCP permissions were not being enforced because:

1. The default team_allowed_routes did not include mcp_routes
2. allowed_routes_check() failed for MCP endpoints like /mcp/tools/list
3. find_team_with_model_access() skipped the team due to failed route check
4. team_id was None in UserAPIKeyAuth
5. MCPRequestHandler._get_allowed_mcp_servers_for_team() returned empty list

Fix: Add 'mcp_routes' to the default team_allowed_routes in LiteLLM_JWTAuth.

This ensures that teams can access MCP endpoints by default, allowing the
team's MCP server permissions to be properly enforced.

Added tests:
- test_reproduce_jwt_mcp_enforcement_issue: Reproduces the exact bug scenario
- test_verify_mcp_routes_in_default_team_allowed_routes: Verifies fix
- test_mcp_route_check_passes_for_team: Verifies route check works

Co-authored-by: ishaan <ishaan@berri.ai>

* test: add comprehensive E2E tests for JWT + team MCP permission enforcement

Added tests:
- test_e2e_jwt_team_mcp_permissions_enforced: Full E2E test verifying JWT auth
  with teams in groups properly sets team_id and MCPRequestHandler returns
  the team's MCP servers
- test_e2e_jwt_without_team_no_mcp_servers: Verifies no MCP servers returned
  when JWT has no teams
- test_e2e_jwt_team_mcp_key_intersection: Verifies intersection logic when
  both key and team have MCP permissions (result = intersection)

These tests verify the complete flow:
1. JWT token with team in groups field
2. JWT auth properly sets team_id on UserAPIKeyAuth
3. MCPRequestHandler.get_allowed_mcp_servers() returns team's MCP servers
4. Key/team permission intersection works correctly

Co-authored-by: ishaan <ishaan@berri.ai>

* test: add simple tests for JWT + MCP permission enforcement

Simple, focused tests that validate:
1. test_simple_jwt_mcp_permissions_enforced: JWT user with team gets team's MCP servers
2. test_simple_jwt_no_team_no_mcp_servers: JWT user without team gets no MCP servers
3. test_simple_jwt_team_id_required_for_mcp_permissions: Verifies team_id is required
4. test_jwt_auth_sets_team_id_for_mcp_route: JWT auth sets team_id for MCP routes

These tests directly verify the core MCP permission enforcement logic works
when using JWT authentication with teams.

Co-authored-by: ishaan <ishaan@berri.ai>

* Add test: MCP route without model still returns team_id

Co-authored-by: ishaan <ishaan@berri.ai>

* Add 2 debug logs for JWT+MCP troubleshooting

- handle_jwt.py: Log team route check result (team_id, route, is_allowed)
- user_api_key_auth_mcp.py: Log team_id when looking up MCP permissions

Co-authored-by: ishaan <ishaan@berri.ai>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2026-02-03 19:13:13 -08:00
yuneng-jiangandGitHub 12b8cd5971 Merge pull request #20380 from BerriAI/litellm_ui_key_budget_change
[Feature] UI - User Budget Page: Unlimited Budget Checkbox
2026-02-03 18:29:46 -08:00
yuneng-jiang 831f89b964 unlimited budget ui changes 2026-02-03 18:19:33 -08:00
yuneng-jiangandGitHub f9669cc132 Merge pull request #20375 from BerriAI/litellm_user_update_fix
[Fix] /user/update Allow for max_budget Resets
2026-02-03 17:02:16 -08:00
yuneng-jiangandGitHub 92786b5608 Merge pull request #20317 from BerriAI/litellm_antd_modal
Chore: Antd Modal Deprecated Props
2026-02-03 17:02:01 -08:00
yuneng-jiang cf256c742f allow max_budget reset 2026-02-03 16:32:21 -08:00
michelligabrieleandGitHub a50896f91e fix: revert httpx client caching that caused closed client errors (#20025)
AsyncHTTPHandler.__del__ was closing httpx clients still in use by
AsyncOpenAI/AsyncAzureOpenAI due to independent cache lifecycles.
Restores standalone httpx client creation for OpenAI/Azure providers.
2026-02-03 16:15:04 -08:00
yuneng-jiangandGitHub c8f0d39b4d Merge pull request #20369 from BerriAI/litellm_ui_key_settings_routes
[Feature] UI - Keys: Allowed Routes to Key Info and Edit Pages
2026-02-03 16:10:30 -08:00
yuneng-jiang 3e3b21e6c3 masking sensitive values 2026-02-03 16:09:37 -08:00
yuneng-jiang 23d9a89793 search tools list includes config defined search tools 2026-02-03 15:57:13 -08:00
yuneng-jiang a2653bcd5e Adding Allowed Routes to Key Info and Edit Pages 2026-02-03 15:26:51 -08:00