glm-acp-agent 1.14.0 → 1.14.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.
package/README.md CHANGED
@@ -257,6 +257,12 @@ When the model name matches `glm-4.5`, `glm-4.6`, `glm-4.7`, or the `glm-5` fami
257
257
 
258
258
  The provider stream itself is guarded against stalls. The Z.AI SDK's HTTP timeout only covers waiting for response headers — a response whose body stops mid-stream would otherwise hang the turn forever. The agent therefore aborts a provider stream read that produces no data for `ACP_GLM_STREAM_IDLE_TIMEOUT_MS` milliseconds (default `300000`; invalid values for the variable fall back to the default with a stderr warning). On timeout, whatever partial output already reached the user is kept, an `[error]` message is appended as an agent message, the turn ends, and the last valid on-disk session checkpoint is preserved. A slow ACP client back-pressuring chunks it already received does not trip the watchdog — only silence from the provider between reads does.
259
259
 
260
+ A dropped network connection is handled separately from a stall. Each provider client has its own connection pool. When a request fails before an HTTP status arrives (`APIConnectionError`, including a connection timeout, or a socket error such as `ECONNRESET`), the agent closes that pool once nothing is still sending on it, and later requests open another. A retry another session already started follows that replacement, so closing the old pool does not fail the retry locally. The OpenAI client retries a failed open twice (`maxRetries: 2`). Those same two retries cover HTTP 408, 409, 429, and 5xx. The agent does not wrap the client in a second retry loop. If the link is still down after that budget, the turn ends with `stopReason: "cancelled"` instead of a JSON-RPC internal error, and the session stays open. A turn that produced no assistant text or tool result drops that user message and asks for it to be sent again. Assistant text or a tool result that already arrived is kept. The next message continues the same session on a new connection. An HTTP status such as 400 or 401 fails the turn.
261
+
262
+ A socket reset after response bytes have started is not retried. That turn still ends with `stopReason: "cancelled"` and a connection-lost notice, and the text or tool result already in the session stays there. The idle-stream watchdog and an incomplete tool-call stream still fail the turn with an error and leave the previous checkpoint in place.
263
+
264
+ Cancelling a turn keeps the user's prompt whether or not the history was compacted for that request. When compaction already ran and the cancelled turn produced no reply, the pre-compaction messages are restored and the prompt stays, so the saved checkpoint still contains the earlier exchange. A connection drop with no reply is the path that removes the unsent prompt.
265
+
260
266
  #### Thought level (reasoning effort)
261
267
 
