Commit Graph
473 Commits
Author SHA1 Message Date
zyycnandCodex 7518d2006d chore: bump version to 3.0.3
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 16:59:19 +08:00
zyycnandCodex 2543c5b82c fix(ui): restore dashboard and mobile interactions
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 16:58:08 +08:00
zyycnandCodex a27fd69753 chore: bump version to 3.0.2
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:58:47 +08:00
zyycn 632c474614 feat(accounts): support mixed CPR batch import
按导出文档中的 provider 分流批量导入 OpenAI 与 xAI 账号。\n\nCo-authored-by: Codex <noreply@openai.com>
2026-07-25 03:56:57 +08:00
zyycnandCodex e11f25bb09 fix(update): allow GitHub release asset redirects
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:43:19 +08:00
zyycnandCodex 35c1f7750f chore: bump version to 3.0.1
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:26:38 +08:00
zyycnandCodex 87a61fb0a1 docs: refresh v3 provider and deployment guides
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:26:18 +08:00
zyycnandCodex 4f88c0c90d fix(openai): align context and catalog tolerance
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:26:09 +08:00
zyycnandCodex 2447da6e3d fix(openai): preserve Agent Identity CPR round trips
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 03:26:00 +08:00
zyycnandCodex 300b0f57e3 fix(ci): configure Redis test auth in service container
Use the Redis client shipped with the service image so the quality workflow does not depend on a runner package.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 02:00:34 +08:00
zyycnandCodex 05777c7887 chore(release): prepare v3.0.0
Refresh verified dependencies, harden CI test credentials, and align release builders with the current supported image.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 01:54:18 +08:00
zyycnandCodex 4e07a3b82a feat(catalog): share provider model catalogs by plan
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>
2026-07-25 00:33:12 +08:00
zyycnandCodex 75e90d41b6 fix(gateway): restore account usage and request observability
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>
2026-07-25 00:33:12 +08:00
zyycnandCodex 24c7c575d2 refactor(gateway): restore provider-owned protocol boundaries
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>
2026-07-25 00:33:12 +08:00
zyycnandCodex 09a7c15a16 fix(gateway): restore legacy session and provider semantics
Recover OpenAI continuation affinity, session-level account exclusion, catalog/configuration behavior, and provider-owned runtime defaults without changing the transparent OpenAI wire path.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:12 +08:00
zyycnandCodex ab8dffba5b fix(gateway): restore upstream response transparency
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:12 +08:00
zyycnandCodex 65cee2e4b4 fix(gateway): restore transparent request semantics
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:12 +08:00
zyycnandCodex 248fdd16af refactor(gateway): finalize provider-level account architecture
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:12 +08:00
zyycnandCodex 7e2a7bff75 refactor(gateway): remove provider instance layer
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>
2026-07-25 00:33:12 +08:00
zyycnandCodex be24e370ab fix(gateway): restore account mutation semantics
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 9350840aaa refactor(gateway): finalize production API audit
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 29d7120b4a refactor(gateway): remove test-only production APIs
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 7046070463 fix(gateway): preserve OpenAI wire transparency
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:11 +08:00
zyycnandCodex 42186de2b8 fix(gateway): scope conversation compaction to xai
Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:11 +08:00
zyycnandCodex ae0dad2984 feat(gateway): add provider-native conversation compaction
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>
2026-07-25 00:33:11 +08:00
ZyyandCodex 284473a724 fix(gateway): finalize provider runtime behavior
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 49fd725b24 fix(gateway): restore provider request semantics
Restore Provider-owned connection probes, xAI Grok Build request translation, continuation state, credential recovery, SSE metadata, and transport diagnostics without compatibility paths.

