@awcp/sdk 0.0.0-dev-202601300724 → 0.0.0-dev-202601301521

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.
Files changed (45) hide show
  1. package/dist/delegator/bin/daemon.d.ts +9 -1
  2. package/dist/delegator/bin/daemon.d.ts.map +1 -1
  3. package/dist/delegator/bin/daemon.js +18 -7
  4. package/dist/delegator/bin/daemon.js.map +1 -1
  5. package/dist/delegator/config.d.ts +9 -71
  6. package/dist/delegator/config.d.ts.map +1 -1
  7. package/dist/delegator/config.js +1 -12
  8. package/dist/delegator/config.js.map +1 -1
  9. package/dist/delegator/export-manager.d.ts +27 -0
  10. package/dist/delegator/export-manager.d.ts.map +1 -0
  11. package/dist/delegator/export-manager.js +85 -0
  12. package/dist/delegator/export-manager.js.map +1 -0
  13. package/dist/delegator/index.d.ts +2 -2
  14. package/dist/delegator/index.d.ts.map +1 -1
  15. package/dist/delegator/index.js +3 -3
  16. package/dist/delegator/index.js.map +1 -1
  17. package/dist/delegator/service.d.ts +1 -69
  18. package/dist/delegator/service.d.ts.map +1 -1
  19. package/dist/delegator/service.js +15 -100
  20. package/dist/delegator/service.js.map +1 -1
  21. package/dist/executor/config.d.ts +11 -81
  22. package/dist/executor/config.d.ts.map +1 -1
  23. package/dist/executor/config.js +2 -9
  24. package/dist/executor/config.js.map +1 -1
  25. package/dist/executor/index.d.ts +2 -2
  26. package/dist/executor/index.d.ts.map +1 -1
  27. package/dist/executor/index.js +2 -2
  28. package/dist/executor/index.js.map +1 -1
  29. package/dist/executor/service.d.ts +3 -49
  30. package/dist/executor/service.d.ts.map +1 -1
  31. package/dist/executor/service.js +33 -112
  32. package/dist/executor/service.js.map +1 -1
  33. package/dist/executor/workspace-manager.d.ts +30 -0
  34. package/dist/executor/workspace-manager.d.ts.map +1 -0
  35. package/dist/executor/workspace-manager.js +75 -0
  36. package/dist/executor/workspace-manager.js.map +1 -0
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -2
  40. package/dist/index.js.map +1 -1
  41. package/package.json +2 -3
  42. package/dist/executor/policy.d.ts +0 -55
  43. package/dist/executor/policy.d.ts.map +0 -1
  44. package/dist/executor/policy.js +0 -100
  45. package/dist/executor/policy.js.map +0 -1
@@ -2,73 +2,46 @@
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.
6
5
  */
7
6
  import { randomUUID } from 'node:crypto';
8
- import { CredentialManager } from '@awcp/transport-sshfs';
9
7
  import { DelegationStateMachine, createDelegation, applyMessageToDelegation, PROTOCOL_VERSION, AwcpError, WorkspaceTooLargeError, } from '@awcp/core';
10
8
  import { resolveDelegatorConfig } from './config.js';
11
9
  import { AdmissionController } from './admission.js';
12
- import { ExportViewManager } from './export-view.js';
10
+ import { ExportManager } from './export-manager.js';
13
11
  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
