codebay 0.5.0 → 0.7.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 (114) hide show
  1. package/.mochi/manifest.json +286 -227
  2. package/.mochi/svelte-client/HydratableIsland-qyjx1d98.js +1 -0
  3. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-fkna7bj2.js +2 -0
  4. package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-89wtkb86.js +13 -0
  5. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-eamnbyqk.js +1 -0
  6. package/.mochi/svelte-client/{_hydrate-SettingsView_8hmarwmf8onq-r9vvc7rx.js → _hydrate-SettingsView_8hmarwmf8onq-kdra4mcb.js} +3 -3
  7. package/.mochi/svelte-client/chunk-330mrspw.js +2 -0
  8. package/.mochi/svelte-client/{chunk-dz1019cy.js → chunk-4jgkak13.js} +1 -1
  9. package/.mochi/svelte-client/chunk-fqg2qzj8.js +2 -0
  10. package/.mochi/svelte-client/chunk-k5m4kt20.js +2 -0
  11. package/.mochi/svelte-client/{chunk-nmf4dq86.js → chunk-qj7zy2d9.js} +1 -1
  12. package/.mochi/svelte-client/{chunk-ssa0ad2f.js → chunk-rpdphch7.js} +1 -1
  13. package/.mochi/svelte-compile/{App-9qjy14bc.server.js → App-6rcf0d74.server.js} +113 -46
  14. package/.mochi/svelte-compile/{Avatars-sq8mjn6k.server.js → Avatars-pzyz0tv3.server.js} +75 -15
  15. package/.mochi/svelte-compile/{Instance-13j59daw.server.js → Instance-49ksrp11.server.js} +15 -3
  16. package/.mochi/svelte-compile/{Settings-p0s2awg1.server.js → Settings-sz5d6qj7.server.js} +3 -3
  17. package/.mochi/svelte-compile/{chunk-dfe2km6a.js → chunk-q8rbesaw.js} +324 -123
  18. package/.mochi/svelte-css/Avatar-3pi30db6ozvf0.css +1 -0
  19. package/.mochi/svelte-css/AvatarEditor-2ewwtejaml4e2.css +1 -0
  20. package/.mochi/svelte-css/{AvatarsView-3hq37u4dgtljn.css → AvatarsView-2ughbzc26luyb.css} +1 -1
  21. package/.mochi/svelte-css/InstanceCard-3vnltxnbxkvay.css +1 -0
  22. package/.mochi/svelte-css/InstanceFilter-3q6x0jt0hcgpz.css +1 -0
  23. package/.mochi/svelte-css/{InstanceView-wq85bxtusont.css → InstanceView-3vzow3ttxzlh3.css} +1 -1
  24. package/README.md +2 -0
  25. package/package.json +2 -2
  26. package/src/avatars/anchor.ts +1 -0
  27. package/src/avatars/ant-head.ts +17 -0
  28. package/src/avatars/apple.ts +17 -0
  29. package/src/avatars/bear.ts +1 -0
  30. package/src/avatars/bee.ts +1 -0
  31. package/src/avatars/bodybuilder.ts +17 -0
  32. package/src/avatars/cat.ts +1 -0
  33. package/src/avatars/cherry.ts +1 -0
  34. package/src/avatars/crab.ts +1 -0
  35. package/src/avatars/crown.ts +1 -0
  36. package/src/avatars/diamond.ts +1 -0
  37. package/src/avatars/dog.ts +1 -0
  38. package/src/avatars/editor.ts +17 -0
  39. package/src/avatars/fish.ts +1 -0
  40. package/src/avatars/flower.ts +1 -0
  41. package/src/avatars/fox.ts +1 -0
  42. package/src/avatars/frog.ts +1 -0
  43. package/src/avatars/ghost.ts +1 -0
  44. package/src/avatars/heart.ts +8 -8
  45. package/src/avatars/horse.ts +17 -0
  46. package/src/avatars/index.ts +20 -0
  47. package/src/avatars/invader.ts +1 -0
  48. package/src/avatars/key.ts +1 -0
  49. package/src/avatars/lightning.ts +1 -0
  50. package/src/avatars/mushroom.ts +1 -0
  51. package/src/avatars/octopus.ts +1 -0
  52. package/src/avatars/owl.ts +1 -0
  53. package/src/avatars/penguin.ts +1 -0
  54. package/src/avatars/planet.ts +1 -0
  55. package/src/avatars/praying-mantis.ts +17 -0
  56. package/src/avatars/rabbit.ts +1 -0
  57. package/src/avatars/robot.ts +1 -0
  58. package/src/avatars/rocket.ts +1 -0
  59. package/src/avatars/serialize.ts +4 -3
  60. package/src/avatars/skull.ts +6 -6
  61. package/src/avatars/snail.ts +1 -0
  62. package/src/avatars/snowflake.ts +17 -0
  63. package/src/avatars/star.ts +1 -0
  64. package/src/avatars/strawberry.ts +17 -0
  65. package/src/avatars/target.ts +1 -0
  66. package/src/avatars/tree.ts +1 -0
  67. package/src/avatars/types.ts +6 -3
  68. package/src/avatars/vangogh-almond-blossoms.ts +17 -0
  69. package/src/avatars/wasp.ts +17 -0
  70. package/src/avatars/whale.ts +1 -0
  71. package/src/avatars/windmill.ts +17 -0
  72. package/src/components/AppShell.svelte +13 -0
  73. package/src/components/Avatar.svelte +4 -1
  74. package/src/components/AvatarEditor.svelte +83 -5
  75. package/src/components/AvatarsView.svelte +14 -1
  76. package/src/components/DashboardView.svelte +39 -4
  77. package/src/components/InstanceCard.svelte +55 -6
  78. package/src/components/InstanceFilter.svelte +68 -0
  79. package/src/components/InstanceView.svelte +41 -8
  80. package/src/components/SettingsView.svelte +2 -2
  81. package/src/components/TopBar.svelte +9 -1
  82. package/src/container-injections/attention-hooks.ts +19 -38
  83. package/src/container-injections/claude-aliases.ts +7 -23
  84. package/src/container-injections/claude-code-credentials.ts +12 -8
  85. package/src/container-injections/claude-code-custom.ts +35 -48
  86. package/src/container-injections/claude-code-ide-extension.ts +39 -0
  87. package/src/container-injections/claude-code-models.ts +8 -24
  88. package/src/container-injections/claude-model.ts +5 -28
  89. package/src/container-injections/claude-no-coauthor.ts +5 -17
  90. package/src/container-injections/claude-skip-permissions.ts +7 -17
  91. package/src/container-injections/claude-statusline.ts +16 -18
  92. package/src/container-injections/claude-trust.ts +73 -0
  93. package/src/container-injections/host-env-vars.ts +13 -24
  94. package/src/container-injections/tmux.ts +2 -11
  95. package/src/index.ts +2 -0
  96. package/src/lib/claude-settings.server.ts +35 -0
  97. package/src/lib/container-files.server.ts +219 -0
  98. package/src/lib/devcontainer.server.ts +38 -1
  99. package/src/lib/exec.server.ts +2 -7
  100. package/src/lib/injections.server.ts +4 -0
  101. package/src/lib/instances.server.ts +14 -0
  102. package/src/lib/theme.server.ts +7 -3
  103. package/src/shell.html +2 -0
  104. package/src/types.ts +3 -0
  105. package/.mochi/svelte-client/HydratableIsland-79z9xq4b.js +0 -1
  106. package/.mochi/svelte-client/_hydrate-AppShell_2rtnxn6pgp2rh-f5rzyjm8.js +0 -2
  107. package/.mochi/svelte-client/_hydrate-AvatarsView_257s9yq1wwr4f-fxyd5qx4.js +0 -13
  108. package/.mochi/svelte-client/_hydrate-InstanceView_2ma45l9bybfhl-nv31ptdp.js +0 -1
  109. package/.mochi/svelte-client/chunk-6eexkr6p.js +0 -2
  110. package/.mochi/svelte-client/chunk-7znwaf7t.js +0 -2
  111. package/.mochi/svelte-client/chunk-zmmb1c4b.js +0 -2
  112. package/.mochi/svelte-css/Avatar-24th63awm9mna.css +0 -1
  113. package/.mochi/svelte-css/AvatarEditor-1ryrs1md5g36y.css +0 -1
  114. package/.mochi/svelte-css/InstanceCard-16f77aysm7lgp.css +0 -1
