@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
@@ -0,0 +1,100 @@
1
+ import { mkdir, readdir, rm } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ /**
4
+ * Default mount root directory
5
+ */
6
+ const DEFAULT_MOUNT_ROOT = '/tmp/awcp/mounts';
7
+ /**
8
+ * Local Policy - Enforces security constraints on the Executor side.
9
+ *
10
+ * Security: startsWith(root) check prevents path traversal attacks.
11
+ */
12
+ export class LocalPolicy {
13
+ config;
14
+ allocatedMounts = new Set();
15
+ constructor(config) {
16
+ this.config = config ?? {};
17
+ }
18
+ /**
19
+ * Allocate a mount point for a delegation
20
+ */
21
+ allocateMountPoint(delegationId) {
22
+ const root = this.config.mountRoot ?? DEFAULT_MOUNT_ROOT;
23
+ const mountPoint = join(root, delegationId);
24
+ this.allocatedMounts.add(mountPoint);
25
+ return mountPoint;
26
+ }
27
+ /**
28
+ * Validate that a mount point is safe to use
29
+ */
30
+ async validateMountPoint(mountPoint) {
31
+ const root = this.config.mountRoot ?? DEFAULT_MOUNT_ROOT;
32
+ if (!mountPoint.startsWith(root)) {
33
+ return {
34
+ valid: false,
35
+ reason: `Mount point must be under ${root}`,
36
+ };
37
+ }
38
+ return { valid: true };
39
+ }
40
+ /**
41
+ * Prepare a mount point (create directory, ensure empty)
42
+ */
43
+ async prepareMountPoint(mountPoint) {
44
+ await mkdir(mountPoint, { recursive: true });
45
+ const entries = await readdir(mountPoint);
46
+ if (entries.length > 0) {
47
+ throw new Error(`Mount point ${mountPoint} is not empty`);
48
+ }
49
+ }
50
+ /**
51
+ * Release a mount point and remove the directory
52
+ */
53
+ async releaseMountPoint(mountPoint) {
54
+ this.allocatedMounts.delete(mountPoint);
55
+ try {
56
+ await rm(mountPoint, { recursive: true, force: true });
57
+ }
58
+ catch {
59
+ // Ignore errors - directory may already be gone
60
+ }
61
+ }
62
+ /**
63
+ * Cleanup stale mount directories from previous runs
64
+ */
65
+ async cleanupStaleMounts() {
66
+ const root = this.config.mountRoot ?? DEFAULT_MOUNT_ROOT;
67
+ let cleaned = 0;
68
+ try {
69
+ const entries = await readdir(root, { withFileTypes: true });
70
+ for (const entry of entries) {
71
+ if (entry.isDirectory()) {
72
+ const mountPath = join(root, entry.name);
73
+ // Only clean directories not currently allocated
74
+ if (!this.allocatedMounts.has(mountPath)) {
75
+ await rm(mountPath, { recursive: true, force: true });
76
+ cleaned++;
77
+ }
78
+ }
79
+ }
80
+ }
81
+ catch {
82
+ // Root directory may not exist yet
83
+ }
84
+ return cleaned;
85
+ }
86
+ /**
87
+ * Check if concurrent limit is reached
88
+ */
89
+ canAcceptMore() {
90
+ const max = this.config.maxConcurrent ?? Infinity;
91
+ return this.allocatedMounts.size < max;
92
+ }
93
+ /**
94
+ * Get currently allocated mount points
95
+ */
96
+ getAllocatedMounts() {
97
+ return Array.from(this.allocatedMounts);
98
+ }
99
+ }
100
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/executor/policy.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,84 @@
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.
3
6
  */
4
7
  import { type AgentExecutor } from '@a2a-js/sdk/server';
5
8
  import { type AwcpMessage } from '@awcp/core';
6
9
  import { type ExecutorConfig } from './config.js';
10
+ /**
11
+ * Executor service status
12
+ */
7
13
  export interface ExecutorServiceStatus {
8
14
  pendingInvitations: number;
9
15
  activeDelegations: number;
10
16
  delegations: Array<{
11
17
  id: string;
12
- workPath: string;
18
+ mountPoint: string;
13
19
  startedAt: string;
14
20
  }>;
15
21
  }
