codebay 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mochi/manifest.json +41 -33
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-4a7ann1f.js +40 -0
- package/.mochi/svelte-compile/{Settings-h7gsjyz3.server.js → Settings-a7b11v90.server.js} +211 -134
- package/package.json +1 -1
- package/public/favicon.svg +9 -0
- package/src/components/SettingsView.svelte +74 -0
- package/src/container-injections/claude-code-credentials.ts +2 -3
- package/src/container-injections/claude-code-skills.ts +125 -0
- package/src/container-injections/claude-output-style.ts +2 -3
- package/src/container-injections/claude-statusline.ts +5 -16
- package/src/lib/container-files.server.ts +22 -0
- package/src/lib/host-claude.server.ts +31 -0
- package/src/lib/injections.server.ts +2 -0
- package/src/pages/Settings.svelte +3 -0
- package/src/routes.ts +9 -0
- package/src/shell.html +1 -0
- package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-wedc9x9y.js +0 -39
|
@@ -41,11 +41,11 @@ import"./chunk-xpt1a7jm.js";
|
|
|
41
41
|
|
|
42
42
|
// src/pages/Settings.svelte
|
|
43
43
|
import"svelte/internal/flags/async";
|
|
44
|
-
import * as $
|
|
44
|
+
import * as $30 from "svelte/internal/server";
|
|
45
45
|
|
|
46
46
|
// src/components/SettingsView.svelte
|
|
47
47
|
import"svelte/internal/flags/async";
|
|
48
|
-
import * as $
|
|
48
|
+
import * as $29 from "svelte/internal/server";
|
|
49
49
|
|
|
50
50
|
// node_modules/@lucide/svelte/dist/icons/container.svelte
|
|
51
51
|
import"svelte/internal/flags/async";
|
|
@@ -307,9 +307,33 @@ function Folder_minus($$renderer, $$props) {
|
|
|
307
307
|
];
|
|
308
308
|
Icon($$renderer, $12.spread_props([{ name: "folder-minus" }, props, { iconNode }]));
|
|
309
309
|
}
|
|
310
|
-
// node_modules/@lucide/svelte/dist/icons/
|
|
310
|
+
// node_modules/@lucide/svelte/dist/icons/folder-cog.svelte
|
|
311
311
|
import"svelte/internal/flags/async";
|
|
312
312
|
import * as $13 from "svelte/internal/server";
|
|
313
|
+
function Folder_cog($$renderer, $$props) {
|
|
314
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
315
|
+
const iconNode = [
|
|
316
|
+
[
|
|
317
|
+
"path",
|
|
318
|
+
{
|
|
319
|
+
d: "M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3"
|
|
320
|
+
}
|
|
321
|
+
],
|
|
322
|
+
["path", { d: "m14.305 19.53.923-.382" }],
|
|
323
|
+
["path", { d: "m15.228 16.852-.923-.383" }],
|
|
324
|
+
["path", { d: "m16.852 15.228-.383-.923" }],
|
|
325
|
+
["path", { d: "m16.852 20.772-.383.924" }],
|
|
326
|
+
["path", { d: "m19.148 15.228.383-.923" }],
|
|
327
|
+
["path", { d: "m19.53 21.696-.382-.924" }],
|
|
328
|
+
["path", { d: "m20.772 16.852.924-.383" }],
|
|
329
|
+
["path", { d: "m20.772 19.148.924.383" }],
|
|
330
|
+
["circle", { cx: "18", cy: "18", r: "3" }]
|
|
331
|
+
];
|
|
332
|
+
Icon($$renderer, $13.spread_props([{ name: "folder-cog" }, props, { iconNode }]));
|
|
333
|
+
}
|
|
334
|
+
// node_modules/@lucide/svelte/dist/icons/trash-2.svelte
|
|
335
|
+
import"svelte/internal/flags/async";
|
|
336
|
+
import * as $14 from "svelte/internal/server";
|
|
313
337
|
function Trash_2($$renderer, $$props) {
|
|
314
338
|
let { $$slots, $$events, ...props } = $$props;
|
|
315
339
|
const iconNode = [
|
|
@@ -319,11 +343,11 @@ function Trash_2($$renderer, $$props) {
|
|
|
319
343
|
["path", { d: "M3 6h18" }],
|
|
320
344
|
["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" }]
|
|
321
345
|
];
|
|
322
|
-
Icon($$renderer, $
|
|
346
|
+
Icon($$renderer, $14.spread_props([{ name: "trash-2" }, props, { iconNode }]));
|
|
323
347
|
}
|
|
324
348
|
// node_modules/@lucide/svelte/dist/icons/hammer.svelte
|
|
325
349
|
import"svelte/internal/flags/async";
|
|
326
|
-
import * as $
|
|
350
|
+
import * as $15 from "svelte/internal/server";
|
|
327
351
|
function Hammer($$renderer, $$props) {
|
|
328
352
|
let { $$slots, $$events, ...props } = $$props;
|
|
329
353
|
const iconNode = [
|
|
@@ -336,11 +360,11 @@ function Hammer($$renderer, $$props) {
|
|
|
336
360
|
}
|
|
337
361
|
]
|
|
338
362
|
];
|
|
339
|
-
Icon($$renderer, $
|
|
363
|
+
Icon($$renderer, $15.spread_props([{ name: "hammer" }, props, { iconNode }]));
|
|
340
364
|
}
|
|
341
365
|
// node_modules/@lucide/svelte/dist/icons/key-round.svelte
|
|
342
366
|
import"svelte/internal/flags/async";
|
|
343
|
-
import * as $
|
|
367
|
+
import * as $16 from "svelte/internal/server";
|
|
344
368
|
function Key_round($$renderer, $$props) {
|
|
345
369
|
let { $$slots, $$events, ...props } = $$props;
|
|
346
370
|
const iconNode = [
|
|
@@ -355,11 +379,11 @@ function Key_round($$renderer, $$props) {
|
|
|
355
379
|
{ cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor" }
|
|
356
380
|
]
|
|
357
381
|
];
|
|
358
|
-
Icon($$renderer, $
|
|
382
|
+
Icon($$renderer, $16.spread_props([{ name: "key-round" }, props, { iconNode }]));
|
|
359
383
|
}
|
|
360
384
|
// node_modules/@lucide/svelte/dist/icons/user-cog.svelte
|
|
361
385
|
import"svelte/internal/flags/async";
|
|
362
|
-
import * as $
|
|
386
|
+
import * as $17 from "svelte/internal/server";
|
|
363
387
|
function User_cog($$renderer, $$props) {
|
|
364
388
|
let { $$slots, $$events, ...props } = $$props;
|
|
365
389
|
const iconNode = [
|
|
@@ -375,11 +399,11 @@ function User_cog($$renderer, $$props) {
|
|
|
375
399
|
["circle", { cx: "18", cy: "15", r: "3" }],
|
|
376
400
|
["circle", { cx: "9", cy: "7", r: "4" }]
|
|
377
401
|
];
|
|
378
|
-
Icon($$renderer, $
|
|
402
|
+
Icon($$renderer, $17.spread_props([{ name: "user-cog" }, props, { iconNode }]));
|
|
379
403
|
}
|
|
380
404
|
// node_modules/@lucide/svelte/dist/icons/cpu.svelte
|
|
381
405
|
import"svelte/internal/flags/async";
|
|
382
|
-
import * as $
|
|
406
|
+
import * as $18 from "svelte/internal/server";
|
|
383
407
|
function Cpu($$renderer, $$props) {
|
|
384
408
|
let { $$slots, $$events, ...props } = $$props;
|
|
385
409
|
const iconNode = [
|
|
@@ -401,11 +425,11 @@ function Cpu($$renderer, $$props) {
|
|
|
401
425
|
],
|
|
402
426
|
["rect", { x: "8", y: "8", width: "8", height: "8", rx: "1" }]
|
|
403
427
|
];
|
|
404
|
-
Icon($$renderer, $
|
|
428
|
+
Icon($$renderer, $18.spread_props([{ name: "cpu" }, props, { iconNode }]));
|
|
405
429
|
}
|
|
406
430
|
// node_modules/@lucide/svelte/dist/icons/variable.svelte
|
|
407
431
|
import"svelte/internal/flags/async";
|
|
408
|
-
import * as $
|
|
432
|
+
import * as $19 from "svelte/internal/server";
|
|
409
433
|
function Variable($$renderer, $$props) {
|
|
410
434
|
let { $$slots, $$events, ...props } = $$props;
|
|
411
435
|
const iconNode = [
|
|
@@ -414,11 +438,11 @@ function Variable($$renderer, $$props) {
|
|
|
414
438
|
["line", { x1: "15", x2: "9", y1: "9", y2: "15" }],
|
|
415
439
|
["line", { x1: "9", x2: "15", y1: "9", y2: "15" }]
|
|
416
440
|
];
|
|
417
|
-
Icon($$renderer, $
|
|
441
|
+
Icon($$renderer, $19.spread_props([{ name: "variable" }, props, { iconNode }]));
|
|
418
442
|
}
|
|
419
443
|
// node_modules/@lucide/svelte/dist/icons/key-square.svelte
|
|
420
444
|
import"svelte/internal/flags/async";
|
|
421
|
-
import * as $
|
|
445
|
+
import * as $20 from "svelte/internal/server";
|
|
422
446
|
function Key_square($$renderer, $$props) {
|
|
423
447
|
let { $$slots, $$events, ...props } = $$props;
|
|
424
448
|
const iconNode = [
|
|
@@ -436,11 +460,11 @@ function Key_square($$renderer, $$props) {
|
|
|
436
460
|
}
|
|
437
461
|
]
|
|
438
462
|
];
|
|
439
|
-
Icon($$renderer, $
|
|
463
|
+
Icon($$renderer, $20.spread_props([{ name: "key-square" }, props, { iconNode }]));
|
|
440
464
|
}
|
|
441
465
|
// node_modules/@lucide/svelte/dist/icons/sliders-horizontal.svelte
|
|
442
466
|
import"svelte/internal/flags/async";
|
|
443
|
-
import * as $
|
|
467
|
+
import * as $21 from "svelte/internal/server";
|
|
444
468
|
function Sliders_horizontal($$renderer, $$props) {
|
|
445
469
|
let { $$slots, $$events, ...props } = $$props;
|
|
446
470
|
const iconNode = [
|
|
@@ -454,11 +478,11 @@ function Sliders_horizontal($$renderer, $$props) {
|
|
|
454
478
|
["path", { d: "M8 10v4" }],
|
|
455
479
|
["path", { d: "M8 12H3" }]
|
|
456
480
|
];
|
|
457
|
-
Icon($$renderer, $
|
|
481
|
+
Icon($$renderer, $21.spread_props([{ name: "sliders-horizontal" }, props, { iconNode }]));
|
|
458
482
|
}
|
|
459
483
|
// node_modules/@lucide/svelte/dist/icons/list-ordered.svelte
|
|
460
484
|
import"svelte/internal/flags/async";
|
|
461
|
-
import * as $
|
|
485
|
+
import * as $22 from "svelte/internal/server";
|
|
462
486
|
function List_ordered($$renderer, $$props) {
|
|
463
487
|
let { $$slots, $$events, ...props } = $$props;
|
|
464
488
|
const iconNode = [
|
|
@@ -474,11 +498,11 @@ function List_ordered($$renderer, $$props) {
|
|
|
474
498
|
}
|
|
475
499
|
]
|
|
476
500
|
];
|
|
477
|
-
Icon($$renderer, $
|
|
501
|
+
Icon($$renderer, $22.spread_props([{ name: "list-ordered" }, props, { iconNode }]));
|
|
478
502
|
}
|
|
479
503
|
// node_modules/@lucide/svelte/dist/icons/boxes.svelte
|
|
480
504
|
import"svelte/internal/flags/async";
|
|
481
|
-
import * as $
|
|
505
|
+
import * as $23 from "svelte/internal/server";
|
|
482
506
|
function Boxes($$renderer, $$props) {
|
|
483
507
|
let { $$slots, $$events, ...props } = $$props;
|
|
484
508
|
const iconNode = [
|
|
@@ -510,11 +534,11 @@ function Boxes($$renderer, $$props) {
|
|
|
510
534
|
["path", { d: "m12 8 4.74-2.85" }],
|
|
511
535
|
["path", { d: "M12 13.5V8" }]
|
|
512
536
|
];
|
|
513
|
-
Icon($$renderer, $
|
|
537
|
+
Icon($$renderer, $23.spread_props([{ name: "boxes" }, props, { iconNode }]));
|
|
514
538
|
}
|
|
515
539
|
// node_modules/@lucide/svelte/dist/icons/puzzle.svelte
|
|
516
540
|
import"svelte/internal/flags/async";
|
|
517
|
-
import * as $
|
|
541
|
+
import * as $24 from "svelte/internal/server";
|
|
518
542
|
function Puzzle($$renderer, $$props) {
|
|
519
543
|
let { $$slots, $$events, ...props } = $$props;
|
|
520
544
|
const iconNode = [
|
|
@@ -525,14 +549,14 @@ function Puzzle($$renderer, $$props) {
|
|
|
525
549
|
}
|
|
526
550
|
]
|
|
527
551
|
];
|
|
528
|
-
Icon($$renderer, $
|
|
552
|
+
Icon($$renderer, $24.spread_props([{ name: "puzzle" }, props, { iconNode }]));
|
|
529
553
|
}
|
|
530
554
|
// src/components/SettingsView.svelte
|
|
531
555
|
import { flushSync } from "svelte";
|
|
532
556
|
|
|
533
557
|
// src/components/CoinButton.svelte
|
|
534
558
|
import"svelte/internal/flags/async";
|
|
535
|
-
import * as $
|
|
559
|
+
import * as $25 from "svelte/internal/server";
|
|
536
560
|
function CoinButton($$renderer, $$props) {
|
|
537
561
|
let { href = "/avatars" } = $$props;
|
|
538
562
|
const coinArt = {
|
|
@@ -548,14 +572,14 @@ function CoinButton($$renderer, $$props) {
|
|
|
548
572
|
"..####.."
|
|
549
573
|
]
|
|
550
574
|
};
|
|
551
|
-
$$renderer.push(`<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz"${$
|
|
575
|
+
$$renderer.push(`<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz"${$25.attr("href", href)} 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">`);
|
|
552
576
|
Avatar($$renderer, { art: coinArt, name: "coin", scale: 3 });
|
|
553
577
|
$$renderer.push(`<!----></span></a> <span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span></div>`);
|
|
554
578
|
}
|
|
555
579
|
|
|
556
580
|
// node_modules/@lucide/svelte/dist/icons/shield-check.svelte
|
|
557
581
|
import"svelte/internal/flags/async";
|
|
558
|
-
import * as $
|
|
582
|
+
import * as $26 from "svelte/internal/server";
|
|
559
583
|
function Shield_check($$renderer, $$props) {
|
|
560
584
|
let { $$slots, $$events, ...props } = $$props;
|
|
561
585
|
const iconNode = [
|
|
@@ -567,22 +591,22 @@ function Shield_check($$renderer, $$props) {
|
|
|
567
591
|
],
|
|
568
592
|
["path", { d: "m9 12 2 2 4-4" }]
|
|
569
593
|
];
|
|
570
|
-
Icon($$renderer, $
|
|
594
|
+
Icon($$renderer, $26.spread_props([{ name: "shield-check" }, props, { iconNode }]));
|
|
571
595
|
}
|
|
572
596
|
// node_modules/@lucide/svelte/dist/icons/gauge.svelte
|
|
573
597
|
import"svelte/internal/flags/async";
|
|
574
|
-
import * as $
|
|
598
|
+
import * as $27 from "svelte/internal/server";
|
|
575
599
|
function Gauge($$renderer, $$props) {
|
|
576
600
|
let { $$slots, $$events, ...props } = $$props;
|
|
577
601
|
const iconNode = [
|
|
578
602
|
["path", { d: "m12 14 4-4" }],
|
|
579
603
|
["path", { d: "M3.34 19a10 10 0 1 1 17.32 0" }]
|
|
580
604
|
];
|
|
581
|
-
Icon($$renderer, $
|
|
605
|
+
Icon($$renderer, $27.spread_props([{ name: "gauge" }, props, { iconNode }]));
|
|
582
606
|
}
|
|
583
607
|
// node_modules/@lucide/svelte/dist/icons/message-square.svelte
|
|
584
608
|
import"svelte/internal/flags/async";
|
|
585
|
-
import * as $
|
|
609
|
+
import * as $28 from "svelte/internal/server";
|
|
586
610
|
function Message_square($$renderer, $$props) {
|
|
587
611
|
let { $$slots, $$events, ...props } = $$props;
|
|
588
612
|
const iconNode = [
|
|
@@ -593,7 +617,7 @@ function Message_square($$renderer, $$props) {
|
|
|
593
617
|
}
|
|
594
618
|
]
|
|
595
619
|
];
|
|
596
|
-
Icon($$renderer, $
|
|
620
|
+
Icon($$renderer, $28.spread_props([{ name: "message-square" }, props, { iconNode }]));
|
|
597
621
|
}
|
|
598
622
|
// src/components/SettingsView.svelte
|
|
599
623
|
function SettingsView($$renderer, $$props) {
|
|
@@ -609,6 +633,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
609
633
|
disableBuildCache,
|
|
610
634
|
copyIgnorePatterns,
|
|
611
635
|
builtinCopyIgnore,
|
|
636
|
+
claudeConfigDir,
|
|
612
637
|
gitIdentityEnabled,
|
|
613
638
|
gitIdentityName,
|
|
614
639
|
gitIdentityEmail,
|
|
@@ -811,6 +836,24 @@ function SettingsView($$renderer, $$props) {
|
|
|
811
836
|
flushSync(() => copyIgnore = builtinCopyIgnore);
|
|
812
837
|
copyIgnoreFormEl?.requestSubmit();
|
|
813
838
|
}
|
|
839
|
+
let claudeDir = claudeConfigDir;
|
|
840
|
+
let savingClaudeDir = false;
|
|
841
|
+
let claudeDirError = null;
|
|
842
|
+
let claudeDirSaved = false;
|
|
843
|
+
let claudeDirFormEl;
|
|
844
|
+
const claudeDirOpts = saveOpts({
|
|
845
|
+
setSaving: (v) => savingClaudeDir = v,
|
|
846
|
+
setError: (v) => claudeDirError = v,
|
|
847
|
+
setMsg: (v) => claudeDirSaved = !!v,
|
|
848
|
+
onSuccess: (data) => {
|
|
849
|
+
claudeDir = data?.dir ?? claudeDir;
|
|
850
|
+
claudeDirSaved = true;
|
|
851
|
+
}
|
|
852
|
+
});
|
|
853
|
+
function resetClaudeDir() {
|
|
854
|
+
flushSync(() => claudeDir = "");
|
|
855
|
+
claudeDirFormEl?.requestSubmit();
|
|
856
|
+
}
|
|
814
857
|
let gitIdentity = gitIdentityEnabled;
|
|
815
858
|
let savingGitToggle = false;
|
|
816
859
|
let gitToggleError = null;
|
|
@@ -1029,7 +1072,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1029
1072
|
manualModelsMsg = "Saved.";
|
|
1030
1073
|
}
|
|
1031
1074
|
});
|
|
1032
|
-
let litellmBlocker = $
|
|
1075
|
+
let litellmBlocker = $29.derived(() => manualTokens ? "Set tokens manually" : manualModelOverride ? "Override models manually" : null);
|
|
1033
1076
|
let hostEnvVars = hostEnvVarsEnabled;
|
|
1034
1077
|
let savingHostEnvToggle = false;
|
|
1035
1078
|
let hostEnvToggleError = null;
|
|
@@ -1205,30 +1248,30 @@ function SettingsView($$renderer, $$props) {
|
|
|
1205
1248
|
$$renderer2.push(`<!----> <main class="content svelte-1n6ht58"><section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/defaultMode"><div class="label svelte-1n6ht58">`);
|
|
1206
1249
|
Terminal($$renderer2, { size: 20 });
|
|
1207
1250
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default editor</div> <div class="desc svelte-1n6ht58">What new instances start in. <strong>Full IDE</strong> serves browser VS Code; <strong>Terminal</strong> is lighter \u2014 just Claude Code in a terminal, no code-server. You
|
|
1208
|
-
can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"${$
|
|
1251
|
+
can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"${$29.attr("value", modeChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Default editor mode"><button type="button"${$29.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "ide" })}${$29.attr("aria-pressed", modeChoice === "ide")}${$29.attr("disabled", savingMode, true)}>`);
|
|
1209
1252
|
Layout_template($$renderer2, { size: 15 });
|
|
1210
|
-
$$renderer2.push(`<!----> Full IDE</button> <button type="button"${$
|
|
1253
|
+
$$renderer2.push(`<!----> Full IDE</button> <button type="button"${$29.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "terminal" })}${$29.attr("aria-pressed", modeChoice === "terminal")}${$29.attr("disabled", savingMode, true)}>`);
|
|
1211
1254
|
Terminal($$renderer2, { size: 15 });
|
|
1212
1255
|
$$renderer2.push(`<!----> Terminal</button></div></form> `);
|
|
1213
1256
|
if (modeError) {
|
|
1214
1257
|
$$renderer2.push("<!--[0-->");
|
|
1215
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1258
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(modeError)}</div></div>`);
|
|
1216
1259
|
} else {
|
|
1217
1260
|
$$renderer2.push("<!--[-1-->");
|
|
1218
1261
|
}
|
|
1219
1262
|
$$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudePermissionMode"><div class="label svelte-1n6ht58">`);
|
|
1220
1263
|
Shield_check($$renderer2, { size: 20 });
|
|
1221
1264
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude permission mode</div> <div class="desc svelte-1n6ht58">The mode Claude Code starts in inside new instances. <strong>Default</strong> runs <code class="svelte-1n6ht58">--dangerously-skip-permissions</code>, which never prompts; the other three pass <code class="svelte-1n6ht58">--permission-mode</code> instead, because the skip flag overrides them. Applies on
|
|
1222
|
-
create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="mode"${$
|
|
1223
|
-
const each_array = $
|
|
1265
|
+
create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="mode"${$29.attr("value", permissionChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude permission mode"><!--[-->`);
|
|
1266
|
+
const each_array = $29.ensure_array_like(CLAUDE_PERMISSION_MODES);
|
|
1224
1267
|
for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
|
|
1225
1268
|
let option = each_array[$$index];
|
|
1226
|
-
$$renderer2.push(`<button type="button"${$
|
|
1269
|
+
$$renderer2.push(`<button type="button"${$29.attr_class("mode-btn svelte-1n6ht58", undefined, { active: permissionChoice === option })}${$29.attr("aria-pressed", permissionChoice === option)}${$29.attr("disabled", savingPermission, true)}>${$29.escape(PERMISSION_LABELS[option])}</button>`);
|
|
1227
1270
|
}
|
|
1228
1271
|
$$renderer2.push(`<!--]--></div></form> `);
|
|
1229
1272
|
if (permissionError) {
|
|
1230
1273
|
$$renderer2.push("<!--[0-->");
|
|
1231
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1274
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(permissionError)}</div></div>`);
|
|
1232
1275
|
} else {
|
|
1233
1276
|
$$renderer2.push("<!--[-1-->");
|
|
1234
1277
|
}
|
|
@@ -1236,31 +1279,31 @@ function SettingsView($$renderer, $$props) {
|
|
|
1236
1279
|
Gauge($$renderer2, { size: 20 });
|
|
1237
1280
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude effort level</div> <div class="desc svelte-1n6ht58">The default reasoning effort Claude Code starts new sessions at inside instances,
|
|
1238
1281
|
written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. Applies on create and rebuild, not to
|
|
1239
|
-
already-running instances.</div></div></div> <input type="hidden" name="level"${$
|
|
1240
|
-
const each_array_1 = $
|
|
1282
|
+
already-running instances.</div></div></div> <input type="hidden" name="level"${$29.attr("value", effortChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude effort level"><!--[-->`);
|
|
1283
|
+
const each_array_1 = $29.ensure_array_like(CLAUDE_EFFORT_LEVELS);
|
|
1241
1284
|
for (let $$index_1 = 0, $$length = each_array_1.length;$$index_1 < $$length; $$index_1++) {
|
|
1242
1285
|
let option = each_array_1[$$index_1];
|
|
1243
|
-
$$renderer2.push(`<button type="button"${$
|
|
1286
|
+
$$renderer2.push(`<button type="button"${$29.attr_class("mode-btn svelte-1n6ht58", undefined, { active: effortChoice === option })}${$29.attr("aria-pressed", effortChoice === option)}${$29.attr("disabled", savingEffort, true)}>${$29.escape(EFFORT_LABELS[option])}</button>`);
|
|
1244
1287
|
}
|
|
1245
1288
|
$$renderer2.push(`<!--]--></div></form> `);
|
|
1246
1289
|
if (effortError) {
|
|
1247
1290
|
$$renderer2.push("<!--[0-->");
|
|
1248
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1291
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(effortError)}</div></div>`);
|
|
1249
1292
|
} else {
|
|
1250
1293
|
$$renderer2.push("<!--[-1-->");
|
|
1251
1294
|
}
|
|
1252
1295
|
$$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudeOutputStyle"><div class="label svelte-1n6ht58">`);
|
|
1253
1296
|
Message_square($$renderer2, { size: 20 });
|
|
1254
|
-
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude output style</div> <div class="desc svelte-1n6ht58">The output style Claude Code starts new sessions in, written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. <strong>Default</strong> inherits your host <code class="svelte-1n6ht58">~/.claude/settings.json</code> (including any custom styles); <strong>None</strong> forces it off. Applies on create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="style"${$
|
|
1255
|
-
const each_array_2 = $
|
|
1297
|
+
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude output style</div> <div class="desc svelte-1n6ht58">The output style Claude Code starts new sessions in, written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. <strong>Default</strong> inherits your host <code class="svelte-1n6ht58">~/.claude/settings.json</code> (including any custom styles); <strong>None</strong> forces it off. Applies on create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="style"${$29.attr("value", outputStyleChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude output style"><!--[-->`);
|
|
1298
|
+
const each_array_2 = $29.ensure_array_like(CLAUDE_OUTPUT_STYLES);
|
|
1256
1299
|
for (let $$index_2 = 0, $$length = each_array_2.length;$$index_2 < $$length; $$index_2++) {
|
|
1257
1300
|
let option = each_array_2[$$index_2];
|
|
1258
|
-
$$renderer2.push(`<button type="button"${$
|
|
1301
|
+
$$renderer2.push(`<button type="button"${$29.attr_class("mode-btn svelte-1n6ht58", undefined, { active: outputStyleChoice === option })}${$29.attr("aria-pressed", outputStyleChoice === option)}${$29.attr("disabled", savingOutputStyle, true)}>${$29.escape(OUTPUT_STYLE_LABELS[option])}</button>`);
|
|
1259
1302
|
}
|
|
1260
1303
|
$$renderer2.push(`<!--]--></div></form> `);
|
|
1261
1304
|
if (outputStyleError) {
|
|
1262
1305
|
$$renderer2.push("<!--[0-->");
|
|
1263
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1306
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(outputStyleError)}</div></div>`);
|
|
1264
1307
|
} else {
|
|
1265
1308
|
$$renderer2.push("<!--[-1-->");
|
|
1266
1309
|
}
|
|
@@ -1269,12 +1312,12 @@ function SettingsView($$renderer, $$props) {
|
|
|
1269
1312
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default container image `);
|
|
1270
1313
|
if (dockerArch) {
|
|
1271
1314
|
$$renderer2.push("<!--[0-->");
|
|
1272
|
-
$$renderer2.push(`<span class="arch svelte-1n6ht58" title="Docker daemon architecture">${$
|
|
1315
|
+
$$renderer2.push(`<span class="arch svelte-1n6ht58" title="Docker daemon architecture">${$29.escape(dockerArch)}</span>`);
|
|
1273
1316
|
} else {
|
|
1274
1317
|
$$renderer2.push("<!--[-1-->");
|
|
1275
1318
|
}
|
|
1276
1319
|
$$renderer2.push(`<!--]--></div> <div class="desc svelte-1n6ht58">Used only when a project folder ships no devcontainer.json. Takes effect for instances
|
|
1277
|
-
created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58"${$
|
|
1320
|
+
created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58"${$29.attr("value", image)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="mcr.microsoft.com/devcontainers/base:ubuntu"/> `);
|
|
1278
1321
|
Button($$renderer2, {
|
|
1279
1322
|
type: "submit",
|
|
1280
1323
|
disabled: savingImage,
|
|
@@ -1289,14 +1332,14 @@ function SettingsView($$renderer, $$props) {
|
|
|
1289
1332
|
icon: Rotate_ccw,
|
|
1290
1333
|
disabled: savingImage,
|
|
1291
1334
|
onclick: resetImage,
|
|
1292
|
-
title: `Reset to default (${$
|
|
1335
|
+
title: `Reset to default (${$29.stringify(builtinImage)})`,
|
|
1293
1336
|
"aria-label": "Reset to default image"
|
|
1294
1337
|
});
|
|
1295
1338
|
$$renderer2.push(`<!----></div> <div class="desc tip svelte-1n6ht58">`);
|
|
1296
1339
|
if (dockerArch) {
|
|
1297
1340
|
$$renderer2.push("<!--[0-->");
|
|
1298
|
-
$$renderer2.push(`Your Docker daemon runs on <strong>${$
|
|
1299
|
-
an <strong>${$
|
|
1341
|
+
$$renderer2.push(`Your Docker daemon runs on <strong>${$29.escape(dockerArch)}</strong> \u2014 pick an image that publishes
|
|
1342
|
+
an <strong>${$29.escape(dockerArch)}</strong> manifest, or the pull will fail.`);
|
|
1300
1343
|
} else {
|
|
1301
1344
|
$$renderer2.push("<!--[-1-->");
|
|
1302
1345
|
$$renderer2.push(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
|
|
@@ -1305,7 +1348,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1305
1348
|
$$renderer2.push(`<!--]--></div> `);
|
|
1306
1349
|
if (imageError) {
|
|
1307
1350
|
$$renderer2.push("<!--[0-->");
|
|
1308
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1351
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(imageError)}</div>`);
|
|
1309
1352
|
} else if (imageSaved) {
|
|
1310
1353
|
$$renderer2.push("<!--[1-->");
|
|
1311
1354
|
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
|
|
@@ -1316,7 +1359,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1316
1359
|
Folder_minus($$renderer2, { size: 20 });
|
|
1317
1360
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Skip when copying a local folder</div> <div class="desc svelte-1n6ht58">Comma-separated folder/file names excluded when copying a local source folder into a
|
|
1318
1361
|
new instance's workspace. Leave blank to copy everything. Only applies to local
|
|
1319
|
-
folders \u2014 cloning a Git repo URL is unaffected.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="patterns" class="image-input svelte-1n6ht58"${$
|
|
1362
|
+
folders \u2014 cloning a Git repo URL is unaffected.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="patterns" class="image-input svelte-1n6ht58"${$29.attr("value", copyIgnore)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="node_modules, .venv, dist"/> `);
|
|
1320
1363
|
Button($$renderer2, {
|
|
1321
1364
|
type: "submit",
|
|
1322
1365
|
disabled: savingCopyIgnore,
|
|
@@ -1331,27 +1374,58 @@ function SettingsView($$renderer, $$props) {
|
|
|
1331
1374
|
icon: Rotate_ccw,
|
|
1332
1375
|
disabled: savingCopyIgnore,
|
|
1333
1376
|
onclick: resetCopyIgnore,
|
|
1334
|
-
title: `Reset to default (${$
|
|
1377
|
+
title: `Reset to default (${$29.stringify(builtinCopyIgnore)})`,
|
|
1335
1378
|
"aria-label": "Reset to default copy-ignore patterns"
|
|
1336
1379
|
});
|
|
1337
1380
|
$$renderer2.push(`<!----></div> `);
|
|
1338
1381
|
if (copyIgnoreError) {
|
|
1339
1382
|
$$renderer2.push("<!--[0-->");
|
|
1340
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1383
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(copyIgnoreError)}</div>`);
|
|
1341
1384
|
} else if (copyIgnoreSaved) {
|
|
1342
1385
|
$$renderer2.push("<!--[1-->");
|
|
1343
1386
|
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
|
|
1344
1387
|
} else {
|
|
1345
1388
|
$$renderer2.push("<!--[-1-->");
|
|
1346
1389
|
}
|
|
1390
|
+
$$renderer2.push(`<!--]--></form></section> <section class="card svelte-1n6ht58"><form class="row image-row svelte-1n6ht58" method="POST" action="?/claudeConfigDir"><div class="label svelte-1n6ht58">`);
|
|
1391
|
+
Folder_cog($$renderer2, { size: 20 });
|
|
1392
|
+
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude config directory</div> <div class="desc svelte-1n6ht58">Host directory the Claude Code injections read from \u2014 credentials, statusLine, output
|
|
1393
|
+
styles, and global skills / <code class="svelte-1n6ht58">CLAUDE.md</code>. Leave blank to use <code class="svelte-1n6ht58">~/.claude</code>. Takes effect for instances created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="dir" class="image-input svelte-1n6ht58"${$29.attr("value", claudeDir)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="~/.claude"/> `);
|
|
1394
|
+
Button($$renderer2, {
|
|
1395
|
+
type: "submit",
|
|
1396
|
+
disabled: savingClaudeDir,
|
|
1397
|
+
children: ($$renderer3) => {
|
|
1398
|
+
$$renderer3.push(`<!---->Save`);
|
|
1399
|
+
},
|
|
1400
|
+
$$slots: { default: true }
|
|
1401
|
+
});
|
|
1402
|
+
$$renderer2.push(`<!----> `);
|
|
1403
|
+
Button($$renderer2, {
|
|
1404
|
+
type: "button",
|
|
1405
|
+
icon: Rotate_ccw,
|
|
1406
|
+
disabled: savingClaudeDir,
|
|
1407
|
+
onclick: resetClaudeDir,
|
|
1408
|
+
title: "Reset to default (~/.claude)",
|
|
1409
|
+
"aria-label": "Reset to default Claude config directory"
|
|
1410
|
+
});
|
|
1411
|
+
$$renderer2.push(`<!----></div> `);
|
|
1412
|
+
if (claudeDirError) {
|
|
1413
|
+
$$renderer2.push("<!--[0-->");
|
|
1414
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(claudeDirError)}</div>`);
|
|
1415
|
+
} else if (claudeDirSaved) {
|
|
1416
|
+
$$renderer2.push("<!--[1-->");
|
|
1417
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
|
|
1418
|
+
} else {
|
|
1419
|
+
$$renderer2.push("<!--[-1-->");
|
|
1420
|
+
}
|
|
1347
1421
|
$$renderer2.push(`<!--]--></form></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/gitIdentityToggle"><div class="label svelte-1n6ht58">`);
|
|
1348
1422
|
User_cog($$renderer2, { size: 20 });
|
|
1349
1423
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override git identity</div> <div class="desc svelte-1n6ht58">Inject a name and email as <code class="svelte-1n6ht58">git config --global user.name/user.email</code> in every
|
|
1350
1424
|
new container, taking precedence over the host's own git config. When off, each container
|
|
1351
|
-
falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1425
|
+
falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", gitIdentity, true)}${$29.attr("disabled", savingGitToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1352
1426
|
if (gitToggleError) {
|
|
1353
1427
|
$$renderer2.push("<!--[0-->");
|
|
1354
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1428
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(gitToggleError)}</div></div>`);
|
|
1355
1429
|
} else {
|
|
1356
1430
|
$$renderer2.push("<!--[-1-->");
|
|
1357
1431
|
}
|
|
@@ -1359,7 +1433,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1359
1433
|
if (gitIdentity) {
|
|
1360
1434
|
$$renderer2.push("<!--[0-->");
|
|
1361
1435
|
$$renderer2.push(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/gitIdentityOverride"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Identity</div> <div class="desc svelte-1n6ht58">Both fields are required \u2014 leave either blank and the container falls back to the
|
|
1362
|
-
host's identity.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Name</span> <input type="text" name="name" class="image-input svelte-1n6ht58"${$
|
|
1436
|
+
host's identity.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Name</span> <input type="text" name="name" class="image-input svelte-1n6ht58"${$29.attr("value", gitName)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="Jane Doe"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Email</span> <input type="text" name="email" class="image-input svelte-1n6ht58"${$29.attr("value", gitEmail)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="jane@example.com"/></label> <div class="model-save-row svelte-1n6ht58">`);
|
|
1363
1437
|
Button($$renderer2, {
|
|
1364
1438
|
type: "submit",
|
|
1365
1439
|
disabled: savingGitIdentity,
|
|
@@ -1371,7 +1445,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1371
1445
|
$$renderer2.push(`<!----></div></div> `);
|
|
1372
1446
|
if (gitIdentityError) {
|
|
1373
1447
|
$$renderer2.push("<!--[0-->");
|
|
1374
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1448
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(gitIdentityError)}</div>`);
|
|
1375
1449
|
} else if (gitIdentitySaved) {
|
|
1376
1450
|
$$renderer2.push("<!--[1-->");
|
|
1377
1451
|
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
|
|
@@ -1385,10 +1459,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1385
1459
|
$$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/disableBuildCache"><div class="label svelte-1n6ht58">`);
|
|
1386
1460
|
Layers($$renderer2, { size: 20 });
|
|
1387
1461
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Disable build cache</div> <div class="desc svelte-1n6ht58">Build every new container with <code class="svelte-1n6ht58">--build-no-cache</code>. Applies to first boot
|
|
1388
|
-
and rebuilds \u2014 slower, but always picks up upstream image/layer changes.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1462
|
+
and rebuilds \u2014 slower, but always picks up upstream image/layer changes.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", noCache, true)}${$29.attr("disabled", savingCache, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1389
1463
|
if (cacheError) {
|
|
1390
1464
|
$$renderer2.push("<!--[0-->");
|
|
1391
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1465
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(cacheError)}</div></div>`);
|
|
1392
1466
|
} else {
|
|
1393
1467
|
$$renderer2.push("<!--[-1-->");
|
|
1394
1468
|
}
|
|
@@ -1398,10 +1472,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1398
1472
|
remove pulled images.</div> `);
|
|
1399
1473
|
if (clearError) {
|
|
1400
1474
|
$$renderer2.push("<!--[0-->");
|
|
1401
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1475
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(clearError)}</div>`);
|
|
1402
1476
|
} else if (clearMsg) {
|
|
1403
1477
|
$$renderer2.push("<!--[1-->");
|
|
1404
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1478
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(clearMsg)}</div>`);
|
|
1405
1479
|
} else {
|
|
1406
1480
|
$$renderer2.push("<!--[-1-->");
|
|
1407
1481
|
}
|
|
@@ -1411,7 +1485,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1411
1485
|
icon: Trash_2,
|
|
1412
1486
|
disabled: clearing,
|
|
1413
1487
|
children: ($$renderer3) => {
|
|
1414
|
-
$$renderer3.push(`<!---->${$
|
|
1488
|
+
$$renderer3.push(`<!---->${$29.escape(clearing ? "Clearing\u2026" : "Clear cache")}`);
|
|
1415
1489
|
},
|
|
1416
1490
|
$$slots: { default: true }
|
|
1417
1491
|
});
|
|
@@ -1421,10 +1495,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1421
1495
|
layers. In-container edits are kept; stopped instances are left alone.</div> `);
|
|
1422
1496
|
if (rebuildError) {
|
|
1423
1497
|
$$renderer2.push("<!--[0-->");
|
|
1424
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1498
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(rebuildError)}</div>`);
|
|
1425
1499
|
} else if (rebuildMsg) {
|
|
1426
1500
|
$$renderer2.push("<!--[1-->");
|
|
1427
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1501
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(rebuildMsg)}</div>`);
|
|
1428
1502
|
} else {
|
|
1429
1503
|
$$renderer2.push("<!--[-1-->");
|
|
1430
1504
|
}
|
|
@@ -1434,11 +1508,11 @@ function SettingsView($$renderer, $$props) {
|
|
|
1434
1508
|
icon: Hammer,
|
|
1435
1509
|
disabled: rebuilding,
|
|
1436
1510
|
children: ($$renderer3) => {
|
|
1437
|
-
$$renderer3.push(`<!---->${$
|
|
1511
|
+
$$renderer3.push(`<!---->${$29.escape(rebuilding ? "Starting\u2026" : "Rebuild all")}`);
|
|
1438
1512
|
},
|
|
1439
1513
|
$$slots: { default: true }
|
|
1440
1514
|
});
|
|
1441
|
-
$$renderer2.push(`<!----></form></section> <section${$
|
|
1515
|
+
$$renderer2.push(`<!----></form></section> <section${$29.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58">`);
|
|
1442
1516
|
Key_round($$renderer2, { size: 20 });
|
|
1443
1517
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Set tokens manually `);
|
|
1444
1518
|
if (customEndpoint) {
|
|
@@ -1459,10 +1533,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1459
1533
|
token set here is injected into every new container and overrides host credential
|
|
1460
1534
|
discovery.`);
|
|
1461
1535
|
}
|
|
1462
|
-
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1536
|
+
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", manualTokens, true)}${$29.attr("disabled", savingManualToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1463
1537
|
if (manualToggleError) {
|
|
1464
1538
|
$$renderer2.push("<!--[0-->");
|
|
1465
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1539
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(manualToggleError)}</div></div>`);
|
|
1466
1540
|
} else {
|
|
1467
1541
|
$$renderer2.push("<!--[-1-->");
|
|
1468
1542
|
}
|
|
@@ -1470,7 +1544,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1470
1544
|
if (manualTokens && !customEndpoint) {
|
|
1471
1545
|
$$renderer2.push("<!--[0-->");
|
|
1472
1546
|
$$renderer2.push(`<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
|
|
1473
|
-
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"${$
|
|
1547
|
+
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"${$29.attr("value", githubToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$29.attr("placeholder", ghSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "ghp_\u2026 / gho_\u2026")}/> `);
|
|
1474
1548
|
Button($$renderer2, {
|
|
1475
1549
|
type: "submit",
|
|
1476
1550
|
disabled: savingGithub,
|
|
@@ -1482,17 +1556,17 @@ function SettingsView($$renderer, $$props) {
|
|
|
1482
1556
|
$$renderer2.push(`<!----></div> `);
|
|
1483
1557
|
if (githubError) {
|
|
1484
1558
|
$$renderer2.push("<!--[0-->");
|
|
1485
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1559
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(githubError)}</div>`);
|
|
1486
1560
|
} else if (githubMsg) {
|
|
1487
1561
|
$$renderer2.push("<!--[1-->");
|
|
1488
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1562
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(githubMsg)}</div>`);
|
|
1489
1563
|
} else {
|
|
1490
1564
|
$$renderer2.push("<!--[-1-->");
|
|
1491
1565
|
}
|
|
1492
1566
|
$$renderer2.push(`<!--]--></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
|
|
1493
1567
|
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 \u2014
|
|
1494
1568
|
the first <code class="svelte-1n6ht58">claude</code> to refresh it signs the other one out. Leave blank and Save
|
|
1495
|
-
to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58"${$
|
|
1569
|
+
to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58"${$29.attr("value", claudeToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$29.attr("placeholder", claudeSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-ant-oat\u2026")}/> `);
|
|
1496
1570
|
Button($$renderer2, {
|
|
1497
1571
|
type: "submit",
|
|
1498
1572
|
disabled: savingClaude,
|
|
@@ -1504,10 +1578,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1504
1578
|
$$renderer2.push(`<!----></div> `);
|
|
1505
1579
|
if (claudeError) {
|
|
1506
1580
|
$$renderer2.push("<!--[0-->");
|
|
1507
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1581
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(claudeError)}</div>`);
|
|
1508
1582
|
} else if (claudeMsg) {
|
|
1509
1583
|
$$renderer2.push("<!--[1-->");
|
|
1510
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1584
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(claudeMsg)}</div>`);
|
|
1511
1585
|
} else {
|
|
1512
1586
|
$$renderer2.push("<!--[-1-->");
|
|
1513
1587
|
}
|
|
@@ -1515,19 +1589,19 @@ function SettingsView($$renderer, $$props) {
|
|
|
1515
1589
|
} else {
|
|
1516
1590
|
$$renderer2.push("<!--[-1-->");
|
|
1517
1591
|
}
|
|
1518
|
-
$$renderer2.push(`<!--]--></section> <section${$
|
|
1592
|
+
$$renderer2.push(`<!--]--></section> <section${$29.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": litellmBlocker() })}><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58">`);
|
|
1519
1593
|
Key_round($$renderer2, { size: 20 });
|
|
1520
1594
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">LiteLLM + Bedrock `);
|
|
1521
1595
|
if (litellmBlocker()) {
|
|
1522
1596
|
$$renderer2.push("<!--[0-->");
|
|
1523
|
-
$$renderer2.push(`<span class="arch svelte-1n6ht58"${$
|
|
1597
|
+
$$renderer2.push(`<span class="arch svelte-1n6ht58"${$29.attr("title", `Disabled while ${$29.stringify(litellmBlocker())} is on`)}>disabled</span>`);
|
|
1524
1598
|
} else {
|
|
1525
1599
|
$$renderer2.push("<!--[-1-->");
|
|
1526
1600
|
}
|
|
1527
1601
|
$$renderer2.push(`<!--]--></div> <div class="desc svelte-1n6ht58">`);
|
|
1528
1602
|
if (litellmBlocker()) {
|
|
1529
1603
|
$$renderer2.push("<!--[0-->");
|
|
1530
|
-
$$renderer2.push(`Not available while "${$
|
|
1604
|
+
$$renderer2.push(`Not available while "${$29.escape(litellmBlocker())}" is enabled \u2014 these modes are mutually
|
|
1531
1605
|
incompatible.`);
|
|
1532
1606
|
} else {
|
|
1533
1607
|
$$renderer2.push("<!--[-1-->");
|
|
@@ -1535,17 +1609,17 @@ function SettingsView($$renderer, $$props) {
|
|
|
1535
1609
|
default API. When enabled, the Bedrock endpoint variables are injected into every new
|
|
1536
1610
|
container, host OAuth credentials are not used, and "Set tokens manually" is disabled.`);
|
|
1537
1611
|
}
|
|
1538
|
-
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1612
|
+
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", customEndpoint, true)}${$29.attr("disabled", savingCustomToggle || !!litellmBlocker(), true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1539
1613
|
if (customToggleError) {
|
|
1540
1614
|
$$renderer2.push("<!--[0-->");
|
|
1541
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1615
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(customToggleError)}</div></div>`);
|
|
1542
1616
|
} else {
|
|
1543
1617
|
$$renderer2.push("<!--[-1-->");
|
|
1544
1618
|
}
|
|
1545
1619
|
$$renderer2.push(`<!--]--> `);
|
|
1546
1620
|
if (customEndpoint) {
|
|
1547
1621
|
$$renderer2.push("<!--[0-->");
|
|
1548
|
-
$$renderer2.push(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customBaseUrl"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Base URL</div> <div class="desc svelte-1n6ht58">The LiteLLM proxy endpoint, e.g. <code class="svelte-1n6ht58">https://litellm.example.com/bedrock</code>. Passed as <code class="svelte-1n6ht58">ANTHROPIC_BEDROCK_BASE_URL</code>.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="baseUrl" class="image-input svelte-1n6ht58"${$
|
|
1622
|
+
$$renderer2.push(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customBaseUrl"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Base URL</div> <div class="desc svelte-1n6ht58">The LiteLLM proxy endpoint, e.g. <code class="svelte-1n6ht58">https://litellm.example.com/bedrock</code>. Passed as <code class="svelte-1n6ht58">ANTHROPIC_BEDROCK_BASE_URL</code>.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="baseUrl" class="image-input svelte-1n6ht58"${$29.attr("value", customBaseUrl)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="https://litellm.example.com/bedrock"/> `);
|
|
1549
1623
|
Button($$renderer2, {
|
|
1550
1624
|
type: "submit",
|
|
1551
1625
|
disabled: savingCustomBaseUrl,
|
|
@@ -1557,15 +1631,15 @@ function SettingsView($$renderer, $$props) {
|
|
|
1557
1631
|
$$renderer2.push(`<!----></div> `);
|
|
1558
1632
|
if (customBaseUrlError) {
|
|
1559
1633
|
$$renderer2.push("<!--[0-->");
|
|
1560
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1634
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(customBaseUrlError)}</div>`);
|
|
1561
1635
|
} else if (customBaseUrlMsg) {
|
|
1562
1636
|
$$renderer2.push("<!--[1-->");
|
|
1563
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1637
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(customBaseUrlMsg)}</div>`);
|
|
1564
1638
|
} else {
|
|
1565
1639
|
$$renderer2.push("<!--[-1-->");
|
|
1566
1640
|
}
|
|
1567
1641
|
$$renderer2.push(`<!--]--></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Auth token</div> <div class="desc svelte-1n6ht58">Your LiteLLM API key. Passed as <code class="svelte-1n6ht58">ANTHROPIC_AUTH_TOKEN</code>. Leave blank and
|
|
1568
|
-
Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58"${$
|
|
1642
|
+
Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58"${$29.attr("value", customToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$29.attr("placeholder", customTokenSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-\u2026")}/> `);
|
|
1569
1643
|
Button($$renderer2, {
|
|
1570
1644
|
type: "submit",
|
|
1571
1645
|
disabled: savingCustomToken,
|
|
@@ -1577,15 +1651,15 @@ function SettingsView($$renderer, $$props) {
|
|
|
1577
1651
|
$$renderer2.push(`<!----></div> `);
|
|
1578
1652
|
if (customTokenError) {
|
|
1579
1653
|
$$renderer2.push("<!--[0-->");
|
|
1580
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1654
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(customTokenError)}</div>`);
|
|
1581
1655
|
} else if (customTokenMsg) {
|
|
1582
1656
|
$$renderer2.push("<!--[1-->");
|
|
1583
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1657
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(customTokenMsg)}</div>`);
|
|
1584
1658
|
} else {
|
|
1585
1659
|
$$renderer2.push("<!--[-1-->");
|
|
1586
1660
|
}
|
|
1587
1661
|
$$renderer2.push(`<!--]--></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/customModels"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Model IDs</div> <div class="desc svelte-1n6ht58">Model aliases to use for each tier. Prefilled with defaults from the reference
|
|
1588
|
-
launcher script. Leave a field as-is to keep its current value.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58"${$
|
|
1662
|
+
launcher script. Leave a field as-is to keep its current value.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58"${$29.attr("value", customOpusModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Sonnet</span> <input type="text" name="sonnetModel" class="image-input svelte-1n6ht58"${$29.attr("value", customSonnetModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Haiku</span> <input type="text" name="haikuModel" class="image-input svelte-1n6ht58"${$29.attr("value", customHaikuModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Small/fast</span> <input type="text" name="smallFastModel" class="image-input svelte-1n6ht58"${$29.attr("value", customSmallFastModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Default</span> <input type="text" name="defaultModel" class="image-input svelte-1n6ht58"${$29.attr("value", customDefaultModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
|
|
1589
1663
|
Button($$renderer2, {
|
|
1590
1664
|
type: "submit",
|
|
1591
1665
|
disabled: savingCustomModels,
|
|
@@ -1597,10 +1671,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1597
1671
|
$$renderer2.push(`<!----></div></div> `);
|
|
1598
1672
|
if (customModelsError) {
|
|
1599
1673
|
$$renderer2.push("<!--[0-->");
|
|
1600
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1674
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(customModelsError)}</div>`);
|
|
1601
1675
|
} else if (customModelsMsg) {
|
|
1602
1676
|
$$renderer2.push("<!--[1-->");
|
|
1603
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1677
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(customModelsMsg)}</div>`);
|
|
1604
1678
|
} else {
|
|
1605
1679
|
$$renderer2.push("<!--[-1-->");
|
|
1606
1680
|
}
|
|
@@ -1608,7 +1682,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1608
1682
|
} else {
|
|
1609
1683
|
$$renderer2.push("<!--[-1-->");
|
|
1610
1684
|
}
|
|
1611
|
-
$$renderer2.push(`<!--]--></section> <section${$
|
|
1685
|
+
$$renderer2.push(`<!--]--></section> <section${$29.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualModelToggle"><div class="label svelte-1n6ht58">`);
|
|
1612
1686
|
Cpu($$renderer2, { size: 18 });
|
|
1613
1687
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override models manually `);
|
|
1614
1688
|
if (customEndpoint) {
|
|
@@ -1627,17 +1701,17 @@ function SettingsView($$renderer, $$props) {
|
|
|
1627
1701
|
$$renderer2.push(`Pin which model <code class="svelte-1n6ht58">claude</code> uses on the standard (subscription) path. Only
|
|
1628
1702
|
the fields you fill are injected into new containers as <code class="svelte-1n6ht58">ANTHROPIC_*_MODEL</code> variables; blanks fall through to Claude Code's own defaults.`);
|
|
1629
1703
|
}
|
|
1630
|
-
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1704
|
+
$$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", manualModelOverride, true)}${$29.attr("disabled", savingManualModelToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1631
1705
|
if (manualModelToggleError) {
|
|
1632
1706
|
$$renderer2.push("<!--[0-->");
|
|
1633
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1707
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(manualModelToggleError)}</div></div>`);
|
|
1634
1708
|
} else {
|
|
1635
1709
|
$$renderer2.push("<!--[-1-->");
|
|
1636
1710
|
}
|
|
1637
1711
|
$$renderer2.push(`<!--]--> `);
|
|
1638
1712
|
if (manualModelOverride) {
|
|
1639
1713
|
$$renderer2.push("<!--[0-->");
|
|
1640
|
-
$$renderer2.push(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/manualModels"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Model IDs</div> <div class="desc svelte-1n6ht58">A model name or alias per tier, e.g. <code class="svelte-1n6ht58">opusplan</code>, <code class="svelte-1n6ht58">opus</code>, <code class="svelte-1n6ht58">sonnet</code>, or a full <code class="svelte-1n6ht58">claude-\u2026</code> id. Leave a field blank to skip it.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58"${$
|
|
1714
|
+
$$renderer2.push(`<form class="row divided token-row svelte-1n6ht58" method="POST" action="?/manualModels"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Model IDs</div> <div class="desc svelte-1n6ht58">A model name or alias per tier, e.g. <code class="svelte-1n6ht58">opusplan</code>, <code class="svelte-1n6ht58">opus</code>, <code class="svelte-1n6ht58">sonnet</code>, or a full <code class="svelte-1n6ht58">claude-\u2026</code> id. Leave a field blank to skip it.</div></div></div> <div class="model-fields svelte-1n6ht58"><label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Opus</span> <input type="text" name="opusModel" class="image-input svelte-1n6ht58"${$29.attr("value", manualOpus)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Sonnet</span> <input type="text" name="sonnetModel" class="image-input svelte-1n6ht58"${$29.attr("value", manualSonnet)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Haiku</span> <input type="text" name="haikuModel" class="image-input svelte-1n6ht58"${$29.attr("value", manualHaiku)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Small/fast</span> <input type="text" name="smallFastModel" class="image-input svelte-1n6ht58"${$29.attr("value", manualSmallFast)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <label class="model-row svelte-1n6ht58"><span class="model-label svelte-1n6ht58">Default</span> <input type="text" name="defaultModel" class="image-input svelte-1n6ht58"${$29.attr("value", manualDefault)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
|
|
1641
1715
|
Button($$renderer2, {
|
|
1642
1716
|
type: "submit",
|
|
1643
1717
|
disabled: savingManualModels,
|
|
@@ -1649,10 +1723,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1649
1723
|
$$renderer2.push(`<!----></div></div> `);
|
|
1650
1724
|
if (manualModelsError) {
|
|
1651
1725
|
$$renderer2.push("<!--[0-->");
|
|
1652
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1726
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(manualModelsError)}</div>`);
|
|
1653
1727
|
} else if (manualModelsMsg) {
|
|
1654
1728
|
$$renderer2.push("<!--[1-->");
|
|
1655
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1729
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(manualModelsMsg)}</div>`);
|
|
1656
1730
|
} else {
|
|
1657
1731
|
$$renderer2.push("<!--[-1-->");
|
|
1658
1732
|
}
|
|
@@ -1664,10 +1738,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1664
1738
|
Variable($$renderer2, { size: 20 });
|
|
1665
1739
|
$$renderer2.push(`<!----> <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
|
|
1666
1740
|
interactive shells. Values are read from this process's own environment at container
|
|
1667
|
-
start and are never shown here or stored \u2014 only the variable names are saved.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1741
|
+
start and are never shown here or stored \u2014 only the variable names are saved.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", hostEnvVars, true)}${$29.attr("disabled", savingHostEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1668
1742
|
if (hostEnvToggleError) {
|
|
1669
1743
|
$$renderer2.push("<!--[0-->");
|
|
1670
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1744
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(hostEnvToggleError)}</div></div>`);
|
|
1671
1745
|
} else {
|
|
1672
1746
|
$$renderer2.push("<!--[-1-->");
|
|
1673
1747
|
}
|
|
@@ -1675,18 +1749,18 @@ function SettingsView($$renderer, $$props) {
|
|
|
1675
1749
|
if (hostEnvVars) {
|
|
1676
1750
|
$$renderer2.push("<!--[0-->");
|
|
1677
1751
|
$$renderer2.push(`<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58">`);
|
|
1678
|
-
const each_array_3 = $
|
|
1752
|
+
const each_array_3 = $29.ensure_array_like(hostEnvNames);
|
|
1679
1753
|
if (each_array_3.length !== 0) {
|
|
1680
1754
|
$$renderer2.push("<!--[-->");
|
|
1681
1755
|
for (let $$index_4 = 0, $$length = each_array_3.length;$$index_4 < $$length; $$index_4++) {
|
|
1682
1756
|
let name = each_array_3[$$index_4];
|
|
1683
1757
|
$$renderer2.push(`<form class="var-item svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!--[-->`);
|
|
1684
|
-
const each_array_4 = $
|
|
1758
|
+
const each_array_4 = $29.ensure_array_like(hostEnvNames.filter((n) => n !== name));
|
|
1685
1759
|
for (let $$index_3 = 0, $$length2 = each_array_4.length;$$index_3 < $$length2; $$index_3++) {
|
|
1686
1760
|
let other = each_array_4[$$index_3];
|
|
1687
|
-
$$renderer2.push(`<input type="hidden" name="names"${$
|
|
1761
|
+
$$renderer2.push(`<input type="hidden" name="names"${$29.attr("value", other)}/>`);
|
|
1688
1762
|
}
|
|
1689
|
-
$$renderer2.push(`<!--]--> <span class="var-name svelte-1n6ht58">${$
|
|
1763
|
+
$$renderer2.push(`<!--]--> <span class="var-name svelte-1n6ht58">${$29.escape(name)}</span> <span${$29.attr_class("var-status svelte-1n6ht58", undefined, { present: hostEnvPresence[name] })}${$29.attr("title", hostEnvPresence[name] ? "Set on this host \u2014 will be injected" : "Not set on this host \u2014 will be skipped")}>${$29.escape(hostEnvPresence[name] ? "set" : "missing")}</span> <button type="submit" class="var-remove svelte-1n6ht58"${$29.attr("disabled", savingHostEnvNames, true)}${$29.attr("aria-label", `Remove ${name}`)}>`);
|
|
1690
1764
|
X($$renderer2, { size: 13 });
|
|
1691
1765
|
$$renderer2.push(`<!----></button></form>`);
|
|
1692
1766
|
}
|
|
@@ -1695,12 +1769,12 @@ function SettingsView($$renderer, $$props) {
|
|
|
1695
1769
|
$$renderer2.push(`<div class="var-empty svelte-1n6ht58">No variables added yet.</div>`);
|
|
1696
1770
|
}
|
|
1697
1771
|
$$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!--[-->`);
|
|
1698
|
-
const each_array_5 = $
|
|
1772
|
+
const each_array_5 = $29.ensure_array_like(hostEnvNames);
|
|
1699
1773
|
for (let $$index_5 = 0, $$length = each_array_5.length;$$index_5 < $$length; $$index_5++) {
|
|
1700
1774
|
let name = each_array_5[$$index_5];
|
|
1701
|
-
$$renderer2.push(`<input type="hidden" name="names"${$
|
|
1775
|
+
$$renderer2.push(`<input type="hidden" name="names"${$29.attr("value", name)}/>`);
|
|
1702
1776
|
}
|
|
1703
|
-
$$renderer2.push(`<!--]--> <input type="text" name="names" class="image-input svelte-1n6ht58"${$
|
|
1777
|
+
$$renderer2.push(`<!--]--> <input type="text" name="names" class="image-input svelte-1n6ht58"${$29.attr("value", newHostEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="AWS_ACCESS_KEY_ID"/> `);
|
|
1704
1778
|
Button($$renderer2, {
|
|
1705
1779
|
type: "submit",
|
|
1706
1780
|
icon: Plus,
|
|
@@ -1713,10 +1787,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1713
1787
|
$$renderer2.push(`<!----></form> `);
|
|
1714
1788
|
if (hostEnvNamesError) {
|
|
1715
1789
|
$$renderer2.push("<!--[0-->");
|
|
1716
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1790
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(hostEnvNamesError)}</div>`);
|
|
1717
1791
|
} else if (hostEnvNamesMsg) {
|
|
1718
1792
|
$$renderer2.push("<!--[1-->");
|
|
1719
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1793
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(hostEnvNamesMsg)}</div>`);
|
|
1720
1794
|
} else {
|
|
1721
1795
|
$$renderer2.push("<!--[-1-->");
|
|
1722
1796
|
}
|
|
@@ -1728,10 +1802,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1728
1802
|
Key_square($$renderer2, { size: 20 });
|
|
1729
1803
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Custom environment variables</div> <div class="desc svelte-1n6ht58">Inject your own <code class="svelte-1n6ht58">NAME=value</code> pairs into every new container as <code class="svelte-1n6ht58">containerEnv</code>, available to all processes. Values are secret \u2014 stored
|
|
1730
1804
|
locally, masked in the build log, and never shown here after saving. Re-add a name to
|
|
1731
|
-
update its value.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1805
|
+
update its value.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", customEnvEnabled, true)}${$29.attr("disabled", savingCustomEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1732
1806
|
if (customEnvToggleError) {
|
|
1733
1807
|
$$renderer2.push("<!--[0-->");
|
|
1734
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1808
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(customEnvToggleError)}</div></div>`);
|
|
1735
1809
|
} else {
|
|
1736
1810
|
$$renderer2.push("<!--[-1-->");
|
|
1737
1811
|
}
|
|
@@ -1739,12 +1813,12 @@ function SettingsView($$renderer, $$props) {
|
|
|
1739
1813
|
if (customEnvEnabled) {
|
|
1740
1814
|
$$renderer2.push("<!--[0-->");
|
|
1741
1815
|
$$renderer2.push(`<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58">`);
|
|
1742
|
-
const each_array_6 = $
|
|
1816
|
+
const each_array_6 = $29.ensure_array_like(customEnvNames);
|
|
1743
1817
|
if (each_array_6.length !== 0) {
|
|
1744
1818
|
$$renderer2.push("<!--[-->");
|
|
1745
1819
|
for (let $$index_6 = 0, $$length = each_array_6.length;$$index_6 < $$length; $$index_6++) {
|
|
1746
1820
|
let name = each_array_6[$$index_6];
|
|
1747
|
-
$$renderer2.push(`<form class="var-item svelte-1n6ht58" method="POST" action="?/removeCustomEnvVar"><input type="hidden" name="name"${$
|
|
1821
|
+
$$renderer2.push(`<form class="var-item svelte-1n6ht58" method="POST" action="?/removeCustomEnvVar"><input type="hidden" name="name"${$29.attr("value", name)}/> <span class="var-name svelte-1n6ht58">${$29.escape(name)}</span> <span class="var-status present svelte-1n6ht58" title="Set \u2014 injected into every new container">\u2022\u2022\u2022\u2022 saved</span> <button type="submit" class="var-remove svelte-1n6ht58"${$29.attr("disabled", savingCustomEnv, true)}${$29.attr("aria-label", `Remove ${name}`)}>`);
|
|
1748
1822
|
X($$renderer2, { size: 13 });
|
|
1749
1823
|
$$renderer2.push(`<!----></button></form>`);
|
|
1750
1824
|
}
|
|
@@ -1752,7 +1826,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1752
1826
|
$$renderer2.push("<!--[!-->");
|
|
1753
1827
|
$$renderer2.push(`<div class="var-empty svelte-1n6ht58">No variables added yet.</div>`);
|
|
1754
1828
|
}
|
|
1755
|
-
$$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/setCustomEnvVar"><input type="text" name="name" class="image-input svelte-1n6ht58"${$
|
|
1829
|
+
$$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/setCustomEnvVar"><input type="text" name="name" class="image-input svelte-1n6ht58"${$29.attr("value", newCustomEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="MY_SECRET"/> <input type="password" name="value" class="image-input svelte-1n6ht58"${$29.attr("value", newCustomEnvValue)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="value"/> `);
|
|
1756
1830
|
Button($$renderer2, {
|
|
1757
1831
|
type: "submit",
|
|
1758
1832
|
icon: Plus,
|
|
@@ -1765,10 +1839,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1765
1839
|
$$renderer2.push(`<!----></form> `);
|
|
1766
1840
|
if (customEnvError) {
|
|
1767
1841
|
$$renderer2.push("<!--[0-->");
|
|
1768
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1842
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(customEnvError)}</div>`);
|
|
1769
1843
|
} else if (customEnvMsg) {
|
|
1770
1844
|
$$renderer2.push("<!--[1-->");
|
|
1771
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1845
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(customEnvMsg)}</div>`);
|
|
1772
1846
|
} else {
|
|
1773
1847
|
$$renderer2.push("<!--[-1-->");
|
|
1774
1848
|
}
|
|
@@ -1782,15 +1856,15 @@ function SettingsView($$renderer, $$props) {
|
|
|
1782
1856
|
ThemePicker($$renderer2, {});
|
|
1783
1857
|
$$renderer2.push(`<!----></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58">`);
|
|
1784
1858
|
Volume_2($$renderer2, { size: 20 });
|
|
1785
|
-
$$renderer2.push(`<!----> <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"${$
|
|
1859
|
+
$$renderer2.push(`<!----> <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"${$29.attr("checked", sound, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58">`);
|
|
1786
1860
|
Keyboard($$renderer2, { size: 20 });
|
|
1787
1861
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Tab keyboard shortcuts</div> <div class="desc svelte-1n6ht58">Jump between open instance tabs with <code class="svelte-1n6ht58">Alt</code>+<code class="svelte-1n6ht58">1</code>\u2013<code class="svelte-1n6ht58">9</code> (9 is
|
|
1788
|
-
always the last tab). Turn off to leave those keystrokes to the editor.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox"${$
|
|
1862
|
+
always the last tab). Turn off to leave those keystrokes to the editor.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox"${$29.attr("checked", tabShortcuts, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></div></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/petToggle"><div class="label svelte-1n6ht58">`);
|
|
1789
1863
|
Paw_print($$renderer2, { size: 18 });
|
|
1790
|
-
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Pet logo</div> <div class="desc svelte-1n6ht58">Swap the box in the header for a pixel pet.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1864
|
+
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Pet logo</div> <div class="desc svelte-1n6ht58">Swap the box in the header for a pixel pet.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", !!petArt, true)}${$29.attr("disabled", savingPet, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1791
1865
|
if (petError) {
|
|
1792
1866
|
$$renderer2.push("<!--[0-->");
|
|
1793
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1867
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(petError)}</div></div>`);
|
|
1794
1868
|
} else {
|
|
1795
1869
|
$$renderer2.push("<!--[-1-->");
|
|
1796
1870
|
}
|
|
@@ -1798,10 +1872,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1798
1872
|
if (petArt) {
|
|
1799
1873
|
$$renderer2.push("<!--[0-->");
|
|
1800
1874
|
$$renderer2.push(`<div class="sub pets svelte-1n6ht58"><!--[-->`);
|
|
1801
|
-
const each_array_7 = $
|
|
1875
|
+
const each_array_7 = $29.ensure_array_like(avatars);
|
|
1802
1876
|
for (let $$index_7 = 0, $$length = each_array_7.length;$$index_7 < $$length; $$index_7++) {
|
|
1803
1877
|
let art = each_array_7[$$index_7];
|
|
1804
|
-
$$renderer2.push(`<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"${$
|
|
1878
|
+
$$renderer2.push(`<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"${$29.attr("value", art.name)}/> <button type="submit"${$29.attr_class("pet svelte-1n6ht58", undefined, { selected: art.name === petArt.name })}${$29.attr("disabled", savingPet, true)}${$29.attr("title", art.name)}${$29.attr("aria-label", art.name)}${$29.attr("aria-pressed", art.name === petArt.name)}>`);
|
|
1805
1879
|
Avatar($$renderer2, { art, name: art.name, scale: 4 });
|
|
1806
1880
|
$$renderer2.push(`<!----></button></form>`);
|
|
1807
1881
|
}
|
|
@@ -1814,30 +1888,30 @@ function SettingsView($$renderer, $$props) {
|
|
|
1814
1888
|
$$renderer2.push(`<!----> <span class="name svelte-1n6ht58">Advanced</span> <span class="hint svelte-1n6ht58">escape hatches \u2014 defaults are right for almost everyone</span></summary> <form class="row divided svelte-1n6ht58" method="POST" action="?/serialInjectionsToggle"><div class="label svelte-1n6ht58">`);
|
|
1815
1889
|
List_ordered($$renderer2, { size: 20 });
|
|
1816
1890
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Serial boot injections</div> <div class="desc svelte-1n6ht58">Run boot injections one at a time instead of in parallel stages. Slower boot; useful
|
|
1817
|
-
when diagnosing injection interference.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1891
|
+
when diagnosing injection interference.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", serialInjections, true)}${$29.attr("disabled", savingSerial, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1818
1892
|
if (serialError) {
|
|
1819
1893
|
$$renderer2.push("<!--[0-->");
|
|
1820
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1894
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(serialError)}</div></div>`);
|
|
1821
1895
|
} else {
|
|
1822
1896
|
$$renderer2.push("<!--[-1-->");
|
|
1823
1897
|
}
|
|
1824
1898
|
$$renderer2.push(`<!--]--> <form class="row divided svelte-1n6ht58" method="POST" action="?/noBuildkitToggle"><div class="label svelte-1n6ht58">`);
|
|
1825
1899
|
Boxes($$renderer2, { size: 20 });
|
|
1826
1900
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Don't force BuildKit</div> <div class="desc svelte-1n6ht58">Skip setting <code class="svelte-1n6ht58">DOCKER_BUILDKIT=1</code> for container builds and let the daemon's
|
|
1827
|
-
default builder decide. For daemons where forcing BuildKit breaks builds.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1901
|
+
default builder decide. For daemons where forcing BuildKit breaks builds.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", noBuildkit, true)}${$29.attr("disabled", savingBuildkit, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1828
1902
|
if (buildkitError) {
|
|
1829
1903
|
$$renderer2.push("<!--[0-->");
|
|
1830
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1904
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(buildkitError)}</div></div>`);
|
|
1831
1905
|
} else {
|
|
1832
1906
|
$$renderer2.push("<!--[-1-->");
|
|
1833
1907
|
}
|
|
1834
1908
|
$$renderer2.push(`<!--]--> <form class="row divided svelte-1n6ht58" method="POST" action="?/blockingExtInstallToggle"><div class="label svelte-1n6ht58">`);
|
|
1835
1909
|
Puzzle($$renderer2, { size: 20 });
|
|
1836
1910
|
$$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Blocking IDE extension install</div> <div class="desc svelte-1n6ht58">Install the Claude Code IDE extension before code-server starts, so the first window
|
|
1837
|
-
always has it active. Slower first boot.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$
|
|
1911
|
+
always has it active. Slower first boot.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$29.attr("checked", blockingExtInstall, true)}${$29.attr("disabled", savingBlocking, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
|
|
1838
1912
|
if (blockingError) {
|
|
1839
1913
|
$$renderer2.push("<!--[0-->");
|
|
1840
|
-
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$
|
|
1914
|
+
$$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$29.escape(blockingError)}</div></div>`);
|
|
1841
1915
|
} else {
|
|
1842
1916
|
$$renderer2.push("<!--[-1-->");
|
|
1843
1917
|
}
|
|
@@ -1847,10 +1921,10 @@ function SettingsView($$renderer, $$props) {
|
|
|
1847
1921
|
again.</div> `);
|
|
1848
1922
|
if (verError) {
|
|
1849
1923
|
$$renderer2.push("<!--[0-->");
|
|
1850
|
-
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$
|
|
1924
|
+
$$renderer2.push(`<div class="msg error svelte-1n6ht58">${$29.escape(verError)}</div>`);
|
|
1851
1925
|
} else if (verMsg) {
|
|
1852
1926
|
$$renderer2.push("<!--[1-->");
|
|
1853
|
-
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$
|
|
1927
|
+
$$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$29.escape(verMsg)}</div>`);
|
|
1854
1928
|
} else {
|
|
1855
1929
|
$$renderer2.push("<!--[-1-->");
|
|
1856
1930
|
}
|
|
@@ -1860,7 +1934,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1860
1934
|
icon: Trash_2,
|
|
1861
1935
|
disabled: clearingVer,
|
|
1862
1936
|
children: ($$renderer3) => {
|
|
1863
|
-
$$renderer3.push(`<!---->${$
|
|
1937
|
+
$$renderer3.push(`<!---->${$29.escape(clearingVer ? "Clearing\u2026" : "Clear cache")}`);
|
|
1864
1938
|
},
|
|
1865
1939
|
$$slots: { default: true }
|
|
1866
1940
|
});
|
|
@@ -1884,7 +1958,7 @@ function SettingsView($$renderer, $$props) {
|
|
|
1884
1958
|
}
|
|
1885
1959
|
$$renderer2.push(`<!--]--></form></section> `);
|
|
1886
1960
|
CoinButton($$renderer2, {});
|
|
1887
|
-
$$renderer2.push(`<!----> <div class="version svelte-1n6ht58">Codebay v${$
|
|
1961
|
+
$$renderer2.push(`<!----> <div class="version svelte-1n6ht58">Codebay v${$29.escape(version)}</div></main></div> `);
|
|
1888
1962
|
Toaster($$renderer2, { toastOptions: TOAST_OPTIONS });
|
|
1889
1963
|
$$renderer2.push(`<!---->`);
|
|
1890
1964
|
});
|
|
@@ -1904,6 +1978,7 @@ function Settings($$renderer, $$props) {
|
|
|
1904
1978
|
disableBuildCache,
|
|
1905
1979
|
copyIgnorePatterns,
|
|
1906
1980
|
builtinCopyIgnore,
|
|
1981
|
+
claudeConfigDir,
|
|
1907
1982
|
gitIdentityEnabled,
|
|
1908
1983
|
gitIdentityName,
|
|
1909
1984
|
gitIdentityEmail,
|
|
@@ -1937,7 +2012,7 @@ function Settings($$renderer, $$props) {
|
|
|
1937
2012
|
} = $$props;
|
|
1938
2013
|
if (true) {
|
|
1939
2014
|
let failed = function($$renderer3, error) {
|
|
1940
|
-
$$renderer3.push(`<mochi-island-failure data-component="SettingsView"${$
|
|
2015
|
+
$$renderer3.push(`<mochi-island-failure data-component="SettingsView"${$30.attr("data-message", error.message)}></mochi-island-failure>`);
|
|
1941
2016
|
};
|
|
1942
2017
|
$$renderer2.push("<!--[0-->");
|
|
1943
2018
|
$$renderer2.boundary({ failed }, ($$renderer3) => {
|
|
@@ -1945,7 +2020,7 @@ function Settings($$renderer, $$props) {
|
|
|
1945
2020
|
{
|
|
1946
2021
|
HydratableBoundary($$renderer3, {
|
|
1947
2022
|
children: ($$renderer4) => {
|
|
1948
|
-
$$renderer4.push(`<mochi-hydratable-island component-name="SettingsView_8hmarwmf8onq" component-url="__MOCHI_COMPONENT_URL__SettingsView_8hmarwmf8onq__"${$
|
|
2023
|
+
$$renderer4.push(`<mochi-hydratable-island component-name="SettingsView_8hmarwmf8onq" component-url="__MOCHI_COMPONENT_URL__SettingsView_8hmarwmf8onq__"${$30.attr("props-ref", emitIslandProps({
|
|
1949
2024
|
pet,
|
|
1950
2025
|
defaultMode,
|
|
1951
2026
|
claudePermissionMode,
|
|
@@ -1956,6 +2031,7 @@ function Settings($$renderer, $$props) {
|
|
|
1956
2031
|
disableBuildCache,
|
|
1957
2032
|
copyIgnorePatterns,
|
|
1958
2033
|
builtinCopyIgnore,
|
|
2034
|
+
claudeConfigDir,
|
|
1959
2035
|
gitIdentityEnabled,
|
|
1960
2036
|
gitIdentityName,
|
|
1961
2037
|
gitIdentityEmail,
|
|
@@ -2000,6 +2076,7 @@ function Settings($$renderer, $$props) {
|
|
|
2000
2076
|
disableBuildCache,
|
|
2001
2077
|
copyIgnorePatterns,
|
|
2002
2078
|
builtinCopyIgnore,
|
|
2079
|
+
claudeConfigDir,
|
|
2003
2080
|
gitIdentityEnabled,
|
|
2004
2081
|
gitIdentityName,
|
|
2005
2082
|
gitIdentityEmail,
|