feat(openai): add GPT-5.6 Sol/Terra/Luna models - #3
Merged
Conversation
Add the GPT-5.6 family (GA 2026-07-09) to the native OpenAI provider, and by extension OpenRouter. - packages/types/src/providers/openai.ts: three openAiNativeModels entries (gpt-5.6-sol/terra/luna) templated on gpt-5.5 — 1.05M context, 128K output, the new `max` reasoning-effort level, verbosity, and pricing $5/$30, $2.50/$15, $1/$6 (in/out) with 90%-off cache reads. Promote gpt-5.6-sol to openAiNativeDefaultModelId. - packages/types/src/providers/index.ts: getProviderDefaultModelId( "openai-native") now returns openAiNativeDefaultModelId instead of a stale hardcoded "gpt-4o", so the loading-time fallback also honors Sol. OpenRouter needs no code change: parseOpenRouterModel already mirrors the static effort array for any openai/* id, so openai/gpt-5.6-* surfaces `max` automatically and caching auto-detects from API pricing. Bedrock deferred: GPT-5.6 is not GA on Bedrock and AWS has not published model IDs. Long-context surcharge, flex/priority service tiers, and the new 1.25x cache-write price are omitted pending confirmation against OpenAI's official pricing page. Tests: default-model assertion updated to gpt-5.6-sol; new getModel() and `"effort":"max"` request-body passthrough tests (openai-native.spec.ts); new openai/gpt-5.6-sol effort-mirror case (openrouter fetcher spec). check-types passes and the pre-existing 22-failure reasoning/model-params baseline is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds first-class support for the GPT-5.6 family (GA 2026-07-09) to the native OpenAI provider — Sol (flagship), Terra (balanced), Luna (fast/cheap) — and, transitively, OpenRouter.
gpt-5.6-solbecomes the default OpenAI model.gpt-5.6-solhigh)gpt-5.6-terramedium)gpt-5.6-lunalow)How
packages/types/src/providers/openai.ts— threeopenAiNativeModelsentries templated on the existinggpt-5.5; adds the newmaxeffort level, verbosity, and per-model pricing. Default →gpt-5.6-sol.packages/types/src/providers/index.ts—getProviderDefaultModelId("openai-native")now returnsopenAiNativeDefaultModelIdinstead of a stale hardcoded"gpt-4o", so the loading-time fallback also honors Sol.parseOpenRouterModelalready mirrors the static effort array for anyopenai/*id, soopenai/gpt-5.6-*surfacesmaxautomatically; caching auto-detects from API pricing.Everything downstream (handler selection, cost, UI picker, reasoning dropdown) is data-driven off
ModelInfo, so no handler/UI code was needed.maxis already plumbed end-to-end (precedent: Anthropic Opus 4.8).Scope / deferred (deliberate)
openai.gpt-5-6-*IDs; our existingopenai.gpt-oss-*Bedrock entries also expose no reasoning. Revisit when AWS ships it.>272Klong-context surcharge is mirrored fromgpt-5.5(drop if removed for this family); flex/priority servicetiers, the new 1.25× cache-write price, and 30-min cache retention are omitted for now (base in/out/cache-read pricing is high-confidence).openai-codexprovider, Requesty.Test plan
pnpm --filter @roo-code/types check-types→ pass (catalog conforms toModelInfo).getModel(),"effort":"max"request-body passthrough (openai-native.spec.ts), andopenai/gpt-5.6-soleffort-mirror (openrouterfetcher spec).reasoning/model-paramsbaseline unchanged (no regressions).Remaining runtime check (needs a live key): send a
max-effort request togpt-5.6-solend-to-end and confirm a 200 — the unit test confirms we emit"effort":"max"; only live API acceptance is unverified.🤖 Generated with Claude Code