@thinkwell/acp 0.5.4 → 0.5.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGpB,KAAK,mBAAmB,EAKxB,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EAMV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,KAAK,SAAS,GAAG,MAAM,IAAI,CAAC;AAE5B;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,YAAY,CAAkB;gBAGpC,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,oBAAoB,EAChC,UAAU,EAAE,iBAAiB;IAO/B;;OAEG;IACH,IAAI,UAAU,IAAI,iBAAiB,CAElC;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB7D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAS7E;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAIlE;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAe5D,OAAO,CAAC,oBAAoB;IAmC5B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AA2DD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAWxE;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,cAAc,CAAC,CA6CzB;AAoCD;;GAEG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAElE;AAGD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGpB,KAAK,mBAAmB,EAKxB,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,SAAS,EAMV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoBlD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,KAAK,SAAS,GAAG,MAAM,IAAI,CAAC;AAE5B;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,YAAY,CAAkB;gBAGpC,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,oBAAoB,EAChC,UAAU,EAAE,iBAAiB;IAO/B;;OAEG;IACH,IAAI,UAAU,IAAI,iBAAiB,CAElC;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB7D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAS7E;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAIlE;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAe5D,OAAO,CAAC,oBAAoB;IAsC5B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AA+DD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAWxE;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,cAAc,CAAC,CA6CzB;AAoCD;;GAEG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAElE;AAGD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,282 +1,203 @@
1
- import { ClientSideConnection, } from "@agentclientprotocol/sdk";
2
- import { Conductor, fromCommands, createChannelPair, } from "@thinkwell/conductor";
1
+ import { ClientSideConnection } from "@agentclientprotocol/sdk";
2
+ import { features } from "./generated/features.js";
3
+ import { appendFileSync } from "node:fs";
4
+ import { join } from "node:path";
5
+ import { Conductor, fromCommands, createChannelPair } from "@thinkwell/conductor";
3
6
  import { McpOverAcpHandler } from "./mcp-over-acp-handler.js";
