Commit Graph
32310 Commits
Author SHA1 Message Date
yuneng-jiang 2c02a71ef4 addressing comments and build fail 2026-02-14 13:52:26 -08:00
yuneng-jiang bb9049de44 add new ui build github workflow 2026-02-14 13:46:21 -08:00
Ishaan Jaffer 703bf5add0 BUMP Enterprise PIP 2026-02-14 13:40:48 -08:00
Ishaan Jaffer ed06f04a67 bump: version 1.81.11 → 1.81.12 2026-02-14 13:29:12 -08:00
Ishaan Jaffer 80b080e00c code QA fx 2026-02-14 13:29:03 -08:00
Ishaan Jaffer bd766706c5 VertexAILlama3StreamingHandler 2026-02-14 13:18:26 -08:00
Ishaan Jaffer 55a78e564d test_anthropic_messages_with_all_beta_headers 2026-02-14 13:03:52 -08:00
Ishaan Jaffer add3183308 IGNORE_FUNCTIONS 2026-02-14 12:59:15 -08:00
Ishaan Jaffer b8f572fc39 test_responses_api_shell_tool_streaming_sees_shell_output 2026-02-14 12:55:44 -08:00
Ishaan Jaffer 3987198fca test_partner_models_httpx_streaming 2026-02-14 12:41:35 -08:00
Ishaan Jaffer 6a4b531057 def get_advanced_model_for_shell_tool(self) -> Optional[str]:
AZURE
2026-02-14 12:29:42 -08:00
Ishaan Jaffer bab2bcad8c test_openai_codex_stream 2026-02-14 12:28:18 -08:00
Ishaan Jaffer 582fbf9040 test_anthropic_custom_headers 2026-02-14 12:22:14 -08:00
Ishaan Jaffer ec7eb79634 ANTHROPIC_API_KEY 2026-02-14 12:20:55 -08:00
Ishaan Jaffer ad72d162cd avector_store_create 2026-02-14 12:16:33 -08:00
Krish DholakiaandGitHub fa0b26c611 ci/cd fixes (#21218)
* fix: add a2a-sdk to dev deps

* fix: fix test

* fix: update poetry lock

* test: cleanup bad/hanging tests
2026-02-14 12:11:53 -08:00
Ishaan Jaffer e373da6653 test_partner_models_httpx_streaming 2026-02-14 12:09:18 -08:00
Alexsander HamirandGitHub 7944b67842 Fix CI/CD pyroscope test failure (#21219) 2026-02-14 12:07:20 -08:00
Ishaan Jaffer e5bbafba62 test_completion_openrouter_reasoning_effort 2026-02-14 12:04:05 -08:00
Ishaan Jaffer ff9fbe7fe2 test_other_constraints_preserved 2026-02-14 12:00:48 -08:00
Krish DholakiaandGitHub 644f66a7d3 Agent Guardrails - on streaming output (#21206)
* fix(ui/): add mcp input as an example for custom code guardrails

* feat(a2a/): ensure a2a guardrails works on response output

* feat(a2a/): support streaming guardrails

* fix(ui/): add mcp input as an example for custom code guardrails
2026-02-14 11:36:52 -08:00
Ishaan Jaffer 977d1f90d2 test fixes 2026-02-14 11:33:45 -08:00
Ishaan Jaffer 77dd3cb2b2 test_responses_api_shell_tool_streaming_sees_shell_output 2026-02-14 11:32:52 -08:00
Ishaan Jaffer 1730008657 claude-sonnet-4-5-20250929 2026-02-14 11:28:45 -08:00
Ishaan Jaffer 966541a999 scaleway fix 2026-02-14 11:26:11 -08:00
mubashir1osmaniandGitHub 4727aa41fc fix(langfuse_otel): prevent empty proxy request spans from being sent to Langfuse
fix(langfuse_otel): prevent empty proxy request spans from being sent to Langfuse
2026-02-14 14:22:32 -05:00
jquinterandGitHub a15a2fa77c Merge pull request #21212 from BerriAI/fix/jwt-email-domain-validation-error
Fix: JWT email domain validation error message
2026-02-14 16:20:08 -03:00
Ishaan Jaffer ad910de1e3 test_o1_parallel_tool_calls 2026-02-14 10:47:38 -08:00
Julio Quinteros ProandClaude Sonnet 4.5 90d61432cf Fix LiteLLM_JWTAuth annotations access bug
The __init__ method was trying to access self.__annotations__ before
super().__init__() was called, resulting in an empty annotations dict.

Changed to use the class annotations directly: LiteLLM_JWTAuth.__annotations__
instead of self.__annotations__.

This fixes the ValueError:
"Invalid arguments provided: user_email_jwt_field, user_id_upsert,
user_allowed_email_domain. Allowed arguments are: ."

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 15:44:02 -03:00
Julio Quinteros ProandClaude Sonnet 4.5 3f4ba9f03f Fix JWT auth email domain validation error message
Fixes issue where users with disallowed email domains receive a
generic "user doesn't exist" error instead of a clear message
about the email domain not being allowed.

Changes:
- Add explicit check for valid_user_email before get_user_object
- Raise ProxyException with clear error message when email domain
  is not in the allowed list
- Prevents confusing error message for email domain restrictions

This fixes the test_allow_access_by_email test failure.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 15:39:39 -03:00
jquinterandGitHub d60a832aae Merge pull request #21207 from BerriAI/fix/content-filter-too-many-statements
Fix: Refactor content filter to reduce statement count (PLR0915)
2026-02-14 15:23:59 -03:00
jquinterGitHubgreptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
ae0ffdf5a6 Update litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/content_filter.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-14 15:20:08 -03:00
Julio Quinteros ProandClaude Sonnet 4.5 9084fdeeb4 Refactor _filter_single_text to reduce statement count
Fixes PLR0915 linting error (too many statements: 64 > 50) by extracting
repeated logic into four helper methods:
- _handle_conditional_match
- _handle_category_keyword_match
- _handle_pattern_match
- _handle_blocked_word_match

This improves code organization and maintainability while preserving
all existing functionality.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 15:16:39 -03:00
Ishaan Jaffer 3b89b14687 fix schema 2026-02-14 09:56:45 -08:00
Ishaan Jaffer d4bb040755 bump pyproject 2026-02-14 09:56:45 -08:00
Ishaan Jaffer ab31725b4a bump 2026-02-14 09:56:45 -08:00
Ishaan Jaffer c445011025 fix extras 2026-02-14 09:56:45 -08:00
Ishaan Jaffer cba886dbb1 add new migrations 2026-02-14 09:56:45 -08:00
Ishaan Jaffer 54bd5632d1 new schema 2026-02-14 09:56:45 -08:00
Ishaan Jaffer 8d9ae1d2b4 codex test fixes 2026-02-14 09:56:45 -08:00
jquinterandGitHub a68d61ad76 Merge pull request #21203 from jquinter/fix-too-many-statements-pre-call-utils
refactor: extract helper functions to reduce statement count in add_guardrails_from_policy_engine
2026-02-14 14:55:16 -03:00
Julio Quinteros Pro 3b7cc1d138 docs: improve comment clarity per Greptile feedback
Restructure comments to make the intent clearer:
- First function: matches/tracks policies (may find nothing)
- Second function: always runs independent resolution (may find inherited guardrails)

This makes it clear why both functions must always be called.
2026-02-14 14:43:20 -03:00
Julio Quinteros Pro 0f0b7a3f50 fix: preserve original behavior - always call PolicyResolver
Remove early return when applied_policy_names is empty to preserve
original behavior where PolicyResolver.resolve_guardrails_for_context()
is always called. The resolver does its own independent matching and
inheritance resolution, which can apply guardrails from parent policies
even when child policies fail their conditions.

This ensures no guardrails are silently dropped due to the refactoring.

Addresses Greptile review feedback on behavioral change.
2026-02-14 14:43:20 -03:00
Julio Quinteros Pro 9e0af32d46 fix: add PolicyMatchContext to TYPE_CHECKING imports
Add PolicyMatchContext to TYPE_CHECKING block to fix F821 undefined
name errors in helper function type hints.

Fixes:
- proxy/litellm_pre_call_utils.py:1524:15: F821
- proxy/litellm_pre_call_utils.py:1596:15: F821
2026-02-14 14:43:20 -03:00
Julio Quinteros ProandClaude Sonnet 4.5 ade2ae1977 refactor: extract helper functions to reduce statement count
Refactor add_guardrails_from_policy_engine by extracting two helper
functions to reduce the statement count from 52 to under 50:

- _match_and_track_policies: Handles policy matching and tracking
- _apply_resolved_guardrails_to_metadata: Handles guardrail resolution

Fixes Ruff PLR0915 linting error (too many statements).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 14:43:20 -03:00
Krish DholakiaandGitHub e41ecc7a71 Guardrails - add nsfw policy template, toxic keywords in multiple languages, child safety content filter, json content viewer (#21205)
* fix(content_filter.py): fix filter on toxic keywords

* feat: improve toxic/abusive language detection

* fix: additional improvements to nsfw filters

* feat: more improvements to nsfw filter

* feat(content_filter.json): add new australia specific nsfw content filter

ensure complete coverage for australia nsfw

* fix: cleanup policy templates

* fix(index.tsx): alert notice

* fix(index.tsx): add disclaimer notice

* feat(harmful_child_safety.yaml): new child safety content filter

ensure we catch inappropriate, child-specific content

* feat(policy_templates.json): add child safety and self harm filters

* fix(content_filter.py): improve racial bias filter to use a similar identifier + block word pattern and cover a wider range of ethnicities

* feat(policy_templates.json): add racial bias to nsfw policy template

* feat: add json content viewer
2026-02-14 09:41:55 -08:00
jquinterandGitHub 2e8056432f Merge pull request #21202 from jquinter/fix-unused-variable-pipeline-executor
fix: remove unused variable original_guardrails in pipeline_executor
2026-02-14 14:36:01 -03:00
Ishaan Jaffer 1e257db0a5 fix MYPY linting + JSON refs 2026-02-14 09:34:56 -08:00
Julio Quinteros ProandClaude Sonnet 4.5 6caedfd2a5 fix: remove unused variable original_guardrails in pipeline_executor
Remove unused local variable 'original_guardrails' that was assigned
but never used in the _execute_guardrail_step method.

Fixes Ruff F841 linting error.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 14:32:32 -03:00
yuneng-jiangandGitHub 951c230ff0 Merge pull request #21201 from BerriAI/ui_build_feb14
[Infra] UI - Building for Release
2026-02-14 09:30:57 -08:00