vibe-coding-tracker 1.1.0__tar.gz → 1.3.0__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: vibe-coding-tracker
3
- Version: 1.1.0
3
+ Version: 1.3.0
4
4
  Summary: Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results
5
5
  Keywords: cli,ai,coding-assistant,telemetry,claude,codex,gemini,usage-tracker,analytics
6
6
  Author: Wei Lee
@@ -261,27 +261,28 @@ The tool automatically scans these directories:
261
261
 
262
262
  ### Live Quota Panels
263
263
 
264
- `vct usage` shows **live remaining quota for Claude Code and Codex right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own OAuth credentials, calls its usage API on a background thread, and keeps the panels current while you work.
264
+ `vct usage` shows **live remaining quota for Claude Code, Codex, GitHub Copilot, and Cursor right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own credentials, calls its usage API on a background thread, and keeps the panels current while you work.
265
265
 
266
266
  ```
267
- Provider/Tokens/Cost/Days ┬ Claude ───────────────────┬ Codex ────────────────────┐
268
- Claude 1.2M $3.00 4d │ Plan: max 20x Plan: plus
269
- Codex 800K $0.00 6d │ 5h ▰▱▱▱▱ 16% ↻ 2h0m 5h ▰▰▱▱▱ 37% ↻ 2h33m │
270
- ... │ 7d ▰▰▱▱▱ 41% ↻ 5d 7d ▰▰▱▱▱ 24% ↻ 3d16h │
271
- Opus ▰▰▰▱▱ 61% ↻ 5d Credits: 0 +3 reset
272
- Balance: - $0.00 used updated just now
273
- │ │ updated just now │ │
274
- └───────────────────────────┴────────────────────────────┴────────────────────────────┘
267
+ ┌ Claude ─────────────────┐┌ Codex ──────────────────┐┌ Copilot ────────────────┐┌ Cursor ─────────────────┐
268
+ │ Plan: max 20x ││ Plan: plus ││ Plan: individual ││ Plan: free
269
+ │ 5h ▰▱▱▱▱ 16% ↻ 2h0m ││ 5h ▰▰▱▱▱ 37% ↻ 2h33m││ prem ▰▱▱▱▱ 2% ↻ 25d ││ total ▰▰▰▰▰ 94% ↻ 17d
270
+ │ 7d ▰▰▱▱▱ 41% ↻ 5d ││ 7d ▰▰▱▱▱ 24% ↻ 3d16h││ 1464/1500 · chat/compl ∞││ auto ▰▰▰▰▰ 100% ↻ 17d
271
+ │ Opus ▰▰▰▱▱ 61% ↻ 5d ││ Credits: 0 +3 reset ││ updated just now ││ api ▰▰▰▱▱ 44% ↻ 17d
272
+ │ Balance: - $0.00 used ││ updated just now ││ ││ updated just now
273
+ └─────────────────────────┘└─────────────────────────┘└─────────────────────────┘└─────────────────────────┘
275
274
  ```
276
275
 
277
276
  - **Claude** — plan tier, 5-hour, weekly, and per-model weekly usage from the official OAuth usage API (`GET /api/oauth/usage`), read from `~/.claude/.credentials.json`, plus your credit balance. Polled about once a minute to stay under the endpoint's rate limit; a red `LIMIT` flag appears in the title when a cap is hit. The per-model weekly row is best-effort and simply hides when that scope is not returned.
278
277
  - **Codex** — plan tier, 5-hour and weekly usage, and credit balance from the ChatGPT backend (`wham/usage`) using `~/.codex/auth.json` (with approximate remaining messages / spend cap when applicable); falls back to the newest `rate_limits` in your Codex session logs when the API is unavailable (the title shows `Codex` vs `Codex (session)`).
278
+ - **Copilot** — plan tier, premium-request quota (remaining / entitlement plus a gauge), and unlimited chat / completions from GitHub's Copilot API (`GET /copilot_internal/user`), read from `~/.copilot/config.json`. The request impersonates the Copilot CLI. The token is long-lived, so there is no refresh; a `401` / `403` shows a `run: copilot login` hint.
279
+ - **Cursor** — plan tier, total / auto / API usage percentages, and on-demand spend from cursor.com (`GET /api/usage-summary`), using the session token in `~/.config/cursor/auth.json`. Refresh is reactive: vct re-reads the file each poll and uses the token while it is valid, since the official Cursor client keeps it fresh.
279
280
 
280
- **Automatic token refresh.** For both providers, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking.
281
+ **Automatic token refresh.** For Claude and Codex, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking. Copilot (long-lived token) and Cursor (kept fresh by its own client) are read-only — vct never writes their credential files.
281
282
 
282
- A panel appears only for a provider whose credentials are present. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
283
+ A panel appears only for a provider whose credentials are present. When four panels are shown the Provider Usage table folds out of the band, and at narrow widths the panels wrap to a 2×2 grid. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
283
284
 
284
- > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS.
285
+ > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS. Cursor's `~/.config/cursor` credential path is Linux-oriented.
285
286
 
286
287
  ---
287
288
 
@@ -235,27 +235,28 @@ The tool automatically scans these directories:
235
235
 
236
236
  ### Live Quota Panels
237
237
 
