codeam-cli 2.32.6 → 2.32.8

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,27 @@ 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.32.7] — 2026-06-07
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Use dns.lookup (OS resolver) as primary probe for cloudflared tunnel readiness
12
+ - **cli:** Keep Gemini snapshot valid as long as refresh_token is present
13
+
14
+ ## [2.32.6] — 2026-06-07
15
+
16
+ ### Fixed
17
+
18
+ - **cli:** Probe both A and AAAA records when waiting on cloudflared tunnel
19
+ - **cli:** Use dns.lookup (OS resolver) as primary probe for cloudflared tunnel readiness
20
+
21
+ ## [2.32.5] — 2026-06-07
22
+
23
+ ### Fixed
24
+
25
+ - **cli:** Run npx normalization AFTER preflight install, not before
26
+ - **cli:** Probe both A and AAAA records when waiting on cloudflared tunnel
27
+
7
28
  ## [2.32.4] — 2026-06-07
8
29
 
9
30
  ### Fixed
package/dist/index.js CHANGED
@@ -498,7 +498,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
498
498
  // package.json
499
499
  var package_default = {
500
500
  name: "codeam-cli",
501
- version: "2.32.6",
501
+ version: "2.32.8",
502
502
  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.",
503
503
  type: "commonjs",
504
504
  main: "dist/index.js",
@@ -5869,7 +5869,7 @@ function readAnonId() {
5869
5869
  }
5870
5870
  function superProperties() {
5871
5871
  return {
5872
- cliVersion: true ? "2.32.6" : "0.0.0-dev",
5872
+ cliVersion: true ? "2.32.8" : "0.0.0-dev",
5873
5873
  nodeVersion: process.version,
5874
5874
  platform: process.platform,
5875
5875
  arch: process.arch,
@@ -11788,12 +11788,18 @@ function validateLocalGeminiToken(credential) {
11788
11788
  } catch {
11789
11789
  return { status: "unknown" };
11790
11790
  }
11791
+ if (typeof parsed.refresh_token === "string" && parsed.refresh_token.length > 0) {
11792
+ return {
11793
+ status: "valid",
11794
+ expiresAt: typeof parsed.expiry_date === "number" ? parsed.expiry_date : void 0
11795
+ };
11796
+ }
11791
11797
  if (typeof parsed.expiry_date !== "number") return { status: "unknown" };
11792
11798
  const expiresAt = parsed.expiry_date;
11793
11799
  if (Date.now() >= expiresAt) {
11794
11800
  return {
11795
11801
  status: "expired",
11796
- reason: "Gemini OAuth access token expired",
11802
+ reason: "Gemini OAuth access token expired (no refresh_token in snapshot)",
11797
11803
  expiresAt
11798
11804
  };
11799
11805
  }
@@ -17737,6 +17743,9 @@ var requestPreviewDetectH = (ctx) => {
17737
17743
  });
17738
17744
  })();
17739
17745
  };
17746
+ function compileReadyPattern(pattern) {
17747
+ return new RegExp(pattern, "i");
17748
+ }
17740
17749
  function normalizeDetectionForSpawn(detection, cwd) {
17741
17750
  if (detection.command !== "npx") return detection;
17742
17751
  const args2 = detection.args ?? [];
@@ -17843,7 +17852,7 @@ var previewStartH = (ctx, _cmd, parsed) => {
17843
17852
  emitProgress("WAITING_FOR_READY", detection.ready_pattern);
17844
17853
  let readyMatched = false;
17845
17854
  let expoUrl = null;
17846
- const readyRe = new RegExp(detection.ready_pattern);
17855
+ const readyRe = compileReadyPattern(detection.ready_pattern);
17847
17856
  const READY_BUFFER_MAX = 32768;
17848
17857
  let readyBuffer = "";
17849
17858
  const onChunk = (chunk) => {
@@ -24938,7 +24947,7 @@ function checkChokidar() {
24938
24947
  }
24939
24948
  async function doctor(args2 = []) {
24940
24949
  const json = args2.includes("--json");
24941
- const cliVersion = true ? "2.32.6" : "0.0.0-dev";
24950
+ const cliVersion = true ? "2.32.8" : "0.0.0-dev";
24942
24951
  const apiBase = resolveApiBaseUrl();
24943
24952
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
24944
24953
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -25137,7 +25146,7 @@ async function completion(args2) {
25137
25146
  // src/commands/version.ts
25138
25147
  var import_picocolors13 = __toESM(require("picocolors"));
25139
25148
  function version2() {
25140
- const v = true ? "2.32.6" : "unknown";
25149
+ const v = true ? "2.32.8" : "unknown";
25141
25150
  console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
25142
25151
  }
25143
25152
 
@@ -25423,7 +25432,7 @@ function checkForUpdates() {
25423
25432
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
25424
25433
  if (process.env.CI) return;
25425
25434
  if (!process.stdout.isTTY) return;
25426
- const current = true ? "2.32.6" : null;
25435
+ const current = true ? "2.32.8" : null;
25427
25436
  if (!current) return;
25428
25437
  const cache = readCache();
25429
25438
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.32.6",
3
+ "version": "2.32.8",
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",