@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.
- package/dist/delegator/bin/daemon.d.ts +1 -9
- package/dist/delegator/bin/daemon.d.ts.map +1 -1
- package/dist/delegator/bin/daemon.js +7 -18
- package/dist/delegator/bin/daemon.js.map +1 -1
- package/dist/delegator/config.d.ts +71 -9
- package/dist/delegator/config.d.ts.map +1 -1
- package/dist/delegator/config.js +12 -1
- package/dist/delegator/config.js.map +1 -1
- 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 +69 -1
- package/dist/delegator/service.d.ts.map +1 -1
- package/dist/delegator/service.js +100 -15
- package/dist/delegator/service.js.map +1 -1
- package/dist/executor/config.d.ts +81 -11
- package/dist/executor/config.d.ts.map +1 -1
- package/dist/executor/config.js +9 -2
- package/dist/executor/config.js.map +1 -1
- package/dist/executor/index.d.ts +2 -2
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +2 -2
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/policy.d.ts +55 -0
- package/dist/executor/policy.d.ts.map +1 -0
- package/dist/executor/policy.js +100 -0
- package/dist/executor/policy.js.map +1 -0
- package/dist/executor/service.d.ts +49 -3
- package/dist/executor/service.d.ts.map +1 -1
- package/dist/executor/service.js +112 -33
- package/dist/executor/service.js.map +1 -1
- 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/package.json +3 -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/executor/workspace-manager.d.ts +0 -30
- package/dist/executor/workspace-manager.d.ts.map +0 -1
- package/dist/executor/workspace-manager.js +0 -75
- package/dist/executor/workspace-manager.js.map +0 -1
|
@@ -47,19 +47,11 @@ export interface DaemonInstance {
|
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
49
49
|
* ```typescript
|
|
50
|
-
* import { SshfsTransport } from '@awcp/transport-sshfs';
|
|
51
|
-
*
|
|
52
50
|
* const daemon = await startDelegatorDaemon({
|
|
53
51
|
* port: 3100,
|
|
54
52
|
* delegator: {
|
|
55
53
|
* export: { baseDir: '/tmp/awcp/exports' },
|
|
56
|
-
*
|
|
57
|
-
* delegator: {
|
|
58
|
-
* host: 'localhost',
|
|
59
|
-
* user: process.env.USER,
|
|
60
|
-
* caKeyPath: '~/.awcp/ca',
|
|
61
|
-
* },
|
|
62
|
-
* }),
|
|
54
|
+
* ssh: { host: 'localhost', user: 'awcp' },
|
|
63
55
|
* },
|
|
64
56
|
* });
|
|
65
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,gBAAgB,EAAgC,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAwJxF;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmD1C"}
|
|
@@ -27,19 +27,11 @@ import { AwcpError } from '@awcp/core';
|
|
|
27
27
|
*
|
|
28
28
|
* @example
|
|
29
29
|
* ```typescript
|
|
30
|
-
* import { SshfsTransport } from '@awcp/transport-sshfs';
|
|
31
|
-
*
|
|
32
30
|
* const daemon = await startDelegatorDaemon({
|
|
33
31
|
* port: 3100,
|
|
34
32
|
* delegator: {
|
|
35
33
|
* export: { baseDir: '/tmp/awcp/exports' },
|
|
36
|
-
*
|
|
37
|
-
* delegator: {
|
|
38
|
-
* host: 'localhost',
|
|
39
|
-
* user: process.env.USER,
|
|
40
|
-
* caKeyPath: '~/.awcp/ca',
|
|
41
|
-
* },
|
|
42
|
-
* }),
|
|
34
|
+
* ssh: { host: 'localhost', user: 'awcp' },
|
|
43
35
|
* },
|
|
44
36
|
* });
|
|
45
37
|
*
|
|
@@ -220,16 +212,13 @@ export async function main() {
|
|
|
220
212
|
}
|
|
221
213
|
}
|
|
222
214
|
if (!configPath) {
|
|
223
|
-
console.error('Usage: delegator-daemon --port 3100 --config <config.
|
|
224
|
-
console.error('');
|
|
225
|
-
console.error('Config file should export a DelegatorConfig:');
|
|
226
|
-
console.error('');
|
|
227
|
-
console.error(" import { SshfsTransport } from '@awcp/transport-sshfs';");
|
|
215
|
+
console.error('Usage: delegator-daemon --port 3100 --config <config.json>');
|
|
228
216
|
console.error('');
|
|
229
|
-
console.error('
|
|
230
|
-
console.error(
|
|
231
|
-
|
|
232
|
-
|
|
217
|
+
console.error('Config file should contain:');
|
|
218
|
+
console.error(JSON.stringify({
|
|
219
|
+
export: { baseDir: '/tmp/awcp/exports' },
|
|
220
|
+
ssh: { host: 'localhost', user: 'awcp' },
|
|
221
|
+
}, null, 2));
|
|
233
222
|
process.exit(1);
|
|
234
223
|
}
|
|
235
224
|
// Load config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;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;AA0BvC
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/delegator/bin/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWCP Delegator Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for enabling AWCP Delegator functionality.
|
|
3
5
|
*/
|
|
4
|
-
import type { Delegation, AccessMode
|
|
6
|
+
import type { Delegation, AccessMode } from '@awcp/core';
|
|
5
7
|
/**
|
|
6
8
|
* Export view configuration
|
|
7
9
|
*/
|
|
8
10
|
export interface ExportConfig {
|
|
9
|
-
/** Base directory for export views */
|
|
11
|
+
/** Base directory for export views, e.g., '/tmp/awcp/exports' */
|
|
10
12
|
baseDir: string;
|
|
11
13
|
/** Strategy for creating export view (default: 'symlink') */
|
|
12
14
|
strategy?: 'symlink' | 'bind' | 'worktree';
|
|
13
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* SSH configuration for credential generation
|
|
18
|
+
*/
|
|
19
|
+
export interface SshConfig {
|
|
20
|
+
/** SSH server host that Executor will connect to */
|
|
21
|
+
host: string;
|
|
22
|
+
/** SSH server port (default: 22) */
|
|
23
|
+
port?: number;
|
|
24
|
+
/** SSH user for Executor connections */
|
|
25
|
+
user: string;
|
|
26
|
+
/** Directory to store temporary keys (default: '/tmp/awcp/keys') */
|
|
27
|
+
keyDir?: string;
|
|
28
|
+
}
|
|
14
29
|
/**
|
|
15
30
|
* Admission control configuration
|
|
16
31
|
*/
|
|
@@ -35,30 +50,68 @@ export interface DelegationDefaults {
|
|
|
35
50
|
* Lifecycle hooks for Delegator events
|
|
36
51
|
*/
|
|
37
52
|
export interface DelegatorHooks {
|
|
53
|
+
/** Called when delegation is created and INVITE sent */
|
|
38
54
|
onDelegationCreated?: (delegation: Delegation) => void;
|
|
55
|
+
/** Called when Executor accepts and task starts */
|
|
39
56
|
onDelegationStarted?: (delegation: Delegation) => void;
|
|
57
|
+
/** Called when task completes successfully */
|
|
40
58
|
onDelegationCompleted?: (delegation: Delegation) => void;
|
|
59
|
+
/** Called on error or rejection */
|
|
41
60
|
onError?: (delegationId: string, error: Error) => void;
|
|
42
61
|
}
|
|
43
62
|
/**
|
|
44
63
|
* AWCP Delegator Configuration
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const delegatorConfig: DelegatorConfig = {
|
|
68
|
+
* export: {
|
|
69
|
+
* baseDir: '/tmp/awcp/exports',
|
|
70
|
+
* },
|
|
71
|
+
* ssh: {
|
|
72
|
+
* host: 'my-host.example.com',
|
|
73
|
+
* port: 22,
|
|
74
|
+
* user: 'awcp',
|
|
75
|
+
* },
|
|
76
|
+
* };
|
|
77
|
+
* ```
|
|
45
78
|
*/
|
|
46
79
|
export interface DelegatorConfig {
|
|
47
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
* Export view configuration (required)
|
|
82
|
+
*
|
|
83
|
+
* Specifies how workspaces are exported for Executor access.
|
|
84
|
+
*/
|
|
48
85
|
export: ExportConfig;
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
86
|
+
/**
|
|
87
|
+
* SSH configuration (required)
|
|
88
|
+
*
|
|
89
|
+
* Specifies SSH server details for SSHFS connections.
|
|
90
|
+
*/
|
|
91
|
+
ssh: SshConfig;
|
|
92
|
+
/**
|
|
93
|
+
* Admission control (optional)
|
|
94
|
+
*
|
|
95
|
+
* Limits for workspace size to prevent network issues.
|
|
96
|
+
*/
|
|
52
97
|
admission?: AdmissionConfig;
|
|
53
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Default values for delegations (optional)
|
|
100
|
+
*/
|
|
54
101
|
defaults?: DelegationDefaults;
|
|
55
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Lifecycle hooks (optional)
|
|
104
|
+
*/
|
|
56
105
|
hooks?: DelegatorHooks;
|
|
57
106
|
}
|
|
58
107
|
/**
|
|
59
108
|
* Default configuration values
|
|
60
109
|
*/
|
|
61
110
|
export declare const DEFAULT_DELEGATOR_CONFIG: {
|
|
111
|
+
readonly ssh: {
|
|
112
|
+
readonly port: 22;
|
|
113
|
+
readonly keyDir: "/tmp/awcp/keys";
|
|
114
|
+
};
|
|
62
115
|
readonly export: {
|
|
63
116
|
readonly strategy: "symlink";
|
|
64
117
|
};
|
|
@@ -72,6 +125,15 @@ export declare const DEFAULT_DELEGATOR_CONFIG: {
|
|
|
72
125
|
readonly accessMode: AccessMode;
|
|
73
126
|
};
|
|
74
127
|
};
|
|
128
|
+
/**
|
|
129
|
+
* Resolved SSH config with all fields
|
|
130
|
+
*/
|
|
131
|
+
export interface ResolvedSshConfig {
|
|
132
|
+
host: string;
|
|
133
|
+
port: number;
|
|
134
|
+
user: string;
|
|
135
|
+
keyDir: string;
|
|
136
|
+
}
|
|
75
137
|
/**
|
|
76
138
|
* Resolved admission config with all fields
|
|
77
139
|
*/
|
|
@@ -94,7 +156,7 @@ export interface ResolvedDelegatorConfig {
|
|
|
94
156
|
export: ExportConfig & {
|
|
95
157
|
strategy: 'symlink' | 'bind' | 'worktree';
|
|
96
158
|
};
|
|
97
|
-
|
|
159
|
+
ssh: ResolvedSshConfig;
|
|
98
160
|
admission: ResolvedAdmissionConfig;
|
|
99
161
|
defaults: ResolvedDelegationDefaults;
|
|
100
162
|
hooks: DelegatorHooks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"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"}
|
package/dist/delegator/config.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AWCP Delegator Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration for enabling AWCP Delegator functionality.
|
|
3
5
|
*/
|
|
4
6
|
/**
|
|
5
7
|
* Default configuration values
|
|
6
8
|
*/
|
|
7
9
|
export const DEFAULT_DELEGATOR_CONFIG = {
|
|
10
|
+
ssh: {
|
|
11
|
+
port: 22,
|
|
12
|
+
keyDir: '/tmp/awcp/keys',
|
|
13
|
+
},
|
|
8
14
|
export: {
|
|
9
15
|
strategy: 'symlink',
|
|
10
16
|
},
|
|
@@ -27,7 +33,12 @@ export function resolveDelegatorConfig(config) {
|
|
|
27
33
|
baseDir: config.export.baseDir,
|
|
28
34
|
strategy: config.export.strategy ?? DEFAULT_DELEGATOR_CONFIG.export.strategy,
|
|
29
35
|
},
|
|
30
|
-
|
|
36
|
+
ssh: {
|
|
37
|
+
host: config.ssh.host,
|
|
38
|
+
port: config.ssh.port ?? DEFAULT_DELEGATOR_CONFIG.ssh.port,
|
|
39
|
+
user: config.ssh.user,
|
|
40
|
+
keyDir: config.ssh.keyDir ?? DEFAULT_DELEGATOR_CONFIG.ssh.keyDir,
|
|
41
|
+
},
|
|
31
42
|
admission: {
|
|
32
43
|
maxTotalBytes: config.admission?.maxTotalBytes ?? DEFAULT_DELEGATOR_CONFIG.admission.maxTotalBytes,
|
|
33
44
|
maxFileCount: config.admission?.maxFileCount ?? DEFAULT_DELEGATOR_CONFIG.admission.maxFileCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkHH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,EAAE;QACH,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,gBAAgB;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAkB;KAC7B;IACD,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;AAwCX;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,wBAAwB,CAAC,MAAM,CAAC,QAAQ;SAC7E;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACrB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI;YAC1D,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACrB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,MAAM;SACjE;QACD,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, } from './service.js';
|
|
2
|
-
export { type DelegatorConfig, type ExportConfig, type AdmissionConfig as DelegatorAdmissionConfig, type DelegationDefaults, type DelegatorHooks, type ResolvedDelegatorConfig, DEFAULT_DELEGATOR_CONFIG, resolveDelegatorConfig, } from './config.js';
|
|
2
|
+
export { type DelegatorConfig, type ExportConfig, type SshConfig, 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 { ExportViewManager } from './export-view.js';
|
|
7
7
|
export { ExecutorClient, type InviteResponse } from './executor-client.js';
|
|
8
8
|
//# 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,YAAY,EACjB,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,
|
|
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,YAAY,EACjB,KAAK,SAAS,EACd,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,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/delegator/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// High-level API
|
|
2
2
|
export { DelegatorService, } from './service.js';
|
|
3
3
|
export { DEFAULT_DELEGATOR_CONFIG, resolveDelegatorConfig, } from './config.js';
|
|
4
|
-
// Daemon mode
|
|
4
|
+
// Daemon mode (for running as independent process)
|
|
5
5
|
export { startDelegatorDaemon, } from './bin/daemon.js';
|
|
6
6
|
export { DelegatorDaemonClient, } from './bin/client.js';
|
|
7
|
-
// Utilities
|
|
7
|
+
// Utilities (can be used independently)
|
|
8
8
|
export { AdmissionController } from './admission.js';
|
|
9
|
-
export {
|
|
9
|
+
export { ExportViewManager } from './export-view.js';
|
|
10
10
|
export { ExecutorClient } from './executor-client.js';
|
|
11
11
|
//# 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,
|
|
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,EAQL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,mDAAmD;AACnD,OAAO,EACL,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAEzB,wCAAwC;AACxC,OAAO,EAAE,mBAAmB,EAAmE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC"}
|
|
@@ -2,17 +2,33 @@
|
|
|
2
2
|
* AWCP Delegator Service
|
|
3
3
|
*
|
|
4
4
|
* Manages the AWCP delegation protocol on the Delegator side.
|
|
5
|
+
* Integrates credential management and export view creation.
|
|
5
6
|
*/
|
|
6
7
|
import { type Delegation, type TaskSpec, type AcceptMessage, type DoneMessage, type ErrorMessage, type AwcpMessage, type AccessMode, type AuthCredential } from '@awcp/core';
|
|
7
8
|
import { type DelegatorConfig } from './config.js';
|
|
9
|
+
/**
|
|
10
|
+
* Parameters for creating a delegation
|
|
11
|
+
*/
|
|
8
12
|
export interface DelegateParams {
|
|
13
|
+
/** URL of the Executor's AWCP endpoint */
|
|
9
14
|
executorUrl: string;
|
|
15
|
+
/** Local directory to delegate */
|
|
10
16
|
localDir: string;
|
|
17
|
+
/** Task specification */
|
|
11
18
|
task: TaskSpec;
|
|
19
|
+
/** TTL in seconds (uses default if not specified) */
|
|
12
20
|
ttlSeconds?: number;
|
|
21
|
+
/** Access mode (uses default if not specified) */
|
|
13
22
|
accessMode?: AccessMode;
|
|
23
|
+
/**
|
|
24
|
+
* Optional authentication for paid/restricted Executor services.
|
|
25
|
+
* This will be included in the INVITE message.
|
|
26
|
+
*/
|
|
14
27
|
auth?: AuthCredential;
|
|
15
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Service status
|
|
31
|
+
*/
|
|
16
32
|
export interface DelegatorServiceStatus {
|
|
17
33
|
activeDelegations: number;
|
|
18
34
|
delegations: Array<{
|
|
@@ -23,30 +39,82 @@ export interface DelegatorServiceStatus {
|
|
|
23
39
|
createdAt: string;
|
|
24
40
|
}>;
|
|
25
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Options for creating the service
|
|
44
|
+
*/
|
|
26
45
|
export interface DelegatorServiceOptions {
|
|
46
|
+
/** AWCP Delegator configuration */
|
|
27
47
|
config: DelegatorConfig;
|
|
48
|
+
/** Callback URL where Executor will send ACCEPT/DONE/ERROR */
|
|
28
49
|
callbackUrl: string;
|
|
29
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* AWCP Delegator Service
|
|
53
|
+
*
|
|
54
|
+
* Manages the AWCP delegation lifecycle from the Delegator side:
|
|
55
|
+
* 1. Creates export view for workspace
|
|
56
|
+
* 2. Sends INVITE to Executor
|
|
57
|
+
* 3. Receives ACCEPT, generates credentials
|
|
58
|
+
* 4. Sends START with credentials
|
|
59
|
+
* 5. Receives DONE/ERROR, cleans up
|
|
60
|
+
*/
|
|
30
61
|
export declare class DelegatorService {
|
|
31
62
|
private config;
|
|
32
63
|
private callbackUrl;
|
|
33
|
-
private transport;
|
|
34
64
|
private admissionController;
|
|
35
65
|
private exportManager;
|
|
66
|
+
private credentialManager;
|
|
36
67
|
private executorClient;
|
|
37
68
|
private delegations;
|
|
38
69
|
private stateMachines;
|
|
39
70
|
private executorUrls;
|
|
40
71
|
constructor(options: DelegatorServiceOptions);
|
|
72
|
+
/**
|
|
73
|
+
* Create a new delegation
|
|
74
|
+
*
|
|
75
|
+
* This sends an INVITE to the Executor and waits for ACCEPT.
|
|
76
|
+
* After ACCEPT, it automatically sends START with credentials.
|
|
77
|
+
*
|
|
78
|
+
* @returns The delegation ID
|
|
79
|
+
*/
|
|
41
80
|
delegate(params: DelegateParams): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* Handle ACCEPT message from Executor
|
|
83
|
+
*
|
|
84
|
+
* This is called internally after INVITE, or externally via the Express handler.
|
|
85
|
+
*/
|
|
42
86
|
handleAccept(message: AcceptMessage): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Handle DONE message from Executor
|
|
89
|
+
*/
|
|
43
90
|
handleDone(message: DoneMessage): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Handle ERROR message from Executor
|
|
93
|
+
*/
|
|
44
94
|
handleError(message: ErrorMessage): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Handle incoming message from Executor
|
|
97
|
+
*/
|
|
45
98
|
handleMessage(message: AwcpMessage): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Cancel a delegation
|
|
101
|
+
*/
|
|
46
102
|
cancel(delegationId: string): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Get delegation status
|
|
105
|
+
*/
|
|
47
106
|
getDelegation(delegationId: string): Delegation | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* Wait for delegation to complete
|
|
109
|
+
*/
|
|
48
110
|
waitForCompletion(delegationId: string, timeoutMs?: number): Promise<Delegation>;
|
|
111
|
+
/**
|
|
112
|
+
* Get service status
|
|
113
|
+
*/
|
|
49
114
|
getStatus(): DelegatorServiceStatus;
|
|
115
|
+
/**
|
|
116
|
+
* Cleanup resources for a delegation
|
|
117
|
+
*/
|
|
50
118
|
private cleanup;
|
|
51
119
|
}
|
|
52
120
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAGb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EAOpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,eAAe,EAAwD,MAAM,aAAa,CAAC;AAKzG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,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,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mCAAmC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,YAAY,CAA6B;gBAErC,OAAO,EAAE,uBAAuB;IA2B5C;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAwFvD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DzD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvD;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3D;;OAEG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA6B7F;;OAEG;IACH,SAAS,IAAI,sBAAsB;IAanC;;OAEG;YACW,OAAO;CAKtB"}
|