Commit graph

37969 commits

Author SHA1 Message Date
Ishaan Jaffer
ce3d039bcd
test(advisor): add unit tests for orchestration loop (mocked backends, 8 tests) 2026-04-11 17:43:26 -07:00
Ishaan Jaffer
b92e4c5595
docs(advisor): add interceptors README explaining when to use vs pre-request hooks 2026-04-11 17:43:23 -07:00
Ishaan Jaffer
c12ebdb221
feat(advisor): add AdvisorOrchestrationHandler for non-Anthropic providers 2026-04-11 17:43:20 -07:00
Ishaan Jaffer
ea765f7509
feat(advisor): add MessagesInterceptor ABC and registry 2026-04-11 17:43:16 -07:00
Ishaan Jaffer
ebc57a157d
feat(advisor): wire MessagesInterceptor registry into anthropic_messages handler 2026-04-11 17:43:13 -07:00
Ishaan Jaffer
a89b0672c7
feat(advisor): add replace_with_text param to strip_advisor_blocks_from_messages 2026-04-11 17:43:10 -07:00
Ishaan Jaffer
23e20facb6
feat(advisor): add ADVISOR_MAX_USES, ADVISOR_NATIVE_PROVIDERS, ADVISOR_TOOL_DESCRIPTION constants 2026-04-11 17:43:07 -07:00
Ryan Crabbe
ef38c665ca
fix(guardrails): use plural key in get_disable_global_guardrail
Rename disable_global_guardrail → disable_global_guardrails to match
the key name used by litellm_pre_call_utils.py, the API endpoints,
and the UI when propagating key/team metadata.

The singular form was introduced in PR #16983 and has never matched
the plural form written by the rest of the codebase, so the feature
silently did nothing.

Re-applies fix originally from #25488. Original commit could not be
merged due to missing signature.

