codeam-cli 2.60.57 → 2.60.59

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.60.58] — 2026-07-14
8
+
9
+ ### Added
10
+
11
+ - **shared:** Register Sentry integration (dark) + BrokeredIntegrationToken.host
12
+
13
+ ## [2.60.57] — 2026-07-14
14
+
15
+ ### Fixed
16
+
17
+ - **cli:** Preview reclaims its own port after a CLI restart (no more 'port in use' dead-end)
18
+
7
19
  ## [2.60.56] — 2026-07-14
8
20
 
9
21
  ### Fixed
package/dist/index.js CHANGED
@@ -519,6 +519,39 @@ var INTEGRATION_REGISTRY = {
519
519
  staticEnv: { ATLASSIAN_OAUTH_ENABLE: "true" }
520
520
  }
521
521
  }
522
+ },
523
+ sentry: {
524
+ id: "sentry",
525
+ name: "Sentry",
526
+ icon: "sentry",
527
+ // LIVE — the Sentry OAuth Application (Confidential) is registered and
528
+ // SENTRY_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
529
+ // (prod+dev). The backend SentryOAuthProvider is config-gated (503 if
530
+ // env unset) so this is safe even mid-rollout before the secrets mount.
531
+ enabled: true,
532
+ auth: {
533
+ kind: "oauth_redirect",
534
+ // Sentry OAuth scopes for the MCP's read-first surface: read orgs /
535
+ // projects / teams, read issues+events (the error→fix loop), and
536
+ // read releases. `org:read` covers org+project discovery. No write
537
+ // scopes in the MVP — writes (resolve/assign an issue) land with the
538
+ // designed Approval-Gates phase, same as Jira's write path.
539
+ scopes: ["org:read", "project:read", "team:read", "event:read", "project:releases"]
540
+ },
541
+ delivery: {
542
+ mcp: {
543
+ // Sentry's official stdio MCP server (Node). BYO-token headless: the
544
+ // OAuth access token is fed via SENTRY_ACCESS_TOKEN and the host via
545
+ // SENTRY_HOST (never argv — env only). Version PINNED; bump only
546
+ // after re-verifying headless in the mcp-shim integration test.
547
+ command: "npx",
548
+ args: ["-y", "@sentry/mcp-server@0.18.0"],
549
+ envMapping: {
550
+ SENTRY_ACCESS_TOKEN: "accessToken",
551
+ SENTRY_HOST: "host"
552
+ }
553
+ }
554
+ }
522
555
  }
523
556
  };
524
557
  function getIntegration(id) {
@@ -5747,7 +5780,7 @@ function readAnonId() {
5747
5780
  }
5748
5781
  function superProperties() {
5749
5782
  return {
5750
- cliVersion: true ? "2.60.57" : "0.0.0-dev",
5783
+ cliVersion: true ? "2.60.59" : "0.0.0-dev",
5751
5784
  nodeVersion: process.version,
5752
5785
  platform: process.platform,
5753
5786
  arch: process.arch,
@@ -5928,7 +5961,7 @@ var os4 = __toESM(require("os"));
5928
5961
  // package.json
5929
5962
  var package_default = {
5930
5963
  name: "codeam-cli",
5931
- version: "2.60.57",
5964
+ version: "2.60.59",
5932
5965
  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.",
5933
5966
  type: "commonjs",
5934
5967
  main: "dist/index.js",
@@ -7037,7 +7070,7 @@ var CommandRelayService = class {
7037
7070
  // fresh + clear the "CLI update available" banner after a self-update
7038
7071
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
7039
7072
  // pair/reconnect). Older backends ignore the extra field.
7040
- ..."2.60.57" ? { ideVersion: "2.60.57" } : {}
7073
+ ..."2.60.59" ? { ideVersion: "2.60.59" } : {}
7041
7074
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
7042
7075
  }
7043
7076
  /**
@@ -17614,7 +17647,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17614
17647
  if (process.env.NODE_ENV === "test") return;
17615
17648
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17616
17649
  if (process.env.CI) return;
17617
- const current = true ? "2.60.57" : null;
17650
+ const current = true ? "2.60.59" : null;
17618
17651
  if (!current) return;
17619
17652
  const cache = readCache();
17620
17653
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17631,7 +17664,7 @@ function checkForUpdates() {
17631
17664
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17632
17665
  if (process.env.CI) return;
17633
17666
  if (!process.stdout.isTTY) return;
17634
- const current = true ? "2.60.57" : null;
17667
+ const current = true ? "2.60.59" : null;
17635
17668
  if (!current) return;
17636
17669
  const cache = readCache();
17637
17670
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17651,7 +17684,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17651
17684
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17652
17685
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17653
17686
  function currentCliVersion() {
17654
- return true ? "2.60.57" : null;
17687
+ return true ? "2.60.59" : null;
17655
17688
  }
17656
17689
  function runCmd(cmd, args2, timeoutMs) {
17657
17690
  return new Promise((resolve7) => {
@@ -35080,7 +35113,7 @@ function checkChokidar() {
35080
35113
  }
35081
35114
  async function doctor(args2 = []) {
35082
35115
  const json = args2.includes("--json");
35083
- const cliVersion = true ? "2.60.57" : "0.0.0-dev";
35116
+ const cliVersion = true ? "2.60.59" : "0.0.0-dev";
35084
35117
  const apiBase2 = resolveApiBaseUrl();
35085
35118
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
35086
35119
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -35557,7 +35590,7 @@ async function mcpRun(args2) {
35557
35590
  // src/commands/version.ts
35558
35591
  var import_picocolors15 = __toESM(require("picocolors"));
35559
35592
  function version2() {
35560
- const v = true ? "2.60.57" : "unknown";
35593
+ const v = true ? "2.60.59" : "unknown";
35561
35594
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
35562
35595
  }
35563
35596
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.57",
3
+ "version": "2.60.59",
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",
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- // src/postinstall.ts
5
- var c = {
6
- reset: "\x1B[0m",
7
- bold: "\x1B[1m",
8
- dim: "\x1B[2m",
9
- green: "\x1B[32m",
10
- cyan: "\x1B[36m",
11
- violet: "\x1B[35m",
12
- white: "\x1B[97m"
13
- };
14
- var lines = [
15
- "",
16
- ` ${c.violet}${c.bold}codeam-cli${c.reset} ${c.dim}\u2014 Claude Code remote control${c.reset}`,
17
- "",
18
- ` ${c.dim}1.${c.reset} Pair your phone:`,
19
- ` ${c.cyan}codeam pair${c.reset}`,
20
- "",
21
- ` ${c.dim}2.${c.reset} Launch Claude Code with mobile control:`,
22
- ` ${c.cyan}codeam${c.reset}`,
23
- "",
24
- ` ${c.dim}Other commands:${c.reset}`,
25
- ` ${c.white}codeam sessions${c.reset} ${c.dim}list paired devices${c.reset}`,
26
- ` ${c.white}codeam status${c.reset} ${c.dim}show connection info${c.reset}`,
27
- ` ${c.white}codeam logout${c.reset} ${c.dim}remove all sessions${c.reset}`,
28
- "",
29
- ` ${c.dim}Requires Claude Code:${c.reset} ${c.green}npm install -g @anthropic-ai/claude-code${c.reset}`,
30
- ` ${c.dim}Mobile app:${c.reset} ${c.green}https://www.codeagent-mobile.com${c.reset}`,
31
- ""
32
- ];
33
- process.stdout.write(lines.join("\n") + "\n");