codebay 0.2.0 → 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.
Files changed (43) hide show
  1. package/.mochi/manifest.json +144 -140
  2. package/.mochi/svelte-client/HydratableIsland-wrq79y0w.js +1 -0
  3. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js +2 -0
  4. package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js +13 -0
  5. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js +1 -0
  6. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js +23 -0
  7. package/.mochi/svelte-client/chunk-04qv4w6w.js +2 -0
  8. package/.mochi/svelte-client/{chunk-x843txjc.js → chunk-0jtmkpx4.js} +2 -2
  9. package/.mochi/svelte-client/chunk-597d17x0.js +1 -0
  10. package/.mochi/svelte-client/chunk-5p31aqh0.js +2 -0
  11. package/.mochi/svelte-client/chunk-gjjhya9m.js +2 -0
  12. package/.mochi/svelte-client/{chunk-kgn1b2t1.js → chunk-qxwt25hn.js} +1 -1
  13. package/.mochi/svelte-compile/{App-8k1gyxdc.server.js → App-f0q5n4rk.server.js} +3 -2
  14. package/.mochi/svelte-compile/{Avatars-f7c6rp96.server.js → Avatars-p8gfef7x.server.js} +35 -54
  15. package/.mochi/svelte-compile/{Instance-yvps12zg.server.js → Instance-atjwsczx.server.js} +3 -2
  16. package/.mochi/svelte-compile/{Settings-jwg3httb.server.js → Settings-q88xw6h8.server.js} +9 -5
  17. package/.mochi/svelte-compile/{chunk-dqgstte4.js → chunk-btmcxhqy.js} +7 -1
  18. package/.mochi/svelte-css/SettingsView-1nfdwnm16cpp2.css +1 -0
  19. package/README.md +1 -0
  20. package/bin/codebay.ts +42 -1
  21. package/package.json +1 -1
  22. package/src/avatars/name-prompts.ts +30 -0
  23. package/src/components/AvatarEditor.svelte +3 -27
  24. package/src/components/AvatarsView.svelte +3 -1
  25. package/src/components/InstanceView.svelte +4 -2
  26. package/src/components/PortsBox.svelte +3 -2
  27. package/src/components/SettingsView.svelte +11 -1
  28. package/src/lib/config.server.ts +18 -0
  29. package/src/lib/devcontainer.server.ts +10 -2
  30. package/src/lib/links.ts +9 -0
  31. package/src/pages/Avatars.svelte +3 -1
  32. package/src/pages/Settings.svelte +4 -1
  33. package/src/routes.ts +9 -5
  34. package/.mochi/svelte-client/HydratableIsland-ps09gjy2.js +0 -1
  35. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-62w5zwww.js +0 -2
  36. package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-jmm501zf.js +0 -13
  37. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-ewk4n2c0.js +0 -1
  38. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-e7e89md0.js +0 -23
  39. package/.mochi/svelte-client/chunk-jx5cekhh.js +0 -2
  40. package/.mochi/svelte-client/chunk-k3my1snp.js +0 -2
  41. package/.mochi/svelte-client/chunk-ry7q5zk5.js +0 -1
  42. package/.mochi/svelte-client/chunk-zjcg8kw5.js +0 -2
  43. package/.mochi/svelte-css/SettingsView-3bbkzsvnrth3v.css +0 -1
