codebay 0.9.1 → 0.10.1
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/.mochi/manifest.json +214 -147
- package/.mochi/svelte-client/HydratableIsland-aebn1fa1.js +1 -0
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-rx6arrv5.js +2 -0
- package/.mochi/svelte-client/{_hydrate-AvatarsView_257s9yq1wwr4f-92hepzby.js → _hydrate-AvatarsView_257s9yq1wwr4f-jpjdmgpe.js} +1 -1
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-c9y47dat.js +1 -0
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-d61feq89.js +38 -0
- package/.mochi/svelte-client/{chunk-2j95sv83.js → chunk-0fjx3z3r.js} +1 -1
- package/.mochi/svelte-client/chunk-8xvr02wh.js +2 -0
- package/.mochi/svelte-client/{chunk-m497q88s.js → chunk-9143wy3j.js} +2 -2
- package/.mochi/svelte-client/{chunk-v65n8th6.js → chunk-bn731rda.js} +1 -1
- package/.mochi/svelte-client/{chunk-a2psjmrm.js → chunk-j72r8pkk.js} +2 -2
- package/.mochi/svelte-client/chunk-k37wj1jm.js +2 -0
- package/.mochi/svelte-client/{chunk-mpv3qx28.js → chunk-p20tkpde.js} +1 -1
- package/.mochi/svelte-client/chunk-pc0fm37c.js +2 -0
- package/.mochi/svelte-client/{chunk-6rbs0mhx.js → chunk-t0ap7q89.js} +1 -1
- package/.mochi/svelte-client/{chunk-rs41by6w.js → chunk-wvtkwfsh.js} +1 -1
- package/.mochi/svelte-compile/{App-7vjcp38v.server.js → App-59cdj86f.server.js} +167 -103
- package/.mochi/svelte-compile/{Avatars-e2cfc95t.server.js → Avatars-fmagfyj2.server.js} +1 -1
- package/.mochi/svelte-compile/{Instance-h78n2dsv.server.js → Instance-s1gqwzmx.server.js} +16 -10
- package/.mochi/svelte-compile/{Settings-tav2asn7.server.js → Settings-k447mt0x.server.js} +540 -88
- package/.mochi/svelte-compile/{chunk-brjv9pyd.js → chunk-3t7v4hk0.js} +1 -7
- package/.mochi/svelte-compile/chunk-gkjgybb2.js +15 -0
- package/.mochi/svelte-compile/{chunk-m8ygpyhr.js → chunk-th2dbqvc.js} +20 -32
- package/.mochi/svelte-css/Button-oharop2xz6am.css +1 -0
- package/.mochi/svelte-css/IdeBar-3bgr3m5z0lpeg.css +1 -0
- package/.mochi/svelte-css/{InstanceView-3vzow3ttxzlh3.css → InstanceView-1pd7j16bd2b16.css} +1 -1
- package/.mochi/svelte-css/SettingsView-n3oy75uonzp2.css +1 -0
- package/.mochi/svelte-css/{TopBar-2q87li6yt8ids.css → TopBar-2y76zxwehrfos.css} +1 -1
- package/migrations/0007_instance_avatar.sql +1 -0
- package/package.json +2 -2
- package/src/avatars/diamond.ts +5 -6
- package/src/avatars/index.ts +1 -16
- package/src/avatars/pick.server.ts +25 -0
- package/src/avatars/whale.ts +7 -8
- package/src/components/AppShell.svelte +29 -4
- package/src/components/Avatar.svelte +8 -8
- package/src/components/Button.svelte +22 -1
- package/src/components/DashboardView.svelte +14 -2
- package/src/components/FolderBrowser.svelte +6 -2
- package/src/components/IdeBar.svelte +56 -13
- package/src/components/IdeLoader.svelte +15 -3
- package/src/components/InstanceCard.svelte +6 -1
- package/src/components/InstanceView.svelte +33 -15
- package/src/components/SettingsView.svelte +548 -1
- package/src/components/TopBar.svelte +37 -10
- package/src/components/UiShowcase.svelte +5 -10
- package/src/container-injections/claude-aliases.ts +1 -1
- package/src/container-injections/claude-code-custom.ts +2 -1
- package/src/container-injections/claude-code-ide-extension.ts +5 -0
- package/src/container-injections/claude-code-models.ts +2 -1
- package/src/container-injections/claude-code-update.ts +62 -1
- package/src/container-injections/claude-effort-level.ts +32 -0
- package/src/container-injections/claude-permission-mode.ts +40 -0
- package/src/container-injections/custom-env-vars.ts +82 -0
- package/src/container-injections/host-env-vars.ts +2 -1
- package/src/lib/config.server.ts +3 -0
- package/src/lib/db.server.ts +8 -3
- package/src/lib/devcontainer.server.ts +155 -43
- package/src/lib/health.server.ts +55 -11
- package/src/lib/injections.server.ts +45 -38
- package/src/lib/instances.server.ts +246 -26
- package/src/lib/log-capture.server.ts +262 -0
- package/src/lib/ports.server.ts +31 -0
- package/src/lib/proxy.server.ts +2 -2
- package/src/pages/Settings.svelte +22 -1
- package/src/routes.ts +98 -2
- package/src/types.ts +36 -0
- package/.mochi/svelte-client/HydratableIsland-k6q8esj4.js +0 -1
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-sg96rp17.js +0 -2
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-p3f649gk.js +0 -1
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-dzmgmv78.js +0 -29
- package/.mochi/svelte-client/chunk-7wkvn2vx.js +0 -2
- package/.mochi/svelte-client/chunk-m4fzsd5b.js +0 -2
- package/.mochi/svelte-css/Button-2vtbrzb5kgu25.css +0 -1
- package/.mochi/svelte-css/IdeBar-10xodudcx57qr.css +0 -1
- package/.mochi/svelte-css/SettingsView-2qfauz68axro1.css +0 -1
- package/src/container-injections/claude-skip-permissions.ts +0 -28
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{eb as a}from"/_mochi/client/chunk-bn731rda.js";import"/_mochi/client/chunk-wvtkwfsh.js";export{a as registerComponent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Zt,b as ze,c as vi,d as Yt,e as hi,g as Li}from"/_mochi/client/chunk-pc0fm37c.js";import{h as tt,i as it,j as Lt,m as dt,n as yi}from"/_mochi/client/chunk-j72r8pkk.js";import{q as ri}from"/_mochi/client/chunk-8xvr02wh.js";import{A as He,B as be,C as Mi,D as ct,E as Ii,z as Ze}from"/_mochi/client/chunk-k37wj1jm.js";import{F as ce,G as ft,H as Ke}from"/_mochi/client/chunk-9143wy3j.js";import{$a as Ci,Aa as Ee,Ba as nt,Ca as c,Da as Y,Ea as M,Ga as bi,Ha as Ie,Ja as Ei,K as $i,Ka as Si,M as f,N as se,Na as oe,Oa as ai,Qa as De,R as te,S as ie,Ta as X,Va as We,Wa as Be,Xa as xi,Y as Ct,Ya as fe,Z as Jt,Za as ne,_ as I,_a as ve,aa as St,ba as w,cb as wi,da as r,ea as $e,eb as Ti,fa as we,ga as n,ha as Se,ia as s,ja as he,ma as F,na as Dt,oa as Wt,pa as qe,qa as ui,ra as e,ua as pi,va as Ae,wa as W,xa as Te,ya as u}from"/_mochi/client/chunk-bn731rda.js";import{fb as Ni}from"/_mochi/client/chunk-wvtkwfsh.js";var ni=!1;class Bt extends Date{#e=w(super.getTime());#t=new Map;#i=Dt;constructor(...i){super(...i);if(!ni)this.#a()}#a(){ni=!0;var i=Bt.prototype,t=Date.prototype,a=Object.getOwnPropertyNames(t);for(let l of a){if(l.startsWith("get")||l.startsWith("to")||l==="valueOf")i[l]=function(...d){if(d.length>0)return e(this.#e),t[l].apply(this,d);var h=this.#t.get(l);if(h===void 0){let o=Dt;Wt(this.#i),h=I(()=>{return e(this.#e),t[l].apply(this,d)}),this.#t.set(l,h),Wt(o)}return e(h)};if(l.startsWith("set"))i[l]=function(...d){var h=t[l].apply(this,d);return r(this.#e,t.getTime.call(this)),h}}}}var Fi=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Ai=["difference","intersection","symmetricDifference","union"],ci=!1;class Ve extends Set{#e=new Map;#t=w(0);#i=w(0);#a=qe||-1;constructor(i){super();if(i){for(var t of i)super.add(t);this.#i.v=super.size}if(!ci)this.#r()}#l(i){return qe===this.#a?w(i):St(i)}#r(){ci=!0;var i=Ve.prototype,t=Set.prototype;for(let a of Fi)i[a]=function(...l){return e(this.#t),t[a].apply(this,l)};for(let a of Ai)i[a]=function(...l){e(this.#t);var d=t[a].apply(this,l);return new Ve(d)}}has(i){var t=super.has(i),a=this.#e,l=a.get(i);if(l===void 0){if(!t)return e(this.#t),!1;l=this.#l(!0),a.set(i,l)}return e(l),t}add(i){if(!super.has(i))super.add(i),r(this.#i,super.size),$e(this.#t);return this}delete(i){var t=super.delete(i),a=this.#e,l=a.get(i);if(l!==void 0)a.delete(i),r(l,!1);if(t)r(this.#i,super.size),$e(this.#t);return t}clear(){if(super.size===0)return;super.clear();var i=this.#e;for(var t of i.values())r(t,!1);i.clear(),r(this.#i,0),$e(this.#t)}keys(){return this.values()}values(){return e(this.#t),super.values()}entries(){return e(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#i)}}class di extends Map{#e=new Map;#t=w(0);#i=w(0);#a=qe||-1;constructor(i){super();if(i){for(var[t,a]of i)super.set(t,a);this.#i.v=super.size}}#l(i){return qe===this.#a?w(i):St(i)}has(i){var t=this.#e,a=t.get(i);if(a===void 0)if(super.has(i))a=this.#l(0),t.set(i,a);else return e(this.#t),!1;return e(a),!0}forEach(i,t){this.#r(),super.forEach(i,t)}get(i){var t=this.#e,a=t.get(i);if(a===void 0)if(super.has(i))a=this.#l(0),t.set(i,a);else{e(this.#t);return}return e(a),super.get(i)}set(i,t){var a=this.#e,l=a.get(i),d=super.get(i),h=super.set(i,t),o=this.#t;if(l===void 0)l=this.#l(0),a.set(i,l),r(this.#i,super.size),$e(o);else if(d!==t){$e(l);var S=o.reactions===null?null:new Set(o.reactions),b=S===null||!l.reactions?.every((A)=>S.has(A));if(b)$e(o)}return h}delete(i){var t=this.#e,a=t.get(i),l=super.delete(i);if(a!==void 0)t.delete(i),r(a,-1);if(l)r(this.#i,super.size),$e(this.#t);return l}clear(){if(super.size===0)return;super.clear();var i=this.#e;r(this.#i,0);for(var t of i.values())r(t,-1);$e(this.#t),i.clear()}#r(){e(this.#t);var i=this.#e;if(this.#i.v!==i.size){for(var t of super.keys())if(!i.has(t)){var a=this.#l(0);i.set(t,a)}}for([,a]of this.#e)e(a)}keys(){return e(this.#t),super.keys()}values(){return this.#r(),super.values()}entries(){return this.#r(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#i),super.size}}var wt=Symbol("replace");class It extends URLSearchParams{#e=w(0);#t=si();#i=!1;#a(){if(!this.#t||this.#i)return;this.#i=!0;let i=this.toString();this.#t.search=i&&`?${i}`,this.#i=!1}[wt](i){if(this.#i)return;if(i.toString()===super.toString())return;this.#i=!0;for(let t of[...super.keys()])super.delete(t);for(let[t,a]of i)super.append(t,a);$e(this.#e),this.#i=!1}append(i,t){super.append(i,t),this.#a(),$e(this.#e)}delete(i,t){var a=super.has(i,t);if(super.delete(i,t),a)this.#a(),$e(this.#e)}get(i){return e(this.#e),super.get(i)}getAll(i){return e(this.#e),super.getAll(i)}has(i,t){return e(this.#e),super.has(i,t)}keys(){return e(this.#e),super.keys()}forEach(i,t){e(this.#e),super.forEach(i,t)}set(i,t){var a=super.getAll(i);super.set(i,t);var l=super.getAll(i);if(a.length!==l.length||a.some((d,h)=>d!==l[h]))this.#a(),$e(this.#e)}sort(){super.sort(),this.#a(),$e(this.#e)}toString(){return e(this.#e),super.toString()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#e),super.size}}var Ot=null;function si(){return Ot}class oi extends URL{#e=w(super.protocol);#t=w(super.username);#i=w(super.password);#a=w(super.hostname);#l=w(super.port);#r=w(super.pathname);#f=w(super.hash);#n=w(super.search);#c;constructor(i,t){i=new URL(i,t);super(i);Ot=this,this.#c=new It(i.searchParams),Ot=null}get hash(){return e(this.#f)}set hash(i){super.hash=i,r(this.#f,super.hash)}get host(){return e(this.#a),e(this.#l),super.host}set host(i){super.host=i,r(this.#a,super.hostname),r(this.#l,super.port)}get hostname(){return e(this.#a)}set hostname(i){super.hostname=i,r(this.#a,super.hostname)}get href(){return e(this.#e),e(this.#t),e(this.#i),e(this.#a),e(this.#l),e(this.#r),e(this.#f),e(this.#n),super.href}set href(i){super.href=i,r(this.#e,super.protocol),r(this.#t,super.username),r(this.#i,super.password),r(this.#a,super.hostname),r(this.#l,super.port),r(this.#r,super.pathname),r(this.#f,super.hash),r(this.#n,super.search),this.#c[wt](super.searchParams)}get password(){return e(this.#i)}set password(i){super.password=i,r(this.#i,super.password)}get pathname(){return e(this.#r)}set pathname(i){super.pathname=i,r(this.#r,super.pathname)}get port(){return e(this.#l)}set port(i){super.port=i,r(this.#l,super.port)}get protocol(){return e(this.#e)}set protocol(i){super.protocol=i,r(this.#e,super.protocol)}get search(){return e(this.#n)}set search(i){super.search=i,r(this.#n,super.search),this.#c[wt](super.searchParams)}get username(){return e(this.#t)}set username(i){super.username=i,r(this.#t,super.username)}get origin(){return e(this.#e),e(this.#a),e(this.#l),super.origin}get searchParams(){return this.#c}toString(){return this.href}toJSON(){return this.href}}class mi{#e;#t;constructor(i,t){this.#e=i,this.#t=Jt(t)}get current(){return this.#t(),this.#e()}}var gi=/^[A-Za-z0-9._-]+$/;function ki(i){let t=i.trim();if(!t)return null;let a,l,d=t.match(/^[A-Za-z0-9._-]+@([A-Za-z0-9.-]+):(.+)$/);if(d)a=d[1],l=d[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)){let b;try{b=new URL(t)}catch{return null}if(b.protocol!=="http:"&&b.protocol!=="https:"&&b.protocol!=="ssh:")return null;a=b.hostname,l=b.pathname}else{let b=t.match(/^([A-Za-z0-9-]+\.[A-Za-z0-9.-]+)\/(.+)$/);if(!b)return null;a=b[1],l=b[2]}if(!a||!l)return null;let h=l.replace(/\.git$/i,"").split("/").filter(Boolean),[o,S]=h;if(!o||!S||!gi.test(o)||!gi.test(S))return null;return{host:a,owner:o,repo:S,cloneUrl:`https://${a}/${o}/${S}.git`}}function Kt(i){return ki(i)!==null}var Vi=new Set(["$$slots","$$events","$$legacy"]);function bt(i,t){let a=fe(t,Vi),l=[["path",{d:"M16 14v2.2l1.6 1"}],["path",{d:"M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2"}],["circle",{cx:"16",cy:"16",r:"6"}]];ce(i,ne({name:"folder-clock"},()=>a,{get iconNode(){return l}}))}var Ri=new Set(["$$slots","$$events","$$legacy"]);function _e(i,t){let a=fe(t,Ri),l=[["path",{d:"M15 6a9 9 0 0 0-9 9V3"}],["circle",{cx:"18",cy:"6",r:"3"}],["circle",{cx:"6",cy:"18",r:"3"}]];ce(i,ne({name:"git-branch"},()=>a,{get iconNode(){return l}}))}var Di=new Set(["$$slots","$$events","$$legacy"]);function Nt(i,t){let a=fe(t,Di),l=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];ce(i,ne({name:"arrow-up"},()=>a,{get iconNode(){return l}}))}var Wi=new Set(["$$slots","$$events","$$legacy"]);function $t(i,t){let a=fe(t,Wi),l=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];ce(i,ne({name:"folder"},()=>a,{get iconNode(){return l}}))}var Bi=new Set(["$$slots","$$events","$$legacy"]);function et(i,t){let a=fe(t,Bi),l=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}],["path",{d:"M12 9v4"}],["path",{d:"M12 17h.01"}]];ce(i,ne({name:"triangle-alert"},()=>a,{get iconNode(){return l}}))}var Oi=u('<div class="recent-row svelte-oq97c4"><button class="recent-pick svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="recent-text svelte-oq97c4"><span class="recent-name svelte-oq97c4"> </span> <span class="recent-path svelte-oq97c4"> </span></span></button> <button class="recent-x svelte-oq97c4" title="Remove from history"><!></button></div>'),Ji=u('<button class="recent-toggle svelte-oq97c4"> </button>'),Ki=u('<div class="recent svelte-oq97c4"><div class="recent-label svelte-oq97c4">Recent</div> <!> <!></div>'),Zi=u('<div class="muted svelte-oq97c4">Loading…</div>'),Hi=u('<div class="muted err svelte-oq97c4"> </div>'),Qi=u('<div class="row svelte-oq97c4"><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4">..</span></button></div>'),Yi=u('<div class="muted svelte-oq97c4"> </div>'),Gi=u('<span class="badge svelte-oq97c4">devcontainer</span>'),Ui=u('<div><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4"> </span> <!></button> <button class="pick-inline svelte-oq97c4">Select</button></div>'),Xi=u("<!> <!> <!>",1),ji=u(`<div class="warn svelte-oq97c4"><!> <span>No <code class="svelte-oq97c4">devcontainer.json</code> in this folder — a default image will be used if you select
|
|
2
|
+
it.</span></div>`),qi=u('<div class="overlay svelte-oq97c4" role="button" tabindex="0"><div class="modal panel svelte-oq97c4" role="dialog" aria-modal="true" aria-label="Pick a project folder" tabindex="-1"><div class="head svelte-oq97c4"><h2 class="svelte-oq97c4">Pick a project folder</h2> <button class="x svelte-oq97c4" aria-label="Close"><!></button></div> <div class="mode svelte-oq97c4"><div class="mode-label svelte-oq97c4">Editor</div> <div class="mode-toggle svelte-oq97c4" role="group" aria-label="Editor mode"><button type="button"><!> Full IDE</button> <button type="button"><!> Terminal</button></div></div> <div class="clone svelte-oq97c4"><div class="clone-label svelte-oq97c4">Clone a Git repository</div> <div class="clone-row svelte-oq97c4"><input class="clone-url svelte-oq97c4" type="text" placeholder="https://github.com/owner/repo" spellcheck="false" autocomplete="off"/> <input class="clone-branch svelte-oq97c4" type="text" placeholder="branch (optional)" spellcheck="false" autocomplete="off"/> <button class="clone-btn svelte-oq97c4">Clone</button></div></div> <div class="crumbs svelte-oq97c4"><code class="svelte-oq97c4"> </code></div> <!> <div class="search svelte-oq97c4"><input type="text" placeholder="Filter folders…" spellcheck="false" autocomplete="off" class="svelte-oq97c4"/></div> <div class="list svelte-oq97c4"><!></div> <!> <div class="foot svelte-oq97c4"><span class="hint svelte-oq97c4">Browse to a folder, then select this folder or any subfolder.</span> <button class="primary svelte-oq97c4">Select this folder</button></div></div></div>');function Ht(i,t){te(t,!0);let a=ve(t,"defaultMode",3,"ide"),l=ve(t,"initialMode",3,null),d=w(we(l())),h=I(()=>e(d)??a()),o=w(null),S=w(!0),b=w(null),A=w(""),V=w(null),O=w(we([])),j=w(!1),L=w(""),R=w(""),P=I(()=>Kt(e(L)));function E(){if(!e(P))return;t.onpick(e(L).trim(),{branch:e(R).trim()||void 0,mode:e(h)})}let G=I(()=>e(o)?e(o).entries.filter((p)=>p.name.toLowerCase().includes(e(A).trim().toLowerCase())):[]),K=I(()=>e(j)?e(O):e(O).slice(0,5));async function Z(){try{let p=await Zt("/api/history");r(O,p.history??[],!0)}catch{}}async function k(p){let ae=e(O);r(O,e(O).filter((ge)=>ge.source_path!==p),!0);try{await vi("/api/history",{sourcePath:p})}catch{r(O,ae,!0)}}async function v(p=null){r(S,!0),r(b,null),r(A,"");try{let ae=p?`/api/browse?path=${encodeURIComponent(p)}`:"/api/browse";r(o,await Zt(ae,void 0,"Could not list folder"),!0)}catch(ae){r(b,ae.message,!0)}finally{r(S,!1)}await ui(),e(V)?.focus()}he(()=>{v(),Z()});var N=qi(),C=n(N),q=n(C),H=s(n(q),2),J=n(H);ft(J,{size:16}),f(H),f(q);var me=s(q,2),Ne=s(n(me),2),z=n(Ne);let B;var _=n(z);it(_,{size:15}),se(),f(z);var g=s(z,2);let y;var Q=n(g);tt(Q,{size:15}),se(),f(g),f(Ne),f(me);var m=s(me,2),T=s(n(m),2),D=n(T);De(D);var U=s(D,2);De(U);var ye=s(U,2);f(T),f(m);var Re=s(m,2),x=n(Re),$=n(x,!0);f(x),f(Re);var ue=s(Re,2);{var Le=(p)=>{var ae=Ki(),ge=s(n(ae),2);Ie(ge,17,()=>e(K),(Pe)=>Pe.source_path,(Pe,Me)=>{var de=Oi(),re=n(de),xe=n(re),Fe=n(xe);{var Ue=(ke)=>{_e(ke,{size:16})},Xe=I(()=>Kt(e(Me).source_path)),rt=(ke)=>{bt(ke,{size:16})};M(Fe,(ke)=>{if(e(Xe))ke(Ue);else ke(rt,-1)})}f(xe);var vt=s(xe,2),Oe=n(vt),Vt=n(Oe,!0);f(Oe);var ht=s(Oe,2),Rt=n(ht,!0);f(ht),f(vt),f(re);var je=s(re,2),Je=n(je);ft(Je,{size:14}),f(je),f(de),F(()=>{Y(Vt,e(Me).name),Y(Rt,e(Me).source_path),X(je,"aria-label",`Remove ${e(Me).name??""} from history`)}),W("click",re,()=>t.onpick(e(Me).source_path,{mode:e(h)})),W("click",je,(ke)=>{ke.stopPropagation(),k(e(Me).source_path)}),c(Pe,de)});var Ye=s(ge,2);{var Ge=(Pe)=>{var Me=Ji(),de=n(Me,!0);f(Me),F(()=>Y(de,e(j)?"Show fewer":`Show all (${e(O).length})`)),W("click",Me,()=>r(j,!e(j))),c(Pe,Me)};M(Ye,(Pe)=>{if(e(O).length>5)Pe(Ge)})}f(ae),c(p,ae)};M(ue,(p)=>{if(e(O).length>0)p(Le)})}var Ce=s(ue,2),ee=n(Ce);De(ee),Be(ee,(p)=>r(V,p),()=>e(V)),f(Ce);var pe=s(Ce,2),Qe=n(pe);{var st=(p)=>{var ae=Zi();c(p,ae)},ot=(p)=>{var ae=Hi(),ge=n(ae,!0);f(ae),F(()=>Y(ge,e(b))),c(p,ae)},zt=(p)=>{var ae=Xi(),ge=Se(ae);{var Ye=(de)=>{var re=Qi(),xe=n(re),Fe=n(xe),Ue=n(Fe);Nt(Ue,{size:16}),f(Fe),se(2),f(xe),f(re),W("click",xe,()=>v(e(o)?.parent??null)),c(de,re)};M(ge,(de)=>{if(e(o).parent&&!e(A))de(Ye)})}var Ge=s(ge,2);{var Pe=(de)=>{var re=Yi(),xe=n(re,!0);f(re),F(()=>Y(xe,e(A)?"No folders match.":"No subfolders here.")),c(de,re)};M(Ge,(de)=>{if(e(G).length===0)de(Pe)})}var Me=s(Ge,2);Ie(Me,19,()=>e(G),(de)=>de.path,(de,re,xe)=>{var Fe=Ui();let Ue;var Xe=n(Fe),rt=n(Xe),vt=n(rt);$t(vt,{size:16}),f(rt);var Oe=s(rt,2),Vt=n(Oe,!0);f(Oe);var ht=s(Oe,2);{var Rt=(Je)=>{var ke=Gi();c(Je,ke)};M(ht,(Je)=>{if(e(re).hasDevcontainer)Je(Rt)})}f(Xe);var je=s(Xe,2);f(Fe),F((Je)=>{Ue=oe(Fe,1,"row svelte-oq97c4",null,Ue,Je),Y(Vt,e(re).name)},[()=>({"first-match":e(A).trim()&&e(xe)===0})]),W("click",Xe,()=>v(e(re).path)),W("click",je,()=>t.onpick(e(re).path,{mode:e(h)})),c(de,Fe)}),c(p,ae)};M(Qe,(p)=>{if(e(S))p(st);else if(e(b))p(ot,1);else if(e(o))p(zt,2)})}f(pe);var mt=s(pe,2);{var kt=(p)=>{var ae=ji(),ge=n(ae);et(ge,{size:15}),se(2),f(ae),c(p,ae)};M(mt,(p)=>{if(e(o)&&!e(o).hasDevcontainer)p(kt)})}var gt=s(mt,2),ut=s(n(gt),2);f(gt),f(C),f(N),F(()=>{B=oe(z,1,"mode-btn svelte-oq97c4",null,B,{active:e(h)==="ide"}),X(z,"aria-pressed",e(h)==="ide"),y=oe(g,1,"mode-btn svelte-oq97c4",null,y,{active:e(h)==="terminal"}),X(g,"aria-pressed",e(h)==="terminal"),ye.disabled=!e(P),Y($,e(o)?.path??"…"),ut.disabled=!e(o)}),W("click",N,function(...p){t.onclose?.apply(this,p)}),W("keydown",N,(p)=>p.key==="Escape"&&t.onclose()),W("click",C,(p)=>p.stopPropagation()),W("keydown",C,()=>{}),W("click",H,function(...p){t.onclose?.apply(this,p)}),W("click",z,()=>r(d,"ide")),W("click",g,()=>r(d,"terminal")),W("keydown",D,(p)=>{if(p.key==="Enter")p.preventDefault(),E()}),We(D,()=>e(L),(p)=>r(L,p)),W("keydown",U,(p)=>{if(p.key==="Enter")p.preventDefault(),E()}),We(U,()=>e(R),(p)=>r(R,p)),W("click",ye,E),W("keydown",ee,(p)=>{let ae=e(G)[0];if(p.key==="Enter"&&ae)p.preventDefault(),v(ae.path)}),We(ee,()=>e(A),(p)=>r(A,p)),W("click",ut,()=>e(o)&&t.onpick(e(o).path,{mode:e(h)})),c(i,N),ie()}Te(["click","keydown"]);var _i=u('<div class="branch svelte-jv8lut" title="Branch checked out in the container"><!><span class="svelte-jv8lut"> </span></div>');function Qt(i,t){var a=_i(),l=n(a);_e(l,{size:12});var d=s(l),h=n(d,!0);f(d),f(a),F(()=>Y(h,t.branch)),c(i,a)}var ea=new Set(["$$slots","$$events","$$legacy"]);function Et(i,t){let a=fe(t,ea),l=[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z"}],["path",{d:"M17 21v-2"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10"}],["path",{d:"M21 21v-2"}],["path",{d:"M3 5V3"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z"}],["path",{d:"M7 5V3"}]];ce(i,ne({name:"cable"},()=>a,{get iconNode(){return l}}))}var ta=u('<a target="_blank" rel="noopener"> </a>'),ia=u('<div class="fports svelte-1uaz383" title="Forwarded ports — click to open"><!> <span class="list svelte-1uaz383"></span></div>');function Gt(i,t){te(t,!0);var a=nt(),l=Se(a);{var d=(h)=>{var o=ia(),S=n(o);Et(S,{size:12});var b=s(S,2);Ie(b,21,()=>t.ports,(A)=>A.container_port,(A,V)=>{var O=ta();let j;var L=n(O,!0);f(O),F((R,P)=>{j=oe(O,1,"fport svelte-1uaz383",null,j,{open:e(V).open}),X(O,"href",R),X(O,"title",P),Y(L,e(V).container_port)},[()=>Yt(e(V).host_port),()=>`container :${e(V).container_port} → ${Yt(e(V).host_port)} ${e(V).open?"(open)":"(not published yet)"}`]),c(A,O)}),f(b),f(o),c(h,o)};M(l,(h)=>{if(t.ports.length)h(d)})}c(i,a),ie()}var aa=u('<div class="busy-overlay svelte-13338y7" aria-live="polite"><span class="busy-label svelte-13338y7"> </span></div>'),la=u('<input class="name-edit svelte-13338y7"/>'),ra=u('<button class="name svelte-13338y7" title="Click to rename"> </button>'),fa=u("<span></span>"),na=u('<div class="card-error svelte-13338y7"> </div>'),ca=u("<!> <!>",1),da=u('<li><!> <div class="card-head svelte-13338y7"><!> <!> <!> <!></div> <div class="path svelte-13338y7"> </div> <!> <!> <!> <div class="actions svelte-13338y7"><!> <!> <!> <!></div></li>');function Ut(i,t){te(t,!0);let a=ve(t,"editingName",15),l=ve(t,"pending",3,null),d=I(()=>t.instance.status==="running"||t.instance.status==="stopped"||t.instance.status==="error"&&!!t.instance.container_id),h={start:"Starting…",stop:"Stopping…",delete:"Deleting…",rebuild:"Rebuilding…"};var o=da();let S;var b=n(o);{var A=(m)=>{var T=aa(),D=n(T),U=n(D,!0);f(D),f(T),F(()=>Y(U,h[l()])),c(m,T)};M(b,(m)=>{if(l())m(A)})}var V=s(b,2),O=n(V);{let m=I(()=>Ze(t.instance.avatar??void 0)??null);He(O,{get name(){return t.instance.name},get art(){return e(m)},interactive:!0})}var j=s(O,2);{var L=(m)=>{var T=la();De(T),Ct(T,!0),Ae("focus",T,(D)=>D.currentTarget.select()),Ae("blur",T,function(...D){t.oncommitrename?.apply(this,D)}),W("keydown",T,(D)=>{if(D.key==="Enter")D.currentTarget.blur();else if(D.key==="Escape")t.oncancelrename()}),We(T,a),c(m,T)},R=(m)=>{var T=ra(),D=n(T,!0);f(T),F(()=>Y(D,t.instance.name)),W("click",T,function(...U){t.onstartrename?.apply(this,U)}),c(m,T)};M(j,(m)=>{if(t.editing)m(L);else m(R,-1)})}var P=s(j,2);{var E=(m)=>{var T=fa();let D;F(()=>{D=oe(T,1,"attn svelte-13338y7",null,D,{"attn-done":t.instance.attention==="done","attn-waiting":t.instance.attention==="waiting"}),X(T,"title",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished"),X(T,"aria-label",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished")}),c(m,T)};M(P,(m)=>{if(t.instance.attention)m(E)})}var G=s(P,2);hi(G,{get status(){return t.instance.status}}),f(V);var K=s(V,2),Z=n(K,!0);f(K);var k=s(K,2);{var v=(m)=>{Gt(m,{get ports(){return t.instance.forwarded_ports}})};M(k,(m)=>{if(t.instance.status==="running")m(v)})}var N=s(k,2);{var C=(m)=>{Qt(m,{get branch(){return t.instance.git_branch}})};M(N,(m)=>{if(t.instance.git_branch)m(C)})}var q=s(N,2);{var H=(m)=>{var T=na(),D=n(T,!0);f(T),F(()=>Y(D,t.instance.error)),c(m,T)};M(q,(m)=>{if(t.instance.status==="error"&&t.instance.error)m(H)})}var J=s(q,2),me=n(J);{var Ne=(m)=>{var T=ca(),D=Se(T);{let ye=I(()=>`/ide/${t.instance.id}`);be(D,{variant:"primary",size:"sm",get href(){return e(ye)},children:(Re,x)=>{se();var $=Ee();F(()=>Y($,t.instance.mode==="terminal"?"Open terminal":"Open IDE")),c(Re,$)},$$slots:{default:!0}})}var U=s(D,2);be(U,{size:"sm",onclick:()=>t.onact("stop"),children:(ye,Re)=>{se();var x=Ee("Stop");c(ye,x)},$$slots:{default:!0}}),c(m,T)},z=(m)=>{be(m,{size:"sm",onclick:()=>t.onact("start"),children:(T,D)=>{se();var U=Ee("Start");c(T,U)},$$slots:{default:!0}})},B=(m)=>{{let T=I(()=>Ke(`/instances/${t.instance.id}`));be(m,{size:"sm",get href(){return e(T)},target:"_blank",rel:"noopener noreferrer",children:(D,U)=>{se();var ye=Ee("View logs");c(D,ye)},$$slots:{default:!0}})}};M(me,(m)=>{if(t.instance.status==="running")m(Ne);else if(t.instance.status==="stopped"||t.instance.status==="error"&&t.instance.container_id)m(z,1);else if(t.instance.status==="creating")m(B,2)})}var _=s(me,2);{var g=(m)=>{be(m,{size:"sm",title:"Recreate the container and re-run setup (credentials, hooks, port forwards)",onclick:()=>t.onact("rebuild"),children:(T,D)=>{se();var U=Ee("Rebuild");c(T,U)},$$slots:{default:!0}})};M(_,(m)=>{if(e(d))m(g)})}var y=s(_,2);{let m=I(()=>Ke(`/instances/${t.instance.id}`));be(y,{size:"sm",ghost:!0,get href(){return e(m)},target:"_blank",rel:"noopener noreferrer",children:(T,D)=>{se();var U=Ee("Details");c(T,U)},$$slots:{default:!0}})}var Q=s(y,2);be(Q,{variant:"danger",size:"sm",onclick:()=>t.onact("delete"),children:(m,T)=>{se();var D=Ee("Delete");c(m,D)},$$slots:{default:!0}}),f(J),f(o),F(()=>{S=oe(o,1,"card panel svelte-13338y7",null,S,{busy:!!l()}),X(o,"aria-busy",!!l()||void 0),X(K,"title",t.instance.source_path),Y(Z,t.instance.source_path)}),c(i,o),ie()}Te(["keydown","click"]);var sa=new Set(["$$slots","$$events","$$legacy"]);function pt(i,t){let a=fe(t,sa),l=[["path",{d:"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z"}],["path",{d:"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z"}],["path",{d:"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z"}],["path",{d:"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z"}]];ce(i,ne({name:"component"},()=>a,{get iconNode(){return l}}))}var oa=new Set(["$$slots","$$events","$$legacy"]);function Mt(i,t){let a=fe(t,oa),l=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];ce(i,ne({name:"package"},()=>a,{get iconNode(){return l}}))}var ma=u('<a class="brand svelte-94cd8h" href="/"><span class="logo svelte-94cd8h"><!></span><span class="words svelte-94cd8h"><span>Codebay</span><span class="tagline svelte-94cd8h">devcontainer manager</span></span></a>');function Xt(i,t){te(t,!0);var a=ma(),l=n(a),d=n(l);{var h=(S)=>{He(S,{get art(){return t.pet},get name(){return t.pet.name},scale:4})},o=(S)=>{Mt(S,{size:22})};M(d,(S)=>{if(t.pet)S(h);else S(o,-1)})}f(l),se(),f(a),c(i,a),ie()}var ga=u('<button type="button" role="radio"> </button>'),ua=u('<div class="picker svelte-12yor8r" role="radiogroup" aria-label="Filter instances"></div>');function jt(i,t){te(t,!0);let a=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"stopped",label:"Stopped"}];var l=ua();Ie(l,21,()=>a,(d)=>d.value,(d,h)=>{var o=ga();let S;var b=n(o,!0);f(o),F(()=>{S=oe(o,1,"segment svelte-12yor8r",null,S,{active:t.value===e(h).value}),X(o,"aria-checked",t.value===e(h).value),Y(b,e(h).label)}),W("click",o,()=>t.onchange(e(h).value)),c(d,o)}),f(l),c(i,l),ie()}Te(["click"]);var va=new Set(["$$slots","$$events","$$legacy"]);function at(i,t){let a=fe(t,va),l=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];ce(i,ne({name:"settings"},()=>a,{get iconNode(){return l}}))}var ha=u('<a class="cog svelte-1e745g8" target="_blank" rel="noopener noreferrer" aria-label="Settings" title="Settings"><!></a>');function qt(i,t){te(t,!1),xi();var a=ha(),l=n(a);at(l,{size:16}),f(a),F((d)=>X(a,"href",d),[()=>Ke("/settings")]),c(i,a),ie()}var xa=new Set(["$$slots","$$events","$$legacy"]);function yt(i,t){let a=fe(t,xa),l=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];ce(i,ne({name:"link"},()=>a,{get iconNode(){return l}}))}var Sa=u('<button type="button" class="cred-row svelte-vongf9" role="menuitem"><span></span> <span class="cred-label"> </span> <span class="cred-state svelte-vongf9"> </span></button>'),wa=u('<div class="cred-dropdown panel svelte-vongf9" role="menu"></div>'),Ia=u('<div class="cred-menu svelte-vongf9"><button aria-haspopup="menu" aria-label="Credentials" title="Credentials"><!></button> <!></div>');function _t(i,t){te(t,!0);let a=w(!1),l=I(()=>t.auth.filter((L)=>L.available).length),d=I(()=>e(l)===t.auth.length?"ok":e(l)===0?"error":"warn"),h={ok:yt,warn:et,error:ft},o=I(()=>h[e(d)]);function S(L){if(L.available)ct.success(`${L.label} credentials come from ${L.source}.`);else{let R=L.hint?` — ${L.hint}`:"";ct.error(`No ${L.label} credentials found${R}.`)}}he(()=>{if(!e(a))return;let L=(P)=>{if(!P.target?.closest(".cred-menu"))r(a,!1)},R=(P)=>{if(P.key==="Escape")r(a,!1)};return window.addEventListener("click",L),window.addEventListener("keydown",R),()=>{window.removeEventListener("click",L),window.removeEventListener("keydown",R)}});var b=Ia(),A=n(b),V=n(A);Si(V,()=>e(o),(L,R)=>{R(L,{size:16})}),f(A);var O=s(A,2);{var j=(L)=>{var R=wa();Ie(R,21,()=>t.auth,(P)=>P.id,(P,E)=>{var G=Sa(),K=n(G),Z=s(K,2),k=n(Z,!0);f(Z);var v=s(Z,2),N=n(v,!0);f(v),f(G),F(()=>{X(G,"title",e(E).available?`Credentials from ${e(E).source}, copied into each new instance.`:`No credentials found on this computer${e(E).hint?` — ${e(E).hint}`:""}.`),oe(K,1,`dot ${e(E).available?"on":"off"}`,"svelte-vongf9"),Y(k,e(E).label),Y(N,e(E).available?"Authorized":"Not found")}),W("click",G,()=>S(e(E))),c(P,G)}),f(R),c(L,R)};M(O,(L)=>{if(e(a))L(j)})}f(b),F(()=>{oe(A,1,`cred ${e(d)??""}`,"svelte-vongf9"),X(A,"aria-expanded",e(a))}),W("click",A,()=>r(a,!e(a))),c(i,b),ie()}Te(["click"]);var ba=u('<header class="topbar svelte-1h259us"><!> <div class="topbar-actions svelte-1h259us"><!> <!> <!> <!> <!> <div class="new-group svelte-1h259us"><!> <!></div></div></header>');function ei(i,t){te(t,!0);let a=ve(t,"canDelete",3,!1),l=ve(t,"ready",3,!0),d=ve(t,"creating",3,!1),h=ve(t,"defaultMode",3,"ide"),o=I(()=>h()==="terminal"?"ide":"terminal");var S=ba(),b=n(S);Xt(b,{get pet(){return t.pet}});var A=s(b,2),V=n(A);{var O=(k)=>{be(k,{variant:"default",size:"sm",get icon(){return pt},href:"/debug",children:(v,N)=>{se();var C=Ee("Debug");c(v,C)},$$slots:{default:!0}})};M(V,(k)=>{if(wi)k(O)})}var j=s(V,2);{var L=(k)=>{jt(k,{get value(){return t.filter},get onchange(){return t.onFilter}})};M(j,(k)=>{if(t.filter&&t.onFilter)k(L)})}var R=s(j,2);qt(R,{});var P=s(R,2);_t(P,{get auth(){return t.auth}});var E=s(P,2);{let k=I(()=>!a());be(E,{variant:"danger",size:"sm",get onclick(){return t.onDeleteAll},get disabled(){return e(k)},children:(v,N)=>{se();var C=Ee("Delete all");c(v,C)},$$slots:{default:!0}})}var G=s(E,2),K=n(G);{let k=I(()=>d()?void 0:Lt),v=I(()=>!l()||d());be(K,{variant:"primary",size:"sm",get icon(){return e(k)},onclick:()=>t.onNew?.(),get disabled(){return e(v)},children:(N,C)=>{se();var q=Ee();F(()=>Y(q,d()?"Creating…":"New instance")),c(N,q)},$$slots:{default:!0}})}var Z=s(K,2);{let k=I(()=>e(o)==="terminal"?tt:it),v=I(()=>!l()||d()),N=I(()=>e(o)==="terminal"?"New terminal instance":"New full IDE instance"),C=I(()=>e(o)==="terminal"?"New terminal instance":"New full IDE instance");be(Z,{variant:"primary",size:"sm",square:!0,get icon(){return e(k)},iconSize:15,onclick:()=>t.onNew?.(e(o)),get disabled(){return e(v)},get title(){return e(N)},get "aria-label"(){return e(C)}})}f(G),f(A),f(S),c(i,S),ie()}var Na=u("<span>Docker daemon is not reachable.</span>"),$a=u("<span>The devcontainer CLI is not available.</span>"),Ea=u('<div class="banner error svelte-146pixd"><strong>Setup needed.</strong> <!> <!></div>'),Ca=u('<div class="banner error svelte-146pixd"><strong>Error.</strong> <span> </span></div>'),pa=u('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd">Loading…</p></div>'),Ma=u('<div class="empty svelte-146pixd"><p class="empty-title svelte-146pixd">No instances yet</p> <p class="empty-sub svelte-146pixd">Pick a project folder to spin up an isolated devcontainer.</p> <!></div>'),ya=u('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd"> </p></div>'),La=u('<ul class="grid svelte-146pixd"></ul>'),Ta=u('<!> <main class="stage svelte-146pixd"><!> <!> <!></main> <!>',1);function ti(i,t){te(t,!0);let a=w(!1),l=w(null),d=w(!1),h=w(null),o=w(null),S=w(""),b=w(we({})),A=I(()=>t.preflight.docker&&t.preflight.cli),V=I(()=>t.instances.filter((g)=>{if(t.filter==="active")return g.status==="running"||g.status==="creating";if(t.filter==="stopped")return g.status==="stopped"||g.status==="error";return!0}));he(()=>{for(let[g,{since:y}]of Object.entries(e(b))){let Q=t.instances.find((m)=>m.id===g);if(!Q||Q.status!==y)O(g)}});function O(g){let{[g]:y,...Q}=e(b);r(b,Q,!0)}async function j(g,y){r(a,!1),r(d,!0),r(h,null);try{await ze("/api/instances",{sourcePath:g,branch:y?.branch,mode:y?.mode},"Failed to create instance")}catch(Q){r(h,Q.message,!0)}finally{r(d,!1)}}async function L(g,y){if(r(h,null),y==="delete"&&!confirm("Delete this instance and its copied files?"))return;if(y==="rebuild"&&!confirm("Recreate this container and re-run setup? The workspace is kept."))return;let Q=t.instances.find((m)=>m.id===g)?.status;if(Q)r(b,{...e(b),[g]:{action:y,since:Q}},!0);try{await ze(`/api/instances/${g}/${y}`,void 0,`Failed to ${y}`)}catch(m){r(h,m.message,!0),O(g)}}function R(g){r(o,g.id,!0),r(S,g.name,!0)}function P(){r(o,null),r(S,"")}async function E(g){let y=e(S).trim(),Q=t.instances.find((m)=>m.id===g)?.name;if(!y||y===Q){P();return}P(),r(h,null);try{await ze(`/api/instances/${g}/rename`,{name:y},"Failed to rename")}catch(m){r(h,m.message,!0)}}async function G(){if(r(h,null),!confirm(`Delete all ${t.instances.length} instances and their copied files?`))return;try{await ze("/api/instances/delete-all",void 0,"Failed to delete all")}catch(g){r(h,g.message,!0)}}var K=Ta(),Z=Se(K);{let g=I(()=>t.instances.length>0);ei(Z,{get auth(){return t.preflight.auth},get pet(){return t.pet},get canDelete(){return e(g)},get ready(){return e(A)},get creating(){return e(d)},get filter(){return t.filter},get onFilter(){return t.onFilter},get defaultMode(){return t.preflight.defaultMode},onNew:(y)=>{r(l,y??null,!0),r(a,!0)},onDeleteAll:G})}var k=s(Z,2),v=n(k);{var N=(g)=>{var y=Ea(),Q=s(n(y),2);{var m=(U)=>{var ye=Na();c(U,ye)};M(Q,(U)=>{if(!t.preflight.docker)U(m)})}var T=s(Q,2);{var D=(U)=>{var ye=$a();c(U,ye)};M(T,(U)=>{if(!t.preflight.cli)U(D)})}f(y),c(g,y)};M(v,(g)=>{if(!e(A))g(N)})}var C=s(v,2);{var q=(g)=>{var y=Ca(),Q=s(n(y),2),m=n(Q,!0);f(Q),f(y),F(()=>Y(m,e(h))),c(g,y)};M(C,(g)=>{if(e(h))g(q)})}var H=s(C,2);{var J=(g)=>{var y=pa();c(g,y)},me=(g)=>{var y=Ma(),Q=s(n(y),4);{let m=I(()=>!e(A));be(Q,{variant:"primary",get icon(){return Lt},onclick:()=>r(a,!0),get disabled(){return e(m)},children:(T,D)=>{se();var U=Ee("New instance");c(T,U)},$$slots:{default:!0}})}f(y),c(g,y)},Ne=(g)=>{var y=ya(),Q=n(y),m=n(Q);f(Q),f(y),F(()=>Y(m,`No ${t.filter??""} instances.`)),c(g,y)},z=(g)=>{var y=La();Ie(y,21,()=>e(V),(Q)=>Q.id,(Q,m)=>{{let T=I(()=>e(o)===e(m).id),D=I(()=>e(b)[e(m).id]?.action??null);Ut(Q,{get instance(){return e(m)},get editing(){return e(T)},get pending(){return e(D)},onact:(U)=>L(e(m).id,U),onstartrename:()=>R(e(m)),oncommitrename:()=>E(e(m).id),oncancelrename:P,get editingName(){return e(S)},set editingName(U){r(S,U,!0)}})}}),f(y),c(g,y)};M(H,(g)=>{if(!t.loaded)g(J);else if(t.instances.length===0)g(me,1);else if(e(V).length===0)g(Ne,2);else g(z,-1)})}f(k);var B=s(k,2);{var _=(g)=>{Ht(g,{onpick:j,get defaultMode(){return t.preflight.defaultMode},get initialMode(){return e(l)},onclose:()=>r(a,!1)})};M(B,(g)=>{if(e(a))g(_)})}c(i,K),ie()}var Pa=new Set(["$$slots","$$events","$$legacy"]);function lt(i,t){let a=fe(t,Pa),l=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}]];ce(i,ne({name:"rotate-cw"},()=>a,{get iconNode(){return l}}))}var Fa=u('<div class="tab-label editing svelte-r39acv"><!> <input class="tab-name-edit svelte-r39acv"/></div>'),Aa=u('<span class="tab-mode svelte-r39acv" title="Terminal-only instance"><!></span>'),za=u('<span class="tab-mode svelte-r39acv" title="Full IDE instance"><!></span>'),ka=u('<button type="button" class="tab-label svelte-r39acv"><!> <span class="tab-name svelte-r39acv"> </span> <!></button>'),Va=u("<div><!></div>"),Ra=u('<nav class="tabs svelte-r39acv"></nav>'),Da=u('<button type="button" class="reload svelte-r39acv" title="Reload editor" aria-label="Reload editor"><!></button>'),Wa=u('<!> <div class="right svelte-r39acv"><!> <a class="cog svelte-r39acv" target="_blank" rel="noopener noreferrer" title="Settings" aria-label="Settings"><!></a></div>',1);function ii(i,t){te(t,!0);let a=ve(t,"editingName",15);Ii(i,{children:(l,d)=>{var h=Wa(),o=Se(h);{var S=(L)=>{var R=Ra();Ie(R,21,()=>t.running,(P)=>P.id,(P,E)=>{var G=Va();let K;var Z=n(G);{var k=(N)=>{var C=Fa(),q=n(C);{let J=I(()=>Ze(e(E).avatar??void 0)??null);He(q,{get name(){return e(E).name},get art(){return e(J)},scale:4})}var H=s(q,2);De(H),Ct(H,!0),f(C),Ae("focus",H,(J)=>J.currentTarget.select()),Ae("blur",H,()=>t.oncommitrename(e(E).id)),W("keydown",H,(J)=>{if(J.key==="Enter")J.currentTarget.blur();else if(J.key==="Escape")t.oncancelrename()}),We(H,a),c(N,C)},v=(N)=>{var C=ka(),q=n(C);{let B=I(()=>Ze(e(E).avatar??void 0)??null);He(q,{get name(){return e(E).name},get art(){return e(B)},scale:4})}var H=s(q,2),J=n(H,!0);f(H);var me=s(H,2);{var Ne=(B)=>{var _=Aa(),g=n(_);tt(g,{size:13}),f(_),c(B,_)},z=(B)=>{var _=za(),g=n(_);it(g,{size:13}),f(_),c(B,_)};M(me,(B)=>{if(e(E).mode==="terminal")B(Ne);else B(z,-1)})}f(C),F(()=>{X(C,"title",e(E).name),Y(J,e(E).name)}),W("click",C,()=>t.onselect(e(E).id)),W("dblclick",C,()=>t.onstartrename(e(E))),c(N,C)};M(Z,(N)=>{if(t.editingId===e(E).id)N(k);else N(v,-1)})}f(G),F(()=>K=oe(G,1,"tab svelte-r39acv",null,K,{active:e(E).id===t.active,"attn-done":e(E).id!==t.active&&t.attention[e(E).id]==="done","attn-waiting":e(E).id!==t.active&&t.attention[e(E).id]==="waiting"})),c(P,G)}),f(R),c(L,R)};M(o,(L)=>{if(t.running.length>0)L(S)})}var b=s(o,2),A=n(b);{var V=(L)=>{var R=Da(),P=n(R);lt(P,{size:18}),f(R),W("click",R,function(...E){t.onreload?.apply(this,E)}),c(L,R)};M(A,(L)=>{if(t.onreload)L(V)})}var O=s(A,2),j=n(O);at(j,{size:18}),f(O),f(b),F((L)=>X(O,"href",L),[()=>Ke("/settings")]),c(l,h)},$$slots:{default:!0}}),ie()}Te(["keydown","click","dblclick"]);var Ba=u('<div class="row svelte-w5e143"> </div>'),Oa=u('<div class="stalled svelte-w5e143"><p class="svelte-w5e143"> </p> <!></div>'),Ja=u('<div class="loader svelte-w5e143"><div class="grid svelte-w5e143" aria-hidden="true"></div> <div class="label svelte-w5e143"> <span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span></div> <!></div>');function Tt(i,t){te(t,!0);let a=ve(t,"speed",3,1),l=ve(t,"mode",3,"ide"),d=I(()=>l()==="terminal"),h=w(!1);he(()=>{if(t.stalledAfterMs===void 0)return;let Z=setTimeout(()=>r(h,!0),t.stalledAfterMs);return()=>clearTimeout(Z)});let o=3,S=22,b=140,A=7,V=I(()=>Math.max(20,b/a())),j=w(we((()=>Array.from({length:o},()=>Array.from({length:S},()=>Math.random()<0.5?0:1)))()));he(()=>{if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let Z=setInterval(()=>{let k=e(j).map((v)=>v.slice());for(let v=0;v<A;v++){let N=k[Math.floor(Math.random()*o)],C=Math.floor(Math.random()*S);N[C]=N[C]?0:1}r(j,k,!0)},e(V));return()=>clearInterval(Z)});var L=Ja(),R=n(L);Ie(R,21,()=>e(j),bi,(Z,k)=>{var v=Ba(),N=n(v,!0);f(v),F((C)=>Y(N,C),[()=>e(k).join("")]),c(Z,v)}),f(R);var P=s(R,2),E=n(P);se(3),f(P);var G=s(P,2);{var K=(Z)=>{var k=Oa(),v=n(k),N=n(v);f(v);var C=s(v,2);{var q=(H)=>{be(H,{size:"sm",get onclick(){return t.onoverride},children:(J,me)=>{se();var Ne=Ee("Open anyway");c(J,Ne)},$$slots:{default:!0}})};M(C,(H)=>{if(t.onoverride)H(q)})}f(k),F(()=>Y(N,`Waiting for ${e(d)?"the terminal":"code-server"} to answer inside the container.`)),c(Z,k)};M(G,(Z)=>{if(e(h))Z(K)})}f(L),F(()=>Y(E,`Loading ${e(d)?"terminal":"editor"}`)),c(i,L),ie()}var Ka=new Set(["$$slots","$$events","$$legacy"]);function Pt(i,t){let a=fe(t,Ka),l=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M15 3v18"}],["path",{d:"m10 15-3-3 3-3"}]];ce(i,ne({name:"panel-right-open"},()=>a,{get iconNode(){return l}}))}var Za=new Set(["$$slots","$$events","$$legacy"]);function Ft(i,t){let a=fe(t,Za),l=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M15 3v18"}],["path",{d:"m8 9 3 3-3 3"}]];ce(i,ne({name:"panel-right-close"},()=>a,{get iconNode(){return l}}))}var Ha=u('<span class="status svelte-ui3nvu">connecting…</span>'),Qa=u('<div class="term svelte-ui3nvu"></div> <div class="overlay svelte-ui3nvu"><!> <!> <button type="button" title="Reload terminal (reconnects, keeps the session)" aria-label="Reload terminal"><!></button></div>',1);function At(i,t){te(t,!0);let a=ve(t,"focus",3,!0),l,d,h,o,S,b=!1,A=w(!1),V=0,O="0",j="1",L=48,R=new TextEncoder;function P(z){if(o?.readyState===WebSocket.OPEN)o.send(R.encode(z))}function E(z){let B=new Uint8Array(z);if(B.length===0)return;if(B[0]===L)d?.write(B.subarray(1))}function G(){let z=++V,B=location.protocol==="https:"?"wss:":"ws:",_=t.arg?`?arg=${encodeURIComponent(t.arg)}`:"",g=new WebSocket(`${B}//${location.host}/p/${t.id}/ws${_}`,["tty"]);o=g,g.binaryType="arraybuffer",g.onopen=()=>{if(V!==z)return;r(A,!0),P(JSON.stringify({AuthToken:"",columns:d?.cols??80,rows:d?.rows??24}))},g.onmessage=(y)=>{if(V===z)E(y.data)},g.onclose=()=>{if(V!==z||b)return;r(A,!1),S=setTimeout(G,1000)},g.onerror=()=>{try{g.close()}catch{}}}function K(){if(S)clearTimeout(S);V++,r(A,!1),d?.reset();let z=o;o=void 0;let B=!1,_=()=>{if(B||b)return;if(B=!0,Z(),G(),t.active&&a())d?.focus()};if(z&&z.readyState!==WebSocket.CLOSED){z.addEventListener("close",_,{once:!0}),setTimeout(_,1500);try{z.close()}catch{}}else _()}function Z(){if(l?.clientWidth>0&&l?.clientHeight>0)try{h?.fit()}catch{}}function k(){if(!d)return;let z=getComputedStyle(document.documentElement),B=z.getPropertyValue("--bg").trim()||"#1a1a1a",_=z.getPropertyValue("--ink").trim()||"#e6e6e6";d.options.theme={background:B,foreground:_,cursor:_,cursorAccent:B}}Ci(()=>{let z;(async()=>{let[{Terminal:_},{FitAddon:g}]=await Promise.all([import("/_mochi/client/chunk-p20tkpde.js"),import("/_mochi/client/chunk-0fjx3z3r.js")]);if(b)return;if(d=new _({fontFamily:"'JetBrains Mono Variable', ui-monospace, monospace",fontSize:13,cursorBlink:!0,scrollback:1e4,allowProposedApi:!0}),h=new g,d.loadAddon(h),d.open(l),k(),Z(),d.onData((y)=>P(O+y)),d.onResize(({cols:y,rows:Q})=>P(j+JSON.stringify({columns:y,rows:Q}))),z=new MutationObserver(k),z.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),G(),t.active&&a())d.focus()})();let B=new ResizeObserver(()=>Z());return B.observe(l),()=>{if(b=!0,B.disconnect(),z?.disconnect(),S)clearTimeout(S);try{o?.close()}catch{}d?.dispose()}}),he(()=>{if(t.active&&d){if(Z(),a())d.focus()}});var v=Qa(),N=Se(v);Be(N,(z)=>l=z,()=>l);var C=s(N,2),q=n(C);{var H=(z)=>{var B=Ha();c(z,B)};M(q,(z)=>{if(!e(A))z(H)})}var J=s(q,2);Ei(J,()=>t.actions??$i);var me=s(J,2),Ne=n(me);lt(Ne,{size:14}),f(me),f(C),W("click",me,K),c(i,v),ie()}Te(["click"]);var Ya=u('<button type="button"><!></button>'),Ga=u('<div role="separator" aria-orientation="vertical" aria-label="Resize terminal panes" tabindex="0"></div> <div><!></div>',1),Ua=u('<div class="split svelte-1ysvu88"><div class="side svelte-1ysvu88"><!></div> <!></div>');function li(i,t){te(t,!0);let a=(v)=>{var N=Ya(),C=n(N);{var q=(J)=>{Ft(J,{size:14})},H=(J)=>{Pt(J,{size:14})};M(C,(J)=>{if(e(d))J(q);else J(H,-1)})}f(N),F(()=>{X(N,"aria-pressed",e(d)),X(N,"title",e(d)?"Hide the shell pane":"Open a shell alongside Claude"),X(N,"aria-label",e(d)?"Hide the shell pane":"Open a shell alongside Claude")}),W("click",N,A),c(v,N)},l=ve(t,"initialOpen",3,!1),d=w(we(l())),h=w(we(l())),o=w(50),S=w("left"),b;function A(){if(r(d,!e(d)),e(d))r(h,!0);r(S,e(d)?"right":"left",!0),ze(`/api/instances/${t.id}/split`,{open:e(d)}).catch(()=>{})}function V(v){return Math.min(80,Math.max(20,v))}function O(v){let N=b.getBoundingClientRect();if(N.width>0)r(o,V((v-N.left)/N.width*100),!0)}function j(v){v.preventDefault(),v.currentTarget.setPointerCapture(v.pointerId)}function L(v){if(v.currentTarget.hasPointerCapture(v.pointerId))O(v.clientX)}function R(v){if(v.key==="ArrowLeft")r(o,V(e(o)-5),!0);else if(v.key==="ArrowRight")r(o,V(e(o)+5),!0);else return;v.preventDefault()}var P=Ua(),E=n(P);let G;var K=n(E);{let v=I(()=>t.active&&e(S)==="left"),N=I(()=>e(d)?void 0:a);At(K,{get id(){return t.id},get active(){return t.active},get focus(){return e(v)},get actions(){return e(N)}})}f(E);var Z=s(E,2);{var k=(v)=>{var N=Ga(),C=Se(N);let q;X(C,"aria-valuemin",20),X(C,"aria-valuemax",80);var H=s(C,2);let J,me;var Ne=n(H);{let z=I(()=>t.active&&e(d)),B=I(()=>t.active&&e(d)&&e(S)==="right"),_=I(()=>e(d)?a:void 0);At(Ne,{get id(){return t.id},arg:"shell",get active(){return e(z)},get focus(){return e(B)},get actions(){return e(_)}})}f(H),F((z)=>{q=oe(C,1,"divider svelte-1ysvu88",null,q,{hidden:!e(d)}),X(C,"aria-valuenow",z),J=oe(H,1,"side svelte-1ysvu88",null,J,{hidden:!e(d)}),me=ai(H,"",me,{"flex-basis":`${100-e(o)}%`})},[()=>Math.round(e(o))]),W("pointerdown",C,j),W("pointermove",C,L),W("dblclick",C,()=>r(o,50)),W("keydown",C,R),Ae("pointerdown",H,()=>r(S,"right"),!0),c(v,N)};M(Z,(v)=>{if(e(h))v(k)})}f(P),Be(P,(v)=>b=v,()=>b),F(()=>G=ai(E,"",G,{"flex-basis":e(d)?`${e(o)}%`:"100%"})),Ae("pointerdown",E,()=>r(S,"left"),!0),c(i,P),ie()}Te(["click","pointerdown","pointermove","dblclick","keydown"]);var Xa=u('<iframe class="svelte-1duc7gd"></iframe>'),ja=u("<div><!> <!></div>"),qa=u('<div class="empty svelte-1duc7gd">No running instances.</div>'),_a=u("<div><!> <div><!> <!></div></div> <!>",1);function fi(i,t){te(t,!0);let a=w(we(t.snapshot)),l=w(we(t.preflight)),d=w(we(t.pet)),h=w(we(t.filter)),o=w(t.snapshot.length>0),S=I(()=>e(a).filter((x)=>x.status==="running")),b=w(we(Object.fromEntries(t.snapshot.map((x)=>[x.id,x.attention])))),A=w(null),V=w("");function O(x){r(A,x.id,!0),r(V,x.name,!0)}function j(){r(A,null),r(V,"")}async function L(x){let $=e(V).trim(),ue=e(a).find((Le)=>Le.id===x)?.name;if(!$||$===ue){j();return}j();try{await ze(`/api/instances/${x}/rename`,{name:$},"Failed to rename")}catch(Le){ct.error(Le.message)}}function R(x){r(h,x,!0),ze("/api/settings/filter",{value:x}).catch(()=>{})}let P=w(we(t.initialPath)),E=I(()=>e(P).startsWith("/ide")),G=I(()=>e(P).startsWith("/ide/")?e(P).slice(5):""),K=I(()=>e(E)?e(S).some((x)=>x.id===e(G))?e(G):e(S)[0]?.id??"":"");function Z(x){if(x===e(P))return;history.pushState({},"",x),r(P,x,!0)}he(()=>{function x($){if($.defaultPrevented||$.button!==0||$.metaKey||$.ctrlKey||$.shiftKey||$.altKey)return;let ue=$.target?.closest?.("a");if(!ue)return;let Le=ue.getAttribute("href");if(!Le||ue.target==="_blank"||ue.hasAttribute("download"))return;let Ce=new URL(Le,location.href);if(Ce.origin!==location.origin)return;if(Ce.pathname==="/"||Ce.pathname.startsWith("/ide/"))$.preventDefault(),Z(Ce.pathname)}return document.addEventListener("click",x),()=>document.removeEventListener("click",x)}),he(()=>{function x(){r(P,location.pathname,!0)}return window.addEventListener("popstate",x),()=>window.removeEventListener("popstate",x)}),he(()=>{if(e(S).length===0)return;function x($){$.preventDefault(),$.returnValue=""}return window.addEventListener("beforeunload",x),()=>window.removeEventListener("beforeunload",x)});let k=new Ve;he(()=>{if(e(K))k.add(e(K))});let v=new Ve,N=new Ve,C=new Ve,q=(x)=>N.has(x)||C.has(x),H=1e4,J=I(()=>e(S).find((x)=>x.id===e(K))),me={};function Ne(){let x=e(J);if(!x||x.mode==="terminal")return;v.delete(x.id),me[x.id]?.contentWindow?.location.replace(ri(x))}he(()=>{document.title=e(E)&&e(J)?`${e(J).name} — Codebay`:"Codebay"}),he(()=>{return window.addEventListener("pointerdown",dt),window.addEventListener("keydown",dt),()=>{window.removeEventListener("pointerdown",dt),window.removeEventListener("keydown",dt)}}),he(()=>{let x=!1;return Li(($)=>{if($.type==="preflight"){r(l,{...e(l),docker:$.data.docker,cli:$.data.cli},!0);return}if($.type==="pet"){r(d,Ze($.data.name??void 0),!0);return}if($.type==="filter"){r(h,$.data.value,!0);return}if($.type==="default-mode"){r(l,{...e(l),defaultMode:$.data.mode},!0);return}if($.type==="health"){let ee=e(a).find((pe)=>pe.id===$.data.id);if($.data.health.codeServerAccessible&&ee?.status==="running")N.add($.data.id);return}if($.type!=="instances")return;let ue=$.data,Le=new Set(ue.filter((ee)=>ee.status==="running").map((ee)=>ee.id));for(let ee of[...N])if(!Le.has(ee))N.delete(ee);for(let ee of[...C])if(!Le.has(ee))C.delete(ee);for(let ee of[...v])if(!Le.has(ee))v.delete(ee);let Ce={};for(let ee of ue)Ce[ee.id]=ee.attention;if(x)for(let ee in Ce){let pe=Ce[ee];if(pe&&pe!==e(b)[ee])if(ee===e(K))console.log(`[chime] attention id=${ee} state=${pe} — skipped (tab is active/focused)`);else console.log(`[chime] attention id=${ee} state=${pe} → playChime`),yi(pe)}else console.log("[chime] first frame after (re)connect — baselining, no chimes");x=!0,r(a,ue,!0),r(b,Ce,!0),r(o,!0)},()=>{x=!1})}),he(()=>{if(!e(K)||!e(b)[e(K)])return;let x=()=>{if(document.visibilityState==="visible")ze(`/api/instances/${e(K)}/attention/clear`).catch(()=>{})};return x(),document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)});var z=_a(),B=Se(z);let _;var g=n(B);{var y=(x)=>{{let $=I(()=>e(J)&&e(J).mode!=="terminal"&&q(e(K))?Ne:void 0);ii(x,{get running(){return e(S)},get active(){return e(K)},get attention(){return e(b)},get editingId(){return e(A)},get onreload(){return e($)},onselect:(ue)=>Z(`/ide/${ue}`),onstartrename:O,oncommitrename:L,oncancelrename:j,get editingName(){return e(V)},set editingName(ue){r(V,ue,!0)}})}},Q=(x)=>{ti(x,{get preflight(){return e(l)},get instances(){return e(a)},get loaded(){return e(o)},get pet(){return e(d)},get filter(){return e(h)},onFilter:R})};M(g,(x)=>{if(e(E))x(y);else x(Q,-1)})}var m=s(g,2);let T;var D=n(m);Ie(D,17,()=>e(S),(x)=>x.id,(x,$)=>{var ue=nt(),Le=Se(ue);{var Ce=(pe)=>{var Qe=ja();let st;var ot=n(Qe);{var zt=(ge)=>{var Ye=nt(),Ge=Se(Ye);{var Pe=(de)=>{{let re=I(()=>e($).id===e(K)),xe=I(()=>e($).terminal_split===1);li(de,{get id(){return e($).id},get active(){return e(re)},get initialOpen(){return e(xe)}})}},Me=(de)=>{var re=Xa();Be(re,(xe,Fe)=>me[Fe.id]=xe,(xe)=>me?.[xe.id],()=>[e($)]),F((xe)=>{X(re,"src",xe),X(re,"title",e($).name)},[()=>ri(e($))]),Ae("load",re,()=>v.add(e($).id)),pi(re),c(de,re)};M(Ge,(de)=>{if(e($).mode==="terminal")de(Pe);else de(Me,-1)})}c(ge,Ye)},mt=I(()=>q(e($).id));M(ot,(ge)=>{if(e(mt))ge(zt)})}var kt=s(ot,2);{var gt=(ge)=>{Tt(ge,{get mode(){return e($).mode},stalledAfterMs:H,onoverride:()=>C.add(e($).id)})},ut=I(()=>!q(e($).id)),p=(ge)=>{Tt(ge,{})},ae=I(()=>e($).mode!=="terminal"&&!v.has(e($).id));M(kt,(ge)=>{if(e(ut))ge(gt);else if(e(ae))ge(p,1)})}f(Qe),F(()=>st=oe(Qe,1,"pane svelte-1duc7gd",null,st,{active:e($).id===e(K)})),c(pe,Qe)},ee=I(()=>k.has(e($).id));M(Le,(pe)=>{if(e(ee))pe(Ce)})}c(x,ue)});var U=s(D,2);{var ye=(x)=>{var $=qa();c(x,$)};M(U,(x)=>{if(e(E)&&e(S).length===0)x(ye)})}f(m),f(B);var Re=s(B,2);Mi(Re,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),F(()=>{_=oe(B,1,"app svelte-1duc7gd",null,_,{ide:e(E)}),T=oe(m,1,"panes svelte-1duc7gd",null,T,{hidden:!e(E)})}),c(i,z),ie()}Ti("AppShell_2rtnxn6pgp2rh",fi);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as ps}from"/_mochi/client/chunk-t0ap7q89.js";import{A as F,B,C as is,D as Qe,E as ms,s as T,t as y,u as H,v as U,w as M,x as Pe,y as Ke}from"/_mochi/client/chunk-k37wj1jm.js";import{F as S,G as fs}from"/_mochi/client/chunk-9143wy3j.js";import{Aa as A,Ca as c,Da as K,Ea as Z,Fa as hs,Ga as Ee,Ha as R,M as f,N as L,Na as oe,Oa as ss,Qa as Je,R as ue,Ra as ts,S as Te,Ta as ne,Va as ls,Wa as he,Ya as k,Za as d,_ as P,_a as rs,ba as Q,da as n,eb as as,fa as Se,ga as o,ha as os,ia as i,ma as C,ra as e,va as je,wa as j,xa as ye,ya as $}from"/_mochi/client/chunk-bn731rda.js";import"/_mochi/client/chunk-wvtkwfsh.js";var Ts=new Set(["$$slots","$$events","$$legacy"]);function xe(r,p){let l=k(p,Ts),m=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];S(r,d({name:"copy"},()=>l,{get iconNode(){return m}}))}var ys=new Set(["$$slots","$$events","$$legacy"]);function Ie(r,p){let l=k(p,ys),m=[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21"}],["path",{d:"m5.082 11.09 8.828 8.828"}]];S(r,d({name:"eraser"},()=>l,{get iconNode(){return m}}))}var Cs=new Set(["$$slots","$$events","$$legacy"]);function ge(r,p){let l=k(p,Cs),m=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z"}]];S(r,d({name:"contrast"},()=>l,{get iconNode(){return m}}))}var Ns=new Set(["$$slots","$$events","$$legacy"]);function ke(r,p){let l=k(p,Ns),m=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];S(r,d({name:"external-link"},()=>l,{get iconNode(){return m}}))}var pe=[{id:"black",label:"Black"},{id:"gray",label:"Gray"},{id:"cycle",label:"Cycle"}];function Fe(r,p){if(r==="black")return p===y?T:y;if(r==="gray")return p===H?T:H;return p===T?H:p===H?y:T}var qs="https://github.com/khromov/codebay";function Oe(r){return r.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"")}function _e(r){let p=[];for(let l=0;l<U;l++){let m="";for(let v=0;v<M;v++){let N=r[l*M+v];m+=N===y?"#":N===H?"+":"."}p.push(m)}return p}function de(r){let p=r.pixels.map((l)=>` '${l}'`).join(`,
|
|
2
2
|
`);return`import type { AvatarArt } from './types.ts';
|
|
3
3
|
|
|
4
4
|
const art: AvatarArt = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Zv,c as ml,d as Tv,e as pl,f as Cl,g as xl}from"/_mochi/client/chunk-pc0fm37c.js";import{q as fl}from"/_mochi/client/chunk-8xvr02wh.js";import{F as o,G as $v,I as al,J as yl}from"/_mochi/client/chunk-9143wy3j.js";import{Ba as n,Ca as m,Da as I,Ea as M,Ga as rv,Ha as vv,M as e,Ma as ll,N as g,Na as d,Oa as uv,Qa as sl,R as jv,S as zv,Ta as fv,Va as el,Wa as il,Ya as $,Za as _,_ as J,_a as G,ba as W,bb as hl,da as a,eb as Il,fa as qv,ga as i,ha as B,ia as f,ja as u,ma as N,qa as ov,ra as l,va as nv,wa as lv,xa as vl,ya as x}from"/_mochi/client/chunk-bn731rda.js";import"/_mochi/client/chunk-wvtkwfsh.js";var wl=new Set(["$$slots","$$events","$$legacy"]);function Mv(L,p){let S=$(p,wl),h=[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]];o(L,_({name:"arrow-left"},()=>S,{get iconNode(){return h}}))}var bl=new Set(["$$slots","$$events","$$legacy"]);function hv(L,p){let S=$(p,bl),h=[["path",{d:"M7 7h10v10"}],["path",{d:"M7 17 17 7"}]];o(L,_({name:"arrow-up-right"},()=>S,{get iconNode(){return h}}))}var Pl=new Set(["$$slots","$$events","$$legacy"]);function Wv(L,p){let S=$(p,Pl),h=[["path",{d:"M20 6 9 17l-5-5"}]];o(L,_({name:"check"},()=>S,{get iconNode(){return h}}))}var cl=x("<span></span>");function R(L,p){let S=G(p,"variant",3,"text");var h=cl();let Q;N(()=>{d(h,1,`skel ${S()??""}`,"svelte-tl058d"),Q=uv(h,"",Q,{width:p.width})}),m(L,h)}var dl=x('<div class="hrow svelte-1hnopyv"><span><!></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv"> </span></div>'),gl=x('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <!> <!></div>'),ul=x('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv">—</span></div>'),ql=x('<div><div class="panel-bar">Health</div> <div class="health svelte-1hnopyv"><!></div> <div class="hfoot svelte-1hnopyv"> </div></div>');function Yv(L,p){jv(p,!0);let S=G(p,"health",3,null),h=G(p,"lastFetchedAt",3,null),Q=G(p,"active",3,!0),mv=G(p,"injectionChecks",3,0),Y=G(p,"mode",3,"ide"),Z=J(()=>["Container running",Y()==="terminal"?"Terminal reachable":"Code-server reachable"]),K=J(()=>{if(!S())return[];let C=(t)=>({ok:t,value:t?"OK":"—"});return[{label:l(Z)[0],...C(S().containerRunning)},{label:l(Z)[1],...C(S().codeServerAccessible)},...S().injections.map((t)=>({label:t.label,...C(t.ok)}))]});function pv(){return S()?l(K).length:l(Z).length+mv()}let av=W(qv(Date.now()));u(()=>{let C=setInterval(()=>a(av,Date.now(),!0),1000);return()=>clearInterval(C)});let Dv=J(()=>{if(!Q()&&!S())return"Container not running";if(!h())return"Waiting for first check…";return`Updated ${Math.max(0,Math.round((l(av)-h())/1000))}s ago`});var T=ql();let U;var A=f(i(T),2),yv=i(A);{var q=(C)=>{var t=n(),w=B(t);vv(w,17,()=>l(K),(j)=>j.label,(j,O)=>{var z=dl(),D=i(z),V=i(D);{var r=(E)=>{Wv(E,{size:12,strokeWidth:3})},Xv=(E)=>{$v(E,{size:12,strokeWidth:3})};M(V,(E)=>{if(l(O).ok)E(r);else E(Xv,-1)})}e(D);var b=f(D,2),ev=i(b,!0);e(b);var xv=f(b,2),Lv=i(xv,!0);e(xv),e(z),N(()=>{d(D,1,`box ${l(O).ok?"ok":"bad"}`,"svelte-1hnopyv"),I(ev,l(O).label),I(Lv,l(O).value)}),m(j,z)}),m(C,t)},sv=(C)=>{var t=n(),w=B(t);vv(w,17,()=>Array(pv()),rv,(j,O)=>{var z=gl(),D=f(i(z),2);R(D,{width:"120px"});var V=f(D,2);R(V,{variant:"pill"}),e(z),m(j,z)}),m(C,t)},Hv=(C)=>{var t=n(),w=B(t);vv(w,16,()=>l(Z),(j)=>j,(j,O)=>{var z=ul(),D=f(i(z),2),V=i(D,!0);e(D),g(2),e(z),N(()=>I(V,O)),m(j,z)}),m(C,t)};M(yv,(C)=>{if(S())C(q);else if(Q())C(sv,1);else C(Hv,-1)})}e(A);var Cv=f(A,2),Kv=i(Cv,!0);e(Cv),e(T),N(()=>{U=d(T,1,"healthwrap panel svelte-1hnopyv",null,U,{dim:!Q()&&!S()}),I(Kv,l(Dv))}),m(L,T),zv()}var rl=x('<form method="POST" action="?/restart" class="svelte-15fxkvm"><button class="restart svelte-15fxkvm" type="submit"> </button></form> <a class="open svelte-15fxkvm" target="_blank" rel="noopener">Open in new tab <!></a>',1),$l=x('<p class="restart-err svelte-15fxkvm"> </p>'),_v=x('<code class="svelte-15fxkvm"> </code>'),_l=x('<code class="svelte-15fxkvm">local (project devcontainer.json)</code>'),ol=x('<code class="muted svelte-15fxkvm">—</code>'),nl=x('<button class="rebuild svelte-15fxkvm"> </button>'),v1=x('<li class="svelte-15fxkvm"><span class="cp svelte-15fxkvm"> </span> <span class="arr svelte-15fxkvm">→</span> <a target="_blank" rel="noopener" class="svelte-15fxkvm"> <!></a> <button class="rm svelte-15fxkvm" title="Remove">×</button></li>'),l1=x('<ul class="port-list svelte-15fxkvm"></ul>'),s1=x('<p class="empty svelte-15fxkvm">No ports forwarded yet.</p>'),e1=x('<p class="port-err svelte-15fxkvm"> </p>'),i1=x('<p class="hint pending svelte-15fxkvm">Port changes apply when you <strong class="svelte-15fxkvm">Restart</strong> (recreates the container).</p>'),h1=x('<span class="dot svelte-15fxkvm"></span>'),f1=x('<div class="err svelte-15fxkvm"> </div>'),m1=x('<header class="topbar svelte-15fxkvm"><a class="back svelte-15fxkvm" href="/"><!> All instances</a> <div class="title svelte-15fxkvm"><span class="name svelte-15fxkvm"> </span> <!></div> <!></header> <!> <main class="stage svelte-15fxkvm"><div class="meta svelte-15fxkvm"><span class="k svelte-15fxkvm">Source</span> <!> <span class="k svelte-15fxkvm">Image</span> <!></div> <div class="healthslot svelte-15fxkvm"><!></div> <section class="ports panel svelte-15fxkvm"><div class="ports-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Forwarded ports</span> <!></div> <div class="ports-body svelte-15fxkvm"><!> <form class="add svelte-15fxkvm"><input type="number" min="1" max="65535" placeholder="container port (e.g. 3000)" spellcheck="false" class="svelte-15fxkvm"/> <button type="submit" class="svelte-15fxkvm">Add</button></form> <!> <!> <p class="hint svelte-15fxkvm">Your app must bind to <code class="svelte-15fxkvm">0.0.0.0</code> inside the container to be reachable.</p></div></section> <div class="logwrap panel svelte-15fxkvm"><div class="log-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Boot log</span> <div class="log-actions svelte-15fxkvm"><button><!> </button> <button class="copy svelte-15fxkvm"> </button></div></div> <div class="logs svelte-15fxkvm"><pre class="svelte-15fxkvm"> <span class="caret svelte-15fxkvm"></span></pre></div> <!></div></main>',1);function Av(L,p){jv(p,!0);let S=G(p,"injectionChecks",3,0),h=W(null),Q=W(null),mv=W(null),Y=W(""),Z=W(null),K=W(!0);async function pv(){await ov(),l(Z)?.scrollTo(0,l(Z).scrollHeight)}u(()=>{if(!l(K)||l(Y).length===0)return;pv()});function av(){if(a(K,!l(K)),l(K))pv()}u(()=>yl()),u(()=>Cl(`/api/instances/${p.id}/logs`,(v)=>a(Y,l(Y)+v),()=>a(Y,""))),u(()=>xl((v)=>{if(v.type==="instances"){let s=v.data.find((y)=>y.id===p.id);if(s)a(h,s,!0)}else if(v.type==="health"&&v.data.id===p.id)a(Q,v.data.health,!0),a(mv,Date.now(),!0)}));let Dv=J(()=>l(h)?fl(l(h)):"#"),T=W(""),U=W(null),A=W(!1),yv=J(()=>l(h)?.forwarded_ports??[]),q=J(()=>l(h)?.status==="creating");async function sv(v){a(U,null);try{return await v(),!0}catch(s){return a(U,s.message,!0),!1}}async function Hv(v){v.preventDefault();let s=Number.parseInt(l(T),10);if(!Number.isInteger(s)||s<1||s>65535){a(U,"Enter a port number between 1 and 65535");return}if(await sv(()=>Zv(`/api/instances/${p.id}/ports`,{port:s})))a(T,""),a(A,!0)}async function Cv(v){if(await sv(()=>ml(`/api/instances/${p.id}/ports/${v}`)))a(A,!0)}async function Kv(){if(await sv(()=>Zv(`/api/instances/${p.id}/rebuild`)))a(A,!1)}let C=W(null),t=W(!1),w={onPending:(v)=>a(t,v,!0),submit:()=>{return a(C,null),({result:v})=>{if(v.type==="failure")a(C,v.data?.error??"Restart failed",!0);else if(v.type==="error")a(C,"Network error. Try again.")}}},j=W(!1),O;async function z(){await navigator.clipboard.writeText(l(Y)),a(j,!0),clearTimeout(O),O=setTimeout(()=>a(j,!1),2000)}var D=m1(),V=B(D),r=i(V),Xv=i(r);Mv(Xv,{size:15}),g(),e(r);var b=f(r,2),ev=i(b),xv=i(ev,!0);e(ev);var Lv=f(ev,2);{var E=(v)=>{pl(v,{get status(){return l(h).status}})},Sl=(v)=>{R(v,{variant:"pill"})};M(Lv,(v)=>{if(l(h))v(E);else v(Sl,-1)})}e(b);var tl=f(b,2);{var Nl=(v)=>{var s=rl(),y=B(s),F=i(y),c=i(F,!0);e(F),e(y),ll(y,()=>hl(w));var k=f(y,2),H=f(i(k));hv(H,{size:15}),e(k),N(()=>{F.disabled=l(t)||l(q),I(c,l(t)||l(q)?"Restarting…":"Restart container"),fv(k,"href",l(Dv))}),m(v,s)};M(tl,(v)=>{if(l(h)?.status==="running")v(Nl)})}e(V);var Vv=f(V,2);{var Ml=(v)=>{var s=$l(),y=i(s,!0);e(s),N(()=>I(y,l(C))),m(v,s)};M(Vv,(v)=>{if(l(C))v(Ml)})}var kv=f(Vv,2),Ov=i(kv),Uv=f(i(Ov),2);{var Wl=(v)=>{var s=_v(),y=i(s,!0);e(s),N(()=>I(y,l(h).source_path)),m(v,s)},jl=(v)=>{R(v,{variant:"wide"})};M(Uv,(v)=>{if(l(h))v(Wl);else v(jl,-1)})}var zl=f(Uv,4);{var Dl=(v)=>{var s=n(),y=B(s);{var F=(H)=>{var X=_l();m(H,X)},c=(H)=>{var X=_v(),Nv=i(X,!0);e(X),N(()=>I(Nv,l(h).image_source)),m(H,X)},k=(H)=>{var X=ol();m(H,X)};M(y,(H)=>{if(l(h).image_source==="local")H(F);else if(l(h).image_source)H(c,1);else H(k,-1)})}m(v,s)},Hl=(v)=>{R(v,{variant:"wide"})};M(zl,(v)=>{if(l(h))v(Dl);else v(Hl,-1)})}e(Ov);var Fv=f(Ov,2),Kl=i(Fv);{let v=J(()=>!l(h)||l(h).status==="running"),s=J(()=>l(h)?.mode??"ide");Yv(Kl,{get health(){return l(Q)},get lastFetchedAt(){return l(mv)},get injectionChecks(){return S()},get active(){return l(v)},get mode(){return l(s)}})}e(Fv);var Gv=f(Fv,2),Jv=i(Gv),Xl=f(i(Jv),2);{var Ll=(v)=>{var s=nl(),y=i(s,!0);e(s),N(()=>{s.disabled=l(q),I(y,l(q)?"Restarting…":"Restart to apply")}),lv("click",s,Kv),m(v,s)};M(Xl,(v)=>{if(l(A))v(Ll)})}e(Jv);var Ev=f(Jv,2),Rv=i(Ev);{var Ol=(v)=>{var s=l1();vv(s,21,()=>l(yv),(y)=>y.container_port,(y,F)=>{var c=v1(),k=i(c),H=i(k);e(k);var X=f(k,4),Nv=i(X),Ul=f(Nv);hv(Ul,{size:12}),e(X);var El=f(X,2);e(c),N((Rl,Bl)=>{I(H,`:${l(F).container_port??""}`),fv(X,"href",Rl),I(Nv,`${Bl??""} `)},[()=>Tv(l(F).host_port),()=>Tv(l(F).host_port).replace("http://","")]),lv("click",El,()=>Cv(l(F).container_port)),m(y,c)}),e(s),m(v,s)},Fl=(v)=>{var s=s1();m(v,s)};M(Rv,(v)=>{if(l(yv).length)v(Ol);else v(Fl,-1)})}var Iv=f(Rv,2),Bv=i(Iv);sl(Bv),g(2),e(Iv);var wv=f(Iv,2);{var Gl=(v)=>{var s=e1(),y=i(s,!0);e(s),N(()=>I(y,l(U))),m(v,s)};M(wv,(v)=>{if(l(U))v(Gl)})}var Jl=f(wv,2);{var Ql=(v)=>{var s=i1();m(v,s)};M(Jl,(v)=>{if(l(A))v(Ql)})}g(2),e(Ev),e(Gv);var bv=f(Gv,2),Qv=i(bv),Pv=f(i(Qv),2),P=i(Pv);let cv;var dv=i(P);{var Yl=(v)=>{var s=h1();m(v,s)};M(dv,(v)=>{if(l(K))v(Yl)})}var Zl=f(dv);e(P);var Sv=f(P,2),Tl=i(Sv,!0);e(Sv),e(Pv),e(Qv);var tv=f(Qv,2),gv=i(tv),Al=i(gv,!0);g(),e(gv),e(tv),il(tv,(v)=>a(Z,v),()=>l(Z));var Vl=f(tv,2);{var kl=(v)=>{var s=f1(),y=i(s,!0);e(s),N(()=>I(y,l(h).error)),m(v,s)};M(Vl,(v)=>{if(l(h)?.status==="error"&&l(h).error)v(kl)})}e(bv),e(kv),N(()=>{I(xv,l(h)?.name??"Instance"),cv=d(P,1,"copy svelte-15fxkvm",null,cv,{active:l(K)}),fv(P,"aria-pressed",l(K)),fv(P,"title",l(K)?"Following — click to pause":"Paused — click to follow new output"),I(Zl,` ${l(K)?"Following":"Follow log"}`),Sv.disabled=!l(Y),I(Tl,l(j)?"Copied!":"Copy logs"),I(Al,l(Y)||"Waiting for output…")}),lv("click",r,function(...v){al?.apply(this,v)}),nv("submit",Iv,Hv),el(Bv,()=>l(T),(v)=>a(T,v)),lv("click",P,av),lv("click",Sv,z),m(L,D),zv()}vl(["click"]);Il("InstanceView_2ma45l9bybfhl",Av);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import{h as xf,i as jL,j as Zf,k as AL,l as XL,m as YL,n as KL}from"/_mochi/client/chunk-j72r8pkk.js";import{o as xL,p as CL}from"/_mochi/client/chunk-8xvr02wh.js";import{r as jf}from"/_mochi/client/chunk-t0ap7q89.js";import{A as LS,B as a,C as JL,E as WL,y as ZL,z as zf}from"/_mochi/client/chunk-k37wj1jm.js";import{F as H,G as Cf,J as QL}from"/_mochi/client/chunk-9143wy3j.js";import{$ as B1,Aa as i,Ca as Z,Da as A,Ea as D,Ha as j1,Ka as IL,M as f,Ma as h,N as V,Na as y1,Qa as F,R as t0,Ra as X1,S as a0,Sa as L1,Ta as d,Va as m,Wa as T1,Ya as G,Za as R,_ as wL,_a as fL,ba as x,bb as O,da as y,db as Nf,eb as VL,fa as B,ga as L,ha as u1,ia as w,ja as zL,ma as Q,ra as I,wa as u,xa as e0,ya as p}from"/_mochi/client/chunk-bn731rda.js";import"/_mochi/client/chunk-wvtkwfsh.js";var r8=new Set(["$$slots","$$events","$$legacy"]);function E0(J,C){let X=G(C,r8),W=[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["path",{d:"M10 21.9V14L2.1 9.1"}],["path",{d:"m10 14 11.9-6.9"}],["path",{d:"M14 19.8v-8.1"}],["path",{d:"M18 17.5V9.4"}]];H(J,R({name:"container"},()=>X,{get iconNode(){return W}}))}var o8=new Set(["$$slots","$$events","$$legacy"]);function c0(J,C){let X=G(C,o8),W=[["path",{d:"M12 2v10"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04"}]];H(J,R({name:"power"},()=>X,{get iconNode(){return W}}))}var n8=new Set(["$$slots","$$events","$$legacy"]);function g0(J,C){let X=G(C,n8),W=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"}],["path",{d:"M16 9a5 5 0 0 1 0 6"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728"}]];H(J,R({name:"volume-2"},()=>X,{get iconNode(){return W}}))}var _8=new Set(["$$slots","$$events","$$legacy"]);function m0(J,C){let X=G(C,_8),W=[["circle",{cx:"11",cy:"4",r:"2"}],["circle",{cx:"18",cy:"8",r:"2"}],["circle",{cx:"20",cy:"16",r:"2"}],["path",{d:"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z"}]];H(J,R({name:"paw-print"},()=>X,{get iconNode(){return W}}))}var Sw=new Set(["$$slots","$$events","$$legacy"]);function i0(J,C){let X=G(C,Sw),W=[["path",{d:"M12 2v2"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"}],["path",{d:"M16 12a4 4 0 0 0-4-4"}],["path",{d:"m19 5-1.256 1.256"}],["path",{d:"M20 12h2"}]];H(J,R({name:"sun-moon"},()=>X,{get iconNode(){return W}}))}var Iw=new Set(["$$slots","$$events","$$legacy"]);function s0(J,C){let X=G(C,Iw),W=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];H(J,R({name:"sun"},()=>X,{get iconNode(){return W}}))}var fw=new Set(["$$slots","$$events","$$legacy"]);function u0(J,C){let X=G(C,fw),W=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"}]];H(J,R({name:"moon"},()=>X,{get iconNode(){return W}}))}var Nw=new Set(["$$slots","$$events","$$legacy"]);function d0(J,C){let X=G(C,Nw),W=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21"}]];H(J,R({name:"monitor"},()=>X,{get iconNode(){return W}}))}var oN="theme";function nN(){let J=Nf.get(oN);return J==="dark"||J==="light"?J:"auto"}function _N(J){Nf.set(oN,J,{expires:400,path:"/"})}function SL(J){if(J==="auto")delete document.documentElement.dataset.theme;else document.documentElement.dataset.theme=J}var Lw=p('<button type="button" role="radio"><!> </button>'),yw=p('<div class="picker svelte-3gcwuj" role="radiogroup" aria-label="Theme"></div>');function Lf(J,C){t0(C,!0);let X=x(B(nN())),W=[{value:"auto",label:"Auto",icon:d0},{value:"light",label:"Light",icon:s0},{value:"dark",label:"Dark",icon:u0}];function x1(N1){y(X,N1,!0),_N(N1),SL(N1)}var f1=yw();j1(f1,21,()=>W,({value:N1,label:c,icon:o})=>N1,(N1,c)=>{let o=()=>I(c).value,C1=()=>I(c).label,k1=()=>I(c).icon;var Z1=Lw();let G1;var d1=L(Z1);IL(d1,k1,(J1,a1)=>{a1(J1,{size:13})});var t1=w(d1);f(Z1),Q(()=>{G1=y1(Z1,1,"segment svelte-3gcwuj",null,G1,{active:I(X)===o()}),d(Z1,"aria-checked",I(X)===o()),A(t1,` ${C1()??""}`)}),u("click",Z1,()=>x1(o())),Z(N1,Z1)}),f(f1),Z(J,f1),a0()}e0(["click"]);var ww=new Set(["$$slots","$$events","$$legacy"]);function v0(J,C){let X=G(C,ww),W=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"}]];H(J,R({name:"layers"},()=>X,{get iconNode(){return W}}))}var zw=new Set(["$$slots","$$events","$$legacy"]);function $0(J,C){let X=G(C,zw),W=[["path",{d:"M9 13h6"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];H(J,R({name:"folder-minus"},()=>X,{get iconNode(){return W}}))}var xw=new Set(["$$slots","$$events","$$legacy"]);function V1(J,C){let X=G(C,xw),W=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];H(J,R({name:"trash-2"},()=>X,{get iconNode(){return W}}))}var Cw=new Set(["$$slots","$$events","$$legacy"]);function i1(J,C){let X=G(C,Cw),W=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9"}],["path",{d:"m18 15 4-4"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"}]];H(J,R({name:"hammer"},()=>X,{get iconNode(){return W}}))}var Zw=new Set(["$$slots","$$events","$$legacy"]);function s1(J,C){let X=G(C,Zw),W=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];H(J,R({name:"key-round"},()=>X,{get iconNode(){return W}}))}var jw=new Set(["$$slots","$$events","$$legacy"]);function r0(J,C){let X=G(C,jw),W=[["path",{d:"M10 15H6a4 4 0 0 0-4 4v2"}],["path",{d:"m14.305 16.53.923-.382"}],["path",{d:"m15.228 13.852-.923-.383"}],["path",{d:"m16.852 12.228-.383-.923"}],["path",{d:"m16.852 17.772-.383.924"}],["path",{d:"m19.148 12.228.383-.923"}],["path",{d:"m19.53 18.696-.382-.924"}],["path",{d:"m20.772 13.852.924-.383"}],["path",{d:"m20.772 16.148.924.383"}],["circle",{cx:"18",cy:"15",r:"3"}],["circle",{cx:"9",cy:"7",r:"4"}]];H(J,R({name:"user-cog"},()=>X,{get iconNode(){return W}}))}var Qw=new Set(["$$slots","$$events","$$legacy"]);function o0(J,C){let X=G(C,Qw),W=[["path",{d:"M12 20v2"}],["path",{d:"M12 2v2"}],["path",{d:"M17 20v2"}],["path",{d:"M17 2v2"}],["path",{d:"M2 12h2"}],["path",{d:"M2 17h2"}],["path",{d:"M2 7h2"}],["path",{d:"M20 12h2"}],["path",{d:"M20 17h2"}],["path",{d:"M20 7h2"}],["path",{d:"M7 20v2"}],["path",{d:"M7 2v2"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1"}]];H(J,R({name:"cpu"},()=>X,{get iconNode(){return W}}))}var Jw=new Set(["$$slots","$$events","$$legacy"]);function n0(J,C){let X=G(C,Jw),W=[["path",{d:"M8 21s-4-3-4-9 4-9 4-9"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15"}]];H(J,R({name:"variable"},()=>X,{get iconNode(){return W}}))}var Ww=new Set(["$$slots","$$events","$$legacy"]);function _0(J,C){let X=G(C,Ww),W=[["path",{d:"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z"}],["path",{d:"m14 7 3 3"}],["path",{d:"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814"}]];H(J,R({name:"key-square"},()=>X,{get iconNode(){return W}}))}var Aw=new Set(["$$slots","$$events","$$legacy"]);function SS(J,C){let X=G(C,Aw),W=[["path",{d:"M10 5H3"}],["path",{d:"M12 19H3"}],["path",{d:"M14 3v4"}],["path",{d:"M16 17v4"}],["path",{d:"M21 12h-9"}],["path",{d:"M21 19h-5"}],["path",{d:"M21 5h-7"}],["path",{d:"M8 10v4"}],["path",{d:"M8 12H3"}]];H(J,R({name:"sliders-horizontal"},()=>X,{get iconNode(){return W}}))}var Xw=new Set(["$$slots","$$events","$$legacy"]);function IS(J,C){let X=G(C,Xw),W=[["path",{d:"M11 5h10"}],["path",{d:"M11 12h10"}],["path",{d:"M11 19h10"}],["path",{d:"M4 4h1v5"}],["path",{d:"M4 9h2"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02"}]];H(J,R({name:"list-ordered"},()=>X,{get iconNode(){return W}}))}var Yw=new Set(["$$slots","$$events","$$legacy"]);function fS(J,C){let X=G(C,Yw),W=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"}],["path",{d:"m7 16.5-4.74-2.85"}],["path",{d:"m7 16.5 5-3"}],["path",{d:"M7 16.5v5.17"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"}],["path",{d:"m17 16.5-5-3"}],["path",{d:"m17 16.5 4.74-2.85"}],["path",{d:"M17 16.5v5.17"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"}],["path",{d:"M12 8 7.26 5.15"}],["path",{d:"m12 8 4.74-2.85"}],["path",{d:"M12 13.5V8"}]];H(J,R({name:"boxes"},()=>X,{get iconNode(){return W}}))}var Kw=new Set(["$$slots","$$events","$$legacy"]);function NS(J,C){let X=G(C,Kw),W=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"}]];H(J,R({name:"puzzle"},()=>X,{get iconNode(){return W}}))}var Vw=p('<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz" aria-label="Draw your own avatar" title="Draw your own avatar"><span class="new svelte-1ioj7vz" aria-hidden="true">New</span> <span class="coin svelte-1ioj7vz" aria-hidden="true"><!></span></a> <span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span></div>');function yf(J,C){let X=fL(C,"href",3,"/avatars"),W={name:"coin",pixels:["..####..",".#....#.","#..##..#","#.####.#","#.####.#","#..##..#",".#....#.","..####.."]};var x1=Vw(),f1=w(L(x1),2),N1=w(L(f1),2),c=L(N1);LS(c,{get art(){return W},name:"coin",scale:3}),f(N1),f(f1),V(2),f(x1),Q(()=>d(f1,"href",X())),Z(J,x1)}var Gw=new Set(["$$slots","$$events","$$legacy"]);function yS(J,C){let X=G(C,Gw),W=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}],["path",{d:"m9 12 2 2 4-4"}]];H(J,R({name:"shield-check"},()=>X,{get iconNode(){return W}}))}var Rw=new Set(["$$slots","$$events","$$legacy"]);function wS(J,C){let X=G(C,Rw),W=[["path",{d:"m12 14 4-4"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}]];H(J,R({name:"gauge"},()=>X,{get iconNode(){return W}}))}var Hw=p('<span class="title svelte-1n6ht58">Settings</span>'),S1=p('<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58"> </div></div>'),NL=p('<button type="button"> </button>'),Uw=p('<span class="arch svelte-1n6ht58" title="Docker daemon architecture"> </span>'),Pw=p(`Your Docker daemon runs on <strong> </strong> — pick an image that publishes
|
|
2
|
+
an <strong> </strong> manifest, or the pull will fail.`,1),I1=p('<div class="msg error svelte-1n6ht58"> </div>'),wf=p('<div class="msg ok svelte-1n6ht58">Saved.</div>'),Dw=p(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/gitIdentityOverride"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Identity</div> <div class="desc svelte-1n6ht58">Both fields are required — leave either blank and the container falls back to the
|
|
3
|
+
host's identity.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Name</span> <input type="text" name="name" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="Jane Doe"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Email</span> <input type="text" name="email" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="jane@example.com"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>`),z1=p('<div class="msg ok svelte-1n6ht58"> </div>'),Fw=p('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock mode is on">disabled</span>'),Mw=p(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/githubToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">GitHub token</div> <div class="desc svelte-1n6ht58">macOS / Linux: run <code class="svelte-1n6ht58">gh auth token</code> to print your GitHub CLI token, or
|
|
4
|
+
create a Personal Access Token at <code class="svelte-1n6ht58">github.com/settings/tokens</code> (scopes: <code class="svelte-1n6ht58">repo</code>, <code class="svelte-1n6ht58">read:org</code>). Leave blank and Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="githubToken" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/claudeToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude Code token</div> <div class="desc svelte-1n6ht58">macOS / Linux: run <code class="svelte-1n6ht58">claude setup-token</code> to mint a long-lived token and
|
|
5
|
+
paste it here. Copying a live login out of the keychain or <code class="svelte-1n6ht58">~/.claude/.credentials.json</code> works too, but that credential rotates —
|
|
6
|
+
the first <code class="svelte-1n6ht58">claude</code> to refresh it signs the other one out. Leave blank and Save
|
|
7
|
+
to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form>`,1),Bw=p('<span class="arch svelte-1n6ht58">disabled</span>'),Tw=p(`Route <code class="svelte-1n6ht58">claude</code> through a LiteLLM proxy fronting AWS Bedrock instead of Anthropic's
|
|
8
|
+
default API. When enabled, the Bedrock endpoint variables are injected into every new
|
|
9
|
+
container, host OAuth credentials are not used, and "Set tokens manually" is disabled.`,1),kw=p('<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customBaseUrl"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Base URL</div> <div class="desc svelte-1n6ht58">The LiteLLM proxy endpoint, e.g. <code class="svelte-1n6ht58">https://litellm.example.com/bedrock</code>. Passed as <code class="svelte-1n6ht58">ANTHROPIC_BEDROCK_BASE_URL</code>.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="baseUrl" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="https://litellm.example.com/bedrock"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Auth token</div> <div class="desc svelte-1n6ht58">Your LiteLLM API key. Passed as <code class="svelte-1n6ht58">ANTHROPIC_AUTH_TOKEN</code>. Leave blank and\n\t\t\t\t\t\t\t\tSave to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customModels"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Model IDs</div> <div class="desc svelte-1n6ht58">Model aliases to use for each tier. Prefilled with defaults from the reference\n\t\t\t\t\t\t\t\tlauncher script. Leave a field as-is to keep its current value.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Sonnet</span> <input type="text" name="sonnetModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Haiku</span> <input type="text" name="haikuModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Small/fast</span> <input type="text" name="smallFastModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Default</span> <input type="text" name="defaultModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>',1),pw=p('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock is on">disabled</span>'),hw=p(`Pin which model <code class="svelte-1n6ht58">claude</code> uses on the standard (subscription) path. Only
|
|
10
|
+
the fields you fill are injected into new containers as <code class="svelte-1n6ht58">ANTHROPIC_*_MODEL</code> variables; blanks fall through to Claude Code's own defaults.`,1),Ow=p('<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/manualModels"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Model IDs</div> <div class="desc svelte-1n6ht58">A model name or alias per tier, e.g. <code class="svelte-1n6ht58">opusplan</code>, <code class="svelte-1n6ht58">opus</code>, <code class="svelte-1n6ht58">sonnet</code>, or a full <code class="svelte-1n6ht58">claude-…</code> id. Leave a field blank to skip it.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Sonnet</span> <input type="text" name="sonnetModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Haiku</span> <input type="text" name="haikuModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Small/fast</span> <input type="text" name="smallFastModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Default</span> <input type="text" name="defaultModel" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>'),LL=p('<input type="hidden" name="names"/>'),qw=p('<form class="var-item svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!> <span class="var-name svelte-1n6ht58"> </span> <span> </span> <button type="submit" class="var-remove svelte-1n6ht58"><!></button></form>'),yL=p('<div class="var-empty svelte-1n6ht58">No variables added yet.</div>'),bw=p('<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58"></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!> <input type="text" name="names" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="AWS_ACCESS_KEY_ID"/> <!></form> <!></div>'),lw=p('<form class="var-item svelte-1n6ht58" method="POST" action="?/removeCustomEnvVar"><input type="hidden" name="name"/> <span class="var-name svelte-1n6ht58"> </span> <span class="var-status present svelte-1n6ht58" title="Set — injected into every new container">•••• saved</span> <button type="submit" class="var-remove svelte-1n6ht58"><!></button></form>'),Ew=p('<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58"></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/setCustomEnvVar"><input type="text" name="name" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="MY_SECRET"/> <input type="password" name="value" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="value"/> <!></form> <!></div>'),cw=p('<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"/> <button type="submit"><!></button></form>'),gw=p('<div class="sub pets svelte-1n6ht58"></div>'),mw=p('<span class="shutting svelte-1n6ht58">Server is shutting down — you can close this tab.</span>'),iw=p(`<div class="page svelte-1n6ht58"><!> <main class="content svelte-1n6ht58"><section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/defaultMode"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default editor</div> <div class="desc svelte-1n6ht58">What new instances start in. <strong>Full IDE</strong> serves browser VS Code; <strong>Terminal</strong> is lighter — just Claude Code in a terminal, no code-server. You
|
|
11
|
+
can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Default editor mode"><button type="button"><!> Full IDE</button> <button type="button"><!> Terminal</button></div></form> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudePermissionMode"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude permission mode</div> <div class="desc svelte-1n6ht58">The mode Claude Code starts in inside new instances. <strong>Default</strong> runs <code class="svelte-1n6ht58">--dangerously-skip-permissions</code>, which never prompts; the other three pass <code class="svelte-1n6ht58">--permission-mode</code> instead, because the skip flag overrides them. Applies on
|
|
12
|
+
create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="mode"/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude permission mode"></div></form> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudeEffortLevel"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude effort level</div> <div class="desc svelte-1n6ht58">The default reasoning effort Claude Code starts new sessions at inside instances,
|
|
13
|
+
written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. Applies on create and rebuild, not to
|
|
14
|
+
already-running instances.</div></div></div> <input type="hidden" name="level"/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude effort level"></div></form> <!></section> <section class="card svelte-1n6ht58"><form class="row image-row svelte-1n6ht58" method="POST" action="?/defaultImage"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default container image <!></div> <div class="desc svelte-1n6ht58">Used only when a project folder ships no devcontainer.json. Takes effect for instances
|
|
15
|
+
created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="mcr.microsoft.com/devcontainers/base:ubuntu"/> <!> <!></div> <div class="desc tip svelte-1n6ht58"><!></div> <!></form></section> <section class="card svelte-1n6ht58"><form class="row image-row svelte-1n6ht58" method="POST" action="?/copyIgnorePatterns"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Skip when copying a local folder</div> <div class="desc svelte-1n6ht58">Comma-separated folder/file names excluded when copying a local source folder into a
|
|
16
|
+
new instance's workspace. Leave blank to copy everything. Only applies to local
|
|
17
|
+
folders — cloning a Git repo URL is unaffected.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="patterns" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="node_modules, .venv, dist"/> <!> <!></div> <!></form></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/gitIdentityToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override git identity</div> <div class="desc svelte-1n6ht58">Inject a name and email as <code class="svelte-1n6ht58">git config --global user.name/user.email</code> in every
|
|
18
|
+
new container, taking precedence over the host's own git config. When off, each container
|
|
19
|
+
falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/disableBuildCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Disable build cache</div> <div class="desc svelte-1n6ht58">Build every new container with <code class="svelte-1n6ht58">--build-no-cache</code>. Applies to first boot
|
|
20
|
+
and rebuilds — slower, but always picks up upstream image/layer changes.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <form class="row divided svelte-1n6ht58" method="POST" action="?/clearBuildCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Clear build cache</div> <div class="desc svelte-1n6ht58">Purge Docker's BuildKit layer cache now, so the next build runs uncached. Doesn't
|
|
21
|
+
remove pulled images.</div> <!></div></div> <!></form> <form class="row divided svelte-1n6ht58" method="POST" action="?/rebuildAllNoCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Rebuild running containers (no cache)</div> <div class="desc svelte-1n6ht58">Rebuild every currently-running instance from scratch, without using any cached image
|
|
22
|
+
layers. In-container edits are kept; stopped instances are left alone.</div> <!></div></div> <!></form></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Set tokens manually <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">LiteLLM + Bedrock <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/manualModelToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override models manually <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/hostEnvVarsToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Host environment variables</div> <div class="desc svelte-1n6ht58">Forward selected environment variables from this machine into every new container's
|
|
23
|
+
interactive shells. Values are read from this process's own environment at container
|
|
24
|
+
start and are never shown here or stored — only the variable names are saved.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/customEnvVarsToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Custom environment variables</div> <div class="desc svelte-1n6ht58">Inject your own <code class="svelte-1n6ht58">NAME=value</code> pairs into every new container as <code class="svelte-1n6ht58">containerEnv</code>, available to all processes. Values are secret — stored
|
|
25
|
+
locally, masked in the build log, and never shown here after saving. Re-add a name to
|
|
26
|
+
update its value.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Theme</div> <div class="desc svelte-1n6ht58">Light, dark, or follow the browser preference automatically (auto).</div></div></div> <!></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Attention sound</div> <div class="desc svelte-1n6ht58">Play a chime when an instance finishes a task or needs your input.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></div></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/petToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Pet logo</div> <div class="desc svelte-1n6ht58">Swap the box in the header for a pixel pet.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><details class="advanced svelte-1n6ht58"><summary class="svelte-1n6ht58"><!> <span class="name svelte-1n6ht58">Advanced</span> <span class="hint svelte-1n6ht58">escape hatches — defaults are right for almost everyone</span></summary> <form class="row divided svelte-1n6ht58" method="POST" action="?/serialInjectionsToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Serial boot injections</div> <div class="desc svelte-1n6ht58">Run boot injections one at a time instead of in parallel stages. Slower boot; useful
|
|
27
|
+
when diagnosing injection interference.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <form class="row divided svelte-1n6ht58" method="POST" action="?/noBuildkitToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Don't force BuildKit</div> <div class="desc svelte-1n6ht58">Skip setting <code class="svelte-1n6ht58">DOCKER_BUILDKIT=1</code> for container builds and let the daemon's
|
|
28
|
+
default builder decide. For daemons where forcing BuildKit breaks builds.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <form class="row divided svelte-1n6ht58" method="POST" action="?/blockingExtInstallToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Blocking IDE extension install</div> <div class="desc svelte-1n6ht58">Install the Claude Code IDE extension before code-server starts, so the first window
|
|
29
|
+
always has it active. Slower first boot.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <form class="row divided svelte-1n6ht58" method="POST" action="?/clearVersionCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Clear claude-code version cache</div> <div class="desc svelte-1n6ht58">Forget the cached latest-version check; the next instance boot asks the npm registry
|
|
30
|
+
again.</div> <!></div></div> <!></form></details></section> <section class="card danger-card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/shutdown"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Delete database, containers, and shut down</div> <div class="desc svelte-1n6ht58">Stop and remove every instance and its container, delete all copied workspaces and the
|
|
31
|
+
database, then shut down the server. This cannot be undone.</div></div></div> <!></form></section> <!> <div class="version svelte-1n6ht58"> </div></main></div> <!>`,1);function Qf(J,C){t0(C,!0);let X=x(B(AL())),W=x(B(C.pet)),x1=x(!1),f1=x(null),N1=x(!1);zL(()=>QL());function c(S){return{onPending:S.setSaving,submit:({cancel:N})=>{if(S.confirmMessage&&!confirm(S.confirmMessage)){N();return}return S.setError(null),S.setMsg?.(null),({result:z})=>{if(z.type==="success")S.onSuccess(z.data);else if(z.type==="failure")S.setError(z.data?.error??"Request failed");else if(z.type==="error")S.setError("Network error. Try again.")}}}}function o(S){return{onPending:S.setSaving,submit:({formData:N})=>{let z=N.get("enabled")==="on";return S.setError(null),({result:j})=>{if(j.type==="success"){S.onSuccess?.(j.data);return}S.set(!z),S.setError(j.type==="failure"?j.data?.error??"Request failed":"Network error. Try again.")}}}}let C1=x(B(C.defaultMode)),k1=x(!1),Z1=x(null),G1,d1=c({setSaving:(S)=>y(k1,S,!0),setError:(S)=>y(Z1,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.mode)y(C1,S.mode,!0)}});function t1(S){if(S===I(C1))return;B1(()=>y(C1,S,!0)),G1?.requestSubmit()}let J1=x(B(C.claudePermissionMode)),a1=x(!1),zS=x(null),xS,GL=c({setSaving:(S)=>y(a1,S,!0),setError:(S)=>y(zS,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.mode)y(J1,S.mode,!0)}}),RL={default:"Default",manual:"Manual",auto:"Auto",plan:"Plan"};function HL(S){if(S===I(J1))return;B1(()=>y(J1,S,!0)),xS?.requestSubmit()}let R1=x(B(C.claudeEffortLevel)),Jf=x(!1),CS=x(null),ZS,UL=c({setSaving:(S)=>y(Jf,S,!0),setError:(S)=>y(CS,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.level)y(R1,S.level,!0)}}),PL={low:"Low",medium:"Medium",high:"High",xhigh:"X-High",max:"Max"};function DL(S){if(S===I(R1))return;B1(()=>y(R1,S,!0)),ZS?.requestSubmit()}let p1=x(B(C.defaultImage)),jS=x(!1),QS=x(null),JS=x(!1),WS,FL=c({setSaving:(S)=>y(jS,S,!0),setError:(S)=>y(QS,S,!0),setMsg:(S)=>y(JS,!!S),onSuccess:(S)=>{y(p1,S?.image??I(p1),!0),y(JS,!0)}});function ML(){B1(()=>y(p1,C.builtinImage,!0)),WS?.requestSubmit()}let h1=x(B(C.copyIgnorePatterns)),AS=x(!1),XS=x(null),YS=x(!1),KS,BL=c({setSaving:(S)=>y(AS,S,!0),setError:(S)=>y(XS,S,!0),setMsg:(S)=>y(YS,!!S),onSuccess:(S)=>{y(h1,S?.patterns??I(h1),!0),y(YS,!0)}});function TL(){B1(()=>y(h1,C.builtinCopyIgnore,!0)),KS?.requestSubmit()}let e1=x(B(C.gitIdentityEnabled)),Wf=x(!1),VS=x(null),kL=o({set:(S)=>y(e1,S,!0),setSaving:(S)=>y(Wf,S,!0),setError:(S)=>y(VS,S,!0)}),v1=x(B(C.gitIdentityName)),$1=x(B(C.gitIdentityEmail)),Af=x(!1),GS=x(null),RS=x(!1),pL=c({setSaving:(S)=>y(Af,S,!0),setError:(S)=>y(GS,S,!0),setMsg:(S)=>y(RS,!!S),onSuccess:(S)=>{y(v1,S?.name??I(v1),!0),y($1,S?.email??I($1),!0),y(RS,!0)}}),HS=x(B(C.disableBuildCache)),Xf=x(!1),US=x(null),hL=o({set:(S)=>y(HS,S,!0),setSaving:(S)=>y(Xf,S,!0),setError:(S)=>y(US,S,!0)}),PS=x(!1),r1=x(null),DS=x(null);function OL(S){if(S<=0)return"0 B";let N=["B","KB","MB","GB","TB"],z=Math.min(Math.floor(Math.log(S)/Math.log(1024)),N.length-1);return`${(S/1024**z).toFixed(z===0?0:1)} ${N[z]}`}let qL=c({setSaving:(S)=>y(PS,S,!0),setError:(S)=>y(DS,S,!0),setMsg:(S)=>y(r1,S,!0),onSuccess:(S)=>{y(r1,`Cleared — freed ${OL(S?.spaceReclaimed??0)}.`)}}),FS=x(!1),o1=x(null),MS=x(null),bL=c({setSaving:(S)=>y(FS,S,!0),setError:(S)=>y(MS,S,!0),setMsg:(S)=>y(o1,S,!0),confirmMessage:"Rebuild every running container from scratch (no build cache)? Each will restart and may take a while.",onSuccess:(S)=>{let N=S?.count??0;y(o1,N===0?"No running containers to rebuild.":`Rebuilding ${N} container(s)…`,!0)}}),BS=x(B(C.advancedSerialInjections)),Yf=x(!1),TS=x(null),lL=o({set:(S)=>y(BS,S,!0),setSaving:(S)=>y(Yf,S,!0),setError:(S)=>y(TS,S,!0)}),kS=x(B(C.advancedNoBuildkit)),Kf=x(!1),pS=x(null),EL=o({set:(S)=>y(kS,S,!0),setSaving:(S)=>y(Kf,S,!0),setError:(S)=>y(pS,S,!0)}),hS=x(B(C.advancedBlockingExtInstall)),Vf=x(!1),OS=x(null),cL=o({set:(S)=>y(hS,S,!0),setSaving:(S)=>y(Vf,S,!0),setError:(S)=>y(OS,S,!0)}),qS=x(!1),n1=x(null),bS=x(null),gL=c({setSaving:(S)=>y(qS,S,!0),setError:(S)=>y(bS,S,!0),setMsg:(S)=>y(n1,S,!0),onSuccess:()=>{y(n1,"Cleared — the next instance boot re-checks the registry.")}}),O1=x(B(C.manualTokensEnabled)),Gf=x(!1),lS=x(null),mL=o({set:(S)=>y(O1,S,!0),setSaving:(S)=>y(Gf,S,!0),setError:(S)=>y(lS,S,!0)}),ES=x(B(C.githubTokenSet)),cS=x(""),Rf=x(!1),_1=x(null),gS=x(null),iL=c({setSaving:(S)=>y(Rf,S,!0),setError:(S)=>y(gS,S,!0),setMsg:(S)=>y(_1,S,!0),onSuccess:(S)=>{y(ES,S?.set??!1,!0),y(cS,""),y(_1,I(ES)?"Saved.":"Cleared.",!0)}}),mS=x(B(C.claudeTokenSet)),iS=x(""),Hf=x(!1),S0=x(null),sS=x(null),sL=c({setSaving:(S)=>y(Hf,S,!0),setError:(S)=>y(sS,S,!0),setMsg:(S)=>y(S0,S,!0),onSuccess:(S)=>{y(mS,S?.set??!1,!0),y(iS,""),y(S0,I(mS)?"Saved.":"Cleared.",!0)}}),n=x(B(C.customEndpointEnabled)),Uf=x(!1),uS=x(null),uL=o({set:(S)=>y(n,S,!0),setSaving:(S)=>y(Uf,S,!0),setError:(S)=>y(uS,S,!0),onSuccess:(S)=>{if(S?.enabled)y(H1,!1)}}),Pf=x(B(C.customEndpointBaseUrl)),Df=x(!1),I0=x(null),dS=x(null),dL=c({setSaving:(S)=>y(Df,S,!0),setError:(S)=>y(dS,S,!0),setMsg:(S)=>y(I0,S,!0),onSuccess:(S)=>{y(I0,S?.set?"Saved.":"Cleared.",!0)}}),tS=x(""),aS=x(B(C.customEndpointTokenSet)),Ff=x(!1),f0=x(null),eS=x(null),tL=c({setSaving:(S)=>y(Ff,S,!0),setError:(S)=>y(eS,S,!0),setMsg:(S)=>y(f0,S,!0),onSuccess:(S)=>{y(aS,S?.set??!1,!0),y(tS,""),y(f0,I(aS)?"Saved.":"Cleared.",!0)}}),Mf=x(B(C.customEndpointOpusModel)),Bf=x(B(C.customEndpointSonnetModel)),Tf=x(B(C.customEndpointHaikuModel)),kf=x(B(C.customEndpointSmallFastModel)),pf=x(B(C.customEndpointModel)),hf=x(!1),N0=x(null),vS=x(null),aL=c({setSaving:(S)=>y(hf,S,!0),setError:(S)=>y(vS,S,!0),setMsg:(S)=>y(N0,S,!0),onSuccess:()=>{y(N0,"Saved.")}}),H1=x(B(C.manualModelOverrideEnabled)),Of=x(!1),$S=x(null),eL=o({set:(S)=>y(H1,S,!0),setSaving:(S)=>y(Of,S,!0),setError:(S)=>y($S,S,!0),onSuccess:(S)=>{if(S?.enabled)y(n,!1)}}),qf=x(B(C.manualOpusModel)),bf=x(B(C.manualSonnetModel)),lf=x(B(C.manualHaikuModel)),Ef=x(B(C.manualSmallFastModel)),cf=x(B(C.manualModel)),gf=x(!1),L0=x(null),rS=x(null),vL=c({setSaving:(S)=>y(gf,S,!0),setError:(S)=>y(rS,S,!0),setMsg:(S)=>y(L0,S,!0),onSuccess:()=>{y(L0,"Saved.")}}),U1=wL(()=>I(O1)?"Set tokens manually":I(H1)?"Override models manually":null),y0=x(B(C.hostEnvVarsEnabled)),mf=x(!1),oS=x(null),$L=o({set:(S)=>y(y0,S,!0),setSaving:(S)=>y(mf,S,!0),setError:(S)=>y(oS,S,!0),onSuccess:(S)=>{y(D1,S?.presence??{},!0)}}),P1=x(B([...C.hostEnvVarNames])),D1=x(B({...C.hostEnvVarPresence})),nS=x(""),w0=x(!1),q1=x(null),Y1=x(null),rL={onPending:(S)=>y(w0,S,!0),submit:({formData:S,cancel:N})=>{y(Y1,null),y(q1,null);let z=S.getAll("names").map(String),U=(z.pop()??"").trim().toUpperCase();if(!U){N();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(U)){y(Y1,`Invalid variable name: ${U}`),N();return}if(y(nS,""),z.includes(U)){N();return}let b=[...z,U];S.delete("names");for(let q of b)S.append("names",q);return({result:q})=>{if(q.type==="success")y(P1,b,!0),y(D1,q.data?.presence??{},!0),y(q1,"Saved.");else if(q.type==="failure")y(Y1,q.data?.error??"Request failed",!0);else if(q.type==="error")y(Y1,"Network error. Try again.")}}};function oL(S){return c({setSaving:(N)=>y(w0,N,!0),setError:(N)=>y(Y1,N,!0),setMsg:(N)=>y(q1,N,!0),onSuccess:(N)=>{y(P1,I(P1).filter((z)=>z!==S),!0),y(D1,N?.presence??{},!0)}})}let z0=x(B(C.customEnvVarsEnabled)),sf=x(!1),_S=x(null),nL=o({set:(S)=>y(z0,S,!0),setSaving:(S)=>y(sf,S,!0),setError:(S)=>y(_S,S,!0)}),b1=x(B([...C.customEnvVarNames])),SI=x(""),II=x(""),x0=x(!1),l1=x(null),W1=x(null),_L={onPending:(S)=>y(x0,S,!0),submit:({formData:S,cancel:N})=>{y(W1,null),y(l1,null);let z=String(S.get("name")??"").trim(),j=String(S.get("value")??"");if(!z||!j){y(W1,!z?"Name is required.":"Value is required.",!0),N();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(z)){y(W1,`Invalid variable name: ${z}`),N();return}return S.set("name",z),({result:U})=>{if(U.type==="success")y(b1,U.data?.names??I(b1),!0),y(SI,""),y(II,""),y(l1,"Saved.");else if(U.type==="failure")y(W1,U.data?.error??"Request failed",!0);else if(U.type==="error")y(W1,"Network error. Try again.")}}};function Sy(S){return c({setSaving:(N)=>y(x0,N,!0),setError:(N)=>y(W1,N,!0),setMsg:(N)=>y(l1,N,!0),onSuccess:(N)=>{y(b1,N?.names??I(b1).filter((z)=>z!==S),!0)}})}function Iy(S){if(y(X,S,!0),XL(S),YL(),S)KL("done")}let fy={onPending:(S)=>y(x1,S,!0),submit:()=>{return y(f1,null),({result:S})=>{if(S.type==="success"){y(W,S.data?.name?zf(S.data.name):void 0,!0);return}y(f1,S.type==="failure"?S.data?.error??"Request failed":"Network error. Try again.",!0)}}};function Ny(S){return c({setSaving:(N)=>y(x1,N,!0),setError:(N)=>y(f1,N,!0),onSuccess:(N)=>{y(W,(N?.name?zf(N.name):void 0)??S,!0)}})}let Ly={submit:({cancel:S})=>{if(!confirm("Delete the database, remove all instances and their containers, and shut down the server? This cannot be undone.")){S();return}y(N1,!0)}};var uf=iw(),fI=u1(uf),df=L(fI);WL(df,{children:(S,N)=>{var z=Hw();Z(S,z)},$$slots:{default:!0}});var tf=w(df,2),NI=L(tf),E1=L(NI),LI=L(E1),yy=L(LI);xf(yy,{size:20}),V(2),f(LI);var yI=w(LI,2);F(yI);var af=w(yI,2),K1=L(af);let ef;var wy=L(K1);jL(wy,{size:15}),V(),f(K1);var F1=w(K1,2);let vf;var zy=L(F1);xf(zy,{size:15}),V(),f(F1),f(af),f(E1),T1(E1,(S)=>G1=S,()=>G1),h(E1,()=>O(d1));var xy=w(E1,2);{var Cy=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(Z1))),Z(S,N)};D(xy,(S)=>{if(I(Z1))S(Cy)})}f(NI);var wI=w(NI,2),c1=L(wI),zI=L(c1),Zy=L(zI);yS(Zy,{size:20}),V(2),f(zI);var xI=w(zI,2);F(xI);var $f=w(xI,2);j1($f,20,()=>xL,(S)=>S,(S,N)=>{var z=NL();let j;var U=L(z,!0);f(z),Q(()=>{j=y1(z,1,"mode-btn svelte-1n6ht58",null,j,{active:I(J1)===N}),d(z,"aria-pressed",I(J1)===N),z.disabled=I(a1),A(U,RL[N])}),u("click",z,()=>HL(N)),Z(S,z)}),f($f),f(c1),T1(c1,(S)=>xS=S,()=>xS),h(c1,()=>O(GL));var jy=w(c1,2);{var Qy=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(zS))),Z(S,N)};D(jy,(S)=>{if(I(zS))S(Qy)})}f(wI);var CI=w(wI,2),g1=L(CI),ZI=L(g1),Jy=L(ZI);wS(Jy,{size:20}),V(2),f(ZI);var jI=w(ZI,2);F(jI);var rf=w(jI,2);j1(rf,20,()=>CL,(S)=>S,(S,N)=>{var z=NL();let j;var U=L(z,!0);f(z),Q(()=>{j=y1(z,1,"mode-btn svelte-1n6ht58",null,j,{active:I(R1)===N}),d(z,"aria-pressed",I(R1)===N),z.disabled=I(Jf),A(U,PL[N])}),u("click",z,()=>DL(N)),Z(S,z)}),f(rf),f(g1),T1(g1,(S)=>ZS=S,()=>ZS),h(g1,()=>O(UL));var Wy=w(g1,2);{var Ay=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(CS))),Z(S,N)};D(Wy,(S)=>{if(I(CS))S(Ay)})}f(CI);var QI=w(CI,2),C0=L(QI),JI=L(C0),of=L(JI);E0(of,{size:20});var nf=w(of,2),_f=L(nf),Xy=w(L(_f));{var Yy=(S)=>{var N=Uw(),z=L(N,!0);f(N),Q(()=>A(z,C.dockerArch)),Z(S,N)};D(Xy,(S)=>{if(C.dockerArch)S(Yy)})}f(_f),V(2),f(nf),f(JI);var WI=w(JI,2),AI=L(WI);F(AI);var SN=w(AI,2);a(SN,{type:"submit",get disabled(){return I(jS)},children:(S,N)=>{V();var z=i("Save");Z(S,z)},$$slots:{default:!0}});var Ky=w(SN,2);a(Ky,{type:"button",get icon(){return jf},get disabled(){return I(jS)},onclick:ML,get title(){return`Reset to default (${C.builtinImage??""})`},"aria-label":"Reset to default image"}),f(WI);var XI=w(WI,2),Vy=L(XI);{var Gy=(S)=>{var N=Pw(),z=w(u1(N)),j=L(z,!0);f(z);var U=w(z,2),b=L(U,!0);f(U),V(),Q(()=>{A(j,C.dockerArch),A(b,C.dockerArch)}),Z(S,N)},Ry=(S)=>{var N=i(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
|
|
32
|
+
fail.`);Z(S,N)};D(Vy,(S)=>{if(C.dockerArch)S(Gy);else S(Ry,-1)})}f(XI);var Hy=w(XI,2);{var Uy=(S)=>{var N=I1(),z=L(N,!0);f(N),Q(()=>A(z,I(QS))),Z(S,N)},Py=(S)=>{var N=wf();Z(S,N)};D(Hy,(S)=>{if(I(QS))S(Uy);else if(I(JS))S(Py,1)})}f(C0),T1(C0,(S)=>WS=S,()=>WS),h(C0,()=>O(FL)),f(QI);var YI=w(QI,2),Z0=L(YI),KI=L(Z0),Dy=L(KI);$0(Dy,{size:20}),V(2),f(KI);var VI=w(KI,2),GI=L(VI);F(GI);var IN=w(GI,2);a(IN,{type:"submit",get disabled(){return I(AS)},children:(S,N)=>{V();var z=i("Save");Z(S,z)},$$slots:{default:!0}});var Fy=w(IN,2);a(Fy,{type:"button",get icon(){return jf},get disabled(){return I(AS)},onclick:TL,get title(){return`Reset to default (${C.builtinCopyIgnore??""})`},"aria-label":"Reset to default copy-ignore patterns"}),f(VI);var My=w(VI,2);{var By=(S)=>{var N=I1(),z=L(N,!0);f(N),Q(()=>A(z,I(XS))),Z(S,N)},Ty=(S)=>{var N=wf();Z(S,N)};D(My,(S)=>{if(I(XS))S(By);else if(I(YS))S(Ty,1)})}f(Z0),T1(Z0,(S)=>KS=S,()=>KS),h(Z0,()=>O(BL)),f(YI);var RI=w(YI,2),j0=L(RI),HI=L(j0),ky=L(HI);r0(ky,{size:20}),V(2),f(HI);var fN=w(HI,2),Q0=L(fN);F(Q0),V(2),f(fN),f(j0),h(j0,()=>O(kL));var NN=w(j0,2);{var py=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(VS))),Z(S,N)};D(NN,(S)=>{if(I(VS))S(py)})}var hy=w(NN,2);{var Oy=(S)=>{var N=Dw(),z=w(L(N),2),j=L(z),U=w(L(j),2);F(U),f(j);var b=w(j,2),q=w(L(b),2);F(q),f(b);var e=w(b,2),_=L(e);a(_,{type:"submit",get disabled(){return I(Af)},children:(P,s)=>{V();var v=i("Save");Z(P,v)},$$slots:{default:!0}}),f(e),f(z);var t=w(z,2);{var Y=(P)=>{var s=I1(),v=L(s,!0);f(s),Q(()=>A(v,I(GS))),Z(P,s)},K=(P)=>{var s=wf();Z(P,s)};D(t,(P)=>{if(I(GS))P(Y);else if(I(RS))P(K,1)})}f(N),h(N,()=>O(pL)),m(U,()=>I(v1),(P)=>y(v1,P)),m(q,()=>I($1),(P)=>y($1,P)),Z(S,N)};D(hy,(S)=>{if(I(e1))S(Oy)})}f(RI);var UI=w(RI,2),J0=L(UI),PI=L(J0),qy=L(PI);v0(qy,{size:20}),V(2),f(PI);var LN=w(PI,2),W0=L(LN);F(W0),V(2),f(LN),f(J0),h(J0,()=>O(hL));var yN=w(J0,2);{var by=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(US))),Z(S,N)};D(yN,(S)=>{if(I(US))S(by)})}var A0=w(yN,2),DI=L(A0),wN=L(DI);V1(wN,{size:20});var zN=w(wN,2),ly=w(L(zN),4);{var Ey=(S)=>{var N=I1(),z=L(N,!0);f(N),Q(()=>A(z,I(DS))),Z(S,N)},cy=(S)=>{var N=z1(),z=L(N,!0);f(N),Q(()=>A(z,I(r1))),Z(S,N)};D(ly,(S)=>{if(I(DS))S(Ey);else if(I(r1))S(cy,1)})}f(zN),f(DI);var gy=w(DI,2);a(gy,{type:"submit",get icon(){return V1},get disabled(){return I(PS)},children:(S,N)=>{V();var z=i();Q(()=>A(z,I(PS)?"Clearing…":"Clear cache")),Z(S,z)},$$slots:{default:!0}}),f(A0),h(A0,()=>O(qL));var FI=w(A0,2),MI=L(FI),xN=L(MI);i1(xN,{size:20});var CN=w(xN,2),my=w(L(CN),4);{var iy=(S)=>{var N=I1(),z=L(N,!0);f(N),Q(()=>A(z,I(MS))),Z(S,N)},sy=(S)=>{var N=z1(),z=L(N,!0);f(N),Q(()=>A(z,I(o1))),Z(S,N)};D(my,(S)=>{if(I(MS))S(iy);else if(I(o1))S(sy,1)})}f(CN),f(MI);var uy=w(MI,2);a(uy,{type:"submit",get icon(){return i1},get disabled(){return I(FS)},children:(S,N)=>{V();var z=i();Q(()=>A(z,I(FS)?"Starting…":"Rebuild all")),Z(S,z)},$$slots:{default:!0}}),f(FI),h(FI,()=>O(bL)),f(UI);var X0=w(UI,2);let ZN;var Y0=L(X0),BI=L(Y0),jN=L(BI);s1(jN,{size:20});var QN=w(jN,2),TI=L(QN),dy=w(L(TI));{var ty=(S)=>{var N=Fw();Z(S,N)};D(dy,(S)=>{if(I(n))S(ty)})}f(TI);var JN=w(TI,2),ay=L(JN);{var ey=(S)=>{var N=i(`Not available while LiteLLM + Bedrock mode is enabled — Claude credentials are
|
|
33
|
+
provided by the LiteLLM endpoint instead.`);Z(S,N)},vy=(S)=>{var N=i(`Provide GitHub and Claude Code tokens yourself instead of discovering them from this
|
|
34
|
+
machine. Useful on a headless server or when signed in as a different identity. A
|
|
35
|
+
token set here is injected into every new container and overrides host credential
|
|
36
|
+
discovery.`);Z(S,N)};D(ay,(S)=>{if(I(n))S(ey);else S(vy,-1)})}f(JN),f(QN),f(BI);var WN=w(BI,2),K0=L(WN);F(K0),V(2),f(WN),f(Y0),h(Y0,()=>O(mL));var AN=w(Y0,2);{var $y=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(lS))),Z(S,N)};D(AN,(S)=>{if(I(lS))S($y)})}var ry=w(AN,2);{var oy=(S)=>{var N=Mw(),z=u1(N),j=w(L(z),2),U=L(j);F(U);var b=w(U,2);a(b,{type:"submit",get disabled(){return I(Rf)},children:(T,l)=>{V();var k=i("Save");Z(T,k)},$$slots:{default:!0}}),f(j);var q=w(j,2);{var e=(T)=>{var l=I1(),k=L(l,!0);f(l),Q(()=>A(k,I(gS))),Z(T,l)},_=(T)=>{var l=z1(),k=L(l,!0);f(l),Q(()=>A(k,I(_1))),Z(T,l)};D(q,(T)=>{if(I(gS))T(e);else if(I(_1))T(_,1)})}f(z),h(z,()=>O(iL));var t=w(z,2),Y=w(L(t),2),K=L(Y);F(K);var P=w(K,2);a(P,{type:"submit",get disabled(){return I(Hf)},children:(T,l)=>{V();var k=i("Save");Z(T,k)},$$slots:{default:!0}}),f(Y);var s=w(Y,2);{var v=(T)=>{var l=I1(),k=L(l,!0);f(l),Q(()=>A(k,I(sS))),Z(T,l)},Q1=(T)=>{var l=z1(),k=L(l,!0);f(l),Q(()=>A(k,I(S0))),Z(T,l)};D(s,(T)=>{if(I(sS))T(v);else if(I(S0))T(Q1,1)})}f(t),h(t,()=>O(sL)),Q(()=>{d(U,"placeholder",I(ES)?"•••••••• (saved)":"ghp_… / gho_…"),d(K,"placeholder",I(mS)?"•••••••• (saved)":"sk-ant-oat…")}),m(U,()=>I(cS),(T)=>y(cS,T)),m(K,()=>I(iS),(T)=>y(iS,T)),Z(S,N)};D(ry,(S)=>{if(I(O1)&&!I(n))S(oy)})}f(X0);var V0=w(X0,2);let XN;var G0=L(V0),kI=L(G0),YN=L(kI);s1(YN,{size:20});var KN=w(YN,2),pI=L(KN),ny=w(L(pI));{var _y=(S)=>{var N=Bw();Q(()=>d(N,"title",`Disabled while ${I(U1)??""} is on`)),Z(S,N)};D(ny,(S)=>{if(I(U1))S(_y)})}f(pI);var VN=w(pI,2),S8=L(VN);{var I8=(S)=>{var N=i();Q(()=>A(N,`Not available while "${I(U1)??""}" is enabled — these modes are mutually
|
|
37
|
+
incompatible.`)),Z(S,N)},f8=(S)=>{var N=Tw();V(2),Z(S,N)};D(S8,(S)=>{if(I(U1))S(I8);else S(f8,-1)})}f(VN),f(KN),f(kI);var GN=w(kI,2),R0=L(GN);F(R0),V(2),f(GN),f(G0),h(G0,()=>O(uL));var RN=w(G0,2);{var N8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(uS))),Z(S,N)};D(RN,(S)=>{if(I(uS))S(N8)})}var L8=w(RN,2);{var y8=(S)=>{var N=kw(),z=u1(N),j=w(L(z),2),U=L(j);F(U);var b=w(U,2);a(b,{type:"submit",get disabled(){return I(Df)},children:(M,E)=>{V();var $=i("Save");Z(M,$)},$$slots:{default:!0}}),f(j);var q=w(j,2);{var e=(M)=>{var E=I1(),$=L(E,!0);f(E),Q(()=>A($,I(dS))),Z(M,E)},_=(M)=>{var E=z1(),$=L(E,!0);f(E),Q(()=>A($,I(I0))),Z(M,E)};D(q,(M)=>{if(I(dS))M(e);else if(I(I0))M(_,1)})}f(z),h(z,()=>O(dL));var t=w(z,2),Y=w(L(t),2),K=L(Y);F(K);var P=w(K,2);a(P,{type:"submit",get disabled(){return I(Ff)},children:(M,E)=>{V();var $=i("Save");Z(M,$)},$$slots:{default:!0}}),f(Y);var s=w(Y,2);{var v=(M)=>{var E=I1(),$=L(E,!0);f(E),Q(()=>A($,I(eS))),Z(M,E)},Q1=(M)=>{var E=z1(),$=L(E,!0);f(E),Q(()=>A($,I(f0))),Z(M,E)};D(s,(M)=>{if(I(eS))M(v);else if(I(f0))M(Q1,1)})}f(t),h(t,()=>O(tL));var T=w(t,2),l=w(L(T),2),k=L(l),r=w(L(k),2);F(r),f(k);var w1=w(k,2),A1=w(L(w1),2);F(A1),f(w1);var m1=w(w1,2),M1=w(L(m1),2);F(M1),f(m1);var If=w(m1,2),vN=w(L(If),2);F(vN),f(If);var ff=w(If,2),$N=w(L(ff),2);F($N),f(ff);var rN=w(ff,2),a8=L(rN);a(a8,{type:"submit",get disabled(){return I(hf)},children:(M,E)=>{V();var $=i("Save models");Z(M,$)},$$slots:{default:!0}}),f(rN),f(l);var e8=w(l,2);{var v8=(M)=>{var E=I1(),$=L(E,!0);f(E),Q(()=>A($,I(vS))),Z(M,E)},$8=(M)=>{var E=z1(),$=L(E,!0);f(E),Q(()=>A($,I(N0))),Z(M,E)};D(e8,(M)=>{if(I(vS))M(v8);else if(I(N0))M($8,1)})}f(T),h(T,()=>O(aL)),Q(()=>d(K,"placeholder",I(aS)?"•••••••• (saved)":"sk-…")),m(U,()=>I(Pf),(M)=>y(Pf,M)),m(K,()=>I(tS),(M)=>y(tS,M)),m(r,()=>I(Mf),(M)=>y(Mf,M)),m(A1,()=>I(Bf),(M)=>y(Bf,M)),m(M1,()=>I(Tf),(M)=>y(Tf,M)),m(vN,()=>I(kf),(M)=>y(kf,M)),m($N,()=>I(pf),(M)=>y(pf,M)),Z(S,N)};D(L8,(S)=>{if(I(n))S(y8)})}f(V0);var H0=w(V0,2);let HN;var U0=L(H0),hI=L(U0),UN=L(hI);o0(UN,{size:18});var PN=w(UN,2),OI=L(PN),w8=w(L(OI));{var z8=(S)=>{var N=pw();Z(S,N)};D(w8,(S)=>{if(I(n))S(z8)})}f(OI);var DN=w(OI,2),x8=L(DN);{var C8=(S)=>{var N=i(`Not available while "LiteLLM + Bedrock" is enabled — these modes are mutually
|
|
38
|
+
incompatible.`);Z(S,N)},Z8=(S)=>{var N=hw();V(4),Z(S,N)};D(x8,(S)=>{if(I(n))S(C8);else S(Z8,-1)})}f(DN),f(PN),f(hI);var FN=w(hI,2),P0=L(FN);F(P0),V(2),f(FN),f(U0),h(U0,()=>O(eL));var MN=w(U0,2);{var j8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I($S))),Z(S,N)};D(MN,(S)=>{if(I($S))S(j8)})}var Q8=w(MN,2);{var J8=(S)=>{var N=Ow(),z=w(L(N),2),j=L(z),U=w(L(j),2);F(U),f(j);var b=w(j,2),q=w(L(b),2);F(q),f(b);var e=w(b,2),_=w(L(e),2);F(_),f(e);var t=w(e,2),Y=w(L(t),2);F(Y),f(t);var K=w(t,2),P=w(L(K),2);F(P),f(K);var s=w(K,2),v=L(s);a(v,{type:"submit",get disabled(){return I(gf)},children:(k,r)=>{V();var w1=i("Save models");Z(k,w1)},$$slots:{default:!0}}),f(s),f(z);var Q1=w(z,2);{var T=(k)=>{var r=I1(),w1=L(r,!0);f(r),Q(()=>A(w1,I(rS))),Z(k,r)},l=(k)=>{var r=z1(),w1=L(r,!0);f(r),Q(()=>A(w1,I(L0))),Z(k,r)};D(Q1,(k)=>{if(I(rS))k(T);else if(I(L0))k(l,1)})}f(N),h(N,()=>O(vL)),m(U,()=>I(qf),(k)=>y(qf,k)),m(q,()=>I(bf),(k)=>y(bf,k)),m(_,()=>I(lf),(k)=>y(lf,k)),m(Y,()=>I(Ef),(k)=>y(Ef,k)),m(P,()=>I(cf),(k)=>y(cf,k)),Z(S,N)};D(Q8,(S)=>{if(I(H1))S(J8)})}f(H0);var qI=w(H0,2),D0=L(qI),bI=L(D0),W8=L(bI);n0(W8,{size:20}),V(2),f(bI);var BN=w(bI,2),F0=L(BN);F(F0),V(2),f(BN),f(D0),h(D0,()=>O($L));var TN=w(D0,2);{var A8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(oS))),Z(S,N)};D(TN,(S)=>{if(I(oS))S(A8)})}var X8=w(TN,2);{var Y8=(S)=>{var N=bw(),z=L(N);j1(z,20,()=>I(P1),(Y)=>Y,(Y,K)=>{var P=qw(),s=L(P);j1(s,16,()=>I(P1).filter((A1)=>A1!==K),(A1)=>A1,(A1,m1)=>{var M1=LL();F(M1),Q(()=>X1(M1,m1)),Z(A1,M1)});var v=w(s,2),Q1=L(v,!0);f(v);var T=w(v,2);let l;var k=L(T,!0);f(T);var r=w(T,2),w1=L(r);Cf(w1,{size:13}),f(r),f(P),h(P,()=>O(oL(K))),Q(()=>{A(Q1,K),l=y1(T,1,"var-status svelte-1n6ht58",null,l,{present:I(D1)[K]}),d(T,"title",I(D1)[K]?"Set on this host — will be injected":"Not set on this host — will be skipped"),A(k,I(D1)[K]?"set":"missing"),r.disabled=I(w0),d(r,"aria-label",`Remove ${K}`)}),Z(Y,P)},(Y)=>{var K=yL();Z(Y,K)}),f(z);var j=w(z,2),U=L(j);j1(U,16,()=>I(P1),(Y)=>Y,(Y,K)=>{var P=LL();F(P),Q(()=>X1(P,K)),Z(Y,P)});var b=w(U,2);F(b);var q=w(b,2);a(q,{type:"submit",get icon(){return Zf},get disabled(){return I(w0)},children:(Y,K)=>{V();var P=i("Add");Z(Y,P)},$$slots:{default:!0}}),f(j),h(j,()=>O(rL));var e=w(j,2);{var _=(Y)=>{var K=I1(),P=L(K,!0);f(K),Q(()=>A(P,I(Y1))),Z(Y,K)},t=(Y)=>{var K=z1(),P=L(K,!0);f(K),Q(()=>A(P,I(q1))),Z(Y,K)};D(e,(Y)=>{if(I(Y1))Y(_);else if(I(q1))Y(t,1)})}f(N),m(b,()=>I(nS),(Y)=>y(nS,Y)),Z(S,N)};D(X8,(S)=>{if(I(y0))S(Y8)})}f(qI);var lI=w(qI,2),M0=L(lI),EI=L(M0),K8=L(EI);_0(K8,{size:20}),V(2),f(EI);var kN=w(EI,2),B0=L(kN);F(B0),V(2),f(kN),f(M0),h(M0,()=>O(nL));var pN=w(M0,2);{var V8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(_S))),Z(S,N)};D(pN,(S)=>{if(I(_S))S(V8)})}var G8=w(pN,2);{var R8=(S)=>{var N=Ew(),z=L(N);j1(z,20,()=>I(b1),(Y)=>Y,(Y,K)=>{var P=lw(),s=L(P);F(s);var v=w(s,2),Q1=L(v,!0);f(v);var T=w(v,4),l=L(T);Cf(l,{size:13}),f(T),f(P),h(P,()=>O(Sy(K))),Q(()=>{X1(s,K),A(Q1,K),T.disabled=I(x0),d(T,"aria-label",`Remove ${K}`)}),Z(Y,P)},(Y)=>{var K=yL();Z(Y,K)}),f(z);var j=w(z,2),U=L(j);F(U);var b=w(U,2);F(b);var q=w(b,2);a(q,{type:"submit",get icon(){return Zf},get disabled(){return I(x0)},children:(Y,K)=>{V();var P=i("Add");Z(Y,P)},$$slots:{default:!0}}),f(j),h(j,()=>O(_L));var e=w(j,2);{var _=(Y)=>{var K=I1(),P=L(K,!0);f(K),Q(()=>A(P,I(W1))),Z(Y,K)},t=(Y)=>{var K=z1(),P=L(K,!0);f(K),Q(()=>A(P,I(l1))),Z(Y,K)};D(e,(Y)=>{if(I(W1))Y(_);else if(I(l1))Y(t,1)})}f(N),m(U,()=>I(SI),(Y)=>y(SI,Y)),m(b,()=>I(II),(Y)=>y(II,Y)),Z(S,N)};D(G8,(S)=>{if(I(z0))S(R8)})}f(lI);var cI=w(lI,2),hN=L(cI),gI=L(hN),H8=L(gI);i0(H8,{size:20}),V(2),f(gI);var U8=w(gI,2);Lf(U8,{}),f(hN),f(cI);var mI=w(cI,2),ON=L(mI),iI=L(ON),P8=L(iI);g0(P8,{size:20}),V(2),f(iI);var qN=w(iI,2),sI=L(qN);F(sI),V(2),f(qN),f(ON),f(mI);var uI=w(mI,2),T0=L(uI),dI=L(T0),D8=L(dI);m0(D8,{size:18}),V(2),f(dI);var bN=w(dI,2),k0=L(bN);F(k0),V(2),f(bN),f(T0),h(T0,()=>O(fy));var lN=w(T0,2);{var F8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(f1))),Z(S,N)};D(lN,(S)=>{if(I(f1))S(F8)})}var M8=w(lN,2);{var B8=(S)=>{var N=gw();j1(N,21,()=>ZL,(z)=>z.name,(z,j)=>{var U=cw(),b=L(U);F(b);var q=w(b,2);let e;var _=L(q);LS(_,{get art(){return I(j)},get name(){return I(j).name},scale:4}),f(q),f(U),h(U,()=>O(Ny(I(j)))),Q(()=>{X1(b,I(j).name),e=y1(q,1,"pet svelte-1n6ht58",null,e,{selected:I(j).name===I(W).name}),q.disabled=I(x1),d(q,"title",I(j).name),d(q,"aria-label",I(j).name),d(q,"aria-pressed",I(j).name===I(W).name)}),Z(z,U)}),f(N),Z(S,N)};D(M8,(S)=>{if(I(W))S(B8)})}f(uI);var tI=w(uI,2),EN=L(tI),aI=L(EN),T8=L(aI);SS(T8,{size:20}),V(4),f(aI);var p0=w(aI,2),eI=L(p0),k8=L(eI);IS(k8,{size:20}),V(2),f(eI);var cN=w(eI,2),h0=L(cN);F(h0),V(2),f(cN),f(p0),h(p0,()=>O(lL));var gN=w(p0,2);{var p8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(TS))),Z(S,N)};D(gN,(S)=>{if(I(TS))S(p8)})}var O0=w(gN,2),vI=L(O0),h8=L(vI);fS(h8,{size:20}),V(2),f(vI);var mN=w(vI,2),q0=L(mN);F(q0),V(2),f(mN),f(O0),h(O0,()=>O(EL));var iN=w(O0,2);{var O8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(pS))),Z(S,N)};D(iN,(S)=>{if(I(pS))S(O8)})}var b0=w(iN,2),$I=L(b0),q8=L($I);NS(q8,{size:20}),V(2),f($I);var sN=w($I,2),l0=L(sN);F(l0),V(2),f(sN),f(b0),h(b0,()=>O(cL));var uN=w(b0,2);{var b8=(S)=>{var N=S1(),z=L(N),j=L(z,!0);f(z),f(N),Q(()=>A(j,I(OS))),Z(S,N)};D(uN,(S)=>{if(I(OS))S(b8)})}var rI=w(uN,2),oI=L(rI),dN=L(oI);V1(dN,{size:20});var tN=w(dN,2),l8=w(L(tN),4);{var E8=(S)=>{var N=I1(),z=L(N,!0);f(N),Q(()=>A(z,I(bS))),Z(S,N)},c8=(S)=>{var N=z1(),z=L(N,!0);f(N),Q(()=>A(z,I(n1))),Z(S,N)};D(l8,(S)=>{if(I(bS))S(E8);else if(I(n1))S(c8,1)})}f(tN),f(oI);var g8=w(oI,2);a(g8,{type:"submit",get icon(){return V1},get disabled(){return I(qS)},children:(S,N)=>{V();var z=i();Q(()=>A(z,I(qS)?"Clearing…":"Clear cache")),Z(S,z)},$$slots:{default:!0}}),f(rI),h(rI,()=>O(gL)),f(EN),f(tI);var nI=w(tI,2),_I=L(nI),Sf=L(_I),m8=L(Sf);c0(m8,{size:20}),V(2),f(Sf);var i8=w(Sf,2);{var s8=(S)=>{var N=mw();Z(S,N)},u8=(S)=>{a(S,{type:"submit",variant:"danger",children:(N,z)=>{V();var j=i("Delete & shut down");Z(N,j)},$$slots:{default:!0}})};D(i8,(S)=>{if(I(N1))S(s8);else S(u8,-1)})}f(_I),h(_I,()=>O(Ly)),f(nI);var aN=w(nI,2);yf(aN,{});var eN=w(aN,2),d8=L(eN);f(eN),f(tf),f(fI);var t8=w(fI,2);JL(t8,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),Q(()=>{X1(yI,I(C1)),ef=y1(K1,1,"mode-btn svelte-1n6ht58",null,ef,{active:I(C1)==="ide"}),d(K1,"aria-pressed",I(C1)==="ide"),K1.disabled=I(k1),vf=y1(F1,1,"mode-btn svelte-1n6ht58",null,vf,{active:I(C1)==="terminal"}),d(F1,"aria-pressed",I(C1)==="terminal"),F1.disabled=I(k1),X1(xI,I(J1)),X1(jI,I(R1)),L1(Q0,I(e1)),Q0.disabled=I(Wf),L1(W0,I(HS)),W0.disabled=I(Xf),ZN=y1(X0,1,"card svelte-1n6ht58",null,ZN,{"disabled-card":I(n)}),L1(K0,I(O1)),K0.disabled=I(Gf)||I(n),XN=y1(V0,1,"card svelte-1n6ht58",null,XN,{"disabled-card":I(U1)}),L1(R0,I(n)),R0.disabled=I(Uf)||!!I(U1),HN=y1(H0,1,"card svelte-1n6ht58",null,HN,{"disabled-card":I(n)}),L1(P0,I(H1)),P0.disabled=I(Of)||I(n),L1(F0,I(y0)),F0.disabled=I(mf),L1(B0,I(z0)),B0.disabled=I(sf),L1(sI,I(X)),L1(k0,!!I(W)),k0.disabled=I(x1),L1(h0,I(BS)),h0.disabled=I(Yf),L1(q0,I(kS)),q0.disabled=I(Kf),L1(l0,I(hS)),l0.disabled=I(Vf),A(d8,`Codebay v${C.version??""}`)}),u("click",K1,()=>t1("ide")),u("click",F1,()=>t1("terminal")),m(AI,()=>I(p1),(S)=>y(p1,S)),m(GI,()=>I(h1),(S)=>y(h1,S)),u("change",Q0,(S)=>{y(e1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",W0,(S)=>{y(HS,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",K0,(S)=>{y(O1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",R0,(S)=>{y(n,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",P0,(S)=>{y(H1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",F0,(S)=>{y(y0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",B0,(S)=>{y(z0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",sI,(S)=>Iy(S.currentTarget.checked)),u("change",k0,(S)=>S.currentTarget.form?.requestSubmit()),u("change",h0,(S)=>{y(BS,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",q0,(S)=>{y(kS,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u("change",l0,(S)=>{y(hS,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),Z(J,uf),a0()}e0(["click","change"]);VL("SettingsView_8hmarwmf8onq",Qf);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"/_mochi/client/chunk-
|
|
1
|
+
import"/_mochi/client/chunk-wvtkwfsh.js";var D=2,E=1,F=class{activate(b){this._terminal=b}dispose(){}fit(){let b=this.proposeDimensions();if(!b||!this._terminal||isNaN(b.cols)||isNaN(b.rows))return;let v=this._terminal._core;(this._terminal.rows!==b.rows||this._terminal.cols!==b.cols)&&(v._renderService.clear(),this._terminal.resize(b.cols,b.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let b=this._terminal._core._renderService.dimensions;if(b.css.cell.width===0||b.css.cell.height===0)return;let v=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,w=window.getComputedStyle(this._terminal.element.parentElement),x=parseInt(w.getPropertyValue("height")),y=Math.max(0,parseInt(w.getPropertyValue("width"))),k=window.getComputedStyle(this._terminal.element),q={top:parseInt(k.getPropertyValue("padding-top")),bottom:parseInt(k.getPropertyValue("padding-bottom")),right:parseInt(k.getPropertyValue("padding-right")),left:parseInt(k.getPropertyValue("padding-left"))},z=q.top+q.bottom,A=q.right+q.left,B=x-z,C=y-A-v;return{cols:Math.max(D,Math.floor(C/b.css.cell.width)),rows:Math.max(E,Math.floor(B/b.css.cell.height))}}};export{F as FitAddon};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
export{f as
|
|
1
|
+
import{Ba as A,Ca as h,Ga as T,Ha as j,Ja as B,K as _,L as y,La as M,M as I,O as g,Q as b,R as N,S as W,Ua as u,Ya as n,Za as X,_ as a,_a as r,ga as w,ha as E,ia as L,ra as i,za as z}from"/_mochi/client/chunk-bn731rda.js";g();var H={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},C=H;var x=(e)=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var O=Symbol("lucide-context");var k=()=>b(O);var ee=new Set(["$$slots","$$events","$$legacy","name","color","size","strokeWidth","absoluteStrokeWidth","iconNode","children"]),te=z("<svg><!><!></svg>");function f(e,t){N(t,!0);let o=k()??{},c=r(t,"color",19,()=>o.color??"currentColor"),l=r(t,"size",19,()=>o.size??24),m=r(t,"strokeWidth",19,()=>o.strokeWidth??2),J=r(t,"absoluteStrokeWidth",19,()=>o.absoluteStrokeWidth??!1),K=r(t,"iconNode",19,()=>[]),p=n(t,ee),Q=a(()=>J()?Number(m())*24/Number(l()):m());var s=te();u(s,(d)=>({...C,...d,...p,width:l(),height:l(),stroke:c(),"stroke-width":i(Q),class:["lucide-icon lucide",o.class,t.name&&`lucide-${t.name}`,t.class]}),[()=>!t.children&&!x(p)&&{"aria-hidden":"true"}]);var $=w(s);j($,17,K,T,(d,U)=>{var v=a(()=>y(i(U),2));let V=()=>i(v)[0],Y=()=>i(v)[1];var S=A(),Z=E(S);M(Z,V,!0,(G,re)=>{u(G,()=>({...Y()}))}),h(d,S)});var R=L($);B(R,()=>t.children??_),I(s),h(e,s),W()}var oe=new Set(["$$slots","$$events","$$legacy"]);function q(e,t){let o=n(t,oe),c=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];f(e,X({name:"x"},()=>o,{get iconNode(){return c}}))}function Ce(e){return`${e}?popup=1`}function D(){return new URLSearchParams(location.search).has("popup")}function F(){window.close(),setTimeout(()=>{location.href="/"},100)}function xe(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;if(!D())return;e.preventDefault(),F()}function be(){if(!D())return()=>{};history.pushState({},"",location.href);let e=()=>F();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)}
|
|
2
|
+
export{f as F,q as G,Ce as H,xe as I,be as J};
|