codeam-cli 2.75.3 → 2.75.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 CHANGED
@@ -4,6 +4,16 @@ 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.75.3] — 2026-09-16
8
+
9
+ ### Added
10
+
11
+ - **cli:** The agent can deploy, without ever seeing the deploy key (#758)
12
+
13
+ ### Fixed
14
+
15
+ - **shared:** Gemini solo acepta API key — Google retiró el nivel OAuth (#761)
16
+
7
17
  ## [2.75.2] — 2026-09-15
8
18
 
9
19
  ### Added
package/dist/index.js CHANGED
@@ -2804,6 +2804,26 @@ var AGENT_STANDARD_TEXT = `# Working standard
2804
2804
 
2805
2805
  You are an AI coding agent working on the user's project through CodeAgent Mobile. Follow this standard on every task.
2806
2806
 
2807
+ ## How to answer \u2014 you are being read on a PHONE
2808
+
2809
+ Your reply is read on a narrow screen, often one-handed, often while the user is doing something else. Length is a cost they pay. Write accordingly.
2810
+
2811
+ - **Lead with the answer.** First line = the result, the decision, or what changed. No preamble, no restating the request, no "Great question!", no narrating what you are about to do.
2812
+ - **Default to a few sentences.** Most replies fit in 1-2 short paragraphs or 3-6 tight bullets. A long reply is a deliberate choice you make because the task genuinely needs it \u2014 not the default.
2813
+ - **Say it once.** No summary of the summary, no closing paragraph that repeats the opening, no "let me know if you need anything else".
2814
+ - **Cut every word that carries no information** \u2014 hedges, filler adverbs, throat-clearing, and praise for the question.
2815
+ - **Expand when asked.** "Explain in detail", "walk me through it", "why?" are requests for depth: give it fully. Brevity is the default, not a ceiling.
2816
+
2817
+ **Formatting for a narrow screen:**
2818
+ - Short paragraphs (1-3 sentences). Bullets over prose for anything that is a list. Never a wall of text.
2819
+ - **No wide tables** \u2014 they force horizontal scrolling and become unreadable. Use bullets, or at most two columns.
2820
+ - Code blocks only when the user needs the exact characters (a command to run, the changed lines). Show the relevant lines, not the whole file. Keep lines short so they don't wrap badly.
2821
+ - File references as \`path/to/file.ts:42\`, not pasted paths inside long prose.
2822
+ - Bold sparingly, for the one thing that matters in a block. Headings only when the reply genuinely has multiple sections.
2823
+ - No ASCII art, no banners, no decorative separators, no emoji unless the user uses them first.
2824
+
2825
+ **Compress evidence, don't drop it.** Report the outcome, not the transcript: "tests: 128/128 green", "build failed \u2014 \`TS2322\` in \`api/client.ts:80\`". Paste raw output only when the user needs to read it themselves, and only the relevant lines.
2826
+
2807
2827
  ## How to work
2808
2828
  - **Understand before acting.** Restate the goal, read the relevant code, and be clear on what "done" looks like before changing anything.
2809
2829
  - **Plan first for anything non-trivial** (3+ steps or a design decision): outline the approach and the files you'll touch, and share it before implementing. Skip the ceremony for small, obvious fixes.
@@ -10389,7 +10409,7 @@ function readAnonId() {
10389
10409
  }
10390
10410
  function superProperties() {
10391
10411
  return {
10392
- cliVersion: true ? "2.75.3" : "0.0.0-dev",
10412
+ cliVersion: true ? "2.75.4" : "0.0.0-dev",
10393
10413
  nodeVersion: process.version,
10394
10414
  platform: process.platform,
10395
10415
  arch: process.arch,
@@ -10631,7 +10651,7 @@ var http = __toESM(require("http"));
10631
10651
  // package.json
10632
10652
  var package_default = {
10633
10653
  name: "codeam-cli",
10634
- version: "2.75.3",
10654
+ version: "2.75.4",
10635
10655
  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.",
10636
10656
  type: "commonjs",
10637
10657
  main: "dist/index.js",
@@ -12322,7 +12342,7 @@ var CommandRelayService = class _CommandRelayService {
12322
12342
  // fresh + clear the "CLI update available" banner after a self-update
12323
12343
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
12324
12344
  // pair/reconnect). Older backends ignore the extra field.
12325
- ..."2.75.3" ? { ideVersion: "2.75.3" } : {}
12345
+ ..."2.75.4" ? { ideVersion: "2.75.4" } : {}
12326
12346
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
12327
12347
  }
12328
12348
  /**
@@ -24656,7 +24676,7 @@ async function autoUpgradeBeforeCriticalCommand() {
24656
24676
  if (process.env.NODE_ENV === "test") return;
24657
24677
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
24658
24678
  if (process.env.CI) return;
24659
- const current2 = true ? "2.75.3" : null;
24679
+ const current2 = true ? "2.75.4" : null;
24660
24680
  if (!current2) return;
24661
24681
  const cache = readCache();
24662
24682
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -24673,7 +24693,7 @@ function checkForUpdates() {
24673
24693
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
24674
24694
  if (process.env.CI) return;
24675
24695
  if (!process.stdout.isTTY) return;
24676
- const current2 = true ? "2.75.3" : null;
24696
+ const current2 = true ? "2.75.4" : null;
24677
24697
  if (!current2) return;
24678
24698
  const cache = readCache();
24679
24699
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -24696,7 +24716,7 @@ var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
24696
24716
  var SELF_UPDATE_LS_TIMEOUT_MS = 15e3;
24697
24717
  var SUDO_PREFLIGHT_TIMEOUT_MS = 5e3;
24698
24718
  function currentCliVersion() {
24699
- return true ? "2.75.3" : null;
24719
+ return true ? "2.75.4" : null;
24700
24720
  }
24701
24721
  async function installedVersion(deps) {
24702
24722
  const ls = await deps.run(
@@ -50135,7 +50155,7 @@ function checkChokidar() {
50135
50155
  }
50136
50156
  async function doctor(args2 = []) {
50137
50157
  const json = args2.includes("--json");
50138
- const cliVersion = true ? "2.75.3" : "0.0.0-dev";
50158
+ const cliVersion = true ? "2.75.4" : "0.0.0-dev";
50139
50159
  const apiBase2 = resolveApiBaseUrl();
50140
50160
  const diagnosticId = (0, import_node_crypto13.randomUUID)();
50141
50161
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -50659,7 +50679,7 @@ async function mcpWarm(argv = [], opts = {}) {
50659
50679
  // src/commands/version.ts
50660
50680
  var import_picocolors15 = __toESM(require("picocolors"));
50661
50681
  function version2() {
50662
- const v = true ? "2.75.3" : "unknown";
50682
+ const v = true ? "2.75.4" : "unknown";
50663
50683
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
50664
50684
  }
50665
50685
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.75.3",
3
+ "version": "2.75.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",