@@ -141,6 +141,7 @@ function HealthBox($$renderer, $$props) {
141
141
  }
142
142
 
143
143
  // src/components/InstanceView.svelte
144
+ import { tick } from "svelte";
144
145
  function InstanceView($$renderer, $$props) {
145
146
  $$renderer.component(($$renderer2) => {
146
147
  let { id, injectionChecks = 0 } = $$props;
@@ -148,8 +149,19 @@ function InstanceView($$renderer, $$props) {
148
149
  let health = null;
149
150
  let lastFetchedAt = null;
150
151
  let logs = "";
151
- function autoscroll(node) {
152
- node.scrollTop = node.scrollHeight;
152
+ let logEl = null;
153
+ let following = true;
154
+ function onLogScroll() {
155
+ if (!logEl)
156
+ return;
157
+ const gap = logEl.scrollHeight - logEl.clientHeight - logEl.scrollTop;
158
+ if (gap > 40)
159
+ following = false;
160
+ }
161
+ function toggleFollow() {
162
+ following = !following;
163
+ if (following)
164
+ logEl?.scrollTo(0, logEl.scrollHeight);
153
165
  }
154
166
  const url = $6.derived(() => instance ? ideUrl(instance) : "#");
155
167
  let newPort = "";
@@ -309,7 +321,7 @@ function InstanceView($$renderer, $$props) {
309
321
  } else {
310
322
  $$renderer2.push("<!--[-1-->");
311
323
  }
312
- $$renderer2.push(`<!--]--> <p class="hint svelte-15fxkvm">Your app must bind to <code class="svelte-15fxkvm">0.0.0.0</code> inside the container to be reachable.</p></div></section> <div class="logwrap panel svelte-15fxkvm"><div class="log-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Boot log</span> <button class="copy svelte-15fxkvm"${$6.attr("disabled", !logs, true)}>${$6.escape(copied ? "Copied!" : "Copy logs")}</button></div> <div class="logs svelte-15fxkvm"><pre class="svelte-15fxkvm">${$6.escape(logs || "Waiting for output\u2026")}<span class="caret svelte-15fxkvm"></span></pre></div> `);
324
+ $$renderer2.push(`<!--]--> <p class="hint svelte-15fxkvm">Your app must bind to <code class="svelte-15fxkvm">0.0.0.0</code> inside the container to be reachable.</p></div></section> <div class="logwrap panel svelte-15fxkvm"><div class="log-bar panel-bar svelte-15fxkvm"><span class="svelte-15fxkvm">Boot log</span> <div class="log-actions svelte-15fxkvm"><button${$6.attr_class("copy svelte-15fxkvm", undefined, { active: following })}>${$6.escape(following ? "Following" : "Follow log")}</button> <button class="copy svelte-15fxkvm"${$6.attr("disabled", !logs, true)}>${$6.escape(copied ? "Copied!" : "Copy logs")}</button></div></div> <div class="logs svelte-15fxkvm"><pre class="svelte-15fxkvm">${$6.escape(logs || "Waiting for output\u2026")}<span class="caret svelte-15fxkvm"></span></pre></div> `);
313
325
  if (instance?.status === "error" && instance.error) {
314
326
  $$renderer2.push("<!--[0-->");
315
327
  $$renderer2.push(`<div class="err svelte-15fxkvm">${$6.escape(instance.error)}</div>`);
@@ -16,7 +16,7 @@ import {
16
16
  Toaster,
17
17
  avatars,
18
18
  findAvatar
19
- } from "./chunk-dfe2km6a.js";
19
+ } from "./chunk-q8rbesaw.js";
20
20
  import {
21
21
  HydratableBoundary,
22
22
  Icon,
@@ -975,8 +975,8 @@ function SettingsView($$renderer, $$props) {
975
975
  });
976
976
  $$renderer2.push(`<!----></form> <form class="row divided svelte-1n6ht58" method="POST" action="?/rebuildAllNoCache"><div class="label svelte-1n6ht58">`);
977
977
  Hammer($$renderer2, { size: 20 });
978
- $$renderer2.push(`<!----> <div class="text svelte-1n6ht58"><div class="name svelte-1n6ht58">Rebuild running containers (no cache)</div> <div class="desc svelte-1n6ht58">Re-run <code class="svelte-1n6ht58">devcontainer up --build-no-cache</code> for every currently-running instance.
979
- In-container edits are kept; stopped instances are left alone.</div> `);
978
+ $$renderer2.push(`<!----> <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
979
+ layers. In-container edits are kept; stopped instances are left alone.</div> `);
980
980
  if (rebuildError) {
981
981
  $$renderer2.push("<!--[0-->");
982
982
  $$renderer2.push(`<div class="msg error svelte-1n6ht58">${$20.escape(rebuildError)}</div>`);