codeam-cli 2.39.63 → 2.39.64
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 +41 -6
- 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.63] — 2026-06-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **acp:** Make the auth-fail message's re-auth a tappable deep-link
|
|
12
|
+
|
|
7
13
|
## [2.39.62] — 2026-06-20
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -5388,7 +5388,7 @@ function readAnonId() {
|
|
|
5388
5388
|
}
|
|
5389
5389
|
function superProperties() {
|
|
5390
5390
|
return {
|
|
5391
|
-
cliVersion: true ? "2.39.
|
|
5391
|
+
cliVersion: true ? "2.39.64" : "0.0.0-dev",
|
|
5392
5392
|
nodeVersion: process.version,
|
|
5393
5393
|
platform: process.platform,
|
|
5394
5394
|
arch: process.arch,
|
|
@@ -5547,7 +5547,7 @@ var os4 = __toESM(require("os"));
|
|
|
5547
5547
|
// package.json
|
|
5548
5548
|
var package_default = {
|
|
5549
5549
|
name: "codeam-cli",
|
|
5550
|
-
version: "2.39.
|
|
5550
|
+
version: "2.39.64",
|
|
5551
5551
|
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.",
|
|
5552
5552
|
type: "commonjs",
|
|
5553
5553
|
main: "dist/index.js",
|
|
@@ -17367,7 +17367,7 @@ function checkForUpdates() {
|
|
|
17367
17367
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17368
17368
|
if (process.env.CI) return;
|
|
17369
17369
|
if (!process.stdout.isTTY) return;
|
|
17370
|
-
const current = true ? "2.39.
|
|
17370
|
+
const current = true ? "2.39.64" : null;
|
|
17371
17371
|
if (!current) return;
|
|
17372
17372
|
const cache = readCache();
|
|
17373
17373
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17419,6 +17419,9 @@ function maybeStartHeadroomReporter(ctx) {
|
|
|
17419
17419
|
return null;
|
|
17420
17420
|
}
|
|
17421
17421
|
}
|
|
17422
|
+
function isRefreshCredentialsPayload(p2) {
|
|
17423
|
+
return typeof p2.agentId === "string" && typeof p2.sealedAgentAuth === "string";
|
|
17424
|
+
}
|
|
17422
17425
|
function isHouseProxy(v) {
|
|
17423
17426
|
if (typeof v !== "object" || v === null) return false;
|
|
17424
17427
|
const o = v;
|
|
@@ -17769,7 +17772,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process13.s
|
|
|
17769
17772
|
detached: false
|
|
17770
17773
|
});
|
|
17771
17774
|
function currentCliVersion() {
|
|
17772
|
-
return true ? "2.39.
|
|
17775
|
+
return true ? "2.39.64" : null;
|
|
17773
17776
|
}
|
|
17774
17777
|
function runCmd(cmd, args2, timeoutMs) {
|
|
17775
17778
|
return new Promise((resolve7) => {
|
|
@@ -18069,6 +18072,14 @@ var HostAgentSupervisor = class {
|
|
|
18069
18072
|
this.stopChild(cmd.payload.sessionId);
|
|
18070
18073
|
return;
|
|
18071
18074
|
}
|
|
18075
|
+
if (cmd.type === "self_hosted_refresh_credentials") {
|
|
18076
|
+
if (!isRefreshCredentialsPayload(cmd.payload)) {
|
|
18077
|
+
log.warn("host-agent", `ignoring malformed self_hosted_refresh_credentials id=${cmd.id}`);
|
|
18078
|
+
return;
|
|
18079
|
+
}
|
|
18080
|
+
await this.refreshCredentials(cmd.payload);
|
|
18081
|
+
return;
|
|
18082
|
+
}
|
|
18072
18083
|
if (cmd.type === "self_hosted_wipe") {
|
|
18073
18084
|
log.warn("host-agent", `self_hosted_wipe received id=${cmd.id} \u2014 de-provisioning`);
|
|
18074
18085
|
this.stop();
|
|
@@ -18291,6 +18302,30 @@ var HostAgentSupervisor = class {
|
|
|
18291
18302
|
}
|
|
18292
18303
|
this.children.delete(child.deployId);
|
|
18293
18304
|
}
|
|
18305
|
+
/**
|
|
18306
|
+
* Handle `self_hosted_refresh_credentials` (the user re-linked the agent).
|
|
18307
|
+
* Unseal the fresh credential and re-provision the agent's on-disk auth IN
|
|
18308
|
+
* PLACE (`provisionAgentCredentials` rewrites `~/.claude/.credentials.json`
|
|
18309
|
+
* etc.). The running pair-auto child re-reads its auth file on the next API
|
|
18310
|
+
* call, so a 401'd session recovers WITHOUT a restart — the self-hosted
|
|
18311
|
+
* parallel to the codespace `refreshAgentCredentialsOnly` sweep. Best-effort:
|
|
18312
|
+
* a failure is logged, never throws (the relay dispatch must not crash).
|
|
18313
|
+
*/
|
|
18314
|
+
async refreshCredentials(payload) {
|
|
18315
|
+
try {
|
|
18316
|
+
const auth = await this.resolveAgentAuth(this.identity, payload.sealedAgentAuth);
|
|
18317
|
+
provisionAgentCredentials(payload.agentId, auth, void 0);
|
|
18318
|
+
log.info(
|
|
18319
|
+
"host-agent",
|
|
18320
|
+
`refreshed credentials in place for agent=${payload.agentId} (${this.children.size} active child(ren))`
|
|
18321
|
+
);
|
|
18322
|
+
} catch (err) {
|
|
18323
|
+
log.warn(
|
|
18324
|
+
"host-agent",
|
|
18325
|
+
`credential refresh failed (best-effort): ${err instanceof Error ? err.message : String(err)}`
|
|
18326
|
+
);
|
|
18327
|
+
}
|
|
18328
|
+
}
|
|
18294
18329
|
};
|
|
18295
18330
|
async function resolveHostIdentity(enrollToken) {
|
|
18296
18331
|
const existing = loadHostIdentity();
|
|
@@ -28348,7 +28383,7 @@ function checkChokidar() {
|
|
|
28348
28383
|
}
|
|
28349
28384
|
async function doctor(args2 = []) {
|
|
28350
28385
|
const json = args2.includes("--json");
|
|
28351
|
-
const cliVersion = true ? "2.39.
|
|
28386
|
+
const cliVersion = true ? "2.39.64" : "0.0.0-dev";
|
|
28352
28387
|
const apiBase2 = resolveApiBaseUrl();
|
|
28353
28388
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
28354
28389
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -28547,7 +28582,7 @@ async function completion(args2) {
|
|
|
28547
28582
|
// src/commands/version.ts
|
|
28548
28583
|
var import_picocolors14 = __toESM(require("picocolors"));
|
|
28549
28584
|
function version2() {
|
|
28550
|
-
const v = true ? "2.39.
|
|
28585
|
+
const v = true ? "2.39.64" : "unknown";
|
|
28551
28586
|
console.log(`${import_picocolors14.default.bold("codeam-cli")} ${import_picocolors14.default.cyan(v)}`);
|
|
28552
28587
|
}
|
|
28553
28588
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.39.
|
|
3
|
+
"version": "2.39.64",
|
|
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",
|