zcode-acp-server 0.34.0 → 0.35.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 +1 -1
- package/dist/code-fingerprint.json +2 -2
- package/dist/handlers/server-requests.d.ts.map +1 -1
- package/dist/handlers/server-requests.js +15 -8
- package/dist/handlers/server-requests.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 +122 -17
- package/dist/handlers/session.js.map +1 -1
- package/dist/interaction/adapter.d.ts +13 -10
- package/dist/interaction/adapter.d.ts.map +1 -1
- package/dist/interaction/adapter.js +44 -21
- package/dist/interaction/adapter.js.map +1 -1
- package/dist/remote/hub-server.d.ts.map +1 -1
- package/dist/remote/hub-server.js +7 -6
- package/dist/remote/hub-server.js.map +1 -1
- package/dist/remote/session-rename-endpoint.d.ts.map +1 -1
- package/dist/remote/session-rename-endpoint.js +2 -0
- package/dist/remote/session-rename-endpoint.js.map +1 -1
- package/dist/server.d.ts +22 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +24 -0
- package/dist/server.js.map +1 -1
- package/dist/terminal-title.d.ts +55 -0
- package/dist/terminal-title.d.ts.map +1 -0
- package/dist/terminal-title.js +114 -0
- package/dist/terminal-title.js.map +1 -0
- package/docs/ARCHITECTURE.md +9 -4
- package/docs/PROTOCOL.md +22 -15
- package/docs/TROUBLESHOOTING.md +63 -7
- 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.35.1" alt="Contributors" /> <!-- x-release-please-version -->
|
|
243
243
|
</a>
|
|
244
244
|
|
|
245
245
|
## Related Projects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-requests.d.ts","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAEV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhE,wEAAwE;AACxE,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAwCD,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQtF;AAuHD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI,CAgBN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,OAAO,CAAC,CAmElB;
|
|
1
|
+
{"version":3,"file":"server-requests.d.ts","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAEV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhE,wEAAwE;AACxE,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAwCD,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQtF;AAuHD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI,CAgBN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,OAAO,CAAC,CAmElB;AAgND;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,+BAA+B,EACvC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,wBAAwB,CAAC,CA0EnC;AAqHD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB"}
|
|
@@ -372,14 +372,21 @@ async function handleSinglePermission(server, cx, acpSid, params, epm, perm, tur
|
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
374
|
await sendSessionUpdate(cx, acpSid, tcUpdate);
|
|
375
|
-
// ExitPlanMode routing splits by client capability:
|
|
376
|
-
// -
|
|
377
|
-
//
|
|
378
|
-
//
|
|
379
|
-
// -
|
|
380
|
-
//
|
|
381
|
-
//
|
|
382
|
-
|
|
375
|
+
// ExitPlanMode routing splits by client KIND, not by form capability:
|
|
376
|
+
// - martty gets an elicitation FORM: its request_permission overlay draws
|
|
377
|
+
// only the title — a one-line popup can never show a plan, while the
|
|
378
|
+
// form renders the plan markdown in a scrollable detail pane.
|
|
379
|
+
// - Every other client (Zed, remote apps) keeps session/request_permission:
|
|
380
|
+
// editors render toolCall.content as full markdown (Zed: MarkdownElement,
|
|
381
|
+
// code blocks and links included), while elicitation form descriptions
|
|
382
|
+
// are plain Labels there (verified against Zed v1.19.2 sources) — the
|
|
383
|
+
// form would DOWNGRADE the plan display. Zed ≥1.12 declares
|
|
384
|
+
// elicitation.form, so a capability gate cannot tell the two apart;
|
|
385
|
+
// only martty actually needs the form.
|
|
386
|
+
// Both converge on the same zcode accept/decline response shape, and the
|
|
387
|
+
// form path still falls back to request_permission if the form channel
|
|
388
|
+
// fails (see handlePlanApprovalViaElicitation).
|
|
389
|
+
if (epm && server.hasMarttyClient()) {
|
|
383
390
|
const elicited = await handlePlanApprovalViaElicitation(server, cx, acpSid, p, turn);
|
|
384
391
|
// null = the form channel failed (capability flags are OR-merged across
|
|
385
392
|
// clients at initialize and survive detach, so the flag can outlive the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-requests.js","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-requests.js","sourceRoot":"","sources":["../../src/handlers/server-requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import type * as acp from "@agentclientprotocol/sdk";
|
|
14
14
|
import type { ZcodeBackend } from "../backend/client.js";
|
|
15
15
|
import { EventStreamListener, TurnMonitor } from "../backend/listener.js";
|
|
16
|
+
import type { ZcodeMessage } from "../backend/types.js";
|
|
16
17
|
import { EventTranslator, ProjectionDiffer } from "../translators/index.js";
|
|
17
18
|
import type { PendingTurn, ZcodeAcpServer } from "../server.js";
|
|
18
19
|
/**
|
|
@@ -268,6 +269,19 @@ export interface ImageAttachment {
|
|
|
268
269
|
* Exported for unit testing.
|
|
269
270
|
*/
|
|
270
271
|
export declare function extractAttachments(blocks: acp.ContentBlock[] | undefined): ImageAttachment[];
|
|
272
|
+
/**
|
|
273
|
+
* fetchMessages + bounded read-back settle, for paths that JUST performed a
|
|
274
|
+
* resume. The backend's `session/messages` reflects only what it has hydrated
|
|
275
|
+
* so far — a query landing mid-restore returns a PREFIX, and replaying that
|
|
276
|
+
* prefix makes the conversation "end in the middle" on first entry (re-entry
|
|
277
|
+
* is fine once hydration finished; big sessions hydrate slowly, hence
|
|
278
|
+
* "often but not always"). Poll until the count has stopped growing for TWO
|
|
279
|
+
* consecutive reads (a single equal pair can be a >gap plateau inside a slow
|
|
280
|
+
* hydration), capped; on the cap the largest snapshot seen wins. Only fresh
|
|
281
|
+
* resumes pay the extra round-trips — an already-live session's store is
|
|
282
|
+
* stable.
|
|
283
|
+
*/
|
|
284
|
+
export declare function fetchMessagesSettled(server: ZcodeAcpServer, zcodeSid: string): Promise<ZcodeMessage[]>;
|
|
271
285
|
/**
|
|
272
286
|
* Cold-start send rejection worth retrying: right after a sandbox-allow
|
|
273
287
|
* respawn, the reloaded session's recorded model briefly reads as
|
|
@@ -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;
|
|
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
|
@@ -24,6 +24,7 @@ import { buildProviderRegistry } from "../config/provider-registry.js";
|
|
|
24
24
|
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
|
+
import { refreshTerminalTabTitle } from "../terminal-title.js";
|
|
27
28
|
import { buildDiffContent, EventTranslator, extractLocations, formatTurnError, isTransientTurnError, ProjectionDiffer, } from "../translators/index.js";
|
|
28
29
|
import { clientConnectionRoot, log, warn } from "../utils.js";
|
|
29
30
|
import { dispatchEvent } from "./dispatch.js";
|
|
@@ -216,6 +217,7 @@ export async function newSession(server, params, client) {
|
|
|
216
217
|
server.remoteCreatedSessions.add(bindSid);
|
|
217
218
|
rememberLazySession(bindSid, cwd);
|
|
218
219
|
server.titleEligibleSessions.add(bindSid);
|
|
220
|
+
refreshTerminalTabTitle(server, bindSid);
|
|
219
221
|
log(`session/new (create-bind) → ${bindSid} cwd=${cwd}`);
|
|
220
222
|
}
|
|
221
223
|
// Same banner handshake as boot-resume: the TUI's auto-submitted trigger
|
|
@@ -242,6 +244,7 @@ export async function newSession(server, params, client) {
|
|
|
242
244
|
// deferred past the response instead (below).
|
|
243
245
|
const loaded = await loadSession(server, { sessionId: bootResume }, server.clients.broadcast(), { replayHistory: false });
|
|
244
246
|
log(`session/new: boot-resume → ${bootResume}`);
|
|
247
|
+
refreshTerminalTabTitle(server, bootResume);
|
|
245
248
|
// Deferred tail replay, same as the TUI's /resume (see resumeSession):
|
|
246
249
|
// once the session/new response is written the booting martty has
|
|
247
250
|
// adopted the returned session id, so post-response chunks can fold
|
|
@@ -298,6 +301,7 @@ export async function newSession(server, params, client) {
|
|
|
298
301
|
// Only freshly-created sessions are eligible for auto-title on first
|
|
299
302
|
// end_turn; resumed/loaded sessions already have a title and must keep it.
|
|
300
303
|
server.titleEligibleSessions.add(acpSid);
|
|
304
|
+
refreshTerminalTabTitle(server, acpSid);
|
|
301
305
|
log(`session/new (lazy) → ${acpSid} cwd=${cwd}`);
|
|
302
306
|
// No backend RPC yet: modes/configOptions are built from defaults (the
|
|
303
307
|
// pending session's real values arrive via updates once materialized).
|
|
@@ -530,6 +534,7 @@ async function adoptStoredTitle(server, acpSid, zcodeSid) {
|
|
|
530
534
|
if (hit?.title) {
|
|
531
535
|
server.sessionTitles.set(acpSid, hit.title);
|
|
532
536
|
server.touchSessionSummary(acpSid, hit.title);
|
|
537
|
+
refreshTerminalTabTitle(server, acpSid);
|
|
533
538
|
log(`adopted stored title for ${acpSid.slice(0, 8)}: ${hit.title}`);
|
|
534
539
|
}
|
|
535
540
|
}
|
|
@@ -613,6 +618,8 @@ function isMarttyClient(server) {
|
|
|
613
618
|
* session/load and would double-render a resume replay.
|
|
614
619
|
*/
|
|
615
620
|
async function replayResumeHistory(server, cx, acpSid, zcodeSid) {
|
|
621
|
+
// Plain fetch: callers only invoke this after a resume flight settled the
|
|
622
|
+
// store (or the session was already live) — see resumePreservingModel.
|
|
616
623
|
const messages = await fetchMessages(server, zcodeSid);
|
|
617
624
|
if (messages.length === 0)
|
|
618
625
|
return;
|
|
@@ -680,7 +687,8 @@ export async function resumeSession(server, params, cx) {
|
|
|
680
687
|
await syncProviderRegistry(server, cwd);
|
|
681
688
|
let resumeResult;
|
|
682
689
|
try {
|
|
683
|
-
|
|
690
|
+
const outcome = await resumePreservingModel(server, zcParams);
|
|
691
|
+
resumeResult = outcome.result;
|
|
684
692
|
}
|
|
685
693
|
catch (e) {
|
|
686
694
|
translateResumeFailure("session/resume", acpSid, origin, e);
|
|
@@ -716,6 +724,8 @@ export async function resumeSession(server, params, cx) {
|
|
|
716
724
|
// first: microtasks (the SDK's response send) drain before immediates.
|
|
717
725
|
if (isMarttyClient(server)) {
|
|
718
726
|
setImmediate(() => {
|
|
727
|
+
// Plain fetch, no settle: any resume flight already settled the store
|
|
728
|
+
// before this session/resume returned (the settle rides the flight).
|
|
719
729
|
replayResumeHistory(server, cx, acpSid, zcodeSid).catch((e) => {
|
|
720
730
|
warn(`session/resume: TUI history replay failed (non-fatal): ` +
|
|
721
731
|
`${e instanceof Error ? e.message : String(e)}`);
|
|
@@ -790,16 +800,21 @@ export async function resumeIntoSession(server, cx, acpSid, zcodeTarget) {
|
|
|
790
800
|
// prompt auto-title.
|
|
791
801
|
server.titleEligibleSessions.delete(acpSid);
|
|
792
802
|
const cwd = server.serveMode ? process.cwd() : authoritativeSessionCwd(server, acpSid);
|
|
803
|
+
// Settled history when a resume flight ran (performer OR joiner — the
|
|
804
|
+
// flight settles hydration before resolving); the read below then uses the
|
|
805
|
+
// flight's snapshot instead of re-querying mid-hydration.
|
|
806
|
+
let settledHistory;
|
|
793
807
|
try {
|
|
794
808
|
await syncProviderRegistry(server, cwd);
|
|
795
|
-
const
|
|
809
|
+
const outcome = await resumePreservingModel(server, {
|
|
796
810
|
sessionId: zcodeTarget,
|
|
797
811
|
workspace: workspaceFor(cwd),
|
|
798
812
|
});
|
|
813
|
+
settledHistory = outcome.history;
|
|
799
814
|
server.markBackendLoaded(acpSid);
|
|
800
815
|
await repairUnavailableModel(server, zcodeTarget);
|
|
801
816
|
server.registerSession(acpSid, zcodeTarget);
|
|
802
|
-
const backendWs = workspaceFromResumeResult(
|
|
817
|
+
const backendWs = workspaceFromResumeResult(outcome.result);
|
|
803
818
|
const finalCwd = backendWs && !server.serveMode ? backendWs : cwd;
|
|
804
819
|
server.sessionCwds.set(acpSid, finalCwd);
|
|
805
820
|
recordMaterializedSession(acpSid, zcodeTarget, finalCwd);
|
|
@@ -807,10 +822,10 @@ export async function resumeIntoSession(server, cx, acpSid, zcodeTarget) {
|
|
|
807
822
|
await adoptStoredTitle(server, acpSid, zcodeTarget);
|
|
808
823
|
}
|
|
809
824
|
catch (e) {
|
|
810
|
-
warn(`/resume: adopting ${zcodeTarget} failed
|
|
825
|
+
warn(`/resume: adopting ${zcodeTarget} failed (${e instanceof Error ? e.message : String(e)})`);
|
|
811
826
|
return { ok: false, error: messages().slashResumeFailed };
|
|
812
827
|
}
|
|
813
|
-
const history = await fetchMessages(server, zcodeTarget);
|
|
828
|
+
const history = settledHistory ?? (await fetchMessages(server, zcodeTarget));
|
|
814
829
|
if (history.length > 0)
|
|
815
830
|
server.markSessionActive(acpSid);
|
|
816
831
|
const slice = fullSlice(history);
|
|
@@ -819,7 +834,8 @@ export async function resumeIntoSession(server, cx, acpSid, zcodeTarget) {
|
|
|
819
834
|
// /resume keeps full-fidelity replay.
|
|
820
835
|
toolTurnWindow: isMarttyClient(server) ? MARTTY_TOOL_TURN_WINDOW : undefined,
|
|
821
836
|
}));
|
|
822
|
-
log(`/resume: replayed ${slice.meta.replayedMessages} messages into ${acpSid.slice(0, 8)}`
|
|
837
|
+
log(`/resume: replayed ${slice.meta.replayedMessages} messages into ${acpSid.slice(0, 8)}` +
|
|
838
|
+
` (total ${slice.meta.totalMessages})`);
|
|
823
839
|
// Same baseline dance as session/load: mark history seen so the next turn's
|
|
824
840
|
// completion diff does not re-emit it, then emit the current todos from a
|
|
825
841
|
// throwaway differ and the initial context-usage bar.
|
|
@@ -854,6 +870,10 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
854
870
|
// Same placeholder resolution as resumeSession; alreadyLive targets skip the
|
|
855
871
|
// backend resume RPC (the session is live in this subprocess).
|
|
856
872
|
const { zcodeSid, alreadyLive, origin } = await resolveResumeTarget(server, acpSid);
|
|
873
|
+
// Settled history from a resume flight THIS call took part in (performer or
|
|
874
|
+
// joiner — the flight settles hydration before resolving, so using its
|
|
875
|
+
// snapshot is the mid-hydration-prefix guard; undefined = alreadyLive).
|
|
876
|
+
let settledHistory;
|
|
857
877
|
if (!alreadyLive) {
|
|
858
878
|
const zcParams = {
|
|
859
879
|
sessionId: zcodeSid,
|
|
@@ -865,7 +885,9 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
865
885
|
await syncProviderRegistry(server, cwd);
|
|
866
886
|
let resumeResult;
|
|
867
887
|
try {
|
|
868
|
-
|
|
888
|
+
const outcome = await resumePreservingModel(server, zcParams);
|
|
889
|
+
resumeResult = outcome.result;
|
|
890
|
+
settledHistory = outcome.history;
|
|
869
891
|
}
|
|
870
892
|
catch (e) {
|
|
871
893
|
translateResumeFailure("session/load", acpSid, origin, e);
|
|
@@ -911,7 +933,10 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
911
933
|
}
|
|
912
934
|
// Named `history` — a local `messages` would shadow the i18n `messages()`
|
|
913
935
|
// helper used in the error paths above (TDZ crash from the catch block).
|
|
914
|
-
|
|
936
|
+
// A resume flight's SETTLED snapshot is the mid-hydration guard; only an
|
|
937
|
+
// already-live session (no flight) falls back to a plain read — its store
|
|
938
|
+
// is stable.
|
|
939
|
+
const history = settledHistory ?? (await fetchMessages(server, zcodeSid));
|
|
915
940
|
// History on disk = real interaction (covers untitled sessions resumed from
|
|
916
941
|
// a previous bridge lifetime) — make the session discoverable remotely.
|
|
917
942
|
if (history.length > 0)
|
|
@@ -931,8 +956,10 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
931
956
|
}
|
|
932
957
|
else {
|
|
933
958
|
await withReplayBatch(acpSid, () => replayMessages(cx, acpSid, slice.batch));
|
|
959
|
+
// total M always logged: a first-entry total below the session's real size
|
|
960
|
+
// is the signature of a mid-hydration read (see fetchMessagesSettled).
|
|
934
961
|
log(`session/load: replayed ${slice.meta.replayedMessages} messages` +
|
|
935
|
-
|
|
962
|
+
` (total ${slice.meta.totalMessages}${limit === null ? "" : `, tail limit ${limit}`})`);
|
|
936
963
|
}
|
|
937
964
|
// Replay the existing todo list as an initial plan so a loaded session shows
|
|
938
965
|
// its todos immediately.
|
|
@@ -1408,6 +1435,7 @@ async function runPrompt(server, params, cx, requestId, continuationRound = fals
|
|
|
1408
1435
|
?.slice(0, 80) ?? text.slice(0, 80);
|
|
1409
1436
|
server.sessionTitles.set(params.sessionId, title);
|
|
1410
1437
|
server.touchSessionSummary(params.sessionId, title);
|
|
1438
|
+
refreshTerminalTabTitle(server, params.sessionId);
|
|
1411
1439
|
const { updateSessionTitle } = await import("../tasks-index.js");
|
|
1412
1440
|
void updateSessionTitle(zcodeSid, title, text);
|
|
1413
1441
|
void sendSessionUpdate(cx, params.sessionId, {
|
|
@@ -1995,17 +2023,94 @@ async function reloadBackendSession(server, acpSid, zcodeSid) {
|
|
|
1995
2023
|
* runtimeModel overlay). The overlay is now a FALLBACK repair only: when the
|
|
1996
2024
|
* faithful resume fails outright (history carrying a stale/revoked model),
|
|
1997
2025
|
* retry once pinned to the first enabled provider's first model.
|
|
2026
|
+
*
|
|
2027
|
+
* Single-flight per backend session id (server.resumeInFlight), and the
|
|
2028
|
+
* flight covers resume RPC + hydration settle TOGETHER: a concurrent caller
|
|
2029
|
+
* for the SAME session (the ADR-0017 first-entry race — the App's
|
|
2030
|
+
* session/load racing the TUI's boot-resume) joins the in-flight flight
|
|
2031
|
+
* instead of sending its own resume, AND its later history read observes the
|
|
2032
|
+
* settled store — a joiner that only awaited the RPC could still read a
|
|
2033
|
+
* mid-hydration prefix, and the joiner is the client that actually renders
|
|
2034
|
+
* the history (the TUI boot path replays nothing). Joiners await the same
|
|
2035
|
+
* promise (a failed flight fails them too) and share the performer's
|
|
2036
|
+
* outcome — including the backend-authoritative workspace, so a joiner never
|
|
2037
|
+
* overwrites the performer's corrected session root with its own stale cwd.
|
|
1998
2038
|
*/
|
|
1999
2039
|
async function resumePreservingModel(server, zcParams) {
|
|
2040
|
+
const zcodeSid = String(zcParams["sessionId"] ?? "");
|
|
2041
|
+
const inFlight = server.resumeInFlight.get(zcodeSid);
|
|
2042
|
+
if (inFlight) {
|
|
2043
|
+
const shared = await inFlight; // rethrows the first flight's failure
|
|
2044
|
+
return { ...shared, performed: false };
|
|
2045
|
+
}
|
|
2046
|
+
const flight = (async () => {
|
|
2047
|
+
let result;
|
|
2048
|
+
try {
|
|
2049
|
+
result = await resumeBackendSession(server, zcParams);
|
|
2050
|
+
}
|
|
2051
|
+
catch (err) {
|
|
2052
|
+
const overlay = buildResumeRuntimeModel();
|
|
2053
|
+
if (overlay === null)
|
|
2054
|
+
throw err;
|
|
2055
|
+
warn(`resume failed (${err instanceof Error ? err.message : String(err)}); ` +
|
|
2056
|
+
`retrying with default-model overlay`);
|
|
2057
|
+
result = await resumeBackendSession(server, { ...zcParams, runtimeModel: overlay });
|
|
2058
|
+
}
|
|
2059
|
+
// The settle rides the flight (see the docstring): joiners awaiting this
|
|
2060
|
+
// promise are ordered after hydration, not merely after the RPC.
|
|
2061
|
+
const history = await fetchMessagesSettled(server, zcodeSid);
|
|
2062
|
+
return {
|
|
2063
|
+
performed: true,
|
|
2064
|
+
result,
|
|
2065
|
+
history,
|
|
2066
|
+
};
|
|
2067
|
+
})();
|
|
2068
|
+
server.resumeInFlight.set(zcodeSid, flight);
|
|
2000
2069
|
try {
|
|
2001
|
-
return await
|
|
2002
|
-
}
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
if (
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2070
|
+
return await flight;
|
|
2071
|
+
}
|
|
2072
|
+
finally {
|
|
2073
|
+
// Guarded delete: only the owner removes its own entry.
|
|
2074
|
+
if (server.resumeInFlight.get(zcodeSid) === flight)
|
|
2075
|
+
server.resumeInFlight.delete(zcodeSid);
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
/** Settle-poll gap after a fresh resume (see fetchMessagesSettled). */
|
|
2079
|
+
const RESUME_SETTLE_GAP_MS = 300;
|
|
2080
|
+
/** Cap for the settle poll — past this the largest snapshot seen wins. */
|
|
2081
|
+
const RESUME_SETTLE_CAP_MS = 2000;
|
|
2082
|
+
/** Non-growing reads required to call the store settled (plateau guard). */
|
|
2083
|
+
const RESUME_SETTLE_STABLE_READS = 2;
|
|
2084
|
+
/**
|
|
2085
|
+
* fetchMessages + bounded read-back settle, for paths that JUST performed a
|
|
2086
|
+
* resume. The backend's `session/messages` reflects only what it has hydrated
|
|
2087
|
+
* so far — a query landing mid-restore returns a PREFIX, and replaying that
|
|
2088
|
+
* prefix makes the conversation "end in the middle" on first entry (re-entry
|
|
2089
|
+
* is fine once hydration finished; big sessions hydrate slowly, hence
|
|
2090
|
+
* "often but not always"). Poll until the count has stopped growing for TWO
|
|
2091
|
+
* consecutive reads (a single equal pair can be a >gap plateau inside a slow
|
|
2092
|
+
* hydration), capped; on the cap the largest snapshot seen wins. Only fresh
|
|
2093
|
+
* resumes pay the extra round-trips — an already-live session's store is
|
|
2094
|
+
* stable.
|
|
2095
|
+
*/
|
|
2096
|
+
export async function fetchMessagesSettled(server, zcodeSid) {
|
|
2097
|
+
let messages = await fetchMessages(server, zcodeSid);
|
|
2098
|
+
let stable = 0;
|
|
2099
|
+
const deadline = Date.now() + RESUME_SETTLE_CAP_MS;
|
|
2100
|
+
for (;;) {
|
|
2101
|
+
await new Promise((r) => setTimeout(r, RESUME_SETTLE_GAP_MS));
|
|
2102
|
+
const next = await fetchMessages(server, zcodeSid);
|
|
2103
|
+
// Shrinking should not happen; never trade down either way.
|
|
2104
|
+
if (next.length <= messages.length) {
|
|
2105
|
+
if (++stable >= RESUME_SETTLE_STABLE_READS)
|
|
2106
|
+
return messages;
|
|
2107
|
+
}
|
|
2108
|
+
else {
|
|
2109
|
+
stable = 0;
|
|
2110
|
+
messages = next;
|
|
2111
|
+
}
|
|
2112
|
+
if (Date.now() >= deadline)
|
|
2113
|
+
return messages;
|
|
2009
2114
|
}
|
|
2010
2115
|
}
|
|
2011
2116
|
/**
|