codeam-cli 2.60.53 → 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,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.60.54] — 2026-07-13
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Give the CodeRabbit browser login a user-paced timeout (15 min)
12
+
13
+ ## [2.60.53] — 2026-07-12
14
+
15
+ ### Fixed
16
+
17
+ - **shared:** Atlassian logo — replace stop-color=inherit with explicit #2684FF (react-native-svg can't resolve inherit)
18
+
7
19
  ## [2.60.52] — 2026-07-12
8
20
 
9
21
  ### Added
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.53" : "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.53",
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.53" ? { ideVersion: "2.60.53" } : {}
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
  /**
@@ -15949,7 +15949,10 @@ async function configureCoderabbit(input, deps = {}) {
15949
15949
  if (!ok) return { ...res2, error: "CodeRabbit CLI could not be installed" };
15950
15950
  }
15951
15951
  const before = snapshot();
15952
- const login = await runOAuth({ onEvent: deps.onEvent });
15952
+ const login = await runOAuth({
15953
+ onEvent: deps.onEvent,
15954
+ timeoutMs: 9e5
15955
+ });
15953
15956
  if (!login.ok) {
15954
15957
  return { ...res2, loggedIn: false, linked: false, error: login.error ?? "CodeRabbit login failed" };
15955
15958
  }
@@ -17606,7 +17609,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17606
17609
  if (process.env.NODE_ENV === "test") return;
17607
17610
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17608
17611
  if (process.env.CI) return;
17609
- const current = true ? "2.60.53" : null;
17612
+ const current = true ? "2.60.55" : null;
17610
17613
  if (!current) return;
17611
17614
  const cache = readCache();
17612
17615
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17623,7 +17626,7 @@ function checkForUpdates() {
17623
17626
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17624
17627
  if (process.env.CI) return;
17625
17628
  if (!process.stdout.isTTY) return;
17626
- const current = true ? "2.60.53" : null;
17629
+ const current = true ? "2.60.55" : null;
17627
17630
  if (!current) return;
17628
17631
  const cache = readCache();
17629
17632
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17643,7 +17646,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17643
17646
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17644
17647
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17645
17648
  function currentCliVersion() {
17646
- return true ? "2.60.53" : null;
17649
+ return true ? "2.60.55" : null;
17647
17650
  }
17648
17651
  function runCmd(cmd, args2, timeoutMs) {
17649
17652
  return new Promise((resolve7) => {
@@ -26707,9 +26710,10 @@ var RequestError = class _RequestError extends Error {
26707
26710
  };
26708
26711
 
26709
26712
  // src/agents/acp/idleTimeout.ts
26710
- function createIdleTimeout(idleMs, makeError) {
26713
+ function createIdleTimeout(idleMs, makeError, activeIdleMs = idleMs) {
26711
26714
  let timer;
26712
26715
  let done = false;
26716
+ let alive = false;
26713
26717
  let reject;
26714
26718
  const promise = new Promise((_resolve, rej) => {
26715
26719
  reject = rej;
@@ -26722,10 +26726,13 @@ function createIdleTimeout(idleMs, makeError) {
26722
26726
  };
26723
26727
  const arm = () => {
26724
26728
  if (done) return;
26725
- timer = setTimeout(() => {
26726
- done = true;
26727
- reject(makeError());
26728
- }, idleMs);
26729
+ timer = setTimeout(
26730
+ () => {
26731
+ done = true;
26732
+ reject(makeError());
26733
+ },
26734
+ alive ? activeIdleMs : idleMs
26735
+ );
26729
26736
  timer.unref?.();
26730
26737
  };
26731
26738
  arm();
@@ -26733,6 +26740,7 @@ function createIdleTimeout(idleMs, makeError) {
26733
26740
  promise,
26734
26741
  bump: () => {
26735
26742
  if (done) return;
26743
+ alive = true;
26736
26744
  stop();
26737
26745
  arm();
26738
26746
  },
@@ -26765,6 +26773,7 @@ var PROTOCOL_VERSION2 = 1;
26765
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;
26766
26774
  var NEWSESSION_TIMEOUT_MS = 12e4;
26767
26775
  var PROMPT_IDLE_TIMEOUT_MS = 9e4;
26776
+ var PROMPT_ACTIVE_IDLE_TIMEOUT_MS = 6e5;
26768
26777
  var CLIENT_CAPABILITIES = {
26769
26778
  fs: { readTextFile: true, writeTextFile: true },
26770
26779
  terminal: false
@@ -27098,8 +27107,9 @@ var AcpClient = class {
27098
27107
  const idle = createIdleTimeout(
27099
27108
  PROMPT_IDLE_TIMEOUT_MS,
27100
27109
  () => new Error(
27101
- `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.`
27102
- )
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
27103
27113
  );
27104
27114
  this.promptIdle = idle;
27105
27115
  this.pendingToolCalls.clear();
@@ -34971,7 +34981,7 @@ function checkChokidar() {
34971
34981
  }
34972
34982
  async function doctor(args2 = []) {
34973
34983
  const json = args2.includes("--json");
34974
- const cliVersion = true ? "2.60.53" : "0.0.0-dev";
34984
+ const cliVersion = true ? "2.60.55" : "0.0.0-dev";
34975
34985
  const apiBase2 = resolveApiBaseUrl();
34976
34986
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
34977
34987
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -35448,7 +35458,7 @@ async function mcpRun(args2) {
35448
35458
  // src/commands/version.ts
35449
35459
  var import_picocolors15 = __toESM(require("picocolors"));
35450
35460
  function version2() {
35451
- const v = true ? "2.60.53" : "unknown";
35461
+ const v = true ? "2.60.55" : "unknown";
35452
35462
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
35453
35463
  }
35454
35464
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.53",
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",