Commit Graph

32935 Commits

Author SHA1 Message Date
jquinter b32ba5902b Merge pull request #21610 from BerriAI/fix/auto-regenerate-poetry-lock
ci: auto-regenerate poetry.lock when pyproject.toml changes on main
2026-02-19 19:29:08 -03:00
Julio Quinteros Pro b9e79cc07b fix(ci): restrict GITHUB_TOKEN to contents:read via explicit permissions block
GitHub Advanced Security flagged that the workflow had no permissions block,
leaving GITHUB_TOKEN with its default broad scope. All write operations
(git push, gh pr create) already use GH_TOKEN (PAT), so the implicit
GITHUB_TOKEN only needs read access.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 19:24:57 -03:00
Julio Quinteros Pro 5681229e7c fix(ci): force-push bot branch to handle pre-existing branch from prior run
A re-run within the same second (or a leftover branch) would cause
`git push` to fail. Adding -f is safe since this is a bot-owned branch
that is immediately turned into a PR and never used for anything else.

Fixes inline suggestion from Greptile review.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 19:20:01 -03:00
Julio Quinteros Pro dfbf14e626 fix(ci): pass GH_TOKEN to checkout so git push can create the branch
Without the token in the checkout step the subsequent `git push` uses the
default GITHUB_TOKEN which lacks permission to push new branches, causing
the workflow to fail silently. Fixes issue flagged by Greptile review.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 19:18:18 -03:00
Julio Quinteros Pro d7d651dfeb ci: auto-regenerate poetry.lock when pyproject.toml changes on main
Adds a workflow that triggers whenever pyproject.toml is merged into main
and opens a PR with the refreshed lock file, fixing the recurring CI failure:
"pyproject.toml changed significantly since poetry.lock was last generated."

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 19:13:54 -03:00
Ishaan Jaff c9cdce96fa feat(policy): test playground for AI policy suggestions (#21608)
* fix aviation safety topic filter: remove overly broad exceptions, add cockpit access block words

* fix airline brand protection filter: add identifier words, competitor/ops block words, tighten exceptions

* feat(policy): add POST /policy/templates/test endpoint for testing guardrails before creating them

* feat(ui): add testPolicyTemplate networking function

* feat(ui): add test playground to AI policy suggestion modal

* test(policy): add tests for POST /policy/templates/test endpoint
2026-02-19 14:09:20 -08:00
Ishaan Jaff 779c355f1e feat: add airline off-topic restriction policy template (#21607)
* fix aviation safety topic filter: remove overly broad exceptions, add cockpit access block words

* fix airline brand protection filter: add identifier words, competitor/ops block words, tighten exceptions

* feat: add airline off-topic restriction policy template

* feat: register airline off-topic restriction in policy templates backup

* test: add tests for airline off-topic restriction policy template

* fix: remove overly broad block words (explain, recommend, suggest, best) to reduce false positives

* test: add false-positive tests for recommend/explain airline queries
2026-02-19 13:45:59 -08:00
Ishaan Jaff 18f8a2cee3 docs: add latency overhead troubleshooting guide (#21603)
* add latency overhead troubleshooting doc

* add latency_overhead to troubleshooting sidebar

* docs: add x-litellm-overhead-duration-ms to latency troubleshooting guide
2026-02-19 12:42:33 -08:00
Ishaan Jaff 2c8fcf854a docs: add latency overhead troubleshooting guide (#21600)
* add latency overhead troubleshooting doc

* add latency_overhead to troubleshooting sidebar
2026-02-19 12:34:23 -08:00
Ishaan Jaff cd95e54c10 Add OpenAPI-to-MCP support via API and UI (#21575)
* add spec_path column to LiteLLM_MCPServerTable schema

* add spec_path to MCP request types and table model

* wire spec_path through build_mcp_server_from_table

* add openapi transport type constant

* add OpenAPI Spec as first-class transport option in create form

* add OpenAPI transport support to edit form with auto-detection

* support spec_path in connection status component

* support spec_path in tool configuration component

* support OpenAPI transport in test connection hook

* register OpenAPI tools on server add/update/reload

* preview OpenAPI tools in test/tools/list endpoint
2026-02-19 12:23:24 -08:00
Ishaan Jaff e9a07347dc fix: reduce proxy overhead for large base64 payloads (#21594)
* fix aviation safety topic filter: remove overly broad exceptions, add cockpit access block words

* fix airline brand protection filter: add identifier words, competitor/ops block words, tighten exceptions

* add constants for large payload handling and detailed timing

* add base64 truncation for logging payloads

* use shallow copy for messages, track copy and callback timing

* add callback duration and detailed timing to response metadata

* add callback duration header, size-gate debug logging, detailed timing headers

* add tests for callback timing, base64 truncation, and detailed timing

* fix code quality: extract helpers, fix regex, clean up imports

* rewrite _truncate_base64_in_value iteratively to satisfy recursive detector
2026-02-19 12:10:52 -08:00
Ishaan Jaff b209b11522 feat: AI policy template suggestions (#21589)
* fix aviation safety topic filter: remove overly broad exceptions, add cockpit access block words

* fix airline brand protection filter: add identifier words, competitor/ops block words, tighten exceptions

* add example_sentences to all policy templates + topic-filtering and prompt-injection templates

* add policy_endpoints package with AI policy suggester

* update test patch targets for policy_endpoints package move

* add unit tests for AI policy suggester

* add suggestPolicyTemplates networking function

* add AI suggestion modal component

* add Use AI button and template loading callback to PolicyTemplates

* wire up AI suggestion modal in policies page

* fix policy_templates_backup.json path after package move

* add estimated_latency field to all policy templates

* use llm_router and accept model parameter in ai_policy_suggester

* add model param to suggest templates endpoint

* pass model param in suggestPolicyTemplates

* polish ai suggestion modal: model selector, auto-growing textareas, latency badges

* add template queue for processing multiple AI-suggested templates

* show template progress badge in guardrail selection modal
2026-02-19 12:00:26 -08:00
michelligabriele 16cfdccc7b fix(bedrock): add Accept header for AgentCore MCP server requests (#21551)
AgentCore MCP server endpoints require the Accept header to contain
both application/json and text/event-stream per the MCP specification
(Streamable HTTP transport). Without this header, requests are rejected
with a 406 Not Acceptable error (JSON-RPC code -32011).

Sets the Accept header at the top of sign_request() so both JWT/Bearer
and SigV4 authentication paths include it.
v1.81.13.dev1
2026-02-19 11:35:14 -08:00
milan-berri 506d1dff43 fix: handle deprovisioning operations without path field (#21571)
* fix(scim): handle deprovisioning operations without path field

When SCIM providers send deprovisioning requests without a path field
(e.g., {"op": "replace", "value": {"active": false}}), the code was
storing the value under an empty string key in metadata.

This fix:
- Detects operations with no path where value is a dict
- Extracts and handles known fields like 'active' correctly
- Sets metadata["scim_active"] = false instead of metadata[""] = {"active": false}

Fixes: SCIM deprovisioning creating empty string keys in user metadata

* fix(scim): handle all known fields in operations without path

Extended the fix to handle all SCIM fields (not just active) when
operations have no path field:
- active -> scim_active
- displayName -> user_alias
- externalId -> user_id
- name.givenName/familyName -> scim_metadata

Added comprehensive test for multiple fields without path.

Addresses Greptile review feedback on RFC 7644 compliance.

* trigger PR update
2026-02-19 11:09:04 -08:00
Sameer Kankute ddc1371cea Merge pull request #21588 from BerriAI/geminii_blog
Fix release
2026-02-20 00:31:01 +05:30
Sameer Kankute 4d392cacb8 Fix release 2026-02-20 00:27:12 +05:30
yuneng-jiang aa4a95c889 Merge pull request #21587 from BerriAI/litellm_fix_key_delete_feb19
[Infra] Add project_id to DeletedVerificationTable
2026-02-19 10:51:28 -08:00
yuneng-jiang 6c0cc4fb4f adding build 2026-02-19 10:50:47 -08:00
yuneng-jiang 2eded1dda6 bump: version 0.4.43 → 0.4.44 2026-02-19 10:50:23 -08:00
yuneng-jiang a5fba84ae3 Merge pull request #21586 from BerriAI/infra_feb19
[Infra] Fixing Merge Artifacts
2026-02-19 10:47:39 -08:00
yuneng-jiang 2d928f8c54 fixing merge 2026-02-19 10:46:58 -08:00
yuneng-jiang bac1b6b2e0 Merge pull request #21545 from BerriAI/litellm_key_last_active_tracking
[Feature] Key Last Active Tracking
2026-02-19 10:29:23 -08:00
yuneng-jiang caa931b167 adding build 2026-02-19 10:29:01 -08:00
yuneng-jiang 9eaaa9740b bump: version 0.4.42 → 0.4.43 2026-02-19 10:28:35 -08:00
yuneng-jiang c911cfbabf Merge remote-tracking branch 'origin' into litellm_key_last_active_tracking 2026-02-19 10:27:48 -08:00
yuneng-jiang 2df7d1770a Merge pull request #21580 from BerriAI/proxy_extras_feb19
[Infra] bump proxy extras
2026-02-19 10:12:33 -08:00
yuneng-jiang c3317ea2b3 build files 2026-02-19 10:11:47 -08:00
yuneng-jiang 23547df8a1 bump: version 0.4.41 → 0.4.42 2026-02-19 10:11:19 -08:00
yuneng-jiang 0465067055 Merge pull request #21579 from BerriAI/proxy_extras_feb19
bump: version 0.4.40 → 0.4.41
2026-02-19 10:07:00 -08:00
yuneng-jiang 35797d1f75 bump: version 0.4.40 → 0.4.41 2026-02-19 10:05:38 -08:00
Sameer Kankute 2e34870df9 Merge pull request #21568 from BerriAI/litellm_gemini-3.1-pro-preview_day_0
[Feat]Add gemini 3.1 pro preview day 0 support
2026-02-19 22:25:28 +05:30
jquinter f20b5fc62a Merge pull request #21566 from BerriAI/fix/pass-through-mypy-type-errors
fix(types): fix mypy errors in pass-through endpoint query param types
2026-02-19 13:51:39 -03:00
Sameer Kankute c123dc5c24 Fix vercel build 2026-02-19 22:19:34 +05:30
Sameer Kankute 9f66a4c122 Fix test_reasoning_effort_dict_format_gemini_3 2026-02-19 22:14:20 +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
Julio Quinteros Pro f3003a9840 fix(types): fix mypy errors in pass-through endpoint query param types
- passthrough/utils.py: change `request_query_params` from `Dict` to
  `Mapping` so callers passing `dict[str, str]` satisfy the type checker
  (dict is invariant; Mapping is covariant in its value type)
- pass_through_endpoints.py: cast `param_default_query_params` to
  `Optional[dict]` consistent with the existing cast pattern for other
  params extracted from the untyped `target_params` dict

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 12:24:14 -03:00
jquinter ec28395054 Merge pull request #21564 from BerriAI/fix/competitor-constants-env-override
fix(constants): add env var override support for COMPETITOR_LLM_TEMPERATURE and MAX_COMPETITOR_NAMES
2026-02-19 11:51:57 -03:00
michelligabriele 053ee4826f fix(websearch_interception): fix pre_call_deployment_hook not triggering via proxy router (#21433)
* fix(websearch_interception): fix pre_call_deployment_hook not triggering via proxy router

Fix provider lookup (check top-level kwargs + fallback to get_llm_provider),
return full kwargs dict instead of partial, and use OpenAI-format tool definition.

* remove unnecessary inline import
2026-02-19 06:38:45 -08:00
Julio Quinteros Pro 4227690025 fix(constants): add env var override support for COMPETITOR_LLM_TEMPERATURE and MAX_COMPETITOR_NAMES
These constants were added as hardcoded values in #21533 without environment
variable support, causing test_all_numeric_constants_can_be_overridden to fail.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 11:28:49 -03:00
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 ca91814b85 rrevert changes 2026-02-19 19:33:34 +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 8bcca905a7 Merge pull request #21539 from BerriAI/litellm_fix_azure_store_param
Fix: add stop param as supported for openai and azure
2026-02-19 19:12:43 +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