tokentracker-cli 0.93.5 → 0.93.7

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 (123) hide show
  1. package/dashboard/dist/assets/{AchievementBadge-td60VwNO.js → AchievementBadge-DqvblIQY.js} +1 -1
  2. package/dashboard/dist/assets/{AchievementsPage-C3yKXgId.js → AchievementsPage-C-xm27pB.js} +2 -2
  3. package/dashboard/dist/assets/{AchievementsSection-XM39rQkD.js → AchievementsSection-D8Oe2FGJ.js} +1 -1
  4. package/dashboard/dist/assets/BadgeDetailModal-BJOcOnHo.js +1 -0
  5. package/dashboard/dist/assets/{BotAnimated-CG6_x0d2.js → BotAnimated-6fB046ld.js} +1 -1
  6. package/dashboard/dist/assets/{Card-BUnCudVB.js → Card-BKbWtBaL.js} +1 -1
  7. package/dashboard/dist/assets/{ClawdAnimated-CNRu6v7I.js → ClawdAnimated-DbpeAldp.js} +2 -2
  8. package/dashboard/dist/assets/{CommandPalette-D5vVqYkW.js → CommandPalette-Jte7TBon.js} +1 -1
  9. package/dashboard/dist/assets/CommunityStatsModal-DDm7tCXO.js +1 -0
  10. package/dashboard/dist/assets/ConfirmModal-CrIjcrpZ.js +1 -0
  11. package/dashboard/dist/assets/{Controls-nR5gzX__.js → Controls-BWJtMkIy.js} +1 -1
  12. package/dashboard/dist/assets/DashboardPage-Bcq4EwG5.js +1 -0
  13. package/dashboard/dist/assets/{DevicePage-Emw9iVMd.js → DevicePage-C9NcPZGX.js} +1 -1
  14. package/dashboard/dist/assets/{DialogClose-Bh-pvxsM.js → DialogClose-CY-LguUG.js} +1 -1
  15. package/dashboard/dist/assets/DialogDescription-DPyhpdeR.js +1 -0
  16. package/dashboard/dist/assets/DialogTitle-BkAmJrQ_.js +1 -0
  17. package/dashboard/dist/assets/{FadeIn-DOEfAW5p.js → FadeIn-U-bxcM-y.js} +1 -1
  18. package/dashboard/dist/assets/{HeaderGithubStar-DslGxMu4.js → HeaderGithubStar-4HUCxVhg.js} +1 -1
  19. package/dashboard/dist/assets/{HoverTooltip-O2OKCBc3.js → HoverTooltip-BXcXOCs8.js} +1 -1
  20. package/dashboard/dist/assets/{IpCheckPage-Dv6LbNU_.js → IpCheckPage-Cppkc-gE.js} +1 -1
  21. package/dashboard/dist/assets/{LandingPage-BBfteqDF.js → LandingPage-D3KXfYKE.js} +2 -2
  22. package/dashboard/dist/assets/{LeaderboardAvatar-Ct6QagwN.js → LeaderboardAvatar-CdsHg6L0.js} +1 -1
  23. package/dashboard/dist/assets/LeaderboardPage-niat0TZW.js +2 -0
  24. package/dashboard/dist/assets/{LeaderboardProfileModal-BuUWkmBN.js → LeaderboardProfileModal-DgjhhEbB.js} +3 -3
  25. package/dashboard/dist/assets/{LeaderboardProfilePage-fVnV0Lo-.js → LeaderboardProfilePage-CZej8gpc.js} +1 -1
  26. package/dashboard/dist/assets/LimitsPage-BXzzX87I.js +5 -0
  27. package/dashboard/dist/assets/LocalOnlyNotice-DQswDMSD.js +1 -0
  28. package/dashboard/dist/assets/{LoginCard-CKV1uACo.js → LoginCard-glPyVqYh.js} +1 -1
  29. package/dashboard/dist/assets/{LoginModal-RCpQtFuG.js → LoginModal-slsdEXC7.js} +1 -1
  30. package/dashboard/dist/assets/{LoginPage-vMV2kpef.js → LoginPage-DX5QT917.js} +1 -1
  31. package/dashboard/dist/assets/PetPage-B8U3CJwt.js +1 -0
  32. package/dashboard/dist/assets/PopoverPopup-BVPcQAio.js +1 -0
  33. package/dashboard/dist/assets/{ProviderIcon-BeXu2voQ.js → ProviderIcon-CljIacVj.js} +1 -1
  34. package/dashboard/dist/assets/{ResetPasswordPage-CilGTQWZ.js → ResetPasswordPage-DTBmQk2y.js} +1 -1
  35. package/dashboard/dist/assets/SegmentedControl-C6npelCT.js +1 -0
  36. package/dashboard/dist/assets/{Select-BBUIbPTj.js → Select-D1elkRBG.js} +1 -1
  37. package/dashboard/dist/assets/SelectItemText-3N-hvYuD.js +1 -0
  38. package/dashboard/dist/assets/{ServiceStatusPage-WgmQviZa.js → ServiceStatusPage-C5ZK9X2o.js} +1 -1
  39. package/dashboard/dist/assets/{SessionsPage-BDkdXQhW.js → SessionsPage-CJ0JvE8-.js} +2 -2
  40. package/dashboard/dist/assets/SettingsPage-C32uYzqG.js +2 -0
  41. package/dashboard/dist/assets/SkillsPage-Cwkevv29.js +1 -0
  42. package/dashboard/dist/assets/{TokenGalaxy-B0kFIG0N.js → TokenGalaxy-a1-E6_jp.js} +1 -1
  43. package/dashboard/dist/assets/ToolbarRootContext-Cm5cQb9Z.js +1 -0
  44. package/dashboard/dist/assets/{TrendMonitor-C18_ADhU.js → TrendMonitor-DoNDyarF.js} +1 -1
  45. package/dashboard/dist/assets/WidgetsPage-QMTmKnRl.js +1 -0
  46. package/dashboard/dist/assets/{WrappedPage-Bm5HMj3a.js → WrappedPage-C9rJcY2o.js} +1 -1
  47. package/dashboard/dist/assets/__vite-browser-external-CsbVaBbw.js +45 -0
  48. package/dashboard/dist/assets/__vite-browser-external-D95WhsZe.css +1 -0
  49. package/dashboard/dist/assets/{agent-logos-PZX7lWJo.js → agent-logos-B39DKy3X.js} +1 -1
  50. package/dashboard/dist/assets/{arrow-up-right-DPSDEZPh.js → arrow-up-right-Cw5mMBik.js} +1 -1
  51. package/dashboard/dist/assets/{check-GGrgivnu.js → check-DrQztnq1.js} +1 -1
  52. package/dashboard/dist/assets/{chevron-right-CmSOUizu.js → chevron-right-CEelysET.js} +1 -1
  53. package/dashboard/dist/assets/{useScrollLock-BuPQ8T9m.js → composite-MhgOkYfv.js} +1 -1
  54. package/dashboard/dist/assets/{copy-ChMyV-hy.js → copy-Bouz-qQR.js} +1 -1
  55. package/dashboard/dist/assets/{download-DGUkE9Jc.js → download-BugS2cl5.js} +1 -1
  56. package/dashboard/dist/assets/{external-link-B_W-UDpi.js → external-link-Ceqto-f4.js} +1 -1
  57. package/dashboard/dist/assets/{flame-C9ccP-R8.js → flame-B67y0kLz.js} +1 -1
  58. package/dashboard/dist/assets/{format-tokens-CkXJmbVP.js → format-tokens-CR8njNJs.js} +1 -1
  59. package/dashboard/dist/assets/{icons-D37cRKGk.js → icons-DFj5ctTx.js} +1 -1
  60. package/dashboard/dist/assets/{index-C9OzYqU0.js → index-Bx6EP36K.js} +1 -1
  61. package/dashboard/dist/assets/{index-C-_fimm3.js → index-CrymIhtC.js} +1 -1
  62. package/dashboard/dist/assets/{index-Dt6WIU71.js → index-ZGfRrxuq.js} +1 -1
  63. package/dashboard/dist/assets/{info-C3-0C2W0.js → info-C6XoktLa.js} +1 -1
  64. package/dashboard/dist/assets/{limits-providers-DB1Zr3WN.js → limits-providers-B9L6hIZT.js} +1 -1
  65. package/dashboard/dist/assets/{link-2-DqNEbzji.js → link-2-DKG2j43e.js} +1 -1
  66. package/dashboard/dist/assets/{loader-circle-BYoKm-f5.js → loader-circle-DB2txq05.js} +1 -1
  67. package/dashboard/dist/assets/{maximize-2-lVQDTDqs.js → maximize-2-3-dz0brp.js} +1 -1
  68. package/dashboard/dist/assets/{modifiers.esm-Bww85WOd.js → modifiers.esm-D0KjKi1o.js} +1 -1
  69. package/dashboard/dist/assets/{monitor-smartphone--KubNwvP.js → monitor-smartphone-Ds8H_QW9.js} +1 -1
  70. package/dashboard/dist/assets/plus-BDsmAe4Z.js +1 -0
  71. package/dashboard/dist/assets/{provider-display-COV_Ft4A.js → provider-display-DRz643iD.js} +1 -1
  72. package/dashboard/dist/assets/{react-lNnu0y7U.js → react-D3Afmy9b.js} +1 -1
  73. package/dashboard/dist/assets/{search-CpHNMxpD.js → search-CO2Xf-Kg.js} +1 -1
  74. package/dashboard/dist/assets/{skills-api-Cf2qRQ1h.js → skills-api-C1BZuUIq.js} +1 -1
  75. package/dashboard/dist/assets/{sortable.esm-DWdlF_7j.js → sortable.esm-DutNEc4F.js} +1 -1
  76. package/dashboard/dist/assets/store-a-oUpY-g.js +1 -0
  77. package/dashboard/dist/assets/{terminal-Cban5byW.js → terminal-DAePk67T.js} +1 -1
  78. package/dashboard/dist/assets/{trash-2-nelaUHSh.js → trash-2-bnFmtRSG.js} +1 -1
  79. package/dashboard/dist/assets/{use-community-stats-CBupXLW7.js → use-community-stats-PJBeXyek.js} +1 -1
  80. package/dashboard/dist/assets/{use-limits-display-prefs-B4y_kzcd.js → use-limits-display-prefs-Blvn-7CB.js} +1 -1
  81. package/dashboard/dist/assets/{use-ordered-list-DEV58tGc.js → use-ordered-list-BaVvCzZ9.js} +1 -1
  82. package/dashboard/dist/assets/use-reduced-motion-f51jgK_S.js +1 -0
  83. package/dashboard/dist/assets/{use-session-efficiency-pref-wSk1wV6R.js → use-session-efficiency-pref-COTG-zJs.js} +1 -1
  84. package/dashboard/dist/assets/{use-transform-NKavwYrX.js → use-transform-BQEPyChL.js} +1 -1
  85. package/dashboard/dist/assets/use-usage-limits-LR2gHJJn.js +1 -0
  86. package/dashboard/dist/assets/{useCurrency-B2704dMx.js → useCurrency-CeqKrzFz.js} +1 -1
  87. package/dashboard/dist/assets/{useTokenFormat-DPxAFuMj.js → useTokenFormat-D0IMlZlO.js} +1 -1
  88. package/dashboard/dist/assets/{zap-BgtTdM4q.js → zap-BBn6G5_E.js} +1 -1
  89. package/dashboard/dist/index.html +2 -2
  90. package/dashboard/dist/ip-check.html +2 -2
  91. package/dashboard/dist/leaderboard.html +2 -2
  92. package/dashboard/dist/share.html +2 -2
  93. package/package.json +1 -1
  94. package/src/commands/sync.js +13 -6
  95. package/src/lib/cursor-config.js +182 -1
  96. package/src/lib/fs.js +12 -3
  97. package/src/lib/local-api.js +57 -0
  98. package/src/lib/pricing/seed-snapshot.json +1 -1
  99. package/src/lib/rollout.js +63 -17
  100. package/src/lib/subscription-manager.js +293 -0
  101. package/src/lib/usage-limits.js +35 -4
  102. package/dashboard/dist/assets/BadgeDetailModal-2TgBBPmw.js +0 -1
  103. package/dashboard/dist/assets/CommunityStatsModal-D0V4iTI6.js +0 -1
  104. package/dashboard/dist/assets/ConfirmModal-CzxTtnXo.js +0 -1
  105. package/dashboard/dist/assets/DashboardPage-CpHXkuZn.js +0 -1
  106. package/dashboard/dist/assets/DialogDescription-DJ-RHxIt.js +0 -1
  107. package/dashboard/dist/assets/DialogTitle-BG3ngtew.js +0 -1
  108. package/dashboard/dist/assets/LeaderboardPage-CSbIdSm7.js +0 -2
  109. package/dashboard/dist/assets/LimitsPage-BHkkA3xN.js +0 -5
  110. package/dashboard/dist/assets/LocalOnlyNotice-BLlrqreb.js +0 -1
  111. package/dashboard/dist/assets/PetPage-CTgwpnsA.js +0 -1
  112. package/dashboard/dist/assets/PopoverPopup-Bddr9R6x.js +0 -1
  113. package/dashboard/dist/assets/SegmentedControl-r5MP3Uyx.js +0 -1
  114. package/dashboard/dist/assets/SelectItemText-CbuN7Sui.js +0 -1
  115. package/dashboard/dist/assets/SettingsPage-CsF8cG7I.js +0 -2
  116. package/dashboard/dist/assets/SkillsPage-CVGra4ar.js +0 -1
  117. package/dashboard/dist/assets/ToolbarRootContext-BlWkiH2k.js +0 -1
  118. package/dashboard/dist/assets/WidgetsPage-Ck7L4vBj.js +0 -1
  119. package/dashboard/dist/assets/__vite-browser-external-BCyVFzdP.js +0 -1575
  120. package/dashboard/dist/assets/__vite-browser-external-CiR9-j4L.css +0 -1
  121. package/dashboard/dist/assets/store-DJQqZJtg.js +0 -1
  122. package/dashboard/dist/assets/use-reduced-motion-CRf4pBTt.js +0 -1
  123. package/dashboard/dist/assets/use-usage-limits-Blr1HBCj.js +0 -1
