codeam-cli 2.28.0 → 2.28.1
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 +17 -0
- package/dist/index.js +15 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,23 @@ 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.28.0] — 2026-06-06
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Auto-update on stale version + re-exec into new binary
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **cli:** IDE terminal output + Save round-trip on ACP sessions
|
|
16
|
+
- **cli:** File-watcher honors .gitignore per-repo
|
|
17
|
+
- **cli:** Refresh pluginAuthToken on boot to survive JWT_SECRET rotation
|
|
18
|
+
- **cli:** Use /pairing/reconnect on boot to refresh token + activate session
|
|
19
|
+
|
|
20
|
+
### Diag
|
|
21
|
+
|
|
22
|
+
- **cli:** Log boot triple + on-401 triple to isolate INVALID_PLUGIN_TOKEN
|
|
23
|
+
|
|
7
24
|
## [2.27.16] — 2026-06-06
|
|
8
25
|
|
|
9
26
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -498,7 +498,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
|
|
|
498
498
|
// package.json
|
|
499
499
|
var package_default = {
|
|
500
500
|
name: "codeam-cli",
|
|
501
|
-
version: "2.28.
|
|
501
|
+
version: "2.28.1",
|
|
502
502
|
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.",
|
|
503
503
|
type: "commonjs",
|
|
504
504
|
main: "dist/index.js",
|
|
@@ -692,12 +692,13 @@ function computePollDelay({ baseMs, failures }) {
|
|
|
692
692
|
|
|
693
693
|
// src/services/pairing.service.ts
|
|
694
694
|
var API_BASE = resolveApiBaseUrl();
|
|
695
|
+
var REQUEST_CODE_TIMEOUT_MS = 1e4;
|
|
695
696
|
async function requestCode(pluginId) {
|
|
696
697
|
try {
|
|
697
698
|
const runtime = process.env.CODESPACES === "true" ? "github-codespaces" : "local";
|
|
698
699
|
const codespaceName = process.env.CODESPACE_NAME;
|
|
699
700
|
const branch = detectCurrentBranch();
|
|
700
|
-
const
|
|
701
|
+
const post2 = _transport.postJson(`${API_BASE}/api/pairing/code`, {
|
|
701
702
|
pluginId,
|
|
702
703
|
ideName: "Terminal (codeam-cli)",
|
|
703
704
|
ideVersion: package_default.version,
|
|
@@ -706,6 +707,14 @@ async function requestCode(pluginId) {
|
|
|
706
707
|
branch,
|
|
707
708
|
...codespaceName ? { codespaceName } : {}
|
|
708
709
|
});
|
|
710
|
+
let timer;
|
|
711
|
+
const timeoutSentinel = /* @__PURE__ */ Symbol("request-code-timeout");
|
|
712
|
+
const timeoutPromise = new Promise((resolve6) => {
|
|
713
|
+
timer = setTimeout(() => resolve6(timeoutSentinel), REQUEST_CODE_TIMEOUT_MS);
|
|
714
|
+
});
|
|
715
|
+
const result = await Promise.race([post2, timeoutPromise]);
|
|
716
|
+
clearTimeout(timer);
|
|
717
|
+
if (result === timeoutSentinel) return null;
|
|
709
718
|
const data = result?.data;
|
|
710
719
|
if (!data?.code) return null;
|
|
711
720
|
return { code: data.code, expiresAt: data.expiresAt };
|
|
@@ -5888,7 +5897,7 @@ function readAnonId() {
|
|
|
5888
5897
|
}
|
|
5889
5898
|
function superProperties() {
|
|
5890
5899
|
return {
|
|
5891
|
-
cliVersion: true ? "2.28.
|
|
5900
|
+
cliVersion: true ? "2.28.1" : "0.0.0-dev",
|
|
5892
5901
|
nodeVersion: process.version,
|
|
5893
5902
|
platform: process.platform,
|
|
5894
5903
|
arch: process.arch,
|
|
@@ -24670,7 +24679,7 @@ function checkChokidar() {
|
|
|
24670
24679
|
}
|
|
24671
24680
|
async function doctor(args2 = []) {
|
|
24672
24681
|
const json = args2.includes("--json");
|
|
24673
|
-
const cliVersion = true ? "2.28.
|
|
24682
|
+
const cliVersion = true ? "2.28.1" : "0.0.0-dev";
|
|
24674
24683
|
const apiBase = resolveApiBaseUrl();
|
|
24675
24684
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
24676
24685
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -24869,7 +24878,7 @@ async function completion(args2) {
|
|
|
24869
24878
|
// src/commands/version.ts
|
|
24870
24879
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
24871
24880
|
function version2() {
|
|
24872
|
-
const v = true ? "2.28.
|
|
24881
|
+
const v = true ? "2.28.1" : "unknown";
|
|
24873
24882
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
24874
24883
|
}
|
|
24875
24884
|
|
|
@@ -25155,7 +25164,7 @@ function checkForUpdates() {
|
|
|
25155
25164
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
25156
25165
|
if (process.env.CI) return;
|
|
25157
25166
|
if (!process.stdout.isTTY) return;
|
|
25158
|
-
const current = true ? "2.28.
|
|
25167
|
+
const current = true ? "2.28.1" : null;
|
|
25159
25168
|
if (!current) return;
|
|
25160
25169
|
const cache = readCache();
|
|
25161
25170
|
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.28.
|
|
3
|
+
"version": "2.28.1",
|
|
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",
|