codeam-cli 2.23.2 → 2.23.3
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 +27 -5
- 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.23.2] — 2026-05-25
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Fire-and-forget background handlers so they don't block start_task (#190)
|
|
12
|
+
|
|
7
13
|
## [2.23.1] — 2026-05-25
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -441,7 +441,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
|
|
|
441
441
|
// package.json
|
|
442
442
|
var package_default = {
|
|
443
443
|
name: "codeam-cli",
|
|
444
|
-
version: "2.23.
|
|
444
|
+
version: "2.23.3",
|
|
445
445
|
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.",
|
|
446
446
|
type: "commonjs",
|
|
447
447
|
main: "dist/index.js",
|
|
@@ -5768,7 +5768,7 @@ function readAnonId() {
|
|
|
5768
5768
|
}
|
|
5769
5769
|
function superProperties() {
|
|
5770
5770
|
return {
|
|
5771
|
-
cliVersion: true ? "2.23.
|
|
5771
|
+
cliVersion: true ? "2.23.3" : "0.0.0-dev",
|
|
5772
5772
|
nodeVersion: process.version,
|
|
5773
5773
|
platform: process.platform,
|
|
5774
5774
|
arch: process.arch,
|
|
@@ -9129,6 +9129,23 @@ async function fetchClaudeQuota() {
|
|
|
9129
9129
|
|
|
9130
9130
|
// src/services/spawn-and-capture.ts
|
|
9131
9131
|
var import_child_process6 = require("child_process");
|
|
9132
|
+
var activeChildren = /* @__PURE__ */ new Set();
|
|
9133
|
+
function killActiveSpawnAndCaptureChildren() {
|
|
9134
|
+
for (const child of activeChildren) {
|
|
9135
|
+
try {
|
|
9136
|
+
child.kill("SIGTERM");
|
|
9137
|
+
} catch {
|
|
9138
|
+
}
|
|
9139
|
+
}
|
|
9140
|
+
setTimeout(() => {
|
|
9141
|
+
for (const child of activeChildren) {
|
|
9142
|
+
try {
|
|
9143
|
+
child.kill("SIGKILL");
|
|
9144
|
+
} catch {
|
|
9145
|
+
}
|
|
9146
|
+
}
|
|
9147
|
+
}, 250).unref?.();
|
|
9148
|
+
}
|
|
9132
9149
|
async function spawnAndCapture(cmd, args2, opts = {}) {
|
|
9133
9150
|
const timeoutMs = opts.timeoutMs ?? 6e4;
|
|
9134
9151
|
return new Promise((resolve5) => {
|
|
@@ -9149,6 +9166,7 @@ async function spawnAndCapture(cmd, args2, opts = {}) {
|
|
|
9149
9166
|
settle(null);
|
|
9150
9167
|
return;
|
|
9151
9168
|
}
|
|
9169
|
+
activeChildren.add(child);
|
|
9152
9170
|
let stdout = "";
|
|
9153
9171
|
child.stdout?.on("data", (chunk) => {
|
|
9154
9172
|
stdout += chunk.toString("utf8");
|
|
@@ -9166,10 +9184,12 @@ async function spawnAndCapture(cmd, args2, opts = {}) {
|
|
|
9166
9184
|
timer.unref();
|
|
9167
9185
|
child.on("error", () => {
|
|
9168
9186
|
clearTimeout(timer);
|
|
9187
|
+
activeChildren.delete(child);
|
|
9169
9188
|
settle(null);
|
|
9170
9189
|
});
|
|
9171
9190
|
child.on("exit", (code) => {
|
|
9172
9191
|
clearTimeout(timer);
|
|
9192
|
+
activeChildren.delete(child);
|
|
9173
9193
|
if (code !== 0) {
|
|
9174
9194
|
settle(null);
|
|
9175
9195
|
return;
|
|
@@ -15715,6 +15735,7 @@ async function start(requestedAgent) {
|
|
|
15715
15735
|
void streamingEmitter?.stop();
|
|
15716
15736
|
closeAllTerminals();
|
|
15717
15737
|
cleanupAttachmentTempFiles();
|
|
15738
|
+
killActiveSpawnAndCaptureChildren();
|
|
15718
15739
|
process.exit(code);
|
|
15719
15740
|
}
|
|
15720
15741
|
}
|
|
@@ -15760,6 +15781,7 @@ async function start(requestedAgent) {
|
|
|
15760
15781
|
void streamingEmitter?.stop();
|
|
15761
15782
|
closeAllTerminals();
|
|
15762
15783
|
cleanupAttachmentTempFiles();
|
|
15784
|
+
killActiveSpawnAndCaptureChildren();
|
|
15763
15785
|
void shutdownTelemetry();
|
|
15764
15786
|
process.exit(0);
|
|
15765
15787
|
}
|
|
@@ -18304,7 +18326,7 @@ function checkChokidar() {
|
|
|
18304
18326
|
}
|
|
18305
18327
|
async function doctor(args2 = []) {
|
|
18306
18328
|
const json = args2.includes("--json");
|
|
18307
|
-
const cliVersion = true ? "2.23.
|
|
18329
|
+
const cliVersion = true ? "2.23.3" : "0.0.0-dev";
|
|
18308
18330
|
const apiBase = resolveApiBaseUrl();
|
|
18309
18331
|
const diagnosticId = (0, import_node_crypto5.randomUUID)();
|
|
18310
18332
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -18503,7 +18525,7 @@ async function completion(args2) {
|
|
|
18503
18525
|
// src/commands/version.ts
|
|
18504
18526
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
18505
18527
|
function version2() {
|
|
18506
|
-
const v = true ? "2.23.
|
|
18528
|
+
const v = true ? "2.23.3" : "unknown";
|
|
18507
18529
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
18508
18530
|
}
|
|
18509
18531
|
|
|
@@ -18731,7 +18753,7 @@ function checkForUpdates() {
|
|
|
18731
18753
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
18732
18754
|
if (process.env.CI) return;
|
|
18733
18755
|
if (!process.stdout.isTTY) return;
|
|
18734
|
-
const current = true ? "2.23.
|
|
18756
|
+
const current = true ? "2.23.3" : null;
|
|
18735
18757
|
if (!current) return;
|
|
18736
18758
|
const cache = readCache();
|
|
18737
18759
|
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.23.
|
|
3
|
+
"version": "2.23.3",
|
|
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",
|