codeam-cli 2.61.61 → 2.61.62

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.61.61] — 2026-07-27
8
+
9
+ ### Added
10
+
11
+ - **shared:** N8n integration (automation, api_key + n8n MCP)
12
+
7
13
  ## [2.61.59] — 2026-07-27
8
14
 
9
15
  ### Added
package/dist/index.js CHANGED
@@ -1351,6 +1351,90 @@ var INTEGRATION_REGISTRY = {
1351
1351
  staticEnv: { MCP_MODE: "stdio" }
1352
1352
  }
1353
1353
  }
1354
+ },
1355
+ postman: {
1356
+ id: "postman",
1357
+ name: "Postman",
1358
+ icon: "postman",
1359
+ category: "api_tools",
1360
+ // LIVE — api_key rail. Postman auth is a personal API key (Settings → API
1361
+ // keys). The user pastes it; the backend validates via GET /me + vaults it.
1362
+ // No OAuth (Postman's API has no user OAuth), no secrets, no config-503.
1363
+ enabled: true,
1364
+ auth: {
1365
+ kind: "api_key",
1366
+ fields: [
1367
+ {
1368
+ key: "accessToken",
1369
+ label: "API Key",
1370
+ placeholder: "PMAK-\u2026",
1371
+ secret: true,
1372
+ help: "Postman \u2192 Settings \u2192 API keys \u2192 Generate API Key."
1373
+ }
1374
+ ]
1375
+ },
1376
+ delivery: {
1377
+ mcp: {
1378
+ // Postman's OFFICIAL stdio MCP server (Node). BYO key via POSTMAN_API_KEY
1379
+ // (env only). Version PINNED; bump only after re-verifying headless.
1380
+ command: "npx",
1381
+ args: ["-y", "@postman/postman-mcp-server@2.11.2"],
1382
+ envMapping: {
1383
+ POSTMAN_API_KEY: "accessToken"
1384
+ }
1385
+ }
1386
+ }
1387
+ },
1388
+ mixpanel: {
1389
+ id: "mixpanel",
1390
+ name: "Mixpanel",
1391
+ icon: "mixpanel",
1392
+ category: "analytics",
1393
+ // LIVE — api_key rail. Mixpanel query/export auth is a SERVICE ACCOUNT
1394
+ // (username + password, Basic auth) scoped to a project (project id). The
1395
+ // user pastes all three; the backend validates + vaults them. No OAuth
1396
+ // redirect (service accounts are machine-to-machine), no GSM secrets.
1397
+ enabled: true,
1398
+ auth: {
1399
+ kind: "api_key",
1400
+ fields: [
1401
+ {
1402
+ key: "accessToken",
1403
+ label: "Service Account Username",
1404
+ placeholder: "your-sa.mp-service-account",
1405
+ secret: false,
1406
+ help: "Mixpanel \u2192 Organization Settings \u2192 Service Accounts \u2192 create one with project access."
1407
+ },
1408
+ {
1409
+ key: "secretKey",
1410
+ label: "Service Account Secret",
1411
+ placeholder: "the service account secret",
1412
+ secret: true,
1413
+ help: "Shown once when you create the service account \u2014 copy it then."
1414
+ },
1415
+ {
1416
+ key: "projectId",
1417
+ label: "Project ID",
1418
+ placeholder: "1234567",
1419
+ secret: false,
1420
+ help: "Mixpanel \u2192 Project Settings \u2192 Project ID."
1421
+ }
1422
+ ]
1423
+ },
1424
+ delivery: {
1425
+ mcp: {
1426
+ // @mendeel/mcp-mixpanel (Node): the service account + project id via env
1427
+ // only (MIXPANEL_SERVICE_ACCOUNT_USERNAME/PASSWORD + MIXPANEL_PROJECT_ID).
1428
+ // Version PINNED; bump only after re-verifying headless. Default region US.
1429
+ command: "npx",
1430
+ args: ["-y", "@mendeel/mcp-mixpanel@1.0.4"],
1431
+ envMapping: {
1432
+ MIXPANEL_SERVICE_ACCOUNT_USERNAME: "accessToken",
1433
+ MIXPANEL_SERVICE_ACCOUNT_PASSWORD: "secretKey",
1434
+ MIXPANEL_PROJECT_ID: "projectId"
1435
+ }
1436
+ }
1437
+ }
1354
1438
  }
