Feat: Add z.ai usage tracking

This commit is contained in:
eclipxe
2026-01-20 14:34:15 -08:00
committed by gsxdsm
parent 7d5bc722fa
commit ac2e8cfa88

View File

@@ -307,16 +307,16 @@ export function UsagePopover() {
const codexMaxPercentage = codexUsage?.rateLimits const codexMaxPercentage = codexUsage?.rateLimits
? Math.max( ? Math.max(
codexUsage.rateLimits.primary?.usedPercent || 0, codexUsage.rateLimits.primary?.usedPercent || 0,
codexUsage.rateLimits.secondary?.usedPercent || 0 codexUsage.rateLimits.secondary?.usedPercent || 0
) )
: 0; : 0;
const zaiMaxPercentage = zaiUsage?.quotaLimits const zaiMaxPercentage = zaiUsage?.quotaLimits
? Math.max( ? Math.max(
zaiUsage.quotaLimits.tokens?.usedPercent || 0, zaiUsage.quotaLimits.tokens?.usedPercent || 0,
zaiUsage.quotaLimits.mcp?.usedPercent || 0 zaiUsage.quotaLimits.mcp?.usedPercent || 0
) )
: 0; : 0;
// Gemini quota from Google Cloud API (if available) // Gemini quota from Google Cloud API (if available)
@@ -346,31 +346,31 @@ export function UsagePopover() {
const indicatorInfo = const indicatorInfo =
activeTab === 'claude' activeTab === 'claude'
? { ? {
icon: AnthropicIcon, icon: AnthropicIcon,
percentage: claudeSessionPercentage, percentage: claudeSessionPercentage,
isStale: isClaudeStale, isStale: isClaudeStale,
title: `Session usage (${CLAUDE_SESSION_WINDOW_HOURS}h window)`, title: `Session usage (${CLAUDE_SESSION_WINDOW_HOURS}h window)`,
} }
: activeTab === 'codex' : activeTab === 'codex'
? { ? {
icon: OpenAIIcon, icon: OpenAIIcon,
percentage: codexWindowUsage ?? 0, percentage: codexWindowUsage ?? 0,
isStale: isCodexStale, isStale: isCodexStale,
} }
: activeTab === 'zai' : activeTab === 'zai'
? { ? {
icon: ZaiIcon, icon: ZaiIcon,
percentage: zaiMaxPercentage, percentage: zaiMaxPercentage,
isStale: isZaiStale, isStale: isZaiStale,
title: `Usage (z.ai)`, title: `Usage (z.ai)`,
} }
: activeTab === 'gemini' : activeTab === 'gemini'
? { ? {
icon: GeminiIcon, icon: GeminiIcon,
percentage: geminiMaxPercentage, percentage: geminiMaxPercentage,
isStale: isGeminiStale, isStale: isGeminiStale,
title: `Usage (Gemini)`, title: `Usage (Gemini)`,
} }
: null; : null;
const statusColor = getStatusInfo(indicatorInfo.percentage).color; const statusColor = getStatusInfo(indicatorInfo.percentage).color;