codebay 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/.mochi/manifest.json +198 -190
  2. package/.mochi/svelte-client/HydratableIsland-zrdsrsmg.js +1 -0
  3. package/.mochi/svelte-client/{_hydrate-AppShell_2rtnxn6pgp2rh-aqm4k957.js → _hydrate-AppShell_2rtnxn6pgp2rh-v7y7dh53.js} +2 -2
  4. package/.mochi/svelte-client/{_hydrate-AvatarsView_257s9yq1wwr4f-m7h7xdxn.js → _hydrate-AvatarsView_257s9yq1wwr4f-tmwd6fpb.js} +1 -1
  5. package/.mochi/svelte-client/{_hydrate-InstanceView_2ma45l9bybfhl-d256bw54.js → _hydrate-InstanceView_2ma45l9bybfhl-m7t64dbh.js} +1 -1
  6. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-wedc9x9y.js +39 -0
  7. package/.mochi/svelte-client/{chunk-2eaagsfc.js → chunk-0mc09cyb.js} +1 -1
  8. package/.mochi/svelte-client/{chunk-a5e8vytv.js → chunk-5jwfs4p9.js} +2 -2
  9. package/.mochi/svelte-client/chunk-6qg4q98a.js +2 -0
  10. package/.mochi/svelte-client/{chunk-d8rdrqsh.js → chunk-ccfh8hxz.js} +1 -1
  11. package/.mochi/svelte-client/{chunk-d9bszcp8.js → chunk-phf7v5jj.js} +1 -1
  12. package/.mochi/svelte-client/{chunk-y1xjps59.js → chunk-spk1b2r4.js} +1 -1
  13. package/.mochi/svelte-client/chunk-tmeh70wg.js +2 -0
  14. package/.mochi/svelte-client/{chunk-6v5d7dex.js → chunk-vs1yjbqt.js} +1 -1
  15. package/.mochi/svelte-client/{chunk-1ttqgrz7.js → chunk-x0m3k0rn.js} +1 -1
  16. package/.mochi/svelte-client/{chunk-s70rry6z.js → chunk-y7f4jbdm.js} +1 -1
  17. package/.mochi/svelte-compile/{App-bhak71kt.server.js → App-94xsdn0w.server.js} +2 -2
  18. package/.mochi/svelte-compile/{Avatars-c0k5jx8q.server.js → Avatars-fnccw47h.server.js} +1 -1
  19. package/.mochi/svelte-compile/{Instance-hj76qnha.server.js → Instance-knnkcn2p.server.js} +1 -1
  20. package/.mochi/svelte-compile/{Settings-j3aygrjb.server.js → Settings-h7gsjyz3.server.js} +169 -114
  21. package/.mochi/svelte-compile/{chunk-gz6hv1h5.js → chunk-apdte4nh.js} +121 -143
  22. package/.mochi/svelte-compile/{chunk-zd49axkf.js → chunk-w0hca7va.js} +2 -1
  23. package/package.json +1 -1
  24. package/src/avatars/anchor.ts +1 -2
  25. package/src/avatars/bear.ts +2 -3
  26. package/src/avatars/bee.ts +7 -8
  27. package/src/avatars/cat.ts +4 -5
  28. package/src/avatars/cherry.ts +7 -8
  29. package/src/avatars/crab.ts +6 -7
  30. package/src/avatars/crown.ts +2 -3
  31. package/src/avatars/dog.ts +8 -9
  32. package/src/avatars/fish.ts +8 -9
  33. package/src/avatars/flower.ts +6 -7
  34. package/src/avatars/fox.ts +8 -9
  35. package/src/avatars/frog.ts +6 -7
  36. package/src/avatars/key.ts +2 -3
  37. package/src/avatars/mushroom.ts +4 -5
  38. package/src/avatars/octopus.ts +7 -8
  39. package/src/avatars/owl.ts +7 -8
  40. package/src/avatars/penguin.ts +8 -9
  41. package/src/avatars/planet.ts +8 -9
  42. package/src/avatars/rabbit.ts +3 -4
  43. package/src/avatars/robot.ts +6 -7
  44. package/src/avatars/snail.ts +6 -7
  45. package/src/avatars/star.ts +5 -6
  46. package/src/components/SettingsView.svelte +74 -0
  47. package/src/container-injections/claude-code-install.ts +12 -7
  48. package/src/container-injections/claude-code-update.ts +45 -10
  49. package/src/container-injections/claude-output-style.ts +84 -0
  50. package/src/lib/injections.server.ts +5 -1
  51. package/src/pages/Settings.svelte +9 -1
  52. package/src/routes.ts +10 -0
  53. package/src/types.ts +16 -0
  54. package/.mochi/svelte-client/HydratableIsland-4j3bazeq.js +0 -1
  55. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-pwbtv8ma.js +0 -39
  56. package/.mochi/svelte-client/chunk-krevp8yb.js +0 -2
  57. package/.mochi/svelte-client/chunk-wcfbjj3x.js +0 -2
@@ -12,12 +12,13 @@ import {
12
12
  } from "./chunk-pqb403fh.js";
13
13
  import {
14
14
  CLAUDE_EFFORT_LEVELS,
15
+ CLAUDE_OUTPUT_STYLES,
15
16
  CLAUDE_PERMISSION_MODES,
16
17
  apiPost,
17
18
  applyTheme,
18
19
  getTheme,
19
20
  setTheme
20
- } from "./chunk-zd49axkf.js";
21
+ } from "./chunk-w0hca7va.js";
21
22
  import {
22
23
  Rotate_ccw
23
24
  } from "./chunk-jx6h1xzp.js";
@@ -29,7 +30,7 @@ import {
29
30
  Toaster,
30
31
  avatars,
31
32
  findAvatar
32
- } from "./chunk-gz6hv1h5.js";
33
+ } from "./chunk-apdte4nh.js";
33
34
  import {
34
35
  HydratableBoundary,
35
36
  Icon,
@@ -40,11 +41,11 @@ import"./chunk-xpt1a7jm.js";
40
41
 
41
42
  // src/pages/Settings.svelte
42
43
  import"svelte/internal/flags/async";
43
- import * as $28 from "svelte/internal/server";
44
+ import * as $29 from "svelte/internal/server";
44
45
 
45
46
  // src/components/SettingsView.svelte
46
47
  import"svelte/internal/flags/async";
47
- import * as $27 from "svelte/internal/server";
48
+ import * as $28 from "svelte/internal/server";
48
49
 
49
50
  // node_modules/@lucide/svelte/dist/icons/container.svelte
50
51
  import"svelte/internal/flags/async";
@@ -579,6 +580,21 @@ function Gauge($$renderer, $$props) {
579
580
  ];
580
581
  Icon($$renderer, $26.spread_props([{ name: "gauge" }, props, { iconNode }]));
581
582
  }
583
+ // node_modules/@lucide/svelte/dist/icons/message-square.svelte
584
+ import"svelte/internal/flags/async";
585
+ import * as $27 from "svelte/internal/server";
586
+ function Message_square($$renderer, $$props) {
587
+ let { $$slots, $$events, ...props } = $$props;
588
+ const iconNode = [
589
+ [
590
+ "path",
591
+ {
592
+ d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"
593
+ }
594
+ ]
595
+ ];
596
+ Icon($$renderer, $27.spread_props([{ name: "message-square" }, props, { iconNode }]));
597
+ }
582
598
  // src/components/SettingsView.svelte
