codebay 0.16.1 → 0.16.2
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 +26 -26
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-hw072vmr.js +2 -0
- package/.mochi/svelte-compile/{App-8mpgrxza.server.js → App-c6ss9eb1.server.js} +6 -4
- package/package.json +1 -1
- package/src/components/DashboardView.svelte +9 -3
- package/src/components/TopBar.svelte +2 -1
- package/src/lib/instances.server.ts +3 -1
- package/src/routes.ts +3 -2
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-nv6yzk0x.js +0 -2
package/.mochi/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"assetPrefix": "/_mochi",
|
|
4
4
|
"bootstrapUrl": "/_mochi/client/HydratableIsland-6y9p903x.js",
|
|
5
5
|
"componentEntryUrls": {
|
|
6
|
-
"AppShell_2rtnxn6pgp2rh": "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-
|
|
6
|
+
"AppShell_2rtnxn6pgp2rh": "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-hw072vmr.js",
|
|
7
7
|
"InstanceView_2ma45l9bybfhl": "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-vjt4jscf.js",
|
|
8
8
|
"AvatarsView_257s9yq1wwr4f": "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-ry83ck8a.js",
|
|
9
9
|
"SettingsView_8hmarwmf8onq": "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-1jdrk8x6.js"
|
|
@@ -22,32 +22,32 @@
|
|
|
22
22
|
"src/components/IdeLoader.svelte": "/_mochi/css/IdeLoader-26rlko8e00j3g.css",
|
|
23
23
|
"src/components/DropZone.svelte": "/_mochi/css/DropZone-1zeitd761uwyd.css",
|
|
24
24
|
"node_modules/svelte-french-toast/dist/components/CheckmarkIcon.svelte": "/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css",
|
|
25
|
+
"node_modules/svelte-french-toast/dist/components/ToastIcon.svelte": "/_mochi/css/ToastIcon-2z5wrkc95khg0.css",
|
|
25
26
|
"node_modules/svelte-french-toast/dist/components/Toaster.svelte": "/_mochi/css/Toaster-kk60j193854n.css",
|
|
26
27
|
"node_modules/svelte-french-toast/dist/components/LoaderIcon.svelte": "/_mochi/css/LoaderIcon-soq5wt3p05ye.css",
|
|
27
|
-
"node_modules/svelte-french-toast/dist/components/ToastIcon.svelte": "/_mochi/css/ToastIcon-2z5wrkc95khg0.css",
|
|
28
28
|
"node_modules/svelte-french-toast/dist/components/ErrorIcon.svelte": "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css",
|
|
29
29
|
"node_modules/svelte-french-toast/dist/components/ToastBar.svelte": "/_mochi/css/ToastBar-3havgkmtofntq.css",
|
|
30
30
|
"src/components/Skeleton.svelte": "/_mochi/css/Skeleton-8k69usiju43h.css",
|
|
31
|
-
"src/components/HealthBox.svelte": "/_mochi/css/HealthBox-r0giuhjn2wj4.css",
|
|
32
31
|
"src/components/AgentLogBox.svelte": "/_mochi/css/AgentLogBox-38adby5iygny7.css",
|
|
33
32
|
"src/components/StatusBadge.svelte": "/_mochi/css/StatusBadge-2eisdtnrsnfdc.css",
|
|
34
|
-
"src/components/
|
|
33
|
+
"src/components/HealthBox.svelte": "/_mochi/css/HealthBox-r0giuhjn2wj4.css",
|
|
35
34
|
"src/components/AppBar.svelte": "/_mochi/css/AppBar-1gtu2me3fni8e.css",
|
|
35
|
+
"src/components/AvatarEditor.svelte": "/_mochi/css/AvatarEditor-1mjvec6bwdkv8.css",
|
|
36
36
|
"src/components/Avatar.svelte": "/_mochi/css/Avatar-3pi30db6ozvf0.css",
|
|
37
37
|
"src/components/Button.svelte": "/_mochi/css/Button-208u50wkms8ya.css",
|
|
38
38
|
"src/components/ThemePicker.svelte": "/_mochi/css/ThemePicker-3fw4synubier0.css",
|
|
39
39
|
"src/components/CoinButton.svelte": "/_mochi/css/CoinButton-2727devjtsn10.css",
|
|
40
40
|
"src/components/TerminalPane.svelte": "/_mochi/css/TerminalPane-2ywc86rhtmr9l.css",
|
|
41
|
-
"src/components/TopBar.svelte": "/_mochi/css/TopBar-2y76zxwehrfos.css",
|
|
42
|
-
"src/components/InstanceCard.svelte": "/_mochi/css/InstanceCard-3vxozrp9uoads.css",
|
|
43
41
|
"src/components/FolderBrowser.svelte": "/_mochi/css/FolderBrowser-i0uj58dph27f.css",
|
|
44
|
-
"
|
|
42
|
+
"src/components/InstanceCard.svelte": "/_mochi/css/InstanceCard-3vxozrp9uoads.css",
|
|
43
|
+
"src/components/TopBar.svelte": "/_mochi/css/TopBar-2y76zxwehrfos.css",
|
|
45
44
|
"node_modules/svelte-french-toast/dist/components/ToastMessage.svelte": "/_mochi/css/ToastMessage-2jfwb2og2lfa8.css",
|
|
46
|
-
"
|
|
45
|
+
"node_modules/svelte-french-toast/dist/components/ToastWrapper.svelte": "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css",
|
|
47
46
|
"src/components/SettingsCog.svelte": "/_mochi/css/SettingsCog-1jdeprd3ilczz.css",
|
|
47
|
+
"src/components/CredMenu.svelte": "/_mochi/css/CredMenu-7qowd1oxujet.css",
|
|
48
48
|
"src/components/InstanceFilter.svelte": "/_mochi/css/InstanceFilter-2vglmyy0yrbbc.css",
|
|
49
|
-
"src/components/PortsBox.svelte": "/_mochi/css/PortsBox-1t25b5yg7jva3.css",
|
|
50
49
|
"src/components/Brand.svelte": "/_mochi/css/Brand-1bh2b800g5vrn.css",
|
|
50
|
+
"src/components/PortsBox.svelte": "/_mochi/css/PortsBox-1t25b5yg7jva3.css",
|
|
51
51
|
"src/components/BranchBox.svelte": "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css"
|
|
52
52
|
},
|
|
53
53
|
"clientFiles": {
|
|
@@ -64,32 +64,32 @@
|
|
|
64
64
|
"/_mochi/css/IdeLoader-26rlko8e00j3g.css": "svelte-css/IdeLoader-26rlko8e00j3g.css",
|
|
65
65
|
"/_mochi/css/DropZone-1zeitd761uwyd.css": "svelte-css/DropZone-1zeitd761uwyd.css",
|
|
66
66
|
"/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css": "svelte-css/CheckmarkIcon-3qlazj2oc50jc.css",
|
|
67
|
+
"/_mochi/css/ToastIcon-2z5wrkc95khg0.css": "svelte-css/ToastIcon-2z5wrkc95khg0.css",
|
|
67
68
|
"/_mochi/css/Toaster-kk60j193854n.css": "svelte-css/Toaster-kk60j193854n.css",
|
|
68
69
|
"/_mochi/css/LoaderIcon-soq5wt3p05ye.css": "svelte-css/LoaderIcon-soq5wt3p05ye.css",
|
|
69
|
-
"/_mochi/css/ToastIcon-2z5wrkc95khg0.css": "svelte-css/ToastIcon-2z5wrkc95khg0.css",
|
|
70
70
|
"/_mochi/css/ErrorIcon-2x0tzsqxskw28.css": "svelte-css/ErrorIcon-2x0tzsqxskw28.css",
|
|
71
71
|
"/_mochi/css/ToastBar-3havgkmtofntq.css": "svelte-css/ToastBar-3havgkmtofntq.css",
|
|
72
72
|
"/_mochi/css/Skeleton-8k69usiju43h.css": "svelte-css/Skeleton-8k69usiju43h.css",
|
|
73
|
-
"/_mochi/css/HealthBox-r0giuhjn2wj4.css": "svelte-css/HealthBox-r0giuhjn2wj4.css",
|
|
74
73
|
"/_mochi/css/AgentLogBox-38adby5iygny7.css": "svelte-css/AgentLogBox-38adby5iygny7.css",
|
|
75
74
|
"/_mochi/css/StatusBadge-2eisdtnrsnfdc.css": "svelte-css/StatusBadge-2eisdtnrsnfdc.css",
|
|
76
|
-
"/_mochi/css/
|
|
75
|
+
"/_mochi/css/HealthBox-r0giuhjn2wj4.css": "svelte-css/HealthBox-r0giuhjn2wj4.css",
|
|
77
76
|
"/_mochi/css/AppBar-1gtu2me3fni8e.css": "svelte-css/AppBar-1gtu2me3fni8e.css",
|
|
77
|
+
"/_mochi/css/AvatarEditor-1mjvec6bwdkv8.css": "svelte-css/AvatarEditor-1mjvec6bwdkv8.css",
|
|
78
78
|
"/_mochi/css/Avatar-3pi30db6ozvf0.css": "svelte-css/Avatar-3pi30db6ozvf0.css",
|
|
79
79
|
"/_mochi/css/Button-208u50wkms8ya.css": "svelte-css/Button-208u50wkms8ya.css",
|
|
80
80
|
"/_mochi/css/ThemePicker-3fw4synubier0.css": "svelte-css/ThemePicker-3fw4synubier0.css",
|
|
81
81
|
"/_mochi/css/CoinButton-2727devjtsn10.css": "svelte-css/CoinButton-2727devjtsn10.css",
|
|
82
82
|
"/_mochi/css/TerminalPane-2ywc86rhtmr9l.css": "svelte-css/TerminalPane-2ywc86rhtmr9l.css",
|
|
83
|
-
"/_mochi/css/TopBar-2y76zxwehrfos.css": "svelte-css/TopBar-2y76zxwehrfos.css",
|
|
84
|
-
"/_mochi/css/InstanceCard-3vxozrp9uoads.css": "svelte-css/InstanceCard-3vxozrp9uoads.css",
|
|
85
83
|
"/_mochi/css/FolderBrowser-i0uj58dph27f.css": "svelte-css/FolderBrowser-i0uj58dph27f.css",
|
|
86
|
-
"/_mochi/css/
|
|
84
|
+
"/_mochi/css/InstanceCard-3vxozrp9uoads.css": "svelte-css/InstanceCard-3vxozrp9uoads.css",
|
|
85
|
+
"/_mochi/css/TopBar-2y76zxwehrfos.css": "svelte-css/TopBar-2y76zxwehrfos.css",
|
|
87
86
|
"/_mochi/css/ToastMessage-2jfwb2og2lfa8.css": "svelte-css/ToastMessage-2jfwb2og2lfa8.css",
|
|
88
|
-
"/_mochi/css/
|
|
87
|
+
"/_mochi/css/ToastWrapper-1fbnym10rm2nv.css": "svelte-css/ToastWrapper-1fbnym10rm2nv.css",
|
|
89
88
|
"/_mochi/css/SettingsCog-1jdeprd3ilczz.css": "svelte-css/SettingsCog-1jdeprd3ilczz.css",
|
|
89
|
+
"/_mochi/css/CredMenu-7qowd1oxujet.css": "svelte-css/CredMenu-7qowd1oxujet.css",
|
|
90
90
|
"/_mochi/css/InstanceFilter-2vglmyy0yrbbc.css": "svelte-css/InstanceFilter-2vglmyy0yrbbc.css",
|
|
91
|
-
"/_mochi/css/PortsBox-1t25b5yg7jva3.css": "svelte-css/PortsBox-1t25b5yg7jva3.css",
|
|
92
91
|
"/_mochi/css/Brand-1bh2b800g5vrn.css": "svelte-css/Brand-1bh2b800g5vrn.css",
|
|
92
|
+
"/_mochi/css/PortsBox-1t25b5yg7jva3.css": "svelte-css/PortsBox-1t25b5yg7jva3.css",
|
|
93
93
|
"/_mochi/css/BranchBox-1yqu1q2mgnjwz.css": "svelte-css/BranchBox-1yqu1q2mgnjwz.css",
|
|
94
94
|
"/_mochi/import-css/index-0nwv3654.css": "import-css/index-0nwv3654.css",
|
|
95
95
|
"/_mochi/import-css/index-xndx4980.css": "import-css/index-xndx4980.css",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"/_mochi/client/chunk-3jqc40sp.js": "svelte-client/chunk-3jqc40sp.js",
|
|
106
106
|
"/_mochi/client/chunk-3pgw6t5j.js": "svelte-client/chunk-3pgw6t5j.js",
|
|
107
107
|
"/_mochi/client/chunk-sxcr9gzp.js": "svelte-client/chunk-sxcr9gzp.js",
|
|
108
|
-
"/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-
|
|
108
|
+
"/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-hw072vmr.js": "svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-hw072vmr.js",
|
|
109
109
|
"/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-vjt4jscf.js": "svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-vjt4jscf.js",
|
|
110
110
|
"/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-ry83ck8a.js": "svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-ry83ck8a.js",
|
|
111
111
|
"/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-1jdrk8x6.js": "svelte-client/_hydrate-SettingsView_8hmarwmf8onq-1jdrk8x6.js",
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
]
|
|
130
130
|
},
|
|
131
131
|
"src/pages/App.svelte": {
|
|
132
|
-
"ssrModule": "svelte-compile/App-
|
|
132
|
+
"ssrModule": "svelte-compile/App-c6ss9eb1.server.js",
|
|
133
133
|
"hydratables": [
|
|
134
134
|
{
|
|
135
135
|
"name": "AppShell_2rtnxn6pgp2rh",
|
|
@@ -997,8 +997,8 @@
|
|
|
997
997
|
"imports": []
|
|
998
998
|
},
|
|
999
999
|
{
|
|
1000
|
-
"name": "_hydrate-AppShell_2rtnxn6pgp2rh-
|
|
1001
|
-
"size":
|
|
1000
|
+
"name": "_hydrate-AppShell_2rtnxn6pgp2rh-hw072vmr.js",
|
|
1001
|
+
"size": 57428,
|
|
1002
1002
|
"inputs": [
|
|
1003
1003
|
{
|
|
1004
1004
|
"path": "src/components/AppShell.svelte",
|
|
@@ -1018,7 +1018,7 @@
|
|
|
1018
1018
|
},
|
|
1019
1019
|
{
|
|
1020
1020
|
"path": "src/components/DashboardView.svelte",
|
|
1021
|
-
"size":
|
|
1021
|
+
"size": 4265
|
|
1022
1022
|
},
|
|
1023
1023
|
{
|
|
1024
1024
|
"path": "src/components/TerminalPane.svelte",
|
|
@@ -1029,12 +1029,12 @@
|
|
|
1029
1029
|
"size": 2425
|
|
1030
1030
|
},
|
|
1031
1031
|
{
|
|
1032
|
-
"path": "src/components/
|
|
1033
|
-
"size":
|
|
1032
|
+
"path": "src/components/TopBar.svelte",
|
|
1033
|
+
"size": 1840
|
|
1034
1034
|
},
|
|
1035
1035
|
{
|
|
1036
|
-
"path": "src/components/
|
|
1037
|
-
"size":
|
|
1036
|
+
"path": "src/components/CredMenu.svelte",
|
|
1037
|
+
"size": 1782
|
|
1038
1038
|
},
|
|
1039
1039
|
{
|
|
1040
1040
|
"path": "node_modules/svelte/src/reactivity/url.js",
|
|
@@ -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 se,R as It,S as nt,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 Y,Ia as We,Ja as u,La as Ae,Ma as Et,Na as d,Oa as qt,Pa as q,Qa as b,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 X,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 E,ma as r,na as De,oa as pe,ob as ce,pb as de,qa as m,qb as Le,ra as be,rb as Ki,sa as re,ta as c,ua as we,ub as Ni,wb as ki,xa as P,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 jt extends Date{#e=E(super.getTime());#t=new Map;#i=kt;constructor(...i){super(...i);if(!hi)this.#a()}#a(){hi=!0;var i=jt.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(...f){if(f.length>0)return e(this.#e),t[l].apply(this,f);var x=this.#t.get(l);if(x===void 0){let v=kt;Xt(this.#i),x=C(()=>{return e(this.#e),t[l].apply(this,f)}),this.#t.set(l,x),Xt(v)}return e(x)};if(l.startsWith("set"))i[l]=function(...f){var x=t[l].apply(this,f);return r(this.#e,t.getTime.call(this)),x}}}}var ji=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],$i=["difference","intersection","symmetricDifference","union"],xi=!1;class je extends Set{#e=new Map;#t=E(0);#i=E(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?E(i):Mt(i)}#r(){xi=!0;var i=je.prototype,t=Set.prototype;for(let a of ji)i[a]=function(...l){return e(this.#t),t[a].apply(this,l)};for(let a of $i)i[a]=function(...l){e(this.#t);var f=t[a].apply(this,l);return new je(f)}}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=E(0);#i=E(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?E(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),f=super.get(i),x=super.set(i,t),v=this.#t;if(l===void 0)l=this.#l(0),a.set(i,l),r(this.#i,super.size),De(v);else if(f!==t){De(l);var y=v.reactions===null?null:new Set(v.reactions),M=y===null||!l.reactions?.every((O)=>y.has(O));if(M)De(v)}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=E(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((f,x)=>f!==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 $t=null;function Si(){return $t}class Ii extends URL{#e=E(super.protocol);#t=E(super.username);#i=E(super.password);#a=E(super.hostname);#l=E(super.port);#r=E(super.pathname);#f=E(super.hash);#n=E(super.search);#c;constructor(i,t){i=new URL(i,t);super(i);$t=this,this.#c=new zt(i.searchParams),$t=null}get hash(){return e(this.#f)}set hash(i){super.hash=i,r(this.#f,super.hash)}get host(){return e(this.#a),e(this.#l),super.host}set host(i){super.host=i,r(this.#a,super.hostname),r(this.#l,super.port)}get hostname(){return e(this.#a)}set hostname(i){super.hostname=i,r(this.#a,super.hostname)}get href(){return e(this.#e),e(this.#t),e(this.#i),e(this.#a),e(this.#l),e(this.#r),e(this.#f),e(this.#n),super.href}set href(i){super.href=i,r(this.#e,super.protocol),r(this.#t,super.username),r(this.#i,super.password),r(this.#a,super.hostname),r(this.#l,super.port),r(this.#r,super.pathname),r(this.#f,super.hash),r(this.#n,super.search),this.#c[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.#n)}set search(i){super.search=i,r(this.#n,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 f=_i(Number(t),a);return f<a?f:null}}}var yi=/^[A-Za-z0-9._-]+$/;function ea(i){let t=i.trim();if(!t)return null;let a,l,f=t.match(/^[A-Za-z0-9._-]+@([A-Za-z0-9.-]+):(.+)$/);if(f)a=f[1],l=f[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)){let M;try{M=new URL(t)}catch{return null}if(M.protocol!=="http:"&&M.protocol!=="https:"&&M.protocol!=="ssh:")return null;a=M.hostname,l=M.pathname}else{let M=t.match(/^([A-Za-z0-9-]+\.[A-Za-z0-9.-]+)\/(.+)$/);if(!M)return null;a=M[1],l=M[2]}if(!a||!l)return null;let x=l.replace(/\.git$/i,"").split("/").filter(Boolean),[v,y]=x;if(!v||!y||!yi.test(v)||!yi.test(y))return null;return{host:a,owner:v,repo:y,cloneUrl:`https://${a}/${v}/${y}.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=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var ia=new Set(["$$slots","$$events","$$legacy"]);function gt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var aa=new Set(["$$slots","$$events","$$legacy"]);function Tt(i,t){let a=ce(t,aa),l={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]]};se(i,de(()=>a,{get icon(){return l}}))}var la=new Set(["$$slots","$$events","$$legacy"]);function Dt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var ra=new Set(["$$slots","$$events","$$legacy"]);function ut(i,t){let a=ce(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"]};se(i,de(()=>a,{get icon(){return l}}))}var fa=u('<div class="recent-row svelte-oq97c4"><button class="recent-pick svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="recent-text svelte-oq97c4"><span class="recent-name svelte-oq97c4"> </span> <span class="recent-path svelte-oq97c4"> </span></span></button> <button class="recent-x svelte-oq97c4" title="Remove from history"><!></button></div>'),na=u('<button class="recent-toggle svelte-oq97c4"> </button>'),ca=u('<div class="recent svelte-oq97c4"><div class="recent-label svelte-oq97c4">Recent</div> <!> <!></div>'),da=u('<div class="muted svelte-oq97c4">Loading…</div>'),sa=u('<div class="muted err svelte-oq97c4"> </div>'),oa=u('<div class="row svelte-oq97c4"><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4">..</span></button></div>'),ma=u('<div class="muted svelte-oq97c4"> </div>'),ga=u('<span class="badge svelte-oq97c4">devcontainer</span>'),ua=u('<div><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4"> </span> <!></button> <button class="pick-inline svelte-oq97c4">Select</button></div>'),va=u("<!> <!> <!>",1),ha=u(`<div class="warn svelte-oq97c4"><!> <span>No <code class="svelte-oq97c4">devcontainer.json</code> in this folder — a default image will be used if you select
|
|
2
|
+
it.</span></div>`),xa=u('<div class="overlay svelte-oq97c4" role="button" tabindex="0"><div class="modal panel svelte-oq97c4" role="dialog" aria-modal="true" aria-label="Pick a project folder" tabindex="-1"><div class="head svelte-oq97c4"><h2 class="svelte-oq97c4">Pick a project folder</h2> <button class="x svelte-oq97c4" aria-label="Close"><!></button></div> <div class="mode svelte-oq97c4"><div class="mode-label svelte-oq97c4">Editor</div> <div class="mode-toggle svelte-oq97c4" role="group" aria-label="Editor mode"><button type="button"><!> Full IDE</button> <button type="button"><!> Terminal</button></div></div> <div class="clone svelte-oq97c4"><div class="clone-label svelte-oq97c4">Clone a Git repository</div> <div class="clone-row svelte-oq97c4"><input class="clone-url svelte-oq97c4" type="text" placeholder="https://github.com/owner/repo" spellcheck="false" autocomplete="off"/> <input class="clone-branch svelte-oq97c4" type="text" placeholder="branch (optional)" spellcheck="false" autocomplete="off"/> <button class="clone-btn svelte-oq97c4">Clone</button></div></div> <div class="crumbs svelte-oq97c4"><code class="svelte-oq97c4"> </code></div> <!> <div class="search svelte-oq97c4"><input type="text" placeholder="Filter folders…" spellcheck="false" autocomplete="off" class="svelte-oq97c4"/></div> <div class="list svelte-oq97c4"><!></div> <!> <div class="foot svelte-oq97c4"><span class="hint svelte-oq97c4"> </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),f=E(pe(l())),x=C(()=>e(f)??a()),v=E(null),y=E(!0),M=E(null),O=E(""),Q=E(null),D=E(pe([])),fe=E(!1),H=E(""),j=E(""),G=C(()=>_t(e(H)));function te(){if(!e(G))return;t.onpick(e(H).trim(),{branch:e(j).trim()||void 0,mode:e(x)})}let $=C(()=>e(v)?e(v).entries.filter((z)=>z.name.toLowerCase().includes(e(O).trim().toLowerCase())):[]),ee=C(()=>e(v)?.path===Ci),le=C(()=>e(fe)?e(D):e(D).slice(0,5));async function F(){try{let z=await ei("/api/history");r(D,z.history??[],!0)}catch{}}async function S(z){let oe=e(D);r(D,e(D).filter((Fe)=>Fe.source_path!==z),!0);try{await bi("/api/history",{sourcePath:z})}catch{r(D,oe,!0)}}async function N(z=null){r(y,!0),r(M,null),r(O,"");try{let oe=z?`/api/browse?path=${encodeURIComponent(z)}`:"/api/browse";r(v,await ei(oe,void 0,"Could not list folder"),!0)}catch(oe){r(M,oe.message,!0)}finally{r(y,!1)}await At(),e(Q)?.focus()}we(()=>{N(),F()});var V=xa(),ie=m(V),L=m(ie),B=c(m(L),2),ne=m(B);It(ne,{size:16}),s(B),s(L);var ve=c(L,2),Ie=c(m(ve),2),Me=m(Ie);let W;var o=m(Me);ht(o,{size:15}),Se(),s(Me);var w=c(Me,2);let A;var J=m(w);vt(J,{size:15}),Se(),s(w),s(Ie),s(ve);var he=c(ve,2),g=c(m(he),2),I=m(g);it(I);var Z=c(I,2);it(Z);var Ee=c(Z,2);s(g),s(he);var Ke=c(he,2),Ye=m(Ke),ye=re(Ye,!0);s(Ke);var T=c(Ke,2);{var $e=(z)=>{var oe=ca(),Fe=c(m(oe),2);ze(Fe,17,()=>e(le),(Oe)=>Oe.source_path,(Oe,Pe)=>{var k=fa(),R=m(k),Te=m(R),He=m(Te);{var Ge=(Xe)=>{gt(Xe,{size:16})},ke=C(()=>_t(e(Pe).source_path)),Re=(Xe)=>{Pt(Xe,{size:16})};b(He,(Xe)=>{if(e(ke))Xe(Ge);else Xe(Re,-1)})}s(Te);var Je=c(Te,2),Ze=m(Je),St=re(Ze,!0),Yt=c(Ze,2),Gt=re(Yt,!0);s(Je),s(R);var ot=c(R,2),ft=m(ot);It(ft,{size:14}),s(ot),s(k),P(()=>{q(St,e(Pe).name),q(Gt,e(Pe).source_path),X(ot,"aria-label",`Remove ${e(Pe).name??""} from history`)}),Y("click",R,()=>t.onpick(e(Pe).source_path,{mode:e(x)})),Y("click",ot,(Xe)=>{Xe.stopPropagation(),S(e(Pe).source_path)}),d(Oe,k)});var rt=c(Fe,2);{var tt=(Oe)=>{var Pe=na(),k=re(Pe,!0);P(()=>q(k,e(fe)?"Show fewer":`Show all (${e(D).length})`)),Y("click",Pe,()=>r(fe,!e(fe))),d(Oe,Pe)};b(rt,(Oe)=>{if(e(D).length>5)Oe(tt)})}s(oe),d(z,oe)};b(T,(z)=>{if(e(D).length>0)z($e)})}var Be=c(T,2),qe=m(Be);it(qe),Qe(qe,(z)=>r(Q,z),()=>e(Q)),s(Be);var n=c(Be,2),h=m(n);{var ae=(z)=>{var oe=da();d(z,oe)},K=(z)=>{var oe=sa(),Fe=re(oe,!0);P(()=>q(Fe,e(M))),d(z,oe)},_=(z)=>{var oe=va(),Fe=be(oe);{var rt=(k)=>{var R=oa(),Te=m(R),He=m(Te),Ge=m(He);Tt(Ge,{size:16}),s(He),Se(2),s(Te),s(R),Y("click",Te,()=>N(e(v)?.parent??null)),d(k,R)};b(Fe,(k)=>{if(e(v).parent&&!e(O))k(rt)})}var tt=c(Fe,2);{var Oe=(k)=>{var R=ma(),Te=re(R,!0);P(()=>q(Te,e(O)?"No folders match.":"No subfolders here.")),d(k,R)};b(tt,(k)=>{if(e($).length===0)k(Oe)})}var Pe=c(tt,2);ze(Pe,19,()=>e($),(k)=>k.path,(k,R,Te)=>{var He=ua();let Ge;var ke=m(He),Re=m(ke),Je=m(Re);Dt(Je,{size:16}),s(Re);var Ze=c(Re,2),St=re(Ze,!0),Yt=c(Ze,2);{var Gt=(ft)=>{var Xe=ga();d(ft,Xe)};b(Yt,(ft)=>{if(e(R).hasDevcontainer)ft(Gt)})}s(ke);var ot=c(ke,2);s(He),P((ft)=>{Ge=xe(He,1,"row svelte-oq97c4",null,Ge,{"first-match":ft}),q(St,e(R).name)},[()=>e(O).trim()&&e(Te)===0]),Y("click",ke,()=>N(e(R).path)),Y("click",ot,()=>t.onpick(e(R).path,{mode:e(x)})),d(k,He)}),d(z,oe)};b(h,(z)=>{if(e(y))z(ae);else if(e(M))z(K,1);else if(e(v))z(_,2)})}s(n);var p=c(n,2);{var U=(z)=>{var oe=ha(),Fe=m(oe);ut(Fe,{size:15}),Se(2),s(oe),d(z,oe)};b(p,(z)=>{if(e(v)&&!e(v).hasDevcontainer&&!e(ee))z(U)})}var Ce=c(p,2),et=m(Ce),st=re(et,!0),_e=c(et,2);s(Ce),s(ie),s(V),P(()=>{W=xe(Me,1,"mode-btn svelte-oq97c4",null,W,{active:e(x)==="ide"}),X(Me,"aria-pressed",e(x)==="ide"),A=xe(w,1,"mode-btn svelte-oq97c4",null,A,{active:e(x)==="terminal"}),X(w,"aria-pressed",e(x)==="terminal"),Ee.disabled=!e(G),q(ye,e(ee)?Li:e(v)?.path??"…"),q(st,e(ee)?"Pick a drive to browse.":"Browse to a folder, then select this folder or any subfolder."),_e.disabled=!e(v)||e(ee)}),Y("click",V,function(...z){t.onclose?.apply(this,z)}),Y("keydown",V,(z)=>z.key==="Escape"&&t.onclose()),Y("click",ie,(z)=>z.stopPropagation()),Y("keydown",ie,()=>{}),Y("click",B,function(...z){t.onclose?.apply(this,z)}),Y("click",Me,()=>r(f,"ide")),Y("click",w,()=>r(f,"terminal")),Y("keydown",I,(z)=>{if(z.key==="Enter")z.preventDefault(),te()}),at(I,()=>e(H),(z)=>r(H,z)),Y("keydown",Z,(z)=>{if(z.key==="Enter")z.preventDefault(),te()}),at(Z,()=>e(j),(z)=>r(j,z)),Y("click",Ee,te),Y("keydown",qe,(z)=>{let oe=e($)[0];if(z.key==="Enter"&&oe)z.preventDefault(),N(oe.path)}),at(qe,()=>e(O),(z)=>r(O,z)),Y("click",_e,()=>e(v)&&!e(ee)&&t.onpick(e(v).path,{mode:e(x)})),d(i,V),ue()}We(["click","keydown"]);var wa=u('<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=m(a);gt(l,{size:12});var f=c(l),x=re(f,!0);s(a),P(()=>q(x,t.branch)),d(i,a)}var Sa=new Set(["$$slots","$$events","$$legacy"]);function Ft(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var Ia=u('<a target="_blank" rel="noopener"> </a>'),Ea=u('<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 f=(x)=>{var v=Ea(),y=m(v);Ft(y,{size:12});var M=c(y,2);ze(M,21,()=>t.ports,(O)=>O.container_port,(O,Q)=>{var D=Ia();let fe;var H=re(D,!0);P((j,G)=>{fe=xe(D,1,"fport svelte-1uaz383",null,fe,{open:e(Q).open}),X(D,"href",j),X(D,"title",G),q(H,e(Q).container_port)},[()=>ai(e(Q).host_port),()=>`container :${e(Q).container_port} → ${ai(e(Q).host_port)} ${e(Q).open?"(open)":"(not published yet)"}`]),d(O,D)}),s(M),s(v),d(x,v)};b(l,(x)=>{if(t.ports.length)x(f)})}d(i,a),ue()}var ya=u('<div class="busy-overlay svelte-13338y7" aria-live="polite"><span class="busy-label svelte-13338y7"> </span></div>'),Ca=u('<input class="name-edit svelte-13338y7"/>'),La=u('<button class="name svelte-13338y7" title="Click to rename"> </button>'),ba=u("<span></span>"),Ma=u('<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=u('<div class="card-error svelte-13338y7"> </div>'),za=u("<!> <!>",1),Na=u('<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),f=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 v=Na();let y;var M=m(v);{var O=(g)=>{var I=ya(),Z=m(I),Ee=re(Z,!0);s(I),P(()=>q(Ee,x[l()])),d(g,I)};b(M,(g)=>{if(l())g(O)})}var Q=c(M,2),D=m(Q);{let g=C(()=>ct(t.instance.avatar??void 0)??null);dt(D,{get name(){return t.instance.name},get art(){return e(g)},interactive:!0})}var fe=c(D,2);{var H=(g)=>{var I=Ca();it(I),Vt(I,!0),Ve("focus",I,(Z)=>Z.currentTarget.select()),Ve("blur",I,function(...Z){t.oncommitrename?.apply(this,Z)}),Y("keydown",I,(Z)=>{if(Z.key==="Enter")Z.currentTarget.blur();else if(Z.key==="Escape")t.oncancelrename()}),at(I,a),d(g,I)},j=(g)=>{var I=La(),Z=re(I,!0);P(()=>q(Z,t.instance.name)),Y("click",I,function(...Ee){t.onstartrename?.apply(this,Ee)}),d(g,I)};b(fe,(g)=>{if(t.editing)g(H);else g(j,-1)})}var G=c(fe,2);{var te=(g)=>{var I=ba();let Z;P(()=>{Z=xe(I,1,"attn svelte-13338y7",null,Z,{"attn-done":t.instance.attention==="done","attn-waiting":t.instance.attention==="waiting"}),X(I,"title",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished"),X(I,"aria-label",t.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished")}),d(g,I)};b(G,(g)=>{if(t.instance.attention)g(te)})}var $=c(G,2);Mi($,{get status(){return t.instance.status}}),s(Q);var ee=c(Q,2),le=re(ee,!0),F=c(ee,2);{var S=(g)=>{li(g,{get ports(){return t.instance.forwarded_ports}})};b(F,(g)=>{if(t.instance.status==="running")g(S)})}var N=c(F,2);{var V=(g)=>{ii(g,{get branch(){return t.instance.git_branch}})};b(N,(g)=>{if(t.instance.git_branch)g(V)})}var ie=c(N,2);{var L=(g)=>{var I=Ma(),Z=c(m(I),2),Ee=re(Z,!0);s(I),P(()=>q(Ee,t.instance.active_run.status==="queued"?"Agent run queued":t.instance.active_run.last_activity??"Agent running")),d(g,I)};b(ie,(g)=>{if(t.instance.active_run)g(L)})}var B=c(ie,2);{var ne=(g)=>{var I=pa(),Z=re(I,!0);P(()=>q(Z,t.instance.error)),d(g,I)};b(B,(g)=>{if(t.instance.status==="error"&&t.instance.error)g(ne)})}var ve=c(B,2),Ie=m(ve);{var Me=(g)=>{var I=za(),Z=be(I);{let Ke=C(()=>`/ide/${t.instance.id}`);Ne(Z,{variant:"primary",size:"sm",get href(){return e(Ke)},children:(Ye,ye)=>{Se();var T=Ae();P(()=>q(T,t.instance.mode==="terminal"?"Open terminal":"Open IDE")),d(Ye,T)},$$slots:{default:!0}})}var Ee=c(Z,2);Ne(Ee,{size:"sm",onclick:()=>t.onact("stop"),children:(Ke,Ye)=>{Se();var ye=Ae("Stop");d(Ke,ye)},$$slots:{default:!0}}),d(g,I)},W=(g)=>{Ne(g,{size:"sm",onclick:()=>t.onact("start"),children:(I,Z)=>{Se();var Ee=Ae("Start");d(I,Ee)},$$slots:{default:!0}})},o=(g)=>{{let I=C(()=>nt(`/instances/${t.instance.id}`));Ne(g,{size:"sm",get href(){return e(I)},target:"_blank",rel:"noopener noreferrer",children:(Z,Ee)=>{Se();var Ke=Ae("View logs");d(Z,Ke)},$$slots:{default:!0}})}};b(Ie,(g)=>{if(t.instance.status==="running")g(Me);else if(t.instance.status==="stopped"||t.instance.status==="error"&&t.instance.container_id)g(W,1);else if(t.instance.status==="creating")g(o,2)})}var w=c(Ie,2);{var A=(g)=>{Ne(g,{size:"sm",title:"Recreate the container and re-run setup (credentials, hooks, port forwards)",onclick:()=>t.onact("rebuild"),children:(I,Z)=>{Se();var Ee=Ae("Rebuild");d(I,Ee)},$$slots:{default:!0}})};b(w,(g)=>{if(e(f))g(A)})}var J=c(w,2);{let g=C(()=>nt(`/instances/${t.instance.id}`));Ne(J,{size:"sm",ghost:!0,get href(){return e(g)},target:"_blank",rel:"noopener noreferrer",children:(I,Z)=>{Se();var Ee=Ae("Details");d(I,Ee)},$$slots:{default:!0}})}var he=c(J,2);Ne(he,{variant:"danger",size:"sm",onclick:()=>t.onact("delete"),children:(g,I)=>{Se();var Z=Ae("Delete");d(g,Z)},$$slots:{default:!0}}),s(ve),s(v),P(()=>{y=xe(v,1,"card panel svelte-13338y7",null,y,{busy:!!l()}),X(v,"aria-busy",!!l()||void 0),X(ee,"title",t.instance.source_path),q(le,t.instance.source_path)}),d(i,v),ue()}We(["keydown","click"]);var Pa=new Set(["$$slots","$$events","$$legacy"]);function Bt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var Ta=new Set(["$$slots","$$events","$$legacy"]);function Wt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var Da=u('<a class="brand svelte-94cd8h" href="/"><span class="logo svelte-94cd8h"><!></span><span class="words svelte-94cd8h"><span>Codebay</span><span class="tagline svelte-94cd8h">devcontainer manager</span></span></a>');function fi(i,t){ge(t,!0);var a=Da(),l=m(a),f=m(l);{var x=(y)=>{dt(y,{get art(){return t.pet},get name(){return t.pet.name},scale:4})},v=(y)=>{Wt(y,{size:22})};b(f,(y)=>{if(t.pet)y(x);else y(v,-1)})}s(l),Se(),s(a),d(i,a),ue()}var Aa=u('<button type="button" role="radio"> </button>'),Fa=u('<div class="picker svelte-12yor8r" role="radiogroup" aria-label="Filter instances"></div>');function ni(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,(f)=>f.value,(f,x)=>{var v=Aa();let y;var M=re(v,!0);P(()=>{y=xe(v,1,"segment svelte-12yor8r",null,y,{active:t.value===e(x).value}),X(v,"aria-checked",t.value===e(x).value),q(M,e(x).label)}),Y("click",v,()=>t.onchange(e(x).value)),d(f,v)}),s(l),d(i,l),ue()}We(["click"]);var Va=new Set(["$$slots","$$events","$$legacy"]);function xt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var Ba=u('<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=m(a);xt(l,{size:16}),s(a),P((f)=>X(a,"href",f),[()=>nt("/settings")]),d(i,a),ue()}var Wa=new Set(["$$slots","$$events","$$legacy"]);function Kt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var Ka=u('<button type="button" class="cred-row svelte-vongf9" role="menuitem"><span></span> <span class="cred-label"> </span> <span class="cred-state svelte-vongf9"> </span></button>'),Oa=u('<div class="cred-dropdown panel svelte-vongf9" role="menu"></div>'),Ha=u('<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=E(!1),l=C(()=>t.auth.filter((H)=>H.available).length),f=C(()=>e(l)===t.auth.length?"ok":e(l)===0?"error":"warn"),x={ok:Kt,warn:ut,error:It},v=C(()=>x[e(f)]);function y(H){if(H.available)lt.success(`${H.label} credentials come from ${H.source}.`);else{let j=H.hint?` — ${H.hint}`:"";lt.error(`No ${H.label} credentials found${j}.`)}}we(()=>{if(!e(a))return;let H=(G)=>{if(!G.target?.closest(".cred-menu"))r(a,!1)},j=(G)=>{if(G.key==="Escape")r(a,!1)};return window.addEventListener("click",H),window.addEventListener("keydown",j),()=>{window.removeEventListener("click",H),window.removeEventListener("keydown",j)}});var M=Ha(),O=m(M),Q=m(O);zi(Q,()=>e(v),(H,j)=>{j(H,{size:16})}),s(O);var D=c(O,2);{var fe=(H)=>{var j=Oa();ze(j,21,()=>t.auth,(G)=>G.id,(G,te)=>{var $=Ka(),ee=m($),le=c(ee,2),F=re(le,!0),S=c(le,2),N=re(S,!0);s($),P(()=>{X($,"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"),q(F,e(te).label),q(N,e(te).available?"Authorized":"Not found")}),Y("click",$,()=>y(e(te))),d(G,$)}),s(j),d(H,j)};b(D,(H)=>{if(e(a))H(fe)})}s(M),P(()=>{xe(O,1,`cred ${e(f)??""}`,"svelte-vongf9"),X(O,"aria-expanded",e(a))}),Y("click",O,()=>r(a,!e(a))),d(i,M),ue()}We(["click"]);var Ja=u('<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),f=Le(t,"creating",3,!1),x=Le(t,"defaultMode",3,"ide"),v=C(()=>t.filter&&t.filter!=="all"?`Delete ${t.filter}`:"Delete all"),y=C(()=>x()==="terminal"?"ide":"terminal");var M=Ja(),O=m(M);fi(O,{get pet(){return t.pet}});var Q=c(O,2),D=m(Q);{var fe=(S)=>{Ne(S,{variant:"default",size:"sm",get icon(){return Bt},href:"/debug",children:(N,V)=>{Se();var ie=Ae("Debug");d(N,ie)},$$slots:{default:!0}})};b(D,(S)=>{if(Ni)S(fe)})}var H=c(D,2);{var j=(S)=>{ni(S,{get value(){return t.filter},get onchange(){return t.onFilter}})};b(H,(S)=>{if(t.filter&&t.onFilter)S(j)})}var G=c(H,2);ci(G,{});var te=c(G,2);di(te,{get auth(){return t.auth}});var $=c(te,2);{let S=C(()=>!a());Ne($,{variant:"danger",size:"sm",get onclick(){return t.onDeleteAll},get disabled(){return e(S)},children:(N,V)=>{Se();var ie=Ae();P(()=>q(ie,e(v))),d(N,ie)},$$slots:{default:!0}})}var ee=c($,2),le=m(ee);{let S=C(()=>f()?void 0:Ot),N=C(()=>!l()||f());Ne(le,{variant:"primary",size:"sm",get icon(){return e(S)},onclick:()=>t.onNew?.(),get disabled(){return e(N)},children:(V,ie)=>{Se();var L=Ae();P(()=>q(L,f()?"Creating…":"New instance")),d(V,L)},$$slots:{default:!0}})}var F=c(le,2);{let S=C(()=>e(y)==="terminal"?vt:ht),N=C(()=>!l()||f()),V=C(()=>e(y)==="terminal"?"New terminal instance":"New full IDE instance"),ie=C(()=>e(y)==="terminal"?"New terminal instance":"New full IDE instance");Ne(F,{variant:"default",size:"sm",square:!0,get icon(){return e(S)},iconSize:15,onclick:()=>t.onNew?.(e(y)),get disabled(){return e(N)},get title(){return e(V)},get "aria-label"(){return e(ie)}})}s(ee),s(Q),s(M),d(i,M),ue()}var Za=u("<span>Docker daemon is not reachable.</span>"),Ra=u("<span>The devcontainer CLI is not available.</span>"),Qa=u('<div class="banner error svelte-146pixd"><strong>Setup needed.</strong> <!> <!></div>'),Ua=u('<div class="banner error svelte-146pixd"><strong>Error.</strong> <span> </span></div>'),Ya=u('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd">Loading…</p></div>'),Ga=u('<div class="empty svelte-146pixd"><p class="empty-title svelte-146pixd">No instances yet</p> <p class="empty-sub svelte-146pixd">Pick a project folder to spin up an isolated devcontainer.</p> <!></div>'),ka=u('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd"> </p></div>'),Xa=u('<ul class="grid svelte-146pixd"></ul>'),ja=u('<!> <main class="stage svelte-146pixd"><!> <!> <!></main> <!>',1);function oi(i,t){ge(t,!0);let a=E(!1),l=E(null),f=E(!1),x=E(null),v=E(null),y=E(""),M=E(pe({})),O=C(()=>t.preflight.docker&&t.preflight.cli),Q=C(()=>t.instances.filter((o)=>{if(t.filter==="active")return o.status==="running"||o.status==="creating";if(t.filter==="stopped")return o.status==="stopped"||o.status==="error";return!0}));we(()=>{for(let[o,{since:w}]of Object.entries(e(M))){let A=t.instances.find((J)=>J.id===o);if(!A||A.status!==w)D(o)}});function D(o){let{[o]:w,...A}=e(M);r(M,A,!0)}async function fe(o,w){r(a,!1),r(f,!0),r(x,null);try{await Ue("/api/instances",{sourcePath:o,branch:w?.branch,mode:w?.mode},"Failed to create instance")}catch(A){r(x,A.message,!0)}finally{r(f,!1)}}async function H(o,w){if(r(x,null),w==="delete"&&!confirm("Delete this instance and its copied files?"))return;if(w==="rebuild"&&!confirm("Recreate this container and re-run setup? The workspace is kept."))return;let A=t.instances.find((J)=>J.id===o)?.status;if(A)r(M,{...e(M),[o]:{action:w,since:A}},!0);try{await Ue(`/api/instances/${o}/${w}`,void 0,`Failed to ${w}`)}catch(J){r(x,J.message,!0),D(o)}}function j(o){r(v,o.id,!0),r(y,o.name,!0)}function G(){r(v,null),r(y,"")}async function te(o){let w=e(y).trim(),A=t.instances.find((J)=>J.id===o)?.name;if(!w||w===A){G();return}G(),r(x,null);try{await Ue(`/api/instances/${o}/rename`,{name:w},"Failed to rename")}catch(J){r(x,J.message,!0)}}async function $(){r(x,null);let o=e(Q).map((w)=>w.id);if(!confirm(`Delete ${o.length} instance${o.length===1?"":"s"} and their copied files?`))return;try{await Ue("/api/instances/delete-all",{ids:o},"Failed to delete all")}catch(w){r(x,w.message,!0)}}var ee=ja(),le=be(ee);{let o=C(()=>e(Q).length>0);si(le,{get auth(){return t.preflight.auth},get pet(){return t.pet},get canDelete(){return e(o)},get ready(){return e(O)},get creating(){return e(f)},get filter(){return t.filter},get onFilter(){return t.onFilter},get defaultMode(){return t.preflight.defaultMode},onNew:(w)=>{r(l,w??null,!0),r(a,!0)},onDeleteAll:$})}var F=c(le,2),S=m(F);{var N=(o)=>{var w=Qa(),A=c(m(w),2);{var J=(I)=>{var Z=Za();d(I,Z)};b(A,(I)=>{if(!t.preflight.docker)I(J)})}var he=c(A,2);{var g=(I)=>{var Z=Ra();d(I,Z)};b(he,(I)=>{if(!t.preflight.cli)I(g)})}s(w),d(o,w)};b(S,(o)=>{if(!e(O))o(N)})}var V=c(S,2);{var ie=(o)=>{var w=Ua(),A=c(m(w),2),J=re(A,!0);s(w),P(()=>q(J,e(x))),d(o,w)};b(V,(o)=>{if(e(x))o(ie)})}var L=c(V,2);{var B=(o)=>{var w=Ya();d(o,w)},ne=(o)=>{var w=Ga(),A=c(m(w),4);{let J=C(()=>!e(O));Ne(A,{variant:"primary",get icon(){return Ot},onclick:()=>r(a,!0),get disabled(){return e(J)},children:(he,g)=>{Se();var I=Ae("New instance");d(he,I)},$$slots:{default:!0}})}s(w),d(o,w)},ve=(o)=>{var w=ka(),A=m(w),J=re(A);s(w),P(()=>q(J,`No ${t.filter??""} instances.`)),d(o,w)},Ie=(o)=>{var w=Xa();ze(w,21,()=>e(Q),(A)=>A.id,(A,J)=>{{let he=C(()=>e(v)===e(J).id),g=C(()=>e(M)[e(J).id]?.action??null);ri(A,{get instance(){return e(J)},get editing(){return e(he)},get pending(){return e(g)},onact:(I)=>H(e(J).id,I),onstartrename:()=>j(e(J)),oncommitrename:()=>te(e(J).id),oncancelrename:G,get editingName(){return e(y)},set editingName(I){r(y,I,!0)}})}}),s(w),d(o,w)};b(L,(o)=>{if(!t.loaded)o(B);else if(t.instances.length===0)o(ne,1);else if(e(Q).length===0)o(ve,2);else o(Ie,-1)})}s(F);var Me=c(F,2);{var W=(o)=>{ti(o,{onpick:fe,get defaultMode(){return t.preflight.defaultMode},get initialMode(){return e(l)},onclose:()=>r(a,!1)})};b(Me,(o)=>{if(e(a))o(W)})}d(i,ee),ue()}var $a=new Set(["$$slots","$$events","$$legacy"]);function wt(i,t){let a=ce(t,$a),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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var qa=new Set(["$$slots","$$events","$$legacy"]);function Ht(i,t){let a=ce(t,qa),l={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6"}]]};se(i,de(()=>a,{get icon(){return l}}))}var _a=new Set(["$$slots","$$events","$$legacy"]);function Jt(i,t){let a=ce(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"]};se(i,de(()=>a,{get icon(){return l}}))}var el=u('<button type="button" class="page svelte-r39acv" aria-label="Scroll tabs left"><!></button>'),tl=u('<div class="tab editing svelte-r39acv"><!> <input class="tab-name-edit svelte-r39acv"/></div>'),il=u("<span></span>"),al=u('<button type="button" class="tab-stop svelte-r39acv"><!></button>'),ll=u('<button type="button"><!> <span class="tab-name svelte-r39acv"> </span> <span class="tab-mode svelte-r39acv"><!></span> <!></button> <!>',1),rl=u('<div role="presentation"><!></div>'),fl=u('<button type="button" class="page trailing svelte-r39acv" aria-label="Scroll tabs right"><!></button>'),nl=u('<div class="strip svelte-r39acv"><!> <div class="viewport svelte-r39acv"><nav class="tabs svelte-r39acv" aria-label="Instances"></nav></div> <!></div>'),cl=u('<button type="button" class="reload svelte-r39acv" title="Reload editor" aria-label="Reload editor"><!></button>'),dl=u('<!> <div class="right svelte-r39acv"><!> <a class="cog svelte-r39acv" target="_blank" rel="noopener noreferrer" title="Settings" aria-label="Settings"><!></a></div>',1),sl=u('<div class="drop-tip panel svelte-r39acv">Drop to save into codebay-inbox/</div>'),ol=u("<!> <!>",1);function mi(i,t){ge(t,!0);let a=Le(t,"editingName",15),l=Le(t,"stopping",19,()=>[]),f=(L)=>l().includes(L),x=E(null),v=E(0),y=C(()=>e(x)?Math.max(8,Math.min(e(x).x-e(v)/2,e(x).maxX-e(v))):0);function M(L,B){if(!t.ondropfiles||!L.dataTransfer?.types.includes("Files"))return;if(L.preventDefault(),L.dataTransfer.dropEffect="copy",e(x)?.id===B)return;let ne=L.currentTarget.getBoundingClientRect();r(x,{id:B,x:ne.left+ne.width/2,y:ne.bottom,maxX:document.documentElement.clientWidth-8},!0)}function O(L){if(L.currentTarget.contains(L.relatedTarget))return;r(x,null)}function Q(L,B){if(!t.ondropfiles)return;L.preventDefault(),r(x,null),t.ondropfiles(B,Ct(L.dataTransfer))}let D=E(null),fe=E(null),H=E(!0),j=E(!0),G=pe({}),te=C(()=>!e(H)||!e(j));function $(){if(!e(D))return;r(H,e(D).scrollLeft<=1),r(j,e(D).scrollLeft+e(D).clientWidth>=e(D).scrollWidth-1)}function ee(L){let B=t.running[L];if(!B)return;t.onselect(B.id),G[B.id]?.focus()}function le(L,B){let ne=Nt(B,L.key,t.running.length);if(ne===null)return;L.preventDefault(),ee(ne)}function F(L){if(!e(D))return;e(D).scrollBy({left:L*Math.max(160,e(D).clientWidth*0.7)})}we(()=>{let L=e(D),B=e(fe);if(!L||!B)return;$();let ne=new ResizeObserver($);return ne.observe(L),ne.observe(B),L.addEventListener("scroll",$,{passive:!0}),()=>{ne.disconnect(),L.removeEventListener("scroll",$)}}),we(()=>{G[t.active]?.scrollIntoView({block:"nearest",inline:"nearest"})});var S=ol(),N=be(S);Di(N,{children:(L,B)=>{var ne=dl(),ve=be(ne);{var Ie=(J)=>{var he=nl(),g=m(he);{var I=(ye)=>{var T=el(),$e=m(T);Ht($e,{size:16}),s(T),P(()=>T.disabled=e(H)),Y("click",T,()=>F(-1)),d(ye,T)};b(g,(ye)=>{if(e(te))ye(I)})}var Z=c(g,2),Ee=m(Z);ze(Ee,23,()=>t.running,(ye)=>ye.id,(ye,T,$e)=>{var Be=rl();let qe;var n=m(Be);{var h=(K)=>{var _=tl(),p=m(_);{let Ce=C(()=>ct(e(T).avatar??void 0)??null);dt(p,{get name(){return e(T).name},get art(){return e(Ce)},scale:3})}var U=c(p,2);it(U),Vt(U,!0),s(_),Ve("focus",U,(Ce)=>Ce.currentTarget.select()),Ve("blur",U,()=>t.oncommitrename(e(T).id)),Y("keydown",U,(Ce)=>{if(Ce.key==="Enter")Ce.currentTarget.blur();else if(Ce.key==="Escape")t.oncancelrename()}),at(U,a),d(K,_)},ae=(K)=>{var _=ll(),p=be(_);let U;var Ce=m(p);{let k=C(()=>ct(e(T).avatar??void 0)??null);dt(Ce,{get name(){return e(T).name},get art(){return e(k)},scale:3})}var et=c(Ce,2),st=re(et,!0),_e=c(et,2),z=m(_e);{var oe=(k)=>{vt(k,{size:11})},Fe=(k)=>{ht(k,{size:11})};b(z,(k)=>{if(e(T).mode==="terminal")k(oe);else k(Fe,-1)})}s(_e);var rt=c(_e,2);{var tt=(k)=>{var R=il();P(()=>{xe(R,1,`attn ${t.attention[e(T).id]??""}`,"svelte-r39acv"),X(R,"aria-label",t.attention[e(T).id]==="waiting"?"Claude is waiting for input":"Claude finished")}),d(k,R)};b(rt,(k)=>{if(e(T).id!==t.active&&t.attention[e(T).id])k(tt)})}s(p),Qe(p,(k,R)=>G[R.id]=k,(k)=>G?.[k.id],()=>[e(T)]);var Oe=c(p,2);{var Pe=(k)=>{var R=al(),Te=m(R);Jt(Te,{size:20}),s(R),P((He,Ge,ke)=>{R.disabled=He,X(R,"title",Ge),X(R,"aria-label",ke)},[()=>f(e(T).id),()=>f(e(T).id)?"Stopping…":`Stop ${e(T).name}`,()=>f(e(T).id)?"Stopping…":`Stop ${e(T).name}`]),Y("click",R,()=>t.onstop(e(T).id)),d(k,R)};b(Oe,(k)=>{if(t.onstop)k(Pe)})}P(()=>{U=xe(p,1,"tab svelte-r39acv",null,U,{active:e(T).id===t.active}),X(p,"id",`tab-${e(T).id??""}`),X(p,"aria-current",e(T).id===t.active?"page":void 0),X(p,"title",e(T).name),q(st,e(T).name),X(_e,"aria-label",e(T).mode==="terminal"?"Terminal-only instance":"Full IDE instance")}),Y("click",p,()=>t.onselect(e(T).id)),Y("dblclick",p,()=>t.onstartrename(e(T))),Y("keydown",p,(k)=>le(k,e($e))),d(K,_)};b(n,(K)=>{if(t.editingId===e(T).id)K(h);else K(ae,-1)})}s(Be),P(()=>qe=xe(Be,1,"tab-slot svelte-r39acv",null,qe,{active:e(T).id===t.active,"drop-target":e(x)?.id===e(T).id})),Ve("dragenter",Be,(K)=>M(K,e(T).id)),Ve("dragover",Be,(K)=>M(K,e(T).id)),Ve("dragleave",Be,O),Ve("drop",Be,(K)=>Q(K,e(T).id)),d(ye,Be)}),s(Ee),Qe(Ee,(ye)=>r(fe,ye),()=>e(fe)),s(Z),Qe(Z,(ye)=>r(D,ye),()=>e(D));var Ke=c(Z,2);{var Ye=(ye)=>{var T=fl(),$e=m(T);Ti($e,{size:16}),s(T),P(()=>T.disabled=e(j)),Y("click",T,()=>F(1)),d(ye,T)};b(Ke,(ye)=>{if(e(te))ye(Ye)})}s(he),d(J,he)};b(ve,(J)=>{if(t.running.length>0)J(Ie)})}var Me=c(ve,2),W=m(Me);{var o=(J)=>{var he=cl(),g=m(he);wt(g,{size:18}),s(he),Y("click",he,function(...I){t.onreload?.apply(this,I)}),d(J,he)};b(W,(J)=>{if(t.onreload)J(o)})}var w=c(W,2),A=m(w);xt(A,{size:18}),s(w),s(Me),P((J)=>X(w,"href",J),[()=>nt("/settings")]),d(L,ne)},$$slots:{default:!0}});var V=c(N,2);{var ie=(L)=>{var B=sl();let ne;P(()=>ne=yt(B,"",ne,{left:`${e(y)??""}px`,top:`${e(x).y??""}px`})),Pi(B,"offsetWidth",(ve)=>r(v,ve)),d(L,B)};b(V,(L)=>{if(e(x))L(ie)})}d(i,S),ue()}We(["click","keydown","dblclick"]);var ml=u('<div class="row svelte-w5e143"> </div>'),gl=u('<div class="stalled svelte-w5e143"><p class="svelte-w5e143"> </p> <!></div>'),ul=u('<div class="loader svelte-w5e143"><div class="grid svelte-w5e143" aria-hidden="true"></div> <div class="label svelte-w5e143"> <span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span></div> <!></div>');function Zt(i,t){ge(t,!0);let a=Le(t,"speed",3,1),l=Le(t,"mode",3,"ide"),f=C(()=>l()==="terminal"),x=E(!1);we(()=>{if(t.stalledAfterMs===void 0)return;let le=setTimeout(()=>r(x,!0),t.stalledAfterMs);return()=>clearTimeout(le)});let v=3,y=22,M=140,O=7,Q=C(()=>Math.max(20,M/a())),fe=E(pe((()=>Array.from({length:v},()=>Array.from({length:y},()=>Math.random()<0.5?0:1)))()));we(()=>{if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let le=setInterval(()=>{let F=e(fe).map((S)=>S.slice());for(let S=0;S<O;S++){let N=F[Math.floor(Math.random()*v)],V=Math.floor(Math.random()*y);N[V]=N[V]?0:1}r(fe,F,!0)},e(Q));return()=>clearInterval(le)});var H=ul(),j=m(H);ze(j,21,()=>e(fe),Ai,(le,F)=>{var S=ml(),N=re(S,!0);P((V)=>q(N,V),[()=>e(F).join("")]),d(le,S)}),s(j);var G=c(j,2),te=m(G);Se(3),s(G);var $=c(G,2);{var ee=(le)=>{var F=gl(),S=m(F),N=re(S),V=c(S,2);{var ie=(L)=>{Ne(L,{size:"sm",get onclick(){return t.onoverride},children:(B,ne)=>{Se();var ve=Ae("Open anyway");d(B,ve)},$$slots:{default:!0}})};b(V,(L)=>{if(t.onoverride)L(ie)})}s(F),P(()=>q(N,`Waiting for ${e(f)?"the terminal":"code-server"} to answer inside the container.`)),d(le,F)};b($,(le)=>{if(e(x))le(ee)})}s(H),P(()=>q(te,`Loading ${e(f)?"terminal":"editor"}`)),d(i,H),ue()}var vl=new Set(["$$slots","$$events","$$legacy"]);function Rt(i,t){let a=ce(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"}]]};se(i,de(()=>a,{get icon(){return l}}))}var hl=new Set(["$$slots","$$events","$$legacy"]);function Qt(i,t){let a=ce(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"}]]};se(i,de(()=>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),(f)=>f.charCodeAt(0));return new TextDecoder().decode(l)}catch{return null}}var xl=u('<span class="status svelte-ui3nvu">connecting…</span>'),wl=u('<div class="term svelte-ui3nvu"></div> <div class="overlay svelte-ui3nvu"><!> <!> <button type="button" title="Reload terminal (reconnects, keeps the session)" aria-label="Reload terminal"><!></button></div>',1);function Ut(i,t){ge(t,!0);let a=Le(t,"focus",3,!0),l,f,x,v,y,M=!1,O=E(!1),Q=0,D="0",fe="1",H=48,j=new TextEncoder;function G(W){if(v?.readyState===WebSocket.OPEN)v.send(j.encode(W))}function te(W){let o=new Uint8Array(W);if(o.length===0)return;if(o[0]===H)f?.write(o.subarray(1))}function $(){let W=++Q,o=location.protocol==="https:"?"wss:":"ws:",w=t.arg?`?arg=${encodeURIComponent(t.arg)}`:"",A=new WebSocket(`${o}//${location.host}/p/${t.id}/ws${w}`,["tty"]);v=A,A.binaryType="arraybuffer",A.onopen=()=>{if(Q!==W)return;r(O,!0),G(JSON.stringify({AuthToken:"",columns:f?.cols??80,rows:f?.rows??24}))},A.onmessage=(J)=>{if(Q===W)te(J.data)},A.onclose=()=>{if(Q!==W||M)return;r(O,!1),y=setTimeout($,1000)},A.onerror=()=>{try{A.close()}catch{}}}function ee(){if(y)clearTimeout(y);Q++,r(O,!1),f?.reset();let W=v;v=void 0;let o=!1,w=()=>{if(o||M)return;if(o=!0,S(),$(),t.active&&a())f?.focus()};if(W&&W.readyState!==WebSocket.CLOSED){W.addEventListener("close",w,{once:!0}),setTimeout(w,1500);try{W.close()}catch{}}else w()}async function le(W){if(!W)return;try{await navigator.clipboard.writeText(W);return}catch{}let o=document.createElement("textarea");o.value=W,o.setAttribute("aria-hidden","true"),o.style.position="fixed",o.style.opacity="0",document.body.appendChild(o),o.select();try{document.execCommand("copy")}catch{}if(o.remove(),t.active&&a())f?.focus()}function F(){let W=f?.getSelection();if(W)le(W)}function S(){if(l?.clientWidth>0&&l?.clientHeight>0)try{x?.fit()}catch{}}function N(){if(!f||!l)return;let W=getComputedStyle(l),o=W.backgroundColor||"#0d0e0a",w=W.color||"#d8d9cf";f.options.theme={background:o,foreground:w,cursor:w,cursorAccent:o}}Ki(()=>{let W,o=window.matchMedia("(prefers-color-scheme: dark)"),w=()=>N();o.addEventListener("change",w),(async()=>{let[{Terminal:J},{FitAddon:he}]=await Promise.all([import("/_mochi/client/chunk-tss2473w.js"),import("/_mochi/client/chunk-0vqvn81s.js")]);if(M)return;if(f=new J({fontFamily:"'JetBrains Mono Variable', ui-monospace, monospace",fontSize:13,cursorBlink:!0,scrollback:1e4,allowProposedApi:!0}),x=new he,f.loadAddon(x),f.open(l),N(),S(),f.parser.registerOscHandler(52,(g)=>{let I=Fi(g);if(I!==null)le(I);return!0}),f.attachCustomKeyEventHandler((g)=>{if(g.type!=="keydown"||!f?.hasSelection())return!0;if(!(g.ctrlKey&&(g.key==="Insert"||g.altKey&&g.key.toLowerCase()==="c")))return!0;return F(),!1}),f.onData((g)=>G(D+g)),f.onResize(({cols:g,rows:I})=>G(fe+JSON.stringify({columns:g,rows:I}))),W=new MutationObserver(N),W.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),$(),t.active&&a())f.focus()})();let A=new ResizeObserver(()=>S());return A.observe(l),l.addEventListener("mouseup",F),()=>{if(M=!0,l.removeEventListener("mouseup",F),A.disconnect(),W?.disconnect(),o.removeEventListener("change",w),y)clearTimeout(y);try{v?.close()}catch{}f?.dispose()}}),we(()=>{if(t.active&&f){if(S(),a())f.focus()}});var V=wl(),ie=be(V);Qe(ie,(W)=>l=W,()=>l);var L=c(ie,2),B=m(L);{var ne=(W)=>{var o=xl();d(W,o)};b(B,(W)=>{if(!e(O))W(ne)})}var ve=c(B,2);Wi(ve,()=>t.actions??Bi);var Ie=c(ve,2),Me=m(Ie);wt(Me,{size:14}),s(Ie),s(L),Y("click",Ie,ee),d(i,V),ue()}We(["click"]);var Sl=u('<button type="button"><!></button>'),Il=u('<div role="separator" aria-orientation="vertical" aria-label="Resize terminal panes" tabindex="0"></div> <div><!></div>',1),El=u('<div class="split svelte-1ysvu88"><div class="side svelte-1ysvu88"><!></div> <!></div>');function gi(i,t){ge(t,!0);let a=(S)=>{var N=Sl(),V=m(N);{var ie=(B)=>{Qt(B,{size:14})},L=(B)=>{Rt(B,{size:14})};b(V,(B)=>{if(e(f))B(ie);else B(L,-1)})}s(N),P(()=>{X(N,"aria-pressed",e(f)),X(N,"title",e(f)?"Hide the shell pane":"Open a shell alongside Claude"),X(N,"aria-label",e(f)?"Hide the shell pane":"Open a shell alongside Claude")}),Y("click",N,O),d(S,N)},l=Le(t,"initialOpen",3,!1),f=E(pe(l())),x=E(pe(l())),v=E(50),y=E("left"),M;function O(){if(r(f,!e(f)),e(f))r(x,!0);r(y,e(f)?"right":"left",!0),Ue(`/api/instances/${t.id}/split`,{open:e(f)}).catch(()=>{})}function Q(S){return Math.min(80,Math.max(20,S))}function D(S){let N=M.getBoundingClientRect();if(N.width>0)r(v,Q((S-N.left)/N.width*100),!0)}function fe(S){S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId)}function H(S){if(S.currentTarget.hasPointerCapture(S.pointerId))D(S.clientX)}function j(S){if(S.key==="ArrowLeft")r(v,Q(e(v)-5),!0);else if(S.key==="ArrowRight")r(v,Q(e(v)+5),!0);else return;S.preventDefault()}var G=El(),te=m(G);let $;var ee=m(te);{let S=C(()=>t.active&&e(y)==="left"),N=C(()=>e(f)?void 0:a);Ut(ee,{get id(){return t.id},get active(){return t.active},get focus(){return e(S)},get actions(){return e(N)}})}s(te);var le=c(te,2);{var F=(S)=>{var N=Il(),V=be(N);let ie;X(V,"aria-valuemin",20),X(V,"aria-valuemax",80);var L=c(V,2);let B,ne;var ve=m(L);{let Ie=C(()=>t.active&&e(f)),Me=C(()=>t.active&&e(f)&&e(y)==="right"),W=C(()=>e(f)?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(L),P((Ie)=>{ie=xe(V,1,"divider svelte-1ysvu88",null,ie,{hidden:!e(f)}),X(V,"aria-valuenow",Ie),B=xe(L,1,"side svelte-1ysvu88",null,B,{hidden:!e(f)}),ne=yt(L,"",ne,{"flex-basis":`${100-e(v)}%`})},[()=>Math.round(e(v))]),Y("pointerdown",V,fe),Y("pointermove",V,H),Y("dblclick",V,()=>r(v,50)),Y("keydown",V,j),Ve("pointerdown",L,()=>r(y,"right"),!0),d(S,N)};b(le,(S)=>{if(e(x))S(F)})}s(G),Qe(G,(S)=>M=S,()=>M),P(()=>$=yt(te,"",$,{"flex-basis":e(f)?`${e(v)}%`:"100%"})),Ve("pointerdown",te,()=>r(y,"left"),!0),d(i,G),ue()}We(["click","pointerdown","pointermove","dblclick","keydown"]);var yl=u('<iframe allow="clipboard-read; clipboard-write" class="svelte-1duc7gd"></iframe>'),Cl=u('<div role="region"><!> <!> <!></div>'),Ll=u('<div class="empty svelte-1duc7gd">No running instances.</div>'),bl=u("<div><!> <div><!> <!></div></div> <!>",1);function vi(i,t){ge(t,!0);let a=E(pe(t.snapshot)),l=E(pe(t.preflight)),f=E(pe(t.pet)),x=E(pe(t.filter)),v=E(t.snapshot.length>0),y=C(()=>e(a).filter((n)=>n.status==="running")),M=E(pe(Object.fromEntries(t.snapshot.map((n)=>[n.id,n.attention])))),O=E(null),Q=E(""),D=new je;async function fe(n){if(D.has(n))return;D.add(n);try{await Ue(`/api/instances/${n}/stop`,void 0,"Failed to stop instance")}catch(h){lt.error(h.message),D.delete(n)}}function H(n){r(O,n.id,!0),r(Q,n.name,!0)}function j(){r(O,null),r(Q,"")}async function G(n){let h=e(Q).trim(),ae=e(a).find((K)=>K.id===n)?.name;if(!h||h===ae){j();return}j();try{await Ue(`/api/instances/${n}/rename`,{name:h},"Failed to rename")}catch(K){lt.error(K.message)}}function te(n){r(x,n,!0),Ue("/api/settings/filter",{value:n}).catch(()=>{})}let $=E(pe(t.initialPath)),ee=C(()=>e($).startsWith("/ide")),le=C(()=>e($).startsWith("/ide/")?e($).slice(5):""),F=C(()=>e(ee)?e(y).some((n)=>n.id===e(le))?e(le):e(y)[0]?.id??"":"");function S(n){if(n===e($))return;history.pushState({},"",n),r($,n,!0)}we(()=>{function n(h){if(h.defaultPrevented||h.button!==0||h.metaKey||h.ctrlKey||h.shiftKey||h.altKey)return;let ae=h.target?.closest?.("a");if(!ae)return;let K=ae.getAttribute("href");if(!K||ae.target==="_blank"||ae.hasAttribute("download"))return;let _=new URL(K,location.href);if(_.origin!==location.origin)return;if(_.pathname==="/"||_.pathname.startsWith("/ide/"))h.preventDefault(),S(_.pathname)}return document.addEventListener("click",n),()=>document.removeEventListener("click",n)}),we(()=>{function n(){r($,location.pathname,!0)}return window.addEventListener("popstate",n),()=>window.removeEventListener("popstate",n)}),we(()=>{if(e(y).length===0)return;function n(h){h.preventDefault(),h.returnValue=""}return window.addEventListener("beforeunload",n),()=>window.removeEventListener("beforeunload",n)});let N=new je;we(()=>{if(e(F))N.add(e(F))});let V=new je,ie=new je,L=new je,B=(n)=>ie.has(n)||L.has(n),ne=1e4,ve=C(()=>e(y).find((n)=>n.id===e(F))),Ie={};function Me(){let n=e(ve);if(!n||n.mode==="terminal")return;V.delete(n.id),Ie[n.id]?.contentWindow?.location.replace(ui(n))}we(()=>{document.title=e(ee)&&e(ve)?`${e(ve).name} — Codebay`:"Codebay"});function W(n,h){if(!n.altKey||n.ctrlKey||n.metaKey||e(O)||!Ri())return;let ae=/^Digit([1-9])$/.exec(n.code)?.[1];if(!ae)return;let K=Nt(e(y).findIndex((p)=>p.id===e(F)),ae,e(y).length),_=K===null?void 0:e(y)[K];if(!_)return;if(n.preventDefault(),n.stopPropagation(),S(`/ide/${_.id}`),h)At().then(()=>Ie[_.id]?.contentWindow?.focus())}let o=C(()=>e(y).filter((n)=>n.mode!=="terminal"&&V.has(n.id)).map((n)=>n.id).join(" "));we(()=>{if(!e(ee))return;function n(ae,K){let _=(p)=>W(p,K);return ae.addEventListener("keydown",_,{capture:!0}),()=>ae.removeEventListener("keydown",_,{capture:!0})}let h=[n(window,!1)];for(let ae of e(o).split(" ").filter(Boolean)){let K=Ie[ae]?.contentWindow;if(K)h.push(n(K,!0))}return()=>h.forEach((ae)=>ae())}),we(()=>{return window.addEventListener("pointerdown",Lt),window.addEventListener("keydown",Lt),()=>{window.removeEventListener("pointerdown",Lt),window.removeEventListener("keydown",Lt)}});async function w(n,h){for(let ae of h)try{let K=await Zi(n,ae);lt.success(`Saved ${K.containerPath}`),navigator.clipboard.writeText(K.containerPath).catch(()=>{})}catch(K){lt.error(K.message)}}let A=E(!1);function J(n){n.preventDefault(),r(A,!1),w(e(F),Ct(n.dataTransfer))}we(()=>{if(!e(l).uploadEnabled||!e(ee))return;let n=(U)=>U.dataTransfer?.types.includes("Files")??!1,h=(U)=>{if(n(U))r(A,!0)},ae=(U)=>{if(!n(U)||U.defaultPrevented)return;U.preventDefault(),U.dataTransfer.dropEffect="none"},K=(U)=>{if(n(U))U.preventDefault();r(A,!1)},_=(U)=>{if(U.relatedTarget===null)r(A,!1)},p=(U)=>{let Ce=Ct(U.clipboardData);if(Ce.length&&e(F))U.preventDefault(),w(e(F),Ce)};return window.addEventListener("dragenter",h),window.addEventListener("dragover",ae),window.addEventListener("dragleave",_),window.addEventListener("drop",K),window.addEventListener("paste",p,!0),()=>{window.removeEventListener("dragenter",h),window.removeEventListener("dragover",ae),window.removeEventListener("dragleave",_),window.removeEventListener("drop",K),window.removeEventListener("paste",p,!0)}}),we(()=>{let n=!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(f,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 p=h.data;r(a,e(a).map((U)=>U.id===p.instance_id?{...U,active_run:p.finished_at?null:p}:U),!0);return}if(h.type==="health"){let p=e(a).find((U)=>U.id===h.data.id);if(h.data.health.codeServerAccessible&&p?.status==="running")ie.add(h.data.id);return}if(h.type!=="instances")return;let ae=h.data,K=new Set(ae.filter((p)=>p.status==="running").map((p)=>p.id));for(let p of[...ie])if(!K.has(p))ie.delete(p);for(let p of[...L])if(!K.has(p))L.delete(p);for(let p of[...V])if(!K.has(p))V.delete(p);for(let p of[...D])if(!K.has(p))D.delete(p);let _={};for(let p of ae)_[p.id]=p.attention;if(n)for(let p in _){let U=_[p];if(U&&U!==e(M)[p])if(p===e(F))console.log(`[chime] attention id=${p} state=${U} — skipped (tab is active/focused)`);else console.log(`[chime] attention id=${p} state=${U} → playChime`),Qi(U)}else console.log("[chime] first frame after (re)connect — baselining, no chimes");n=!0,r(a,ae,!0),r(M,_,!0),r(v,!0)},()=>{n=!1})}),we(()=>{if(!e(F)||!e(M)[e(F)])return;let n=()=>{if(document.visibilityState==="visible")Ue(`/api/instances/${e(F)}/attention/clear`).catch(()=>{})};return n(),document.addEventListener("visibilitychange",n),()=>document.removeEventListener("visibilitychange",n)});var he=bl(),g=be(he);let I;var Z=m(g);{var Ee=(n)=>{{let h=C(()=>[...D]),ae=C(()=>e(ve)&&e(ve).mode!=="terminal"&&B(e(F))?Me:void 0),K=C(()=>e(l).uploadEnabled?(_,p)=>void w(_,p):void 0);mi(n,{get running(){return e(y)},get active(){return e(F)},get attention(){return e(M)},get editingId(){return e(O)},get stopping(){return e(h)},get onreload(){return e(ae)},onselect:(_)=>S(`/ide/${_}`),onstop:fe,get ondropfiles(){return e(K)},onstartrename:H,oncommitrename:G,oncancelrename:j,get editingName(){return e(Q)},set editingName(_){r(Q,_,!0)}})}},Ke=(n)=>{oi(n,{get preflight(){return e(l)},get instances(){return e(a)},get loaded(){return e(v)},get pet(){return e(f)},get filter(){return e(x)},onFilter:te})};b(Z,(n)=>{if(e(ee))n(Ee);else n(Ke,-1)})}var Ye=c(Z,2);let ye;var T=m(Ye);ze(T,17,()=>e(y),(n)=>n.id,(n,h)=>{var ae=Et(),K=be(ae);{var _=(U)=>{var Ce=Cl();let et;var st=m(Ce);{var _e=(R)=>{var Te=Et(),He=be(Te);{var Ge=(Re)=>{{let Je=C(()=>e(h).id===e(F)),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)]),P((Ze)=>{X(Je,"src",Ze),X(Je,"title",e(h).name)},[()=>ui(e(h))]),Ve("load",Je,()=>V.add(e(h).id)),Oi(Je),d(Re,Je)};b(He,(Re)=>{if(e(h).mode==="terminal")Re(Ge);else Re(ke,-1)})}d(R,Te)},z=C(()=>B(e(h).id));b(st,(R)=>{if(e(z))R(_e)})}var oe=c(st,2);{var Fe=(R)=>{Zt(R,{get mode(){return e(h).mode},stalledAfterMs:ne,onoverride:()=>L.add(e(h).id)})},rt=C(()=>!B(e(h).id)),tt=(R)=>{Zt(R,{})},Oe=C(()=>e(h).mode!=="terminal"&&!V.has(e(h).id));b(oe,(R)=>{if(e(rt))R(Fe);else if(e(Oe))R(tt,1)})}var Pe=c(oe,2);{var k=(R)=>{Ji(R,{ondrop:J})};b(Pe,(R)=>{if(e(A)&&e(h).id===e(F)&&e(h).mode==="terminal")R(k)})}s(Ce),P(()=>{et=xe(Ce,1,"pane svelte-1duc7gd",null,et,{active:e(h).id===e(F)}),X(Ce,"aria-labelledby",`tab-${e(h).id??""}`)}),d(U,Ce)},p=C(()=>N.has(e(h).id));b(K,(U)=>{if(e(p))U(_)})}d(n,ae)});var $e=c(T,2);{var Be=(n)=>{var h=Ll();d(n,h)};b($e,(n)=>{if(e(ee)&&e(y).length===0)n(Be)})}s(Ye),s(g);var qe=c(g,2);Hi(qe,{get toastOptions(){return Gi}}),P(()=>{I=xe(g,1,"app svelte-1duc7gd",null,I,{ide:e(ee)}),ye=xe(Ye,1,"panes svelte-1duc7gd",null,ye,{hidden:!e(ee)})}),d(i,he),ue()}ki("AppShell_2rtnxn6pgp2rh",vi);
|
|
@@ -823,6 +823,7 @@ function TopBar($$renderer, $$props) {
|
|
|
823
823
|
onNew,
|
|
824
824
|
onDeleteAll
|
|
825
825
|
} = $$props;
|
|
826
|
+
const deleteLabel = $19.derived(() => filter && filter !== "all" ? `Delete ${filter}` : "Delete all");
|
|
826
827
|
const altMode = $19.derived(() => defaultMode === "terminal" ? "ide" : "terminal");
|
|
827
828
|
$$renderer2.push(`<header class="topbar svelte-1h259us">`);
|
|
828
829
|
Brand($$renderer2, { pet });
|
|
@@ -860,7 +861,7 @@ function TopBar($$renderer, $$props) {
|
|
|
860
861
|
onclick: onDeleteAll,
|
|
861
862
|
disabled: !canDelete,
|
|
862
863
|
children: ($$renderer3) => {
|
|
863
|
-
$$renderer3.push(
|
|
864
|
+
$$renderer3.push(`<!---->${$19.escape(deleteLabel())}`);
|
|
864
865
|
},
|
|
865
866
|
$$slots: { default: true }
|
|
866
867
|
});
|
|
@@ -968,10 +969,11 @@ function DashboardView($$renderer, $$props) {
|
|
|
968
969
|
}
|
|
969
970
|
async function deleteAll() {
|
|
970
971
|
actionError = null;
|
|
971
|
-
|
|
972
|
+
const ids = visible().map((i) => i.id);
|
|
973
|
+
if (!confirm(`Delete ${ids.length} instance${ids.length === 1 ? "" : "s"} and their copied files?`))
|
|
972
974
|
return;
|
|
973
975
|
try {
|
|
974
|
-
await apiPost("/api/instances/delete-all",
|
|
976
|
+
await apiPost("/api/instances/delete-all", { ids }, "Failed to delete all");
|
|
975
977
|
} catch (err) {
|
|
976
978
|
actionError = err.message;
|
|
977
979
|
}
|
|
@@ -982,7 +984,7 @@ function DashboardView($$renderer, $$props) {
|
|
|
982
984
|
TopBar($$renderer3, {
|
|
983
985
|
auth: preflight.auth,
|
|
984
986
|
pet,
|
|
985
|
-
canDelete:
|
|
987
|
+
canDelete: visible().length > 0,
|
|
986
988
|
ready: ready(),
|
|
987
989
|
creating,
|
|
988
990
|
filter,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codebay",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.2",
|
|
4
4
|
"description": "Web UI for spinning up isolated devcontainer instances from any local folder, each with a browser-based VS Code (code-server) — built for parallel Claude Code workflows.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -137,9 +137,15 @@
|
|
|
137
137
|
|
|
138
138
|
async function deleteAll() {
|
|
139
139
|
actionError = null;
|
|
140
|
-
|
|
140
|
+
const ids = visible.map((i) => i.id);
|
|
141
|
+
if (
|
|
142
|
+
!confirm(
|
|
143
|
+
`Delete ${ids.length} instance${ids.length === 1 ? '' : 's'} and their copied files?`
|
|
144
|
+
)
|
|
145
|
+
)
|
|
146
|
+
return;
|
|
141
147
|
try {
|
|
142
|
-
await apiPost('/api/instances/delete-all',
|
|
148
|
+
await apiPost('/api/instances/delete-all', { ids }, 'Failed to delete all');
|
|
143
149
|
// The live stream reflects the resulting empty state.
|
|
144
150
|
} catch (err) {
|
|
145
151
|
actionError = (err as Error).message;
|
|
@@ -150,7 +156,7 @@
|
|
|
150
156
|
<TopBar
|
|
151
157
|
auth={preflight.auth}
|
|
152
158
|
{pet}
|
|
153
|
-
canDelete={
|
|
159
|
+
canDelete={visible.length > 0}
|
|
154
160
|
{ready}
|
|
155
161
|
{creating}
|
|
156
162
|
{filter}
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
onDeleteAll?: () => void;
|
|
39
39
|
} = $props();
|
|
40
40
|
|
|
41
|
+
const deleteLabel = $derived(filter && filter !== 'all' ? `Delete ${filter}` : 'Delete all');
|
|
41
42
|
const altMode = $derived<InstanceMode>(defaultMode === 'terminal' ? 'ide' : 'terminal');
|
|
42
43
|
</script>
|
|
43
44
|
|
|
@@ -53,7 +54,7 @@
|
|
|
53
54
|
<SettingsCog />
|
|
54
55
|
<CredMenu {auth} />
|
|
55
56
|
<Button variant="danger" size="sm" onclick={onDeleteAll} disabled={!canDelete}>
|
|
56
|
-
|
|
57
|
+
{deleteLabel}
|
|
57
58
|
</Button>
|
|
58
59
|
<div class="new-group">
|
|
59
60
|
<Button
|
|
@@ -940,8 +940,10 @@ export async function deleteInstance(id: string): Promise<void> {
|
|
|
940
940
|
triggerReconcile();
|
|
941
941
|
}
|
|
942
942
|
|
|
943
|
-
export async function deleteAllInstances(): Promise<void> {
|
|
943
|
+
export async function deleteAllInstances(ids?: string[]): Promise<void> {
|
|
944
|
+
const only = ids && new Set(ids);
|
|
944
945
|
for (const row of allInstances()) {
|
|
946
|
+
if (only && !only.has(row.id)) continue;
|
|
945
947
|
await deleteInstance(row.id);
|
|
946
948
|
}
|
|
947
949
|
}
|
package/src/routes.ts
CHANGED
|
@@ -642,8 +642,9 @@ export const routes: Record<string, MochiRouteValue> = {
|
|
|
642
642
|
return apiError(405, 'Method Not Allowed');
|
|
643
643
|
}),
|
|
644
644
|
|
|
645
|
-
'/api/instances/delete-all': mutationRoute('POST', async () => {
|
|
646
|
-
await
|
|
645
|
+
'/api/instances/delete-all': mutationRoute('POST', async ({ request }) => {
|
|
646
|
+
const body = (await request.json().catch(() => null)) as { ids?: string[] } | null;
|
|
647
|
+
await deleteAllInstances(Array.isArray(body?.ids) ? body.ids : undefined);
|
|
647
648
|
return { ok: true };
|
|
648
649
|
}),
|
|
649
650
|
|
|
@@ -1,2 +0,0 @@
|
|
|
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);
|