@adcp/client 0.4.0 → 0.4.2
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/dist/lib/core/ADCPClient.d.ts +52 -6
- package/dist/lib/core/ADCPClient.d.ts.map +1 -1
- package/dist/lib/core/ADCPClient.js +107 -14
- package/dist/lib/core/ADCPClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +12 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +34 -7
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +14 -4
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/index.d.ts +1 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +17 -3
- package/dist/lib/protocols/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -57,19 +57,26 @@ export declare class ADCPClient {
|
|
|
57
57
|
* Handle webhook from agent (async task completion)
|
|
58
58
|
*
|
|
59
59
|
* @param payload - Webhook payload from agent
|
|
60
|
-
* @param signature -
|
|
60
|
+
* @param signature - X-ADCP-Signature header (format: "sha256=...")
|
|
61
|
+
* @param timestamp - X-ADCP-Timestamp header (Unix timestamp)
|
|
61
62
|
* @returns Whether webhook was handled successfully
|
|
62
63
|
*
|
|
63
64
|
* @example
|
|
64
65
|
* ```typescript
|
|
65
66
|
* app.post('/webhook', async (req, res) => {
|
|
66
67
|
* const signature = req.headers['x-adcp-signature'];
|
|
67
|
-
* const
|
|
68
|
-
*
|
|
68
|
+
* const timestamp = req.headers['x-adcp-timestamp'];
|
|
69
|
+
*
|
|
70
|
+
* try {
|
|
71
|
+
* const handled = await client.handleWebhook(req.body, signature, timestamp);
|
|
72
|
+
* res.status(200).json({ received: handled });
|
|
73
|
+
* } catch (error) {
|
|
74
|
+
* res.status(401).json({ error: error.message });
|
|
75
|
+
* }
|
|
69
76
|
* });
|
|
70
77
|
* ```
|
|
71
78
|
*/
|
|
72
|
-
handleWebhook(payload: WebhookPayload, signature?: string): Promise<boolean>;
|
|
79
|
+
handleWebhook(payload: WebhookPayload, signature?: string, timestamp?: string | number): Promise<boolean>;
|
|
73
80
|
/**
|
|
74
81
|
* Generate webhook URL using macro substitution
|
|
75
82
|
*
|
|
@@ -90,9 +97,48 @@ export declare class ADCPClient {
|
|
|
90
97
|
*/
|
|
91
98
|
getWebhookUrl(taskType: string, operationId: string): string;
|
|
92
99
|
/**
|
|
93
|
-
*
|
|
100
|
+
* Create an HTTP webhook handler that automatically verifies signatures
|
|
101
|
+
*
|
|
102
|
+
* This helper creates a standard HTTP handler (Express/Next.js/etc.) that:
|
|
103
|
+
* - Extracts X-ADCP-Signature and X-ADCP-Timestamp headers
|
|
104
|
+
* - Verifies HMAC signature (if webhookSecret configured)
|
|
105
|
+
* - Validates timestamp freshness
|
|
106
|
+
* - Calls handleWebhook() with proper error handling
|
|
107
|
+
*
|
|
108
|
+
* @returns HTTP handler function compatible with Express, Next.js, etc.
|
|
109
|
+
*
|
|
110
|
+
* @example Express
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const client = new ADCPClient(agent, {
|
|
113
|
+
* webhookSecret: 'your-secret-key',
|
|
114
|
+
* handlers: {
|
|
115
|
+
* onSyncCreativesStatusChange: async (result) => {
|
|
116
|
+
* console.log('Creative synced:', result);
|
|
117
|
+
* }
|
|
118
|
+
* }
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* app.post('/webhook', client.createWebhookHandler());
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @example Next.js API Route
|
|
125
|
+
* ```typescript
|
|
126
|
+
* export default client.createWebhookHandler();
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
createWebhookHandler(): (req: any, res: any) => Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Verify webhook signature using HMAC-SHA256 per AdCP PR #86 spec
|
|
132
|
+
*
|
|
133
|
+
* Signature format: sha256={hex_signature}
|
|
134
|
+
* Message format: {timestamp}.{json_payload}
|
|
135
|
+
*
|
|
136
|
+
* @param payload - Webhook payload object
|
|
137
|
+
* @param signature - X-ADCP-Signature header value (format: "sha256=...")
|
|
138
|
+
* @param timestamp - X-ADCP-Timestamp header value (Unix timestamp)
|
|
139
|
+
* @returns true if signature is valid
|
|
94
140
|
*/
|
|
95
|
-
|
|
141
|
+
verifyWebhookSignature(payload: any, signature: string, timestamp: string | number): boolean;
|
|
96
142
|
/**
|
|
97
143
|
* Execute task and call appropriate handler on completion
|
|
98
144
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADCPClient.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,kCAAkC,EAClC,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAInF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,wFAAwF;IACxF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAU;IAKnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAe;gBAG1B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,gBAAqB;
|
|
1
|
+
{"version":3,"file":"ADCPClient.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,10 @@ class ADCPClient {
|
|
|
64
64
|
this.executor = new TaskExecutor_1.TaskExecutor({
|
|
65
65
|
workingTimeout: config.workingTimeout || 120000, // Max 120s for working status
|
|
66
66
|
defaultMaxClarifications: config.defaultMaxClarifications || 3,
|
|
67
|
-
enableConversationStorage: config.persistConversations !== false
|
|
67
|
+
enableConversationStorage: config.persistConversations !== false,
|
|
68
|
+
webhookUrlTemplate: config.webhookUrlTemplate,
|
|
69
|
+
agentId: agent.id,
|
|
70
|
+
webhookSecret: config.webhookSecret
|
|
68
71
|
});
|
|
69
72
|
// Create async handler if handlers are provided
|
|
70
73
|
if (config.handlers) {
|
|
@@ -75,27 +78,34 @@ class ADCPClient {
|
|
|
75
78
|
* Handle webhook from agent (async task completion)
|
|
76
79
|
*
|
|
77
80
|
* @param payload - Webhook payload from agent
|
|
78
|
-
* @param signature -
|
|
81
|
+
* @param signature - X-ADCP-Signature header (format: "sha256=...")
|
|
82
|
+
* @param timestamp - X-ADCP-Timestamp header (Unix timestamp)
|
|
79
83
|
* @returns Whether webhook was handled successfully
|
|
80
84
|
*
|
|
81
85
|
* @example
|
|
82
86
|
* ```typescript
|
|
83
87
|
* app.post('/webhook', async (req, res) => {
|
|
84
88
|
* const signature = req.headers['x-adcp-signature'];
|
|
85
|
-
* const
|
|
86
|
-
*
|
|
89
|
+
* const timestamp = req.headers['x-adcp-timestamp'];
|
|
90
|
+
*
|
|
91
|
+
* try {
|
|
92
|
+
* const handled = await client.handleWebhook(req.body, signature, timestamp);
|
|
93
|
+
* res.status(200).json({ received: handled });
|
|
94
|
+
* } catch (error) {
|
|
95
|
+
* res.status(401).json({ error: error.message });
|
|
96
|
+
* }
|
|
87
97
|
* });
|
|
88
98
|
* ```
|
|
89
99
|
*/
|
|
90
|
-
async handleWebhook(payload, signature) {
|
|
100
|
+
async handleWebhook(payload, signature, timestamp) {
|
|
91
101
|
// Verify signature if secret is configured
|
|
92
102
|
if (this.config.webhookSecret) {
|
|
93
|
-
if (!signature) {
|
|
94
|
-
throw new Error('Webhook signature required but not provided');
|
|
103
|
+
if (!signature || !timestamp) {
|
|
104
|
+
throw new Error('Webhook signature and timestamp required but not provided');
|
|
95
105
|
}
|
|
96
|
-
const isValid = this.verifyWebhookSignature(payload, signature);
|
|
106
|
+
const isValid = this.verifyWebhookSignature(payload, signature, timestamp);
|
|
97
107
|
if (!isValid) {
|
|
98
|
-
throw new Error('Invalid webhook signature');
|
|
108
|
+
throw new Error('Invalid webhook signature or timestamp too old');
|
|
99
109
|
}
|
|
100
110
|
}
|
|
101
111
|
// Emit activity
|
|
@@ -146,16 +156,99 @@ class ADCPClient {
|
|
|
146
156
|
.replace(/{operation_id}/g, operationId);
|
|
147
157
|
}
|
|
148
158
|
/**
|
|
149
|
-
*
|
|
159
|
+
* Create an HTTP webhook handler that automatically verifies signatures
|
|
160
|
+
*
|
|
161
|
+
* This helper creates a standard HTTP handler (Express/Next.js/etc.) that:
|
|
162
|
+
* - Extracts X-ADCP-Signature and X-ADCP-Timestamp headers
|
|
163
|
+
* - Verifies HMAC signature (if webhookSecret configured)
|
|
164
|
+
* - Validates timestamp freshness
|
|
165
|
+
* - Calls handleWebhook() with proper error handling
|
|
166
|
+
*
|
|
167
|
+
* @returns HTTP handler function compatible with Express, Next.js, etc.
|
|
168
|
+
*
|
|
169
|
+
* @example Express
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const client = new ADCPClient(agent, {
|
|
172
|
+
* webhookSecret: 'your-secret-key',
|
|
173
|
+
* handlers: {
|
|
174
|
+
* onSyncCreativesStatusChange: async (result) => {
|
|
175
|
+
* console.log('Creative synced:', result);
|
|
176
|
+
* }
|
|
177
|
+
* }
|
|
178
|
+
* });
|
|
179
|
+
*
|
|
180
|
+
* app.post('/webhook', client.createWebhookHandler());
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @example Next.js API Route
|
|
184
|
+
* ```typescript
|
|
185
|
+
* export default client.createWebhookHandler();
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
createWebhookHandler() {
|
|
189
|
+
return async (req, res) => {
|
|
190
|
+
try {
|
|
191
|
+
// Extract headers (case-insensitive)
|
|
192
|
+
const signature = req.headers['x-adcp-signature'] || req.headers['X-ADCP-Signature'];
|
|
193
|
+
const timestamp = req.headers['x-adcp-timestamp'] || req.headers['X-ADCP-Timestamp'];
|
|
194
|
+
// Parse body if needed
|
|
195
|
+
const payload = typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
|
|
196
|
+
// Handle webhook with automatic verification
|
|
197
|
+
const handled = await this.handleWebhook(payload, signature, timestamp);
|
|
198
|
+
// Return success
|
|
199
|
+
if (res.json) {
|
|
200
|
+
res.status(202).json({ status: 'accepted', received: handled });
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
res.writeHead(202, { 'Content-Type': 'application/json' });
|
|
204
|
+
res.end(JSON.stringify({ status: 'accepted', received: handled }));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
// Return error
|
|
209
|
+
const statusCode = error.message.includes('signature') || error.message.includes('timestamp') ? 401 : 500;
|
|
210
|
+
if (res.json) {
|
|
211
|
+
res.status(statusCode).json({ error: error.message });
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
215
|
+
res.end(JSON.stringify({ error: error.message }));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Verify webhook signature using HMAC-SHA256 per AdCP PR #86 spec
|
|
222
|
+
*
|
|
223
|
+
* Signature format: sha256={hex_signature}
|
|
224
|
+
* Message format: {timestamp}.{json_payload}
|
|
225
|
+
*
|
|
226
|
+
* @param payload - Webhook payload object
|
|
227
|
+
* @param signature - X-ADCP-Signature header value (format: "sha256=...")
|
|
228
|
+
* @param timestamp - X-ADCP-Timestamp header value (Unix timestamp)
|
|
229
|
+
* @returns true if signature is valid
|
|
150
230
|
*/
|
|
151
|
-
verifyWebhookSignature(payload, signature) {
|
|
231
|
+
verifyWebhookSignature(payload, signature, timestamp) {
|
|
152
232
|
if (!this.config.webhookSecret) {
|
|
153
233
|
return false;
|
|
154
234
|
}
|
|
235
|
+
// Validate timestamp freshness (reject requests older than 5 minutes)
|
|
236
|
+
const now = Math.floor(Date.now() / 1000);
|
|
237
|
+
const ts = typeof timestamp === 'string' ? parseInt(timestamp) : timestamp;
|
|
238
|
+
if (Math.abs(now - ts) > 300) {
|
|
239
|
+
return false; // Request too old or from future
|
|
240
|
+
}
|
|
241
|
+
// Build message per AdCP spec: {timestamp}.{json_payload}
|
|
242
|
+
const message = `${ts}.${JSON.stringify(payload)}`;
|
|
243
|
+
// Calculate expected signature
|
|
155
244
|
const hmac = crypto.createHmac('sha256', this.config.webhookSecret);
|
|
156
|
-
|
|
157
|
-
hmac.
|
|
158
|
-
|
|
245
|
+
hmac.update(message);
|
|
246
|
+
const expectedSignature = `sha256=${hmac.digest('hex')}`;
|
|
247
|
+
// Constant-time comparison to prevent timing attacks
|
|
248
|
+
// Check length first to avoid timingSafeEqual error
|
|
249
|
+
if (signature.length !== expectedSignature.length) {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
159
252
|
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expectedSignature));
|
|
160
253
|
}
|
|
161
254
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADCPClient.js","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":";AAAA,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ADCPClient.js","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,8 @@ export declare class TaskExecutor {
|
|
|
48
48
|
constructor(config?: {
|
|
49
49
|
/** Default timeout for 'working' status (max 120s per PR #78) */
|
|
50
50
|
workingTimeout?: number;
|
|
51
|
+
/** Polling interval for 'working' status in milliseconds (default: 2000ms) */
|
|
52
|
+
pollingInterval?: number;
|
|
51
53
|
/** Default max clarification attempts */
|
|
52
54
|
defaultMaxClarifications?: number;
|
|
53
55
|
/** Enable conversation storage */
|
|
@@ -56,7 +58,17 @@ export declare class TaskExecutor {
|
|
|
56
58
|
webhookManager?: WebhookManager;
|
|
57
59
|
/** Storage for deferred task state */
|
|
58
60
|
deferredStorage?: Storage<DeferredTaskState>;
|
|
61
|
+
/** Webhook URL template for protocol-level webhook support */
|
|
62
|
+
webhookUrlTemplate?: string;
|
|
63
|
+
/** Agent ID for webhook URL generation */
|
|
64
|
+
agentId?: string;
|
|
65
|
+
/** Webhook secret for HMAC authentication (min 32 chars) */
|
|
66
|
+
webhookSecret?: string;
|
|
59
67
|
});
|
|
68
|
+
/**
|
|
69
|
+
* Generate webhook URL for protocol-level webhook support
|
|
70
|
+
*/
|
|
71
|
+
private generateWebhookUrl;
|
|
60
72
|
/**
|
|
61
73
|
* Execute a task with an agent using PR #78 async patterns
|
|
62
74
|
* Handles: working (keep SSE open), submitted (webhook), input-required (handler), completed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskExecutor.d.ts","sourceRoot":"","sources":["../../../src/lib/core/TaskExecutor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EAEP,YAAY,EAEZ,WAAW,EACX,UAAU,EACV,SAAS,EAET,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAIhD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACvB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAIjC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,YAAY;IAMrB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,mBAAmB,CAAC,CAAyB;gBAG3C,MAAM,GAAE;QACd,iEAAiE;QACjE,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,yCAAyC;QACzC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,kCAAkC;QAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,0CAA0C;QAC1C,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,sCAAsC;QACtC,eAAe,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskExecutor.d.ts","sourceRoot":"","sources":["../../../src/lib/core/TaskExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,18 @@ class TaskExecutor {
|
|
|
55
55
|
this.conversationStorage = new Map();
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Generate webhook URL for protocol-level webhook support
|
|
60
|
+
*/
|
|
61
|
+
generateWebhookUrl(taskName, operationId) {
|
|
62
|
+
if (!this.config.webhookUrlTemplate || !this.config.agentId) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return this.config.webhookUrlTemplate
|
|
66
|
+
.replace(/{agent_id}/g, this.config.agentId)
|
|
67
|
+
.replace(/{task_type}/g, taskName)
|
|
68
|
+
.replace(/{operation_id}/g, operationId);
|
|
69
|
+
}
|
|
58
70
|
/**
|
|
59
71
|
* Execute a task with an agent using PR #78 async patterns
|
|
60
72
|
* Handles: working (keep SSE open), submitted (webhook), input-required (handler), completed
|
|
@@ -95,9 +107,11 @@ class TaskExecutor {
|
|
|
95
107
|
};
|
|
96
108
|
// Start streaming connection
|
|
97
109
|
const debugLogs = [];
|
|
110
|
+
// Generate webhook URL if template is configured
|
|
111
|
+
const webhookUrl = this.generateWebhookUrl(taskName, taskId);
|
|
98
112
|
try {
|
|
99
|
-
// Send initial request and get streaming response
|
|
100
|
-
const response = await protocols_1.ProtocolClient.callTool(agent, taskName, params, debugLogs);
|
|
113
|
+
// Send initial request and get streaming response with webhook URL
|
|
114
|
+
const response = await protocols_1.ProtocolClient.callTool(agent, taskName, params, debugLogs, webhookUrl, this.config.webhookSecret);
|
|
101
115
|
// Add initial response message
|
|
102
116
|
const responseMessage = {
|
|
103
117
|
id: (0, crypto_1.randomUUID)(),
|
|
@@ -124,10 +138,14 @@ class TaskExecutor {
|
|
|
124
138
|
// Task completed immediately
|
|
125
139
|
const completedData = this.extractResponseData(response, debugLogs);
|
|
126
140
|
this.updateTaskStatus(taskId, 'completed', completedData);
|
|
141
|
+
// Check if the actual operation succeeded (not just the task)
|
|
142
|
+
// Some agents return { success: false, message: "error" } even with status: completed
|
|
143
|
+
const operationSuccess = completedData?.success !== false;
|
|
127
144
|
return {
|
|
128
|
-
success:
|
|
145
|
+
success: operationSuccess,
|
|
129
146
|
status: 'completed',
|
|
130
147
|
data: completedData,
|
|
148
|
+
error: operationSuccess ? undefined : (completedData?.message || 'Operation failed'),
|
|
131
149
|
metadata: {
|
|
132
150
|
taskId,
|
|
133
151
|
taskName,
|
|
@@ -157,10 +175,13 @@ class TaskExecutor {
|
|
|
157
175
|
// Unknown status - treat as completed if we have data
|
|
158
176
|
const defaultData = this.extractResponseData(response, debugLogs);
|
|
159
177
|
if (defaultData && (defaultData !== response || response.structuredContent || response.result || response.data)) {
|
|
178
|
+
// Check if the actual operation succeeded
|
|
179
|
+
const defaultSuccess = defaultData?.success !== false;
|
|
160
180
|
return {
|
|
161
|
-
success:
|
|
181
|
+
success: defaultSuccess,
|
|
162
182
|
status: 'completed',
|
|
163
183
|
data: defaultData,
|
|
184
|
+
error: defaultSuccess ? undefined : (defaultData?.message || 'Operation failed'),
|
|
164
185
|
metadata: {
|
|
165
186
|
taskId,
|
|
166
187
|
taskName,
|
|
@@ -250,17 +271,20 @@ class TaskExecutor {
|
|
|
250
271
|
// TODO: Implement SSE/streaming connection waiting
|
|
251
272
|
// For now, simulate by polling tasks/get endpoint
|
|
252
273
|
const workingTimeout = this.config.workingTimeout || 120000;
|
|
253
|
-
const pollInterval = 2000;
|
|
274
|
+
const pollInterval = this.config.pollingInterval || 2000;
|
|
254
275
|
const deadline = Date.now() + workingTimeout;
|
|
255
276
|
while (Date.now() < deadline) {
|
|
256
277
|
await this.sleep(pollInterval);
|
|
257
278
|
try {
|
|
258
279
|
const taskInfo = await this.getTaskStatus(agent, taskId);
|
|
259
280
|
if (taskInfo.status === ProtocolResponseParser_1.ADCP_STATUS.COMPLETED) {
|
|
281
|
+
// Check if the actual operation succeeded
|
|
282
|
+
const workingSuccess = taskInfo.result?.success !== false;
|
|
260
283
|
return {
|
|
261
|
-
success:
|
|
284
|
+
success: workingSuccess,
|
|
262
285
|
status: 'completed',
|
|
263
286
|
data: taskInfo.result,
|
|
287
|
+
error: workingSuccess ? undefined : (taskInfo.result?.message || 'Operation failed'),
|
|
264
288
|
metadata: {
|
|
265
289
|
taskId,
|
|
266
290
|
taskName,
|
|
@@ -411,10 +435,13 @@ class TaskExecutor {
|
|
|
411
435
|
while (true) {
|
|
412
436
|
const status = await this.getTaskStatus(agent, taskId);
|
|
413
437
|
if (status.status === ProtocolResponseParser_1.ADCP_STATUS.COMPLETED) {
|
|
438
|
+
// Check if the actual operation succeeded
|
|
439
|
+
const pollSuccess = status.result?.success !== false;
|
|
414
440
|
return {
|
|
415
|
-
success:
|
|
441
|
+
success: pollSuccess,
|
|
416
442
|
status: 'completed',
|
|
417
443
|
data: status.result,
|
|
444
|
+
error: pollSuccess ? undefined : (status.result?.message || 'Operation failed'),
|
|
418
445
|
metadata: {
|
|
419
446
|
taskId,
|
|
420
447
|
taskName: status.taskType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskExecutor.js","sourceRoot":"","sources":["../../../src/lib/core/TaskExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskExecutor.js","sourceRoot":"","sources":["../../../src/lib/core/TaskExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,GAAG,EAAO,GACpB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,GAAG,EAAO,GACpB,OAAO,CAAC,GAAG,CAAC,CAgFd"}
|
|
@@ -9,14 +9,24 @@ if (!A2AClient) {
|
|
|
9
9
|
}
|
|
10
10
|
async function callA2ATool(agentUrl, toolName, parameters, authToken, debugLogs = []) {
|
|
11
11
|
// Create authenticated fetch if needed
|
|
12
|
+
// Send both auth headers to support different server implementations
|
|
12
13
|
const fetchImpl = authToken ?
|
|
13
14
|
async (url, options) => {
|
|
15
|
+
const headers = {
|
|
16
|
+
'Authorization': `Bearer ${authToken}`,
|
|
17
|
+
'x-adcp-auth': authToken,
|
|
18
|
+
...(options?.headers || {})
|
|
19
|
+
};
|
|
20
|
+
debugLogs.push({
|
|
21
|
+
type: 'info',
|
|
22
|
+
message: `A2A: Fetch with auth headers`,
|
|
23
|
+
timestamp: new Date().toISOString(),
|
|
24
|
+
url: url.toString(),
|
|
25
|
+
headers: { ...headers, 'Authorization': 'Bearer ***', 'x-adcp-auth': '***' }
|
|
26
|
+
});
|
|
14
27
|
return fetch(url, {
|
|
15
28
|
...options,
|
|
16
|
-
headers
|
|
17
|
-
'Authorization': `Bearer ${authToken}`,
|
|
18
|
-
...(options?.headers || {})
|
|
19
|
-
}
|
|
29
|
+
headers
|
|
20
30
|
});
|
|
21
31
|
} : undefined;
|
|
22
32
|
// Create A2A client using the recommended fromCardUrl method
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class ProtocolClient {
|
|
|
8
8
|
/**
|
|
9
9
|
* Call a tool on an agent using the appropriate protocol
|
|
10
10
|
*/
|
|
11
|
-
static callTool(agent: AgentConfig, toolName: string, args: Record<string, any>, debugLogs?: any[]): Promise<any>;
|
|
11
|
+
static callTool(agent: AgentConfig, toolName: string, args: Record<string, any>, debugLogs?: any[], webhookUrl?: string, webhookSecret?: string): Promise<any>;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Simple factory functions for protocol-specific clients
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;WACU,QAAQ,CACnB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,GAAE,GAAG,EAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;WACU,QAAQ,CACnB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,GAAE,GAAG,EAAO,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,GAAG,CAAC;CAwChB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM;yBAC7C,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE;CAEzE,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM;yBAC7C,MAAM,cAAc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE;CAE/E,CAAC"}
|
|
@@ -17,14 +17,28 @@ class ProtocolClient {
|
|
|
17
17
|
/**
|
|
18
18
|
* Call a tool on an agent using the appropriate protocol
|
|
19
19
|
*/
|
|
20
|
-
static async callTool(agent, toolName, args, debugLogs = []) {
|
|
20
|
+
static async callTool(agent, toolName, args, debugLogs = [], webhookUrl, webhookSecret) {
|
|
21
21
|
(0, validation_1.validateAgentUrl)(agent.agent_uri);
|
|
22
22
|
const authToken = (0, auth_1.getAuthToken)(agent);
|
|
23
|
+
// Include push_notification_config in args if provided (AdCP spec)
|
|
24
|
+
// Format: { url: string, authentication: { schemes: string[], credentials: string } }
|
|
25
|
+
const argsWithWebhook = webhookUrl
|
|
26
|
+
? {
|
|
27
|
+
...args,
|
|
28
|
+
push_notification_config: {
|
|
29
|
+
url: webhookUrl,
|
|
30
|
+
authentication: {
|
|
31
|
+
schemes: ['HMAC-SHA256'],
|
|
32
|
+
credentials: webhookSecret || 'placeholder_secret_min_32_characters_required'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
: args;
|
|
23
37
|
if (agent.protocol === 'mcp') {
|
|
24
|
-
return (0, mcp_2.callMCPTool)(agent.agent_uri, toolName,
|
|
38
|
+
return (0, mcp_2.callMCPTool)(agent.agent_uri, toolName, argsWithWebhook, authToken, debugLogs);
|
|
25
39
|
}
|
|
26
40
|
else if (agent.protocol === 'a2a') {
|
|
27
|
-
return (0, a2a_2.callA2ATool)(agent.agent_uri, toolName,
|
|
41
|
+
return (0, a2a_2.callA2ATool)(agent.agent_uri, toolName, argsWithWebhook, // This maps to 'parameters' in callA2ATool
|
|
28
42
|
authToken, debugLogs);
|
|
29
43
|
}
|
|
30
44
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AAEpB,+BAAoC;AACpC,+BAAoC;AAEpC,kCAAuC;AACvC,8CAAiD;AAEjD;;GAEG;AACH,MAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,KAAkB,EAClB,QAAgB,EAChB,IAAyB,EACzB,YAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AAEpB,+BAAoC;AACpC,+BAAoC;AAEpC,kCAAuC;AACvC,8CAAiD;AAEjD;;GAEG;AACH,MAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,KAAkB,EAClB,QAAgB,EAChB,IAAyB,EACzB,YAAmB,EAAE,EACrB,UAAmB,EACnB,aAAsB;QAEtB,IAAA,6BAAgB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,KAAK,CAAC,CAAC;QAEtC,mEAAmE;QACnE,sFAAsF;QACtF,MAAM,eAAe,GAAG,UAAU;YAChC,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,wBAAwB,EAAE;oBACxB,GAAG,EAAE,UAAU;oBACf,cAAc,EAAE;wBACd,OAAO,EAAE,CAAC,aAAa,CAAC;wBACxB,WAAW,EAAE,aAAa,IAAI,+CAA+C;qBAC9E;iBACF;aACF;YACH,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAA,iBAAW,EAChB,KAAK,CAAC,SAAS,EACf,QAAQ,EACR,eAAe,EACf,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,IAAA,iBAAW,EAChB,KAAK,CAAC,SAAS,EACf,QAAQ,EACR,eAAe,EAAE,2CAA2C;YAC5D,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AAnDD,wCAmDC;AAED;;GAEG;AACI,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,SAAkB,EAAE,EAAE,CAAC,CAAC;IACxE,QAAQ,EAAE,CAAC,QAAgB,EAAE,IAAyB,EAAE,SAAiB,EAAE,EAAE,CAC3E,IAAA,iBAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC;CAC9D,CAAC,CAAC;AAHU,QAAA,eAAe,mBAGzB;AAEI,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,SAAkB,EAAE,EAAE,CAAC,CAAC;IACxE,QAAQ,EAAE,CAAC,QAAgB,EAAE,UAA+B,EAAE,SAAiB,EAAE,EAAE,CACjF,IAAA,iBAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;CACpE,CAAC,CAAC;AAHU,QAAA,eAAe,mBAGzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adcp/client",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "AdCP client library with protocol support for MCP and A2A, includes testing framework",
|
|
5
5
|
"main": "dist/lib/index.js",
|
|
6
6
|
"types": "dist/lib/index.d.ts",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"LICENSE"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
+
"prepare": "node scripts/install-hooks.js 2>/dev/null || true",
|
|
24
25
|
"dev": "tsx src/server/server.ts",
|
|
25
26
|
"build": "npm run build:lib && tsc && cp -r src/public dist/",
|
|
26
27
|
"build:lib": "tsc --project tsconfig.lib.json",
|
|
@@ -92,6 +93,7 @@
|
|
|
92
93
|
},
|
|
93
94
|
"devDependencies": {
|
|
94
95
|
"@a2a-js/sdk": "^0.3.4",
|
|
96
|
+
"@apidevtools/json-schema-ref-parser": "^14.2.1",
|
|
95
97
|
"@commitlint/cli": "^18.4.3",
|
|
96
98
|
"@commitlint/config-conventional": "^18.4.3",
|
|
97
99
|
"@fastify/cors": "^9.0.1",
|
|
@@ -102,6 +104,7 @@
|
|
|
102
104
|
"cors": "^2.8.5",
|
|
103
105
|
"express": "^5.1.0",
|
|
104
106
|
"fastify": "^4.24.3",
|
|
107
|
+
"json-schema-to-ts": "^3.1.1",
|
|
105
108
|
"json-schema-to-typescript": "^13.1.0",
|
|
106
109
|
"markdown-it": "^14.1.0",
|
|
107
110
|
"node-fetch": "^3.3.2",
|