@wrongstack/acp 0.10.2 → 0.24.0

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 (48) hide show
  1. package/dist/agent.d.ts +92 -0
  2. package/dist/agent.js +420 -0
  3. package/dist/agent.js.map +1 -0
  4. package/dist/client.d.ts +4 -0
  5. package/dist/client.js +315 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/{client/tool-translator.d.ts → index-CncECXiF.d.ts} +41 -17
  8. package/dist/index.d.ts +5 -24
  9. package/dist/index.js +841 -21
  10. package/dist/index.js.map +1 -1
  11. package/dist/stdio-transport-DqWq-2iP.d.ts +198 -0
  12. package/package.json +7 -7
  13. package/dist/agent/index.d.ts +0 -7
  14. package/dist/agent/index.d.ts.map +0 -1
  15. package/dist/agent/index.js +0 -5
  16. package/dist/agent/index.js.map +0 -1
  17. package/dist/agent/protocol-handler.d.ts +0 -39
  18. package/dist/agent/protocol-handler.d.ts.map +0 -1
  19. package/dist/agent/protocol-handler.js +0 -142
  20. package/dist/agent/protocol-handler.js.map +0 -1
  21. package/dist/agent/stdio-transport.d.ts +0 -64
  22. package/dist/agent/stdio-transport.d.ts.map +0 -1
  23. package/dist/agent/stdio-transport.js +0 -250
  24. package/dist/agent/stdio-transport.js.map +0 -1
  25. package/dist/agent/tools-registry.d.ts +0 -33
  26. package/dist/agent/tools-registry.d.ts.map +0 -1
  27. package/dist/agent/tools-registry.js +0 -131
  28. package/dist/agent/tools-registry.js.map +0 -1
  29. package/dist/agent/wrongstack-acp-agent.d.ts +0 -32
  30. package/dist/agent/wrongstack-acp-agent.d.ts.map +0 -1
  31. package/dist/agent/wrongstack-acp-agent.js +0 -90
  32. package/dist/agent/wrongstack-acp-agent.js.map +0 -1
  33. package/dist/client/index.d.ts +0 -6
  34. package/dist/client/index.d.ts.map +0 -1
  35. package/dist/client/index.js +0 -4
  36. package/dist/client/index.js.map +0 -1
  37. package/dist/client/tool-translator.d.ts.map +0 -1
  38. package/dist/client/tool-translator.js +0 -112
  39. package/dist/client/tool-translator.js.map +0 -1
  40. package/dist/index.d.ts.map +0 -1
  41. package/dist/integration/acp-subagent-runner.d.ts +0 -34
  42. package/dist/integration/acp-subagent-runner.d.ts.map +0 -1
  43. package/dist/integration/acp-subagent-runner.js +0 -218
  44. package/dist/integration/acp-subagent-runner.js.map +0 -1
  45. package/dist/types/acp-messages.d.ts +0 -133
  46. package/dist/types/acp-messages.d.ts.map +0 -1
  47. package/dist/types/acp-messages.js +0 -2
  48. package/dist/types/acp-messages.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-translator.d.ts","sourceRoot":"","sources":["../../src/client/tool-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAC,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAC/G,OAAO,KAAK,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG/E;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAWrE;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,QAAQ,CAMX;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,mBAAmB,GAC5B,UAAU,CAkBZ;AAED,iFAAiF;AACjF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAInB;gBAEO,IAAI,GAAE,qBAA0B;IAI5C;;;OAGG;IACH,iBAAiB,CACf,SAAS,EAAE;QAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAC,GAC7G,IAAI;IAuBP;;;;OAIG;IACG,QAAQ,CACZ,SAAS,EAAE;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAC,EACrD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,GAAE,MAAM,GAAG,MAA4B,GAC5C,OAAO,CAAC,mBAAmB,CAAC;IAiB/B,SAAS,IAAI,IAAI;CAMlB"}