583
599
  function SettingsView($$renderer, $$props) {
584
600
  $$renderer.component(($$renderer2) => {
@@ -587,6 +603,7 @@ function SettingsView($$renderer, $$props) {
587
603
  defaultMode,
588
604
  claudePermissionMode,
589
605
  claudeEffortLevel,
606
+ claudeOutputStyle,
590
607
  defaultImage,
591
608
  builtinImage,
592
609
  disableBuildCache,
@@ -738,6 +755,26 @@ function SettingsView($$renderer, $$props) {
738
755
  flushSync(() => effortChoice = next);
739
756
  effortFormEl?.requestSubmit();
740
757
  }
758
+ let outputStyleChoice = claudeOutputStyle;
759
+ let savingOutputStyle = false;
760
+ let outputStyleError = null;
761
+ let outputStyleFormEl;
762
+ const outputStyleOpts = saveOpts({
763
+ setSaving: (v) => savingOutputStyle = v,
764
+ setError: (v) => outputStyleError = v,
765
+ setMsg: () => {},
766
+ onSuccess: (data) => {
767
+ if (data?.style)
768
+ outputStyleChoice = data.style;
769
+ }
770
+ });
771
+ const OUTPUT_STYLE_LABELS = { default: "Default", none: "None", Concise: "Concise" };
772
+ function chooseOutputStyle(next) {
773
+ if (next === outputStyleChoice)
774
+ return;
775
+ flushSync(() => outputStyleChoice = next);
776
+ outputStyleFormEl?.requestSubmit();
777
+ }
741
778
  let image = defaultImage;
742
779
  let savingImage = false;
743
780
  let imageError = null;
@@ -992,7 +1029,7 @@ function SettingsView($$renderer, $$props) {
992
1029
  manualModelsMsg = "Saved.";
993
1030
  }
994
1031
  });
995
- let litellmBlocker = $27.derived(() => manualTokens ? "Set tokens manually" : manualModelOverride ? "Override models manually" : null);
1032
+ let litellmBlocker = $28.derived(() => manualTokens ? "Set tokens manually" : manualModelOverride ? "Override models manually" : null);
996
1033
  let hostEnvVars = hostEnvVarsEnabled;
997
1034
  let savingHostEnvToggle = false;
998
1035
  let hostEnvToggleError = null;
@@ -1168,30 +1205,30 @@ function SettingsView($$renderer, $$props) {
1168
1205
  $$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">`);
1169
1206
  Terminal($$renderer2, { size: 20 });
1170
1207
  $$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
1171
- can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"${$27.attr("value", modeChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Default editor mode"><button type="button"${$27.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "ide" })}${$27.attr("aria-pressed", modeChoice === "ide")}${$27.attr("disabled", savingMode, true)}>`);
1208
+ can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"${$28.attr("value", modeChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Default editor mode"><button type="button"${$28.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "ide" })}${$28.attr("aria-pressed", modeChoice === "ide")}${$28.attr("disabled", savingMode, true)}>`);
1172
1209
  Layout_template($$renderer2, { size: 15 });
1173
- $$renderer2.push(`<!----> Full IDE</button> <button type="button"${$27.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "terminal" })}${$27.attr("aria-pressed", modeChoice === "terminal")}${$27.attr("disabled", savingMode, true)}>`);
1210
+ $$renderer2.push(`<!----> Full IDE</button> <button type="button"${$28.attr_class("mode-btn svelte-1n6ht58", undefined, { active: modeChoice === "terminal" })}${$28.attr("aria-pressed", modeChoice === "terminal")}${$28.attr("disabled", savingMode, true)}>`);
1174
1211
  Terminal($$renderer2, { size: 15 });
1175
1212
  $$renderer2.push(`<!----> Terminal</button></div></form> `);
1176
1213
  if (modeError) {
1177
1214
  $$renderer2.push("<!--[0-->");
1178
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(modeError)}</div></div>`);
1215
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(modeError)}</div></div>`);
1179
1216
  } else {
1180
1217
  $$renderer2.push("<!--[-1-->");
1181
1218
  }
1182
1219
  $$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudePermissionMode"><div class="label svelte-1n6ht58">`);
1183
1220
  Shield_check($$renderer2, { size: 20 });
1184
1221
  $$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
