Commit Graph

30881 Commits

Author SHA1 Message Date
Sameer Kankute
67d69d12b0 Add cost tracking and logging support 2025-11-25 17:14:59 +05:30
Sameer Kankute
c149ade6a8 Add tests related to reasoning param none 2025-11-25 13:57:15 +05:30
Sameer Kankute
a50083a87b Remove none support from reasoning param 2025-11-25 13:56:30 +05:30
Sameer Kankute
b0d511143c remove unsused imports 2025-11-25 13:36:20 +05:30
Sameer Kankute
883cfaeeaf Add tests 2025-11-25 13:32:13 +05:30
Sameer Kankute
f52f05748d Update docs related to vertex ai image gen 2025-11-25 13:31:50 +05:30
Sameer Kankute
29ab291cf5 Add vertex ai image support 2025-11-25 13:31:16 +05:30
yuneng-jiang
031bb3c5d9 Test prisma changes for Gemini tests 2025-11-24 22:40:46 -08:00
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
e629a6b703 Merge remote-tracking branch 'origin' into litellm_org_usage 2025-11-24 21:14:05 -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
AlexsanderHamir
06e302d257 fix: use LiteLLMLoggingObj instead of Logging in runtime type annotations
- Replace Logging type annotations with LiteLLMLoggingObj in main.py (lines 1157, 4097, 5811)
- Fixes NameError: name 'Logging' is not defined errors
- Maintains lazy loading benefits - Logging only loaded when accessed via litellm.Logging
- Add error handling to lazy import functions for better debugging
2025-11-24 17:53:57 -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
AlexsanderHamir
8df9ff39f7 remove reduntant logging 2025-11-24 17:31:17 -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
AlexsanderHamir
863b2267f2 remove comment 2025-11-24 17:01:58 -08:00
AlexsanderHamir
b4b8133d47 refactor: litellm init file #1 2025-11-24 16:59:56 -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