codeam-cli 2.23.24 → 2.23.26
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 +12 -0
- package/dist/index.js +37 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ 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.23.25] — 2026-05-30
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **cli:** Poll for input_suggestion after turn finalises
|
|
12
|
+
|
|
13
|
+
## [2.23.24] — 2026-05-30
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** Pre-assign Claude session id via --session-id, drop birthtime guesswork
|
|
18
|
+
|
|
7
19
|
## [2.23.23] — 2026-05-30
|
|
8
20
|
|
|
9
21
|
### Fixed
|
package/dist/index.js
CHANGED
|
@@ -441,7 +441,7 @@ var import_qrcode_terminal = __toESM(require("qrcode-terminal"));
|
|
|
441
441
|
// package.json
|
|
442
442
|
var package_default = {
|
|
443
443
|
name: "codeam-cli",
|
|
444
|
-
version: "2.23.
|
|
444
|
+
version: "2.23.26",
|
|
445
445
|
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.",
|
|
446
446
|
type: "commonjs",
|
|
447
447
|
main: "dist/index.js",
|
|
@@ -5774,7 +5774,7 @@ function readAnonId() {
|
|
|
5774
5774
|
}
|
|
5775
5775
|
function superProperties() {
|
|
5776
5776
|
return {
|
|
5777
|
-
cliVersion: true ? "2.23.
|
|
5777
|
+
cliVersion: true ? "2.23.26" : "0.0.0-dev",
|
|
5778
5778
|
nodeVersion: process.version,
|
|
5779
5779
|
platform: process.platform,
|
|
5780
5780
|
arch: process.arch,
|
|
@@ -11915,7 +11915,7 @@ var OutputService = class _OutputService {
|
|
|
11915
11915
|
this.terminalTurnPending = true;
|
|
11916
11916
|
this.onTerminalTurnDetected?.();
|
|
11917
11917
|
}
|
|
11918
|
-
|
|
11918
|
+
this.detectIdleSuggestion(raw);
|
|
11919
11919
|
return;
|
|
11920
11920
|
}
|
|
11921
11921
|
log.trace(
|
|
@@ -11925,6 +11925,36 @@ var OutputService = class _OutputService {
|
|
|
11925
11925
|
this.tryExtractSessionId(raw);
|
|
11926
11926
|
this.tryDetectRateLimit(raw);
|
|
11927
11927
|
}
|
|
11928
|
+
/**
|
|
11929
|
+
* Idle-window accumulator. PtyBuffer wipes its `raw` on
|
|
11930
|
+
* `deactivate()` to keep next-turn renders clean, so the
|
|
11931
|
+
* post-finalize PTY redraw frames don't live in `this.pty.content`.
|
|
11932
|
+
* We mirror them here only for the suggestion detector — a tiny
|
|
11933
|
+
* window of trailing bytes is enough for renderToLines to surface
|
|
11934
|
+
* the last frame. Cleared on every `beginTurn()`.
|
|
11935
|
+
*/
|
|
11936
|
+
idleBuffer = "";
|
|
11937
|
+
static IDLE_BUFFER_MAX = 32 * 1024;
|
|
11938
|
+
detectIdleSuggestion(raw) {
|
|
11939
|
+
if (!this.runtime.detectInputSuggestion) return;
|
|
11940
|
+
this.idleBuffer += raw;
|
|
11941
|
+
if (this.idleBuffer.length > _OutputService.IDLE_BUFFER_MAX) {
|
|
11942
|
+
this.idleBuffer = this.idleBuffer.slice(-_OutputService.IDLE_BUFFER_MAX);
|
|
11943
|
+
}
|
|
11944
|
+
const rendered = this.runtime.renderToLines?.(this.idleBuffer) ?? renderLines(this.idleBuffer);
|
|
11945
|
+
const suggestion = this.runtime.detectInputSuggestion(rendered);
|
|
11946
|
+
if (suggestion === this.lastSentSuggestion) return;
|
|
11947
|
+
this.lastSentSuggestion = suggestion;
|
|
11948
|
+
this.send(
|
|
11949
|
+
{
|
|
11950
|
+
type: "input_suggestion",
|
|
11951
|
+
content: suggestion ?? "",
|
|
11952
|
+
done: true
|
|
11953
|
+
},
|
|
11954
|
+
{ critical: false }
|
|
11955
|
+
).catch(() => {
|
|
11956
|
+
});
|
|
11957
|
+
}
|
|
11928
11958
|
dispose() {
|
|
11929
11959
|
this.stopPoll();
|
|
11930
11960
|
this.pty.deactivate();
|
|
@@ -11936,6 +11966,7 @@ var OutputService = class _OutputService {
|
|
|
11936
11966
|
this.steps.reset();
|
|
11937
11967
|
this.lastSentContent = "";
|
|
11938
11968
|
this.lastContentChangeAt = 0;
|
|
11969
|
+
this.idleBuffer = "";
|
|
11939
11970
|
this.startTime = Date.now();
|
|
11940
11971
|
this.pollTimer = setInterval(() => this.tick(), _OutputService.POLL_MS);
|
|
11941
11972
|
}
|
|
@@ -18876,7 +18907,7 @@ function checkChokidar() {
|
|
|
18876
18907
|
}
|
|
18877
18908
|
async function doctor(args2 = []) {
|
|
18878
18909
|
const json = args2.includes("--json");
|
|
18879
|
-
const cliVersion = true ? "2.23.
|
|
18910
|
+
const cliVersion = true ? "2.23.26" : "0.0.0-dev";
|
|
18880
18911
|
const apiBase = resolveApiBaseUrl();
|
|
18881
18912
|
const diagnosticId = (0, import_node_crypto6.randomUUID)();
|
|
18882
18913
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -19075,7 +19106,7 @@ async function completion(args2) {
|
|
|
19075
19106
|
// src/commands/version.ts
|
|
19076
19107
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
19077
19108
|
function version2() {
|
|
19078
|
-
const v = true ? "2.23.
|
|
19109
|
+
const v = true ? "2.23.26" : "unknown";
|
|
19079
19110
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
19080
19111
|
}
|
|
19081
19112
|
|
|
@@ -19303,7 +19334,7 @@ function checkForUpdates() {
|
|
|
19303
19334
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
19304
19335
|
if (process.env.CI) return;
|
|
19305
19336
|
if (!process.stdout.isTTY) return;
|
|
19306
|
-
const current = true ? "2.23.
|
|
19337
|
+
const current = true ? "2.23.26" : null;
|
|
19307
19338
|
if (!current) return;
|
|
19308
19339
|
const cache = readCache();
|
|
19309
19340
|
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.23.
|
|
3
|
+
"version": "2.23.26",
|
|
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",
|