Commit Graph
23882 Commits
Author SHA1 Message Date
tanjiroandGitHub 4fdc866fcb Display Error from Backend on the UI - Notification (#13427)
* fix sso logout

- add a new login page with sso button

* lint fix

* lint fix

* lint fix

* fix tests

* fix test

* Revert "fix test"

This reverts commit 74eb7345710892d5a9d02baec0ef389b98d0dde3.

* Reapply "fix test"

This reverts commit 72d0b2d4c62f6bb9351a7656ff88efc2ba91aef7.

* add host to add modal

* close modal after save is clicked. and auto-refresh

* show old values in edit modal

* send the whole payload on edit

* Update settings.tsx

* resolve conflict

* fix conflict

* merge main

* first draft of notifications added to settings

* add error compatibility by taking errors from the backend

- db errors
- auth errors

* add support for different types of errors

* minor

* name change

* email alerts page notifications modified

* remove unused code
2025-08-08 12:34:16 -07:00
Jugal D. BhattandGitHub 51c2ff7c15 fix user membership issue (#13433) 2025-08-08 12:00:58 -07:00
Ishaan JaffandGitHub 3a35c82884 [Feat] Add reasoning_effort to OpenAIGPT5Config (#13434)
* add reasoning_effort toi OpenAIGPT5Config

* test_gpt5_supports_reasoning_effort
2025-08-08 11:57:12 -07:00
Edward D'AmatoandGitHub 793e1aa7c7 fix(proxy): add missing braintrust api base to env vars (#13412) 2025-08-08 08:59:33 -07:00
Thiago SalvatoreandGitHub c2ad858c83 fix(access group): allow access group on mcp tool retrieval (#13425)
* fix(access group): allow access group on mcp tool retrieval

* fix(test): fix broken tests and add test case for access group

* fix(mypy): fix typing issues
2025-08-08 08:55:46 -07:00
Emerson GomesandGitHub aea5af2165 Correct GPT-5 token limits and price (#13423) 2025-08-08 08:55:33 -07:00
Ishaan Jaff aefa71a300 bump: version 1.75.2 → 1.75.3 v1.75.3-nightly 2025-08-07 21:32:44 -07:00
Ishaan Jaff 6b2ad4dc0f ui new build 2025-08-07 21:20:19 -07:00
Ishaan Jaff 9bfc4f89c9 fix ui 2025-08-07 21:13:46 -07:00
a5cf880acc feat(usage): aggregated user daily activity endpoint and UI integration (#13395) (#13400)
* feat(usage): add aggregated user daily activity endpoint and UI integration; fallback to paginated flow if unavailable

* refactor(usage): deduplicate daily activity logic; add wrapper to user paginated endpoint; share date formatting in UI

* chore(lint): remove unused imports from internal_user_endpoints

Co-authored-by: Cole McIntosh <82463175+colesmcintosh@users.noreply.github.com>
2025-08-07 21:10:40 -07:00
tanjiroandGitHub 43af255b45 Add Custom Tooltips to Model Mapping Table (#13294)
* descriptive tooltips

* atomic folder structure

* undo changes

* import fix

* reorder
2025-08-07 20:19:30 -07:00
9761ba7c7a [Bug Fix] Responses api session management for streaming responses (#13396)
* fix proxy config

* fix(responses api): fix streaming ID consistency and tool format handling (#12640)

* fix(responses): ensure streaming chunk IDs use consistent encoding format

Fixes streaming ID inconsistency where streaming responses used raw provider IDs
while non-streaming responses used properly encoded IDs with provider context.

Changes:
- Updated LiteLLMCompletionStreamingIterator to accept provider context
- Added _encode_chunk_id() method using same logic as non-streaming responses
- Modified chunk transformation to encode all streaming item_ids with resp_ prefix
- Updated handlers to pass custom_llm_provider and litellm_metadata to streaming iterator

Impact:
- Streaming chunk IDs now format: resp_<base64_encoded_provider_context>
- Enables session continuity when using streaming response IDs as previous_response_id
- Allows provider detection and load balancing with streaming responses
- Maintains backward compatibility with existing streaming functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(types): add explicit Optional[str] type annotation for model_id

This resolves MyPy type checking error where model_id could be None
but wasn't explicitly typed as Optional[str].

* fix(types): handle None case for litellm_metadata access

Prevents 'Item None has no attribute get' error by checking for None
before accessing litellm_metadata dictionary.

* test: add comprehensive tests for streaming ID consistency

Adds unit and E2E tests to verify streaming chunk IDs are properly encoded
with consistent format across streaming responses.

## Tests Added

### Unit Test (test_reasoning_content_transformation.py)
- `test_streaming_chunk_id_encoding()`: Validates the `_encode_chunk_id()` method
  correctly encodes chunk IDs with `resp_` prefix and provider context

### E2E Tests (test_e2e_openai_responses_api.py)
- `test_streaming_id_consistency_across_chunks()`: Tests that all streaming chunk IDs
  are properly encoded across multiple chunks in a real streaming response
- `test_streaming_response_id_as_previous_response_id()`: Tests the core use case -
  using streaming response IDs for session continuity with `previous_response_id`

## Key Testing Approach
- Uses **Gemini** (non-OpenAI model) to test the transformation logic rather than
  OpenAI passthrough, since the streaming ID consistency issue occurs when LiteLLM
  transforms responses rather than just passing through to native OpenAI responses API
- Tests validate that streaming chunk IDs now use same encoding as non-streaming responses
- Verifies session continuity works with streaming responses

Addresses @ishaan-jaff's request for unit tests covering the streaming ID consistency fix.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(lint): remove unused imports in transformation.py

Removes unused imports to fix CI linting errors:
- GenericResponseOutputItem
- OutputFunctionToolCall

* test: remove E2E tests from openai_endpoints_tests

Remove streaming ID consistency E2E tests as requested by @ishaan-jaff.
Keep only the mock/unit test in test_reasoning_content_transformation.py

* revert: remove streaming chunk ID encoding to original behavior

This reverts the streaming chunk ID encoding changes to understand the original issue better.
Original behavior was:
- Streaming chunks: raw provider IDs
- Streaming final response: raw IDs (PROBLEM!)
- Non-streaming final response: encoded IDs (correct)

The real issue: streaming final response IDs were not encoded, breaking session continuity.

* fix(responses): encode streaming final response IDs to match OpenAI behavior

Fixes streaming ID inconsistency to match OpenAI's Responses API behavior:
- Streaming chunks: raw message IDs (like OpenAI's msg_xxx)
- Final response: encoded IDs (like OpenAI's resp_xxx)

This enables session continuity by ensuring streaming final response IDs
have the same encoded format as non-streaming responses, allowing them
to be used as previous_response_id in follow-up requests.

Changes:
- Add custom_llm_provider and litellm_metadata to LiteLLMCompletionStreamingIterator
- Update handlers to pass provider context to streaming iterator
- Apply _update_responses_api_response_id_with_model_id to final streaming response
- Keep streaming chunks as raw IDs to match OpenAI format

Impact:
- Session continuity works with streaming responses
- Load balancing can detect provider from streaming final response IDs
- Format matches OpenAI's Responses API exactly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* test: update unit test to match correct OpenAI-compatible behavior

Updates the unit test to verify streaming chunk IDs are raw (not encoded)
to match OpenAI's responses API format:
- Streaming chunks: raw message IDs (like msg_xxx)
- Final response: encoded IDs (like resp_xxx)

This reflects the correct behavior implemented in the fix.

---------

Co-authored-by: Claude <noreply@anthropic.com>

* cleanup

* TestBaseResponsesAPIStreamingIterator

---------

Co-authored-by: Javier de la Torre <jatorre@carto.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-07 20:13:24 -07:00
Ishaan Jaff 698655cd24 ci/cd new release v1.75.2-nightly 2025-08-07 16:59:44 -07:00
Ishaan Jaff 7695882d8a test_supports_tool_choice 2025-08-07 16:56:45 -07:00
Jugal D. BhattandGitHub 3410b293d7 Add presidio docs (#13392) 2025-08-07 16:40:07 -07:00
Ishaan JaffandGitHub 2037037258 [Bug Fix] OpenAI gpt-5 series does not support "max_tokens" parameter and temperature values that are not = 1 (#13390)
* add OpenAIGPT5Config

* add map_openai_params for gpt5

* add OpenAIGPT5Config

* add OpenAI gpt 5 transform

* docs gpt 5 openai
2025-08-07 16:35:00 -07:00
Ishaan Jaff 9b86d721d5 test fix oci supports tool choice 2025-08-07 15:26:25 -07:00
Ishaan Jaff e8c081b8ff test_stream_chunk_builder_litellm_usage_chunks 2025-08-07 15:22:52 -07:00
Ishaan Jaff dbb651ea95 remove old mapped test 2025-08-07 13:51:50 -07:00
Ishaan JaffandGitHub 621b3dca7b [Bug Fix] Mistral Tool Calling - Grammar error: at 3(11): failed to compile JSON schema (#13389)
* test_claude_tool_use_with_gemini

* add _remove_json_schema_refs

* add _clean_tool_schema_for_mistral

* fixes mistral tool calls

* _remove_json_schema_refs

* fix - vertex, remove hardcoded test
2025-08-07 13:50:22 -07:00
Parham AlvaniandGitHub 849c262a02 fix: we need to have project files for running migration using this image (#13379) 2025-08-07 13:31:10 -07:00
Ishaan Jaff 984f91f4f5 test_completion_gemini_stream 2025-08-07 13:24:00 -07:00
Ishaan Jaff 70ddde2215 fix - remove dup model entries 2025-08-07 13:22:00 -07:00
Ishaan Jaff d9f9465bc2 fix models by provider 2025-08-07 13:20:28 -07:00
Ishaan Jaff b7ced315dd fix - publish new PIP / prisma migrations 2025-08-07 13:18:45 -07:00
Ishaan JaffandGitHub 08ac2aeb6d Revert "Fix SSO Logout | Create Unified Login Page with SSO and Username/Password Options (#12703)" (#13387)
This reverts commit a752d7acc9.
2025-08-07 13:13:05 -07:00
Ishaan JaffandGitHub 2e767c8faf [Feat] add azure/gpt-5 model family (#13385)
* add azure/gpt-5 model family

* add azure gpt-5 model family

* fixes for gpt-5

* add azure/gpt-5 model family
2025-08-07 12:50:37 -07:00
087a1a622c feat: Add GPT-5 model family with official OpenAI specifications (#13… (#13386)
* feat: Add GPT-5 model family with official OpenAI specifications (#13378)

* Add GPT-5 model family support

Added four new GPT-5 models:
- gpt-5: Flagship model for logic and multi-step tasks
- gpt-5-mini: Cost-sensitive version for budget use cases
- gpt-5-nano: Speed-optimized version for low latency
- gpt-5-chat: Enterprise-focused version for advanced conversations

* Update GPT-5 models with official OpenAI specifications

- Add gpt-5-chat-latest with 400k context, 128k output tokens
- Add gpt-5-2025-08-07 with enhanced reasoning capabilities
- Add gpt-5-mini-2025-08-07 with cost-optimized pricing
- Add gpt-5-nano-2025-08-07 with ultra-fast performance
- Update existing gpt-5, gpt-5-mini, gpt-5-nano to match dated versions
- All models now support reasoning tokens and 400k context window
- Pricing updated per official OpenAI documentation

* fix conflicts

---------

Co-authored-by: Cole McIntosh <82463175+colesmcintosh@users.noreply.github.com>
2025-08-07 11:58:37 -07:00
Ishaan JaffandGitHub 729e1f530a feat - add claude-opus-4-1 on cost map (#13384) 2025-08-07 11:52:44 -07:00
Low Jian ShengandGitHub 9e0ba10f23 Add GPT 5 models (#13377)
* add gpt 5 modesl

* update max tokens
2025-08-07 11:36:16 -07:00
Ishaan JaffandGitHub 4d941c914e [Feat] Responses API Session Handling - Multi media support (#13347)
* rename ResponsesSessionHandler

* use ResponsesSessionHandler

* test session handler

* refactor ResponsesSessionHandler

* fix get_proxy_server_request_from_spend_log

* use constant for LITELLM_TRUNCATED_PAYLOAD_FIELD

* add _should_check_cold_storage_for_full_payload

* add get_class_type_for_custom_logger_name

* get_active_custom_logger_for_callback_name

* add get_proxy_server_request_from_cold_storage to CustomLogger

* add ColdStorageHandler

* start using cold storage integration

* add get_proxy_server_request_from_cold_storage

* fixes from manual testing

* s3 v2 fix getting region name

* ChatCompletionImageUrlObject

* use _get_configured_cold_storage_custom_logger

* fixes for _should_check_cold_storage_for_full_payload

* fix _download_object_from_s3

* test_s3_v2_with_cold_storage

* add cold_storage_object_key to StandardLoggingMetadata

* use get_proxy_server_request_from_cold_storage_with_object_key

* add cold_storage_object_key to SpendLogsMetadata

* add cold_storage_object_key

* get_proxy_server_request_from_cold_storage_with_object_key

* use get_proxy_server_request_from_cold_storage_with_object_key

* test responses API

* add get_proxy_server_request_from_cold_storage_with_object_key

* session handler fixes

* test session handler

* fix ruff checks

* _download_object_from_s3

* cleanup

* test

* lint fix

* test_e2e_cold_storage_successful_retrieval

* test_e2e_generate_cold_storage_object_key_successful

* test_async_gcs_pub_sub_v1

* test fix

* test fix

* test fix

* test_standard_logging_metadata_has_cold_storage_object_key_field

* test_sanitize_request_body_for_spend_logs_payload_basic

* test_transform_input_image_item_to_image_item_with_image_data
2025-08-07 10:59:53 -07:00
breno-aumoandGitHub e8b4b25774 Update OCI docs (#13336)
* add oci models to model_prices_and_context_window.json

* remove unsupported and unavailable oci models from docs
2025-08-07 09:45:17 -07:00
unique-jakubandGitHub f58807ff6e Add labels to migrations job template (#13343)
* set labels on the migration job

* update comment to retrigger the pipeline
2025-08-07 09:41:24 -07:00
Anand KhinvasaraandGitHub 96dca4eff8 fix: 12152 - Redacted sensitive information logged in bedrock guardrails (#13356) 2025-08-07 08:42:11 -07:00
Edward D'AmatoandGitHub 30fc5b871c feat(integrations): allow setting of braintrust callback base url (#13368)
* feat(integrations): allow setting of braintrust callback base url

* chore(misc): remove extra additions due to merge
2025-08-07 08:40:11 -07:00
tanjiroandGitHub 7d978f0ffc provider logos on usage page (#13372) 2025-08-07 07:41:30 -07:00
Ishaan Jaff dfada882f1 vtx test fix gemini-2.5-flash-lite 2025-08-07 00:11:10 -07:00
Ishaan JaffandGitHub 9c5e9d7362 add groq/openai/gpt-oss (#13363) 2025-08-07 00:08:18 -07:00
Jugal D. BhattandGitHub 043c12b11e added token breakdown in ui (#13357) 2025-08-06 19:03:58 -07:00
Jugal D. BhattandGitHub b7325f4765 [MCP Gateway] Added route check for internal users (#13350)
* added route check

* fix ruff
2025-08-06 15:32:21 -07:00
Jugal D. BhattandGitHub c3cc10387e added new migration files (#13345) 2025-08-06 13:12:39 -07:00
yeahyungandGitHub a92bf8173e Fix create, search vector store error (#13285)
* (#13284) add avector_store_create to route_type which doesn't require model

* (#13284) exclude hidden params in metadata when create vector store

* (#13284) fix lint error

* (#13284) keep metadata None if metadata is None(not empty dict)

* (#13284) add test code

* (#13284) change test code name

* (#13284) add avector_store_search to route_type which doesn't require model
2025-08-06 11:15:17 -07:00
Jugal D. BhattandGitHub b1a8968895 [MCP Gateway] fix auth on ui for bearer servers (#13312)
* fix auth on ui for bearer servers

* add tests and fixes

* fix tests
2025-08-06 09:46:10 -07:00
Ishaan JaffandGitHub 28a894cb06 [Feat] - New model - Add Bedrock gpt oss models - "openai.gpt-oss-20b-1:0", "openai.gpt-oss-120b-1:0" (#13342)
* add openai.gpt-oss-20b-1:0

* update BEDROCK_CONVERSE_MODELS

* openai.gpt-oss-20b-1:0 fixes

* fix PDF input
2025-08-06 09:24:04 -07:00
Ishaan Jaff eeed03a78f test fix: gcp deprecated gemini-1.5-flash 2025-08-06 08:43:45 -07:00
Cole McIntoshandGitHub 596592599a feat: Add logo customization for LiteLLM admin UI (#12958)
* feat: Add logo customization for LiteLLM admin UI

- Add simple logo customization page under Settings > UI Theme
- Support custom logo URL with instant preview
- Clean reset to default functionality
- Wrap app with ThemeProvider for proper context
- Backend properly handles null/empty logo URLs

* style: Update save button to use indigo color and 'Save Changes' text for consistency

* fix: Restore CloudZero background job initialization

Address PR review feedback by restoring the _initialize_spend_tracking_background_jobs method
that handles both CloudZero and Prometheus background job initialization. This ensures
critical spend tracking functionality is not lost while preserving the logo customization feature.

Changes:
- Restore _initialize_spend_tracking_background_jobs method
- Replace inline Prometheus initialization with proper method call
- Maintain CloudZero background job setup for cost tracking
2025-08-06 08:10:08 -07:00
Krrish Dholakia f74d9f1963 fix(pyproject.toml): fix version 2025-08-05 22:03:47 -07:00
Krish DholakiaandGitHub 0da25fadc0 Exclude none fields on /chat/completion - fixes n8n bug + Allow calling /v1/models when end user over budget (#13320)
* fix(proxy_server.py): exclude none fields before returning

Fixes https://github.com/BerriAI/litellm/issues/13055

* test: add unit tests

* feat(auth_checks.py): allow info routes to work when end user over budget

Fixes https://github.com/BerriAI/litellm/issues/13286
2025-08-05 21:39:46 -07:00
zjx20andGitHub 92c525ddfe feat(JinaAI): support multimodal embedding models (#13181)
* feat(JinaAI): support multimodal embedding models

* add test case

* add test

* fix test
2025-08-05 19:21:56 -07:00
Krish DholakiaandGitHub 324cfe8bdc fix(streaming_handler.py): include cost in streaming usage object (#13319)
Fixes https://github.com/BerriAI/litellm/issues/12689
2025-08-05 18:38:31 -07:00