Henry Moran
543b2a2dd1
feat(usage): add xAI quota reporting
packages/ui/src/components/sections/usage/UsagePage.tsx\n - What: Show selected configured-provider errors in Usage settings.\n - Why: Preserve provider-specific failures when another provider succeeds.\n\npackages/ui/src/lib/quota/providers/index.ts\n - What: Register xAI in shared quota metadata.\n - Why: Expose xAI across shared usage surfaces.\n\npackages/ui/src/types/quota.ts\n - What: Add xAI to the quota provider contract.\n - Why: Allow typed xAI results across runtimes.\n\npackages/vscode/src/opencodeAuth.ts\n - What: Preserve secure auth-file persistence for refreshed xAI credentials.\n - Why: Reuse the VS Code auth boundary safely.\n\npackages/vscode/src/quotaProviders.ts\n - What: Add xAI SuperGrok quota fetching, refresh, parsing, and failure isolation.\n - Why: Provide VS Code usage parity.\n\npackages/web/server/lib/opencode/auth.js\n - What: Enforce secure auth directory, auth file, and backup permissions.\n - Why: Protect refreshed OAuth credentials.\n\npackages/web/server/lib/quota/DOCUMENTATION.md\n - What: Document the xAI quota provider.\n - Why: Keep provider ownership documentation current.\n\npackages/web/server/lib/quota/providers/index.js\n - What: Register the xAI web quota adapter.\n - Why: Expose xAI through the existing quota route.\n\npackages/web/server/lib/quota/providers/xai.js\n - What: Add SuperGrok usage fetching, inherited OAuth refresh, strict parsing, and zero/error semantics.\n - Why: Report xAI billing-period usage without new auth architecture or credentials.
2026-08-04 14:40:44 -07:00
..
2026-07-18 00:11:05 +03:00
2026-06-23 21:52:51 +03:00
2026-08-04 14:40:44 -07:00
2026-07-24 21:54:28 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-06-26 19:27:53 +03:00
2026-06-26 19:37:45 +03:00
2026-08-03 08:53:06 +00:00
2026-08-02 10:12:28 +00:00
2026-08-04 19:14:58 +03:00
2026-08-03 09:12:35 +00:00
2026-08-03 09:12:35 +00:00
2026-08-03 15:04:48 +03:00
2026-06-11 01:06:25 +03:00
2026-06-11 01:06:25 +03:00
2026-08-03 16:37:54 +03:00
2026-08-03 16:37:54 +03:00
2026-06-24 16:51:17 +03:00
2026-07-05 23:19:10 +03:00
2026-07-07 19:49:11 +03:00
2026-07-07 19:49:11 +03:00
2026-06-26 19:27:53 +03:00
2026-05-25 19:20:04 +03:00
2026-07-15 14:02:12 +03:00
2026-05-25 19:20:04 +03:00
2026-05-25 19:20:04 +03:00
2026-05-25 19:20:04 +03:00
2026-05-25 19:20:04 +03:00
2026-05-25 19:20:04 +03:00
2026-05-25 19:20:04 +03:00
2026-06-24 00:43:11 +03:00
2026-06-24 00:43:11 +03:00
2026-05-12 11:10:39 +03:00
2026-05-12 11:10:39 +03:00
2026-08-02 11:40:02 +00:00
2026-08-03 08:22:30 +00:00
2026-08-04 19:14:58 +03:00
2026-06-24 00:43:11 +03:00
2026-05-13 10:35:12 +03:00
2026-05-13 10:35:12 +03:00
2026-07-29 19:59:41 +03:00
2026-08-02 11:40:02 +00:00
2026-06-24 16:51:17 +03:00
2026-07-29 17:26:11 +03:00
2026-06-05 13:36:39 +03:00
2026-07-21 20:52:20 +03:00
2026-07-21 20:52:20 +03:00
2026-08-02 16:22:55 +03:00
2026-07-29 19:38:48 +02:00
2026-07-13 01:43:35 +03:00
2026-07-13 01:43:35 +03:00
2026-07-21 20:52:20 +03:00
2026-07-21 20:52:20 +03:00
2026-08-03 08:22:30 +00:00
2026-07-17 10:30:45 +03:00
2026-08-03 09:55:56 +00:00
2026-08-03 11:05:27 +00:00
2026-08-03 09:25:25 +00:00
2026-08-03 09:55:56 +00:00
2026-06-26 19:27:53 +03:00
2026-05-23 20:51:45 +03:00
2026-07-31 12:51:15 +03:00
2026-07-31 12:51:15 +03:00
2026-07-31 12:51:15 +03:00
2026-07-24 21:54:28 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-07-12 00:46:41 +03:00
2026-07-30 20:07:08 +03:00
2026-07-29 19:59:41 +03:00