* fix: fix styling
* fix(custom_code_guardrail.py): add http support for custom code guardrails
allows users to call external guardrails on litellm with minimal code changes (no custom handlers)
Test guardrail integrations more easily
* feat(a2a/): add guardrails for agent interactions
allows the same guardrails for llm's to be applied to agents as well
* fix(a2a/): support passing guardrails to a2a from the UI
* style(code-editor): allow editing custom code guardrails on ui + add examples of pre/post calls for custom code guardrails
* feat(mcp/): support custom code guardrails for mcp calls
allows custom code guardrails to work on mcp input
* feat(chatui.tsx): support guardrails on mcp tool calls on playground
* [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
* feat(guardrails/): allow custom code execution for guardrails
first step in allowing teams to submit custom code for guardrails
* feat: custom_code_guardrail.md
support passing custom code for guardrails
* feat: initial commit adding ui for custom code guardrails
allows users to write guardrails based on custom code
* feat: expose new test custom code guardrail endpoint
allows ui testing playground to sanity check if guardrail is working as expected
* fix: fix linting errors
* fix: fix max recursion check
* fix: fix linting error
* fix fail-open for grayswan; pass metadata to cygnal api endpoint; update docs
* pass litellm_metadata to cygnal in payload
* switch error msg to const, and clean exception handling.
* update pyproject.toml as requested
* Revert "update pyproject.toml as requested"
This reverts commit 4eece154d056ba33689a5584c86c8fc352bb7cdd.
* docs: add Prisma migration troubleshooting guide
Add troubleshooting documentation for common Prisma migration errors
encountered when upgrading/downgrading LiteLLM proxy versions.
Covers:
- 'relation does not exist' errors after version rollback
- Blocked migrations from previous failures
- Migration state mismatch after version rollback
- General tips for prisma migrate resolve, db push, and migrate deploy
* docs: simplify prisma migration troubleshooting - focus on delete + restart
* Add request tags documentation for spend tracking
- Add new concise doc explaining how to tag model requests
- Include Python SDK and cURL examples
- Show where tags appear in spend logs
- Add common use cases table (AWS accounts, teams, projects)
- Include how to set default tags on API keys
- Add to Spend Tracking section in sidebar
Co-authored-by: ishaan <ishaan@berri.ai>
* Simplify request tags doc for AI Gateway usage
- Focus on config.yaml setup with default_key_generate_params
- Show both request body and header methods for sending tags
- Remove SDK examples, keep concise cURL examples
- Streamline for quick reference
Co-authored-by: ishaan <ishaan@berri.ai>
* Update request tags doc to show model-level config
- Set tags directly on model deployments in litellm_params
- Requests just specify model, tags applied automatically
- Use clear naming: AWS_IAM_PROD, AWS_IAM_DEV
Co-authored-by: ishaan <ishaan@berri.ai>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>