codeam-cli 2.4.19 → 2.4.21

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 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.4.19] — 2026-05-03
8
+
9
+ ### Added
10
+
11
+ - **cli:** Handle shutdown_session command from mobile / web (v2.4.19)
12
+
7
13
  ## [2.4.18] — 2026-05-03
8
14
 
9
15
  ### Added
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.19",
182
+ version: "2.4.21",
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: {
@@ -2770,6 +2770,20 @@ except Exception:sys.exit(0)
2770
2770
  case "stop_task":
2771
2771
  claude.interrupt();
2772
2772
  break;
2773
+ case "set_keep_alive": {
2774
+ const enabled = !!cmd.payload.enabled;
2775
+ const inCodespaceEnv = process.env.CODESPACES === "true";
2776
+ setKeepAlive(enabled);
2777
+ try {
2778
+ await relay.sendResult(
2779
+ cmd.id,
2780
+ "success",
2781
+ { enabled, applied: enabled && inCodespaceEnv, runtime: inCodespaceEnv ? "github-codespaces" : "local" }
2782
+ );
2783
+ } catch {
2784
+ }
2785
+ break;
2786
+ }
2773
2787
  case "shutdown_session": {
2774
2788
  try {
2775
2789
  await relay.sendResult(cmd.id, "success", { ok: true });
@@ -3014,6 +3028,24 @@ except Exception:sys.exit(0)
3014
3028
  setTimeout(() => {
3015
3029
  fetchQuotaUsage();
3016
3030
  }, 5e3);
3031
+ const inCodespace = process.env.CODESPACES === "true";
3032
+ let keepAliveTimer = null;
3033
+ function setKeepAlive(enabled) {
3034
+ if (keepAliveTimer) {
3035
+ clearInterval(keepAliveTimer);
3036
+ keepAliveTimer = null;
3037
+ }
3038
+ if (!enabled || !inCodespace) return;
3039
+ const ping = () => {
3040
+ const proc = (0, import_child_process4.spawn)("bash", ["-lc", "gh codespace list >/dev/null 2>&1 || true"], {
3041
+ stdio: "ignore",
3042
+ detached: true
3043
+ });
3044
+ proc.unref();
3045
+ };
3046
+ ping();
3047
+ keepAliveTimer = setInterval(ping, 8 * 60 * 1e3);
3048
+ }
3017
3049
  }
3018
3050
 
3019
3051
  // src/commands/pair.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.4.19",
3
+ "version": "2.4.21",
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": {