1185
- create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="mode"${$27.attr("value", permissionChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude permission mode"><!--[-->`);
1186
- const each_array = $27.ensure_array_like(CLAUDE_PERMISSION_MODES);
1222
+ create and rebuild, not to already-running instances.</div></div></div> <input type="hidden" name="mode"${$28.attr("value", permissionChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude permission mode"><!--[-->`);
1223
+ const each_array = $28.ensure_array_like(CLAUDE_PERMISSION_MODES);
1187
1224
  for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
1188
1225
  let option = each_array[$$index];
1189
- $$renderer2.push(`<button type="button"${$27.attr_class("mode-btn svelte-1n6ht58", undefined, { active: permissionChoice === option })}${$27.attr("aria-pressed", permissionChoice === option)}${$27.attr("disabled", savingPermission, true)}>${$27.escape(PERMISSION_LABELS[option])}</button>`);
1226
+ $$renderer2.push(`<button type="button"${$28.attr_class("mode-btn svelte-1n6ht58", undefined, { active: permissionChoice === option })}${$28.attr("aria-pressed", permissionChoice === option)}${$28.attr("disabled", savingPermission, true)}>${$28.escape(PERMISSION_LABELS[option])}</button>`);
1190
1227
  }
1191
1228
  $$renderer2.push(`<!--]--></div></form> `);
1192
1229
  if (permissionError) {
1193
1230
  $$renderer2.push("<!--[0-->");
1194
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(permissionError)}</div></div>`);
1231
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(permissionError)}</div></div>`);
1195
1232
  } else {
1196
1233
  $$renderer2.push("<!--[-1-->");
1197
1234
  }
@@ -1199,16 +1236,31 @@ function SettingsView($$renderer, $$props) {
1199
1236
  Gauge($$renderer2, { size: 20 });
1200
1237
  $$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,
1201
1238
  written to <code class="svelte-1n6ht58">~/.claude/settings.json</code>. Applies on create and rebuild, not to
1202
- already-running instances.</div></div></div> <input type="hidden" name="level"${$27.attr("value", effortChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude effort level"><!--[-->`);
1203
- const each_array_1 = $27.ensure_array_like(CLAUDE_EFFORT_LEVELS);
1239
+ already-running instances.</div></div></div> <input type="hidden" name="level"${$28.attr("value", effortChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude effort level"><!--[-->`);
1240
+ const each_array_1 = $28.ensure_array_like(CLAUDE_EFFORT_LEVELS);
1204
1241
  for (let $$index_1 = 0, $$length = each_array_1.length;$$index_1 < $$length; $$index_1++) {
1205
1242
  let option = each_array_1[$$index_1];
1206
- $$renderer2.push(`<button type="button"${$27.attr_class("mode-btn svelte-1n6ht58", undefined, { active: effortChoice === option })}${$27.attr("aria-pressed", effortChoice === option)}${$27.attr("disabled", savingEffort, true)}>${$27.escape(EFFORT_LABELS[option])}</button>`);
1243
+ $$renderer2.push(`<button type="button"${$28.attr_class("mode-btn svelte-1n6ht58", undefined, { active: effortChoice === option })}${$28.attr("aria-pressed", effortChoice === option)}${$28.attr("disabled", savingEffort, true)}>${$28.escape(EFFORT_LABELS[option])}</button>`);
1207
1244
  }
1208
1245
  $$renderer2.push(`<!--]--></div></form> `);
1209
1246
  if (effortError) {
1210
1247
  $$renderer2.push("<!--[0-->");
1211
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(effortError)}</div></div>`);
1248
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(effortError)}</div></div>`);
1249
+ } else {
1250
+ $$renderer2.push("<!--[-1-->");
1251
+ }
1252
+ $$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/claudeOutputStyle"><div class="label svelte-1n6ht58">`);
1253
+ 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"${$28.attr("value", outputStyleChoice)}/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Claude output style"><!--[-->`);
1255
+ const each_array_2 = $28.ensure_array_like(CLAUDE_OUTPUT_STYLES);
1256
+ for (let $$index_2 = 0, $$length = each_array_2.length;$$index_2 < $$length; $$index_2++) {
1257
+ let option = each_array_2[$$index_2];
1258
+ $$renderer2.push(`<button type="button"${$28.attr_class("mode-btn svelte-1n6ht58", undefined, { active: outputStyleChoice === option })}${$28.attr("aria-pressed", outputStyleChoice === option)}${$28.attr("disabled", savingOutputStyle, true)}>${$28.escape(OUTPUT_STYLE_LABELS[option])}</button>`);
1259
+ }
1260
+ $$renderer2.push(`<!--]--></div></form> `);
1261
+ if (outputStyleError) {
1262
+ $$renderer2.push("<!--[0-->");
1263
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(outputStyleError)}</div></div>`);
1212
1264
  } else {
1213
1265
  $$renderer2.push("<!--[-1-->");
1214
1266
  }
@@ -1217,12 +1269,12 @@ function SettingsView($$renderer, $$props) {
1217
1269
  $$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default container image `);
1218
1270
  if (dockerArch) {
1219
1271
  $$renderer2.push("<!--[0-->");
1220
- $$renderer2.push(`<span class="arch svelte-1n6ht58" title="Docker daemon architecture">${$27.escape(dockerArch)}</span>`);
1272
+ $$renderer2.push(`<span class="arch svelte-1n6ht58" title="Docker daemon architecture">${$28.escape(dockerArch)}</span>`);
1221
1273
  } else {
1222
1274
  $$renderer2.push("<!--[-1-->");
1223
1275
  }
1224
1276
  $$renderer2.push(`<!--]--></div> <div class="desc svelte-1n6ht58">Used only when a project folder ships no devcontainer.json. Takes effect for instances
1225
- created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58"${$27.attr("value", image)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="mcr.microsoft.com/devcontainers/base:ubuntu"/> `);
1277
+ created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58"${$28.attr("value", image)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="mcr.microsoft.com/devcontainers/base:ubuntu"/> `);
1226
1278
  Button($$renderer2, {
1227
1279
  type: "submit",
1228
1280
  disabled: savingImage,
@@ -1237,14 +1289,14 @@ function SettingsView($$renderer, $$props) {
1237
1289
  icon: Rotate_ccw,
1238
1290
  disabled: savingImage,
1239
1291
  onclick: resetImage,
1240
- title: `Reset to default (${$27.stringify(builtinImage)})`,
1292
+ title: `Reset to default (${$28.stringify(builtinImage)})`,
1241
1293
  "aria-label": "Reset to default image"
1242
1294
  });
1243
1295
  $$renderer2.push(`<!----></div> <div class="desc tip svelte-1n6ht58">`);
1244
1296
  if (dockerArch) {
1245
1297
  $$renderer2.push("<!--[0-->");
1246
- $$renderer2.push(`Your Docker daemon runs on <strong>${$27.escape(dockerArch)}</strong> \u2014 pick an image that publishes
1247
- an <strong>${$27.escape(dockerArch)}</strong> manifest, or the pull will fail.`);
1298
+ $$renderer2.push(`Your Docker daemon runs on <strong>${$28.escape(dockerArch)}</strong> \u2014 pick an image that publishes
1299
+ an <strong>${$28.escape(dockerArch)}</strong> manifest, or the pull will fail.`);
1248
1300
  } else {
1249
1301
  $$renderer2.push("<!--[-1-->");
1250
1302
  $$renderer2.push(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
@@ -1253,7 +1305,7 @@ function SettingsView($$renderer, $$props) {
1253
1305
  $$renderer2.push(`<!--]--></div> `);
1254
1306
  if (imageError) {
1255
1307
  $$renderer2.push("<!--[0-->");
1256
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(imageError)}</div>`);
1308
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(imageError)}</div>`);
1257
1309
  } else if (imageSaved) {
1258
1310
  $$renderer2.push("<!--[1-->");
1259
1311
  $$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
@@ -1264,7 +1316,7 @@ function SettingsView($$renderer, $$props) {
1264
1316
  Folder_minus($$renderer2, { size: 20 });
1265
1317
  $$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
1266
1318
  new instance's workspace. Leave blank to copy everything. Only applies to local
1267
- 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"${$27.attr("value", copyIgnore)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="node_modules, .venv, dist"/> `);
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"${$28.attr("value", copyIgnore)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="node_modules, .venv, dist"/> `);
1268
1320
  Button($$renderer2, {
1269
1321
  type: "submit",
1270
1322
  disabled: savingCopyIgnore,
@@ -1279,13 +1331,13 @@ function SettingsView($$renderer, $$props) {
1279
1331
  icon: Rotate_ccw,
1280
1332
  disabled: savingCopyIgnore,
1281
1333
  onclick: resetCopyIgnore,
1282
- title: `Reset to default (${$27.stringify(builtinCopyIgnore)})`,
1334
+ title: `Reset to default (${$28.stringify(builtinCopyIgnore)})`,
1283
1335
  "aria-label": "Reset to default copy-ignore patterns"
1284
1336
  });
1285
1337
  $$renderer2.push(`<!----></div> `);
1286
1338
  if (copyIgnoreError) {
1287
1339
  $$renderer2.push("<!--[0-->");
1288
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(copyIgnoreError)}</div>`);
1340
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(copyIgnoreError)}</div>`);
1289
1341
  } else if (copyIgnoreSaved) {
1290
1342
  $$renderer2.push("<!--[1-->");
1291
1343
  $$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
@@ -1296,10 +1348,10 @@ function SettingsView($$renderer, $$props) {
1296
1348
  User_cog($$renderer2, { size: 20 });
1297
1349
  $$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
1298
1350
  new container, taking precedence over the host's own git config. When off, each container
1299
- falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", gitIdentity, true)}${$27.attr("disabled", savingGitToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1351
+ falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", gitIdentity, true)}${$28.attr("disabled", savingGitToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1300
1352
  if (gitToggleError) {
1301
1353
  $$renderer2.push("<!--[0-->");
1302
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(gitToggleError)}</div></div>`);
1354
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(gitToggleError)}</div></div>`);
1303
1355
  } else {
1304
1356
  $$renderer2.push("<!--[-1-->");
1305
1357
  }
@@ -1307,7 +1359,7 @@ function SettingsView($$renderer, $$props) {
1307
1359
  if (gitIdentity) {
1308
1360
  $$renderer2.push("<!--[0-->");
1309
1361
  $$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
1310
- 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"${$27.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"${$27.attr("value", gitEmail)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="jane@example.com"/></label> <div class="model-save-row svelte-1n6ht58">`);
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"${$28.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"${$28.attr("value", gitEmail)} spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="jane@example.com"/></label> <div class="model-save-row svelte-1n6ht58">`);
1311
1363
  Button($$renderer2, {
1312
1364
  type: "submit",
1313
1365
  disabled: savingGitIdentity,
@@ -1319,7 +1371,7 @@ function SettingsView($$renderer, $$props) {
1319
1371
  $$renderer2.push(`<!----></div></div> `);
1320
1372
  if (gitIdentityError) {
1321
1373
  $$renderer2.push("<!--[0-->");
1322
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(gitIdentityError)}</div>`);
1374
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(gitIdentityError)}</div>`);
1323
1375
  } else if (gitIdentitySaved) {
1324
1376
  $$renderer2.push("<!--[1-->");
1325
1377
  $$renderer2.push(`<div class="msg ok svelte-1n6ht58">Saved.</div>`);
@@ -1333,10 +1385,10 @@ function SettingsView($$renderer, $$props) {
1333
1385
  $$renderer2.push(`<!--]--></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/disableBuildCache"><div class="label svelte-1n6ht58">`);
1334
1386
  Layers($$renderer2, { size: 20 });
1335
1387
  $$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
1336
- 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"${$27.attr("checked", noCache, true)}${$27.attr("disabled", savingCache, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
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"${$28.attr("checked", noCache, true)}${$28.attr("disabled", savingCache, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1337
1389
  if (cacheError) {
1338
1390
  $$renderer2.push("<!--[0-->");
1339
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(cacheError)}</div></div>`);
1391
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(cacheError)}</div></div>`);
1340
1392
  } else {
1341
1393
  $$renderer2.push("<!--[-1-->");
1342
1394
  }
@@ -1346,10 +1398,10 @@ function SettingsView($$renderer, $$props) {
1346
1398
  remove pulled images.</div> `);
1347
1399
  if (clearError) {
1348
1400
  $$renderer2.push("<!--[0-->");
1349
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(clearError)}</div>`);
1401
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(clearError)}</div>`);
1350
1402
  } else if (clearMsg) {
1351
1403
  $$renderer2.push("<!--[1-->");
1352
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(clearMsg)}</div>`);
1404
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(clearMsg)}</div>`);
1353
1405
  } else {
1354
1406
  $$renderer2.push("<!--[-1-->");
1355
1407
  }
@@ -1359,7 +1411,7 @@ function SettingsView($$renderer, $$props) {
1359
1411
  icon: Trash_2,
1360
1412
  disabled: clearing,
1361
1413
  children: ($$renderer3) => {
1362
- $$renderer3.push(`<!---->${$27.escape(clearing ? "Clearing\u2026" : "Clear cache")}`);
1414
+ $$renderer3.push(`<!---->${$28.escape(clearing ? "Clearing\u2026" : "Clear cache")}`);
1363
1415
  },
1364
1416
  $$slots: { default: true }
1365
1417
  });
@@ -1369,10 +1421,10 @@ function SettingsView($$renderer, $$props) {
1369
1421
  layers. In-container edits are kept; stopped instances are left alone.</div> `);
1370
1422
  if (rebuildError) {
1371
1423
  $$renderer2.push("<!--[0-->");
1372
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(rebuildError)}</div>`);
1424
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(rebuildError)}</div>`);
1373
1425
  } else if (rebuildMsg) {
1374
1426
  $$renderer2.push("<!--[1-->");
1375
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(rebuildMsg)}</div>`);
1427
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(rebuildMsg)}</div>`);
1376
1428
  } else {
1377
1429
  $$renderer2.push("<!--[-1-->");
1378
1430
  }
