5a77bf175f
* feat(llmtr): complete chat-route coverage with 27 remaining models Adds the LLMTR chat routes not covered by #3038. Provider entries are override-only on top of models/ lab metadata; six lab entries are added where the underlying model had no models/<lab>/ file yet. Costs and context windows come from https://llmtr.com/api/models. reasoning_options were measured against POST /v1/chat/completions rather than inferred: the gateway reports its per-model thinking control in the 400 body for an unsupported reasoning_effort value. Models whose lab facts could not be established from the lab's own documentation or an existing first-party entry are deliberately left out. * fix(llmtr): re-measure reasoning controls across every request surface Review feedback: reasoning_effort is only one of the surfaces this gateway forwards, so an effort-only probe cannot justify reasoning_options = []. Re-probed every entry across nine request shapes (reasoning_effort top-level and nested, reasoning true/false, :think and :fast suffixes, reasoning.max_tokens, thinkingConfig.thinkingBudget, thinking_budget, enable_thinking, thinking.type), temperature 0, each result reproduced. The real control on Qwen routes is Alibaba's native enable_thinking, which the gateway forwards. Seven routes previously marked [] are genuine toggles: qwen-plus, qwen-flash, qwen3-vl-plus, qwen3.5-plus, qwen3.5-397b-a17b, qwen3.6-plus and qwen3-max. qwen3-max additionally overrides reasoning = true, since it emits reasoning on demand despite the base entry saying otherwise. gemini-2.5-flash-lite, mimo-v2.5, mimo-v2.5-pro and sonar-deep-research keep [] after testing all nine surfaces; each now records that evidence in its header. The perplexity low|medium|high|fast|pro|auto suffixes are search_type controls, not reasoning - the gateway names the parameter in its own rejection. Wire-path comments moved into the leading header block on all ten files that carry reasoning_options, since sync strips mid-file comments. Drops qwen3.6-27b-free: its reasoning surface could not be measured because the key's daily free-model quota was exhausted, and an unverified [] is exactly what this change is correcting. * llmtr: align solar-pro2 reasoning effort with the Upstage baseline * llmtr: align solar-pro3 reasoning effort with the Upstage baseline * llmtr: add measured thinking_budget control to qwen/qwen-flash * llmtr: add measured thinking_budget control to qwen/qwen-plus * llmtr: add measured thinking_budget control to qwen/qwen3-max * llmtr: add measured thinking_budget control to qwen/qwen3-vl-plus * llmtr: add measured thinking_budget control to qwen/qwen3.5-397b-a17b * llmtr: add measured thinking_budget control to qwen/qwen3.5-plus * llmtr: add measured thinking_budget control to qwen/qwen3.6-flash * llmtr: add measured thinking_budget control to qwen/qwen3.6-plus * llmtr: add measured thinking_budget control to qwen/qwen3.7-plus * llmtr: align solar-pro4 effort wire comment with the measured field