238
- `vct usage` shows **live remaining quota for Claude Code and Codex right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own OAuth credentials, calls its usage API on a background thread, and keeps the panels current while you work.
238
+ `vct usage` shows **live remaining quota for Claude Code, Codex, GitHub Copilot, and Cursor right in the dashboard — with zero setup.** No status-line hook, no config file: vct reads each provider's own credentials, calls its usage API on a background thread, and keeps the panels current while you work.
239
239
 
240
240
  ```
241
- Provider/Tokens/Cost/Days ┬ Claude ───────────────────┬ Codex ────────────────────┐
242
- Claude 1.2M $3.00 4d │ Plan: max 20x Plan: plus
243
- Codex 800K $0.00 6d │ 5h ▰▱▱▱▱ 16% ↻ 2h0m 5h ▰▰▱▱▱ 37% ↻ 2h33m │
244
- ... │ 7d ▰▰▱▱▱ 41% ↻ 5d 7d ▰▰▱▱▱ 24% ↻ 3d16h │
245
- Opus ▰▰▰▱▱ 61% ↻ 5d Credits: 0 +3 reset
246
- Balance: - $0.00 used updated just now
247
- │ │ updated just now │ │
248
- └───────────────────────────┴────────────────────────────┴────────────────────────────┘
241
+ ┌ Claude ─────────────────┐┌ Codex ──────────────────┐┌ Copilot ────────────────┐┌ Cursor ─────────────────┐
242
+ │ Plan: max 20x ││ Plan: plus ││ Plan: individual ││ Plan: free
243
+ │ 5h ▰▱▱▱▱ 16% ↻ 2h0m ││ 5h ▰▰▱▱▱ 37% ↻ 2h33m││ prem ▰▱▱▱▱ 2% ↻ 25d ││ total ▰▰▰▰▰ 94% ↻ 17d
244
+ │ 7d ▰▰▱▱▱ 41% ↻ 5d ││ 7d ▰▰▱▱▱ 24% ↻ 3d16h││ 1464/1500 · chat/compl ∞││ auto ▰▰▰▰▰ 100% ↻ 17d
245
+ │ Opus ▰▰▰▱▱ 61% ↻ 5d ││ Credits: 0 +3 reset ││ updated just now ││ api ▰▰▰▱▱ 44% ↻ 17d
246
+ │ Balance: - $0.00 used ││ updated just now ││ ││ updated just now
247
+ └─────────────────────────┘└─────────────────────────┘└─────────────────────────┘└─────────────────────────┘
249
248
  ```
250
249
 
251
250
  - **Claude** — plan tier, 5-hour, weekly, and per-model weekly usage from the official OAuth usage API (`GET /api/oauth/usage`), read from `~/.claude/.credentials.json`, plus your credit balance. Polled about once a minute to stay under the endpoint's rate limit; a red `LIMIT` flag appears in the title when a cap is hit. The per-model weekly row is best-effort and simply hides when that scope is not returned.
252
251
  - **Codex** — plan tier, 5-hour and weekly usage, and credit balance from the ChatGPT backend (`wham/usage`) using `~/.codex/auth.json` (with approximate remaining messages / spend cap when applicable); falls back to the newest `rate_limits` in your Codex session logs when the API is unavailable (the title shows `Codex` vs `Codex (session)`).
252
+ - **Copilot** — plan tier, premium-request quota (remaining / entitlement plus a gauge), and unlimited chat / completions from GitHub's Copilot API (`GET /copilot_internal/user`), read from `~/.copilot/config.json`. The request impersonates the Copilot CLI. The token is long-lived, so there is no refresh; a `401` / `403` shows a `run: copilot login` hint.
253
+ - **Cursor** — plan tier, total / auto / API usage percentages, and on-demand spend from cursor.com (`GET /api/usage-summary`), using the session token in `~/.config/cursor/auth.json`. Refresh is reactive: vct re-reads the file each poll and uses the token while it is valid, since the official Cursor client keeps it fresh.
253
254
 
254
- **Automatic token refresh.** For both providers, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking.
255
+ **Automatic token refresh.** For Claude and Codex, when a token is near expiry or rejected, vct refreshes it and writes the new token back to the provider's own credential file (in that CLI's exact format), so a token is reused across checks rather than refreshed every time. If a refresh cannot proceed, the panel shows a `run: <provider> auth login` hint instead of breaking. Copilot (long-lived token) and Cursor (kept fresh by its own client) are read-only — vct never writes their credential files.
255
256
 
256
- A panel appears only for a provider whose credentials are present. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
257
+ A panel appears only for a provider whose credentials are present. When four panels are shown the Provider Usage table folds out of the band, and at narrow widths the panels wrap to a 2×2 grid. Quota panels appear only in the interactive TUI; `--table`, `--text`, and `--json` are unchanged.
257
258
 
258
- > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS.
259
+ > **Platform note:** on macOS, Claude Code stores its OAuth credentials in the system Keychain rather than `~/.claude/.credentials.json`, so the Claude panel is not shown on macOS. Cursor's `~/.config/cursor` credential path is Linux-oriented.
259
260
 
260
261
  ---
261
262
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "vibe_coding_tracker"
3
- version = "1.1.0"
3
+ version = "1.3.0"
4
4
  description = "Vibe Coding Tracker - AI coding assistant telemetry/usage parser, aggregate JSONL events into CodeAnalysis results"
5
5
  authors = [
6
6
  { name = "Wei Lee", email = "mai@mai0313.com" }