vibe-coding-tracker 2.4.0__tar.gz → 2.5.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: 2.4.0
3
+ Version: 2.5.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
@@ -345,7 +345,7 @@ For noninteractive `usage` and `analysis` scans, vct exits with an error when ev
345
345
  ```
346
346
 
347
347
  - **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.
348
- - **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)`).
348
+ - **Codex** — plan tier, available 5-hour and weekly usage windows, 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)`).
349
349
  - **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.
350
350
  - **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.
351
351
  - **Grok** — plan tier plus your included-allowance usage for the current weekly or monthly period, from the Grok CLI's own billing endpoint (`GET /v1/billing?format=credits`), read from `~/.grok/auth.json`. A prepaid balance is shown only once it is non-zero, and pay-as-you-go spend once you have either spent something or set a cap. The request impersonates the Grok CLI; a `401` / `403` shows a `run: grok login` hint.
@@ -487,9 +487,13 @@ Codex code-mode sessions expose a completed JavaScript `exec` cell but no struct
487
487
 
488
488
  ## Update Command
489
489
 
490
- **Keep your installation up-to-date automatically.**
490
+ **Keep supported direct installations up to date automatically.**
491
491
 
492
- The update command works for **all installation methods** (npm/pip/cargo/manual) by directly downloading and replacing the binary from GitHub releases.
492
+ At startup, vct silently checks for a newer release at most once per UTC day. A newer release is downloaded and applied only when the current binary was installed by the official `scripts/install.sh` or `scripts/install.ps1` installer and carries its `.vct-managed` marker. The check, download, and replacement never print to stdout or stderr. A network failure, rate limit, read-only directory, or another running vct process only leaves the current command running; the reason is recorded in the diagnostic log. `VCT_OFFLINE=1` skips the check completely.
493
+
494
+ After a Unix update, vct re-executes the current command with the new binary. On Windows, the current command finishes and a helper applies the replacement afterwards. The automatic path never modifies installs from cargo, npm, PyPI, a distro package, or an unmarked manual or development build. Update those through their package manager instead. To add automatic updates to an existing direct install, run the current official installer once more so it creates the marker.
495
+
496
+ Set `general.auto_update = false` in `~/.vct/config.toml` to disable startup checks and automatic updates. The explicit `vct update` command retains its existing manual behavior.
493
497
 
494
498
  ### Basic Usage
495
499
 
@@ -586,9 +590,12 @@ vct keeps its user settings in `~/.vct/config.toml`. The file is **created with
586
590
  # Default time range when no --daily/--weekly/--monthly/--all flag is given.
587
591
  # One of: "daily" | "weekly" | "monthly" | "all".
588
592
  default_time_range = "all"
593
+ # Check for a newer release at startup and automatically update supported direct installs.
594
+ # Set to false to disable this behavior.
595
+ auto_update = true
589
596
  # Layout version of this file, stamped by vct. Only the upgrade pass reads it;
590
597
  # leave it alone unless you want a past upgrade to run again.
591
- version = 2
598
+ version = 3
592
599
 
593
600
  [usage]
594
601
  # Start the usage dashboard with models merged across provider prefixes.
@@ -636,6 +643,7 @@ retention_days = 7
636
643
  | Setting | Effect |
637
644
  | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
638
645
  | `general.default_time_range` | Period used when you pass no `--daily/--weekly/--monthly/--all`. An explicit flag always wins. |
646
+ | `general.auto_update` | Check once per UTC day at startup and automatically update only official-installer direct installs. Set to `false` to disable. |
639
647
  | `general.version` | Layout version vct stamps on the file, so a panel added by a later release is offered to you exactly once. |
640
648
  | `usage.merge_models` | Seeds the dashboard merged; the `m` toggle saves your last choice back here. `--merge-providers` forces on. |
641
649
  | `usage.refresh_interval` | Redraw cadence of the `usage` dashboard (seconds). |
@@ -319,7 +319,7 @@ For noninteractive `usage` and `analysis` scans, vct exits with an error when ev
319
319
  ```
