codebay 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mochi/manifest.json +778 -646
- package/.mochi/svelte-client/HydratableIsland-6y9p903x.js +1 -0
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-nv6yzk0x.js +2 -0
- package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-ry83ck8a.js +14 -0
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-vjt4jscf.js +3 -0
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-1jdrk8x6.js +48 -0
- package/.mochi/svelte-client/{chunk-spk1b2r4.js → chunk-0vqvn81s.js} +1 -1
- package/.mochi/svelte-client/chunk-2dc6352a.js +1 -0
- package/.mochi/svelte-client/chunk-3cxaw5hr.js +2 -0
- package/.mochi/svelte-client/chunk-3jqc40sp.js +2 -0
- package/.mochi/svelte-client/chunk-3pgw6t5j.js +4 -0
- package/.mochi/svelte-client/chunk-7g3xt6ez.js +2 -0
- package/.mochi/svelte-client/chunk-b5s3mpg0.js +1 -0
- package/.mochi/svelte-client/chunk-bhseezf3.js +2 -0
- package/.mochi/svelte-client/chunk-bhwkq8er.js +1 -0
- package/.mochi/svelte-client/chunk-jm3ge348.js +1 -0
- package/.mochi/svelte-client/{chunk-0mc09cyb.js → chunk-sxcr9gzp.js} +1 -1
- package/.mochi/svelte-client/{chunk-ccfh8hxz.js → chunk-tss2473w.js} +1 -1
- package/.mochi/svelte-compile/{App-94xsdn0w.server.js → App-8mpgrxza.server.js} +470 -271
- package/.mochi/svelte-compile/{Avatars-fnccw47h.server.js → Avatars-y5nf6q25.server.js} +111 -110
- package/.mochi/svelte-compile/{DefaultError-je52k17d.server.js → DefaultError-rrjye0s2.server.js} +1 -2
- package/.mochi/svelte-compile/Instance-3sbzyp0g.server.js +695 -0
- package/.mochi/svelte-compile/{Settings-a7b11v90.server.js → Settings-ysvh5vhh.server.js} +838 -607
- package/.mochi/svelte-compile/chunk-7zaw9t5a.js +25 -0
- package/.mochi/svelte-compile/chunk-878xcmp4.js +65 -0
- package/.mochi/svelte-compile/chunk-d2z3qxxe.js +28 -0
- package/.mochi/svelte-compile/{chunk-60mpagr9.js → chunk-gnf5cnct.js} +661 -22
- package/.mochi/svelte-compile/{chunk-w0hca7va.js → chunk-jq7jj8jd.js} +18 -2
- package/.mochi/svelte-compile/chunk-vr0e32mv.js +24 -0
- package/.mochi/svelte-compile/{chunk-apdte4nh.js → chunk-xmygdsj4.js} +35 -612
- package/.mochi/svelte-compile/{chunk-pqb403fh.js → chunk-zk4a9zms.js} +28 -31
- package/.mochi/svelte-css/AgentLogBox-38adby5iygny7.css +1 -0
- package/.mochi/svelte-css/DropZone-1zeitd761uwyd.css +1 -0
- package/.mochi/svelte-css/IdeBar-d3un7kuigxc5.css +1 -0
- package/.mochi/svelte-css/{InstanceCard-25z7nas7y98zk.css → InstanceCard-3vxozrp9uoads.css} +1 -1
- package/.mochi/svelte-css/InstanceView-3ucotech5097w.css +1 -0
- package/.mochi/svelte-css/{SettingsView-bccw34agd2bj.css → SettingsView-2400myxb9ot56.css} +1 -1
- package/README.md +43 -3
- package/migrations/0009_agent_runs.sql +24 -0
- package/migrations/0010_agent_run_model.sql +2 -0
- package/migrations/0011_agent_run_rejected_structured_output.sql +2 -0
- package/package.json +13 -9
- package/src/__fixtures__/IdeBarStrip.svelte +41 -0
- package/src/avatars/dog.ts +1 -1
- package/src/avatars/lightning.ts +8 -9
- package/src/avatars/rocket.ts +4 -5
- package/src/components/AgentLogBox.svelte +458 -0
- package/src/components/AppShell.svelte +112 -1
- package/src/components/DropZone.svelte +77 -0
- package/src/components/FolderBrowser.svelte +13 -5
- package/src/components/HealthBox.svelte +6 -5
- package/src/components/IdeBar.svelte +222 -76
- package/src/components/InstanceCard.svelte +38 -0
- package/src/components/InstanceView.svelte +83 -2
- package/src/components/SettingsView.svelte +273 -0
- package/src/components/TerminalPane.svelte +54 -0
- package/src/components/UiShowcase.svelte +23 -3
- package/src/container-injections/claude-code-install.ts +1 -1
- package/src/container-injections/claude-history.ts +52 -0
- package/src/container-injections/claude-statusline.ts +4 -1
- package/src/container-injections/github-credentials.ts +12 -1
- package/src/container-injections/tmux.ts +6 -2
- package/src/index.ts +35 -7
- package/src/lib/agent-run-stream.ts +286 -0
- package/src/lib/agent-runs.server.ts +735 -0
- package/src/lib/auth.server.ts +11 -2
- package/src/lib/build-freshness.server.ts +71 -0
- package/src/lib/config.server.ts +36 -7
- package/src/lib/container-files.server.ts +1 -1
- package/src/lib/data-dir-lock.server.ts +78 -0
- package/src/lib/db.server.ts +124 -1
- package/src/lib/devcontainer.server.ts +93 -16
- package/src/lib/docker-client.server.ts +11 -5
- package/src/lib/drives.ts +11 -0
- package/src/lib/exec.server.ts +66 -5
- package/src/lib/injections.server.ts +5 -1
- package/src/lib/instances.server.ts +66 -7
- package/src/lib/log-capture.server.ts +63 -23
- package/src/lib/mcp-auth.server.ts +52 -0
- package/src/lib/osc52.ts +18 -0
- package/src/lib/picker.server.ts +23 -2
- package/src/lib/sandbox-ops.server.ts +263 -0
- package/src/lib/upload.ts +32 -0
- package/src/lib/uploads.server.ts +164 -0
- package/src/mcp/routes.server.ts +25 -0
- package/src/mcp/server.server.ts +55 -0
- package/src/mcp/tools.server.ts +660 -0
- package/src/pages/Instance.svelte +6 -2
- package/src/pages/Settings.svelte +15 -0
- package/src/routes.ts +79 -3
- package/src/types.ts +17 -0
- package/.mochi/svelte-client/HydratableIsland-zrdsrsmg.js +0 -1
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-v7y7dh53.js +0 -2
- package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-tmwd6fpb.js +0 -14
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-m7t64dbh.js +0 -1
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-4a7ann1f.js +0 -40
- package/.mochi/svelte-client/chunk-5jwfs4p9.js +0 -2
- package/.mochi/svelte-client/chunk-6qg4q98a.js +0 -2
- package/.mochi/svelte-client/chunk-phf7v5jj.js +0 -4
- package/.mochi/svelte-client/chunk-tmeh70wg.js +0 -2
- package/.mochi/svelte-client/chunk-vs1yjbqt.js +0 -2
- package/.mochi/svelte-client/chunk-x0m3k0rn.js +0 -1
- package/.mochi/svelte-client/chunk-y7f4jbdm.js +0 -2
- package/.mochi/svelte-compile/Instance-knnkcn2p.server.js +0 -377
- package/.mochi/svelte-compile/chunk-ed46m58e.js +0 -22
- package/.mochi/svelte-compile/chunk-jx6h1xzp.js +0 -20
- package/.mochi/svelte-css/IdeBar-1mtgemqfuvqzi.css +0 -1
- package/.mochi/svelte-css/InstanceView-32j12hyg8v9u0.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{wb as a}from"/_mochi/client/chunk-3pgw6t5j.js";import"/_mochi/client/chunk-sxcr9gzp.js";export{a as registerComponent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ai,b as Mi,c as Ji,d as Ti,e as Ct,f as Zi,h as Ui}from"/_mochi/client/chunk-jm3ge348.js";import{j as ht,k as Ot,n as Ri,p as Lt,q as Qi}from"/_mochi/client/chunk-3cxaw5hr.js";import{D as Yi,v as ui,w as vt,x as ei,y as Ue,z as bi}from"/_mochi/client/chunk-bhseezf3.js";import{M as ct,N as dt,O as Ne,P as Di}from"/_mochi/client/chunk-7g3xt6ez.js";import{Q as de,R as It,S as ft,V as Hi,W as lt,X as Gi}from"/_mochi/client/chunk-3jqc40sp.js";import{$ as s,Aa as mt,Ba as At,Ca as e,Fa as Oi,Ga as Ve,Ha as U,Ia as We,Ja as v,La as Ae,Ma as Et,Na as d,Oa as qt,Pa as _,Qa as L,Sa as Ai,Ta as ze,Va as Wi,Wa as zi,Y as Bi,Za as xe,_a as yt,aa as Se,ab as it,db as $,ea as ge,fa as ue,fb as at,ga as Vt,gb as Pi,ha as C,hb as Qe,ib as pi,ja as Mt,ka as S,ma as r,na as De,oa as pe,ob as fe,pb as ce,qa as o,qb as Le,ra as be,rb as Ki,sa as ae,ta as c,ua as we,ub as Ni,wb as ki,xa as T,ya as kt,za as Xt}from"/_mochi/client/chunk-3pgw6t5j.js";import{xb as Vi}from"/_mochi/client/chunk-sxcr9gzp.js";var hi=!1;class $t extends Date{#e=S(super.getTime());#t=new Map;#i=kt;constructor(...i){super(...i);if(!hi)this.#a()}#a(){hi=!0;var i=$t.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(...n){if(n.length>0)return e(this.#e),t[l].apply(this,n);var x=this.#t.get(l);if(x===void 0){let g=kt;Xt(this.#i),x=C(()=>{return e(this.#e),t[l].apply(this,n)}),this.#t.set(l,x),Xt(g)}return e(x)};if(l.startsWith("set"))i[l]=function(...n){var x=t[l].apply(this,n);return r(this.#e,t.getTime.call(this)),x}}}}var $i=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],ji=["difference","intersection","symmetricDifference","union"],xi=!1;class $e extends Set{#e=new Map;#t=S(0);#i=S(0);#a=mt||-1;constructor(i){super();if(i){for(var t of i)super.add(t);this.#i.v=super.size}if(!xi)this.#r()}#l(i){return mt===this.#a?S(i):Mt(i)}#r(){xi=!0;var i=$e.prototype,t=Set.prototype;for(let a of $i)i[a]=function(...l){return e(this.#t),t[a].apply(this,l)};for(let a of ji)i[a]=function(...l){e(this.#t);var n=t[a].apply(this,l);return new $e(n)}}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),De(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),De(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),De(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 wi extends Map{#e=new Map;#t=S(0);#i=S(0);#a=mt||-1;constructor(i){super();if(i){for(var[t,a]of i)super.set(t,a);this.#i.v=super.size}}#l(i){return mt===this.#a?S(i):Mt(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)}getOrInsert(i,t){if(!super.has(i))this.set(i,t);return this.get(i)}getOrInsertComputed(i,t){if(!super.has(i))this.set(i,t(i));return this.get(i)}set(i,t){var a=this.#e,l=a.get(i),n=super.get(i),x=super.set(i,t),g=this.#t;if(l===void 0)l=this.#l(0),a.set(i,l),r(this.#i,super.size),De(g);else if(n!==t){De(l);var I=g.reactions===null?null:new Set(g.reactions),p=I===null||!l.reactions?.every((O)=>I.has(O));if(p)De(g)}return x}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),De(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);De(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 pt=Symbol("replace");class zt extends URLSearchParams{#e=S(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}[pt](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);De(this.#e),this.#i=!1}append(i,t){super.append(i,t),this.#a(),De(this.#e)}delete(i,t){var a=super.has(i,t);if(super.delete(i,t),a)this.#a(),De(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((n,x)=>n!==l[x]))this.#a(),De(this.#e)}sort(){super.sort(),this.#a(),De(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 jt=null;function Si(){return jt}class Ii extends URL{#e=S(super.protocol);#t=S(super.username);#i=S(super.password);#a=S(super.hostname);#l=S(super.port);#r=S(super.pathname);#n=S(super.hash);#f=S(super.search);#c;constructor(i,t){i=new URL(i,t);super(i);jt=this,this.#c=new zt(i.searchParams),jt=null}get hash(){return e(this.#n)}set hash(i){super.hash=i,r(this.#n,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.#n),e(this.#f),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.#n,super.hash),r(this.#f,super.search),this.#c[pt](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),r(this.#l,super.port)}get search(){return e(this.#f)}set search(i){super.search=i,r(this.#f,super.search),this.#c[pt](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 Ei{#e;#t;constructor(i,t){this.#e=i,this.#t=qt(t)}get current(){return this.#t(),this.#e()}}function _i(i,t){return i===9?t-1:i-1}function Nt(i,t,a){if(a<=0)return null;let l=i<0||i>=a?0:i;switch(t){case"ArrowRight":return(l+1)%a;case"ArrowLeft":return(l-1+a)%a;case"Home":return 0;case"End":return a-1;default:{if(!/^[1-9]$/.test(t))return null;let n=_i(Number(t),a);return n<a?n:null}}}var yi=/^[A-Za-z0-9._-]+$/;function ea(i){let t=i.trim();if(!t)return null;let a,l,n=t.match(/^[A-Za-z0-9._-]+@([A-Za-z0-9.-]+):(.+)$/);if(n)a=n[1],l=n[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)){let p;try{p=new URL(t)}catch{return null}if(p.protocol!=="http:"&&p.protocol!=="https:"&&p.protocol!=="ssh:")return null;a=p.hostname,l=p.pathname}else{let p=t.match(/^([A-Za-z0-9-]+\.[A-Za-z0-9.-]+)\/(.+)$/);if(!p)return null;a=p[1],l=p[2]}if(!a||!l)return null;let x=l.replace(/\.git$/i,"").split("/").filter(Boolean),[g,I]=x;if(!g||!I||!yi.test(g)||!yi.test(I))return null;return{host:a,owner:g,repo:I,cloneUrl:`https://${a}/${g}/${I}.git`}}function _t(i){return ea(i)!==null}var Ci="::drives",Li="This PC";var ta=new Set(["$$slots","$$events","$$legacy"]);function Pt(i,t){let a=fe(t,ta),l={name:"folder-clock",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var ia=new Set(["$$slots","$$events","$$legacy"]);function gt(i,t){let a=fe(t,ia),l={name:"git-branch",size:24,node:[["path",{d:"M15 6a9 9 0 0 0-9 9V3"}],["circle",{cx:"18",cy:"6",r:"3"}],["circle",{cx:"6",cy:"18",r:"3"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var aa=new Set(["$$slots","$$events","$$legacy"]);function Tt(i,t){let a=fe(t,aa),l={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var la=new Set(["$$slots","$$events","$$legacy"]);function Dt(i,t){let a=fe(t,la),l={name:"folder",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var ra=new Set(["$$slots","$$events","$$legacy"]);function ut(i,t){let a=fe(t,ra),l={name:"triangle-alert",size:24,node:[["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"}]],aliases:["alert-triangle"]};de(i,ce(()=>a,{get icon(){return l}}))}var na=v('<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>'),fa=v('<button class="recent-toggle svelte-oq97c4"> </button>'),ca=v('<div class="recent svelte-oq97c4"><div class="recent-label svelte-oq97c4">Recent</div> <!> <!></div>'),da=v('<div class="muted svelte-oq97c4">Loading…</div>'),sa=v('<div class="muted err svelte-oq97c4"> </div>'),oa=v('<div class="row svelte-oq97c4"><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4">..</span></button></div>'),ma=v('<div class="muted svelte-oq97c4"> </div>'),ga=v('<span class="badge svelte-oq97c4">devcontainer</span>'),ua=v('<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>'),va=v("<!> <!> <!>",1),ha=v(`<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>`),xa=v('<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"> </span> <button class="primary svelte-oq97c4">Select this folder</button></div></div></div>');function ti(i,t){ge(t,!0);let a=Le(t,"defaultMode",3,"ide"),l=Le(t,"initialMode",3,null),n=S(pe(l())),x=C(()=>e(n)??a()),g=S(null),I=S(!0),p=S(null),O=S(""),Y=S(null),A=S(pe([])),le=S(!1),R=S(""),X=S(""),G=C(()=>_t(e(R)));function te(){if(!e(G))return;t.onpick(e(R).trim(),{branch:e(X).trim()||void 0,mode:e(x)})}let j=C(()=>e(g)?e(g).entries.filter((N)=>N.name.toLowerCase().includes(e(O).trim().toLowerCase())):[]),ee=C(()=>e(g)?.path===Ci),re=C(()=>e(le)?e(A):e(A).slice(0,5));async function b(){try{let N=await ei("/api/history");r(A,N.history??[],!0)}catch{}}async function y(N){let oe=e(A);r(A,e(A).filter((Fe)=>Fe.source_path!==N),!0);try{await bi("/api/history",{sourcePath:N})}catch{r(A,oe,!0)}}async function D(N=null){r(I,!0),r(p,null),r(O,"");try{let oe=N?`/api/browse?path=${encodeURIComponent(N)}`:"/api/browse";r(g,await ei(oe,void 0,"Could not list folder"),!0)}catch(oe){r(p,oe.message,!0)}finally{r(I,!1)}await At(),e(Y)?.focus()}we(()=>{D(),b()});var F=xa(),se=o(F),z=o(se),B=c(o(z),2),ne=o(B);It(ne,{size:16}),s(B),s(z);var ve=c(z,2),Ie=c(o(ve),2),Me=o(Ie);let W;var m=o(Me);ht(m,{size:15}),Se(),s(Me);var E=c(Me,2);let V;var H=o(E);vt(H,{size:15}),Se(),s(E),s(Ie),s(ve);var he=c(ve,2),u=c(o(he),2),w=o(u);it(w);var J=c(w,2);it(J);var Ee=c(J,2);s(u),s(he);var Ke=c(he,2),Ye=o(Ke),ye=ae(Ye,!0);s(Ke);var P=c(Ke,2);{var je=(N)=>{var oe=ca(),Fe=c(o(oe),2);ze(Fe,17,()=>e(re),(Oe)=>Oe.source_path,(Oe,Pe)=>{var k=na(),Z=o(k),Te=o(Z),He=o(Te);{var Ge=(Xe)=>{gt(Xe,{size:16})},ke=C(()=>_t(e(Pe).source_path)),Re=(Xe)=>{Pt(Xe,{size:16})};L(He,(Xe)=>{if(e(ke))Xe(Ge);else Xe(Re,-1)})}s(Te);var Je=c(Te,2),Ze=o(Je),St=ae(Ze,!0),Yt=c(Ze,2),Gt=ae(Yt,!0);s(Je),s(Z);var ot=c(Z,2),nt=o(ot);It(nt,{size:14}),s(ot),s(k),T(()=>{_(St,e(Pe).name),_(Gt,e(Pe).source_path),$(ot,"aria-label",`Remove ${e(Pe).name??""} from history`)}),U("click",Z,()=>t.onpick(e(Pe).source_path,{mode:e(x)})),U("click",ot,(Xe)=>{Xe.stopPropagation(),y(e(Pe).source_path)}),d(Oe,k)});var rt=c(Fe,2);{var tt=(Oe)=>{var Pe=fa(),k=ae(Pe,!0);T(()=>_(k,e(le)?"Show fewer":`Show all (${e(A).length})`)),U("click",Pe,()=>r(le,!e(le))),d(Oe,Pe)};L(rt,(Oe)=>{if(e(A).length>5)Oe(tt)})}s(oe),d(N,oe)};L(P,(N)=>{if(e(A).length>0)N(je)})}var Be=c(P,2),qe=o(Be);it(qe),Qe(qe,(N)=>r(Y,N),()=>e(Y)),s(Be);var f=c(Be,2),h=o(f);{var ie=(N)=>{var oe=da();d(N,oe)},K=(N)=>{var oe=sa(),Fe=ae(oe,!0);T(()=>_(Fe,e(p))),d(N,oe)},q=(N)=>{var oe=va(),Fe=be(oe);{var rt=(k)=>{var Z=oa(),Te=o(Z),He=o(Te),Ge=o(He);Tt(Ge,{size:16}),s(He),Se(2),s(Te),s(Z),U("click",Te,()=>D(e(g)?.parent??null)),d(k,Z)};L(Fe,(k)=>{if(e(g).parent&&!e(O))k(rt)})}var tt=c(Fe,2);{var Oe=(k)=>{var Z=ma(),Te=ae(Z,!0);T(()=>_(Te,e(O)?"No folders match.":"No subfolders here.")),d(k,Z)};L(tt,(k)=>{if(e(j).length===0)k(Oe)})}var Pe=c(tt,2);ze(Pe,19,()=>e(j),(k)=>k.path,(k,Z,Te)=>{var He=ua();let Ge;var ke=o(He),Re=o(ke),Je=o(Re);Dt(Je,{size:16}),s(Re);var Ze=c(Re,2),St=ae(Ze,!0),Yt=c(Ze,2);{var Gt=(nt)=>{var Xe=ga();d(nt,Xe)};L(Yt,(nt)=>{if(e(Z).hasDevcontainer)nt(Gt)})}s(ke);var ot=c(ke,2);s(He),T((nt)=>{Ge=xe(He,1,"row svelte-oq97c4",null,Ge,{"first-match":nt}),_(St,e(Z).name)},[()=>e(O).trim()&&e(Te)===0]),U("click",ke,()=>D(e(Z).path)),U("click",ot,()=>t.onpick(e(Z).path,{mode:e(x)})),d(k,He)}),d(N,oe)};L(h,(N)=>{if(e(I))N(ie);else if(e(p))N(K,1);else if(e(g))N(q,2)})}s(f);var M=c(f,2);{var Q=(N)=>{var oe=ha(),Fe=o(oe);ut(Fe,{size:15}),Se(2),s(oe),d(N,oe)};L(M,(N)=>{if(e(g)&&!e(g).hasDevcontainer&&!e(ee))N(Q)})}var Ce=c(M,2),et=o(Ce),st=ae(et,!0),_e=c(et,2);s(Ce),s(se),s(F),T(()=>{W=xe(Me,1,"mode-btn svelte-oq97c4",null,W,{active:e(x)==="ide"}),$(Me,"aria-pressed",e(x)==="ide"),V=xe(E,1,"mode-btn svelte-oq97c4",null,V,{active:e(x)==="terminal"}),$(E,"aria-pressed",e(x)==="terminal"),Ee.disabled=!e(G),_(ye,e(ee)?Li:e(g)?.path??"…"),_(st,e(ee)?"Pick a drive to browse.":"Browse to a folder, then select this folder or any subfolder."),_e.disabled=!e(g)||e(ee)}),U("click",F,function(...N){t.onclose?.apply(this,N)}),U("keydown",F,(N)=>N.key==="Escape"&&t.onclose()),U("click",se,(N)=>N.stopPropagation()),U("keydown",se,()=>{}),U("click",B,function(...N){t.onclose?.apply(this,N)}),U("click",Me,()=>r(n,"ide")),U("click",E,()=>r(n,"terminal")),U("keydown",w,(N)=>{if(N.key==="Enter")N.preventDefault(),te()}),at(w,()=>e(R),(N)=>r(R,N)),U("keydown",J,(N)=>{if(N.key==="Enter")N.preventDefault(),te()}),at(J,()=>e(X),(N)=>r(X,N)),U("click",Ee,te),U("keydown",qe,(N)=>{let oe=e(j)[0];if(N.key==="Enter"&&oe)N.preventDefault(),D(oe.path)}),at(qe,()=>e(O),(N)=>r(O,N)),U("click",_e,()=>e(g)&&!e(ee)&&t.onpick(e(g).path,{mode:e(x)})),d(i,F),ue()}We(["click","keydown"]);var wa=v('<div class="branch svelte-jv8lut" title="Branch checked out in the container"><!><span class="svelte-jv8lut"> </span></div>');function ii(i,t){var a=wa(),l=o(a);gt(l,{size:12});var n=c(l),x=ae(n,!0);s(a),T(()=>_(x,t.branch)),d(i,a)}var Sa=new Set(["$$slots","$$events","$$legacy"]);function Ft(i,t){let a=fe(t,Sa),l={name:"cable",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var Ia=v('<a target="_blank" rel="noopener"> </a>'),Ea=v('<div class="fports svelte-1uaz383" title="Forwarded ports — click to open"><!> <span class="list svelte-1uaz383"></span></div>');function li(i,t){ge(t,!0);var a=Et(),l=be(a);{var n=(x)=>{var g=Ea(),I=o(g);Ft(I,{size:12});var p=c(I,2);ze(p,21,()=>t.ports,(O)=>O.container_port,(O,Y)=>{var A=Ia();let le;var R=ae(A,!0);T((X,G)=>{le=xe(A,1,"fport svelte-1uaz383",null,le,{open:e(Y).open}),$(A,"href",X),$(A,"title",G),_(R,e(Y).container_port)},[()=>ai(e(Y).host_port),()=>`container :${e(Y).container_port} → ${ai(e(Y).host_port)} ${e(Y).open?"(open)":"(not published yet)"}`]),d(O,A)}),s(p),s(g),d(x,g)};L(l,(x)=>{if(t.ports.length)x(n)})}d(i,a),ue()}var ya=v('<div class="busy-overlay svelte-13338y7" aria-live="polite"><span class="busy-label svelte-13338y7"> </span></div>'),Ca=v('<input class="name-edit svelte-13338y7"/>'),La=v('<button class="name svelte-13338y7" title="Click to rename"> </button>'),ba=v("<span></span>"),Ma=v('<div class="agent-run svelte-13338y7" title="An MCP client is driving Claude in this sandbox"><span class="agent-dot svelte-13338y7"></span> <span class="agent-text svelte-13338y7"> </span></div>'),pa=v('<div class="card-error svelte-13338y7"> </div>'),za=v("<!> <!>",1),Na=v('<li><!> <div class="card-head svelte-13338y7"><!> <!> <!> <!></div> <div class="path svelte-13338y7"> </div> <!> <!> <!> <!> <div class="actions svelte-13338y7"><!> <!> <!> <!></div></li>');function ri(i,t){ge(t,!0);let a=Le(t,"editingName",15),l=Le(t,"pending",3,null),n=C(()=>t.instance.status==="running"||t.instance.status==="stopped"||t.instance.status==="error"&&!!t.instance.container_id),x={start:"Starting…",stop:"Stopping…",delete:"Deleting…",rebuild:"Rebuilding…"};var g=Na();let I;var p=o(g);{var O=(u)=>{var w=ya(),J=o(w),Ee=ae(J,!0);s(w),T(()=>_(Ee,x[l()])),d(u,w)};L(p,(u)=>{if(l())u(O)})}var Y=c(p,2),A=o(Y);{let u=C(()=>ct(t.instance.avatar??void 0)??null);dt(A,{get name(){return t.instance.name},get art(){return e(u)},interactive:!0})}var le=c(A,2);{var R=(u)=>{var w=Ca();it(w),Vt(w,!0),Ve("focus",w,(J)=>J.currentTarget.select()),Ve("blur",w,function(...J){t.oncommitrename?.apply(this,J)}),U("keydown",w,(J)=>{if(J.key==="Enter")J.currentTarget.blur();else if(J.key==="Escape")t.oncancelrename()}),at(w,a),d(u,w)},X=(u)=>{var w=La(),J=ae(w,!0);T(()=>_(J,t.instance.name)),U("click",w,function(...Ee){t.onstartrename?.apply(this,Ee)}),d(u,w)};L(le,(u)=>{if(t.editing)u(R);else u(X,-1)})}var G=c(le,2);{var te=(u)=>{var w=ba();let J;T(()=>{J=xe(w,1,"attn svelte-13338y7",null,J,{"attn-done":t.instance.attention==="done","attn-waiting":t.instance.attention==="waiting"}),$(w,"title",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished"),$(w,"aria-label",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished")}),d(u,w)};L(G,(u)=>{if(t.instance.attention)u(te)})}var j=c(G,2);Mi(j,{get status(){return t.instance.status}}),s(Y);var ee=c(Y,2),re=ae(ee,!0),b=c(ee,2);{var y=(u)=>{li(u,{get ports(){return t.instance.forwarded_ports}})};L(b,(u)=>{if(t.instance.status==="running")u(y)})}var D=c(b,2);{var F=(u)=>{ii(u,{get branch(){return t.instance.git_branch}})};L(D,(u)=>{if(t.instance.git_branch)u(F)})}var se=c(D,2);{var z=(u)=>{var w=Ma(),J=c(o(w),2),Ee=ae(J,!0);s(w),T(()=>_(Ee,t.instance.active_run.status==="queued"?"Agent run queued":t.instance.active_run.last_activity??"Agent running")),d(u,w)};L(se,(u)=>{if(t.instance.active_run)u(z)})}var B=c(se,2);{var ne=(u)=>{var w=pa(),J=ae(w,!0);T(()=>_(J,t.instance.error)),d(u,w)};L(B,(u)=>{if(t.instance.status==="error"&&t.instance.error)u(ne)})}var ve=c(B,2),Ie=o(ve);{var Me=(u)=>{var w=za(),J=be(w);{let Ke=C(()=>`/ide/${t.instance.id}`);Ne(J,{variant:"primary",size:"sm",get href(){return e(Ke)},children:(Ye,ye)=>{Se();var P=Ae();T(()=>_(P,t.instance.mode==="terminal"?"Open terminal":"Open IDE")),d(Ye,P)},$$slots:{default:!0}})}var Ee=c(J,2);Ne(Ee,{size:"sm",onclick:()=>t.onact("stop"),children:(Ke,Ye)=>{Se();var ye=Ae("Stop");d(Ke,ye)},$$slots:{default:!0}}),d(u,w)},W=(u)=>{Ne(u,{size:"sm",onclick:()=>t.onact("start"),children:(w,J)=>{Se();var Ee=Ae("Start");d(w,Ee)},$$slots:{default:!0}})},m=(u)=>{{let w=C(()=>ft(`/instances/${t.instance.id}`));Ne(u,{size:"sm",get href(){return e(w)},target:"_blank",rel:"noopener noreferrer",children:(J,Ee)=>{Se();var Ke=Ae("View logs");d(J,Ke)},$$slots:{default:!0}})}};L(Ie,(u)=>{if(t.instance.status==="running")u(Me);else if(t.instance.status==="stopped"||t.instance.status==="error"&&t.instance.container_id)u(W,1);else if(t.instance.status==="creating")u(m,2)})}var E=c(Ie,2);{var V=(u)=>{Ne(u,{size:"sm",title:"Recreate the container and re-run setup (credentials, hooks, port forwards)",onclick:()=>t.onact("rebuild"),children:(w,J)=>{Se();var Ee=Ae("Rebuild");d(w,Ee)},$$slots:{default:!0}})};L(E,(u)=>{if(e(n))u(V)})}var H=c(E,2);{let u=C(()=>ft(`/instances/${t.instance.id}`));Ne(H,{size:"sm",ghost:!0,get href(){return e(u)},target:"_blank",rel:"noopener noreferrer",children:(w,J)=>{Se();var Ee=Ae("Details");d(w,Ee)},$$slots:{default:!0}})}var he=c(H,2);Ne(he,{variant:"danger",size:"sm",onclick:()=>t.onact("delete"),children:(u,w)=>{Se();var J=Ae("Delete");d(u,J)},$$slots:{default:!0}}),s(ve),s(g),T(()=>{I=xe(g,1,"card panel svelte-13338y7",null,I,{busy:!!l()}),$(g,"aria-busy",!!l()||void 0),$(ee,"title",t.instance.source_path),_(re,t.instance.source_path)}),d(i,g),ue()}We(["keydown","click"]);var Pa=new Set(["$$slots","$$events","$$legacy"]);function Bt(i,t){let a=fe(t,Pa),l={name:"component",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var Ta=new Set(["$$slots","$$events","$$legacy"]);function Wt(i,t){let a=fe(t,Ta),l={name:"package",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var Da=v('<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 ni(i,t){ge(t,!0);var a=Da(),l=o(a),n=o(l);{var x=(I)=>{dt(I,{get art(){return t.pet},get name(){return t.pet.name},scale:4})},g=(I)=>{Wt(I,{size:22})};L(n,(I)=>{if(t.pet)I(x);else I(g,-1)})}s(l),Se(),s(a),d(i,a),ue()}var Aa=v('<button type="button" role="radio"> </button>'),Fa=v('<div class="picker svelte-12yor8r" role="radiogroup" aria-label="Filter instances"></div>');function fi(i,t){ge(t,!0);let a=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"stopped",label:"Stopped"}];var l=Fa();ze(l,21,()=>a,(n)=>n.value,(n,x)=>{var g=Aa();let I;var p=ae(g,!0);T(()=>{I=xe(g,1,"segment svelte-12yor8r",null,I,{active:t.value===e(x).value}),$(g,"aria-checked",t.value===e(x).value),_(p,e(x).label)}),U("click",g,()=>t.onchange(e(x).value)),d(n,g)}),s(l),d(i,l),ue()}We(["click"]);var Va=new Set(["$$slots","$$events","$$legacy"]);function xt(i,t){let a=fe(t,Va),l={name:"settings",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var Ba=v('<a class="cog svelte-1e745g8" target="_blank" rel="noopener noreferrer" aria-label="Settings" title="Settings"><!></a>');function ci(i,t){ge(t,!1),pi();var a=Ba(),l=o(a);xt(l,{size:16}),s(a),T((n)=>$(a,"href",n),[()=>ft("/settings")]),d(i,a),ue()}var Wa=new Set(["$$slots","$$events","$$legacy"]);function Kt(i,t){let a=fe(t,Wa),l={name:"link",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var Ka=v('<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>'),Oa=v('<div class="cred-dropdown panel svelte-vongf9" role="menu"></div>'),Ha=v('<div class="cred-menu svelte-vongf9"><button aria-haspopup="menu" aria-label="Credentials" title="Credentials"><!></button> <!></div>');function di(i,t){ge(t,!0);let a=S(!1),l=C(()=>t.auth.filter((R)=>R.available).length),n=C(()=>e(l)===t.auth.length?"ok":e(l)===0?"error":"warn"),x={ok:Kt,warn:ut,error:It},g=C(()=>x[e(n)]);function I(R){if(R.available)lt.success(`${R.label} credentials come from ${R.source}.`);else{let X=R.hint?` — ${R.hint}`:"";lt.error(`No ${R.label} credentials found${X}.`)}}we(()=>{if(!e(a))return;let R=(G)=>{if(!G.target?.closest(".cred-menu"))r(a,!1)},X=(G)=>{if(G.key==="Escape")r(a,!1)};return window.addEventListener("click",R),window.addEventListener("keydown",X),()=>{window.removeEventListener("click",R),window.removeEventListener("keydown",X)}});var p=Ha(),O=o(p),Y=o(O);zi(Y,()=>e(g),(R,X)=>{X(R,{size:16})}),s(O);var A=c(O,2);{var le=(R)=>{var X=Oa();ze(X,21,()=>t.auth,(G)=>G.id,(G,te)=>{var j=Ka(),ee=o(j),re=c(ee,2),b=ae(re,!0),y=c(re,2),D=ae(y,!0);s(j),T(()=>{$(j,"title",e(te).available?`Credentials from ${e(te).source}, copied into each new instance.`:`No credentials found on this computer${e(te).hint?` — ${e(te).hint}`:""}.`),xe(ee,1,`dot ${e(te).available?"on":"off"}`,"svelte-vongf9"),_(b,e(te).label),_(D,e(te).available?"Authorized":"Not found")}),U("click",j,()=>I(e(te))),d(G,j)}),s(X),d(R,X)};L(A,(R)=>{if(e(a))R(le)})}s(p),T(()=>{xe(O,1,`cred ${e(n)??""}`,"svelte-vongf9"),$(O,"aria-expanded",e(a))}),U("click",O,()=>r(a,!e(a))),d(i,p),ue()}We(["click"]);var Ja=v('<header class="topbar svelte-1h259us"><!> <div class="topbar-actions svelte-1h259us"><!> <!> <!> <!> <!> <div class="new-group svelte-1h259us"><!> <!></div></div></header>');function si(i,t){ge(t,!0);let a=Le(t,"canDelete",3,!1),l=Le(t,"ready",3,!0),n=Le(t,"creating",3,!1),x=Le(t,"defaultMode",3,"ide"),g=C(()=>x()==="terminal"?"ide":"terminal");var I=Ja(),p=o(I);ni(p,{get pet(){return t.pet}});var O=c(p,2),Y=o(O);{var A=(b)=>{Ne(b,{variant:"default",size:"sm",get icon(){return Bt},href:"/debug",children:(y,D)=>{Se();var F=Ae("Debug");d(y,F)},$$slots:{default:!0}})};L(Y,(b)=>{if(Ni)b(A)})}var le=c(Y,2);{var R=(b)=>{fi(b,{get value(){return t.filter},get onchange(){return t.onFilter}})};L(le,(b)=>{if(t.filter&&t.onFilter)b(R)})}var X=c(le,2);ci(X,{});var G=c(X,2);di(G,{get auth(){return t.auth}});var te=c(G,2);{let b=C(()=>!a());Ne(te,{variant:"danger",size:"sm",get onclick(){return t.onDeleteAll},get disabled(){return e(b)},children:(y,D)=>{Se();var F=Ae("Delete all");d(y,F)},$$slots:{default:!0}})}var j=c(te,2),ee=o(j);{let b=C(()=>n()?void 0:Ot),y=C(()=>!l()||n());Ne(ee,{variant:"primary",size:"sm",get icon(){return e(b)},onclick:()=>t.onNew?.(),get disabled(){return e(y)},children:(D,F)=>{Se();var se=Ae();T(()=>_(se,n()?"Creating…":"New instance")),d(D,se)},$$slots:{default:!0}})}var re=c(ee,2);{let b=C(()=>e(g)==="terminal"?vt:ht),y=C(()=>!l()||n()),D=C(()=>e(g)==="terminal"?"New terminal instance":"New full IDE instance"),F=C(()=>e(g)==="terminal"?"New terminal instance":"New full IDE instance");Ne(re,{variant:"default",size:"sm",square:!0,get icon(){return e(b)},iconSize:15,onclick:()=>t.onNew?.(e(g)),get disabled(){return e(y)},get title(){return e(D)},get "aria-label"(){return e(F)}})}s(j),s(O),s(I),d(i,I),ue()}var Za=v("<span>Docker daemon is not reachable.</span>"),Ra=v("<span>The devcontainer CLI is not available.</span>"),Qa=v('<div class="banner error svelte-146pixd"><strong>Setup needed.</strong> <!> <!></div>'),Ua=v('<div class="banner error svelte-146pixd"><strong>Error.</strong> <span> </span></div>'),Ya=v('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd">Loading…</p></div>'),Ga=v('<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>'),ka=v('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd"> </p></div>'),Xa=v('<ul class="grid svelte-146pixd"></ul>'),$a=v('<!> <main class="stage svelte-146pixd"><!> <!> <!></main> <!>',1);function oi(i,t){ge(t,!0);let a=S(!1),l=S(null),n=S(!1),x=S(null),g=S(null),I=S(""),p=S(pe({})),O=C(()=>t.preflight.docker&&t.preflight.cli),Y=C(()=>t.instances.filter((m)=>{if(t.filter==="active")return m.status==="running"||m.status==="creating";if(t.filter==="stopped")return m.status==="stopped"||m.status==="error";return!0}));we(()=>{for(let[m,{since:E}]of Object.entries(e(p))){let V=t.instances.find((H)=>H.id===m);if(!V||V.status!==E)A(m)}});function A(m){let{[m]:E,...V}=e(p);r(p,V,!0)}async function le(m,E){r(a,!1),r(n,!0),r(x,null);try{await Ue("/api/instances",{sourcePath:m,branch:E?.branch,mode:E?.mode},"Failed to create instance")}catch(V){r(x,V.message,!0)}finally{r(n,!1)}}async function R(m,E){if(r(x,null),E==="delete"&&!confirm("Delete this instance and its copied files?"))return;if(E==="rebuild"&&!confirm("Recreate this container and re-run setup? The workspace is kept."))return;let V=t.instances.find((H)=>H.id===m)?.status;if(V)r(p,{...e(p),[m]:{action:E,since:V}},!0);try{await Ue(`/api/instances/${m}/${E}`,void 0,`Failed to ${E}`)}catch(H){r(x,H.message,!0),A(m)}}function X(m){r(g,m.id,!0),r(I,m.name,!0)}function G(){r(g,null),r(I,"")}async function te(m){let E=e(I).trim(),V=t.instances.find((H)=>H.id===m)?.name;if(!E||E===V){G();return}G(),r(x,null);try{await Ue(`/api/instances/${m}/rename`,{name:E},"Failed to rename")}catch(H){r(x,H.message,!0)}}async function j(){if(r(x,null),!confirm(`Delete all ${t.instances.length} instances and their copied files?`))return;try{await Ue("/api/instances/delete-all",void 0,"Failed to delete all")}catch(m){r(x,m.message,!0)}}var ee=$a(),re=be(ee);{let m=C(()=>t.instances.length>0);si(re,{get auth(){return t.preflight.auth},get pet(){return t.pet},get canDelete(){return e(m)},get ready(){return e(O)},get creating(){return e(n)},get filter(){return t.filter},get onFilter(){return t.onFilter},get defaultMode(){return t.preflight.defaultMode},onNew:(E)=>{r(l,E??null,!0),r(a,!0)},onDeleteAll:j})}var b=c(re,2),y=o(b);{var D=(m)=>{var E=Qa(),V=c(o(E),2);{var H=(w)=>{var J=Za();d(w,J)};L(V,(w)=>{if(!t.preflight.docker)w(H)})}var he=c(V,2);{var u=(w)=>{var J=Ra();d(w,J)};L(he,(w)=>{if(!t.preflight.cli)w(u)})}s(E),d(m,E)};L(y,(m)=>{if(!e(O))m(D)})}var F=c(y,2);{var se=(m)=>{var E=Ua(),V=c(o(E),2),H=ae(V,!0);s(E),T(()=>_(H,e(x))),d(m,E)};L(F,(m)=>{if(e(x))m(se)})}var z=c(F,2);{var B=(m)=>{var E=Ya();d(m,E)},ne=(m)=>{var E=Ga(),V=c(o(E),4);{let H=C(()=>!e(O));Ne(V,{variant:"primary",get icon(){return Ot},onclick:()=>r(a,!0),get disabled(){return e(H)},children:(he,u)=>{Se();var w=Ae("New instance");d(he,w)},$$slots:{default:!0}})}s(E),d(m,E)},ve=(m)=>{var E=ka(),V=o(E),H=ae(V);s(E),T(()=>_(H,`No ${t.filter??""} instances.`)),d(m,E)},Ie=(m)=>{var E=Xa();ze(E,21,()=>e(Y),(V)=>V.id,(V,H)=>{{let he=C(()=>e(g)===e(H).id),u=C(()=>e(p)[e(H).id]?.action??null);ri(V,{get instance(){return e(H)},get editing(){return e(he)},get pending(){return e(u)},onact:(w)=>R(e(H).id,w),onstartrename:()=>X(e(H)),oncommitrename:()=>te(e(H).id),oncancelrename:G,get editingName(){return e(I)},set editingName(w){r(I,w,!0)}})}}),s(E),d(m,E)};L(z,(m)=>{if(!t.loaded)m(B);else if(t.instances.length===0)m(ne,1);else if(e(Y).length===0)m(ve,2);else m(Ie,-1)})}s(b);var Me=c(b,2);{var W=(m)=>{ti(m,{onpick:le,get defaultMode(){return t.preflight.defaultMode},get initialMode(){return e(l)},onclose:()=>r(a,!1)})};L(Me,(m)=>{if(e(a))m(W)})}d(i,ee),ue()}var ja=new Set(["$$slots","$$events","$$legacy"]);function wt(i,t){let a=fe(t,ja),l={name:"rotate-cw",size:24,node:[["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"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var qa=new Set(["$$slots","$$events","$$legacy"]);function Ht(i,t){let a=fe(t,qa),l={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var _a=new Set(["$$slots","$$events","$$legacy"]);function Jt(i,t){let a=fe(t,_a),l={name:"circle-stop",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"}]],aliases:["stop-circle"]};de(i,ce(()=>a,{get icon(){return l}}))}var el=v('<button type="button" class="page svelte-r39acv" aria-label="Scroll tabs left"><!></button>'),tl=v('<div class="tab editing svelte-r39acv"><!> <input class="tab-name-edit svelte-r39acv"/></div>'),il=v("<span></span>"),al=v('<button type="button" class="tab-stop svelte-r39acv"><!></button>'),ll=v('<button type="button"><!> <span class="tab-name svelte-r39acv"> </span> <span class="tab-mode svelte-r39acv"><!></span> <!></button> <!>',1),rl=v('<div role="presentation"><!></div>'),nl=v('<button type="button" class="page trailing svelte-r39acv" aria-label="Scroll tabs right"><!></button>'),fl=v('<div class="strip svelte-r39acv"><!> <div class="viewport svelte-r39acv"><nav class="tabs svelte-r39acv" aria-label="Instances"></nav></div> <!></div>'),cl=v('<button type="button" class="reload svelte-r39acv" title="Reload editor" aria-label="Reload editor"><!></button>'),dl=v('<!> <div class="right svelte-r39acv"><!> <a class="cog svelte-r39acv" target="_blank" rel="noopener noreferrer" title="Settings" aria-label="Settings"><!></a></div>',1),sl=v('<div class="drop-tip panel svelte-r39acv">Drop to save into codebay-inbox/</div>'),ol=v("<!> <!>",1);function mi(i,t){ge(t,!0);let a=Le(t,"editingName",15),l=Le(t,"stopping",19,()=>[]),n=(z)=>l().includes(z),x=S(null),g=S(0),I=C(()=>e(x)?Math.max(8,Math.min(e(x).x-e(g)/2,e(x).maxX-e(g))):0);function p(z,B){if(!t.ondropfiles||!z.dataTransfer?.types.includes("Files"))return;if(z.preventDefault(),z.dataTransfer.dropEffect="copy",e(x)?.id===B)return;let ne=z.currentTarget.getBoundingClientRect();r(x,{id:B,x:ne.left+ne.width/2,y:ne.bottom,maxX:document.documentElement.clientWidth-8},!0)}function O(z){if(z.currentTarget.contains(z.relatedTarget))return;r(x,null)}function Y(z,B){if(!t.ondropfiles)return;z.preventDefault(),r(x,null),t.ondropfiles(B,Ct(z.dataTransfer))}let A=S(null),le=S(null),R=S(!0),X=S(!0),G=pe({}),te=C(()=>!e(R)||!e(X));function j(){if(!e(A))return;r(R,e(A).scrollLeft<=1),r(X,e(A).scrollLeft+e(A).clientWidth>=e(A).scrollWidth-1)}function ee(z){let B=t.running[z];if(!B)return;t.onselect(B.id),G[B.id]?.focus()}function re(z,B){let ne=Nt(B,z.key,t.running.length);if(ne===null)return;z.preventDefault(),ee(ne)}function b(z){if(!e(A))return;e(A).scrollBy({left:z*Math.max(160,e(A).clientWidth*0.7)})}we(()=>{let z=e(A),B=e(le);if(!z||!B)return;j();let ne=new ResizeObserver(j);return ne.observe(z),ne.observe(B),z.addEventListener("scroll",j,{passive:!0}),()=>{ne.disconnect(),z.removeEventListener("scroll",j)}}),we(()=>{G[t.active]?.scrollIntoView({block:"nearest",inline:"nearest"})});var y=ol(),D=be(y);Di(D,{children:(z,B)=>{var ne=dl(),ve=be(ne);{var Ie=(H)=>{var he=fl(),u=o(he);{var w=(ye)=>{var P=el(),je=o(P);Ht(je,{size:16}),s(P),T(()=>P.disabled=e(R)),U("click",P,()=>b(-1)),d(ye,P)};L(u,(ye)=>{if(e(te))ye(w)})}var J=c(u,2),Ee=o(J);ze(Ee,23,()=>t.running,(ye)=>ye.id,(ye,P,je)=>{var Be=rl();let qe;var f=o(Be);{var h=(K)=>{var q=tl(),M=o(q);{let Ce=C(()=>ct(e(P).avatar??void 0)??null);dt(M,{get name(){return e(P).name},get art(){return e(Ce)},scale:3})}var Q=c(M,2);it(Q),Vt(Q,!0),s(q),Ve("focus",Q,(Ce)=>Ce.currentTarget.select()),Ve("blur",Q,()=>t.oncommitrename(e(P).id)),U("keydown",Q,(Ce)=>{if(Ce.key==="Enter")Ce.currentTarget.blur();else if(Ce.key==="Escape")t.oncancelrename()}),at(Q,a),d(K,q)},ie=(K)=>{var q=ll(),M=be(q);let Q;var Ce=o(M);{let k=C(()=>ct(e(P).avatar??void 0)??null);dt(Ce,{get name(){return e(P).name},get art(){return e(k)},scale:3})}var et=c(Ce,2),st=ae(et,!0),_e=c(et,2),N=o(_e);{var oe=(k)=>{vt(k,{size:11})},Fe=(k)=>{ht(k,{size:11})};L(N,(k)=>{if(e(P).mode==="terminal")k(oe);else k(Fe,-1)})}s(_e);var rt=c(_e,2);{var tt=(k)=>{var Z=il();T(()=>{xe(Z,1,`attn ${t.attention[e(P).id]??""}`,"svelte-r39acv"),$(Z,"aria-label",t.attention[e(P).id]==="waiting"?"Claude is waiting for input":"Claude finished")}),d(k,Z)};L(rt,(k)=>{if(e(P).id!==t.active&&t.attention[e(P).id])k(tt)})}s(M),Qe(M,(k,Z)=>G[Z.id]=k,(k)=>G?.[k.id],()=>[e(P)]);var Oe=c(M,2);{var Pe=(k)=>{var Z=al(),Te=o(Z);Jt(Te,{size:20}),s(Z),T((He,Ge,ke)=>{Z.disabled=He,$(Z,"title",Ge),$(Z,"aria-label",ke)},[()=>n(e(P).id),()=>n(e(P).id)?"Stopping…":`Stop ${e(P).name}`,()=>n(e(P).id)?"Stopping…":`Stop ${e(P).name}`]),U("click",Z,()=>t.onstop(e(P).id)),d(k,Z)};L(Oe,(k)=>{if(t.onstop)k(Pe)})}T(()=>{Q=xe(M,1,"tab svelte-r39acv",null,Q,{active:e(P).id===t.active}),$(M,"id",`tab-${e(P).id??""}`),$(M,"aria-current",e(P).id===t.active?"page":void 0),$(M,"title",e(P).name),_(st,e(P).name),$(_e,"aria-label",e(P).mode==="terminal"?"Terminal-only instance":"Full IDE instance")}),U("click",M,()=>t.onselect(e(P).id)),U("dblclick",M,()=>t.onstartrename(e(P))),U("keydown",M,(k)=>re(k,e(je))),d(K,q)};L(f,(K)=>{if(t.editingId===e(P).id)K(h);else K(ie,-1)})}s(Be),T(()=>qe=xe(Be,1,"tab-slot svelte-r39acv",null,qe,{active:e(P).id===t.active,"drop-target":e(x)?.id===e(P).id})),Ve("dragenter",Be,(K)=>p(K,e(P).id)),Ve("dragover",Be,(K)=>p(K,e(P).id)),Ve("dragleave",Be,O),Ve("drop",Be,(K)=>Y(K,e(P).id)),d(ye,Be)}),s(Ee),Qe(Ee,(ye)=>r(le,ye),()=>e(le)),s(J),Qe(J,(ye)=>r(A,ye),()=>e(A));var Ke=c(J,2);{var Ye=(ye)=>{var P=nl(),je=o(P);Ti(je,{size:16}),s(P),T(()=>P.disabled=e(X)),U("click",P,()=>b(1)),d(ye,P)};L(Ke,(ye)=>{if(e(te))ye(Ye)})}s(he),d(H,he)};L(ve,(H)=>{if(t.running.length>0)H(Ie)})}var Me=c(ve,2),W=o(Me);{var m=(H)=>{var he=cl(),u=o(he);wt(u,{size:18}),s(he),U("click",he,function(...w){t.onreload?.apply(this,w)}),d(H,he)};L(W,(H)=>{if(t.onreload)H(m)})}var E=c(W,2),V=o(E);xt(V,{size:18}),s(E),s(Me),T((H)=>$(E,"href",H),[()=>ft("/settings")]),d(z,ne)},$$slots:{default:!0}});var F=c(D,2);{var se=(z)=>{var B=sl();let ne;T(()=>ne=yt(B,"",ne,{left:`${e(I)??""}px`,top:`${e(x).y??""}px`})),Pi(B,"offsetWidth",(ve)=>r(g,ve)),d(z,B)};L(F,(z)=>{if(e(x))z(se)})}d(i,y),ue()}We(["click","keydown","dblclick"]);var ml=v('<div class="row svelte-w5e143"> </div>'),gl=v('<div class="stalled svelte-w5e143"><p class="svelte-w5e143"> </p> <!></div>'),ul=v('<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 Zt(i,t){ge(t,!0);let a=Le(t,"speed",3,1),l=Le(t,"mode",3,"ide"),n=C(()=>l()==="terminal"),x=S(!1);we(()=>{if(t.stalledAfterMs===void 0)return;let re=setTimeout(()=>r(x,!0),t.stalledAfterMs);return()=>clearTimeout(re)});let g=3,I=22,p=140,O=7,Y=C(()=>Math.max(20,p/a())),le=S(pe((()=>Array.from({length:g},()=>Array.from({length:I},()=>Math.random()<0.5?0:1)))()));we(()=>{if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let re=setInterval(()=>{let b=e(le).map((y)=>y.slice());for(let y=0;y<O;y++){let D=b[Math.floor(Math.random()*g)],F=Math.floor(Math.random()*I);D[F]=D[F]?0:1}r(le,b,!0)},e(Y));return()=>clearInterval(re)});var R=ul(),X=o(R);ze(X,21,()=>e(le),Ai,(re,b)=>{var y=ml(),D=ae(y,!0);T((F)=>_(D,F),[()=>e(b).join("")]),d(re,y)}),s(X);var G=c(X,2),te=o(G);Se(3),s(G);var j=c(G,2);{var ee=(re)=>{var b=gl(),y=o(b),D=ae(y),F=c(y,2);{var se=(z)=>{Ne(z,{size:"sm",get onclick(){return t.onoverride},children:(B,ne)=>{Se();var ve=Ae("Open anyway");d(B,ve)},$$slots:{default:!0}})};L(F,(z)=>{if(t.onoverride)z(se)})}s(b),T(()=>_(D,`Waiting for ${e(n)?"the terminal":"code-server"} to answer inside the container.`)),d(re,b)};L(j,(re)=>{if(e(x))re(ee)})}s(R),T(()=>_(te,`Loading ${e(n)?"terminal":"editor"}`)),d(i,R),ue()}var vl=new Set(["$$slots","$$events","$$legacy"]);function Rt(i,t){let a=fe(t,vl),l={name:"panel-right-open",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M15 3v18"}],["path",{d:"m10 15-3-3 3-3"}]]};de(i,ce(()=>a,{get icon(){return l}}))}var hl=new Set(["$$slots","$$events","$$legacy"]);function Qt(i,t){let a=fe(t,hl),l={name:"panel-right-close",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}],["path",{d:"M15 3v18"}],["path",{d:"m8 9 3 3-3 3"}]]};de(i,ce(()=>a,{get icon(){return l}}))}function Fi(i){let t=i.indexOf(";");if(t===-1)return null;let a=i.slice(t+1).replace(/\s+/g,"");if(a===""||a==="?")return null;try{let l=Uint8Array.from(atob(a),(n)=>n.charCodeAt(0));return new TextDecoder().decode(l)}catch{return null}}var xl=v('<span class="status svelte-ui3nvu">connecting…</span>'),wl=v('<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 Ut(i,t){ge(t,!0);let a=Le(t,"focus",3,!0),l,n,x,g,I,p=!1,O=S(!1),Y=0,A="0",le="1",R=48,X=new TextEncoder;function G(W){if(g?.readyState===WebSocket.OPEN)g.send(X.encode(W))}function te(W){let m=new Uint8Array(W);if(m.length===0)return;if(m[0]===R)n?.write(m.subarray(1))}function j(){let W=++Y,m=location.protocol==="https:"?"wss:":"ws:",E=t.arg?`?arg=${encodeURIComponent(t.arg)}`:"",V=new WebSocket(`${m}//${location.host}/p/${t.id}/ws${E}`,["tty"]);g=V,V.binaryType="arraybuffer",V.onopen=()=>{if(Y!==W)return;r(O,!0),G(JSON.stringify({AuthToken:"",columns:n?.cols??80,rows:n?.rows??24}))},V.onmessage=(H)=>{if(Y===W)te(H.data)},V.onclose=()=>{if(Y!==W||p)return;r(O,!1),I=setTimeout(j,1000)},V.onerror=()=>{try{V.close()}catch{}}}function ee(){if(I)clearTimeout(I);Y++,r(O,!1),n?.reset();let W=g;g=void 0;let m=!1,E=()=>{if(m||p)return;if(m=!0,y(),j(),t.active&&a())n?.focus()};if(W&&W.readyState!==WebSocket.CLOSED){W.addEventListener("close",E,{once:!0}),setTimeout(E,1500);try{W.close()}catch{}}else E()}async function re(W){if(!W)return;try{await navigator.clipboard.writeText(W);return}catch{}let m=document.createElement("textarea");m.value=W,m.setAttribute("aria-hidden","true"),m.style.position="fixed",m.style.opacity="0",document.body.appendChild(m),m.select();try{document.execCommand("copy")}catch{}if(m.remove(),t.active&&a())n?.focus()}function b(){let W=n?.getSelection();if(W)re(W)}function y(){if(l?.clientWidth>0&&l?.clientHeight>0)try{x?.fit()}catch{}}function D(){if(!n||!l)return;let W=getComputedStyle(l),m=W.backgroundColor||"#0d0e0a",E=W.color||"#d8d9cf";n.options.theme={background:m,foreground:E,cursor:E,cursorAccent:m}}Ki(()=>{let W,m=window.matchMedia("(prefers-color-scheme: dark)"),E=()=>D();m.addEventListener("change",E),(async()=>{let[{Terminal:H},{FitAddon:he}]=await Promise.all([import("/_mochi/client/chunk-tss2473w.js"),import("/_mochi/client/chunk-0vqvn81s.js")]);if(p)return;if(n=new H({fontFamily:"'JetBrains Mono Variable', ui-monospace, monospace",fontSize:13,cursorBlink:!0,scrollback:1e4,allowProposedApi:!0}),x=new he,n.loadAddon(x),n.open(l),D(),y(),n.parser.registerOscHandler(52,(u)=>{let w=Fi(u);if(w!==null)re(w);return!0}),n.attachCustomKeyEventHandler((u)=>{if(u.type!=="keydown"||!n?.hasSelection())return!0;if(!(u.ctrlKey&&(u.key==="Insert"||u.altKey&&u.key.toLowerCase()==="c")))return!0;return b(),!1}),n.onData((u)=>G(A+u)),n.onResize(({cols:u,rows:w})=>G(le+JSON.stringify({columns:u,rows:w}))),W=new MutationObserver(D),W.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),j(),t.active&&a())n.focus()})();let V=new ResizeObserver(()=>y());return V.observe(l),l.addEventListener("mouseup",b),()=>{if(p=!0,l.removeEventListener("mouseup",b),V.disconnect(),W?.disconnect(),m.removeEventListener("change",E),I)clearTimeout(I);try{g?.close()}catch{}n?.dispose()}}),we(()=>{if(t.active&&n){if(y(),a())n.focus()}});var F=wl(),se=be(F);Qe(se,(W)=>l=W,()=>l);var z=c(se,2),B=o(z);{var ne=(W)=>{var m=xl();d(W,m)};L(B,(W)=>{if(!e(O))W(ne)})}var ve=c(B,2);Wi(ve,()=>t.actions??Bi);var Ie=c(ve,2),Me=o(Ie);wt(Me,{size:14}),s(Ie),s(z),U("click",Ie,ee),d(i,F),ue()}We(["click"]);var Sl=v('<button type="button"><!></button>'),Il=v('<div role="separator" aria-orientation="vertical" aria-label="Resize terminal panes" tabindex="0"></div> <div><!></div>',1),El=v('<div class="split svelte-1ysvu88"><div class="side svelte-1ysvu88"><!></div> <!></div>');function gi(i,t){ge(t,!0);let a=(y)=>{var D=Sl(),F=o(D);{var se=(B)=>{Qt(B,{size:14})},z=(B)=>{Rt(B,{size:14})};L(F,(B)=>{if(e(n))B(se);else B(z,-1)})}s(D),T(()=>{$(D,"aria-pressed",e(n)),$(D,"title",e(n)?"Hide the shell pane":"Open a shell alongside Claude"),$(D,"aria-label",e(n)?"Hide the shell pane":"Open a shell alongside Claude")}),U("click",D,O),d(y,D)},l=Le(t,"initialOpen",3,!1),n=S(pe(l())),x=S(pe(l())),g=S(50),I=S("left"),p;function O(){if(r(n,!e(n)),e(n))r(x,!0);r(I,e(n)?"right":"left",!0),Ue(`/api/instances/${t.id}/split`,{open:e(n)}).catch(()=>{})}function Y(y){return Math.min(80,Math.max(20,y))}function A(y){let D=p.getBoundingClientRect();if(D.width>0)r(g,Y((y-D.left)/D.width*100),!0)}function le(y){y.preventDefault(),y.currentTarget.setPointerCapture(y.pointerId)}function R(y){if(y.currentTarget.hasPointerCapture(y.pointerId))A(y.clientX)}function X(y){if(y.key==="ArrowLeft")r(g,Y(e(g)-5),!0);else if(y.key==="ArrowRight")r(g,Y(e(g)+5),!0);else return;y.preventDefault()}var G=El(),te=o(G);let j;var ee=o(te);{let y=C(()=>t.active&&e(I)==="left"),D=C(()=>e(n)?void 0:a);Ut(ee,{get id(){return t.id},get active(){return t.active},get focus(){return e(y)},get actions(){return e(D)}})}s(te);var re=c(te,2);{var b=(y)=>{var D=Il(),F=be(D);let se;$(F,"aria-valuemin",20),$(F,"aria-valuemax",80);var z=c(F,2);let B,ne;var ve=o(z);{let Ie=C(()=>t.active&&e(n)),Me=C(()=>t.active&&e(n)&&e(I)==="right"),W=C(()=>e(n)?a:void 0);Ut(ve,{get id(){return t.id},arg:"shell",get active(){return e(Ie)},get focus(){return e(Me)},get actions(){return e(W)}})}s(z),T((Ie)=>{se=xe(F,1,"divider svelte-1ysvu88",null,se,{hidden:!e(n)}),$(F,"aria-valuenow",Ie),B=xe(z,1,"side svelte-1ysvu88",null,B,{hidden:!e(n)}),ne=yt(z,"",ne,{"flex-basis":`${100-e(g)}%`})},[()=>Math.round(e(g))]),U("pointerdown",F,le),U("pointermove",F,R),U("dblclick",F,()=>r(g,50)),U("keydown",F,X),Ve("pointerdown",z,()=>r(I,"right"),!0),d(y,D)};L(re,(y)=>{if(e(x))y(b)})}s(G),Qe(G,(y)=>p=y,()=>p),T(()=>j=yt(te,"",j,{"flex-basis":e(n)?`${e(g)}%`:"100%"})),Ve("pointerdown",te,()=>r(I,"left"),!0),d(i,G),ue()}We(["click","pointerdown","pointermove","dblclick","keydown"]);var yl=v('<iframe allow="clipboard-read; clipboard-write" class="svelte-1duc7gd"></iframe>'),Cl=v('<div role="region"><!> <!> <!></div>'),Ll=v('<div class="empty svelte-1duc7gd">No running instances.</div>'),bl=v("<div><!> <div><!> <!></div></div> <!>",1);function vi(i,t){ge(t,!0);let a=S(pe(t.snapshot)),l=S(pe(t.preflight)),n=S(pe(t.pet)),x=S(pe(t.filter)),g=S(t.snapshot.length>0),I=C(()=>e(a).filter((f)=>f.status==="running")),p=S(pe(Object.fromEntries(t.snapshot.map((f)=>[f.id,f.attention])))),O=S(null),Y=S(""),A=new $e;async function le(f){if(A.has(f))return;A.add(f);try{await Ue(`/api/instances/${f}/stop`,void 0,"Failed to stop instance")}catch(h){lt.error(h.message),A.delete(f)}}function R(f){r(O,f.id,!0),r(Y,f.name,!0)}function X(){r(O,null),r(Y,"")}async function G(f){let h=e(Y).trim(),ie=e(a).find((K)=>K.id===f)?.name;if(!h||h===ie){X();return}X();try{await Ue(`/api/instances/${f}/rename`,{name:h},"Failed to rename")}catch(K){lt.error(K.message)}}function te(f){r(x,f,!0),Ue("/api/settings/filter",{value:f}).catch(()=>{})}let j=S(pe(t.initialPath)),ee=C(()=>e(j).startsWith("/ide")),re=C(()=>e(j).startsWith("/ide/")?e(j).slice(5):""),b=C(()=>e(ee)?e(I).some((f)=>f.id===e(re))?e(re):e(I)[0]?.id??"":"");function y(f){if(f===e(j))return;history.pushState({},"",f),r(j,f,!0)}we(()=>{function f(h){if(h.defaultPrevented||h.button!==0||h.metaKey||h.ctrlKey||h.shiftKey||h.altKey)return;let ie=h.target?.closest?.("a");if(!ie)return;let K=ie.getAttribute("href");if(!K||ie.target==="_blank"||ie.hasAttribute("download"))return;let q=new URL(K,location.href);if(q.origin!==location.origin)return;if(q.pathname==="/"||q.pathname.startsWith("/ide/"))h.preventDefault(),y(q.pathname)}return document.addEventListener("click",f),()=>document.removeEventListener("click",f)}),we(()=>{function f(){r(j,location.pathname,!0)}return window.addEventListener("popstate",f),()=>window.removeEventListener("popstate",f)}),we(()=>{if(e(I).length===0)return;function f(h){h.preventDefault(),h.returnValue=""}return window.addEventListener("beforeunload",f),()=>window.removeEventListener("beforeunload",f)});let D=new $e;we(()=>{if(e(b))D.add(e(b))});let F=new $e,se=new $e,z=new $e,B=(f)=>se.has(f)||z.has(f),ne=1e4,ve=C(()=>e(I).find((f)=>f.id===e(b))),Ie={};function Me(){let f=e(ve);if(!f||f.mode==="terminal")return;F.delete(f.id),Ie[f.id]?.contentWindow?.location.replace(ui(f))}we(()=>{document.title=e(ee)&&e(ve)?`${e(ve).name} — Codebay`:"Codebay"});function W(f,h){if(!f.altKey||f.ctrlKey||f.metaKey||e(O)||!Ri())return;let ie=/^Digit([1-9])$/.exec(f.code)?.[1];if(!ie)return;let K=Nt(e(I).findIndex((M)=>M.id===e(b)),ie,e(I).length),q=K===null?void 0:e(I)[K];if(!q)return;if(f.preventDefault(),f.stopPropagation(),y(`/ide/${q.id}`),h)At().then(()=>Ie[q.id]?.contentWindow?.focus())}let m=C(()=>e(I).filter((f)=>f.mode!=="terminal"&&F.has(f.id)).map((f)=>f.id).join(" "));we(()=>{if(!e(ee))return;function f(ie,K){let q=(M)=>W(M,K);return ie.addEventListener("keydown",q,{capture:!0}),()=>ie.removeEventListener("keydown",q,{capture:!0})}let h=[f(window,!1)];for(let ie of e(m).split(" ").filter(Boolean)){let K=Ie[ie]?.contentWindow;if(K)h.push(f(K,!0))}return()=>h.forEach((ie)=>ie())}),we(()=>{return window.addEventListener("pointerdown",Lt),window.addEventListener("keydown",Lt),()=>{window.removeEventListener("pointerdown",Lt),window.removeEventListener("keydown",Lt)}});async function E(f,h){for(let ie of h)try{let K=await Zi(f,ie);lt.success(`Saved ${K.containerPath}`),navigator.clipboard.writeText(K.containerPath).catch(()=>{})}catch(K){lt.error(K.message)}}let V=S(!1);function H(f){f.preventDefault(),r(V,!1),E(e(b),Ct(f.dataTransfer))}we(()=>{if(!e(l).uploadEnabled||!e(ee))return;let f=(Q)=>Q.dataTransfer?.types.includes("Files")??!1,h=(Q)=>{if(f(Q))r(V,!0)},ie=(Q)=>{if(!f(Q)||Q.defaultPrevented)return;Q.preventDefault(),Q.dataTransfer.dropEffect="none"},K=(Q)=>{if(f(Q))Q.preventDefault();r(V,!1)},q=(Q)=>{if(Q.relatedTarget===null)r(V,!1)},M=(Q)=>{let Ce=Ct(Q.clipboardData);if(Ce.length&&e(b))Q.preventDefault(),E(e(b),Ce)};return window.addEventListener("dragenter",h),window.addEventListener("dragover",ie),window.addEventListener("dragleave",q),window.addEventListener("drop",K),window.addEventListener("paste",M,!0),()=>{window.removeEventListener("dragenter",h),window.removeEventListener("dragover",ie),window.removeEventListener("dragleave",q),window.removeEventListener("drop",K),window.removeEventListener("paste",M,!0)}}),we(()=>{let f=!1;return Ui((h)=>{if(h.type==="preflight"){r(l,{...e(l),docker:h.data.docker,cli:h.data.cli},!0);return}if(h.type==="pet"){r(n,ct(h.data.name??void 0),!0);return}if(h.type==="filter"){r(x,h.data.value,!0);return}if(h.type==="default-mode"){r(l,{...e(l),defaultMode:h.data.mode},!0);return}if(h.type==="upload-enabled"){r(l,{...e(l),uploadEnabled:h.data.enabled},!0);return}if(h.type==="theme"){Yi(h.data.value);return}if(h.type==="run"){let M=h.data;r(a,e(a).map((Q)=>Q.id===M.instance_id?{...Q,active_run:M.finished_at?null:M}:Q),!0);return}if(h.type==="health"){let M=e(a).find((Q)=>Q.id===h.data.id);if(h.data.health.codeServerAccessible&&M?.status==="running")se.add(h.data.id);return}if(h.type!=="instances")return;let ie=h.data,K=new Set(ie.filter((M)=>M.status==="running").map((M)=>M.id));for(let M of[...se])if(!K.has(M))se.delete(M);for(let M of[...z])if(!K.has(M))z.delete(M);for(let M of[...F])if(!K.has(M))F.delete(M);for(let M of[...A])if(!K.has(M))A.delete(M);let q={};for(let M of ie)q[M.id]=M.attention;if(f)for(let M in q){let Q=q[M];if(Q&&Q!==e(p)[M])if(M===e(b))console.log(`[chime] attention id=${M} state=${Q} — skipped (tab is active/focused)`);else console.log(`[chime] attention id=${M} state=${Q} → playChime`),Qi(Q)}else console.log("[chime] first frame after (re)connect — baselining, no chimes");f=!0,r(a,ie,!0),r(p,q,!0),r(g,!0)},()=>{f=!1})}),we(()=>{if(!e(b)||!e(p)[e(b)])return;let f=()=>{if(document.visibilityState==="visible")Ue(`/api/instances/${e(b)}/attention/clear`).catch(()=>{})};return f(),document.addEventListener("visibilitychange",f),()=>document.removeEventListener("visibilitychange",f)});var he=bl(),u=be(he);let w;var J=o(u);{var Ee=(f)=>{{let h=C(()=>[...A]),ie=C(()=>e(ve)&&e(ve).mode!=="terminal"&&B(e(b))?Me:void 0),K=C(()=>e(l).uploadEnabled?(q,M)=>void E(q,M):void 0);mi(f,{get running(){return e(I)},get active(){return e(b)},get attention(){return e(p)},get editingId(){return e(O)},get stopping(){return e(h)},get onreload(){return e(ie)},onselect:(q)=>y(`/ide/${q}`),onstop:le,get ondropfiles(){return e(K)},onstartrename:R,oncommitrename:G,oncancelrename:X,get editingName(){return e(Y)},set editingName(q){r(Y,q,!0)}})}},Ke=(f)=>{oi(f,{get preflight(){return e(l)},get instances(){return e(a)},get loaded(){return e(g)},get pet(){return e(n)},get filter(){return e(x)},onFilter:te})};L(J,(f)=>{if(e(ee))f(Ee);else f(Ke,-1)})}var Ye=c(J,2);let ye;var P=o(Ye);ze(P,17,()=>e(I),(f)=>f.id,(f,h)=>{var ie=Et(),K=be(ie);{var q=(Q)=>{var Ce=Cl();let et;var st=o(Ce);{var _e=(Z)=>{var Te=Et(),He=be(Te);{var Ge=(Re)=>{{let Je=C(()=>e(h).id===e(b)),Ze=C(()=>e(h).terminal_split===1);gi(Re,{get id(){return e(h).id},get active(){return e(Je)},get initialOpen(){return e(Ze)}})}},ke=(Re)=>{var Je=yl();Qe(Je,(Ze,St)=>Ie[St.id]=Ze,(Ze)=>Ie?.[Ze.id],()=>[e(h)]),T((Ze)=>{$(Je,"src",Ze),$(Je,"title",e(h).name)},[()=>ui(e(h))]),Ve("load",Je,()=>F.add(e(h).id)),Oi(Je),d(Re,Je)};L(He,(Re)=>{if(e(h).mode==="terminal")Re(Ge);else Re(ke,-1)})}d(Z,Te)},N=C(()=>B(e(h).id));L(st,(Z)=>{if(e(N))Z(_e)})}var oe=c(st,2);{var Fe=(Z)=>{Zt(Z,{get mode(){return e(h).mode},stalledAfterMs:ne,onoverride:()=>z.add(e(h).id)})},rt=C(()=>!B(e(h).id)),tt=(Z)=>{Zt(Z,{})},Oe=C(()=>e(h).mode!=="terminal"&&!F.has(e(h).id));L(oe,(Z)=>{if(e(rt))Z(Fe);else if(e(Oe))Z(tt,1)})}var Pe=c(oe,2);{var k=(Z)=>{Ji(Z,{ondrop:H})};L(Pe,(Z)=>{if(e(V)&&e(h).id===e(b)&&e(h).mode==="terminal")Z(k)})}s(Ce),T(()=>{et=xe(Ce,1,"pane svelte-1duc7gd",null,et,{active:e(h).id===e(b)}),$(Ce,"aria-labelledby",`tab-${e(h).id??""}`)}),d(Q,Ce)},M=C(()=>D.has(e(h).id));L(K,(Q)=>{if(e(M))Q(q)})}d(f,ie)});var je=c(P,2);{var Be=(f)=>{var h=Ll();d(f,h)};L(je,(f)=>{if(e(ee)&&e(I).length===0)f(Be)})}s(Ye),s(u);var qe=c(u,2);Hi(qe,{get toastOptions(){return Gi}}),T(()=>{w=xe(u,1,"app svelte-1duc7gd",null,w,{ide:e(ee)}),ye=xe(Ye,1,"panes svelte-1duc7gd",null,ye,{hidden:!e(ee)})}),d(i,he),ue()}ki("AppShell_2rtnxn6pgp2rh",vi);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{i as Is}from"/_mochi/client/chunk-2dc6352a.js";import{E as rs}from"/_mochi/client/chunk-b5s3mpg0.js";import{F as z,G as S,H as J,I as L,J as Q,K as Ke,L as Me,N as d,O as B,P as as}from"/_mochi/client/chunk-7g3xt6ez.js";import{Q as H,R as ps,V as is,W as Xe,X as cs}from"/_mochi/client/chunk-3jqc40sp.js";import{$ as h,Ca as e,Ga as Qe,Ha as Z,Ia as He,Ja as o,La as w,Na as I,Pa as U,Qa as M,Ra as hs,Sa as Ze,Ta as R,Za as me,_a as ss,aa as n,ab as be,bb as ls,db as qe,ea as ye,fa as Ce,fb as ts,ha as X,hb as he,ka as E,ma as x,oa as Se,ob as y,pb as C,qa as c,qb as fs,ra as ms,sa as W,ta as m,wb as gs,xa as q}from"/_mochi/client/chunk-3pgw6t5j.js";import"/_mochi/client/chunk-sxcr9gzp.js";var Hs=new Set(["$$slots","$$events","$$legacy"]);function ve(f,p){let t=y(p,Hs),a={name:"copy",size:24,node:[["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"}]]};H(f,C(()=>t,{get icon(){return a}}))}var Ds=new Set(["$$slots","$$events","$$legacy"]);function $e(f,p){let t=y(p,Ds),a={name:"eraser",size:24,node:[["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"}]]};H(f,C(()=>t,{get icon(){return a}}))}var Ps=new Set(["$$slots","$$events","$$legacy"]);function xe(f,p){let t=y(p,Ps),a={name:"contrast",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z"}]]};H(f,C(()=>t,{get icon(){return a}}))}var js=new Set(["$$slots","$$events","$$legacy"]);function Te(f,p){let t=y(p,js),a={name:"external-link",size:24,node:[["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"}]]};H(f,C(()=>t,{get icon(){return a}}))}var re=[{id:"black",label:"Black"},{id:"gray",label:"Gray"},{id:"cycle",label:"Cycle"}];function Fe(f,p){if(f==="black")return p===S?z:S;if(f==="gray")return p===J?z:J;return p===z?J:p===J?S:z}var us="https://github.com/khromov/codebay";function Oe(f){return f.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"")}function _e(f){let p=[];for(let t=0;t<L;t++){let a="";for(let g=0;g<Q;g++){let D=f[t*Q+g];a+=D===S?"#":D===J?"+":"."}p.push(a)}return p}function ze(f){let p=f.pixels.map((t)=>` '${t}'`).join(`,
|
|
2
|
+
`);return`import type { AvatarArt } from './types.ts';
|
|
3
|
+
|
|
4
|
+
const art: AvatarArt = {
|
|
5
|
+
name: '${f.name}',
|
|
6
|
+
pixels: [
|
|
7
|
+
${p}
|
|
8
|
+
]
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default art;
|
|
12
|
+
`}function es(f,p="create"){let t=p==="edit"?Qs(f):Js(f),a=p==="edit"?`Avatar edit: ${f.name}`:`Avatar contribution: ${f.name}`,g=new URLSearchParams({title:a,body:t});return`${us}/issues/new?${g}`}function Js(f){return["Hi! I drew this avatar in the editor easter egg and I'd love to see it in the official set.","","```",...f.pixels,"```","",`Ready-to-paste module (\`src/avatars/${f.name}.ts\`, plus a line in \`src/avatars/index.ts\`):`,"","```ts",ze(f).trimEnd(),"```","","_It should satisfy `src/avatars/avatars.test.ts`: exactly 8×8, only `#`/`+`/`.` pixels, unique name._"].join(`
|
|
13
|
+
`)}function Qs(f){return[`Hi! I redrew the existing \`${f.name}\` sprite by hand in the editor easter egg — it started as an AI-generated placeholder and this replaces it.`,"","```",...f.pixels,"```","",`Ready-to-paste replacement for \`src/avatars/${f.name}.ts\` (the \`robot\` flag is intentionally dropped — it's hand-drawn now):`,"","```ts",ze(f).trimEnd(),"```","","_It should satisfy `src/avatars/avatars.test.ts`: exactly 8×8, only `#`/`+`/`.` pixels._"].join(`
|
|
14
|
+
`)}var Zs=o('<button type="button" class="head-cancel svelte-qu6vp4"><!> <span>New drawing</span></button>'),bs=o('<span class="ring-cell svelte-qu6vp4" aria-hidden="true"></span>'),Ks=o("<span></span>"),Xs=o('<div class="preview before"><div class="preview-label svelte-qu6vp4">Before</div> <div class="preview-row svelte-qu6vp4"><!></div></div>'),Es=o('<input type="text" readonly="" aria-readonly="true" class="svelte-qu6vp4"/>'),Ms=o('<input type="text" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" maxlength="24" class="svelte-qu6vp4"/>'),Us=o('<button type="button" role="radio"> </button>'),Vs=o('<section class="editor svelte-qu6vp4"><div class="head svelte-qu6vp4"><h2 class="svelte-qu6vp4"> </h2> <!></div> <div class="body svelte-qu6vp4"><div class="grid-frame svelte-qu6vp4"><!> <div class="grid svelte-qu6vp4" role="img" aria-label="8 by 8 pixel drawing canvas"></div></div> <div class="side svelte-qu6vp4"><div class="preview"><div class="preview-label svelte-qu6vp4">Preview</div> <div class="preview-row svelte-qu6vp4"><!> <!></div></div> <!> <label class="name-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Name</span> <!></label> <div class="mode-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Mode</span> <div class="modes svelte-qu6vp4" role="radiogroup" aria-label="Drawing mode"></div></div> <div class="tools svelte-qu6vp4"><!> <!> <!></div></div></div> <div class="foot svelte-qu6vp4"><span class="hint svelte-qu6vp4"> </span> <div class="actions svelte-qu6vp4"><!> <!></div></div></section>');function Ee(f,p){ye(p,!0);let t=fs(p,"editing",3,null),a=X(()=>t()!=null),g=E(Se(t()?Ke(t()):Array(L*Q).fill(z))),D=E(Se(t()?.name??"")),Y=X(()=>t()?t().name:Oe(e(D))),P=X(()=>({name:e(Y)||"my-avatar",pixels:_e(e(g))})),F=X(()=>e(Y).length>0&&e(g).some((s)=>s!==z)),T=E("cycle"),O=Se([]);function ie(s,l){let r=s.key==="ArrowRight"||s.key==="ArrowDown"?1:s.key==="ArrowLeft"||s.key==="ArrowUp"?-1:0;if(r===0)return;s.preventDefault();let i=(l+r+re.length)%re.length;x(T,re[i].id,!0),O[i]?.focus()}let b=E(null),_=!1,ee=S,ae=Array.from({length:100},(s,l)=>({r:Math.floor(l/10),c:l%10})).filter(({r:s,c:l})=>s===0||s===9||l===0||l===9);function ce(s){if(!e(b))return null;let l=e(b).getBoundingClientRect(),r=Math.floor((s.clientX-l.left)/l.width*Q),i=Math.floor((s.clientY-l.top)/l.height*L);if(i<0||i>=L||r<0||r>=Q)return null;return i*Q+r}function k(s){let l=ce(s);if(l==null)return;s.currentTarget.setPointerCapture?.(s.pointerId),_=!0,ee=Fe(e(T),e(g)[l]),e(g)[l]=ee}function v(s){if(!_)return;let l=ce(s);if(l!=null)e(g)[l]=ee}function j(){_=!1}function Ie(){x(g,Array(L*Q).fill(z),!0)}function se(){if(t())x(g,Ke(t()),!0)}function ge(){x(g,e(g).map((s)=>s===S?z:s===z?S:s),!0)}async function Pe(){try{await navigator.clipboard.writeText(ze(e(P))),Xe("Copied — paste it into the GitHub issue")}catch(s){Xe.error(`Copy failed: ${s.message}`)}}var le=Vs(),te=c(le),oe=c(te),u=W(oe,!0),$=m(oe,2);{var A=(s)=>{var l=Zs(),r=c(l);ps(r,{size:14}),n(2),h(l),Z("click",l,()=>p.oncancelEdit?.()),I(s,l)};M($,(s)=>{if(e(a))s(A)})}h(te);var G=m(te,2),fe=c(G),ke=c(fe);R(ke,17,()=>ae,Ze,(s,l)=>{let r=()=>e(l).r,i=()=>e(l).c;var V=bs();q(()=>ss(V,`grid-row:${r()+1};grid-column:${i()+1}`)),I(s,V)});var K=m(ke,2);R(K,21,()=>e(g),Ze,(s,l)=>{var r=Ks();let i;q(()=>i=me(r,1,"cell svelte-qu6vp4",null,i,{on:e(l)===S,gray:e(l)===J})),I(s,r)}),h(K),he(K,(s)=>x(b,s),()=>e(b)),h(fe);var Ve=m(fe,2),je=c(Ve),Le=m(c(je),2),ne=c(Le);d(ne,{get art(){return e(P)},get name(){return e(P).name},scale:6});var os=m(ne,2);d(os,{get art(){return e(P)},get name(){return e(P).name},scale:3}),h(Le),h(je);var We=m(je,2);{var ks=(s)=>{var l=Xs(),r=m(c(l),2),i=c(r);d(i,{get art(){return t()},get name(){return t().name},scale:3}),h(r),h(l),I(s,l)};M(We,(s)=>{if(e(a))s(ks)})}var ue=m(We,2),vs=m(c(ue),2);{var $s=(s)=>{var l=Es();be(l),q(()=>ls(l,t().name)),I(s,l)},xs=(s)=>{var l=Ms();be(l),q(()=>qe(l,"placeholder",p.namePlaceholder)),ts(l,()=>e(D),(r)=>x(D,r)),I(s,l)};M(vs,(s)=>{if(e(a))s($s);else s(xs,-1)})}h(ue);var Je=m(ue,2),Ye=m(c(Je),2);R(Ye,23,()=>re,(s)=>s.id,(s,l,r)=>{var i=Us();let V;var ys=W(i,!0);he(i,(pe,Cs)=>O[Cs]=pe,(pe)=>O?.[pe],()=>[e(r)]),q(()=>{V=me(i,1,"mode svelte-qu6vp4",null,V,{active:e(T)===e(l).id}),qe(i,"aria-checked",e(T)===e(l).id),qe(i,"tabindex",e(T)===e(l).id?0:-1),U(ys,e(l).label)}),Z("click",i,()=>x(T,e(l).id,!0)),Z("keydown",i,(pe)=>ie(pe,e(r))),I(s,i)}),h(Ye),h(Je);var Ae=m(Je,2),Ge=c(Ae);{var Ts=(s)=>{B(s,{size:"sm",get icon(){return rs},onclick:se,children:(l,r)=>{n();var i=w("Reset");I(l,i)},$$slots:{default:!0}})};M(Ge,(s)=>{if(e(a))s(Ts)})}var Ne=m(Ge,2);B(Ne,{size:"sm",get icon(){return $e},onclick:Ie,children:(s,l)=>{n();var r=w("Clear");I(s,r)},$$slots:{default:!0}});var zs=m(Ne,2);B(zs,{size:"sm",get icon(){return xe},onclick:ge,children:(s,l)=>{n();var r=w("Invert");I(s,r)},$$slots:{default:!0}}),h(Ae),h(Ve),h(G);var we=m(G,2),Be=c(we),Ss=W(Be,!0),Re=m(Be,2),de=c(Re);{let s=X(()=>!e(F));B(de,{size:"sm",get icon(){return ve},get disabled(){return e(s)},onclick:Pe,children:(l,r)=>{n();var i=w("Copy");I(l,i)},$$slots:{default:!0}})}var qs=m(de,2);{let s=X(()=>!e(F)),l=X(()=>es(e(P),e(a)?"edit":"create"));B(qs,{size:"sm",variant:"primary",get icon(){return Te},get disabled(){return e(s)},get href(){return e(l)},target:"_blank",rel:"noopener",children:(r,i)=>{n();var V=w("Open GitHub issue");I(r,V)},$$slots:{default:!0}})}h(Re),h(we),h(le),q(()=>{U(u,e(a)?`Redraw “${t().name}”`:"Draw your own avatar"),U(Ss,e(a)?"Redraw it, then open an issue to replace the AI-generated original.":"Draw something, then open an issue to get it into the official set.")}),Z("pointerdown",K,k),Z("pointermove",K,v),Z("pointerup",K,j),Qe("pointercancel",K,j),Qe("lostpointercapture",K,j),I(f,le),Ce()}He(["click","pointerdown","pointermove","pointerup","keydown"]);var Ls=new Set(["$$slots","$$events","$$legacy"]);function De(f,p){let t=y(p,Ls),a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]]};H(f,C(()=>t,{get icon(){return a}}))}var ns=o('<span class="title svelte-fkq7sr">Avatars</span>'),Ws=o('<span class="robot-mark svelte-fkq7sr" title="AI-generated"><!></span>'),Ys=o('<button type="button"><!> <span> </span></button>'),As=o('<li class="svelte-fkq7sr"><!> <span class="label svelte-fkq7sr"><!> </span> <!></li>'),Gs=o('<div class="page svelte-fkq7sr"><!> <main class="content svelte-fkq7sr"><div class="editor-slot svelte-fkq7sr"><!></div> <section class="catalog svelte-fkq7sr"><header class="svelte-fkq7sr"><h2 class="svelte-fkq7sr">The set</h2> <p class="svelte-fkq7sr"> </p></header> <ul class="svelte-fkq7sr"></ul></section></main></div> <!>',1);function Ue(f,p){ye(p,!0);let t=E(null),a=E(null);function g(k){x(t,k,!0),e(a)?.scrollIntoView({behavior:"smooth",block:"start"})}var D=Gs(),Y=ms(D),P=c(Y);as(P,{children:(k,v)=>{var j=ns();I(k,j)},$$slots:{default:!0}});var F=m(P,2),T=c(F),O=c(T);hs(O,()=>e(t)?.name??"\x00new",(k)=>{Ee(k,{get namePlaceholder(){return p.namePlaceholder},get editing(){return e(t)},oncancelEdit:()=>x(t,null)})}),h(T),he(T,(k)=>x(a,k),()=>e(a));var ie=m(T,2),b=c(ie),_=m(c(b),2),ee=W(_);h(b);var ae=m(b,2);R(ae,21,()=>Me,(k)=>k.name,(k,v)=>{var j=As(),Ie=c(j);d(Ie,{get art(){return e(v)},get name(){return e(v).name},scale:8,interactive:!0});var se=m(Ie,2),ge=c(se);{var Pe=(u)=>{var $=Ws(),A=c($);Is(A,{size:11}),h($),I(u,$)};M(ge,(u)=>{if(e(v).robot)u(Pe)})}var le=m(ge);h(se);var te=m(se,2);{var oe=(u)=>{var $=Ys();let A;var G=c($);De(G,{size:11});var fe=m(G,2),ke=W(fe,!0);h($),q(()=>{A=me($,1,"edit-btn svelte-fkq7sr",null,A,{active:e(t)?.name===e(v).name}),$.disabled=e(t)?.name===e(v).name,U(ke,e(t)?.name===e(v).name?"Editing":"Redraw")}),Z("click",$,()=>g(e(v))),I(u,$)};M(te,(u)=>{if(e(v).robot)u(oe)})}h(j),q(()=>U(le,` ${e(v).name??""}`)),I(k,j)}),h(ae),h(ie),h(F),h(Y);var ce=m(Y,2);is(ce,{get toastOptions(){return cs}}),q(()=>U(ee,`${Me.length??""} hand-crafted 8×8 sprites`)),I(f,D),Ce()}He(["click"]);gs("AvatarsView_257s9yq1wwr4f",Ue);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as Bv,b as Il,c as ml,d as uv,e as bv,f as xl,g as Hl,h as Wl}from"/_mochi/client/chunk-jm3ge348.js";import{i as _v}from"/_mochi/client/chunk-2dc6352a.js";import{r as ov}from"/_mochi/client/chunk-bhwkq8er.js";import{D as jl,v as Sl,w as dv,x as ev,y as Ov,z as hl}from"/_mochi/client/chunk-bhseezf3.js";import{Q as s,R as qv,T as Ml,U as zl,V as Nl,W as Pv,X as Dl}from"/_mochi/client/chunk-3jqc40sp.js";import{$ as S,Ba as nv,Ca as v,Da as sv,Ga as U1,Ha as Q1,Ia as Wv,Ja as m,Ma as x1,Na as h,Pa as H,Qa as K,Sa as gv,Ta as H1,Wa as av,Ya as vl,Za as p,_a as pv,aa as W1,ab as ll,db as D1,ea as g1,fa as q1,fb as fl,ha as Z,hb as yl,ka as J,ma as z,oa as J1,ob as q,pa as rv,pb as t,qa as I,qb as g,ra as a,sa as D,ta as y,tb as Cl,ua as j1,wb as Kl,xa as k}from"/_mochi/client/chunk-3pgw6t5j.js";import"/_mochi/client/chunk-sxcr9gzp.js";var Jl=new Set(["$$slots","$$events","$$legacy"]);function zv(L,M){let X=q(M,Jl),i={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]]};s(L,t(()=>X,{get icon(){return i}}))}var Ql=new Set(["$$slots","$$events","$$legacy"]);function o1(L,M){let X=q(M,Ql),i={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10"}],["path",{d:"M7 17 17 7"}]]};s(L,t(()=>X,{get icon(){return i}}))}var Yl=new Set(["$$slots","$$events","$$legacy"]);function Nv(L,M){let X=q(M,Yl),i={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5"}]]};s(L,t(()=>X,{get icon(){return i}}))}var Ll=m("<span></span>");function G1(L,M){let X=g(M,"variant",3,"text");var i=Ll();let T;k(()=>{p(i,1,`skel ${X()??""}`,"svelte-tl058d"),T=pv(i,"",T,{width:M.width})}),h(L,i)}var El=m('<div class="hrow svelte-1hnopyv"><span><!></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv"> </span></div>'),Vl=m('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <!> <!></div>'),Zl=m('<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>'),Fl=m('<div><div class="panel-bar">Health</div> <div class="health svelte-1hnopyv"><!></div> <div class="hfoot svelte-1hnopyv"> </div></div>');function wv(L,M){g1(M,!0);let X=g(M,"health",3,null),i=g(M,"lastFetchedAt",3,null),T=g(M,"active",3,!0),W=g(M,"injectionChecks",3,0),Y1=g(M,"mode",3,"ide"),o=Z(()=>["Container running",Y1()==="terminal"?"Terminal reachable":"Code-server reachable"]),O=Z(()=>{if(!X())return[];let Y=(E)=>({ok:E,value:E?"OK":"—"});return[{key:"container",label:v(o)[0],...Y(X().containerRunning)},{key:"surface",label:v(o)[1],...Y(X().codeServerAccessible)},...X().injections.map((E)=>({key:E.id,label:E.label,...Y(E.ok)}))]});function K1(){return X()?v(O).length:v(o).length+W()}let $=J(J1(Date.now()));j1(()=>{let Y=setInterval(()=>z($,Date.now(),!0),1000);return()=>clearInterval(Y)});let P=Z(()=>{if(!T()&&!X())return"Container not running";if(!i())return"Waiting for first check…";return`Updated ${Math.max(0,Math.round((v($)-i())/1000))}s ago`});var C1=Fl();let r;var L1=y(I(C1),2),S1=I(L1);{var h1=(Y)=>{var E=x1(),n=a(E);H1(n,17,()=>v(O),(U)=>U.key,(U,b)=>{var f=El(),N=I(f),Q=I(N);{var V1=(v1)=>{Nv(v1,{size:12,strokeWidth:3})},w1=(v1)=>{qv(v1,{size:12,strokeWidth:3})};K(Q,(v1)=>{if(v(b).ok)v1(V1);else v1(w1,-1)})}S(N);var e=y(N,2),t1=D(e,!0),A1=y(e,2),s1=D(A1,!0);S(f),k(()=>{p(N,1,`box ${v(b).ok?"ok":"bad"}`,"svelte-1hnopyv"),H(t1,v(b).label),H(s1,v(b).value)}),h(U,f)}),h(Y,E)},d=(Y)=>{var E=x1(),n=a(E);H1(n,17,()=>Array(K1()),gv,(U,b)=>{var f=Vl(),N=y(I(f),2);G1(N,{width:"120px"});var Q=y(N,2);G1(Q,{variant:"pill"}),S(f),h(U,f)}),h(Y,E)},R1=(Y)=>{var E=x1(),n=a(E);H1(n,16,()=>v(o),(U)=>U,(U,b)=>{var f=Zl(),N=y(I(f),2),Q=D(N,!0);W1(2),S(f),k(()=>H(Q,b)),h(U,f)}),h(Y,E)};K(S1,(Y)=>{if(X())Y(h1);else if(T())Y(d,1);else Y(R1,-1)})}S(L1);var k1=y(L1,2),E1=D(k1,!0);S(C1),k(()=>{r=p(C1,1,"healthwrap panel svelte-1hnopyv",null,r,{dim:!T()&&!X()}),H(E1,v(P))}),h(L,C1),q1()}var Tl=new Set(["$$slots","$$events","$$legacy"]);function mv(L,M){let X=q(M,Tl),i={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]]};s(L,t(()=>X,{get icon(){return i}}))}var Ul=new Set(["$$slots","$$events","$$legacy"]);function xv(L,M){let X=q(M,Ul),i={name:"circle-check",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m16 9-5.5 5.5L8 12"}]],aliases:["check-circle-2"]};s(L,t(()=>X,{get icon(){return i}}))}var Rl=new Set(["$$slots","$$events","$$legacy"]);function Hv(L,M){let X=q(M,Rl),i={name:"circle-x",size:24,node:[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m15 9-6 6"}],["path",{d:"m9 9 6 6"}]],aliases:["x-circle"]};s(L,t(()=>X,{get icon(){return i}}))}var wl=m('<span class="pulse svelte-rfwj7e"></span>'),Al=m('<span class="model svelte-rfwj7e"> </span>'),Ol=m("<span> </span>"),Bl=m('<span class="peek svelte-rfwj7e"> </span>'),Pl=m('<li class="step svelte-rfwj7e"><span class="ico svelte-rfwj7e"><span class="pulse svelte-rfwj7e"></span></span> <span class="body svelte-rfwj7e"><span class="text svelte-rfwj7e"> </span></span></li>'),bl=m('<li class="step svelte-rfwj7e"><span class="body svelte-rfwj7e"><span class="text svelte-rfwj7e">No steps recorded.</span></span></li>'),cl=m('<span class="tool svelte-rfwj7e"> </span>'),pl=m('<li><span><!></span> <span class="body svelte-rfwj7e"><!> <span class="text svelte-rfwj7e"> </span></span></li>'),tv=m('<div class="err svelte-rfwj7e"> </div>'),gl=m('<div class="prompt svelte-rfwj7e"><div class="ptitle svelte-rfwj7e">Initial prompt</div> <div class="ptext svelte-rfwj7e"> </div></div> <ol class="steps svelte-rfwj7e"><!> <!></ol> <!>',1),ql=m('<div class="run svelte-rfwj7e"><button type="button" class="run-head svelte-rfwj7e"><span><!></span> <span class="when svelte-rfwj7e"> </span> <span><!> </span> <!> <!> <!> <span class="run-meta svelte-rfwj7e"> </span></button> <!></div>'),tl=m('<section class="agentwrap panel svelte-rfwj7e"><div class="agent-bar panel-bar svelte-rfwj7e"><span class="svelte-rfwj7e"><!> Agent log</span> <span class="count svelte-rfwj7e"> </span></div> <!> <!></section>');function Av(L,M){g1(M,!0);let X=g(M,"bump",3,0),i=J(J1([])),T=J(J1({})),W=J(J1([])),Y1=null,o=J(!1),O=J(null),K1=(f)=>v(W).includes(f);async function $(){try{let f=v(W).length?`?run_ids=${encodeURIComponent(v(W).join(","))}`:"",N=await ev(`/api/instances/${M.id}/agent-log${f}`,void 0,"Could not load the agent log");z(i,Array.isArray(N.runs)?N.runs:[],!0),z(T,{...v(T),...N.timelines??{}},!0);let Q=N.runs[0]?.id??null;if(Q&&Q!==Y1)Y1=Q,z(W,[Q],!0);z(O,null)}catch(f){z(O,f.message,!0)}finally{z(o,!0)}}j1(()=>{if(X()<0)return;sv(()=>void $())});function P(f){let N=!K1(f);if(z(W,N?[...v(W),f]:v(W).filter((Q)=>Q!==f),!0),N&&!v(T)[f])$()}let C1={tool:dv,text:ov,retry:mv,result:xv},r=(f)=>f.status==="running"||f.status==="queued",L1=(f)=>f.map((N,Q)=>({entry:N,index:Q})).reverse(),S1=(f)=>f.model??f.requested_model;function h1(f){if(f.model&&f.requested_model&&f.model!==f.requested_model)return`Requested as ${f.requested_model}`;return f.model?void 0:"Requested; Claude has not reported the model it is using yet"}let d=(f)=>f.session_id??f.resume_session_id,R1=(f)=>f.slice(0,8);function k1(f){let N=d(f);if(!N)return"";return`${f.resume_session_id?"Continues an earlier run in this session":"New session, started by this run"}
|
|
2
|
+
Session ${N}${f.session_id?"":" (requested; not started yet)"}`}function E1(f){return new Date(f.created_at).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function Y(f){let N=[];if(f.num_turns!=null)N.push(`${f.num_turns} turns`);if(f.cost_usd!=null)N.push(`$${f.cost_usd.toFixed(4)}`);if(f.duration_ms!=null)N.push(`${(f.duration_ms/1000).toFixed(1)}s`);return N.join(" · ")}function E(f){if(f.status==="queued")return"Queued";if(r(f))return(f.last_activity??"Working…").replace(/\s+/g," ").trim();return(f.error??f.result??f.prompt).replace(/\s+/g," ").trim()}var n=x1(),U=a(n);{var b=(f)=>{var N=tl(),Q=I(N),V1=I(Q),w1=I(V1);_v(w1,{size:14}),W1(),S(V1);var e=y(V1,2),t1=D(e);S(Q);var A1=y(Q,2);H1(A1,17,()=>v(i),(I1)=>I1.id,(I1,j)=>{let M1=Z(()=>K1(v(j).id));var Z1=ql(),l1=I(Z1),O1=I(l1);let B1;var $1=I(O1);uv($1,{size:14}),S(O1);var r1=y(O1,2),jv=D(r1,!0),P1=y(r1,2);let n1;var vv=I(P1);{var Dv=(G)=>{var V=wl();h(G,V)},lv=Z(()=>r(v(j)));K(vv,(G)=>{if(v(lv))G(Dv)})}var Kv=y(vv);S(P1);var z1=y(P1,2);{var fv=(G)=>{var V=Al(),R=D(V,!0);k((f1,X1)=>{D1(V,"title",f1),H(R,X1)},[()=>h1(v(j)),()=>S1(v(j))]),h(G,V)},kv=Z(()=>S1(v(j)));K(z1,(G)=>{if(v(kv))G(fv)})}var b1=y(z1,2);{var yv=(G)=>{let V=Z(()=>d(v(j)));var R=Ol();let f1;var X1=D(R);k((i1,c1)=>{f1=p(R,1,"session svelte-rfwj7e",null,f1,{resumed:v(j).resume_session_id}),D1(R,"title",i1),H(X1,`${v(j).resume_session_id?"⤷":"◆"}
|
|
3
|
+
${c1??""}`)},[()=>k1(v(j)),()=>R1(v(V))]),h(G,R)},Xv=Z(()=>d(v(j)));K(b1,(G)=>{if(v(Xv))G(yv)})}var Cv=y(b1,2);{var iv=(G)=>{var V=Bl(),R=D(V,!0);k((f1)=>H(R,f1),[()=>E(v(j))]),h(G,V)};K(Cv,(G)=>{if(!v(M1))G(iv)})}var Gv=y(Cv,2),Jv=D(Gv,!0);S(l1);var a1=y(l1,2);{var Qv=(G)=>{var V=gl(),R=a(V),f1=y(I(R),2),X1=D(f1,!0);S(R);var i1=y(R,2),c1=I(i1);{var Yv=(w)=>{var A=Pl(),F=y(I(A),2),d1=I(F),B=D(d1,!0);S(F),S(A),k(()=>H(B,v(j).status==="queued"?"Queued — waiting for the sandbox":"Working…")),h(w,A)},p1=Z(()=>r(v(j))),Sv=(w)=>{var A=bl();h(w,A)};K(c1,(w)=>{if(v(p1))w(Yv);else if((v(T)[v(j).id]??[]).length===0)w(Sv,1)})}var hv=y(c1,2);H1(hv,17,()=>L1(v(T)[v(j).id]??[]),({entry:w,index:A})=>A,(w,A)=>{let F=()=>v(A).entry,d1=()=>v(A).index;var B=pl();let e1;var F1=I(B);let Iv;var Zv=I(F1);{var u1=(l)=>{Hv(l,{size:14})},Fv=(l)=>{let C=Z(()=>C1[F().kind]);var x=x1(),u=a(x);av(u,()=>v(C),(N1,y1)=>{y1(N1,{size:14})}),h(l,x)};K(Zv,(l)=>{if(F().kind==="result"&&F().isError)l(u1);else l(Fv,-1)})}S(F1);var T1=y(F1,2),_1=I(T1);{var Tv=(l)=>{var C=cl(),x=D(C,!0);k(()=>H(x,F().name)),h(l,C)};K(_1,(l)=>{if(F().name)l(Tv)})}var Uv=y(_1,2),Rv=D(Uv,!0);S(T1),S(B),k(()=>{e1=p(B,1,"step svelte-rfwj7e",null,e1,{sub:F().subagent}),Iv=p(F1,1,"ico svelte-rfwj7e",null,Iv,{bad:F().kind==="result"&&F().isError}),H(Rv,F().text)}),h(w,B)}),S(i1);var Lv=y(i1,2);{var Ev=(w)=>{var A=tv(),F=D(A,!0);k(()=>H(F,v(j).error)),h(w,A)},Vv=Z(()=>v(j).error&&!r(v(j)));K(Lv,(w)=>{if(v(Vv))w(Ev)})}k(()=>H(X1,v(j).prompt)),h(G,V)};K(a1,(G)=>{if(v(M1))G(Qv)})}S(Z1),k((G,V,R)=>{D1(l1,"aria-expanded",v(M1)),B1=p(O1,1,"chev svelte-rfwj7e",null,B1,{down:v(M1)}),H(jv,G),n1=p(P1,1,"status svelte-rfwj7e",null,n1,{bad:v(j).is_error,live:V}),H(Kv,` ${v(j).status??""}`),H(Jv,R)},[()=>E1(v(j)),()=>r(v(j)),()=>Y(v(j))]),Q1("click",l1,()=>P(v(j).id)),h(I1,Z1)});var s1=y(A1,2);{var v1=(I1)=>{var j=tv(),M1=D(j,!0);k(()=>H(M1,v(O))),h(I1,j)};K(s1,(I1)=>{if(v(O))I1(v1)})}S(N),k(()=>H(t1,`${v(i).length??""} run${v(i).length===1?"":"s"}`)),h(f,N)};K(U,(f)=>{if(v(o)&&v(i).length>0)f(b)})}h(L,n),q1()}Wv(["click"]);var sl=m('<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),al=m('<p class="restart-err svelte-15fxkvm"> </p>'),$v=m('<code class="svelte-15fxkvm"> </code>'),dl=m('<code class="svelte-15fxkvm">local (project devcontainer.json)</code>'),el=m('<code class="muted svelte-15fxkvm">—</code>'),ul=m('<button class="rebuild svelte-15fxkvm"> </button>'),_l=m('<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>'),ol=m('<ul class="port-list svelte-15fxkvm"></ul>'),$l=m('<p class="empty svelte-15fxkvm">No ports forwarded yet.</p>'),rl=m('<p class="port-err svelte-15fxkvm"> </p>'),nl=m('<p class="hint pending svelte-15fxkvm">Port changes apply when you <strong class="svelte-15fxkvm">Restart</strong> (recreates the container).</p>'),vf=m('<span class="dot svelte-15fxkvm"></span>'),lf=m('<div class="err svelte-15fxkvm"> </div>'),ff=m('<!> <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 cv(L,M){g1(M,!0);let X=g(M,"injectionChecks",3,0),i=g(M,"uploadEnabled",3,!1),T=J(J1(i())),W=J(null),Y1=J(null),o=J(null),O=J(""),K1=J(0),$=J(null),P=J(!0);async function C1(){await nv(),v($)?.scrollTo(0,v($).scrollHeight)}j1(()=>{if(!v(P)||v(O).length===0)return;C1()});function r(){if(z(P,!v(P)),v(P))C1()}j1(()=>zl()),j1(()=>Hl(`/api/instances/${M.id}/logs`,(l)=>z(O,v(O)+l),()=>z(O,""))),j1(()=>Wl((l)=>{if(l.type==="instances"){let C=l.data.find((x)=>x.id===M.id);if(C)z(W,C,!0)}else if(l.type==="health"&&l.data.id===M.id)z(Y1,l.data.health,!0),z(o,Date.now(),!0);else if(l.type==="run"&&l.data.instance_id===M.id)z(K1,v(K1)+1);else if(l.type==="theme")jl(l.data.value);else if(l.type==="upload-enabled")z(T,l.data.enabled,!0)}));let L1=Z(()=>v(W)?Sl(v(W)):"#"),S1=J(""),h1=J(null),d=J(!1),R1=Z(()=>v(W)?.forwarded_ports??[]),k1=Z(()=>v(W)?.status==="creating");async function E1(l){z(h1,null);try{return await l(),!0}catch(C){return z(h1,C.message,!0),!1}}async function Y(l){l.preventDefault();let C=Number.parseInt(v(S1),10);if(!Number.isInteger(C)||C<1||C>65535){z(h1,"Enter a port number between 1 and 65535");return}if(await E1(()=>Ov(`/api/instances/${M.id}/ports`,{port:C})))z(S1,""),z(d,!0)}async function E(l){if(await E1(()=>hl(`/api/instances/${M.id}/ports/${l}`)))z(d,!0)}async function n(){if(await E1(()=>Ov(`/api/instances/${M.id}/rebuild`)))z(d,!1)}let U=J(null),b=J(!1),f={onPending:(l)=>z(b,l,!0),submit:()=>{return z(U,null),({result:l})=>{if(l.type==="failure")z(U,l.data?.error??"Restart failed",!0);else if(l.type==="error")z(U,"Network error. Try again.")}}},N=J(!1),Q;async function V1(){await navigator.clipboard.writeText(v(O)),z(N,!0),clearTimeout(Q),Q=setTimeout(()=>z(N,!1),2000)}async function w1(l){for(let C of l)try{let x=await xl(M.id,C);Pv.success(`Saved ${x.containerPath}`),navigator.clipboard.writeText(x.containerPath).catch(()=>{})}catch(x){Pv.error(x.message)}}let e=J(!1);function t1(l){if(!v(T)||!l.dataTransfer?.types.includes("Files"))return;l.preventDefault(),z(e,!0)}function A1(l){if(v(e))l.preventDefault()}function s1(l){if(l.relatedTarget===null)z(e,!1)}function v1(l){if(!v(e))return;if(l.preventDefault(),z(e,!1),v(T))w1(bv(l.dataTransfer))}function I1(l){if(!v(T))return;let C=bv(l.clipboardData);if(!C.length)return;l.preventDefault(),w1(C)}var j=ff();U1("paste",rv,I1);var M1=a(j);Nl(M1,{get toastOptions(){return Dl}});var Z1=y(M1,2),l1=I(Z1),O1=I(l1);zv(O1,{size:15}),W1(),S(l1);var B1=y(l1,2),$1=I(B1),r1=D($1,!0),jv=y($1,2);{var P1=(l)=>{Il(l,{get status(){return v(W).status}})},n1=(l)=>{G1(l,{variant:"pill"})};K(jv,(l)=>{if(v(W))l(P1);else l(n1,-1)})}S(B1);var vv=y(B1,2);{var Dv=(l)=>{var C=sl(),x=a(C),u=I(x),N1=D(u,!0);S(x),vl(x,()=>Cl(f));var y1=y(x,2),c=y(I(y1));o1(c,{size:15}),S(y1),k(()=>{u.disabled=v(b)||v(k1),H(N1,v(b)||v(k1)?"Restarting…":"Restart container"),D1(y1,"href",v(L1))}),h(l,C)};K(vv,(l)=>{if(v(W)?.status==="running")l(Dv)})}S(Z1);var lv=y(Z1,2);{var Kv=(l)=>{var C=al(),x=D(C,!0);k(()=>H(x,v(U))),h(l,C)};K(lv,(l)=>{if(v(U))l(Kv)})}var z1=y(lv,2),fv=I(z1);{var kv=(l)=>{ml(l,{})};K(fv,(l)=>{if(v(e))l(kv)})}var b1=y(fv,2),yv=y(I(b1),2);{var Xv=(l)=>{var C=$v(),x=D(C,!0);k(()=>H(x,v(W).source_path)),h(l,C)},Cv=(l)=>{G1(l,{variant:"wide"})};K(yv,(l)=>{if(v(W))l(Xv);else l(Cv,-1)})}var iv=y(yv,4);{var Gv=(l)=>{var C=x1(),x=a(C);{var u=(c)=>{var _=dl();h(c,_)},N1=(c)=>{var _=$v(),Mv=D(_,!0);k(()=>H(Mv,v(W).image_source)),h(c,_)},y1=(c)=>{var _=el();h(c,_)};K(x,(c)=>{if(v(W).image_source==="local")c(u);else if(v(W).image_source)c(N1,1);else c(y1,-1)})}h(l,C)},Jv=(l)=>{G1(l,{variant:"wide"})};K(iv,(l)=>{if(v(W))l(Gv);else l(Jv,-1)})}S(b1);var a1=y(b1,2),Qv=I(a1);{let l=Z(()=>!v(W)||v(W).status==="running"),C=Z(()=>v(W)?.mode??"ide");wv(Qv,{get health(){return v(Y1)},get lastFetchedAt(){return v(o)},get injectionChecks(){return X()},get active(){return v(l)},get mode(){return v(C)}})}S(a1);var G=y(a1,2),V=I(G),R=y(I(V),2);{var f1=(l)=>{var C=ul(),x=D(C,!0);k(()=>{C.disabled=v(k1),H(x,v(k1)?"Restarting…":"Restart to apply")}),Q1("click",C,n),h(l,C)};K(R,(l)=>{if(v(d))l(f1)})}S(V);var X1=y(V,2),i1=I(X1);{var c1=(l)=>{var C=ol();H1(C,21,()=>v(R1),(x)=>x.container_port,(x,u)=>{var N1=_l(),y1=I(N1),c=D(y1),_=y(y1,4),Mv=I(_),kl=y(Mv);o1(kl,{size:12}),S(_);var Xl=y(_,2);S(N1),k((il,Gl)=>{H(c,`:${v(u).container_port??""}`),D1(_,"href",il),H(Mv,`${Gl??""} `)},[()=>Bv(v(u).host_port),()=>Bv(v(u).host_port).replace("http://","")]),Q1("click",Xl,()=>E(v(u).container_port)),h(x,N1)}),S(C),h(l,C)},Yv=(l)=>{var C=$l();h(l,C)};K(i1,(l)=>{if(v(R1).length)l(c1);else l(Yv,-1)})}var p1=y(i1,2),Sv=I(p1);ll(Sv),W1(2),S(p1);var hv=y(p1,2);{var Lv=(l)=>{var C=rl(),x=D(C,!0);k(()=>H(x,v(h1))),h(l,C)};K(hv,(l)=>{if(v(h1))l(Lv)})}var Ev=y(hv,2);{var Vv=(l)=>{var C=nl();h(l,C)};K(Ev,(l)=>{if(v(d))l(Vv)})}W1(2),S(X1),S(G);var w=y(G,2);Av(w,{get id(){return M.id},get bump(){return v(K1)}});var A=y(w,2),F=I(A),d1=y(I(F),2),B=I(d1);let e1;var F1=I(B);{var Iv=(l)=>{var C=vf();h(l,C)};K(F1,(l)=>{if(v(P))l(Iv)})}var Zv=y(F1);S(B);var u1=y(B,2),Fv=D(u1,!0);S(d1),S(F);var T1=y(F,2),_1=I(T1),Tv=I(_1,!0);W1(),S(_1),S(T1),yl(T1,(l)=>z($,l),()=>v($));var Uv=y(T1,2);{var Rv=(l)=>{var C=lf(),x=D(C,!0);k(()=>H(x,v(W).error)),h(l,C)};K(Uv,(l)=>{if(v(W)?.status==="error"&&v(W).error)l(Rv)})}S(A),S(z1),k(()=>{H(r1,v(W)?.name??"Instance"),e1=p(B,1,"copy svelte-15fxkvm",null,e1,{active:v(P)}),D1(B,"aria-pressed",v(P)),D1(B,"title",v(P)?"Following — click to pause":"Paused — click to follow new output"),H(Zv,` ${v(P)?"Following":"Follow log"}`),u1.disabled=!v(O),H(Fv,v(N)?"Copied!":"Copy logs"),H(Tv,v(O)||"Waiting for output…")}),Q1("click",l1,function(...l){Ml?.apply(this,l)}),U1("dragenter",z1,t1),U1("dragover",z1,A1),U1("dragleave",z1,s1),U1("drop",z1,v1),U1("submit",p1,Y),fl(Sv,()=>v(S1),(l)=>z(S1,l)),Q1("click",B,r),Q1("click",u1,V1),h(L,j),q1()}Wv(["click"]);Kl("InstanceView_2ma45l9bybfhl",cv);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import{j as R8,k as Cz,l as P8,m as M8,n as U8,o as h8,p as F8,q as B8}from"/_mochi/client/chunk-3cxaw5hr.js";import{r as T8}from"/_mochi/client/chunk-bhwkq8er.js";import{A as C8,B as Q8,C as Iz,s as X8,t as V8,u as H8,w as xz,y as Z8}from"/_mochi/client/chunk-bhseezf3.js";import{E as kS}from"/_mochi/client/chunk-b5s3mpg0.js";import{L as G8,M as jz,N as MS,O as a,P as D8}from"/_mochi/client/chunk-7g3xt6ez.js";import{Q as N,R as Zz,U as A8,V as N8,X as k8}from"/_mochi/client/chunk-3jqc40sp.js";import{$ as w,Ca as I,Ga as Y8,Ha as t,Ia as QS,Ja as b,La as m,Na as C,Pa as K,Qa as D,Ta as J1,Wa as x8,Ya as T,Za as Z1,aa as X,ab as U,bb as V1,cb as w1,db as $,ea as ZS,fa as CS,fb as u,ha as Lz,hb as M1,ia as P1,ka as x,ma as z,oa as F,ob as R,pb as A,qa as y,qb as J8,ra as D1,sa as H,ta as L,tb as O,ua as yz,wb as O8,xa as J}from"/_mochi/client/chunk-3pgw6t5j.js";import"/_mochi/client/chunk-sxcr9gzp.js";var qj=new Set(["$$slots","$$events","$$legacy"]);function SS(V,Z){let Y=R(Z,qj),W={name:"container",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var bj=new Set(["$$slots","$$events","$$legacy"]);function IS(V,Z){let Y=R(Z,bj),W={name:"power",size:24,node:[["path",{d:"M12 2v10"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var lj=new Set(["$$slots","$$events","$$legacy"]);function fS(V,Z){let Y=R(Z,lj),W={name:"volume-2",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Ej=new Set(["$$slots","$$events","$$legacy"]);function zS(V,Z){let Y=R(Z,Ej),W={name:"keyboard",size:24,node:[["path",{d:"M10 8h.01"}],["path",{d:"M12 12h.01"}],["path",{d:"M14 8h.01"}],["path",{d:"M16 12h.01"}],["path",{d:"M18 8h.01"}],["path",{d:"M6 8h.01"}],["path",{d:"M7 16h10"}],["path",{d:"M8 12h.01"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var cj=new Set(["$$slots","$$events","$$legacy"]);function wS(V,Z){let Y=R(Z,cj),W={name:"paw-print",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var gj=new Set(["$$slots","$$events","$$legacy"]);function LS(V,Z){let Y=R(Z,gj),W={name:"sun-moon",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var mj=new Set(["$$slots","$$events","$$legacy"]);function yS(V,Z){let Y=R(Z,mj),W={name:"sun",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var sj=new Set(["$$slots","$$events","$$legacy"]);function jS(V,Z){let Y=R(Z,sj),W={name:"moon",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var ij=new Set(["$$slots","$$events","$$legacy"]);function xS(V,Z){let Y=R(Z,ij),W={name:"monitor",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var tj=b('<button type="button" role="radio"><!> </button>'),dj=b('<div><span class="bar top svelte-3gcwuj"></span> <span class="bar bottom svelte-3gcwuj"></span> <span class="line svelte-3gcwuj"></span></div>'),uj=b('<div class="picker svelte-3gcwuj" role="radiogroup" aria-label="Theme"></div> <!>',1);function fz(V,Z){ZS(Z,!0);let Y=x(F(C8())),W=x(null),Q1=320,K1=380,Y1=[{value:"auto",label:"Auto",icon:xS},{value:"light",label:"Light",icon:yS},{value:"dark",label:"Dark",icon:jS}],U1=(e)=>new Promise((C1)=>setTimeout(C1,e));async function k1(e){if(e===I(Y)||I(W))return;if(Q8(e),Z8("/api/settings/theme",{value:e}).catch(()=>{}),window.matchMedia("(prefers-reduced-motion: reduce)").matches){z(Y,e,!0),Iz(e);return}z(W,"collapse"),await U1(Q1),z(Y,e,!0),Iz(e),z(W,"restore"),await U1(K1),z(W,null)}var s=uj(),I1=D1(s);J1(I1,21,()=>Y1,({value:e,label:C1,icon:H1})=>e,(e,C1)=>{let H1=()=>I(C1).value,I0=()=>I(C1).label,R1=()=>I(C1).icon;var G1=tj();let T1;var O1=y(G1);x8(O1,R1,(OS,pS)=>{pS(OS,{size:13})});var TS=L(O1);w(G1),J(()=>{T1=Z1(G1,1,"segment svelte-3gcwuj",null,T1,{active:I(Y)===H1()}),$(G1,"aria-checked",I(Y)===H1()),K(TS,` ${I0()??""}`)}),t("click",G1,()=>k1(H1())),C(e,G1)}),w(I1);var X1=L(I1,2);{var m1=(e)=>{var C1=dj();let H1;J(()=>H1=Z1(C1,1,"crt svelte-3gcwuj",null,H1,{collapse:I(W)==="collapse",restore:I(W)==="restore"})),C(e,C1)};D(X1,(e)=>{if(I(W))e(m1)})}C(V,s),CS()}QS(["click"]);var aj=new Set(["$$slots","$$events","$$legacy"]);function JS(V,Z){let Y=R(Z,aj),W={name:"layers",size:24,node:[["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"}]],aliases:["layers-3"]};N(V,A(()=>Y,{get icon(){return W}}))}var ej=new Set(["$$slots","$$events","$$legacy"]);function WS(V,Z){let Y=R(Z,ej),W={name:"upload",size:24,node:[["path",{d:"M12 3v12"}],["path",{d:"m17 8-5-5-5 5"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var vj=new Set(["$$slots","$$events","$$legacy"]);function KS(V,Z){let Y=R(Z,vj),W={name:"folder-minus",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var rj=new Set(["$$slots","$$events","$$legacy"]);function YS(V,Z){let Y=R(Z,rj),W={name:"folder-cog",size:24,node:[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3"}],["path",{d:"m14.305 19.53.923-.382"}],["path",{d:"m15.228 16.852-.923-.383"}],["path",{d:"m16.852 15.228-.383-.923"}],["path",{d:"m16.852 20.772-.383.924"}],["path",{d:"m19.148 15.228.383-.923"}],["path",{d:"m19.53 21.696-.382-.924"}],["path",{d:"m20.772 16.852.924-.383"}],["path",{d:"m20.772 19.148.924.383"}],["circle",{cx:"18",cy:"18",r:"3"}]],aliases:["folder-cog-2"]};N(V,A(()=>Y,{get icon(){return W}}))}var $j=new Set(["$$slots","$$events","$$legacy"]);function B1(V,Z){let Y=R(Z,$j),W={name:"trash",size:24,node:[["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"}]],aliases:["trash-2"]};N(V,A(()=>Y,{get icon(){return W}}))}var oj=new Set(["$$slots","$$events","$$legacy"]);function _1(V,Z){let Y=R(Z,oj),W={name:"hammer",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var nj=new Set(["$$slots","$$events","$$legacy"]);function S0(V,Z){let Y=R(Z,nj),W={name:"key-round",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var _j=new Set(["$$slots","$$events","$$legacy"]);function XS(V,Z){let Y=R(Z,_j),W={name:"user-cog",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Sx=new Set(["$$slots","$$events","$$legacy"]);function VS(V,Z){let Y=R(Z,Sx),W={name:"cpu",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Ix=new Set(["$$slots","$$events","$$legacy"]);function HS(V,Z){let Y=R(Z,Ix),W={name:"variable",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var fx=new Set(["$$slots","$$events","$$legacy"]);function GS(V,Z){let Y=R(Z,fx),W={name:"key-square",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var zx=new Set(["$$slots","$$events","$$legacy"]);function RS(V,Z){let Y=R(Z,zx),W={name:"sliders-horizontal",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var wx=new Set(["$$slots","$$events","$$legacy"]);function AS(V,Z){let Y=R(Z,wx),W={name:"list-ordered",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Lx=new Set(["$$slots","$$events","$$legacy"]);function NS(V,Z){let Y=R(Z,Lx),W={name:"boxes",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var yx=new Set(["$$slots","$$events","$$legacy"]);function DS(V,Z){let Y=R(Z,yx),W={name:"puzzle",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var jx=new Set(["$$slots","$$events","$$legacy"]);function PS(V,Z){let Y=R(Z,jx),W={name:"plug",size:24,node:[["path",{d:"M12 22v-5"}],["path",{d:"M15 8V2"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z"}],["path",{d:"M9 8V2"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var xx=b('<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 zz(V,Z){let Y=J8(Z,"href",3,"/avatars"),W={name:"coin",pixels:["..####..",".#....#.","#..##..#","#.####.#","#.####.#","#..##..#",".#....#.","..####.."]};var Q1=xx(),K1=L(y(Q1),2),Y1=L(y(K1),2),U1=y(Y1);MS(U1,{get art(){return W},name:"coin",scale:3}),w(Y1),w(K1),X(2),w(Q1),J(()=>$(K1,"href",Y())),C(V,Q1)}var Zx=new Set(["$$slots","$$events","$$legacy"]);function US(V,Z){let Y=R(Z,Zx),W={name:"shield-check",size:24,node:[["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"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Cx=new Set(["$$slots","$$events","$$legacy"]);function hS(V,Z){let Y=R(Z,Cx),W={name:"gauge",size:24,node:[["path",{d:"m12 14 4-4"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Qx=new Set(["$$slots","$$events","$$legacy"]);function FS(V,Z){let Y=R(Z,Qx),W={name:"clipboard-x",size:24,node:[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}],["path",{d:"m14.5 11.5-5 5"}],["path",{d:"m9.5 11.5 5 5"}]]};N(V,A(()=>Y,{get icon(){return W}}))}var Jx=b('<span class="title svelte-1n6ht58">Settings</span>'),Wx=b(`<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">Copying out of a terminal may not work on this address</div> <div class="desc svelte-1n6ht58">Browsers hand out clipboard access only on a secure origin, and <code class="svelte-1n6ht58"> </code> isn't one — so a copy out of an instance's VS Code
|
|
2
|
+
terminal reaches nothing (codebay's own terminal falls back to a legacy copy that
|
|
3
|
+
usually still works). Either open codebay through <code class="svelte-1n6ht58">localhost</code> (<code class="svelte-1n6ht58"> </code>), or allow this exact origin under <code class="svelte-1n6ht58">chrome://flags/#unsafely-treat-insecure-origin-as-secure</code>.</div></div></div></div></section>`),S1=b('<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58"> </div></div>'),wz=b('<button type="button"> </button>'),Kx=b('<span class="arch svelte-1n6ht58" title="Docker daemon architecture"> </span>'),Yx=b(`Your Docker daemon runs on <strong> </strong> — pick an image that publishes
|
|
4
|
+
an <strong> </strong> manifest, or the pull will fail.`,1),y1=b('<div class="msg error svelte-1n6ht58"> </div>'),BS=b('<div class="msg ok svelte-1n6ht58">Saved.</div>'),Xx=b(`<div class="row divided svelte-1n6ht58"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Token</div> <div class="desc svelte-1n6ht58">Anything holding this token can create containers and run agents with your GitHub
|
|
5
|
+
and Claude credentials. Treat it like a password.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Bearer</span> <input type="text" class="image-input svelte-1n6ht58" readonly="" spellcheck="false"/></label> <div class="mcp-actions svelte-1n6ht58"><!> <!> <form method="POST" action="?/mcpRegenerateToken"><!></form></div> <code class="mcp-command svelte-1n6ht58"> </code> <!></div></div> <form class="row divided svelte-1n6ht58" method="POST" action="?/mcpPrAttributionToggle"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Credit Codebay on pull requests</div> <div class="desc svelte-1n6ht58">Append a one-line footer to the body of every pull request an agent opens through <code class="svelte-1n6ht58">create_pr</code>. Off by default — an attribution line on your PRs is yours to
|
|
6
|
+
opt into.</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> <!>`,1),Vx=b(`<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
|
|
7
|
+
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>`),W1=b('<div class="msg ok svelte-1n6ht58"> </div>'),Hx=b('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock mode is on">disabled</span>'),Gx=b(`<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
|
|
8
|
+
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
|
|
9
|
+
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 —
|
|
10
|
+
the first <code class="svelte-1n6ht58">claude</code> to refresh it signs the other one out. Leave blank and Save
|
|
11
|
+
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),Rx=b('<span class="arch svelte-1n6ht58">disabled</span>'),Ax=b(`Route <code class="svelte-1n6ht58">claude</code> through a LiteLLM proxy fronting AWS Bedrock instead of Anthropic's
|
|
12
|
+
default API. When enabled, the Bedrock endpoint variables are injected into every new
|
|
13
|
+
container, host OAuth credentials are not used, and "Set tokens manually" is disabled.`,1),Nx=b('<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),Dx=b('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock is on">disabled</span>'),Px=b(`Pin which model <code class="svelte-1n6ht58">claude</code> uses on the standard (subscription) path. Only
|
|
14
|
+
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),Mx=b('<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>'),W8=b('<input type="hidden" name="names"/>'),Ux=b('<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>'),K8=b('<div class="var-empty svelte-1n6ht58">No variables added yet.</div>'),hx=b('<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>'),Fx=b('<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>'),Bx=b('<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>'),kx=b('<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"/> <button type="submit"><!></button></form>'),Tx=b('<div class="sub pets svelte-1n6ht58"></div>'),Ox=b('<span class="shutting svelte-1n6ht58">Server is shutting down — you can close this tab.</span>'),px=b(`<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
|
|
15
|
+
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
|
|
16
|
+
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,
|
|
17
|
+
written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. Applies on create and rebuild, not to
|
|
18
|
+
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 svelte-1n6ht58" method="POST" action="?/claudeOutputStyle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude output style</div> <div class="desc svelte-1n6ht58">The output style Claude Code starts new sessions in, written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. <strong>Default</strong> inherits your host <code class="svelte-1n6ht58">~/.claude/settings.json</code> (including any custom styles); <strong>None</strong> forces it off. Applies on create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="style"/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude output style"></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
|
|
19
|
+
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
|
|
20
|
+
new instance's workspace. Leave blank to copy everything. Only applies to local
|
|
21
|
+
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="?/workspaceUploadToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Drop files into the workspace</div> <div class="desc svelte-1n6ht58">Drag-and-drop or paste files and images onto an instance to save them under <code class="svelte-1n6ht58">codebay-inbox/</code> in its workspace (git-excluded). The in-container path is shown
|
|
22
|
+
so Claude can Read it. Turn off to drop straight into VS Code's explorer instead. Off by
|
|
23
|
+
default.</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 image-row svelte-1n6ht58" method="POST" action="?/claudeConfigDir"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude config directory</div> <div class="desc svelte-1n6ht58">Host directory the Claude Code injections read from — credentials, statusLine, output
|
|
24
|
+
styles, and global skills / <code class="svelte-1n6ht58">CLAUDE.md</code>. Leave blank to use <code class="svelte-1n6ht58">~/.claude</code>. Takes effect for instances created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="dir" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="~/.claude"/> <!> <!></div> <!></form></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/mcpToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">MCP server</div> <div class="desc svelte-1n6ht58">Expose Codebay to other AI agents over MCP, so they can create sandboxes, run Claude
|
|
25
|
+
Code in them non-interactively and read back the result. Off by default; the endpoint
|
|
26
|
+
404s until you turn it on, then authenticates with the bearer token below.</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="?/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
|
|
27
|
+
new container, taking precedence over the host's own git config. When off, each container
|
|
28
|
+
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
|
|
29
|
+
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
|
|
30
|
+
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
|
|
31
|
+
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
|
|
32
|
+
interactive shells. Values are read from this process's own environment at container
|
|
33
|
+
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
|
|
34
|
+
locally, masked in the build log, and never shown here after saving. Re-add a name to
|
|
35
|
+
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"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Tab keyboard shortcuts</div> <div class="desc svelte-1n6ht58">Jump between open instance tabs with <code class="svelte-1n6ht58">Alt</code>+<code class="svelte-1n6ht58">1</code>–<code class="svelte-1n6ht58">9</code> (9 is
|
|
36
|
+
always the last tab). Turn off to leave those keystrokes to the editor.</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
|
|
37
|
+
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
|
|
38
|
+
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
|
|
39
|
+
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
|
|
40
|
+
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
|
|
41
|
+
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 Qz(V,Z){ZS(Z,!0);let Y=x(F(P8())),W=x(F(U8())),Q1=x(F(Z.pet)),K1=x(!1),Y1=x(null),U1=x(!1);yz(()=>A8());let k1=x(null);yz(()=>{if(window.isSecureContext)return;let S=location.port||"80";z(k1,{origin:location.origin,tunnel:`ssh -L ${S}:localhost:${S} ${location.hostname}`},!0)});function s(S){return{onPending:S.setSaving,submit:({cancel:f})=>{if(S.confirmMessage&&!confirm(S.confirmMessage)){f();return}return S.setError(null),S.setMsg?.(null),({result:j})=>{if(j.type==="success")S.onSuccess(j.data);else if(j.type==="failure")S.setError(j.data?.error??"Request failed");else if(j.type==="error")S.setError("Network error. Try again.")}}}}function I1(S){return{onPending:S.setSaving,submit:({formData:f})=>{let j=f.get("enabled")==="on";return S.setError(null),({result:Q})=>{if(Q.type==="success"){S.onSuccess?.(Q.data);return}S.set(!j),S.setError(Q.type==="failure"?Q.data?.error??"Request failed":"Network error. Try again.")}}}}let X1=x(F(Z.defaultMode)),m1=x(!1),e=x(null),C1,H1=s({setSaving:(S)=>z(m1,S,!0),setError:(S)=>z(e,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.mode)z(X1,S.mode,!0)}});function I0(S){if(S===I(X1))return;P1(()=>z(X1,S,!0)),C1?.requestSubmit()}let R1=x(F(Z.claudePermissionMode)),G1=x(!1),T1=x(null),O1,TS=s({setSaving:(S)=>z(G1,S,!0),setError:(S)=>z(T1,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.mode)z(R1,S.mode,!0)}}),OS={default:"Default",manual:"Manual",auto:"Auto",plan:"Plan"};function pS(S){if(S===I(R1))return;P1(()=>z(R1,S,!0)),O1?.requestSubmit()}let p1=x(F(Z.claudeEffortLevel)),Jz=x(!1),qS=x(null),bS,p8=s({setSaving:(S)=>z(Jz,S,!0),setError:(S)=>z(qS,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.level)z(p1,S.level,!0)}}),q8={low:"Low",medium:"Medium",high:"High",xhigh:"X-High",max:"Max"};function b8(S){if(S===I(p1))return;P1(()=>z(p1,S,!0)),bS?.requestSubmit()}let q1=x(F(Z.claudeOutputStyle)),Wz=x(!1),lS=x(null),ES,l8=s({setSaving:(S)=>z(Wz,S,!0),setError:(S)=>z(lS,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.style)z(q1,S.style,!0)}}),E8={default:"Default",none:"None",Concise:"Concise"};function c8(S){if(S===I(q1))return;P1(()=>z(q1,S,!0)),ES?.requestSubmit()}let s1=x(F(Z.defaultImage)),cS=x(!1),gS=x(null),mS=x(!1),sS,g8=s({setSaving:(S)=>z(cS,S,!0),setError:(S)=>z(gS,S,!0),setMsg:(S)=>z(mS,!!S),onSuccess:(S)=>{z(s1,S?.image??I(s1),!0),z(mS,!0)}});function m8(){P1(()=>z(s1,Z.builtinImage,!0)),sS?.requestSubmit()}let i1=x(F(Z.copyIgnorePatterns)),iS=x(!1),tS=x(null),dS=x(!1),uS,s8=s({setSaving:(S)=>z(iS,S,!0),setError:(S)=>z(tS,S,!0),setMsg:(S)=>z(dS,!!S),onSuccess:(S)=>{z(i1,S?.patterns??I(i1),!0),z(dS,!0)}});function i8(){P1(()=>z(i1,Z.builtinCopyIgnore,!0)),uS?.requestSubmit()}let t1=x(F(Z.claudeConfigDir)),aS=x(!1),eS=x(null),vS=x(!1),rS,t8=s({setSaving:(S)=>z(aS,S,!0),setError:(S)=>z(eS,S,!0),setMsg:(S)=>z(vS,!!S),onSuccess:(S)=>{z(t1,S?.dir??I(t1),!0),z(vS,!0)}});function d8(){P1(()=>z(t1,"")),rS?.requestSubmit()}let f0=x(F(Z.mcpEnabled)),d1=x(F(Z.mcpToken)),Kz=x(!1),$S=x(null),oS=x(!1),z0=x(null),w0=x(null),u8=I1({set:(S)=>z(f0,S,!0),setSaving:(S)=>z(Kz,S,!0),setError:(S)=>z($S,S,!0),onSuccess:(S)=>z(d1,S?.token??"",!0)}),a8=s({setSaving:(S)=>z(oS,S,!0),setError:(S)=>z(z0,S,!0),onSuccess:(S)=>z(d1,S?.token??"",!0),confirmMessage:"Regenerate the MCP token? Any agent already configured with the current token will stop working."}),nS=x(F(Z.mcpPrAttribution)),Yz=x(!1),_S=x(null),e8=I1({set:(S)=>z(nS,S,!0),setSaving:(S)=>z(Yz,S,!0),setError:(S)=>z(_S,S,!0)}),Xz=Lz(()=>`claude mcp add --transport http codebay ${Z.mcpUrl} --header "Authorization: Bearer ${I(d1)}"`);async function Vz(S,f){try{await navigator.clipboard.writeText(f),z(w0,S,!0),setTimeout(()=>z(w0,null),1500)}catch{z(z0,"Could not copy — select the text and copy it manually.")}}let L0=x(F(Z.gitIdentityEnabled)),Hz=x(!1),SI=x(null),v8=I1({set:(S)=>z(L0,S,!0),setSaving:(S)=>z(Hz,S,!0),setError:(S)=>z(SI,S,!0)}),y0=x(F(Z.gitIdentityName)),j0=x(F(Z.gitIdentityEmail)),Gz=x(!1),II=x(null),fI=x(!1),r8=s({setSaving:(S)=>z(Gz,S,!0),setError:(S)=>z(II,S,!0),setMsg:(S)=>z(fI,!!S),onSuccess:(S)=>{z(y0,S?.name??I(y0),!0),z(j0,S?.email??I(j0),!0),z(fI,!0)}}),zI=x(F(Z.disableBuildCache)),Rz=x(!1),wI=x(null),$8=I1({set:(S)=>z(zI,S,!0),setSaving:(S)=>z(Rz,S,!0),setError:(S)=>z(wI,S,!0)}),LI=x(F(Z.workspaceUploadEnabled)),Az=x(!1),yI=x(null),o8=I1({set:(S)=>z(LI,S,!0),setSaving:(S)=>z(Az,S,!0),setError:(S)=>z(yI,S,!0)}),jI=x(!1),x0=x(null),xI=x(null);function n8(S){if(S<=0)return"0 B";let f=["B","KB","MB","GB","TB"],j=Math.min(Math.floor(Math.log(S)/Math.log(1024)),f.length-1);return`${(S/1024**j).toFixed(j===0?0:1)} ${f[j]}`}let _8=s({setSaving:(S)=>z(jI,S,!0),setError:(S)=>z(xI,S,!0),setMsg:(S)=>z(x0,S,!0),onSuccess:(S)=>{z(x0,`Cleared — freed ${n8(S?.spaceReclaimed??0)}.`)}}),ZI=x(!1),Z0=x(null),CI=x(null),SL=s({setSaving:(S)=>z(ZI,S,!0),setError:(S)=>z(CI,S,!0),setMsg:(S)=>z(Z0,S,!0),confirmMessage:"Rebuild every running container from scratch (no build cache)? Each will restart and may take a while.",onSuccess:(S)=>{let f=S?.count??0;z(Z0,f===0?"No running containers to rebuild.":`Rebuilding ${f} container(s)…`,!0)}}),QI=x(F(Z.advancedSerialInjections)),Nz=x(!1),JI=x(null),IL=I1({set:(S)=>z(QI,S,!0),setSaving:(S)=>z(Nz,S,!0),setError:(S)=>z(JI,S,!0)}),WI=x(F(Z.advancedNoBuildkit)),Dz=x(!1),KI=x(null),fL=I1({set:(S)=>z(WI,S,!0),setSaving:(S)=>z(Dz,S,!0),setError:(S)=>z(KI,S,!0)}),YI=x(F(Z.advancedBlockingExtInstall)),Pz=x(!1),XI=x(null),zL=I1({set:(S)=>z(YI,S,!0),setSaving:(S)=>z(Pz,S,!0),setError:(S)=>z(XI,S,!0)}),VI=x(!1),C0=x(null),HI=x(null),wL=s({setSaving:(S)=>z(VI,S,!0),setError:(S)=>z(HI,S,!0),setMsg:(S)=>z(C0,S,!0),onSuccess:()=>{z(C0,"Cleared — the next instance boot re-checks the registry.")}}),u1=x(F(Z.manualTokensEnabled)),Mz=x(!1),GI=x(null),LL=I1({set:(S)=>z(u1,S,!0),setSaving:(S)=>z(Mz,S,!0),setError:(S)=>z(GI,S,!0)}),RI=x(F(Z.githubTokenSet)),AI=x(""),Uz=x(!1),Q0=x(null),NI=x(null),yL=s({setSaving:(S)=>z(Uz,S,!0),setError:(S)=>z(NI,S,!0),setMsg:(S)=>z(Q0,S,!0),onSuccess:(S)=>{z(RI,S?.set??!1,!0),z(AI,""),z(Q0,I(RI)?"Saved.":"Cleared.",!0)}}),DI=x(F(Z.claudeTokenSet)),PI=x(""),hz=x(!1),J0=x(null),MI=x(null),jL=s({setSaving:(S)=>z(hz,S,!0),setError:(S)=>z(MI,S,!0),setMsg:(S)=>z(J0,S,!0),onSuccess:(S)=>{z(DI,S?.set??!1,!0),z(PI,""),z(J0,I(DI)?"Saved.":"Cleared.",!0)}}),j1=x(F(Z.customEndpointEnabled)),Fz=x(!1),UI=x(null),xL=I1({set:(S)=>z(j1,S,!0),setSaving:(S)=>z(Fz,S,!0),setError:(S)=>z(UI,S,!0),onSuccess:(S)=>{if(S?.enabled)z(b1,!1)}}),Bz=x(F(Z.customEndpointBaseUrl)),kz=x(!1),W0=x(null),hI=x(null),ZL=s({setSaving:(S)=>z(kz,S,!0),setError:(S)=>z(hI,S,!0),setMsg:(S)=>z(W0,S,!0),onSuccess:(S)=>{z(W0,S?.set?"Saved.":"Cleared.",!0)}}),FI=x(""),BI=x(F(Z.customEndpointTokenSet)),Tz=x(!1),K0=x(null),kI=x(null),CL=s({setSaving:(S)=>z(Tz,S,!0),setError:(S)=>z(kI,S,!0),setMsg:(S)=>z(K0,S,!0),onSuccess:(S)=>{z(BI,S?.set??!1,!0),z(FI,""),z(K0,I(BI)?"Saved.":"Cleared.",!0)}}),Oz=x(F(Z.customEndpointOpusModel)),pz=x(F(Z.customEndpointSonnetModel)),qz=x(F(Z.customEndpointHaikuModel)),bz=x(F(Z.customEndpointSmallFastModel)),lz=x(F(Z.customEndpointModel)),Ez=x(!1),Y0=x(null),TI=x(null),QL=s({setSaving:(S)=>z(Ez,S,!0),setError:(S)=>z(TI,S,!0),setMsg:(S)=>z(Y0,S,!0),onSuccess:()=>{z(Y0,"Saved.")}}),b1=x(F(Z.manualModelOverrideEnabled)),cz=x(!1),OI=x(null),JL=I1({set:(S)=>z(b1,S,!0),setSaving:(S)=>z(cz,S,!0),setError:(S)=>z(OI,S,!0),onSuccess:(S)=>{if(S?.enabled)z(j1,!1)}}),gz=x(F(Z.manualOpusModel)),mz=x(F(Z.manualSonnetModel)),sz=x(F(Z.manualHaikuModel)),iz=x(F(Z.manualSmallFastModel)),tz=x(F(Z.manualModel)),dz=x(!1),X0=x(null),pI=x(null),WL=s({setSaving:(S)=>z(dz,S,!0),setError:(S)=>z(pI,S,!0),setMsg:(S)=>z(X0,S,!0),onSuccess:()=>{z(X0,"Saved.")}}),l1=Lz(()=>I(u1)?"Set tokens manually":I(b1)?"Override models manually":null),V0=x(F(Z.hostEnvVarsEnabled)),uz=x(!1),qI=x(null),KL=I1({set:(S)=>z(V0,S,!0),setSaving:(S)=>z(uz,S,!0),setError:(S)=>z(qI,S,!0),onSuccess:(S)=>{z(c1,S?.presence??{},!0)}}),E1=x(F([...Z.hostEnvVarNames])),c1=x(F({...Z.hostEnvVarPresence})),bI=x(""),H0=x(!1),a1=x(null),h1=x(null),YL={onPending:(S)=>z(H0,S,!0),submit:({formData:S,cancel:f})=>{z(h1,null),z(a1,null);let j=S.getAll("names").map(String),P=(j.pop()??"").trim().toUpperCase();if(!P){f();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(P)){z(h1,`Invalid variable name: ${P}`),f();return}if(z(bI,""),j.includes(P)){f();return}let l=[...j,P];S.delete("names");for(let q of l)S.append("names",q);return({result:q})=>{if(q.type==="success")z(E1,l,!0),z(c1,q.data?.presence??{},!0),z(a1,"Saved.");else if(q.type==="failure")z(h1,q.data?.error??"Request failed",!0);else if(q.type==="error")z(h1,"Network error. Try again.")}}};function XL(S){return s({setSaving:(f)=>z(H0,f,!0),setError:(f)=>z(h1,f,!0),setMsg:(f)=>z(a1,f,!0),onSuccess:(f)=>{z(E1,I(E1).filter((j)=>j!==S),!0),z(c1,f?.presence??{},!0)}})}let G0=x(F(Z.customEnvVarsEnabled)),az=x(!1),lI=x(null),VL=I1({set:(S)=>z(G0,S,!0),setSaving:(S)=>z(az,S,!0),setError:(S)=>z(lI,S,!0)}),e1=x(F([...Z.customEnvVarNames])),EI=x(""),cI=x(""),R0=x(!1),v1=x(null),A1=x(null),HL={onPending:(S)=>z(R0,S,!0),submit:({formData:S,cancel:f})=>{z(A1,null),z(v1,null);let j=String(S.get("name")??"").trim(),Q=String(S.get("value")??"");if(!j||!Q){z(A1,!j?"Name is required.":"Value is required.",!0),f();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(j)){z(A1,`Invalid variable name: ${j}`),f();return}return S.set("name",j),({result:P})=>{if(P.type==="success")z(e1,P.data?.names??I(e1),!0),z(EI,""),z(cI,""),z(v1,"Saved.");else if(P.type==="failure")z(A1,P.data?.error??"Request failed",!0);else if(P.type==="error")z(A1,"Network error. Try again.")}}};function GL(S){return s({setSaving:(f)=>z(R0,f,!0),setError:(f)=>z(A1,f,!0),setMsg:(f)=>z(v1,f,!0),onSuccess:(f)=>{z(e1,f?.names??I(e1).filter((j)=>j!==S),!0)}})}function RL(S){if(z(Y,S,!0),M8(S),F8(),S)B8("done")}function AL(S){z(W,S,!0),h8(S)}let NL={onPending:(S)=>z(K1,S,!0),submit:()=>{return z(Y1,null),({result:S})=>{if(S.type==="success"){z(Q1,S.data?.name?jz(S.data.name):void 0,!0);return}z(Y1,S.type==="failure"?S.data?.error??"Request failed":"Network error. Try again.",!0)}}};function DL(S){return s({setSaving:(f)=>z(K1,f,!0),setError:(f)=>z(Y1,f,!0),onSuccess:(f)=>{z(Q1,(f?.name?jz(f.name):void 0)??S,!0)}})}let PL={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}z(U1,!0)}};var ez=px(),gI=D1(ez),vz=y(gI);D8(vz,{children:(S,f)=>{var j=Jx();C(S,j)},$$slots:{default:!0}});var rz=L(vz,2),$z=y(rz);{var ML=(S)=>{var f=Wx(),j=y(f),Q=y(j),P=y(Q);FS(P,{size:20});var l=L(P,2),q=L(y(l),2),d=L(y(q)),o=H(d,!0),i=L(d,4),G=H(i,!0);X(3),w(q),w(l),w(Q),w(j),w(f),J(()=>{K(o,I(k1).origin),K(G,I(k1).tunnel)}),C(S,f)};D($z,(S)=>{if(I(k1))S(ML)})}var mI=L($z,2),r1=y(mI),sI=y(r1),UL=y(sI);xz(UL,{size:20}),X(2),w(sI);var iI=L(sI,2);U(iI);var oz=L(iI,2),F1=y(oz);let nz;var hL=y(F1);R8(hL,{size:15}),X(),w(F1);var g1=L(F1,2);let _z;var FL=y(g1);xz(FL,{size:15}),X(),w(g1),w(oz),w(r1),M1(r1,(S)=>C1=S,()=>C1),T(r1,()=>O(H1));var BL=L(r1,2);{var kL=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(e))),C(S,f)};D(BL,(S)=>{if(I(e))S(kL)})}w(mI);var tI=L(mI,2),$1=y(tI),dI=y($1),TL=y(dI);US(TL,{size:20}),X(2),w(dI);var uI=L(dI,2);U(uI);var Sw=L(uI,2);J1(Sw,20,()=>X8,(S)=>S,(S,f)=>{var j=wz();let Q;var P=H(j,!0);J(()=>{Q=Z1(j,1,"mode-btn svelte-1n6ht58",null,Q,{active:I(R1)===f}),$(j,"aria-pressed",I(R1)===f),j.disabled=I(G1),K(P,OS[f])}),t("click",j,()=>pS(f)),C(S,j)}),w(Sw),w($1),M1($1,(S)=>O1=S,()=>O1),T($1,()=>O(TS));var OL=L($1,2);{var pL=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(T1))),C(S,f)};D(OL,(S)=>{if(I(T1))S(pL)})}w(tI);var aI=L(tI,2),o1=y(aI),eI=y(o1),qL=y(eI);hS(qL,{size:20}),X(2),w(eI);var vI=L(eI,2);U(vI);var Iw=L(vI,2);J1(Iw,20,()=>V8,(S)=>S,(S,f)=>{var j=wz();let Q;var P=H(j,!0);J(()=>{Q=Z1(j,1,"mode-btn svelte-1n6ht58",null,Q,{active:I(p1)===f}),$(j,"aria-pressed",I(p1)===f),j.disabled=I(Jz),K(P,q8[f])}),t("click",j,()=>b8(f)),C(S,j)}),w(Iw),w(o1),M1(o1,(S)=>bS=S,()=>bS),T(o1,()=>O(p8));var bL=L(o1,2);{var lL=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(qS))),C(S,f)};D(bL,(S)=>{if(I(qS))S(lL)})}w(aI);var rI=L(aI,2),n1=y(rI),$I=y(n1),EL=y($I);T8(EL,{size:20}),X(2),w($I);var oI=L($I,2);U(oI);var fw=L(oI,2);J1(fw,20,()=>H8,(S)=>S,(S,f)=>{var j=wz();let Q;var P=H(j,!0);J(()=>{Q=Z1(j,1,"mode-btn svelte-1n6ht58",null,Q,{active:I(q1)===f}),$(j,"aria-pressed",I(q1)===f),j.disabled=I(Wz),K(P,E8[f])}),t("click",j,()=>c8(f)),C(S,j)}),w(fw),w(n1),M1(n1,(S)=>ES=S,()=>ES),T(n1,()=>O(l8));var cL=L(n1,2);{var gL=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(lS))),C(S,f)};D(cL,(S)=>{if(I(lS))S(gL)})}w(rI);var nI=L(rI,2),A0=y(nI),_I=y(A0),zw=y(_I);SS(zw,{size:20});var ww=L(zw,2),Lw=y(ww),mL=L(y(Lw));{var sL=(S)=>{var f=Kx(),j=H(f,!0);J(()=>K(j,Z.dockerArch)),C(S,f)};D(mL,(S)=>{if(Z.dockerArch)S(sL)})}w(Lw),X(2),w(ww),w(_I);var Sf=L(_I,2),If=y(Sf);U(If);var yw=L(If,2);a(yw,{type:"submit",get disabled(){return I(cS)},children:(S,f)=>{X();var j=m("Save");C(S,j)},$$slots:{default:!0}});var iL=L(yw,2);a(iL,{type:"button",get icon(){return kS},get disabled(){return I(cS)},onclick:m8,get title(){return`Reset to default (${Z.builtinImage??""})`},"aria-label":"Reset to default image"}),w(Sf);var ff=L(Sf,2),tL=y(ff);{var dL=(S)=>{var f=Yx(),j=L(D1(f)),Q=H(j,!0),P=L(j,2),l=H(P,!0);X(),J(()=>{K(Q,Z.dockerArch),K(l,Z.dockerArch)}),C(S,f)},uL=(S)=>{var f=m(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
|
|
42
|
+
fail.`);C(S,f)};D(tL,(S)=>{if(Z.dockerArch)S(dL);else S(uL,-1)})}w(ff);var aL=L(ff,2);{var eL=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(gS))),C(S,f)},vL=(S)=>{var f=BS();C(S,f)};D(aL,(S)=>{if(I(gS))S(eL);else if(I(mS))S(vL,1)})}w(A0),M1(A0,(S)=>sS=S,()=>sS),T(A0,()=>O(g8)),w(nI);var zf=L(nI,2),N0=y(zf),wf=y(N0),rL=y(wf);KS(rL,{size:20}),X(2),w(wf);var Lf=L(wf,2),yf=y(Lf);U(yf);var jw=L(yf,2);a(jw,{type:"submit",get disabled(){return I(iS)},children:(S,f)=>{X();var j=m("Save");C(S,j)},$$slots:{default:!0}});var $L=L(jw,2);a($L,{type:"button",get icon(){return kS},get disabled(){return I(iS)},onclick:i8,get title(){return`Reset to default (${Z.builtinCopyIgnore??""})`},"aria-label":"Reset to default copy-ignore patterns"}),w(Lf);var oL=L(Lf,2);{var nL=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(tS))),C(S,f)},_L=(S)=>{var f=BS();C(S,f)};D(oL,(S)=>{if(I(tS))S(nL);else if(I(dS))S(_L,1)})}w(N0),M1(N0,(S)=>uS=S,()=>uS),T(N0,()=>O(s8)),w(zf);var jf=L(zf,2),D0=y(jf),xf=y(D0),Sy=y(xf);WS(Sy,{size:20}),X(2),w(xf);var xw=L(xf,2),P0=y(xw);U(P0),X(2),w(xw),w(D0),T(D0,()=>O(o8));var Iy=L(D0,2);{var fy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(yI))),C(S,f)};D(Iy,(S)=>{if(I(yI))S(fy)})}w(jf);var Zf=L(jf,2),M0=y(Zf),Cf=y(M0),zy=y(Cf);YS(zy,{size:20}),X(2),w(Cf);var Qf=L(Cf,2),Jf=y(Qf);U(Jf);var Zw=L(Jf,2);a(Zw,{type:"submit",get disabled(){return I(aS)},children:(S,f)=>{X();var j=m("Save");C(S,j)},$$slots:{default:!0}});var wy=L(Zw,2);a(wy,{type:"button",get icon(){return kS},get disabled(){return I(aS)},onclick:d8,title:"Reset to default (~/.claude)","aria-label":"Reset to default Claude config directory"}),w(Qf);var Ly=L(Qf,2);{var yy=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(eS))),C(S,f)},jy=(S)=>{var f=BS();C(S,f)};D(Ly,(S)=>{if(I(eS))S(yy);else if(I(vS))S(jy,1)})}w(M0),M1(M0,(S)=>rS=S,()=>rS),T(M0,()=>O(t8)),w(Zf);var Wf=L(Zf,2),U0=y(Wf),Kf=y(U0),xy=y(Kf);PS(xy,{size:20}),X(2),w(Kf);var Cw=L(Kf,2),h0=y(Cw);U(h0),X(2),w(Cw),w(U0),T(U0,()=>O(u8));var Qw=L(U0,2);{var Zy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I($S))),C(S,f)};D(Qw,(S)=>{if(I($S))S(Zy)})}var Cy=L(Qw,2);{var Qy=(S)=>{var f=Xx(),j=D1(f),Q=L(y(j),2),P=y(Q),l=L(y(P),2);U(l),w(P);var q=L(P,2),d=y(q);a(d,{type:"button",onclick:()=>Vz("token",I(d1)),children:(E,n)=>{X();var _=m();J(()=>K(_,I(w0)==="token"?"Copied":"Copy token")),C(E,_)},$$slots:{default:!0}});var o=L(d,2);a(o,{type:"button",onclick:()=>Vz("command",I(Xz)),children:(E,n)=>{X();var _=m();J(()=>K(_,I(w0)==="command"?"Copied":"Copy claude mcp add")),C(E,_)},$$slots:{default:!0}});var i=L(o,2),G=y(i);a(G,{type:"submit",get disabled(){return I(oS)},children:(E,n)=>{X();var _=m();J(()=>K(_,I(oS)?"Regenerating…":"Regenerate")),C(E,_)},$$slots:{default:!0}}),w(i),T(i,()=>O(a8)),w(q);var M=L(q,2),h=H(M,!0),v=L(M,2);{var f1=(E)=>{var n=y1(),_=H(n,!0);J(()=>K(_,I(z0))),C(E,n)};D(v,(E)=>{if(I(z0))E(f1)})}w(Q),w(j);var x1=L(j,2),B=L(y(x1),2),g=y(B);U(g),X(2),w(B),w(x1),T(x1,()=>O(e8));var p=L(x1,2);{var L1=(E)=>{var n=S1(),_=y(n),N1=H(_,!0);w(n),J(()=>K(N1,I(_S))),C(E,n)};D(p,(E)=>{if(I(_S))E(L1)})}J(()=>{V1(l,I(d1)),K(h,I(Xz)),w1(g,I(nS)),g.disabled=I(Yz)}),Y8("focus",l,(E)=>E.currentTarget.select()),t("change",g,(E)=>{z(nS,E.currentTarget.checked,!0),E.currentTarget.form?.requestSubmit()}),C(S,f)};D(Cy,(S)=>{if(I(f0))S(Qy)})}w(Wf);var Yf=L(Wf,2),F0=y(Yf),Xf=y(F0),Jy=y(Xf);XS(Jy,{size:20}),X(2),w(Xf);var Jw=L(Xf,2),B0=y(Jw);U(B0),X(2),w(Jw),w(F0),T(F0,()=>O(v8));var Ww=L(F0,2);{var Wy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(SI))),C(S,f)};D(Ww,(S)=>{if(I(SI))S(Wy)})}var Ky=L(Ww,2);{var Yy=(S)=>{var f=Vx(),j=L(y(f),2),Q=y(j),P=L(y(Q),2);U(P),w(Q);var l=L(Q,2),q=L(y(l),2);U(q),w(l);var d=L(l,2),o=y(d);a(o,{type:"submit",get disabled(){return I(Gz)},children:(h,v)=>{X();var f1=m("Save");C(h,f1)},$$slots:{default:!0}}),w(d),w(j);var i=L(j,2);{var G=(h)=>{var v=y1(),f1=H(v,!0);J(()=>K(f1,I(II))),C(h,v)},M=(h)=>{var v=BS();C(h,v)};D(i,(h)=>{if(I(II))h(G);else if(I(fI))h(M,1)})}w(f),T(f,()=>O(r8)),u(P,()=>I(y0),(h)=>z(y0,h)),u(q,()=>I(j0),(h)=>z(j0,h)),C(S,f)};D(Ky,(S)=>{if(I(L0))S(Yy)})}w(Yf);var Vf=L(Yf,2),k0=y(Vf),Hf=y(k0),Xy=y(Hf);JS(Xy,{size:20}),X(2),w(Hf);var Kw=L(Hf,2),T0=y(Kw);U(T0),X(2),w(Kw),w(k0),T(k0,()=>O($8));var Yw=L(k0,2);{var Vy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(wI))),C(S,f)};D(Yw,(S)=>{if(I(wI))S(Vy)})}var O0=L(Yw,2),Gf=y(O0),Xw=y(Gf);B1(Xw,{size:20});var Vw=L(Xw,2),Hy=L(y(Vw),4);{var Gy=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(xI))),C(S,f)},Ry=(S)=>{var f=W1(),j=H(f,!0);J(()=>K(j,I(x0))),C(S,f)};D(Hy,(S)=>{if(I(xI))S(Gy);else if(I(x0))S(Ry,1)})}w(Vw),w(Gf);var Ay=L(Gf,2);a(Ay,{type:"submit",get icon(){return B1},get disabled(){return I(jI)},children:(S,f)=>{X();var j=m();J(()=>K(j,I(jI)?"Clearing…":"Clear cache")),C(S,j)},$$slots:{default:!0}}),w(O0),T(O0,()=>O(_8));var Rf=L(O0,2),Af=y(Rf),Hw=y(Af);_1(Hw,{size:20});var Gw=L(Hw,2),Ny=L(y(Gw),4);{var Dy=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(CI))),C(S,f)},Py=(S)=>{var f=W1(),j=H(f,!0);J(()=>K(j,I(Z0))),C(S,f)};D(Ny,(S)=>{if(I(CI))S(Dy);else if(I(Z0))S(Py,1)})}w(Gw),w(Af);var My=L(Af,2);a(My,{type:"submit",get icon(){return _1},get disabled(){return I(ZI)},children:(S,f)=>{X();var j=m();J(()=>K(j,I(ZI)?"Starting…":"Rebuild all")),C(S,j)},$$slots:{default:!0}}),w(Rf),T(Rf,()=>O(SL)),w(Vf);var p0=L(Vf,2);let Rw;var q0=y(p0),Nf=y(q0),Aw=y(Nf);S0(Aw,{size:20});var Nw=L(Aw,2),Df=y(Nw),Uy=L(y(Df));{var hy=(S)=>{var f=Hx();C(S,f)};D(Uy,(S)=>{if(I(j1))S(hy)})}w(Df);var Dw=L(Df,2),Fy=y(Dw);{var By=(S)=>{var f=m(`Not available while LiteLLM + Bedrock mode is enabled — Claude credentials are
|
|
43
|
+
provided by the LiteLLM endpoint instead.`);C(S,f)},ky=(S)=>{var f=m(`Provide GitHub and Claude Code tokens yourself instead of discovering them from this
|
|
44
|
+
machine. Useful on a headless server or when signed in as a different identity. A
|
|
45
|
+
token set here is injected into every new container and overrides host credential
|
|
46
|
+
discovery.`);C(S,f)};D(Fy,(S)=>{if(I(j1))S(By);else S(ky,-1)})}w(Dw),w(Nw),w(Nf);var Pw=L(Nf,2),b0=y(Pw);U(b0),X(2),w(Pw),w(q0),T(q0,()=>O(LL));var Mw=L(q0,2);{var Ty=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(GI))),C(S,f)};D(Mw,(S)=>{if(I(GI))S(Ty)})}var Oy=L(Mw,2);{var py=(S)=>{var f=Gx(),j=D1(f),Q=L(y(j),2),P=y(Q);U(P);var l=L(P,2);a(l,{type:"submit",get disabled(){return I(Uz)},children:(B,g)=>{X();var p=m("Save");C(B,p)},$$slots:{default:!0}}),w(Q);var q=L(Q,2);{var d=(B)=>{var g=y1(),p=H(g,!0);J(()=>K(p,I(NI))),C(B,g)},o=(B)=>{var g=W1(),p=H(g,!0);J(()=>K(p,I(Q0))),C(B,g)};D(q,(B)=>{if(I(NI))B(d);else if(I(Q0))B(o,1)})}w(j),T(j,()=>O(yL));var i=L(j,2),G=L(y(i),2),M=y(G);U(M);var h=L(M,2);a(h,{type:"submit",get disabled(){return I(hz)},children:(B,g)=>{X();var p=m("Save");C(B,p)},$$slots:{default:!0}}),w(G);var v=L(G,2);{var f1=(B)=>{var g=y1(),p=H(g,!0);J(()=>K(p,I(MI))),C(B,g)},x1=(B)=>{var g=W1(),p=H(g,!0);J(()=>K(p,I(J0))),C(B,g)};D(v,(B)=>{if(I(MI))B(f1);else if(I(J0))B(x1,1)})}w(i),T(i,()=>O(jL)),J(()=>{$(P,"placeholder",I(RI)?"•••••••• (saved)":"ghp_… / gho_…"),$(M,"placeholder",I(DI)?"•••••••• (saved)":"sk-ant-oat…")}),u(P,()=>I(AI),(B)=>z(AI,B)),u(M,()=>I(PI),(B)=>z(PI,B)),C(S,f)};D(Oy,(S)=>{if(I(u1)&&!I(j1))S(py)})}w(p0);var l0=L(p0,2);let Uw;var E0=y(l0),Pf=y(E0),hw=y(Pf);S0(hw,{size:20});var Fw=L(hw,2),Mf=y(Fw),qy=L(y(Mf));{var by=(S)=>{var f=Rx();J(()=>$(f,"title",`Disabled while ${I(l1)??""} is on`)),C(S,f)};D(qy,(S)=>{if(I(l1))S(by)})}w(Mf);var Bw=L(Mf,2),ly=y(Bw);{var Ey=(S)=>{var f=m();J(()=>K(f,`Not available while "${I(l1)??""}" is enabled — these modes are mutually
|
|
47
|
+
incompatible.`)),C(S,f)},cy=(S)=>{var f=Ax();X(2),C(S,f)};D(ly,(S)=>{if(I(l1))S(Ey);else S(cy,-1)})}w(Bw),w(Fw),w(Pf);var kw=L(Pf,2),c0=y(kw);U(c0),X(2),w(kw),w(E0),T(E0,()=>O(xL));var Tw=L(E0,2);{var gy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(UI))),C(S,f)};D(Tw,(S)=>{if(I(UI))S(gy)})}var my=L(Tw,2);{var sy=(S)=>{var f=Nx(),j=D1(f),Q=L(y(j),2),P=y(Q);U(P);var l=L(P,2);a(l,{type:"submit",get disabled(){return I(kz)},children:(k,r)=>{X();var z1=m("Save");C(k,z1)},$$slots:{default:!0}}),w(Q);var q=L(Q,2);{var d=(k)=>{var r=y1(),z1=H(r,!0);J(()=>K(z1,I(hI))),C(k,r)},o=(k)=>{var r=W1(),z1=H(r,!0);J(()=>K(z1,I(W0))),C(k,r)};D(q,(k)=>{if(I(hI))k(d);else if(I(W0))k(o,1)})}w(j),T(j,()=>O(ZL));var i=L(j,2),G=L(y(i),2),M=y(G);U(M);var h=L(M,2);a(h,{type:"submit",get disabled(){return I(Tz)},children:(k,r)=>{X();var z1=m("Save");C(k,z1)},$$slots:{default:!0}}),w(G);var v=L(G,2);{var f1=(k)=>{var r=y1(),z1=H(r,!0);J(()=>K(z1,I(kI))),C(k,r)},x1=(k)=>{var r=W1(),z1=H(r,!0);J(()=>K(z1,I(K0))),C(k,r)};D(v,(k)=>{if(I(kI))k(f1);else if(I(K0))k(x1,1)})}w(i),T(i,()=>O(CL));var B=L(i,2),g=L(y(B),2),p=y(g),L1=L(y(p),2);U(L1),w(p);var E=L(p,2),n=L(y(E),2);U(n),w(E);var _=L(E,2),N1=L(y(_),2);U(N1),w(_);var _f=L(_,2),L8=L(y(_f),2);U(L8),w(_f);var Sz=L(_f,2),y8=L(y(Sz),2);U(y8),w(Sz);var j8=L(Sz,2),kj=y(j8);a(kj,{type:"submit",get disabled(){return I(Ez)},children:(k,r)=>{X();var z1=m("Save models");C(k,z1)},$$slots:{default:!0}}),w(j8),w(g);var Tj=L(g,2);{var Oj=(k)=>{var r=y1(),z1=H(r,!0);J(()=>K(z1,I(TI))),C(k,r)},pj=(k)=>{var r=W1(),z1=H(r,!0);J(()=>K(z1,I(Y0))),C(k,r)};D(Tj,(k)=>{if(I(TI))k(Oj);else if(I(Y0))k(pj,1)})}w(B),T(B,()=>O(QL)),J(()=>$(M,"placeholder",I(BI)?"•••••••• (saved)":"sk-…")),u(P,()=>I(Bz),(k)=>z(Bz,k)),u(M,()=>I(FI),(k)=>z(FI,k)),u(L1,()=>I(Oz),(k)=>z(Oz,k)),u(n,()=>I(pz),(k)=>z(pz,k)),u(N1,()=>I(qz),(k)=>z(qz,k)),u(L8,()=>I(bz),(k)=>z(bz,k)),u(y8,()=>I(lz),(k)=>z(lz,k)),C(S,f)};D(my,(S)=>{if(I(j1))S(sy)})}w(l0);var g0=L(l0,2);let Ow;var m0=y(g0),Uf=y(m0),pw=y(Uf);VS(pw,{size:18});var qw=L(pw,2),hf=y(qw),iy=L(y(hf));{var ty=(S)=>{var f=Dx();C(S,f)};D(iy,(S)=>{if(I(j1))S(ty)})}w(hf);var bw=L(hf,2),dy=y(bw);{var uy=(S)=>{var f=m(`Not available while "LiteLLM + Bedrock" is enabled — these modes are mutually
|
|
48
|
+
incompatible.`);C(S,f)},ay=(S)=>{var f=Px();X(4),C(S,f)};D(dy,(S)=>{if(I(j1))S(uy);else S(ay,-1)})}w(bw),w(qw),w(Uf);var lw=L(Uf,2),s0=y(lw);U(s0),X(2),w(lw),w(m0),T(m0,()=>O(JL));var Ew=L(m0,2);{var ey=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(OI))),C(S,f)};D(Ew,(S)=>{if(I(OI))S(ey)})}var vy=L(Ew,2);{var ry=(S)=>{var f=Mx(),j=L(y(f),2),Q=y(j),P=L(y(Q),2);U(P),w(Q);var l=L(Q,2),q=L(y(l),2);U(q),w(l);var d=L(l,2),o=L(y(d),2);U(o),w(d);var i=L(d,2),G=L(y(i),2);U(G),w(i);var M=L(i,2),h=L(y(M),2);U(h),w(M);var v=L(M,2),f1=y(v);a(f1,{type:"submit",get disabled(){return I(dz)},children:(p,L1)=>{X();var E=m("Save models");C(p,E)},$$slots:{default:!0}}),w(v),w(j);var x1=L(j,2);{var B=(p)=>{var L1=y1(),E=H(L1,!0);J(()=>K(E,I(pI))),C(p,L1)},g=(p)=>{var L1=W1(),E=H(L1,!0);J(()=>K(E,I(X0))),C(p,L1)};D(x1,(p)=>{if(I(pI))p(B);else if(I(X0))p(g,1)})}w(f),T(f,()=>O(WL)),u(P,()=>I(gz),(p)=>z(gz,p)),u(q,()=>I(mz),(p)=>z(mz,p)),u(o,()=>I(sz),(p)=>z(sz,p)),u(G,()=>I(iz),(p)=>z(iz,p)),u(h,()=>I(tz),(p)=>z(tz,p)),C(S,f)};D(vy,(S)=>{if(I(b1))S(ry)})}w(g0);var Ff=L(g0,2),i0=y(Ff),Bf=y(i0),$y=y(Bf);HS($y,{size:20}),X(2),w(Bf);var cw=L(Bf,2),t0=y(cw);U(t0),X(2),w(cw),w(i0),T(i0,()=>O(KL));var gw=L(i0,2);{var oy=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(qI))),C(S,f)};D(gw,(S)=>{if(I(qI))S(oy)})}var ny=L(gw,2);{var _y=(S)=>{var f=hx(),j=y(f);J1(j,20,()=>I(E1),(G)=>G,(G,M)=>{var h=Ux(),v=y(h);J1(v,16,()=>I(E1).filter((n)=>n!==M),(n)=>n,(n,_)=>{var N1=W8();U(N1),J(()=>V1(N1,_)),C(n,N1)});var f1=L(v,2),x1=H(f1,!0),B=L(f1,2);let g;var p=H(B,!0),L1=L(B,2),E=y(L1);Zz(E,{size:13}),w(L1),w(h),T(h,()=>O(XL(M))),J(()=>{K(x1,M),g=Z1(B,1,"var-status svelte-1n6ht58",null,g,{present:I(c1)[M]}),$(B,"title",I(c1)[M]?"Set on this host — will be injected":"Not set on this host — will be skipped"),K(p,I(c1)[M]?"set":"missing"),L1.disabled=I(H0),$(L1,"aria-label",`Remove ${M}`)}),C(G,h)},(G)=>{var M=K8();C(G,M)}),w(j);var Q=L(j,2),P=y(Q);J1(P,16,()=>I(E1),(G)=>G,(G,M)=>{var h=W8();U(h),J(()=>V1(h,M)),C(G,h)});var l=L(P,2);U(l);var q=L(l,2);a(q,{type:"submit",get icon(){return Cz},get disabled(){return I(H0)},children:(G,M)=>{X();var h=m("Add");C(G,h)},$$slots:{default:!0}}),w(Q),T(Q,()=>O(YL));var d=L(Q,2);{var o=(G)=>{var M=y1(),h=H(M,!0);J(()=>K(h,I(h1))),C(G,M)},i=(G)=>{var M=W1(),h=H(M,!0);J(()=>K(h,I(a1))),C(G,M)};D(d,(G)=>{if(I(h1))G(o);else if(I(a1))G(i,1)})}w(f),u(l,()=>I(bI),(G)=>z(bI,G)),C(S,f)};D(ny,(S)=>{if(I(V0))S(_y)})}w(Ff);var kf=L(Ff,2),d0=y(kf),Tf=y(d0),Sj=y(Tf);GS(Sj,{size:20}),X(2),w(Tf);var mw=L(Tf,2),u0=y(mw);U(u0),X(2),w(mw),w(d0),T(d0,()=>O(VL));var sw=L(d0,2);{var Ij=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(lI))),C(S,f)};D(sw,(S)=>{if(I(lI))S(Ij)})}var fj=L(sw,2);{var zj=(S)=>{var f=Bx(),j=y(f);J1(j,20,()=>I(e1),(G)=>G,(G,M)=>{var h=Fx(),v=y(h);U(v);var f1=L(v,2),x1=H(f1,!0),B=L(f1,4),g=y(B);Zz(g,{size:13}),w(B),w(h),T(h,()=>O(GL(M))),J(()=>{V1(v,M),K(x1,M),B.disabled=I(R0),$(B,"aria-label",`Remove ${M}`)}),C(G,h)},(G)=>{var M=K8();C(G,M)}),w(j);var Q=L(j,2),P=y(Q);U(P);var l=L(P,2);U(l);var q=L(l,2);a(q,{type:"submit",get icon(){return Cz},get disabled(){return I(R0)},children:(G,M)=>{X();var h=m("Add");C(G,h)},$$slots:{default:!0}}),w(Q),T(Q,()=>O(HL));var d=L(Q,2);{var o=(G)=>{var M=y1(),h=H(M,!0);J(()=>K(h,I(A1))),C(G,M)},i=(G)=>{var M=W1(),h=H(M,!0);J(()=>K(h,I(v1))),C(G,M)};D(d,(G)=>{if(I(A1))G(o);else if(I(v1))G(i,1)})}w(f),u(P,()=>I(EI),(G)=>z(EI,G)),u(l,()=>I(cI),(G)=>z(cI,G)),C(S,f)};D(fj,(S)=>{if(I(G0))S(zj)})}w(kf);var Of=L(kf,2),iw=y(Of),pf=y(iw),wj=y(pf);LS(wj,{size:20}),X(2),w(pf);var Lj=L(pf,2);fz(Lj,{}),w(iw),w(Of);var qf=L(Of,2),tw=y(qf),bf=y(tw),yj=y(bf);fS(yj,{size:20}),X(2),w(bf);var dw=L(bf,2),lf=y(dw);U(lf),X(2),w(dw),w(tw),w(qf);var Ef=L(qf,2),uw=y(Ef),cf=y(uw),jj=y(cf);zS(jj,{size:20}),X(2),w(cf);var aw=L(cf,2),gf=y(aw);U(gf),X(2),w(aw),w(uw),w(Ef);var mf=L(Ef,2),a0=y(mf),sf=y(a0),xj=y(sf);wS(xj,{size:18}),X(2),w(sf);var ew=L(sf,2),e0=y(ew);U(e0),X(2),w(ew),w(a0),T(a0,()=>O(NL));var vw=L(a0,2);{var Zj=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(Y1))),C(S,f)};D(vw,(S)=>{if(I(Y1))S(Zj)})}var Cj=L(vw,2);{var Qj=(S)=>{var f=Tx();J1(f,21,()=>G8,(j)=>j.name,(j,Q)=>{var P=kx(),l=y(P);U(l);var q=L(l,2);let d;var o=y(q);MS(o,{get art(){return I(Q)},get name(){return I(Q).name},scale:4}),w(q),w(P),T(P,()=>O(DL(I(Q)))),J(()=>{V1(l,I(Q).name),d=Z1(q,1,"pet svelte-1n6ht58",null,d,{selected:I(Q).name===I(Q1).name}),q.disabled=I(K1),$(q,"title",I(Q).name),$(q,"aria-label",I(Q).name),$(q,"aria-pressed",I(Q).name===I(Q1).name)}),C(j,P)}),w(f),C(S,f)};D(Cj,(S)=>{if(I(Q1))S(Qj)})}w(mf);var tf=L(mf,2),rw=y(tf),df=y(rw),Jj=y(df);RS(Jj,{size:20}),X(4),w(df);var v0=L(df,2),uf=y(v0),Wj=y(uf);AS(Wj,{size:20}),X(2),w(uf);var $w=L(uf,2),r0=y($w);U(r0),X(2),w($w),w(v0),T(v0,()=>O(IL));var ow=L(v0,2);{var Kj=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(JI))),C(S,f)};D(ow,(S)=>{if(I(JI))S(Kj)})}var $0=L(ow,2),af=y($0),Yj=y(af);NS(Yj,{size:20}),X(2),w(af);var nw=L(af,2),o0=y(nw);U(o0),X(2),w(nw),w($0),T($0,()=>O(fL));var _w=L($0,2);{var Xj=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(KI))),C(S,f)};D(_w,(S)=>{if(I(KI))S(Xj)})}var n0=L(_w,2),ef=y(n0),Vj=y(ef);DS(Vj,{size:20}),X(2),w(ef);var S8=L(ef,2),_0=y(S8);U(_0),X(2),w(S8),w(n0),T(n0,()=>O(zL));var I8=L(n0,2);{var Hj=(S)=>{var f=S1(),j=y(f),Q=H(j,!0);w(f),J(()=>K(Q,I(XI))),C(S,f)};D(I8,(S)=>{if(I(XI))S(Hj)})}var vf=L(I8,2),rf=y(vf),f8=y(rf);B1(f8,{size:20});var z8=L(f8,2),Gj=L(y(z8),4);{var Rj=(S)=>{var f=y1(),j=H(f,!0);J(()=>K(j,I(HI))),C(S,f)},Aj=(S)=>{var f=W1(),j=H(f,!0);J(()=>K(j,I(C0))),C(S,f)};D(Gj,(S)=>{if(I(HI))S(Rj);else if(I(C0))S(Aj,1)})}w(z8),w(rf);var Nj=L(rf,2);a(Nj,{type:"submit",get icon(){return B1},get disabled(){return I(VI)},children:(S,f)=>{X();var j=m();J(()=>K(j,I(VI)?"Clearing…":"Clear cache")),C(S,j)},$$slots:{default:!0}}),w(vf),T(vf,()=>O(wL)),w(rw),w(tf);var $f=L(tf,2),of=y($f),nf=y(of),Dj=y(nf);IS(Dj,{size:20}),X(2),w(nf);var Pj=L(nf,2);{var Mj=(S)=>{var f=Ox();C(S,f)},Uj=(S)=>{a(S,{type:"submit",variant:"danger",children:(f,j)=>{X();var Q=m("Delete & shut down");C(f,Q)},$$slots:{default:!0}})};D(Pj,(S)=>{if(I(U1))S(Mj);else S(Uj,-1)})}w(of),T(of,()=>O(PL)),w($f);var w8=L($f,2);zz(w8,{});var hj=L(w8,2),Fj=H(hj);w(rz),w(gI);var Bj=L(gI,2);N8(Bj,{get toastOptions(){return k8}}),J(()=>{V1(iI,I(X1)),nz=Z1(F1,1,"mode-btn svelte-1n6ht58",null,nz,{active:I(X1)==="ide"}),$(F1,"aria-pressed",I(X1)==="ide"),F1.disabled=I(m1),_z=Z1(g1,1,"mode-btn svelte-1n6ht58",null,_z,{active:I(X1)==="terminal"}),$(g1,"aria-pressed",I(X1)==="terminal"),g1.disabled=I(m1),V1(uI,I(R1)),V1(vI,I(p1)),V1(oI,I(q1)),w1(P0,I(LI)),P0.disabled=I(Az),w1(h0,I(f0)),h0.disabled=I(Kz),w1(B0,I(L0)),B0.disabled=I(Hz),w1(T0,I(zI)),T0.disabled=I(Rz),Rw=Z1(p0,1,"card svelte-1n6ht58",null,Rw,{"disabled-card":I(j1)}),w1(b0,I(u1)),b0.disabled=I(Mz)||I(j1),Uw=Z1(l0,1,"card svelte-1n6ht58",null,Uw,{"disabled-card":I(l1)}),w1(c0,I(j1)),c0.disabled=I(Fz)||!!I(l1),Ow=Z1(g0,1,"card svelte-1n6ht58",null,Ow,{"disabled-card":I(j1)}),w1(s0,I(b1)),s0.disabled=I(cz)||I(j1),w1(t0,I(V0)),t0.disabled=I(uz),w1(u0,I(G0)),u0.disabled=I(az),w1(lf,I(Y)),w1(gf,I(W)),w1(e0,!!I(Q1)),e0.disabled=I(K1),w1(r0,I(QI)),r0.disabled=I(Nz),w1(o0,I(WI)),o0.disabled=I(Dz),w1(_0,I(YI)),_0.disabled=I(Pz),K(Fj,`Codebay v${Z.version??""}`)}),t("click",F1,()=>I0("ide")),t("click",g1,()=>I0("terminal")),u(If,()=>I(s1),(S)=>z(s1,S)),u(yf,()=>I(i1),(S)=>z(i1,S)),t("change",P0,(S)=>{z(LI,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),u(Jf,()=>I(t1),(S)=>z(t1,S)),t("change",h0,(S)=>{z(f0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",B0,(S)=>{z(L0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",T0,(S)=>{z(zI,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",b0,(S)=>{z(u1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",c0,(S)=>{z(j1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",s0,(S)=>{z(b1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",t0,(S)=>{z(V0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",u0,(S)=>{z(G0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",lf,(S)=>RL(S.currentTarget.checked)),t("change",gf,(S)=>AL(S.currentTarget.checked)),t("change",e0,(S)=>S.currentTarget.form?.requestSubmit()),t("change",r0,(S)=>{z(QI,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",o0,(S)=>{z(WI,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),t("change",_0,(S)=>{z(YI,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),C(V,ez),CS()}QS(["click","change"]);O8("SettingsView_8hmarwmf8onq",Qz);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"/_mochi/client/chunk-
|
|
1
|
+
import"/_mochi/client/chunk-sxcr9gzp.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as o}from"/_mochi/client/chunk-3jqc40sp.js";import{ob as e,pb as t}from"/_mochi/client/chunk-3pgw6t5j.js";var d=new Set(["$$slots","$$events","$$legacy"]);function r(s,i){let p=e(i,d),c={name:"bot",size:24,node:[["path",{d:"M12 8V4H8"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"}],["path",{d:"M2 14h2"}],["path",{d:"M20 14h2"}],["path",{d:"M15 13v2"}],["path",{d:"M9 13v2"}]]};o(s,t(()=>p,{get icon(){return c}}))}export{r as i};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Q as p}from"/_mochi/client/chunk-3jqc40sp.js";import{ob as c,pb as t}from"/_mochi/client/chunk-3pgw6t5j.js";var y=new Set(["$$slots","$$events","$$legacy"]);function $(o,r){let i=c(r,y),e={name:"layout-template",size:24,node:[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1"}]]};p(o,t(()=>i,{get icon(){return e}}))}var n=new Set(["$$slots","$$events","$$legacy"]);function d(o,r){let i=c(r,n),e={name:"plus",size:24,node:[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]]};p(o,t(()=>i,{get icon(){return e}}))}function s(){if(typeof localStorage>"u")return!0;return localStorage.getItem("codebay.sound")!=="off"}function P(o){if(typeof localStorage>"u")return;localStorage.setItem("codebay.sound",o?"on":"off")}var f="codebay.tabShortcuts";function q(){if(typeof localStorage>"u")return!0;return localStorage.getItem(f)!=="off"}function F(o){if(typeof localStorage>"u")return;localStorage.setItem(f,o?"on":"off")}var u={done:"/sounds/done.wav",waiting:"/sounds/waiting.wav"},x={},h=!1;function I(o){if(typeof window>"u")return null;let r=x[o];if(!r)r=new Audio(u[o]),r.preload="auto",x[o]=r;return r}function N(){if(h||typeof window>"u")return;h=!0;for(let o of Object.keys(u)){let r=I(o);if(!r)continue;let{volume:i}=r;r.volume=0,r.play().then(()=>{r.pause(),r.currentTime=0,r.volume=i}).catch(()=>{r.volume=i})}}function Q(o){if(!s()){console.log(`[chime] playChime(${o}) — skipped (sound disabled in settings)`);return}let r=I(o);if(!r){console.log(`[chime] playChime(${o}) — no audio element (SSR/no window?)`);return}if(!h)console.warn(`[chime] playChime(${o}) — audio not yet unlocked; browser may block until the page is interacted with`);r.currentTime=0,r.play().then(()=>console.log(`[chime] playChime(${o}) — playing`)).catch((i)=>console.warn(`[chime] playChime(${o}) — play rejected:`,i?.message??i))}
|
|
2
|
+
export{$ as j,d as k,s as l,P as m,q as n,F as o,N as p,Q as q};
|