codeam-cli 2.46.0 → 2.46.2
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 +32 -11
- 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.46.1] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Write cursor OAuth credential to login state, not CURSOR_API_KEY
|
|
12
|
+
|
|
13
|
+
## [2.46.0] — 2026-06-26
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **cli:** Route cursor over native ACP (cursor-agent acp) so CURSOR_API_KEY reaches it
|
|
18
|
+
|
|
7
19
|
## [2.45.1] — 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.46.
|
|
5400
|
+
cliVersion: true ? "2.46.2" : "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.46.
|
|
5581
|
+
version: "2.46.2",
|
|
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",
|
|
@@ -12936,6 +12936,24 @@ var CursorRuntimeStrategy = class {
|
|
|
12936
12936
|
async listModels() {
|
|
12937
12937
|
return CURSOR_MODELS;
|
|
12938
12938
|
}
|
|
12939
|
+
/**
|
|
12940
|
+
* One-shot headless generation — powers preview detection + AI summaries.
|
|
12941
|
+
* `--print` = non-interactive; `--trust` bypasses the workspace-trust gate
|
|
12942
|
+
* (no human at the box to approve, only works with --print); `--force`
|
|
12943
|
+
* auto-allows tool calls. Auth comes from the login state the provisioner
|
|
12944
|
+
* writes (~/.config/cursor/auth.json), NOT CURSOR_API_KEY. Returns null on
|
|
12945
|
+
* spawn failure / timeout / empty output so callers silently skip — same
|
|
12946
|
+
* semantics as Claude / Codex / Gemini.
|
|
12947
|
+
*/
|
|
12948
|
+
async generateOneShot(prompt, opts) {
|
|
12949
|
+
const binary = this.os.findInPath("cursor-agent");
|
|
12950
|
+
if (!binary) return null;
|
|
12951
|
+
const launch = this.os.buildLaunch(binary, ["--print", "--force", "--trust", prompt]);
|
|
12952
|
+
return spawnAndCapture(launch.cmd, launch.args, {
|
|
12953
|
+
cwd: opts?.cwd,
|
|
12954
|
+
timeoutMs: opts?.timeoutMs
|
|
12955
|
+
});
|
|
12956
|
+
}
|
|
12939
12957
|
changeModelInstruction(modelId) {
|
|
12940
12958
|
return { type: "pty", ptyInput: `/model ${modelId}\r` };
|
|
12941
12959
|
}
|
|
@@ -17478,8 +17496,10 @@ var geminiProvisioner = {
|
|
|
17478
17496
|
}
|
|
17479
17497
|
};
|
|
17480
17498
|
var cursorProvisioner = {
|
|
17481
|
-
write(auth,
|
|
17499
|
+
write(auth, home) {
|
|
17500
|
+
const authJson = path43.join(home, ".config", "cursor", "auth.json");
|
|
17482
17501
|
if (auth.kind === "api_key") {
|
|
17502
|
+
rmIfExists(authJson);
|
|
17483
17503
|
return { CURSOR_API_KEY: auth.value };
|
|
17484
17504
|
}
|
|
17485
17505
|
const value = auth.value.trim();
|
|
@@ -17493,10 +17513,11 @@ var cursorProvisioner = {
|
|
|
17493
17513
|
if (typeof parsed !== "object" || parsed === null || typeof parsed["accessToken"] !== "string" || !parsed["accessToken"]) {
|
|
17494
17514
|
throw new Error("cursor oauth_token: credential blob is missing a non-empty accessToken");
|
|
17495
17515
|
}
|
|
17496
|
-
|
|
17497
|
-
return {
|
|
17516
|
+
writeFile0600(authJson, value);
|
|
17517
|
+
return {};
|
|
17498
17518
|
}
|
|
17499
|
-
|
|
17519
|
+
writeFile0600(authJson, JSON.stringify({ accessToken: value }));
|
|
17520
|
+
return {};
|
|
17500
17521
|
}
|
|
17501
17522
|
};
|
|
17502
17523
|
var PROVISIONERS = {
|
|
@@ -17922,7 +17943,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17922
17943
|
if (process.env.NODE_ENV === "test") return;
|
|
17923
17944
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17924
17945
|
if (process.env.CI) return;
|
|
17925
|
-
const current = true ? "2.46.
|
|
17946
|
+
const current = true ? "2.46.2" : null;
|
|
17926
17947
|
if (!current) return;
|
|
17927
17948
|
const cache = readCache();
|
|
17928
17949
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17939,7 +17960,7 @@ function checkForUpdates() {
|
|
|
17939
17960
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17940
17961
|
if (process.env.CI) return;
|
|
17941
17962
|
if (!process.stdout.isTTY) return;
|
|
17942
|
-
const current = true ? "2.46.
|
|
17963
|
+
const current = true ? "2.46.2" : null;
|
|
17943
17964
|
if (!current) return;
|
|
17944
17965
|
const cache = readCache();
|
|
17945
17966
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -18381,7 +18402,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
|
|
|
18381
18402
|
detached: false
|
|
18382
18403
|
});
|
|
18383
18404
|
function currentCliVersion() {
|
|
18384
|
-
return true ? "2.46.
|
|
18405
|
+
return true ? "2.46.2" : null;
|
|
18385
18406
|
}
|
|
18386
18407
|
function runCmd(cmd, args2, timeoutMs) {
|
|
18387
18408
|
return new Promise((resolve7) => {
|
|
@@ -29706,7 +29727,7 @@ function checkChokidar() {
|
|
|
29706
29727
|
}
|
|
29707
29728
|
async function doctor(args2 = []) {
|
|
29708
29729
|
const json = args2.includes("--json");
|
|
29709
|
-
const cliVersion = true ? "2.46.
|
|
29730
|
+
const cliVersion = true ? "2.46.2" : "0.0.0-dev";
|
|
29710
29731
|
const apiBase2 = resolveApiBaseUrl();
|
|
29711
29732
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
29712
29733
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -29905,7 +29926,7 @@ async function completion(args2) {
|
|
|
29905
29926
|
// src/commands/version.ts
|
|
29906
29927
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
29907
29928
|
function version2() {
|
|
29908
|
-
const v = true ? "2.46.
|
|
29929
|
+
const v = true ? "2.46.2" : "unknown";
|
|
29909
29930
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
29910
29931
|
}
|
|
29911
29932
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.46.
|
|
3
|
+
"version": "2.46.2",
|
|
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",
|