From 79a91359ea1d37976b74aabd83fc0e1af9783c93 Mon Sep 17 00:00:00 2001 From: luvs01 <27862058+luvs01@users.noreply.github.com> Date: Sun, 2 Aug 2026 15:53:30 +0900 Subject: [PATCH 01/10] feat(gui): show weighted Codex pool capacity Use configured plan weights to summarize routable Codex quota windows while retaining effective-account raw quota and incomplete coverage. Show next capacity recovery as a share of the weighted pool without changing routing or account selection. Refs #874 --- .../ProviderOverviewDashboard.tsx | 68 +++++- gui/src/i18n/de.ts | 5 + gui/src/i18n/en.ts | 5 + gui/src/i18n/ja.ts | 5 + gui/src/i18n/ko.ts | 5 + gui/src/i18n/ru.ts | 5 + gui/src/i18n/zh.ts | 5 + gui/src/provider-workspace/report.ts | 106 +++++++-- .../styles/provider-overview-dashboard.css | 39 ++++ gui/tests/provider-capacity.test.ts | 41 ++++ src/codex/auth-api.ts | 4 + src/providers/codex-capacity.ts | 219 ++++++++++++++++++ src/providers/quota.ts | 33 ++- tests/provider-capacity.test.ts | 101 ++++++++ tests/provider-quota.test.ts | 16 +- 15 files changed, 623 insertions(+), 34 deletions(-) create mode 100644 gui/tests/provider-capacity.test.ts create mode 100644 src/providers/codex-capacity.ts create mode 100644 tests/provider-capacity.test.ts diff --git a/gui/src/components/provider-workspace/ProviderOverviewDashboard.tsx b/gui/src/components/provider-workspace/ProviderOverviewDashboard.tsx index b4d188da50..5ae0d6c5b3 100644 --- a/gui/src/components/provider-workspace/ProviderOverviewDashboard.tsx +++ b/gui/src/components/provider-workspace/ProviderOverviewDashboard.tsx @@ -7,7 +7,12 @@ import { useMemo } from "react"; import { useT, useI18n } from "../../i18n/shared"; import { IconAlert, IconChevron } from "../../icons"; import type { WorkspaceSections, WorkspaceItem } from "../../provider-workspace/catalog"; -import { accountQuotaFromReport, type ProviderQuotaReportView } from "../../provider-workspace/report"; +import { + accountQuotaFromReport, + capacityAggregationFromReport, + type CapacityWindowView, + type ProviderQuotaReportView, +} from "../../provider-workspace/report"; import { attentionReasonKey, buildAttentionItems, @@ -162,13 +167,7 @@ export default function ProviderOverviewDashboard({