Commit graph

31362 commits

Author SHA1 Message Date
Yuneng Jiang
bc97829ec5
chore: fixes 2026-04-04 23:40:43 -07:00
Shin Bot
390ed46993 litellm_fix(lint): remove unused ToolNameValidationResult imports
Fixes ruff F401 errors in check_code_and_doc_quality CI job.

**Regression introduced in:** 41ec820 (fix files) - added files with unused imports

## Problem
ToolNameValidationResult is imported but never used in:
- litellm/proxy/_experimental/mcp_server/mcp_server_manager.py
- litellm/proxy/management_endpoints/mcp_management_endpoints.py

## Fix
```diff
-        ToolNameValidationResult,
```

Removed from both import statements.

## Changes
- mcp_server_manager.py: -1 line (removed unused import)
- mcp_management_endpoints.py: -1 line (removed unused import)
2026-01-31 19:28:25 +00:00
Ishaan Jaffer
41ec820562 fix files 2026-01-31 11:25:30 -08:00
Ishaan Jaffer
36dfa0f2ee fix MCP client 2026-01-31 11:25:21 -08:00
Ishaan Jaffer
e6c1a656f4 add _is_bedrock_tool_block 2026-01-31 11:25:10 -08:00
Ishaan Jaffer
8b575f4656 test_bedrock_nova_grounding_web_search_options_non_streaming 2026-01-31 11:23:48 -08:00
Ishaan Jaffer
9fe0819e77 _add_web_search_tool 2026-01-31 11:21:40 -08:00
Ishaan Jaffer
54a383879c fix mcp linting 2026-01-31 11:21:03 -08:00
Ishaan Jaffer
f508a998d4 fix linting 2026-01-31 11:19:59 -08:00
Ishaan Jaffer
08271a8b28 fix transform_retrieve_file_response 2026-01-31 11:16:22 -08:00
Ishaan Jaffer
05552b5194 fix typing 2026-01-31 11:10:53 -08:00
Ishaan Jaffer
3759ea2de8 test_increment_top_level_request_and_spend_metrics 2026-01-31 11:10:28 -08:00
Ishaan Jaffer
d53ef30f75 fix EventDrivenCacheCoordinator 2026-01-31 11:10:17 -08:00
Ishaan Jaffer
4bf4e7954e fix gemini files 2026-01-31 11:06:22 -08:00
Ishaan Jaffer
df7ea193f4 fix proxy extras pip 2026-01-31 10:52:35 -08:00
Cesar Garcia
3fa7ab1012
docs(embeddings): add supported input formats section (#20073)
Document valid input formats for /v1/embeddings endpoint per OpenAI spec.
Clarifies that array of string arrays is not a valid format.
2026-01-31 10:45:56 -08:00
shin-bot-litellm
244c80a7de
litellm_fix(router): use safe_deep_copy in _get_silent_experiment_kwargs (#20170)
**Regression introduced in:** PR #19544 (feat: add feature to make silent calls)

Fixes check_code_and_doc_quality CI failure.

Line 1332 used copy.deepcopy(kwargs) which violates ban_copy_deepcopy_kwargs
check. kwargs can contain non-serializable objects like OTEL spans.

Changed to safe_deep_copy(kwargs) which handles these correctly.
2026-01-31 10:38:47 -08:00
shin-bot-litellm
df042f7545
litellm_fix(security): allowlist Next.js CVEs for 7 days (#20169)
Temporarily allowlist Next.js vulnerabilities in UI dashboard:
- GHSA-h25m-26qc-wcjf (HIGH: DoS via request deserialization)
- CVE-2025-59471 (MEDIUM: Image Optimizer DoS)

Fix: Upgrade to Next.js 15.5.10+ or 16.1.5+ (7-day timeline)

Changes:
- Added .trivyignore with Next.js CVEs
- Updated security_scans.sh to use --ignorefile flag
2026-01-31 10:25:57 -08:00
shin-bot-litellm
5434b66b9c
litellm_fix(mypy): fix remaining type errors (#20164)
- route_llm_request.py: add acancel_batch and afile_delete to route_type Literal
- router.py: add SearchToolInfoTypedDict and search_tool_info to SearchToolTypedDict
- gemini/files/transformation.py: fix validate_environment signature to match base class
- responses transformation.py: fix Dict type annotations to use int instead of Optional[int]
- vector_stores/endpoints.py: add team_id and user_id to LiteLLM_ManagedVectorStoresTable constructor

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 10:25:23 -08:00
shin-bot-litellm
ea011633d7
litellm_fix: bump litellm-proxy-extras version to 0.4.28 (#20166)
Changes were made to litellm_proxy_extras (schema.prisma, utils.py, migrations)
but version was not bumped, causing CI publish job to fail.

This commit bumps the version from 0.4.27 to 0.4.28 in all required files:
- litellm-proxy-extras/pyproject.toml
- requirements.txt
- pyproject.toml

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 10:23:17 -08:00
shin-bot-litellm
fea40925cf
test: remove hosted_vllm from OpenAI client tests (#20163)
hosted_vllm no longer uses the OpenAI client, so these tests
that mock the OpenAI client are not applicable to hosted_vllm.

Removes hosted_vllm from:
- test_openai_compatible_custom_api_base
- test_openai_compatible_custom_api_video
2026-01-31 10:10:45 -08:00
shin-bot-litellm
2780e2f81e
litellm_fix(test): update Prometheus metric test assertions with new labels (#20162)
This fixes the failing litellm_mapped_enterprise_tests (metrics/logging) job.

Recent commits added new labels to several Prometheus metrics (model_id, client_ip, user_agent)
but the test assertions weren't fully updated to expect these new labels.

Tests fixed:
- test_async_post_call_failure_hook
- test_async_log_failure_event
- test_increment_token_metrics
- test_log_failure_fallback_event
- test_set_latency_metrics
- test_set_llm_deployment_success_metrics

Labels added to test assertions:
- model_id for token metrics (litellm_tokens_metric, litellm_input_tokens_metric, litellm_output_tokens_metric)
- model_id for latency metrics (litellm_llm_api_latency_metric)
- model_id for remaining requests/tokens metrics
- model_id for fallback metrics
- model_id for overhead latency metric
- client_ip and user_agent for deployment failure/total/success responses
- client_ip and user_agent for proxy failed/total requests metrics
2026-01-31 10:09:35 -08:00
shin-bot-litellm
6c497d2990
fix(mypy): fix type errors in files, opentelemetry, gemini transformation, and key management (#20161)
- files/main.py: rename uuid import to uuid_module to avoid conflict with router import
- integrations/opentelemetry.py: add fallback for callback_name to ensure str type
- llms/gemini/files/transformation.py: add type annotation for params dict
- proxy/management_endpoints/key_management_endpoints.py: add null check for prisma_client
2026-01-31 10:09:07 -08:00
shin-bot-litellm
1b438144dd
litellm_fix: handle empty dict for web_search_options in Nova grounding (#20159)
The condition `value and isinstance(value, dict)` fails for empty dicts
because `{}` is falsy in Python. Users commonly pass `web_search_options={}`
to enable Nova grounding without specifying additional options.

Changed the condition to `isinstance(value, dict)` which correctly handles
both empty and non-empty dicts.

Fixes failing tests:
- test_bedrock_nova_grounding_async
- test_bedrock_nova_grounding_request_transformation
- test_bedrock_nova_grounding_web_search_options_non_streaming
- test_bedrock_nova_grounding_with_function_tools
2026-01-31 10:05:30 -08:00
shin-bot-litellm
d5bc80bca9
fix(datadog): check for agent mode before requiring DD_API_KEY/DD_SITE (#20156)
The DataDog LLM Obs logger was checking for DD_API_KEY and DD_SITE
before checking if agent mode (LITELLM_DD_AGENT_HOST) was configured.
In agent mode, the DataDog agent handles authentication, so these
environment variables are not required.

This fix moves the agent mode check first, and only validates
DD_API_KEY and DD_SITE when using direct API mode.

Fixes test_datadog_llm_obs_agent_configuration and
test_datadog_llm_obs_agent_no_api_key_ok
2026-01-31 09:53:16 -08:00
shin-bot-litellm
2f6d18e6bc
fix(proxy): use get_async_httpx_client for logo download (#20155)
Replace direct AsyncHTTPHandler instantiation with get_async_httpx_client
to avoid +500ms latency per request from creating new async clients.

Added httpxSpecialProvider.UI for UI-related HTTP requests like logo downloads.
2026-01-31 09:51:16 -08:00
yuneng-jiang
f2cb31a45e
Merge pull request #20154 from BerriAI/ui_build_yj_jan_31
[Infa] UI Build
2026-01-31 09:21:13 -08:00
yuneng-jiang
87b4da4ae5 chore: update Next.js build artifacts (2026-01-31 17:20 UTC, node v22.16.0) 2026-01-31 09:20:08 -08:00
yuneng-jiang
ae2cf7104d
Merge pull request #20086 from BerriAI/litellm_watsonx_inte_fix
[Fix] Add WATSONX_ZENAPIKEY to WatsonX credentials
2026-01-31 09:13:42 -08:00
yuneng-jiang
c4a2745983
Merge pull request #20031 from BerriAI/litellm_new_badge_dot
[Fix] UI - Vector Store: Allow Config Defined Models to Be Selected
2026-01-31 09:13:29 -08:00
yuneng-jiang
b366335f2f
Merge pull request #20098 from BerriAI/litellm_ui_dark_mode_2
[Feature] UI - Dark Mode: Delete Resource Modal
2026-01-31 09:03:11 -08:00
shin-bot-litellm
e35e6504fc
litellm_fix(test): fix router silent experiment tests to properly mock async functions (#20140) 2026-01-31 07:39:05 -08:00
shin-bot-litellm
10194d96cf
litellm_fix: handle unknown models in Azure AI cost calculator (#20150) 2026-01-31 07:37:48 -08:00
shin-bot-litellm
395ad9bdc1
litellm_fix(test): add acancel_batch to Azure SDK client initialization test (#20143) 2026-01-31 07:34:54 -08:00
shin-bot-litellm
1c757dee14
litellm_docs: add missing environment variable documentation (#20138) 2026-01-31 07:33:24 -08:00
shin-bot-litellm
7db4594200
litellm_fix(test): allow comment field in schema and exclude robotics models from tpm check (#20139) 2026-01-31 07:32:33 -08:00
shin-bot-litellm
14a5706131
litellm_fix(test): fix Bedrock tool search header test regression (#20135) 2026-01-31 00:44:47 -08:00
shin-bot-litellm
013b4701f4
litellm_fix(test): fix Azure AI cost calculator test - use Logging class (#20134) 2026-01-31 00:43:53 -08:00
shin-bot-litellm
ecd0202f70
litellm_fix(e2e): disable bedrock-converse-claude-sonnet-4.5 model in tests (#20131) 2026-01-31 00:32:42 -08:00
shin-bot-litellm
8e69c2ef24
litellm_fix(ui): remove unused ToolOutlined import (#20129) 2026-01-31 00:25:06 -08:00
shin-bot-litellm
4029f61430
fix(proxy): reduce PLR0915 complexity in base_process_llm_request (#20127) 2026-01-31 00:20:12 -08:00
shin-bot-litellm
08e4d06f0c
litellm_fix: add missing timezone import to proxy_server.py (#20121) 2026-01-30 23:59:52 -08:00
Shivam Rawat
3f1bda57e2
Merge pull request #20101 from BerriAI/ui-mcp-list-tools-instructions-fix
fixed mcp tools instructions on ui to show comma seprated str instead…
2026-01-30 19:40:37 -08:00
Krrish Dholakia
0edd50fe3c docs: cleanup docs 2026-01-30 19:39:17 -08:00
shivam
d01267707e fixed mcp tools instructions on ui to show comma seprated str instead of list 2026-01-30 19:25:30 -08:00
Ishaan Jaffer
87c1e6fd68 remove md 2026-01-30 18:57:06 -08:00
Ishaan Jaff
4abae44006
[Feat] UI - Add Pretty print view of request/response (#20096)
* v1 - tool viewer in logs page

* add preview for tool sections

* ui fixes

* new tool view

* v1 - new pretty view

* clean ui

* polish fixes

* nice view input/output

* working i/o cards

* fixes for log view

---------

Co-authored-by: Warp <agent@warp.dev>
2026-01-30 18:56:34 -08:00
Ishaan Jaff
1cd83e9022
[Feat] UI - New View to render "Tools" on Logs View (#20093)
* v1 - tool viewer in logs page

* add preview for tool sections

* ui fixes

* new tool view

* Refactor: Address code review feedback - use Antd components

Changes:
- Use Antd Space component instead of manual flex layouts
- Use Antd Text.copyable prop instead of custom clipboard utilities
- Extract helper functions to utils.ts for testability
- Remove clipboardUtils.ts (replaced with Antd built-in)
- Update DrawerHeader, LogDetailsDrawer, and constants

Benefits:
- Cleaner code using standard Antd patterns
- Better testability with separated utils
- Consistent UX with Antd's copy tooltips
- Reduced custom code maintenance

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-30 18:48:52 -08:00
yuneng-jiang
b8e2ac46d1 Delete resource modal dark mode 2026-01-30 18:45:09 -08:00
Ishaan Jaff
5345a763c2
[Feat] v2 - Logs view with side panel and improved UX (#20091)
* init: azure_ai/azure-model-router

* show additional_costs in CostBreakdown

* UI show cost breakdown fields

* feat: dedicated cost calc for azure ai

* test_azure_ai_model_router

* docs azure model router

* test azure model router

* fix transfrom

* Add transform file

* fix:feat: route to config

* v0 - looks decen view

* refactored code

* fix ui

* fixes ui

* complete v2 viewer

* address feedback

* address feedback
2026-01-30 18:34:13 -08:00