feat(provider): support GPT-6 Astra
Change
Support openai/gpt-6-astra with API-key authentication. The current release (0.1.20) and live models.dev catalog do not contain Astra.
- Fill missing official-catalog metadata only; preserve upstream entries and custom catalog files/URLs. Include published limits and Standard pricing, including the >272K input tier.
- Expose
low,medium,high,xhigh,max; default tomedium. Preserve encrypted reasoning across stateless tool calls using the existing Responses route. - Permit Astra
maxin the native Responses adapter; rejectnone/minimal. Other models retain their previous validation.
References: model, API migration, pricing.
Proof
- Real source CLI with isolated config/cache and a fake key lists Astra, correct limits/costs, and all five variants. No inference request.
packages/core: catalog + OpenAI plugin tests: 19 pass.packages/opencode: Astra + transform tests: 359 pass. Actual AI SDK request serialization and tool round trips tested for every effort; encrypted reasoning replay and sampling omission asserted at the HTTP boundary.packages/llm: full suite 306 pass, 30 skip (live/recording tests remain skipped).- Package typechecks for core, opencode, llm pass. Prettier and
git diff --checkpass. - Red/green against unchanged source at
4b22baba2: seven added Astra checks fail before this patch and pass after. - Broader opencode provider suite is not green: same 494-test matrix is 418 pass / 76 fail on base source plus new tests, versus 421 pass / 73 fail patched. The three disappearing provider failures are the new Astra checks; no new named failures. Existing provider/config failures are outside this patch.
Risk / rollout / rollback
Draft, not merge-ready. No dependency update, persisted-data migration, prompt change, browser call, paid API call, or eval dispatch. No claims about API-key entitlement or benchmark performance. Scope is OpenAI API-key routing, not ChatGPT OAuth or third-party gateways.
Opt-in model selection only. Current/legacy model request behavior and existing eval release pins remain unchanged. Catalog fallback is in memory and yields to models.dev on refresh. Revert this commit to remove support; no data rollback needed. After review/merge, a separate release is required before the eval harness can pin a new bcode_version. One or two exact-task smoke evals still need authorization.
Summary by cubic
Adds opt-in support for openai/gpt-6-astra with API-key authentication, which the published 0.1.20 binary and the live models.dev catalog don't list.
New Features
- Fills in Astra's limit and pricing metadata only for the default models.dev catalog; upstream entries and custom catalog files stay unchanged.
- Adds reasoning efforts
low,medium,high,xhigh, andmax(defaultmedium) and replays encrypted reasoning across stateless tool calls on the Responses route. - Allows
maxin the Responses adapter and rejectsnone/minimalfor Astra; other models keep their previous validation. - Documents usage and requirements in README.
- Draft, not merge-ready; reverting the commit removes support and no data migration is needed.