Commit graph

33582 commits

Author SHA1 Message Date
Krrish Dholakia
ed5bdabcfd fix: remove unused code 2026-02-25 10:48:23 -08:00
Krish Dholakia
69475d7b26
Merge branch 'main' into litellm_dev_02_23_2026_p2 2026-02-25 10:44:58 -08:00
Krish Dholakia
1dbdb0dbdd
Update litellm/proxy/guardrails/guardrail_hooks/block_code_execution/block_code_execution.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-25 10:41:21 -08:00
Krish Dholakia
5662228e20
feat(ui): add user filtering to usage page (#22059)
* feat(ui): add user filtering to usage page

Adds "User Usage" as a new view option in the usage page dropdown,
allowing admins to view and filter usage data by individual users
via the existing /user/daily/activity backend endpoint.

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

* feat(ui/): working usage filtering

* fix(ui): use single-select for user filter and add tests

The user entity type's backend endpoint only accepts a single user_id,
so the filter now uses single-select mode instead of multi-select.
Added tests for the new user entity type in EntityUsage and
UsageViewSelect. Updated CLAUDE.md and AGENTS.md with guidance on
UI/backend contract consistency and test coverage for new entity types.

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

* revert: remove unintended package-lock.json changes

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

* revert: restore package-lock.json to merge base state

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 10:37:45 -08:00
Krrish Dholakia
62f33ac337 feat: cleanup ui 2026-02-25 10:36:18 -08:00
Krrish Dholakia
8fe2d589f8 docs: cleanup agent instructions 2026-02-25 10:26:20 -08:00
yuneng-jiang
a38993b871
Merge pull request #22107 from BerriAI/litellm_fix_ui_duplicate_import_v2
fix(ui): remove duplicate antd import in ToolPolicies
2026-02-25 10:25:56 -08:00
Krrish Dholakia
e9a96dd6cb feat: minor cleanup 2026-02-25 10:25:45 -08:00
Krrish Dholakia
51b2961c9f fix: fix greptile feedback 2026-02-25 10:16:29 -08:00
Shin
115b9a2d29 fix(ui): remove duplicate antd import in ToolPolicies
Duplicate import was causing UI build to fail:
- Line 4: import { Select, Switch, Tooltip } from 'antd'
- Line 5: import { Select, Tooltip } from 'antd' (duplicate)

Removed the duplicate line 5.
2026-02-25 18:09:17 +00:00
Sameer Kankute
47c24ef8ae
Merge pull request #22094 from BerriAI/litellm_bump_openai_25_02
[chore] bump OpenAI package version
2026-02-25 18:46:10 +05:30
Sameer Kankute
05165779ac
Merge pull request #22081 from BerriAI/litellm_fix_bedrock_batch_health_check
Fix: Test connect failing for bedrock batches mode
2026-02-25 18:46:01 +05:30
Sameer Kankute
ebe35aad9a
Merge pull request #22080 from BerriAI/litellm_vllm_response_fix
Fix None (TypeError: 'NoneType' object is not a mapping)
2026-02-25 18:45:54 +05:30
Sameer Kankute
ec3ae25a3a
Merge pull request #22070 from BerriAI/litellm_forward_auth_headers
[Feat]Add forward auth headers of provider
2026-02-25 18:45:38 +05:30
Harshit Jain
fbffa9a215
Merge pull request #22095 from Harshit28j/litellm_fix_RCE_issues
fix Unauthenticated RCE and Sandbox Escape in Custom Code Guardrail
2026-02-25 18:23:04 +05:30
Harshit28j
c3e32b450e Address CR feedback: fix auth dependency duplication, correct logger wording, clean imports 2026-02-25 18:02:12 +05:30
Harshit28j
e50b4486d0 fix Unauthenticated RCE and Sandbox Escape in Custom Code Guardrail 2026-02-25 17:57:32 +05:30
Sameer Kankute
ec9ec6b771 remove comment 2026-02-25 17:40:46 +05:30
Sameer Kankute
955b85015f Bump openai package 2026-02-25 17:40:41 +05:30
Harshit Jain
d2aeb3e513
Merge pull request #22084 from Harshit28j/litellm_presidio-non-json-response-handling
fix(guardrails): prevent presidio crash on non-json responses
2026-02-25 16:37:39 +05:30
Harshit28j
6a8052295b fix(guardrails): prevent presidio crash on non-json responses 2026-02-25 16:11:24 +05:30
Harshit Jain
66c49dbb9c
Merge pull request #22077 from Harshit28j/litellm_gemini_trace_id_missingv2
Litellm gemini trace id missingv2
2026-02-25 15:09:42 +05:30
Sameer Kankute
61f9222156 Fix: Test connect failing for bedrock batches mode 2026-02-25 15:03:27 +05:30
Sameer Kankute
45c87a714e Fix None (TypeError: 'NoneType' object is not a mapping) 2026-02-25 14:39:12 +05:30
Harshit Jain
23e84eb789 fix: Metadata / Trace ID Missing in S3 Streaming Callbacks 2026-02-25 14:16:42 +05:30
Harshit Jain
897b472011 fix: Metadata / Trace ID Missing in S3 Streaming Callbacks 2026-02-25 14:16:21 +05:30
Sameer Kankute
83afa310d6 Fix clean header logger 2026-02-25 12:31:35 +05:30
Sameer Kankute
0e806c83c1 Fix docs 2026-02-25 12:13:56 +05:30
Sameer Kankute
a43d6139c7 Fix docs 2026-02-25 12:13:07 +05:30
Sameer Kankute
1f8f66de69 add docs for Authentication Headers forwarding 2026-02-25 12:10:12 +05:30
Sameer Kankute
886f9d6a70 Add support for forwarding provider's auth headers 2026-02-25 12:08:25 +05:30
Krish Dholakia
00ab4d2067
feat: add new code execution dataset (#22065) 2026-02-24 20:58:23 -08:00
yuneng-jiang
ec7dc44e73
Merge pull request #22049 from BerriAI/litellm_spend_log_key_info
[Fix] Enrich Failure Spend Logs With Key/Team Metadata
2026-02-24 20:56:51 -08:00
shin-bot-litellm
b2c0bec5c5
fix(test): Update status enum values to match Google Interactions OpenAPI spec (#22061)
Google's Interactions API spec changed the status enum:
- Values are now lowercase (was uppercase)
- 'UNSPECIFIED' value was removed

Updated test to match the current spec from:
https://ai.google.dev/static/api/interactions.openapi.json
2026-02-24 20:26:11 -08:00
yuneng-jiang
aa48a7ec00 Allow DB fallback for failure metadata enrichment lookups
Accurate logging is more important than avoiding the rare DB lookup
on the async failure path. Remove check_cache_only=True so lookups
fall back to DB when the key/team is not in cache.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:43:55 -08:00
yuneng-jiang
7a8b3daff5 address greptile review feedback (greploop iteration 2)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:22:45 -08:00
Krrish Dholakia
7cac456836 feat(ui/): add new guardrails to guardrail_garden 2026-02-24 19:19:58 -08:00
Krrish Dholakia
adda8874e3 feat: working block code execution guardrail 2026-02-24 19:16:39 -08:00
yuneng-jiang
bf77a114cc address greptile review feedback (greploop iteration 1)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:10:01 -08:00
yuneng-jiang
8f118fbbce
Merge pull request #22053 from atapia27/healthcheck-typo-fix
removed extra comma typo
2026-02-24 19:06:53 -08:00
Krrish Dholakia
20fdedf44f feat(add-new-block_code_execution-guardrail): prevent agent from executing code 2026-02-24 18:28:19 -08:00
Ishaan Jaff
60bcb26dc8
feat(agents): assign virtual keys to agents (#22045)
* feat(agents): assign virtual keys to agents

- Add agent_id field to LiteLLM_VerificationToken (schema.prisma + _types.py)
- Pass agent_id through key generation endpoint so keys can be scoped to an agent
- Refactor Add Agent wizard to 3-step flow (Configure → Assign Key → Ready)
  - Configure: all agent fields, custom/other type with just name+description
  - Assign Key: create new key or reassign existing key to agent
  - URL is now optional for easy discovery
- Add "Agent" ownership option to Create Key modal on Virtual Keys page
  with agent selector dropdown
- Extract CreatedKeyDisplay into shared component, reused in both flows
- Add keyCreateForAgentCall networking helper
- Add test for agent_id key generation

* fix(agents): code quality fixes from self-review

- Fix test_generate_key_helper_fn_agent_id: remove bare except clause,
  use explicit assert mock_insert.called, use .kwargs for clean arg access
- Remove no-op conditional in handleNext (both branches were identical)
- Validate selectedExistingKey before calling keyUpdateCall
- Validate selectedAgentId before setting on formValues in create_key_button

* fix(ui): replace deprecated Tremor Button with Ant Design Button in CreatedKeyDisplay
2026-02-24 18:28:16 -08:00
Ishaan Jaff
4e84e4c607
fix(ui): show real tool names in logs for Anthropic format tools (#22048) 2026-02-24 18:16:04 -08:00
Alejandro Tapia
b1423bc8bf removed extra comma typo 2026-02-24 17:37:00 -08:00
yuneng-jiang
3f1554c099
Merge pull request #21071 from atapia27/feat/healthcheck-model_id-fix
healthcheck-model_id-fix
2026-02-24 17:15:07 -08:00
yuneng-jiang
f4e23c97fd [Fix] Enrich failure spend logs with key/team metadata
Failure spend logs were missing key metadata (key alias, user ID, team ID,
team alias) in two scenarios:

1. Auth errors (401 ProxyException): auth_exception_handler creates a
   minimal UserAPIKeyAuth with only api_key and request_route set — all
   other fields are null. The failure hook now looks up the full key object
   from cache/DB using the key hash to populate the missing fields.

2. Post-auth failures (provider errors, rate limits): key fields are
   present but team_alias is always null because LiteLLM_VerificationTokenView
   SQL view does not include team_alias. The failure hook now looks up the
   team object from cache to populate team_alias.

Both lookups are non-fatal and wrapped in try/except.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 17:14:37 -08:00
Alejandro Tapia
80c09295ad Merge upstream/main - resolve health check conflicts 2026-02-24 17:09:05 -08:00
yuneng-jiang
9837a1bd2a
Merge pull request #22047 from BerriAI/litellm_key_info_page_email
[Feature] UI - Virtual Keys: Add KeyInfoHeader component
2026-02-24 17:04:17 -08:00
ryan-crabbe
fa87291bd9
Merge pull request #20397 from ryan-crabbe/fix/openai-prompt-cache-params
fix: add prompt_cache_key and prompt_cache_retention support for OpenAI
2026-02-24 16:51:10 -08:00
yuneng-jiang
50ba6986ef [Feature] UI - Virtual Keys: Add KeyInfoHeader component with metadata display
Add a reusable KeyInfoHeader component to replace the inline header in KeyInfoView.
Extract LabeledField as a common component for labeled metadata display with copyable
support, default_user_id handling, and empty value placeholders.

- Migrate all icons from lucide-react/heroicons to @ant-design/icons
- Use antd native copyable with descriptive tooltips (Copy Key Alias, Copy Key ID, etc.)
- Show DefaultProxyAdminTag for default_user_id values
- Add canModifyKey, regenerateDisabled, regenerateTooltip props for permission gating
- Add tests for KeyInfoHeader (19 tests) and LabeledField (8 tests)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-24 16:46:26 -08:00