Co-Authored-By: Remi Mabon <remi.mabon@redcare-pharmacy.com>
2026-04-11 17:35:50 -07:00
Krrish Dholakia
e08e3bf748 docs: clarify how to get benchmarking script 2026-04-11 17:31:03 -07:00
Krrish Dholakia
12bca649fc docs: refactor benchmarking docs to be clearer 2026-04-11 17:30:09 -07:00
yuneng-jiang
2c786ca2e6
Merge pull request #25578 from BerriAI/yj_apr11_bump
Some checks are pending
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
CodSpeed Benchmarks / benchmarks (push) Waiting to run
Helm unit test / unit-test (push) Waiting to run
Read Version from pyproject.toml / read-version (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (key-generation, tests/proxy_unit_tests/test_key_generate_prisma.py, 30, 0) (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Unit Tests: Security / security (push) Waiting to run
GitHub Actions Security Analysis / zizmor (push) Waiting to run
bump: version 1.83.6 → 1.83.7
2026-04-11 17:09:31 -07:00
Yuneng Jiang
e162c6d502
bump: version 1.83.6 → 1.83.7 2026-04-11 17:00:33 -07:00
yuneng-jiang
d7823e3a09
Merge pull request #25577 from BerriAI/yj_apr11_build_3
[Infra] Rebuild UI
2026-04-11 16:04:12 -07:00
Yuneng Jiang
a89ad3aaff
chore: update Next.js build artifacts (2026-04-11 22:57 UTC, node v22.16.0) 2026-04-11 15:57:01 -07:00
yuneng-jiang
99cb3af1a6
Merge pull request #25562 from BerriAI/litellm_internal_staging_04_11_2026
Litellm internal staging 04 11 2026
2026-04-11 15:55:29 -07:00
Yuneng Jiang
c40e459447
fix linting 2026-04-11 15:44:15 -07:00
Yuneng Jiang
909247785e
Merge remote-tracking branch 'origin' into litellm_internal_staging_04_11_2026 2026-04-11 15:41:03 -07:00
yuneng-jiang
9a43e32d6e
Merge pull request #25464 from BerriAI/litellm_passthrough_contenttype
fix(proxy): pass-through multipart uploads and Bedrock JSON body
2026-04-11 15:40:16 -07:00
shivam
3742b0cee1
refactor: define pass-through custom body state key in types module
Avoid module-level cyclic import between llm_passthrough_endpoints and
pass_through_endpoints; CodeQL and partial init order no longer risk
undefined LITELLM_PASS_THROUGH_CUSTOM_BODY_STATE_KEY.

Made-with: Cursor
2026-04-11 15:26:44 -07:00
shivam
574eb207c8
fix: import LITELLM_PASS_THROUGH_CUSTOM_BODY_STATE_KEY for bedrock passthrough
Fixes NameError when bedrock_proxy_route sets custom body on request.state.
Remove unused lazy-loader helper.

Made-with: Cursor
2026-04-11 15:08:10 -07:00
Shivam Rawat
627d70affd
Potential fix for pull request finding 'CodeQL / Module-level cyclic import'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-04-11 14:46:02 -07:00
yuneng-jiang
21e4071f25
Merge pull request #25573 from BerriAI/yj_apr11_build_2
[Infra] Rebuild UI
2026-04-11 14:25:44 -07:00
shivam
20b16b377c
chore(proxy): match CRLF line endings in pass_through_endpoints
Restores Windows-style line endings to match main/origin main for this
file, removing the full-file noise diff from an accidental LF-only
normalization.

Made-with: Cursor
2026-04-11 14:24:26 -07:00
Yuneng Jiang
b42a8750df
chore: update Next.js build artifacts (2026-04-11 21:00 UTC, node v22.16.0) 2026-04-11 14:00:21 -07:00
yuneng-jiang
56e82451df
Merge pull request #25458 from BerriAI/litellm_team_members_logs
Team member permission /spend/logs for team-wide spend logs (UI + RBAC)
2026-04-11 13:55:00 -07:00
yuneng-jiang
dbcdb1565c
Merge pull request #25241 from BerriAI/es_allow_applyguardrails_for_iam
added applyguardrail to inline iam
2026-04-11 13:51:45 -07:00
yuneng-jiang
0169f140bf
Merge pull request #25571 from BerriAI/yj_apr11_build
[Infra] Build UI for release
2026-04-11 13:31:23 -07:00
ishaan-berri
da75012a50
Merge pull request #25569 from BerriAI/litellm_harish_april11
Litellm harish april11
2026-04-11 13:26:18 -07:00
Yuneng Jiang
18caee3ef4
chore: update Next.js build artifacts (2026-04-11 20:19 UTC, node v22.16.0) 2026-04-11 13:19:41 -07:00
Yuneng Jiang
014ec9bf8e
[Fix] test_databricks: don't assert stream in request body when not passed
Some checks failed
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (key-generation, tests/proxy_unit_tests/test_key_generate_prisma.py, 30, 0) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 30, 8) (push) Has been cancelled
Unit Tests: Security / security (push) Has been cancelled
The test expected "stream": false in the serialized request body, but
stream is only included in optional_params when explicitly passed by
the caller. litellm.completion() defaults stream=None which is excluded
from non_default_params. Assert individual fields instead of the full
serialized JSON to avoid brittleness around optional field inclusion.
2026-04-11 13:19:39 -07:00
Yuneng Jiang
60d20ace5b
[Fix] test_ratelimit: skip over-limit cases that race with background RPM tracking
usage-based-routing tracks RPM in log_success_event which runs in a
background ThreadPoolExecutor. The cache update races with the next
call's routing check in both sync (tight loop) and async (concurrent
gather) modes, making over-limit detection non-deterministic.

