nomnomtokens 0.1.0 → 0.3.0
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 +19 -13
- package/dist/index.js +4983 -3960
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/web/nitro.json +1 -1
- package/web/public/_nuxt/4C_a23zt.js +1 -0
- package/web/public/_nuxt/B1jhn8zK.js +1 -0
- package/web/public/_nuxt/B2aHje2L.js +1 -0
- package/web/public/_nuxt/BAfR3Wl32.js +1 -0
- package/web/public/_nuxt/BMSLzLlT.js +1 -0
- package/web/public/_nuxt/BOKlFKrX.js +1 -0
- package/web/public/_nuxt/Ba6z8j_4.js +1 -0
- package/web/public/_nuxt/{B1O-ibEy.js → Bag9D5rq.js} +2 -2
- package/web/public/_nuxt/Bia8fJFj.js +1 -0
- package/web/public/_nuxt/{tqUqm2f-.js → Bprokln-.js} +1 -1
- package/web/public/_nuxt/C51OzH6V.js +1 -0
- package/web/public/_nuxt/C9MiT_Wm.js +96 -0
- package/web/public/_nuxt/CDzUujek.js +2 -0
- package/web/public/_nuxt/CIHIOSzn.js +1 -0
- package/web/public/_nuxt/CIKwfDBl.js +1 -0
- package/web/public/_nuxt/COwSpxrx.js +1 -0
- package/web/public/_nuxt/CZSbzIi-.js +1 -0
- package/web/public/_nuxt/CfBMjq8x.js +1 -0
- package/web/public/_nuxt/Ch3y3mGJ.js +1 -0
- package/web/public/_nuxt/{B7bAnU98.js → CkRZsevx.js} +1 -1
- package/web/public/_nuxt/Cq1Sq3Go.js +1 -0
- package/web/public/_nuxt/CsN_oUfs.js +1 -0
- package/web/public/_nuxt/CvIugsJe2.js +1 -0
- package/web/public/_nuxt/D49wVVwm2.js +1 -0
- package/web/public/_nuxt/D4C6J8YV.js +1 -0
- package/web/public/_nuxt/D7Ph0tZD.js +1 -0
- package/web/public/_nuxt/D9Mxq5ER.js +1 -0
- package/web/public/_nuxt/D9j6aFUy.js +1 -0
- package/web/public/_nuxt/DMgad8mU.js +1 -0
- package/web/public/_nuxt/DPnm6zS2.js +1 -0
- package/web/public/_nuxt/DQEnwY-5.js +1 -0
- package/web/public/_nuxt/Dh50_bkx.js +1 -0
- package/web/public/_nuxt/DhJW7zb9.js +1 -0
- package/web/public/_nuxt/DnTwjl0_2.js +47 -0
- package/web/public/_nuxt/DsH8sTHf.js +1 -0
- package/web/public/_nuxt/Dy30RUCD2.js +1 -0
- package/web/public/_nuxt/OU1MVgXQ.js +1 -0
- package/web/public/_nuxt/W3KL_OjU.js +1 -0
- package/web/public/_nuxt/{BgvEQa6E.js → ZjfInHdu.js} +2 -2
- package/web/public/_nuxt/builds/latest.json +1 -1
- package/web/public/_nuxt/builds/meta/e90c8a2d-9e50-4b58-8019-6b1bf4c8fc6d.json +1 -0
- package/web/public/_nuxt/cbxnBwm6.js +1 -0
- package/web/public/_nuxt/entry.MbqNBIeH.css +2 -0
- package/web/public/_nuxt/limits.DDC9tNkw.css +1 -0
- package/web/public/_nuxt/m3-Vaz25.js +1 -0
- package/web/server/chunks/_/filters.mjs +1 -1
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs → Badge-BmQgPqZ1.mjs} +2 -2
- package/web/server/chunks/build/{Badge-C0eTW_zX.mjs.map → Badge-BmQgPqZ1.mjs.map} +1 -1
- package/web/server/chunks/build/{Button-7BTto1uR.mjs → Button-DnpDAHT3.mjs} +2 -2
- package/web/server/chunks/build/{Button-7BTto1uR.mjs.map → Button-DnpDAHT3.mjs.map} +1 -1
- package/web/server/chunks/build/Card-Be4cmWue.mjs +30 -0
- package/web/server/chunks/build/Card-Be4cmWue.mjs.map +1 -0
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs → CardAction-CkY0xYx3.mjs} +2 -2
- package/web/server/chunks/build/{CardAction-M7nFIGyX.mjs.map → CardAction-CkY0xYx3.mjs.map} +1 -1
- package/web/server/chunks/build/{CardTitle-D9ve_H9E.mjs → CardContent-C_IMqI8K.mjs} +26 -26
- package/web/server/chunks/build/CardContent-C_IMqI8K.mjs.map +1 -0
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs → EmptyState-FUeBWCT0.mjs} +2 -2
- package/web/server/chunks/build/{EmptyState-DWgJMVCI.mjs.map → EmptyState-FUeBWCT0.mjs.map} +1 -1
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs → FilterBar-BlEsJ5dy.mjs} +5 -5
- package/web/server/chunks/build/{FilterBar-vwbfttN7.mjs.map → FilterBar-BlEsJ5dy.mjs.map} +1 -1
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs → Progress-BUpfE9Os.mjs} +2 -2
- package/web/server/chunks/build/{Progress-BckzQSF5.mjs.map → Progress-BUpfE9Os.mjs.map} +1 -1
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs +28 -0
- package/web/server/chunks/build/Skeleton-BidW2_bw.mjs.map +1 -0
- package/web/server/chunks/build/{Sparkline-DDDyGBE4.mjs → Sparkline-CaCRq45J.mjs} +6 -5
- package/web/server/chunks/build/Sparkline-CaCRq45J.mjs.map +1 -0
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs → TableCell-xM3CadYu.mjs} +2 -2
- package/web/server/chunks/build/{TableCell-BZwItbY_.mjs.map → TableCell-xM3CadYu.mjs.map} +1 -1
- package/web/server/chunks/build/{Tooltip-BVTXdgMT.mjs → Tooltip-BZX3jLtj.mjs} +16 -4
- package/web/server/chunks/build/Tooltip-BZX3jLtj.mjs.map +1 -0
- package/web/server/chunks/build/{_id_-HbVNBXK4.mjs → _id_-BvccBwzH.mjs} +14 -11
- package/web/server/chunks/build/_id_-BvccBwzH.mjs.map +1 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs +159 -0
- package/web/server/chunks/build/alerts-6wBAzQHU.mjs.map +1 -0
- package/web/server/chunks/build/{fetch-Debw9R9i.mjs → asyncData-CMa0z9Yw.mjs} +8 -129
- package/web/server/chunks/build/asyncData-CMa0z9Yw.mjs.map +1 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs +847 -0
- package/web/server/chunks/build/default-BokiYQNv.mjs.map +1 -0
- package/web/server/chunks/build/error-404-DPRNxhXC.mjs +2 -2
- package/web/server/chunks/build/error-500-DXGrtqsW.mjs +2 -2
- package/web/server/chunks/build/export-BhfwmSMl.mjs +184 -0
- package/web/server/chunks/build/export-BhfwmSMl.mjs.map +1 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs +131 -0
- package/web/server/chunks/build/fetch-DJ9NNbFP.mjs.map +1 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs +233 -0
- package/web/server/chunks/build/import-CO3NEu0P.mjs.map +1 -0
- package/web/server/chunks/build/{limits-B44okAo1.mjs → limits-CX9zBSqw.mjs} +37 -29
- package/web/server/chunks/build/limits-CX9zBSqw.mjs.map +1 -0
- package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs +8 -0
- package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs.map +1 -0
- package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs +2 -2
- package/web/server/chunks/build/{pages-CffxtNMi.mjs → pages-DyXqJyPq.mjs} +140 -15
- package/web/server/chunks/build/pages-DyXqJyPq.mjs.map +1 -0
- package/web/server/chunks/build/{providers-CUjXlgDS.mjs → providers-Ca7keu2G.mjs} +17 -14
- package/web/server/chunks/build/providers-Ca7keu2G.mjs.map +1 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs +1348 -0
- package/web/server/chunks/build/scopes-E5z80S19.mjs.map +1 -0
- package/web/server/chunks/build/{sessions-BvRUAKPl.mjs → sessions-CESRiCOS.mjs} +14 -11
- package/web/server/chunks/build/sessions-CESRiCOS.mjs.map +1 -0
- package/web/server/chunks/build/{timeline-BbSoi8xO.mjs → timeline-d27OlbZN.mjs} +16 -13
- package/web/server/chunks/build/timeline-d27OlbZN.mjs.map +1 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs +71 -0
- package/web/server/chunks/build/useFormat-NkyUqeik.mjs.map +1 -0
- package/web/server/chunks/build/{useStats-Dor6kLek.mjs → useStats-CmYzpdbE.mjs} +11 -3
- package/web/server/chunks/build/useStats-CmYzpdbE.mjs.map +1 -0
- package/web/server/chunks/nitro/nitro.mjs +1031 -209
- package/web/server/chunks/nitro/nitro.mjs.map +1 -1
- package/web/server/chunks/routes/api/alerts.get.mjs +24 -0
- package/web/server/chunks/routes/api/alerts.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/alerts.put.mjs +27 -0
- package/web/server/chunks/routes/api/alerts.put.mjs.map +1 -0
- package/web/server/chunks/routes/api/events/stream.get.mjs +3 -3
- package/web/server/chunks/routes/api/export.get.mjs +36 -0
- package/web/server/chunks/routes/api/export.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs +65 -0
- package/web/server/chunks/routes/api/import/csv.post.mjs.map +1 -0
- package/web/server/chunks/routes/api/ingest.post.mjs +3 -3
- package/web/server/chunks/routes/api/meta.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/heatmap.get.mjs +2 -2
- package/web/server/chunks/routes/api/stats/limits.get.mjs +6 -5
- package/web/server/chunks/routes/api/stats/limits.get.mjs.map +1 -1
- package/web/server/chunks/routes/api/stats/providers.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/scopes.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/series.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/session/_id_.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/sessions.get.mjs +3 -3
- package/web/server/chunks/routes/api/stats/summary.get.mjs +3 -3
- package/web/server/chunks/routes/renderer.mjs +2 -2
- package/web/server/chunks/virtual/entry.mjs +26 -11
- package/web/server/chunks/virtual/precomputed.mjs +1 -1
- package/web/server/chunks/virtual/precomputed.mjs.map +1 -1
- package/web/server/chunks/virtual/styles.mjs +3 -1
- package/web/server/chunks/virtual/styles.mjs.map +1 -1
- package/web/server/index.mjs +3 -3
- package/web/public/_nuxt/BDF8cO8j.js +0 -1
- package/web/public/_nuxt/BPhzhJvP.js +0 -1
- package/web/public/_nuxt/BgaLDD2o.js +0 -1
- package/web/public/_nuxt/BioUjjBz.js +0 -1
- package/web/public/_nuxt/BlvSknce.js +0 -1
- package/web/public/_nuxt/Bn14i44R.js +0 -1
- package/web/public/_nuxt/Bv0odo9W.js +0 -1
- package/web/public/_nuxt/Bxx0Z5z6.js +0 -1
- package/web/public/_nuxt/C-xeWIVA.js +0 -1
- package/web/public/_nuxt/CC85Q8DD.js +0 -1
- package/web/public/_nuxt/CNp1wm92.js +0 -47
- package/web/public/_nuxt/CYcD169V.js +0 -1
- package/web/public/_nuxt/Cay8LZ9u.js +0 -1
- package/web/public/_nuxt/CoCv6Hmx.js +0 -1
- package/web/public/_nuxt/Ctg1e1JV.js +0 -1
- package/web/public/_nuxt/Cy-tzONg.js +0 -2
- package/web/public/_nuxt/DCnkQFS0.js +0 -1
- package/web/public/_nuxt/DJbGqyvB.js +0 -1
- package/web/public/_nuxt/DMT7tA5C.js +0 -1
- package/web/public/_nuxt/DvKiMgoh.js +0 -1
- package/web/public/_nuxt/Dw4si2jw.js +0 -1
- package/web/public/_nuxt/M0pG6UQn.js +0 -1
- package/web/public/_nuxt/RlymLGHS.js +0 -1
- package/web/public/_nuxt/TmkSb4nj.js +0 -1
- package/web/public/_nuxt/TnCE9lfg.js +0 -86
- package/web/public/_nuxt/_S09PGd-.js +0 -1
- package/web/public/_nuxt/builds/meta/57c20bc9-f17f-4623-94bd-ea8746650367.json +0 -1
- package/web/public/_nuxt/cHkFs-ms.js +0 -1
- package/web/public/_nuxt/entry.CwLI8Fh7.css +0 -2
- package/web/public/_nuxt/oT-x2NdZ.js +0 -1
- package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs.map +0 -1
- package/web/server/chunks/build/Sparkline-DDDyGBE4.mjs.map +0 -1
- package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs.map +0 -1
- package/web/server/chunks/build/_id_-HbVNBXK4.mjs.map +0 -1
- package/web/server/chunks/build/default-C8deLrP0.mjs +0 -556
- package/web/server/chunks/build/default-C8deLrP0.mjs.map +0 -1
- package/web/server/chunks/build/fetch-Debw9R9i.mjs.map +0 -1
- package/web/server/chunks/build/limits-B44okAo1.mjs.map +0 -1
- package/web/server/chunks/build/pages-CffxtNMi.mjs.map +0 -1
- package/web/server/chunks/build/providers-CUjXlgDS.mjs.map +0 -1
- package/web/server/chunks/build/scopes-CQokoqM9.mjs +0 -788
- package/web/server/chunks/build/scopes-CQokoqM9.mjs.map +0 -1
- package/web/server/chunks/build/sessions-BvRUAKPl.mjs.map +0 -1
- package/web/server/chunks/build/timeline-BbSoi8xO.mjs.map +0 -1
- package/web/server/chunks/build/useFormat-D8in50HT.mjs +0 -116
- package/web/server/chunks/build/useFormat-D8in50HT.mjs.map +0 -1
- package/web/server/chunks/build/useStats-Dor6kLek.mjs.map +0 -1
- /package/web/public/_nuxt/{BDNMzG2s.js → BDNMzG2s2.js} +0 -0
package/README.md
CHANGED
|
@@ -10,11 +10,14 @@ projects, and when you'll hit your limit.
|
|
|
10
10
|
npx nomnomtokens
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-