@@ -1,99 +1,99 @@
1
1
  {
2
2
  "version": 2,
3
3
  "assetPrefix": "/_mochi",
4
- "bootstrapUrl": "/_mochi/client/HydratableIsland-ps09gjy2.js",
4
+ "bootstrapUrl": "/_mochi/client/HydratableIsland-wrq79y0w.js",
5
5
  "componentEntryUrls": {
6
- "AppShell_2rtnxn6pgp2rh": "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-62w5zwww.js",
7
- "InstanceView_2ma45l9bybfhl": "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-ewk4n2c0.js",
8
- "AvatarsView_257s9yq1wwr4f": "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-jmm501zf.js",
9
- "SettingsView_8hmarwmf8onq": "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-e7e89md0.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",
15
+ "src/components/SettingsView.svelte": "/_mochi/css/SettingsView-1nfdwnm16cpp2.css",
17
16
  "src/components/AvatarsView.svelte": "/_mochi/css/AvatarsView-3hq37u4dgtljn.css",
18
- "src/components/SettingsView.svelte": "/_mochi/css/SettingsView-3bbkzsvnrth3v.css",
19
- "src/components/IdeBar.svelte": "/_mochi/css/IdeBar-2qoqi2ya9zdn3.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",
20
23
  "node_modules/svelte-french-toast/dist/components/CheckmarkIcon.svelte": "/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css",
21
- "src/components/DashboardView.svelte": "/_mochi/css/DashboardView-1cy4xpqhja9sx.css",
22
- "src/components/IdeLoader.svelte": "/_mochi/css/IdeLoader-26rlko8e00j3g.css",
23
24
  "node_modules/svelte-french-toast/dist/components/ToastIcon.svelte": "/_mochi/css/ToastIcon-2z5wrkc95khg0.css",
24
- "src/components/HealthBox.svelte": "/_mochi/css/HealthBox-er2her0jukwl.css",
25
- "src/components/Skeleton.svelte": "/_mochi/css/Skeleton-8k69usiju43h.css",
26
- "node_modules/svelte-french-toast/dist/components/ToastBar.svelte": "/_mochi/css/ToastBar-3havgkmtofntq.css",
27
- "node_modules/svelte-french-toast/dist/components/ErrorIcon.svelte": "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css",
28
- "node_modules/svelte-french-toast/dist/components/LoaderIcon.svelte": "/_mochi/css/LoaderIcon-soq5wt3p05ye.css",
29
25
  "node_modules/svelte-french-toast/dist/components/Toaster.svelte": "/_mochi/css/Toaster-kk60j193854n.css",
30
- "src/components/StatusBadge.svelte": "/_mochi/css/StatusBadge-3mq0j7z6aq4j.css",
31
- "src/components/AppBar.svelte": "/_mochi/css/AppBar-3bxinv4pabv8l.css",
26
+ "node_modules/svelte-french-toast/dist/components/LoaderIcon.svelte": "/_mochi/css/LoaderIcon-soq5wt3p05ye.css",
32
27
  "src/components/AvatarEditor.svelte": "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css",
33
28
  "src/components/Avatar.svelte": "/_mochi/css/Avatar-24th63awm9mna.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",
38
- "node_modules/svelte-french-toast/dist/components/ToastMessage.svelte": "/_mochi/css/ToastMessage-2jfwb2og2lfa8.css",
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",
31
+ "src/components/Skeleton.svelte": "/_mochi/css/Skeleton-8k69usiju43h.css",
32
+ "src/components/HealthBox.svelte": "/_mochi/css/HealthBox-er2her0jukwl.css",
33
+ "src/components/StatusBadge.svelte": "/_mochi/css/StatusBadge-3mq0j7z6aq4j.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",
39
37
  "node_modules/svelte-french-toast/dist/components/ToastWrapper.svelte": "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css",
40
38
  "src/components/InstanceCard.svelte": "/_mochi/css/InstanceCard-16f77aysm7lgp.css",
41
39
  "src/components/FolderBrowser.svelte": "/_mochi/css/FolderBrowser-1x428zb3f2kti.css",
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/BranchBox.svelte": "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css",
44
- "src/components/SettingsCog.svelte": "/_mochi/css/SettingsCog-jftyadvo64qo.css",
45
44
  "src/components/CredMenu.svelte": "/_mochi/css/CredMenu-9hwgeptp7crb.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",
52
+ "/_mochi/css/SettingsView-1nfdwnm16cpp2.css": "svelte-css/SettingsView-1nfdwnm16cpp2.css",
54
53
  "/_mochi/css/AvatarsView-3hq37u4dgtljn.css": "svelte-css/AvatarsView-3hq37u4dgtljn.css",
55
- "/_mochi/css/SettingsView-3bbkzsvnrth3v.css": "svelte-css/SettingsView-3bbkzsvnrth3v.css",
56
- "/_mochi/css/IdeBar-2qoqi2ya9zdn3.css": "svelte-css/IdeBar-2qoqi2ya9zdn3.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",
57
60
  "/_mochi/css/CheckmarkIcon-3qlazj2oc50jc.css": "svelte-css/CheckmarkIcon-3qlazj2oc50jc.css",
58
- "/_mochi/css/DashboardView-1cy4xpqhja9sx.css": "svelte-css/DashboardView-1cy4xpqhja9sx.css",
59
- "/_mochi/css/IdeLoader-26rlko8e00j3g.css": "svelte-css/IdeLoader-26rlko8e00j3g.css",
60
61
  "/_mochi/css/ToastIcon-2z5wrkc95khg0.css": "svelte-css/ToastIcon-2z5wrkc95khg0.css",
61
- "/_mochi/css/HealthBox-er2her0jukwl.css": "svelte-css/HealthBox-er2her0jukwl.css",
62
- "/_mochi/css/Skeleton-8k69usiju43h.css": "svelte-css/Skeleton-8k69usiju43h.css",
63
- "/_mochi/css/ToastBar-3havgkmtofntq.css": "svelte-css/ToastBar-3havgkmtofntq.css",
64
- "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css": "svelte-css/ErrorIcon-2x0tzsqxskw28.css",
65
- "/_mochi/css/LoaderIcon-soq5wt3p05ye.css": "svelte-css/LoaderIcon-soq5wt3p05ye.css",
66
62
  "/_mochi/css/Toaster-kk60j193854n.css": "svelte-css/Toaster-kk60j193854n.css",
67
- "/_mochi/css/StatusBadge-3mq0j7z6aq4j.css": "svelte-css/StatusBadge-3mq0j7z6aq4j.css",
68
- "/_mochi/css/AppBar-3bxinv4pabv8l.css": "svelte-css/AppBar-3bxinv4pabv8l.css",
63
+ "/_mochi/css/LoaderIcon-soq5wt3p05ye.css": "svelte-css/LoaderIcon-soq5wt3p05ye.css",
69
64
  "/_mochi/css/AvatarEditor-1ryrs1md5g36y.css": "svelte-css/AvatarEditor-1ryrs1md5g36y.css",
70
65
  "/_mochi/css/Avatar-24th63awm9mna.css": "svelte-css/Avatar-24th63awm9mna.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",
75
- "/_mochi/css/ToastMessage-2jfwb2og2lfa8.css": "svelte-css/ToastMessage-2jfwb2og2lfa8.css",
66
+ "/_mochi/css/ToastBar-3havgkmtofntq.css": "svelte-css/ToastBar-3havgkmtofntq.css",
67
+ "/_mochi/css/ErrorIcon-2x0tzsqxskw28.css": "svelte-css/ErrorIcon-2x0tzsqxskw28.css",
68
+ "/_mochi/css/Skeleton-8k69usiju43h.css": "svelte-css/Skeleton-8k69usiju43h.css",
69
+ "/_mochi/css/HealthBox-er2her0jukwl.css": "svelte-css/HealthBox-er2her0jukwl.css",
70
+ "/_mochi/css/StatusBadge-3mq0j7z6aq4j.css": "svelte-css/StatusBadge-3mq0j7z6aq4j.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",
76
74
  "/_mochi/css/ToastWrapper-1fbnym10rm2nv.css": "svelte-css/ToastWrapper-1fbnym10rm2nv.css",
77
75
  "/_mochi/css/InstanceCard-16f77aysm7lgp.css": "svelte-css/InstanceCard-16f77aysm7lgp.css",
78
76
  "/_mochi/css/FolderBrowser-1x428zb3f2kti.css": "svelte-css/FolderBrowser-1x428zb3f2kti.css",
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/BranchBox-1yqu1q2mgnjwz.css": "svelte-css/BranchBox-1yqu1q2mgnjwz.css",
81
- "/_mochi/css/SettingsCog-jftyadvo64qo.css": "svelte-css/SettingsCog-jftyadvo64qo.css",
82
81
  "/_mochi/css/CredMenu-9hwgeptp7crb.css": "svelte-css/CredMenu-9hwgeptp7crb.css",
83
- "/_mochi/css/PortsBox-1t25b5yg7jva3.css": "svelte-css/PortsBox-1t25b5yg7jva3.css",
82
+ "/_mochi/css/SettingsCog-jftyadvo64qo.css": "svelte-css/SettingsCog-jftyadvo64qo.css",
83
+ "/_mochi/css/BranchBox-1yqu1q2mgnjwz.css": "svelte-css/BranchBox-1yqu1q2mgnjwz.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
- "/_mochi/client/HydratableIsland-ps09gjy2.js": "svelte-client/HydratableIsland-ps09gjy2.js",
87
- "/_mochi/client/chunk-k3my1snp.js": "svelte-client/chunk-k3my1snp.js",
88
- "/_mochi/client/chunk-x843txjc.js": "svelte-client/chunk-x843txjc.js",
89
- "/_mochi/client/chunk-ry7q5zk5.js": "svelte-client/chunk-ry7q5zk5.js",
90
- "/_mochi/client/chunk-jx5cekhh.js": "svelte-client/chunk-jx5cekhh.js",
91
- "/_mochi/client/chunk-zjcg8kw5.js": "svelte-client/chunk-zjcg8kw5.js",
92
- "/_mochi/client/chunk-kgn1b2t1.js": "svelte-client/chunk-kgn1b2t1.js",
93
- "/_mochi/client/_hydrate-AppShell_2rtnxn6pgp2rh-62w5zwww.js": "svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-62w5zwww.js",
94
- "/_mochi/client/_hydrate-InstanceView_2ma45l9bybfhl-ewk4n2c0.js": "svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-ewk4n2c0.js",
95
- "/_mochi/client/_hydrate-AvatarsView_257s9yq1wwr4f-jmm501zf.js": "svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-jmm501zf.js",
96
- "/_mochi/client/_hydrate-SettingsView_8hmarwmf8onq-e7e89md0.js": "svelte-client/_hydrate-SettingsView_8hmarwmf8onq-e7e89md0.js"
86
+ "/_mochi/client/HydratableIsland-wrq79y0w.js": "svelte-client/HydratableIsland-wrq79y0w.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
+ "/_mochi/client/chunk-04qv4w6w.js": "svelte-client/chunk-04qv4w6w.js",
92
+ "/_mochi/client/chunk-qxwt25hn.js": "svelte-client/chunk-qxwt25hn.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": {
@@ -112,7 +112,7 @@
112
112
  ]
113
113
  },
114
114
  "src/pages/App.svelte": {
115
- "ssrModule": "svelte-compile/App-8k1gyxdc.server.js",
115
+ "ssrModule": "svelte-compile/App-f0q5n4rk.server.js",
116
116
  "hydratables": [
117
117
  {
118
118
  "name": "AppShell_2rtnxn6pgp2rh",
@@ -149,7 +149,7 @@
149
149
  ]
150
150
  },
151
151
  "src/pages/Instance.svelte": {
152
- "ssrModule": "svelte-compile/Instance-yvps12zg.server.js",
152
+ "ssrModule": "svelte-compile/Instance-atjwsczx.server.js",
153
153
  "hydratables": [
154
154
  {
155
155
  "name": "InstanceView_2ma45l9bybfhl",
@@ -166,7 +166,7 @@
166
166
  ]
167
167
  },
168
168
  "src/pages/Avatars.svelte": {
169
- "ssrModule": "svelte-compile/Avatars-f7c6rp96.server.js",
169
+ "ssrModule": "svelte-compile/Avatars-p8gfef7x.server.js",
170
170
  "hydratables": [
171
171
  {
172
172
  "name": "AvatarsView_257s9yq1wwr4f",
@@ -192,7 +192,7 @@
192
192
  ]
193
193
  },
194
194
  "src/pages/Settings.svelte": {
195
- "ssrModule": "svelte-compile/Settings-jwg3httb.server.js",
195
+ "ssrModule": "svelte-compile/Settings-q88xw6h8.server.js",
196
196
  "hydratables": [
197
197
  {
198
198
  "name": "SettingsView_8hmarwmf8onq",
@@ -222,8 +222,8 @@
222
222
  "stats": {
223
223
  "outputs": [
224
224
  {
225
- "name": "chunk-kgn1b2t1.js",
226
- "size": 73334,
225
+ "name": "chunk-qxwt25hn.js",
226
+ "size": 73335,
227
227
  "inputs": [
228
228
  {
229
229
  "path": "node_modules/svelte/src/internal/client/reactivity/batch.js",
@@ -693,8 +693,8 @@
693
693
  "imports": []
694
694
  },
695
695
  {
696
- "name": "_hydrate-AppShell_2rtnxn6pgp2rh-62w5zwww.js",
697
- "size": 36675,
696
+ "name": "_hydrate-AppShell_2rtnxn6pgp2rh-faqf4hmc.js",
697
+ "size": 36664,
698
698
  "inputs": [
699
699
  {
700
700
  "path": "src/components/FolderBrowser.svelte",
@@ -746,7 +746,7 @@
746
746
  },
747
747
  {
748
748
  "path": "src/components/PortsBox.svelte",
749
- "size": 728
749
+ "size": 714
750
750
  },
751
751
  {
752
752
  "path": "node_modules/@lucide/svelte/dist/icons/component.svelte",
@@ -870,21 +870,21 @@
870
870
  }
871
871
  ],
872
872
  "imports": [
873
- "chunk-k3my1snp.js",
874
- "chunk-x843txjc.js",
875
- "chunk-ry7q5zk5.js",
876
- "chunk-jx5cekhh.js",
877
- "chunk-zjcg8kw5.js",
878
- "chunk-kgn1b2t1.js"
873
+ "chunk-0jtmkpx4.js",
874
+ "chunk-gjjhya9m.js",
875
+ "chunk-5p31aqh0.js",
876
+ "chunk-597d17x0.js",
877
+ "chunk-04qv4w6w.js",
878
+ "chunk-qxwt25hn.js"
879
879
  ]
880
880
  },
881
881
  {
882
- "name": "_hydrate-SettingsView_8hmarwmf8onq-e7e89md0.js",
883
- "size": 35372,
882
+ "name": "_hydrate-SettingsView_8hmarwmf8onq-jsw4edxb.js",
883
+ "size": 35485,
884
884
  "inputs": [
885
885
  {
886
886
  "path": "src/components/SettingsView.svelte",
887
- "size": 28353
887
+ "size": 28461
888
888
  },
889
889
  {
890
890
  "path": "src/components/ThemePicker.svelte",
@@ -1016,20 +1016,20 @@
1016
1016
  }
1017
1017
  ],
1018
1018
  "imports": [
1019
- "chunk-x843txjc.js",
1020
- "chunk-ry7q5zk5.js",
1021
- "chunk-jx5cekhh.js",
1022
- "chunk-zjcg8kw5.js",
1023
- "chunk-kgn1b2t1.js"
1019
+ "chunk-0jtmkpx4.js",
1020
+ "chunk-gjjhya9m.js",
1021
+ "chunk-597d17x0.js",
1022
+ "chunk-04qv4w6w.js",
1023
+ "chunk-qxwt25hn.js"
1024
1024
  ]
1025
1025
  },
1026
1026
  {
1027
- "name": "chunk-jx5cekhh.js",
1028
- "size": 19224,
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,26 +1324,26 @@
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
  ],
1335
1335
  "imports": [
1336
- "chunk-zjcg8kw5.js",
1337
- "chunk-kgn1b2t1.js"
1336
+ "chunk-04qv4w6w.js",
1337
+ "chunk-qxwt25hn.js"
1338
1338
  ]
1339
1339
  },
1340
1340
  {
1341
- "name": "_hydrate-InstanceView_2ma45l9bybfhl-ewk4n2c0.js",
1342
- "size": 10089,
1341
+ "name": "_hydrate-InstanceView_2ma45l9bybfhl-5g8meb6a.js",
1342
+ "size": 10116,
1343
1343
  "inputs": [
1344
1344
  {
1345
1345
  "path": "src/components/InstanceView.svelte",
1346
- "size": 6652
1346
+ "size": 6671
1347
1347
  },
1348
1348
  {
1349
1349
  "path": "src/components/HealthBox.svelte",
@@ -1383,23 +1383,23 @@
1383
1383
  }
1384
1384
  ],
1385
1385
  "imports": [
1386
- "chunk-k3my1snp.js",
1387
- "chunk-ry7q5zk5.js",
1388
- "chunk-zjcg8kw5.js",
1389
- "chunk-kgn1b2t1.js"
1386
+ "chunk-5p31aqh0.js",
1387
+ "chunk-597d17x0.js",
1388
+ "chunk-04qv4w6w.js",
1389
+ "chunk-qxwt25hn.js"
1390
1390
  ]
1391
1391
  },
1392
1392
  {
1393
- "name": "_hydrate-AvatarsView_257s9yq1wwr4f-jmm501zf.js",
1394
- "size": 7498,
1393
+ "name": "_hydrate-AvatarsView_257s9yq1wwr4f-3w16y9jh.js",
1394
+ "size": 7284,
1395
1395
  "inputs": [
1396
1396
  {
1397
1397
  "path": "src/components/AvatarEditor.svelte",
1398
- "size": 3906
1398
+ "size": 3658
1399
1399
  },
1400
1400
  {
1401
1401
  "path": "src/components/AvatarsView.svelte",
1402
- "size": 1138
1402
+ "size": 1181
1403
1403
  },
1404
1404
  {
1405
1405
  "path": "src/avatars/serialize.ts",
@@ -1443,14 +1443,43 @@
1443
1443
  }
1444
1444
  ],
1445
1445
  "imports": [
1446
- "chunk-jx5cekhh.js",
1447
- "chunk-zjcg8kw5.js",
1448
- "chunk-kgn1b2t1.js"
1446
+ "chunk-gjjhya9m.js",
1447
+ "chunk-04qv4w6w.js",
1448
+ "chunk-qxwt25hn.js"
1449
1449
  ]
1450
1450
  },
1451
1451
  {
1452
- "name": "chunk-zjcg8kw5.js",
1453
- "size": 1395,
1452
+ "name": "chunk-5p31aqh0.js",
1453
+ "size": 1447,
1454
+ "inputs": [
1455
+ {
1456
+ "path": "src/api.ts",
1457
+ "size": 456
1458
+ },
1459
+ {
1460
+ "path": "src/live.ts",
1461
+ "size": 404
1462
+ },
1463
+ {
1464
+ "path": "src/components/StatusBadge.svelte",
1465
+ "size": 229
1466
+ },
1467
+ {
1468
+ "path": "src/types.ts",
1469
+ "size": 132
1470
+ },
1471
+ {
1472
+ "path": "src/lib/links.ts",
1473
+ "size": 92
1474
+ }
1475
+ ],
1476
+ "imports": [
1477
+ "chunk-qxwt25hn.js"
1478
+ ]
1479
+ },
1480
+ {
1481
+ "name": "chunk-04qv4w6w.js",
1482
+ "size": 1400,
1454
1483
  "inputs": [
1455
1484
  {
1456
1485
  "path": "node_modules/@lucide/svelte/dist/Icon.svelte",
@@ -1474,12 +1503,12 @@
1474
1503
  }
1475
1504
  ],
1476
1505
  "imports": [
1477
- "chunk-kgn1b2t1.js"
1506
+ "chunk-qxwt25hn.js"
1478
1507
  ]
1479
1508
  },
1480
1509
  {
1481
- "name": "chunk-x843txjc.js",
1482
- "size": 1387,
1510
+ "name": "chunk-0jtmkpx4.js",
1511
+ "size": 1392,
1483
1512
  "inputs": [
1484
1513
  {
1485
1514
  "path": "src/sound.ts",
@@ -1499,37 +1528,12 @@
1499
1528
  }
1500
1529
  ],
1501
1530
  "imports": [
1502
- "chunk-zjcg8kw5.js",
1503
- "chunk-kgn1b2t1.js"
1504
- ]
1505
- },
1506
- {
1507
- "name": "chunk-k3my1snp.js",
1508
- "size": 1348,
1509
- "inputs": [
1510
- {
1511
- "path": "src/api.ts",
1512
- "size": 456
1513
- },
1514
- {
1515
- "path": "src/live.ts",
1516
- "size": 404
1517
- },
1518
- {
1519
- "path": "src/components/StatusBadge.svelte",
1520
- "size": 229
1521
- },
1522
- {
1523
- "path": "src/types.ts",
1524
- "size": 132
1525
- }
1526
- ],
1527
- "imports": [
1528
- "chunk-kgn1b2t1.js"
1531
+ "chunk-04qv4w6w.js",
1532
+ "chunk-qxwt25hn.js"
1529
1533
  ]
1530
1534
  },
1531
1535
  {
1532
- "name": "chunk-ry7q5zk5.js",
1536
+ "name": "chunk-597d17x0.js",
1533
1537
  "size": 253,
1534
1538
  "inputs": [
1535
1539
  {
@@ -1542,16 +1546,16 @@
1542
1546
  }
1543
1547
  ],
1544
1548
  "imports": [
1545
- "chunk-zjcg8kw5.js",
1546
- "chunk-kgn1b2t1.js"
1549
+ "chunk-04qv4w6w.js",
1550
+ "chunk-qxwt25hn.js"
1547
1551
  ]
1548
1552
  },
1549
1553
  {
1550
- "name": "HydratableIsland-ps09gjy2.js",
1554
+ "name": "HydratableIsland-wrq79y0w.js",
1551
1555
  "size": 54,
1552
1556
  "inputs": [],
1553
1557
  "imports": [
1554
- "chunk-kgn1b2t1.js"
1558
+ "chunk-qxwt25hn.js"
1555
1559
  ]
1556
1560
  },
1557
1561
  {
@@ -0,0 +1 @@
1
+ import{Ua as a}from"/_mochi/client/chunk-qxwt25hn.js";export{a as registerComponent};
@@ -0,0 +1,2 @@
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);