4
- /**
5
- * Connection to the SACP conductor via the ACP SDK.
6
- *
7
- * This class wraps the official @agentclientprotocol/sdk's ClientSideConnection
8
- * and adds SACP-specific functionality (MCP-over-ACP handling).
9
- *
10
- * Supports two modes:
11
- * - Subprocess mode: spawns a conductor as a child process
12
- * - In-process mode: runs the conductor in the same process
13
- */
7
+ function logPermission(request, response) {
8
+ const logDir = process.env.THINKWELL_LOG_DIR ?? process.cwd(), logPath = join(logDir, "permissions.ndjson"), record = {
9
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
10
+ request,
11
+ response
12
+ };
13
+ appendFileSync(logPath, JSON.stringify(record) + `
14
+ `);
15
+ }
14
16
  export class SacpConnection {
15
- _cleanup;
16
- _connection;
17
- _mcpHandler;
18
- _sessionHandlers = new Map();
19
- _initialized = false;
20
- constructor(cleanup, connection, mcpHandler) {
21
- this._cleanup = cleanup;
22
- this._connection = connection;
23
- this._mcpHandler = mcpHandler;
24
- }
25
- /**
26
- * Get the MCP handler for registering servers
27
- */
28
- get mcpHandler() {
29
- return this._mcpHandler;
30
- }
31
- /**
32
- * Initialize the connection (negotiate protocol version and capabilities)
33
- */
34
- async initialize() {
35
- if (this._initialized)
36
- return;
37
- await this._connection.initialize({
38
- protocolVersion: 1,
39
- clientCapabilities: {},
40
- });
41
- this._initialized = true;
42
- }
43
- /**
44
- * Create a new session
45
- */
46
- async createSession(options) {
47
- await this.initialize();
48
- // Convert our McpServerConfig to the SDK's McpServer type
49
- const mcpServers = (options.mcpServers ?? []).map((s) => ({
50
- type: "http",
51
- name: s.name,
52
- url: s.url,
53
- headers: [],
54
- }));
55
- const request = {
56
- cwd: options.cwd ?? process.cwd(),
57
- mcpServers,
58
- };
59
- const response = await this._connection.newSession(request);
60
- return response.sessionId;
17
+ _cleanup;
18
+ _connection;
19
+ _mcpHandler;
20
+ _sessionHandlers = /* @__PURE__ */ new Map();
21
+ _initialized = !1;
22
+ constructor(cleanup, connection, mcpHandler) {
23
+ this._cleanup = cleanup, this._connection = connection, this._mcpHandler = mcpHandler;
24
+ }
25
+ /**
26
+ * Get the MCP handler for registering servers
27
+ */
28
+ get mcpHandler() {
29
+ return this._mcpHandler;
30
+ }
31
+ /**
32
+ * Initialize the connection (negotiate protocol version and capabilities)
33
+ */
34
+ async initialize() {
35
+ this._initialized || (await this._connection.initialize({
36
+ protocolVersion: 1,
37
+ clientCapabilities: {}
38
+ }), this._initialized = !0);
39
+ }
40
+ /**
41
+ * Create a new session
42
+ */
43
+ async createSession(options) {
44
+ await this.initialize();
45
+ const mcpServers = (options.mcpServers ?? []).map((s) => ({
46
+ type: "http",
47
+ name: s.name,
48
+ url: s.url,
49
+ headers: []
50
+ })), request = {
51
+ cwd: options.cwd ?? process.cwd(),
52
+ mcpServers
53
+ };
54
+ return (await this._connection.newSession(request)).sessionId;
55
+ }
56
+ /**
57
+ * Send a prompt to an existing session
58
+ */
59
+ async sendPrompt(sessionId, content) {
60
+ const request = {
61
+ sessionId,
62
+ prompt: [{ type: "text", text: content }]
63
+ };
64
+ return this._connection.prompt(request);
65
+ }
66
+ /**
67
+ * Set the handler for session updates
68
+ */
69
+ setSessionHandler(sessionId, handler) {
70
+ this._sessionHandlers.set(sessionId, handler);
71
+ }
72
+ /**
73
+ * Remove the handler for session updates
74
+ */
75
+ removeSessionHandler(sessionId) {
76
+ this._sessionHandlers.delete(sessionId);
77
+ }
78
+ /**
79
+ * Handle a session update notification from the agent
80
+ */
81
+ handleSessionUpdate(notification) {
82
+ const { sessionId } = notification, handler = this._sessionHandlers.get(sessionId);
83
+ if (!handler) {
84
+ console.error(`No handler for session: ${sessionId}`);
85
+ return;
61
86
  }
62
- /**
63
- * Send a prompt to an existing session
64
- */
65
- async sendPrompt(sessionId, content) {
66
- const request = {
67
- sessionId,
68
- prompt: [{ type: "text", text: content }],
87
+ const update = this._convertNotification(notification);
88
+ update && handler.pushUpdate(update);
89
+ }
90
+ _convertNotification(notification) {
91
+ const { update } = notification;
92
+ switch (update.sessionUpdate) {
93
+ case "agent_message_chunk":
94
+ case "user_message_chunk":
95
+ case "agent_thought_chunk": {
96
+ const content = update.content;
97
+ if (content.type === "text")
98
+ return { type: "text", content: content.text };
99
+ break;
100
+ }
101
+ case "tool_call":
102
+ return {
103
+ type: "tool_use",
104
+ id: update.toolCallId,
105
+ name: update.title,
106
+ input: update.rawInput ?? {}
69
107
  };
70
- return this._connection.prompt(request);
71
- }
72
- /**
73
- * Set the handler for session updates
74
- */
75
- setSessionHandler(sessionId, handler) {
76
- this._sessionHandlers.set(sessionId, handler);
77
- }
78
- /**
79
- * Remove the handler for session updates
80
- */
81
- removeSessionHandler(sessionId) {
82
- this._sessionHandlers.delete(sessionId);
83
- }
84
- /**
85
- * Handle a session update notification from the agent
86
- */
87
- handleSessionUpdate(notification) {
88
- const { sessionId } = notification;
89
- const handler = this._sessionHandlers.get(sessionId);
90
- if (!handler) {
91
- console.error(`No handler for session: ${sessionId}`);
92
- return;
93
- }
94
- // Convert ACP notification to our SessionUpdate type
95
- const update = this._convertNotification(notification);
96
- if (update) {
97
- handler.pushUpdate(update);
98
- }
99
- }
100
- _convertNotification(notification) {
101
- const { update } = notification;
102
- // Use the sessionUpdate discriminator to determine type
103
- switch (update.sessionUpdate) {
104
- case "agent_message_chunk":
105
- case "user_message_chunk":
106
- case "agent_thought_chunk": {
107
- const content = update.content;
108
- if (content.type === "text") {
109
- return { type: "text", content: content.text };
110
- }
111
- break;
112
- }
113
- case "tool_call": {
114
- return {
115
- type: "tool_use",
116
- id: update.toolCallId,
117
- name: update.title,
118
- input: update.rawInput ?? {},
119
- };
120
- }
121
- case "plan":
122
- case "tool_call_update":
123
- case "available_commands_update":
124
- case "current_mode_update":
125
- // These are informational updates we don't need to handle
126
- break;
127
- }
128
- return null;
129
- }
130
- /**
131
- * Close the connection
132
- */
133
- close() {
134
- this._cleanup();
108
+ case "plan":
109
+ case "tool_call_update":
110
+ case "available_commands_update":
111
+ case "current_mode_update":
112
+ case "config_option_update":
113
+ case "session_info_update":
114
+ case "usage_update":
115
+ break;
135
116
  }
117
+ return null;
118
+ }
119
+ /**
120
+ * Close the connection
121
+ */
122
+ close() {
123
+ this._cleanup();
124
+ }
136
125
  }
137
- /**
138
- * Create a Client implementation that handles incoming agent requests
139
- */
140
126
  function createClient(connectionHolder, mcpHandler) {
141
- return {
142
- // Required: Handle session updates from the agent
143
- sessionUpdate(notification) {
144
- if (!connectionHolder.connection) {
145
- console.error("Connection not yet initialized, dropping session update");
146
- return Promise.resolve();
147
- }
148
- connectionHolder.connection.handleSessionUpdate(notification);
149
- return Promise.resolve();
150
- },
151
- // Required: Handle permission requests
152
- requestPermission(request) {
153
- // For now, auto-approve by selecting the first option
154
- // In a real client, this would prompt the user
155
- const firstOption = request.options[0];
156
- return Promise.resolve({
157
- outcome: {
158
- outcome: "selected",
159
- optionId: firstOption?.optionId ?? "approve",
160
- },
161
- });
162
- },
163
- // Extension method handler for _mcp/* requests
164
- async extMethod(method, params) {
165
- if (mcpHandler.isMcpRequest(method)) {
166
- const result = await mcpHandler.routeRequest(method, params);
167
- return result ?? {};
168
- }
169
- throw new Error(`Unknown extension method: ${method}`);
170
- },
171
- // Extension notification handler
172
- async extNotification(method, params) {
173
- if (mcpHandler.isMcpRequest(method)) {
174
- await mcpHandler.routeRequest(method, params);
175
- }
176
- },
177
- };
127
+ return {
128
+ // Required: Handle session updates from the agent
129
+ sessionUpdate(notification) {
130
+ return connectionHolder.connection ? (connectionHolder.connection.handleSessionUpdate(notification), Promise.resolve()) : (console.error("Connection not yet initialized, dropping session update"), Promise.resolve());
131
+ },
132
+ // Required: Handle permission requests
133
+ requestPermission(request) {
134
+ const response = {
135
+ outcome: {
136
+ outcome: "selected",
137
+ optionId: request.options[0]?.optionId ?? "approve"
138
+ }
139
+ };
140
+ return features.LOG_PERMISSIONS && logPermission(request, response), Promise.resolve(response);
141
+ },
142
+ // Extension method handler for _mcp/* requests
143
+ async extMethod(method, params) {
144
+ if (mcpHandler.isMcpRequest(method))
145
+ return await mcpHandler.routeRequest(method, params) ?? {};
146
+ throw new Error(`Unknown extension method: ${method}`);
147
+ },
148
+ // Extension notification handler
149
+ async extNotification(method, params) {
150
+ mcpHandler.isMcpRequest(method) && await mcpHandler.routeRequest(method, params);
151
+ }
152
+ };
178
153
  }
179
- /**
180
- * Connect to an agent via the TypeScript conductor.
181
- *
182
- * This creates an in-process conductor that spawns the specified agent command
183
- * as a subprocess and routes ACP messages through it.
184
- *
185
- * @param command - The agent command to run (e.g., ["claude-code-agent"])
186
- * @returns A SacpConnection for communicating with the agent
187
- */
188
154
  export async function connect(command) {
189
- if (command.length === 0) {
190
- throw new Error("Agent command cannot be empty");
191
- }
192
- // Create a conductor that spawns the agent as a subprocess
193
- const conductor = new Conductor({
194
- instantiator: fromCommands(command),
195
- });
196
- return connectToConductor(conductor);
155
+ if (command.length === 0)
156
+ throw new Error("Agent command cannot be empty");
157
+ const conductor = new Conductor({
158
+ instantiator: fromCommands(command)
159
+ });
160
+ return connectToConductor(conductor);
197
161
  }
198
- /**
199
- * Connect to an in-process conductor.
200
- *
201
- * This runs the conductor in the same process, avoiding subprocess overhead.
202
- * The conductor will manage components (proxies and agent) according to its
203
- * configured instantiator.
204
- *
205
- * @param conductor - The configured Conductor instance to connect to
206
- * @returns A SacpConnection wrapping the in-process conductor
207
- */
208
162
  export async function connectToConductor(conductor) {
209
- // Create an in-memory channel pair for client conductor communication
210
- const pair = createChannelPair();
211
- // Create a Stream adapter from the ComponentConnection
212
- const stream = componentConnectionToStream(pair.left);
213
- // Create the MCP handler
214
- const mcpHandler = new McpOverAcpHandler();
215
- // Use a holder object to break the circular reference
216
- const connectionHolder = { connection: null };
217
- // Create the ACP client connection
218
- const clientConnection = new ClientSideConnection((_agent) => createClient(connectionHolder, mcpHandler), stream);
219
- // Create a connector that provides the other end of the channel
220
- const clientConnector = {
221
- async connect() {
222
- return pair.right;
223
- },
224
- };
225
- // Start the conductor's message loop in the background
226
- const conductorPromise = conductor.connect(clientConnector);
227
- // Handle conductor errors/completion
228
- conductorPromise.catch((error) => {
229
- console.error("Conductor error:", error);
163
+ const pair = createChannelPair(), stream = componentConnectionToStream(pair.left), mcpHandler = new McpOverAcpHandler(), connectionHolder = { connection: null }, clientConnection = new ClientSideConnection((_agent) => createClient(connectionHolder, mcpHandler), stream), clientConnector = {
164
+ async connect() {
165
+ return pair.right;
166
+ }
167
+ };
168
+ conductor.connect(clientConnector).catch((error) => {
169
+ console.error("Conductor error:", error);
170
+ });
171
+ const cleanup = () => {
172
+ conductor.shutdown().catch((error) => {
173
+ console.error("Conductor shutdown error:", error);
230
174
  });
231
- // Cleanup shuts down the conductor
232
- const cleanup = () => {
233
- conductor.shutdown().catch((error) => {
234
- console.error("Conductor shutdown error:", error);
235
- });
236
- };
237
- const sacpConnection = new SacpConnection(cleanup, clientConnection, mcpHandler);
238
- connectionHolder.connection = sacpConnection;
239
- return sacpConnection;
175
+ }, sacpConnection = new SacpConnection(cleanup, clientConnection, mcpHandler);
176
+ return connectionHolder.connection = sacpConnection, sacpConnection;
240
177
  }
241
- /**
242
- * Convert a ComponentConnection to the SDK's Stream interface.
243
- *
244
- * The SDK expects Web Streams of AnyMessage objects, while the conductor
245
- * uses a simpler send/messages interface.
246
- */
247
178
  function componentConnectionToStream(connection) {
248
- // Create a ReadableStream from the async iterable
249
- const readable = new ReadableStream({
250
- async start(controller) {
251
- try {
252
- for await (const message of connection.messages) {
253
- controller.enqueue(message);
254
- }
255
- controller.close();
256
- }
257
- catch (error) {
258
- controller.error(error);
259
- }
260
- },
261
- });
262
- // Create a WritableStream that sends to the connection
263
- const writable = new WritableStream({
264
- write(message) {
265
- connection.send(message);
266
- },
267
- close() {
268
- connection.close();
269
- },
270
- });
271
- return { readable, writable };
179
+ const readable = new ReadableStream({
180
+ async start(controller) {
181
+ try {
182
+ for await (const message of connection.messages)
183
+ controller.enqueue(message);
184
+ controller.close();
185
+ } catch (error) {
186
+ controller.error(error);
187
+ }
188
+ }
189
+ }), writable = new WritableStream({
190
+ write(message) {
191
+ connection.send(message);
192
+ },
193
+ close() {
194
+ connection.close();
195
+ }
196
+ });
197
+ return { readable, writable };
272
198
  }
273
- /**
274
- * Create a session builder for this connection
275
- */
276
199
  export function session(connection) {
277
- return new SessionBuilder(connection, connection.mcpHandler);
200
+ return new SessionBuilder(connection, connection.mcpHandler);
278
201
  }
279
- // Re-export for convenience
280
202
  import { SessionBuilder } from "./session.js";
281
203
  export { SessionBuilder };
282
- //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const features: {
2
+ readonly LOG_PERMISSIONS: false;
3
+ readonly STRIP_CLAUDECODE_ENV: false;
4
+ };
5
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/generated/features.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ;;;CAGX,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const features = {
2
+ LOG_PERMISSIONS: !1,
3
+ STRIP_CLAUDECODE_ENV: !1
4
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/generated/features.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,KAAK;CACnB,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,6 @@
1
- // MCP Server
2
1
  export { McpServer, McpServerBuilder, mcpServer } from "./mcp-server.js";
3
- // MCP-over-ACP Handler
4
2
  export { McpOverAcpHandler } from "./mcp-over-acp-handler.js";
5
- // Session
6
3
  export { ActiveSession, SessionBuilder } from "./session.js";
7
- // Connection
8
4
  export { SacpConnection, connect, connectToConductor } from "./connection.js";
9
- // Skills
10
5
  export { parseSkillMd, validateSkillName, validateSkillDescription } from "./skill.js";
11
- // Skill MCP Server
12
6
  export { createSkillServer } from "./skill-server.js";
13
- //# sourceMappingURL=index.js.map
package/dist/json.js CHANGED
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=json.js.map
@@ -4,12 +4,9 @@ import type { McpConnectResponse } from "./types.js";
4
4
  * Handler for MCP-over-ACP protocol messages.
5
5
  *
6
6
  * This class manages the lifecycle of MCP connections tunneled through ACP:
7
- * - mcp/connect: Establishes a new MCP connection
8
- * - mcp/message: Routes MCP requests to the appropriate server
9
- * - mcp/disconnect: Tears down an MCP connection
10
- *
11
- * Note: The ACP SDK strips the underscore prefix from extension methods,
12
- * so we receive "mcp/connect" even though the wire format is "_mcp/connect".
7
+ * - _mcp/connect: Establishes a new MCP connection
8
+ * - _mcp/message: Routes MCP requests to the appropriate server
9
+ * - _mcp/disconnect: Tears down an MCP connection
13
10
  */
14
11
  export declare class McpOverAcpHandler {
15
12
  /** Maps acp:uuid URLs to registered MCP servers */
@@ -65,12 +62,10 @@ export declare class McpOverAcpHandler {
65
62
  handleDisconnect(params: Record<string, unknown>): void;
66
63
  /**
67
64
  * Check if this is an MCP-over-ACP request.
68
- * Note: The ACP SDK strips the underscore prefix, so we check for "mcp/".
69
65
  */
70
66
  isMcpRequest(method: string): boolean;
71
67
  /**
72
68
  * Route an MCP-over-ACP request to the appropriate handler.
73
- * Note: Methods arrive without the underscore prefix (e.g., "mcp/connect" not "_mcp/connect").
74
69
  */
75
70
  routeRequest(method: string, params: Record<string, unknown>): Promise<unknown>;
76
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-over-acp-handler.d.ts","sourceRoot":"","sources":["../src/mcp-over-acp-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAEV,kBAAkB,EAInB,MAAM,YAAY,CAAC;AAmBpB;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAc;IAChC,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+C;IAExF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAInC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB;IAuClE;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBtE;;;;;;;;;OASG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKvD;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIrC;;;OAGG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CAapB"}
1
+ {"version":3,"file":"mcp-over-acp-handler.d.ts","sourceRoot":"","sources":["../src/mcp-over-acp-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAEV,kBAAkB,EAInB,MAAM,YAAY,CAAC;AAmBpB;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAc;IAChC,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+C;IAExF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAInC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB;IAuClE;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBtE;;;;;;;;;OASG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/E;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKvD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CAapB"}