codeam-cli 2.60.54 → 2.60.55

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.60.54] — 2026-07-13
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Give the CodeRabbit browser login a user-paced timeout (15 min)
12
+
7
13
  ## [2.60.53] — 2026-07-12
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -5747,7 +5747,7 @@ function readAnonId() {
5747
5747
  }
5748
5748
  function superProperties() {
5749
5749
  return {
5750
- cliVersion: true ? "2.60.54" : "0.0.0-dev",
5750
+ cliVersion: true ? "2.60.55" : "0.0.0-dev",
5751
5751
  nodeVersion: process.version,
5752
5752
  platform: process.platform,
5753
5753
  arch: process.arch,
@@ -5928,7 +5928,7 @@ var os4 = __toESM(require("os"));
5928
5928
  // package.json
5929
5929
  var package_default = {
5930
5930
  name: "codeam-cli",
5931
- version: "2.60.54",
5931
+ version: "2.60.55",
5932
5932
  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.",
5933
5933
  type: "commonjs",
5934
5934
  main: "dist/index.js",
@@ -7037,7 +7037,7 @@ var CommandRelayService = class {
7037
7037
  // fresh + clear the "CLI update available" banner after a self-update
7038
7038
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
7039
7039
  // pair/reconnect). Older backends ignore the extra field.
7040
- ..."2.60.54" ? { ideVersion: "2.60.54" } : {}
7040
+ ..."2.60.55" ? { ideVersion: "2.60.55" } : {}
7041
7041
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
7042
7042
  }
7043
7043
  /**
@@ -17609,7 +17609,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17609
17609
  if (process.env.NODE_ENV === "test") return;
17610
17610
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17611
17611
  if (process.env.CI) return;
17612
- const current = true ? "2.60.54" : null;
17612
+ const current = true ? "2.60.55" : null;
17613
17613
  if (!current) return;
17614
17614
  const cache = readCache();
17615
17615
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17626,7 +17626,7 @@ function checkForUpdates() {
17626
17626
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17627
17627
  if (process.env.CI) return;
17628
17628
  if (!process.stdout.isTTY) return;
17629
- const current = true ? "2.60.54" : null;
17629
+ const current = true ? "2.60.55" : null;
17630
17630
  if (!current) return;
17631
17631
  const cache = readCache();
17632
17632
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17646,7 +17646,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17646
17646
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17647
17647
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17648
17648
  function currentCliVersion() {
17649
- return true ? "2.60.54" : null;
17649
+ return true ? "2.60.55" : null;
17650
17650
  }
17651
17651
  function runCmd(cmd, args2, timeoutMs) {
17652
17652
  return new Promise((resolve7) => {
@@ -26710,9 +26710,10 @@ var RequestError = class _RequestError extends Error {
26710
26710
  };
26711
26711
 
26712
26712
  // src/agents/acp/idleTimeout.ts
26713
- function createIdleTimeout(idleMs, makeError) {
26713
+ function createIdleTimeout(idleMs, makeError, activeIdleMs = idleMs) {
26714
26714
  let timer;
26715
26715
  let done = false;
26716
+ let alive = false;
26716
26717
  let reject;
26717
26718
  const promise = new Promise((_resolve, rej) => {
26718
26719
  reject = rej;
@@ -26725,10 +26726,13 @@ function createIdleTimeout(idleMs, makeError) {
26725
26726
  };
26726
26727
  const arm = () => {
26727
26728
  if (done) return;
26728
- timer = setTimeout(() => {
26729
- done = true;
26730
- reject(makeError());
26731
- }, idleMs);
26729
+ timer = setTimeout(
26730
+ () => {
26731
+ done = true;
26732
+ reject(makeError());
26733
+ },
26734
+ alive ? activeIdleMs : idleMs
26735
+ );
26732
26736
  timer.unref?.();
26733
26737
  };
26734
26738
  arm();
@@ -26736,6 +26740,7 @@ function createIdleTimeout(idleMs, makeError) {
26736
26740
  promise,
26737
26741
  bump: () => {
26738
26742
  if (done) return;
26743
+ alive = true;
26739
26744
  stop();
26740
26745
  arm();
26741
26746
  },
@@ -26768,6 +26773,7 @@ var PROTOCOL_VERSION2 = 1;
26768
26773
  var FATAL_STARTUP_RE = /IneligibleTierError|UNSUPPORTED_CLIENT|no longer supported for Gemini Code Assist|not eligible for Gemini Code Assist|Error authenticating|ProjectIdRequiredError/i;
26769
26774
  var NEWSESSION_TIMEOUT_MS = 12e4;
26770
26775
  var PROMPT_IDLE_TIMEOUT_MS = 9e4;
26776
+ var PROMPT_ACTIVE_IDLE_TIMEOUT_MS = 6e5;
26771
26777
  var CLIENT_CAPABILITIES = {
26772
26778
  fs: { readTextFile: true, writeTextFile: true },
26773
26779
  terminal: false
@@ -27101,8 +27107,9 @@ var AcpClient = class {
27101
27107
  const idle = createIdleTimeout(
27102
27108
  PROMPT_IDLE_TIMEOUT_MS,
27103
27109
  () => new Error(
27104
- `ACP prompt idle for ${PROMPT_IDLE_TIMEOUT_MS / 1e3}s \u2014 adapter sent no updates. Likely the underlying agent's auth or network is misconfigured; check the adapter stderr lines above (acpAdapter tag) for the actual error.`
27105
- )
27110
+ `ACP prompt idle \u2014 adapter sent no updates for the idle window (${PROMPT_IDLE_TIMEOUT_MS / 1e3}s silent-from-start / ${PROMPT_ACTIVE_IDLE_TIMEOUT_MS / 1e3}s once active). Likely the underlying agent's auth or network is misconfigured; check the adapter stderr lines above (acpAdapter tag) for the actual error.`
27111
+ ),
27112
+ PROMPT_ACTIVE_IDLE_TIMEOUT_MS
27106
27113
  );
27107
27114
  this.promptIdle = idle;
27108
27115
  this.pendingToolCalls.clear();
@@ -34974,7 +34981,7 @@ function checkChokidar() {
34974
34981
  }
34975
34982
  async function doctor(args2 = []) {
34976
34983
  const json = args2.includes("--json");
34977
- const cliVersion = true ? "2.60.54" : "0.0.0-dev";
34984
+ const cliVersion = true ? "2.60.55" : "0.0.0-dev";
34978
34985
  const apiBase2 = resolveApiBaseUrl();
34979
34986
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
34980
34987
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -35451,7 +35458,7 @@ async function mcpRun(args2) {
35451
35458
  // src/commands/version.ts
35452
35459
  var import_picocolors15 = __toESM(require("picocolors"));
35453
35460
  function version2() {
35454
- const v = true ? "2.60.54" : "unknown";
35461
+ const v = true ? "2.60.55" : "unknown";
35455
35462
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
35456
35463
  }
35457
35464
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.54",
3
+ "version": "2.60.55",
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",