Commit graph

27715 commits

Author SHA1 Message Date
naaa760
a24b43cbdf only added the helper that converts 2025-11-25 17:27:39 +05:30
naaa760
2cc2f67a76 added the minimal GET logic 2025-11-25 17:27:12 +05:30
naaa760
c54986c3c9 list path now routes to Vertex 2025-11-25 17:26:53 +05:30
wcyat
6dcb5425a5
fix(vertex): fix CreateCachedContentRequest enum error (#16965)
* feat: add _fix_enum_types function to remove enums from non-string fields in schema

* test: add test for _fix_enum_types function to validate enum removal from non-string fields
2025-11-24 21:24:29 -08:00
yuneng-jiang
babee43dde
Merge pull request #17068 from BerriAI/litellm_additional_delete_resource_modal
[Feature] Change Delete Modals to Common Component
2025-11-24 20:58:46 -08:00
Dmitrii Komarov
046b7efbbe
Make Bedrock image generation more consistent (#17021) 2025-11-24 20:58:01 -08:00
Saar wintrov
cfd35d3b14
Metadata: fix 401 when audio/transcriptions (#17023)
* Metadata: fix 401 when audio/transcriptions

* check if str, CR fixes
2025-11-24 20:56:27 -08:00
Cesar Garcia
650b18974f
fix(gemini): skip thinking config for image models (#17027)
* fix(gemini): exclude image models from automatic thinking_level parameter (#17013)

- gemini-3-pro-image-preview does not support thinking_level parameter
- Added check to skip adding thinkingConfig for models containing "image"
- Fixes BadRequestError: "Thinking level is not supported for this model"
- Only affects automatic default behavior, user can still pass reasoning_effort explicitly

Fixes #17013

* test: add tests for gemini-3 image models thinking_level exclusion

* update docs
2025-11-24 20:54:12 -08:00
yuneng-jiang
3aba6d96fd
[Fix] UI - Add No Default Models for Team and User Settings (#17037)
* Add No Default Models to Team and User settings

* Removing unused imports

* Adding to Create User and Team flow
2025-11-24 20:53:17 -08:00
Saar wintrov
777ef628d2
Enhancement(helm): ServiceMonitor template rendering (#17038)
* Metadata: fix 401 when audio/transcriptions

* check if str, CR fixes

* Added new helmchart functionality

* .

* .

* adding new tests
2025-11-24 20:53:02 -08:00
Emerson Gomes
597fa4d35c
Fix image edit endpoint (#17046)
* Fix image edit endpoint

* Update litellm/proxy/image_endpoints/endpoints.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-24 20:52:35 -08:00
yuneng-jiang
d2b3ef0667
Add aws_bedrock_runtime_endpoint into Credential Types (#17053) 2025-11-24 20:48:51 -08:00
Krish Dholakia
1ae80955e8
Docs: Add link to logging payload spec (#17049)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-11-24 20:48:10 -08:00
yuneng-jiang
3f5a34d72c
Deleting a user from team deletes key user created for team (#17057) 2025-11-24 20:47:43 -08:00
yuneng-jiang
e371ff454a
Non root docker build fix (#17060) 2025-11-24 20:45:56 -08:00
yuya_matsuba
262fb742d2
Fix: Distinguish permission errors from idempotent errors in Prisma migrations (#17064)
* fix: distinguish permission errors from idempotent errors in Prisma migrations

* style: apply Black formatting and fix line length issues
2025-11-24 20:41:44 -08:00
Raghav Jhavar
bd8196f982
(fix) propagate x-litellm-model-id in responses (#16986)
* propagate model id on errors too

* make it work for messages and streaming

* fix

* cleanup

* cleanup

* final

* cleanup

* clean up method name and fix responses api streaming

* remove comment
2025-11-24 20:40:43 -08:00
yuneng-jiang
d53bc7b9a0 Change modals to reusable component 2025-11-24 20:37:33 -08:00
Sameer Kankute
282ac87617
Add temperature support for 5.1 models (#17011) 2025-11-24 18:54:22 -08:00
Sameer Kankute
fc219c7db8
Integrate eleven labs text-to-speech (#16573)
* Add elevenlaps tts support

* fix mypy error

* add simple usage in docs
2025-11-24 18:49:30 -08:00
Sameer Kankute
35bfcac3bc
Add header forwarding in embedding (#16869) 2025-11-24 18:48:10 -08:00
Sameer Kankute
c6fbdc7dc5
fix bedrock passthrough auth issue (#16879) 2025-11-24 18:44:59 -08:00
Sameer Kankute
3b6c170739
Fix the azure auth format for videos (#17009)
* fix the azure auth in correct format

* Add litellm param in validate_environment method

* fix lint errors
2025-11-24 17:40:55 -08:00
Haiyi
84e8b9a7bf
fix: handle None or empty contents in Gemini token counter (#17020)
Adds null/empty check before processing contents in GoogleAIStudioTokenCounter
to prevent errors when contents is None or empty.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-24 17:40:00 -08:00
Sameer Kankute
629404a100
Add cost tracking for cohere embed passthrough endpoint (#17029)
* Add cost tracking for cohere embed passthrough endpoint

* update passthrough code

* update passthrough code

* fixed lint and mypy errors
2025-11-24 17:39:26 -08:00
Mubashir Osmani
aec6590486
add strands tutorial (#17039)
* add strands tutorial

* configgg
2025-11-24 17:31:59 -08:00
YutaSaito
f5a3349fef
feat: add UI support for configuring tool permission guardrails (#17050)
* feat: add UI support for configuring tool permission guardrails

* chore: rename UI/Docs references to "LiteLLM Tool Permission Guardrail"
2025-11-24 17:13:07 -08:00
Ishaan Jaff
d2b90e6644
[Docs] Claude Skills API (#17052)
* add skillls api

* init doc

* docs fix

* skills API
2025-11-24 15:32:03 -08:00
Ishaan Jaff
4e195d639e
[Feat] New API - Claude Skills API (Anthropic) (#17042)
* init readme

* init BaseSkillsAPIConfig

* init types for Skills APIs

* add feat: add create, list, retrieve skills

* add base skills config

* add BaseSkillsAPIConfig

* add get_provider_skills_api_config

* init skills

* add ANTHROPIC_SKILLS_API_BETA_VERSION

* init skills APIs

* working list, get skills

* working e2e skills API anthropic API

* add _prepare_skill_multipart_request

* add skills routes to llm api routes

* router _initialize_skills_endpoints

* add fix skills endpoints

* add convert_upload_files_to_file_data

* fix routing skills endpoints

* fix route llm request

* Potential fix for code scanning alert no. 3806: Clear-text logging of sensitive information

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

* Potential fix for code scanning alert no. 3809: Clear-text logging of sensitive information

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

* fix ruff checks

* test_initialize_skills_endpoints

* fix claude skills mypy linting errors

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-11-24 15:01:40 -08:00
Mubashir Osmani
a807fe4450
add claude opus 4.5 (#17043)
* add claude opus 4.5

* Apply suggestion from @Chesars

Co-authored-by: Cesar Garcia <128240629+Chesars@users.noreply.github.com>

---------

Co-authored-by: Cesar Garcia <128240629+Chesars@users.noreply.github.com>
2025-11-24 14:30:36 -08:00
Lior Drihem
62b84d6aad
Prompt security litellm (#16365)
* add prompt security guardrails provider

* cosmetic

* small

* add file sanitization and update context window

* add pdf and OOXML files support

* add system prompt support

* add tests and documentation

* remove print

* fix PLR0915 Too many statements (96 > 50)

* cosmetic

* fix mypy error

* Fix failed tests due to naming conflict of responses directory with same-named pip package

* Fix mypy error: use 'aembedding' instead of 'embeddings' for async embedding call type

* Fix: Install enterprise package into Poetry virtualenv for tests

The GitHub Actions workflow was installing litellm-enterprise to system Python
using 'python -m pip install -e .', but tests run in Poetry's virtualenv using
'poetry run pytest'. This caused ImportError for enterprise package types.

Changed to 'poetry run pip install -e .' so the package is available in the
same virtualenv where pytest executes.

Fixes enterprise test collection errors in GitHub Actions CI.

* Move Prompt Security guardrail tests to tests/test_litellm/

Per reviewer feedback, move test_prompt_security_guardrails.py from
tests/guardrails_tests/ to tests/test_litellm/proxy/guardrails/ so
it will be executed by GitHub Actions workflow test-litellm.yml.

This ensures the Prompt Security integration tests run in CI.

---------

Co-authored-by: Ori Tabac <oritabac@prompt.security>
Co-authored-by: Vitaly Neyman <vitaly@prompt.security>
2025-11-24 11:44:20 -08:00
Krish Dholakia
559142a738
Add table explaining different callback hooks (#17035)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-11-24 08:37:35 -08:00
Krish Dholakia
7c1dfd4462
docs: Clarify optional user_allowed_email_domain (#17034)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-11-24 08:34:35 -08:00
Krish Dholakia
c368b4c180
Document model pricing contribution process (#17031)
* Add doc for adding model pricing and context window

Co-authored-by: krrishdholakia <krrishdholakia@gmail.com>

* Refactor model pricing documentation to include sample spec and examples

Co-authored-by: krrishdholakia <krrishdholakia@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-11-24 08:28:24 -08:00
Krish Dholakia
f18cec2fe3
Update release notes to v1.80.5.rc.2 (#17032)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-11-24 08:25:57 -08:00
Krish Dholakia
760bce24bd
feat(proxy_server.py): preserve content field even if null (#16988)
* feat(proxy_server.py): preserve content field even if null

* fix(proxy/utils.py): fix recursive function

* docs: new params

* docs: cleanup docs

* fix: fix linting errors
2025-11-23 22:05:58 -08:00
John Lathouwers
61fed95f8c
OCI Provider: Fix pydantic validation errors during tool call with streaming. (#16899)
* logic to handle missing required fields in OCI streaming tool calls

* Fix test mocks
2025-11-23 22:03:44 -08:00
yuneng-jiang
adfdcf1d61
[Fix] UI - Hide Default Team Settings From Proxy Admin Viewers (#16900)
* Add fallback in sort to prevent NoneType and str comparison

* Hide Default Team Settings from Proxy Admin Viewers

---------

Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2025-11-23 22:01:38 -08:00
yuneng-jiang
013dcd837f
Change provider create fields to JSON (#16985) 2025-11-23 21:57:22 -08:00
soo-jin.kim
a2a45ce8c9
fix: prevent duplicate spend logs in Responses API for non-OpenAI providers (#16992)
* fix: prevent duplicate spend logs in Responses API for non-OpenAI providers

Fixes #15740

This fixes a logging duplication bug where using kwargs.pop() removed
the litellm_logging_obj before passing kwargs to internal acompletion()
calls, causing duplicate spend log entries for providers without native
Responses API support (Anthropic, Gemini, etc).

By changing from pop() to get(), the logging object is preserved and
reused across the internal completion call, preventing duplicate entries
and maintaining correct cost tracking.

* test: add test for logging object preservation in responses API

Verify that litellm_logging_obj is preserved in kwargs when calling
responses(), ensuring no duplicate spend log entries are created.
2025-11-23 21:57:01 -08:00
prawaan
7cc92d1ced
fix(vertex_ai): handle global location in context caching (#16997)
- Add conditional check for 'global' vertex_location
- Use aiplatform.googleapis.com (no prefix) for global endpoint
- Apply fix to both v1 and v1beta1 APIs
- Matches existing behavior in regular completion calls

Fixes context caching 404 errors when using global location.
Regular completion already handles global correctly, this brings
context caching in line with that behavior.

Related: #11190, #9234

Co-authored-by: prawaan-singh <prawaan.singh@thoughtspot.com>
2025-11-23 21:55:08 -08:00
Cesar Garcia
45e921d533
fix: Update broken documentation links in README (#17002)
- Update Hosted Proxy links to point to enterprise docs
- Remove "(Preview)" label from Hosted Proxy
- Fix "Supported LLM Providers" link to point to docs instead of GitHub anchor
2025-11-23 21:54:38 -08:00
YutaSaito
f37d6480ec
feat: add UI support for registering MCP OAuth2 auth_type (#17007) 2025-11-23 21:54:01 -08:00
Cesar Garcia
5b0729034c
docs: cleanup README and improve agent guides (#17003)
* docs: cleanup README and improve AI agent guides

- Remove obsolete version warnings (openai>=1.0.0, pydantic>=2.0.0)
- Add note about Responses API in README
- Add GitHub templates section to CLAUDE.md, GEMINI.md, and AGENTS.md
- Remove temporary test file test_pydantic_fields.py

* update files

* update Gemini file
2025-11-23 21:53:53 -08:00
YutaSaito
b72b49757e
feat: add backend support for OAuth2 auth_type registration via UI (#17006) 2025-11-23 21:52:18 -08:00
YutaSaito
f0b10b854b
chore: remove unused MCP_PROTOCOL_VERSION_HEADER_NAME constant (#17008) 2025-11-23 21:51:11 -08:00
Dmitriy Alergant
90850bf6d5
fix: add nodejs and npm to runtime dependencies for prisma generate (#16903)
Fixes cross-platform Docker build issue where `prisma generate` fails
when building for amd64 platform from macOS. The Prisma CLI requires
Node.js and npm to be available in the runtime environment.

The Python prisma package (v0.11.0) uses nodeenv to bootstrap Node.js
if not found. However, the downloaded npm v10 fails with a
"sizeCalculation" error in minimal Chainguard environments during
cross-platform builds. Providing system nodejs/npm resolves this.

Changes:
- Added nodejs and npm to runtime dependencies (Dockerfile:51)
- This enables prisma generate to run successfully during the build

Error without fix:
npm error cannot set sizeCalculation without setting maxSize or maxEntrySize
subprocess.CalledProcessError: Command '[...nodeenv/bin/npm', 'install',
'prisma@5.4.2']' returned non-zero exit status 1.

Testing:
docker buildx build --platform linux/amd64 -t litellm:test .

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-22 19:27:06 -08:00
Ishaan Jaffer
73d3d151ab fix 1.80.5 2025-11-22 19:24:46 -08:00
yuneng-jiang
02873cf992
Minor cosmetic changes for buttons, add notification for delete team (#16984) 2025-11-22 19:24:25 -08:00
YutaSaito
06f2ecef42
feat: tool permission argument check (#16982) 2025-11-22 19:21:25 -08:00