262
268
  The agent advertises a `thought_level` [SessionConfigOption](https://agentclientprotocol.com) so clients that support config options (e.g. a "Thinking" selector) can control reasoning effort per session. The available levels depend on the active model:
@@ -471,6 +477,7 @@ src/
471
477
  ├── credentials.test.ts # Credential resolution and --setup persistence
472
478
  ├── executor.test.ts # Tests for ToolExecutor
473
479
  ├── glm-client.test.ts # Tests for streaming / tool-call assembly
480
+ ├── transport-recovery.test.ts # Connection-loss retry and session recovery
474
481
  ├── slash-commands.test.ts # Command discovery and `/name` expansion
475
482
  └── integration.test.ts # End-to-end tests over the real ACP ndjson transport
476
483
  ```
@@ -497,6 +504,7 @@ The test suite covers:
497
504
  - Permission flows for `write_file` and `run_command` (allow / reject / cancel)
498
505
  - Shell-quoted argument handling for `list_files` and `run_command`
499
506
  - GLM streaming: text deltas, `reasoning_content` deltas, multi-chunk tool-call assembly, and trailing usage
507
+ - Connection loss: one retry budget for a dropped open and for HTTP 408/409/429/5xx, a cancelled turn, an unanswered prompt dropped, partial text or a tool result kept, and the same session accepting the next prompt
500
508
  - Image preprocessing through a mocked Vision MCP client and graceful degradation on Vision MCP failures
501
509
 
502
510
  ---
@@ -505,6 +513,8 @@ The test suite covers:
505
513
 
506
514
  - **`No API key found.`** — either set `Z_AI_API_KEY` in the environment, or run `glm-acp-agent --setup` (or `node dist/index.js --setup` from a source clone) once to store the key on disk.
507
515
  - **`HTTP 401: Invalid API key`** — your key is wrong or expired; rotate it on <https://z.ai/manage-apikey/apikey-list>.
516
+ - **`Connection lost. Send the message again when you are back online.`** — the link to Z.AI dropped before this turn produced a reply. The session is still open. Send the prompt again once the network is back.
517
+ - **`Connection lost. Send a message to continue.`** — the link dropped after this turn already produced assistant text or a tool result. That work is still in the session. Send another message to continue.
508
518
  - **Writes or commands never get to run.** — make sure your ACP client supports `session/request_permission` and that you approve the prompt for the specific tool call.
509
519
 
510
520
  ---
@@ -77,6 +77,24 @@ export interface StreamChatOptions {
77
77
  export declare class ModelStreamIdleTimeoutError extends Error {
78
78
  name: string;
79
79
  }
80
+ /**
81
+ * Retries on one provider request. This is the OpenAI client's `maxRetries`:
82
+ * the initial open plus two retries, for connection failures and for HTTP
83
+ * 408, 409, 429, and 5xx. There is no second loop around the client — that
84
+ * would run this policy again on every open.
85
+ */
86
+ export declare const PROVIDER_MAX_RETRIES = 2;
87
+ /**
88
+ * A provider call failed before any HTTP status arrived.
89
+ *
90
+ * `APIConnectionError` is the OpenAI SDK's message for that case ("Connection
91
+ * error."). A socket reset while the body is already streaming surfaces as the
92
+ * raw cause code instead, and still means this client should not be reused.
93
+ * An error that carries an HTTP status is a provider response, not a drop.
94
+ * Status is checked first: `APIConnectionError` is an `APIError` and can
95
+ * carry a numeric `status`, and that response must not be treated as a drop.
96
+ */
97
+ export declare function isRecoverableTransportError(err: unknown): boolean;
80
98
  /** Default GLM model when neither client nor user has chosen one. */
81
99
  export declare const DEFAULT_MODEL = "glm-5.3";
82
100
  /**
@@ -104,13 +122,56 @@ export declare function getDefaultModel(): string;
104
122
  * so no Zhipu-specific SDK is required. The Z.AI service speaks the OpenAI
105
123
  * Chat Completions wire format, plus a few GLM-specific extras (like the
106
124
  * `thinking` field and `delta.reasoning_content` for reasoning tokens).
125
+ *
126
+ * Each instance owns an undici connection pool. `new OpenAI({ apiKey, baseURL })`
127
+ * alone uses `globalThis.fetch` and Node's shared pool, so replacing the
128
+ * wrapper would not open a new connection. After a dropped connection the
129
+ * next request uses a new pool immediately. Every attempt, including an SDK
130
+ * retry that was already waiting, resolves that live pool. The previous pool
131
+ * is closed once its own fetches have returned, so a response another session
132
+ * is still reading can finish; it is not destroyed, which would abort that read.
107
133
  */
108
134
  export declare class GlmClient {
109
135
  private client;
136
+ private dispatcher;
137
+ /** Fetches currently inside each pool. A retired pool closes at zero. */
138
+ private readonly pools;
139
+ private readonly baseURL;
110
140
  private maxTokens;
111
141
  /** Resolved once at construction; later env changes cannot affect a running client. */
112
142
  private readonly streamIdleTimeoutMs;
113
143
  constructor();
144
+ /**
145
+ * Build a new HTTP client with its own connection pool. Called at startup
146
+ * and after a transport failure so the next request cannot reuse a socket
147
+ * from the pool that just failed.
148
+ */
149
+ private buildClient;
150
+ /**
151
+ * Route later requests to a new pool immediately. Fetches already on the
152
+ * previous pool finish there; the pool is closed when the last of them
153
+ * returns, so a body still being read is not aborted. One GlmClient is
154
+ * shared by every session, and destroy() would abort the healthy ones
155
+ * with `TypeError: terminated`. If a replacement cannot be built, the
156
+ * current client stays.
157
+ */
158
+ private discardTransport;
159
+ /** A pool that never served a request can be torn down immediately. */
160
+ private destroyDispatcher;
161
+ /**
162
+ * Count this attempt against the pool it will actually use. The OpenAI
163
+ * client sleeps between retries with no request on the wire; those later
164
+ * attempts must take the replacement pool instead of one already closed.
165
+ */
166
+ private fetchUsingLivePool;
167
+ /**
168
+ * Stop new requests on a pool and let the ones already running finish.
169
+ * Not awaited: the session that hit the failure must not wait for every
170
+ * other session still reading this pool. A pool that still has a fetch
171
+ * in progress stays open until that fetch returns.
172
+ */
173
+ private closePoolIfIdle;
174
+ private fetchWithDispatcher;
114
175
  /** The same resolved reservation used in the outgoing `max_tokens` field. */
115
176
  getMaxOutputTokens(): number;
116
177
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"glm-client.d.ts","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glm-client.d.ts","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import OpenAI from "openai";
2
+ import { Agent, fetch as undiciFetch } from "undici";
2
3
  import { TOOL_DEFINITIONS } from "../tools/definitions.js";
3
4
  import { resolveApiKey } from "./credentials.js";
4
5
  import { debug, error, warn } from "./logger.js";
@@ -93,6 +94,90 @@ export function resolveThoughtLevel(model, level) {
93
94
  export class ModelStreamIdleTimeoutError extends Error {
94
95
  name = "ModelStreamIdleTimeoutError";
95
96
  }
97
+ /**
98
+ * Retries on one provider request. This is the OpenAI client's `maxRetries`:
99
+ * the initial open plus two retries, for connection failures and for HTTP
100
+ * 408, 409, 429, and 5xx. There is no second loop around the client — that
101
+ * would run this policy again on every open.
102
+ */
103
+ export const PROVIDER_MAX_RETRIES = 2;
104
+ const TRANSPORT_CAUSE_CODES = new Set([
105
+ "ECONNRESET",
106
+ "ECONNREFUSED",
107
+ "ETIMEDOUT",
108
+ "ENOTFOUND",
109
+ "EAI_AGAIN",
110
+ "EPIPE",
111
+ "UND_ERR_SOCKET",
112
+ "UND_ERR_CONNECT_TIMEOUT",
113
+ "UND_ERR_HEADERS_TIMEOUT",
114
+ "UND_ERR_BODY_TIMEOUT",
115
+ ]);
116
+ /**
117
+ * A provider call failed before any HTTP status arrived.
118
+ *
119
+ * `APIConnectionError` is the OpenAI SDK's message for that case ("Connection
120
+ * error."). A socket reset while the body is already streaming surfaces as the
121
+ * raw cause code instead, and still means this client should not be reused.
122
+ * An error that carries an HTTP status is a provider response, not a drop.
123
+ * Status is checked first: `APIConnectionError` is an `APIError` and can
124
+ * carry a numeric `status`, and that response must not be treated as a drop.
125
+ */
126
+ export function isRecoverableTransportError(err) {
127
+ if (!err || typeof err !== "object")
128
+ return false;
129
+ if (numericHttpStatus(err) !== undefined)
130
+ return false;
131
+ if (err instanceof OpenAI.APIConnectionError)
132
+ return true;
133
+ let current = err;
134
+ for (let depth = 0; depth < 6 && current && typeof current === "object"; depth++) {
135
+ if (numericHttpStatus(current) !== undefined)
136
+ return false;
137
+ const code = current.code;
138
+ if (typeof code === "string" && TRANSPORT_CAUSE_CODES.has(code))
139
+ return true;
140
+ current = current.cause;
141
+ }
142
+ return false;
143
+ }
144
+ function numericHttpStatus(err) {
145
+ if (!("status" in err))
146
+ return undefined;
147
+ const status = err.status;
148
+ return typeof status === "number" ? status : undefined;
149
+ }
150
+ function readRetryCount(init) {
151
+ const raw = headerValue(init?.headers, "x-stainless-retry-count");
152
+ const parsed = raw === undefined ? Number.NaN : Number(raw);
153
+ return Number.isInteger(parsed) && parsed >= 0 ? parsed : 0;
154
+ }
155
+ function headerValue(headers, name) {
156
+ if (!headers)
157
+ return undefined;
158
+ if (headers instanceof Headers)
159
+ return headers.get(name) ?? undefined;
160
+ if (Array.isArray(headers)) {
161
+ const found = headers.find(([key]) => key.toLowerCase() === name);
162
+ return found?.[1];
163
+ }
164
+ const record = headers;
165
+ return record[name] ?? record[name.toLowerCase()];
166
+ }
167
+ function transportCauseCode(err) {
168
+ let current = err;
169
+ for (let depth = 0; depth < 6 && current && typeof current === "object"; depth++) {
170
+ const code = current.code;
171
+ if (typeof code === "string" && code.length > 0)
172
+ return code;
173
+ current = current.cause;
174
+ }
175
+ return undefined;
176
+ }
177
+ /** Statuses the OpenAI client retries when `maxRetries` is still remaining. */
178
+ function isSdkRetryableStatus(status) {
179
+ return status === 408 || status === 409 || status === 429 || status >= 500;
180
+ }
96
181
  /** Default base URL for the Z.AI / Zhipu OpenAI-compatible API (Coding endpoint). */
97
182
  const DEFAULT_BASE_URL = "https://api.z.ai/api/coding/paas/v4";
98
183
  const DEFAULT_STREAM_IDLE_TIMEOUT_MS = 300_000;
@@ -202,18 +287,26 @@ export function getDefaultModel() {
202
287
  * so no Zhipu-specific SDK is required. The Z.AI service speaks the OpenAI
203
288
  * Chat Completions wire format, plus a few GLM-specific extras (like the
204
289
  * `thinking` field and `delta.reasoning_content` for reasoning tokens).
290
+ *
291
+ * Each instance owns an undici connection pool. `new OpenAI({ apiKey, baseURL })`
292
+ * alone uses `globalThis.fetch` and Node's shared pool, so replacing the
293
+ * wrapper would not open a new connection. After a dropped connection the
294
+ * next request uses a new pool immediately. Every attempt, including an SDK
295
+ * retry that was already waiting, resolves that live pool. The previous pool
296
+ * is closed once its own fetches have returned, so a response another session
297
+ * is still reading can finish; it is not destroyed, which would abort that read.
205
298
  */
206
299
  export class GlmClient {
207
300
  client;
301
+ dispatcher;
302
+ /** Fetches currently inside each pool. A retired pool closes at zero. */
303
+ pools = new Map();
304
+ baseURL;
208
305
  maxTokens;
209
306
  /** Resolved once at construction; later env changes cannot affect a running client. */
210
307
  streamIdleTimeoutMs;
211
308
  constructor() {
212
- const apiKey = resolveApiKey();
213
- if (!apiKey) {
214
- throw new Error("No API key found. Set the Z_AI_API_KEY environment variable, or run `glm-acp-agent --setup` to store one.");
215
- }
216
- const baseURL = process.env["ACP_GLM_BASE_URL"] ?? DEFAULT_BASE_URL;
309
+ this.baseURL = process.env["ACP_GLM_BASE_URL"] ?? DEFAULT_BASE_URL;
217
310
  // 32768 leaves room for whole-file writes and GLM thinking tokens in the
218
311
  // same turn; reasoning counts against this cap, so a small value starves
219
312
  // the actual content and trips finish_reason=length ("output limit
@@ -223,7 +316,116 @@ export class GlmClient {
223
316
  // StreamChatOptions.idleTimeoutMs). Resolved once at construction so
224
317
  // env re-reads cannot change behaviour mid-session.
225
318
  this.streamIdleTimeoutMs = parseIntEnv("ACP_GLM_STREAM_IDLE_TIMEOUT_MS", DEFAULT_STREAM_IDLE_TIMEOUT_MS);
226
- this.client = new OpenAI({ apiKey, baseURL });
319
+ const transport = this.buildClient();
320
+ this.client = transport.client;
321
+ this.dispatcher = transport.dispatcher;
322
+ }
323
+ /**
324
+ * Build a new HTTP client with its own connection pool. Called at startup
325
+ * and after a transport failure so the next request cannot reuse a socket
326
+ * from the pool that just failed.
327
+ */
328
+ buildClient() {
329
+ const apiKey = resolveApiKey();
330
+ if (!apiKey) {
331
+ throw new Error("No API key found. Set the Z_AI_API_KEY environment variable, or run `glm-acp-agent --setup` to store one.");
332
+ }
333
+ const dispatcher = new Agent();
334
+ try {
335
+ const client = new OpenAI({
336
+ apiKey,
337
+ baseURL: this.baseURL,
338
+ maxRetries: PROVIDER_MAX_RETRIES,
339
+ // Resolve the dispatcher on each attempt. The SDK retries through this
340
+ // same function, including after another session has replaced the pool.
341
+ fetch: (input, init) => this.fetchUsingLivePool(input, init),
342
+ });
343
+ this.pools.set(dispatcher, { inflight: 0, retired: false, closed: false });
344
+ return { client, dispatcher };
345
+ }
346
+ catch (err) {
347
+ void this.destroyDispatcher(dispatcher);
348
+ throw err;
349
+ }
350
+ }
351
+ /**
352
+ * Route later requests to a new pool immediately. Fetches already on the
353
+ * previous pool finish there; the pool is closed when the last of them
354
+ * returns, so a body still being read is not aborted. One GlmClient is
355
+ * shared by every session, and destroy() would abort the healthy ones
356
+ * with `TypeError: terminated`. If a replacement cannot be built, the
357
+ * current client stays.
358
+ */
359
+ discardTransport() {
360
+ const previousClient = this.client;
361
+ const previousDispatcher = this.dispatcher;
362
+ try {
363
+ const next = this.buildClient();
364
+ this.client = next.client;
365
+ this.dispatcher = next.dispatcher;
366
+ const previous = this.pools.get(previousDispatcher);
367
+ if (previous)
368
+ previous.retired = true;
369
+ this.closePoolIfIdle(previousDispatcher);
370
+ }
371
+ catch (err) {
372
+ this.client = previousClient;
373
+ this.dispatcher = previousDispatcher;
374
+ warn(`could not replace the provider client after a connection failure; keeping the existing client: ${err instanceof Error ? err.message : String(err)}`);
375
+ }
376
+ }
377
+ /** A pool that never served a request can be torn down immediately. */
378
+ destroyDispatcher(dispatcher) {
379
+ return dispatcher.destroy(new Error("discarded provider connection")).catch((err) => {
380
+ warn(`could not close the discarded provider connection: ${err instanceof Error ? err.message : String(err)}`);
381
+ });
382
+ }
383
+ /**
384
+ * Count this attempt against the pool it will actually use. The OpenAI
385
+ * client sleeps between retries with no request on the wire; those later
386
+ * attempts must take the replacement pool instead of one already closed.
387
+ */
388
+ fetchUsingLivePool(input, init) {
389
+ const dispatcher = this.dispatcher;
390
+ const state = this.pools.get(dispatcher);
391
+ if (!state)
392
+ return this.fetchWithDispatcher(dispatcher, input, init);
393
+ state.inflight += 1;
394
+ return this.fetchWithDispatcher(dispatcher, input, init).finally(() => {
395
+ state.inflight -= 1;
396
+ this.closePoolIfIdle(dispatcher);
397
+ });
398
+ }
399
+ /**
400
+ * Stop new requests on a pool and let the ones already running finish.
401
+ * Not awaited: the session that hit the failure must not wait for every
402
+ * other session still reading this pool. A pool that still has a fetch
403
+ * in progress stays open until that fetch returns.
404
+ */
405
+ closePoolIfIdle(dispatcher) {
406
+ const state = this.pools.get(dispatcher);
407
+ if (!state || !state.retired || state.closed || state.inflight > 0)
408
+ return;
409
+ state.closed = true;
410
+ this.pools.delete(dispatcher);
411
+ void dispatcher.close().catch((err) => {
412
+ warn(`could not close the discarded provider connection: ${err instanceof Error ? err.message : String(err)}`);
413
+ });
414
+ }
415
+ async fetchWithDispatcher(dispatcher, input, init) {
416
+ const attempt = readRetryCount(init) + 1;
417
+ try {
418
+ const response = await undiciFetch(input, { ...init, dispatcher });
419
+ if (!response.ok && isSdkRetryableStatus(response.status)) {
420
+ warn(`provider request attempt ${attempt} failed: status=${response.status}`);
421
+ }
422
+ return response;
423
+ }
424
+ catch (err) {
425
+ const code = transportCauseCode(err);
426
+ warn(`provider request attempt ${attempt} failed: code=${code ?? "unknown"}`);
427
+ throw err;
428
+ }
227
429
  }
228
430
  /** The same resolved reservation used in the outgoing `max_tokens` field. */
229
431
  getMaxOutputTokens() {
@@ -251,6 +453,10 @@ export class GlmClient {
251
453
  // The OpenAI SDK forwards unknown extra body fields verbatim, so we use
252
454
  // that to pass GLM-specific fields like `thinking` and `reasoning_effort`.
253
455
  const extraBody = { ...thinkingParams };
456
+ // One retry policy, on the client: connection errors and HTTP 408/409/429/5xx
457
+ // share `PROVIDER_MAX_RETRIES`. A body that has already started is outside
458
+ // that loop; a mid-stream socket reset discards the pool below and is not
459
+ // opened again.
254
460
  let stream;
255
461
  try {
256
462
  stream = await this.client.chat.completions.create({
@@ -266,6 +472,10 @@ export class GlmClient {
266
472
  }, { signal });
267
473
  }
268
474
  catch (err) {
475
+ // Replace the client after the retry budget is spent, so a later prompt
476
+ // in this same process does not reuse the pool that just failed.
477
+ if (isRecoverableTransportError(err))
478
+ this.discardTransport();
269
479
  const status = err?.status;
270
480
  const body = err?.error;
271
481
  error(`streamChat request failed: status=${status}`, JSON.stringify(body) ?? String(err));
@@ -280,68 +490,75 @@ export class GlmClient {
280
490
  const pendingToolCalls = new Map();
281
491
  let lastFinishReason;
282
492
  let terminalChoiceSeen = false;
283
- for await (const rawChunk of idleBoundedStream) {
284
- const chunk = rawChunk;
285
- if (chunk.choices.length > 1) {
286
- throw new IncompleteModelStreamError("Incomplete model stream: received multiple model choices for one completion.");
287
- }
288
- if (terminalChoiceSeen && chunk.choices.length > 0) {
289
- throw new IncompleteModelStreamError("Incomplete model stream: received a model frame after terminal completion.");
290
- }
291
- const choice = chunk.choices[0];
292
- if (choice) {
293
- const delta = choice.delta;
294
- // Reasoning / thinking tokens (GLM "thinking" mode).
295
- const reasoning = delta["reasoning_content"];
296
- if (typeof reasoning === "string" && reasoning.length > 0) {
297
- yield { thinking: reasoning };
493
+ try {
494
+ for await (const rawChunk of idleBoundedStream) {
495
+ const chunk = rawChunk;
496
+ if (chunk.choices.length > 1) {
497
+ throw new IncompleteModelStreamError("Incomplete model stream: received multiple model choices for one completion.");
298
498
  }
299
- // Regular assistant text.
300
- const content = delta["content"];
301
- if (typeof content === "string" && content.length > 0) {
302
- yield { text: content };
499
+ if (terminalChoiceSeen && chunk.choices.length > 0) {
500
+ throw new IncompleteModelStreamError("Incomplete model stream: received a model frame after terminal completion.");
303
501
  }
304
- // Tool call deltas.
305
- const toolCallDeltas = delta["tool_calls"];
306
- if (Array.isArray(toolCallDeltas)) {
307
- for (const tc of toolCallDeltas) {
308
- let pending = pendingToolCalls.get(tc.index);
309
- if (!pending) {
310
- pending = { id: "", name: "", arguments: "" };
311
- pendingToolCalls.set(tc.index, pending);
502
+ const choice = chunk.choices[0];
503
+ if (choice) {
504
+ const delta = choice.delta;
505
+ // Reasoning / thinking tokens (GLM "thinking" mode).
506
+ const reasoning = delta["reasoning_content"];
507
+ if (typeof reasoning === "string" && reasoning.length > 0) {
508
+ yield { thinking: reasoning };
509
+ }
510
+ // Regular assistant text.
511
+ const content = delta["content"];
512
+ if (typeof content === "string" && content.length > 0) {
513
+ yield { text: content };
514
+ }
515
+ // Tool call deltas.
516
+ const toolCallDeltas = delta["tool_calls"];
517
+ if (Array.isArray(toolCallDeltas)) {
518
+ for (const tc of toolCallDeltas) {
519
+ let pending = pendingToolCalls.get(tc.index);
520
+ if (!pending) {
521
+ pending = { id: "", name: "", arguments: "" };
522
+ pendingToolCalls.set(tc.index, pending);
523
+ }
524
+ if (tc.id)
525
+ pending.id = tc.id;
526
+ if (tc.function?.name)
527
+ pending.name = tc.function.name;
528
+ if (tc.function?.arguments)
529
+ pending.arguments += tc.function.arguments;
312
530
  }
313
- if (tc.id)
314
- pending.id = tc.id;
315
- if (tc.function?.name)
316
- pending.name = tc.function.name;
317
- if (tc.function?.arguments)
318
- pending.arguments += tc.function.arguments;
531
+ }
532
+ if (choice.finish_reason) {
533
+ lastFinishReason = choice.finish_reason;
534
+ terminalChoiceSeen = true;
319
535
  }
320
536
  }
321
- if (choice.finish_reason) {
322
- lastFinishReason = choice.finish_reason;
323
- terminalChoiceSeen = true;
324
- }
325
- }
326
- // The final chunk on most providers (GLM included when
327
- // include_usage: true) ships only a `usage` object with no choices.
328
- const rawUsage = chunk.usage;
329
- if (rawUsage) {
330
- const usage = {
331
- inputTokens: rawUsage.prompt_tokens ?? 0,
332
- outputTokens: rawUsage.completion_tokens ?? 0,
333
- totalTokens: rawUsage.total_tokens ?? 0,
334
- };
335
- if (typeof rawUsage.prompt_tokens_details?.cached_tokens === "number") {
336
- usage.cachedReadTokens = rawUsage.prompt_tokens_details.cached_tokens;
337
- }
338
- if (typeof rawUsage.completion_tokens_details?.reasoning_tokens === "number") {
339
- usage.thoughtTokens = rawUsage.completion_tokens_details.reasoning_tokens;
537
+ // The final chunk on most providers (GLM included when
538
+ // include_usage: true) ships only a `usage` object with no choices.
539
+ const rawUsage = chunk.usage;
540
+ if (rawUsage) {
541
+ const usage = {
542
+ inputTokens: rawUsage.prompt_tokens ?? 0,
543
+ outputTokens: rawUsage.completion_tokens ?? 0,
544
+ totalTokens: rawUsage.total_tokens ?? 0,
545
+ };
546
+ if (typeof rawUsage.prompt_tokens_details?.cached_tokens === "number") {
547
+ usage.cachedReadTokens = rawUsage.prompt_tokens_details.cached_tokens;
548
+ }
549
+ if (typeof rawUsage.completion_tokens_details?.reasoning_tokens === "number") {
550
+ usage.thoughtTokens = rawUsage.completion_tokens_details.reasoning_tokens;
551
+ }
552
+ debug(`streamChat usage: input=${usage.inputTokens} output=${usage.outputTokens} total=${usage.totalTokens}`);
553
+ yield { usage };
340
554
  }
341
- debug(`streamChat usage: input=${usage.inputTokens} output=${usage.outputTokens} total=${usage.totalTokens}`);
342
- yield { usage };
343
555
  }
344
556
  }
557
+ catch (err) {
558
+ if (isRecoverableTransportError(err))
559
+ this.discardTransport();
560
+ throw err;
561
+ }
345
562
  signal?.throwIfAborted();
346
563
  const calls = [...pendingToolCalls.entries()].sort(([a], [b]) => a - b).map(([, call]) => call);
347
564
  const stopReason = validateStreamCompletion(lastFinishReason, calls);
@@ -1 +1 @@
1
- {"version":3,"file":"glm-client.js","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glm-client.js","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"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"}
@@ -162,6 +162,13 @@ export declare class GlmAcpAgent implements Agent {
162
162
  private persistOriginalIfOwned;
163
163
  private registerTransition;
164
164
  private assertRestoreOwner;
165
+ /**
166
+ * A cancelled or dropped prompt can leave the shortened transcript in
167
+ * memory. Put the pre-compaction messages back before any save. A
168
+ * connection drop with no reply also removes the unsent prompt. A cancel
169
+ * keeps that prompt, which is what a cancel does when compaction did not run.
170
+ */
171
+ private restoreCompactedHistory;
165
172
  private ownsSession;
166
173
  private isDrainingOriginal;
167
174
  private ownedPromptConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { randomUUID } from "node:crypto";
2
2
  import { join as pathJoin } from "node:path";
3
3
  import { PACKAGE_VERSION } from "../package-version.js";
4
4
  import { PROTOCOL_VERSION as VERSION } from "@agentclientprotocol/sdk";
5
- import { GlmClient, getAvailableModels, getDefaultModel, getContextWindow, isVisionNativeModel, ERR_CONTEXT_OVERFLOW, getThoughtLevels, resolveThoughtLevel, isThoughtLevel, } from "../llm/glm-client.js";
5
+ import { GlmClient, getAvailableModels, getDefaultModel, getContextWindow, isVisionNativeModel, ERR_CONTEXT_OVERFLOW, isRecoverableTransportError, getThoughtLevels, resolveThoughtLevel, isThoughtLevel, } from "../llm/glm-client.js";
6
6
  import { ToolExecutor } from "../tools/executor.js";
7
7
  import { ProcessSupervisor } from "../tools/process-supervisor.js";
8
8
  import { readLocalTextPrefix } from "../tools/file-reader.js";
@@ -608,6 +608,7 @@ export class GlmAcpAgent {
608
608
  cancelled.userMessageId = userMessageId;
609
609
  return cancelled;
610
610
  };
611
+ let userMessage;
611
612
  try {
612
613
  if (predecessor) {
613
614
  try {
@@ -642,7 +643,7 @@ export class GlmAcpAgent {
642
643
  const userContent = visionNative
643
644
  ? renderVisionNativePromptBlocks(preprocessed.blocks)
644
645
  : renderPromptBlocks(preprocessed.blocks).content;
645
- const userMessage = { role: "user", content: userContent };
646
+ userMessage = { role: "user", content: userContent };
646
647
  session.messages.push(userMessage);
647
648
  // What the user typed, rendered from the blocks as they arrived — before
648
649
  // command expansion and image analysis rewrote them for the model. Kept
@@ -652,7 +653,17 @@ export class GlmAcpAgent {
652
653
  session.displayText.set(userMessage, displayText);
653
654
  }
654
655
  const { stopReason, usage } = await this.runPromptLoop(params.sessionId, session, abortController.signal, ownsPrompt, preservesDrainingHistory, this.processSupervisor);
656
+ // A queued prompt aborts this turn. The loop then reports cancellation
657
+ // instead of the connection error, and the following save would replace
658
+ // the checkpoint with the shortened transcript. Restoring keeps the
659
+ // prompt, matching a cancel that never compacted.
660
+ const turnCancelled = abortController.signal.aborted || stopReason === "cancelled";
661
+ const restoredHistory = turnCancelled ? this.restoreCompactedHistory(session, false) : "none";
655
662
  if (!ownsPrompt()) {
663
+ if (restoredHistory === "restored") {
664
+ session.updatedAt = new Date().toISOString();
665
+ await this.persistSession(params.sessionId, session);
666
+ }
656
667
  return cancelledResponse();
657
668
  }
658
669
  session.updatedAt = new Date().toISOString();
@@ -691,6 +702,51 @@ export class GlmAcpAgent {
691
702
  // If the abort happened concurrently with another error, prefer the
692
703
  // cancelled stop reason – that's what the spec asks for.
693
704
  if (abortController.signal.aborted || !ownsPrompt()) {
705
+ if (this.restoreCompactedHistory(session, false) === "restored") {
706
+ session.updatedAt = new Date().toISOString();
707
+ await this.persistSession(params.sessionId, session);
708
+ }
709
+ return cancelledResponse();
710
+ }
711
+ // A dropped provider connection must not fail the JSON-RPC prompt.
712
+ // Paseo and other clients turn a thrown error into -32603 and then keep
713
+ // sending later prompts through the same dead HTTP client. End the turn
714
+ // as cancelled, keep any text or tool result already in history, and
715
+ // leave the session idle so the next message opens a new connection.
716
+ if (isRecoverableTransportError(err) && userMessage) {
717
+ // Compaction replaces the live user message with a new object before
718
+ // the provider call, so identity lookup misses the turn that just ran.
719
+ const rollback = this.restoreCompactedHistory(session, true);
720
+ let keptWork = rollback === "kept";
721
+ if (rollback === "none") {
722
+ const start = lastUserIndex(session.messages);
723
+ const currentTurn = start >= 0 ? session.messages[start] : undefined;
724
+ keptWork = currentTurn !== undefined && session.messages.slice(start + 1)
725
+ .some((message) => message.role === "assistant" || message.role === "tool");
726
+ if (currentTurn && !keptWork) {
727
+ session.messages.splice(start, 1);
728
+ session.displayText.delete(currentTurn);
729
+ }
730
+ }
731
+ session.updatedAt = new Date().toISOString();
732
+ await this.persistSession(params.sessionId, session);
733
+ // A close or cancel that arrived while the checkpoint was written
734
+ // must not wait on the notice. Delivery below is also abortable.
735
+ if (abortController.signal.aborted || !ownsPrompt()) {
736
+ return cancelledResponse();
737
+ }
738
+ await safeSessionUpdate(promptConnection, {
739
+ sessionId: params.sessionId,
740
+ update: {
741
+ sessionUpdate: "agent_message_chunk",
742
+ content: {
743
+ type: "text",
744
+ text: keptWork
745
+ ? "\n\nConnection lost. Send a message to continue.\n"
746
+ : "\n\nConnection lost. Send the message again when you are back online.\n",
747
+ },
748
+ },
749
+ });
694
750
  return cancelledResponse();
695
751
  }
696
752
  // Surface the error to the user as an agent message so the IDE displays
@@ -723,6 +779,9 @@ export class GlmAcpAgent {
723
779
  session.abortController = null;
724
780
  if (session.promptPromise === promptPromise)
725
781
  session.promptPromise = null;
782
+ // Release the pre-compaction list only after this prompt has used it.
783
+ // The next prompt does not run until this one resolves.
784
+ session.messagesBeforeCompaction = undefined;
726
785
  resolvePromptPromise();
727
786
  // A timed-out fork/restore attaches its durable checkpoint to the prompt
728
787
  // drain. Signal the chain first (the checkpoint depends on it), then keep
@@ -1401,6 +1460,32 @@ export class GlmAcpAgent {
1401
1460
  // ---------------------------------------------------------------------------
1402
1461
  // Persistence helpers
1403
1462
  // ---------------------------------------------------------------------------
1463
+ /**
1464
+ * A cancelled or dropped prompt can leave the shortened transcript in
1465
+ * memory. Put the pre-compaction messages back before any save. A
1466
+ * connection drop with no reply also removes the unsent prompt. A cancel
1467
+ * keeps that prompt, which is what a cancel does when compaction did not run.
1468
+ */
1469
+ restoreCompactedHistory(session, dropUnsentPrompt) {
1470
+ const prior = session.messagesBeforeCompaction;
1471
+ if (!prior)
1472
+ return "none";
1473
+ const start = lastUserIndex(session.messages);
1474
+ const keptWork = start >= 0 && session.messages.slice(start + 1)
1475
+ .some((message) => message.role === "assistant" || message.role === "tool");
1476
+ if (keptWork)
1477
+ return "kept";
1478
+ session.messages = prior.slice();
1479
+ if (!dropUnsentPrompt)
1480
+ return "restored";
1481
+ const unsent = lastUserIndex(session.messages);
1482
+ const currentTurn = unsent >= 0 ? session.messages[unsent] : undefined;
1483
+ if (currentTurn) {
1484
+ session.messages.splice(unsent, 1);
1485
+ session.displayText.delete(currentTurn);
1486
+ }
1487
+ return "restored";
1488
+ }
1404
1489
  ownsSession(sessionId, session, generation) {
1405
1490
  return this.sessions.get(sessionId) === session
1406
1491
  && !session.closing
@@ -1925,6 +2010,9 @@ export class GlmAcpAgent {
1925
2010
  const result = compactToBudget(session.messages, budget, force);
1926
2011
  if (!result.changed)
1927
2012
  return false;
2013
+ if (session.messagesBeforeCompaction === undefined) {
2014
+ session.messagesBeforeCompaction = session.messages;
2015
+ }
1928
2016
  let lastUser = -1;
1929
2017
  for (let index = result.messages.length - 1; index >= 0; index--) {
1930
2018
  if (result.messages[index]?.role === "user") {
@@ -2150,6 +2238,13 @@ function deserializeRestoredDisplayText(sourceMessages, restoredMessages, persis
2150
2238
  const shifted = Object.fromEntries(Object.entries(persisted).map(([index, text]) => [String(Number(index) + offset), text]));
2151
2239
  return deserializeDisplayText(restoredMessages, shifted);
2152
2240
  }
2241
+ function lastUserIndex(messages) {
2242
+ for (let index = messages.length - 1; index >= 0; index--) {
2243
+ if (messages[index]?.role === "user")
2244
+ return index;
2245
+ }
2246
+ return -1;
2247
+ }
2153
2248
  /** Flatten the `content` of a user message into a plain string for replay. */
2154
2249
  function stringifyUserMessage(content) {
2155
2250
  if (typeof content === "string")
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glm-acp-agent",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "description": "ACP agent in TypeScript that uses the Z.AI / Zhipu AI GLM Coding Plan models (GLM-5.3, GLM-5.3 Flash, GLM-5 Turbo, GLM-4.7) as the reasoning core",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -48,6 +48,7 @@
48
48
  "dependencies": {
49
49
  "@agentclientprotocol/sdk": "^0.20.0",
50
50
  "openai": "^6.34.0",
51
+ "undici": "^6.29.0",
51
52
  "zod": "^3.25.76"
52
53
  },
53
54
  "devDependencies": {