- */
24
12
  export class DelegatorService {
25
13
  config;
26
14
  callbackUrl;
15
+ transport;
27
16
  admissionController;
28
17
  exportManager;
29
- credentialManager;
30
18
  executorClient;
31
19
  delegations = new Map();
32
20
  stateMachines = new Map();
33
- executorUrls = new Map(); // delegationId -> executorUrl
21
+ executorUrls = new Map();
34
22
  constructor(options) {
35
23
  this.config = resolveDelegatorConfig(options.config);
36
24
  this.callbackUrl = options.callbackUrl;
25
+ this.transport = this.config.transport;
37
26
  this.admissionController = new AdmissionController({
38
27
  maxTotalBytes: this.config.admission.maxTotalBytes,
39
28
  maxFileCount: this.config.admission.maxFileCount,
40
29
  maxSingleFileBytes: this.config.admission.maxSingleFileBytes,
41
30
  });
42
- this.exportManager = new ExportViewManager({
31
+ this.exportManager = new ExportManager({
43
32
  baseDir: this.config.export.baseDir,
44
33
  strategy: this.config.export.strategy,
45
34
  });
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
- });
52
35
  this.executorClient = new ExecutorClient({
53
36
  callbackUrl: this.callbackUrl,
54
37
  });
55
38
  }
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
- */
64
39
  async delegate(params) {
65
40
  const delegationId = randomUUID();
66
- // Step 1: Admission Control
67
41
  const admissionResult = await this.admissionController.check(params.localDir);
68
42
  if (!admissionResult.allowed) {
69
43
  throw new WorkspaceTooLargeError(admissionResult.stats ?? {}, admissionResult.hint, delegationId);
70
44
  }
71
- // Step 2: Create delegation record
72
45
  const ttlSeconds = params.ttlSeconds ?? this.config.defaults.ttlSeconds;
73
46
  const accessMode = params.accessMode ?? this.config.defaults.accessMode;
74
47
  const delegation = createDelegation({
@@ -78,16 +51,12 @@ export class DelegatorService {
78
51
  task: params.task,
79
52
  leaseConfig: { ttlSeconds, accessMode },
80
53
  });
81
- // Step 3: Create export view
82
- const exportPath = await this.exportManager.create(delegationId, params.localDir);
54
+ const exportPath = await this.exportManager.allocate(delegationId, params.localDir);
83
55
  delegation.exportPath = exportPath;
84
- // Step 4: Initialize state machine
85
56
  const stateMachine = new DelegationStateMachine();
86
- // Step 5: Store delegation
87
57
  this.delegations.set(delegationId, delegation);
88
58
  this.stateMachines.set(delegationId, stateMachine);
89
59
  this.executorUrls.set(delegationId, params.executorUrl);
90
- // Step 6: Build and send INVITE
91
60
  const inviteMessage = {
92
61
  version: PROTOCOL_VERSION,
93
62
  type: 'INVITE',
@@ -98,40 +67,28 @@ export class DelegatorService {
98
67
  exportName: `awcp/${delegationId}`,
99
68
  },
100
69
  requirements: {
101
- transport: 'sshfs',
70
+ transport: this.transport.type,
102
71
  },
103
- // Include auth if provided (for paid/restricted Executor services)
104
72
  ...(params.auth && { auth: params.auth }),
105
73
  };
106
- // Transition state
107
74
  stateMachine.transition({ type: 'SEND_INVITE', message: inviteMessage });
108
75
  delegation.state = stateMachine.getState();
109
76
  delegation.updatedAt = new Date().toISOString();
110
77
  try {
111
- // Send INVITE and get response (ACCEPT or ERROR)
112
78
  const response = await this.executorClient.sendInvite(params.executorUrl, inviteMessage);
113
79
  if (response.type === 'ERROR') {
114
- // Executor rejected
115
80
  await this.handleError(response);
116
81
  throw new AwcpError(response.code, response.message, response.hint, delegationId);
117
82
  }
118
- // Got ACCEPT - process it
119
83
  await this.handleAccept(response);
120
- // Call hook
121
84
  this.config.hooks.onDelegationCreated?.(delegation);
122
85
  return delegationId;
123
86
  }
124
87
  catch (error) {
125
- // Cleanup on error
126
88
  await this.cleanup(delegationId);
127
89
  throw error;
128
90
  }
129
91
  }
130
- /**
131
- * Handle ACCEPT message from Executor
132
- *
133
- * This is called internally after INVITE, or externally via the Express handler.
134
- */
135
92
  async handleAccept(message) {
136
93
  const delegation = this.delegations.get(message.delegationId);
137
94
  if (!delegation) {
@@ -140,20 +97,20 @@ export class DelegatorService {
140
97
  }
141
98
  const stateMachine = this.stateMachines.get(message.delegationId);
142
99
  const executorUrl = this.executorUrls.get(message.delegationId);
143
- // Transition state
144
100
  const result = stateMachine.transition({ type: 'RECEIVE_ACCEPT', message });
145
101
  if (!result.success) {
146
102
  console.error(`[AWCP Delegator] State transition failed: ${result.error}`);
147
103
  return;
148
104
  }
149
- // Update delegation
150
105
  const updated = applyMessageToDelegation(delegation, message);
151
106
  updated.state = stateMachine.getState();
152
107
  this.delegations.set(delegation.id, updated);
153
- // Generate credentials
154
- const { credential, endpoint } = await this.credentialManager.generateCredential(delegation.id, delegation.leaseConfig.ttlSeconds);
108
+ const { mountInfo } = await this.transport.prepare({
109
+ delegationId: delegation.id,
110
+ exportPath: updated.exportPath,
111
+ ttlSeconds: delegation.leaseConfig.ttlSeconds,
112
+ });
155
113
  const expiresAt = new Date(Date.now() + delegation.leaseConfig.ttlSeconds * 1000).toISOString();
156
- // Build START message
157
114
  const startMessage = {
158
115
  version: PROTOCOL_VERSION,
159
116
  type: 'START',
@@ -162,27 +119,16 @@ export class DelegatorService {
162
119
  expiresAt,
163
120
  accessMode: delegation.leaseConfig.accessMode,
164
121
  },
165
- mount: {
166
- transport: 'sshfs',
167
- endpoint,
168
- exportLocator: updated.exportPath,
169
- credential,
170
- },
122
+ mount: mountInfo,
171
123
  };
172
- // Transition to started
173
124
  stateMachine.transition({ type: 'SEND_START', message: startMessage });
174
125
  updated.state = stateMachine.getState();
175
126
  updated.activeLease = startMessage.lease;
176
127
  updated.updatedAt = new Date().toISOString();
177
128
  this.delegations.set(delegation.id, updated);
178
- // Send START
179
129
  await this.executorClient.sendStart(executorUrl, startMessage);
180
- // Call hook
181
130
  this.config.hooks.onDelegationStarted?.(updated);
182
131
  }
183
- /**
184
- * Handle DONE message from Executor
185
- */
186
132
  async handleDone(message) {
187
133
  const delegation = this.delegations.get(message.delegationId);
188
134
  if (!delegation) {
@@ -190,7 +136,6 @@ export class DelegatorService {
190
136
  return;
191
137
  }
192
138
  const stateMachine = this.stateMachines.get(message.delegationId);
193
- // Transition through 'running' if needed
194
139
  if (stateMachine.getState() === 'started') {
195
140
  stateMachine.transition({ type: 'MOUNT_COMPLETE' });
196
141
  }
@@ -199,18 +144,12 @@ export class DelegatorService {
199
144
  console.error(`[AWCP Delegator] State transition failed: ${result.error}`);
200
145
  return;
201
146
  }
202
- // Update delegation
203
147
  const updated = applyMessageToDelegation(delegation, message);
204
148
  updated.state = stateMachine.getState();
205
149
  this.delegations.set(delegation.id, updated);
206
- // Cleanup
207
150
  await this.cleanup(delegation.id);
208
- // Call hook
209
151
  this.config.hooks.onDelegationCompleted?.(updated);
210
152
  }
211
- /**
212
- * Handle ERROR message from Executor
213
- */
214
153
  async handleError(message) {
215
154
  const delegation = this.delegations.get(message.delegationId);
216
155
  if (!delegation) {
@@ -219,19 +158,13 @@ export class DelegatorService {
219
158
  }
220
159
  const stateMachine = this.stateMachines.get(message.delegationId);
221
160
  stateMachine.transition({ type: 'RECEIVE_ERROR', message });
222
- // Update delegation
223
161
  const updated = applyMessageToDelegation(delegation, message);
224
162
  updated.state = stateMachine.getState();
225
163
  this.delegations.set(delegation.id, updated);
226
- // Cleanup
227
164
  await this.cleanup(delegation.id);
228
- // Call hook
229
165
  const error = new AwcpError(message.code, message.message, message.hint, delegation.id);
230
166
  this.config.hooks.onError?.(delegation.id, error);
231
167
  }
232
- /**
233
- * Handle incoming message from Executor
234
- */
235
168
  async handleMessage(message) {
236
169
  switch (message.type) {
237
170
  case 'ACCEPT':
@@ -247,9 +180,6 @@ export class DelegatorService {
247
180
  console.warn(`[AWCP Delegator] Unexpected message type: ${message.type}`);
248
181
  }
249
182
  }
250
- /**
251
- * Cancel a delegation
252
- */
253
183
  async cancel(delegationId) {
254
184
  const delegation = this.delegations.get(delegationId);
255
185
  if (!delegation) {
@@ -261,22 +191,14 @@ export class DelegatorService {
261
191
  if (!result.success) {
262
192
  throw new Error(`Cannot cancel delegation in state ${delegation.state}`);
263
193
  }
264
- // Request Executor to cancel (unmount) before we revoke keys
265
194
  await this.executorClient.sendCancel(executorUrl, delegationId).catch(console.error);
266
- // Now safe to cleanup (revoke SSH keys)
267
195
  await this.cleanup(delegationId);
268
196
  delegation.state = stateMachine.getState();
269
197
  delegation.updatedAt = new Date().toISOString();
270
198
  }
271
- /**
272
- * Get delegation status
273
- */
274
199
  getDelegation(delegationId) {
275
200
  return this.delegations.get(delegationId);
276
201
  }
277
- /**
278
- * Wait for delegation to complete
279
- */
280
202
  async waitForCompletion(delegationId, timeoutMs = 60000) {
281
203
  const startTime = Date.now();
282
204
  while (Date.now() - startTime < timeoutMs) {
@@ -291,14 +213,10 @@ export class DelegatorService {
291
213
  }
292
214
  return delegation;
293
215
  }
294
- // Wait a bit before checking again
295
216
  await new Promise((resolve) => setTimeout(resolve, 100));
296
217
  }
297
218
  throw new Error('Timeout waiting for delegation to complete');
298
219
  }
299
- /**
300
- * Get service status
301
- */
302
220
  getStatus() {
303
221
  return {
304
222
  activeDelegations: this.delegations.size,
@@ -311,12 +229,9 @@ export class DelegatorService {
311
229
  })),
312
230
  };
313
231
  }
314
- /**
315
- * Cleanup resources for a delegation
316
- */
317
232
  async cleanup(delegationId) {
318
- await this.credentialManager.revokeCredential(delegationId);
319
- await this.exportManager.cleanup(delegationId);
233
+ await this.transport.cleanup(delegationId);
234
+ await this.exportManager.release(delegationId);
320
235
  this.executorUrls.delete(delegationId);
321
236
  }
322
237
  }
@@ -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,93 +1,31 @@
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
16
3
  */
4
+ import type { InviteMessage, SandboxProfile, AccessMode, ExecutorTransportAdapter } from '@awcp/core';
17
5
  export interface PolicyConstraints {
18
- /** Max concurrent delegations (default: 5) */
19
6
  maxConcurrentDelegations?: number;
20
- /** Max TTL in seconds to accept (default: 3600) */
21
7
  maxTtlSeconds?: number;
22
- /** Allowed access modes (default: ['ro', 'rw']) */
23
8
  allowedAccessModes?: AccessMode[];
24
- /** Auto-accept INVITEs without confirmation (default: true) */
25
9
  autoAccept?: boolean;
26
10
  }
27
- /**
28
- * Lifecycle hooks for AWCP events
29
- */
30
11
  export interface ExecutorHooks {
31
- /** Called when INVITE received. Return false to decline. */
32
12
  onInvite?: (invite: InviteMessage) => Promise<boolean>;
33
- /** Called when task execution starts */
34
- onTaskStart?: (delegationId: string, mountPoint: string) => void;
35
- /** Called when task completes successfully */
13
+ onTaskStart?: (delegationId: string, workPath: string) => void;
36
14
  onTaskComplete?: (delegationId: string, summary: string) => void;
37
- /** Called on error */
38
15
  onError?: (delegationId: string, error: Error) => void;
39
16
  }
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
- */
61
17
  export interface ExecutorConfig {
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
- */
18
+ /** Root directory for workspaces */
19
+ workDir: string;
20
+ /** Transport adapter */
21
+ transport: ExecutorTransportAdapter;
22
+ /** Sandbox profile */
74
23
  sandbox?: SandboxProfile;
75
- /**
76
- * Policy constraints (optional)
77
- *
78
- * Rules for accepting or rejecting delegation requests.
79
- */
24
+ /** Policy constraints */
80
25
  policy?: PolicyConstraints;
81
- /**
82
- * Lifecycle hooks (optional)
83
- *
84
- * Callbacks for various AWCP lifecycle events.
85
- */
26
+ /** Lifecycle hooks */
86
27
  hooks?: ExecutorHooks;
87
28
  }
88
- /**
89
- * Default configuration values
90
- */
91
29
  export declare const DEFAULT_EXECUTOR_CONFIG: {
92
30
  readonly policy: {
93
31
  readonly maxConcurrentDelegations: 5;
@@ -101,26 +39,18 @@ export declare const DEFAULT_EXECUTOR_CONFIG: {
101
39
  readonly allowExec: true;
102
40
  };
103
41
  };
104
- /**
105
- * Resolved policy with all fields required
106
- */
107
42
  export interface ResolvedPolicyConstraints {
108
43
  maxConcurrentDelegations: number;
109
44
  maxTtlSeconds: number;
110
45
  allowedAccessModes: AccessMode[];
111
46
  autoAccept: boolean;
112
47
  }
113
- /**
114
- * Resolved configuration with all defaults applied
115
- */
116
48
  export interface ResolvedExecutorConfig {
117
- mount: MountConfig;
49
+ workDir: string;
50
+ transport: ExecutorTransportAdapter;
118
51
  sandbox: SandboxProfile;
119
52
  policy: ResolvedPolicyConstraints;
120
53
  hooks: ExecutorHooks;
121
54
  }
122
- /**
123
- * Merge user config with defaults
124
- */
125
55
  export declare function resolveExecutorConfig(config: ExecutorConfig): ResolvedExecutorConfig;
126
56
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtG,MAAM,WAAW,iBAAiB;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,SAAS,EAAE,wBAAwB,CAAC;IACpC,sBAAsB;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yBAAyB;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,sBAAsB;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,eAAO,MAAM,uBAAuB;;;;qCAII,UAAU,EAAE;;;;;;;;CAQ1C,CAAC;AAEX,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,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,wBAAwB,CAAC;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAapF"}
@@ -1,10 +1,5 @@
1
1
  /**
2
2
  * AWCP Executor Configuration
3
- *
4
- * Configuration for enabling AWCP support in an A2A agent.
5
- */
6
- /**
7
- * Default configuration values
8
3
  */
9
4
  export const DEFAULT_EXECUTOR_CONFIG = {
10
5
  policy: {
@@ -19,12 +14,10 @@ export const DEFAULT_EXECUTOR_CONFIG = {
19
14
  allowExec: true,
20
15
  },
21
16
  };
22
- /**
23
- * Merge user config with defaults
24
- */
25
17
  export function resolveExecutorConfig(config) {
26
18
  return {
27
- mount: config.mount,
19
+ workDir: config.workDir,
20
+ transport: config.transport,
28
21
  sandbox: config.sandbox ?? { ...DEFAULT_EXECUTOR_CONFIG.sandbox },
29
22
  policy: {
30
23
  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;;;;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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/executor/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+BH,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;AAiBX,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,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"}
@@ -1,5 +1,5 @@
1
1
  export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus } from './service.js';
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';
2
+ export { type ExecutorConfig, type PolicyConstraints, type ExecutorHooks, type ResolvedExecutorConfig, DEFAULT_EXECUTOR_CONFIG, resolveExecutorConfig, } from './config.js';
3
+ export { WorkspaceManager, type WorkspaceValidation } from './workspace-manager.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,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"}
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,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -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 (can be used independently)
5
- export { LocalPolicy } from './policy.js';
4
+ // Utilities
5
+ export { WorkspaceManager } from './workspace-manager.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,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"}
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,EAKL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,84 +1,38 @@
1
1
  /**
2
2
  * AWCP Executor Service
3
- *
4
- * Handles the AWCP delegation protocol on the Executor (Collaborator) side.
5
- * Integrates with A2A SDK executor for task execution.
6
3
  */
7
4
  import { type AgentExecutor } from '@a2a-js/sdk/server';
8
5
  import { type AwcpMessage } from '@awcp/core';
9
6
  import { type ExecutorConfig } from './config.js';
10
- /**
11
- * Executor service status
12
- */
13
7
  export interface ExecutorServiceStatus {
14
8
  pendingInvitations: number;
15
9
  activeDelegations: number;
16
10
  delegations: Array<{
17
11
  id: string;
18
- mountPoint: string;
12
+ workPath: string;
19
13
  startedAt: string;
20
14
  }>;
21
15
  }
22
- /**
23
- * Options for creating the service
24
- */
25
16
  export interface ExecutorServiceOptions {
26
- /** A2A agent executor */
27
17
  executor: AgentExecutor;
28
- /** AWCP configuration */
29
18
  config: ExecutorConfig;
30
19
  }
31
- /**
32
- * AWCP Executor Service
33
- *
34
- * Manages the AWCP delegation lifecycle:
35
- * 1. Receives INVITE from Delegator
36
- * 2. Sends ACCEPT back
37
- * 3. Receives START with credentials
38
- * 4. Mounts workspace via SSHFS
39
- * 5. Executes task via A2A executor
40
- * 6. Unmounts and sends DONE/ERROR
41
- */
42
20
  export declare class ExecutorService {
43
21
  private executor;
44
22
  private config;
45
- private policy;
46
- private sshfsClient;
23
+ private transport;
24
+ private workspace;
47
25
  private delegatorClient;
48
26
  private pendingInvitations;
49
27
  private activeDelegations;
50
28
  constructor(options: ExecutorServiceOptions);
51
- /**
52
- * Handle incoming AWCP message from Delegator
53
- */
54
29
  handleMessage(message: AwcpMessage, delegatorUrl: string): Promise<AwcpMessage | null>;
55
- /**
56
- * Handle INVITE message
57
- */
58
30
  private handleInvite;
59
- /**
60
- * Handle START message
61
- */
62
31
  private handleStart;
63
- /**
64
- * Handle ERROR message from Delegator
65
- */
66
32
  private handleError;
67
- /**
68
- * Cancel a delegation (called by Delegator via /cancel endpoint)
69
- */
70
33
  cancelDelegation(delegationId: string): Promise<void>;
71
- /**
72
- * Execute task via A2A executor
73
- */
74
34
  private executeViaA2A;
75
- /**
76
- * Get service status
77
- */
78
35
  getStatus(): ExecutorServiceStatus;
79
- /**
80
- * Create an error message
81
- */
82
36
  private createErrorMessage;
83
37
  }
84
38
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/executor/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAML,KAAK,WAAW,EAMjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,cAAc,EAAsD,MAAM,aAAa,CAAC;AAwBtG;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,yBAAyB;IACzB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,iBAAiB,CAAuC;gBAEpD,OAAO,EAAE,sBAAsB;IAW3C;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAe9B;;OAEG;YACW,YAAY;IAqH1B;;OAEG;YACW,WAAW;IAsFzB;;OAEG;YACW,WAAW;IAqBzB;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3D;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,SAAS,IAAI,qBAAqB;IAYlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAe3B"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/executor/service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAML,KAAK,WAAW,EAOjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,cAAc,EAAsD,MAAM,aAAa,CAAC;AAkBtG,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,iBAAiB,CAAuC;gBAEpD,OAAO,EAAE,sBAAsB;IAQrC,aAAa,CACjB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAehB,YAAY;YAyGZ,WAAW;YAsEX,WAAW;IAkBnB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqB7C,aAAa;IA2C3B,SAAS,IAAI,qBAAqB;IAYlC,OAAO,CAAC,kBAAkB;CAe3B"}