vibe-coding-tracker 2.2.0__tar.gz → 2.2.2__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.2.0 → vibe_coding_tracker-2.2.2}/PKG-INFO +11 -5
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/README.md +10 -4
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/pyproject.toml +1 -1
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/linux-arm64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/linux-x64-gnu/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/macos-arm64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/macos-x64/vibe_coding_tracker +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/windows-arm64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/src/vibe_coding_tracker/binaries/windows-x64/vibe_coding_tracker.exe +0 -0
- {vibe_coding_tracker-2.2.0 → vibe_coding_tracker-2.2.2}/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.2.
|
|
3
|
+
Version: 2.2.2
|
|
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
|
|
@@ -302,12 +302,15 @@ Totals (by Provider)
|
|
|
302
302
|
"output_tokens": 936186,
|
|
303
303
|
"cache_read_input_tokens": 138099926,
|
|
304
304
|
"cache_creation_input_tokens": 6057836,
|
|
305
|
-
"reasoning_output_tokens": 0
|
|
305
|
+
"reasoning_output_tokens": 0,
|
|
306
|
+
"total_tokens": 145495885
|
|
306
307
|
}
|
|
307
308
|
}
|
|
308
309
|
]
|
|
309
310
|
```
|
|
310
311
|
|
|
312
|
+
Every row serializes the same flat token fields regardless of provider (Codex's internal nested shape is normalized before output).
|
|
313
|
+
|
|
311
314
|
### What It Scans
|
|
312
315
|
|
|
313
316
|
The tool automatically scans these directories:
|
|
@@ -368,7 +371,7 @@ A panel appears only for a provider whose credentials are present. When four pan
|
|
|
368
371
|
| `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
|
|
369
372
|
| `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
|
|
370
373
|
|
|
371
|
-
See [`
|
|
374
|
+
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/).
|
|
372
375
|
|
|
373
376
|
### Basic Usage
|
|
374
377
|
|
|
@@ -426,7 +429,7 @@ vct analysis --json --daily > today.json
|
|
|
426
429
|
|
|
427
430
|
### Preview: Table & JSON (`vct analysis`)
|
|
428
431
|
|
|
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 [`
|
|
432
|
+
`--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/).
|
|
430
433
|
|
|
431
434
|
```text
|
|
432
435
|
Analysis Statistics
|
|
@@ -682,12 +685,15 @@ vct config migrate
|
|
|
682
685
|
4. **Fuzzy (AI-powered)**: Uses Jaro-Winkler similarity (70% threshold)
|
|
683
686
|
5. **Fallback**: Shows $0.00 if no match found
|
|
684
687
|
|
|
688
|
+
Generic placeholder names (e.g. `default`, what cursor-agent records for auto-mode sessions) and very short names never take a substring/fuzzy match — unpriced is safer than a coincidental neighbor's price.
|
|
689
|
+
|
|
685
690
|
### Cost Details
|
|
686
691
|
|
|
692
|
+
- **Context tiers are per request**: LiteLLM's "above Nk tokens" rates (e.g. GPT-5.x above 272k, Gemini above 200k) apply only to requests whose own prompt context crossed the threshold. Providers without per-request granularity — and offline scans — bill at base rates, so tiered-model costs are a lower bound there.
|
|
687
693
|
- **Beyond tokens**: Claude web-search tool calls (`server_tool_use.web_search_requests`) are billed per query on top of the token cost; every other model's per-query charge is $0.
|
|
688
694
|
- **OpenCode**: a novel model name is priced from its tokens only on an **exact** LiteLLM match; with no exact match, vct trusts the assistant message's own stored cost instead of guessing from a loosely-similar name.
|
|
689
695
|
- **Hermes**: priced the same way as OpenCode — an **exact** LiteLLM match prices from tokens, otherwise vct uses Hermes's own stored cost.
|
|
690
|
-
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only; this is a point-in-time local context estimate, not cumulative billed usage.
|
|
696
|
+
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only (falling back to the input rate when the model publishes no cache-read price); this is a point-in-time local context estimate, not cumulative billed usage.
|
|
691
697
|
- **Cache is raw**: the daily cache stores the filtered upstream LiteLLM JSON (not a derived shape), so tiered / batch pricing stays available without re-fetching, and each pricing map owns a small in-process LRU so repeated lookups stay cheap without cross-map contamination.
|
|
692
698
|
|
|
693
699
|
---
|
|
@@ -276,12 +276,15 @@ Totals (by Provider)
|
|
|
276
276
|
"output_tokens": 936186,
|
|
277
277
|
"cache_read_input_tokens": 138099926,
|
|
278
278
|
"cache_creation_input_tokens": 6057836,
|
|
279
|
-
"reasoning_output_tokens": 0
|
|
279
|
+
"reasoning_output_tokens": 0,
|
|
280
|
+
"total_tokens": 145495885
|
|
280
281
|
}
|
|
281
282
|
}
|
|
282
283
|
]
|
|
283
284
|
```
|
|
284
285
|
|
|
286
|
+
Every row serializes the same flat token fields regardless of provider (Codex's internal nested shape is normalized before output).
|
|
287
|
+
|
|
285
288
|
### What It Scans
|
|
286
289
|
|
|
287
290
|
The tool automatically scans these directories:
|
|
@@ -342,7 +345,7 @@ A panel appears only for a provider whose credentials are present. When four pan
|
|
|
342
345
|
| `--json` | Complete parser results as JSON: one object for `<FILE>`, otherwise an array of objects |
|
|
343
346
|
| `--daily` / `--weekly` / `--monthly` / `--all` | Time range filter for all-session analysis (see table above; not accepted with `<FILE>`) |
|
|
344
347
|
|
|
345
|
-
See [`
|
|
348
|
+
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/).
|
|
346
349
|
|
|
347
350
|
### Basic Usage
|
|
348
351
|
|
|
@@ -400,7 +403,7 @@ vct analysis --json --daily > today.json
|
|
|
400
403
|
|
|
401
404
|
### Preview: Table & JSON (`vct analysis`)
|
|
402
405
|
|
|
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 [`
|
|
406
|
+
`--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/).
|
|
404
407
|
|
|
405
408
|
```text
|
|
406
409
|
Analysis Statistics
|
|
@@ -656,12 +659,15 @@ vct config migrate
|
|
|
656
659
|
4. **Fuzzy (AI-powered)**: Uses Jaro-Winkler similarity (70% threshold)
|
|
657
660
|
5. **Fallback**: Shows $0.00 if no match found
|
|
658
661
|
|
|
662
|
+
Generic placeholder names (e.g. `default`, what cursor-agent records for auto-mode sessions) and very short names never take a substring/fuzzy match — unpriced is safer than a coincidental neighbor's price.
|
|
663
|
+
|
|
659
664
|
### Cost Details
|
|
660
665
|
|
|
666
|
+
- **Context tiers are per request**: LiteLLM's "above Nk tokens" rates (e.g. GPT-5.x above 272k, Gemini above 200k) apply only to requests whose own prompt context crossed the threshold. Providers without per-request granularity — and offline scans — bill at base rates, so tiered-model costs are a lower bound there.
|
|
661
667
|
- **Beyond tokens**: Claude web-search tool calls (`server_tool_use.web_search_requests`) are billed per query on top of the token cost; every other model's per-query charge is $0.
|
|
662
668
|
- **OpenCode**: a novel model name is priced from its tokens only on an **exact** LiteLLM match; with no exact match, vct trusts the assistant message's own stored cost instead of guessing from a loosely-similar name.
|
|
663
669
|
- **Hermes**: priced the same way as OpenCode — an **exact** LiteLLM match prices from tokens, otherwise vct uses Hermes's own stored cost.
|
|
664
|
-
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only; this is a point-in-time local context estimate, not cumulative billed usage.
|
|
670
|
+
- **Grok**: `contextTokensUsed` is priced as cache-read tokens only (falling back to the input rate when the model publishes no cache-read price); this is a point-in-time local context estimate, not cumulative billed usage.
|
|
665
671
|
- **Cache is raw**: the daily cache stores the filtered upstream LiteLLM JSON (not a derived shape), so tiered / batch pricing stays available without re-fetching, and each pricing map owns a small in-process LRU so repeated lookups stay cheap without cross-map contamination.
|
|
666
672
|
|
|
667
673
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "vibe_coding_tracker"
|
|
3
|
-
version = "2.2.
|
|
3
|
+
version = "2.2.2"
|
|
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 795c22e..5cab377 100755
|
|
|
Binary file
|
|
index 70869ba..24e2e03 100755
|
|
|
Binary file
|
|
index 7532269..52fe5ae 100755
|
|
|
Binary file
|
|
index a10f06c..27d808a 100755
|
|
|
Binary file
|
|
index fdd9b15..7a86226 100644
|
|
|
Binary file
|
|
index dfd5de7..f3b6c1f 100644
|
|
|
Binary file
|
|
File without changes
|