Commit graph

31634 commits

Author SHA1 Message Date
Yuneng Jiang
3ee6c5b95b
chore: fixes
Some checks failed
Unit Tests: Caching (Redis) / caching-redis (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (key-generation, tests/proxy_unit_tests/test_key_generate_prisma.py, 30, 0) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Security / security (push) Has been cancelled
2026-04-05 00:49:56 -07:00
Shin
e7f4665091 Fix test isolation for test_watsonx_gpt_oss_prompt_transformation
Set cached tokenizer config directly and mock both sync and async
tokenizer functions to avoid race conditions when running with
parallel test execution (-n 16).

The issue was that parallel tests could populate the
litellm.known_tokenizer_config cache between clearing it and
when the code checked it. This caused the sync code path to be
used instead of the async path, bypassing the mocked async functions.

Fix:
1. Set cache directly instead of clearing it
2. Also mock sync versions _get_tokenizer_config and _get_chat_template_file

This ensures the test is deterministic regardless of test execution order.
2026-02-05 06:29:05 +00:00
Sameer Kankute
1017c3a0e4
Merge pull request #20464 from BerriAI/litellm_cicd_5_feb_2026
Litellm cicd 5 feb 2026
2026-02-05 11:03:35 +05:30
Sameer Kankute
0ce1bfe26a bump: version 1.81.7 → 1.81.8 2026-02-05 10:44:48 +05:30
Sameer Kankute
5422a5962e Fix test_route_a2a_model_bypasses_router 2026-02-05 09:47:05 +05:30
Sameer Kankute
5e8c7f0de1 Fix mypy issues 2026-02-05 09:44:05 +05:30
Sameer Kankute
0f177a3b01 Fix: test_team_update_sc_2 2026-02-05 09:40:21 +05:30
yuneng-jiang
02ed25c886
Merge pull request #20461 from BerriAI/ui_build_fix_4
[Infra] Fixing UI Build
2026-02-04 20:05:50 -08:00
yuneng-jiang
b982542c6c fixing build 2026-02-04 20:05:10 -08:00
Sameer Kankute
137413f8c1
Merge pull request #20460 from BerriAI/litellm_proxy_extras_bump_version_5_feb
chore: update poetry.lock for litellm-proxy-extras 0.4.30
2026-02-05 09:28:10 +05:30
Sameer Kankute
64aeb18a10 chore: update poetry.lock for litellm-proxy-extras 0.4.30
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 09:25:52 +05:30
Sameer Kankute
cda4b72e2d
Merge pull request #20458 from BerriAI/litellm_proxy_extras_bump_version_5_feb
bump: litellm-proxy-extras 0.4.29 → 0.4.30
2026-02-05 09:22:29 +05:30
Sameer Kankute
3c12dda856 bump: litellm-proxy-extras 0.4.29 → 0.4.30
- Add allow_team_guardrail_config field to TeamTable and DeletedTeamTable
- Add migration 20260205091235_allow_team_guardrail_config
2026-02-05 09:21:20 +05:30
Cesar Garcia
e0802783f3
feat(openrouter): add Qwen3-235B models (#20455)
Add OpenRouter Qwen3-235B-A22B models to the pricing configuration:
- openrouter/qwen/qwen3-235b-a22b-2507
- openrouter/qwen/qwen3-235b-a22b-thinking-2507

Closes request from PR #13019 comments.
2026-02-04 19:35:22 -08:00
jquinter
47b546f69a
fix(lint): remove unused Any/cast imports in github_copilot transformation (#20431)
The cast(Any, message) pattern was used to suppress typed-dict mutation
warnings, but the parameter has no type annotation so it's unnecessary.
Direct assignment works and eliminates the F401 unused-import lint error.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 18:41:01 -08:00
michelligabriele
8e1201ca3d
docs: improve Okta SSO setup guide with step-by-step instructions (#20353)
* docs: improve Okta SSO setup guide with step-by-step instructions

- Add clear steps for creating OIDC app in Okta Admin Console
- Document critical Authorization Server Access Policy configuration
- Add troubleshooting table for common errors
- Link to official Okta documentation for detailed UI instructions
- Fix incorrect OAuth endpoint examples (was using Auth0 URLs)

* docs: add Okta console screenshots for SSO setup guide

- Add screenshot showing Sign-in redirect URI configuration
- Add screenshot showing Client Credentials location
- Add screenshot showing Authorization Server Access Policy setup

* docs: replace Okta screenshots with annotated Scribe versions

- Replace screenshots with Scribe-annotated versions highlighting key areas
- Add step-by-step screenshots for Authorization Server Access Policy setup
- Remove old unannotated screenshots
2026-02-04 18:39:51 -08:00
Ishaan Jaff
15b717c300
[Feat] UI - Add support for MCP Semantic Filtering on UI (#20454)
* feat: remove_callbacks_by_type

* feat: _init_semantic_filter_settings_in_db

* add MCP semantic filtering settings endpoints

* v0 - semantic filter UI

* fix endpint _init_semantic_filter_settings_in_db

* refactor ui

* add LITELLM_UI_ALLOW_HEADERS

* ui fix

* ui fix
2026-02-04 18:38:53 -08:00
Ishaan Jaff
2a3843aa57
[Fix] inconsistent response format in anthropic.messages.acreate() when using non anthropic providers (#20442)
* _translate_openai_content_to_anthropic

* test_response_format_consistency

* test fixes unit tests

* test fix

* fix: use dict access for anthropic content blocks in tests (#20447)

The translate_openai_response_to_anthropic method returns dicts, not objects.
Changed .type/.text/.thinking attribute access to dict ['key'] access.

---------

Co-authored-by: shin-bot-litellm <shin-bot-litellm@berri.ai>
2026-02-04 16:37:40 -08:00
Ishaan Jaff
6a73e5bd37
Revert "fix(a2a): use text/event-stream SSE format for message/stream endpoin…" (#20446)
This reverts commit 0209b214ac.
2026-02-04 16:08:22 -08:00
shin-bot-litellm
0209b214ac
fix(a2a): use text/event-stream SSE format for message/stream endpoint (#20365)
* fix(a2a): use text/event-stream SSE format for message/stream endpoint

The A2A gateway's streaming response was using application/x-ndjson
Content-Type and raw NDJSON body format. The A2A protocol spec requires
text/event-stream with SSE framing (data: ...\n\n).

The official a2a-sdk client validates the Content-Type header and raises
SSEError when it doesn't contain text/event-stream.

Changes:
- Changed media_type from application/x-ndjson to text/event-stream
- Updated response body to use SSE framing (data: prefix + \n\n suffix)
- Added tests validating Content-Type and SSE body format

Fixes #20278

* Potential fix for code scanning alert no. 4045: Information exposure through an exception

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* test(a2a): add manual SSE format validation script

Adds a manual test script that:
1. Starts a real A2A agent on port 10001
2. Starts LiteLLM proxy with the agent registered
3. Makes a streaming request to the proxy's A2A gateway
4. Validates Content-Type header is text/event-stream
5. Validates body uses SSE framing (data: ...\n\n)

Run: python tests/a2a_manual/test_a2a_sse_manual.py

---------

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-02-04 16:07:17 -08:00
Shivam Rawat
795ba8efe3
Merge pull request #20443 from BerriAI/docs_langfuse_multi_project_cred_support
langfuse doc update
2026-02-04 15:55:04 -08:00
shivam
555e1da9b4 langfuse doc update 2026-02-04 15:53:24 -08:00
shin-bot-litellm
d1994a148d
Fix mypy type error in fireworks_ai transformation (#20391)
Cast message to dict before calling pop() to satisfy mypy's type checker.
The message is typed as a Union of TypedDicts which don't have the
'provider_specific_fields' key, but the runtime check already confirms
it's a dict with this key.
2026-02-04 15:44:45 -08:00
yuneng-jiang
d2e113111f
Merge pull request #20436 from BerriAI/litellm_search_tools_config_ui
[Feature] UI - Search Tools: Show Config Defined Search Tools
2026-02-04 13:56:19 -08:00
yuneng-jiang
cd9466a50c Adding tests 2026-02-04 12:35:58 -08:00
yuneng-jiang
609c423314 migrate to antd table 2026-02-04 12:22:57 -08:00
yuneng-jiang
208cf5e86d refactor - rename search tools files 2026-02-04 11:53:03 -08:00
yuneng-jiang
a16faa9e0a
Merge pull request #20394 from BerriAI/litellm_spend_fix_2
[Fix] Unique Constraint on Daily Tables + Logging When Updates Fail
2026-02-04 09:42:46 -08:00
Sameer Kankute
8b563a7641
Merge pull request #20402 from BerriAI/litellm_responses_tools_file_ids
Add mapping for responses tools in file ids
2026-02-04 18:09:39 +05:30
Sameer Kankute
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 Kankute
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 Kankute
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 Kankute
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 Kankute
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 Kankute
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 Kankute
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 Kankute
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