zcode-acp-server 0.1.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.
Files changed (108) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +167 -0
  3. package/README.zh-CN.md +163 -0
  4. package/dist/backend/client.d.ts +103 -0
  5. package/dist/backend/client.d.ts.map +1 -0
  6. package/dist/backend/client.js +344 -0
  7. package/dist/backend/client.js.map +1 -0
  8. package/dist/backend/credentials.d.ts +31 -0
  9. package/dist/backend/credentials.d.ts.map +1 -0
  10. package/dist/backend/credentials.js +93 -0
  11. package/dist/backend/credentials.js.map +1 -0
  12. package/dist/backend/index.d.ts +7 -0
  13. package/dist/backend/index.d.ts.map +1 -0
  14. package/dist/backend/index.js +6 -0
  15. package/dist/backend/index.js.map +1 -0
  16. package/dist/backend/listener.d.ts +63 -0
  17. package/dist/backend/listener.d.ts.map +1 -0
  18. package/dist/backend/listener.js +138 -0
  19. package/dist/backend/listener.js.map +1 -0
  20. package/dist/backend/resolve.d.ts +11 -0
  21. package/dist/backend/resolve.d.ts.map +1 -0
  22. package/dist/backend/resolve.js +116 -0
  23. package/dist/backend/resolve.js.map +1 -0
  24. package/dist/backend/types.d.ts +164 -0
  25. package/dist/backend/types.d.ts.map +1 -0
  26. package/dist/backend/types.js +15 -0
  27. package/dist/backend/types.js.map +1 -0
  28. package/dist/config/model-cache.d.ts +20 -0
  29. package/dist/config/model-cache.d.ts.map +1 -0
  30. package/dist/config/model-cache.js +62 -0
  31. package/dist/config/model-cache.js.map +1 -0
  32. package/dist/config/options.d.ts +36 -0
  33. package/dist/config/options.d.ts.map +1 -0
  34. package/dist/config/options.js +171 -0
  35. package/dist/config/options.js.map +1 -0
  36. package/dist/config/runtime-model.d.ts +33 -0
  37. package/dist/config/runtime-model.d.ts.map +1 -0
  38. package/dist/config/runtime-model.js +96 -0
  39. package/dist/config/runtime-model.js.map +1 -0
  40. package/dist/handlers/dispatch.d.ts +15 -0
  41. package/dist/handlers/dispatch.d.ts.map +1 -0
  42. package/dist/handlers/dispatch.js +183 -0
  43. package/dist/handlers/dispatch.js.map +1 -0
  44. package/dist/handlers/extensions.d.ts +43 -0
  45. package/dist/handlers/extensions.d.ts.map +1 -0
  46. package/dist/handlers/extensions.js +310 -0
  47. package/dist/handlers/extensions.js.map +1 -0
  48. package/dist/handlers/io.d.ts +40 -0
  49. package/dist/handlers/io.d.ts.map +1 -0
  50. package/dist/handlers/io.js +55 -0
  51. package/dist/handlers/io.js.map +1 -0
  52. package/dist/handlers/server-requests.d.ts +34 -0
  53. package/dist/handlers/server-requests.d.ts.map +1 -0
  54. package/dist/handlers/server-requests.js +357 -0
  55. package/dist/handlers/server-requests.js.map +1 -0
  56. package/dist/handlers/session.d.ts +46 -0
  57. package/dist/handlers/session.d.ts.map +1 -0
  58. package/dist/handlers/session.js +738 -0
  59. package/dist/handlers/session.js.map +1 -0
  60. package/dist/handlers/slash.d.ts +16 -0
  61. package/dist/handlers/slash.d.ts.map +1 -0
  62. package/dist/handlers/slash.js +107 -0
  63. package/dist/handlers/slash.js.map +1 -0
  64. package/dist/index.d.ts +11 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +93 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/interaction/adapter.d.ts +136 -0
  69. package/dist/interaction/adapter.d.ts.map +1 -0
  70. package/dist/interaction/adapter.js +353 -0
  71. package/dist/interaction/adapter.js.map +1 -0
  72. package/dist/server.d.ts +73 -0
  73. package/dist/server.d.ts.map +1 -0
  74. package/dist/server.js +97 -0
  75. package/dist/server.js.map +1 -0
  76. package/dist/tasks-index.d.ts +39 -0
  77. package/dist/tasks-index.d.ts.map +1 -0
  78. package/dist/tasks-index.js +152 -0
  79. package/dist/tasks-index.js.map +1 -0
  80. package/dist/translators/event-translator.d.ts +40 -0
  81. package/dist/translators/event-translator.d.ts.map +1 -0
  82. package/dist/translators/event-translator.js +214 -0
  83. package/dist/translators/event-translator.js.map +1 -0
  84. package/dist/translators/index.d.ts +6 -0
  85. package/dist/translators/index.d.ts.map +1 -0
  86. package/dist/translators/index.js +5 -0
  87. package/dist/translators/index.js.map +1 -0
  88. package/dist/translators/projection-differ.d.ts +48 -0
  89. package/dist/translators/projection-differ.d.ts.map +1 -0
  90. package/dist/translators/projection-differ.js +239 -0
  91. package/dist/translators/projection-differ.js.map +1 -0
  92. package/dist/translators/tool-helpers.d.ts +60 -0
  93. package/dist/translators/tool-helpers.d.ts.map +1 -0
  94. package/dist/translators/tool-helpers.js +308 -0
  95. package/dist/translators/tool-helpers.js.map +1 -0
  96. package/dist/translators/types.d.ts +58 -0
  97. package/dist/translators/types.d.ts.map +1 -0
  98. package/dist/translators/types.js +27 -0
  99. package/dist/translators/types.js.map +1 -0
  100. package/dist/utils.d.ts +111 -0
  101. package/dist/utils.d.ts.map +1 -0
  102. package/dist/utils.js +110 -0
  103. package/dist/utils.js.map +1 -0
  104. package/docs/ARCHITECTURE.md +299 -0
  105. package/docs/DEVELOPMENT.md +193 -0
  106. package/docs/PROTOCOL.md +649 -0
  107. package/docs/TROUBLESHOOTING.md +251 -0
  108. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Slash-command interception inside `session/prompt`.
