Commit graph

14362 commits

Author SHA1 Message Date
Krish Dholakia
950828e2f5 Litellm encrypt admin UI values (#12675)
* build: move build_and_test to use prisma migrate

* feat(proxy_setting_endpoints.py): encrypt env var before storing in db

Ensures env var can be read when loaded in from DB

Fixes issue when trying to add SSO from admin UI

* test: update tests
2025-07-20 21:05:54 -07:00
Ishaan Jaff
dad9b4628d [Feat] Bedrock Guardrails - Allow disabling exception on 'BLOCKED' action (#12693)
* flag: disable_exception_on_block

* allow setting disable_exception_on_block

* test_bedrock_guardrail_disable_exception_on_block_non_streaming

* docs Disabling Exceptions on Bedrock BLOCK

* fix recognition_metadata test
2025-07-17 08:49:52 -07:00
Ishaan Jaff
e79e67f440 [Bug fix] [Bug]: Verbose log is enabled by default (#12596)
* test find_set_verbose_assignments

* fix set verbose

* test set verbose

* fix unused import
2025-07-16 07:58:13 -07:00
Cole McIntosh
607fd75ff7 fix: Handle circular references in spend tracking metadata JSON serialization (#12643)
* fix: Handle circular references in spend tracking metadata JSON serialization

- Fixes issue #12634 where circular references in metadata caused
  ValueError: Circular reference detected when logging spend data
- Adds _safe_json_dumps() function that detects and handles circular
  references by replacing them with placeholder strings
- Maintains full functionality for normal objects while preventing
  crashes from circular references
- Adds comprehensive tests for circular reference handling
- Critical fix for v1.74.3 stable release

* fix: Replace bare except clauses with specific Exception handling

- Fixes E722 linting errors in _safe_json_dumps function
- Maintains same error handling behavior while following best practices
- All tests continue to pass

* refactor: Use existing safe_dumps utility instead of custom implementation

- Replace custom _safe_json_dumps() with existing safe_dumps() from litellm_core_utils
- Remove duplicate code and leverage existing circular reference handling
- Update tests to use safe_dumps function
- Maintains same functionality while reducing code duplication
- All tests continue to pass
2025-07-16 07:54:36 -07:00
Ishaan Jaff
8bcdb07fcd ui new build 2025-07-12 16:44:13 -07:00
Ishaan Jaff
50b106be11
[MCP Gateway] Ensure we use the same param for specifying groups (#12561)
* just use 1 param for mcp groups

* fix just use 1 param for access groups

* test_get_tools_from_mcp_servers

* docs access groups

* group MCPs

* test fix

* fix screenshots on docs

* TestMCPAccessGroupsE2E

* update img

* fix MCP connect
2025-07-12 16:41:58 -07:00
Ishaan Jaff
00ab400500
UI - v1.74.3-stable QA fixes (#12559)
* fix chat ui

* fixes for types

* ui - fix back button on MCP

* mcp - show existing groups when creating new mcps

* fix design

* fix color scheme

* fix linting

* fixes for mapped tests
2025-07-12 15:31:39 -07:00
Cole McIntosh
7f5033d8a6
fix: handle missing 'env' attribute in MCP server Prisma model (#12560)
- Use getattr() with default value when accessing mcp_server.env
- Prevents AttributeError when Prisma doesn't include the field
- Fixes startup error: 'LiteLLM_MCPServerTable' object has no attribute 'env'

The issue occurs when Prisma fetches records and doesn't include
null/undefined fields in the returned object.
2025-07-12 15:23:12 -07:00
Eugene Myasyshchev
23b04c350e
Fixing issue to output github copilot verification uri immediately when running in docker. (#12558) 2025-07-12 14:48:58 -07:00
Ishaan Jaff
cf5b4c0497 ruff check ./litellm --fix 2025-07-12 11:04:02 -07:00
Ishaan Jaff
8fe0007f3c ui new build 2025-07-12 11:01:20 -07:00
Ishaan Jaff
98da9c73dc fix bytez validate_environment 2025-07-12 10:57:18 -07:00
Ishaan Jaff
cb4d3a88a1 ruff check ./litellm --fix 2025-07-12 10:53:56 -07:00
Aaron Vogler
4c466ef157
Integration: Bytez as a model provider (#12121)
* Get the basics of the integration working.

* Cleanup bytez integration.

* Update user agent for Bytez integration.

* Use the config class directly. Create the start of the docs.

* Finish up bytez documentation. Include a provider integration guide.

* Fix typing bug in custom_logger_utils. Add tests for bytez integration.

* Add token tracking for model usage for Bytez integration.

* Create a units test for the Bytez config.

* Make changes to Bytez transformation code per PR feedback.

* Cleanup coment in Bytez transformation test.

* Remove LRU usage for bytez integration.

* Consolidate Bytez tests into a single file. Conform to project structure for tests.

* Fix linting error with Bytez impl.
2025-07-12 10:50:39 -07:00
Jugal D. Bhatt
9fe9e1cd6e
[MCP Gateway] Allow mcp access groups on test key and tool calls (#12529)
* added mcp tools on internal user and divide it by teams

* add support for server api call

* Added frontend for test key

* added tools used output

* fix ui for servers

* All servers to personal

* change columns format

* revert ui logic

* Added vertical align

* fix mapped tests

* fix lint

* fix lint

* remove extra file

* fix ui test

* comments fixes

* change query type

* change query type

* mcp acces group init

* add ability to change server display on ui through access groups

* Mcp access group names UI (#12486)

* Added ui changes to reflect mcp_access_groups

* fix edit mcp page

* change to string array (#12491)

* change to string array

* Remove print

* add ability to change server display on ui through access groups

* Litellm mcp access groups accesses (#12498)

* added mcp access groups for keys and teams

* added access groups above servers

* fixed ruff

* fixed mypy

* revert couple changes

* fix test

* fixed double asterisks

* Litellm mcp groups UI (#12522)

* add ui for teams

* fix object permissions

* fix mcp servers test object permission

* remove print

* add helper method

* add tests + remove logs

* add mcp access group servers to test key

* add mcp access group support for headers

* lint fix

* add tests and helper  function

* fixed test

* change list -> List

* tests
2025-07-12 10:36:42 -07:00
Krish Dholakia
d202ce229b
Prevent writing default user setting updates to yaml (error in non-root env) + Use central team member budget when max_budget_in_team set on UI (#12533)
* fix(proxy_setting_endpoints.py): require store model in db is enabled for setting user default settings

* test(test_proxy_server.py): update test

* fix(reset_budget_job.py): initial commit adding reset budget logic for team members

* test: update unit testing

* test(test_proxy_budget_reset.py): validate team member budget was reset

* test(test_reset_budget_job.py): update unit tests

* test: update tests
2025-07-12 10:13:07 -07:00
Ishaan Jaff
6bc926e04b
[Bug Fix] xai/ translation fix - ensure finish_reason includes tool calls when xai responses with tool calls (#12545)
* Helper to fix finish_reason for tool calls when XAI API returns empty string

* use llm http handler for Groq
2025-07-12 09:20:31 -07:00
tanjiro
e3b2fd8c8d
remove margin bottom css (#12538) 2025-07-12 09:08:09 -07:00
Krish Dholakia
749051105b
Team Members - reset budget, if duration set + Prometheus - support tag based metrics (#12534)
* fix(internal_user_endpoints.py): initial commit removing logic to create new budget for new user if default max budget in team set

* feat(proxy_setting_endpoints.py): update team member budget when set via default internal user endpoint

removes need to create a unique budget per user

* feat(proxy_server.py): set team max member budget on startup, if set on config.yaml

* fix(prometheus.py): support custom tags for tracking on prometheus

Allows tracking user agent values on prometheus metrics

* test(test_internal_user_endpoints.py): fix test
2025-07-11 22:54:16 -07:00
Ishaan Jaff
b83fbe6896 fix code qa check 2025-07-11 22:35:27 -07:00
Krrish Dholakia
8b4673fe84 build(ui/): UI - Public Model Hub v2 (#12532)
Closes https://github.com/BerriAI/litellm/pull/12532
2025-07-11 22:24:31 -07:00
William Easton
75d68a47d0
remove deprecated pydantic class Config (#12528) 2025-07-11 22:21:02 -07:00
Ishaan Jaff
e64bd66b1c ruff fix 2025-07-11 21:59:10 -07:00
Ishaan Jaff
1c91e22942 Groq - ensure service tier is OpenAI compatible 2025-07-11 21:55:05 -07:00
Ishaan Jaff
8e06a42c63 new ui build 2025-07-11 20:23:58 -07:00
Ishaan Jaff
d931446a79
[MCP Gateway] Allow using stdio MCPs with LiteLLM (#12530)
* update types

* add STDIO to client

* allow using STDIO with MCP manager

* add Stdio-specific fields to schema.prisma

* fixes for MCP mgmt

* fix for adding stdio MCP to DB

* ui - allow adding stdio MCPs

* fix MCP server manager

* docs stdio MCP

* add_stdio_mcp.png

* new stdio tests

* allow adding MCPs through config.yaml

* fix tool test panel

* use TestMCPClient

* ui fixes for testing circle ci mcp
2025-07-11 20:21:02 -07:00
Jugal D. Bhatt
38c9b69e8f
[MCP Gateway] access group UI object permission fix (#12523)
* added mcp tools on internal user and divide it by teams

* add support for server api call

* Added frontend for test key

* added tools used output

* fix ui for servers

* All servers to personal

* change columns format

* revert ui logic

* Added vertical align

* fix mapped tests

* fix lint

* fix lint

* remove extra file

* fix ui test

* comments fixes

* change query type

* change query type

* mcp acces group init

* add ability to change server display on ui through access groups

* Mcp access group names UI (#12486)

* Added ui changes to reflect mcp_access_groups

* fix edit mcp page

* change to string array (#12491)

* change to string array

* Remove print

* add ability to change server display on ui through access groups

* Litellm mcp access groups accesses (#12498)

* added mcp access groups for keys and teams

* added access groups above servers

* fixed ruff

* fixed mypy

* revert couple changes

* fix test

* fixed double asterisks

* Litellm mcp groups UI (#12522)

* add ui for teams

* fix object permissions

* fix mcp servers test object permission

* remove print

* add helper method

* add tests + remove logs
2025-07-11 18:25:40 -07:00
Ishaan Jaff
885e31be3b
[Security Fix] - Dont show pure JWT in "Logs" page on UI (#12524)
* fix - dont show pure JWT in spendlogs

* test_user_api_key_auth_jwt_hashing

* _safe_hash_litellm_api_key
2025-07-11 15:33:57 -07:00
Ishaan Jaff
cb96f1d740
[Feat] - New guardrail - OpenAI Moderations API (#12519)
* add OpenAIModerationGuardrailConfigModel

* add OpenAIGuardrailBase

* _extract_response_text

* fixes for openai moderation guard

* docs OpenAI Moderation

* add OpenAIModerationGuardrailConfigModel

* use literal for model

* fix init openai moderation

* test_openai_moderation_guardrail_adds_to_litellm_callbacks

* show default on on UI

* fix code qa
2025-07-11 11:25:45 -07:00
Jugal D. Bhatt
7b44576216
Validation to mcp server name (#12515)
* added validation

* add helper util
2025-07-11 11:24:42 -07:00
Krish Dholakia
569ddde9fe
[Enterprise] Support tag based mode for guardrails (#12508)
* feat(custom_guardrail.py): allow admin to run guardrails on specific modes based on request tags

Enables pre-call checks for openwebui but logging for claude code guardrails

* refactor(custom_guardrail.py): move tag based mode to enterprise

* test(test_custom_guardrail.py): update test

* feat(quick_start.md): add doc on tag-based guardrail mode

* docs(quick_start.md): cleanup doc

* docs: cleanup

* docs(openweb_ui.md): add tutorial to doc

* fix(custom_guardrail.py): ensure user is premium user

* test: update test
2025-07-10 22:27:30 -07:00
Krrish Dholakia
0c8cbbe91b build(model_prices_and_context_window.json): add pixtral model support
Closes https://github.com/BerriAI/litellm/pull/12478
2025-07-10 22:25:20 -07:00
Jugal D. Bhatt
e3437795bb
Litellm mcp access group on UI (#12470)
* added mcp tools on internal user and divide it by teams

* add support for server api call

* Added frontend for test key

* added tools used output

* fix ui for servers

* All servers to personal

* change columns format

* revert ui logic

* Added vertical align

* fix mapped tests

* fix lint

* fix lint

* remove extra file

* fix ui test

* comments fixes

* change query type

* change query type

* mcp acces group init

* add ability to change server display on ui through access groups

* Mcp access group names UI (#12486)

* Added ui changes to reflect mcp_access_groups

* fix edit mcp page

* change to string array (#12491)

* change to string array

* Remove print

* add ability to change server display on ui through access groups

* Litellm mcp access groups accesses (#12498)

* added mcp access groups for keys and teams

* added access groups above servers

* fixed ruff

* fixed mypy

* revert couple changes
2025-07-11 10:29:25 +05:30
Krish Dholakia
9d9562d0e8
Guardrails AI - pre-call + logging only guardrail (pii detection/competitor names) support (#12506)
* fix(guardrails_ai.py): initial commit adding pre-call hook support for guardrails ai

enables running user input through guardrails ai - if set

* feat(guardrails_ai.py): working pre call guardrail

enables pii detection to work via guardrails ai

* feat(guardrails_ai.py): support logging hook

enables masking input via guardrails ai on logging integrations

* test(test_guardrails_ai.py): add unit test for new input processing function
2025-07-10 21:41:02 -07:00
Limbo Peng
7c373140a8
Fix tool call handling in Anthropic pass-through adapter (#12473)
* Add unit tests

* Fix tool call handling in Anthropic pass-through adapter

- Move tool message placement before user messages to maintain proper order
- Add safety check for empty function arguments in tool calls

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

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-10 21:30:37 -07:00
jdietzsch91
2ff301ee21
fix bedrock cost calculation for cached tokens (#12488)
* Add cost calcualtor for bedrock, Add test for bedrock caching cost calculation

* update test
2025-07-10 21:29:22 -07:00
Ishaan Jaff
225e9f3d55 ci/cd new release 2025-07-10 18:45:56 -07:00
Ishaan Jaff
feb6cd8732 ui new build 2025-07-10 18:17:03 -07:00
minghao
bee63a1ae7
Added dashscope (alibaba's cloud - qwen) as a provider (#12361)
* Added dashscope as a provider

* Fix some leftover references on nebius

* Porting the dashscope api endpoit international version

* explicit tool_choice = True in config
2025-07-10 18:09:26 -07:00
Adam Holmberg
6ff06bb96f
fix: handle reasoning parameters and response in responses bridge (#12433)
* fix: handle reasoning parameters and response in responses bridge

Updates the OpenAI completions/responses bridge to map
reasoning_effort to reasoning parameters, and the chunk parser
to return reasoning_content.

ref: 12432

* fix: using type checked objects in responses bridge transform

ref: 12432
2025-07-10 18:06:45 -07:00
Ishaan Jaff
52e4cc9a04
[Feat] Add support for editing MCP cost per tool (#12501)
* fix - allow editing cost per tool

* add MCPServerCostDisplay

* fix MCP tool call

* update_mcp_server

* ui fix MCP

* fix for viewing MCPs
2025-07-10 17:58:51 -07:00
Ishaan Jaff
5fdbb218a8
[MCP Gateway] - Add custom cost configuration for each MCP tool (#12499)
* add endpoints to test MCP connection

* fix route names

* add testMCPToolsListRequest

* fix MCP connection test

* add tool_name_to_cost_per_query

* fixes tool_name_to_cost_per_query

* fix networking

* fix test MCP connection

* use POST for test tools endpoints

* ui fixes

* fix config

* fixes for cost config

* fixes

* decent connection status

* fix Created At

* fix MCP table

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

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

* MCPServerCostConfig

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-07-10 17:00:39 -07:00
Jugal D. Bhatt
0691ff8d13
Added validate payload error (#12494)
* Added validate payload error

* added logger

* added test case
2025-07-10 15:54:48 -07:00
Ishaan Jaff
b0003bd03c
Feat(bedrock): support api key authentication for AWS Bedrock API (#12426) (#12495)
* add support of bearer token for bedrock integration

* fix linting issue

* fix type checking issue

* reoder arguments to address type checking issue

* switch to use get_secret_str to fetch env variable

Co-authored-by: 0x-fang <fanggong@amazon.com>
2025-07-10 15:12:17 -07:00
Ishaan Jaff
610d56ae5d docs stable release 2025-07-10 14:53:29 -07:00
Graham Neubig
6fa0da6ae2
Add Azure OpenAI o3-deep-research model pricing support (#12493)
- Add azure/o3-deep-research model to pricing configuration
- Input cost: 0 per million tokens (1e-05 per token)
- Output cost: 0 per million tokens (4e-05 per token)
- Supports reasoning, web search, function calling, vision, and other advanced features
- Based on Azure AI Foundry Deep Research pricing documentation

Resolves #12318

Co-authored-by: openhands <openhands@all-hands.dev>
2025-07-10 12:06:32 -07:00
Ishaan Jaff
6f22dab4b6
dont emit warning for Max in memory queue flush count (#12489) 2025-07-10 10:36:16 -07:00
Ishaan Jaff
a0d6900223
[Bug Fix] fix parsing environment_variables from config.yaml (arize logger integration fix) (#12482)
* fix parsing environment_variables from config.yaml

* add tests
2025-07-10 09:15:07 -07:00
Jugal D. Bhatt
aa14d26da4
fix slack alerts (#12464)
* fix slack alerts

* remvoe print

* add unit test
2025-07-10 08:58:47 -07:00
Krish Dholakia
07e8609edb
Resolve model group alias on Auth + /v1/messages Fallback support (#12440)
* fix(auth_checks.py): resolve a model group alias when key has access to underlying model

Fixes LIT-293

* feat(anthropic/): add mock_response to anthropic /v1/messages

makes it easy to test fallback logic

* fix(router.py): support fallbacks on /v1/messages

adds working fallbacks on generic api route

* refactor(router.py): point _ageneric_api_call_with_fallbacks to updated function

* test: add unit test for new helper on router

* fix(router.py): use correct metadata variable name

* fix(router.py): use correct metadata field

* docs(config_settings.md): document new param
2025-07-09 22:27:55 -07:00