codeam-cli 2.35.8 → 2.35.9
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 +6 -0
- package/dist/index.js +39 -6
- package/package.json +1 -1
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.35.8] — 2026-06-10
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Handle group_mention_task (@codeagent runs + replies to group) (#316)
|
|
12
|
+
|
|
7
13
|
## [2.35.7] — 2026-06-10
|
|
8
14
|
|
|
9
15
|
### 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.
|
|
501
|
+
version: "2.35.9",
|
|
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.
|
|
5903
|
+
cliVersion: true ? "2.35.9" : "0.0.0-dev",
|
|
5904
5904
|
nodeVersion: process.version,
|
|
5905
5905
|
platform: process.platform,
|
|
5906
5906
|
arch: process.arch,
|
|
@@ -14664,6 +14664,14 @@ var AcpClient = class {
|
|
|
14664
14664
|
* the turn alive while the adapter is demonstrably working. Null
|
|
14665
14665
|
* between prompts. */
|
|
14666
14666
|
promptIdle = null;
|
|
14667
|
+
/** Tool calls the adapter has started but not yet reported terminal
|
|
14668
|
+
* (`completed`/`failed`). A long-running tool — typecheck, build,
|
|
14669
|
+
* install, a big test run — emits NO `session/update` for its whole
|
|
14670
|
+
* duration, which can exceed the idle window and falsely trip the
|
|
14671
|
+
* watchdog. While ANY tool is outstanding we SUSPEND the watchdog
|
|
14672
|
+
* (the agent is demonstrably working, just blocked on the tool), and
|
|
14673
|
+
* re-arm only once the last one finishes. Reset per prompt. */
|
|
14674
|
+
pendingToolCalls = /* @__PURE__ */ new Set();
|
|
14667
14675
|
/**
|
|
14668
14676
|
* Spawn the adapter + perform the initial handshake (initialize
|
|
14669
14677
|
* → newSession). Returns the ACP-assigned sessionId so the caller
|
|
@@ -14778,6 +14786,7 @@ var AcpClient = class {
|
|
|
14778
14786
|
)
|
|
14779
14787
|
);
|
|
14780
14788
|
this.promptIdle = idle;
|
|
14789
|
+
this.pendingToolCalls.clear();
|
|
14781
14790
|
try {
|
|
14782
14791
|
const result = await Promise.race([send, idle.promise]);
|
|
14783
14792
|
log.info(
|
|
@@ -14880,11 +14889,35 @@ var AcpClient = class {
|
|
|
14880
14889
|
log.trace("acpClient", "stop teardown error", err);
|
|
14881
14890
|
}
|
|
14882
14891
|
}
|
|
14892
|
+
/**
|
|
14893
|
+
* Drive the idle watchdog off the tool-call lifecycle so a long but
|
|
14894
|
+
* alive tool (typecheck / build / install) can't trip it.
|
|
14895
|
+
*
|
|
14896
|
+
* - `tool_call` (a tool starts) → track + suspend
|
|
14897
|
+
* - `tool_call_update` completed/failed → untrack; re-arm iff
|
|
14898
|
+
* no tool still running
|
|
14899
|
+
* - anything else (thought / message / …) → re-arm, unless a tool
|
|
14900
|
+
* is still outstanding
|
|
14901
|
+
*/
|
|
14902
|
+
trackToolCallIdle(params) {
|
|
14903
|
+
const u2 = params.update;
|
|
14904
|
+
if (u2.sessionUpdate === "tool_call" && typeof u2.toolCallId === "string") {
|
|
14905
|
+
this.pendingToolCalls.add(u2.toolCallId);
|
|
14906
|
+
this.promptIdle?.suspend();
|
|
14907
|
+
return;
|
|
14908
|
+
}
|
|
14909
|
+
if (u2.sessionUpdate === "tool_call_update" && (u2.status === "completed" || u2.status === "failed")) {
|
|
14910
|
+
if (typeof u2.toolCallId === "string") this.pendingToolCalls.delete(u2.toolCallId);
|
|
14911
|
+
if (this.pendingToolCalls.size === 0) this.promptIdle?.bump();
|
|
14912
|
+
return;
|
|
14913
|
+
}
|
|
14914
|
+
if (this.pendingToolCalls.size === 0) this.promptIdle?.bump();
|
|
14915
|
+
}
|
|
14883
14916
|
// ─── Client surface (what the agent calls into) ───────────────────
|
|
14884
14917
|
buildClient() {
|
|
14885
14918
|
return {
|
|
14886
14919
|
sessionUpdate: async (params) => {
|
|
14887
|
-
this.
|
|
14920
|
+
this.trackToolCallIdle(params);
|
|
14888
14921
|
this.opts.onSessionUpdate(params);
|
|
14889
14922
|
},
|
|
14890
14923
|
requestPermission: async (params) => {
|
|
@@ -26157,7 +26190,7 @@ function checkChokidar() {
|
|
|
26157
26190
|
}
|
|
26158
26191
|
async function doctor(args2 = []) {
|
|
26159
26192
|
const json = args2.includes("--json");
|
|
26160
|
-
const cliVersion = true ? "2.35.
|
|
26193
|
+
const cliVersion = true ? "2.35.9" : "0.0.0-dev";
|
|
26161
26194
|
const apiBase = resolveApiBaseUrl();
|
|
26162
26195
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
26163
26196
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -26356,7 +26389,7 @@ async function completion(args2) {
|
|
|
26356
26389
|
// src/commands/version.ts
|
|
26357
26390
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
26358
26391
|
function version2() {
|
|
26359
|
-
const v = true ? "2.35.
|
|
26392
|
+
const v = true ? "2.35.9" : "unknown";
|
|
26360
26393
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
26361
26394
|
}
|
|
26362
26395
|
|
|
@@ -26642,7 +26675,7 @@ function checkForUpdates() {
|
|
|
26642
26675
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
26643
26676
|
if (process.env.CI) return;
|
|
26644
26677
|
if (!process.stdout.isTTY) return;
|
|
26645
|
-
const current = true ? "2.35.
|
|
26678
|
+
const current = true ? "2.35.9" : null;
|
|
26646
26679
|
if (!current) return;
|
|
26647
26680
|
const cache = readCache();
|
|
26648
26681
|
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.
|
|
3
|
+
"version": "2.35.9",
|
|
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",
|