tokentracker-cli 0.26.2 → 0.26.3

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.
Files changed (42) hide show
  1. package/dashboard/dist/assets/{ActivityHeatmap-BX2q-PW5.js → ActivityHeatmap-BQmAWAi7.js} +1 -1
  2. package/dashboard/dist/assets/{Card-CKdycEDk.js → Card-Cq6JCZM2.js} +1 -1
  3. package/dashboard/dist/assets/{DashboardPage-T_BImOGr.js → DashboardPage-CUt6YnjQ.js} +1 -1
  4. package/dashboard/dist/assets/{DevicePage-DqFrE2fo.js → DevicePage-BwZwER8Q.js} +1 -1
  5. package/dashboard/dist/assets/{DialogTitle-BPUtAz2U.js → DialogTitle-wuIq7mbf.js} +1 -1
  6. package/dashboard/dist/assets/{FadeIn-ortmqOpl.js → FadeIn-CEOcEh_z.js} +1 -1
  7. package/dashboard/dist/assets/{HeaderGithubStar-Cl4nchsC.js → HeaderGithubStar-BRQgDG4V.js} +1 -1
  8. package/dashboard/dist/assets/{IpCheckPage-CxRBCdXW.js → IpCheckPage-BrOzm4SC.js} +1 -1
  9. package/dashboard/dist/assets/{LandingPage-DoIw_oXY.js → LandingPage-vqu0eDLZ.js} +1 -1
  10. package/dashboard/dist/assets/{LeaderboardAvatar-GMFZci05.js → LeaderboardAvatar-Am5bi8es.js} +1 -1
  11. package/dashboard/dist/assets/{LeaderboardPage-BzkrPpnp.js → LeaderboardPage-Bi-245fM.js} +3 -3
  12. package/dashboard/dist/assets/{LeaderboardProfileModal-CAcqZ15e.js → LeaderboardProfileModal-C8LQXrnF.js} +1 -1
  13. package/dashboard/dist/assets/{LeaderboardProfilePage-D7jyFQk5.js → LeaderboardProfilePage-31yIarGc.js} +1 -1
  14. package/dashboard/dist/assets/{LimitsPage-fdq2MG4P.js → LimitsPage-h3rjkQlR.js} +1 -1
  15. package/dashboard/dist/assets/{LocalOnlyNotice-XEv4_b68.js → LocalOnlyNotice-CebJL6tE.js} +1 -1
  16. package/dashboard/dist/assets/{LoginPage-CJ31pW6G.js → LoginPage-sRWAttYf.js} +1 -1
  17. package/dashboard/dist/assets/{PopoverPopup-cEzMmw1k.js → PopoverPopup-D5KBjI3r.js} +1 -1
  18. package/dashboard/dist/assets/{ProviderIcon-CkKiJH4q.js → ProviderIcon-CSMEjb0n.js} +1 -1
  19. package/dashboard/dist/assets/{SettingsPage-D--hzVuV.js → SettingsPage-B9x5wKaH.js} +1 -1
  20. package/dashboard/dist/assets/{SkillsPage-BTxPA7dW.js → SkillsPage-Cl76d9F3.js} +1 -1
  21. package/dashboard/dist/assets/{WidgetsPage-Bh4zs5u8.js → WidgetsPage-CfgHQjCv.js} +1 -1
  22. package/dashboard/dist/assets/{WrappedPage-COhqXKs7.js → WrappedPage--2jUGICx.js} +1 -1
  23. package/dashboard/dist/assets/{arrow-up-right-B0tVW8XM.js → arrow-up-right-ru062Kz1.js} +1 -1
  24. package/dashboard/dist/assets/check-CG2_3azC.js +1 -0
  25. package/dashboard/dist/assets/{chevron-down-Cz58bkoU.js → chevron-down-Czb08wHc.js} +1 -1
  26. package/dashboard/dist/assets/{download-Gv8d-j81.js → download-_X5qj-Bp.js} +1 -1
  27. package/dashboard/dist/assets/{info-bDEPb8dB.js → info-DBw8ck72.js} +1 -1
  28. package/dashboard/dist/assets/{main-tm3dyfMf.js → main-CYNmFfGa.js} +2 -2
  29. package/dashboard/dist/assets/{use-limits-display-prefs-BvHWn0OQ.js → use-limits-display-prefs-DDOdet4v.js} +1 -1
  30. package/dashboard/dist/assets/{use-native-settings-CI_YvzEo.js → use-native-settings-Bz5dJHlV.js} +1 -1
  31. package/dashboard/dist/assets/{use-reduced-motion-pCeztzVC.js → use-reduced-motion-7VZbLGR1.js} +1 -1
  32. package/dashboard/dist/assets/{use-usage-limits-CKWnCeca.js → use-usage-limits-CW7MLh5g.js} +1 -1
  33. package/dashboard/dist/assets/{useCurrency-DLoIpDjL.js → useCurrency-BF2b0rl-.js} +1 -1
  34. package/dashboard/dist/index.html +1 -1
  35. package/dashboard/dist/share.html +1 -1
  36. package/package.json +1 -1
  37. package/src/commands/sync.js +8 -6
  38. package/src/lib/claude-categorizer.js +59 -18
  39. package/src/lib/pricing/matcher.js +20 -0
  40. package/src/lib/pricing/seed-snapshot.json +1 -1
  41. package/src/lib/rollout.js +4 -7
  42. package/dashboard/dist/assets/check-Dhwj43_0.js +0 -1
@@ -898,13 +898,8 @@ async function parseClaudeFile({
898
898
  const usage = obj?.message?.usage || obj?.usage;
899
899
  if (!usage || typeof usage !== "object") continue;
900
900
 
901
- if (seenMessageHashes) {
902
- const hash = claudeMessageDedupKey(obj);
903
- if (hash) {
904
- if (seenMessageHashes.has(hash)) continue;
905
- seenMessageHashes.add(hash);
906
- }
907
- }
901
+ const dedupHash = seenMessageHashes ? claudeMessageDedupKey(obj) : null;
902
+ if (dedupHash && seenMessageHashes.has(dedupHash)) continue;
908
903
 
909
904
  const model = normalizeModelInput(obj?.message?.model || obj?.model) || DEFAULT_MODEL;
910
905
  const tokenTimestamp = typeof obj?.timestamp === "string" ? obj.timestamp : null;
@@ -912,6 +907,8 @@ async function parseClaudeFile({
912
907
 
913
908
  const delta = normalizeClaudeUsage(usage);
914
909
  if (!delta || isAllZeroUsage(delta)) continue;
910
+
911
+ if (dedupHash) seenMessageHashes.add(dedupHash);
915
912
  delta.conversation_count = 0;
916
913
 
917
914
  const bucketStart = toUtcHalfHourStart(tokenTimestamp);
@@ -1 +0,0 @@
1
- import{c}from"./main-tm3dyfMf.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};