zcode-acp-server 0.11.0 → 0.11.5
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 +3 -0
- package/dist/handlers/dispatch.js +13 -4
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/extensions.d.ts +7 -1
- package/dist/handlers/extensions.d.ts.map +1 -1
- package/dist/handlers/extensions.js +15 -1
- package/dist/handlers/extensions.js.map +1 -1
- package/dist/handlers/server-requests.d.ts.map +1 -1
- package/dist/handlers/server-requests.js +15 -4
- package/dist/handlers/server-requests.js.map +1 -1
- package/dist/handlers/session.d.ts +4 -2
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +188 -30
- package/dist/handlers/session.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/remote/file-endpoint.d.ts.map +1 -1
- package/dist/remote/file-endpoint.js +13 -1
- package/dist/remote/file-endpoint.js.map +1 -1
- package/dist/remote/hub-server.d.ts.map +1 -1
- package/dist/remote/hub-server.js +16 -0
- package/dist/remote/hub-server.js.map +1 -1
- package/dist/server.d.ts +40 -13
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +56 -13
- package/dist/server.js.map +1 -1
- package/docs/TROUBLESHOOTING.md +26 -3
- package/package.json +1 -1
package/dist/handlers/session.js
CHANGED
|
@@ -30,6 +30,38 @@ function workspaceFor(cwd) {
|
|
|
30
30
|
const p = cwd || process.cwd();
|
|
31
31
|
return { workspacePath: p, workspaceKey: p };
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* A client-supplied cwd is only ever trusted for `session/new` — creating a
|
|
35
|
+
* session is the editor declaring its worktree. "/" is never a project root:
|
|
36
|
+
* remote clients fall back to it when their instance list is stale, and a
|
|
37
|
+
* session root decides what the /fs file endpoint exposes.
|
|
38
|
+
*/
|
|
39
|
+
function sanitizeClientCwd(client) {
|
|
40
|
+
return client && client !== "/" ? client : null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The authoritative Session Root for an EXISTING session: what the bridge
|
|
44
|
+
* already recorded (set at creation, or refreshed from the backend's resume
|
|
45
|
+
* result). Client cwds are NOT consulted — a remote client must not be able
|
|
46
|
+
* to widen or move a session's file scope by sending its own cwd. A
|
|
47
|
+
* previously-polluted "/" entry counts as unknown so the next resume
|
|
48
|
+
* repopulates it from the backend.
|
|
49
|
+
*/
|
|
50
|
+
function authoritativeSessionCwd(server, acpSid) {
|
|
51
|
+
const existing = server.sessionCwds.get(acpSid);
|
|
52
|
+
return existing && existing !== "/" ? existing : process.cwd();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Extract the backend-recorded workspace from a session/resume result
|
|
56
|
+
* (`result.session.workspace.workspacePath`). This is the session's own
|
|
57
|
+
* project directory as the backend sees it — the value remote file access
|
|
58
|
+
* is scoped to. Returns null when absent or malformed.
|
|
59
|
+
*/
|
|
60
|
+
function workspaceFromResumeResult(result) {
|
|
61
|
+
const ws = result?.session
|
|
62
|
+
?.workspace?.workspacePath;
|
|
63
|
+
return typeof ws === "string" && ws !== "" && ws !== "/" ? ws : null;
|
|
64
|
+
}
|
|
33
65
|
/**
|
|
34
66
|
* Push the provider registry to the backend so third-party providers (those in
|
|
35
67
|
* config.json) are recognised. The V4 backend doesn't auto-load them from
|
|
@@ -66,7 +98,9 @@ function toIso(ms) {
|
|
|
66
98
|
* index. The created session uses mode yolo (hardcoded).
|
|
67
99
|
*/
|
|
68
100
|
export async function newSession(server, params) {
|
|
69
|
-
|
|
101
|
+
// Creation is the one moment a client's cwd is trusted (the editor
|
|
102
|
+
// declaring its worktree); "/" is still rejected as a degenerate root.
|
|
103
|
+
const cwd = sanitizeClientCwd(params.cwd) ?? process.cwd();
|
|
70
104
|
// Placeholder id — the client addresses this session with it until the
|
|
71
105
|
// backend session materializes; never shown in session/list.
|
|
72
106
|
const acpSid = randomUUID();
|
|
@@ -101,8 +135,29 @@ export async function newSession(server, params) {
|
|
|
101
135
|
*/
|
|
102
136
|
export async function ensureRealSession(server, acpSid) {
|
|
103
137
|
const existing = server.resolveSid(acpSid);
|
|
104
|
-
if (existing)
|
|
138
|
+
if (existing) {
|
|
139
|
+
// The mapping exists, but the backend may have evicted the resident
|
|
140
|
+
// runtime since it was loaded (~10min idle timeout + LRU cap): every
|
|
141
|
+
// session-scoped RPC would then fail with "Session is not active"
|
|
142
|
+
// (-32004). Reload via session/resume when the verification went stale
|
|
143
|
+
// and no turn is in flight (a running turn proves the resident is live).
|
|
144
|
+
// Fail-safe: a failed reload just returns the mapping — the subsequent
|
|
145
|
+
// RPC surfaces the backend's real error, same as before this guard.
|
|
146
|
+
if (server.isBackendSessionLive(acpSid))
|
|
147
|
+
return existing;
|
|
148
|
+
const turnInFlight = [...server.pendingTurns.values()].some((t) => t.zcodeSid === existing);
|
|
149
|
+
if (!turnInFlight) {
|
|
150
|
+
try {
|
|
151
|
+
log(`ensureRealSession: ${acpSid} possibly evicted from backend — reloading`);
|
|
152
|
+
await reloadBackendSession(server, acpSid, existing);
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
log(`ensureRealSession: reload failed, continuing with existing mapping ` +
|
|
156
|
+
`(${e instanceof Error ? e.message : String(e)})`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
105
159
|
return existing;
|
|
160
|
+
}
|
|
106
161
|
let pending = server.pendingSessions.get(acpSid);
|
|
107
162
|
if (!pending) {
|
|
108
163
|
// Placeholder from a previous bridge lifetime: recover it from the durable
|
|
@@ -117,7 +172,8 @@ export async function ensureRealSession(server, acpSid) {
|
|
|
117
172
|
if (record) {
|
|
118
173
|
pending = { cwd: record.cwd };
|
|
119
174
|
server.pendingSessions.set(acpSid, pending);
|
|
120
|
-
|
|
175
|
+
if (record.cwd !== "/")
|
|
176
|
+
server.sessionCwds.set(acpSid, record.cwd);
|
|
121
177
|
}
|
|
122
178
|
}
|
|
123
179
|
if (!pending)
|
|
@@ -161,7 +217,7 @@ export async function ensureRealSession(server, acpSid) {
|
|
|
161
217
|
server.pendingSessions.delete(acpSid);
|
|
162
218
|
server.registerSession(acpSid, sid);
|
|
163
219
|
// session/create loads the session into this backend process.
|
|
164
|
-
server.
|
|
220
|
+
server.markBackendLoaded(acpSid);
|
|
165
221
|
// Keep the durable alias in sync so a later bridge restart can still
|
|
166
222
|
// resume this session via the placeholder id.
|
|
167
223
|
recordMaterializedSession(acpSid, sid, pending.cwd);
|
|
@@ -245,10 +301,11 @@ async function adoptStoredTitle(server, acpSid, zcodeSid) {
|
|
|
245
301
|
* the editor may resume it anyway (panel reopen, bridge restart) — resolving it
|
|
246
302
|
* here prevents an otherwise unavoidable "Session not found". Resolution order:
|
|
247
303
|
* 1. in-memory mapping → live only if verified loaded in this backend
|
|
248
|
-
* subprocess (`
|
|
249
|
-
* re-registered from the durable store without a resume, and the
|
|
250
|
-
*
|
|
251
|
-
*
|
|
304
|
+
* subprocess RECENTLY (`isBackendSessionLive`); a bare mapping may have
|
|
305
|
+
* been re-registered from the durable store without a resume, and the
|
|
306
|
+
* backend also evicts idle resident runtimes (~10min) — either way it
|
|
307
|
+
* only serves messages for sessions with a live resident, so those must
|
|
308
|
+
* fall through to the resume RPC or the replay comes back empty;
|
|
252
309
|
* 2. pending placeholder → materialize it (an empty session, matching the
|
|
253
310
|
* pre-lazy behavior where a never-used session/new always resumed);
|
|
254
311
|
* 3. durable store → a placeholder from a previous bridge lifetime: with a
|
|
@@ -261,7 +318,7 @@ async function adoptStoredTitle(server, acpSid, zcodeSid) {
|
|
|
261
318
|
async function resolveResumeTarget(server, acpSid) {
|
|
262
319
|
const mapped = server.resolveSid(acpSid);
|
|
263
320
|
if (mapped) {
|
|
264
|
-
return { zcodeSid: mapped, alreadyLive: server.
|
|
321
|
+
return { zcodeSid: mapped, alreadyLive: server.isBackendSessionLive(acpSid) };
|
|
265
322
|
}
|
|
266
323
|
if (server.pendingSessions.has(acpSid)) {
|
|
267
324
|
return { zcodeSid: await ensureRealSession(server, acpSid), alreadyLive: true };
|
|
@@ -280,9 +337,13 @@ async function resolveResumeTarget(server, acpSid) {
|
|
|
280
337
|
/** `session/resume` → zcode `session/resume` (with runtimeModel overlay). */
|
|
281
338
|
export async function resumeSession(server, params, cx) {
|
|
282
339
|
const acpSid = params.sessionId;
|
|
283
|
-
const cwd = params.cwd ?? process.cwd();
|
|
284
340
|
if (!acpSid)
|
|
285
341
|
throw new Error("sessionId required");
|
|
342
|
+
// The Session Root never comes from the client (params.cwd is ignored):
|
|
343
|
+
// start from what the bridge recorded, then let the backend's own resume
|
|
344
|
+
// result correct it below — a remote client must not move a session's
|
|
345
|
+
// file scope by sending its own cwd.
|
|
346
|
+
let cwd = authoritativeSessionCwd(server, acpSid);
|
|
286
347
|
// Lazy placeholders (session/new) resolve to their real backend session
|
|
287
348
|
// here; alreadyLive targets skip the resume RPC because the session is live
|
|
288
349
|
// in this backend subprocess.
|
|
@@ -310,13 +371,18 @@ export async function resumeSession(server, params, cx) {
|
|
|
310
371
|
// third-party model in its history, and the backend needs the provider
|
|
311
372
|
// registered to even process the resume turn.
|
|
312
373
|
await syncProviderRegistry(server, cwd);
|
|
313
|
-
await resumeBackendSession(server, zcParams);
|
|
374
|
+
const resumeResult = await resumeBackendSession(server, zcParams);
|
|
314
375
|
// The resume RPC succeeded — the session is now loaded in this backend.
|
|
315
|
-
server.
|
|
376
|
+
server.markBackendLoaded(acpSid);
|
|
377
|
+
// The backend's session record is the root authority: adopt its
|
|
378
|
+
// workspace as the session root (heals any stale/polluted entry).
|
|
379
|
+
const backendWs = workspaceFromResumeResult(resumeResult);
|
|
380
|
+
if (backendWs)
|
|
381
|
+
cwd = backendWs;
|
|
316
382
|
}
|
|
317
383
|
server.registerSession(acpSid, zcodeSid);
|
|
318
|
-
// The
|
|
319
|
-
//
|
|
384
|
+
// The session root for remote file access — backend-authoritative (see
|
|
385
|
+
// above); without this, a loaded session has no readable root.
|
|
320
386
|
server.sessionCwds.set(acpSid, cwd);
|
|
321
387
|
log(`session/resume -> ${zcodeSid}`);
|
|
322
388
|
server.ensureBackgroundListener(zcodeSid);
|
|
@@ -337,9 +403,13 @@ export async function resumeSession(server, params, cx) {
|
|
|
337
403
|
*/
|
|
338
404
|
export async function loadSession(server, params, cx) {
|
|
339
405
|
const acpSid = params.sessionId;
|
|
340
|
-
const cwd = params.cwd ?? process.cwd();
|
|
341
406
|
if (!acpSid)
|
|
342
407
|
throw new Error("sessionId required");
|
|
408
|
+
// The Session Root never comes from the client (params.cwd is ignored):
|
|
409
|
+
// start from what the bridge recorded, then let the backend's own resume
|
|
410
|
+
// result correct it below — a remote client must not move a session's
|
|
411
|
+
// file scope by sending its own cwd.
|
|
412
|
+
let cwd = authoritativeSessionCwd(server, acpSid);
|
|
343
413
|
// Same placeholder resolution as resumeSession; alreadyLive targets skip the
|
|
344
414
|
// backend resume RPC (the session is live in this subprocess).
|
|
345
415
|
const { zcodeSid, alreadyLive } = await resolveResumeTarget(server, acpSid);
|
|
@@ -355,12 +425,17 @@ export async function loadSession(server, params, cx) {
|
|
|
355
425
|
// third-party model in its history, and the backend needs the provider
|
|
356
426
|
// registered to process it.
|
|
357
427
|
await syncProviderRegistry(server, cwd);
|
|
358
|
-
await resumeBackendSession(server, zcParams);
|
|
428
|
+
const resumeResult = await resumeBackendSession(server, zcParams);
|
|
359
429
|
// The resume RPC succeeded — the session is now loaded in this backend.
|
|
360
|
-
server.
|
|
430
|
+
server.markBackendLoaded(acpSid);
|
|
431
|
+
// The backend's session record is the root authority: adopt its
|
|
432
|
+
// workspace as the session root (heals any stale/polluted entry).
|
|
433
|
+
const backendWs = workspaceFromResumeResult(resumeResult);
|
|
434
|
+
if (backendWs)
|
|
435
|
+
cwd = backendWs;
|
|
361
436
|
}
|
|
362
437
|
server.registerSession(acpSid, zcodeSid);
|
|
363
|
-
// Same as resumeSession:
|
|
438
|
+
// Same as resumeSession: backend-authoritative session root for file access.
|
|
364
439
|
server.sessionCwds.set(acpSid, cwd);
|
|
365
440
|
log(`session/load → ${zcodeSid}`);
|
|
366
441
|
server.ensureBackgroundListener(zcodeSid);
|
|
@@ -379,12 +454,19 @@ export async function loadSession(server, params, cx) {
|
|
|
379
454
|
log(`session/load: replayed ${slice.meta.replayedMessages} messages` +
|
|
380
455
|
`${limit === null ? "" : ` (tail limit ${limit}, total ${slice.meta.totalMessages})`}`);
|
|
381
456
|
// Replay the existing todo list as an initial plan so a loaded session shows
|
|
382
|
-
// its todos immediately
|
|
383
|
-
// replayed above and the differ hasn't mark_seen'd this history).
|
|
457
|
+
// its todos immediately.
|
|
384
458
|
try {
|
|
385
459
|
const snapshot = await buildSnapshot(server, zcodeSid);
|
|
386
460
|
const loadDiffer = getOrCreateDiffer(server, zcodeSid);
|
|
387
|
-
|
|
461
|
+
// Keep the shared differ's full diff for its mark-seen side effect on the
|
|
462
|
+
// replayed history (next turn-completion diff must not re-emit it).
|
|
463
|
+
loadDiffer.diff(snapshot);
|
|
464
|
+
// Emit the CURRENT todos on every load: the shared differ only fires on
|
|
465
|
+
// CHANGE since its lastPlanSig already matches after any prior client's
|
|
466
|
+
// diff — a re-attaching client (the mobile app always re-attaches) would
|
|
467
|
+
// otherwise never learn a plan a previous client already saw. A throwaway
|
|
468
|
+
// differ starts at the "__none__" sentinel, so diffPlan always emits.
|
|
469
|
+
const planEvents = new ProjectionDiffer().diffPlan(snapshot.todos ?? []);
|
|
388
470
|
for (const iev of planEvents) {
|
|
389
471
|
await dispatchEvent(server, cx, acpSid, iev, `load_${randomUUID().slice(0, 8)}`);
|
|
390
472
|
}
|
|
@@ -488,7 +570,30 @@ export async function prompt(server, params, cx, requestId) {
|
|
|
488
570
|
// — this call site is outside the try/finally below.
|
|
489
571
|
let snapshot;
|
|
490
572
|
try {
|
|
491
|
-
|
|
573
|
+
try {
|
|
574
|
+
snapshot = await listener.subscribe(() => server.nextId());
|
|
575
|
+
}
|
|
576
|
+
catch (e) {
|
|
577
|
+
// The backend evicts idle resident runtimes (~10min) and can drop them
|
|
578
|
+
// under its LRU cap even sooner — an evicted session fails every
|
|
579
|
+
// session-scoped RPC with code -32004 "Session is not active" although
|
|
580
|
+
// the session file is intact. Recover by reloading it (session/resume
|
|
581
|
+
// is idempotent) and retrying the subscribe once; any other error, or
|
|
582
|
+
// a second failure, propagates to the editor.
|
|
583
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
584
|
+
if (!/session is not active/i.test(msg))
|
|
585
|
+
throw e;
|
|
586
|
+
log(`prompt: session ${zcodeSid} no longer active in backend — reloading via session/resume`);
|
|
587
|
+
await reloadBackendSession(server, params.sessionId, zcodeSid);
|
|
588
|
+
// The pre-subscribe fetchMessages ran against the evicted session and
|
|
589
|
+
// came back empty — re-baseline the differ so turn completion doesn't
|
|
590
|
+
// diff-replay the whole history as new output.
|
|
591
|
+
differ.markSeen(await fetchMessages(server, zcodeSid));
|
|
592
|
+
snapshot = await listener.subscribe(() => server.nextId());
|
|
593
|
+
}
|
|
594
|
+
// A successful subscribe proves the resident runtime is live — refresh
|
|
595
|
+
// the verification so concurrent/later entry points skip a reload.
|
|
596
|
+
server.markBackendLoaded(params.sessionId);
|
|
492
597
|
}
|
|
493
598
|
catch (e) {
|
|
494
599
|
server.pendingTurns.delete(requestId);
|
|
@@ -656,8 +761,10 @@ export async function prompt(server, params, cx, requestId) {
|
|
|
656
761
|
server.pendingTurns.delete(requestId);
|
|
657
762
|
// Turn end = session activity — refresh the discovery summary and mark the
|
|
658
763
|
// session discoverable regardless of outcome (end_turn, cancelled, retries
|
|
659
|
-
// exhausted).
|
|
764
|
+
// exhausted). Also refresh the backend-loaded verification: the resident
|
|
765
|
+
// runtime was demonstrably live through this turn.
|
|
660
766
|
server.markSessionActive(params.sessionId);
|
|
767
|
+
server.markBackendLoaded(params.sessionId);
|
|
661
768
|
// Report "running" only while no other turn for the session took over
|
|
662
769
|
// (preempt): the preempting turn's own running:true must survive.
|
|
663
770
|
const stillBusy = [...server.pendingTurns.values()].some((t) => t.zcodeSid === zcodeSid);
|
|
@@ -709,8 +816,9 @@ export async function cancel(server, params) {
|
|
|
709
816
|
// Cancel ALL matching turns for this session (not just the first). While a
|
|
710
817
|
// prior turn is still finalising, pendingTurns holds both it and any newer
|
|
711
818
|
// prompt waiting on the backend's prompt lock; breaking on the first match
|
|
712
|
-
// could leave the live one running.
|
|
713
|
-
//
|
|
819
|
+
// could leave the live one running. Each turn guards its own stopSent, so
|
|
820
|
+
// multiple matching turns may each fire session/stop once — the backend
|
|
821
|
+
// treats stop as idempotent, so the duplicate is harmless.
|
|
714
822
|
for (const [, turn] of server.pendingTurns) {
|
|
715
823
|
if (turn.zcodeSid === zcodeSid) {
|
|
716
824
|
turn.cancelled = true;
|
|
@@ -817,8 +925,8 @@ export function preemptInFlightTurn(server, zcodeSid, selfRequestId) {
|
|
|
817
925
|
// than one entry for this session — e.g. an already-cancelled turn still
|
|
818
926
|
// finalising plus the live one. Breaking on the first match could hit the
|
|
819
927
|
// stale entry and leave the live turn running, so the new prompt's send
|
|
820
|
-
// would retry against a busy backend for 30s and fail.
|
|
821
|
-
//
|
|
928
|
+
// would retry against a busy backend for 30s and fail. Each turn guards its
|
|
929
|
+
// own stopSent; duplicate stops are idempotent on the backend.
|
|
822
930
|
let found = false;
|
|
823
931
|
for (const [reqId, turn] of server.pendingTurns) {
|
|
824
932
|
if (turn.zcodeSid !== zcodeSid || reqId === selfRequestId)
|
|
@@ -956,6 +1064,9 @@ function fileUriToPath(uri) {
|
|
|
956
1064
|
* can land in that gap and time out without the backend ever seeing it. A single
|
|
957
1065
|
* retry — issued after the startup window has elapsed — succeeds. Non-timeout
|
|
958
1066
|
* errors (Invalid params, session not found) fail fast.
|
|
1067
|
+
*
|
|
1068
|
+
* Returns the response's result object on success — callers extract the
|
|
1069
|
+
* backend-authoritative session workspace from it. Throws on failure.
|
|
959
1070
|
*/
|
|
960
1071
|
async function resumeBackendSession(server, zcParams) {
|
|
961
1072
|
const backend = server.ensureBackend();
|
|
@@ -964,7 +1075,7 @@ async function resumeBackendSession(server, zcParams) {
|
|
|
964
1075
|
for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
|
|
965
1076
|
const resp = await backend.request(server.nextId(), "session/resume", zcParams, ATTEMPT_TIMEOUT_MS);
|
|
966
1077
|
if (!resp.error)
|
|
967
|
-
return;
|
|
1078
|
+
return (resp.result ?? {});
|
|
968
1079
|
const isTimeout = resp.error.message === "timeout";
|
|
969
1080
|
if (!isTimeout || attempt === MAX_ATTEMPTS) {
|
|
970
1081
|
throw new Error(`zcode resume failed: ${resp.error.message ?? ""}`);
|
|
@@ -972,6 +1083,25 @@ async function resumeBackendSession(server, zcParams) {
|
|
|
972
1083
|
log(`session/resume attempt ${attempt}/${MAX_ATTEMPTS} timed out, retrying (backend cold-start window)`);
|
|
973
1084
|
await sleep(1000);
|
|
974
1085
|
}
|
|
1086
|
+
throw new Error("zcode resume failed: exhausted retries");
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* Reload a session into the backend subprocess via `session/resume` — the
|
|
1090
|
+
* recovery path after the backend evicted the resident runtime (idle timeout
|
|
1091
|
+
* / LRU). Same param shape as session/load·resume (workspace from the
|
|
1092
|
+
* recorded session cwd, runtimeModel overlay for stale history models).
|
|
1093
|
+
* Marks the session backend-loaded on success.
|
|
1094
|
+
*/
|
|
1095
|
+
async function reloadBackendSession(server, acpSid, zcodeSid) {
|
|
1096
|
+
const zcParams = {
|
|
1097
|
+
sessionId: zcodeSid,
|
|
1098
|
+
workspace: workspaceFor(server.sessionCwds.get(acpSid) ?? process.cwd()),
|
|
1099
|
+
};
|
|
1100
|
+
const runtimeModel = buildResumeRuntimeModel();
|
|
1101
|
+
if (runtimeModel !== null)
|
|
1102
|
+
zcParams.runtimeModel = runtimeModel;
|
|
1103
|
+
await resumeBackendSession(server, zcParams);
|
|
1104
|
+
server.markBackendLoaded(acpSid);
|
|
975
1105
|
}
|
|
976
1106
|
/** Get or create the session-level ProjectionDiffer (persists across turns). */
|
|
977
1107
|
function getOrCreateDiffer(server, zcodeSid) {
|
|
@@ -1016,7 +1146,16 @@ async function runEventTurn(server, listener, monitor, differ, cx, acpSid, chunk
|
|
|
1016
1146
|
// Drain + handle server→client requests (interaction/*). Refreshes the
|
|
1017
1147
|
// no-progress timer when any are handled. Pass `turn` so interaction
|
|
1018
1148
|
// requests become turn-cancel aware (user stop aborts pending popups).
|
|
1019
|
-
|
|
1149
|
+
// Best-effort containment: a throw here would kill the turn loop (and the
|
|
1150
|
+
// prompt response with it); warn and keep draining instead.
|
|
1151
|
+
let handled = false;
|
|
1152
|
+
try {
|
|
1153
|
+
handled = await handleServerRequests(server, backend, cx, acpSid, turn);
|
|
1154
|
+
}
|
|
1155
|
+
catch (e) {
|
|
1156
|
+
warn(`handleServerRequests threw: ${e instanceof Error ? e.message : String(e)}`);
|
|
1157
|
+
}
|
|
1158
|
+
if (handled) {
|
|
1020
1159
|
lastProgress = Date.now();
|
|
1021
1160
|
}
|
|
1022
1161
|
if (turn.cancelled) {
|
|
@@ -1420,16 +1559,35 @@ async function dispatchEditDiff(server, cx, acpSid, zcodeSid, callId, differ, ch
|
|
|
1420
1559
|
* waiting for turn completion — the turn-completion diff would otherwise lag
|
|
1421
1560
|
* behind by the rest of the model's output.
|
|
1422
1561
|
*
|
|
1562
|
+
* The backend writes the projection's todos asynchronously AFTER the
|
|
1563
|
+
* tool-result event, so a single read at result-time races that write and
|
|
1564
|
+
* intermittently sees the stale list (the editor's todo panel then lags until
|
|
1565
|
+
* the next tool completes). When the signature is unchanged, re-check once
|
|
1566
|
+
* after a short delay before giving up.
|
|
1567
|
+
*
|
|
1423
1568
|
* Uses a lightweight `session/read` (no session/messages fetch). Failures are
|
|
1424
1569
|
* logged and swallowed: plan staleness is cosmetic, not worth crashing the turn.
|
|
1425
1570
|
*/
|
|
1426
|
-
|
|
1571
|
+
const PLAN_RECHECK_DELAY_MS = 600;
|
|
1572
|
+
// Exported for unit tests (plan recheck timing).
|
|
1573
|
+
export async function dispatchPlanIfChanged(server, cx, acpSid, zcodeSid, differ, chunkMsgId, recheck = true) {
|
|
1427
1574
|
try {
|
|
1428
1575
|
const backend = server.ensureBackend();
|
|
1429
1576
|
const readResp = await backend.request(server.nextId(), "session/read", { sessionId: zcodeSid }, 8000);
|
|
1430
1577
|
const read = (readResp.result ?? {});
|
|
1431
1578
|
const todos = flattenTodos(read.todos, read.todoGroups);
|
|
1432
1579
|
const events = differ.diffPlan(todos);
|
|
1580
|
+
if (events.length === 0) {
|
|
1581
|
+
if (!recheck)
|
|
1582
|
+
return;
|
|
1583
|
+
const timer = setTimeout(() => {
|
|
1584
|
+
void dispatchPlanIfChanged(server, cx, acpSid, zcodeSid, differ, chunkMsgId, false).catch(() => {
|
|
1585
|
+
/* best-effort: cosmetic staleness only */
|
|
1586
|
+
});
|
|
1587
|
+
}, PLAN_RECHECK_DELAY_MS);
|
|
1588
|
+
timer.unref?.();
|
|
1589
|
+
return;
|
|
1590
|
+
}
|
|
1433
1591
|
for (const iev of events) {
|
|
1434
1592
|
await dispatchEvent(server, cx, acpSid, iev, chunkMsgId);
|
|
1435
1593
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -127,6 +127,8 @@ async function main() {
|
|
|
127
127
|
// starts — the prompting client renders it locally, the others only
|
|
128
128
|
// ever see the agent's output.
|
|
129
129
|
echoUserPromptToOthers(server, ctx.client, ctx.params);
|
|
130
|
+
// JSON-RPC requests always carry a non-null id; the SDK types it as the
|
|
131
|
+
// wider JsonRpcId, hence the narrowing cast.
|
|
130
132
|
return prompt(server, ctx.params, server.clients.broadcast(), ctx.requestId);
|
|
131
133
|
})
|
|
132
134
|
.onRequest("session/set_config_option", (ctx) => setConfigOptionHandler(server, ctx.params, server.clients.broadcast()))
|