Commit graph

41449 commits

Author SHA1 Message Date
Julio Quinteros Pro
317c162dfe
Merge pull request #22785 from BerriAI/fix/azure-batches-test-tenacity-import
Guard tenacity import in e2e Azure batch tests
2026-03-04 11:34:57 -03:00
Julio Quinteros Pro
a7e2bc3a92
Merge pull request #22784 from BerriAI/fix/responses-id-security-test
Fix responses ID security test for new request_cache parameter
2026-03-04 11:34:23 -03:00
Julio Quinteros Pro
fac622b5e6
Merge pull request #22783 from BerriAI/fix/schema-migration-check
Add missing migration for LiteLLM_ToolTable policy changes
2026-03-04 11:34:16 -03:00
Julio Quinteros Pro
f4e8c02ba2
Merge pull request #22781 from BerriAI/fix/tool-management-endpoint-tests
Fix tool management tests using wrong field name call_policy
2026-03-04 11:34:04 -03:00
Julio Quinteros Pro
d3b210fdd0
Merge pull request #22780 from BerriAI/fix/a2a-cost-calculator-test
Fix A2A message context_id access when message is a dict
2026-03-04 11:33:53 -03:00
Julio Quinteros Pro
f0c80d2a86
Merge pull request #22778 from BerriAI/fix/azure-test-exclude-aresponses-websocket
Exclude aresponses_websocket from Azure SDK client init test
2026-03-04 11:33:23 -03:00
Julio Quinteros Pro
570e8861bd
Merge pull request #22777 from BerriAI/fix/mcp-streaming-test-and-iterator
Fix flaky MCP streaming test and iterator silent failure
2026-03-04 11:33:11 -03:00
Julio Quinteros Pro
8495e05221 Guard tenacity import in e2e Azure batch tests
tenacity is not in pyproject.toml dependencies, causing ImportError
during test collection. Use pytest.importorskip to gracefully skip
when tenacity is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:32:20 -03:00
Julio Quinteros Pro
c0ac788709 Fix responses ID security test for new request_cache parameter
The _encrypt_response_id method now receives request_cache=None as a
keyword argument from async_post_call_success_hook. Updated the mock
assertion to expect this parameter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:29:51 -03:00
Julio Quinteros Pro
d8d3375a3c Add missing migration for LiteLLM_ToolTable policy changes
PR #22732 changed the ToolTable schema (renamed call_policy to
input_policy, added output_policy/user_agent/last_used_at columns,
updated indexes) but didn't include a migration for these changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:27:51 -03:00
Julio Quinteros Pro
1ec6502f88 Fix tool management tests using wrong field name call_policy
Tests used call_policy throughout but the actual API model uses
input_policy and output_policy. Updated _make_tool_row helper,
list filter query param, and policy update request/response assertions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:20:17 -03:00
Julio Quinteros Pro
d6949e5323 Fix A2A message context_id access when message is a dict
The asend_message function accessed request.params.message.context_id
using attribute syntax, but message can be either a dict or an object.
Handle both cases using isinstance check, matching the existing pattern
in litellm/a2a_protocol/utils.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:16:48 -03:00
Julio Quinteros Pro
d22996ee87 Exclude aresponses_websocket from Azure SDK client init test
The aresponses_websocket CallType was recently added but not included
in the test exclusion list. It uses WebSocket passthrough (not Azure SDK
client initialization), so it correctly doesn't call
initialize_azure_sdk_client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:13:57 -03:00
Julio Quinteros Pro
e8301829cd Fix flaky MCP streaming test by properly mocking inner aresponses call
The test_streaming_mcp_events_validation test was flaky because:
1. It didn't mock the nested aresponses() call inside the iterator's
   _create_initial_response_iterator(), causing real API calls that fail
   without credentials
2. The iterator silently swallowed exceptions and set phase="finished",
   discarding pre-generated MCP discovery events
3. The _execute_tool_calls mock had wrong signature (missing tool_server_map)

Production fix: MCPEnhancedStreamingIterator no longer sets phase="finished"
on LLM call failure — it falls through to emit MCP discovery events first.

