codeam-cli 2.52.3 → 2.52.5

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 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.52.3] — 2026-06-30
8
+
9
+ ### Added
10
+
11
+ - **cli:** Emit static quick-reply chips from ACP runner on normal turn end
12
+
7
13
  ## [2.52.2] — 2026-06-30
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -5397,7 +5397,7 @@ function readAnonId() {
5397
5397
  }
5398
5398
  function superProperties() {
5399
5399
  return {
5400
- cliVersion: true ? "2.52.3" : "0.0.0-dev",
5400
+ cliVersion: true ? "2.52.5" : "0.0.0-dev",
5401
5401
  nodeVersion: process.version,
5402
5402
  platform: process.platform,
5403
5403
  arch: process.arch,
@@ -5578,7 +5578,7 @@ var os4 = __toESM(require("os"));
5578
5578
  // package.json
5579
5579
  var package_default = {
5580
5580
  name: "codeam-cli",
5581
- version: "2.52.3",
5581
+ version: "2.52.5",
5582
5582
  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.",
5583
5583
  type: "commonjs",
5584
5584
  main: "dist/index.js",
@@ -13920,13 +13920,26 @@ var path36 = __toESM(require("path"));
13920
13920
  var import_node_fs5 = __toESM(require("fs"));
13921
13921
  var import_node_os3 = __toESM(require("os"));
13922
13922
  var import_node_child_process11 = require("child_process");
13923
+ var BROAD_WINDOWS_SIDS = [
13924
+ "*S-1-1-0",
13925
+ "*S-1-5-11",
13926
+ "*S-1-5-32-545",
13927
+ "*S-1-5-32-544",
13928
+ "*S-1-5-18"
13929
+ ];
13923
13930
  function restrictToOwner(filePath) {
13924
13931
  try {
13925
13932
  if (process.platform === "win32") {
13926
13933
  const username = import_node_os3.default.userInfo().username;
13927
13934
  (0, import_node_child_process11.execFileSync)(
13928
13935
  "icacls",
13929
- [filePath, "/inheritance:r", "/grant:r", `${username}:F`],
13936
+ [
13937
+ filePath,
13938
+ "/inheritance:r",
13939
+ "/grant:r",
13940
+ `${username}:F`,
13941
+ ...BROAD_WINDOWS_SIDS.flatMap((sid) => ["/remove", sid])
13942
+ ],
13930
13943
  { stdio: "ignore" }
13931
13944
  );
13932
13945
  } else {
@@ -14016,7 +14029,7 @@ function saveHostIdentity(identity) {
14016
14029
  encoding: "utf8",
14017
14030
  mode: 384
14018
14031
  });
14019
- fs27.chmodSync(file, 384);
14032
+ restrictToOwner(file);
14020
14033
  }
14021
14034
  var TERMINAL_ENROLL_CODES = /* @__PURE__ */ new Set(["ENROLL_TOKEN_EXPIRED", "ENROLL_TOKEN_INVALID"]);
14022
14035
  var HostHttpError = class extends Error {
@@ -14863,7 +14876,7 @@ async function autoUpgradeBeforeCriticalCommand() {
14863
14876
  if (process.env.NODE_ENV === "test") return;
14864
14877
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14865
14878
  if (process.env.CI) return;
14866
- const current = true ? "2.52.3" : null;
14879
+ const current = true ? "2.52.5" : null;
14867
14880
  if (!current) return;
14868
14881
  const cache = readCache();
14869
14882
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -14880,7 +14893,7 @@ function checkForUpdates() {
14880
14893
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
14881
14894
  if (process.env.CI) return;
14882
14895
  if (!process.stdout.isTTY) return;
14883
- const current = true ? "2.52.3" : null;
14896
+ const current = true ? "2.52.5" : null;
14884
14897
  if (!current) return;
14885
14898
  const cache = readCache();
14886
14899
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -15582,7 +15595,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process15.s
15582
15595
  detached: false
15583
15596
  });
15584
15597
  function currentCliVersion() {
15585
- return true ? "2.52.3" : null;
15598
+ return true ? "2.52.5" : null;
15586
15599
  }
15587
15600
  function runCmd(cmd, args2, timeoutMs) {
15588
15601
  return new Promise((resolve7) => {
@@ -19207,7 +19220,14 @@ var requestLinkCredentialsH = (ctx, _cmd, parsed) => {
19207
19220
  pluginId: ctx.pluginId,
19208
19221
  pluginAuthToken,
19209
19222
  method: token.method,
19210
- credential: token.credential
19223
+ credential: token.credential,
19224
+ // This handler ALWAYS rides the user's real paired session (the
19225
+ // backend pushed the request onto it), never a `codeam link`
19226
+ // throwaway. Omitting the flag made the backend delete the
19227
+ // session the user had just paired (2026-07-02 incident) — the
19228
+ // backend now also guards via its own auto-link Redis flag, but
19229
+ // the CLI must state the truth for older backends too.
19230
+ preserveSession: true
19211
19231
  });
19212
19232
  if (result.ok) {
19213
19233
  log.trace("auto-link", `vaulted ${publicId} from ${token.source}`);
@@ -31187,7 +31207,7 @@ function checkChokidar() {
31187
31207
  }
31188
31208
  async function doctor(args2 = []) {
31189
31209
  const json = args2.includes("--json");
31190
- const cliVersion = true ? "2.52.3" : "0.0.0-dev";
31210
+ const cliVersion = true ? "2.52.5" : "0.0.0-dev";
31191
31211
  const apiBase2 = resolveApiBaseUrl();
31192
31212
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
31193
31213
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -31386,7 +31406,7 @@ async function completion(args2) {
31386
31406
  // src/commands/version.ts
31387
31407
  var import_picocolors15 = __toESM(require("picocolors"));
31388
31408
  function version2() {
31389
- const v = true ? "2.52.3" : "unknown";
31409
+ const v = true ? "2.52.5" : "unknown";
31390
31410
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
31391
31411
  }
31392
31412
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.52.3",
3
+ "version": "2.52.5",
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",