codeam-cli 2.75.34 → 2.75.35

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.75.34] — 2026-09-26
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Host restart resumes a session saved without cwd by its session id (#832)
12
+
7
13
  ## [2.75.33] — 2026-09-26
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -1135,12 +1135,25 @@ var PUBLIC_TO_INTERNAL = {
1135
1135
  "managed-codex": "claude",
1136
1136
  "managed-claude": "claude"
1137
1137
  };
1138
+ var INTERNAL_TO_PUBLIC = {
1139
+ claude: "claude_code",
1140
+ codex: "codex",
1141
+ cursor: "cursor",
1142
+ aider: "aider",
1143
+ coderabbit: "coderabbit",
1144
+ gemini: "gemini",
1145
+ kimi: "kimi",
1146
+ opencode: "opencode"
1147
+ };
1138
1148
  function isPublicToInternalKey(v) {
1139
1149
  return Object.prototype.hasOwnProperty.call(PUBLIC_TO_INTERNAL, v);
1140
1150
  }
1141
1151
  function publicToInternal(publicId) {
1142
1152
  return isPublicToInternalKey(publicId) ? PUBLIC_TO_INTERNAL[publicId] : null;
1143
1153
  }
1154
+ function internalToPublic(internal) {
1155
+ return INTERNAL_TO_PUBLIC[internal] ?? null;
1156
+ }
1144
1157
  var TERMINAL_AGENT_PREFIX = "__terminal__:";
1145
1158
  var AGENT_ID_ALIASES = {
1146
1159
  claude_code: "claude",
@@ -10516,7 +10529,7 @@ function readAnonId() {
10516
10529
  }
10517
10530
  function superProperties() {
10518
10531
  return {
10519
- cliVersion: true ? "2.75.34" : "0.0.0-dev",
10532
+ cliVersion: true ? "2.75.35" : "0.0.0-dev",
10520
10533
  nodeVersion: process.version,
10521
10534
  platform: process.platform,
10522
10535
  arch: process.arch,
@@ -10758,7 +10771,7 @@ var http = __toESM(require("http"));
10758
10771
  // package.json
10759
10772
  var package_default = {
10760
10773
  name: "codeam-cli",
10761
- version: "2.75.34",
10774
+ version: "2.75.35",
10762
10775
  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.",
10763
10776
  type: "commonjs",
10764
10777
  main: "dist/index.js",
@@ -12088,7 +12101,7 @@ var CommandRelayService = class _CommandRelayService {
12088
12101
  // fresh + clear the "CLI update available" banner after a self-update
12089
12102
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
12090
12103
  // pair/reconnect). Older backends ignore the extra field.
12091
- ..."2.75.34" ? { ideVersion: "2.75.34" } : {}
12104
+ ..."2.75.35" ? { ideVersion: "2.75.35" } : {}
12092
12105
  };
12093
12106
  try {
12094
12107
  const res = await _postJson(`${API_BASE2}/api/plugin/heartbeat`, body);
@@ -12161,10 +12174,12 @@ var CommandRelayService = class _CommandRelayService {
12161
12174
  installed: true
12162
12175
  }
12163
12176
  ];
12177
+ const linkedAgentId = this.linkedAgentIdProvider?.() ?? null;
12164
12178
  _postJson(`${API_BASE2}/api/plugin/agents`, {
12165
12179
  pluginId: this.pluginId,
12166
12180
  agents,
12167
- capabilities: { squad: true }
12181
+ capabilities: { squad: true },
12182
+ ...linkedAgentId ? { linkedAgentId } : {}
12168
12183
  }).then(() => {
12169
12184
  this.agentsRegistered = true;
12170
12185
  }).catch(() => {
@@ -12175,6 +12190,16 @@ var CommandRelayService = class _CommandRelayService {
12175
12190
  * switch). Heartbeats pick the new id up on their next tick; call
12176
12191
  * {@link reannounceAgents} to push the new `/api/plugin/agents` entry.
12177
12192
  */
12193
+ /**
12194
+ * The PUBLIC id of the agent really running (`managed-codex`, `claude_code`),
12195
+ * sent alongside the runtime-keyed `agents` list. The runtime id is `claude`
12196
+ * for every managed agent, so without this a session the host RESUMED on a
12197
+ * managed agent read as the user's own Claude in the app (owner, 2026-09-26).
12198
+ */
12199
+ linkedAgentIdProvider = null;
12200
+ setLinkedAgentIdProvider(provider) {
12201
+ this.linkedAgentIdProvider = provider;
12202
+ }
12178
12203
  setAgentMeta(meta) {
12179
12204
  this.agentMeta = meta;
12180
12205
  }
@@ -42858,6 +42883,11 @@ async function runAcpSession(opts) {
42858
42883
  relay.reannounceAgents();
42859
42884
  }
42860
42885
  };
42886
+ relay.setLinkedAgentIdProvider(() => {
42887
+ if (houseActive) return isManagedProviderId(houseWireId) ? houseWireId : null;
42888
+ return internalToPublic(opts.agent);
42889
+ });
42890
+ relay.reannounceAgents();
42861
42891
  const switchAgentForSession = async (rawAgentId) => {
42862
42892
  const result = await performAgentSwitch(switchDeps, rawAgentId);
42863
42893
  if (result.ok) refreshSquadRoster();
@@ -47855,12 +47885,13 @@ function sampleCpuTimes() {
47855
47885
  }
47856
47886
  return { idle, total };
47857
47887
  }
47888
+ var MAX_REPORTED_LATENCY_MS = 6e4;
47858
47889
  var MetricsCollector = class {
47859
47890
  prevCpu = null;
47860
47891
  lastLatencyMs = 0;
47861
47892
  /** Record the measured round-trip of the heartbeat just sent. */
47862
47893
  recordLatency(latencyMs) {
47863
- this.lastLatencyMs = Math.max(0, Math.round(latencyMs));
47894
+ this.lastLatencyMs = Math.min(MAX_REPORTED_LATENCY_MS, Math.max(0, Math.round(latencyMs)));
47864
47895
  }
47865
47896
  cpuPct() {
47866
47897
  const current2 = sampleCpuTimes();
@@ -48714,7 +48745,7 @@ async function autoUpgradeBeforeCriticalCommand() {
48714
48745
  if (process.env.NODE_ENV === "test") return;
48715
48746
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
48716
48747
  if (process.env.CI) return;
48717
- const current2 = true ? "2.75.34" : null;
48748
+ const current2 = true ? "2.75.35" : null;
48718
48749
  if (!current2) return;
48719
48750
  const cache = readCache();
48720
48751
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -48731,7 +48762,7 @@ function checkForUpdates() {
48731
48762
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
48732
48763
  if (process.env.CI) return;
48733
48764
  if (!process.stdout.isTTY) return;
48734
- const current2 = true ? "2.75.34" : null;
48765
+ const current2 = true ? "2.75.35" : null;
48735
48766
  if (!current2) return;
48736
48767
  const cache = readCache();
48737
48768
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -48754,7 +48785,7 @@ var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
48754
48785
  var SELF_UPDATE_LS_TIMEOUT_MS = 15e3;
48755
48786
  var SUDO_PREFLIGHT_TIMEOUT_MS = 5e3;
48756
48787
  function currentCliVersion() {
48757
- return true ? "2.75.34" : null;
48788
+ return true ? "2.75.35" : null;
48758
48789
  }
48759
48790
  async function installedVersion(deps) {
48760
48791
  const ls = await deps.run(
@@ -50719,7 +50750,7 @@ function checkChokidar() {
50719
50750
  }
50720
50751
  async function doctor(args2 = []) {
50721
50752
  const json = args2.includes("--json");
50722
- const cliVersion = true ? "2.75.34" : "0.0.0-dev";
50753
+ const cliVersion = true ? "2.75.35" : "0.0.0-dev";
50723
50754
  const apiBase2 = resolveApiBaseUrl();
50724
50755
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
50725
50756
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -51243,7 +51274,7 @@ async function mcpWarm(argv = [], opts = {}) {
51243
51274
  // src/commands/version.ts
51244
51275
  var import_picocolors15 = __toESM(require("picocolors"));
51245
51276
  function version2() {
51246
- const v = true ? "2.75.34" : "unknown";
51277
+ const v = true ? "2.75.35" : "unknown";
51247
51278
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
51248
51279
  }
51249
51280
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.75.34",
3
+ "version": "2.75.35",
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",