Commit graph

49229 commits

Author SHA1 Message Date
yucheng-berri
f8bde83a65 evidence: lit7659 audit report on 3c58786534 2026-09-15 11:54:49 -07:00
yucheng-berri
fa15e923ea evidence: lit7659 audit audit-head-chat-logs-detail 2026-09-15 11:49:49 -07:00
yucheng-berri
997af92fc6 evidence: lit7659 audit audit-base-logs-detail-tags 2026-09-15 11:49:46 -07:00
yucheng-berri
e540bd1619 evidence: lit7659 audit recording on 3c58786534 2026-09-15 11:38:16 -07:00
yucheng-berri
54b2c4d3f1 evidence: lit7659 audit recording on 3c58786534 2026-09-15 11:38:13 -07:00
yucheng-berri
9a6925b525 evidence: lit7659 audit audit-logs-detail-tags on 3c58786534 2026-09-15 11:38:11 -07:00
yucheng-berri
2722beaaff evidence: lit7659 audit audit-logs-detail on 3c58786534 2026-09-15 11:38:08 -07:00
yucheng-berri
3c8465b68e evidence: lit7659 audit audit-logs on 3c58786534 2026-09-15 11:38:05 -07:00
yucheng-berri
6b97b1da9e evidence: lit7659 audit audit-playground-messages on 3c58786534 2026-09-15 11:38:03 -07:00
yucheng-berri
0332b6d850 evidence: lit7659 audit audit-playground-responses on 3c58786534 2026-09-15 11:38:01 -07:00
yucheng-berri
5defa1b15b evidence: lit7659 audit audit-playground-chat on 3c58786534 2026-09-15 11:37:58 -07:00
yucheng-berri
bc12e9dd87 evidence: lit7659 audit audit-tag-detail on 3c58786534 2026-09-15 11:37:55 -07:00
yucheng-berri
e52ca03f5e evidence: lit7659 audit audit-tags on 3c58786534 2026-09-15 11:37:52 -07:00
yucheng-berri
9ae1869328 evidence: lit7659 head logs detail on 3c58786534 2026-09-15 05:47:51 -07:00
yucheng-berri
e568429c1d assets: PR 41218 head-tag-detail (f85cb1dac5) 2026-09-15 04:13:44 -07:00
yucheng-berri
99fb50c3d2 assets: PR 41218 head-logs-detail (f85cb1dac5) 2026-09-15 04:13:42 -07:00
yucheng-berri
a1b0d27c22 assets: PR 41218 base-logs-detail (f85cb1dac5) 2026-09-15 04:13:40 -07:00
yucheng-berri
d4515d9177 assets: PR 41218 head-tag-detail (27bc2a80e2) 2026-09-15 03:09:17 -07:00
yucheng-berri
80481998da assets: PR 41218 head-logs-detail (27bc2a80e2) 2026-09-15 03:09:15 -07:00
yucheng-berri
6e30f7edc1 assets: PR 41218 base-logs-detail (27bc2a80e2) 2026-09-15 03:09:14 -07:00
yucheng-berri
4967ac8ad8 assets: PR 41218 head-tag-detail 2026-09-15 02:29:49 -07:00
yucheng-berri
04bd7e5cab assets: PR 41218 head-logs-detail 2026-09-15 02:29:48 -07:00
yucheng-berri
0f79cc7771 assets: PR 41218 base-logs-detail 2026-09-15 02:29:46 -07:00
Mateo Wang
3ed6c19b8d
Merge pull request #40915 from BerriAI/litellm_internal_copy_37075
fix(vertex-live): bill Gemini Live sessions end to end (internal copy of #37075)
2026-09-15 02:06:49 -07:00
Mateo Wang
c274fd8781
Merge pull request #41168 from BerriAI/litellm_bedrock_wif_session_policy_coverage
fix(bedrock): grant rerank, retrieve, agent, and agentcore actions in the web identity session policy
2026-09-15 01:49:41 -07:00
mateo-berri
0770f663c1 fix(vertex-live): report repeated search queries once per grounded turn
The session usage collapsed duplicate query strings across turns while the
price was per turn, so two turns asking the same question paid two fees yet
reported web_search_requests 1. Sum each turn's grounding requests so the
counter matches the bill; duplicates within one turn still collapse.
2026-09-15 01:35:36 -07:00
mateo-berri
d5938ff886 Merge remote-tracking branch 'origin/main' into litellm_bedrock_wif_session_policy_coverage 2026-09-15 01:16:45 -07:00
Mateo Wang
80b9ed4f2c
Merge pull request #41191 from BerriAI/litellm_router_test_cap_resets_per_fallback_hop
fix(router): count num_retries_per_request across fallback hops
2026-09-15 01:13:41 -07:00
Mateo Wang
e5cb8b7534
Merge pull request #40984 from BerriAI/litellm_anthropic_guardrail_system_and_tool_use
fix(guardrails): scan the Anthropic top-level system prompt and tool_use arguments
2026-09-15 00:55:42 -07:00
mateo-berri
1b040af414 test(router): type the retry-cap tests this PR adds or touches 2026-09-15 00:34:38 -07:00
mateo-berri
4f27573424 merge: origin/main into litellm_internal_copy_37075 2026-09-15 00:34:18 -07:00
yuneng-jiang
81863c1b17
Merge pull request #41188 from BerriAI/litellm_spend_reconciliation
test(spend): reconcile concurrent requests and daily activity
2026-09-15 00:32:20 -07:00
tin-berri
feab83aae1
Merge pull request #41186 from BerriAI/litellm_statusline_router_cost_label
fix(cli): label savings cost bars with the auto-router name
2026-09-15 00:32:08 -07:00
mateo-berri
92714cac0c fix(guardrails): validate tool_use rewrites before writing text rewrites back
A guardrail that rewrites text and hands back tool_use arguments that are
not a JSON object used to leave the text rewrite applied when the request
was rejected, so failure logging saw a half-rewritten request. Every
rejection now happens before any write to system or messages.
2026-09-15 00:07:45 -07:00
mateo-berri
f80cb5cb46 fix(router): ignore planted request_retry_count seeds and cover the rust OCR cap path
The router clamps a negative request_retry_count found in request metadata before counting a failure, and the proxy strips a client-supplied request_retry_count with the other router-reserved metadata fields. The rust OCR lifecycle test that trips the per-request cap now plants request_retry_count instead of attempted_retries, which the cap no longer reads since the previous commit
2026-09-15 00:04:02 -07:00
yuneng-jiang
7e3ca1421e
Merge pull request #41194 from BerriAI/litellm_stream_tool_contract
test(e2e): verify streamed answers and tool continuation
2026-09-15 00:01:49 -07:00
Tin Chi Lo
d0fdf1c237 fix(cli): show only the routed model in the footer header 2026-09-14 23:54:50 -07:00
Tin Chi Lo
4fca818f34 fix(cli): align wide and combining Unicode cost labels 2026-09-14 23:45:48 -07:00
tin-berri
4805c6d51f
Merge pull request #41072 from BerriAI/litellm_lit5201_provider_split
fix(router): honor team and key provider weights
2026-09-14 23:41:45 -07:00
Mateo Wang
1ce66e98a2
Merge pull request #40989 from BerriAI/litellm_responses_bridge_hoist_additional_tools
fix(responses): hoist Codex additional_tools input items into the chat bridge tools
2026-09-14 23:33:38 -07:00
Tin Chi Lo
398300c4e7 fix(router): honor team and key provider weights 2026-09-14 23:31:52 -07:00
Mateo Wang
b52de1675a
Merge pull request #40994 from BerriAI/litellm_sdk_exception_body_headers
fix(sdk): keep body and proxy headers on BadRequestError mapped from a litellm_proxy 400
2026-09-14 23:27:29 -07:00
mateo-berri
2bf44ed354 fix(guardrails): reject tool_use rewrites that are not JSON objects 2026-09-14 23:18:47 -07:00
mateo-berri
aaf924693a fix(router): count num_retries_per_request across fallback hops
num_retries_per_request has always capped the retries of one request with its fallback hops included. #40930 started reading the per-hop attempted_retries counter instead, and every fallback hop restarts that counter at zero, so a request could spend a fresh retry budget on each hop and the legacy fallback cap test started seeing the hop run.

Router.log_retry now also keeps request_retry_count on the request metadata, incremented on every retry and fallback hop and never truncated the way previous_models is, and max_retries_per_request_hit reads that count. The flat retry records, the litellm_metadata coverage and caps above four from #40930 stay as they are, and the legacy test goes back to its previous_models == 0 assertion.
2026-09-14 23:13:50 -07:00
Mateo Wang
c93708b2a5
Merge pull request #40228 from AaronHowell/litellm_fix_responses_credentials_affinity
fix(responses): preserve provider affinity
2026-09-14 23:09:55 -07:00
mateo-berri
9fb94ea761 fix(exceptions): keep repeated litellm_proxy response headers on the rebuilt response
httpx.Headers.items() comma-joins repeated header names, so the rebuilt
response iterates multi_items() and keeps every value, matching what the
raw openai client exposes on e.response.headers
2026-09-14 22:59:40 -07:00
mateo-berri
e3152c011d fix(responses): classify streamed tool calls on the chat name and strip guardrail edits around the grammar block
The streaming bridge restored the namespace before deciding whether a tool call was a custom tool, so a namespaced function sharing a short name with a nested custom tool streamed back as a custom_tool_call. Classify on the raw chat tool name first, the way the non-streaming path already does.

The guardrail merge only stripped the namespace prefix and grammar suffix from the ends of the edited description, so a guardrail appending text after the grammar block left the block in the member description and the chat conversion appended it a second time. Strip the first occurrence of each instead.
2026-09-14 22:58:25 -07:00
Yuneng Jiang
7a7770db0d
test(e2e): verify streamed answers and tool continuation 2026-09-14 22:46:55 -07:00
mateo-berri
62b2b36ce9 test(proxy): drop the reformat-only diff of the request processing tests
The proxy edge test file no longer carries any test of this change, and
the remaining diff was the scoped format gate reflowing the whole file to
the 120 limit, so it goes back to the merge base bytes
2026-09-14 22:39:19 -07:00
yucheng-berri
91588221cd
Merge pull request #39050 from BerriAI/litellm_lit6314_guardrail_metadata_transfer
fix(guardrails): record not_run evaluation when scoping leaves nothing to scan
2026-09-14 22:31:16 -07:00