codeam-cli 2.60.61 → 2.60.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 +6 -0
- package/dist/index.js +45 -8
- package/package.json +1 -1
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.61] — 2026-07-15
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **shared:** Sentry full read+write scopes + --add-scopes on the MCP server
|
|
12
|
+
|
|
7
13
|
## [2.60.60] — 2026-07-14
|
|
8
14
|
|
|
9
15
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -572,6 +572,43 @@ var INTEGRATION_REGISTRY = {
|
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
|
+
},
|
|
576
|
+
linear: {
|
|
577
|
+
id: "linear",
|
|
578
|
+
name: "Linear",
|
|
579
|
+
icon: "linear",
|
|
580
|
+
// LIVE — the Linear OAuth Application (Public + Confidential) is registered
|
|
581
|
+
// and LINEAR_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
582
|
+
// (prod+dev). The backend LinearOAuthProvider is config-gated (503 if env
|
|
583
|
+
// unset) so this is safe even mid-rollout before the secrets mount.
|
|
584
|
+
enabled: true,
|
|
585
|
+
auth: {
|
|
586
|
+
kind: "oauth_redirect",
|
|
587
|
+
// Linear's coarse scopes: `read` (all issues/projects/comments/cycles)
|
|
588
|
+
// + `write` (create/update issues, comments, state). `write` implies the
|
|
589
|
+
// create/update surface the agent's tools need. `admin` (destructive
|
|
590
|
+
// workspace management) is deliberately NOT requested. ⚠️ Changing these
|
|
591
|
+
// requires the user to RE-LINK Linear — the token only carries the scopes
|
|
592
|
+
// granted at link time. Linear expects a COMMA-separated `scope` param.
|
|
593
|
+
scopes: ["read", "write"]
|
|
594
|
+
},
|
|
595
|
+
delivery: {
|
|
596
|
+
mcp: {
|
|
597
|
+
// mcp-linear (stdio, @linear/sdk) in BYO-token headless mode: the OAuth
|
|
598
|
+
// access token is fed via LINEAR_API_KEY (env only, never argv) and the
|
|
599
|
+
// Linear GraphQL API accepts it as the Authorization header directly.
|
|
600
|
+
// Verified headless end-to-end (search_issues returned real issues) —
|
|
601
|
+
// the OFFICIAL remote MCP (mcp.linear.app) can't be used here because it
|
|
602
|
+
// forces its own interactive browser OAuth. Version PINNED; bump only
|
|
603
|
+
// after re-verifying headless. Tools: search/get/create/update issue +
|
|
604
|
+
// add comment (read + write).
|
|
605
|
+
command: "npx",
|
|
606
|
+
args: ["-y", "mcp-linear@0.1.8"],
|
|
607
|
+
envMapping: {
|
|
608
|
+
LINEAR_API_KEY: "accessToken"
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
}
|
|
575
612
|
}
|
|
576
613
|
};
|
|
577
614
|
function getIntegration(id) {
|
|
@@ -5800,7 +5837,7 @@ function readAnonId() {
|
|
|
5800
5837
|
}
|
|
5801
5838
|
function superProperties() {
|
|
5802
5839
|
return {
|
|
5803
|
-
cliVersion: true ? "2.60.
|
|
5840
|
+
cliVersion: true ? "2.60.62" : "0.0.0-dev",
|
|
5804
5841
|
nodeVersion: process.version,
|
|
5805
5842
|
platform: process.platform,
|
|
5806
5843
|
arch: process.arch,
|
|
@@ -5981,7 +6018,7 @@ var os4 = __toESM(require("os"));
|
|
|
5981
6018
|
// package.json
|
|
5982
6019
|
var package_default = {
|
|
5983
6020
|
name: "codeam-cli",
|
|
5984
|
-
version: "2.60.
|
|
6021
|
+
version: "2.60.62",
|
|
5985
6022
|
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.",
|
|
5986
6023
|
type: "commonjs",
|
|
5987
6024
|
main: "dist/index.js",
|
|
@@ -7090,7 +7127,7 @@ var CommandRelayService = class {
|
|
|
7090
7127
|
// fresh + clear the "CLI update available" banner after a self-update
|
|
7091
7128
|
// (a codespace that reinstalls @latest reconnects via heartbeat, not
|
|
7092
7129
|
// pair/reconnect). Older backends ignore the extra field.
|
|
7093
|
-
..."2.60.
|
|
7130
|
+
..."2.60.62" ? { ideVersion: "2.60.62" } : {}
|
|
7094
7131
|
}).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
|
|
7095
7132
|
}
|
|
7096
7133
|
/**
|
|
@@ -17667,7 +17704,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17667
17704
|
if (process.env.NODE_ENV === "test") return;
|
|
17668
17705
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17669
17706
|
if (process.env.CI) return;
|
|
17670
|
-
const current = true ? "2.60.
|
|
17707
|
+
const current = true ? "2.60.62" : null;
|
|
17671
17708
|
if (!current) return;
|
|
17672
17709
|
const cache = readCache();
|
|
17673
17710
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17684,7 +17721,7 @@ function checkForUpdates() {
|
|
|
17684
17721
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17685
17722
|
if (process.env.CI) return;
|
|
17686
17723
|
if (!process.stdout.isTTY) return;
|
|
17687
|
-
const current = true ? "2.60.
|
|
17724
|
+
const current = true ? "2.60.62" : null;
|
|
17688
17725
|
if (!current) return;
|
|
17689
17726
|
const cache = readCache();
|
|
17690
17727
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17704,7 +17741,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
|
|
|
17704
17741
|
var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
|
|
17705
17742
|
var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
|
|
17706
17743
|
function currentCliVersion() {
|
|
17707
|
-
return true ? "2.60.
|
|
17744
|
+
return true ? "2.60.62" : null;
|
|
17708
17745
|
}
|
|
17709
17746
|
function runCmd(cmd, args2, timeoutMs) {
|
|
17710
17747
|
return new Promise((resolve7) => {
|
|
@@ -35133,7 +35170,7 @@ function checkChokidar() {
|
|
|
35133
35170
|
}
|
|
35134
35171
|
async function doctor(args2 = []) {
|
|
35135
35172
|
const json = args2.includes("--json");
|
|
35136
|
-
const cliVersion = true ? "2.60.
|
|
35173
|
+
const cliVersion = true ? "2.60.62" : "0.0.0-dev";
|
|
35137
35174
|
const apiBase2 = resolveApiBaseUrl();
|
|
35138
35175
|
const diagnosticId = (0, import_node_crypto12.randomUUID)();
|
|
35139
35176
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -35610,7 +35647,7 @@ async function mcpRun(args2) {
|
|
|
35610
35647
|
// src/commands/version.ts
|
|
35611
35648
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
35612
35649
|
function version2() {
|
|
35613
|
-
const v = true ? "2.60.
|
|
35650
|
+
const v = true ? "2.60.62" : "unknown";
|
|
35614
35651
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
35615
35652
|
}
|
|
35616
35653
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.60.
|
|
3
|
+
"version": "2.60.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",
|