docker-client-mx 1.39.0 → 1.41.0

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.
Files changed (94) hide show
  1. package/dist/docker-desktop-mx/browser/chunk--cESao082.js +6 -0
  2. package/dist/docker-desktop-mx/browser/{chunk-DieHqkfe.js → chunk-3ILJfWKv.js} +1 -1
  3. package/dist/docker-desktop-mx/browser/chunk-6D7_x-nR.js +1 -0
  4. package/dist/docker-desktop-mx/browser/chunk-B4eF6Vif2.js +1 -0
  5. package/dist/docker-desktop-mx/browser/chunk-B8Y30jEA.js +1 -0
  6. package/dist/docker-desktop-mx/browser/{chunk-CG34bAfY.js → chunk-BFURpTzq.js} +1 -1
  7. package/dist/docker-desktop-mx/browser/chunk-BGRmfw3c.js +1 -0
  8. package/dist/docker-desktop-mx/browser/{chunk-BgPEkm-o.js → chunk-BSE5rhLU.js} +1 -1
  9. package/dist/docker-desktop-mx/browser/chunk-BV3brnpk.js +1 -0
  10. package/dist/docker-desktop-mx/browser/chunk-BX2-Fi-r.js +1 -0
  11. package/dist/docker-desktop-mx/browser/chunk-B_tQwhwm.js +1 -0
  12. package/dist/docker-desktop-mx/browser/chunk-BjgRfCzM2.js +3 -0
  13. package/dist/docker-desktop-mx/browser/chunk-Bz7JmGk-.js +1 -0
  14. package/dist/docker-desktop-mx/browser/chunk-C3aJtPX1.js +1 -0
  15. package/dist/docker-desktop-mx/browser/chunk-CKpDvmRb.js +1 -0
  16. package/dist/docker-desktop-mx/browser/{chunk-Dw1WSpzf.js → chunk-CMjDdCPI.js} +1 -1
  17. package/dist/docker-desktop-mx/browser/{chunk-BxCMq76L.js → chunk-CRyY-2KM.js} +1 -1
  18. package/dist/docker-desktop-mx/browser/chunk-CTthjUi7.js +1 -0
  19. package/dist/docker-desktop-mx/browser/{chunk-CGtoxp5M.js → chunk-Cg-fuusV.js} +1 -1
  20. package/dist/docker-desktop-mx/browser/{chunk-BpGvpxhZ.js → chunk-CkcnVcC4.js} +1 -1
  21. package/dist/docker-desktop-mx/browser/{chunk-BWEbjl8i.js → chunk-Ckdb4U3d.js} +1 -1
  22. package/dist/docker-desktop-mx/browser/{chunk-D1Z6IQ-O.js → chunk-CxAIbp2c.js} +1 -1
  23. package/dist/docker-desktop-mx/browser/{chunk-S9IeOMe4.js → chunk-DCF2sSJN.js} +1 -1
  24. package/dist/docker-desktop-mx/browser/chunk-DCp2SePu.js +1 -0
  25. package/dist/docker-desktop-mx/browser/chunk-DEE8TVR7.js +1 -0
  26. package/dist/docker-desktop-mx/browser/{chunk-zFBXm_xf2.js → chunk-DFixEhGx.js} +1 -1
  27. package/dist/docker-desktop-mx/browser/{chunk-nJjV_Xqa.js → chunk-DHIpfbHl.js} +1 -1
  28. package/dist/docker-desktop-mx/browser/{chunk-BuLmfnYb2.js → chunk-DIB1txLC2.js} +1 -1
  29. package/dist/docker-desktop-mx/browser/{chunk-DfetwWmp.js → chunk-DSQAF8Vk.js} +2 -2
  30. package/dist/docker-desktop-mx/browser/chunk-DWmHPcio.js +1 -0
  31. package/dist/docker-desktop-mx/browser/chunk-DhuhbUD7.js +3 -0
  32. package/dist/docker-desktop-mx/browser/{chunk-DzQ3NZEw.js → chunk-DiZLvyn5.js} +1 -1
  33. package/dist/docker-desktop-mx/browser/chunk-JmNJabM7.js +4 -0
  34. package/dist/docker-desktop-mx/browser/chunk-PR65vdNg.js +1 -0
  35. package/dist/docker-desktop-mx/browser/{chunk-CEIzuD8m.js → chunk-ZkkhKXw6.js} +2 -2
  36. package/dist/docker-desktop-mx/browser/{chunk-VLH5Jka4.js → chunk-eMZWdejE.js} +1 -1
  37. package/dist/docker-desktop-mx/browser/{chunk-B-3JRBZY.js → chunk-kvK2KAGk.js} +1 -1
  38. package/dist/docker-desktop-mx/browser/chunk-v1AXLZwF.js +1 -0
  39. package/dist/docker-desktop-mx/browser/chunk-x5sA4n99.js +1 -0
  40. package/dist/docker-desktop-mx/browser/{chunk-Bg_b-Jjw.js → chunk-xhdtv1sC.js} +1 -1
  41. package/dist/docker-desktop-mx/browser/index.html +2 -2
  42. package/dist/docker-desktop-mx/browser/main-2LC7MYJJ.js +1 -0
  43. package/dist/docker-desktop-mx/browser/styles-FKMNLG2K.css +1 -0
  44. package/dist-electron/auto-prune.js +76 -0
  45. package/dist-electron/auto-prune.js.map +1 -0
  46. package/dist-electron/channels.js +11 -0
  47. package/dist-electron/channels.js.map +1 -1
  48. package/dist-electron/compose.js +3 -1
  49. package/dist-electron/compose.js.map +1 -1
  50. package/dist-electron/cpu-limit.js +58 -0
  51. package/dist-electron/cpu-limit.js.map +1 -0
  52. package/dist-electron/environment.js +52 -0
  53. package/dist-electron/environment.js.map +1 -0
  54. package/dist-electron/image-file.js +124 -0
  55. package/dist-electron/image-file.js.map +1 -0
  56. package/dist-electron/ipc.js +34 -0
  57. package/dist-electron/ipc.js.map +1 -1
  58. package/dist-electron/main.js +34 -0
  59. package/dist-electron/main.js.map +1 -1
  60. package/dist-electron/preload.js +23 -2
  61. package/dist-electron/preload.js.map +1 -1
  62. package/dist-electron/redact.js +9 -0
  63. package/dist-electron/redact.js.map +1 -1
  64. package/dist-electron/service-build.js +85 -0
  65. package/dist-electron/service-build.js.map +1 -0
  66. package/dist-electron/settings.js +22 -0
  67. package/dist-electron/settings.js.map +1 -1
  68. package/dist-electron/volume-backup.js +16 -3
  69. package/dist-electron/volume-backup.js.map +1 -1
  70. package/dist-electron/volume-copy.js +145 -0
  71. package/dist-electron/volume-copy.js.map +1 -0
  72. package/package.json +1 -1
  73. package/dist/docker-desktop-mx/browser/chunk-0lzDD7VN.js +0 -1
  74. package/dist/docker-desktop-mx/browser/chunk-AYiAyx6i.js +0 -1
  75. package/dist/docker-desktop-mx/browser/chunk-BhIIfV1H.js +0 -1
  76. package/dist/docker-desktop-mx/browser/chunk-Bo6U-hOl.js +0 -1
  77. package/dist/docker-desktop-mx/browser/chunk-BoHvB94t.js +0 -1
  78. package/dist/docker-desktop-mx/browser/chunk-C5DLS5H5.js +0 -1
  79. package/dist/docker-desktop-mx/browser/chunk-CAMD3gZz.js +0 -3
  80. package/dist/docker-desktop-mx/browser/chunk-CFdB_rJ_.js +0 -6
  81. package/dist/docker-desktop-mx/browser/chunk-CW5lS8he.js +0 -1
  82. package/dist/docker-desktop-mx/browser/chunk-C_5f0tVq.js +0 -4
  83. package/dist/docker-desktop-mx/browser/chunk-C_ouaGQt.js +0 -1
  84. package/dist/docker-desktop-mx/browser/chunk-CpkVTYEc.js +0 -1
  85. package/dist/docker-desktop-mx/browser/chunk-Cz39jf9o.js +0 -1
  86. package/dist/docker-desktop-mx/browser/chunk-D2Fy6Fo8.js +0 -1
  87. package/dist/docker-desktop-mx/browser/chunk-DDNJaJAt2.js +0 -2
  88. package/dist/docker-desktop-mx/browser/chunk-Dh_teJNw.js +0 -1
  89. package/dist/docker-desktop-mx/browser/chunk-DnACbmqU.js +0 -1
  90. package/dist/docker-desktop-mx/browser/chunk-DtDLpTQP.js +0 -1
  91. package/dist/docker-desktop-mx/browser/chunk-PF0v2lXq.js +0 -1
  92. package/dist/docker-desktop-mx/browser/chunk-cblD6gvc.js +0 -1
  93. package/dist/docker-desktop-mx/browser/main-ER3MV5C2.js +0 -1
  94. package/dist/docker-desktop-mx/browser/styles-PTUPDI7O.css +0 -1
