codeam-cli 2.63.0 → 2.63.1
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 +15 -10
- 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.63.0] — 2026-08-13
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- In-session agent switch (switch_agent relay command + wire types) (#619)
|
|
12
|
+
|
|
7
13
|
## [2.62.2] — 2026-08-13
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -8034,7 +8034,7 @@ function readAnonId() {
|
|
|
8034
8034
|
}
|
|
8035
8035
|
function superProperties() {
|
|
8036
8036
|
return {
|
|
8037
|
-
cliVersion: true ? "2.63.
|
|
8037
|
+
cliVersion: true ? "2.63.1" : "0.0.0-dev",
|
|
8038
8038
|
nodeVersion: process.version,
|
|
8039
8039
|
platform: process.platform,
|
|
8040
8040
|
arch: process.arch,
|
|
@@ -8215,7 +8215,7 @@ var os4 = __toESM(require("os"));
|
|
|
8215
8215
|
// package.json
|
|
8216
8216
|
var package_default = {
|
|
8217
8217
|
name: "codeam-cli",
|
|
8218
|
-
version: "2.63.
|
|
8218
|
+
version: "2.63.1",
|
|
8219
8219
|
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.",
|
|
8220
8220
|
type: "commonjs",
|
|
8221
8221
|
main: "dist/index.js",
|
|
@@ -9655,7 +9655,7 @@ var CommandRelayService = class _CommandRelayService {
|
|
|
9655
9655
|
// fresh + clear the "CLI update available" banner after a self-update
|
|
9656
9656
|
// (a codespace that reinstalls @latest reconnects via heartbeat, not
|
|
9657
9657
|
// pair/reconnect). Older backends ignore the extra field.
|
|
9658
|
-
..."2.63.
|
|
9658
|
+
..."2.63.1" ? { ideVersion: "2.63.1" } : {}
|
|
9659
9659
|
}).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
|
|
9660
9660
|
}
|
|
9661
9661
|
/**
|
|
@@ -21073,7 +21073,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
21073
21073
|
if (process.env.NODE_ENV === "test") return;
|
|
21074
21074
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
21075
21075
|
if (process.env.CI) return;
|
|
21076
|
-
const current2 = true ? "2.63.
|
|
21076
|
+
const current2 = true ? "2.63.1" : null;
|
|
21077
21077
|
if (!current2) return;
|
|
21078
21078
|
const cache = readCache();
|
|
21079
21079
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -21090,7 +21090,7 @@ function checkForUpdates() {
|
|
|
21090
21090
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
21091
21091
|
if (process.env.CI) return;
|
|
21092
21092
|
if (!process.stdout.isTTY) return;
|
|
21093
|
-
const current2 = true ? "2.63.
|
|
21093
|
+
const current2 = true ? "2.63.1" : null;
|
|
21094
21094
|
if (!current2) return;
|
|
21095
21095
|
const cache = readCache();
|
|
21096
21096
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -21110,7 +21110,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
|
|
|
21110
21110
|
var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
|
|
21111
21111
|
var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
|
|
21112
21112
|
function currentCliVersion() {
|
|
21113
|
-
return true ? "2.63.
|
|
21113
|
+
return true ? "2.63.1" : null;
|
|
21114
21114
|
}
|
|
21115
21115
|
function runCmd(cmd, args2, timeoutMs) {
|
|
21116
21116
|
return new Promise((resolve9) => {
|
|
@@ -28261,11 +28261,12 @@ function kimiRuns() {
|
|
|
28261
28261
|
const r = (0, import_node_child_process27.spawnSync)("kimi", ["--version"], { stdio: "ignore", timeout: 15e3 });
|
|
28262
28262
|
return !r.error && r.status === 0;
|
|
28263
28263
|
}
|
|
28264
|
-
function
|
|
28264
|
+
function augmentKimiPath() {
|
|
28265
28265
|
const dir = kimiBinDir();
|
|
28266
28266
|
const parts = (process.env.PATH ?? "").split(":");
|
|
28267
28267
|
if (!parts.includes(dir)) process.env.PATH = `${dir}:${process.env.PATH ?? ""}`;
|
|
28268
28268
|
}
|
|
28269
|
+
var augmentPath2 = augmentKimiPath;
|
|
28269
28270
|
async function runInstaller2() {
|
|
28270
28271
|
return new Promise((resolve9) => {
|
|
28271
28272
|
const proc = (0, import_node_child_process27.spawn)("sh", ["-c", `curl -fsSL ${INSTALL_URL2} | bash`], { stdio: "inherit" });
|
|
@@ -28313,11 +28314,12 @@ function opencodeRuns() {
|
|
|
28313
28314
|
const r = (0, import_node_child_process28.spawnSync)("opencode", ["--version"], { stdio: "ignore", timeout: 15e3 });
|
|
28314
28315
|
return !r.error && r.status === 0;
|
|
28315
28316
|
}
|
|
28316
|
-
function
|
|
28317
|
+
function augmentOpencodePath() {
|
|
28317
28318
|
const dir = opencodeBinDir();
|
|
28318
28319
|
const parts = (process.env.PATH ?? "").split(":");
|
|
28319
28320
|
if (!parts.includes(dir)) process.env.PATH = `${dir}:${process.env.PATH ?? ""}`;
|
|
28320
28321
|
}
|
|
28322
|
+
var augmentPath3 = augmentOpencodePath;
|
|
28321
28323
|
async function runInstaller3() {
|
|
28322
28324
|
return new Promise((resolve9) => {
|
|
28323
28325
|
const proc = (0, import_node_child_process28.spawn)("sh", ["-c", `curl -fsSL ${INSTALL_URL3} | bash`], { stdio: "inherit" });
|
|
@@ -28459,6 +28461,7 @@ var REGISTRY = {
|
|
|
28459
28461
|
// provisions it, so there we just wait for the binary to appear.
|
|
28460
28462
|
waitForBinary: async (o) => {
|
|
28461
28463
|
if (isLocalSession()) await ensureKimiInstalled();
|
|
28464
|
+
augmentKimiPath();
|
|
28462
28465
|
return waitForCommandOnPath("kimi", o);
|
|
28463
28466
|
}
|
|
28464
28467
|
}),
|
|
@@ -28474,6 +28477,7 @@ var REGISTRY = {
|
|
|
28474
28477
|
requiresAgentBinary: "opencode",
|
|
28475
28478
|
waitForBinary: async (o) => {
|
|
28476
28479
|
if (isLocalSession()) await ensureOpencodeInstalled();
|
|
28480
|
+
augmentOpencodePath();
|
|
28477
28481
|
return waitForCommandOnPath("opencode", o);
|
|
28478
28482
|
}
|
|
28479
28483
|
})
|
|
@@ -34376,6 +34380,7 @@ async function performAgentSwitch(deps, rawAgentId) {
|
|
|
34376
34380
|
const emitStatus = (status2) => deps.postEvent("switch_agent_status", { ...status2 });
|
|
34377
34381
|
const emitStep = (step) => deps.postEvent("switch_agent_progress", { step, agentId });
|
|
34378
34382
|
const fail2 = (error) => {
|
|
34383
|
+
log.warn("switchAgent", `switch ${from} \u2192 ${agentId} failed: ${error}`);
|
|
34379
34384
|
void emitStatus({ state: "error", agentId, fromAgentId: from, error });
|
|
34380
34385
|
return { ok: false, agentId, error };
|
|
34381
34386
|
};
|
|
@@ -43330,7 +43335,7 @@ function checkChokidar() {
|
|
|
43330
43335
|
}
|
|
43331
43336
|
async function doctor(args2 = []) {
|
|
43332
43337
|
const json = args2.includes("--json");
|
|
43333
|
-
const cliVersion = true ? "2.63.
|
|
43338
|
+
const cliVersion = true ? "2.63.1" : "0.0.0-dev";
|
|
43334
43339
|
const apiBase2 = resolveApiBaseUrl();
|
|
43335
43340
|
const diagnosticId = (0, import_node_crypto13.randomUUID)();
|
|
43336
43341
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -43721,7 +43726,7 @@ async function mcpRun(args2) {
|
|
|
43721
43726
|
// src/commands/version.ts
|
|
43722
43727
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
43723
43728
|
function version2() {
|
|
43724
|
-
const v = true ? "2.63.
|
|
43729
|
+
const v = true ? "2.63.1" : "unknown";
|
|
43725
43730
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
43726
43731
|
}
|
|
43727
43732
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.63.
|
|
3
|
+
"version": "2.63.1",
|
|
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",
|