codeam-cli 2.41.0 → 2.41.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/dist/index.js +48 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5390,7 +5390,7 @@ function readAnonId() {
|
|
|
5390
5390
|
}
|
|
5391
5391
|
function superProperties() {
|
|
5392
5392
|
return {
|
|
5393
|
-
cliVersion: true ? "2.41.
|
|
5393
|
+
cliVersion: true ? "2.41.1" : "0.0.0-dev",
|
|
5394
5394
|
nodeVersion: process.version,
|
|
5395
5395
|
platform: process.platform,
|
|
5396
5396
|
arch: process.arch,
|
|
@@ -5549,7 +5549,7 @@ var os4 = __toESM(require("os"));
|
|
|
5549
5549
|
// package.json
|
|
5550
5550
|
var package_default = {
|
|
5551
5551
|
name: "codeam-cli",
|
|
5552
|
-
version: "2.41.
|
|
5552
|
+
version: "2.41.1",
|
|
5553
5553
|
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.",
|
|
5554
5554
|
type: "commonjs",
|
|
5555
5555
|
main: "dist/index.js",
|
|
@@ -17753,7 +17753,7 @@ async function autoUpgradeBeforeCriticalCommand() {
|
|
|
17753
17753
|
if (process.env.NODE_ENV === "test") return;
|
|
17754
17754
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17755
17755
|
if (process.env.CI) return;
|
|
17756
|
-
const current = true ? "2.41.
|
|
17756
|
+
const current = true ? "2.41.1" : null;
|
|
17757
17757
|
if (!current) return;
|
|
17758
17758
|
const cache = readCache();
|
|
17759
17759
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -17770,7 +17770,7 @@ function checkForUpdates() {
|
|
|
17770
17770
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
17771
17771
|
if (process.env.CI) return;
|
|
17772
17772
|
if (!process.stdout.isTTY) return;
|
|
17773
|
-
const current = true ? "2.41.
|
|
17773
|
+
const current = true ? "2.41.1" : null;
|
|
17774
17774
|
if (!current) return;
|
|
17775
17775
|
const cache = readCache();
|
|
17776
17776
|
const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
|
|
@@ -18208,7 +18208,7 @@ var defaultSpawner = (env, cwd, args2 = []) => (0, import_node_child_process14.s
|
|
|
18208
18208
|
detached: false
|
|
18209
18209
|
});
|
|
18210
18210
|
function currentCliVersion() {
|
|
18211
|
-
return true ? "2.41.
|
|
18211
|
+
return true ? "2.41.1" : null;
|
|
18212
18212
|
}
|
|
18213
18213
|
function runCmd(cmd, args2, timeoutMs) {
|
|
18214
18214
|
return new Promise((resolve7) => {
|
|
@@ -24626,15 +24626,46 @@ function looksLikeProviderOutage(text) {
|
|
|
24626
24626
|
function agentStatusPage(agent) {
|
|
24627
24627
|
const a = (agent ?? "").toLowerCase();
|
|
24628
24628
|
if (a.includes("claude") || a.includes("anthropic"))
|
|
24629
|
-
return {
|
|
24629
|
+
return {
|
|
24630
|
+
vendor: "Anthropic",
|
|
24631
|
+
url: "https://status.anthropic.com",
|
|
24632
|
+
statusApi: "https://status.anthropic.com/api/v2/status.json"
|
|
24633
|
+
};
|
|
24630
24634
|
if (a.includes("codex") || a.includes("openai"))
|
|
24631
|
-
return {
|
|
24635
|
+
return {
|
|
24636
|
+
vendor: "OpenAI",
|
|
24637
|
+
url: "https://status.openai.com",
|
|
24638
|
+
statusApi: "https://status.openai.com/api/v2/status.json"
|
|
24639
|
+
};
|
|
24632
24640
|
if (a.includes("gemini") || a.includes("google"))
|
|
24633
24641
|
return { vendor: "Google", url: "https://status.cloud.google.com" };
|
|
24634
|
-
if (a.includes("copilot"))
|
|
24635
|
-
|
|
24642
|
+
if (a.includes("copilot"))
|
|
24643
|
+
return {
|
|
24644
|
+
vendor: "GitHub",
|
|
24645
|
+
url: "https://www.githubstatus.com",
|
|
24646
|
+
statusApi: "https://www.githubstatus.com/api/v2/status.json"
|
|
24647
|
+
};
|
|
24648
|
+
if (a.includes("cursor"))
|
|
24649
|
+
return {
|
|
24650
|
+
vendor: "Cursor",
|
|
24651
|
+
url: "https://status.cursor.com",
|
|
24652
|
+
statusApi: "https://status.cursor.com/api/v2/status.json"
|
|
24653
|
+
};
|
|
24636
24654
|
return null;
|
|
24637
24655
|
}
|
|
24656
|
+
async function checkProviderStatus(agent, fetchImpl = fetch) {
|
|
24657
|
+
const info = agentStatusPage(agent);
|
|
24658
|
+
if (!info?.statusApi) return false;
|
|
24659
|
+
try {
|
|
24660
|
+
const res = await withTimeout(fetchImpl(info.statusApi), 4e3);
|
|
24661
|
+
if (!res || !res.ok) return false;
|
|
24662
|
+
const body = await res.json();
|
|
24663
|
+
const indicator = body?.status?.indicator;
|
|
24664
|
+
return typeof indicator === "string" && indicator.toLowerCase() !== "none";
|
|
24665
|
+
} catch {
|
|
24666
|
+
return false;
|
|
24667
|
+
}
|
|
24668
|
+
}
|
|
24638
24669
|
function providerOutageMessage(agent) {
|
|
24639
24670
|
const info = agentStatusPage(agent);
|
|
24640
24671
|
const who = info ? info.vendor : "The agent provider";
|
|
@@ -24963,12 +24994,17 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
|
|
|
24963
24994
|
await recoverFromFailedTurn(client2, streaming);
|
|
24964
24995
|
const detail = describeError(err);
|
|
24965
24996
|
log.warn("acpRunner", `prompt failed: ${detail}`);
|
|
24966
|
-
|
|
24997
|
+
let bubble = failureBubble({
|
|
24967
24998
|
detail,
|
|
24968
24999
|
recentStderr: recentStderr.join("\n"),
|
|
24969
25000
|
hadText,
|
|
24970
25001
|
agent: opts.agent
|
|
24971
25002
|
});
|
|
25003
|
+
if (bubble !== AUTH_FAILURE_MESSAGE && bubble !== providerOutageMessage(opts.agent)) {
|
|
25004
|
+
if (await checkProviderStatus(opts.agent)) {
|
|
25005
|
+
bubble = providerOutageMessage(opts.agent);
|
|
25006
|
+
}
|
|
25007
|
+
}
|
|
24972
25008
|
if (bubble) {
|
|
24973
25009
|
await publisher.publishOutput({ type: "text", content: bubble, done: true });
|
|
24974
25010
|
history.appendAgentReply(bubble);
|
|
@@ -29126,7 +29162,7 @@ function checkChokidar() {
|
|
|
29126
29162
|
}
|
|
29127
29163
|
async function doctor(args2 = []) {
|
|
29128
29164
|
const json = args2.includes("--json");
|
|
29129
|
-
const cliVersion = true ? "2.41.
|
|
29165
|
+
const cliVersion = true ? "2.41.1" : "0.0.0-dev";
|
|
29130
29166
|
const apiBase2 = resolveApiBaseUrl();
|
|
29131
29167
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
29132
29168
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -29325,7 +29361,7 @@ async function completion(args2) {
|
|
|
29325
29361
|
// src/commands/version.ts
|
|
29326
29362
|
var import_picocolors14 = __toESM(require("picocolors"));
|
|
29327
29363
|
function version2() {
|
|
29328
|
-
const v = true ? "2.41.
|
|
29364
|
+
const v = true ? "2.41.1" : "unknown";
|
|
29329
29365
|
console.log(`${import_picocolors14.default.bold("codeam-cli")} ${import_picocolors14.default.cyan(v)}`);
|
|
29330
29366
|
}
|
|
29331
29367
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.41.
|
|
3
|
+
"version": "2.41.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",
|