tokentracker-cli 0.84.7 → 0.84.9

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 (95) hide show
  1. package/dashboard/dist/assets/{AchievementBadge-DAPsTMsx.js → AchievementBadge-BgBFpxmU.js} +1 -1
  2. package/dashboard/dist/assets/{AchievementsPage-B9oXfXvm.js → AchievementsPage-DHPD3Fnu.js} +2 -2
  3. package/dashboard/dist/assets/{AchievementsSection-DI_LTZb3.js → AchievementsSection-DouWVD-3.js} +1 -1
  4. package/dashboard/dist/assets/{BadgeDetailModal--WCrJWVa.js → BadgeDetailModal-Df9eQiA3.js} +1 -1
  5. package/dashboard/dist/assets/{Card-BzbSN3EC.js → Card-CQ9wBnz6.js} +1 -1
  6. package/dashboard/dist/assets/{ClawdAnimated-Dgxae1At.js → ClawdAnimated-XIO-I-5v.js} +1 -1
  7. package/dashboard/dist/assets/{CommandPalette-BiZBYV5A.js → CommandPalette-Cy1cJ91B.js} +1 -1
  8. package/dashboard/dist/assets/{CommunityStatsModal-C6jZx10_.js → CommunityStatsModal-CwKG4LQM.js} +1 -1
  9. package/dashboard/dist/assets/{ConfirmModal-lD-mHMvO.js → ConfirmModal-BNcWqick.js} +1 -1
  10. package/dashboard/dist/assets/{DashboardPage-DCPNoiRG.js → DashboardPage-Dns_1yXL.js} +1 -1
  11. package/dashboard/dist/assets/{DevicePage-DiF2IOjJ.js → DevicePage-pJ2jNkZV.js} +1 -1
  12. package/dashboard/dist/assets/{DialogClose-Crx2EFnI.js → DialogClose-C2SOtkJN.js} +1 -1
  13. package/dashboard/dist/assets/DialogDescription-Bhfqqmll.js +1 -0
  14. package/dashboard/dist/assets/{DialogTitle-amHXttsp.js → DialogTitle-CGSbB8G7.js} +1 -1
  15. package/dashboard/dist/assets/{FadeIn-CIhF_9PP.js → FadeIn-CZSiw7me.js} +1 -1
  16. package/dashboard/dist/assets/{HeaderGithubStar-D6Ph2GuY.js → HeaderGithubStar-ZmQhX_kR.js} +1 -1
  17. package/dashboard/dist/assets/{HoverTooltip-BS8eO6tj.js → HoverTooltip-D_YdG369.js} +1 -1
  18. package/dashboard/dist/assets/{IpCheckPage-Cz1Je6WS.js → IpCheckPage-du886dF0.js} +1 -1
  19. package/dashboard/dist/assets/{LandingPage-DqeXJfwn.js → LandingPage-BuAak8lU.js} +2 -2
  20. package/dashboard/dist/assets/{LeaderboardAvatar-D09yLoVA.js → LeaderboardAvatar-nU0ARYnN.js} +1 -1
  21. package/dashboard/dist/assets/{LeaderboardPage-BetpFetS.js → LeaderboardPage-CngwCvC7.js} +2 -2
  22. package/dashboard/dist/assets/{LeaderboardProfileModal-UW3KnANZ.js → LeaderboardProfileModal-CXZJ0e-T.js} +3 -3
  23. package/dashboard/dist/assets/{LeaderboardProfilePage-Chd_2AVY.js → LeaderboardProfilePage-CZve6s6b.js} +1 -1
  24. package/dashboard/dist/assets/LimitsPage-CWvoJPk8.js +4 -0
  25. package/dashboard/dist/assets/{LocalOnlyNotice-CpFFX8ro.js → LocalOnlyNotice-DyUAAyyE.js} +1 -1
  26. package/dashboard/dist/assets/{LoginCard-DkZpGnVu.js → LoginCard-eEiRfbdv.js} +1 -1
  27. package/dashboard/dist/assets/{LoginModal-CALv6jkD.js → LoginModal-C16WdIQm.js} +1 -1
  28. package/dashboard/dist/assets/{LoginPage-BZuXHYAT.js → LoginPage-B2WqpE1t.js} +1 -1
  29. package/dashboard/dist/assets/{PetPage-C1LuDyYr.js → PetPage-DtQWrGmI.js} +1 -1
  30. package/dashboard/dist/assets/{PopoverPopup-CluVhrMr.js → PopoverPopup-CRhqtFLB.js} +1 -1
  31. package/dashboard/dist/assets/{ProviderIcon-D3YKjVKb.js → ProviderIcon-DWNH_wYu.js} +1 -1
  32. package/dashboard/dist/assets/{ResetPasswordPage-CzN50nX5.js → ResetPasswordPage-DzCczcWZ.js} +1 -1
  33. package/dashboard/dist/assets/{SegmentedControl-DFOAcEKU.js → SegmentedControl-CV9ccq6R.js} +1 -1
  34. package/dashboard/dist/assets/{Select-B3W_ihs_.js → Select-BrogNNk0.js} +1 -1
  35. package/dashboard/dist/assets/{SelectItemText-FXRtXnFV.js → SelectItemText-Bpu3swt0.js} +1 -1
  36. package/dashboard/dist/assets/{ServiceStatusPage-BItZqH7q.js → ServiceStatusPage-D_FIrMJP.js} +1 -1
  37. package/dashboard/dist/assets/{SessionsPage-DVQU-hTH.js → SessionsPage-C8TvTy1o.js} +1 -1
  38. package/dashboard/dist/assets/{SettingsPage-ByvrwOi6.js → SettingsPage-Bd-tzJAR.js} +1 -1
  39. package/dashboard/dist/assets/{SkillsPage-DrGr5Qij.js → SkillsPage-CKGU9wQ4.js} +1 -1
  40. package/dashboard/dist/assets/{TokenGalaxy-ClF_n9od.js → TokenGalaxy-DhHW6L-U.js} +1 -1
  41. package/dashboard/dist/assets/{ToolbarRootContext-B82hGhAf.js → ToolbarRootContext-DQo-4pPB.js} +1 -1
  42. package/dashboard/dist/assets/{TrendMonitor-DkWm7_1z.js → TrendMonitor-Ejl8d45g.js} +1 -1
  43. package/dashboard/dist/assets/{WidgetsPage-DCY4pyR2.js → WidgetsPage-CY7f4wCD.js} +1 -1
  44. package/dashboard/dist/assets/{WrappedPage-yGQ4DLqj.js → WrappedPage-B4-B2v-v.js} +1 -1
  45. package/dashboard/dist/assets/{__vite-browser-external-BdRrPLk6.js → __vite-browser-external-BNUFXCfp.js} +4 -3
  46. package/dashboard/dist/assets/{agent-logos-D5SHGOxB.js → agent-logos-BRzutmeR.js} +1 -1
  47. package/dashboard/dist/assets/{arrow-up-right-CbMcAcss.js → arrow-up-right-BcrbPk8c.js} +1 -1
  48. package/dashboard/dist/assets/{check-Dyzh7lTz.js → check-BMxeFPfQ.js} +1 -1
  49. package/dashboard/dist/assets/{chevron-right-DT06ZIKC.js → chevron-right-DOstgiRf.js} +1 -1
  50. package/dashboard/dist/assets/{copy-B3Kt3Wrf.js → copy-BsKO524t.js} +1 -1
  51. package/dashboard/dist/assets/{download-B3rOytqI.js → download-dadqxej7.js} +1 -1
  52. package/dashboard/dist/assets/{external-link-BamTP0Ks.js → external-link-CTu3BMeU.js} +1 -1
  53. package/dashboard/dist/assets/{flame-msy2h1ms.js → flame-B_IvWcMn.js} +1 -1
  54. package/dashboard/dist/assets/{format-tokens-8b1OUM_8.js → format-tokens-DIT6hLSb.js} +1 -1
  55. package/dashboard/dist/assets/{icons-C2NR2_Tf.js → icons-mWku76bu.js} +1 -1
  56. package/dashboard/dist/assets/{index-CvTfpiCF.js → index-CboN9E82.js} +1 -1
  57. package/dashboard/dist/assets/{index-x3vFJQFt.js → index-D-gQV-hF.js} +1 -1
  58. package/dashboard/dist/assets/{index-C8sDJzUY.js → index-D5-w-aGy.js} +1 -1
  59. package/dashboard/dist/assets/{info-C9j23aGq.js → info-x6l352SW.js} +1 -1
  60. package/dashboard/dist/assets/{limits-providers-ySB9Ci5l.js → limits-providers-Bo12VlLJ.js} +1 -1
  61. package/dashboard/dist/assets/{link-2-rrcyTT6S.js → link-2-eo_xPxH1.js} +1 -1
  62. package/dashboard/dist/assets/{loader-circle-x9x9I8Hv.js → loader-circle-C4n1iGBv.js} +1 -1
  63. package/dashboard/dist/assets/{maximize-2-7TWFb2k7.js → maximize-2-pR8xwsI_.js} +1 -1
  64. package/dashboard/dist/assets/{provider-display-JbSwpvxU.js → provider-display-ErggQWu4.js} +1 -1
  65. package/dashboard/dist/assets/{react-DK5clHtY.js → react-DYKg02Aq.js} +1 -1
  66. package/dashboard/dist/assets/{search-DukXRvEV.js → search-B_jbUwPS.js} +1 -1
  67. package/dashboard/dist/assets/{skills-api-BUFJuwiR.js → skills-api-DY5ruGmw.js} +1 -1
  68. package/dashboard/dist/assets/{store-BTh7bv09.js → store-Cu8i1y26.js} +1 -1
  69. package/dashboard/dist/assets/{terminal-CcUqLtn1.js → terminal-D3j6X68s.js} +1 -1
  70. package/dashboard/dist/assets/{trash-2-Bq7hnvNq.js → trash-2-CFpwgJw5.js} +1 -1
  71. package/dashboard/dist/assets/{use-community-stats-qTpx6ugG.js → use-community-stats-C0fKq66G.js} +1 -1
  72. package/dashboard/dist/assets/{use-limits-display-prefs-Di_J4eVv.js → use-limits-display-prefs-TOp4UAnI.js} +1 -1
  73. package/dashboard/dist/assets/{use-native-settings-CIqpv9Z3.js → use-native-settings-BZie_7z1.js} +1 -1
  74. package/dashboard/dist/assets/{use-ordered-list-OwogSXT7.js → use-ordered-list-Bq92YyUp.js} +1 -1
  75. package/dashboard/dist/assets/use-reduced-motion-ZiVeOkvb.js +1 -0
  76. package/dashboard/dist/assets/{use-session-efficiency-pref-CjAvMh7u.js → use-session-efficiency-pref-BcpytkES.js} +1 -1
  77. package/dashboard/dist/assets/{use-transform-KZLdt-NZ.js → use-transform-Dmmrne2z.js} +1 -1
  78. package/dashboard/dist/assets/use-usage-limits-Cw0Z9Tew.js +1 -0
  79. package/dashboard/dist/assets/{useCurrency-D2td-bkn.js → useCurrency-DyyonINj.js} +1 -1
  80. package/dashboard/dist/assets/{useScrollLock-Cvyfyezc.js → useScrollLock-DvWw86lJ.js} +1 -1
  81. package/dashboard/dist/assets/{useTokenFormat-DYIUS6IH.js → useTokenFormat-CBkvGfJ1.js} +1 -1
  82. package/dashboard/dist/assets/{zap-B19mEed5.js → zap-CnYA39Ug.js} +1 -1
  83. package/dashboard/dist/index.html +1 -1
  84. package/dashboard/dist/ip-check.html +1 -1
  85. package/dashboard/dist/leaderboard.html +1 -1
  86. package/dashboard/dist/share.html +1 -1
  87. package/package.json +1 -1
  88. package/src/lib/pricing/seed-snapshot.json +1 -1
  89. package/src/lib/qoder-limits.js +2 -205
  90. package/src/lib/rollout.js +146 -12
  91. package/src/lib/usage-limits.js +47 -3
  92. package/dashboard/dist/assets/DialogDescription-CHsHo924.js +0 -1
  93. package/dashboard/dist/assets/LimitsPage-uhpNteXJ.js +0 -4
  94. package/dashboard/dist/assets/use-reduced-motion-5QGGPoom.js +0 -1
  95. package/dashboard/dist/assets/use-usage-limits-Tbifa037.js +0 -1
