Commit Graph

5583 Commits

Author SHA1 Message Date
yuneng-jiang ea4e2bda8f Document LITELLM_MAX_BUDGET_PER_SESSION_TTL env var
Add missing env var to config_settings.md to fix test_env_keys CI check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:40:05 -07:00
Sameer Kankute c123dc5c24 Fix vercel build 2026-02-19 22:19:34 +05:30
Sameer Kankute 884c763fb1 Fix date in docs 2026-02-19 22:14:20 +05:30
Sameer Kankute a951d6c681 Update docs/my-website/blog/gemin_3.1/index.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-19 22:14:20 +05:30
Sameer Kankute e27725a8b5 Update docs/my-website/blog/gemin_3.1/index.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-19 22:14:20 +05:30
Sameer Kankute 468be6f5a8 Fix date in docs 2026-02-19 22:14:20 +05:30
Sameer Kankute 2133a97e97 Add gemini-3.1-pro-preview pricing data 2026-02-19 22:14:19 +05:30
Sameer Kankute 8305bbee21 Add mapping for medium thinking level for gemini-3.1-pro-preview 2026-02-19 22:14:19 +05:30
Sameer Kankute ca34e9a3f9 Merge pull request #21543 from BerriAI/litellm_passthrough_endpoint_method
Add method based routing for passthrough endpoints
2026-02-19 19:34:04 +05:30
Sameer Kankute f2393fc9cb Merge main into litellm_passthrough_endpoint_method
Resolved conflicts in pass_through_endpoints.py by:
- Accepting main's formatting and mypy fixes
- Preserving branch's method support feature
- Preserving branch's default_query_params feature

