docker-client-mx 1.42.0 → 1.43.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.
- package/dist/docker-desktop-mx/browser/chunk-75uKIulV.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-B-8njY4y.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-B1xjyPnV.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-DsuW5Ksa2.js → chunk-BE5ctn7s.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-BNz89YmT2.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-CT1ZUgmS.js → chunk-BYBsnx9-2.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-BpQVP_gf.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-CSrKHPxR.js → chunk-BsTDUJ3m.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-Ba_z6LGV.js → chunk-Bxte2YBm.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-CWusqRG0.js → chunk-C7c_wFw-.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-CUSsr_nJ.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-wa_VZZFY.js → chunk-CaR7Z77S2.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-Cau4mGeC.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-D0xC_xVf.js → chunk-CjAbzLl3.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-C22Z7vgK.js → chunk-CjySsWe4.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-CpIMiI_l.js +4 -0
- package/dist/docker-desktop-mx/browser/chunk-CpNGhf9S.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-V7ftX_10.js → chunk-CphQt55R.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-DvoPI4MU.js → chunk-Cpz4zP5G.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-Zom3ankA.js → chunk-Cx-uRg2m.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-CI9I9Npi.js → chunk-D2SM5E9h.js} +2 -2
- package/dist/docker-desktop-mx/browser/{chunk-DZjRtM2K.js → chunk-D5njuWRz.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-DLeqF0uQ.js → chunk-D86K3m6W.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-DCYTwazU.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DGnxa3ti2.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-3VyqMz_T.js → chunk-DLpC_2HL.js} +2 -2
- package/dist/docker-desktop-mx/browser/{chunk-Zcfhi-RM.js → chunk-DNfiG-TG.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-DS3iAefP.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DdTfHpyK.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-Cbit44lz.js → chunk-DnY7-enP.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-CRNeTD5E.js → chunk-Q3Ig-PJ6.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-KUYJNmP22.js → chunk-VC5gaeEq.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-gHmeiJFn.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-Ckq_aT3A.js → chunk-hJqozYgS.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-D-7d5O7f.js → chunk-hXmaVpBu2.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-iWbUoQd52.js +6 -0
- package/dist/docker-desktop-mx/browser/chunk-k-zsJmvX.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-CMrtklQ1.js → chunk-qxDOm16k.js} +2 -2
- package/dist/docker-desktop-mx/browser/chunk-sxrgZH0E.js +3 -0
- package/dist/docker-desktop-mx/browser/{chunk-ep62jwHG.js → chunk-vPeKxmUB.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-Bx2_SrZM.js → chunk-xmDwFpQl.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-yYm_2q6C.js +1 -0
- package/dist/docker-desktop-mx/browser/index.html +2 -2
- package/dist/docker-desktop-mx/browser/main-UUO74KHR.js +1 -0
- package/dist/docker-desktop-mx/browser/styles-IM2TO7ZD.css +1 -0
- package/dist-electron/channels.js +9 -0
- package/dist-electron/channels.js.map +1 -1
- package/dist-electron/compose-known.js +135 -0
- package/dist-electron/compose-known.js.map +1 -0
- package/dist-electron/compose.js +4 -1
- package/dist-electron/compose.js.map +1 -1
- package/dist-electron/container-duplicate.js +196 -0
- package/dist-electron/container-duplicate.js.map +1 -0
- package/dist-electron/containers.js +15 -0
- package/dist-electron/containers.js.map +1 -1
- package/dist-electron/docker-client.js +1 -0
- package/dist-electron/docker-client.js.map +1 -1
- package/dist-electron/image-build.js +173 -0
- package/dist-electron/image-build.js.map +1 -0
- package/dist-electron/image-search.js +58 -0
- package/dist-electron/image-search.js.map +1 -0
- package/dist-electron/ipc.js +40 -2
- package/dist-electron/ipc.js.map +1 -1
- package/dist-electron/known-projects.js +129 -0
- package/dist-electron/known-projects.js.map +1 -0
- package/dist-electron/main.js +15 -0
- package/dist-electron/main.js.map +1 -1
- package/dist-electron/preload.js +18 -0
- package/dist-electron/preload.js.map +1 -1
- package/dist-electron/processes.js +77 -0
- package/dist-electron/processes.js.map +1 -0
- package/package.json +1 -1
- package/dist/docker-desktop-mx/browser/chunk-BW20bBdg.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BdOOWVGY.js +0 -4
- package/dist/docker-desktop-mx/browser/chunk-BgNCBUvw2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BoN9ZlqT.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BsAqguck2.js +0 -3
- package/dist/docker-desktop-mx/browser/chunk-C-yEXU2P.js +0 -6
- package/dist/docker-desktop-mx/browser/chunk-C1Wg9uje.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-C6u6rXYb2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CC84vXik.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-Cc4_zCxe2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CrBxmi_g.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-D29s9m84.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DKpHNjiv.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DzG5R5Kk.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-QaMufr3I.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-cYufOe8J.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-eG8Su12W.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-iwVkNYYA.js +0 -1
- package/dist/docker-desktop-mx/browser/main-DECBD64Q.js +0 -1
- package/dist/docker-desktop-mx/browser/styles-5TXFXUUF.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$n as sS,A as HE,An as kk,B as Kr,Bn as oS,D as Gm,Dn as kE,Fn as mj,Gn as pg,Gt as _m,H as Ld,K as My,Kn as pj,On as kc,Pn as mg,Pt as Wm,R as Jm,Rn as nk,S as Ek,St as Tg,Tn as jc,Zn as rf,_r as wt,a as $p,cn as f,cr as ve,dr as vk,et as Od,f as C,fn as fk,hr as wc,ht as Sc,lr as vg,mt as SE,o as Ac,q as Nc,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,xn as hg,xt as Tc}from"./chunk-CpIMiI_l.js";import"./chunk-CphQt55R.js";import"./chunk-DS3iAefP.js";import{i as h,r as d}from"./chunk-Q3Ig-PJ6.js";import{n as p,t as M}from"./chunk-CjySsWe4.js";import"./chunk-gHmeiJFn.js";import"./chunk-xmDwFpQl.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-DdTfHpyK.js";import{n as v,t as u}from"./chunk-Cau4mGeC.js";import{a as Yt,u as ra}from"./chunk-B1xjyPnV.js";import{n as P,t as K$1}from"./chunk-Cpz4zP5G.js";import{n as V,t as G}from"./chunk-C7c_wFw-.js";import{n as W,t as J}from"./chunk-D5njuWRz.js";import{i as z,n as oe,r as x,t as h$1}from"./chunk-Bxte2YBm.js";import{a as ve$1,i as ue,n as Me,o as xe,r as Ze$1,t as J$1}from"./chunk-DCYTwazU.js";import{n as c,t as b}from"./chunk-75uKIulV.js";function je(i,t){if(i&1){let e=$E();Oi(0,`button`,20),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE(3).onInput(o))}),fk(1),Nc()}if(i&2){let e=t.$implicit;ec(),Ac(` `,e,` `)}}function Fe(i,t){if(i&1&&(Oi(0,`div`)(1,`span`,9),fk(2),Nc(),Oi(3,`div`,18),Sc(4,je,2,1,`button`,19,kc),Nc()()),i&2){let e=HE(2);ec(2),pg(e.t().existing),ec(2),Tc(e.others())}}function $e(i,t){i&1&&(Oi(0,`p`,12),fk(1),Nc()),i&2&&(ec(),pg(t))}function Ke(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),Oi(7,`form`,7),Jm(`submit`,function(o){Ld(e);return Od(HE().submit(o))}),Oi(8,`label`,8)(9,`span`,9),fk(10),Nc(),Oi(11,`input`,10),Jm(`input`,function(o){Ld(e);return Od(HE().onInput(o.target.value))}),Nc()(),kE(12,Fe,6,1,`div`),Oi(13,`p`,11),fk(14),Nc(),kE(15,$e,2,1,`p`,12),Oi(16,`div`,13)(17,`button`,14),Gm(18,`app-icon`,15),fk(19),Nc(),Oi(20,`button`,16),Gm(21,`app-icon`,17),fk(22),Nc()()()()()}if(i&2){let e,n=HE();ec(4),pg(n.title()),ec(2),pg(n.description()),ec(4),pg(n.t().nameLabel),ec(),nk(n.field),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(),SE(n.others().length>0?12:-1),ec(2),pg(n.t().hint),ec(),SE((e=n.problem())?15:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().submit,` `)}}var qe;var K;var we=f(()=>{Kr();Je$1();dS();sS();Kr();qe=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,K=class i{open=mj(!1);title=jc.required();description=jc.required();initial=jc(``);suggestions=jc([]);reserved=jc([]);submitted=pj();t=Ot(()=>oS().containers.page.groupDialog);common=Ot(()=>oS().common);field=qe;name=wt(``);touched=wt(!1);others=Ot(()=>this.suggestions().filter(t=>t!==this.initial()));canSubmit=Ot(()=>{let t=this.name().trim();return t!==``&&!this.reserved().includes(t)});problem=Ot(()=>{let t=this.name().trim();return this.touched()?t===``?this.t().empty:this.reserved().includes(t)?this.t().reserved(t):null:null});constructor(){rf(()=>{this.open()&&Tg(()=>{this.name.set(this.initial()),this.touched.set(!1)})})}onInput(t){this.name.set(t),this.touched.set(!0)}submit(t){if(t.preventDefault(),!this.canSubmit()){this.touched.set(!0);return}this.open.set(!1),this.submitted.emit(this.name().trim())}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-group-name-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],initial:[1,`initial`],suggestions:[1,`suggestions`],reserved:[1,`reserved`]},outputs:{open:`openChange`,submitted:`submitted`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,`data-testid`,`groepsnaam`,3,`input`,`placeholder`,`value`],[1,`text-[12px]`,`text-ink-500`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`check`,3,`size`],[1,`mt-1`,`flex`,`flex-wrap`,`gap-1.5`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`,3,`click`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(a){return vk(n.open,a)||(n.open=a),a}),_m(1,Ke,23,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function Je(i,t){i&1&&(Oi(0,`p`,13),fk(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function Qe(i,t){if(i&1){let e=$E();Oi(0,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE(2).askGroupSelected())}),Gm(1,`app-icon`,40),fk(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),Ac(` `,e.t().group.addToGroup,` `)}}function Xe(i,t){if(i&1){let e=$E();Oi(0,`div`,14)(1,`span`,31),fk(2),Nc(),Oi(3,`button`,32),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`start`))}),Gm(4,`app-icon`,33),fk(5),Nc(),Oi(6,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`stop`))}),Gm(7,`app-icon`,35),fk(8),Nc(),Oi(9,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`restart`))}),Gm(10,`app-icon`,36),fk(11),Nc(),kE(12,Qe,3,2,`button`,37),Oi(13,`button`,38),Jm(`click`,function(){Ld(e);return Od(HE().askRemoveSelected())}),Gm(14,`app-icon`,39),fk(15),Nc()()}if(i&2){let e=HE();ec(2),pg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().start,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().stop,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().restart,` `),ec(),SE(e.groupableSelection().length>0?12:-1),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().remove,` `)}}function Ye(i,t){if(i&1&&(Oi(0,`span`,45),fk(1),Nc()),i&2){let e=HE(2);ec(),Ac(` `,e.t().group.manual,` `)}}function Ze(i,t){if(i&1){let e=$E();Oi(0,`div`,41)(1,`button`,42),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE().toggleGroup(o.key))}),Gm(2,`app-icon`,43),Oi(3,`span`,44),fk(4),Nc()(),kE(5,Ye,2,1,`span`,45),Oi(6,`span`,46),fk(7),Nc(),Oi(8,`div`,47)(9,`span`,48),fk(10),Nc(),Oi(11,`span`,49),fk(12),Nc(),Oi(13,`div`,50)(14,`app-action-menu`,51),Jm(`picked`,function(o){let a=Ld(e).$implicit;return Od(HE().onGroupMenu(o,a))}),Nc()()()()}if(i&2){let e=t.$implicit,n=HE(),o=n.groupBusy(e);ec(),Br(`aria-expanded`,!e.collapsed)(`aria-label`,e.collapsed?n.t().group.expand(e.label):n.t().group.collapse(e.label)),ec(),Wm(`name`,e.collapsed?`chevronRight`:`chevronDown`)(`size`,14),ec(2),pg(e.label),ec(),SE(e.manual?5:-1),ec(2),mg(` `,n.groupCount(e),` · `,n.groupRunning(e),` `),ec(3),pg(n.groupCpu(e)),ec(2),pg(n.groupMemory(e)),ec(2),Wm(`label`,n.t().group.menu(e.label))(`items`,n.groupMenu(e,o))}}function et(i,t){if(i&1&&Gm(0,`app-state-dot`,52),i&2){let e=t.$implicit;Wm(`state`,e.state)(`title`,e.status),Br(`aria-label`,e.status)}}function tt(i,t){if(i&1&&(Oi(0,`a`,55),Gm(1,`app-icon`,57),Nc()),i&2){let e=t,n=HE().$implicit,o=HE();Wm(`routerLink`,kk(4,q,n.id))(`title`,o.t().row.missingNetwork(e)),Br(`aria-label`,o.t().row.missingNetwork(e)),ec(),Wm(`size`,13)}}function nt(i,t){if(i&1&&(Oi(0,`a`,56),Gm(1,`app-icon`,58),Nc()),i&2){let e=HE().$implicit,n=HE();Wm(`routerLink`,kk(5,q,e.id))(`queryParams`,Ek(7,Ue))(`title`,n.actions().copyDiagnosis),Br(`aria-label`,n.t().row.diagnosisOf(e.name)),ec(),Wm(`size`,13)}}function it(i,t){if(i&1&&(Oi(0,`div`,53)(1,`a`,54),fk(2),Nc(),kE(3,tt,2,6,`a`,55),kE(4,nt,2,8,`a`,56),Nc()),i&2){let e,n=t.$implicit,o=HE();ec(),Wm(`routerLink`,kk(5,q,n.id))(`title`,n.name),ec(),pg(n.name),ec(),SE((e=n.missingNetwork)?3:-1,e),ec(),SE(o.inTrouble(n)?4:-1)}}function ot(i,t){if(i&1&&(Oi(0,`span`,59),fk(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e.shortId)}}function rt(i,t){if(i&1&&(Oi(0,`span`,60),fk(1),Nc()),i&2){let e=t.$implicit;Wm(`title`,e.image),ec(),pg(e.image)}}function at(i,t){if(i&1&&(Oi(0,`a`,63),fk(1),Gm(2,`app-icon`,65),Nc()),i&2){let e=HE().$implicit;Wm(`href`,`http://localhost:`+e.hostPort,$p),ec(),mg(` `,e.hostPort,`:`,e.containerPort,` `),ec(),Wm(`size`,11)}}function lt(i,t){if(i&1&&(Oi(0,`span`,64),fk(1),Nc()),i&2){let e=HE().$implicit;ec(),mg(``,e.containerPort,`/`,e.protocol)}}function st(i,t){if(i&1&&kE(0,at,3,4,`a`,63)(1,lt,2,2,`span`,64),i&2){let e=t.$implicit;SE(e.hostPort?0:1)}}function pt(i,t){if(i&1&&(Oi(0,`span`,61),fk(1),Nc()),i&2){let e=HE().$implicit;ec(),Ac(`+`,e.ports.length-2)}}function dt(i,t){i&1&&(Oi(0,`span`,62),fk(1,`—`),Nc())}function ct(i,t){if(i&1&&(Sc(0,st,2,1,null,null,He),kE(2,pt,2,1,`span`,61),kE(3,dt,2,0,`span`,62)),i&2){let e=t.$implicit;Tc(e.ports.slice(0,2)),ec(2),SE(e.ports.length>2?2:-1),ec(),SE(e.ports.length===0?3:-1)}}function mt(i,t){if(i&1&&(Oi(0,`span`,66),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.cpuOf(e.id))}}function ut(i,t){if(i&1&&(Oi(0,`span`,66),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.memoryOf(e.id))}}function gt(i,t){if(i&1){let e=$E();Oi(0,`button`,69),Jm(`click`,function(){Ld(e);let o=HE().$implicit;return Od(HE().killNow(o.id))}),Gm(1,`app-icon`,70),Nc()}if(i&2){let e=HE().$implicit,n=HE();Wm(`title`,n.k().now+` — `+n.k().hint),Br(`aria-label`,n.k().now)(`data-testid`,`kill-now-`+e.name),ec(),Wm(`size`,14)}}function _t(i,t){if(i&1){let e=$E();Oi(0,`div`,67),kE(1,gt,2,4,`button`,68),Oi(2,`app-action-menu`,51),Jm(`picked`,function(o){let a=Ld(e).$implicit;return Od(HE().onRowMenu(o,a))}),Nc()()}if(i&2){let e=t.$implicit,n=HE(),o=n.pending().has(e.id);ec(),SE(n.slow().has(e.id)?1:-1),ec(),Wm(`label`,n.t().row.menu(e.name))(`items`,n.rowMenu(e,o))}}function yt(i,t){if(i&1){let e=$E();Oi(0,`app-duplicate-dialog`,71),vg(`openChange`,function(o){Ld(e);let a=HE();return vk(a.duplicateOpen,o)||(a.duplicateOpen=o),Od(o)}),Nc()}if(i&2){let e=t;hg(`open`,HE().duplicateOpen),Wm(`containerId`,e.id)(`name`,e.name)}}function xt(i,t){if(i&1){let e=$E();Oi(0,`app-confirm-dialog`,72),vg(`openChange`,function(o){Ld(e);let a=HE();return vk(a.killOpen,o)||(a.killOpen=o),Od(o)}),Jm(`confirmed`,function(){let o=Ld(e);return Od(HE().killNow(o.id))}),Nc()}if(i&2){let e=HE();hg(`open`,e.killOpen),Wm(`title`,e.k().title)(`description`,e.k().description(t.name))(`confirmLabel`,e.k().confirm)}}function ft(i,t){if(i&1){let e=$E();Oi(0,`app-rename-dialog`,73),vg(`openChange`,function(o){Ld(e);let a=HE();return vk(a.renameOpen,o)||(a.renameOpen=o),Od(o)}),Nc()}if(i&2){let e=t;hg(`open`,HE().renameOpen),Wm(`containerId`,e.id)(`name`,e.name)(`compose`,e.composeProject!==null)}}var q;var Ue;var He;var T;var Se;f(()=>{Kr();ra();v();h();ue();M();G();J();oe();K$1();dS();b();sS();we();Me();Ze$1();Kr();q=i=>[`/containers`,i],Ue=()=>({diagnose:1}),He=(i,t)=>t.containerPort;T=``,Se=class i{store=C(u);preferences=C(p);ownGroups=C(J$1);t=Ot(()=>oS().containers.page);actions=Ot(()=>oS().containers.actions);common=Ot(()=>oS().common);columns=Ot(()=>{let t=this.t().columns;return[{key:`state`,label:``,width:`28px`},{key:`name`,label:t.name},{key:`shortId`,label:t.id,width:`120px`},{key:`image`,label:t.image},{key:`ports`,label:t.ports,width:`170px`},{key:`cpu`,label:t.cpu,width:`80px`,align:`right`},{key:`memory`,label:t.memory,width:`110px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;stats=this.store.stats;pending=this.store.pending;search=wt(``);zoek=jc(void 0);onlyRunning=this.preferences.flag(`containers.onlyRunning`);collapsed=this.preferences.names(`containers.collapsedGroups`);selected=wt(new Set);removal=wt(null);confirmOpen=wt(!1);groupEdit=wt(null);groupDialogOpen=wt(!1);renaming=wt(null);renameOpen=wt(!1);duplicating=wt(null);duplicateOpen=wt(!1);killing=wt(null);killOpen=wt(!1);slow=this.store.slow;k=Ot(()=>oS().containers.kill);ownGroupNames=this.ownGroups.names;composeProjects=Ot(()=>{let t=new Set;for(let e of this.store.containers())e.composeProject!==null&&t.add(e.composeProject);return[...t]});groupableSelection=Ot(()=>{let t=this.selected();return this.store.containers().filter(e=>t.has(e.id)&&e.composeProject===null)});rows=Ot(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyRunning();return this.store.containers().filter(n=>e&&n.state!==`running`?!1:t===``?!0:`${n.name} ${n.image} ${n.shortId}`.toLowerCase().includes(t))});groups=Ot(()=>{let t=this.rows(),e=new Map;for(let m of t){let w=this.groupKeyOf(m),N=e.get(w);N===void 0?e.set(w,[m]):N.push(m)}if(!this.store.containers().some(m=>this.groupKeyOf(m)!==T))return null;let n=this.collapsed(),o=this.composeProjects(),a=[...e.keys()].filter(m=>m!==T).sort((m,w)=>m.localeCompare(w));return e.has(T)&&a.push(T),a.map(m=>{let w=e.get(m)??[],N=n.has(m);return{key:m,label:m===T?this.t().group.loose:m,manual:m!==T&&!o.includes(m),rows:N?[]:w,all:w,running:w.filter(De=>De.state===`running`).length,collapsed:N}})});visibleRows=Ot(()=>{let t=this.groups();return t===null?this.rows():t.flatMap(e=>e.rows)});totals=Ot(()=>{let t=0,e=0;for(let n of this.store.runningIds()){let o=this.stats().get(n);t+=o?.cpuPercent??0,e+=o?.memoryBytes??0}return{cpu:t,memory:d(e)}});selectedIds=Ot(()=>[...this.selected()]);trackKey=t=>t.id;constructor(){rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),rf(()=>this.store.watchStats(this.store.runningIds())),C(ve).onDestroy(()=>this.store.watchStats([])),this.store.refresh()}groupKeyOf(t){return t.composeProject??this.ownGroups.groupOf(t.name)??T}inTrouble(t){let e=t.exitCode===137&&this.store.stoppedDeliberately().has(t.id);return(t.state===`exited`||t.state===`dead`)&&t.exitCode!==null&&t.exitCode!==0&&t.exitCode!==143&&!e||t.state===`restarting`||t.status.includes(`(unhealthy)`)}cpuOf(t){let e=this.stats().get(t);return e===void 0?`—`:`${e.cpuPercent.toFixed(2)}%`}memoryOf(t){let e=this.stats().get(t);return e===void 0?`—`:d(e.memoryBytes)}primaryAction(t){let e=this.common();return t.state===`running`||t.state===`restarting`?{action:`stop`,icon:`stop`,label:e.stop}:t.state===`paused`?{action:`unpause`,icon:`play`,label:this.actions().resume}:{action:`start`,icon:`play`,label:e.start}}toggleGroup(t){let e=new Set(this.collapsed());if(!e.delete(t)){e.add(t);let n=new Set((this.groups()??[]).find(a=>a.key===t)?.all.map(a=>a.id)),o=new Set([...this.selected()].filter(a=>!n.has(a)));this.selected.set(o)}this.collapsed.set(e)}groupCount(t){return this.t().group.count(t.all.length)}groupRunning(t){return this.t().group.running(t.running)}groupCpu(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:`${e.reduce((n,o)=>n+o.cpuPercent,0).toFixed(2)}%`}groupMemory(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:d(e.reduce((n,o)=>n+o.memoryBytes,0))}groupBusy(t){return t.all.some(e=>this.pending().has(e.id))}rowMenu(t,e){let n=this.primaryAction(t),o=t.state===`running`,a=this.t().group,m=[{id:n.action,label:n.label,icon:n.icon,disabled:e},{id:`restart`,label:this.common().restart,icon:`refresh`,disabled:e||!o},{id:`pause`,label:this.actions().pause,icon:`pause`,disabled:e||!o},{id:`rename`,label:this.actions().rename,icon:`pencil`,separated:!0},{id:`duplicate`,label:this.actions().duplicate,icon:`copy`}];return o&&m.splice(3,0,{id:`kill`,label:this.actions().kill,icon:`power`,danger:!0}),t.composeProject===null&&(m.push({id:`group`,label:a.addToGroup,icon:`folder`}),this.ownGroups.groupOf(t.name)!==null&&m.push({id:`ungroup`,label:a.removeFromGroup,icon:`close`})),m.push({id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),m}onRowMenu(t,e){switch(t){case`remove`:this.askRemove(e);break;case`group`:this.askGroup([e.name]);break;case`ungroup`:this.ownGroups.release([e.name]);break;case`rename`:this.renaming.set(e),this.renameOpen.set(!0);break;case`duplicate`:this.duplicating.set(e),this.duplicateOpen.set(!0);break;case`kill`:this.killing.set(e),this.killOpen.set(!0);break;default:this.run(t,e.id)}}groupMenu(t,e){let n=this.t().group,o=t.running===0,a=[{id:`start`,label:n.startAll,icon:`play`,disabled:e},{id:`stop`,label:n.stopAll,icon:`stop`,disabled:e||o},{id:`restart`,label:n.restartAll,icon:`refresh`,disabled:e||o}];return t.manual&&a.push({id:`rename`,label:n.rename,icon:`pencil`,separated:!0},{id:`dissolve`,label:n.dissolve,icon:`eraser`}),a.push({id:`remove`,label:n.removeAll,icon:`trash`,disabled:e,danger:!0,separated:!0}),a}onGroupMenu(t,e){switch(t){case`remove`:this.askRemoveGroup(e);break;case`rename`:this.askRenameGroup(e.key);break;case`dissolve`:this.ownGroups.dissolve(e.key);break;default:this.runGroup(t,e)}}runGroup(t,e){this.store.runMany(t,e.all.map(n=>n.id))}askRemoveGroup(t){this.removal.set({kind:`group`,ids:t.all.map(e=>e.id),project:t.label}),this.confirmOpen.set(!0)}run(t,e){this.store.run(t,e)}runSelected(t){this.store.runMany(t,this.selectedIds())}askRemove(t){this.removal.set({kind:`one`,ids:[t.id],name:t.name}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedIds();this.removal.set({kind:`many`,ids:t}),this.confirmOpen.set(!0)}askGroup(t){t.length!==0&&(this.groupEdit.set({kind:`assign`,names:t}),this.groupDialogOpen.set(!0))}askGroupSelected(){this.askGroup(this.groupableSelection().map(t=>t.name))}askRenameGroup(t){this.groupEdit.set({kind:`rename`,group:t}),this.groupDialogOpen.set(!0)}groupDialogTitle(){let t=this.t().groupDialog;return this.groupEdit()?.kind===`rename`?t.renameTitle:t.assignTitle}groupDialogDescription(){let t=this.groupEdit(),e=this.t().groupDialog;return t===null?``:t.kind===`rename`?e.renameDescription(t.group):t.names.length===1?e.assignOne(t.names[0]):e.assignMany(t.names.length)}groupDialogInitial(){let t=this.groupEdit();if(t===null)return``;if(t.kind===`rename`)return t.group;let e=new Set(t.names.map(o=>this.ownGroups.groupOf(o))),[n]=e;return e.size===1&&n!==void 0&&n!==null?n:``}onGroupName(t){let e=this.groupEdit();e!==null&&(e.kind===`assign`?this.ownGroups.assign(e.names,t):this.renameGroup(e.group,t),this.groupEdit.set(null))}renameGroup(t,e){this.ownGroups.rename(t,e);let n=this.collapsed();if(n.has(t)){let o=new Set(n);o.delete(t),o.add(e),this.collapsed.set(o)}}killNow(t){this.store.kill(t)}confirmRemove(){let t=this.removal();t!==null&&(this.store.runMany(`remove`,t.ids),this.selected.set(new Set),this.removal.set(null))}removalDescription(){let t=this.removal();if(t===null)return``;let e=this.t().confirm;switch(t.kind){case`one`:return e.one(t.name);case`many`:return e.many(t.ids.length);case`group`:return e.group(t.ids.length,t.project)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-containers-page`]],inputs:{zoek:[1,`zoek`]},decls:41,vars:31,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`,`flex`,`flex-wrap`,`gap-x-10`,`gap-y-2`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`groups`,`trackKey`,`selected`,`emptyMessage`],[`appGroupHeader`,``],[`appCell`,`state`],[`appCell`,`name`],[`appCell`,`shortId`],[`appCell`,`image`],[`appCell`,`ports`],[`appCell`,`cpu`],[`appCell`,`memory`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[3,`open`,`containerId`,`name`],[`confirmIcon`,`power`,3,`open`,`title`,`description`,`confirmLabel`],[3,`open`,`containerId`,`name`,`compose`],[3,`openChange`,`submitted`,`open`,`title`,`description`,`initial`,`suggestions`,`reserved`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`stop`,3,`size`],[`name`,`refresh`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[`name`,`folder`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[1,`truncate`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1.5`,`py-0.5`,`text-[11px]`,`text-ink-400`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`shrink-0`,`items-center`],[`data-testid`,`groep-cpu`,1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[`data-testid`,`groep-geheugen`,1,`w-[110px]`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[1,`flex`,`w-[84px]`,`shrink-0`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`],[3,`state`,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-1.5`],[1,`mx-focus`,`block`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`,`title`],[`data-testid`,`row-missing-network`,1,`mx-focus`,`shrink-0`,`rounded`,`text-danger`,`hover:text-ink-100`,3,`routerLink`,`title`],[`data-testid`,`row-diagnose`,1,`mx-focus`,`shrink-0`,`rounded`,`text-warn`,`hover:text-ink-100`,3,`routerLink`,`queryParams`,`title`],[`name`,`networks`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`block`,`truncate`,`text-ink-300`,3,`title`],[1,`text-[11px]`,`text-ink-500`],[1,`text-ink-600`],[`target`,`_blank`,`rel`,`noreferrer`,1,`mx-focus`,`mr-2`,`inline-flex`,`items-center`,`gap-1`,`text-accent`,`hover:underline`,3,`href`],[1,`mr-2`,`text-ink-500`],[`name`,`external`,3,`size`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`,`gap-1`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded`,`p-1`,`text-danger`,`hover:bg-danger/10`,3,`title`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded`,`p-1`,`text-danger`,`hover:bg-danger/10`,3,`click`,`title`],[`name`,`power`,3,`size`],[3,`openChange`,`open`,`containerId`,`name`],[`confirmIcon`,`power`,3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`],[3,`openChange`,`open`,`containerId`,`name`,`compose`]],template:function(e,n){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`h1`,2),fk(3),Nc(),Oi(4,`div`,3)(5,`div`)(6,`div`,4),fk(7),Nc(),Oi(8,`div`,5),fk(9),Nc()(),Oi(10,`div`)(11,`div`,4),fk(12),Nc(),Oi(13,`div`,5),fk(14),Nc()()(),Oi(15,`div`,6)(16,`label`,7)(17,`span`,8),Gm(18,`app-icon`,9),Nc(),Oi(19,`span`,10),fk(20),Nc(),Oi(21,`input`,11),Jm(`input`,function(a){return n.search.set(a.target.value)}),Nc()(),Oi(22,`app-filter-switch`,12),vg(`onChange`,function(a){return vk(n.onlyRunning,a)||(n.onlyRunning=a),a}),Nc()(),kE(23,Je,2,1,`p`,13),kE(24,Xe,16,10,`div`,14),Nc(),Oi(25,`div`,15)(26,`app-data-table`,16),vg(`selectedChange`,function(a){return vk(n.selected,a)||(n.selected=a),a}),_m(27,Ze,15,12,`ng-template`,17)(28,et,1,3,`ng-template`,18)(29,it,5,7,`ng-template`,19)(30,ot,2,1,`ng-template`,20)(31,rt,2,2,`ng-template`,21)(32,ct,4,2,`ng-template`,22)(33,mt,2,1,`ng-template`,23)(34,ut,2,1,`ng-template`,24)(35,_t,3,3,`ng-template`,25),Nc()()(),Oi(36,`app-confirm-dialog`,26),vg(`openChange`,function(a){return vk(n.confirmOpen,a)||(n.confirmOpen=a),a}),Jm(`confirmed`,function(){return n.confirmRemove()}),Nc(),kE(37,yt,1,3,`app-duplicate-dialog`,27),kE(38,xt,1,4,`app-confirm-dialog`,28),kE(39,ft,1,4,`app-rename-dialog`,29),Oi(40,`app-group-name-dialog`,30),vg(`openChange`,function(a){return vk(n.groupDialogOpen,a)||(n.groupDialogOpen=a),a}),Jm(`submitted`,function(a){return n.onGroupName(a)}),Nc()),e&2){let o,a,m,w;ec(3),pg(n.t().title),ec(4),pg(n.t().cpuUsage),ec(2),Ac(``,n.totals().cpu.toFixed(2),`%`),ec(3),pg(n.t().memoryUsage),ec(2),pg(n.totals().memory),ec(4),Wm(`size`,15),ec(2),pg(n.t().search),ec(),Wm(`placeholder`,n.t().search)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyRunning),hg(`on`,n.onlyRunning),ec(),SE((o=n.problem())?23:-1,o),ec(),SE(n.selected().size>0?24:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.visibleRows())(`groups`,n.groups())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(10),hg(`open`,n.confirmOpen),Wm(`title`,n.t().confirm.title)(`description`,n.removalDescription()),ec(),SE((a=n.duplicating())?37:-1,a),ec(),SE((m=n.killing())?38:-1,m),ec(),SE((w=n.renaming())?39:-1,w),ec(),hg(`open`,n.groupDialogOpen),Wm(`title`,n.groupDialogTitle())(`description`,n.groupDialogDescription())(`initial`,n.groupDialogInitial())(`suggestions`,n.ownGroupNames())(`reserved`,n.composeProjects())}},dependencies:[z,x,h$1,My,W,Yt,P,c,V,K,xe,ve$1],encapsulation:2})}})();export{Se as ContainersPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$n as sk,A as HE,B as Kr,Bn as ok,Cn as ik,D as Gm,Dn as kc,En as kE,Et as Ty,Fn as nS,Gt as _m,H as Ld,J as Nc,K as My,L as JF,Nt as W,Pt as Wm,R as Jm,St as Tc,Wn as pg,Wt as _S,cn as f,cr as ve,et as Od,f as C,gr as wt,gt as SS,ht as SE,jn as lk,l as BE,ln as fS,lr as vg,mr as wc,o as Ac,on as eH,or as vS,qt as ag,rn as dk,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,ut as Qm,w as G,xn as hg}from"./chunk-BdOOWVGY.js";import"./chunk-CSrKHPxR.js";import{n as u,t as f$1}from"./chunk-V7ftX_10.js";import"./chunk-iwVkNYYA.js";import{n as y,t as w}from"./chunk-CC84vXik.js";import{i as Ie$1,o as Ne$1}from"./chunk-D29s9m84.js";import"./chunk-eG8Su12W.js";import"./chunk-Bx2_SrZM.js";import"./chunk-QaMufr3I.js";import{n as x,t as u$1}from"./chunk-BW20bBdg.js";import{n as P,t as K}from"./chunk-DvoPI4MU.js";import{n as W$1,t as J}from"./chunk-DZjRtM2K.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Oi(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Oi(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Oi(0,`div`,36),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Oi(0,`div`,37),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=$E();Oi(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fS(5),Nc(),SE(6,Se,2,1,`span`,34),SE(7,Ce,2,1,`span`,34),Nc(),Oi(8,`div`,35),fS(9),Nc(),SE(10,ke,2,1,`div`,36),SE(11,we,2,1,`div`,37),Nc(),Oi(12,`button`,38),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().test(l.name,{context:l.name}))}),fS(13),Nc(),Oi(14,`button`,39),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().askRemove(l.name))}),Gm(15,`app-icon`,40),Nc()(),_m(16,Ee,1,0,`ng-container`,28),Nc()}if(a&2){let e=n.$implicit,t=HE(),l=BE(48);Br(`data-testid`,`server-`+e.name),ec(5),pg(e.name),ec(),kE(e.active?6:-1),ec(),kE(e.currentInCli?7:-1),ec(2),pg(e.host),ec(),kE(e.description?10:-1),ec(),kE(!e.supported&&e.reason?11:-1),ec(),Wm(`disabled`,!e.supported||t.testing()!==null),ec(),Ac(` `,t.testing()===e.name?t.t().testing:t.t().test,` `),ec(),Wm(`title`,e.active||e.currentInCli?t.t().removeBlocked:t.t().remove)(`disabled`,e.active||e.currentInCli),Br(`aria-label`,t.t().remove),ec(),Wm(`size`,14),ec(),Wm(`ngTemplateOutlet`,l)(`ngTemplateOutletContext`,SS(15,de,e.name))}}function Pe(a,n){if(a&1&&(Oi(0,`li`,6),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Ie(a,n){if(a&1){let e=$E();Oi(0,`label`,15)(1,`span`,10),fS(2),Nc(),Oi(3,`input`,41),Jm(`input`,function(l){Ld(e);return Od(HE().username.set(l.target.value))}),Nc()()}if(a&2){let e=HE();ec(2),pg(e.t().add.username),ec(),nS(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Oi(0,`p`,22),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Oi(0,`p`,23),fS(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Oi(0,`p`,43),fS(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=$E();Oi(0,`p`,45),fS(1),Nc(),Oi(2,`div`,46)(3,`code`,47),fS(4),Nc(),Oi(5,`button`,48),Jm(`click`,function(){let l=Ld(e),s=HE(3).$implicit;return Od(HE().trust(s,l.name,l.fingerprint))}),fS(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Oi(0,`p`,44),fS(1),Nc(),SE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),kE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Oi(0,`div`,42),SE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),kE(n.ok?1:2))}function Fe(a,n){if(a&1&&SE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;kE((e=HE().results()[t])?0:-1,e)}}var de;var be;var F;var Le;var L;var pe=f(()=>{Ne$1();Kr();w();lk();sk();J();dk();f$1();Kr();de=a=>({$implicit:a}),be=(a,n)=>n.name;F=`:form`,Le=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,L=class a{contexts=C(y);toast=C(u);t=Ot(()=>ok().settings.servers);form=F;input=Le;servers=Ot(()=>this.contexts.contexts().filter(n=>n.name!=="default"));name=wt(``);kind=wt(`ssh`);username=wt(``);host=wt(``);port=wt(``);description=wt(``);formProblem=wt(null);saving=wt(!1);testing=wt(null);results=wt({});confirmOpen=wt(!1);removing=wt(null);filledIn=Ot(()=>this.name().trim()!==``&&this.host().trim()!==``);constructor(){this.contexts.load()}async test(n,e){this.testing.set(n);try{let t=await window.electron.contexts.test(e);this.results.update(l=>G(W({},l),{[n]:t}))}catch(t){this.results.update(l=>G(W({},l),{[n]:{ok:!1,problem:eH(t),unknownHostKey:null}}))}finally{this.testing.set(null)}}async testForm(){let n=this.server();n!==null&&(this.formProblem.set(null),await this.test(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?this.server():null;await this.test(n,l===null?{context:n}:{server:l})}async add(n){n.preventDefault();let e=this.server();if(!(e===null||this.saving())){this.saving.set(!0);try{let t=await window.electron.contexts.create(e);if(!t.ok){this.formProblem.set(t.problem);return}this.toast.success(this.t().add.added(e.name)),this.reset(),await this.contexts.load()}catch(t){this.formProblem.set(eH(t))}finally{this.saving.set(!1)}}}askRemove(n){this.removing.set(n),this.confirmOpen.set(!0)}async remove(){let n=this.removing();if(n!==null)try{let e=await window.electron.contexts.remove(n);if(!e.ok){this.toast.error(e.problem);return}this.forgetResult(n),await this.contexts.load()}catch(e){this.toast.error(eH(e))}finally{this.removing.set(null)}}server(){let n=this.port().trim(),e=n===``?null:Number(n);if(e!==null&&(!Number.isInteger(e)||e<1||e>65535))return this.formProblem.set(ok().settings.servers.add.port+`: 1–65535`),null;let t=this.username().trim(),l=this.description().trim();return{name:this.name().trim(),description:l===``?null:l,kind:this.kind(),host:this.host().trim(),port:e,username:this.kind()===`ssh`&&t!==``?t:null}}reset(){this.name.set(``),this.username.set(``),this.host.set(``),this.port.set(``),this.description.set(``),this.formProblem.set(null),this.forgetResult(F)}forgetResult(n){this.results.update(e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!==n)))}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-servers-settings`]],decls:50,vars:50,consts:[[`outcome`,``],[`data-testid`,`servers-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[1,`mt-3`,`divide-y`,`divide-ink-700`,`border-y`,`border-ink-700`],[1,`py-2.5`],[1,`py-2.5`,`text-[13px]`,`text-ink-400`],[`data-testid`,`server-form`,1,`mt-4`,3,`submit`],[1,`mt-2`,`grid`,`grid-cols-6`,`gap-3`],[1,`col-span-3`,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`data-testid`,`server-name`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-kind`,3,`change`],[`value`,`ssh`,3,`selected`],[`value`,`tcp`,3,`selected`],[1,`col-span-2`,`block`],[1,`block`],[`type`,`text`,`data-testid`,`server-host`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`col-span-1`,`block`],[`type`,`text`,`inputmode`,`numeric`,`data-testid`,`server-port`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`col-span-6`,`block`],[`type`,`text`,`data-testid`,`server-description`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`mt-2`,`text-[12px]`,`text-warn`],[`data-testid`,`server-form-problem`,1,`mt-2`,`text-[12px]`,`text-danger`],[1,`mt-3`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`data-testid`,`server-form-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`submit`,`data-testid`,`server-add`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[1,`flex`,`items-center`,`gap-3`],[1,`min-w-0`,`flex-1`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[13px]`,`text-ink-100`],[1,`rounded`,`bg-ink-700`,`px-1.5`,`text-[11px]`,`text-ink-200`],[1,`truncate`,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-danger`],[`type`,`button`,`data-testid`,`server-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`button`,`data-testid`,`server-remove`,1,`mx-btn`,`mx-focus`,3,`click`,`title`,`disabled`],[`name`,`trash`,3,`size`],[`type`,`text`,`data-testid`,`server-username`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-test-result`,1,`mt-2`,`text-[12px]`],[1,`text-ok`],[1,`text-danger`],[1,`mt-2`,`text-ink-300`],[1,`mt-1`,`flex`,`items-center`,`gap-3`],[`data-testid`,`server-fingerprint`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-ink-100`],[`type`,`button`,`data-testid`,`server-trust`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`]],template:function(e,t){if(e&1){let l=$E();Oi(0,`div`,1)(1,`h2`,2),fS(2),Nc(),Oi(3,`p`,3),fS(4),Nc(),Oi(5,`ul`,4),kc(6,Te,17,17,`li`,5,be,!1,Pe,2,1,`li`,6),Nc(),Oi(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Oi(10,`h3`,2),fS(11),Nc(),Oi(12,`div`,8)(13,`label`,9)(14,`span`,10),fS(15),Nc(),Oi(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Oi(17,`label`,9)(18,`span`,10),fS(19),Nc(),Oi(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Oi(21,`option`,13),fS(22),Nc(),Oi(23,`option`,14),fS(24),Nc()()(),SE(25,Ie,4,5,`label`,15),Oi(26,`label`,16)(27,`span`,10),fS(28),Nc(),Oi(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Oi(30,`label`,18)(31,`span`,10),fS(32),Nc(),Oi(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Oi(34,`label`,20)(35,`span`,10),fS(36),Nc(),Oi(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),SE(38,De,2,1,`p`,22),SE(39,Me,2,1,`p`,23),Oi(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fS(42),Nc(),Oi(43,`button`,26),Gm(44,`app-icon`,27),fS(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_S),Oi(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Ld(l),vS(t.confirmOpen,_)||(t.confirmOpen=_),Od(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=BE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nS(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nS(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(t.t().add.tcp),ec(),kE(t.kind()===`ssh`?25:-1),ec(),ag(`col-span-3`,t.kind()===`ssh`)(`col-span-5`,t.kind()===`tcp`),ec(2),pg(t.t().add.host),ec(),nS(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nS(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(t.t().add.description),ec(),nS(t.input),Wm(`placeholder`,t.t().add.descriptionPlaceholder)(`value`,t.description()),ec(),kE(t.kind()===`tcp`?38:-1),ec(),kE((l=t.formProblem())?39:-1,l),ec(2),Wm(`disabled`,!t.filledIn()||t.testing()!==null),ec(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,SS(48,de,t.form)),ec(3),hg(`open`,t.confirmOpen),Wm(`title`,t.t().removeTitle(t.removing()??``))(`description`,t.t().removeDescription)}},dependencies:[W$1,My,Ie$1],encapsulation:2})}});function Ke(a,n){if(a&1&&(Oi(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),Br(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Oi(0,`p`,17),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Oi(0,`p`,23),fS(1),Nc()),a&2){let e=HE(),t=HE();ec(),pg(t.lastPrune(e.lastAutoPrune))}}function He(a,n){if(a&1&&(Oi(0,`span`,26),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function je(a,n){if(a&1){let e=$E();Oi(0,`button`,35),Jm(`click`,function(){Ld(e);return Od(HE(2).install())}),fS(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function ze(a,n){if(a&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).check())}),fS(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function We(a,n){if(a&1){let e=$E();Oi(0,`div`,29)(1,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE(2).update({autoUpdate:l}))}),Nc()()}if(a&2){let e=HE(),t=HE();ec(),Wm(`label`,t.t().update.auto)(`on`,e.autoUpdate)}}function Be(a,n){if(a&1&&(Oi(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Ge(a,n){if(a&1){let e=$E();Oi(0,`div`,7)(1,`span`,39),fS(2),Nc(),Oi(3,`button`,40),Jm(`click`,function(){Ld(e);return Od(HE(3).clearKey())}),Gm(4,`app-icon`,41),fS(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function qe(a,n){if(a&1){let e=$E();Oi(0,`form`,42),Jm(`submit`,function(l){Ld(e);return Od(HE(3).saveKey(l))}),Oi(1,`label`,43),fS(2),Nc(),Oi(3,`input`,44),Jm(`input`,function(l){Ld(e);return Od(HE(3).keyDraft.set(l.target.value))}),Nc(),Oi(4,`button`,45),fS(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function Je(a,n){a&1&&(Oi(0,`p`,38),fS(1),Nc()),a&2&&(ec(),pg(n))}function Qe(a,n){if(a&1&&(SE(0,Ge,6,3,`div`,7)(1,qe,6,5,`form`,37),SE(2,Je,2,1,`p`,38),Oi(3,`p`,11),fS(4),Nc()),a&2){let e,t=HE(2);kE(n.configured?0:1),ec(2),kE((e=t.keyProblem())?2:-1,e),ec(2),pg(t.t().assistant.hint)}}function Xe(a,n){if(a&1){let e=$E();Oi(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fS(4),Nc(),Oi(5,`div`,7)(6,`label`,8),fS(7),Nc(),Oi(8,`select`,9),Jm(`change`,function(l){Ld(e);return Od(HE().chooseLanguage(l.target.value))}),kc(9,Ke,2,4,`option`,10,ce),Nc()(),Oi(11,`p`,11),fS(12),Nc()(),Oi(13,`div`,12)(14,`h2`,6),fS(15),Nc(),Oi(16,`div`,13)(17,`app-filter-switch`,14),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({startAtLogin:l}))}),Nc()(),Oi(18,`p`,11),fS(19),Nc(),Oi(20,`div`,15)(21,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({paletteShortcut:l}))}),Nc()(),SE(22,Re,2,1,`p`,17),Nc(),Oi(23,`div`,12)(24,`h2`,6),fS(25),Nc(),Oi(26,`div`,18)(27,`div`,19)(28,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyCrash:l}))}),Nc()(),Oi(29,`div`,20)(30,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyUnhealthy:l}))}),Nc()(),Oi(31,`div`,21)(32,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyWiring:l}))}),Nc()()(),Oi(33,`p`,11),fS(34),Nc()(),Oi(35,`div`,12)(36,`h2`,6),fS(37),Nc(),Oi(38,`div`,22)(39,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({autoPrune:l}))}),Nc()(),Oi(40,`p`,11),fS(41),Nc(),SE(42,$e,2,1,`p`,23),Nc(),Oi(43,`div`,24)(44,`div`,25)(45,`h2`,6),fS(46),Nc(),SE(47,He,2,1,`span`,26),SE(48,je,2,1,`button`,27)(49,ze,2,2,`button`,28),Nc(),SE(50,We,2,2,`div`,29),Oi(51,`p`,30),fS(52),Nc()(),Oi(53,`div`,31)(54,`h2`,6),fS(55,`Claude`),Nc(),Oi(56,`div`,32)(57,`label`,33),fS(58),Nc(),Oi(59,`select`,34),Jm(`change`,function(l){Ld(e);return Od(HE().update({assistantModel:l.target.value}))}),kc(60,Be,2,3,`option`,10,ce),Nc()(),Oi(62,`p`,11),fS(63),Nc(),SE(64,Qe,5,3),Nc()(),Gm(65,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,l.startAtLoginAvailable?s.t().startup.hintAvailable:s.t().startup.hintUnavailable,` `),ec(2),Wm(`label`,s.t().startup.paletteShortcut)(`on`,l.paletteShortcut),ec(),kE(l.paletteShortcut&&!l.paletteShortcutActive?22:-1),ec(3),pg(s.t().notifications.heading),ec(3),Wm(`label`,s.t().notifications.crash)(`on`,l.notifyCrash),ec(2),Wm(`label`,s.t().notifications.unhealthy)(`on`,l.notifyUnhealthy),ec(2),Wm(`label`,s.t().notifications.wiring)(`on`,l.notifyWiring),ec(2),pg(s.t().notifications.hint),ec(3),pg(s.t().prune.heading),ec(2),Wm(`label`,s.t().prune.auto)(`on`,l.autoPrune),ec(2),pg(s.t().prune.hint),ec(),kE(l.autoPrune?42:-1),ec(4),pg(s.t().update.heading),ec(),kE((e=s.appUpdate())?47:-1,e),ec(),kE(s.updateState()===`ready`?48:s.updateState()!==`unavailable`?49:-1),ec(2),kE(s.updateState()!==`unavailable`?50:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),kE((t=s.assistant())?64:-1,t)}}var ce;var Ye;var me;f(()=>{Kr();le();sk();lk();K();dk();x();pe();Kr();ce=(a,n)=>n.value;Ye={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Ot(()=>ok().settings);common=Ot(()=>ok().common);languages=Object.keys(JF).map(n=>({value:n,name:JF[n]}));models=se.map(n=>({value:n,name:Ye[n]}));settings=wt(null);problem=wt(null);appUpdate=wt(null);assistant=wt(null);keyDraft=wt(``);keyProblem=wt(null);updateState=Ot(()=>this.appUpdate()?.status.state??`unavailable`);updateText=Ot(()=>{let n=this.appUpdate()?.status??{state:`unavailable`},e=this.t().update;switch(n.state){case`unavailable`:return e.unavailable;case`idle`:return e.idle;case`checking`:return e.checking;case`upToDate`:return e.upToDate(new Date(n.checkedAt).toLocaleTimeString(ik(),{hour:`2-digit`,minute:`2-digit`}));case`downloading`:return e.downloading(n.version,n.percent);case`ready`:return e.ready(n.version);case`error`:return e.error(n.problem)}});constructor(){this.load(),this.loadAppUpdate(),this.loadAssistant();let n=window.electron.appUpdate.onChange(e=>this.appUpdate.set(e));C(ve).onDestroy(n)}async check(){try{this.appUpdate.set(await window.electron.appUpdate.check())}catch(n){this.problem.set(eH(n))}}async install(){try{await window.electron.appUpdate.install()}catch(n){this.problem.set(eH(n))}}lastPrune(n){let e=this.t().prune;return n===null?e.never:e.last(new Intl.DateTimeFormat(ik(),{dateStyle:`long`,timeStyle:`short`}).format(n))}async update(n){try{this.settings.set(await window.electron.settings.update(n)),this.problem.set(null)}catch(e){this.problem.set(eH(e)),await this.load()}}async chooseLanguage(n){Ty(n),await this.update({language:n}),Ty(this.settings()?.language??n)}async saveKey(n){n.preventDefault();try{let e=await window.electron.assistant.setKey(this.keyDraft());if(!e.ok){this.keyProblem.set(e.problem);return}this.keyDraft.set(``),this.keyProblem.set(null),await this.loadAssistant()}catch(e){this.keyProblem.set(eH(e))}}async clearKey(){try{this.assistant.set(await window.electron.assistant.clearKey()),this.keyProblem.set(null)}catch(n){this.keyProblem.set(eH(n))}}async loadAssistant(){try{this.assistant.set(await window.electron.assistant.status())}catch(n){this.problem.set(eH(n))}}async loadAppUpdate(){try{this.appUpdate.set(await window.electron.appUpdate.get())}catch(n){this.problem.set(eH(n))}}async load(){try{this.settings.set(await window.electron.settings.get())}catch(n){this.problem.set(eH(n))}}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-settings-page`]],decls:5,vars:3,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[3,`problem`],[1,`mt-4`,`grid`,`max-w-6xl`,`items-start`,`gap-4`,`lg:grid-cols-2`],[1,`space-y-4`],[`data-testid`,`setting-language`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-language`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-language`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[3,`value`,`selected`],[1,`mt-2`,`text-[12px]`,`text-ink-500`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-start-at-login`,1,`mt-3`],[3,`onChange`,`label`,`on`,`disabled`],[`data-testid`,`setting-palette-shortcut`,1,`mt-3`],[3,`onChange`,`label`,`on`],[`data-testid`,`shortcut-taken`,1,`mt-2`,`text-[12px]`,`text-warn`],[1,`mt-3`,`space-y-2.5`],[`data-testid`,`setting-notify-crash`],[`data-testid`,`setting-notify-unhealthy`],[`data-testid`,`setting-notify-wiring`],[`data-testid`,`setting-auto-prune`,1,`mt-3`],[`data-testid`,`auto-prune-last`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[`data-testid`,`app-update`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`flex`,`items-center`,`gap-3`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`disabled`],[`data-testid`,`setting-auto-update`,1,`mt-3`],[`data-testid`,`app-update-status`,1,`mt-2`,`text-[12px]`,`text-ink-500`],[`data-testid`,`assistant-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-assistant-model`,1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-assistant-model`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-assistant-model`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[1,`mt-3`,`flex`,`gap-2`],[1,`mt-2`,`text-[12px]`,`text-danger`],[1,`text-[13px]`,`text-ink-300`],[`type`,`button`,`data-testid`,`assistant-clear-key`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`trash`,3,`size`],[1,`mt-3`,`flex`,`gap-2`,3,`submit`],[`for`,`assistant-key`,1,`sr-only`],[`id`,`assistant-key`,`type`,`password`,`placeholder`,`sk-ant-…`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-1.5`,`font-mono`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`value`,`disabled`],[`type`,`submit`,`data-testid`,`assistant-save-key`,1,`mx-btn`,`mx-focus`,3,`disabled`]],template:function(e,t){if(e&1&&(Oi(0,`section`,0)(1,`h1`,1),fS(2),Nc(),Gm(3,`app-page-messages`,2),SE(4,Xe,66,32,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),kE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
|
|
1
|
+
import{$n as sS,A as HE,An as kk,B as Kr,Bn as oS,Cn as iS,D as Gm,Dn as kE,Gn as pg,Gt as _m,H as Ld,K as My,L as JF,Nt as W,Pt as Wm,R as Jm,Rn as nk,Tt as Ty,Wt as _k,_r as wt,cn as f,cr as ve,dr as vk,et as Od,f as C,fn as fk,hr as wc,ht as Sc,jn as lS,l as BE,lr as vg,mt as SE,o as Ac,on as eH,q as Nc,qt as ag,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,ut as Qm,w as G,xn as hg,xt as Tc}from"./chunk-CpIMiI_l.js";import"./chunk-BsTDUJ3m.js";import{n as u,t as f$1}from"./chunk-CphQt55R.js";import"./chunk-BpQVP_gf.js";import{n as y,t as w}from"./chunk-yYm_2q6C.js";import{i as Ie$1,o as Ne$1}from"./chunk-DS3iAefP.js";import"./chunk-gHmeiJFn.js";import"./chunk-xmDwFpQl.js";import"./chunk-DdTfHpyK.js";import{n as x,t as u$1}from"./chunk-CpNGhf9S.js";import{n as P,t as K}from"./chunk-Cpz4zP5G.js";import{n as W$1,t as J}from"./chunk-D5njuWRz.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Oi(0,`div`,36),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Oi(0,`div`,37),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=$E();Oi(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fk(5),Nc(),kE(6,Se,2,1,`span`,34),kE(7,Ce,2,1,`span`,34),Nc(),Oi(8,`div`,35),fk(9),Nc(),kE(10,ke,2,1,`div`,36),kE(11,we,2,1,`div`,37),Nc(),Oi(12,`button`,38),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().test(l.name,{context:l.name}))}),fk(13),Nc(),Oi(14,`button`,39),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().askRemove(l.name))}),Gm(15,`app-icon`,40),Nc()(),_m(16,Ee,1,0,`ng-container`,28),Nc()}if(a&2){let e=n.$implicit,t=HE(),l=BE(48);Br(`data-testid`,`server-`+e.name),ec(5),pg(e.name),ec(),SE(e.active?6:-1),ec(),SE(e.currentInCli?7:-1),ec(2),pg(e.host),ec(),SE(e.description?10:-1),ec(),SE(!e.supported&&e.reason?11:-1),ec(),Wm(`disabled`,!e.supported||t.testing()!==null),ec(),Ac(` `,t.testing()===e.name?t.t().testing:t.t().test,` `),ec(),Wm(`title`,e.active||e.currentInCli?t.t().removeBlocked:t.t().remove)(`disabled`,e.active||e.currentInCli),Br(`aria-label`,t.t().remove),ec(),Wm(`size`,14),ec(),Wm(`ngTemplateOutlet`,l)(`ngTemplateOutletContext`,kk(15,de,e.name))}}function Pe(a,n){if(a&1&&(Oi(0,`li`,6),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Ie(a,n){if(a&1){let e=$E();Oi(0,`label`,15)(1,`span`,10),fk(2),Nc(),Oi(3,`input`,41),Jm(`input`,function(l){Ld(e);return Od(HE().username.set(l.target.value))}),Nc()()}if(a&2){let e=HE();ec(2),pg(e.t().add.username),ec(),nk(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Oi(0,`p`,22),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Oi(0,`p`,43),fk(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=$E();Oi(0,`p`,45),fk(1),Nc(),Oi(2,`div`,46)(3,`code`,47),fk(4),Nc(),Oi(5,`button`,48),Jm(`click`,function(){let l=Ld(e),s=HE(3).$implicit;return Od(HE().trust(s,l.name,l.fingerprint))}),fk(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Oi(0,`p`,44),fk(1),Nc(),kE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),SE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Oi(0,`div`,42),kE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),SE(n.ok?1:2))}function Fe(a,n){if(a&1&&kE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;SE((e=HE().results()[t])?0:-1,e)}}var de;var be;var F;var Le;var L;var pe=f(()=>{Ne$1();Kr();w();lS();sS();J();dS();f$1();Kr();de=a=>({$implicit:a}),be=(a,n)=>n.name;F=`:form`,Le=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,L=class a{contexts=C(y);toast=C(u);t=Ot(()=>oS().settings.servers);form=F;input=Le;servers=Ot(()=>this.contexts.contexts().filter(n=>n.name!=="default"));name=wt(``);kind=wt(`ssh`);username=wt(``);host=wt(``);port=wt(``);description=wt(``);formProblem=wt(null);saving=wt(!1);testing=wt(null);results=wt({});confirmOpen=wt(!1);removing=wt(null);filledIn=Ot(()=>this.name().trim()!==``&&this.host().trim()!==``);constructor(){this.contexts.load()}async test(n,e){this.testing.set(n);try{let t=await window.electron.contexts.test(e);this.results.update(l=>G(W({},l),{[n]:t}))}catch(t){this.results.update(l=>G(W({},l),{[n]:{ok:!1,problem:eH(t),unknownHostKey:null}}))}finally{this.testing.set(null)}}async testForm(){let n=this.server();n!==null&&(this.formProblem.set(null),await this.test(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?this.server():null;await this.test(n,l===null?{context:n}:{server:l})}async add(n){n.preventDefault();let e=this.server();if(!(e===null||this.saving())){this.saving.set(!0);try{let t=await window.electron.contexts.create(e);if(!t.ok){this.formProblem.set(t.problem);return}this.toast.success(this.t().add.added(e.name)),this.reset(),await this.contexts.load()}catch(t){this.formProblem.set(eH(t))}finally{this.saving.set(!1)}}}askRemove(n){this.removing.set(n),this.confirmOpen.set(!0)}async remove(){let n=this.removing();if(n!==null)try{let e=await window.electron.contexts.remove(n);if(!e.ok){this.toast.error(e.problem);return}this.forgetResult(n),await this.contexts.load()}catch(e){this.toast.error(eH(e))}finally{this.removing.set(null)}}server(){let n=this.port().trim(),e=n===``?null:Number(n);if(e!==null&&(!Number.isInteger(e)||e<1||e>65535))return this.formProblem.set(oS().settings.servers.add.port+`: 1–65535`),null;let t=this.username().trim(),l=this.description().trim();return{name:this.name().trim(),description:l===``?null:l,kind:this.kind(),host:this.host().trim(),port:e,username:this.kind()===`ssh`&&t!==``?t:null}}reset(){this.name.set(``),this.username.set(``),this.host.set(``),this.port.set(``),this.description.set(``),this.formProblem.set(null),this.forgetResult(F)}forgetResult(n){this.results.update(e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!==n)))}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-servers-settings`]],decls:50,vars:50,consts:[[`outcome`,``],[`data-testid`,`servers-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[1,`mt-3`,`divide-y`,`divide-ink-700`,`border-y`,`border-ink-700`],[1,`py-2.5`],[1,`py-2.5`,`text-[13px]`,`text-ink-400`],[`data-testid`,`server-form`,1,`mt-4`,3,`submit`],[1,`mt-2`,`grid`,`grid-cols-6`,`gap-3`],[1,`col-span-3`,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`data-testid`,`server-name`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-kind`,3,`change`],[`value`,`ssh`,3,`selected`],[`value`,`tcp`,3,`selected`],[1,`col-span-2`,`block`],[1,`block`],[`type`,`text`,`data-testid`,`server-host`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`col-span-1`,`block`],[`type`,`text`,`inputmode`,`numeric`,`data-testid`,`server-port`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`col-span-6`,`block`],[`type`,`text`,`data-testid`,`server-description`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`mt-2`,`text-[12px]`,`text-warn`],[`data-testid`,`server-form-problem`,1,`mt-2`,`text-[12px]`,`text-danger`],[1,`mt-3`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`data-testid`,`server-form-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`submit`,`data-testid`,`server-add`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[1,`flex`,`items-center`,`gap-3`],[1,`min-w-0`,`flex-1`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[13px]`,`text-ink-100`],[1,`rounded`,`bg-ink-700`,`px-1.5`,`text-[11px]`,`text-ink-200`],[1,`truncate`,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-danger`],[`type`,`button`,`data-testid`,`server-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`button`,`data-testid`,`server-remove`,1,`mx-btn`,`mx-focus`,3,`click`,`title`,`disabled`],[`name`,`trash`,3,`size`],[`type`,`text`,`data-testid`,`server-username`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-test-result`,1,`mt-2`,`text-[12px]`],[1,`text-ok`],[1,`text-danger`],[1,`mt-2`,`text-ink-300`],[1,`mt-1`,`flex`,`items-center`,`gap-3`],[`data-testid`,`server-fingerprint`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-ink-100`],[`type`,`button`,`data-testid`,`server-trust`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`]],template:function(e,t){if(e&1){let l=$E();Oi(0,`div`,1)(1,`h2`,2),fk(2),Nc(),Oi(3,`p`,3),fk(4),Nc(),Oi(5,`ul`,4),Sc(6,Te,17,17,`li`,5,be,!1,Pe,2,1,`li`,6),Nc(),Oi(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Oi(10,`h3`,2),fk(11),Nc(),Oi(12,`div`,8)(13,`label`,9)(14,`span`,10),fk(15),Nc(),Oi(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Oi(17,`label`,9)(18,`span`,10),fk(19),Nc(),Oi(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Oi(21,`option`,13),fk(22),Nc(),Oi(23,`option`,14),fk(24),Nc()()(),kE(25,Ie,4,5,`label`,15),Oi(26,`label`,16)(27,`span`,10),fk(28),Nc(),Oi(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Oi(30,`label`,18)(31,`span`,10),fk(32),Nc(),Oi(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Oi(34,`label`,20)(35,`span`,10),fk(36),Nc(),Oi(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),kE(38,De,2,1,`p`,22),kE(39,Me,2,1,`p`,23),Oi(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fk(42),Nc(),Oi(43,`button`,26),Gm(44,`app-icon`,27),fk(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_k),Oi(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Ld(l),vk(t.confirmOpen,_)||(t.confirmOpen=_),Od(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=BE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nk(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nk(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(t.t().add.tcp),ec(),SE(t.kind()===`ssh`?25:-1),ec(),ag(`col-span-3`,t.kind()===`ssh`)(`col-span-5`,t.kind()===`tcp`),ec(2),pg(t.t().add.host),ec(),nk(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nk(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(t.t().add.description),ec(),nk(t.input),Wm(`placeholder`,t.t().add.descriptionPlaceholder)(`value`,t.description()),ec(),SE(t.kind()===`tcp`?38:-1),ec(),SE((l=t.formProblem())?39:-1,l),ec(2),Wm(`disabled`,!t.filledIn()||t.testing()!==null),ec(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,kk(48,de,t.form)),ec(3),hg(`open`,t.confirmOpen),Wm(`title`,t.t().removeTitle(t.removing()??``))(`description`,t.t().removeDescription)}},dependencies:[W$1,My,Ie$1],encapsulation:2})}});function Ke(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),Br(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Oi(0,`p`,17),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2){let e=HE(),t=HE();ec(),pg(t.lastPrune(e.lastAutoPrune))}}function He(a,n){if(a&1&&(Oi(0,`span`,26),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function je(a,n){if(a&1){let e=$E();Oi(0,`button`,35),Jm(`click`,function(){Ld(e);return Od(HE(2).install())}),fk(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function ze(a,n){if(a&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).check())}),fk(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function We(a,n){if(a&1){let e=$E();Oi(0,`div`,29)(1,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE(2).update({autoUpdate:l}))}),Nc()()}if(a&2){let e=HE(),t=HE();ec(),Wm(`label`,t.t().update.auto)(`on`,e.autoUpdate)}}function Be(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Ge(a,n){if(a&1){let e=$E();Oi(0,`div`,7)(1,`span`,39),fk(2),Nc(),Oi(3,`button`,40),Jm(`click`,function(){Ld(e);return Od(HE(3).clearKey())}),Gm(4,`app-icon`,41),fk(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function qe(a,n){if(a&1){let e=$E();Oi(0,`form`,42),Jm(`submit`,function(l){Ld(e);return Od(HE(3).saveKey(l))}),Oi(1,`label`,43),fk(2),Nc(),Oi(3,`input`,44),Jm(`input`,function(l){Ld(e);return Od(HE(3).keyDraft.set(l.target.value))}),Nc(),Oi(4,`button`,45),fk(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function Je(a,n){a&1&&(Oi(0,`p`,38),fk(1),Nc()),a&2&&(ec(),pg(n))}function Qe(a,n){if(a&1&&(kE(0,Ge,6,3,`div`,7)(1,qe,6,5,`form`,37),kE(2,Je,2,1,`p`,38),Oi(3,`p`,11),fk(4),Nc()),a&2){let e,t=HE(2);SE(n.configured?0:1),ec(2),SE((e=t.keyProblem())?2:-1,e),ec(2),pg(t.t().assistant.hint)}}function Xe(a,n){if(a&1){let e=$E();Oi(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fk(4),Nc(),Oi(5,`div`,7)(6,`label`,8),fk(7),Nc(),Oi(8,`select`,9),Jm(`change`,function(l){Ld(e);return Od(HE().chooseLanguage(l.target.value))}),Sc(9,Ke,2,4,`option`,10,ce),Nc()(),Oi(11,`p`,11),fk(12),Nc()(),Oi(13,`div`,12)(14,`h2`,6),fk(15),Nc(),Oi(16,`div`,13)(17,`app-filter-switch`,14),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({startAtLogin:l}))}),Nc()(),Oi(18,`p`,11),fk(19),Nc(),Oi(20,`div`,15)(21,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({paletteShortcut:l}))}),Nc()(),kE(22,Re,2,1,`p`,17),Nc(),Oi(23,`div`,12)(24,`h2`,6),fk(25),Nc(),Oi(26,`div`,18)(27,`div`,19)(28,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyCrash:l}))}),Nc()(),Oi(29,`div`,20)(30,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyUnhealthy:l}))}),Nc()(),Oi(31,`div`,21)(32,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyWiring:l}))}),Nc()()(),Oi(33,`p`,11),fk(34),Nc()(),Oi(35,`div`,12)(36,`h2`,6),fk(37),Nc(),Oi(38,`div`,22)(39,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({autoPrune:l}))}),Nc()(),Oi(40,`p`,11),fk(41),Nc(),kE(42,$e,2,1,`p`,23),Nc(),Oi(43,`div`,24)(44,`div`,25)(45,`h2`,6),fk(46),Nc(),kE(47,He,2,1,`span`,26),kE(48,je,2,1,`button`,27)(49,ze,2,2,`button`,28),Nc(),kE(50,We,2,2,`div`,29),Oi(51,`p`,30),fk(52),Nc()(),Oi(53,`div`,31)(54,`h2`,6),fk(55,`Claude`),Nc(),Oi(56,`div`,32)(57,`label`,33),fk(58),Nc(),Oi(59,`select`,34),Jm(`change`,function(l){Ld(e);return Od(HE().update({assistantModel:l.target.value}))}),Sc(60,Be,2,3,`option`,10,ce),Nc()(),Oi(62,`p`,11),fk(63),Nc(),kE(64,Qe,5,3),Nc()(),Gm(65,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,l.startAtLoginAvailable?s.t().startup.hintAvailable:s.t().startup.hintUnavailable,` `),ec(2),Wm(`label`,s.t().startup.paletteShortcut)(`on`,l.paletteShortcut),ec(),SE(l.paletteShortcut&&!l.paletteShortcutActive?22:-1),ec(3),pg(s.t().notifications.heading),ec(3),Wm(`label`,s.t().notifications.crash)(`on`,l.notifyCrash),ec(2),Wm(`label`,s.t().notifications.unhealthy)(`on`,l.notifyUnhealthy),ec(2),Wm(`label`,s.t().notifications.wiring)(`on`,l.notifyWiring),ec(2),pg(s.t().notifications.hint),ec(3),pg(s.t().prune.heading),ec(2),Wm(`label`,s.t().prune.auto)(`on`,l.autoPrune),ec(2),pg(s.t().prune.hint),ec(),SE(l.autoPrune?42:-1),ec(4),pg(s.t().update.heading),ec(),SE((e=s.appUpdate())?47:-1,e),ec(),SE(s.updateState()===`ready`?48:s.updateState()!==`unavailable`?49:-1),ec(2),SE(s.updateState()!==`unavailable`?50:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),SE((t=s.assistant())?64:-1,t)}}var ce;var Ye;var me;f(()=>{Kr();le();sS();lS();K();dS();x();pe();Kr();ce=(a,n)=>n.value;Ye={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Ot(()=>oS().settings);common=Ot(()=>oS().common);languages=Object.keys(JF).map(n=>({value:n,name:JF[n]}));models=se.map(n=>({value:n,name:Ye[n]}));settings=wt(null);problem=wt(null);appUpdate=wt(null);assistant=wt(null);keyDraft=wt(``);keyProblem=wt(null);updateState=Ot(()=>this.appUpdate()?.status.state??`unavailable`);updateText=Ot(()=>{let n=this.appUpdate()?.status??{state:`unavailable`},e=this.t().update;switch(n.state){case`unavailable`:return e.unavailable;case`idle`:return e.idle;case`checking`:return e.checking;case`upToDate`:return e.upToDate(new Date(n.checkedAt).toLocaleTimeString(iS(),{hour:`2-digit`,minute:`2-digit`}));case`downloading`:return e.downloading(n.version,n.percent);case`ready`:return e.ready(n.version);case`error`:return e.error(n.problem)}});constructor(){this.load(),this.loadAppUpdate(),this.loadAssistant();let n=window.electron.appUpdate.onChange(e=>this.appUpdate.set(e));C(ve).onDestroy(n)}async check(){try{this.appUpdate.set(await window.electron.appUpdate.check())}catch(n){this.problem.set(eH(n))}}async install(){try{await window.electron.appUpdate.install()}catch(n){this.problem.set(eH(n))}}lastPrune(n){let e=this.t().prune;return n===null?e.never:e.last(new Intl.DateTimeFormat(iS(),{dateStyle:`long`,timeStyle:`short`}).format(n))}async update(n){try{this.settings.set(await window.electron.settings.update(n)),this.problem.set(null)}catch(e){this.problem.set(eH(e)),await this.load()}}async chooseLanguage(n){Ty(n),await this.update({language:n}),Ty(this.settings()?.language??n)}async saveKey(n){n.preventDefault();try{let e=await window.electron.assistant.setKey(this.keyDraft());if(!e.ok){this.keyProblem.set(e.problem);return}this.keyDraft.set(``),this.keyProblem.set(null),await this.loadAssistant()}catch(e){this.keyProblem.set(eH(e))}}async clearKey(){try{this.assistant.set(await window.electron.assistant.clearKey()),this.keyProblem.set(null)}catch(n){this.keyProblem.set(eH(n))}}async loadAssistant(){try{this.assistant.set(await window.electron.assistant.status())}catch(n){this.problem.set(eH(n))}}async loadAppUpdate(){try{this.appUpdate.set(await window.electron.appUpdate.get())}catch(n){this.problem.set(eH(n))}}async load(){try{this.settings.set(await window.electron.settings.get())}catch(n){this.problem.set(eH(n))}}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-settings-page`]],decls:5,vars:3,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[3,`problem`],[1,`mt-4`,`grid`,`max-w-6xl`,`items-start`,`gap-4`,`lg:grid-cols-2`],[1,`space-y-4`],[`data-testid`,`setting-language`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-language`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-language`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[3,`value`,`selected`],[1,`mt-2`,`text-[12px]`,`text-ink-500`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-start-at-login`,1,`mt-3`],[3,`onChange`,`label`,`on`,`disabled`],[`data-testid`,`setting-palette-shortcut`,1,`mt-3`],[3,`onChange`,`label`,`on`],[`data-testid`,`shortcut-taken`,1,`mt-2`,`text-[12px]`,`text-warn`],[1,`mt-3`,`space-y-2.5`],[`data-testid`,`setting-notify-crash`],[`data-testid`,`setting-notify-unhealthy`],[`data-testid`,`setting-notify-wiring`],[`data-testid`,`setting-auto-prune`,1,`mt-3`],[`data-testid`,`auto-prune-last`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[`data-testid`,`app-update`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`flex`,`items-center`,`gap-3`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`disabled`],[`data-testid`,`setting-auto-update`,1,`mt-3`],[`data-testid`,`app-update-status`,1,`mt-2`,`text-[12px]`,`text-ink-500`],[`data-testid`,`assistant-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-assistant-model`,1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-assistant-model`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-assistant-model`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[1,`mt-3`,`flex`,`gap-2`],[1,`mt-2`,`text-[12px]`,`text-danger`],[1,`text-[13px]`,`text-ink-300`],[`type`,`button`,`data-testid`,`assistant-clear-key`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`trash`,3,`size`],[1,`mt-3`,`flex`,`gap-2`,3,`submit`],[`for`,`assistant-key`,1,`sr-only`],[`id`,`assistant-key`,`type`,`password`,`placeholder`,`sk-ant-…`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-1.5`,`font-mono`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`value`,`disabled`],[`type`,`submit`,`data-testid`,`assistant-save-key`,1,`mx-btn`,`mx-focus`,3,`disabled`]],template:function(e,t){if(e&1&&(Oi(0,`section`,0)(1,`h1`,1),fk(2),Nc(),Gm(3,`app-page-messages`,2),kE(4,Xe,66,32,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),SE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as Kr,Rt as X,_r as wt,cn as f,cr as ve,f as C,jn as lS,on as eH,rt as Ot}from"./chunk-CpIMiI_l.js";import{n as u$1,t as f$1}from"./chunk-CphQt55R.js";function c(s,t){let e=new Set(s);return e.delete(t),e}var S;var u;var v=f(()=>{Kr();lS();f$1();Kr();S=4e3,u=class s{toast=C(u$1);items=wt([]);measurements=wt(new Map);busy=wt(!1);loadProblem=wt(null);running=wt(new Set);slowStops=wt(new Set);stoppedHere=wt(new Set);containers=this.items.asReadonly();stats=this.measurements.asReadonly();loading=this.busy.asReadonly();problem=this.loadProblem.asReadonly();pending=this.running.asReadonly();slow=this.slowStops.asReadonly();stoppedDeliberately=this.stoppedHere.asReadonly();runningIds=Ot(()=>this.items().filter(t=>t.state===`running`).map(t=>t.id),{equal:(t,e)=>t.length===e.length&&t.every((o,n)=>o===e[n])});constructor(){let t=C(ve);t.onDestroy(window.electron.events.subscribe(e=>{e.includes(`container`)&&this.refresh()})),t.onDestroy(window.electron.containers.onStats(e=>this.applyStats(e)))}async refresh(){this.busy.set(!0);try{this.items.set(await window.electron.containers.list()),this.loadProblem.set(null)}catch(t){this.loadProblem.set(eH(t))}finally{this.busy.set(!1)}}watchStats(t){window.electron.containers.watchStats(t)}async run(t,e){this.running.update(n=>new Set(n).add(e)),(t===`stop`||t===`restart`)&&this.stoppedHere.update(n=>new Set(n).add(e));let o=t===`stop`||t===`restart`?setTimeout(()=>this.slowStops.update(n=>new Set(n).add(e)),S):null;try{let n=await window.electron.containers.action(t,e);n.ok||this.toast.error(n.problem)}finally{o!==null&&clearTimeout(o),this.running.update(n=>c(n,e)),this.slowStops.update(n=>c(n,e))}}async kill(t){this.stoppedHere.update(e=>new Set(e).add(t));try{let e=await window.electron.containers.action(`kill`,t);e.ok||this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}}async runMany(t,e){await Promise.all(e.map(o=>this.run(t,o)))}applyStats(t){let e=new Map(this.measurements());for(let o of t)e.set(o.id,o);this.measurements.set(e)}static ɵfac=function(e){return new(e||s)};static ɵprov=X({token:s,factory:s.ɵfac,providedIn:`root`})}});export{v as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as Kr,Rt as X,
|
|
1
|
+
import{B as Kr,Rt as X,_r as wt,cn as f}from"./chunk-CpIMiI_l.js";function m(e){document.documentElement.dataset.theme=e}function h(){try{let e=localStorage.getItem(c);return e===`light`||e===`dark`?e:null}catch{return null}}function s(){try{return matchMedia(`(prefers-color-scheme: dark)`).matches}catch{return!1}}function d(){return h()??(s()?`dark`:`light`)}var c;var a;var u=f(()=>{Kr();Kr();c=`mx.theme`;a=class e{current=wt(d());theme=this.current.asReadonly();toggle(){let t=this.current()===`dark`?`light`:`dark`;this.current.set(t),m(t);try{localStorage.setItem(c,t)}catch{}}static ɵfac=function(i){return new(i||e)};static ɵprov=X({token:e,factory:e.ɵfac,providedIn:`root`})}});export{u as i,d as n,m as r,a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as Kr,Rt as X,
|
|
1
|
+
import{B as Kr,Rt as X,_r as wt,cn as f}from"./chunk-CpIMiI_l.js";function g(s){try{return localStorage.getItem(u+s)}catch{return null}}function o(s,n){try{localStorage.setItem(u+s,n)}catch{}}function y(s){try{localStorage.removeItem(u+s)}catch{}}function b(s){if(s===null)return new Set;try{let n=JSON.parse(s);return new Set(Array.isArray(n)?n.filter(r=>typeof r==`string`):[])}catch{return new Set}}function v(s){if(s===null)return new Map;try{let n=JSON.parse(s);if(!Array.isArray(n))return new Map;let r=n.filter(t=>Array.isArray(t)&&t.length===2&&typeof t[0]==`string`&&typeof t[1]==`string`);return new Map(r)}catch{return new Map}}var u;var p;var M=f(()=>{Kr();Kr();u=`mx.pref.`;p=class s{flags=new Map;sets=new Map;maps=new Map;choices=new Map;flag(n,r=!1){let t=this.flags.get(n);if(t!==void 0)return t;let i=g(n),e=wt(i===null?r:i===`true`),f=e.set.bind(e);return e.set=l=>{f(l),o(n,String(l))},e.update=l=>e.set(l(e())),this.flags.set(n,e),e}names(n){let r=this.sets.get(n);if(r!==void 0)return r;let t=wt(b(g(n))),i=t.set.bind(t);return t.set=e=>{i(e),o(n,JSON.stringify([...e]))},t.update=e=>t.set(e(t())),this.sets.set(n,t),t}entries(n){let r=this.maps.get(n);if(r!==void 0)return r;let t=wt(v(g(n))),i=t.set.bind(t);return t.set=e=>{i(e),o(n,JSON.stringify([...e]))},t.update=e=>t.set(e(t())),this.maps.set(n,t),t}choice(n){let r=this.choices.get(n);if(r!==void 0)return r;let t=wt(g(n)),i=t.set.bind(t);return t.set=e=>{i(e),e===null?y(n):o(n,e)},t.update=e=>t.set(e(t())),this.choices.set(n,t),t}static ɵfac=function(r){return new(r||s)};static ɵprov=X({token:s,factory:s.ɵfac,providedIn:`root`})}});export{p as n,M as t};
|