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 +7 -0
- package/dist/index.js +41 -9
- package/package.json +1 -1
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.
|
|
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.
|
|
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.
|
|
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(
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|