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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,88 @@ function normalizeKind(kind) {
66
66
  }
67
67
  }
68
68
  /** Convert a zcode tool-permission request into ACP requestPermission params. */
69
+ /**
70
+ * Cap for the popup title built from tool input. Clients render the title in
71
+ * a single popup line (martty draws it in the overlay border), so keep it
72
+ * bounded — the full input still rides in `content` for detail-capable clients.
73
+ */
74
+ const POPUP_TITLE_MAX = 160;
75
+ /** First line of a string, whitespace-trimmed and length-capped. */
76
+ function firstLine(value, max = POPUP_TITLE_MAX) {
77
+ const line = value.split("\n", 1)[0].trim();
78
+ return line.length > max ? line.slice(0, max - 1) + "…" : line;
79
+ }
80
+ /**
81
+ * Human one-line summary of a tool's input for a permission popup title.
82
+ *
83
+ * The command / file path IS the decision the user is making, and some clients
84
+ * (martty) render only `toolCall.title` in their approval overlay — without
85
+ * this summary the popup reads as a bare "tool" and the path is invisible.
86
+ * Spec-complete clients also render `content`, which carries the full input
87
+ * (see `inputPopupContent`) — multi-line commands included.
88
+ */
89
+ export function describeToolInput(input) {
90
+ if (input === null || input === undefined)
91
+ return undefined;
92
+ if (typeof input !== "object")
93
+ return firstLine(String(input));
94
+ const rec = input;
95
+ const command = rec["command"];
96
+ if (typeof command === "string" && command.trim())
97
+ return firstLine(command.trim());
98
+ for (const key of ["file_path", "path", "notebook_path", "url", "pattern", "query"]) {
99
+ const v = rec[key];
100
+ if (typeof v === "string" && v.trim())
101
+ return firstLine(v.trim());
102
+ }
103
+ try {
104
+ return firstLine(JSON.stringify(input) ?? "");
105
+ }
106
+ catch {
107
+ return undefined;
108
+ }
109
+ }
110
+ /**
111
+ * Full-input text block for the permission popup: the complete command (every
112
+ * line — the title only shows the first) or a pretty-printed input object, so
113
+ * detail-capable clients never hide what is being approved.
114
+ */
115
+ function inputPopupContent(input) {
116
+ if (input === null || input === undefined)
117
+ return undefined;
118
+ let text;
119
+ if (typeof input === "object") {
120
+ const command = input["command"];
121
+ if (typeof command === "string" && command.trim())
122
+ text = command.trim();
123
+ }
124
+ if (text === undefined) {
125
+ try {
126
+ text = JSON.stringify(input, null, 2) ?? undefined;
127
+ }
128
+ catch {
129
+ return undefined;
130
+ }
131
+ }
132
+ if (!text)
133
+ return undefined;
134
+ if (text.length > 8000)
135
+ text = text.slice(0, 8000 - 1) + "…";
136
+ return [{ type: "content", content: { type: "text", text } }];
137
+ }
138
+ /** File paths in a tool input, as ToolCallUpdate.locations for editors that link them. */
139
+ function inputLocations(input) {
140
+ if (typeof input !== "object" || input === null)
141
+ return undefined;
142
+ const rec = input;
143
+ const paths = [];
144
+ for (const key of ["file_path", "path", "notebook_path"]) {
145
+ const v = rec[key];
146
+ if (typeof v === "string" && v.trim())
147
+ paths.push({ path: v.trim() });
148
+ }
149
+ return paths.length > 0 ? paths : undefined;
150
+ }
69
151
  export function zcodePermissionToAcp(params, acpSid) {
70
152
  const options = [];
71
153
  for (const opt of params.options ?? []) {
@@ -77,10 +159,21 @@ export function zcodePermissionToAcp(params, acpSid) {
77
159
  }
78
160
  if (options.length === 0)
79
161
  return null;
162
+ const toolName = params.toolName ?? "";
163
+ const detail = describeToolInput(params.input);
164
+ const title = [toolName, detail].filter(Boolean).join(": ") || undefined;
165
+ const content = inputPopupContent(params.input);
166
+ const locations = inputLocations(params.input);
80
167
  return {
81
168
  options,
82
169
  sessionId: acpSid,
83
- toolCall: { toolCallId: params.toolCallId ?? "", rawInput: params.input },
170
+ toolCall: {
171
+ toolCallId: params.toolCallId ?? "",
172
+ rawInput: params.input,
173
+ ...(title ? { title } : {}),
174
+ ...(content ? { content } : {}),
175
+ ...(locations ? { locations } : {}),
176
+ },
84
177
  };
85
178
  }
86
179
  /**
@@ -107,6 +200,13 @@ export function acpPermissionResponseToZcode(acpResp) {
107
200
  /** ExitPlanMode rendered as approve/reject permission options. */
108
201
  export function exitPlanModeToAcpPermission(params, acpSid) {
109
202
  const m = messages();
203
+ // The plan text rides in toolCall.content so approval popups can show WHAT
204
+ // is being approved — rawInput alone is a machine-readable blob some clients
205
+ // never render (martty's overlay shows the title and nothing else).
206
+ const plan = typeof params.input === "object" && params.input !== null
207
+ ? params.input.plan
208
+ : undefined;
209
+ const planText = typeof plan === "string" && plan.trim() ? plan : undefined;
110
210
  return {
111
211
  options: [
112
212
  { kind: "allow_once", name: m.planApproveOption, optionId: "approve" },
@@ -117,6 +217,13 @@ export function exitPlanModeToAcpPermission(params, acpSid) {
117
217
  toolCallId: params.toolCallId ?? "",
118
218
  title: m.planPopupTitle,
119
219
  rawInput: params.input,
220
+ ...(planText
221
+ ? {
222
+ content: [
223
+ { type: "content", content: { type: "text", text: planText } },
224
+ ],
225
+ }
226
+ : {}),
120
227
  },
121
228
  };
122
229
  }
@@ -134,6 +241,65 @@ export function acpPermissionResponseToExitPlanMode(acpResp) {
134
241
  }
135
242
  return { action: "decline", reason: "rejected" };
136
243
  }
244
+ // ---------- ExitPlanMode via elicitation form ----------
245
+ /**
246
+ * Build an elicitation FORM for ExitPlanMode plan approval.
247
+ *
248
+ * Form-capable clients (martty) render the field's `description` through their
249
+ * full markdown pipeline in a scrollable detail pane — the COMPLETE plan lives
250
+ * there, not in a one-line popup title. The decision itself is a required enum
251
+ * field (approve / reject); a cancelled or declined form maps to decline.
252
+ * Clients without form support fall back to the requestPermission path, whose
253
+ * toolCall carries the plan in `content` for the same reason.
254
+ */
255
+ export function buildPlanApprovalElicitationForm(params, acpSid, toolCallId) {
256
+ const m = messages();
257
+ const plan = typeof params.input === "object" && params.input !== null
258
+ ? params.input.plan
259
+ : undefined;
260
+ const form = {
261
+ mode: "form",
262
+ sessionId: acpSid,
263
+ message: m.planPopupTitle,
264
+ requestedSchema: {
265
+ type: "object",
266
+ properties: {
267
+ approval: {
268
+ type: "string",
269
+ title: m.planFieldTitle,
270
+ ...(typeof plan === "string" && plan.trim() ? { description: plan } : {}),
271
+ oneOf: [
272
+ { const: "approve", title: m.planApproveOption },
273
+ { const: "reject", title: m.planRejectOption },
274
+ ],
275
+ },
276
+ },
277
+ required: ["approval"],
278
+ },
279
+ };
280
+ if (toolCallId)
281
+ form.toolCallId = toolCallId;
282
+ return form;
283
+ }
284
+ /**
285
+ * Parse an elicitation form response → zcode ExitPlanMode response.
286
+ * Mirrors `acpPermissionResponseToExitPlanMode`: approve → accept with
287
+ * content.answer_0 (the backend reads answer_0), anything else → decline.
288
+ */
289
+ export function parsePlanApprovalElicitationResponse(acpResp) {
290
+ if (!acpResp || typeof acpResp !== "object") {
291
+ return { action: "decline", reason: "invalid client response" };
292
+ }
293
+ const action = acpResp.action;
294
+ if (action === "decline" || action === "cancel") {
295
+ return { action: "decline", reason: "plan rejected" };
296
+ }
297
+ const content = acpResp.content ?? {};
298
+ if (content["approval"] === "approve") {
299
+ return { action: "accept", content: { answer_0: "approve" } };
300
+ }
301
+ return { action: "decline", reason: "plan rejected" };
302
+ }
137
303
  /**
138
304
  * Split a zcode AskUserQuestion request into per-question descriptors.
139
305
  *
@@ -185,11 +351,17 @@ export function splitAskUserQuestions(params) {
185
351
  return result.length > 0 ? result : null;
186
352
  }
187
353
  /** Build ACP requestPermission params for one AskUserQuestion question. */
188
- export function buildAskUserAcpParams(params, acpSid, options) {
354
+ export function buildAskUserAcpParams(params, acpSid, options, popupTitle) {
189
355
  return {
190
356
  options,
191
357
  sessionId: acpSid,
192
- toolCall: { toolCallId: params.toolCallId ?? "", rawInput: params.input },
358
+ toolCall: {
359
+ toolCallId: params.toolCallId ?? "",
360
+ rawInput: params.input,
361
+ // The question IS the popup title: martty's overlay renders nothing but
362
+ // the title, so without it the ask reads as a bare "tool" prompt.
363
+ ...(popupTitle ? { title: popupTitle } : {}),
364
+ },
193
365
  };
194
366
  }
195
367
  /**
@@ -353,9 +525,9 @@ export function parseAskUserElicitationResponse(acpResp, params) {
353
525
  }
354
526
  return answers;
355
527
  }
356
- // ExitPlanMode is handled via session/request_permission (see
357
- // `exitPlanModeToAcpPermission` / `acpPermissionResponseToExitPlanMode` above) —
358
- // not via elicitation/create. Plan approval is a permission decision, and
359
- // routing it through elicitation surfaces a generic "input request" shell that
360
- // reads wrong for this flow. AskUserQuestion is the elicitation use case.
528
+ // ExitPlanMode has two client paths, both built above: form-capable clients
529
+ // get the elicitation form (`buildPlanApprovalElicitationForm` — the plan
530
+ // renders as markdown in the field description); everyone else gets
531
+ // session/request_permission (`exitPlanModeToAcpPermission` — the plan rides
532
+ // in toolCall.content). Both parse back through their respective functions.
361
533
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,16 @@ export declare class EventTranslator {
22
22
  turnFailed: boolean;
23
23
  turnResultType: string | null;
24
24
  turnError: Record<string, unknown> | null;
25
+ /**
26
+ * Usage object from this turn's `turn.completed` payload, verbatim from the
27
+ * backend. The backend merges every model call's usage into one billing-
28
+ * grade object ({source, modelRequestCount, inputTokens, outputTokens,
29
+ * totalTokens, cacheReadTokens, cacheWriteTokens, reasoningTokens,
30
+ * webFetchRequests, webSearchRequests}); it is omitted when no model call
31
+ * reported usage. Per-turn scope, not session-cumulative. Consumed by the
32
+ * prompt loop to fill the ACP `PromptResponse.usage` field.
33
+ */
34
+ turnUsage: Record<string, unknown> | null;
25
35
  /**
26
36
  * True while inside a background-task notification turn
27
37
  * (`turn.started {inputSource:"background_task"}`). Set on its turn.started,
@@ -41,14 +51,26 @@ export declare class EventTranslator {
41
51
  private activeTurnId;
42
52
  private skippingForeignTurn;
43
53
  /**
44
- * Backend message ids (`assistantMessageId`) whose content reached this
54
+ * Backend message ids (`assistantMessageId`) whose TEXT reached this
45
55
  * translator via the live event stream. Used by the turn loop to dedup the
46
56
  * turn-completion fallback replay: a message already streamed live must not
47
57
  * be re-emitted by `ProjectionDiffer.diff()`, while messages produced while
48
58
  * no listener was attached (e.g. a backend turn resumed after compaction)
49
59
  * have no live deltas and must be replayed.
60
+ *
61
+ * TEXT-only by contract. Text and reasoning share one assistant message id
62
+ * (the differ tags both replays with `m.info.id`), and GLM-style backends
63
+ * stream the text live while the CoT reaches us only via the completion
64
+ * snapshot — a shared set would let the streamed text suppress the reasoning
65
+ * replay entirely.
50
66
  */
51
67
  readonly deliveredMessageIds: Set<string>;
68
+ /**
69
+ * Same contract as `deliveredMessageIds`, for REASONING content. Kept
70
+ * separate so live-streamed reasoning never suppresses the differ's
71
+ * reasoning replay (and vice versa: streamed text must not).
72
+ */
73
+ readonly deliveredReasoningMessageIds: Set<string>;
52
74
  /** Tool call ids we've already emitted a ToolCallNew for. */
53
75
  readonly seenToolIds: Set<string>;
54
76
  /** call_id → tool_name (result/error events omit toolName). */
@@ -1 +1 @@
1
- {"version":3,"file":"event-translator.d.ts","sourceRoot":"","sources":["../../src/translators/event-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAcD,qBAAa,eAAe;IAC1B,WAAW,UAAS;IACpB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAQ;IACjD;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAS;IACvC;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,mBAAmB,cAAqB;IAEjD,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,cAAqB;IACzC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,sBAA6B;IAC/C,kEAAkE;IAClE,QAAQ,CAAC,UAAU,uBAA8B;IACjD,kEAAkE;IAClE,QAAQ,CAAC,YAAY,cAAqB;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,cAAqB;IAE/C,2DAA2D;IAC3D,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,aAAa,EAAE;IA6FpD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,aAAa;IA2FrB,gFAAgF;IAChF,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,iBAAiB;CAS1B"}
1
+ {"version":3,"file":"event-translator.d.ts","sourceRoot":"","sources":["../../src/translators/event-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAcD,qBAAa,eAAe;IAC1B,WAAW,UAAS;IACpB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAQ;IACjD;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAQ;IACjD;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAS;IACvC;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,mBAAmB,cAAqB;IACjD;;;;OAIG;IACH,QAAQ,CAAC,4BAA4B,cAAqB;IAE1D,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,cAAqB;IACzC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,sBAA6B;IAC/C,kEAAkE;IAClE,QAAQ,CAAC,UAAU,uBAA8B;IACjD,kEAAkE;IAClE,QAAQ,CAAC,YAAY,cAAqB;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,cAAqB;IAE/C,2DAA2D;IAC3D,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,aAAa,EAAE;IA8FpD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,aAAa;IA2FrB,gFAAgF;IAChF,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,iBAAiB;CAS1B"}
@@ -31,6 +31,16 @@ export class EventTranslator {
31
31
  turnFailed = false;
32
32
  turnResultType = null;
33
33
  turnError = null;
34
+ /**
35
+ * Usage object from this turn's `turn.completed` payload, verbatim from the
36
+ * backend. The backend merges every model call's usage into one billing-
37
+ * grade object ({source, modelRequestCount, inputTokens, outputTokens,
38
+ * totalTokens, cacheReadTokens, cacheWriteTokens, reasoningTokens,
39
+ * webFetchRequests, webSearchRequests}); it is omitted when no model call
40
+ * reported usage. Per-turn scope, not session-cumulative. Consumed by the
41
+ * prompt loop to fill the ACP `PromptResponse.usage` field.
42
+ */
43
+ turnUsage = null;
34
44
  /**
35
45
  * True while inside a background-task notification turn
36
46
  * (`turn.started {inputSource:"background_task"}`). Set on its turn.started,
@@ -50,14 +60,26 @@ export class EventTranslator {
50
60
  activeTurnId = null;
51
61
  skippingForeignTurn = false;
52
62
  /**
53
- * Backend message ids (`assistantMessageId`) whose content reached this
63
+ * Backend message ids (`assistantMessageId`) whose TEXT reached this
54
64
  * translator via the live event stream. Used by the turn loop to dedup the
55
65
  * turn-completion fallback replay: a message already streamed live must not
56
66
  * be re-emitted by `ProjectionDiffer.diff()`, while messages produced while
57
67
  * no listener was attached (e.g. a backend turn resumed after compaction)
58
68
  * have no live deltas and must be replayed.
69
+ *
70
+ * TEXT-only by contract. Text and reasoning share one assistant message id
71
+ * (the differ tags both replays with `m.info.id`), and GLM-style backends
72
+ * stream the text live while the CoT reaches us only via the completion
73
+ * snapshot — a shared set would let the streamed text suppress the reasoning
74
+ * replay entirely.
59
75
  */
60
76
  deliveredMessageIds = new Set();
77
+ /**
78
+ * Same contract as `deliveredMessageIds`, for REASONING content. Kept
79
+ * separate so live-streamed reasoning never suppresses the differ's
80
+ * reasoning replay (and vice versa: streamed text must not).
81
+ */
82
+ deliveredReasoningMessageIds = new Set();
61
83
  /** Tool call ids we've already emitted a ToolCallNew for. */
62
84
  seenToolIds = new Set();
63
85
  /** call_id → tool_name (result/error events omit toolName). */
@@ -137,6 +159,7 @@ export class EventTranslator {
137
159
  if (etype === "turn.completed") {
138
160
  this.turnDone = true;
139
161
  this.turnResultType = payload["resultType"] ?? "success";
162
+ this.turnUsage = payload["usage"] ?? null;
140
163
  results.push(...this.translateTurnDone(payload));
141
164
  log(` [event] turn.completed (resultType=${this.turnResultType})`);
142
165
  }
@@ -204,10 +227,17 @@ export class EventTranslator {
204
227
  const delta = payload["delta"] ?? "";
205
228
  // Record the owning assistant message so the turn loop can distinguish
206
229
  // "already streamed live" from "produced while no listener was attached"
207
- // when replaying missing content at turn completion.
230
+ // when replaying missing content at turn completion. Per-content-kind:
231
+ // text and reasoning share one assistantMessageId, and the completion
232
+ // replay must stay able to deliver the kind that did NOT stream live
233
+ // (GLM: text streams, reasoning arrives only via the snapshot).
208
234
  const msgId = payload["assistantMessageId"];
209
- if (typeof msgId === "string" && msgId)
210
- this.deliveredMessageIds.add(msgId);
235
+ if (typeof msgId === "string" && msgId) {
236
+ if (kind === "reasoning_delta")
237
+ this.deliveredReasoningMessageIds.add(msgId);
238
+ else if (kind === "text_delta")
239
+ this.deliveredMessageIds.add(msgId);
240
+ }
211
241
  if (kind === "text_delta") {
212
242
  if (delta)
213
243
  results.push({ kind: "TextDelta", text: delta });
@@ -1 +1 @@
1
- {"version":3,"file":"event-translator.js","sourceRoot":"","sources":["../../src/translators/event-translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-translator.js","sourceRoot":"","sources":["../../src/translators/event-translator.ts"],"names":[],"mappings":"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"}
package/docs/BACKLOG.md CHANGED
@@ -35,12 +35,12 @@ when a concrete ACP/editor need appears.
35
35
  | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
36
  | `session/subagents` | Query the list of sub-agents for a session | Sub-agent info is parsed from the `Agent` tool result (`_meta.subagent`); sufficient for now |
37
37
  | `session/events` | Pull-mode event history (complement to `session/subscribe`) | Not used; could support event replay/gap-fill |
38
- | `session/usage` | Per-session token usage | Context bar uses `session.updated` usage payload instead |
38
+ | `session/usage` | Per-session token usage | Per-turn billing usage is now carried on the ACP `session/prompt` result (`usage` + `_meta.zcode.usage`), sourced from `turn.completed`; this RPC remains a candidate for session-cumulative reconciliation |
39
39
  | `workspace/hooks/trustGrant` | Server→client request: approve hook trust | Auto-errored by the unknown-request fallback (`server-requests.ts` `handleOne`) during turns; `session/send` carries a 15s timeout so nothing hangs. If hook trust ever needs real UX, map it onto ACP `session/request_permission` |
40
40
  | `interaction/browserList` / `interaction/browserExecute` | Server→client requests: browser automation via the client | Auto-errored by the fallback above; only meaningful once an ACP client has a browser surface |
41
41
  | `interaction/requestProviderRuntimeHeaders` | Server→client request: provider runtime headers | Auto-errored by the fallback above |
42
42
  | `interaction/requestOfficialMcpAuthHeaders` (0.16.5) | Server→client request: official MCP auth headers | Auto-errored by the fallback above |
43
- | `session/requestRuntimePreferences` (0.16.5) | Runtime preference negotiation | Auto-errored by the fallback above (same class as trustGrant) |
43
+ | `session/requestRuntimePreferences` (0.16.5) | Runtime preference negotiation | Wired — `backend/client.ts` auto-replies with defaults (nativeSearch/memory off, AskUserQuestion NOT auto-resolved); newer app-servers block `session/create` until it is answered |
44
44
  | `session/close` (0.16.5) | Actually close a backend session/runtime | Not used — remote close intentionally retires discovery only (ADR-0006, self-healing); backend runtimes idle-evict anyway |
45
45
  | `workspace/generateText` / `workspace/cancelGenerateText` (0.16.5) | Workspace-scoped one-shot text generation | Not used; no ACP counterpart |
46
46
  | `workspace/readState` (0.16.5) | Read workspace state | Not used |
package/docs/PROTOCOL.md CHANGED
@@ -370,6 +370,13 @@ Tool status update.
370
370
 
371
371
  The turn completed.
372
372
 
373
+ `usage` carries the turn's billing-grade usage: the backend merges every model
374
+ call's usage into one object (per-turn scope, not session-cumulative). It is
375
+ omitted when no model call reported usage. The bridge forwards this object as
376
+ the ACP `session/prompt` result's `usage` field (UNSTABLE in
377
+ agent-client-protocol), with `source`/`modelRequestCount`/web request counts
378
+ riding in the result's `_meta.zcode.usage`.
379
+
373
380
  ```json
374
381
  {
375
382
  "method": "session/event",
@@ -380,7 +387,16 @@ The turn completed.
380
387
  "payload": {
381
388
  "resultType": "success",
382
389
  "usage": {
383
- "totalTokens": 1234
390
+ "source": "provider",
391
+ "modelRequestCount": 2,
392
+ "inputTokens": 1100,
393
+ "outputTokens": 134,
394
+ "totalTokens": 1234,
395
+ "cacheReadTokens": 800,
396
+ "cacheWriteTokens": 90,
397
+ "reasoningTokens": 45,
398
+ "webFetchRequests": 0,
399
+ "webSearchRequests": 0
384
400
  }
385
401
  }
386
402
  }
@@ -622,12 +638,14 @@ that question without cancelling the form.
622
638
  }
623
639
  ```
624
640
 
625
- **ExitPlanMode elicitation form** — single `feedback` text field; no
626
- approve/reject dropdown. The client's own submit button is the approve action;
627
- typing into the field is the reject action. Submitting with the field empty
628
- approves the plan; submitting with text rejects it and returns the text to
629
- zcode as the decline `reason` (so the agent sees the redirection when it
630
- re-plans). The cancel/decline button is a plain reject with no reason.
641
+ **ExitPlanMode elicitation form** — sent only to clients that advertised
642
+ elicitation form support; everyone else gets `session/request_permission` with
643
+ the plan in `toolCall.content`. The form carries the COMPLETE plan markdown as
644
+ the `approval` field's `description` (markdown-capable clients render it in a
645
+ scrollable detail pane); the decision itself is a required approve/reject enum.
646
+ An `accept` whose `content.approval` is `"approve"` maps to the zcode accept
647
+ (`answer_0: "approve"`); a `reject`/`cancel` action, or `"reject"` in the
648
+ field, maps to a plain decline.
631
649
 
632
650
  ```json
633
651
  {
@@ -635,22 +653,32 @@ re-plans). The cancel/decline button is a plain reject with no reason.
635
653
  "params": {
636
654
  "mode": "form",
637
655
  "sessionId": "sess_abc123",
638
- "message": "Ready to code?\n\n1. Implement login\n2. Implement signup\n\nLeave the box empty and submit to approve; type feedback to reject and redirect.",
656
+ "message": "Exit plan mode",
639
657
  "requestedSchema": {
640
658
  "type": "object",
641
659
  "properties": {
642
- "feedback": {
660
+ "approval": {
643
661
  "type": "string",
644
- "title": "Feedback",
645
- "description": "Empty = approve the plan. Anything typed = reject and use this text as the redirection."
662
+ "title": "Review the plan, then choose an action",
663
+ "description": "1. Implement login\n2. Implement signup",
664
+ "oneOf": [
665
+ { "const": "approve", "title": "Approve — exit plan mode" },
666
+ { "const": "reject", "title": "Reject — keep planning" }
667
+ ]
646
668
  }
647
669
  },
648
- "required": []
670
+ "required": ["approval"]
649
671
  }
650
672
  }
651
673
  }
652
674
  ```
653
675
 
676
+ If the form request fails outright (no form-capable client attached any more —
677
+ capability flags are merged across clients at initialize — or a timeout), the
678
+ bridge falls back once to `session/request_permission` so the plan can still
679
+ be approved by a plain permission popup; only when that also fails does the
680
+ plan decline.
681
+
654
682
  ## Extension Methods (0.14.8+)
655
683
 
656
684
  ### `session/fork`
package/docs/RELEASING.md CHANGED
@@ -11,7 +11,8 @@ version bumps, no npm token.
11
11
  patch, `feat!:` or `BREAKING CHANGE:` footer → major). Squash-merge PRs
12
12
  with a conventional title, or the change is invisible to release-please.
13
13
  2. release-please opens or updates a `chore(main): release X.Y.Z` PR
14
- (version bump in `package.json` + `CHANGELOG.md` entry). It rewrites
14
+ (version bump in `package.json` + `CHANGELOG.md` entry; it also re-stamps
15
+ the `&v=X.Y.Z` cache-buster on the README contributors image). It rewrites
15
16
  itself as more commits land.
16
17
  3. Merge that PR. The `Release` workflow (`.github/workflows/release.yml`)
17
18
  tags `vX.Y.Z`, creates the GitHub Release, then builds, runs the test