From 3a991a33a08c79532cb03dd66fc57038136861df Mon Sep 17 00:00:00 2001 From: t Date: Mon, 7 Sep 2026 01:43:52 +0900 Subject: [PATCH 1/4] fix(cli): report inert generic account thresholds truthfully --- .../fr/reference/cli/providers-accounts.md | 7 +-- .../ja/reference/cli/providers-accounts.md | 5 +- .../ko/reference/cli/providers-accounts.md | 5 +- .../docs/reference/cli/providers-accounts.md | 7 +-- .../ru/reference/cli/providers-accounts.md | 7 +-- .../tr/reference/cli/providers-accounts.md | 8 +-- .../zh-cn/reference/cli/providers-accounts.md | 7 +-- .../zh-tw/reference/cli/providers-accounts.md | 5 +- src/cli/account-extended.ts | 22 +++++++ tests/cli/cli-account-pool-verbs.test.ts | 62 ++++++++++++++++++- 10 files changed, 106 insertions(+), 29 deletions(-) diff --git a/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md b/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md index 53c5b94b91..c7c4ffa7ca 100644 --- a/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md @@ -203,12 +203,11 @@ renvoient 1 ; une sonde de quota en amont qui échoue ou expire produit plutôt ### `ocx account auto-switch > [--json]` -Contrôle uniquement le groupe de comptes Codex `openai`. `on` règle 80 %, `off` règle 0 %, `status` lit la -valeur actuelle et `threshold ` accepte un entier de 0 à 100. Les autres fournisseurs et les valeurs -invalides entraînent le code de sortie 1. `--json` renvoie : +Contrôle le seuil du pool Codex `openai`, ou enregistre celui d’un pool OAuth générique. `on` enregistre 80 %, `off` 0 % et `threshold ` accepte 0–100. Les seuils génériques sont actuellement inactifs : leur sauvegarde ne change ni le basculement par seuil, ni l’activation du fournisseur, ni la rotation réactive après une erreur 429. Les sorties utilisent la réponse confirmée du serveur. Pour un pool générique, `poolEnabled` est le réglage enregistré (`null` signifie non spécifié), pas l’état effectif hérité. `inert: true` indique que le seuil ne s’applique pas ; une capacité inconnue ne produit jamais `enabled: true`. Les fournisseurs à clé API, Anthropic et les valeurs invalides sont refusés. ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md index f1b5ec4ff6..63596b369c 100644 --- a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md @@ -149,10 +149,11 @@ OAuth プロバイダーと API キー プロバイダーの場合、これに ### `ocx account auto-switch > [--json]` -`openai` Codex アカウント プールのみを制御します。 `on` は 80% を設定し、`off` は 0% を設定します。`status` は現在の値を読み取り、`threshold ` は 0 ~ 100 の整数を受け入れます。他のプロバイダーと無効な値は 1 を終了します。`--json` は次を返します。 +`openai` Codex プールのしきい値を制御するか、汎用 OAuth プールのしきい値を保存します。`on` は 80%、`off` は 0%、`threshold ` は 0–100 を保存します。汎用プールのしきい値は現在適用されません。保存しても、しきい値による切り替え、プロバイダーの有効化設定、429 エラー時のローテーションは変更されません。照会と変更の結果はサーバーの確認値を使用します。汎用プールの `poolEnabled` は保存された設定で、`null` は未指定です。継承後の実効状態ではありません。`inert: true` は未適用を示し、機能が不明な場合も `enabled: true` とは表示しません。API キープロバイダー、Anthropic、不正な値は拒否されます。 ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md index 31757f38d7..ff86f67e8d 100644 --- a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md @@ -209,10 +209,11 @@ OAuth 및 API 키 제공자에는 제공자의 할당량 보고 엔드포인트 ### `ocx account auto-switch > [--json]` -`openai` Codex 계정 풀만 제어합니다. `on`은 80%, `off`는 0%를 설정하고, `status`는 현재 값을 읽으며, `threshold `은 0부터 100까지의 정수를 받습니다. 다른 제공자와 잘못된 값은 종료 코드 1로 끝납니다. `--json`은 다음을 반환합니다: +`openai` Codex 풀의 임계값을 제어하거나 일반 OAuth 풀의 임계값을 저장합니다. `on`은 80%, `off`는 0%, `threshold `은 0–100을 저장합니다. 일반 풀의 임계값은 현재 동작에 적용되지 않습니다. 저장해도 임계값 기반 전환이나 제공자 활성화 설정이 바뀌지 않고, 429 오류에 따른 회전도 비활성화되지 않습니다. 조회와 변경 결과는 서버가 확인한 값을 사용합니다. 일반 풀의 `poolEnabled`는 저장된 제공자별 설정이며 `null`은 미지정입니다. 전역 설정을 상속한 실제 상태를 뜻하지 않습니다. `inert: true`이면 임계값이 적용되지 않으며, 기능 지원을 알 수 없을 때도 `enabled: true`로 표시하지 않습니다. API 키 제공자, Anthropic 및 잘못된 값은 거부합니다. ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/reference/cli/providers-accounts.md b/docs-site/src/content/docs/reference/cli/providers-accounts.md index cc2471a527..7b9d9da16c 100644 --- a/docs-site/src/content/docs/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/reference/cli/providers-accounts.md @@ -331,12 +331,11 @@ instead (exit 0), matching the dashboard's quota bars. ### `ocx account auto-switch > [--json]` -Controls only the `openai` Codex account pool. `on` sets 80%, `off` sets 0%, `status` reads the current -value, and `threshold ` accepts an integer from 0 through 100. Other providers and invalid values -exit 1. `--json` returns: +Controls the `openai` Codex pool threshold, or stores a threshold for a generic OAuth pool. `on` stores 80%, `off` stores 0%, and `threshold ` accepts 0–100. Generic pool thresholds are currently inert: saving one does not enable threshold-based switching, change the provider enablement override, or disable reactive 429 rotation. `status` and mutation output use the confirmed server response. For generic pools, `poolEnabled` is the stored provider override (`null` means unspecified), not inherited effective state; `inert: true` means the threshold is not applied, and unknown capability never reports `enabled: true`. API-key providers, Anthropic and invalid values are rejected. ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md index 3ad8e527f7..1e011a0dd5 100644 --- a/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md @@ -187,12 +187,11 @@ quota-bar'ов дашборда. ### `ocx account auto-switch > [--json]` -Управляет только пулом аккаунтов Codex `openai`. `on` ставит 80%, `off` — 0%, `status` читает -текущее значение, а `threshold ` принимает целое число от 0 до 100. Для других провайдеров и -некорректных значений команда завершается кодом 1. `--json` возвращает: +Управляет порогом пула Codex `openai` или сохраняет порог общего пула OAuth. `on` сохраняет 80 %, `off` — 0 %, а `threshold ` принимает 0–100. Пороги общих пулов пока не применяются: сохранение не включает переключение по порогу, не меняет настройку включения провайдера и не отключает ротацию после ошибки 429. Результат чтения и изменения берётся из подтверждённого ответа сервера. Для общего пула `poolEnabled` — сохранённая настройка провайдера (`null` означает отсутствие настройки), а не итоговое унаследованное состояние. `inert: true` означает, что порог не применяется; неизвестная возможность также не даёт `enabled: true`. Провайдеры с ключом API, Anthropic и неверные значения отклоняются. ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md b/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md index 9c2e9378b7..92c0cbd2a8 100644 --- a/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md @@ -229,13 +229,11 @@ eşleşen null veya eski bir rapora düşer (çıkış 0). ### `ocx account auto-switch > [--json]` -Yalnızca `openai` Codex hesap havuzunu denetler. `on` %80'i ayarlar, `off` %0'ı -ayarlar, `status` geçerli değeri okur ve `threshold ` 0 ile 100 arasında bir -tamsayı kabul eder. Diğer sağlayıcılar ve geçersiz değerler 1 ile çıkar. -`--json` şunu döndürür: +`openai` Codex havuzunun eşiğini yönetir veya genel OAuth havuzunun eşiğini kaydeder. `on` %80, `off` %0 kaydeder; `threshold ` 0–100 kabul eder. Genel havuz eşikleri şu anda uygulanmaz: kayıt işlemi eşik tabanlı geçişi, sağlayıcının etkinlik ayarını veya 429 hatasından sonraki otomatik hesap değişimini etkilemez. Çıktı sunucunun doğruladığı değerleri kullanır. Genel havuzlarda `poolEnabled`, kaydedilmiş sağlayıcı ayarıdır (`null` belirtilmemiş demektir); devralınmış etkin durumu göstermez. `inert: true`, eşiğin uygulanmadığını belirtir; yetenek bilinmiyorsa `enabled: true` bildirilmez. API anahtarlı sağlayıcılar, Anthropic ve geçersiz değerler reddedilir. ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md b/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md index 9601b0766b..a05d6cd65b 100644 --- a/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md @@ -169,12 +169,11 @@ token,也不是简单重读账号列表。`--json` 返回 ### `ocx account auto-switch > [--json]` -只控制 `openai` 的 Codex 账号池。`on` 会设为 80%,`off` 会设为 0%,`status` 会读取 -当前值,而 `threshold ` 接受 0 到 100 之间的整数。其他提供方和无效值都会以 1 -退出。`--json` 返回: +控制 `openai` Codex 账户池阈值,或保存通用 OAuth 账户池阈值。`on` 保存 80%,`off` 保存 0%,`threshold ` 接受 0–100。通用池的阈值目前不参与运行;保存阈值不会启用阈值切换、改变提供方启用设置或禁用 429 错误后的轮换。查询和修改结果使用服务器确认值。通用池的 `poolEnabled` 是已保存的提供方设置,`null` 表示未指定,并不代表继承后的实际状态。`inert: true` 表示阈值未应用;能力未知时也不会报告 `enabled: true`。API 密钥提供方、Anthropic 和无效值会被拒绝。 ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md b/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md index d8d45133b6..2a1d55176c 100644 --- a/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md @@ -129,10 +129,11 @@ Codex 池選擇套用於清除既有親和性後的下一個請求;進行中 ### `ocx account auto-switch > [--json]` -僅控制 `openai` Codex 帳號池。`on` 設為 80%,`off` 設為 0%,`status` 讀取目前值,而 `threshold ` 接受 0 到 100 的整數。其他供應商與無效值離開 1。`--json` 回傳: +控制 `openai` Codex 帳戶池閾值,或儲存通用 OAuth 帳戶池閾值。`on` 儲存 80%,`off` 儲存 0%,`threshold ` 接受 0–100。通用池的閾值目前不參與執行;儲存閾值不會啟用閾值切換、改變供應商啟用設定或停用 429 錯誤後的輪替。查詢與修改結果使用伺服器確認值。通用池的 `poolEnabled` 是已儲存的供應商設定,`null` 表示未指定,並不代表繼承後的實際狀態。`inert: true` 表示閾值未套用;能力未知時也不會回報 `enabled: true`。API 金鑰供應商、Anthropic 與無效值會被拒絕。 ```text -{ provider, autoSwitchThreshold: number, enabled: boolean } +openai: { provider, autoSwitchThreshold: number, enabled: boolean } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } ``` ### `ocx account login|reauth|code|cancel ...` diff --git a/src/cli/account-extended.ts b/src/cli/account-extended.ts index 82d6755e5b..d8ec552dca 100644 --- a/src/cli/account-extended.ts +++ b/src/cli/account-extended.ts @@ -367,6 +367,7 @@ export async function cmdAutoSwitch(args: string[], deps: AccountDeps): Promise< if (threshold !== undefined && (!Number.isInteger(threshold) || threshold < 0 || threshold > 100)) { return usage("Error: threshold must be an integer 0-100"); } + let settings: Record = {}; const baseUrl = await resolveBaseUrl(deps); if (!baseUrl) return proxyUnreachable(); if (action === "status") { @@ -378,6 +379,7 @@ export async function cmdAutoSwitch(args: string[], deps: AccountDeps): Promise< if (response.status !== 200 || (!genericPool && typeof response.json.autoSwitchThreshold !== "number")) { return apiError(response.json, "failed to read auto-switch status", response.status); } + settings = response.json; threshold = typeof response.json.autoSwitchThreshold === "number" ? response.json.autoSwitchThreshold : 0; } else { const response = genericPool @@ -385,6 +387,26 @@ export async function cmdAutoSwitch(args: string[], deps: AccountDeps): Promise< : await apiJson(deps, baseUrl, "PUT", "/api/codex-auth/auto-switch", { threshold }); if (response.status === 0) return proxyUnreachable(response.transportError); if (response.status !== 200) return apiError(response.json, "failed to update auto-switch", response.status); + settings = response.json; + } + if (genericPool) { + // Generic thresholds are stored independently of the enabled override. The + // latter may inherit global preference and never disables reactive rotation. + const stored = settings.autoSwitchThreshold; + const storedThreshold = typeof stored === "number" && Number.isInteger(stored) && stored >= 0 && stored <= 100 + ? stored : null; + const poolEnabled = typeof settings.enabled === "boolean" ? settings.enabled : null; + const inert = typeof settings.inert === "boolean" ? settings.inert : null; + const enabled = inert === false && poolEnabled === true && storedThreshold !== null && storedThreshold > 0; + if (wantsJson) { + console.log(JSON.stringify({ provider: name, autoSwitchThreshold: storedThreshold, enabled, poolEnabled, inert }, null, 2)); + } else if (inert !== false) { + const value = storedThreshold === null ? "unset" : `${storedThreshold}%`; + console.log(`auto-switch: ${inert === true ? "inactive" : "unavailable"} (stored threshold ${value}; ${inert === true ? "not applied by this pool" : "threshold support is unknown"})`); + } else { + console.log(enabled ? `auto-switch: on (threshold ${storedThreshold}%)` : "auto-switch: off"); + } + return 0; } const enabled = threshold! > 0; if (wantsJson) console.log(JSON.stringify({ provider: name, autoSwitchThreshold: threshold, enabled }, null, 2)); diff --git a/tests/cli/cli-account-pool-verbs.test.ts b/tests/cli/cli-account-pool-verbs.test.ts index 41c4c170fd..f46951cca5 100644 --- a/tests/cli/cli-account-pool-verbs.test.ts +++ b/tests/cli/cli-account-pool-verbs.test.ts @@ -349,10 +349,68 @@ describe("generic OAuth pool-settings contract (#695)", () => { const calls: Captured[] = []; const out = capture(); try { - expect(await cmdAutoSwitch(["google-antigravity", "threshold", "90"], genericDeps(() => ({ json: { ok: true, autoSwitchThreshold: 90 } }), calls))).toBe(0); + expect(await cmdAutoSwitch(["google-antigravity", "threshold", "90"], genericDeps(() => ({ json: { ok: true, autoSwitchThreshold: 90, enabled: true, inert: true } }), calls))).toBe(0); } finally { out.restore(); } expect(calls[0]).toMatchObject({ method: "PUT", path: "/api/oauth/accounts/pool", body: { provider: "google-antigravity", autoSwitchThreshold: 90 } }); - expect(out.lines.join("\n")).toContain("threshold 90%"); + expect(out.lines.join("\n")).toContain("stored threshold 90%"); + expect(out.lines.join("\n")).toContain("inactive"); + expect(out.lines.join("\n")).not.toContain("auto-switch: on"); + }); + + test("generic status preserves configured pool state without claiming an inert threshold is active", async () => { + for (const poolEnabled of [true, false, null]) { + const calls: Captured[] = []; + const out = capture(); + try { + expect(await cmdAutoSwitch(["google-antigravity", "status", "--json"], genericDeps(() => ({ + json: { kind: "generic", enabled: poolEnabled, autoSwitchThreshold: 90, inert: true }, + }), calls))).toBe(0); + } finally { out.restore(); } + expect(calls).toHaveLength(1); + expect(calls[0]).toMatchObject({ method: "GET", path: "/api/oauth/accounts/pool?provider=google-antigravity" }); + expect(JSON.parse(out.lines.join("\n"))).toEqual({ + provider: "google-antigravity", autoSwitchThreshold: 90, enabled: false, poolEnabled, inert: true, + }); + } + }); + + test("generic writes report the confirmed DTO, not the requested threshold", async () => { + const calls: Captured[] = []; + const out = capture(); + try { + expect(await cmdAutoSwitch(["google-antigravity", "on", "--json"], genericDeps(() => ({ + json: { ok: true, enabled: null, autoSwitchThreshold: null, inert: true }, + }), calls))).toBe(0); + } finally { out.restore(); } + expect(calls[0]).toMatchObject({ method: "PUT", body: { provider: "google-antigravity", autoSwitchThreshold: 80 } }); + expect(JSON.parse(out.lines.join("\n"))).toEqual({ + provider: "google-antigravity", autoSwitchThreshold: null, enabled: false, poolEnabled: null, inert: true, + }); + }); + + test("generic missing or malformed capability stays unknown rather than enabled", async () => { + for (const json of [{}, { enabled: "true", autoSwitchThreshold: "90", inert: "false" }, + { enabled: true, autoSwitchThreshold: 90 }, { enabled: true, autoSwitchThreshold: 101, inert: false }]) { + const out = capture(); + try { + expect(await cmdAutoSwitch(["google-antigravity", "status", "--json"], genericDeps(() => ({ json }), []))).toBe(0); + } finally { out.restore(); } + const result = JSON.parse(out.lines.join("\n")); + expect(result.enabled).toBe(false); + expect(result.autoSwitchThreshold === null || result.autoSwitchThreshold === 90).toBe(true); + } + }); + + test("an inert zero threshold remains distinct from an unset threshold", async () => { + for (const autoSwitchThreshold of [0, null]) { + const out = capture(); + try { + expect(await cmdAutoSwitch(["google-antigravity", "status", "--json"], genericDeps(() => ({ + json: { enabled: true, autoSwitchThreshold, inert: true }, + }), []))).toBe(0); + } finally { out.restore(); } + expect(JSON.parse(out.lines.join("\n"))).toMatchObject({ autoSwitchThreshold, enabled: false, inert: true }); + } }); test("api-key providers are still refused before any request", async () => { From c18afc93478514a878460c610d48fa2f0d0b03c3 Mon Sep 17 00:00:00 2001 From: t Date: Mon, 7 Sep 2026 01:45:27 +0900 Subject: [PATCH 2/4] fix(cli): keep unknown generic pool capabilities inactive --- .../fr/reference/cli/providers-accounts.md | 4 ++-- .../ja/reference/cli/providers-accounts.md | 4 ++-- .../ko/reference/cli/providers-accounts.md | 4 ++-- .../docs/reference/cli/providers-accounts.md | 4 ++-- .../ru/reference/cli/providers-accounts.md | 4 ++-- .../tr/reference/cli/providers-accounts.md | 4 ++-- .../zh-cn/reference/cli/providers-accounts.md | 4 ++-- .../zh-tw/reference/cli/providers-accounts.md | 4 ++-- src/cli/account-extended.ts | 17 ++++++++------- tests/cli/cli-account-pool-verbs.test.ts | 21 ++++++++++++++++--- 10 files changed, 43 insertions(+), 27 deletions(-) diff --git a/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md b/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md index c7c4ffa7ca..284c8c20c3 100644 --- a/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/fr/reference/cli/providers-accounts.md @@ -203,11 +203,11 @@ renvoient 1 ; une sonde de quota en amont qui échoue ou expire produit plutôt ### `ocx account auto-switch > [--json]` -Contrôle le seuil du pool Codex `openai`, ou enregistre celui d’un pool OAuth générique. `on` enregistre 80 %, `off` 0 % et `threshold ` accepte 0–100. Les seuils génériques sont actuellement inactifs : leur sauvegarde ne change ni le basculement par seuil, ni l’activation du fournisseur, ni la rotation réactive après une erreur 429. Les sorties utilisent la réponse confirmée du serveur. Pour un pool générique, `poolEnabled` est le réglage enregistré (`null` signifie non spécifié), pas l’état effectif hérité. `inert: true` indique que le seuil ne s’applique pas ; une capacité inconnue ne produit jamais `enabled: true`. Les fournisseurs à clé API, Anthropic et les valeurs invalides sont refusés. +Contrôle le seuil du pool Codex `openai`, ou enregistre celui d’un pool OAuth générique. `on` enregistre 80 %, `off` 0 % et `threshold ` accepte 0–100. Les seuils génériques sont actuellement inactifs : leur sauvegarde ne change ni le basculement par seuil, ni l’activation du fournisseur, ni la rotation réactive après une erreur 429. Pour les pools génériques, les sorties utilisent la réponse confirmée du serveur. Pour un pool générique, `poolEnabled` est le réglage enregistré (`null` signifie non spécifié), pas l’état effectif hérité. `inert: true` indique que le seuil ne s’applique pas ; une capacité inconnue ne produit jamais `enabled: true`. Les fournisseurs à clé API, Anthropic et les valeurs invalides sont refusés. ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md index 63596b369c..d20483a8a2 100644 --- a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md @@ -149,11 +149,11 @@ OAuth プロバイダーと API キー プロバイダーの場合、これに ### `ocx account auto-switch > [--json]` -`openai` Codex プールのしきい値を制御するか、汎用 OAuth プールのしきい値を保存します。`on` は 80%、`off` は 0%、`threshold ` は 0–100 を保存します。汎用プールのしきい値は現在適用されません。保存しても、しきい値による切り替え、プロバイダーの有効化設定、429 エラー時のローテーションは変更されません。照会と変更の結果はサーバーの確認値を使用します。汎用プールの `poolEnabled` は保存された設定で、`null` は未指定です。継承後の実効状態ではありません。`inert: true` は未適用を示し、機能が不明な場合も `enabled: true` とは表示しません。API キープロバイダー、Anthropic、不正な値は拒否されます。 +`openai` Codex プールのしきい値を制御するか、汎用 OAuth プールのしきい値を保存します。`on` は 80%、`off` は 0%、`threshold ` は 0–100 を保存します。汎用プールのしきい値は現在適用されません。保存しても、しきい値による切り替え、プロバイダーの有効化設定、429 エラー時のローテーションは変更されません。汎用プールの照会と変更の結果はサーバーの確認値を使用します。汎用プールの `poolEnabled` は保存された設定で、`null` は未指定です。継承後の実効状態ではありません。`inert: true` は未適用を示し、機能が不明な場合も `enabled: true` とは表示しません。API キープロバイダー、Anthropic、不正な値は拒否されます。 ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md index ff86f67e8d..250b3d7b1b 100644 --- a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md @@ -209,11 +209,11 @@ OAuth 및 API 키 제공자에는 제공자의 할당량 보고 엔드포인트 ### `ocx account auto-switch > [--json]` -`openai` Codex 풀의 임계값을 제어하거나 일반 OAuth 풀의 임계값을 저장합니다. `on`은 80%, `off`는 0%, `threshold `은 0–100을 저장합니다. 일반 풀의 임계값은 현재 동작에 적용되지 않습니다. 저장해도 임계값 기반 전환이나 제공자 활성화 설정이 바뀌지 않고, 429 오류에 따른 회전도 비활성화되지 않습니다. 조회와 변경 결과는 서버가 확인한 값을 사용합니다. 일반 풀의 `poolEnabled`는 저장된 제공자별 설정이며 `null`은 미지정입니다. 전역 설정을 상속한 실제 상태를 뜻하지 않습니다. `inert: true`이면 임계값이 적용되지 않으며, 기능 지원을 알 수 없을 때도 `enabled: true`로 표시하지 않습니다. API 키 제공자, Anthropic 및 잘못된 값은 거부합니다. +`openai` Codex 풀의 임계값을 제어하거나 일반 OAuth 풀의 임계값을 저장합니다. `on`은 80%, `off`는 0%, `threshold `은 0–100을 저장합니다. 일반 풀의 임계값은 현재 동작에 적용되지 않습니다. 저장해도 임계값 기반 전환이나 제공자 활성화 설정이 바뀌지 않고, 429 오류에 따른 회전도 비활성화되지 않습니다. 일반 풀의 조회와 변경 결과는 서버가 확인한 값을 사용합니다. 일반 풀의 `poolEnabled`는 저장된 제공자별 설정이며 `null`은 미지정입니다. 전역 설정을 상속한 실제 상태를 뜻하지 않습니다. `inert: true`이면 임계값이 적용되지 않으며, 기능 지원을 알 수 없을 때도 `enabled: true`로 표시하지 않습니다. API 키 제공자, Anthropic 및 잘못된 값은 거부합니다. ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/reference/cli/providers-accounts.md b/docs-site/src/content/docs/reference/cli/providers-accounts.md index 7b9d9da16c..b31c0f3159 100644 --- a/docs-site/src/content/docs/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/reference/cli/providers-accounts.md @@ -331,11 +331,11 @@ instead (exit 0), matching the dashboard's quota bars. ### `ocx account auto-switch > [--json]` -Controls the `openai` Codex pool threshold, or stores a threshold for a generic OAuth pool. `on` stores 80%, `off` stores 0%, and `threshold ` accepts 0–100. Generic pool thresholds are currently inert: saving one does not enable threshold-based switching, change the provider enablement override, or disable reactive 429 rotation. `status` and mutation output use the confirmed server response. For generic pools, `poolEnabled` is the stored provider override (`null` means unspecified), not inherited effective state; `inert: true` means the threshold is not applied, and unknown capability never reports `enabled: true`. API-key providers, Anthropic and invalid values are rejected. +Controls the `openai` Codex pool threshold, or stores a threshold for a generic OAuth pool. `on` stores 80%, `off` stores 0%, and `threshold ` accepts 0–100. Generic pool thresholds are currently inert: saving one does not enable threshold-based switching, change the provider enablement override, or disable reactive 429 rotation. `status` and mutation output for generic pools use the confirmed server response. For generic pools, `poolEnabled` is the stored provider override (`null` means unspecified), not inherited effective state; `inert: true` means the threshold is not applied, and unknown capability never reports `enabled: true`. API-key providers, Anthropic and invalid values are rejected. ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md index 1e011a0dd5..56bde92668 100644 --- a/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ru/reference/cli/providers-accounts.md @@ -187,11 +187,11 @@ quota-bar'ов дашборда. ### `ocx account auto-switch > [--json]` -Управляет порогом пула Codex `openai` или сохраняет порог общего пула OAuth. `on` сохраняет 80 %, `off` — 0 %, а `threshold ` принимает 0–100. Пороги общих пулов пока не применяются: сохранение не включает переключение по порогу, не меняет настройку включения провайдера и не отключает ротацию после ошибки 429. Результат чтения и изменения берётся из подтверждённого ответа сервера. Для общего пула `poolEnabled` — сохранённая настройка провайдера (`null` означает отсутствие настройки), а не итоговое унаследованное состояние. `inert: true` означает, что порог не применяется; неизвестная возможность также не даёт `enabled: true`. Провайдеры с ключом API, Anthropic и неверные значения отклоняются. +Управляет порогом пула Codex `openai` или сохраняет порог общего пула OAuth. `on` сохраняет 80 %, `off` — 0 %, а `threshold ` принимает 0–100. Пороги общих пулов пока не применяются: сохранение не включает переключение по порогу, не меняет настройку включения провайдера и не отключает ротацию после ошибки 429. Для общего пула результат чтения и изменения берётся из подтверждённого ответа сервера. Для общего пула `poolEnabled` — сохранённая настройка провайдера (`null` означает отсутствие настройки), а не итоговое унаследованное состояние. `inert: true` означает, что порог не применяется; неизвестная возможность также не даёт `enabled: true`. Провайдеры с ключом API, Anthropic и неверные значения отклоняются. ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md b/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md index 92c0cbd2a8..f611d7be73 100644 --- a/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/tr/reference/cli/providers-accounts.md @@ -229,11 +229,11 @@ eşleşen null veya eski bir rapora düşer (çıkış 0). ### `ocx account auto-switch > [--json]` -`openai` Codex havuzunun eşiğini yönetir veya genel OAuth havuzunun eşiğini kaydeder. `on` %80, `off` %0 kaydeder; `threshold ` 0–100 kabul eder. Genel havuz eşikleri şu anda uygulanmaz: kayıt işlemi eşik tabanlı geçişi, sağlayıcının etkinlik ayarını veya 429 hatasından sonraki otomatik hesap değişimini etkilemez. Çıktı sunucunun doğruladığı değerleri kullanır. Genel havuzlarda `poolEnabled`, kaydedilmiş sağlayıcı ayarıdır (`null` belirtilmemiş demektir); devralınmış etkin durumu göstermez. `inert: true`, eşiğin uygulanmadığını belirtir; yetenek bilinmiyorsa `enabled: true` bildirilmez. API anahtarlı sağlayıcılar, Anthropic ve geçersiz değerler reddedilir. +`openai` Codex havuzunun eşiğini yönetir veya genel OAuth havuzunun eşiğini kaydeder. `on` %80, `off` %0 kaydeder; `threshold ` 0–100 kabul eder. Genel havuz eşikleri şu anda uygulanmaz: kayıt işlemi eşik tabanlı geçişi, sağlayıcının etkinlik ayarını veya 429 hatasından sonraki otomatik hesap değişimini etkilemez. Genel havuz çıktısı sunucunun doğruladığı değerleri kullanır. Genel havuzlarda `poolEnabled`, kaydedilmiş sağlayıcı ayarıdır (`null` belirtilmemiş demektir); devralınmış etkin durumu göstermez. `inert: true`, eşiğin uygulanmadığını belirtir; yetenek bilinmiyorsa `enabled: true` bildirilmez. API anahtarlı sağlayıcılar, Anthropic ve geçersiz değerler reddedilir. ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md b/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md index a05d6cd65b..85633f54f5 100644 --- a/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md @@ -169,11 +169,11 @@ token,也不是简单重读账号列表。`--json` 返回 ### `ocx account auto-switch > [--json]` -控制 `openai` Codex 账户池阈值,或保存通用 OAuth 账户池阈值。`on` 保存 80%,`off` 保存 0%,`threshold ` 接受 0–100。通用池的阈值目前不参与运行;保存阈值不会启用阈值切换、改变提供方启用设置或禁用 429 错误后的轮换。查询和修改结果使用服务器确认值。通用池的 `poolEnabled` 是已保存的提供方设置,`null` 表示未指定,并不代表继承后的实际状态。`inert: true` 表示阈值未应用;能力未知时也不会报告 `enabled: true`。API 密钥提供方、Anthropic 和无效值会被拒绝。 +控制 `openai` Codex 账户池阈值,或保存通用 OAuth 账户池阈值。`on` 保存 80%,`off` 保存 0%,`threshold ` 接受 0–100。通用池的阈值目前不参与运行;保存阈值不会启用阈值切换、改变提供方启用设置或禁用 429 错误后的轮换。通用池的查询和修改结果使用服务器确认值。通用池的 `poolEnabled` 是已保存的提供方设置,`null` 表示未指定,并不代表继承后的实际状态。`inert: true` 表示阈值未应用;能力未知时也不会报告 `enabled: true`。API 密钥提供方、Anthropic 和无效值会被拒绝。 ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account priority [<-100..100|first|earlier|normal|later|last|reset>] [--json]` diff --git a/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md b/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md index 2a1d55176c..c50a6d54ae 100644 --- a/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md @@ -129,11 +129,11 @@ Codex 池選擇套用於清除既有親和性後的下一個請求;進行中 ### `ocx account auto-switch > [--json]` -控制 `openai` Codex 帳戶池閾值,或儲存通用 OAuth 帳戶池閾值。`on` 儲存 80%,`off` 儲存 0%,`threshold ` 接受 0–100。通用池的閾值目前不參與執行;儲存閾值不會啟用閾值切換、改變供應商啟用設定或停用 429 錯誤後的輪替。查詢與修改結果使用伺服器確認值。通用池的 `poolEnabled` 是已儲存的供應商設定,`null` 表示未指定,並不代表繼承後的實際狀態。`inert: true` 表示閾值未套用;能力未知時也不會回報 `enabled: true`。API 金鑰供應商、Anthropic 與無效值會被拒絕。 +控制 `openai` Codex 帳戶池閾值,或儲存通用 OAuth 帳戶池閾值。`on` 儲存 80%,`off` 儲存 0%,`threshold ` 接受 0–100。通用池的閾值目前不參與執行;儲存閾值不會啟用閾值切換、改變供應商啟用設定或停用 429 錯誤後的輪替。通用池的查詢與修改結果使用伺服器確認值。通用池的 `poolEnabled` 是已儲存的供應商設定,`null` 表示未指定,並不代表繼承後的實際狀態。`inert: true` 表示閾值未套用;能力未知時也不會回報 `enabled: true`。API 金鑰供應商、Anthropic 與無效值會被拒絕。 ```text openai: { provider, autoSwitchThreshold: number, enabled: boolean } -generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: boolean | null } +generic OAuth: { provider, autoSwitchThreshold: number | null, enabled: boolean, poolEnabled: boolean | null, inert: true | null } ``` ### `ocx account login|reauth|code|cancel ...` diff --git a/src/cli/account-extended.ts b/src/cli/account-extended.ts index d8ec552dca..38179aca42 100644 --- a/src/cli/account-extended.ts +++ b/src/cli/account-extended.ts @@ -379,15 +379,17 @@ export async function cmdAutoSwitch(args: string[], deps: AccountDeps): Promise< if (response.status !== 200 || (!genericPool && typeof response.json.autoSwitchThreshold !== "number")) { return apiError(response.json, "failed to read auto-switch status", response.status); } - settings = response.json; - threshold = typeof response.json.autoSwitchThreshold === "number" ? response.json.autoSwitchThreshold : 0; + settings = genericPool && (!response.json || typeof response.json !== "object" || Array.isArray(response.json)) + ? {} : response.json; + threshold = typeof settings.autoSwitchThreshold === "number" ? settings.autoSwitchThreshold : 0; } else { const response = genericPool ? await apiJson(deps, baseUrl, "PUT", "/api/oauth/accounts/pool", { provider: name, autoSwitchThreshold: threshold }) : await apiJson(deps, baseUrl, "PUT", "/api/codex-auth/auto-switch", { threshold }); if (response.status === 0) return proxyUnreachable(response.transportError); if (response.status !== 200) return apiError(response.json, "failed to update auto-switch", response.status); - settings = response.json; + settings = genericPool && (!response.json || typeof response.json !== "object" || Array.isArray(response.json)) + ? {} : response.json; } if (genericPool) { // Generic thresholds are stored independently of the enabled override. The @@ -396,15 +398,14 @@ export async function cmdAutoSwitch(args: string[], deps: AccountDeps): Promise< const storedThreshold = typeof stored === "number" && Number.isInteger(stored) && stored >= 0 && stored <= 100 ? stored : null; const poolEnabled = typeof settings.enabled === "boolean" ? settings.enabled : null; - const inert = typeof settings.inert === "boolean" ? settings.inert : null; - const enabled = inert === false && poolEnabled === true && storedThreshold !== null && storedThreshold > 0; + const inert = settings.inert === true ? true : null; + // This CLI understands only the current inert generic threshold contract. + const enabled = false; if (wantsJson) { console.log(JSON.stringify({ provider: name, autoSwitchThreshold: storedThreshold, enabled, poolEnabled, inert }, null, 2)); - } else if (inert !== false) { + } else { const value = storedThreshold === null ? "unset" : `${storedThreshold}%`; console.log(`auto-switch: ${inert === true ? "inactive" : "unavailable"} (stored threshold ${value}; ${inert === true ? "not applied by this pool" : "threshold support is unknown"})`); - } else { - console.log(enabled ? `auto-switch: on (threshold ${storedThreshold}%)` : "auto-switch: off"); } return 0; } diff --git a/tests/cli/cli-account-pool-verbs.test.ts b/tests/cli/cli-account-pool-verbs.test.ts index f46951cca5..04be2e4fa6 100644 --- a/tests/cli/cli-account-pool-verbs.test.ts +++ b/tests/cli/cli-account-pool-verbs.test.ts @@ -382,15 +382,17 @@ describe("generic OAuth pool-settings contract (#695)", () => { json: { ok: true, enabled: null, autoSwitchThreshold: null, inert: true }, }), calls))).toBe(0); } finally { out.restore(); } - expect(calls[0]).toMatchObject({ method: "PUT", body: { provider: "google-antigravity", autoSwitchThreshold: 80 } }); + expect(calls).toHaveLength(1); + expect(calls[0]?.body).toEqual({ provider: "google-antigravity", autoSwitchThreshold: 80 }); expect(JSON.parse(out.lines.join("\n"))).toEqual({ provider: "google-antigravity", autoSwitchThreshold: null, enabled: false, poolEnabled: null, inert: true, }); }); test("generic missing or malformed capability stays unknown rather than enabled", async () => { - for (const json of [{}, { enabled: "true", autoSwitchThreshold: "90", inert: "false" }, - { enabled: true, autoSwitchThreshold: 90 }, { enabled: true, autoSwitchThreshold: 101, inert: false }]) { + for (const json of [null, [], {}, { enabled: "true", autoSwitchThreshold: "90", inert: "false" }, + { enabled: true, autoSwitchThreshold: 90 }, { enabled: true, autoSwitchThreshold: 101, inert: false }, + { enabled: true, autoSwitchThreshold: 90, inert: false }]) { const out = capture(); try { expect(await cmdAutoSwitch(["google-antigravity", "status", "--json"], genericDeps(() => ({ json }), []))).toBe(0); @@ -401,6 +403,19 @@ describe("generic OAuth pool-settings contract (#695)", () => { } }); + test("a successful generic write with a null body reports unknown settings", async () => { + const calls: Captured[] = []; + const out = capture(); + try { + expect(await cmdAutoSwitch(["google-antigravity", "off", "--json"], genericDeps(() => ({ json: null }), calls))).toBe(0); + } finally { out.restore(); } + expect(calls).toHaveLength(1); + expect(calls[0]?.body).toEqual({ provider: "google-antigravity", autoSwitchThreshold: 0 }); + expect(JSON.parse(out.lines.join("\n"))).toEqual({ + provider: "google-antigravity", autoSwitchThreshold: null, enabled: false, poolEnabled: null, inert: null, + }); + }); + test("an inert zero threshold remains distinct from an unset threshold", async () => { for (const autoSwitchThreshold of [0, null]) { const out = capture(); From e23eb63b81343f5ff98f8adee0a35ce6c29ad391 Mon Sep 17 00:00:00 2001 From: t Date: Mon, 7 Sep 2026 01:48:26 +0900 Subject: [PATCH 3/4] fix(gui): render subscription credit quota bars consistently Carries #3728 with raw-label and partial-coverage preservation. Co-authored-by: Yumi Co-authored-by: SB Yoon <44089734+yansigit@users.noreply.github.com> --- gui/src/components/QuotaBars.tsx | 58 ++++++++++-- tests/gui/quota-bars-rows.test.ts | 142 ++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+), 5 deletions(-) diff --git a/gui/src/components/QuotaBars.tsx b/gui/src/components/QuotaBars.tsx index 2715f48608..8b8fd9c4e6 100644 --- a/gui/src/components/QuotaBars.tsx +++ b/gui/src/components/QuotaBars.tsx @@ -20,15 +20,38 @@ export type QuotaBarRow = { /** * Window ordering is computed from RAW wire identities BEFORE localization * (ranking on translated labels breaks the moment a locale changes copy): - * shorter windows first — 5h, weekly, cursor first-party, cursor API, monthly. + * shorter windows first — 5h, weekly, cursor first-party, cursor API, monthly, + * then subscription credits before other custom windows. */ function rawCustomWindowRank(rawLabel: string): number { if (rawLabel === "5h") return 0; if (rawLabel === "First-party models") return 2; if (rawLabel === "API usage") return 3; + if (rawLabel === "Total subscription credits") return 4.5; return 5; } +const SUBSCRIPTION_CREDITS_LABEL = "Total subscription credits"; + +function canonicalCustomWindowLabel(rawLabel: string): string { + return rawLabel.trim().toLowerCase() === SUBSCRIPTION_CREDITS_LABEL.toLowerCase() + ? SUBSCRIPTION_CREDITS_LABEL + : rawLabel; +} + +/** Coverage metadata carries raw labels, while subscription rows use a canonical identity. */ +export function isCustomQuotaWindowIncomplete( + customLabel: string | undefined, + incompleteLabels?: ReadonlySet, +): boolean { + if (customLabel === undefined || !incompleteLabels) return false; + const canonical = canonicalCustomWindowLabel(customLabel); + for (const label of incompleteLabels) { + if (canonicalCustomWindowLabel(label) === canonical) return true; + } + return false; +} + function localizeCustomQuotaLabel(rawLabel: string, t: TFn): string { switch (rawLabel) { case "First-party models": @@ -84,11 +107,12 @@ export function buildQuotaRows(quota: AccountQuota | null, plan: string | null | }); } for (const w of displayQuota.customWindows ?? []) { - const localized = localizeCustomQuotaLabel(w.label, t); + const customLabel = canonicalCustomWindowLabel(w.label); + const localized = localizeCustomQuotaLabel(customLabel, t); ranked.push({ - rank: rawCustomWindowRank(w.label), + rank: rawCustomWindowRank(customLabel), row: { - customLabel: w.label, + customLabel, label: localized, limitLabel: localized, percent: w.percent, @@ -96,6 +120,24 @@ export function buildQuotaRows(quota: AccountQuota | null, plan: string | null | }, }); } + if (displayQuota.creditsUsd && typeof displayQuota.creditsUsd.percent === "number") { + const hasSubscriptionCreditsCustom = displayQuota.customWindows?.some( + w => canonicalCustomWindowLabel(w.label) === SUBSCRIPTION_CREDITS_LABEL, + ); + if (!hasSubscriptionCreditsCustom) { + const localized = localizeCustomQuotaLabel(SUBSCRIPTION_CREDITS_LABEL, t); + ranked.push({ + rank: rawCustomWindowRank(SUBSCRIPTION_CREDITS_LABEL), + row: { + customLabel: SUBSCRIPTION_CREDITS_LABEL, + label: localized, + limitLabel: localized, + percent: displayQuota.creditsUsd.percent, + resetAt: displayQuota.creditsUsd.expiresAt, + }, + }); + } + } return ranked.sort((a, b) => a.rank - b.rank).map(entry => entry.row); } @@ -107,6 +149,12 @@ export function maxQuotaUtilisation(quota: AccountQuota | null): number { for (const w of quota.customWindows ?? []) { if (typeof w.percent === "number") vals.push(w.percent); } + const hasSubscriptionCreditsCustom = quota.customWindows?.some( + w => canonicalCustomWindowLabel(w.label) === SUBSCRIPTION_CREDITS_LABEL, + ); + if (!hasSubscriptionCreditsCustom && typeof quota.creditsUsd?.percent === "number") { + vals.push(quota.creditsUsd.percent); + } return vals.length ? Math.max(...vals) : -1; } @@ -279,7 +327,7 @@ export default function QuotaBars({ locale={locale} incomplete={row.windowKey ? incompleteWindowKeys?.has(row.windowKey) === true - : row.customLabel !== undefined && incompleteCustomWindowLabels?.has(row.customLabel) === true} + : isCustomQuotaWindowIncomplete(row.customLabel, incompleteCustomWindowLabels)} /> ))} diff --git a/tests/gui/quota-bars-rows.test.ts b/tests/gui/quota-bars-rows.test.ts index 57ddd47cfd..8ca5a27579 100644 --- a/tests/gui/quota-bars-rows.test.ts +++ b/tests/gui/quota-bars-rows.test.ts @@ -3,6 +3,7 @@ import { barWidth, buildQuotaRows, formatResetFuture, + isCustomQuotaWindowIncomplete, isQuotaExhausted, isQuotaWarn, maxQuotaUtilisation, @@ -69,6 +70,102 @@ describe("buildQuotaRows (WP070)", () => { expect(rows.map(r => r.label)).toEqual(["quota.totalSubscriptionCredits"]); }); + test("direct creditsUsd renders Total subscription credits with resetAt", () => { + const reported = quota({ + creditsUsd: { used: 89.96, limit: 90, remaining: 0.04, percent: 99.96, expiresAt: 1790430938000 }, + }); + expect(buildQuotaRows(reported, null, t)).toEqual([{ + customLabel: "Total subscription credits", + label: "quota.totalSubscriptionCredits", + limitLabel: "quota.totalSubscriptionCredits", + percent: 99.96, + resetAt: 1790430938000, + }]); + expect(maxQuotaUtilisation(reported)).toBe(99.96); + }); + + test("zero direct credit usage remains a row without an invented expiry", () => { + const reported = quota({ + creditsUsd: { used: 0, limit: 100, remaining: 100, percent: 0 }, + }); + const rows = buildQuotaRows(reported, null, t); + expect(rows).toHaveLength(1); + expect(rows[0]?.customLabel).toBe("Total subscription credits"); + expect(rows[0]?.percent).toBe(0); + expect(rows[0]?.resetAt).toBeUndefined(); + expect(maxQuotaUtilisation(reported)).toBe(0); + }); + + test("subscription credits rank after monthly and before other custom windows", () => { + const rows = buildQuotaRows(quota({ + fiveHourPercent: 10, + weeklyPercent: 40, + monthlyPercent: 70, + customWindows: [ + { label: "Gem", percent: 1 }, + { label: "API usage", percent: 55 }, + { label: "First-party models", percent: 25 }, + ], + creditsUsd: { used: 80, limit: 100, remaining: 20, percent: 80 }, + }), null, t); + expect(rows.map(r => r.limitLabel)).toEqual([ + "quota.fiveHourLimit", + "quota.weeklyLimit", + "quota.cursorFirstParty", + "quota.cursorApiUsage", + "quota.monthlyLimit", + "quota.totalSubscriptionCredits", + "Gem", + ]); + }); + + test.each(["Total subscription credits", " TOTAL SUBSCRIPTION CREDITS "])( + "direct creditsUsd does not duplicate the canonical custom window: %s", + label => { + const customOnly = quota({ customWindows: [{ label, percent: 25, resetAt: 1790430938000 }] }); + const withDirect = quota({ + ...customOnly, + creditsUsd: { used: 99, limit: 100, remaining: 1, percent: 99, expiresAt: 1790517338000 }, + }); + for (const reported of [customOnly, withDirect]) { + expect(buildQuotaRows(reported, null, t)).toEqual([{ + customLabel: "Total subscription credits", + label: "quota.totalSubscriptionCredits", + limitLabel: "quota.totalSubscriptionCredits", + percent: 25, + resetAt: 1790430938000, + }]); + } + }, + ); + + test("unrelated credit windows keep their raw identity and do not suppress direct credits", () => { + const reported = quota({ + customWindows: [ + { label: "API credits", percent: 20 }, + { label: " Gem ", percent: 10 }, + ], + creditsUsd: { used: 50, limit: 100, remaining: 50, percent: 50 }, + }); + const rows = buildQuotaRows(reported, null, t); + expect(rows.map(r => r.label)).toEqual(["quota.totalSubscriptionCredits", "API credits", " Gem "]); + expect(rows.map(r => r.customLabel)).toEqual(["Total subscription credits", "API credits", " Gem "]); + expect(maxQuotaUtilisation(reported)).toBe(50); + }); + + test.each(["go", "free"])("30-day plan %s retains direct credits after normalization", plan => { + const rows = buildQuotaRows(quota({ + shortPercent: 10, + shortWindowSeconds: 5 * 60 * 60, + weeklyPercent: 30, + monthlyPercent: 60, + customWindows: [{ label: "Total subscription credits", percent: 99 }], + creditsUsd: { used: 80, limit: 100, remaining: 20, percent: 80 }, + }), plan, t); + expect(rows.map(r => r.limitLabel)).toEqual(["quota.monthlyLimit", "quota.totalSubscriptionCredits"]); + expect(rows.map(r => r.percent)).toEqual([60, 80]); + }); + test("null and empty quotas produce no rows; 30-day plans strip to monthly", () => { expect(buildQuotaRows(null, null, t)).toEqual([]); expect(buildQuotaRows(quota({}), null, t)).toEqual([]); @@ -93,6 +190,51 @@ describe("maxQuotaUtilisation", () => { fiveHourPercent: 10, customWindows: [{ label: "x", percent: 95 }], }))).toBe(95); + expect(maxQuotaUtilisation(quota({ + fiveHourPercent: 0, + weeklyPercent: 0, + creditsUsd: { used: 90, limit: 90, remaining: 0, percent: 100 }, + }))).toBe(100); + }); + + test.each(["Total subscription credits", " total subscription credits "])( + "subscription-credit urgency follows the visible custom window: %s", + label => { + expect(maxQuotaUtilisation(quota({ + customWindows: [{ label, percent: 25 }], + creditsUsd: { used: 99, limit: 100, remaining: 1, percent: 99 }, + }))).toBe(25); + }, + ); +}); + +describe("isCustomQuotaWindowIncomplete", () => { + test("canonical subscription rows retain raw-label coverage metadata", () => { + const rows = buildQuotaRows(quota({ + customWindows: [{ label: " TOTAL SUBSCRIPTION CREDITS ", percent: 25 }], + }), null, t); + expect(rows[0]?.customLabel).toBe("Total subscription credits"); + expect(isCustomQuotaWindowIncomplete( + rows[0]?.customLabel, + new Set(["API credits", " TOTAL SUBSCRIPTION CREDITS "]), + )).toBe(true); + expect(isCustomQuotaWindowIncomplete( + " total subscription credits ", + new Set(["Total subscription credits"]), + )).toBe(true); + }); + + test("absent and unrelated coverage does not mark a subscription row incomplete", () => { + expect(isCustomQuotaWindowIncomplete(undefined, new Set(["Total subscription credits"]))).toBe(false); + expect(isCustomQuotaWindowIncomplete("Total subscription credits")).toBe(false); + expect(isCustomQuotaWindowIncomplete("Total subscription credits", new Set())).toBe(false); + expect(isCustomQuotaWindowIncomplete("Total subscription credits", new Set(["API credits"]))).toBe(false); + }); + + test("unknown window coverage preserves exact raw-label matching", () => { + expect(isCustomQuotaWindowIncomplete(" Gem ", new Set([" Gem "]))).toBe(true); + expect(isCustomQuotaWindowIncomplete(" Gem ", new Set(["Gem"]))).toBe(false); + expect(isCustomQuotaWindowIncomplete("Gem", new Set(["gem"]))).toBe(false); }); }); From 20d84d30d233f503dfb7253ff5c20e579e698855 Mon Sep 17 00:00:00 2001 From: t Date: Mon, 7 Sep 2026 01:55:06 +0900 Subject: [PATCH 4/4] fix(gui): keep subscription quota rows readable in narrow cards --- .../pr-screenshots/t4-credit-bars-81a8.png | Bin 0 -> 194622 bytes gui/src/components/QuotaBars.tsx | 6 ++++-- gui/src/styles/provider-quota.css | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 docs-site/public/pr-screenshots/t4-credit-bars-81a8.png diff --git a/docs-site/public/pr-screenshots/t4-credit-bars-81a8.png b/docs-site/public/pr-screenshots/t4-credit-bars-81a8.png new file mode 100644 index 0000000000000000000000000000000000000000..3d63f634b79ed17b4ee531a1a63031dc640bedb3 GIT binary patch literal 194622 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%0DP}9yD{q3F9&!);_#|2!CwcX|gGY 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 literal 0 HcmV?d00001 diff --git a/gui/src/components/QuotaBars.tsx b/gui/src/components/QuotaBars.tsx index 8b8fd9c4e6..a1a32e1cfa 100644 --- a/gui/src/components/QuotaBars.tsx +++ b/gui/src/components/QuotaBars.tsx @@ -339,6 +339,7 @@ export default function QuotaBars({ {rows.map(row => ( +
{label} {hasReset ? t("codexAuth.resets") : ""} {reset.day} diff --git a/gui/src/styles/provider-quota.css b/gui/src/styles/provider-quota.css index 05f616b20c..37fb87223a 100644 --- a/gui/src/styles/provider-quota.css +++ b/gui/src/styles/provider-quota.css @@ -101,3 +101,18 @@ color: var(--amber); font-size: 12px; } + +/* Long subscription labels and reset/value text need separate rows in narrow cards. */ +.quota-compact { container: quota-compact / inline-size; } +@container quota-compact (max-width: 440px) { + .quota-row--credits { + grid-template-columns: max-content max-content minmax(0, 1fr) max-content; + row-gap: 4px; + } + .quota-row--credits .quota-label { grid-column: 1 / -1; grid-row: 1; } + .quota-row--credits .quota-reset-label { grid-column: 1; grid-row: 2; } + .quota-row--credits .quota-reset-day { grid-column: 2; grid-row: 2; } + .quota-row--credits .quota-reset-time { grid-column: 3 / -1; grid-row: 2; } + .quota-row--credits .bar { grid-column: 1 / 4; grid-row: 3; } + .quota-row--credits .quota-val { grid-column: 4; grid-row: 3; white-space: nowrap; } +}