22
+ /**
23
+ * Options for creating the service
24
+ */
16
25
  export interface ExecutorServiceOptions {
26
+ /** A2A agent executor */
17
27
  executor: AgentExecutor;
28
+ /** AWCP configuration */
18
29
  config: ExecutorConfig;
19
30
  }
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
+ */
20
42
  export declare class ExecutorService {
21
43
  private executor;
22
44
  private config;
23
- private transport;
24
- private workspace;
45
+ private policy;
46
+ private sshfsClient;
25
47
  private delegatorClient;
26
48
  private pendingInvitations;
27
49
  private activeDelegations;
28
50
  constructor(options: ExecutorServiceOptions);
51
+ /**
52
+ * Handle incoming AWCP message from Delegator
53
+ */
29
54
  handleMessage(message: AwcpMessage, delegatorUrl: string): Promise<AwcpMessage | null>;
55
+ /**
56
+ * Handle INVITE message
57
+ */
30
58
  private handleInvite;
59
+ /**
60
+ * Handle START message
61
+ */
31
62
  private handleStart;
63
+ /**
64
+ * Handle ERROR message from Delegator
65
+ */
32
66
  private handleError;
67
+ /**
68
+ * Cancel a delegation (called by Delegator via /cancel endpoint)
69
+ */
33
70
  cancelDelegation(delegationId: string): Promise<void>;
71
+ /**
72
+ * Execute task via A2A executor
73
+ */
34
74
  private executeViaA2A;
75
+ /**
76
+ * Get service status
77
+ */
35
78
  getStatus(): ExecutorServiceStatus;
79
+ /**
80
+ * Create an error message
81
+ */
36
82
  private createErrorMessage;
37
83
  }
38
84
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
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"}
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,27 +1,48 @@
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.
3
6
  */
4
7
  import { randomUUID } from 'node:crypto';
5
8
  import { DefaultExecutionEventBus, } from '@a2a-js/sdk/server';
9
+ import { SshfsMountClient } from '@awcp/transport-sshfs';
6
10
  import { PROTOCOL_VERSION, ErrorCodes, AwcpError, } from '@awcp/core';
7
11
  import { resolveExecutorConfig } from './config.js';
8
- import { WorkspaceManager } from './workspace-manager.js';
12
+ import { LocalPolicy } from './policy.js';
9
13
  import { DelegatorClient } from './delegator-client.js';
