* fix(spend-logs): trim logged response strings
- route spend-log responses through the existing string sanitizer so oversized base64/text fields are truncated before persistence
- add unit tests covering the truncation path and the feature flag
Note: embeddings-specific truncation (numeric vectors) is still pending and will be handled separately.
* remove unnecessary comment
* add: sanitization unit test for embeddings
* fix: simplify sanatization logic
I overcomplicated a simple change for lack of understanding, fixed.
* fix: Add support for GPT-5.1 reasoning.effort='none' parameter
- Override Reasoning type to include 'none' effort value
- Maintains compatibility with semantic-router (requires openai <2.0.0)
- GPT-5.1 defaults to reasoning.effort='none' as of OpenAI SDK 2.8.0
- Override can be removed once semantic-router supports OpenAI SDK 2.x
Fixes#16741
* feat: Update to OpenAI SDK 2.8+ and Python 3.9+
- Update minimum Python version from 3.8.1 to 3.9 (3.8 EOL Oct 2024)
- Update OpenAI SDK requirement from >=1.99.5 to >=2.8.0
- Update semantic-router to >=0.1.12 with Python >=3.9,<3.14 constraint
- Update resend to >=0.8.0 (allows 2.x versions)
- Revert custom Reasoning TypedDict - now using native type from OpenAI SDK 2.8+
OpenAI SDK 2.8.0 natively supports reasoning.effort='none' for GPT-5.1,
eliminating the need for our custom type override.
* chore: Update poetry.lock with OpenAI SDK 2.8.1 and dependencies
Cost tracking was failing for Responses API when using custom deployment names
with base_model configuration. The issue occurred because:
- Chat Completions API stores model_info in 'metadata'
- Responses API stores model_info in 'litellm_metadata'
- Cost calculator only checked 'metadata', missing Responses API costs
Changes:
- Updated _get_base_model_from_metadata() to check both metadata locations
- Added comprehensive unit tests covering all scenarios
- Maintains backward compatibility (metadata takes precedence)
Fixes#16772
* chore: remove development setup files from repository
Removes VERTEX_ENV_SETUP.md and setup_vertex_env.sh from the
repository as they are not referenced in documentation or tests.
These files were added in PR #15824 alongside the VertexAI Search
feature. The setup information is already well-documented in the
official docs at:
docs/my-website/docs/pass_through/vertex_ai_search_datastores.md
* docs: add poetry run python usage to CLAUDE.md and AGENTS.md
- Add gpt-5.1, gpt-5.1-codex, and gpt-5.1-codex-mini to OpenAI Chat Completion Models table
- Add gpt-5.1-codex and gpt-5.1-codex-mini to reasoning_effort supported models table
- Clarify that GPT-5-Codex models (gpt-5-codex, gpt-5.1-codex, gpt-5.1-codex-mini) do NOT support verbosity parameter
- Update verbosity section to exclude Codex variants from supported models list
Note: Model configurations already exist in model_prices_and_context_window.json
Configure Docusaurus to automatically detect and respect the user's
system/browser color scheme preference (prefers-color-scheme).
This improves UX by matching the documentation theme to the user's
OS-level dark/light mode setting, while still allowing manual override
via the theme switcher.
Changes:
- Add colorMode configuration to docusaurus.config.js
- Enable respectPrefersColorScheme option