@awcp/sdk 0.0.0-dev-202601301521 → 0.0.1
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/bin/daemon.d.ts +1 -9
- package/dist/delegator/bin/daemon.d.ts.map +1 -1
- package/dist/delegator/bin/daemon.js +7 -18
- package/dist/delegator/bin/daemon.js.map +1 -1
- package/dist/delegator/config.d.ts +71 -9
- package/dist/delegator/config.d.ts.map +1 -1
- package/dist/delegator/config.js +12 -1
- package/dist/delegator/config.js.map +1 -1
- package/dist/delegator/index.d.ts +2 -2
- package/dist/delegator/index.d.ts.map +1 -1
- package/dist/delegator/index.js +3 -3
- package/dist/delegator/index.js.map +1 -1
- package/dist/delegator/service.d.ts +69 -1
- package/dist/delegator/service.d.ts.map +1 -1
- package/dist/delegator/service.js +100 -15
- package/dist/delegator/service.js.map +1 -1
- package/dist/executor/config.d.ts +81 -11
- package/dist/executor/config.d.ts.map +1 -1
- package/dist/executor/config.js +9 -2
- package/dist/executor/config.js.map +1 -1
- package/dist/executor/index.d.ts +2 -2
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +2 -2
- package/dist/executor/index.js.map +1 -1
- 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 +49 -3
- package/dist/executor/service.d.ts.map +1 -1
- package/dist/executor/service.js +112 -33
- package/dist/executor/service.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/delegator/export-manager.d.ts +0 -27
- package/dist/delegator/export-manager.d.ts.map +0 -1
- package/dist/delegator/export-manager.js +0 -85
- package/dist/delegator/export-manager.js.map +0 -1
- package/dist/executor/workspace-manager.d.ts +0 -30
- package/dist/executor/workspace-manager.d.ts.map +0 -1
- package/dist/executor/workspace-manager.js +0 -75
- package/dist/executor/workspace-manager.js.map +0 -1
|
@@ -2,46 +2,73 @@
|
|
|
2
2
|
* AWCP Delegator Service
|
|
3
3
|
*
|
|
4
4
|
* Manages the AWCP delegation protocol on the Delegator side.
|
|
5
|
+
* Integrates credential management and export view creation.
|
|
5
6
|
*/
|
|
6
7
|
import { randomUUID } from 'node:crypto';
|
|
8
|
+
import { CredentialManager } from '@awcp/transport-sshfs';
|
|
7
9
|
import { DelegationStateMachine, createDelegation, applyMessageToDelegation, PROTOCOL_VERSION, AwcpError, WorkspaceTooLargeError, } from '@awcp/core';
|
|
8
10
|
import { resolveDelegatorConfig } from './config.js';
|
|
9
11
|
import { AdmissionController } from './admission.js';
|
|
10
|
-
import {
|
|
12
|
+
import { ExportViewManager } from './export-view.js';
|
|
11
13
|
import { ExecutorClient } from './executor-client.js';
|
|
14
|
+
/**
|
|
15
|
+
* AWCP Delegator Service
|
|
16
|
+
*
|
|
17
|
+
* Manages the AWCP delegation lifecycle from the Delegator side:
|
|
18
|
+
* 1. Creates export view for workspace
|
|
19
|
+
* 2. Sends INVITE to Executor
|
|
20
|
+
* 3. Receives ACCEPT, generates credentials
|
|
21
|
+
* 4. Sends START with credentials
|
|
22
|
+
* 5. Receives DONE/ERROR, cleans up
|
|
23
|
+
*/
|
|
12
24
|
export class DelegatorService {
|
|
13
25
|
config;
|
|
14
26
|
callbackUrl;
|
|
15
|
-
transport;
|
|
16
27
|
admissionController;
|
|
17
28
|
exportManager;
|
|
29
|
+
credentialManager;
|
|
18
30
|
executorClient;
|
|
19
31
|
delegations = new Map();
|
|
20
32
|
stateMachines = new Map();
|
|
21
|
-
executorUrls = new Map();
|
|
33
|
+
executorUrls = new Map(); // delegationId -> executorUrl
|
|
22
34
|
constructor(options) {
|
|
23
35
|
this.config = resolveDelegatorConfig(options.config);
|
|
24
36
|
this.callbackUrl = options.callbackUrl;
|
|
25
|
-
this.transport = this.config.transport;
|
|
26
37
|
this.admissionController = new AdmissionController({
|
|
27
38
|
maxTotalBytes: this.config.admission.maxTotalBytes,
|
|
28
39
|
maxFileCount: this.config.admission.maxFileCount,
|
|
29
40
|
maxSingleFileBytes: this.config.admission.maxSingleFileBytes,
|
|
30
41
|
});
|
|
31
|
-
this.exportManager = new
|
|
42
|
+
this.exportManager = new ExportViewManager({
|
|
32
43
|
baseDir: this.config.export.baseDir,
|
|
33
44
|
strategy: this.config.export.strategy,
|
|
34
45
|
});
|
|
46
|
+
this.credentialManager = new CredentialManager({
|
|
47
|
+
keyDir: this.config.ssh.keyDir,
|
|
48
|
+
sshHost: this.config.ssh.host,
|
|
49
|
+
sshPort: this.config.ssh.port,
|
|
50
|
+
sshUser: this.config.ssh.user,
|
|
51
|
+
});
|
|
35
52
|
this.executorClient = new ExecutorClient({
|
|
36
53
|
callbackUrl: this.callbackUrl,
|
|
37
54
|
});
|
|
38
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a new delegation
|
|
58
|
+
*
|
|
59
|
+
* This sends an INVITE to the Executor and waits for ACCEPT.
|
|
60
|
+
* After ACCEPT, it automatically sends START with credentials.
|
|
61
|
+
*
|
|
62
|
+
* @returns The delegation ID
|
|
63
|
+
*/
|
|
39
64
|
async delegate(params) {
|
|
40
65
|
const delegationId = randomUUID();
|
|
66
|
+
// Step 1: Admission Control
|
|
41
67
|
const admissionResult = await this.admissionController.check(params.localDir);
|
|
42
68
|
if (!admissionResult.allowed) {
|
|
43
69
|
throw new WorkspaceTooLargeError(admissionResult.stats ?? {}, admissionResult.hint, delegationId);
|
|
44
70
|
}
|
|
71
|
+
// Step 2: Create delegation record
|
|
45
72
|
const ttlSeconds = params.ttlSeconds ?? this.config.defaults.ttlSeconds;
|
|
46
73
|
const accessMode = params.accessMode ?? this.config.defaults.accessMode;
|
|
47
74
|
const delegation = createDelegation({
|
|
@@ -51,12 +78,16 @@ export class DelegatorService {
|
|
|
51
78
|
task: params.task,
|
|
52
79
|
leaseConfig: { ttlSeconds, accessMode },
|
|
53
80
|
});
|
|
54
|
-
|
|
81
|
+
// Step 3: Create export view
|
|
82
|
+
const exportPath = await this.exportManager.create(delegationId, params.localDir);
|
|
55
83
|
delegation.exportPath = exportPath;
|
|
84
|
+
// Step 4: Initialize state machine
|
|
56
85
|
const stateMachine = new DelegationStateMachine();
|
|
86
|
+
// Step 5: Store delegation
|
|
57
87
|
this.delegations.set(delegationId, delegation);
|
|
58
88
|
this.stateMachines.set(delegationId, stateMachine);
|
|
59
89
|
this.executorUrls.set(delegationId, params.executorUrl);
|
|
90
|
+
// Step 6: Build and send INVITE
|
|
60
91
|
const inviteMessage = {
|
|
61
92
|
version: PROTOCOL_VERSION,
|
|
62
93
|
type: 'INVITE',
|
|
@@ -67,28 +98,40 @@ export class DelegatorService {
|
|
|
67
98
|
exportName: `awcp/${delegationId}`,
|
|
68
99
|
},
|
|
69
100
|
requirements: {
|
|
70
|
-
transport:
|
|
101
|
+
transport: 'sshfs',
|
|
71
102
|
},
|
|
103
|
+
// Include auth if provided (for paid/restricted Executor services)
|
|
72
104
|
...(params.auth && { auth: params.auth }),
|
|
73
105
|
};
|
|
106
|
+
// Transition state
|
|
74
107
|
stateMachine.transition({ type: 'SEND_INVITE', message: inviteMessage });
|
|
75
108
|
delegation.state = stateMachine.getState();
|
|
76
109
|
delegation.updatedAt = new Date().toISOString();
|
|
77
110
|
try {
|
|
111
|
+
// Send INVITE and get response (ACCEPT or ERROR)
|
|
78
112
|
const response = await this.executorClient.sendInvite(params.executorUrl, inviteMessage);
|
|
79
113
|
if (response.type === 'ERROR') {
|
|
114
|
+
// Executor rejected
|
|
80
115
|
await this.handleError(response);
|
|
81
116
|
throw new AwcpError(response.code, response.message, response.hint, delegationId);
|
|
82
117
|
}
|
|
118
|
+
// Got ACCEPT - process it
|
|
83
119
|
await this.handleAccept(response);
|
|
120
|
+
// Call hook
|
|
84
121
|
this.config.hooks.onDelegationCreated?.(delegation);
|
|
85
122
|
return delegationId;
|
|
86
123
|
}
|
|
87
124
|
catch (error) {
|
|
125
|
+
// Cleanup on error
|
|
88
126
|
await this.cleanup(delegationId);
|
|
89
127
|
throw error;
|
|
90
128
|
}
|
|
91
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Handle ACCEPT message from Executor
|
|
132
|
+
*
|
|
133
|
+
* This is called internally after INVITE, or externally via the Express handler.
|
|
134
|
+
*/
|
|
92
135
|
async handleAccept(message) {
|
|
93
136
|
const delegation = this.delegations.get(message.delegationId);
|
|
94
137
|
if (!delegation) {
|
|
@@ -97,20 +140,20 @@ export class DelegatorService {
|
|
|
97
140
|
}
|
|
98
141
|
const stateMachine = this.stateMachines.get(message.delegationId);
|
|
99
142
|
const executorUrl = this.executorUrls.get(message.delegationId);
|
|
143
|
+
// Transition state
|
|
100
144
|
const result = stateMachine.transition({ type: 'RECEIVE_ACCEPT', message });
|
|
101
145
|
if (!result.success) {
|
|
102
146
|
console.error(`[AWCP Delegator] State transition failed: ${result.error}`);
|
|
103
147
|
return;
|
|
104
148
|
}
|
|
149
|
+
// Update delegation
|
|
105
150
|
const updated = applyMessageToDelegation(delegation, message);
|
|
106
151
|
updated.state = stateMachine.getState();
|
|
107
152
|
this.delegations.set(delegation.id, updated);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
exportPath: updated.exportPath,
|
|
111
|
-
ttlSeconds: delegation.leaseConfig.ttlSeconds,
|
|
112
|
-
});
|
|
153
|
+
// Generate credentials
|
|
154
|
+
const { credential, endpoint } = await this.credentialManager.generateCredential(delegation.id, delegation.leaseConfig.ttlSeconds);
|
|
113
155
|
const expiresAt = new Date(Date.now() + delegation.leaseConfig.ttlSeconds * 1000).toISOString();
|
|
156
|
+
// Build START message
|
|
114
157
|
const startMessage = {
|
|
115
158
|
version: PROTOCOL_VERSION,
|
|
116
159
|
type: 'START',
|
|
@@ -119,16 +162,27 @@ export class DelegatorService {
|
|
|
119
162
|
expiresAt,
|
|
120
163
|
accessMode: delegation.leaseConfig.accessMode,
|
|
121
164
|
},
|
|
122
|
-
mount:
|
|
165
|
+
mount: {
|
|
166
|
+
transport: 'sshfs',
|
|
167
|
+
endpoint,
|
|
168
|
+
exportLocator: updated.exportPath,
|
|
169
|
+
credential,
|
|
170
|
+
},
|
|
123
171
|
};
|
|
172
|
+
// Transition to started
|
|
124
173
|
stateMachine.transition({ type: 'SEND_START', message: startMessage });
|
|
125
174
|
updated.state = stateMachine.getState();
|
|
126
175
|
updated.activeLease = startMessage.lease;
|
|
127
176
|
updated.updatedAt = new Date().toISOString();
|
|
128
177
|
this.delegations.set(delegation.id, updated);
|
|
178
|
+
// Send START
|
|
129
179
|
await this.executorClient.sendStart(executorUrl, startMessage);
|
|
180
|
+
// Call hook
|
|
130
181
|
this.config.hooks.onDelegationStarted?.(updated);
|
|
131
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Handle DONE message from Executor
|
|
185
|
+
*/
|
|
132
186
|
async handleDone(message) {
|
|
133
187
|
const delegation = this.delegations.get(message.delegationId);
|
|
134
188
|
if (!delegation) {
|
|
@@ -136,6 +190,7 @@ export class DelegatorService {
|
|
|
136
190
|
return;
|
|
137
191
|
}
|
|
138
192
|
const stateMachine = this.stateMachines.get(message.delegationId);
|
|
193
|
+
// Transition through 'running' if needed
|
|
139
194
|
if (stateMachine.getState() === 'started') {
|
|
140
195
|
stateMachine.transition({ type: 'MOUNT_COMPLETE' });
|
|
141
196
|
}
|
|
@@ -144,12 +199,18 @@ export class DelegatorService {
|
|
|
144
199
|
console.error(`[AWCP Delegator] State transition failed: ${result.error}`);
|
|
145
200
|
return;
|
|
146
201
|
}
|
|
202
|
+
// Update delegation
|
|
147
203
|
const updated = applyMessageToDelegation(delegation, message);
|
|
148
204
|
updated.state = stateMachine.getState();
|
|
149
205
|
this.delegations.set(delegation.id, updated);
|
|
206
|
+
// Cleanup
|
|
150
207
|
await this.cleanup(delegation.id);
|
|
208
|
+
// Call hook
|
|
151
209
|
this.config.hooks.onDelegationCompleted?.(updated);
|
|
152
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Handle ERROR message from Executor
|
|
213
|
+
*/
|
|
153
214
|
async handleError(message) {
|
|
154
215
|
const delegation = this.delegations.get(message.delegationId);
|
|
155
216
|
if (!delegation) {
|
|
@@ -158,13 +219,19 @@ export class DelegatorService {
|
|
|
158
219
|
}
|
|
159
220
|
const stateMachine = this.stateMachines.get(message.delegationId);
|
|
160
221
|
stateMachine.transition({ type: 'RECEIVE_ERROR', message });
|
|
222
|
+
// Update delegation
|
|
161
223
|
const updated = applyMessageToDelegation(delegation, message);
|
|
162
224
|
updated.state = stateMachine.getState();
|
|
163
225
|
this.delegations.set(delegation.id, updated);
|
|
226
|
+
// Cleanup
|
|
164
227
|
await this.cleanup(delegation.id);
|
|
228
|
+
// Call hook
|
|
165
229
|
const error = new AwcpError(message.code, message.message, message.hint, delegation.id);
|
|
166
230
|
this.config.hooks.onError?.(delegation.id, error);
|
|
167
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Handle incoming message from Executor
|
|
234
|
+
*/
|
|
168
235
|
async handleMessage(message) {
|
|
169
236
|
switch (message.type) {
|
|
170
237
|
case 'ACCEPT':
|
|
@@ -180,6 +247,9 @@ export class DelegatorService {
|
|
|
180
247
|
console.warn(`[AWCP Delegator] Unexpected message type: ${message.type}`);
|
|
181
248
|
}
|
|
182
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Cancel a delegation
|
|
252
|
+
*/
|
|
183
253
|
async cancel(delegationId) {
|
|
184
254
|
const delegation = this.delegations.get(delegationId);
|
|
185
255
|
if (!delegation) {
|
|
@@ -191,14 +261,22 @@ export class DelegatorService {
|
|
|
191
261
|
if (!result.success) {
|
|
192
262
|
throw new Error(`Cannot cancel delegation in state ${delegation.state}`);
|
|
193
263
|
}
|
|
264
|
+
// Request Executor to cancel (unmount) before we revoke keys
|
|
194
265
|
await this.executorClient.sendCancel(executorUrl, delegationId).catch(console.error);
|
|
266
|
+
// Now safe to cleanup (revoke SSH keys)
|
|
195
267
|
await this.cleanup(delegationId);
|
|
196
268
|
delegation.state = stateMachine.getState();
|
|
197
269
|
delegation.updatedAt = new Date().toISOString();
|
|
198
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Get delegation status
|
|
273
|
+
*/
|
|
199
274
|
getDelegation(delegationId) {
|
|
200
275
|
return this.delegations.get(delegationId);
|
|
201
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Wait for delegation to complete
|
|
279
|
+
*/
|
|
202
280
|
async waitForCompletion(delegationId, timeoutMs = 60000) {
|
|
203
281
|
const startTime = Date.now();
|
|
204
282
|
while (Date.now() - startTime < timeoutMs) {
|
|
@@ -213,10 +291,14 @@ export class DelegatorService {
|
|
|
213
291
|
}
|
|
214
292
|
return delegation;
|
|
215
293
|
}
|
|
294
|
+
// Wait a bit before checking again
|
|
216
295
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
217
296
|
}
|
|
218
297
|
throw new Error('Timeout waiting for delegation to complete');
|
|
219
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Get service status
|
|
301
|
+
*/
|
|
220
302
|
getStatus() {
|
|
221
303
|
return {
|
|
222
304
|
activeDelegations: this.delegations.size,
|
|
@@ -229,9 +311,12 @@ export class DelegatorService {
|
|
|
229
311
|
})),
|
|
230
312
|
};
|
|
231
313
|
}
|
|
314
|
+
/**
|
|
315
|
+
* Cleanup resources for a delegation
|
|
316
|
+
*/
|
|
232
317
|
async cleanup(delegationId) {
|
|
233
|
-
await this.
|
|
234
|
-
await this.exportManager.
|
|
318
|
+
await this.credentialManager.revokeCredential(delegationId);
|
|
319
|
+
await this.exportManager.cleanup(delegationId);
|
|
235
320
|
this.executorUrls.delete(delegationId);
|
|
236
321
|
}
|
|
237
322
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,93 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWCP Executor Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for enabling AWCP support in an A2A agent.
|
|
5
|
+
*/
|
|
6
|
+
import type { InviteMessage, SandboxProfile, AccessMode } from '@awcp/core';
|
|
7
|
+
/**
|
|
8
|
+
* Mount configuration
|
|
9
|
+
*/
|
|
10
|
+
export interface MountConfig {
|
|
11
|
+
/** Root directory for mount points, e.g., '/tmp/awcp/mounts' */
|
|
12
|
+
root: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Policy constraints for accepting delegations
|
|
3
16
|
*/
|
|
4
|
-
import type { InviteMessage, SandboxProfile, AccessMode, ExecutorTransportAdapter } from '@awcp/core';
|
|
5
17
|
export interface PolicyConstraints {
|
|
18
|
+
/** Max concurrent delegations (default: 5) */
|
|
6
19
|
maxConcurrentDelegations?: number;
|
|
20
|
+
/** Max TTL in seconds to accept (default: 3600) */
|
|
7
21
|
maxTtlSeconds?: number;
|
|
22
|
+
/** Allowed access modes (default: ['ro', 'rw']) */
|
|
8
23
|
allowedAccessModes?: AccessMode[];
|
|
24
|
+
/** Auto-accept INVITEs without confirmation (default: true) */
|
|
9
25
|
autoAccept?: boolean;
|
|
10
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Lifecycle hooks for AWCP events
|
|
29
|
+
*/
|
|
11
30
|
export interface ExecutorHooks {
|
|
31
|
+
/** Called when INVITE received. Return false to decline. */
|
|
12
32
|
onInvite?: (invite: InviteMessage) => Promise<boolean>;
|
|
13
|
-
|
|
33
|
+
/** Called when task execution starts */
|
|
34
|
+
onTaskStart?: (delegationId: string, mountPoint: string) => void;
|
|
35
|
+
/** Called when task completes successfully */
|
|
14
36
|
onTaskComplete?: (delegationId: string, summary: string) => void;
|
|
37
|
+
/** Called on error */
|
|
15
38
|
onError?: (delegationId: string, error: Error) => void;
|
|
16
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* AWCP Executor Configuration
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const awcpConfig: ExecutorConfig = {
|
|
46
|
+
* mount: {
|
|
47
|
+
* root: '/tmp/awcp/mounts',
|
|
48
|
+
* },
|
|
49
|
+
* sandbox: {
|
|
50
|
+
* cwdOnly: true,
|
|
51
|
+
* allowNetwork: true,
|
|
52
|
+
* allowExec: true,
|
|
53
|
+
* },
|
|
54
|
+
* policy: {
|
|
55
|
+
* maxConcurrentDelegations: 3,
|
|
56
|
+
* autoAccept: true,
|
|
57
|
+
* },
|
|
58
|
+
* };
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
17
61
|
export interface ExecutorConfig {
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Mount configuration (required)
|
|
64
|
+
*
|
|
65
|
+
* Specifies where delegator workspaces will be mounted.
|
|
66
|
+
*/
|
|
67
|
+
mount: MountConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Sandbox profile (optional)
|
|
70
|
+
*
|
|
71
|
+
* Capability declaration sent in ACCEPT message to inform Delegator
|
|
72
|
+
* about this agent's execution constraints.
|
|
73
|
+
*/
|
|
23
74
|
sandbox?: SandboxProfile;
|
|
24
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Policy constraints (optional)
|
|
77
|
+
*
|
|
78
|
+
* Rules for accepting or rejecting delegation requests.
|
|
79
|
+
*/
|
|
25
80
|
policy?: PolicyConstraints;
|
|
26
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Lifecycle hooks (optional)
|
|
83
|
+
*
|
|
84
|
+
* Callbacks for various AWCP lifecycle events.
|
|
85
|
+
*/
|
|
27
86
|
hooks?: ExecutorHooks;
|
|
28
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Default configuration values
|
|
90
|
+
*/
|
|
29
91
|
export declare const DEFAULT_EXECUTOR_CONFIG: {
|
|
30
92
|
readonly policy: {
|
|
31
93
|
readonly maxConcurrentDelegations: 5;
|
|
@@ -39,18 +101,26 @@ export declare const DEFAULT_EXECUTOR_CONFIG: {
|
|
|
39
101
|
readonly allowExec: true;
|
|
40
102
|
};
|
|
41
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Resolved policy with all fields required
|
|
106
|
+
*/
|
|
42
107
|
export interface ResolvedPolicyConstraints {
|
|
43
108
|
maxConcurrentDelegations: number;
|
|
44
109
|
maxTtlSeconds: number;
|
|
45
110
|
allowedAccessModes: AccessMode[];
|
|
46
111
|
autoAccept: boolean;
|
|
47
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolved configuration with all defaults applied
|
|
115
|
+
*/
|
|
48
116
|
export interface ResolvedExecutorConfig {
|
|
49
|
-
|
|
50
|
-
transport: ExecutorTransportAdapter;
|
|
117
|
+
mount: MountConfig;
|
|
51
118
|
sandbox: SandboxProfile;
|
|
52
119
|
policy: ResolvedPolicyConstraints;
|
|
53
120
|
hooks: ExecutorHooks;
|
|
54
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Merge user config with defaults
|
|
124
|
+
*/
|
|
55
125
|
export declare function resolveExecutorConfig(config: ExecutorConfig): ResolvedExecutorConfig;
|
|
56
126
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAClC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,wCAAwC;IACxC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;qCAII,UAAU,EAAE;;;;;;;;CAQ1C,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAYpF"}
|
package/dist/executor/config.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWCP Executor Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for enabling AWCP support in an A2A agent.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Default configuration values
|
|
3
8
|
*/
|
|
4
9
|
export const DEFAULT_EXECUTOR_CONFIG = {
|
|
5
10
|
policy: {
|
|
@@ -14,10 +19,12 @@ export const DEFAULT_EXECUTOR_CONFIG = {
|
|
|
14
19
|
allowExec: true,
|
|
15
20
|
},
|
|
16
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Merge user config with defaults
|
|
24
|
+
*/
|
|
17
25
|
export function resolveExecutorConfig(config) {
|
|
18
26
|
return {
|
|
19
|
-
|
|
20
|
-
transport: config.transport,
|
|
27
|
+
mount: config.mount,
|
|
21
28
|
sandbox: config.sandbox ?? { ...DEFAULT_EXECUTOR_CONFIG.sandbox },
|
|
22
29
|
policy: {
|
|
23
30
|
maxConcurrentDelegations: config.policy?.maxConcurrentDelegations ?? DEFAULT_EXECUTOR_CONFIG.policy.maxConcurrentDelegations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4FH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE;QACN,wBAAwB,EAAE,CAAC;QAC3B,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAiB;QAChD,UAAU,EAAE,IAAI;KACjB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB;CACO,CAAC;AAsBX;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,uBAAuB,CAAC,OAAO,EAAE;QACjE,MAAM,EAAE;YACN,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,IAAI,uBAAuB,CAAC,MAAM,CAAC,wBAAwB;YAC5H,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,IAAI,uBAAuB,CAAC,MAAM,CAAC,aAAa;YAC3F,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC/G,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,uBAAuB,CAAC,MAAM,CAAC,UAAU;SACnF;QACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;KAC1B,CAAC;AACJ,CAAC"}
|
package/dist/executor/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus } from './service.js';
|
|
2
|
-
export { type ExecutorConfig, type PolicyConstraints, type ExecutorHooks, type ResolvedExecutorConfig, DEFAULT_EXECUTOR_CONFIG, resolveExecutorConfig, } from './config.js';
|
|
3
|
-
export {
|
|
2
|
+
export { type ExecutorConfig, type MountConfig, type PolicyConstraints, type ExecutorHooks, type ResolvedExecutorConfig, DEFAULT_EXECUTOR_CONFIG, resolveExecutorConfig, } from './config.js';
|
|
3
|
+
export { LocalPolicy, type PolicyConfig, type MountPointValidation } from './policy.js';
|
|
4
4
|
export { DelegatorClient } from './delegator-client.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/executor/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// High-level API
|
|
2
2
|
export { ExecutorService } from './service.js';
|
|
3
3
|
export { DEFAULT_EXECUTOR_CONFIG, resolveExecutorConfig, } from './config.js';
|
|
4
|
-
// Utilities
|
|
5
|
-
export {
|
|
4
|
+
// Utilities (can be used independently)
|
|
5
|
+
export { LocalPolicy } from './policy.js';
|
|
6
6
|
export { DelegatorClient } from './delegator-client.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAA2D,MAAM,cAAc,CAAC;AACxG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAA2D,MAAM,cAAc,CAAC;AACxG,OAAO,EAML,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAAgD,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local policy configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface PolicyConfig {
|
|
5
|
+
/** Base directory for mount points (default: /tmp/awcp/mounts) */
|
|
6
|
+
mountRoot?: string;
|
|
7
|
+
/** Maximum concurrent delegations */
|
|
8
|
+
maxConcurrent?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Mount point validation result
|
|
12
|
+
*/
|
|
13
|
+
export interface MountPointValidation {
|
|
14
|
+
valid: boolean;
|
|
15
|
+
reason?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Local Policy - Enforces security constraints on the Executor side.
|
|
19
|
+
*
|
|
20
|
+
* Security: startsWith(root) check prevents path traversal attacks.
|
|
21
|
+
*/
|
|
22
|
+
export declare class LocalPolicy {
|
|
23
|
+
private config;
|
|
24
|
+
private allocatedMounts;
|
|
25
|
+
constructor(config?: PolicyConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Allocate a mount point for a delegation
|
|
28
|
+
*/
|
|
29
|
+
allocateMountPoint(delegationId: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Validate that a mount point is safe to use
|
|
32
|
+
*/
|
|
33
|
+
validateMountPoint(mountPoint: string): Promise<MountPointValidation>;
|
|
34
|
+
/**
|
|
35
|
+
* Prepare a mount point (create directory, ensure empty)
|
|
36
|
+
*/
|
|
37
|
+
prepareMountPoint(mountPoint: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Release a mount point and remove the directory
|
|
40
|
+
*/
|
|
41
|
+
releaseMountPoint(mountPoint: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Cleanup stale mount directories from previous runs
|
|
44
|
+
*/
|
|
45
|
+
cleanupStaleMounts(): Promise<number>;
|
|
46
|
+
/**
|
|
47
|
+
* Check if concurrent limit is reached
|
|
48
|
+
*/
|
|
49
|
+
canAcceptMore(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get currently allocated mount points
|
|
52
|
+
*/
|
|
53
|
+
getAllocatedMounts(): string[];
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/executor/policy.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,MAAM,CAAC,EAAE,YAAY;IAIjC;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAOhD;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAa3E;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB3C;;OAEG;IACH,aAAa,IAAI,OAAO;IAKxB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;CAG/B"}
|