14
+ /**
15
+ * AWCP Executor Service
16
+ *
17
+ * Manages the AWCP delegation lifecycle:
18
+ * 1. Receives INVITE from Delegator
19
+ * 2. Sends ACCEPT back
20
+ * 3. Receives START with credentials
21
+ * 4. Mounts workspace via SSHFS
22
+ * 5. Executes task via A2A executor
23
+ * 6. Unmounts and sends DONE/ERROR
24
+ */
10
25
  export class ExecutorService {
11
26
  executor;
12
27
  config;
13
- transport;
14
- workspace;
28
+ policy;
29
+ sshfsClient;
15
30
  delegatorClient;
16
31
  pendingInvitations = new Map();
17
32
  activeDelegations = new Map();
18
33
  constructor(options) {
19
34
  this.executor = options.executor;
20
35
  this.config = resolveExecutorConfig(options.config);
21
- this.transport = this.config.transport;
22
- this.workspace = new WorkspaceManager(this.config.workDir);
36
+ this.policy = new LocalPolicy({
37
+ mountRoot: this.config.mount.root,
38
+ maxConcurrent: this.config.policy.maxConcurrentDelegations,
39
+ });
40
+ this.sshfsClient = new SshfsMountClient();
23
41
  this.delegatorClient = new DelegatorClient();
24
42
  }
43
+ /**
44
+ * Handle incoming AWCP message from Delegator
45
+ */
25
46
  async handleMessage(message, delegatorUrl) {
26
47
  switch (message.type) {
27
48
  case 'INVITE':
@@ -36,23 +57,31 @@ export class ExecutorService {
36
57
  throw new Error(`Unexpected message type: ${message.type}`);
37
58
  }
38
59
  }
60
+ /**
61
+ * Handle INVITE message
62
+ */
39
63
  async handleInvite(invite, delegatorUrl) {
40
64
  const { delegationId } = invite;
41
- if (this.activeDelegations.size >= this.config.policy.maxConcurrentDelegations) {
65
+ // Check if we can accept more delegations
66
+ if (!this.policy.canAcceptMore()) {
42
67
  return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, 'Maximum concurrent delegations reached', 'Try again later when current tasks complete');
43
68
  }
69
+ // Check TTL constraints
44
70
  const maxTtl = this.config.policy.maxTtlSeconds;
45
71
  if (invite.lease.ttlSeconds > maxTtl) {
46
72
  return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, `Requested TTL (${invite.lease.ttlSeconds}s) exceeds maximum (${maxTtl}s)`, `Request a shorter TTL (max: ${maxTtl}s)`);
47
73
  }
74
+ // Check access mode
48
75
  const allowedModes = this.config.policy.allowedAccessModes;
49
76
  if (!allowedModes.includes(invite.lease.accessMode)) {
50
77
  return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, `Access mode '${invite.lease.accessMode}' not allowed`, `Allowed modes: ${allowedModes.join(', ')}`);
51
78
  }
52
- const depCheck = await this.transport.checkDependency();
79
+ // Check dependencies
80
+ const depCheck = await this.sshfsClient.checkDependency();
53
81
  if (!depCheck.available) {
54
- return this.createErrorMessage(delegationId, ErrorCodes.DEP_MISSING, `Transport ${this.transport.type} is not available`, depCheck.hint);
82
+ return this.createErrorMessage(delegationId, ErrorCodes.DEP_MISSING, 'SSHFS is not available', 'Install sshfs: brew install macfuse && brew install sshfs (macOS) or apt install sshfs (Linux)');
55
83
  }
84
+ // Call onInvite hook if provided
56
85
  if (this.config.hooks.onInvite) {
57
86
  const accepted = await this.config.hooks.onInvite(invite);
58
87
  if (!accepted) {
@@ -60,38 +89,48 @@ export class ExecutorService {
60
89
  }
61
90
  }
62
91
  else if (!this.config.policy.autoAccept) {
92
+ // No hook and not auto-accept - store as pending
63
93
  this.pendingInvitations.set(delegationId, {
64
94
  invite,
65
95
  delegatorUrl,
66
96
  receivedAt: new Date(),
67
97
  });
98
+ // For now, we'll auto-decline if not auto-accept and no hook
68
99
  return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, 'Manual acceptance required but no hook provided', 'Configure autoAccept: true or provide onInvite hook');
69
100
  }
70
- const workPath = this.workspace.allocate(delegationId);
71
- const validation = this.workspace.validate(workPath);
101
+ // Allocate mount point
102
+ const mountPoint = this.policy.allocateMountPoint(delegationId);
103
+ // Validate mount point
104
+ const validation = await this.policy.validateMountPoint(mountPoint);
72
105
  if (!validation.valid) {
73
- await this.workspace.release(workPath);
74
- return this.createErrorMessage(delegationId, ErrorCodes.MOUNTPOINT_DENIED, validation.reason ?? 'Workspace validation failed', 'Check workDir configuration');
106
+ await this.policy.releaseMountPoint(mountPoint);
107
+ return this.createErrorMessage(delegationId, ErrorCodes.MOUNTPOINT_DENIED, validation.reason ?? 'Mount point validation failed', 'Check mount root configuration');
75
108
  }
109
+ // Store pending invitation
76
110
  this.pendingInvitations.set(delegationId, {
77
111
  invite,
78
112
  delegatorUrl,
79
113
  receivedAt: new Date(),
80
114
  });
115
+ // Build executor constraints
81
116
  const executorConstraints = {
82
117
  acceptedAccessMode: invite.lease.accessMode,
83
118
  maxTtlSeconds: Math.min(invite.lease.ttlSeconds, maxTtl),
84
119
  sandboxProfile: this.config.sandbox,
85
120
  };
121
+ // Return ACCEPT
86
122
  const acceptMessage = {
87
123
  version: PROTOCOL_VERSION,
88
124
  type: 'ACCEPT',
89
125
  delegationId,
90
- executorMount: { mountPoint: workPath },
126
+ executorMount: { mountPoint },
91
127
  executorConstraints,
92
128
  };
93
129
  return acceptMessage;
94
130
  }
