codeam-cli 2.75.18 → 2.75.19

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,13 @@ 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.75.18] — 2026-09-25
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Skip bd bootstrap on an empty remote; agent must not repair beads
12
+ - **cli:** Beads mint must not write agent files or git hooks into the repo
13
+
7
14
  ## [2.75.17] — 2026-09-25
8
15
 
9
16
  ### Fixed
package/dist/index.js CHANGED
@@ -10509,7 +10509,7 @@ function readAnonId() {
10509
10509
  }
10510
10510
  function superProperties() {
10511
10511
  return {
10512
- cliVersion: true ? "2.75.18" : "0.0.0-dev",
10512
+ cliVersion: true ? "2.75.19" : "0.0.0-dev",
10513
10513
  nodeVersion: process.version,
10514
10514
  platform: process.platform,
10515
10515
  arch: process.arch,
@@ -10751,7 +10751,7 @@ var http = __toESM(require("http"));
10751
10751
  // package.json
10752
10752
  var package_default = {
10753
10753
  name: "codeam-cli",
10754
- version: "2.75.18",
10754
+ version: "2.75.19",
10755
10755
  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.",
10756
10756
  type: "commonjs",
10757
10757
  main: "dist/index.js",
@@ -12081,7 +12081,7 @@ var CommandRelayService = class _CommandRelayService {
12081
12081
  // fresh + clear the "CLI update available" banner after a self-update
12082
12082
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
12083
12083
  // pair/reconnect). Older backends ignore the extra field.
12084
- ..."2.75.18" ? { ideVersion: "2.75.18" } : {}
12084
+ ..."2.75.19" ? { ideVersion: "2.75.19" } : {}
12085
12085
  };
12086
12086
  try {
12087
12087
  const res = await _postJson(`${API_BASE2}/api/plugin/heartbeat`, body);
@@ -47347,13 +47347,45 @@ async function ensureGhAuth(runner, ghCmd, token) {
47347
47347
  });
47348
47348
  if (login.code === 0) {
47349
47349
  log.info("host-agent", "gh authenticated with the linked GitHub token");
47350
+ } else if (/missing required scope/i.test(login.stderr) && writeGhHostsToken(token)) {
47351
+ log.info("host-agent", "gh authenticated via hosts.yml (token lacks read:org)");
47350
47352
  } else {
47351
- log.warn("host-agent", `gh auth login failed (code=${String(login.code)}) \u2014 gh unauthenticated`);
47353
+ log.warn(
47354
+ "host-agent",
47355
+ `gh auth login failed (code=${String(login.code)}): ${login.stderr.trim().slice(0, 200)} \u2014 gh unauthenticated`
47356
+ );
47352
47357
  }
47353
47358
  } catch (e) {
47354
47359
  log.warn("host-agent", `gh auth errored: ${e instanceof Error ? e.message : String(e)}`);
47355
47360
  }
47356
47361
  }
47362
+ function ghConfigDir() {
47363
+ if (process.env.GH_CONFIG_DIR) return process.env.GH_CONFIG_DIR;
47364
+ if (process.env.XDG_CONFIG_HOME) return path88.join(process.env.XDG_CONFIG_HOME, "gh");
47365
+ if (process.platform === "win32" && process.env.APPDATA) {
47366
+ return path88.join(process.env.APPDATA, "GitHub CLI");
47367
+ }
47368
+ return path88.join(os60.homedir(), ".config", "gh");
47369
+ }
47370
+ function writeGhHostsToken(token) {
47371
+ try {
47372
+ const dir = ghConfigDir();
47373
+ const file = path88.join(dir, "hosts.yml");
47374
+ if (fs75.existsSync(file)) return false;
47375
+ fs75.mkdirSync(dir, { recursive: true, mode: 448 });
47376
+ fs75.writeFileSync(
47377
+ file,
47378
+ `github.com:
47379
+ oauth_token: ${token}
47380
+ git_protocol: https
47381
+ `,
47382
+ { mode: 384, flag: "wx" }
47383
+ );
47384
+ return true;
47385
+ } catch {
47386
+ return false;
47387
+ }
47388
+ }
47357
47389
  var FALLBACK_GLAB_VERSION = "1.54.0";
47358
47390
  var GLAB_RELEASE_API = "https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/releases/permalink/latest";
47359
47391
  async function resolveLatestGlabVersion() {
@@ -47648,7 +47680,7 @@ async function autoUpgradeBeforeCriticalCommand() {
47648
47680
  if (process.env.NODE_ENV === "test") return;
47649
47681
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
47650
47682
  if (process.env.CI) return;
47651
- const current2 = true ? "2.75.18" : null;
47683
+ const current2 = true ? "2.75.19" : null;
47652
47684
  if (!current2) return;
47653
47685
  const cache = readCache();
47654
47686
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -47665,7 +47697,7 @@ function checkForUpdates() {
47665
47697
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
47666
47698
  if (process.env.CI) return;
47667
47699
  if (!process.stdout.isTTY) return;
47668
- const current2 = true ? "2.75.18" : null;
47700
+ const current2 = true ? "2.75.19" : null;
47669
47701
  if (!current2) return;
47670
47702
  const cache = readCache();
47671
47703
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -47688,7 +47720,7 @@ var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
47688
47720
  var SELF_UPDATE_LS_TIMEOUT_MS = 15e3;
47689
47721
  var SUDO_PREFLIGHT_TIMEOUT_MS = 5e3;
47690
47722
  function currentCliVersion() {
47691
- return true ? "2.75.18" : null;
47723
+ return true ? "2.75.19" : null;
47692
47724
  }
47693
47725
  async function installedVersion(deps) {
47694
47726
  const ls = await deps.run(
@@ -49574,7 +49606,7 @@ function checkChokidar() {
49574
49606
  }
49575
49607
  async function doctor(args2 = []) {
49576
49608
  const json = args2.includes("--json");
49577
- const cliVersion = true ? "2.75.18" : "0.0.0-dev";
49609
+ const cliVersion = true ? "2.75.19" : "0.0.0-dev";
49578
49610
  const apiBase2 = resolveApiBaseUrl();
49579
49611
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
49580
49612
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -50098,7 +50130,7 @@ async function mcpWarm(argv = [], opts = {}) {
50098
50130
  // src/commands/version.ts
50099
50131
  var import_picocolors15 = __toESM(require("picocolors"));
50100
50132
  function version2() {
50101
- const v = true ? "2.75.18" : "unknown";
50133
+ const v = true ? "2.75.19" : "unknown";
50102
50134
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
50103
50135
  }
50104
50136
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.75.18",
3
+ "version": "2.75.19",
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",