import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{At as a,Et as o,Lt as s,V as c,_t as l,bt as u,f as d,ht as f,rn as p,t as m,zt as h}from"./abfragen-pD_qBEtc.js";import{t as g}from"./button-BHVKhtQ6.js";import{H as _,L as v,V as y,j as b,m as x,p as S,z as ee}from"./index-Bumw6krN.js";var C=t(e(),1),w=r(),T=n(),E={ok:{wort:`pünktlich`,punkt:`bg-gruen`,text:`text-text-3`},ueberfaellig:{wort:`überfällig`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},gestoppt:{wort:`läuft nicht`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},aus:{wort:`abgeschaltet`,punkt:`bg-text-3`,text:`text-text-3`}},D=`md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_110px]`,O=e=>f(new Date(e*1e3).toISOString());function k(e){let t=(0,w.c)(36),{a:n}=e,r=E[n.status]??E.ok,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=i(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-center`,D),t[0]=a):a=t[0];let o;t[1]===r.punkt?o=t[2]:(o=i(`mt-1.5 size-2 shrink-0 rounded-full`,r.punkt),t[1]=r.punkt,t[2]=o);let s;t[3]===o?s=t[4]:(s=(0,T.jsx)(`span`,{"aria-hidden":!0,className:o}),t[3]=o,t[4]=s);let c;t[5]===n.name?c=t[6]:(c=(0,T.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[5]=n.name,t[6]=c);let l;t[7]===n.takt?l=t[8]:(l=(0,T.jsx)(`span`,{className:`text-[13px] text-text-3`,children:n.takt}),t[7]=n.takt,t[8]=l);let d;t[9]!==c||t[10]!==l?(d=(0,T.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==d?(f=(0,T.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[s,d]}),t[12]=s,t[13]=d,t[14]=f):f=t[14];let p;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,T.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Zuletzt `}),t[15]=p):p=t[15];let m;t[16]===n.letzter?m=t[17]:(m=(0,T.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[p,n.letzter?(0,T.jsx)(`span`,{className:`ziffern`,children:u(n.letzter)}):(0,T.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[16]=n.letzter,t[17]=m);let h;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,T.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Nächster `}),t[18]=h):h=t[18];let g;t[19]===n.naechster?g=t[20]:(g=(0,T.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[h,n.naechster?(0,T.jsx)(`span`,{className:`ziffern`,children:O(n.naechster).toLowerCase()}):(0,T.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[19]=n.naechster,t[20]=g);let _;t[21]===r.text?_=t[22]:(_=i(`etikett text-[10.5px] tracking-[0.12em]`,r.text),t[21]=r.text,t[22]=_);let v;t[23]!==r.wort||t[24]!==_?(v=(0,T.jsx)(`span`,{role:`cell`,className:_,children:r.wort}),t[23]=r.wort,t[24]=_,t[25]=v):v=t[25];let y;t[26]!==n.status||t[27]!==n.text||t[28]!==r.text?(y=n.text&&n.status!==`ok`&&(0,T.jsx)(`p`,{className:i(`col-span-2 m-0 text-sm md:col-span-4 md:pl-[18px]`,r.text),children:n.text}),t[26]=n.status,t[27]=n.text,t[28]=r.text,t[29]=y):y=t[29];let b;return t[30]!==g||t[31]!==v||t[32]!==y||t[33]!==f||t[34]!==m?(b=(0,T.jsxs)(`div`,{role:`row`,className:a,children:[f,m,g,v,y]}),t[30]=g,t[31]=v,t[32]=y,t[33]=f,t[34]=m,t[35]=b):b=t[35],b}function A(){let e=(0,w.c)(15),t=m(),n;e[0]===t.data?.ablaeufe?n=e[1]:(n=t.data?.ablaeufe??[],e[0]=t.data?.ablaeufe,e[1]=n);let r=n,a;e[2]===r?a=e[3]:(a=r.filter(M),e[2]=r,e[3]=a);let o=a.length,s;e[4]!==t.data||e[5]!==o?(s=t.data?(0,T.jsx)(y,{art:o?`rot`:`gruen`,children:o?`${o} überfällig`:`alle pünktlich`}):void 0,e[4]=t.data,e[5]=o,e[6]=s):s=e[6];let c;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,T.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was die Box regelmäßig von selbst tut. Bleibt ein Lauf länger aus als erwartet, steht er hier oben und der Wächter meldet es — ein Stillstand wie im September fällt so am ersten Morgen auf.`}),e[7]=c):c=e[7];let l;e[8]!==t.error||e[9]!==t.isPending||e[10]!==r?(l=t.isPending?(0,T.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):t.error?(0,T.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Zeitpläne lassen sich gerade nicht lesen: `,t.error.message]}):(0,T.jsxs)(`div`,{role:`table`,"aria-label":`Zeitpläne`,className:`flex flex-col`,children:[(0,T.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,D),children:[(0,T.jsx)(`span`,{role:`columnheader`,children:`Ablauf`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Nächster`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),r.map(j)]}),e[8]=t.error,e[9]=t.isPending,e[10]=r,e[11]=l):l=e[11];let u;return e[12]!==s||e[13]!==l?(u=(0,T.jsxs)(S,{titel:`Zeitpläne`,rechts:s,children:[c,l]}),e[12]=s,e[13]=l,e[14]=u):u=e[14],u}function j(e){return(0,T.jsx)(k,{a:e},e.id)}function M(e){return e.status===`ueberfaellig`||e.status===`gestoppt`}var te={laeuft:{wort:`läuft`,punkt:`bg-gruen`,text:`text-text-3`},startet:{wort:`startet`,punkt:`bg-bernstein`,text:`text-bernstein`},stoppt:{wort:`stoppt`,punkt:`bg-bernstein`,text:`text-bernstein`},antwortet_nicht:{wort:`antwortet nicht`,punkt:`bg-rot`,text:`text-rot-text`},gestoppt:{wort:`gestoppt`,punkt:`bg-rot`,text:`text-rot-text`},gescheitert:{wort:`gescheitert`,punkt:`bg-rot`,text:`text-rot-text`},schlaeft:{wort:`schläft`,punkt:`bg-text-3`,text:`text-text-3`}};function N(e){return e.zustand?e.zustand:e.ok?`laeuft`:e.schlaeft?`schlaeft`:`antwortet_nicht`}var P={gescheitert:0,gestoppt:0,antwortet_nicht:0,startet:1,stoppt:1,laeuft:3,schlaeft:4};function F(e){let t=N(e);return t===`laeuft`&&(e.neustarts??0)>0?2:P[t]}var ne=e=>F(e)===0,I=e=>[...e].sort((e,t)=>F(e)-F(t)),L=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0}),R=new Intl.NumberFormat(`de-DE`,{minimumFractionDigits:1,maximumFractionDigits:1});function re(e){if(e==null)return`–`;let t=e/1024**2;return t<1e3?`${L.format(t)} MB`:`${R.format(t/1024)} GB`}function ie(e,t){return e.speicher_bytes==null||!t?null:(e.speicher_bytes+(e.grafik_bytes??0))/t*100}function ae(e){return e==null?`–`:e>0&&e<.05?`< 0,1 %`:e<10?`${R.format(e).replace(/,0$/,``)} %`:`${L.format(e)} %`}function oe(e){return e==null||e<0?`–`:e<60?`< 1 min`:b(e)}var z=`Europe/Berlin`,B=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:z}),V=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:z}),H=new Intl.DateTimeFormat(`en-CA`,{timeZone:z});function se(e,t=Date.now()){let n=new Date(t-e*1e3),r=H.format(n);return r===H.format(new Date(t))?`heute ${B.format(n)}`:r===H.format(new Date(t-864e5))?`gestern ${B.format(n)}`:`${V.format(n)}, ${B.format(n)}`}function ce(e,t=Date.now()){let n=N(e);return n===`schlaeft`?`mit Absicht aus`:(n===`gestoppt`||n===`gescheitert`)&&e.aus_seit_s!=null?`aus seit ${se(e.aus_seit_s,t)}`:null}function U(e){let t=N(e);return t===`schlaeft`?`Wecken`:t===`gestoppt`||t===`gescheitert`?`Starten`:`Neu starten`}var W={"llama-swap":`Laufende Antworten brechen ab; die Modelle werden danach neu geladen.`,"mission-control-2":`Das ist diese Oberfläche selbst: Sie ist ein paar Sekunden nicht erreichbar.`,"hermes-gateway":`Lucy antwortet in der Zeit nicht.`};function G(e){let t=U(e);if(t===`Wecken`)return{titel:`${e.name} wecken?`,text:`Der Dienst startet und läuft bis zum nächsten Neustart der Box. Danach schläft er wieder.`,knopf:t};if(t===`Starten`)return{titel:`${e.name} starten?`,text:`Der Dienst wird gestartet. Scheitert er wieder, steht der Grund im Protokoll.`,knopf:t};let n=W[e.unit]?` ${W[e.unit]}`:``;return{titel:`${e.name} neu starten?`,text:`Der Dienst wird neu gestartet und ist dabei kurz nicht erreichbar.${n}`,knopf:t}}function K(e){let t=U(e);return`${e.name} ${t===`Wecken`?`wird geweckt`:t===`Starten`?`startet`:`startet neu`}.`}var le={laeuft:`ok`,startet:`warn`,stoppt:`warn`,antwortet_nicht:`rot`,gestoppt:`rot`,gescheitert:`rot`,schlaeft:`aus`},ue=`grid-cols-2 gap-x-4 sm:grid-cols-4 xl:gap-x-3 xl:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_9.5rem] min-[87.5rem]:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_17.5rem]`,q=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`});function J(e){let t=(0,w.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,T.jsx)(`span`,{className:`block text-xs text-text-3 xl:hidden`,children:n}),t[0]=n,t[1]=r),r}function de(e){let t=(0,w.c)(7),{anteil:n,children:r}=e,i;t[0]===r?i=t[1]:(i=(0,T.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=n!==null&&(0,T.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,T.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.min(100,Math.max(2,n))}%`,background:`var(--reihe-1)`}})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,T.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function fe(e){let t=(0,w.c)(9),{d:n,id:r}=e,i=c(n.unit),a=(0,C.useRef)(null),o;if(i.isPending)o=`Wird gelesen …`;else if(i.isError)o=`Das Protokoll lässt sich gerade nicht lesen: ${i.error.message}`;else if(i.data.ok===!1)o=i.data.err||i.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===i.data.text?e=t[1]:(e=i.data.text?.trim()||`Noch keine Einträge.`,t[0]=i.data.text,t[1]=e),o=e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},t[2]=s):s=t[2];let l;t[3]===o?l=t[4]:(l=[o],t[3]=o,t[4]=l),(0,C.useEffect)(s,l);let u=`Letzte Protokollzeilen von ${n.name}`,d;return t[5]!==r||t[6]!==u||t[7]!==o?(d=(0,T.jsx)(`pre`,{id:r,ref:a,tabIndex:0,"aria-label":u,className:`ziffern m-0 max-h-[50vh] w-full overflow-auto rounded-lg bg-black/30 ring-1 ring-white/[0.07] ring-inset p-3 text-xs leading-relaxed whitespace-pre-wrap break-words text-text-2`,children:o}),t[5]=r,t[6]=u,t[7]=o,t[8]=d):d=t[8],d}function Y(e){let t=(0,w.c)(113),{d:n,gesamt:r,offen:a,startet:o,onProtokoll:s,onFrage:c}=e,l=te[N(n)],u;t[0]===n?u=t[1]:(u=ce(n),t[0]=n,t[1]=u);let d=u,f,p,m,h,_,y,b,x,S,C,E;if(t[2]!==n||t[3]!==r||t[4]!==l.text||t[5]!==l.wort||t[6]!==d){let e=ie(n,r);f=n.neustarts??0,p=`protokoll-${n.unit}`,x=`row`,t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=i(`grid gap-y-2.5 border-t border-white/[0.06] py-3 xl:items-center`,ue),t[18]=S):S=t[18];let a;t[19]===n.unit?a=t[20]:(a=ee(n.unit),t[19]=n.unit,t[20]=a);let o=le[N(n)],s;t[21]!==a||t[22]!==o?(s=(0,T.jsx)(v,{bild:a,groesse:`sm`,punkt:o}),t[21]=a,t[22]=o,t[23]=s):s=t[23];let c;t[24]===n.name?c=t[25]:(c=(0,T.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[24]=n.name,t[25]=c);let u=n.scope===`system`?` · Systemdienst`:``,g;t[26]!==n.unit||t[27]!==u?(g=(0,T.jsxs)(`span`,{className:`ziffern text-xs break-words text-text-3`,children:[n.unit,u]}),t[26]=n.unit,t[27]=u,t[28]=g):g=t[28];let w;t[29]!==c||t[30]!==g?(w=(0,T.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[c,g]}),t[29]=c,t[30]=g,t[31]=w):w=t[31],t[32]!==s||t[33]!==w?(C=(0,T.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 xl:col-span-1`,children:[s,w]}),t[32]=s,t[33]=w,t[34]=C):C=t[34];let D;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,T.jsx)(J,{children:`Zustand`}),t[35]=D):D=t[35];let O;t[36]===l.text?O=t[37]:(O=i(`etikett text-[10.5px] tracking-[0.12em]`,l.text),t[36]=l.text,t[37]=O);let k;t[38]!==O||t[39]!==l.wort?(k=(0,T.jsx)(`span`,{className:O,children:l.wort}),t[38]=O,t[39]=l.wort,t[40]=k):k=t[40];let A;t[41]===d?A=t[42]:(A=d&&(0,T.jsx)(`span`,{className:`text-xs text-text-3`,children:d}),t[41]=d,t[42]=A);let j;t[43]===f?j=t[44]:(j=f>0&&(0,T.jsx)(`span`,{className:`text-xs text-bernstein xl:hidden`,children:f===1?`1 Neustart`:`${f} Neustarts`}),t[43]=f,t[44]=j),t[45]!==k||t[46]!==A||t[47]!==j?(E=(0,T.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[D,k,A,j]}),t[45]=k,t[46]=A,t[47]=j,t[48]=E):E=t[48];let M;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,T.jsx)(J,{children:`CPU`}),t[49]=M):M=t[49],t[50]===n.cpu_prozent?m=t[51]:(m=(0,T.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[M,n.cpu_prozent==null?(0,T.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,T.jsx)(de,{anteil:n.cpu_prozent,children:ae(n.cpu_prozent)})]}),t[50]=n.cpu_prozent,t[51]=m),h=`cell`,_=`min-w-0`,t[52]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,T.jsx)(J,{children:`Speicher`}),t[52]=y):y=t[52],b=n.speicher_bytes==null?(0,T.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,T.jsxs)(de,{anteil:e,children:[re(n.speicher_bytes+(n.grafik_bytes??0)),e!==null&&(0,T.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,ae(e)]})]}),t[2]=n,t[3]=r,t[4]=l.text,t[5]=l.wort,t[6]=d,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=_,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=E}else f=t[7],p=t[8],m=t[9],h=t[10],_=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],E=t[17];let D;t[53]!==n.grafik_bytes||t[54]!==n.speicher_bytes?(D=n.speicher_bytes!=null&&!!n.grafik_bytes&&(0,T.jsxs)(`span`,{className:`mt-1 block text-xs text-text-3`,children:[`davon `,re(n.grafik_bytes),` Modelle`]}),t[53]=n.grafik_bytes,t[54]=n.speicher_bytes,t[55]=D):D=t[55];let O;t[56]!==D||t[57]!==h||t[58]!==_||t[59]!==y||t[60]!==b?(O=(0,T.jsxs)(`span`,{role:h,className:_,children:[y,b,D]}),t[56]=D,t[57]=h,t[58]=_,t[59]=y,t[60]=b,t[61]=O):O=t[61];let k;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,T.jsx)(J,{children:`Läuft seit`}),t[62]=k):k=t[62];let A;t[63]===n.laeuft_seit_s?A=t[64]:(A=oe(n.laeuft_seit_s),t[63]=n.laeuft_seit_s,t[64]=A);let j;t[65]===A?j=t[66]:(j=(0,T.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:A}),t[65]=A,t[66]=j);let M;t[67]===n.laeuft_seit_s?M=t[68]:(M=n.laeuft_seit_s!=null&&(0,T.jsxs)(`span`,{className:`text-xs text-text-3`,children:[`gestartet `,se(n.laeuft_seit_s)]}),t[67]=n.laeuft_seit_s,t[68]=M);let P;t[69]!==j||t[70]!==M?(P=(0,T.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[k,j,M]}),t[69]=j,t[70]=M,t[71]=P):P=t[71];let F=f>0?`text-bernstein`:`text-text-3`,I;t[72]===F?I=t[73]:(I=i(`ziffern text-sm`,F),t[72]=F,t[73]=I);let L=n.neustarts??`–`,R;t[74]!==I||t[75]!==L?(R=(0,T.jsx)(`span`,{role:`cell`,className:`hidden min-w-0 xl:block`,children:(0,T.jsx)(`span`,{className:I,children:L})}),t[74]=I,t[75]=L,t[76]=R):R=t[76];let z=a?`info`:`ghost`,B=a?p:void 0,V=`Protokoll von ${n.name}`,H;t[77]!==a||t[78]!==s||t[79]!==z||t[80]!==B||t[81]!==V?(H=(0,T.jsx)(g,{variant:z,size:`sm`,"aria-expanded":a,"aria-controls":B,"aria-label":V,onClick:s,children:`Protokoll`}),t[77]=a,t[78]=s,t[79]=z,t[80]=B,t[81]=V,t[82]=H):H=t[82];let W=ne(n)?`default`:`outline`,G=o!==null,K;t[83]!==n||t[84]!==o?(K=o===n.unit?`startet …`:U(n),t[83]=n,t[84]=o,t[85]=K):K=t[85];let q=`${n.name}: ${K}`,Y;t[86]!==n||t[87]!==o?(Y=o===n.unit?`Startet …`:U(n),t[86]=n,t[87]=o,t[88]=Y):Y=t[88];let X;t[89]!==c||t[90]!==W||t[91]!==G||t[92]!==q||t[93]!==Y?(X=(0,T.jsx)(g,{variant:W,size:`sm`,disabled:G,"aria-label":q,onClick:c,children:Y}),t[89]=c,t[90]=W,t[91]=G,t[92]=q,t[93]=Y,t[94]=X):X=t[94];let Z;t[95]!==H||t[96]!==X?(Z=(0,T.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex flex-wrap gap-2 sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-start xl:col-span-1 xl:col-start-auto xl:row-start-auto xl:flex-col xl:items-stretch xl:self-center min-[87.5rem]:flex-row min-[87.5rem]:justify-end`,children:[H,X]}),t[95]=H,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==n||t[99]!==a||t[100]!==p?(Q=a&&(0,T.jsx)(`div`,{role:`cell`,className:`col-span-full`,children:(0,T.jsx)(fe,{d:n,id:p})}),t[98]=n,t[99]=a,t[100]=p,t[101]=Q):Q=t[101];let $;return t[102]!==m||t[103]!==O||t[104]!==P||t[105]!==R||t[106]!==Z||t[107]!==Q||t[108]!==x||t[109]!==S||t[110]!==C||t[111]!==E?($=(0,T.jsxs)(`div`,{role:x,className:S,children:[C,E,m,O,P,R,Z,Q]}),t[102]=m,t[103]=O,t[104]=P,t[105]=R,t[106]=Z,t[107]=Q,t[108]=x,t[109]=S,t[110]=C,t[111]=E,t[112]=$):$=t[112],$}function X(e){let t=(0,w.c)(16),{stand:n,gewaehlt:r,startet:a,onProtokoll:o,onFrage:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,T.jsxs)(`div`,{role:`row`,className:i(`etikett hidden pb-2 text-[10.5px] tracking-[0.14em] text-text-3 xl:grid`,ue),children:[(0,T.jsx)(`span`,{role:`columnheader`,children:`Dienst`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Zustand`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Neustarts`}),(0,T.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktionen`})]}),t[0]=c):c=t[0];let l;if(t[1]!==r||t[2]!==s||t[3]!==o||t[4]!==n.services||t[5]!==n.speicher_gesamt||t[6]!==a){let e;t[8]!==r||t[9]!==s||t[10]!==o||t[11]!==n.speicher_gesamt||t[12]!==a?(e=e=>(0,T.jsx)(Y,{d:e,gesamt:n.speicher_gesamt,offen:r===e.unit,startet:a,onProtokoll:()=>o(e.unit),onFrage:()=>s(e)},e.unit),t[8]=r,t[9]=s,t[10]=o,t[11]=n.speicher_gesamt,t[12]=a,t[13]=e):e=t[13],l=I(n.services).map(e),t[1]=r,t[2]=s,t[3]=o,t[4]=n.services,t[5]=n.speicher_gesamt,t[6]=a,t[7]=l}else l=t[7];let u;return t[14]===l?u=t[15]:(u=(0,T.jsxs)(`div`,{role:`table`,"aria-label":`Dienste der KI-Box`,className:`flex flex-col`,children:[c,l]}),t[14]=l,t[15]=u),u}function Z(e){let t=(0,w.c)(8),{dienste:n,stand:r}=e,i;t[0]===n?i=t[1]:(i=n.filter(ne),t[0]=n,t[1]=i);let a=i.length,o;if(t[2]!==n||t[3]!==a||t[4]!==r){let e=n.filter($),i;t[6]===r?i=t[7]:(i=r>0&&(0,T.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,q.format(r)]}),t[6]=r,t[7]=i),o=(0,T.jsxs)(`span`,{className:`flex flex-wrap items-center gap-3`,children:[i,a>0?(0,T.jsx)(y,{art:`rot`,children:a===1?`1 Problem`:`${a} Probleme`}):e.length>0?(0,T.jsx)(y,{art:`bernstein`,children:e.some(Q)?`Startet gerade`:`Stoppt gerade`}):(0,T.jsx)(y,{art:`gruen`,children:`Alles in Ordnung`})]}),t[2]=n,t[3]=a,t[4]=r,t[5]=o}else o=t[5];return o}function Q(e){return N(e)===`startet`}function $(e){return F(e)===1}function pe(){let e=p(),t=d(),[n,r]=(0,C.useState)(null),[i,c]=(0,C.useState)(null),[u,f]=(0,C.useState)(!1),[m,g]=(0,C.useState)(null);async function v(t){if(!m){g(t.unit);try{let e=await h(`/api/maintenance/restart`,{service:t.unit});e.ok?o(`erfolg`,K(t)):o(`fehler`,`${t.name} ließ sich nicht starten: ${a(e)}`)}catch(e){t.unit===`mission-control-2`&&e instanceof s?o(`info`,`Der Box-Wart startet neu. Die Seite ist gleich wieder da.`):o(`fehler`,e.message)}finally{g(null),e.invalidateQueries({queryKey:[`dienste`]}),e.invalidateQueries({queryKey:[`protokoll`,t.unit]})}}}if(t.isPending)return(0,T.jsx)(_,{text:`Die Dienste werden gelesen …`});if(!t.data)return(0,T.jsx)(_,{fehler:!0,text:`Die Dienste lassen sich gerade nicht lesen: ${t.error?.message??`keine Daten`}`});let y=t.data,b=i?G(i):null,ee=y.speicher_gesamt?`den ${l(y.speicher_gesamt)}`:`dem Arbeitsspeicher`,w=y.kerne?`allen ${y.kerne} Kernen`:`allen Kernen`;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(S,{titel:`Dienste`,rechts:(0,T.jsx)(Z,{dienste:y.services,stand:t.dataUpdatedAt}),children:[(0,T.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Die Dienste der KI-Box: ob sie laufen, was sie gerade an CPU und Speicher brauchen, seit wann sie laufen und was sie zuletzt ins Protokoll geschrieben haben. Probleme stehen oben.`}),y.services.length===0?(0,T.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}):(0,T.jsx)(X,{stand:y,gewaehlt:n,startet:m,onProtokoll:e=>r(n===e?null:e),onFrage:e=>{c(e),f(!0)}}),(0,T.jsxs)(`p`,{className:`m-0 text-xs leading-relaxed text-text-3`,children:[`CPU: Anteil an `,w,` der Box, gemessen zwischen zwei Abfragen (alle zehn Sekunden). Speicher: was systemd dem Dienst zurechnet; der Balken zeigt den Anteil an `,ee,` der Box. Bei der Engine zählen die geladenen Modelle mit — sie liegen im Grafikspeicher, den systemd keinem Dienst zurechnet. Neustarts: wie oft systemd den Dienst nach einem Absturz von selbst wieder gestartet hat. „Schläft“ heißt: mit Absicht abgeschaltet, kein Fehler.`]}),(0,T.jsx)(x,{offen:u&&!!b,titel:b?.titel??``,text:b?.text??``,knopf:b?.knopf??``,gefahr:b?.knopf===`Neu starten`,gesperrt:m!==null,onJa:()=>{f(!1),i&&v(i)},onNein:()=>f(!1)})]}),(0,T.jsx)(A,{})]})}export{pe as DiensteSeite};