codeam-cli 2.27.12 → 2.27.14
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 +33 -9
- 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.27.13] — 2026-06-06
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **cli:** Flip ACP default ON for agents with adapter
|
|
12
|
+
|
|
13
|
+
## [2.27.12] — 2026-06-06
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **cli:** ACP runner full command coverage + history + rich-bubble feed
|
|
18
|
+
|
|
7
19
|
## [2.27.11] — 2026-06-06
|
|
8
20
|
|
|
9
21
|
### 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.27.
|
|
501
|
+
version: "2.27.14",
|
|
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",
|
|
@@ -5873,7 +5873,7 @@ function readAnonId() {
|
|
|
5873
5873
|
}
|
|
5874
5874
|
function superProperties() {
|
|
5875
5875
|
return {
|
|
5876
|
-
cliVersion: true ? "2.27.
|
|
5876
|
+
cliVersion: true ? "2.27.14" : "0.0.0-dev",
|
|
5877
5877
|
nodeVersion: process.version,
|
|
5878
5878
|
platform: process.platform,
|
|
5879
5879
|
arch: process.arch,
|
|
@@ -18224,6 +18224,23 @@ async function runAcpSession(opts) {
|
|
|
18224
18224
|
`adapter handshake ok protocolVersion=${initialize.protocolVersion} sessionId=${acpSessionId.slice(0, 8)}`
|
|
18225
18225
|
);
|
|
18226
18226
|
showSuccess(`${opts.agent} online (ACP) \u2014 awaiting prompts from mobile.`);
|
|
18227
|
+
void publisher.publishOutput({
|
|
18228
|
+
type: "agent_banner",
|
|
18229
|
+
agentId: opts.agent,
|
|
18230
|
+
// Match the legacy "Welcome back!" copy the Claude PTY banner
|
|
18231
|
+
// detector used as title fallback — keeps the chat surface
|
|
18232
|
+
// visually identical to the PTY path on first connect.
|
|
18233
|
+
title: "Welcome back!",
|
|
18234
|
+
// Subtitle = "<display name> · <model>" when we know the model
|
|
18235
|
+
// (codex-acp returns `currentModelId` on newSession; claude /
|
|
18236
|
+
// gemini adapters omit it). Falls back to `<display name>`
|
|
18237
|
+
// alone so the card never renders with a dangling separator.
|
|
18238
|
+
subtitle: buildBannerSubtitle(opts.agent, acpSessionId, initialize),
|
|
18239
|
+
// The cwd — same field the legacy banner pulled from Claude's
|
|
18240
|
+
// footer line under the ASCII art.
|
|
18241
|
+
path: opts.cwd,
|
|
18242
|
+
done: true
|
|
18243
|
+
});
|
|
18227
18244
|
const runtime = createInteractiveAgentStrategy(opts.agent, createOsStrategy());
|
|
18228
18245
|
const models = await runtime.listModels();
|
|
18229
18246
|
const history = new AcpHistory(publisher, { agent: opts.agent, acpSessionId });
|
|
@@ -18496,6 +18513,12 @@ function describeError(err) {
|
|
|
18496
18513
|
if (err instanceof Error) return err.message;
|
|
18497
18514
|
return String(err);
|
|
18498
18515
|
}
|
|
18516
|
+
function buildBannerSubtitle(agentId, acpSessionId, _initialize) {
|
|
18517
|
+
const meta = AGENT_REGISTRY[agentId];
|
|
18518
|
+
const displayName = meta?.displayName ?? agentId;
|
|
18519
|
+
const shortId = acpSessionId.slice(0, 8);
|
|
18520
|
+
return `${displayName} \xB7 ACP \xB7 ${shortId}`;
|
|
18521
|
+
}
|
|
18499
18522
|
function buildLegacyContextForACP(opts, relay, runtime) {
|
|
18500
18523
|
return {
|
|
18501
18524
|
outputSvc: null,
|
|
@@ -21486,7 +21509,8 @@ async function start(requestedAgent) {
|
|
|
21486
21509
|
requestedAgent: requestedAgent ?? null
|
|
21487
21510
|
});
|
|
21488
21511
|
const cwd = process.cwd();
|
|
21489
|
-
|
|
21512
|
+
const acpDisabled = process.env.CODEAM_ACP_DISABLED === "1";
|
|
21513
|
+
if (!acpDisabled && session.pluginAuthToken) {
|
|
21490
21514
|
const adapter = getAcpAdapter(session.agent);
|
|
21491
21515
|
if (adapter) {
|
|
21492
21516
|
await runAcpSession({
|
|
@@ -21499,9 +21523,9 @@ async function start(requestedAgent) {
|
|
|
21499
21523
|
});
|
|
21500
21524
|
return;
|
|
21501
21525
|
}
|
|
21502
|
-
|
|
21503
|
-
|
|
21504
|
-
);
|
|
21526
|
+
}
|
|
21527
|
+
if (acpDisabled) {
|
|
21528
|
+
showInfo("CODEAM_ACP_DISABLED is set \u2014 running the legacy PTY pipeline.");
|
|
21505
21529
|
}
|
|
21506
21530
|
const runtime = createRuntimeStrategy(session.agent);
|
|
21507
21531
|
const historySvc = new HistoryService(runtime, pluginId, cwd);
|
|
@@ -24401,7 +24425,7 @@ function checkChokidar() {
|
|
|
24401
24425
|
}
|
|
24402
24426
|
async function doctor(args2 = []) {
|
|
24403
24427
|
const json = args2.includes("--json");
|
|
24404
|
-
const cliVersion = true ? "2.27.
|
|
24428
|
+
const cliVersion = true ? "2.27.14" : "0.0.0-dev";
|
|
24405
24429
|
const apiBase = resolveApiBaseUrl();
|
|
24406
24430
|
const diagnosticId = (0, import_node_crypto8.randomUUID)();
|
|
24407
24431
|
log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
|
|
@@ -24600,7 +24624,7 @@ async function completion(args2) {
|
|
|
24600
24624
|
// src/commands/version.ts
|
|
24601
24625
|
var import_picocolors13 = __toESM(require("picocolors"));
|
|
24602
24626
|
function version2() {
|
|
24603
|
-
const v = true ? "2.27.
|
|
24627
|
+
const v = true ? "2.27.14" : "unknown";
|
|
24604
24628
|
console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
|
|
24605
24629
|
}
|
|
24606
24630
|
|
|
@@ -24828,7 +24852,7 @@ function checkForUpdates() {
|
|
|
24828
24852
|
if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
|
|
24829
24853
|
if (process.env.CI) return;
|
|
24830
24854
|
if (!process.stdout.isTTY) return;
|
|
24831
|
-
const current = true ? "2.27.
|
|
24855
|
+
const current = true ? "2.27.14" : null;
|
|
24832
24856
|
if (!current) return;
|
|
24833
24857
|
const cache = readCache();
|
|
24834
24858
|
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.27.
|
|
3
|
+
"version": "2.27.14",
|
|
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",
|