320
320
 
321
321
  - **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.
322
- - **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)`).
322
+ - **Codex** — plan tier, available 5-hour and weekly usage windows, 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)`).
323
323
  - **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.
324
324
  - **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.
325
325
  - **Grok** — plan tier plus your included-allowance usage for the current weekly or monthly period, from the Grok CLI's own billing endpoint (`GET /v1/billing?format=credits`), read from `~/.grok/auth.json`. A prepaid balance is shown only once it is non-zero, and pay-as-you-go spend once you have either spent something or set a cap. The request impersonates the Grok CLI; a `401` / `403` shows a `run: grok login` hint.
@@ -461,9 +461,13 @@ Codex code-mode sessions expose a completed JavaScript `exec` cell but no struct
461
461
 
462
462
  ## Update Command
463
463
 
464
- **Keep your installation up-to-date automatically.**
464
+ **Keep supported direct installations up to date automatically.**
465
465
 
466
- The update command works for **all installation methods** (npm/pip/cargo/manual) by directly downloading and replacing the binary from GitHub releases.
466
+ At startup, vct silently checks for a newer release at most once per UTC day. A newer release is downloaded and applied only when the current binary was installed by the official `scripts/install.sh` or `scripts/install.ps1` installer and carries its `.vct-managed` marker. The check, download, and replacement never print to stdout or stderr. A network failure, rate limit, read-only directory, or another running vct process only leaves the current command running; the reason is recorded in the diagnostic log. `VCT_OFFLINE=1` skips the check completely.
467
+
468
+ After a Unix update, vct re-executes the current command with the new binary. On Windows, the current command finishes and a helper applies the replacement afterwards. The automatic path never modifies installs from cargo, npm, PyPI, a distro package, or an unmarked manual or development build. Update those through their package manager instead. To add automatic updates to an existing direct install, run the current official installer once more so it creates the marker.
469
+
470
+ Set `general.auto_update = false` in `~/.vct/config.toml` to disable startup checks and automatic updates. The explicit `vct update` command retains its existing manual behavior.
467
471
 
468
472
  ### Basic Usage
469
473
 
@@ -560,9 +564,12 @@ vct keeps its user settings in `~/.vct/config.toml`. The file is **created with
560
564
  # Default time range when no --daily/--weekly/--monthly/--all flag is given.
561
565
  # One of: "daily" | "weekly" | "monthly" | "all".
562
566
  default_time_range = "all"
567
+ # Check for a newer release at startup and automatically update supported direct installs.
568
+ # Set to false to disable this behavior.
569
+ auto_update = true
563
570
  # Layout version of this file, stamped by vct. Only the upgrade pass reads it;
564
571
  # leave it alone unless you want a past upgrade to run again.
565
- version = 2
572
+ version = 3
566
573
 
567
574
  [usage]
568
575
  # Start the usage dashboard with models merged across provider prefixes.
@@ -610,6 +617,7 @@ retention_days = 7
610
617
  | Setting | Effect |
611
618
  | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
612
619
  | `general.default_time_range` | Period used when you pass no `--daily/--weekly/--monthly/--all`. An explicit flag always wins. |
620
+ | `general.auto_update` | Check once per UTC day at startup and automatically update only official-installer direct installs. Set to `false` to disable. |
613
621
  | `general.version` | Layout version vct stamps on the file, so a panel added by a later release is offered to you exactly once. |
614
622
  | `usage.merge_models` | Seeds the dashboard merged; the `m` toggle saves your last choice back here. `--merge-providers` forces on. |
615
623
  | `usage.refresh_interval` | Redraw cadence of the `usage` dashboard (seconds). |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "vibe_coding_tracker"
3
- version = "2.4.0"
3
+ version = "2.5.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" }