codeam-cli 2.37.0 → 2.37.1

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.
Files changed (2) hide show
  1. package/dist/index.js +45 -8
  2. package/package.json +1 -1
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.37.0",
501
+ version: "2.37.1",
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.37.0" : "0.0.0-dev",
5903
+ cliVersion: true ? "2.37.1" : "0.0.0-dev",
5904
5904
  nodeVersion: process.version,
5905
5905
  platform: process.platform,
5906
5906
  arch: process.arch,
@@ -15406,13 +15406,27 @@ function maybeSendOnboardingWelcome(opts) {
15406
15406
  return;
15407
15407
  }
15408
15408
  log.info("acpRunner", `sending first-pair onboarding welcome for session=${opts.sessionId.slice(0, 8)}`);
15409
- void opts.client.prompt(buildOnboardingPrompt(opts.cwd)).catch((err) => {
15409
+ void runOnboardingTurn(opts).catch((err) => {
15410
15410
  log.warn(
15411
15411
  "acpRunner",
15412
- `onboarding welcome prompt failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`
15412
+ `onboarding welcome turn failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`
15413
15413
  );
15414
15414
  });
15415
15415
  }
15416
+ async function runOnboardingTurn(opts) {
15417
+ const { client: client2, streaming, history, cwd } = opts;
15418
+ await streaming.beginTurn();
15419
+ try {
15420
+ await client2.prompt(buildOnboardingPrompt(cwd));
15421
+ const reply = streaming.getCurrentText();
15422
+ await streaming.closeAll();
15423
+ history.appendAgentInitiatedReply(reply);
15424
+ await history.flush();
15425
+ } catch (err) {
15426
+ await streaming.closeAll().catch(() => void 0);
15427
+ throw err;
15428
+ }
15429
+ }
15416
15430
 
15417
15431
  // src/agents/acp/promptEcho.ts
15418
15432
  var MAX_PROMPT_CHARS = 200;
@@ -21243,6 +21257,23 @@ var AcpHistory = class {
21243
21257
  timestamp: Date.now()
21244
21258
  });
21245
21259
  }
21260
+ /**
21261
+ * Record an agent-initiated reply that has NO preceding user prompt
21262
+ * — the first-pair onboarding welcome the agent sends on its own.
21263
+ * Seeds the RECENT summary from the reply itself (so {@link flush}
21264
+ * isn't skipped for lack of a user prompt) and appends ONLY the
21265
+ * agent message: the background instruction that produced this reply
21266
+ * must never surface as a user bubble on mobile.
21267
+ */
21268
+ appendAgentInitiatedReply(text) {
21269
+ const trimmed = text.trim();
21270
+ if (trimmed.length === 0) return;
21271
+ if (this.summary === null) {
21272
+ const oneLine = trimmed.replace(/\s+/g, " ");
21273
+ this.summary = oneLine.length > 120 ? oneLine.slice(0, 117) + "\u2026" : oneLine;
21274
+ }
21275
+ this.appendAgentReply(text);
21276
+ }
21246
21277
  /**
21247
21278
  * Push both the session list (RECENT entry) and the cumulative
21248
21279
  * conversation to the backend. Fire-and-forget — failures land in
@@ -21385,10 +21416,16 @@ async function runAcpSession(opts) {
21385
21416
  path: opts.cwd,
21386
21417
  done: true
21387
21418
  });
21388
- maybeSendOnboardingWelcome({ client: client2, sessionId: opts.sessionId, cwd: opts.cwd });
21389
21419
  const runtime = createInteractiveAgentStrategy(opts.agent, createOsStrategy());
21390
21420
  const models = await runtime.listModels();
21391
21421
  const history = new AcpHistory(publisher, { agent: opts.agent, acpSessionId });
21422
+ maybeSendOnboardingWelcome({
21423
+ client: client2,
21424
+ streaming,
21425
+ history,
21426
+ sessionId: opts.sessionId,
21427
+ cwd: opts.cwd
21428
+ });
21392
21429
  const turnFiles = new TurnFileAggregator({
21393
21430
  workingDir: opts.cwd,
21394
21431
  sessionId: opts.sessionId,
@@ -26559,7 +26596,7 @@ function checkChokidar() {
26559
26596
  }
26560
26597
  async function doctor(args2 = []) {
26561
26598
  const json = args2.includes("--json");
26562
- const cliVersion = true ? "2.37.0" : "0.0.0-dev";
26599
+ const cliVersion = true ? "2.37.1" : "0.0.0-dev";
26563
26600
  const apiBase = resolveApiBaseUrl();
26564
26601
  const diagnosticId = (0, import_node_crypto8.randomUUID)();
26565
26602
  log.info("doctor", `run id=${diagnosticId} cli=${cliVersion}`);
@@ -26758,7 +26795,7 @@ async function completion(args2) {
26758
26795
  // src/commands/version.ts
26759
26796
  var import_picocolors13 = __toESM(require("picocolors"));
26760
26797
  function version2() {
26761
- const v = true ? "2.37.0" : "unknown";
26798
+ const v = true ? "2.37.1" : "unknown";
26762
26799
  console.log(`${import_picocolors13.default.bold("codeam-cli")} ${import_picocolors13.default.cyan(v)}`);
26763
26800
  }
26764
26801
 
@@ -27044,7 +27081,7 @@ function checkForUpdates() {
27044
27081
  if (process.env.CODEAM_DISABLE_UPDATE_CHECK === "1") return;
27045
27082
  if (process.env.CI) return;
27046
27083
  if (!process.stdout.isTTY) return;
27047
- const current = true ? "2.37.0" : null;
27084
+ const current = true ? "2.37.1" : null;
27048
27085
  if (!current) return;
27049
27086
  const cache = readCache();
27050
27087
  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.37.0",
3
+ "version": "2.37.1",
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",