Keep upstream identity presentation and startup output aligned with the final package boundaries.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 00:33:11 +08:00
zyycnandCodex c113d0e9ff refactor(backend): finalize gateway package boundaries
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 55b04ef396 refactor: migrate to multi-provider gateway architecture
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>
2026-07-25 00:33:11 +08:00
zyycnandCodex 5b0fef2304 chore: bump version to 2.5.3
Co-authored-by: Codex <noreply@openai.com>
2026-07-20 10:05:53 +08:00
zyycnandCodex 8380b963de fix(import): preserve future expiry for opaque Sub2API tokens
Co-authored-by: Codex <noreply@openai.com>
2026-07-20 10:05:31 +08:00
zyycnandCodex 795882d503 chore: bump version to 2.5.2
Co-authored-by: Codex <noreply@openai.com>
2026-07-19 20:40:47 +08:00
zyycnandCodex 482e718bea fix(auth): synchronize refreshed tokens with account pool
Co-authored-by: Codex <noreply@openai.com>
2026-07-19 20:30:43 +08:00
ZyyandCodex 673ac4c8f4 fix(backend): skip drain for self-restart
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>
2026-07-17 18:54:33 +08:00
ZyyandCodex 1590d469df chore: bump version to 2.5.1
Co-authored-by: Codex <noreply@openai.com>
2026-07-17 17:38:38 +08:00
ZyyandCodex 36ba15eda4 docs(architecture): define multi-provider gateway target
Document the provider-neutral gateway boundary and its terminal PostgreSQL and Redis data model, including configuration, credentials, routing, attempts, continuation, telemetry, retention, and migration contracts.

Co-authored-by: Codex <noreply@openai.com>
2026-07-17 17:38:11 +08:00
Zyy 4ebd36d404 fix(frontend): restore table scroll and loading states 2026-07-17 16:23:35 +08:00
Zyy 8f51a7546d fix(telemetry): preserve timed-out record writes 2026-07-17 14:52:19 +08:00
ZyyandCodex 50b11b3727 chore: bump version to 2.5.0
Co-authored-by: Codex <noreply@openai.com>
2026-07-17 13:40:14 +08:00
ZyyandCodex dc7afb06a2 refactor(backend): simplify admin query structure
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>
2026-07-17 13:09:17 +08:00
ZyyandCodex e40bcdc690 refactor(frontend): simplify client architecture
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>
2026-07-17 11:44:04 +08:00
zyycnandCodex 8dea995fc5 refactor(architecture): complete dependency boundary audit
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>
2026-07-17 09:03:33 +08:00
zyycnandCodex 3398fa9583 feat(proxy): prefer passive upstream state refresh
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>
2026-07-17 02:12:16 +08:00
zyycnandCodex dc2399d9e2 feat(proxy): align latest Responses semantics
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>
2026-07-17 00:50:27 +08:00
zyycnandCodex 1abec7351d fix(dispatch): generalize cross-account replay sanitization
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>
2026-07-16 23:59:10 +08:00
zyycnandCodex f6b3e0cc6c fix(dispatch): isolate cross-account replay state
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>
2026-07-16 23:18:26 +08:00
zyycnandCodex 51ec3339ce fix(frontend): refine analytics interactions
Align usage chart bounds and diagnostic loading states, simplify dashboard hover feedback, and improve User-Agent layout.

Restore the login light palette to the primary accent color.

Co-authored-by: Codex <noreply@openai.com>
2026-07-16 20:03:51 +08:00
ZyyandCodex e31d318686 feat(telemetry): expose latency breakdowns
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>
2026-07-16 18:07:08 +08:00
ZyyandCodex 1a9ba06107 ci: speed up validation pipelines
Run affected CI checks in parallel and skip unrelated backend or frontend work while retaining workflow lint.

Start release binary builds after release metadata is available, while keeping image assembly, packaging, and publication gated by quality checks.

Co-authored-by: Codex <noreply@openai.com>
2026-07-16 16:07:55 +08:00
ZyyandCodex 5184878e7d feat(telemetry): add first-token latency observability
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>
2026-07-16 15:57:19 +08:00