codeam-cli 2.23.24 → 2.23.25
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 +37 -5
- 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.23.24] — 2026-05-30
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Pre-assign Claude session id via --session-id, drop birthtime guesswork
|
|
12
|
+
|
|
7
13
|
## [2.23.23] — 2026-05-30
|
|
8
14
|
|
|
9
15
|
### 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.25",
|
|
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.25" : "0.0.0-dev",
|
|
5778
5778
|
nodeVersion: process.version,
|
|
5779
5779
|
platform: process.platform,
|
|
5780
5780
|
arch: process.arch,
|
|
@@ -12138,8 +12138,40 @@ var OutputService = class _OutputService {
|
|
|
12138
12138
|
).catch(() => {
|
|
12139
12139
|
});
|
|
12140
12140
|
this.onTurnComplete?.();
|
|
12141
|
+
this.scheduleSuggestionPoll();
|
|
12141
12142
|
}
|
|
12142
12143
|
}
|
|
12144
|
+
/**
|
|
12145
|
+
* Poll for an `input_suggestion` chunk a few times after a
|
|
12146
|
+
* turn finalises. The TUI takes a beat to render the ghost
|
|
12147
|
+
* completion, so a single check at finalize-time would miss
|
|
12148
|
+
* it. Three checks at 400/800/1500 ms cover the window
|
|
12149
|
+
* without burning CPU when there's no suggestion (each tick
|
|
12150
|
+
* is cheap — a regex over the rendered lines).
|
|
12151
|
+
*/
|
|
12152
|
+
scheduleSuggestionPoll() {
|
|
12153
|
+
if (!this.runtime.detectInputSuggestion) return;
|
|
12154
|
+
const tryDetect = () => {
|
|
12155
|
+
if (!this.runtime.detectInputSuggestion) return;
|
|
12156
|
+
const rendered = this.runtime.renderToLines?.(this.pty.content) ?? renderLines(this.pty.content);
|
|
12157
|
+
const suggestion = this.runtime.detectInputSuggestion(rendered);
|
|
12158
|
+
if (suggestion !== this.lastSentSuggestion) {
|
|
12159
|
+
this.lastSentSuggestion = suggestion;
|
|
12160
|
+
this.send(
|
|
12161
|
+
{
|
|
12162
|
+
type: "input_suggestion",
|
|
12163
|
+
content: suggestion ?? "",
|
|
12164
|
+
done: true
|
|
12165
|
+
},
|
|
12166
|
+
{ critical: false }
|
|
12167
|
+
).catch(() => {
|
|
12168
|
+
});
|
|
12169
|
+
}
|
|
12170
|
+
};
|
|
12171
|
+
setTimeout(tryDetect, 400);
|
|
12172
|
+
setTimeout(tryDetect, 800);
|
|
12173
|
+
setTimeout(tryDetect, 1500);
|
|
12174
|
+
}
|
|
12143
12175
|
// ─── Side-channel observation (session id + rate limit) ──────────
|
|
12144
12176
|
tryExtractSessionId(text) {
|
|
12145
12177
|
if (!this.onSessionIdDetected) return;
|
|
@@ -18876,7 +18908,7 @@ function checkChokidar() {
|
|
|
18876
18908
|
}
|
|
18877
18909
|
async function doctor(args2 = []) {
|
|
18878
18910
|
const json = args2.includes("--json");
|
|
18879
|
-
const cliVersion = true ? "2.23.
|
|
18911
|
+
const cliVersion = true ? "2.23.25" : "0.0.0-dev";
|
|
18880
18912
|
const apiBase = resolveApiBaseUrl();
|
|
18881
18913
|
const diagnosticId = (0, import_node_crypto6.randomUUID)();
|
|
18882
18914
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -19075,7 +19107,7 @@ async function completion(args2) {
|
|
|
19075
19107
|
// src/commands/version.ts
|
|
19076
19108
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
19077
19109
|
function version2() {
|
|
19078
|
-
const v = true ? "2.23.
|
|
19110
|
+
const v = true ? "2.23.25" : "unknown";
|
|
19079
19111
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
19080
19112
|
}
|
|
19081
19113
|
|
|
@@ -19303,7 +19335,7 @@ function checkForUpdates() {
|
|
|
19303
19335
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
19304
19336
|
if (process.env.CI) return;
|
|
19305
19337
|
if (!process.stdout.isTTY) return;
|
|
19306
|
-
const current = true ? "2.23.
|
|
19338
|
+
const current = true ? "2.23.25" : null;
|
|
19307
19339
|
if (!current) return;
|
|
19308
19340
|
const cache = readCache();
|
|
19309
19341
|
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.25",
|
|
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",
|