The 4.7 generation only shipped Claude Opus 4.7; Sonnet stops at 4.6 and Haiku at 4.5 per https://platform.claude.com/docs/en/about-claude/models/overview. The earlier `^claude-(?:opus|sonnet|haiku)-4-7` regex on both the backend strip (_ANTHROPIC_4_7_SAMPLING_REMOVED in external_provider.py) and the frontend mirror (ANTHROPIC_4_7_SAMPLING_REMOVED_REGEX in provider-capabilities.ts) would have pre-emptively hidden temperature / top_p / top_k for any future claude-sonnet-4-7 or claude-haiku-4-7 id, even though Anthropic has explicitly not extended the sampling removal beyond Opus. Tighten both regexes to `^claude-opus-4-7(?:[-.]|$)` and update the routing-test pin so claude-sonnet-4-7 and claude-haiku-4-7 are in `should_not_match`. If those ids ever ship and adopt the same removal, widening the regex is one-line. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| _html_to_md.py | ||
| anthropic_compat.py | ||
| audio_codecs.py | ||
| chat_template_helpers.py | ||
| defaults.py | ||
| external_provider.py | ||
| inference.py | ||
| key_exchange.py | ||
| llama_cpp.py | ||
| llama_server_args.py | ||
| mlx_inference.py | ||
| orchestrator.py | ||
| pricing.py | ||
| providers.py | ||
| safetensors_agentic.py | ||
| tool_call_parser.py | ||
| tools.py | ||
| worker.py | ||