@abuaboud/box 0.7.15 → 0.7.17

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 +12 -4
  2. package/package.json +1 -1
package/dist/cbox.mjs CHANGED
@@ -1097,7 +1097,7 @@ Detached. ${boxName} sleeps once Claude is done. ${brand.command} ${boxName} to
1097
1097
  echo = process.env.CBOX_PREDICT === "0" ? void 0 : predictor((s) => process.stdout.write(s), cols, rows);
1098
1098
  const stream = await new Promise((resolve, reject) => conn.exec(
1099
1099
  "dtach -A ~/.cb/claude.sock -E -r winch bash -l ~/.cb/start.sh",
1100
- { pty: { term: process.env.TERM || "xterm-256color", cols, rows } },
1100
+ { pty: { term: process.env.TERM || "xterm-256color", cols: cols - 1, rows } },
1101
1101
  (err, s) => err ? reject(err) : resolve(s)
1102
1102
  ));
1103
1103
  let exited = false;
@@ -1114,8 +1114,12 @@ Detached. ${boxName} sleeps once Claude is done. ${brand.command} ${boxName} to
1114
1114
  session?.write(Buffer.concat(keys.splice(0)));
1115
1115
  }, 800);
1116
1116
  });
1117
- stream.setWindow(rows, cols - 1, 0, 0);
1118
- setTimeout(() => stream.setWindow(rows, cols, 0, 0), 100);
1117
+ const widen = () => {
1118
+ clearTimeout(redrawn);
1119
+ stream.setWindow(process.stdout.rows || rows, process.stdout.columns || cols, 0, 0);
1120
+ };
1121
+ const redrawn = setTimeout(widen, 1500);
1122
+ stream.once("data", widen);
1119
1123
  const resize = () => {
1120
1124
  echo?.resize(process.stdout.columns, process.stdout.rows);
1121
1125
  stream.setWindow(process.stdout.rows, process.stdout.columns, 0, 0);
@@ -1125,6 +1129,7 @@ Detached. ${boxName} sleeps once Claude is done. ${brand.command} ${boxName} to
1125
1129
  typed = false;
1126
1130
  void api(`/api/boxes/${boxName}/heartbeat`, { method: "POST", body: JSON.stringify({ typed: false }) }).catch(() => void 0);
1127
1131
  await closed;
1132
+ clearTimeout(redrawn);
1128
1133
  session = void 0;
1129
1134
  process.stdout.off("resize", resize);
1130
1135
  if (exited) leave();
@@ -1312,7 +1317,10 @@ async function setup() {
1312
1317
  }
1313
1318
  async function submit(issues, o) {
1314
1319
  const env = await chooseEnvironment(o.env, gitRepo());
1315
- const body = { envId: env.id, issues: issues.map((text) => ({ title: text.trim().split("\n")[0].slice(0, 200), prompt: text.trim() })) };
1320
+ const body = { envId: env.id, issues: issues.map((text) => {
1321
+ const [title, ...rest] = text.trim().split("\n");
1322
+ return { title: title.trim().slice(0, 200), prompt: rest.join("\n").trim() || title.trim() };
1323
+ }) };
1316
1324
  const { data } = await api("/api/issues", { method: "POST", body: JSON.stringify(body) });
1317
1325
  const width = Math.max(...data.map((s) => s.title.length)) + 2;
1318
1326
  for (const s of data) s.agent ? ok(`${s.title.padEnd(width)}${dim(`${s.agent} \xB7 ${s.url}`)}`) : miss(`${s.title.padEnd(width)}${dim(s.error ?? `already submitted \xB7 ${s.url}`)}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abuaboud/box",
3
- "version": "0.7.15",
3
+ "version": "0.7.17",
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": {