@abuaboud/box 0.7.13 → 0.7.14

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 (2) hide show
  1. package/dist/cbox.mjs +4 -4
  2. package/package.json +1 -1
package/dist/cbox.mjs CHANGED
@@ -63,7 +63,7 @@ function localClaudeHome() {
63
63
  const paths = [...dirs, ...Object.values(plugins).flat().map((e) => e.installPath), ...Object.values(marketplaces).map((m) => m.installLocation)].map((p) => p.startsWith(root) ? p.slice(root.length + 1) : p);
64
64
  const tar = !paths.length ? Promise.resolve(void 0) : new Promise((done) => execFile("tar", ["-chf", "-", "--no-xattrs", "--exclude=.git", "--exclude=node_modules", "--exclude=.DS_Store", "-C", root, ...new Set(paths)], { encoding: "buffer", maxBuffer: 256 << 20, env: { ...process.env, COPYFILE_DISABLE: "1" } }, (err, out) => err ? done(void 0) : gzip(out, (e, gz) => done(e ? void 0 : gz))));
65
65
  const memory = existsSync(join(root, "CLAUDE.md")) ? readFileSync(join(root, "CLAUDE.md"), "utf8") : "";
66
- return { from: root, pending: paths.length > 0, tar, plugins, marketplaces, enabled: Object.keys(plugins), memory, skills: existsSync(join(root, "skills")) ? readdirSync(join(root, "skills")).filter((f) => !f.startsWith(".")).length : 0 };
66
+ return { from: root, pending: paths.length > 0, tar, plugins, marketplaces, enabled: Object.keys(plugins), memory, skills: existsSync(join(root, "skills")) ? readdirSync(join(root, "skills")).filter((f) => !f.startsWith(".")) : [] };
67
67
  }
68
68
  function laptopKey() {
69
69
  const priv = join(CONFIG_DIR, "id_ed25519");
@@ -816,9 +816,9 @@ async function sendSetup() {
816
816
  const { tar, skills, enabled, memory, ...home2 } = localClaudeHome();
817
817
  const buf = await tar;
818
818
  const sha = buf && buf.length <= MAX_SETUP_MB << 20 ? createHash("sha256").update(buf).digest("hex") : void 0;
819
- const put = (body) => api("/api/laptop-setup", { method: "PUT", body: JSON.stringify({ home: { ...home2, memory }, sha, ...body }) });
819
+ const put = (body) => api("/api/laptop-setup", { method: "PUT", body: JSON.stringify({ home: { ...home2, memory, skills }, sha, ...body }) });
820
820
  if ((await put({})).need && buf) await put({ tgz: buf.toString("base64") });
821
- return { skills, plugins: enabled.length, memory: !!memory.trim(), tooBig: !!buf && !sha };
821
+ return { skills: skills.length, plugins: enabled.length, memory: !!memory.trim(), tooBig: !!buf && !sha };
822
822
  }
823
823
  var claude = (folder, args) => new Promise((done) => spawn3("claude", args, { cwd: folder, stdio: "inherit", env: { ...process.env, ...process.getuid?.() === 0 && { IS_SANDBOX: "1" } } }).on("error", () => fail(`Claude Code is not installed on this laptop. npm i -g @anthropic-ai/claude-code, or use ${brand.command} --remote.`)).on("close", (c) => done(c ?? 0)));
824
824
  function trustFolder(folder) {
@@ -990,7 +990,7 @@ async function newRemoteBox(env, branch, name, o) {
990
990
  [900, `Unpacking the ${env} snapshot`],
991
991
  [2e3, "Signing Claude Code in"],
992
992
  [2900, `Copying ${mcpCount(mcpServers)}`],
993
- [3300, `Copying ${claudeHome.skills} skill${claudeHome.skills === 1 ? "" : "s"} and ${claudeHome.enabled.length} plugin${claudeHome.enabled.length === 1 ? "" : "s"}`],
993
+ [3300, `Copying ${claudeHome.skills.length} skill${claudeHome.skills.length === 1 ? "" : "s"} and ${claudeHome.enabled.length} plugin${claudeHome.enabled.length === 1 ? "" : "s"}`],
994
994
  [3700, "Connecting GitHub"],
995
995
  [4600, "Waking Claude up"],
996
996
  [9e3, "Bigger machines take a few extra seconds"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abuaboud/box",
3
- "version": "0.7.13",
3
+ "version": "0.7.14",
4
4
  "description": "skyfleet: Claude Code on your laptop, the work on a cloud dev machine (a ship) you reach as <name>.skyfleet, with your team databases through MCP.",
5
5
  "type": "module",
6
6
  "bin": {