zcode-acp-server 0.25.1 → 0.26.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 +18 -0
- package/assets/martty-plugins/quota-dock/plugin.json +2 -2
- package/dist/bin/hub.d.ts.map +1 -1
- package/dist/bin/hub.js +5 -2
- package/dist/bin/hub.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -1
- package/dist/handlers/session.d.ts.map +1 -1
- package/dist/handlers/session.js +67 -1
- package/dist/handlers/session.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.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/endpoint.d.ts.map +1 -1
- package/dist/remote/endpoint.js +2 -1
- package/dist/remote/endpoint.js.map +1 -1
- package/dist/remote/hub-sandbox.d.ts +4 -2
- package/dist/remote/hub-sandbox.d.ts.map +1 -1
- package/dist/remote/hub-sandbox.js +3 -3
- package/dist/remote/hub-sandbox.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 +55 -9
- package/dist/remote/hub-server.js.map +1 -1
- package/dist/runtime.d.ts +52 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +162 -0
- package/dist/runtime.js.map +1 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -0
- package/dist/server.js.map +1 -1
- package/dist/tui.d.ts +8 -2
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +13 -3
- package/dist/tui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,6 +82,24 @@ Running from source instead? Use `"command": "node"` with
|
|
|
82
82
|
|
|
83
83
|
Restart Zed and pick **ZCode** from the agent dropdown.
|
|
84
84
|
|
|
85
|
+
### Runtime: Bun (optional, lower memory)
|
|
86
|
+
|
|
87
|
+
The bridge and hub run on Node by default. If a Bun **>= 1.4** install is
|
|
88
|
+
found (`~/.bun/bin/bun`, Homebrew, or `PATH`), they automatically re-exec into
|
|
89
|
+
`bun --smol` — idle RSS drops from ~81 MB to ~48 MB per process, which adds up
|
|
90
|
+
when running many concurrent sessions. Nothing to configure; install Bun and
|
|
91
|
+
restart the editor/CLI. Bun < 1.4 is ignored (no benefit over Node).
|
|
92
|
+
|
|
93
|
+
Force the old behavior (troubleshooting) with:
|
|
94
|
+
|
|
95
|
+
```jsonc
|
|
96
|
+
"env": { "ZCODE_ACP_RUNTIME": "node" } // in the editor config, or export it
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Note: the `zcode` backend subprocess always needs real Node (it uses
|
|
100
|
+
`node:sea`, which Bun does not implement) — installing Bun changes the
|
|
101
|
+
runtime of the bridge/hub only, and Node >= 22 remains a requirement.
|
|
102
|
+
|
|
85
103
|
### `ZCODE_BIN` per platform
|
|
86
104
|
|
|
87
105
|
The CLI is resolved in this order: `ZCODE_BIN` → a `zcode` found on `PATH` →
|
|
@@ -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
|
}
|
package/dist/bin/hub.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/bin/hub.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/bin/hub.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAsCH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B1C"}
|
package/dist/bin/hub.js
CHANGED
|
@@ -25,6 +25,7 @@ import { fileURLToPath } from "node:url";
|
|
|
25
25
|
import { parseHubConfig } from "../remote/config.js";
|
|
26
26
|
import { sandboxBorn, selfRelaunchOutsideSandbox } from "../remote/hub-sandbox.js";
|
|
27
27
|
import { startHub } from "../remote/hub-server.js";
|
|
28
|
+
import { resolveRuntime, runtimeSpawnParts } from "../runtime.js";
|
|
28
29
|
import { log, warn } from "../utils.js";
|
|
29
30
|
/**
|
|
30
31
|
* Re-exec the hub from the on-disk dist (the freshest build) and exit. Runs
|
|
@@ -37,7 +38,7 @@ function respawnSelf() {
|
|
|
37
38
|
try {
|
|
38
39
|
// bin/hub.js → ../bin/hub.js is itself (this file's compiled location).
|
|
39
40
|
const hubJs = fileURLToPath(new URL("../bin/hub.js", import.meta.url));
|
|
40
|
-
const child = spawn(
|
|
41
|
+
const child = spawn(...runtimeSpawnParts(hubJs), {
|
|
41
42
|
detached: true,
|
|
42
43
|
stdio: ["ignore", "ignore", "ignore"],
|
|
43
44
|
});
|
|
@@ -61,8 +62,10 @@ export async function main() {
|
|
|
61
62
|
// the visible terminal still works — and say so loudly.
|
|
62
63
|
if (sandboxBorn()) {
|
|
63
64
|
const hubJs = fileURLToPath(new URL("../bin/hub.js", import.meta.url));
|
|
64
|
-
|
|
65
|
+
const rt = resolveRuntime();
|
|
66
|
+
if (selfRelaunchOutsideSandbox({ interpreter: [rt.command, ...rt.preArgs], hubJs })) {
|
|
65
67
|
process.exit(0);
|
|
68
|
+
}
|
|
66
69
|
warn("hub: running INSIDE a Seatbelt sandbox — macOS will refuse this hub's " +
|
|
67
70
|
"open of the visible session terminal (TCC), so remote session-create " +
|
|
68
71
|
"falls back to a headless bridge");
|
package/dist/bin/hub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/bin/hub.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,wEAAwE;QACxE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/bin/hub.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAYH,sFAAsF;AACtF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAsBxF"}
|
package/dist/cli.js
CHANGED
|
@@ -16,6 +16,7 @@ import process from "node:process";
|
|
|
16
16
|
import { main as runHub } from "./bin/hub.js";
|
|
17
17
|
import { main as runQuota } from "./bin/quota.js";
|
|
18
18
|
import { main as runServer, runHeadless } from "./index.js";
|
|
19
|
+
import { reexecToBunIfEligible } from "./runtime.js";
|
|
19
20
|
import { checkTuiRuntime, runTui } from "./tui.js";
|
|
20
21
|
import { AGENT_INFO } from "./utils.js";
|
|
21
22
|
/**
|
|
@@ -84,6 +85,13 @@ async function main() {
|
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
87
|
const invocation = resolveInvocation(basename(process.argv[1] ?? ""), process.argv.slice(2));
|
|
88
|
+
// Long-running surfaces hand over to `bun --smol` when available (idle RSS
|
|
89
|
+
// ~47 MB vs ~81 MB on Node); the instant paths (help/version/unknown) skip
|
|
90
|
+
// the re-exec hop entirely.
|
|
91
|
+
if (invocation.kind !== "help" && invocation.kind !== "unknown") {
|
|
92
|
+
if (await reexecToBunIfEligible(process.argv[1] ?? "", process.argv.slice(2)))
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
87
95
|
switch (invocation.kind) {
|
|
88
96
|
case "help":
|
|
89
97
|
process.stdout.write(HELP_TEXT + "\n");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,6 +677,7 @@ 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)),
|
|
@@ -724,6 +789,7 @@ export async function loadSession(server, params, cx, opts = {}) {
|
|
|
724
789
|
// Additive replay metadata — the anchor for load_earlier pagination.
|
|
725
790
|
replayMeta: { ...slice.meta, turnActive },
|
|
726
791
|
};
|
|
792
|
+
scheduleQuotaDockBackstop(server);
|
|
727
793
|
return result;
|
|
728
794
|
}
|
|
729
795
|
/**
|