codeam-cli 2.26.8 → 2.26.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 +12 -0
- package/dist/index.js +19 -26
- package/package.json +1 -1
- package/dist/postinstall.js +0 -33
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ 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.26.9] — 2026-06-03
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Conversation push carries agentId for per-agent body cache (#242)
|
|
12
|
+
|
|
13
|
+
## [2.26.8] — 2026-06-03
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** Push resumable-session list per active agent (#241)
|
|
18
|
+
|
|
7
19
|
## [2.26.7] — 2026-06-03
|
|
8
20
|
|
|
9
21
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -472,7 +472,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
|
|
|
472
472
|
// package.json
|
|
473
473
|
var package_default = {
|
|
474
474
|
name: "codeam-cli",
|
|
475
|
-
version: "2.26.
|
|
475
|
+
version: "2.26.10",
|
|
476
476
|
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.",
|
|
477
477
|
type: "commonjs",
|
|
478
478
|
main: "dist/index.js",
|
|
@@ -5829,7 +5829,7 @@ function readAnonId() {
|
|
|
5829
5829
|
}
|
|
5830
5830
|
function superProperties() {
|
|
5831
5831
|
return {
|
|
5832
|
-
cliVersion: true ? "2.26.
|
|
5832
|
+
cliVersion: true ? "2.26.10" : "0.0.0-dev",
|
|
5833
5833
|
nodeVersion: process.version,
|
|
5834
5834
|
platform: process.platform,
|
|
5835
5835
|
arch: process.arch,
|
|
@@ -12902,7 +12902,18 @@ var HistoryService = class _HistoryService {
|
|
|
12902
12902
|
const RETRY_DELAYS = [500, 1e3, 2e3, 4e3, 8e3];
|
|
12903
12903
|
for (let i = 0; i < totalBatches; i++) {
|
|
12904
12904
|
const batch = messages.slice(i * CONVERSATION_BATCH_SIZE, (i + 1) * CONVERSATION_BATCH_SIZE);
|
|
12905
|
-
const body = {
|
|
12905
|
+
const body = {
|
|
12906
|
+
pluginId: this.pluginId,
|
|
12907
|
+
// `agentId` keys the backend's per-agent conversation cache.
|
|
12908
|
+
// Older backends that don't recognise the field silently
|
|
12909
|
+
// ignore it and default to `claude-code` server-side — same
|
|
12910
|
+
// outcome as before the per-agent split.
|
|
12911
|
+
agentId: this.runtime.id,
|
|
12912
|
+
sessionId,
|
|
12913
|
+
messages: batch,
|
|
12914
|
+
batchIndex: i,
|
|
12915
|
+
totalBatches
|
|
12916
|
+
};
|
|
12906
12917
|
let ok = await post("/api/sessions/conversation", body);
|
|
12907
12918
|
for (let attempt = 0; !ok && attempt < RETRY_DELAYS.length; attempt++) {
|
|
12908
12919
|
await new Promise((r) => setTimeout(r, RETRY_DELAYS[attempt]));
|
|
@@ -12952,6 +12963,7 @@ var HistoryService = class _HistoryService {
|
|
|
12952
12963
|
if (newMessages.length === 0) return 0;
|
|
12953
12964
|
const body = {
|
|
12954
12965
|
pluginId: this.pluginId,
|
|
12966
|
+
agentId: this.runtime.id,
|
|
12955
12967
|
sessionId,
|
|
12956
12968
|
messages: newMessages,
|
|
12957
12969
|
mode: "append"
|
|
@@ -17068,26 +17080,7 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
17068
17080
|
});
|
|
17069
17081
|
return;
|
|
17070
17082
|
}
|
|
17071
|
-
|
|
17072
|
-
await waitForCloudflaredReady(parsedUrl, 3e4);
|
|
17073
|
-
} catch (e) {
|
|
17074
|
-
try {
|
|
17075
|
-
tunnel.kill("SIGTERM");
|
|
17076
|
-
} catch {
|
|
17077
|
-
}
|
|
17078
|
-
try {
|
|
17079
|
-
devServer.kill("SIGTERM");
|
|
17080
|
-
} catch {
|
|
17081
|
-
}
|
|
17082
|
-
void postPreviewEvent({
|
|
17083
|
-
sessionId: ctx.sessionId,
|
|
17084
|
-
pluginId: ctx.pluginId,
|
|
17085
|
-
pluginAuthToken,
|
|
17086
|
-
type: "preview_error",
|
|
17087
|
-
payload: { stage: "tunnel", message: e.message }
|
|
17088
|
-
});
|
|
17089
|
-
return;
|
|
17090
|
-
}
|
|
17083
|
+
void waitForCloudflaredReady(parsedUrl, 3e4).then(() => log.info("preview", `cloudflared probe: ${parsedUrl} reachable from CLI host`)).catch((e) => log.info("preview", `cloudflared probe: ${String(e.message)} (non-fatal)`));
|
|
17091
17084
|
url = parsedUrl;
|
|
17092
17085
|
}
|
|
17093
17086
|
registerPreview(ctx.sessionId, {
|
|
@@ -20144,7 +20137,7 @@ function checkChokidar() {
|
|
|
20144
20137
|
}
|
|
20145
20138
|
async function doctor(args2 = []) {
|
|
20146
20139
|
const json = args2.includes("--json");
|
|
20147
|
-
const cliVersion = true ? "2.26.
|
|
20140
|
+
const cliVersion = true ? "2.26.10" : "0.0.0-dev";
|
|
20148
20141
|
const apiBase = resolveApiBaseUrl();
|
|
20149
20142
|
const diagnosticId = (0, import_node_crypto6.randomUUID)();
|
|
20150
20143
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -20343,7 +20336,7 @@ async function completion(args2) {
|
|
|
20343
20336
|
// src/commands/version.ts
|
|
20344
20337
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
20345
20338
|
function version2() {
|
|
20346
|
-
const v = true ? "2.26.
|
|
20339
|
+
const v = true ? "2.26.10" : "unknown";
|
|
20347
20340
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
20348
20341
|
}
|
|
20349
20342
|
|
|
@@ -20571,7 +20564,7 @@ function checkForUpdates() {
|
|
|
20571
20564
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
20572
20565
|
if (process.env.CI) return;
|
|
20573
20566
|
if (!process.stdout.isTTY) return;
|
|
20574
|
-
const current = true ? "2.26.
|
|
20567
|
+
const current = true ? "2.26.10" : null;
|
|
20575
20568
|
if (!current) return;
|
|
20576
20569
|
const cache = readCache();
|
|
20577
20570
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.26.
|
|
3
|
+
"version": "2.26.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",
|
package/dist/postinstall.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
// src/postinstall.ts
|
|
5
|
-
var c = {
|
|
6
|
-
reset: "\x1B[0m",
|
|
7
|
-
bold: "\x1B[1m",
|
|
8
|
-
dim: "\x1B[2m",
|
|
9
|
-
green: "\x1B[32m",
|
|
10
|
-
cyan: "\x1B[36m",
|
|
11
|
-
violet: "\x1B[35m",
|
|
12
|
-
white: "\x1B[97m"
|
|
13
|
-
};
|
|
14
|
-
var lines = [
|
|
15
|
-
"",
|
|
16
|
-
` ${c.violet}${c.bold}codeam-cli${c.reset} ${c.dim}\u2014 Claude Code remote control${c.reset}`,
|
|
17
|
-
"",
|
|
18
|
-
` ${c.dim}1.${c.reset} Pair your phone:`,
|
|
19
|
-
` ${c.cyan}codeam pair${c.reset}`,
|
|
20
|
-
"",
|
|
21
|
-
` ${c.dim}2.${c.reset} Launch Claude Code with mobile control:`,
|
|
22
|
-
` ${c.cyan}codeam${c.reset}`,
|
|
23
|
-
"",
|
|
24
|
-
` ${c.dim}Other commands:${c.reset}`,
|
|
25
|
-
` ${c.white}codeam sessions${c.reset} ${c.dim}list paired devices${c.reset}`,
|
|
26
|
-
` ${c.white}codeam status${c.reset} ${c.dim}show connection info${c.reset}`,
|
|
27
|
-
` ${c.white}codeam logout${c.reset} ${c.dim}remove all sessions${c.reset}`,
|
|
28
|
-
"",
|
|
29
|
-
` ${c.dim}Requires Claude Code:${c.reset} ${c.green}npm install -g @anthropic-ai/claude-code${c.reset}`,
|
|
30
|
-
` ${c.dim}Mobile app:${c.reset} ${c.green}https://www.codeagent-mobile.com${c.reset}`,
|
|
31
|
-
""
|
|
32
|
-
];
|
|
33
|
-
process.stdout.write(lines.join("\n") + "\n");
|