Repository navigation
0.20.0
The AI adapters now follow each model's own rules, so Claude 5.x and GPT-6 models work. The openai provider moves to the Responses API, the defaults become claude-haiku-5-5 and gpt-6-luna, and stale prices are corrected.
- New
@rocketflare/shared/ai/models:modelTraits(provider, model)gives the thinking mode, what "off" sends, and whether the model takes atemperatureor a forcedtool_choice. The adapters,POST /api/ai/configand the settings form all read it. - Anthropic thinking per model:
- Claude 4.5 and earlier keep
enabled+ budget. - 4.6+ send
adaptive, and a stored budget is ignored. - "Off" sends
disabled,between_tools(Sonnet 5.5), or no field on Opus 5.5 and Fable, which always think. - Before this, a 5.5 model answered every call with a 400.
- Claude 4.5 and earlier keep
- Anthropic: a
temperatureis dropped where the model refuses one (4.7+, or any model while it thinks). A forced tool on Opus/Sonnet 5.5 or Fable 5.1 becomes a prompt instruction plustool_choice: auto.max_tokensis floored atADAPTIVE_THINKING_MIN_MAX_TOKENS(4096) while a model thinks. - First-party
openainow calls/v1/responseswithstore: false, because Chat Completions cannot call tools on GPT-6 Astra or 6.1 Sol, or on Luna while it reasons.openai_compatiblestays on Chat Completions. openaiconfigs now have a thinking switch. Off sends the lowestreasoning.effortthe model takes (none, orlowon Astra / 6.1 Sol / GPT-5.0–5.5 / o-series). On sends the model's default.- Reasoning blocks:
- Reasoning (Claude thinking blocks, OpenAI reasoning items) rides a tool loop as an opaque
ContentBlockoftype: 'reasoning'and is sent back unmodified to the provider that produced it. - Checkpoints keep it. Chat history never stores it.
- Reasoning (Claude thinking blocks, OpenAI reasoning items) rides a tool loop as an opaque
- Each adapter recovers once from a refusal the traits misjudged, then remembers it:
- a refused thinking value, sampling value, forced tool or effort;
- a replayed reasoning block whose signature is refused, which is stripped for that one call.
- Defaults and suggested models:
DEFAULT_MODELS.anthropicisclaude-haiku-5-5, which also means the platformANTHROPIC_API_KEYtier now answers with it.- The
openaichat default isgpt-6-luna. - Suggestions are Haiku/Sonnet/Opus 5.5 and Fable 5.1, and Luna / 5.6 Luna / 6.1 Sol / Astra.
claude-opus-4-1(retired on the Claude API) is gone from the list.
- Pricing (
PRICES_UPDATED2026-10-13):- Opus 4.5–4.8 dropped from $15/$75 to $5/$25. They had been priced 3× too high.
- Every Claude 5.x model, GPT-6, GPT-5.x and their
-provariants now have their own entries. - Haiku 5.5 uses its ≤ 100k-token rate.
- Why:
docs/CONCEPTS.md§9, "The request body is per MODEL".
Breaking: the platform ANTHROPIC_API_KEY tier now answers with claude-haiku-5-5, and an openai config whose base URL is a proxy without /v1/responses must become openai_compatible — see the porting note.
Porting note: docs/upgrades/0.20.0.md — pnpm kit:upgrade or /rf-upgrade in a copy.
Full changelog: 0.19.0...0.20.0