tokentracker-cli 1.0.7 → 1.1.1
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.de.md +10 -5
- package/README.ja.md +8 -7
- package/README.ko.md +8 -7
- package/README.md +11 -9
- package/README.zh-CN.md +8 -7
- package/dashboard/dist/assets/{AchievementBadge-BI_HiL08.js → AchievementBadge-Dk6u95zc.js} +1 -1
- package/dashboard/dist/assets/{AchievementsPage-CbK_pV0C.js → AchievementsPage-DGzIJJ2h.js} +2 -2
- package/dashboard/dist/assets/{AchievementsSection-DEQycrwd.js → AchievementsSection-DaVrpiJ4.js} +1 -1
- package/dashboard/dist/assets/{BadgeDetailModal-BdaHueq5.js → BadgeDetailModal-BFCscxTM.js} +1 -1
- package/dashboard/dist/assets/{BotAnimated-BATn4r97.js → BotAnimated-CrQkI3wD.js} +1 -1
- package/dashboard/dist/assets/{Card-C3_Fzc5V.js → Card-vaZ1_mSY.js} +1 -1
- package/dashboard/dist/assets/{ClawdAnimated-BidgYaVn.js → ClawdAnimated-CV14fpL_.js} +2 -2
- package/dashboard/dist/assets/{CommandPalette-D86_iwFa.js → CommandPalette-XAR6FIiO.js} +1 -1
- package/dashboard/dist/assets/{CommunityStatsModal-CJuy4O88.js → CommunityStatsModal-DcMf6LXP.js} +1 -1
- package/dashboard/dist/assets/{ConfirmModal-BaAc5rzt.js → ConfirmModal-Cf6rWUl4.js} +1 -1
- package/dashboard/dist/assets/{Controls-Brnf_QJ_.js → Controls-BQLLIIii.js} +1 -1
- package/dashboard/dist/assets/{DashboardPage-BmW622BX.js → DashboardPage-wXkhfR3l.js} +1 -1
- package/dashboard/dist/assets/{DevicePage-DDrrY5AJ.js → DevicePage-DzCAsvYS.js} +1 -1
- package/dashboard/dist/assets/{DialogClose-BNcKZCV5.js → DialogClose-Dh1DXLjH.js} +1 -1
- package/dashboard/dist/assets/DialogDescription-wLKjV-9l.js +1 -0
- package/dashboard/dist/assets/{DialogTitle-DL9AVJvk.js → DialogTitle-BhRP2R4n.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-BYwYqoVv.js → FadeIn-C0rmYYmJ.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-C71yS5fY.js → HeaderGithubStar-198FQmDH.js} +1 -1
- package/dashboard/dist/assets/{HoverTooltip-nJQ-bK5U.js → HoverTooltip-ClzkNc3q.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-CTwXZRZk.js → IpCheckPage-DpN9xGZc.js} +1 -1
- package/dashboard/dist/assets/{LandingPage--GOHgrB4.js → LandingPage-BImwSrmg.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardAvatar-B7SjpjnT.js → LeaderboardAvatar-CU42rgGA.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-BmExdKSM.js → LeaderboardPage-Le_J0I7b.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardProfileModal-C5cQqviO.js → LeaderboardProfileModal-DLyu6a2Y.js} +3 -3
- package/dashboard/dist/assets/{LeaderboardProfilePage-DJ-09rX6.js → LeaderboardProfilePage-Dkfit9_X.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-CazL_F1h.js → LimitsPage-CNTDR2Yf.js} +1 -1
- package/dashboard/dist/assets/{LocalOnlyNotice-K3aCR52T.js → LocalOnlyNotice-DcjSbtm8.js} +1 -1
- package/dashboard/dist/assets/{LoginCard-_FbeoBO0.js → LoginCard-CgpzXY1G.js} +1 -1
- package/dashboard/dist/assets/{LoginModal-CYXuWlcp.js → LoginModal-BHNs7soq.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-NgvQXPTx.js → LoginPage-DaaWeKvj.js} +1 -1
- package/dashboard/dist/assets/{PetPage-CQ1aHdDU.js → PetPage-DSDJvZy7.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-BH948Enq.js → PopoverPopup-BJrL_Eyg.js} +1 -1
- package/dashboard/dist/assets/{ProviderIcon-CTBbzd0x.js → ProviderIcon-De08Y4_I.js} +1 -1
- package/dashboard/dist/assets/{ResetPasswordPage-GCsv0PKq.js → ResetPasswordPage-C4dwdur6.js} +1 -1
- package/dashboard/dist/assets/{SegmentedControl-D-a1T6Ay.js → SegmentedControl-CJRmt3or.js} +1 -1
- package/dashboard/dist/assets/{Select-BuBpeT1X.js → Select-Dojy3Frf.js} +1 -1
- package/dashboard/dist/assets/{SelectItemText-BJl0lY5n.js → SelectItemText-_uysSMQl.js} +1 -1
- package/dashboard/dist/assets/{ServiceStatusPage-Xz-rDYxA.js → ServiceStatusPage-C3ZC1csM.js} +1 -1
- package/dashboard/dist/assets/{SessionsPage-BvJjRxbT.js → SessionsPage-BG-VlDWP.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-CDrrA4Z_.js → SettingsPage-Dr5gq6qj.js} +2 -2
- package/dashboard/dist/assets/{SkillsPage-C3YDKdBr.js → SkillsPage-Dh6Udkc3.js} +1 -1
- package/dashboard/dist/assets/{TokenGalaxy-CwBN1Nw2.js → TokenGalaxy-MVMMCH06.js} +1 -1
- package/dashboard/dist/assets/{ToolbarRootContext-2RKWzsAn.js → ToolbarRootContext-CPEvPTvc.js} +1 -1
- package/dashboard/dist/assets/{TrendMonitor-CrCYxmL5.js → TrendMonitor-uFX8OtrM.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-CdJhuvNK.js → WidgetsPage-BqyLjoN0.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-xQN9f_Lg.js → WrappedPage-CIHbEOoq.js} +1 -1
- package/dashboard/dist/assets/__vite-browser-external-oFHfLR8i.js +45 -0
- package/dashboard/dist/assets/{agent-logos-fd9xH1K3.js → agent-logos-CAF9WeKO.js} +1 -1
- package/dashboard/dist/assets/{arrow-up-right-DWTEaioI.js → arrow-up-right-y3EAs6Hg.js} +1 -1
- package/dashboard/dist/assets/{check-D7d6q9Tz.js → check-BH5FRF8F.js} +1 -1
- package/dashboard/dist/assets/{composite-xFyWluZ9.js → composite-Bl68G4Qr.js} +1 -1
- package/dashboard/dist/assets/{copy-BlQDmjZB.js → copy-Ce6L4gOk.js} +1 -1
- package/dashboard/dist/assets/{download-CCvNpDTW.js → download-p1XPZSMa.js} +1 -1
- package/dashboard/dist/assets/{external-link-D3CFEoOU.js → external-link-DGnoQUQ1.js} +1 -1
- package/dashboard/dist/assets/{flame-BVD3QAGl.js → flame-CltKUU4A.js} +1 -1
- package/dashboard/dist/assets/{format-tokens-BeU_fDKc.js → format-tokens-BEIqtfnO.js} +1 -1
- package/dashboard/dist/assets/{icons-DT5tCQC8.js → icons-ByLLrgdQ.js} +1 -1
- package/dashboard/dist/assets/{index-7Rxzbfye.js → index-B79BltL7.js} +1 -1
- package/dashboard/dist/assets/{index-CB5EF37x.js → index-CKkbTkf_.js} +1 -1
- package/dashboard/dist/assets/{index-CuRJmltu.js → index-DU7IUcrN.js} +1 -1
- package/dashboard/dist/assets/{info-Ct8mnVg8.js → info-DOCG1uXG.js} +1 -1
- package/dashboard/dist/assets/{link-2-BkEYcjI7.js → link-2-B0HME1R-.js} +1 -1
- package/dashboard/dist/assets/{loader-circle-Cwlqvkcz.js → loader-circle-B6dVl4Im.js} +1 -1
- package/dashboard/dist/assets/{maximize-2-Bfi31lVA.js → maximize-2-P4lRVuFz.js} +1 -1
- package/dashboard/dist/assets/{modifiers.esm-DC5Ku6C4.js → modifiers.esm-C8Hm25xI.js} +1 -1
- package/dashboard/dist/assets/{monitor-smartphone-CjsPxNBN.js → monitor-smartphone-CoKP2dcs.js} +1 -1
- package/dashboard/dist/assets/{plus-CgM_CX0H.js → plus-CaDzdXql.js} +1 -1
- package/dashboard/dist/assets/{provider-display-TEnGljXd.js → provider-display-Cr0tI5r6.js} +1 -1
- package/dashboard/dist/assets/{react-CwlX45ob.js → react-C9Bg9RXS.js} +1 -1
- package/dashboard/dist/assets/{search-CKtoGzmW.js → search-CPdoCrMk.js} +1 -1
- package/dashboard/dist/assets/{skills-api-DuBly_gc.js → skills-api-DVU6coYZ.js} +1 -1
- package/dashboard/dist/assets/{sortable.esm-BNsp-WHM.js → sortable.esm-Cj2-YumT.js} +1 -1
- package/dashboard/dist/assets/{store-BTs6kZtj.js → store-npers9xW.js} +1 -1
- package/dashboard/dist/assets/{terminal-DPMN8gR5.js → terminal-CJyI1G2f.js} +1 -1
- package/dashboard/dist/assets/{trash-BDR38M5I.js → trash-BMmBe_XE.js} +1 -1
- package/dashboard/dist/assets/{use-community-stats-Deg7skO9.js → use-community-stats-DPEyQ7FC.js} +1 -1
- package/dashboard/dist/assets/{use-latest-request-guard-Bs2kD7b1.js → use-latest-request-guard-BIjzEUC7.js} +1 -1
- package/dashboard/dist/assets/{use-limits-display-prefs-BgdguDzu.js → use-limits-display-prefs-Dx9nZB5K.js} +1 -1
- package/dashboard/dist/assets/{use-ordered-list-ezT84-W6.js → use-ordered-list-BVfyhpWi.js} +1 -1
- package/dashboard/dist/assets/use-reduced-motion-D_7LzLSe.js +1 -0
- package/dashboard/dist/assets/{use-session-efficiency-pref-CTxl79WJ.js → use-session-efficiency-pref-DFdlqCsV.js} +1 -1
- package/dashboard/dist/assets/{use-transform-BpIPybsm.js → use-transform-DYM391E0.js} +1 -1
- package/dashboard/dist/assets/use-usage-limits-ucoHKjM6.js +1 -0
- package/dashboard/dist/assets/{useCurrency-e-C23rLv.js → useCurrency-Cp27r6z0.js} +1 -1
- package/dashboard/dist/assets/{useTokenFormat-D_LHEY77.js → useTokenFormat-CXx5hVTJ.js} +1 -1
- package/dashboard/dist/assets/{zap-CjrBTjSn.js → zap-D2E3JNcE.js} +1 -1
- package/dashboard/dist/brand-logos/cline.png +0 -0
- package/dashboard/dist/index.html +13 -11
- package/dashboard/dist/ip-check.html +1 -1
- package/dashboard/dist/leaderboard.html +1 -1
- package/dashboard/dist/llms.txt +3 -2
- package/dashboard/dist/share.html +1 -1
- package/package.json +2 -2
- package/src/commands/init.js +25 -0
- package/src/commands/status.js +31 -0
- package/src/commands/sync.js +39 -0
- package/src/lib/pricing/curated-overrides.json +15 -0
- package/src/lib/pricing/index.js +6 -3
- package/src/lib/pricing/matcher.js +7 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +516 -17
- package/src/lib/zcode-limits.js +147 -16
- package/dashboard/dist/assets/DialogDescription-CSvbgRdI.js +0 -1
- package/dashboard/dist/assets/__vite-browser-external-CMMzxCk7.js +0 -45
- package/dashboard/dist/assets/use-reduced-motion-TNdjFH8O.js +0 -1
- package/dashboard/dist/assets/use-usage-limits-ts6E8fNZ.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as o}from"./__vite-browser-external-CMMzxCk7.js";import{h as r,i as t,p as s}from"./react-CwlX45ob.js";function i(){!r.current&&t();const[e]=o.useState(s.current);return e}export{i as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{J as S,ab as x,r as d,c as N,ac as O,ad as A,ae as g}from"./__vite-browser-external-CMMzxCk7.js";import{l as R,i as _,L as P,a as q}from"./use-limits-display-prefs-BgdguDzu.js";import{u as z}from"./use-latest-request-guard-Bs2kD7b1.js";const F="native:notificationPermission";let M=null;function I(){return typeof window<"u"&&!!window.chrome?.webview}function L(){return S()?M||"unknown":I()?"granted":typeof Notification>"u"?"unsupported":Notification.permission}function j(e){if(typeof window>"u")return()=>{};const i=n=>{const w=n?.detail?.status;typeof w=="string"&&(M=w),e(L())};return window.addEventListener(F,i),e(L()),S()&&x({type:"getNotificationStatus"}),()=>window.removeEventListener(F,i)}async function T(){if(S()){x({type:"requestNotificationPermission"});return}I()||typeof Notification<"u"&&Notification.permission==="default"&&await Notification.requestPermission().catch(()=>"denied")}const v="tt.limitAlerts.enabled";function $(){try{return window.localStorage.getItem(v)==="1"}catch{return!1}}function te(){const[e,i]=d.useState($),[n,w]=d.useState("unknown");d.useEffect(()=>j(w),[]);const u=d.useCallback(async o=>{const r=!!o;r&&await T();try{window.localStorage.setItem(v,r?"1":"0")}catch{}i(r)},[]);return{enabled:e,setEnabled:u,permissionBlocked:n==="denied"}}function B(e,i){if(!(e>0))return null;const n=(e-i)/e;return Number.isFinite(n)?Math.min(Math.max(n,0),1):null}function G(e,i,n=.03){return e>i+n}function V(e){const i=Math.max(0,Math.floor(e)),n=Math.floor(i/3600);return n>24?`${Math.floor(n/24)}d`:n>0?`${n}h`:`${Math.floor(i/60)}m`}function J(e,i){if(typeof e.windowSeconds=="number")return e.windowSeconds;if(e.windowSecondsField&&i){const n=i[e.windowSecondsField];return typeof n=="number"&&n>0?n:null}return null}function U(e){return e==null?NaN:typeof e=="number"?e*1e3:Date.parse(e)}function H({usedPercent:e,windowSeconds:i,resetMs:n,mode:w,now:u=Date.now()}){const o=Math.min(Math.max(Number(e)||0,0),100)/100,r={pacePercent:null,paceOver:!1,expectedPercent:null,runsOutEta:null,projectedEnd:null};if(!(i>0)||!Number.isFinite(n))return r;const l=Math.max(0,(n-u)/1e3),a=B(i,l);if(a==null)return r;if(r.expectedPercent=Math.round(a*100),r.paceOver=G(o,a),o>=.05){const c=w==="remaining"?1-a:a;r.pacePercent=c*100}if(a>.02&&o>0){const c=i*a,m=o/c,f=o/a;f>=1&&m>0?r.runsOutEta=V((1-o)/m):r.projectedEnd=Math.round(Math.min(f,1)*100)}return r}const W={claude:{windows(e){const i=Array.isArray(e.weekly_scoped)?e.weekly_scoped.map(n=>({key:`scoped-${n.label}`,label:n.label,window:n,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"},{key:"grok-bot",labelKey:"limits.label.cursor_grok_bot",window:e.quaternary_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,n=i==="weekly"?"limits.label.grok_week":i==="daily"?"limits.label.grok_day":"limits.label.grok_month",w=i==="weekly"?7*86400:i==="daily"?86400:void 0;return[{key:i==="weekly"?"week":i==="daily"?"day":"month",labelKey:n,window:e.primary_window,windowSeconds:w},{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}]}},commandCode:{windows(e){return[{key:"5h",labelKey:"limits.label.command_code_5h",window:e.primary_window},{key:"weekly",labelKey:"limits.label.command_code_weekly",window:e.secondary_window}]}},agentPlan:{windows(e){return[{key:"5h",labelKey:"limits.label.ark_agent_plan_5h",window:e.primary_window},{key:"weekly",labelKey:"limits.label.ark_agent_plan_weekly",window:e.secondary_window},{key:"monthly",labelKey:"limits.label.ark_agent_plan_monthly",window:e.tertiary_window}]}},devin:{windows(e){return[{key:"daily",labelKey:"limits.label.devin_daily",window:e.primary_window,windowSecondsField:"limit_window_seconds"},{key:"weekly",labelKey:"limits.label.devin_weekly",window:e.secondary_window,windowSecondsField:"limit_window_seconds"}]}}},D="tt.limitAlerts.cycles.v1";function Y(){try{return JSON.parse(window.localStorage.getItem(D)||"{}")}catch{return{}}}function Q(e){try{window.localStorage.setItem(D,JSON.stringify(e))}catch{}}function X(e,{now:i=Date.now()}={}){const n=[],w=W;for(const[u,o]of Object.entries(e||{})){const r=w[u];if(!(!o?.configured||o.error||!r))for(const l of r.windows(o)){if(!l.window)continue;const a=Number(l.pctField==="utilization"?l.window.utilization:l.window.used_percent),c=l.resetField==="resets_at"?l.window.resets_at:l.window.reset_at,m=U(c),f=H({usedPercent:a,windowSeconds:J(l,l.window),resetMs:m,mode:"used",now:i});!f.runsOutEta||!f.paceOver||a<20||!(m>i)||n.push({id:`${u}:${l.key}:${m}`,providerId:u,windowKey:l.key,resetMs:m,usedPercent:a,runsOutEta:f.runsOutEta})}}return n}function Z(e){const i=Y(),n=X(e);for(const o of n){if(i[o.id])continue;const r=R(o.providerId),l=N("limits.alert.title",{provider:r}),a=N("limits.alert.body",{eta:o.runsOutEta,percent:Math.round(o.usedPercent)});let c=O({title:l,body:a,id:o.id});!c&&typeof Notification<"u"&&Notification.permission==="granted"&&(new Notification(l,{body:a,tag:o.id}),c=!0),c&&(i[o.id]=Date.now())}const w=Date.now()-864e5,u=Object.fromEntries(Object.entries(i).filter(([o,r])=>{const l=Number(o.split(":").at(-1));return Number.isFinite(l)?l>=w:Number(r)>=w}).slice(-100));return Q(u),n.length}function k(e,i){return!e||i||!e.devin||e.devin.configured===!1&&Object.keys(e.devin).length===1?e:{...e,devin:{configured:!1}}}function oe(e){const i=!!e?.initialState,[n,w]=d.useState(_),[u,o]=d.useState(()=>i?k(e?.initialState?.data??null,_()):null),[r,l]=d.useState(()=>i?e?.initialState?.error??null:null),[a,c]=d.useState(!i),m=!!e?.initialRefresh,f=!!e?.publishToPreloadCache,b=z([n]);d.useEffect(()=>{if(typeof window>"u")return;const s=()=>w(_()),t=y=>{q(y.key)&&s()};return window.addEventListener(P,s),window.addEventListener("storage",t),()=>{window.removeEventListener(P,s),window.removeEventListener("storage",t)}},[]),d.useEffect(()=>{if(!(!u||typeof window>"u"))try{window.localStorage.getItem(v)==="1"&&Z(u)}catch{}},[u]);const p=d.useCallback((s,t)=>{!f||!s||typeof s!="object"||A(k(s,_()),{source:t})},[f]),C=d.useCallback(async()=>{const s=b();try{const t=await g({refresh:!0,devinEnabled:_()});if(!s())return;const y=t&&typeof t=="object"?t:null;o(k(y,_())),l(null),c(!1),p(y,"manual-refresh")}catch(t){if(!s())return;l(t?.message||String(t)),c(!1)}},[b,p]),h=d.useCallback(async()=>{const s=b();try{const t=await g({devinEnabled:_()});if(!s())return;const y=t&&typeof t=="object"?t:null;o(k(y,_())),l(null),c(!1),p(y,"page-load")}catch(t){if(!s())return;l(t?.message||String(t)),c(!1)}},[b,p]);d.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const s=15e3;let t=Date.now();const y=()=>{if(document.visibilityState!=="visible")return;const E=Date.now();E-t<s||(t=E,h())};return window.addEventListener("focus",y),document.addEventListener("visibilitychange",y),()=>{window.removeEventListener("focus",y),document.removeEventListener("visibilitychange",y)}},[h]);const K=d.useRef(n);return d.useEffect(()=>{K.current!==n&&(K.current=n,n||o(s=>k(s,!1)),h())},[n,h]),d.useEffect(()=>{if(i&&!m)return;const s=b();(async()=>{try{const t=await g({devinEnabled:_()});if(!s())return;const y=t&&typeof t=="object"?t:null;o(k(y,_())),l(null),p(y,"page-load")}catch(t){if(!s())return;l(t?.message||String(t))}finally{s()&&c(!1)}})()},[b,i,m,p]),{data:u,error:r,isLoading:a,refresh:C}}export{W as P,J as a,te as b,H as c,U as r,Z as s,oe as u};
|