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 +12 -0
- package/dist/index.js +41 -8
- package/package.json +1 -1
- package/dist/postinstall.js +0 -33
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|
package/dist/postinstall.js
DELETED
|
@@ -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");
|