@slkiser/opencode-quota 3.1.1 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -194,7 +194,7 @@ Keep the `tui.json` or `tui.jsonc` entry above and disable toasts in `opencode.j
194
194
  <details>
195
195
  <summary><strong>Quick setup: Anthropic (Claude)</strong></summary>
196
196
 
197
- Anthropic quota support is local-first: it checks the local Claude CLI first, and if Claude auth is confirmed but local quota windows are missing, it falls back to Claude's local credentials file plus the Anthropic OAuth usage API.
197
+ Anthropic quota support is local-first: it checks the local Claude CLI first, and if Claude auth is confirmed but local quota windows are missing, it falls back to Claude OAuth credentials plus the Anthropic OAuth usage API.
198
198
 
199
199
  If Claude Code is already installed and authenticated, this usually works automatically. Otherwise:
200
200
 
@@ -205,7 +205,7 @@ If Claude Code is already installed and authenticated, this usually works automa
205
205
 
206
206
  If Claude lives at a custom path, set `experimental.quotaToast.anthropicBinaryPath`. The default is `claude`.
207
207
 
208
- When local CLI auth is present but local windows are missing, the plugin reads `~/.claude/.credentials.json`, extracts `claudeAiOauth.accessToken`, and queries Anthropic's OAuth usage endpoint. No manual Claude consumer token config is required.
208
+ When local CLI auth is present but local windows are missing, the plugin first checks the macOS Keychain service `Claude Code-credentials`, then falls back to `~/.claude/.credentials.json`, extracts `claudeAiOauth.accessToken`, and queries Anthropic's OAuth usage endpoint. No manual Claude consumer token config is required.
209
209
 
210
210
  If you use Anthropic via API key in OpenCode, model usage still works normally. This plugin only shows Anthropic quota rows when local Claude auth is present and either the CLI or the Claude OAuth fallback can provide quota windows. If Claude auth is present but both quota probes fail, `/quota`, toasts, and the sidebar surface a sanitized Anthropic error instead of silently skipping the provider.
211
211
 
@@ -319,7 +319,7 @@ Environment variables take precedence over the config file. Run `/quota_status`
319
319
  | Command | What it shows |
320
320
  | --------------------- | ---------------------------------------------------------------------------------------------------------------- |
321
321
  | `/quota` | Manual grouped quota report with a local call timestamp |
322
- | `/quota_status` | Concise diagnostics for config, TUI setup, provider availability, account detection, and pricing snapshot health |
322
+ | `/quota_status` | Concise diagnostics for config, TUI setup, provider availability, account detection, pricing snapshot health, and fresh compact live probe rows in matching provider sections |
323
323
  | `/pricing_refresh` | Pull the local runtime pricing snapshot from `models.dev` on demand |
324
324
  | `/tokens_today` | Tokens used today (calendar day) |
325
325
  | `/tokens_daily` | Tokens used in the last 24 hours |
@@ -332,6 +332,8 @@ Environment variables take precedence over the config file. Run `/quota_status`
332
332
 
333
333
  ## Provider-Specific Notes
334
334
 
335
+ `/quota_status` keeps each provider's existing diagnostics and, for enabled + available supported providers, also appends a fresh sanitized compact probe summary (`live_probe`, `live_entry_*`, `live_error_*`) in that provider's section. If a fresh probe returns nothing reportable, `/quota_status` shows `live_probe: no_data`. Qwen Code and Alibaba Coding Plan use dedicated `qwen_code` and `alibaba_coding_plan` compact probe sections because their auth and local-state diagnostics already live under `paths` and `cursor`.
336
+
335
337
  <a id="anthropic-notes"></a>
336
338
 
337
339
  <details>
@@ -339,10 +341,10 @@ Environment variables take precedence over the config file. Run `/quota_status`
339
341
 
340
342
  The plugin probes the local Claude CLI with `anthropicBinaryPath --version` and `anthropicBinaryPath auth status --json` first. By default `anthropicBinaryPath` is `claude`, so standard installs work without extra config.
341
343
 
342
- If the Claude CLI exposes 5-hour and 7-day quota windows in local structured output, the plugin shows them directly. If the CLI only exposes auth state, the plugin falls back to `~/.claude/.credentials.json` and Anthropic's OAuth usage endpoint. When Claude is authenticated but both quota probes fail, `/quota`, toasts, and the sidebar surface a sanitized Anthropic error instead of silently skipping the provider.
344
+ If the Claude CLI exposes 5-hour and 7-day quota windows in local structured output, the plugin shows them directly. If the CLI only exposes auth state, the plugin falls back to the macOS Keychain service `Claude Code-credentials` and then `~/.claude/.credentials.json` before calling Anthropic's OAuth usage endpoint. When Claude is authenticated but both quota probes fail, `/quota`, toasts, and the sidebar surface a sanitized Anthropic error instead of silently skipping the provider.
343
345
 
344
346
  - Provider availability remains local-only: Anthropic is considered available when the local Claude CLI is installed and authenticated.
345
- - `experimental.quotaToast.anthropicBinaryPath` only changes CLI probing. It does not change the fallback credentials-file location.
347
+ - `experimental.quotaToast.anthropicBinaryPath` only changes CLI probing. It does not change Claude OAuth credential lookup locations.
346
348
  - `/quota_status` shows `quota_source` as either `claude-auth-status-json`, `claude-credentials-oauth-api`, or `(none)`.
347
349
 
348
350
  **Troubleshooting:**
@@ -352,8 +354,8 @@ If the Claude CLI exposes 5-hour and 7-day quota windows in local structured out
352
354
  | `claude` not found | Install Claude Code and make sure `claude` is on your `PATH` |
353
355
  | Claude installed at a custom path | Set `experimental.quotaToast.anthropicBinaryPath` to the Claude executable path |
354
356
  | Not authenticated | Run `claude auth login`, then confirm `claude auth status --json` or `claude auth status` works |
355
- | Authenticated but no quota rows | Run `/quota_status` and check `quota_source` plus `message` to see whether the local CLI, the fallback credentials file, or the fallback API failed |
356
- | Missing or invalid `~/.claude/.credentials.json` | Re-authenticate Claude Code so it rewrites the local credentials file, then rerun `/quota_status` |
357
+ | Authenticated but no quota rows | Run `/quota_status` and check `quota_source` plus `message` to see whether the local CLI, the macOS Keychain / fallback credentials file, or the fallback API failed |
358
+ | Missing or invalid Claude OAuth credentials | Re-authenticate Claude Code so it refreshes the macOS Keychain entry and local credentials file, then rerun `/quota_status` |
357
359
  | Fallback API error or no quota response | Check `/quota_status` for the sanitized fallback error detail and retry after Claude Code refreshes local auth |
358
360
  | Plugin not detected | Confirm OpenCode is configured with the `anthropic` provider |
359
361
 
@@ -446,7 +448,7 @@ See [Qwen Code quick setup](#qwen-code-quick-setup) for auth. Usage is local-onl
446
448
  - The canonical companion auth key is `qwen-code`. Older installs may still use `opencode-qwencode-auth`, which remains a supported fallback.
447
449
  - Counters increment on successful question-tool completions while the current model is `qwen-code/*`.
448
450
  - State file: `.../opencode/opencode-quota/qwen-local-quota.json`.
449
- - Check `/quota_status` for auth detection, `qwen_oauth_source`, `qwen_local_plan`, and local counter state.
451
+ - Check `/quota_status` for auth detection, `qwen_oauth_source`, `qwen_local_plan`, local counter state, and the dedicated `qwen_code` compact live probe section when Qwen Code is enabled and available.
450
452
 
451
453
  </details>
452
454
 
@@ -465,7 +467,7 @@ Alibaba Coding Plan uses trusted env vars or trusted user/global OpenCode config
465
467
  - If auth fallback wins and omits `tier`, or if env/config wins, the plugin uses `experimental.quotaToast.alibabaCodingPlanTier`, which defaults to `lite`.
466
468
  - Counters increment on successful question-tool completions while the current model is `alibaba/*` or `alibaba-cn/*`.
467
469
  - State file: `.../opencode/opencode-quota/alibaba-coding-plan-local-quota.json`.
468
- - `/quota_status` shows auth detection, resolved tier, state-file path, and current 5h/weekly/monthly usage.
470
+ - `/quota_status` shows auth detection, resolved tier, state-file path, current 5h/weekly/monthly usage, and the dedicated `alibaba_coding_plan` compact live probe section when Alibaba Coding Plan is enabled and available.
469
471
 
470
472
  Example fallback tier:
471
473
 
@@ -537,11 +539,12 @@ If OpenCode already has Synthetic configured, it should work automatically. Opti
537
539
  For security, provider secrets are read from `SYNTHETIC_API_KEY`, your user/global OpenCode config, or `auth.json.synthetic` only. Repo-local `opencode.json` / `opencode.jsonc` is ignored for `provider.synthetic.options.apiKey`.
538
540
 
539
541
  - The plugin calls `GET https://api.synthetic.new/v2/quotas`.
540
- - It reads the documented subscription window fields `subscription.limit`, `subscription.requests`, and `subscription.renewsAt`.
541
- - Synthetic currently expects numeric JSON values for `subscription.limit` and `subscription.requests`; malformed or stringified values are treated as API-shape errors. Invalid `subscription.renewsAt` values are ignored.
542
- - `/quota`, toasts, and the sidebar currently expose the documented Synthetic subscription quota only. Grouped mode labels it as `5h:`; classic mode collapses it to one `Synthetic` row with the same compact `used/limit` summary used by other percent-based providers.
543
- - Weekly credits and other billing-dashboard metrics are not shown unless Synthetic documents them in a public API response the plugin can verify.
544
- - `/quota_status` shows a `synthetic` section with API-key diagnostics only; it does not do a live Synthetic fetch there.
542
+ - It uses only the current top-level Synthetic payload sections: `rollingFiveHourLimit` (`max`, `remaining`, `nextTickAt`) and `weeklyTokenLimit` (`maxCredits`, `remainingCredits`, `percentRemaining`, `nextRegenAt`).
543
+ - `weeklyTokenLimit.maxCredits` and `weeklyTokenLimit.remainingCredits` are parsed from the real Synthetic dollar-string format (for example `$24.00` and `$2.02`). Legacy `subscription.limit`, `subscription.requests`, and `subscription.renewsAt` are ignored.
544
+ - Missing or malformed top-level windows are treated as API-shape errors. Invalid reset timestamps are ignored. Weekly `percentRemaining` uses `weeklyTokenLimit.percentRemaining` when valid and otherwise falls back to deterministic derivation from the parsed credit amounts.
545
+ - `/quota`, toasts, and the sidebar surface both Synthetic windows: `Synthetic 5h` / `Synthetic Weekly` in classic mode, or grouped `5h:` / `Weekly:` rows under `Synthetic`.
546
+ - Compact summaries still round displayed `used` values, and the weekly row keeps dollar semantics (for example `$22/$24`) instead of showing long floats.
547
+ - `/quota_status` keeps the existing Synthetic API-key diagnostics and adds a compact sanitized live probe summary from those same Synthetic rows when Synthetic is enabled and detected/available.
545
548
  - Allowed env templates are limited to `{env:SYNTHETIC_API_KEY}`.
546
549
 
547
550
  Example user/global config (`~/.config/opencode/opencode.jsonc` on Linux/macOS):
@@ -571,6 +574,8 @@ For security, provider secrets are read from environment variables or your user/
571
574
 
572
575
  Allowed env templates are limited to `{env:CHUTES_API_KEY}`.
573
576
 
577
+ - `/quota_status` keeps the existing `chutes` API-key diagnostics and appends a compact sanitized live probe summary when the Chutes provider is enabled and available.
578
+
574
579
  Example user/global config (`~/.config/opencode/opencode.jsonc` on Linux/macOS):
575
580
 
576
581
  ```jsonc
@@ -594,7 +599,7 @@ Example user/global config (`~/.config/opencode/opencode.jsonc` on Linux/macOS):
594
599
 
595
600
  See [Google Antigravity quick setup](#google-antigravity-quick-setup). This companion auth flow does not use `auth.json`; it reads `antigravity-accounts.json` from the OpenCode runtime directories. `@slkiser/opencode-quota` expects the companion plugin to be installed separately.
596
601
 
597
- - `/quota_status` includes a `google_antigravity` section with the selected accounts path, all present/candidate paths, account counts, valid refresh-token counts, companion package state/path, and the Google token-cache path.
602
+ - `/quota_status` includes a `google_antigravity` section with the selected accounts path, all present/candidate paths, account counts, valid refresh-token counts, companion package state/path, the Google token-cache path, and compact live probe rows when the provider returns reportable data.
598
603
  - If the companion plugin is missing or incompatible, `/quota_status` shows `companion_package_state` and `companion_error`.
599
604
  - If detection looks wrong, start with the `google_antigravity` section in `/quota_status`.
600
605
 
@@ -760,11 +765,6 @@ MIT
760
765
  OpenCode Quota is not built by the OpenCode team and is not affiliated with OpenCode or any provider listed above.
761
766
 
762
767
  ## Star History
768
+ [![Star History Chart](https://api.star-history.com/chart?repos=slkiser/opencode-quota&type=date&legend=bottom-right)](https://www.star-history.com/?repos=slkiser%2Fopencode-quota&type=date&legend=bottom-right)
769
+
763
770
 
764
- <a href="https://www.star-history.com/?repos=slkiser%2Fopencode-quota&type=date&legend=bottom-right">
765
- <picture>
766
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=slkiser/opencode-quota&type=date&theme=dark&legend=bottom-right" />
767
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=slkiser/opencode-quota&type=date&legend=bottom-right" />
768
- <img alt="Star History Chart" src="https://api.star-history.com/image?repos=slkiser/opencode-quota&type=date&legend=bottom-right" />
769
- </picture>
770
- </a>
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Uses the local Claude CLI/runtime to detect install/auth state first. When
5
5
  * Claude auth is confirmed but local quota windows are missing, it falls back
6
- * to Claude's local credentials file and Anthropic's OAuth usage endpoint.
6
+ * to Claude OAuth credentials (macOS Keychain first, then the local credentials
7
+ * file) and Anthropic's OAuth usage endpoint.
7
8
  */