131
+ /**
132
+ * Handle START message
133
+ */
95
134
  async handleStart(start, delegatorUrl) {
96
135
  const { delegationId } = start;
97
136
  const pending = this.pendingInvitations.get(delegationId);
@@ -99,25 +138,34 @@ export class ExecutorService {
99
138
  console.warn(`[AWCP] Unknown delegation for START: ${delegationId}`);
100
139
  return;
101
140
  }
102
- const workPath = this.workspace.allocate(delegationId);
141
+ const mountPoint = this.policy.allocateMountPoint(delegationId);
103
142
  this.pendingInvitations.delete(delegationId);
104
143
  try {
105
- await this.workspace.prepare(workPath);
106
- const actualPath = await this.transport.setup({
107
- delegationId,
108
- mountInfo: start.mount,
109
- workDir: workPath,
144
+ // Prepare mount point
145
+ await this.policy.prepareMountPoint(mountPoint);
146
+ // Mount the workspace
147
+ await this.sshfsClient.mount({
148
+ endpoint: start.mount.endpoint,
149
+ exportLocator: start.mount.exportLocator,
150
+ credential: start.mount.credential,
151
+ mountPoint,
152
+ options: start.mount.mountOptions,
110
153
  });
154
+ // Track active delegation
111
155
  this.activeDelegations.set(delegationId, {
112
156
  id: delegationId,
113
157
  delegatorUrl,
114
- workPath: actualPath,
158
+ mountPoint,
115
159
  task: pending.invite.task,
116
160
  startedAt: new Date(),
117
161
  });
118
- this.config.hooks.onTaskStart?.(delegationId, actualPath);
119
- const result = await this.executeViaA2A(actualPath, pending.invite.task);
120
- await this.transport.teardown({ delegationId, workDir: actualPath });
162
+ // Call onTaskStart hook
163
+ this.config.hooks.onTaskStart?.(delegationId, mountPoint);
164
+ // Execute task via A2A executor
165
+ const result = await this.executeViaA2A(mountPoint, pending.invite.task);
166
+ // Unmount
167
+ await this.sshfsClient.unmount(mountPoint);
168
+ // Send DONE
121
169
  const doneMessage = {
122
170
  version: PROTOCOL_VERSION,
123
171
  type: 'DONE',
@@ -126,14 +174,18 @@ export class ExecutorService {
126
174
  highlights: result.highlights,
127
175
  };
128
176
  await this.delegatorClient.send(delegatorUrl, doneMessage);
177
+ // Call onTaskComplete hook
129
178
  this.config.hooks.onTaskComplete?.(delegationId, result.summary);
179
+ // Cleanup
130
180
  this.activeDelegations.delete(delegationId);
131
- await this.workspace.release(actualPath);
181
+ await this.policy.releaseMountPoint(mountPoint);
132
182
  }
133
183
  catch (error) {
134
- await this.transport.teardown({ delegationId, workDir: workPath }).catch(() => { });
184
+ // Cleanup on error
185
+ await this.sshfsClient.unmount(mountPoint).catch(() => { });
135
186
  this.activeDelegations.delete(delegationId);
136
- await this.workspace.release(workPath);
187
+ await this.policy.releaseMountPoint(mountPoint);
188
+ // Send ERROR
137
189
  const errorMessage = {
138
190
  version: PROTOCOL_VERSION,
139
191
  type: 'ERROR',
@@ -143,26 +195,36 @@ export class ExecutorService {
143
195
  hint: 'Check task requirements and try again',
144
196
  };
145
197
  await this.delegatorClient.send(delegatorUrl, errorMessage).catch(console.error);
198
+ // Call onError hook
146
199
  this.config.hooks.onError?.(delegationId, error instanceof Error ? error : new Error(String(error)));
147
200
  }
148
201
  }
202
+ /**
203
+ * Handle ERROR message from Delegator
204
+ */
149
205
  async handleError(error) {
150
206
  const { delegationId } = error;
207
+ // Cleanup if we have an active delegation
151
208
  const delegation = this.activeDelegations.get(delegationId);
152
209
  if (delegation) {
153
- await this.transport.teardown({ delegationId, workDir: delegation.workPath }).catch(() => { });
210
+ await this.sshfsClient.unmount(delegation.mountPoint).catch(() => { });
154
211
  this.activeDelegations.delete(delegationId);
155
- await this.workspace.release(delegation.workPath);
212
+ await this.policy.releaseMountPoint(delegation.mountPoint);
156
213
  }
214
+ // Remove pending invitation if any
157
215
  this.pendingInvitations.delete(delegationId);
216
+ // Call onError hook
158
217
  this.config.hooks.onError?.(delegationId, new AwcpError(error.code, error.message, error.hint, delegationId));
159
218
  }
219
+ /**
220
+ * Cancel a delegation (called by Delegator via /cancel endpoint)
221
+ */
160
222
  async cancelDelegation(delegationId) {
161
223
  const delegation = this.activeDelegations.get(delegationId);
162
224
  if (delegation) {
163
- await this.transport.teardown({ delegationId, workDir: delegation.workPath }).catch(() => { });
225
+ await this.sshfsClient.unmount(delegation.mountPoint).catch(() => { });
164
226
  this.activeDelegations.delete(delegationId);
165
- await this.workspace.release(delegation.workPath);
227
+ await this.policy.releaseMountPoint(delegation.mountPoint);
166
228
  this.config.hooks.onError?.(delegationId, new AwcpError(ErrorCodes.CANCELLED, 'Delegation cancelled by Delegator', undefined, delegationId));
167
229
  return;
168
230
  }
@@ -172,7 +234,11 @@ export class ExecutorService {
172
234
  }
173
235
  throw new Error(`Delegation not found: ${delegationId}`);
174
236
  }
175
- async executeViaA2A(workPath, task) {
237
+ /**
238
+ * Execute task via A2A executor
239
+ */
240
+ async executeViaA2A(mountPoint, task) {
241
+ // Create synthetic A2A message with task context
176
242
  const message = {
177
243
  kind: 'message',
178
244
  messageId: randomUUID(),
@@ -181,13 +247,15 @@ export class ExecutorService {
181
247
  { kind: 'text', text: task.prompt },
182
248
  {
183
249
  kind: 'text',
184
- text: `\n\n[AWCP Context]\nWorking directory: ${workPath}\nTask: ${task.description}`,
250
+ text: `\n\n[AWCP Context]\nWorking directory: ${mountPoint}\nTask: ${task.description}`,
185
251
  },
186
252
  ],
187
253
  };
254
+ // Create request context
188
255
  const taskId = randomUUID();
189
256
  const contextId = randomUUID();
190
257
  const requestContext = new RequestContextImpl(message, taskId, contextId);
258
+ // Create event bus and collect results
191
259
  const eventBus = new DefaultExecutionEventBus();
192
260
  const results = [];
193
261
  eventBus.on('event', (event) => {
@@ -195,7 +263,9 @@ export class ExecutorService {
195
263
  results.push(event);
196
264
  }
197
265
  });
266
+ // Execute
198
267
  await this.executor.execute(requestContext, eventBus);
268
+ // Extract summary from results
199
269
  const summary = results
200
270
  .flatMap((m) => m.parts)
201
271
  .filter((p) => p.kind === 'text')
@@ -205,17 +275,23 @@ export class ExecutorService {
205
275
  summary: summary || 'Task completed',
206
276
  };
207
277
  }
278
+ /**
279
+ * Get service status
280
+ */
208
281
  getStatus() {
209
282
  return {
210
283
  pendingInvitations: this.pendingInvitations.size,
211
284
  activeDelegations: this.activeDelegations.size,
212
285
  delegations: Array.from(this.activeDelegations.values()).map((d) => ({
213
286
  id: d.id,
214
- workPath: d.workPath,
287
+ mountPoint: d.mountPoint,
215
288
  startedAt: d.startedAt.toISOString(),
216
289
  })),
217
290
  };
218
291
  }
292
+ /**
293
+ * Create an error message
294
+ */
219
295
  createErrorMessage(delegationId, code, message, hint) {
220
296
  return {
221
297
  version: PROTOCOL_VERSION,
@@ -227,6 +303,9 @@ export class ExecutorService {
227
303
  };
228
304
  }
229
305
  }
306
+ /**
307
+ * Simple RequestContext implementation
308
+ */
230
309
  class RequestContextImpl {
231
310
  userMessage;
232
311
  taskId;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/executor/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/executor/service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * AWCP SDK - Delegator and Executor implementations
5
5
  */
6
- export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, type DelegatorConfig, type DelegationDefaults, type DelegatorHooks, startDelegatorDaemon, DelegatorDaemonClient, type DaemonConfig, type DaemonInstance, type DelegateRequest, type DelegateResponse, type ListDelegationsResponse, AdmissionController, type AdmissionConfig, type AdmissionResult, type WorkspaceStats, ExportManager, ExecutorClient, } from './delegator/index.js';
7
- export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus, type ExecutorConfig, type PolicyConstraints, type ExecutorHooks, WorkspaceManager, type WorkspaceValidation, DelegatorClient, } from './executor/index.js';
6
+ export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, type DelegatorConfig, type SshConfig, type DelegationDefaults, type DelegatorHooks, startDelegatorDaemon, DelegatorDaemonClient, type DaemonConfig, type DaemonInstance, type DelegateRequest, type DelegateResponse, type ListDelegationsResponse, AdmissionController, type AdmissionConfig, type AdmissionResult, type WorkspaceStats, ExportViewManager, ExecutorClient, } from './delegator/index.js';
7
+ export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus, type ExecutorConfig, type MountConfig, type PolicyConstraints, type ExecutorHooks, LocalPolicy, type PolicyConfig, type MountPointValidation, DelegatorClient, } from './executor/index.js';
8
8
  export * from '@awcp/core';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAEL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAEnB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAEL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAM7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAEL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAEnB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAEL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAM7B,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ DelegatorService,
12
12
  // Daemon mode
13
13
  startDelegatorDaemon, DelegatorDaemonClient,
14
14
  // Utilities
15
- AdmissionController, ExportManager, ExecutorClient, } from './delegator/index.js';
15
+ AdmissionController, ExportViewManager, ExecutorClient, } from './delegator/index.js';
16
16
  // ============================================
