tokentracker-cli 1.4.9 → 1.4.10
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 +2 -2
- package/README.ja.md +2 -2
- package/README.ko.md +2 -2
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/dashboard/dist/assets/{AchievementBadge-_dRLgxnp.js → AchievementBadge-BTqlXUP1.js} +1 -1
- package/dashboard/dist/assets/{AchievementsPage-DtvlZLlv.js → AchievementsPage-DbKUhaY-.js} +2 -2
- package/dashboard/dist/assets/{AchievementsSection-OgzKkbes.js → AchievementsSection-El1F-OC7.js} +1 -1
- package/dashboard/dist/assets/{BadgeDetailModal-D4Rlm_um.js → BadgeDetailModal--8PySLzP.js} +1 -1
- package/dashboard/dist/assets/{BotAnimated-errJ5IvB.js → BotAnimated-DBcOS4vh.js} +1 -1
- package/dashboard/dist/assets/{Card-esELVQcD.js → Card-CeGs8TaY.js} +1 -1
- package/dashboard/dist/assets/{CloudCheckoutPage-3sH4Dbx9.js → CloudCheckoutPage-DCg3VVAi.js} +1 -1
- package/dashboard/dist/assets/{CloudPage-Bi_vgiqE.js → CloudPage-CmeFDrmk.js} +2 -2
- package/dashboard/dist/assets/{CommandPalette-I0aze2EJ.js → CommandPalette-CrSNoZW9.js} +1 -1
- package/dashboard/dist/assets/{CommunityStatsModal-CEn2g4J9.js → CommunityStatsModal-ynB4j0Qb.js} +1 -1
- package/dashboard/dist/assets/{ConfirmModal-D7SfFCaf.js → ConfirmModal-DDTUf-My.js} +1 -1
- package/dashboard/dist/assets/{Controls-Dyb5Vmk_.js → Controls-DXsJjEU1.js} +1 -1
- package/dashboard/dist/assets/{DashboardPage-CMHX8zDq.js → DashboardPage-fr4sgbLB.js} +1 -1
- package/dashboard/dist/assets/{DateRangePopover-CgmxsHVR.js → DateRangePopover-gTiPISL_.js} +1 -1
- package/dashboard/dist/assets/DevicePage-DvHVjCCH.js +1 -0
- package/dashboard/dist/assets/{DialogClose-DzR109OA.js → DialogClose-CXwouQe4.js} +1 -1
- package/dashboard/dist/assets/DialogDescription-BzbzETUC.js +1 -0
- package/dashboard/dist/assets/{DialogTitle-BLH1MgOX.js → DialogTitle-Cd_k-Nyw.js} +1 -1
- package/dashboard/dist/assets/{ElectricLogo-DcpBcJIy.js → ElectricLogo-C4vUNTCI.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-CBAXe_zb.js → FadeIn-CGM5RBFy.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-BZjQ3uJo.js → HeaderGithubStar-el5-DhVb.js} +1 -1
- package/dashboard/dist/assets/{HoverTooltip-Bq4HuWOZ.js → HoverTooltip-C7YaWwJx.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-Oiah1-YB.js → IpCheckPage-EKhbH9hJ.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-Cc1FfkWg.js → LandingPage-DJYOv1AM.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardPage-Bc2j_DQY.js → LeaderboardPage-CwzJxA8p.js} +2 -2
- package/dashboard/dist/assets/{LeaderboardProBadge-w1olVHVp.js → LeaderboardProBadge-DYLp9pJY.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfileModal-mgG7mdl8.js → LeaderboardProfileModal-DqD2h9dD.js} +3 -3
- package/dashboard/dist/assets/{LeaderboardProfilePage-DqxyooT5.js → LeaderboardProfilePage-CarYvpYe.js} +1 -1
- package/dashboard/dist/assets/LimitsPage-4T0BpfYS.js +6 -0
- package/dashboard/dist/assets/{LocalOnlyNotice-DZLgI75v.js → LocalOnlyNotice-CAR-mqy0.js} +1 -1
- package/dashboard/dist/assets/{LoginCard-DVNU_QtS.js → LoginCard-Czq-UgAU.js} +1 -1
- package/dashboard/dist/assets/{LoginModal-yxi5pCwC.js → LoginModal-D4uxfzZb.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-CW9pu4mf.js → LoginPage-Bg3BG0Wv.js} +1 -1
- package/dashboard/dist/assets/{PetPage-DwZsq4nC.js → PetPage-BgwBxRyx.js} +2 -2
- package/dashboard/dist/assets/{PopoverPopup-DYGmmoD8.js → PopoverPopup-k3o_Jp2b.js} +1 -1
- package/dashboard/dist/assets/{ProviderIcon-BKfj89GN.js → ProviderIcon-Bbw6MUSf.js} +1 -1
- package/dashboard/dist/assets/{ResetPasswordPage-gQdgCp9s.js → ResetPasswordPage-DIKPVu5K.js} +1 -1
- package/dashboard/dist/assets/{Select-DvSR56Lj.js → Select-kA0dV5Qw.js} +1 -1
- package/dashboard/dist/assets/{SelectItemText-DXo30s3O.js → SelectItemText-D4YCIn1x.js} +1 -1
- package/dashboard/dist/assets/{SelfHostPage-jA51Nckw.js → SelfHostPage-C3Y9qF3P.js} +1 -1
- package/dashboard/dist/assets/{ServiceStatusPage-DEkRRPx8.js → ServiceStatusPage-o1G3SJhV.js} +1 -1
- package/dashboard/dist/assets/{SessionsPage-J7hvGPCj.js → SessionsPage-CA-efxhU.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-ewH1Mzsm.js → SettingsPage-Mr84vxQL.js} +3 -3
- package/dashboard/dist/assets/{SkillsPage-BaeBHhU7.js → SkillsPage-BtRhLSpz.js} +1 -1
- package/dashboard/dist/assets/{TokenGalaxy-D52pHpzj.js → TokenGalaxy-CcFjCCuC.js} +1 -1
- package/dashboard/dist/assets/{TooltipPopup-mLpESQcv.js → TooltipPopup-6aTx3jDf.js} +1 -1
- package/dashboard/dist/assets/{TrendMonitor-ErowR5GE.js → TrendMonitor-DoywXr8h.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-Bf1uuKE7.js → WidgetsPage-BuGSzvR0.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-C8qacvpR.js → WrappedPage-Bm6X-SUZ.js} +1 -1
- package/dashboard/dist/assets/__vite-browser-external-C9a2vCBN.css +1 -0
- package/dashboard/dist/assets/{__vite-browser-external-CIpYjfAT.js → __vite-browser-external-ClVJNQu3.js} +3 -3
- package/dashboard/dist/assets/{agent-logos-tmdKvCcK.js → agent-logos-Sc8Sejgx.js} +1 -1
- package/dashboard/dist/assets/{arrow-left-CRKi420c.js → arrow-left-Cm1LG2i_.js} +1 -1
- package/dashboard/dist/assets/{arrow-right-C_o_iQbK.js → arrow-right-WP3kIwiy.js} +1 -1
- package/dashboard/dist/assets/{arrow-up-right-N5YqKKnI.js → arrow-up-right-CjyprVMj.js} +1 -1
- package/dashboard/dist/assets/{calendar-days-BJh4FDj9.js → calendar-days-Bm88-Gcb.js} +1 -1
- package/dashboard/dist/assets/{check-BfHGb92g.js → check-CzIxFg0I.js} +1 -1
- package/dashboard/dist/assets/{chevron-down-D1pO8Xgc.js → chevron-down-bfGK8629.js} +1 -1
- package/dashboard/dist/assets/{cloud-checkout-Ds13TmYz.js → cloud-checkout-C9DFQ7yM.js} +1 -1
- package/dashboard/dist/assets/{composite-DDEsQKPD.js → composite-CdExmgTx.js} +1 -1
- package/dashboard/dist/assets/{copy-CJTosYLe.js → copy-CPPdujn2.js} +1 -1
- package/dashboard/dist/assets/{download-Bkqx3c3y.js → download-Cl6_dKeK.js} +1 -1
- package/dashboard/dist/assets/{external-link-IYUo5LcK.js → external-link-B0r6Wo4e.js} +1 -1
- package/dashboard/dist/assets/{flame-BD_hiMfM.js → flame-wEezvzXx.js} +1 -1
- package/dashboard/dist/assets/{format-tokens-DxwbhPag.js → format-tokens-vWpBpKpM.js} +1 -1
- package/dashboard/dist/assets/{gift-DLzFdL-1.js → gift-BFjblRqU.js} +1 -1
- package/dashboard/dist/assets/{icons-CbrWeFPS.js → icons-DX3dCNJP.js} +1 -1
- package/dashboard/dist/assets/{index-AVEWo-aY.js → index-D-TnqdBv.js} +1 -1
- package/dashboard/dist/assets/{index-DfzCE-FL.js → index-D1Zdrpom.js} +1 -1
- package/dashboard/dist/assets/{index-Dj1QnoPF.js → index-DBF1bJlm.js} +1 -1
- package/dashboard/dist/assets/{index-3xGpnZnP.js → index-p8Gt3NFg.js} +1 -1
- package/dashboard/dist/assets/{info-odlIlCnm.js → info-Cqi971MA.js} +1 -1
- package/dashboard/dist/assets/{link-2-Bt28Ey9r.js → link-2-79sm__cT.js} +1 -1
- package/dashboard/dist/assets/{loader-circle-lGnIhIFS.js → loader-circle-CDoVfOUb.js} +1 -1
- package/dashboard/dist/assets/{local-usage-transfer-DSS0WaL-.js → local-usage-transfer-EcXnuwCj.js} +1 -1
- package/dashboard/dist/assets/{modifiers.esm-CitRa_Z1.js → modifiers.esm-v5_BKSmY.js} +1 -1
- package/dashboard/dist/assets/{monitor-smartphone-1T0GFcOz.js → monitor-smartphone-CO67DffO.js} +1 -1
- package/dashboard/dist/assets/{play-d6YYOmED.js → play-CbvuGtc3.js} +1 -1
- package/dashboard/dist/assets/{plus-GrGV9Fkm.js → plus-jc2gXlRM.js} +1 -1
- package/dashboard/dist/assets/{provider-display-D1v3cgDm.js → provider-display-BK3EbRLM.js} +1 -1
- package/dashboard/dist/assets/{react-DYCAyQbo.js → react-DMs4C4qS.js} +1 -1
- package/dashboard/dist/assets/{safePolygon-iPu060Qe.js → safePolygon-cY9H0GBN.js} +1 -1
- package/dashboard/dist/assets/{search-AQhOTwzm.js → search-fqTJoYYA.js} +1 -1
- package/dashboard/dist/assets/{server-uYTbWPMd.js → server-jpBtvTvr.js} +1 -1
- package/dashboard/dist/assets/{shield-check-DB1NVCDf.js → shield-check-DQiBlJbN.js} +1 -1
- package/dashboard/dist/assets/{skills-api-D7X10n0t.js → skills-api-CN2r_rmt.js} +1 -1
- package/dashboard/dist/assets/{sortable.esm-B13KhrCd.js → sortable.esm-DrS52yOK.js} +1 -1
- package/dashboard/dist/assets/{store-D6XHiq8o.js → store-K2Mk6aMn.js} +1 -1
- package/dashboard/dist/assets/{terminal-t37F8qyF.js → terminal-Q4SruAlh.js} +1 -1
- package/dashboard/dist/assets/{trash-CDHRwGsy.js → trash-C1Ob-g8E.js} +1 -1
- package/dashboard/dist/assets/{use-community-stats--kaGg0EW.js → use-community-stats-C-Gxpp9D.js} +1 -1
- package/dashboard/dist/assets/{use-latest-request-guard-ChyODWU3.js → use-latest-request-guard-DK-A4bBp.js} +1 -1
- package/dashboard/dist/assets/use-limits-display-prefs-ZauQzxE_.js +1 -0
- package/dashboard/dist/assets/{use-native-settings-i3O4GTY1.js → use-native-settings-BZLEIUK8.js} +1 -1
- package/dashboard/dist/assets/{use-ordered-list-BtewEEX_.js → use-ordered-list-De_Mcm_H.js} +1 -1
- package/dashboard/dist/assets/use-reduced-motion-DatTtp2N.js +1 -0
- package/dashboard/dist/assets/{use-transform-NBAyuphu.js → use-transform-XCDD5IrX.js} +1 -1
- package/dashboard/dist/assets/use-usage-limits-BncGDhoF.js +1 -0
- package/dashboard/dist/assets/{useCurrency-BdsxkAID.js → useCurrency-DXPclxBT.js} +1 -1
- package/dashboard/dist/assets/{usePositioner-BAN79miB.js → usePositioner-C-E1npCy.js} +1 -1
- package/dashboard/dist/assets/{useTokenFormat-CGEO_mX1.js → useTokenFormat-B70xhy9u.js} +1 -1
- package/dashboard/dist/assets/{zap-BDHWp-gL.js → zap-D7gRgGCj.js} +1 -1
- package/dashboard/dist/index.html +5 -5
- package/dashboard/dist/ip-check.html +2 -2
- package/dashboard/dist/leaderboard.html +2 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +2 -2
- package/src/lib/grok-limits.js +1 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/usage-limits.js +20 -8
- package/src/lib/workbuddy-ipc.js +191 -0
- package/src/lib/workbuddy-limits.js +564 -0
- package/dashboard/dist/assets/DevicePage-9R2MfK2Z.js +0 -1
- package/dashboard/dist/assets/DialogDescription-CdNjUDLZ.js +0 -1
- package/dashboard/dist/assets/LimitsPage-BIvK0GFj.js +0 -6
- package/dashboard/dist/assets/__vite-browser-external-CnVnsbqV.css +0 -1
- package/dashboard/dist/assets/use-limits-display-prefs-katFAxOA.js +0 -1
- package/dashboard/dist/assets/use-reduced-motion-DPacKl9n.js +0 -1
- package/dashboard/dist/assets/use-usage-limits-hsv-93TF.js +0 -1
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{o as J,j as e,y as Ie,c as r,h as B,r as p,bm as pt,al as gt,B as Y,bn as ft,V as N,e as ht,W as je,R as bt,L as yt,bo as vt,t as kt,w as jt}from"./__vite-browser-external-CIpYjfAT.js";import{m as we}from"./react-DYCAyQbo.js";import{P as re,c as wt,r as le,a as Nt,u as _t,b as St,s as Ct}from"./use-usage-limits-hsv-93TF.js";import{b as j,c as Ae,l as ie,d as He,u as Mt}from"./use-limits-display-prefs-katFAxOA.js";import{C as Fe}from"./Card-esELVQcD.js";import{F as Pt}from"./FadeIn-CBAXe_zb.js";import{P as Oe}from"./ProviderIcon-BKfj89GN.js";import{H as Dt}from"./HoverTooltip-Bq4HuWOZ.js";import{C as Le}from"./chevron-down-D1pO8Xgc.js";import{G as Et}from"./gift-DLzFdL-1.js";import{C as Rt}from"./ConfirmModal-D7SfFCaf.js";import{I as Ne,L as Tt}from"./LocalOnlyNotice-DZLgI75v.js";import{S as xe}from"./Select-DvSR56Lj.js";import{P as It}from"./plus-GrGV9Fkm.js";import{P as At,a as Ht,b as Ft,c as Ot,d as Lt}from"./PopoverPopup-DYGmmoD8.js";import{u as $t}from"./use-reduced-motion-DPacKl9n.js";import"./use-latest-request-guard-ChyODWU3.js";import"./DialogTitle-BLH1MgOX.js";import"./composite-DDEsQKPD.js";import"./store-D6XHiq8o.js";import"./DialogDescription-CdNjUDLZ.js";import"./arrow-up-right-N5YqKKnI.js";import"./download-Bkqx3c3y.js";import"./check-BfHGb92g.js";import"./SelectItemText-DXo30s3O.js";import"./usePositioner-BAN79miB.js";import"./safePolygon-iPu060Qe.js";const $e={name:"bell-off",size:24,node:[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]]};$e.node;const Ut=J($e);const Ue={name:"bell",size:24,node:[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]};Ue.node;const Bt=J(Ue);const Be={name:"calendar-clock",size:24,node:[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v3",key:"otl347"}],["path",{d:"M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338",key:"7hb8p4"}],["path",{d:"M3 9h5.859",key:"numkqi"}],["path",{d:"M8 2v3",key:"1ioesn"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]};Be.node;const ze=J(Be);const Ge={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};Ge.node;const We=J(Ge);const Ke={name:"infinity",size:24,node:[["path",{d:"M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8",key:"18ogeb"}]]};Ke.node;const qe=J(Ke),zt=[3,2,3,3,2,2,3];function $({className:t}){return e.jsx("div",{className:Ie("rounded bg-oai-gray-200/70 dark:bg-oai-gray-800/70 animate-pulse",t)})}function Gt(){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx($,{className:"h-3 w-12 shrink-0"}),e.jsx($,{className:"flex-1 h-1.5 rounded-full min-w-0"}),e.jsx($,{className:"h-3 w-[30px] shrink-0"}),e.jsx($,{className:"h-3 w-6 shrink-0"})]})}function Wt({bars:t,index:a}){const i=a%3===0?"w-24":a%3===1?"w-20":"w-[4.5rem]";return e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx($,{className:"h-[14px] w-[14px] rounded shrink-0"}),e.jsx($,{className:Ie("h-4",i)})]}),Array.from({length:t},(s,n)=>e.jsx(Gt,{},n))]})}function Kt(){return e.jsx(Fe,{children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx($,{className:"h-3.5 w-28"}),zt.map((t,a)=>e.jsx(Wt,{bars:t,index:a},a))]})})}const he=100;function _e(t){const a=Date.parse(t);return Number.isFinite(a)?a:null}function qt(t){return Math.max(0,Math.min(he,Math.round(t)))}function Vt(t){return new Intl.DateTimeFormat(B(),{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t))}function Yt(t,a,i){if(t==null||t>=a)return he;const s=a-t,n=a-i;return qt(n/s*he)}function Xt(t){const a=t.available_count;return a===null?null:Number.isInteger(a)&&a>=0?a:void 0}function Zt(t,{now:a}={}){if(!t||typeof t!="object")return null;const i=Xt(t);if(i===void 0)return null;const s=Array.isArray(t.credits)?t.credits:[],n=a instanceof Date?a.getTime():Number(a??Date.now()),o=[];for(const l of s){const c=_e(l?.expires_at);if(c==null)continue;const d=o.length+1;o.push({key:`reset-${d}`,label:r("limits.codex_reset_bank.row_label",{index:d}),expiresAt:Vt(c),expiresMs:c,percent:Yt(_e(l?.granted_at),c,n)})}return i===0?null:o.length>0?{kind:"rows",availableCount:i??o.length,rows:o}:i>0?{kind:"count_only",availableCount:i,rows:[]}:null}const Z=864e5;function U(t,a){const i=new Date(t),s=i.getUTCDate(),n=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+a,1,i.getUTCHours(),i.getUTCMinutes())),o=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+1,0)).getUTCDate();return n.setUTCDate(Math.min(s,o)),n.getTime()}function Ve(t,a){if(a==="weekly")return t-7*Z;if(a==="yearly")return U(t,-12);const i=new Date(t),s=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),0)).getUTCDate(),n=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()-1,1,i.getUTCHours(),i.getUTCMinutes()));return n.setUTCDate(Math.min(i.getUTCDate(),s)),n.getTime()}function Ye(t,a){return a==="weekly"?t+7*Z:a==="yearly"?U(t,12):U(t,1)}function Jt(t){if(t.startedAt!=null){const a=new Date(t.startedAt).getTime();if(Number.isFinite(a))return a}return Ve(new Date(t.nextBillingAt).getTime(),t.cycle)}function Qt(t,a,i){if(t.startedAt!=null){const s=new Date(t.startedAt).getTime();if(Number.isFinite(s))return s}return Ve(i,a)}function ea(t,a,i){if(a==="weekly"){const c=7*Z,d=i<=t?0:Math.floor((i-t)/c);return{startMs:t+d*c,endMs:t+(d+1)*c}}const s=a==="yearly"?12:1,n=s*30.436875*Z;let o=i<=t?0:Math.floor((i-t)/n);for(;o>0&&U(t,o*s)>i;)o-=1;let l=0;for(;U(t,(o+1)*s)<=i&&l<12e3;)o+=1,l+=1;return{startMs:U(t,o*s),endMs:U(t,(o+1)*s)}}function ne(t,a){const i=new Date(t.nextBillingAt).getTime();if(!Number.isFinite(i))return null;const s=["weekly","monthly","yearly"].includes(t.cycle)?t.cycle:"monthly",n=Qt(t,s,i);if(!Number.isFinite(n))return null;let o,l,c=!1;t.autoRenew?{startMs:o,endMs:l}=ea(n,s,a):t.startedAt!=null?(o=n,l=Ye(n,s),c=l<=a):(o=n,l=i,c=l<=a);const d=Math.max(1,l-o),x=c?1:Math.max(0,Math.min(1,(a-o)/d));return{endMs:l,startMs:o,progress:x,cycleDays:Math.max(1,Math.round(d/Z)),expired:c}}function Xe(t,a){const i=t-a;if(i<=0)return r("subscriptions.expired");const s=Math.ceil(i/6e4);if(s<60)return`${s}m`;const n=Math.floor(s/60);return n<24?`${n}h`:`${Math.floor(n/24)}d`}function be(t,a){const i=t-a;if(i<=0)return r("subscriptions.expired");const s=Math.floor(i/6e4),n=Math.floor(s/1440),o=Math.floor(s%1440/60),l=s%60;return r("subscriptions.countdown",{days:n,hours:o,minutes:l})}const ta="shrink-0 text-oai-black dark:text-oai-white",aa={opencodeGo:"OPENCODE_GO_API_KEY",commandCode:"COMMAND_CODE_API_KEY"},ra={opencodeGo:"opencode-go",commandCode:"command-code"};function Ze(){const t=typeof navigator>"u"?"":navigator.userAgent||"";return/Windows/i.test(t)?"windows":/Linux/i.test(t)?"linux":"macos"}function Je(){return Ze()==="windows"?r("limits.commandCode.setupHint.snippet_login_windows"):r("limits.commandCode.setupHint.snippet_login")}function Qe(){return r("limits.devin.setupHint.snippet_login")}function ia(t){const a=le(t);if(!Number.isFinite(a))return null;const i=a-Date.now();if(i<=0)return r("shared.time.now");const s=Math.floor(i/6e4);if(s<60)return`${s}m`;const n=Math.floor(s/60);return n<24?`${n}h`:`${Math.floor(n/24)}d`}function na(t,a){const i=a===j.REMAINING?100-t:t;return i>=90?"bg-red-500":i>=70?"bg-amber-500":"bg-emerald-500"}function se(t,a="used_percent"){return t?a==="utilization"?t.utilization:t.used_percent:null}function ce(t,a="reset_at"){return t?a==="resets_at"?t.resets_at:t.reset_at:null}function pe(t){const a=Math.max(0,Math.min(100,Number(t)||0)),i=Math.round(a);return a>0&&i===0?r("limits.bar.sub_one_percent"):String(i)}function ae(t,{useGrouping:a=!0,maximumFractionDigits:i}={}){const s=Number(t);return Number.isFinite(s)?new Intl.NumberFormat(void 0,{minimumFractionDigits:0,maximumFractionDigits:i??(s>=100?0:2),useGrouping:a}).format(s):null}function sa(t){if(!t||typeof t!="object"||!(Number(t.limit_credits)>0))return null;const a={useGrouping:t.unit!=="calls"},i=ae(t.used_credits,a),s=ae(t.limit_credits,a),n=ae(t.remaining_credits,a);if(!i||!s||!n)return null;const o=t.unit==="calls"?"limits.qoder_calls.detail":"limits.codex_credits.detail";return r(o,{used:i,limit:s,remaining:n})}function et(t,a,i){return wt({usedPercent:se(t.window,t.pctField),windowSeconds:Nt(t,t.window),resetMs:le(ce(t.window,t.resetField)),mode:a,now:i})}function oe(t){return Number.isFinite(t)?new Intl.DateTimeFormat(B(),{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t)):null}function oa(t,a,i){const s=[at(t,a,i)],n=le(ce(t.window,t.resetField)),o=oe(n);o&&s.push(r(t.timeKind==="expiry"?"limits.hover.expires_at":"limits.hover.resets_at",{time:o}));const l=sa(t.window);return l&&s.push(l),s.join(`
|
|
2
|
-
`)}const tt=Dt;function la({label:t,pct:a,reset:i,mode:s=j.USED,pacePercent:n=null,paceOver:o=!1,title:l=null,share:c=!1}){const d=Math.max(0,Math.min(100,Number(a)||0)),x=!c&&s===j.REMAINING?100-d:d,u=c?j.USED:s,g=Math.round(x),y=x>0&&g===0?Math.max(x,.35):x;let b=String(g);x>0&&g===0&&(b=r("limits.bar.sub_one_percent"));const S=n==null?null:Math.max(0,Math.min(100,n));return e.jsxs("div",{className:"group relative flex items-center gap-2",children:[e.jsx(tt,{text:l}),e.jsx("span",{"data-limit-label":"",className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400 shrink-0 whitespace-nowrap",style:{width:"var(--tt-limits-label-w)"},children:t}),e.jsxs("div",{className:"relative flex-1 bg-oai-gray-100 dark:bg-oai-gray-700/50 rounded-full h-1.5 overflow-hidden",children:[e.jsx("div",{className:`${na(x,u)} rounded-full h-full transition-[width] duration-500 ease-out`,style:{width:`${y}%`,minWidth:x>0?"3px":0}}),S!=null&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"absolute top-0 h-full bg-oai-gray-100 dark:bg-oai-gray-700/50",style:{left:`calc(${S}% - 3px)`,width:"6px"}}),e.jsx("div",{className:`absolute top-0 h-full ${o?"bg-red-500":"bg-emerald-500"}`,style:{left:`calc(${S}% - 1px)`,width:"2px"}})]})]}),e.jsxs("span",{className:"text-[11px] tabular-nums text-oai-gray-500 dark:text-oai-gray-400 w-9 text-right shrink-0 whitespace-nowrap",children:[b,"%"]}),i&&e.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-500 w-6 text-right shrink-0",children:i})]})}function at(t,a,i){const s=t.label??r(t.labelKey),n=i===j.REMAINING&&t.share!==!0,o=d=>n?100-d:d;if(a.expectedPercent==null){const d=Math.max(0,Math.min(100,Number(se(t.window,t.pctField))||0)),x=pe(o(d));return n?r("limits.explain.remaining",{label:s,used:x}):r("limits.explain.used",{label:s,used:x})}if(a.paceOver){if(a.runsOutEta)return r("limits.explain.ahead_eta",{label:s,eta:a.runsOutEta});const d=pe(o(a.projectedEnd??100));return r(n?"limits.explain.ahead_pct_remaining":"limits.explain.ahead_pct",{label:s,pct:d})}const l=Math.max(0,Math.min(100,Number(se(t.window,t.pctField))||0)),c=pe(o(a.projectedEnd??l));return r(n?"limits.explain.on_track_remaining":"limits.explain.on_track",{label:s,pct:c})}function ca({pace:t}){return t.pacePercent!=null}function rt({rows:t,mode:a,now:i=Date.now()}){if(t.length===0)return null;const s=a===j.REMAINING,n=t.some(ca);return e.jsxs("div",{className:"mt-1 flex flex-col gap-1",children:[t.map(({spec:o,pace:l})=>{const c=oe(le(ce(o.window,o.resetField)));return e.jsxs("div",{className:"text-[11px] leading-snug text-oai-gray-600 dark:text-oai-gray-300",children:[at(o,l,a),c?e.jsxs("span",{className:"text-oai-gray-400 dark:text-oai-gray-500",children:[" · ",r(o.timeKind==="expiry"?"limits.hover.expires_at":"limits.hover.resets_at",{time:c})]}):null]},o.key)}),n?e.jsx("div",{className:"mt-1 pt-1.5 border-t border-oai-gray-200/70 dark:border-oai-gray-700/50 text-[10.5px] leading-snug text-oai-gray-400 dark:text-oai-gray-500",children:r(s?"limits.explain.body_remaining":"limits.explain.body")}):null]})}function X(t){if(!t)return null;const a=Date.now()-new Date(t).getTime();if(a<0)return null;const i=Math.floor(a/6e4);if(i<1)return r("shared.time.now");if(i<60)return r("shared.time.m_ago",{n:i});const s=Math.floor(i/60);if(s<24)return r("shared.time.h_ago",{n:s});const n=Math.floor(s/24);return r("shared.time.d_ago",{n})}const Se={live:{surface:"bg-oai-gray-50 dark:bg-oai-gray-800 border-oai-gray-200/60 dark:border-oai-gray-700/60 text-oai-gray-500 dark:text-oai-gray-400",dot:"bg-emerald-500",pulse:"bg-emerald-400"},stale:{surface:"bg-oai-gray-50 dark:bg-oai-gray-800 border-oai-gray-200/60 dark:border-oai-gray-700/60 text-oai-gray-500 dark:text-oai-gray-400",dot:"bg-amber-500",pulse:"bg-amber-400"},cached:{surface:"bg-oai-gray-50 dark:bg-oai-gray-800 border-oai-gray-200/60 dark:border-oai-gray-700/60 text-oai-gray-500 dark:text-oai-gray-400",dot:"bg-amber-500",pulse:"bg-amber-400"}},da={claude:"claude",codex:"codex",antigravity:"agy"};function K({label:t,age:a=null,tone:i="live",tooltip:s=null}){const n=Se[i]||Se.live,o=i==="live";return e.jsxs("div",{className:"relative inline-flex items-center group cursor-help ml-1",onClick:l=>l.stopPropagation(),children:[e.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[9px] font-semibold uppercase tracking-wider border leading-normal ${n.surface}`,children:[o?e.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[e.jsx("span",{className:`animate-ping absolute inline-flex h-full w-full rounded-full ${n.pulse} opacity-75`}),e.jsx("span",{className:`relative inline-flex rounded-full h-1.5 w-1.5 ${n.dot}`})]}):e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${n.dot}`}),t,a?e.jsxs(e.Fragment,{children:[" · ",a]}):null]}),s?e.jsxs("span",{className:"pointer-events-none absolute left-1/2 bottom-full z-20 mb-2 -translate-x-1/2 w-48 rounded-md bg-oai-gray-900 dark:bg-oai-gray-800 px-2.5 py-1.5 text-[10px] font-normal text-white text-center opacity-0 scale-95 translate-y-1 group-hover:opacity-100 group-hover:scale-100 group-hover:translate-y-0 transition-all duration-200 cubic-bezier(0.16, 1, 0.3, 1) leading-normal shadow-lg origin-bottom border border-oai-gray-800 dark:border-oai-gray-700",children:[s,e.jsx("span",{className:"absolute left-1/2 top-full -translate-x-1/2 border-4 border-transparent border-t-oai-gray-900 dark:border-t-oai-gray-800"})]}):null]})}function it({name:t,providerId:a,children:i,expandable:s=!1,expanded:n=!1,onToggle:o,badge:l=null,rightAdornment:c=null,toggleOnHeader:d=!1}){const x=He(a),u=e.jsxs("div",{className:"flex items-center gap-1.5",children:[x?e.jsx(Oe,{provider:x,size:14,className:ta}):null,e.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:t}),c?e.jsx("span",{className:"shrink-0",children:c}):null,l]});return s?d?e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs("button",{type:"button","aria-expanded":n,onClick:o,className:"flex w-full items-center justify-between rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:[u,e.jsx(Le,{size:13,"aria-hidden":!0,className:`text-oai-gray-400 transition-transform ${n?"rotate-180":""}`})]}),i]}):e.jsxs("div",{role:"button",tabIndex:0,"aria-expanded":n,onClick:o,onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),o?.())},className:"flex flex-col gap-1.5 -mx-1.5 px-1.5 py-1 rounded-lg cursor-pointer transition-colors hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/40 aria-expanded:bg-oai-gray-50 dark:aria-expanded:bg-oai-gray-800/40",children:[u,i]}):e.jsxs("div",{className:"flex flex-col gap-1.5",children:[u,i]})}function nt({subscription:t}){const a=t.autoRenew?r("subscriptions.badge.auto_renew"):r("subscriptions.badge.stops"),i=t.autoRenew?qe:We;return e.jsx("span",{role:"img","aria-label":a,title:a,className:`inline-flex translate-y-px ${t.autoRenew?"text-oai-brand-600 dark:text-oai-brand-400":"text-blue-600 dark:text-blue-400"}`,children:e.jsx(i,{size:14,strokeWidth:2,"aria-hidden":!0})})}function st({subscription:t,now:a,mode:i=j.USED}){const s=ne(t,a);if(!s)return null;const{endMs:n,expired:o}=s,l=!o&&n-a<=3*864e5,c=o?100:s.progress*100,d=i===j.REMAINING?100-c:c,x=o?100:Math.max(0,Math.min(100,d)),u=Math.round(x),g=x>0&&u===0?r("limits.bar.sub_one_percent"):`${u}%`;return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400 shrink-0 whitespace-nowrap",style:{width:"var(--tt-limits-label-w)"},children:r("subscriptions.inline.label")}),e.jsx("div",{className:"relative flex-1 bg-oai-gray-100 dark:bg-oai-gray-700/50 rounded-full h-1.5 overflow-hidden",children:e.jsx("div",{className:`${o?"bg-red-500":l?"bg-amber-500":"bg-blue-500"} rounded-full h-full block motion-safe:transition-[width] motion-safe:duration-500 ease-out motion-reduce:transition-none`,style:{width:`${x}%`,minWidth:x>0?"3px":0}})}),e.jsx("span",{className:"text-[11px] tabular-nums text-oai-gray-500 dark:text-oai-gray-400 w-9 text-right shrink-0 whitespace-nowrap",children:g}),e.jsx("span",{className:`text-[10px] tabular-nums shrink-0 whitespace-nowrap w-6 text-right ${o?"text-oai-error":"text-oai-gray-400 dark:text-oai-gray-500"}`,children:Xe(n,a)})]})}function ot({subscription:t,now:a}){const i=ne(t,a);if(!i)return null;const s=new Intl.DateTimeFormat(B(),{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return e.jsxs("div",{className:"text-[11px] leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:[e.jsx("span",{children:r("subscriptions.inline.label")}),e.jsx("span",{className:"text-oai-gray-300 dark:text-oai-gray-600",children:":"}),e.jsx("span",{children:t.autoRenew?r("subscriptions.label.renews_at"):r("subscriptions.label.expires_at")}),e.jsx("span",{children:" "}),e.jsx("span",{className:"font-mono tabular-nums",children:s.format(new Date(i.endMs))}),e.jsx("span",{className:"text-oai-gray-300 dark:text-oai-gray-600",children:" · "}),e.jsx("span",{className:i.expired?"text-oai-error":void 0,children:be(i.endMs,a)}),e.jsx("span",{className:"text-oai-gray-300 dark:text-oai-gray-600",children:" · "}),e.jsx("span",{children:t.autoRenew?r("subscriptions.status.auto_renew"):r("subscriptions.status.manual")})]})}const ua=Ae;function T({children:t,tone:a="neutral"}){const i=a==="error"?"text-red-600 dark:text-red-400":"text-oai-gray-500 dark:text-oai-gray-400";return e.jsx("div",{className:`text-[11px] leading-snug ${i}`,children:t})}function lt({rows:t,mode:a,extra:i=null}){const s=t.length===0&&!i;return e.jsxs(e.Fragment,{children:[t.map(({spec:n,pace:o})=>e.jsx(la,{label:n.label??r(n.labelKey),pct:se(n.window,n.pctField),reset:ia(ce(n.window,n.resetField)),mode:a,share:n.share===!0,pacePercent:o.pacePercent,paceOver:o.paceOver,title:oa(n,o,a)},n.key)),s?e.jsx(T,{children:r("limits.status.no_data")}):null,i]})}function ma(t){if(!Number.isFinite(t.expiresMs))return null;const a=Math.floor((t.expiresMs-Date.now())/864e5);return a<0?null:a===0?r("limits.reset_bank.hover_detail_today",{date:t.expiresAt}):r("limits.reset_bank.hover_detail",{date:t.expiresAt,days:a})}function xa({row:t}){const a=Math.max(0,Math.min(100,Number(t.percent)||0));return e.jsxs("div",{className:"group relative flex items-center gap-2","data-reset-bank-row":"",children:[e.jsx(tt,{text:ma(t)}),e.jsx("span",{"data-limit-label":"",className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400 shrink-0 whitespace-nowrap",style:{width:"var(--tt-limits-label-w)"},children:t.label}),e.jsx("div",{className:"relative flex-1 bg-oai-gray-100 dark:bg-oai-gray-700/50 rounded-full h-1.5 overflow-hidden",children:e.jsx("div",{className:"bg-oai-gray-400 dark:bg-oai-gray-500 rounded-full h-full transition-[width] duration-500 ease-out",style:{width:`${a}%`,minWidth:a>0?"3px":0}})}),e.jsx("span",{className:"text-[10px] tabular-nums text-oai-gray-400 dark:text-oai-gray-500 w-[4.25rem] text-right shrink-0 whitespace-nowrap",children:t.expiresAt})]})}function pa({model:t}){const a=t.kind==="count_only"?r("limits.codex_reset_bank.count_only",{count:t.availableCount}):null;return e.jsxs("div",{className:"mt-1 flex flex-col gap-1","data-reset-bank-section":t.kind,children:[e.jsx("div",{className:"text-[10.5px] font-medium uppercase tracking-wide text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.codex_reset_bank.title")}),a?e.jsx("div",{className:"text-[11px] leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:a}):t.rows.map(i=>e.jsx(xa,{row:i},i.key))]})}function ga({data:t}){const a=Date.now(),i=[{key:"five_hour",label:r("limits.label.zcode_5h")},{key:"weekly",label:r("limits.label.zcode_weekly")}].map(s=>({...s,cards:(t[s.key]||[]).filter(n=>Date.parse(n.expires_at)>a).slice().sort((n,o)=>Date.parse(n.expires_at)-Date.parse(o.expires_at))}));return e.jsxs("div",{className:"mt-1 flex flex-col gap-1.5",children:[e.jsx("div",{className:"text-[10.5px] font-medium uppercase tracking-wide text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.zcode.reset_bank.title")}),t.error?e.jsx(T,{tone:"error",children:r("shared.error.prefix",{error:t.error})}):i.map(s=>e.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[e.jsx("span",{"data-limit-label":"",className:"shrink-0 whitespace-nowrap text-oai-gray-500 dark:text-oai-gray-400",style:{width:"var(--tt-limits-label-w)"},children:s.label}),e.jsx("span",{className:"rounded-full bg-oai-gray-100 px-2 py-0.5 tabular-nums text-oai-gray-600 dark:bg-oai-gray-800 dark:text-oai-gray-300",children:r("limits.zcode.reset_bank.count",{count:s.cards.length})}),s.cards.length?e.jsx("span",{className:"ml-auto text-right text-[10px] tabular-nums text-oai-gray-400 dark:text-oai-gray-500",title:s.cards.map(n=>oe(Date.parse(n.expires_at))).join(`
|
|
3
|
-
`),children:r("limits.zcode.reset_bank.earliest",{time:oe(Date.parse(s.cards[0].expires_at))})}):null]},s.key))]})}function ct(t,a){if(t==="zcode_reset_bank")return a.reset_credits?e.jsx(ga,{data:a.reset_credits}):null;if(t==="codex_meta"){const i=Zt(a.reset_credits);return i?e.jsx(pa,{model:i}):null}if(t==="kimi_parallel"&&a.parallel_limit)return e.jsx(T,{children:r("limits.label.kimi_parallel",{count:a.parallel_limit})});if(t==="kiro_credits"&&Number.isFinite(Number(a.tracked_credits))&&Number(a.tracked_credit_records)>0){const i=ae(a.tracked_credits,{maximumFractionDigits:2});return e.jsx(T,{children:r("limits.label.kiro_tracked_credits",{credits:i,count:Number(a.tracked_credit_records)})})}return t==="copilot_otel"&&!a.otel_has_files&&!a.otel_enabled?e.jsx(ya,{defaultDir:a.otel_default_dir}):null}function fa({data:t,mode:a,now:i}){const[s,n]=p.useState(!1),o=p.useRef(null),l=dt(o),c=[...new Set((t.buckets||[]).map(u=>u.plan_name).filter(Boolean))],d=c.length?c.join(" · "):r("limits.zcode.start_grants"),x=re.zcode.windows(t).filter(u=>u.window).map(u=>({spec:u,pace:et(u,a,i)}));return e.jsxs("div",{className:"mt-2 border-t border-oai-gray-200/60 pt-2 dark:border-oai-gray-800",children:[e.jsxs("button",{type:"button","aria-expanded":s,onClick:u=>{u.stopPropagation(),n(g=>!g)},onKeyDown:u=>u.stopPropagation(),className:"flex w-full items-center gap-1.5 rounded text-xs text-oai-gray-500 transition-colors hover:text-oai-gray-800 dark:text-oai-gray-400 dark:hover:text-oai-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:[e.jsx(Et,{size:13,"aria-hidden":!0}),e.jsx("span",{className:"min-w-0 truncate",title:d,children:d}),e.jsx(Le,{size:13,"aria-hidden":!0,className:`ml-auto transition-transform ${s?"rotate-180":""}`})]}),s?e.jsx("div",{ref:o,"data-limit-label-group":"",className:"mt-2 flex flex-col gap-1.5",style:l>0?{"--tt-limits-label-w":`${l}px`}:void 0,children:t.error?e.jsx(T,{tone:"error",children:r("shared.error.prefix",{error:t.error})}):e.jsxs(e.Fragment,{children:[e.jsx(lt,{rows:x,mode:a}),e.jsx(rt,{rows:x,mode:a,now:i}),(t.buckets||[]).filter(u=>Number.isFinite(u.remaining_units)&&Number.isFinite(u.total_units)).map((u,g)=>e.jsx("div",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.zcode.grant_amount",{remaining:u.remaining_units.toLocaleString(B()),total:u.total_units.toLocaleString(B())})},u.entitlement_id||g))]})}):null]})}function ha(t,a,i,s,n,o,l=null,c=null,d=Date.now(),x=null){const u=re[t];if(!u)return null;const g=u.windows(a).filter(b=>b.window).map(b=>({spec:b,pace:et(b,s,d)})),y=ct(u.extra,a);return e.jsxs(it,{name:i,providerId:t,expandable:g.length>0||!!c,expanded:n,onToggle:o,badge:l,rightAdornment:c?e.jsx(nt,{subscription:c}):null,toggleOnHeader:t==="zcode",children:[e.jsx(lt,{mode:s,rows:g,extra:y}),t==="opencodeGo"||t==="commandCode"?e.jsx(va,{providerId:t,data:a,onSaved:x}):null,c?e.jsx(st,{subscription:c,now:d,mode:s}):null,n?e.jsx(rt,{rows:g,mode:s,now:d}):null,n&&c?e.jsx(ot,{subscription:c,now:d}):null,t==="zcode"&&a.start_plan?.configured?e.jsx(fa,{data:a.start_plan,mode:s,now:d}):null]},t)}function ge(t,a,i,s,n=null,o=Date.now(),l=j.USED){const c=!!n;return e.jsxs(it,{name:ie(t),providerId:t,expandable:c,expanded:i,onToggle:s,rightAdornment:c?e.jsx(nt,{subscription:n}):null,children:[a,c?e.jsx(st,{subscription:n,now:o,mode:l}):null,c&&i?e.jsx("div",{className:"mt-1",children:e.jsx(ot,{subscription:n,now:o})}):null]},t)}function ba(t,a,i,s,n,o=null,l=Date.now(),c=null){if(!re[t])return null;if(!a?.configured)return ge(t,e.jsxs(e.Fragment,{children:[e.jsx(T,{children:r("limits.status.not_connected")}),t==="opencodeGo"?e.jsx(Ce,{onSaved:c}):null,t==="commandCode"?e.jsx(Me,{onSaved:c}):null,t==="codingPlan"?e.jsx(De,{}):null,t==="agentPlan"?e.jsx(Ee,{}):null,t==="devin"?e.jsx(Pe,{}):null]}),s,n,o,l,i);if(t==="opencodeGo"&&a.subscription_status==="inactive")return ge(t,e.jsx(T,{children:r("limits.opencodeGo.status.inactive")}),s,n,o,l,i);if(a.error)return ge(t,e.jsxs(e.Fragment,{children:[e.jsx(T,{tone:"error",children:r("shared.error.prefix",{error:a.error})}),t==="kiro"?ct(re.kiro.extra,a):null,t==="opencodeGo"?e.jsx(Ce,{onSaved:c}):null,t==="commandCode"?e.jsx(Me,{onSaved:c}):null,t==="codingPlan"?e.jsx(De,{}):null,t==="agentPlan"?e.jsx(Ee,{}):null,t==="devin"?e.jsx(Pe,{}):null]}),s,n,o,l,i);const d=ie(t),x=a.plan_label?`${d} ${a.plan_label}`:d;let u=null;if(a.auth_action_required==="reauth"){const y=t==="commandCode"?Je():t==="devin"?Qe():da[t];u=e.jsx(K,{label:r("limits.reauth.badge"),age:X(a.cached_at),tone:"stale",tooltip:y?r("limits.reauth.tooltip",{command:y}):null})}if(!u&&t==="antigravity")if(a.cached){const y=X(a.cached_at);u=e.jsx(K,{label:r("limits.label.antigravity_cached"),age:y,tone:"cached",tooltip:r("limits.tooltip.antigravity_cached")})}else u=e.jsx(K,{label:r("limits.label.antigravity_live"),tone:"live",tooltip:r("limits.tooltip.antigravity_live")});!u&&(t==="qoder"||t==="qoderCn")&&a.cached&&(u=e.jsx(K,{label:r("limits.label.antigravity_cached"),age:X(a.cached_at),tone:"cached",tooltip:r("limits.tooltip.qoder_cached")})),!u&&(t==="codingPlan"||t==="agentPlan")&&a.cached&&(u=e.jsx(K,{label:r("limits.label.antigravity_cached"),age:X(a.cached_at),tone:"cached",tooltip:r("limits.tooltip.ark_cached")}));const g=a.provenance;return g?.stale&&!u&&(u=e.jsx(K,{label:r("limits.provenance.stale"),age:X(g.captured_at),tone:"stale",tooltip:r("limits.provenance.tooltip",{source:g.source,confidence:g.confidence})})),ha(t,a,x,i,s,n,u,o,l,c)}function ya({defaultDir:t}){const[a,i]=p.useState(!1),n=["export COPILOT_OTEL_ENABLED=true","export COPILOT_OTEL_EXPORTER_TYPE=file",`export COPILOT_OTEL_FILE_EXPORTER_PATH="${t||"$HOME/.copilot/otel"}/copilot-otel-$(date +%Y%m%d).jsonl"`].join(`
|
|
4
|
-
`),o=async l=>{l.stopPropagation();try{await navigator.clipboard.writeText(n),i(!0),setTimeout(()=>i(!1),1600)}catch{}};return e.jsxs("div",{className:"mt-1 rounded-md border border-amber-300/60 dark:border-amber-700/40 bg-amber-50/50 dark:bg-amber-900/10 px-2.5 py-2 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"font-medium text-oai-gray-700 dark:text-oai-gray-200",children:r("limits.copilot.otelHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug",children:r("limits.copilot.otelHint.body")}),e.jsx("pre",{className:"mt-1.5 overflow-x-auto rounded bg-oai-gray-100 dark:bg-oai-gray-900/60 px-2 py-1.5 font-mono text-[10.5px] leading-tight whitespace-pre",children:n}),e.jsx("button",{type:"button",onClick:o,className:"mt-1 inline-flex items-center gap-1 rounded border border-oai-gray-300 dark:border-oai-gray-700 px-1.5 py-0.5 text-[10.5px] text-oai-gray-700 dark:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:a?r("limits.copilot.otelHint.copied"):r("limits.copilot.otelHint.copy")})]})}function _({n:t,children:a}){return e.jsxs("li",{className:"flex gap-2.5",children:[e.jsx("span",{className:"mt-[1px] flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-oai-brand/15 text-[9px] font-semibold text-oai-brand",children:t}),e.jsx("div",{className:"min-w-0 flex-1 leading-snug",children:a})]})}function ye(){return e.jsx("svg",{viewBox:"0 0 12 12","aria-hidden":"true",className:"h-2.5 w-2.5",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"M4.5 2.75h4.75V7.5M9.25 2.75 3 9"})})}function ve({provider:t,onSaved:a}){const[i,s]=p.useState(""),[n,o]=p.useState("idle"),[l,c]=p.useState(!1),d=async x=>{x.preventDefault(),x.stopPropagation();const u=i.trim();if(!(!u||n==="saving")){o("saving"),c(!1);try{await pt(t,u),s(""),o("saved"),a?.()}catch{o("idle"),c(!0)}}};return e.jsxs("form",{className:"mt-1.5 space-y-1.5",onSubmit:d,onClick:x=>x.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"password",value:i,onChange:x=>{s(x.target.value),o("idle"),c(!1)},placeholder:r("limits.apiKey.placeholder"),"aria-label":r("limits.apiKey.placeholder"),autoComplete:"new-password",spellCheck:!1,className:"min-w-0 flex-1 rounded-md border border-oai-gray-300 bg-white px-2 py-1 font-mono text-[11px] text-oai-gray-800 outline-none focus:border-oai-brand dark:border-oai-gray-700 dark:bg-oai-gray-900 dark:text-oai-gray-100"}),e.jsx("button",{type:"submit",disabled:!i.trim()||n==="saving",className:"shrink-0 rounded-md bg-oai-brand/10 px-2 py-1 font-medium text-oai-brand hover:bg-oai-brand/15 disabled:opacity-50 transition-colors",children:n==="saving"?r("limits.apiKey.saving"):n==="saved"?r("limits.apiKey.saved"):r("limits.apiKey.save")})]}),e.jsx("div",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:l?r("limits.apiKey.save_failed"):r("limits.apiKey.local_note")})]})}function va({providerId:t,data:a,onSaved:i}){if(a?.credential_source!=="env")return null;const s=aa[t],n=ra[t];return!s||!n?null:e.jsxs("div",{className:"mt-1.5 rounded-md border border-amber-300/60 bg-amber-50/60 px-2 py-1.5 text-[10.5px] leading-snug text-amber-800 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-200",children:[e.jsx("div",{children:r("limits.apiKey.env_note",{env:s})}),e.jsx(ve,{provider:n,onSaved:i}),Ze()==="macos"?e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[e.jsx("code",{className:"rounded bg-white/70 px-1 py-0.5 font-mono text-[10px] dark:bg-oai-gray-900/60",children:r("limits.apiKey.env_unset_command",{env:s})}),e.jsx("span",{children:r("limits.apiKey.env_unset_note")})]}):null]})}function Ce({onSaved:t}){return e.jsxs("div",{className:"mt-1.5 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700/60 bg-oai-gray-50/50 dark:bg-oai-gray-900/20 p-3 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"text-[12px] font-semibold text-oai-gray-800 dark:text-oai-gray-100",children:r("limits.opencodeGo.setupHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.opencodeGo.setupHint.subtitle")}),e.jsxs("ol",{className:"mt-2.5 space-y-2.5",children:[e.jsxs(_,{n:"1",children:[e.jsx("div",{children:r("limits.opencodeGo.setupHint.step1")}),e.jsxs("a",{href:"https://opencode.ai",target:"_blank",rel:"noreferrer",onClick:a=>a.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 rounded-md bg-oai-brand/10 px-2 py-1 font-medium text-oai-brand hover:bg-oai-brand/15 transition-colors",children:[r("limits.opencodeGo.setupHint.cta"),e.jsx(ye,{})]})]}),e.jsx(_,{n:"2",children:e.jsx("div",{children:r("limits.opencodeGo.setupHint.step2")})}),e.jsxs(_,{n:"3",children:[e.jsx("div",{children:r("limits.opencodeGo.setupHint.step3")}),e.jsx(ve,{provider:"opencode-go",onSaved:t})]})]})]})}function Me({onSaved:t}){const a=Je();return e.jsxs("div",{className:"mt-1.5 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700/60 bg-oai-gray-50/50 dark:bg-oai-gray-900/20 p-3 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"text-[12px] font-semibold text-oai-gray-800 dark:text-oai-gray-100",children:r("limits.commandCode.setupHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.commandCode.setupHint.subtitle")}),e.jsxs("ol",{className:"mt-2.5 space-y-2.5",children:[e.jsxs(_,{n:"1",children:[e.jsx("div",{children:r("limits.commandCode.setupHint.step1")}),e.jsx("pre",{className:"mt-1.5 overflow-x-auto rounded-md bg-oai-gray-100 dark:bg-oai-gray-900/60 px-2 py-1.5 font-mono text-[10.5px] leading-relaxed whitespace-pre",children:a})]}),e.jsxs(_,{n:"2",children:[e.jsx("div",{children:r("limits.commandCode.setupHint.step2")}),e.jsx(ve,{provider:"command-code",onSaved:t})]})]})]})}function Pe(){const t=Qe();return e.jsxs("div",{className:"mt-1.5 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700/60 bg-oai-gray-50/50 dark:bg-oai-gray-900/20 p-3 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"text-[12px] font-semibold text-oai-gray-800 dark:text-oai-gray-100",children:r("limits.devin.setupHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.devin.setupHint.subtitle")}),e.jsx("ol",{className:"mt-2.5 space-y-2.5",children:e.jsxs(_,{n:"1",children:[e.jsx("div",{children:r("limits.devin.setupHint.step1")}),e.jsx("pre",{className:"mt-1.5 overflow-x-auto rounded-md bg-oai-gray-100 dark:bg-oai-gray-900/60 px-2 py-1.5 font-mono text-[10.5px] leading-relaxed whitespace-pre",children:t}),e.jsx("div",{className:"mt-1 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.devin.setupHint.note")})]})})]})}function De(){const[t,a]=p.useState(!1),i=["npm install -g @volcengine/ark-cli","arkcli auth login volc-sso # browser SSO (recommended)","arkcli auth status # verify the session"].join(`
|
|
5
|
-
`),s=async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(i),a(!0),setTimeout(()=>a(!1),1600)}catch{}};return e.jsxs("div",{className:"mt-1.5 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700/60 bg-oai-gray-50/50 dark:bg-oai-gray-900/20 p-3 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"text-[12px] font-semibold text-oai-gray-800 dark:text-oai-gray-100",children:r("limits.codingPlan.setupHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.codingPlan.setupHint.subtitle")}),e.jsxs("ol",{className:"mt-2.5 space-y-2.5",children:[e.jsxs(_,{n:"1",children:[e.jsx("div",{children:r("limits.codingPlan.setupHint.step1")}),e.jsxs("a",{href:"https://www.volcengine.com/docs/82379/2536875",target:"_blank",rel:"noreferrer",onClick:n=>n.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 rounded-md bg-oai-brand/10 px-2 py-1 font-medium text-oai-brand hover:bg-oai-brand/15 transition-colors",children:[r("limits.codingPlan.setupHint.cta"),e.jsx(ye,{})]})]}),e.jsxs(_,{n:"2",children:[e.jsx("div",{children:r("limits.codingPlan.setupHint.step2")}),e.jsx("div",{className:"mt-0.5 text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.codingPlan.setupHint.step2_remote")})]}),e.jsxs(_,{n:"3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:r("limits.codingPlan.setupHint.step3")}),e.jsx("button",{type:"button",onClick:s,className:"shrink-0 rounded-md border border-oai-gray-300 dark:border-oai-gray-700 px-2 py-0.5 text-[10.5px] text-oai-gray-700 dark:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:t?r("limits.codingPlan.setupHint.copied"):r("limits.codingPlan.setupHint.copy")})]}),e.jsx("pre",{className:"mt-1.5 overflow-x-auto rounded-md bg-oai-gray-100 dark:bg-oai-gray-900/60 px-2 py-1.5 font-mono text-[10.5px] leading-relaxed whitespace-pre",children:i}),e.jsx("div",{className:"mt-1 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.codingPlan.setupHint.note_app")})]})]})]})}function Ee(){const[t,a]=p.useState(!1),i=[r("limits.agentPlan.setupHint.snippet_install"),r("limits.agentPlan.setupHint.snippet_login"),r("limits.agentPlan.setupHint.snippet_status")].join(`
|
|
6
|
-
`),s=async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(i),a(!0),setTimeout(()=>a(!1),1600)}catch{}};return e.jsxs("div",{className:"mt-1.5 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700/60 bg-oai-gray-50/50 dark:bg-oai-gray-900/20 p-3 text-[11px] text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("div",{className:"text-[12px] font-semibold text-oai-gray-800 dark:text-oai-gray-100",children:r("limits.agentPlan.setupHint.title")}),e.jsx("div",{className:"mt-0.5 leading-snug text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.agentPlan.setupHint.subtitle")}),e.jsxs("ol",{className:"mt-2.5 space-y-2.5",children:[e.jsxs(_,{n:"1",children:[e.jsx("div",{children:r("limits.agentPlan.setupHint.step1")}),e.jsxs("a",{href:"https://www.volcengine.com/docs/82379/2536875",target:"_blank",rel:"noreferrer",onClick:n=>n.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 rounded-md bg-oai-brand/10 px-2 py-1 font-medium text-oai-brand hover:bg-oai-brand/15 transition-colors",children:[r("limits.agentPlan.setupHint.cta"),e.jsx(ye,{})]})]}),e.jsxs(_,{n:"2",children:[e.jsx("div",{children:r("limits.agentPlan.setupHint.step2")}),e.jsx("div",{className:"mt-0.5 text-oai-gray-500 dark:text-oai-gray-400",children:r("limits.agentPlan.setupHint.step2_remote")})]}),e.jsxs(_,{n:"3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:r("limits.agentPlan.setupHint.step3")}),e.jsx("button",{type:"button",onClick:s,className:"shrink-0 rounded-md border border-oai-gray-300 dark:border-oai-gray-700 px-2 py-0.5 text-[10.5px] text-oai-gray-700 dark:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:t?r("limits.agentPlan.setupHint.copied"):r("limits.agentPlan.setupHint.copy")})]}),e.jsx("pre",{className:"mt-1.5 overflow-x-auto rounded-md bg-oai-gray-100 dark:bg-oai-gray-900/60 px-2 py-1.5 font-mono text-[10.5px] leading-relaxed whitespace-pre",children:i}),e.jsx("div",{className:"mt-1 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:r("limits.agentPlan.setupHint.note_app")})]})]})]})}function dt(t){const[a,i]=p.useState(0);return p.useLayoutEffect(()=>{const s=t.current;if(!s)return;const n=[...s.querySelectorAll("[data-limit-label]")].filter(d=>d.closest("[data-limit-label-group]")===s);let o=0,l=null;if(n.length>0)try{l=document.createElement("canvas").getContext("2d")}catch{l=null}if(l){const d=window.getComputedStyle(n[0]);l.font=`${d.fontStyle} ${d.fontWeight} ${d.fontSize} ${d.fontFamily}`;for(const x of n)o=Math.max(o,l.measureText(x.textContent).width)}const c=Math.ceil(o);i(d=>d===c?d:c)}),a}function ka({claude:t,codex:a,cursor:i,gemini:s,kimi:n,kiro:o,grok:l,antigravity:c,copilot:d,zcode:x,opencodeGo:u,commandCode:g,qoder:y,qoderCn:b,codingPlan:S,agentPlan:M,devin:w,order:P,visibility:C,displayMode:F,subscriptions:q=[],showSubscriptions:D=!0,onProviderKeySaved:E=null}){const V={claude:t,codex:a,cursor:i,gemini:s,kimi:n,kiro:o,grok:l,antigravity:c,copilot:d,zcode:x,opencodeGo:u,commandCode:g,qoder:y,qoderCn:b,codingPlan:S,agentPlan:M,devin:w},R=p.useRef(null),Q=dt(R),[ee,O]=p.useState(null),[z,de]=p.useState(()=>Date.now()),ue=Array.isArray(P)&&P.length>0?P:ua,te=F===j.REMAINING?j.REMAINING:j.USED,me=te===j.REMAINING?r("limits.settings.display_mode_remaining"):r("limits.settings.display_mode_used");p.useEffect(()=>{const h=setInterval(()=>de(Date.now()),6e4);return()=>clearInterval(h)},[]);const I=new Map;if(D)for(const h of q||[]){if(!h?.provider)continue;const H=new Date(h.nextBillingAt).getTime();if(!Number.isFinite(H))continue;const L=I.get(h.provider);if(!L){I.set(h.provider,h);continue}const G=new Date(L.nextBillingAt).getTime(),m=H>z,v=G>z;(m&&(!v||G>H)||!m&&!v&&H>G)&&I.set(h.provider,h)}const A=ue.filter(h=>!C||C[h]!==!1||I.has(h)).map(h=>ba(h,V[h],te,ee===h,()=>O(H=>H===h?null:h),I.get(h)||null,z,E)).filter(Boolean);return e.jsx(Pt,{delay:.15,children:e.jsx(Fe,{children:e.jsxs("div",{ref:R,"data-limit-label-group":"",className:"flex flex-col gap-3",style:Q>0?{"--tt-limits-label-w":`${Q}px`}:void 0,children:[e.jsxs("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:[r("limits.panel.title"),r("limits.panel.mode_separator"),me]}),A.length>0?A:e.jsx(T,{children:r("limits.status.all_hidden")})]})})})}async function ut(t){const a=await t.json().catch(()=>null);if(!t.ok||a?.ok===!1)throw new Error(a?.error||`Subscription request failed with HTTP ${t.status}`);return a}async function ja(){const t=await fetch("/functions/tokentracker-subscription-manager",{headers:{Accept:"application/json"},cache:"no-store"}),a=await ut(t);return Array.isArray(a.subscriptions)?a.subscriptions:[]}async function ke(t){const a=await gt();return ut(await fetch("/functions/tokentracker-subscription-manager",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",...a},cache:"no-store",body:JSON.stringify(t)}))}function wa(t){return ke({action:"create",subscription:t})}function Na(t,a){return ke({action:"update",id:t,subscription:a})}function _a(t){return ke({action:"delete",id:t})}const fe={plan:"",provider:"",cycle:"monthly",autoRenew:!0,startedAt:""};function Sa(t){const a=new Date(t);if(Number.isNaN(a.getTime()))return"";const i=s=>String(s).padStart(2,"0");return`${a.getFullYear()}-${i(a.getMonth()+1)}-${i(a.getDate())}T${i(a.getHours())}:${i(a.getMinutes())}`}function Ca({subscriptions:t,onChanged:a}){const[i,s]=p.useState(!1),[n,o]=p.useState(null),[l,c]=p.useState(fe),[d,x]=p.useState(!1),[u,g]=p.useState(!1),[y,b]=p.useState(!1),[S,M]=p.useState(!1),[w,P]=p.useState(null),[C,F]=p.useState(!1),[q,D]=p.useState(!1),[E,V]=p.useState(null),[R,Q]=p.useState(()=>Date.now()),ee=p.useRef(null),O=B(),z=p.useMemo(()=>new Intl.DateTimeFormat(O,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),[O]);p.useEffect(()=>{const m=setInterval(()=>Q(Date.now()),6e4);return()=>clearInterval(m)},[]),p.useEffect(()=>{if(!i)return;const m=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;ee.current?.scrollIntoView?.({behavior:m?"auto":"smooth",block:"nearest"})},[i,n]);const de=p.useMemo(()=>Ae.map(m=>{const v=(t||[]).some(k=>k.provider===m&&k.id!==n),f=ie(m);return{value:m,label:v?`${f} ${r("subscriptions.form.provider_taken_suffix")}`:f,disabled:v}}),[O,t,n]),ue=p.useMemo(()=>[{value:"weekly",label:r("subscriptions.form.cycle_weekly")},{value:"monthly",label:r("subscriptions.form.cycle_monthly")},{value:"yearly",label:r("subscriptions.form.cycle_yearly")}],[O]),te=p.useMemo(()=>[{value:"true",label:r("subscriptions.form.auto_renew_on")},{value:"false",label:r("subscriptions.form.auto_renew_off")}],[O]),me=p.useCallback(()=>{c(fe),o(null),g(!1),b(!1),M(!1),s(!0)},[]),I=p.useCallback(m=>{c({plan:m.plan||"",provider:m.provider||"",cycle:m.cycle||"monthly",autoRenew:m.autoRenew,startedAt:Sa(new Date(Jt(m)).toISOString())}),o(m.id),g(!1),b(!1),M(!1),s(!0)},[]),A=p.useCallback(()=>{s(!1),o(null),c(fe),g(!1),b(!1),M(!1)},[]),h=p.useCallback(async m=>{if(m.preventDefault(),g(!1),!l.provider){b(!0);return}if((t||[]).some(W=>W.provider===l.provider&&W.id!==n)){M(!0);return}const f=new Date(l.startedAt).getTime();if(!Number.isFinite(f)){g(!0);return}const k={service:ie(l.provider),plan:l.plan,provider:l.provider||null,autoRenew:l.autoRenew,cycle:l.cycle,startedAt:f,nextBillingAt:Ye(f,l.cycle)};x(!0);try{n?await Na(n,k):await wa(k),A(),await a?.()}catch{g(!0)}finally{x(!1)}},[A,n,l,a,t]),H=p.useCallback(async()=>{if(w){F(!0),D(!1);try{await _a(w.id),w.id===n&&A(),P(null),await a?.()}catch{D(!0)}finally{F(!1)}}},[A,n,a,w]),L=t||[],G=()=>{const m=n?L.find(f=>f.id===n):null,v=m?ne(m,R):null;return e.jsxs("form",{ref:ee,onSubmit:h,className:"grid grid-cols-1 gap-3 px-3 py-3 text-left sm:grid-cols-2",children:[e.jsx("div",{className:"flex items-center justify-between sm:col-span-2",children:e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-oai-gray-500 dark:text-oai-gray-400",children:n?r("subscriptions.edit"):r("subscriptions.add")})}),v?e.jsxs("div",{className:"sm:col-span-2 rounded-md bg-oai-gray-50 dark:bg-oai-gray-800/50 px-2.5 py-2 text-xs text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-500",children:m.autoRenew?r("subscriptions.label.renews_at"):r("subscriptions.label.expires_at")})," ",e.jsx("span",{className:"font-mono tabular-nums",children:z.format(new Date(v.endMs))})," · ",e.jsx("span",{className:v.expired?"text-oai-error":void 0,children:be(v.endMs,R)})]}):null,e.jsxs("div",{className:"flex flex-col sm:col-span-1",children:[e.jsx("label",{htmlFor:"subscription-provider",className:"block text-sm font-medium text-oai-gray-700 dark:text-oai-gray-300 mb-1.5",children:r("subscriptions.form.provider")}),e.jsx(xe,{id:"subscription-provider",value:l.provider,onValueChange:f=>c({...l,provider:String(f)}),options:de,matchTriggerWidth:!0,className:"h-10 w-full px-3 text-sm"})]}),e.jsx("div",{className:"sm:col-span-1",children:e.jsx(Ne,{label:r("subscriptions.form.plan"),value:l.plan,maxLength:120,placeholder:r("subscriptions.form.plan_placeholder"),onChange:f=>c({...l,plan:f.target.value})})}),e.jsxs("div",{className:"flex flex-col sm:col-span-1",children:[e.jsx("label",{htmlFor:"subscription-cycle",className:"block text-sm font-medium text-oai-gray-700 dark:text-oai-gray-300 mb-1.5",children:r("subscriptions.form.cycle")}),e.jsx(xe,{id:"subscription-cycle",value:l.cycle,onValueChange:f=>c({...l,cycle:String(f)}),options:ue,matchTriggerWidth:!0,className:"h-10 w-full px-3 text-sm"})]}),e.jsxs("div",{className:"flex flex-col sm:col-span-1",children:[e.jsx("label",{htmlFor:"subscription-auto-renew",className:"block text-sm font-medium text-oai-gray-700 dark:text-oai-gray-300 mb-1.5",children:r("subscriptions.form.auto_renew")}),e.jsx(xe,{id:"subscription-auto-renew",value:String(l.autoRenew),onValueChange:f=>c({...l,autoRenew:f==="true"}),options:te,matchTriggerWidth:!0,className:"h-10 w-full px-3 text-sm"})]}),e.jsx("div",{className:"sm:col-span-2",children:e.jsx(Ne,{label:r("subscriptions.form.started_at"),type:"datetime-local",value:l.startedAt,required:!0,onChange:f=>c({...l,startedAt:f.target.value})})}),e.jsxs("div",{className:"flex items-center justify-end gap-2 sm:col-span-2",children:[n?e.jsx(Y,{type:"button",variant:"secondary",size:"sm",onClick:()=>{const f=L.find(k=>k.id===n);f&&P(f)},className:"!text-red-600 dark:!text-red-400 mr-auto",children:r("subscriptions.delete")}):null,y?e.jsx("p",{className:"mr-auto text-sm text-oai-error",role:"alert",children:r("subscriptions.form.provider_required")}):null,S?e.jsx("p",{className:"mr-auto text-sm text-oai-error",role:"alert",children:r("subscriptions.form.provider_taken")}):null,u?e.jsx("p",{className:"mr-auto text-sm text-oai-error",role:"alert",children:r("subscriptions.form.error")}):null,e.jsx(Y,{type:"button",variant:"secondary",size:"sm",onClick:A,children:r("shared.action.cancel")}),e.jsx(Y,{type:"submit",size:"sm",disabled:d,children:r("subscriptions.save")})]})]})};return e.jsxs("div",{className:"flex max-h-[min(80vh,42rem)] w-[min(92vw,32rem)] flex-col gap-3 overflow-y-auto rounded-xl border border-oai-gray-200 bg-white p-4 shadow-lg dark:border-oai-gray-700 dark:bg-oai-gray-900",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"min-w-0",children:e.jsx("span",{className:"block truncate text-sm font-semibold text-oai-black dark:text-white",children:r("limits.page.openSubscriptions")})}),e.jsxs(Y,{type:"button",size:"sm",onClick:me,className:"shrink-0 gap-1.5",children:[e.jsx(It,{size:14,strokeWidth:2,"aria-hidden":!0}),e.jsx("span",{children:r("subscriptions.add")})]})]}),L.length===0&&!(i&&!n)?e.jsxs("div",{className:"flex flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-oai-gray-200 px-4 py-10 text-center dark:border-oai-gray-700",children:[e.jsx(ze,{className:"h-6 w-6 text-oai-gray-300 dark:text-oai-gray-600 mb-2","aria-hidden":!0}),e.jsx("p",{className:"text-sm font-medium text-oai-black dark:text-white",children:r("subscriptions.empty.title")}),e.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:r("subscriptions.empty.body")})]}):e.jsxs("ul",{className:"flex flex-col gap-1.5",children:[L.map(m=>{const v=ne(m,R);if(!v)return null;const{endMs:f,expired:k}=v,W=k?100:v.progress*100,mt=!k&&f-R<=3*864e5,xt=E===m.id;return e.jsxs("li",{className:"rounded-lg border border-oai-gray-100 dark:border-oai-gray-800",children:[e.jsxs("button",{type:"button",onClick:()=>I(m),"aria-label":`${r("subscriptions.edit")} ${m.service}`,"aria-expanded":n===m.id,className:"w-full flex flex-col gap-1.5 px-3 py-2.5 text-left cursor-pointer hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/40 rounded-lg transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:[e.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(Oe,{provider:He(m.provider)||"OTHER",size:14}),e.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-white truncate",children:m.service}),e.jsx("span",{role:"img","aria-label":m.autoRenew?r("subscriptions.badge.auto_renew"):r("subscriptions.badge.stops"),title:m.autoRenew?r("subscriptions.badge.auto_renew"):r("subscriptions.badge.stops"),className:`inline-flex shrink-0 translate-y-px ${m.autoRenew?"text-oai-brand-600 dark:text-oai-brand-400":"text-blue-600 dark:text-blue-400"}`,children:m.autoRenew?e.jsx(qe,{size:14,strokeWidth:2,"aria-hidden":!0}):e.jsx(We,{size:14,strokeWidth:2,"aria-hidden":!0})}),m.plan?e.jsx("span",{className:"text-xs rounded-full border border-oai-gray-200 dark:border-oai-gray-700 px-2 py-0.5 text-oai-gray-500 dark:text-oai-gray-400 shrink-0",children:m.plan}):null]}),e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[10px] text-oai-gray-500 dark:text-oai-gray-400 shrink-0",children:r("subscriptions.inline.label")}),e.jsx("span",{className:"relative flex-1 bg-oai-gray-100 dark:bg-oai-gray-700/50 rounded-full h-1 overflow-hidden",children:e.jsx("span",{className:`${k?"bg-red-500":mt?"bg-amber-500":"bg-blue-500"} rounded-full h-full block transition-[width] duration-500 ease-out`,style:{width:`${W}%`,minWidth:W>0?"3px":0}})}),e.jsx("span",{className:`text-[10px] tabular-nums shrink-0 ${k?"text-oai-error":"text-oai-gray-400 dark:text-oai-gray-500"}`,children:Xe(f,R)})]})]}),n===m.id?e.jsx("div",{className:"border-t border-oai-gray-100 dark:border-oai-gray-800",children:G()}):null,n!==m.id&&xt?e.jsxs("div",{className:"px-3 pb-3 flex flex-col gap-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[e.jsxs("p",{className:"pt-2 text-xs text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-500",children:m.autoRenew?r("subscriptions.label.renews_at"):r("subscriptions.label.expires_at")})," ",e.jsx("span",{className:"font-mono tabular-nums",children:z.format(new Date(f))})," · ",e.jsx("span",{className:k?"text-oai-error":void 0,children:be(f,R)})," · ",e.jsx("span",{children:m.autoRenew?r("subscriptions.status.auto_renew"):r("subscriptions.status.manual")})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(Y,{type:"button",variant:"secondary",size:"sm",onClick:()=>I(m),children:r("subscriptions.edit")})})]}):null]},m.id)}),i&&!n?e.jsx("li",{className:"rounded-lg border border-oai-gray-100 dark:border-oai-gray-800",children:G()}):null]}),e.jsx(Rt,{open:!!w,title:r("subscriptions.confirm_delete_title"),description:w?.service||"",error:q?r("subscriptions.delete_error"):null,confirmLabel:r("subscriptions.delete"),cancelLabel:r("shared.action.cancel"),destructive:!0,busy:C,onCancel:()=>{P(null),D(!1)},onConfirm:H})]})}const Re=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Ma="x-apple.systempreferences:com.apple.preference.notifications";function Te(t){const a=Date.parse(t);return Number.isFinite(a)?new Intl.DateTimeFormat(B(),{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(a)):String(t)}function Pa(t){const a=Object.entries(t||{}).filter(([o,l])=>o!=="fetched_at"&&l&&typeof l=="object"&&l.configured!==!1),i=a.filter(([,o])=>!!o.error),s=a.some(([,o])=>!!o.start_plan?.error||!!o.reset_credits?.error),n=a.filter(([,o])=>o.provenance?.stale===!0||o.provenance?.source==="disk-cache");return a.length&&i.length===0&&!s&&n.length===a.length?{kind:"stale"}:i.length||n.length||s?{kind:"partial",at:t.fetched_at}:{kind:"updated",at:t.fetched_at}}function Da(){const t=$t(),a=kt(),i=r("limits.alert.blocked"),s=a?we.button:we.div;return e.jsxs(s,{type:a?"button":void 0,onClick:a?()=>jt({type:"action",name:"openURL",value:Ma}):void 0,initial:t?!1:{opacity:0,x:14,scale:.9},animate:{opacity:1,x:0,scale:1},transition:{type:"spring",stiffness:320,damping:18},title:i,className:`relative hidden sm:inline-flex min-w-0 max-w-[360px] items-center gap-1.5 rounded-full border border-amber-300/70 bg-amber-50 px-3 py-1.5 text-xs text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300 ${a?"cursor-pointer transition-colors hover:bg-amber-100 dark:hover:bg-amber-500/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60":""}`,children:[e.jsxs("span",{className:"relative flex h-1.5 w-1.5 shrink-0",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-amber-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-amber-500"})]}),e.jsx("span",{className:"truncate",children:i}),e.jsx("span",{"aria-hidden":!0,className:"absolute left-full top-1/2 -translate-y-1/2 border-[5px] border-transparent border-l-amber-300/80 dark:border-l-amber-500/40"})]})}function ir(){const t=ft(),{data:a,error:i,isLoading:s,refresh:n}=_t(t?{initialRefresh:!0,initialState:t,publishToPreloadCache:!0}:{initialRefresh:!0,publishToPreloadCache:!0}),o=Mt(),l=St(),[c,d]=N.useState([]),[x,u]=N.useState(!1),[g,y]=N.useState(!1),[b]=ht(),S=N.useRef(0),M=N.useRef(!1),[w,P]=N.useState(!1),[C,F]=N.useState(null),q=N.useCallback(async()=>{if(!M.current){M.current=!0,P(!0),F(null);try{const E=await n();F(E?Pa(E):{kind:"failed"})}finally{M.current=!1,P(!1)}}},[n]),D=N.useCallback(async()=>{if(!Re&&!je())return;const E=++S.current;try{const V=await ja();if(E!==S.current)return;d(V),u(!1)}catch{if(E!==S.current)return;u(!0)}},[]);return N.useEffect(()=>{D()},[D]),N.useEffect(()=>{b.get("openSubscriptions")==="1"&&y(!0)},[b]),N.useEffect(()=>{l.enabled&&a&&Ct(a)},[l.enabled,a]),!Re&&!je()?e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx(Tt,{})}):e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx("main",{className:"flex-1 pt-8 sm:pt-10 pb-12 sm:pb-16",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:[e.jsxs("div",{className:"flex flex-row items-start justify-between gap-4 mb-8",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h1",{className:"text-3xl sm:text-4xl font-semibold tracking-tight text-oai-black dark:text-white mb-3",children:r("nav.limits")}),e.jsx("p",{className:"text-oai-gray-500 dark:text-oai-gray-400 text-sm sm:text-base",children:r("limits.page.subtitle")})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[l.enabled&&l.permissionBlocked?e.jsx(Da,{}):null,e.jsx("button",{type:"button",onClick:()=>{q()},disabled:w,"aria-label":r("limits.page.refresh"),title:r("limits.page.refresh"),className:"shrink-0 inline-flex h-9 w-9 items-center justify-center rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 disabled:opacity-50",children:e.jsx(bt,{className:`h-4 w-4 ${w?"animate-spin":""}`,"aria-hidden":!0})}),e.jsxs(At,{open:g,onOpenChange:y,children:[e.jsx(Ht,{"aria-label":r("limits.page.openSubscriptions"),title:r("limits.page.openSubscriptions"),className:"shrink-0 inline-flex h-9 w-9 items-center justify-center rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:e.jsx(ze,{className:"h-4 w-4","aria-hidden":!0})}),e.jsx(Ft,{children:e.jsx(Ot,{side:"bottom",align:"end",sideOffset:8,className:"z-50",children:e.jsx(Lt,{children:e.jsx(Ca,{subscriptions:c,onChanged:D})})})})]}),e.jsx("button",{type:"button",onClick:()=>{l.setEnabled(!l.enabled)},"aria-label":l.enabled?r("limits.alert.disable"):r("limits.alert.enable"),title:l.enabled?r("limits.alert.disable"):r("limits.alert.enable"),className:`inline-flex h-9 w-9 items-center justify-center rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 ${l.enabled&&l.permissionBlocked?"text-amber-600 dark:text-amber-400":"text-oai-gray-600 dark:text-oai-gray-400 hover:text-oai-black dark:hover:text-white"}`,children:l.enabled?e.jsx(Bt,{className:"h-4 w-4","aria-hidden":!0}):e.jsx(Ut,{className:"h-4 w-4","aria-hidden":!0})}),e.jsx(yt,{to:"/settings?section=limits","aria-label":r("limits.page.openSettings"),title:r("limits.page.openSettings"),className:"shrink-0 inline-flex h-9 w-9 items-center justify-center rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-400 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white transition-colors no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:e.jsx(vt,{className:"h-4 w-4","aria-hidden":!0})})]})]}),e.jsx("span",{role:"status",className:"sr-only",children:w?r("limits.page.refresh_loading"):""}),C?.kind==="updated"?e.jsx("p",{role:"status",className:"mb-4 text-sm text-emerald-700 dark:text-emerald-300",children:r("limits.page.refreshed_at",{time:Te(C.at)})}):null,C?.kind==="partial"?e.jsx("p",{role:"status",className:"mb-4 text-sm text-amber-600 dark:text-amber-400",children:r("limits.page.refresh_partial",{time:Te(C.at)})}):null,C?.kind==="stale"?e.jsx("p",{role:"status",className:"mb-4 text-sm text-amber-600 dark:text-amber-400",children:r("limits.page.refresh_stale")}):null,C?.kind==="failed"?e.jsx("p",{role:"status",className:"mb-4 text-sm text-amber-600 dark:text-amber-400",children:r("limits.page.refresh_failed")}):null,s?e.jsx(Kt,{}):e.jsxs(e.Fragment,{children:[i?e.jsx("p",{className:"mb-4 text-sm text-red-500 dark:text-red-400",children:r("shared.error.prefix",{error:i})}):null,x?e.jsx("p",{className:"mb-4 text-sm text-amber-600 dark:text-amber-400",children:r("subscriptions.load_error")}):null,e.jsx(ka,{claude:a?.claude,codex:a?.codex,cursor:a?.cursor,gemini:a?.gemini,kimi:a?.kimi,kiro:a?.kiro,grok:a?.grok,antigravity:a?.antigravity,copilot:a?.copilot,zcode:a?.zcode,opencodeGo:a?.opencodeGo,commandCode:a?.commandCode,qoder:a?.qoder,qoderCn:a?.qoderCn,codingPlan:a?.codingPlan,agentPlan:a?.agentPlan,devin:a?.devin,order:o.order,visibility:o.visibility,displayMode:o.displayMode,subscriptions:c,showSubscriptions:o.showSubscriptions!==!1,onProviderKeySaved:()=>{n()}})]})]})})})}export{ir as LimitsPage};
|