codebay 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,97 +3,97 @@
3
3
  "assetPrefix": "/_mochi",
4
4
  "bootstrapUrl": "/_mochi/client/HydratableIsland-wrq79y0w.js",
5
5
  "componentEntryUrls": {
6
- "AppShell_2rtnxn6pgp2rh": "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-7xgbmxxg.js",
7
- "InstanceView_2ma45l9bybfhl": "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-2ntmdm3e.js",
8
- "AvatarsView_257s9yq1wwr4f": "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-3cnbjpz2.js",
9
- "SettingsView_8hmarwmf8onq": "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-t08spym1.js"
6
+ "SettingsView_8hmarwmf8onq": "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js",
7
+ "AvatarsView_257s9yq1wwr4f": "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js",
8
+ "InstanceView_2ma45l9bybfhl": "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js",
9
+ "AppShell_2rtnxn6pgp2rh": "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js"
10
10
  },
11
11
  "cssFileUrls": {
12
12
  "$mochi/templates/DefaultError.svelte": "/_mochi/css/DefaultError-2b0daamydxgb2.css",
13
13
  "$mochi/templates/ClientStats/ClientStats.svelte": "/_mochi/css/ClientStats-19qzckq40p2q9.css",
14
14
  "$mochi/templates/BackLink.svelte": "/_mochi/css/BackLink-2wlu0eovz9j86.css",
15
- "src/components/AppShell.svelte": "/_mochi/css/AppShell-36mpg5smnbmuw.css",
16
- "src/components/InstanceView.svelte": "/_mochi/css/InstanceView-wq85bxtusont.css",
17
- "src/components/AvatarsView.svelte": "/_mochi/css/AvatarsView-3hq37u4dgtljn.css",
18
15
  "src/components/SettingsView.svelte": "/_mochi/css/SettingsView-1nfdwnm16cpp2.css",
19
- "src/components/IdeBar.svelte": "/_mochi/css/IdeBar-2qoqi2ya9zdn3.css",
20
- "src/components/IdeLoader.svelte": "/_mochi/css/IdeLoader-26rlko8e00j3g.css",
21
- "src/components/DashboardView.svelte": "/_mochi/css/DashboardView-1cy4xpqhja9sx.css",
16
+ "src/components/AvatarsView.svelte": "/_mochi/css/AvatarsView-3hq37u4dgtljn.css",
17
+ "src/components/InstanceView.svelte": "/_mochi/css/InstanceView-wq85bxtusont.css",
18
+ "src/components/AppShell.svelte": "/_mochi/css/AppShell-36mpg5smnbmuw.css",
19
+ "src/components/AppBar.svelte": "/_mochi/css/AppBar-3bxinv4pabv8l.css",
20
+ "src/components/CoinButton.svelte": "/_mochi/css/CoinButton-1rej3sh3tkjud.css",
21
+ "src/components/Button.svelte": "/_mochi/css/Button-2vtbrzb5kgu25.css",
22
+ "src/components/ThemePicker.svelte": "/_mochi/css/ThemePicker-1ir8jyocm8mvi.css",
22
23
  "node_modules/svelte-french-toast/dist/components/CheckmarkIcon.svelte": "/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css",
23
24
  "node_modules/svelte-french-toast/dist/components/ToastIcon.svelte": "/_mochi/css/ToastIcon-2z5wrkc95khg0.css",
24
- "node_modules/svelte-french-toast/dist/components/LoaderIcon.svelte": "/_mochi/css/LoaderIcon-soq5wt3p05ye.css",
25
- "node_modules/svelte-french-toast/dist/components/ErrorIcon.svelte": "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css",
26
25
  "node_modules/svelte-french-toast/dist/components/Toaster.svelte": "/_mochi/css/Toaster-kk60j193854n.css",
26
+ "node_modules/svelte-french-toast/dist/components/LoaderIcon.svelte": "/_mochi/css/LoaderIcon-soq5wt3p05ye.css",
27
+ "src/components/AvatarEditor.svelte": "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css",
28
+ "src/components/Avatar.svelte": "/_mochi/css/Avatar-24th63awm9mna.css",
27
29
  "node_modules/svelte-french-toast/dist/components/ToastBar.svelte": "/_mochi/css/ToastBar-3havgkmtofntq.css",
30
+ "node_modules/svelte-french-toast/dist/components/ErrorIcon.svelte": "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css",
28
31
  "src/components/Skeleton.svelte": "/_mochi/css/Skeleton-8k69usiju43h.css",
29
32
  "src/components/HealthBox.svelte": "/_mochi/css/HealthBox-er2her0jukwl.css",
30
33
  "src/components/StatusBadge.svelte": "/_mochi/css/StatusBadge-3mq0j7z6aq4j.css",
31
- "src/components/Avatar.svelte": "/_mochi/css/Avatar-24th63awm9mna.css",
32
- "src/components/AvatarEditor.svelte": "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css",
33
- "src/components/AppBar.svelte": "/_mochi/css/AppBar-3bxinv4pabv8l.css",
34
- "src/components/CoinButton.svelte": "/_mochi/css/CoinButton-1rej3sh3tkjud.css",
35
- "src/components/Button.svelte": "/_mochi/css/Button-2vtbrzb5kgu25.css",
36
- "src/components/ThemePicker.svelte": "/_mochi/css/ThemePicker-1ir8jyocm8mvi.css",
37
- "src/components/TopBar.svelte": "/_mochi/css/TopBar-2q87li6yt8ids.css",
34
+ "src/components/DashboardView.svelte": "/_mochi/css/DashboardView-1cy4xpqhja9sx.css",
35
+ "src/components/IdeLoader.svelte": "/_mochi/css/IdeLoader-26rlko8e00j3g.css",
36
+ "src/components/IdeBar.svelte": "/_mochi/css/IdeBar-2qoqi2ya9zdn3.css",
37
+ "node_modules/svelte-french-toast/dist/components/ToastWrapper.svelte": "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css",
38
38
  "src/components/InstanceCard.svelte": "/_mochi/css/InstanceCard-16f77aysm7lgp.css",
39
39
  "src/components/FolderBrowser.svelte": "/_mochi/css/FolderBrowser-1x428zb3f2kti.css",
40
- "node_modules/svelte-french-toast/dist/components/ToastWrapper.svelte": "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css",
41
40
  "node_modules/svelte-french-toast/dist/components/ToastMessage.svelte": "/_mochi/css/ToastMessage-2jfwb2og2lfa8.css",
41
+ "src/components/TopBar.svelte": "/_mochi/css/TopBar-2q87li6yt8ids.css",
42
+ "src/components/PortsBox.svelte": "/_mochi/css/PortsBox-1t25b5yg7jva3.css",
42
43
  "src/components/Brand.svelte": "/_mochi/css/Brand-1la7zw5uhcbl4.css",
43
- "src/components/SettingsCog.svelte": "/_mochi/css/SettingsCog-jftyadvo64qo.css",
44
44
  "src/components/CredMenu.svelte": "/_mochi/css/CredMenu-9hwgeptp7crb.css",
45
- "src/components/BranchBox.svelte": "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css",
46
- "src/components/PortsBox.svelte": "/_mochi/css/PortsBox-1t25b5yg7jva3.css"
45
+ "src/components/SettingsCog.svelte": "/_mochi/css/SettingsCog-jftyadvo64qo.css",
46
+ "src/components/BranchBox.svelte": "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css"
47
47
  },
48
48
  "clientFiles": {
49
49
  "/_mochi/css/DefaultError-2b0daamydxgb2.css": "svelte-css/DefaultError-2b0daamydxgb2.css",
50
50
  "/_mochi/css/ClientStats-19qzckq40p2q9.css": "svelte-css/ClientStats-19qzckq40p2q9.css",
51
51
  "/_mochi/css/BackLink-2wlu0eovz9j86.css": "svelte-css/BackLink-2wlu0eovz9j86.css",
52
- "/_mochi/css/AppShell-36mpg5smnbmuw.css": "svelte-css/AppShell-36mpg5smnbmuw.css",
53
- "/_mochi/css/InstanceView-wq85bxtusont.css": "svelte-css/InstanceView-wq85bxtusont.css",
54
- "/_mochi/css/AvatarsView-3hq37u4dgtljn.css": "svelte-css/AvatarsView-3hq37u4dgtljn.css",
55
52
  "/_mochi/css/SettingsView-1nfdwnm16cpp2.css": "svelte-css/SettingsView-1nfdwnm16cpp2.css",
56
- "/_mochi/css/IdeBar-2qoqi2ya9zdn3.css": "svelte-css/IdeBar-2qoqi2ya9zdn3.css",
57
- "/_mochi/css/IdeLoader-26rlko8e00j3g.css": "svelte-css/IdeLoader-26rlko8e00j3g.css",
58
- "/_mochi/css/DashboardView-1cy4xpqhja9sx.css": "svelte-css/DashboardView-1cy4xpqhja9sx.css",
53
+ "/_mochi/css/AvatarsView-3hq37u4dgtljn.css": "svelte-css/AvatarsView-3hq37u4dgtljn.css",
54
+ "/_mochi/css/InstanceView-wq85bxtusont.css": "svelte-css/InstanceView-wq85bxtusont.css",
55
+ "/_mochi/css/AppShell-36mpg5smnbmuw.css": "svelte-css/AppShell-36mpg5smnbmuw.css",
56
+ "/_mochi/css/AppBar-3bxinv4pabv8l.css": "svelte-css/AppBar-3bxinv4pabv8l.css",
57
+ "/_mochi/css/CoinButton-1rej3sh3tkjud.css": "svelte-css/CoinButton-1rej3sh3tkjud.css",
58
+ "/_mochi/css/Button-2vtbrzb5kgu25.css": "svelte-css/Button-2vtbrzb5kgu25.css",
59
+ "/_mochi/css/ThemePicker-1ir8jyocm8mvi.css": "svelte-css/ThemePicker-1ir8jyocm8mvi.css",
59
60
  "/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css": "svelte-css/CheckmarkIcon-3qlazj2oc50jc.css",
60
61
  "/_mochi/css/ToastIcon-2z5wrkc95khg0.css": "svelte-css/ToastIcon-2z5wrkc95khg0.css",
61
- "/_mochi/css/LoaderIcon-soq5wt3p05ye.css": "svelte-css/LoaderIcon-soq5wt3p05ye.css",
62
- "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css": "svelte-css/ErrorIcon-2x0tzsqxskw28.css",
63
62
  "/_mochi/css/Toaster-kk60j193854n.css": "svelte-css/Toaster-kk60j193854n.css",
63
+ "/_mochi/css/LoaderIcon-soq5wt3p05ye.css": "svelte-css/LoaderIcon-soq5wt3p05ye.css",
64
+ "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css": "svelte-css/AvatarEditor-1ryrs1md5g36y.css",
65
+ "/_mochi/css/Avatar-24th63awm9mna.css": "svelte-css/Avatar-24th63awm9mna.css",
64
66
  "/_mochi/css/ToastBar-3havgkmtofntq.css": "svelte-css/ToastBar-3havgkmtofntq.css",
67
+ "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css": "svelte-css/ErrorIcon-2x0tzsqxskw28.css",
65
68
  "/_mochi/css/Skeleton-8k69usiju43h.css": "svelte-css/Skeleton-8k69usiju43h.css",
66
69
  "/_mochi/css/HealthBox-er2her0jukwl.css": "svelte-css/HealthBox-er2her0jukwl.css",
67
70
  "/_mochi/css/StatusBadge-3mq0j7z6aq4j.css": "svelte-css/StatusBadge-3mq0j7z6aq4j.css",
68
- "/_mochi/css/Avatar-24th63awm9mna.css": "svelte-css/Avatar-24th63awm9mna.css",
69
- "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css": "svelte-css/AvatarEditor-1ryrs1md5g36y.css",
70
- "/_mochi/css/AppBar-3bxinv4pabv8l.css": "svelte-css/AppBar-3bxinv4pabv8l.css",
71
- "/_mochi/css/CoinButton-1rej3sh3tkjud.css": "svelte-css/CoinButton-1rej3sh3tkjud.css",
72
- "/_mochi/css/Button-2vtbrzb5kgu25.css": "svelte-css/Button-2vtbrzb5kgu25.css",
73
- "/_mochi/css/ThemePicker-1ir8jyocm8mvi.css": "svelte-css/ThemePicker-1ir8jyocm8mvi.css",
74
- "/_mochi/css/TopBar-2q87li6yt8ids.css": "svelte-css/TopBar-2q87li6yt8ids.css",
71
+ "/_mochi/css/DashboardView-1cy4xpqhja9sx.css": "svelte-css/DashboardView-1cy4xpqhja9sx.css",
72
+ "/_mochi/css/IdeLoader-26rlko8e00j3g.css": "svelte-css/IdeLoader-26rlko8e00j3g.css",
73
+ "/_mochi/css/IdeBar-2qoqi2ya9zdn3.css": "svelte-css/IdeBar-2qoqi2ya9zdn3.css",
74
+ "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css": "svelte-css/ToastWrapper-1fbnym10rm2nv.css",
75
75
  "/_mochi/css/InstanceCard-16f77aysm7lgp.css": "svelte-css/InstanceCard-16f77aysm7lgp.css",
76
76
  "/_mochi/css/FolderBrowser-1x428zb3f2kti.css": "svelte-css/FolderBrowser-1x428zb3f2kti.css",
77
- "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css": "svelte-css/ToastWrapper-1fbnym10rm2nv.css",
78
77
  "/_mochi/css/ToastMessage-2jfwb2og2lfa8.css": "svelte-css/ToastMessage-2jfwb2og2lfa8.css",
78
+ "/_mochi/css/TopBar-2q87li6yt8ids.css": "svelte-css/TopBar-2q87li6yt8ids.css",
79
+ "/_mochi/css/PortsBox-1t25b5yg7jva3.css": "svelte-css/PortsBox-1t25b5yg7jva3.css",
79
80
  "/_mochi/css/Brand-1la7zw5uhcbl4.css": "svelte-css/Brand-1la7zw5uhcbl4.css",
80
- "/_mochi/css/SettingsCog-jftyadvo64qo.css": "svelte-css/SettingsCog-jftyadvo64qo.css",
81
81
  "/_mochi/css/CredMenu-9hwgeptp7crb.css": "svelte-css/CredMenu-9hwgeptp7crb.css",
82
+ "/_mochi/css/SettingsCog-jftyadvo64qo.css": "svelte-css/SettingsCog-jftyadvo64qo.css",
82
83
  "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css": "svelte-css/BranchBox-1yqu1q2mgnjwz.css",
83
- "/_mochi/css/PortsBox-1t25b5yg7jva3.css": "svelte-css/PortsBox-1t25b5yg7jva3.css",
84
84
  "/_mochi/import-css/index-0nwv3654.css": "import-css/index-0nwv3654.css",
85
85
  "/_mochi/import-css/index-xndx4980.css": "import-css/index-xndx4980.css",
86
86
  "/_mochi/client/HydratableIsland-wrq79y0w.js": "svelte-client/HydratableIsland-wrq79y0w.js",
87
- "/_mochi/client/chunk-5jnepvzx.js": "svelte-client/chunk-5jnepvzx.js",
88
- "/_mochi/client/chunk-tr67wtwn.js": "svelte-client/chunk-tr67wtwn.js",
89
- "/_mochi/client/chunk-hcztrd75.js": "svelte-client/chunk-hcztrd75.js",
90
- "/_mochi/client/chunk-sjmcgh7f.js": "svelte-client/chunk-sjmcgh7f.js",
87
+ "/_mochi/client/chunk-0jtmkpx4.js": "svelte-client/chunk-0jtmkpx4.js",
88
+ "/_mochi/client/chunk-gjjhya9m.js": "svelte-client/chunk-gjjhya9m.js",
89
+ "/_mochi/client/chunk-5p31aqh0.js": "svelte-client/chunk-5p31aqh0.js",
90
+ "/_mochi/client/chunk-597d17x0.js": "svelte-client/chunk-597d17x0.js",
91
91
  "/_mochi/client/chunk-04qv4w6w.js": "svelte-client/chunk-04qv4w6w.js",
92
92
  "/_mochi/client/chunk-qxwt25hn.js": "svelte-client/chunk-qxwt25hn.js",
93
- "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-7xgbmxxg.js": "svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-7xgbmxxg.js",
94
- "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-2ntmdm3e.js": "svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-2ntmdm3e.js",
95
- "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-3cnbjpz2.js": "svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-3cnbjpz2.js",
96
- "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-t08spym1.js": "svelte-client/_hydrate-SettingsView_8hmarwmf8onq-t08spym1.js"
93
+ "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js": "svelte-client/_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js",
94
+ "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js": "svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js",
95
+ "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js": "svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js",
96
+ "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js": "svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js"
97
97
  },
98
98
  "components": {
99
99
  "$mochi/templates/DefaultError.svelte": {
@@ -693,7 +693,7 @@
693
693
  "imports": []
694
694
  },
695
695
  {
696
- "name": "_hydrate-AppShell_2rtnxn6pgp2rh-7xgbmxxg.js",
696
+ "name": "_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js",
697
697
  "size": 36664,
698
698
  "inputs": [
699
699
  {
@@ -870,16 +870,16 @@
870
870
  }
871
871
  ],
872
872
  "imports": [
873
- "chunk-5jnepvzx.js",
874
- "chunk-tr67wtwn.js",
875
- "chunk-hcztrd75.js",
876
- "chunk-sjmcgh7f.js",
873
+ "chunk-0jtmkpx4.js",
874
+ "chunk-gjjhya9m.js",
875
+ "chunk-5p31aqh0.js",
876
+ "chunk-597d17x0.js",
877
877
  "chunk-04qv4w6w.js",
878
878
  "chunk-qxwt25hn.js"
879
879
  ]
880
880
  },
881
881
  {
882
- "name": "_hydrate-SettingsView_8hmarwmf8onq-t08spym1.js",
882
+ "name": "_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js",
883
883
  "size": 35485,
884
884
  "inputs": [
885
885
  {
@@ -1016,20 +1016,20 @@
1016
1016
  }
1017
1017
  ],
1018
1018
  "imports": [
1019
- "chunk-tr67wtwn.js",
1020
- "chunk-hcztrd75.js",
1021
- "chunk-sjmcgh7f.js",
1019
+ "chunk-0jtmkpx4.js",
1020
+ "chunk-gjjhya9m.js",
1021
+ "chunk-597d17x0.js",
1022
1022
  "chunk-04qv4w6w.js",
1023
1023
  "chunk-qxwt25hn.js"
1024
1024
  ]
1025
1025
  },
1026
1026
  {
1027
- "name": "chunk-sjmcgh7f.js",
1028
- "size": 19235,
1027
+ "name": "chunk-gjjhya9m.js",
1028
+ "size": 19234,
1029
1029
  "inputs": [
1030
1030
  {
1031
1031
  "path": "src/components/Avatar.svelte",
1032
- "size": 1706
1032
+ "size": 1712
1033
1033
  },
1034
1034
  {
1035
1035
  "path": "src/components/Button.svelte",
@@ -1045,7 +1045,7 @@
1045
1045
  },
1046
1046
  {
1047
1047
  "path": "node_modules/svelte-french-toast/dist/core/store.js",
1048
- "size": 1049
1048
+ "size": 1041
1049
1049
  },
1050
1050
  {
1051
1051
  "path": "node_modules/svelte-french-toast/dist/core/use-toaster.js",
@@ -1324,11 +1324,11 @@
1324
1324
  "size": 5
1325
1325
  },
1326
1326
  {
1327
- "path": "node_modules/svelte/src/store/index-client.js",
1327
+ "path": "node_modules/@lucide/svelte/dist/icons/house.js",
1328
1328
  "size": 0
1329
1329
  },
1330
1330
  {
1331
- "path": "node_modules/@lucide/svelte/dist/icons/house.js",
1331
+ "path": "node_modules/svelte/src/store/index-client.js",
1332
1332
  "size": 0
1333
1333
  }
1334
1334
  ],
@@ -1338,7 +1338,7 @@
1338
1338
  ]
1339
1339
  },
1340
1340
  {
1341
- "name": "_hydrate-InstanceView_2ma45l9bybfhl-2ntmdm3e.js",
1341
+ "name": "_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js",
1342
1342
  "size": 10116,
1343
1343
  "inputs": [
1344
1344
  {
@@ -1383,14 +1383,14 @@
1383
1383
  }
1384
1384
  ],
1385
1385
  "imports": [
1386
- "chunk-5jnepvzx.js",
1387
- "chunk-hcztrd75.js",
1386
+ "chunk-5p31aqh0.js",
1387
+ "chunk-597d17x0.js",
1388
1388
  "chunk-04qv4w6w.js",
1389
1389
  "chunk-qxwt25hn.js"
1390
1390
  ]
1391
1391
  },
1392
1392
  {
1393
- "name": "_hydrate-AvatarsView_257s9yq1wwr4f-3cnbjpz2.js",
1393
+ "name": "_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js",
1394
1394
  "size": 7284,
1395
1395
  "inputs": [
1396
1396
  {
@@ -1443,13 +1443,13 @@
1443
1443
  }
1444
1444
  ],
1445
1445
  "imports": [
1446
- "chunk-sjmcgh7f.js",
1446
+ "chunk-gjjhya9m.js",
1447
1447
  "chunk-04qv4w6w.js",
1448
1448
  "chunk-qxwt25hn.js"
1449
1449
  ]
1450
1450
  },