Test fix: Added mock for litellm.responses.main.aresponses returning a fake
async streaming iterator, fixed mock signatures, removed try/except that
masked failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 11:09:24 -03:00
Chesars
c8d3734249 fix: merge main, fix summary in Responses API path, resolve conflicts
- Fix translate_thinking_to_reasoning in responses_adapters/transformation.py
  to make summary opt-in (was hardcoded to "detailed")
- Update e2e test to mock litellm.responses (new OpenAI routing path)
- Add tests for Responses API adapter summary preservation
- Resolve merge conflict in test file
2026-03-04 10:54:03 -03:00
Chesars
ba5d32b6b8 fix: address review feedback — remove redundant guard, preserve summary in translate_anthropic_to_openai
- Remove redundant isinstance(thinking, dict) check in handler.py since
  early return on line 64 guarantees thinking is a dict at that point
- Preserve summary in translate_anthropic_to_openai() for consistency
  across all code paths (adapter, guardrail, main.py)
2026-03-04 10:51:59 -03:00
Chesars
ece0325234 fix(anthropic): make thinking.summary opt-in, don't hardcode default
Remove hardcoded summary="detailed" injection — summary is opt-in per
OpenAI spec and increases costs. Users opt-in per-request via LiteLLM
extension: thinking={"type": "enabled", "budget_tokens": N, "summary": "concise"}.

Also preserve summary in translate_thinking_for_model() which previously
dropped it when converting thinking → reasoning_effort for non-Claude models.

