aamp-acp-bridge 0.1.11 → 0.1.12

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
@@ -44,8 +44,12 @@ While ACP execution is in progress, the bridge can:
44
44
  - create an AAMP task stream for the task
45
45
  - send `task.stream.opened`
46
46
  - append `status`, `progress`, and `text.delta` events
47
+ - forward ACP `agent_thought_chunk` / `agent_message_chunk` updates into the AAMP stream in realtime
48
+ - expose tool progress as stream progress labels while the agent is working
47
49
  - close the stream before the authoritative `task.result` or `task.help_needed`
48
50
 
51
+ 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.
52
+
49
53
  ## Config
50
54
 
51
55
  Minimal example:
@@ -59,6 +63,7 @@ Minimal example:
59
63
  "name": "claude",
60
64
  "acpCommand": "claude",
61
65
  "slug": "claude-bridge",
66
+ "taskDispatchConcurrency": 10,
62
67
  "credentialsFile": "~/.acp-bridge/.aamp-claude.json",
63
68
  "senderWhitelist": [
64
69
  "system@aamp.local"
@@ -70,3 +75,4 @@ Minimal example:
70
75
 
71
76
  `senderWhitelist` is optional. If configured, the bridge only accepts tasks from those email addresses.
72
77
  `credentialsFile` is optional. If omitted, the bridge uses `~/.acp-bridge/.aamp-<agent>.json`.
78
+ `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.
@@ -26,7 +57,9 @@ export declare class AcpxClient {
26
57
  * Send a prompt to an ACP agent and wait for completion.
27
58
  * Collects all stdout + stderr output and extracts the agent's response.
28
59
  */
29
- prompt(agent: string, sessionName: string, text: string): Promise<AcpResult>;
60
+ prompt(agent: string, sessionName: string, text: string, handlers?: AcpPromptHandlers): Promise<AcpResult>;
61
+ private promptJsonMode;
62
+ private promptTextMode;
30
63
  /**
31
64
  * Cancel the current operation in a session.
32
65
  */
@@ -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.
@@ -26,11 +210,158 @@ export class AcpxClient {
26
210
  * Send a prompt to an ACP agent and wait for completion.
27
211
  * Collects all stdout + stderr output and extracts the agent's response.
28
212
  */
29
- async prompt(agent, sessionName, text) {
213
+ async prompt(agent, sessionName, text, handlers) {
214
+ try {
215
+ return await this.promptJsonMode(agent, sessionName, text, handlers);
216
+ }
217
+ catch (err) {
218
+ if (supportsJsonStreamingFallback(err.message)) {
219
+ return await this.promptTextMode(agent, sessionName, text);
220
+ }
221
+ throw err;
222
+ }
223
+ }
224
+ async promptJsonMode(agent, sessionName, text, handlers) {
30
225
  const events = [];
226
+ let stopReason;
227
+ let streamedAssistantText = false;
228
+ const assistantMessages = new Map();
229
+ const assistantMessageOrder = [];
230
+ let lastAssistantMessageKey;
231
+ let previousEventType;
31
232
  return new Promise((resolve, reject) => {
32
- // Use text format (default) — most reliable across acpx versions.
33
- // --approve-all prevents interactive permission prompts from blocking.
233
+ const proc = spawn('acpx', [
234
+ '--approve-all',
235
+ '--format', 'json',
236
+ '--json-strict',
237
+ agent,
238
+ 'prompt',
239
+ '-s', sessionName,
240
+ text,
241
+ ], {
242
+ stdio: ['pipe', 'pipe', 'pipe'],
243
+ cwd: this.cwd,
244
+ env: { ...process.env },
245
+ });
246
+ let stdoutBuffer = '';
247
+ let rawStdout = '';
248
+ let stderr = '';
249
+ const processLine = (line) => {
250
+ const parsed = parseAcpLine(line);
251
+ const event = parsed.event;
252
+ if (!event) {
253
+ if (!parsed.isJson) {
254
+ rawStdout += `${line}\n`;
255
+ }
256
+ return;
257
+ }
258
+ events.push(event);
259
+ handlers?.onEvent?.(event);
260
+ if (event.type === 'agent_message_chunk') {
261
+ const textChunk = extractContentText(event.content);
262
+ if (textChunk) {
263
+ const messageId = asString(event.messageId);
264
+ const messageKey = messageId
265
+ ?? (previousEventType === 'agent_message_chunk' && lastAssistantMessageKey
266
+ ? lastAssistantMessageKey
267
+ : `anonymous:${assistantMessageOrder.length}`);
268
+ if (!assistantMessages.has(messageKey)) {
269
+ assistantMessages.set(messageKey, '');
270
+ assistantMessageOrder.push(messageKey);
271
+ }
272
+ assistantMessages.set(messageKey, `${assistantMessages.get(messageKey) ?? ''}${textChunk}`);
273
+ lastAssistantMessageKey = messageKey;
274
+ streamedAssistantText = true;
275
+ handlers?.onTextChunk?.({
276
+ channel: 'assistant',
277
+ text: textChunk,
278
+ ...(messageId ? { messageId } : {}),
279
+ });
280
+ }
281
+ previousEventType = event.type;
282
+ return;
283
+ }
284
+ if (event.type === 'agent_thought_chunk') {
285
+ const textChunk = extractContentText(event.content);
286
+ if (textChunk) {
287
+ handlers?.onTextChunk?.({
288
+ channel: 'thought',
289
+ text: textChunk,
290
+ messageId: asString(event.messageId),
291
+ });
292
+ }
293
+ previousEventType = event.type;
294
+ return;
295
+ }
296
+ if (event.type === 'tool_call' || event.type === 'tool_call_update') {
297
+ handlers?.onToolUpdate?.({
298
+ toolCallId: asString(event.toolCallId),
299
+ title: asString(event.title),
300
+ status: asString(event.status),
301
+ kind: asString(event.kind),
302
+ text: extractContentText(event.content),
303
+ locations: extractToolLocations(event.locations),
304
+ });
305
+ previousEventType = event.type;
306
+ return;
307
+ }
308
+ if (event.type === 'plan') {
309
+ const entries = extractPlanEntries(event.entries);
310
+ if (entries.length > 0) {
311
+ handlers?.onPlanUpdate?.(entries);
312
+ }
313
+ previousEventType = event.type;
314
+ return;
315
+ }
316
+ if (event.type === 'result') {
317
+ stopReason = asString(event.stopReason);
318
+ }
319
+ previousEventType = event.type;
320
+ };
321
+ const processStdoutChunk = (chunk) => {
322
+ stdoutBuffer += chunk.toString();
323
+ let newlineIndex = stdoutBuffer.indexOf('\n');
324
+ while (newlineIndex >= 0) {
325
+ const line = stdoutBuffer.slice(0, newlineIndex).replace(/\r$/, '');
326
+ stdoutBuffer = stdoutBuffer.slice(newlineIndex + 1);
327
+ processLine(line);
328
+ newlineIndex = stdoutBuffer.indexOf('\n');
329
+ }
330
+ };
331
+ proc.stdout.on('data', processStdoutChunk);
332
+ proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
333
+ proc.on('close', (code) => {
334
+ if (stdoutBuffer.trim()) {
335
+ processLine(stdoutBuffer.replace(/\r$/, ''));
336
+ }
337
+ const finalAssistantOutput = [...assistantMessageOrder]
338
+ .reverse()
339
+ .map((messageKey) => assistantMessages.get(messageKey)?.trim() ?? '')
340
+ .find((message) => message.length > 0) ?? '';
341
+ const output = finalAssistantOutput
342
+ || sanitizePromptOutput(rawStdout)
343
+ || stderr.trim();
344
+ if (code !== 0 && !output) {
345
+ reject(new Error(`acpx exited with code ${code}: ${stderr.trim()}`));
346
+ }
347
+ else {
348
+ resolve({
349
+ output,
350
+ events,
351
+ ...(stopReason ? { stopReason } : {}),
352
+ streamedAssistantText,
353
+ });
354
+ }
355
+ });
356
+ proc.on('error', (err) => {
357
+ reject(new Error(`Failed to spawn acpx: ${err.message}. Is acpx installed?`));
358
+ });
359
+ });
360
+ }
361
+ async promptTextMode(agent, sessionName, text) {
362
+ const events = [];
363
+ return await new Promise((resolve, reject) => {
364
+ // Old acpx builds may not support JSON output yet.
34
365
  const proc = spawn('acpx', ['--approve-all', agent, 'prompt', '-s', sessionName, text], {
35
366
  stdio: ['pipe', 'pipe', 'pipe'],
36
367
  cwd: this.cwd,
@@ -41,14 +372,16 @@ export class AcpxClient {
41
372
  proc.stdout.on('data', (chunk) => { stdout += chunk.toString(); });
42
373
  proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
43
374
  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();
375
+ const output = sanitizePromptOutput(stdout) || stderr.trim();
47
376
  if (code !== 0 && !output) {
48
377
  reject(new Error(`acpx exited with code ${code}: ${stderr.trim()}`));
49
378
  }
50
379
  else {
51
- resolve({ output, events });
380
+ resolve({
381
+ output,
382
+ events,
383
+ streamedAssistantText: false,
384
+ });
52
385
  }
53
386
  });
54
387
  proc.on('error', (err) => {
@@ -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
  /**
@@ -1,5 +1,5 @@
1
- import { AampClient } from 'aamp-sdk';
2
- import { AcpxClient } from './acpx-client.js';
1
+ import { AampClient, } from 'aamp-sdk';
2
+ import { AcpxClient, } from './acpx-client.js';
3
3
  import { buildPrompt, parseResponse } from './prompt-builder.js';
4
4
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
5
5
  import { homedir } from 'node:os';
@@ -17,6 +17,68 @@ function resolveCredentialsFile(pathValue, name) {
17
17
  return join(homedir(), raw.slice(2));
18
18
  return raw;
19
19
  }
20
+ function buildPhaseStatusLabel(channel) {
21
+ return channel === 'thought'
22
+ ? 'ACP agent is thinking'
23
+ : 'ACP agent is composing the reply';
24
+ }
25
+ function buildToolProgressLabel(update) {
26
+ const target = update.title?.trim()
27
+ || update.locations?.[0]?.path
28
+ || update.kind?.trim()
29
+ || 'tool';
30
+ switch (update.status) {
31
+ case 'completed':
32
+ return `Tool completed: ${target}`;
33
+ case 'failed':
34
+ return `Tool failed: ${target}`;
35
+ case 'pending':
36
+ return `Tool pending: ${target}`;
37
+ case 'in_progress':
38
+ default:
39
+ return `Tool running: ${target}`;
40
+ }
41
+ }
42
+ function formatPlanUpdate(entries) {
43
+ const lines = entries.map((entry) => {
44
+ const prefix = entry.status ? `[${entry.status}] ` : '';
45
+ return `- ${prefix}${entry.content}`;
46
+ });
47
+ return `[plan]\n${lines.join('\n')}`;
48
+ }
49
+ function renderTextChunk(chunk, state) {
50
+ if (!chunk.text)
51
+ return '';
52
+ const sameMessage = Boolean(state.currentChannel === chunk.channel
53
+ && (!chunk.messageId
54
+ || !state.currentMessageId
55
+ || chunk.messageId === state.currentMessageId));
56
+ if (sameMessage) {
57
+ return chunk.text;
58
+ }
59
+ const prefix = state.hasContent ? '\n\n' : '';
60
+ state.currentChannel = chunk.channel;
61
+ state.currentMessageId = chunk.messageId;
62
+ state.hasContent = true;
63
+ if (chunk.channel === 'thought') {
64
+ return `${prefix}[thinking] ${chunk.text}`;
65
+ }
66
+ const label = state.hasContent && prefix ? '[assistant] ' : '';
67
+ return `${prefix}${label}${chunk.text}`;
68
+ }
69
+ function threadAlreadyTerminal(events) {
70
+ return (events ?? []).some((event) => event.intent === 'task.result' || event.intent === 'task.cancel');
71
+ }
72
+ function firstDispatchContextValue(context, keys) {
73
+ if (!context)
74
+ return undefined;
75
+ for (const key of keys) {
76
+ const value = context[key]?.trim();
77
+ if (value)
78
+ return value;
79
+ }
80
+ return undefined;
81
+ }
20
82
  /**
21
83
  * Bridges a single ACP agent to the AAMP network.
22
84
  * Manages AAMP identity, ACP session, and task routing.
@@ -29,7 +91,7 @@ export class AgentBridge {
29
91
  acpx;
30
92
  identity = null;
31
93
  sessionName;
32
- processing = false;
94
+ activeTaskCount = 0;
33
95
  pollingFallback = false;
34
96
  transportMode = 'connecting';
35
97
  cancelledTaskIds = new Set();
@@ -44,7 +106,23 @@ export class AgentBridge {
44
106
  get email() { return this.identity?.email ?? '(not registered)'; }
45
107
  get isConnected() { return this.client?.isConnected() ?? false; }
46
108
  get isUsingPollingFallback() { return this.pollingFallback || (this.client?.isUsingPollingFallback() ?? false); }
47
- get isBusy() { return this.processing; }
109
+ get isBusy() { return this.activeTaskCount > 0; }
110
+ sanitizeSessionSuffix(value) {
111
+ return value
112
+ .trim()
113
+ .toLowerCase()
114
+ .replace(/[^a-z0-9:_-]+/g, '-')
115
+ .replace(/-+/g, '-')
116
+ .replace(/^-|-$/g, '')
117
+ .slice(0, 96);
118
+ }
119
+ resolveTaskSessionName(task) {
120
+ const stickyValue = firstDispatchContextValue(task.dispatchContext, ['session_key', 'conversation_key', 'thread_key']);
121
+ if (!stickyValue)
122
+ return this.sessionName;
123
+ const suffix = this.sanitizeSessionSuffix(stickyValue);
124
+ return suffix ? `${this.sessionName}-${suffix}` : this.sessionName;
125
+ }
48
126
  getConfiguredCardText() {
49
127
  const inline = this.agentConfig.cardText?.trim();
50
128
  if (inline)
@@ -85,7 +163,7 @@ export class AgentBridge {
85
163
  const client = this.client;
86
164
  // 3. Wire up task handler
87
165
  client.on('task.dispatch', (task) => {
88
- this.handleTask(task).catch((err) => {
166
+ return this.handleTask(task).catch((err) => {
89
167
  console.error(`[${this.name}] Task ${task.taskId} failed: ${err.message}`);
90
168
  });
91
169
  });
@@ -200,8 +278,52 @@ export class AgentBridge {
200
278
  });
201
279
  return;
202
280
  }
203
- this.processing = true;
281
+ const hydratedTask = await this.client.hydrateTaskDispatch(task).catch((err) => {
282
+ console.warn(`[${this.name}] Failed to load thread history for ${task.taskId}: ${err.message}`);
283
+ return {
284
+ ...task,
285
+ threadHistory: [],
286
+ threadContextText: '',
287
+ };
288
+ });
289
+ if (threadAlreadyTerminal(hydratedTask.threadHistory)) {
290
+ console.log(`[${this.name}] Skipping historical task ${task.taskId} because the thread already reached a terminal state`);
291
+ return;
292
+ }
293
+ this.activeTaskCount += 1;
294
+ const taskSessionName = this.resolveTaskSessionName(hydratedTask);
204
295
  let activeStream = null;
296
+ let streamWrites = Promise.resolve();
297
+ const streamTextState = { hasContent: false };
298
+ let currentPhase = null;
299
+ const queueStreamAppend = (type, payload) => {
300
+ if (!this.client || !activeStream)
301
+ return;
302
+ const streamId = activeStream.streamId;
303
+ streamWrites = streamWrites
304
+ .then(async () => {
305
+ await this.client.appendStreamEvent({
306
+ streamId,
307
+ type,
308
+ payload,
309
+ });
310
+ })
311
+ .catch((err) => {
312
+ console.warn(`[${this.name}] Failed to append ${type} stream event for ${task.taskId}: ${err.message}`);
313
+ });
314
+ };
315
+ const flushStreamWrites = async () => {
316
+ await streamWrites;
317
+ };
318
+ const queuePhaseStatus = (channel) => {
319
+ if (currentPhase === channel)
320
+ return;
321
+ currentPhase = channel;
322
+ queueStreamAppend('status', {
323
+ state: 'running',
324
+ label: buildPhaseStatusLabel(channel),
325
+ });
326
+ };
205
327
  try {
206
328
  activeStream = await this.client.createStream({
207
329
  taskId: task.taskId,
@@ -218,25 +340,50 @@ export class AgentBridge {
218
340
  type: 'status',
219
341
  payload: { state: 'running', label: 'ACP task started' },
220
342
  });
221
- const hydratedTask = await this.client.hydrateTaskDispatch(task).catch((err) => {
222
- console.warn(`[${this.name}] Failed to load thread history for ${task.taskId}: ${err.message}`);
223
- return {
224
- ...task,
225
- threadHistory: [],
226
- threadContextText: '',
227
- };
228
- });
229
343
  const prompt = buildPrompt(hydratedTask, hydratedTask.threadContextText);
344
+ await this.acpx.ensureSession(this.agentConfig.acpCommand, taskSessionName);
230
345
  await this.client.appendStreamEvent({
231
346
  streamId: activeStream.streamId,
232
347
  type: 'progress',
233
348
  payload: { value: 0.2, label: 'Prompt sent to ACP agent' },
234
349
  });
235
- const result = await this.acpx.prompt(this.agentConfig.acpCommand, this.sessionName, prompt);
350
+ const result = await this.acpx.prompt(this.agentConfig.acpCommand, taskSessionName, prompt, {
351
+ onTextChunk: (chunk) => {
352
+ queuePhaseStatus(chunk.channel);
353
+ const rendered = renderTextChunk(chunk, streamTextState);
354
+ if (!rendered)
355
+ return;
356
+ queueStreamAppend('text.delta', {
357
+ text: rendered,
358
+ channel: chunk.channel,
359
+ ...(chunk.messageId ? { messageId: chunk.messageId } : {}),
360
+ });
361
+ },
362
+ onToolUpdate: (update) => {
363
+ queueStreamAppend('progress', {
364
+ label: buildToolProgressLabel(update),
365
+ ...(update.title ? { title: update.title } : {}),
366
+ ...(update.status ? { status: update.status } : {}),
367
+ ...(update.kind ? { kind: update.kind } : {}),
368
+ ...(update.toolCallId ? { toolCallId: update.toolCallId } : {}),
369
+ });
370
+ },
371
+ onPlanUpdate: (entries) => {
372
+ queuePhaseStatus('thought');
373
+ queueStreamAppend('text.delta', {
374
+ text: `${streamTextState.hasContent ? '\n\n' : ''}${formatPlanUpdate(entries)}`,
375
+ channel: 'thought',
376
+ });
377
+ streamTextState.hasContent = true;
378
+ streamTextState.currentChannel = 'thought';
379
+ streamTextState.currentMessageId = undefined;
380
+ },
381
+ });
236
382
  if (this.cancelledTaskIds.has(task.taskId)) {
237
383
  console.warn(`[${this.name}] Dropping task ${task.taskId} result because the task was cancelled`);
238
384
  return;
239
385
  }
386
+ await flushStreamWrites();
240
387
  await this.client.appendStreamEvent({
241
388
  streamId: activeStream.streamId,
242
389
  type: 'progress',
@@ -245,6 +392,14 @@ export class AgentBridge {
245
392
  const parsed = parseResponse(result.output);
246
393
  if (parsed.isHelp) {
247
394
  // Agent needs help
395
+ if (!result.streamedAssistantText && parsed.question) {
396
+ queuePhaseStatus('assistant');
397
+ queueStreamAppend('text.delta', {
398
+ text: renderTextChunk({ channel: 'assistant', text: parsed.question }, streamTextState),
399
+ channel: 'assistant',
400
+ });
401
+ await flushStreamWrites();
402
+ }
248
403
  await this.client.appendStreamEvent({
249
404
  streamId: activeStream.streamId,
250
405
  type: 'status',
@@ -283,12 +438,13 @@ export class AgentBridge {
283
438
  }
284
439
  }
285
440
  // Task completed
286
- if (parsed.output) {
287
- await this.client.appendStreamEvent({
288
- streamId: activeStream.streamId,
289
- type: 'text.delta',
290
- payload: { text: parsed.output },
441
+ if (parsed.output && !result.streamedAssistantText) {
442
+ queuePhaseStatus('assistant');
443
+ queueStreamAppend('text.delta', {
444
+ text: renderTextChunk({ channel: 'assistant', text: parsed.output }, streamTextState),
445
+ channel: 'assistant',
291
446
  });
447
+ await flushStreamWrites();
292
448
  }
293
449
  await this.client.closeStream({
294
450
  streamId: activeStream.streamId,
@@ -309,6 +465,7 @@ export class AgentBridge {
309
465
  const errorMsg = err.message;
310
466
  console.error(`[${this.name}] Task ${task.taskId} error: ${errorMsg}`);
311
467
  try {
468
+ await flushStreamWrites();
312
469
  if (activeStream) {
313
470
  await this.client.closeStream({
314
471
  streamId: activeStream.streamId,
@@ -327,7 +484,7 @@ export class AgentBridge {
327
484
  catch { /* best effort */ }
328
485
  }
329
486
  finally {
330
- this.processing = false;
487
+ this.activeTaskCount = Math.max(0, this.activeTaskCount - 1);
331
488
  }
332
489
  }
333
490
  handleCancel(task) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-bridge.js","sourceRoot":"","sources":["../src/agent-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-bridge.js","sourceRoot":"","sources":["../src/agent-bridge.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -9,6 +9,7 @@ declare const agentConfigSchema: z.ZodObject<{
9
9
  cardFile: z.ZodOptional<z.ZodString>;
10
10
  credentialsFile: z.ZodOptional<z.ZodString>;
11
11
  senderWhitelist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ taskDispatchConcurrency: z.ZodOptional<z.ZodNumber>;
12
13
  }, "strip", z.ZodTypeAny, {
13
14
  name: string;
14
15
  acpCommand: string;
@@ -19,6 +20,7 @@ declare const agentConfigSchema: z.ZodObject<{
19
20
  cardFile?: string | undefined;
20
21
  credentialsFile?: string | undefined;
21
22
  senderWhitelist?: string[] | undefined;
23
+ taskDispatchConcurrency?: number | undefined;
22
24
  }, {
23
25
  name: string;
24
26
  acpCommand: string;
@@ -29,6 +31,7 @@ declare const agentConfigSchema: z.ZodObject<{
29
31
  cardFile?: string | undefined;
30
32
  credentialsFile?: string | undefined;
31
33
  senderWhitelist?: string[] | undefined;
34
+ taskDispatchConcurrency?: number | undefined;
32
35
  }>;
33
36
  declare const bridgeConfigSchema: z.ZodObject<{
34
37
  aampHost: z.ZodString;
@@ -43,6 +46,7 @@ declare const bridgeConfigSchema: z.ZodObject<{
43
46
  cardFile: z.ZodOptional<z.ZodString>;
44
47
  credentialsFile: z.ZodOptional<z.ZodString>;
45
48
  senderWhitelist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ taskDispatchConcurrency: z.ZodOptional<z.ZodNumber>;
46
50
  }, "strip", z.ZodTypeAny, {
47
51
  name: string;
48
52
  acpCommand: string;
@@ -53,6 +57,7 @@ declare const bridgeConfigSchema: z.ZodObject<{
53
57
  cardFile?: string | undefined;
54
58
  credentialsFile?: string | undefined;
55
59
  senderWhitelist?: string[] | undefined;
60
+ taskDispatchConcurrency?: number | undefined;
56
61
  }, {
57
62
  name: string;
58
63
  acpCommand: string;
@@ -63,6 +68,7 @@ declare const bridgeConfigSchema: z.ZodObject<{
63
68
  cardFile?: string | undefined;
64
69
  credentialsFile?: string | undefined;
65
70
  senderWhitelist?: string[] | undefined;
71
+ taskDispatchConcurrency?: number | undefined;
66
72
  }>, "many">;
67
73
  }, "strip", z.ZodTypeAny, {
68
74
  aampHost: string;
@@ -77,6 +83,7 @@ declare const bridgeConfigSchema: z.ZodObject<{
77
83
  cardFile?: string | undefined;
78
84
  credentialsFile?: string | undefined;
79
85
  senderWhitelist?: string[] | undefined;
86
+ taskDispatchConcurrency?: number | undefined;
80
87
  }[];
81
88
  }, {
82
89
  aampHost: string;
@@ -90,6 +97,7 @@ declare const bridgeConfigSchema: z.ZodObject<{
90
97
  cardFile?: string | undefined;
91
98
  credentialsFile?: string | undefined;
92
99
  senderWhitelist?: string[] | undefined;
100
+ taskDispatchConcurrency?: number | undefined;
93
101
  }[];
94
102
  rejectUnauthorized?: boolean | undefined;
95
103
  }>;
package/dist/config.js CHANGED
@@ -10,6 +10,7 @@ const agentConfigSchema = z.object({
10
10
  cardFile: z.string().optional(),
11
11
  credentialsFile: z.string().optional(),
12
12
  senderWhitelist: z.array(z.string().email()).optional(),
13
+ taskDispatchConcurrency: z.number().int().positive().optional(),
13
14
  });
14
15
  const bridgeConfigSchema = z.object({
15
16
  aampHost: z.string().url(),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAA;AAKF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,qCAAqC,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAA;AAKF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,qCAAqC,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACtC,CAAC"}
@@ -1,3 +1,40 @@
1
+ function isCliTranscriptHeader(line) {
2
+ return /^\[(client|tool|done|error|warning)\](?:\s|$)/i.test(line);
3
+ }
4
+ function sanitizeAgentResponse(output) {
5
+ const trimmed = output.trim();
6
+ if (!trimmed)
7
+ return '';
8
+ if (!trimmed.split(/\r?\n/).some((line) => isCliTranscriptHeader(line))) {
9
+ return trimmed;
10
+ }
11
+ const lines = trimmed.replace(/\r\n/g, '\n').split('\n');
12
+ const textBlocks = [];
13
+ let currentBlock = [];
14
+ let skippingTranscriptDetails = false;
15
+ const flushBlock = () => {
16
+ const block = currentBlock.join('\n').trim();
17
+ if (block)
18
+ textBlocks.push(block);
19
+ currentBlock = [];
20
+ };
21
+ for (const line of lines) {
22
+ if (isCliTranscriptHeader(line)) {
23
+ flushBlock();
24
+ skippingTranscriptDetails = true;
25
+ continue;
26
+ }
27
+ if (skippingTranscriptDetails) {
28
+ if (!line || /^[ \t]+/.test(line)) {
29
+ continue;
30
+ }
31
+ skippingTranscriptDetails = false;
32
+ }
33
+ currentBlock.push(line);
34
+ }
35
+ flushBlock();
36
+ return textBlocks.at(-1) ?? '';
37
+ }
1
38
  /**
2
39
  * Convert an AAMP TaskDispatch into a prompt string for an ACP agent.
3
40
  */
@@ -19,7 +56,7 @@ export function buildPrompt(task, threadContextText) {
19
56
  if (task.expiresAt) {
20
57
  parts.push(``, `Expires At: ${task.expiresAt}`);
21
58
  }
22
- parts.push(``, `Please complete this task and output your result directly.`, `If you cannot complete the task and need more information, start your response with "HELP:" followed by your question.`, ``, `If you create any files as part of this task, list each file path at the end of your response in this exact format:`, `FILE:/absolute/path/to/file`);
59
+ parts.push(``, `Please complete this task and output your result directly.`, `Keep your final reply limited to the final user-facing result.`, `Do not include planning notes, thought process, tool logs, or intermediate progress updates in the final reply.`, `If you cannot complete the task and need more information, start your response with "HELP:" followed by your question.`, ``, `If you create any files as part of this task, list each file path at the end of your response in this exact format:`, `FILE:/absolute/path/to/file`);
23
60
  return parts.join('\n');
24
61
  }
25
62
  /**
@@ -27,7 +64,7 @@ export function buildPrompt(task, threadContextText) {
27
64
  * Returns { isHelp, question, output, files }.
28
65
  */
29
66
  export function parseResponse(output) {
30
- const trimmed = output.trim();
67
+ const trimmed = sanitizeAgentResponse(output);
31
68
  if (trimmed.startsWith('HELP:')) {
32
69
  return {
33
70
  isHelp: true,
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAkB,EAAE,iBAA0B;IACxE,MAAM,KAAK,GAAG;QACZ,cAAc;QACd,EAAE;QACF,YAAY,IAAI,CAAC,MAAM,EAAE;QACzB,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,UAAU,IAAI,CAAC,KAAK,EAAE;QACtB,aAAa,IAAI,CAAC,QAAQ,EAAE;KAC7B,CAAA;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,4DAA4D,EAC5D,wHAAwH,EACxH,EAAE,EACF,qHAAqH,EACrH,6BAA6B,CAC9B,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAM1C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACjC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../src/prompt-builder.ts"],"names":[],"mappings":"AAEA,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,gDAAgD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,IAAI,YAAY,GAAa,EAAE,CAAA;IAC/B,IAAI,yBAAyB,GAAG,KAAK,CAAA;IAErC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5C,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjC,YAAY,GAAG,EAAE,CAAA;IACnB,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,UAAU,EAAE,CAAA;YACZ,yBAAyB,GAAG,IAAI,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAI,yBAAyB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAQ;YACV,CAAC;YACD,yBAAyB,GAAG,KAAK,CAAA;QACnC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,UAAU,EAAE,CAAA;IACZ,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAkB,EAAE,iBAA0B;IACxE,MAAM,KAAK,GAAG;QACZ,cAAc;QACd,EAAE;QACF,YAAY,IAAI,CAAC,MAAM,EAAE;QACzB,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,UAAU,IAAI,CAAC,KAAK,EAAE;QACtB,aAAa,IAAI,CAAC,QAAQ,EAAE;KAC7B,CAAA;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,4DAA4D,EAC5D,gEAAgE,EAChE,iHAAiH,EACjH,wHAAwH,EACxH,EAAE,EACF,qHAAqH,EACrH,6BAA6B,CAC9B,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAM1C,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACjC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;AACxE,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "dist"
5
5
  ],
6
6
  "license": "MIT",
7
- "version": "0.1.11",
7
+ "version": "0.1.12",
8
8
  "description": "Bridge ACP-compatible agents (Claude, Codex, Gemini, etc.) into the AAMP email network — zero code, config-driven",
9
9
  "type": "module",
10
10
  "main": "dist/index.js",