@@ -0,0 +1 @@
1
+ import{$n as sk,$t as bg,Bn as ok,Cn as ik,Cr as zE,Ct as Tg,D as HE,Dn as kc,En as kE,F as Jm,Fn as nS,Ft as Wr,G as Nc,Gn as pj,Gt as _m,Hn as ow,J as Ny,Kn as qr,L as Kr,Nn as mg,Nt as W,Pn as mj,Pt as Wm,Q as Oi$1,Qn as sg,Rt as X,St as Tc,Tn as jc,U as My,Vt as Zd,Wn as pg,Xn as rf,Xt as bS,Yt as bD,Z as Od,Zn as rg,_t as Sc,br as yS,bt as TE,cn as f,cr as ve,dr as vr,et as Ot,fn as fk,fr as wD,gn as gj,gr as wt,gt as SS,hn as gg,ht as SE,it as Pr,jn as lk,l as C,ln as fS,lr as vg,lt as RE,mr as wc,nt as PI,on as eH,or as vS,ot as Qi$1,qt as ag,r as Ac,rn as dk,s as Br,sn as ec,w as Gm,x as G,xn as hg,z as Ld,zt as Xm}from"./chunk-JmNJabM7.js";import{n as y,t as f$1}from"./chunk-Ckdb4U3d.js";import{n as y$1,t as o}from"./chunk-BV3brnpk.js";import{n as u,t as f$2}from"./chunk-xhdtv1sC.js";import{n as y$2,t as c}from"./chunk-DHIpfbHl.js";import{n as y$3,t as w}from"./chunk-BX2-Fi-r.js";import{i as u$1,n as d,r as m,t as a}from"./chunk-CRyY-2KM.js";import"./chunk-Bz7JmGk-.js";import{n as he,t as W$1}from"./chunk-ZkkhKXw6.js";import{i as h,n as N,r as d$1}from"./chunk-DiZLvyn5.js";import{n as h$1,t as P}from"./chunk-B8Y30jEA.js";import{n as w$1,t as B}from"./chunk-B_tQwhwm.js";import{n as y$4,t as f$3}from"./chunk-C3aJtPX1.js";import{n as o$1,t as i}from"./chunk-CxAIbp2c.js";import{n as p,t as M}from"./chunk-eMZWdejE.js";import"./chunk-DCF2sSJN.js";import"./chunk-BFURpTzq.js";import{_ as pn$1,a as Ni$1,c as Ri$1,d as dn$1,f as fn$1,g as ln$1,h as ki$1,i as Mi$1,m as ie,n as Ii$1,o as Oi$2,p as ho,r as Je$1,s as Pi$1,t as Ai$1,u as cn$1}from"./chunk-6D7_x-nR.js";import{n as v,t as u$2}from"./chunk-BGRmfw3c.js";import{n as x,t as u$3}from"./chunk-CMjDdCPI.js";import{a as Yt,c as na$1,i as Qr,l as qn,n as Ks,o as ao,r as Q,s as fe,t as Gs,u as ra$1}from"./chunk-v1AXLZwF.js";function Wn(i){let t=ok().dashboard.pruneResult,e=[],n=[],a=0;for(let{kind:g,result:f}of i)f.ok?f.removed>0&&(e.push(t.removed[g](f.removed)),a+=f.reclaimedBytes):n.push(`${t.kinds[g]}: ${f.problem}`);let r=e.length>1?`${e.slice(0,-1).join(`, `)} ${t.and} ${e[e.length-1]}`:e[0];return{notice:r===void 0?n.length===0?ok().common.nothingToPrune:null:t.notice(r,d$1(a)),problem:n.length===0?null:t.problem(n.join(`; `))}}var Ce;var pt=f(()=>{Kr();h();lk();sk();f$2();Kr();Ce=class i{toast=C(u);usage=wt(null);busy=wt(!1);failure=wt(null);pruning=wt(!1);diskUsage=this.usage.asReadonly();loading=this.busy.asReadonly();problem=this.failure.asReadonly();pruneBusy=this.pruning.asReadonly();largestBytes=Ot(()=>Math.max(1,...(this.usage()?.entries??[]).map(t=>t.sizeBytes)));constructor(){C(ve).onDestroy(window.electron.events.subscribe(t=>{(t.includes(`image`)||t.includes(`volume`))&&this.refresh()}))}async refresh(){this.busy.set(!0);try{this.usage.set(await window.electron.system.diskUsage()),this.failure.set(null)}catch(t){this.failure.set(eH(t))}finally{this.busy.set(!1)}}async prune(t){this.pruning.set(!0);try{let e=Wn(await window.electron.system.prune(t));e.notice!==null&&this.toast.success(e.notice),e.problem!==null&&this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}finally{this.pruning.set(!1)}await this.refresh()}static ɵfac=function(e){return new(e||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});function Fe(i,t){let e=t.t-Oe,n=[...i,t].filter(a=>a.t>=e);return n.length>rn?n.slice(n.length-rn):n}var Oe;var rn;var je;var mt=f(()=>{Kr();Kr();Oe=18e4,rn=240,je=class i{cpuPoints=wt([]);memoryPoints=wt([]);rxPoints=wt([]);txPoints=wt([]);cpu=this.cpuPoints.asReadonly();memory=this.memoryPoints.asReadonly();received=this.rxPoints.asReadonly();sent=this.txPoints.asReadonly();constructor(){C(ve).onDestroy(window.electron.containers.onStats(t=>{let e=0,n=0,a=0,r=0;for(let g of t)e+=g.cpuPercent,n+=g.memoryBytes,a+=g.rxBytesPerSec,r+=g.txBytesPerSec;let p=Date.now();this.cpuPoints.update(g=>Fe(g,{t:p,value:e})),this.memoryPoints.update(g=>Fe(g,{t:p,value:n})),this.rxPoints.update(g=>Fe(g,{t:p,value:a})),this.txPoints.update(g=>Fe(g,{t:p,value:r}))}))}static ɵfac=function(e){return new(e||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});function Gn(i,t){if(i&1&&(qr(0,`li`,7),Qi$1(1,`span`,8),fS(2),Wr()),i&2){let e=t.$implicit;ec(),nS(e.classes.swatch),ec(),Ac(` `,e.series.label,` `)}}function Kn(i,t){if(i&1&&(qr(0,`ul`,1),kc(1,Gn,3,3,`li`,7,sn),Wr()),i&2){HE();let e=bS(0);ec(),Tc(e.lines)}}function Qn(i,t){if(i&1&&(vr(),Qi$1(0,`line`,3)),i&2){let e=t.$implicit,n=HE();Br(`x1`,0)(`x2`,n.w)(`y1`,e)(`y2`,e)}}function Xn(i,t){if(i&1&&(vr(),Qi$1(0,`path`)),i&2){let e=HE().$implicit,n=HE().$implicit;nS(n.classes.area),Br(`d`,e.area)}}function Zn(i,t){if(i&1&&(SE(0,Xn,1,3,`:svg:path`,9),vr(),Qi$1(1,`path`,10)),i&2){let e=t.$implicit,n=HE().$implicit;HE();kE(bS(0).lines.length===1?0:-1),ec(),nS(n.classes.stroke),Br(`d`,e.line)}}function Yn(i,t){if(i&1&&kc(0,Zn,2,4,null,null,TE),i&2){let e=t.$implicit;Tc(e.segments)}}function Jn(i,t){if(i&1&&(vr(),Qi$1(0,`circle`,13)),i&2){let e=t.$implicit;nS(e.line.classes.fill+` stroke-panel`),Br(`cx`,e.at.x)(`cy`,e.at.y)}}function ei(i,t){if(i&1&&(vr(),Qi$1(0,`line`,11),kc(1,Jn,1,4,`:svg:circle`,12,ln)),i&2){let e=t,n=HE();Br(`x1`,e.x)(`x2`,e.x)(`y1`,0)(`y2`,n.h),ec(),Tc(e.spots)}}function ti(i,t){if(i&1&&(Qi$1(0,`span`,16),qr(1,`span`,17),fS(2),Wr()),i&2){let e=HE().$implicit;nS(e.line.classes.swatch),ec(2),pg(e.line.series.label)}}function ni(i,t){if(i&1&&(qr(0,`div`,7),SE(1,ti,3,3),qr(2,`span`,6),fS(3),Wr()()),i&2){let e=t.$implicit,n=HE(),a=HE();ec(),kE(n.spots.length>1?1:-1),ec(2),pg(a.format()(e.at.point.value))}}function ii(i,t){if(i&1&&(qr(0,`div`,14),kc(1,ni,4,2,`div`,7,ln),qr(3,`div`,15),fS(4),Wr()()),i&2){let e=t,n=HE();sg(`left`,e.x/n.w*100,`%`),ec(),Tc(e.spots),ec(3),pg(n.clockOf(e.t))}}function si(i){if(i<=0)return 1;let t=10**Math.floor(Math.log10(i)),e=i/t;return e<=1?t:e<=2?2*t:e<=5?5*t:10*t}function li(i){let t=[],e=[];function n(){if(e.length===0)return;let a=e.map(g=>`${g.x.toFixed(1)},${g.y.toFixed(1)}`).join(` L`),r=e[0],p=e[e.length-1];t.push({line:`M${a}`,area:`M${r.x.toFixed(1)},${String(ce)} L${a} L${p.x.toFixed(1)},${String(ce)} Z`}),e=[]}for(let[a,r]of i.entries())a>0&&r.point.t-i[a-1].point.t>ai&&n(),e.push(r);return n(),t}var sn;var ln;var He;var ce;var ai;var oi;var ri;var qe;var dn=f(()=>{Kr();mt();sk();Kr();sn=(i,t)=>t.series.key,ln=(i,t)=>t.line.series.key;He=600,ce=120,ai=5e3,oi={accent:{stroke:`stroke-accent`,fill:`fill-accent`,area:`fill-accent/15`,swatch:`bg-accent`},"series-1":{stroke:`stroke-series-1`,fill:`fill-series-1`,area:`fill-series-1/15`,swatch:`bg-series-1`},"series-2":{stroke:`stroke-series-2`,fill:`fill-series-2`,area:`fill-series-2/15`,swatch:`bg-series-2`}},ri=15e3,qe=class i{points=jc([]);series=jc(null);format=jc.required();label=jc.required();floor=jc(1);w=He;h=ce;viewBox=`0 0 ${String(He)} ${String(ce)}`;gridlines=[0,ce/2,ce];hovered=wt(null);t=Ot(()=>ok().shell.usageChart);allSeries=Ot(()=>this.series()??[{key:`main`,label:this.label(),points:this.points(),color:`accent`}]);plot=Ot(()=>this.build());marker=Ot(()=>{let t=this.hovered();if(t===null)return null;let e=this.plot().lines.filter(n=>n.plotted.length>0).map(n=>({line:n,at:n.plotted.reduce((a,r)=>Math.abs(r.x-t)<Math.abs(a.x-t)?r:a)}));return e.length===0?null:{x:e[0].at.x,t:e[0].at.point.t,spots:e}});summary=Ot(()=>{let t=this.format(),e=this.t(),n=this.allSeries().filter(r=>r.points.length>0).map(r=>{let p=r.points.map(g=>g.value);return{label:r.label,values:e.values(t(p[p.length-1]),t(Math.max(...p)),t(Math.min(...p)))}});if(n.length===0)return e.noData(this.label());let a=this.series()===null?n[0].values:n.map(r=>`${r.label}: ${r.values}`).join(`; `);return e.summary(this.label(),this.ageOf(this.plot().spanMs),a)});onMove(t){let e=t.currentTarget.getBoundingClientRect();e.width!==0&&this.hovered.set((t.clientX-e.left)/e.width*He)}ageOf(t){return t<6e4?`${String(Math.round(t/1e3))} s`:`${String(Math.round(t/6e4))} min`}clockOf(t){return new Date(t).toLocaleTimeString(ik(),{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}build(){let t=this.allSeries(),e=t.flatMap(D=>D.points.map(s=>s.t));if(e.length===0)return{lines:[],yMax:this.floor(),spanMs:Oe};let n=Math.max(...e),a=Math.max(ri,Math.min(Oe,n-Math.min(...e))),r=n-a,p=t.flatMap(D=>D.points.map(s=>s.value)),g=si(Math.max(this.floor(),...p));return{lines:t.map(D=>{let s=D.points.filter(C=>C.t>=r).map(C=>({point:C,x:(C.t-r)/a*He,y:ce-C.value/g*ce}));return{series:D,classes:oi[D.color],segments:li(s),plotted:s}}),yMax:g,spanMs:a}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-usage-chart`]],inputs:{points:[1,`points`],series:[1,`series`],format:[1,`format`],label:[1,`label`],floor:[1,`floor`]},decls:17,vars:9,consts:[[1,`relative`,`m-0`],[`data-testid`,`chart-legend`,1,`mb-1.5`,`flex`,`flex-wrap`,`gap-x-4`,`gap-y-1`,`text-[11px]`,`text-ink-400`],[`preserveAspectRatio`,`none`,`role`,`img`,1,`h-28`,`w-full`,3,`pointermove`,`pointerleave`],[`stroke-width`,`1`,`vector-effect`,`non-scaling-stroke`,1,`stroke-ink-700`],[1,`pointer-events-none`,`absolute`,`-top-1`,`z-10`,`-translate-x-1/2`,`-translate-y-full`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`px-2`,`py-1`,`text-[11px]`,`whitespace-nowrap`,`text-ink-200`,`shadow-2xl`,3,`left`],[1,`mt-1`,`flex`,`items-baseline`,`justify-between`,`text-[11px]`,`text-ink-500`],[1,`tabular-nums`],[1,`flex`,`items-center`,`gap-1.5`],[`aria-hidden`,`true`,1,`h-0.5`,`w-3`,`rounded-full`],[3,`class`],[`fill`,`none`,`stroke-width`,`2`,`stroke-linecap`,`round`,`stroke-linejoin`,`round`,`vector-effect`,`non-scaling-stroke`],[`stroke-width`,`1`,`vector-effect`,`non-scaling-stroke`,1,`stroke-ink-600`],[`r`,`3`,`stroke-width`,`2`,3,`class`],[`r`,`3`,`stroke-width`,`2`],[1,`pointer-events-none`,`absolute`,`-top-1`,`z-10`,`-translate-x-1/2`,`-translate-y-full`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`px-2`,`py-1`,`text-[11px]`,`whitespace-nowrap`,`text-ink-200`,`shadow-2xl`],[1,`text-ink-500`],[`aria-hidden`,`true`,1,`h-0.5`,`w-2.5`,`rounded-full`],[1,`text-ink-400`]],template:function(e,n){if(e&1&&(bg(0),qr(1,`figure`,0),SE(2,Kn,3,0,`ul`,1),vr(),qr(3,`svg`,2),Xm(`pointermove`,function(r){return n.onMove(r)})(`pointerleave`,function(){return n.hovered.set(null)}),kc(4,Qn,1,4,`:svg:line`,3,Sc),kc(6,Yn,2,0,null,null,sn),SE(8,ei,3,4),Wr(),SE(9,ii,5,3,`div`,4),Zd(),qr(10,`figcaption`,5)(11,`span`),fS(12),Wr(),qr(13,`span`,6),fS(14),Wr(),qr(15,`span`),fS(16),Wr()()()),e&2){let a,r,p=yS(n.plot());ec(2),kE(p.lines.length>1?2:-1),ec(),Br(`viewBox`,n.viewBox)(`aria-label`,n.summary()),ec(),Tc(n.gridlines),ec(2),Tc(p.lines),ec(2),kE((a=n.marker())?8:-1,a),ec(),kE((r=n.marker())?9:-1,r),ec(3),pg(n.t().ago(n.ageOf(p.spanMs))),ec(2),pg(n.t().max(n.format()(p.yMax))),ec(2),pg(n.t().now)}},encapsulation:2})}});function ci(i,t){if(i&1){let e=RE();Oi$1(0,`li`)(1,`label`,14)(2,`input`,15),Jm(`change`,function(a){let r=Ld(e).$implicit;return Od(HE(2).toggle(r.choice,a.target.checked))}),Nc(),Oi$1(3,`span`,16),fS(4),Oi$1(5,`span`,17),fS(6),Nc()(),Oi$1(7,`span`,18),fS(8),Nc()()()}if(i&2){let e=t.$implicit;ag(`pl-6`,e.choice===`allImages`),ec(),ag(`text-ink-100`,!e.disabled)(`text-ink-500`,e.disabled),ec(),Wm(`checked`,e.checked)(`disabled`,e.disabled),Br(`data-choice`,e.choice),ec(2),Ac(` `,e.label,` `),ec(2),pg(e.hint),ec(2),pg(e.count)}}function pi(i,t){if(i&1){let e=RE();Gm(0,`div`,2),Oi$1(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Oi$1(5,`p`,6),fS(6),Nc(),Oi$1(7,`ul`,7),kc(8,ci,9,12,`li`,8,di),Nc(),Oi$1(10,`div`,9)(11,`button`,10),Gm(12,`app-icon`,11),fS(13),Nc(),Oi$1(14,`button`,12),Jm(`click`,function(){Ld(e);return Od(HE().accept())}),Gm(15,`app-icon`,13),fS(16),Nc()()()()}if(i&2){let e=HE();ec(4),pg(e.t().title),ec(2),Ac(` `,e.t().description,` `),ec(2),Tc(e.rows()),ec(4),Wm(`size`,14),ec(),Ac(` `,e.cancel(),` `),ec(),Wm(`disabled`,e.nothingSelected()),ec(),Wm(`size`,14),ec(),Ac(` `,e.t().confirm,` `)}}var di;var cn;var We;var pn=f(()=>{Kr();ho();sk();dk();Kr();di=(i,t)=>t.choice;cn={containers:!0,networks:!0,volumes:!1,images:!0,allImages:!1,buildCache:!0},We=class i{open=mj(!1);counts=jc.required();confirmed=pj();choices=wt(W({},cn));t=Ot(()=>ok().dashboard.pruneDialog);cancel=Ot(()=>ok().common.cancel);rows=Ot(()=>{let t=this.counts(),e=this.choices(),n=this.t(),a=(r,p,g,f,D=f===0)=>({choice:r,label:p,hint:g,count:f,disabled:D,checked:e[r]&&!D});return[a(`containers`,n.containers,n.containersHint,t.containers),a(`networks`,n.networks,n.networksHint,t.networks),a(`images`,n.images,n.imagesHint,t.danglingImages),a(`allImages`,n.allImages,n.allImagesHint,t.unusedImages,t.unusedImages===0||!e.images),a(`buildCache`,n.buildCache,n.buildCacheHint,t.buildCache),a(`volumes`,n.volumes,n.volumesHint,t.volumes)]});nothingSelected=Ot(()=>this.rows().every(t=>!t.checked));constructor(){rf(()=>{this.open()&&this.choices.set(W({},cn))})}toggle(t,e){this.choices.update(n=>G(W({},n),{[t]:e}))}accept(){let t=new Set(this.rows().filter(e=>e.checked).map(e=>e.choice));this.open.set(!1),this.confirmed.emit({containers:t.has(`containers`),networks:t.has(`networks`),volumes:t.has(`volumes`),images:t.has(`images`)||t.has(`allImages`),allImages:t.has(`allImages`),buildCache:t.has(`buildCache`)})}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-prune-dialog`]],inputs:{open:[1,`open`],counts:[1,`counts`]},outputs:{open:`openChange`,confirmed:`confirmed`},decls:2,vars:1,consts:[[`rdxAlertDialogRoot`,``,3,`openChange`,`open`],[`rdxAlertDialogPortal`,``],[`rdxAlertDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxAlertDialogViewport`,``,`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxAlertDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxAlertDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxAlertDialogDescription`,``,1,`mt-1.5`,`text-[13px]`,`text-ink-300`],[1,`mt-4`,`space-y-2.5`,`text-[13px]`],[3,`pl-6`],[1,`mt-5`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxAlertDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`border-danger`,`bg-danger`,`text-white`,`hover:border-danger`,`hover:bg-danger`,`hover:text-white`,`disabled:opacity-50`,3,`click`,`disabled`],[`name`,`broom`,3,`size`],[1,`flex`,`items-baseline`,`gap-2`],[`type`,`checkbox`,1,`mx-focus`,`accent-accent`,3,`change`,`checked`,`disabled`],[1,`min-w-0`,`flex-1`],[1,`block`,`text-[11px]`,`text-ink-500`],[1,`tabular-nums`,`text-ink-400`]],template:function(e,n){e&1&&(Oi$1(0,`div`,0),vg(`openChange`,function(r){return vS(n.open,r)||(n.open=r),r}),_m(1,pi,17,7,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[Ni$1,Ai$1,Oi$2,ki$1,Ii$1,Pi$1,Mi$1,Ri$1,My],encapsulation:2})}});function fi(i,t){if(i&1&&(Oi$1(0,`span`,3),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.t().engine.connecting)}}function hi(i,t){if(i&1&&(Oi$1(0,`span`,3),fS(1),Nc()),i&2){let e=t;ec(),mg(`Docker `,e.version,` · API `,e.apiVersion)}}function xi(i,t){if(i&1&&(Oi$1(0,`span`,3),fS(1),Nc()),i&2){let e=t,n=HE(2);ec(),gg(``,e.name,` · `,e.cpus,` CPU · `,n.sizeOf(e.memoryBytes))}}function _i(i,t){i&1&&(Oi$1(0,`span`,36),fS(1),Nc()),i&2&&(ec(),pg(t))}function bi(i,t){if(i&1&&(Oi$1(0,`p`,39),fS(1),Oi$1(2,`code`,40),fS(3,`instanceIdleTimeout=-1`),Nc(),fS(4),Oi$1(5,`code`,40),fS(6,`[general]`),Nc(),fS(7),Oi$1(8,`code`,40),fS(9,`%UserProfile%\\.wslconfig`),Nc(),fS(10),Nc()),i&2){let e=HE(),n=HE(2);ec(),Ac(` `,n.t().engine.idleHint.intro(e),` `),ec(3),Ac(` `,n.t().engine.idleHint.under,` `),ec(3),Ac(` `,n.t().engine.idleHint.in,` `),ec(3),Ac(` `,n.t().engine.idleHint.outro,` `)}}function vi(i,t){if(i&1){let e=RE();Oi$1(0,`button`,37),Jm(`click`,function(){let a=Ld(e);return Od(HE(2).startWsl(a))}),Gm(1,`app-icon`,38),fS(2),Nc(),SE(3,bi,11,4,`p`,39)}if(i&2){let e=t,n=HE(2);Wm(`disabled`,n.wslStarting()),ec(),Wm(`size`,14),ec(),Ac(` `,n.wslStarting()?n.t().engine.startingDistro(e):n.t().engine.startDistro(e),` `),ec(),kE(n.wslStartedBefore()?3:-1)}}function Ci(i,t){if(i&1){let e=RE();Oi$1(0,`button`,41),Jm(`click`,function(){let a=Ld(e);return Od(HE(2).startWslDaemon(a))}),Gm(1,`app-icon`,38),fS(2),Nc(),Oi$1(3,`p`,42),fS(4),Nc()}if(i&2){let e=t,n=HE(2);Wm(`disabled`,n.wslStarting()),ec(),Wm(`size`,14),ec(),Ac(` `,n.wslStarting()?n.t().engine.startingDaemon(e):n.t().engine.startDaemon(e),` `),ec(2),pg(n.t().engine.daemonHint(e))}}function ki(i,t){if(i&1&&(Oi$1(0,`span`,32),Gm(1,`span`,33),Oi$1(2,`span`,34),fS(3),Nc()(),SE(4,hi,2,2,`span`,3),Oi$1(5,`span`,35),fS(6),Nc(),SE(7,xi,2,3,`span`,3),SE(8,_i,2,1,`span`,36),SE(9,vi,4,4),SE(10,Ci,5,4)),i&2){let e,n,a,r,p,g=HE(),f=bS(3);ec(),ag(`bg-ok`,f.connected)(`bg-danger`,!f.connected),ec(),ag(`text-ink-100`,f.connected)(`text-danger`,!f.connected),ec(),Ac(` `,f.connected?g.t().engine.running:g.t().engine.unreachable,` `),ec(),kE((e=f.version)?4:-1,e),ec(2),pg(f.endpoint),ec(),kE((n=f.info)?7:-1,n),ec(),kE((a=f.problem)?8:-1,a),ec(),kE((r=!f.connected&&f.wslDistro)?9:-1,r),ec(),kE((p=!f.connected&&f.wslDaemonDistro)?10:-1,p)}}function wi(i,t){if(i&1&&(Oi$1(0,`span`,25),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.t().disk.total(e.sizeOf(t.totalBytes)))}}function Si(i,t){if(i&1&&(Oi$1(0,`span`,26),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.t().disk.calculating)}}function Pi(i,t){if(i&1&&(Oi$1(0,`span`,50),fS(1),Nc()),i&2){let e=HE().$implicit,n=HE(2);ec(),pg(n.t().disk.unused(n.unusedOf(e.total,e.active)))}}function Ei(i,t){if(i&1&&(Oi$1(0,`div`,44)(1,`dt`,46),fS(2),Nc(),Oi$1(3,`div`,47),Gm(4,`div`,48),Nc(),Oi$1(5,`dd`,49),fS(6),SE(7,Pi,2,1,`span`,50),Nc()()),i&2){let e=t.$implicit,n=HE(2);ec(2),pg(n.labelOf(e.kind)),ec(2),sg(`min-width`,e.sizeBytes>0?3:0,`px`)(`width`,n.barWidth(e.sizeBytes),`%`),Wm(`title`,n.labelOf(e.kind)+`: `+n.sizeOf(e.sizeBytes)),ec(2),Ac(` `,n.sizeOf(e.sizeBytes),` `),ec(),kE(n.unusedOf(e.total,e.active)>0?7:-1)}}function Di(i,t){if(i&1&&(Oi$1(0,`dl`,43),kc(1,Ei,8,8,`div`,44,gi),Nc(),Oi$1(3,`p`,45),fS(4),Oi$1(5,`code`,40),fS(6,`docker system df`),Nc(),fS(7),Nc()),i&2){let e=HE();ec(),Tc(t.entries),ec(3),Ac(` `,e.t().disk.footnoteBefore,` `),ec(3),Ac(``,e.t().disk.footnoteAfter,` `)}}function Ii(i,t){if(i&1&&(Oi$1(0,`p`,51),Gm(1,`app-icon`,53),fS(2),Nc()),i&2){let e=HE(2);ec(),Wm(`size`,13),ec(),Ac(` `,e.t().attention.none,` `)}}function Ti(i,t){if(i&1&&(Oi$1(0,`li`,54),Gm(1,`app-icon`,56),Oi$1(2,`a`,57),fS(3),Nc(),Oi$1(4,`span`),fS(5),Nc(),Oi$1(6,`span`,58),fS(7),Nc()()),i&2){let e=HE().$implicit,n=HE(3);ec(),ag(`text-danger`,n.failed(e.container))(`text-ink-500`,!n.failed(e.container)),Wm(`name`,n.failed(e.container)?`warning`:`stop`)(`size`,13),ec(),Wm(`routerLink`,SS(14,un,e.container.id)),ec(),pg(e.container.name),ec(),ag(`text-danger`,n.failed(e.container))(`text-ink-400`,!n.failed(e.container)),ec(),pg(n.exitLabel(e.container)),ec(2),pg(n.t().stopped.created(n.ageOf(e.container.createdAt)))}}function Mi(i,t){if(i&1&&(Oi$1(0,`a`,59),fS(1),Nc()),i&2){HE();let e=bS(0);Wm(`queryParams`,SS(2,mi,e.image)),ec(),pg(e.name)}}function Ni(i,t){if(i&1&&(Oi$1(0,`span`,60),fS(1),Nc()),i&2){HE();let e=bS(0);ec(),pg(e.name)}}function Ai(i,t){if(i&1&&(Oi$1(0,`a`,57),fS(1),Nc()),i&2){HE();let e=bS(0);Wm(`routerLink`,SS(2,un,e.id)),ec(),pg(e.name)}}function $i(i,t){if(i&1&&(Oi$1(0,`a`,62),fS(1),Nc()),i&2){HE();let e=bS(0),n=HE(4);Wm(`queryParams`,SS(3,ui,e.name)),Br(`data-testid`,`attention-update-`+e.name),ec(),pg(n.t().attention.updateProject)}}function Ri(i,t){if(i&1&&(Oi$1(0,`a`,63),fS(1),Nc()),i&2){HE();let e=bS(0),n=HE(4);Br(`data-testid`,`attention-drift-`+e.name),ec(),pg(n.t().attention.toCompose)}}function Bi(i,t){if(i&1&&(bg(0),Oi$1(1,`li`,55),Gm(2,`app-icon`,56),SE(3,Mi,2,4,`a`,59)(4,Ni,2,1,`span`,60)(5,Ai,2,4,`a`,57),Oi$1(6,`span`,61),fS(7),Nc(),SE(8,$i,2,5,`a`,62)(9,Ri,2,2,`a`,63),Nc()),i&2){let e=HE().$implicit,n=HE(3),a=yS(e.item);ec(2),nS(a.kind===`update`||a.kind===`projectUpdate`||a.kind===`projectDrift`?`text-accent`:`text-danger`),Wm(`name`,n.attentionIcon(a))(`size`,13),ec(),kE(a.kind===`update`?3:a.kind===`projectUpdate`||a.kind===`projectDrift`?4:5),ec(4),pg(n.attentionText(a)),ec(),kE(a.kind===`projectUpdate`?8:a.kind===`projectDrift`?9:-1)}}function Vi(i,t){if(i&1&&SE(0,Ti,8,16,`li`,54)(1,Bi,10,8,`li`,55),i&2){let e=t.$implicit;kE(e.type===`stopped`?0:1)}}function Li(i,t){if(i&1&&(Oi$1(0,`ul`,52),kc(1,Vi,2,1,null,null,yi),Nc()),i&2){let e=HE();ec(),Tc(e)}}function zi(i,t){i&1&&SE(0,Ii,3,2,`p`,51)(1,Li,3,0,`ul`,52),i&2&&kE(t.length===0?0:1)}function Ui(i,t){if(i&1&&(Oi$1(0,`p`,30),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.t().attention.loading)}}var un;var mi;var ui;var gi;var yi;var Fi;var mn;var ji;var Ge;var gn=f(()=>{Kr();ra$1();o$1();v();y$1();h();P();f$3();pt();mt();B();sk();dk();x();dn();pn();Kr();un=i=>[`/containers`,i],mi=i=>({zoek:i}),ui=i=>({bijwerken:i}),gi=(i,t)=>t.kind,yi=(i,t)=>t.type===`attention`?t.item.kind+t.item.id:`stopped`+t.container.id;Fi=6,mn=new Set([`update`,`projectUpdate`,`projectDrift`]),ji=/^[0-9a-f]{64}$/,Ge=class i$1{engine=C(o);containers=C(u$2);images=C(h$1);volumes=C(w$1);networks=C(y$4);system=C(Ce);history=C(je);t=Ot(()=>ok().dashboard);status=this.engine.status;wslStarting=this.engine.wslStarting;wslProblem=this.engine.wslProblem;wslStartedBefore=this.engine.wslStartedBefore;diskUsage=this.system.diskUsage;diskLoading=this.system.loading;diskProblem=Ot(()=>this.engine.status()?.connected===!1?null:this.system.problem());pruneBusy=this.system.pruneBusy;pruneOpen=wt(!1);opruimen=jc(void 0);router=C(fe);route=C(Q);cpuHistory=this.history.cpu;memoryHistory=this.history.memory;networkSeries=Ot(()=>[{key:`rx`,label:this.t().usage.received,points:this.history.received(),color:`series-1`},{key:`tx`,label:this.t().usage.sent,points:this.history.sent(),color:`series-2`}]);formatPercent=t=>`${t.toFixed(1)}%`;formatMemory=t=>d$1(t);formatRate=t=>`${d$1(t)}/s`;containerCount=Ot(()=>this.containers.containers().length);runningCount=Ot(()=>this.containers.runningIds().length);imageCount=Ot(()=>new Set(this.images.images().map(t=>t.id)).size);volumeCount=Ot(()=>this.volumes.volumes().length);networkCount=Ot(()=>this.networks.networks().length);totals=Ot(()=>{let t=0,e=0,n=0,a=0;for(let r of this.containers.runningIds()){let p=this.containers.stats().get(r);t+=p?.cpuPercent??0,e+=p?.memoryBytes??0,n+=p?.rxBytesPerSec??0,a+=p?.txBytesPerSec??0}return{cpu:t,memory:e,received:n,sent:a}});pruneCounts=Ot(()=>{let t=this.images.images().filter(n=>n.inUseBy===0),e=this.system.diskUsage()?.entries.find(n=>n.kind===`buildCache`);return{containers:this.containers.containers().filter(n=>n.state===`exited`||n.state===`dead`||n.state===`created`).length,networks:this.networks.networks().filter(n=>!n.builtIn&&n.connected===0).length,volumes:this.volumes.volumes().filter(n=>n.inUseBy===0&&ji.test(n.name)).length,danglingImages:new Set(t.filter(n=>n.dangling).map(n=>n.id)).size,unusedImages:new Set(t.map(n=>n.id)).size,buildCache:e===void 0?0:Math.max(0,e.total-e.active)}});recentlyStopped=Ot(()=>this.containers.containers().filter(t=>t.state===`exited`||t.state===`dead`).slice().sort((t,e)=>e.createdAt-t.createdAt).slice(0,Fi));attention=wt(null);cardRows=Ot(()=>{let t=this.attention();if(t===null)return null;let e=new Set(t.map(r=>r.id)),n=this.recentlyStopped().filter(r=>!e.has(r.id)),a=r=>mn.has(r.kind);return[...t.filter(r=>!a(r)).map(r=>({type:`attention`,item:r})),...n.filter(r=>this.failed(r)).map(r=>({type:`stopped`,container:r})),...t.filter(a).map(r=>({type:`attention`,item:r})),...n.filter(r=>!this.failed(r)).map(r=>({type:`stopped`,container:r}))]});attentionRound=0;constructor(){rf(()=>{this.opruimen()!==void 0&&Tg(()=>{this.pruneOpen.set(!0),i(this.router,this.route,`opruimen`)})}),rf(()=>{this.containers.containers(),Tg(()=>{this.loadAttention()})}),rf(()=>this.containers.watchStats(this.containers.runningIds())),C(ve).onDestroy(()=>this.containers.watchStats([])),this.engine.refresh(),this.loadLists()}async startWsl(t){await this.engine.startWsl(t)&&this.loadLists()}async startWslDaemon(t){await this.engine.startWslDaemon(t)&&this.loadLists()}loadLists(){this.containers.refresh(),this.images.refresh(),this.volumes.refresh(),this.networks.refresh(),this.system.refresh()}prune(t){this.system.prune(t)}labelOf(t){return this.t().disk.labels[t]}sizeOf(t){return d$1(t)}ageOf(t){return N(t)}barWidth(t){return Math.max(0,t/this.system.largestBytes()*100)}unusedOf(t,e){return Math.max(0,t-e)}attentionIcon(t){switch(t.kind){case`network`:return`networks`;case`unhealthy`:return`pulse`;case`restarting`:return`refresh`;case`update`:case`projectUpdate`:return`download`;case`projectDrift`:return`file`;default:return`warning`}}somethingBroken=Ot(()=>(this.cardRows()??[]).some(t=>t.type===`attention`?!mn.has(t.item.kind):this.failed(t.container)));attentionText(t){let e=this.t().attention;switch(t.kind){case`crashLoop`:return e.crashLoop(t.crashes);case`restarting`:return e.restarting;case`unhealthy`:return e.unhealthy;case`network`:return e.network(t.network);case`ports`:return e.ports(t.ports.map(n=>String(n.hostPort??n.containerPort)).join(`, `));case`update`:return e.update(t.image);case`projectUpdate`:return e.projectUpdate(t.images.join(`, `));case`projectDrift`:return e.projectDrift(t.services.join(`, `))}}async loadAttention(){let t=++this.attentionRound;try{let e=await window.electron.containers.attention();t===this.attentionRound&&this.attention.set(e)}catch{t===this.attentionRound&&this.attention.set([])}}exitLabel(t){return t.exitCode===null?t.status:t.exitCode===0?this.t().stopped.clean:this.t().stopped.failed(t.exitCode)}failed(t){return t.exitCode!==null&&t.exitCode!==0}static ɵfac=function(e){return new(e||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-dashboard-page`]],inputs:{opruimen:[1,`opruimen`]},decls:81,vars:49,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-x-8`,`gap-y-3`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`text-ink-400`],[3,`problem`],[1,`mt-4`,`grid`,`gap-3`,`lg:grid-cols-2`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[12px]`,`text-ink-400`],[1,`mt-1`,`text-2xl`,`font-semibold`,`tabular-nums`,`text-ink-100`],[1,`text-base`,`font-normal`,`text-ink-400`],[`data-testid`,`cpu-chart`,1,`mt-2`],[3,`points`,`format`,`label`,`floor`],[`data-testid`,`memory-chart`,1,`mt-2`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`,`lg:col-span-2`],[1,`mt-1`,`flex`,`flex-wrap`,`items-baseline`,`gap-x-6`,`text-2xl`,`font-semibold`,`tabular-nums`,`text-ink-100`],[`data-testid`,`network-received`],[`data-testid`,`network-sent`],[`data-testid`,`network-chart`,1,`mt-2`],[3,`series`,`format`,`label`,`floor`],[1,`mt-1`,`text-[11px]`,`text-ink-500`],[1,`mt-3`,`grid`,`gap-3`,`sm:grid-cols-2`,`lg:grid-cols-3`],[1,`text-[11px]`,`text-ink-500`],[1,`mt-4`,`grid`,`gap-4`,`lg:grid-cols-2`],[1,`flex`,`items-baseline`,`gap-3`],[1,`text-[13px]`,`font-semibold`,`text-ink-100`],[1,`text-[13px]`,`tabular-nums`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`open-prune`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[`name`,`broom`,3,`size`],[`data-testid`,`attention`,1,`rounded-lg`,`border`,`bg-ink-850`,`px-4`,`py-3`],[1,`mt-2`,`text-[13px]`,`text-ink-400`],[3,`openChange`,`confirmed`,`open`,`counts`],[1,`flex`,`items-center`,`gap-2`],[`aria-hidden`,`true`,1,`size-2.5`,`rounded-full`],[1,`text-[14px]`,`font-medium`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[1,`text-[13px]`,`text-danger`],[`type`,`button`,`data-testid`,`start-wsl`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`play`,3,`size`],[`data-testid`,`wsl-idle-hint`,1,`basis-full`,`text-[12px]`,`text-ink-400`],[1,`font-mono`],[`type`,`button`,`data-testid`,`start-wsl-daemon`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`data-testid`,`wsl-daemon-hint`,1,`basis-full`,`text-[12px]`,`text-ink-400`],[1,`mt-3`,`space-y-2.5`],[1,`grid`,`grid-cols-[7.5rem_1fr_auto]`,`items-center`,`gap-3`],[1,`mt-3`,`text-[11px]`,`text-ink-500`],[1,`truncate`,`text-[13px]`,`text-ink-300`],[1,`h-1.5`,`w-full`,`rounded-full`,`bg-ink-800`],[1,`h-full`,`rounded-full`,`bg-accent`,3,`title`],[1,`text-right`,`text-[13px]`,`tabular-nums`,`text-ink-200`],[1,`ml-2`,`text-[11px]`,`text-warn`],[1,`mt-2`,`flex`,`items-center`,`gap-2`,`text-[13px]`,`text-ink-400`],[1,`mt-2`,`space-y-1.5`],[`name`,`check`,1,`text-ok`,3,`size`],[`data-testid`,`attention-stopped`,1,`flex`,`flex-wrap`,`items-center`,`gap-x-3`,`gap-y-1`,`text-[13px]`],[1,`flex`,`flex-wrap`,`items-center`,`gap-x-3`,`gap-y-1`,`text-[13px]`],[3,`name`,`size`],[1,`mx-focus`,`min-w-0`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`],[1,`ml-auto`,`shrink-0`,`text-ink-500`],[`routerLink`,`/images`,1,`mx-focus`,`min-w-0`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`queryParams`],[1,`min-w-0`,`truncate`,`text-ink-100`],[1,`text-ink-400`],[`routerLink`,`/compose`,1,`mx-focus`,`text-accent`,`hover:underline`,3,`queryParams`],[`routerLink`,`/compose`,1,`mx-focus`,`text-accent`,`hover:underline`]],template:function(e,n){if(e&1){let a=RE();Oi$1(0,`section`,0)(1,`h1`,1),fS(2),Nc(),bg(3),Oi$1(4,`div`,2),SE(5,fi,2,1,`span`,3)(6,ki,11,15),Nc(),Gm(7,`app-page-messages`,4),Oi$1(8,`div`,5)(9,`div`,6)(10,`div`,7),fS(11),Nc(),Oi$1(12,`div`,8),fS(13),Oi$1(14,`span`,9),fS(15,`%`),Nc()(),Oi$1(16,`div`,10),Gm(17,`app-usage-chart`,11),Nc()(),Oi$1(18,`div`,6)(19,`div`,7),fS(20),Nc(),Oi$1(21,`div`,8),fS(22),Nc(),Oi$1(23,`div`,12),Gm(24,`app-usage-chart`,11),Nc()(),Oi$1(25,`div`,13)(26,`div`,7),fS(27),Nc(),Oi$1(28,`div`,14)(29,`span`,15)(30,`span`,9),fS(31,`↓`),Nc(),fS(32),Nc(),Oi$1(33,`span`,16)(34,`span`,9),fS(35,`↑`),Nc(),fS(36),Nc()(),Oi$1(37,`div`,17),Gm(38,`app-usage-chart`,18),Nc(),Oi$1(39,`p`,19),fS(40),Nc()()(),Oi$1(41,`div`,20)(42,`div`,6)(43,`div`,7),fS(44),Nc(),Oi$1(45,`div`,8),fS(46),Oi$1(47,`span`,9),fS(48),Nc()(),Oi$1(49,`div`,21),fS(50),Nc()(),Oi$1(51,`div`,6)(52,`div`,7),fS(53),Nc(),Oi$1(54,`div`,8),fS(55),Nc()(),Oi$1(56,`div`,6)(57,`div`,7),fS(58),Nc(),Oi$1(59,`div`,8),fS(60),Oi$1(61,`span`,9),fS(62),Nc()()()(),Oi$1(63,`div`,22)(64,`div`,6)(65,`div`,23)(66,`h2`,24),fS(67),Nc(),SE(68,wi,2,1,`span`,25),SE(69,Si,2,1,`span`,26),Oi$1(70,`button`,27),Jm(`click`,function(){return n.pruneOpen.set(!0)}),Gm(71,`app-icon`,28),fS(72),Nc()(),Gm(73,`app-page-messages`,4),SE(74,Di,8,2),Nc(),Oi$1(75,`div`,29)(76,`h2`,24),fS(77),Nc(),SE(78,zi,2,1)(79,Ui,2,1,`p`,30),Nc()()(),Oi$1(80,`app-prune-dialog`,31),vg(`openChange`,function(p){return Ld(a),vS(n.pruneOpen,p)||(n.pruneOpen=p),Od(p)}),Jm(`confirmed`,function(p){return n.prune(p)}),Nc()}if(e&2){let a,r,p;ec(2),pg(n.t().title),ec();let g=yS(n.status());ec(2),kE(g===null?5:6),ec(2),Wm(`problem`,n.wslProblem()),ec(4),pg(n.t().usage.cpu),ec(2),Ac(` `,n.totals().cpu.toFixed(2)),ec(4),Wm(`points`,n.cpuHistory())(`format`,n.formatPercent)(`label`,n.t().usage.cpu)(`floor`,10),ec(3),pg(n.t().usage.memory),ec(2),pg(n.sizeOf(n.totals().memory)),ec(2),Wm(`points`,n.memoryHistory())(`format`,n.formatMemory)(`label`,n.t().usage.memoryChart)(`floor`,134217728),ec(3),pg(n.t().usage.network),ec(3),Br(`aria-label`,n.t().usage.receivedAria),ec(2),Ac(` `,n.formatRate(n.totals().received),` `),ec(2),Br(`aria-label`,n.t().usage.sentAria),ec(2),Ac(` `,n.formatRate(n.totals().sent),` `),ec(2),Wm(`series`,n.networkSeries())(`format`,n.formatRate)(`label`,n.t().usage.networkChart)(`floor`,10240),ec(2),pg(n.t().usage.hostNote),ec(4),pg(n.t().counts.containers),ec(2),Ac(` `,n.runningCount()),ec(2),Ac(` / `,n.containerCount()),ec(2),pg(n.t().counts.runningOfTotal),ec(3),pg(n.t().counts.images),ec(2),pg(n.imageCount()),ec(3),pg(n.t().counts.volumesNetworks),ec(2),Ac(` `,n.volumeCount()),ec(2),Ac(` · `,n.networkCount()),ec(5),pg(n.t().disk.title),ec(),kE((a=n.diskUsage())?68:-1,a),ec(),kE(n.diskLoading()?69:-1),ec(),Wm(`disabled`,n.pruneBusy()),ec(),Wm(`size`,14),ec(),Ac(` `,n.pruneBusy()?n.t().disk.pruning:n.t().disk.prune,` `),ec(),Wm(`problem`,n.diskProblem()),ec(),kE((r=n.diskUsage())?74:-1,r),ec(),nS(n.somethingBroken()?`border-danger/40`:`border-ink-700`),ec(2),pg(n.t().attention.title),ec(),kE((p=n.cardRows())?78:79,p),ec(2),hg(`open`,n.pruneOpen),Wm(`counts`,n.pruneCounts())}},dependencies:[My,u$3,We,Yt,qe],encapsulation:2})}});var yn;var fn=f(()=>{sk();gn();yn=[{path:``,pathMatch:`full`,redirectTo:`dashboard`},{path:`dashboard`,component:Ge,title:()=>ok().shell.nav.dashboard},{path:`containers`,loadComponent:()=>import(`./chunk-DWmHPcio.js`).then(i=>i.ContainersPage),title:()=>ok().shell.nav.containers},{path:`containers/:id`,loadComponent:()=>import(`./chunk-DhuhbUD7.js`).then(i=>i.ContainerDetail),title:()=>ok().shell.routes.container},{path:`images`,loadComponent:()=>import(`./chunk-PR65vdNg.js`).then(i=>i.ImagesPage),title:()=>ok().shell.nav.images},{path:`volumes`,loadComponent:()=>import(`./chunk-x5sA4n99.js`).then(i=>i.VolumesPage),title:()=>ok().shell.nav.volumes},{path:`networks`,loadComponent:()=>import(`./chunk-DFixEhGx.js`).then(i=>i.NetworksPage),title:()=>ok().shell.nav.networks},{path:`ports`,loadComponent:()=>import(`./chunk-BjgRfCzM2.js`).then(i=>i.PortsPage),title:()=>ok().shell.nav.ports},{path:`compose`,loadComponent:()=>import(`./chunk--cESao082.js`).then(i=>i.ComposePage),title:()=>ok().shell.nav.compose},{path:`logs`,loadComponent:()=>import(`./chunk-kvK2KAGk.js`).then(i=>i.LogsPage),title:()=>ok().shell.nav.logs},{path:`terminal`,loadComponent:()=>import(`./chunk-DIB1txLC2.js`).then(i=>i.TerminalPage),title:()=>ok().shell.nav.terminal},{path:`settings`,loadComponent:()=>import(`./chunk-B4eF6Vif2.js`).then(i=>i.SettingsPage),title:()=>ok().shell.nav.settings},{path:`**`,redirectTo:`dashboard`}]});var hn;var xn=f(()=>{Kr();ra$1();fn();sk();hn={providers:[ow(),PI(()=>C(Ny).load()),Ks(yn,na$1())]}});var ke;var ut=f(()=>{Kr();Kr();ke=class i{open=wt(!1);static ɵfac=function(e){return new(e||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});var Ke;var _n=f(()=>{Kr();u$1();sk();dk();ut();Kr();Ke=class i{theme=C(a);palette=C(ke);t=Ot(()=>ok().shell.header);quit(){window.electron.app.quit()}isDark(){return this.theme.theme()===`dark`}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-header`]],decls:12,vars:10,consts:[[1,`flex`,`h-11`,`items-center`,`gap-3`,`border-b`,`border-ink-700`,`bg-panel`,`px-3`],[1,`text-[13px]`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`text-accent`],[`type`,`button`,`data-testid`,`open-palette`,1,`mx-btn`,`mx-focus`,`ml-auto`,`text-ink-400`,3,`click`,`title`],[`name`,`search`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`title`],[3,`name`,`size`],[`type`,`button`,`data-testid`,`quit-app`,1,`mx-btn`,`mx-focus`,`hover:text-danger`,3,`click`,`title`],[`name`,`power`,3,`size`]],template:function(e,n){e&1&&(Oi$1(0,`header`,0)(1,`span`,1),fS(2,`Docker `),Oi$1(3,`span`,2),fS(4,`Client`),Nc(),fS(5,` MX`),Nc(),Oi$1(6,`button`,3),Jm(`click`,function(){return n.palette.open.set(!0)}),Gm(7,`app-icon`,4),Nc(),Oi$1(8,`button`,5),Jm(`click`,function(){return n.theme.toggle()}),Gm(9,`app-icon`,6),Nc(),Oi$1(10,`button`,7),Jm(`click`,function(){return n.quit()}),Gm(11,`app-icon`,8),Nc()()),e&2&&(ec(6),Wm(`title`,n.t().search),Br(`aria-label`,n.t().search),ec(),Wm(`size`,14),ec(),Wm(`title`,n.isDark()?n.t().lightTheme:n.t().darkTheme),Br(`aria-label`,n.isDark()?n.t().lightTheme:n.t().darkTheme),ec(),Wm(`name`,n.isDark()?`sun`:`moon`)(`size`,15),ec(),Wm(`title`,n.t().quit),Br(`aria-label`,n.t().quit),ec(),Wm(`size`,15))},dependencies:[My],encapsulation:2})}});function yt(i){let{nav:t}=ok().shell,e=ok().shell.palette,n=Oi.map(([s,C])=>({id:`page:${C}`,label:t[s],detail:e.groups.page,group:`page`,target:{kind:`route`,route:C}})),a=i.containers.flatMap(s=>{let C=s.image,O=[...new Set(s.ports.flatMap(j=>j.hostPort===null?[]:[j.hostPort]))].sort((j,it)=>j-it),A={id:`container:${s.id}`,label:s.name,detail:C,keywords:[s.status,s.composeProject??``,...O.map(j=>`:${String(j)}`)].join(` `),group:`container`,target:{kind:`route`,route:`/containers/${s.id}`}},w=j=>({id:`container:${s.id}:${j}`,label:e[j](s.name),detail:C,group:`container`,target:{kind:`container`,id:s.id,action:j},parent:A.id}),$={id:`container:${s.id}:diagnose`,label:e.diagnose(s.name),detail:C,group:`container`,target:{kind:`route`,route:`/containers/${s.id}`,diagnose:!0},parent:A.id},Y=(j,it)=>({id:`container:${s.id}:tab:${j}`,label:it,detail:C,group:`container`,target:{kind:`dialog`,route:`/containers/${s.id}`,param:`tabblad`,value:j},parent:A.id}),H=s.composeProject!==null&&s.composeService!==null&&s.composeWorkingDir!==null,W=[Y(`events`,e.events(s.name)),...s.state===`running`?[Y(`terminal`,e.terminal(s.name))]:[],{id:`container:${s.id}:compose`,label:e.composeService(s.name),detail:C,group:`container`,target:{kind:`dialog`,route:`/containers/${s.id}`,param:`yaml`,value:`1`},parent:A.id},{id:`container:${s.id}:cpu`,label:e.cpu(s.name),detail:C,group:`container`,target:{kind:`dialog`,route:`/containers/${s.id}`,param:`processor`,value:`1`},parent:A.id},{id:`container:${s.id}:memory`,label:e.memory(s.name),detail:C,group:`container`,target:{kind:`dialog`,route:`/containers/${s.id}`,param:`geheugen`,value:`1`},parent:A.id},...H?[{id:`container:${s.id}:recreate`,label:e.recreate(s.name),detail:C,group:`container`,target:{kind:`recreate`,project:s.composeProject??``,service:s.composeService??``},parent:A.id}]:[],{id:`container:${s.id}:copy`,label:e.copyId(s.name),detail:C,group:`container`,target:{kind:`copy`,text:s.id},parent:A.id}];return s.state===`running`?[A,w(`restart`),w(`stop`),$,...W]:[A,w(`start`),$,...W]}),r=i.images.filter(s=>!s.dangling).flatMap(s=>{let C={id:`image:${s.reference}`,label:s.reference,detail:`Image`,keywords:s.inUseBy>0?e.imageInUse(s.inUseBy):e.imageUnused,group:`image`,target:{kind:`route`,route:`/images`,search:s.reference}},O=(A,w,$)=>({id:`image:${s.reference}:${w}`,label:$,detail:`Image`,group:`image`,target:{kind:`dialog`,route:`/images`,param:A,value:s.reference},parent:C.id});return[C,O(`starten`,`run`,e.imageRun(s.reference)),O(`lagen`,`layers`,e.imageLayers(s.reference)),O(`ophalen`,`pull`,e.imagePull(s.reference)),O(`verwijder`,`remove`,e.imageRemove(s.reference))]}),p=i.composeProjects.filter(s=>s.workingDir!==null).flatMap(s=>{let C=`Compose`,O={id:`compose:${s.name}`,label:s.name,detail:C,group:`compose`,target:{kind:`route`,route:`/compose`}},A=O.id;return[O,{id:`compose:${s.name}:up`,label:e.composeUp(s.name),detail:C,group:`compose`,target:{kind:`compose`,project:s.name},parent:A},{id:`compose:${s.name}:update`,label:e.updateProject(s.name),detail:C,group:`compose`,target:{kind:`dialog`,route:`/compose`,param:`bijwerken`,value:s.name},parent:A},{id:`compose:${s.name}:file`,label:e.composeFile(s.name),detail:C,group:`compose`,target:{kind:`dialog`,route:`/compose`,param:`bestand`,value:s.name},parent:A},{id:`compose:${s.name}:down`,label:e.composeDown(s.name),detail:C,group:`compose`,target:{kind:`dialog`,route:`/compose`,param:`afbreken`,value:s.name},parent:A},{id:`compose:${s.name}:logs`,label:e.composeLogs(s.name),detail:C,group:`compose`,target:{kind:`dialog`,route:`/logs`,param:`volg`,value:s.name},parent:A}]}),g=i.volumes.flatMap(s=>{let C=s.composeProject===null?`Volume`:`Volume \xB7 ${s.composeProject}`;return[{id:`volume:${s.name}`,label:s.name,detail:C,group:`volume`,target:{kind:`route`,route:`/volumes`,search:s.name}},{id:`volume:${s.name}:browse`,label:e.volumeBrowse(s.name),detail:C,group:`volume`,target:{kind:`dialog`,route:`/volumes`,param:`inkijk`,value:s.name},secondary:!0,parent:`volume:${s.name}`},{id:`volume:${s.name}:backup`,label:e.volumeBackup(s.name),detail:C,group:`volume`,target:{kind:`dialog`,route:`/volumes`,param:`bewaar`,value:s.name},secondary:!0,parent:`volume:${s.name}`}]}),f=i.networks.flatMap(s=>{let C=e.network(s.driver);return[{id:`network:${s.id}`,label:s.name,detail:C,group:`network`,target:{kind:`route`,route:`/networks`,search:s.name}},{id:`network:${s.id}:members`,label:e.networkMembers(s.name),detail:C,group:`network`,target:{kind:`dialog`,route:`/networks`,param:`leden`,value:s.name},secondary:!0,parent:`network:${s.id}`}]}),D=[{id:`action:prune`,label:e.prune,detail:e.groups.action,group:`action`,target:{kind:`dialog`,route:`/dashboard`,param:`opruimen`,value:`1`}},{id:`action:check-updates`,label:e.checkUpdates,detail:e.groups.action,group:`action`,target:{kind:`dialog`,route:`/images`,param:`controleren`,value:`1`}},{id:`action:theme`,label:e.theme,detail:e.groups.action,group:`action`,target:{kind:`theme`}},...(i.contexts??[]).filter(s=>!s.active).map(s=>({id:`action:context:${s.name}`,label:e.useContext(s.name),detail:`Context`,group:`action`,target:{kind:`context`,name:s.name}}))];return[...n,...a,...p,...r,...g,...f,...D]}function Hi(i,t){let e=t.toLowerCase().split(/\s+/).filter(p=>p!==``),n=i.label.toLowerCase(),a=`${n} ${i.detail.toLowerCase()} ${(i.keywords??``).toLowerCase()}`;if(e.some(p=>!a.includes(p)))return e.length===1&&Cn(n,e[0]??``)!==null?4:null;let r=e[0]??``;return n.startsWith(r)?0:new RegExp(`[\\s_./:-]${r.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}`).test(n)?1:n.includes(r)?2:3}function bn(i,t,e=50){if(t.trim()===``)return i.slice(0,e);let n=i.map(a=>({entry:a,score:Hi(a,t.trim())})).filter(a=>a.score!==null);return n.sort((a,r)=>a.score-r.score||gt.indexOf(a.entry.group)-gt.indexOf(r.entry.group)||+(a.entry.secondary===!0||a.entry.parent!==void 0)-+(r.entry.secondary===!0||r.entry.parent!==void 0)||a.entry.label.localeCompare(r.entry.label)),n.slice(0,e).map(a=>a.entry)}function Cn(i,t){let e=[],n=0;for(let a of t){let r=i.indexOf(a,n);if(r===-1)return null;e.push(r),n=r+1}return e}function qi(i,t){let e=i.toLowerCase(),n=t.toLowerCase().split(/\s+/).filter(r=>r!==``),a=new Set;for(let r of n){let p=e.indexOf(r);if(p!==-1)for(let g=p;g<p+r.length;g++)a.add(g);else n.length===1&&Cn(e,r)?.forEach(g=>a.add(g))}return[...a].sort((r,p)=>r-p)}function Gi(i){if(i.startsWith(`>`))return{scope:`actions`,rest:i.slice(1).trim()};let t=/^([a-z]) (.*)$/s.exec(i),e=t===null?void 0:Wi[t[1]??``];return e===void 0||t===null?{scope:null,rest:i}:{scope:e,rest:t[2]?.trim()??``}}function kn(i,t,e=50){let n=ok().shell.palette,a=new Set(i.flatMap(w=>w.parent===void 0?[]:[w.parent])),r=(w,$,Y)=>({entry:w,header:Y,matches:$===``?[]:qi(w.label,$),hasActions:a.has(w.id)});if(t.parent!==null){let w=i.find(W=>W.id===t.parent),$=i.filter(W=>W.parent===t.parent),Y=w===void 0?$:[w,...$];return(t.query.trim()===``?Y:bn(Y,t.query)).map((W$2,j)=>G(W({},r(W$2,t.query,j===0?w?.label:void 0)),{hasActions:!1}))}let{scope:p,rest:g}=Gi(t.query),f=i.filter(w=>p===null?!0:p===`actions`?w.parent!==void 0||w.group===`action`:w.group===p&&w.parent===void 0);if(g!==``||p!==null){let w=H=>+(H.group!==`action`),$=[...f].sort((H,W)=>w(H)-w(W)||H.label.localeCompare(W.label));return(g===``?$.slice(0,e):bn(f,g,e)).map(H=>r(H,g))}let D=i.filter(w=>w.parent===void 0),s=new Map(i.map(w=>[w.id,w])),C=new Set,O=[],A=(w,$)=>{$.filter(H=>!C.has(H.id)).forEach((H,W)=>{C.add(H.id),O.push(r(H,``,W===0?w:void 0))})};A(n.recent,t.recent.flatMap(w=>s.get(w)??[]).slice(0,10)),A(n.attention,t.attention.flatMap(w=>s.get(`container:${w}`)??[]));for(let w of[...gt.filter($=>$!==`page`),`page`]){let $=D.filter(Y=>Y.group===w);$.length>0&&A(`${n.sections[w]} \xB7 ${String($.length)}`,w===`page`?$:$.slice(0,Ki))}return O}function Qe(i){let t=ok().shell.palette,e=i.filter(a=>a.problem===null),n=i.flatMap(a=>{switch(a.problem){case`unknown`:return[t.problems.unknown(a.name)];case`ambiguous`:return[t.problems.ambiguous(a.name,a.candidates.length)];case`state`:return[t.problems.state(a.container?.name??a.name)];case`notCompose`:return[t.problems.notCompose(a.container?.name??a.name)];default:return[]}});return{id:`command`,label:e.length===0?t.commandNothing:e.map(a=>`${t.verbs[a.verb]} ${a.container?.name??a.name}`).join(` · `),detail:n.length===0?t.commandHint:n.join(` · `),group:`container`,target:{kind:`batch`,steps:i}}}function wn(i,t){let e=new Set(t.types),n=t.nameContains?.toLowerCase()??null,a=t.project?.toLowerCase()??null,r=s=>(t.minSizeMb===null||s!==null&&s>=t.minSizeMb*vn)&&(t.maxSizeMb===null||s!==null&&s<=t.maxSizeMb*vn),p=s=>n===null||s.toLowerCase().includes(n),g=s=>a===null||s?.toLowerCase()===a,f=s=>e.size===0||e.has(s),D=new Set;for(let s of i.containers){let C=s.state===`running`,O=t.state===`any`||t.state===`running`===C;f(`container`)&&O&&p(s.name)&&g(s.composeProject)&&r(i.containerSizes?.[s.id]??null)&&D.add(`container:${s.id}`)}for(let s of i.images)f(`image`)&&!s.dangling&&p(s.reference)&&a===null&&r(s.sizeBytes)&&(!t.unusedOnly||s.inUseBy===0)&&D.add(`image:${s.reference}`);for(let s of i.volumes)f(`volume`)&&p(s.name)&&g(s.composeProject)&&r(s.sizeBytes)&&(!t.unusedOnly||s.inUseBy===0)&&D.add(`volume:${s.name}`);for(let s of i.networks)f(`network`)&&p(s.name)&&a===null&&t.minSizeMb===null&&t.maxSizeMb===null&&D.add(`network:${s.id}`);for(let s of i.composeProjects)f(`compose`)&&p(s.name)&&g(s.name)&&D.add(`compose:${s.name}`);return yt(i).filter(s=>D.has(s.id))}var Oi;var gt;var Wi;var Ki;var vn;var Sn=f(()=>{sk();Oi=[[`dashboard`,`/dashboard`],[`containers`,`/containers`],[`images`,`/images`],[`volumes`,`/volumes`],[`networks`,`/networks`],[`ports`,`/ports`],[`compose`,`/compose`],[`logs`,`/logs`],[`terminal`,`/terminal`],[`settings`,`/settings`]],gt=[`page`,`container`,`compose`,`image`,`volume`,`network`,`action`];Wi={c:`container`,i:`image`,v:`volume`,n:`network`,p:`compose`};Ki=5;vn=1024*1024});function Zi(i,t){switch(i){case`start`:return t.state!==`running`&&t.state!==`paused`;case`stop`:case`restart`:case`pause`:return t.state===`running`;case`unpause`:return t.state===`paused`;case`recreate`:return!0}}function Yi(i,t){let e=i.toLowerCase(),n=t.filter(p=>p.name.toLowerCase()===e),a=t.filter(p=>p.composeService?.toLowerCase()===e),r=t.filter(p=>p.name.toLowerCase().includes(e));for(let p of[n,a,r]){if(p.length===1)return{container:p[0]??null,candidates:[]};if(p.length>1)return{container:null,candidates:p.map(g=>g.name)}}return{container:null,candidates:[]}}function Xe(i,t,e){let{container:n,candidates:a}=Yi(t,e);return{verb:i,name:t,container:n,problem:n===null?a.length>0?`ambiguous`:`unknown`:i===`recreate`&&(n.composeProject===null||n.composeService===null)?`notCompose`:Zi(i,n)?null:`state`,candidates:a}}function Pn(i){let t=i.toLowerCase();for(let[e,n]of Qi)if(t===e||t.startsWith(`${e} `))return{verb:n,rest:i.slice(e.length).trim()};return null}function En(i,t){let e=i.trim(),n=Pn(e);if(n===null)return null;let a=[],r=n.verb;for(let p of e.split(Xi)){let g=Pn(p);g!==null&&(r=g.verb);let f=(g===null?p:g.rest).split(/\s+/).filter(D=>D!==``);for(let D of f)a.push(Xe(r,D,t))}return a.length===0?null:a}var Qi;var Xi;var Dn=f(()=>{Qi=[[`opnieuw opbouwen`,`recreate`],[`neu aufbauen`,`recreate`],[`herbouw`,`recreate`],[`rebuild`,`recreate`],[`recreate`,`recreate`],[`reconstruire`,`recreate`],[`reconstruir`,`recreate`],[`herstarten`,`restart`],[`herstart`,`restart`],[`restart`,`restart`],[`neustarten`,`restart`],[`neu starten`,`restart`],[`redémarrer`,`restart`],[`redemarrer`,`restart`],[`reiniciar`,`restart`],[`stoppen`,`stop`],[`stop`,`stop`],[`stoppe`,`stop`],[`arrêter`,`stop`],[`arreter`,`stop`],[`arrête`,`stop`],[`detener`,`stop`],[`parar`,`stop`],[`starten`,`start`],[`start`,`start`],[`démarrer`,`start`],[`demarrer`,`start`],[`iniciar`,`start`],[`arrancar`,`start`],[`pauzeren`,`pause`],[`pauzeer`,`pause`],[`pause`,`pause`],[`pausieren`,`pause`],[`pausar`,`pause`],[`hervatten`,`unpause`],[`hervat`,`unpause`],[`unpause`,`unpause`],[`resume`,`unpause`],[`fortsetzen`,`unpause`],[`reprendre`,`unpause`],[`reanudar`,`unpause`]].slice().sort((i,t)=>t[0].length-i[0].length),Xi=/\s*(?:[,;]|\s(?:en|and|und|et|y)\s)\s*/i});function ea(i,t){if(i&1){let e=RE();Oi$1(0,`button`,13),Jm(`click`,function(){Ld(e);return Od(HE(2).leave())}),fS(1),Gm(2,`app-icon`,14),Nc()}i&2&&(ec(),Ac(` `,t,` `),ec(),Wm(`size`,12))}function ta(i,t){if(i&1&&(Oi$1(0,`p`,15),fS(1),Nc()),i&2){let e=HE(3);ec(),pg(e.t().thinking)}}function na(i,t){i&1&&(Oi$1(0,`p`,18),fS(1),Nc()),i&2&&(ec(),pg(t))}function ia(i,t){if(i&1&&(Oi$1(0,`p`,17),fS(1),Nc(),SE(2,na,2,1,`p`,18)),i&2){let e,n=HE(),a=HE(2);ec(),pg(a.t().claudeSays(n.summary)),ec(),kE((e=n.note)?2:-1,e)}}function aa(i,t){if(i&1&&(Oi$1(0,`p`,19),fS(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().thinking)}}function oa(i,t){if(i&1&&Gm(0,`app-answer-text`,20),i&2)Wm(`text`,HE(2).text)}function ra(i,t){if(i&1&&(SE(0,aa,2,1,`p`,19)(1,oa,1,1,`app-answer-text`,20),Oi$1(2,`p`,21),fS(3),Nc()),i&2){let e=HE(),n=HE(2);kE(e.text===``?0:1),ec(3),pg(n.t().questionNote)}}function sa(i,t){if(i&1&&(Oi$1(0,`p`,16),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.problem)}}function la(i,t){if(i&1&&(Oi$1(0,`div`,9),SE(1,ta,2,1,`p`,15)(2,ia,3,2)(3,ra,4,2)(4,sa,2,1,`p`,16),Nc()),i&2){let e;ec(),kE((e=t.phase)===`thinking`?1:e===`rows`?2:e===`answer`?3:e===`error`?4:-1)}}function da(i,t){i&1&&(Oi$1(0,`li`,22),fS(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function ca(i,t){if(i&1&&(Oi$1(0,`span`),fS(1),Nc()),i&2){let e=t.$implicit,n=HE(3);nS(e.bold?n.hit:``),ec(),pg(e.text)}}function pa(i,t){if(i&1&&Gm(0,`app-icon`,29),i&2){let e=HE(3);Wm(`size`,12),Br(`aria-label`,e.t().actions)}}function ma(i,t){if(i&1){let e=RE();SE(0,da,2,1,`li`,22),Oi$1(1,`li`,23),Jm(`mousemove`,function(){let a=Ld(e).$index;return Od(HE(2).active.set(a))})(`click`,function(){let a=Ld(e).$implicit;return Od(HE(2).run(a.entry))})(`keydown.enter`,function(){let a=Ld(e).$implicit;return Od(HE(2).run(a.entry))}),Gm(2,`app-icon`,24),Oi$1(3,`span`,25),fS(4),Nc(),Oi$1(5,`span`,26),kc(6,ca,2,3,`span`,27,TE),Nc(),Oi$1(8,`span`,28),fS(9),Nc(),SE(10,pa,1,2,`app-icon`,29),Nc()}if(i&2){let e,n=t.$implicit,a=t.$index,r=HE(2);kE((e=n.header)?0:-1,e),ec(),ag(`bg-ink-800`,a===r.active()),Wm(`id`,r.optionId(n.entry)),Br(`aria-selected`,a===r.active()),ec(),Wm(`name`,r.groupIcon[n.entry.group])(`size`,14),ec(2),pg(r.t().groups[n.entry.group]),ec(2),Tc(r.labelParts(n)),ec(3),pg(n.entry.detail),ec(),kE(n.hasActions?10:-1)}}function ua(i,t){if(i&1&&(Oi$1(0,`li`,11),fS(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().empty)}}function ga(i,t){if(i&1){let e=RE();Oi$1(0,`div`,2)(1,`div`,3)(2,`h2`,4),fS(3),Nc(),Oi$1(4,`p`,5),fS(5),Nc(),Oi$1(6,`div`,6),SE(7,ea,3,2,`button`,7),Oi$1(8,`input`,8),Jm(`input`,function(a){Ld(e);return Od(HE().setQuery(a.target.value))})(`keydown`,function(a){Ld(e);return Od(HE().onKey(a))}),Nc()(),SE(9,la,5,1,`div`,9),Oi$1(10,`ul`,10),kc(11,ma,11,10,null,null,Ji,!1,ua,2,1,`li`,11),Nc(),Oi$1(14,`p`,12),fS(15),Nc()()()}if(i&2){let e,n,a=HE();ec(3),pg(a.t().title),ec(2),pg(a.t().description),ec(2),kE((e=a.parentLabel())?7:-1,e),ec(),Wm(`placeholder`,a.parent()===null?a.t().placeholder:a.t().actions)(`value`,a.query()),Br(`aria-activedescendant`,a.activeId()),ec(),kE((n=a.ai())?9:-1,n),ec(),Br(`aria-label`,a.t().results),ec(),Tc(a.results()),ec(4),pg(a.t().hint)}}function ha(i,t){let e=new Set(t),n=[];for(let[a,r]of[...i].entries()){let p=e.has(a),g=n.at(-1);g?.bold===p?n[n.length-1]={text:g.text+r,bold:p}:n.push({text:r,bold:p})}return n}var Ji;var ya;var fa;var Ze;var In=f(()=>{Kr();ra$1();Je$1();y();y$2();v();w();P();f$3();Sn();Dn();f$2();M();u$1();pt();B();sk();he();dk();Kr();Ji=(i,t)=>t.entry.id;ya={page:`file`,container:`containers`,compose:`compose`,image:`images`,volume:`volumes`,network:`networks`,action:`sliders`},fa=10;Ze=class i{open=mj(!1);router=C(fe);containers=C(u$2);compose=C(c);images=C(h$1);volumes=C(w$1);networks=C(y$4);system=C(Ce);contexts=C(y$3);preferences=C(p);aiAvailable=wt(!1);ai=wt(null);conversation=null;aiRound=0;toast=C(u);theme=C(a);groupIcon=ya;hit=`font-semibold text-accent`;t=Ot(()=>ok().shell.palette);query=wt(``);active=wt(0);parent=wt(null);outerQuery=``;attention=wt([]);recent=Ot(()=>this.preferences.names(`palette.recent.${this.contexts.active()?.name??`default`}`));data=Ot(()=>({containers:this.containers.containers(),composeProjects:f$1(this.containers.containers()),images:this.images.images(),volumes:this.volumes.volumes(),networks:this.networks.networks(),contexts:this.contexts.contexts().filter(t=>t.supported),containerSizes:this.system.diskUsage()?.containerSizes??null}));entries=Ot(()=>yt(this.data()));command=Ot(()=>this.parent()===null?En(this.query(),this.containers.containers()):null);results=Ot(()=>{let t=this.ai();if(t!==null){let p=t.phase===`rows`?t.entries:t.phase===`answer`?t.proposals:[],g=new Set(this.entries().flatMap(f=>f.parent===void 0?[]:[f.parent]));return p.map(f=>({entry:f,matches:[],hasActions:g.has(f.id)}))}let e=this.askRow();if(e!==null&&this.query().startsWith(`?`))return[e];let n=kn(this.entries(),{query:this.query(),parent:this.parent(),recent:[...this.recent()()],attention:this.attention()}),a=this.command(),r=a===null?n:[{entry:Qe(a),matches:[],hasActions:!1},...n];return e===null?r:[...r,e]});askRow=Ot(()=>{let t=this.query().replace(/^\?/,``).trim();return!this.aiAvailable()||this.parent()!==null||t===``||this.query().startsWith(`>`)?null:{entry:{id:`ai`,label:this.t().askClaude(t),detail:this.t().askNote,group:`action`,target:{kind:`ai`,query:t}},matches:[],hasActions:!1}});parentLabel=Ot(()=>{let t=this.parent();return t===null?null:this.entries().find(e=>e.id===t)?.label??null});activeId=Ot(()=>{let t=this.results()[this.active()];return t===void 0?null:this.optionId(t.entry)});constructor(){rf(()=>{this.open()?Tg(()=>{this.query.set(``),this.active.set(0),this.parent.set(null),this.containers.refresh(),this.images.refresh(),this.volumes.refresh(),this.networks.refresh(),this.loadAttention(),window.electron.assistant.status().then(e=>this.aiAvailable.set(e.configured)).catch(()=>this.aiAvailable.set(!1))}):Tg(()=>this.stopAi())});let t=e=>{e.key===`Escape`&&!e.isComposing&&(e.preventDefault(),e.stopImmediatePropagation(),this.open.set(!1))};rf(e=>{this.open()&&(window.addEventListener(`keydown`,t,{capture:!0}),e(()=>window.removeEventListener(`keydown`,t,{capture:!0})))}),C(ve).onDestroy(()=>this.stopAi())}setQuery(t){this.stopAi(),this.query.set(t),this.active.set(0)}labelParts(t){return ha(t.entry.label,t.matches)}onKey(t){let e=this.results().length,n=this.results()[this.active()];if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(t.preventDefault(),e>0){let r=t.key===`ArrowDown`?1:-1;this.active.set((this.active()+r+e)%e),document.getElementById(this.activeId()??``)?.scrollIntoView?.({block:`nearest`})}return}let a=t.target?.selectionStart===this.query().length;if(n?.hasActions===!0&&(t.key===`Tab`||t.key===`ArrowRight`&&a)){t.preventDefault(),this.enter(n.entry.id);return}if(this.parent()!==null&&this.query()===``&&(t.key===`ArrowLeft`||t.key===`Backspace`)){t.preventDefault(),this.leave();return}t.key===`Enter`&&(t.preventDefault(),n!==void 0&&this.run(n.entry))}leave(){this.parent.set(null),this.query.set(this.outerQuery),this.active.set(0)}optionId(t){return`palette-${t.id.replace(/[^a-zA-Z0-9_-]/g,`_`)}`}run(t){let e=t.target;if(e.kind===`batch`){this.runSteps(e.steps);return}if(e.kind===`ai`){this.askClaude(e.query);return}if(this.remember(t.id),this.open.set(!1),e.kind===`container`){this.containers.run(e.action,e.id);return}if(e.kind===`compose`){this.compose.up(e.project);return}if(e.kind===`recreate`){this.compose.recreate(e.project,e.service);return}if(e.kind===`copy`){navigator.clipboard.writeText(e.text).then(()=>this.toast.success(this.t().copied(e.text.slice(0,12)))).catch(()=>{});return}if(e.kind===`theme`){this.theme.toggle();return}if(e.kind===`context`){this.contexts.use(e.name);return}if(e.kind===`dialog`){this.router.navigate([e.route],{queryParams:{[e.param]:e.value}});return}let n=W(W({},e.search===void 0?{}:{zoek:e.search}),e.diagnose===!0?{diagnose:1}:{});this.router.navigate([e.route],{queryParams:n})}async runSteps(t){let e=t.filter(n=>n.problem===null&&n.container!==null);if(e.length!==0){this.open.set(!1);for(let n of e){let a=n.container;a!==null&&(n.verb===`recreate`?await this.compose.recreate(a.composeProject??``,a.composeService??``):await this.containers.run(n.verb,a.id))}this.toast.success(this.t().commandDone(e.length))}}async askClaude(t){this.stopAi();let e=++this.aiRound,n=()=>e===this.aiRound;this.ai.set({phase:`thinking`}),this.active.set(0);let a=await window.electron.paletteAi.interpret(t).catch(()=>null);if(n()){if(a===null||!a.ok){this.ai.set({phase:`error`,problem:a?.problem??this.t().aiNothing});return}if(a.kind===`filter`&&a.filter!==null){let r=a.filter.minSizeMb!==null||a.filter.maxSizeMb!==null,p=a.filter.types.length===0||a.filter.types.includes(`container`);if(r&&p&&(await this.system.refresh(),!n()))return;let g=wn(this.data(),a.filter),f=r&&p&&this.system.diskUsage()===null?`${this.t().noContainerSize} ${this.t().askNote}`:this.t().askNote,D=g.length===0?this.t().aiNothing:this.t().aiMatches(g.length);this.ai.set({phase:`rows`,summary:`${a.summary} \u2014 ${D}`,note:f,entries:g});return}if(a.kind===`command`){let r=await window.electron.paletteAi.plan(t).catch(()=>null);if(!n())return;if(r===null||!r.ok){this.ai.set({phase:`error`,problem:r?.problem??this.t().aiNothing});return}let p=r.steps.map(g=>Xe(g.verb,g.container,this.containers.containers()));this.ai.set({phase:`rows`,summary:r.summary,note:this.t().commandNote,entries:p.length===0?[]:[Qe(p)]});return}await this.askQuestion(t,n)}}async askQuestion(t,e){let n=await window.electron.assistant.start(null);if(!e()){window.electron.assistant.close(n);return}let a=``,r=[],p=f=>{e()&&this.ai.set({phase:`answer`,text:a,done:f,proposals:r})},g=window.electron.assistant.onEvent(n,f=>{if(f.type===`text`)a+=f.text,p(!1);else if(f.type===`proposal`){let D=this.proposalEntry(f.proposal);r=D===null?r:[...r,D],p(!1)}else f.type===`done`?p(!0):f.type===`error`&&e()&&this.ai.set({phase:`error`,problem:f.problem})});this.conversation={id:n,unsubscribe:g},p(!1),await window.electron.assistant.ask(n,t)}proposalEntry(t){if(t.kind===`container`)return G(W({},Qe([Xe(t.action,t.containerName,this.containers.containers())])),{id:`ai:${t.containerName}:${t.action}`,detail:t.reason});return t.kind===`compose`?{id:`ai:${t.project}:up`,label:this.t().composeUp(t.project),detail:t.reason,group:`compose`,target:{kind:`compose`,project:t.project}}:{id:`ai:command:${t.command}`,label:this.t().copyCommand(t.command),detail:t.reason,group:`action`,target:{kind:`copy`,text:t.command}}}stopAi(){this.aiRound+=1,this.conversation!==null&&(this.conversation.unsubscribe(),window.electron.assistant.close(this.conversation.id).catch(()=>{}),this.conversation=null),this.ai.set(null)}enter(t){this.outerQuery=this.query(),this.parent.set(t),this.query.set(``),this.active.set(0)}remember(t){let e=this.recent();e.set(new Set([t,...[...e()].filter(n=>n!==t)].slice(0,fa)))}async loadAttention(){try{let t=await window.electron.containers.attention();this.attention.set(t.filter(e=>e.kind!==`update`).map(e=>e.id))}catch{this.attention.set([])}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-command-palette`]],inputs:{open:[1,`open`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`flex`,`items-start`,`justify-center`,`bg-black/40`,`p-4`,`pt-[12vh]`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-3xl`,`overflow-hidden`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`sr-only`],[`rdxDialogDescription`,``,1,`sr-only`],[1,`flex`,`items-center`,`border-b`,`border-ink-700`],[`type`,`button`,`data-testid`,`palette-parent`,1,`mx-focus`,`ml-3`,`flex`,`shrink-0`,`cursor-pointer`,`items-center`,`gap-1`,`rounded`,`border`,`border-ink-700`,`px-2`,`py-0.5`,`text-[12px]`,`text-ink-300`,`hover:text-ink-100`],[`type`,`text`,`role`,`combobox`,`aria-controls`,`palette-list`,`aria-expanded`,`true`,`aria-autocomplete`,`list`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`palette-input`,1,`w-full`,`bg-transparent`,`px-4`,`py-3`,`text-[14px]`,`text-ink-100`,`outline-none`,`placeholder:text-ink-500`,3,`input`,`keydown`,`placeholder`,`value`],[`role`,`status`,`data-testid`,`palette-ai`,1,`border-b`,`border-ink-700`,`px-4`,`py-2`,`text-[13px]`],[`id`,`palette-list`,`role`,`listbox`,1,`max-h-[50vh]`,`overflow-y-auto`,`py-1`],[1,`px-4`,`py-3`,`text-[13px]`,`text-ink-400`],[`data-testid`,`palette-hint`,1,`border-t`,`border-ink-700`,`px-4`,`py-1.5`,`text-[11px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`palette-parent`,1,`mx-focus`,`ml-3`,`flex`,`shrink-0`,`cursor-pointer`,`items-center`,`gap-1`,`rounded`,`border`,`border-ink-700`,`px-2`,`py-0.5`,`text-[12px]`,`text-ink-300`,`hover:text-ink-100`,3,`click`],[`name`,`chevronRight`,3,`size`],[1,`text-ink-400`],[1,`text-danger`],[1,`text-ink-200`],[1,`mt-0.5`,`text-[11px]`,`text-ink-500`],[`data-testid`,`palette-answer`,1,`text-ink-100`],[`data-testid`,`palette-answer`,1,`max-h-[30vh]`,`overflow-y-auto`,`text-ink-100`,3,`text`],[1,`mt-1`,`text-[11px]`,`text-ink-500`],[`role`,`presentation`,`data-testid`,`palette-header`,1,`px-4`,`pt-2`,`pb-1`,`text-[11px]`,`font-medium`,`tracking-wide`,`text-ink-500`,`uppercase`],[`role`,`option`,`tabindex`,`-1`,1,`flex`,`cursor-pointer`,`items-center`,`gap-3`,`px-4`,`py-1.5`,`text-[13px]`,3,`mousemove`,`click`,`keydown.enter`,`id`],[1,`text-ink-500`,3,`name`,`size`],[1,`sr-only`],[`data-testid`,`palette-label`,1,`min-w-0`,`flex-1`,`truncate`,`text-ink-100`],[3,`class`],[1,`max-w-[45%]`,`shrink-0`,`truncate`,`text-[11px]`,`text-ink-500`],[`name`,`chevronRight`,1,`shrink-0`,`text-ink-600`,3,`size`]],template:function(e,n){e&1&&(Oi$1(0,`div`,0),vg(`openChange`,function(r){return vS(n.open,r)||(n.open=r),r}),_m(1,ga,16,10,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,pn$1,cn$1,fn$1,dn$1,W$1,My],encapsulation:2})}});function _a(i,t){if(i&1&&(Oi$1(0,`a`,1),Gm(1,`app-icon`,2),Oi$1(2,`span`,3),fS(3),Nc()()),i&2){let e=t.$implicit,n=HE();Wm(`routerLink`,e.path),Br(`title`,n.t()[e.label]),ec(),Wm(`name`,e.icon),ec(2),pg(n.t()[e.label])}}var xa;var ba;var Ye;var Tn=f(()=>{Kr();ra$1();dk();sk();Kr();xa=(i,t)=>t.path;ba=[{path:`/dashboard`,label:`dashboard`,icon:`dashboard`},{path:`/containers`,label:`containers`,icon:`containers`},{path:`/images`,label:`images`,icon:`images`},{path:`/volumes`,label:`volumes`,icon:`volumes`},{path:`/networks`,label:`networks`,icon:`networks`},{path:`/ports`,label:`ports`,icon:`ports`},{path:`/compose`,label:`compose`,icon:`compose`},{path:`/logs`,label:`logs`,icon:`lines`},{path:`/terminal`,label:`terminal`,icon:`terminal`},{path:`/settings`,label:`settings`,icon:`sliders`}],Ye=class i{nav=ba;t=Ot(()=>ok().shell.nav);static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-sidebar`]],decls:3,vars:1,consts:[[1,`flex`,`h-full`,`flex-col`,`gap-0.5`,`p-2`],[`routerLinkActive`,`bg-ink-800 text-ink-100`,1,`mx-focus`,`flex`,`items-center`,`gap-2.5`,`rounded-md`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-300`,`transition-colors`,`hover:bg-ink-850`,`hover:text-ink-100`,3,`routerLink`],[3,`name`],[1,`max-sidebar:hidden`,`truncate`]],template:function(e,n){e&1&&(Oi$1(0,`nav`,0),kc(1,_a,4,4,`a`,1,xa),Nc()),e&2&&(Br(`aria-label`,n.t().label),ec(),Tc(n.nav))},dependencies:[Yt,Gs,My],encapsulation:2})}});function ka(i,t){i&1&&(Oi$1(0,`span`,10),fS(1),Nc()),i&2&&(ec(),pg(t))}function wa(i,t){if(i&1){let e=RE();Oi$1(0,`li`)(1,`button`,6),Jm(`click`,function(){let a=Ld(e).$implicit;return Od(HE(3).pick(a.name))})(`keydown`,function(a){Ld(e);return Od(HE(3).onListKey(a))}),Gm(2,`app-icon`,7),Oi$1(3,`span`,8)(4,`span`,9),fS(5),Nc(),SE(6,ka,2,1,`span`,10),Nc()()()}if(i&2){let e,n=t.$implicit,a=HE(3),r=n.name===a.activeName();ec(),ag(`text-ink-100`,r)(`text-ink-300`,!r),Wm(`disabled`,!n.supported)(`title`,n.host),Br(`aria-selected`,r),ec(),ag(`text-accent`,r)(`invisible`,!r),Wm(`size`,12),ec(3),pg(n.name),ec(),kE((e=a.noteOf(n))?6:-1,e)}}function Sa(i,t){if(i&1&&(Oi$1(0,`ul`,4),kc(1,wa,7,14,`li`,null,Ca),Nc()),i&2){let e=HE(2);Br(`aria-label`,e.t().label),ec(),Tc(e.contexts())}}function Pa(i,t){if(i&1&&(Oi$1(0,`span`,5),fS(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().switching)}}function Ea(i,t){if(i&1){let e=RE();Oi$1(0,`div`,1)(1,`button`,2,0),Jm(`click`,function(){Ld(e);return Od(HE().toggle())})(`keydown`,function(a){Ld(e);return Od(HE().onTriggerKey(a))}),fS(3),Gm(4,`app-icon`,3),Nc(),SE(5,Sa,3,1,`ul`,4),Nc(),SE(6,Pa,2,1,`span`,5)}if(i&2){let e=HE();ec(),Wm(`disabled`,e.switching()),Br(`aria-expanded`,e.open())(`aria-label`,e.t().label),ec(2),Ac(` `,e.activeName(),` `),ec(),Wm(`name`,e.open()?`chevronDown`:`chevronUp`)(`size`,12),ec(),kE(e.open()?5:-1),ec(),kE(e.switching()?6:-1)}}var va;var Ca;var Je;var Mn=f(()=>{Kr();w();sk();dk();Kr();va=[`trigger`],Ca=(i,t)=>t.name;Je=class i{store=C(y$3);host=C(Pr);trigger=gj(`trigger`);contexts=this.store.contexts;switching=this.store.switching;open=wt(!1);t=Ot(()=>ok().shell.contextPicker);activeName=Ot(()=>this.store.active()?.name??``);constructor(){this.store.load()}noteOf(t){let e=this.t();return t.supported?t.currentInCli?e.inUseByCli:``:t.reason??e.unsupported}toggle(){this.open.update(t=>!t)}close(){this.open.set(!1),this.trigger()?.nativeElement.focus()}onOutside(t){this.open()&&!this.host.nativeElement.contains(t.target)&&this.open.set(!1)}onTriggerKey(t){t.key!==`ArrowDown`&&t.key!==`ArrowUp`||(t.preventDefault(),this.open.set(!0),setTimeout(()=>this.focusOption(t.key===`ArrowUp`?-1:0)))}onListKey(t){if(t.key===`Escape`){t.preventDefault(),this.close();return}if(t.key!==`ArrowDown`&&t.key!==`ArrowUp`)return;t.preventDefault();let n=this.options().indexOf(document.activeElement),a=t.key===`ArrowDown`?1:-1;this.focusOption(n===-1?0:n+a)}pick(t){this.open.set(!1),this.trigger()?.nativeElement.focus(),t!==this.activeName()&&this.store.use(t)}options(){return[...this.trigger()?.nativeElement.closest(`.relative`)?.querySelectorAll(`[role="option"]:not(:disabled)`)??[]]}focusOption(t){let e=this.options();e.length!==0&&e[(t+e.length)%e.length].focus()}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-context-picker`]],viewQuery:function(e,n){e&1&&rg(n.trigger,va,5),e&2&&zE()},hostAttrs:[1,`flex`,`items-center`,`gap-2`],hostBindings:function(e,n){e&1&&Jm(`pointerdown`,function(r){return n.onOutside(r)},wD)},decls:1,vars:1,consts:[[`trigger`,``],[1,`relative`],[`type`,`button`,`aria-haspopup`,`listbox`,1,`mx-focus`,`flex`,`cursor-pointer`,`items-center`,`gap-1`,`rounded`,`border`,`border-transparent`,`py-0.5`,`pr-1`,`pl-1.5`,`text-[12px]`,`text-ink-400`,`transition-colors`,`hover:border-ink-700`,`hover:text-ink-100`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,3,`click`,`keydown`,`disabled`],[3,`name`,`size`],[`role`,`listbox`,1,`absolute`,`right-0`,`bottom-full`,`z-50`,`mb-1.5`,`max-h-64`,`w-64`,`overflow-y-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`py-1`,`shadow-2xl`],[1,`text-[12px]`,`text-ink-500`],[`type`,`button`,`role`,`option`,1,`mx-focus`,`flex`,`w-full`,`cursor-pointer`,`items-start`,`gap-2`,`px-2.5`,`py-1.5`,`text-left`,`text-[12px]`,`transition-colors`,`hover:bg-ink-850`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`disabled:hover:bg-transparent`,3,`click`,`keydown`,`disabled`,`title`],[`name`,`check`,1,`mt-0.5`,`shrink-0`,3,`size`],[1,`min-w-0`,`flex-1`],[1,`block`,`truncate`],[1,`block`,`truncate`,`text-[11px]`,`text-ink-500`]],template:function(e,n){e&1&&SE(0,Ea,7,8),e&2&&kE(n.contexts().length>1?0:-1)},dependencies:[My],encapsulation:2})}});function Da(i,t){if(i&1&&(Oi$1(0,`span`),fS(1),Nc()),i&2){let e=HE();ec(),pg(e.t().connecting)}}function Ia(i,t){i&1&&(Oi$1(0,`span`,3),fS(1),Nc()),i&2&&(ec(),pg(t))}function Ta(i,t){if(i&1&&(Oi$1(0,`span`,8),fS(1,`|`),Nc(),Oi$1(2,`span`),fS(3),Nc(),Oi$1(4,`span`),fS(5),Nc(),Oi$1(6,`span`),fS(7),Nc()),i&2){let e=t,n=HE(3);ec(3),pg(n.t().containers(e.containersRunning,e.containers)),ec(2),pg(n.t().images(e.images)),ec(2),mg(``,e.cpus,` CPU · `,n.memory())}}function Ma(i,t){if(i&1&&SE(0,Ta,8,4),i&2){let e;HE(2);kE((e=bS(1).info)?0:-1,e)}}function Na(i,t){if(i&1&&(Oi$1(0,`span`,3),fS(1),Nc()),i&2){HE(2);let e=bS(1);ec(),pg(e.problem)}}function Aa(i,t){if(i&1&&(Oi$1(0,`span`),fS(1),Nc()),i&2){let e=t;ec(),mg(`Docker `,e.version,` · API `,e.apiVersion)}}function $a(i,t){if(i&1){let e=RE();Oi$1(0,`span`,1),Gm(1,`span`,2),fS(2),Nc(),SE(3,Ia,2,1,`span`,3),SE(4,Ma,1,1)(5,Na,2,1,`span`,3),Oi$1(6,`span`,4),Gm(7,`app-context-picker`),Oi$1(8,`span`,5),fS(9),Nc(),SE(10,Aa,2,2,`span`),Oi$1(11,`button`,6),Jm(`click`,function(){Ld(e);return Od(HE().refresh())}),Gm(12,`app-icon`,7),Nc()()}if(i&2){let e,n,a=HE(),r=bS(1);ag(`text-danger`,!r.connected),ec(),ag(`bg-ok`,r.connected)(`bg-danger`,!r.connected),ec(),Ac(` `,r.connected?a.t().engineRunning:a.t().engineUnreachable,` `),ec(),kE((e=a.contextProblem())?3:-1,e),ec(),kE(r.connected?4:r.problem?5:-1),ec(5),pg(r.endpoint),ec(),kE((n=r.version)?10:-1,n),ec(),Wm(`disabled`,a.loading())(`title`,a.t().reconnect),Br(`aria-label`,a.t().reconnect),ec(),Wm(`size`,14)}}var et;var Nn=f(()=>{Kr();w();y$1();h();sk();Mn();dk();Kr();et=class i{engine=C(o);contexts=C(y$3);status=this.engine.status;loading=this.engine.loading;contextProblem=this.contexts.problem;t=Ot(()=>ok().shell.statusBar);memory=Ot(()=>{let t=this.engine.status()?.info;return t===void 0?``:d$1(t.memoryBytes)});refresh(){this.engine.refresh()}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-status-bar`]],decls:4,vars:2,consts:[[`role`,`status`,1,`flex`,`h-7`,`items-center`,`gap-3`,`border-t`,`border-ink-700`,`bg-panel`,`px-3`,`text-[12px]`,`text-ink-400`],[1,`flex`,`items-center`,`gap-1.5`],[`aria-hidden`,`true`,1,`size-2`,`rounded-full`],[1,`truncate`,`text-danger`],[1,`ml-auto`,`flex`,`items-center`,`gap-3`],[1,`text-ink-500`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded`,`p-0.5`,`text-ink-400`,`transition-colors`,`hover:text-ink-100`,3,`click`,`disabled`,`title`],[`name`,`refresh`,3,`size`],[`aria-hidden`,`true`,1,`text-ink-600`]],template:function(e,n){if(e&1&&(Oi$1(0,`div`,0),bg(1),SE(2,Da,2,1,`span`)(3,$a,13,15),Nc()),e&2){ec();let a=yS(n.status());ec(),kE(a===null?2:3)}},dependencies:[My,Je],encapsulation:2})}});function Ra(i,t){i&1&&(Oi$1(0,`p`,3),fS(1),Nc()),i&2&&(ec(),pg(t))}function La(i,t){if(i&1){let e=RE();Oi$1(0,`li`,3)(1,`app-toast-item`,4),Jm(`closed`,function(){let a=Ld(e).$implicit;return Od(HE().service.close(a.id))}),Nc()()}if(i&2){let e=t.$implicit,n=HE();ec(),Wm(`toast`,e)(`paused`,n.hovered()||n.focused()||!n.windowActive())}}var Ba;var Va;var ft;var tt;var An=f(()=>{Kr();sk();dk();f$2();Kr();Ba=[`region`],Va=(i,t)=>t.id;ft=class i{toast=jc.required();paused=jc(!1);closed=pj();t=Ot(()=>ok().shell.toast);remaining=null;startedAt=0;timer=null;constructor(){rf(()=>{let{timeout:t,closing:e}=this.toast();this.stop(),!(t===0||e||this.paused())&&(this.remaining??=t,this.startedAt=Date.now(),this.timer=setTimeout(()=>this.closed.emit(),this.remaining))}),C(ve).onDestroy(()=>this.stop())}stop(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null,this.remaining=Math.max(0,(this.remaining??0)-(Date.now()-this.startedAt)))}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-toast-item`]],hostAttrs:[`aria-atomic`,`true`,`tabindex`,`0`,1,`mx-focus`,`pointer-events-auto`,`flex`,`items-start`,`gap-2.5`,`rounded-lg`,`border`,`bg-ink-850`,`px-3`,`py-2.5`,`text-[13px]`,`shadow-lg`,`transition-[opacity,translate]`,`duration-200`,`starting:translate-y-2`,`starting:opacity-0`,`data-[state=closed]:translate-x-4`,`data-[state=closed]:opacity-0`,`data-[type=error]:border-danger/50`,`data-[type=success]:border-ok/50`],hostVars:4,hostBindings:function(e,n){e&1&&Jm(`keydown.escape`,function(){return n.closed.emit()}),e&2&&Br(`role`,n.toast().type===`error`?`alert`:`status`)(`aria-live`,n.toast().type===`error`?`assertive`:`polite`)(`data-type`,n.toast().type)(`data-state`,n.toast().closing?`closed`:`open`)},inputs:{toast:[1,`toast`],paused:[1,`paused`]},outputs:{closed:`closed`},decls:8,vars:10,consts:[[1,`mt-0.5`,`shrink-0`],[3,`name`,`size`],[1,`min-w-0`,`flex-1`],[1,`font-medium`,`text-ink-100`],[`data-testid`,`toast-description`,1,`break-words`,`text-ink-200`],[`type`,`button`,1,`mx-focus`,`-mr-1`,`shrink-0`,`rounded`,`p-0.5`,`text-ink-500`,`hover:text-ink-100`,3,`click`],[`name`,`close`,3,`size`]],template:function(e,n){if(e&1&&(Oi$1(0,`span`,0),Gm(1,`app-icon`,1),Nc(),Oi$1(2,`div`,2),SE(3,Ra,2,1,`p`,3),Oi$1(4,`p`,4),fS(5),Nc()(),Oi$1(6,`button`,5),Jm(`click`,function(){return n.closed.emit()}),Gm(7,`app-icon`,6),Nc()),e&2){let a;ag(`text-ok`,n.toast().type===`success`)(`text-danger`,n.toast().type===`error`),ec(),Wm(`name`,n.toast().type===`error`?`close`:`check`)(`size`,14),ec(2),kE((a=n.toast().title)?3:-1,a),ec(2),pg(n.toast().description),ec(),Br(`aria-label`,n.t().close),ec(),Wm(`size`,13)}},dependencies:[My],encapsulation:2})},tt=class i{service=C(u);hovered=wt(!1);focused=wt(!1);windowActive=wt(!0);t=Ot(()=>ok().shell.toast);region=gj.required(`region`);focus(){(this.region().nativeElement.querySelector(`app-toast-item`)??this.region().nativeElement).focus()}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-toast-viewport`]],viewQuery:function(e,n){e&1&&rg(n.region,Ba,5),e&2&&zE()},hostBindings:function(e,n){e&1&&Jm(`keydown.f8`,function(){return n.focus()},wD)(`blur`,function(){return n.windowActive.set(!1)},bD)(`focus`,function(){return n.windowActive.set(!0)},bD)},decls:5,vars:1,consts:[[`region`,``],[`tabindex`,`-1`,1,`pointer-events-none`,`fixed`,`right-4`,`bottom-10`,`z-50`,`w-[22rem]`,`max-w-[calc(100vw-2rem)]`,`outline-none`,3,`mouseenter`,`mouseleave`,`focusin`,`focusout`],[1,`flex`,`flex-col`,`gap-2`],[1,`contents`],[3,`closed`,`toast`,`paused`]],template:function(e,n){e&1&&(Oi$1(0,`section`,1,0),Jm(`mouseenter`,function(){return n.hovered.set(!0)})(`mouseleave`,function(){return n.hovered.set(!1)})(`focusin`,function(){return n.focused.set(!0)})(`focusout`,function(){return n.focused.set(!1)}),Oi$1(2,`ol`,2),kc(3,La,2,2,`li`,3,Va),Nc()()),e&2&&(Br(`aria-label`,n.t().region),ec(3),Tc(n.service.toasts()))},dependencies:[ft],encapsulation:2})}});var nt;var $n=f(()=>{Kr();ra$1();y$1();ut();_n();In();Tn();Nn();An();Kr();nt=class i{engine=C(o);router=C(fe);palette=C(ke);constructor(){this.engine.refresh(),C(ve).onDestroy(window.electron.navigation.onNavigate(t=>{this.router.navigateByUrl(t)})),C(ve).onDestroy(window.electron.navigation.onOpenPalette(()=>this.palette.open.set(!0))),window.electron.navigation.takePending().then(t=>{t===`#palet`?this.palette.open.set(!0):t!==null&&this.router.navigateByUrl(t)})}onKey(t){t.key.toLowerCase()!==`k`||!(t.ctrlKey||t.metaKey)||t.altKey||t.shiftKey||t.target instanceof Element&&t.target.closest(`.xterm`)!==null||(t.preventDefault(),this.palette.open.set(!0))}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-root`]],hostAttrs:[1,`block`,`h-full`],hostBindings:function(e,n){e&1&&Jm(`keydown`,function(r){return n.onKey(r)},wD)},decls:10,vars:1,consts:[[1,`flex`,`h-full`,`flex-col`,`bg-ink-900`],[1,`flex`,`min-h-0`,`flex-1`],[1,`max-sidebar:w-13`,`w-52`,`shrink-0`,`border-r`,`border-ink-700`,`bg-panel`],[1,`min-w-0`,`flex-1`,`overflow-y-auto`],[3,`openChange`,`open`]],template:function(e,n){e&1&&(Oi$1(0,`div`,0),Gm(1,`app-header`),Oi$1(2,`div`,1)(3,`aside`,2),Gm(4,`app-sidebar`),Nc(),Oi$1(5,`main`,3),Gm(6,`router-outlet`),Nc()(),Gm(7,`app-status-bar`),Nc(),Oi$1(8,`app-command-palette`,4),vg(`openChange`,function(r){return vS(n.palette.open,r)||(n.palette.open=r),r}),Nc(),Gm(9,`app-toast-viewport`)),e&2&&(ec(8),hg(`open`,n.palette.open))},dependencies:[qn,Ke,Ye,et,Ze,tt],encapsulation:2})}});var za=fk(()=>{Qr();xn();$n();u$1();m(d());ao(nt,hn).catch(i=>console.error(i))});var main_2LC7MYJJ_default=za();export{main_2LC7MYJJ_default as default};
@@ -0,0 +1 @@
1
+ .xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-xs: 20rem;--container-md: 28rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-6xl: 72rem;--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--tracking-tight: -.025em;--tracking-wide: .025em;--leading-snug: 1.375;--leading-relaxed: 1.625;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono);--color-ink-950: #ffffff;--color-ink-900: #fbf9f6;--color-ink-850: #f3efe9;--color-ink-800: #e8e2da;--color-ink-750: #d5dae4;--color-ink-700: #c3cad8;--color-ink-600: #9aa4b6;--color-ink-500: #78839a;--color-ink-400: #5a6579;--color-ink-300: #414a5c;--color-ink-200: #2b3341;--color-ink-100: #161b23;--color-accent: #c2552f;--color-ok: #2f7d55;--color-warn: #8a6212;--color-danger: #c0392f;--color-halt: #f59e0b;--color-stopped: #9b2c2c;--color-series-1: #2a78d6;--color-series-2: #d95926;--color-panel: #fffdfa;--breakpoint-sidebar: 900px}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:0}.right-1{right:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.container{width:100%}@media(width>=900px){.container{max-width:900px}}@media(width>=40rem){.container{max-width:40rem}}@media(width>=48rem){.container{max-width:48rem}}@media(width>=64rem){.container{max-width:64rem}}@media(width>=80rem){.container{max-width:80rem}}@media(width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.m-4{margin:calc(var(--spacing) * 4)}.my-1{margin-block:var(--spacing)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-28{height:calc(var(--spacing) * 28)}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[30vh\]{max-height:30vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-96{width:calc(var(--spacing) * 96)}.w-\[22rem\]{width:22rem}.w-\[84px\]{width:84px}.w-\[110px\]{width:110px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[45\%\]{max-width:45%}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[3px\]{--tw-translate-x: 3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y: -100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[7\.5rem_1fr_auto\]{grid-template-columns:7.5rem 1fr auto}.grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(0\,1fr\)_7rem_2rem\]{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 7rem 2rem}.grid-cols-\[minmax\(0\,2fr\)_auto_minmax\(0\,3fr\)_2rem\]{grid-template-columns:minmax(0,2fr) auto minmax(0,3fr) 2rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-ink-700>:not(:last-child)){border-color:var(--color-ink-700)}:where(.divide-ink-800>:not(:last-child)){border-color:var(--color-ink-800)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-accent{border-color:var(--color-accent)}.border-danger{border-color:var(--color-danger)}.border-danger\/40{border-color:color-mix(in srgb,#c0392f 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-danger\/40{border-color:color-mix(in oklab,var(--color-danger) 40%,transparent)}}.border-ink-400{border-color:var(--color-ink-400)}.border-ink-700{border-color:var(--color-ink-700)}.border-ink-800{border-color:var(--color-ink-800)}.border-ok\/40{border-color:color-mix(in srgb,#2f7d55 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-ok\/40{border-color:color-mix(in oklab,var(--color-ok) 40%,transparent)}}.border-transparent{border-color:transparent}.border-warn{border-color:var(--color-warn)}.border-warn\/40{border-color:color-mix(in srgb,#8a6212 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.border-warn\/40{border-color:color-mix(in oklab,var(--color-warn) 40%,transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-accent\/5{background-color:color-mix(in srgb,#c2552f 5%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--color-accent) 5%,transparent)}}.bg-black\/40{background-color:color-mix(in srgb,#000 40%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:color-mix(in srgb,#000 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-danger{background-color:var(--color-danger)}.bg-danger\/10{background-color:color-mix(in srgb,#c0392f 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-danger\/10{background-color:color-mix(in oklab,var(--color-danger) 10%,transparent)}}.bg-halt{background-color:var(--color-halt)}.bg-ink-400{background-color:var(--color-ink-400)}.bg-ink-600{background-color:var(--color-ink-600)}.bg-ink-700{background-color:var(--color-ink-700)}.bg-ink-800{background-color:var(--color-ink-800)}.bg-ink-850{background-color:var(--color-ink-850)}.bg-ink-900{background-color:var(--color-ink-900)}.bg-ink-950{background-color:var(--color-ink-950)}.bg-ok{background-color:var(--color-ok)}.bg-ok\/10{background-color:color-mix(in srgb,#2f7d55 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-ok\/10{background-color:color-mix(in oklab,var(--color-ok) 10%,transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-series-1{background-color:var(--color-series-1)}.bg-series-2{background-color:var(--color-series-2)}.bg-stopped{background-color:var(--color-stopped)}.bg-transparent{background-color:transparent}.bg-warn\/10{background-color:color-mix(in srgb,#8a6212 10%,transparent)}@supports (color: color-mix(in lab,red,red)){.bg-warn\/10{background-color:color-mix(in oklab,var(--color-warn) 10%,transparent)}}.fill-accent{fill:var(--color-accent)}.fill-accent\/15{fill:color-mix(in srgb,#c2552f 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.fill-accent\/15{fill:color-mix(in oklab,var(--color-accent) 15%,transparent)}}.fill-series-1{fill:var(--color-series-1)}.fill-series-1\/15{fill:color-mix(in srgb,#2a78d6 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.fill-series-1\/15{fill:color-mix(in oklab,var(--color-series-1) 15%,transparent)}}.fill-series-2{fill:var(--color-series-2)}.fill-series-2\/15{fill:color-mix(in srgb,#d95926 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.fill-series-2\/15{fill:color-mix(in oklab,var(--color-series-2) 15%,transparent)}}.stroke-accent{stroke:var(--color-accent)}.stroke-ink-600{stroke:var(--color-ink-600)}.stroke-ink-700{stroke:var(--color-ink-700)}.stroke-panel{stroke:var(--color-panel)}.stroke-series-1{stroke:var(--color-series-1)}.stroke-series-2{stroke:var(--color-series-2)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-\[12vh\]{padding-top:12vh}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-\[0\.92em\]{font-size:.92em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-\[1\.6\]{--tw-leading: 1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading: 1.7;line-height:1.7}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading: var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-ink-100{color:var(--color-ink-100)}.text-ink-200{color:var(--color-ink-200)}.text-ink-300{color:var(--color-ink-300)}.text-ink-400{color:var(--color-ink-400)}.text-ink-500{color:var(--color-ink-500)}.text-ink-600{color:var(--color-ink-600)}.text-ok{color:var(--color-ok)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0%}.opacity-70{opacity:70%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--color-ok\)_28\%\,transparent\)\]{--tw-shadow: 0 0 0 3px var(--tw-shadow-color, color-mix(in srgb,#2f7d55 28%,transparent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@supports (color: color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--color-ok\)_28\%\,transparent\)\]{--tw-shadow: 0 0 0 3px var(--tw-shadow-color, color-mix(in oklab,var(--color-ok) 28%,transparent))}}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[opacity\,translate\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}.placeholder\:text-ink-500::placeholder{color:var(--color-ink-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}@media(hover:hover){.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-danger:hover{border-color:var(--color-danger)}.hover\:border-ink-500:hover{border-color:var(--color-ink-500)}.hover\:border-ink-700:hover{border-color:var(--color-ink-700)}.hover\:bg-danger:hover{background-color:var(--color-danger)}.hover\:bg-danger\/15:hover{background-color:color-mix(in srgb,#c0392f 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-danger\/15:hover{background-color:color-mix(in oklab,var(--color-danger) 15%,transparent)}}.hover\:bg-ink-750:hover{background-color:var(--color-ink-750)}.hover\:bg-ink-800:hover{background-color:var(--color-ink-800)}.hover\:bg-ink-850:hover{background-color:var(--color-ink-850)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-ink-100:hover{color:var(--color-ink-100)}.hover\:text-ink-200:hover{color:var(--color-ink-200)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:opacity-100:focus{opacity:100%}.focus-visible\:bg-danger\/15:focus-visible{background-color:color-mix(in srgb,#c0392f 15%,transparent)}@supports (color: color-mix(in lab,red,red)){.focus-visible\:bg-danger\/15:focus-visible{background-color:color-mix(in oklab,var(--color-danger) 15%,transparent)}}.focus-visible\:bg-ink-750:focus-visible{background-color:var(--color-ink-750)}.focus-visible\:text-ink-100:focus-visible{color:var(--color-ink-100)}.focus-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:40%}.disabled\:opacity-50:disabled{opacity:50%}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:transparent}}.data-\[active\]\:border-accent[data-active]{border-color:var(--color-accent)}.data-\[active\]\:text-ink-100[data-active]{color:var(--color-ink-100)}.data-\[checked\]\:translate-x-\[19px\][data-checked]{--tw-translate-x: 19px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[checked\]\:border-accent[data-checked]{border-color:var(--color-accent)}.data-\[checked\]\:bg-accent[data-checked]{background-color:var(--color-accent)}.data-\[checked\]\:bg-white[data-checked]{background-color:var(--color-white)}.data-\[state\=closed\]\:translate-x-4[data-state=closed]{--tw-translate-x: calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=closed\]\:opacity-0[data-state=closed]{opacity:0%}.data-\[type\=error\]\:border-danger\/50[data-type=error]{border-color:color-mix(in srgb,#c0392f 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.data-\[type\=error\]\:border-danger\/50[data-type=error]{border-color:color-mix(in oklab,var(--color-danger) 50%,transparent)}}.data-\[type\=success\]\:border-ok\/50[data-type=success]{border-color:color-mix(in srgb,#2f7d55 50%,transparent)}@supports (color: color-mix(in lab,red,red)){.data-\[type\=success\]\:border-ok\/50[data-type=success]{border-color:color-mix(in oklab,var(--color-ok) 50%,transparent)}}@media(width<900px){.max-sidebar\:hidden{display:none}.max-sidebar\:w-13{width:calc(var(--spacing) * 13)}}@media(width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width>=64rem){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@starting-style{.starting\:translate-y-2{--tw-translate-y: calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.starting\:opacity-0{opacity:0%}}}:root[data-theme=dark]{--color-ink-950: #08090b;--color-ink-900: #0b0d10;--color-ink-850: #101318;--color-ink-800: #151920;--color-ink-750: #1b2029;--color-ink-700: #232935;--color-ink-600: #323a4a;--color-ink-500: #4b566b;--color-ink-400: #6b7689;--color-ink-300: #97a1b2;--color-ink-200: #c3cad6;--color-ink-100: #e6eaf0;--color-accent: #d97757;--color-accent-soft: #f0a888;--color-ok: #4ea87a;--color-warn: #d9a13f;--color-danger: #d9584f;--color-halt: #fbbf24;--color-stopped: #b83a3a;--color-series-1: #3987e5;--color-series-2: #d95926;--color-panel: #101318}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html,body{height:100%;margin:0;background:var(--color-ink-900);color:var(--color-ink-100);font-family:Verdana,ui-sans-serif,-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:15px;overflow:hidden}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-ink-700);border-radius:6px;border:2px solid var(--color-ink-900)}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-600)}@layer components{.mx-btn{display:inline-flex;flex-shrink:0;cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-ink-700);background-color:var(--color-ink-800);padding-inline:calc(var(--spacing) * 2.5);padding-block:var(--spacing);font-size:13px;--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-ink-200);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration));-webkit-user-select:none;user-select:none}.mx-btn:hover:not(:disabled){border-color:var(--color-ink-600);background-color:var(--color-ink-750);color:var(--color-ink-100)}.mx-btn:disabled{cursor:not-allowed;opacity:40%}.mx-focus:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:var(--color-accent)}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-duration: initial;--tw-outline-style: solid}}}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoPrune = exports.AUTO_PRUNE_SELECTION = exports.WEEK_MS = void 0;
4
+ exports.isDue = isDue;
5
+ exports.reclaimedBytes = reclaimedBytes;
6
+ exports.formatSize = formatSize;
7
+ const i18n_1 = require("./i18n");
8
+ /**
9
+ * Vanzelf opruimen (fase 66): eens per week ongetagde images en build cache die niet in gebruik is.
10
+ *
11
+ * Standaard uit. Dezelfde opruiming als de dialoog op het dashboard (fase 8), met alleen de twee
12
+ * soorten die vanzelf terugkomen. Nooit volumes, nooit gestopte containers, nooit images met een tag:
13
+ * die heeft iemand bewust laten staan.
14
+ *
15
+ * Zonder Electron: de bronnen komen als functies binnen, zodat het met een klok te testen is.
16
+ */
17
+ exports.WEEK_MS = 7 * 24 * 60 * 60 * 1000;
18
+ /** Wat er vanzelf opgeruimd wordt: alleen ongetagd, en de build cache. */
19
+ exports.AUTO_PRUNE_SELECTION = {
20
+ containers: false,
21
+ networks: false,
22
+ volumes: false,
23
+ images: true,
24
+ allImages: false,
25
+ buildCache: true,
26
+ };
27
+ /** Of het weer tijd is: nog nooit, of een week geleden. */
28
+ function isDue(last, now) {
29
+ return last === null || now - last >= exports.WEEK_MS;
30
+ }
31
+ /** Hoeveel het opleverde, over de stappen die lukten. */
32
+ function reclaimedBytes(entries) {
33
+ return entries.reduce((sum, entry) => sum + (entry.result.ok ? entry.result.reclaimedBytes : 0), 0);
34
+ }
35
+ /** Bytes zoals je ze leest, in de taal van de app: `1,2 GB`. */
36
+ function formatSize(bytes) {
37
+ const units = ['B', 'KB', 'MB', 'GB', 'TB'];
38
+ let value = bytes;
39
+ let unit = 0;
40
+ while (value >= 1024 && unit < units.length - 1) {
41
+ value /= 1024;
42
+ unit += 1;
43
+ }
44
+ return `${new Intl.NumberFormat((0, i18n_1.language)(), { maximumFractionDigits: unit === 0 ? 0 : 1 }).format(value)} ${units[unit] ?? 'B'}`;
45
+ }
46
+ class AutoPrune {
47
+ deps;
48
+ running = false;
49
+ constructor(deps) {
50
+ this.deps = deps;
51
+ }
52
+ /** Kijkt of het tijd is, en ruimt dan op. Aan te roepen zo vaak als je wilt. */
53
+ async tick() {
54
+ if (this.running || !this.deps.enabled() || !isDue(this.deps.last(), this.deps.now())) {
55
+ return;
56
+ }
57
+ this.running = true;
58
+ try {
59
+ const entries = await this.deps.prune(exports.AUTO_PRUNE_SELECTION);
60
+ // Ook als er niets was: anders probeert hij het bij elke tik opnieuw.
61
+ this.deps.record(this.deps.now());
62
+ const bytes = reclaimedBytes(entries);
63
+ if (bytes > 0) {
64
+ this.deps.notify(bytes);
65
+ }
66
+ }
67
+ catch {
68
+ // De daemon was er niet; dan de volgende tik opnieuw, zonder iets te onthouden.
69
+ }
70
+ finally {
71
+ this.running = false;
72
+ }
73
+ }
74
+ }
75
+ exports.AutoPrune = AutoPrune;
76
+ //# sourceMappingURL=auto-prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prune.js","sourceRoot":"","sources":["../electron/auto-prune.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,9 @@ exports.CHANNELS = {
21
21
  containersAttention: 'containers:attention',
22
22
  containersMemoryLimit: 'containers:memoryLimit',
23
23
  containersSetMemoryLimit: 'containers:setMemoryLimit',
24
+ containersCpuLimit: 'containers:cpuLimit',
25
+ containersEnvironment: 'containers:environment',
26
+ containersSetCpuLimit: 'containers:setCpuLimit',
24
27
  containersSaveLogs: 'containers:saveLogs',
25
28
  containersRunCommand: 'containers:runCommand',
26
29
  containersRestartPolicy: 'containers:restartPolicy',
@@ -47,6 +50,10 @@ exports.CHANNELS = {
47
50
  imagesCheckUpdates: 'images:checkUpdates',
48
51
  imagesStale: 'images:stale',
49
52
  imagesRenew: 'images:renew',
53
+ imagesSaveToFile: 'images:saveToFile',
54
+ imagesLoadFromFile: 'images:loadFromFile',
55
+ /** Van main naar renderer: hoe ver opslaan of inlezen is. */
56
+ imagesFileProgress: 'images:fileProgress',
50
57
  /** Van main naar renderer, met het stream-id erachter: `images:pullProgress:pull-2`. */
51
58
  imagesPullProgress: 'images:pullProgress',
52
59
  volumesList: 'volumes:list',
@@ -58,6 +65,8 @@ exports.CHANNELS = {
58
65
  volumesCloseBrowser: 'volumes:closeBrowser',
59
66
  volumesBackup: 'volumes:backup',
60
67
  volumesRestore: 'volumes:restore',
68
+ volumesUsers: 'volumes:users',
69
+ volumesCopy: 'volumes:copy',
61
70
  networksList: 'networks:list',
62
71
  networksCreate: 'networks:create',
63
72
  networksRemove: 'networks:remove',
@@ -76,6 +85,8 @@ exports.CHANNELS = {
76
85
  composeStale: 'compose:stale',
77
86
  composeRenew: 'compose:renew',
78
87
  composeDrift: 'compose:drift',
88
+ composeBuildable: 'compose:buildable',
89
+ composeRebuild: 'compose:rebuild',
79
90
  systemDiskUsage: 'system:diskUsage',
80
91
  systemPrune: 'system:prune',
81
92
  contextsList: 'contexts:list',
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../electron/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../electron/channels.ts"],"names":[],"mappings":"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"}
@@ -217,7 +217,9 @@ async function runComposeCapture(location, dockerArgs, label) {
217
217
  return { ok: true, stdout: stripWslNoise(stdout.toString('utf8')) };
218
218
  }
219
219
  catch (err) {
220
- return { ok: false, problem: (0, i18n_1.t)({
220
+ const stdout = err.stdout;
221
+ const output = stripWslNoise(Buffer.isBuffer(stdout) ? (0, wsl_1.decodeWslOutput)(stdout) : (stdout ?? '')).trim();
222
+ return { ...(output === '' ? {} : { output }), ok: false, problem: (0, i18n_1.t)({
221
223
  en: `'docker compose ${label}' failed: ${describeError(err)}`,
222
224
  nl: `'docker compose ${label}' mislukte: ${describeError(err)}`,
223
225
  de: `'docker compose ${label}' ist fehlgeschlagen: ${describeError(err)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../electron/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../electron/compose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIN_CPUS = void 0;
4
+ exports.toCpuLimit = toCpuLimit;
5
+ exports.readCpuLimit = readCpuLimit;
6
+ exports.applyCpuLimit = applyCpuLimit;
7
+ const docker_client_1 = require("./docker-client");
8
+ const i18n_1 = require("./i18n");
9
+ /**
10
+ * De processorgrens van een container (fase 62): lezen, en instellen of aanpassen.
11
+ *
12
+ * Dezelfde vorm als de geheugengrens (fase 46): via `/containers/{id}/update`, zonder dat de
13
+ * container opnieuw hoeft. En hetzelfde gat: `NanoCpus: 0` haalt een grens niet weg, hij blijft
14
+ * staan (nagekeken met `docker update --cpus 0` op Docker 29). De dialoog zegt dat erbij.
15
+ *
16
+ * Docker rekent in miljardsten van een processor: 1,5 CPU is `NanoCpus: 1500000000`.
17
+ */
18
+ const NANO = 1_000_000_000;
19
+ /** Het minimum van Docker; daaronder weigert de daemon. */
20
+ exports.MIN_CPUS = 0.01;
21
+ /** De ingestelde grens in processors uit `HostConfig.NanoCpus`, of `null` als er geen is (dan staat er 0). */
22
+ function toCpuLimit(nanoCpus) {
23
+ return nanoCpus === undefined || nanoCpus <= 0 ? null : nanoCpus / NANO;
24
+ }
25
+ /** De ingestelde grens van deze container, uit inspect. */
26
+ async function readCpuLimit(id) {
27
+ try {
28
+ const raw = (await (0, docker_client_1.getConnection)().docker.getContainer(id).inspect());
29
+ return { ok: true, cpus: toCpuLimit(raw.HostConfig?.NanoCpus) };
30
+ }
31
+ catch (err) {
32
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
33
+ }
34
+ }
35
+ /** Zet de grens, in processors. Werkt ook op een draaiende container. */
36
+ async function applyCpuLimit(id, cpus) {
37
+ if (cpus < exports.MIN_CPUS) {
38
+ return {
39
+ ok: false,
40
+ problem: (0, i18n_1.t)({
41
+ en: 'Docker needs at least 0.01 CPU.',
42
+ nl: 'Docker wil minstens 0,01 CPU.',
43
+ de: 'Docker braucht mindestens 0,01 CPU.',
44
+ fr: 'Docker demande au moins 0,01 CPU.',
45
+ es: 'Docker necesita al menos 0,01 CPU.',
46
+ }),
47
+ };
48
+ }
49
+ try {
50
+ await (0, docker_client_1.getConnection)().docker.getContainer(id).update({ NanoCpus: Math.round(cpus * NANO) });
51
+ return { ok: true };
52
+ }
53
+ catch (err) {
54
+ // Meer dan de daemon heeft, weigert Docker zelf, met het aantal erbij; die melding is goed genoeg.
55
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
56
+ }
57
+ }
58
+ //# sourceMappingURL=cpu-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-limit.js","sourceRoot":"","sources":["../electron/cpu-limit.ts"],"names":[],"mappings":";;;AAoBA,gCAGC;AAGD,oCASC;AAGD,sCAuBC;AA5DD,mDAA+D;AAC/D,iCAA2B;AAE3B;;;;;;;;GAQG;AAEH,MAAM,IAAI,GAAG,aAAa,CAAC;AAE3B,2DAA2D;AAC9C,QAAA,QAAQ,GAAG,IAAI,CAAC;AAE7B,8GAA8G;AAC9G,SAAgB,UAAU,CAAC,QAA4B;IAErD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1E,CAAC;AAED,2DAA2D;AACpD,KAAK,UAAU,YAAY,CAAC,EAAU;IAE3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,IAAA,6BAAa,GAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAsD,CAAC;QAE3H,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAA,6BAAa,EAAC,GAAG,EAAE,IAAA,6BAAa,GAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED,yEAAyE;AAClE,KAAK,UAAU,aAAa,CAAC,EAAU,EAAE,IAAY;IAE1D,IAAI,IAAI,GAAG,gBAAQ,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,IAAA,QAAC,EAAC;gBACT,EAAE,EAAE,iCAAiC;gBACrC,EAAE,EAAE,+BAA+B;gBACnC,EAAE,EAAE,qCAAqC;gBACzC,EAAE,EAAE,mCAAmC;gBACvC,EAAE,EAAE,oCAAoC;aACzC,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAA,6BAAa,GAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,mGAAmG;QACnG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAA,6BAAa,EAAC,GAAG,EAAE,IAAA,6BAAa,GAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACtF,CAAC;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toEnvironment = toEnvironment;
4
+ exports.readEnvironment = readEnvironment;
5
+ const docker_client_1 = require("./docker-client");
6
+ const redact_1 = require("./redact");
7
+ /**
8
+ * De omgevingsvariabelen van een container, voor de tab Omgeving (fase 64).
9
+ *
10
+ * In inspect staan ze als één lijst `NAAM=waarde`, met alles door elkaar: wat de image zet (`PATH`,
11
+ * `NGINX_VERSION`) en wat bij het starten meegegeven is. Hier staat per variabele waar hij vandaan
12
+ * komt, want "zo heb ik hem gestart" is meestal waar je naar zoekt.
13
+ *
14
+ * De waarden gaan naar de renderer, zoals bij het run-commando (fase 24): de tab toont ze pas als je
15
+ * erop klikt. Alleen lezen; een variabele veranderen kan alleen met een nieuwe container.
16
+ */
17
+ function split(entry) {
18
+ const equals = entry.indexOf('=');
19
+ return equals === -1 ? [entry, ''] : [entry.slice(0, equals), entry.slice(equals + 1)];
20
+ }
21
+ /**
22
+ * Per variabele de naam, de waarde, en waar hij vandaan komt: uit de image, meegegeven bij het
23
+ * starten, of meegegeven over een waarde van de image heen. Op naam gesorteerd.
24
+ */
25
+ function toEnvironment(container, image) {
26
+ const fromImage = new Map(image.map(split));
27
+ return container
28
+ .map((entry) => {
29
+ const [name, value] = split(entry);
30
+ const original = fromImage.get(name);
31
+ const source = original === undefined ? 'set' : original === value ? 'image' : 'changed';
32
+ return { name, value, source, secret: (0, redact_1.looksSecret)(name, value) };
33
+ })
34
+ .sort((a, b) => a.name.localeCompare(b.name));
35
+ }
36
+ /** De variabelen van deze container, met de image erbij om te zien wat daar vandaan komt. */
37
+ async function readEnvironment(id) {
38
+ try {
39
+ const { docker } = (0, docker_client_1.getConnection)();
40
+ const container = (await docker.getContainer(id).inspect());
41
+ // Een image die intussen weg is, maakt het verschil onbekend; dan telt alles als meegegeven.
42
+ const image = (await docker
43
+ .getImage(container.Image ?? '')
44
+ .inspect()
45
+ .catch(() => null));
46
+ return { ok: true, variables: toEnvironment(container.Config?.Env ?? [], image?.Config?.Env ?? []) };
47
+ }
48
+ catch (err) {
49
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
50
+ }
51
+ }
52
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../electron/environment.ts"],"names":[],"mappings":";;AA0BA,sCAaC;AAGD,0CAeC;AAxDD,mDAA+D;AAC/D,qCAAuC;AAEvC;;;;;;;;;GASG;AAEH,SAAS,KAAK,CAAC,KAAa;IAE1B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAElC,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,SAA4B,EAAE,KAAwB;IAElF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5C,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,KAAK,EAAuB,EAAE;QAClC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAA,oBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,6FAA6F;AACtF,KAAK,UAAU,eAAe,CAAC,EAAU;IAE9C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,6BAAa,GAAE,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAsE,CAAC;QACjI,6FAA6F;QAC7F,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM;aACxB,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;aAC/B,OAAO,EAAE;aACT,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAkD,CAAC;QAEvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;IACvG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAA,6BAAa,EAAC,GAAG,EAAE,IAAA,6BAAa,GAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACtF,CAAC;AACH,CAAC"}