codebay 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mochi/import-css/xterm-1yy1hf1g.css +252 -0
- package/.mochi/manifest.json +325 -206
- package/.mochi/svelte-client/HydratableIsland-k6q8esj4.js +1 -0
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-sg96rp17.js +2 -0
- package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-92hepzby.js +14 -0
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-p3f649gk.js +1 -0
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-dzmgmv78.js +29 -0
- package/.mochi/svelte-client/chunk-2j95sv83.js +1 -0
- package/.mochi/svelte-client/chunk-6rbs0mhx.js +1 -0
- package/.mochi/svelte-client/chunk-7wkvn2vx.js +2 -0
- package/.mochi/svelte-client/chunk-a2psjmrm.js +2 -0
- package/.mochi/svelte-client/chunk-m497q88s.js +2 -0
- package/.mochi/svelte-client/{chunk-fqg2qzj8.js → chunk-m4fzsd5b.js} +1 -1
- package/.mochi/svelte-client/chunk-mpv3qx28.js +36 -0
- package/.mochi/svelte-client/chunk-rs41by6w.js +2 -0
- package/.mochi/svelte-client/{chunk-qj7zy2d9.js → chunk-v65n8th6.js} +4 -4
- package/.mochi/svelte-compile/{App-6rcf0d74.server.js → App-7vjcp38v.server.js} +368 -37
- package/.mochi/svelte-compile/{Avatars-pzyz0tv3.server.js → Avatars-e2cfc95t.server.js} +130 -25
- package/.mochi/svelte-compile/{ClientStats-z3tn9ad6.server.js → ClientStats-4cphmrnp.server.js} +1 -1
- package/.mochi/svelte-compile/{DefaultError-wh77vebf.server.js → DefaultError-je52k17d.server.js} +1 -1
- package/.mochi/svelte-compile/{Instance-49ksrp11.server.js → Instance-h78n2dsv.server.js} +16 -13
- package/.mochi/svelte-compile/{Settings-sz5d6qj7.server.js → Settings-tav2asn7.server.js} +153 -127
- package/.mochi/svelte-compile/{chunk-fpe16ywq.js → chunk-60mpagr9.js} +17 -7
- package/.mochi/svelte-compile/chunk-9nqc2r0y.js +9706 -0
- package/.mochi/svelte-compile/{chunk-6ghzacpg.js → chunk-bpqwf1nw.js} +36 -4
- package/.mochi/svelte-compile/chunk-jx6h1xzp.js +20 -0
- package/.mochi/svelte-compile/{chunk-q8rbesaw.js → chunk-m8ygpyhr.js} +5 -4
- package/.mochi/svelte-compile/chunk-rtdne1m8.js +31 -0
- package/.mochi/svelte-compile/{chunk-we0ggtws.js → chunk-xpt1a7jm.js} +2 -1
- package/.mochi/svelte-css/AvatarEditor-2mdq8ss346drw.css +1 -0
- package/.mochi/svelte-css/{AvatarsView-2ughbzc26luyb.css → AvatarsView-2llo48w0wt0xn.css} +1 -1
- package/.mochi/svelte-css/FolderBrowser-2pxp9z1o7zixk.css +1 -0
- package/.mochi/svelte-css/{IdeBar-2qoqi2ya9zdn3.css → IdeBar-10xodudcx57qr.css} +1 -1
- package/.mochi/svelte-css/{SettingsView-3uycxa8z548m4.css → SettingsView-2qfauz68axro1.css} +1 -1
- package/.mochi/svelte-css/TerminalPane-3bwgk6ulzq6b3.css +1 -0
- package/.mochi/svelte-css/TerminalSplit-2416xfuln89a3.css +1 -0
- package/migrations/0005_instance_mode.sql +1 -0
- package/migrations/0006_terminal_split.sql +1 -0
- package/package.json +3 -1
- package/src/avatars/serialize.ts +35 -6
- package/src/components/AppShell.svelte +46 -8
- package/src/components/Avatar.svelte +3 -2
- package/src/components/AvatarEditor.svelte +96 -19
- package/src/components/AvatarsView.svelte +0 -0
- package/src/components/DashboardView.svelte +22 -7
- package/src/components/FolderBrowser.svelte +88 -8
- package/src/components/HealthBox.svelte +12 -5
- package/src/components/IdeBar.svelte +10 -0
- package/src/components/InstanceCard.svelte +3 -1
- package/src/components/InstanceView.svelte +1 -0
- package/src/components/SettingsView.svelte +108 -0
- package/src/components/TerminalPane.svelte +274 -0
- package/src/components/TerminalSplit.svelte +154 -0
- package/src/container-injections/claude-code-ide-extension.ts +2 -0
- package/src/container-injections/claude-code-install.ts +67 -0
- package/src/container-injections/ttyd.ts +49 -0
- package/src/lib/config.server.ts +3 -0
- package/src/lib/db.server.ts +14 -4
- package/src/lib/devcontainer.server.ts +185 -23
- package/src/lib/health.server.ts +1 -1
- package/src/lib/injections.server.ts +18 -5
- package/src/lib/instances.server.ts +68 -10
- package/src/lib/proxy.server.ts +26 -5
- package/src/pages/App.svelte +5 -3
- package/src/pages/Settings.svelte +4 -0
- package/src/routes.ts +55 -6
- package/src/types.ts +18 -0
- package/.mochi/svelte-client/HydratableIsland-qyjx1d98.js +0 -1
- package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-fkna7bj2.js +0 -2
- package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-89wtkb86.js +0 -13
- package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-eamnbyqk.js +0 -1
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-kdra4mcb.js +0 -28
- package/.mochi/svelte-client/chunk-330mrspw.js +0 -2
- package/.mochi/svelte-client/chunk-4jgkak13.js +0 -1
- package/.mochi/svelte-client/chunk-k5m4kt20.js +0 -2
- package/.mochi/svelte-client/chunk-rpdphch7.js +0 -2
- package/.mochi/svelte-compile/chunk-bacb4b0r.js +0 -14
- package/.mochi/svelte-css/AvatarEditor-2ewwtejaml4e2.css +0 -1
- package/.mochi/svelte-css/FolderBrowser-1x428zb3f2kti.css +0 -1
- /package/.mochi/svelte-compile/{chunk-btmcxhqy.js → chunk-brjv9pyd.js} +0 -0
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
Rotate_ccw
|
|
4
|
+
} from "./chunk-jx6h1xzp.js";
|
|
2
5
|
import {
|
|
3
6
|
AppBar,
|
|
4
7
|
Avatar,
|
|
@@ -10,22 +13,24 @@ import {
|
|
|
10
13
|
ROWS,
|
|
11
14
|
Toaster,
|
|
12
15
|
avatars,
|
|
16
|
+
decode,
|
|
13
17
|
dist_default
|
|
14
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-m8ygpyhr.js";
|
|
15
19
|
import {
|
|
16
20
|
HydratableBoundary,
|
|
17
21
|
Icon,
|
|
22
|
+
X,
|
|
18
23
|
emitIslandProps
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import"./chunk-
|
|
24
|
+
} from "./chunk-60mpagr9.js";
|
|
25
|
+
import"./chunk-xpt1a7jm.js";
|
|
21
26
|
|
|
22
27
|
// src/pages/Avatars.svelte
|
|
23
28
|
import"svelte/internal/flags/async";
|
|
24
|
-
import * as $
|
|
29
|
+
import * as $9 from "svelte/internal/server";
|
|
25
30
|
|
|
26
31
|
// src/components/AvatarsView.svelte
|
|
27
32
|
import"svelte/internal/flags/async";
|
|
28
|
-
import * as $
|
|
33
|
+
import * as $8 from "svelte/internal/server";
|
|
29
34
|
|
|
30
35
|
// src/components/AvatarEditor.svelte
|
|
31
36
|
import"svelte/internal/flags/async";
|
|
@@ -138,9 +143,14 @@ ${rows}
|
|
|
138
143
|
export default art;
|
|
139
144
|
`;
|
|
140
145
|
}
|
|
141
|
-
function toIssueUrl(art) {
|
|
142
|
-
const
|
|
143
|
-
const
|
|
146
|
+
function toIssueUrl(art, mode = "create") {
|
|
147
|
+
const body = mode === "edit" ? editIssueBody(art) : createIssueBody(art);
|
|
148
|
+
const title = mode === "edit" ? `Avatar edit: ${art.name}` : `Avatar contribution: ${art.name}`;
|
|
149
|
+
const params = new URLSearchParams({ title, body });
|
|
150
|
+
return `${REPO_URL}/issues/new?${params}`;
|
|
151
|
+
}
|
|
152
|
+
function createIssueBody(art) {
|
|
153
|
+
return [
|
|
144
154
|
"Hi! I drew this avatar in the editor easter egg and I'd love to see it in the official set.",
|
|
145
155
|
"",
|
|
146
156
|
"```",
|
|
@@ -156,17 +166,34 @@ function toIssueUrl(art) {
|
|
|
156
166
|
"_It should satisfy `src/avatars/avatars.test.ts`: exactly 8\xD78, only `#`/`+`/`.` pixels, unique name._"
|
|
157
167
|
].join(`
|
|
158
168
|
`);
|
|
159
|
-
|
|
160
|
-
|
|
169
|
+
}
|
|
170
|
+
function editIssueBody(art) {
|
|
171
|
+
return [
|
|
172
|
+
`Hi! I redrew the existing \`${art.name}\` sprite by hand in the editor easter egg \u2014 it started as an AI-generated placeholder and this replaces it.`,
|
|
173
|
+
"",
|
|
174
|
+
"```",
|
|
175
|
+
...art.pixels,
|
|
176
|
+
"```",
|
|
177
|
+
"",
|
|
178
|
+
`Ready-to-paste replacement for \`src/avatars/${art.name}.ts\` (the \`robot\` flag is intentionally dropped \u2014 it's hand-drawn now):`,
|
|
179
|
+
"",
|
|
180
|
+
"```ts",
|
|
181
|
+
toModuleSource(art).trimEnd(),
|
|
182
|
+
"```",
|
|
183
|
+
"",
|
|
184
|
+
"_It should satisfy `src/avatars/avatars.test.ts`: exactly 8\xD78, only `#`/`+`/`.` pixels._"
|
|
185
|
+
].join(`
|
|
186
|
+
`);
|
|
161
187
|
}
|
|
162
188
|
|
|
163
189
|
// src/components/AvatarEditor.svelte
|
|
164
190
|
function AvatarEditor($$renderer, $$props) {
|
|
165
191
|
$$renderer.component(($$renderer2) => {
|
|
166
|
-
let { namePlaceholder } = $$props;
|
|
167
|
-
|
|
168
|
-
let
|
|
169
|
-
|
|
192
|
+
let { namePlaceholder, editing = null, oncancelEdit } = $$props;
|
|
193
|
+
const isEdit = $5.derived(() => editing != null);
|
|
194
|
+
let cells = editing ? decode(editing) : Array(ROWS * COLS).fill(OFF);
|
|
195
|
+
let avatarName = editing?.name ?? "";
|
|
196
|
+
const slug = $5.derived(() => editing ? editing.name : normalizeName(avatarName));
|
|
170
197
|
const art = $5.derived(() => ({ name: slug() || "my-avatar", pixels: cellsToPixels(cells) }));
|
|
171
198
|
const canContribute = $5.derived(() => slug().length > 0 && cells.some((c) => c !== OFF));
|
|
172
199
|
let mode = "cycle";
|
|
@@ -216,6 +243,10 @@ function AvatarEditor($$renderer, $$props) {
|
|
|
216
243
|
function clear() {
|
|
217
244
|
cells = Array(ROWS * COLS).fill(OFF);
|
|
218
245
|
}
|
|
246
|
+
function reset() {
|
|
247
|
+
if (editing)
|
|
248
|
+
cells = decode(editing);
|
|
249
|
+
}
|
|
219
250
|
function invert() {
|
|
220
251
|
cells = cells.map((c) => c === ON ? OFF : c === OFF ? ON : c);
|
|
221
252
|
}
|
|
@@ -227,7 +258,16 @@ function AvatarEditor($$renderer, $$props) {
|
|
|
227
258
|
dist_default.error(`Copy failed: ${err.message}`);
|
|
228
259
|
}
|
|
229
260
|
}
|
|
230
|
-
$$renderer2.push(`<section class="editor svelte-qu6vp4"><div class="head svelte-qu6vp4"><h2 class="svelte-qu6vp4"
|
|
261
|
+
$$renderer2.push(`<section class="editor svelte-qu6vp4"><div class="head svelte-qu6vp4"><h2 class="svelte-qu6vp4">${$5.escape(isEdit() ? `Redraw \u201C${editing.name}\u201D` : "Draw your own avatar")}</h2> `);
|
|
262
|
+
if (isEdit()) {
|
|
263
|
+
$$renderer2.push("<!--[0-->");
|
|
264
|
+
$$renderer2.push(`<button type="button" class="head-cancel svelte-qu6vp4">`);
|
|
265
|
+
X($$renderer2, { size: 14 });
|
|
266
|
+
$$renderer2.push(`<!----> <span>New drawing</span></button>`);
|
|
267
|
+
} else {
|
|
268
|
+
$$renderer2.push("<!--[-1-->");
|
|
269
|
+
}
|
|
270
|
+
$$renderer2.push(`<!--]--></div> <div class="body svelte-qu6vp4"><div class="grid-frame svelte-qu6vp4"><!--[-->`);
|
|
231
271
|
const each_array = $5.ensure_array_like(RING_CELLS);
|
|
232
272
|
for (let i = 0, $$length = each_array.length;i < $$length; i++) {
|
|
233
273
|
let { r, c } = each_array[i];
|
|
@@ -243,13 +283,45 @@ function AvatarEditor($$renderer, $$props) {
|
|
|
243
283
|
Avatar($$renderer2, { art: art(), name: art().name, scale: 6 });
|
|
244
284
|
$$renderer2.push(`<!----> `);
|
|
245
285
|
Avatar($$renderer2, { art: art(), name: art().name, scale: 3 });
|
|
246
|
-
$$renderer2.push(`<!----></div></div>
|
|
286
|
+
$$renderer2.push(`<!----></div></div> `);
|
|
287
|
+
if (isEdit()) {
|
|
288
|
+
$$renderer2.push("<!--[0-->");
|
|
289
|
+
$$renderer2.push(`<div class="preview before"><div class="preview-label svelte-qu6vp4">Before</div> <div class="preview-row svelte-qu6vp4">`);
|
|
290
|
+
Avatar($$renderer2, { art: editing, name: editing.name, scale: 3 });
|
|
291
|
+
$$renderer2.push(`<!----></div></div>`);
|
|
292
|
+
} else {
|
|
293
|
+
$$renderer2.push("<!--[-1-->");
|
|
294
|
+
}
|
|
295
|
+
$$renderer2.push(`<!--]--> <label class="name-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Name</span> `);
|
|
296
|
+
if (isEdit()) {
|
|
297
|
+
$$renderer2.push("<!--[0-->");
|
|
298
|
+
$$renderer2.push(`<input type="text"${$5.attr("value", editing.name)} readonly="" aria-readonly="true" class="svelte-qu6vp4"/>`);
|
|
299
|
+
} else {
|
|
300
|
+
$$renderer2.push("<!--[-1-->");
|
|
301
|
+
$$renderer2.push(`<input type="text"${$5.attr("value", avatarName)}${$5.attr("placeholder", namePlaceholder)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" maxlength="24" class="svelte-qu6vp4"/>`);
|
|
302
|
+
}
|
|
303
|
+
$$renderer2.push(`<!--]--></label> <div class="mode-field svelte-qu6vp4"><span class="preview-label svelte-qu6vp4">Mode</span> <div class="modes svelte-qu6vp4" role="radiogroup" aria-label="Drawing mode"><!--[-->`);
|
|
247
304
|
const each_array_2 = $5.ensure_array_like(MODES);
|
|
248
305
|
for (let i = 0, $$length = each_array_2.length;i < $$length; i++) {
|
|
249
306
|
let m = each_array_2[i];
|
|
250
307
|
$$renderer2.push(`<button type="button"${$5.attr_class("mode svelte-qu6vp4", undefined, { active: mode === m.id })} role="radio"${$5.attr("aria-checked", mode === m.id)}${$5.attr("tabindex", mode === m.id ? 0 : -1)}>${$5.escape(m.label)}</button>`);
|
|
251
308
|
}
|
|
252
309
|
$$renderer2.push(`<!--]--></div></div> <div class="tools svelte-qu6vp4">`);
|
|
310
|
+
if (isEdit()) {
|
|
311
|
+
$$renderer2.push("<!--[0-->");
|
|
312
|
+
Button($$renderer2, {
|
|
313
|
+
size: "sm",
|
|
314
|
+
icon: Rotate_ccw,
|
|
315
|
+
onclick: reset,
|
|
316
|
+
children: ($$renderer3) => {
|
|
317
|
+
$$renderer3.push(`<!---->Reset`);
|
|
318
|
+
},
|
|
319
|
+
$$slots: { default: true }
|
|
320
|
+
});
|
|
321
|
+
} else {
|
|
322
|
+
$$renderer2.push("<!--[-1-->");
|
|
323
|
+
}
|
|
324
|
+
$$renderer2.push(`<!--]--> `);
|
|
253
325
|
Button($$renderer2, {
|
|
254
326
|
size: "sm",
|
|
255
327
|
icon: Eraser,
|
|
@@ -269,7 +341,7 @@ function AvatarEditor($$renderer, $$props) {
|
|
|
269
341
|
},
|
|
270
342
|
$$slots: { default: true }
|
|
271
343
|
});
|
|
272
|
-
$$renderer2.push(`<!----></div></div></div> <div class="foot svelte-qu6vp4"><span class="hint svelte-qu6vp4"
|
|
344
|
+
$$renderer2.push(`<!----></div></div></div> <div class="foot svelte-qu6vp4"><span class="hint svelte-qu6vp4">${$5.escape(isEdit() ? "Redraw it, then open an issue to replace the AI-generated original." : "Draw something, then open an issue to get it into the official set.")}</span> <div class="actions svelte-qu6vp4">`);
|
|
273
345
|
Button($$renderer2, {
|
|
274
346
|
size: "sm",
|
|
275
347
|
icon: Copy,
|
|
@@ -286,7 +358,7 @@ function AvatarEditor($$renderer, $$props) {
|
|
|
286
358
|
variant: "primary",
|
|
287
359
|
icon: External_link,
|
|
288
360
|
disabled: !canContribute(),
|
|
289
|
-
href: toIssueUrl(art()),
|
|
361
|
+
href: toIssueUrl(art(), isEdit() ? "edit" : "create"),
|
|
290
362
|
target: "_blank",
|
|
291
363
|
rel: "noopener",
|
|
292
364
|
children: ($$renderer3) => {
|
|
@@ -316,10 +388,32 @@ function Bot($$renderer, $$props) {
|
|
|
316
388
|
];
|
|
317
389
|
Icon($$renderer, $6.spread_props([{ name: "bot" }, props, { iconNode }]));
|
|
318
390
|
}
|
|
391
|
+
// node_modules/@lucide/svelte/dist/icons/pencil.svelte
|
|
392
|
+
import"svelte/internal/flags/async";
|
|
393
|
+
import * as $7 from "svelte/internal/server";
|
|
394
|
+
function Pencil($$renderer, $$props) {
|
|
395
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
396
|
+
const iconNode = [
|
|
397
|
+
[
|
|
398
|
+
"path",
|
|
399
|
+
{
|
|
400
|
+
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
["path", { d: "m15 5 4 4" }]
|
|
404
|
+
];
|
|
405
|
+
Icon($$renderer, $7.spread_props([{ name: "pencil" }, props, { iconNode }]));
|
|
406
|
+
}
|
|
319
407
|
// src/components/AvatarsView.svelte
|
|
320
408
|
function AvatarsView($$renderer, $$props) {
|
|
321
409
|
$$renderer.component(($$renderer2) => {
|
|
322
410
|
let { namePlaceholder } = $$props;
|
|
411
|
+
let editing = null;
|
|
412
|
+
let editorEl = null;
|
|
413
|
+
function startEdit(art) {
|
|
414
|
+
editing = art;
|
|
415
|
+
editorEl?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
416
|
+
}
|
|
323
417
|
$$renderer2.push(`<div class="page svelte-fkq7sr">`);
|
|
324
418
|
AppBar($$renderer2, {
|
|
325
419
|
children: ($$renderer3) => {
|
|
@@ -327,10 +421,12 @@ function AvatarsView($$renderer, $$props) {
|
|
|
327
421
|
},
|
|
328
422
|
$$slots: { default: true }
|
|
329
423
|
});
|
|
330
|
-
$$renderer2.push(`<!----> <main class="content svelte-fkq7sr"
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
424
|
+
$$renderer2.push(`<!----> <main class="content svelte-fkq7sr"><div class="editor-slot svelte-fkq7sr"><!---->`);
|
|
425
|
+
{
|
|
426
|
+
AvatarEditor($$renderer2, { namePlaceholder, editing, oncancelEdit: () => editing = null });
|
|
427
|
+
}
|
|
428
|
+
$$renderer2.push(`<!----></div> <section class="catalog svelte-fkq7sr"><header class="svelte-fkq7sr"><h2 class="svelte-fkq7sr">The set</h2> <p class="svelte-fkq7sr">${$8.escape(avatars.length)} hand-crafted 8\xD78 sprites</p></header> <ul class="svelte-fkq7sr"><!--[-->`);
|
|
429
|
+
const each_array = $8.ensure_array_like(avatars);
|
|
334
430
|
for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
|
|
335
431
|
let art = each_array[$$index];
|
|
336
432
|
$$renderer2.push(`<li class="svelte-fkq7sr">`);
|
|
@@ -344,7 +440,16 @@ function AvatarsView($$renderer, $$props) {
|
|
|
344
440
|
} else {
|
|
345
441
|
$$renderer2.push("<!--[-1-->");
|
|
346
442
|
}
|
|
347
|
-
$$renderer2.push(`<!--]--> ${$
|
|
443
|
+
$$renderer2.push(`<!--]--> ${$8.escape(art.name)}</span> `);
|
|
444
|
+
if (art.robot) {
|
|
445
|
+
$$renderer2.push("<!--[0-->");
|
|
446
|
+
$$renderer2.push(`<button type="button"${$8.attr_class("edit-btn svelte-fkq7sr", undefined, { active: editing?.name === art.name })}${$8.attr("disabled", editing?.name === art.name, true)}>`);
|
|
447
|
+
Pencil($$renderer2, { size: 11 });
|
|
448
|
+
$$renderer2.push(`<!----> <span>${$8.escape(editing?.name === art.name ? "Editing" : "Redraw")}</span></button>`);
|
|
449
|
+
} else {
|
|
450
|
+
$$renderer2.push("<!--[-1-->");
|
|
451
|
+
}
|
|
452
|
+
$$renderer2.push(`<!--]--></li>`);
|
|
348
453
|
}
|
|
349
454
|
$$renderer2.push(`<!--]--></ul></section></main></div> `);
|
|
350
455
|
Toaster($$renderer2, {
|
|
@@ -362,7 +467,7 @@ function Avatars($$renderer, $$props) {
|
|
|
362
467
|
let { namePlaceholder } = $$props;
|
|
363
468
|
if (true) {
|
|
364
469
|
let failed = function($$renderer3, error) {
|
|
365
|
-
$$renderer3.push(`<mochi-island-failure data-component="AvatarsView"${$
|
|
470
|
+
$$renderer3.push(`<mochi-island-failure data-component="AvatarsView"${$9.attr("data-message", error.message)}></mochi-island-failure>`);
|
|
366
471
|
};
|
|
367
472
|
$$renderer2.push("<!--[0-->");
|
|
368
473
|
$$renderer2.boundary({ failed }, ($$renderer3) => {
|
|
@@ -370,7 +475,7 @@ function Avatars($$renderer, $$props) {
|
|
|
370
475
|
{
|
|
371
476
|
HydratableBoundary($$renderer3, {
|
|
372
477
|
children: ($$renderer4) => {
|
|
373
|
-
$$renderer4.push(`<mochi-hydratable-island component-name="AvatarsView_257s9yq1wwr4f" component-url="__MOCHI_COMPONENT_URL__AvatarsView_257s9yq1wwr4f__"${$
|
|
478
|
+
$$renderer4.push(`<mochi-hydratable-island component-name="AvatarsView_257s9yq1wwr4f" component-url="__MOCHI_COMPONENT_URL__AvatarsView_257s9yq1wwr4f__"${$9.attr("props-ref", emitIslandProps({ namePlaceholder }))}>`);
|
|
374
479
|
$$renderer4.push(`<!--[-->`);
|
|
375
480
|
{
|
|
376
481
|
AvatarsView($$renderer4, { namePlaceholder });
|
|
@@ -5,16 +5,14 @@ import {
|
|
|
5
5
|
apiPost,
|
|
6
6
|
forwardedPortUrl,
|
|
7
7
|
ideUrl
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
X
|
|
11
|
-
} from "./chunk-bacb4b0r.js";
|
|
8
|
+
} from "./chunk-brjv9pyd.js";
|
|
12
9
|
import {
|
|
13
10
|
HydratableBoundary,
|
|
14
11
|
Icon,
|
|
12
|
+
X,
|
|
15
13
|
emitIslandProps
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import"./chunk-
|
|
14
|
+
} from "./chunk-60mpagr9.js";
|
|
15
|
+
import"./chunk-xpt1a7jm.js";
|
|
18
16
|
|
|
19
17
|
// src/pages/Instance.svelte
|
|
20
18
|
import"svelte/internal/flags/async";
|
|
@@ -66,25 +64,29 @@ function Skeleton($$renderer, $$props) {
|
|
|
66
64
|
// src/components/HealthBox.svelte
|
|
67
65
|
function HealthBox($$renderer, $$props) {
|
|
68
66
|
$$renderer.component(($$renderer2) => {
|
|
69
|
-
const FIXED_CHECKS = ["Container running", "Code-server reachable"];
|
|
70
67
|
let {
|
|
71
68
|
health = null,
|
|
72
69
|
lastFetchedAt = null,
|
|
73
70
|
active = true,
|
|
74
|
-
injectionChecks = 0
|
|
71
|
+
injectionChecks = 0,
|
|
72
|
+
mode = "ide"
|
|
75
73
|
} = $$props;
|
|
74
|
+
const FIXED_CHECKS = $5.derived(() => [
|
|
75
|
+
"Container running",
|
|
76
|
+
mode === "terminal" ? "Terminal reachable" : "Code-server reachable"
|
|
77
|
+
]);
|
|
76
78
|
const checks = $5.derived(() => {
|
|
77
79
|
if (!health)
|
|
78
80
|
return [];
|
|
79
81
|
const v = (ok) => ({ ok, value: ok ? "OK" : "\u2014" });
|
|
80
82
|
return [
|
|
81
|
-
{ label: FIXED_CHECKS[0], ...v(health.containerRunning) },
|
|
82
|
-
{ label: FIXED_CHECKS[1], ...v(health.codeServerAccessible) },
|
|
83
|
+
{ label: FIXED_CHECKS()[0], ...v(health.containerRunning) },
|
|
84
|
+
{ label: FIXED_CHECKS()[1], ...v(health.codeServerAccessible) },
|
|
83
85
|
...health.injections.map((i) => ({ label: i.label, ...v(i.ok) }))
|
|
84
86
|
];
|
|
85
87
|
});
|
|
86
88
|
function getNumberOfChecks() {
|
|
87
|
-
return health ? checks().length : FIXED_CHECKS.length + injectionChecks;
|
|
89
|
+
return health ? checks().length : FIXED_CHECKS().length + injectionChecks;
|
|
88
90
|
}
|
|
89
91
|
let now = Date.now();
|
|
90
92
|
const agoLabel = $5.derived(() => {
|
|
@@ -129,7 +131,7 @@ function HealthBox($$renderer, $$props) {
|
|
|
129
131
|
} else {
|
|
130
132
|
$$renderer2.push("<!--[-1-->");
|
|
131
133
|
$$renderer2.push(`<!--[-->`);
|
|
132
|
-
const each_array_2 = $5.ensure_array_like(FIXED_CHECKS);
|
|
134
|
+
const each_array_2 = $5.ensure_array_like(FIXED_CHECKS());
|
|
133
135
|
for (let $$index_2 = 0, $$length = each_array_2.length;$$index_2 < $$length; $$index_2++) {
|
|
134
136
|
let label = each_array_2[$$index_2];
|
|
135
137
|
$$renderer2.push(`<div class="hrow svelte-1hnopyv"><span class="box idle svelte-1hnopyv"></span> <span class="hlabel svelte-1hnopyv">${$5.escape(label)}</span> <span class="hvalue svelte-1hnopyv">\u2014</span></div>`);
|
|
@@ -282,7 +284,8 @@ function InstanceView($$renderer, $$props) {
|
|
|
282
284
|
health,
|
|
283
285
|
lastFetchedAt,
|
|
284
286
|
injectionChecks,
|
|
285
|
-
active: !instance || instance.status === "running"
|
|
287
|
+
active: !instance || instance.status === "running",
|
|
288
|
+
mode: instance?.mode ?? "ide"
|
|
286
289
|
});
|
|
287
290
|
$$renderer2.push(`<!----></div> <section class="ports panel svelte-15fxkvm"><div class="ports-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Forwarded ports</span> `);
|
|
288
291
|
if (pendingRebuild) {
|