zcode-acp-server 0.35.2 → 0.36.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 +1 -1
- package/dist/code-fingerprint.json +1 -1
- package/dist/goal-loop/driver.d.ts +8 -0
- package/dist/goal-loop/driver.d.ts.map +1 -1
- package/dist/goal-loop/driver.js +59 -12
- package/dist/goal-loop/driver.js.map +1 -1
- package/dist/handlers/session.d.ts +14 -0
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +97 -6
- package/dist/handlers/session.js.map +1 -1
- package/dist/i18n.d.ts +4 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +4 -0
- package/dist/i18n.js.map +1 -1
- package/dist/remote/hub-server.d.ts.map +1 -1
- package/dist/remote/hub-server.js +28 -4
- package/dist/remote/hub-server.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/translators/index.d.ts +1 -1
- package/dist/translators/index.d.ts.map +1 -1
- package/dist/translators/index.js +1 -1
- package/dist/translators/index.js.map +1 -1
- package/dist/translators/tool-helpers.d.ts +6 -0
- package/dist/translators/tool-helpers.d.ts.map +1 -1
- package/dist/translators/tool-helpers.js +48 -0
- package/dist/translators/tool-helpers.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -239,7 +239,7 @@ Thanks to everyone who has contributed (updated automatically from the
|
|
|
239
239
|
<a href="https://github.com/william0wang/zcode-acp/graphs/contributors">
|
|
240
240
|
<!-- release-please re-stamps &v= on every release: the new URL busts the
|
|
241
241
|
contrib.rocks and GitHub camo image caches. -->
|
|
242
|
-
<img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.
|
|
242
|
+
<img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.36.0" alt="Contributors" /> <!-- x-release-please-version -->
|
|
243
243
|
</a>
|
|
244
244
|
|
|
245
245
|
## Related Projects
|
|
@@ -33,6 +33,14 @@ export declare class GoalLoopDriver {
|
|
|
33
33
|
private runId;
|
|
34
34
|
/** Set when the last goal turn was cancelled by the sandbox allow-restart. */
|
|
35
35
|
private lastSandboxRestart;
|
|
36
|
+
/**
|
|
37
|
+
* Consecutive backend-lost recoveries by run()'s catch (the per-turn
|
|
38
|
+
* recovery inside runOneTurn already respawns twice before giving up —
|
|
39
|
+
* this counter only bounds the loop-level last resort). Reset on any
|
|
40
|
+
* round that completes without losing the backend.
|
|
41
|
+
*/
|
|
42
|
+
private backendRecoveries;
|
|
43
|
+
private static readonly MAX_BACKEND_RECOVERIES;
|
|
36
44
|
private constructor();
|
|
37
45
|
/** Live driver for a session, when a loop is running. */
|
|
38
46
|
static live(server: ZcodeAcpServer, zcodeSid: string): GoalLoopDriver | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/goal-loop/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/goal-loop/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAarD,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,cAAc,CAAC;AAsBhE,wEAAwE;AACxE,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAIlE;AAiBD,qBAAa,cAAc;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,KAAK,CAAK;IAClB,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB,CAAS;IACnC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IAEnD,OAAO;IAYP,yDAAyD;IACzD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAKjF;;;;OAIG;IACH,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAC9B,cAAc;IA+BjB,4EAA4E;IAC5E,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAIpB,8EAA8E;IAC9E,MAAM,IAAI,IAAI;IAKd,2DAA2D;IAC3D,IAAI,IAAI,IAAI;IAIZ,wCAAwC;IACxC,UAAU,IAAI,MAAM;IAcpB;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAOrD,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;IAKvB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAqBpB,0EAA0E;YAC5D,WAAW;IAmCzB,oEAAoE;IACpE,OAAO,CAAC,qBAAqB;IAM7B;;;;;;;;;;;OAWG;YACW,sBAAsB;IAcpC,oFAAoF;YACtE,iBAAiB;IAe/B,8EAA8E;YAChE,iBAAiB;YAUjB,YAAY;YAKZ,WAAW;YAWX,QAAQ;IAStB,OAAO,CAAC,OAAO;YAID,OAAO;YAgBP,GAAG;YA+DH,SAAS;YAuNT,qBAAqB;IAWnC;;;OAGG;YACW,eAAe;CA0B9B"}
|
package/dist/goal-loop/driver.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { readFileSync, unlinkSync } from "node:fs";
|
|
18
18
|
import { compact } from "../handlers/extensions.js";
|
|
19
|
-
import { preemptInFlightTurn, runOneTurn, withPreemptLock } from "../handlers/session.js";
|
|
19
|
+
import { isBackendLostRequestError, preemptInFlightTurn, reloadBackendSession, runOneTurn, withPreemptLock, } from "../handlers/session.js";
|
|
20
20
|
import { sendTextChunk } from "../handlers/io.js";
|
|
21
21
|
import { messages } from "../i18n.js";
|
|
22
22
|
import { log, warn } from "../utils.js";
|
|
@@ -54,6 +54,14 @@ export class GoalLoopDriver {
|
|
|
54
54
|
runId = 0;
|
|
55
55
|
/** Set when the last goal turn was cancelled by the sandbox allow-restart. */
|
|
56
56
|
lastSandboxRestart = false;
|
|
57
|
+
/**
|
|
58
|
+
* Consecutive backend-lost recoveries by run()'s catch (the per-turn
|
|
59
|
+
* recovery inside runOneTurn already respawns twice before giving up —
|
|
60
|
+
* this counter only bounds the loop-level last resort). Reset on any
|
|
61
|
+
* round that completes without losing the backend.
|
|
62
|
+
*/
|
|
63
|
+
backendRecoveries = 0;
|
|
64
|
+
static MAX_BACKEND_RECOVERIES = 3;
|
|
57
65
|
constructor(server, acpSid, zcodeSid, state) {
|
|
58
66
|
this.server = server;
|
|
59
67
|
this.acpSid = acpSid;
|
|
@@ -322,19 +330,55 @@ export class GoalLoopDriver {
|
|
|
322
330
|
// prompts, disarm the keepalive, and persist a paused status — the outer
|
|
323
331
|
// .catch in start() only logs (ADR-0022 §4: unrecoverable errors end the
|
|
324
332
|
// loop, they must not wedge the editor's prompt request forever).
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
catch (e) {
|
|
329
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
330
|
-
warn(`goal-loop: round machinery failed — pausing loop (${msg})`);
|
|
331
|
-
if (this.runId !== myRun)
|
|
332
|
-
return;
|
|
333
|
+
// Loop rather than recurse on backend-lost recovery: a re-thrown failure
|
|
334
|
+
// from a recursive runRounds would escape this handler and reject run().
|
|
335
|
+
for (;;) {
|
|
333
336
|
try {
|
|
334
|
-
await this.
|
|
337
|
+
await this.runRounds(myRun);
|
|
338
|
+
return;
|
|
335
339
|
}
|
|
336
|
-
catch (
|
|
337
|
-
|
|
340
|
+
catch (e) {
|
|
341
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
342
|
+
// A lost backend is recoverable at the loop level too: respawn,
|
|
343
|
+
// reload the session, and re-enter the round machinery instead of
|
|
344
|
+
// pausing — an unattended auto run must survive backend process
|
|
345
|
+
// churn (observed 2026-09-11: "database is not open" during the
|
|
346
|
+
// agent's own shutdown hard-stopped a night-long run). Bounded so a
|
|
347
|
+
// persistently broken spawn still ends in a pause.
|
|
348
|
+
if (isBackendLostRequestError(e) &&
|
|
349
|
+
this.runId === myRun &&
|
|
350
|
+
this.backendRecoveries < GoalLoopDriver.MAX_BACKEND_RECOVERIES) {
|
|
351
|
+
this.backendRecoveries++;
|
|
352
|
+
warn(`goal-loop: backend lost — respawning and resuming (${this.backendRecoveries}/${GoalLoopDriver.MAX_BACKEND_RECOVERIES}, ${msg})`);
|
|
353
|
+
try {
|
|
354
|
+
this.server.ensureBackend();
|
|
355
|
+
await reloadBackendSession(this.server, this.acpSid, this.zcodeSid);
|
|
356
|
+
}
|
|
357
|
+
catch (e2) {
|
|
358
|
+
warn(`goal-loop: backend recovery failed — pausing loop (${e2 instanceof Error ? e2.message : String(e2)})`);
|
|
359
|
+
if (this.runId !== myRun)
|
|
360
|
+
return;
|
|
361
|
+
try {
|
|
362
|
+
await this.endLoop("paused-crash", msg);
|
|
363
|
+
}
|
|
364
|
+
catch (e3) {
|
|
365
|
+
warn(`goal-loop: crash recovery failed (${e3 instanceof Error ? e3.message : String(e3)})`);
|
|
366
|
+
}
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
await this.announce(messages().goalBackendRecovered);
|
|
370
|
+
continue;
|
|
371
|
+
}
|
|
372
|
+
warn(`goal-loop: round machinery failed — pausing loop (${msg})`);
|
|
373
|
+
if (this.runId !== myRun)
|
|
374
|
+
return;
|
|
375
|
+
try {
|
|
376
|
+
await this.endLoop("paused-crash", msg);
|
|
377
|
+
}
|
|
378
|
+
catch (e2) {
|
|
379
|
+
warn(`goal-loop: crash recovery failed (${e2 instanceof Error ? e2.message : String(e2)})`);
|
|
380
|
+
}
|
|
381
|
+
return;
|
|
338
382
|
}
|
|
339
383
|
}
|
|
340
384
|
}
|
|
@@ -414,6 +458,9 @@ export class GoalLoopDriver {
|
|
|
414
458
|
return void (await this.endLoop("paused", "cancelled"));
|
|
415
459
|
}
|
|
416
460
|
this.state.rounds++;
|
|
461
|
+
// A round completed against a live backend — the lost-backend streak
|
|
462
|
+
// (if any) is broken, so the loop-level recovery budget resets.
|
|
463
|
+
this.backendRecoveries = 0;
|
|
417
464
|
// Stall detection: rounds with zero tool activity accumulate to a pause.
|
|
418
465
|
const tools = await this.toolActivitySince(before);
|
|
419
466
|
stallCount = tools > 0 ? 0 : stallCount + 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/goal-loop/driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/goal-loop/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,6 +166,12 @@ export declare function setConfigOptionHandler(server: ZcodeAcpServer, params: a
|
|
|
166
166
|
* stopReason "cancelled" immediately.
|
|
167
167
|
*/
|
|
168
168
|
export declare function cancel(server: ZcodeAcpServer, params: acp.CancelNotification): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Whether a thrown error is the RequestError form of a backend-lost turn
|
|
171
|
+
* failure (as produced by turnFailureRequestError). The goal-loop uses this
|
|
172
|
+
* to choose between respawn-and-continue and a hard pause.
|
|
173
|
+
*/
|
|
174
|
+
export declare function isBackendLostRequestError(e: unknown): boolean;
|
|
169
175
|
/** Dependencies of drainBackendAfterCancel, injectable for tests. */
|
|
170
176
|
interface DrainDeps {
|
|
171
177
|
acpSid: string;
|
|
@@ -269,6 +275,14 @@ export interface ImageAttachment {
|
|
|
269
275
|
* Exported for unit testing.
|
|
270
276
|
*/
|
|
271
277
|
export declare function extractAttachments(blocks: acp.ContentBlock[] | undefined): ImageAttachment[];
|
|
278
|
+
/**
|
|
279
|
+
* Reload a session into the backend subprocess via `session/resume` — the
|
|
280
|
+
* recovery path after the backend evicted the resident runtime (idle timeout
|
|
281
|
+
* / LRU). Same param shape as session/load·resume (workspace from the
|
|
282
|
+
* recorded session cwd, default-model overlay only if a faithful resume
|
|
283
|
+
* fails). Marks the session backend-loaded on success.
|
|
284
|
+
*/
|
|
285
|
+
export declare function reloadBackendSession(server: ZcodeAcpServer, acpSid: string, zcodeSid: string): Promise<void>;
|
|
272
286
|
/**
|
|
273
287
|
* fetchMessages + bounded read-back settle, for paths that JUST performed a
|
|
274
288
|
* resume. The backend's `session/messages` reflects only what it has hydrated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,qBAAqB,CAAC;AA0B7B,OAAO,EAEL,eAAe,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/session.js
CHANGED
|
@@ -25,7 +25,7 @@ import { buildResumeRuntimeModel } from "../config/runtime-model.js";
|
|
|
25
25
|
import { messages } from "../i18n.js";
|
|
26
26
|
import { lookupLazySession, recordMaterializedSession, rememberLazySession, } from "../lazy-sessions.js";
|
|
27
27
|
import { refreshTerminalTabTitle } from "../terminal-title.js";
|
|
28
|
-
import { buildDiffContent, EventTranslator, extractLocations, formatTurnError, isTransientTurnError, ProjectionDiffer, } from "../translators/index.js";
|
|
28
|
+
import { buildDiffContent, EventTranslator, extractLocations, formatTurnError, isBackendLostError, isTransientTurnError, ProjectionDiffer, } from "../translators/index.js";
|
|
29
29
|
import { clientConnectionRoot, log, warn } from "../utils.js";
|
|
30
30
|
import { dispatchEvent } from "./dispatch.js";
|
|
31
31
|
import { sendSessionUpdate, sendTextChunk, withReplayBatch } from "./io.js";
|
|
@@ -1071,7 +1071,10 @@ export async function prompt(server, params, cx, requestId, client) {
|
|
|
1071
1071
|
* a second send/subscribe/retry path.
|
|
1072
1072
|
*/
|
|
1073
1073
|
export async function runOneTurn(server, opts) {
|
|
1074
|
-
const {
|
|
1074
|
+
const { cx, acpSid, zcodeSid, requestId, turn, preempted, sendText } = opts;
|
|
1075
|
+
// `backend`/`listener`/`monitor` are reassigned by the backend-lost recovery
|
|
1076
|
+
// below (respawn swaps the process they are bound to).
|
|
1077
|
+
let backend = opts.backend;
|
|
1075
1078
|
const attachments = opts.attachments ?? [];
|
|
1076
1079
|
// Out-of-band running indicator: emitted per attached alias (see
|
|
1077
1080
|
// server.sessionAliases) so a client holding this conversation under a
|
|
@@ -1087,8 +1090,8 @@ export async function runOneTurn(server, opts) {
|
|
|
1087
1090
|
}
|
|
1088
1091
|
}
|
|
1089
1092
|
};
|
|
1090
|
-
|
|
1091
|
-
|
|
1093
|
+
let listener = new EventStreamListener(backend, zcodeSid);
|
|
1094
|
+
let monitor = new TurnMonitor(backend, zcodeSid, () => server.nextId());
|
|
1092
1095
|
// Per-session ProjectionDiffer (persists across turns). The baseline mark_seen
|
|
1093
1096
|
// prevents the differ from re-emitting history at turn completion.
|
|
1094
1097
|
const differ = getOrCreateDiffer(server, zcodeSid);
|
|
@@ -1150,6 +1153,11 @@ export async function runOneTurn(server, opts) {
|
|
|
1150
1153
|
const MAX_BACKOFF_MS = 4000;
|
|
1151
1154
|
const backoffMs = (attempt) => Math.min(1000 * 2 ** (attempt - 1), MAX_BACKOFF_MS);
|
|
1152
1155
|
let lastTurnError = null;
|
|
1156
|
+
// Backend-lost (process died / storage closed mid-turn) gets its own cap:
|
|
1157
|
+
// each recovery respawns the subprocess, so an unbounded retry would churn.
|
|
1158
|
+
const MAX_BACKEND_LOST_RETRIES = 2;
|
|
1159
|
+
let backendLostRetries = 0;
|
|
1160
|
+
let suppressRetryNotice = false;
|
|
1153
1161
|
for (let attempt = 1; attempt <= MAX_TURN_ATTEMPTS; attempt++) {
|
|
1154
1162
|
if (attempt > 1) {
|
|
1155
1163
|
// A prior transient turn ended the backend turn; before re-sending,
|
|
@@ -1160,7 +1168,10 @@ export async function runOneTurn(server, opts) {
|
|
|
1160
1168
|
return { stopReason: "cancelled" };
|
|
1161
1169
|
}
|
|
1162
1170
|
differ.markSeen(await fetchMessages(server, zcodeSid));
|
|
1163
|
-
|
|
1171
|
+
if (!suppressRetryNotice) {
|
|
1172
|
+
await sendTextChunk(cx, acpSid, messages().networkRetry(attempt - 1, MAX_TURN_ATTEMPTS - 1), randomUUID());
|
|
1173
|
+
}
|
|
1174
|
+
suppressRetryNotice = false;
|
|
1164
1175
|
log(` [retry] transient turn failed, re-sending (attempt ${attempt}/${MAX_TURN_ATTEMPTS})`);
|
|
1165
1176
|
await sleep(backoffMs(attempt - 1));
|
|
1166
1177
|
}
|
|
@@ -1280,6 +1291,56 @@ export async function runOneTurn(server, opts) {
|
|
|
1280
1291
|
return result;
|
|
1281
1292
|
}
|
|
1282
1293
|
catch (e) {
|
|
1294
|
+
// Backend lost (process died / storage closed mid-turn): recover by
|
|
1295
|
+
// respawning the backend and reloading the session, then retry the
|
|
1296
|
+
// turn. The session file is intact — only the process is gone.
|
|
1297
|
+
if (e instanceof TurnFailedError && !turn.cancelled && isBackendLostError(e.turnError)) {
|
|
1298
|
+
if (backendLostRetries >= MAX_BACKEND_LOST_RETRIES)
|
|
1299
|
+
throw turnFailureRequestError(e);
|
|
1300
|
+
backendLostRetries++;
|
|
1301
|
+
const lostDetail = formatTurnError(e.turnError);
|
|
1302
|
+
log(` [recover] backend lost (${lostDetail}) — respawning and reloading session ${zcodeSid} (recovery ${backendLostRetries}/${MAX_BACKEND_LOST_RETRIES})`);
|
|
1303
|
+
// The backend is process-wide: every other session's in-flight turn
|
|
1304
|
+
// on it is dead too — cancel them so their loops unwind instead of
|
|
1305
|
+
// hanging on the dead reader. goalLoop turns are skipped: they have
|
|
1306
|
+
// their OWN backend-lost recovery (driver-level respawn + reload);
|
|
1307
|
+
// marking them cancelled here would end their loop as "paused" and
|
|
1308
|
+
// defeat the recovery this commit exists for. Skipped loops hit the
|
|
1309
|
+
// dead-reader fast-fail below and recover on their own. This turn
|
|
1310
|
+
// may still be marked (non-goal-loop caller); restore its flags so
|
|
1311
|
+
// the retry below is not mistaken for a user cancel.
|
|
1312
|
+
server.cancelAllPendingTurns(true);
|
|
1313
|
+
turn.cancelled = false;
|
|
1314
|
+
turn.stopSent = false;
|
|
1315
|
+
// Kill the broken instance unless it already died — and only null
|
|
1316
|
+
// the server's reference when it still points at OUR instance, so a
|
|
1317
|
+
// concurrent respawn by someone else is never murdered.
|
|
1318
|
+
if (!backend.isDead) {
|
|
1319
|
+
if (server.backend === backend)
|
|
1320
|
+
server.backend = null;
|
|
1321
|
+
void backend
|
|
1322
|
+
.close()
|
|
1323
|
+
.catch((err) => warn(`recover: backend kill failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
1324
|
+
}
|
|
1325
|
+
try {
|
|
1326
|
+
backend = server.ensureBackend();
|
|
1327
|
+
listener = new EventStreamListener(backend, zcodeSid);
|
|
1328
|
+
monitor = new TurnMonitor(backend, zcodeSid, () => server.nextId());
|
|
1329
|
+
await reloadBackendSession(server, acpSid, zcodeSid);
|
|
1330
|
+
await listener.subscribe(() => server.nextId());
|
|
1331
|
+
backend.registerEventListener(zcodeSid, listener);
|
|
1332
|
+
}
|
|
1333
|
+
catch (recoverErr) {
|
|
1334
|
+
warn(`recover: backend respawn/reload failed: ${recoverErr instanceof Error ? recoverErr.message : String(recoverErr)}`);
|
|
1335
|
+
throw turnFailureRequestError(e);
|
|
1336
|
+
}
|
|
1337
|
+
differ.markSeen(await fetchMessages(server, zcodeSid));
|
|
1338
|
+
await sendTextChunk(cx, acpSid, messages().backendRecovered(backendLostRetries, MAX_BACKEND_LOST_RETRIES), randomUUID());
|
|
1339
|
+
// The retry notice at the top of the next attempt would duplicate
|
|
1340
|
+
// the recovery announcement above.
|
|
1341
|
+
suppressRetryNotice = true;
|
|
1342
|
+
continue;
|
|
1343
|
+
}
|
|
1283
1344
|
// Only a transient TurnFailedError is retryable; everything else (send
|
|
1284
1345
|
// failures, non-transient turn errors, exhausted retries, cancellation)
|
|
1285
1346
|
// propagates to the caller.
|
|
@@ -1299,6 +1360,12 @@ export async function runOneTurn(server, opts) {
|
|
|
1299
1360
|
// session usable so the user can resend the message instead of the editor
|
|
1300
1361
|
// surfacing a hard error and stopping. Skip auto-compact here: compaction
|
|
1301
1362
|
// after a failed turn is more likely to confuse state than help.
|
|
1363
|
+
// Goal-loop turns are the exception: returning end_turn here would let the
|
|
1364
|
+
// driver parse the PREVIOUS round's assistant text as this round's verdict
|
|
1365
|
+
// and mis-mark the ticket done — throw so the loop pauses cleanly instead.
|
|
1366
|
+
if (turn.goalLoop) {
|
|
1367
|
+
throw turnFailureRequestError(new TurnFailedError(lastTurnError ?? {}));
|
|
1368
|
+
}
|
|
1302
1369
|
const errMsg = formatTurnError(lastTurnError) || "turn failed after retries";
|
|
1303
1370
|
await sendTextChunk(cx, acpSid, messages().requestFailed(errMsg), randomUUID());
|
|
1304
1371
|
return { stopReason: "end_turn" };
|
|
@@ -1629,6 +1696,18 @@ function turnFailureRequestError(error) {
|
|
|
1629
1696
|
const detail = formatTurnError(cause ?? error.turnError) || error.message;
|
|
1630
1697
|
return new RequestError(-32603, `ZCode turn failed: ${detail}`, acpTurnFailureData(error.turnError));
|
|
1631
1698
|
}
|
|
1699
|
+
/**
|
|
1700
|
+
* Whether a thrown error is the RequestError form of a backend-lost turn
|
|
1701
|
+
* failure (as produced by turnFailureRequestError). The goal-loop uses this
|
|
1702
|
+
* to choose between respawn-and-continue and a hard pause.
|
|
1703
|
+
*/
|
|
1704
|
+
export function isBackendLostRequestError(e) {
|
|
1705
|
+
if (!(e instanceof RequestError))
|
|
1706
|
+
return false;
|
|
1707
|
+
const data = (e.data ?? {});
|
|
1708
|
+
return (isBackendLostError({ cause: { code: data.code, message: e.message } }) ||
|
|
1709
|
+
isBackendLostError({ cause: { message: data.reason } }));
|
|
1710
|
+
}
|
|
1632
1711
|
/**
|
|
1633
1712
|
* Fire-and-forget `session/stop` to the backend. Mirrors Python's
|
|
1634
1713
|
* `_cancel_backend_turn`: send stop with an id (some backends route by id
|
|
@@ -1998,7 +2077,7 @@ async function resumeBackendSession(server, zcParams) {
|
|
|
1998
2077
|
* recorded session cwd, default-model overlay only if a faithful resume
|
|
1999
2078
|
* fails). Marks the session backend-loaded on success.
|
|
2000
2079
|
*/
|
|
2001
|
-
async function reloadBackendSession(server, acpSid, zcodeSid) {
|
|
2080
|
+
export async function reloadBackendSession(server, acpSid, zcodeSid) {
|
|
2002
2081
|
const cwd = server.sessionCwds.get(acpSid) ?? process.cwd();
|
|
2003
2082
|
const zcParams = {
|
|
2004
2083
|
sessionId: zcodeSid,
|
|
@@ -2414,6 +2493,18 @@ export async function runEventTurn(server, listener, monitor, differ, cx, acpSid
|
|
|
2414
2493
|
}
|
|
2415
2494
|
const ev = await listener.pollEvent(500);
|
|
2416
2495
|
if (ev === null) {
|
|
2496
|
+
// Dead-reader fast-fail: a backend whose reader died will never emit
|
|
2497
|
+
// another event — without this check the loop waits out the full stall
|
|
2498
|
+
// policy (2min no-progress / 10min stale-freeze) on a dead process.
|
|
2499
|
+
// Throwing the backend-lost shape routes into runOneTurn's respawn
|
|
2500
|
+
// recovery instead.
|
|
2501
|
+
if (!turn.cancelled && backend.isDead) {
|
|
2502
|
+
throw new TurnFailedError({
|
|
2503
|
+
code: "UNKNOWN_ERROR",
|
|
2504
|
+
message: "Turn execution failed",
|
|
2505
|
+
cause: { code: "ERR_INVALID_STATE", message: "reader dead" },
|
|
2506
|
+
});
|
|
2507
|
+
}
|
|
2417
2508
|
// Thinking-phase hint: if the turn has started but produced no output
|
|
2418
2509
|
// yet (no text/reasoning/tool streamed), and we've been silent longer
|
|
2419
2510
|
// than the threshold, emit a single "thinking" thought chunk so the
|