codeam-cli 2.61.55 → 2.61.57

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,24 @@ 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.61.56] — 2026-07-27
8
+
9
+ ### Added
10
+
11
+ - **shared,cli:** Replace OmniRoute agent with OpenRouter ⚠️ BREAKING CHANGE
12
+
13
+ ## [2.61.55] — 2026-07-27
14
+
15
+ ### Tests
16
+
17
+ - **shared:** Drop vercel from the COMING SOON golden (now live)
18
+
19
+ ## [2.61.53] — 2026-07-27
20
+
21
+ ### Added
22
+
23
+ - **shared:** Enable Vercel integration (headless Bearer live-verified)
24
+
7
25
  ## [2.61.52] — 2026-07-27
8
26
 
9
27
  ### Added
package/dist/index.js CHANGED
@@ -531,11 +531,14 @@ var PUBLIC_TO_INTERNAL = {
531
531
  // opencode is a real, distinct agent (its own binary + ACP server) — it does
532
532
  // NOT map onto another runtime. Public id === internal id.
533
533
  opencode: "opencode",
534
- // OmniRoute runs Claude Code under the hood, pointed at the user's OmniRoute
535
- // gateway (their vaulted base URL + token) instead of the house MiniMax
536
- // proxy. Same internal runtime as the house agent `claude` differing only
537
- // in WHERE Anthropic env is pointed (a buildOmniRouteBootstrap variant).
538
- omniroute: "claude",
534
+ // OpenRouter runs Claude Code under the hood, pointed at OpenRouter's hosted
535
+ // "Anthropic Skin" (https://openrouter.ai/api native Anthropic Messages
536
+ // protocol) with the user's vaulted `sk-or-…` key as ANTHROPIC_AUTH_TOKEN,
537
+ // instead of the house MiniMax proxy. Same internal runtime as the house
538
+ // agent — `claude` — differing only in WHERE the Anthropic env is pointed (a
539
+ // buildOpenRouterBootstrap variant). The endpoint is FIXED (hosted), so there
540
+ // is no per-user base URL — just the key.
541
+ openrouter: "claude",
539
542
  // The house agent runs Claude Code under the hood (pointed at the
540
543
  // MiniMax proxy). Its internal runtime is therefore `claude`.
541
544
  [HOUSE_AGENT_ID]: "claude"
@@ -1230,6 +1233,49 @@ var INTEGRATION_REGISTRY = {
1230
1233
  httpHeaders: { Authorization: "Bearer {accessToken}" }
1231
1234
  }
1232
1235
  }
1236
+ },
1237
+ trello: {
1238
+ id: "trello",
1239
+ name: "Trello",
1240
+ icon: "trello",
1241
+ category: "tracker",
1242
+ // LIVE — api_key rail (like Azure DevOps). Trello's auth is a developer API
1243
+ // key + a user token, NOT an OAuth2 code exchange: its token returns via a
1244
+ // URL fragment / OAuth 1.0a, incompatible with our server-side broker. The
1245
+ // user pastes both; the backend validates against the Trello REST API and
1246
+ // vaults them. No OAuth app, no GSM secrets, no config-gated 503.
1247
+ enabled: true,
1248
+ auth: {
1249
+ kind: "api_key",
1250
+ fields: [
1251
+ {
1252
+ key: "apiKey",
1253
+ label: "API Key",
1254
+ placeholder: "Your Trello API key",
1255
+ secret: false,
1256
+ help: "Create a Power-Up at https://trello.com/power-ups/admin and copy its API key."
1257
+ },
1258
+ {
1259
+ key: "accessToken",
1260
+ label: "Token",
1261
+ placeholder: "Your Trello token",
1262
+ secret: true,
1263
+ help: 'On the API-key page, click the "Token" link to authorize + generate a token (scope read,write, never-expiring).'
1264
+ }
1265
+ ]
1266
+ },
1267
+ delivery: {
1268
+ mcp: {
1269
+ // mcp-server-trello (Node): TRELLO_API_KEY + TRELLO_TOKEN via env only,
1270
+ // never argv. Version PINNED; bump only after re-verifying headless.
1271
+ command: "npx",
1272
+ args: ["-y", "mcp-server-trello@1.0.4"],
1273
+ envMapping: {
1274
+ TRELLO_API_KEY: "apiKey",
1275
+ TRELLO_TOKEN: "accessToken"
1276
+ }
1277
+ }
1278
+ }
1233
1279
  }
1234
1280
  };
