feat(quota): add Command Code usage tracking

This commit is contained in:
Bohdan Triapitsyn
2026-08-18 16:24:02 +03:00
parent a01b7eec78
commit 17d08c0395
21 changed files with 345 additions and 0 deletions
+3
View File
@@ -2845,6 +2845,9 @@ export const dict = {
'quota.window.monthly': 'Monatliches Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Kreditguthaben',
'quota.window.monthlyCredits': 'Monatliche Credits',
'quota.window.purchasedCredits': 'Gekaufte Credits',
'quota.window.freeCredits': 'Kostenlose Credits',
'quota.window.billingCycle': 'Abrechnungszyklus',
'quota.window.auto': 'Automatisch',
'quota.window.api': 'API',
+3
View File
@@ -3023,6 +3023,9 @@ export const dict = {
'quota.window.monthly': 'Monthly Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Credits Balance',
'quota.window.monthlyCredits': 'Monthly Credits',
'quota.window.purchasedCredits': 'Purchased Credits',
'quota.window.freeCredits': 'Free Credits',
'quota.window.billingCycle': 'Billing Cycle',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
+3
View File
@@ -3024,6 +3024,9 @@ export const dict: Record<I18nKey, string> = {
"quota.window.monthly": "Monthly Limit",
"quota.window.credits": "Credits",
"quota.window.creditsBalance": "Credits Balance",
"quota.window.monthlyCredits": "Créditos mensuales",
"quota.window.purchasedCredits": "Créditos comprados",
"quota.window.freeCredits": "Créditos gratuitos",
"quota.window.billingCycle": "Billing Cycle",
"quota.window.auto": "Auto",
"quota.window.api": "API",
+3
View File
@@ -2716,6 +2716,9 @@ export const dict = {
'quota.window.monthly': 'Limite mensuelle',
'quota.window.credits': 'Crédits',
'quota.window.creditsBalance': 'Solde de crédits',
'quota.window.monthlyCredits': 'Crédits mensuels',
'quota.window.purchasedCredits': 'Crédits achetés',
'quota.window.freeCredits': 'Crédits gratuits',
'quota.window.billingCycle': 'Cycle de facturation',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
+3
View File
@@ -3019,6 +3019,9 @@ export const dict: Record<I18nKey, string> = {
'quota.window.monthly': '月間制限',
'quota.window.credits': 'クレジット',
'quota.window.creditsBalance': 'クレジット残高',
'quota.window.monthlyCredits': '月間クレジット',
'quota.window.purchasedCredits': '購入済みクレジット',
'quota.window.freeCredits': '無料クレジット',
'quota.window.billingCycle': '請求サイクル',
'quota.window.auto': '自動',
'quota.window.api': 'API',
+3
View File
@@ -3023,6 +3023,9 @@ export const dict: Record<I18nKey, string> = {
'quota.window.monthly': 'Monthly Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Credits Balance',
'quota.window.monthlyCredits': '월간 크레딧',
'quota.window.purchasedCredits': '구매한 크레딧',
'quota.window.freeCredits': '무료 크레딧',
'quota.window.billingCycle': 'Billing Cycle',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
+3
View File
@@ -3040,6 +3040,9 @@ export const dict: Record<I18nKey, string> = {
'quota.window.monthly': 'Monthly Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Credits Balance',
'quota.window.monthlyCredits': 'Kredyty miesięczne',
'quota.window.purchasedCredits': 'Kupione kredyty',
'quota.window.freeCredits': 'Darmowe kredyty',
'quota.window.billingCycle': 'Billing Cycle',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
@@ -3024,6 +3024,9 @@ export const dict: Record<I18nKey, string> = {
"quota.window.monthly": "Monthly Limit",
"quota.window.credits": "Credits",
"quota.window.creditsBalance": "Credits Balance",
"quota.window.monthlyCredits": "Créditos mensais",
"quota.window.purchasedCredits": "Créditos comprados",
"quota.window.freeCredits": "Créditos gratuitos",
"quota.window.billingCycle": "Billing Cycle",
"quota.window.auto": "Auto",
"quota.window.api": "API",
+3
View File
@@ -3024,6 +3024,9 @@ export const dict: Record<I18nKey, string> = {
"quota.window.monthly": "Monthly Limit",
"quota.window.credits": "Credits",
"quota.window.creditsBalance": "Credits Balance",
"quota.window.monthlyCredits": "Місячні кредити",
"quota.window.purchasedCredits": "Придбані кредити",
"quota.window.freeCredits": "Безкоштовні кредити",
"quota.window.billingCycle": "Billing Cycle",
"quota.window.auto": "Auto",
"quota.window.api": "API",
@@ -3024,6 +3024,9 @@ export const dict: Record<I18nKey, string> = {
'quota.window.monthly': 'Monthly Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Credits Balance',
'quota.window.monthlyCredits': '每月积分',
'quota.window.purchasedCredits': '已购买积分',
'quota.window.freeCredits': '免费积分',
'quota.window.billingCycle': 'Billing Cycle',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
@@ -3023,6 +3023,9 @@ export const dict: Record<I18nKey, string> = {
'quota.window.monthly': 'Monthly Limit',
'quota.window.credits': 'Credits',
'quota.window.creditsBalance': 'Credits Balance',
'quota.window.monthlyCredits': '每月點數',
'quota.window.purchasedCredits': '已購買點數',
'quota.window.freeCredits': '免費點數',
'quota.window.billingCycle': 'Billing Cycle',
'quota.window.auto': 'Auto',
'quota.window.api': 'API',
@@ -8,6 +8,7 @@ export interface QuotaProviderMeta {
export const QUOTA_PROVIDERS: QuotaProviderMeta[] = [
{ id: 'claude', name: 'Claude' },
{ id: 'codex', name: 'Codex' },
{ id: 'command-code', name: 'Command Code' },
{ id: 'cursor', name: 'Cursor' },
{ id: 'github-copilot', name: 'GitHub Copilot' },
{ id: 'google', name: 'Google' },
+3
View File
@@ -81,6 +81,9 @@ 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 === 'monthly_credits') return t('quota.window.monthlyCredits');
if (label === 'purchased_credits') return t('quota.window.purchasedCredits');
if (label === 'free_credits') return t('quota.window.freeCredits');
if (label === 'billing_cycle') return t('quota.window.billingCycle');
if (label === 'plan_limit') return t('quota.window.planLimit');
if (label === 'auto') return t('quota.window.auto');
+1
View File
@@ -1,6 +1,7 @@
export type QuotaProviderId =
| 'openai'
| 'codex'
| 'command-code'
| 'cursor'
| 'claude'
| 'github-copilot'