* add Claude Sonnet 4.6 pricing across all platforms
* fix: correct Bedrock model names and add to BEDROCK_CONVERSE_MODELS
- Remove -v1 suffix from Bedrock Sonnet 4.6 entries per official docs
- Add anthropic.claude-sonnet-4-6 to BEDROCK_CONVERSE_MODELS
* fix: address Greptile and maintainer review feedback
- Update max_output_tokens from 8192 to 64000 (docs confirm 64K limit)
- Add search_context_cost_per_query to vertex_ai/claude-sonnet-4-6 for consistency
- Add vertex_ai/claude-sonnet-4-6@default variant per Vertex AI naming convention
Remove incorrect `:0` suffix from regional Bedrock model identifiers:
- us.anthropic.claude-opus-4-6-v1:0 → us.anthropic.claude-opus-4-6-v1
- au.anthropic.claude-opus-4-6-v1:0 (duplicate removed)
The `:0` suffix is invalid for Bedrock inference profile ARNs and causes
"The provided model identifier is invalid" errors when calling the model.
Fixes#20562
Notes: General support for Opus 4.6 was added in #20506 however
it omitted the AU (australian) specific instance profile used
in Bedrock. This change only adds the the au id. It is copied
from the US model settings which is consistent with past
additions of this regional model profile.
AsyncHTTPHandler.__del__ was closing httpx clients still in use by
AsyncOpenAI/AsyncAzureOpenAI due to independent cache lifecycles.
Restores standalone httpx client creation for OpenAI/Azure providers.
* fix(vertex_ai): replace custom model names with actual Vertex AI model names in passthrough URLs (#19948)
When the passthrough URL already contains project and location, the code
was skipping the deployment lookup and forwarding the URL as-is to Vertex AI.
For custom model names like gcp/google/gemini-2.5-flash, Vertex AI returned
404 because it only knows the actual model name (gemini-2.5-flash).
The fix makes the deployment lookup always run, so the custom model name
gets replaced with the actual Vertex AI model name before forwarding.
* add _resolve_vertex_model_from_router
* fix: get_llm_provider
* Potential fix for code scanning alert no. 4020: Clear-text logging of sensitive information
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---------
Co-authored-by: michelligabriele <gabriele.michelli@icloud.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
The regex in get_vertex_model_id_from_url() was using [^/:]+
which stopped at the first slash, truncating model names like
'gcp/google/gemini-2.5-flash' to just 'gcp'. This caused
access_groups checks to fail for custom model names.
Changed the pattern to [^:]+ to allow slashes in model names,
only stopping at the colon before the action (e.g., :generateContent).
* fix(proxy): support slashes in google route params
* fix(proxy): extract google model ids with slashes
* test(proxy): cover google model ids with slashes