ycodium-acp-executor 0.2.2488

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 (98) hide show
  1. package/README.md +127 -0
  2. package/dist/adapter-support.d.ts +26 -0
  3. package/dist/adapter-support.d.ts.map +1 -0
  4. package/dist/adapter-support.js +79 -0
  5. package/dist/adapter-support.js.map +1 -0
  6. package/dist/approvals.d.ts +39 -0
  7. package/dist/approvals.d.ts.map +1 -0
  8. package/dist/approvals.js +69 -0
  9. package/dist/approvals.js.map +1 -0
  10. package/dist/config-option-wiring.d.ts +71 -0
  11. package/dist/config-option-wiring.d.ts.map +1 -0
  12. package/dist/config-option-wiring.js +71 -0
  13. package/dist/config-option-wiring.js.map +1 -0
  14. package/dist/config-options.d.ts +75 -0
  15. package/dist/config-options.d.ts.map +1 -0
  16. package/dist/config-options.js +171 -0
  17. package/dist/config-options.js.map +1 -0
  18. package/dist/connection.d.ts +34 -0
  19. package/dist/connection.d.ts.map +1 -0
  20. package/dist/connection.js +374 -0
  21. package/dist/connection.js.map +1 -0
  22. package/dist/errors.d.ts +21 -0
  23. package/dist/errors.d.ts.map +1 -0
  24. package/dist/errors.js +41 -0
  25. package/dist/errors.js.map +1 -0
  26. package/dist/event-stream.d.ts +15 -0
  27. package/dist/event-stream.d.ts.map +1 -0
  28. package/dist/event-stream.js +81 -0
  29. package/dist/event-stream.js.map +1 -0
  30. package/dist/events.d.ts +69 -0
  31. package/dist/events.d.ts.map +1 -0
  32. package/dist/events.js +205 -0
  33. package/dist/events.js.map +1 -0
  34. package/dist/executor.d.ts +84 -0
  35. package/dist/executor.d.ts.map +1 -0
  36. package/dist/executor.js +1179 -0
  37. package/dist/executor.js.map +1 -0
  38. package/dist/handshake.d.ts +24 -0
  39. package/dist/handshake.d.ts.map +1 -0
  40. package/dist/handshake.js +26 -0
  41. package/dist/handshake.js.map +1 -0
  42. package/dist/index.d.ts +23 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +15 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/jsonrpc.d.ts +12 -0
  47. package/dist/jsonrpc.d.ts.map +1 -0
  48. package/dist/jsonrpc.js +42 -0
  49. package/dist/jsonrpc.js.map +1 -0
  50. package/dist/line-buffer.d.ts +14 -0
  51. package/dist/line-buffer.d.ts.map +1 -0
  52. package/dist/line-buffer.js +51 -0
  53. package/dist/line-buffer.js.map +1 -0
  54. package/dist/mutex.d.ts +13 -0
  55. package/dist/mutex.d.ts.map +1 -0
  56. package/dist/mutex.js +44 -0
  57. package/dist/mutex.js.map +1 -0
  58. package/dist/probe.d.ts +74 -0
  59. package/dist/probe.d.ts.map +1 -0
  60. package/dist/probe.js +121 -0
  61. package/dist/probe.js.map +1 -0
  62. package/dist/protocol.d.ts +8 -0
  63. package/dist/protocol.d.ts.map +1 -0
  64. package/dist/protocol.js +6 -0
  65. package/dist/protocol.js.map +1 -0
  66. package/dist/runtime-mode.d.ts +49 -0
  67. package/dist/runtime-mode.d.ts.map +1 -0
  68. package/dist/runtime-mode.js +123 -0
  69. package/dist/runtime-mode.js.map +1 -0
  70. package/dist/runtime-model.d.ts +157 -0
  71. package/dist/runtime-model.d.ts.map +1 -0
  72. package/dist/runtime-model.js +601 -0
  73. package/dist/runtime-model.js.map +1 -0
  74. package/dist/session-update.d.ts +42 -0
  75. package/dist/session-update.d.ts.map +1 -0
  76. package/dist/session-update.js +63 -0
  77. package/dist/session-update.js.map +1 -0
  78. package/dist/tool-presentation.d.ts +17 -0
  79. package/dist/tool-presentation.d.ts.map +1 -0
  80. package/dist/tool-presentation.js +209 -0
  81. package/dist/tool-presentation.js.map +1 -0
  82. package/dist/turn-usage.d.ts +18 -0
  83. package/dist/turn-usage.d.ts.map +1 -0
  84. package/dist/turn-usage.js +59 -0
  85. package/dist/turn-usage.js.map +1 -0
  86. package/dist/types.d.ts +116 -0
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +6 -0
  89. package/dist/types.js.map +1 -0
  90. package/dist/util.d.ts +3 -0
  91. package/dist/util.d.ts.map +1 -0
  92. package/dist/util.js +11 -0
  93. package/dist/util.js.map +1 -0
  94. package/dist/vendor-hooks.d.ts +112 -0
  95. package/dist/vendor-hooks.d.ts.map +1 -0
  96. package/dist/vendor-hooks.js +4 -0
  97. package/dist/vendor-hooks.js.map +1 -0
  98. package/package.json +39 -0
