acp-factory 0.0.1

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.
@@ -0,0 +1,99 @@
1
+ /**
2
+ * ACPClientHandler - Implements acp.Client interface
3
+ */
4
+ import type * as acp from "@agentclientprotocol/sdk";
5
+ import type { ClientHandlers, PermissionMode, ExtendedSessionUpdate } from "./types.js";
6
+ /**
7
+ * A pushable async iterable for bridging push-based and async-iterator-based code.
8
+ * Used to stream session updates to consumers.
9
+ */
10
+ export declare class Pushable<T> implements AsyncIterable<T> {
11
+ private queue;
12
+ private resolvers;
13
+ private done;
14
+ /** Push an item to the queue */
15
+ push(item: T): void;
16
+ /** Signal that no more items will be pushed */
17
+ end(): void;
18
+ /** Check if the pushable has ended */
19
+ isDone(): boolean;
20
+ [Symbol.asyncIterator](): AsyncIterator<T>;
21
+ }
22
+ /**
23
+ * Implements the ACP Client interface, bridging agent requests to callbacks
24
+ */
25
+ export declare class ACPClientHandler implements acp.Client {
26
+ private handlers;
27
+ private permissionMode;
28
+ /** Per-session update streams */
29
+ private sessionStreams;
30
+ /** Pending permission requests awaiting user response (interactive mode) */
31
+ private pendingPermissions;
32
+ /** Counter for generating unique permission request IDs */
33
+ private permissionRequestCounter;
34
+ constructor(handlers?: ClientHandlers, permissionMode?: PermissionMode);
35
+ /**
36
+ * Get or create a pushable stream for a session
37
+ */
38
+ getSessionStream(sessionId: string): Pushable<ExtendedSessionUpdate>;
39
+ /**
40
+ * End a session's update stream
41
+ */
42
+ endSessionStream(sessionId: string): void;
43
+ /**
44
+ * Respond to a pending permission request (for interactive mode)
45
+ * @param requestId - The permission request ID from the PermissionRequestUpdate
46
+ * @param optionId - The optionId of the selected option
47
+ */
48
+ respondToPermission(requestId: string, optionId: string): void;
49
+ /**
50
+ * Cancel a pending permission request (for interactive mode)
51
+ * @param requestId - The permission request ID from the PermissionRequestUpdate
52
+ */
53
+ cancelPermission(requestId: string): void;
54
+ /**
55
+ * Check if there are any pending permission requests
56
+ */
57
+ hasPendingPermissions(): boolean;
58
+ /**
59
+ * Get all pending permission request IDs for a session
60
+ */
61
+ getPendingPermissionIds(sessionId: string): string[];
62
+ /**
63
+ * Handle permission requests from the agent
64
+ */
65
+ requestPermission(params: acp.RequestPermissionRequest): Promise<acp.RequestPermissionResponse>;
66
+ /**
67
+ * Handle session updates from the agent
68
+ */
69
+ sessionUpdate(params: acp.SessionNotification): Promise<void>;
70
+ /**
71
+ * Handle file read requests
72
+ */
73
+ readTextFile(params: acp.ReadTextFileRequest): Promise<acp.ReadTextFileResponse>;
74
+ /**
75
+ * Handle file write requests
76
+ */
77
+ writeTextFile(params: acp.WriteTextFileRequest): Promise<acp.WriteTextFileResponse>;
78
+ /**
79
+ * Handle terminal creation requests
80
+ */
81
+ createTerminal(params: acp.CreateTerminalRequest): Promise<acp.CreateTerminalResponse>;
82
+ /**
83
+ * Handle terminal output requests
84
+ */
85
+ terminalOutput(params: acp.TerminalOutputRequest): Promise<acp.TerminalOutputResponse>;
86
+ /**
87
+ * Handle terminal kill requests
88
+ */
89
+ killTerminal(params: acp.KillTerminalCommandRequest): Promise<acp.KillTerminalCommandResponse>;
90
+ /**
91
+ * Handle terminal release requests
92
+ */
93
+ releaseTerminal(params: acp.ReleaseTerminalRequest): Promise<acp.ReleaseTerminalResponse>;
94
+ /**
95
+ * Handle terminal wait for exit requests
96
+ */
97
+ waitForTerminalExit(params: acp.WaitForTerminalExitRequest): Promise<acp.WaitForTerminalExitResponse>;
98
+ }
99
+ //# sourceMappingURL=client-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-handler.d.ts","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,IAAI,CAAS;IAErB,gCAAgC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB,+CAA+C;IAC/C,GAAG,IAAI,IAAI;IAQX,sCAAsC;IACtC,MAAM,IAAI,OAAO;IAIjB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAgB3C;AAWD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,GAAG,CAAC,MAAM;IACjD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAA2D;IAEjF,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,2DAA2D;IAC3D,OAAO,CAAC,wBAAwB,CAAK;gBAGnC,QAAQ,GAAE,cAAmB,EAC7B,cAAc,GAAE,cAA+B;IAMjD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IASpE;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOzC;;;;OAIG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe9D;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAczC;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAUpD;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,GAAG,CAAC,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAqFzC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAiBpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,GAAG,CAAC,oBAAoB,GAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAiBrC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,GAAG,CAAC,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAStC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,GAAG,CAAC,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAUtC;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,GAAG,CAAC,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAU3C;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,GAAG,CAAC,sBAAsB,GACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAUvC;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,GAAG,CAAC,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;CAS5C"}
@@ -0,0 +1,311 @@
1
+ /**
2
+ * ACPClientHandler - Implements acp.Client interface
3
+ */
4
+ import * as fs from "node:fs/promises";
5
+ /**
6
+ * A pushable async iterable for bridging push-based and async-iterator-based code.
7
+ * Used to stream session updates to consumers.
8
+ */
9
+ export class Pushable {
10
+ queue = [];
11
+ resolvers = [];
12
+ done = false;
13
+ /** Push an item to the queue */
14
+ push(item) {
15
+ if (this.done)
16
+ return;
17
+ if (this.resolvers.length > 0) {
18
+ const resolve = this.resolvers.shift();
19
+ resolve({ value: item, done: false });
20
+ }
21
+ else {
22
+ this.queue.push(item);
23
+ }
24
+ }
25
+ /** Signal that no more items will be pushed */
26
+ end() {
27
+ this.done = true;
28
+ while (this.resolvers.length > 0) {
29
+ const resolve = this.resolvers.shift();
30
+ resolve({ value: undefined, done: true });
31
+ }
32
+ }
33
+ /** Check if the pushable has ended */
34
+ isDone() {
35
+ return this.done;
36
+ }
37
+ [Symbol.asyncIterator]() {
38
+ return {
39
+ next: () => {
40
+ if (this.queue.length > 0) {
41
+ const value = this.queue.shift();
42
+ return Promise.resolve({ value, done: false });
43
+ }
44
+ if (this.done) {
45
+ return Promise.resolve({ value: undefined, done: true });
46
+ }
47
+ return new Promise((resolve) => {
48
+ this.resolvers.push(resolve);
49
+ });
50
+ },
51
+ };
52
+ }
53
+ }
54
+ /**
55
+ * Implements the ACP Client interface, bridging agent requests to callbacks
56
+ */
57
+ export class ACPClientHandler {
58
+ handlers;
59
+ permissionMode;
60
+ /** Per-session update streams */
61
+ sessionStreams = new Map();
62
+ /** Pending permission requests awaiting user response (interactive mode) */
63
+ pendingPermissions = new Map();
64
+ /** Counter for generating unique permission request IDs */
65
+ permissionRequestCounter = 0;
66
+ constructor(handlers = {}, permissionMode = "auto-approve") {
67
+ this.handlers = handlers;
68
+ this.permissionMode = permissionMode;
69
+ }
70
+ /**
71
+ * Get or create a pushable stream for a session
72
+ */
73
+ getSessionStream(sessionId) {
74
+ let stream = this.sessionStreams.get(sessionId);
75
+ if (!stream) {
76
+ stream = new Pushable();
77
+ this.sessionStreams.set(sessionId, stream);
78
+ }
79
+ return stream;
80
+ }
81
+ /**
82
+ * End a session's update stream
83
+ */
84
+ endSessionStream(sessionId) {
85
+ const stream = this.sessionStreams.get(sessionId);
86
+ if (stream) {
87
+ stream.end();
88
+ }
89
+ }
90
+ /**
91
+ * Respond to a pending permission request (for interactive mode)
92
+ * @param requestId - The permission request ID from the PermissionRequestUpdate
93
+ * @param optionId - The optionId of the selected option
94
+ */
95
+ respondToPermission(requestId, optionId) {
96
+ const pending = this.pendingPermissions.get(requestId);
97
+ if (!pending) {
98
+ throw new Error(`No pending permission request with ID: ${requestId}`);
99
+ }
100
+ this.pendingPermissions.delete(requestId);
101
+ pending.resolve({
102
+ outcome: {
103
+ outcome: "selected",
104
+ optionId,
105
+ },
106
+ });
107
+ }
108
+ /**
109
+ * Cancel a pending permission request (for interactive mode)
110
+ * @param requestId - The permission request ID from the PermissionRequestUpdate
111
+ */
112
+ cancelPermission(requestId) {
113
+ const pending = this.pendingPermissions.get(requestId);
114
+ if (!pending) {
115
+ throw new Error(`No pending permission request with ID: ${requestId}`);
116
+ }
117
+ this.pendingPermissions.delete(requestId);
118
+ pending.resolve({
119
+ outcome: {
120
+ outcome: "cancelled",
121
+ },
122
+ });
123
+ }
124
+ /**
125
+ * Check if there are any pending permission requests
126
+ */
127
+ hasPendingPermissions() {
128
+ return this.pendingPermissions.size > 0;
129
+ }
130
+ /**
131
+ * Get all pending permission request IDs for a session
132
+ */
133
+ getPendingPermissionIds(sessionId) {
134
+ const ids = [];
135
+ for (const [id, pending] of this.pendingPermissions) {
136
+ if (pending.sessionId === sessionId) {
137
+ ids.push(id);
138
+ }
139
+ }
140
+ return ids;
141
+ }
142
+ /**
143
+ * Handle permission requests from the agent
144
+ */
145
+ async requestPermission(params) {
146
+ // If callback mode and handler provided, delegate to it
147
+ if (this.permissionMode === "callback" && this.handlers.onPermissionRequest) {
148
+ return this.handlers.onPermissionRequest(params);
149
+ }
150
+ // Find appropriate option based on mode
151
+ const options = params.options;
152
+ if (this.permissionMode === "auto-approve") {
153
+ // Look for allow_once or allow_always option
154
+ const allowOption = options.find((opt) => opt.kind === "allow_once" || opt.kind === "allow_always");
155
+ if (allowOption) {
156
+ return {
157
+ outcome: {
158
+ outcome: "selected",
159
+ optionId: allowOption.optionId,
160
+ },
161
+ };
162
+ }
163
+ }
164
+ if (this.permissionMode === "auto-deny") {
165
+ // Look for reject_once or reject_always option
166
+ const denyOption = options.find((opt) => opt.kind === "reject_once" || opt.kind === "reject_always");
167
+ if (denyOption) {
168
+ return {
169
+ outcome: {
170
+ outcome: "selected",
171
+ optionId: denyOption.optionId,
172
+ },
173
+ };
174
+ }
175
+ }
176
+ // Interactive mode: emit permission request as session update and wait for response
177
+ if (this.permissionMode === "interactive") {
178
+ const requestId = `perm-${++this.permissionRequestCounter}`;
179
+ // Create the permission request update
180
+ const permissionUpdate = {
181
+ sessionUpdate: "permission_request",
182
+ requestId,
183
+ sessionId: params.sessionId,
184
+ toolCall: {
185
+ toolCallId: params.toolCall.toolCallId,
186
+ title: params.toolCall.title ?? "Unknown",
187
+ status: params.toolCall.status ?? "pending",
188
+ rawInput: params.toolCall.rawInput,
189
+ },
190
+ options: params.options,
191
+ };
192
+ // Emit to session stream
193
+ const stream = this.getSessionStream(params.sessionId);
194
+ stream.push(permissionUpdate);
195
+ // Create deferred promise and wait for response
196
+ return new Promise((resolve, reject) => {
197
+ this.pendingPermissions.set(requestId, {
198
+ resolve,
199
+ reject,
200
+ sessionId: params.sessionId,
201
+ });
202
+ });
203
+ }
204
+ // Fallback: if we have a handler, use it; otherwise pick first option
205
+ if (this.handlers.onPermissionRequest) {
206
+ return this.handlers.onPermissionRequest(params);
207
+ }
208
+ // Last resort: return first option
209
+ return {
210
+ outcome: {
211
+ outcome: "selected",
212
+ optionId: options[0].optionId,
213
+ },
214
+ };
215
+ }
216
+ /**
217
+ * Handle session updates from the agent
218
+ */
219
+ async sessionUpdate(params) {
220
+ const stream = this.getSessionStream(params.sessionId);
221
+ stream.push(params.update);
222
+ }
223
+ /**
224
+ * Handle file read requests
225
+ */
226
+ async readTextFile(params) {
227
+ // Use custom handler if provided
228
+ if (this.handlers.onFileRead) {
229
+ const content = await this.handlers.onFileRead(params.path);
230
+ return { content };
231
+ }
232
+ // Default: read from filesystem
233
+ try {
234
+ const content = await fs.readFile(params.path, "utf-8");
235
+ return { content };
236
+ }
237
+ catch (error) {
238
+ const message = error instanceof Error ? error.message : String(error);
239
+ throw new Error(`Failed to read file ${params.path}: ${message}`);
240
+ }
241
+ }
242
+ /**
243
+ * Handle file write requests
244
+ */
245
+ async writeTextFile(params) {
246
+ // Use custom handler if provided
247
+ if (this.handlers.onFileWrite) {
248
+ await this.handlers.onFileWrite(params.path, params.content);
249
+ return {};
250
+ }
251
+ // Default: write to filesystem
252
+ try {
253
+ await fs.writeFile(params.path, params.content, "utf-8");
254
+ return {};
255
+ }
256
+ catch (error) {
257
+ const message = error instanceof Error ? error.message : String(error);
258
+ throw new Error(`Failed to write file ${params.path}: ${message}`);
259
+ }
260
+ }
261
+ /**
262
+ * Handle terminal creation requests
263
+ */
264
+ async createTerminal(params) {
265
+ if (!this.handlers.onTerminalCreate) {
266
+ throw new Error("Terminal operations not supported: no onTerminalCreate handler provided");
267
+ }
268
+ return this.handlers.onTerminalCreate(params);
269
+ }
270
+ /**
271
+ * Handle terminal output requests
272
+ */
273
+ async terminalOutput(params) {
274
+ if (!this.handlers.onTerminalOutput) {
275
+ throw new Error("Terminal operations not supported: no onTerminalOutput handler provided");
276
+ }
277
+ const output = await this.handlers.onTerminalOutput(params.terminalId);
278
+ return { output, truncated: false };
279
+ }
280
+ /**
281
+ * Handle terminal kill requests
282
+ */
283
+ async killTerminal(params) {
284
+ if (!this.handlers.onTerminalKill) {
285
+ throw new Error("Terminal operations not supported: no onTerminalKill handler provided");
286
+ }
287
+ await this.handlers.onTerminalKill(params.terminalId);
288
+ return {};
289
+ }
290
+ /**
291
+ * Handle terminal release requests
292
+ */
293
+ async releaseTerminal(params) {
294
+ if (!this.handlers.onTerminalRelease) {
295
+ throw new Error("Terminal operations not supported: no onTerminalRelease handler provided");
296
+ }
297
+ await this.handlers.onTerminalRelease(params.terminalId);
298
+ return {};
299
+ }
300
+ /**
301
+ * Handle terminal wait for exit requests
302
+ */
303
+ async waitForTerminalExit(params) {
304
+ if (!this.handlers.onTerminalWaitForExit) {
305
+ throw new Error("Terminal operations not supported: no onTerminalWaitForExit handler provided");
306
+ }
307
+ const exitCode = await this.handlers.onTerminalWaitForExit(params.terminalId);
308
+ return { exitCode };
309
+ }
310
+ }
311
+ //# sourceMappingURL=client-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-handler.js","sourceRoot":"","sources":["../src/client-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * AgentFactory - Registry and spawner for agent types
3
+ */
4
+ import type { AgentConfig, SpawnOptions } from "./types.js";
5
+ import { AgentHandle } from "./agent-handle.js";
6
+ /**
7
+ * Factory for spawning and managing agents
8
+ */
9
+ export declare class AgentFactory {
10
+ private static registry;
11
+ /**
12
+ * Register an agent configuration
13
+ */
14
+ static register(name: string, config: AgentConfig): void;
15
+ /**
16
+ * Get a registered agent configuration
17
+ */
18
+ static getConfig(name: string): AgentConfig | undefined;
19
+ /**
20
+ * List all registered agent names
21
+ */
22
+ static listAgents(): string[];
23
+ /**
24
+ * Spawn an agent by name
25
+ */
26
+ static spawn(name: string, options?: SpawnOptions): Promise<AgentHandle>;
27
+ }
28
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAO9D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAIxD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;IAI7B;;OAEG;WACU,KAAK,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC;CAcxB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * AgentFactory - Registry and spawner for agent types
3
+ */
4
+ import { AgentHandle } from "./agent-handle.js";
5
+ // Import default providers
6
+ import { claudeCodeConfig } from "./providers/claude-code.js";
7
+ /**
8
+ * Factory for spawning and managing agents
9
+ */
10
+ export class AgentFactory {
11
+ static registry = new Map();
12
+ // Static initialization - register default providers
13
+ static {
14
+ AgentFactory.register("claude-code", claudeCodeConfig);
15
+ }
16
+ /**
17
+ * Register an agent configuration
18
+ */
19
+ static register(name, config) {
20
+ AgentFactory.registry.set(name, config);
21
+ }
22
+ /**
23
+ * Get a registered agent configuration
24
+ */
25
+ static getConfig(name) {
26
+ return AgentFactory.registry.get(name);
27
+ }
28
+ /**
29
+ * List all registered agent names
30
+ */
31
+ static listAgents() {
32
+ return Array.from(AgentFactory.registry.keys());
33
+ }
34
+ /**
35
+ * Spawn an agent by name
36
+ */
37
+ static async spawn(name, options = {}) {
38
+ const config = AgentFactory.registry.get(name);
39
+ if (!config) {
40
+ throw new Error(`Unknown agent type: ${name}. Available: ${AgentFactory.listAgents().join(", ")}`);
41
+ }
42
+ // Merge environment variables
43
+ const env = { ...config.env, ...options.env };
44
+ const mergedConfig = { ...config, env };
45
+ return AgentHandle.create(mergedConfig, options);
46
+ }
47
+ }
48
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAE9D,qDAAqD;IACrD;QACE,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,MAAmB;QAC/C,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,IAAY,EACZ,UAAwB,EAAE;QAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,gBAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAgB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC;QAErD,OAAO,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * acp-factory - A library for spawning and managing agents through ACP
3
+ */
4
+ export { AgentFactory } from "./factory.js";
5
+ export { AgentHandle } from "./agent-handle.js";
6
+ export { Session } from "./session.js";
7
+ export { Pushable } from "./client-handler.js";
8
+ export type { AgentConfig, SpawnOptions, SessionOptions, PermissionMode, ClientHandlers, PromptContent, } from "./types.js";
9
+ export type { SessionUpdate, ContentBlock, TextContent, ImageContent, ResourceLink, AgentCapabilities, StopReason, } from "./types.js";
10
+ export type { ToolCall, ToolCallUpdate, ToolCallStatus, ToolCallContent, ToolCallLocation, } from "./types.js";
11
+ export type { RequestPermissionRequest, RequestPermissionResponse, PermissionOption, } from "./types.js";
12
+ export type { PermissionRequestUpdate, ExtendedSessionUpdate, } from "./types.js";
13
+ export type { CreateTerminalRequest, CreateTerminalResponse, TerminalOutputRequest, TerminalOutputResponse, } from "./types.js";
14
+ export type { McpServer, McpServerStdio, McpServerHttp, McpServerSse, } from "./types.js";
15
+ export type { NewSessionResponse, PromptResponse, InitializeRequest, InitializeResponse, } from "./types.js";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,YAAY,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * acp-factory - A library for spawning and managing agents through ACP
3
+ */
4
+ // Core exports
5
+ export { AgentFactory } from "./factory.js";
6
+ export { AgentHandle } from "./agent-handle.js";
7
+ export { Session } from "./session.js";
8
+ export { Pushable } from "./client-handler.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Claude Code agent configuration
3
+ */
4
+ import type { AgentConfig } from "../types.js";
5
+ /**
6
+ * Default configuration for Claude Code agent via claude-code-acp
7
+ */
8
+ export declare const claudeCodeConfig: AgentConfig;
9
+ //# sourceMappingURL=claude-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Claude Code agent configuration
3
+ */
4
+ /**
5
+ * Default configuration for Claude Code agent via claude-code-acp
6
+ */
7
+ export const claudeCodeConfig = {
8
+ command: "npx",
9
+ args: ["@zed-industries/claude-code-acp"],
10
+ env: {},
11
+ };
12
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,iCAAiC,CAAC;IACzC,GAAG,EAAE,EAAE;CACR,CAAC"}