feat(provider): support GPT-6 Astra

Draft
GR
2mo ago
+295-3

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 to medium. Preserve encrypted reasoning across stateless tool calls using the existing Responses route.
  • Permit Astra max in the native Responses adapter; reject none/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 --check pass.
  • 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, and max (default medium) and replays encrypted reasoning across stateless tool calls on the Responses route.
  • Allows max in the Responses adapter and rejects none/minimal for 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.