codeam-cli 2.73.9 → 2.73.10
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 +6 -0
- package/dist/index.js +59 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ 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.73.9] — 2026-09-03
|
|
8
|
+
|
|
9
|
+
### Tests
|
|
10
|
+
|
|
11
|
+
- **cli:** Move the MCP licence audit to apps/cli — it broke the shared publish (#695)
|
|
12
|
+
|
|
7
13
|
## [2.73.8] — 2026-09-03
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -8136,7 +8136,7 @@ function readAnonId() {
|
|
|
8136
8136
|
}
|
|
8137
8137
|
function superProperties() {
|
|
8138
8138
|
return {
|
|
8139
|
-
cliVersion: true ? "2.73.
|
|
8139
|
+
cliVersion: true ? "2.73.10" : "0.0.0-dev",
|
|
8140
8140
|
nodeVersion: process.version,
|
|
8141
8141
|
platform: process.platform,
|
|
8142
8142
|
arch: process.arch,
|
|
@@ -8378,7 +8378,7 @@ var http = __toESM(require("http"));
|
|
|
8378
8378
|
// package.json
|
|
8379
8379
|
var package_default = {
|
|
8380
8380
|
name: "codeam-cli",
|
|
8381
|
-
version: "2.73.
|
|
8381
|
+
version: "2.73.10",
|
|
8382
8382
|
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.",
|
|
8383
8383
|
type: "commonjs",
|
|
8384
8384
|
main: "dist/index.js",
|
|
@@ -9971,7 +9971,7 @@ var CommandRelayService = class _CommandRelayService {
|
|
|
9971
9971
|
// fresh + clear the "CLI update available" banner after a self-update
|
|
9972
9972
|
// (a codespace that reinstalls @latest reconnects via heartbeat, not
|
|
9973
9973
|
// pair/reconnect). Older backends ignore the extra field.
|
|
9974
|
-
..."2.73.
|
|
9974
|
+
..."2.73.10" ? { ideVersion: "2.73.10" } : {}
|
|
9975
9975
|
}).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
|
|
9976
9976
|
}
|
|
9977
9977
|
/**
|
|
@@ -22247,7 +22247,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
22247
22247
|
if (process.env.NODE_ENV === "test") return;
|
|
22248
22248
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
22249
22249
|
if (process.env.CI) return;
|
|
22250
|
-
const current2 = true ? "2.73.
|
|
22250
|
+
const current2 = true ? "2.73.10" : null;
|
|
22251
22251
|
if (!current2) return;
|
|
22252
22252
|
const cache = readCache();
|
|
22253
22253
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -22264,7 +22264,7 @@ function checkForUpdates() {
|
|
|
22264
22264
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
22265
22265
|
if (process.env.CI) return;
|
|
22266
22266
|
if (!process.stdout.isTTY) return;
|
|
22267
|
-
const current2 = true ? "2.73.
|
|
22267
|
+
const current2 = true ? "2.73.10" : null;
|
|
22268
22268
|
if (!current2) return;
|
|
22269
22269
|
const cache = readCache();
|
|
22270
22270
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -22287,7 +22287,7 @@ var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
|
|
|
22287
22287
|
var SELF_UPDATE_LS_TIMEOUT_MS = 15e3;
|
|
22288
22288
|
var SUDO_PREFLIGHT_TIMEOUT_MS = 5e3;
|
|
22289
22289
|
function currentCliVersion() {
|
|
22290
|
-
return true ? "2.73.
|
|
22290
|
+
return true ? "2.73.10" : null;
|
|
22291
22291
|
}
|
|
22292
22292
|
async function installedVersion(deps) {
|
|
22293
22293
|
const ls = await deps.run(
|
|
@@ -43268,6 +43268,50 @@ ${BEADS_HINT}
|
|
|
43268
43268
|
}
|
|
43269
43269
|
}
|
|
43270
43270
|
|
|
43271
|
+
// src/integrations/refresh-manifest.ts
|
|
43272
|
+
function fingerprint(m) {
|
|
43273
|
+
const norm = [...m.integrations].map((e) => ({ id: e.id, delivery: e.delivery })).sort((a, b) => a.id.localeCompare(b.id));
|
|
43274
|
+
return JSON.stringify(norm);
|
|
43275
|
+
}
|
|
43276
|
+
async function refreshIntegrationsManifest(ctx, fetchImpl = fetch, timeoutMs = 8e3) {
|
|
43277
|
+
const url2 = `${resolveApiBaseUrl()}/api/plugin/integrations/manifest`;
|
|
43278
|
+
const ac = new AbortController();
|
|
43279
|
+
const timer = setTimeout(() => ac.abort(), timeoutMs);
|
|
43280
|
+
try {
|
|
43281
|
+
const resp = await fetchImpl(url2, {
|
|
43282
|
+
method: "POST",
|
|
43283
|
+
headers: { "Content-Type": "application/json", "X-Plugin-Auth-Token": ctx.pluginAuthToken },
|
|
43284
|
+
body: JSON.stringify({ sessionId: ctx.sessionId, pluginId: ctx.pluginId }),
|
|
43285
|
+
signal: ac.signal
|
|
43286
|
+
});
|
|
43287
|
+
if (!resp.ok) {
|
|
43288
|
+
return { status: "skipped", reason: `HTTP ${resp.status}` };
|
|
43289
|
+
}
|
|
43290
|
+
const json = await resp.json();
|
|
43291
|
+
const fresh = json.data;
|
|
43292
|
+
if (!json.success || !fresh || !Array.isArray(fresh.integrations)) {
|
|
43293
|
+
return { status: "skipped", reason: "malformed response" };
|
|
43294
|
+
}
|
|
43295
|
+
const onDisk = readIntegrationsManifest();
|
|
43296
|
+
if (onDisk && fingerprint(onDisk) === fingerprint(fresh)) return { status: "unchanged" };
|
|
43297
|
+
persistIntegrationsManifest(fresh);
|
|
43298
|
+
const result = {
|
|
43299
|
+
status: "rewritten",
|
|
43300
|
+
before: onDisk?.integrations.length ?? 0,
|
|
43301
|
+
after: fresh.integrations.length
|
|
43302
|
+
};
|
|
43303
|
+
log.info(
|
|
43304
|
+
"integrations",
|
|
43305
|
+
`manifest refreshed from backend at start (${result.before} \u2192 ${result.after} entr${result.after === 1 ? "y" : "ies"}) \u2014 the on-disk copy was stale`
|
|
43306
|
+
);
|
|
43307
|
+
return result;
|
|
43308
|
+
} catch (err) {
|
|
43309
|
+
return { status: "skipped", reason: err instanceof Error ? err.message : String(err) };
|
|
43310
|
+
} finally {
|
|
43311
|
+
clearTimeout(timer);
|
|
43312
|
+
}
|
|
43313
|
+
}
|
|
43314
|
+
|
|
43271
43315
|
// src/skills/provision.ts
|
|
43272
43316
|
var import_node_os13 = __toESM(require("os"));
|
|
43273
43317
|
function provisionSkillsForStart(home = import_node_os13.default.homedir()) {
|
|
@@ -44328,6 +44372,13 @@ async function start(requestedAgent, presetSession) {
|
|
|
44328
44372
|
beads = started;
|
|
44329
44373
|
return started;
|
|
44330
44374
|
});
|
|
44375
|
+
if (session.pluginAuthToken) {
|
|
44376
|
+
await refreshIntegrationsManifest({
|
|
44377
|
+
sessionId: session.id,
|
|
44378
|
+
pluginId,
|
|
44379
|
+
pluginAuthToken: session.pluginAuthToken
|
|
44380
|
+
});
|
|
44381
|
+
}
|
|
44331
44382
|
const mcpServers = mergeWithLocalMcpServers(
|
|
44332
44383
|
buildMcpServersForStart({
|
|
44333
44384
|
sessionId: session.id,
|
|
@@ -47176,7 +47227,7 @@ function checkChokidar() {
|
|
|
47176
47227
|
}
|
|
47177
47228
|
async function doctor(args2 = []) {
|
|
47178
47229
|
const json = args2.includes("--json");
|
|
47179
|
-
const cliVersion = true ? "2.73.
|
|
47230
|
+
const cliVersion = true ? "2.73.10" : "0.0.0-dev";
|
|
47180
47231
|
const apiBase2 = resolveApiBaseUrl();
|
|
47181
47232
|
const diagnosticId = (0, import_node_crypto13.randomUUID)();
|
|
47182
47233
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -47647,7 +47698,7 @@ async function mcpWarm(argv = []) {
|
|
|
47647
47698
|
// src/commands/version.ts
|
|
47648
47699
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
47649
47700
|
function version2() {
|
|
47650
|
-
const v = true ? "2.73.
|
|
47701
|
+
const v = true ? "2.73.10" : "unknown";
|
|
47651
47702
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
47652
47703
|
}
|
|
47653
47704
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.73.
|
|
3
|
+
"version": "2.73.10",
|
|
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",
|