codeam-cli 2.49.3 → 2.49.4

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,15 @@ 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.49.3] — 2026-06-27
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Resolve a Python ≥3.10 for Headroom install (avoid macOS Xcode py3.9)
12
+ - **cli:** Auto-install Python ≥3.10 for Headroom when none present
13
+ - **cli:** Capture stdout in headroom runner so the python ≥3.10 probe works
14
+ - **cli:** Require pip in the headroom python probe (skip pip-less newest python)
15
+
7
16
  ## [2.49.2] — 2026-06-27
8
17
 
9
18
  ### Fixed
package/dist/index.js CHANGED
@@ -5397,7 +5397,7 @@ function readAnonId() {
5397
5397
  }
5398
5398
  function superProperties() {
5399
5399
  return {
5400
- cliVersion: true ? "2.49.3" : "0.0.0-dev",
5400
+ cliVersion: true ? "2.49.4" : "0.0.0-dev",
5401
5401
  nodeVersion: process.version,
5402
5402
  platform: process.platform,
5403
5403
  arch: process.arch,
@@ -5578,7 +5578,7 @@ var os4 = __toESM(require("os"));
5578
5578
  // package.json
5579
5579
  var package_default = {
5580
5580
  name: "codeam-cli",
5581
- version: "2.49.3",
5581
+ version: "2.49.4",
5582
5582
  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.",
5583
5583
  type: "commonjs",
5584
5584
  main: "dist/index.js",
@@ -14747,7 +14747,7 @@ async function autoUpgradeBeforeCriticalCommand() {
14747
14747
  if (process.env.NODE_ENV === "test") return;
14748
14748
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14749
14749
  if (process.env.CI) return;
14750
- const current = true ? "2.49.3" : null;
14750
+ const current = true ? "2.49.4" : null;
14751
14751
  if (!current) return;
14752
14752
  const cache = readCache();
14753
14753
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -14764,7 +14764,7 @@ function checkForUpdates() {
14764
14764
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14765
14765
  if (process.env.CI) return;
14766
14766
  if (!process.stdout.isTTY) return;
14767
- const current = true ? "2.49.3" : null;
14767
+ const current = true ? "2.49.4" : null;
14768
14768
  if (!current) return;
14769
14769
  const cache = readCache();
14770
14770
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -15400,7 +15400,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
15400
15400
  detached: false
15401
15401
  });
15402
15402
  function currentCliVersion() {
15403
- return true ? "2.49.3" : null;
15403
+ return true ? "2.49.4" : null;
15404
15404
  }
15405
15405
  function runCmd(cmd, args2, timeoutMs) {
15406
15406
  return new Promise((resolve7) => {
@@ -18315,6 +18315,7 @@ var envWriteH = async (ctx, cmd, parsed) => {
18315
18315
  }
18316
18316
  };
18317
18317
  var _activeReporter = null;
18318
+ var _headroomEmitChain = Promise.resolve();
18318
18319
  var headroomConfigureH = async (ctx, cmd, parsed) => {
18319
18320
  const action = parsed.action;
18320
18321
  if (action !== "enable" && action !== "disable" && action !== "status") {
@@ -18407,14 +18408,17 @@ var headroomConfigureH = async (ctx, cmd, parsed) => {
18407
18408
  }
18408
18409
  },
18409
18410
  emit: (event) => {
18410
- if (!ctx.pluginAuthToken) return;
18411
- void postHeadroomEvent({
18412
- sessionId: ctx.sessionId,
18413
- pluginId: ctx.pluginId,
18414
- pluginAuthToken: ctx.pluginAuthToken,
18415
- type: event.type,
18416
- payload: "step" in event ? { step: event.step } : { state: event.state }
18417
- });
18411
+ const token = ctx.pluginAuthToken;
18412
+ if (!token) return;
18413
+ _headroomEmitChain = _headroomEmitChain.then(
18414
+ () => postHeadroomEvent({
18415
+ sessionId: ctx.sessionId,
18416
+ pluginId: ctx.pluginId,
18417
+ pluginAuthToken: token,
18418
+ type: event.type,
18419
+ payload: "step" in event ? { step: event.step } : { state: event.state }
18420
+ })
18421
+ );
18418
18422
  }
18419
18423
  });
18420
18424
  await ctx.relay.sendResult(cmd.id, "completed", result);
@@ -30342,7 +30346,7 @@ function checkChokidar() {
30342
30346
  }
30343
30347
  async function doctor(args2 = []) {
30344
30348
  const json = args2.includes("--json");
30345
- const cliVersion = true ? "2.49.3" : "0.0.0-dev";
30349
+ const cliVersion = true ? "2.49.4" : "0.0.0-dev";
30346
30350
  const apiBase2 = resolveApiBaseUrl();
30347
30351
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
30348
30352
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -30541,7 +30545,7 @@ async function completion(args2) {
30541
30545
  // src/commands/version.ts
30542
30546
  var import_picocolors15 = __toESM(require("picocolors"));
30543
30547
  function version2() {
30544
- const v = true ? "2.49.3" : "unknown";
30548
+ const v = true ? "2.49.4" : "unknown";
30545
30549
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
30546
30550
  }
30547
30551
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.49.3",
3
+ "version": "2.49.4",
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",