aamp-acp-bridge 0.1.11 → 0.1.13

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/README.md CHANGED
@@ -19,10 +19,11 @@ npx aamp-acp-bridge init
19
19
  Start the bridge:
20
20
 
21
21
  ```bash
22
- npx aamp-acp-bridge start --config bridge.json
22
+ npx aamp-acp-bridge start
23
23
  ```
24
24
 
25
- By default, agent credentials are stored under `~/.acp-bridge/`.
25
+ By default, the bridge stores its config under `~/.aamp/acp-bridge/config.json` and agent credentials under `~/.aamp/acp-bridge/credentials/`.
26
+ Legacy `./bridge.json` and `~/.acp-bridge/` data are migrated automatically on first use without deleting the original files.
26
27
 
27
28
  The bridge understands these task lifecycle intents:
28
29
 
@@ -44,8 +45,12 @@ While ACP execution is in progress, the bridge can:
44
45
  - create an AAMP task stream for the task
45
46
  - send `task.stream.opened`
46
47
  - append `status`, `progress`, and `text.delta` events
48
+ - forward ACP `agent_thought_chunk` / `agent_message_chunk` updates into the AAMP stream in realtime
49
+ - expose tool progress as stream progress labels while the agent is working
47
50
  - close the stream before the authoritative `task.result` or `task.help_needed`
48
51
 
52
+ When `acpx` supports `--format json --json-strict`, the bridge consumes the structured ACP NDJSON stream so reasoning / reply chunks can be forwarded live. Older `acpx` builds automatically fall back to plain-text mode, which preserves compatibility but cannot expose thought chunks incrementally.
53
+
49
54
  ## Config
50
55
 
51
56
  Minimal example:
@@ -59,14 +64,22 @@ Minimal example:
59
64
  "name": "claude",
60
65
  "acpCommand": "claude",
61
66
  "slug": "claude-bridge",
62
- "credentialsFile": "~/.acp-bridge/.aamp-claude.json",
63
- "senderWhitelist": [
64
- "system@aamp.local"
67
+ "taskDispatchConcurrency": 10,
68
+ "credentialsFile": "~/.aamp/acp-bridge/credentials/claude.json",
69
+ "senderPolicies": [
70
+ {
71
+ "sender": "system@aamp.local",
72
+ "dispatchContextRules": {
73
+ "project_key": ["proj_123"]
74
+ }
75
+ }
65
76
  ]
66
77
  }
67
78
  ]
68
79
  }
