codeam-cli 2.60.25 → 2.60.26

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,16 @@ 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.24] — 2026-07-09
8
+
9
+ ### Added
10
+
11
+ - **cli:** Coderabbit reviewer — link (OAuth + API key) + review relay wiring
12
+
13
+ ### Fixed
14
+
15
+ - **cli:** Show OS-correct install hint for kimi/cursor on Windows
16
+
7
17
  ## [2.60.23] — 2026-07-09
8
18
 
9
19
  ### Added
package/dist/index.js CHANGED
@@ -330,10 +330,14 @@ var AGENT_REGISTRY = {
330
330
  displayName: "CodeRabbit",
331
331
  binaryName: "coderabbit",
332
332
  enabled: true,
333
- // Backend registry is authoritative: CodeRabbit links via a real
334
- // API key only (no OAuth flow exists in api-v2).
335
- supportedAuthKinds: ["api_key"],
336
- preferredAuthKind: "api_key",
333
+ // CodeRabbit links via a CLI-driven LOOPBACK OAuth (`coderabbit auth
334
+ // login --agent`): the CLI captures the token and hands it to the vault
335
+ // through `linkFromCli` (method:'oauth'), same as the terminal handoff.
336
+ // `oauth_token` is preferred; a real API key is still accepted as a
337
+ // fallback. There is no backend PKCE provider — the loopback runs on the
338
+ // user's own machine, so linking is always CLI-mediated.
339
+ supportedAuthKinds: ["oauth_token", "api_key"],
340
+ preferredAuthKind: "oauth_token",
337
341
  headroomWrappable: false,
338
342
  // Legacy PTY runtime — no ACP adapter registered.
339
343
  acp: false
@@ -5680,7 +5684,7 @@ function readAnonId() {
5680
5684
  }
5681
5685
  function superProperties() {
5682
5686
  return {
5683
- cliVersion: true ? "2.60.25" : "0.0.0-dev",
5687
+ cliVersion: true ? "2.60.26" : "0.0.0-dev",
5684
5688
  nodeVersion: process.version,
5685
5689
  platform: process.platform,
5686
5690
  arch: process.arch,
@@ -5861,7 +5865,7 @@ var os4 = __toESM(require("os"));
5861
5865
  // package.json
5862
5866
  var package_default = {
5863
5867
  name: "codeam-cli",
5864
- version: "2.60.25",
5868
+ version: "2.60.26",
5865
5869
  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.",
5866
5870
  type: "commonjs",
5867
5871
  main: "dist/index.js",
@@ -6954,7 +6958,7 @@ var CommandRelayService = class {
6954
6958
  // fresh + clear the "CLI update available" banner after a self-update
6955
6959
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
6956
6960
  // pair/reconnect). Older backends ignore the extra field.
6957
- ..."2.60.25" ? { ideVersion: "2.60.25" } : {}
6961
+ ..."2.60.26" ? { ideVersion: "2.60.26" } : {}
6958
6962
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
6959
6963
  }
6960
6964
  /**
@@ -17195,7 +17199,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17195
17199
  if (process.env.NODE_ENV === "test") return;
17196
17200
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17197
17201
  if (process.env.CI) return;
17198
- const current = true ? "2.60.25" : null;
17202
+ const current = true ? "2.60.26" : null;
17199
17203
  if (!current) return;
17200
17204
  const cache = readCache();
17201
17205
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17212,7 +17216,7 @@ function checkForUpdates() {
17212
17216
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17213
17217
  if (process.env.CI) return;
17214
17218
  if (!process.stdout.isTTY) return;
17215
- const current = true ? "2.60.25" : null;
17219
+ const current = true ? "2.60.26" : null;
17216
17220
  if (!current) return;
17217
17221
  const cache = readCache();
17218
17222
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17232,7 +17236,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17232
17236
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17233
17237
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17234
17238
  function currentCliVersion() {
17235
- return true ? "2.60.25" : null;
17239
+ return true ? "2.60.26" : null;
17236
17240
  }
17237
17241
  function runCmd(cmd, args2, timeoutMs) {
17238
17242
  return new Promise((resolve7) => {
@@ -34183,7 +34187,7 @@ function checkChokidar() {
34183
34187
  }
34184
34188
  async function doctor(args2 = []) {
34185
34189
  const json = args2.includes("--json");
34186
- const cliVersion = true ? "2.60.25" : "0.0.0-dev";
34190
+ const cliVersion = true ? "2.60.26" : "0.0.0-dev";
34187
34191
  const apiBase2 = resolveApiBaseUrl();
34188
34192
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
34189
34193
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -34382,7 +34386,7 @@ async function completion(args2) {
34382
34386
  // src/commands/version.ts
34383
34387
  var import_picocolors15 = __toESM(require("picocolors"));
34384
34388
  function version2() {
34385
- const v = true ? "2.60.25" : "unknown";
34389
+ const v = true ? "2.60.26" : "unknown";
34386
34390
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
34387
34391
  }
34388
34392
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.25",
3
+ "version": "2.60.26",
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",