codebay 0.9.0 → 0.10.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 (78) hide show
  1. package/.mochi/manifest.json +216 -149
  2. package/.mochi/svelte-client/HydratableIsland-aebn1fa1.js +1 -0
  3. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-rx6arrv5.js +2 -0
  4. package/.mochi/svelte-client/{_hydrate-AvatarsView_257s9yq1wwr4f-92hepzby.js → _hydrate-AvatarsView_257s9yq1wwr4f-jpjdmgpe.js} +1 -1
  5. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-c9y47dat.js +1 -0
  6. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-d61feq89.js +38 -0
  7. package/.mochi/svelte-client/{chunk-2j95sv83.js → chunk-0fjx3z3r.js} +1 -1
  8. package/.mochi/svelte-client/chunk-8xvr02wh.js +2 -0
  9. package/.mochi/svelte-client/{chunk-m497q88s.js → chunk-9143wy3j.js} +2 -2
  10. package/.mochi/svelte-client/{chunk-v65n8th6.js → chunk-bn731rda.js} +1 -1
  11. package/.mochi/svelte-client/{chunk-a2psjmrm.js → chunk-j72r8pkk.js} +2 -2
  12. package/.mochi/svelte-client/chunk-k37wj1jm.js +2 -0
  13. package/.mochi/svelte-client/{chunk-mpv3qx28.js → chunk-p20tkpde.js} +1 -1
  14. package/.mochi/svelte-client/chunk-pc0fm37c.js +2 -0
  15. package/.mochi/svelte-client/{chunk-6rbs0mhx.js → chunk-t0ap7q89.js} +1 -1
  16. package/.mochi/svelte-client/{chunk-rs41by6w.js → chunk-wvtkwfsh.js} +1 -1
  17. package/.mochi/svelte-compile/{App-7vjcp38v.server.js → App-59cdj86f.server.js} +167 -103
  18. package/.mochi/svelte-compile/{Avatars-e2cfc95t.server.js → Avatars-fmagfyj2.server.js} +1 -1
  19. package/.mochi/svelte-compile/{Instance-h78n2dsv.server.js → Instance-s1gqwzmx.server.js} +16 -10
  20. package/.mochi/svelte-compile/{Settings-tav2asn7.server.js → Settings-k447mt0x.server.js} +540 -88
  21. package/.mochi/svelte-compile/{chunk-brjv9pyd.js → chunk-3t7v4hk0.js} +1 -7
  22. package/.mochi/svelte-compile/chunk-gkjgybb2.js +15 -0
  23. package/.mochi/svelte-compile/{chunk-m8ygpyhr.js → chunk-th2dbqvc.js} +20 -32
  24. package/.mochi/svelte-css/Button-oharop2xz6am.css +1 -0
  25. package/.mochi/svelte-css/IdeBar-3bgr3m5z0lpeg.css +1 -0
  26. package/.mochi/svelte-css/{InstanceView-3vzow3ttxzlh3.css → InstanceView-1pd7j16bd2b16.css} +1 -1
  27. package/.mochi/svelte-css/SettingsView-n3oy75uonzp2.css +1 -0
  28. package/.mochi/svelte-css/{TopBar-2q87li6yt8ids.css → TopBar-2y76zxwehrfos.css} +1 -1
  29. package/migrations/0007_instance_avatar.sql +1 -0
  30. package/package.json +2 -2
  31. package/src/avatars/diamond.ts +5 -6
  32. package/src/avatars/index.ts +1 -16
  33. package/src/avatars/pick.server.ts +25 -0
  34. package/src/avatars/whale.ts +7 -8
  35. package/src/components/AppShell.svelte +29 -4
  36. package/src/components/Avatar.svelte +8 -8
  37. package/src/components/Button.svelte +22 -1
  38. package/src/components/DashboardView.svelte +14 -2
  39. package/src/components/FolderBrowser.svelte +6 -2
  40. package/src/components/IdeBar.svelte +56 -13
  41. package/src/components/IdeLoader.svelte +15 -3
  42. package/src/components/InstanceCard.svelte +6 -1
  43. package/src/components/InstanceView.svelte +33 -15
  44. package/src/components/SettingsView.svelte +548 -1
  45. package/src/components/TopBar.svelte +37 -10
  46. package/src/components/UiShowcase.svelte +5 -10
  47. package/src/container-injections/claude-aliases.ts +1 -1
  48. package/src/container-injections/claude-code-custom.ts +2 -1
  49. package/src/container-injections/claude-code-ide-extension.ts +5 -0
  50. package/src/container-injections/claude-code-install.ts +67 -0
  51. package/src/container-injections/claude-code-models.ts +2 -1
  52. package/src/container-injections/claude-code-update.ts +62 -1
  53. package/src/container-injections/claude-effort-level.ts +32 -0
  54. package/src/container-injections/claude-permission-mode.ts +40 -0
  55. package/src/container-injections/custom-env-vars.ts +82 -0
  56. package/src/container-injections/host-env-vars.ts +2 -1
  57. package/src/lib/config.server.ts +3 -0
  58. package/src/lib/db.server.ts +8 -3
  59. package/src/lib/devcontainer.server.ts +182 -47
  60. package/src/lib/health.server.ts +55 -11
  61. package/src/lib/injections.server.ts +46 -36
  62. package/src/lib/instances.server.ts +185 -19
  63. package/src/lib/log-capture.server.ts +262 -0
  64. package/src/lib/ports.server.ts +31 -0
  65. package/src/lib/proxy.server.ts +21 -76
  66. package/src/pages/Settings.svelte +22 -1
  67. package/src/routes.ts +98 -2
  68. package/src/types.ts +36 -0
  69. package/.mochi/svelte-client/HydratableIsland-k6q8esj4.js +0 -1
  70. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-sg96rp17.js +0 -2
  71. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-p3f649gk.js +0 -1
  72. package/.mochi/svelte-client/_hydrate-SettingsView_8hmarwmf8onq-dzmgmv78.js +0 -29
  73. package/.mochi/svelte-client/chunk-7wkvn2vx.js +0 -2
  74. package/.mochi/svelte-client/chunk-m4fzsd5b.js +0 -2
  75. package/.mochi/svelte-css/Button-2vtbrzb5kgu25.css +0 -1
  76. package/.mochi/svelte-css/IdeBar-10xodudcx57qr.css +0 -1
  77. package/.mochi/svelte-css/SettingsView-2qfauz68axro1.css +0 -1
  78. package/src/container-injections/claude-skip-permissions.ts +0 -28
