@awcp/sdk 0.0.0-dev-202601300724
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/delegator/admission.d.ts +49 -0
- package/dist/delegator/admission.d.ts.map +1 -0
- package/dist/delegator/admission.js +117 -0
- package/dist/delegator/admission.js.map +1 -0
- package/dist/delegator/bin/client.d.ts +102 -0
- package/dist/delegator/bin/client.d.ts.map +1 -0
- package/dist/delegator/bin/client.js +116 -0
- package/dist/delegator/bin/client.js.map +1 -0
- package/dist/delegator/bin/daemon.d.ts +78 -0
- package/dist/delegator/bin/daemon.d.ts.map +1 -0
- package/dist/delegator/bin/daemon.js +245 -0
- package/dist/delegator/bin/daemon.js.map +1 -0
- package/dist/delegator/config.d.ts +168 -0
- package/dist/delegator/config.d.ts.map +1 -0
- package/dist/delegator/config.js +54 -0
- package/dist/delegator/config.js.map +1 -0
- package/dist/delegator/executor-client.d.ts +36 -0
- package/dist/delegator/executor-client.d.ts.map +1 -0
- package/dist/delegator/executor-client.js +77 -0
- package/dist/delegator/executor-client.js.map +1 -0
- package/dist/delegator/export-view.d.ts +43 -0
- package/dist/delegator/export-view.d.ts.map +1 -0
- package/dist/delegator/export-view.js +108 -0
- package/dist/delegator/export-view.js.map +1 -0
- package/dist/delegator/index.d.ts +8 -0
- package/dist/delegator/index.d.ts.map +1 -0
- package/dist/delegator/index.js +11 -0
- package/dist/delegator/index.js.map +1 -0
- package/dist/delegator/service.d.ts +120 -0
- package/dist/delegator/service.d.ts.map +1 -0
- package/dist/delegator/service.js +323 -0
- package/dist/delegator/service.js.map +1 -0
- package/dist/executor/config.d.ts +126 -0
- package/dist/executor/config.d.ts.map +1 -0
- package/dist/executor/config.js +38 -0
- package/dist/executor/config.js.map +1 -0
- package/dist/executor/delegator-client.d.ts +18 -0
- package/dist/executor/delegator-client.d.ts.map +1 -0
- package/dist/executor/delegator-client.js +37 -0
- package/dist/executor/delegator-client.js.map +1 -0
- package/dist/executor/index.d.ts +5 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +7 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/policy.d.ts +55 -0
- package/dist/executor/policy.d.ts.map +1 -0
- package/dist/executor/policy.js +100 -0
- package/dist/executor/policy.js.map +1 -0
- package/dist/executor/service.d.ts +84 -0
- package/dist/executor/service.d.ts.map +1 -0
- package/dist/executor/service.js +322 -0
- package/dist/executor/service.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/server/express/awcp-delegator-handler.d.ts +67 -0
- package/dist/server/express/awcp-delegator-handler.d.ts.map +1 -0
- package/dist/server/express/awcp-delegator-handler.js +99 -0
- package/dist/server/express/awcp-delegator-handler.js.map +1 -0
- package/dist/server/express/awcp-executor-handler.d.ts +47 -0
- package/dist/server/express/awcp-executor-handler.d.ts.map +1 -0
- package/dist/server/express/awcp-executor-handler.js +104 -0
- package/dist/server/express/awcp-executor-handler.js.map +1 -0
- package/dist/server/express/index.d.ts +6 -0
- package/dist/server/express/index.d.ts.map +1 -0
- package/dist/server/express/index.js +8 -0
- package/dist/server/express/index.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWCP Executor Express Handler
|
|
3
|
+
*
|
|
4
|
+
* Express middleware for enabling AWCP support in an A2A agent (Executor side).
|
|
5
|
+
*/
|
|
6
|
+
import { Router, json } from 'express';
|
|
7
|
+
import { ExecutorService } from '../../executor/service.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create an Express router that handles AWCP messages (Executor side)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import express from 'express';
|
|
14
|
+
* import { executorHandler } from '@awcp/sdk/server/express';
|
|
15
|
+
*
|
|
16
|
+
* const app = express();
|
|
17
|
+
*
|
|
18
|
+
* // ... existing A2A setup ...
|
|
19
|
+
*
|
|
20
|
+
* // Enable AWCP
|
|
21
|
+
* app.use('/awcp', executorHandler({
|
|
22
|
+
* executor: myExecutor,
|
|
23
|
+
* config: {
|
|
24
|
+
* mount: { root: '/tmp/awcp/mounts' },
|
|
25
|
+
* },
|
|
26
|
+
* }));
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export function executorHandler(options) {
|
|
30
|
+
const router = Router();
|
|
31
|
+
const service = new ExecutorService({
|
|
32
|
+
executor: options.executor,
|
|
33
|
+
config: options.config,
|
|
34
|
+
});
|
|
35
|
+
// Parse JSON bodies
|
|
36
|
+
router.use(json());
|
|
37
|
+
/**
|
|
38
|
+
* POST / - Receive AWCP messages from Delegator
|
|
39
|
+
*
|
|
40
|
+
* The Delegator sends INVITE and START messages to this endpoint.
|
|
41
|
+
* The Delegator URL for sending responses is provided in the
|
|
42
|
+
* X-AWCP-Callback-URL header.
|
|
43
|
+
*/
|
|
44
|
+
router.post('/', async (req, res) => {
|
|
45
|
+
try {
|
|
46
|
+
const message = req.body;
|
|
47
|
+
const delegatorUrl = req.headers['x-awcp-callback-url'];
|
|
48
|
+
if (!delegatorUrl && message.type !== 'ERROR') {
|
|
49
|
+
res.status(400).json({
|
|
50
|
+
error: 'Missing X-AWCP-Callback-URL header',
|
|
51
|
+
});
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// For START messages, respond immediately and handle async
|
|
55
|
+
if (message.type === 'START') {
|
|
56
|
+
res.json({ ok: true });
|
|
57
|
+
// Handle START asynchronously (mount + execute task)
|
|
58
|
+
service.handleMessage(message, delegatorUrl ?? '').catch((error) => {
|
|
59
|
+
console.error('[AWCP Executor] Error handling START:', error);
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// Other messages (INVITE, ERROR) are handled synchronously
|
|
64
|
+
const response = await service.handleMessage(message, delegatorUrl ?? '');
|
|
65
|
+
if (response) {
|
|
66
|
+
// INVITE returns ACCEPT/ERROR synchronously
|
|
67
|
+
res.json(response);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
res.json({ ok: true });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.error('[AWCP Executor] Error handling message:', error);
|
|
75
|
+
res.status(500).json({
|
|
76
|
+
error: error instanceof Error ? error.message : 'Internal error',
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* GET /status - Get service status
|
|
82
|
+
*/
|
|
83
|
+
router.get('/status', (_req, res) => {
|
|
84
|
+
res.json(service.getStatus());
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* POST /cancel/:delegationId - Cancel a delegation
|
|
88
|
+
*/
|
|
89
|
+
router.post('/cancel/:delegationId', async (req, res) => {
|
|
90
|
+
try {
|
|
91
|
+
const { delegationId } = req.params;
|
|
92
|
+
await service.cancelDelegation(delegationId);
|
|
93
|
+
res.json({ ok: true, cancelled: true });
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('[AWCP Executor] Error cancelling delegation:', error);
|
|
97
|
+
res.status(error instanceof Error && error.message.includes('not found') ? 404 : 500).json({
|
|
98
|
+
error: error instanceof Error ? error.message : 'Internal error',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return router;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=awcp-executor-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awcp-executor-handler.js","sourceRoot":"","sources":["../../../src/server/express/awcp-executor-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Express integration for AWCP
|
|
3
|
+
*/
|
|
4
|
+
export { executorHandler, type ExecutorHandlerOptions } from './awcp-executor-handler.js';
|
|
5
|
+
export { delegatorHandler, type DelegatorHandlerOptions, type DelegatorHandlerResult, } from './awcp-delegator-handler.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAG1F,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Express integration for AWCP
|
|
3
|
+
*/
|
|
4
|
+
// Executor-side handler (for A2A agents accepting delegations)
|
|
5
|
+
export { executorHandler } from './awcp-executor-handler.js';
|
|
6
|
+
// Delegator-side handler (for agents creating delegations)
|
|
7
|
+
export { delegatorHandler, } from './awcp-delegator-handler.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+DAA+D;AAC/D,OAAO,EAAE,eAAe,EAA+B,MAAM,4BAA4B,CAAC;AAE1F,2DAA2D;AAC3D,OAAO,EACL,gBAAgB,GAGjB,MAAM,6BAA6B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@awcp/sdk",
|
|
3
|
+
"version": "0.0.0-dev-202601300724",
|
|
4
|
+
"description": "AWCP SDK - Delegator and Executor Daemon implementations",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./delegator": {
|
|
14
|
+
"types": "./dist/delegator/index.d.ts",
|
|
15
|
+
"import": "./dist/delegator/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./delegator/client": {
|
|
18
|
+
"types": "./dist/delegator/bin/client.d.ts",
|
|
19
|
+
"import": "./dist/delegator/bin/client.js"
|
|
20
|
+
},
|
|
21
|
+
"./executor": {
|
|
22
|
+
"types": "./dist/executor/index.d.ts",
|
|
23
|
+
"import": "./dist/executor/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./server/express": {
|
|
26
|
+
"types": "./dist/server/express/index.d.ts",
|
|
27
|
+
"import": "./dist/server/express/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"bin": {
|
|
31
|
+
"delegator-daemon": "./dist/delegator/bin/daemon.js"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"dist",
|
|
35
|
+
"README.md"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsc -p tsconfig.build.json",
|
|
39
|
+
"clean": "rm -rf dist *.tsbuildinfo",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"test:watch": "vitest"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@awcp/core": "0.0.0-dev-202601300724",
|
|
45
|
+
"@awcp/transport-sshfs": "0.0.0-dev-202601300724",
|
|
46
|
+
"@a2a-js/sdk": "^0.3.5"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"express": "^4.18.0"
|
|
50
|
+
},
|
|
51
|
+
"peerDependenciesMeta": {
|
|
52
|
+
"express": {
|
|
53
|
+
"optional": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"keywords": [
|
|
57
|
+
"awcp",
|
|
58
|
+
"agent",
|
|
59
|
+
"sdk",
|
|
60
|
+
"delegator",
|
|
61
|
+
"executor"
|
|
62
|
+
],
|
|
63
|
+
"license": "Apache-2.0",
|
|
64
|
+
"repository": {
|
|
65
|
+
"type": "git",
|
|
66
|
+
"url": "https://github.com/anthropics/awcp.git",
|
|
67
|
+
"directory": "packages/sdk"
|
|
68
|
+
}
|
|
69
|
+
}
|