Ampel / ampel (push) Failing after 21s
Der Ablenker "system_speicher" passte zur Platz-Frage besser als die erwartete Antwort (das Live-Hirn waehlte ihn am 23.09.). Weil schon ein Vorteil fuer "bestanden" reicht, haette dieses Rauschen allein einen Kandidaten durchbringen koennen. Aendern sich die Proben, misst baseline() jetzt neu statt alte Werte zu vergleichen. Dazu: uebersprungene Radar-Eintraege zeigen kein "passt nicht" mehr. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 line
24 KiB
JavaScript
1 line
24 KiB
JavaScript
import{c as e,f as t,o as n,s as r,t as i,u as a}from"./button-Dd8hfusv.js";import{A as o,I as s,L as c,M as l,S as u,_ as d,b as f,c as p,d as m,g as h,i as g,j as _,k as v,l as y,n as b,o as x,r as S,s as C,t as w,u as T,v as E,w as D,x as O}from"./index-B-ORi4lf.js";import{a as k,i as A,n as j,r as M,t as N}from"./sheet-DWG2Q04V.js";import{t as P}from"./Bestaetigen-VrcNpcBb.js";var F={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};F.node;var I=n(F),L=r(),R=t(a(),1),z=e();function B({offen:e,onSchliessen:t}){let n=c(),[r,a]=(0,R.useState)(``),[l,u]=(0,R.useState)(``),[d,f]=(0,R.useState)(null),[p,h]=(0,R.useState)(``),g=s({queryKey:[`hf-suche`,l],queryFn:()=>v(`/api/hf/search?q=${encodeURIComponent(l)}`),enabled:l.length>1}),y=s({queryKey:[`hf-quants`,d],queryFn:()=>v(`/api/hf/quants?repo=${encodeURIComponent(d??``)}`),enabled:!!d});async function b(e){if(d)try{await o(`/api/models/install`,{repo:d,quant:e,role:p||null}),_(`erfolg`,`${d} (${e}) wird heruntergeladen. Den Fortschritt siehst du unter Updates.`),n.invalidateQueries({queryKey:[`jobs`]}),n.invalidateQueries({queryKey:[`models`]}),t()}catch(e){_(`fehler`,e.message)}}let x=(y.data?.quants??[]).map(e=>typeof e==`string`?{quant:e}:e);return(0,z.jsx)(N,{open:e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(j,{side:`right`,className:`w-full gap-3 overflow-y-auto border-linie bg-panel sm:max-w-xl`,children:[(0,z.jsxs)(A,{children:[(0,z.jsx)(k,{className:`schild text-lg`,children:`Modelle selbst suchen`}),(0,z.jsx)(M,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),(0,z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:e=>{e.preventDefault(),f(null),u(r.trim())},children:[(0,z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),(0,z.jsx)(`input`,{id:`hf-suche`,value:r,onChange:e=>a(e.target.value),placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-lg border border-linie-stark bg-erhaben px-3 text-[15px] outline-none focus:border-cyan`}),(0,z.jsx)(i,{type:`submit`,children:`Suchen`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col px-4 pb-4`,children:[g.isFetching&&(0,z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!d&&g.data?.results.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-linie py-2 text-left hover:text-cyan`,children:[(0,z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[m(e.downloads),` ↓`]})]},e.repo)),d&&(0,z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:d}),(0,z.jsx)(i,{variant:`ghost`,size:`sm`,onClick:()=>f(null),children:`Zurück`})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,z.jsxs)(`select`,{value:p,onChange:e=>h(e.target.value),className:`h-11 rounded-lg border border-linie-stark bg-erhaben px-3 text-foreground`,children:[(0,z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),(0,z.jsx)(`option`,{value:`coder`,children:`Coder`})]})]}),y.isFetching&&(0,z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),x.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-linie py-2`,children:[(0,z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,z.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[(n/1024**3).toFixed(1).replace(`.`,`,`),` GB`]}):null,(0,z.jsx)(i,{variant:`outline`,size:`sm`,onClick:()=>b(t),children:`Installieren`})]})]},t)})]})]})]})})}var V=115;function H(e){let t=(0,L.c)(55),{modelle:n,laufend:r}=e,i=l(),a=D(),o,s,c,u,d,f,p,m,h,g;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=y(i?.ram_total??a.data?.box.ram_total)??122.7,l=y(i?.ram_used??a.data?.box.ram_used)??0,_;t[15]===r?_=t[16]:(_=e=>r.includes(e.name),t[15]=r,t[16]=_);let v=n.filter(_).reduce(U,0);s=Math.max(0,l-v);let b=t=>`${Math.min(100,t/e*100)}%`;o=w,m=`Speicher`,h=(0,z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(l),` von `,Math.round(e),` GB belegt · Grenze ~`,V,` GB`]});let x=`Speicher: ${Math.round(l)} von ${Math.round(e)} GB belegt`,S=b(l),C;t[17]===S?C=t[18]:(C={width:S},t[17]=S,t[18]=C);let T=`${l?v/l*100:0}%`,E;t[19]===T?E=t[20]:(E=(0,z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:T}}),t[19]=T,t[20]=E);let D=`${l?s/l*100:0}%`,O;t[21]===D?O=t[22]:(O=(0,z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:D}}),t[21]=D,t[22]=O);let k;t[23]!==C||t[24]!==E||t[25]!==O?(k=(0,z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:C,children:[E,O]}),t[23]=C,t[24]=E,t[25]=O,t[26]=k):k=t[26];let A=b(V),j;t[27]===A?j=t[28]:(j=(0,z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:A}}),t[27]=A,t[28]=j),t[29]!==x||t[30]!==k||t[31]!==j?(g=(0,z.jsxs)(`div`,{className:`relative h-8 rounded-lg bg-erhaben`,role:`img`,"aria-label":x,children:[k,j]}),t[29]=x,t[30]=k,t[31]=j,t[32]=g):g=t[32],p=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=u):u=t[33],d=` Geladene Modelle: `,f=Math.round(v),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m,t[13]=h,t[14]=g}else o=t[5],s=t[6],c=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14];let _;t[34]!==c||t[35]!==u||t[36]!==d||t[37]!==f?(_=(0,z.jsxs)(`span`,{className:c,children:[u,d,f,` GB Dateien`]}),t[34]=c,t[35]=u,t[36]=d,t[37]=f,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let b;t[40]===s?b=t[41]:(b=Math.round(s),t[40]=s,t[41]=b);let x;t[42]===b?x=t[43]:(x=(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,b,` GB`]}),t[42]=b,t[43]=x);let S;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=S):S=t[44];let C;t[45]!==x||t[46]!==p||t[47]!==_?(C=(0,z.jsxs)(`div`,{className:p,children:[_,x,S]}),t[45]=x,t[46]=p,t[47]=_,t[48]=C):C=t[48];let T;return t[49]!==o||t[50]!==C||t[51]!==m||t[52]!==h||t[53]!==g?(T=(0,z.jsxs)(o,{titel:m,rechts:h,children:[g,C]}),t[49]=o,t[50]=C,t[51]=m,t[52]=h,t[53]=g,t[54]=T):T=t[54],T}function U(e,t){return e+(y(t.size_bytes)??0)}function W(e){let t=(0,L.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function G(e){let t=(0,L.c)(47),{titel:n,modell:r,laeuft:a,nutzer:o}=e,s=h();if(!r){let e;t[0]===n?e=t[1]:(e=(0,z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,z.jsx)(x,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-linie-stark p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision,d;t[12]===n?d=t[13]:(d=(0,z.jsx)(`span`,{className:`schild text-sm text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,z.jsx)(x,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let g;t[17]!==d||t[18]!==m?(g=(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=g):g=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let v;t[22]===r.size_bytes?v=t[23]:(v=T(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,z.jsx)(W,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=l?`${l}k`:`–`,S;t[26]===b?S=t[27]:(S=(0,z.jsx)(W,{name:`Kontext`,wert:b}),t[26]=b,t[27]=S);let C=u?`ja`:`nein`,w;t[28]===C?w=t[29]:(w=(0,z.jsx)(W,{name:`Bilder`,wert:C}),t[28]=C,t[29]=w);let E;t[30]!==S||t[31]!==w||t[32]!==y?(E=(0,z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,S,w]}),t[30]=S,t[31]=w,t[32]=y,t[33]=E):E=t[33];let D=r.spec_active?` Mit Draft-Beschleunigung.`:``,O;t[34]!==o||t[35]!==D?(O=(0,z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,D]}),t[34]=o,t[35]=D,t[36]=O):O=t[36];let k;t[37]!==s||t[38]!==a||t[39]!==r.name?(k=!a&&(0,z.jsx)(i,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[37]=s,t[38]=a,t[39]=r.name,t[40]=k):k=t[40];let A;return t[41]!==E||t[42]!==O||t[43]!==k||t[44]!==g||t[45]!==_?(A=(0,z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-linie bg-panel p-5`,children:[g,_,E,O,k]}),t[41]=E,t[42]=O,t[43]=k,t[44]=g,t[45]=_,t[46]=A):A=t[46],A}function K(e){let t=(0,L.c)(51),{nutzung:n}=e;if(!n)return null;let r;t[0]===n.absender?r=t[1]:(r=Math.max(1,...n.absender.map(X)),t[0]=n.absender,t[1]=r);let i=r,a,o,s,c,l,u,d,f,p,h,g,_;if(t[2]!==i||t[3]!==n.absender||t[4]!==n.letzte_24h||t[5]!==n.tage){let e=n.letzte_24h.map(J),r=Math.max(1,...e);a=w,_=`Wer nutzt die Modelle`,t[18]===n.tage?o=t[19]:(o=(0,z.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`letzte `,n.tage,` Tage`]}),t[18]=n.tage,t[19]=o),t[20]===n.absender.length?s=t[21]:(s=n.absender.length===0&&(0,z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}),t[20]=n.absender.length,t[21]=s);let v;if(t[22]!==i||t[23]!==n.absender){let e;t[25]===i?e=t[26]:(e=e=>(0,z.jsxs)(`li`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsxs)(`div`,{className:`flex justify-between gap-3 text-sm`,children:[(0,z.jsx)(`span`,{children:e.name}),(0,z.jsx)(`span`,{className:`ziffern`,children:m(e.anfragen)})]}),(0,z.jsx)(`div`,{className:`h-2 rounded-full bg-erhaben`,children:(0,z.jsx)(`div`,{className:`h-2 rounded-full bg-cyan`,style:{width:`${e.anfragen/i*100}%`}})})]},e.name),t[25]=i,t[26]=e),v=n.absender.map(e),t[22]=i,t[23]=n.absender,t[24]=v}else v=t[24];t[27]===v?c=t[28]:(c=(0,z.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-3.5 p-0`,children:v}),t[27]=v,t[28]=c),h=`flex flex-col gap-1.5`,t[29]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,z.jsx)(`span`,{className:`schild text-xs text-text-3`,children:`Anfragen je Stunde, letzte 24 h`}),t[29]=g):g=t[29],l=`0 0 240 64`,u=`h-16 w-full`,d=`img`,f=`Anfragen je Stunde in den letzten 24 Stunden`;let y;t[30]===r?y=t[31]:(y=(e,t)=>{let n=e?Math.max(3,e/r*50):2;return(0,z.jsx)(`rect`,{x:t*10+1.5,y:52-n,width:7,height:n,rx:1.5,fill:e?`var(--cyan)`:`var(--linie)`},t)},t[30]=r,t[31]=y),p=e.map(y),t[2]=i,t[3]=n.absender,t[4]=n.letzte_24h,t[5]=n.tage,t[6]=a,t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d,t[13]=f,t[14]=p,t[15]=h,t[16]=g,t[17]=_}else a=t[6],o=t[7],s=t[8],c=t[9],l=t[10],u=t[11],d=t[12],f=t[13],p=t[14],h=t[15],g=t[16],_=t[17];let v;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(v=[0,6,12,18].map(q),t[32]=v):v=t[32];let y;t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f||t[37]!==p?(y=(0,z.jsxs)(`svg`,{viewBox:l,className:u,role:d,"aria-label":f,children:[p,v]}),t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=p,t[38]=y):y=t[38];let b;t[39]!==y||t[40]!==h||t[41]!==g?(b=(0,z.jsxs)(`div`,{className:h,children:[g,y]}),t[39]=y,t[40]=h,t[41]=g,t[42]=b):b=t[42];let x;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Anfragen an llama-swap. NerdQuiz geht direkt dorthin, alles andere über MC2.`}),t[43]=x):x=t[43];let S;return t[44]!==a||t[45]!==o||t[46]!==s||t[47]!==c||t[48]!==b||t[49]!==_?(S=(0,z.jsxs)(a,{titel:_,rechts:o,children:[s,c,b,x]}),t[44]=a,t[45]=o,t[46]=s,t[47]=c,t[48]=b,t[49]=_,t[50]=S):S=t[50],S}function q(e){return(0,z.jsx)(`text`,{x:e*10+5,y:63,textAnchor:`middle`,style:{fontSize:9,fill:`var(--text-3)`,fontFamily:`var(--font-mono)`},children:e},e)}function J(e){return Object.values(e.je_absender).reduce(Y,0)}function Y(e,t){return e+t}function X(e){return e.anfragen}var Z={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},Q={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function $(e){let t=(0,L.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,z.jsxs)(`div`,{role:`row`,className:`schild grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-xs text-text-3`,children:[(0,z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`rounded-lg border border-linie bg-erhaben/50 px-3 py-2 text-sm`,children:[a,e.map(ee)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ee(e){let[t,n]=e;return(0,z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-linie py-1`,children:[(0,z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${Q[n.urteil??``]??`text-text-2`}`,children:S(n.kandidat,n.einheit)}),(0,z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:S(n.baseline,n.einheit)})]},t)}function te(e){let t=(0,L.c)(55),{k:n,test:r,heute:a}=e,o=O(),[s,c]=(0,R.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,m;t[3]===p?m=t[4]:(m=(0,z.jsx)(x,{art:`cyan`,children:p}),t[3]=p,t[4]=m);let h;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(h=n.groesse_gb!=null&&(0,z.jsx)(x,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=h):h=t[8];let g=Z[n.status]??`grau`,_=b[n.status]??n.status,v;t[9]!==g||t[10]!==_?(v=(0,z.jsx)(x,{art:g,children:_}),t[9]=g,t[10]=_,t[11]=v):v=t[11];let y;t[12]!==f||t[13]!==m||t[14]!==h||t[15]!==v?(y=(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,m,h,v]}),t[12]=f,t[13]=m,t[14]=h,t[15]=v,t[16]=y):y=t[16];let S;t[17]===n.groesse_gb?S=t[18]:(S=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=S);let C;t[19]!==n.begruendung||t[20]!==S?(C=(0,z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[S,n.begruendung]}),t[19]=n.begruendung,t[20]=S,t[21]=C):C=t[21];let w;t[22]!==n.status||t[23]!==r?(w=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,z.jsx)($,{test:r}),t[22]=n.status,t[23]=r,t[24]=w):w=t[24];let T;t[25]!==o.isPending||t[26]!==n.status||t[27]!==u?(T=u&&(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.status===`bestanden`&&(0,z.jsx)(i,{size:`sm`,disabled:o.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,z.jsx)(i,{variant:`outline`,size:`sm`,disabled:o.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[25]=o.isPending,t[26]=n.status,t[27]=u,t[28]=T):T=t[28];let E=s===`uebernehmen`,D=`${n.name} übernehmen?`,k=d?`${n.name} wird Lucys Hirn${a?` und löst ${a} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${a?` und löst ${a} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,A;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>c(null),t[29]=A):A=t[29];let j;t[30]!==o||t[31]!==n.id||t[32]!==n.name?(j=()=>{o.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null)},t[30]=o,t[31]=n.id,t[32]=n.name,t[33]=j):j=t[33];let M;t[34]!==E||t[35]!==D||t[36]!==k||t[37]!==j?(M=(0,z.jsx)(P,{offen:E,titel:D,text:k,knopf:`Übernehmen`,onNein:A,onJa:j}),t[34]=E,t[35]=D,t[36]=k,t[37]=j,t[38]=M):M=t[38];let N=s===`verwerfen`,F=`${n.name} verwerfen?`,I;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>c(null),t[39]=I):I=t[39];let B;t[40]!==o||t[41]!==n.id||t[42]!==n.name?(B=()=>{o.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null)},t[40]=o,t[41]=n.id,t[42]=n.name,t[43]=B):B=t[43];let V;t[44]!==N||t[45]!==F||t[46]!==B?(V=(0,z.jsx)(P,{offen:N,gefahr:!0,titel:F,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,onNein:I,onJa:B}),t[44]=N,t[45]=F,t[46]=B,t[47]=V):V=t[47];let H;return t[48]!==C||t[49]!==w||t[50]!==T||t[51]!==M||t[52]!==V||t[53]!==y?(H=(0,z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-linie py-3.5`,children:[y,C,w,T,M,V]}),t[48]=C,t[49]=w,t[50]=T,t[51]=M,t[52]=V,t[53]=y,t[54]=H):H=t[54],H}function ne(e){let t=(0,L.c)(21),{hirn:n,coder:r}=e,a=f(),o=u();if(a.isError){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,z.jsx)(w,{titel:`Modell-Radar`,id:`radar`,children:(0,z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`})}),t[0]=e):e=t[0],e}let s=a.data,c;t[1]===o?c=t[2]:(c=()=>o.mutate(void 0),t[1]=o,t[2]=c);let l;t[3]!==o.isPending||t[4]!==c?(l=(0,z.jsx)(i,{variant:`info`,size:`sm`,onClick:c,disabled:o.isPending,children:`Jetzt suchen`}),t[3]=o.isPending,t[4]=c,t[5]=l):l=t[5];let d;t[6]===s?d=t[7]:(d=s?.naechster_test?` Nächster Test: ${p(s.naechster_test)}.`:``,t[6]=s,t[7]=d);let m;t[8]===d?m=t[9]:(m=(0,z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche.`,d]}),t[8]=d,t[9]=m);let h;t[10]!==r||t[11]!==s||t[12]!==n?(h=s?s.kandidaten.length===0?(0,z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:s.kandidaten.map(e=>(0,z.jsx)(te,{k:e,test:s.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[10]=r,t[11]=s,t[12]=n,t[13]=h):h=t[13];let g;t[14]===s?g=t[15]:(g=s&&s.tests.length>0&&(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(`h3`,{className:`schild text-xs text-text-3`,children:`Letzte Tests`}),s.tests.slice(0,3).map(re)]}),t[14]=s,t[15]=g);let _;return t[16]!==l||t[17]!==m||t[18]!==h||t[19]!==g?(_=(0,z.jsxs)(w,{titel:`Modell-Radar`,id:`radar`,rechts:l,children:[m,h,g]}),t[16]=l,t[17]=m,t[18]=h,t[19]=g,t[20]=_):_=t[20],_}function re(e){return(0,z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,z.jsx)(`span`,{className:`ziffern text-text-3`,children:p(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ie(){let e=(0,L.c)(55),t=d(),n=E(),[r,a]=(0,R.useState)(!1);if(t.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsx)(C,{text:`Modelle werden gelesen …`}),e[0]=t):t=e[0],t}if(t.error||!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[1]===n?r=e[2]:(r=(0,z.jsx)(C,{fehler:!0,text:n}),e[1]=n,e[2]=r),r}let o=t.data.models,s=t.data.running,c,l,u,f,m,h,g,_;if(e[3]!==s||e[4]!==o||e[5]!==n.data){let t=o.find(oe),r=o.find(ae),d=o.filter(e=>e!==t&&e!==r),v;e[14]===n.data?.zuletzt_geladen?v=e[15]:(v=n.data?.zuletzt_geladen??{},e[14]=n.data?.zuletzt_geladen,e[15]=v);let y=v;e[16]!==s||e[17]!==o?(h=(0,z.jsx)(H,{modelle:o,laufend:s}),e[16]=s,e[17]=o,e[18]=h):h=e[18];let b=(0,z.jsx)(G,{titel:`Hirn`,modell:t,laeuft:!!t&&s.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),x=!!r&&s.includes(r.name),S;e[19]!==r||e[20]!==x?(S=(0,z.jsx)(G,{titel:`Coder`,modell:r,laeuft:x,nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),e[19]=r,e[20]=x,e[21]=S):S=e[21];let C;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,z.jsx)(G,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[22]=C):C=e[22],e[23]!==S||e[24]!==b?(g=(0,z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[b,S,C]}),e[23]=S,e[24]=b,e[25]=g):g=e[25];let E;e[26]===n.data?E=e[27]:(E=(0,z.jsx)(K,{nutzung:n.data}),e[26]=n.data,e[27]=E);let D=t?.name,O=r?.name,k;e[28]!==D||e[29]!==O?(k=(0,z.jsx)(ne,{hirn:D,coder:O}),e[28]=D,e[29]=O,e[30]=k):k=e[30],e[31]!==E||e[32]!==k?(_=(0,z.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.3fr)]`,children:[E,k]}),e[31]=E,e[32]=k,e[33]=_):_=e[33],c=w,f=`Weitere Einträge`,e[34]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,z.jsxs)(i,{variant:`outline`,size:`sm`,onClick:()=>a(!0),children:[(0,z.jsx)(I,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[34]=m):m=e[34],l=`m-0 flex list-none flex-col p-0`;let A;e[35]!==s||e[36]!==y?(A=e=>(0,z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-linie py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:T(e.size_bytes)}),(0,z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:s.includes(e.name)?`geladen`:y[e.name]?`zuletzt ${p(y[e.name])}`:`länger nicht geladen`})]},e.name),e[35]=s,e[36]=y,e[37]=A):A=e[37],u=d.map(A),e[3]=s,e[4]=o,e[5]=n.data,e[6]=c,e[7]=l,e[8]=u,e[9]=f,e[10]=m,e[11]=h,e[12]=g,e[13]=_}else c=e[6],l=e[7],u=e[8],f=e[9],m=e[10],h=e[11],g=e[12],_=e[13];let v;e[38]!==l||e[39]!==u?(v=(0,z.jsx)(`ul`,{className:l,children:u}),e[38]=l,e[39]=u,e[40]=v):v=e[40];let y;e[41]!==c||e[42]!==f||e[43]!==m||e[44]!==v?(y=(0,z.jsx)(c,{titel:f,rechts:m,children:v}),e[41]=c,e[42]=f,e[43]=m,e[44]=v,e[45]=y):y=e[45];let b;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>a(!1),e[46]=b):b=e[46];let x;e[47]===r?x=e[48]:(x=(0,z.jsx)(B,{offen:r,onSchliessen:b}),e[47]=r,e[48]=x);let S;return e[49]!==x||e[50]!==h||e[51]!==g||e[52]!==_||e[53]!==y?(S=(0,z.jsxs)(z.Fragment,{children:[h,g,_,y,x]}),e[49]=x,e[50]=h,e[51]=g,e[52]=_,e[53]=y,e[54]=S):S=e[54],S}function ae(e){return g(e)===`coder`}function oe(e){return g(e)===`hirn`}export{ie as ModelleSeite}; |