@awcp/sdk 0.0.0-dev-202602010544 → 0.0.0-dev-202602020823
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/client.d.ts +8 -9
- package/dist/delegator/bin/client.d.ts.map +1 -1
- package/dist/delegator/bin/client.js +3 -1
- package/dist/delegator/bin/client.js.map +1 -1
- package/dist/delegator/bin/daemon.js +4 -4
- package/dist/delegator/bin/daemon.js.map +1 -1
- package/dist/delegator/config.d.ts +6 -13
- package/dist/delegator/config.d.ts.map +1 -1
- package/dist/delegator/config.js +1 -5
- package/dist/delegator/config.js.map +1 -1
- package/dist/delegator/environment-builder.d.ts +45 -0
- package/dist/delegator/environment-builder.d.ts.map +1 -0
- package/dist/delegator/environment-builder.js +102 -0
- package/dist/delegator/environment-builder.js.map +1 -0
- package/dist/delegator/index.d.ts +3 -2
- package/dist/delegator/index.d.ts.map +1 -1
- package/dist/delegator/index.js +2 -1
- package/dist/delegator/index.js.map +1 -1
- package/dist/delegator/resource-adapters/fs-adapter.d.ts +8 -0
- package/dist/delegator/resource-adapters/fs-adapter.d.ts.map +1 -0
- package/dist/delegator/resource-adapters/fs-adapter.js +14 -0
- package/dist/delegator/resource-adapters/fs-adapter.js.map +1 -0
- package/dist/delegator/resource-adapters/index.d.ts +4 -0
- package/dist/delegator/resource-adapters/index.d.ts.map +1 -0
- package/dist/delegator/resource-adapters/index.js +3 -0
- package/dist/delegator/resource-adapters/index.js.map +1 -0
- package/dist/delegator/resource-adapters/registry.d.ts +8 -0
- package/dist/delegator/resource-adapters/registry.d.ts.map +1 -0
- package/dist/delegator/resource-adapters/registry.js +17 -0
- package/dist/delegator/resource-adapters/registry.js.map +1 -0
- package/dist/delegator/resource-adapters/types.d.ts +7 -0
- package/dist/delegator/resource-adapters/types.d.ts.map +1 -0
- package/dist/delegator/resource-adapters/types.js +2 -0
- package/dist/delegator/resource-adapters/types.js.map +1 -0
- package/dist/delegator/service.d.ts +4 -4
- package/dist/delegator/service.d.ts.map +1 -1
- package/dist/delegator/service.js +26 -29
- package/dist/delegator/service.js.map +1 -1
- package/dist/executor/config.d.ts +2 -1
- package/dist/executor/config.d.ts.map +1 -1
- package/dist/executor/config.js.map +1 -1
- package/dist/executor/service.d.ts.map +1 -1
- package/dist/executor/service.js +4 -3
- package/dist/executor/service.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/delegator/export-manager.d.ts +0 -27
- package/dist/delegator/export-manager.d.ts.map +0 -1
- package/dist/delegator/export-manager.js +0 -85
- package/dist/delegator/export-manager.js.map +0 -1
- package/dist/delegator/export-view.d.ts +0 -43
- package/dist/delegator/export-view.d.ts.map +0 -1
- package/dist/delegator/export-view.js +0 -108
- package/dist/delegator/export-view.js.map +0 -1
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
* // Create delegation
|
|
14
14
|
* const result = await client.delegate({
|
|
15
15
|
* executorUrl: 'http://executor:4001/awcp',
|
|
16
|
-
*
|
|
16
|
+
* environment: {
|
|
17
|
+
* resources: [{ name: 'project', type: 'fs', source: '/path/to/project', mode: 'rw' }]
|
|
18
|
+
* },
|
|
17
19
|
* task: { description: 'Fix bug', prompt: '...' },
|
|
18
20
|
* });
|
|
19
21
|
*
|
|
@@ -24,25 +26,22 @@
|
|
|
24
26
|
* const all = await client.listDelegations();
|
|
25
27
|
* ```
|
|
26
28
|
*/
|
|
27
|
-
import type { Delegation, TaskSpec, AccessMode, AuthCredential } from '@awcp/core';
|
|
29
|
+
import type { Delegation, TaskSpec, AccessMode, AuthCredential, EnvironmentSpec } from '@awcp/core';
|
|
28
30
|
/**
|
|
29
31
|
* Parameters for creating a delegation
|
|
30
32
|
*/
|
|
31
33
|
export interface DelegateRequest {
|
|
32
34
|
/** URL of the Executor's AWCP endpoint */
|
|
33
35
|
executorUrl: string;
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
+
/** Environment specification with resources to delegate */
|
|
37
|
+
environment: EnvironmentSpec;
|
|
36
38
|
/** Task specification */
|
|
37
39
|
task: TaskSpec;
|
|
38
40
|
/** TTL in seconds (uses default if not specified) */
|
|
39
41
|
ttlSeconds?: number;
|
|
40
42
|
/** Access mode (uses default if not specified) */
|
|
41
43
|
accessMode?: AccessMode;
|
|
42
|
-
/**
|
|
43
|
-
* Optional authentication for paid/restricted Executor services.
|
|
44
|
-
* This will be included in the INVITE message.
|
|
45
|
-
*/
|
|
44
|
+
/** Optional authentication for paid/restricted Executor services */
|
|
46
45
|
auth?: AuthCredential;
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
@@ -60,7 +59,7 @@ export interface ListDelegationsResponse {
|
|
|
60
59
|
id: string;
|
|
61
60
|
state: string;
|
|
62
61
|
executorUrl: string;
|
|
63
|
-
|
|
62
|
+
environment: EnvironmentSpec;
|
|
64
63
|
createdAt: string;
|
|
65
64
|
}>;
|
|
66
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/delegator/bin/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/delegator/bin/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,eAAe,CAAC;IAC7B,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oEAAoE;IACpE,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,eAAe,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAK7D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQlE;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI9D;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIzD;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;OAEG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,cAAc,GAAE,MAAa,EAC7B,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,UAAU,CAAC;IAoBtB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;YASlB,OAAO;CA+BtB"}
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
* // Create delegation
|
|
14
14
|
* const result = await client.delegate({
|
|
15
15
|
* executorUrl: 'http://executor:4001/awcp',
|
|
16
|
-
*
|
|
16
|
+
* environment: {
|
|
17
|
+
* resources: [{ name: 'project', type: 'fs', source: '/path/to/project', mode: 'rw' }]
|
|
18
|
+
* },
|
|
17
19
|
* task: { description: 'Fix bug', prompt: '...' },
|
|
18
20
|
* });
|
|
19
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/delegator/bin/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/delegator/bin/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,16 +26,16 @@ export async function startDelegatorDaemon(config) {
|
|
|
26
26
|
*/
|
|
27
27
|
app.post('/delegate', async (req, res) => {
|
|
28
28
|
try {
|
|
29
|
-
const { executorUrl,
|
|
30
|
-
if (!executorUrl || !
|
|
29
|
+
const { executorUrl, environment, task, ttlSeconds, accessMode } = req.body;
|
|
30
|
+
if (!executorUrl || !environment || !task) {
|
|
31
31
|
res.status(400).json({
|
|
32
|
-
error: 'Missing required fields: executorUrl,
|
|
32
|
+
error: 'Missing required fields: executorUrl, environment, task',
|
|
33
33
|
});
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
const delegationId = await service.delegate({
|
|
37
37
|
executorUrl,
|
|
38
|
-
|
|
38
|
+
environment,
|
|
39
39
|
task,
|
|
40
40
|
ttlSeconds,
|
|
41
41
|
accessMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoBvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAoB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhB,MAAM,cAAc,GAA4B;QAC9C,MAAM,EAAE,MAAM,CAAC,SAAS;KACzB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAErD;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { Delegation, AccessMode, DelegatorTransportAdapter } from '@awcp/core';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Environment builder configuration
|
|
7
7
|
*/
|
|
8
|
-
export interface
|
|
9
|
-
/** Base directory for
|
|
8
|
+
export interface EnvironmentConfig {
|
|
9
|
+
/** Base directory for environment directories */
|
|
10
10
|
baseDir: string;
|
|
11
|
-
/** Strategy for creating export view (default: 'symlink') */
|
|
12
|
-
strategy?: 'symlink' | 'bind' | 'worktree';
|
|
13
11
|
}
|
|
14
12
|
/**
|
|
15
13
|
* Admission control configuration
|
|
@@ -44,8 +42,8 @@ export interface DelegatorHooks {
|
|
|
44
42
|
* AWCP Delegator Configuration
|
|
45
43
|
*/
|
|
46
44
|
export interface DelegatorConfig {
|
|
47
|
-
/**
|
|
48
|
-
|
|
45
|
+
/** Environment builder configuration */
|
|
46
|
+
environment: EnvironmentConfig;
|
|
49
47
|
/** Transport adapter for data plane */
|
|
50
48
|
transport: DelegatorTransportAdapter;
|
|
51
49
|
/** Admission control */
|
|
@@ -59,9 +57,6 @@ export interface DelegatorConfig {
|
|
|
59
57
|
* Default configuration values
|
|
60
58
|
*/
|
|
61
59
|
export declare const DEFAULT_DELEGATOR_CONFIG: {
|
|
62
|
-
readonly export: {
|
|
63
|
-
readonly strategy: "symlink";
|
|
64
|
-
};
|
|
65
60
|
readonly admission: {
|
|
66
61
|
readonly maxTotalBytes: number;
|
|
67
62
|
readonly maxFileCount: 10000;
|
|
@@ -91,9 +86,7 @@ export interface ResolvedDelegationDefaults {
|
|
|
91
86
|
* Resolved configuration with all defaults applied
|
|
92
87
|
*/
|
|
93
88
|
export interface ResolvedDelegatorConfig {
|
|
94
|
-
export:
|
|
95
|
-
strategy: 'symlink' | 'bind' | 'worktree';
|
|
96
|
-
};
|
|
89
|
+
export: EnvironmentConfig;
|
|
97
90
|
transport: DelegatorTransportAdapter;
|
|
98
91
|
admission: ResolvedAdmissionConfig;
|
|
99
92
|
defaults: ResolvedDelegationDefaults;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvD,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,uCAAuC;IACvC,SAAS,EAAE,yBAAyB,CAAC;IACrC,wBAAwB;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,sBAAsB;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;6BAQb,UAAU;;CAExB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,yBAAyB,CAAC;IACrC,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,uBAAuB,CAiBvF"}
|
package/dist/delegator/config.js
CHANGED
|
@@ -5,9 +5,6 @@
|
|
|
5
5
|
* Default configuration values
|
|
6
6
|
*/
|
|
7
7
|
export const DEFAULT_DELEGATOR_CONFIG = {
|
|
8
|
-
export: {
|
|
9
|
-
strategy: 'symlink',
|
|
10
|
-
},
|
|
11
8
|
admission: {
|
|
12
9
|
maxTotalBytes: 100 * 1024 * 1024, // 100MB
|
|
13
10
|
maxFileCount: 10000,
|
|
@@ -24,8 +21,7 @@ export const DEFAULT_DELEGATOR_CONFIG = {
|
|
|
24
21
|
export function resolveDelegatorConfig(config) {
|
|
25
22
|
return {
|
|
26
23
|
export: {
|
|
27
|
-
baseDir: config.
|
|
28
|
-
strategy: config.export.strategy ?? DEFAULT_DELEGATOR_CONFIG.export.strategy,
|
|
24
|
+
baseDir: config.environment.baseDir,
|
|
29
25
|
},
|
|
30
26
|
transport: config.transport,
|
|
31
27
|
admission: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4DH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE;QACT,aAAa,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;QAC1C,YAAY,EAAE,KAAK;QACnB,kBAAkB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;KAC9C;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAkB;KAC/B;CACO,CAAC;AA8BX;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO;SACpC;QACD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE;YACT,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,IAAI,wBAAwB,CAAC,SAAS,CAAC,aAAa;YAClG,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,IAAI,wBAAwB,CAAC,SAAS,CAAC,YAAY;YAC/F,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,IAAI,wBAAwB,CAAC,SAAS,CAAC,kBAAkB;SAClH;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,wBAAwB,CAAC,QAAQ,CAAC,UAAU;YACvF,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,wBAAwB,CAAC,QAAQ,CAAC,UAAU;SACxF;QACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Builder - builds environment directories for delegation
|
|
3
|
+
*/
|
|
4
|
+
import type { EnvironmentSpec } from '@awcp/core';
|
|
5
|
+
export interface EnvironmentManifest {
|
|
6
|
+
version: '1';
|
|
7
|
+
delegationId: string;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
resources: Array<{
|
|
10
|
+
name: string;
|
|
11
|
+
type: string;
|
|
12
|
+
source: string;
|
|
13
|
+
mode: 'ro' | 'rw';
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface EnvironmentBuildResult {
|
|
17
|
+
envRoot: string;
|
|
18
|
+
manifest: EnvironmentManifest;
|
|
19
|
+
}
|
|
20
|
+
export interface EnvironmentBuilderConfig {
|
|
21
|
+
baseDir?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Builds and manages environment directories for delegations.
|
|
25
|
+
*/
|
|
26
|
+
export declare class EnvironmentBuilder {
|
|
27
|
+
private baseDir;
|
|
28
|
+
private adapters;
|
|
29
|
+
private environments;
|
|
30
|
+
constructor(config?: EnvironmentBuilderConfig);
|
|
31
|
+
/**
|
|
32
|
+
* Build an environment directory from spec.
|
|
33
|
+
* Returns path with trailing slash for SSHFS compatibility.
|
|
34
|
+
*/
|
|
35
|
+
build(delegationId: string, spec: EnvironmentSpec): Promise<EnvironmentBuildResult>;
|
|
36
|
+
/** Get environment info for a delegation */
|
|
37
|
+
get(delegationId: string): EnvironmentBuildResult | undefined;
|
|
38
|
+
/** Release an environment directory */
|
|
39
|
+
release(delegationId: string): Promise<void>;
|
|
40
|
+
/** Apply result back to original paths */
|
|
41
|
+
applyResult(delegationId: string, resultEnvRoot: string): Promise<void>;
|
|
42
|
+
/** Cleanup stale environment directories from previous runs */
|
|
43
|
+
cleanupStale(): Promise<number>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=environment-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-builder.d.ts","sourceRoot":"","sources":["../../src/delegator/environment-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,GAAG,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,YAAY,CAA6C;gBAErD,MAAM,CAAC,EAAE,wBAAwB;IAM7C;;;OAGG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAiCzF,4CAA4C;IAC5C,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAI7D,uCAAuC;IACjC,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,0CAA0C;IACpC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7E,+DAA+D;IACzD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAetC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Builder - builds environment directories for delegation
|
|
3
|
+
*/
|
|
4
|
+
import { mkdir, rm, readdir, writeFile } from 'node:fs/promises';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
|
|
7
|
+
const DEFAULT_ENV_BASE = '/tmp/awcp/environments';
|
|
8
|
+
/**
|
|
9
|
+
* Builds and manages environment directories for delegations.
|
|
10
|
+
*/
|
|
11
|
+
export class EnvironmentBuilder {
|
|
12
|
+
baseDir;
|
|
13
|
+
adapters;
|
|
14
|
+
environments = new Map();
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.baseDir = config?.baseDir ?? DEFAULT_ENV_BASE;
|
|
17
|
+
this.adapters = new ResourceAdapterRegistry();
|
|
18
|
+
this.adapters.register(new FsResourceAdapter());
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build an environment directory from spec.
|
|
22
|
+
* Returns path with trailing slash for SSHFS compatibility.
|
|
23
|
+
*/
|
|
24
|
+
async build(delegationId, spec) {
|
|
25
|
+
const envRoot = join(this.baseDir, delegationId);
|
|
26
|
+
await mkdir(envRoot, { recursive: true });
|
|
27
|
+
// Materialize each resource
|
|
28
|
+
for (const resource of spec.resources) {
|
|
29
|
+
const targetPath = join(envRoot, resource.name);
|
|
30
|
+
const adapter = this.adapters.get(resource.type);
|
|
31
|
+
await adapter.materialize(resource, targetPath);
|
|
32
|
+
}
|
|
33
|
+
// Write manifest (excluded from transport)
|
|
34
|
+
const manifest = {
|
|
35
|
+
version: '1',
|
|
36
|
+
delegationId,
|
|
37
|
+
createdAt: new Date().toISOString(),
|
|
38
|
+
resources: spec.resources.map(r => ({
|
|
39
|
+
name: r.name,
|
|
40
|
+
type: r.type,
|
|
41
|
+
source: r.source,
|
|
42
|
+
mode: r.mode,
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
const awcpDir = join(envRoot, '.awcp');
|
|
46
|
+
await mkdir(awcpDir, { recursive: true });
|
|
47
|
+
await writeFile(join(awcpDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
48
|
+
const result = { envRoot: envRoot + '/', manifest };
|
|
49
|
+
this.environments.set(delegationId, result);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/** Get environment info for a delegation */
|
|
53
|
+
get(delegationId) {
|
|
54
|
+
return this.environments.get(delegationId);
|
|
55
|
+
}
|
|
56
|
+
/** Release an environment directory */
|
|
57
|
+
async release(delegationId) {
|
|
58
|
+
const env = this.environments.get(delegationId);
|
|
59
|
+
if (!env)
|
|
60
|
+
return;
|
|
61
|
+
try {
|
|
62
|
+
await rm(env.envRoot, { recursive: true, force: true });
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// ignore
|
|
66
|
+
}
|
|
67
|
+
this.environments.delete(delegationId);
|
|
68
|
+
}
|
|
69
|
+
/** Apply result back to original paths */
|
|
70
|
+
async applyResult(delegationId, resultEnvRoot) {
|
|
71
|
+
const env = this.environments.get(delegationId);
|
|
72
|
+
if (!env) {
|
|
73
|
+
throw new Error(`No environment found for delegation ${delegationId}`);
|
|
74
|
+
}
|
|
75
|
+
for (const resource of env.manifest.resources) {
|
|
76
|
+
if (resource.mode === 'rw') {
|
|
77
|
+
const sourcePath = join(resultEnvRoot, resource.name);
|
|
78
|
+
const targetPath = resource.source;
|
|
79
|
+
const adapter = this.adapters.get(resource.type);
|
|
80
|
+
await adapter.apply(sourcePath, targetPath);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Cleanup stale environment directories from previous runs */
|
|
85
|
+
async cleanupStale() {
|
|
86
|
+
let cleaned = 0;
|
|
87
|
+
try {
|
|
88
|
+
const entries = await readdir(this.baseDir, { withFileTypes: true });
|
|
89
|
+
for (const entry of entries) {
|
|
90
|
+
if (entry.isDirectory() && !this.environments.has(entry.name)) {
|
|
91
|
+
await rm(join(this.baseDir, entry.name), { recursive: true, force: true });
|
|
92
|
+
cleaned++;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Base directory may not exist yet
|
|
98
|
+
}
|
|
99
|
+
return cleaned;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=environment-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-builder.js","sourceRoot":"","sources":["../../src/delegator/environment-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAuBlD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,OAAO,CAAS;IAChB,QAAQ,CAA0B;IAClC,YAAY,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEjE,YAAY,MAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,gBAAgB,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,YAAoB,EAAE,IAAqB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,4BAA4B;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,2CAA2C;QAC3C,MAAM,QAAQ,GAAwB;YACpC,OAAO,EAAE,GAAG;YACZ,YAAY;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,GAAG,CAAC,YAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,aAAqB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,YAAY;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9D,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3E,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, } from './service.js';
|
|
2
|
-
export { type DelegatorConfig, type
|
|
2
|
+
export { type DelegatorConfig, type EnvironmentConfig, type AdmissionConfig as DelegatorAdmissionConfig, type DelegationDefaults, type DelegatorHooks, type ResolvedDelegatorConfig, DEFAULT_DELEGATOR_CONFIG, resolveDelegatorConfig, } from './config.js';
|
|
3
3
|
export { startDelegatorDaemon, type DaemonConfig, type DaemonInstance, } from './bin/daemon.js';
|
|
4
4
|
export { DelegatorDaemonClient, type DelegateRequest, type DelegateResponse, type ListDelegationsResponse, } from './bin/client.js';
|
|
5
5
|
export { AdmissionController, type AdmissionConfig, type AdmissionResult, type WorkspaceStats } from './admission.js';
|
|
6
|
-
export {
|
|
6
|
+
export { EnvironmentBuilder, type EnvironmentManifest, type EnvironmentBuildResult, type EnvironmentBuilderConfig } from './environment-builder.js';
|
|
7
7
|
export { ExecutorClient, type InviteResponse } from './executor-client.js';
|
|
8
|
+
export { type ResourceAdapter, ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,IAAI,wBAAwB,EAChD,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,KAAK,eAAe,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/delegator/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { startDelegatorDaemon, } from './bin/daemon.js';
|
|
|
6
6
|
export { DelegatorDaemonClient, } from './bin/client.js';
|
|
7
7
|
// Utilities
|
|
8
8
|
export { AdmissionController } from './admission.js';
|
|
9
|
-
export {
|
|
9
|
+
export { EnvironmentBuilder } from './environment-builder.js';
|
|
10
10
|
export { ExecutorClient } from './executor-client.js';
|
|
11
|
+
export { ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAEzB,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAmE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAEzB,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAmE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAwF,MAAM,0BAA0B,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAwB,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResourceSpec } from '@awcp/core';
|
|
2
|
+
import type { ResourceAdapter } from './types.js';
|
|
3
|
+
export declare class FsResourceAdapter implements ResourceAdapter {
|
|
4
|
+
readonly type = "fs";
|
|
5
|
+
materialize(spec: ResourceSpec, targetPath: string): Promise<void>;
|
|
6
|
+
apply(sourcePath: string, targetPath: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=fs-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-adapter.d.ts","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/fs-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,QAAQ;IAEf,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAInE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { mkdir, symlink, cp, rm } from 'node:fs/promises';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
export class FsResourceAdapter {
|
|
4
|
+
type = 'fs';
|
|
5
|
+
async materialize(spec, targetPath) {
|
|
6
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
7
|
+
await symlink(spec.source, targetPath);
|
|
8
|
+
}
|
|
9
|
+
async apply(sourcePath, targetPath) {
|
|
10
|
+
await rm(targetPath, { recursive: true, force: true });
|
|
11
|
+
await cp(sourcePath, targetPath, { recursive: true, dereference: true });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fs-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-adapter.js","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/fs-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,IAAI,CAAC;IAErB,KAAK,CAAC,WAAW,CAAC,IAAkB,EAAE,UAAkB;QACtD,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,UAAkB;QAChD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResourceAdapter } from './types.js';
|
|
2
|
+
export declare class ResourceAdapterRegistry {
|
|
3
|
+
private adapters;
|
|
4
|
+
register(adapter: ResourceAdapter): void;
|
|
5
|
+
get(type: string): ResourceAdapter;
|
|
6
|
+
has(type: string): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAsC;IAEtD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAQlC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG3B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class ResourceAdapterRegistry {
|
|
2
|
+
adapters = new Map();
|
|
3
|
+
register(adapter) {
|
|
4
|
+
this.adapters.set(adapter.type, adapter);
|
|
5
|
+
}
|
|
6
|
+
get(type) {
|
|
7
|
+
const adapter = this.adapters.get(type);
|
|
8
|
+
if (!adapter) {
|
|
9
|
+
throw new Error(`Unknown resource type: ${type}`);
|
|
10
|
+
}
|
|
11
|
+
return adapter;
|
|
12
|
+
}
|
|
13
|
+
has(type) {
|
|
14
|
+
return this.adapters.has(type);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/registry.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEtD,QAAQ,CAAC,OAAwB;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ResourceSpec } from '@awcp/core';
|
|
2
|
+
export interface ResourceAdapter {
|
|
3
|
+
readonly type: string;
|
|
4
|
+
materialize(spec: ResourceSpec, targetPath: string): Promise<void>;
|
|
5
|
+
apply(sourcePath: string, targetPath: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/delegator/resource-adapters/types.ts"],"names":[],"mappings":""}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Manages the AWCP delegation protocol on the Delegator side.
|
|
5
5
|
*/
|
|
6
|
-
import { type Delegation, type TaskSpec, type AcceptMessage, type DoneMessage, type ErrorMessage, type AwcpMessage, type AccessMode, type AuthCredential } from '@awcp/core';
|
|
6
|
+
import { type Delegation, type TaskSpec, type EnvironmentSpec, type AcceptMessage, type DoneMessage, type ErrorMessage, type AwcpMessage, type AccessMode, type AuthCredential } from '@awcp/core';
|
|
7
7
|
import { type DelegatorConfig } from './config.js';
|
|
8
8
|
export interface DelegateParams {
|
|
9
9
|
executorUrl: string;
|
|
10
|
-
|
|
10
|
+
environment: EnvironmentSpec;
|
|
11
11
|
task: TaskSpec;
|
|
12
12
|
ttlSeconds?: number;
|
|
13
13
|
accessMode?: AccessMode;
|
|
@@ -19,7 +19,7 @@ export interface DelegatorServiceStatus {
|
|
|
19
19
|
id: string;
|
|
20
20
|
state: string;
|
|
21
21
|
executorUrl: string;
|
|
22
|
-
|
|
22
|
+
environment: EnvironmentSpec;
|
|
23
23
|
createdAt: string;
|
|
24
24
|
}>;
|
|
25
25
|
}
|
|
@@ -30,7 +30,7 @@ export declare class DelegatorService {
|
|
|
30
30
|
private config;
|
|
31
31
|
private transport;
|
|
32
32
|
private admissionController;
|
|
33
|
-
private
|
|
33
|
+
private environmentBuilder;
|
|
34
34
|
private executorClient;
|
|
35
35
|
private delegations;
|
|
36
36
|
private stateMachines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EAGpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EAWpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,eAAe,EAAwD,MAAM,aAAa,CAAC;AAKzG,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,eAAe,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,YAAY,CAA6B;gBAErC,OAAO,EAAE,uBAAuB;IAiBtC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA8EjD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAsD3C,qBAAqB;YAyBrB,eAAe;IAyC7B;;OAEG;YACW,WAAW;IA2BnB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjD,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA4B7F,SAAS,IAAI,sBAAsB;YAarB,OAAO;IAMrB;;;;;OAKG;YACW,wBAAwB;CAiCvC"}
|