codeam-cli 2.39.57 → 2.39.58

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.39.57] — 2026-06-20
8
+
9
+ ### Added
10
+
11
+ - **host-agent:** Event-driven session lifecycle (off the heartbeat)
12
+
13
+ ## [2.39.56] — 2026-06-20
14
+
15
+ ### Added
16
+
17
+ - **cli:** Report supervised sessions in self-hosted heartbeat
18
+
7
19
  ## [2.39.55] — 2026-06-20
8
20
 
9
21
  ### Added
package/dist/index.js CHANGED
@@ -5388,7 +5388,7 @@ function readAnonId() {
5388
5388
  }
5389
5389
  function superProperties() {
5390
5390
  return {
5391
- cliVersion: true ? "2.39.57" : "0.0.0-dev",
5391
+ cliVersion: true ? "2.39.58" : "0.0.0-dev",
5392
5392
  nodeVersion: process.version,
5393
5393
  platform: process.platform,
5394
5394
  arch: process.arch,
@@ -5547,7 +5547,7 @@ var os4 = __toESM(require("os"));
5547
5547
  // package.json
5548
5548
  var package_default = {
5549
5549
  name: "codeam-cli",
5550
- version: "2.39.57",
5550
+ version: "2.39.58",
5551
5551
  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.",
5552
5552
  type: "commonjs",
5553
5553
  main: "dist/index.js",
@@ -17367,7 +17367,7 @@ function checkForUpdates() {
17367
17367
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17368
17368
  if (process.env.CI) return;
17369
17369
  if (!process.stdout.isTTY) return;
17370
- const current = true ? "2.39.57" : null;
17370
+ const current = true ? "2.39.58" : null;
17371
17371
  if (!current) return;
17372
17372
  const cache = readCache();
17373
17373
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17637,6 +17637,20 @@ function readHeadroomChildEnv() {
17637
17637
  return {};
17638
17638
  }
17639
17639
  }
17640
+ function bundledClaudeBinDir() {
17641
+ const require_2 = require;
17642
+ try {
17643
+ const sdkManifest = require_2.resolve("@anthropic-ai/claude-agent-sdk/package.json");
17644
+ const atAnthropic = path45.dirname(path45.dirname(sdkManifest));
17645
+ for (const entry of fs39.readdirSync(atAnthropic)) {
17646
+ if (!entry.startsWith("claude-agent-sdk-")) continue;
17647
+ const bin = path45.join(atAnthropic, entry, "claude");
17648
+ if (fs39.existsSync(bin)) return path45.dirname(bin);
17649
+ }
17650
+ } catch {
17651
+ }
17652
+ return null;
17653
+ }
17640
17654
  async function setupHeadroomForSelfHosted(agent, runner = defaultHeadroomRunner) {
17641
17655
  const PIP_PACKAGES = [
17642
17656
  "headroom-ai",
@@ -17693,8 +17707,18 @@ async function setupHeadroomForSelfHosted(agent, runner = defaultHeadroomRunner)
17693
17707
  return false;
17694
17708
  }
17695
17709
  const initKind = agentIdToHeadroomKind(agent);
17710
+ const initEnv = { ...process.env };
17711
+ if (initKind === "claude") {
17712
+ const claudeDir = bundledClaudeBinDir();
17713
+ if (claudeDir) {
17714
+ initEnv.PATH = `${claudeDir}${path45.delimiter}${process.env["PATH"] ?? ""}`;
17715
+ log.info("host-agent", `headroom init: bundled claude on PATH (${claudeDir})`);
17716
+ } else {
17717
+ log.warn("host-agent", "headroom init: bundled claude binary not found \u2014 init may fail");
17718
+ }
17719
+ }
17696
17720
  const initOk = await new Promise((resolve7) => {
17697
- (0, import_node_child_process13.execFile)("headroom", ["init", "--global", initKind], (initErr, stdout, stderr) => {
17721
+ (0, import_node_child_process13.execFile)("headroom", ["init", "--global", initKind], { env: initEnv }, (initErr, stdout, stderr) => {
17698
17722
  if (initErr) {
17699
17723
  const detail = (stderr || initErr.message).replace(/\n+$/g, "");
17700
17724
  log.warn("host-agent", `headroom init failed (best-effort): ${detail}`);
@@ -17727,7 +17751,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process13.s
17727
17751
  detached: false
17728
17752
  });
17729
17753
  function currentCliVersion() {
17730
- return true ? "2.39.57" : null;
17754
+ return true ? "2.39.58" : null;
17731
17755
  }
17732
17756
  function runCmd(cmd, args2, timeoutMs) {
17733
17757
  return new Promise((resolve7) => {
@@ -28279,7 +28303,7 @@ function checkChokidar() {
28279
28303
  }
28280
28304
  async function doctor(args2 = []) {
28281
28305
  const json = args2.includes("--json");
28282
- const cliVersion = true ? "2.39.57" : "0.0.0-dev";
28306
+ const cliVersion = true ? "2.39.58" : "0.0.0-dev";
28283
28307
  const apiBase2 = resolveApiBaseUrl();
28284
28308
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
28285
28309
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -28478,7 +28502,7 @@ async function completion(args2) {
28478
28502
  // src/commands/version.ts
28479
28503
  var import_picocolors14 = __toESM(require("picocolors"));
28480
28504
  function version2() {
28481
- const v = true ? "2.39.57" : "unknown";
28505
+ const v = true ? "2.39.58" : "unknown";
28482
28506
  console.log(`${import_picocolors14.default.bold("codeam-cli")} ${import_picocolors14.default.cyan(v)}`);
28483
28507
  }
28484
28508
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.39.57",
3
+ "version": "2.39.58",
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",