codeam-cli 2.35.5 → 2.35.6

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.35.5] — 2026-06-10
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Make @beads/bd an optional dependency (#311)
12
+
7
13
  ## [2.35.4] — 2026-06-10
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -498,7 +498,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
498
498
  // package.json
499
499
  var package_default = {
500
500
  name: "codeam-cli",
501
- version: "2.35.5",
501
+ version: "2.35.6",
502
502
  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.",
503
503
  type: "commonjs",
504
504
  main: "dist/index.js",
@@ -5900,7 +5900,7 @@ function readAnonId() {
5900
5900
  }
5901
5901
  function superProperties() {
5902
5902
  return {
5903
- cliVersion: true ? "2.35.5" : "0.0.0-dev",
5903
+ cliVersion: true ? "2.35.6" : "0.0.0-dev",
5904
5904
  nodeVersion: process.version,
5905
5905
  platform: process.platform,
5906
5906
  arch: process.arch,
@@ -21104,7 +21104,7 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
21104
21104
  log.info("acpRunner", `start_task \u2190 done stopReason=${reply.stopReason ?? "?"} id=${cmd.id.slice(0, 8)}`);
21105
21105
  await relay.sendResult(cmd.id, "completed", { stopReason: reply.stopReason });
21106
21106
  } catch (err) {
21107
- await streaming.closeAll();
21107
+ await recoverFromFailedTurn(client2, streaming);
21108
21108
  log.warn("acpRunner", `prompt failed: ${describeError(err)}`);
21109
21109
  await relay.sendResult(cmd.id, "failed", { error: describeError(err) });
21110
21110
  }
@@ -21161,7 +21161,7 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
21161
21161
  void history.flush();
21162
21162
  await relay.sendResult(cmd.id, "completed", { stopReason: reply.stopReason });
21163
21163
  } catch (err) {
21164
- await streaming.closeAll();
21164
+ await recoverFromFailedTurn(client2, streaming);
21165
21165
  log.warn("acpRunner", `reprompt failed: ${describeError(err)}`);
21166
21166
  await relay.sendResult(cmd.id, "failed", { error: describeError(err) });
21167
21167
  }
@@ -21199,7 +21199,7 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
21199
21199
  });
21200
21200
  await relay.sendResult(cmd.id, "completed", { stopReason: reply.stopReason });
21201
21201
  } catch (err) {
21202
- await streaming.closeAll();
21202
+ await recoverFromFailedTurn(client2, streaming);
21203
21203
  log.warn("acpRunner", `provide_input failed: ${describeError(err)}`);
21204
21204
  await relay.sendResult(cmd.id, "failed", { error: describeError(err) });
21205
21205
  }
@@ -21262,7 +21262,7 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
21262
21262
  });
21263
21263
  await relay.sendResult(cmd.id, "completed", { stopReason: reply.stopReason });
21264
21264
  } catch (err) {
21265
- await streaming.closeAll();
21265
+ await recoverFromFailedTurn(client2, streaming);
21266
21266
  log.warn("acpRunner", `summarize failed: ${describeError(err)}`);
21267
21267
  await relay.sendResult(cmd.id, "failed", { error: describeError(err) });
21268
21268
  }
@@ -21360,6 +21360,14 @@ function describeError(err) {
21360
21360
  if (err instanceof Error) return err.message;
21361
21361
  return String(err);
21362
21362
  }
21363
+ async function recoverFromFailedTurn(client2, streaming) {
21364
+ try {
21365
+ await client2.cancel();
21366
+ } catch (err) {
21367
+ log.warn("acpRunner", `post-failure cancel failed: ${describeError(err)}`);
21368
+ }
21369
+ await streaming.closeAll();
21370
+ }
21363
21371
  function buildBannerSubtitle(agentId, acpSessionId, model, tier) {
21364
21372
  const meta = AGENT_REGISTRY[agentId];
21365
21373
  const displayName = meta?.displayName ?? agentId;
@@ -26098,7 +26106,7 @@ function checkChokidar() {
26098
26106
  }
26099
26107
  async function doctor(args2 = []) {
26100
26108
  const json = args2.includes("--json");
26101
- const cliVersion = true ? "2.35.5" : "0.0.0-dev";
26109
+ const cliVersion = true ? "2.35.6" : "0.0.0-dev";
26102
26110
  const apiBase = resolveApiBaseUrl();
26103
26111
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
26104
26112
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -26297,7 +26305,7 @@ async function completion(args2) {
26297
26305
  // src/commands/version.ts
26298
26306
  var import_picocolors13 = __toESM(require("picocolors"));
26299
26307
  function version2() {
26300
- const v = true ? "2.35.5" : "unknown";
26308
+ const v = true ? "2.35.6" : "unknown";
26301
26309
  console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
26302
26310
  }
26303
26311
 
@@ -26583,7 +26591,7 @@ function checkForUpdates() {
26583
26591
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
26584
26592
  if (process.env.CI) return;
26585
26593
  if (!process.stdout.isTTY) return;
26586
- const current = true ? "2.35.5" : null;
26594
+ const current = true ? "2.35.6" : null;
26587
26595
  if (!current) return;
26588
26596
  const cache = readCache();
26589
26597
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.35.5",
3
+ "version": "2.35.6",
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",