Skip the over-limit parametrization (num_try_send > num_allowed_send).
The under-limit cases (2 sent, 3 allowed) still verify the routing
strategy works. Rate-limit enforcement is properly tested with mocks
in tests/test_litellm/test_router/test_enforce_model_rate_limits.py.
2026-04-11 13:08:59 -07:00
harish-berri
ec0cd5c17d
Update streaming.py. Provide Type Annotation for empty dict 2026-04-11 13:04:25 -07:00
yuneng-jiang
150c37c47d
Merge pull request #25568 from BerriAI/litellm_yj_apr_10_2026
[Infra] Merge dev with main
2026-04-11 13:03:52 -07:00
Yuneng Jiang
218daca867
[Fix] Address Greptile review: POST /organization/info auth bypass, inline imports, team access denial tests
- Add _verify_org_access to deprecated POST /organization/info endpoint
- Move get_user_object to module-level import in organization_endpoints.py
- Add tests for _verify_team_access 403 denial path
2026-04-11 12:40:55 -07:00
Ishaan Jaffer
e5824b1ec2
fix(docker): copy local litellm-proxy-extras migrations into Docker image to fix 500 errors
Some checks failed
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (key-generation, tests/proxy_unit_tests/test_key_generate_prisma.py, 30, 0) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Security / security (push) Has been cancelled
2026-04-11 12:30:53 -07:00
ishaan-berri
c70a3c7093
Merge pull request #25450 from harish876/oom-file-fix-openai
Add file content streaming support for OpenAI and related utilities
2026-04-11 12:25:36 -07:00
Yuneng Jiang
e8519b3109
[Fix] Databricks: add provider prefix to response model name
DatabricksConfig.transform_response() was setting model_response.model
to the raw API value (e.g. "dbrx-instruct-071224") without the
"databricks/" prefix. This differs from OpenAILikeChatConfig which
adds custom_llm_provider + "/" + model at lines 119-122.

Previously hidden because databricks-sdk was not in the old poetry
deps, so the test was always skipped with "Databricks SDK not
installed". The uv migration's --all-extras pulls it in transitively.
2026-04-11 12:16:31 -07:00
ishaan-berri
5cb9b087ad
Merge pull request #25545 from BerriAI/litellm_ishaan_april10
Litellm ishaan april10
2026-04-11 12:14:08 -07:00
Ishaan Jaffer
d22a07a9ba
Merge remote-tracking branch 'origin/main' into ci-fix-april6-fixes 2026-04-11 12:04:14 -07:00
harish876
69eb34597c Refactor file content streaming handling to improve routing and support
- Introduced a new method in `FileContentStreamingHandler` to resolve streaming request parameters, enhancing the routing logic based on credentials.
- Updated the `should_stream_file_content` method to check against supported providers.
- Cleaned up type hints and imports across multiple files for better organization and clarity.
- Added comprehensive tests to validate the new routing behavior and ensure original data integrity during streaming requests.
2026-04-11 18:56:15 +00:00
Yuneng Jiang
92bbf0a0d3
Merge remote-tracking branch 'origin' into litellm_oss_staging_04_09_2026 2026-04-11 11:52:42 -07:00
yuneng-jiang
57b77fecbd
Merge pull request #25554 from BerriAI/litellm_cross_tenant_resource_checks
[Fix] Align Org and Team Endpoint Permission Checks
2026-04-11 11:52:04 -07:00
Ishaan Jaffer
aff352b9e3
fix(team_endpoints): suppress type error on budget_limits assignment 2026-04-11 11:38:50 -07:00
Ishaan Jaffer
3df367bdb8
fix(reset_budget_job): use spend_counter_cache from proxy_server in reset_budget_windows 2026-04-11 11:38:47 -07:00
Ishaan Jaffer
011e087939
fix(anthropic): guard against non-dict messages in strip_advisor_blocks_from_messages 2026-04-11 11:33:29 -07:00
Ishaan Jaffer
082f0afb83
refactor(anthropic): extract output_config validation to helper to fix ruff PLR0915 2026-04-11 11:09:59 -07:00
Ishaan Jaffer
f40995418b
fix(types): annotate ANTHROPIC_ADVISOR_TOOL_TYPE as Literal to satisfy mypy 2026-04-11 11:09:55 -07:00
ryan-crabbe-berri
eabb6a31f1
Merge pull request #25542 from BerriAI/litellm_fix-timestamp
fix(spend): session-TZ-independent date filtering for spend/error log queries
2026-04-11 10:57:25 -07:00
shreyes19
75438ac19a docs: add LITELLM_CORS_ORIGINS and LITELLM_CORS_ALLOW_CREDENTIALS to env vars reference 2026-04-11 23:04:32 +05:30
Krrish Dholakia
01b9b50b43
Add Screenshots / Proof of Fix section to PR template (#25564)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Krrish Dholakia <krrish-berri-2@users.noreply.github.com>
2026-04-11 10:20:34 -07:00