feat(providers): finish OpenAI Codex (ChatGPT OAuth) provider and cut v0.8.55
Completes the in-progress OpenAI Codex provider and bumps the workspace to 0.8.55. Builds on the committed Together AI provider + model catalog work. OpenAI Codex (ChatGPT) provider — experimental: - Wire the previously-dead OAuth module into credential resolution. The TUI config now resolves the access token via the Codex CLI login in ~/.codex/auth.json (env overrides OPENAI_CODEX_ACCESS_TOKEN/CODEX_ACCESS_TOKEN), refreshing expired tokens synchronously via the OpenAI token endpoint — mirroring the existing Kimi OAuth flow rather than introducing a new pattern. - Send the ChatGPT backend's required headers from the Responses client (chatgpt-account-id, OpenAI-Beta: responses=experimental, originator) and stop duplicating the Authorization header already installed on the client. - Fix the cli crate's non-exhaustive ProviderKind matches (compile blocker). Consistency / de-slop pass (so the provider fits the whole app, not one path): - has_api_key_for / active_provider_has_config_api_key now detect the Codex OAuth login on disk, the same way they detect Kimi OAuth — a `codex login` user is no longer reported as unauthenticated. - Replace the bogus OPENAI_CODEX_API_KEY hint (which exists nowhere else) with the real OPENAI_CODEX_ACCESS_TOKEN/CODEX_ACCESS_TOKEN in the auth-error and picker surfaces. - Drop dead state in the Responses stream parser (unused ToolCallState fields / imports); tool-call data is streamed live. - Update docs/PROVIDERS.md, config.example.toml, and the provider-metadata wire test for the Responses wire format. Release: - Bump workspace + crates + npm package to 0.8.55; update CHANGELOG.md and crates/tui/CHANGELOG.md. Note: the live Responses round-trip has not been exercised against the production ChatGPT backend in this environment; the provider ships as preview. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -428,6 +428,18 @@ max_subagents = 10 # optional (1-20)
|
||||
# base_url = "https://api.together.xyz/v1"
|
||||
# model = "deepseek-ai/DeepSeek-V4-Pro" # or deepseek-ai/DeepSeek-V4-Flash
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# OpenAI Codex (ChatGPT) Provider — EXPERIMENTAL
|
||||
# Reuses your existing ChatGPT/Codex CLI OAuth login. Run `codex login` first;
|
||||
# CodeWhale reads and refreshes the access token from ~/.codex/auth.json. No API
|
||||
# key is stored here. Talks to the OpenAI Responses API at /codex/responses.
|
||||
# Env var aliases: OPENAI_CODEX_ACCESS_TOKEN / CODEX_ACCESS_TOKEN (token override),
|
||||
# OPENAI_CODEX_BASE_URL / CODEX_BASE_URL, OPENAI_CODEX_MODEL / CODEX_MODEL,
|
||||
# OPENAI_CODEX_ACCOUNT_ID / CODEX_ACCOUNT_ID, OPENAI_CODEX_AUTH_FILE, CODEX_HOME
|
||||
[providers.openai_codex]
|
||||
# base_url = "https://chatgpt.com/backend-api"
|
||||
# model = "gpt-5.5"
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
# Web Search Provider
|
||||
# ─────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user