@linkshell/host 0.4.19 → 0.4.21

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 (105) hide show
  1. package/README.md +2 -2
  2. package/dist/host/src/acp-settings.d.ts +12 -0
  3. package/dist/host/src/acp-settings.js +41 -0
  4. package/dist/host/src/acp-settings.js.map +1 -0
  5. package/dist/host/src/carry.js +13 -2
  6. package/dist/host/src/carry.js.map +1 -1
  7. package/dist/host/src/drivers/acp/client-services.d.ts +29 -0
  8. package/dist/host/src/drivers/acp/client-services.js +192 -0
  9. package/dist/host/src/drivers/acp/client-services.js.map +1 -0
  10. package/dist/host/src/drivers/acp/connection.d.ts +37 -8
  11. package/dist/host/src/drivers/acp/connection.js +127 -110
  12. package/dist/host/src/drivers/acp/connection.js.map +1 -1
  13. package/dist/host/src/drivers/acp/driver.d.ts +92 -2
  14. package/dist/host/src/drivers/acp/driver.js +599 -52
  15. package/dist/host/src/drivers/acp/driver.js.map +1 -1
  16. package/dist/host/src/drivers/acp/editor.d.ts +31 -0
  17. package/dist/host/src/drivers/acp/editor.js +242 -0
  18. package/dist/host/src/drivers/acp/editor.js.map +1 -0
  19. package/dist/host/src/drivers/acp/mapper.d.ts +2 -1
  20. package/dist/host/src/drivers/acp/mapper.js +88 -35
  21. package/dist/host/src/drivers/acp/mapper.js.map +1 -1
  22. package/dist/host/src/drivers/acp/mcp.d.ts +20 -0
  23. package/dist/host/src/drivers/acp/mcp.js +139 -0
  24. package/dist/host/src/drivers/acp/mcp.js.map +1 -0
  25. package/dist/host/src/drivers/acp/questions.js +14 -0
  26. package/dist/host/src/drivers/acp/questions.js.map +1 -1
  27. package/dist/host/src/drivers/acp/updates.d.ts +10 -0
  28. package/dist/host/src/drivers/acp/updates.js +137 -0
  29. package/dist/host/src/drivers/acp/updates.js.map +1 -0
  30. package/dist/host/src/drivers/claude/activity.d.ts +1 -0
  31. package/dist/host/src/drivers/claude/activity.js +17 -3
  32. package/dist/host/src/drivers/claude/activity.js.map +1 -1
  33. package/dist/host/src/drivers/claude/children.d.ts +7 -0
  34. package/dist/host/src/drivers/claude/children.js +31 -2
  35. package/dist/host/src/drivers/claude/children.js.map +1 -1
  36. package/dist/host/src/drivers/claude/driver.js +1 -0
  37. package/dist/host/src/drivers/claude/driver.js.map +1 -1
  38. package/dist/host/src/drivers/claude/tasks.d.ts +3 -3
  39. package/dist/host/src/drivers/claude/transcript.d.ts +497 -38
  40. package/dist/host/src/drivers/codex/driver.d.ts +3 -0
  41. package/dist/host/src/drivers/codex/driver.js +36 -1
  42. package/dist/host/src/drivers/codex/driver.js.map +1 -1
  43. package/dist/host/src/drivers/registry.d.ts +6 -0
  44. package/dist/host/src/drivers/registry.js +8 -0
  45. package/dist/host/src/drivers/registry.js.map +1 -1
  46. package/dist/host/src/drivers/types.d.ts +34 -1
  47. package/dist/host/src/fs.d.ts +3 -3
  48. package/dist/host/src/host.js +21 -3
  49. package/dist/host/src/host.js.map +1 -1
  50. package/dist/host/src/hub.d.ts +249 -2
  51. package/dist/host/src/hub.js +150 -9
  52. package/dist/host/src/hub.js.map +1 -1
  53. package/dist/host/src/input.d.ts +5 -3
  54. package/dist/host/src/input.js +8 -6
  55. package/dist/host/src/input.js.map +1 -1
  56. package/dist/host/src/questions.d.ts +3 -1
  57. package/dist/host/src/questions.js +33 -7
  58. package/dist/host/src/questions.js.map +1 -1
  59. package/dist/host/src/rpc/server.js +14 -0
  60. package/dist/host/src/rpc/server.js.map +1 -1
  61. package/dist/host/src/screen-metrics.d.ts +3 -0
  62. package/dist/host/src/screen-metrics.js +27 -0
  63. package/dist/host/src/screen-metrics.js.map +1 -0
  64. package/dist/host/src/screen.js +7 -6
  65. package/dist/host/src/screen.js.map +1 -1
  66. package/dist/host/src/slim.js +15 -4
  67. package/dist/host/src/slim.js.map +1 -1
  68. package/dist/host/src/store.js +7 -2
  69. package/dist/host/src/store.js.map +1 -1
  70. package/dist/host/src/terminals.d.ts +8 -3
  71. package/dist/host/src/terminals.js +3 -2
  72. package/dist/host/src/terminals.js.map +1 -1
  73. package/dist/host/tsconfig.tsbuildinfo +1 -1
  74. package/dist/wire/src/acp.d.ts +510 -0
  75. package/dist/wire/src/acp.js +39 -0
  76. package/dist/wire/src/acp.js.map +1 -0
  77. package/dist/wire/src/async-questions.d.ts +2 -2
  78. package/dist/wire/src/computer-preview.d.ts +2 -2
  79. package/dist/wire/src/content.d.ts +465 -0
  80. package/dist/wire/src/content.js +58 -0
  81. package/dist/wire/src/content.js.map +1 -0
  82. package/dist/wire/src/editor.d.ts +702 -0
  83. package/dist/wire/src/editor.js +23 -0
  84. package/dist/wire/src/editor.js.map +1 -0
  85. package/dist/wire/src/index.d.ts +3 -0
  86. package/dist/wire/src/index.js +3 -0
  87. package/dist/wire/src/index.js.map +1 -1
  88. package/dist/wire/src/model.d.ts +1383 -79
  89. package/dist/wire/src/model.js +20 -1
  90. package/dist/wire/src/model.js.map +1 -1
  91. package/dist/wire/src/peer.d.ts +1 -0
  92. package/dist/wire/src/peer.js +22 -6
  93. package/dist/wire/src/peer.js.map +1 -1
  94. package/dist/wire/src/questions.d.ts +3 -0
  95. package/dist/wire/src/questions.js +65 -0
  96. package/dist/wire/src/questions.js.map +1 -0
  97. package/dist/wire/src/relay.d.ts +4 -4
  98. package/dist/wire/src/rpc.d.ts +19023 -2518
  99. package/dist/wire/src/rpc.js +41 -3
  100. package/dist/wire/src/rpc.js.map +1 -1
  101. package/dist/wire/src/updates.d.ts +3848 -1114
  102. package/dist/wire/src/updates.js +42 -40
  103. package/dist/wire/src/updates.js.map +1 -1
  104. package/dist/wire/src/workflow.d.ts +22 -22
  105. package/package.json +4 -3
