Commit graph

7328 commits

Author SHA1 Message Date
Ishaan Jaff
818913ee23
[Fix] Fix Pass through routes to work with server root path (#19383)
* test_build_full_path_with_root_default

* fix pt feat
2026-01-19 18:28:55 -08:00
Yuta Saito
ec7bf0ff1a Merge remote-tracking branch 'upstream/main' into litellm_feat_mcp_version_up 2026-01-20 09:52:38 +09:00
Yuta Saito
51cf782292 chore: switch experimental client to streamable_http_client API 2026-01-20 07:37:50 +09:00
Yuta Saito
05d9fb6fd6 feat: SEP-986 2026-01-20 07:24:39 +09:00
Cesar Garcia
d30c25af21
feat(gemini): use responseJsonSchema for Gemini 2.0+ models (#19314)
* feat(gemini): add opt-in support for responseJsonSchema

Add support for Gemini's native responseJsonSchema parameter which uses
standard JSON Schema format instead of OpenAPI-style responseSchema.

Benefits of responseJsonSchema (Gemini 2.0+ only):
- Standard JSON Schema format (lowercase types)
- Supports additionalProperties for stricter validation
- Better compatibility with Pydantic's model_json_schema()
- No propertyOrdering required

Usage:
```python
response_format={
    "type": "json_schema",
    "json_schema": {"schema": {...}},
    "use_json_schema": True  # opt-in
}
```

This is backwards compatible - existing code continues to use
responseSchema by default.

Closes #16340

* docs: add documentation for use_json_schema parameter

Document the new use_json_schema option for Gemini 2.0+ models
in the JSON Mode documentation.

* refactor(gemini): use responseJsonSchema by default for Gemini 2.0+

Remove opt-in flag `use_json_schema` and automatically detect model version:
- Gemini 2.0+: uses responseJsonSchema (standard JSON Schema, supports additionalProperties)
- Gemini 1.5: uses responseSchema (OpenAPI format, legacy)

This follows LiteLLM's philosophy of abstracting provider differences -
users write the same code regardless of model version.

* test(vertex): update json_schema tests to accept both responseSchema formats

Gemini 2.x+ uses responseJsonSchema while Gemini 1.x uses responseSchema.
Update tests to accept both formats since litellm now auto-selects based
on model version.
2026-01-19 10:45:37 -08:00
Cesar Garcia
57b1d99b44
feat(azure): add support for Azure OpenAI v1 API (#19313)
* feat(azure): add support for Azure OpenAI v1 API

When api_version is 'v1', 'latest', or 'preview', use the standard
OpenAI client instead of AzureOpenAI client with base_url pointing
to /openai/v1/ endpoint.

This follows Microsoft's documentation for the new v1 API format:
https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs

Changes:
- Add OpenAI/AsyncOpenAI imports to common_utils.py and azure.py
- Modify get_azure_openai_client() to detect v1 API versions and
  create appropriate client type
- Update isinstance checks and type hints to accept both client types
- Add unit tests for v1 API client creation

* fix(azure): fix MyPy type errors for v1 API support

- Add type: ignore for AsyncOpenAI constructor
- Update type hints in files/handler.py and batches/handler.py
- Add OpenAI/AsyncOpenAI to Union types for client parameters
- Update isinstance checks to include OpenAI/AsyncOpenAI

* fix(azure): update type hints in files and batches handlers for v1 API

Update async method signatures to accept Union[AsyncAzureOpenAI, AsyncOpenAI]
to fix mypy errors when using v1 API client.
2026-01-19 10:44:38 -08:00
Cesar Garcia
4ad5de10cb
fix(realtime): disable SSL for ws:// WebSocket connections (#19345)
When using http:// api_base (converted to ws://), the websockets library
throws "ssl argument is incompatible with a ws:// URI". Only pass SSL
context for secure wss:// connections.

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-01-19 10:37:41 -08:00
Benedikt Óskarsson
406cdbe321
Merge branch 'litellm_staging_01_19_2026' into fix/bedrock-thinking-tool-call-2 2026-01-19 15:18:47 +00:00
Sameer Kankute
d6baa9a4ba
Merge pull request #19234 from BerriAI/litellm_staging_01_16_2026
Litellm staging 01 16 2026
2026-01-19 19:34:53 +05:30
Harshit Jain
1dc2d2ddac
fix(utils.py): correctly extract messages from google genai contents (#19156)
* fix(utils.py): correctly extract messages from google genai contents

* refactor use shared utilities
2026-01-19 06:00:23 -08:00
Sameer Kankute
daf70f7221
Merge pull request #19329 from BerriAI/litellm_vector_store_sync
Fix: vector store sync issues
2026-01-19 19:11:48 +05:30
Manuel Schweigert
29adf34313
Add ChatGPT subscription support and responses bridge (#19030)
* Add ChatGPT subscription support and responses bridge

* Fix typing import for responses bridge

* Guard device code timestamp parsing

* add /v1/messages endpoint to chatgpt model
2026-01-19 05:37:45 -08:00
Sameer Kankute
574391c118
Revert "Fix audio cost per second override (#19158)"
This reverts commit 2a0f87bde0.
2026-01-19 18:51:08 +05:30
Benedikt Óskarsson
f09cae2107
Merge branch 'main' into fix/bedrock-thinking-tool-call-2 2026-01-19 13:08:17 +00:00
Sameer Kankute
480fa13b1d
Merge pull request #19343 from BerriAI/litellm_anthropic_header_fix_19_jan
Fix: anthropic-beta is getting overriden and set to anthropic-beta
2026-01-19 18:24:46 +05:30
Sameer Kankute
a9475be06d
Merge pull request #19338 from BerriAI/litellm_fix_managed_load_balancing_batches
Add managed files support when load_balancing is True
2026-01-19 18:24:21 +05:30
Sameer Kankute
c5a8d4e34e
Merge branch 'main' into litellm_staging_01_16_2026 2026-01-19 18:11:21 +05:30
Chesars
45eb35938b fix: drop_params not dropping prompt_cache_key for non-OpenAI providers
Fixes #19225

Add prompt_cache_key and other missing OpenAI Chat Completions params
to DEFAULT_CHAT_COMPLETION_PARAM_VALUES so drop_params: true works.

Also fix additional_drop_params to filter extra params for all providers,
not just OpenAI/Azure.
2026-01-19 08:49:03 -03:00
Sameer Kankute
d7b103158a Fix: anthropic-beta is getting overriden and set to anthropic-beta': 'structured-outputs-2025-11-13', 2026-01-19 16:43:27 +05:30
Sameer Kankute
eea24978b9 Add managed files support when load_balancing is True 2026-01-19 15:54:04 +05:30
Sameer Kankute
514ebb0d96 Fix: vector store sync issues 2026-01-19 13:17:08 +05:30
Sameer Kankute
480cb9c0d8 Fix: upload pdfs for file endpoint 2026-01-19 11:58:32 +05:30
yuneng-jiang
aad92c0b25 Merge pull request #19116 from BerriAI/litellm_org_admin_escalte
[Fix] /user/new Privilege Escalation
2026-01-17 16:32:04 -08:00
Ishaan Jaff
104283ae8f
[Feat] Claude Code - Add Websearch support using LiteLLM /search (using web search interception hook) (#19263)
* init WebSearchInterceptionLogger

* test_websearch_interception_real_call

* init async_should_run_agentic_completion

* async_should_run_agentic_loop

* async_run_agentic_loop

* refactor folder

* fix organization

* WebSearchTransformation

* WebSearchInterceptionLogger

* _call_agentic_completion_hooks

* WebSearch Interception Architecture

* test_websearch_interception_real_call

* add streaming

* add transform_request for streaming

* get_llm_provider

* test fix

* fix info

* init from config.yaml

* fixes

* test handler

* fix _is_streaming_response

* async_run_agentic_loop

* mypy fix
2026-01-16 21:10:05 -08:00
yuneng-jiang
90dc0e9120 Merge remote-tracking branch 'origin' into litellm_deleted_keys_endpoint 2026-01-16 19:25:03 -08:00
yuneng-jiang
de84b2edce Fixing tests and adding proper returns 2026-01-16 19:24:51 -08:00
yuneng-jiang
bb4b791746 Merge remote-tracking branch 'origin' into litellm_deleted_keys_endpoint 2026-01-16 18:15:37 -08:00
yuneng-jiang
1911039416 Merge remote-tracking branch 'origin' into litellm_model_hub_health 2026-01-16 18:14:37 -08:00
yuneng-jiang
476258b3f8 Linting 2026-01-16 17:20:01 -08:00
yuneng-jiang
e9c806797d adding tests 2026-01-16 17:11:13 -08:00
yuneng-jiang
96493e3936 Add status to /list in keys and teams 2026-01-16 17:03:09 -08:00
Ishaan Jaff
d2a40c8456
[Fix] - Reliability fix OOMs with image url handling (#19257)
* fix MAX_IMAGE_URL_DOWNLOAD_SIZE_MB

* test_image_exceeds_size_limit_with_content_length

* fix: _process_image_response

* add constants 50MB

* fix convert_to_anthropic_image_obj image handling

* test_gemini_image_size_limit_exceeded

* MAX_IMAGE_URL_DOWNLOAD_SIZE_MB fix

* MAX_IMAGE_URL_DOWNLOAD_SIZE_MB

* test_image_size_limit_disabled

* async_convert_url_to_base64

* docs fix

* code QA check

* fix Exception
2026-01-16 16:41:44 -08:00
yuneng-jiang
439472f800 /public/model_hub health information 2026-01-16 15:36:56 -08:00
Harshit Jain
866bd46748
chore: resolve ModuleNotFoundError for Microsoft Foundry Agents (#18991) 2026-01-17 04:56:52 +05:30
Ryan Malloy
5a9f6e90cf
fix(tools): prevent OOM with nested $defs in tool schemas (#19098) (#19112) 2026-01-17 04:54:28 +05:30
yuneng-jiang
809b4cb310
Revert "Revert "[Feature] Deleted Keys and Deleted Teams Table"" 2026-01-16 14:25:23 -08:00
Yuta Saito
18bcb429fc Manual revert #19078 2026-01-17 06:54:08 +09:00
YutaSaito
034e3a6d44
Revert "[Feature] Deleted Keys and Deleted Teams Table" 2026-01-17 06:46:41 +09:00
YutaSaito
7aba0f738a
Revert "Litellm staging 01 15 2026" 2026-01-17 06:31:34 +09:00
YutaSaito
3e9e65c123
Merge pull request #19245 from BerriAI/revert-19141-litellm_stablise_mock_tests
Revert "Stabilise mock tests"
2026-01-17 06:27:53 +09:00
yuneng-jiang
2394e722d6
Merge branch 'main' into litellm_deleted_keys_team 2026-01-16 13:27:16 -08:00
YutaSaito
eec4ed640b
Revert "Stabilise mock tests" 2026-01-17 06:26:18 +09:00
YutaSaito
edea885316
Merge pull request #19240 from BerriAI/revert-19116-litellm_org_admin_escalte
Revert "[Fix] /user/new Privilege Escalation"
2026-01-17 06:12:14 +09:00
YutaSaito
66d67ae356
Revert "Add sanititzation for anthropic messages" 2026-01-17 06:01:12 +09:00
YutaSaito
237ba2203e
Revert "[Fix] /user/new Privilege Escalation" 2026-01-17 05:57:07 +09:00
Dushyant
2a0f87bde0
Fix audio cost per second override (#19158) 2026-01-17 01:00:16 +05:30
Anand Kamble
2c75194b49
fix(vertex_ai): Vertex AI 400 Error: Model used by GenerateContent request (models/gemini-3-*) and CachedContent (models/gemini-3-*) has to be the same (#19193)
* fix(vertex_ai): include model in context cache key generation

* test(vertex_ai): update context caching tests to verify model in cache key
2026-01-17 00:56:15 +05:30
yuneng-jiang
33ff58b70a Merge remote-tracking branch 'origin' into litellm_deleted_keys_team 2026-01-16 09:55:52 -08:00
yuneng-jiang
e3d1e0345c only show own internal user usage 2026-01-16 09:38:34 -08:00
Sameer Kankute
9388dd842a
Merge pull request #19159 from BerriAI/litellm_staging_01_15_2026
Litellm staging 01 15 2026
2026-01-16 18:04:25 +05:30