Commit graph

29199 commits

Author SHA1 Message Date
Krish Dholakia
65ff1eff56
MCP Hub - publish/discover MCP Servers within a company (#16857)
* feat: initial commit adding 'public_mcp_servers' endpoint

allow admin to make mcp servers public for AI Hub

* feat: expose public endpoint for getting public mcp's

* feat: initial flow for making MCP servers public via LiteLLM proxy

* fix: fix message on make mcp public

* fix: indicate existing public mcp servers are public, when making mcp servers public

* style: have a public column indicating if mcp server has been made public

* feat: expose new MCP Hub

* feat: include usage examples for mcp hub
2025-11-19 19:06:21 -08:00
Nigel Kukard
c5c563c302
fix: fixed openai conversion from responses to completions (#16864)
- Fix blank function name in completions response when using native function calling
- Fix Enum name being used instead of Enum value for comparison in chunk conversion
- Added additional tests to cover changes

Thanks to @mcowger for the invaluable assitance with figuring this issue out!

Fixed #16863
2025-11-19 19:02:52 -08:00
Krrish Dholakia
2d7365c795 refactor: refactor ai hub for internal users to show public model page
more useful than just seeing models they know they have access to
2025-11-19 18:50:10 -08:00
Sameer Kankute
6fc7397dde
Add Vertex AI Image Edit Support (#16828)
* Add vertex ai image edit support

* Fix lint errors
2025-11-19 18:39:28 -08:00
Sameer Kankute
36c9fede4e
Add azure gpt-5.1 models (#16817) 2025-11-19 18:37:08 -08:00
Ishaan Jaffer
95caa2e3de bump openai 2.8.0 2025-11-19 17:47:18 -08:00
idola9
e1005cb9d3
Use LiteLLM key alias as fallback Noma applicationId in NomaGuardrail (#16832)
* Use auth key name if there are no app id in in headers or in extra_data

* use key alias instead of key name

* Fix

* last priority key alias

* Fix

* Add tests
2025-11-19 17:44:23 -08:00
Ishaan Jaffer
d389b9dd66 bump litellm enterprise 2025-11-19 16:56:50 -08:00
Sameer Kankute
9622829fa1
Fix vector store create issue (#16804) 2025-11-19 16:53:20 -08:00
Ishaan Jaff
cd6256f64a
[Feat] Prompt Management - Add UI for editing the prompts (#16853)
* v0 for prompt management

* v0

* clean up view of prompt editor

* commit editor view

* refactor prompt editor view

* ui - refactor prompt editor

* add move message

* add prompt editor view

* fix allow viewing dotprompt file

* add dotprompt_content

* handleSave for Prompt

* ui fix build fail

* ui fix build
2025-11-19 16:26:11 -08:00
yuneng-jiang
eb793537cd Adding docs 2025-11-19 13:42:03 -08:00
yuneng-jiang
4b80813fc2 Return 404 when a user is not found 2025-11-19 13:37:51 -08:00
Ishaan Jaff
ffe00f4034
Revert "make all gpt-5 and reasoning models to responses by default (#16766)" (#16849)
This reverts commit 149f308451.
2025-11-19 13:32:58 -08:00
dependabot[bot]
98d2dbd711
Bump js-yaml from 3.14.1 to 3.14.2 (#16802)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 13:23:44 -08:00
Ishaan Jaffer
6477740b8c bump proxy extras 2025-11-19 13:23:16 -08:00
Ishaan Jaff
c7cf18cf67
[Feat] Prompt Management - Allow storing prompt version in DB (#16848)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_with_prompt_version

* add v1, v2 tests

* add _compile_prompt_helper

* fix _compile_prompt_helper

* test_dotprompt_with_prompt_version

* test_dotprompt_with_prompt_version, test_get_prompt_with_version

* add version in schema

* feat add _get_prompt_spec_for_db_prompt

* add _get_prompt_spec_for_db_prompt

* feat add _get_prompt_spec_for_db_prompt

* update prompt table

* add version in prompt DB

* test_get_prompt_spec_for_db_prompt_with_versions
2025-11-19 13:19:56 -08:00
Naki
98dd866b26
feat(github-copilot): Add Responses API support for gpt-5.1-codex model (#16845)
- Implement GithubCopilotResponsesAPIConfig for /responses endpoint
- Add support for models requiring responses API (e.g., gpt-5.1-codex)
- Auto-detect vision requests and set X-Initiator header
- Follow OpenAI Responses API compatibility pattern
- Add comprehensive unit tests (16 tests passing)

Fixes #16820
2025-11-19 13:17:19 -08:00
Ishaan Jaff
3ebe489082
[Feat] Prompt Management - Add support for versioning prompts (#16836)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_with_prompt_version

* add v1, v2 tests

* add _compile_prompt_helper

* fix _compile_prompt_helper

* test_dotprompt_with_prompt_version

* test_dotprompt_with_prompt_version, test_get_prompt_with_version
2025-11-19 13:16:03 -08:00
Chesars
3e58fe42b7 fix: Support response_format parameter in completion -> responses bridge
Fixes #16810

## Problem

When using completion() with models that have mode: "responses" (like o3-pro,
gpt-5-codex), the response_format parameter with JSON schemas was being ignored
or incorrectly handled, causing:
- Large schemas (>512 chars) to fail with "metadata.schema_dict_json: string too long" error
- Structured outputs to be silently dropped
- Users' code to break unexpectedly

## Root Cause

The completion -> responses bridge in
litellm/completion_extras/litellm_responses_transformation/transformation.py
was missing the conversion of response_format (Chat Completion format) to
text.format (Responses API format).

The inverse bridge (responses -> completion) already had this conversion
implemented in commit 29f0ed223a, but the completion -> responses direction
was incomplete.

## Solution

Added _transform_response_format_to_text_format() method that converts:
- response_format with json_schema → text.format with json_schema
- response_format with json_object → text.format with json_object
- response_format with text → text.format with text

Updated transform_request() to detect and convert response_format parameter
before sending to litellm.responses().

## Changes

- Added _transform_response_format_to_text_format() method (lines 592-647)
- Modified transform_request() to handle response_format (lines 199-203)
- Added comprehensive tests to validate the conversion

## Testing

- 5 new unit tests covering all conversion scenarios
- Real API test with OpenAI confirming large schemas (>512 chars) work
- No more metadata.schema_dict_json errors

## Impact

Users can now use completion() with models that have mode: "responses" and:
- Use large JSON schemas without hitting metadata 512 char limit
- Get proper structured outputs
- Have their existing code continue working
2025-11-19 17:07:46 -03:00
yuneng-jiang
dcf7daf629 Allow root to redirect when docs are not on root path 2025-11-19 12:05:41 -08:00
Ishaan Jaff
1f8fe007a1
[Feat] Prompt Management - Allow specifying just prompt_id in a request to a model (#16834)
* test_dotprompt_auto_detection_with_model_only

* fix _auto_detect_prompt_management_logger

* test_dotprompt_auto_detection_with_model_only
2025-11-19 10:20:58 -08:00
tushar8408
5f94b372f8
Migration job labels (#16831)
* Add dynamic pod labels and annotations to migrations job

* Bump chart version to 0.4.8
2025-11-19 09:53:21 -08:00
Krrish Dholakia
08246bf908 fix: fix broken doc link 2025-11-19 08:35:38 -08:00
Sameer Kankute
29057ba6ad Added support for azure anthopic models via chat completion 2025-11-19 11:55:38 +05:30
Alan Ponnachan
b92cc2b2f9
fix(bedrock): Ensure consistent chunk IDs in Bedrock streaming responses (#16596)
* ensure consistent chunk IDs in streaming responses

* use native conversationId for consistent stream chunk IDs
2025-11-18 20:37:21 -08:00
Sameer Kankute
149f308451
make all gpt-5 and reasoning models to responses by default (#16766) 2025-11-18 20:31:59 -08:00
yuneng-jiang
5f463cef64
Fix edit logging settings not appearing (#16798) 2025-11-18 20:31:34 -08:00
Sameer Kankute
34cc532d8d
Make sure that user inherits team permissions (#16639) 2025-11-18 20:14:42 -08:00
yuneng-jiang
ab8704f60d
Change placeholder for Azure in Add Model (#16597) 2025-11-18 20:13:48 -08:00
Alexsander Hamir
2e007505da
fix(spend-logs): trim logged response strings (#16654)
* fix(spend-logs): trim logged response strings

- route spend-log responses through the existing string sanitizer so oversized base64/text fields are truncated before persistence
- add unit tests covering the truncation path and the feature flag

Note: embeddings-specific truncation (numeric vectors) is still pending and will be handled separately.

* remove unnecessary comment

* add: sanitization unit test for embeddings

* fix: simplify sanatization logic

I overcomplicated a simple change for lack of understanding, fixed.
2025-11-18 20:12:49 -08:00
yuneng-jiang
69fcedb6d9
[Fix] UI - Add css to truncate long request ids in request viewer (#16665)
* Add css to truncate long request ids in request viewer

* Show tooltip with entire request id when request id is truncated
2025-11-18 20:12:19 -08:00
Cesar Garcia
4167a64853
fix: Support GPT-5.1 reasoning.effort='none' in proxy (#16745)
* fix: Add support for GPT-5.1 reasoning.effort='none' parameter

- Override Reasoning type to include 'none' effort value
- Maintains compatibility with semantic-router (requires openai <2.0.0)
- GPT-5.1 defaults to reasoning.effort='none' as of OpenAI SDK 2.8.0
- Override can be removed once semantic-router supports OpenAI SDK 2.x

Fixes #16741

* feat: Update to OpenAI SDK 2.8+ and Python 3.9+

- Update minimum Python version from 3.8.1 to 3.9 (3.8 EOL Oct 2024)
- Update OpenAI SDK requirement from >=1.99.5 to >=2.8.0
- Update semantic-router to >=0.1.12 with Python >=3.9,<3.14 constraint
- Update resend to >=0.8.0 (allows 2.x versions)
- Revert custom Reasoning TypedDict - now using native type from OpenAI SDK 2.8+

OpenAI SDK 2.8.0 natively supports reasoning.effort='none' for GPT-5.1,
eliminating the need for our custom type override.

* chore: Update poetry.lock with OpenAI SDK 2.8.1 and dependencies
2025-11-18 20:06:50 -08:00
Sameer Kankute
9e93d65ee2
Add extra_body support for response api params from chat completion (#16765) 2025-11-18 20:05:47 -08:00
Marty Sullivan
eb301a7f87
Add Azure models 2025 11 to cost maps (#16762)
* add gpt-realtime models for azure

* update backup models w/ azure realtime

* add azure gpt-5.1 models to cost map

* add gpt-audio azure models to cost map

* add gpt-4o-transcribe-diarize azure model cost
2025-11-18 19:58:06 -08:00
Rob Geada
afc9a763cb
Fix IBM Guardrails optional params, add extra_headers field (#16771)
Signed-off-by: Rob Geada <rob@geada.net>
2025-11-18 19:55:40 -08:00
Cesar Garcia
5e70c78b94
fix(cost-tracking): support base_model lookup in litellm_metadata for Responses API (#16778)
Cost tracking was failing for Responses API when using custom deployment names
with base_model configuration. The issue occurred because:

- Chat Completions API stores model_info in 'metadata'
- Responses API stores model_info in 'litellm_metadata'
- Cost calculator only checked 'metadata', missing Responses API costs

Changes:
- Updated _get_base_model_from_metadata() to check both metadata locations
- Added comprehensive unit tests covering all scenarios
- Maintains backward compatibility (metadata takes precedence)

Fixes #16772
2025-11-18 19:53:18 -08:00
yuneng-jiang
137c6b03f7
Deactivate delete button on model table for config models (#16787) 2025-11-18 19:51:59 -08:00
yuneng-jiang
d0e806d1b3
Add additional model settings to chat models in test key (#16793) 2025-11-18 19:49:16 -08:00
yuneng-jiang
fe05e33723
Fix e2e ui playwright test (#16799) 2025-11-18 17:56:40 -08:00
yuneng-jiang
7b9c409760
Mock tremor's tooltip to fix flaky tests (#16786) 2025-11-18 17:40:50 -08:00
yuneng-jiang
ff90585bfe
Break e2e_ui_testing into build, unit, and e2e steps (#16783) 2025-11-18 17:40:32 -08:00
Ishaan Jaff
c3c6cef6d8
[Fix] Fixes Swagger UI resolver errors for chat completion endpoints caused by Pydantic v2 $defs not being properly exposed in the OpenAPI schema. (#16784)
* fix add_request_body_to_paths

* test_move_defs_to_components
2025-11-18 17:39:28 -08:00
Ishaan Jaff
2880cb45a2
[Fix] AI Gateway Auth - Ensure Team Tags works when using JWT Auth (#16797)
* fix setting team_metadata

* test_team_metadata_with_tags_flows_through_jwt_auth
2025-11-18 17:36:38 -08:00
Krish Dholakia
70e1e83102
feat(managed_files.py): support /delete for files + feat(managed_batches): support /cancel for batches (#16387)
* feat(managed_files.py): initial commit fixing managed file delete on litellm

* fix(managed_files.py): fix file delete

* feat(batches_endpoints/endpoints.py): fix cancelling a batch

ensures managed batches works

---------

Co-authored-by: Ishaan Jaffer <ishaanjaffer0324@gmail.com>
2025-11-18 17:36:26 -08:00
Ishaan Jaff
35ab0e109c
[Docs] SSO - Manage User Roles via Azure App Roles (#16796)
* add img 2

* add app roles

* docs
2025-11-18 16:00:36 -08:00
yuneng-jiang
8a4fefc565 Expose new model provider map endpoint and use in add model workflow 2025-11-18 15:45:35 -08:00
Ishaan Jaff
e2fc225201
[Feat] SSO - Ensure role from SSO provider is used when a user is inserted onto LiteLLM (#16794)
* test_apply_user_info_values_sso_role_takes_precedence

* fix SSO
2025-11-18 15:35:38 -08:00
dependabot[bot]
97bb899f52
Bump js-yaml in /tests/proxy_admin_ui_tests/ui_unit_tests (#16755)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 11:38:54 -08:00
Sameer Kankute
f3344a0d07
Fix videos tagging (#16770) 2025-11-18 11:37:05 -08:00
Cesar Garcia
0908208076
chore: cleanup repo and improve AI docs (#16775)
* chore: remove development setup files from repository

Removes VERTEX_ENV_SETUP.md and setup_vertex_env.sh from the
repository as they are not referenced in documentation or tests.

These files were added in PR #15824 alongside the VertexAI Search
feature. The setup information is already well-documented in the
official docs at:
docs/my-website/docs/pass_through/vertex_ai_search_datastores.md

* docs: add poetry run python usage to CLAUDE.md and AGENTS.md
2025-11-18 11:36:27 -08:00