@@ -1 +0,0 @@
1
- import{q as _,ae as K,r as w,c as g,af as F,ag as M,ah as b}from"./__vite-browser-external-BdRrPLk6.js";import{l as x}from"./limits-providers-ySB9Ci5l.js";const S="native:notificationPermission";let E=null;function N(){return typeof window<"u"&&!!window.chrome?.webview}function v(){return _()?E||"unknown":N()?"granted":typeof Notification>"u"?"unsupported":Notification.permission}function L(e){if(typeof window>"u")return()=>{};const i=t=>{const a=t?.detail?.status;typeof a=="string"&&(E=a),e(v())};return window.addEventListener(S,i),e(v()),_()&&K({type:"getNotificationStatus"}),()=>window.removeEventListener(S,i)}async function I(){if(_()){K({type:"requestNotificationPermission"});return}N()||typeof Notification<"u"&&Notification.permission==="default"&&await Notification.requestPermission().catch(()=>"denied")}const p="tt.limitAlerts.enabled";function O(){try{return window.localStorage.getItem(p)==="1"}catch{return!1}}function U(){const[e,i]=w.useState(O),[t,a]=w.useState("unknown");w.useEffect(()=>L(a),[]);const y=w.useCallback(async n=>{const l=!!n;l&&await I();try{window.localStorage.setItem(p,l?"1":"0")}catch{}i(l)},[]);return{enabled:e,setEnabled:y,permissionBlocked:t==="denied"}}function A(e,i){if(!(e>0))return null;const t=(e-i)/e;return Number.isFinite(t)?Math.min(Math.max(t,0),1):null}function z(e,i,t=.03){return e>i+t}function D(e){const i=Math.max(0,Math.floor(e)),t=Math.floor(i/3600);return t>24?`${Math.floor(t/24)}d`:t>0?`${t}h`:`${Math.floor(i/60)}m`}function j(e,i){if(typeof e.windowSeconds=="number")return e.windowSeconds;if(e.windowSecondsField&&i){const t=i[e.windowSecondsField];return typeof t=="number"&&t>0?t:null}return null}function R(e){return e==null?NaN:typeof e=="number"?e*1e3:Date.parse(e)}function C({usedPercent:e,windowSeconds:i,resetMs:t,mode:a,now:y=Date.now()}){const n=Math.min(Math.max(Number(e)||0,0),100)/100,l={pacePercent:null,paceOver:!1,expectedPercent:null,runsOutEta:null,projectedEnd:null};if(!(i>0)||!Number.isFinite(t))return l;const r=Math.max(0,(t-y)/1e3),s=A(i,r);if(s==null)return l;if(l.expectedPercent=Math.round(s*100),l.paceOver=z(n,s),n>=.05){const u=a==="remaining"?1-s:s;l.pacePercent=u*100}if(s>.02&&n>0){const u=i*s,c=n/u,m=n/s;m>=1&&c>0?l.runsOutEta=D((1-n)/c):l.projectedEnd=Math.round(Math.min(m,1)*100)}return l}const T={claude:{windows(e){const i=Array.isArray(e.weekly_scoped)?e.weekly_scoped.map(t=>({key:`scoped-${t.label}`,label:t.label,window:t,pctField:"utilization",resetField:"resets_at",windowSeconds:604800})):[];return[{key:"5h",labelKey:"limits.label.claude_5h",window:e.five_hour,pctField:"utilization",resetField:"resets_at",windowSeconds:5*3600},{key:"7d",labelKey:"limits.label.claude_7d",window:e.seven_day,pctField:"utilization",resetField:"resets_at",windowSeconds:7*86400},{key:"opus",labelKey:"limits.label.claude_opus",window:e.seven_day_opus,pctField:"utilization",resetField:"resets_at",windowSeconds:7*86400},...i]}},codex:{extra:"codex_meta",windows(e){return[{key:"5h",labelKey:"limits.label.codex_5h",window:e.primary_window,windowSecondsField:"limit_window_seconds"},{key:"7d",labelKey:"limits.label.codex_7d",window:e.secondary_window,windowSecondsField:"limit_window_seconds"},{key:"credits",labelKey:"limits.label.codex_credits",window:e.credit_window},{key:"spark-5h",labelKey:"limits.label.codex_spark_5h",window:e.spark_primary_window,windowSecondsField:"limit_window_seconds"},{key:"spark-7d",labelKey:"limits.label.codex_spark_7d",window:e.spark_secondary_window,windowSecondsField:"limit_window_seconds"}]}},cursor:{windows(e){return[{key:"plan",labelKey:"limits.label.cursor_plan",window:e.primary_window},{key:"auto",labelKey:"limits.label.cursor_auto",window:e.secondary_window},{key:"api",labelKey:"limits.label.cursor_api",window:e.tertiary_window}]}},gemini:{windows(e){return[{key:"pro",labelKey:"limits.label.gemini_pro",window:e.primary_window},{key:"flash",labelKey:"limits.label.gemini_flash",window:e.secondary_window},{key:"lite",labelKey:"limits.label.gemini_lite",window:e.tertiary_window}]}},kimi:{extra:"kimi_parallel",windows(e){return[{key:"weekly",labelKey:"limits.label.kimi_weekly",window:e.primary_window,windowSeconds:7*86400},{key:"5h",labelKey:"limits.label.kimi_5h",window:e.secondary_window,windowSeconds:5*3600},{key:"total",labelKey:"limits.label.kimi_total",window:e.tertiary_window}]}},kiro:{windows(e){return[{key:"month",labelKey:"limits.label.kiro_month",window:e.primary_window},{key:"bonus",labelKey:"limits.label.kiro_bonus",window:e.secondary_window}]}},grok:{windows(e){const i=typeof e.period_type=="string"?e.period_type:null,t=i==="weekly"?"limits.label.grok_week":i==="daily"?"limits.label.grok_day":"limits.label.grok_month",a=i==="weekly"?7*86400:i==="daily"?86400:void 0;return[{key:i==="weekly"?"week":i==="daily"?"day":"month",labelKey:t,window:e.primary_window,windowSeconds:a},{key:"ondemand",labelKey:"limits.label.grok_ondemand",window:e.secondary_window}]}},antigravity:{windows(e){return[{key:"claude-weekly",labelKey:"limits.label.antigravity_claude_weekly",window:e.primary_window},{key:"claude-5h",labelKey:"limits.label.antigravity_claude_5h",window:e.secondary_window},{key:"gemini-weekly",labelKey:"limits.label.antigravity_gemini_weekly",window:e.tertiary_window},{key:"gemini-5h",labelKey:"limits.label.antigravity_gemini_5h",window:e.quaternary_window}]}},copilot:{extra:"copilot_otel",windows(e){return[{key:"premium",labelKey:"limits.label.copilot_premium",window:e.primary_window},{key:"chat",labelKey:"limits.label.copilot_chat",window:e.secondary_window}]}},zcode:{windows(e){return e.plan_kind==="coding-plan"?[{key:"5h",labelKey:"limits.label.zcode_5h",window:e.primary_window},{key:"weekly",labelKey:"limits.label.zcode_weekly",window:e.secondary_window},{key:"tools",labelKey:"limits.label.zcode_tools",window:e.tertiary_window}]:[{key:"glm52",labelKey:"limits.label.zcode_glm52",window:e.primary_window},{key:"glm5t",labelKey:"limits.label.zcode_glm5t",window:e.secondary_window}]}},opencodeGo:{windows(e){return[{key:"5h",labelKey:"limits.label.opencode_go_5h",window:e.primary_window},{key:"weekly",labelKey:"limits.label.opencode_go_weekly",window:e.secondary_window},{key:"monthly",labelKey:"limits.label.opencode_go_monthly",window:e.tertiary_window}]}},qoder:{windows(e){return[{key:"credits",labelKey:"limits.label.qoder_credits",window:e.primary_window},{key:"ultimate",labelKey:"limits.label.qoder_ultimate",window:e.secondary_window,timeKind:"expiry"}]}}},P="tt.limitAlerts.cycles.v1";function q(){try{return JSON.parse(window.localStorage.getItem(P)||"{}")}catch{return{}}}function $(e){try{window.localStorage.setItem(P,JSON.stringify(e))}catch{}}function B(e,{now:i=Date.now()}={}){const t=[],a=T;for(const[y,n]of Object.entries(e||{})){const l=a[y];if(!(!n?.configured||n.error||!l))for(const r of l.windows(n)){if(!r.window)continue;const s=Number(r.pctField==="utilization"?r.window.utilization:r.window.used_percent),u=r.resetField==="resets_at"?r.window.resets_at:r.window.reset_at,c=R(u),m=C({usedPercent:s,windowSeconds:j(r,r.window),resetMs:c,mode:"used",now:i});!m.runsOutEta||!m.paceOver||s<20||!(c>i)||t.push({id:`${y}:${r.key}:${c}`,providerId:y,windowKey:r.key,resetMs:c,usedPercent:s,runsOutEta:m.runsOutEta})}}return t}function V(e){const i=q(),t=B(e);for(const n of t){if(i[n.id])continue;const l=x(n.providerId),r=g("limits.alert.title",{provider:l}),s=g("limits.alert.body",{eta:n.runsOutEta,percent:Math.round(n.usedPercent)});let u=F({title:r,body:s,id:n.id});!u&&typeof Notification<"u"&&Notification.permission==="granted"&&(new Notification(r,{body:s,tag:n.id}),u=!0),u&&(i[n.id]=Date.now())}const a=Date.now()-864e5,y=Object.fromEntries(Object.entries(i).filter(([n,l])=>{const r=Number(n.split(":").at(-1));return Number.isFinite(r)?r>=a:Number(l)>=a}).slice(-100));return $(y),t.length}function W(e){const i=!!e?.initialState,[t,a]=w.useState(()=>i?e?.initialState?.data??null:null),[y,n]=w.useState(()=>i?e?.initialState?.error??null:null),[l,r]=w.useState(!i),s=!!e?.initialRefresh,u=!!e?.publishToPreloadCache;w.useEffect(()=>{if(!(!t||typeof window>"u"))try{window.localStorage.getItem(p)==="1"&&V(t)}catch{}},[t]);const c=w.useCallback((o,d)=>{!u||!o||typeof o!="object"||M(o,{source:d})},[u]),m=w.useCallback(async()=>{try{const o=await b({refresh:!0}),d=o&&typeof o=="object"?o:null;a(d),n(null),c(d,"manual-refresh")}catch(o){n(o?.message||String(o))}},[c]),k=w.useCallback(async()=>{try{const o=await b(),d=o&&typeof o=="object"?o:null;a(d),n(null),c(d,"page-load")}catch(o){n(o?.message||String(o))}},[c]);return w.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const o=15e3;let d=Date.now();const f=()=>{if(document.visibilityState!=="visible")return;const h=Date.now();h-d<o||(d=h,k())};return window.addEventListener("focus",f),document.addEventListener("visibilitychange",f),()=>{window.removeEventListener("focus",f),document.removeEventListener("visibilitychange",f)}},[k]),w.useEffect(()=>{if(i&&!s)return;let o=!1;return(async()=>{try{const d=await b();if(o)return;const f=d&&typeof d=="object"?d:null;a(f),n(null),c(f,"page-load")}catch(d){if(o)return;n(d?.message||String(d))}finally{o||r(!1)}})(),()=>{o=!0}},[i,s,c]),{data:t,error:y,isLoading:l,refresh:m}}export{T as P,j as a,U as b,C as c,R as r,V as s,W as u};