codeam-cli 2.73.4 → 2.73.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.73.4] — 2026-09-03
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** MCP startup budget that fits our shim + stop the baton mirror replaying history as live turns (#686)
12
+
7
13
  ## [2.73.3] — 2026-09-02
8
14
 
9
15
  ### Fixed
package/dist/index.js CHANGED
@@ -1872,8 +1872,27 @@ var INTEGRATION_REGISTRY = {
1872
1872
  mcp: {
1873
1873
  // Postman's OFFICIAL stdio MCP server (Node). BYO key via POSTMAN_API_KEY
1874
1874
  // (env only). Version PINNED; bump only after re-verifying headless.
1875
+ //
1876
+ // ⚠️ `--ignore-scripts` IS LOAD-BEARING — without it this integration
1877
+ // does not work at all, on any box, and never did. The package declares
1878
+ // a `preinstall` guard of `npx only-allow pnpm`, so npm REFUSES to
1879
+ // install it:
1880
+ // info run @postman/postman-mcp-server@2.11.2 preinstall npx only-allow pnpm
1881
+ // info run @postman/postman-mcp-server@2.11.2 preinstall { code: 1 }
1882
+ // and `npx -y @postman/postman-mcp-server@2.11.2` exits 1 before the
1883
+ // server is ever reached — which the agent reports as
1884
+ // `Server "postman" is not connected`, indistinguishable from a slow
1885
+ // start (found while pre-warming the box image, 2026-09-03; the user's
1886
+ // report was "Postman: idem", alongside clickup/trello, whose cause was
1887
+ // entirely different).
1888
+ //
1889
+ // Skipping scripts is safe here: the guard is the only preinstall step
1890
+ // and the published tarball already ships the built
1891
+ // `dist/src/index.js` its `bin` points at. Verified on node:22-slim:
1892
+ // `npx -y <pkg>` → exit 1; `npx -y --ignore-scripts <pkg>` with a key in
1893
+ // the env → starts; and warmed once, the bin resolves offline.
1875
1894
  command: "npx",
1876
- args: ["-y", "@postman/postman-mcp-server@2.11.2"],
1895
+ args: ["-y", "--ignore-scripts", "@postman/postman-mcp-server@2.11.2"],
1877
1896
  envMapping: {
1878
1897
  POSTMAN_API_KEY: "accessToken"
1879
1898
  }
@@ -8097,7 +8116,7 @@ function readAnonId() {
8097
8116
  }
8098
8117
  function superProperties() {
8099
8118
  return {
8100
- cliVersion: true ? "2.73.4" : "0.0.0-dev",
8119
+ cliVersion: true ? "2.73.5" : "0.0.0-dev",
8101
8120
  nodeVersion: process.version,
8102
8121
  platform: process.platform,
8103
8122
  arch: process.arch,
@@ -8339,7 +8358,7 @@ var http = __toESM(require("http"));
8339
8358
  // package.json
8340
8359
  var package_default = {
8341
8360
  name: "codeam-cli",
8342
- version: "2.73.4",
8361
+ version: "2.73.5",
8343
8362
  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.",
8344
8363
  type: "commonjs",
8345
8364
  main: "dist/index.js",
@@ -9932,7 +9951,7 @@ var CommandRelayService = class _CommandRelayService {
9932
9951
  // fresh + clear the "CLI update available" banner after a self-update
9933
9952
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
9934
9953
  // pair/reconnect). Older backends ignore the extra field.
9935
- ..."2.73.4" ? { ideVersion: "2.73.4" } : {}
9954
+ ..."2.73.5" ? { ideVersion: "2.73.5" } : {}
9936
9955
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
9937
9956
  }
9938
9957
  /**
@@ -22208,7 +22227,7 @@ async function autoUpgradeBeforeCriticalCommand() {
22208
22227
  if (process.env.NODE_ENV === "test") return;
22209
22228
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
22210
22229
  if (process.env.CI) return;
22211
- const current2 = true ? "2.73.4" : null;
22230
+ const current2 = true ? "2.73.5" : null;
22212
22231
  if (!current2) return;
22213
22232
  const cache = readCache();
22214
22233
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -22225,7 +22244,7 @@ function checkForUpdates() {
22225
22244
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
22226
22245
  if (process.env.CI) return;
22227
22246
  if (!process.stdout.isTTY) return;
22228
- const current2 = true ? "2.73.4" : null;
22247
+ const current2 = true ? "2.73.5" : null;
22229
22248
  if (!current2) return;
22230
22249
  const cache = readCache();
22231
22250
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -22248,7 +22267,7 @@ var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
22248
22267
  var SELF_UPDATE_LS_TIMEOUT_MS = 15e3;
22249
22268
  var SUDO_PREFLIGHT_TIMEOUT_MS = 5e3;
22250
22269
  function currentCliVersion() {
22251
- return true ? "2.73.4" : null;
22270
+ return true ? "2.73.5" : null;
22252
22271
  }
22253
22272
  async function installedVersion(deps) {
22254
22273
  const ls = await deps.run(
@@ -47099,7 +47118,7 @@ function checkChokidar() {
47099
47118
  }
47100
47119
  async function doctor(args2 = []) {
47101
47120
  const json = args2.includes("--json");
47102
- const cliVersion = true ? "2.73.4" : "0.0.0-dev";
47121
+ const cliVersion = true ? "2.73.5" : "0.0.0-dev";
47103
47122
  const apiBase2 = resolveApiBaseUrl();
47104
47123
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
47105
47124
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -47494,6 +47513,11 @@ function specOf(delivery) {
47494
47513
  const spec = (delivery.args ?? []).find((a) => !a.startsWith("-"));
47495
47514
  return spec ?? null;
47496
47515
  }
47516
+ function launcherFlagsOf(delivery) {
47517
+ const args2 = delivery.args ?? [];
47518
+ const specIndex = args2.findIndex((a) => !a.startsWith("-"));
47519
+ return specIndex === -1 ? [...args2] : args2.slice(0, specIndex);
47520
+ }
47497
47521
  function warmTargets() {
47498
47522
  const bySpec = /* @__PURE__ */ new Map();
47499
47523
  for (const integration of getEnabledIntegrations()) {
@@ -47502,14 +47526,20 @@ function warmTargets() {
47502
47526
  const spec = specOf(delivery);
47503
47527
  if (!spec) continue;
47504
47528
  if (!bySpec.has(spec)) {
47505
- bySpec.set(spec, { id: integration.id, launcher: delivery.command, spec });
47529
+ bySpec.set(spec, {
47530
+ id: integration.id,
47531
+ launcher: delivery.command,
47532
+ flags: launcherFlagsOf(delivery),
47533
+ spec
47534
+ });
47506
47535
  }
47507
47536
  }
47508
47537
  return [...bySpec.values()];
47509
47538
  }
47510
47539
  function warmCommand(target) {
47511
47540
  if (target.launcher === "npx") {
47512
- return { command: "npx", args: ["-y", "--package", target.spec, "-c", "true"] };
47541
+ const extra = target.flags.filter((f) => f !== "-y");
47542
+ return { command: "npx", args: ["-y", ...extra, "--package", target.spec, "-c", "true"] };
47513
47543
  }
47514
47544
  if (target.launcher === "uvx") {
47515
47545
  return { command: "uv", args: ["tool", "install", target.spec] };
@@ -47540,7 +47570,9 @@ async function mcpWarm(argv = []) {
47540
47570
  result.warmed.push(target.spec);
47541
47571
  console.log(` OK ${target.spec} (${secs}s)`);
47542
47572
  } else {
47543
- const reason = run.error?.message ?? (run.stderr ?? "").trim().split("\n").slice(-1)[0] ?? `exit ${String(run.status)}`;
47573
+ const noise = /^npm (warn|notice)\b/;
47574
+ const lines = (run.stderr ?? "").split("\n").map((l) => l.trim()).filter((l) => l.length > 0 && !noise.test(l));
47575
+ const reason = run.error?.message ?? lines[lines.length - 1] ?? `exit ${String(run.status)} (no stderr)`;
47544
47576
  result.failed.push({ spec: target.spec, reason });
47545
47577
  console.log(` MISS ${target.spec} (${secs}s) \u2014 fetched at runtime instead: ${reason}`);
47546
47578
  }
@@ -47557,7 +47589,7 @@ async function mcpWarm(argv = []) {
47557
47589
  // src/commands/version.ts
47558
47590
  var import_picocolors15 = __toESM(require("picocolors"));
47559
47591
  function version2() {
47560
- const v = true ? "2.73.4" : "unknown";
47592
+ const v = true ? "2.73.5" : "unknown";
47561
47593
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
47562
47594
  }
47563
47595
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.73.4",
3
+ "version": "2.73.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",