tokentracker-cli 0.41.0 → 0.42.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.ja.md +1 -0
- package/README.ko.md +1 -0
- package/README.md +1 -0
- package/README.zh-CN.md +1 -0
- package/dashboard/dist/assets/{ActivityHeatmap-DAyvtRkn.js → ActivityHeatmap-CImSj13A.js} +1 -1
- package/dashboard/dist/assets/{Card-DByZ3SxT.js → Card-DpjFlMHF.js} +1 -1
- package/dashboard/dist/assets/DashboardPage-CZkSRYE8.js +19 -0
- package/dashboard/dist/assets/{DevicePage-BkGbFsCV.js → DevicePage-BIBlmBPl.js} +1 -1
- package/dashboard/dist/assets/{DialogTitle-BhNOpzk4.js → DialogTitle-BMKzpys0.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-CQ0uWwqS.js → FadeIn-B5-cy4YN.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-OlcZIZs-.js → HeaderGithubStar-BM-sbvJG.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-VaBccp0v.js → IpCheckPage-C7-NXbFK.js} +4 -4
- package/dashboard/dist/assets/{LandingPage-BbOOtp0W.js → LandingPage-ouOFlABY.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardAvatar-B26XN7XT.js → LeaderboardAvatar-DMXPtCkx.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-D43tLe4r.js → LeaderboardPage-CC4CFYAe.js} +3 -3
- package/dashboard/dist/assets/{LeaderboardProfileModal-Cc3TV4wl.js → LeaderboardProfileModal-D-ncIr24.js} +3 -3
- package/dashboard/dist/assets/LeaderboardProfilePage-DtDMfVuQ.js +421 -0
- package/dashboard/dist/assets/{LimitsPage-HXB3ON_M.js → LimitsPage-qaD7Reti.js} +2 -2
- package/dashboard/dist/assets/{LocalOnlyNotice-BtgOf0xW.js → LocalOnlyNotice-BCy18fW4.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-CHNz2uuj.js → LoginPage-BLPY2ZI-.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-i1aCasNO.js → PopoverPopup-CpIlpO0j.js} +1 -1
- package/dashboard/dist/assets/{Select-Dn4TdKJu.js → Select-BOxMknxo.js} +1 -1
- package/dashboard/dist/assets/{SelectItemText-D2YtMFj0.js → SelectItemText-B0SL3Wb5.js} +1 -1
- package/dashboard/dist/assets/SettingsPage-De7GbtPf.js +1 -0
- package/dashboard/dist/assets/{SkillsPage-Bt8e5ROp.js → SkillsPage-jpoYzUBQ.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-CGnhXDpP.js → WidgetsPage-BaEYiZZH.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-FEgpbrfx.js → WrappedPage-BYhKuiTb.js} +1 -1
- package/dashboard/dist/assets/agent-logos-DSQgCNll.js +1 -0
- package/dashboard/dist/assets/{arrow-up-right-Al34G4US.js → arrow-up-right-Brwh94cN.js} +1 -1
- package/dashboard/dist/assets/{download-BorAs8Ai.js → download-kFiot71R.js} +1 -1
- package/dashboard/dist/assets/{info-BjMpOQ6L.js → info-CGx4zWQF.js} +1 -1
- package/dashboard/dist/assets/{main-BZIH6355.js → main-9Ze1SUIZ.js} +18 -18
- package/dashboard/dist/assets/{main-DTwPGswA.css → main-DMJJVAOH.css} +1 -1
- package/dashboard/dist/assets/{use-limits-display-prefs-CMcyG3Sf.js → use-limits-display-prefs-Ehri95OP.js} +1 -1
- package/dashboard/dist/assets/{use-native-settings-Dda0lUdD.js → use-native-settings-BWqG5RDr.js} +1 -1
- package/dashboard/dist/assets/{use-usage-limits-DpD2WuDG.js → use-usage-limits-2ZxmPfoP.js} +1 -1
- package/dashboard/dist/assets/{useCurrency-Bar8ZQys.js → useCurrency-DQmyhw3i.js} +1 -1
- package/dashboard/dist/assets/{useScrollLock-g4Jj83C_.js → useScrollLock-BcLeWqWK.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +1 -1
- package/src/lib/local-api.js +63 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +15 -13
- package/dashboard/dist/assets/DashboardPage-DJLLG7DG.js +0 -19
- package/dashboard/dist/assets/LeaderboardProfilePage-DAVuscsT.js +0 -1
- package/dashboard/dist/assets/SettingsPage-D-44xtnb.js +0 -1
- package/dashboard/dist/assets/agent-logos-2LgC_fmg.js +0 -1
package/src/lib/rollout.js
CHANGED
|
@@ -679,21 +679,23 @@ async function parseOpenclawSessionFile({
|
|
|
679
679
|
|
|
680
680
|
const model = normalizeModelInput(msg.model) || DEFAULT_MODEL;
|
|
681
681
|
|
|
682
|
-
//
|
|
683
|
-
//
|
|
684
|
-
//
|
|
685
|
-
//
|
|
686
|
-
|
|
687
|
-
const
|
|
688
|
-
const
|
|
689
|
-
const
|
|
682
|
+
// OpenClaw wraps Codex, so it follows the same OpenAI convention where
|
|
683
|
+
// `input` INCLUDES cached reads. Normalize by subtracting cached from
|
|
684
|
+
// input so `input_tokens` is pure non-cached (matches CLAUDE.md spec
|
|
685
|
+
// and prevents downstream double-counting at the cache_read rate on top
|
|
686
|
+
// of the full input rate — ~6–7x cost inflation on cache-heavy sessions).
|
|
687
|
+
const openclawRawInput = Number(usage.input || 0);
|
|
688
|
+
const openclawCached = Number(usage.cacheRead || 0);
|
|
689
|
+
const openclawCacheWrite = Number(usage.cacheWrite || 0);
|
|
690
|
+
const openclawOutput = Number(usage.output || 0);
|
|
691
|
+
const openclawInput = Math.max(0, openclawRawInput - openclawCached);
|
|
690
692
|
const delta = {
|
|
691
|
-
input_tokens:
|
|
692
|
-
cached_input_tokens:
|
|
693
|
-
cache_creation_input_tokens:
|
|
694
|
-
output_tokens:
|
|
693
|
+
input_tokens: openclawInput,
|
|
694
|
+
cached_input_tokens: openclawCached,
|
|
695
|
+
cache_creation_input_tokens: openclawCacheWrite,
|
|
696
|
+
output_tokens: openclawOutput,
|
|
695
697
|
reasoning_output_tokens: 0,
|
|
696
|
-
total_tokens:
|
|
698
|
+
total_tokens: openclawInput + openclawCached + openclawCacheWrite + openclawOutput,
|
|
697
699
|
conversation_count: 1,
|
|
698
700
|
};
|
|
699
701
|
|