Commit graph

36177 commits

Author SHA1 Message Date
Harshit28j
aae2deb839 fix: remove redundant import and add test for startup failure
- Remove redundant `import sys` (already imported at module level)
- Add test_startup_fails_when_db_setup_fails verifying sys.exit(1)
  when PrismaManager.setup_database returns False

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 18:15:11 +05:30
Harshit28j
4714128da5 fix: fail proxy startup if prisma migrate fails
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-10 18:05:13 +05:30
Sameer Kankute
9bc7357e7c
Merge pull request #23222 from BerriAI/litellm_oss_staging_02_18_2026
Litellm oss staging 02 18 2026
2026-03-10 17:46:06 +05:30
Sameer Kankute
b211b67cea
Merge pull request #23164 from BerriAI/litellm_oss_staging_03_09_2026
oss staging 03/09/2026
2026-03-10 17:45:17 +05:30
Sameer Kankute
d0d1291c15
Merge pull request #22628 from BerriAI/litellm_oss_staging_03_02_2026
Litellm oss staging 03 02 2026
2026-03-10 17:40:31 +05:30
Sameer Kankute
9bee76c30d
Merge pull request #23253 from BerriAI/main
merge main
2026-03-10 17:25:01 +05:30
Sameer Kankute
72fc2f77cf
Merge pull request #23252 from BerriAI/main
merge main
2026-03-10 17:24:19 +05:30
Harshit Jain
9f15a9915e
Merge branch 'main' into litellm_langfuse_key_leakage 2026-03-10 17:21:15 +05:30
Sameer Kankute
3f17a63b81
Merge branch 'main' into litellm_oss_staging_03_02_2026 2026-03-10 17:19:37 +05:30
Harshit28j
20bf3aa807 fix: pop sensitive keys from langfuse 2026-03-10 17:18:11 +05:30
Harshit28j
631aefea18 fix: req changes on feedback from greptile 2026-03-10 16:46:18 +05:30
Harshit28j
212059cd11 fix: presidio improvements 2026-03-10 16:33:41 +05:30
Harshit28j
12de8a724f fix: clean approach instead of UUID 2026-03-10 15:51:11 +05:30
Harshit28j
14ecc79760 fix: req changes greptile hallucinates 2026-03-10 15:51:11 +05:30
Harshit28j
a28fbba3b1 fix: req changes to improve score 2026-03-10 15:51:11 +05:30
Harshit28j
1bfd88a33c fix: req changes 2026-03-10 15:51:10 +05:30
Harshit28j
1ba42d1d99 fix: address req changes 2026-03-10 15:51:10 +05:30
Harshit28j
861db111a0 fix: presidio edge case with antropic handle on pii token leak 2026-03-10 15:51:10 +05:30
Sameer Kankute
94b002066e
Merge pull request #23244 from BerriAI/litellm_skills_api_folder_name_match
fix(skills): match zip folder name to skill name in SKILL.md for Anthropic API
2026-03-10 14:11:49 +05:30
Sameer Kankute
88c4079b16 fix(skills): match zip folder name to skill name in SKILL.md for Anthropic API
Made-with: Cursor
2026-03-10 14:11:11 +05:30
Sameer Kankute
0122abfa2b fix(bedrock): populate completion_tokens_details in converse _transform_usage
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-10 13:17:28 +05:30
Harshit28j
afb117f5d3 fix: req changes from greptile 2026-03-10 13:03:29 +05:30
Harshit28j
b731e432f8 feat: record silent metrics 2026-03-10 12:54:32 +05:30
Sameer Kankute
3e1f343d1a
Merge pull request #23242 from BerriAI/litellm_fix_redaction_and_charity_engine_provider
fix(tests): update cache hit redaction assertion to expect choices fo…
2026-03-10 12:27:59 +05:30
yuneng-jiang
d39a3a90b4
Merge pull request #23241 from BerriAI/litellm_/elastic-gagarin
[Feature] UI - Virtual Keys: Add refetch button, keep stale data during refetch
2026-03-09 23:52:11 -07:00
yuneng-jiang
129ed1014b [Fix] UI - Virtual Keys: Reset refetch button on error so user can retry
When a fetch fails, the button now exits the loading state instead of
staying stuck on "Fetching" indefinitely.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:46:45 -07:00
Sameer Kankute
f33f446476
Merge pull request #23240 from BerriAI/litellm_bedrock-nova-output-config-spend-tracking
fix(bedrock): strip output_config from Converse requests; fix spend tracking redaction test
2026-03-10 12:15:06 +05:30
Sameer Kankute
30fde1de7f fix(tests): update cache hit redaction assertion to expect choices format
Made-with: Cursor
2026-03-10 12:14:24 +05:30
yuneng-jiang
9ee489863d [Feature] UI - Virtual Keys: Add refetch button and keep stale data during refetch
Show a Fetch/Fetching button next to "Showing X of Y results" that acts as
both a manual refetch trigger and a loading indicator. The "Loading keys..."
message now only appears on initial load; subsequent refetches keep the table
visible with stale data (via React Query's keepPreviousData).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:30:55 -07:00
yuneng-jiang
b8886568f0
Merge pull request #23236 from BerriAI/litellm_/flamboyant-leakey
[Fix] All Proxy Models Not Including Model Access Groups in Key Creation
2026-03-09 23:27:38 -07:00
Sameer Kankute
200b001633 fix(bedrock): strip output_config from Converse requests; fix spend tracking redaction test
Made-with: Cursor
2026-03-10 11:53:36 +05:30
Sameer Kankute
d9d81175b6
Merge pull request #23238 from BerriAI/litellm_mcp_openapi_tool_fixes
fix(mcp): OpenAPI tool listing and execution for relative URLs and camelCase
2026-03-10 11:48:33 +05:30
Sameer Kankute
db99fdeff3 fix(mcp): OpenAPI tool listing and execution for relative URLs and camelCase
- Fix case-insensitive tool name matching in _tool_name_matches() so that
  OpenAPI operationIds (camelCase) match lowercase registered tool names
  when filtering by allowed_tools
- Fix get_base_url() to resolve relative server URLs (e.g. /api/v3) by
  deriving full base URL from spec_path when OpenAPI spec has relative URLs
- Add tests for case-insensitive matching and filter_tools_by_allowed_tools

Made-with: Cursor
2026-03-10 11:34:23 +05:30
yuneng-jiang
1755a281bd Fix mutation bug: copy lists in get_key_models to prevent corrupting cached UserAPIKeyAuth
`all_models = user_api_key_dict.models` was creating an alias, so
`_get_models_from_access_groups` (which uses `.pop()`/`.extend()`) would
mutate the cached object in-place. Now both `.models` and `.team_models`
assignments create copies via `list()`.

Added test to verify the input is not mutated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:55:53 -07:00
yuneng-jiang
1cf191d9ad [Fix] Deduplicate model lists and remove dead assignment
Adds dedup to get_key_models and get_team_models to prevent duplicate
entries when access group member models overlap with proxy_model_list.
Removes dead assignment of all_models in get_team_models.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:44:45 -07:00
Sameer Kankute
cf84072662
Merge pull request #23235 from BerriAI/litellm_fix_redaction_and_charity_engine_provider
fix(logging): preserve ModelResponse choices format in redacted standard_logging_object + add Charity Engine provider endpoint
2026-03-10 11:00:24 +05:30
yuneng-jiang
c829733200 [Fix] Include model access groups when expanding All Proxy Models
When a team has "all-proxy-models", the model list expansion now includes
model access group names so they appear in the UI key creation form.
Also fixes get_key_models not forwarding include_model_access_groups to
_get_models_from_access_groups, and removes unused _unfurl_all_proxy_models.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:30:07 -07:00
Sameer Kankute
b08445837b fix(logging): preserve ModelResponse choices format in redacted standard_logging_object + add Charity Engine provider endpoint
- Fix perform_redaction to handle dict representation of ModelResponse (from model_dump())
- Preserve full choices structure when redacting, redact content/audio in place
- Add _redact_standard_logging_object helper for standard_logging_object field
- Update test_logging_redaction_e2e_test assertions to expect choices format
- Add charity_engine to provider_endpoints_support.json

Fixes: test_standard_logging_payload, test_standard_logging_payload_audio
Made-with: Cursor
2026-03-10 10:22:57 +05:30
Sameer Kankute
09919a81b2
Merge pull request #23234 from BerriAI/revert-23224-cursor/get-optional-params-behavior-ed4a
Revert "Get optional params behavior"
2026-03-10 10:22:10 +05:30
Sameer Kankute
504e66ccd4
Revert "fix: forward recognized OpenAI params from kwargs in completion() (#2…"
This reverts commit dd6f0d6c55.
2026-03-10 10:22:00 +05:30
Carlo Alberto Ferraris
9d2b0117d9
docs: add DB performance guidelines to CLAUDE.md
Extend the "Proxy database access" section with guidelines to prevent
common DB performance issues, tailored to actual Prisma usage patterns
in the litellm codebase: N+1 queries, client-side processing, batching
writes, bounding result sets, select on wide tables, index coverage,
and schema file sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 13:40:13 +09:00
Sameer Kankute
32e7b22f05
Merge pull request #23233 from BerriAI/revert-23231-litellm_cicd_100326
Revert "Fix logging tests"
2026-03-10 10:00:04 +05:30
Sameer Kankute
3f30f6a49c
Revert "Fix logging tests" 2026-03-10 09:59:53 +05:30
Sameer Kankute
9402a8b57e
Merge pull request #23231 from BerriAI/litellm_cicd_100326
Fix logging tests
2026-03-10 09:59:00 +05:30
Sameer Kankute
7542845e8d Revert "fix: strip empty text content blocks in /v1/messages endpoint (#23097)"
This reverts commit 2c738cc939.
2026-03-10 09:56:39 +05:30
Krish Dholakia
2cb47727b6 fix: forward recognized OpenAI params from kwargs in completion() (#23224)
Any param in DEFAULT_CHAT_COMPLETION_PARAM_VALUES that arrives via
completion(**kwargs) is now automatically forwarded to
get_optional_params(), even if it's not a named parameter of
completion().

Previously, get_non_default_completion_params() excluded params in
OPENAI_CHAT_COMPLETION_PARAMS (assuming they'd be forwarded via the
named-param path), while optional_param_args only contained explicitly
named params. Params like 'store' that were in the known-params list
but not named params fell through both paths and were silently dropped.

The fix adds a 7-line loop after building optional_param_args that
forwards any kwargs present in DEFAULT_CHAT_COMPLETION_PARAM_VALUES.
This means new OpenAI params only need to be added to the constants
dict — no boilerplate changes to 3+ function signatures required.

Fixes #23087

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-03-10 09:56:39 +05:30
Sameer Kankute
1ec9d984a0
Merge pull request #23232 from BerriAI/revert-23097-fix/sanitize-empty-text-blocks-v1-messages
Revert "fix: strip empty text content blocks in /v1/messages endpoint"
2026-03-10 09:53:49 +05:30
Sameer Kankute
c1b860b3c1
Revert "fix: strip empty text content blocks in /v1/messages endpoint (#23097)"
This reverts commit 2c738cc939.
2026-03-10 09:53:19 +05:30
Sameer Kankute
56be0a651f fix: add charity_engine to provider_endpoints_support.json
Made-with: Cursor
2026-03-10 09:50:37 +05:30
Sameer Kankute
325df8d62a Fix logging tests 2026-03-10 09:45:28 +05:30