8
9
  export interface AnthropicQuotaWindow {
9
10
  utilization?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,SAAS,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,IAAI,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,8BAA8B,GAC9B,MAAM,CAAC;AAEX,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,mBAAmB,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqDF,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtE;AAgBD,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7D,uBAAuB,CAiBzB;AAsHD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAiBtE;AA+ZD,wBAAgB,sCAAsC,IAAI,IAAI,CAG7D;AAmDD,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAyF/B;AAED,wBAAsB,iCAAiC,CACrD,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAuB1B;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/lib/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqBH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,SAAS,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,IAAI,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,8BAA8B,GAC9B,MAAM,CAAC;AAEX,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,mBAAmB,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmEF,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtE;AAgBD,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7D,uBAAuB,CAiBzB;AAsHD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAiBtE;AAklBD,wBAAgB,sCAAsC,IAAI,IAAI,CAG7D;AAmDD,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAyF/B;AAED,wBAAsB,iCAAiC,CACrD,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAuB1B;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Uses the local Claude CLI/runtime to detect install/auth state first. When
5
5
  * Claude auth is confirmed but local quota windows are missing, it falls back
6
- * to Claude's local credentials file and Anthropic's OAuth usage endpoint.
6
+ * to Claude OAuth credentials (macOS Keychain first, then the local credentials
7
+ * file) and Anthropic's OAuth usage endpoint.
7
8
  */
8
9
  import { execFile } from "child_process";
9
10
  import { readFile } from "fs/promises";
@@ -16,6 +17,7 @@ const CLAUDE_COMMAND_TIMEOUT_MS = 3_000;
16
17
  const ANTHROPIC_DIAGNOSTICS_TTL_MS = 5_000;
17
18
  const ANTHROPIC_USAGE_URL = "https://api.anthropic.com/api/oauth/usage";
18
19
  const ANTHROPIC_BETA_HEADER = "oauth-2025-04-20";
20
+ const CLAUDE_CODE_CREDENTIALS_SERVICE = "Claude Code-credentials";
19
21
  const CLAUDE_NO_LOCAL_QUOTA_MESSAGE = "Claude CLI auth detected, but local quota windows were not exposed.";
20
22
  const ANTHROPIC_NO_QUOTA_MESSAGE = "Claude CLI auth detected, but quota was unavailable from both the local CLI and Claude OAuth fallback.";
21
23
  const diagnosticsCache = new Map();
@@ -162,23 +164,144 @@ function parseUsageResponse(data) {
162
164
  function getClaudeCredentialsPath() {
163
165
  return join(homedir(), ".claude", ".credentials.json");
164
166
  }
167
+ function getClaudeKeychainLocation() {
168
+ return `macOS Keychain service ${sanitizeDisplayText(CLAUDE_CODE_CREDENTIALS_SERVICE)}`;
169
+ }
170
+ function getClaudeCredentialsNotFoundDetail(locations) {
171
+ if (locations.length === 0) {
172
+ return "Claude OAuth credentials were not found.";
173
+ }
174
+ if (locations.length === 1) {
175
+ return `Claude OAuth credentials not found in ${locations[0]}.`;
176
+ }
177
+ const [head, ...tail] = locations;
178
+ return `Claude OAuth credentials not found in ${head} or ${tail.join(" or ")}.`;
179
+ }
165
180
  function buildAnthropicNoQuotaDiagnosticsMessage(detail) {
166
181
  const normalizedDetail = detail?.trim();
167
182
  return normalizedDetail
168
183
  ? `${ANTHROPIC_NO_QUOTA_MESSAGE} ${normalizedDetail}`
169
184
  : ANTHROPIC_NO_QUOTA_MESSAGE;
170
185
  }
171
- async function readClaudeCredentialsAccessToken() {
186
+ function extractClaudeCredentialsAccessToken(data) {
187
+ const root = asRecord(data);
188
+ if (!root) {
189
+ return "";
190
+ }
191
+ for (const candidate of [
192
+ asRecord(root["claudeAiOauth"]),
193
+ asRecord(root["oauth"]),
194
+ root,
195
+ ]) {
196
+ if (!candidate) {
197
+ continue;
198
+ }
199
+ for (const key of ["accessToken", "access_token", "token"]) {
200
+ const token = candidate[key];
201
+ if (typeof token === "string" && token.trim()) {
202
+ return token.trim();
203
+ }
204
+ }
205
+ }
206
+ return "";
207
+ }
208
+ function parseClaudeCredentialsAccessToken(content, options) {
209
+ const trimmed = content.trim();
210
+ if (!trimmed) {
211
+ return { error: "missing" };
212
+ }
213
+ if (!trimmed.startsWith("{") && !trimmed.startsWith("[")) {
214
+ return options.allowPlainText ? { accessToken: trimmed } : { error: "missing" };
215
+ }
216
+ try {
217
+ const parsed = JSON.parse(trimmed);
218
+ const accessToken = extractClaudeCredentialsAccessToken(parsed);
219
+ return accessToken ? { accessToken } : { error: "missing" };
220
+ }
221
+ catch (error) {
222
+ return {
223
+ error: sanitizeDisplayText(error instanceof Error ? error.message : String(error)),
224
+ };
225
+ }
226
+ }
227
+ async function runCredentialCommand(file, args) {
228
+ return await new Promise((resolve, reject) => {
229
+ try {
230
+ execFile(file, args, {
231
+ encoding: "utf8",
232
+ timeout: CLAUDE_COMMAND_TIMEOUT_MS,
233
+ maxBuffer: 1024 * 1024,
234
+ }, (error, stdout, stderr) => {
235
+ const stdoutText = typeof stdout === "string" ? stdout : stdout.toString("utf8");
236
+ const stderrText = typeof stderr === "string" ? stderr : stderr.toString("utf8");
237
+ if (!error) {
238
+ resolve({
239
+ code: 0,
240
+ stdout: stdoutText,
241
+ stderr: stderrText,
242
+ timedOut: false,
243
+ });
244
+ return;
245
+ }
246
+ const execError = error;
247
+ resolve({
248
+ code: typeof execError.code === "number" ? execError.code : null,
249
+ stdout: stdoutText,
250
+ stderr: stderrText,
251
+ timedOut: isTimedOutError(execError),
252
+ spawnErrorCode: execError.code,
253
+ errorMessage: execError.message,
254
+ });
255
+ });
256
+ }
257
+ catch (error) {
258
+ reject(error);
259
+ }
260
+ });
261
+ }
262
+ async function readClaudeCredentialsAccessTokenFromMacOSKeychain() {
263
+ if (process.platform !== "darwin") {
264
+ return null;
265
+ }
266
+ const location = getClaudeKeychainLocation();
267
+ const result = await runCredentialCommand("security", [
268
+ "find-generic-password",
269
+ "-s",
270
+ CLAUDE_CODE_CREDENTIALS_SERVICE,
271
+ "-w",
272
+ ]);
273
+ if (result.code !== 0) {
274
+ return {
275
+ state: "not-found",
276
+ location,
277
+ };
278
+ }
279
+ const parsed = parseClaudeCredentialsAccessToken(result.stdout, { allowPlainText: true });
280
+ if (parsed.accessToken) {
281
+ return {
282
+ state: "configured",
283
+ accessToken: parsed.accessToken,
284
+ };
285
+ }
286
+ return {
287
+ state: "unavailable",
288
+ detail: parsed.error && parsed.error !== "missing"
289
+ ? `Could not parse Claude OAuth credentials from ${location}: ${parsed.error}.`
290
+ : `Claude OAuth access token missing in ${location}.`,
291
+ };
292
+ }
293
+ async function readClaudeCredentialsAccessTokenFromFile() {
172
294
  const credentialsPath = getClaudeCredentialsPath();
173
295
  try {
174
296
  const content = await readFile(credentialsPath, "utf8");
175
- const parsed = JSON.parse(content);
176
- const token = asRecord(asRecord(parsed)?.["claudeAiOauth"])?.["accessToken"];
177
- const accessToken = typeof token === "string" ? token.trim() : "";
297
+ const parsed = parseClaudeCredentialsAccessToken(content, { allowPlainText: false });
298
+ const accessToken = parsed.accessToken?.trim() ?? "";
178
299
  if (!accessToken) {
179
300
  return {
180
301
  state: "unavailable",
181
- detail: `Claude OAuth access token missing in ${sanitizeDisplayText(credentialsPath)}.`,
302
+ detail: parsed.error && parsed.error !== "missing"
303
+ ? `Could not parse Claude credentials file ${sanitizeDisplayText(credentialsPath)}: ${parsed.error}.`
304
+ : `Claude OAuth access token missing in ${sanitizeDisplayText(credentialsPath)}.`,
182
305
  };
183
306
  }
184
307
  return {
@@ -192,8 +315,8 @@ async function readClaudeCredentialsAccessToken() {
192
315
  : undefined;
193
316
  if (code === "ENOENT") {
194
317
  return {
195
- state: "unavailable",
196
- detail: `Claude credentials file not found at ${sanitizeDisplayText(credentialsPath)}.`,
318
+ state: "not-found",
319
+ location: sanitizeDisplayText(credentialsPath),
197
320
  };
198
321
  }
199
322
  return {
@@ -202,6 +325,34 @@ async function readClaudeCredentialsAccessToken() {
202
325
  };
203
326
  }
204
327
  }
328
+ async function readClaudeCredentialsAccessToken() {
329
+ const locationsChecked = [];
330
+ const unavailableDetails = [];
331
+ const keychainCredentials = await readClaudeCredentialsAccessTokenFromMacOSKeychain();
332
+ if (keychainCredentials?.state === "configured") {
333
+ return keychainCredentials;
334
+ }
335
+ if (keychainCredentials?.state === "unavailable") {
336
+ unavailableDetails.push(keychainCredentials.detail);
337
+ }
338
+ if (keychainCredentials?.state === "not-found") {
339
+ locationsChecked.push(keychainCredentials.location);
340
+ }
341
+ const fileCredentials = await readClaudeCredentialsAccessTokenFromFile();
342
+ if (fileCredentials.state === "configured") {
343
+ return fileCredentials;
344
+ }
345
+ if (fileCredentials.state === "unavailable") {
346
+ unavailableDetails.push(fileCredentials.detail);
347
+ }
348
+ if (fileCredentials.state === "not-found") {
349
+ locationsChecked.push(fileCredentials.location);
350
+ }
351
+ return {
352
+ state: "unavailable",
353
+ detail: unavailableDetails[0] ?? getClaudeCredentialsNotFoundDetail(locationsChecked),
354
+ };
355
+ }
205
356
  async function queryAnthropicQuotaFromOAuthAccessToken(accessToken) {
206
357
  let response;
207
358
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/lib/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/lib/anthropic.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,15 @@
6
6
  * toasts or transcript output.
7
7
  */
8
8
  import type { QuotaRenderData } from "./quota-render-data.js";
9
- import type { QuotaToastEntry, QuotaToastError, SessionTokensData } from "./entries.js";
9
+ import type { QuotaProviderResult, QuotaToastEntry, QuotaToastError, SessionTokensData } from "./entries.js";
10
10
  export declare function sanitizeDisplayText(text: string): string;
11
+ export declare function sanitizeSingleLineDisplayText(text: string): string;
11
12
  export declare function sanitizeDisplaySnippet(text: string, maxLength: number): string;
13
+ export declare function sanitizeSingleLineDisplaySnippet(text: string, maxLength: number): string;
12
14
  export declare function sanitizeOptionalDisplayText(value?: string): string | undefined;
13
15
  export declare function sanitizeQuotaToastEntry(entry: QuotaToastEntry): QuotaToastEntry;
14
16
  export declare function sanitizeQuotaToastError(error: QuotaToastError): QuotaToastError;
17
+ export declare function sanitizeQuotaProviderResult(result: QuotaProviderResult): QuotaProviderResult;
15
18
  export declare function sanitizeSessionTokensData(data?: SessionTokensData): SessionTokensData | undefined;
16
19
  export declare function sanitizeQuotaRenderData(data: QuotaRenderData): QuotaRenderData;
17
20
  //# sourceMappingURL=display-sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"display-sanitize.d.ts","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAOxF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAqB/E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAK/E;AAED,wBAAgB,yBAAyB,CACvC,IAAI,CAAC,EAAE,iBAAiB,GACvB,iBAAiB,GAAG,SAAS,CAU/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAM9E"}
1
+ {"version":3,"file":"display-sanitize.d.ts","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAWtB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAqB/E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAK/E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAM5F;AAED,wBAAgB,yBAAyB,CACvC,IAAI,CAAC,EAAE,iBAAiB,GACvB,iBAAiB,GAAG,SAAS,CAU/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAM9E"}
@@ -6,15 +6,24 @@
6
6
  * toasts or transcript output.
7
7
  */
8
8
  import { isValueEntry } from "./entries.js";
9
- // Remove ANSI escape sequences and other control characters except newline/tab.
9
+ // Remove terminal escape sequences (CSI/OSC/DCS/APC/PM/SOS) and other control
10
+ // characters except newline/tab so provider text cannot inject terminal actions.
10
11
  // eslint-disable-next-line no-control-regex
11
- const DISPLAY_CONTROL_RE = /\x1B\[[0-9;]*[A-Za-z]|[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;
12
+ const DISPLAY_ESCAPE_SEQUENCE_RE = /\x1B(?:\[[0-?]*[ -/]*[@-~]|\][^\x1B\u0007]*(?:\u0007|\x1B\\)|P[\s\S]*?\x1B\\|_[\s\S]*?\x1B\\|\^[\s\S]*?\x1B\\|X[\s\S]*?\x1B\\|[@-_])/g;
13
+ // eslint-disable-next-line no-control-regex
14
+ const DISPLAY_CONTROL_RE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]/g;
12
15
  export function sanitizeDisplayText(text) {
13
- return text.replace(DISPLAY_CONTROL_RE, "");
16
+ return text.replace(DISPLAY_ESCAPE_SEQUENCE_RE, "").replace(DISPLAY_CONTROL_RE, "");
17
+ }
18
+ export function sanitizeSingleLineDisplayText(text) {
19
+ return sanitizeDisplayText(text).replace(/\s+/gu, " ").trim();
14
20
  }
15
21
  export function sanitizeDisplaySnippet(text, maxLength) {
16
22
  return sanitizeDisplayText(text).slice(0, maxLength);
17
23
  }
24
+ export function sanitizeSingleLineDisplaySnippet(text, maxLength) {
25
+ return sanitizeSingleLineDisplayText(text).slice(0, maxLength);
26
+ }
18
27
  export function sanitizeOptionalDisplayText(value) {
19
28
  return typeof value === "string" ? sanitizeDisplayText(value) : undefined;
20
29
  }
@@ -45,6 +54,13 @@ export function sanitizeQuotaToastError(error) {
45
54
  message: sanitizeDisplayText(error.message),
46
55
  };
47
56
  }
57
+ export function sanitizeQuotaProviderResult(result) {
58
+ return {
59
+ attempted: result.attempted,
60
+ entries: result.entries.map(sanitizeQuotaToastEntry),
61
+ errors: result.errors.map(sanitizeQuotaToastError),
62
+ };
63
+ }
48
64
  export function sanitizeSessionTokensData(data) {
49
65
  if (!data)
50
66
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"display-sanitize.js","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,gFAAgF;AAChF,4CAA4C;AAC5C,MAAM,kBAAkB,GAAG,yDAAyD,CAAC;AAErF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,SAAiB;IACpE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;YACvC,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/C,YAAY,EAAE,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,OAAO;QACL,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;QACvC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAwB;IAExB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,KAAK;YACR,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;SAC5C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAqB;IAC3D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAChD,aAAa,EAAE,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC;KAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"display-sanitize.js","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,10 @@ export type CollectQuotaRenderDataResult = {
42
42
  data: QuotaRenderData | null;
43
43
  sessionTokenError?: SessionTokenError;
44
44
  };
45
+ export type QuotaStatusLiveProbe = {
46
+ providerId: string;
47
+ result: QuotaProviderResult;
48
+ };
45
49
  type QuotaFormatStyle = NonNullable<QuotaProviderContext["config"]["formatStyle"]>;
46
50
  export declare function matchesQuotaProviderCurrentSelection(params: {
47
51
  provider: QuotaProvider;
@@ -60,6 +64,14 @@ export declare function fetchProviderResults(params: {
60
64
  ttlMs: number;
61
65
  providerFetchCache: ProviderFetchCacheStore;
62
66
  }): Promise<QuotaProviderResult[]>;
67
+ export declare function collectQuotaStatusLiveProbes(params: {
68
+ client: QuotaProviderContext["client"];
69
+ config: QuotaToastConfig;
70
+ request?: QuotaRequestContext;
71
+ formatStyle?: QuotaFormatStyle;
72
+ providers: QuotaProvider[];
73
+ providerFetchCache: ProviderFetchCacheStore;
74
+ }): Promise<QuotaStatusLiveProbe[]>;
63
75
  export declare function collectQuotaRenderData(params: {
64
76
  client: QuotaProviderContext["client"];
65
77
  config: QuotaToastConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"quota-render-data.d.ts","sourceRoot":"","sources":["../../src/lib/quota-render-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-render-data.d.ts","sourceRoot":"","sources":["../../src/lib/quota-render-data.ts"],"names":[],"mappings":"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"}