rowboat/apps/x
Ramnique Singh 6c5324eeac feat: ChatGPT subscription (codex) models — provider, model list, composer wiring
Adds the model-call half of "Use your ChatGPT subscription": a new
credential-less "codex" provider flavor (like "rowboat") that runs calls
against the Codex backend using the OAuth session from chatgpt-auth.

- core/models/codex.ts: AI SDK OpenAI provider in Responses mode. A
  wrapLanguageModel middleware injects providerOptions.openai.store=false
  on every call so the SDK emits full self-contained items (text +
  reasoning with encrypted_content) instead of item_reference entries the
  stateless backend 404s. A wire-level fetch wrapper adds auth
  (bearer + chatgpt-account-id) and Cloudflare headers (originator), and
  backstops the contract: store:false, stream forced with SSE aggregation
  for non-streaming callers, max_output_tokens dropped, encrypted-
  reasoning include, friendly usage-limit errors
- live model discovery via /codex/models, gated by client_version
  (mirrored from the local codex CLI's models_cache.json so the catalog
  matches what `codex` shows); visibility "hide" utility models filtered;
  display names carried through; hardcoded fallback list for offline
- createProvider/resolveProviderConfig/mapReasoningEffort codex cases
- models:list merges the "OpenAI Codex" catalog while signed in with
  ChatGPT; chatgpt:statusChanged push event on sign-in/out
- composer picker shows the group gated on the session and refreshes on
  status changes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:23:57 +05:30
..
.pnpm-store/v11 add talking mascot 2026-07-02 22:20:11 +05:30
apps feat: ChatGPT subscription (codex) models — provider, model list, composer wiring 2026-07-17 17:23:57 +05:30
docs feat(apps): M3 UI — catalog, D18 install dialog, publish dialog, detail actions 2026-07-06 15:34:54 +05:30
packages feat: ChatGPT subscription (codex) models — provider, model list, composer wiring 2026-07-17 17:23:57 +05:30
.gitignore feat(x): reference-based model requests + wire-form composer 2026-07-02 14:20:44 +05:30
ANALYTICS.md feat(x): client auto-update with restart card and inline release notes (#744) 2026-07-16 17:59:03 +05:30
CODE_MODE_ENGINES_PLAN.md Code mode: make packaged builds work via managed engine provisioning (#625) 2026-06-17 21:53:15 +05:30
demo.gif add gif 2026-07-10 10:04:37 +05:30
eslint.config.mts ignore renderer eslint 2026-01-16 12:05:33 +05:30
GRANOLA_PARITY.md feat(x): resident app — launch at login + menu bar tray (Granola parity phase 1) 2026-07-13 21:02:20 +05:30
LIVE_NOTE.md docs(x): design docs and prompt catalogs follow the runtime/ move 2026-07-10 16:30:26 +05:30
MINI_APPS_PLAN.md feat(mini-apps): copilot builder — build-mini-app skill + install/data tools 2026-07-01 01:25:45 +05:30
package.json ci(x): typecheck test files — the gap vitest and the build tsconfigs both miss 2026-07-10 16:30:26 +05:30
pnpm-lock.yaml feat(x): client auto-update with restart card and inline release notes (#744) 2026-07-16 17:59:03 +05:30
pnpm-workspace.yaml build(x): graft vscode-jsonrpc onto langium via packageExtensions 2026-07-07 02:45:09 +05:30
tsconfig.base.json
VIDEO_MODE.md docs(x): fix pointers the reorg docs pass got wrong or missed 2026-07-10 17:57:03 +05:30