vibe-coding-tracker 2.1.1__tar.gz → 2.2.1__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: 2.1.1
3
+ Version: 2.2.1
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
@@ -335,12 +335,13 @@ For noninteractive `usage` and `analysis` scans, vct exits with an error when ev
335
335
  │ 5h ▰▱▱▱▱ 13% ↻ 1h42m││ 5h ▰▰▱▱▱ 33% ↻ 12m ││ prem ▰▱▱▱▱ 3% ↻ 24d ││ total ▰▱▱▱▱ 6% ↻ 16d │
336
336
  │ 7d ▰▰▰▱▱ 58% ↻ 1d23h││ 7d ▰▰▱▱▱ 36% ↻ 1h54m││ reqs ▰▱▱▱▱ 45/1500 ││ auto ▱▱▱▱▱ 0% ↻ 16d │
337
337
  │ Fable ▰▰▰▰▱ 79% ↻ 1d23h││ Credits: 0 +3 reset ││ updated just now ││ api ▰▰▰▱▱ 56% ↻ 16d │
338
- │ Balance: - $0.00 used ││ updated just now ││ ││ updated just now │
338
+ │ Balance: - $0.00 used ││ reset expires 17d0h ││ ││ updated just now │
339
+ │ updated just now ││ updated just now ││ ││ │
339
340
  └─────────────────────────┘└─────────────────────────┘└─────────────────────────┘└─────────────────────────┘
340
341
  ```
341
342
 
342
343
  - **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.
343
- - **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)`).
344
+ - **Codex** — plan tier, 5-hour and weekly usage, credit balance, and the earliest fetched available earned-reset expiry from the ChatGPT backend (`wham/usage` + `wham/rate-limit-reset-credits`) 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)`).
344
345
  - **Copilot** — plan tier plus your premium-request quota, shown as two gauges: percent used and the used / total request count (e.g. `45/1500`), 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.
345
346
  - **Cursor** — plan tier, total / auto / API percent **used**, 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.
346
347
 
@@ -367,7 +368,7 @@ A panel appears only for a provider whose credentials are present. When four pan
367
368
  | `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
368
369
  | `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
369
370
 
370
- See [`examples/`](examples/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`examples/grok_session/`](examples/grok_session/).
371
+ See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/).
371
372
 
372
373
  ### Basic Usage
373
374
 
@@ -425,7 +426,7 @@ vct analysis --json --daily > today.json
425
426
 
426
427
  ### Preview: Table & JSON (`vct analysis`)
427
428
 
428
- `--table` renders the per-model breakdown plus a per-provider summary (with an Active Days column). `--text` and `--table` are compact projections of the same normalized parser records. `--json` keeps the complete records, including per-operation details and token usage. With no `<FILE>`, the outer array contains one `CodeAnalysis` object per session; with `<FILE>`, stdout is that single object and matches the corresponding shape under [`examples/`](examples/).
429
+ `--table` renders the per-model breakdown plus a per-provider summary (with an Active Days column). `--text` and `--table` are compact projections of the same normalized parser records. `--json` keeps the complete records, including per-operation details and token usage. With no `<FILE>`, the outer array contains one `CodeAnalysis` object per session; with `<FILE>`, stdout is that single object and matches the corresponding shape under [`tests/fixtures/sessions/`](tests/fixtures/sessions/).
429
430
 
430
431
  ```text
431
432
  Analysis Statistics
@@ -309,12 +309,13 @@ For noninteractive `usage` and `analysis` scans, vct exits with an error when ev
309
309
  │ 5h ▰▱▱▱▱ 13% ↻ 1h42m││ 5h ▰▰▱▱▱ 33% ↻ 12m ││ prem ▰▱▱▱▱ 3% ↻ 24d ││ total ▰▱▱▱▱ 6% ↻ 16d │
310
310
  │ 7d ▰▰▰▱▱ 58% ↻ 1d23h││ 7d ▰▰▱▱▱ 36% ↻ 1h54m││ reqs ▰▱▱▱▱ 45/1500 ││ auto ▱▱▱▱▱ 0% ↻ 16d │
311
311
  │ Fable ▰▰▰▰▱ 79% ↻ 1d23h││ Credits: 0 +3 reset ││ updated just now ││ api ▰▰▰▱▱ 56% ↻ 16d │
312
- │ Balance: - $0.00 used ││ updated just now ││ ││ updated just now │
312
+ │ Balance: - $0.00 used ││ reset expires 17d0h ││ ││ updated just now │
313
+ │ updated just now ││ updated just now ││ ││ │
313
314
  └─────────────────────────┘└─────────────────────────┘└─────────────────────────┘└─────────────────────────┘
314
315
  ```
315
316
 
316
317
  - **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.
317
- - **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)`).
318
+ - **Codex** — plan tier, 5-hour and weekly usage, credit balance, and the earliest fetched available earned-reset expiry from the ChatGPT backend (`wham/usage` + `wham/rate-limit-reset-credits`) 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)`).
318
319
  - **Copilot** — plan tier plus your premium-request quota, shown as two gauges: percent used and the used / total request count (e.g. `45/1500`), 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.
319
320
  - **Cursor** — plan tier, total / auto / API percent **used**, 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.
320
321
 
@@ -341,7 +342,7 @@ A panel appears only for a provider whose credentials are present. When four pan
341
342
  | `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
342
343
  | `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
343
344
 
344
- See [`examples/`](examples/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`examples/grok_session/`](examples/grok_session/).
345
+ See [`tests/fixtures/sessions/`](tests/fixtures/sessions/) for sample inputs and matching JSON outputs for the four JSONL providers, plus the Grok session fixture under [`tests/fixtures/sessions/grok/`](tests/fixtures/sessions/grok/).
345
346
 
346
347
  ### Basic Usage
347
348
 
@@ -399,7 +400,7 @@ vct analysis --json --daily > today.json
399
400
 
400
401
  ### Preview: Table & JSON (`vct analysis`)
401
402
 
402
- `--table` renders the per-model breakdown plus a per-provider summary (with an Active Days column). `--text` and `--table` are compact projections of the same normalized parser records. `--json` keeps the complete records, including per-operation details and token usage. With no `<FILE>`, the outer array contains one `CodeAnalysis` object per session; with `<FILE>`, stdout is that single object and matches the corresponding shape under [`examples/`](examples/).
403
+ `--table` renders the per-model breakdown plus a per-provider summary (with an Active Days column). `--text` and `--table` are compact projections of the same normalized parser records. `--json` keeps the complete records, including per-operation details and token usage. With no `<FILE>`, the outer array contains one `CodeAnalysis` object per session; with `<FILE>`, stdout is that single object and matches the corresponding shape under [`tests/fixtures/sessions/`](tests/fixtures/sessions/).
403
404
 
404
405
  ```text
405
406
  Analysis Statistics
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "vibe_coding_tracker"
3
- version = "2.1.1"
3
+ version = "2.2.1"
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" }