codeam-cli 2.4.22 → 2.4.24
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 +46 -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.4.23] — 2026-05-03
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Shutdown_session also runs gh codespace stop (v2.4.23)
|
|
12
|
+
|
|
13
|
+
## [2.4.22] — 2026-05-03
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** "+ Don't see your project?" expands gh OAuth scopes (v2.4.22)
|
|
18
|
+
|
|
7
19
|
## [2.4.21] — 2026-05-03
|
|
8
20
|
|
|
9
21
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -179,7 +179,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
|
|
|
179
179
|
// package.json
|
|
180
180
|
var package_default = {
|
|
181
181
|
name: "codeam-cli",
|
|
182
|
-
version: "2.4.
|
|
182
|
+
version: "2.4.24",
|
|
183
183
|
description: "Remote control Claude Code (and other AI coding agents) from your mobile phone. Pair your device, send prompts, stream responses in real-time, and approve commands \u2014 from anywhere.",
|
|
184
184
|
main: "dist/index.js",
|
|
185
185
|
bin: {
|
|
@@ -2793,6 +2793,18 @@ except Exception:sys.exit(0)
|
|
|
2793
2793
|
claude.kill();
|
|
2794
2794
|
} catch {
|
|
2795
2795
|
}
|
|
2796
|
+
const codespaceName = process.env.CODESPACE_NAME;
|
|
2797
|
+
if (codespaceName && process.env.CODESPACES === "true") {
|
|
2798
|
+
try {
|
|
2799
|
+
const stopProc = (0, import_child_process4.spawn)(
|
|
2800
|
+
"bash",
|
|
2801
|
+
["-lc", `sleep 1; gh codespace stop -c ${JSON.stringify(codespaceName)} >/dev/null 2>&1 || true`],
|
|
2802
|
+
{ detached: true, stdio: "ignore" }
|
|
2803
|
+
);
|
|
2804
|
+
stopProc.unref();
|
|
2805
|
+
} catch {
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2796
2808
|
try {
|
|
2797
2809
|
const proc = (0, import_child_process4.spawn)("bash", ["-lc", "pm2 delete codeam-pair >/dev/null 2>&1 || true"], {
|
|
2798
2810
|
detached: true,
|
|
@@ -5418,20 +5430,43 @@ var GitHubCodespacesProvider = class {
|
|
|
5418
5430
|
});
|
|
5419
5431
|
}
|
|
5420
5432
|
async listProjects() {
|
|
5421
|
-
const
|
|
5422
|
-
"
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
"list",
|
|
5433
|
+
const fetchRepos = async (owner) => {
|
|
5434
|
+
const args2 = ["repo", "list"];
|
|
5435
|
+
if (owner) args2.push(owner);
|
|
5436
|
+
args2.push(
|
|
5426
5437
|
"--json",
|
|
5427
5438
|
"name,nameWithOwner,description,defaultBranchRef,isPrivate",
|
|
5428
5439
|
"--limit",
|
|
5429
5440
|
"200"
|
|
5430
|
-
|
|
5431
|
-
{
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5441
|
+
);
|
|
5442
|
+
try {
|
|
5443
|
+
const { stdout } = await execFileP2("gh", args2, { maxBuffer: MAX_BUFFER });
|
|
5444
|
+
return JSON.parse(stdout);
|
|
5445
|
+
} catch {
|
|
5446
|
+
return [];
|
|
5447
|
+
}
|
|
5448
|
+
};
|
|
5449
|
+
const own = await fetchRepos();
|
|
5450
|
+
let orgRepos = [];
|
|
5451
|
+
try {
|
|
5452
|
+
const { stdout } = await execFileP2(
|
|
5453
|
+
"gh",
|
|
5454
|
+
["api", "--paginate", "user/orgs", "--jq", ".[].login"],
|
|
5455
|
+
{ maxBuffer: MAX_BUFFER }
|
|
5456
|
+
);
|
|
5457
|
+
const orgLogins = stdout.split("\n").map((l) => l.trim()).filter((l) => l.length > 0);
|
|
5458
|
+
const perOrg = await Promise.all(orgLogins.map((org) => fetchRepos(org)));
|
|
5459
|
+
orgRepos = perOrg.flat();
|
|
5460
|
+
} catch {
|
|
5461
|
+
}
|
|
5462
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5463
|
+
const merged = [];
|
|
5464
|
+
for (const r of [...own, ...orgRepos]) {
|
|
5465
|
+
if (seen.has(r.nameWithOwner)) continue;
|
|
5466
|
+
seen.add(r.nameWithOwner);
|
|
5467
|
+
merged.push(r);
|
|
5468
|
+
}
|
|
5469
|
+
return merged.map((r) => ({
|
|
5435
5470
|
id: r.nameWithOwner,
|
|
5436
5471
|
name: r.name,
|
|
5437
5472
|
fullName: r.nameWithOwner,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeam-cli",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.24",
|
|
4
4
|
"description": "Remote control Claude Code (and other AI coding agents) from your mobile phone. Pair your device, send prompts, stream responses in real-time, and approve commands — from anywhere.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|