feat: add Kiro (AWS CodeWhisperer) quota display support

- Add Kiro quota types (KiroFreeTrialInfo, KiroUsageBreakdown, KiroQuotaPayload, KiroQuotaState)
- Add Kiro API constants and request headers
- Add isKiroFile validator and parseKiroQuotaPayload parser
- Add KIRO_CONFIG with fetchKiroQuota and renderKiroItems
- Add kiroQuota state to useQuotaStore
- Add Kiro QuotaSection to QuotaPage
- Add Kiro styles (.kiroGrid, .kiroControls, .kiroControl, .kiroCard)
- Add i18n translations for kiro_quota (zh-CN and en)

Features:
- Separate display for base credits and bonus credits (freeTrialInfo)
- Total credits summary
- Correct parsing of seconds timestamp (scientific notation like 1.769904E9)
- Reset time display
- Subscription type display
This commit is contained in:
Lany798
2026-01-31 19:02:44 +08:00
parent dcdb20159b
commit f77cbad98e
11 changed files with 460 additions and 11 deletions

View File

@@ -375,6 +375,7 @@
"filter_claude": "Claude",
"filter_codex": "Codex",
"filter_antigravity": "Antigravity",
"filter_kiro": "Kiro",
"filter_iflow": "iFlow",
"filter_vertex": "Vertex",
"filter_empty": "Empty",
@@ -386,6 +387,7 @@
"type_claude": "Claude",
"type_codex": "Codex",
"type_antigravity": "Antigravity",
"type_kiro": "Kiro",
"type_iflow": "iFlow",
"type_vertex": "Vertex",
"type_empty": "Empty",
@@ -460,6 +462,23 @@
"fetch_all": "Fetch All",
"remaining_amount": "Remaining {{count}}"
},
"kiro_quota": {
"title": "Kiro Quota",
"empty_title": "No Kiro Auth Files",
"empty_desc": "Upload a Kiro credential to view remaining quota.",
"idle": "Not loaded. Click Refresh Button.",
"loading": "Loading quota...",
"load_failed": "Failed to load quota: {{message}}",
"missing_auth_index": "Auth file missing auth_index",
"empty_data": "No quota data available",
"refresh_button": "Refresh Quota",
"fetch_all": "Fetch All",
"subscription_label": "Subscription",
"base_credits_label": "Base Credits",
"bonus_credits_label": "Bonus Credits",
"total_credits_label": "Total Credits",
"remaining_credits": "Remaining {{count}}"
},
"vertex_import": {
"title": "Vertex JSON Login",
"description": "Upload a Google service account JSON to store it as auth-dir/vertex-<project>.json using the same rules as the CLI vertex-import helper.",