codeam-cli 2.60.60 → 2.60.61

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.60.60] — 2026-07-14
8
+
9
+ ### Added
10
+
11
+ - **shared:** Use Sentry's official mark for the integration catalog icon
12
+
7
13
  ## [2.60.59] — 2026-07-14
8
14
 
9
15
  ### Added
package/dist/index.js CHANGED
@@ -531,12 +531,25 @@ var INTEGRATION_REGISTRY = {
531
531
  enabled: true,
532
532
  auth: {
533
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"]
534
+ // FULL read+write across every Sentry resource the agent can read
535
+ // issues/events/projects AND act (resolve/assign issues, manage
536
+ // projects/teams/members, releases). `:write` implies `:read`. Admin
537
+ // (destructive org/member management) is deliberately NOT requested.
538
+ // ⚠️ Changing these requires the user to RE-LINK Sentry — the existing
539
+ // token only carries whatever scopes it was granted at link time.
540
+ scopes: [
541
+ "org:read",
542
+ "org:write",
543
+ "project:read",
544
+ "project:write",
545
+ "team:read",
546
+ "team:write",
547
+ "member:read",
548
+ "member:write",
549
+ "event:read",
550
+ "event:write",
551
+ "project:releases"
552
+ ]
540
553
  },
541
554
  delivery: {
542
555
  mcp: {
@@ -545,7 +558,14 @@ var INTEGRATION_REGISTRY = {
545
558
  // SENTRY_HOST (never argv — env only). Version PINNED; bump only
546
559
  // after re-verifying headless in the mcp-shim integration test.
547
560
  command: "npx",
548
- args: ["-y", "@sentry/mcp-server@0.18.0"],
561
+ // `--add-scopes` widens the server's default READ-ONLY tool surface to
562
+ // include the write tools our OAuth scopes now grant (resolve/assign
563
+ // issue, update project, etc.), so the agent exposes read AND write.
564
+ args: [
565
+ "-y",
566
+ "@sentry/mcp-server@0.18.0",
567
+ "--add-scopes=org:write,project:write,team:write,member:write,event:write"
568
+ ],
549
569
  envMapping: {
550
570
  SENTRY_ACCESS_TOKEN: "accessToken",
551
571
  SENTRY_HOST: "host"
@@ -5780,7 +5800,7 @@ function readAnonId() {
5780
5800
  }
5781
5801
  function superProperties() {
5782
5802
  return {
5783
- cliVersion: true ? "2.60.60" : "0.0.0-dev",
5803
+ cliVersion: true ? "2.60.61" : "0.0.0-dev",
5784
5804
  nodeVersion: process.version,
5785
5805
  platform: process.platform,
5786
5806
  arch: process.arch,
@@ -5961,7 +5981,7 @@ var os4 = __toESM(require("os"));
5961
5981
  // package.json
5962
5982
  var package_default = {
5963
5983
  name: "codeam-cli",
5964
- version: "2.60.60",
5984
+ version: "2.60.61",
5965
5985
  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.",
5966
5986
  type: "commonjs",
5967
5987
  main: "dist/index.js",
@@ -7070,7 +7090,7 @@ var CommandRelayService = class {
7070
7090
  // fresh + clear the "CLI update available" banner after a self-update
7071
7091
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
7072
7092
  // pair/reconnect). Older backends ignore the extra field.
7073
- ..."2.60.60" ? { ideVersion: "2.60.60" } : {}
7093
+ ..."2.60.61" ? { ideVersion: "2.60.61" } : {}
7074
7094
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
7075
7095
  }
7076
7096
  /**
@@ -17647,7 +17667,7 @@ async function autoUpgradeBeforeCriticalCommand() {
17647
17667
  if (process.env.NODE_ENV === "test") return;
17648
17668
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17649
17669
  if (process.env.CI) return;
17650
- const current = true ? "2.60.60" : null;
17670
+ const current = true ? "2.60.61" : null;
17651
17671
  if (!current) return;
17652
17672
  const cache = readCache();
17653
17673
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17664,7 +17684,7 @@ function checkForUpdates() {
17664
17684
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
17665
17685
  if (process.env.CI) return;
17666
17686
  if (!process.stdout.isTTY) return;
17667
- const current = true ? "2.60.60" : null;
17687
+ const current = true ? "2.60.61" : null;
17668
17688
  if (!current) return;
17669
17689
  const cache = readCache();
17670
17690
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -17684,7 +17704,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
17684
17704
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
17685
17705
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
17686
17706
  function currentCliVersion() {
17687
- return true ? "2.60.60" : null;
17707
+ return true ? "2.60.61" : null;
17688
17708
  }
17689
17709
  function runCmd(cmd, args2, timeoutMs) {
17690
17710
  return new Promise((resolve7) => {
@@ -35113,7 +35133,7 @@ function checkChokidar() {
35113
35133
  }
35114
35134
  async function doctor(args2 = []) {
35115
35135
  const json = args2.includes("--json");
35116
- const cliVersion = true ? "2.60.60" : "0.0.0-dev";
35136
+ const cliVersion = true ? "2.60.61" : "0.0.0-dev";
35117
35137
  const apiBase2 = resolveApiBaseUrl();
35118
35138
  const diagnosticId = (0, import_node_crypto12.randomUUID)();
35119
35139
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -35590,7 +35610,7 @@ async function mcpRun(args2) {
35590
35610
  // src/commands/version.ts
35591
35611
  var import_picocolors15 = __toESM(require("picocolors"));
35592
35612
  function version2() {
35593
- const v = true ? "2.60.60" : "unknown";
35613
+ const v = true ? "2.60.61" : "unknown";
35594
35614
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
35595
35615
  }
35596
35616
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.60",
3
+ "version": "2.60.61",
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",