Fixes #20998
2026-03-04 10:45:28 -03:00
Sameer Kankute
51552eafe7
Merge pull request #22751 from BerriAI/litellm_fix_mcp_edit_tools
Fix MCP server URL and tools management
2026-03-04 18:30:28 +05:30
Sameer Kankute
db0d5588fa
Merge pull request #22740 from BerriAI/litellm_fix_file_wild_card
Add support for wildcards models for files api
2026-03-04 18:30:00 +05:30
Sameer Kankute
ece7fdb213
Merge pull request #22744 from BerriAI/litellm_mcp_streaming_fix
Add mcp streaming events Fix and consistent response ID
2026-03-04 18:29:48 +05:30
Sameer Kankute
b5183e9f3b
Merge pull request #22752 from BerriAI/litellm_search_api_add
[Feat] Add Google Search API Integration
2026-03-04 18:29:10 +05:30
Sameer Kankute
213bf11ede
Merge pull request #22763 from BerriAI/litellm_test_e2e_batches_test
feat(tests): add proxy e2e azure batches test
2026-03-04 18:28:52 +05:30
Sameer Kankute
d143df8591 Add tests for resp
onses websocket
2026-03-04 18:27:06 +05:30
Sameer Kankute
c058c2b371 Add documentation related to responses websocket 2026-03-04 18:26:43 +05:30
Sameer Kankute
be9c09e8d2 Add supports_native_websocket to handle providers who don't handle websocket 2026-03-04 18:26:16 +05:30
Sameer Kankute
eec6f6ee69 Add support for responses websocket for all providers 2026-03-04 18:24:50 +05:30
Sameer Kankute
8764e5da8c
Merge pull request #22559 from BerriAI/litellm_responses_websocket
[Feat] Add support for Responses Websocket
2026-03-04 17:57:34 +05:30
github-actions[bot]
09ee2d54b8
chore: regenerate poetry.lock to match pyproject.toml (#22769)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 12:24:44 +00:00
Sameer Kankute
a6b5197ddc
Merge pull request #22689 from BerriAI/litellm_oss_staging_03_03_2026
Litellm oss staging 03 03 2026
2026-03-04 17:53:57 +05:30
Sameer Kankute
95c6a7e183
Merge pull request #22768 from BerriAI/revert-21491-fix/20998-remove-hardcoded-reasoning-summary
Revert "fix(anthropic): remove hardcoded reasoning summary in adapter"
2026-03-04 17:53:02 +05:30
Sameer Kankute
4e229b7b21
Revert "fix(anthropic): remove hardcoded reasoning summary in adapter" 2026-03-04 17:52:49 +05:30
Sameer Kankute
7d790b39be
Merge pull request #22765 from BerriAI/main
merge main for 030326
2026-03-04 17:40:42 +05:30
Sameer Kankute
d14420b8f2 Add tenacity in dependencies 2026-03-04 17:28:22 +05:30
Sameer Kankute
ef7aa6c8ad Add this test in cicd 2026-03-04 17:24:48 +05:30
Sameer Kankute
7b6a972fed Add this test in cicd 2026-03-04 17:21:00 +05:30
Sameer Kankute
49738bb3e3 ci: add proxy e2e azure batches workflow
- Run test_e2e_managed_batch with -vv -s for terminal output on failure
- PostgreSQL, Poetry, Prisma setup
- Upload logs as artifact on failure

Made-with: Cursor
2026-03-04 17:15:33 +05:30
Sameer Kankute
812e455cbc feat(tests): add proxy e2e azure batches test cases
- test_proxy_e2e_azure_batches: e2e managed batch test with delete retry for batch_processed
- test_fixtures_smoke: smoke test for fixtures
- validate_e2e_setup: setup validation script

Made-with: Cursor
2026-03-04 17:15:30 +05:30
Sameer Kankute
52693a65ed feat(tests): add proxy e2e azure batches test infrastructure
- conftest: mock server + proxy server fixtures, log capture, health check fix
- base_integration_test: fix key_alias format (replace @ and . for API validation)
- test_managed_files_base: S3 callback wait with early exit, delete retry logic

Made-with: Cursor
2026-03-04 17:15:24 +05:30
Sameer Kankute
e3a93b9597 feat(tests): add proxy e2e azure batches test fixtures
- Mock Azure Batch server (FastAPI) with batch, file, chat, embeddings, S3 callback routes
- Config for mock models and batch polling
- Fix mock_responses: use 'model' instead of undefined 'request_model'

Made-with: Cursor
2026-03-04 17:15:15 +05:30
David Steele
39cdd3dc98
test(streaming): add comprehensive parallel tool call integration test
Add test_parallel_tool_calls_comprehensive_streaming_integration which
synthesizes the full 10-event Responses API SSE sequence with split
argument deltas and asserts all fix invariants together:

1. output_item.done emits no finish_reason (no premature stream end)
2. Each call_id appears exactly once (no duplicate tool_call chunks)
3. Split argument deltas assemble to correct final JSON
4. Exactly one finish event, at the terminal response.completed chunk
5. Parallel tool calls have distinct indices (output_index 0 and 1)

All 24 unit tests pass.
2026-03-04 10:17:20 +00:00
Harshit Jain
41b149ee93
Merge pull request #22678 from Harshit28j/litellm_custom_auth_opt_in
fix(proxy): make common_checks opt-in for custom auth
2026-03-04 14:53:44 +05:30
Harshit28j
a6b57f9301 doc: fix typo 2026-03-04 14:52:27 +05:30
Sameer Kankute
43db8f1f1e Add doc and tests for google search api 2026-03-04 13:55:43 +05:30
Sameer Kankute
0275e23601 Add routing for google search 2026-03-04 13:54:43 +05:30
Sameer Kankute
65eba6b70e Add search api config 2026-03-04 13:54:25 +05:30
Sameer Kankute
0983e4f2a0 Fix MCP server URL and tools management 2026-03-04 13:34:05 +05:30
Sameer Kankute
36999b23ee [Chore] update mcp documentation for header forwarding 2026-03-04 13:07:25 +05:30
yuneng-jiang
d0e30842e5
Merge pull request #21958 from atapia27/feat/virtual-keys-team-table
virtual-keys-team-table
2026-03-03 23:01:34 -08:00
Sameer Kankute
9907c635ef Fix: Removed the process-level _encrypted_response_id_cache from __init__ 2026-03-04 12:30:49 +05:30
yuneng-jiang
e331d86f26
Merge pull request #22316 from atapia27/reusable-credential-change
reusable-credentials
2026-03-03 22:59:54 -08:00