69
80
  ```
70
81
 
71
- `senderWhitelist` is optional. If configured, the bridge only accepts tasks from those email addresses.
72
- `credentialsFile` is optional. If omitted, the bridge uses `~/.acp-bridge/.aamp-<agent>.json`.
82
+ `senderPolicies` is optional. If configured, the bridge requires the sender to match one policy and optionally enforces exact-match `X-AAMP-Dispatch-Context` rules.
83
+ Legacy `senderWhitelist` configs still load and are normalized into `senderPolicies`.
84
+ `credentialsFile` is optional. If omitted, the bridge uses `~/.aamp/acp-bridge/credentials/<agent>.json`.
85
+ `taskDispatchConcurrency` is optional and defaults to `10`.
@@ -4,12 +4,43 @@ export interface AcpEvent {
4
4
  requestId?: string;
5
5
  seq?: number;
6
6
  type?: string;
7
- content?: string;
7
+ messageId?: string;
8
+ content?: unknown;
8
9
  [key: string]: unknown;
9
10
  }
11
+ export type AcpTextChunkChannel = 'assistant' | 'thought';
12
+ export interface AcpTextChunk {
13
+ channel: AcpTextChunkChannel;
14
+ text: string;
15
+ messageId?: string;
16
+ }
17
+ export interface AcpToolUpdate {
18
+ toolCallId?: string;
19
+ title?: string;
20
+ status?: string;
21
+ kind?: string;
22
+ text?: string;
23
+ locations?: Array<{
24
+ path: string;
25
+ line?: number;
26
+ }>;
27
+ }
28
+ export interface AcpPlanEntry {
29
+ content: string;
30
+ status?: string;
31
+ priority?: string;
32
+ }
33
+ export interface AcpPromptHandlers {
34
+ onEvent?: (event: AcpEvent) => void;
35
+ onTextChunk?: (chunk: AcpTextChunk) => void;
36
+ onToolUpdate?: (update: AcpToolUpdate) => void;
37
+ onPlanUpdate?: (entries: AcpPlanEntry[]) => void;
38
+ }
10
39
  export interface AcpResult {
11
40
  output: string;
12
41
  events: AcpEvent[];
42
+ stopReason?: string;
43
+ streamedAssistantText: boolean;
13
44
  }
14
45
  /**
15
46
  * Wrapper around acpx CLI.
@@ -18,6 +49,7 @@ export interface AcpResult {
18
49
  export declare class AcpxClient {
19
50
  private cwd;
20
51
  constructor(cwd?: string);
52
+ private buildAcpxArgs;
21
53
  /**
22
54
  * Ensure a named ACP session exists for the given agent.
23
55
  */
@@ -26,7 +58,9 @@ export declare class AcpxClient {
26
58
  * Send a prompt to an ACP agent and wait for completion.
27
59
  * Collects all stdout + stderr output and extracts the agent's response.
28
60
  */
29
- prompt(agent: string, sessionName: string, text: string): Promise<AcpResult>;
61
+ prompt(agent: string, sessionName: string, text: string, handlers?: AcpPromptHandlers): Promise<AcpResult>;
62
+ private promptJsonMode;
63
+ private promptTextMode;
30
64
  /**
31
65
  * Cancel the current operation in a session.
32
66
  */
@@ -1,4 +1,188 @@
1
1
  import { spawn } from 'node:child_process';
2
+ function asRecord(value) {
3
+ if (!value || typeof value !== 'object' || Array.isArray(value))
4
+ return null;
5
+ return value;
6
+ }
7
+ function asString(value) {
8
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
9
+ }
10
+ function extractContentText(content) {
11
+ if (typeof content === 'string')
12
+ return content;
13
+ if (Array.isArray(content)) {
14
+ return content.map((item) => extractContentText(item)).join('');
15
+ }
16
+ const record = asRecord(content);
17
+ if (!record)
18
+ return '';
19
+ if (typeof record.text === 'string')
20
+ return record.text;
21
+ if (typeof record.thinking === 'string')
22
+ return record.thinking;
23
+ const resource = asRecord(record.resource);
24
+ if (resource && typeof resource.text === 'string')
25
+ return resource.text;
26
+ return '';
27
+ }
28
+ function extractToolLocations(value) {
29
+ if (!Array.isArray(value))
30
+ return undefined;
31
+ const locations = value.flatMap((item) => {
32
+ const record = asRecord(item);
33
+ if (!record)
34
+ return [];
35
+ const path = asString(record.path);
36
+ if (!path)
37
+ return [];
38
+ const line = typeof record.line === 'number' && Number.isFinite(record.line)
39
+ ? record.line
40
+ : undefined;
41
+ return [{ path, ...(line != null ? { line } : {}) }];
42
+ });
43
+ return locations.length > 0 ? locations : undefined;
44
+ }
45
+ function extractPlanEntries(value) {
46
+ if (!Array.isArray(value))
47
+ return [];
48
+ return value.flatMap((item) => {
49
+ const record = asRecord(item);
50
+ const content = asString(record?.content);
51
+ if (!content)
52
+ return [];
53
+ return [{
54
+ content,
55
+ ...(asString(record?.status) ? { status: asString(record?.status) } : {}),
56
+ ...(asString(record?.priority) ? { priority: asString(record?.priority) } : {}),
57
+ }];
58
+ });
59
+ }
60
+ function normalizeLegacyEvent(record) {
61
+ const rawType = asString(record.type);
62
+ if (!rawType)
63
+ return null;
64
+ const mappedType = rawType === 'thinking' ? 'agent_thought_chunk' : rawType;
65
+ return {
66
+ ...record,
67
+ type: mappedType,
68
+ ...(asString(record.sessionId) ? { sessionId: asString(record.sessionId) } : {}),
69
+ ...(asString(record.requestId) ? { requestId: asString(record.requestId) } : {}),
70
+ ...(typeof record.seq === 'number' ? { seq: record.seq } : {}),
71
+ };
72
+ }
73
+ function normalizeJsonRpcEvent(record) {
74
+ if (record.method === 'session/update') {
75
+ const params = asRecord(record.params);
76
+ if (!params)
77
+ return null;
78
+ const explicitUpdate = asRecord(params.update);
79
+ const fallbackUpdate = asString(params.sessionUpdate)
80
+ ? {
81
+ ...params,
82
+ sessionUpdate: params.sessionUpdate,
83
+ }
84
+ : null;
85
+ const update = explicitUpdate ?? fallbackUpdate;
86
+ if (!update)
87
+ return null;
88
+ const type = asString(update.sessionUpdate);
89
+ if (!type)
90
+ return null;
91
+ const normalized = {
92
+ type,
93
+ ...(asString(params.sessionId) ? { sessionId: asString(params.sessionId) } : {}),
94
+ };
95
+ for (const [key, value] of Object.entries(update)) {
96
+ if (key === 'sessionUpdate')
97
+ continue;
98
+ normalized[key] = value;
99
+ }
100
+ return normalized;
101
+ }
102
+ if (record.result) {
103
+ const result = asRecord(record.result);
104
+ if (!result)
105
+ return null;
106
+ return {
107
+ type: 'result',
108
+ ...(asString(record.id) ? { requestId: asString(record.id) } : {}),
109
+ ...result,
110
+ };
111
+ }
112
+ if (record.error) {
113
+ return {
114
+ type: 'error',
115
+ ...(asString(record.id) ? { requestId: asString(record.id) } : {}),
116
+ error: record.error,
117
+ };
118
+ }
119
+ return null;
120
+ }
121
+ function parseAcpLine(line) {
122
+ const trimmed = line.trim();
123
+ if (!trimmed)
124
+ return { event: null, isJson: false };
125
+ let parsed;
126
+ try {
127
+ parsed = JSON.parse(trimmed);
128
+ }
129
+ catch {
130
+ return { event: null, isJson: false };
131
+ }
132
+ const record = asRecord(parsed);
133
+ if (!record)
134
+ return { event: null, isJson: true };
135
+ if (record.jsonrpc === '2.0') {
136
+ return { event: normalizeJsonRpcEvent(record), isJson: true };
137
+ }
138
+ return { event: normalizeLegacyEvent(record), isJson: true };
139
+ }
140
+ function supportsJsonStreamingFallback(stderr) {
141
+ return /unknown option|unknown argument|unexpected argument|invalid value|--format|--json-strict/i.test(stderr);
142
+ }
143
+ function isCliTranscriptHeader(line) {
144
+ return /^\[(client|tool|done|error|warning)\](?:\s|$)/i.test(line);
145
+ }
146
+ function extractFinalReplyFromTranscript(output) {
147
+ const trimmed = output.trim();
148
+ if (!trimmed)
149
+ return '';
150
+ const lines = trimmed.replace(/\r\n/g, '\n').split('\n');
151
+ const textBlocks = [];
152
+ let currentBlock = [];
153
+ let skippingTranscriptDetails = false;
154
+ const flushBlock = () => {
155
+ const block = currentBlock.join('\n').trim();
156
+ if (block)
157
+ textBlocks.push(block);
158
+ currentBlock = [];
159
+ };
160
+ for (const line of lines) {
161
+ if (isCliTranscriptHeader(line)) {
162
+ flushBlock();
163
+ skippingTranscriptDetails = true;
164
+ continue;
165
+ }
166
+ if (skippingTranscriptDetails) {
167
+ if (!line || /^[ \t]+/.test(line)) {
168
+ continue;
169
+ }
170
+ skippingTranscriptDetails = false;
171
+ }
172
+ currentBlock.push(line);
173
+ }
174
+ flushBlock();
175
+ return textBlocks.at(-1) ?? '';
176
+ }
177
+ function sanitizePromptOutput(output) {
178
+ const trimmed = output.trim();
179
+ if (!trimmed)
180
+ return '';
181
+ if (!trimmed.split(/\r?\n/).some((line) => isCliTranscriptHeader(line))) {
182
+ return trimmed;
183
+ }
184
+ return extractFinalReplyFromTranscript(trimmed);
185
+ }
2
186
  /**
3
187
  * Wrapper around acpx CLI.
4
188
  * Invokes acpx as a subprocess and parses NDJSON output.
@@ -8,6 +192,9 @@ export class AcpxClient {
8
192
  constructor(cwd) {
9
193
  this.cwd = cwd ?? process.cwd();
10
194
  }
195
+ buildAcpxArgs(agent, args) {
196
+ return ['--approve-all', '--cwd', this.cwd, agent, ...args];
197
+ }
11
198
  /**
12
199
  * Ensure a named ACP session exists for the given agent.
13
200
  */
@@ -26,12 +213,157 @@ export class AcpxClient {
26
213
  * Send a prompt to an ACP agent and wait for completion.
27
214
  * Collects all stdout + stderr output and extracts the agent's response.
28
215
  */
29
- async prompt(agent, sessionName, text) {
216
+ async prompt(agent, sessionName, text, handlers) {
217
+ try {
218
+ return await this.promptJsonMode(agent, sessionName, text, handlers);
219
+ }
220
+ catch (err) {
221
+ if (supportsJsonStreamingFallback(err.message)) {
222
+ return await this.promptTextMode(agent, sessionName, text);
223
+ }
224
+ throw err;
225
+ }
226
+ }
227
+ async promptJsonMode(agent, sessionName, text, handlers) {
30
228
  const events = [];
229
+ let stopReason;
230
+ let streamedAssistantText = false;
231
+ const assistantMessages = new Map();
232
+ const assistantMessageOrder = [];
233
+ let lastAssistantMessageKey;
234
+ let previousEventType;
31
235
  return new Promise((resolve, reject) => {
32
- // Use text format (default) — most reliable across acpx versions.
33
- // --approve-all prevents interactive permission prompts from blocking.
34
- const proc = spawn('acpx', ['--approve-all', agent, 'prompt', '-s', sessionName, text], {
236
+ const proc = spawn('acpx', this.buildAcpxArgs(agent, [
237
+ '--format', 'json',
238
+ '--json-strict',
239
+ 'prompt',
240
+ '-s', sessionName,
241
+ text,
242
+ ]), {
243
+ stdio: ['pipe', 'pipe', 'pipe'],
244
+ cwd: this.cwd,
245
+ env: { ...process.env },
246
+ });
247
+ let stdoutBuffer = '';
248
+ let rawStdout = '';
249
+ let stderr = '';
250
+ const processLine = (line) => {
251
+ const parsed = parseAcpLine(line);
252
+ const event = parsed.event;
253
+ if (!event) {
254
+ if (!parsed.isJson) {
255
+ rawStdout += `${line}\n`;
256
+ }
257
+ return;
258
+ }
259
+ events.push(event);
260
+ handlers?.onEvent?.(event);
261
+ if (event.type === 'agent_message_chunk') {
262
+ const textChunk = extractContentText(event.content);
263
+ if (textChunk) {
264
+ const messageId = asString(event.messageId);
265
+ const messageKey = messageId
266
+ ?? (previousEventType === 'agent_message_chunk' && lastAssistantMessageKey
267
+ ? lastAssistantMessageKey
268
+ : `anonymous:${assistantMessageOrder.length}`);
269
+ if (!assistantMessages.has(messageKey)) {
270
+ assistantMessages.set(messageKey, '');
271
+ assistantMessageOrder.push(messageKey);
272
+ }
273
+ assistantMessages.set(messageKey, `${assistantMessages.get(messageKey) ?? ''}${textChunk}`);
274
+ lastAssistantMessageKey = messageKey;
275
+ streamedAssistantText = true;
276
+ handlers?.onTextChunk?.({
277
+ channel: 'assistant',
278
+ text: textChunk,
279
+ ...(messageId ? { messageId } : {}),
280
+ });
281
+ }
282
+ previousEventType = event.type;
283
+ return;
284
+ }
285
+ if (event.type === 'agent_thought_chunk') {
286
+ const textChunk = extractContentText(event.content);
287
+ if (textChunk) {
288
+ handlers?.onTextChunk?.({
289
+ channel: 'thought',
290
+ text: textChunk,
291
+ messageId: asString(event.messageId),
292
+ });
293
+ }
294
+ previousEventType = event.type;
295
+ return;
296
+ }
297
+ if (event.type === 'tool_call' || event.type === 'tool_call_update') {
298
+ handlers?.onToolUpdate?.({
299
+ toolCallId: asString(event.toolCallId),
300
+ title: asString(event.title),
301
+ status: asString(event.status),
302
+ kind: asString(event.kind),
303
+ text: extractContentText(event.content),
304
+ locations: extractToolLocations(event.locations),
305
+ });
306
+ previousEventType = event.type;
307
+ return;
308
+ }
309
+ if (event.type === 'plan') {
310
+ const entries = extractPlanEntries(event.entries);
311
+ if (entries.length > 0) {
312
+ handlers?.onPlanUpdate?.(entries);
313
+ }
314
+ previousEventType = event.type;
315
+ return;
316
+ }
317
+ if (event.type === 'result') {
318
+ stopReason = asString(event.stopReason);
319
+ }
320
+ previousEventType = event.type;
321
+ };
322
+ const processStdoutChunk = (chunk) => {
323
+ stdoutBuffer += chunk.toString();
324
+ let newlineIndex = stdoutBuffer.indexOf('\n');
325
+ while (newlineIndex >= 0) {
326
+ const line = stdoutBuffer.slice(0, newlineIndex).replace(/\r$/, '');
327
+ stdoutBuffer = stdoutBuffer.slice(newlineIndex + 1);
328
+ processLine(line);
329
+ newlineIndex = stdoutBuffer.indexOf('\n');
330
+ }
331
+ };
332
+ proc.stdout.on('data', processStdoutChunk);
333
+ proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
334
+ proc.on('close', (code) => {
335
+ if (stdoutBuffer.trim()) {
336
+ processLine(stdoutBuffer.replace(/\r$/, ''));
337
+ }
338
+ const finalAssistantOutput = [...assistantMessageOrder]
339
+ .reverse()
340
+ .map((messageKey) => assistantMessages.get(messageKey)?.trim() ?? '')
341
+ .find((message) => message.length > 0) ?? '';
342
+ const output = finalAssistantOutput
343
+ || sanitizePromptOutput(rawStdout)
344
+ || stderr.trim();
345
+ if (code !== 0 && !output) {
346
+ reject(new Error(`acpx exited with code ${code}: ${stderr.trim()}`));
347
+ }
348
+ else {
349
+ resolve({
350
+ output,
351
+ events,
352
+ ...(stopReason ? { stopReason } : {}),
353
+ streamedAssistantText,
354
+ });
355
+ }
356
+ });
357
+ proc.on('error', (err) => {
358
+ reject(new Error(`Failed to spawn acpx: ${err.message}. Is acpx installed?`));
359
+ });
360
+ });
361
+ }
362
+ async promptTextMode(agent, sessionName, text) {
363
+ const events = [];
364
+ return await new Promise((resolve, reject) => {
365
+ // Old acpx builds may not support JSON output yet.
366
+ const proc = spawn('acpx', this.buildAcpxArgs(agent, ['prompt', '-s', sessionName, text]), {
35
367
  stdio: ['pipe', 'pipe', 'pipe'],
36
368
  cwd: this.cwd,
37
369
  env: { ...process.env },
@@ -41,14 +373,16 @@ export class AcpxClient {
41
373
  proc.stdout.on('data', (chunk) => { stdout += chunk.toString(); });
42
374
  proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
43
375
  proc.on('close', (code) => {
44
- // acpx text mode writes the agent's response to stdout.
45
- // Try to extract meaningful output from stdout, falling back to stderr.
46
- const output = stdout.trim() || stderr.trim();
376
+ const output = sanitizePromptOutput(stdout) || stderr.trim();
47
377
  if (code !== 0 && !output) {
48
378
  reject(new Error(`acpx exited with code ${code}: ${stderr.trim()}`));
49
379
  }
50
380
  else {
51
- resolve({ output, events });
381
+ resolve({
382
+ output,
383
+ events,
384
+ streamedAssistantText: false,
385
+ });
52
386
  }
53
387
  });
54
388
  proc.on('error', (err) => {
@@ -73,7 +407,7 @@ export class AcpxClient {
73
407
  */
74
408
  exec(agent, args) {
75
409
  return new Promise((resolve, reject) => {
76
- const proc = spawn('acpx', ['--approve-all', agent, ...args], {
410
+ const proc = spawn('acpx', this.buildAcpxArgs(agent, args), {
77
411
  stdio: ['pipe', 'pipe', 'pipe'],
78
412
  cwd: this.cwd,
79
413
  env: { ...process.env },
@@ -1 +1 @@
1
- {"version":3,"file":"acpx-client.js","sourceRoot":"","sources":["../src/acpx-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpx-client.js","sourceRoot":"","sources":["../src/acpx-client.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class AgentBridge {
16
16
  private acpx;
17
17
  private identity;
18
18
  private sessionName;
19
- private processing;
19
+ private activeTaskCount;
20
20
  private pollingFallback;
21
21
  private transportMode;
22
22
  private cancelledTaskIds;
@@ -26,6 +26,8 @@ export declare class AgentBridge {
26
26
  get isConnected(): boolean;
27
27
  get isUsingPollingFallback(): boolean;
28
28
  get isBusy(): boolean;
29
+ private sanitizeSessionSuffix;
30
+ private resolveTaskSessionName;
29
31
  private getConfiguredCardText;
30
32
  private syncDirectoryProfile;
31
33
  /**
@@ -36,8 +38,6 @@ export declare class AgentBridge {
36
38
  * Stop the bridge.
37
39
  */
38
40
  stop(): void;
39
- private normalizeEmail;
40
- private isSenderAllowed;
41
41
  /**
42
42
  * Handle an incoming AAMP task by forwarding to the ACP agent.
43
43
  */