@@ -1,112 +0,0 @@
1
- const DEFAULT_OPTIONS = {
2
- asyncTools: true,
3
- pollIntervalMs: 500,
4
- totalTimeoutMs: 120_000,
5
- };
6
- /** Convert an ACP ACPToolDefinition → a JSON schema object recognisable by WrongStack */
7
- export function acpToolToSchema(def) {
8
- if (!def.inputSchema)
9
- return { type: 'object', properties: {} };
10
- return def.inputSchema;
11
- }
12
- /** Extract tool result text from ACP ContentBlock[] */
13
- export function extractTextFromContent(blocks) {
14
- const parts = [];
15
- for (const b of blocks) {
16
- if (b.type === 'text')
17
- parts.push(b.text);
18
- else if (b.type === 'resource')
19
- parts.push(`[resource: ${b.resource.uri}]`);
20
- else if (b.type === 'image')
21
- parts.push(`[image: ${b.data.slice(0, 20)}...]`);
22
- else if (b.type === 'progress') {
23
- if (b.messages?.length)
24
- parts.push(b.messages.join('\n'));
25
- }
26
- }
27
- return parts.join('\n');
28
- }
29
- /** Build a TaskSpec from an ACP task payload */
30
- export function buildTaskSpec(payload) {
31
- return {
32
- id: payload.taskId,
33
- description: payload.task,
34
- subagentId: payload.subagentId,
35
- };
36
- }
37
- /** Parse an ACP tools/call response → TaskResult */
38
- export function parseToolResponse(taskId, subagentId, response) {
39
- const blocks = response.result.content;
40
- const text = extractTextFromContent(blocks);
41
- // Detect error state from isError flag or error-like text
42
- const isError = response.result.isError || text.toLowerCase().includes('error') ||
43
- text.toLowerCase().includes('failed');
44
- return {
45
- taskId,
46
- subagentId,
47
- status: isError ? 'failed' : 'success',
48
- result: text,
49
- iterations: 1,
50
- toolCalls: 1,
51
- durationMs: 0,
52
- };
53
- }
54
- /** ToolTranslator for DIR-1 — wraps ACP client transport, adds task semantics */
55
- export class ToolTranslator {
56
- opts;
57
- pending = new Map();
58
- constructor(opts = {}) {
59
- this.opts = { ...DEFAULT_OPTIONS, ...opts };
60
- }
61
- /**
62
- * Start listening to a transport for tool responses and cancellations.
63
- * Call this once after constructing the translator and before sending tasks.
64
- */
65
- attachToTransport(transport) {
66
- transport.onMessage((msg) => {
67
- if (msg.method === 'tools/call' && msg.id !== undefined) {
68
- const pending = this.pending.get(msg.id);
69
- if (pending) {
70
- clearTimeout(pending.timeout);
71
- this.pending.delete(msg.id);
72
- pending.resolve(msg);
73
- }
74
- }
75
- // Handle cancellation notifications
76
- if (msg.method === 'cancel' && msg.id !== undefined) {
77
- const pending = this.pending.get(msg.id);
78
- if (pending) {
79
- clearTimeout(pending.timeout);
80
- this.pending.delete(msg.id);
81
- pending.reject(new Error('Call cancelled by client'));
82
- }
83
- }
84
- });
85
- }
86
- /**
87
- * Send a tool call over the transport and wait for a response.
88
- * If asyncTools is true, polls for progress and resolves when the final
89
- * response arrives.
90
- */
91
- async callTool(transport, name, args, callId = crypto.randomUUID()) {
92
- await transport.send({
93
- method: 'tools/call',
94
- id: callId,
95
- params: { name, arguments: args },
96
- });
97
- return new Promise((resolve, reject) => {
98
- const timeout = setTimeout(() => {
99
- this.pending.delete(callId);
100
- reject(new Error(`Tool call ${name} timed out after ${this.opts.totalTimeoutMs}ms`));
101
- }, this.opts.totalTimeoutMs);
102
- this.pending.set(callId, { resolve, reject, timeout });
103
- });
104
- }
105
- cancelAll() {
106
- for (const [, p] of this.pending) {
107
- clearTimeout(p.timeout);
108
- }
109
- this.pending.clear();
110
- }
111
- }
112
- //# sourceMappingURL=tool-translator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-translator.js","sourceRoot":"","sources":["../../src/client/tool-translator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAGhF,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAC,sBAAsB,EAAE,eAAe,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAC,qBAAqB,EAAE,6BAA6B,EAAC,MAAM,sCAAsC,CAAC;AAC1G,YAAY,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAGxE,cAAc,yBAAyB,CAAC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * ACPSubagentRunner — SubagentRunner implementation for DIR-1.
3
- *
4
- * Wraps an external ACP agent (Cline, Gemini CLI, Codex CLI, Copilot, etc.)
5
- * as a WrongStack subagent. The external agent runs its own agent loop;
6
- * we send it a task via ACP and return the result.
7
- *
8
- * Connected to Director / MultiAgentCoordinator via the SubagentRunner
9
- * interface (same as AgentSubagentRunner).
10
- */
11
- import type { SubagentRunner } from '@wrongstack/core';
12
- import type { ToolTranslatorOptions } from '../client/tool-translator.js';
13
- export interface ACPSubagentRunnerOptions {
14
- /** ACP agent command or npm package (e.g. 'npx', 'gemini', 'gh') */
15
- command: string;
16
- args?: string[];
17
- env?: Record<string, string>;
18
- cwd?: string;
19
- /** Subagent role — used for protocol negotiation and prompt overrides */
20
- role?: string;
21
- toolTranslatorOpts?: ToolTranslatorOptions;
22
- }
23
- /** Map WrongStack ACP agent role → how to spawn it. */
24
- export declare const ACP_AGENT_COMMANDS: Record<string, ACPSubagentRunnerOptions>;
25
- /**
26
- * Build an ACPSubagentRunner for a given role, or a generic one from explicit options.
27
- */
28
- export declare function makeACPSubagentRunner(options: ACPSubagentRunnerOptions): Promise<SubagentRunner>;
29
- /** Returns the runner and a stop function to clean up the transport. */
30
- export declare function makeACPSubagentRunnerWithStop(options: ACPSubagentRunnerOptions): Promise<{
31
- runner: SubagentRunner;
32
- stop: () => void;
33
- }>;
34
- //# sourceMappingURL=acp-subagent-runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp-subagent-runner.d.ts","sourceRoot":"","sources":["../../src/integration/acp-subagent-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAqB,cAAc,EAAW,MAAM,kBAAkB,CAAC;AAInF,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,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,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CAC5C;AAED,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAuBvE,CAAC;AAEF;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,cAAc,CAAC,CAgHzB;AAED,wEAAwE;AACxE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAC,CAAC,CAiHrD"}
@@ -1,218 +0,0 @@
1
- import { ClientTransport } from '../agent/stdio-transport.js';
2
- import { ToolTranslator, parseToolResponse } from '../client/tool-translator.js';
3
- /** Map WrongStack ACP agent role → how to spawn it. */
4
- export const ACP_AGENT_COMMANDS = {
5
- cline: {
6
- command: 'npx',
7
- args: ['-y', '@agentify/cline'],
8
- role: 'cline',
9
- },
10
- 'gemini-cli': {
11
- command: 'gemini',
12
- role: 'gemini-cli',
13
- },
14
- copilot: {
15
- command: 'gh',
16
- args: ['copilot', 'agent'],
17
- role: 'copilot',
18
- },
19
- openhands: {
20
- command: 'openhands',
21
- role: 'openhands',
22
- },
23
- goose: {
24
- command: 'goose',
25
- role: 'goose',
26
- },
27
- };
28
- /**
29
- * Build an ACPSubagentRunner for a given role, or a generic one from explicit options.
30
- */
31
- export async function makeACPSubagentRunner(options) {
32
- const transport = new ClientTransport({
33
- command: options.command,
34
- args: options.args,
35
- env: options.env,
36
- cwd: options.cwd,
37
- handshakeTimeoutMs: 30_000,
38
- });
39
- const translator = new ToolTranslator(options.toolTranslatorOpts);
40
- const activeAbort = new AbortController();
41
- let sessionStarted = false;
42
- const startSession = async () => {
43
- if (sessionStarted)
44
- return;
45
- await transport.start();
46
- await transport.send({
47
- method: 'initialize',
48
- id: '1',
49
- params: {
50
- capabilities: ['code-generation', 'async-tools', 'streaming', 'progress'],
51
- protocolVersion: '2024-11',
52
- sessionId: options.role ?? 'wrongstack-subagent',
53
- },
54
- });
55
- const initResp = await transport.read();
56
- if (!initResp || initResp.error) {
57
- throw new Error(`ACP initialize failed: ${initResp?.error?.message ?? 'no response'}`);
58
- }
59
- translator.attachToTransport({
60
- onMessage: (h) => transport.onMessage(h),
61
- send: (m) => transport.send(m),
62
- });
63
- sessionStarted = true;
64
- };
65
- const runner = async (task, ctx) => {
66
- ctx.signal.addEventListener('abort', () => {
67
- activeAbort.abort();
68
- transport.stop();
69
- });
70
- await startSession();
71
- const callId = crypto.randomUUID();
72
- let toolResult = null;
73
- const resultPromise = new Promise((resolve, reject) => {
74
- const budgetMs = ctx.budget.limits.timeoutMs ?? 300_000;
75
- const timeout = setTimeout(() => {
76
- reject(new Error(`ACP task timed out for subagent ${ctx.subagentId} (${budgetMs}ms budget)`));
77
- }, budgetMs);
78
- transport.onMessage((msg) => {
79
- if (msg.method === 'tools/call' && msg.id !== undefined) {
80
- clearTimeout(timeout);
81
- resolve(msg);
82
- }
83
- });
84
- ctx.signal.addEventListener('abort', () => {
85
- clearTimeout(timeout);
86
- reject(new Error('Task aborted by parent'));
87
- });
88
- });
89
- try {
90
- // Most ACP agents accept a free-form task string as their primary input.
91
- // Use the tools/call protocol with a special 'task' pseudo-tool if the
92
- // agent advertises it; otherwise send it as an initialize session detail
93
- // or a custom agent/run message. The agent will respond on stdout.
94
- await transport.send({
95
- method: 'agent/run',
96
- id: callId,
97
- params: {
98
- task: task.description,
99
- sessionId: ctx.subagentId,
100
- },
101
- });
102
- toolResult = await resultPromise;
103
- }
104
- catch (err) {
105
- const msg = err instanceof Error ? err.message : String(err);
106
- return {
107
- result: `ACP subagent error: ${msg}`,
108
- iterations: 0,
109
- toolCalls: 0,
110
- };
111
- }
112
- if (!toolResult) {
113
- return { result: 'ACP subagent returned no result', iterations: 1, toolCalls: 1 };
114
- }
115
- const parsed = parseToolResponse(task.id, ctx.subagentId, toolResult);
116
- return {
117
- result: parsed.result ?? parsed.error,
118
- iterations: parsed.iterations,
119
- toolCalls: parsed.toolCalls,
120
- };
121
- };
122
- return runner;
123
- }
124
- /** Returns the runner and a stop function to clean up the transport. */
125
- export async function makeACPSubagentRunnerWithStop(options) {
126
- const transport = new ClientTransport({
127
- command: options.command,
128
- args: options.args,
129
- env: options.env,
130
- cwd: options.cwd,
131
- handshakeTimeoutMs: 30_000,
132
- });
133
- const translator = new ToolTranslator(options.toolTranslatorOpts);
134
- const activeAbort = new AbortController();
135
- let sessionStarted = false;
136
- const startSession = async () => {
137
- if (sessionStarted)
138
- return;
139
- await transport.start();
140
- await transport.send({
141
- method: 'initialize',
142
- id: '1',
143
- params: {
144
- capabilities: ['code-generation', 'async-tools', 'streaming', 'progress'],
145
- protocolVersion: '2024-11',
146
- sessionId: options.role ?? 'wrongstack-subagent',
147
- },
148
- });
149
- const initResp = await transport.read();
150
- if (!initResp || initResp.error) {
151
- throw new Error(`ACP initialize failed: ${initResp?.error?.message ?? 'no response'}`);
152
- }
153
- translator.attachToTransport({
154
- onMessage: (h) => transport.onMessage(h),
155
- send: (m) => transport.send(m),
156
- });
157
- sessionStarted = true;
158
- };
159
- const stop = () => {
160
- activeAbort.abort();
161
- transport.stop();
162
- };
163
- const runner = async (task, ctx) => {
164
- ctx.signal.addEventListener('abort', () => {
165
- activeAbort.abort();
166
- transport.stop();
167
- });
168
- await startSession();
169
- const callId = crypto.randomUUID();
170
- let toolResult = null;
171
- const resultPromise = new Promise((resolve, reject) => {
172
- const budgetMs = ctx.budget.limits.timeoutMs ?? 300_000;
173
- const timeout = setTimeout(() => {
174
- reject(new Error(`ACP task timed out for subagent ${ctx.subagentId} (${budgetMs}ms budget)`));
175
- }, budgetMs);
176
- transport.onMessage((msg) => {
177
- if (msg.method === 'tools/call' && msg.id !== undefined) {
178
- clearTimeout(timeout);
179
- resolve(msg);
180
- }
181
- });
182
- ctx.signal.addEventListener('abort', () => {
183
- clearTimeout(timeout);
184
- reject(new Error('Task aborted by parent'));
185
- });
186
- });
187
- try {
188
- await transport.send({
189
- method: 'agent/run',
190
- id: callId,
191
- params: {
192
- task: task.description,
193
- sessionId: ctx.subagentId,
194
- },
195
- });
196
- toolResult = await resultPromise;
197
- }
198
- catch (err) {
199
- const msg = err instanceof Error ? err.message : String(err);
200
- return {
201
- result: `ACP subagent error: ${msg}`,
202
- iterations: 0,
203
- toolCalls: 0,
204
- };
205
- }
206
- if (!toolResult) {
207
- return { result: 'ACP subagent returned no result', iterations: 1, toolCalls: 1 };
208
- }
209
- const parsed = parseToolResponse(task.id, ctx.subagentId, toolResult);
210
- return {
211
- result: parsed.result ?? parsed.error,
212
- iterations: parsed.iterations,
213
- toolCalls: parsed.toolCalls,
214
- };
215
- };
216
- return { runner, stop };
217
- }
218
- //# sourceMappingURL=acp-subagent-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp-subagent-runner.js","sourceRoot":"","sources":["../../src/integration/acp-subagent-runner.ts"],"names":[],"mappings":"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"}
@@ -1,133 +0,0 @@
1
- /**
2
- * ACP message types — transport-agnostic JSON-RPC 2.0 envelope.
3
- * Reuses MCP types where possible; custom types for agentic UX (diffs, plans).
4
- */
5
- export interface ACPMessage {
6
- method: string;
7
- id?: string | number;
8
- params?: unknown;
9
- result?: unknown;
10
- error?: ACPError;
11
- }
12
- export interface ACPError {
13
- code: number;
14
- message: string;
15
- data?: unknown;
16
- }
17
- export type ACPRequest = RequiredPick<ACPMessage, 'id' | 'params' | 'method'>;
18
- export type ACPResponse = RequiredPick<ACPMessage, 'id' | 'result' | 'method'>;
19
- export type ACPNotification = Omit<ACPMessage, 'id'> & {
20
- method: string;
21
- };
22
- export interface ACPInitializeParams {
23
- capabilities?: string[];
24
- protocolVersion?: string;
25
- sessionId?: string;
26
- authToken?: string;
27
- sessionPath?: string;
28
- workspaceRoots?: string[];
29
- mcpServers?: unknown[];
30
- [key: string]: unknown;
31
- }
32
- export interface ACPCapabilities {
33
- capabilities: string[];
34
- agentName: string;
35
- agentVersion: string;
36
- tools?: ACPToolList;
37
- protocolVersion: string;
38
- }
39
- export interface ACPToolList {
40
- tools: ACPToolDefinition[];
41
- }
42
- export interface ACPToolDefinition {
43
- name: string;
44
- description?: string;
45
- inputSchema: ACPInputSchema;
46
- annotations?: {
47
- title?: string;
48
- description?: string;
49
- priority?: 'high' | 'medium' | 'low';
50
- alwaysAccept?: boolean;
51
- };
52
- }
53
- export type ACPInputSchema = {
54
- type?: string;
55
- properties?: Record<string, ACPInputSchema>;
56
- required?: string[];
57
- items?: ACPInputSchema;
58
- enum?: unknown[];
59
- description?: string;
60
- default?: unknown;
61
- minimum?: number;
62
- maximum?: number;
63
- [key: string]: unknown;
64
- };
65
- export type ContentBlock = ACPTextContent | ACPResourceContent | ACPImageContent | ACPProgressContent;
66
- export interface ACPTextContent {
67
- type: 'text';
68
- text: string;
69
- }
70
- export interface ACPResourceContent {
71
- type: 'resource';
72
- resource: {
73
- type: string;
74
- uri: string;
75
- data?: string;
76
- mimeType?: string;
77
- };
78
- }
79
- export interface ACPImageContent {
80
- type: 'image';
81
- data: string;
82
- mimeType?: string;
83
- }
84
- export interface ACPProgressContent {
85
- type: 'progress';
86
- id: string;
87
- label?: string;
88
- message?: string;
89
- messages?: string[];
90
- }
91
- export interface ACPToolCallRequest {
92
- method: 'tools/call';
93
- id: string | number;
94
- params: {
95
- name: string;
96
- arguments: Record<string, unknown>;
97
- };
98
- }
99
- export interface ACPToolResult {
100
- content: ContentBlock[];
101
- isError?: boolean;
102
- }
103
- export type ACPToolCallResponse = {
104
- method: 'tools/call';
105
- id: string | number;
106
- result: ACPToolResult;
107
- };
108
- export interface ACPSessionInfo {
109
- sessionId: string;
110
- path: string;
111
- title?: string;
112
- modelId?: string;
113
- createdAt: string;
114
- lastActiveAt: string;
115
- }
116
- export interface ACPPlanStep {
117
- id: string;
118
- description: string;
119
- status?: 'pending' | 'running' | 'completed' | 'skipped';
120
- }
121
- export interface ACPPlanContent {
122
- type: 'plan';
123
- plan: {
124
- steps: ACPPlanStep[];
125
- };
126
- }
127
- export type ACPSessionMode = 'agent' | 'chat' | 'edit' | 'preview';
128
- export interface ACPCancelParams {
129
- reason?: string;
130
- }
131
- type RequiredPick<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
132
- export {};
133
- //# sourceMappingURL=acp-messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp-messages.d.ts","sourceRoot":"","sources":["../../src/types/acp-messages.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=acp-messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acp-messages.js","sourceRoot":"","sources":["../../src/types/acp-messages.ts"],"names":[],"mappings":""}