codeam-cli 2.60.10 → 2.60.11

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.60.10] — 2026-07-08
8
+
9
+ ### Added
10
+
11
+ - **cli:** Detailed observability for the gemini baton paths
12
+
7
13
  ## [2.60.9] — 2026-07-08
8
14
 
9
15
  ### Added
package/dist/index.js CHANGED
@@ -220,15 +220,18 @@ var MODEL_PRICING = {
220
220
  "claude-3-5-haiku": { input: 0.8, output: 4, cacheRead: 0.08, cacheWrite: 1 },
221
221
  "claude-3-haiku": { input: 0.25, output: 1.25, cacheRead: 0.03, cacheWrite: 0.3 },
222
222
  // ── Codex / OpenAI ────────────────────────────────────────
223
- // Phase 2 placeholder pricing: 0 across the board until OpenAI publishes
224
- // confirmed rates for the GPT-5.x catalog. Sync from
225
- // developers.openai.com/pricing when available.
226
- "gpt-5.5": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
227
- "gpt-5.4": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
228
- "gpt-5.4-mini": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
229
- "gpt-5.3-codex": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
230
- "gpt-5.2": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
231
- "codex-auto-review": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }
223
+ // GPT-5.x rows are derived from OpenAI's published GPT-5 family rates
224
+ // (standard tier: $1.25/1M in, $10/1M out, cached input at ~10% of input;
225
+ // mini tier: $0.25/1M in, $2/1M out). OpenAI has no separate cache-WRITE
226
+ // premium, so cacheWrite mirrors the input rate. Replace with the exact
227
+ // per-version numbers from developers.openai.com/pricing when published
228
+ // these were the ZERO placeholders that rendered Codex sessions as $0.
229
+ "gpt-5.5": { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 1.25 },
230
+ "gpt-5.4": { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 1.25 },
231
+ "gpt-5.4-mini": { input: 0.25, output: 2, cacheRead: 0.025, cacheWrite: 0.25 },
232
+ "gpt-5.3-codex": { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 1.25 },
233
+ "gpt-5.2": { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 1.25 },
234
+ "codex-auto-review": { input: 1.25, output: 10, cacheRead: 0.125, cacheWrite: 1.25 }
232
235
  };
233
236
  var MODEL_CONTEXT_WINDOW = {
234
237
  // ── Anthropic / Claude ────────────────────────────────────
@@ -261,8 +264,14 @@ function longestPrefixMatch(table, model) {
261
264
  }
262
265
  return best;
263
266
  }
267
+ var UNKNOWN_MODEL_PRICING = {
268
+ input: 0,
269
+ output: 0,
270
+ cacheRead: 0,
271
+ cacheWrite: 0
272
+ };
264
273
  function getPricing(model) {
265
- return longestPrefixMatch(MODEL_PRICING, model) ?? MODEL_PRICING["claude-sonnet-4"];
274
+ return longestPrefixMatch(MODEL_PRICING, model) ?? UNKNOWN_MODEL_PRICING;
266
275
  }
267
276
  function getContextWindow(model) {
268
277
  if (!model) return DEFAULT_CONTEXT_WINDOW;
@@ -5653,7 +5662,7 @@ function readAnonId() {
5653
5662
  }
5654
5663
  function superProperties() {
5655
5664
  return {
5656
- cliVersion: true ? "2.60.10" : "0.0.0-dev",
5665
+ cliVersion: true ? "2.60.11" : "0.0.0-dev",
5657
5666
  nodeVersion: process.version,
5658
5667
  platform: process.platform,
5659
5668
  arch: process.arch,
@@ -5834,7 +5843,7 @@ var os4 = __toESM(require("os"));
5834
5843
  // package.json
5835
5844
  var package_default = {
5836
5845
  name: "codeam-cli",
5837
- version: "2.60.10",
5846
+ version: "2.60.11",
5838
5847
  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.",
5839
5848
  type: "commonjs",
5840
5849
  main: "dist/index.js",
@@ -6905,7 +6914,7 @@ var CommandRelayService = class {
6905
6914
  // fresh + clear the "CLI update available" banner after a self-update
6906
6915
  // (a codespace that reinstalls @latest reconnects via heartbeat, not
6907
6916
  // pair/reconnect). Older backends ignore the extra field.
6908
- ..."2.60.10" ? { ideVersion: "2.60.10" } : {}
6917
+ ..."2.60.11" ? { ideVersion: "2.60.11" } : {}
6909
6918
  }).then(() => log.trace("relay", `heartbeat ok online=${online}`)).catch((err) => log.trace("relay", `heartbeat failed online=${online}`, err));
6910
6919
  }
6911
6920
  /**
@@ -16175,7 +16184,7 @@ async function autoUpgradeBeforeCriticalCommand() {
16175
16184
  if (process.env.NODE_ENV === "test") return;
16176
16185
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
16177
16186
  if (process.env.CI) return;
16178
- const current = true ? "2.60.10" : null;
16187
+ const current = true ? "2.60.11" : null;
16179
16188
  if (!current) return;
16180
16189
  const cache = readCache();
16181
16190
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -16192,7 +16201,7 @@ function checkForUpdates() {
16192
16201
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
16193
16202
  if (process.env.CI) return;
16194
16203
  if (!process.stdout.isTTY) return;
16195
- const current = true ? "2.60.10" : null;
16204
+ const current = true ? "2.60.11" : null;
16196
16205
  if (!current) return;
16197
16206
  const cache = readCache();
16198
16207
  const fresh = cache && Date.now() - cache.fetchedAt < TTL_MS;
@@ -16212,7 +16221,7 @@ var SELF_UPDATE_INTERVAL_MS = 60 * 60 * 1e3;
16212
16221
  var SELF_UPDATE_VIEW_TIMEOUT_MS = 3e4;
16213
16222
  var SELF_UPDATE_INSTALL_TIMEOUT_MS = 18e4;
16214
16223
  function currentCliVersion() {
16215
- return true ? "2.60.10" : null;
16224
+ return true ? "2.60.11" : null;
16216
16225
  }
16217
16226
  function runCmd(cmd, args2, timeoutMs) {
16218
16227
  return new Promise((resolve7) => {
@@ -32991,7 +33000,7 @@ function checkChokidar() {
32991
33000
  }
32992
33001
  async function doctor(args2 = []) {
32993
33002
  const json = args2.includes("--json");
32994
- const cliVersion = true ? "2.60.10" : "0.0.0-dev";
33003
+ const cliVersion = true ? "2.60.11" : "0.0.0-dev";
32995
33004
  const apiBase2 = resolveApiBaseUrl();
32996
33005
  const diagnosticId = (0, import_node_crypto10.randomUUID)();
32997
33006
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -33190,7 +33199,7 @@ async function completion(args2) {
33190
33199
  // src/commands/version.ts
33191
33200
  var import_picocolors15 = __toESM(require("picocolors"));
33192
33201
  function version2() {
33193
- const v = true ? "2.60.10" : "unknown";
33202
+ const v = true ? "2.60.11" : "unknown";
33194
33203
  console.log(`${import_picocolors15.default.bold("codeam-cli")} ${import_picocolors15.default.cyan(v)}`);
33195
33204
  }
33196
33205
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeam-cli",
3
- "version": "2.60.10",
3
+ "version": "2.60.11",
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",