vibe-coding-tracker 2.6.3__tar.gz → 2.7.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.
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/PKG-INFO +6 -2
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/README.md +5 -1
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/pyproject.toml +1 -1
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/linux-arm64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/linux-x64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/macos-arm64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/macos-x64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/windows-arm64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/binaries/windows-x64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.6.3 → vibe_coding_tracker-2.7.0}/src/vibe_coding_tracker/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: vibe-coding-tracker
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.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
|
|
@@ -61,7 +61,7 @@ Stop wondering how much your AI coding sessions cost. Get **real-time cost track
|
|
|
61
61
|
|
|
62
62
|
### Ultra-Lightweight
|
|
63
63
|
|
|
64
|
-
Built with Rust for minimal resource footprint. The interactive TUI dashboard typically sits at **
|
|
64
|
+
Built with Rust for minimal resource footprint. The interactive TUI dashboard typically sits at **around 60 MB of resident memory** once the first refresh is done, even with thousands of sessions on disk — no Electron, no bloated runtimes. A persistent per-session ledger under `~/.vct/sessions/` means only new or changed sources are ever parsed again, even across runs, while dedicated scan workers and glibc allocator tuning keep long-running CPU and RSS honest.
|
|
65
65
|
|
|
66
66
|
### Beautiful Visualizations
|
|
67
67
|
|
|
@@ -331,6 +331,10 @@ Grok `usage` is one point-in-time local context estimate: vct records `signals.j
|
|
|
331
331
|
|
|
332
332
|
For noninteractive `usage` and `analysis` scans, vct exits with an error when every discovered source fails. If only some sources fail, it keeps the successful results and prints one diagnostic summary to stderr. The TUI stays best-effort and preserves its last successful payload instead.
|
|
333
333
|
|
|
334
|
+
### Session Ledger
|
|
335
|
+
|
|
336
|
+
Every `usage` and `analysis` scan reads and writes a per-session ledger under `~/.vct/sessions/` (one `<provider>.json` per assistant). A session that has not changed is never parsed twice, so one-shot runs and the dashboard's first paint only spend time on what changed. More importantly, a session stays in the ledger after its source is gone: when an assistant prunes its own history (Claude Code keeps 30 days by default) or a whole session directory such as `~/.claude/projects` is deleted, every total still includes it, and noninteractive runs print a one-line note saying how many sessions came from the ledger. A resumed session is re-read when its log changes. The ledger holds only per-day token counts and tool counters in each provider's own shape, never transcripts or prices, and vct never deletes it: an unreadable file is renamed aside and a file written by a newer vct is left alone. Delete the directory to start over from what is on disk. `vct analysis --json` and `vct analysis FILE` parse their files in full and do not use it.
|
|
337
|
+
|
|
334
338
|
### Live Quota Panels
|
|
335
339
|
|
|
336
340
|
`vct usage` shows **live quota usage for Claude Code, Codex, GitHub Copilot, Cursor, and Grok right in the dashboard — with zero setup.** No status-line hook, no credentials to enter: vct reads each provider's own credentials, calls its usage API on a background thread, and keeps the panels current while you work. Every gauge is percent **used**, so a full bar means the window is spent, not untouched. (Prefer a quieter dashboard? Trim `panels` under `[usage.quota]` in [`config.toml`](#configuration), or set it to `[]` to hide the quota cards entirely. The per-provider cost line under the table is local scan data, not a quota panel, so it stays whatever you set here.)
|
|
@@ -35,7 +35,7 @@ Stop wondering how much your AI coding sessions cost. Get **real-time cost track
|
|
|
35
35
|
|
|
36
36
|
### Ultra-Lightweight
|
|
37
37
|
|
|
38
|
-
Built with Rust for minimal resource footprint. The interactive TUI dashboard typically sits at **
|
|
38
|
+
Built with Rust for minimal resource footprint. The interactive TUI dashboard typically sits at **around 60 MB of resident memory** once the first refresh is done, even with thousands of sessions on disk — no Electron, no bloated runtimes. A persistent per-session ledger under `~/.vct/sessions/` means only new or changed sources are ever parsed again, even across runs, while dedicated scan workers and glibc allocator tuning keep long-running CPU and RSS honest.
|
|
39
39
|
|
|
40
40
|
### Beautiful Visualizations
|
|
41
41
|
|
|
@@ -305,6 +305,10 @@ Grok `usage` is one point-in-time local context estimate: vct records `signals.j
|
|
|
305
305
|
|
|
306
306
|
For noninteractive `usage` and `analysis` scans, vct exits with an error when every discovered source fails. If only some sources fail, it keeps the successful results and prints one diagnostic summary to stderr. The TUI stays best-effort and preserves its last successful payload instead.
|
|
307
307
|
|
|
308
|
+
### Session Ledger
|
|
309
|
+
|
|
310
|
+
Every `usage` and `analysis` scan reads and writes a per-session ledger under `~/.vct/sessions/` (one `<provider>.json` per assistant). A session that has not changed is never parsed twice, so one-shot runs and the dashboard's first paint only spend time on what changed. More importantly, a session stays in the ledger after its source is gone: when an assistant prunes its own history (Claude Code keeps 30 days by default) or a whole session directory such as `~/.claude/projects` is deleted, every total still includes it, and noninteractive runs print a one-line note saying how many sessions came from the ledger. A resumed session is re-read when its log changes. The ledger holds only per-day token counts and tool counters in each provider's own shape, never transcripts or prices, and vct never deletes it: an unreadable file is renamed aside and a file written by a newer vct is left alone. Delete the directory to start over from what is on disk. `vct analysis --json` and `vct analysis FILE` parse their files in full and do not use it.
|
|
311
|
+
|
|
308
312
|
### Live Quota Panels
|
|
309
313
|
|
|
310
314
|
`vct usage` shows **live quota usage for Claude Code, Codex, GitHub Copilot, Cursor, and Grok right in the dashboard — with zero setup.** No status-line hook, no credentials to enter: vct reads each provider's own credentials, calls its usage API on a background thread, and keeps the panels current while you work. Every gauge is percent **used**, so a full bar means the window is spent, not untouched. (Prefer a quieter dashboard? Trim `panels` under `[usage.quota]` in [`config.toml`](#configuration), or set it to `[]` to hide the quota cards entirely. The per-provider cost line under the table is local scan data, not a quota panel, so it stays whatever you set here.)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "vibe_coding_tracker"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.7.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" }
|
|
index 4a984ba..d8cf94c 100755
|
|
|
Binary file
|
|
index 02f635b..c73b874 100755
|
|
|
Binary file
|
|
index 26b75cf..21b1153 100755
|
|
|
Binary file
|
|
index 809d98c..393fb8d 100755
|
|
|
Binary file
|
|
index 3af5a57..5c110e4 100644
|
|
|
Binary file
|
|
index 3fd57ff..e8722ad 100644
|
|
|
Binary file
|
|
File without changes
|