@@ -1,37 +1,32 @@
1
- import { sessionGoalSchema } from "@linkshell/wire";
1
+ import { contentBlockSchema, sessionGoalSchema } from "@linkshell/wire";
2
2
  import { describeClaudeTool } from "../claude/transcript.js";
3
3
  import { inlineImage } from "../images.js";
4
4
  const str = (value) => (typeof value === "string" ? value : undefined);
5
5
  const obj = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : undefined;
6
6
  const arr = (value) => (Array.isArray(value) ? value : []);
7
- const TOOL_KINDS = new Set(["read", "edit", "delete", "move", "search", "execute", "think", "fetch", "other"]);
7
+ const TOOL_KINDS = new Set(["read", "edit", "delete", "move", "search", "execute", "think", "fetch", "switch_mode", "other"]);
8
8
  const TOOL_STATUSES = new Set(["pending", "in_progress", "completed", "failed"]);
9
9
  export function toContentBlock(raw) {
10
10
  const block = obj(raw);
11
11
  if (!block)
12
12
  return undefined;
13
- switch (block.type) {
14
- case "text":
15
- return typeof block.text === "string" ? { type: "text", text: block.text } : undefined;
16
- case "image":
17
- if (str(block.data))
18
- return inlineImage(str(block.data), str(block.mimeType));
19
- return str(block.uri) ? { type: "image", mimeType: str(block.mimeType) ?? "image/*", uri: str(block.uri) } : undefined;
20
- case "resource_link":
21
- return str(block.uri) ? { type: "resource_link", uri: str(block.uri), name: str(block.name) ?? str(block.uri) } : undefined;
22
- case "resource": {
23
- const resource = obj(block.resource);
24
- if (typeof resource?.text === "string")
25
- return { type: "text", text: resource.text };
26
- if (str(resource?.mimeType)?.startsWith("image/") && str(resource?.blob))
27
- return inlineImage(str(resource?.blob), str(resource?.mimeType));
28
- return str(resource?.uri) ? { type: "resource_link", uri: str(resource?.uri), name: str(resource?.uri) } : undefined;
29
- }
30
- default:
13
+ const normalized = Object.fromEntries(Object.entries(block).filter(([, value]) => value !== null));
14
+ if (block.type === "image" || block.type === "audio")
15
+ normalized.mimeType = str(block.mimeType) ?? str(block.mediaType) ?? `${block.type}/*`;
16
+ if (block.type === "image" && str(block.data)) {
17
+ const image = inlineImage(str(block.data), str(normalized.mimeType));
18
+ if (!image)
31
19
  return undefined;
20
+ Object.assign(normalized, image);
32
21
  }
22
+ if (block.type === "resource_link")
23
+ normalized.name = str(block.name) ?? str(block.title) ?? str(block.uri);
24
+ if (block.type === "resource" && obj(block.resource))
25
+ normalized.resource = Object.fromEntries(Object.entries(obj(block.resource)).filter(([, value]) => value !== null));
26
+ const parsed = contentBlockSchema.safeParse(normalized);
27
+ return parsed.success ? parsed.data : undefined;
33
28
  }
34
- function toolContent(raw) {
29
+ export function toolContent(raw) {
35
30
  if (!Array.isArray(raw))
36
31
  return undefined;
37
32
  const content = [];
@@ -47,12 +42,40 @@ function toolContent(raw) {
47
42
  else if (item.type === "diff" && str(item.path) && typeof item.newText === "string") {
48
43
  content.push({ type: "diff", path: str(item.path), oldText: str(item.oldText) ?? null, newText: item.newText });
49
44
  }
45
+ else if (item.type === "diff" && Array.isArray(item.changes)) {
46
+ content.push(...v2Diff(item));
47
+ }
50
48
  else if (item.type === "terminal" && str(item.terminalId)) {
51
49
  content.push({ type: "terminal", terminalId: str(item.terminalId) });
52
50
  }
53
51
  }
54
52
  return content;
55
53
  }
54
+ /** Attribute a git patch only when its path is unambiguous; otherwise retain it once as a whole. */
55
+ function v2Diff(item) {
56
+ const changes = arr(item.changes).map(obj).filter((change) => !!change && typeof change.path === "string");
57
+ const patch = str(obj(item.patch)?.text) ?? "";
58
+ const pieces = obj(item.patch)?.format === "git_patch" ? patch.split(/(?=^diff --git )/m).filter((part) => part.trim()) : [];
59
+ const pathOf = (piece) => {
60
+ const path = /^\+\+\+ (.+)$/m.exec(piece)?.[1] ?? /^--- (.+)$/m.exec(piece)?.[1];
61
+ if (!path || path.startsWith('"') || path === "/dev/null")
62
+ return undefined;
63
+ return path.split("\t")[0].replace(/^[ab]\//, "");
64
+ };
65
+ const assigned = pieces.map((piece) => {
66
+ const path = pathOf(piece);
67
+ const matches = path ? changes.filter((change) => [change.path, change.oldPath].some((candidate) => typeof candidate === "string" && (candidate === path || candidate.endsWith(`/${path}`)))) : [];
68
+ return { piece, change: matches.length === 1 ? matches[0] : undefined };
69
+ });
70
+ const split = !!patch && assigned.length > 0 && assigned.every((part) => part.change) && new Set(assigned.map((part) => part.change)).size === assigned.length;
71
+ const content = changes.map((change) => ({ type: "patch", path: change.operation === "move" ? str(change.oldPath) ?? str(change.path) : str(change.path),
72
+ movePath: change.operation === "move" ? str(change.path) : undefined,
73
+ change: change.operation === "add" || change.operation === "copy" ? "add" : change.operation === "delete" ? "delete" : "update",
74
+ diff: split ? assigned.find((part) => part.change === change)?.piece ?? "" : change.operation === "copy" ? `copy from ${String(change.oldPath)}\ncopy to ${String(change.path)}` : "", }));
75
+ if (patch && !split)
76
+ content.push({ type: "content", content: { type: "text", text: patch } });
77
+ return content;
78
+ }
56
79
  function toolKind(value) {
57
80
  return typeof value === "string" && TOOL_KINDS.has(value) ? value : "other";
58
81
  }
@@ -75,8 +98,15 @@ export function toConfigOptions(response) {
75
98
  const options = [];
76
99
  for (const raw of arr(source.configOptions)) {
77
100
  const option = obj(raw);
78
- if (!option || option.type !== "select" || !str(option.id))
101
+ if (!option || !["select", "boolean"].includes(String(option.type)) || !str(option.id))
102
+ continue;
103
+ if (option.type === "boolean") {
104
+ if (typeof option.currentValue !== "boolean")
105
+ continue;
106
+ options.push({ id: str(option.id), name: str(option.name) ?? str(option.id), description: str(option.description), type: "boolean", category: "other",
107
+ current: option.currentValue ? "on" : "off", values: [{ value: "on", name: "开" }, { value: "off", name: "关" }], source: "configOptions" });
79
108
  continue;
109
+ }
80
110
  const values = arr(option.options).flatMap((entry) => {
81
111
  const value = obj(entry);
82
112
  if (!value)
@@ -84,7 +114,7 @@ export function toConfigOptions(response) {
84
114
  if (Array.isArray(value.options)) {
85
115
  return value.options.flatMap((inner) => {
86
116
  const v = obj(inner);
87
- return str(v?.value) ? [{ value: str(v?.value), name: str(v?.name) ?? str(v?.value), description: str(v?.description) }] : [];
117
+ return str(v?.value) ? [{ value: str(v?.value), name: str(v?.name) ?? str(v?.value), description: str(v?.description), group: str(value.name) ?? str(value.group) }] : [];
88
118
  });
89
119
  }
90
120
  return str(value.value) ? [{ value: str(value.value), name: str(value.name) ?? str(value.value), description: str(value.description) }] : [];
@@ -93,7 +123,8 @@ export function toConfigOptions(response) {
93
123
  options.push({
94
124
  id: str(option.id),
95
125
  name: str(option.name) ?? str(option.id),
96
- category: category === "model" || category === "mode" ? category : category?.includes("thought") || category?.includes("effort") ? "effort" : "other",
126
+ description: str(option.description),
127
+ category: category === "model" || category === "mode" || category === "model_config" ? category : category?.includes("thought") || category?.includes("effort") ? "effort" : "other",
97
128
  current: str(option.currentValue) ?? values[0]?.value ?? "",
98
129
  values,
99
130
  source: "configOptions",
@@ -176,9 +207,11 @@ export function normalizeAcpUpdate(raw) {
176
207
  toolCallId,
177
208
  parentToolCallId: parentOf(update),
178
209
  title: str(update.title) ?? str(update.name) ?? "Tool",
210
+ name: str(update.name),
179
211
  kind: toolKind(update.kind),
180
212
  status: toolStatus(update.status) ?? "pending",
181
213
  rawInput: update.rawInput,
214
+ rawOutput: update.rawOutput,
182
215
  content: toolContent(update.content),
183
216
  locations: locations(update.locations),
184
217
  detail: toolDetail(update),
@@ -197,6 +230,10 @@ export function normalizeAcpUpdate(raw) {
197
230
  parentToolCallId: parentOf(update),
198
231
  status: workflow && update.status === "completed" ? "in_progress" : toolStatus(update.status),
199
232
  title: str(update.title) ?? undefined,
233
+ name: str(update.name),
234
+ kind: typeof update.kind === "string" ? toolKind(update.kind) : undefined,
235
+ locations: locations(update.locations),
236
+ rawInput: update.rawInput,
200
237
  detail: workflow ? undefined : toolDetail(update),
201
238
  content: toolContent(update.content),
202
239
  rawOutput: update.rawOutput,
@@ -234,7 +271,7 @@ export function normalizeAcpUpdate(raw) {
234
271
  return str(update.currentModeId) ? { sessionUpdate: "current_mode_update", currentModeId: str(update.currentModeId) } : undefined;
235
272
  case "config_option_update": {
236
273
  const options = toConfigOptions({ configOptions: update.configOptions }).map(({ source: _source, ...option }) => option);
237
- return options.length > 0 ? { sessionUpdate: "ls_config", options } : undefined;
274
+ return Array.isArray(update.configOptions) ? { sessionUpdate: "ls_config", options } : undefined;
238
275
  }
239
276
  case "session_info_update": {
240
277
  const air = obj(obj(obj(update._meta)?.jetbrains)?.air);
@@ -245,13 +282,16 @@ export function normalizeAcpUpdate(raw) {
245
282
  if (goal.success)
246
283
  return { sessionUpdate: "ls_goal", goal: goal.data };
247
284
  }
248
- return str(update.title) ? { sessionUpdate: "session_info_update", title: str(update.title) } : undefined;
285
+ return typeof update.title === "string" || update.title === null || update.updatedAt !== undefined
286
+ ? { sessionUpdate: "session_info_update", title: update.title === null ? null : str(update.title), updatedAt: update.updatedAt === null ? null : str(update.updatedAt) } : undefined;
249
287
  }
250
288
  case "usage_update":
251
289
  return {
252
290
  sessionUpdate: "usage_update",
253
291
  usedTokens: typeof update.used === "number" ? update.used : undefined,
254
292
  contextWindow: typeof update.size === "number" ? update.size : undefined,
293
+ cost: update.cost === null ? null : typeof obj(update.cost)?.amount === "number" && str(obj(update.cost)?.currency)
294
+ ? { amount: obj(update.cost).amount, currency: str(obj(update.cost).currency) } : undefined,
255
295
  };
256
296
  case "notice": {
257
297
  const title = str(update.title);
@@ -288,6 +328,11 @@ export class AcpItemTracker {
288
328
  userOccurrences = new Map();
289
329
  feed(update) {
290
330
  const out = [];
331
+ if (update.sessionUpdate === "ls_message") {
332
+ out.push(...this.close());
333
+ out.push({ update, itemId: `message:${update.role}:${update.messageId}:${contentHash(JSON.stringify(update))}` });
334
+ return out;
335
+ }
291
336
  if (update.sessionUpdate === "agent_message_chunk" ||
292
337
  update.sessionUpdate === "agent_thought_chunk" ||
293
338
  update.sessionUpdate === "user_message_chunk") {
@@ -420,11 +465,13 @@ export function toAcpPrompt(content) {
420
465
  return content.flatMap((block) => {
421
466
  switch (block.type) {
422
467
  case "text":
423
- return [{ type: "text", text: block.text }];
468
+ return [{ ...block }];
424
469
  case "image":
425
- return block.data ? [{ type: "image", mimeType: block.mimeType, data: block.data, uri: block.uri }] : [];
470
+ case "audio":
471
+ return block.data ? [{ ...block }] : [];
426
472
  case "resource_link":
427
- return [{ type: "resource_link", uri: block.uri, name: block.name }];
473
+ case "resource":
474
+ return [{ ...block }];
428
475
  default:
429
476
  return [];
430
477
  }
@@ -435,16 +482,18 @@ export function toStopReason(value) {
435
482
  case "cancelled":
436
483
  case "refusal":
437
484
  case "max_tokens":
438
- return value;
439
485
  case "max_turn_requests":
440
- return "max_tokens";
486
+ case "end_turn":
487
+ case "error":
488
+ return value;
441
489
  default:
442
- return "end_turn";
490
+ return "unknown";
443
491
  }
444
492
  }
445
493
  export function mapPermissionRequest(params, requestId) {
446
494
  const payload = obj(params);
447
- const toolCall = obj(payload?.toolCall);
495
+ const subject = obj(payload?.subject);
496
+ const toolCall = obj(payload?.toolCall) ?? (subject?.type === "tool_call" ? obj(subject.toolCall) : subject?.type === "command" ? { toolCallId: subject.toolCallId, kind: "execute", rawInput: { command: subject.command, cwd: subject.cwd } } : undefined);
448
497
  const options = arr(payload?.options).flatMap((entry) => {
449
498
  const option = obj(entry);
450
499
  const kind = option?.kind;
@@ -462,8 +511,12 @@ export function mapPermissionRequest(params, requestId) {
462
511
  sessionUpdate: "ls_permission",
463
512
  requestId,
464
513
  toolCallId: str(toolCall?.toolCallId),
465
- title: str(toolCall?.title) ?? "Permission required",
466
- detail,
514
+ title: str(payload?.title) ?? str(toolCall?.title) ?? "需要授权",
515
+ detail: str(payload?.description) ?? (subject?.type === "command" ? str(subject.command) : undefined) ?? detail,
516
+ tool: toolCall ? {
517
+ title: str(toolCall.title), kind: typeof toolCall.kind === "string" ? toolKind(toolCall.kind) : undefined,
518
+ rawInput: toolCall.rawInput, content: toolContent(toolCall.content), locations: locations(toolCall.locations),
519
+ } : undefined,
467
520
  options,
468
521
  },
469
522
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../../src/drivers/acp/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../../../src/drivers/acp/mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type AcpMcpServer, type RpcId } from "@linkshell/wire";
2
+ /** An explicitly configured local MCP server, exposed through one ACP server ID. */
3
+ export declare class AcpMcpBridge {
4
+ private readonly options;
5
+ private readonly servers;
6
+ constructor(options: {
7
+ env: NodeJS.ProcessEnv;
8
+ notify(params: unknown): void;
9
+ request(sessionId: string | undefined, method: string, params: unknown, id: RpcId): Promise<unknown>;
10
+ });
11
+ open(config: Extract<AcpMcpServer, {
12
+ type: "acp";
13
+ }>, cwd: string): string;
14
+ bind(ids: string[], sessionId: string): void;
15
+ request(raw: unknown, signal: AbortSignal): Promise<unknown>;
16
+ private receive;
17
+ private write;
18
+ private fail;
19
+ close(sessionId?: string, ids?: string[]): Promise<void>;
20
+ }
@@ -0,0 +1,139 @@
1
+ import { spawn } from "node:child_process";
2
+ import { randomUUID } from "node:crypto";
3
+ import { StringDecoder } from "node:string_decoder";
4
+ import { RpcError } from "@linkshell/wire";
5
+ const obj = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : {};
6
+ /** An explicitly configured local MCP server, exposed through one ACP server ID. */
7
+ export class AcpMcpBridge {
8
+ options;
9
+ servers = new Map();
10
+ constructor(options) {
11
+ this.options = options;
12
+ }
13
+ open(config, cwd) {
14
+ if (this.servers.size >= 64)
15
+ throw RpcError.app("busy", "请先关闭不用的 MCP 服务");
16
+ const serverId = randomUUID();
17
+ const child = spawn(config.command, config.args, { cwd, env: { ...this.options.env, ...config.env }, detached: process.platform !== "win32", stdio: "pipe" });
18
+ const server = { child, pending: new Map(), buffer: "", decoder: new StringDecoder("utf8"), stopped: false };
19
+ this.servers.set(serverId, server);
20
+ child.stdout.on("data", (data) => {
21
+ server.buffer += server.decoder.write(data);
22
+ if (Buffer.byteLength(server.buffer) > 32 * 1024 * 1024) {
23
+ this.fail(server, new Error("MCP 消息过大"));
24
+ child.kill();
25
+ return;
26
+ }
27
+ let newline;
28
+ while ((newline = server.buffer.indexOf("\n")) >= 0) {
29
+ const line = server.buffer.slice(0, newline);
30
+ server.buffer = server.buffer.slice(newline + 1);
31
+ if (!line.trim())
32
+ continue;
33
+ try {
34
+ void this.receive(serverId, server, obj(JSON.parse(line))).catch(() => { });
35
+ }
36
+ catch {
37
+ this.fail(server, new Error("MCP 服务返回了无效的 JSON"));
38
+ }
39
+ }
40
+ });
41
+ // Drain diagnostic output without recording credentials or arbitrary tool data.
42
+ child.stderr.resume();
43
+ child.stdin.on("error", (error) => this.fail(server, error));
44
+ child.once("error", (error) => this.fail(server, error));
45
+ child.once("exit", () => this.fail(server, new Error("MCP 服务已退出")));
46
+ return serverId;
47
+ }
48
+ bind(ids, sessionId) { for (const id of ids) {
49
+ const server = this.servers.get(id);
50
+ if (server)
51
+ server.sessionId = sessionId;
52
+ } }
53
+ async request(raw, signal) {
54
+ const p = obj(raw), server = typeof p.serverId === "string" ? this.servers.get(p.serverId) : undefined;
55
+ if (!server || server.stopped || typeof p.method !== "string" || (typeof p.requestId !== "number" && typeof p.requestId !== "string"))
56
+ throw new RpcError(-32602, "未知的 ACP MCP 服务或请求");
57
+ if ([...server.pending.values()].some((entry) => entry.id === p.requestId))
58
+ throw new RpcError(-32602, "MCP 请求 ID 仍在使用中");
59
+ if (signal.aborted)
60
+ throw new RpcError(-32800, "请求已取消");
61
+ const id = p.requestId;
62
+ const params = obj(p.params), meta = obj(params._meta), token = meta.progressToken;
63
+ return new Promise((resolve, reject) => {
64
+ const abort = () => {
65
+ this.write(server, { jsonrpc: "2.0", method: "notifications/cancelled", params: { requestId: id, reason: "ACP request cancelled" } });
66
+ server.pending.delete(id);
67
+ reject(new RpcError(-32800, "请求已取消"));
68
+ };
69
+ signal.addEventListener("abort", abort, { once: true });
70
+ server.pending.set(id, { id: p.requestId, token, resolve, reject, cleanup: () => signal.removeEventListener("abort", abort) });
71
+ this.write(server, { jsonrpc: "2.0", id: p.requestId, method: p.method, ...(p.params == null ? {} : { params }) });
72
+ });
73
+ }
74
+ async receive(serverId, server, message) {
75
+ if (typeof message.method === "string") {
76
+ if (typeof message.id === "string" || typeof message.id === "number") {
77
+ try {
78
+ const result = await this.options.request(server.sessionId, message.method, message.params, `mcp:${serverId}:${message.id}`);
79
+ this.write(server, { jsonrpc: "2.0", id: message.id, result });
80
+ }
81
+ catch (error) {
82
+ this.write(server, { jsonrpc: "2.0", id: message.id, error: error instanceof RpcError ? error.toObject() : { code: -32603, message: "MCP 客户端请求失败" } });
83
+ }
84
+ return;
85
+ }
86
+ const token = obj(message.params).progressToken;
87
+ const recipients = token === undefined ? [...server.pending.values()] : [...server.pending.values()].filter((pending) => pending.token === token);
88
+ for (const pending of recipients)
89
+ this.options.notify({ serverId, requestId: pending.id, method: message.method,
90
+ ...(message.params == null ? {} : { params: message.params }) });
91
+ return;
92
+ }
93
+ const pending = typeof message.id === "string" || typeof message.id === "number" ? server.pending.get(message.id) : undefined;
94
+ if (!pending)
95
+ return;
96
+ server.pending.delete(message.id);
97
+ pending.cleanup();
98
+ pending.resolve(Object.hasOwn(message, "result") ? { result: message.result } : { error: message.error });
99
+ }
100
+ write(server, message) { if (!server.stopped)
101
+ server.child.stdin.write(JSON.stringify(message) + "\n"); }
102
+ fail(server, error) {
103
+ if (server.stopped)
104
+ return;
105
+ server.stopped = true;
106
+ for (const pending of server.pending.values()) {
107
+ pending.cleanup();
108
+ pending.reject(error);
109
+ }
110
+ server.pending.clear();
111
+ }
112
+ async close(sessionId, ids) {
113
+ for (const [id, server] of this.servers) {
114
+ if (sessionId && server.sessionId !== sessionId)
115
+ continue;
116
+ if (ids && !ids.includes(id))
117
+ continue;
118
+ this.servers.delete(id);
119
+ this.fail(server, new Error("MCP 服务已关闭"));
120
+ const kill = (signal) => { try {
121
+ if (process.platform !== "win32" && server.child.pid)
122
+ process.kill(-server.child.pid, signal);
123
+ else
124
+ server.child.kill(signal);
125
+ }
126
+ catch { /* Already exited. */ } };
127
+ if (server.child.exitCode !== null) {
128
+ kill("SIGKILL");
129
+ continue;
130
+ }
131
+ kill("SIGTERM");
132
+ await new Promise((resolve) => {
133
+ const timer = setTimeout(() => { kill("SIGKILL"); resolve(); }, 1500);
134
+ server.child.once("exit", () => { clearTimeout(timer); kill("SIGKILL"); resolve(); });
135
+ });
136
+ }
137
+ }
138
+ }
139
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../../src/drivers/acp/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAiC,MAAM,iBAAiB,CAAC;AAG1E,MAAM,GAAG,GAAG,CAAC,KAAc,EAAQ,EAAE,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAIvH,oFAAoF;AACpF,MAAM,OAAO,YAAY;IAEM;IADZ,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,YAA6B,OAI5B;QAJ4B,YAAO,GAAP,OAAO,CAInC;IAAG,CAAC;IAEL,IAAI,CAAC,MAA8C,EAAE,GAAW;QAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;YAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9J,MAAM,MAAM,GAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC5H,IAAI,OAAe,CAAC;YACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,IAAI,CAAC;oBAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;gBACnF,MAAM,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,gFAAgF;QAChF,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAa,EAAE,SAAiB,IAAU,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QAAC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,MAAM;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAAC,CAAC,CAAC,CAAC;IAEzJ,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,MAAmB;QAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;YAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACvL,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1H,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACnF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACtI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,SAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACxI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAa;QACnE,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7H,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;gBACzJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAChD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YAClJ,KAAK,MAAM,OAAO,IAAI,UAAU;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM;oBAC7G,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9H,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAW,CAAC,CAAC;QAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5G,CAAC;IAEO,KAAK,CAAC,MAAc,EAAE,OAAa,IAAU,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7H,IAAI,CAAC,MAAc,EAAE,KAAY;QACvC,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC5F,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,SAAkB,EAAE,GAAc;QAC5C,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,SAAS;YAC1D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,SAAS;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,CAAC,MAAsB,EAAE,EAAE,GAAG,IAAI,CAAC;gBAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;oBAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpN,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACtE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -95,6 +95,20 @@ export function mapAcpQuestions(agent, method, params, requestId) {
95
95
  };
96
96
  }
97
97
  if (kind === "form" || kind === "grok-form") {
98
+ const url = z.object({ mode: z.literal("url"), message: z.string(), elicitationId: z.string(), url: z.string().url() }).safeParse(params);
99
+ if (url.success && kind === "form") {
100
+ if (!["https:", "http:"].includes(new URL(url.data.url).protocol))
101
+ throw invalid();
102
+ return {
103
+ update: { sessionUpdate: "ls_permission", requestId, title: url.data.message, url: { url: url.data.url, elicitationId: url.data.elicitationId }, options: [
104
+ { optionId: "accept", name: "打开授权页面", kind: "allow_once" },
105
+ { optionId: "decline", name: "拒绝", kind: "reject_once" },
106
+ { optionId: "cancel", name: "取消", kind: "reject_once" },
107
+ ] },
108
+ answer: () => { throw invalid(); },
109
+ respond: (optionId) => ({ action: optionId === "accept" ? "accept" : optionId === "cancel" ? "cancel" : "decline" }),
110
+ };
111
+ }
98
112
  const parsed = formSchema.safeParse(params);
99
113
  if (!parsed.success)
100
114
  throw invalid();
@@ -1 +1 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../../../src/drivers/acp/questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../../../src/drivers/acp/questions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type SessionUpdate } from "@linkshell/wire";
2
+ /** Stateful snapshots are scoped to one session, so IDs from other sessions never collide. */
3
+ export declare class AcpUpdates {
4
+ private readonly compactions;
5
+ private readonly terminals;
6
+ map(raw: unknown, version: 1 | 2): SessionUpdate[];
7
+ private terminal;
8
+ private terminalUpdate;
9
+ }
10
+ export declare function usageUpdate(value: unknown): SessionUpdate | undefined;