1.
notifications_manager.tsx
- Hybrid notification approach:
Added notificationInstance variable to store the context-based instance
Added
setNotificationInstance()
function to inject the instance from context
Created
getNotification()
helper that prefers context instance, falls back to static
Added COMMON_NOTIFICATION_PROPS (exported) with showProgress: true and pauseOnHover: true
All notification methods (
error
,
warning
,
info
,
success
,
fromBackend
) now spread COMMON_NOTIFICATION_PROPS
2.
AntdGlobalProvider.tsx
- New context provider:
Wraps app with Antd's <App> component
Uses App.useApp() hook to get the context-based notification instance
Injects it into NotificationManager via
setNotificationInstance()
* [Feat] add ElevenLabs `eleven_v3` and `eleven_multilingual_v2` to model cost map
Register ElevenLabs TTS models for cost tracking:
- elevenlabs/eleven_v3: most expressive model, 70+ languages, audio tags
- elevenlabs/eleven_multilingual_v2: default TTS model, 29 languages
Also update ElevenLabs docs with supported models table and eleven_v3 audio tags example.
* docs: remove model-agnostic tip from ElevenLabs docs
* docs(web_search): clarify OpenAI search model requirements
- Add gpt-5-search-api to supported OpenAI search models
- Add warning that regular models (gpt-5, gpt-4.1) do NOT support web_search_options
- Add tip that web_search_options is optional for search models
* feat(models): add gpt-5-search-api pricing for OpenAI and Azure
- Create _raw_headers once at start, reuse for SecretFields
- Reuse _headers from clean_headers() instead of creating new dict
(clean_headers already removes authorization)
- Eliminates 2 of 3 dict(request.headers) calls per request
- Remove duplicate add_guardrails_from_policy_engine() call that was
already being made inside move_guardrails_to_metadata()
- Add early-out guard in move_guardrails_to_metadata() to skip all
guardrails processing when no guardrails/policies are configured
- Remove redundant data.update() wrapper around
add_litellm_metadata_from_request_headers() which already modifies
data in place
Benchmark (3 runs x 2000 req x 1000 concurrency):
- add_litellm_data_to_request: 8.87s → 7.45s (-16%)
- Guardrails overhead: 1.0s (11.2%) → 0.24s (3.2%) (-76%)
Cache request.url.path once instead of accessing it 6 times (2 in
assistants check + 4 in LITELLM_METADATA_ROUTES loop). Reduces
per-call time from 47µs to 20µs (-58%).
Also inline the assistants API check to avoid function call overhead.
Adds 8 tests for _get_metadata_variable_name covering all return paths.
- Add openrouter/anthropic/claude-opus-4.6 to model cost map
- Update Bedrock docs to list Opus 4.6 and Sonnet 4.5 as 1M context compatible
- Add missing Opus 4.6, Opus 4.5, and Opus 4.1 to Anthropic supported models table