|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
Claude Code, Cursor (when its local IDE database has token fields), and Codex
|
|
18
|
+
CLI/IDE session rollouts. The event contract is deliberately not AI-shaped, so
|
|
19
|
+
other agents — and eventually CI minutes and cloud bills — plug in as adapters
|
|
20
|
+
without touching the core.
|
|
18
21
|
|
|
19
22
|
## What you get
|
|
20
23
|
|
|
@@ -30,7 +33,7 @@ CI minutes and cloud bills — plug in as adapters without touching the core.
|
|
|
30
33
|
- **Limits** — window-fill history with a burn-rate projection and markers for
|
|
31
34
|
the moments you actually hit the cap.
|
|
32
35
|
|
|
33
|
-
Filter state lives in the URL, `⌘K` jumps anywhere, dark
|
|
36
|
+
Filter state lives in the URL, `⌘K` jumps anywhere, light or dark theme.
|
|
34
37
|
|
|
35
38
|
## Install
|
|
36
39
|
|
|
@@ -64,6 +67,10 @@ The hook doubles as a real status line:
|
|
|
64
67
|
| `nnt init [--force]` | wire up the status line hook |
|
|
65
68
|
| `nnt statusline` | ingest a session payload and print a status line |
|
|
66
69
|
| `nnt doctor` | why is it empty? checks sources, hook, and store |
|
|
70
|
+
| `nnt import <file.csv>` | import a billing CSV into the local store |
|
|
71
|
+
| `nnt export` | dump filtered events as CSV/JSON |
|
|
72
|
+
| `nnt prices [show\|refresh]` | local model price table (`~/.nomnomtokens/prices.json`) |
|
|
73
|
+
| `nnt alerts [show\|check]` | limit % / daily $ thresholds (`~/.nomnomtokens/alerts.json`) |
|
|
67
74
|
|
|
68
75
|
## Privacy
|
|
69
76
|
|
|
@@ -134,19 +141,18 @@ the core, the contract is wrong and that's a bug worth reporting.
|
|
|
134
141
|
|
|
135
142
|
## Roadmap
|
|
136
143
|
|
|
137
|
-
Shipped: Claude Code
|
|
138
|
-
|
|
139
|
-
|
|
144
|
+
Shipped: Claude Code / Cursor / Codex adapters, CSV import & export, Projects
|
|
145
|
+
grouped by name, local `prices.json` refresh, limit/daily alerts, all dashboard
|
|
146
|
+
screens, limits with forecasting, live updates.
|
|
140
147
|
|
|
141
148
|
Cursor caveat: the IDE often stores zero token counts in local bubbles. We only
|
|
142
149
|
emit events when numbers are present (exact `tokenCount`, or
|
|
143
150
|
`tokensUsed` + delta). We do not estimate from message text. Sessions without
|
|
144
|
-
local counts will not appear until Cursor writes them — or until a
|
|
145
|
-
|
|
151
|
+
local counts will not appear until Cursor writes them — or until you import a
|
|
152
|
+
billing CSV.
|
|
146
153
|
|
|
147
|
-
Next:
|
|
148
|
-
|
|
149
|
-
the critical path.
|
|
154
|
+
Next: OTLP receiver, then cloud mode — a second sink for the same events, never
|
|
155
|
+
a rewrite, and never in the critical path.
|
|
150
156
|
|
|
151
157
|
## License
|
|
152
158
|
|