@wrongstack/acp 0.10.2 → 0.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +92 -0
- package/dist/agent.js +420 -0
- package/dist/agent.js.map +1 -0
- package/dist/client.d.ts +4 -0
- package/dist/client.js +315 -0
- package/dist/client.js.map +1 -0
- package/dist/{client/tool-translator.d.ts → index-CncECXiF.d.ts} +41 -17
- package/dist/index.d.ts +5 -24
- package/dist/index.js +841 -21
- package/dist/index.js.map +1 -1
- package/dist/stdio-transport-DqWq-2iP.d.ts +198 -0
- package/package.json +7 -7
- package/dist/agent/index.d.ts +0 -7
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -5
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/protocol-handler.d.ts +0 -39
- package/dist/agent/protocol-handler.d.ts.map +0 -1
- package/dist/agent/protocol-handler.js +0 -142
- package/dist/agent/protocol-handler.js.map +0 -1
- package/dist/agent/stdio-transport.d.ts +0 -64
- package/dist/agent/stdio-transport.d.ts.map +0 -1
- package/dist/agent/stdio-transport.js +0 -250
- package/dist/agent/stdio-transport.js.map +0 -1
- package/dist/agent/tools-registry.d.ts +0 -33
- package/dist/agent/tools-registry.d.ts.map +0 -1
- package/dist/agent/tools-registry.js +0 -131
- package/dist/agent/tools-registry.js.map +0 -1
- package/dist/agent/wrongstack-acp-agent.d.ts +0 -32
- package/dist/agent/wrongstack-acp-agent.d.ts.map +0 -1
- package/dist/agent/wrongstack-acp-agent.js +0 -90
- package/dist/agent/wrongstack-acp-agent.js.map +0 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -4
- package/dist/client/index.js.map +0 -1
- package/dist/client/tool-translator.d.ts.map +0 -1
- package/dist/client/tool-translator.js +0 -112
- package/dist/client/tool-translator.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/integration/acp-subagent-runner.d.ts +0 -34
- package/dist/integration/acp-subagent-runner.d.ts.map +0 -1
- package/dist/integration/acp-subagent-runner.js +0 -218
- package/dist/integration/acp-subagent-runner.js.map +0 -1
- package/dist/types/acp-messages.d.ts +0 -133
- package/dist/types/acp-messages.d.ts.map +0 -1
- package/dist/types/acp-messages.js +0 -2
- package/dist/types/acp-messages.js.map +0 -1
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { ACPMessage } from '../types/acp-messages.js';
|
|
2
|
-
export interface AgentServerTransport {
|
|
3
|
-
send(msg: ACPMessage): Promise<void>;
|
|
4
|
-
sendRaw(chunk: string): void;
|
|
5
|
-
read(): Promise<ACPMessage | null>;
|
|
6
|
-
close(): void;
|
|
7
|
-
onMessage(handler: (msg: ACPMessage) => void): () => void;
|
|
8
|
-
}
|
|
9
|
-
export declare class StdioTransport implements AgentServerTransport {
|
|
10
|
-
private readonly stdin;
|
|
11
|
-
private readonly stdout;
|
|
12
|
-
private readonly stderr;
|
|
13
|
-
private buffer;
|
|
14
|
-
private readonly handlers;
|
|
15
|
-
private closed;
|
|
16
|
-
private resolveRead;
|
|
17
|
-
private messageQueue;
|
|
18
|
-
constructor();
|
|
19
|
-
sendStartupMarker(): void;
|
|
20
|
-
send(msg: ACPMessage): Promise<void>;
|
|
21
|
-
sendRaw(chunk: string): void;
|
|
22
|
-
read(): Promise<ACPMessage | null>;
|
|
23
|
-
onMessage(handler: (msg: ACPMessage) => void): () => void;
|
|
24
|
-
close(): void;
|
|
25
|
-
private onData;
|
|
26
|
-
private dispatch;
|
|
27
|
-
private handleClose;
|
|
28
|
-
private failAll;
|
|
29
|
-
}
|
|
30
|
-
import type { EventEmitter } from 'node:events';
|
|
31
|
-
export interface ClientTransportOptions {
|
|
32
|
-
command: string;
|
|
33
|
-
args?: string[];
|
|
34
|
-
env?: Record<string, string>;
|
|
35
|
-
cwd?: string;
|
|
36
|
-
handshakeTimeoutMs?: number;
|
|
37
|
-
}
|
|
38
|
-
export interface ACPChildProcess extends EventEmitter {
|
|
39
|
-
stdout: NodeJS.ReadableStream;
|
|
40
|
-
stdin: NodeJS.WritableStream;
|
|
41
|
-
stderr: NodeJS.ReadableStream;
|
|
42
|
-
pid: number | undefined;
|
|
43
|
-
kill(): void;
|
|
44
|
-
}
|
|
45
|
-
export declare class ClientTransport {
|
|
46
|
-
private child;
|
|
47
|
-
private buffer;
|
|
48
|
-
private readonly handlers;
|
|
49
|
-
private closed;
|
|
50
|
-
private resolveRead;
|
|
51
|
-
private messageQueue;
|
|
52
|
-
private readonly opts;
|
|
53
|
-
constructor(options: ClientTransportOptions);
|
|
54
|
-
start(): Promise<void>;
|
|
55
|
-
send(msg: ACPMessage): Promise<void>;
|
|
56
|
-
read(): Promise<ACPMessage | null>;
|
|
57
|
-
onMessage(handler: (msg: ACPMessage) => void): () => void;
|
|
58
|
-
stop(): void;
|
|
59
|
-
private onChildData;
|
|
60
|
-
private onChildError;
|
|
61
|
-
private onChildClose;
|
|
62
|
-
private dispatch;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=stdio-transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stdio-transport.d.ts","sourceRoot":"","sources":["../../src/agent/stdio-transport.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,IAAI,CAAC;IACd,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3D;AAED,qBAAa,cAAe,YAAW,oBAAoB;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,YAAY,CAAoB;;IAUxC,iBAAiB,IAAI,IAAI;IAIzB,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQlC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAKzD,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,OAAO;CAIhB;AAOD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CACI;gBAEb,OAAO,EAAE,sBAAsB;IAOrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmD5B,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpC,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQlC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAKzD,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,QAAQ;CAgBjB"}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StdioTransport — bidirectional stdin/stdout communication for ACP.
|
|
3
|
-
*
|
|
4
|
-
* ACP uses newline-delimited JSON-RPC 2.0 messages over stdio:
|
|
5
|
-
* client → agent: JSON-RPC request/notification on stdin
|
|
6
|
-
* agent → client: JSON-RPC response/notification on stdout
|
|
7
|
-
*
|
|
8
|
-
* Start message: clients look for the `[wstack-acp]` marker on stdout before
|
|
9
|
-
* treating subsequent lines as protocol messages.
|
|
10
|
-
*/
|
|
11
|
-
import { buildChildEnv } from '@wrongstack/core';
|
|
12
|
-
export class StdioTransport {
|
|
13
|
-
stdin = process.stdin;
|
|
14
|
-
stdout = process.stdout;
|
|
15
|
-
stderr = process.stderr;
|
|
16
|
-
buffer = '';
|
|
17
|
-
handlers = new Set();
|
|
18
|
-
closed = false;
|
|
19
|
-
resolveRead = null;
|
|
20
|
-
messageQueue = [];
|
|
21
|
-
constructor() {
|
|
22
|
-
this.stdin.resume();
|
|
23
|
-
this.stdin.setEncoding('utf8');
|
|
24
|
-
this.stdin.on('data', (chunk) => this.onData(chunk));
|
|
25
|
-
this.stdin.on('end', () => this.handleClose());
|
|
26
|
-
this.stdin.on('error', (err) => this.failAll(err));
|
|
27
|
-
}
|
|
28
|
-
sendStartupMarker() {
|
|
29
|
-
this.stdout.write('[wstack-acp]\n', 'utf8');
|
|
30
|
-
}
|
|
31
|
-
send(msg) {
|
|
32
|
-
if (this.closed)
|
|
33
|
-
return Promise.resolve();
|
|
34
|
-
return new Promise((resolve) => {
|
|
35
|
-
const line = JSON.stringify(msg) + '\n';
|
|
36
|
-
this.stdout.write(line, 'utf8', () => resolve());
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
sendRaw(chunk) {
|
|
40
|
-
this.stdout.write(chunk, 'utf8');
|
|
41
|
-
}
|
|
42
|
-
read() {
|
|
43
|
-
if (this.messageQueue.length > 0)
|
|
44
|
-
return Promise.resolve(this.messageQueue.shift());
|
|
45
|
-
if (this.closed)
|
|
46
|
-
return Promise.resolve(null);
|
|
47
|
-
return new Promise((resolve) => {
|
|
48
|
-
this.resolveRead = resolve;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
onMessage(handler) {
|
|
52
|
-
this.handlers.add(handler);
|
|
53
|
-
return () => this.handlers.delete(handler);
|
|
54
|
-
}
|
|
55
|
-
close() {
|
|
56
|
-
this.closed = true;
|
|
57
|
-
this.stdin.pause();
|
|
58
|
-
this.resolveRead?.(null);
|
|
59
|
-
this.resolveRead = null;
|
|
60
|
-
}
|
|
61
|
-
onData(chunk) {
|
|
62
|
-
this.buffer += chunk;
|
|
63
|
-
const lines = this.buffer.split('\n');
|
|
64
|
-
this.buffer = lines.pop() ?? '';
|
|
65
|
-
for (const raw of lines) {
|
|
66
|
-
if (!raw.trim())
|
|
67
|
-
continue;
|
|
68
|
-
try {
|
|
69
|
-
this.dispatch(JSON.parse(raw));
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
this.stderr.write(`[wstack-acp parse error] ${err}\n`, 'utf8');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
dispatch(msg) {
|
|
77
|
-
if (this.resolveRead) {
|
|
78
|
-
const resolve = this.resolveRead;
|
|
79
|
-
this.resolveRead = null;
|
|
80
|
-
resolve(msg);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
this.messageQueue.push(msg);
|
|
84
|
-
}
|
|
85
|
-
for (const handler of this.handlers) {
|
|
86
|
-
try {
|
|
87
|
-
handler(msg);
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
this.stderr.write(`[wstack-acp handler error] ${err}\n`, 'utf8');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
handleClose() {
|
|
95
|
-
this.closed = true;
|
|
96
|
-
this.resolveRead?.(null);
|
|
97
|
-
this.resolveRead = null;
|
|
98
|
-
}
|
|
99
|
-
failAll(err) {
|
|
100
|
-
this.stderr.write(`[wstack-acp stdin error] ${err.message}\n`, 'utf8');
|
|
101
|
-
this.close();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// ---------------------------------------------------------------------------
|
|
105
|
-
// ClientTransport — spawns a child ACP agent process (DIR-1)
|
|
106
|
-
// ---------------------------------------------------------------------------
|
|
107
|
-
import { spawn } from 'node:child_process';
|
|
108
|
-
export class ClientTransport {
|
|
109
|
-
child = null;
|
|
110
|
-
buffer = '';
|
|
111
|
-
handlers = new Set();
|
|
112
|
-
closed = false;
|
|
113
|
-
resolveRead = null;
|
|
114
|
-
messageQueue = [];
|
|
115
|
-
opts;
|
|
116
|
-
constructor(options) {
|
|
117
|
-
this.opts = {
|
|
118
|
-
handshakeTimeoutMs: 30_000,
|
|
119
|
-
...options,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
async start() {
|
|
123
|
-
if (this.child)
|
|
124
|
-
return;
|
|
125
|
-
return new Promise((resolve, reject) => {
|
|
126
|
-
const timeout = setTimeout(() => {
|
|
127
|
-
reject(new Error(`ACP child process failed to start within ${this.opts.handshakeTimeoutMs}ms`));
|
|
128
|
-
}, this.opts.handshakeTimeoutMs);
|
|
129
|
-
try {
|
|
130
|
-
this.child = spawn(this.opts.command, this.opts.args ?? [], {
|
|
131
|
-
env: { ...buildChildEnv(), ...this.opts.env },
|
|
132
|
-
cwd: this.opts.cwd,
|
|
133
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
clearTimeout(timeout);
|
|
138
|
-
reject(err);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const child = this.child;
|
|
142
|
-
child.stdout.setEncoding('utf8');
|
|
143
|
-
const waitForMarker = (chunk) => {
|
|
144
|
-
this.buffer += chunk;
|
|
145
|
-
const idx = this.buffer.indexOf('[wstack-acp]\n');
|
|
146
|
-
if (idx !== -1) {
|
|
147
|
-
this.buffer = this.buffer.slice(idx + '[wstack-acp]\n'.length);
|
|
148
|
-
child.stdout.removeListener('data', waitForMarker);
|
|
149
|
-
child.stdout.on('data', (c) => this.onChildData(c));
|
|
150
|
-
child.stderr.on('data', (c) => this.onChildError(c));
|
|
151
|
-
child.on('close', (code) => this.onChildClose(code));
|
|
152
|
-
clearTimeout(timeout);
|
|
153
|
-
resolve();
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
child.stdout.on('data', waitForMarker);
|
|
157
|
-
child.stdout.on('error', (err) => {
|
|
158
|
-
clearTimeout(timeout);
|
|
159
|
-
reject(err);
|
|
160
|
-
});
|
|
161
|
-
child.on('error', (err) => {
|
|
162
|
-
clearTimeout(timeout);
|
|
163
|
-
reject(err);
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
send(msg) {
|
|
168
|
-
if (!this.child)
|
|
169
|
-
return Promise.reject(new Error('ClientTransport not started'));
|
|
170
|
-
return new Promise((resolve, reject) => {
|
|
171
|
-
const line = JSON.stringify(msg) + '\n';
|
|
172
|
-
this.child.stdin.write(line, 'utf8', (err) => {
|
|
173
|
-
if (err)
|
|
174
|
-
reject(err);
|
|
175
|
-
else
|
|
176
|
-
resolve();
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
read() {
|
|
181
|
-
if (this.messageQueue.length > 0)
|
|
182
|
-
return Promise.resolve(this.messageQueue.shift());
|
|
183
|
-
if (this.closed)
|
|
184
|
-
return Promise.resolve(null);
|
|
185
|
-
return new Promise((resolve) => {
|
|
186
|
-
this.resolveRead = resolve;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
onMessage(handler) {
|
|
190
|
-
this.handlers.add(handler);
|
|
191
|
-
return () => this.handlers.delete(handler);
|
|
192
|
-
}
|
|
193
|
-
stop() {
|
|
194
|
-
if (!this.child)
|
|
195
|
-
return;
|
|
196
|
-
this.closed = true;
|
|
197
|
-
try {
|
|
198
|
-
this.child.kill();
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
// already dead
|
|
202
|
-
}
|
|
203
|
-
this.child = null;
|
|
204
|
-
}
|
|
205
|
-
onChildData(chunk) {
|
|
206
|
-
this.buffer += chunk;
|
|
207
|
-
const lines = this.buffer.split('\n');
|
|
208
|
-
this.buffer = lines.pop() ?? '';
|
|
209
|
-
for (const raw of lines) {
|
|
210
|
-
if (!raw.trim())
|
|
211
|
-
continue;
|
|
212
|
-
try {
|
|
213
|
-
this.dispatch(JSON.parse(raw));
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
// skip malformed
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
onChildError(chunk) {
|
|
221
|
-
process.stderr.write(`[acp-child stderr] ${chunk}`, 'utf8');
|
|
222
|
-
}
|
|
223
|
-
onChildClose(code) {
|
|
224
|
-
this.closed = true;
|
|
225
|
-
this.resolveRead?.(null);
|
|
226
|
-
this.resolveRead = null;
|
|
227
|
-
if (code !== 0 && code !== null) {
|
|
228
|
-
process.stderr.write(`[acp-child exited with code ${code}]\n`, 'utf8');
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
dispatch(msg) {
|
|
232
|
-
if (this.resolveRead) {
|
|
233
|
-
const resolve = this.resolveRead;
|
|
234
|
-
this.resolveRead = null;
|
|
235
|
-
resolve(msg);
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
this.messageQueue.push(msg);
|
|
239
|
-
}
|
|
240
|
-
for (const handler of this.handlers) {
|
|
241
|
-
try {
|
|
242
|
-
handler(msg);
|
|
243
|
-
}
|
|
244
|
-
catch {
|
|
245
|
-
// non-fatal
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
//# sourceMappingURL=stdio-transport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stdio-transport.js","sourceRoot":"","sources":["../../src/agent/stdio-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tools registry for ACP agent-side.
|
|
3
|
-
*
|
|
4
|
-
* Translates WrongStack Tool definitions → ACP ACPToolDefinition format.
|
|
5
|
-
* Provides tool lookup and result assembly for the ACP protocol handler.
|
|
6
|
-
*/
|
|
7
|
-
import type { Tool } from '@wrongstack/core';
|
|
8
|
-
import type { ACPToolList, ACPToolResult } from '../types/acp-messages.js';
|
|
9
|
-
export declare class ACPToolsRegistry {
|
|
10
|
-
private tools;
|
|
11
|
-
private readonly owner;
|
|
12
|
-
constructor(owner?: string);
|
|
13
|
-
/**
|
|
14
|
-
* Register one or more tools.
|
|
15
|
-
* Throws on duplicate name unless force=true.
|
|
16
|
-
*/
|
|
17
|
-
register(tools: Tool[]): void;
|
|
18
|
-
/**
|
|
19
|
-
* Replace the current tool set.
|
|
20
|
-
*/
|
|
21
|
-
setTools(tools: Tool[]): void;
|
|
22
|
-
get(name: string): Tool | undefined;
|
|
23
|
-
has(name: string): boolean;
|
|
24
|
-
list(): Tool[];
|
|
25
|
-
/** Build the ACP tools/list payload from registered tools. */
|
|
26
|
-
buildToolList(): ACPToolList;
|
|
27
|
-
/**
|
|
28
|
-
* Execute a tool by name and return ACP-formatted result.
|
|
29
|
-
* Returns null if the tool is not found.
|
|
30
|
-
*/
|
|
31
|
-
execute(name: string, args: Record<string, unknown>, ctx: unknown, signal: AbortSignal): Promise<ACPToolResult | null>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=tools-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools-registry.d.ts","sourceRoot":"","sources":["../../src/agent/tools-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAEV,WAAW,EAEX,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAElC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,SAAe;IAIhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAM7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAK7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,EAAE;IAId,8DAA8D;IAC9D,aAAa,IAAI,WAAW;IAQ5B;;;OAGG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAcjC"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
export class ACPToolsRegistry {
|
|
2
|
-
tools = new Map();
|
|
3
|
-
owner;
|
|
4
|
-
constructor(owner = 'wrongstack') {
|
|
5
|
-
this.owner = owner;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Register one or more tools.
|
|
9
|
-
* Throws on duplicate name unless force=true.
|
|
10
|
-
*/
|
|
11
|
-
register(tools) {
|
|
12
|
-
for (const tool of tools) {
|
|
13
|
-
this.tools.set(tool.name, tool);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Replace the current tool set.
|
|
18
|
-
*/
|
|
19
|
-
setTools(tools) {
|
|
20
|
-
this.tools.clear();
|
|
21
|
-
for (const tool of tools)
|
|
22
|
-
this.tools.set(tool.name, tool);
|
|
23
|
-
}
|
|
24
|
-
get(name) {
|
|
25
|
-
return this.tools.get(name);
|
|
26
|
-
}
|
|
27
|
-
has(name) {
|
|
28
|
-
return this.tools.has(name);
|
|
29
|
-
}
|
|
30
|
-
list() {
|
|
31
|
-
return Array.from(this.tools.values());
|
|
32
|
-
}
|
|
33
|
-
/** Build the ACP tools/list payload from registered tools. */
|
|
34
|
-
buildToolList() {
|
|
35
|
-
return {
|
|
36
|
-
tools: Array.from(this.tools.values()).map((t) => toACPToolDefinition(t, this.owner)),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Execute a tool by name and return ACP-formatted result.
|
|
41
|
-
* Returns null if the tool is not found.
|
|
42
|
-
*/
|
|
43
|
-
async execute(name, args, ctx, signal) {
|
|
44
|
-
const tool = this.tools.get(name);
|
|
45
|
-
if (!tool)
|
|
46
|
-
return null;
|
|
47
|
-
try {
|
|
48
|
-
const result = await tool.execute(args, ctx, {
|
|
49
|
-
signal,
|
|
50
|
-
});
|
|
51
|
-
return toACPToolResult(result);
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
55
|
-
return { content: [{ type: 'text', text: msg }], isError: true };
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/** Convert a WrongStack Tool → ACP ACPToolDefinition */
|
|
60
|
-
function toACPToolDefinition(tool, _owner) {
|
|
61
|
-
return {
|
|
62
|
-
name: tool.name,
|
|
63
|
-
description: tool.description,
|
|
64
|
-
inputSchema: toACPInputSchema(tool.inputSchema),
|
|
65
|
-
annotations: {
|
|
66
|
-
title: tool.name,
|
|
67
|
-
description: tool.usageHint ?? tool.description,
|
|
68
|
-
priority: toolToPriority(tool),
|
|
69
|
-
alwaysAccept: tool.permission === 'auto',
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
/** Minimal JSON Schema → ACP input schema. ACP uses JSON Schema draft-07. */
|
|
74
|
-
function toACPInputSchema(src) {
|
|
75
|
-
if (!src || typeof src !== 'object') {
|
|
76
|
-
return {};
|
|
77
|
-
}
|
|
78
|
-
const s = src;
|
|
79
|
-
// Recursively convert properties
|
|
80
|
-
if (s.properties && typeof s.properties === 'object') {
|
|
81
|
-
const props = {};
|
|
82
|
-
for (const [k, v] of Object.entries(s.properties)) {
|
|
83
|
-
props[k] = toACPInputSchema(v);
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
type: typeof s.type === 'string' ? s.type : undefined,
|
|
87
|
-
properties: props,
|
|
88
|
-
required: Array.isArray(s.required) ? s.required : undefined,
|
|
89
|
-
items: s.items ? toACPInputSchema(s.items) : undefined,
|
|
90
|
-
enum: Array.isArray(s.enum) ? s.enum : undefined,
|
|
91
|
-
description: typeof s.description === 'string' ? s.description : undefined,
|
|
92
|
-
default: s.default,
|
|
93
|
-
minimum: typeof s.minimum === 'number' ? s.minimum : undefined,
|
|
94
|
-
maximum: typeof s.maximum === 'number' ? s.maximum : undefined,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
type: typeof s.type === 'string' ? s.type : undefined,
|
|
99
|
-
items: s.items ? toACPInputSchema(s.items) : undefined,
|
|
100
|
-
enum: Array.isArray(s.enum) ? s.enum : undefined,
|
|
101
|
-
description: typeof s.description === 'string' ? s.description : undefined,
|
|
102
|
-
default: s.default,
|
|
103
|
-
minimum: typeof s.minimum === 'number' ? s.minimum : undefined,
|
|
104
|
-
maximum: typeof s.maximum === 'number' ? s.maximum : undefined,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/** Convert a WrongStack ToolResult → ACP ContentBlock[] */
|
|
108
|
-
function toACPToolResult(result) {
|
|
109
|
-
const blocks = [];
|
|
110
|
-
if (result === undefined || result === null) {
|
|
111
|
-
return { content: [{ type: 'text', text: 'ok' }] };
|
|
112
|
-
}
|
|
113
|
-
if (typeof result === 'string') {
|
|
114
|
-
blocks.push({ type: 'text', text: result });
|
|
115
|
-
}
|
|
116
|
-
else if (typeof result === 'object') {
|
|
117
|
-
blocks.push({ type: 'text', text: JSON.stringify(result, null, 2) });
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
blocks.push({ type: 'text', text: String(result) });
|
|
121
|
-
}
|
|
122
|
-
return { content: blocks };
|
|
123
|
-
}
|
|
124
|
-
function toolToPriority(tool) {
|
|
125
|
-
if (tool.riskTier === 'destructive')
|
|
126
|
-
return 'high';
|
|
127
|
-
if (tool.riskTier === 'standard' || tool.permission === 'confirm')
|
|
128
|
-
return 'medium';
|
|
129
|
-
return 'low';
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=tools-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools-registry.js","sourceRoot":"","sources":["../../src/agent/tools-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { Tool } from '@wrongstack/core';
|
|
2
|
-
export interface WrongStackACPServerOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Initial tool set. Typically loaded from the WrongStack tool registry
|
|
5
|
-
* via `api.tools.list()` so the ACP server exposes exactly the tools the
|
|
6
|
-
* CLI has configured.
|
|
7
|
-
*/
|
|
8
|
-
tools: Tool[];
|
|
9
|
-
/**
|
|
10
|
-
* Owner label for tool metadata. Passed to ACPToolsRegistry.
|
|
11
|
-
* @default 'wrongstack'
|
|
12
|
-
*/
|
|
13
|
-
owner?: string;
|
|
14
|
-
}
|
|
15
|
-
export declare class WrongStackACPServer {
|
|
16
|
-
private readonly transport;
|
|
17
|
-
private readonly registry;
|
|
18
|
-
private readonly handler;
|
|
19
|
-
private running;
|
|
20
|
-
constructor(opts: WrongStackACPServerOptions);
|
|
21
|
-
/**
|
|
22
|
-
* Start the server. Blocks until the client disconnects.
|
|
23
|
-
*
|
|
24
|
-
* 1. Send the startup marker `[wstack-acp]` so the client
|
|
25
|
-
* knows which stdout line is the protocol boundary.
|
|
26
|
-
* 2. Loop: read messages, dispatch to handler, until EOF or error.
|
|
27
|
-
*/
|
|
28
|
-
start(): Promise<void>;
|
|
29
|
-
/** Stop the server. */
|
|
30
|
-
stop(): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=wrongstack-acp-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrongstack-acp-agent.d.ts","sourceRoot":"","sources":["../../src/agent/wrongstack-acp-agent.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,0BAA0B;IAW5C;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,uBAAuB;IACvB,IAAI,IAAI,IAAI;CAIb"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WrongStackACPServer — ACP server-side entry point.
|
|
3
|
-
*
|
|
4
|
-
* Exposes WrongStack as an ACP-compatible agent. ACP clients (Zed, JetBrains,
|
|
5
|
-
* VS Code ACP extension) spawn this as a subprocess, send JSON-RPC messages
|
|
6
|
-
* over stdio, and receive tool responses.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* node dist/agent/wrongstack-acp-agent.js
|
|
10
|
-
*
|
|
11
|
-
* Or via the CLI:
|
|
12
|
-
* wstack acp-server
|
|
13
|
-
*
|
|
14
|
-
* Startup: sends `[wstack-acp]\n` to stdout so the client knows which process
|
|
15
|
-
* is the ACP server before protocol messages begin.
|
|
16
|
-
*/
|
|
17
|
-
import { fileURLToPath } from 'node:url';
|
|
18
|
-
import { StdioTransport } from './stdio-transport.js';
|
|
19
|
-
import { ACPToolsRegistry } from './tools-registry.js';
|
|
20
|
-
import { ACPProtocolHandler } from './protocol-handler.js';
|
|
21
|
-
export class WrongStackACPServer {
|
|
22
|
-
transport;
|
|
23
|
-
registry;
|
|
24
|
-
handler;
|
|
25
|
-
running = false;
|
|
26
|
-
constructor(opts) {
|
|
27
|
-
this.transport = new StdioTransport();
|
|
28
|
-
this.registry = new ACPToolsRegistry(opts.owner);
|
|
29
|
-
this.registry.register(opts.tools);
|
|
30
|
-
this.handler = new ACPProtocolHandler(this.transport, this.registry,
|
|
31
|
-
/* TODO: load WrongStack Context */ {});
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Start the server. Blocks until the client disconnects.
|
|
35
|
-
*
|
|
36
|
-
* 1. Send the startup marker `[wstack-acp]` so the client
|
|
37
|
-
* knows which stdout line is the protocol boundary.
|
|
38
|
-
* 2. Loop: read messages, dispatch to handler, until EOF or error.
|
|
39
|
-
*/
|
|
40
|
-
async start() {
|
|
41
|
-
this.transport.sendStartupMarker();
|
|
42
|
-
this.running = true;
|
|
43
|
-
// Handle messages via callback + read loop hybrid
|
|
44
|
-
this.transport.onMessage((msg) => {
|
|
45
|
-
void this.handler.handleMessage(msg); // fire-and-forget; ordering is per-message
|
|
46
|
-
});
|
|
47
|
-
while (this.running) {
|
|
48
|
-
const msg = await this.transport.read();
|
|
49
|
-
if (!msg)
|
|
50
|
-
break; // EOF
|
|
51
|
-
const terminal = await this.handler.handleMessage(msg);
|
|
52
|
-
if (terminal)
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
this.transport.close();
|
|
56
|
-
}
|
|
57
|
-
/** Stop the server. */
|
|
58
|
-
stop() {
|
|
59
|
-
this.running = false;
|
|
60
|
-
this.transport.close();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Bootstrap function for `node dist/agent/wrongstack-acp-agent.js`.
|
|
65
|
-
* Instantiates the server with the default tool set.
|
|
66
|
-
*
|
|
67
|
-
* Tool loading: the ACP agent is a subprocess without the full CLI context,
|
|
68
|
-
* so it needs to receive its tools from the parent via environment or a
|
|
69
|
-
* pre-main bootstrap. For now, it uses an empty tool set unless tools are
|
|
70
|
-
* explicitly passed via constructor options.
|
|
71
|
-
*
|
|
72
|
-
* In practice the CLI will instantiate and run WrongStackACPServer directly,
|
|
73
|
-
* passing `api.tools.list()` as the tool set.
|
|
74
|
-
*/
|
|
75
|
-
async function main() {
|
|
76
|
-
const server = new WrongStackACPServer({ tools: [] });
|
|
77
|
-
await server.start();
|
|
78
|
-
}
|
|
79
|
-
// Only auto-start when this file is the process entrypoint (e.g.
|
|
80
|
-
// `node dist/agent/wrongstack-acp-agent.js`). Importing the module — which the
|
|
81
|
-
// CLI does to reuse `WrongStackACPServer` — must stay side-effect-free, or
|
|
82
|
-
// every launch would start an ACP server and hijack stdin.
|
|
83
|
-
const isEntrypoint = process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1];
|
|
84
|
-
if (isEntrypoint) {
|
|
85
|
-
main().catch((err) => {
|
|
86
|
-
process.stderr.write(`[wstack-acp fatal] ${err}\n`);
|
|
87
|
-
process.exit(1);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=wrongstack-acp-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrongstack-acp-agent.js","sourceRoot":"","sources":["../../src/agent/wrongstack-acp-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAiBzD,MAAM,OAAO,mBAAmB;IACb,SAAS,CAAiB;IAC1B,QAAQ,CAAmB;IAC3B,OAAO,CAAqB;IACrC,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CACnC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ;QACb,mCAAmC,CAAC,EAAE,CACvC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,kDAAkD;QAClD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,2CAA2C;QACnF,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG;gBAAE,MAAM,CAAC,MAAM;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,QAAQ;gBAAE,MAAM;QACtB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;IACpD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,iEAAiE;AACjE,+EAA+E;AAC/E,2EAA2E;AAC3E,2DAA2D;AAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzG,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/client/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { ClientTransport } from '../agent/stdio-transport.js';
|
|
2
|
-
export type { ClientTransportOptions, ACPChildProcess } from '../agent/stdio-transport.js';
|
|
3
|
-
export { ToolTranslator } from './tool-translator.js';
|
|
4
|
-
export { makeACPSubagentRunner } from '../integration/acp-subagent-runner.js';
|
|
5
|
-
export type { ACPSubagentRunnerOptions } from '../integration/acp-subagent-runner.js';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAC,sBAAsB,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,uCAAuC,CAAC;AAC5E,YAAY,EAAC,wBAAwB,EAAC,MAAM,uCAAuC,CAAC"}
|
package/dist/client/index.js
DELETED
package/dist/client/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,uCAAuC,CAAC"}
|