@ipv9/tokentracker-cli 0.39.37 → 0.39.39
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.
- package/README.md +41 -9
- package/dashboard/dist/assets/{Card-DKmo-v8a.js → Card-BbRYRVXf.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-DYKHv0m3.js +60 -0
- package/dashboard/dist/assets/{FadeIn-Cf30rPTW.js → FadeIn-CjAacJ5t.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-D3CL8XP0.js → IpCheckPage-BGALK8Vy.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-BqST7DxD.js → LimitsPage-LkZGPYvg.js} +2 -2
- package/dashboard/dist/assets/{LocalOnlyNotice-CqHzPooT.js → LocalOnlyNotice-Dxo2vFMQ.js} +1 -1
- package/dashboard/dist/assets/PopoverPopup-DP9fwdtl.js +1 -0
- package/dashboard/dist/assets/Select-DPE53NmM.js +1 -0
- package/dashboard/dist/assets/SelectItemText-D69v77is.js +12 -0
- package/dashboard/dist/assets/SettingsPage-Dxzqpi02.js +1 -0
- package/dashboard/dist/assets/SkillsPage-Bo7e39AB.js +1 -0
- package/dashboard/dist/assets/WidgetsPage-HHcIr_Eq.js +1 -0
- package/dashboard/dist/assets/WrappedPage-C-_jLXXU.js +1 -0
- package/dashboard/dist/assets/{arrow-up-right-BJzUcPig.js → arrow-up-right-BJvJHUGj.js} +1 -1
- package/dashboard/dist/assets/{download-CsXweDLj.js → download-CnzY_EgN.js} +1 -1
- package/dashboard/dist/assets/format-1w-q5n2f.js +1 -0
- package/dashboard/dist/assets/main-1kxAVM3m.css +1 -0
- package/dashboard/dist/assets/main-3gBEI6Jl.js +694 -0
- package/dashboard/dist/assets/mock-data-CJOMGcL9.js +1 -0
- package/dashboard/dist/assets/use-limits-display-prefs-D1nT9-mr.js +1 -0
- package/dashboard/dist/assets/use-native-settings-Dh6NzqjY.js +1 -0
- package/dashboard/dist/assets/use-usage-limits-BXR6lzGf.js +1 -0
- package/dashboard/dist/assets/useCurrency-Hhs5jbWw.js +1 -0
- package/dashboard/dist/index.html +16 -28
- package/dashboard/dist/llms.txt +0 -2
- package/dashboard/dist/sitemap.xml +0 -12
- package/package.json +7 -4
- package/src/cli.js +4 -13
- package/src/commands/doctor.js +1 -3
- package/src/commands/init.js +63 -53
- package/src/commands/serve.js +2 -50
- package/src/commands/status.js +1 -55
- package/src/commands/sync.js +134 -227
- package/src/lib/{browser-auth.js → browser-open.js} +3 -149
- package/src/lib/claude-categorizer.js +204 -32
- package/src/lib/codex-context-breakdown.js +83 -7
- package/src/lib/codex-rollout-parser.js +52 -10
- package/src/lib/diagnostics.js +1 -49
- package/src/lib/doctor.js +12 -87
- package/src/lib/file-identity.js +69 -0
- package/src/lib/init-flow.js +6 -3
- package/src/lib/local-api.js +6 -364
- package/src/lib/pricing/curated-overrides.json +1 -1
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +392 -144
- package/src/lib/runtime-config.js +0 -32
- package/src/lib/sqlite-reader.js +83 -8
- package/dashboard/dist/assets/ActivityHeatmap-DPZ_Aj6E.js +0 -42
- package/dashboard/dist/assets/DashboardPage-C9Q5HCDh.js +0 -19
- package/dashboard/dist/assets/DevicePage-DhQFtROo.js +0 -1
- package/dashboard/dist/assets/DialogTitle-DduJCLiL.js +0 -1
- package/dashboard/dist/assets/InsforgeUserHeaderControls-CDqYVWBQ.js +0 -1
- package/dashboard/dist/assets/LandingPage-9345o0vr.js +0 -4356
- package/dashboard/dist/assets/LeaderboardAvatar-DNORVh3n.js +0 -1
- package/dashboard/dist/assets/LeaderboardPage-DBsdCCzY.js +0 -6
- package/dashboard/dist/assets/LeaderboardProfileModal-BuYdBVh_.js +0 -72
- package/dashboard/dist/assets/LeaderboardProfilePage-D4Fe1LOk.js +0 -1
- package/dashboard/dist/assets/LoginPage-BmcybmeK.js +0 -1
- package/dashboard/dist/assets/PopoverPopup-CDL7kqy5.js +0 -1
- package/dashboard/dist/assets/Select-BkzhG41t.js +0 -1
- package/dashboard/dist/assets/SelectItemText-BmRzs9ud.js +0 -1
- package/dashboard/dist/assets/SettingsPage-gXQl_o6s.js +0 -1
- package/dashboard/dist/assets/SkillsPage-BRXYEsKm.js +0 -1
- package/dashboard/dist/assets/WidgetsPage-CLHLz2UW.js +0 -1
- package/dashboard/dist/assets/WrappedPage-p4ZFwQjO.js +0 -1
- package/dashboard/dist/assets/index-BeoRn2gJ.js +0 -2
- package/dashboard/dist/assets/info-CuLr7ZIa.js +0 -1
- package/dashboard/dist/assets/main-CPGI-smk.js +0 -1004
- package/dashboard/dist/assets/main-DAcSUW2t.css +0 -1
- package/dashboard/dist/assets/use-limits-display-prefs-DOB09__q.js +0 -1
- package/dashboard/dist/assets/use-native-settings-JSylS2xS.js +0 -1
- package/dashboard/dist/assets/use-spring-qjUEvMQX.js +0 -1
- package/dashboard/dist/assets/use-usage-limits-B0bzPxNR.js +0 -1
- package/dashboard/dist/assets/useCurrency-BRorShq7.js +0 -1
- package/dashboard/dist/assets/useOpenInteractionType-DPP-6ZsL.js +0 -12
- package/dashboard/dist/share.html +0 -140
- package/src/commands/device-login.js +0 -161
- package/src/lib/upload-throttle.js +0 -148
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ tokentracker doctor # health check
|
|
|
55
55
|
- 🔌 **22 tools out of the box.** Claude Code, Codex, Cursor, Gemini, Copilot, Antigravity, OpenCode, Kiro, Zed, Goose, and more — auto-detected.
|
|
56
56
|
- 💰 **Accurate cost.** 2,200+ models priced from [LiteLLM](https://github.com/BerriAI/litellm) (refreshed daily) with a bundled offline snapshot, so USD totals are right even without a network. Cross-provider records are de-duplicated so your numbers match each provider's own billing.
|
|
57
57
|
- 📈 **Rate-limit tracking.** Live quota windows with reset countdowns for Claude, Codex, Cursor, Gemini, Kimi, Z.AI, Kiro, Copilot, and Antigravity.
|
|
58
|
-
- 🧩 **
|
|
58
|
+
- 🧩 **Skills tab.** Syncs 250+ public skills across your tools.
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -105,7 +105,7 @@ AI CLI tools → hooks / passive readers → local SQLite → dashboard
|
|
|
105
105
|
3. Counts are aggregated into 30-minute UTC buckets in a local SQLite snapshot.
|
|
106
106
|
4. The dashboard reads that snapshot and renders it in your browser's timezone.
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
Nothing leaves your machine. There is no account, no upload, and no server to sign in to.
|
|
109
109
|
|
|
110
110
|
---
|
|
111
111
|
|
|
@@ -114,7 +114,7 @@ The leaderboard is the only feature that ever leaves your machine, and only when
|
|
|
114
114
|
| Protection | What it means |
|
|
115
115
|
|---|---|
|
|
116
116
|
| **No content** | Only token counts and timestamps. Never prompts, responses, or files. |
|
|
117
|
-
| **Local
|
|
117
|
+
| **Local only** | All data stays on your machine. There is no upload path at all. |
|
|
118
118
|
| **Auditable** | Open source — read [`src/lib/rollout.js`](src/lib/rollout.js); it's just numbers and timestamps. |
|
|
119
119
|
| **No telemetry** | No analytics, no crash reporting, no phone-home. |
|
|
120
120
|
|
|
@@ -132,7 +132,16 @@ Most users never touch this — defaults are sensible.
|
|
|
132
132
|
| `GEMINI_HOME` | Override Gemini CLI directory | `~/.gemini` |
|
|
133
133
|
| `TOKENTRACKER_GROK_HOME` | Override Grok Build directory | `~/.grok` |
|
|
134
134
|
|
|
135
|
-
To force a dashboard port
|
|
135
|
+
To force a dashboard port, use your shell's environment-variable syntax (otherwise TokenTracker auto-picks the next free port from `7680`):
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
PORT=7700 npx --yes @ipv9/tokentracker-cli serve
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```powershell
|
|
142
|
+
$env:PORT = 7700
|
|
143
|
+
npx --yes @ipv9/tokentracker-cli serve
|
|
144
|
+
```
|
|
136
145
|
|
|
137
146
|
Browser auto-open is opt-in: `tokentracker serve --open`. Background services and headless shells should use the default no-open behavior and open the printed URL manually.
|
|
138
147
|
|
|
@@ -153,6 +162,15 @@ npm test # root tests
|
|
|
153
162
|
npm run ci:local # full local gate (build + tests + validators)
|
|
154
163
|
```
|
|
155
164
|
|
|
165
|
+
## 📚 Code Documentation
|
|
166
|
+
|
|
167
|
+
Source-backed engineering documentation starts at
|
|
168
|
+
[`openwiki/README.md`](openwiki/README.md). Regenerate the local fact
|
|
169
|
+
ledger with `npm run docs:openwiki:extract`, validate it with
|
|
170
|
+
`npm run docs:openwiki:check`, and use `npm run docs:openwiki:verify` for the
|
|
171
|
+
independent read-only review. The model-backed update command expects credentials
|
|
172
|
+
from the caller's environment and never reads them from this repository.
|
|
173
|
+
|
|
156
174
|
---
|
|
157
175
|
|
|
158
176
|
## 🔧 Troubleshooting
|
|
@@ -176,7 +194,15 @@ If a tool you use shows as not configured, run `tokentracker activate-if-needed`
|
|
|
176
194
|
|
|
177
195
|
<br/>
|
|
178
196
|
|
|
179
|
-
The server auto-picks the next free port (`7681`, `7682`, …) and logs it on startup. To force one
|
|
197
|
+
The server auto-picks the next free port (`7681`, `7682`, …) and logs it on startup. To force one, use the Bash or PowerShell command in [Configuration](#configuration). To see what's holding port `7680`:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
lsof -i :7680
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
```powershell
|
|
204
|
+
Get-NetTCPConnection -LocalPort 7680 -ErrorAction SilentlyContinue
|
|
205
|
+
```
|
|
180
206
|
|
|
181
207
|
</details>
|
|
182
208
|
|
|
@@ -204,17 +230,23 @@ tokentracker doctor
|
|
|
204
230
|
</details>
|
|
205
231
|
|
|
206
232
|
<details>
|
|
207
|
-
<summary><b>Windows / PowerShell
|
|
233
|
+
<summary><b>Windows / PowerShell: start TokenTracker with npx</b></summary>
|
|
208
234
|
|
|
209
235
|
<br/>
|
|
210
236
|
|
|
211
|
-
|
|
237
|
+
For an interactive PowerShell session:
|
|
238
|
+
|
|
239
|
+
```powershell
|
|
240
|
+
npx --yes @ipv9/tokentracker-cli serve --open
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
For headless PowerShell, CI, or a background process, keep browser opening disabled:
|
|
212
244
|
|
|
213
245
|
```powershell
|
|
214
|
-
tokentracker serve --no-sync --no-open
|
|
246
|
+
npx --yes @ipv9/tokentracker-cli serve --no-sync --no-open
|
|
215
247
|
```
|
|
216
248
|
|
|
217
|
-
|
|
249
|
+
TokenTracker never stops another process to free a port. When no port is specified it tries the next one up (`7681`, `7682`, …); an explicit `--port` or `$env:PORT` that is already in use fails startup and prints an alternative command to run.
|
|
218
250
|
|
|
219
251
|
</details>
|
|
220
252
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r}from"./main-
|
|
1
|
+
import{j as r}from"./main-3gBEI6Jl.js";function t({children:i,title:a,subtitle:o,className:s="",bodyClassName:d=""}){return r.jsxs("div",{className:`rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 transition-colors duration-200 ${s}`,children:[(a||o)&&r.jsxs("div",{className:"px-5 py-4 border-b border-oai-gray-200 dark:border-oai-gray-800 transition-colors duration-200",children:[a&&r.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide transition-colors duration-200",children:a}),o&&r.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300 mt-1 transition-colors duration-200",children:o})]}),r.jsx("div",{className:`p-5 ${d}`,children:i})]})}export{t as C};
|