codeam-cli 2.44.0 → 2.45.1
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 +43 -9
- package/package.json +1 -1
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.45.0] — 2026-06-25
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Cursor self-hosted provisioning (CURSOR_API_KEY)
|
|
12
|
+
|
|
13
|
+
## [2.44.0] — 2026-06-25
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** Codeam invite — print referral link
|
|
18
|
+
|
|
7
19
|
## [2.43.7] — 2026-06-25
|
|
8
20
|
|
|
9
21
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -5397,7 +5397,7 @@ function readAnonId() {
|
|
|
5397
5397
|
}
|
|
5398
5398
|
function superProperties() {
|
|
5399
5399
|
return {
|
|
5400
|
-
cliVersion: true ? "2.
|
|
5400
|
+
cliVersion: true ? "2.45.1" : "0.0.0-dev",
|
|
5401
5401
|
nodeVersion: process.version,
|
|
5402
5402
|
platform: process.platform,
|
|
5403
5403
|
arch: process.arch,
|
|
@@ -5578,7 +5578,7 @@ var os4 = __toESM(require("os"));
|
|
|
5578
5578
|
// package.json
|
|
5579
5579
|
var package_default = {
|
|
5580
5580
|
name: "codeam-cli",
|
|
5581
|
-
version: "2.
|
|
5581
|
+
version: "2.45.1",
|
|
5582
5582
|
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.",
|
|
5583
5583
|
type: "commonjs",
|
|
5584
5584
|
main: "dist/index.js",
|
|
@@ -17477,10 +17477,33 @@ var geminiProvisioner = {
|
|
|
17477
17477
|
return {};
|
|
17478
17478
|
}
|
|
17479
17479
|
};
|
|
17480
|
+
var cursorProvisioner = {
|
|
17481
|
+
write(auth, _home) {
|
|
17482
|
+
if (auth.kind === "api_key") {
|
|
17483
|
+
return { CURSOR_API_KEY: auth.value };
|
|
17484
|
+
}
|
|
17485
|
+
const value = auth.value.trim();
|
|
17486
|
+
if (value.startsWith("{")) {
|
|
17487
|
+
let parsed;
|
|
17488
|
+
try {
|
|
17489
|
+
parsed = JSON.parse(value);
|
|
17490
|
+
} catch {
|
|
17491
|
+
throw new Error("cursor oauth_token: credential blob is not valid JSON");
|
|
17492
|
+
}
|
|
17493
|
+
if (typeof parsed !== "object" || parsed === null || typeof parsed["accessToken"] !== "string" || !parsed["accessToken"]) {
|
|
17494
|
+
throw new Error("cursor oauth_token: credential blob is missing a non-empty accessToken");
|
|
17495
|
+
}
|
|
17496
|
+
const accessToken = parsed["accessToken"];
|
|
17497
|
+
return { CURSOR_API_KEY: accessToken };
|
|
17498
|
+
}
|
|
17499
|
+
return { CURSOR_API_KEY: value };
|
|
17500
|
+
}
|
|
17501
|
+
};
|
|
17480
17502
|
var PROVISIONERS = {
|
|
17481
17503
|
claude: claudeProvisioner,
|
|
17482
17504
|
codex: codexProvisioner,
|
|
17483
|
-
gemini: geminiProvisioner
|
|
17505
|
+
gemini: geminiProvisioner,
|
|
17506
|
+
cursor: cursorProvisioner
|
|
17484
17507
|
};
|
|
17485
17508
|
var UnsupportedAgentError = class extends Error {
|
|
17486
17509
|
agentId;
|
|
@@ -17899,7 +17922,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17899
17922
|
if (process.env.NODE_ENV === "test") return;
|
|
17900
17923
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17901
17924
|
if (process.env.CI) return;
|
|
17902
|
-
const current = true ? "2.
|
|
17925
|
+
const current = true ? "2.45.1" : null;
|
|
17903
17926
|
if (!current) return;
|
|
17904
17927
|
const cache = readCache();
|
|
17905
17928
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17916,7 +17939,7 @@ function checkForUpdates() {
|
|
|
17916
17939
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17917
17940
|
if (process.env.CI) return;
|
|
17918
17941
|
if (!process.stdout.isTTY) return;
|
|
17919
|
-
const current = true ? "2.
|
|
17942
|
+
const current = true ? "2.45.1" : null;
|
|
17920
17943
|
if (!current) return;
|
|
17921
17944
|
const cache = readCache();
|
|
17922
17945
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -18184,8 +18207,13 @@ function agentIdToHeadroomKind(agentId) {
|
|
|
18184
18207
|
if (normalized.startsWith("claude")) return "claude";
|
|
18185
18208
|
if (normalized.startsWith("codex")) return "codex";
|
|
18186
18209
|
if (normalized.startsWith("copilot")) return "copilot";
|
|
18210
|
+
if (normalized.startsWith("cursor")) return "cursor";
|
|
18187
18211
|
return "claude";
|
|
18188
18212
|
}
|
|
18213
|
+
function isHeadroomSupportedAgent(agentId) {
|
|
18214
|
+
const n = (agentId ?? "").toLowerCase().replace(/[_-]/g, "");
|
|
18215
|
+
return n.startsWith("claude") || n.startsWith("codex") || n.startsWith("copilot") || n.startsWith("cursor");
|
|
18216
|
+
}
|
|
18189
18217
|
function headroomConfigPath() {
|
|
18190
18218
|
return path46.join(os33.homedir(), ".codeam", "headroom-config.json");
|
|
18191
18219
|
}
|
|
@@ -18354,7 +18382,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
|
|
|
18354
18382
|
detached: false
|
|
18355
18383
|
});
|
|
18356
18384
|
function currentCliVersion() {
|
|
18357
|
-
return true ? "2.
|
|
18385
|
+
return true ? "2.45.1" : null;
|
|
18358
18386
|
}
|
|
18359
18387
|
function runCmd(cmd, args2, timeoutMs) {
|
|
18360
18388
|
return new Promise((resolve7) => {
|
|
@@ -18790,7 +18818,7 @@ var HostAgentSupervisor = class {
|
|
|
18790
18818
|
childEnv.PREVIEW_TUNNEL_TOKEN = payload.previewTunnelToken;
|
|
18791
18819
|
childEnv.PREVIEW_TUNNEL_HOSTNAME = payload.previewHostname;
|
|
18792
18820
|
}
|
|
18793
|
-
if (payload.headroomEnabled && payload.headroomAgent && payload.headroomSavingsIngestUrl) {
|
|
18821
|
+
if (payload.headroomEnabled && payload.headroomAgent && payload.headroomSavingsIngestUrl && isHeadroomSupportedAgent(payload.headroomAgent)) {
|
|
18794
18822
|
report("headroom", "setting up Headroom proxy");
|
|
18795
18823
|
const freeBytes = await this.getFreeDisk(os33.homedir());
|
|
18796
18824
|
const alreadyInstalled = this.isHeadroomInstalled();
|
|
@@ -18834,6 +18862,12 @@ var HostAgentSupervisor = class {
|
|
|
18834
18862
|
}
|
|
18835
18863
|
} else if (payload.headroomEnabled === false) {
|
|
18836
18864
|
persistHeadroomConfig({ enabled: false });
|
|
18865
|
+
} else if (payload.headroomEnabled && payload.headroomAgent && !isHeadroomSupportedAgent(payload.headroomAgent)) {
|
|
18866
|
+
log.info(
|
|
18867
|
+
"host-agent",
|
|
18868
|
+
`Headroom unsupported for agent '${payload.headroomAgent}' \u2014 running it natively (no wrap)`
|
|
18869
|
+
);
|
|
18870
|
+
persistHeadroomConfig({ enabled: false });
|
|
18837
18871
|
}
|
|
18838
18872
|
report("spawning", "starting agent");
|
|
18839
18873
|
const proc = this.spawnSessionChild(childEnv, cwd, extraArgs);
|
|
@@ -29679,7 +29713,7 @@ function checkChokidar() {
|
|
|
29679
29713
|
}
|
|
29680
29714
|
async function doctor(args2 = []) {
|
|
29681
29715
|
const json = args2.includes("--json");
|
|
29682
|
-
const cliVersion = true ? "2.
|
|
29716
|
+
const cliVersion = true ? "2.45.1" : "0.0.0-dev";
|
|
29683
29717
|
const apiBase2 = resolveApiBaseUrl();
|
|
29684
29718
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
29685
29719
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -29878,7 +29912,7 @@ async function completion(args2) {
|
|
|
29878
29912
|
// src/commands/version.ts
|
|
29879
29913
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
29880
29914
|
function version2() {
|
|
29881
|
-
const v = true ? "2.
|
|
29915
|
+
const v = true ? "2.45.1" : "unknown";
|
|
29882
29916
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
29883
29917
|
}
|
|
29884
29918
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.45.1",
|
|
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",
|