codeam-cli 2.65.12 → 2.65.13

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,21 @@ 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.65.12] — 2026-08-19
8
+
9
+ ### CI
10
+
11
+ - Make the real session-baton gate actually run, and catch failed publishes (#637)
12
+ - CI results → Discord #ci_notifications, cross-os PR label, release success notice (#639)
13
+
14
+ ### Fixed
15
+
16
+ - **cli:** Baton follows the native TUI through /clear (+ /rename) (#640)
17
+
18
+ ### Tests
19
+
20
+ - **cli:** Fix cross-OS CI failures in augment-PATH and adapter module-graph tests (#638)
21
+
7
22
  ## [2.65.11] — 2026-08-19
8
23
 
9
24
  ### Documentation
package/dist/index.js CHANGED
@@ -8079,7 +8079,7 @@ function readAnonId() {
8079
8079
  }
8080
8080
  function superProperties() {
8081
8081
  return {
8082
- cliVersion: true ? "2.65.12" : "0.0.0-dev",
8082
+ cliVersion: true ? "2.65.13" : "0.0.0-dev",
8083
8083
  nodeVersion: process.version,
8084
8084
  platform: process.platform,
8085
8085
  arch: process.arch,
@@ -8321,7 +8321,7 @@ var http = __toESM(require("http"));
8321
8321
  // package.json
8322
8322
  var package_default = {
8323
8323
  name: "codeam-cli",
8324
- version: "2.65.12",
8324
+ version: "2.65.13",
8325
8325
  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.",
8326
8326
  type: "commonjs",
8327
8327
  main: "dist/index.js",
@@ -9842,7 +9842,7 @@ var CommandRelayService = class _CommandRelayService {
9842
9842
  // fresh + clear the "CLI update available" banner after a self-update
9843
9843
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
9844
9844
  // pair/reconnect). Older backends ignore the extra field.
9845
- ..."2.65.12" ? { ideVersion: "2.65.12" } : {}
9845
+ ..."2.65.13" ? { ideVersion: "2.65.13" } : {}
9846
9846
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
9847
9847
  }
9848
9848
  /**
@@ -21966,7 +21966,7 @@ async function autoUpgradeBeforeCriticalCommand() {
21966
21966
  if (process.env.NODE_ENV === "test") return;
21967
21967
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
21968
21968
  if (process.env.CI) return;
21969
- const current2 = true ? "2.65.12" : null;
21969
+ const current2 = true ? "2.65.13" : null;
21970
21970
  if (!current2) return;
21971
21971
  const cache = readCache();
21972
21972
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -21983,7 +21983,7 @@ function checkForUpdates() {
21983
21983
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
21984
21984
  if (process.env.CI) return;
21985
21985
  if (!process.stdout.isTTY) return;
21986
- const current2 = true ? "2.65.12" : null;
21986
+ const current2 = true ? "2.65.13" : null;
21987
21987
  if (!current2) return;
21988
21988
  const cache = readCache();
21989
21989
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -22003,7 +22003,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
22003
22003
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
22004
22004
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
22005
22005
  function currentCliVersion() {
22006
- return true ? "2.65.12" : null;
22006
+ return true ? "2.65.13" : null;
22007
22007
  }
22008
22008
  function runCmd(cmd, args2, timeoutMs) {
22009
22009
  return new Promise((resolve10) => {
@@ -34760,14 +34760,17 @@ var AcpClient = class {
34760
34760
  this.modelConfigId = modelOption.id;
34761
34761
  this.currentModelId = nonEmptyString(modelOption.currentValue);
34762
34762
  this.availableModels = dedupeModelOptions(
34763
- flattenSelectOptions(modelOption.options).map((opt) => ({
34764
- id: opt.value,
34765
- label: opt.name,
34766
- // Only when it's a real catalog match — native ids are often opaque
34767
- // aliases ("default"/"opus") or proxied (MiniMax house agent), for which a
34768
- // default 200K is a fake; undefined the UI omits the context sub-label.
34769
- contextWindow: tryGetContextWindow(opt.value)
34770
- }))
34763
+ filterChatModelOptions(
34764
+ flattenSelectOptions(modelOption.options).map((opt) => ({
34765
+ id: opt.value,
34766
+ label: opt.name,
34767
+ // Only when it's a real catalog match native ids are often opaque
34768
+ // aliases ("default"/"opus") or proxied (MiniMax house agent), for which a
34769
+ // default 200K is a fake; undefined → the UI omits the context sub-label.
34770
+ contextWindow: tryGetContextWindow(opt.value)
34771
+ })),
34772
+ this.currentModelId
34773
+ )
34771
34774
  );
34772
34775
  }
34773
34776
  /**
@@ -34995,6 +34998,21 @@ function flattenSelectOptions(options) {
34995
34998
  function nonEmptyString(value) {
34996
34999
  return typeof value === "string" && value.trim().length > 0 ? value : void 0;
34997
35000
  }
35001
+ var NON_CHAT_MODEL_PATTERNS = [
35002
+ /\bembed(?:ding)?s?\b/i,
35003
+ // text-embedding-3-large, *-embed-*, embeddings
35004
+ /\brerank(?:er|ing)?\b/i,
35005
+ /\bmoderation\b/i,
35006
+ /\btts\b/i,
35007
+ /\bwhisper\b/i,
35008
+ /\btranscribe\b/i,
35009
+ /\bdall-?e\b/i
35010
+ ];
35011
+ function filterChatModelOptions(models, currentModelId) {
35012
+ return models.filter(
35013
+ (m) => m.id === currentModelId || !NON_CHAT_MODEL_PATTERNS.some((re2) => re2.test(`${m.id} ${m.label}`))
35014
+ );
35015
+ }
34998
35016
  function dedupeModelOptions(models) {
34999
35017
  const seen = /* @__PURE__ */ new Set();
35000
35018
  const unique = [];
@@ -45254,7 +45272,7 @@ function checkChokidar() {
45254
45272
  }
45255
45273
  async function doctor(args2 = []) {
45256
45274
  const json = args2.includes("--json");
45257
- const cliVersion = true ? "2.65.12" : "0.0.0-dev";
45275
+ const cliVersion = true ? "2.65.13" : "0.0.0-dev";
45258
45276
  const apiBase2 = resolveApiBaseUrl();
45259
45277
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
45260
45278
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -45645,7 +45663,7 @@ async function mcpRun(args2) {
45645
45663
  // src/commands/version.ts
45646
45664
  var import_picocolors15 = __toESM(require("picocolors"));
45647
45665
  function version2() {
45648
- const v = true ? "2.65.12" : "unknown";
45666
+ const v = true ? "2.65.13" : "unknown";
45649
45667
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
45650
45668
  }
45651
45669
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.65.12",
3
+ "version": "2.65.13",
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",