codeam-cli 2.26.9 → 2.26.11
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 +29 -25
- package/package.json +1 -1
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.10] — 2026-06-03
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Cloudflared DNS probe is best-effort, no longer fails the preview (#243)
|
|
12
|
+
|
|
13
|
+
## [2.26.9] — 2026-06-03
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** Conversation push carries agentId for per-agent body cache (#242)
|
|
18
|
+
|
|
7
19
|
## [2.26.8] — 2026-06-03
|
|
8
20
|
|
|
9
21
|
### Added
|
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.11",
|
|
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.11" : "0.0.0-dev",
|
|
5833
5833
|
nodeVersion: process.version,
|
|
5834
5834
|
platform: process.platform,
|
|
5835
5835
|
arch: process.arch,
|
|
@@ -16899,6 +16899,15 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
16899
16899
|
return;
|
|
16900
16900
|
}
|
|
16901
16901
|
const pluginAuthToken = ctx.pluginAuthToken;
|
|
16902
|
+
const emitProgress = (step, message) => {
|
|
16903
|
+
void postPreviewEvent({
|
|
16904
|
+
sessionId: ctx.sessionId,
|
|
16905
|
+
pluginId: ctx.pluginId,
|
|
16906
|
+
pluginAuthToken,
|
|
16907
|
+
type: "preview_progress",
|
|
16908
|
+
payload: { step, message, timestamp: Date.now() }
|
|
16909
|
+
});
|
|
16910
|
+
};
|
|
16902
16911
|
void (async () => {
|
|
16903
16912
|
void postPreviewEvent({
|
|
16904
16913
|
sessionId: ctx.sessionId,
|
|
@@ -16907,7 +16916,9 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
16907
16916
|
type: "preview_starting",
|
|
16908
16917
|
payload: { framework: detection.framework, port: detection.port }
|
|
16909
16918
|
});
|
|
16919
|
+
emitProgress("ENV_DETECTED", `${detection.framework}`);
|
|
16910
16920
|
for (const setup of detection.setup_commands ?? []) {
|
|
16921
|
+
emitProgress("SETUP_RUN", `${setup.cmd} ${setup.args.join(" ")}`);
|
|
16911
16922
|
const exitCode = await runOnce(setup.cmd, setup.args, process.cwd(), detection.env);
|
|
16912
16923
|
if (exitCode !== 0) {
|
|
16913
16924
|
void postPreviewEvent({
|
|
@@ -16923,11 +16934,17 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
16923
16934
|
return;
|
|
16924
16935
|
}
|
|
16925
16936
|
}
|
|
16937
|
+
emitProgress(
|
|
16938
|
+
"BOOT_SEQUENCE",
|
|
16939
|
+
`${detection.command} ${detection.args.join(" ")}`
|
|
16940
|
+
);
|
|
16926
16941
|
const devServer = (0, import_child_process15.spawn)(detection.command, detection.args, {
|
|
16927
16942
|
cwd: process.cwd(),
|
|
16928
16943
|
env: { ...process.env, ...detection.env ?? {} },
|
|
16929
16944
|
stdio: ["ignore", "pipe", "pipe"]
|
|
16930
16945
|
});
|
|
16946
|
+
emitProgress("BIND_PORT", String(detection.port));
|
|
16947
|
+
emitProgress("WAITING_FOR_READY", detection.ready_pattern);
|
|
16931
16948
|
let readyMatched = false;
|
|
16932
16949
|
let expoUrl = null;
|
|
16933
16950
|
const readyRe = new RegExp(detection.ready_pattern);
|
|
@@ -16969,6 +16986,11 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
16969
16986
|
});
|
|
16970
16987
|
return;
|
|
16971
16988
|
}
|
|
16989
|
+
emitProgress("READY_DETECTED", `port ${detection.port}`);
|
|
16990
|
+
emitProgress(
|
|
16991
|
+
"TUNNEL_STARTING",
|
|
16992
|
+
detection.framework === "Expo" ? "Expo (self-tunnelled)" : isCodespaceSession() ? "GitHub Codespaces public port" : "cloudflared quick tunnel"
|
|
16993
|
+
);
|
|
16972
16994
|
let tunnel = null;
|
|
16973
16995
|
let url;
|
|
16974
16996
|
if (detection.framework === "Expo") {
|
|
@@ -17080,28 +17102,10 @@ var previewStartH = (ctx, _cmd, parsed) => {
|
|
|
17080
17102
|
});
|
|
17081
17103
|
return;
|
|
17082
17104
|
}
|
|
17083
|
-
|
|
17084
|
-
await waitForCloudflaredReady(parsedUrl, 3e4);
|
|
17085
|
-
} catch (e) {
|
|
17086
|
-
try {
|
|
17087
|
-
tunnel.kill("SIGTERM");
|
|
17088
|
-
} catch {
|
|
17089
|
-
}
|
|
17090
|
-
try {
|
|
17091
|
-
devServer.kill("SIGTERM");
|
|
17092
|
-
} catch {
|
|
17093
|
-
}
|
|
17094
|
-
void postPreviewEvent({
|
|
17095
|
-
sessionId: ctx.sessionId,
|
|
17096
|
-
pluginId: ctx.pluginId,
|
|
17097
|
-
pluginAuthToken,
|
|
17098
|
-
type: "preview_error",
|
|
17099
|
-
payload: { stage: "tunnel", message: e.message }
|
|
17100
|
-
});
|
|
17101
|
-
return;
|
|
17102
|
-
}
|
|
17105
|
+
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)`));
|
|
17103
17106
|
url = parsedUrl;
|
|
17104
17107
|
}
|
|
17108
|
+
emitProgress("TUNNEL_READY", url);
|
|
17105
17109
|
registerPreview(ctx.sessionId, {
|
|
17106
17110
|
sessionId: ctx.sessionId,
|
|
17107
17111
|
devServer,
|
|
@@ -20156,7 +20160,7 @@ function checkChokidar() {
|
|
|
20156
20160
|
}
|
|
20157
20161
|
async function doctor(args2 = []) {
|
|
20158
20162
|
const json = args2.includes("--json");
|
|
20159
|
-
const cliVersion = true ? "2.26.
|
|
20163
|
+
const cliVersion = true ? "2.26.11" : "0.0.0-dev";
|
|
20160
20164
|
const apiBase = resolveApiBaseUrl();
|
|
20161
20165
|
const diagnosticId = (0, import_node_crypto6.randomUUID)();
|
|
20162
20166
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -20355,7 +20359,7 @@ async function completion(args2) {
|
|
|
20355
20359
|
// src/commands/version.ts
|
|
20356
20360
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
20357
20361
|
function version2() {
|
|
20358
|
-
const v = true ? "2.26.
|
|
20362
|
+
const v = true ? "2.26.11" : "unknown";
|
|
20359
20363
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
20360
20364
|
}
|
|
20361
20365
|
|
|
@@ -20583,7 +20587,7 @@ function checkForUpdates() {
|
|
|
20583
20587
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
20584
20588
|
if (process.env.CI) return;
|
|
20585
20589
|
if (!process.stdout.isTTY) return;
|
|
20586
|
-
const current = true ? "2.26.
|
|
20590
|
+
const current = true ? "2.26.11" : null;
|
|
20587
20591
|
if (!current) return;
|
|
20588
20592
|
const cache = readCache();
|
|
20589
20593
|
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.11",
|
|
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",
|