1355
1439
  };
1356
1440
  function getIntegration(id) {
@@ -6796,7 +6880,7 @@ function readAnonId() {
6796
6880
  }
6797
6881
  function superProperties() {
6798
6882
  return {
6799
- cliVersion: true ? "2.61.61" : "0.0.0-dev",
6883
+ cliVersion: true ? "2.61.62" : "0.0.0-dev",
6800
6884
  nodeVersion: process.version,
6801
6885
  platform: process.platform,
6802
6886
  arch: process.arch,
@@ -6977,7 +7061,7 @@ var os4 = __toESM(require("os"));
6977
7061
  // package.json
6978
7062
  var package_default = {
6979
7063
  name: "codeam-cli",
6980
- version: "2.61.61",
7064
+ version: "2.61.62",
6981
7065
  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.",
6982
7066
  type: "commonjs",
6983
7067
  main: "dist/index.js",
@@ -8149,7 +8233,7 @@ var CommandRelayService = class _CommandRelayService {
8149
8233
  // fresh + clear the "CLI update available" banner after a self-update
8150
8234
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
8151
8235
  // pair/reconnect). Older backends ignore the extra field.
8152
- ..."2.61.61" ? { ideVersion: "2.61.61" } : {}
8236
+ ..."2.61.62" ? { ideVersion: "2.61.62" } : {}
8153
8237
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
8154
8238
  }
8155
8239
  /**
@@ -19258,7 +19342,7 @@ async function autoUpgradeBeforeCriticalCommand() {
19258
19342
  if (process.env.NODE_ENV === "test") return;
19259
19343
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19260
19344
  if (process.env.CI) return;
19261
- const current = true ? "2.61.61" : null;
19345
+ const current = true ? "2.61.62" : null;
19262
19346
  if (!current) return;
19263
19347
  const cache = readCache();
19264
19348
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19275,7 +19359,7 @@ function checkForUpdates() {
19275
19359
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
19276
19360
  if (process.env.CI) return;
19277
19361
  if (!process.stdout.isTTY) return;
19278
- const current = true ? "2.61.61" : null;
19362
+ const current = true ? "2.61.62" : null;
19279
19363
  if (!current) return;
19280
19364
  const cache = readCache();
19281
19365
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -19295,7 +19379,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
19295
19379
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
19296
19380
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
19297
19381
  function currentCliVersion() {
19298
- return true ? "2.61.61" : null;
19382
+ return true ? "2.61.62" : null;
19299
19383
  }
19300
19384
  function runCmd(cmd, args2, timeoutMs) {
19301
19385
  return new Promise((resolve8) => {
@@ -39534,7 +39618,7 @@ function checkChokidar() {
39534
39618
  }
39535
39619
  async function doctor(args2 = []) {
39536
39620
  const json = args2.includes("--json");
39537
- const cliVersion = true ? "2.61.61" : "0.0.0-dev";
39621
+ const cliVersion = true ? "2.61.62" : "0.0.0-dev";
39538
39622
  const apiBase2 = resolveApiBaseUrl();
39539
39623
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
39540
39624
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -40056,7 +40140,7 @@ async function mcpRun(args2) {
40056
40140
  // src/commands/version.ts
40057
40141
  var import_picocolors15 = __toESM(require("picocolors"));
40058
40142
  function version2() {
40059
- const v = true ? "2.61.61" : "unknown";
40143
+ const v = true ? "2.61.62" : "unknown";
40060
40144
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
40061
40145
  }
40062
40146
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.61.61",
3
+ "version": "2.61.62",
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",