feat: add Cursor usage quota tracking

Adds Cursor as a supported quota provider
Reads Cursor auth from env, token files, or local app data
Improves Cursor usage labels in the UI
This commit is contained in:
Bohdan Triapitsyn
2026-06-11 00:16:48 +03:00
parent 7b33805ea0
commit b46153801b
16 changed files with 381 additions and 0 deletions
@@ -8,6 +8,7 @@ export interface QuotaProviderMeta {
export const QUOTA_PROVIDERS: QuotaProviderMeta[] = [
{ id: 'claude', name: 'Claude' },
{ id: 'codex', name: 'Codex' },
{ id: 'cursor', name: 'Cursor' },
{ id: 'github-copilot', name: 'GitHub Copilot' },
{ id: 'google', name: 'Google' },
{ id: 'kimi-for-coding', name: 'Kimi for Coding' },
+5
View File
@@ -82,6 +82,11 @@ export const formatWindowLabel = (label: string): string => {
if (label === 'monthly') return t('quota.window.monthly');
if (label === 'credits') return t('quota.window.credits');
if (label === 'credits_balance') return t('quota.window.creditsBalance');
if (label === 'billing_cycle') return t('quota.window.billingCycle');
if (label === 'auto') return t('quota.window.auto');
if (label === 'api') return t('quota.window.api');
if (label === 'plan_limit') return t('quota.window.planLimit');
if (label === 'on_demand') return t('quota.window.onDemand');
if (label === 'session') return t('quota.window.session');
if (label === 'premium') return t('quota.window.premium');
if (label === 'chat') return t('quota.window.chat');