codeam-cli 2.60.27 → 2.60.29

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,23 @@ 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.28] — 2026-07-09
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Coderabbit — don't emit status snapshot on review (clobbered linked)
12
+
13
+ ## [2.60.27] — 2026-07-09
14
+
15
+ ### Added
16
+
17
+ - **shared:** CodeRabbit links via oauth_token (loopback) — vault gate
18
+
19
+ ### Fixed
20
+
21
+ - **cli:** Coderabbit — augment PATH before findInPath (session reported not-linked)
22
+ - **cli:** Coderabbit PATH augment is platform-aware (Windows/WSL too)
23
+
7
24
  ## [2.60.26] — 2026-07-09
8
25
 
9
26
  ### Added
package/dist/index.js CHANGED
@@ -591,7 +591,12 @@ var USER_EVENTS = {
591
591
  AGENT_INSTALL_FAILED: "agent_install_failed",
592
592
  CLI_UPDATE_PROGRESS: "cli_update_progress",
593
593
  CLI_UPDATE_FAILED: "cli_update_failed",
594
- BATON_STATE: "baton_state"
594
+ BATON_STATE: "baton_state",
595
+ // CodeRabbit reviewer — the CLI posts these to /api/coderabbit/events; the
596
+ // backend re-publishes them on the per-user SSE bus (mirrored in repo A).
597
+ CODERABBIT_PROGRESS: "coderabbit_progress",
598
+ CODERABBIT_STATUS: "coderabbit_status",
599
+ CODERABBIT_REVIEW: "coderabbit_review"
595
600
  };
596
601
 
597
602
  // ../../packages/shared/src/preview-prompts.ts
@@ -5684,7 +5689,7 @@ function readAnonId() {
5684
5689
  }
5685
5690
  function superProperties() {
5686
5691
  return {
5687
- cliVersion: true ? "2.60.27" : "0.0.0-dev",
5692
+ cliVersion: true ? "2.60.29" : "0.0.0-dev",
5688
5693
  nodeVersion: process.version,
5689
5694
  platform: process.platform,
5690
5695
  arch: process.arch,
@@ -5865,7 +5870,7 @@ var os4 = __toESM(require("os"));
5865
5870
  // package.json
5866
5871
  var package_default = {
5867
5872
  name: "codeam-cli",
5868
- version: "2.60.27",
5873
+ version: "2.60.29",
5869
5874
  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.",
5870
5875
  type: "commonjs",
5871
5876
  main: "dist/index.js",
@@ -6958,7 +6963,7 @@ var CommandRelayService = class {
6958
6963
  // fresh + clear the "CLI update available" banner after a self-update
6959
6964
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
6960
6965
  // pair/reconnect). Older backends ignore the extra field.
6961
- ..."2.60.27" ? { ideVersion: "2.60.27" } : {}
6966
+ ..."2.60.29" ? { ideVersion: "2.60.29" } : {}
6962
6967
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
6963
6968
  }
6964
6969
  /**
@@ -17208,7 +17213,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17208
17213
  if (process.env.NODE_ENV === "test") return;
17209
17214
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17210
17215
  if (process.env.CI) return;
17211
- const current = true ? "2.60.27" : null;
17216
+ const current = true ? "2.60.29" : null;
17212
17217
  if (!current) return;
17213
17218
  const cache = readCache();
17214
17219
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17225,7 +17230,7 @@ function checkForUpdates() {
17225
17230
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17226
17231
  if (process.env.CI) return;
17227
17232
  if (!process.stdout.isTTY) return;
17228
- const current = true ? "2.60.27" : null;
17233
+ const current = true ? "2.60.29" : null;
17229
17234
  if (!current) return;
17230
17235
  const cache = readCache();
17231
17236
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17245,7 +17250,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17245
17250
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17246
17251
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17247
17252
  function currentCliVersion() {
17248
- return true ? "2.60.27" : null;
17253
+ return true ? "2.60.29" : null;
17249
17254
  }
17250
17255
  function runCmd(cmd, args2, timeoutMs) {
17251
17256
  return new Promise((resolve7) => {
@@ -21181,12 +21186,14 @@ var coderabbitConfigureH = async (ctx, cmd, parsed) => {
21181
21186
  runReview: (input) => new CoderabbitRuntimeStrategy(createOsStrategy()).runOneShot(input)
21182
21187
  }
21183
21188
  );
21184
- emit2("coderabbit_status", {
21185
- installed: result.installed,
21186
- loggedIn: result.loggedIn,
21187
- linked: result.linked ?? false,
21188
- ...result.error ? { error: result.error } : {}
21189
- });
21189
+ if (action !== "review") {
21190
+ emit2("coderabbit_status", {
21191
+ installed: result.installed,
21192
+ loggedIn: result.loggedIn,
21193
+ linked: result.linked ?? false,
21194
+ ...result.error ? { error: result.error } : {}
21195
+ });
21196
+ }
21190
21197
  await emitChain;
21191
21198
  await ctx.relay.sendResult(cmd.id, result.error && action !== "review" ? "failed" : "completed", result);
21192
21199
  };
@@ -28122,7 +28129,7 @@ function describeError(err) {
28122
28129
  if (err instanceof Error) return err.message;
28123
28130
  return String(err);
28124
28131
  }
28125
- var AUTH_FAILURE_RE = /invalid authentication credentials|authentication[_ ]error|please run \/login|\bunauthorized\b|\binvalid x-api-key\b|oauth token (?:expired|revoked)|(?:api error|http|status)[:\s]+401|\b401\b[^\n]{0,40}(?:unauthor|authenticat|credential|api[_ ]?key|login)/i;
28132
+ var AUTH_FAILURE_RE = /invalid authentication credentials|authentication[_ ](?:error|required)|please run \/login|\bunauthorized\b|\binvalid x-api-key\b|oauth token (?:expired|revoked)|(?:api error|http|status)[:\s]+401|\b401\b[^\n]{0,40}(?:unauthor|authenticat|credential|api[_ ]?key|login)/i;
28126
28133
  function looksLikeAuthFailure(text) {
28127
28134
  return AUTH_FAILURE_RE.test(text);
28128
28135
  }
@@ -34196,7 +34203,7 @@ function checkChokidar() {
34196
34203
  }
34197
34204
  async function doctor(args2 = []) {
34198
34205
  const json = args2.includes("--json");
34199
- const cliVersion = true ? "2.60.27" : "0.0.0-dev";
34206
+ const cliVersion = true ? "2.60.29" : "0.0.0-dev";
34200
34207
  const apiBase2 = resolveApiBaseUrl();
34201
34208
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
34202
34209
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -34395,7 +34402,7 @@ async function completion(args2) {
34395
34402
  // src/commands/version.ts
34396
34403
  var import_picocolors15 = __toESM(require("picocolors"));
34397
34404
  function version2() {
34398
- const v = true ? "2.60.27" : "unknown";
34405
+ const v = true ? "2.60.29" : "unknown";
34399
34406
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
34400
34407
  }
34401
34408
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.27",
3
+ "version": "2.60.29",
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",