1451
1451
  {
1452
- "name": "chunk-5jnepvzx.js",
1452
+ "name": "chunk-5p31aqh0.js",
1453
1453
  "size": 1447,
1454
1454
  "inputs": [
1455
1455
  {
@@ -1507,7 +1507,7 @@
1507
1507
  ]
1508
1508
  },
1509
1509
  {
1510
- "name": "chunk-tr67wtwn.js",
1510
+ "name": "chunk-0jtmkpx4.js",
1511
1511
  "size": 1392,
1512
1512
  "inputs": [
1513
1513
  {
@@ -1533,7 +1533,7 @@
1533
1533
  ]
1534
1534
  },
1535
1535
  {
1536
- "name": "chunk-hcztrd75.js",
1536
+ "name": "chunk-597d17x0.js",
1537
1537
  "size": 253,
1538
1538
  "inputs": [
1539
1539
  {
@@ -1,2 +1,2 @@
1
- import{a as je,b as Ie,c as zt,d as He,e as Ee,f as Je,h as ei}from"/_mochi/client/chunk-5jnepvzx.js";import{i as $e,l as Ut,m as ti}from"/_mochi/client/chunk-tr67wtwn.js";import{n as Yt}from"/_mochi/client/chunk-hcztrd75.js";import{t as Gt,u as ft,v as qe,w as Xt,x as Ge}from"/_mochi/client/chunk-sjmcgh7f.js";import{y as q}from"/_mochi/client/chunk-04qv4w6w.js";import{B as l,Ba as gt,C as X,Ea as Pt,G as dt,H as ot,Ha as rt,Ja as Tt,Ka as Ze,Ma as U,N as se,Na as j,O as Se,Oa as Et,P,R as ee,S as h,Sa as Ye,U as n,Ua as ii,V as lt,W as Lt,X as d,Y as xt,Z as s,_ as $t,ba as A,ca as he,da as ue,ea as Wt,fa as Qe,ga as t,ja as Ue,ka as Dt,la as Q,ma as Bt,na as c,pa as st,qa as oe,ra as o,sa as Z,ta as N,ua as Xe,va as mt,ya as Oe}from"/_mochi/client/chunk-qxwt25hn.js";var Fe=!1;class xe extends Date{#t=h(super.getTime());#e=new Map;#i=he;constructor(...i){super(...i);if(!Fe)this.#a()}#a(){Fe=!0;var i=xe.prototype,e=Date.prototype,a=Object.getOwnPropertyNames(e);for(let r of a){if(r.startsWith("get")||r.startsWith("to")||r==="valueOf")i[r]=function(...v){if(v.length>0)return t(this.#t),e[r].apply(this,v);var p=this.#e.get(r);if(p===void 0){let S=he;ue(this.#i),p=P(()=>{return t(this.#t),e[r].apply(this,v)}),this.#e.set(r,p),ue(S)}return t(p)};if(r.startsWith("set"))i[r]=function(...v){var p=e[r].apply(this,v);return n(this.#t,e.getTime.call(this)),p}}}}var ri=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],ni=["difference","intersection","symmetricDifference","union"],ke=!1;class Mt extends Set{#t=new Map;#e=h(0);#i=h(0);#a=Wt||-1;constructor(i){super();if(i){for(var e of i)super.add(e);this.#i.v=super.size}if(!ke)this.#n()}#r(i){return Wt===this.#a?h(i):ee(i)}#n(){ke=!0;var i=Mt.prototype,e=Set.prototype;for(let a of ri)i[a]=function(...r){return t(this.#e),e[a].apply(this,r)};for(let a of ni)i[a]=function(...r){t(this.#e);var v=e[a].apply(this,r);return new Mt(v)}}has(i){var e=super.has(i),a=this.#t,r=a.get(i);if(r===void 0){if(!e)return t(this.#e),!1;r=this.#r(!0),a.set(i,r)}return t(r),e}add(i){if(!super.has(i))super.add(i),n(this.#i,super.size),lt(this.#e);return this}delete(i){var e=super.delete(i),a=this.#t,r=a.get(i);if(r!==void 0)a.delete(i),n(r,!1);if(e)n(this.#i,super.size),lt(this.#e);return e}clear(){if(super.size===0)return;super.clear();var i=this.#t;for(var e of i.values())n(e,!1);i.clear(),n(this.#i,0),lt(this.#e)}keys(){return this.values()}values(){return t(this.#e),super.values()}entries(){return t(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return t(this.#i)}}class Re extends Map{#t=new Map;#e=h(0);#i=h(0);#a=Wt||-1;constructor(i){super();if(i){for(var[e,a]of i)super.set(e,a);this.#i.v=super.size}}#r(i){return Wt===this.#a?h(i):ee(i)}has(i){var e=this.#t,a=e.get(i);if(a===void 0)if(super.has(i))a=this.#r(0),e.set(i,a);else return t(this.#e),!1;return t(a),!0}forEach(i,e){this.#n(),super.forEach(i,e)}get(i){var e=this.#t,a=e.get(i);if(a===void 0)if(super.has(i))a=this.#r(0),e.set(i,a);else{t(this.#e);return}return t(a),super.get(i)}set(i,e){var a=this.#t,r=a.get(i),v=super.get(i),p=super.set(i,e),S=this.#e;if(r===void 0)r=this.#r(0),a.set(i,r),n(this.#i,super.size),lt(S);else if(v!==e){lt(r);var C=S.reactions===null?null:new Set(S.reactions),w=C===null||!r.reactions?.every((R)=>C.has(R));if(w)lt(S)}return p}delete(i){var e=this.#t,a=e.get(i),r=super.delete(i);if(a!==void 0)e.delete(i),n(a,-1);if(r)n(this.#i,super.size),lt(this.#e);return r}clear(){if(super.size===0)return;super.clear();var i=this.#t;n(this.#i,0);for(var e of i.values())n(e,-1);lt(this.#e),i.clear()}#n(){t(this.#e);var i=this.#t;if(this.#i.v!==i.size){for(var e of super.keys())if(!i.has(e)){var a=this.#r(0);i.set(e,a)}}for([,a]of this.#t)t(a)}keys(){return t(this.#e),super.keys()}values(){return this.#n(),super.values()}entries(){return this.#n(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#i),super.size}}var ie=Symbol("replace");class ae extends URLSearchParams{#t=h(0);#e=_e();#i=!1;#a(){if(!this.#e||this.#i)return;this.#i=!0;let i=this.toString();this.#e.search=i&&`?${i}`,this.#i=!1}[ie](i){if(this.#i)return;if(i.toString()===super.toString())return;this.#i=!0;for(let e of[...super.keys()])super.delete(e);for(let[e,a]of i)super.append(e,a);lt(this.#t),this.#i=!1}append(i,e){super.append(i,e),this.#a(),lt(this.#t)}delete(i,e){var a=super.has(i,e);if(super.delete(i,e),a)this.#a(),lt(this.#t)}get(i){return t(this.#t),super.get(i)}getAll(i){return t(this.#t),super.getAll(i)}has(i,e){return t(this.#t),super.has(i,e)}keys(){return t(this.#t),super.keys()}forEach(i,e){t(this.#t),super.forEach(i,e)}set(i,e){var a=super.getAll(i);super.set(i,e);var r=super.getAll(i);if(a.length!==r.length||a.some((v,p)=>v!==r[p]))this.#a(),lt(this.#t)}sort(){super.sort(),this.#a(),lt(this.#t)}toString(){return t(this.#t),super.toString()}values(){return t(this.#t),super.values()}entries(){return t(this.#t),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#t),super.size}}var be=null;function _e(){return be}class ye extends URL{#t=h(super.protocol);#e=h(super.username);#i=h(super.password);#a=h(super.hostname);#r=h(super.port);#n=h(super.pathname);#l=h(super.hash);#d=h(super.search);#o;constructor(i,e){i=new URL(i,e);super(i);be=this,this.#o=new ae(i.searchParams),be=null}get hash(){return t(this.#l)}set hash(i){super.hash=i,n(this.#l,super.hash)}get host(){return t(this.#a),t(this.#r),super.host}set host(i){super.host=i,n(this.#a,super.hostname),n(this.#r,super.port)}get hostname(){return t(this.#a)}set hostname(i){super.hostname=i,n(this.#a,super.hostname)}get href(){return t(this.#t),t(this.#e),t(this.#i),t(this.#a),t(this.#r),t(this.#n),t(this.#l),t(this.#d),super.href}set href(i){super.href=i,n(this.#t,super.protocol),n(this.#e,super.username),n(this.#i,super.password),n(this.#a,super.hostname),n(this.#r,super.port),n(this.#n,super.pathname),n(this.#l,super.hash),n(this.#d,super.search),this.#o[ie](super.searchParams)}get password(){return t(this.#i)}set password(i){super.password=i,n(this.#i,super.password)}get pathname(){return t(this.#n)}set pathname(i){super.pathname=i,n(this.#n,super.pathname)}get port(){return t(this.#r)}set port(i){super.port=i,n(this.#r,super.port)}get protocol(){return t(this.#t)}set protocol(i){super.protocol=i,n(this.#t,super.protocol)}get search(){return t(this.#d)}set search(i){super.search=i,n(this.#d,super.search),this.#o[ie](super.searchParams)}get username(){return t(this.#e)}set username(i){super.username=i,n(this.#e,super.username)}get origin(){return t(this.#t),t(this.#a),t(this.#r),super.origin}get searchParams(){return this.#o}toString(){return this.href}toJSON(){return this.href}}class We{#t;#e;constructor(i,e){this.#t=i,this.#e=Se(e)}get current(){return this.#e(),this.#t()}}var Ke=/^[A-Za-z0-9._-]+$/;function di(i){let e=i.trim();if(!e)return null;let a,r,v=e.match(/^[A-Za-z0-9._-]+@([A-Za-z0-9.-]+):(.+)$/);if(v)a=v[1],r=v[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(e)){let w;try{w=new URL(e)}catch{return null}if(w.protocol!=="http:"&&w.protocol!=="https:"&&w.protocol!=="ssh:")return null;a=w.hostname,r=w.pathname}else{let w=e.match(/^([A-Za-z0-9-]+\.[A-Za-z0-9.-]+)\/(.+)$/);if(!w)return null;a=w[1],r=w[2]}if(!a||!r)return null;let p=r.replace(/\.git$/i,"").split("/").filter(Boolean),[S,C]=p;if(!S||!C||!Ke.test(S)||!Ke.test(C))return null;return{host:a,owner:S,repo:C,cloneUrl:`https://${a}/${S}/${C}.git`}}function we(i){return di(i)!==null}var oi=new Set(["$$slots","$$events","$$legacy"]);function re(i,e){let a=U(e,oi),r=[["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"}]];q(i,j({name:"folder-clock"},()=>a,{get iconNode(){return r}}))}var si=new Set(["$$slots","$$events","$$legacy"]);function Kt(i,e){let a=U(e,si),r=[["path",{d:"M15 6a9 9 0 0 0-9 9V3"}],["circle",{cx:"18",cy:"6",r:"3"}],["circle",{cx:"6",cy:"18",r:"3"}]];q(i,j({name:"git-branch"},()=>a,{get iconNode(){return r}}))}var fi=new Set(["$$slots","$$events","$$legacy"]);function ne(i,e){let a=U(e,fi),r=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];q(i,j({name:"arrow-up"},()=>a,{get iconNode(){return r}}))}var ci=new Set(["$$slots","$$events","$$legacy"]);function le(i,e){let a=U(e,ci),r=[["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"}]];q(i,j({name:"folder"},()=>a,{get iconNode(){return r}}))}var mi=new Set(["$$slots","$$events","$$legacy"]);function Qt(i,e){let a=U(e,mi),r=[["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"}]];q(i,j({name:"triangle-alert"},()=>a,{get iconNode(){return r}}))}var $i=c('<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>'),gi=c('<button class="recent-toggle svelte-oq97c4"> </button>'),vi=c('<div class="recent svelte-oq97c4"><div class="recent-label svelte-oq97c4">Recent</div> <!> <!></div>'),pi=c('<div class="muted svelte-oq97c4">Loading…</div>'),hi=c('<div class="muted err svelte-oq97c4"> </div>'),ui=c('<div class="row svelte-oq97c4"><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4">..</span></button></div>'),xi=c('<div class="muted svelte-oq97c4"> </div>'),bi=c('<span class="badge svelte-oq97c4">devcontainer</span>'),Si=c('<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>'),wi=c("<!> <!> <!>",1),Ii=c(`<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>`),Ni=c('<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="clone svelte-oq97c4"><div class="clone-label svelte-oq97c4">Clone a Git repository</div> <div class="clone-row svelte-oq97c4"><input class="clone-url svelte-oq97c4" type="text" placeholder="https://github.com/owner/repo" spellcheck="false" autocomplete="off"/> <input class="clone-branch svelte-oq97c4" type="text" placeholder="branch (optional)" spellcheck="false" autocomplete="off"/> <button class="clone-btn svelte-oq97c4">Clone</button></div></div> <div class="crumbs svelte-oq97c4"><code class="svelte-oq97c4"> </code></div> <!> <div class="search svelte-oq97c4"><input type="text" placeholder="Filter folders…" spellcheck="false" autocomplete="off" class="svelte-oq97c4"/></div> <div class="list svelte-oq97c4"><!></div> <!> <div class="foot svelte-oq97c4"><span class="hint svelte-oq97c4">Browse to a folder, then select this folder or any subfolder.</span> <button class="primary svelte-oq97c4">Select this folder</button></div></div></div>');function Ne(i,e){dt(e,!0);let a=h(null),r=h(!0),v=h(null),p=h(""),S=h(null),C=h(Lt([])),w=h(!1),R=h(""),z=h(""),V=P(()=>we(t(R)));function F(){if(!t(V))return;e.onpick(t(R).trim(),{branch:t(z).trim()||void 0})}let $=P(()=>t(a)?t(a).entries.filter((g)=>g.name.toLowerCase().includes(t(p).trim().toLowerCase())):[]),E=P(()=>t(w)?t(C):t(C).slice(0,5));async function u(){try{let g=await Ie("/api/history");n(C,g.history??[],!0)}catch{}}async function D(g){let K=t(C);n(C,t(C).filter((ut)=>ut.source_path!==g),!0);try{await He("/api/history",{sourcePath:g})}catch{n(C,K,!0)}}async function M(g=null){n(r,!0),n(v,null),n(p,"");try{let K=g?`/api/browse?path=${encodeURIComponent(g)}`:"/api/browse";n(a,await Ie(K,void 0,"Could not list folder"),!0)}catch(K){n(v,K.message,!0)}finally{n(r,!1)}await Qe(),t(S)?.focus()}$t(()=>{M(),u()});var k=Ni(),T=d(k),W=d(T),Y=s(d(W),2),O=d(Y);Yt(O,{size:16}),l(Y),l(W);var et=s(W,2),St=s(d(et),2),wt=d(St);Pt(wt);var bt=s(wt,2);Pt(bt);var I=s(bt,2);l(St),l(et);var L=s(et,2),H=d(L),f=d(H,!0);l(H),l(L);var x=s(L,2);{var B=(g)=>{var K=vi(),ut=s(d(K),2);mt(ut,17,()=>t(E),(It)=>It.source_path,(It,ct)=>{var tt=$i(),y=d(tt),at=d(y),Nt=d(at);{var Rt=(Ct)=>{Kt(Ct,{size:16})},_t=P(()=>we(t(ct).source_path)),Ot=(Ct)=>{re(Ct,{size:16})};N(Nt,(Ct)=>{if(t(_t))Ct(Rt);else Ct(Ot,-1)})}l(at);var jt=s(at,2),Vt=d(jt),ve=d(Vt,!0);l(Vt);var qt=s(Vt,2),pe=d(qt,!0);l(qt),l(jt),l(y);var yt=s(y,2),Ft=d(yt);Yt(Ft,{size:14}),l(yt),l(tt),A(()=>{Z(ve,t(ct).name),Z(pe,t(ct).source_path),rt(yt,"aria-label",`Remove ${t(ct).name??""} from history`)}),Q("click",y,()=>e.onpick(t(ct).source_path)),Q("click",yt,(Ct)=>{Ct.stopPropagation(),D(t(ct).source_path)}),o(It,tt)});var Jt=s(ut,2);{var kt=(It)=>{var ct=gi(),tt=d(ct,!0);l(ct),A(()=>Z(tt,t(w)?"Show fewer":`Show all (${t(C).length})`)),Q("click",ct,()=>n(w,!t(w))),o(It,ct)};N(Jt,(It)=>{if(t(C).length>5)It(kt)})}l(K),o(g,K)};N(x,(g)=>{if(t(C).length>0)g(B)})}var J=s(x,2),nt=d(J);Pt(nt),Ze(nt,(g)=>n(S,g),()=>t(S)),l(J);var m=s(J,2),b=d(m);{var it=(g)=>{var K=pi();o(g,K)},vt=(g)=>{var K=hi(),ut=d(K,!0);l(K),A(()=>Z(ut,t(v))),o(g,K)},pt=(g)=>{var K=wi(),ut=xt(K);{var Jt=(tt)=>{var y=ui(),at=d(y),Nt=d(at),Rt=d(Nt);ne(Rt,{size:16}),l(Nt),X(2),l(at),l(y),Q("click",at,()=>M(t(a)?.parent??null)),o(tt,y)};N(ut,(tt)=>{if(t(a).parent&&!t(p))tt(Jt)})}var kt=s(ut,2);{var It=(tt)=>{var y=xi(),at=d(y,!0);l(y),A(()=>Z(at,t(p)?"No folders match.":"No subfolders here.")),o(tt,y)};N(kt,(tt)=>{if(t($).length===0)tt(It)})}var ct=s(kt,2);mt(ct,19,()=>t($),(tt)=>tt.path,(tt,y,at)=>{var Nt=Si();let Rt;var _t=d(Nt),Ot=d(_t),jt=d(Ot);le(jt,{size:16}),l(Ot);var Vt=s(Ot,2),ve=d(Vt,!0);l(Vt);var qt=s(Vt,2);{var pe=(Ft)=>{var Ct=bi();o(Ft,Ct)};N(qt,(Ft)=>{if(t(y).hasDevcontainer)Ft(pe)})}l(_t);var yt=s(_t,2);l(Nt),A((Ft)=>{Rt=gt(Nt,1,"row svelte-oq97c4",null,Rt,Ft),Z(ve,t(y).name)},[()=>({"first-match":t(p).trim()&&t(at)===0})]),Q("click",_t,()=>M(t(y).path)),Q("click",yt,()=>e.onpick(t(y).path)),o(tt,Nt)}),o(g,K)};N(b,(g)=>{if(t(r))g(it);else if(t(v))g(vt,1);else if(t(a))g(pt,2)})}l(m);var _=s(m,2);{var ht=(g)=>{var K=Ii(),ut=d(K);Qt(ut,{size:15}),X(2),l(K),o(g,K)};N(_,(g)=>{if(t(a)&&!t(a).hasDevcontainer)g(ht)})}var At=s(_,2),Ht=s(d(At),2);l(At),l(T),l(k),A(()=>{I.disabled=!t(V),Z(f,t(a)?.path??"…"),Ht.disabled=!t(a)}),Q("click",k,function(...g){e.onclose?.apply(this,g)}),Q("keydown",k,(g)=>g.key==="Escape"&&e.onclose()),Q("click",T,(g)=>g.stopPropagation()),Q("keydown",T,()=>{}),Q("click",Y,function(...g){e.onclose?.apply(this,g)}),Q("keydown",wt,(g)=>{if(g.key==="Enter")g.preventDefault(),F()}),Tt(wt,()=>t(R),(g)=>n(R,g)),Q("keydown",bt,(g)=>{if(g.key==="Enter")g.preventDefault(),F()}),Tt(bt,()=>t(z),(g)=>n(z,g)),Q("click",I,F),Q("keydown",nt,(g)=>{let K=t($)[0];if(g.key==="Enter"&&K)g.preventDefault(),M(K.path)}),Tt(nt,()=>t(p),(g)=>n(p,g)),Q("click",Ht,()=>t(a)&&e.onpick(t(a).path)),o(i,k),ot()}Bt(["click","keydown"]);var Ci=c('<div class="branch svelte-jv8lut" title="Branch checked out in the container"><!><span class="svelte-jv8lut"> </span></div>');function Ce(i,e){var a=Ci(),r=d(a);Kt(r,{size:12});var v=s(r),p=d(v,!0);l(v),l(a),A(()=>Z(p,e.branch)),o(i,a)}var Ei=new Set(["$$slots","$$events","$$legacy"]);function de(i,e){let a=U(e,Ei),r=[["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"}]];q(i,j({name:"cable"},()=>a,{get iconNode(){return r}}))}var Mi=c('<a target="_blank" rel="noopener"> </a>'),Li=c('<div class="fports svelte-1uaz383" title="Forwarded ports — click to open"><!> <span class="list svelte-1uaz383"></span></div>');function Me(i,e){dt(e,!0);var a=oe(),r=xt(a);{var v=(p)=>{var S=Li(),C=d(S);de(C,{size:12});var w=s(C,2);mt(w,21,()=>e.ports,(R)=>R.container_port,(R,z)=>{var V=Mi();let F;var $=d(V,!0);l(V),A((E,u)=>{F=gt(V,1,"fport svelte-1uaz383",null,F,{open:t(z).open}),rt(V,"href",E),rt(V,"title",u),Z($,t(z).container_port)},[()=>Ee(t(z).host_port),()=>`container :${t(z).container_port} → ${Ee(t(z).host_port)} ${t(z).open?"(open)":"(not published yet)"}`]),o(R,V)}),l(w),l(S),o(p,S)};N(r,(p)=>{if(e.ports.length)p(v)})}o(i,a),ot()}var Pi=c('<input class="name-edit svelte-13338y7"/>'),Ti=c('<button class="name svelte-13338y7" title="Click to rename"> </button>'),Bi=c("<span></span>"),Di=c('<div class="card-error svelte-13338y7"> </div>'),zi=c("<!> <!>",1),Ai=c('<li class="card panel svelte-13338y7"><div class="card-head svelte-13338y7"><!> <!> <!> <!></div> <div class="path svelte-13338y7"> </div> <!> <!> <!> <div class="actions svelte-13338y7"><!> <!> <!> <!></div></li>');function Le(i,e){dt(e,!0);let a=Et(e,"editingName",15),r=P(()=>e.instance.status==="running"||e.instance.status==="stopped"||e.instance.status==="error"&&!!e.instance.container_id);var v=Ai(),p=d(v),S=d(p);Gt(S,{get id(){return e.instance.id},get name(){return e.instance.name},interactive:!0});var C=s(S,2);{var w=(f)=>{var x=Pi();Pt(x),se(x,!0),Dt("focus",x,(B)=>B.currentTarget.select()),Dt("blur",x,function(...B){e.oncommitrename?.apply(this,B)}),Q("keydown",x,(B)=>{if(B.key==="Enter")B.currentTarget.blur();else if(B.key==="Escape")e.oncancelrename()}),Tt(x,a),o(f,x)},R=(f)=>{var x=Ti(),B=d(x,!0);l(x),A(()=>Z(B,e.instance.name)),Q("click",x,function(...J){e.onstartrename?.apply(this,J)}),o(f,x)};N(C,(f)=>{if(e.editing)f(w);else f(R,-1)})}var z=s(C,2);{var V=(f)=>{var x=Bi();let B;A(()=>{B=gt(x,1,"attn svelte-13338y7",null,B,{"attn-done":e.instance.attention==="done","attn-waiting":e.instance.attention==="waiting"}),rt(x,"title",e.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished"),rt(x,"aria-label",e.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished")}),o(f,x)};N(z,(f)=>{if(e.instance.attention)f(V)})}var F=s(z,2);Je(F,{get status(){return e.instance.status}}),l(p);var $=s(p,2),E=d($,!0);l($);var u=s($,2);{var D=(f)=>{Me(f,{get ports(){return e.instance.forwarded_ports}})};N(u,(f)=>{if(e.instance.status==="running")f(D)})}var M=s(u,2);{var k=(f)=>{Ce(f,{get branch(){return e.instance.git_branch}})};N(M,(f)=>{if(e.instance.git_branch)f(k)})}var T=s(M,2);{var W=(f)=>{var x=Di(),B=d(x,!0);l(x),A(()=>Z(B,e.instance.error)),o(f,x)};N(T,(f)=>{if(e.instance.status==="error"&&e.instance.error)f(W)})}var Y=s(T,2),O=d(Y);{var et=(f)=>{var x=zi(),B=xt(x);{let nt=P(()=>`/ide/${e.instance.id}`);ft(B,{variant:"primary",size:"sm",get href(){return t(nt)},children:(m,b)=>{X();var it=st("Open IDE");o(m,it)},$$slots:{default:!0}})}var J=s(B,2);ft(J,{size:"sm",onclick:()=>e.onact("stop"),children:(nt,m)=>{X();var b=st("Stop");o(nt,b)},$$slots:{default:!0}}),o(f,x)},St=(f)=>{ft(f,{size:"sm",onclick:()=>e.onact("start"),children:(x,B)=>{X();var J=st("Start");o(x,J)},$$slots:{default:!0}})},wt=(f)=>{{let x=P(()=>`/instances/${e.instance.id}`);ft(f,{size:"sm",get href(){return t(x)},target:"_blank",rel:"noopener noreferrer",children:(B,J)=>{X();var nt=st("View logs");o(B,nt)},$$slots:{default:!0}})}};N(O,(f)=>{if(e.instance.status==="running")f(et);else if(e.instance.status==="stopped"||e.instance.status==="error"&&e.instance.container_id)f(St,1);else if(e.instance.status==="creating")f(wt,2)})}var bt=s(O,2);{var I=(f)=>{ft(f,{size:"sm",title:"Recreate the container and re-run setup (credentials, hooks, port forwards)",onclick:()=>e.onact("rebuild"),children:(x,B)=>{X();var J=st("Rebuild");o(x,J)},$$slots:{default:!0}})};N(bt,(f)=>{if(t(r))f(I)})}var L=s(bt,2);{let f=P(()=>`/instances/${e.instance.id}`);ft(L,{size:"sm",ghost:!0,get href(){return t(f)},target:"_blank",rel:"noopener noreferrer",children:(x,B)=>{X();var J=st("Details");o(x,J)},$$slots:{default:!0}})}var H=s(L,2);ft(H,{variant:"danger",size:"sm",onclick:()=>e.onact("delete"),children:(f,x)=>{X();var B=st("Delete");o(f,B)},$$slots:{default:!0}}),l(Y),l(v),A(()=>{rt($,"title",e.instance.source_path),Z(E,e.instance.source_path)}),o(i,v),ot()}Bt(["keydown","click"]);var Vi=new Set(["$$slots","$$events","$$legacy"]);function fe(i,e){let a=U(e,Vi),r=[["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"}]];q(i,j({name:"component"},()=>a,{get iconNode(){return r}}))}var Fi=new Set(["$$slots","$$events","$$legacy"]);function ce(i,e){let a=U(e,Fi),r=[["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"}]];q(i,j({name:"package"},()=>a,{get iconNode(){return r}}))}var ki=c('<a class="brand svelte-94cd8h" href="/"><span class="logo svelte-94cd8h"><!></span><span>Codebay</span><span class="tagline svelte-94cd8h">devcontainer manager</span></a>');function Pe(i){var e=ki(),a=d(e),r=d(a);ce(r,{size:22}),l(a),X(2),l(e),o(i,e)}var Ri=new Set(["$$slots","$$events","$$legacy"]);function Zt(i,e){let a=U(e,Ri),r=[["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"}]];q(i,j({name:"settings"},()=>a,{get iconNode(){return r}}))}var _i=c('<a class="cog svelte-1e745g8" href="/settings" aria-label="Settings" title="Settings"><!></a>');function Te(i){var e=_i(),a=d(e);Zt(a,{size:16}),l(e),o(i,e)}var yi=new Set(["$$slots","$$events","$$legacy"]);function me(i,e){let a=U(e,yi),r=[["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"}]];q(i,j({name:"link"},()=>a,{get iconNode(){return r}}))}var Wi=c('<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>'),Ki=c('<div class="cred-dropdown panel svelte-vongf9" role="menu"></div>'),Qi=c('<div class="cred-menu svelte-vongf9"><button aria-haspopup="menu" aria-label="Credentials" title="Credentials"><!></button> <!></div>');function Be(i,e){dt(e,!0);let a=h(!1),r=P(()=>e.auth.filter(($)=>$.available).length),v=P(()=>t(r)===e.auth.length?"ok":t(r)===0?"error":"warn"),p={ok:me,warn:Qt,error:Yt},S=P(()=>p[t(v)]);function C($){if($.available)Xt.success(`${$.label} credentials come from ${$.source}.`);else{let E=$.hint?` — ${$.hint}`:"";Xt.error(`No ${$.label} credentials found${E}.`)}}$t(()=>{if(!t(a))return;let $=(u)=>{if(!u.target?.closest(".cred-menu"))n(a,!1)},E=(u)=>{if(u.key==="Escape")n(a,!1)};return window.addEventListener("click",$),window.addEventListener("keydown",E),()=>{window.removeEventListener("click",$),window.removeEventListener("keydown",E)}});var w=Qi(),R=d(w),z=d(R);Oe(z,()=>t(S),($,E)=>{E($,{size:16})}),l(R);var V=s(R,2);{var F=($)=>{var E=Ki();mt(E,21,()=>e.auth,(u)=>u.id,(u,D)=>{var M=Wi(),k=d(M),T=s(k,2),W=d(T,!0);l(T);var Y=s(T,2),O=d(Y,!0);l(Y),l(M),A(()=>{rt(M,"title",t(D).available?`Credentials from ${t(D).source}, copied into each new instance.`:`No credentials found on this computer${t(D).hint?` — ${t(D).hint}`:""}.`),gt(k,1,`dot ${t(D).available?"on":"off"}`,"svelte-vongf9"),Z(W,t(D).label),Z(O,t(D).available?"Authorized":"Not found")}),Q("click",M,()=>C(t(D))),o(u,M)}),l(E),o($,E)};N(V,($)=>{if(t(a))$(F)})}l(w),A(()=>{gt(R,1,`cred ${t(v)??""}`,"svelte-vongf9"),rt(R,"aria-expanded",t(a))}),Q("click",R,()=>n(a,!t(a))),o(i,w),ot()}Bt(["click"]);var Zi=c('<header class="topbar svelte-1h259us"><!> <div class="topbar-actions svelte-1h259us"><!> <!> <!> <!> <!></div></header>');function De(i,e){let a=Et(e,"canDelete",3,!1),r=Et(e,"ready",3,!0),v=Et(e,"creating",3,!1);var p=Zi(),S=d(p);Pe(S,{});var C=s(S,2),w=d(C);{var R=(E)=>{ft(E,{variant:"default",size:"sm",get icon(){return fe},href:"/debug",children:(u,D)=>{X();var M=st("Debug");o(u,M)},$$slots:{default:!0}})};N(w,(E)=>{if(Ye)E(R)})}var z=s(w,2);Te(z,{});var V=s(z,2);Be(V,{get auth(){return e.auth}});var F=s(V,2);{let E=P(()=>!a());ft(F,{variant:"danger",size:"sm",get onclick(){return e.onDeleteAll},get disabled(){return t(E)},children:(u,D)=>{X();var M=st("Delete all");o(u,M)},$$slots:{default:!0}})}var $=s(F,2);{let E=P(()=>v()?void 0:$e),u=P(()=>!r()||v());ft($,{variant:"primary",get icon(){return t(E)},get onclick(){return e.onNew},get disabled(){return t(u)},children:(D,M)=>{X();var k=st();A(()=>Z(k,v()?"Creating…":"New instance")),o(D,k)},$$slots:{default:!0}})}l(C),l(p),o(i,p)}var Hi=c("<span>Docker daemon is not reachable.</span>"),Ji=c("<span>The devcontainer CLI is not available.</span>"),Oi=c('<div class="banner error svelte-146pixd"><strong>Setup needed.</strong> <!> <!></div>'),Yi=c('<div class="banner error svelte-146pixd"><strong>Error.</strong> <span> </span></div>'),Gi=c('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd">Loading…</p></div>'),Xi=c('<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>'),Ui=c('<ul class="grid svelte-146pixd"></ul>'),ji=c('<!> <main class="stage svelte-146pixd"><!> <!> <!></main> <!>',1);function ze(i,e){dt(e,!0);let a=h(!1),r=h(!1),v=h(null),p=h(null),S=h(""),C=P(()=>e.preflight.docker&&e.preflight.cli);async function w(I,L){n(a,!1),n(r,!0),n(v,null);try{await zt("/api/instances",{sourcePath:I,branch:L?.branch},"Failed to create instance")}catch(H){n(v,H.message,!0)}finally{n(r,!1)}}async function R(I,L){if(n(v,null),L==="delete"&&!confirm("Delete this instance and its copied files?"))return;if(L==="rebuild"&&!confirm("Recreate this container and re-run setup? The workspace is kept."))return;try{await zt(`/api/instances/${I}/${L}`,void 0,`Failed to ${L}`)}catch(H){n(v,H.message,!0)}}function z(I){n(p,I.id,!0),n(S,I.name,!0)}function V(){n(p,null),n(S,"")}async function F(I){let L=t(S).trim(),H=e.instances.find((f)=>f.id===I)?.name;if(!L||L===H){V();return}V(),n(v,null);try{await zt(`/api/instances/${I}/rename`,{name:L},"Failed to rename")}catch(f){n(v,f.message,!0)}}async function $(){if(n(v,null),!confirm(`Delete all ${e.instances.length} instances and their copied files?`))return;try{await zt("/api/instances/delete-all",void 0,"Failed to delete all")}catch(I){n(v,I.message,!0)}}var E=ji(),u=xt(E);{let I=P(()=>e.instances.length>0);De(u,{get auth(){return e.preflight.auth},get canDelete(){return t(I)},get ready(){return t(C)},get creating(){return t(r)},onNew:()=>n(a,!0),onDeleteAll:$})}var D=s(u,2),M=d(D);{var k=(I)=>{var L=Oi(),H=s(d(L),2);{var f=(J)=>{var nt=Hi();o(J,nt)};N(H,(J)=>{if(!e.preflight.docker)J(f)})}var x=s(H,2);{var B=(J)=>{var nt=Ji();o(J,nt)};N(x,(J)=>{if(!e.preflight.cli)J(B)})}l(L),o(I,L)};N(M,(I)=>{if(!t(C))I(k)})}var T=s(M,2);{var W=(I)=>{var L=Yi(),H=s(d(L),2),f=d(H,!0);l(H),l(L),A(()=>Z(f,t(v))),o(I,L)};N(T,(I)=>{if(t(v))I(W)})}var Y=s(T,2);{var O=(I)=>{var L=Gi();o(I,L)},et=(I)=>{var L=Xi(),H=s(d(L),4);{let f=P(()=>!t(C));ft(H,{variant:"primary",get icon(){return $e},onclick:()=>n(a,!0),get disabled(){return t(f)},children:(x,B)=>{X();var J=st("New instance");o(x,J)},$$slots:{default:!0}})}l(L),o(I,L)},St=(I)=>{var L=Ui();mt(L,21,()=>e.instances,(H)=>H.id,(H,f)=>{{let x=P(()=>t(p)===t(f).id);Le(H,{get instance(){return t(f)},get editing(){return t(x)},onact:(B)=>R(t(f).id,B),onstartrename:()=>z(t(f)),oncommitrename:()=>F(t(f).id),oncancelrename:V,get editingName(){return t(S)},set editingName(B){n(S,B,!0)}})}}),l(L),o(I,L)};N(Y,(I)=>{if(!e.loaded)I(O);else if(e.instances.length===0)I(et,1);else I(St,-1)})}l(D);var wt=s(D,2);{var bt=(I)=>{Ne(I,{onpick:w,onclose:()=>n(a,!1)})};N(wt,(I)=>{if(t(a))I(bt)})}o(i,E),ot()}var qi=c('<div class="tab-label editing svelte-r39acv"><!> <input class="tab-name-edit svelte-r39acv"/></div>'),ta=c('<button type="button" class="tab-label svelte-r39acv"><!> <span class="tab-name svelte-r39acv"> </span></button>'),ea=c("<div><!></div>"),ia=c('<nav class="tabs svelte-r39acv"></nav>'),aa=c('<!> <a class="cog svelte-r39acv" href="/settings" title="Settings" aria-label="Settings"><!></a>',1);function Ae(i,e){dt(e,!0);let a=Et(e,"editingName",15);Ge(i,{children:(r,v)=>{var p=aa(),S=xt(p);{var C=(z)=>{var V=ia();mt(V,21,()=>e.running,(F)=>F.id,(F,$)=>{var E=ea();let u;var D=d(E);{var M=(T)=>{var W=qi(),Y=d(W);Gt(Y,{get id(){return t($).id},get name(){return t($).name},scale:4});var O=s(Y,2);Pt(O),se(O,!0),l(W),Dt("focus",O,(et)=>et.currentTarget.select()),Dt("blur",O,()=>e.oncommitrename(t($).id)),Q("keydown",O,(et)=>{if(et.key==="Enter")et.currentTarget.blur();else if(et.key==="Escape")e.oncancelrename()}),Tt(O,a),o(T,W)},k=(T)=>{var W=ta(),Y=d(W);Gt(Y,{get id(){return t($).id},get name(){return t($).name},scale:4});var O=s(Y,2),et=d(O,!0);l(O),l(W),A(()=>{rt(W,"title",t($).name),Z(et,t($).name)}),Q("click",W,()=>e.onselect(t($).id)),Q("dblclick",W,()=>e.onstartrename(t($))),o(T,W)};N(D,(T)=>{if(e.editingId===t($).id)T(M);else T(k,-1)})}l(E),A(()=>u=gt(E,1,"tab svelte-r39acv",null,u,{active:t($).id===e.active,"attn-done":t($).id!==e.active&&e.attention[t($).id]==="done","attn-waiting":t($).id!==e.active&&e.attention[t($).id]==="waiting"})),o(F,E)}),l(V),o(z,V)};N(S,(z)=>{if(e.running.length>0)z(C)})}var w=s(S,2),R=d(w);Zt(R,{size:18}),l(w),o(r,p)},$$slots:{default:!0}}),ot()}Bt(["keydown","click","dblclick"]);var ra=c('<div class="row svelte-w5e143"> </div>'),na=c('<div class="stalled svelte-w5e143"><p class="svelte-w5e143">Waiting for code-server to answer inside the container.</p> <!></div>'),la=c('<div class="loader svelte-w5e143"><div class="grid svelte-w5e143" aria-hidden="true"></div> <div class="label svelte-w5e143">Loading editor<span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span></div> <!></div>');function ge(i,e){dt(e,!0);let a=Et(e,"speed",3,1),r=h(!1);$t(()=>{if(e.stalledAfterMs===void 0)return;let u=setTimeout(()=>n(r,!0),e.stalledAfterMs);return()=>clearTimeout(u)});let v=3,p=22,S=140,C=7,w=P(()=>Math.max(20,S/a())),z=h(Lt((()=>Array.from({length:v},()=>Array.from({length:p},()=>Math.random()<0.5?0:1)))()));$t(()=>{if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let u=setInterval(()=>{let D=t(z).map((M)=>M.slice());for(let M=0;M<C;M++){let k=D[Math.floor(Math.random()*v)],T=Math.floor(Math.random()*p);k[T]=k[T]?0:1}n(z,D,!0)},t(w));return()=>clearInterval(u)});var V=la(),F=d(V);mt(F,21,()=>t(z),Xe,(u,D)=>{var M=ra(),k=d(M,!0);l(M),A((T)=>Z(k,T),[()=>t(D).join("")]),o(u,M)}),l(F);var $=s(F,4);{var E=(u)=>{var D=na(),M=s(d(D),2);{var k=(T)=>{ft(T,{size:"sm",get onclick(){return e.onoverride},children:(W,Y)=>{X();var O=st("Open anyway");o(W,O)},$$slots:{default:!0}})};N(M,(T)=>{if(e.onoverride)T(k)})}l(D),o(u,D)};N($,(u)=>{if(t(r))u(E)})}l(V),o(i,V),ot()}var da=c('<iframe class="svelte-1duc7gd"></iframe>'),oa=c("<div><!> <!></div>"),sa=c('<div class="empty svelte-1duc7gd">No running instances.</div>'),fa=c("<div><!> <div><!> <!></div></div> <!>",1);function Ve(i,e){dt(e,!0);let a=h(Lt(e.snapshot)),r=h(Lt(e.preflight)),v=h(e.snapshot.length>0),p=P(()=>t(a).filter((m)=>m.status==="running")),S=h(Lt(Object.fromEntries(e.snapshot.map((m)=>[m.id,m.attention])))),C=h(null),w=h("");function R(m){n(C,m.id,!0),n(w,m.name,!0)}function z(){n(C,null),n(w,"")}async function V(m){let b=t(w).trim(),it=t(a).find((vt)=>vt.id===m)?.name;if(!b||b===it){z();return}z();try{await zt(`/api/instances/${m}/rename`,{name:b},"Failed to rename")}catch(vt){Xt.error(vt.message)}}let F=h(Lt(e.initialPath)),$=P(()=>t(F).startsWith("/ide")),E=P(()=>t(F).startsWith("/ide/")?t(F).slice(5):""),u=P(()=>t($)?t(p).some((m)=>m.id===t(E))?t(E):t(p)[0]?.id??"":"");function D(m){if(m===t(F))return;history.pushState({},"",m),n(F,m,!0)}$t(()=>{function m(b){if(b.defaultPrevented||b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey)return;let it=b.target?.closest?.("a");if(!it)return;let vt=it.getAttribute("href");if(!vt||it.target==="_blank"||it.hasAttribute("download"))return;let pt=new URL(vt,location.href);if(pt.origin!==location.origin)return;if(pt.pathname==="/"||pt.pathname.startsWith("/ide/"))b.preventDefault(),D(pt.pathname)}return document.addEventListener("click",m),()=>document.removeEventListener("click",m)}),$t(()=>{function m(){n(F,location.pathname,!0)}return window.addEventListener("popstate",m),()=>window.removeEventListener("popstate",m)});let M=new Mt;$t(()=>{if(t(u))M.add(t(u))});let k=new Mt,T=new Mt,W=new Mt,Y=(m)=>T.has(m)||W.has(m),O=1e4;$t(()=>{let m=t(p).find((b)=>b.id===t(u));document.title=t($)&&m?`${m.name} — Codebay`:"Codebay"}),$t(()=>{return window.addEventListener("pointerdown",Ut),window.addEventListener("keydown",Ut),()=>{window.removeEventListener("pointerdown",Ut),window.removeEventListener("keydown",Ut)}}),$t(()=>{let m=!1;return ei((b)=>{if(b.type==="preflight"){n(r,{...t(r),docker:b.data.docker,cli:b.data.cli},!0);return}if(b.type==="health"){let _=t(a).find((ht)=>ht.id===b.data.id);if(b.data.health.codeServerAccessible&&_?.status==="running")T.add(b.data.id);return}if(b.type!=="instances")return;let it=b.data,vt=new Set(it.filter((_)=>_.status==="running").map((_)=>_.id));for(let _ of[...T])if(!vt.has(_))T.delete(_);for(let _ of[...W])if(!vt.has(_))W.delete(_);for(let _ of[...k])if(!vt.has(_))k.delete(_);let pt={};for(let _ of it)pt[_.id]=_.attention;if(m)for(let _ in pt){let ht=pt[_];if(ht&&ht!==t(S)[_])if(_===t(u))console.log(`[chime] attention id=${_} state=${ht} — skipped (tab is active/focused)`);else console.log(`[chime] attention id=${_} state=${ht} → playChime`),ti(ht)}else console.log("[chime] first frame after (re)connect — baselining, no chimes");m=!0,n(a,it,!0),n(S,pt,!0),n(v,!0)},()=>{m=!1})}),$t(()=>{if(!t(u)||!t(S)[t(u)])return;let m=()=>{if(document.visibilityState==="visible")zt(`/api/instances/${t(u)}/attention/clear`).catch(()=>{})};return m(),document.addEventListener("visibilitychange",m),()=>document.removeEventListener("visibilitychange",m)});var et=fa(),St=xt(et);let wt;var bt=d(St);{var I=(m)=>{Ae(m,{get running(){return t(p)},get active(){return t(u)},get attention(){return t(S)},get editingId(){return t(C)},onselect:(b)=>D(`/ide/${b}`),onstartrename:R,oncommitrename:V,oncancelrename:z,get editingName(){return t(w)},set editingName(b){n(w,b,!0)}})},L=(m)=>{ze(m,{get preflight(){return t(r)},get instances(){return t(a)},get loaded(){return t(v)}})};N(bt,(m)=>{if(t($))m(I);else m(L,-1)})}var H=s(bt,2);let f;var x=d(H);mt(x,17,()=>t(p),(m)=>m.id,(m,b)=>{var it=oe(),vt=xt(it);{var pt=(ht)=>{var At=oa();let Ht;var g=d(At);{var K=(y)=>{var at=da();A((Nt)=>{rt(at,"src",Nt),rt(at,"title",t(b).name)},[()=>je(t(b))]),Dt("load",at,()=>k.add(t(b).id)),Ue(at),o(y,at)},ut=P(()=>Y(t(b).id));N(g,(y)=>{if(t(ut))y(K)})}var Jt=s(g,2);{var kt=(y)=>{ge(y,{stalledAfterMs:O,onoverride:()=>W.add(t(b).id)})},It=P(()=>!Y(t(b).id)),ct=(y)=>{ge(y,{})},tt=P(()=>!k.has(t(b).id));N(Jt,(y)=>{if(t(It))y(kt);else if(t(tt))y(ct,1)})}l(At),A(()=>Ht=gt(At,1,"pane svelte-1duc7gd",null,Ht,{active:t(b).id===t(u)})),o(ht,At)},_=P(()=>M.has(t(b).id));N(vt,(ht)=>{if(t(_))ht(pt)})}o(m,it)});var B=s(x,2);{var J=(m)=>{var b=sa();o(m,b)};N(B,(m)=>{if(t($)&&t(p).length===0)m(J)})}l(H),l(St);var nt=s(St,2);qe(nt,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),A(()=>{wt=gt(St,1,"app svelte-1duc7gd",null,wt,{ide:t($)}),f=gt(H,1,"panes svelte-1duc7gd",null,f,{hidden:!t($)})}),o(i,et),ot()}ii("AppShell_2rtnxn6pgp2rh",Ve);
1
+ import{a as $e,d as Ut,e as qe}from"/_mochi/client/chunk-0jtmkpx4.js";import{f as Ge,g as je,h as Xt,i as ft,o as Gt}from"/_mochi/client/chunk-gjjhya9m.js";import{p as ti,q as Je,r as Ee,t as ei,u as Ie,v as zt,w as He}from"/_mochi/client/chunk-5p31aqh0.js";import{x as Yt}from"/_mochi/client/chunk-597d17x0.js";import{y as q}from"/_mochi/client/chunk-04qv4w6w.js";import{B as l,Ba as gt,C as X,Ea as Pt,G as dt,H as ot,Ha as rt,Ja as Tt,Ka as Ze,Ma as U,N as se,Na as j,O as Se,Oa as Et,P,R as ee,S as h,Sa as Ye,U as n,Ua as ii,V as lt,W as Lt,X as d,Y as xt,Z as s,_ as $t,ba as A,ca as he,da as ue,ea as Wt,fa as Qe,ga as t,ja as Ue,ka as Dt,la as Q,ma as Bt,na as c,pa as st,qa as oe,ra as o,sa as Z,ta as N,ua as Xe,va as mt,ya as Oe}from"/_mochi/client/chunk-qxwt25hn.js";var Fe=!1;class xe extends Date{#t=h(super.getTime());#e=new Map;#i=he;constructor(...i){super(...i);if(!Fe)this.#a()}#a(){Fe=!0;var i=xe.prototype,e=Date.prototype,a=Object.getOwnPropertyNames(e);for(let r of a){if(r.startsWith("get")||r.startsWith("to")||r==="valueOf")i[r]=function(...v){if(v.length>0)return t(this.#t),e[r].apply(this,v);var p=this.#e.get(r);if(p===void 0){let S=he;ue(this.#i),p=P(()=>{return t(this.#t),e[r].apply(this,v)}),this.#e.set(r,p),ue(S)}return t(p)};if(r.startsWith("set"))i[r]=function(...v){var p=e[r].apply(this,v);return n(this.#t,e.getTime.call(this)),p}}}}var ri=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],ni=["difference","intersection","symmetricDifference","union"],ke=!1;class Mt extends Set{#t=new Map;#e=h(0);#i=h(0);#a=Wt||-1;constructor(i){super();if(i){for(var e of i)super.add(e);this.#i.v=super.size}if(!ke)this.#n()}#r(i){return Wt===this.#a?h(i):ee(i)}#n(){ke=!0;var i=Mt.prototype,e=Set.prototype;for(let a of ri)i[a]=function(...r){return t(this.#e),e[a].apply(this,r)};for(let a of ni)i[a]=function(...r){t(this.#e);var v=e[a].apply(this,r);return new Mt(v)}}has(i){var e=super.has(i),a=this.#t,r=a.get(i);if(r===void 0){if(!e)return t(this.#e),!1;r=this.#r(!0),a.set(i,r)}return t(r),e}add(i){if(!super.has(i))super.add(i),n(this.#i,super.size),lt(this.#e);return this}delete(i){var e=super.delete(i),a=this.#t,r=a.get(i);if(r!==void 0)a.delete(i),n(r,!1);if(e)n(this.#i,super.size),lt(this.#e);return e}clear(){if(super.size===0)return;super.clear();var i=this.#t;for(var e of i.values())n(e,!1);i.clear(),n(this.#i,0),lt(this.#e)}keys(){return this.values()}values(){return t(this.#e),super.values()}entries(){return t(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return t(this.#i)}}class Re extends Map{#t=new Map;#e=h(0);#i=h(0);#a=Wt||-1;constructor(i){super();if(i){for(var[e,a]of i)super.set(e,a);this.#i.v=super.size}}#r(i){return Wt===this.#a?h(i):ee(i)}has(i){var e=this.#t,a=e.get(i);if(a===void 0)if(super.has(i))a=this.#r(0),e.set(i,a);else return t(this.#e),!1;return t(a),!0}forEach(i,e){this.#n(),super.forEach(i,e)}get(i){var e=this.#t,a=e.get(i);if(a===void 0)if(super.has(i))a=this.#r(0),e.set(i,a);else{t(this.#e);return}return t(a),super.get(i)}set(i,e){var a=this.#t,r=a.get(i),v=super.get(i),p=super.set(i,e),S=this.#e;if(r===void 0)r=this.#r(0),a.set(i,r),n(this.#i,super.size),lt(S);else if(v!==e){lt(r);var C=S.reactions===null?null:new Set(S.reactions),w=C===null||!r.reactions?.every((R)=>C.has(R));if(w)lt(S)}return p}delete(i){var e=this.#t,a=e.get(i),r=super.delete(i);if(a!==void 0)e.delete(i),n(a,-1);if(r)n(this.#i,super.size),lt(this.#e);return r}clear(){if(super.size===0)return;super.clear();var i=this.#t;n(this.#i,0);for(var e of i.values())n(e,-1);lt(this.#e),i.clear()}#n(){t(this.#e);var i=this.#t;if(this.#i.v!==i.size){for(var e of super.keys())if(!i.has(e)){var a=this.#r(0);i.set(e,a)}}for([,a]of this.#t)t(a)}keys(){return t(this.#e),super.keys()}values(){return this.#n(),super.values()}entries(){return this.#n(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#i),super.size}}var ie=Symbol("replace");class ae extends URLSearchParams{#t=h(0);#e=_e();#i=!1;#a(){if(!this.#e||this.#i)return;this.#i=!0;let i=this.toString();this.#e.search=i&&`?${i}`,this.#i=!1}[ie](i){if(this.#i)return;if(i.toString()===super.toString())return;this.#i=!0;for(let e of[...super.keys()])super.delete(e);for(let[e,a]of i)super.append(e,a);lt(this.#t),this.#i=!1}append(i,e){super.append(i,e),this.#a(),lt(this.#t)}delete(i,e){var a=super.has(i,e);if(super.delete(i,e),a)this.#a(),lt(this.#t)}get(i){return t(this.#t),super.get(i)}getAll(i){return t(this.#t),super.getAll(i)}has(i,e){return t(this.#t),super.has(i,e)}keys(){return t(this.#t),super.keys()}forEach(i,e){t(this.#t),super.forEach(i,e)}set(i,e){var a=super.getAll(i);super.set(i,e);var r=super.getAll(i);if(a.length!==r.length||a.some((v,p)=>v!==r[p]))this.#a(),lt(this.#t)}sort(){super.sort(),this.#a(),lt(this.#t)}toString(){return t(this.#t),super.toString()}values(){return t(this.#t),super.values()}entries(){return t(this.#t),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#t),super.size}}var be=null;function _e(){return be}class ye extends URL{#t=h(super.protocol);#e=h(super.username);#i=h(super.password);#a=h(super.hostname);#r=h(super.port);#n=h(super.pathname);#l=h(super.hash);#d=h(super.search);#o;constructor(i,e){i=new URL(i,e);super(i);be=this,this.#o=new ae(i.searchParams),be=null}get hash(){return t(this.#l)}set hash(i){super.hash=i,n(this.#l,super.hash)}get host(){return t(this.#a),t(this.#r),super.host}set host(i){super.host=i,n(this.#a,super.hostname),n(this.#r,super.port)}get hostname(){return t(this.#a)}set hostname(i){super.hostname=i,n(this.#a,super.hostname)}get href(){return t(this.#t),t(this.#e),t(this.#i),t(this.#a),t(this.#r),t(this.#n),t(this.#l),t(this.#d),super.href}set href(i){super.href=i,n(this.#t,super.protocol),n(this.#e,super.username),n(this.#i,super.password),n(this.#a,super.hostname),n(this.#r,super.port),n(this.#n,super.pathname),n(this.#l,super.hash),n(this.#d,super.search),this.#o[ie](super.searchParams)}get password(){return t(this.#i)}set password(i){super.password=i,n(this.#i,super.password)}get pathname(){return t(this.#n)}set pathname(i){super.pathname=i,n(this.#n,super.pathname)}get port(){return t(this.#r)}set port(i){super.port=i,n(this.#r,super.port)}get protocol(){return t(this.#t)}set protocol(i){super.protocol=i,n(this.#t,super.protocol)}get search(){return t(this.#d)}set search(i){super.search=i,n(this.#d,super.search),this.#o[ie](super.searchParams)}get username(){return t(this.#e)}set username(i){super.username=i,n(this.#e,super.username)}get origin(){return t(this.#t),t(this.#a),t(this.#r),super.origin}get searchParams(){return this.#o}toString(){return this.href}toJSON(){return this.href}}class We{#t;#e;constructor(i,e){this.#t=i,this.#e=Se(e)}get current(){return this.#e(),this.#t()}}var Ke=/^[A-Za-z0-9._-]+$/;function di(i){let e=i.trim();if(!e)return null;let a,r,v=e.match(/^[A-Za-z0-9._-]+@([A-Za-z0-9.-]+):(.+)$/);if(v)a=v[1],r=v[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(e)){let w;try{w=new URL(e)}catch{return null}if(w.protocol!=="http:"&&w.protocol!=="https:"&&w.protocol!=="ssh:")return null;a=w.hostname,r=w.pathname}else{let w=e.match(/^([A-Za-z0-9-]+\.[A-Za-z0-9.-]+)\/(.+)$/);if(!w)return null;a=w[1],r=w[2]}if(!a||!r)return null;let p=r.replace(/\.git$/i,"").split("/").filter(Boolean),[S,C]=p;if(!S||!C||!Ke.test(S)||!Ke.test(C))return null;return{host:a,owner:S,repo:C,cloneUrl:`https://${a}/${S}/${C}.git`}}function we(i){return di(i)!==null}var oi=new Set(["$$slots","$$events","$$legacy"]);function re(i,e){let a=U(e,oi),r=[["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"}]];q(i,j({name:"folder-clock"},()=>a,{get iconNode(){return r}}))}var si=new Set(["$$slots","$$events","$$legacy"]);function Kt(i,e){let a=U(e,si),r=[["path",{d:"M15 6a9 9 0 0 0-9 9V3"}],["circle",{cx:"18",cy:"6",r:"3"}],["circle",{cx:"6",cy:"18",r:"3"}]];q(i,j({name:"git-branch"},()=>a,{get iconNode(){return r}}))}var fi=new Set(["$$slots","$$events","$$legacy"]);function ne(i,e){let a=U(e,fi),r=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];q(i,j({name:"arrow-up"},()=>a,{get iconNode(){return r}}))}var ci=new Set(["$$slots","$$events","$$legacy"]);function le(i,e){let a=U(e,ci),r=[["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"}]];q(i,j({name:"folder"},()=>a,{get iconNode(){return r}}))}var mi=new Set(["$$slots","$$events","$$legacy"]);function Qt(i,e){let a=U(e,mi),r=[["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"}]];q(i,j({name:"triangle-alert"},()=>a,{get iconNode(){return r}}))}var $i=c('<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>'),gi=c('<button class="recent-toggle svelte-oq97c4"> </button>'),vi=c('<div class="recent svelte-oq97c4"><div class="recent-label svelte-oq97c4">Recent</div> <!> <!></div>'),pi=c('<div class="muted svelte-oq97c4">Loading…</div>'),hi=c('<div class="muted err svelte-oq97c4"> </div>'),ui=c('<div class="row svelte-oq97c4"><button class="nav svelte-oq97c4"><span class="icon svelte-oq97c4"><!></span> <span class="ename svelte-oq97c4">..</span></button></div>'),xi=c('<div class="muted svelte-oq97c4"> </div>'),bi=c('<span class="badge svelte-oq97c4">devcontainer</span>'),Si=c('<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>'),wi=c("<!> <!> <!>",1),Ii=c(`<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>`),Ni=c('<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="clone svelte-oq97c4"><div class="clone-label svelte-oq97c4">Clone a Git repository</div> <div class="clone-row svelte-oq97c4"><input class="clone-url svelte-oq97c4" type="text" placeholder="https://github.com/owner/repo" spellcheck="false" autocomplete="off"/> <input class="clone-branch svelte-oq97c4" type="text" placeholder="branch (optional)" spellcheck="false" autocomplete="off"/> <button class="clone-btn svelte-oq97c4">Clone</button></div></div> <div class="crumbs svelte-oq97c4"><code class="svelte-oq97c4"> </code></div> <!> <div class="search svelte-oq97c4"><input type="text" placeholder="Filter folders…" spellcheck="false" autocomplete="off" class="svelte-oq97c4"/></div> <div class="list svelte-oq97c4"><!></div> <!> <div class="foot svelte-oq97c4"><span class="hint svelte-oq97c4">Browse to a folder, then select this folder or any subfolder.</span> <button class="primary svelte-oq97c4">Select this folder</button></div></div></div>');function Ne(i,e){dt(e,!0);let a=h(null),r=h(!0),v=h(null),p=h(""),S=h(null),C=h(Lt([])),w=h(!1),R=h(""),z=h(""),V=P(()=>we(t(R)));function F(){if(!t(V))return;e.onpick(t(R).trim(),{branch:t(z).trim()||void 0})}let $=P(()=>t(a)?t(a).entries.filter((g)=>g.name.toLowerCase().includes(t(p).trim().toLowerCase())):[]),E=P(()=>t(w)?t(C):t(C).slice(0,5));async function u(){try{let g=await Ie("/api/history");n(C,g.history??[],!0)}catch{}}async function D(g){let K=t(C);n(C,t(C).filter((ut)=>ut.source_path!==g),!0);try{await He("/api/history",{sourcePath:g})}catch{n(C,K,!0)}}async function M(g=null){n(r,!0),n(v,null),n(p,"");try{let K=g?`/api/browse?path=${encodeURIComponent(g)}`:"/api/browse";n(a,await Ie(K,void 0,"Could not list folder"),!0)}catch(K){n(v,K.message,!0)}finally{n(r,!1)}await Qe(),t(S)?.focus()}$t(()=>{M(),u()});var k=Ni(),T=d(k),W=d(T),Y=s(d(W),2),O=d(Y);Yt(O,{size:16}),l(Y),l(W);var et=s(W,2),St=s(d(et),2),wt=d(St);Pt(wt);var bt=s(wt,2);Pt(bt);var I=s(bt,2);l(St),l(et);var L=s(et,2),H=d(L),f=d(H,!0);l(H),l(L);var x=s(L,2);{var B=(g)=>{var K=vi(),ut=s(d(K),2);mt(ut,17,()=>t(E),(It)=>It.source_path,(It,ct)=>{var tt=$i(),y=d(tt),at=d(y),Nt=d(at);{var Rt=(Ct)=>{Kt(Ct,{size:16})},_t=P(()=>we(t(ct).source_path)),Ot=(Ct)=>{re(Ct,{size:16})};N(Nt,(Ct)=>{if(t(_t))Ct(Rt);else Ct(Ot,-1)})}l(at);var jt=s(at,2),Vt=d(jt),ve=d(Vt,!0);l(Vt);var qt=s(Vt,2),pe=d(qt,!0);l(qt),l(jt),l(y);var yt=s(y,2),Ft=d(yt);Yt(Ft,{size:14}),l(yt),l(tt),A(()=>{Z(ve,t(ct).name),Z(pe,t(ct).source_path),rt(yt,"aria-label",`Remove ${t(ct).name??""} from history`)}),Q("click",y,()=>e.onpick(t(ct).source_path)),Q("click",yt,(Ct)=>{Ct.stopPropagation(),D(t(ct).source_path)}),o(It,tt)});var Jt=s(ut,2);{var kt=(It)=>{var ct=gi(),tt=d(ct,!0);l(ct),A(()=>Z(tt,t(w)?"Show fewer":`Show all (${t(C).length})`)),Q("click",ct,()=>n(w,!t(w))),o(It,ct)};N(Jt,(It)=>{if(t(C).length>5)It(kt)})}l(K),o(g,K)};N(x,(g)=>{if(t(C).length>0)g(B)})}var J=s(x,2),nt=d(J);Pt(nt),Ze(nt,(g)=>n(S,g),()=>t(S)),l(J);var m=s(J,2),b=d(m);{var it=(g)=>{var K=pi();o(g,K)},vt=(g)=>{var K=hi(),ut=d(K,!0);l(K),A(()=>Z(ut,t(v))),o(g,K)},pt=(g)=>{var K=wi(),ut=xt(K);{var Jt=(tt)=>{var y=ui(),at=d(y),Nt=d(at),Rt=d(Nt);ne(Rt,{size:16}),l(Nt),X(2),l(at),l(y),Q("click",at,()=>M(t(a)?.parent??null)),o(tt,y)};N(ut,(tt)=>{if(t(a).parent&&!t(p))tt(Jt)})}var kt=s(ut,2);{var It=(tt)=>{var y=xi(),at=d(y,!0);l(y),A(()=>Z(at,t(p)?"No folders match.":"No subfolders here.")),o(tt,y)};N(kt,(tt)=>{if(t($).length===0)tt(It)})}var ct=s(kt,2);mt(ct,19,()=>t($),(tt)=>tt.path,(tt,y,at)=>{var Nt=Si();let Rt;var _t=d(Nt),Ot=d(_t),jt=d(Ot);le(jt,{size:16}),l(Ot);var Vt=s(Ot,2),ve=d(Vt,!0);l(Vt);var qt=s(Vt,2);{var pe=(Ft)=>{var Ct=bi();o(Ft,Ct)};N(qt,(Ft)=>{if(t(y).hasDevcontainer)Ft(pe)})}l(_t);var yt=s(_t,2);l(Nt),A((Ft)=>{Rt=gt(Nt,1,"row svelte-oq97c4",null,Rt,Ft),Z(ve,t(y).name)},[()=>({"first-match":t(p).trim()&&t(at)===0})]),Q("click",_t,()=>M(t(y).path)),Q("click",yt,()=>e.onpick(t(y).path)),o(tt,Nt)}),o(g,K)};N(b,(g)=>{if(t(r))g(it);else if(t(v))g(vt,1);else if(t(a))g(pt,2)})}l(m);var _=s(m,2);{var ht=(g)=>{var K=Ii(),ut=d(K);Qt(ut,{size:15}),X(2),l(K),o(g,K)};N(_,(g)=>{if(t(a)&&!t(a).hasDevcontainer)g(ht)})}var At=s(_,2),Ht=s(d(At),2);l(At),l(T),l(k),A(()=>{I.disabled=!t(V),Z(f,t(a)?.path??"…"),Ht.disabled=!t(a)}),Q("click",k,function(...g){e.onclose?.apply(this,g)}),Q("keydown",k,(g)=>g.key==="Escape"&&e.onclose()),Q("click",T,(g)=>g.stopPropagation()),Q("keydown",T,()=>{}),Q("click",Y,function(...g){e.onclose?.apply(this,g)}),Q("keydown",wt,(g)=>{if(g.key==="Enter")g.preventDefault(),F()}),Tt(wt,()=>t(R),(g)=>n(R,g)),Q("keydown",bt,(g)=>{if(g.key==="Enter")g.preventDefault(),F()}),Tt(bt,()=>t(z),(g)=>n(z,g)),Q("click",I,F),Q("keydown",nt,(g)=>{let K=t($)[0];if(g.key==="Enter"&&K)g.preventDefault(),M(K.path)}),Tt(nt,()=>t(p),(g)=>n(p,g)),Q("click",Ht,()=>t(a)&&e.onpick(t(a).path)),o(i,k),ot()}Bt(["click","keydown"]);var Ci=c('<div class="branch svelte-jv8lut" title="Branch checked out in the container"><!><span class="svelte-jv8lut"> </span></div>');function Ce(i,e){var a=Ci(),r=d(a);Kt(r,{size:12});var v=s(r),p=d(v,!0);l(v),l(a),A(()=>Z(p,e.branch)),o(i,a)}var Ei=new Set(["$$slots","$$events","$$legacy"]);function de(i,e){let a=U(e,Ei),r=[["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"}]];q(i,j({name:"cable"},()=>a,{get iconNode(){return r}}))}var Mi=c('<a target="_blank" rel="noopener"> </a>'),Li=c('<div class="fports svelte-1uaz383" title="Forwarded ports — click to open"><!> <span class="list svelte-1uaz383"></span></div>');function Me(i,e){dt(e,!0);var a=oe(),r=xt(a);{var v=(p)=>{var S=Li(),C=d(S);de(C,{size:12});var w=s(C,2);mt(w,21,()=>e.ports,(R)=>R.container_port,(R,z)=>{var V=Mi();let F;var $=d(V,!0);l(V),A((E,u)=>{F=gt(V,1,"fport svelte-1uaz383",null,F,{open:t(z).open}),rt(V,"href",E),rt(V,"title",u),Z($,t(z).container_port)},[()=>Ee(t(z).host_port),()=>`container :${t(z).container_port} → ${Ee(t(z).host_port)} ${t(z).open?"(open)":"(not published yet)"}`]),o(R,V)}),l(w),l(S),o(p,S)};N(r,(p)=>{if(e.ports.length)p(v)})}o(i,a),ot()}var Pi=c('<input class="name-edit svelte-13338y7"/>'),Ti=c('<button class="name svelte-13338y7" title="Click to rename"> </button>'),Bi=c("<span></span>"),Di=c('<div class="card-error svelte-13338y7"> </div>'),zi=c("<!> <!>",1),Ai=c('<li class="card panel svelte-13338y7"><div class="card-head svelte-13338y7"><!> <!> <!> <!></div> <div class="path svelte-13338y7"> </div> <!> <!> <!> <div class="actions svelte-13338y7"><!> <!> <!> <!></div></li>');function Le(i,e){dt(e,!0);let a=Et(e,"editingName",15),r=P(()=>e.instance.status==="running"||e.instance.status==="stopped"||e.instance.status==="error"&&!!e.instance.container_id);var v=Ai(),p=d(v),S=d(p);Gt(S,{get id(){return e.instance.id},get name(){return e.instance.name},interactive:!0});var C=s(S,2);{var w=(f)=>{var x=Pi();Pt(x),se(x,!0),Dt("focus",x,(B)=>B.currentTarget.select()),Dt("blur",x,function(...B){e.oncommitrename?.apply(this,B)}),Q("keydown",x,(B)=>{if(B.key==="Enter")B.currentTarget.blur();else if(B.key==="Escape")e.oncancelrename()}),Tt(x,a),o(f,x)},R=(f)=>{var x=Ti(),B=d(x,!0);l(x),A(()=>Z(B,e.instance.name)),Q("click",x,function(...J){e.onstartrename?.apply(this,J)}),o(f,x)};N(C,(f)=>{if(e.editing)f(w);else f(R,-1)})}var z=s(C,2);{var V=(f)=>{var x=Bi();let B;A(()=>{B=gt(x,1,"attn svelte-13338y7",null,B,{"attn-done":e.instance.attention==="done","attn-waiting":e.instance.attention==="waiting"}),rt(x,"title",e.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished"),rt(x,"aria-label",e.instance.attention==="waiting"?"Claude is waiting for input":"Claude finished")}),o(f,x)};N(z,(f)=>{if(e.instance.attention)f(V)})}var F=s(z,2);Je(F,{get status(){return e.instance.status}}),l(p);var $=s(p,2),E=d($,!0);l($);var u=s($,2);{var D=(f)=>{Me(f,{get ports(){return e.instance.forwarded_ports}})};N(u,(f)=>{if(e.instance.status==="running")f(D)})}var M=s(u,2);{var k=(f)=>{Ce(f,{get branch(){return e.instance.git_branch}})};N(M,(f)=>{if(e.instance.git_branch)f(k)})}var T=s(M,2);{var W=(f)=>{var x=Di(),B=d(x,!0);l(x),A(()=>Z(B,e.instance.error)),o(f,x)};N(T,(f)=>{if(e.instance.status==="error"&&e.instance.error)f(W)})}var Y=s(T,2),O=d(Y);{var et=(f)=>{var x=zi(),B=xt(x);{let nt=P(()=>`/ide/${e.instance.id}`);ft(B,{variant:"primary",size:"sm",get href(){return t(nt)},children:(m,b)=>{X();var it=st("Open IDE");o(m,it)},$$slots:{default:!0}})}var J=s(B,2);ft(J,{size:"sm",onclick:()=>e.onact("stop"),children:(nt,m)=>{X();var b=st("Stop");o(nt,b)},$$slots:{default:!0}}),o(f,x)},St=(f)=>{ft(f,{size:"sm",onclick:()=>e.onact("start"),children:(x,B)=>{X();var J=st("Start");o(x,J)},$$slots:{default:!0}})},wt=(f)=>{{let x=P(()=>`/instances/${e.instance.id}`);ft(f,{size:"sm",get href(){return t(x)},target:"_blank",rel:"noopener noreferrer",children:(B,J)=>{X();var nt=st("View logs");o(B,nt)},$$slots:{default:!0}})}};N(O,(f)=>{if(e.instance.status==="running")f(et);else if(e.instance.status==="stopped"||e.instance.status==="error"&&e.instance.container_id)f(St,1);else if(e.instance.status==="creating")f(wt,2)})}var bt=s(O,2);{var I=(f)=>{ft(f,{size:"sm",title:"Recreate the container and re-run setup (credentials, hooks, port forwards)",onclick:()=>e.onact("rebuild"),children:(x,B)=>{X();var J=st("Rebuild");o(x,J)},$$slots:{default:!0}})};N(bt,(f)=>{if(t(r))f(I)})}var L=s(bt,2);{let f=P(()=>`/instances/${e.instance.id}`);ft(L,{size:"sm",ghost:!0,get href(){return t(f)},target:"_blank",rel:"noopener noreferrer",children:(x,B)=>{X();var J=st("Details");o(x,J)},$$slots:{default:!0}})}var H=s(L,2);ft(H,{variant:"danger",size:"sm",onclick:()=>e.onact("delete"),children:(f,x)=>{X();var B=st("Delete");o(f,B)},$$slots:{default:!0}}),l(Y),l(v),A(()=>{rt($,"title",e.instance.source_path),Z(E,e.instance.source_path)}),o(i,v),ot()}Bt(["keydown","click"]);var Vi=new Set(["$$slots","$$events","$$legacy"]);function fe(i,e){let a=U(e,Vi),r=[["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"}]];q(i,j({name:"component"},()=>a,{get iconNode(){return r}}))}var Fi=new Set(["$$slots","$$events","$$legacy"]);function ce(i,e){let a=U(e,Fi),r=[["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"}]];q(i,j({name:"package"},()=>a,{get iconNode(){return r}}))}var ki=c('<a class="brand svelte-94cd8h" href="/"><span class="logo svelte-94cd8h"><!></span><span>Codebay</span><span class="tagline svelte-94cd8h">devcontainer manager</span></a>');function Pe(i){var e=ki(),a=d(e),r=d(a);ce(r,{size:22}),l(a),X(2),l(e),o(i,e)}var Ri=new Set(["$$slots","$$events","$$legacy"]);function Zt(i,e){let a=U(e,Ri),r=[["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"}]];q(i,j({name:"settings"},()=>a,{get iconNode(){return r}}))}var _i=c('<a class="cog svelte-1e745g8" href="/settings" aria-label="Settings" title="Settings"><!></a>');function Te(i){var e=_i(),a=d(e);Zt(a,{size:16}),l(e),o(i,e)}var yi=new Set(["$$slots","$$events","$$legacy"]);function me(i,e){let a=U(e,yi),r=[["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"}]];q(i,j({name:"link"},()=>a,{get iconNode(){return r}}))}var Wi=c('<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>'),Ki=c('<div class="cred-dropdown panel svelte-vongf9" role="menu"></div>'),Qi=c('<div class="cred-menu svelte-vongf9"><button aria-haspopup="menu" aria-label="Credentials" title="Credentials"><!></button> <!></div>');function Be(i,e){dt(e,!0);let a=h(!1),r=P(()=>e.auth.filter(($)=>$.available).length),v=P(()=>t(r)===e.auth.length?"ok":t(r)===0?"error":"warn"),p={ok:me,warn:Qt,error:Yt},S=P(()=>p[t(v)]);function C($){if($.available)Xt.success(`${$.label} credentials come from ${$.source}.`);else{let E=$.hint?` — ${$.hint}`:"";Xt.error(`No ${$.label} credentials found${E}.`)}}$t(()=>{if(!t(a))return;let $=(u)=>{if(!u.target?.closest(".cred-menu"))n(a,!1)},E=(u)=>{if(u.key==="Escape")n(a,!1)};return window.addEventListener("click",$),window.addEventListener("keydown",E),()=>{window.removeEventListener("click",$),window.removeEventListener("keydown",E)}});var w=Qi(),R=d(w),z=d(R);Oe(z,()=>t(S),($,E)=>{E($,{size:16})}),l(R);var V=s(R,2);{var F=($)=>{var E=Ki();mt(E,21,()=>e.auth,(u)=>u.id,(u,D)=>{var M=Wi(),k=d(M),T=s(k,2),W=d(T,!0);l(T);var Y=s(T,2),O=d(Y,!0);l(Y),l(M),A(()=>{rt(M,"title",t(D).available?`Credentials from ${t(D).source}, copied into each new instance.`:`No credentials found on this computer${t(D).hint?` — ${t(D).hint}`:""}.`),gt(k,1,`dot ${t(D).available?"on":"off"}`,"svelte-vongf9"),Z(W,t(D).label),Z(O,t(D).available?"Authorized":"Not found")}),Q("click",M,()=>C(t(D))),o(u,M)}),l(E),o($,E)};N(V,($)=>{if(t(a))$(F)})}l(w),A(()=>{gt(R,1,`cred ${t(v)??""}`,"svelte-vongf9"),rt(R,"aria-expanded",t(a))}),Q("click",R,()=>n(a,!t(a))),o(i,w),ot()}Bt(["click"]);var Zi=c('<header class="topbar svelte-1h259us"><!> <div class="topbar-actions svelte-1h259us"><!> <!> <!> <!> <!></div></header>');function De(i,e){let a=Et(e,"canDelete",3,!1),r=Et(e,"ready",3,!0),v=Et(e,"creating",3,!1);var p=Zi(),S=d(p);Pe(S,{});var C=s(S,2),w=d(C);{var R=(E)=>{ft(E,{variant:"default",size:"sm",get icon(){return fe},href:"/debug",children:(u,D)=>{X();var M=st("Debug");o(u,M)},$$slots:{default:!0}})};N(w,(E)=>{if(Ye)E(R)})}var z=s(w,2);Te(z,{});var V=s(z,2);Be(V,{get auth(){return e.auth}});var F=s(V,2);{let E=P(()=>!a());ft(F,{variant:"danger",size:"sm",get onclick(){return e.onDeleteAll},get disabled(){return t(E)},children:(u,D)=>{X();var M=st("Delete all");o(u,M)},$$slots:{default:!0}})}var $=s(F,2);{let E=P(()=>v()?void 0:$e),u=P(()=>!r()||v());ft($,{variant:"primary",get icon(){return t(E)},get onclick(){return e.onNew},get disabled(){return t(u)},children:(D,M)=>{X();var k=st();A(()=>Z(k,v()?"Creating…":"New instance")),o(D,k)},$$slots:{default:!0}})}l(C),l(p),o(i,p)}var Hi=c("<span>Docker daemon is not reachable.</span>"),Ji=c("<span>The devcontainer CLI is not available.</span>"),Oi=c('<div class="banner error svelte-146pixd"><strong>Setup needed.</strong> <!> <!></div>'),Yi=c('<div class="banner error svelte-146pixd"><strong>Error.</strong> <span> </span></div>'),Gi=c('<div class="empty svelte-146pixd"><p class="empty-sub svelte-146pixd">Loading…</p></div>'),Xi=c('<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>'),Ui=c('<ul class="grid svelte-146pixd"></ul>'),ji=c('<!> <main class="stage svelte-146pixd"><!> <!> <!></main> <!>',1);function ze(i,e){dt(e,!0);let a=h(!1),r=h(!1),v=h(null),p=h(null),S=h(""),C=P(()=>e.preflight.docker&&e.preflight.cli);async function w(I,L){n(a,!1),n(r,!0),n(v,null);try{await zt("/api/instances",{sourcePath:I,branch:L?.branch},"Failed to create instance")}catch(H){n(v,H.message,!0)}finally{n(r,!1)}}async function R(I,L){if(n(v,null),L==="delete"&&!confirm("Delete this instance and its copied files?"))return;if(L==="rebuild"&&!confirm("Recreate this container and re-run setup? The workspace is kept."))return;try{await zt(`/api/instances/${I}/${L}`,void 0,`Failed to ${L}`)}catch(H){n(v,H.message,!0)}}function z(I){n(p,I.id,!0),n(S,I.name,!0)}function V(){n(p,null),n(S,"")}async function F(I){let L=t(S).trim(),H=e.instances.find((f)=>f.id===I)?.name;if(!L||L===H){V();return}V(),n(v,null);try{await zt(`/api/instances/${I}/rename`,{name:L},"Failed to rename")}catch(f){n(v,f.message,!0)}}async function $(){if(n(v,null),!confirm(`Delete all ${e.instances.length} instances and their copied files?`))return;try{await zt("/api/instances/delete-all",void 0,"Failed to delete all")}catch(I){n(v,I.message,!0)}}var E=ji(),u=xt(E);{let I=P(()=>e.instances.length>0);De(u,{get auth(){return e.preflight.auth},get canDelete(){return t(I)},get ready(){return t(C)},get creating(){return t(r)},onNew:()=>n(a,!0),onDeleteAll:$})}var D=s(u,2),M=d(D);{var k=(I)=>{var L=Oi(),H=s(d(L),2);{var f=(J)=>{var nt=Hi();o(J,nt)};N(H,(J)=>{if(!e.preflight.docker)J(f)})}var x=s(H,2);{var B=(J)=>{var nt=Ji();o(J,nt)};N(x,(J)=>{if(!e.preflight.cli)J(B)})}l(L),o(I,L)};N(M,(I)=>{if(!t(C))I(k)})}var T=s(M,2);{var W=(I)=>{var L=Yi(),H=s(d(L),2),f=d(H,!0);l(H),l(L),A(()=>Z(f,t(v))),o(I,L)};N(T,(I)=>{if(t(v))I(W)})}var Y=s(T,2);{var O=(I)=>{var L=Gi();o(I,L)},et=(I)=>{var L=Xi(),H=s(d(L),4);{let f=P(()=>!t(C));ft(H,{variant:"primary",get icon(){return $e},onclick:()=>n(a,!0),get disabled(){return t(f)},children:(x,B)=>{X();var J=st("New instance");o(x,J)},$$slots:{default:!0}})}l(L),o(I,L)},St=(I)=>{var L=Ui();mt(L,21,()=>e.instances,(H)=>H.id,(H,f)=>{{let x=P(()=>t(p)===t(f).id);Le(H,{get instance(){return t(f)},get editing(){return t(x)},onact:(B)=>R(t(f).id,B),onstartrename:()=>z(t(f)),oncommitrename:()=>F(t(f).id),oncancelrename:V,get editingName(){return t(S)},set editingName(B){n(S,B,!0)}})}}),l(L),o(I,L)};N(Y,(I)=>{if(!e.loaded)I(O);else if(e.instances.length===0)I(et,1);else I(St,-1)})}l(D);var wt=s(D,2);{var bt=(I)=>{Ne(I,{onpick:w,onclose:()=>n(a,!1)})};N(wt,(I)=>{if(t(a))I(bt)})}o(i,E),ot()}var qi=c('<div class="tab-label editing svelte-r39acv"><!> <input class="tab-name-edit svelte-r39acv"/></div>'),ta=c('<button type="button" class="tab-label svelte-r39acv"><!> <span class="tab-name svelte-r39acv"> </span></button>'),ea=c("<div><!></div>"),ia=c('<nav class="tabs svelte-r39acv"></nav>'),aa=c('<!> <a class="cog svelte-r39acv" href="/settings" title="Settings" aria-label="Settings"><!></a>',1);function Ae(i,e){dt(e,!0);let a=Et(e,"editingName",15);Ge(i,{children:(r,v)=>{var p=aa(),S=xt(p);{var C=(z)=>{var V=ia();mt(V,21,()=>e.running,(F)=>F.id,(F,$)=>{var E=ea();let u;var D=d(E);{var M=(T)=>{var W=qi(),Y=d(W);Gt(Y,{get id(){return t($).id},get name(){return t($).name},scale:4});var O=s(Y,2);Pt(O),se(O,!0),l(W),Dt("focus",O,(et)=>et.currentTarget.select()),Dt("blur",O,()=>e.oncommitrename(t($).id)),Q("keydown",O,(et)=>{if(et.key==="Enter")et.currentTarget.blur();else if(et.key==="Escape")e.oncancelrename()}),Tt(O,a),o(T,W)},k=(T)=>{var W=ta(),Y=d(W);Gt(Y,{get id(){return t($).id},get name(){return t($).name},scale:4});var O=s(Y,2),et=d(O,!0);l(O),l(W),A(()=>{rt(W,"title",t($).name),Z(et,t($).name)}),Q("click",W,()=>e.onselect(t($).id)),Q("dblclick",W,()=>e.onstartrename(t($))),o(T,W)};N(D,(T)=>{if(e.editingId===t($).id)T(M);else T(k,-1)})}l(E),A(()=>u=gt(E,1,"tab svelte-r39acv",null,u,{active:t($).id===e.active,"attn-done":t($).id!==e.active&&e.attention[t($).id]==="done","attn-waiting":t($).id!==e.active&&e.attention[t($).id]==="waiting"})),o(F,E)}),l(V),o(z,V)};N(S,(z)=>{if(e.running.length>0)z(C)})}var w=s(S,2),R=d(w);Zt(R,{size:18}),l(w),o(r,p)},$$slots:{default:!0}}),ot()}Bt(["keydown","click","dblclick"]);var ra=c('<div class="row svelte-w5e143"> </div>'),na=c('<div class="stalled svelte-w5e143"><p class="svelte-w5e143">Waiting for code-server to answer inside the container.</p> <!></div>'),la=c('<div class="loader svelte-w5e143"><div class="grid svelte-w5e143" aria-hidden="true"></div> <div class="label svelte-w5e143">Loading editor<span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span><span class="dot svelte-w5e143">.</span></div> <!></div>');function ge(i,e){dt(e,!0);let a=Et(e,"speed",3,1),r=h(!1);$t(()=>{if(e.stalledAfterMs===void 0)return;let u=setTimeout(()=>n(r,!0),e.stalledAfterMs);return()=>clearTimeout(u)});let v=3,p=22,S=140,C=7,w=P(()=>Math.max(20,S/a())),z=h(Lt((()=>Array.from({length:v},()=>Array.from({length:p},()=>Math.random()<0.5?0:1)))()));$t(()=>{if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let u=setInterval(()=>{let D=t(z).map((M)=>M.slice());for(let M=0;M<C;M++){let k=D[Math.floor(Math.random()*v)],T=Math.floor(Math.random()*p);k[T]=k[T]?0:1}n(z,D,!0)},t(w));return()=>clearInterval(u)});var V=la(),F=d(V);mt(F,21,()=>t(z),Xe,(u,D)=>{var M=ra(),k=d(M,!0);l(M),A((T)=>Z(k,T),[()=>t(D).join("")]),o(u,M)}),l(F);var $=s(F,4);{var E=(u)=>{var D=na(),M=s(d(D),2);{var k=(T)=>{ft(T,{size:"sm",get onclick(){return e.onoverride},children:(W,Y)=>{X();var O=st("Open anyway");o(W,O)},$$slots:{default:!0}})};N(M,(T)=>{if(e.onoverride)T(k)})}l(D),o(u,D)};N($,(u)=>{if(t(r))u(E)})}l(V),o(i,V),ot()}var da=c('<iframe class="svelte-1duc7gd"></iframe>'),oa=c("<div><!> <!></div>"),sa=c('<div class="empty svelte-1duc7gd">No running instances.</div>'),fa=c("<div><!> <div><!> <!></div></div> <!>",1);function Ve(i,e){dt(e,!0);let a=h(Lt(e.snapshot)),r=h(Lt(e.preflight)),v=h(e.snapshot.length>0),p=P(()=>t(a).filter((m)=>m.status==="running")),S=h(Lt(Object.fromEntries(e.snapshot.map((m)=>[m.id,m.attention])))),C=h(null),w=h("");function R(m){n(C,m.id,!0),n(w,m.name,!0)}function z(){n(C,null),n(w,"")}async function V(m){let b=t(w).trim(),it=t(a).find((vt)=>vt.id===m)?.name;if(!b||b===it){z();return}z();try{await zt(`/api/instances/${m}/rename`,{name:b},"Failed to rename")}catch(vt){Xt.error(vt.message)}}let F=h(Lt(e.initialPath)),$=P(()=>t(F).startsWith("/ide")),E=P(()=>t(F).startsWith("/ide/")?t(F).slice(5):""),u=P(()=>t($)?t(p).some((m)=>m.id===t(E))?t(E):t(p)[0]?.id??"":"");function D(m){if(m===t(F))return;history.pushState({},"",m),n(F,m,!0)}$t(()=>{function m(b){if(b.defaultPrevented||b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey)return;let it=b.target?.closest?.("a");if(!it)return;let vt=it.getAttribute("href");if(!vt||it.target==="_blank"||it.hasAttribute("download"))return;let pt=new URL(vt,location.href);if(pt.origin!==location.origin)return;if(pt.pathname==="/"||pt.pathname.startsWith("/ide/"))b.preventDefault(),D(pt.pathname)}return document.addEventListener("click",m),()=>document.removeEventListener("click",m)}),$t(()=>{function m(){n(F,location.pathname,!0)}return window.addEventListener("popstate",m),()=>window.removeEventListener("popstate",m)});let M=new Mt;$t(()=>{if(t(u))M.add(t(u))});let k=new Mt,T=new Mt,W=new Mt,Y=(m)=>T.has(m)||W.has(m),O=1e4;$t(()=>{let m=t(p).find((b)=>b.id===t(u));document.title=t($)&&m?`${m.name} — Codebay`:"Codebay"}),$t(()=>{return window.addEventListener("pointerdown",Ut),window.addEventListener("keydown",Ut),()=>{window.removeEventListener("pointerdown",Ut),window.removeEventListener("keydown",Ut)}}),$t(()=>{let m=!1;return ei((b)=>{if(b.type==="preflight"){n(r,{...t(r),docker:b.data.docker,cli:b.data.cli},!0);return}if(b.type==="health"){let _=t(a).find((ht)=>ht.id===b.data.id);if(b.data.health.codeServerAccessible&&_?.status==="running")T.add(b.data.id);return}if(b.type!=="instances")return;let it=b.data,vt=new Set(it.filter((_)=>_.status==="running").map((_)=>_.id));for(let _ of[...T])if(!vt.has(_))T.delete(_);for(let _ of[...W])if(!vt.has(_))W.delete(_);for(let _ of[...k])if(!vt.has(_))k.delete(_);let pt={};for(let _ of it)pt[_.id]=_.attention;if(m)for(let _ in pt){let ht=pt[_];if(ht&&ht!==t(S)[_])if(_===t(u))console.log(`[chime] attention id=${_} state=${ht} — skipped (tab is active/focused)`);else console.log(`[chime] attention id=${_} state=${ht} → playChime`),qe(ht)}else console.log("[chime] first frame after (re)connect — baselining, no chimes");m=!0,n(a,it,!0),n(S,pt,!0),n(v,!0)},()=>{m=!1})}),$t(()=>{if(!t(u)||!t(S)[t(u)])return;let m=()=>{if(document.visibilityState==="visible")zt(`/api/instances/${t(u)}/attention/clear`).catch(()=>{})};return m(),document.addEventListener("visibilitychange",m),()=>document.removeEventListener("visibilitychange",m)});var et=fa(),St=xt(et);let wt;var bt=d(St);{var I=(m)=>{Ae(m,{get running(){return t(p)},get active(){return t(u)},get attention(){return t(S)},get editingId(){return t(C)},onselect:(b)=>D(`/ide/${b}`),onstartrename:R,oncommitrename:V,oncancelrename:z,get editingName(){return t(w)},set editingName(b){n(w,b,!0)}})},L=(m)=>{ze(m,{get preflight(){return t(r)},get instances(){return t(a)},get loaded(){return t(v)}})};N(bt,(m)=>{if(t($))m(I);else m(L,-1)})}var H=s(bt,2);let f;var x=d(H);mt(x,17,()=>t(p),(m)=>m.id,(m,b)=>{var it=oe(),vt=xt(it);{var pt=(ht)=>{var At=oa();let Ht;var g=d(At);{var K=(y)=>{var at=da();A((Nt)=>{rt(at,"src",Nt),rt(at,"title",t(b).name)},[()=>ti(t(b))]),Dt("load",at,()=>k.add(t(b).id)),Ue(at),o(y,at)},ut=P(()=>Y(t(b).id));N(g,(y)=>{if(t(ut))y(K)})}var Jt=s(g,2);{var kt=(y)=>{ge(y,{stalledAfterMs:O,onoverride:()=>W.add(t(b).id)})},It=P(()=>!Y(t(b).id)),ct=(y)=>{ge(y,{})},tt=P(()=>!k.has(t(b).id));N(Jt,(y)=>{if(t(It))y(kt);else if(t(tt))y(ct,1)})}l(At),A(()=>Ht=gt(At,1,"pane svelte-1duc7gd",null,Ht,{active:t(b).id===t(u)})),o(ht,At)},_=P(()=>M.has(t(b).id));N(vt,(ht)=>{if(t(_))ht(pt)})}o(m,it)});var B=s(x,2);{var J=(m)=>{var b=sa();o(m,b)};N(B,(m)=>{if(t($)&&t(p).length===0)m(J)})}l(H),l(St);var nt=s(St,2);je(nt,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),A(()=>{wt=gt(St,1,"app svelte-1duc7gd",null,wt,{ide:t($)}),f=gt(H,1,"panes svelte-1duc7gd",null,f,{hidden:!t($)})}),o(i,et),ot()}ii("AppShell_2rtnxn6pgp2rh",Ve);
@@ -1,4 +1,4 @@
1
- import{o as Y,p as d,q as M,r as $,s as ne,t as N,u as Z,v as Ke,w as ie,x as Qe}from"/_mochi/client/chunk-sjmcgh7f.js";import{y as k}from"/_mochi/client/chunk-04qv4w6w.js";import{B as f,Ba as be,C as K,Ca as He,Ea as Ce,G as R,H as _,Ha as je,Ja as ze,Ka as De,Ma as I,Na as g,P as b,S as F,U as Q,Ua as Xe,W as Ee,X as i,Y as Je,Z as m,ba as H,ga as s,ka as le,la as w,ma as Me,na as q,pa as X,ra as c,sa as ce,ua as me,va as G}from"/_mochi/client/chunk-qxwt25hn.js";var Ne=new Set(["$$slots","$$events","$$legacy"]);function U(o,p){let r=I(p,Ne),l=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];k(o,g({name:"copy"},()=>r,{get iconNode(){return l}}))}var Ae=new Set(["$$slots","$$events","$$legacy"]);function B(o,p){let r=I(p,Ae),l=[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21"}],["path",{d:"m5.082 11.09 8.828 8.828"}]];k(o,g({name:"eraser"},()=>r,{get iconNode(){return l}}))}var Pe=new Set(["$$slots","$$events","$$legacy"]);function W(o,p){let r=I(p,Pe),l=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z"}]];k(o,g({name:"contrast"},()=>r,{get iconNode(){return l}}))}var Ve=new Set(["$$slots","$$events","$$legacy"]);function L(o,p){let r=I(p,Ve),l=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];k(o,g({name:"external-link"},()=>r,{get iconNode(){return l}}))}var Ue="https://github.com/khromov/codebay";function ye(o){return o.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"")}function Se(o){let p=[];for(let r=0;r<M;r++){let l="";for(let a=0;a<$;a++)l+=o[r*$+a]===d?"#":".";p.push(l)}return p}function pe(o){let p=o.pixels.map((r)=>` '${r}'`).join(`,
1
+ import{f as Ke,g as Qe,h as ie,i as Y,j as Z,k as d,l as M,m as $,n as ne,o as N}from"/_mochi/client/chunk-gjjhya9m.js";import{y as k}from"/_mochi/client/chunk-04qv4w6w.js";import{B as f,Ba as be,C as K,Ca as He,Ea as Ce,G as R,H as _,Ha as je,Ja as ze,Ka as De,Ma as I,Na as g,P as b,S as F,U as Q,Ua as Xe,W as Ee,X as i,Y as Je,Z as m,ba as H,ga as s,ka as le,la as w,ma as Me,na as q,pa as X,ra as c,sa as ce,ua as me,va as G}from"/_mochi/client/chunk-qxwt25hn.js";var Ne=new Set(["$$slots","$$events","$$legacy"]);function U(o,p){let r=I(p,Ne),l=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];k(o,g({name:"copy"},()=>r,{get iconNode(){return l}}))}var Ae=new Set(["$$slots","$$events","$$legacy"]);function B(o,p){let r=I(p,Ae),l=[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21"}],["path",{d:"m5.082 11.09 8.828 8.828"}]];k(o,g({name:"eraser"},()=>r,{get iconNode(){return l}}))}var Pe=new Set(["$$slots","$$events","$$legacy"]);function W(o,p){let r=I(p,Pe),l=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z"}]];k(o,g({name:"contrast"},()=>r,{get iconNode(){return l}}))}var Ve=new Set(["$$slots","$$events","$$legacy"]);function L(o,p){let r=I(p,Ve),l=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];k(o,g({name:"external-link"},()=>r,{get iconNode(){return l}}))}var Ue="https://github.com/khromov/codebay";function ye(o){return o.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"")}function Se(o){let p=[];for(let r=0;r<M;r++){let l="";for(let a=0;a<$;a++)l+=o[r*$+a]===d?"#":".";p.push(l)}return p}function pe(o){let p=o.pixels.map((r)=>` '${r}'`).join(`,
2
2
  `);return`import type { AvatarArt } from './types.ts';
3
3
 
4
4
  const art: AvatarArt = {
@@ -10,4 +10,4 @@ ${p}
10
10
 
11
11
  export default art;
12
12
  `}function Te(o){let p=`Avatar contribution: ${o.name}`,r=["Hi! I drew this avatar in the editor easter egg and I'd love to see it in the official set.","","```",...o.pixels,"```","",`Ready-to-paste module (\`src/avatars/${o.name}.ts\`, plus a line in \`src/avatars/index.ts\`):`,"","```ts",pe(o).trimEnd(),"```","","_It should satisfy `src/avatars/avatars.test.ts`: exactly 8×8, only `#`/`.` pixels, unique name._"].join(`
13
- `),l=new URLSearchParams({title:p,body:r});return`${Ue}/issues/new?${l}`}var Be=q('<span class="ring-cell svelte-qu6vp4" aria-hidden="true"></span>'),We=q("<span></span>"),Le=q('<section class="editor svelte-qu6vp4"><div class="head svelte-qu6vp4"><h2 class="svelte-qu6vp4">Draw your own avatar</h2></div> <div class="body svelte-qu6vp4"><div class="grid-frame svelte-qu6vp4"><!> <div class="grid svelte-qu6vp4" role="img" aria-label="8 by 8 pixel drawing canvas"></div></div> <div class="side svelte-qu6vp4"><div class="preview"><div class="preview-label svelte-qu6vp4">Preview</div> <div class="preview-row svelte-qu6vp4"><!> <!></div></div> <label class="name-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Name</span> <input type="text" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" maxlength="24" class="svelte-qu6vp4"/></label> <div class="tools svelte-qu6vp4"><!> <!></div></div></div> <div class="foot svelte-qu6vp4"><span class="hint svelte-qu6vp4">Draw something, then open an issue to get it into the official set.</span> <div class="actions svelte-qu6vp4"><!> <!></div></div></section>');function he(o,p){R(p,!0);let r=F(Ee(Array(M*$).fill(Y))),l=F(""),a=b(()=>ye(s(l))),u=b(()=>({name:s(a)||"my-avatar",pixels:Se(s(r))})),j=b(()=>s(a).length>0&&s(r).some((e)=>e===d)),y=F(null),S=!1,C=d,O=Array.from({length:100},(e,t)=>({r:Math.floor(t/10),c:t%10})).filter(({r:e,c:t})=>e===0||e===9||t===0||t===9);function z(e){if(!s(y))return null;let t=s(y).getBoundingClientRect(),h=Math.floor((e.clientX-t.left)/t.width*$),n=Math.floor((e.clientY-t.top)/t.height*M);if(n<0||n>=M||h<0||h>=$)return null;return n*$+h}function ee(e){let t=z(e);if(t==null)return;e.currentTarget.setPointerCapture?.(e.pointerId),S=!0,C=s(r)[t]===d?Y:d,s(r)[t]=C}function T(e){if(!S)return;let t=z(e);if(t!=null)s(r)[t]=C}function x(){S=!1}function E(){Q(r,Array(M*$).fill(Y),!0)}function A(){Q(r,s(r).map((e)=>e===d?Y:d),!0)}async function P(){try{await navigator.clipboard.writeText(pe(s(u))),ie("Copied — paste it into the GitHub issue")}catch(e){ie.error(`Copy failed: ${e.message}`)}}var D=Le(),se=m(i(D),2),re=i(se),ae=i(re);G(ae,17,()=>O,me,(e,t)=>{let h=()=>s(t).r,n=()=>s(t).c;var V=Be();H(()=>He(V,`grid-row:${h()+1};grid-column:${n()+1}`)),c(e,V)});var v=m(ae,2);G(v,21,()=>s(r),me,(e,t)=>{var h=We();let n;H(()=>n=be(h,1,"cell svelte-qu6vp4",null,n,{on:s(t)===d})),c(e,h)}),f(v),De(v,(e)=>Q(y,e),()=>s(y)),f(re);var ue=m(re,2),te=i(ue),$e=m(i(te),2),xe=i($e);N(xe,{get art(){return s(u)},get name(){return s(u).name},scale:6});var Ye=m(xe,2);N(Ye,{get art(){return s(u)},get name(){return s(u).name},scale:3}),f($e),f(te);var oe=m(te,2),fe=m(i(oe),2);Ce(fe),f(oe);var ve=m(oe,2),Ie=i(ve);Z(Ie,{size:"sm",get icon(){return B},onclick:E,children:(e,t)=>{K();var h=X("Clear");c(e,h)},$$slots:{default:!0}});var Ze=m(Ie,2);Z(Ze,{size:"sm",get icon(){return W},onclick:A,children:(e,t)=>{K();var h=X("Invert");c(e,h)},$$slots:{default:!0}}),f(ve),f(ue),f(se);var ge=m(se,2),ke=m(i(ge),2),qe=i(ke);{let e=b(()=>!s(j));Z(qe,{size:"sm",get icon(){return U},get disabled(){return s(e)},onclick:P,children:(t,h)=>{K();var n=X("Copy");c(t,n)},$$slots:{default:!0}})}var Ge=m(qe,2);{let e=b(()=>!s(j)),t=b(()=>Te(s(u)));Z(Ge,{size:"sm",variant:"primary",get icon(){return L},get disabled(){return s(e)},get href(){return s(t)},target:"_blank",rel:"noopener",children:(h,n)=>{K();var V=X("Open GitHub issue");c(h,V)},$$slots:{default:!0}})}f(ke),f(ge),f(D),H(()=>je(fe,"placeholder",p.namePlaceholder)),w("pointerdown",v,ee),w("pointermove",v,T),w("pointerup",v,x),le("pointercancel",v,x),le("lostpointercapture",v,x),ze(fe,()=>s(l),(e)=>Q(l,e)),c(o,D),_()}Me(["pointerdown","pointermove","pointerup"]);var Fe=q('<span class="title svelte-fkq7sr">Avatars</span>'),we=q('<li class="svelte-fkq7sr"><!> <span class="label svelte-fkq7sr"> </span></li>'),Re=q('<div class="page svelte-fkq7sr"><!> <main class="content svelte-fkq7sr"><!> <section class="catalog svelte-fkq7sr"><header class="svelte-fkq7sr"><h2 class="svelte-fkq7sr">The set</h2> <p class="svelte-fkq7sr"> </p></header> <ul class="svelte-fkq7sr"></ul></section></main></div> <!>',1);function de(o,p){R(p,!0);var r=Re(),l=Je(r),a=i(l);Qe(a,{children:(T,x)=>{var E=Fe();c(T,E)},$$slots:{default:!0}});var u=m(a,2),j=i(u);he(j,{get namePlaceholder(){return p.namePlaceholder}});var y=m(j,2),S=i(y),C=m(i(S),2),O=i(C);f(C),f(S);var z=m(S,2);G(z,21,()=>ne,(T)=>T.name,(T,x)=>{var E=we(),A=i(E);N(A,{get art(){return s(x)},get name(){return s(x).name},scale:8,interactive:!0});var P=m(A,2),D=i(P,!0);f(P),f(E),H(()=>ce(D,s(x).name)),c(T,E)}),f(z),f(y),f(u),f(l);var ee=m(l,2);Ke(ee,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),H(()=>ce(O,`${ne.length??""} hand-crafted 8×8 sprites`)),c(o,r),_()}Xe("AvatarsView_257s9yq1wwr4f",de);
13
+ `),l=new URLSearchParams({title:p,body:r});return`${Ue}/issues/new?${l}`}var Be=q('<span class="ring-cell svelte-qu6vp4" aria-hidden="true"></span>'),We=q("<span></span>"),Le=q('<section class="editor svelte-qu6vp4"><div class="head svelte-qu6vp4"><h2 class="svelte-qu6vp4">Draw your own avatar</h2></div> <div class="body svelte-qu6vp4"><div class="grid-frame svelte-qu6vp4"><!> <div class="grid svelte-qu6vp4" role="img" aria-label="8 by 8 pixel drawing canvas"></div></div> <div class="side svelte-qu6vp4"><div class="preview"><div class="preview-label svelte-qu6vp4">Preview</div> <div class="preview-row svelte-qu6vp4"><!> <!></div></div> <label class="name-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Name</span> <input type="text" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" maxlength="24" class="svelte-qu6vp4"/></label> <div class="tools svelte-qu6vp4"><!> <!></div></div></div> <div class="foot svelte-qu6vp4"><span class="hint svelte-qu6vp4">Draw something, then open an issue to get it into the official set.</span> <div class="actions svelte-qu6vp4"><!> <!></div></div></section>');function he(o,p){R(p,!0);let r=F(Ee(Array(M*$).fill(Z))),l=F(""),a=b(()=>ye(s(l))),u=b(()=>({name:s(a)||"my-avatar",pixels:Se(s(r))})),j=b(()=>s(a).length>0&&s(r).some((e)=>e===d)),y=F(null),S=!1,C=d,O=Array.from({length:100},(e,t)=>({r:Math.floor(t/10),c:t%10})).filter(({r:e,c:t})=>e===0||e===9||t===0||t===9);function z(e){if(!s(y))return null;let t=s(y).getBoundingClientRect(),h=Math.floor((e.clientX-t.left)/t.width*$),n=Math.floor((e.clientY-t.top)/t.height*M);if(n<0||n>=M||h<0||h>=$)return null;return n*$+h}function ee(e){let t=z(e);if(t==null)return;e.currentTarget.setPointerCapture?.(e.pointerId),S=!0,C=s(r)[t]===d?Z:d,s(r)[t]=C}function T(e){if(!S)return;let t=z(e);if(t!=null)s(r)[t]=C}function x(){S=!1}function E(){Q(r,Array(M*$).fill(Z),!0)}function A(){Q(r,s(r).map((e)=>e===d?Z:d),!0)}async function P(){try{await navigator.clipboard.writeText(pe(s(u))),ie("Copied — paste it into the GitHub issue")}catch(e){ie.error(`Copy failed: ${e.message}`)}}var D=Le(),se=m(i(D),2),re=i(se),ae=i(re);G(ae,17,()=>O,me,(e,t)=>{let h=()=>s(t).r,n=()=>s(t).c;var V=Be();H(()=>He(V,`grid-row:${h()+1};grid-column:${n()+1}`)),c(e,V)});var v=m(ae,2);G(v,21,()=>s(r),me,(e,t)=>{var h=We();let n;H(()=>n=be(h,1,"cell svelte-qu6vp4",null,n,{on:s(t)===d})),c(e,h)}),f(v),De(v,(e)=>Q(y,e),()=>s(y)),f(re);var ue=m(re,2),te=i(ue),$e=m(i(te),2),xe=i($e);N(xe,{get art(){return s(u)},get name(){return s(u).name},scale:6});var Ye=m(xe,2);N(Ye,{get art(){return s(u)},get name(){return s(u).name},scale:3}),f($e),f(te);var oe=m(te,2),fe=m(i(oe),2);Ce(fe),f(oe);var ve=m(oe,2),Ie=i(ve);Y(Ie,{size:"sm",get icon(){return B},onclick:E,children:(e,t)=>{K();var h=X("Clear");c(e,h)},$$slots:{default:!0}});var Ze=m(Ie,2);Y(Ze,{size:"sm",get icon(){return W},onclick:A,children:(e,t)=>{K();var h=X("Invert");c(e,h)},$$slots:{default:!0}}),f(ve),f(ue),f(se);var ge=m(se,2),ke=m(i(ge),2),qe=i(ke);{let e=b(()=>!s(j));Y(qe,{size:"sm",get icon(){return U},get disabled(){return s(e)},onclick:P,children:(t,h)=>{K();var n=X("Copy");c(t,n)},$$slots:{default:!0}})}var Ge=m(qe,2);{let e=b(()=>!s(j)),t=b(()=>Te(s(u)));Y(Ge,{size:"sm",variant:"primary",get icon(){return L},get disabled(){return s(e)},get href(){return s(t)},target:"_blank",rel:"noopener",children:(h,n)=>{K();var V=X("Open GitHub issue");c(h,V)},$$slots:{default:!0}})}f(ke),f(ge),f(D),H(()=>je(fe,"placeholder",p.namePlaceholder)),w("pointerdown",v,ee),w("pointermove",v,T),w("pointerup",v,x),le("pointercancel",v,x),le("lostpointercapture",v,x),ze(fe,()=>s(l),(e)=>Q(l,e)),c(o,D),_()}Me(["pointerdown","pointermove","pointerup"]);var Fe=q('<span class="title svelte-fkq7sr">Avatars</span>'),we=q('<li class="svelte-fkq7sr"><!> <span class="label svelte-fkq7sr"> </span></li>'),Re=q('<div class="page svelte-fkq7sr"><!> <main class="content svelte-fkq7sr"><!> <section class="catalog svelte-fkq7sr"><header class="svelte-fkq7sr"><h2 class="svelte-fkq7sr">The set</h2> <p class="svelte-fkq7sr"> </p></header> <ul class="svelte-fkq7sr"></ul></section></main></div> <!>',1);function de(o,p){R(p,!0);var r=Re(),l=Je(r),a=i(l);Ke(a,{children:(T,x)=>{var E=Fe();c(T,E)},$$slots:{default:!0}});var u=m(a,2),j=i(u);he(j,{get namePlaceholder(){return p.namePlaceholder}});var y=m(j,2),S=i(y),C=m(i(S),2),O=i(C);f(C),f(S);var z=m(S,2);G(z,21,()=>ne,(T)=>T.name,(T,x)=>{var E=we(),A=i(E);N(A,{get art(){return s(x)},get name(){return s(x).name},scale:8,interactive:!0});var P=m(A,2),D=i(P,!0);f(P),f(E),H(()=>ce(D,s(x).name)),c(T,E)}),f(z),f(y),f(u),f(l);var ee=m(l,2);Qe(ee,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),H(()=>ce(O,`${ne.length??""} hand-crafted 8×8 sprites`)),c(o,r),_()}Xe("AvatarsView_257s9yq1wwr4f",de);
@@ -1 +1 @@
1
- import{a as nl,c as Gl,d as lv,e as Jl,f as vv,g as sv,h as iv}from"/_mochi/client/chunk-5jnepvzx.js";import{n as Pl}from"/_mochi/client/chunk-hcztrd75.js";import{y as d}from"/_mochi/client/chunk-04qv4w6w.js";import{Aa as Ol,B as i,Ba as fl,C as g,Ca as gl,Ea as rl,G as Il,H as Sl,Ha as Tl,Ja as $l,Ma as u,Na as P,Oa as O,P as V,Ra as _l,S as z,U as m,Ua as fv,W as Rl,X as f,Y as E,Z as h,_ as el,ba as S,ga as v,ka as ql,la as Nl,ma as ol,na as y,qa as q,ra as t,sa as I,ta as M,ua as ul,va as o}from"/_mochi/client/chunk-qxwt25hn.js";var Fv=new Set(["$$slots","$$events","$$legacy"]);function Cl(H,p){let W=u(p,Fv),e=[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]];d(H,P({name:"arrow-left"},()=>W,{get iconNode(){return e}}))}var Ov=new Set(["$$slots","$$events","$$legacy"]);function il(H,p){let W=u(p,Ov),e=[["path",{d:"M7 7h10v10"}],["path",{d:"M7 17 17 7"}]];d(H,P({name:"arrow-up-right"},()=>W,{get iconNode(){return e}}))}var Tv=new Set(["$$slots","$$events","$$legacy"]);function xl(H,p){let W=u(p,Tv),e=[["path",{d:"M20 6 9 17l-5-5"}]];d(H,P({name:"check"},()=>W,{get iconNode(){return e}}))}var Gv=y("<span></span>");function A(H,p){let W=O(p,"variant",3,"text");var e=Gv();let T;S(()=>{fl(e,1,`skel ${W()??""}`,"svelte-tl058d"),T=gl(e,"",T,{width:p.width})}),t(H,e)}var Jv=y('<div class="hrow svelte-1hnopyv"><span><!></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv"> </span></div>'),Qv=y('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <!> <!></div>'),Yv=y('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv">—</span></div>'),Zv=y('<div><div class="panel-bar">Health</div> <div class="health svelte-1hnopyv"><!></div> <div class="hfoot svelte-1hnopyv"> </div></div>');function Fl(H,p){Il(p,!0);let W=["Container running","Code-server reachable"],e=O(p,"health",3,null),T=O(p,"lastFetchedAt",3,null),R=O(p,"active",3,!0),G=O(p,"injectionChecks",3,0),hl=V(()=>{if(!e())return[];let C=(x)=>({ok:x,value:x?"OK":"—"});return[{label:W[0],...C(e().containerRunning)},{label:W[1],...C(e().codeServerAccessible)},...e().injections.map((x)=>({label:x.label,...C(x.ok)}))]});function Ml(){return e()?v(hl).length:W.length+G()}let b=z(Rl(Date.now()));el(()=>{let C=setInterval(()=>m(b,Date.now(),!0),1000);return()=>clearInterval(C)});let B=V(()=>{if(!R()&&!e())return"Container not running";if(!T())return"Waiting for first check…";return`Updated ${Math.max(0,Math.round((v(b)-T())/1000))}s ago`});var L=Zv();let r;var J=h(f(L),2),$=f(J);{var Wl=(C)=>{var x=q(),Y=E(x);o(Y,17,()=>v(hl),(K)=>K.label,(K,X)=>{var N=Jv(),j=f(N),U=f(j);{var n=(Z)=>{xl(Z,{size:12,strokeWidth:3})},ll=(Z)=>{Pl(Z,{size:12,strokeWidth:3})};M(U,(Z)=>{if(v(X).ok)Z(n);else Z(ll,-1)})}i(j);var vl=h(j,2),zl=f(vl,!0);i(vl);var tl=h(vl,2),Dl=f(tl,!0);i(tl),i(N),S(()=>{fl(j,1,`box ${v(X).ok?"ok":"bad"}`,"svelte-1hnopyv"),I(zl,v(X).label),I(Dl,v(X).value)}),t(K,N)}),t(C,x)},jl=(C)=>{var x=q(),Y=E(x);o(Y,17,()=>Array(Ml()),ul,(K,X)=>{var N=Qv(),j=h(f(N),2);A(j,{width:"120px"});var U=h(j,2);A(U,{variant:"pill"}),i(N),t(K,N)}),t(C,x)},kl=(C)=>{var x=q(),Y=E(x);o(Y,16,()=>W,(K)=>K,(K,X)=>{var N=Yv(),j=h(f(N),2),U=f(j,!0);i(j),g(2),i(N),S(()=>I(U,X)),t(K,N)}),t(C,x)};M($,(C)=>{if(e())C(Wl);else if(R())C(jl,1);else C(kl,-1)})}i(J);var Q=h(J,2),_=f(Q,!0);i(Q),i(L),S(()=>{r=fl(L,1,"healthwrap panel svelte-1hnopyv",null,r,{dim:!R()&&!e()}),I(_,v(B))}),t(H,L),Sl()}var Av=y('<form method="POST" action="?/restart" class="svelte-15fxkvm"><button class="restart svelte-15fxkvm" type="submit"> </button></form> <a class="open svelte-15fxkvm" target="_blank" rel="noopener">Open in new tab <!></a>',1),Ev=y('<p class="restart-err svelte-15fxkvm"> </p>'),dl=y('<code class="svelte-15fxkvm"> </code>'),Vv=y('<code class="svelte-15fxkvm">local (project devcontainer.json)</code>'),bv=y('<code class="muted svelte-15fxkvm">—</code>'),Bv=y('<button class="rebuild svelte-15fxkvm"> </button>'),Uv=y('<li class="svelte-15fxkvm"><span class="cp svelte-15fxkvm"> </span> <span class="arr svelte-15fxkvm">→</span> <a target="_blank" rel="noopener" class="svelte-15fxkvm"> <!></a> <button class="rm svelte-15fxkvm" title="Remove">×</button></li>'),cv=y('<ul class="port-list svelte-15fxkvm"></ul>'),gv=y('<p class="empty svelte-15fxkvm">No ports forwarded yet.</p>'),Rv=y('<p class="port-err svelte-15fxkvm"> </p>'),uv=y('<p class="hint pending svelte-15fxkvm">Port changes apply when you <strong class="svelte-15fxkvm">Restart</strong> (recreates the container).</p>'),Pv=y('<div class="err svelte-15fxkvm"> </div>'),dv=y('<header class="topbar svelte-15fxkvm"><a class="back svelte-15fxkvm" href="/"><!> All instances</a> <div class="title svelte-15fxkvm"><span class="name svelte-15fxkvm"> </span> <!></div> <!></header> <!> <main class="stage svelte-15fxkvm"><div class="meta svelte-15fxkvm"><span class="k svelte-15fxkvm">Source</span> <!> <span class="k svelte-15fxkvm">Image</span> <!></div> <div class="healthslot svelte-15fxkvm"><!></div> <section class="ports panel svelte-15fxkvm"><div class="ports-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Forwarded ports</span> <!></div> <div class="ports-body svelte-15fxkvm"><!> <form class="add svelte-15fxkvm"><input type="number" min="1" max="65535" placeholder="container port (e.g. 3000)" spellcheck="false" class="svelte-15fxkvm"/> <button type="submit" class="svelte-15fxkvm">Add</button></form> <!> <!> <p class="hint svelte-15fxkvm">Your app must bind to <code class="svelte-15fxkvm">0.0.0.0</code> inside the container to be reachable.</p></div></section> <div class="logwrap panel svelte-15fxkvm"><div class="log-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Boot log</span> <button class="copy svelte-15fxkvm"> </button></div> <div class="logs svelte-15fxkvm"><pre class="svelte-15fxkvm"> <span class="caret svelte-15fxkvm"></span></pre></div> <!></div></main>',1);function Ql(H,p){Il(p,!0);let W=O(p,"injectionChecks",3,0),e=z(null),T=z(null),R=z(null),G=z("");function hl(l){l.scrollTop=l.scrollHeight}el(()=>sv(`/api/instances/${p.id}/logs`,(l)=>m(G,v(G)+l),()=>m(G,""))),el(()=>iv((l)=>{if(l.type==="instances"){let s=l.data.find((a)=>a.id===p.id);if(s)m(e,s,!0)}else if(l.type==="health"&&l.data.id===p.id)m(T,l.data.health,!0),m(R,Date.now(),!0)}));let Ml=V(()=>v(e)?nl(v(e)):"#"),b=z(""),B=z(null),L=z(!1),r=V(()=>v(e)?.forwarded_ports??[]),J=V(()=>v(e)?.status==="creating");async function $(l){m(B,null);try{return await l(),!0}catch(s){return m(B,s.message,!0),!1}}async function Wl(l){l.preventDefault();let s=Number.parseInt(v(b),10);if(!Number.isInteger(s)||s<1||s>65535){m(B,"Enter a port number between 1 and 65535");return}if(await $(()=>Gl(`/api/instances/${p.id}/ports`,{port:s})))m(b,""),m(L,!0)}async function jl(l){if(await $(()=>lv(`/api/instances/${p.id}/ports/${l}`)))m(L,!0)}async function kl(){if(await $(()=>Gl(`/api/instances/${p.id}/rebuild`)))m(L,!1)}let Q=z(null),_=z(!1),C={onPending:(l)=>m(_,l,!0),submit:()=>{return m(Q,null),({result:l})=>{if(l.type==="failure")m(Q,l.data?.error??"Restart failed",!0);else if(l.type==="error")m(Q,"Network error. Try again.")}}},x=z(!1),Y;async function K(){await navigator.clipboard.writeText(v(G)),m(x,!0),clearTimeout(Y),Y=setTimeout(()=>m(x,!1),2000)}var X=dv(),N=E(X),j=f(N),U=f(j);Cl(U,{size:15}),g(),i(j);var n=h(j,2),ll=f(n),vl=f(ll,!0);i(ll);var zl=h(ll,2);{var tl=(l)=>{vv(l,{get status(){return v(e).status}})},Dl=(l)=>{A(l,{variant:"pill"})};M(zl,(l)=>{if(v(e))l(tl);else l(Dl,-1)})}i(n);var Z=h(n,2);{var ev=(l)=>{var s=Av(),a=E(s),w=f(a),c=f(w,!0);i(w),i(a),Ol(a,()=>_l(C));var F=h(a,2),k=h(f(F));il(k,{size:15}),i(F),S(()=>{w.disabled=v(_)||v(J),I(c,v(_)||v(J)?"Restarting…":"Restart container"),Tl(F,"href",v(Ml))}),t(l,s)};M(Z,(l)=>{if(v(e)?.status==="running")l(ev)})}i(N);var Yl=h(N,2);{var hv=(l)=>{var s=Ev(),a=f(s,!0);i(s),S(()=>I(a,v(Q))),t(l,s)};M(Yl,(l)=>{if(v(Q))l(hv)})}var Zl=h(Yl,2),Hl=f(Zl),Al=h(f(Hl),2);{var tv=(l)=>{var s=dl(),a=f(s,!0);i(s),S(()=>I(a,v(e).source_path)),t(l,s)},pv=(l)=>{A(l,{variant:"wide"})};M(Al,(l)=>{if(v(e))l(tv);else l(pv,-1)})}var av=h(Al,4);{var mv=(l)=>{var s=q(),a=E(s);{var w=(k)=>{var D=Vv();t(k,D)},c=(k)=>{var D=dl(),yl=f(D,!0);i(D),S(()=>I(yl,v(e).image_source)),t(k,D)},F=(k)=>{var D=bv();t(k,D)};M(a,(k)=>{if(v(e).image_source==="local")k(w);else if(v(e).image_source)k(c,1);else k(F,-1)})}t(l,s)},yv=(l)=>{A(l,{variant:"wide"})};M(av,(l)=>{if(v(e))l(mv);else l(yv,-1)})}i(Hl);var Kl=h(Hl,2),Cv=f(Kl);{let l=V(()=>!v(e)||v(e).status==="running");Fl(Cv,{get health(){return v(T)},get lastFetchedAt(){return v(R)},get injectionChecks(){return W()},get active(){return v(l)}})}i(Kl);var Ll=h(Kl,2),Xl=f(Ll),xv=h(f(Xl),2);{var Iv=(l)=>{var s=Bv(),a=f(s,!0);i(s),S(()=>{s.disabled=v(J),I(a,v(J)?"Restarting…":"Restart to apply")}),Nl("click",s,kl),t(l,s)};M(xv,(l)=>{if(v(L))l(Iv)})}i(Xl);var El=h(Xl,2),Vl=f(El);{var Sv=(l)=>{var s=cv();o(s,21,()=>v(r),(a)=>a.container_port,(a,w)=>{var c=Uv(),F=f(c),k=f(F);i(F);var D=h(F,4),yl=f(D),Kv=h(yl);il(Kv,{size:12}),i(D);var Lv=h(D,2);i(c),S((Xv,wv)=>{I(k,`:${v(w).container_port??""}`),Tl(D,"href",Xv),I(yl,`${wv??""} `)},[()=>Jl(v(w).host_port),()=>Jl(v(w).host_port).replace("http://","")]),Nl("click",Lv,()=>jl(v(w).container_port)),t(a,c)}),i(s),t(l,s)},Nv=(l)=>{var s=gv();t(l,s)};M(Vl,(l)=>{if(v(r).length)l(Sv);else l(Nv,-1)})}var pl=h(Vl,2),bl=f(pl);rl(bl),g(2),i(pl);var Bl=h(pl,2);{var Mv=(l)=>{var s=Rv(),a=f(s,!0);i(s),S(()=>I(a,v(B))),t(l,s)};M(Bl,(l)=>{if(v(B))l(Mv)})}var Wv=h(Bl,2);{var jv=(l)=>{var s=uv();t(l,s)};M(Wv,(l)=>{if(v(L))l(jv)})}g(2),i(El),i(Ll);var Ul=h(Ll,2),wl=f(Ul),al=h(f(wl),2),kv=f(al,!0);i(al),i(wl);var ml=h(wl,2),cl=f(ml),zv=f(cl,!0);g(),i(cl),i(ml),Ol(ml,()=>hl);var Dv=h(ml,2);{var Hv=(l)=>{var s=Pv(),a=f(s,!0);i(s),S(()=>I(a,v(e).error)),t(l,s)};M(Dv,(l)=>{if(v(e)?.status==="error"&&v(e).error)l(Hv)})}i(Ul),i(Zl),S(()=>{I(vl,v(e)?.name??"Instance"),al.disabled=!v(G),I(kv,v(x)?"Copied!":"Copy logs"),I(zv,v(G)||"Waiting for output…")}),ql("submit",pl,Wl),$l(bl,()=>v(b),(l)=>m(b,l)),Nl("click",al,K),t(H,X),Sl()}ol(["click"]);fv("InstanceView_2ma45l9bybfhl",Ql);
1
+ import{p as nl,q as lv,r as Gl,s as vv,t as sv,v as Jl,w as iv}from"/_mochi/client/chunk-5p31aqh0.js";import{x as Pl}from"/_mochi/client/chunk-597d17x0.js";import{y as d}from"/_mochi/client/chunk-04qv4w6w.js";import{Aa as Ol,B as i,Ba as fl,C as g,Ca as gl,Ea as rl,G as Il,H as Sl,Ha as Tl,Ja as $l,Ma as u,Na as P,Oa as O,P as V,Ra as _l,S as z,U as m,Ua as fv,W as Rl,X as f,Y as E,Z as h,_ as el,ba as S,ga as v,ka as ql,la as Nl,ma as ol,na as y,qa as q,ra as t,sa as I,ta as M,ua as ul,va as o}from"/_mochi/client/chunk-qxwt25hn.js";var Fv=new Set(["$$slots","$$events","$$legacy"]);function Cl(H,p){let W=u(p,Fv),e=[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]];d(H,P({name:"arrow-left"},()=>W,{get iconNode(){return e}}))}var Ov=new Set(["$$slots","$$events","$$legacy"]);function il(H,p){let W=u(p,Ov),e=[["path",{d:"M7 7h10v10"}],["path",{d:"M7 17 17 7"}]];d(H,P({name:"arrow-up-right"},()=>W,{get iconNode(){return e}}))}var Tv=new Set(["$$slots","$$events","$$legacy"]);function xl(H,p){let W=u(p,Tv),e=[["path",{d:"M20 6 9 17l-5-5"}]];d(H,P({name:"check"},()=>W,{get iconNode(){return e}}))}var Gv=y("<span></span>");function A(H,p){let W=O(p,"variant",3,"text");var e=Gv();let T;S(()=>{fl(e,1,`skel ${W()??""}`,"svelte-tl058d"),T=gl(e,"",T,{width:p.width})}),t(H,e)}var Jv=y('<div class="hrow svelte-1hnopyv"><span><!></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv"> </span></div>'),Qv=y('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <!> <!></div>'),Yv=y('<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <span class="hlabel svelte-1hnopyv"> </span> <span class="hvalue svelte-1hnopyv">—</span></div>'),Zv=y('<div><div class="panel-bar">Health</div> <div class="health svelte-1hnopyv"><!></div> <div class="hfoot svelte-1hnopyv"> </div></div>');function Fl(H,p){Il(p,!0);let W=["Container running","Code-server reachable"],e=O(p,"health",3,null),T=O(p,"lastFetchedAt",3,null),R=O(p,"active",3,!0),G=O(p,"injectionChecks",3,0),hl=V(()=>{if(!e())return[];let C=(x)=>({ok:x,value:x?"OK":"—"});return[{label:W[0],...C(e().containerRunning)},{label:W[1],...C(e().codeServerAccessible)},...e().injections.map((x)=>({label:x.label,...C(x.ok)}))]});function Ml(){return e()?v(hl).length:W.length+G()}let b=z(Rl(Date.now()));el(()=>{let C=setInterval(()=>m(b,Date.now(),!0),1000);return()=>clearInterval(C)});let B=V(()=>{if(!R()&&!e())return"Container not running";if(!T())return"Waiting for first check…";return`Updated ${Math.max(0,Math.round((v(b)-T())/1000))}s ago`});var L=Zv();let r;var J=h(f(L),2),$=f(J);{var Wl=(C)=>{var x=q(),Y=E(x);o(Y,17,()=>v(hl),(K)=>K.label,(K,X)=>{var N=Jv(),j=f(N),U=f(j);{var n=(Z)=>{xl(Z,{size:12,strokeWidth:3})},ll=(Z)=>{Pl(Z,{size:12,strokeWidth:3})};M(U,(Z)=>{if(v(X).ok)Z(n);else Z(ll,-1)})}i(j);var vl=h(j,2),zl=f(vl,!0);i(vl);var tl=h(vl,2),Dl=f(tl,!0);i(tl),i(N),S(()=>{fl(j,1,`box ${v(X).ok?"ok":"bad"}`,"svelte-1hnopyv"),I(zl,v(X).label),I(Dl,v(X).value)}),t(K,N)}),t(C,x)},jl=(C)=>{var x=q(),Y=E(x);o(Y,17,()=>Array(Ml()),ul,(K,X)=>{var N=Qv(),j=h(f(N),2);A(j,{width:"120px"});var U=h(j,2);A(U,{variant:"pill"}),i(N),t(K,N)}),t(C,x)},kl=(C)=>{var x=q(),Y=E(x);o(Y,16,()=>W,(K)=>K,(K,X)=>{var N=Yv(),j=h(f(N),2),U=f(j,!0);i(j),g(2),i(N),S(()=>I(U,X)),t(K,N)}),t(C,x)};M($,(C)=>{if(e())C(Wl);else if(R())C(jl,1);else C(kl,-1)})}i(J);var Q=h(J,2),_=f(Q,!0);i(Q),i(L),S(()=>{r=fl(L,1,"healthwrap panel svelte-1hnopyv",null,r,{dim:!R()&&!e()}),I(_,v(B))}),t(H,L),Sl()}var Av=y('<form method="POST" action="?/restart" class="svelte-15fxkvm"><button class="restart svelte-15fxkvm" type="submit"> </button></form> <a class="open svelte-15fxkvm" target="_blank" rel="noopener">Open in new tab <!></a>',1),Ev=y('<p class="restart-err svelte-15fxkvm"> </p>'),dl=y('<code class="svelte-15fxkvm"> </code>'),Vv=y('<code class="svelte-15fxkvm">local (project devcontainer.json)</code>'),bv=y('<code class="muted svelte-15fxkvm">—</code>'),Bv=y('<button class="rebuild svelte-15fxkvm"> </button>'),Uv=y('<li class="svelte-15fxkvm"><span class="cp svelte-15fxkvm"> </span> <span class="arr svelte-15fxkvm">→</span> <a target="_blank" rel="noopener" class="svelte-15fxkvm"> <!></a> <button class="rm svelte-15fxkvm" title="Remove">×</button></li>'),cv=y('<ul class="port-list svelte-15fxkvm"></ul>'),gv=y('<p class="empty svelte-15fxkvm">No ports forwarded yet.</p>'),Rv=y('<p class="port-err svelte-15fxkvm"> </p>'),uv=y('<p class="hint pending svelte-15fxkvm">Port changes apply when you <strong class="svelte-15fxkvm">Restart</strong> (recreates the container).</p>'),Pv=y('<div class="err svelte-15fxkvm"> </div>'),dv=y('<header class="topbar svelte-15fxkvm"><a class="back svelte-15fxkvm" href="/"><!> All instances</a> <div class="title svelte-15fxkvm"><span class="name svelte-15fxkvm"> </span> <!></div> <!></header> <!> <main class="stage svelte-15fxkvm"><div class="meta svelte-15fxkvm"><span class="k svelte-15fxkvm">Source</span> <!> <span class="k svelte-15fxkvm">Image</span> <!></div> <div class="healthslot svelte-15fxkvm"><!></div> <section class="ports panel svelte-15fxkvm"><div class="ports-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Forwarded ports</span> <!></div> <div class="ports-body svelte-15fxkvm"><!> <form class="add svelte-15fxkvm"><input type="number" min="1" max="65535" placeholder="container port (e.g. 3000)" spellcheck="false" class="svelte-15fxkvm"/> <button type="submit" class="svelte-15fxkvm">Add</button></form> <!> <!> <p class="hint svelte-15fxkvm">Your app must bind to <code class="svelte-15fxkvm">0.0.0.0</code> inside the container to be reachable.</p></div></section> <div class="logwrap panel svelte-15fxkvm"><div class="log-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Boot log</span> <button class="copy svelte-15fxkvm"> </button></div> <div class="logs svelte-15fxkvm"><pre class="svelte-15fxkvm"> <span class="caret svelte-15fxkvm"></span></pre></div> <!></div></main>',1);function Ql(H,p){Il(p,!0);let W=O(p,"injectionChecks",3,0),e=z(null),T=z(null),R=z(null),G=z("");function hl(l){l.scrollTop=l.scrollHeight}el(()=>vv(`/api/instances/${p.id}/logs`,(l)=>m(G,v(G)+l),()=>m(G,""))),el(()=>sv((l)=>{if(l.type==="instances"){let s=l.data.find((a)=>a.id===p.id);if(s)m(e,s,!0)}else if(l.type==="health"&&l.data.id===p.id)m(T,l.data.health,!0),m(R,Date.now(),!0)}));let Ml=V(()=>v(e)?nl(v(e)):"#"),b=z(""),B=z(null),L=z(!1),r=V(()=>v(e)?.forwarded_ports??[]),J=V(()=>v(e)?.status==="creating");async function $(l){m(B,null);try{return await l(),!0}catch(s){return m(B,s.message,!0),!1}}async function Wl(l){l.preventDefault();let s=Number.parseInt(v(b),10);if(!Number.isInteger(s)||s<1||s>65535){m(B,"Enter a port number between 1 and 65535");return}if(await $(()=>Jl(`/api/instances/${p.id}/ports`,{port:s})))m(b,""),m(L,!0)}async function jl(l){if(await $(()=>iv(`/api/instances/${p.id}/ports/${l}`)))m(L,!0)}async function kl(){if(await $(()=>Jl(`/api/instances/${p.id}/rebuild`)))m(L,!1)}let Q=z(null),_=z(!1),C={onPending:(l)=>m(_,l,!0),submit:()=>{return m(Q,null),({result:l})=>{if(l.type==="failure")m(Q,l.data?.error??"Restart failed",!0);else if(l.type==="error")m(Q,"Network error. Try again.")}}},x=z(!1),Y;async function K(){await navigator.clipboard.writeText(v(G)),m(x,!0),clearTimeout(Y),Y=setTimeout(()=>m(x,!1),2000)}var X=dv(),N=E(X),j=f(N),U=f(j);Cl(U,{size:15}),g(),i(j);var n=h(j,2),ll=f(n),vl=f(ll,!0);i(ll);var zl=h(ll,2);{var tl=(l)=>{lv(l,{get status(){return v(e).status}})},Dl=(l)=>{A(l,{variant:"pill"})};M(zl,(l)=>{if(v(e))l(tl);else l(Dl,-1)})}i(n);var Z=h(n,2);{var ev=(l)=>{var s=Av(),a=E(s),w=f(a),c=f(w,!0);i(w),i(a),Ol(a,()=>_l(C));var F=h(a,2),k=h(f(F));il(k,{size:15}),i(F),S(()=>{w.disabled=v(_)||v(J),I(c,v(_)||v(J)?"Restarting…":"Restart container"),Tl(F,"href",v(Ml))}),t(l,s)};M(Z,(l)=>{if(v(e)?.status==="running")l(ev)})}i(N);var Yl=h(N,2);{var hv=(l)=>{var s=Ev(),a=f(s,!0);i(s),S(()=>I(a,v(Q))),t(l,s)};M(Yl,(l)=>{if(v(Q))l(hv)})}var Zl=h(Yl,2),Hl=f(Zl),Al=h(f(Hl),2);{var tv=(l)=>{var s=dl(),a=f(s,!0);i(s),S(()=>I(a,v(e).source_path)),t(l,s)},pv=(l)=>{A(l,{variant:"wide"})};M(Al,(l)=>{if(v(e))l(tv);else l(pv,-1)})}var av=h(Al,4);{var mv=(l)=>{var s=q(),a=E(s);{var w=(k)=>{var D=Vv();t(k,D)},c=(k)=>{var D=dl(),yl=f(D,!0);i(D),S(()=>I(yl,v(e).image_source)),t(k,D)},F=(k)=>{var D=bv();t(k,D)};M(a,(k)=>{if(v(e).image_source==="local")k(w);else if(v(e).image_source)k(c,1);else k(F,-1)})}t(l,s)},yv=(l)=>{A(l,{variant:"wide"})};M(av,(l)=>{if(v(e))l(mv);else l(yv,-1)})}i(Hl);var Kl=h(Hl,2),Cv=f(Kl);{let l=V(()=>!v(e)||v(e).status==="running");Fl(Cv,{get health(){return v(T)},get lastFetchedAt(){return v(R)},get injectionChecks(){return W()},get active(){return v(l)}})}i(Kl);var Ll=h(Kl,2),Xl=f(Ll),xv=h(f(Xl),2);{var Iv=(l)=>{var s=Bv(),a=f(s,!0);i(s),S(()=>{s.disabled=v(J),I(a,v(J)?"Restarting…":"Restart to apply")}),Nl("click",s,kl),t(l,s)};M(xv,(l)=>{if(v(L))l(Iv)})}i(Xl);var El=h(Xl,2),Vl=f(El);{var Sv=(l)=>{var s=cv();o(s,21,()=>v(r),(a)=>a.container_port,(a,w)=>{var c=Uv(),F=f(c),k=f(F);i(F);var D=h(F,4),yl=f(D),Kv=h(yl);il(Kv,{size:12}),i(D);var Lv=h(D,2);i(c),S((Xv,wv)=>{I(k,`:${v(w).container_port??""}`),Tl(D,"href",Xv),I(yl,`${wv??""} `)},[()=>Gl(v(w).host_port),()=>Gl(v(w).host_port).replace("http://","")]),Nl("click",Lv,()=>jl(v(w).container_port)),t(a,c)}),i(s),t(l,s)},Nv=(l)=>{var s=gv();t(l,s)};M(Vl,(l)=>{if(v(r).length)l(Sv);else l(Nv,-1)})}var pl=h(Vl,2),bl=f(pl);rl(bl),g(2),i(pl);var Bl=h(pl,2);{var Mv=(l)=>{var s=Rv(),a=f(s,!0);i(s),S(()=>I(a,v(B))),t(l,s)};M(Bl,(l)=>{if(v(B))l(Mv)})}var Wv=h(Bl,2);{var jv=(l)=>{var s=uv();t(l,s)};M(Wv,(l)=>{if(v(L))l(jv)})}g(2),i(El),i(Ll);var Ul=h(Ll,2),wl=f(Ul),al=h(f(wl),2),kv=f(al,!0);i(al),i(wl);var ml=h(wl,2),cl=f(ml),zv=f(cl,!0);g(),i(cl),i(ml),Ol(ml,()=>hl);var Dv=h(ml,2);{var Hv=(l)=>{var s=Pv(),a=f(s,!0);i(s),S(()=>I(a,v(e).error)),t(l,s)};M(Dv,(l)=>{if(v(e)?.status==="error"&&v(e).error)l(Hv)})}i(Ul),i(Zl),S(()=>{I(vl,v(e)?.name??"Instance"),al.disabled=!v(G),I(kv,v(x)?"Copied!":"Copy logs"),I(zv,v(G)||"Waiting for output…")}),ql("submit",pl,Wl),$l(bl,()=>v(b),(l)=>m(b,l)),Nl("click",al,K),t(H,X),Sl()}ol(["click"]);fv("InstanceView_2ma45l9bybfhl",Ql);
@@ -1,4 +1,4 @@
1
- import{i as US,j as lS,k as OS,l as kS,m as TS}from"/_mochi/client/chunk-tr67wtwn.js";import{n as HS}from"/_mochi/client/chunk-hcztrd75.js";import{t as PS,u as t,v as MS,x as BS}from"/_mochi/client/chunk-sjmcgh7f.js";import{y as P}from"/_mochi/client/chunk-04qv4w6w.js";import{Aa as q,B as I,Ba as Z1,C as F,Ea as O,Fa as Vf,G as C0,Ga as p1,H as x0,Ha as v,Ja as u,Ka as Wf,Ma as K,Na as R,Oa as RS,Q as Qf,Ra as i,S as w,Ta as Zf,U as N,Ua as bS,W as B,X as L,Y as B1,Z as C,ba as p,ga as S,la as I1,ma as w0,na as M,pa as m,ra as j,sa as V,ta as H,va as A1,ya as KS}from"/_mochi/client/chunk-qxwt25hn.js";var I9=new Set(["$$slots","$$events","$$legacy"]);function n1(A,z){let J=K(z,I9),Q=[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["path",{d:"M10 21.9V14L2.1 9.1"}],["path",{d:"m10 14 11.9-6.9"}],["path",{d:"M14 19.8v-8.1"}],["path",{d:"M18 17.5V9.4"}]];P(A,R({name:"container"},()=>J,{get iconNode(){return Q}}))}var L9=new Set(["$$slots","$$events","$$legacy"]);function f0(A,z){let J=K(z,L9),Q=[["path",{d:"M12 2v10"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04"}]];P(A,R({name:"power"},()=>J,{get iconNode(){return Q}}))}var y9=new Set(["$$slots","$$events","$$legacy"]);function D1(A,z){let J=K(z,y9),Q=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];P(A,R({name:"rotate-ccw"},()=>J,{get iconNode(){return Q}}))}var N9=new Set(["$$slots","$$events","$$legacy"]);function S0(A,z){let J=K(z,N9),Q=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"}],["path",{d:"M16 9a5 5 0 0 1 0 6"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728"}]];P(A,R({name:"volume-2"},()=>J,{get iconNode(){return Q}}))}var C9=new Set(["$$slots","$$events","$$legacy"]);function I0(A,z){let J=K(z,C9),Q=[["path",{d:"M12 2v2"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"}],["path",{d:"M16 12a4 4 0 0 0-4-4"}],["path",{d:"m19 5-1.256 1.256"}],["path",{d:"M20 12h2"}]];P(A,R({name:"sun-moon"},()=>J,{get iconNode(){return Q}}))}var x9=new Set(["$$slots","$$events","$$legacy"]);function L0(A,z){let J=K(z,x9),Q=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];P(A,R({name:"sun"},()=>J,{get iconNode(){return Q}}))}var w9=new Set(["$$slots","$$events","$$legacy"]);function y0(A,z){let J=K(z,w9),Q=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"}]];P(A,R({name:"moon"},()=>J,{get iconNode(){return Q}}))}var z9=new Set(["$$slots","$$events","$$legacy"]);function N0(A,z){let J=K(z,z9),Q=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21"}]];P(A,R({name:"monitor"},()=>J,{get iconNode(){return Q}}))}var WS="theme";function XS(){let A=Zf.get(WS);return A==="dark"||A==="light"?A:"auto"}function GS(A){Zf.set(WS,A,{expires:400,path:"/"})}function YS(A){if(A==="auto")delete document.documentElement.dataset.theme;else document.documentElement.dataset.theme=A}var j9=M('<button type="button" role="radio"><!> </button>'),A9=M('<div class="picker svelte-3gcwuj" role="radiogroup" aria-label="Theme"></div>');function pf(A,z){C0(z,!0);let J=w(B(XS())),Q=[{value:"auto",label:"Auto",icon:N0},{value:"light",label:"Light",icon:L0},{value:"dark",label:"Dark",icon:y0}];function h(E){N(J,E,!0),GS(E),YS(E)}var s=A9();A1(s,21,()=>Q,({value:E,label:e,icon:o})=>E,(E,e)=>{let o=()=>S(e).value,J1=()=>S(e).label,Q1=()=>S(e).icon;var _=j9();let l1;var n=L(_);KS(n,Q1,(W1,X1)=>{X1(W1,{size:13})});var V1=C(n);I(_),p(()=>{l1=Z1(_,1,"segment svelte-3gcwuj",null,l1,{active:S(J)===o()}),v(_,"aria-checked",S(J)===o()),V(V1,` ${J1()??""}`)}),I1("click",_,()=>h(o())),j(E,_)}),I(s),j(A,s),x0()}w0(["click"]);var Z9=new Set(["$$slots","$$events","$$legacy"]);function z0(A,z){let J=K(z,Z9),Q=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"}]];P(A,R({name:"layers"},()=>J,{get iconNode(){return Q}}))}var p9=new Set(["$$slots","$$events","$$legacy"]);function j0(A,z){let J=K(z,p9),Q=[["path",{d:"M9 13h6"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];P(A,R({name:"folder-minus"},()=>J,{get iconNode(){return Q}}))}var J9=new Set(["$$slots","$$events","$$legacy"]);function H1(A,z){let J=K(z,J9),Q=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];P(A,R({name:"trash-2"},()=>J,{get iconNode(){return Q}}))}var Q9=new Set(["$$slots","$$events","$$legacy"]);function U1(A,z){let J=K(z,Q9),Q=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9"}],["path",{d:"m18 15 4-4"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"}]];P(A,R({name:"hammer"},()=>J,{get iconNode(){return Q}}))}var V9=new Set(["$$slots","$$events","$$legacy"]);function M1(A,z){let J=K(z,V9),Q=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];P(A,R({name:"key-round"},()=>J,{get iconNode(){return Q}}))}var W9=new Set(["$$slots","$$events","$$legacy"]);function A0(A,z){let J=K(z,W9),Q=[["path",{d:"M8 21s-4-3-4-9 4-9 4-9"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15"}]];P(A,R({name:"variable"},()=>J,{get iconNode(){return Q}}))}var X9=M('<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz" aria-label="Draw your own avatar" title="Draw your own avatar"><span class="new svelte-1ioj7vz" aria-hidden="true">New</span> <span class="coin svelte-1ioj7vz" aria-hidden="true"><!></span></a> <span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span></div>');function Jf(A,z){let J=RS(z,"href",3,"/avatars"),Q={name:"coin",pixels:["..####..",".#....#.","#..##..#","#.####.#","#.####.#","#..##..#",".#....#.","..####.."]};var h=X9(),s=C(L(h),2),E=C(L(s),2),e=L(E);PS(e,{get art(){return Q},name:"coin",scale:3}),I(E),I(s),F(2),I(h),p(()=>v(s,"href",J())),j(A,h)}var G9=M('<span class="title svelte-1n6ht58">Settings</span>'),Y9=M('<span class="arch svelte-1n6ht58" title="Docker daemon architecture"> </span>'),K9=M(`Your Docker daemon runs on <strong> </strong> — pick an image that publishes
1
+ import{a as US,b as lS,c as OS,d as kS,e as TS}from"/_mochi/client/chunk-0jtmkpx4.js";import{f as HS,g as BS,i as t,o as PS}from"/_mochi/client/chunk-gjjhya9m.js";import{x as MS}from"/_mochi/client/chunk-597d17x0.js";import{y as P}from"/_mochi/client/chunk-04qv4w6w.js";import{Aa as q,B as I,Ba as Z1,C as F,Ea as O,Fa as Vf,G as C0,Ga as p1,H as x0,Ha as v,Ja as u,Ka as Wf,Ma as K,Na as R,Oa as RS,Q as Qf,Ra as i,S as w,Ta as Zf,U as N,Ua as bS,W as B,X as L,Y as B1,Z as C,ba as p,ga as S,la as I1,ma as w0,na as M,pa as m,ra as j,sa as V,ta as H,va as A1,ya as KS}from"/_mochi/client/chunk-qxwt25hn.js";var I9=new Set(["$$slots","$$events","$$legacy"]);function n1(A,z){let J=K(z,I9),Q=[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["path",{d:"M10 21.9V14L2.1 9.1"}],["path",{d:"m10 14 11.9-6.9"}],["path",{d:"M14 19.8v-8.1"}],["path",{d:"M18 17.5V9.4"}]];P(A,R({name:"container"},()=>J,{get iconNode(){return Q}}))}var L9=new Set(["$$slots","$$events","$$legacy"]);function f0(A,z){let J=K(z,L9),Q=[["path",{d:"M12 2v10"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04"}]];P(A,R({name:"power"},()=>J,{get iconNode(){return Q}}))}var y9=new Set(["$$slots","$$events","$$legacy"]);function D1(A,z){let J=K(z,y9),Q=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];P(A,R({name:"rotate-ccw"},()=>J,{get iconNode(){return Q}}))}var N9=new Set(["$$slots","$$events","$$legacy"]);function S0(A,z){let J=K(z,N9),Q=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"}],["path",{d:"M16 9a5 5 0 0 1 0 6"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728"}]];P(A,R({name:"volume-2"},()=>J,{get iconNode(){return Q}}))}var C9=new Set(["$$slots","$$events","$$legacy"]);function I0(A,z){let J=K(z,C9),Q=[["path",{d:"M12 2v2"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"}],["path",{d:"M16 12a4 4 0 0 0-4-4"}],["path",{d:"m19 5-1.256 1.256"}],["path",{d:"M20 12h2"}]];P(A,R({name:"sun-moon"},()=>J,{get iconNode(){return Q}}))}var x9=new Set(["$$slots","$$events","$$legacy"]);function L0(A,z){let J=K(z,x9),Q=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];P(A,R({name:"sun"},()=>J,{get iconNode(){return Q}}))}var w9=new Set(["$$slots","$$events","$$legacy"]);function y0(A,z){let J=K(z,w9),Q=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"}]];P(A,R({name:"moon"},()=>J,{get iconNode(){return Q}}))}var z9=new Set(["$$slots","$$events","$$legacy"]);function N0(A,z){let J=K(z,z9),Q=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21"}]];P(A,R({name:"monitor"},()=>J,{get iconNode(){return Q}}))}var WS="theme";function XS(){let A=Zf.get(WS);return A==="dark"||A==="light"?A:"auto"}function GS(A){Zf.set(WS,A,{expires:400,path:"/"})}function YS(A){if(A==="auto")delete document.documentElement.dataset.theme;else document.documentElement.dataset.theme=A}var j9=M('<button type="button" role="radio"><!> </button>'),A9=M('<div class="picker svelte-3gcwuj" role="radiogroup" aria-label="Theme"></div>');function pf(A,z){C0(z,!0);let J=w(B(XS())),Q=[{value:"auto",label:"Auto",icon:N0},{value:"light",label:"Light",icon:L0},{value:"dark",label:"Dark",icon:y0}];function h(E){N(J,E,!0),GS(E),YS(E)}var s=A9();A1(s,21,()=>Q,({value:E,label:e,icon:o})=>E,(E,e)=>{let o=()=>S(e).value,J1=()=>S(e).label,Q1=()=>S(e).icon;var _=j9();let l1;var n=L(_);KS(n,Q1,(W1,X1)=>{X1(W1,{size:13})});var V1=C(n);I(_),p(()=>{l1=Z1(_,1,"segment svelte-3gcwuj",null,l1,{active:S(J)===o()}),v(_,"aria-checked",S(J)===o()),V(V1,` ${J1()??""}`)}),I1("click",_,()=>h(o())),j(E,_)}),I(s),j(A,s),x0()}w0(["click"]);var Z9=new Set(["$$slots","$$events","$$legacy"]);function z0(A,z){let J=K(z,Z9),Q=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"}]];P(A,R({name:"layers"},()=>J,{get iconNode(){return Q}}))}var p9=new Set(["$$slots","$$events","$$legacy"]);function j0(A,z){let J=K(z,p9),Q=[["path",{d:"M9 13h6"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];P(A,R({name:"folder-minus"},()=>J,{get iconNode(){return Q}}))}var J9=new Set(["$$slots","$$events","$$legacy"]);function H1(A,z){let J=K(z,J9),Q=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];P(A,R({name:"trash-2"},()=>J,{get iconNode(){return Q}}))}var Q9=new Set(["$$slots","$$events","$$legacy"]);function U1(A,z){let J=K(z,Q9),Q=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9"}],["path",{d:"m18 15 4-4"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"}]];P(A,R({name:"hammer"},()=>J,{get iconNode(){return Q}}))}var V9=new Set(["$$slots","$$events","$$legacy"]);function M1(A,z){let J=K(z,V9),Q=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];P(A,R({name:"key-round"},()=>J,{get iconNode(){return Q}}))}var W9=new Set(["$$slots","$$events","$$legacy"]);function A0(A,z){let J=K(z,W9),Q=[["path",{d:"M8 21s-4-3-4-9 4-9 4-9"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15"}]];P(A,R({name:"variable"},()=>J,{get iconNode(){return Q}}))}var X9=M('<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz" aria-label="Draw your own avatar" title="Draw your own avatar"><span class="new svelte-1ioj7vz" aria-hidden="true">New</span> <span class="coin svelte-1ioj7vz" aria-hidden="true"><!></span></a> <span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span></div>');function Jf(A,z){let J=RS(z,"href",3,"/avatars"),Q={name:"coin",pixels:["..####..",".#....#.","#..##..#","#.####.#","#.####.#","#..##..#",".#....#.","..####.."]};var h=X9(),s=C(L(h),2),E=C(L(s),2),e=L(E);PS(e,{get art(){return Q},name:"coin",scale:3}),I(E),I(s),F(2),I(h),p(()=>v(s,"href",J())),j(A,h)}var G9=M('<span class="title svelte-1n6ht58">Settings</span>'),Y9=M('<span class="arch svelte-1n6ht58" title="Docker daemon architecture"> </span>'),K9=M(`Your Docker daemon runs on <strong> </strong> — pick an image that publishes
2
2
  an <strong> </strong> manifest, or the pull will fail.`,1),r=M('<div class="msg error svelte-1n6ht58"> </div>'),FS=M('<div class="msg ok svelte-1n6ht58">Saved.</div>'),Z0=M('<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58"> </div></div>'),L1=M('<div class="msg ok svelte-1n6ht58"> </div>'),R9=M('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock mode is on">disabled</span>'),P9=M(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/githubToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">GitHub token</div> <div class="desc svelte-1n6ht58">macOS / Linux: run <code class="svelte-1n6ht58">gh auth token</code> to print your GitHub CLI token, or
3
3
  create a Personal Access Token at <code class="svelte-1n6ht58">github.com/settings/tokens</code> (scopes: <code class="svelte-1n6ht58">repo</code>, <code class="svelte-1n6ht58">read:org</code>). Leave blank and Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="githubToken" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/claudeToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude Code token</div> <div class="desc svelte-1n6ht58">macOS / Linux: run <code class="svelte-1n6ht58">claude setup-token</code> to mint a long-lived token and
4
4
  paste it here. Copying a live login out of the keychain or <code class="svelte-1n6ht58">~/.claude/.credentials.json</code> works too, but that credential rotates —
@@ -14,10 +14,10 @@ import{i as US,j as lS,k as OS,l as kS,m as TS}from"/_mochi/client/chunk-tr67wtw
14
14
  In-container edits are kept; stopped instances are left alone.</div> <!></div></div> <!></form></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Set tokens manually <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">LiteLLM + Bedrock <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/hostEnvVarsToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Host environment variables</div> <div class="desc svelte-1n6ht58">Forward selected environment variables from this machine into every new container's
15
15
  interactive shells. Values are read from this process's own environment at container
16
16
  start and are never shown here or stored — only the variable names are saved.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Theme</div> <div class="desc svelte-1n6ht58">Light, dark, or follow the browser preference automatically (auto).</div></div></div> <!></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Attention sound</div> <div class="desc svelte-1n6ht58">Play a chime when an instance finishes a task or needs your input.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></div></section> <section class="card danger-card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/shutdown"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Delete database, containers, and shut down</div> <div class="desc svelte-1n6ht58">Stop and remove every instance and its container, delete all copied workspaces and the
17
- database, then shut down the server. This cannot be undone.</div></div></div> <!></form></section> <!> <div class="version svelte-1n6ht58"> </div></main></div> <!>`,1);function Xf(A,z){C0(z,!0);let J=w(B(lS())),Q=w(!1);function h(f){return{onPending:f.setSaving,submit:({cancel:y})=>{if(f.confirmMessage&&!confirm(f.confirmMessage)){y();return}return f.setError(null),f.setMsg?.(null),({result:x})=>{if(x.type==="success")f.onSuccess(x.data);else if(x.type==="failure")f.setError(x.data?.error??"Request failed");else if(x.type==="error")f.setError("Network error. Try again.")}}}}function s(f){return{onPending:f.setSaving,submit:({formData:y})=>{let x=y.get("enabled")==="on";return f.setError(null),({result:X})=>{if(X.type==="success"){f.onSuccess?.(X.data);return}f.set(!x),f.setError(X.type==="failure"?X.data?.error??"Request failed":"Network error. Try again.")}}}}let E=w(B(z.defaultImage)),e=w(!1),o=w(null),J1=w(!1),Q1,_=h({setSaving:(f)=>N(e,f,!0),setError:(f)=>N(o,f,!0),setMsg:(f)=>N(J1,!!f),onSuccess:(f)=>{N(E,f?.image??S(E),!0),N(J1,!0)}});function l1(){Qf(()=>N(E,z.builtinImage,!0)),Q1?.requestSubmit()}let n=w(B(z.copyIgnorePatterns)),V1=w(!1),W1=w(null),X1=w(!1),p0,qS=h({setSaving:(f)=>N(V1,f,!0),setError:(f)=>N(W1,f,!0),setMsg:(f)=>N(X1,!!f),onSuccess:(f)=>{N(n,f?.patterns??S(n),!0),N(X1,!0)}});function iS(){Qf(()=>N(n,z.builtinCopyIgnore,!0)),p0?.requestSubmit()}let J0=w(B(z.disableBuildCache)),Gf=w(!1),Q0=w(null),hS=s({set:(f)=>N(J0,f,!0),setSaving:(f)=>N(Gf,f,!0),setError:(f)=>N(Q0,f,!0)}),V0=w(!1),O1=w(null),W0=w(null);function ES(f){if(f<=0)return"0 B";let y=["B","KB","MB","GB","TB"],x=Math.min(Math.floor(Math.log(f)/Math.log(1024)),y.length-1);return`${(f/1024**x).toFixed(x===0?0:1)} ${y[x]}`}let cS=h({setSaving:(f)=>N(V0,f,!0),setError:(f)=>N(W0,f,!0),setMsg:(f)=>N(O1,f,!0),onSuccess:(f)=>{N(O1,`Cleared — freed ${ES(f?.spaceReclaimed??0)}.`)}}),X0=w(!1),k1=w(null),G0=w(null),mS=h({setSaving:(f)=>N(X0,f,!0),setError:(f)=>N(G0,f,!0),setMsg:(f)=>N(k1,f,!0),confirmMessage:"Rebuild every running container from scratch (no build cache)? Each will restart and may take a while.",onSuccess:(f)=>{let y=f?.count??0;N(k1,y===0?"No running containers to rebuild.":`Rebuilding ${y} container(s)…`,!0)}}),f1=w(B(z.manualTokensEnabled)),Yf=w(!1),Y0=w(null),tS=s({set:(f)=>N(f1,f,!0),setSaving:(f)=>N(Yf,f,!0),setError:(f)=>N(Y0,f,!0)}),K0=w(B(z.githubTokenSet)),R0=w(""),Kf=w(!1),T1=w(null),P0=w(null),gS=h({setSaving:(f)=>N(Kf,f,!0),setError:(f)=>N(P0,f,!0),setMsg:(f)=>N(T1,f,!0),onSuccess:(f)=>{N(K0,f?.set??!1,!0),N(R0,""),N(T1,S(K0)?"Saved.":"Cleared.",!0)}}),F0=w(B(z.claudeTokenSet)),D0=w(""),Rf=w(!1),b1=w(null),H0=w(null),uS=h({setSaving:(f)=>N(Rf,f,!0),setError:(f)=>N(H0,f,!0),setMsg:(f)=>N(b1,f,!0),onSuccess:(f)=>{N(F0,f?.set??!1,!0),N(D0,""),N(b1,S(F0)?"Saved.":"Cleared.",!0)}}),$=w(B(z.customEndpointEnabled)),Pf=w(!1),U0=w(null),sS=s({set:(f)=>N($,f,!0),setSaving:(f)=>N(Pf,f,!0),setError:(f)=>N(U0,f,!0)}),Ff=w(B(z.customEndpointBaseUrl)),Df=w(!1),q1=w(null),M0=w(null),dS=h({setSaving:(f)=>N(Df,f,!0),setError:(f)=>N(M0,f,!0),setMsg:(f)=>N(q1,f,!0),onSuccess:(f)=>{N(q1,f?.set?"Saved.":"Cleared.",!0)}}),B0=w(""),l0=w(B(z.customEndpointTokenSet)),Hf=w(!1),i1=w(null),O0=w(null),eS=h({setSaving:(f)=>N(Hf,f,!0),setError:(f)=>N(O0,f,!0),setMsg:(f)=>N(i1,f,!0),onSuccess:(f)=>{N(l0,f?.set??!1,!0),N(B0,""),N(i1,S(l0)?"Saved.":"Cleared.",!0)}}),Uf=w(B(z.customEndpointOpusModel)),Mf=w(B(z.customEndpointSonnetModel)),Bf=w(B(z.customEndpointHaikuModel)),lf=w(B(z.customEndpointSmallFastModel)),Of=w(B(z.customEndpointModel)),kf=w(!1),h1=w(null),k0=w(null),aS=h({setSaving:(f)=>N(kf,f,!0),setError:(f)=>N(k0,f,!0),setMsg:(f)=>N(h1,f,!0),onSuccess:()=>{N(h1,"Saved.")}}),E1=w(B(z.hostEnvVarsEnabled)),Tf=w(!1),T0=w(null),vS=s({set:(f)=>N(E1,f,!0),setSaving:(f)=>N(Tf,f,!0),setError:(f)=>N(T0,f,!0),onSuccess:(f)=>{N(w1,f?.presence??{},!0)}}),x1=w(B([...z.hostEnvVarNames])),w1=w(B({...z.hostEnvVarPresence})),b0=w(""),c1=w(!1),G1=w(null),y1=w(null),rS={onPending:(f)=>N(c1,f,!0),submit:({formData:f,cancel:y})=>{N(y1,null),N(G1,null);let x=f.getAll("names").map(String),l=(x.pop()??"").trim().toUpperCase();if(!l){y();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(l)){N(y1,`Invalid variable name: ${l}`),y();return}if(N(b0,""),x.includes(l)){y();return}let d=[...x,l];f.delete("names");for(let g of d)f.append("names",g);return({result:g})=>{if(g.type==="success")N(x1,d,!0),N(w1,g.data?.presence??{},!0),N(G1,"Saved.");else if(g.type==="failure")N(y1,g.data?.error??"Request failed",!0);else if(g.type==="error")N(y1,"Network error. Try again.")}}};function $S(f){return h({setSaving:(y)=>N(c1,y,!0),setError:(y)=>N(y1,y,!0),setMsg:(y)=>N(G1,y,!0),onSuccess:(y)=>{N(x1,S(x1).filter((x)=>x!==f),!0),N(w1,y?.presence??{},!0)}})}function oS(f){if(N(J,f,!0),OS(f),kS(),f)TS("done")}let _S={submit:({cancel:f})=>{if(!confirm("Delete the database, remove all instances and their containers, and shut down the server? This cannot be undone.")){f();return}N(Q,!0)}};var bf=O9(),q0=B1(bf),qf=L(q0);BS(qf,{children:(f,y)=>{var x=G9();j(f,x)},$$slots:{default:!0}});var hf=C(qf,2),i0=L(hf),m1=L(i0),h0=L(m1),Ef=L(h0);n1(Ef,{size:18});var cf=C(Ef,2),mf=L(cf),nS=C(L(mf));{var fI=(f)=>{var y=Y9(),x=L(y,!0);I(y),p(()=>V(x,z.dockerArch)),j(f,y)};H(nS,(f)=>{if(z.dockerArch)f(fI)})}I(mf),F(2),I(cf),I(h0);var E0=C(h0,2),c0=L(E0);O(c0);var tf=C(c0,2);t(tf,{type:"submit",get disabled(){return S(e)},children:(f,y)=>{F();var x=m("Save");j(f,x)},$$slots:{default:!0}});var SI=C(tf,2);t(SI,{type:"button",get icon(){return D1},get disabled(){return S(e)},onclick:l1,get title(){return`Reset to default (${z.builtinImage??""})`},"aria-label":"Reset to default image"}),I(E0);var m0=C(E0,2),II=L(m0);{var LI=(f)=>{var y=K9(),x=C(B1(y)),X=L(x,!0);I(x);var l=C(x,2),d=L(l,!0);I(l),F(),p(()=>{V(X,z.dockerArch),V(d,z.dockerArch)}),j(f,y)},yI=(f)=>{var y=m(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
17
+ database, then shut down the server. This cannot be undone.</div></div></div> <!></form></section> <!> <div class="version svelte-1n6ht58"> </div></main></div> <!>`,1);function Xf(A,z){C0(z,!0);let J=w(B(lS())),Q=w(!1);function h(f){return{onPending:f.setSaving,submit:({cancel:y})=>{if(f.confirmMessage&&!confirm(f.confirmMessage)){y();return}return f.setError(null),f.setMsg?.(null),({result:x})=>{if(x.type==="success")f.onSuccess(x.data);else if(x.type==="failure")f.setError(x.data?.error??"Request failed");else if(x.type==="error")f.setError("Network error. Try again.")}}}}function s(f){return{onPending:f.setSaving,submit:({formData:y})=>{let x=y.get("enabled")==="on";return f.setError(null),({result:X})=>{if(X.type==="success"){f.onSuccess?.(X.data);return}f.set(!x),f.setError(X.type==="failure"?X.data?.error??"Request failed":"Network error. Try again.")}}}}let E=w(B(z.defaultImage)),e=w(!1),o=w(null),J1=w(!1),Q1,_=h({setSaving:(f)=>N(e,f,!0),setError:(f)=>N(o,f,!0),setMsg:(f)=>N(J1,!!f),onSuccess:(f)=>{N(E,f?.image??S(E),!0),N(J1,!0)}});function l1(){Qf(()=>N(E,z.builtinImage,!0)),Q1?.requestSubmit()}let n=w(B(z.copyIgnorePatterns)),V1=w(!1),W1=w(null),X1=w(!1),p0,qS=h({setSaving:(f)=>N(V1,f,!0),setError:(f)=>N(W1,f,!0),setMsg:(f)=>N(X1,!!f),onSuccess:(f)=>{N(n,f?.patterns??S(n),!0),N(X1,!0)}});function iS(){Qf(()=>N(n,z.builtinCopyIgnore,!0)),p0?.requestSubmit()}let J0=w(B(z.disableBuildCache)),Gf=w(!1),Q0=w(null),hS=s({set:(f)=>N(J0,f,!0),setSaving:(f)=>N(Gf,f,!0),setError:(f)=>N(Q0,f,!0)}),V0=w(!1),O1=w(null),W0=w(null);function ES(f){if(f<=0)return"0 B";let y=["B","KB","MB","GB","TB"],x=Math.min(Math.floor(Math.log(f)/Math.log(1024)),y.length-1);return`${(f/1024**x).toFixed(x===0?0:1)} ${y[x]}`}let cS=h({setSaving:(f)=>N(V0,f,!0),setError:(f)=>N(W0,f,!0),setMsg:(f)=>N(O1,f,!0),onSuccess:(f)=>{N(O1,`Cleared — freed ${ES(f?.spaceReclaimed??0)}.`)}}),X0=w(!1),k1=w(null),G0=w(null),mS=h({setSaving:(f)=>N(X0,f,!0),setError:(f)=>N(G0,f,!0),setMsg:(f)=>N(k1,f,!0),confirmMessage:"Rebuild every running container from scratch (no build cache)? Each will restart and may take a while.",onSuccess:(f)=>{let y=f?.count??0;N(k1,y===0?"No running containers to rebuild.":`Rebuilding ${y} container(s)…`,!0)}}),f1=w(B(z.manualTokensEnabled)),Yf=w(!1),Y0=w(null),tS=s({set:(f)=>N(f1,f,!0),setSaving:(f)=>N(Yf,f,!0),setError:(f)=>N(Y0,f,!0)}),K0=w(B(z.githubTokenSet)),R0=w(""),Kf=w(!1),T1=w(null),P0=w(null),gS=h({setSaving:(f)=>N(Kf,f,!0),setError:(f)=>N(P0,f,!0),setMsg:(f)=>N(T1,f,!0),onSuccess:(f)=>{N(K0,f?.set??!1,!0),N(R0,""),N(T1,S(K0)?"Saved.":"Cleared.",!0)}}),F0=w(B(z.claudeTokenSet)),D0=w(""),Rf=w(!1),b1=w(null),H0=w(null),uS=h({setSaving:(f)=>N(Rf,f,!0),setError:(f)=>N(H0,f,!0),setMsg:(f)=>N(b1,f,!0),onSuccess:(f)=>{N(F0,f?.set??!1,!0),N(D0,""),N(b1,S(F0)?"Saved.":"Cleared.",!0)}}),$=w(B(z.customEndpointEnabled)),Pf=w(!1),U0=w(null),sS=s({set:(f)=>N($,f,!0),setSaving:(f)=>N(Pf,f,!0),setError:(f)=>N(U0,f,!0)}),Ff=w(B(z.customEndpointBaseUrl)),Df=w(!1),q1=w(null),M0=w(null),dS=h({setSaving:(f)=>N(Df,f,!0),setError:(f)=>N(M0,f,!0),setMsg:(f)=>N(q1,f,!0),onSuccess:(f)=>{N(q1,f?.set?"Saved.":"Cleared.",!0)}}),B0=w(""),l0=w(B(z.customEndpointTokenSet)),Hf=w(!1),i1=w(null),O0=w(null),eS=h({setSaving:(f)=>N(Hf,f,!0),setError:(f)=>N(O0,f,!0),setMsg:(f)=>N(i1,f,!0),onSuccess:(f)=>{N(l0,f?.set??!1,!0),N(B0,""),N(i1,S(l0)?"Saved.":"Cleared.",!0)}}),Uf=w(B(z.customEndpointOpusModel)),Mf=w(B(z.customEndpointSonnetModel)),Bf=w(B(z.customEndpointHaikuModel)),lf=w(B(z.customEndpointSmallFastModel)),Of=w(B(z.customEndpointModel)),kf=w(!1),h1=w(null),k0=w(null),aS=h({setSaving:(f)=>N(kf,f,!0),setError:(f)=>N(k0,f,!0),setMsg:(f)=>N(h1,f,!0),onSuccess:()=>{N(h1,"Saved.")}}),E1=w(B(z.hostEnvVarsEnabled)),Tf=w(!1),T0=w(null),vS=s({set:(f)=>N(E1,f,!0),setSaving:(f)=>N(Tf,f,!0),setError:(f)=>N(T0,f,!0),onSuccess:(f)=>{N(w1,f?.presence??{},!0)}}),x1=w(B([...z.hostEnvVarNames])),w1=w(B({...z.hostEnvVarPresence})),b0=w(""),c1=w(!1),G1=w(null),y1=w(null),rS={onPending:(f)=>N(c1,f,!0),submit:({formData:f,cancel:y})=>{N(y1,null),N(G1,null);let x=f.getAll("names").map(String),l=(x.pop()??"").trim().toUpperCase();if(!l){y();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(l)){N(y1,`Invalid variable name: ${l}`),y();return}if(N(b0,""),x.includes(l)){y();return}let d=[...x,l];f.delete("names");for(let g of d)f.append("names",g);return({result:g})=>{if(g.type==="success")N(x1,d,!0),N(w1,g.data?.presence??{},!0),N(G1,"Saved.");else if(g.type==="failure")N(y1,g.data?.error??"Request failed",!0);else if(g.type==="error")N(y1,"Network error. Try again.")}}};function $S(f){return h({setSaving:(y)=>N(c1,y,!0),setError:(y)=>N(y1,y,!0),setMsg:(y)=>N(G1,y,!0),onSuccess:(y)=>{N(x1,S(x1).filter((x)=>x!==f),!0),N(w1,y?.presence??{},!0)}})}function oS(f){if(N(J,f,!0),OS(f),kS(),f)TS("done")}let _S={submit:({cancel:f})=>{if(!confirm("Delete the database, remove all instances and their containers, and shut down the server? This cannot be undone.")){f();return}N(Q,!0)}};var bf=O9(),q0=B1(bf),qf=L(q0);HS(qf,{children:(f,y)=>{var x=G9();j(f,x)},$$slots:{default:!0}});var hf=C(qf,2),i0=L(hf),m1=L(i0),h0=L(m1),Ef=L(h0);n1(Ef,{size:18});var cf=C(Ef,2),mf=L(cf),nS=C(L(mf));{var fI=(f)=>{var y=Y9(),x=L(y,!0);I(y),p(()=>V(x,z.dockerArch)),j(f,y)};H(nS,(f)=>{if(z.dockerArch)f(fI)})}I(mf),F(2),I(cf),I(h0);var E0=C(h0,2),c0=L(E0);O(c0);var tf=C(c0,2);t(tf,{type:"submit",get disabled(){return S(e)},children:(f,y)=>{F();var x=m("Save");j(f,x)},$$slots:{default:!0}});var SI=C(tf,2);t(SI,{type:"button",get icon(){return D1},get disabled(){return S(e)},onclick:l1,get title(){return`Reset to default (${z.builtinImage??""})`},"aria-label":"Reset to default image"}),I(E0);var m0=C(E0,2),II=L(m0);{var LI=(f)=>{var y=K9(),x=C(B1(y)),X=L(x,!0);I(x);var l=C(x,2),d=L(l,!0);I(l),F(),p(()=>{V(X,z.dockerArch),V(d,z.dockerArch)}),j(f,y)},yI=(f)=>{var y=m(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
18
18
  fail.`);j(f,y)};H(II,(f)=>{if(z.dockerArch)f(LI);else f(yI,-1)})}I(m0);var NI=C(m0,2);{var CI=(f)=>{var y=r(),x=L(y,!0);I(y),p(()=>V(x,S(o))),j(f,y)},xI=(f)=>{var y=FS();j(f,y)};H(NI,(f)=>{if(S(o))f(CI);else if(S(J1))f(xI,1)})}I(m1),Wf(m1,(f)=>Q1=f,()=>Q1),q(m1,()=>i(_)),I(i0);var t0=C(i0,2),t1=L(t0),g0=L(t1),wI=L(g0);j0(wI,{size:18}),F(2),I(g0);var u0=C(g0,2),s0=L(u0);O(s0);var gf=C(s0,2);t(gf,{type:"submit",get disabled(){return S(V1)},children:(f,y)=>{F();var x=m("Save");j(f,x)},$$slots:{default:!0}});var zI=C(gf,2);t(zI,{type:"button",get icon(){return D1},get disabled(){return S(V1)},onclick:iS,get title(){return`Reset to default (${z.builtinCopyIgnore??""})`},"aria-label":"Reset to default copy-ignore patterns"}),I(u0);var jI=C(u0,2);{var AI=(f)=>{var y=r(),x=L(y,!0);I(y),p(()=>V(x,S(W1))),j(f,y)},ZI=(f)=>{var y=FS();j(f,y)};H(jI,(f)=>{if(S(W1))f(AI);else if(S(X1))f(ZI,1)})}I(t1),Wf(t1,(f)=>p0=f,()=>p0),q(t1,()=>i(qS)),I(t0);var d0=C(t0,2),g1=L(d0),e0=L(g1),pI=L(e0);z0(pI,{size:18}),F(2),I(e0);var uf=C(e0,2),u1=L(uf);O(u1),F(2),I(uf),I(g1),q(g1,()=>i(hS));var sf=C(g1,2);{var JI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(Q0))),j(f,y)};H(sf,(f)=>{if(S(Q0))f(JI)})}var s1=C(sf,2),a0=L(s1),df=L(a0);H1(df,{size:18});var ef=C(df,2),QI=C(L(ef),4);{var VI=(f)=>{var y=r(),x=L(y,!0);I(y),p(()=>V(x,S(W0))),j(f,y)},WI=(f)=>{var y=L1(),x=L(y,!0);I(y),p(()=>V(x,S(O1))),j(f,y)};H(QI,(f)=>{if(S(W0))f(VI);else if(S(O1))f(WI,1)})}I(ef),I(a0);var XI=C(a0,2);t(XI,{type:"submit",get icon(){return H1},get disabled(){return S(V0)},children:(f,y)=>{F();var x=m();p(()=>V(x,S(V0)?"Clearing…":"Clear cache")),j(f,x)},$$slots:{default:!0}}),I(s1),q(s1,()=>i(cS));var v0=C(s1,2),r0=L(v0),af=L(r0);U1(af,{size:18});var vf=C(af,2),GI=C(L(vf),4);{var YI=(f)=>{var y=r(),x=L(y,!0);I(y),p(()=>V(x,S(G0))),j(f,y)},KI=(f)=>{var y=L1(),x=L(y,!0);I(y),p(()=>V(x,S(k1))),j(f,y)};H(GI,(f)=>{if(S(G0))f(YI);else if(S(k1))f(KI,1)})}I(vf),I(r0);var RI=C(r0,2);t(RI,{type:"submit",get icon(){return U1},get disabled(){return S(X0)},children:(f,y)=>{F();var x=m();p(()=>V(x,S(X0)?"Starting…":"Rebuild all")),j(f,x)},$$slots:{default:!0}}),I(v0),q(v0,()=>i(mS)),I(d0);var d1=C(d0,2);let rf;var e1=L(d1),$0=L(e1),$f=L($0);M1($f,{size:18});var of=C($f,2),o0=L(of),PI=C(L(o0));{var FI=(f)=>{var y=R9();j(f,y)};H(PI,(f)=>{if(S($))f(FI)})}I(o0);var _f=C(o0,2),DI=L(_f);{var HI=(f)=>{var y=m(`Not available while LiteLLM + Bedrock mode is enabled — Claude credentials are
19
19
  provided by the LiteLLM endpoint instead.`);j(f,y)},UI=(f)=>{var y=m(`Provide GitHub and Claude Code tokens yourself instead of discovering them from this
20
20
  machine. Useful on a headless server or when signed in as a different identity. A
21
21
  token set here is injected into every new container and overrides host credential
22
22
  discovery.`);j(f,y)};H(DI,(f)=>{if(S($))f(HI);else f(UI,-1)})}I(_f),I(of),I($0);var nf=C($0,2),a1=L(nf);O(a1),F(2),I(nf),I(e1),q(e1,()=>i(tS));var fS=C(e1,2);{var MI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(Y0))),j(f,y)};H(fS,(f)=>{if(S(Y0))f(MI)})}var BI=C(fS,2);{var lI=(f)=>{var y=P9(),x=B1(y),X=C(L(x),2),l=L(X);O(l);var d=C(l,2);t(d,{type:"submit",get disabled(){return S(Kf)},children:(W,U)=>{F();var T=m("Save");j(W,T)},$$slots:{default:!0}}),I(X);var g=C(X,2);{var Y1=(W)=>{var U=r(),T=L(U,!0);I(U),p(()=>V(T,S(P0))),j(W,U)},K1=(W)=>{var U=L1(),T=L(U,!0);I(U),p(()=>V(T,S(T1))),j(W,U)};H(g,(W)=>{if(S(P0))W(Y1);else if(S(T1))W(K1,1)})}I(x),q(x,()=>i(gS));var a=C(x,2),Y=C(L(a),2),G=L(Y);O(G);var k=C(G,2);t(k,{type:"submit",get disabled(){return S(Rf)},children:(W,U)=>{F();var T=m("Save");j(W,T)},$$slots:{default:!0}}),I(Y);var z1=C(Y,2);{var N1=(W)=>{var U=r(),T=L(U,!0);I(U),p(()=>V(T,S(H0))),j(W,U)},R1=(W)=>{var U=L1(),T=L(U,!0);I(U),p(()=>V(T,S(b1))),j(W,U)};H(z1,(W)=>{if(S(H0))W(N1);else if(S(b1))W(R1,1)})}I(a),q(a,()=>i(uS)),p(()=>{v(l,"placeholder",S(K0)?"•••••••• (saved)":"ghp_… / gho_…"),v(G,"placeholder",S(F0)?"•••••••• (saved)":"sk-ant-oat…")}),u(l,()=>S(R0),(W)=>N(R0,W)),u(G,()=>S(D0),(W)=>N(D0,W)),j(f,y)};H(BI,(f)=>{if(S(f1)&&!S($))f(lI)})}I(d1);var v1=C(d1,2);let SS;var r1=L(v1),_0=L(r1),IS=L(_0);M1(IS,{size:18});var LS=C(IS,2),n0=L(LS),OI=C(L(n0));{var kI=(f)=>{var y=F9();j(f,y)};H(OI,(f)=>{if(S(f1))f(kI)})}I(n0);var yS=C(n0,2),TI=L(yS);{var bI=(f)=>{var y=m(`Not available while "Set tokens manually" is enabled — these modes are mutually
23
- incompatible.`);j(f,y)},qI=(f)=>{var y=D9();F(2),j(f,y)};H(TI,(f)=>{if(S(f1))f(bI);else f(qI,-1)})}I(yS),I(LS),I(_0);var NS=C(_0,2),$1=L(NS);O($1),F(2),I(NS),I(r1),q(r1,()=>i(sS));var CS=C(r1,2);{var iI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(U0))),j(f,y)};H(CS,(f)=>{if(S(U0))f(iI)})}var hI=C(CS,2);{var EI=(f)=>{var y=H9(),x=B1(y),X=C(L(x),2),l=L(X);O(l);var d=C(l,2);t(d,{type:"submit",get disabled(){return S(Df)},children:(Z,D)=>{F();var b=m("Save");j(Z,b)},$$slots:{default:!0}}),I(X);var g=C(X,2);{var Y1=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(M0))),j(Z,D)},K1=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(q1))),j(Z,D)};H(g,(Z)=>{if(S(M0))Z(Y1);else if(S(q1))Z(K1,1)})}I(x),q(x,()=>i(dS));var a=C(x,2),Y=C(L(a),2),G=L(Y);O(G);var k=C(G,2);t(k,{type:"submit",get disabled(){return S(Hf)},children:(Z,D)=>{F();var b=m("Save");j(Z,b)},$$slots:{default:!0}}),I(Y);var z1=C(Y,2);{var N1=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(O0))),j(Z,D)},R1=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(i1))),j(Z,D)};H(z1,(Z)=>{if(S(O0))Z(N1);else if(S(i1))Z(R1,1)})}I(a),q(a,()=>i(eS));var W=C(a,2),U=C(L(W),2),T=L(U),C1=C(L(T),2);O(C1),I(T);var P1=C(T,2),S1=C(L(P1),2);O(S1),I(P1);var F1=C(P1,2),j1=C(L(F1),2);O(j1),I(F1);var jf=C(F1,2),JS=C(L(jf),2);O(JS),I(jf);var Af=C(jf,2),QS=C(L(Af),2);O(QS),I(Af);var VS=C(Af,2),_I=L(VS);t(_I,{type:"submit",get disabled(){return S(kf)},children:(Z,D)=>{F();var b=m("Save models");j(Z,b)},$$slots:{default:!0}}),I(VS),I(U);var nI=C(U,2);{var f9=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(k0))),j(Z,D)},S9=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(h1))),j(Z,D)};H(nI,(Z)=>{if(S(k0))Z(f9);else if(S(h1))Z(S9,1)})}I(W),q(W,()=>i(aS)),p(()=>v(G,"placeholder",S(l0)?"•••••••• (saved)":"sk-…")),u(l,()=>S(Ff),(Z)=>N(Ff,Z)),u(G,()=>S(B0),(Z)=>N(B0,Z)),u(C1,()=>S(Uf),(Z)=>N(Uf,Z)),u(S1,()=>S(Mf),(Z)=>N(Mf,Z)),u(j1,()=>S(Bf),(Z)=>N(Bf,Z)),u(JS,()=>S(lf),(Z)=>N(lf,Z)),u(QS,()=>S(Of),(Z)=>N(Of,Z)),j(f,y)};H(hI,(f)=>{if(S($))f(EI)})}I(v1);var ff=C(v1,2),o1=L(ff),Sf=L(o1),cI=L(Sf);A0(cI,{size:18}),F(2),I(Sf);var xS=C(Sf,2),_1=L(xS);O(_1),F(2),I(xS),I(o1),q(o1,()=>i(vS));var wS=C(o1,2);{var mI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(T0))),j(f,y)};H(wS,(f)=>{if(S(T0))f(mI)})}var tI=C(wS,2);{var gI=(f)=>{var y=B9(),x=L(y);A1(x,20,()=>S(x1),(Y)=>Y,(Y,G)=>{var k=U9(),z1=L(k);A1(z1,16,()=>S(x1).filter((S1)=>S1!==G),(S1)=>S1,(S1,F1)=>{var j1=DS();O(j1),p(()=>Vf(j1,F1)),j(S1,j1)});var N1=C(z1,2),R1=L(N1,!0);I(N1);var W=C(N1,2);let U;var T=L(W,!0);I(W);var C1=C(W,2),P1=L(C1);HS(P1,{size:13}),I(C1),I(k),q(k,()=>i($S(G))),p(()=>{V(R1,G),U=Z1(W,1,"var-status svelte-1n6ht58",null,U,{present:S(w1)[G]}),v(W,"title",S(w1)[G]?"Set on this host — will be injected":"Not set on this host — will be skipped"),V(T,S(w1)[G]?"set":"missing"),C1.disabled=S(c1),v(C1,"aria-label",`Remove ${G}`)}),j(Y,k)},(Y)=>{var G=M9();j(Y,G)}),I(x);var X=C(x,2),l=L(X);A1(l,16,()=>S(x1),(Y)=>Y,(Y,G)=>{var k=DS();O(k),p(()=>Vf(k,G)),j(Y,k)});var d=C(l,2);O(d);var g=C(d,2);t(g,{type:"submit",get icon(){return US},get disabled(){return S(c1)},children:(Y,G)=>{F();var k=m("Add");j(Y,k)},$$slots:{default:!0}}),I(X),q(X,()=>i(rS));var Y1=C(X,2);{var K1=(Y)=>{var G=r(),k=L(G,!0);I(G),p(()=>V(k,S(y1))),j(Y,G)},a=(Y)=>{var G=L1(),k=L(G,!0);I(G),p(()=>V(k,S(G1))),j(Y,G)};H(Y1,(Y)=>{if(S(y1))Y(K1);else if(S(G1))Y(a,1)})}I(y),u(d,()=>S(b0),(Y)=>N(b0,Y)),j(f,y)};H(tI,(f)=>{if(S(E1))f(gI)})}I(ff);var If=C(ff,2),zS=L(If),Lf=L(zS),uI=L(Lf);I0(uI,{size:18}),F(2),I(Lf);var sI=C(Lf,2);pf(sI,{}),I(zS),I(If);var yf=C(If,2),jS=L(yf),Nf=L(jS),dI=L(Nf);S0(dI,{size:18}),F(2),I(Nf);var AS=C(Nf,2),Cf=L(AS);O(Cf),F(2),I(AS),I(jS),I(yf);var xf=C(yf,2),wf=L(xf),zf=L(wf),eI=L(zf);f0(eI,{size:18}),F(2),I(zf);var aI=C(zf,2);{var vI=(f)=>{var y=l9();j(f,y)},rI=(f)=>{t(f,{type:"submit",variant:"danger",children:(y,x)=>{F();var X=m("Delete & shut down");j(y,X)},$$slots:{default:!0}})};H(aI,(f)=>{if(S(Q))f(vI);else f(rI,-1)})}I(wf),q(wf,()=>i(_S)),I(xf);var ZS=C(xf,2);Jf(ZS,{});var pS=C(ZS,2),$I=L(pS);I(pS),I(hf),I(q0);var oI=C(q0,2);MS(oI,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),p(()=>{p1(u1,S(J0)),u1.disabled=S(Gf),rf=Z1(d1,1,"card svelte-1n6ht58",null,rf,{"disabled-card":S($)}),p1(a1,S(f1)),a1.disabled=S(Yf)||S($),SS=Z1(v1,1,"card svelte-1n6ht58",null,SS,{"disabled-card":S(f1)}),p1($1,S($)),$1.disabled=S(Pf)||S(f1),p1(_1,S(E1)),_1.disabled=S(Tf),p1(Cf,S(J)),V($I,`Codebay v${z.version??""}`)}),u(c0,()=>S(E),(f)=>N(E,f)),u(s0,()=>S(n),(f)=>N(n,f)),I1("change",u1,(f)=>{N(J0,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",a1,(f)=>{N(f1,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",$1,(f)=>{N($,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",_1,(f)=>{N(E1,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",Cf,(f)=>oS(f.currentTarget.checked)),j(A,bf),x0()}w0(["change"]);bS("SettingsView_8hmarwmf8onq",Xf);
23
+ incompatible.`);j(f,y)},qI=(f)=>{var y=D9();F(2),j(f,y)};H(TI,(f)=>{if(S(f1))f(bI);else f(qI,-1)})}I(yS),I(LS),I(_0);var NS=C(_0,2),$1=L(NS);O($1),F(2),I(NS),I(r1),q(r1,()=>i(sS));var CS=C(r1,2);{var iI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(U0))),j(f,y)};H(CS,(f)=>{if(S(U0))f(iI)})}var hI=C(CS,2);{var EI=(f)=>{var y=H9(),x=B1(y),X=C(L(x),2),l=L(X);O(l);var d=C(l,2);t(d,{type:"submit",get disabled(){return S(Df)},children:(Z,D)=>{F();var b=m("Save");j(Z,b)},$$slots:{default:!0}}),I(X);var g=C(X,2);{var Y1=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(M0))),j(Z,D)},K1=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(q1))),j(Z,D)};H(g,(Z)=>{if(S(M0))Z(Y1);else if(S(q1))Z(K1,1)})}I(x),q(x,()=>i(dS));var a=C(x,2),Y=C(L(a),2),G=L(Y);O(G);var k=C(G,2);t(k,{type:"submit",get disabled(){return S(Hf)},children:(Z,D)=>{F();var b=m("Save");j(Z,b)},$$slots:{default:!0}}),I(Y);var z1=C(Y,2);{var N1=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(O0))),j(Z,D)},R1=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(i1))),j(Z,D)};H(z1,(Z)=>{if(S(O0))Z(N1);else if(S(i1))Z(R1,1)})}I(a),q(a,()=>i(eS));var W=C(a,2),U=C(L(W),2),T=L(U),C1=C(L(T),2);O(C1),I(T);var P1=C(T,2),S1=C(L(P1),2);O(S1),I(P1);var F1=C(P1,2),j1=C(L(F1),2);O(j1),I(F1);var jf=C(F1,2),JS=C(L(jf),2);O(JS),I(jf);var Af=C(jf,2),QS=C(L(Af),2);O(QS),I(Af);var VS=C(Af,2),_I=L(VS);t(_I,{type:"submit",get disabled(){return S(kf)},children:(Z,D)=>{F();var b=m("Save models");j(Z,b)},$$slots:{default:!0}}),I(VS),I(U);var nI=C(U,2);{var f9=(Z)=>{var D=r(),b=L(D,!0);I(D),p(()=>V(b,S(k0))),j(Z,D)},S9=(Z)=>{var D=L1(),b=L(D,!0);I(D),p(()=>V(b,S(h1))),j(Z,D)};H(nI,(Z)=>{if(S(k0))Z(f9);else if(S(h1))Z(S9,1)})}I(W),q(W,()=>i(aS)),p(()=>v(G,"placeholder",S(l0)?"•••••••• (saved)":"sk-…")),u(l,()=>S(Ff),(Z)=>N(Ff,Z)),u(G,()=>S(B0),(Z)=>N(B0,Z)),u(C1,()=>S(Uf),(Z)=>N(Uf,Z)),u(S1,()=>S(Mf),(Z)=>N(Mf,Z)),u(j1,()=>S(Bf),(Z)=>N(Bf,Z)),u(JS,()=>S(lf),(Z)=>N(lf,Z)),u(QS,()=>S(Of),(Z)=>N(Of,Z)),j(f,y)};H(hI,(f)=>{if(S($))f(EI)})}I(v1);var ff=C(v1,2),o1=L(ff),Sf=L(o1),cI=L(Sf);A0(cI,{size:18}),F(2),I(Sf);var xS=C(Sf,2),_1=L(xS);O(_1),F(2),I(xS),I(o1),q(o1,()=>i(vS));var wS=C(o1,2);{var mI=(f)=>{var y=Z0(),x=L(y),X=L(x,!0);I(x),I(y),p(()=>V(X,S(T0))),j(f,y)};H(wS,(f)=>{if(S(T0))f(mI)})}var tI=C(wS,2);{var gI=(f)=>{var y=B9(),x=L(y);A1(x,20,()=>S(x1),(Y)=>Y,(Y,G)=>{var k=U9(),z1=L(k);A1(z1,16,()=>S(x1).filter((S1)=>S1!==G),(S1)=>S1,(S1,F1)=>{var j1=DS();O(j1),p(()=>Vf(j1,F1)),j(S1,j1)});var N1=C(z1,2),R1=L(N1,!0);I(N1);var W=C(N1,2);let U;var T=L(W,!0);I(W);var C1=C(W,2),P1=L(C1);MS(P1,{size:13}),I(C1),I(k),q(k,()=>i($S(G))),p(()=>{V(R1,G),U=Z1(W,1,"var-status svelte-1n6ht58",null,U,{present:S(w1)[G]}),v(W,"title",S(w1)[G]?"Set on this host — will be injected":"Not set on this host — will be skipped"),V(T,S(w1)[G]?"set":"missing"),C1.disabled=S(c1),v(C1,"aria-label",`Remove ${G}`)}),j(Y,k)},(Y)=>{var G=M9();j(Y,G)}),I(x);var X=C(x,2),l=L(X);A1(l,16,()=>S(x1),(Y)=>Y,(Y,G)=>{var k=DS();O(k),p(()=>Vf(k,G)),j(Y,k)});var d=C(l,2);O(d);var g=C(d,2);t(g,{type:"submit",get icon(){return US},get disabled(){return S(c1)},children:(Y,G)=>{F();var k=m("Add");j(Y,k)},$$slots:{default:!0}}),I(X),q(X,()=>i(rS));var Y1=C(X,2);{var K1=(Y)=>{var G=r(),k=L(G,!0);I(G),p(()=>V(k,S(y1))),j(Y,G)},a=(Y)=>{var G=L1(),k=L(G,!0);I(G),p(()=>V(k,S(G1))),j(Y,G)};H(Y1,(Y)=>{if(S(y1))Y(K1);else if(S(G1))Y(a,1)})}I(y),u(d,()=>S(b0),(Y)=>N(b0,Y)),j(f,y)};H(tI,(f)=>{if(S(E1))f(gI)})}I(ff);var If=C(ff,2),zS=L(If),Lf=L(zS),uI=L(Lf);I0(uI,{size:18}),F(2),I(Lf);var sI=C(Lf,2);pf(sI,{}),I(zS),I(If);var yf=C(If,2),jS=L(yf),Nf=L(jS),dI=L(Nf);S0(dI,{size:18}),F(2),I(Nf);var AS=C(Nf,2),Cf=L(AS);O(Cf),F(2),I(AS),I(jS),I(yf);var xf=C(yf,2),wf=L(xf),zf=L(wf),eI=L(zf);f0(eI,{size:18}),F(2),I(zf);var aI=C(zf,2);{var vI=(f)=>{var y=l9();j(f,y)},rI=(f)=>{t(f,{type:"submit",variant:"danger",children:(y,x)=>{F();var X=m("Delete & shut down");j(y,X)},$$slots:{default:!0}})};H(aI,(f)=>{if(S(Q))f(vI);else f(rI,-1)})}I(wf),q(wf,()=>i(_S)),I(xf);var ZS=C(xf,2);Jf(ZS,{});var pS=C(ZS,2),$I=L(pS);I(pS),I(hf),I(q0);var oI=C(q0,2);BS(oI,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),p(()=>{p1(u1,S(J0)),u1.disabled=S(Gf),rf=Z1(d1,1,"card svelte-1n6ht58",null,rf,{"disabled-card":S($)}),p1(a1,S(f1)),a1.disabled=S(Yf)||S($),SS=Z1(v1,1,"card svelte-1n6ht58",null,SS,{"disabled-card":S(f1)}),p1($1,S($)),$1.disabled=S(Pf)||S(f1),p1(_1,S(E1)),_1.disabled=S(Tf),p1(Cf,S(J)),V($I,`Codebay v${z.version??""}`)}),u(c0,()=>S(E),(f)=>N(E,f)),u(s0,()=>S(n),(f)=>N(n,f)),I1("change",u1,(f)=>{N(J0,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",a1,(f)=>{N(f1,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",$1,(f)=>{N($,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",_1,(f)=>{N(E1,f.currentTarget.checked,!0),f.currentTarget.form?.requestSubmit()}),I1("change",Cf,(f)=>oS(f.currentTarget.checked)),j(A,bf),x0()}w0(["change"]);bS("SettingsView_8hmarwmf8onq",Xf);
@@ -1,2 +1,2 @@
1
1
  import{y as d}from"/_mochi/client/chunk-04qv4w6w.js";import{Ma as $,Na as i}from"/_mochi/client/chunk-qxwt25hn.js";var x=new Set(["$$slots","$$events","$$legacy"]);function h(p,o){let c=$(o,x),_=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];d(p,i({name:"plus"},()=>c,{get iconNode(){return _}}))}function f(){if(typeof localStorage>"u")return!0;return localStorage.getItem("codebay.sound")!=="off"}function T(p){if(typeof localStorage>"u")return;localStorage.setItem("codebay.sound",p?"on":"off")}var v={done:"/sounds/done.wav",waiting:"/sounds/waiting.wav"},I={},r=!1;function C(p){if(typeof window>"u")return null;let o=I[p];if(!o)o=new Audio(v[p]),o.preload="auto",I[p]=o;return o}function q(){if(r||typeof window>"u")return;r=!0;for(let p of Object.keys(v)){let o=C(p);if(!o)continue;let{volume:c}=o;o.volume=0,o.play().then(()=>{o.pause(),o.currentTime=0,o.volume=c}).catch(()=>{o.volume=c})}}function u(p){if(!f()){console.log(`[chime] playChime(${p}) — skipped (sound disabled in settings)`);return}let o=C(p);if(!o){console.log(`[chime] playChime(${p}) — no audio element (SSR/no window?)`);return}if(!r)console.warn(`[chime] playChime(${p}) — audio not yet unlocked; browser may block until the page is interacted with`);o.currentTime=0,o.play().then(()=>console.log(`[chime] playChime(${p}) — playing`)).catch((c)=>console.warn(`[chime] playChime(${p}) — play rejected:`,c?.message??c))}
2
- export{h as i,f as j,T as k,q as l,u as m};
2
+ export{h as a,f as b,T as c,q as d,u as e};
@@ -1 +1 @@
1
- import{y as o}from"/_mochi/client/chunk-04qv4w6w.js";import{Ma as e,Na as t}from"/_mochi/client/chunk-qxwt25hn.js";var p=new Set(["$$slots","$$events","$$legacy"]);function r(s,i){let c=e(i,p),n=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];o(s,t({name:"x"},()=>c,{get iconNode(){return n}}))}export{r as n};
1
+ import{y as o}from"/_mochi/client/chunk-04qv4w6w.js";import{Ma as e,Na as t}from"/_mochi/client/chunk-qxwt25hn.js";var p=new Set(["$$slots","$$events","$$legacy"]);function r(s,i){let c=e(i,p),n=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];o(s,t({name:"x"},()=>c,{get iconNode(){return n}}))}export{r as x};
@@ -0,0 +1,2 @@
1
+ import{B as p,Ba as P,X as R,ba as q,na as w,ra as B,sa as H}from"/_mochi/client/chunk-qxwt25hn.js";function G($){let h=`/p/${$.id}/`;return $.remote_workspace_folder?`${h}?folder=${encodeURIComponent($.remote_workspace_folder)}`:h}var z=w("<span> </span>");function C($,h){let x={creating:"Booting…",running:"Running",stopped:"Stopped",error:"Error"};var t=z(),_=R(t,!0);p(t),q(()=>{P(t,1,`status ${h.status??""}`,"svelte-1hqr9xd"),H(_,x[h.status])}),B($,t)}function Q($){return`http://${typeof window>"u"?"localhost":window.location.hostname}:${$}`}function D($,h,x){let t=null,_=null,u=!1,S=()=>{let j=location.protocol==="https:"?"wss:":"ws:";t=new WebSocket(`${j}//${location.host}${$}`),t.onopen=()=>x?.(),t.onmessage=(r)=>h(r.data),t.onclose=()=>{if(!u)_=setTimeout(S,1000)},t.onerror=()=>t?.close()};return S(),()=>{if(u=!0,_)clearTimeout(_);t?.close()}}function V($,h){return D("/api/stream",(x)=>{let t;try{t=JSON.parse(x)}catch{return}$(t)},h)}async function F($,h,x="Request failed"){let t=await fetch($,{...h,headers:{...h?.headers,["X-Codebay-Request"]:"1"}});if(!t.ok){let _=await t.json().catch(()=>null);throw Error(_?.error?.message??x)}return await t.json().catch(()=>({}))}function X($,h,x){return U("POST",$,h,x)}function Y($,h,x){return U("DELETE",$,h,x)}function U($,h,x,t){return F(h,x===void 0?{method:$}:{method:$,headers:{"Content-Type":"application/json"},body:JSON.stringify(x)},t)}
2
+ export{G as p,C as q,Q as r,D as s,V as t,F as u,X as v,Y as w};
@@ -0,0 +1,2 @@
1
+ import{y as Ft}from"/_mochi/client/chunk-04qv4w6w.js";import{$ as G,B as b,Ba as U,C as Ve,Ca as P,Da as St,E as Lt,G as L,H as Q,Ha as Et,I as it,Ia as dt,J as bt,K as j,Ka as Xt,L as Ut,La as N,M as wt,Ma as $t,Na as at,Oa as d,P as V,Pa as Zt,Qa as Jt,S as et,T as R,U as T,X as q,Y as S,Z as W,_ as je,aa as w,ba as C,ga as s,ha as J,ia as M,ka as pt,la as zt,ma as De,na as x,pa as Kt,qa as E,ra as f,sa as gt,ta as H,ua as tr,va as Mt,wa as ht,xa as nt,ya as Z,z as st}from"/_mochi/client/chunk-qxwt25hn.js";var ar=new Set(["$$slots","$$events","$$legacy"]);function ct(e,t){let r=$t(t,ar),a=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}]];Ft(e,at({name:"house"},()=>r,{get iconNode(){return a}}))}var or=x('<header class="bar svelte-fcv4i8"><a class="home svelte-fcv4i8" href="/" title="All instances" aria-label="All instances"><!></a> <!></header>');function pr(e,t){var r=or(),a=q(r),n=q(a);ct(n,{size:18}),b(a);var i=W(a,2);nt(i,()=>t.children??st),b(r),f(e,r)}Lt();function Ct(e,t,r,a){var n,i,o=!1,c=r.length>=2,l=(m,p,_)=>{if(n=p,c)i=m;if(!o){let h=t(m,p,_);if(t.length<2)p(h);else return h}o=!1},u=bt(e,l,a),y=!Array.isArray(e);function $(m){var p=r(m,i);if(y)o=!0,e.set(p);else p.forEach((_,h)=>{o=!0,e[h].set(_)});o=!1}var A=!1;function v(m){var p,_,h,g;if(A){g=m(j(u)),n(g);return}var I=u.subscribe((z)=>{if(!A)h=z;else if(!p)p=!0;else _=!0});if(g=m(h),A=!0,n(g),I(),A=!1,_)g=j(u);if(p)$(g)}return{subscribe:u.subscribe,set(m){v(()=>m)},update:v}}var sr=20,D=it([]),qt=it(null),vt=new Map,Qt=(e)=>{if(vt.has(e))return;let t=setTimeout(()=>{vt.delete(e),Ht(e)},1000);vt.set(e,t)},nr=(e)=>{let t=vt.get(e);if(t)clearTimeout(t)};function kt(e){if(e.id)nr(e.id);D.update((t)=>t.map((r)=>r.id===e.id?{...r,...e}:r))}function ir(e){D.update((t)=>[e,...t].slice(0,sr))}function Bt(e){if(j(D).find((t)=>t.id===e.id))kt(e);else ir(e)}function Ot(e){D.update((t)=>{if(e)Qt(e);else t.forEach((r)=>{Qt(r.id)});return t.map((r)=>r.id===e||e===void 0?{...r,visible:!1}:r)})}function Ht(e){D.update((t)=>{if(e===void 0)return[];return t.filter((r)=>r.id!==e)})}function Wt(e){qt.set(e)}function Yt(e){let t;qt.update((r)=>{return t=e-(r||0),null}),D.update((r)=>r.map((a)=>({...a,pauseDuration:a.pauseDuration+t})))}var mr={blank:4000,error:4000,success:2000,loading:1/0,custom:4000};function It(e={}){return{toasts:Ct(D,(r)=>r.map((a)=>({...e,...e[a.type],...a,duration:a.duration||e[a.type]?.duration||e?.duration||mr[a.type],style:[e.style,e[a.type]?.style,a.style].join(";")})),(r)=>r),pausedAt:qt}}var lr=(e)=>typeof e==="function",ut=(e,t)=>lr(e)?e(t):e;var Gt=(()=>{let e=0;return()=>{return e+=1,e.toString()}})(),mt=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})();var fr=(e,t="blank",r)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:r?.id||Gt()}),lt=(e)=>(t,r)=>{let a=fr(t,e,r);return Bt(a),a.id},Y=(e,t)=>lt("blank")(e,t);Y.error=lt("error");Y.success=lt("success");Y.loading=lt("loading");Y.custom=lt("custom");Y.dismiss=(e)=>{Ot(e)};Y.remove=(e)=>Ht(e);Y.promise=(e,t,r)=>{let a=Y.loading(t.loading,{...r,...r?.loading});return e.then((n)=>{return Y.success(ut(t.success,n),{id:a,...r,...r?.success}),n}).catch((n)=>{Y.error(ut(t.error,n),{id:a,...r,...r?.error})}),e};var ft=Y;function dr(e,t,r){let{reverseOrder:a,gutter:n=8,defaultPosition:i}=r||{},o=t.filter((y)=>(y.position||i)===(e.position||i)&&y.height),c=o.findIndex((y)=>y.id===e.id),l=o.filter((y,$)=>$<c&&y.visible).length;return o.filter((y)=>y.visible).slice(...a?[l+1]:[0,l]).reduce((y,$)=>y+($.height||0)+n,0)}var $r={startPause(){Wt(Date.now())},endPause(){Yt(Date.now())},updateHeight:(e,t)=>{kt({id:e,height:t})},calculateOffset:dr};function At(e){let{toasts:t,pausedAt:r}=It(e),a=new Map,n,i=[r.subscribe((o)=>{if(o){for(let[,c]of a)clearTimeout(c);a.clear()}n=o}),t.subscribe((o)=>{if(n)return;let c=Date.now();for(let l of o){if(a.has(l.id))continue;if(l.duration===1/0)continue;let u=(l.duration||0)+l.pauseDuration-(c-l.createdAt);if(u<0){if(l.visible)ft.dismiss(l.id);return null}a.set(l.id,setTimeout(()=>ft.dismiss(l.id),u))}})];return Jt(()=>{for(let o of i)o()}),{toasts:t,handlers:$r}}var cr=x('<div class="svelte-1did3zw"></div>');function yt(e,t){let r=d(t,"primary",8,"#61d345"),a=d(t,"secondary",8,"#fff");var n=cr();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var vr=x('<div class="svelte-1ro2ggf"></div>');function _t(e,t){let r=d(t,"primary",8,"#ff4b4b"),a=d(t,"secondary",8,"#fff");var n=vr();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var ur=x('<div class="svelte-tyythq"></div>');function xt(e,t){let r=d(t,"primary",8,"#616161"),a=d(t,"secondary",8,"#e0e0e0");var n=ur();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var Ar=x('<div class="animated svelte-t33qv2"> </div>'),yr=x('<div class="status svelte-t33qv2"><!></div>'),_r=x('<div class="indicator svelte-t33qv2"><!> <!></div>');function ot(e,t){L(t,!1);let r=R(),a=R(),n=R(),i=d(t,"toast",8);G(()=>(s(r),s(a),s(n),M(i())),()=>{(($)=>{T(r,$.type),T(a,$.icon),T(n,$.iconTheme)})(i())}),w();var o=E(),c=S(o);{var l=($)=>{var A=Ar(),v=q(A,!0);b(A),C(()=>gt(v,s(a))),f($,A)},u=($)=>{var A=E(),v=S(A);Z(v,()=>s(a),(m,p)=>{p(m,{})}),f($,A)},y=($)=>{var A=_r(),v=q(A);xt(v,at(()=>s(n)));var m=W(v,2);{var p=(_)=>{var h=yr(),g=q(h);{var I=(F)=>{_t(F,at(()=>s(n)))},z=(F)=>{yt(F,at(()=>s(n)))};H(g,(F)=>{if(s(r)==="error")F(I);else F(z,-1)})}b(h),f(_,h)};H(m,(_)=>{if(s(r)!=="loading")_(p)})}b(A),f($,A)};H(c,($)=>{if(typeof s(a)==="string")$(l);else if(typeof s(a)<"u")$(u,1);else if(s(r)!=="blank")$(y,2)})}f(e,o),Q()}var xr=x("<div><!></div>");function tt(e,t){L(t,!1);let r=d(t,"toast",8);N();var a=xr();dt(a,()=>({class:"message",...r().ariaProps}),void 0,void 0,void 0,"svelte-1gudbf6");var n=q(a);{var i=(c)=>{var l=Kt();C(()=>gt(l,(M(r()),J(()=>r().message)))),f(c,l)},o=(c)=>{var l=E(),u=S(l);Z(u,()=>r().message,(y,$)=>{$(y,{get toast(){return r()}})}),f(c,l)};H(n,(c)=>{if(M(r()),J(()=>typeof r().message==="string"))c(i);else c(o,-1)})}b(a),f(e,a),Q()}var gr=x("<!> <!>",1),hr=x("<div><!></div>");function Tt(e,t){L(t,!1);let r=d(t,"toast",8),a=d(t,"position",24,()=>{return}),n=d(t,"style",8,""),i=d(t,"Component",24,()=>{return}),o=R(),c=R();G(()=>(M(r()),M(a()),mt),()=>{let v=(r().position||a()||"top-center").includes("top");T(o,v?1:-1);let[m,p]=mt()?["fadeIn","fadeOut"]:["enter","exit"];T(c,r().visible?m:p)}),w(),N();var l=hr();let u;var y=q(l);{var $=(v)=>{var m=E(),p=S(m);Z(p,i,(_,h)=>{h(_,{$$slots:{icon:(g,I)=>{ot(g,{get toast(){return r()},slot:"icon"})},message:(g,I)=>{tt(g,{get toast(){return r()},slot:"message"})}}})}),f(v,m)},A=(v)=>{var m=E(),p=S(m);ht(p,t,"default",{get ToastIcon(){return ot},get ToastMessage(){return tt},get toast(){return r()}},(_)=>{var h=gr(),g=S(h);ot(g,{get toast(){return r()}});var I=W(g,2);tt(I,{get toast(){return r()}}),f(_,h)}),f(v,m)};H(y,(v)=>{if(i())v($);else v(A,-1)})}b(l),C(()=>{U(l,1,`base ${(M(r()),s(c),J(()=>r().height?s(c):"transparent"))??""} ${(M(r()),J(()=>r().className||""))??""}`,"svelte-yae3e8"),u=P(l,`${n()??""}; ${(M(r()),J(()=>r().style))??""}`,u,{"--factor":s(o)})}),f(e,l),Q()}var Tr=x("<div><!></div>");function Rt(e,t){L(t,!1);let r=R(),a=R(),n=R(),i=R(),o=d(t,"toast",8),c=d(t,"setHeight",8),l=R();Zt(()=>{c()(s(l).getBoundingClientRect().height)}),G(()=>M(o()),()=>{T(r,o().position?.includes("top")?0:null)}),G(()=>M(o()),()=>{T(a,o().position?.includes("bottom")?0:null)}),G(()=>M(o()),()=>{T(n,o().position?.includes("top")?1:-1)}),G(()=>M(o()),()=>{T(i,o().position?.includes("center")&&"center"||(o().position?.includes("right")||o().position?.includes("end"))&&"flex-end"||null)}),w(),N();var u=Tr();let y,$;var A=q(u);{var v=(p)=>{tt(p,{get toast(){return o()}})},m=(p)=>{var _=E(),h=S(_);ht(h,t,"default",{get toast(){return o()}},(g)=>{Tt(g,{get toast(){return o()},get position(){return M(o()),J(()=>o().position)}})}),f(p,_)};H(A,(p)=>{if(M(o()),J(()=>o().type==="custom"))p(v);else p(m,-1)})}b(u),Xt(u,(p)=>T(l,p),()=>s(l)),C((p)=>{y=U(u,1,"wrapper svelte-1pz3gqy",null,y,p),$=P(u,"",$,{"--factor":s(n),"--offset":(M(o()),J(()=>o().offset)),top:s(r),bottom:s(a),"justify-content":s(i)})},[()=>({active:o().visible,transition:!mt()})]),f(e,u),Q()}var Mr=x('<div role="alert"></div>');function Nt(e,t){L(t,!1);let r=()=>Ut($,"$toasts",a),[a,n]=wt(),i=d(t,"reverseOrder",8,!1),o=d(t,"position",8,"top-center"),c=d(t,"toastOptions",24,()=>{return}),l=d(t,"gutter",8,8),u=d(t,"containerStyle",24,()=>{return}),y=d(t,"containerClassName",24,()=>{return}),{toasts:$,handlers:A}=At(c()),v=R();G(()=>(r(),M(o()),M(i()),M(l())),()=>{T(v,r().map((p)=>({...p,position:p.position||o(),offset:A.calculateOffset(p,r(),{reverseOrder:i(),gutter:l(),defaultPosition:o()})})))}),w(),N();var m=Mr();Mt(m,5,()=>s(v),(p)=>p.id,(p,_)=>{Rt(p,{get toast(){return s(_)},setHeight:(h)=>A.updateHeight(s(_).id,h)})}),b(m),C(()=>{U(m,1,`toaster ${(y()||"")??""}`,"svelte-haq5xk"),P(m,u())}),pt("mouseenter",m,function(...p){A.startPause?.apply(this,p)}),pt("mouseleave",m,function(...p){A.endPause?.apply(this,p)}),f(e,m),Q(),n()}var $p=ft;var zr=new Set(["$$slots","$$events","$$legacy","variant","size","ghost","icon","iconSize","href","disabled","onclick","children"]),br=x("<a><!> <!></a>"),Cr=x("<button><!> <!></button>");function qr(e,t){let r=d(t,"variant",3,"default"),a=d(t,"size",3,"md"),n=d(t,"ghost",3,!1),i=d(t,"disabled",3,!1),o=$t(t,zr),c=V(()=>t.icon),l=V(()=>t.iconSize??(a()==="lg"?18:a()==="sm"?13:15));var u=E(),y=S(u);{var $=(v)=>{var m=br();dt(m,()=>({class:`btn ${r()??""} ${a()??""}`,href:i()?void 0:t.href,"aria-disabled":i()||void 0,tabindex:i()?-1:void 0,...o,[St]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var p=q(m);{var _=(g)=>{var I=E(),z=S(I);Z(z,()=>s(c),(F,rt)=>{rt(F,{get size(){return s(l)}})}),f(g,I)};H(p,(g)=>{if(s(c))g(_)})}var h=W(p,2);nt(h,()=>t.children??st),b(m),f(v,m)},A=(v)=>{var m=Cr();dt(m,()=>({class:`btn ${r()??""} ${a()??""}`,onclick:t.onclick,disabled:i(),...o,[St]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var p=q(m);{var _=(g)=>{var I=E(),z=S(I);Z(z,()=>s(c),(F,rt)=>{rt(F,{get size(){return s(l)}})}),f(g,I)};H(p,(g)=>{if(s(c))g(_)})}var h=W(p,2);nt(h,()=>t.children??st),b(m),f(v,m)};H(y,(v)=>{if(t.href)v($);else v(A,-1)})}f(e,u)}var kr={name:"anchor",pixels:["...##...","..#..#..","..#..#..",".######.","...##...","#..##..#","########",".######."]},Vt=kr;var Hr={name:"bear",pixels:["##....##","###..###","########","##.##.##","########","########","###..###",".######."]},jt=Hr;var Ir={name:"bee",pixels:[".#....#.","##.##.##","#.####.#",".######.",".######.","........",".######.","..####.."]},Dt=Ir;var Rr={name:"bob-marley",pixels:["..####..",".######.","##....##","#.#..#.#","#......#","##.##.##","#.####.#","#..##..#"]},te=Rr;var Sr={name:"car",pixels:["........","..####..","..#..#..","..#..#..","########","########","########",".##..##."]},ee=Sr;var Pr={name:"carpathians",pixels:["........",".#......","......##",".....###","#...####","##.#####","###.####","####.###"]},re=Pr;var Er={name:"cat",pixels:["##....##","##....##","########","##.##.##","########","#.####.#","########",".####.##"]},ae=Er;var Fr={name:"cat-body",pixels:["....##..","#.#..###","###....#","###..###","########","########","#.#..#.#","#.#..#.#"]},oe=Fr;var Lr={name:"cat-sits",pixels:["..#..#..","..####..","..####..",".####...","####..##","####.#.#","####...#",".######."]},pe=Lr;var Qr={name:"celtic-cross",pixels:["...##...",".#.##.#.","...##...","########","########","...##...",".#.##.#.","...##..."]},se=Qr;var Br={name:"cherry",pixels:["......##","....###.","...##.#.","..#..#..",".##.##..","#.###.#.","#.###.#.",".###.#.."]},ne=Br;var Or={name:"cotton",pixels:["....##..","....##..",".##.....",".##..##.","...#.##.","....#...","...#....","...#...."]},ie=Or;var Wr={name:"crab",pixels:[".#....#.","##....##","##.##.##",".######.","########","##.##.##","##....##",".#....#."]},me=Wr;var Yr={name:"crown",pixels:["#......#","#..##..#","##.##.##","##.##.##","########","#.#.#.#.","########","########"]},le=Yr;var Gr={name:"diamond",pixels:[".######.","#.#..#.#","########","##.##.##",".#.##.#.",".##..##.","..####..","...##..."]},fe=Gr;var Jr={name:"dog",pixels:["##....##","##.##.##","########","###..###","########","########","##.##.##",".######."]},de=Jr;var Kr={name:"elephant",pixels:["...###..",".#####..","####.#..","######..","######.#","##.##.#.","##.##...","##.##..."]},$e=Kr;var Xr={name:"fish",pixels:["......#.",".###.##.","#####.##","#.#####.","#.#####.","#####.##",".###.##.","......#."]},ce=Xr;var Zr={name:"fleur-de-lis",pixels:["...##...","...#....",".###.##.","#.##...#","...##...",".#.##.#.",".######.","...##..."]},ve=Zr;var Ur={name:"flower",pixels:["..#..#..",".###.##.","########",".######.","..####..","...##...","..##.##.","...##..."]},ue=Ur;var wr={name:"fox",pixels:["##....##","##....##","########","###..###","########","########",".######.","..####.."]},Ae=wr;var Nr={name:"frog",pixels:[".#....#.","###..###","########","########","########","########",".######.","..####.."]},ye=Nr;var Vr={name:"ghost",pixels:["..####..",".######.","##.##.##","##.##.##","########","########","########","#.##.##."]},_e=Vr;var jr={name:"giraffe",pixels:["....#.#.","....####","....#...","....#...","....#...","....#...","#####...","##.##..."]},xe=jr;var Dr={name:"glasses",pixels:["##..##..","#.#.##.#",".#######","........",".##..##.",".##..##.","#..##..#","########"]},ge=Dr;var ta={name:"heart",pixels:[".##..##.","########","########","########",".######.","..####..","...##...","........"]},he=ta;var ea={name:"invader",pixels:["#......#",".#....#.","########","##.##.##","########","..####..",".##..##.","#.#..#.#"]},Te=ea;var ra={name:"kangaroo",pixels:["..#.#...","..###...",".####...","...##...","..#####.","...####.","...##.#.","..###..#"]},Me=ra;var aa={name:"key",pixels:[".####...","##..##..","##..##..","##..##..",".####...","..##....","..####..","..##.##."]},ze=aa;var oa={name:"lightning",pixels:["...#####","..####..",".####...",".#######","..######","...#####","..####..",".###...."]},be=oa;var pa={name:"mushroom",pixels:["..####..",".######.","########","########","########","..####..","..####..",".######."]},Ce=pa;var sa={name:"octopus",pixels:["..####..",".######.","###..###","########","########","########",".######.","#.#.#.#."]},qe=sa;var na={name:"owl",pixels:["#......#","##....##",".######.",".#.##.#.",".#.##.#.",".######.",".######.","..#..#.."]},ke=na;var ia={name:"penguin",pixels:["..####..",".######.",".##..##.",".#.##.#.","##...##.","##...##.","#######.",".#....#."]},He=ia;var ma={name:"planet",pixels:["...###..","..#####.","#.#####.",".#######","..#####.","..####..",".###....","........"]},Ie=ma;var la={name:"rabbit",pixels:[".#....#.",".##..##.",".##..##.","..####..",".######.","###..###","#..##..#",".######."]},Re=la;var fa={name:"rat",pixels:["...#.#..","...#####","...#.#..","..###...",".####.#.","#####..#","####..#.",".#####.."]},Se=fa;var da={name:"robot",pixels:["...##...","...#....",".######.","#.####.#","#..##..#",".######.",".#####..",".######."]},Pe=da;var $a={name:"rocket",pixels:["...##...","..####..","..#..#..","..####..",".######.","##.##.##","..#..#..","...##..."]},Ee=$a;var ca={name:"sea",pixels:["#.#.....",".#..#.#.",".....#..","...#....","........","########",".##..###","##.###.."]},Fe=ca;var va={name:"skull",pixels:[".######.","########","#.####.#","#.#..#.#","########","##.##.##",".#.##.#.",".##.##.."]},Le=va;var ua={name:"snail",pixels:[".####..#","#....#.#","#.##.#.#","#.#..#.#","#....##.","#...#.#.","######.#",".######."]},Qe=ua;var Aa={name:"snake",pixels:["...###..",".###..#.","#.#..#..","##..#..#","...#..#.","..#...##",".#.....#",".######."]},Be=Aa;var ya={name:"snakegame",pixels:["########","#......#","#.##...#","#.#..#.#","#.##...#","#..##..#","#......#","########"]},Oe=ya;var _a={name:"star",pixels:["...##...","...##...","########",".######.",".######.",".##..##.","##....##","#......#"]},We=_a;var xa={name:"svelte",pixels:["..#####.",".###..#.","##...#..","########","########","..#...##",".#..###.",".####..."]},Ye=xa;var ga={name:"target",pixels:["..####..",".#....#.","#......#","#..##..#","#..##..#","#......#",".#....#.","..####.."]},Ge=ga;var ha={name:"tree",pixels:["...##...","..####..",".######.","..####..",".######.","########","...##...","...##..."]},Je=ha;var Ta={name:"ukraine",pixels:["...##...","#..##..#","##.##.##","#..##..#","##.##.##","#..##..#","########","...##..."]},Ke=Ta;var Ma={name:"whale",pixels:["....#...","...###..","..####.#",".#.####.","######.#",".#####..","..####..","...##..."]},Xe=Ma;var za={name:"wheat",pixels:["........","....#.#.","...#.#..","..#.#.#.","..##.#..","..###...",".#......","#......."]},Ze=za;var ba={name:"yinyan",pixels:[".......#",".##...##",".##..###","....####","...#####","..###..#",".####..#","########"]},Ue=ba;var cs=0,vs=1,us=8,As=8;function Pt(e){let t=[];for(let r of e.pixels)for(let a of r)t.push(a==="#"?1:0);return t}var we=[Vt,jt,Dt,te,ee,re,ae,oe,pe,se,ne,ie,me,le,fe,de,$e,ce,ve,ue,Ae,ye,_e,xe,ge,he,Te,Me,ze,be,Ce,qe,ke,He,Ie,Re,Se,Pe,Ee,Fe,Le,Qe,Be,Oe,We,Ye,Ge,Je,Ke,Xe,Ze,Ue];function Ca(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return t>>>0}function Ne(e){return we[Ca(e)%we.length]}var qa=x("<span></span>"),ka=x('<span class="invert svelte-1pre9qb" aria-hidden="true"></span> <span class="bloom svelte-1pre9qb" aria-hidden="true"></span>',1),Ha=x('<span role="img"><!> <!></span>');function Ia(e,t){L(t,!0);let r=d(t,"id",3,""),a=d(t,"scale",3,6),n=d(t,"interactive",3,!1),i=et(!1),o=et(!1),c=et("50%"),l=et("50%"),u=et(0),y=et(0),$;function A(k){let B=k.currentTarget.getBoundingClientRect(),K=(k.clientX-B.left)/B.width,X=(k.clientY-B.top)/B.height;T(c,K*100+"%"),T(l,X*100+"%"),T(y,(K*360+X*140)%360),T(u,(X*300-K*120+360)%360)}function v(k){if(!n())return;k.currentTarget.setPointerCapture?.(k.pointerId),A(k),clearTimeout($),T(o,!1),T(i,!0)}function m(k){if(s(i))A(k)}function p(){if(!s(i))return;T(i,!1),T(o,!0),clearTimeout($),$=setTimeout(()=>T(o,!1),250)}je(()=>()=>clearTimeout($));let _=V(()=>Math.max(1,Math.round(a()))),h=V(()=>s(_)>=2?0.5:0),g=V(()=>Pt(t.art??Ne(r()))),I=V(()=>Array.from({length:100},(k,B)=>{let K=Math.floor(B/10),X=B%10;return K>=1&&K<=8&&X>=1&&X<=8?s(g)[(K-1)*8+(X-1)]:0}));var z=Ha();let F;var rt=q(z);Mt(rt,17,()=>s(I),tr,(k,B)=>{var K=qa();let X;C(()=>X=U(K,1,"px svelte-1pre9qb",null,X,{on:s(B)===1})),f(k,K)});var er=W(rt,2);{var rr=(k)=>{var B=ka();Ve(2),f(k,B)};H(er,(k)=>{if(n())k(rr)})}b(z),C(()=>{F=U(z,1,"avatar svelte-1pre9qb",null,F,{interactive:n(),pressed:s(i),ghosting:s(o)}),Et(z,"aria-label",t.name),Et(z,"title",t.name),P(z,`width:${10*s(_)}px;height:${10*s(_)}px;--gap:${s(h)??""}px;--bx:${s(c)??""};--by:${s(l)??""};--spin:${s(u)??""}deg;--hue:${s(y)??""}deg`)}),zt("pointerdown",z,v),zt("pointermove",z,m),zt("pointerup",z,p),pt("pointercancel",z,p),pt("lostpointercapture",z,p),f(e,z),Q()}De(["pointerdown","pointermove","pointerup"]);
2
+ export{pr as f,Nt as g,$p as h,qr as i,cs as j,vs as k,us as l,As as m,we as n,Ia as o};
package/bin/codebay.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  // ./public, and the .mochi manifest relative to process.cwd(), so chdir into the
4
4
  // package root before booting. Dynamic import() of a relative specifier resolves
5
5
  // against this module's URL (not cwd), so the chdir doesn't affect it.
6
+ import { readFileSync } from 'node:fs';
6
7
  import { fileURLToPath } from 'node:url';
7
8
  import { dirname, isAbsolute, join, resolve } from 'node:path';
8
9
 
@@ -11,6 +12,46 @@ if (typeof Bun === 'undefined') {
11
12
  process.exit(1);
12
13
  }
13
14
 
15
+ const pkgRoot = join(dirname(fileURLToPath(import.meta.url)), '..');
16
+
17
+ function readVersion(): string {
18
+ try {
19
+ return JSON.parse(readFileSync(join(pkgRoot, 'package.json'), 'utf8')).version ?? 'unknown';
20
+ } catch {
21
+ return 'unknown';
22
+ }
23
+ }
24
+
25
+ const args = process.argv.slice(2);
26
+
27
+ if (args.includes('--version') || args.includes('-v')) {
28
+ console.log(readVersion());
29
+ process.exit(0);
30
+ }
31
+
32
+ if (args.includes('--help') || args.includes('-h')) {
33
+ console.log(`codebay ${readVersion()} — spin up isolated devcontainers with a browser IDE.
34
+
35
+ Usage: bunx codebay [options]
36
+
37
+ Starts the web UI (default http://localhost:6969) and opens it in your browser.
38
+
39
+ Options:
40
+ -h, --help Show this help and exit
41
+ -v, --version Print the version and exit
42
+
43
+ Environment variables:
44
+ PORT Server port (default 6969)
45
+ DATA_DIR Where state lives (default ~/.codebay)
46
+ DOCKER_HOST Docker socket/URL (defaults to your active Docker context)
47
+ HOST Bind address (default 127.0.0.1; set 0.0.0.0 for LAN access)
48
+ BASIC_AUTH_PASSWORD Enable HTTP Basic Auth over the whole UI (required for 0.0.0.0)
49
+ CODEBAY_CLAUDE_CODE_TOKEN Claude Code token to inject into every container
50
+ CODEBAY_GITHUB_TOKEN GitHub token to inject into every container
51
+ DISABLE_OPEN_BROWSER=1 Skip opening the browser on startup`);
52
+ process.exit(0);
53
+ }
54
+
14
55
  // config.server.ts resolves a relative DATA_DIR against process.cwd(). Pin it to the
15
56
  // directory the user actually ran the command from, before the chdir below moves cwd
16
57
  // into the (possibly npm-cached) package root.
@@ -18,5 +59,5 @@ if (process.env.DATA_DIR && !isAbsolute(process.env.DATA_DIR)) {
18
59
  process.env.DATA_DIR = resolve(process.cwd(), process.env.DATA_DIR);
19
60
  }
20
61
 
21
- process.chdir(join(dirname(fileURLToPath(import.meta.url)), '..'));
62
+ process.chdir(pkgRoot);
22
63
  await import('../src/index.ts');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebay",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
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",
@@ -1,2 +0,0 @@
1
- import{B as R,Ba as U,X as q,ba as w,na as B,ra as H,sa as P}from"/_mochi/client/chunk-qxwt25hn.js";function G($){let h=`/p/${$.id}/`;return $.remote_workspace_folder?`${h}?folder=${encodeURIComponent($.remote_workspace_folder)}`:h}async function z($,h,x="Request failed"){let t=await fetch($,{...h,headers:{...h?.headers,["X-Codebay-Request"]:"1"}});if(!t.ok){let _=await t.json().catch(()=>null);throw Error(_?.error?.message??x)}return await t.json().catch(()=>({}))}function K($,h,x){return p("POST",$,h,x)}function L($,h,x){return p("DELETE",$,h,x)}function p($,h,x,t){return z(h,x===void 0?{method:$}:{method:$,headers:{"Content-Type":"application/json"},body:JSON.stringify(x)},t)}function Q($){return`http://${typeof window>"u"?"localhost":window.location.hostname}:${$}`}var C=B("<span> </span>");function D($,h){let x={creating:"Booting…",running:"Running",stopped:"Stopped",error:"Error"};var t=C(),_=q(t,!0);R(t),w(()=>{U(t,1,`status ${h.status??""}`,"svelte-1hqr9xd"),P(_,x[h.status])}),H($,t)}function F($,h,x){let t=null,_=null,u=!1,S=()=>{let j=location.protocol==="https:"?"wss:":"ws:";t=new WebSocket(`${j}//${location.host}${$}`),t.onopen=()=>x?.(),t.onmessage=(r)=>h(r.data),t.onclose=()=>{if(!u)_=setTimeout(S,1000)},t.onerror=()=>t?.close()};return S(),()=>{if(u=!0,_)clearTimeout(_);t?.close()}}function Y($,h){return F("/api/stream",(x)=>{let t;try{t=JSON.parse(x)}catch{return}$(t)},h)}
2
- export{G as a,z as b,K as c,L as d,Q as e,D as f,F as g,Y as h};
@@ -1,2 +0,0 @@
1
- import{y as tr}from"/_mochi/client/chunk-04qv4w6w.js";import{$ as G,B as b,Ba as Z,C as Fe,Ca as P,Da as qt,E as Oe,G as L,H as Q,Ha as Ct,I as mt,Ia as it,J as kt,K as D,Ka as we,L as Ve,La as V,M as je,Ma as vt,Na as ot,Oa as d,P as w,Pa as Ne,Qa as Ze,S as j,T as S,U as T,X as q,Y as R,Z as O,_ as Le,aa as N,ba as C,ga as s,ha as J,ia as M,ka as at,la as $t,ma as Qe,na as x,pa as Ue,qa as E,ra as f,sa as ht,ta as H,ua as Be,va as ct,wa as Tt,xa as nt,ya as U,z as st}from"/_mochi/client/chunk-qxwt25hn.js";var ar={name:"anchor",pixels:["...##...","..#..#..","..#..#..",".######.","...##...","#..##..#","########",".######."]},Ft=ar;var or={name:"bear",pixels:["##....##","###..###","########","##.##.##","########","########","###..###",".######."]},Lt=or;var pr={name:"bee",pixels:[".#....#.","##.##.##","#.####.#",".######.",".######.","........",".######.","..####.."]},Qt=pr;var sr={name:"bob-marley",pixels:["..####..",".######.","##....##","#.#..#.#","#......#","##.##.##","#.####.#","#..##..#"]},Bt=sr;var nr={name:"car",pixels:["........","..####..","..#..#..","..#..#..","########","########","########",".##..##."]},Ot=nr;var ir={name:"carpathians",pixels:["........",".#......","......##",".....###","#...####","##.#####","###.####","####.###"]},Wt=ir;var mr={name:"cat",pixels:["##....##","##....##","########","##.##.##","########","#.####.#","########",".####.##"]},Yt=mr;var lr={name:"cat-body",pixels:["....##..","#.#..###","###....#","###..###","########","########","#.#..#.#","#.#..#.#"]},Gt=lr;var fr={name:"cat-sits",pixels:["..#..#..","..####..","..####..",".####...","####..##","####.#.#","####...#",".######."]},Jt=fr;var dr={name:"celtic-cross",pixels:["...##...",".#.##.#.","...##...","########","########","...##...",".#.##.#.","...##..."]},Kt=dr;var $r={name:"cherry",pixels:["......##","....###.","...##.#.","..#..#..",".##.##..","#.###.#.","#.###.#.",".###.#.."]},Xt=$r;var cr={name:"cotton",pixels:["....##..","....##..",".##.....",".##..##.","...#.##.","....#...","...#....","...#...."]},Zt=cr;var vr={name:"crab",pixels:[".#....#.","##....##","##.##.##",".######.","########","##.##.##","##....##",".#....#."]},Ut=vr;var ur={name:"crown",pixels:["#......#","#..##..#","##.##.##","##.##.##","########","#.#.#.#.","########","########"]},wt=ur;var Ar={name:"diamond",pixels:[".######.","#.#..#.#","########","##.##.##",".#.##.#.",".##..##.","..####..","...##..."]},Nt=Ar;var yr={name:"dog",pixels:["##....##","##.##.##","########","###..###","########","########","##.##.##",".######."]},Vt=yr;var _r={name:"elephant",pixels:["...###..",".#####..","####.#..","######..","######.#","##.##.#.","##.##...","##.##..."]},jt=_r;var xr={name:"fish",pixels:["......#.",".###.##.","#####.##","#.#####.","#.#####.","#####.##",".###.##.","......#."]},Dt=xr;var gr={name:"fleur-de-lis",pixels:["...##...","...#....",".###.##.","#.##...#","...##...",".#.##.#.",".######.","...##..."]},te=gr;var hr={name:"flower",pixels:["..#..#..",".###.##.","########",".######.","..####..","...##...","..##.##.","...##..."]},ee=hr;var Tr={name:"fox",pixels:["##....##","##....##","########","###..###","########","########",".######.","..####.."]},re=Tr;var Mr={name:"frog",pixels:[".#....#.","###..###","########","########","########","########",".######.","..####.."]},ae=Mr;var zr={name:"ghost",pixels:["..####..",".######.","##.##.##","##.##.##","########","########","########","#.##.##."]},oe=zr;var br={name:"giraffe",pixels:["....#.#.","....####","....#...","....#...","....#...","....#...","#####...","##.##..."]},pe=br;var Cr={name:"glasses",pixels:["##..##..","#.#.##.#",".#######","........",".##..##.",".##..##.","#..##..#","########"]},se=Cr;var qr={name:"heart",pixels:[".##..##.","########","########","########",".######.","..####..","...##...","........"]},ne=qr;var kr={name:"invader",pixels:["#......#",".#....#.","########","##.##.##","########","..####..",".##..##.","#.#..#.#"]},ie=kr;var Hr={name:"kangaroo",pixels:["..#.#...","..###...",".####...","...##...","..#####.","...####.","...##.#.","..###..#"]},me=Hr;var Ir={name:"key",pixels:[".####...","##..##..","##..##..","##..##..",".####...","..##....","..####..","..##.##."]},le=Ir;var Rr={name:"lightning",pixels:["...#####","..####..",".####...",".#######","..######","...#####","..####..",".###...."]},fe=Rr;var Sr={name:"mushroom",pixels:["..####..",".######.","########","########","########","..####..","..####..",".######."]},de=Sr;var Pr={name:"octopus",pixels:["..####..",".######.","###..###","########","########","########",".######.","#.#.#.#."]},$e=Pr;var Er={name:"owl",pixels:["#......#","##....##",".######.",".#.##.#.",".#.##.#.",".######.",".######.","..#..#.."]},ce=Er;var Fr={name:"penguin",pixels:["..####..",".######.",".##..##.",".#.##.#.","##...##.","##...##.","#######.",".#....#."]},ve=Fr;var Lr={name:"planet",pixels:["...###..","..#####.","#.#####.",".#######","..#####.","..####..",".###....","........"]},ue=Lr;var Qr={name:"rabbit",pixels:[".#....#.",".##..##.",".##..##.","..####..",".######.","###..###","#..##..#",".######."]},Ae=Qr;var Br={name:"rat",pixels:["...#.#..","...#####","...#.#..","..###...",".####.#.","#####..#","####..#.",".#####.."]},ye=Br;var Or={name:"robot",pixels:["...##...","...#....",".######.","#.####.#","#..##..#",".######.",".#####..",".######."]},_e=Or;var Wr={name:"rocket",pixels:["...##...","..####..","..#..#..","..####..",".######.","##.##.##","..#..#..","...##..."]},xe=Wr;var Yr={name:"sea",pixels:["#.#.....",".#..#.#.",".....#..","...#....","........","########",".##..###","##.###.."]},ge=Yr;var Gr={name:"skull",pixels:[".######.","########","#.####.#","#.#..#.#","########","##.##.##",".#.##.#.",".##.##.."]},he=Gr;var Jr={name:"snail",pixels:[".####..#","#....#.#","#.##.#.#","#.#..#.#","#....##.","#...#.#.","######.#",".######."]},Te=Jr;var Kr={name:"snake",pixels:["...###..",".###..#.","#.#..#..","##..#..#","...#..#.","..#...##",".#.....#",".######."]},Me=Kr;var Xr={name:"snakegame",pixels:["########","#......#","#.##...#","#.#..#.#","#.##...#","#..##..#","#......#","########"]},ze=Xr;var Zr={name:"star",pixels:["...##...","...##...","########",".######.",".######.",".##..##.","##....##","#......#"]},be=Zr;var Ur={name:"svelte",pixels:["..#####.",".###..#.","##...#..","########","########","..#...##",".#..###.",".####..."]},Ce=Ur;var wr={name:"target",pixels:["..####..",".#....#.","#......#","#..##..#","#..##..#","#......#",".#....#.","..####.."]},qe=wr;var Nr={name:"tree",pixels:["...##...","..####..",".######.","..####..",".######.","########","...##...","...##..."]},ke=Nr;var Vr={name:"ukraine",pixels:["...##...","#..##..#","##.##.##","#..##..#","##.##.##","#..##..#","########","...##..."]},He=Vr;var jr={name:"whale",pixels:["....#...","...###..","..####.#",".#.####.","######.#",".#####..","..####..","...##..."]},Ie=jr;var Dr={name:"wheat",pixels:["........","....#.#.","...#.#..","..#.#.#.","..##.#..","..###...",".#......","#......."]},Re=Dr;var ta={name:"yinyan",pixels:[".......#",".##...##",".##..###","....####","...#####","..###..#",".####..#","########"]},Se=ta;var Ro=0,So=1,Po=8,Eo=8;function bt(e){let t=[];for(let r of e.pixels)for(let a of r)t.push(a==="#"?1:0);return t}var Pe=[Ft,Lt,Qt,Bt,Ot,Wt,Yt,Gt,Jt,Kt,Xt,Zt,Ut,wt,Nt,Vt,jt,Dt,te,ee,re,ae,oe,pe,se,ne,ie,me,le,fe,de,$e,ce,ve,ue,Ae,ye,_e,xe,ge,he,Te,Me,ze,be,Ce,qe,ke,He,Ie,Re,Se];function ea(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return t>>>0}function Ee(e){return Pe[ea(e)%Pe.length]}var ra=x("<span></span>"),aa=x('<span class="invert svelte-1pre9qb" aria-hidden="true"></span> <span class="bloom svelte-1pre9qb" aria-hidden="true"></span>',1),oa=x('<span role="img"><!> <!></span>');function pa(e,t){L(t,!0);let r=d(t,"id",3,""),a=d(t,"scale",3,6),n=d(t,"interactive",3,!1),i=j(!1),o=j(!1),c=j("50%"),l=j("50%"),u=j(0),y=j(0),$;function A(k){let B=k.currentTarget.getBoundingClientRect(),K=(k.clientX-B.left)/B.width,X=(k.clientY-B.top)/B.height;T(c,K*100+"%"),T(l,X*100+"%"),T(y,(K*360+X*140)%360),T(u,(X*300-K*120+360)%360)}function v(k){if(!n())return;k.currentTarget.setPointerCapture?.(k.pointerId),A(k),clearTimeout($),T(o,!1),T(i,!0)}function m(k){if(s(i))A(k)}function p(){if(!s(i))return;T(i,!1),T(o,!0),clearTimeout($),$=setTimeout(()=>T(o,!1),250)}Le(()=>()=>clearTimeout($));let _=w(()=>Math.max(1,Math.round(a()))),h=w(()=>s(_)>=2?0.5:0),g=w(()=>bt(t.art??Ee(r()))),I=w(()=>Array.from({length:100},(k,B)=>{let K=Math.floor(B/10),X=B%10;return K>=1&&K<=8&&X>=1&&X<=8?s(g)[(K-1)*8+(X-1)]:0}));var z=oa();let F;var rt=q(z);ct(rt,17,()=>s(I),Be,(k,B)=>{var K=ra();let X;C(()=>X=Z(K,1,"px svelte-1pre9qb",null,X,{on:s(B)===1})),f(k,K)});var er=O(rt,2);{var rr=(k)=>{var B=aa();Fe(2),f(k,B)};H(er,(k)=>{if(n())k(rr)})}b(z),C(()=>{F=Z(z,1,"avatar svelte-1pre9qb",null,F,{interactive:n(),pressed:s(i),ghosting:s(o)}),Ct(z,"aria-label",t.name),Ct(z,"title",t.name),P(z,`width:${10*s(_)}px;height:${10*s(_)}px;--gap:${s(h)??""}px;--bx:${s(c)??""};--by:${s(l)??""};--spin:${s(u)??""}deg;--hue:${s(y)??""}deg`)}),$t("pointerdown",z,v),$t("pointermove",z,m),$t("pointerup",z,p),at("pointercancel",z,p),at("lostpointercapture",z,p),f(e,z),Q()}Qe(["pointerdown","pointermove","pointerup"]);var sa=new Set(["$$slots","$$events","$$legacy","variant","size","ghost","icon","iconSize","href","disabled","onclick","children"]),na=x("<a><!> <!></a>"),ia=x("<button><!> <!></button>");function ma(e,t){let r=d(t,"variant",3,"default"),a=d(t,"size",3,"md"),n=d(t,"ghost",3,!1),i=d(t,"disabled",3,!1),o=vt(t,sa),c=w(()=>t.icon),l=w(()=>t.iconSize??(a()==="lg"?18:a()==="sm"?13:15));var u=E(),y=R(u);{var $=(v)=>{var m=na();it(m,()=>({class:`btn ${r()??""} ${a()??""}`,href:i()?void 0:t.href,"aria-disabled":i()||void 0,tabindex:i()?-1:void 0,...o,[qt]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var p=q(m);{var _=(g)=>{var I=E(),z=R(I);U(z,()=>s(c),(F,rt)=>{rt(F,{get size(){return s(l)}})}),f(g,I)};H(p,(g)=>{if(s(c))g(_)})}var h=O(p,2);nt(h,()=>t.children??st),b(m),f(v,m)},A=(v)=>{var m=ia();it(m,()=>({class:`btn ${r()??""} ${a()??""}`,onclick:t.onclick,disabled:i(),...o,[qt]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var p=q(m);{var _=(g)=>{var I=E(),z=R(I);U(z,()=>s(c),(F,rt)=>{rt(F,{get size(){return s(l)}})}),f(g,I)};H(p,(g)=>{if(s(c))g(_)})}var h=O(p,2);nt(h,()=>t.children??st),b(m),f(v,m)};H(y,(v)=>{if(t.href)v($);else v(A,-1)})}f(e,u)}Oe();function Ht(e,t,r,a){var n,i,o=!1,c=r.length>=2,l=(m,p,_)=>{if(n=p,c)i=m;if(!o){let h=t(m,p,_);if(t.length<2)p(h);else return h}o=!1},u=kt(e,l,a),y=!Array.isArray(e);function $(m){var p=r(m,i);if(y)o=!0,e.set(p);else p.forEach((_,h)=>{o=!0,e[h].set(_)});o=!1}var A=!1;function v(m){var p,_,h,g;if(A){g=m(D(u)),n(g);return}var I=u.subscribe((z)=>{if(!A)h=z;else if(!p)p=!0;else _=!0});if(g=m(h),A=!0,n(g),I(),A=!1,_)g=D(u);if(p)$(g)}return{subscribe:u.subscribe,set(m){v(()=>m)},update:v}}var la=20,tt=mt([]),It=mt(null),ut=new Map,We=(e)=>{if(ut.has(e))return;let t=setTimeout(()=>{ut.delete(e),St(e)},1000);ut.set(e,t)},fa=(e)=>{let t=ut.get(e);if(t)clearTimeout(t)};function Rt(e){if(e.id)fa(e.id);tt.update((t)=>t.map((r)=>r.id===e.id?{...r,...e}:r))}function da(e){tt.update((t)=>[e,...t].slice(0,la))}function Ye(e){if(D(tt).find((t)=>t.id===e.id))Rt(e);else da(e)}function Ge(e){tt.update((t)=>{if(e)We(e);else t.forEach((r)=>{We(r.id)});return t.map((r)=>r.id===e||e===void 0?{...r,visible:!1}:r)})}function St(e){tt.update((t)=>{if(e===void 0)return[];return t.filter((r)=>r.id!==e)})}function Je(e){It.set(e)}function Ke(e){let t;It.update((r)=>{return t=e-(r||0),null}),tt.update((r)=>r.map((a)=>({...a,pauseDuration:a.pauseDuration+t})))}var $a={blank:4000,error:4000,success:2000,loading:1/0,custom:4000};function Pt(e={}){return{toasts:Ht(tt,(r)=>r.map((a)=>({...e,...e[a.type],...a,duration:a.duration||e[a.type]?.duration||e?.duration||$a[a.type],style:[e.style,e[a.type]?.style,a.style].join(";")})),(r)=>r),pausedAt:It}}var ca=(e)=>typeof e==="function",At=(e,t)=>ca(e)?e(t):e;var Xe=(()=>{let e=0;return()=>{return e+=1,e.toString()}})(),lt=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})();var va=(e,t="blank",r)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:r?.id||Xe()}),ft=(e)=>(t,r)=>{let a=va(t,e,r);return Ye(a),a.id},Y=(e,t)=>ft("blank")(e,t);Y.error=ft("error");Y.success=ft("success");Y.loading=ft("loading");Y.custom=ft("custom");Y.dismiss=(e)=>{Ge(e)};Y.remove=(e)=>St(e);Y.promise=(e,t,r)=>{let a=Y.loading(t.loading,{...r,...r?.loading});return e.then((n)=>{return Y.success(At(t.success,n),{id:a,...r,...r?.success}),n}).catch((n)=>{Y.error(At(t.error,n),{id:a,...r,...r?.error})}),e};var dt=Y;function ua(e,t,r){let{reverseOrder:a,gutter:n=8,defaultPosition:i}=r||{},o=t.filter((y)=>(y.position||i)===(e.position||i)&&y.height),c=o.findIndex((y)=>y.id===e.id),l=o.filter((y,$)=>$<c&&y.visible).length;return o.filter((y)=>y.visible).slice(...a?[l+1]:[0,l]).reduce((y,$)=>y+($.height||0)+n,0)}var Aa={startPause(){Je(Date.now())},endPause(){Ke(Date.now())},updateHeight:(e,t)=>{Rt({id:e,height:t})},calculateOffset:ua};function yt(e){let{toasts:t,pausedAt:r}=Pt(e),a=new Map,n,i=[r.subscribe((o)=>{if(o){for(let[,c]of a)clearTimeout(c);a.clear()}n=o}),t.subscribe((o)=>{if(n)return;let c=Date.now();for(let l of o){if(a.has(l.id))continue;if(l.duration===1/0)continue;let u=(l.duration||0)+l.pauseDuration-(c-l.createdAt);if(u<0){if(l.visible)dt.dismiss(l.id);return null}a.set(l.id,setTimeout(()=>dt.dismiss(l.id),u))}})];return Ze(()=>{for(let o of i)o()}),{toasts:t,handlers:Aa}}var ya=x('<div class="svelte-1did3zw"></div>');function _t(e,t){let r=d(t,"primary",8,"#61d345"),a=d(t,"secondary",8,"#fff");var n=ya();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var _a=x('<div class="svelte-1ro2ggf"></div>');function xt(e,t){let r=d(t,"primary",8,"#ff4b4b"),a=d(t,"secondary",8,"#fff");var n=_a();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var xa=x('<div class="svelte-tyythq"></div>');function gt(e,t){let r=d(t,"primary",8,"#616161"),a=d(t,"secondary",8,"#e0e0e0");var n=xa();let i;C(()=>i=P(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var ga=x('<div class="animated svelte-t33qv2"> </div>'),ha=x('<div class="status svelte-t33qv2"><!></div>'),Ta=x('<div class="indicator svelte-t33qv2"><!> <!></div>');function pt(e,t){L(t,!1);let r=S(),a=S(),n=S(),i=d(t,"toast",8);G(()=>(s(r),s(a),s(n),M(i())),()=>{(($)=>{T(r,$.type),T(a,$.icon),T(n,$.iconTheme)})(i())}),N();var o=E(),c=R(o);{var l=($)=>{var A=ga(),v=q(A,!0);b(A),C(()=>ht(v,s(a))),f($,A)},u=($)=>{var A=E(),v=R(A);U(v,()=>s(a),(m,p)=>{p(m,{})}),f($,A)},y=($)=>{var A=Ta(),v=q(A);gt(v,ot(()=>s(n)));var m=O(v,2);{var p=(_)=>{var h=ha(),g=q(h);{var I=(F)=>{xt(F,ot(()=>s(n)))},z=(F)=>{_t(F,ot(()=>s(n)))};H(g,(F)=>{if(s(r)==="error")F(I);else F(z,-1)})}b(h),f(_,h)};H(m,(_)=>{if(s(r)!=="loading")_(p)})}b(A),f($,A)};H(c,($)=>{if(typeof s(a)==="string")$(l);else if(typeof s(a)<"u")$(u,1);else if(s(r)!=="blank")$(y,2)})}f(e,o),Q()}var Ma=x("<div><!></div>");function et(e,t){L(t,!1);let r=d(t,"toast",8);V();var a=Ma();it(a,()=>({class:"message",...r().ariaProps}),void 0,void 0,void 0,"svelte-1gudbf6");var n=q(a);{var i=(c)=>{var l=Ue();C(()=>ht(l,(M(r()),J(()=>r().message)))),f(c,l)},o=(c)=>{var l=E(),u=R(l);U(u,()=>r().message,(y,$)=>{$(y,{get toast(){return r()}})}),f(c,l)};H(n,(c)=>{if(M(r()),J(()=>typeof r().message==="string"))c(i);else c(o,-1)})}b(a),f(e,a),Q()}var za=x("<!> <!>",1),ba=x("<div><!></div>");function Mt(e,t){L(t,!1);let r=d(t,"toast",8),a=d(t,"position",24,()=>{return}),n=d(t,"style",8,""),i=d(t,"Component",24,()=>{return}),o=S(),c=S();G(()=>(M(r()),M(a()),lt),()=>{let v=(r().position||a()||"top-center").includes("top");T(o,v?1:-1);let[m,p]=lt()?["fadeIn","fadeOut"]:["enter","exit"];T(c,r().visible?m:p)}),N(),V();var l=ba();let u;var y=q(l);{var $=(v)=>{var m=E(),p=R(m);U(p,i,(_,h)=>{h(_,{$$slots:{icon:(g,I)=>{pt(g,{get toast(){return r()},slot:"icon"})},message:(g,I)=>{et(g,{get toast(){return r()},slot:"message"})}}})}),f(v,m)},A=(v)=>{var m=E(),p=R(m);Tt(p,t,"default",{get ToastIcon(){return pt},get ToastMessage(){return et},get toast(){return r()}},(_)=>{var h=za(),g=R(h);pt(g,{get toast(){return r()}});var I=O(g,2);et(I,{get toast(){return r()}}),f(_,h)}),f(v,m)};H(y,(v)=>{if(i())v($);else v(A,-1)})}b(l),C(()=>{Z(l,1,`base ${(M(r()),s(c),J(()=>r().height?s(c):"transparent"))??""} ${(M(r()),J(()=>r().className||""))??""}`,"svelte-yae3e8"),u=P(l,`${n()??""}; ${(M(r()),J(()=>r().style))??""}`,u,{"--factor":s(o)})}),f(e,l),Q()}var Ca=x("<div><!></div>");function Et(e,t){L(t,!1);let r=S(),a=S(),n=S(),i=S(),o=d(t,"toast",8),c=d(t,"setHeight",8),l=S();Ne(()=>{c()(s(l).getBoundingClientRect().height)}),G(()=>M(o()),()=>{T(r,o().position?.includes("top")?0:null)}),G(()=>M(o()),()=>{T(a,o().position?.includes("bottom")?0:null)}),G(()=>M(o()),()=>{T(n,o().position?.includes("top")?1:-1)}),G(()=>M(o()),()=>{T(i,o().position?.includes("center")&&"center"||(o().position?.includes("right")||o().position?.includes("end"))&&"flex-end"||null)}),N(),V();var u=Ca();let y,$;var A=q(u);{var v=(p)=>{et(p,{get toast(){return o()}})},m=(p)=>{var _=E(),h=R(_);Tt(h,t,"default",{get toast(){return o()}},(g)=>{Mt(g,{get toast(){return o()},get position(){return M(o()),J(()=>o().position)}})}),f(p,_)};H(A,(p)=>{if(M(o()),J(()=>o().type==="custom"))p(v);else p(m,-1)})}b(u),we(u,(p)=>T(l,p),()=>s(l)),C((p)=>{y=Z(u,1,"wrapper svelte-1pz3gqy",null,y,p),$=P(u,"",$,{"--factor":s(n),"--offset":(M(o()),J(()=>o().offset)),top:s(r),bottom:s(a),"justify-content":s(i)})},[()=>({active:o().visible,transition:!lt()})]),f(e,u),Q()}var qa=x('<div role="alert"></div>');function De(e,t){L(t,!1);let r=()=>Ve($,"$toasts",a),[a,n]=je(),i=d(t,"reverseOrder",8,!1),o=d(t,"position",8,"top-center"),c=d(t,"toastOptions",24,()=>{return}),l=d(t,"gutter",8,8),u=d(t,"containerStyle",24,()=>{return}),y=d(t,"containerClassName",24,()=>{return}),{toasts:$,handlers:A}=yt(c()),v=S();G(()=>(r(),M(o()),M(i()),M(l())),()=>{T(v,r().map((p)=>({...p,position:p.position||o(),offset:A.calculateOffset(p,r(),{reverseOrder:i(),gutter:l(),defaultPosition:o()})})))}),N(),V();var m=qa();ct(m,5,()=>s(v),(p)=>p.id,(p,_)=>{Et(p,{get toast(){return s(_)},setHeight:(h)=>A.updateHeight(s(_).id,h)})}),b(m),C(()=>{Z(m,1,`toaster ${(y()||"")??""}`,"svelte-haq5xk"),P(m,u())}),at("mouseenter",m,function(...p){A.startPause?.apply(this,p)}),at("mouseleave",m,function(...p){A.endPause?.apply(this,p)}),f(e,m),Q(),n()}var cn=dt;var ka=new Set(["$$slots","$$events","$$legacy"]);function zt(e,t){let r=vt(t,ka),a=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}]];tr(e,ot({name:"house"},()=>r,{get iconNode(){return a}}))}var Ha=x('<header class="bar svelte-fcv4i8"><a class="home svelte-fcv4i8" href="/" title="All instances" aria-label="All instances"><!></a> <!></header>');function Ia(e,t){var r=Ha(),a=q(r),n=q(a);zt(n,{size:18}),b(a);var i=O(a,2);nt(i,()=>t.children??st),b(r),f(e,r)}
2
- export{Ro as o,So as p,Po as q,Eo as r,Pe as s,pa as t,ma as u,De as v,cn as w,Ia as x};