codeam-cli 2.39.74 → 2.39.75

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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to `codeam-cli` are documented here.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.39.74] — 2026-06-21
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Preview no longer dies silently on string setup_commands
12
+
7
13
  ## [2.39.73] — 2026-06-21
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -5390,7 +5390,7 @@ function readAnonId() {
5390
5390
  }
5391
5391
  function superProperties() {
5392
5392
  return {
5393
- cliVersion: true ? "2.39.74" : "0.0.0-dev",
5393
+ cliVersion: true ? "2.39.75" : "0.0.0-dev",
5394
5394
  nodeVersion: process.version,
5395
5395
  platform: process.platform,
5396
5396
  arch: process.arch,
@@ -5549,7 +5549,7 @@ var os4 = __toESM(require("os"));
5549
5549
  // package.json
5550
5550
  var package_default = {
5551
5551
  name: "codeam-cli",
5552
- version: "2.39.74",
5552
+ version: "2.39.75",
5553
5553
  description: "Workflow-continuity bridge for AI coding agents. Wrap Claude Code or Codex in a PTY and supervise, approve, and redirect the session from any device \u2014 async. The terminal companion for CodeAgent Mobile.",
5554
5554
  type: "commonjs",
5555
5555
  main: "dist/index.js",
@@ -8295,18 +8295,16 @@ function boxRow(content, visibleLength) {
8295
8295
  }
8296
8296
  function showPairingCode(code) {
8297
8297
  const spaced = code.split("").join(" ");
8298
- console.log(BOX_BORDER_TOP);
8298
+ out(BOX_BORDER_TOP);
8299
8299
  const label = " Code: ";
8300
8300
  const codeVisible = `${label}${spaced}`.length;
8301
- console.log(
8302
- boxRow(`${label}${import_picocolors.default.bold(import_picocolors.default.yellow(spaced))}`, codeVisible)
8303
- );
8304
- console.log(BOX_BORDER_BOT);
8305
- console.log("");
8301
+ out(boxRow(`${label}${import_picocolors.default.bold(import_picocolors.default.yellow(spaced))}`, codeVisible));
8302
+ out(BOX_BORDER_BOT);
8303
+ out("");
8306
8304
  import_qrcode_terminal.default.generate(code, { small: true }, (qr) => {
8307
- qr.split("\n").forEach((line) => console.log(" " + line));
8305
+ qr.split("\n").forEach((line) => out(" " + line));
8308
8306
  });
8309
- console.log("");
8307
+ out("");
8310
8308
  }
8311
8309
  function formatRemaining(expiresAt) {
8312
8310
  const secs = Math.max(0, Math.floor((expiresAt - Date.now()) / 1e3));
@@ -13321,8 +13319,11 @@ async function link(args2 = []) {
13321
13319
  }
13322
13320
  spin.stop("Got pairing code");
13323
13321
  showPairingCode(pairing.code);
13324
- console.log(import_picocolors2.default.dim(" Scan the QR or enter the code in CodeAgent Mobile."));
13325
- console.log("");
13322
+ process.stderr.write(
13323
+ `${import_picocolors2.default.dim(" Scan the QR or enter the code in CodeAgent Mobile.")}
13324
+
13325
+ `
13326
+ );
13326
13327
  const waitSpin = dist_exports.spinner();
13327
13328
  const waitMsg = () => `Waiting for mobile pair... \xB7 expires in ${formatRemaining(pairing.expiresAt)}`;
13328
13329
  waitSpin.start(waitMsg());
@@ -17438,7 +17439,7 @@ function checkForUpdates() {
17438
17439
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17439
17440
  if (process.env.CI) return;
17440
17441
  if (!process.stdout.isTTY) return;
17441
- const current = true ? "2.39.74" : null;
17442
+ const current = true ? "2.39.75" : null;
17442
17443
  if (!current) return;
17443
17444
  const cache = readCache();
17444
17445
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17837,7 +17838,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process13.s
17837
17838
  detached: false
17838
17839
  });
17839
17840
  function currentCliVersion() {
17840
- return true ? "2.39.74" : null;
17841
+ return true ? "2.39.75" : null;
17841
17842
  }
17842
17843
  function runCmd(cmd, args2, timeoutMs) {
17843
17844
  return new Promise((resolve7) => {
@@ -26090,8 +26091,11 @@ async function pair(args2 = []) {
26090
26091
  process.exit(0);
26091
26092
  }
26092
26093
  showPairingCode(result.code);
26093
- console.log(import_picocolors5.default.dim(" Scan the QR code or enter the code in CodeAgent Mobile."));
26094
- console.log("");
26094
+ process.stderr.write(
26095
+ `${import_picocolors5.default.dim(" Scan the QR code or enter the code in CodeAgent Mobile.")}
26096
+
26097
+ `
26098
+ );
26095
26099
  const waitSpin = dist_exports.spinner();
26096
26100
  const waitMessage = () => `Waiting for mobile app... \xB7 expires in ${formatRemaining(result.expiresAt)}`;
26097
26101
  waitSpin.start(waitMessage());
@@ -28491,7 +28495,7 @@ function checkChokidar() {
28491
28495
  }
28492
28496
  async function doctor(args2 = []) {
28493
28497
  const json = args2.includes("--json");
28494
- const cliVersion = true ? "2.39.74" : "0.0.0-dev";
28498
+ const cliVersion = true ? "2.39.75" : "0.0.0-dev";
28495
28499
  const apiBase2 = resolveApiBaseUrl();
28496
28500
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
28497
28501
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -28690,7 +28694,7 @@ async function completion(args2) {
28690
28694
  // src/commands/version.ts
28691
28695
  var import_picocolors14 = __toESM(require("picocolors"));
28692
28696
  function version2() {
28693
- const v = true ? "2.39.74" : "unknown";
28697
+ const v = true ? "2.39.75" : "unknown";
28694
28698
  console.log(`${import_picocolors14.default.bold("codeam-cli")} ${import_picocolors14.default.cyan(v)}`);
28695
28699
  }
28696
28700
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.39.74",
3
+ "version": "2.39.75",
4
4
  "description": "Workflow-continuity bridge for AI coding agents. Wrap Claude Code or Codex in a PTY and supervise, approve, and redirect the session from any device — async. The terminal companion for CodeAgent Mobile.",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",