@@ -1 +0,0 @@
1
- import{q as b,ae as v,r as c,c as g,af as F,ag as x,ah as f}from"./__vite-browser-external-BCyVFzdP.js";import{l as M}from"./limits-providers-DB1Zr3WN.js";const S="native:notificationPermission";let E=null;function N(){return typeof window<"u"&&!!window.chrome?.webview}function K(){return b()?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(K())};return window.addEventListener(S,i),e(K()),b()&&v({type:"getNotificationStatus"}),()=>window.removeEventListener(S,i)}async function I(){if(b()){v({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]=c.useState(O),[t,a]=c.useState("unknown");c.useEffect(()=>L(a),[]);const y=c.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 q(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,w=n/u,m=n/s;m>=1&&w>0?l.runsOutEta=D((1-n)/w):l.projectedEnd=Math.round(Math.min(m,1)*100)}return l}const R={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,windowSecondsField:"limit_window_seconds"},{key:"auto",labelKey:"limits.label.cursor_auto",window:e.secondary_window,windowSecondsField:"limit_window_seconds"},{key:"api",labelKey:"limits.label.cursor_api",window:e.tertiary_window,windowSecondsField:"limit_window_seconds"}]}},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:{extra:"kiro_credits",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"}]}},qoderCn:{windows(e){return[{key:"credits",labelKey:"limits.label.qoder_cn_credits",window:e.primary_window},{key:"ultimate",labelKey:"limits.label.qoder_cn_ultimate",window:e.secondary_window,timeKind:"expiry"}]}},codingPlan:{windows(e){return[{key:"5h",labelKey:"limits.label.ark_coding_plan_5h",window:e.primary_window},{key:"weekly",labelKey:"limits.label.ark_coding_plan_weekly",window:e.secondary_window},{key:"monthly",labelKey:"limits.label.ark_coding_plan_monthly",window:e.tertiary_window}]}}},P="tt.limitAlerts.cycles.v1";function T(){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=R;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,w=q(u),m=C({usedPercent:s,windowSeconds:j(r,r.window),resetMs:w,mode:"used",now:i});!m.runsOutEta||!m.paceOver||s<20||!(w>i)||t.push({id:`${y}:${r.key}:${w}`,providerId:y,windowKey:r.key,resetMs:w,usedPercent:s,runsOutEta:m.runsOutEta})}}return t}function V(e){const i=T(),t=B(e);for(const n of t){if(i[n.id])continue;const l=M(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]=c.useState(()=>i?e?.initialState?.data??null:null),[y,n]=c.useState(()=>i?e?.initialState?.error??null:null),[l,r]=c.useState(!i),s=!!e?.initialRefresh,u=!!e?.publishToPreloadCache;c.useEffect(()=>{if(!(!t||typeof window>"u"))try{window.localStorage.getItem(p)==="1"&&V(t)}catch{}},[t]);const w=c.useCallback((o,d)=>{!u||!o||typeof o!="object"||x(o,{source:d})},[u]),m=c.useCallback(async()=>{try{const o=await f({refresh:!0}),d=o&&typeof o=="object"?o:null;a(d),n(null),w(d,"manual-refresh")}catch(o){n(o?.message||String(o))}},[w]),k=c.useCallback(async()=>{try{const o=await f(),d=o&&typeof o=="object"?o:null;a(d),n(null),w(d,"page-load")}catch(o){n(o?.message||String(o))}},[w]);return c.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const o=15e3;let d=Date.now();const _=()=>{if(document.visibilityState!=="visible")return;const h=Date.now();h-d<o||(d=h,k())};return window.addEventListener("focus",_),document.addEventListener("visibilitychange",_),()=>{window.removeEventListener("focus",_),document.removeEventListener("visibilitychange",_)}},[k]),c.useEffect(()=>{if(i&&!s)return;let o=!1;return(async()=>{try{const d=await f();if(o)return;const _=d&&typeof d=="object"?d:null;a(_),n(null),w(_,"page-load")}catch(d){if(o)return;n(d?.message||String(d))}finally{o||r(!1)}})(),()=>{o=!0}},[i,s,w]),{data:t,error:y,isLoading:l,refresh:m}}export{R as P,j as a,U as b,C as c,q as r,V as s,W as u};