codeam-cli 2.61.56 → 2.61.58

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,18 @@ 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.57] — 2026-07-27
8
+
9
+ ### Added
10
+
11
+ - **shared:** Trello integration (tracker, api_key rail + Trello MCP)
12
+
13
+ ## [2.61.56] — 2026-07-27
14
+
15
+ ### Added
16
+
17
+ - **shared,cli:** Replace OmniRoute agent with OpenRouter ⚠️ BREAKING CHANGE
18
+
7
19
  ## [2.61.55] — 2026-07-27
8
20
 
9
21
  ### Tests
package/dist/index.js CHANGED
@@ -1233,6 +1233,78 @@ var INTEGRATION_REGISTRY = {
1233
1233
  httpHeaders: { Authorization: "Bearer {accessToken}" }
1234
1234
  }
1235
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
+ }
1279
+ },
1280
+ clickup: {
1281
+ id: "clickup",
1282
+ name: "ClickUp",
1283
+ icon: "clickup",
1284
+ category: "tracker",
1285
+ // DARK — OAuth 2.0 (authorization code). ClickUp's token DOES NOT expire and
1286
+ // has NO refresh token, and its OAuth has NO granular scopes (the app gets
1287
+ // the workspaces the user authorizes). enabled:false until the OAuth app is
1288
+ // registered (client_id/secret) + secrets land + Step-8 live-verify.
1289
+ enabled: false,
1290
+ auth: {
1291
+ kind: "oauth_redirect",
1292
+ scopes: []
1293
+ },
1294
+ delivery: {
1295
+ mcp: {
1296
+ // @taazkareem/clickup-mcp-server (Node): CLICKUP_API_KEY (the OAuth
1297
+ // access token — ClickUp accepts it in the Authorization header) +
1298
+ // CLICKUP_TEAM_ID (the workspace id, captured at exchange) via env only.
1299
+ // Version PINNED; bump only after re-verifying headless.
1300
+ command: "npx",
1301
+ args: ["-y", "@taazkareem/clickup-mcp-server@0.14.4"],
1302
+ envMapping: {
1303
+ CLICKUP_API_KEY: "accessToken",
1304
+ CLICKUP_TEAM_ID: "teamId"
1305
+ }
1306
+ }
1307
+ }
1236
1308
  }
1237
1309
  };
1238
1310
  function getIntegration(id) {
@@ -6678,7 +6750,7 @@ function readAnonId() {
6678
6750
  }
6679
6751
  function superProperties() {
6680
6752
  return {
6681
- cliVersion: true ? "2.61.56" : "0.0.0-dev",
6753
+ cliVersion: true ? "2.61.58" : "0.0.0-dev",
6682
6754
  nodeVersion: process.version,
6683
6755
  platform: process.platform,
6684
6756
  arch: process.arch,
@@ -6859,7 +6931,7 @@ var os4 = __toESM(require("os"));
6859
6931
  // package.json
6860
6932
  var package_default = {
6861
6933
  name: "codeam-cli",
6862
- version: "2.61.56",
6934
+ version: "2.61.58",
6863
6935
  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.",
6864
6936
  type: "commonjs",
6865
6937
  main: "dist/index.js",
@@ -8031,7 +8103,7 @@ var CommandRelayService = class _CommandRelayService {
8031
8103
  // fresh + clear the "CLI update available" banner after a self-update
8032
8104
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
8033
8105
  // pair/reconnect). Older backends ignore the extra field.
8034
- ..."2.61.56" ? { ideVersion: "2.61.56" } : {}
8106
+ ..."2.61.58" ? { ideVersion: "2.61.58" } : {}
8035
8107
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
8036
8108
  }
8037
8109
  /**
@@ -19140,7 +19212,7 @@ async function autoUpgradeBeforeCriticalCommand() {
19140
19212
  if (process.env.NODE_ENV === "test") return;
19141
19213
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19142
19214
  if (process.env.CI) return;
19143
- const current = true ? "2.61.56" : null;
19215
+ const current = true ? "2.61.58" : null;
19144
19216
  if (!current) return;
19145
19217
  const cache = readCache();
19146
19218
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19157,7 +19229,7 @@ function checkForUpdates() {
19157
19229
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19158
19230
  if (process.env.CI) return;
19159
19231
  if (!process.stdout.isTTY) return;
19160
- const current = true ? "2.61.56" : null;
19232
+ const current = true ? "2.61.58" : null;
19161
19233
  if (!current) return;
19162
19234
  const cache = readCache();
19163
19235
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19177,7 +19249,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
19177
19249
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
19178
19250
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
19179
19251
  function currentCliVersion() {
19180
- return true ? "2.61.56" : null;
19252
+ return true ? "2.61.58" : null;
19181
19253
  }
19182
19254
  function runCmd(cmd, args2, timeoutMs) {
19183
19255
  return new Promise((resolve8) => {
@@ -39373,7 +39445,7 @@ function checkChokidar() {
39373
39445
  }
39374
39446
  async function doctor(args2 = []) {
39375
39447
  const json = args2.includes("--json");
39376
- const cliVersion = true ? "2.61.56" : "0.0.0-dev";
39448
+ const cliVersion = true ? "2.61.58" : "0.0.0-dev";
39377
39449
  const apiBase2 = resolveApiBaseUrl();
39378
39450
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
39379
39451
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -39895,7 +39967,7 @@ async function mcpRun(args2) {
39895
39967
  // src/commands/version.ts
39896
39968
  var import_picocolors15 = __toESM(require("picocolors"));
39897
39969
  function version2() {
39898
- const v = true ? "2.61.56" : "unknown";
39970
+ const v = true ? "2.61.58" : "unknown";
39899
39971
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
39900
39972
  }
39901
39973
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.61.56",
3
+ "version": "2.61.58",
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",