mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
Adds a canonical reasoning-effort ladder (low|medium|high, absent = auto/provider default) that travels: send config → turn_created.config → every model call's persisted parameters (§8.3) → provider-specific options at invoke time. Behavior-neutral: nothing sends an effort yet, and auto produces byte-identical requests to today. - shared: ReasoningEffort enum (single source, reused by models.json provider config), TurnCreated.config.reasoningEffort (additive optional on a non-strict object — old builds strip it, no schemaVersion bump), sessions:sendMessage IPC schema. - turns: CreateTurnInput/SendMessageConfig/HeadlessAgentOptions carry the value; runModelStep stamps it on each call's parameters so every step durably records what it ran with. - bridge: maps canonical effort to provider options, transport-only like prompt caching — OpenAI reasoningEffort, Anthropic thinking budgets (raising maxOutputTokens to the budget floor, never lowering an explicit value), Gemini thinkingLevel/thinkingBudget by generation, OpenRouter/rowboat reasoning.effort. Capability-gated via a cache-only models.dev lookup (never blocks a turn on the network); unknown support fails closed on strict flavors, while OpenRouter-shaped flavors map permissively since OpenRouter drops the field for non-reasoning models. Explicit persisted providerOptions win over the mapping. Ollama keeps its existing provider-level think rewrite; openai-compatible endpoints get nothing (no safe universal parameter). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cli | ||
| docs | ||
| experimental | ||
| python-sdk | ||
| rowboat | ||
| rowboatx | ||
| x | ||