@@ -1382,11 +1434,11 @@ function SettingsView($$renderer, $$props) {
1382
1434
  icon: Hammer,
1383
1435
  disabled: rebuilding,
1384
1436
  children: ($$renderer3) => {
1385
- $$renderer3.push(`<!---->${$27.escape(rebuilding ? "Starting\u2026" : "Rebuild all")}`);
1437
+ $$renderer3.push(`<!---->${$28.escape(rebuilding ? "Starting\u2026" : "Rebuild all")}`);
1386
1438
  },
1387
1439
  $$slots: { default: true }
1388
1440
  });
1389
- $$renderer2.push(`<!----></form></section> <section${$27.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58">`);
1441
+ $$renderer2.push(`<!----></form></section> <section${$28.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58">`);
1390
1442
  Key_round($$renderer2, { size: 20 });
1391
1443
  $$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Set tokens manually `);
1392
1444
  if (customEndpoint) {
@@ -1407,10 +1459,10 @@ function SettingsView($$renderer, $$props) {
1407
1459
  token set here is injected into every new container and overrides host credential
1408
1460
  discovery.`);
1409
1461
  }
1410
- $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", manualTokens, true)}${$27.attr("disabled", savingManualToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1462
+ $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", manualTokens, true)}${$28.attr("disabled", savingManualToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1411
1463
  if (manualToggleError) {
1412
1464
  $$renderer2.push("<!--[0-->");
1413
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(manualToggleError)}</div></div>`);
1465
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(manualToggleError)}</div></div>`);
1414
1466
  } else {
1415
1467
  $$renderer2.push("<!--[-1-->");
1416
1468
  }
@@ -1418,7 +1470,7 @@ function SettingsView($$renderer, $$props) {
1418
1470
  if (manualTokens && !customEndpoint) {
1419
1471
  $$renderer2.push("<!--[0-->");
1420
1472
  $$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
1421
- 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"${$27.attr("value", githubToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$27.attr("placeholder", ghSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "ghp_\u2026 / gho_\u2026")}/> `);
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"${$28.attr("value", githubToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$28.attr("placeholder", ghSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "ghp_\u2026 / gho_\u2026")}/> `);
1422
1474
  Button($$renderer2, {
1423
1475
  type: "submit",
1424
1476
  disabled: savingGithub,
@@ -1430,17 +1482,17 @@ function SettingsView($$renderer, $$props) {
1430
1482
  $$renderer2.push(`<!----></div> `);
1431
1483
  if (githubError) {
1432
1484
  $$renderer2.push("<!--[0-->");
1433
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(githubError)}</div>`);
1485
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(githubError)}</div>`);
1434
1486
  } else if (githubMsg) {
1435
1487
  $$renderer2.push("<!--[1-->");
1436
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(githubMsg)}</div>`);
1488
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(githubMsg)}</div>`);
1437
1489
  } else {
1438
1490
  $$renderer2.push("<!--[-1-->");
1439
1491
  }
1440
1492
  $$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
1441
1493
  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
1442
1494
  the first <code class="svelte-1n6ht58">claude</code> to refresh it signs the other one out. Leave blank and Save
1443
- to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58"${$27.attr("value", claudeToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$27.attr("placeholder", claudeSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-ant-oat\u2026")}/> `);
1495
+ to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58"${$28.attr("value", claudeToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$28.attr("placeholder", claudeSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-ant-oat\u2026")}/> `);
1444
1496
  Button($$renderer2, {
1445
1497
  type: "submit",
1446
1498
  disabled: savingClaude,
@@ -1452,10 +1504,10 @@ function SettingsView($$renderer, $$props) {
1452
1504
  $$renderer2.push(`<!----></div> `);
1453
1505
  if (claudeError) {
1454
1506
  $$renderer2.push("<!--[0-->");
1455
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(claudeError)}</div>`);
1507
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(claudeError)}</div>`);
1456
1508
  } else if (claudeMsg) {
1457
1509
  $$renderer2.push("<!--[1-->");
1458
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(claudeMsg)}</div>`);
1510
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(claudeMsg)}</div>`);
1459
1511
  } else {
1460
1512
  $$renderer2.push("<!--[-1-->");
1461
1513
  }