Combined changes include:
- Method filtering for passthrough endpoints
- Default query parameters support
- Updated route key format to include methods
- Code formatting improvements from main
- Fixed type annotations

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 19:22:41 +05:30
Sameer Kankute 647e5237a7 Merge pull request #21555 from BerriAI/litellm_server_side_compaction_trans
[Feat] Add server side compaction translation from openai to anthropic
2026-02-19 19:14:37 +05:30
Sameer Kankute 36e21830db Merge pull request #21550 from BerriAI/litellm_add_global_usage
[Feat] Add Default usage data configuration
2026-02-19 19:10:35 +05:30
Sameer Kankute 02e10c9a74 Merge branch 'main' into litellm_server_side_compaction_trans 2026-02-19 16:45:53 +05:30
Sameer Kankute a52fc738af Add server side compaction translation from openai to anthropic 2026-02-19 16:44:35 +05:30
Sameer Kankute 0eb2a0c014 Add Default usage data configuration 2026-02-19 14:04:07 +05:30
Sameer Kankute 4a50c55d84 Add allow defining default query params for a pass through 2026-02-19 12:48:03 +05:30
Sameer Kankute 5bd7bf1b3e Add documentation for adding method 2026-02-19 11:59:09 +05:30
Harshit Jain 66ce7513f6 Merge branch 'main' into litellm_project_management_apis 2026-02-19 08:40:12 +05:30
Krish Dholakia e00c181f0c Mcp user permissions (#21462)
* feat(schema.prisma): add object permissions for end users

allows controlling if end user can call specific mcp servers

* feat: cleanup for customer_endpoints support of object permission id

* fix: cleanup str

* feat(customers/): enforce end user can only call allowed mcps - if configured

* docs: document customer/end user object permission usage

* feat: enforce end user permissions on MCP tool calls

This commit implements end user permission enforcement for MCP servers:

1. Always add server prefixes to MCP tool names
   - Removed conditional logic that only added prefixes when multiple servers existed
   - Now always adds server prefix for consistent tool naming across all scenarios
   - Updated 5 locations in server.py (list_tools, get_prompts, get_resources,
     get_resource_templates, get_prompt)

2. Created MCP End User Permission Guardrail Hook
   - New guardrail hook: litellm/proxy/guardrails/guardrail_hooks/mcp_end_user_permission.py
   - Runs on post_call to validate tool calls in LLM responses
   - Extracts MCP server name from tool names (splits on first '-')
   - Checks if end_user_id has permissions for the MCP server
   - Raises GuardrailRaisedException if end user lacks permission
   - Supports both streaming and non-streaming responses

3. Added comprehensive tests
   - Test file: tests/test_litellm/proxy/guardrails/guardrail_hooks/test_mcp_end_user_permission.py
   - Tests cover: authorized/unauthorized tools, non-MCP tools, no end_user scenarios
   - Tests permission checking logic and exception raising

The hook integrates with the existing MCPRequestHandler._get_allowed_mcp_servers_for_end_user
to fetch end user permissions and enforce access control at the response level.

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

* refactor: remove redundant add_prefix variable assignments

Simplified the code by removing intermediate `add_prefix` variable
assignments and passing `True` directly to function calls since
we now always add server prefixes.

Changes:
- Removed `add_prefix = True` variable assignments in 5 locations
- Changed `add_prefix=add_prefix` to `add_prefix=True` in function calls
- Added inline comments to clarify the behavior

This makes the code more concise and clearer in intent.

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

* feat(auth_utils.py): support safety_identifier as a valid way of passing the end user id for responses api

* feat(llms): ensure 'tools' is correctly updated for responses api

* fix: fix greptile feedback

* feat: transformation.py

proper responses api tool handling for guardrail translation layer

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 18:53:59 -08:00
Ishaan Jaff 323aed7211 fix: CI failures - missing env key doc + streaming test (#21510)
* docs: add DATABRICKS_API_KEY to environment settings reference

* fix: streaming test usage check on Pydantic model

* fix: mock litellm.proxy.proxy_server in test_skip_server_startup
2026-02-18 18:20:32 -08:00
Sameer Kankute 69975217d2 Merge pull request #21485 from BerriAI/litellm_fix_Note
Add version in claude-code-beta-headers-incident
2026-02-18 22:55:01 +05:30
Sameer Kankute fef26cfae2 Add version in claude-code-beta-headers-incident 2026-02-18 22:54:27 +05:30
Emerson Gomes 3dd55a7b61 Merge main into affinity_callback and address deployment affinity review feedback 2026-02-18 10:01:11 -06:00
Harshit Jain c760318c79 Merge pull request #21449 from Harshit28j/litellm_feat_dataDog_tags
feat(datadog): add 'team' tag to logs, metrics, and cost management
2026-02-18 20:05:32 +05:30
Sameer Kankute 3e0a72307c Merge pull request #21474 from BerriAI/litellm_incident_report_vllm
Incident Report: vLLM Embeddings Broken by encoding_format Parameter
2026-02-18 18:43:11 +05:30
Sameer Kankute ee3ad3aec4 Merge pull request #21464 from BerriAI/litellm_sanitise_anthropic_mesages_2
Litellm sanitise anthropic mesages 2
2026-02-18 18:39:11 +05:30
Sameer Kankute a01dcc7155 Merge pull request #21467 from BerriAI/litellm_add_duck_duck_go
[Feat] Add duckduckgo as search tool
2026-02-18 18:38:37 +05:30
Sameer Kankute 19951c5422 Fix incident report date 2026-02-18 18:36:31 +05:30
Sameer Kankute a9b7320b53 Incident Report: vLLM Embeddings Broken by encoding_format Parameter 2026-02-18 18:19:02 +05:30
Sameer Kankute aa255c7e63 Merge pull request #21361 from BerriAI/litellm_oss_staging_02_17_2026
Litellm oss staging 02 17 2026
2026-02-18 17:48:15 +05:30
Sameer Kankute bd0c80406f Merge pull request #21326 from BerriAI/litellm_oss_staging_02_16_2026
Litellm oss staging 02 16 2026
2026-02-18 17:47:57 +05:30
Sameer Kankute eb8b991260 Merge branch 'main' into litellm_oss_staging_02_17_2026 2026-02-18 17:26:33 +05:30
Harshit Jain 78e6080ed7 Merge branch 'main' of https://github.com/BerriAI/litellm into litellm_feat_dataDog_tags 2026-02-18 16:29:01 +05:30
Sameer Kankute 6b8b391116 Add duckcukgo in docs 2026-02-18 16:17:39 +05:30
Sameer Kankute 838bfc8616 Fix greptile review 2026-02-18 13:07:58 +05:30
Sameer Kankute eebe23197f Add docs for message sanitisation 2026-02-18 12:44:48 +05:30
Harshit Jain 8d7f9a5e78 feat(datadog): add 'team' tag to logs, metrics, and cost management 2026-02-18 09:24:08 +05:30
Harshit Jain d061ae9370 fix docs and format 2026-02-18 02:49:52 +05:30
Harshit Jain d7b2ce92ba Merge remote-tracking branch 'upstream/main' into litellm_prompt_registry_fix 2026-02-18 02:26:34 +05:30
Ishaan Jaff dc1775d41b Day 0 Support: Claude Sonnet 4.6 (#21401)
* docs: add Day 0 Sonnet 4.6 support blog post

Add concise blog post announcing Day 0 support for Claude Sonnet 4.6 with Docker image and usage examples across:
- Anthropic API
- Azure AI
- Vertex AI
- Bedrock

Includes both LiteLLM Proxy and SDK usage for all providers.

* docs: add Sonnet 4.6 blog post to sidebar navigation

Add link to Claude Sonnet 4.6 Day 0 support blog post in the Blog section of the documentation sidebar.
2026-02-17 12:12:05 -08:00
Harshit Jain 56fab12fbe fix: prompt registry 2026-02-18 00:34:54 +05:30
Krrish Dholakia 4930babace docs(release_cycle.md): document enterprise support 2026-02-17 10:15:17 -08:00
Krrish Dholakia bf824dec55 docs: remove references to unused var 2026-02-17 10:15:17 -08:00
Krrish Dholakia e936f88f15 refactor: remove old doc 2026-02-17 10:15:17 -08:00
Sameer Kankute 1c9cee0630 Fix doc 2026-02-17 20:57:38 +05:30
Sameer Kankute 90be817b32 Add support for evals via sdk 2026-02-17 19:32:15 +05:30
Sameer Kankute 1c2e1148f3 Merge branch 'main' into litellm_oss_staging_02_16_2026 2026-02-17 18:24:56 +05:30
Emerson Gomes 93b848494d perf: increase default LRU cache size to reduce multi-model thrash (#21139)
* perf: increase default LRU cache size to 64

* chore: remove default LRU constant test

* docs: update DEFAULT_MAX_LRU_CACHE_SIZE default to 64
2026-02-16 20:39:43 -08:00
shin-bot-litellm b609f5841b fix: add missing OpenAI chat completion params to OPENAI_CHAT_COMPLETION_PARAMS (#21360)
* allow filtering by user in global usage

* add server root path test to github actions

* Update .github/workflows/test_server_root_path.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* address greptile review feedback (greploop iteration 1)

- Fix HTTPException swallowed by broad except block in get_user_daily_activity
  and get_user_daily_activity_aggregated: re-raise HTTPException before the
  generic handler so 403 status codes propagate correctly
- Add status_code assertions in non-admin access tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* address greptile review feedback (greploop iteration 2)

- Default user_id to caller's own ID for non-admins instead of 403 when
  omitted, preserving backward compatibility for API consumers
- Apply same fix to aggregated endpoint
- Update test to verify defaulting behavior instead of expecting 403
- Add useEffect to sync selectedUserId when auth state settles in
  UsagePageView to handle async auth initialization

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fixing syntax

* remove artifacts

* feat: guardrail tracing UI - policy, detection method, match details (#21349)

* feat: add GuardrailTracingDetail TypedDict and tracing fields to StandardLoggingGuardrailInformation

* feat: add policy_template field to Guardrail config TypedDict

* feat: accept GuardrailTracingDetail in base guardrail logging method

* feat: populate tracing fields in content filter guardrail

* test: add tracing fields tests for custom guardrail base class

* test: add tracing fields e2e tests for content filter guardrail

* feat: add guardrail tracing UI - policy badges, match details, timeline

* feat: redesign GuardrailViewer to Guardrails & Policy Compliance layout

Two-column layout with request lifecycle timeline on the left
and compact evaluation detail cards on the right. Header shows
guardrail count, pass/fail status, total overhead, policy info,
and an export button.

* feat: add clickable guardrail link in metrics + show policy names

* feat: add risk_score field to StandardLoggingGuardrailInformation

* feat: compute risk_score in content filter guardrail

* feat: display backend risk_score badge on evaluation cards

* fix: fallback to frontend risk score when backend doesn't provide one

* passing in masster key for api calls

* Fix: Add blog as incident report

* Fix: Add blog as incident report

* remove timeline

* feat(models): add github_copilot/gpt-5.3-codex and github_copilot/claude-opus-4.6-fast (#21316)

Add missing GitHub Copilot model entries for gpt-5.3-codex (GA) and
claude-opus-4.6-fast (Public Preview) to both the root and backup
model pricing JSON files.

* only tests for /ui

* bump: version 1.81.12 → 1.81.13

* Fixing mapped tests

* fixing no_config test

* fixing container tests

* fixing test_basic_openai_responses_api

* Adding bedrock thinking budget tokens to docs

* fixing regen key tests

* fix: add missing OpenAI chat completion params to OPENAI_CHAT_COMPLETION_PARAMS

Add store, prompt_cache_key, prompt_cache_retention, safety_identifier, and verbosity
to OPENAI_CHAT_COMPLETION_PARAMS list.

These params were already in DEFAULT_CHAT_COMPLETION_PARAM_VALUES but missing from
the OPENAI_CHAT_COMPLETION_PARAMS list, causing them to be dropped when passed to
OpenAI-compatible providers.

---------

Co-authored-by: yuneng-jiang <yuneng.jiang@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
Co-authored-by: Sameer Kankute <sameer@berri.ai>
Co-authored-by: Cesar Garcia <128240629+Chesars@users.noreply.github.com>
Co-authored-by: Krish Dholakia <krrishdholakia@gmail.com>
2026-02-16 20:31:21 -08:00
yuneng-jiang aa7bc6ae3b Adding bedrock thinking budget tokens to docs 2026-02-16 20:14:26 -08:00