codeam-cli 2.52.8 → 2.52.10

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,18 @@ 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.52.9] — 2026-07-04
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** SDK dir resolution vs exports map — gate no longer burns 240s per start
12
+
13
+ ## [2.52.8] — 2026-07-03
14
+
15
+ ### Changed
16
+
17
+ - **cli:** Each ACP agent owns its launch-binary readiness check
18
+
7
19
  ## [2.52.7] — 2026-07-03
8
20
 
9
21
  ### 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.52.8" : "0.0.0-dev",
5400
+ cliVersion: true ? "2.52.10" : "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.52.8",
5581
+ version: "2.52.10",
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",
@@ -11280,12 +11280,12 @@ function isAvailable() {
11280
11280
  }
11281
11281
  function augmentPath() {
11282
11282
  const dirs = probeInstallDirs();
11283
- const sep6 = path14.delimiter;
11283
+ const sep7 = path14.delimiter;
11284
11284
  const current = process.env.PATH ?? "";
11285
- const existing = new Set(current.split(sep6).filter(Boolean));
11285
+ const existing = new Set(current.split(sep7).filter(Boolean));
11286
11286
  const additions = dirs.filter((d3) => !existing.has(d3));
11287
11287
  if (additions.length === 0) return;
11288
- process.env.PATH = additions.join(sep6) + sep6 + current;
11288
+ process.env.PATH = additions.join(sep7) + sep7 + current;
11289
11289
  }
11290
11290
  function runInstaller() {
11291
11291
  const isWindows = process.platform === "win32";
@@ -14928,7 +14928,7 @@ async function autoUpgradeBeforeCriticalCommand() {
14928
14928
  if (process.env.NODE_ENV === "test") return;
14929
14929
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14930
14930
  if (process.env.CI) return;
14931
- const current = true ? "2.52.8" : null;
14931
+ const current = true ? "2.52.10" : null;
14932
14932
  if (!current) return;
14933
14933
  const cache = readCache();
14934
14934
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -14945,7 +14945,7 @@ function checkForUpdates() {
14945
14945
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14946
14946
  if (process.env.CI) return;
14947
14947
  if (!process.stdout.isTTY) return;
14948
- const current = true ? "2.52.8" : null;
14948
+ const current = true ? "2.52.10" : null;
14949
14949
  if (!current) return;
14950
14950
  const cache = readCache();
14951
14951
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -15647,7 +15647,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process15.s
15647
15647
  detached: false
15648
15648
  });
15649
15649
  function currentCliVersion() {
15650
- return true ? "2.52.8" : null;
15650
+ return true ? "2.52.10" : null;
15651
15651
  }
15652
15652
  function runCmd(cmd, args2, timeoutMs) {
15653
15653
  return new Promise((resolve7) => {
@@ -19070,13 +19070,30 @@ var defaultCliUpdateDeps = {
19070
19070
  };
19071
19071
  var CLI_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
19072
19072
  var CLI_UPDATE_MAX_ATTEMPTS = 3;
19073
+ function buildNpmInstallInvocation(opts) {
19074
+ const entryScript = opts?.entryScript ?? process.argv[1] ?? "";
19075
+ const execPath = opts?.execPath ?? process.execPath;
19076
+ const exists2 = opts?.existsSync ?? fs43.existsSync;
19077
+ const normalized = entryScript.split(path48.sep).join("/");
19078
+ const marker = "/lib/node_modules/codeam-cli/";
19079
+ const markerIdx = normalized.indexOf(marker);
19080
+ const prefix = markerIdx > 0 ? entryScript.slice(0, markerIdx) : null;
19081
+ const siblingNpm = path48.join(
19082
+ path48.dirname(execPath),
19083
+ process.platform === "win32" ? "npm.cmd" : "npm"
19084
+ );
19085
+ const command2 = exists2(siblingNpm) ? siblingNpm : "npm";
19086
+ const args2 = prefix ? ["install", "-g", "--prefix", prefix, "codeam-cli@latest"] : ["install", "-g", "codeam-cli@latest"];
19087
+ return { command: command2, args: args2 };
19088
+ }
19073
19089
  async function runNpmInstallLatest() {
19074
19090
  let lastError = "";
19091
+ const invocation = buildNpmInstallInvocation();
19075
19092
  for (let attempt = 1; attempt <= CLI_UPDATE_MAX_ATTEMPTS; attempt++) {
19076
19093
  const result = await new Promise((resolve7) => {
19077
19094
  (0, import_child_process21.execFile)(
19078
- "npm",
19079
- ["install", "-g", "codeam-cli@latest"],
19095
+ invocation.command,
19096
+ invocation.args,
19080
19097
  { timeout: CLI_UPDATE_INSTALL_TIMEOUT_MS },
19081
19098
  (err, _stdout, stderr) => {
19082
19099
  if (!err) {
@@ -21006,14 +21023,28 @@ var import_child_process23 = require("child_process");
21006
21023
  function currentPlatformKey() {
21007
21024
  return `${process.platform}-${process.arch}`;
21008
21025
  }
21009
- function defaultSdkDir() {
21026
+ var SDK_PKG = "@anthropic-ai/claude-agent-sdk";
21027
+ function resolveSdkDirViaRequire(req = require) {
21028
+ try {
21029
+ return import_path8.default.dirname(req.resolve(`${SDK_PKG}/package.json`));
21030
+ } catch {
21031
+ }
21010
21032
  try {
21011
- const manifest = require.resolve("@anthropic-ai/claude-agent-sdk/package.json");
21012
- return import_path8.default.dirname(manifest);
21033
+ let dir = import_path8.default.dirname(req.resolve(SDK_PKG));
21034
+ for (let i = 0; i < 5; i++) {
21035
+ if (import_path8.default.basename(dir) === "claude-agent-sdk") return dir;
21036
+ const parent = import_path8.default.dirname(dir);
21037
+ if (parent === dir) break;
21038
+ dir = parent;
21039
+ }
21040
+ return null;
21013
21041
  } catch {
21014
21042
  return null;
21015
21043
  }
21016
21044
  }
21045
+ function defaultSdkDir() {
21046
+ return resolveSdkDirViaRequire();
21047
+ }
21017
21048
  function resolveClaudeNativeBinary(deps = {}) {
21018
21049
  const existsSync21 = deps.existsSync ?? import_fs4.default.existsSync;
21019
21050
  const platformKey = deps.platformKey ?? currentPlatformKey();
@@ -31373,7 +31404,7 @@ function checkChokidar() {
31373
31404
  }
31374
31405
  async function doctor(args2 = []) {
31375
31406
  const json = args2.includes("--json");
31376
- const cliVersion = true ? "2.52.8" : "0.0.0-dev";
31407
+ const cliVersion = true ? "2.52.10" : "0.0.0-dev";
31377
31408
  const apiBase2 = resolveApiBaseUrl();
31378
31409
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
31379
31410
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -31572,7 +31603,7 @@ async function completion(args2) {
31572
31603
  // src/commands/version.ts
31573
31604
  var import_picocolors15 = __toESM(require("picocolors"));
31574
31605
  function version2() {
31575
- const v = true ? "2.52.8" : "unknown";
31606
+ const v = true ? "2.52.10" : "unknown";
31576
31607
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
31577
31608
  }
31578
31609
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.52.8",
3
+ "version": "2.52.10",
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",