@@ -1463,19 +1515,19 @@ function SettingsView($$renderer, $$props) {
1463
1515
  } else {
1464
1516
  $$renderer2.push("<!--[-1-->");
1465
1517
  }
1466
- $$renderer2.push(`<!--]--></section> <section${$27.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": litellmBlocker() })}><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58">`);
1518
+ $$renderer2.push(`<!--]--></section> <section${$28.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": litellmBlocker() })}><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58">`);
1467
1519
  Key_round($$renderer2, { size: 20 });
1468
1520
  $$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">LiteLLM + Bedrock `);
1469
1521
  if (litellmBlocker()) {
1470
1522
  $$renderer2.push("<!--[0-->");
1471
- $$renderer2.push(`<span class="arch svelte-1n6ht58"${$27.attr("title", `Disabled while ${$27.stringify(litellmBlocker())} is on`)}>disabled</span>`);
1523
+ $$renderer2.push(`<span class="arch svelte-1n6ht58"${$28.attr("title", `Disabled while ${$28.stringify(litellmBlocker())} is on`)}>disabled</span>`);
1472
1524
  } else {
1473
1525
  $$renderer2.push("<!--[-1-->");
1474
1526
  }
1475
1527
  $$renderer2.push(`<!--]--></div> <div class="desc svelte-1n6ht58">`);
1476
1528
  if (litellmBlocker()) {
1477
1529
  $$renderer2.push("<!--[0-->");
1478
- $$renderer2.push(`Not available while "${$27.escape(litellmBlocker())}" is enabled \u2014 these modes are mutually
1530
+ $$renderer2.push(`Not available while "${$28.escape(litellmBlocker())}" is enabled \u2014 these modes are mutually
1479
1531
  incompatible.`);
1480
1532
  } else {
1481
1533
  $$renderer2.push("<!--[-1-->");
@@ -1483,17 +1535,17 @@ function SettingsView($$renderer, $$props) {
1483
1535
  default API. When enabled, the Bedrock endpoint variables are injected into every new
1484
1536
  container, host OAuth credentials are not used, and "Set tokens manually" is disabled.`);
1485
1537
  }
1486
- $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", customEndpoint, true)}${$27.attr("disabled", savingCustomToggle || !!litellmBlocker(), true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1538
+ $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", customEndpoint, true)}${$28.attr("disabled", savingCustomToggle || !!litellmBlocker(), true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1487
1539
  if (customToggleError) {
1488
1540
  $$renderer2.push("<!--[0-->");
1489
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(customToggleError)}</div></div>`);
1541
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(customToggleError)}</div></div>`);
1490
1542
  } else {
1491
1543
  $$renderer2.push("<!--[-1-->");
1492
1544
  }
1493
1545
  $$renderer2.push(`<!--]--> `);
1494
1546
  if (customEndpoint) {
1495
1547
  $$renderer2.push("<!--[0-->");
1496
- $$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"${$27.attr("value", customBaseUrl)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="https://litellm.example.com/bedrock"/> `);
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"${$28.attr("value", customBaseUrl)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="https://litellm.example.com/bedrock"/> `);
1497
1549
  Button($$renderer2, {
1498
1550
  type: "submit",
1499
1551
  disabled: savingCustomBaseUrl,
@@ -1505,15 +1557,15 @@ function SettingsView($$renderer, $$props) {
1505
1557
  $$renderer2.push(`<!----></div> `);
1506
1558
  if (customBaseUrlError) {
1507
1559
  $$renderer2.push("<!--[0-->");
1508
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(customBaseUrlError)}</div>`);
1560
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(customBaseUrlError)}</div>`);
1509
1561
  } else if (customBaseUrlMsg) {
1510
1562
  $$renderer2.push("<!--[1-->");
1511
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(customBaseUrlMsg)}</div>`);
1563
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(customBaseUrlMsg)}</div>`);
1512
1564
  } else {
1513
1565
  $$renderer2.push("<!--[-1-->");
1514
1566
  }
1515
1567
  $$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
1516
- Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58"${$27.attr("value", customToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$27.attr("placeholder", customTokenSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-\u2026")}/> `);
1568
+ Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58"${$28.attr("value", customToken)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"${$28.attr("placeholder", customTokenSaved ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 (saved)" : "sk-\u2026")}/> `);
1517
1569
  Button($$renderer2, {
1518
1570
  type: "submit",
1519
1571
  disabled: savingCustomToken,
@@ -1525,15 +1577,15 @@ function SettingsView($$renderer, $$props) {
1525
1577
  $$renderer2.push(`<!----></div> `);
1526
1578
  if (customTokenError) {
1527
1579
  $$renderer2.push("<!--[0-->");
1528
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(customTokenError)}</div>`);
1580
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(customTokenError)}</div>`);
1529
1581
  } else if (customTokenMsg) {
1530
1582
  $$renderer2.push("<!--[1-->");
1531
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(customTokenMsg)}</div>`);
1583
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(customTokenMsg)}</div>`);
1532
1584
  } else {
1533
1585
  $$renderer2.push("<!--[-1-->");
1534
1586
  }
1535
1587
  $$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
1536
- 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"${$27.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"${$27.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"${$27.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"${$27.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"${$27.attr("value", customDefaultModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
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"${$28.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"${$28.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"${$28.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"${$28.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"${$28.attr("value", customDefaultModel)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
1537
1589
  Button($$renderer2, {
1538
1590
  type: "submit",
1539
1591
  disabled: savingCustomModels,
@@ -1545,10 +1597,10 @@ function SettingsView($$renderer, $$props) {
1545
1597
  $$renderer2.push(`<!----></div></div> `);
1546
1598
  if (customModelsError) {
1547
1599
  $$renderer2.push("<!--[0-->");
1548
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(customModelsError)}</div>`);
1600
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(customModelsError)}</div>`);
1549
1601
  } else if (customModelsMsg) {
1550
1602
  $$renderer2.push("<!--[1-->");
1551
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(customModelsMsg)}</div>`);
1603
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(customModelsMsg)}</div>`);
1552
1604
  } else {
1553
1605
  $$renderer2.push("<!--[-1-->");
1554
1606
  }
@@ -1556,7 +1608,7 @@ function SettingsView($$renderer, $$props) {
1556
1608
  } else {
1557
1609
  $$renderer2.push("<!--[-1-->");
1558
1610
  }
1559
- $$renderer2.push(`<!--]--></section> <section${$27.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualModelToggle"><div class="label svelte-1n6ht58">`);
1611
+ $$renderer2.push(`<!--]--></section> <section${$28.attr_class("card svelte-1n6ht58", undefined, { "disabled-card": customEndpoint })}><form class="row svelte-1n6ht58" method="POST" action="?/manualModelToggle"><div class="label svelte-1n6ht58">`);
1560
1612
  Cpu($$renderer2, { size: 18 });
1561
1613
  $$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override models manually `);
1562
1614
  if (customEndpoint) {
@@ -1575,17 +1627,17 @@ function SettingsView($$renderer, $$props) {
1575
1627
  $$renderer2.push(`Pin which model <code class="svelte-1n6ht58">claude</code> uses on the standard (subscription) path. Only
1576
1628
  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.`);
1577
1629
  }
1578
- $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", manualModelOverride, true)}${$27.attr("disabled", savingManualModelToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1630
+ $$renderer2.push(`<!--]--></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", manualModelOverride, true)}${$28.attr("disabled", savingManualModelToggle || customEndpoint, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1579
1631
  if (manualModelToggleError) {
1580
1632
  $$renderer2.push("<!--[0-->");
1581
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(manualModelToggleError)}</div></div>`);
1633
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(manualModelToggleError)}</div></div>`);
1582
1634
  } else {
1583
1635
  $$renderer2.push("<!--[-1-->");
1584
1636
  }
