Commit graph

6027 commits

Author SHA1 Message Date
Sameer Kankute
50fc30644e
Merge pull request #17311 from Chesars/fix/azure-gpt5.1-reasoning-effort-none
Fix: Allow reasoning_effort='none' for Azure gpt-5.1 models
2025-12-04 09:08:32 +05:30
Ishaan Jaff
585aee2ae4
[Feat] Agent Gateway - Allow tracking request / response in "Logs" Page (#17449)
* init litellm A2a client

* simpler a2a client interface

* test a2a

* move a2a invoking tests

* test fix

* ensure a2a send message is tracked n logs

* rename tags

* add streaming handlng

* add a2a invocation

* add a2a invocation i cost calc

* test_a2a_logging_payload

* update invoke_agent_a2a

* test_invoke_agent_a2a_adds_litellm_data

* add A2a agent
2025-12-03 18:57:18 -08:00
Ishaan Jaff
4370f6fb74
[Feat] Agent Gateway - Allow invoking agents through AI Gateway (#17440)
* init litellm A2a client

* simpler a2a client interface

* test a2a

* move a2a invoking tests

* test fix

* ensure a2a send message is tracked n logs

* rename tags

* add streaming handlng

* add a2a invocation
2025-12-03 18:54:55 -08:00
Xianzong Xie
540f14ef51 feat: improve polling via cache feature
- Add 150ms batched updates instead of per-event updates for better performance
- Handle response.output_text.delta events for text accumulation
- Add response.in_progress event handling for status updates
- Add response.completed event handling with reasoning, tools, tool_choice
- Remove unused output_item parameter from update_state
- Remove response.done event type (not valid in OpenAI spec)
- Remove documentation files
- Add comprehensive unit tests for ResponsePollingHandler

Committed-By-Agent: cursor
2025-12-03 18:37:28 -08:00
yuneng-jiang
e29acb2f64
Merge pull request #16850 from BerriAI/litellm_user_info_404
[Fix] Return 404 when a user is not found on /user/info
2025-12-03 17:15:55 -08:00
yuneng-jiang
d215576477 Add auto redirect to SSO to new login page 2025-12-03 17:07:12 -08:00
yuneng-jiang
73824c278a
Merge pull request #17443 from BerriAI/litellm_v2_login
[Feature] New Login Page
2025-12-03 16:23:47 -08:00
yuneng-jiang
37c598441f Change is_sso_configured to auto_redirect_to_sso 2025-12-03 15:48:50 -08:00
yuneng-jiang
8a1cf104e0 Merge remote-tracking branch 'origin' into litellm_ui_config_add_sso 2025-12-03 15:36:33 -08:00
yuneng-jiang
ee63105e16
Merge pull request #17446 from BerriAI/litellm_ui_e2e_cicd_fix
[Fix] Change e2e test to look for Virtual Keys instead of API Keys
2025-12-03 15:35:22 -08:00
yuneng-jiang
de4b79851f Change e2e test to look for Virtual Keys instead of API Keys 2025-12-03 15:26:25 -08:00
Ishaan Jaff
100cfc11ac
[Bug Fix] Parallel Request Limiter with /messages (#17426)
* fix: use standard_logging_object for parallel request limiter

* fix test parallel request limtier
2025-12-03 14:13:28 -08:00
yuneng-jiang
9bb292f478 V2 login route 2025-12-03 12:41:45 -08:00
Haji Akhundov
69b32dd870 Fix ruff linting errors: remove unused imports and variables 2025-12-03 21:06:32 +01:00
Haji Akhundov
e5baff780a Enforce SCIM 2.0 compliance: reject non-existent users in groups
- Reject group operations when users don't exist (security fix)
- Prevents unauthorized user provisioning via group membership
- Aligns with SCIM 2.0 protocol: users must exist before group membership
- Add validation for empty user IDs
- Update tests to verify rejection behavior

This is a breaking change but necessary for security and SCIM compliance.
Users must be created via POST /Users before being added to groups.
2025-12-03 20:44:54 +01:00
yuneng-jiang
cc92fdf90f Merge remote-tracking branch 'origin' into litellm_ui_callback_fix 2025-12-03 11:02:59 -08:00
yuneng-jiang
457840afed Merge remote-tracking branch 'origin' into litellm_user_info_404 2025-12-03 11:02:23 -08:00
yuneng-jiang
e6620fcdad Ruff checks 2025-12-03 11:01:10 -08:00
yuneng-jiang
b3c0ea5414 Merge remote-tracking branch 'origin' into litellm_login_route_refactor 2025-12-03 10:40:11 -08:00
Sameer Kankute
ece1e49fda
Merge pull request #17414 from BerriAI/litellm_ragflow_vector_store
Add vector store support for ragflow
2025-12-03 20:48:52 +05:30
Sameer Kankute
fcc2855baa
Merge pull request #17403 from BerriAI/litellm_streaming_gemini_3_fix
Fix gemini 3 last chunk thinking block
2025-12-03 20:48:13 +05:30
Sameer Kankute
7e9c1ffb33
Merge pull request #17407 from BerriAI/litellm_enforce_enforce_user_param
Enforce support of enforce_user_param to openai post endpoints
2025-12-03 20:45:21 +05:30
Sameer Kankute
1fbe310444
Merge pull request #17405 from BerriAI/litellm_gemini_thought_sig_tool_beta
Make thought sign in tool call id as a beta feat
2025-12-03 20:43:53 +05:30
Haji Akhundov
8871a5670b Simplify SCIM tests to focus on core issue 2025-12-03 14:50:03 +01:00
Haji Akhundov
c01a4c6e57 Add tests for SCIM user_email UUID validation fix
- Test user with UUID in user_email (defensive fix scenario)
- Test user with None email (root cause fix scenario)
- Verifies transformation doesn't fail and emails array is empty for invalid emails
2025-12-03 14:41:10 +01:00
Sameer Kankute
8eaabb4ad7 Add vector store support for ragflow 2025-12-03 15:29:47 +05:30
Sameer Kankute
52090c3f3e
Merge pull request #17350 from BerriAI/litellm_rag_chat_completion_api
Add ragflow support for chat completions API
2025-12-03 13:29:32 +05:30
Sameer Kankute
ba59cebb57
Merge pull request #17408 from BerriAI/main
merge main
2025-12-03 12:33:21 +05:30
Krish Dholakia
8edcc4ecc3
Guardrails API - add streaming support (#17400)
* fix(initial-commit): adding a way to get the right response type based on the api route

* feat(unified_guardrail.py): support streaming guardrails

* test: update tests

* fix: fix linting errors

* test: update tests
2025-12-02 22:52:09 -08:00
Sameer Kankute
54e29e7828 Enforce support of enforce_user_param to openai post endpoints 2025-12-03 12:19:21 +05:30
rioiart
1ac2655b17
Fix/organization max budget not enforced (#17334)
* test: add failing tests for organization budget enforcement bug

Add comprehensive tests exposing that organization-level budgets are
retrieved but never enforced during request authentication. Tests verify:

1. Basic org budget exceeded scenario (team under budget, org over)
2. Multiple teams collectively exceeding org budget
3. Organization budget fields exist but are never checked
4. Inconsistency between team budget enforcement (works) and org (doesn't)

Tests intentionally fail to document the bug. Will be fixed in next commit.

Related to organization_max_budget not being enforced in auth_checks.py

* fix: enforce organization budget in auth checks

Add organization budget enforcement to common_checks() in auth_checks.py.
Previously, organization_max_budget was retrieved from DB but never checked,
allowing teams to collectively exceed their organization's budget limit.

Changes:
- Add _organization_max_budget_check() function following team budget pattern
- Call org budget check after team budget check in common_checks()
- Add "organization_budget" to budget_alerts type literals
- Update tests to verify org budget is enforced

Budget hierarchy is now properly enforced:
  Organization Budget (hard ceiling)
    └─ Team Budget (sub-allocation)
        └─ Team Member Budget (per-user within team)
            └─ Key Budget (per-key)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: add organization_id to budget alerts, fix enum comparison and linting of newly added code

- Add organization_id field to CallInfo class for better alert context
- Include organization_id in budget alerts (token, soft, team, org)
- Fix event_group enum comparison (was comparing enum to string)
- Add OrganizationBudgetAlert class for organization budget alerting
- Add organization_budget to test parameterizations
- Apply Black formatting to slack_alerting.py

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-02 22:46:03 -08:00
Matt Greathouse
f22bc0aab2
Support Deepseek 3.2 with Reasoning (#17384)
* Add openrouter/deepseek/deepseek-v3.2

* Added deepseek-provided v3.2

* Allow reasoning effort param for openrouter models that support it

* Added tests
2025-12-02 22:00:19 -08:00
Richard Song
099ccf56a7
Refactor add_schema_to_components to move definitions to components/schemas and add corresponding unit test (#17389) 2025-12-02 21:57:07 -08:00
Sameer Kankute
40c203e32b Make thought sign in tool call id as a beta feat 2025-12-03 11:04:53 +05:30
Sameer Kankute
209e9e05aa Fix gemini 3 last chunk thinking block 2025-12-03 10:13:59 +05:30
Sameer Kankute
a0819d6df0
Merge branch 'main' into litellm_vertex-bge-cherrypick 2025-12-03 08:37:04 +05:30
yuneng-jiang
7fea97a0c0 Add is_sso_configured to UI Config 2025-12-02 17:53:16 -08:00
Ishaan Jaff
427074ac6e
Fix: Datadog callback regression when ddtrace is installed (#17393)
* fix DD agent host logging

* docs fix

* test_datadog_agent_configuration

* test_datadog_ignores_ddtrace_agent_host
2025-12-02 17:27:50 -08:00
flozonn
31cad8e6e6
feat: Add Nova lite 2 reasoning support with reasoningConfig (#17371) 2025-12-02 16:33:07 -08:00
Ishaan Jaff
6c188c5ae2
[Feat] New model/provider - Adds support for Google Cloud Chirp3 HD on /speech (#17391)
* docs vertex tts

* place vertex ai types in file

* use VertexAITextToSpeechConfig

* use vertex_voice_dict

* refactor docs

* docs vertex ai chirp

* TestVertexAITextToSpeechConfig

* new provider vertex ai chirp3

* test_litellm_speech_vertex_ai_chirp

* add vertex_ai/chirp cost trackign
2025-12-02 15:36:23 -08:00
Leslie Cheng
de4ff120eb
🐛 Fix proxy caching between requests in aiohttp transport (#17122)
* write a regression test

* impl fix

* add test for host case

* use the host as cache key
2025-12-02 14:37:45 -08:00
yuneng-jiang
6ee9d9c344 /login route refactor 2025-12-02 11:19:27 -08:00
kothamah
12530b375f
Litellm bedrock OpenAI model support (#17368)
* Update constants.py

added constants

* Update base_aws_llm.py

added steps

* Update invoke_handler.py

added openai support

* Update base_invoke_transformation.py

added

* Update test_bedrock_completion.py

added
2025-12-02 09:19:53 -08:00
Sameer Kankute
397aceced8
Merge pull request #17342 from BerriAI/litellm_fix_mcp_auth_header_forwarding
Fix: litellm user auth not passing issue
2025-12-02 22:20:33 +05:30
Sameer Kankute
18a9af3488
Merge pull request #17291 from BerriAI/litellm_fix_correct_attribute_error_code_raise
Fix 500 error for malformed request
2025-12-02 22:17:48 +05:30
Ishaan Jaff
1bb9e1bde8
[Feat] Add vllm batch+files API support (#15823)
* add OPENAI_COMPATIBLE_BATCH_AND_FILES_PROVIDERS

* fix use OPENAI_COMPATIBLE_BATCH_AND_FILES_PROVIDERS

* add _get_batch_job_total_usage_from_file_content

* fixes for vLLM + 12 labs async invoke

* fix: vLLM Batch APIs

* afile_retrieve

* test_hosted_vllm_full_workflow

* fix SERVER_URL for test
2025-12-02 08:41:50 -08:00
Sameer Kankute
2201e12acc Fix import error 2025-12-02 22:08:23 +05:30
Ishaan Jaffer
fe03833d3b test_vertex_ai_bge_psc_endpoint_url_construction 2025-12-02 21:59:53 +05:30
Ishaan Jaffer
075a80b747 test_vertex_ai_bge_with_endpoint_id_pattern 2025-12-02 21:59:02 +05:30
Ishaan Jaffer
58d9531869 test_is_bge_model_detection 2025-12-02 21:59:02 +05:30