Preserve transient credential failures as runtime cooldowns, restore account-aware retry and observability facts, and align Grok model/tool adaptation with Codex clients.
Keep complete SSE events on the live path while retaining only protocol-required tool and continuation state.
Co-authored-by: Codex <noreply@openai.com>
Refresh verified dependencies, harden CI test credentials, and align release builders with the current supported image.
Co-authored-by: Codex <noreply@openai.com>
Serve connection-test model lists from a provider-plan Redis cache, refresh manually through bounded same-plan candidates, and keep periodic catalog refreshes isolated from OpenAI ETag handling.
Co-authored-by: Codex <noreply@openai.com>
Restore provider-native quota and reasoning observations, complete request lifecycle accounting, and align account and usage surfaces with the restored semantics.
Co-authored-by: Codex <noreply@openai.com>
Keep OpenAI Responses bodies and wire events transparent, remove the generic typed compaction and response reconstruction path, and localize Grok compaction adaptation to the xAI provider.
Co-authored-by: Codex <noreply@openai.com>
Collapse routing, health, circuit state, account pools, and admin APIs onto the fixed OpenAI and xAI Provider boundary while keeping credential runtime state account-scoped.
Remove configurable provider-instance and routing-catalog persistence, use fixed official endpoints in provider adapters, align account routes and frontend contracts, and mirror provider tests under their source modules.
Co-authored-by: Codex <noreply@openai.com>
Allow explicitly selected provider accounts to be deleted regardless of scheduling state, matching the pre-refactor behavior.
Upsert verified credential imports by upstream identity, preserve existing account IDs, and return the committed IDs to admin callers.
Co-authored-by: Codex <noreply@openai.com>
Remove unused full-response transports and unconnected domain reservations while keeping test-only setup inside integration tests.
Restore image-generation accounting and OpenAI WebSocket pool observations across the engine, store, and admin boundaries without changing the transparent OpenAI WS/SSE path.
Co-authored-by: Codex <noreply@openai.com>
Move protocol and provider fixtures and observations into integration tests while exercising the production decoder, encoder, transport, DNS, and lease paths.
Remove direct credential seeding and routing test setters while preserving OpenAI transparent proxy and WebSocket/SSE fallback behavior.
Co-authored-by: Codex <noreply@openai.com>
Add typed compaction operations across the gateway, OpenAI, and xAI providers with provider-owned request, response, accounting, and observability contracts.
Align xAI custom apply_patch calls with the patch function argument and re-encode restored custom calls during provider replay.
Co-authored-by: Codex <noreply@openai.com>
Restore provider-owned identity profiles, credential refresh, cache routing, model catalogs, and runtime configuration across OpenAI and xAI without compatibility paths.
Keep deployment configuration, frontend visibility, and architecture documentation aligned with the finalized multi-provider boundary.
Co-authored-by: Codex <noreply@openai.com>
Move control-plane use cases, host lifecycle, provider capabilities, execution orchestration, and worker contracts into their final owners while keeping the application bootstrap as a thin composition root.
Restore verified OpenAI transport, continuation, pooling, fingerprint, accounting, and observability semantics, and retain the validated xAI multi-account integration.
Co-authored-by: Codex <noreply@openai.com>
Rebuild the backend as the frozen gateway workspace with a single PostgreSQL schema, provider-owned OpenAI and xAI boundaries, and mirrored domain tests.
Restore the admin product contracts for accounts, model catalogs, usage observability, billing details, and provider-scoped settings without compatibility shims.
Co-authored-by: Codex <noreply@openai.com>
Route in-process update restarts through an explicit shutdown action so the runtime releases the listener and logging guard before exec, without waiting for the single instance's graceful drain.
Co-authored-by: Codex <noreply@openai.com>
Move account and dashboard read orchestration into their existing admin API modules, and remove the top-level admin_queries package and service wrapper.
Update composition wiring, dependency guards, and architecture documentation to reflect feature-local query ownership.
Co-authored-by: Codex <noreply@openai.com>
Remove frontend schemas and tests, keep API modules as thin GET/POST adapters, and replace manual SSE and browser helpers with existing VueUse and utility primitives.
Reorganize feature helpers, move unauthorized handling into an app plugin, align the admin key removal route, and satisfy the enabled accessibility rules.
Co-authored-by: Codex <noreply@openai.com>
Harden WebSocket ownership and capacity semantics, split the transport into focused modules, and move admin queries, quota observations, and upstream adapters behind explicit consumer-owned ports.
Parse frontend payloads at the API boundary, centralize SSE and store ownership, add latest-request-wins queries with inferred view types, and enforce dependency direction through lint and AST tests.
Co-authored-by: Codex <noreply@openai.com>
Remove request-path quota probes and consume account, request, and rate-limit facts from normal upstream responses, including 429 active-limit metadata.
Refresh model catalogs only at startup, on x-models-etag changes, or through the explicit account model refresh control in the connection test dialog.
Co-authored-by: Codex <noreply@openai.com>
Preserve Responses Lite and Memgen controls across HTTP and WebSocket transports without rewriting request bodies, and standardize continuation recovery signals.
Track cache-write usage and billing while applying appcast profile updates to new WebSocket generations without breaking exact continuations.
Co-authored-by: Codex <noreply@openai.com>
Sanitize every replay item envelope without maintaining an output-type allowlist, while preserving nested client and tool semantics.
Build connection snapshots from the actual successful attempt input so cleaned source-account state cannot return during target-account recovery.
Co-authored-by: Codex <noreply@openai.com>
Track connection transcripts by the actual response account and sanitize typed Responses output state before replaying across accounts.
Rebuild target auth, Cookie, installation metadata, and turn state boundaries, fail closed on malformed turn metadata, and persist only target-account state after replay.
Co-authored-by: Codex <noreply@openai.com>
Capture first semantic output and transport timing, then surface concise latency values with safe phase details in dashboard and usage records.
Keep the Codex Desktop request profile synchronized with successful appcast checks at runtime, without rewriting configuration or evicting existing WebSocket connections.
Co-authored-by: Codex <noreply@openai.com>
Measure TTFT from the first semantic response event across streaming, retry, scheduler, usage telemetry, and dashboard paths.
Expose first-token percentiles and concise UI labels, and isolate concurrent Redis-backed test runs.
Co-authored-by: Codex <noreply@openai.com>
Update redis to 1.4.0, rustls to 0.23.42, and uuid to 1.23.5 after full backend, security, container, and Trivy validation.
Co-authored-by: Codex <noreply@openai.com>
Notify foreground and shared waiters before awaiting pool cleanup so an observed WebSocket opening error cannot be replaced by a fast-path timeout and HTTP fallback.
Drive the half-open breaker test through explicit state transitions instead of timing sleeps.
Co-authored-by: Codex <noreply@openai.com>
Classify final request outcomes into success, failure, cancellation, and caller-error buckets so availability reflects only eligible requests. Expose structured 15-minute health points with focused coverage.
Redesign the health timeline, trend, wire-profile, and diagnostic surfaces with responsive shared interactions, and standardize configuration schema version 1.
Co-authored-by: Codex <noreply@openai.com>
Continue pool-owned WebSocket handshakes after the foreground budget expires, retain late successes for reuse, and cancel them on account eviction or shutdown. Keep breaker accounting and transport metrics aligned with the foreground decision.
Co-authored-by: Codex <noreply@openai.com>
Enforce pump-owned Pong deadlines without adding request-path probes, and pause watchdogs during inbound backpressure.
Refresh usage snapshots against the current time, expose account identities, preserve full plan badges, and source dashboard totals from global request buckets.
Co-authored-by: Codex <noreply@openai.com>
Move Cyber classification and retry decisions behind its controller-owned typed result.
Share feature failure owner ordering across attempt and committed stream paths, with architecture guards and documentation.
Co-authored-by: Codex <noreply@openai.com>