1585
1637
  $$renderer2.push(`<!--]--> `);
1586
1638
  if (manualModelOverride) {
1587
1639
  $$renderer2.push("<!--[0-->");
1588
- $$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"${$27.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"${$27.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"${$27.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"${$27.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"${$27.attr("value", manualDefault)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
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"${$28.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"${$28.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"${$28.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"${$28.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"${$28.attr("value", manualDefault)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58">`);
1589
1641
  Button($$renderer2, {
1590
1642
  type: "submit",
1591
1643
  disabled: savingManualModels,
@@ -1597,10 +1649,10 @@ function SettingsView($$renderer, $$props) {
1597
1649
  $$renderer2.push(`<!----></div></div> `);
1598
1650
  if (manualModelsError) {
1599
1651
  $$renderer2.push("<!--[0-->");
1600
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(manualModelsError)}</div>`);
1652
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(manualModelsError)}</div>`);
1601
1653
  } else if (manualModelsMsg) {
1602
1654
  $$renderer2.push("<!--[1-->");
1603
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(manualModelsMsg)}</div>`);
1655
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(manualModelsMsg)}</div>`);
1604
1656
  } else {
1605
1657
  $$renderer2.push("<!--[-1-->");
1606
1658
  }
@@ -1612,10 +1664,10 @@ function SettingsView($$renderer, $$props) {
1612
1664
  Variable($$renderer2, { size: 20 });
1613
1665
  $$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
1614
1666
  interactive shells. Values are read from this process's own environment at container
1615
- 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"${$27.attr("checked", hostEnvVars, true)}${$27.attr("disabled", savingHostEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
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"${$28.attr("checked", hostEnvVars, true)}${$28.attr("disabled", savingHostEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1616
1668
  if (hostEnvToggleError) {
1617
1669
  $$renderer2.push("<!--[0-->");
1618
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(hostEnvToggleError)}</div></div>`);
1670
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(hostEnvToggleError)}</div></div>`);
1619
1671
  } else {
1620
1672
  $$renderer2.push("<!--[-1-->");
1621
1673
  }
@@ -1623,18 +1675,18 @@ function SettingsView($$renderer, $$props) {
1623
1675
  if (hostEnvVars) {
1624
1676
  $$renderer2.push("<!--[0-->");
1625
1677
  $$renderer2.push(`<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58">`);
