tokentracker-cli 0.2.23 → 0.2.25
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.md +21 -33
- package/bin/tracker.js +1 -1
- package/dashboard/dist/assets/{AsciiBox-vyDhXYY5.js → AsciiBox-BTY8AuX7.js} +1 -1
- package/dashboard/dist/assets/{DashboardPage-CrplxZFL.js → DashboardPage-BNW-6Myn.js} +1 -1
- package/dashboard/dist/assets/{LandingExtras-DlrtqIDj.js → LandingExtras-C6oIZxN4.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-Czwkjje0.js → LeaderboardPage-CdAHOBHv.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-C4rorru6.js → LeaderboardProfilePage-CPBD0FCr.js} +1 -1
- package/dashboard/dist/assets/{MatrixRain-bGmRmuOW.js → MatrixRain-hFJ62iN5.js} +1 -1
- package/dashboard/dist/assets/{MatrixShell-BfOGBm5o.js → MatrixShell-BfXpCNQj.js} +1 -1
- package/dashboard/dist/assets/{main-BYPG1_bI.js → main-DepLUlUX.js} +4 -4
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist/share.html +1 -1
- package/package.json +1 -1
- package/src/commands/init.js +7 -11
- package/src/commands/serve.js +12 -0
- package/src/commands/sync.js +9 -9
- package/src/lib/debug-flags.js +1 -1
- package/src/lib/insforge-client.js +2 -2
- package/src/lib/openclaw-hook.js +10 -10
- package/src/lib/openclaw-session-plugin.js +10 -10
- package/src/lib/opencode-config.js +1 -1
- package/src/lib/runtime-config.js +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,d as z,Z as H,m as s,l as S}from"./main-
|
|
1
|
+
import{r as c,d as z,Z as H,m as s,l as S}from"./main-DepLUlUX.js";import{p as V}from"./AsciiBox-BTY8AuX7.js";import{MatrixRain as W}from"./MatrixRain-hFJ62iN5.js";const C=12e4,B=3e5,$=1e4;function X({intervalMs:e=C,maxIntervalMs:t=B,failureRetryMs:r=$,backoffStepMs:n}={}){const a=M(e,C),l=M(t,B),x=Math.max(a,l),i=Math.max(1e3,Math.round(a*.5)),o=M(n,i),d=M(r,$),g=Math.min(a,Math.max(1e3,d));return{baseIntervalMs:a,maxIntervalMs:x,backoffStepMs:o,failureRetryMs:g}}function F(e={}){const t=X(e);let r=0,n=t.baseIntervalMs;return{onSuccess:()=>{r+=1;const o=Math.max(0,r-1);return n=T(t.baseIntervalMs+t.backoffStepMs*o,t.baseIntervalMs,t.maxIntervalMs),n},onFailure:()=>(r=0,n=T(t.failureRetryMs,1e3,t.maxIntervalMs),n),onError:()=>(r=0,n=T(t.baseIntervalMs,t.baseIntervalMs,t.maxIntervalMs),n),reset:()=>(r=0,n=t.baseIntervalMs,n),getNextDelay(){return n},getConfig(){return{...t}}}}function M(e,t){const r=Number(e);return!Number.isFinite(r)||r<=0?t:Math.floor(r)}function T(e,t,r){const n=M(e,t);return n<t?t:n>r?r:n}function Y({baseUrl:e,accessToken:t,intervalMs:r=C,timeoutMs:n=2500,retryDelayMs:a=300,failureThreshold:l=2}={}){const[x,i]=c.useState("unknown"),[o,d]=c.useState(!1),[g,w]=c.useState(null),[_,y]=c.useState(null),[P,O]=c.useState(null),[U,v]=c.useState(null),A=c.useRef(!1),k=c.useRef(0),j=c.useRef(F({intervalMs:r})),p=c.useRef(j.current.getNextDelay()),m=c.useRef(null),L=Number.isFinite(Number(l))?Math.max(1,Math.floor(Number(l))):2;c.useEffect(()=>{j.current=F({intervalMs:r}),p.current=j.current.getNextDelay(),m.current&&m.current(p.current)},[r]);const N=c.useCallback(f=>{const u=j.current;return u&&(f==="success"?p.current=u.onSuccess():f==="failure"?p.current=u.onFailure():p.current=u.onError()),p.current},[]),E=c.useCallback(async({reschedule:f=!0}={})=>{let u="error";if(!e){i("error"),d(!1),w(null),y(new Date().toISOString()),v("Missing baseUrl"),N(u),f&&m.current&&m.current(p.current);return}try{new URL(e)}catch{i("error"),d(!1),w(null),y(new Date().toISOString()),v("Invalid baseUrl"),N(u),f&&m.current&&m.current(p.current);return}const R=await z(t);if(!R){i("unknown"),d(!1),w(null),y(new Date().toISOString()),v(null),N(u),f&&m.current&&m.current(p.current);return}if(A.current){f&&m.current&&m.current(p.current);return}A.current=!0,d(!0),v(null);try{const b=await Z({baseUrl:e,accessToken:R,timeoutMs:n,retryDelayMs:a});if(!b.ok)throw b.error;u="success",k.current=0,w(b.status??200);const h=new Date().toISOString();y(h),i("active"),v(null),O(h)}catch(b){const h=b?.status??b?.statusCode;if(w(Number.isFinite(h)?h:null),y(new Date().toISOString()),h===401||h===403)k.current=0,i("error"),v("Unauthorized");else if(typeof h=="number"&&h<500)k.current=0,i("error"),v(`HTTP ${h}`);else{u="failure",k.current+=1;const I=k.current>=L?"down":"error";i(I),v(b?.name==="AbortError"?"Timeout":b?.message||"Fetch failed")}}finally{A.current=!1,d(!1),N(u),f&&m.current&&m.current(p.current)}},[t,N,e,a,L,n]);return c.useEffect(()=>{let f=null;const u=()=>{f!=null&&window.clearTimeout(f),f=null},R=I=>{u(),!(typeof document<"u"&&document.hidden)&&(f=window.setTimeout(()=>{E({reschedule:!0})},I))};m.current=R;const b=()=>{typeof document<"u"&&document.hidden||f||E({reschedule:!0})},h=()=>{typeof document<"u"&&document.hidden?u():b()};return b(),document?.addEventListener?.("visibilitychange",h),()=>{u(),m.current=null,document?.removeEventListener?.("visibilitychange",h)}},[E]),{status:x,checking:o,httpStatus:g,lastCheckedAt:_,lastOkAt:P,error:U,refresh:E}}async function Z({baseUrl:e,accessToken:t,timeoutMs:r,retryDelayMs:n}){const a=await D({baseUrl:e,accessToken:t,timeoutMs:r});return a.ok||!q(a.error)?a:(n>0&&await G(n),D({baseUrl:e,accessToken:t,timeoutMs:r}))}async function D({baseUrl:e,accessToken:t,timeoutMs:r}){const n=new AbortController,a=window.setTimeout(()=>n.abort(),r);try{return{ok:!0,status:(await V({baseUrl:e,accessToken:t,signal:n.signal}))?.status??200}}catch(l){return{ok:!1,error:l}}finally{window.clearTimeout(a)}}function q(e){return e?e.retryable||(e?.status??e?.statusCode)>=500?!0:e?.name==="AbortError":!1}function G(e){return!e||e<=0?Promise.resolve():new Promise(t=>setTimeout(t,e))}function J({status:e="STABLE",title:t,className:r=""}){const[n,a]=c.useState("0"),l=c.useMemo(()=>typeof window>"u"?!1:H(window.location.search),[]);c.useEffect(()=>{let o;if(e==="STABLE"){if(l){a("1");return}o=window.setInterval(()=>{a(Math.random()>.5?"1":"0")},150)}return()=>window.clearInterval(o)},[l,e]);const x={STABLE:{color:"text-matrix-primary",indicator:n},UNSTABLE:{color:"text-yellow-400",indicator:"!"},LOST:{color:"text-red-500/90",indicator:"×"}},i=x[e]||x.STABLE;return s.jsx("div",{title:t,className:["matrix-header-chip matrix-header-chip--bare font-matrix transition-all duration-700",i.color,r].filter(Boolean).join(" "),children:s.jsxs("div",{className:"flex items-center",children:[s.jsx("span",{className:"text-caption text-matrix-dim mr-1",children:"["}),s.jsx("span",{className:"text-caption w-[10px] inline-block text-center font-black",children:i.indicator}),s.jsx("span",{className:"text-caption text-matrix-dim ml-1",children:"]"})]})})}function ne({baseUrl:e,accessToken:t,statusOverride:r,titleOverride:n}){const{status:a,checking:l,httpStatus:x,lastCheckedAt:i,lastOkAt:o,error:d}=Y({baseUrl:e,accessToken:t}),g=c.useMemo(()=>K(e),[e]),w=c.useMemo(()=>r||(a==="active"?"STABLE":a==="down"?"LOST":"UNSTABLE"),[a,r]),_=c.useMemo(()=>n||[`${S("backend.meta.status_label")}=${a}`,g?`${S("backend.meta.host_label")}=${g}`:null,i?`${S("backend.meta.checked_label")}=${i}`:null,o?`${S("backend.meta.ok_label")}=${o}`:null,x!=null?`${S("backend.meta.http_label")}=${x}`:null,d?`${S("backend.meta.error_label")}=${d}`:null].filter(Boolean).join(" • "),[d,g,x,i,o,a,n]);return s.jsx(J,{status:w,title:_,className:l?"opacity-80":""})}function K(e){try{return new URL(e).host}catch{return null}}function re({headerRight:e,headerStatus:t,children:r,footerLeft:n,footerRight:a,contentClassName:l="",rootClassName:x="",hideHeader:i=!1}){const o=S("shell.header.title"),d=String(o||"").trim().split(/\s+/),g=d[0]||o,w=d.slice(1).join(" ");return s.jsxs("div",{className:`min-h-screen bg-matrix-dark text-matrix-primary font-matrix p-4 md:p-8 flex flex-col leading-tight text-body selection:bg-matrix-primary selection:text-black overflow-hidden ${x}`,children:[s.jsx(W,{}),s.jsx("div",{className:"matrix-scanline-overlay pointer-events-none fixed inset-0 z-50 bg-[linear-gradient(rgba(18,16,16,0)_50%,rgba(0,0,0,0.1)_50%)] bg-[length:100%_4px]"}),s.jsxs("div",{className:`relative z-10 flex flex-col min-h-screen matrix-shell-content ${l}`,children:[i?null:s.jsx("header",{className:"border-b border-matrix-primary/20 pb-3 mb-6 shrink-0",children:s.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-3 md:gap-6",children:[s.jsx("img",{src:"/icon.svg",alt:"","aria-hidden":"true",className:"w-7 h-7 sm:w-8 sm:h-8 md:w-9 md:h-9 rounded-sm bg-black border border-matrix-primary/30 shadow-[0_0_12px_rgba(0,255,65,0.35)] shrink-0"}),s.jsxs("div",{className:"flex min-w-0 items-baseline gap-2 md:gap-3 uppercase select-none",children:[s.jsx("span",{className:"text-matrix-primary font-black text-xl sm:text-2xl md:text-3xl glow-text leading-none truncate",style:{letterSpacing:"-1px"},children:g}),w?s.jsx("span",{className:"hidden sm:inline text-matrix-primary font-extralight text-xs md:text-base truncate",style:{letterSpacing:"2px"},children:w}):null]}),s.jsx("div",{className:"hidden sm:flex items-center space-x-4 text-caption text-matrix-muted uppercase font-bold shrink-0",children:t||s.jsxs("span",{className:"flex items-center",children:[s.jsx("span",{className:"w-1.5 h-1.5 bg-matrix-primary rounded-full mr-2 animate-pulse"}),S("shell.header.link_active")]})})]}),e?s.jsx("div",{className:"w-full md:w-auto md:ml-4",children:s.jsx("div",{className:"w-full md:w-auto overflow-x-auto no-scrollbar",children:e})}):null]})}),s.jsx("main",{className:"flex-1",children:r}),s.jsxs("footer",{className:"mt-6 pt-3 border-t border-matrix-ghost flex justify-between text-caption uppercase font-bold tracking-[0.3em] text-matrix-dim shrink-0",children:[s.jsx("div",{className:"flex space-x-10 items-center",children:n||s.jsx("span",{children:S("shell.footer.help")})}),s.jsx("div",{className:"flex items-center space-x-3",children:a||s.jsx("span",{className:"font-bold",children:S("shell.footer.neural_index")})})]})]})]})}export{ne as B,re as M};
|