3
+ *
4
+ * When the prompt text starts with `/`, dispatch the matching ZCode method
5
+ * directly (compact/goal/fork/rewind/steer/model/mode/thought), emit a short
6
+ * feedback `agent_message_chunk`, and return `end_turn` — never reaching the
7
+ * normal turn loop. Unknown `/x` falls through to the model (extensibility).
8
+ *
9
+ * Returns the PromptResponse when intercepted, or null to let the caller run a
10
+ * normal turn.
11
+ */
12
+ import type * as acp from "@agentclientprotocol/sdk";
13
+ import type { ZcodeAcpServer } from "../server.js";
14
+ /** Try to intercept a slash command. Returns a PromptResponse when handled, null otherwise. */
15
+ export declare function handleSlashCommand(server: ZcodeAcpServer, cx: acp.AgentContext, acpSid: string, zcodeSid: string, text: string): Promise<acp.PromptResponse | null>;
16
+ //# sourceMappingURL=slash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash.d.ts","sourceRoot":"","sources":["../../src/handlers/slash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAMrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,+FAA+F;AAC/F,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CA8FpC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Slash-command interception inside `session/prompt`.
3
+ *
4
+ * When the prompt text starts with `/`, dispatch the matching ZCode method
5
+ * directly (compact/goal/fork/rewind/steer/model/mode/thought), emit a short
6
+ * feedback `agent_message_chunk`, and return `end_turn` — never reaching the
7
+ * normal turn loop. Unknown `/x` falls through to the model (extensibility).
8
+ *
9
+ * Returns the PromptResponse when intercepted, or null to let the caller run a
10
+ * normal turn.
11
+ */
12
+ import { randomUUID } from "node:crypto";
13
+ import { RequestError } from "@agentclientprotocol/sdk";
14
+ import { applyModelSwitch } from "../config/runtime-model.js";
15
+ import { emitConfigOptionUpdate } from "../config/options.js";
16
+ import { CONFIG_DISPATCH, warn } from "../utils.js";
17
+ import { sendTextChunk } from "./io.js";
18
+ import { compact, fork, rewind, steer } from "./extensions.js";
19
+ /** Try to intercept a slash command. Returns a PromptResponse when handled, null otherwise. */
20
+ export async function handleSlashCommand(server, cx, acpSid, zcodeSid, text) {
21
+ const stripped = text.trim();
22
+ if (!stripped.startsWith("/"))
23
+ return null;
24
+ const parts = stripped.slice(1).split(/\s(.*)/s);
25
+ const cmd = (parts[0] ?? "").toLowerCase();
26
+ const arg = (parts[1] ?? "").trim();
27
+ const chunkMsgId = randomUUID();
28
+ const feedback = async (msg) => {
29
+ await sendTextChunk(cx, acpSid, msg, chunkMsgId);
30
+ };
31
+ const ok = async (msg) => {
32
+ await feedback(msg);
33
+ return { stopReason: "end_turn" };
34
+ };
35
+ try {
36
+ switch (cmd) {
37
+ case "compact": {
38
+ const result = (await compact(server, { sessionId: acpSid }, cx));
39
+ if (result.__lockTimeout) {
40
+ // 300s elapsed but the lock never released — the backend may still be
41
+ // compacting; the next prompt will hit "a prompt is already running".
42
+ return ok("⚠ compact timed out (300s), backend may still be processing — wait a bit before sending");
43
+ }
44
+ return ok("✓ compacted conversation context");
45
+ }
46
+ case "goal": {
47
+ if (!arg)
48
+ throw new RequestError(-32602, "/goal requires a goal description");
49
+ await server
50
+ .ensureBackend()
51
+ .request(server.nextId(), "session/goal", { sessionId: zcodeSid, action: "set", objective: arg }, 30000);
52
+ return ok(`✓ goal set: ${arg}`);
53
+ }
54
+ case "fork": {
55
+ const result = (await fork(server, { sessionId: acpSid }));
56
+ return ok(`✓ forked new session: ${result.sessionId ?? "?"}`);
57
+ }
58
+ case "rewind": {
59
+ await rewind(server, { sessionId: acpSid });
60
+ return ok("✓ rewound workspace to checkpoint");
61
+ }
62
+ case "steer": {
63
+ if (!arg)
64
+ throw new RequestError(-32602, "/steer requires content");
65
+ await steer(server, { sessionId: acpSid, content: arg });
66
+ return ok("✓ appended instruction to the running turn");
67
+ }
68
+ case "model": {
69
+ if (!arg)
70
+ throw new RequestError(-32602, "/model requires a model id");
71
+ const switchOk = await applyModelSwitch(server, zcodeSid, arg);
72
+ if (!switchOk)
73
+ throw new RequestError(-32603, `model switch failed for ${arg}`);
74
+ return ok(`✓ model = ${arg}`);
75
+ }
76
+ case "mode":
77
+ case "thought": {
78
+ if (!arg)
79
+ throw new RequestError(-32602, `/${cmd} requires an argument`);
80
+ const dispatch = CONFIG_DISPATCH[cmd];
81
+ if (!dispatch)
82
+ throw new RequestError(-32602, `unknown /${cmd}`);
83
+ const resp = await server
84
+ .ensureBackend()
85
+ .request(server.nextId(), dispatch.method, { sessionId: zcodeSid, [dispatch.paramKey]: arg }, 15000);
86
+ if (resp.error)
87
+ throw new RequestError(-32603, `${cmd} failed: ${resp.error.message}`);
88
+ // Notify the editor UI: emit config_option_update (+ current_mode_update
89
+ // for mode). Without this the dropdown / mode indicator never reflects
90
+ // the change — slash commands return end_turn and bypass the turn-
91
+ // completion reconciliation in prompt().
92
+ await emitConfigOptionUpdate(server, cx, acpSid, zcodeSid, cmd);
93
+ if (cmd === "mode")
94
+ server.lastMode.set(acpSid, arg);
95
+ return ok(`✓ ${cmd} = ${arg}`);
96
+ }
97
+ default:
98
+ // Unknown /x → don't intercept, send to the model as normal text.
99
+ return null;
100
+ }
101
+ }
102
+ catch (e) {
103
+ warn(` /${cmd} failed: ${e instanceof Error ? e.message : String(e)}`);
104
+ throw e;
105
+ }
106
+ }
107
+ //# sourceMappingURL=slash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash.js","sourceRoot":"","sources":["../../src/handlers/slash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Entry point: wire the ZcodeAcpServer to a stdio ACP stream.
4
+ *
5
+ * The ACP SDK provides `ndJsonStream(output, input)` which frames newline-
6
+ * delimited JSON-RPC over a pair of web streams. We convert Node's stdin/
7
+ * stdout to web streams and hand them off. Everything else (request/response
8
+ * correlation, param validation, AbortSignal plumbing) is handled by the SDK.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
package/dist/index.js ADDED
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Entry point: wire the ZcodeAcpServer to a stdio ACP stream.
4
+ *
5
+ * The ACP SDK provides `ndJsonStream(output, input)` which frames newline-
6
+ * delimited JSON-RPC over a pair of web streams. We convert Node's stdin/
7
+ * stdout to web streams and hand them off. Everything else (request/response
8
+ * correlation, param validation, AbortSignal plumbing) is handled by the SDK.
9
+ */
10
+ import { Readable, Writable } from "node:stream";
11
+ import * as acp from "@agentclientprotocol/sdk";
12
+ import { z } from "zod";
13
+ import { cancel, listSessions, loadSession, newSession, prompt, resumeSession, setConfigOptionHandler, } from "./handlers/session.js";
14
+ import { cancelBackgroundTask, compact, fork, goal, rewind, rewindCascade, setMode, setModel, setThoughtLevel, steer, updateRuntimeModelConfig, } from "./handlers/extensions.js";
15
+ import { sendAvailableCommandsDeferred } from "./handlers/io.js";
16
+ import { ZcodeAcpServer } from "./server.js";
17
+ import { AGENT_INFO, SLASH_COMMANDS, log, warn } from "./utils.js";
18
+ async function main() {
19
+ // stdout is the outbound channel to the client; stdin is inbound.
20
+ const outbound = Writable.toWeb(process.stdout);
21
+ const inbound = Readable.toWeb(process.stdin);
22
+ const stream = acp.ndJsonStream(outbound, inbound);
23
+ const server = new ZcodeAcpServer();
24
+ /** Passthrough params parser for the ZCode-specific extension methods. */
25
+ const extParams = z.object({ sessionId: z.string() }).passthrough();
26
+ log(`starting ${AGENT_INFO.name} ${AGENT_INFO.version}, ACP protocol v${acp.PROTOCOL_VERSION}`);
27
+ // Graceful shutdown: ensure the zcode subprocess group is reaped on signal,
28
+ // stdin close (Zed disconnect), or backend death (so no orphans survive).
29
+ // Zed force-kills the bridge on reconnect; without this the SIGTERM handler
30
+ // wouldn't run close() and the detached zcode process group would persist.
31
+ let shuttingDown = false;
32
+ const shutdown = async (reason) => {
33
+ if (shuttingDown)
34
+ return;
35
+ shuttingDown = true;
36
+ log(`shutting down (${reason})`);
37
+ if (server.backend)
38
+ await server.backend.close();
39
+ process.exit(0);
40
+ };
41
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
42
+ process.on(sig, () => void shutdown(sig));
43
+ }
44
+ // Zed disconnects by closing the bridge's stdin.
45
+ process.stdin.on("close", () => void shutdown("stdin closed"));
46
+ // Backend reader died (zcode subprocess exited) — bridge is useless without it.
47
+ const backendDeathInterval = setInterval(() => {
48
+ if (server.backend?.isDead)
49
+ void shutdown("backend dead");
50
+ }, 2000);
51
+ backendDeathInterval.unref();
52
+ acp
53
+ .agent({ name: AGENT_INFO.name })
54
+ .onRequest("initialize", (ctx) => server.initialize(ctx.params))
55
+ .onRequest("session/new", async (ctx) => {
56
+ const result = await newSession(server, ctx.params);
57
+ sendAvailableCommandsDeferred(ctx.client, result.sessionId, SLASH_COMMANDS);
58
+ return result;
59
+ })
60
+ .onRequest("session/list", (ctx) => listSessions(server, ctx.params))
61
+ .onRequest("session/resume", async (ctx) => {
62
+ const result = await resumeSession(server, ctx.params, ctx.client);
63
+ sendAvailableCommandsDeferred(ctx.client, ctx.params.sessionId, SLASH_COMMANDS);
64
+ return result;
65
+ })
66
+ .onRequest("session/load", async (ctx) => {
67
+ const result = await loadSession(server, ctx.params, ctx.client);
68
+ sendAvailableCommandsDeferred(ctx.client, ctx.params.sessionId, SLASH_COMMANDS);
69
+ return result;
70
+ })
71
+ .onRequest("session/prompt", (ctx) => prompt(server, ctx.params, ctx.client, ctx.requestId))
72
+ .onRequest("session/set_config_option", (ctx) => setConfigOptionHandler(server, ctx.params, ctx.client))
73
+ // ZCode-specific extensions (non-standard ACP methods). Use a passthrough
74
+ // zod parser so all param fields survive into the handler.
75
+ .onRequest("session/fork", extParams, (ctx) => fork(server, ctx.params))
76
+ .onRequest("session/rewind", extParams, (ctx) => rewind(server, ctx.params))
77
+ .onRequest("session/rewindCascade", extParams, (ctx) => rewindCascade(server, ctx.params))
78
+ .onRequest("session/goal", extParams, (ctx) => goal(server, ctx.params))
79
+ .onRequest("session/compact", extParams, (ctx) => compact(server, ctx.params, ctx.client))
80
+ .onRequest("session/steer", extParams, (ctx) => steer(server, ctx.params))
81
+ .onRequest("session/cancelBackgroundTask", extParams, (ctx) => cancelBackgroundTask(server, ctx.params))
82
+ .onRequest("session/setThoughtLevel", extParams, (ctx) => setThoughtLevel(server, ctx.params))
83
+ .onRequest("session/updateRuntimeModelConfig", extParams, (ctx) => updateRuntimeModelConfig(server, ctx.params))
84
+ .onRequest("session/setModel", extParams, (ctx) => setModel(server, ctx.params))
85
+ .onRequest("session/setMode", extParams, (ctx) => setMode(server, ctx.params, ctx.client))
86
+ .onNotification("session/cancel", (ctx) => cancel(server, ctx.params))
87
+ .connect(stream);
88
+ }
89
+ main().catch((err) => {
90
+ warn(`fatal: ${err instanceof Error ? (err.stack ?? err.message) : String(err)}`);
91
+ process.exit(1);
92
+ });
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,aAAa,EACb,OAAO,EACP,QAAQ,EACR,eAAe,EACf,KAAK,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEnE,KAAK,UAAU,IAAI;IACjB,kEAAkE;IAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAA+B,CAAC;IAE5E,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IAEpC,0EAA0E;IAC1E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpE,GAAG,CAAC,YAAY,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEhG,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,kBAAkB,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,iDAAiD;IACjD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM;YAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAE7B,GAAG;SACA,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;SAChC,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/D,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,SAAS,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACpE,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACjE,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,SAAS,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAmB,CAAC,CAChE;SACA,SAAS,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9C,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CACvD;QACD,0EAA0E;QAC1E,2DAA2D;SAC1D,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACvE,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SAC3E,SAAS,CAAC,uBAAuB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACzF,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACvE,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACzF,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACzE,SAAS,CAAC,8BAA8B,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5D,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CACzC;SACA,SAAS,CAAC,yBAAyB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SAC7F,SAAS,CAAC,kCAAkC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAChE,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAC7C;SACA,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/E,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACzF,cAAc,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;SACrE,OAAO,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Interaction channel adapter: zcode `interaction/*` server→client requests
3
+ * ↔ ACP `session/requestPermission`.
4
+ *
5
+ * ZCode's `createProtocolInteractionBroker` dispatches server→client requests
6
+ * by tool. Zed supports `session/requestPermission` natively (the allow/reject
7
+ * popup) but NOT elicitation, so all three interaction kinds map onto
8
+ * requestPermission:
9
+ * - interaction/requestPermission (tool approval) → direct mapping
10
+ * - interaction/requestUserInput (plan_approval / ExitPlanMode) → approve/reject
11
+ * - interaction/requestUserInput (AskUserQuestion) → per-question options
12
+ * (single-select: one popup + Skip; multi-select: per-option Include/Skip)
13
+ *
14
+ * `requestPermission` is single-select, so multi-select questions are split
15
+ * into per-option yes/no popups; the user's Include picks are comma-joined
16
+ * into the final answer (mirrors the reference impl's `answers[q]: "a, b"`).
17
+ */
18
+ import type { PermissionOption } from "@agentclientprotocol/sdk";
19
+ import type { ZcodeInteractionPermissionParams, ZcodeInteractionResponse, ZcodeInteractionUserInputParams } from "../backend/types.js";
20
+ export declare function isPermissionRequest(method: string): boolean;
21
+ export declare function isUserInputRequest(method: string): boolean;
22
+ export declare function isExitPlanMode(params: unknown): boolean;
23
+ /** AskUserQuestion = requestUserInput WITHOUT the plan_approval schema. */
24
+ export declare function isAskUserQuestion(method: string, params: unknown): boolean;
25
+ /** Convert a zcode tool-permission request into ACP requestPermission params. */
26
+ export declare function zcodePermissionToAcp(params: ZcodeInteractionPermissionParams, acpSid: string): {
27
+ options: PermissionOption[];
28
+ sessionId: string;
29
+ toolCall: {
30
+ toolCallId: string;
31
+ rawInput: unknown;
32
+ };
33
+ } | null;
34
+ /** Convert an ACP requestPermission response → zcode {decision, reason?}. */
35
+ export declare function acpPermissionResponseToZcode(acpResp: unknown): Extract<ZcodeInteractionResponse, {
36
+ decision: string;
37
+ }>;
38
+ /** ExitPlanMode rendered as approve/reject permission options. */
39
+ export declare function exitPlanModeToAcpPermission(params: ZcodeInteractionUserInputParams, acpSid: string): {
40
+ options: PermissionOption[];
41
+ sessionId: string;
42
+ toolCall: {
43
+ toolCallId: string;
44
+ rawInput: unknown;
45
+ };
46
+ };
47
+ /** Convert an ACP response → zcode ExitPlanMode response. */
48
+ export declare function acpPermissionResponseToExitPlanMode(acpResp: unknown): Extract<ZcodeInteractionResponse, {
49
+ action: string;
50
+ }>;
51
+ export interface AskUserQuestion {
52
+ question: string;
53
+ multiSelect: boolean;
54
+ options: PermissionOption[];
55
+ }
56
+ /**
57
+ * Split a zcode AskUserQuestion request into per-question descriptors.
58
+ *
59
+ * Single-select: one ACP option per label + a trailing Skip.
60
+ * Multi-select: each label becomes a yes/no pair (optionId `<label>:yes` /
61
+ * `<label>:no`) so the handler can pop one Include/Skip dialog per option.
62
+ *
63
+ * Returns null when there are no valid questions.
64
+ */
65
+ export declare function splitAskUserQuestions(params: ZcodeInteractionUserInputParams): AskUserQuestion[] | null;
66
+ /** Build ACP requestPermission params for one AskUserQuestion question. */
67
+ export declare function buildAskUserAcpParams(params: ZcodeInteractionUserInputParams, acpSid: string, options: PermissionOption[]): {
68
+ options: PermissionOption[];
69
+ sessionId: string;
70
+ toolCall: {
71
+ toolCallId: string;
72
+ rawInput: unknown;
73
+ };
74
+ };
75
+ /**
76
+ * Parse one ACP requestPermission response → "yes" | "no" | label | null.
77
+ *
78
+ * Multi-select: optionId `<label>:yes` → "yes", `<label>:no` → "no".
79
+ * Single-select: optionId is the label; __skip__ / cancel → null.
80
+ */
81
+ export declare function parseAskUserResponse(acpResp: unknown): string | null;
82
+ /**
83
+ * Build an elicitation form schema for an AskUserQuestion request.
84
+ *
85
+ * Each question becomes one property in the form:
86
+ * - Single-select → string enum of labels + a trailing "Skip" option
87
+ * - Multi-select → string array enum of labels
88
+ *
89
+ * When the client supports form-based elicitation, this lets the user answer
90
+ * all questions in one form rather than one popup per question. Single-select
91
+ * fields include a "Skip" option so the user can opt out of a question without
92
+ * cancelling the whole form (mirrors the request_permission fallback, which
93
+ * appends a Skip option per question).
94
+ */
95
+ export declare function buildAskUserElicitationForm(params: ZcodeInteractionUserInputParams, acpSid: string, toolCallId?: string): {
96
+ mode: "form";
97
+ sessionId: string;
98
+ toolCallId?: string;
99
+ message: string;
100
+ requestedSchema: {
101
+ type: "object";
102
+ properties: Record<string, unknown>;
103
+ required: string[];
104
+ };
105
+ };
106
+ /**
107
+ * Parse an elicitation form response into the zcode answers map.
108
+ *
109
+ * Maps each `q_<i>` form field back to the original question text. Multi-select
110
+ * answers (arrays) are comma-joined to match the request_permission path's
111
+ * `"a, b"` format. Returns null if the user declined/cancelled.
112
+ */
113
+ export declare function parseAskUserElicitationResponse(acpResp: unknown, params: ZcodeInteractionUserInputParams): Record<string, string> | null;
114
+ /**
115
+ * Build an elicitation form for ExitPlanMode (approve/reject).
116
+ *
117
+ * Uses a single required boolean-style enum so the client renders a clear
118
+ * approve/reject choice in the form UI.
119
+ */
120
+ export declare function buildExitPlanModeElicitationForm(params: ZcodeInteractionUserInputParams, acpSid: string, toolCallId?: string): {
121
+ mode: "form";
122
+ sessionId: string;
123
+ toolCallId?: string;
124
+ message: string;
125
+ requestedSchema: {
126
+ type: "object";
127
+ properties: Record<string, unknown>;
128
+ required: string[];
129
+ };
130
+ };
131
+ /** Parse an ExitPlanMode elicitation response → zcode accept/decline. */
132
+ export declare function parseExitPlanModeElicitationResponse(acpResp: unknown): {
133
+ action: "accept" | "decline";
134
+ reason?: string;
135
+ };
136
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/interaction/adapter.ts"],"names":[],"mappings":"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"}