Commit Graph
32 Commits
Author SHA1 Message Date
ZyyandCodex 45903b684b fix(admin): remove config revision fences from API writes
Operator mutations no longer require callers to carry configRevision values through accounts, client keys, provider credentials, or settings. The store and admin use cases now apply current state directly, which removes stale-revision failures from normal create, update, and delete flows.

xAI Responses catalog entries now let the upstream validate feature support instead of rejecting requests locally when optional catalog metadata is absent, matching the Build routing behavior used by grok2api.

Co-authored-by: Codex <noreply@openai.com>
2026-07-27 11:30:59 +08:00
zyycnandClaude 8226089ade fix(api): resolve the admin request id independently of the header name
The request-id layer injects under the configured api.request_id_header,
but the admin extractor read the hardcoded x-request-id name, so pointing
that setting at any other header made every authenticated admin request
fail with an internal error and took the admin interface down. Read the
name-agnostic RequestId extension the layer also populates, keeping the
header lookup as a fallback for callers that run without the layer.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-27 01:09:49 +08:00
zyycnandClaude 1bd40ffa67 docs: sync every document with the behavior at HEAD
Each document was verified claim by claim against the source. Corrections
that mattered: client API keys have no per-key model scoping; admin
requests never need to send x-request-id and the configurable header name
does not apply to admin authentication; GET /v1/models serves two distinct
response shapes depending on client_version; the crate dependency rules
are convention rather than machine-enforced across all crates; the HTTP
server and worker runtime live in gateway-host, not apps/gateway; the
OpenAI path forwards upstream bytes verbatim over both SSE and WebSocket
while xAI translates between the Grok and Responses wires. Document the
graceful-shutdown budget, the CORS contract, the migration freeze rule,
and the integration-test environment variables, and drop the stale login
throttling references.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-27 01:05:33 +08:00
zyycnandCodex 90ce543295 docs: refresh v3 provider and deployment guides
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:26:18 +08:00
zyycnandCodex b8c14f5dd1 chore: clean project test layout
Co-authored-by: Codex <noreply@openai.com>
2026-06-19 22:13:30 +08:00
zyycnandCodex 8763187266 docs: add architecture overview
Co-authored-by: Codex <noreply@openai.com>
2026-06-19 20:53:26 +08:00
zyycnandCodex 1f77bbda06 openai: align codex chain
Co-authored-by: Codex <noreply@openai.com>
2026-06-15 08:39:28 +08:00
zyycnandCodex bc8650c9cf refactor: remove legacy compatibility
Co-authored-by: Codex <noreply@openai.com>
2026-06-14 20:04:08 +08:00
zyycnandCodex f557cb17ba refactor: align backend names
Co-authored-by: Codex <noreply@openai.com>
2026-06-14 17:48:25 +08:00
zyycnandCodex dfcd30bd84 refactor: modernize logging
Co-authored-by: Codex <noreply@openai.com>
2026-06-14 02:53:29 +08:00
zyycnandCodex 161c8e60eb feat: add admin log filters
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:39:18 +08:00
zyycnandCodex 4fb58a4453 feat: add admin log state mutation
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:30:40 +08:00
zyycnandCodex 02f76b0477 feat: add admin diagnostics summary
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:24:28 +08:00
zyycnandCodex f66c69c7fa feat: add upstream diagnostics probe
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:16:34 +08:00
zyycnandCodex 9a8cbf51d7 feat: add local fingerprint diagnostics
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:06:55 +08:00
zyycnandCodex f3b37211a4 feat: add admin log management routes
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 11:00:48 +08:00
zyycnandCodex 23044393e4 feat: add local diagnostics summary
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 10:53:03 +08:00
zyycnandCodex 0119837770 feat: add admin settings writeback
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 10:45:46 +08:00
zyycnandCodex 53511d5c7a feat: add admin quota warnings route
Co-authored-by: Codex <noreply@openai.com>
2026-06-13 07:40:58 +08:00
ZyyandCodex 5393a67f6b feat: add local client API key import export
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 17:18:33 +08:00
ZyyandCodex a408195c41 fix: map HTTP SSE response failures
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 17:18:33 +08:00
zyycnandCodex 9ca5c7d0b8 fix: reconstruct non-stream response output
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 09:13:00 +08:00
zyycnandCodex 5bf012c64e feat: log token refresh failures
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 06:58:28 +08:00
zyycnandCodex fdb9374089 feat: add token refresh retry and usage stats
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 06:49:31 +08:00
zyycnandCodex ee0ed9036d feat: add v1 streaming and lifecycle logs
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 06:25:47 +08:00
zyycnandCodex e9fdea08d2 feat: add admin client api key management
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 01:58:08 +08:00
zyycnandCodex c2cf7a670f feat: wire v1 responses to codex upstream
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 01:40:25 +08:00
zyycnandCodex 228febde67 feat: add encrypted admin account import
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 01:23:50 +08:00
zyycnandCodex 6341336007 feat: add codex model catalog
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 01:04:35 +08:00
zyycnandCodex cfec8bac00 feat: add read-only admin settings
Co-authored-by: Codex <noreply@openai.com>
2026-06-12 00:52:52 +08:00
zyycnandCodex 4e0d1e5a66 feat: add admin login sessions
Co-authored-by: Codex <noreply@openai.com>
2026-06-11 22:52:11 +08:00
zyycnandCodex fc47967ff4 chore: scaffold codex-proxy-rs
Co-authored-by: Codex <noreply@openai.com>
2026-06-11 20:52:47 +08:00