1235
1281
  function getIntegration(id) {
@@ -6675,7 +6721,7 @@ function readAnonId() {
6675
6721
  }
6676
6722
  function superProperties() {
6677
6723
  return {
6678
- cliVersion: true ? "2.61.55" : "0.0.0-dev",
6724
+ cliVersion: true ? "2.61.57" : "0.0.0-dev",
6679
6725
  nodeVersion: process.version,
6680
6726
  platform: process.platform,
6681
6727
  arch: process.arch,
@@ -6856,7 +6902,7 @@ var os4 = __toESM(require("os"));
6856
6902
  // package.json
6857
6903
  var package_default = {
6858
6904
  name: "codeam-cli",
6859
- version: "2.61.55",
6905
+ version: "2.61.57",
6860
6906
  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.",
6861
6907
  type: "commonjs",
6862
6908
  main: "dist/index.js",
@@ -8028,7 +8074,7 @@ var CommandRelayService = class _CommandRelayService {
8028
8074
  // fresh + clear the "CLI update available" banner after a self-update
8029
8075
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
8030
8076
  // pair/reconnect). Older backends ignore the extra field.
8031
- ..."2.61.55" ? { ideVersion: "2.61.55" } : {}
8077
+ ..."2.61.57" ? { ideVersion: "2.61.57" } : {}
8032
8078
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
8033
8079
  }
8034
8080
  /**
@@ -19137,7 +19183,7 @@ async function autoUpgradeBeforeCriticalCommand() {
19137
19183
  if (process.env.NODE_ENV === "test") return;
19138
19184
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19139
19185
  if (process.env.CI) return;
19140
- const current = true ? "2.61.55" : null;
19186
+ const current = true ? "2.61.57" : null;
19141
19187
  if (!current) return;
19142
19188
  const cache = readCache();
19143
19189
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19154,7 +19200,7 @@ function checkForUpdates() {
19154
19200
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19155
19201
  if (process.env.CI) return;
19156
19202
  if (!process.stdout.isTTY) return;
19157
- const current = true ? "2.61.55" : null;
19203
+ const current = true ? "2.61.57" : null;
19158
19204
  if (!current) return;
19159
19205
  const cache = readCache();
19160
19206
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19174,7 +19220,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
19174
19220
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
19175
19221
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
19176
19222
  function currentCliVersion() {
19177
- return true ? "2.61.55" : null;
19223
+ return true ? "2.61.57" : null;
19178
19224
  }
19179
19225
  function runCmd(cmd, args2, timeoutMs) {
19180
19226
  return new Promise((resolve8) => {
@@ -20108,13 +20154,15 @@ var HostAgentSupervisor = class {
20108
20154
  let childEnv;
20109
20155
  let extraArgs = [];
20110
20156
  if (payload.houseProxy) {
20111
- const { baseUrl, token, agentKind, omniRoute } = payload.houseProxy;
20157
+ const { baseUrl, token, agentKind, openRouter } = payload.houseProxy;
20112
20158
  childEnv = {
20113
20159
  ANTHROPIC_BASE_URL: baseUrl,
20114
20160
  ANTHROPIC_AUTH_TOKEN: token,
20115
- // House pins MiniMax; OmniRoute routes the real Claude model names the
20116
- // agent sends, so it sets NO model overrides.
20117
- ...omniRoute ? {} : {
20161
+ // House pins MiniMax; OpenRouter routes the real Claude model names the
20162
+ // agent sends, so it sets NO model overrides — but it DOES need
20163
+ // ANTHROPIC_API_KEY empty so a stale key can't override the Bearer auth
20164
+ // token (OpenRouter's Claude Code setup requires ANTHROPIC_API_KEY="").
20165
+ ...openRouter ? { ANTHROPIC_API_KEY: "" } : {
20118
20166
  ANTHROPIC_MODEL: "MiniMax-M3",
20119
20167
  ANTHROPIC_DEFAULT_SONNET_MODEL: "MiniMax-M3",
20120
20168
  ANTHROPIC_DEFAULT_OPUS_MODEL: "MiniMax-M3",
@@ -39368,7 +39416,7 @@ function checkChokidar() {
39368
39416
  }
39369
39417
  async function doctor(args2 = []) {
39370
39418
  const json = args2.includes("--json");
39371
- const cliVersion = true ? "2.61.55" : "0.0.0-dev";
39419
+ const cliVersion = true ? "2.61.57" : "0.0.0-dev";
39372
39420
  const apiBase2 = resolveApiBaseUrl();
39373
39421
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
39374
39422
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -39890,7 +39938,7 @@ async function mcpRun(args2) {
39890
39938
  // src/commands/version.ts
39891
39939
  var import_picocolors15 = __toESM(require("picocolors"));
39892
39940
  function version2() {
39893
- const v = true ? "2.61.55" : "unknown";
39941
+ const v = true ? "2.61.57" : "unknown";
39894
39942
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
39895
39943
  }
39896
39944
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.61.55",
3
+ "version": "2.61.57",
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",