codeam-cli 2.39.85 → 2.39.86
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 -18
- 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.39.85] — 2026-06-23
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Isolate house agent's Claude config on self-hosted boxes
|
|
12
|
+
|
|
7
13
|
## [2.39.84] — 2026-06-22
|
|
8
14
|
|
|
9
15
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -5390,7 +5390,7 @@ function readAnonId() {
|
|
|
5390
5390
|
}
|
|
5391
5391
|
function superProperties() {
|
|
5392
5392
|
return {
|
|
5393
|
-
cliVersion: true ? "2.39.
|
|
5393
|
+
cliVersion: true ? "2.39.86" : "0.0.0-dev",
|
|
5394
5394
|
nodeVersion: process.version,
|
|
5395
5395
|
platform: process.platform,
|
|
5396
5396
|
arch: process.arch,
|
|
@@ -5549,7 +5549,7 @@ var os4 = __toESM(require("os"));
|
|
|
5549
5549
|
// package.json
|
|
5550
5550
|
var package_default = {
|
|
5551
5551
|
name: "codeam-cli",
|
|
5552
|
-
version: "2.39.
|
|
5552
|
+
version: "2.39.86",
|
|
5553
5553
|
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.",
|
|
5554
5554
|
type: "commonjs",
|
|
5555
5555
|
main: "dist/index.js",
|
|
@@ -17704,7 +17704,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17704
17704
|
if (process.env.NODE_ENV === "test") return;
|
|
17705
17705
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17706
17706
|
if (process.env.CI) return;
|
|
17707
|
-
const current = true ? "2.39.
|
|
17707
|
+
const current = true ? "2.39.86" : null;
|
|
17708
17708
|
if (!current) return;
|
|
17709
17709
|
const cache = readCache();
|
|
17710
17710
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17721,7 +17721,7 @@ function checkForUpdates() {
|
|
|
17721
17721
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17722
17722
|
if (process.env.CI) return;
|
|
17723
17723
|
if (!process.stdout.isTTY) return;
|
|
17724
|
-
const current = true ? "2.39.
|
|
17724
|
+
const current = true ? "2.39.86" : null;
|
|
17725
17725
|
if (!current) return;
|
|
17726
17726
|
const cache = readCache();
|
|
17727
17727
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -18159,7 +18159,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
|
|
|
18159
18159
|
detached: false
|
|
18160
18160
|
});
|
|
18161
18161
|
function currentCliVersion() {
|
|
18162
|
-
return true ? "2.39.
|
|
18162
|
+
return true ? "2.39.86" : null;
|
|
18163
18163
|
}
|
|
18164
18164
|
function runCmd(cmd, args2, timeoutMs) {
|
|
18165
18165
|
return new Promise((resolve7) => {
|
|
@@ -24531,6 +24531,22 @@ function failureBubble(opts) {
|
|
|
24531
24531
|
if (!opts.hadText) return TURN_FAILURE_MESSAGE;
|
|
24532
24532
|
return null;
|
|
24533
24533
|
}
|
|
24534
|
+
async function reportCredentialInvalid(opts, fetchImpl = fetch) {
|
|
24535
|
+
try {
|
|
24536
|
+
await fetchImpl(
|
|
24537
|
+
`${resolveApiBaseUrl()}/api/plugin/agents/${encodeURIComponent(opts.agent)}/credential-invalid`,
|
|
24538
|
+
{
|
|
24539
|
+
method: "POST",
|
|
24540
|
+
headers: {
|
|
24541
|
+
"Content-Type": "application/json",
|
|
24542
|
+
"X-Plugin-Auth-Token": opts.pluginAuthToken
|
|
24543
|
+
},
|
|
24544
|
+
body: JSON.stringify({ sessionId: opts.sessionId, pluginId: opts.pluginId })
|
|
24545
|
+
}
|
|
24546
|
+
);
|
|
24547
|
+
} catch {
|
|
24548
|
+
}
|
|
24549
|
+
}
|
|
24534
24550
|
async function handleGetConversation(args2) {
|
|
24535
24551
|
const { relay, commandId, jsonlHistory, acpSessionId } = args2;
|
|
24536
24552
|
try {
|
|
@@ -24619,17 +24635,7 @@ async function runAcpSession(opts) {
|
|
|
24619
24635
|
log.warn("acpRunner", `adapter died code=${code} signal=${signal}; shutting down session`);
|
|
24620
24636
|
const authFail = looksLikeAuthFailure(recentStderr.join("\n"));
|
|
24621
24637
|
if (authFail) {
|
|
24622
|
-
void
|
|
24623
|
-
`${resolveApiBaseUrl()}/api/plugin/agents/${encodeURIComponent(opts.agent)}/credential-invalid`,
|
|
24624
|
-
{
|
|
24625
|
-
method: "POST",
|
|
24626
|
-
headers: {
|
|
24627
|
-
"Content-Type": "application/json",
|
|
24628
|
-
"X-Plugin-Auth-Token": opts.pluginAuthToken
|
|
24629
|
-
},
|
|
24630
|
-
body: JSON.stringify({ sessionId: opts.sessionId, pluginId: opts.pluginId })
|
|
24631
|
-
}
|
|
24632
|
-
).catch(() => void 0);
|
|
24638
|
+
void reportCredentialInvalid(opts);
|
|
24633
24639
|
}
|
|
24634
24640
|
void streaming.closeAll().then(
|
|
24635
24641
|
() => publisher.publishOutput({
|
|
@@ -24822,6 +24828,9 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
|
|
|
24822
24828
|
history.appendAgentReply(bubble);
|
|
24823
24829
|
void history.flush();
|
|
24824
24830
|
}
|
|
24831
|
+
if (bubble === AUTH_FAILURE_MESSAGE) {
|
|
24832
|
+
void reportCredentialInvalid(opts);
|
|
24833
|
+
}
|
|
24825
24834
|
await relay.sendResult(cmd.id, "failed", { error: detail });
|
|
24826
24835
|
}
|
|
24827
24836
|
return;
|
|
@@ -28970,7 +28979,7 @@ function checkChokidar() {
|
|
|
28970
28979
|
}
|
|
28971
28980
|
async function doctor(args2 = []) {
|
|
28972
28981
|
const json = args2.includes("--json");
|
|
28973
|
-
const cliVersion = true ? "2.39.
|
|
28982
|
+
const cliVersion = true ? "2.39.86" : "0.0.0-dev";
|
|
28974
28983
|
const apiBase2 = resolveApiBaseUrl();
|
|
28975
28984
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
28976
28985
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -29169,7 +29178,7 @@ async function completion(args2) {
|
|
|
29169
29178
|
// src/commands/version.ts
|
|
29170
29179
|
var import_picocolors14 = __toESM(require("picocolors"));
|
|
29171
29180
|
function version2() {
|
|
29172
|
-
const v = true ? "2.39.
|
|
29181
|
+
const v = true ? "2.39.86" : "unknown";
|
|
29173
29182
|
console.log(`${import_picocolors14.default.bold("codeam-cli")} ${import_picocolors14.default.cyan(v)}`);
|
|
29174
29183
|
}
|
|
29175
29184
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.39.
|
|
3
|
+
"version": "2.39.86",
|
|
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",
|