@awcp/sdk 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/delegator/bin/daemon.d.ts +0 -45
- package/dist/delegator/bin/daemon.d.ts.map +1 -1
- package/dist/delegator/bin/daemon.js +1 -85
- package/dist/delegator/bin/daemon.js.map +1 -1
- package/dist/delegator/config.d.ts +9 -71
- package/dist/delegator/config.d.ts.map +1 -1
- package/dist/delegator/config.js +1 -12
- package/dist/delegator/config.js.map +1 -1
- package/dist/delegator/executor-client.d.ts +6 -13
- package/dist/delegator/executor-client.d.ts.map +1 -1
- package/dist/delegator/executor-client.js +52 -14
- package/dist/delegator/executor-client.js.map +1 -1
- package/dist/delegator/export-manager.d.ts +27 -0
- package/dist/delegator/export-manager.d.ts.map +1 -0
- package/dist/delegator/export-manager.js +85 -0
- package/dist/delegator/export-manager.js.map +1 -0
- package/dist/delegator/index.d.ts +2 -2
- package/dist/delegator/index.d.ts.map +1 -1
- package/dist/delegator/index.js +3 -3
- package/dist/delegator/index.js.map +1 -1
- package/dist/delegator/service.d.ts +5 -69
- package/dist/delegator/service.d.ts.map +1 -1
- package/dist/delegator/service.js +96 -104
- package/dist/delegator/service.js.map +1 -1
- package/dist/executor/config.d.ts +11 -81
- package/dist/executor/config.d.ts.map +1 -1
- package/dist/executor/config.js +2 -9
- package/dist/executor/config.js.map +1 -1
- package/dist/executor/index.d.ts +2 -3
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +2 -3
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/service.d.ts +8 -50
- package/dist/executor/service.d.ts.map +1 -1
- package/dist/executor/service.js +100 -136
- package/dist/executor/service.js.map +1 -1
- package/dist/executor/workspace-manager.d.ts +30 -0
- package/dist/executor/workspace-manager.d.ts.map +1 -0
- package/dist/executor/workspace-manager.js +75 -0
- package/dist/executor/workspace-manager.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/express/awcp-delegator-handler.d.ts +0 -41
- package/dist/server/express/awcp-delegator-handler.d.ts.map +1 -1
- package/dist/server/express/awcp-delegator-handler.js +0 -49
- package/dist/server/express/awcp-delegator-handler.js.map +1 -1
- package/dist/server/express/awcp-executor-handler.d.ts +0 -27
- package/dist/server/express/awcp-executor-handler.d.ts.map +1 -1
- package/dist/server/express/awcp-executor-handler.js +23 -38
- package/dist/server/express/awcp-executor-handler.js.map +1 -1
- package/package.json +6 -3
- package/dist/executor/delegator-client.d.ts +0 -18
- package/dist/executor/delegator-client.d.ts.map +0 -1
- package/dist/executor/delegator-client.js +0 -37
- package/dist/executor/delegator-client.js.map +0 -1
- package/dist/executor/policy.d.ts +0 -55
- package/dist/executor/policy.d.ts.map +0 -1
- package/dist/executor/policy.js +0 -100
- package/dist/executor/policy.js.map +0 -1
package/dist/executor/service.js
CHANGED
|
@@ -1,54 +1,31 @@
|
|
|
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 { randomUUID } from 'node:crypto';
|
|
5
|
+
import { EventEmitter } from 'node:events';
|
|
8
6
|
import { DefaultExecutionEventBus, } from '@a2a-js/sdk/server';
|
|
9
|
-
import { SshfsMountClient } from '@awcp/transport-sshfs';
|
|
10
7
|
import { PROTOCOL_VERSION, ErrorCodes, AwcpError, } from '@awcp/core';
|
|
11
8
|
import { resolveExecutorConfig } from './config.js';
|
|
12
|
-
import {
|
|
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
|
-
*/
|
|
9
|
+
import { WorkspaceManager } from './workspace-manager.js';
|
|
25
10
|
export class ExecutorService {
|
|
26
11
|
executor;
|
|
27
12
|
config;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
delegatorClient;
|
|
13
|
+
transport;
|
|
14
|
+
workspace;
|
|
31
15
|
pendingInvitations = new Map();
|
|
32
16
|
activeDelegations = new Map();
|
|
33
17
|
constructor(options) {
|
|
34
18
|
this.executor = options.executor;
|
|
35
19
|
this.config = resolveExecutorConfig(options.config);
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
maxConcurrent: this.config.policy.maxConcurrentDelegations,
|
|
39
|
-
});
|
|
40
|
-
this.sshfsClient = new SshfsMountClient();
|
|
41
|
-
this.delegatorClient = new DelegatorClient();
|
|
20
|
+
this.transport = this.config.transport;
|
|
21
|
+
this.workspace = new WorkspaceManager(this.config.workDir);
|
|
42
22
|
}
|
|
43
|
-
|
|
44
|
-
* Handle incoming AWCP message from Delegator
|
|
45
|
-
*/
|
|
46
|
-
async handleMessage(message, delegatorUrl) {
|
|
23
|
+
async handleMessage(message) {
|
|
47
24
|
switch (message.type) {
|
|
48
25
|
case 'INVITE':
|
|
49
|
-
return this.handleInvite(message
|
|
26
|
+
return this.handleInvite(message);
|
|
50
27
|
case 'START':
|
|
51
|
-
await this.handleStart(message
|
|
28
|
+
await this.handleStart(message);
|
|
52
29
|
return null;
|
|
53
30
|
case 'ERROR':
|
|
54
31
|
await this.handleError(message);
|
|
@@ -58,30 +35,44 @@ export class ExecutorService {
|
|
|
58
35
|
}
|
|
59
36
|
}
|
|
60
37
|
/**
|
|
61
|
-
*
|
|
38
|
+
* Subscribe to task events via SSE
|
|
62
39
|
*/
|
|
63
|
-
|
|
40
|
+
subscribeTask(delegationId, callback) {
|
|
41
|
+
const delegation = this.activeDelegations.get(delegationId);
|
|
42
|
+
if (!delegation) {
|
|
43
|
+
const errorEvent = {
|
|
44
|
+
delegationId,
|
|
45
|
+
type: 'error',
|
|
46
|
+
timestamp: new Date().toISOString(),
|
|
47
|
+
code: 'NOT_FOUND',
|
|
48
|
+
message: 'Delegation not found',
|
|
49
|
+
};
|
|
50
|
+
callback(errorEvent);
|
|
51
|
+
return () => { };
|
|
52
|
+
}
|
|
53
|
+
const handler = (event) => callback(event);
|
|
54
|
+
delegation.eventEmitter.on('event', handler);
|
|
55
|
+
return () => {
|
|
56
|
+
delegation.eventEmitter.off('event', handler);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async handleInvite(invite) {
|
|
64
60
|
const { delegationId } = invite;
|
|
65
|
-
|
|
66
|
-
if (!this.policy.canAcceptMore()) {
|
|
61
|
+
if (this.activeDelegations.size >= this.config.policy.maxConcurrentDelegations) {
|
|
67
62
|
return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, 'Maximum concurrent delegations reached', 'Try again later when current tasks complete');
|
|
68
63
|
}
|
|
69
|
-
// Check TTL constraints
|
|
70
64
|
const maxTtl = this.config.policy.maxTtlSeconds;
|
|
71
65
|
if (invite.lease.ttlSeconds > maxTtl) {
|
|
72
66
|
return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, `Requested TTL (${invite.lease.ttlSeconds}s) exceeds maximum (${maxTtl}s)`, `Request a shorter TTL (max: ${maxTtl}s)`);
|
|
73
67
|
}
|
|
74
|
-
// Check access mode
|
|
75
68
|
const allowedModes = this.config.policy.allowedAccessModes;
|
|
76
69
|
if (!allowedModes.includes(invite.lease.accessMode)) {
|
|
77
70
|
return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, `Access mode '${invite.lease.accessMode}' not allowed`, `Allowed modes: ${allowedModes.join(', ')}`);
|
|
78
71
|
}
|
|
79
|
-
|
|
80
|
-
const depCheck = await this.sshfsClient.checkDependency();
|
|
72
|
+
const depCheck = await this.transport.checkDependency();
|
|
81
73
|
if (!depCheck.available) {
|
|
82
|
-
return this.createErrorMessage(delegationId, ErrorCodes.DEP_MISSING,
|
|
74
|
+
return this.createErrorMessage(delegationId, ErrorCodes.DEP_MISSING, `Transport ${this.transport.type} is not available`, depCheck.hint);
|
|
83
75
|
}
|
|
84
|
-
// Call onInvite hook if provided
|
|
85
76
|
if (this.config.hooks.onInvite) {
|
|
86
77
|
const accepted = await this.config.hooks.onInvite(invite);
|
|
87
78
|
if (!accepted) {
|
|
@@ -89,142 +80,132 @@ export class ExecutorService {
|
|
|
89
80
|
}
|
|
90
81
|
}
|
|
91
82
|
else if (!this.config.policy.autoAccept) {
|
|
92
|
-
// No hook and not auto-accept - store as pending
|
|
93
83
|
this.pendingInvitations.set(delegationId, {
|
|
94
84
|
invite,
|
|
95
|
-
delegatorUrl,
|
|
96
85
|
receivedAt: new Date(),
|
|
97
86
|
});
|
|
98
|
-
// For now, we'll auto-decline if not auto-accept and no hook
|
|
99
87
|
return this.createErrorMessage(delegationId, ErrorCodes.DECLINED, 'Manual acceptance required but no hook provided', 'Configure autoAccept: true or provide onInvite hook');
|
|
100
88
|
}
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
// Validate mount point
|
|
104
|
-
const validation = await this.policy.validateMountPoint(mountPoint);
|
|
89
|
+
const workPath = this.workspace.allocate(delegationId);
|
|
90
|
+
const validation = this.workspace.validate(workPath);
|
|
105
91
|
if (!validation.valid) {
|
|
106
|
-
await this.
|
|
107
|
-
return this.createErrorMessage(delegationId, ErrorCodes.
|
|
92
|
+
await this.workspace.release(workPath);
|
|
93
|
+
return this.createErrorMessage(delegationId, ErrorCodes.WORKDIR_DENIED, validation.reason ?? 'Workspace validation failed', 'Check workDir configuration');
|
|
108
94
|
}
|
|
109
|
-
// Store pending invitation
|
|
110
95
|
this.pendingInvitations.set(delegationId, {
|
|
111
96
|
invite,
|
|
112
|
-
delegatorUrl,
|
|
113
97
|
receivedAt: new Date(),
|
|
114
98
|
});
|
|
115
|
-
// Build executor constraints
|
|
116
99
|
const executorConstraints = {
|
|
117
100
|
acceptedAccessMode: invite.lease.accessMode,
|
|
118
101
|
maxTtlSeconds: Math.min(invite.lease.ttlSeconds, maxTtl),
|
|
119
102
|
sandboxProfile: this.config.sandbox,
|
|
120
103
|
};
|
|
121
|
-
// Return ACCEPT
|
|
122
104
|
const acceptMessage = {
|
|
123
105
|
version: PROTOCOL_VERSION,
|
|
124
106
|
type: 'ACCEPT',
|
|
125
107
|
delegationId,
|
|
126
|
-
|
|
108
|
+
executorWorkDir: { path: workPath },
|
|
127
109
|
executorConstraints,
|
|
128
110
|
};
|
|
129
111
|
return acceptMessage;
|
|
130
112
|
}
|
|
131
|
-
|
|
132
|
-
* Handle START message
|
|
133
|
-
*/
|
|
134
|
-
async handleStart(start, delegatorUrl) {
|
|
113
|
+
async handleStart(start) {
|
|
135
114
|
const { delegationId } = start;
|
|
136
115
|
const pending = this.pendingInvitations.get(delegationId);
|
|
137
116
|
if (!pending) {
|
|
138
117
|
console.warn(`[AWCP] Unknown delegation for START: ${delegationId}`);
|
|
139
118
|
return;
|
|
140
119
|
}
|
|
141
|
-
const
|
|
120
|
+
const workPath = this.workspace.allocate(delegationId);
|
|
142
121
|
this.pendingInvitations.delete(delegationId);
|
|
122
|
+
const eventEmitter = new EventEmitter();
|
|
123
|
+
this.activeDelegations.set(delegationId, {
|
|
124
|
+
id: delegationId,
|
|
125
|
+
workPath,
|
|
126
|
+
task: pending.invite.task,
|
|
127
|
+
startedAt: new Date(),
|
|
128
|
+
eventEmitter,
|
|
129
|
+
});
|
|
130
|
+
// Task execution runs async - don't await
|
|
131
|
+
this.executeTask(delegationId, start, workPath, pending.invite.task, eventEmitter);
|
|
132
|
+
}
|
|
133
|
+
async executeTask(delegationId, start, workPath, task, eventEmitter) {
|
|
143
134
|
try {
|
|
144
|
-
|
|
145
|
-
await this.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
exportLocator: start.mount.exportLocator,
|
|
150
|
-
credential: start.mount.credential,
|
|
151
|
-
mountPoint,
|
|
152
|
-
options: start.mount.mountOptions,
|
|
153
|
-
});
|
|
154
|
-
// Track active delegation
|
|
155
|
-
this.activeDelegations.set(delegationId, {
|
|
156
|
-
id: delegationId,
|
|
157
|
-
delegatorUrl,
|
|
158
|
-
mountPoint,
|
|
159
|
-
task: pending.invite.task,
|
|
160
|
-
startedAt: new Date(),
|
|
135
|
+
await this.workspace.prepare(workPath);
|
|
136
|
+
const actualPath = await this.transport.setup({
|
|
137
|
+
delegationId,
|
|
138
|
+
workDirInfo: start.workDir,
|
|
139
|
+
workDir: workPath,
|
|
161
140
|
});
|
|
162
|
-
|
|
163
|
-
|
|
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
|
|
169
|
-
const doneMessage = {
|
|
170
|
-
version: PROTOCOL_VERSION,
|
|
171
|
-
type: 'DONE',
|
|
141
|
+
this.config.hooks.onTaskStart?.(delegationId, actualPath);
|
|
142
|
+
const statusEvent = {
|
|
172
143
|
delegationId,
|
|
173
|
-
|
|
144
|
+
type: 'status',
|
|
145
|
+
timestamp: new Date().toISOString(),
|
|
146
|
+
status: 'running',
|
|
147
|
+
message: 'Task execution started',
|
|
148
|
+
};
|
|
149
|
+
eventEmitter.emit('event', statusEvent);
|
|
150
|
+
const result = await this.executeViaA2A(actualPath, task);
|
|
151
|
+
const teardownResult = await this.transport.teardown({ delegationId, workDir: actualPath });
|
|
152
|
+
const doneEvent = {
|
|
153
|
+
delegationId,
|
|
154
|
+
type: 'done',
|
|
155
|
+
timestamp: new Date().toISOString(),
|
|
156
|
+
summary: result.summary,
|
|
174
157
|
highlights: result.highlights,
|
|
158
|
+
resultBase64: teardownResult.resultBase64,
|
|
175
159
|
};
|
|
176
|
-
|
|
177
|
-
// Call onTaskComplete hook
|
|
160
|
+
eventEmitter.emit('event', doneEvent);
|
|
178
161
|
this.config.hooks.onTaskComplete?.(delegationId, result.summary);
|
|
179
|
-
// Cleanup
|
|
180
162
|
this.activeDelegations.delete(delegationId);
|
|
181
|
-
await this.
|
|
163
|
+
await this.workspace.release(actualPath);
|
|
182
164
|
}
|
|
183
165
|
catch (error) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
version: PROTOCOL_VERSION,
|
|
191
|
-
type: 'ERROR',
|
|
166
|
+
const delegation = this.activeDelegations.get(delegationId);
|
|
167
|
+
if (delegation) {
|
|
168
|
+
await this.transport.teardown({ delegationId, workDir: delegation.workPath }).catch(() => { });
|
|
169
|
+
await this.workspace.release(delegation.workPath);
|
|
170
|
+
}
|
|
171
|
+
const errorEvent = {
|
|
192
172
|
delegationId,
|
|
173
|
+
type: 'error',
|
|
174
|
+
timestamp: new Date().toISOString(),
|
|
193
175
|
code: ErrorCodes.TASK_FAILED,
|
|
194
176
|
message: error instanceof Error ? error.message : String(error),
|
|
195
177
|
hint: 'Check task requirements and try again',
|
|
196
178
|
};
|
|
197
|
-
|
|
198
|
-
// Call onError hook
|
|
179
|
+
eventEmitter.emit('event', errorEvent);
|
|
199
180
|
this.config.hooks.onError?.(delegationId, error instanceof Error ? error : new Error(String(error)));
|
|
181
|
+
this.activeDelegations.delete(delegationId);
|
|
200
182
|
}
|
|
201
183
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Handle ERROR message from Delegator
|
|
204
|
-
*/
|
|
205
184
|
async handleError(error) {
|
|
206
185
|
const { delegationId } = error;
|
|
207
|
-
// Cleanup if we have an active delegation
|
|
208
186
|
const delegation = this.activeDelegations.get(delegationId);
|
|
209
187
|
if (delegation) {
|
|
210
|
-
await this.
|
|
188
|
+
await this.transport.teardown({ delegationId, workDir: delegation.workPath }).catch(() => { });
|
|
211
189
|
this.activeDelegations.delete(delegationId);
|
|
212
|
-
await this.
|
|
190
|
+
await this.workspace.release(delegation.workPath);
|
|
213
191
|
}
|
|
214
|
-
// Remove pending invitation if any
|
|
215
192
|
this.pendingInvitations.delete(delegationId);
|
|
216
|
-
// Call onError hook
|
|
217
193
|
this.config.hooks.onError?.(delegationId, new AwcpError(error.code, error.message, error.hint, delegationId));
|
|
218
194
|
}
|
|
219
|
-
/**
|
|
220
|
-
* Cancel a delegation (called by Delegator via /cancel endpoint)
|
|
221
|
-
*/
|
|
222
195
|
async cancelDelegation(delegationId) {
|
|
223
196
|
const delegation = this.activeDelegations.get(delegationId);
|
|
224
197
|
if (delegation) {
|
|
225
|
-
await this.
|
|
198
|
+
await this.transport.teardown({ delegationId, workDir: delegation.workPath }).catch(() => { });
|
|
199
|
+
const errorEvent = {
|
|
200
|
+
delegationId,
|
|
201
|
+
type: 'error',
|
|
202
|
+
timestamp: new Date().toISOString(),
|
|
203
|
+
code: ErrorCodes.CANCELLED,
|
|
204
|
+
message: 'Delegation cancelled',
|
|
205
|
+
};
|
|
206
|
+
delegation.eventEmitter.emit('event', errorEvent);
|
|
226
207
|
this.activeDelegations.delete(delegationId);
|
|
227
|
-
await this.
|
|
208
|
+
await this.workspace.release(delegation.workPath);
|
|
228
209
|
this.config.hooks.onError?.(delegationId, new AwcpError(ErrorCodes.CANCELLED, 'Delegation cancelled by Delegator', undefined, delegationId));
|
|
229
210
|
return;
|
|
230
211
|
}
|
|
@@ -234,11 +215,7 @@ export class ExecutorService {
|
|
|
234
215
|
}
|
|
235
216
|
throw new Error(`Delegation not found: ${delegationId}`);
|
|
236
217
|
}
|
|
237
|
-
|
|
238
|
-
* Execute task via A2A executor
|
|
239
|
-
*/
|
|
240
|
-
async executeViaA2A(mountPoint, task) {
|
|
241
|
-
// Create synthetic A2A message with task context
|
|
218
|
+
async executeViaA2A(workPath, task) {
|
|
242
219
|
const message = {
|
|
243
220
|
kind: 'message',
|
|
244
221
|
messageId: randomUUID(),
|
|
@@ -247,15 +224,13 @@ export class ExecutorService {
|
|
|
247
224
|
{ kind: 'text', text: task.prompt },
|
|
248
225
|
{
|
|
249
226
|
kind: 'text',
|
|
250
|
-
text: `\n\n[AWCP Context]\nWorking directory: ${
|
|
227
|
+
text: `\n\n[AWCP Context]\nWorking directory: ${workPath}\nTask: ${task.description}`,
|
|
251
228
|
},
|
|
252
229
|
],
|
|
253
230
|
};
|
|
254
|
-
// Create request context
|
|
255
231
|
const taskId = randomUUID();
|
|
256
232
|
const contextId = randomUUID();
|
|
257
233
|
const requestContext = new RequestContextImpl(message, taskId, contextId);
|
|
258
|
-
// Create event bus and collect results
|
|
259
234
|
const eventBus = new DefaultExecutionEventBus();
|
|
260
235
|
const results = [];
|
|
261
236
|
eventBus.on('event', (event) => {
|
|
@@ -263,9 +238,7 @@ export class ExecutorService {
|
|
|
263
238
|
results.push(event);
|
|
264
239
|
}
|
|
265
240
|
});
|
|
266
|
-
// Execute
|
|
267
241
|
await this.executor.execute(requestContext, eventBus);
|
|
268
|
-
// Extract summary from results
|
|
269
242
|
const summary = results
|
|
270
243
|
.flatMap((m) => m.parts)
|
|
271
244
|
.filter((p) => p.kind === 'text')
|
|
@@ -275,23 +248,17 @@ export class ExecutorService {
|
|
|
275
248
|
summary: summary || 'Task completed',
|
|
276
249
|
};
|
|
277
250
|
}
|
|
278
|
-
/**
|
|
279
|
-
* Get service status
|
|
280
|
-
*/
|
|
281
251
|
getStatus() {
|
|
282
252
|
return {
|
|
283
253
|
pendingInvitations: this.pendingInvitations.size,
|
|
284
254
|
activeDelegations: this.activeDelegations.size,
|
|
285
255
|
delegations: Array.from(this.activeDelegations.values()).map((d) => ({
|
|
286
256
|
id: d.id,
|
|
287
|
-
|
|
257
|
+
workPath: d.workPath,
|
|
288
258
|
startedAt: d.startedAt.toISOString(),
|
|
289
259
|
})),
|
|
290
260
|
};
|
|
291
261
|
}
|
|
292
|
-
/**
|
|
293
|
-
* Create an error message
|
|
294
|
-
*/
|
|
295
262
|
createErrorMessage(delegationId, code, message, hint) {
|
|
296
263
|
return {
|
|
297
264
|
version: PROTOCOL_VERSION,
|
|
@@ -303,9 +270,6 @@ export class ExecutorService {
|
|
|
303
270
|
};
|
|
304
271
|
}
|
|
305
272
|
}
|
|
306
|
-
/**
|
|
307
|
-
* Simple RequestContext implementation
|
|
308
|
-
*/
|
|
309
273
|
class RequestContextImpl {
|
|
310
274
|
userMessage;
|
|
311
275
|
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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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Manager - manages workspace directories on Executor side
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkspaceValidation {
|
|
5
|
+
valid: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Manages workspace allocation, preparation, and cleanup.
|
|
10
|
+
*/
|
|
11
|
+
export declare class WorkspaceManager {
|
|
12
|
+
private workDir;
|
|
13
|
+
private allocated;
|
|
14
|
+
constructor(workDir: string);
|
|
15
|
+
/** Allocate a workspace path for a delegation */
|
|
16
|
+
allocate(delegationId: string): string;
|
|
17
|
+
/** Validate that a workspace path is safe to use */
|
|
18
|
+
validate(path: string): WorkspaceValidation;
|
|
19
|
+
/** Prepare a workspace directory */
|
|
20
|
+
prepare(path: string): Promise<void>;
|
|
21
|
+
/** Release a workspace and remove the directory */
|
|
22
|
+
release(path: string): Promise<void>;
|
|
23
|
+
/** Cleanup stale workspace directories from previous runs */
|
|
24
|
+
cleanupStale(): Promise<number>;
|
|
25
|
+
/** Check if a path is currently allocated */
|
|
26
|
+
isAllocated(path: string): boolean;
|
|
27
|
+
/** Get all currently allocated paths */
|
|
28
|
+
getAllocated(): string[];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=workspace-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../src/executor/workspace-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,MAAM;IAI3B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAMtC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAO3C,oCAAoC;IAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,mDAAmD;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C,6DAA6D;IACvD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAmBrC,6CAA6C;IAC7C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,wCAAwC;IACxC,YAAY,IAAI,MAAM,EAAE;CAGzB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Manager - manages workspace directories on Executor side
|
|
3
|
+
*/
|
|
4
|
+
import { mkdir, readdir, rm } from 'node:fs/promises';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
/**
|
|
7
|
+
* Manages workspace allocation, preparation, and cleanup.
|
|
8
|
+
*/
|
|
9
|
+
export class WorkspaceManager {
|
|
10
|
+
workDir;
|
|
11
|
+
allocated = new Set();
|
|
12
|
+
constructor(workDir) {
|
|
13
|
+
this.workDir = workDir;
|
|
14
|
+
}
|
|
15
|
+
/** Allocate a workspace path for a delegation */
|
|
16
|
+
allocate(delegationId) {
|
|
17
|
+
const path = join(this.workDir, delegationId);
|
|
18
|
+
this.allocated.add(path);
|
|
19
|
+
return path;
|
|
20
|
+
}
|
|
21
|
+
/** Validate that a workspace path is safe to use */
|
|
22
|
+
validate(path) {
|
|
23
|
+
if (!path.startsWith(this.workDir)) {
|
|
24
|
+
return { valid: false, reason: `Path must be under ${this.workDir}` };
|
|
25
|
+
}
|
|
26
|
+
return { valid: true };
|
|
27
|
+
}
|
|
28
|
+
/** Prepare a workspace directory */
|
|
29
|
+
async prepare(path) {
|
|
30
|
+
await mkdir(path, { recursive: true });
|
|
31
|
+
const entries = await readdir(path);
|
|
32
|
+
if (entries.length > 0) {
|
|
33
|
+
throw new Error(`Workspace ${path} is not empty`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Release a workspace and remove the directory */
|
|
37
|
+
async release(path) {
|
|
38
|
+
this.allocated.delete(path);
|
|
39
|
+
try {
|
|
40
|
+
await rm(path, { recursive: true, force: true });
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Ignore errors - directory may already be gone
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Cleanup stale workspace directories from previous runs */
|
|
47
|
+
async cleanupStale() {
|
|
48
|
+
let cleaned = 0;
|
|
49
|
+
try {
|
|
50
|
+
const entries = await readdir(this.workDir, { withFileTypes: true });
|
|
51
|
+
for (const entry of entries) {
|
|
52
|
+
if (entry.isDirectory()) {
|
|
53
|
+
const path = join(this.workDir, entry.name);
|
|
54
|
+
if (!this.allocated.has(path)) {
|
|
55
|
+
await rm(path, { recursive: true, force: true });
|
|
56
|
+
cleaned++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Root directory may not exist yet
|
|
63
|
+
}
|
|
64
|
+
return cleaned;
|
|
65
|
+
}
|
|
66
|
+
/** Check if a path is currently allocated */
|
|
67
|
+
isAllocated(path) {
|
|
68
|
+
return this.allocated.has(path);
|
|
69
|
+
}
|
|
70
|
+
/** Get all currently allocated paths */
|
|
71
|
+
getAllocated() {
|
|
72
|
+
return Array.from(this.allocated);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=workspace-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/executor/workspace-manager.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
|
|
7
|
-
export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus, type ExecutorConfig, type
|
|
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, } from './executor/index.js';
|
|
8
8
|
export * from '@awcp/core';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,GACzB,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,
|
|
15
|
+
AdmissionController, ExportManager, 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
|
-
|
|
23
|
+
WorkspaceManager, } 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;
|
|
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,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,uCAAuC;AACvC,+CAA+C;AAE/C,cAAc,YAAY,CAAC"}
|