1626
- const each_array_2 = $27.ensure_array_like(hostEnvNames);
1627
- if (each_array_2.length !== 0) {
1678
+ const each_array_3 = $28.ensure_array_like(hostEnvNames);
1679
+ if (each_array_3.length !== 0) {
1628
1680
  $$renderer2.push("<!--[-->");
1629
- for (let $$index_3 = 0, $$length = each_array_2.length;$$index_3 < $$length; $$index_3++) {
1630
- let name = each_array_2[$$index_3];
1681
+ for (let $$index_4 = 0, $$length = each_array_3.length;$$index_4 < $$length; $$index_4++) {
1682
+ let name = each_array_3[$$index_4];
1631
1683
  $$renderer2.push(`<form class="var-item svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!--[-->`);
1632
- const each_array_3 = $27.ensure_array_like(hostEnvNames.filter((n) => n !== name));
1633
- for (let $$index_2 = 0, $$length2 = each_array_3.length;$$index_2 < $$length2; $$index_2++) {
1634
- let other = each_array_3[$$index_2];
1635
- $$renderer2.push(`<input type="hidden" name="names"${$27.attr("value", other)}/>`);
1684
+ const each_array_4 = $28.ensure_array_like(hostEnvNames.filter((n) => n !== name));
1685
+ for (let $$index_3 = 0, $$length2 = each_array_4.length;$$index_3 < $$length2; $$index_3++) {
1686
+ let other = each_array_4[$$index_3];
1687
+ $$renderer2.push(`<input type="hidden" name="names"${$28.attr("value", other)}/>`);
1636
1688
  }
1637
- $$renderer2.push(`<!--]--> <span class="var-name svelte-1n6ht58">${$27.escape(name)}</span> <span${$27.attr_class("var-status svelte-1n6ht58", undefined, { present: hostEnvPresence[name] })}${$27.attr("title", hostEnvPresence[name] ? "Set on this host \u2014 will be injected" : "Not set on this host \u2014 will be skipped")}>${$27.escape(hostEnvPresence[name] ? "set" : "missing")}</span> <button type="submit" class="var-remove svelte-1n6ht58"${$27.attr("disabled", savingHostEnvNames, true)}${$27.attr("aria-label", `Remove ${name}`)}>`);
1689
+ $$renderer2.push(`<!--]--> <span class="var-name svelte-1n6ht58">${$28.escape(name)}</span> <span${$28.attr_class("var-status svelte-1n6ht58", undefined, { present: hostEnvPresence[name] })}${$28.attr("title", hostEnvPresence[name] ? "Set on this host \u2014 will be injected" : "Not set on this host \u2014 will be skipped")}>${$28.escape(hostEnvPresence[name] ? "set" : "missing")}</span> <button type="submit" class="var-remove svelte-1n6ht58"${$28.attr("disabled", savingHostEnvNames, true)}${$28.attr("aria-label", `Remove ${name}`)}>`);
1638
1690
  X($$renderer2, { size: 13 });
1639
1691
  $$renderer2.push(`<!----></button></form>`);
1640
1692
  }
@@ -1643,12 +1695,12 @@ function SettingsView($$renderer, $$props) {
1643
1695
  $$renderer2.push(`<div class="var-empty svelte-1n6ht58">No variables added yet.</div>`);
1644
1696
  }
1645
1697
  $$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!--[-->`);
1646
- const each_array_4 = $27.ensure_array_like(hostEnvNames);
1647
- for (let $$index_4 = 0, $$length = each_array_4.length;$$index_4 < $$length; $$index_4++) {
1648
- let name = each_array_4[$$index_4];
1649
- $$renderer2.push(`<input type="hidden" name="names"${$27.attr("value", name)}/>`);
1698
+ const each_array_5 = $28.ensure_array_like(hostEnvNames);
1699
+ for (let $$index_5 = 0, $$length = each_array_5.length;$$index_5 < $$length; $$index_5++) {
1700
+ let name = each_array_5[$$index_5];
1701
+ $$renderer2.push(`<input type="hidden" name="names"${$28.attr("value", name)}/>`);
1650
1702
  }
1651
- $$renderer2.push(`<!--]--> <input type="text" name="names" class="image-input svelte-1n6ht58"${$27.attr("value", newHostEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="AWS_ACCESS_KEY_ID"/> `);
1703
+ $$renderer2.push(`<!--]--> <input type="text" name="names" class="image-input svelte-1n6ht58"${$28.attr("value", newHostEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="AWS_ACCESS_KEY_ID"/> `);
1652
1704
  Button($$renderer2, {
1653
1705
  type: "submit",
1654
1706
  icon: Plus,
@@ -1661,10 +1713,10 @@ function SettingsView($$renderer, $$props) {
1661
1713
  $$renderer2.push(`<!----></form> `);
1662
1714
  if (hostEnvNamesError) {
1663
1715
  $$renderer2.push("<!--[0-->");
1664
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(hostEnvNamesError)}</div>`);
1716
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(hostEnvNamesError)}</div>`);
1665
1717
  } else if (hostEnvNamesMsg) {
1666
1718
  $$renderer2.push("<!--[1-->");
1667
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(hostEnvNamesMsg)}</div>`);
1719
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(hostEnvNamesMsg)}</div>`);
1668
1720
  } else {
1669
1721
  $$renderer2.push("<!--[-1-->");
1670
1722
  }
@@ -1676,10 +1728,10 @@ function SettingsView($$renderer, $$props) {
1676
1728
  Key_square($$renderer2, { size: 20 });
1677
1729
  $$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
1678
1730
  locally, masked in the build log, and never shown here after saving. Re-add a name to
1679
- update its value.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", customEnvEnabled, true)}${$27.attr("disabled", savingCustomEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1731
+ update its value.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", customEnvEnabled, true)}${$28.attr("disabled", savingCustomEnvToggle, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1680
1732
  if (customEnvToggleError) {
1681
1733
  $$renderer2.push("<!--[0-->");
1682
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(customEnvToggleError)}</div></div>`);
1734
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(customEnvToggleError)}</div></div>`);
1683
1735
  } else {
1684
1736
  $$renderer2.push("<!--[-1-->");
1685
1737
  }
@@ -1687,12 +1739,12 @@ function SettingsView($$renderer, $$props) {
1687
1739
  if (customEnvEnabled) {
1688
1740
  $$renderer2.push("<!--[0-->");
1689
1741
  $$renderer2.push(`<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58">`);
1690
- const each_array_5 = $27.ensure_array_like(customEnvNames);
1691
- if (each_array_5.length !== 0) {
1742
+ const each_array_6 = $28.ensure_array_like(customEnvNames);
1743
+ if (each_array_6.length !== 0) {
1692
1744
  $$renderer2.push("<!--[-->");
1693
- for (let $$index_5 = 0, $$length = each_array_5.length;$$index_5 < $$length; $$index_5++) {
1694
- let name = each_array_5[$$index_5];
1695
- $$renderer2.push(`<form class="var-item svelte-1n6ht58" method="POST" action="?/removeCustomEnvVar"><input type="hidden" name="name"${$27.attr("value", name)}/> <span class="var-name svelte-1n6ht58">${$27.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"${$27.attr("disabled", savingCustomEnv, true)}${$27.attr("aria-label", `Remove ${name}`)}>`);
1745
+ for (let $$index_6 = 0, $$length = each_array_6.length;$$index_6 < $$length; $$index_6++) {
1746
+ 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"${$28.attr("value", name)}/> <span class="var-name svelte-1n6ht58">${$28.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"${$28.attr("disabled", savingCustomEnv, true)}${$28.attr("aria-label", `Remove ${name}`)}>`);
1696
1748
  X($$renderer2, { size: 13 });
1697
1749
  $$renderer2.push(`<!----></button></form>`);
1698
1750
  }
@@ -1700,7 +1752,7 @@ function SettingsView($$renderer, $$props) {
1700
1752
  $$renderer2.push("<!--[!-->");
1701
1753
  $$renderer2.push(`<div class="var-empty svelte-1n6ht58">No variables added yet.</div>`);
1702
1754
  }
1703
- $$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/setCustomEnvVar"><input type="text" name="name" class="image-input svelte-1n6ht58"${$27.attr("value", newCustomEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="MY_SECRET"/> <input type="password" name="value" class="image-input svelte-1n6ht58"${$27.attr("value", newCustomEnvValue)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="value"/> `);
1755
+ $$renderer2.push(`<!--]--></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/setCustomEnvVar"><input type="text" name="name" class="image-input svelte-1n6ht58"${$28.attr("value", newCustomEnvName)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="MY_SECRET"/> <input type="password" name="value" class="image-input svelte-1n6ht58"${$28.attr("value", newCustomEnvValue)} spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="value"/> `);
1704
1756
  Button($$renderer2, {
1705
1757
  type: "submit",
1706
1758
  icon: Plus,
@@ -1713,10 +1765,10 @@ function SettingsView($$renderer, $$props) {
1713
1765
  $$renderer2.push(`<!----></form> `);
1714
1766
  if (customEnvError) {
1715
1767
  $$renderer2.push("<!--[0-->");
1716
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(customEnvError)}</div>`);
1768
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(customEnvError)}</div>`);
1717
1769
  } else if (customEnvMsg) {
1718
1770
  $$renderer2.push("<!--[1-->");
1719
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(customEnvMsg)}</div>`);
1771
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(customEnvMsg)}</div>`);
1720
1772
  } else {
1721
1773
  $$renderer2.push("<!--[-1-->");
1722
1774
  }
@@ -1730,15 +1782,15 @@ function SettingsView($$renderer, $$props) {
1730
1782
  ThemePicker($$renderer2, {});
1731
1783
  $$renderer2.push(`<!----></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58">`);
1732
1784
  Volume_2($$renderer2, { size: 20 });
1733
- $$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"${$27.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">`);
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"${$28.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">`);
1734
1786
  Keyboard($$renderer2, { size: 20 });
1735
1787
  $$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
1736
- always the last tab). Turn off to leave those keystrokes to the editor.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox"${$27.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">`);
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"${$28.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">`);
1737
1789
  Paw_print($$renderer2, { size: 18 });
1738
- $$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"${$27.attr("checked", !!petArt, true)}${$27.attr("disabled", savingPet, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
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"${$28.attr("checked", !!petArt, true)}${$28.attr("disabled", savingPet, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1739
1791
  if (petError) {
1740
1792
  $$renderer2.push("<!--[0-->");
1741
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(petError)}</div></div>`);
1793
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(petError)}</div></div>`);
1742
1794
  } else {
1743
1795
  $$renderer2.push("<!--[-1-->");
1744
1796
  }
