codeam-cli 2.46.3 → 2.46.4
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 +47 -22
- 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.46.3] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Detect Cursor plan paywall reply → actionable upgrade-link bubble
|
|
12
|
+
|
|
7
13
|
## [2.46.2] — 2026-06-26
|
|
8
14
|
|
|
9
15
|
### Added
|
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.4" : "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.4",
|
|
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",
|
|
@@ -14895,29 +14895,54 @@ var _daemonSeam = {
|
|
|
14895
14895
|
* `Dolt server: running`; down blocks say `Dolt server: not running`.
|
|
14896
14896
|
* Match the affirmative form explicitly so "not running" can't false-positive.
|
|
14897
14897
|
*/
|
|
14898
|
-
isRunning: (statusStdout) => /Dolt server:\s*running/i.test(statusStdout)
|
|
14898
|
+
isRunning: (statusStdout) => /Dolt server:\s*running/i.test(statusStdout),
|
|
14899
|
+
/**
|
|
14900
|
+
* Poll delay behind a seam so tests stub it to a no-op (no real timers).
|
|
14901
|
+
* Production uses a short fixed delay between status re-probes.
|
|
14902
|
+
*/
|
|
14903
|
+
sleep: (ms) => new Promise((r) => setTimeout(r, ms))
|
|
14899
14904
|
};
|
|
14900
|
-
|
|
14901
|
-
|
|
14902
|
-
|
|
14905
|
+
var DEFAULTS = { startAttempts: 2, pollAttempts: 10, pollDelayMs: 500 };
|
|
14906
|
+
async function ensureSharedServer(adapter, options = {}) {
|
|
14907
|
+
const startAttempts = options.startAttempts ?? DEFAULTS.startAttempts;
|
|
14908
|
+
const pollAttempts = options.pollAttempts ?? DEFAULTS.pollAttempts;
|
|
14909
|
+
const pollDelayMs = options.pollDelayMs ?? DEFAULTS.pollDelayMs;
|
|
14910
|
+
const probe = async () => {
|
|
14911
|
+
const status2 = await adapter.run(["dolt", "status"]);
|
|
14912
|
+
return status2.code === 0 && _daemonSeam.isRunning(status2.stdout);
|
|
14913
|
+
};
|
|
14914
|
+
if (await probe()) {
|
|
14903
14915
|
log.trace("beads", "shared dolt sql-server already running \u2014 reusing");
|
|
14904
14916
|
return { up: true, started: false };
|
|
14905
14917
|
}
|
|
14906
|
-
|
|
14907
|
-
|
|
14908
|
-
|
|
14918
|
+
for (let attempt = 1; attempt <= startAttempts; attempt++) {
|
|
14919
|
+
log.info(
|
|
14920
|
+
"beads",
|
|
14921
|
+
`shared dolt sql-server not running \u2014 starting (detached), attempt ${attempt}/${startAttempts}`
|
|
14922
|
+
);
|
|
14923
|
+
const start2 = await adapter.run(["dolt", "start"]);
|
|
14924
|
+
if (start2.code !== 0) {
|
|
14925
|
+
log.warn(
|
|
14926
|
+
"beads",
|
|
14927
|
+
`bd dolt start failed (code=${start2.code}): ${start2.stderr.slice(0, 200)} \u2014 retrying`
|
|
14928
|
+
);
|
|
14929
|
+
if (attempt < startAttempts) await _daemonSeam.sleep(pollDelayMs);
|
|
14930
|
+
continue;
|
|
14931
|
+
}
|
|
14932
|
+
for (let poll = 1; poll <= pollAttempts; poll++) {
|
|
14933
|
+
if (await probe()) {
|
|
14934
|
+
log.info("beads", `shared dolt sql-server up after ${poll} status poll(s)`);
|
|
14935
|
+
return { up: true, started: true };
|
|
14936
|
+
}
|
|
14937
|
+
if (poll < pollAttempts) await _daemonSeam.sleep(pollDelayMs);
|
|
14938
|
+
}
|
|
14909
14939
|
log.warn(
|
|
14910
14940
|
"beads",
|
|
14911
|
-
`
|
|
14941
|
+
`shared dolt sql-server not listening after ${pollAttempts} polls (start attempt ${attempt}/${startAttempts})`
|
|
14912
14942
|
);
|
|
14913
|
-
return { up: false, started: false };
|
|
14914
|
-
}
|
|
14915
|
-
const recheck = await adapter.run(["dolt", "status"]);
|
|
14916
|
-
const up = recheck.code === 0 && _daemonSeam.isRunning(recheck.stdout);
|
|
14917
|
-
if (!up) {
|
|
14918
|
-
log.warn("beads", "shared dolt sql-server still not reachable after start \u2014 non-fatal");
|
|
14919
14943
|
}
|
|
14920
|
-
|
|
14944
|
+
log.warn("beads", "shared dolt sql-server still not reachable after all retries \u2014 non-fatal");
|
|
14945
|
+
return { up: false, started: false };
|
|
14921
14946
|
}
|
|
14922
14947
|
|
|
14923
14948
|
// src/beads/project-key.ts
|
|
@@ -17943,7 +17968,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17943
17968
|
if (process.env.NODE_ENV === "test") return;
|
|
17944
17969
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17945
17970
|
if (process.env.CI) return;
|
|
17946
|
-
const current = true ? "2.46.
|
|
17971
|
+
const current = true ? "2.46.4" : null;
|
|
17947
17972
|
if (!current) return;
|
|
17948
17973
|
const cache = readCache();
|
|
17949
17974
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17960,7 +17985,7 @@ function checkForUpdates() {
|
|
|
17960
17985
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17961
17986
|
if (process.env.CI) return;
|
|
17962
17987
|
if (!process.stdout.isTTY) return;
|
|
17963
|
-
const current = true ? "2.46.
|
|
17988
|
+
const current = true ? "2.46.4" : null;
|
|
17964
17989
|
if (!current) return;
|
|
17965
17990
|
const cache = readCache();
|
|
17966
17991
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -18402,7 +18427,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
|
|
|
18402
18427
|
detached: false
|
|
18403
18428
|
});
|
|
18404
18429
|
function currentCliVersion() {
|
|
18405
|
-
return true ? "2.46.
|
|
18430
|
+
return true ? "2.46.4" : null;
|
|
18406
18431
|
}
|
|
18407
18432
|
function runCmd(cmd, args2, timeoutMs) {
|
|
18408
18433
|
return new Promise((resolve7) => {
|
|
@@ -29739,7 +29764,7 @@ function checkChokidar() {
|
|
|
29739
29764
|
}
|
|
29740
29765
|
async function doctor(args2 = []) {
|
|
29741
29766
|
const json = args2.includes("--json");
|
|
29742
|
-
const cliVersion = true ? "2.46.
|
|
29767
|
+
const cliVersion = true ? "2.46.4" : "0.0.0-dev";
|
|
29743
29768
|
const apiBase2 = resolveApiBaseUrl();
|
|
29744
29769
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
29745
29770
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -29938,7 +29963,7 @@ async function completion(args2) {
|
|
|
29938
29963
|
// src/commands/version.ts
|
|
29939
29964
|
var import_picocolors15 = __toESM(require("picocolors"));
|
|
29940
29965
|
function version2() {
|
|
29941
|
-
const v = true ? "2.46.
|
|
29966
|
+
const v = true ? "2.46.4" : "unknown";
|
|
29942
29967
|
console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
|
|
29943
29968
|
}
|
|
29944
29969
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.46.
|
|
3
|
+
"version": "2.46.4",
|
|
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",
|