17
17
  // Executor API (for executing delegations)
18
18
  // ============================================
@@ -20,7 +20,7 @@ export {
20
20
  // Service
21
21
  ExecutorService,
22
22
  // Utilities
23
- WorkspaceManager, DelegatorClient, } from './executor/index.js';
23
+ LocalPolicy, DelegatorClient, } from './executor/index.js';
24
24
  // ============================================
25
25
  // Re-export core types for convenience
26
26
  // ============================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,gBAAgB;AAQhB,cAAc;AACd,oBAAoB,EACpB,qBAAqB;AAMrB,YAAY;AACZ,mBAAmB,EAInB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,eAAe;AAOf,YAAY;AACZ,gBAAgB,EAEhB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,uCAAuC;AACvC,+CAA+C;AAE/C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,gBAAgB;AAShB,cAAc;AACd,oBAAoB,EACpB,qBAAqB;AAMrB,YAAY;AACZ,mBAAmB,EAInB,iBAAiB,EACjB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,eAAe;AAQf,YAAY;AACZ,WAAW,EAGX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,uCAAuC;AACvC,+CAA+C;AAE/C,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awcp/sdk",
3
- "version": "0.0.0-dev-202601301521",
3
+ "version": "0.0.1",
4
4
  "description": "AWCP SDK - Delegator and Executor Daemon implementations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,8 @@
41
41
  "test:watch": "vitest"
42
42
  },
43
43
  "dependencies": {
44
- "@awcp/core": "0.0.0-dev-202601301521",
44
+ "@awcp/core": "^0.0.1",
45
+ "@awcp/transport-sshfs": "^0.0.1",
45
46
  "@a2a-js/sdk": "^0.3.5"
46
47
  },
47
48
  "peerDependencies": {