diff options
| -rw-r--r-- | packages/core/src/credentials/claude.ts | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/core/src/credentials/claude.ts b/packages/core/src/credentials/claude.ts index cc6daec..e4cc1f9 100644 --- a/packages/core/src/credentials/claude.ts +++ b/packages/core/src/credentials/claude.ts @@ -462,8 +462,15 @@ async function fetchClaudeUsage(accessToken: string): Promise<ClaudeUsageReport } } +const usageCacheMap = new Map<string, ClaudeUsageReport>(); + export async function getAccountUsage(account: ClaudeAccount): Promise<ClaudeUsageReport | null> { const creds = await refreshAccountCredentialsAsync(account); - if (!creds) return null; - return fetchClaudeUsage(creds.accessToken); + if (!creds) return usageCacheMap.get(account.id) ?? null; + const report = await fetchClaudeUsage(creds.accessToken); + if (report) { + usageCacheMap.set(account.id, report); + return report; + } + return usageCacheMap.get(account.id) ?? null; }
\ No newline at end of file |
