codeam-cli 2.12.17 → 2.13.0

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,13 @@ 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.12.17] — 2026-05-16
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Submit multi-line composer prompts; document new commands + env vars
12
+ - **vsc-plugin:** Replace placeholder activity bar icon with branded </> mark
13
+
7
14
  ## [2.12.16] — 2026-05-15
8
15
 
9
16
  ### Documentation
package/dist/index.js CHANGED
@@ -1689,7 +1689,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
1689
1689
  // package.json
1690
1690
  var package_default = {
1691
1691
  name: "codeam-cli",
1692
- version: "2.12.17",
1692
+ version: "2.13.0",
1693
1693
  description: "Remote control Claude Code (and other AI coding agents) from your mobile phone. Pair your device, send prompts, stream responses in real-time, and approve commands \u2014 from anywhere.",
1694
1694
  type: "commonjs",
1695
1695
  main: "dist/index.js",
@@ -1817,6 +1817,12 @@ var https = __toESM(require("https"));
1817
1817
  var http = __toESM(require("http"));
1818
1818
  var os2 = __toESM(require("os"));
1819
1819
 
1820
+ // src/lib/backend-headers.ts
1821
+ function vercelBypassHeader() {
1822
+ const token = process.env.CODEAM_VERCEL_BYPASS;
1823
+ return token ? { "x-vercel-protection-bypass": token } : {};
1824
+ }
1825
+
1820
1826
  // src/lib/poll-delay.ts
1821
1827
  var MAX_DELAY_MS = 3e4;
1822
1828
  function computePollDelay({ baseMs, failures }) {
@@ -1915,7 +1921,8 @@ async function _postJson(url, body) {
1915
1921
  method: "POST",
1916
1922
  headers: {
1917
1923
  "Content-Type": "application/json",
1918
- "Content-Length": Buffer.byteLength(data)
1924
+ "Content-Length": Buffer.byteLength(data),
1925
+ ...vercelBypassHeader()
1919
1926
  },
1920
1927
  timeout: 1e4
1921
1928
  },
@@ -1957,6 +1964,7 @@ async function _getJson(url) {
1957
1964
  port: u2.port || (u2.protocol === "https:" ? 443 : 80),
1958
1965
  path: u2.pathname + u2.search,
1959
1966
  method: "GET",
1967
+ headers: { ...vercelBypassHeader() },
1960
1968
  timeout: 1e4
1961
1969
  },
1962
1970
  (res) => {
@@ -2111,7 +2119,7 @@ var CommandRelayService = class {
2111
2119
  port: url.port || (url.protocol === "https:" ? 443 : 80),
2112
2120
  path: `${url.pathname}${url.search}`,
2113
2121
  method: "GET",
2114
- headers: { Accept: "text/event-stream", "Cache-Control": "no-cache" },
2122
+ headers: { Accept: "text/event-stream", "Cache-Control": "no-cache", ...vercelBypassHeader() },
2115
2123
  timeout: 35e3
2116
2124
  },
2117
2125
  (res) => {
@@ -6468,7 +6476,8 @@ var ChunkEmitter = class {
6468
6476
  // it can route legacy translations / 426 us when we're
6469
6477
  // too far behind. Bumped to 2.0.0 with the discriminated-
6470
6478
  // chunk + delta-chrome refactor in this release.
6471
- "X-Codeam-Protocol-Version": "2.0.0"
6479
+ "X-Codeam-Protocol-Version": "2.0.0",
6480
+ ...vercelBypassHeader()
6472
6481
  };
6473
6482
  if (opts.pluginAuthToken) {
6474
6483
  this.headers["X-Plugin-Auth-Token"] = opts.pluginAuthToken;
@@ -6983,7 +6992,8 @@ function post(endpoint, body) {
6983
6992
  method: "POST",
6984
6993
  headers: {
6985
6994
  "Content-Type": "application/json",
6986
- "Content-Length": Buffer.byteLength(payload)
6995
+ "Content-Length": Buffer.byteLength(payload),
6996
+ ...vercelBypassHeader()
6987
6997
  },
6988
6998
  timeout: 15e3
6989
6999
  },
@@ -8427,7 +8437,7 @@ async function claim(token, pluginId) {
8427
8437
  };
8428
8438
  const res = await fetch(url, {
8429
8439
  method: "POST",
8430
- headers: { "Content-Type": "application/json" },
8440
+ headers: { "Content-Type": "application/json", ...vercelBypassHeader() },
8431
8441
  body: JSON.stringify(body)
8432
8442
  });
8433
8443
  const json = await res.json();
@@ -10515,7 +10525,7 @@ async function stopWorkspaceFromLocal(target) {
10515
10525
  // src/commands/version.ts
10516
10526
  var import_picocolors11 = __toESM(require("picocolors"));
10517
10527
  function version() {
10518
- const v = true ? "2.12.17" : "unknown";
10528
+ const v = true ? "2.13.0" : "unknown";
10519
10529
  console.log(`${import_picocolors11.default.bold("codeam-cli")} ${import_picocolors11.default.cyan(v)}`);
10520
10530
  }
10521
10531
 
@@ -10654,7 +10664,7 @@ function checkForUpdates() {
10654
10664
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
10655
10665
  if (process.env.CI) return;
10656
10666
  if (!process.stdout.isTTY) return;
10657
- const current = true ? "2.12.17" : null;
10667
+ const current = true ? "2.13.0" : null;
10658
10668
  if (!current) return;
10659
10669
  const cache = readCache();
10660
10670
  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.12.17",
3
+ "version": "2.13.0",
4
4
  "description": "Remote control Claude Code (and other AI coding agents) from your mobile phone. Pair your device, send prompts, stream responses in real-time, and approve commands — from anywhere.",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",