codeam-cli 2.35.6 → 2.35.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,22 @@ 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.35.7] — 2026-06-10
8
+
9
+ ### Fixed
10
+
11
+ - **cli:** Keep ACP thought + reply on distinct chunkIds (no kind flip) (#314)
12
+
13
+ ### Tests
14
+
15
+ - **cli:** Make cliBinDir tests pass on the Windows shard (#313)
16
+
17
+ ## [2.35.6] — 2026-06-10
18
+
19
+ ### Fixed
20
+
21
+ - **cli:** Cancel the ACP turn on failure so the session isn't poisoned (#312)
22
+
7
23
  ## [2.35.5] — 2026-06-10
8
24
 
9
25
  ### 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.35.6",
501
+ version: "2.35.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",
@@ -5900,7 +5900,7 @@ function readAnonId() {
5900
5900
  }
5901
5901
  function superProperties() {
5902
5902
  return {
5903
- cliVersion: true ? "2.35.6" : "0.0.0-dev",
5903
+ cliVersion: true ? "2.35.8" : "0.0.0-dev",
5904
5904
  nodeVersion: process.version,
5905
5905
  platform: process.platform,
5906
5906
  arch: process.arch,
@@ -15624,7 +15624,13 @@ function mapSessionUpdate(notification) {
15624
15624
  case "agent_thought_chunk": {
15625
15625
  const text = extractText2(update.content);
15626
15626
  if (!text) return [];
15627
- return [{ chunkId: messageChunkId(update.messageId), kind: "thinking", delta: text }];
15627
+ return [
15628
+ {
15629
+ chunkId: `${messageChunkId(update.messageId)}::thought`,
15630
+ kind: "thinking",
15631
+ delta: text
15632
+ }
15633
+ ];
15628
15634
  }
15629
15635
  case "tool_call": {
15630
15636
  const summary = describeToolCall(update);
@@ -21110,6 +21116,51 @@ async function handleCommand(cmd, client2, relay, acpSessionId, models, streamin
21110
21116
  }
21111
21117
  return;
21112
21118
  }
21119
+ case "group_mention_task": {
21120
+ const payload = cmd.payload;
21121
+ const taskId = typeof payload?.taskId === "string" ? payload.taskId : "";
21122
+ const promptText = typeof payload?.prompt === "string" ? payload.prompt : "";
21123
+ if (!taskId || !promptText.trim()) {
21124
+ await relay.sendResult(cmd.id, "failed", {
21125
+ error: "invalid group_mention_task payload"
21126
+ });
21127
+ return;
21128
+ }
21129
+ await streaming.beginTurn();
21130
+ history.appendUserPrompt(promptText);
21131
+ let response = "";
21132
+ let status2 = "completed";
21133
+ try {
21134
+ await client2.prompt(promptText);
21135
+ response = streaming.getCurrentText();
21136
+ await streaming.closeTurnWithInteractiveDetection();
21137
+ history.appendAgentReply(response);
21138
+ void history.flush();
21139
+ } catch (err) {
21140
+ status2 = "failed";
21141
+ response = describeError(err);
21142
+ await recoverFromFailedTurn(client2, streaming);
21143
+ }
21144
+ try {
21145
+ await _postJsonAuthed(
21146
+ `${resolveApiBaseUrl()}/api/agent-tasks/${encodeURIComponent(taskId)}/complete`,
21147
+ {
21148
+ sessionId: opts.sessionId,
21149
+ pluginId: opts.pluginId,
21150
+ response: response.slice(0, 32 * 1024),
21151
+ status: status2
21152
+ },
21153
+ opts.pluginAuthToken
21154
+ );
21155
+ } catch (err) {
21156
+ log.warn(
21157
+ "acpRunner",
21158
+ `group_mention_task ${taskId.slice(0, 8)} complete POST failed: ${describeError(err)}`
21159
+ );
21160
+ }
21161
+ await relay.sendResult(cmd.id, status2, { taskId });
21162
+ return;
21163
+ }
21113
21164
  case "stop_task":
21114
21165
  case "escape_key": {
21115
21166
  try {
@@ -26106,7 +26157,7 @@ function checkChokidar() {
26106
26157
  }
26107
26158
  async function doctor(args2 = []) {
26108
26159
  const json = args2.includes("--json");
26109
- const cliVersion = true ? "2.35.6" : "0.0.0-dev";
26160
+ const cliVersion = true ? "2.35.8" : "0.0.0-dev";
26110
26161
  const apiBase = resolveApiBaseUrl();
26111
26162
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
26112
26163
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -26305,7 +26356,7 @@ async function completion(args2) {
26305
26356
  // src/commands/version.ts
26306
26357
  var import_picocolors13 = __toESM(require("picocolors"));
26307
26358
  function version2() {
26308
- const v = true ? "2.35.6" : "unknown";
26359
+ const v = true ? "2.35.8" : "unknown";
26309
26360
  console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
26310
26361
  }
26311
26362
 
@@ -26591,7 +26642,7 @@ function checkForUpdates() {
26591
26642
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
26592
26643
  if (process.env.CI) return;
26593
26644
  if (!process.stdout.isTTY) return;
26594
- const current = true ? "2.35.6" : null;
26645
+ const current = true ? "2.35.8" : null;
26595
26646
  if (!current) return;
26596
26647
  const cache = readCache();
26597
26648
  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.35.6",
3
+ "version": "2.35.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",