@@ -1746,10 +1798,10 @@ function SettingsView($$renderer, $$props) {
1746
1798
  if (petArt) {
1747
1799
  $$renderer2.push("<!--[0-->");
1748
1800
  $$renderer2.push(`<div class="sub pets svelte-1n6ht58"><!--[-->`);
1749
- const each_array_6 = $27.ensure_array_like(avatars);
1750
- for (let $$index_6 = 0, $$length = each_array_6.length;$$index_6 < $$length; $$index_6++) {
1751
- let art = each_array_6[$$index_6];
1752
- $$renderer2.push(`<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"${$27.attr("value", art.name)}/> <button type="submit"${$27.attr_class("pet svelte-1n6ht58", undefined, { selected: art.name === petArt.name })}${$27.attr("disabled", savingPet, true)}${$27.attr("title", art.name)}${$27.attr("aria-label", art.name)}${$27.attr("aria-pressed", art.name === petArt.name)}>`);
1801
+ const each_array_7 = $28.ensure_array_like(avatars);
1802
+ for (let $$index_7 = 0, $$length = each_array_7.length;$$index_7 < $$length; $$index_7++) {
1803
+ let art = each_array_7[$$index_7];
1804
+ $$renderer2.push(`<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"${$28.attr("value", art.name)}/> <button type="submit"${$28.attr_class("pet svelte-1n6ht58", undefined, { selected: art.name === petArt.name })}${$28.attr("disabled", savingPet, true)}${$28.attr("title", art.name)}${$28.attr("aria-label", art.name)}${$28.attr("aria-pressed", art.name === petArt.name)}>`);
1753
1805
  Avatar($$renderer2, { art, name: art.name, scale: 4 });
1754
1806
  $$renderer2.push(`<!----></button></form>`);
1755
1807
  }
@@ -1762,30 +1814,30 @@ function SettingsView($$renderer, $$props) {
1762
1814
  $$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">`);
1763
1815
  List_ordered($$renderer2, { size: 20 });
1764
1816
  $$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
1765
- when diagnosing injection interference.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", serialInjections, true)}${$27.attr("disabled", savingSerial, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1817
+ when diagnosing injection interference.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", serialInjections, true)}${$28.attr("disabled", savingSerial, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1766
1818
  if (serialError) {
1767
1819
  $$renderer2.push("<!--[0-->");
1768
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(serialError)}</div></div>`);
1820
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(serialError)}</div></div>`);
1769
1821
  } else {
1770
1822
  $$renderer2.push("<!--[-1-->");
1771
1823
  }
1772
1824
  $$renderer2.push(`<!--]--> <form class="row divided svelte-1n6ht58" method="POST" action="?/noBuildkitToggle"><div class="label svelte-1n6ht58">`);
1773
1825
  Boxes($$renderer2, { size: 20 });
1774
1826
  $$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
1775
- default builder decide. For daemons where forcing BuildKit breaks builds.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", noBuildkit, true)}${$27.attr("disabled", savingBuildkit, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1827
+ default builder decide. For daemons where forcing BuildKit breaks builds.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", noBuildkit, true)}${$28.attr("disabled", savingBuildkit, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1776
1828
  if (buildkitError) {
1777
1829
  $$renderer2.push("<!--[0-->");
1778
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(buildkitError)}</div></div>`);
1830
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(buildkitError)}</div></div>`);
1779
1831
  } else {
1780
1832
  $$renderer2.push("<!--[-1-->");
1781
1833
  }
1782
1834
  $$renderer2.push(`<!--]--> <form class="row divided svelte-1n6ht58" method="POST" action="?/blockingExtInstallToggle"><div class="label svelte-1n6ht58">`);
1783
1835
  Puzzle($$renderer2, { size: 20 });
1784
1836
  $$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
1785
- always has it active. Slower first boot.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$27.attr("checked", blockingExtInstall, true)}${$27.attr("disabled", savingBlocking, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1837
+ always has it active. Slower first boot.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled"${$28.attr("checked", blockingExtInstall, true)}${$28.attr("disabled", savingBlocking, true)} class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> `);
1786
1838
  if (blockingError) {
1787
1839
  $$renderer2.push("<!--[0-->");
1788
- $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$27.escape(blockingError)}</div></div>`);
1840
+ $$renderer2.push(`<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58">${$28.escape(blockingError)}</div></div>`);
1789
1841
  } else {
1790
1842
  $$renderer2.push("<!--[-1-->");
1791
1843
  }
@@ -1795,10 +1847,10 @@ function SettingsView($$renderer, $$props) {
1795
1847
  again.</div> `);
1796
1848
  if (verError) {
1797
1849
  $$renderer2.push("<!--[0-->");
1798
- $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$27.escape(verError)}</div>`);
1850
+ $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$28.escape(verError)}</div>`);
1799
1851
  } else if (verMsg) {
1800
1852
  $$renderer2.push("<!--[1-->");
1801
- $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$27.escape(verMsg)}</div>`);
1853
+ $$renderer2.push(`<div class="msg ok svelte-1n6ht58">${$28.escape(verMsg)}</div>`);
1802
1854
  } else {
1803
1855
  $$renderer2.push("<!--[-1-->");
1804
1856
  }
@@ -1808,7 +1860,7 @@ function SettingsView($$renderer, $$props) {
1808
1860
  icon: Trash_2,
1809
1861
  disabled: clearingVer,
1810
1862
  children: ($$renderer3) => {
1811
- $$renderer3.push(`<!---->${$27.escape(clearingVer ? "Clearing\u2026" : "Clear cache")}`);
1863
+ $$renderer3.push(`<!---->${$28.escape(clearingVer ? "Clearing\u2026" : "Clear cache")}`);
1812
1864
  },
1813
1865
  $$slots: { default: true }
1814
1866
  });
@@ -1832,7 +1884,7 @@ function SettingsView($$renderer, $$props) {
1832
1884
  }
1833
1885
  $$renderer2.push(`<!--]--></form></section> `);
1834
1886
  CoinButton($$renderer2, {});
1835
- $$renderer2.push(`<!----> <div class="version svelte-1n6ht58">Codebay v${$27.escape(version)}</div></main></div> `);
1887
+ $$renderer2.push(`<!----> <div class="version svelte-1n6ht58">Codebay v${$28.escape(version)}</div></main></div> `);
1836
1888
  Toaster($$renderer2, { toastOptions: TOAST_OPTIONS });
1837
1889
  $$renderer2.push(`<!---->`);
1838
1890
  });
@@ -1846,6 +1898,7 @@ function Settings($$renderer, $$props) {
1846
1898
  defaultMode,
1847
1899
  claudePermissionMode,
1848
1900
  claudeEffortLevel,
1901
+ claudeOutputStyle,
1849
1902
  defaultImage,
1850
1903
  builtinImage,
1851
1904
  disableBuildCache,
@@ -1884,7 +1937,7 @@ function Settings($$renderer, $$props) {
1884
1937
  } = $$props;
1885
1938
  if (true) {
1886
1939
  let failed = function($$renderer3, error) {
1887
- $$renderer3.push(`<mochi-island-failure data-component="SettingsView"${$28.attr("data-message", error.message)}></mochi-island-failure>`);
1940
+ $$renderer3.push(`<mochi-island-failure data-component="SettingsView"${$29.attr("data-message", error.message)}></mochi-island-failure>`);
1888
1941
  };
1889
1942
  $$renderer2.push("<!--[0-->");
1890
1943
  $$renderer2.boundary({ failed }, ($$renderer3) => {
@@ -1892,11 +1945,12 @@ function Settings($$renderer, $$props) {
1892
1945
  {
1893
1946
  HydratableBoundary($$renderer3, {
1894
1947
  children: ($$renderer4) => {
1895
- $$renderer4.push(`<mochi-hydratable-island component-name="SettingsView_8hmarwmf8onq" component-url="__MOCHI_COMPONENT_URL__SettingsView_8hmarwmf8onq__"${$28.attr("props-ref", emitIslandProps({
1948
+ $$renderer4.push(`<mochi-hydratable-island component-name="SettingsView_8hmarwmf8onq" component-url="__MOCHI_COMPONENT_URL__SettingsView_8hmarwmf8onq__"${$29.attr("props-ref", emitIslandProps({
1896
1949
  pet,
1897
1950
  defaultMode,
1898
1951
  claudePermissionMode,
1899
1952
  claudeEffortLevel,
1953
+ claudeOutputStyle,
1900
1954
  defaultImage,
1901
1955
  builtinImage,
1902
1956
  disableBuildCache,
@@ -1940,6 +1994,7 @@ function Settings($$renderer, $$props) {
1940
1994
  defaultMode,
1941
1995
  claudePermissionMode,
1942
1996
  claudeEffortLevel,
1997
+ claudeOutputStyle,
1943
1998
  defaultImage,
1944
1999
  builtinImage,
1945
2000
  disableBuildCache,