Skip to content

Send native reasoning values per official provider - #33

Merged
enowdev merged 1 commit into
enowdev:mainfrom
nvdorman:fix/official-reasoning-ladders
Aug 17, 2026
Merged

Send native reasoning values per official provider#33
enowdev merged 1 commit into
enowdev:mainfrom
nvdorman:fix/official-reasoning-ladders

Conversation

@nvdorman

Copy link
Copy Markdown
Contributor

Summary

  • Official providers no longer share a hardcoded Off/Low/Medium/High picker. Each model advertises its own ladder and request shape (Claude adaptive + output_config.effort, Gemini thinkingLevel/thinkingBudget, OpenAI reasoning_effort, OpenRouter reasoning.effort, DeepSeek/Z.ai thinking, Grok, Groq, Ollama).
  • Custom endpoints (including CodeBuddy/sub2api-style gateways) show the full official value list: Auto, none, minimal, low, medium, high, xhigh, max. Auto omits the field. A chosen value is sent as reasoning_effort.
  • Config schema no longer validates reasoning against a four-value enum.

Test plan

  • go test ./internal/llm ./internal/config ./internal/server -skip TestLive
  • Official Anthropic 4.6: picker is low/medium/high/max; request uses thinking.type=adaptive
  • Official Grok 4.5: Off is hidden
  • Official Gemini 3.6: picker includes minimal
  • Custom endpoint (e.g. codebuddy_cn / glm-5.2): full value list; Auto sends no field
  • Official GPT-4o: picker hidden (no reasoning)

The composer no longer hard-codes Off/Low/Medium/High for every model.
Official endpoints advertise their own ladder and wire shape. Custom
endpoints offer the full official value list and send reasoning_effort.
Auto still omits the field so the provider default applies.
@enowdev
enowdev merged commit 2c4aaaa into enowdev:main Aug 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants