zcode-acp-server 0.32.0 → 0.34.0

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/README.md CHANGED
@@ -237,7 +237,9 @@ Thanks to everyone who has contributed (updated automatically from the
237
237
  [contributors graph](https://github.com/william0wang/zcode-acp/graphs/contributors)):
238
238
 
239
239
  <a href="https://github.com/william0wang/zcode-acp/graphs/contributors">
240
- <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp" alt="Contributors" />
240
+ <!-- release-please re-stamps &v= on every release: the new URL busts the
241
+ contrib.rocks and GitHub camo image caches. -->
242
+ <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.34.0" alt="Contributors" /> <!-- x-release-please-version -->
241
243
  </a>
242
244
 
243
245
  ## Related Projects
@@ -1,4 +1,4 @@
1
1
  {
2
- "fingerprint": "7d87b6c304172fdc2b35e55b9d7a5cab4757024e7e2300440d91f271044bf722",
2
+ "fingerprint": "2c3ffa2e02ed3399426891c68a7325891b3c4ff5dd8f4aa1fcc0a194014a0000",
3
3
  "fileCount": 75
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server-requests.d.ts","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAEV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhE,wEAAwE;AACxE,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAwCD,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQtF;AAuHD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI,CAgBN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,OAAO,CAAC,CAmElB;AA2LD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,+BAA+B,EACvC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,CA0EnC;AA6ED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB"}
1
+ {"version":3,"file":"server-requests.d.ts","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAEV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhE,wEAAwE;AACxE,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAwCD,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQtF;AAuHD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI,CAgBN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,OAAO,CAAC,CAmElB;AAyMD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,+BAA+B,EACvC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,CA0EnC;AAqHD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB"}
@@ -19,7 +19,7 @@
19
19
  * and re-sent to a client when its session/load / session/resume completes —
20
20
  * the re-send joins the existing first-response-wins race.
21
21
  */
22
- import { acpPermissionResponseToExitPlanMode, acpPermissionResponseToZcode, buildAskUserAcpParams, buildAskUserElicitationForm, exitPlanModeToAcpPermission, isAskUserQuestion, isExitPlanMode, isPermissionRequest, parseAskUserElicitationResponse, parseAskUserResponse, splitAskUserQuestions, zcodePermissionToAcp, } from "../interaction/adapter.js";
22
+ import { acpPermissionResponseToExitPlanMode, acpPermissionResponseToZcode, buildAskUserAcpParams, buildAskUserElicitationForm, buildPlanApprovalElicitationForm, exitPlanModeToAcpPermission, isAskUserQuestion, isExitPlanMode, isPermissionRequest, parseAskUserElicitationResponse, parseAskUserResponse, parsePlanApprovalElicitationResponse, splitAskUserQuestions, zcodePermissionToAcp, } from "../interaction/adapter.js";
23
23
  import { buildConfigOptions, buildModes } from "../config/options.js";
24
24
  import { messages } from "../i18n.js";
25
25
  import { clientConnectionRoot, log, warn } from "../utils.js";
@@ -372,13 +372,22 @@ async function handleSinglePermission(server, cx, acpSid, params, epm, perm, tur
372
372
  }
373
373
  }
374
374
  await sendSessionUpdate(cx, acpSid, tcUpdate);
375
- // ExitPlanMode and tool auth both go through session/request_permission.
376
- // ExitPlanMode intentionally does NOT use elicitation/create even when the
377
- // client supports forms — matching claude-agent-acp's reference behaviour:
378
- // plan approval is a permission decision (approve/reject), not a structured
379
- // input, and rendering it through the elicitation channel surfaces a generic
380
- // "input request" shell that reads wrong for this flow. AskUserQuestion is
381
- // the right place for elicitation; plan approval is not.
375
+ // ExitPlanMode routing splits by client capability:
376
+ // - Form-capable clients (martty) get an elicitation FORM: the complete
377
+ // plan renders as markdown in a scrollable detail pane and approve/reject
378
+ // are enum choices — a one-line permission popup can never show a plan.
379
+ // - Clients without forms (Zed) keep session/request_permission, whose
380
+ // toolCall carries the plan in `content` for the same reason.
381
+ // Both converge on the same zcode accept/decline response shape.
382
+ if (epm && server.supportsElicitationForm()) {
383
+ const elicited = await handlePlanApprovalViaElicitation(server, cx, acpSid, p, turn);
384
+ // null = the form channel failed (capability flags are OR-merged across
385
+ // clients at initialize and survive detach, so the flag can outlive the
386
+ // form-capable client). Fall through to request_permission below — every
387
+ // client can answer that popup — instead of silently declining the plan.
388
+ if (elicited !== null)
389
+ return elicited;
390
+ }
382
391
  const acpParams = perm
383
392
  ? zcodePermissionToAcp(p, acpSid)
384
393
  : exitPlanModeToAcpPermission(p, acpSid);
@@ -420,7 +429,7 @@ export async function handleAskUserQuestion(server, cx, acpSid, params, turn) {
420
429
  if (!q.multiSelect) {
421
430
  // Single-select: one popup.
422
431
  await emitAskToolCall(cx, acpSid, toolCallId, idx, q.question, rawInput);
423
- const acpParams = buildAskUserAcpParams(params, acpSid, q.options);
432
+ const acpParams = buildAskUserAcpParams(params, acpSid, q.options, q.question);
424
433
  acpParams.toolCall.toolCallId = `${toolCallId}_${idx}`;
425
434
  const resp = await askOnce(server, cx, acpParams, idx + 1, qs.length, q.question, turn);
426
435
  if (turn?.cancelled) {
@@ -450,7 +459,7 @@ export async function handleAskUserQuestion(server, cx, acpSid, params, turn) {
450
459
  const { label, pair } = pairs[sub];
451
460
  const promptText = `${q.question}\n— include "${label}"?`;
452
461
  await emitAskToolCall(cx, acpSid, toolCallId, `${idx}_${sub}`, promptText, rawInput);
453
- const acpParams = buildAskUserAcpParams(params, acpSid, pair);
462
+ const acpParams = buildAskUserAcpParams(params, acpSid, pair, promptText);
454
463
  acpParams.toolCall.toolCallId = `${toolCallId}_${idx}_${sub}`;
455
464
  const resp = await askOnce(server, cx, acpParams, idx + 1, qs.length, label, turn);
456
465
  // Abort the whole multi-select if the turn was cancelled (user sent a
@@ -511,6 +520,31 @@ async function handleAskUserViaElicitation(server, cx, acpSid, params, toolCallI
511
520
  log(` ✓ AskUserQuestion elicitation answered (${Object.keys(answers).length})`);
512
521
  return { action: "accept", content: { answers } };
513
522
  }
523
+ /**
524
+ * ExitPlanMode via elicitation form — the plan-review surface for
525
+ * form-capable clients. The form's field description carries the complete
526
+ * plan markdown (martty renders it scrollable in a detail pane); the decision
527
+ * is a required approve/reject enum. Cancelled/declined forms map to decline.
528
+ * Returns null when the form channel itself failed (timeout, or no client that
529
+ * can answer elicitation any more) so the caller can fall back to
530
+ * request_permission.
531
+ */
532
+ async function handlePlanApprovalViaElicitation(server, cx, acpSid, params, turn) {
533
+ const toolCallId = params.toolCallId ?? "";
534
+ const formParams = buildPlanApprovalElicitationForm(params, acpSid, toolCallId || undefined);
535
+ log(" ⟳ ExitPlanMode forwarding elicitation/create (form, plan review)");
536
+ const acpResp = await requestWithTimeout(server, cx, "elicitation/create", formParams, "plan approval (elicitation)", undefined, turn);
537
+ if (acpResp === INTERRUPTED) {
538
+ return onInteractionInterrupted(cx, acpSid, toolCallId, turn);
539
+ }
540
+ if (acpResp === null) {
541
+ warn("plan approval elicitation got no form response; falling back to request_permission");
542
+ return null;
543
+ }
544
+ const resp = parsePlanApprovalElicitationResponse(acpResp);
545
+ log(` ✓ plan approval: ${resp.action}`);
546
+ return resp;
547
+ }
514
548
  /** Emit the prerequisite tool_call for an AskUserQuestion popup. */
515
549
  async function emitAskToolCall(cx, acpSid, toolCallId, idxSuffix, qText, rawInput) {
516
550
  await sendSessionUpdate(cx, acpSid, {
@@ -1 +1 @@
1
- {"version":3,"file":"server-requests.js","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-requests.js","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  import type * as acp from "@agentclientprotocol/sdk";
14
14
  import type { ZcodeBackend } from "../backend/client.js";
15
15
  import { EventStreamListener, TurnMonitor } from "../backend/listener.js";
16
- import { ProjectionDiffer } from "../translators/index.js";
16
+ import { EventTranslator, ProjectionDiffer } from "../translators/index.js";
17
17
  import type { PendingTurn, ZcodeAcpServer } from "../server.js";
18
18
  /**
19
19
  * Read and consume the boot-resume session id: the first `session/new` after
@@ -278,6 +278,24 @@ export declare function extractAttachments(blocks: acp.ContentBlock[] | undefine
278
278
  * plus a generic English form.
279
279
  */
280
280
  export declare function isTransientSendError(message: string): boolean;
281
+ /**
282
+ * Map the backend's merged per-turn usage (`EventTranslator.turnUsage`) onto
283
+ * the ACP `PromptResponse.usage` shape (UNSTABLE in agent-client-protocol;
284
+ * per-turn semantics per its "Token usage for this turn" description). The
285
+ * three required counters are always present in the backend object (its
286
+ * reducer 0-fills them); the optional ones pass through as null when
287
+ * unreported. Field renames: reasoningTokens→thoughtTokens,
288
+ * cacheRead/cacheWriteTokens→cachedRead/cachedWriteTokens.
289
+ */
290
+ export declare function toAcpTurnUsage(u: Record<string, unknown> | null): acp.Usage | undefined;
291
+ /**
292
+ * Build the ACP `session/prompt` result for a concluded turn, attaching the
293
+ * turn's usage when the backend reported one (absent otherwise — no synthetic
294
+ * zeros). Spec fields carry the standard counters; backend extras (source,
295
+ * modelRequestCount, web request counts) ride in `_meta.zcode.usage` per the
296
+ * bridge's extension policy.
297
+ */
298
+ export declare function turnResult(translator: EventTranslator, stopReason: acp.StopReason): acp.PromptResponse;
281
299
  /**
282
300
  * Event-driven turn loop: translate zcode events via EventTranslator and
283
301
  * dispatch each internal event to the ACP client. No-progress timeout is 120s
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
@@ -2064,6 +2064,52 @@ function getOrCreateDiffer(server, zcodeSid) {
2064
2064
  differ.resetTurn();
2065
2065
  return differ;
2066
2066
  }
2067
+ /**
2068
+ * Map the backend's merged per-turn usage (`EventTranslator.turnUsage`) onto
2069
+ * the ACP `PromptResponse.usage` shape (UNSTABLE in agent-client-protocol;
2070
+ * per-turn semantics per its "Token usage for this turn" description). The
2071
+ * three required counters are always present in the backend object (its
2072
+ * reducer 0-fills them); the optional ones pass through as null when
2073
+ * unreported. Field renames: reasoningTokens→thoughtTokens,
2074
+ * cacheRead/cacheWriteTokens→cachedRead/cachedWriteTokens.
2075
+ */
2076
+ export function toAcpTurnUsage(u) {
2077
+ if (!u)
2078
+ return undefined;
2079
+ const num = (k) => (typeof u[k] === "number" ? u[k] : 0);
2080
+ const numOrNull = (k) => typeof u[k] === "number" ? u[k] : null;
2081
+ return {
2082
+ totalTokens: num("totalTokens"),
2083
+ inputTokens: num("inputTokens"),
2084
+ outputTokens: num("outputTokens"),
2085
+ thoughtTokens: numOrNull("reasoningTokens"),
2086
+ cachedReadTokens: numOrNull("cacheReadTokens"),
2087
+ cachedWriteTokens: numOrNull("cacheWriteTokens"),
2088
+ };
2089
+ }
2090
+ /**
2091
+ * Build the ACP `session/prompt` result for a concluded turn, attaching the
2092
+ * turn's usage when the backend reported one (absent otherwise — no synthetic
2093
+ * zeros). Spec fields carry the standard counters; backend extras (source,
2094
+ * modelRequestCount, web request counts) ride in `_meta.zcode.usage` per the
2095
+ * bridge's extension policy.
2096
+ */
2097
+ export function turnResult(translator, stopReason) {
2098
+ const raw = translator.turnUsage;
2099
+ const usage = toAcpTurnUsage(raw);
2100
+ if (!usage || !raw)
2101
+ return { stopReason };
2102
+ const extras = {};
2103
+ for (const k of ["source", "modelRequestCount", "webFetchRequests", "webSearchRequests"]) {
2104
+ if (raw[k] !== undefined)
2105
+ extras[k] = raw[k];
2106
+ }
2107
+ return {
2108
+ stopReason,
2109
+ usage,
2110
+ _meta: { zcode: { usage: extras } },
2111
+ };
2112
+ }
2067
2113
  /**
2068
2114
  * Event-driven turn loop: translate zcode events via EventTranslator and
2069
2115
  * dispatch each internal event to the ACP client. No-progress timeout is 120s
@@ -2183,7 +2229,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2183
2229
  // Preserve the pre-existing bounded cancel behaviour. A stuck prompt
2184
2230
  // lock after stop must not keep a user-cancelled turn alive forever.
2185
2231
  stopBackendTurn(server, turn.zcodeSid, turn.foregroundExecutionId);
2186
- return { stopReason: "max_turn_requests" };
2232
+ return turnResult(translator, "max_turn_requests");
2187
2233
  }
2188
2234
  else {
2189
2235
  const frozenMs = Date.now() - lastWatermarkAdvanceAt;
@@ -2211,7 +2257,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2211
2257
  // (never compress its context; the completion is inferred).
2212
2258
  turn.stallRecovered = true;
2213
2259
  log(` [stall] watermark frozen ${Math.round(frozenMs / 1000)}s; ending turn after delivered output`);
2214
- return { stopReason: "end_turn" };
2260
+ return turnResult(translator, "end_turn");
2215
2261
  }
2216
2262
  else {
2217
2263
  const reply = await fetchLastReply(server, turn.zcodeSid, differ);
@@ -2220,11 +2266,11 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2220
2266
  await sendTextChunk(cx, acpSid, reply.text, chunkMsgId);
2221
2267
  turn.stallRecovered = true;
2222
2268
  log(` [stall] watermark frozen ${Math.round(frozenMs / 1000)}s; recovered reply via session/messages`);
2223
- return { stopReason: "end_turn" };
2269
+ return turnResult(translator, "end_turn");
2224
2270
  }
2225
2271
  log(` [stall] watermark frozen ${Math.round(frozenMs / 1000)}s with no output; stopping backend turn`);
2226
2272
  stopBackendTurn(server, turn.zcodeSid, turn.foregroundExecutionId);
2227
- return { stopReason: "max_turn_requests" };
2273
+ return turnResult(translator, "max_turn_requests");
2228
2274
  }
2229
2275
  }
2230
2276
  }
@@ -2259,7 +2305,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2259
2305
  stopBackendTurn(server, turn.zcodeSid, turn.foregroundExecutionId);
2260
2306
  turn.stopSent = true;
2261
2307
  }
2262
- return { stopReason: "cancelled" };
2308
+ return turnResult(translator, "cancelled");
2263
2309
  }
2264
2310
  const ev = await listener.pollEvent(500);
2265
2311
  if (ev === null) {
@@ -2327,7 +2373,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2327
2373
  // turn — the completion was inferred, and compressing an
2328
2374
  // in-flight task's context would destroy the work.
2329
2375
  turn.stallRecovered = true;
2330
- return { stopReason: "end_turn" };
2376
+ return turnResult(translator, "end_turn");
2331
2377
  }
2332
2378
  // Second probe says the backend is still working (or events arrived
2333
2379
  // mid-probe) — keep waiting; queued events are consumed by the next
@@ -2357,7 +2403,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2357
2403
  // swallow: report it at once so the user can resend immediately.
2358
2404
  if (ev.type === "turn.steerQueued" && !translator.turnStarted && gateArmed) {
2359
2405
  await sendTextChunk(cx, acpSid, messages().messageSwallowedByTurn, chunkMsgId);
2360
- return { stopReason: "max_turn_requests" };
2406
+ return turnResult(translator, "max_turn_requests");
2361
2407
  }
2362
2408
  // Turn-attribution gate: before this turn's own turn.started arrives, any
2363
2409
  // event is leftover from a prior turn (cancelled/preempted but still
@@ -2432,7 +2478,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2432
2478
  if (denial) {
2433
2479
  await handleSandboxDenial(server, cx, acpSid, denial, toolCallId);
2434
2480
  if (turn.cancelled)
2435
- return { stopReason: "cancelled" };
2481
+ return turnResult(translator, "cancelled");
2436
2482
  }
2437
2483
  else {
2438
2484
  // No path parsed — one generic hint per session, not one per retry.
@@ -2513,7 +2559,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2513
2559
  // terminal resultType (cancelled / success / failed), honour the user's
2514
2560
  // intent and report cancelled.
2515
2561
  if (turn.cancelled || translator.turnResultType === "cancelled") {
2516
- return { stopReason: "cancelled" };
2562
+ return turnResult(translator, "cancelled");
2517
2563
  }
2518
2564
  if (translator.turnFailed) {
2519
2565
  // Best-effort stop in case the failed turn left a residual lock.
@@ -2551,10 +2597,16 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2551
2597
  const snapshot = await buildSnapshot(server, turn.zcodeSid);
2552
2598
  const completionEvents = differ.diff(snapshot);
2553
2599
  for (const iev of completionEvents) {
2554
- if ((iev.kind === "TextDelta" || iev.kind === "ReasoningDelta") &&
2555
- iev.messageId &&
2556
- translator.deliveredMessageIds.has(iev.messageId)) {
2557
- continue;
2600
+ // Per-kind dedup (see deliveredReasoningMessageIds): text and reasoning
2601
+ // share one assistant message id, so the kind that streamed live must
2602
+ // be suppressed while the other kind — typically GLM reasoning that
2603
+ // only exists in the completion snapshot — must still go through.
2604
+ if (iev.kind === "TextDelta" || iev.kind === "ReasoningDelta") {
2605
+ const delivered = iev.kind === "TextDelta"
2606
+ ? translator.deliveredMessageIds
2607
+ : translator.deliveredReasoningMessageIds;
2608
+ if (iev.messageId && delivered.has(iev.messageId))
2609
+ continue;
2558
2610
  }
2559
2611
  await dispatchEvent(server, cx, acpSid, iev, chunkMsgId);
2560
2612
  }
@@ -2564,7 +2616,7 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
2564
2616
  // push current_mode_update + config_option_update when it changed since
2565
2617
  // the last value advertised to the client.
2566
2618
  await emitModeIfChanged(server, cx, acpSid, turn.zcodeSid);
2567
- return { stopReason: "end_turn" };
2619
+ return turnResult(translator, "end_turn");
2568
2620
  }
2569
2621
  }
2570
2622
  }