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 +18 -0
- package/dist/index.js +65 -17
- package/package.json +1 -1
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
|
-
//
|
|
535
|
-
//
|
|
536
|
-
//
|
|
537
|
-
//
|
|
538
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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;
|
|
20116
|
-
// agent sends, so it sets NO model overrides
|
|
20117
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|