@@ -1,29 +0,0 @@
1
- import{i as xf,j as lI,k as sI,l as dI,m as vI,n as aI,o as rI}from"/_mochi/client/chunk-a2psjmrm.js";import{p as Cf}from"/_mochi/client/chunk-6rbs0mhx.js";import{A as uI,C as tI,w as mI,x as wf,y as b0,z as a}from"/_mochi/client/chunk-7wkvn2vx.js";import{D as B,E as gI,H as iI}from"/_mochi/client/chunk-m497q88s.js";import{$ as y,$a as c,Aa as z,Ba as V,Ca as G,Fa as W1,Ia as bI,K as I,Ka as E,L as Y,La as C1,Oa as M,P as H0,Pa as q1,Q as P0,Qa as z1,Ra as v,Ta as l,Ua as q0,Wa as H,Xa as P,Y as EI,Ya as hI,Z as h0,ba as w,bb as ff,cb as eI,da as k,ea as L,fa as h1,ga as x,ha as cI,ka as Q,pa as f,ua as _,va as B0,wa as O,ya as g}from"/_mochi/client/chunk-v65n8th6.js";import"/_mochi/client/chunk-rs41by6w.js";var vN=new Set(["$$slots","$$events","$$legacy"]);function X0(A,j){let W=H(j,vN),J=[["path",{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}],["path",{d:"M10 21.9V14L2.1 9.1"}],["path",{d:"m10 14 11.9-6.9"}],["path",{d:"M14 19.8v-8.1"}],["path",{d:"M18 17.5V9.4"}]];B(A,P({name:"container"},()=>W,{get iconNode(){return J}}))}var aN=new Set(["$$slots","$$events","$$legacy"]);function Y0(A,j){let W=H(j,aN),J=[["path",{d:"M12 2v10"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04"}]];B(A,P({name:"power"},()=>W,{get iconNode(){return J}}))}var rN=new Set(["$$slots","$$events","$$legacy"]);function K0(A,j){let W=H(j,rN),J=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"}],["path",{d:"M16 9a5 5 0 0 1 0 6"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728"}]];B(A,P({name:"volume-2"},()=>W,{get iconNode(){return J}}))}var eN=new Set(["$$slots","$$events","$$legacy"]);function R0(A,j){let W=H(j,eN),J=[["circle",{cx:"11",cy:"4",r:"2"}],["circle",{cx:"18",cy:"8",r:"2"}],["circle",{cx:"20",cy:"16",r:"2"}],["path",{d:"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z"}]];B(A,P({name:"paw-print"},()=>W,{get iconNode(){return J}}))}var $N=new Set(["$$slots","$$events","$$legacy"]);function G0(A,j){let W=H(j,$N),J=[["path",{d:"M12 2v2"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"}],["path",{d:"M16 12a4 4 0 0 0-4-4"}],["path",{d:"m19 5-1.256 1.256"}],["path",{d:"M20 12h2"}]];B(A,P({name:"sun-moon"},()=>W,{get iconNode(){return J}}))}var oN=new Set(["$$slots","$$events","$$legacy"]);function D0(A,j){let W=H(j,oN),J=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];B(A,P({name:"sun"},()=>W,{get iconNode(){return J}}))}var nN=new Set(["$$slots","$$events","$$legacy"]);function U0(A,j){let W=H(j,nN),J=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"}]];B(A,P({name:"moon"},()=>W,{get iconNode(){return J}}))}var _N=new Set(["$$slots","$$events","$$legacy"]);function F0(A,j){let W=H(j,_N),J=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21"}]];B(A,P({name:"monitor"},()=>W,{get iconNode(){return J}}))}var MI="theme";function TI(){let A=ff.get(MI);return A==="dark"||A==="light"?A:"auto"}function OI(A){ff.set(MI,A,{expires:400,path:"/"})}function pI(A){if(A==="auto")delete document.documentElement.dataset.theme;else document.documentElement.dataset.theme=A}var Sw=O('<button type="button" role="radio"><!> </button>'),fw=O('<div class="picker svelte-3gcwuj" role="radiogroup" aria-label="Theme"></div>');function If(A,j){H0(j,!0);let W=y(k(TI())),J=[{value:"auto",label:"Auto",icon:F0},{value:"light",label:"Light",icon:D0},{value:"dark",label:"Dark",icon:U0}];function N1(o){w(W,o,!0),OI(o),pI(o)}var $=fw();W1($,21,()=>J,({value:o,label:m,icon:I1})=>o,(o,m)=>{let I1=()=>f(m).value,w1=()=>f(m).label,F1=()=>f(m).icon;var x1=Sw();let X1;var E1=L(x1);bI(E1,F1,(Q1,H1)=>{H1(Q1,{size:13})});var c1=x(E1);I(x1),Q(()=>{X1=C1(x1,1,"segment svelte-3gcwuj",null,X1,{active:f(W)===I1()}),v(x1,"aria-checked",f(W)===I1()),V(c1,` ${w1()??""}`)}),_("click",x1,()=>N1(I1())),z(o,x1)}),I($),z(A,$),P0()}B0(["click"]);var Iw=new Set(["$$slots","$$events","$$legacy"]);function k0(A,j){let W=H(j,Iw),J=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"}]];B(A,P({name:"layers"},()=>W,{get iconNode(){return J}}))}var Lw=new Set(["$$slots","$$events","$$legacy"]);function M0(A,j){let W=H(j,Lw),J=[["path",{d:"M9 13h6"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}]];B(A,P({name:"folder-minus"},()=>W,{get iconNode(){return J}}))}var Nw=new Set(["$$slots","$$events","$$legacy"]);function O1(A,j){let W=H(j,Nw),J=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];B(A,P({name:"trash-2"},()=>W,{get iconNode(){return J}}))}var ww=new Set(["$$slots","$$events","$$legacy"]);function p1(A,j){let W=H(j,ww),J=[["path",{d:"m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9"}],["path",{d:"m18 15 4-4"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"}]];B(A,P({name:"hammer"},()=>W,{get iconNode(){return J}}))}var xw=new Set(["$$slots","$$events","$$legacy"]);function b1(A,j){let W=H(j,xw),J=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}]];B(A,P({name:"key-round"},()=>W,{get iconNode(){return J}}))}var Cw=new Set(["$$slots","$$events","$$legacy"]);function T0(A,j){let W=H(j,Cw),J=[["path",{d:"M10 15H6a4 4 0 0 0-4 4v2"}],["path",{d:"m14.305 16.53.923-.382"}],["path",{d:"m15.228 13.852-.923-.383"}],["path",{d:"m16.852 12.228-.383-.923"}],["path",{d:"m16.852 17.772-.383.924"}],["path",{d:"m19.148 12.228.383-.923"}],["path",{d:"m19.53 18.696-.382-.924"}],["path",{d:"m20.772 13.852.924-.383"}],["path",{d:"m20.772 16.148.924.383"}],["circle",{cx:"18",cy:"15",r:"3"}],["circle",{cx:"9",cy:"7",r:"4"}]];B(A,P({name:"user-cog"},()=>W,{get iconNode(){return J}}))}var yw=new Set(["$$slots","$$events","$$legacy"]);function O0(A,j){let W=H(j,yw),J=[["path",{d:"M12 20v2"}],["path",{d:"M12 2v2"}],["path",{d:"M17 20v2"}],["path",{d:"M17 2v2"}],["path",{d:"M2 12h2"}],["path",{d:"M2 17h2"}],["path",{d:"M2 7h2"}],["path",{d:"M20 12h2"}],["path",{d:"M20 17h2"}],["path",{d:"M20 7h2"}],["path",{d:"M7 20v2"}],["path",{d:"M7 2v2"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1"}]];B(A,P({name:"cpu"},()=>W,{get iconNode(){return J}}))}var zw=new Set(["$$slots","$$events","$$legacy"]);function p0(A,j){let W=H(j,zw),J=[["path",{d:"M8 21s-4-3-4-9 4-9 4-9"}],["path",{d:"M16 3s4 3 4 9-4 9-4 9"}],["line",{x1:"15",x2:"9",y1:"9",y2:"15"}],["line",{x1:"9",x2:"15",y1:"9",y2:"15"}]];B(A,P({name:"variable"},()=>W,{get iconNode(){return J}}))}var jw=O('<div class="coin-row svelte-1ioj7vz"><span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span> <a class="coin-btn svelte-1ioj7vz" aria-label="Draw your own avatar" title="Draw your own avatar"><span class="new svelte-1ioj7vz" aria-hidden="true">New</span> <span class="coin svelte-1ioj7vz" aria-hidden="true"><!></span></a> <span class="pixel-line svelte-1ioj7vz" aria-hidden="true"></span></div>');function Lf(A,j){let W=hI(j,"href",3,"/avatars"),J={name:"coin",pixels:["..####..",".#....#.","#..##..#","#.####.#","#.####.#","#..##..#",".#....#.","..####.."]};var N1=jw(),$=x(L(N1),2),o=x(L($),2),m=L(o);b0(m,{get art(){return J},name:"coin",scale:3}),I(o),I($),Y(2),I(N1),Q(()=>v($,"href",W())),z(A,N1)}var Zw=O('<span class="title svelte-1n6ht58">Settings</span>'),Z1=O('<div class="sub svelte-1n6ht58"><div class="msg error svelte-1n6ht58"> </div></div>'),Qw=O('<span class="arch svelte-1n6ht58" title="Docker daemon architecture"> </span>'),Aw=O(`Your Docker daemon runs on <strong> </strong> — pick an image that publishes
2
- an <strong> </strong> manifest, or the pull will fail.`,1),f1=O('<div class="msg error svelte-1n6ht58"> </div>'),Nf=O('<div class="msg ok svelte-1n6ht58">Saved.</div>'),Jw=O(`<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 — leave either blank and the container falls back to the
3
- 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" 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" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="jane@example.com"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>`),y1=O('<div class="msg ok svelte-1n6ht58"> </div>'),Vw=O('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock mode is on">disabled</span>'),Ww=O(`<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
4
- create a Personal Access Token at <code class="svelte-1n6ht58">github.com/settings/tokens</code> (scopes: <code class="svelte-1n6ht58">repo</code>, <code class="svelte-1n6ht58">read:org</code>). Leave blank and Save to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="githubToken" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/claudeToken"><div class="label svelte-1n6ht58"><div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Claude Code token</div> <div class="desc svelte-1n6ht58">macOS / Linux: run <code class="svelte-1n6ht58">claude setup-token</code> to mint a long-lived token and
5
- 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 —
6
- the first <code class="svelte-1n6ht58">claude</code> to refresh it signs the other one out. Leave blank and Save
7
- to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="claudeToken" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form>`,1),Xw=O('<span class="arch svelte-1n6ht58">disabled</span>'),Yw=O(`Route <code class="svelte-1n6ht58">claude</code> through a LiteLLM proxy fronting AWS Bedrock instead of Anthropic's
8
- default API. When enabled, the Bedrock endpoint variables are injected into every new
9
- container, host OAuth credentials are not used, and "Set tokens manually" is disabled.`,1),Kw=O('<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" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="https://litellm.example.com/bedrock"/> <!></div> <!></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\n\t\t\t\t\t\t\t\tSave to clear.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="password" name="token" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/> <!></div> <!></form> <form class="row divided token-row svelte-1n6ht58" method="POST" action="?/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\n\t\t\t\t\t\t\t\tlauncher 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" 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" 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" 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" 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" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>',1),Rw=O('<span class="arch svelte-1n6ht58" title="Disabled while LiteLLM + Bedrock is on">disabled</span>'),Gw=O(`Pin which model <code class="svelte-1n6ht58">claude</code> uses on the standard (subscription) path. Only
10
- 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.`,1),Dw=O('<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-…</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" 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" 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" 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" 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" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off"/></label> <div class="model-save-row svelte-1n6ht58"><!></div></div> <!></form>'),qI=O('<input type="hidden" name="names"/>'),Uw=O('<form class="var-item svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!> <span class="var-name svelte-1n6ht58"> </span> <span> </span> <button type="submit" class="var-remove svelte-1n6ht58"><!></button></form>'),Fw=O('<div class="var-empty svelte-1n6ht58">No variables added yet.</div>'),Hw=O('<div class="row divided var-row svelte-1n6ht58"><div class="var-list svelte-1n6ht58"></div> <form class="var-add svelte-1n6ht58" method="POST" action="?/hostEnvVarNames"><!> <input type="text" name="names" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" placeholder="AWS_ACCESS_KEY_ID"/> <!></form> <!></div>'),Pw=O('<form method="POST" action="?/petChoose" class="svelte-1n6ht58"><input type="hidden" name="name"/> <button type="submit"><!></button></form>'),Bw=O('<div class="sub pets svelte-1n6ht58"></div>'),kw=O('<span class="shutting svelte-1n6ht58">Server is shutting down — you can close this tab.</span>'),Mw=O(`<div class="page svelte-1n6ht58"><!> <main class="content svelte-1n6ht58"><section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/defaultMode"><div class="label svelte-1n6ht58"><!> <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 — just Claude Code in a terminal, no code-server. You
11
- can override this per instance when creating one.</div></div></div> <input type="hidden" name="mode"/> <div class="mode-toggle svelte-1n6ht58" role="group" aria-label="Default editor mode"><button type="button"><!> Full IDE</button> <button type="button"><!> Terminal</button></div></form> <!></section> <section class="card svelte-1n6ht58"><form class="row image-row svelte-1n6ht58" method="POST" action="?/defaultImage"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Default container image <!></div> <div class="desc svelte-1n6ht58">Used only when a project folder ships no devcontainer.json. Takes effect for instances
12
- created from now on.</div></div></div> <div class="image-controls svelte-1n6ht58"><input type="text" name="image" class="image-input svelte-1n6ht58" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="mcr.microsoft.com/devcontainers/base:ubuntu"/> <!> <!></div> <div class="desc tip svelte-1n6ht58"><!></div> <!></form></section> <section class="card svelte-1n6ht58"><form class="row image-row svelte-1n6ht58" method="POST" action="?/copyIgnorePatterns"><div class="label svelte-1n6ht58"><!> <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
13
- new instance's workspace. Leave blank to copy everything. Only applies to local
14
- folders — 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" spellcheck="false" autocapitalize="off" autocorrect="off" placeholder="node_modules, .venv, dist"/> <!> <!></div> <!></form></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/gitIdentityToggle"><div class="label svelte-1n6ht58"><!> <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
15
- new container, taking precedence over the host's own git config. When off, each container
16
- falls back to the host's identity.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/disableBuildCache"><div class="label svelte-1n6ht58"><!> <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
17
- and rebuilds — slower, but always picks up upstream image/layer changes.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <form class="row divided svelte-1n6ht58" method="POST" action="?/clearBuildCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Clear build cache</div> <div class="desc svelte-1n6ht58">Purge Docker's BuildKit layer cache now, so the next build runs uncached. Doesn't
18
- remove pulled images.</div> <!></div></div> <!></form> <form class="row divided svelte-1n6ht58" method="POST" action="?/rebuildAllNoCache"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Rebuild running containers (no cache)</div> <div class="desc svelte-1n6ht58">Rebuild every currently-running instance from scratch, without using any cached image
19
- layers. In-container edits are kept; stopped instances are left alone.</div> <!></div></div> <!></form></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/manualTokensToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Set tokens manually <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/customEndpointToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">LiteLLM + Bedrock <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section><form class="row svelte-1n6ht58" method="POST" action="?/manualModelToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Override models manually <!></div> <div class="desc svelte-1n6ht58"><!></div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/hostEnvVarsToggle"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Host environment variables</div> <div class="desc svelte-1n6ht58">Forward selected environment variables from this machine into every new container's
20
- interactive shells. Values are read from this process's own environment at container
21
- start and are never shown here or stored — only the variable names are saved.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" name="enabled" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Theme</div> <div class="desc svelte-1n6ht58">Light, dark, or follow the browser preference automatically (auto).</div></div></div> <!></div></section> <section class="card svelte-1n6ht58"><div class="row svelte-1n6ht58"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Attention sound</div> <div class="desc svelte-1n6ht58">Play a chime when an instance finishes a task or needs your input.</div></div></div> <label class="switch svelte-1n6ht58"><input type="checkbox" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></div></section> <section class="card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/petToggle"><div class="label svelte-1n6ht58"><!> <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" class="svelte-1n6ht58"/> <span class="track svelte-1n6ht58"><span class="thumb svelte-1n6ht58"></span></span></label></form> <!> <!></section> <section class="card danger-card svelte-1n6ht58"><form class="row svelte-1n6ht58" method="POST" action="?/shutdown"><div class="label svelte-1n6ht58"><!> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Delete database, containers, and shut down</div> <div class="desc svelte-1n6ht58">Stop and remove every instance and its container, delete all copied workspaces and the
22
- database, then shut down the server. This cannot be undone.</div></div></div> <!></form></section> <!> <div class="version svelte-1n6ht58"> </div></main></div> <!>`,1);function yf(A,j){H0(j,!0);let W=y(k(dI())),J=y(k(j.pet)),N1=y(!1),$=y(null),o=y(!1);cI(()=>iI());function m(S){return{onPending:S.setSaving,submit:({cancel:N})=>{if(S.confirmMessage&&!confirm(S.confirmMessage)){N();return}return S.setError(null),S.setMsg?.(null),({result:C})=>{if(C.type==="success")S.onSuccess(C.data);else if(C.type==="failure")S.setError(C.data?.error??"Request failed");else if(C.type==="error")S.setError("Network error. Try again.")}}}}function I1(S){return{onPending:S.setSaving,submit:({formData:N})=>{let C=N.get("enabled")==="on";return S.setError(null),({result:Z})=>{if(Z.type==="success"){S.onSuccess?.(Z.data);return}S.set(!C),S.setError(Z.type==="failure"?Z.data?.error??"Request failed":"Network error. Try again.")}}}}let w1=y(k(j.defaultMode)),F1=y(!1),x1=y(null),X1,E1=m({setSaving:(S)=>w(F1,S,!0),setError:(S)=>w(x1,S,!0),setMsg:()=>{},onSuccess:(S)=>{if(S?.mode)w(w1,S.mode,!0)}});function c1(S){if(S===f(w1))return;h0(()=>w(w1,S,!0)),X1?.requestSubmit()}let Q1=y(k(j.defaultImage)),H1=y(!1),E0=y(null),c0=y(!1),m0,$I=m({setSaving:(S)=>w(H1,S,!0),setError:(S)=>w(E0,S,!0),setMsg:(S)=>w(c0,!!S),onSuccess:(S)=>{w(Q1,S?.image??f(Q1),!0),w(c0,!0)}});function oI(){h0(()=>w(Q1,j.builtinImage,!0)),m0?.requestSubmit()}let P1=y(k(j.copyIgnorePatterns)),l0=y(!1),g0=y(null),i0=y(!1),s0,nI=m({setSaving:(S)=>w(l0,S,!0),setError:(S)=>w(g0,S,!0),setMsg:(S)=>w(i0,!!S),onSuccess:(S)=>{w(P1,S?.patterns??f(P1),!0),w(i0,!0)}});function _I(){h0(()=>w(P1,j.builtinCopyIgnore,!0)),s0?.requestSubmit()}let m1=y(k(j.gitIdentityEnabled)),zf=y(!1),u0=y(null),SL=I1({set:(S)=>w(m1,S,!0),setSaving:(S)=>w(zf,S,!0),setError:(S)=>w(u0,S,!0)}),l1=y(k(j.gitIdentityName)),g1=y(k(j.gitIdentityEmail)),jf=y(!1),t0=y(null),d0=y(!1),fL=m({setSaving:(S)=>w(jf,S,!0),setError:(S)=>w(t0,S,!0),setMsg:(S)=>w(d0,!!S),onSuccess:(S)=>{w(l1,S?.name??f(l1),!0),w(g1,S?.email??f(g1),!0),w(d0,!0)}}),v0=y(k(j.disableBuildCache)),Zf=y(!1),a0=y(null),IL=I1({set:(S)=>w(v0,S,!0),setSaving:(S)=>w(Zf,S,!0),setError:(S)=>w(a0,S,!0)}),r0=y(!1),i1=y(null),e0=y(null);function LL(S){if(S<=0)return"0 B";let N=["B","KB","MB","GB","TB"],C=Math.min(Math.floor(Math.log(S)/Math.log(1024)),N.length-1);return`${(S/1024**C).toFixed(C===0?0:1)} ${N[C]}`}let NL=m({setSaving:(S)=>w(r0,S,!0),setError:(S)=>w(e0,S,!0),setMsg:(S)=>w(i1,S,!0),onSuccess:(S)=>{w(i1,`Cleared — freed ${LL(S?.spaceReclaimed??0)}.`)}}),$0=y(!1),s1=y(null),o0=y(null),wL=m({setSaving:(S)=>w($0,S,!0),setError:(S)=>w(o0,S,!0),setMsg:(S)=>w(s1,S,!0),confirmMessage:"Rebuild every running container from scratch (no build cache)? Each will restart and may take a while.",onSuccess:(S)=>{let N=S?.count??0;w(s1,N===0?"No running containers to rebuild.":`Rebuilding ${N} container(s)…`,!0)}}),B1=y(k(j.manualTokensEnabled)),Qf=y(!1),n0=y(null),xL=I1({set:(S)=>w(B1,S,!0),setSaving:(S)=>w(Qf,S,!0),setError:(S)=>w(n0,S,!0)}),_0=y(k(j.githubTokenSet)),SS=y(""),Af=y(!1),u1=y(null),fS=y(null),CL=m({setSaving:(S)=>w(Af,S,!0),setError:(S)=>w(fS,S,!0),setMsg:(S)=>w(u1,S,!0),onSuccess:(S)=>{w(_0,S?.set??!1,!0),w(SS,""),w(u1,f(_0)?"Saved.":"Cleared.",!0)}}),IS=y(k(j.claudeTokenSet)),LS=y(""),Jf=y(!1),t1=y(null),NS=y(null),yL=m({setSaving:(S)=>w(Jf,S,!0),setError:(S)=>w(NS,S,!0),setMsg:(S)=>w(t1,S,!0),onSuccess:(S)=>{w(IS,S?.set??!1,!0),w(LS,""),w(t1,f(IS)?"Saved.":"Cleared.",!0)}}),e=y(k(j.customEndpointEnabled)),Vf=y(!1),wS=y(null),zL=I1({set:(S)=>w(e,S,!0),setSaving:(S)=>w(Vf,S,!0),setError:(S)=>w(wS,S,!0),onSuccess:(S)=>{if(S?.enabled)w(Y1,!1)}}),Wf=y(k(j.customEndpointBaseUrl)),Xf=y(!1),d1=y(null),xS=y(null),jL=m({setSaving:(S)=>w(Xf,S,!0),setError:(S)=>w(xS,S,!0),setMsg:(S)=>w(d1,S,!0),onSuccess:(S)=>{w(d1,S?.set?"Saved.":"Cleared.",!0)}}),CS=y(""),yS=y(k(j.customEndpointTokenSet)),Yf=y(!1),v1=y(null),zS=y(null),ZL=m({setSaving:(S)=>w(Yf,S,!0),setError:(S)=>w(zS,S,!0),setMsg:(S)=>w(v1,S,!0),onSuccess:(S)=>{w(yS,S?.set??!1,!0),w(CS,""),w(v1,f(yS)?"Saved.":"Cleared.",!0)}}),Kf=y(k(j.customEndpointOpusModel)),Rf=y(k(j.customEndpointSonnetModel)),Gf=y(k(j.customEndpointHaikuModel)),Df=y(k(j.customEndpointSmallFastModel)),Uf=y(k(j.customEndpointModel)),Ff=y(!1),a1=y(null),jS=y(null),QL=m({setSaving:(S)=>w(Ff,S,!0),setError:(S)=>w(jS,S,!0),setMsg:(S)=>w(a1,S,!0),onSuccess:()=>{w(a1,"Saved.")}}),Y1=y(k(j.manualModelOverrideEnabled)),Hf=y(!1),ZS=y(null),AL=I1({set:(S)=>w(Y1,S,!0),setSaving:(S)=>w(Hf,S,!0),setError:(S)=>w(ZS,S,!0),onSuccess:(S)=>{if(S?.enabled)w(e,!1)}}),Pf=y(k(j.manualOpusModel)),Bf=y(k(j.manualSonnetModel)),kf=y(k(j.manualHaikuModel)),Mf=y(k(j.manualSmallFastModel)),Tf=y(k(j.manualModel)),Of=y(!1),r1=y(null),QS=y(null),JL=m({setSaving:(S)=>w(Of,S,!0),setError:(S)=>w(QS,S,!0),setMsg:(S)=>w(r1,S,!0),onSuccess:()=>{w(r1,"Saved.")}}),K1=EI(()=>f(B1)?"Set tokens manually":f(Y1)?"Override models manually":null),e1=y(k(j.hostEnvVarsEnabled)),pf=y(!1),AS=y(null),VL=I1({set:(S)=>w(e1,S,!0),setSaving:(S)=>w(pf,S,!0),setError:(S)=>w(AS,S,!0),onSuccess:(S)=>{w(G1,S?.presence??{},!0)}}),R1=y(k([...j.hostEnvVarNames])),G1=y(k({...j.hostEnvVarPresence})),JS=y(""),$1=y(!1),k1=y(null),A1=y(null),WL={onPending:(S)=>w($1,S,!0),submit:({formData:S,cancel:N})=>{w(A1,null),w(k1,null);let C=S.getAll("names").map(String),T=(C.pop()??"").trim().toUpperCase();if(!T){N();return}if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(T)){w(A1,`Invalid variable name: ${T}`),N();return}if(w(JS,""),C.includes(T)){N();return}let q=[...C,T];S.delete("names");for(let p of q)S.append("names",p);return({result:p})=>{if(p.type==="success")w(R1,q,!0),w(G1,p.data?.presence??{},!0),w(k1,"Saved.");else if(p.type==="failure")w(A1,p.data?.error??"Request failed",!0);else if(p.type==="error")w(A1,"Network error. Try again.")}}};function XL(S){return m({setSaving:(N)=>w($1,N,!0),setError:(N)=>w(A1,N,!0),setMsg:(N)=>w(k1,N,!0),onSuccess:(N)=>{w(R1,f(R1).filter((C)=>C!==S),!0),w(G1,N?.presence??{},!0)}})}function YL(S){if(w(W,S,!0),vI(S),aI(),S)rI("done")}let KL={onPending:(S)=>w(N1,S,!0),submit:()=>{return w($,null),({result:S})=>{if(S.type==="success"){w(J,S.data?.name?wf(S.data.name):void 0,!0);return}w($,S.type==="failure"?S.data?.error??"Request failed":"Network error. Try again.",!0)}}};function RL(S){return m({setSaving:(N)=>w(N1,N,!0),setError:(N)=>w($,N,!0),onSuccess:(N)=>{w(J,(N?.name?wf(N.name):void 0)??S,!0)}})}let GL={submit:({cancel:S})=>{if(!confirm("Delete the database, remove all instances and their containers, and shut down the server? This cannot be undone.")){S();return}w(o,!0)}};var bf=Mw(),VS=h1(bf),hf=L(VS);tI(hf,{children:(S,N)=>{var C=Zw();z(S,C)},$$slots:{default:!0}});var qf=x(hf,2),WS=L(qf),M1=L(WS),XS=L(M1),DL=L(XS);xf(DL,{size:20}),Y(2),I(XS);var YS=x(XS,2);M(YS);var Ef=x(YS,2),J1=L(Ef);let cf;var UL=L(J1);lI(UL,{size:15}),Y(),I(J1);var D1=x(J1,2);let mf;var FL=L(D1);xf(FL,{size:15}),Y(),I(D1),I(Ef),I(M1),q0(M1,(S)=>X1=S,()=>X1),E(M1,()=>c(E1));var HL=x(M1,2);{var PL=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(x1))),z(S,N)};G(HL,(S)=>{if(f(x1))S(PL)})}I(WS);var KS=x(WS,2),o1=L(KS),RS=L(o1),lf=L(RS);X0(lf,{size:20});var gf=x(lf,2),sf=L(gf),BL=x(L(sf));{var kL=(S)=>{var N=Qw(),C=L(N,!0);I(N),Q(()=>V(C,j.dockerArch)),z(S,N)};G(BL,(S)=>{if(j.dockerArch)S(kL)})}I(sf),Y(2),I(gf),I(RS);var GS=x(RS,2),DS=L(GS);M(DS);var uf=x(DS,2);a(uf,{type:"submit",get disabled(){return f(H1)},children:(S,N)=>{Y();var C=g("Save");z(S,C)},$$slots:{default:!0}});var ML=x(uf,2);a(ML,{type:"button",get icon(){return Cf},get disabled(){return f(H1)},onclick:oI,get title(){return`Reset to default (${j.builtinImage??""})`},"aria-label":"Reset to default image"}),I(GS);var US=x(GS,2),TL=L(US);{var OL=(S)=>{var N=Aw(),C=x(h1(N)),Z=L(C,!0);I(C);var T=x(C,2),q=L(T,!0);I(T),Y(),Q(()=>{V(Z,j.dockerArch),V(q,j.dockerArch)}),z(S,N)},pL=(S)=>{var N=g(`Pick an image whose manifest covers your Docker daemon's architecture, or the pull will
23
- fail.`);z(S,N)};G(TL,(S)=>{if(j.dockerArch)S(OL);else S(pL,-1)})}I(US);var bL=x(US,2);{var hL=(S)=>{var N=f1(),C=L(N,!0);I(N),Q(()=>V(C,f(E0))),z(S,N)},qL=(S)=>{var N=Nf();z(S,N)};G(bL,(S)=>{if(f(E0))S(hL);else if(f(c0))S(qL,1)})}I(o1),q0(o1,(S)=>m0=S,()=>m0),E(o1,()=>c($I)),I(KS);var FS=x(KS,2),n1=L(FS),HS=L(n1),EL=L(HS);M0(EL,{size:20}),Y(2),I(HS);var PS=x(HS,2),BS=L(PS);M(BS);var tf=x(BS,2);a(tf,{type:"submit",get disabled(){return f(l0)},children:(S,N)=>{Y();var C=g("Save");z(S,C)},$$slots:{default:!0}});var cL=x(tf,2);a(cL,{type:"button",get icon(){return Cf},get disabled(){return f(l0)},onclick:_I,get title(){return`Reset to default (${j.builtinCopyIgnore??""})`},"aria-label":"Reset to default copy-ignore patterns"}),I(PS);var mL=x(PS,2);{var lL=(S)=>{var N=f1(),C=L(N,!0);I(N),Q(()=>V(C,f(g0))),z(S,N)},gL=(S)=>{var N=Nf();z(S,N)};G(mL,(S)=>{if(f(g0))S(lL);else if(f(i0))S(gL,1)})}I(n1),q0(n1,(S)=>s0=S,()=>s0),E(n1,()=>c(nI)),I(FS);var kS=x(FS,2),_1=L(kS),MS=L(_1),iL=L(MS);T0(iL,{size:20}),Y(2),I(MS);var df=x(MS,2),S0=L(df);M(S0),Y(2),I(df),I(_1),E(_1,()=>c(SL));var vf=x(_1,2);{var sL=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(u0))),z(S,N)};G(vf,(S)=>{if(f(u0))S(sL)})}var uL=x(vf,2);{var tL=(S)=>{var N=Jw(),C=x(L(N),2),Z=L(C),T=x(L(Z),2);M(T),I(Z);var q=x(Z,2),p=x(L(q),2);M(p),I(q);var r=x(q,2),S1=L(r);a(S1,{type:"submit",get disabled(){return f(jf)},children:(D,t)=>{Y();var n=g("Save");z(D,n)},$$slots:{default:!0}}),I(r),I(C);var u=x(C,2);{var U=(D)=>{var t=f1(),n=L(t,!0);I(t),Q(()=>V(n,f(t0))),z(D,t)},K=(D)=>{var t=Nf();z(D,t)};G(u,(D)=>{if(f(t0))D(U);else if(f(d0))D(K,1)})}I(N),E(N,()=>c(fL)),l(T,()=>f(l1),(D)=>w(l1,D)),l(p,()=>f(g1),(D)=>w(g1,D)),z(S,N)};G(uL,(S)=>{if(f(m1))S(tL)})}I(kS);var TS=x(kS,2),f0=L(TS),OS=L(f0),dL=L(OS);k0(dL,{size:20}),Y(2),I(OS);var af=x(OS,2),I0=L(af);M(I0),Y(2),I(af),I(f0),E(f0,()=>c(IL));var rf=x(f0,2);{var vL=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(a0))),z(S,N)};G(rf,(S)=>{if(f(a0))S(vL)})}var L0=x(rf,2),pS=L(L0),ef=L(pS);O1(ef,{size:20});var $f=x(ef,2),aL=x(L($f),4);{var rL=(S)=>{var N=f1(),C=L(N,!0);I(N),Q(()=>V(C,f(e0))),z(S,N)},eL=(S)=>{var N=y1(),C=L(N,!0);I(N),Q(()=>V(C,f(i1))),z(S,N)};G(aL,(S)=>{if(f(e0))S(rL);else if(f(i1))S(eL,1)})}I($f),I(pS);var $L=x(pS,2);a($L,{type:"submit",get icon(){return O1},get disabled(){return f(r0)},children:(S,N)=>{Y();var C=g();Q(()=>V(C,f(r0)?"Clearing…":"Clear cache")),z(S,C)},$$slots:{default:!0}}),I(L0),E(L0,()=>c(NL));var bS=x(L0,2),hS=L(bS),of=L(hS);p1(of,{size:20});var nf=x(of,2),oL=x(L(nf),4);{var nL=(S)=>{var N=f1(),C=L(N,!0);I(N),Q(()=>V(C,f(o0))),z(S,N)},_L=(S)=>{var N=y1(),C=L(N,!0);I(N),Q(()=>V(C,f(s1))),z(S,N)};G(oL,(S)=>{if(f(o0))S(nL);else if(f(s1))S(_L,1)})}I(nf),I(hS);var SN=x(hS,2);a(SN,{type:"submit",get icon(){return p1},get disabled(){return f($0)},children:(S,N)=>{Y();var C=g();Q(()=>V(C,f($0)?"Starting…":"Rebuild all")),z(S,C)},$$slots:{default:!0}}),I(bS),E(bS,()=>c(wL)),I(TS);var N0=x(TS,2);let _f;var w0=L(N0),qS=L(w0),SI=L(qS);b1(SI,{size:20});var fI=x(SI,2),ES=L(fI),fN=x(L(ES));{var IN=(S)=>{var N=Vw();z(S,N)};G(fN,(S)=>{if(f(e))S(IN)})}I(ES);var II=x(ES,2),LN=L(II);{var NN=(S)=>{var N=g(`Not available while LiteLLM + Bedrock mode is enabled — Claude credentials are
24
- provided by the LiteLLM endpoint instead.`);z(S,N)},wN=(S)=>{var N=g(`Provide GitHub and Claude Code tokens yourself instead of discovering them from this
25
- machine. Useful on a headless server or when signed in as a different identity. A
26
- token set here is injected into every new container and overrides host credential
27
- discovery.`);z(S,N)};G(LN,(S)=>{if(f(e))S(NN);else S(wN,-1)})}I(II),I(fI),I(qS);var LI=x(qS,2),x0=L(LI);M(x0),Y(2),I(LI),I(w0),E(w0,()=>c(xL));var NI=x(w0,2);{var xN=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(n0))),z(S,N)};G(NI,(S)=>{if(f(n0))S(xN)})}var CN=x(NI,2);{var yN=(S)=>{var N=Ww(),C=h1(N),Z=x(L(C),2),T=L(Z);M(T);var q=x(T,2);a(q,{type:"submit",get disabled(){return f(Af)},children:(F,b)=>{Y();var R=g("Save");z(F,R)},$$slots:{default:!0}}),I(Z);var p=x(Z,2);{var r=(F)=>{var b=f1(),R=L(b,!0);I(b),Q(()=>V(R,f(fS))),z(F,b)},S1=(F)=>{var b=y1(),R=L(b,!0);I(b),Q(()=>V(R,f(u1))),z(F,b)};G(p,(F)=>{if(f(fS))F(r);else if(f(u1))F(S1,1)})}I(C),E(C,()=>c(CL));var u=x(C,2),U=x(L(u),2),K=L(U);M(K);var D=x(K,2);a(D,{type:"submit",get disabled(){return f(Jf)},children:(F,b)=>{Y();var R=g("Save");z(F,R)},$$slots:{default:!0}}),I(U);var t=x(U,2);{var n=(F)=>{var b=f1(),R=L(b,!0);I(b),Q(()=>V(R,f(NS))),z(F,b)},V1=(F)=>{var b=y1(),R=L(b,!0);I(b),Q(()=>V(R,f(t1))),z(F,b)};G(t,(F)=>{if(f(NS))F(n);else if(f(t1))F(V1,1)})}I(u),E(u,()=>c(yL)),Q(()=>{v(T,"placeholder",f(_0)?"•••••••• (saved)":"ghp_… / gho_…"),v(K,"placeholder",f(IS)?"•••••••• (saved)":"sk-ant-oat…")}),l(T,()=>f(SS),(F)=>w(SS,F)),l(K,()=>f(LS),(F)=>w(LS,F)),z(S,N)};G(CN,(S)=>{if(f(B1)&&!f(e))S(yN)})}I(N0);var C0=x(N0,2);let wI;var y0=L(C0),cS=L(y0),xI=L(cS);b1(xI,{size:20});var CI=x(xI,2),mS=L(CI),zN=x(L(mS));{var jN=(S)=>{var N=Xw();Q(()=>v(N,"title",`Disabled while ${f(K1)??""} is on`)),z(S,N)};G(zN,(S)=>{if(f(K1))S(jN)})}I(mS);var yI=x(mS,2),ZN=L(yI);{var QN=(S)=>{var N=g();Q(()=>V(N,`Not available while "${f(K1)??""}" is enabled — these modes are mutually
28
- incompatible.`)),z(S,N)},AN=(S)=>{var N=Yw();Y(2),z(S,N)};G(ZN,(S)=>{if(f(K1))S(QN);else S(AN,-1)})}I(yI),I(CI),I(cS);var zI=x(cS,2),z0=L(zI);M(z0),Y(2),I(zI),I(y0),E(y0,()=>c(zL));var jI=x(y0,2);{var JN=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(wS))),z(S,N)};G(jI,(S)=>{if(f(wS))S(JN)})}var VN=x(jI,2);{var WN=(S)=>{var N=Kw(),C=h1(N),Z=x(L(C),2),T=L(Z);M(T);var q=x(T,2);a(q,{type:"submit",get disabled(){return f(Xf)},children:(X,h)=>{Y();var s=g("Save");z(X,s)},$$slots:{default:!0}}),I(Z);var p=x(Z,2);{var r=(X)=>{var h=f1(),s=L(h,!0);I(h),Q(()=>V(s,f(xS))),z(X,h)},S1=(X)=>{var h=y1(),s=L(h,!0);I(h),Q(()=>V(s,f(d1))),z(X,h)};G(p,(X)=>{if(f(xS))X(r);else if(f(d1))X(S1,1)})}I(C),E(C,()=>c(jL));var u=x(C,2),U=x(L(u),2),K=L(U);M(K);var D=x(K,2);a(D,{type:"submit",get disabled(){return f(Yf)},children:(X,h)=>{Y();var s=g("Save");z(X,s)},$$slots:{default:!0}}),I(U);var t=x(U,2);{var n=(X)=>{var h=f1(),s=L(h,!0);I(h),Q(()=>V(s,f(zS))),z(X,h)},V1=(X)=>{var h=y1(),s=L(h,!0);I(h),Q(()=>V(s,f(v1))),z(X,h)};G(t,(X)=>{if(f(zS))X(n);else if(f(v1))X(V1,1)})}I(u),E(u,()=>c(ZL));var F=x(u,2),b=x(L(F),2),R=L(b),d=x(L(R),2);M(d),I(R);var L1=x(R,2),j1=x(L(L1),2);M(j1),I(L1);var T1=x(L1,2),U1=x(L(T1),2);M(U1),I(T1);var _S=x(T1,2),PI=x(L(_S),2);M(PI),I(_S);var Sf=x(_S,2),BI=x(L(Sf),2);M(BI),I(Sf);var kI=x(Sf,2),sN=L(kI);a(sN,{type:"submit",get disabled(){return f(Ff)},children:(X,h)=>{Y();var s=g("Save models");z(X,s)},$$slots:{default:!0}}),I(kI),I(b);var uN=x(b,2);{var tN=(X)=>{var h=f1(),s=L(h,!0);I(h),Q(()=>V(s,f(jS))),z(X,h)},dN=(X)=>{var h=y1(),s=L(h,!0);I(h),Q(()=>V(s,f(a1))),z(X,h)};G(uN,(X)=>{if(f(jS))X(tN);else if(f(a1))X(dN,1)})}I(F),E(F,()=>c(QL)),Q(()=>v(K,"placeholder",f(yS)?"•••••••• (saved)":"sk-…")),l(T,()=>f(Wf),(X)=>w(Wf,X)),l(K,()=>f(CS),(X)=>w(CS,X)),l(d,()=>f(Kf),(X)=>w(Kf,X)),l(j1,()=>f(Rf),(X)=>w(Rf,X)),l(U1,()=>f(Gf),(X)=>w(Gf,X)),l(PI,()=>f(Df),(X)=>w(Df,X)),l(BI,()=>f(Uf),(X)=>w(Uf,X)),z(S,N)};G(VN,(S)=>{if(f(e))S(WN)})}I(C0);var j0=x(C0,2);let ZI;var Z0=L(j0),lS=L(Z0),QI=L(lS);O0(QI,{size:18});var AI=x(QI,2),gS=L(AI),XN=x(L(gS));{var YN=(S)=>{var N=Rw();z(S,N)};G(XN,(S)=>{if(f(e))S(YN)})}I(gS);var JI=x(gS,2),KN=L(JI);{var RN=(S)=>{var N=g(`Not available while "LiteLLM + Bedrock" is enabled — these modes are mutually
29
- incompatible.`);z(S,N)},GN=(S)=>{var N=Gw();Y(4),z(S,N)};G(KN,(S)=>{if(f(e))S(RN);else S(GN,-1)})}I(JI),I(AI),I(lS);var VI=x(lS,2),Q0=L(VI);M(Q0),Y(2),I(VI),I(Z0),E(Z0,()=>c(AL));var WI=x(Z0,2);{var DN=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(ZS))),z(S,N)};G(WI,(S)=>{if(f(ZS))S(DN)})}var UN=x(WI,2);{var FN=(S)=>{var N=Dw(),C=x(L(N),2),Z=L(C),T=x(L(Z),2);M(T),I(Z);var q=x(Z,2),p=x(L(q),2);M(p),I(q);var r=x(q,2),S1=x(L(r),2);M(S1),I(r);var u=x(r,2),U=x(L(u),2);M(U),I(u);var K=x(u,2),D=x(L(K),2);M(D),I(K);var t=x(K,2),n=L(t);a(n,{type:"submit",get disabled(){return f(Of)},children:(R,d)=>{Y();var L1=g("Save models");z(R,L1)},$$slots:{default:!0}}),I(t),I(C);var V1=x(C,2);{var F=(R)=>{var d=f1(),L1=L(d,!0);I(d),Q(()=>V(L1,f(QS))),z(R,d)},b=(R)=>{var d=y1(),L1=L(d,!0);I(d),Q(()=>V(L1,f(r1))),z(R,d)};G(V1,(R)=>{if(f(QS))R(F);else if(f(r1))R(b,1)})}I(N),E(N,()=>c(JL)),l(T,()=>f(Pf),(R)=>w(Pf,R)),l(p,()=>f(Bf),(R)=>w(Bf,R)),l(S1,()=>f(kf),(R)=>w(kf,R)),l(U,()=>f(Mf),(R)=>w(Mf,R)),l(D,()=>f(Tf),(R)=>w(Tf,R)),z(S,N)};G(UN,(S)=>{if(f(Y1))S(FN)})}I(j0);var iS=x(j0,2),A0=L(iS),sS=L(A0),HN=L(sS);p0(HN,{size:20}),Y(2),I(sS);var XI=x(sS,2),J0=L(XI);M(J0),Y(2),I(XI),I(A0),E(A0,()=>c(VL));var YI=x(A0,2);{var PN=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f(AS))),z(S,N)};G(YI,(S)=>{if(f(AS))S(PN)})}var BN=x(YI,2);{var kN=(S)=>{var N=Hw(),C=L(N);W1(C,20,()=>f(R1),(U)=>U,(U,K)=>{var D=Uw(),t=L(D);W1(t,16,()=>f(R1).filter((j1)=>j1!==K),(j1)=>j1,(j1,T1)=>{var U1=qI();M(U1),Q(()=>q1(U1,T1)),z(j1,U1)});var n=x(t,2),V1=L(n,!0);I(n);var F=x(n,2);let b;var R=L(F,!0);I(F);var d=x(F,2),L1=L(d);gI(L1,{size:13}),I(d),I(D),E(D,()=>c(XL(K))),Q(()=>{V(V1,K),b=C1(F,1,"var-status svelte-1n6ht58",null,b,{present:f(G1)[K]}),v(F,"title",f(G1)[K]?"Set on this host — will be injected":"Not set on this host — will be skipped"),V(R,f(G1)[K]?"set":"missing"),d.disabled=f($1),v(d,"aria-label",`Remove ${K}`)}),z(U,D)},(U)=>{var K=Fw();z(U,K)}),I(C);var Z=x(C,2),T=L(Z);W1(T,16,()=>f(R1),(U)=>U,(U,K)=>{var D=qI();M(D),Q(()=>q1(D,K)),z(U,D)});var q=x(T,2);M(q);var p=x(q,2);a(p,{type:"submit",get icon(){return sI},get disabled(){return f($1)},children:(U,K)=>{Y();var D=g("Add");z(U,D)},$$slots:{default:!0}}),I(Z),E(Z,()=>c(WL));var r=x(Z,2);{var S1=(U)=>{var K=f1(),D=L(K,!0);I(K),Q(()=>V(D,f(A1))),z(U,K)},u=(U)=>{var K=y1(),D=L(K,!0);I(K),Q(()=>V(D,f(k1))),z(U,K)};G(r,(U)=>{if(f(A1))U(S1);else if(f(k1))U(u,1)})}I(N),l(q,()=>f(JS),(U)=>w(JS,U)),z(S,N)};G(BN,(S)=>{if(f(e1))S(kN)})}I(iS);var uS=x(iS,2),KI=L(uS),tS=L(KI),MN=L(tS);G0(MN,{size:20}),Y(2),I(tS);var TN=x(tS,2);If(TN,{}),I(KI),I(uS);var dS=x(uS,2),RI=L(dS),vS=L(RI),ON=L(vS);K0(ON,{size:20}),Y(2),I(vS);var GI=x(vS,2),aS=L(GI);M(aS),Y(2),I(GI),I(RI),I(dS);var rS=x(dS,2),V0=L(rS),eS=L(V0),pN=L(eS);R0(pN,{size:18}),Y(2),I(eS);var DI=x(eS,2),W0=L(DI);M(W0),Y(2),I(DI),I(V0),E(V0,()=>c(KL));var UI=x(V0,2);{var bN=(S)=>{var N=Z1(),C=L(N),Z=L(C,!0);I(C),I(N),Q(()=>V(Z,f($))),z(S,N)};G(UI,(S)=>{if(f($))S(bN)})}var hN=x(UI,2);{var qN=(S)=>{var N=Bw();W1(N,21,()=>mI,(C)=>C.name,(C,Z)=>{var T=Pw(),q=L(T);M(q);var p=x(q,2);let r;var S1=L(p);b0(S1,{get art(){return f(Z)},get name(){return f(Z).name},scale:4}),I(p),I(T),E(T,()=>c(RL(f(Z)))),Q(()=>{q1(q,f(Z).name),r=C1(p,1,"pet svelte-1n6ht58",null,r,{selected:f(Z).name===f(J).name}),p.disabled=f(N1),v(p,"title",f(Z).name),v(p,"aria-label",f(Z).name),v(p,"aria-pressed",f(Z).name===f(J).name)}),z(C,T)}),I(N),z(S,N)};G(hN,(S)=>{if(f(J))S(qN)})}I(rS);var $S=x(rS,2),oS=L($S),nS=L(oS),EN=L(nS);Y0(EN,{size:20}),Y(2),I(nS);var cN=x(nS,2);{var mN=(S)=>{var N=kw();z(S,N)},lN=(S)=>{a(S,{type:"submit",variant:"danger",children:(N,C)=>{Y();var Z=g("Delete & shut down");z(N,Z)},$$slots:{default:!0}})};G(cN,(S)=>{if(f(o))S(mN);else S(lN,-1)})}I(oS),E(oS,()=>c(GL)),I($S);var FI=x($S,2);Lf(FI,{});var HI=x(FI,2),gN=L(HI);I(HI),I(qf),I(VS);var iN=x(VS,2);uI(iN,{toastOptions:{style:"border:1px solid var(--ink); background:var(--bg-card); color:var(--ink); box-shadow:4px 4px 0 var(--ink); font-family:var(--font-mono); font-size:13px;"}}),Q(()=>{q1(YS,f(w1)),cf=C1(J1,1,"mode-btn svelte-1n6ht58",null,cf,{active:f(w1)==="ide"}),v(J1,"aria-pressed",f(w1)==="ide"),J1.disabled=f(F1),mf=C1(D1,1,"mode-btn svelte-1n6ht58",null,mf,{active:f(w1)==="terminal"}),v(D1,"aria-pressed",f(w1)==="terminal"),D1.disabled=f(F1),z1(S0,f(m1)),S0.disabled=f(zf),z1(I0,f(v0)),I0.disabled=f(Zf),_f=C1(N0,1,"card svelte-1n6ht58",null,_f,{"disabled-card":f(e)}),z1(x0,f(B1)),x0.disabled=f(Qf)||f(e),wI=C1(C0,1,"card svelte-1n6ht58",null,wI,{"disabled-card":f(K1)}),z1(z0,f(e)),z0.disabled=f(Vf)||!!f(K1),ZI=C1(j0,1,"card svelte-1n6ht58",null,ZI,{"disabled-card":f(e)}),z1(Q0,f(Y1)),Q0.disabled=f(Hf)||f(e),z1(J0,f(e1)),J0.disabled=f(pf),z1(aS,f(W)),z1(W0,!!f(J)),W0.disabled=f(N1),V(gN,`Codebay v${j.version??""}`)}),_("click",J1,()=>c1("ide")),_("click",D1,()=>c1("terminal")),l(DS,()=>f(Q1),(S)=>w(Q1,S)),l(BS,()=>f(P1),(S)=>w(P1,S)),_("change",S0,(S)=>{w(m1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",I0,(S)=>{w(v0,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",x0,(S)=>{w(B1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",z0,(S)=>{w(e,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",Q0,(S)=>{w(Y1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",J0,(S)=>{w(e1,S.currentTarget.checked,!0),S.currentTarget.form?.requestSubmit()}),_("change",aS,(S)=>YL(S.currentTarget.checked)),_("change",W0,(S)=>S.currentTarget.form?.requestSubmit()),z(A,bf),P0()}B0(["click","change"]);eI("SettingsView_8hmarwmf8onq",yf);
@@ -1,2 +0,0 @@
1
- import{D as fr,G as dr}from"/_mochi/client/chunk-m497q88s.js";import{$ as j,Aa as f,Ba as bt,Ca as H,Ea as Ve,Fa as vt,Ga as Tt,Ha as it,I as nt,Ia as N,K as M,L as Oe,La as O,Ma as E,N as we,Na as Ht,P as L,Q as B,R as lt,Ra as qt,S as It,Sa as mt,T as D,U as ir,Ua as sr,V as mr,Va as w,Wa as At,Xa as pt,Y as U,Ya as d,Za as nr,_a as or,aa as P,ba as b,ea as k,fa as R,ga as Y,ha as Ne,ia as K,ja as V,ka as C,pa as p,qa as W,ra as z,ta as ot,ua as at,va as ct,wa as g,ya as pr,za as S}from"/_mochi/client/chunk-v65n8th6.js";var vr={name:"anchor",robot:!0,pixels:["...##...","..#..#..","..#..#..",".######.","...##...","#..##..#","########",".######."]},Yt=vr;var Ar={name:"ant-head",pixels:["#......#",".#....#.",".######.","#..##..#","#..##..#","#..##..#",".######.","...##..."]},Gt=Ar;var ur={name:"apple",pixels:["...##...","...#....",".##..##.","#.######","#.######","#.######",".#.####.","..####.."]},Jt=ur;var yr={name:"bear",robot:!0,pixels:["##....##","###..###","########","##.##.##","########","########","###..###",".######."]},Kt=yr;var xr={name:"bee",robot:!0,pixels:[".#....#.","##.##.##","#.####.#",".######.",".######.","........",".######.","..####.."]},Wt=xr;var _r={name:"bob-marley",pixels:["..####..",".######.","##....##","#.#..#.#","#......#","##.##.##","#.####.#","#..##..#"]},Xt=_r;var gr={name:"bodybuilder",pixels:["...##...","...##...",".#....#.","#..##..#","##....##","##.##.##","........","...##..."]},Zt=gr;var hr={name:"car",pixels:["........","..####..","..#..#..","..#..#..","########","########","########",".##..##."]},Ft=hr;var br={name:"carpathians",pixels:["........",".#......","......##",".....###","#...####","##.#####","###.####","####.###"]},Ut=br;var Tr={name:"cat",robot:!0,pixels:["##....##","##....##","########","##.##.##","########","#.####.#","########",".####.##"]},Ot=Tr;var zr={name:"cat-body",pixels:["....##..","#.#..###","###....#","###..###","########","########","#.#..#.#","#.#..#.#"]},Nt=zr;var Mr={name:"cat-sits",pixels:["..#..#..","..####..","..####..",".####...","####..##","####.#.#","####...#",".######."]},Vt=Mr;var Cr={name:"celtic-cross",pixels:["...##...",".#.##.#.","...##...","########","########","...##...",".#.##.#.","...##..."]},wt=Cr;var kr={name:"cherry",robot:!0,pixels:["......##","....###.","...##.#.","..#..#..",".##.##..","#.###.#.","#.###.#.",".###.#.."]},jt=kr;var qr={name:"cotton",pixels:["....##..","....##..",".##.....",".##..##.","...#.##.","....#...","...#....","...#...."]},Dt=qr;var Hr={name:"crab",robot:!0,pixels:[".#....#.","##....##","##.##.##",".######.","########","##.##.##","##....##",".#....#."]},te=Hr;var Ir={name:"crown",robot:!0,pixels:["#......#","#..##..#","##.##.##","##.##.##","########","#.#.#.#.","########","########"]},ee=Ir;var Rr={name:"diamond",robot:!0,pixels:[".######.","#.#..#.#","########","##.##.##",".#.##.#.",".##..##.","..####..","...##..."]},re=Rr;var Pr={name:"dog",robot:!0,pixels:["##....##","##.##.##","########","###..###","########","########","##.##.##",".######."]},ae=Pr;var Er={name:"elephant",pixels:["...###..",".#####..","####.#..","######..","######.#","##.##.#.","##.##...","##.##..."]},oe=Er;var Sr={name:"fish",robot:!0,pixels:["......#.",".###.##.","#####.##","#.#####.","#.#####.","#####.##",".###.##.","......#."]},pe=Sr;var Qr={name:"fleur-de-lis",pixels:["...##...","...#....",".###.##.","#.##...#","...##...",".#.##.#.",".######.","...##..."]},se=Qr;var Lr={name:"flower",robot:!0,pixels:["..#..#..",".###.##.","########",".######.","..####..","...##...","..##.##.","...##..."]},ne=Lr;var Br={name:"fox",robot:!0,pixels:["##....##","##....##","########","###..###","########","########",".######.","..####.."]},ie=Br;var Yr={name:"frog",robot:!0,pixels:[".#....#.","###..###","########","########","########","########",".######.","..####.."]},me=Yr;var Gr={name:"ghost",robot:!0,pixels:["..####..",".######.","##.##.##","##.##.##","########","########","########","#.##.##."]},le=Gr;var Jr={name:"giraffe",pixels:["....#.#.","....####","....#...","....#...","....#...","....#...","#####...","##.##..."]},fe=Jr;var Kr={name:"glasses",pixels:["##..##..","#.#.##.#",".#######","........",".##..##.",".##..##.","#..##..#","########"]},de=Kr;var Wr={name:"heart",pixels:["........","........",".##.##..","#..#..#.","#.....#.",".#...#..","..#.#...","...#...."]},$e=Wr;var Xr={name:"horse",pixels:["....#.#.","....####","....####","....##..","######..","#.#.##..","#.#.##..","#.#.##.."]},ce=Xr;var Zr={name:"invader",robot:!0,pixels:["#......#",".#....#.","########","##.##.##","########","..####..",".##..##.","#.#..#.#"]},ve=Zr;var Fr={name:"kangaroo",pixels:["..#.#...","..###...",".####...","...##...","..#####.","...####.","...##.#.","..###..#"]},Ae=Fr;var Ur={name:"key",robot:!0,pixels:[".####...","##..##..","##..##..","##..##..",".####...","..##....","..####..","..##.##."]},ue=Ur;var Or={name:"lightning",robot:!0,pixels:["...#####","..####..",".####...",".#######","..######","...#####","..####..",".###...."]},ye=Or;var Nr={name:"mushroom",robot:!0,pixels:["..####..",".######.","########","########","########","..####..","..####..",".######."]},xe=Nr;var Vr={name:"octopus",robot:!0,pixels:["..####..",".######.","###..###","########","########","########",".######.","#.#.#.#."]},_e=Vr;var wr={name:"owl",robot:!0,pixels:["#......#","##....##",".######.",".#.##.#.",".#.##.#.",".######.",".######.","..#..#.."]},ge=wr;var jr={name:"penguin",robot:!0,pixels:["..####..",".######.",".##..##.",".#.##.#.","##...##.","##...##.","#######.",".#....#."]},he=jr;var Dr={name:"planet",robot:!0,pixels:["...###..","..#####.","#.#####.",".#######","..#####.","..####..",".###....","........"]},be=Dr;var ta={name:"praying-mantis",pixels:["#.....#.",".#...#..",".##.##..","#..#..#.","#..#..#.",".#####..","..#.#...","...#...."]},Te=ta;var ea={name:"rabbit",robot:!0,pixels:[".#....#.",".##..##.",".##..##.","..####..",".######.","###..###","#..##..#",".######."]},ze=ea;var ra={name:"rat",pixels:["...#.#..","...#####","...#.#..","..###...",".####.#.","#####..#","####..#.",".#####.."]},Me=ra;var aa={name:"robot",robot:!0,pixels:["...##...","...#....",".######.","#.####.#","#..##..#",".######.",".#####..",".######."]},Ce=aa;var oa={name:"rocket",robot:!0,pixels:["...##...","..####..","..#..#..","..####..",".######.","##.##.##","..#..#..","...##..."]},ke=oa;var pa={name:"sea",pixels:["#.#.....",".#..#.#.",".....#..","...#....","........","########",".##..###","##.###.."]},qe=pa;var sa={name:"skull",pixels:[".######.","#..#..##","#..#..##","########",".##.##..",".#####..",".#.#.#..","........"]},He=sa;var na={name:"snail",robot:!0,pixels:[".####..#","#....#.#","#.##.#.#","#.#..#.#","#....##.","#...#.#.","######.#",".######."]},Ie=na;var ia={name:"snake",pixels:["...###..",".###..#.","#.#..#..","##..#..#","...#..#.","..#...##",".#.....#",".######."]},Re=ia;var ma={name:"snakegame",pixels:["########","#......#","#.##...#","#.#..#.#","#.##...#","#..##..#","#......#","########"]},Pe=ma;var la={name:"snowflake",pixels:["#..##..#",".##..##.",".#.##.#.","#.####.#","#.####.#",".#.##.#.",".##..##.","#..##..#"]},Ee=la;var fa={name:"star",robot:!0,pixels:["...##...","...##...","########",".######.",".######.",".##..##.","##....##","#......#"]},Se=fa;var da={name:"strawberry",pixels:["...#....","..#...#.","..#..#.#",".###..#.","#####...","#####...",".###....","..#....."]},Qe=da;var $a={name:"svelte",pixels:["..#####.",".###..#.","##...#..","########","########","..#...##",".#..###.",".####..."]},Le=$a;var ca={name:"target",robot:!0,pixels:["..####..",".#....#.","#......#","#..##..#","#..##..#","#......#",".#....#.","..####.."]},Be=ca;var va={name:"tree",robot:!0,pixels:["...##...","..####..",".######.","..####..",".######.","########","...##...","...##..."]},Ye=va;var Aa={name:"ukraine",pixels:["...##...","#..##..#","##.##.##","#..##..#","##.##.##","#..##..#","########","...##..."]},Ge=Aa;var ua={name:"vangogh-almond-blossoms",pixels:["....#.#.",".....#..","####....","#...#..#",".#...##.","..#....#",".#.#....","..#....."]},Je=ua;var ya={name:"wasp",pixels:[".....##.",".##.###.",".###....","..#.#...",".#.#.#..","##..##..","##......","........"]},Ke=ya;var xa={name:"whale",robot:!0,pixels:["....#...","...###..","..####.#",".#.####.","######.#",".#####..","..####..","...##..."]},We=xa;var _a={name:"wheat",pixels:["........","....#.#.","...#.#..","..#.#.#.","..##.#..","..###...",".#......","#......."]},Xe=_a;var ga={name:"windmill",pixels:["........",".#...#..","..#.#...","...#....","..#.#...",".#.#.#..","..###...","..###..."]},Ze=ga;var ha={name:"yinyan",pixels:[".......#",".##...##",".##..###","....####","...#####","..###..#",".####..#","########"]},Fe=ha;var lp=0,fp=1,dp=2,$p=8,cp=8;function Ct(e){let t=[];for(let r of e.pixels)for(let a of r)t.push(a==="#"?1:a==="+"?2:0);return t}var kt=[Yt,Gt,Jt,Kt,Wt,Xt,Zt,Ft,Ut,Ot,Nt,Vt,wt,jt,Dt,te,ee,re,ae,oe,pe,se,ne,ie,me,le,fe,de,$e,ce,ve,Ae,ue,ye,xe,_e,ge,he,be,Te,ze,Me,Ce,ke,qe,He,Ie,Re,Pe,Ee,Se,Qe,Le,Be,Ye,Ge,Je,Ke,We,Xe,Ze,Fe];function ba(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return t>>>0}function Ue(e){return kt[ba(e)%kt.length]}function Ts(e){return e?kt.find((t)=>t.name===e):void 0}var Ta=g("<span></span>"),za=g('<span class="invert svelte-1pre9qb" aria-hidden="true"></span> <span class="bloom svelte-1pre9qb" aria-hidden="true"></span>',1),Ma=g('<span role="img"><!> <!></span>');function Ca(e,t){L(t,!0);let r=d(t,"id",3,""),a=d(t,"scale",3,6),n=d(t,"interactive",3,!1),i=j(!1),o=j(!1),c=j("50%"),l=j("50%"),A=j(0),y=j(0),$;function u(q){let Q=q.currentTarget.getBoundingClientRect(),X=(q.clientX-Q.left)/Q.width,Z=(q.clientY-Q.top)/Q.height;b(c,X*100+"%"),b(l,Z*100+"%"),b(y,(X*360+Z*140)%360),b(A,(Z*300-X*120+360)%360)}function v(q){if(!n())return;q.currentTarget.setPointerCapture?.(q.pointerId),u(q),clearTimeout($),b(o,!1),b(i,!0)}function m(q){if(p(i))u(q)}function s(){if(!p(i))return;b(i,!1),b(o,!0),clearTimeout($),$=setTimeout(()=>b(o,!1),250)}Ne(()=>()=>clearTimeout($));let x=U(()=>Math.max(1,Math.round(a()))),h=U(()=>p(x)>=2?0.5:0),_=U(()=>t.art??Ue(r())),I=U(()=>Ct(p(_))),F=U(()=>Array.from({length:100},(q,Q)=>{let X=Math.floor(Q/10),Z=Q%10;return X>=1&&X<=8&&Z>=1&&Z<=8?p(I)[(X-1)*8+(Z-1)]:0}));var T=Ma();let rt;var Bt=k(T);vt(Bt,17,()=>p(F),Ve,(q,Q)=>{var X=Ta();let Z;C(()=>Z=O(X,1,"px svelte-1pre9qb",null,Z,{on:p(Q)===1,gray:p(Q)===2})),f(q,X)});var $r=Y(Bt,2);{var cr=(q)=>{var Q=za();Oe(2),f(q,Q)};H($r,(q)=>{if(n())q(cr)})}M(T),C(()=>{rt=O(T,1,"avatar svelte-1pre9qb",null,rt,{interactive:n(),pressed:p(i),ghosting:p(o)}),qt(T,"aria-label",t.name),qt(T,"title",p(_).name),E(T,`width:${10*p(x)}px;height:${10*p(x)}px;--gap:${p(h)??""}px;--bx:${p(c)??""};--by:${p(l)??""};--spin:${p(A)??""}deg;--hue:${p(y)??""}deg`)}),at("pointerdown",T,v),at("pointermove",T,m),at("pointerup",T,s),ot("pointercancel",T,s),ot("lostpointercapture",T,s),f(e,T),B()}ct(["pointerdown","pointermove","pointerup"]);var ka=new Set(["$$slots","$$events","$$legacy","variant","size","ghost","icon","iconSize","href","disabled","onclick","children"]),qa=g("<a><!> <!></a>"),Ha=g("<button><!> <!></button>");function Ia(e,t){let r=d(t,"variant",3,"default"),a=d(t,"size",3,"md"),n=d(t,"ghost",3,!1),i=d(t,"disabled",3,!1),o=At(t,ka),c=U(()=>t.icon),l=U(()=>t.iconSize??(a()==="lg"?18:a()==="sm"?13:15));var A=S(),y=R(A);{var $=(v)=>{var m=qa();mt(m,()=>({class:`btn ${r()??""} ${a()??""}`,href:i()?void 0:t.href,"aria-disabled":i()||void 0,tabindex:i()?-1:void 0,...o,[Ht]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var s=k(m);{var x=(_)=>{var I=S(),F=R(I);N(F,()=>p(c),(T,rt)=>{rt(T,{get size(){return p(l)}})}),f(_,I)};H(s,(_)=>{if(p(c))_(x)})}var h=Y(s,2);it(h,()=>t.children??nt),M(m),f(v,m)},u=(v)=>{var m=Ha();mt(m,()=>({class:`btn ${r()??""} ${a()??""}`,onclick:t.onclick,disabled:i(),...o,[Ht]:{ghost:n()}}),void 0,void 0,void 0,"svelte-1klcfz0");var s=k(m);{var x=(_)=>{var I=S(),F=R(I);N(F,()=>p(c),(T,rt)=>{rt(T,{get size(){return p(l)}})}),f(_,I)};H(s,(_)=>{if(p(c))_(x)})}var h=Y(s,2);it(h,()=>t.children??nt),M(m),f(v,m)};H(y,(v)=>{if(t.href)v($);else v(u,-1)})}f(e,A)}we();function Rt(e,t,r,a){var n,i,o=!1,c=r.length>=2,l=(m,s,x)=>{if(n=s,c)i=m;if(!o){let h=t(m,s,x);if(t.length<2)s(h);else return h}o=!1},A=It(e,l,a),y=!Array.isArray(e);function $(m){var s=r(m,i);if(y)o=!0,e.set(s);else s.forEach((x,h)=>{o=!0,e[h].set(x)});o=!1}var u=!1;function v(m){var s,x,h,_;if(u){_=m(D(A)),n(_);return}var I=A.subscribe((F)=>{if(!u)h=F;else if(!s)s=!0;else x=!0});if(_=m(h),u=!0,n(_),I(),u=!1,x)_=D(A);if(s)$(_)}return{subscribe:A.subscribe,set(m){v(()=>m)},update:v}}var Ra=20,tt=lt([]),Pt=lt(null),ut=new Map,je=(e)=>{if(ut.has(e))return;let t=setTimeout(()=>{ut.delete(e),St(e)},1000);ut.set(e,t)},Pa=(e)=>{let t=ut.get(e);if(t)clearTimeout(t)};function Et(e){if(e.id)Pa(e.id);tt.update((t)=>t.map((r)=>r.id===e.id?{...r,...e}:r))}function Ea(e){tt.update((t)=>[e,...t].slice(0,Ra))}function De(e){if(D(tt).find((t)=>t.id===e.id))Et(e);else Ea(e)}function tr(e){tt.update((t)=>{if(e)je(e);else t.forEach((r)=>{je(r.id)});return t.map((r)=>r.id===e||e===void 0?{...r,visible:!1}:r)})}function St(e){tt.update((t)=>{if(e===void 0)return[];return t.filter((r)=>r.id!==e)})}function er(e){Pt.set(e)}function rr(e){let t;Pt.update((r)=>{return t=e-(r||0),null}),tt.update((r)=>r.map((a)=>({...a,pauseDuration:a.pauseDuration+t})))}var Sa={blank:4000,error:4000,success:2000,loading:1/0,custom:4000};function Qt(e={}){return{toasts:Rt(tt,(r)=>r.map((a)=>({...e,...e[a.type],...a,duration:a.duration||e[a.type]?.duration||e?.duration||Sa[a.type],style:[e.style,e[a.type]?.style,a.style].join(";")})),(r)=>r),pausedAt:Pt}}var Qa=(e)=>typeof e==="function",yt=(e,t)=>Qa(e)?e(t):e;var ar=(()=>{let e=0;return()=>{return e+=1,e.toString()}})(),ft=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})();var La=(e,t="blank",r)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:r?.id||ar()}),dt=(e)=>(t,r)=>{let a=La(t,e,r);return De(a),a.id},J=(e,t)=>dt("blank")(e,t);J.error=dt("error");J.success=dt("success");J.loading=dt("loading");J.custom=dt("custom");J.dismiss=(e)=>{tr(e)};J.remove=(e)=>St(e);J.promise=(e,t,r)=>{let a=J.loading(t.loading,{...r,...r?.loading});return e.then((n)=>{return J.success(yt(t.success,n),{id:a,...r,...r?.success}),n}).catch((n)=>{J.error(yt(t.error,n),{id:a,...r,...r?.error})}),e};var $t=J;function Ba(e,t,r){let{reverseOrder:a,gutter:n=8,defaultPosition:i}=r||{},o=t.filter((y)=>(y.position||i)===(e.position||i)&&y.height),c=o.findIndex((y)=>y.id===e.id),l=o.filter((y,$)=>$<c&&y.visible).length;return o.filter((y)=>y.visible).slice(...a?[l+1]:[0,l]).reduce((y,$)=>y+($.height||0)+n,0)}var Ya={startPause(){er(Date.now())},endPause(){rr(Date.now())},updateHeight:(e,t)=>{Et({id:e,height:t})},calculateOffset:Ba};function xt(e){let{toasts:t,pausedAt:r}=Qt(e),a=new Map,n,i=[r.subscribe((o)=>{if(o){for(let[,c]of a)clearTimeout(c);a.clear()}n=o}),t.subscribe((o)=>{if(n)return;let c=Date.now();for(let l of o){if(a.has(l.id))continue;if(l.duration===1/0)continue;let A=(l.duration||0)+l.pauseDuration-(c-l.createdAt);if(A<0){if(l.visible)$t.dismiss(l.id);return null}a.set(l.id,setTimeout(()=>$t.dismiss(l.id),A))}})];return or(()=>{for(let o of i)o()}),{toasts:t,handlers:Ya}}var Ga=g('<div class="svelte-1did3zw"></div>');function _t(e,t){let r=d(t,"primary",8,"#61d345"),a=d(t,"secondary",8,"#fff");var n=Ga();let i;C(()=>i=E(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var Ja=g('<div class="svelte-1ro2ggf"></div>');function gt(e,t){let r=d(t,"primary",8,"#ff4b4b"),a=d(t,"secondary",8,"#fff");var n=Ja();let i;C(()=>i=E(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var Ka=g('<div class="svelte-tyythq"></div>');function ht(e,t){let r=d(t,"primary",8,"#616161"),a=d(t,"secondary",8,"#e0e0e0");var n=Ka();let i;C(()=>i=E(n,"",i,{"--primary":r(),"--secondary":a()})),f(e,n)}var Wa=g('<div class="animated svelte-t33qv2"> </div>'),Xa=g('<div class="status svelte-t33qv2"><!></div>'),Za=g('<div class="indicator svelte-t33qv2"><!> <!></div>');function st(e,t){L(t,!1);let r=P(),a=P(),n=P(),i=d(t,"toast",8);K(()=>(p(r),p(a),p(n),z(i())),()=>{(($)=>{b(r,$.type),b(a,$.icon),b(n,$.iconTheme)})(i())}),V();var o=S(),c=R(o);{var l=($)=>{var u=Wa(),v=k(u,!0);M(u),C(()=>bt(v,p(a))),f($,u)},A=($)=>{var u=S(),v=R(u);N(v,()=>p(a),(m,s)=>{s(m,{})}),f($,u)},y=($)=>{var u=Za(),v=k(u);ht(v,pt(()=>p(n)));var m=Y(v,2);{var s=(x)=>{var h=Xa(),_=k(h);{var I=(T)=>{gt(T,pt(()=>p(n)))},F=(T)=>{_t(T,pt(()=>p(n)))};H(_,(T)=>{if(p(r)==="error")T(I);else T(F,-1)})}M(h),f(x,h)};H(m,(x)=>{if(p(r)!=="loading")x(s)})}M(u),f($,u)};H(c,($)=>{if(typeof p(a)==="string")$(l);else if(typeof p(a)<"u")$(A,1);else if(p(r)!=="blank")$(y,2)})}f(e,o),B()}var Fa=g("<div><!></div>");function et(e,t){L(t,!1);let r=d(t,"toast",8);w();var a=Fa();mt(a,()=>({class:"message",...r().ariaProps}),void 0,void 0,void 0,"svelte-1gudbf6");var n=k(a);{var i=(c)=>{var l=pr();C(()=>bt(l,(z(r()),W(()=>r().message)))),f(c,l)},o=(c)=>{var l=S(),A=R(l);N(A,()=>r().message,(y,$)=>{$(y,{get toast(){return r()}})}),f(c,l)};H(n,(c)=>{if(z(r()),W(()=>typeof r().message==="string"))c(i);else c(o,-1)})}M(a),f(e,a),B()}var Ua=g("<!> <!>",1),Oa=g("<div><!></div>");function zt(e,t){L(t,!1);let r=d(t,"toast",8),a=d(t,"position",24,()=>{return}),n=d(t,"style",8,""),i=d(t,"Component",24,()=>{return}),o=P(),c=P();K(()=>(z(r()),z(a()),ft),()=>{let v=(r().position||a()||"top-center").includes("top");b(o,v?1:-1);let[m,s]=ft()?["fadeIn","fadeOut"]:["enter","exit"];b(c,r().visible?m:s)}),V(),w();var l=Oa();let A;var y=k(l);{var $=(v)=>{var m=S(),s=R(m);N(s,i,(x,h)=>{h(x,{$$slots:{icon:(_,I)=>{st(_,{get toast(){return r()},slot:"icon"})},message:(_,I)=>{et(_,{get toast(){return r()},slot:"message"})}}})}),f(v,m)},u=(v)=>{var m=S(),s=R(m);Tt(s,t,"default",{get ToastIcon(){return st},get ToastMessage(){return et},get toast(){return r()}},(x)=>{var h=Ua(),_=R(h);st(_,{get toast(){return r()}});var I=Y(_,2);et(I,{get toast(){return r()}}),f(x,h)}),f(v,m)};H(y,(v)=>{if(i())v($);else v(u,-1)})}M(l),C(()=>{O(l,1,`base ${(z(r()),p(c),W(()=>r().height?p(c):"transparent"))??""} ${(z(r()),W(()=>r().className||""))??""}`,"svelte-yae3e8"),A=E(l,`${n()??""}; ${(z(r()),W(()=>r().style))??""}`,A,{"--factor":p(o)})}),f(e,l),B()}var Na=g("<div><!></div>");function Lt(e,t){L(t,!1);let r=P(),a=P(),n=P(),i=P(),o=d(t,"toast",8),c=d(t,"setHeight",8),l=P();nr(()=>{c()(p(l).getBoundingClientRect().height)}),K(()=>z(o()),()=>{b(r,o().position?.includes("top")?0:null)}),K(()=>z(o()),()=>{b(a,o().position?.includes("bottom")?0:null)}),K(()=>z(o()),()=>{b(n,o().position?.includes("top")?1:-1)}),K(()=>z(o()),()=>{b(i,o().position?.includes("center")&&"center"||(o().position?.includes("right")||o().position?.includes("end"))&&"flex-end"||null)}),V(),w();var A=Na();let y,$;var u=k(A);{var v=(s)=>{et(s,{get toast(){return o()}})},m=(s)=>{var x=S(),h=R(x);Tt(h,t,"default",{get toast(){return o()}},(_)=>{zt(_,{get toast(){return o()},get position(){return z(o()),W(()=>o().position)}})}),f(s,x)};H(u,(s)=>{if(z(o()),W(()=>o().type==="custom"))s(v);else s(m,-1)})}M(A),sr(A,(s)=>b(l,s),()=>p(l)),C((s)=>{y=O(A,1,"wrapper svelte-1pz3gqy",null,y,s),$=E(A,"",$,{"--factor":p(n),"--offset":(z(o()),W(()=>o().offset)),top:p(r),bottom:p(a),"justify-content":p(i)})},[()=>({active:o().visible,transition:!ft()})]),f(e,A),B()}var Va=g('<div role="alert"></div>');function lr(e,t){L(t,!1);let r=()=>ir($,"$toasts",a),[a,n]=mr(),i=d(t,"reverseOrder",8,!1),o=d(t,"position",8,"top-center"),c=d(t,"toastOptions",24,()=>{return}),l=d(t,"gutter",8,8),A=d(t,"containerStyle",24,()=>{return}),y=d(t,"containerClassName",24,()=>{return}),{toasts:$,handlers:u}=xt(c()),v=P();K(()=>(r(),z(o()),z(i()),z(l())),()=>{b(v,r().map((s)=>({...s,position:s.position||o(),offset:u.calculateOffset(s,r(),{reverseOrder:i(),gutter:l(),defaultPosition:o()})})))}),V(),w();var m=Va();vt(m,5,()=>p(v),(s)=>s.id,(s,x)=>{Lt(s,{get toast(){return p(x)},setHeight:(h)=>u.updateHeight(p(x).id,h)})}),M(m),C(()=>{O(m,1,`toaster ${(y()||"")??""}`,"svelte-haq5xk"),E(m,A())}),ot("mouseenter",m,function(...s){u.startPause?.apply(this,s)}),ot("mouseleave",m,function(...s){u.endPause?.apply(this,s)}),f(e,m),B(),n()}var oi=$t;var wa=new Set(["$$slots","$$events","$$legacy"]);function Mt(e,t){let r=At(t,wa),a=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}]];fr(e,pt({name:"house"},()=>r,{get iconNode(){return a}}))}var ja=g('<header class="bar svelte-fcv4i8"><a class="home svelte-fcv4i8" href="/" title="All instances" aria-label="All instances"><!></a> <!></header>');function Da(e,t){var r=ja(),a=k(r),n=k(a);Mt(n,{size:18}),M(a);var i=Y(a,2);it(i,()=>t.children??nt),M(r),at("click",a,function(...o){dr?.apply(this,o)}),f(e,r)}ct(["click"]);
2
- export{lp as q,fp as r,dp as s,$p as t,cp as u,Ct as v,kt as w,Ts as x,Ca as y,Ia as z,lr as A,oi as B,Da as C};
@@ -1,2 +0,0 @@
1
- import{Aa as H,Ba as P,K as q,La as U,ea as u,ka as w,wa as B}from"/_mochi/client/chunk-v65n8th6.js";function G($){let h=`/p/${$.id}/`;return $.remote_workspace_folder?`${h}?folder=${encodeURIComponent($.remote_workspace_folder)}`:h}async function z($,h,x="Request failed"){let t=await fetch($,{...h,headers:{...h?.headers,["X-Codebay-Request"]:"1"}});if(!t.ok){let _=await t.json().catch(()=>null);throw Error(_?.error?.message??x)}return await t.json().catch(()=>({}))}function K($,h,x){return R("POST",$,h,x)}function L($,h,x){return R("DELETE",$,h,x)}function R($,h,x,t){return z(h,x===void 0?{method:$}:{method:$,headers:{"Content-Type":"application/json"},body:JSON.stringify(x)},t)}function Q($){return`http://${typeof window>"u"?"localhost":window.location.hostname}:${$}`}var C=B("<span> </span>");function D($,h){let x={creating:"Booting…",running:"Running",stopped:"Stopped",error:"Error"};var t=C(),_=u(t,!0);q(t),w(()=>{U(t,1,`status ${h.status??""}`,"svelte-1hqr9xd"),P(_,x[h.status])}),H($,t)}function F($,h,x){let t=null,_=null,S=!1,p=()=>{let j=location.protocol==="https:"?"wss:":"ws:";t=new WebSocket(`${j}//${location.host}${$}`),t.onopen=()=>x?.(),t.onmessage=(r)=>h(r.data),t.onclose=()=>{if(!S)_=setTimeout(p,1000)},t.onerror=()=>t?.close()};return p(),()=>{if(S=!0,_)clearTimeout(_);t?.close()}}function Y($,h){return F("/api/stream",(x)=>{let t;try{t=JSON.parse(x)}catch{return}$(t)},h)}
2
- export{G as a,z as b,K as c,L as d,Q as e,D as f,F as g,Y as h};
@@ -1 +0,0 @@
1
- .btn.svelte-1klcfz0{display:inline-flex;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--ink);background:var(--bg-card);color:var(--ink);cursor:pointer;text-decoration:none;justify-content:center;align-items: center;gap:7px;font-weight:600}.btn.svelte-1klcfz0:disabled{opacity:.4;cursor:not-allowed}.btn[aria-disabled=true].svelte-1klcfz0{opacity:.4;cursor:not-allowed;pointer-events:none}.btn.sm.svelte-1klcfz0{padding:7px 12px;font-size:12px}.btn.md.svelte-1klcfz0{padding:9px 16px;font-size:13px}.btn.lg.svelte-1klcfz0{padding:12px 22px;font-size:15px}.btn.default.svelte-1klcfz0:hover:not(:disabled){background:var(--ink);color:var(--bg)}.btn.primary.svelte-1klcfz0{background:var(--ink);color:var(--bg);font-weight:700}.btn.primary.svelte-1klcfz0:hover:not(:disabled){background:var(--bg-card);color:var(--ink)}.btn.ghost.svelte-1klcfz0{background:0 0;border-style:dashed}.btn.ghost.svelte-1klcfz0:hover:not(:disabled){background:var(--ink);color:var(--bg);border-style:solid}.btn.danger.svelte-1klcfz0{color:var(--danger);border-color:var(--danger)}.btn.danger.svelte-1klcfz0:hover:not(:disabled){color:var(--danger);background-color:var(--danger-soft);background-image:linear-gradient(90deg,var(--danger)50%,transparent 0),linear-gradient(90deg,var(--danger)50%,transparent 0),linear-gradient(0deg,var(--danger)50%,transparent 0),linear-gradient(0deg,var(--danger)50%,transparent 0);animation:svelte-1klcfz0-marching-ants 2s linear infinite;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:14px 2px,14px 2px,2px 14px,2px 14px;border-color:#0000}@keyframes svelte-1klcfz0-marching-ants{to{background-position:28px 0,-28px 100%,0 -28px,100% 28px}}
@@ -1 +0,0 @@
1
- .cog.svelte-r39acv{display:inline-flex;color:var(--ink);border-left:1px solid var(--rule);flex:none;justify-content:center;align-items: center;width:48px;margin-left:auto}.cog.svelte-r39acv:hover{background:var(--ink);color:var(--bg)}.tabs.svelte-r39acv{display:flex;overflow-x:auto;align-items:stretch;min-width:0}.tab.svelte-r39acv{display:inline-flex;border-right:1px solid var(--rule-soft);align-items:stretch}.tab.active.svelte-r39acv{background:var(--ink)}.tab.attn-done.svelte-r39acv{animation:svelte-r39acv-attn-pulse-green 1.8s ease-in-out infinite}.tab.attn-waiting.svelte-r39acv{animation:svelte-r39acv-attn-pulse-amber 1.8s ease-in-out infinite}@keyframes svelte-r39acv-attn-pulse-green{0%,to{background:0 0;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--attn-done)40%,transparent)}50%{background:color-mix(in srgb,var(--attn-done)32%,transparent);box-shadow:inset 0 -2px 0 var(--attn-done)}}@keyframes svelte-r39acv-attn-pulse-amber{0%,to{background:0 0;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--attn-waiting)40%,transparent)}50%{background:color-mix(in srgb,var(--attn-waiting)32%,transparent);box-shadow:inset 0 -2px 0 var(--attn-waiting)}}@media (prefers-reduced-motion:reduce){.tab.attn-done.svelte-r39acv,.tab.attn-waiting.svelte-r39acv{animation-duration:0s;background:color-mix(in srgb,var(--attn-done)28%,transparent)}.tab.attn-waiting.svelte-r39acv{background:color-mix(in srgb,var(--attn-waiting)28%,transparent)}}.tab-label.svelte-r39acv{appearance:none;cursor:pointer;color:var(--ink-soft);font-family:var(--font-mono);display:inline-flex;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:0;align-items: center;gap:10px;max-width:240px;padding:0 12px;font-size:12px}.tab-name.svelte-r39acv{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-mode.svelte-r39acv{display:inline-flex;opacity:.75;flex:none;align-items: center}.tab.svelte-r39acv:not(.active) .tab-label:where(.svelte-r39acv):hover{color:var(--ink)}.tab.active.svelte-r39acv .tab-label:where(.svelte-r39acv){color:var(--bg)}.tab-label.editing.svelte-r39acv{cursor:default}.tab-name-edit.svelte-r39acv{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--ink-soft);background:var(--bg);color:var(--ink);outline:none;width:130px;margin:0;padding:2px 4px;font-size:12px}
@@ -1 +0,0 @@
1
- .page.svelte-1n6ht58{display:flex;flex-direction:column;min-height:100vh}.title.svelte-1n6ht58{display:inline-flex;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);align-items: center;padding:0 14px;font-size:12px}.content.svelte-1n6ht58{display:flex;flex-direction:column;flex:1;align-items: center;gap:16px;padding:32px 20px}.card.svelte-1n6ht58{background:var(--bg-card);border:1px solid var(--rule);width:100%;max-width:560px;height:max-content}.danger-card.svelte-1n6ht58{border-color:var(--danger)}.disabled-card.svelte-1n6ht58{opacity:.55;pointer-events:none}.danger-card.svelte-1n6ht58 .btn{white-space:nowrap;flex:none}.version.svelte-1n6ht58{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-soft);font-size:11px}.shutting.svelte-1n6ht58{font-family:var(--font-mono);color:var(--danger);text-align:right;flex:none;max-width:200px;font-size:12px;line-height:1.4}.row.svelte-1n6ht58{display:flex;justify-content:space-between;align-items: center;gap:16px;padding:18px}.row.divided.svelte-1n6ht58{border-top:1px solid var(--rule);align-items: flex-start}.row.divided.svelte-1n6ht58 .btn{white-space:nowrap;flex:none}.sub.svelte-1n6ht58{padding:0 18px 14px}code.svelte-1n6ht58{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--rule);border-radius:3px;padding:1px 4px;font-size:.92em}.label.svelte-1n6ht58{display:flex;color:var(--ink);align-items: flex-start;gap:12px;min-width:0}.label.svelte-1n6ht58>svg{flex:none}.text.svelte-1n6ht58{min-width:0}.name.svelte-1n6ht58{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.arch.svelte-1n6ht58{letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--rule);vertical-align:middle;border-radius:3px;margin-left:8px;padding:2px 6px;font-size:11px}.tip.svelte-1n6ht58{color:var(--ink-soft);background:color-mix(in srgb,var(--info)10%,transparent);border:1px solid color-mix(in srgb,var(--info)35%,transparent);border-radius:4px;width:100%;margin-top:4px;padding:8px 10px}.desc.svelte-1n6ht58{font-family:var(--font-mono);color:var(--ink-faint);margin-top:4px;font-size:12px;line-height:1.4}.image-row.svelte-1n6ht58,.token-row.svelte-1n6ht58{flex-wrap:wrap}.image-controls.svelte-1n6ht58{display:flex;flex:1;justify-content:flex-end;align-items: center;gap:8px;min-width:220px}.image-input.svelte-1n6ht58{font-family:var(--font-mono);color:var(--ink);background:var(--bg);border:1px solid var(--rule);flex:1;min-width:0;padding:8px 10px;font-size:12px}.image-input.svelte-1n6ht58:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.image-controls.svelte-1n6ht58 .btn{flex:none}.msg.svelte-1n6ht58{font-family:var(--font-mono);width:100%;margin-top:2px;font-size:12px;line-height:1.4}.msg.error.svelte-1n6ht58{color:var(--danger)}.msg.ok.svelte-1n6ht58{color:var(--ink-soft)}.pets.svelte-1n6ht58{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.pets.svelte-1n6ht58 form:where(.svelte-1n6ht58){display:contents}.pet.svelte-1n6ht58:disabled{cursor:progress}.pet.svelte-1n6ht58{display:flex;appearance:none;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items: center;padding:4px}.pet.svelte-1n6ht58:hover{border-color:var(--rule)}.pet.selected.svelte-1n6ht58{border-color:var(--attn-done);background:var(--switch-on-bg)}.pet.svelte-1n6ht58:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.mode-toggle.svelte-1n6ht58{display:flex;border:1px solid var(--ink);flex:none}.mode-btn.svelte-1n6ht58{display:inline-flex;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:var(--bg);color:var(--ink);cursor:pointer;border:none;align-items: center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700}.mode-btn.svelte-1n6ht58+.mode-btn:where(.svelte-1n6ht58){border-left:1px solid var(--ink)}.mode-btn.active.svelte-1n6ht58{background:var(--ink);color:var(--bg)}.mode-btn.svelte-1n6ht58:disabled{cursor:not-allowed}.switch.svelte-1n6ht58{position:relative;cursor:pointer;flex:none}.switch.svelte-1n6ht58 input:where(.svelte-1n6ht58){position:absolute;opacity:0;cursor:pointer;margin:0;inset:0}.track.svelte-1n6ht58{display:block;border:1px solid var(--rule);background:var(--bg);border-radius:999px;width:44px;height:24px;transition:background .15s}.thumb.svelte-1n6ht58{display:block;background:var(--ink-faint);border-radius:999px;width:18px;height:18px;margin:2px;transition:transform .15s,background .15s}.switch.svelte-1n6ht58 input:where(.svelte-1n6ht58):checked+.track:where(.svelte-1n6ht58){background:var(--switch-on-bg)}.switch.svelte-1n6ht58 input:where(.svelte-1n6ht58):checked+.track:where(.svelte-1n6ht58) .thumb:where(.svelte-1n6ht58){background:var(--ink);transform:translate(20px)}.switch.svelte-1n6ht58 input:where(.svelte-1n6ht58):focus-visible+.track:where(.svelte-1n6ht58){outline:2px solid var(--ink);outline-offset:2px}.model-fields.svelte-1n6ht58{display:flex;flex-direction:column;flex:1;gap:6px;min-width:220px}.model-row.svelte-1n6ht58{display:flex;align-items: center;gap:8px}.model-label.svelte-1n6ht58{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;flex:none;width:72px;font-size:11px}.model-row.svelte-1n6ht58 .image-input:where(.svelte-1n6ht58){flex:1}.model-save-row.svelte-1n6ht58{display:flex;justify-content:flex-end;margin-top:4px}.var-row.svelte-1n6ht58{flex-direction:column;align-items:stretch;gap:10px}.var-list.svelte-1n6ht58{display:flex;flex-direction:column;gap:6px}.var-item.svelte-1n6ht58{display:flex;background:var(--bg);border:1px solid var(--rule);align-items: center;gap:8px;padding:6px 8px}.var-name.svelte-1n6ht58{font-family:var(--font-mono);color:var(--ink);word-break:break-all;flex:1;min-width:0;font-size:12px}.var-status.svelte-1n6ht58{font-family:var(--font-mono);letter-spacing:.04em;color:var(--danger);flex:none;font-size:11px}.var-status.present.svelte-1n6ht58{color:var(--ink-soft)}.var-remove.svelte-1n6ht58{display:inline-flex;color:var(--ink-soft);border:1px solid var(--rule);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items: center;width:22px;height:22px;padding:0}.var-remove.svelte-1n6ht58:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.var-remove.svelte-1n6ht58:disabled{opacity:.4;cursor:not-allowed}.var-empty.svelte-1n6ht58{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px}.var-add.svelte-1n6ht58{display:flex;gap:8px}.var-add.svelte-1n6ht58 .btn{flex:none}
@@ -1,28 +0,0 @@
1
- import {
2
- appendLinesIfAbsent,
3
- linesPresent,
4
- SHELL_RC_FILES
5
- } from '../lib/container-files.server.ts';
6
- import type { Injection } from '../lib/injections.server.ts';
7
-
8
- const ALIAS_LINE = "alias claude='claude --dangerously-skip-permissions'";
9
-
10
- /** Safe here only because instances are throwaway, single-tenant sandboxes. */
11
- export const claudeSkipPermissions: Injection = {
12
- id: 'claude-skip-permissions',
13
- label: 'claude skip-permissions alias',
14
-
15
- async apply(target, log) {
16
- log('Installing claude --dangerously-skip-permissions alias…\n');
17
- const res = await appendLinesIfAbsent(target, SHELL_RC_FILES, [ALIAS_LINE]);
18
- log(
19
- res.ok
20
- ? '✓ claude skip-permissions alias installed\n'
21
- : `⚠ claude alias setup failed: ${res.error}\n`
22
- );
23
- },
24
-
25
- async check(target) {
26
- return linesPresent(target, SHELL_RC_FILES, [ALIAS_LINE]);
27
- }
28
- };