@@ -0,0 +1,171 @@
1
+ /**
2
+ * 从 ACP 会话回包的 `configOptions` 里认出思考档位(力度档)。
3
+ *
4
+ * **为什么住在这个包**:认法与翻法此前有两份,互不知道——`CursorProvider` 能把
5
+ * configOptions 里的力度档翻成界面画得出的 optionDescriptor;`agent-dsh` 的探测建了
6
+ * 会话、却只从同一份回包里取模型清单。结果同一种数据在 Cursor 上有力度档,在别的
7
+ * ACP 手上整格缺席。插件 import 不到宿主,所以通用那半只能落在这个两边都够得着的包里。
8
+ *
9
+ * **不归一化档位值**:Cursor 那份把 `extra-high` 折成 `xhigh`、认不出的一律丢掉,那是
10
+ * 它对齐自身固定集合的需要,留在 `CursorProvider`。通用这份照 agent 报什么算什么——
11
+ * 宿主 `ProviderOptionDescriptor` 的 option id 是自由字符串,归一化只会把 agent 真能收
12
+ * 的档位吃掉(`claude-agent-acp` 报的 `default` 就会中招),而写回时原样发回去才自洽。
13
+ *
14
+ * 入参收 `unknown`:插件侧拿到的是 raw JSON,宿主侧拿到的是 schema 类型,两边结构相同,
15
+ * 在这里各自不用先转一道。
16
+ *
17
+ * @module config-options
18
+ */
19
+ function isRecord(value) {
20
+ return typeof value === "object" && value !== null && !Array.isArray(value);
21
+ }
22
+ function asString(value) {
23
+ return typeof value === "string" ? value : undefined;
24
+ }
25
+ function normalizedField(option, key) {
26
+ return asString(option[key])?.trim().toLowerCase() ?? "";
27
+ }
28
+ /**
29
+ * 长得像力度档吗。
30
+ *
31
+ * id 与 name 都看:`category` 是协议明说的 UX 提示、可以缺席,只靠它会漏掉没标 category
32
+ * 的那几家;只靠 id 又会漏掉把它叫 `thinking_level` 的。
33
+ */
34
+ function looksLikeEffortOption(option) {
35
+ const id = normalizedField(option, "id");
36
+ const name = normalizedField(option, "name");
37
+ return (id === "effort" ||
38
+ id === "reasoning" ||
39
+ name === "effort" ||
40
+ name === "reasoning" ||
41
+ name.includes("effort") ||
42
+ name.includes("reasoning") ||
43
+ normalizedField(option, "category") === "thought_level");
44
+ }
45
+ /**
46
+ * 展平选项。两种长相都认:平的 `{value,name}` 与按组分的 `{group,name,options:[…]}`
47
+ * (dsh 今天发分组那种)。
48
+ */
49
+ function flattenChoices(rawOptions, currentValue) {
50
+ if (!Array.isArray(rawOptions))
51
+ return [];
52
+ const out = [];
53
+ const seen = new Set();
54
+ const push = (entry) => {
55
+ if (!isRecord(entry))
56
+ return;
57
+ const value = asString(entry["value"]);
58
+ if (value === undefined || seen.has(value))
59
+ return;
60
+ seen.add(value);
61
+ const description = asString(entry["description"])?.trim();
62
+ const name = asString(entry["name"])?.trim();
63
+ out.push({
64
+ value,
65
+ ...(name ? { name } : {}),
66
+ label: name || value,
67
+ ...(description ? { description } : {}),
68
+ ...(currentValue !== undefined && currentValue === value ? { isDefault: true } : {}),
69
+ });
70
+ };
71
+ for (const entry of rawOptions) {
72
+ if (isRecord(entry) && Array.isArray(entry["options"])) {
73
+ for (const nested of entry["options"])
74
+ push(nested);
75
+ continue;
76
+ }
77
+ push(entry);
78
+ }
79
+ return out;
80
+ }
81
+ /**
82
+ * 挑出力度档那一项。
83
+ *
84
+ * 优先级照 `CursorProvider` 既有那套:厂商自己标的 `model_option` 最准,其次是 id 就叫
85
+ * `effort` 的,再次是标了 `thought_level` 的,最后退回第一个长得像的。多家同时命中时
86
+ * 这个顺序决定谁赢,改它会改掉 Cursor 今天的行为。
87
+ */
88
+ export function findAcpEffortConfig(configOptions) {
89
+ if (!Array.isArray(configOptions))
90
+ return undefined;
91
+ const candidates = configOptions
92
+ .filter(isRecord)
93
+ .filter((option) => normalizedField(option, "type") === "select")
94
+ .filter(looksLikeEffortOption);
95
+ if (candidates.length === 0)
96
+ return undefined;
97
+ const picked = candidates.find((option) => normalizedField(option, "category") === "model_option") ??
98
+ candidates.find((option) => normalizedField(option, "id") === "effort") ??
99
+ candidates.find((option) => normalizedField(option, "category") === "thought_level") ??
100
+ candidates[0];
101
+ if (picked === undefined)
102
+ return undefined;
103
+ const configId = asString(picked["id"])?.trim();
104
+ if (!configId)
105
+ return undefined;
106
+ const choices = flattenChoices(picked["options"], asString(picked["currentValue"])?.trim());
107
+ if (choices.length === 0)
108
+ return undefined;
109
+ return {
110
+ configId,
111
+ label: asString(picked["name"])?.trim() ?? "",
112
+ choices,
113
+ };
114
+ }
115
+ /**
116
+ * 从同一份 `configOptions` 里认出模型清单那一项,展平成可选值。
117
+ *
118
+ * 认法与力度档那边共用一套展平(平的 `{value,name}` 与按组分的
119
+ * `{group,name,options:[…]}` 都认,`currentValue` 标成默认)。此前这段只活在
120
+ * `agent-dsh` 的 `dshProbeModels` 里——`agent-acp` 要报清单时照抄一份就是第二个答案,
121
+ * 所以搬来这里,两条路读同一份。
122
+ *
123
+ * 返回 `undefined` 与空数组不是一回事:前者是「这份回包里认不出模型那一项」,后者是
124
+ * 「认出来了但一个选项都没有」。调用方据此决定报不报 `models`。
125
+ */
126
+ export function acpModelChoicesFromConfigOptions(configOptions) {
127
+ if (!Array.isArray(configOptions))
128
+ return undefined;
129
+ const records = configOptions.filter(isRecord);
130
+ const modelOption = records.find((option) => normalizedField(option, "category") === "model");
131
+ if (modelOption === undefined)
132
+ return undefined;
133
+ if (!asString(modelOption["id"])?.trim())
134
+ return undefined;
135
+ return flattenChoices(modelOption["options"], asString(modelOption["currentValue"])?.trim());
136
+ }
137
+ /**
138
+ * 另一种报法:`session/new` 回包的 `models.availableModels`(ACP 的 UNSTABLE 那一位)。
139
+ *
140
+ * 两种报法都是标准的,各家挑一种——`claude-agent-acp` 与 dsh 走 `configOptions`,也有
141
+ * 走这一位的。只认一种就会对另一半的手整个报不出清单,所以两种都认,由调用方按顺序试。
142
+ *
143
+ * `collectSessionModelIds` 只取 id(够 `session/set_model` 用),这里要连名字和默认一起,
144
+ * 所以另起一个而不是改它——那个的调用方不需要多余字段。
145
+ */
146
+ export function acpModelChoicesFromSessionModels(models) {
147
+ if (!isRecord(models) || !Array.isArray(models["availableModels"]))
148
+ return undefined;
149
+ const currentModelId = asString(models["currentModelId"])?.trim();
150
+ const out = [];
151
+ const seen = new Set();
152
+ for (const entry of models["availableModels"]) {
153
+ if (!isRecord(entry))
154
+ continue;
155
+ const value = asString(entry["modelId"])?.trim();
156
+ if (!value || seen.has(value))
157
+ continue;
158
+ seen.add(value);
159
+ const name = asString(entry["name"])?.trim();
160
+ const description = asString(entry["description"])?.trim();
161
+ out.push({
162
+ value,
163
+ ...(name ? { name } : {}),
164
+ label: name || value,
165
+ ...(description ? { description } : {}),
166
+ ...(currentModelId !== undefined && currentModelId === value ? { isDefault: true } : {}),
167
+ });
168
+ }
169
+ return out;
170
+ }
171
+ //# sourceMappingURL=config-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-options.js","sourceRoot":"","sources":["../src/config-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type AgentRequestMethod, type AgentRequestParamsByMethod, type AgentRequestResponsesByMethod, type SessionNotification } from "@agentclientprotocol/sdk";
2
+ import * as NodeStream from "node:stream";
3
+ export type AcpProtocolLogEvent = {
4
+ readonly direction: "incoming" | "outgoing";
5
+ readonly stage: "raw" | "decoded" | "decode_failed";
6
+ readonly payload: unknown;
7
+ };
8
+ export type AcpIncomingNotification = {
9
+ readonly method: "session/update";
10
+ readonly params: SessionNotification;
11
+ readonly delivery: "decoded" | "raw";
12
+ } | {
13
+ readonly method: string;
14
+ readonly params: unknown;
15
+ };
16
+ export type AcpConnectionOptions = {
17
+ readonly readable: NodeStream.Readable;
18
+ readonly writable: NodeStream.Writable;
19
+ readonly onNotification?: (notification: AcpIncomingNotification) => void | Promise<void>;
20
+ readonly onRequest?: (method: string, params: unknown) => unknown | Promise<unknown>;
21
+ readonly logger?: (event: AcpProtocolLogEvent) => void;
22
+ /** 入站任务(分发请求、写应答)失败、连接随即收掉时调;连接已经在收尾时不调。 */
23
+ readonly onInboundFailure?: (error: unknown) => void;
24
+ };
25
+ export type AcpConnection = {
26
+ request<Method extends AgentRequestMethod>(method: Method, params: AgentRequestParamsByMethod[Method]): Promise<AgentRequestResponsesByMethod[Method]>;
27
+ request<T = unknown>(method: string, params?: unknown): Promise<T>;
28
+ notify(method: string, params?: unknown): Promise<void>;
29
+ awaitInboundIdle(): Promise<void>;
30
+ close(error?: unknown): Promise<void>;
31
+ readonly closed: Promise<void>;
32
+ };
33
+ export declare function createAcpConnection(options: AcpConnectionOptions): AcpConnection;
34
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAGlC,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAY1C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACvD,4CAA4C;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD,CAAC;AAuCF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,MAAM,SAAS,kBAAkB,EACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC,GACzC,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAmXhF"}
@@ -0,0 +1,374 @@
1
+ import { ndJsonStream, RequestError, } from "@agentclientprotocol/sdk";
2
+ import * as NodeStream from "node:stream";
3
+ import { AcpConnectionClosedError } from "./errors.js";
4
+ import { isNotificationMessage, isRequestMessage, isResponseMessage, readJsonRpcError, } from "./jsonrpc.js";
5
+ import { LineBuffer } from "./line-buffer.js";
6
+ import { decodeSessionUpdate } from "./session-update.js";
7
+ const textDecoder = new TextDecoder();
8
+ const textEncoder = new TextEncoder();
9
+ function asBytes(chunk) {
10
+ if (typeof chunk === "string") {
11
+ return textEncoder.encode(chunk);
12
+ }
13
+ if (chunk instanceof Uint8Array) {
14
+ return chunk;
15
+ }
16
+ throw new TypeError("ACP readable produced a non-byte chunk");
17
+ }
18
+ /**
19
+ * Same filter `ndJsonStream` uses before `controller.enqueue`.
20
+ * Empty / invalid / non-object lines are not enqueued; counting them would
21
+ * deadlock the inbound drain.
22
+ */
23
+ function isEnqueueableLine(lineBytes) {
24
+ const trimmed = textDecoder.decode(lineBytes).trim();
25
+ if (!trimmed) {
26
+ return false;
27
+ }
28
+ try {
29
+ const parsed = JSON.parse(trimmed);
30
+ return typeof parsed === "object" && parsed !== null;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ export function createAcpConnection(options) {
37
+ const byteBridge = new TransformStream();
38
+ const byteWriter = byteBridge.writable.getWriter();
39
+ const stream = ndJsonStream(NodeStream.Writable.toWeb(options.writable), byteBridge.readable);
40
+ const incoming = stream.readable.getReader();
41
+ const outgoing = stream.writable.getWriter();
42
+ const lineBuffer = new LineBuffer();
43
+ const pending = new Map();
44
+ const idleWaiters = [];
45
+ let nextRequestId = 1;
46
+ let inboundBatches = 0;
47
+ let closing;
48
+ let closedError;
49
+ let inboundTail = Promise.resolve();
50
+ const { resolve: resolveClosed, promise: closed } = Promise.withResolvers();
51
+ const rejectPending = (error) => {
52
+ const entries = [...pending.values()];
53
+ pending.clear();
54
+ for (const entry of entries) {
55
+ entry.reject(error);
56
+ }
57
+ };
58
+ const releaseIdleWaiters = () => {
59
+ if (idleWaiters.length === 0) {
60
+ return;
61
+ }
62
+ const waiters = idleWaiters.splice(0);
63
+ for (const waiter of waiters) {
64
+ waiter();
65
+ }
66
+ };
67
+ const beginInboundBatch = () => {
68
+ inboundBatches += 1;
69
+ };
70
+ const endInboundBatch = () => {
71
+ inboundBatches = Math.max(0, inboundBatches - 1);
72
+ if (inboundBatches === 0) {
73
+ releaseIdleWaiters();
74
+ }
75
+ };
76
+ const log = (event) => {
77
+ options.logger?.(event);
78
+ };
79
+ const writeMessage = async (message) => {
80
+ log({ direction: "outgoing", stage: "decoded", payload: message });
81
+ await outgoing.write(message);
82
+ };
83
+ const failIfClosed = () => {
84
+ if (closedError !== undefined) {
85
+ throw closedError;
86
+ }
87
+ };
88
+ const shutdown = (error) => {
89
+ if (closing) {
90
+ return closing;
91
+ }
92
+ closedError = error;
93
+ closing = (async () => {
94
+ rejectPending(error);
95
+ releaseIdleWaiters();
96
+ options.readable.off("data", onData);
97
+ options.readable.off("end", onEnd);
98
+ options.readable.off("error", onError);
99
+ options.writable.off("error", onWritableError);
100
+ try {
101
+ await byteWriter.close();
102
+ }
103
+ catch {
104
+ // Already closed with the peer.
105
+ }
106
+ try {
107
+ await incoming.cancel();
108
+ }
109
+ catch {
110
+ // Reader may already be closed by ndJsonStream.
111
+ }
112
+ try {
113
+ await outgoing.close();
114
+ }
115
+ catch {
116
+ // The peer may already have ended stdin.
117
+ }
118
+ resolveClosed();
119
+ })();
120
+ return closing;
121
+ };
122
+ const dispatchNotification = async (method, params) => {
123
+ if (method === "session/update") {
124
+ const decoded = decodeSessionUpdate(params);
125
+ if (decoded.status === "dropped") {
126
+ log({
127
+ direction: "incoming",
128
+ stage: "decode_failed",
129
+ payload: {
130
+ operation: "decode-notification-payload",
131
+ method,
132
+ outcome: "dropped",
133
+ },
134
+ });
135
+ return;
136
+ }
137
+ if (decoded.status === "raw") {
138
+ log({
139
+ direction: "incoming",
140
+ stage: "decode_failed",
141
+ payload: {
142
+ operation: "decode-notification-payload",
143
+ method,
144
+ outcome: "delivered",
145
+ },
146
+ });
147
+ }
148
+ const notification = {
149
+ method: "session/update",
150
+ params: decoded.params,
151
+ delivery: decoded.status === "decoded" ? "decoded" : "raw",
152
+ };
153
+ try {
154
+ await options.onNotification?.(notification);
155
+ }
156
+ catch {
157
+ // A bad handler must not tear the connection down.
158
+ }
159
+ return;
160
+ }
161
+ try {
162
+ await options.onNotification?.({ method, params });
163
+ }
164
+ catch {
165
+ // Same as session/update: keep the connection.
166
+ }
167
+ };
168
+ const dispatchRequest = async (id, method, params) => {
169
+ try {
170
+ if (!options.onRequest) {
171
+ throw RequestError.methodNotFound(method);
172
+ }
173
+ const result = await options.onRequest(method, params);
174
+ await writeMessage({ jsonrpc: "2.0", id, result: result ?? null });
175
+ }
176
+ catch (error) {
177
+ const rpcError = error instanceof RequestError
178
+ ? error
179
+ : RequestError.internalError(error instanceof Error ? error.message : String(error));
180
+ await writeMessage({ jsonrpc: "2.0", id, error: rpcError.toErrorResponse() });
181
+ }
182
+ };
183
+ const dispatchResponse = (id, message) => {
184
+ const key = String(id);
185
+ const waiter = pending.get(key);
186
+ if (!waiter) {
187
+ return;
188
+ }
189
+ pending.delete(key);
190
+ if (Object.hasOwn(message, "error")) {
191
+ const rpcError = readJsonRpcError(message["error"]);
192
+ waiter.reject(rpcError
193
+ ? rpcError.data === undefined
194
+ ? new RequestError(rpcError.code, rpcError.message)
195
+ : new RequestError(rpcError.code, rpcError.message, rpcError.data)
196
+ : RequestError.internalError("Malformed JSON-RPC error response"));
197
+ return;
198
+ }
199
+ waiter.resolve(message["result"]);
200
+ };
201
+ const dispatchMessage = async (message) => {
202
+ log({ direction: "incoming", stage: "decoded", payload: message });
203
+ if (isResponseMessage(message)) {
204
+ dispatchResponse(message.id, message);
205
+ return;
206
+ }
207
+ if (isNotificationMessage(message)) {
208
+ await dispatchNotification(message.method, message.params);
209
+ return;
210
+ }
211
+ if (isRequestMessage(message)) {
212
+ await dispatchRequest(message.id, message.method, message.params);
213
+ }
214
+ };
215
+ const dispatchWire = async (value) => {
216
+ if (Array.isArray(value)) {
217
+ for (const item of value) {
218
+ await dispatchMessage(item);
219
+ }
220
+ return;
221
+ }
222
+ await dispatchMessage(value);
223
+ };
224
+ const pullEnqueued = async (count) => {
225
+ for (let i = 0; i < count; i += 1) {
226
+ const { value, done } = await incoming.read();
227
+ if (done || value === undefined) {
228
+ return;
229
+ }
230
+ await dispatchWire(value);
231
+ }
232
+ };
233
+ const handleChunk = async (bytes) => {
234
+ const lines = lineBuffer.push(bytes);
235
+ for (const line of lines) {
236
+ const trimmed = textDecoder.decode(line).trim();
237
+ if (trimmed) {
238
+ log({ direction: "incoming", stage: "raw", payload: trimmed });
239
+ }
240
+ }
241
+ const expected = lines.filter(isEnqueueableLine).length;
242
+ await byteWriter.write(bytes);
243
+ if (expected === 0) {
244
+ return;
245
+ }
246
+ beginInboundBatch();
247
+ try {
248
+ await pullEnqueued(expected);
249
+ }
250
+ finally {
251
+ endInboundBatch();
252
+ }
253
+ };
254
+ // 入站任务的失败在这里接住:多半是应答连同错误应答都写不出去,出站已经坏了,连接不能再用。
255
+ // 不接的话这条链上的拒绝没人接,后面不一定还有入站任务排上来。连接已经在收尾时,应答写
256
+ // 不出去是收尾的结果,不是新故障,不报。
257
+ const failInbound = (error) => {
258
+ if (closedError !== undefined)
259
+ return;
260
+ options.onInboundFailure?.(error);
261
+ void shutdown(new AcpConnectionClosedError(`ACP inbound handling failed: ${error instanceof Error ? error.message : String(error)}`));
262
+ };
263
+ const enqueueInbound = (work) => {
264
+ inboundTail = inboundTail.then(work).catch(failInbound);
265
+ };
266
+ const onData = (chunk) => {
267
+ if (closedError !== undefined) {
268
+ return;
269
+ }
270
+ enqueueInbound(() => handleChunk(asBytes(chunk)));
271
+ };
272
+ const onEnd = () => {
273
+ enqueueInbound(async () => {
274
+ const last = lineBuffer.flush();
275
+ if (last) {
276
+ const trimmed = textDecoder.decode(last).trim();
277
+ if (trimmed) {
278
+ log({ direction: "incoming", stage: "raw", payload: trimmed });
279
+ }
280
+ }
281
+ const expected = last && isEnqueueableLine(last) ? 1 : 0;
282
+ try {
283
+ await byteWriter.close();
284
+ }
285
+ catch {
286
+ // Already closed.
287
+ }
288
+ beginInboundBatch();
289
+ try {
290
+ if (expected > 0) {
291
+ await pullEnqueued(expected);
292
+ }
293
+ while (true) {
294
+ const { value, done } = await incoming.read();
295
+ if (done) {
296
+ break;
297
+ }
298
+ if (value !== undefined) {
299
+ await dispatchWire(value);
300
+ }
301
+ }
302
+ }
303
+ catch {
304
+ // Reader cancelled by close().
305
+ }
306
+ finally {
307
+ endInboundBatch();
308
+ }
309
+ await shutdown(new AcpConnectionClosedError("ACP input stream ended"));
310
+ });
311
+ };
312
+ const onError = (error) => {
313
+ enqueueInbound(async () => {
314
+ await shutdown(error instanceof Error ? error : new AcpConnectionClosedError("ACP input stream error"));
315
+ });
316
+ };
317
+ // 出站写坏了以 Node 流自己的 'error' 为准收掉连接:Node 24.20 的 Writable.toWeb 在 write()
318
+ // 同步出错、又不是背压时,让这次 write 直接 resolve,错误只落到流上(24.13 还会让它 reject)。
319
+ // 不在这里收,请求就当帧已经写出去,一直等一个不会来的应答。
320
+ const onWritableError = (error) => {
321
+ void shutdown(error instanceof Error ? error : new AcpConnectionClosedError("ACP output stream error"));
322
+ };
323
+ options.readable.on("data", onData);
324
+ options.readable.on("end", onEnd);
325
+ options.readable.on("error", onError);
326
+ options.writable.once("error", onWritableError);
327
+ const request = (async (method, params) => {
328
+ failIfClosed();
329
+ const id = nextRequestId;
330
+ nextRequestId += 1;
331
+ const { promise, resolve, reject } = Promise.withResolvers();
332
+ pending.set(String(id), { method, resolve, reject });
333
+ const message = params === undefined
334
+ ? { jsonrpc: "2.0", id, method }
335
+ : { jsonrpc: "2.0", id, method, params };
336
+ try {
337
+ // 写还挂着时 shutdown 会先拒掉 promise:与写一起等,先落定的算数。只 await 写的话,
338
+ // 这次拒绝和写失败时下面那次 reject 都没人接,写又可能永远不落定。
339
+ await Promise.race([writeMessage(message), promise]);
340
+ }
341
+ catch (error) {
342
+ if (pending.delete(String(id))) {
343
+ reject(error);
344
+ }
345
+ throw error;
346
+ }
347
+ return promise;
348
+ });
349
+ const notify = async (method, params) => {
350
+ failIfClosed();
351
+ const message = params === undefined ? { jsonrpc: "2.0", method } : { jsonrpc: "2.0", method, params };
352
+ await writeMessage(message);
353
+ };
354
+ const awaitInboundIdle = async () => {
355
+ if (inboundBatches === 0) {
356
+ return;
357
+ }
358
+ await new Promise((resolve) => {
359
+ idleWaiters.push(resolve);
360
+ if (inboundBatches === 0) {
361
+ releaseIdleWaiters();
362
+ }
363
+ });
364
+ };
365
+ const close = (error) => shutdown(error ?? new AcpConnectionClosedError());
366
+ return {
367
+ request,
368
+ notify,
369
+ awaitInboundIdle,
370
+ close,
371
+ closed,
372
+ };
373
+ }
374
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare class AcpExecutorError extends Error {
2
+ readonly code: string;
3
+ constructor(code: string, message: string);
4
+ }
5
+ export declare class AcpExecutorDisposedError extends AcpExecutorError {
6
+ constructor(message?: string);
7
+ }
8
+ export declare class AcpExecutorNotStartedError extends AcpExecutorError {
9
+ constructor(message?: string);
10
+ }
11
+ export declare class AcpExecutorCancelTimeoutError extends AcpExecutorError {
12
+ constructor(message?: string);
13
+ }
14
+ export declare class AcpExecutorRequestError extends AcpExecutorError {
15
+ readonly method: string;
16
+ constructor(method: string, message: string);
17
+ }
18
+ export declare class AcpConnectionClosedError extends Error {
19
+ constructor(message?: string);
20
+ }
21
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;gBAChD,OAAO,SAAmC;CAIvD;AAED,qBAAa,0BAA2B,SAAQ,gBAAgB;gBAClD,OAAO,SAAqC;CAIzD;AAED,qBAAa,6BAA8B,SAAQ,gBAAgB;gBACrD,OAAO,SAAsE;CAI1F;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,SAA0B;CAI9C"}