Commit graph

8758 commits

Author SHA1 Message Date
Alexsander Hamir
30fa90f70d
[Feat] Enable async_post_call_failure_hook to transform error responses (#18348) 2025-12-22 11:24:30 -08:00
yuneng-jiang
13adaa4a73 Merge remote-tracking branch 'origin' into litellm_sso_role_mapping 2025-12-22 09:44:04 -08:00
yuneng-jiang
31cc9654ce Merge remote-tracking branch 'origin' into litellm_ui_cloudzero_improvements 2025-12-22 09:43:23 -08:00
Ishaan Jaff
268ed11a01
Litellm content filter logs page (#18335)
* add view for litellm content filter

* add ContentFilterDetails

* test_apply_guardrail_logs_guardrail_information

* backend track litellm content filter

* ui view

* fix code qa check
2025-12-22 18:20:26 +05:30
Sameer Kankute
60b71d48bd Add test image tokens in output 2025-12-22 11:46:14 +05:30
Yuta Saito
34b500c7f5 feat: support MCP stdio header env overrides 2025-12-22 12:58:31 +09:00
Yuta Saito
470179af2f Revert "Revert "fix: ensure Datadog callback runs alongside LLM Observability" (#18313)"
This reverts commit 0acca76677.
2025-12-22 05:22:42 +09:00
Harshit Jain
b2588dc399
fix: lost tool_calls when streaming has both text and tool_calls 2025-12-21 22:40:27 +05:30
Ishaan Jaff
0acca76677
Revert "fix: ensure Datadog callback runs alongside LLM Observability" (#18313) 2025-12-21 09:13:28 +05:30
Emerson Gomes
acce6b9c83
Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-20 15:56:46 -06:00
YutaSaito
716cac4e3b
Merge pull request #18300 from BerriAI/litellm_fix_datadog-dual-callback-conflict
fix: ensure Datadog callback runs alongside LLM Observability
2025-12-21 06:22:21 +09:00
Yuta Saito
b54216d05f fix: ensure Datadog callback runs alongside LLM Observability 2025-12-21 05:46:34 +09:00
Emerson Gomes
9002f75277 Require auth for MCP connection test 2025-12-20 11:01:41 -06:00
Ishaan Jaffer
6112160a16 Revert "[Fix] Security - Remove example API keys with high entropy (#18255)"
This reverts commit 24edbccf5c.
2025-12-20 20:48:11 +05:30
Ishaan Jaffer
859474dd44 fix patch 2025-12-20 14:00:42 +05:30
Ishaan Jaffer
c1b116c5f5 fix 2025-12-20 13:54:05 +05:30
Cesar Garcia
138b415e81
fix(responses-api): use list format with input_text for tool results (#18257)
The Responses API expects tool results to use input_text/input_image types,
not output_text. This fix ensures consistent list format for all tool results:
- String content → [{"type": "input_text", "text": "..."}]
- Image content → [{"type": "input_image", "image_url": "..."}]

This resolves the conflict between tests that expected different formats
and aligns with OpenAI's Responses API requirements.

Fixes the regression introduced in #18226.
2025-12-20 13:46:14 +05:30
Lucas Rothman
b981fddfaa fix(gemini): properly catch context window exceeded errors
Fixes #18282

This PR fixes two issues with Gemini context window error handling:

1. **Pattern matching for Gemini 2.0 Flash**: The previous pattern
   'input token count exceeds the maximum number of tokens allowed'
   doesn't match Gemini 2.0 Flash errors which include dynamic token
   counts like '(2800010)' in the message. Split into shorter patterns
   that work with both formats.

2. **Add context window check to Gemini block**: The
   is_error_str_context_window_exceeded() check was only called for
   OpenAI-compatible providers, not for Gemini/Vertex AI. Added the
   check to the Gemini-specific error handling block.

Test cases added for both Gemini 2.0 Flash and 2.5/3 error formats.
2025-12-19 23:20:04 -08:00
Eric84626
0306f02e74 fix: removed initialize the tool name to MCP server name mapping(oauth2) on startup for avoiding 401 error 2025-12-20 14:13:18 +08:00
Eric84626
684fba42ea fix: added RFC RECOMMENDED property(scopes_supported) to protected resource and authorization server metadata 2025-12-20 13:22:29 +08:00
Eric84626
3a2ab6b0d1 fix: added additional grant type into oauth_authorization_server response for fixing mcp auth register bad request issue 2025-12-20 11:55:12 +08:00
yuneng-jiang
ffcac2eebc Allow deleting key expiry 2025-12-19 18:04:04 -08:00
YutaSaito
2bbfa498e2
Revert "ensure datadog llm obs ignores dd base url override" 2025-12-20 08:56:49 +09:00
Yuta Saito
72f424c719 ensure datadog llm obs ignores dd base url override 2025-12-20 07:44:40 +09:00
yuneng-jiang
74842de78e Adding backend 2025-12-19 13:04:59 -08:00
yuneng-jiang
026c2ad693
Merge pull request #18167 from BerriAI/litellm_vector_store_config
[Feature] Auto Resolve Vector Store Embedding Model Config
2025-12-19 11:39:17 -08:00
yuneng-jiang
b1b488982d
Merge pull request #18168 from BerriAI/litellm_cloudzero_delete
[Feature] Delete Cloudzero Settings Route
2025-12-19 11:38:10 -08:00
yuneng-jiang
2a4f883e78 Merge remote-tracking branch 'origin' into litellm_deleted_keys_team 2025-12-19 11:36:27 -08:00
yuneng-jiang
02355f602c Merge remote-tracking branch 'origin' into litellm_sso_role_mapping 2025-12-19 11:03:30 -08:00
yuneng-jiang
313a613a13 Adding tests 2025-12-19 10:56:11 -08:00
Sameer Kankute
3761f38e43
Merge pull request #18254 from BerriAI/litellm_add_stability_model_edit_1
Add support for stability model and bedrock stability model
2025-12-20 00:23:15 +05:30
Sameer Kankute
f05e600969
Merge pull request #18236 from BerriAI/litellm_add_background_responses_cost_tracking
Add cost tracking for responses api in background mode
2025-12-20 00:14:09 +05:30
Sameer Kankute
8efd4653ce Fix litellm_mapped_tests_llms 2025-12-19 23:44:14 +05:30
Alexsander Hamir
24edbccf5c
[Fix] Security - Remove example API keys with high entropy (#18255) 2025-12-19 10:09:50 -08:00
Sameer Kankute
06d08b52d9
Merge pull request #18237 from BerriAI/litellm_gemini_response_format_fix
Fix: properties: should be non-empty for OBJECT type
2025-12-19 23:34:05 +05:30
Sameer Kankute
b849f51e58 Add support for stability model in image edit 2025-12-19 23:03:17 +05:30
yuneng-jiang
e1d25670cd
Merge pull request #18214 from BerriAI/litellm_key_management_fix
[Fix] Key Delete and Regenerate Permissions Fix
2025-12-19 08:48:21 -08:00
Sameer Kankute
a0538e3d54 Fix: properties: should be non-empty for OBJECT type 2025-12-19 14:28:40 +05:30
YutaSaito
3c380086b6
Merge pull request #18234 from BerriAI/litellm_fix_not_working_failure_logging
fix: not working log_failure_event in langfuse
2025-12-19 17:32:05 +09:00
Sameer Kankute
84e4fc3fab
Merge pull request #18226 from Chesars/fix/responses-api-tool-calls-transformation
fix(responses-api): fix tool calls transformation in completion bridge
2025-12-19 13:41:55 +05:30
Sameer Kankute
7d0f41f437 Add cost tracking for responses api in background mode 2025-12-19 13:35:48 +05:30
Yuta Saito
20bbfdd7cb fix: not working log_failure_event in langfuse 2025-12-19 16:54:57 +09:00
yuneng-jiang
19140506a9 Adding tests 2025-12-18 20:50:38 -08:00
Sameer Kankute
d1d008fb7e
Merge pull request #18194 from BerriAI/litellm_fix_cli_bugs
Fix: Claude code responses api bridge errors
2025-12-19 08:38:55 +05:30
Sameer Kankute
1fd4f1ba52
Merge pull request #18109 from BerriAI/litellm_fix_custom_gaurdrail_fix
Fix guardrails for passthrough endpoint
2025-12-19 08:36:58 +05:30
Chesars
bd36b1261f test: add tests for tool calls transformation fixes
- test_tool_message_output_is_string_not_list: verifies function_call_output.output is a string
- test_multiple_tool_calls_in_single_choice: verifies multiple tool calls are grouped in one choice
2025-12-18 22:01:29 -03:00
yuneng-jiang
41732696c6 replicate delete checks for regenerate 2025-12-18 13:25:11 -08:00
yuneng-jiang
0a1fb204cd Tests for /key/delete 2025-12-18 11:40:41 -08:00
Alexsander Hamir
2e7b554747
3[Fix] CI/CD - logging_testing (#18204)
* fix: enforce team member budget check in common_checks

- Add missing team member budget validation in common_checks() function
  - Checks team membership budget when team key is used
  - Raises BudgetExceededError when team member spend exceeds max_budget_in_team
  - Follows same pattern as other budget checks (team, user, end_user)
  - Uses cached get_team_membership() for performance

- Fix AttributeError in lowest_tpm_rpm.py
  - Add null check for model_info before accessing .get() method
  - Prevents 'NoneType' object has no attribute 'get' error

- Add unit tests for team member budget enforcement
  - Test budget exceeded scenario
  - Test within budget scenario
  - Test edge cases (no budget, no membership, personal keys)
  - Tests run without requiring proxy server

Fixes failing test: test_users_in_team_budget

* fix: mock get_async_httpx_client in test_langsmith_key_based_logging

- Mock get_async_httpx_client to return a mock AsyncHTTPHandler instance
- Fixes test failure where mock_post was never called
- LangsmithLogger creates its own httpx client instance via get_async_httpx_client,
  so we need to mock the factory function rather than the class method
- Use MagicMock for response.raise_for_status (sync method) instead of AsyncMock

* fix: resolve linting errors (PLR0915, F401)

- Remove unused imports (datetime, ServiceLoggerPayload) from arize_phoenix.py
- Extract health ping setup logic from RedisCache.__init__ to reduce statement count
- Extract team member budget check from common_checks to reduce statement count

* fix: resolve type errors in ChatCompletionToolCallChunk construction

- Cast type field to Literal['function'] to satisfy TypedDict requirements
- Ensure arguments field is explicitly str type to match TypedDict signature
- Fixes pyright errors for incompatible types in transformation.py
2025-12-18 10:52:24 -08:00
Ishaan Jaff
5ea0854eda
[Feat] Guardrails Load Balancing - Allow Platform admins to load balance between guardrails (#18181)
* add _aguardrail_helper for LB

* add _aguardrail_helper on router.py

* test_proxy_logging_pre_call_hook_load_balancing

* add _execute_guardrail_with_load_balancing

* add LB TEsting

* docs guard lb

* fix linting

* fix lint
2025-12-19 00:08:03 +05:30