@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.
Files changed (45) hide show
  1. package/dist/delegator/bin/daemon.d.ts +1 -9
  2. package/dist/delegator/bin/daemon.d.ts.map +1 -1
  3. package/dist/delegator/bin/daemon.js +7 -18
  4. package/dist/delegator/bin/daemon.js.map +1 -1
  5. package/dist/delegator/config.d.ts +71 -9
  6. package/dist/delegator/config.d.ts.map +1 -1
  7. package/dist/delegator/config.js +12 -1
  8. package/dist/delegator/config.js.map +1 -1
  9. package/dist/delegator/index.d.ts +2 -2
  10. package/dist/delegator/index.d.ts.map +1 -1
  11. package/dist/delegator/index.js +3 -3
  12. package/dist/delegator/index.js.map +1 -1
  13. package/dist/delegator/service.d.ts +69 -1
  14. package/dist/delegator/service.d.ts.map +1 -1
  15. package/dist/delegator/service.js +100 -15
  16. package/dist/delegator/service.js.map +1 -1
  17. package/dist/executor/config.d.ts +81 -11
  18. package/dist/executor/config.d.ts.map +1 -1
  19. package/dist/executor/config.js +9 -2
  20. package/dist/executor/config.js.map +1 -1
  21. package/dist/executor/index.d.ts +2 -2
  22. package/dist/executor/index.d.ts.map +1 -1
  23. package/dist/executor/index.js +2 -2
  24. package/dist/executor/index.js.map +1 -1
  25. package/dist/executor/policy.d.ts +55 -0
  26. package/dist/executor/policy.d.ts.map +1 -0
  27. package/dist/executor/policy.js +100 -0
  28. package/dist/executor/policy.js.map +1 -0
  29. package/dist/executor/service.d.ts +49 -3
  30. package/dist/executor/service.d.ts.map +1 -1
  31. package/dist/executor/service.js +112 -33
  32. package/dist/executor/service.js.map +1 -1
  33. package/dist/index.d.ts +2 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -2
  36. package/dist/index.js.map +1 -1
  37. package/package.json +3 -2
  38. package/dist/delegator/export-manager.d.ts +0 -27
  39. package/dist/delegator/export-manager.d.ts.map +0 -1
  40. package/dist/delegator/export-manager.js +0 -85
  41. package/dist/delegator/export-manager.js.map +0 -1
  42. package/dist/executor/workspace-manager.d.ts +0 -30
  43. package/dist/executor/workspace-manager.d.ts.map +0 -1
  44. package/dist/executor/workspace-manager.js +0 -75
  45. 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 { ExportManager } from './export-manager.js';
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 ExportManager({
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
- const exportPath = await this.exportManager.allocate(delegationId, params.localDir);
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: this.transport.type,
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
- const { mountInfo } = await this.transport.prepare({
109
- delegationId: delegation.id,
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: mountInfo,
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.transport.cleanup(delegationId);
234
- await this.exportManager.release(delegationId);
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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAWL,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACT,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAsD,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA+CtD;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAA0B;IAChC,WAAW,CAAS;IACpB,mBAAmB,CAAsB;IACzC,aAAa,CAAoB;IACjC,iBAAiB,CAAoB;IACrC,cAAc,CAAiB;IAC/B,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1D,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,8BAA8B;IAEhF,YAAY,OAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;YACjD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa;YAClD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY;YAChD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB;SAC7D,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;YAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;YAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAElC,4BAA4B;QAC5B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,sBAAsB,CAC9B,eAAe,CAAC,KAAK,IAAI,EAAE,EAC3B,eAAe,CAAC,IAAI,EACpB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAExE,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,EAAE,EAAE,YAAY;YAChB,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;SACxC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QAEnC,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAElD,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAExD,gCAAgC;QAChC,MAAM,aAAa,GAAkB;YACnC,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,QAAQ;YACd,YAAY;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;YACjC,SAAS,EAAE;gBACT,UAAU,EAAE,QAAQ,YAAY,EAAE;aACnC;YACD,YAAY,EAAE;gBACZ,SAAS,EAAE,OAAO;aACnB;YACD,mEAAmE;YACnE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1C,CAAC;QAEF,mBAAmB;QACnB,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACzE,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAEzF,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,oBAAoB;gBACpB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,IAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,YAAY,CACb,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAElC,YAAY;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC;YAEpD,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB;YACnB,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAsB;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,mDAAmD,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;QAEjE,mBAAmB;QACnB,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,6CAA6C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7C,uBAAuB;QACvB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC9E,UAAU,CAAC,EAAE,EACb,UAAU,CAAC,WAAW,CAAC,UAAU,CAClC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CACtD,CAAC,WAAW,EAAE,CAAC;QAEhB,sBAAsB;QACtB,MAAM,YAAY,GAAiB;YACjC,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,KAAK,EAAE;gBACL,SAAS;gBACT,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU;aAC9C;YACD,KAAK,EAAE;gBACL,SAAS,EAAE,OAAO;gBAClB,QAAQ;gBACR,aAAa,EAAE,OAAO,CAAC,UAAW;gBAClC,UAAU;aACX;SACF,CAAC;QAEF,wBAAwB;QACxB,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;QACzC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7C,aAAa;QACb,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE/D,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAoB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,iDAAiD,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;QAEnE,yCAAyC;QACzC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1C,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,6CAA6C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7C,UAAU;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAElC,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,kDAAkD,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;QACnE,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5D,oBAAoB;QACpB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE7C,UAAU;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAElC,YAAY;QACZ,MAAM,KAAK,GAAG,IAAI,SAAS,CACzB,OAAO,CAAC,IAAW,EACnB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,EACZ,UAAU,CAAC,EAAE,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAoB;QACtC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACR;gBACE,OAAO,CAAC,IAAI,CAAC,6CAA8C,OAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,6DAA6D;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErF,wCAAwC;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEjC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,YAAoB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,YAAoB,KAAK;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;YAC3D,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC9B,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,IAAI,SAAS,CACjB,UAAU,CAAC,KAAK,CAAC,IAAW,EAC5B,UAAU,CAAC,KAAK,CAAC,OAAO,EACxB,UAAU,CAAC,KAAK,CAAC,IAAI,EACrB,YAAY,CACb,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,mCAAmC;YACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACxC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7D,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,OAAO;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CAAC,YAAoB;QACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -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
- onTaskStart?: (delegationId: string, workPath: string) => void;
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
- /** Root directory for workspaces */
19
- workDir: string;
20
- /** Transport adapter */
21
- transport: ExecutorTransportAdapter;
22
- /** Sandbox profile */
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
- /** Policy constraints */
75
+ /**
76
+ * Policy constraints (optional)
77
+ *
78
+ * Rules for accepting or rejecting delegation requests.
79
+ */
25
80
  policy?: PolicyConstraints;
26
- /** Lifecycle hooks */
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
- workDir: string;
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;;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
+ {"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,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
- workDir: config.workDir,
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;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
+ {"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,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 { WorkspaceManager, type WorkspaceValidation } from './workspace-manager.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';
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,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,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,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,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 { WorkspaceManager } from './workspace-manager.js';
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,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
+ {"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"}