zcode-acp-server 0.26.0 → 0.27.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/assets/martty-plugins/quota-dock/plugin.json +2 -2
- package/dist/handlers/server-requests.d.ts +17 -0
- package/dist/handlers/server-requests.d.ts.map +1 -1
- package/dist/handlers/server-requests.js +50 -0
- package/dist/handlers/server-requests.js.map +1 -1
- package/dist/handlers/session.d.ts +20 -0
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +167 -1
- package/dist/handlers/session.js.map +1 -1
- package/dist/handlers/slash.d.ts.map +1 -1
- package/dist/handlers/slash.js +42 -1
- package/dist/handlers/slash.js.map +1 -1
- package/dist/i18n.d.ts +9 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +18 -0
- package/dist/i18n.js.map +1 -1
- package/dist/quota/live.d.ts +12 -0
- package/dist/quota/live.d.ts.map +1 -1
- package/dist/quota/live.js +19 -0
- package/dist/quota/live.js.map +1 -1
- package/dist/remote/config.d.ts +7 -0
- package/dist/remote/config.d.ts.map +1 -1
- package/dist/remote/config.js +15 -8
- package/dist/remote/config.js.map +1 -1
- package/dist/remote/hub-server.d.ts +16 -1
- package/dist/remote/hub-server.d.ts.map +1 -1
- package/dist/remote/hub-server.js +100 -7
- package/dist/remote/hub-server.js.map +1 -1
- package/dist/remote/session-close-endpoint.d.ts +5 -3
- package/dist/remote/session-close-endpoint.d.ts.map +1 -1
- package/dist/remote/session-close-endpoint.js +22 -3
- package/dist/remote/session-close-endpoint.js.map +1 -1
- package/dist/server.d.ts +14 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -0
- package/dist/server.js.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
"purpose": "Reads the read-only quota config option and session context stats and renders them in the composer dock.",
|
|
7
7
|
"source": {
|
|
8
8
|
"pluginId": "plugin-zcode-acp-quota",
|
|
9
|
-
"packageId": "pkg-zcode-acp-quota-
|
|
9
|
+
"packageId": "pkg-zcode-acp-quota-3"
|
|
10
10
|
},
|
|
11
11
|
"code": {
|
|
12
|
-
"client": "// zcode-acp quota-dock plugin
|
|
12
|
+
"client": "// zcode-acp quota-dock plugin v3 (seeded by zcode-acp-server, ADR-0021)\n// v2: sticky last-known quota text (a mid-turn options push without the\n// quota option no longer drops the node) + order:-1 so compact width\n// truncation sacrifices trailing stats sections before QUOTA.\n// v3: per-turn TPS — diff of usage.output / stats.llmMillis between stats\n// snapshots (both cumulative, both land at turn end), so the segment shows\n// the LAST turn's throughput, not a session-wide average.\nreturn {\n inject: [\"tuiSlots\", \"acpSessionConfig\", \"acpSessionStats\"],\n apply: (ctx) => {\n let panel\n let quotaText = null\n let context = null\n let tps = null\n let prevStats = null\n const compactSize = (n) => {\n if (n >= 1000000) return (Math.round(n / 100000) / 10) + \"M\"\n if (n >= 1000) return Math.round(n / 1000) + \"K\"\n return String(n)\n }\n const readQuota = (options) => {\n const list = options || ctx.acpSessionConfig.list()\n const found = (list || []).filter((o) => o && o.id === \"quota\")[0]\n if (!found || typeof found.currentValue !== \"string\") return\n // Sticky: only an explicit empty string clears; a missing option keeps\n // the last-known text so full-replace pushes without quota cannot\n // erase the dock line.\n quotaText = found.currentValue.length > 0 ? found.currentValue : null\n }\n const readStats = () => {\n const cur = ctx.acpSessionStats.current ? ctx.acpSessionStats.current() : null\n const c = cur && cur.context ? cur.context : null\n context = c && typeof c.used === \"number\" && typeof c.size === \"number\" && c.size > 0 ? c : null\n const output = cur && cur.usage && typeof cur.usage.output === \"number\" ? cur.usage.output : null\n const llm = cur && cur.stats && typeof cur.stats.llmMillis === \"number\" ? cur.stats.llmMillis : null\n if (output !== null && llm !== null) {\n if (prevStats && llm > prevStats.llm && output >= prevStats.output) {\n const tok = output - prevStats.output\n const sec = (llm - prevStats.llm) / 1000\n if (tok > 0 && sec > 0) tps = Math.round(tok / sec)\n }\n prevStats = { output, llm }\n }\n }\n const nodes = () => {\n const parts = []\n if (quotaText) parts.push(quotaText)\n if (context) parts.push(\"ctx \" + (Math.round((context.used / context.size) * 1000) / 10) + \"%/\" + compactSize(context.size))\n if (tps !== null) parts.push(tps + \" tok/s\")\n if (parts.length === 0) return []\n return [{ id: \"zcode-acp-quota-gauge\", kind: \"generic\", title: parts.join(\" · \"), body: \"\" }]\n }\n const render = () => { if (panel) { try { panel.update(nodes()) } catch (err) {} } }\n const stopSlot = ctx.tuiSlots.inject(\"conversation.composer.dock\", () => {\n panel = ctx.tuiSlots.register({ name: \"conversation.composer.dock\", id: \"zcode-acp-quota\", order: -1 }, nodes())\n return () => panel.dispose()\n })\n readQuota()\n readStats()\n const stopSub = ctx.acpSessionConfig.subscribe((snap) => { readQuota(snap && snap.options); render() })\n let stopStats = null\n if (ctx.acpSessionStats.subscribe) stopStats = ctx.acpSessionStats.subscribe(() => { readStats(); render() })\n return () => { stopSub && stopSub(); stopStats && stopStats(); stopSlot && stopSlot() }\n },\n}"
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -60,5 +60,22 @@ export declare function handleServerRequests(server: ZcodeAcpServer, backend: Zc
|
|
|
60
60
|
* Multi-select: one Include/Skip popup per option; Include picks comma-joined.
|
|
61
61
|
*/
|
|
62
62
|
export declare function handleAskUserQuestion(server: ZcodeAcpServer, cx: acp.AgentContext, acpSid: string, params: ZcodeInteractionUserInputParams, turn?: PendingTurn): Promise<ZcodeInteractionResponse>;
|
|
63
|
+
/**
|
|
64
|
+
* One candidate row for the `/resume` session picker.
|
|
65
|
+
*/
|
|
66
|
+
export interface SessionPickItem {
|
|
67
|
+
/** Backend (zcode) session id — the value returned on selection. */
|
|
68
|
+
sessionId: string;
|
|
69
|
+
/** Human label (title + date) shown in the dropdown / popup. */
|
|
70
|
+
label: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* `/resume` session picker: ask the user to choose a past session via the
|
|
74
|
+
* editor's interaction UI — an `elicitation/create` enum dropdown when the
|
|
75
|
+
* client supports forms, else `session/request_permission` option buttons.
|
|
76
|
+
* Returns the chosen backend session id, or null when declined/cancelled or
|
|
77
|
+
* the request failed (no turn context — the slash path has no PendingTurn).
|
|
78
|
+
*/
|
|
79
|
+
export declare function askSessionPick(server: ZcodeAcpServer, cx: acp.AgentContext, acpSid: string, items: SessionPickItem[]): Promise<string | null>;
|
|
63
80
|
export {};
|
|
64
81
|
//# sourceMappingURL=server-requests.d.ts.map
|
|
@@ -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;AAiB7B,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;AA2LD;;;;;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"}
|
|
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;AAiB7B,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;AA2LD;;;;;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;AA6ED;;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,CAiDxB"}
|
|
@@ -524,6 +524,56 @@ async function emitAskToolCall(cx, acpSid, toolCallId, idxSuffix, qText, rawInpu
|
|
|
524
524
|
content: [{ type: "content", content: { type: "text", text: qText } }],
|
|
525
525
|
});
|
|
526
526
|
}
|
|
527
|
+
/**
|
|
528
|
+
* `/resume` session picker: ask the user to choose a past session via the
|
|
529
|
+
* editor's interaction UI — an `elicitation/create` enum dropdown when the
|
|
530
|
+
* client supports forms, else `session/request_permission` option buttons.
|
|
531
|
+
* Returns the chosen backend session id, or null when declined/cancelled or
|
|
532
|
+
* the request failed (no turn context — the slash path has no PendingTurn).
|
|
533
|
+
*/
|
|
534
|
+
export async function askSessionPick(server, cx, acpSid, items) {
|
|
535
|
+
if (items.length === 0)
|
|
536
|
+
return null;
|
|
537
|
+
if (server.supportsElicitationForm()) {
|
|
538
|
+
const resp = await requestWithTimeout(server, cx, "elicitation/create", {
|
|
539
|
+
mode: "form",
|
|
540
|
+
message: messages().slashResumePickTitle,
|
|
541
|
+
requestedSchema: {
|
|
542
|
+
type: "object",
|
|
543
|
+
properties: {
|
|
544
|
+
session: {
|
|
545
|
+
type: "string",
|
|
546
|
+
title: messages().slashResumePickTitle,
|
|
547
|
+
// oneOf (const+title) renders a titled dropdown in Zed — the
|
|
548
|
+
// raw session ids stay values, the labels stay visible.
|
|
549
|
+
oneOf: items.map((i) => ({ const: i.sessionId, title: i.label })),
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
required: ["session"],
|
|
553
|
+
},
|
|
554
|
+
}, "session pick (elicitation)");
|
|
555
|
+
if (resp === null || resp === INTERRUPTED)
|
|
556
|
+
return null;
|
|
557
|
+
const picked = resp.content?.session;
|
|
558
|
+
// Only accept a value we offered — a free-form answer can't name a row.
|
|
559
|
+
if (typeof picked === "string" && items.some((i) => i.sessionId === picked))
|
|
560
|
+
return picked;
|
|
561
|
+
return null;
|
|
562
|
+
}
|
|
563
|
+
const options = items.map((i) => ({
|
|
564
|
+
kind: "allow_once",
|
|
565
|
+
name: i.label,
|
|
566
|
+
optionId: i.sessionId,
|
|
567
|
+
}));
|
|
568
|
+
const resp = await requestWithTimeout(server, cx, "session/request_permission", { options, sessionId: acpSid, toolCall: { toolCallId: "resume_pick", rawInput: {} } }, "session pick (permission)");
|
|
569
|
+
if (resp === null || resp === INTERRUPTED)
|
|
570
|
+
return null;
|
|
571
|
+
const optionId = resp.outcome
|
|
572
|
+
?.optionId;
|
|
573
|
+
if (optionId && items.some((i) => i.sessionId === optionId))
|
|
574
|
+
return optionId;
|
|
575
|
+
return null;
|
|
576
|
+
}
|
|
527
577
|
/** Send one requestPermission and await the response. */
|
|
528
578
|
async function askOnce(server, cx, acpParams, _qNum, _qTotal, _label, turn) {
|
|
529
579
|
const acpReqId = server.nextId();
|
|
@@ -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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"}
|
|
@@ -61,6 +61,26 @@ export declare function ensureRealSession(server: ZcodeAcpServer, acpSid: string
|
|
|
61
61
|
export declare function listSessions(server: ZcodeAcpServer, params: acp.ListSessionsRequest): Promise<acp.ListSessionsResponse>;
|
|
62
62
|
/** `session/resume` → zcode `session/resume` (with runtimeModel overlay). */
|
|
63
63
|
export declare function resumeSession(server: ZcodeAcpServer, params: acp.ResumeSessionRequest, cx: acp.AgentContext): Promise<acp.ResumeSessionResponse>;
|
|
64
|
+
/**
|
|
65
|
+
* `/resume` slash command: rebind the CURRENT ACP session (an editor thread)
|
|
66
|
+
* to an existing backend session and replay its history into that thread —
|
|
67
|
+
* the editor-side path for adopting a conversation started elsewhere (TUI /
|
|
68
|
+
* App), complementing Zed's Import Threads (which needs a manual import
|
|
69
|
+
* step). Only an EMPTY thread may adopt: a thread that already has a
|
|
70
|
+
* conversation can neither merge nor replace history cleanly (the editor has
|
|
71
|
+
* already rendered its own copy).
|
|
72
|
+
*
|
|
73
|
+
* Mirrors the alreadyLive-branch tail of `session/load`: provider registry →
|
|
74
|
+
* faithful resume → mapping + cwd → title adoption → full-history replay →
|
|
75
|
+
* differ baseline + plan/usage emission.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resumeIntoSession(server: ZcodeAcpServer, cx: acp.AgentContext, acpSid: string, zcodeTarget: string): Promise<{
|
|
78
|
+
ok: true;
|
|
79
|
+
title: string | undefined;
|
|
80
|
+
} | {
|
|
81
|
+
ok: false;
|
|
82
|
+
error: string;
|
|
83
|
+
}>;
|
|
64
84
|
/**
|
|
65
85
|
* `session/load` → zcode `session/resume` + stream conversation history back as
|
|
66
86
|
* `session/update` notifications (text/reasoning/简化 tool_call).
|
|
@@ -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,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
|
@@ -19,7 +19,7 @@ import { EventStreamListener, TurnMonitor } from "../backend/listener.js";
|
|
|
19
19
|
import { resolveReal } from "../backend/sandbox.js";
|
|
20
20
|
import { buildModes, buildConfigOptions, DEFAULT_MODEL_ID, DEFAULT_PROVIDER_ID, formatModelValue, loadAllModels, modelContextWindow, parseModelValue, } from "../config/options.js";
|
|
21
21
|
import { currentModelCached, emitInitialUsage } from "../config/model-cache.js";
|
|
22
|
-
import { forceRefreshQuota, startQuotaRefresher } from "../quota/live.js";
|
|
22
|
+
import { forceRefreshQuota, scheduleQuotaDockBackstop, startQuotaRefresher, } from "../quota/live.js";
|
|
23
23
|
import { buildProviderRegistry } from "../config/provider-registry.js";
|
|
24
24
|
import { buildResumeRuntimeModel } from "../config/runtime-model.js";
|
|
25
25
|
import { messages } from "../i18n.js";
|
|
@@ -132,6 +132,24 @@ export function consumeBootResumeTarget() {
|
|
|
132
132
|
delete process.env[BOOT_RESUME_ENV];
|
|
133
133
|
return target || null;
|
|
134
134
|
}
|
|
135
|
+
/** Env marking a hub-incubated create TUI's pre-generated session bind. */
|
|
136
|
+
const BOOT_CREATE_BIND_ENV = "ZCODE_ACP_BOOT_CREATE_SESSION";
|
|
137
|
+
/**
|
|
138
|
+
* Read and consume the hub's session-create binding: when the create flag is
|
|
139
|
+
* set, the RESUME-env value is a hub-PRE-GENERATED placeholder id (not an
|
|
140
|
+
* existing conversation) that the boot path MINTS lazily instead of loading.
|
|
141
|
+
* Consumes both envs together (the resume path must not see them); returns
|
|
142
|
+
* null unless the create flag is set.
|
|
143
|
+
*/
|
|
144
|
+
function consumeBootCreateBind() {
|
|
145
|
+
const flag = process.env[BOOT_CREATE_BIND_ENV] ?? "";
|
|
146
|
+
delete process.env[BOOT_CREATE_BIND_ENV];
|
|
147
|
+
if (flag !== "1")
|
|
148
|
+
return null;
|
|
149
|
+
const target = (process.env[BOOT_RESUME_ENV] ?? "").trim();
|
|
150
|
+
delete process.env[BOOT_RESUME_ENV];
|
|
151
|
+
return target || null;
|
|
152
|
+
}
|
|
135
153
|
/**
|
|
136
154
|
* Banner-handshake trigger for a boot-resumed TUI (ADR-0017 follow-up).
|
|
137
155
|
* Martty's welcome banner paints INSTEAD of the transcript and only dives
|
|
@@ -168,6 +186,50 @@ export async function newSession(server, params, client) {
|
|
|
168
186
|
if (server.marttyConnectionRoots.has(clientConnectionRoot(client))) {
|
|
169
187
|
startQuotaRefresher(server);
|
|
170
188
|
}
|
|
189
|
+
// Hub session-create binding (remote create, ADR-0016): adopt the hub's
|
|
190
|
+
// pre-generated session id (see server.bootCreateBindSession) so the TUI
|
|
191
|
+
// window and the attaching phone share ONE session. Unlike the one-shot
|
|
192
|
+
// resume env below, the bind persists — each connection claims it on its
|
|
193
|
+
// FIRST session/new only (a later session/new, e.g. the TUI's /new, mints
|
|
194
|
+
// a fresh placeholder as usual).
|
|
195
|
+
if (server.bootCreateBindSession === null) {
|
|
196
|
+
const bound = consumeBootCreateBind();
|
|
197
|
+
if (bound)
|
|
198
|
+
server.bootCreateBindSession = bound;
|
|
199
|
+
}
|
|
200
|
+
const bindRoot = clientConnectionRoot(client);
|
|
201
|
+
if (server.bootCreateBindSession !== null && !server.bootCreateBindClaimed.has(bindRoot)) {
|
|
202
|
+
server.bootCreateBindClaimed.add(bindRoot);
|
|
203
|
+
const bindSid = server.bootCreateBindSession;
|
|
204
|
+
// First claim MINTS the shared LAZY placeholder (no backend session until
|
|
205
|
+
// first use — an abandoned create window leaves nothing behind); later
|
|
206
|
+
// claims (the phone, sibling windows) adopt it as-is.
|
|
207
|
+
if (!server.pendingSessions.has(bindSid) && !server.resolveSid(bindSid)) {
|
|
208
|
+
const cwd = server.serveMode
|
|
209
|
+
? process.cwd()
|
|
210
|
+
: (sanitizeClientCwd(params.cwd) ?? process.cwd());
|
|
211
|
+
server.pendingSessions.set(bindSid, { cwd, mcpServers: params.mcpServers });
|
|
212
|
+
server.sessionCwds.set(bindSid, cwd);
|
|
213
|
+
rememberLazySession(bindSid, cwd);
|
|
214
|
+
server.titleEligibleSessions.add(bindSid);
|
|
215
|
+
log(`session/new (create-bind) → ${bindSid} cwd=${cwd}`);
|
|
216
|
+
}
|
|
217
|
+
// Same banner handshake as boot-resume: the TUI's auto-submitted trigger
|
|
218
|
+
// (DSH_TUI_AUTOPROMPT) drops martty's welcome banner so the window shows
|
|
219
|
+
// the shared conversation instead of waiting for local input.
|
|
220
|
+
if (isMarttyClient(server)) {
|
|
221
|
+
server.bootResumeTriggerConnection = bindRoot;
|
|
222
|
+
}
|
|
223
|
+
const modes = await buildModes(server, null);
|
|
224
|
+
server.lastMode.set(bindSid, modes.currentModeId);
|
|
225
|
+
emitBootUsageUpdate(server, bindSid);
|
|
226
|
+
scheduleQuotaDockBackstop(server);
|
|
227
|
+
return {
|
|
228
|
+
sessionId: bindSid,
|
|
229
|
+
modes,
|
|
230
|
+
configOptions: await buildConfigOptions(server, null, bindRoot),
|
|
231
|
+
};
|
|
232
|
+
}
|
|
171
233
|
const bootResume = consumeBootResumeTarget();
|
|
172
234
|
if (bootResume) {
|
|
173
235
|
try {
|
|
@@ -198,6 +260,7 @@ export async function newSession(server, params, client) {
|
|
|
198
260
|
}
|
|
199
261
|
}
|
|
200
262
|
emitBootUsageUpdate(server, bootResume);
|
|
263
|
+
scheduleQuotaDockBackstop(server);
|
|
201
264
|
return {
|
|
202
265
|
sessionId: bootResume,
|
|
203
266
|
modes: loaded.modes,
|
|
@@ -235,6 +298,7 @@ export async function newSession(server, params, client) {
|
|
|
235
298
|
const modes = await buildModes(server, null);
|
|
236
299
|
server.lastMode.set(acpSid, modes.currentModeId);
|
|
237
300
|
emitBootUsageUpdate(server, acpSid);
|
|
301
|
+
scheduleQuotaDockBackstop(server);
|
|
238
302
|
return {
|
|
239
303
|
sessionId: acpSid,
|
|
240
304
|
modes,
|
|
@@ -613,11 +677,112 @@ export async function resumeSession(server, params, cx) {
|
|
|
613
677
|
await emitInitialUsage(server, cx, acpSid, zcodeSid, getOrCreateDiffer(server, zcodeSid));
|
|
614
678
|
const modes = await buildModes(server, zcodeSid);
|
|
615
679
|
server.lastMode.set(acpSid, modes.currentModeId);
|
|
680
|
+
scheduleQuotaDockBackstop(server);
|
|
616
681
|
return {
|
|
617
682
|
modes,
|
|
618
683
|
configOptions: await buildConfigOptions(server, zcodeSid, clientConnectionRoot(cx)),
|
|
619
684
|
};
|
|
620
685
|
}
|
|
686
|
+
/**
|
|
687
|
+
* `/resume` slash command: rebind the CURRENT ACP session (an editor thread)
|
|
688
|
+
* to an existing backend session and replay its history into that thread —
|
|
689
|
+
* the editor-side path for adopting a conversation started elsewhere (TUI /
|
|
690
|
+
* App), complementing Zed's Import Threads (which needs a manual import
|
|
691
|
+
* step). Only an EMPTY thread may adopt: a thread that already has a
|
|
692
|
+
* conversation can neither merge nor replace history cleanly (the editor has
|
|
693
|
+
* already rendered its own copy).
|
|
694
|
+
*
|
|
695
|
+
* Mirrors the alreadyLive-branch tail of `session/load`: provider registry →
|
|
696
|
+
* faithful resume → mapping + cwd → title adoption → full-history replay →
|
|
697
|
+
* differ baseline + plan/usage emission.
|
|
698
|
+
*/
|
|
699
|
+
export async function resumeIntoSession(server, cx, acpSid, zcodeTarget) {
|
|
700
|
+
// A turn running on either end of the rebind would race the replay.
|
|
701
|
+
const busySid = [...server.pendingTurns.values()].some((t) => t.zcodeSid === zcodeTarget || t.zcodeSid === server.resolveSid(acpSid));
|
|
702
|
+
if (busySid)
|
|
703
|
+
return { ok: false, error: messages().slashResumeBusy };
|
|
704
|
+
if (!server.pendingSessions.has(acpSid)) {
|
|
705
|
+
const current = server.resolveSid(acpSid);
|
|
706
|
+
if (current === zcodeTarget)
|
|
707
|
+
return { ok: true, title: server.sessionTitles.get(acpSid) };
|
|
708
|
+
if (current) {
|
|
709
|
+
let existing;
|
|
710
|
+
try {
|
|
711
|
+
existing = await fetchMessages(server, current);
|
|
712
|
+
}
|
|
713
|
+
catch {
|
|
714
|
+
// Cannot prove the thread empty — refuse rather than orphan history.
|
|
715
|
+
return { ok: false, error: messages().slashResumeNotEmpty };
|
|
716
|
+
}
|
|
717
|
+
if (existing.length > 0)
|
|
718
|
+
return { ok: false, error: messages().slashResumeNotEmpty };
|
|
719
|
+
// Materialized but empty: discard the orphan backend session and the
|
|
720
|
+
// stale mappings before adopting the target.
|
|
721
|
+
try {
|
|
722
|
+
server.ensureBackend().send("session/close", { sessionId: current });
|
|
723
|
+
}
|
|
724
|
+
catch (e) {
|
|
725
|
+
log(`/resume: closing empty session ${current} failed (ignored): ` +
|
|
726
|
+
`${e instanceof Error ? e.message : String(e)}`);
|
|
727
|
+
}
|
|
728
|
+
server.sessionMap.delete(acpSid);
|
|
729
|
+
server.acpSidByZcodeSid.delete(current);
|
|
730
|
+
server.backendLoadedSessions.delete(acpSid);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
// Never-materialized placeholder: the lazy record re-attaches below via
|
|
735
|
+
// recordMaterializedSession; drop the pending entry so nothing creates a
|
|
736
|
+
// fresh backend session on a later first-use path.
|
|
737
|
+
server.pendingSessions.delete(acpSid);
|
|
738
|
+
}
|
|
739
|
+
// The adopted session's stored title wins over the placeholder's first-
|
|
740
|
+
// prompt auto-title.
|
|
741
|
+
server.titleEligibleSessions.delete(acpSid);
|
|
742
|
+
const cwd = server.serveMode ? process.cwd() : authoritativeSessionCwd(server, acpSid);
|
|
743
|
+
try {
|
|
744
|
+
await syncProviderRegistry(server, cwd);
|
|
745
|
+
const resumeResult = await resumePreservingModel(server, {
|
|
746
|
+
sessionId: zcodeTarget,
|
|
747
|
+
workspace: workspaceFor(cwd),
|
|
748
|
+
});
|
|
749
|
+
server.markBackendLoaded(acpSid);
|
|
750
|
+
await repairUnavailableModel(server, zcodeTarget);
|
|
751
|
+
server.registerSession(acpSid, zcodeTarget);
|
|
752
|
+
const backendWs = workspaceFromResumeResult(resumeResult);
|
|
753
|
+
const finalCwd = backendWs && !server.serveMode ? backendWs : cwd;
|
|
754
|
+
server.sessionCwds.set(acpSid, finalCwd);
|
|
755
|
+
recordMaterializedSession(acpSid, zcodeTarget, finalCwd);
|
|
756
|
+
server.ensureBackgroundListener(zcodeTarget);
|
|
757
|
+
await adoptStoredTitle(server, acpSid, zcodeTarget);
|
|
758
|
+
}
|
|
759
|
+
catch (e) {
|
|
760
|
+
warn(`/resume: adopting ${zcodeTarget} failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
761
|
+
return { ok: false, error: messages().slashResumeFailed };
|
|
762
|
+
}
|
|
763
|
+
const history = await fetchMessages(server, zcodeTarget);
|
|
764
|
+
if (history.length > 0)
|
|
765
|
+
server.markSessionActive(acpSid);
|
|
766
|
+
const slice = fullSlice(history);
|
|
767
|
+
await withReplayBatch(acpSid, () => replayMessages(cx, acpSid, slice.batch));
|
|
768
|
+
log(`/resume: replayed ${slice.meta.replayedMessages} messages into ${acpSid.slice(0, 8)}`);
|
|
769
|
+
// Same baseline dance as session/load: mark history seen so the next turn's
|
|
770
|
+
// completion diff does not re-emit it, then emit the current todos from a
|
|
771
|
+
// throwaway differ and the initial context-usage bar.
|
|
772
|
+
try {
|
|
773
|
+
const snapshot = await buildSnapshot(server, zcodeTarget);
|
|
774
|
+
getOrCreateDiffer(server, zcodeTarget).diff(snapshot);
|
|
775
|
+
const planEvents = new ProjectionDiffer().diffPlan(snapshot.todos ?? []);
|
|
776
|
+
for (const iev of planEvents) {
|
|
777
|
+
await dispatchEvent(server, cx, acpSid, iev, `resume_${randomUUID().slice(0, 8)}`);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
catch (e) {
|
|
781
|
+
log(`/resume: initial plan read failed (non-fatal): ${e instanceof Error ? e.message : String(e)}`);
|
|
782
|
+
}
|
|
783
|
+
await emitInitialUsage(server, cx, acpSid, zcodeTarget, getOrCreateDiffer(server, zcodeTarget));
|
|
784
|
+
return { ok: true, title: server.sessionTitles.get(acpSid) };
|
|
785
|
+
}
|
|
621
786
|
/**
|
|
622
787
|
* `session/load` → zcode `session/resume` + stream conversation history back as
|
|
623
788
|
* `session/update` notifications (text/reasoning/简化 tool_call).
|
|
@@ -724,6 +889,7 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
724
889
|
// Additive replay metadata — the anchor for load_earlier pagination.
|
|
725
890
|
replayMeta: { ...slice.meta, turnActive },
|
|
726
891
|
};
|
|
892
|
+
scheduleQuotaDockBackstop(server);
|
|
727
893
|
return result;
|
|
728
894
|
}
|
|
729
895
|
/**
|