1import{_ as B}from"./0U2laMoF.js";import{_ as i}from"./BTR0J1Vf.js";import{_ as k}from"./tYUqxmEy.js";import{u as L}from"./DL84Z5e_.js";import{U as V}from"./DteCZysK.js";import{e as N,f as j,i as F,c as x,a as t,g as v,h as o,l as I,F as f,r as p,t as a,b as l,w as d,E as w,o as m,d as u,n as g,I as T,p as P,A as U,ay as E}from"./DdRirg_F.js";import{A as q}from"./DOcZEn-G.js";import{V as G}from"./Cu2UFbJT.js";import{K}from"./DkWBPxBh.js";import{R as H}from"./GnhWcXjh.js";import{C as J}from"./CT6oeXmt.js";import{B as z}from"./p1Qte30L.js";import{S as O}from"./DDj7Mlys.js";import"./DjqsqOe8.js";import"./DnwgGaPl.js";import"./Barf_tMS.js";/** 2 * @license lucide-vue-next v0.503.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Q=N("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/** 7 * @license lucide-vue-next v0.503.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const D=N("user-plus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]),W={class:"mx-auto w-full max-w-5xl px-3 sm:px-6 py-6 space-y-6"},X={key:0,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},Y={key:1,class:"text-destructive text-sm py-8 text-center"},Z={class:"space-y-3"},tt={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},et={class:"flex items-center gap-2 text-muted-foreground text-xs"},st={class:"text-2xl font-bold mt-1 tabular-nums"},ot={class:"text-xs text-muted-foreground mt-1"},at={class:"flex items-center gap-2 text-muted-foreground text-xs"},lt={class:"text-2xl font-bold mt-1 tabular-nums"},nt={class:"text-xs text-muted-foreground mt-1"},dt={class:"flex items-center gap-2 text-muted-foreground text-xs"},rt={class:"text-2xl font-bold mt-1 tabular-nums"},it={class:"flex items-center gap-2 text-muted-foreground text-xs"},ut={class:"text-2xl font-bold mt-1 tabular-nums"},mt={class:"flex items-center gap-2 text-muted-foreground text-xs"},ct={class:"text-2xl font-bold mt-1 tabular-nums"},xt={class:"text-xs text-muted-foreground mt-1"},ft={class:"flex items-center gap-2 text-muted-foreground text-xs"},vt={class:"text-2xl font-bold mt-1 tabular-nums"},pt={class:"text-xs text-muted-foreground mt-1"},gt={class:"space-y-3"},_t={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},yt={class:"flex items-center gap-2 text-muted-foreground text-xs"},bt={class:"text-2xl font-bold mt-1 tabular-nums"},ht={class:"text-xs text-muted-foreground mt-1"},kt={class:"flex items-center gap-2 text-muted-foreground text-xs"},wt={class:"text-2xl font-bold mt-1 tabular-nums"},qt={class:"text-xs text-muted-foreground mt-1"},zt={key:0,class:"flex flex-wrap gap-2"},Dt={key:1,class:"text-xs text-muted-foreground"},Nt={class:"flex items-end gap-1 h-24"},At=["title"],Ct={class:"flex justify-between text-[10px] text-muted-foreground mt-2"},Mt={class:"space-y-3"},Rt={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},St={class:"flex items-center gap-2 text-muted-foreground text-xs"},$t={class:"text-2xl font-bold mt-1 tabular-nums"},Bt={class:"text-xs text-muted-foreground mt-1"},Lt={class:"flex items-center gap-2 text-muted-foreground text-xs"},Vt={class:"text-2xl font-bold mt-1 tabular-nums"},jt={class:"flex items-center gap-2 text-muted-foreground text-xs"},Ft={class:"text-2xl font-bold mt-1 tabular-nums"},It={class:"flex items-center gap-2 text-muted-foreground text-xs"},Tt={class:"text-2xl font-bold mt-1 tabular-nums"},Pt={class:"space-y-3"},Ut={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},Et={class:"flex items-center gap-2 text-muted-foreground text-xs"},Gt={class:"text-2xl font-bold mt-1 tabular-nums"},Kt={class:"text-2xl font-bold mt-1 tabular-nums"},Ht={class:"text-2xl font-bold mt-1 tabular-nums"},Jt={class:"space-y-3"},Ot={class:"flex items-center gap-2 min-w-0"},Qt={class:"text-muted-foreground shrink-0"},Wt={key:0,class:"px-4 py-3 text-sm text-muted-foreground"},Xt={class:"text-[10px] text-muted-foreground"},pe=j({__name:"activity",setup(Yt){const{getActivity:A,loading:C,error:b}=L(),s=I(null);F(async()=>{try{s.value=await A()}catch{}});const M=new Intl.NumberFormat,n=c=>M.format(c??0),R=new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:1}),_=c=>R.format(c??0),S=P(()=>{var c;return Math.max(1,...(((c=s.value)==null?void 0:c.daily)??[]).map(e=>e.requests))}),$=c=>{try{return new Date(c).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}catch{return c}},y=c=>{try{return new Date(c).toLocaleDateString(void 0,{month:"short",day:"numeric"})}catch{return c}};return(c,e)=>{const h=B;return m(),x("div",W,[e[30]||(e[30]=t("div",null,[t("h1",{class:"text-2xl font-bold"},"Activity"),t("p",{class:"text-muted-foreground text-sm mt-1"}," A staff snapshot of members, inference traffic, the live node network, and the moderation backlog. ")],-1)),o(C)&&!s.value?(m(),x("div",X,[(m(),x(f,null,p(8,r=>l(o(i),{key:r,class:"p-4 h-24 animate-pulse"})),64))])):o(b)?(m(),x("div",Y,a(o(b)),1)):s.value?(m(),x(f,{key:2},[t("section",Z,[e[8]||(e[8]=t("h2",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Members",-1)),t("div",tt,[l(o(i),{class:"p-4"},{default:d(()=>[t("div",et,[l(o(V),{class:"size-4"}),e[0]||(e[0]=u(" Total members ",-1))]),t("div",st,a(n(s.value.users.total)),1),t("div",ot,a(n(s.value.users.staff))+" staff",1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",at,[l(o(D),{class:"size-4"}),e[1]||(e[1]=u(" New (24h) ",-1))]),t("div",lt,a(n(s.value.users.new_24h)),1),t("div",nt,a(n(s.value.users.new_7d))+" this week",1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",dt,[l(o(q),{class:"size-4"}),e[2]||(e[2]=u(" Active (24h) ",-1))]),t("div",rt,a(n(s.value.users.active_24h)),1),e[3]||(e[3]=t("div",{class:"text-xs text-muted-foreground mt-1"},"made â¥1 request",-1))]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",it,[l(o(D),{class:"size-4"}),e[4]||(e[4]=u(" New (30d) ",-1))]),t("div",ut,a(n(s.value.users.new_30d)),1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",mt,[l(o(G),{class:"size-4"}),e[5]||(e[5]=u(" Guests ",-1))]),t("div",ct,a(n(s.value.users.guests_active)),1),t("div",xt,a(n(s.value.users.guests_new_24h))+" new today · "+a(n(s.value.users.guests_total))+" ever ",1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",ft,[l(o(K),{class:"size-4"}),e[6]||(e[6]=u(" Passcode accounts ",-1))]),t("div",vt,a(n(s.value.users.passcode_accounts)),1),t("div",pt,[l(h,{to:"/dashboard/admin/access",class:"underline underline-offset-2"},{default:d(()=>[...e[7]||(e[7]=[u("manage access â",-1)])]),_:1})])]),_:1})])]),t("section",gt,[e[13]||(e[13]=t("h2",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Inference",-1)),t("div",_t,[l(o(i),{class:"p-4"},{default:d(()=>[t("div",yt,[l(o(q),{class:"size-4"}),e[9]||(e[9]=u(" Requests (total) ",-1))]),t("div",bt,a(n(s.value.requests.total)),1),t("div",ht,a(n(s.value.requests.last_24h))+" in 24h · "+a(n(s.value.requests.last_7d))+" in 7d ",1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",kt,[l(o(Q),{class:"size-4"}),e[10]||(e[10]=u(" Tokens (total) ",-1))]),t("div",wt,a(_(s.value.tokens.total)),1),t("div",qt,a(_(s.value.tokens.last_24h))+" in 24h · "+a(_(s.value.tokens.last_7d))+" in 7d ",1)]),_:1}),l(o(i),{class:"p-4 sm:col-span-2"},{default:d(()=>[e[11]||(e[11]=t("div",{class:"text-muted-foreground text-xs mb-2"},"Requests by type",-1)),s.value.requests.by_type.length?(m(),x("div",zt,[(m(!0),x(f,null,p(s.value.requests.by_type,r=>(m(),g(o(k),{key:r.type,variant:"secondary"},{default:d(()=>[u(a(r.type)+" · "+a(n(r.count)),1)]),_:2},1024))),128))])):(m(),x("div",Dt,"No requests yet."))]),_:1})]),l(o(i),{class:"p-4"},{default:d(()=>[e[12]||(e[12]=t("div",{class:"text-muted-foreground text-xs mb-3"},"Requests â last 14 days",-1)),t("div",Nt,[(m(!0),x(f,null,p(s.value.daily,r=>(m(),x("div",{key:r.date,class:"flex-1 bg-primary/70 rounded-t hover:bg-primary transition-colors",style:T({height:`${Math.max(2,r.requests/S.value*100)}%`}),title:`${y(r.date)}: ${n(r.requests)} requests, ${n(r.tokens)} tokens`},null,12,At))),128))]),t("div",Ct,[t("span",null,a(s.value.daily.length?y(s.value.daily[0].date):""),1),t("span",null,a(s.value.daily.length?y(s.value.daily[s.value.daily.length-1].date):""),1)])]),_:1})]),t("section",Mt,[e[21]||(e[21]=t("h2",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Network",-1)),t("div",Rt,[l(o(i),{class:"p-4"},{default:d(()=>[t("div",St,[l(o(H),{class:"size-4"}),e[14]||(e[14]=u(" Nodes online ",-1))]),t("div",$t,a(n(s.value.network.providers_online)),1),t("div",Bt,a(n(s.value.network.providers_active))+" active · "+a(n(s.value.network.providers_total))+" total ",1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",Lt,[l(o(J),{class:"size-4"}),e[15]||(e[15]=u(" Services ",-1))]),t("div",Vt,a(n(s.value.network.services_active)),1),e[16]||(e[16]=t("div",{class:"text-xs text-muted-foreground mt-1"},"active services",-1))]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",jt,[l(o(z),{class:"size-4"}),e[17]||(e[17]=u(" Deployments ",-1))]),t("div",Ft,a(n(s.value.network.deployments_active)),1),e[18]||(e[18]=t("div",{class:"text-xs text-muted-foreground mt-1"},"active model deployments",-1))]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[t("div",It,[l(o(z),{class:"size-4"}),e[19]||(e[19]=u(" Distinct models ",-1))]),t("div",Tt,a(n(s.value.network.models_distinct)),1),e[20]||(e[20]=t("div",{class:"text-xs text-muted-foreground mt-1"},"in the catalog",-1))]),_:1})])]),t("section",Pt,[e[27]||(e[27]=t("h2",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Moderation",-1)),t("div",Ut,[l(o(i),{class:w(["p-4",s.value.moderation.open>0?"border-destructive/50":""])},{default:d(()=>[t("div",Et,[l(o(O),{class:"size-4"}),e[22]||(e[22]=u(" Open reports ",-1))]),t("div",{class:w(["text-2xl font-bold mt-1 tabular-nums",s.value.moderation.open>0?"text-destructive":""])},a(n(s.value.moderation.open)),3),s.value.moderation.open>0?(m(),g(h,{key:0,to:"/dashboard/admin/moderation",class:"text-xs text-primary hover:underline mt-1 inline-block"},{default:d(()=>[...e[23]||(e[23]=[u(" Review queue â ",-1)])]),_:1})):v("",!0)]),_:1},8,["class"]),l(o(i),{class:"p-4"},{default:d(()=>[e[24]||(e[24]=t("div",{class:"text-muted-foreground text-xs"},"Resolved",-1)),t("div",Gt,a(n(s.value.moderation.resolved)),1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[e[25]||(e[25]=t("div",{class:"text-muted-foreground text-xs"},"Dismissed",-1)),t("div",Kt,a(n(s.value.moderation.dismissed)),1)]),_:1}),l(o(i),{class:"p-4"},{default:d(()=>[e[26]||(e[26]=t("div",{class:"text-muted-foreground text-xs"},"Total reports",-1)),t("div",Ht,a(n(s.value.moderation.total)),1)]),_:1})])]),t("section",Jt,[e[29]||(e[29]=t("h2",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Recent signups",-1)),l(o(i),{class:"divide-y"},{default:d(()=>[(m(!0),x(f,null,p(s.value.recent_signups,r=>(m(),x("div",{key:r.owner+r.joined,class:"flex items-center justify-between gap-4 px-4 py-2.5 text-sm"},[t("div",Ot,[(m(),g(U(r.github_login?"a":"span"),E({ref_for:!0},r.github_login?{href:`https://github.com/${r.github_login}`,target:"_blank",rel:"noopener"}:{},{class:["font-medium truncate",r.github_login?"hover:underline":""]}),{default:d(()=>[u(a(r.owner),1)]),_:2},1040,["class"])),r.is_staff?(m(),g(o(k),{key:0,variant:"secondary",class:"h-4 px-1 text-[10px]"},{default:d(()=>[...e[28]||(e[28]=[u("Staff",-1)])]),_:1})):v("",!0)]),t("span",Qt,a($(r.joined)),1)]))),128)),s.value.recent_signups.length?v("",!0):(m(),x("div",Wt," No members yet. "))]),_:1})]),t("p",Xt," Generated "+a(new Date(s.value.generated_at).toLocaleStr
11ing()),1)],64)):v("",!0)])}}});export{pe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.