@awcp/sdk 0.0.0-dev-202602010544 → 0.0.0-dev-202602020728

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/delegator/bin/daemon.js +4 -4
  2. package/dist/delegator/bin/daemon.js.map +1 -1
  3. package/dist/delegator/config.d.ts +6 -13
  4. package/dist/delegator/config.d.ts.map +1 -1
  5. package/dist/delegator/config.js +1 -5
  6. package/dist/delegator/config.js.map +1 -1
  7. package/dist/delegator/environment-builder.d.ts +45 -0
  8. package/dist/delegator/environment-builder.d.ts.map +1 -0
  9. package/dist/delegator/environment-builder.js +102 -0
  10. package/dist/delegator/environment-builder.js.map +1 -0
  11. package/dist/delegator/index.d.ts +3 -2
  12. package/dist/delegator/index.d.ts.map +1 -1
  13. package/dist/delegator/index.js +2 -1
  14. package/dist/delegator/index.js.map +1 -1
  15. package/dist/delegator/resource-adapters/fs-adapter.d.ts +8 -0
  16. package/dist/delegator/resource-adapters/fs-adapter.d.ts.map +1 -0
  17. package/dist/delegator/resource-adapters/fs-adapter.js +14 -0
  18. package/dist/delegator/resource-adapters/fs-adapter.js.map +1 -0
  19. package/dist/delegator/resource-adapters/index.d.ts +4 -0
  20. package/dist/delegator/resource-adapters/index.d.ts.map +1 -0
  21. package/dist/delegator/resource-adapters/index.js +3 -0
  22. package/dist/delegator/resource-adapters/index.js.map +1 -0
  23. package/dist/delegator/resource-adapters/registry.d.ts +8 -0
  24. package/dist/delegator/resource-adapters/registry.d.ts.map +1 -0
  25. package/dist/delegator/resource-adapters/registry.js +17 -0
  26. package/dist/delegator/resource-adapters/registry.js.map +1 -0
  27. package/dist/delegator/resource-adapters/types.d.ts +7 -0
  28. package/dist/delegator/resource-adapters/types.d.ts.map +1 -0
  29. package/dist/delegator/resource-adapters/types.js +2 -0
  30. package/dist/delegator/resource-adapters/types.js.map +1 -0
  31. package/dist/delegator/service.d.ts +4 -4
  32. package/dist/delegator/service.d.ts.map +1 -1
  33. package/dist/delegator/service.js +26 -29
  34. package/dist/delegator/service.js.map +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/package.json +2 -2
  40. package/dist/delegator/export-manager.d.ts +0 -27
  41. package/dist/delegator/export-manager.d.ts.map +0 -1
  42. package/dist/delegator/export-manager.js +0 -85
  43. package/dist/delegator/export-manager.js.map +0 -1
  44. package/dist/delegator/export-view.d.ts +0 -43
  45. package/dist/delegator/export-view.d.ts.map +0 -1
  46. package/dist/delegator/export-view.js +0 -108
  47. package/dist/delegator/export-view.js.map +0 -1
@@ -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, localDir, task, ttlSeconds, accessMode } = req.body;
30
- if (!executorUrl || !localDir || !task) {
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, localDir, task',
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
- localDir,
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":"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"}
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
- * Export view configuration
6
+ * Environment builder configuration
7
7
  */
8
- export interface ExportConfig {
9
- /** Base directory for export views */
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
- /** Export view configuration */
48
- export: ExportConfig;
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: ExportConfig & {
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,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;CAC5C;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,gCAAgC;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,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;;;;;;;;;;;6BAWb,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,YAAY,GAAG;QAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IACrE,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,CAkBvF"}
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"}
@@ -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.export.baseDir,
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;AA8DH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,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;AA8BX;;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,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"}
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":"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"}
@@ -1,8 +1,9 @@
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 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 { ExportManager } from './export-manager.js';
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,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,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
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"}
@@ -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 { ExportManager } from './export-manager.js';
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,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC"}
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,4 @@
1
+ export type { ResourceAdapter } from './types.js';
2
+ export { ResourceAdapterRegistry } from './registry.js';
3
+ export { FsResourceAdapter } from './fs-adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { ResourceAdapterRegistry } from './registry.js';
2
+ export { FsResourceAdapter } from './fs-adapter.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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
- localDir: string;
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
- localDir: string;
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 exportManager;
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,EAGb,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,QAAQ,EAAE,MAAM,CAAC;IACjB,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,QAAQ,EAAE,MAAM,CAAC;QACjB,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,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,YAAY,CAA6B;gBAErC,OAAO,EAAE,uBAAuB;IAkBtC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA6EjD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAsD3C,qBAAqB;YAyBrB,eAAe;IA0C7B;;OAEG;YACW,WAAW;IA4BnB,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"}
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"}
@@ -10,13 +10,13 @@ import * as os from 'node:os';
10
10
  import { DelegationStateMachine, createDelegation, applyMessageToDelegation, PROTOCOL_VERSION, AwcpError, WorkspaceTooLargeError, WorkspaceNotFoundError, WorkspaceInvalidError, } from '@awcp/core';
11
11
  import { resolveDelegatorConfig } from './config.js';
12
12
  import { AdmissionController } from './admission.js';
13
- import { ExportManager } from './export-manager.js';
13
+ import { EnvironmentBuilder } from './environment-builder.js';
14
14
  import { ExecutorClient } from './executor-client.js';
15
15
  export class DelegatorService {
16
16
  config;
17
17
  transport;
18
18
  admissionController;
19
- exportManager;
19
+ environmentBuilder;
20
20
  executorClient;
21
21
  delegations = new Map();
22
22
  stateMachines = new Map();
@@ -29,31 +29,33 @@ export class DelegatorService {
29
29
  maxFileCount: this.config.admission.maxFileCount,
30
30
  maxSingleFileBytes: this.config.admission.maxSingleFileBytes,
31
31
  });
32
- this.exportManager = new ExportManager({
32
+ this.environmentBuilder = new EnvironmentBuilder({
33
33
  baseDir: this.config.export.baseDir,
34
- strategy: this.config.export.strategy,
35
34
  });
36
35
  this.executorClient = new ExecutorClient();
37
36
  }
38
37
  async delegate(params) {
39
38
  const delegationId = randomUUID();
40
- // Validate and normalize localDir
41
- const localDir = await this.validateAndNormalizePath(params.localDir, delegationId);
42
- const admissionResult = await this.admissionController.check(localDir);
43
- if (!admissionResult.allowed) {
44
- throw new WorkspaceTooLargeError(admissionResult.stats ?? {}, admissionResult.hint, delegationId);
39
+ // Validate and check admission for all resources
40
+ for (const resource of params.environment.resources) {
41
+ const sourcePath = await this.validateAndNormalizePath(resource.source, delegationId);
42
+ resource.source = sourcePath;
43
+ const admissionResult = await this.admissionController.check(sourcePath);
44
+ if (!admissionResult.allowed) {
45
+ throw new WorkspaceTooLargeError(admissionResult.stats ?? {}, admissionResult.hint, delegationId);
46
+ }
45
47
  }
46
48
  const ttlSeconds = params.ttlSeconds ?? this.config.defaults.ttlSeconds;
47
49
  const accessMode = params.accessMode ?? this.config.defaults.accessMode;
48
50
  const delegation = createDelegation({
49
51
  id: delegationId,
50
52
  peerUrl: params.executorUrl,
51
- localDir: localDir,
53
+ environment: params.environment,
52
54
  task: params.task,
53
55
  leaseConfig: { ttlSeconds, accessMode },
54
56
  });
55
- const exportPath = await this.exportManager.allocate(delegationId, localDir);
56
- delegation.exportPath = exportPath;
57
+ const { envRoot } = await this.environmentBuilder.build(delegationId, params.environment);
58
+ delegation.exportPath = envRoot;
57
59
  const stateMachine = new DelegationStateMachine();
58
60
  this.delegations.set(delegationId, delegation);
59
61
  this.stateMachines.set(delegationId, stateMachine);
@@ -64,9 +66,7 @@ export class DelegatorService {
64
66
  delegationId,
65
67
  task: params.task,
66
68
  lease: { ttlSeconds, accessMode },
67
- workspace: {
68
- exportName: `awcp/${delegationId}`,
69
- },
69
+ environment: params.environment,
70
70
  requirements: {
71
71
  transport: this.transport.type,
72
72
  },
@@ -169,9 +169,8 @@ export class DelegatorService {
169
169
  this.delegations.set(delegationId, delegation);
170
170
  }
171
171
  if (event.type === 'done') {
172
- // Apply result back to workspace if present
173
- if (event.resultBase64 && delegation.localDir) {
174
- await this.applyResult(delegationId, delegation.localDir, event.resultBase64);
172
+ if (event.resultBase64) {
173
+ await this.applyResult(delegationId, event.resultBase64);
175
174
  }
176
175
  const doneMessage = {
177
176
  version: PROTOCOL_VERSION,
@@ -197,24 +196,22 @@ export class DelegatorService {
197
196
  /**
198
197
  * Apply result from Executor back to original workspace
199
198
  */
200
- async applyResult(delegationId, localDir, resultBase64) {
199
+ async applyResult(delegationId, resultBase64) {
201
200
  try {
202
- // Decode base64 to buffer
203
201
  const buffer = Buffer.from(resultBase64, 'base64');
204
- // Write to temp file
205
202
  const tempDir = path.join(os.tmpdir(), 'awcp-results');
206
203
  await fs.mkdir(tempDir, { recursive: true });
207
204
  const archivePath = path.join(tempDir, `${delegationId}-result.zip`);
208
205
  await fs.writeFile(archivePath, buffer);
209
- // Extract to localDir (overwriting existing files)
206
+ const extractDir = path.join(tempDir, delegationId);
207
+ await fs.mkdir(extractDir, { recursive: true });
210
208
  const { exec } = await import('node:child_process');
211
209
  const { promisify } = await import('node:util');
212
210
  const execAsync = promisify(exec);
213
- // Use unzip to extract, overwriting existing files
214
- await execAsync(`unzip -o "${archivePath}" -d "${localDir}"`);
215
- // Cleanup temp file
216
- await fs.unlink(archivePath).catch(() => { });
217
- console.log(`[AWCP Delegator] Applied result to ${localDir}`);
211
+ await execAsync(`unzip -o "${archivePath}" -d "${extractDir}"`);
212
+ await this.environmentBuilder.applyResult(delegationId, extractDir);
213
+ await fs.rm(tempDir, { recursive: true, force: true }).catch(() => { });
214
+ console.log(`[AWCP Delegator] Applied result for ${delegationId}`);
218
215
  }
219
216
  catch (error) {
220
217
  console.error(`[AWCP Delegator] Failed to apply result for ${delegationId}:`, error);
@@ -315,14 +312,14 @@ export class DelegatorService {
315
312
  id: d.id,
316
313
  state: d.state,
317
314
  executorUrl: d.peerUrl,
318
- localDir: d.localDir,
315
+ environment: d.environment,
319
316
  createdAt: d.createdAt,
320
317
  })),
321
318
  };
322
319
  }
323
320
  async cleanup(delegationId) {
324
321
  await this.transport.cleanup(delegationId);
325
- await this.exportManager.release(delegationId);
322
+ await this.environmentBuilder.release(delegationId);
326
323
  this.executorUrls.delete(delegationId);
327
324
  }
328
325
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * AWCP SDK - Delegator and Executor implementations
5
5
  */
6
- export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, type DelegatorConfig, type DelegationDefaults, type DelegatorHooks, startDelegatorDaemon, DelegatorDaemonClient, type DaemonConfig, type DaemonInstance, type DelegateRequest, type DelegateResponse, type ListDelegationsResponse, AdmissionController, type AdmissionConfig, type AdmissionResult, type WorkspaceStats, ExportManager, ExecutorClient, } from './delegator/index.js';
6
+ export { DelegatorService, type DelegatorServiceOptions, type DelegateParams, type DelegatorServiceStatus, type DelegatorConfig, type EnvironmentConfig, type DelegationDefaults, type DelegatorHooks, startDelegatorDaemon, DelegatorDaemonClient, type DaemonConfig, type DaemonInstance, type DelegateRequest, type DelegateResponse, type ListDelegationsResponse, AdmissionController, type AdmissionConfig, type AdmissionResult, type WorkspaceStats, EnvironmentBuilder, type EnvironmentManifest, type EnvironmentBuildResult, ExecutorClient, type ResourceAdapter, ResourceAdapterRegistry, FsResourceAdapter, } from './delegator/index.js';
7
7
  export { ExecutorService, type ExecutorServiceOptions, type ExecutorServiceStatus, type ExecutorConfig, type PolicyConstraints, type ExecutorHooks, type TaskStartContext, WorkspaceManager, type WorkspaceValidation, } from './executor/index.js';
8
8
  export * from '@awcp/core';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAEL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAEnB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAEL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,gBAAgB,EAChB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAM7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAEL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,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,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,cAAc,EAEd,KAAK,eAAe,EACpB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAEL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,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, ExportManager, ExecutorClient, } from './delegator/index.js';
15
+ AdmissionController, EnvironmentBuilder, ExecutorClient, ResourceAdapterRegistry, FsResourceAdapter, } from './delegator/index.js';
16
16
  // ============================================
17
17
  // Executor API (for executing delegations)
18
18
  // ============================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,gBAAgB;AAQhB,cAAc;AACd,oBAAoB,EACpB,qBAAqB;AAMrB,YAAY;AACZ,mBAAmB,EAInB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,eAAe;AAQf,YAAY;AACZ,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,uCAAuC;AACvC,+CAA+C;AAE/C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,gBAAgB;AAShB,cAAc;AACd,oBAAoB,EACpB,qBAAqB;AAMrB,YAAY;AACZ,mBAAmB,EAInB,kBAAkB,EAGlB,cAAc,EAGd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,+CAA+C;AAC/C,2CAA2C;AAC3C,+CAA+C;AAE/C,OAAO;AACL,UAAU;AACV,eAAe;AAQf,YAAY;AACZ,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,uCAAuC;AACvC,+CAA+C;AAE/C,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awcp/sdk",
3
- "version": "0.0.0-dev-202602010544",
3
+ "version": "0.0.0-dev-202602020728",
4
4
  "description": "AWCP SDK - Delegator and Executor Daemon implementations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -45,7 +45,7 @@
45
45
  "test:watch": "vitest"
46
46
  },
47
47
  "dependencies": {
48
- "@awcp/core": "0.0.0-dev-202602010544",
48
+ "@awcp/core": "0.0.0-dev-202602020728",
49
49
  "@a2a-js/sdk": "^0.3.5"
50
50
  },
51
51
  "peerDependencies": {
@@ -1,27 +0,0 @@
1
- /**
2
- * Export Manager - manages export directories on Delegator side
3
- */
4
- import type { ExportConfig } from './config.js';
5
- /**
6
- * Manages export directory allocation and cleanup.
7
- */
8
- export declare class ExportManager {
9
- private baseDir;
10
- private strategy;
11
- private exports;
12
- constructor(config?: ExportConfig);
13
- /**
14
- * Allocate an export path for a delegation.
15
- * Returns path with trailing slash for SSHFS symlink compatibility.
16
- */
17
- allocate(delegationId: string, localDir: string): Promise<string>;
18
- /** Release an export and remove the directory */
19
- release(delegationId: string): Promise<void>;
20
- /** Get the export path for a delegation */
21
- getPath(delegationId: string): string | undefined;
22
- /** Release all exports */
23
- releaseAll(): Promise<void>;
24
- /** Cleanup stale export directories from previous runs */
25
- cleanupStale(): Promise<number>;
26
- }
27
- //# sourceMappingURL=export-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-manager.d.ts","sourceRoot":"","sources":["../../src/delegator/export-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAA6B;gBAEhC,MAAM,CAAC,EAAE,YAAY;IAKjC;;;OAGG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BvE,iDAAiD;IAC3C,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,2CAA2C;IAC3C,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD,0BAA0B;IACpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,0DAA0D;IACpD,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAetC"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Export Manager - manages export directories on Delegator side
3
- */
4
- import { mkdir, rm, symlink, readdir } from 'node:fs/promises';
5
- import { join } from 'node:path';
6
- const DEFAULT_EXPORT_BASE = '/tmp/awcp/exports';
7
- /**
8
- * Manages export directory allocation and cleanup.
9
- */
10
- export class ExportManager {
11
- baseDir;
12
- strategy;
13
- exports = new Map();
14
- constructor(config) {
15
- this.baseDir = config?.baseDir ?? DEFAULT_EXPORT_BASE;
16
- this.strategy = config?.strategy ?? 'symlink';
17
- }
18
- /**
19
- * Allocate an export path for a delegation.
20
- * Returns path with trailing slash for SSHFS symlink compatibility.
21
- */
22
- async allocate(delegationId, localDir) {
23
- const exportPath = join(this.baseDir, delegationId, 'workspace');
24
- await mkdir(join(this.baseDir, delegationId), { recursive: true });
25
- switch (this.strategy) {
26
- case 'symlink':
27
- await symlink(localDir, exportPath);
28
- break;
29
- case 'bind':
30
- // Not implemented, fallback to symlink
31
- await symlink(localDir, exportPath);
32
- break;
33
- case 'worktree':
34
- // Not implemented, fallback to symlink
35
- await symlink(localDir, exportPath);
36
- break;
37
- }
38
- this.exports.set(delegationId, exportPath);
39
- // Trailing slash for SSHFS symlink compatibility
40
- // See: https://github.com/libfuse/sshfs/issues/312
41
- return exportPath + '/';
42
- }
43
- /** Release an export and remove the directory */
44
- async release(delegationId) {
45
- const exportPath = this.exports.get(delegationId);
46
- if (!exportPath)
47
- return;
48
- try {
49
- const delegationDir = join(this.baseDir, delegationId);
50
- await rm(delegationDir, { recursive: true, force: true });
51
- this.exports.delete(delegationId);
52
- }
53
- catch (error) {
54
- console.error(`Failed to release export for ${delegationId}:`, error);
55
- }
56
- }
57
- /** Get the export path for a delegation */
58
- getPath(delegationId) {
59
- return this.exports.get(delegationId);
60
- }
61
- /** Release all exports */
62
- async releaseAll() {
63
- for (const delegationId of this.exports.keys()) {
64
- await this.release(delegationId);
65
- }
66
- }
67
- /** Cleanup stale export directories from previous runs */
68
- async cleanupStale() {
69
- let cleaned = 0;
70
- try {
71
- const entries = await readdir(this.baseDir, { withFileTypes: true });
72
- for (const entry of entries) {
73
- if (entry.isDirectory() && !this.exports.has(entry.name)) {
74
- await rm(join(this.baseDir, entry.name), { recursive: true, force: true });
75
- cleaned++;
76
- }
77
- }
78
- }
79
- catch {
80
- // Base directory may not exist yet
81
- }
82
- return cleaned;
83
- }
84
- }
85
- //# sourceMappingURL=export-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-manager.js","sourceRoot":"","sources":["../../src/delegator/export-manager.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Export view configuration
3
- */
4
- export interface ExportConfig {
5
- /** Base directory for export views (default: /tmp/awcp/exports) */
6
- baseDir?: string;
7
- /** Strategy for creating export view */
8
- strategy?: 'symlink' | 'bind' | 'worktree';
9
- }
10
- /**
11
- * Export View Manager
12
- *
13
- * Creates isolated export views for each delegation.
14
- * This prevents exposing real paths and enables cleanup.
15
- */
16
- export declare class ExportViewManager {
17
- private config;
18
- private exports;
19
- constructor(config?: ExportConfig);
20
- /**
21
- * Create an export view for a delegation
22
- *
23
- * @returns The path to the export view (with trailing slash for SSHFS symlink compatibility)
24
- */
25
- create(delegationId: string, localDir: string): Promise<string>;
26
- /**
27
- * Cleanup an export view
28
- */
29
- cleanup(delegationId: string): Promise<void>;
30
- /**
31
- * Get the export path for a delegation
32
- */
33
- getExportPath(delegationId: string): string | undefined;
34
- /**
35
- * Cleanup all export views
36
- */
37
- cleanupAll(): Promise<void>;
38
- /**
39
- * Cleanup stale export directories from previous runs
40
- */
41
- cleanupStaleExports(): Promise<number>;
42
- }
43
- //# sourceMappingURL=export-view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-view.d.ts","sourceRoot":"","sources":["../../src/delegator/export-view.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;CAC5C;AAOD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAA6B;gBAEhC,MAAM,CAAC,EAAE,YAAY;IAIjC;;;;OAIG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCrE;;OAEG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlD;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAsB7C"}
@@ -1,108 +0,0 @@
1
- import { mkdir, rm, symlink, readdir } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- /**
4
- * Default export base directory
5
- */
6
- const DEFAULT_EXPORT_BASE = '/tmp/awcp/exports';
7
- /**
8
- * Export View Manager
9
- *
10
- * Creates isolated export views for each delegation.
11
- * This prevents exposing real paths and enables cleanup.
12
- */
13
- export class ExportViewManager {
14
- config;
15
- exports = new Map();
16
- constructor(config) {
17
- this.config = config ?? {};
18
- }
19
- /**
20
- * Create an export view for a delegation
21
- *
22
- * @returns The path to the export view (with trailing slash for SSHFS symlink compatibility)
23
- */
24
- async create(delegationId, localDir) {
25
- const baseDir = this.config.baseDir ?? DEFAULT_EXPORT_BASE;
26
- const exportPath = join(baseDir, delegationId, 'workspace');
27
- // Create export directory structure
28
- await mkdir(join(baseDir, delegationId), { recursive: true });
29
- // Create the export view based on strategy
30
- const strategy = this.config.strategy ?? 'symlink';
31
- switch (strategy) {
32
- case 'symlink':
33
- await symlink(localDir, exportPath);
34
- break;
35
- case 'bind':
36
- // Bind mount - requires root/sudo
37
- console.warn('Bind mount not implemented, falling back to symlink');
38
- await symlink(localDir, exportPath);
39
- break;
40
- case 'worktree':
41
- // Git worktree - requires git repo
42
- console.warn('Git worktree not implemented, falling back to symlink');
43
- await symlink(localDir, exportPath);
44
- break;
45
- }
46
- this.exports.set(delegationId, exportPath);
47
- // Return path with trailing slash for SSHFS symlink compatibility
48
- // See: https://github.com/libfuse/sshfs/issues/312
49
- return exportPath + '/';
50
- }
51
- /**
52
- * Cleanup an export view
53
- */
54
- async cleanup(delegationId) {
55
- const exportPath = this.exports.get(delegationId);
56
- if (!exportPath) {
57
- return;
58
- }
59
- try {
60
- const baseDir = this.config.baseDir ?? DEFAULT_EXPORT_BASE;
61
- const delegationDir = join(baseDir, delegationId);
62
- await rm(delegationDir, { recursive: true, force: true });
63
- this.exports.delete(delegationId);
64
- }
65
- catch (error) {
66
- console.error(`Failed to cleanup export view for ${delegationId}:`, error);
67
- }
68
- }
69
- /**
70
- * Get the export path for a delegation
71
- */
72
- getExportPath(delegationId) {
73
- return this.exports.get(delegationId);
74
- }
75
- /**
76
- * Cleanup all export views
77
- */
78
- async cleanupAll() {
79
- for (const delegationId of this.exports.keys()) {
80
- await this.cleanup(delegationId);
81
- }
82
- }
83
- /**
84
- * Cleanup stale export directories from previous runs
85
- */
86
- async cleanupStaleExports() {
87
- const baseDir = this.config.baseDir ?? DEFAULT_EXPORT_BASE;
88
- let cleaned = 0;
89
- try {
90
- const entries = await readdir(baseDir, { withFileTypes: true });
91
- for (const entry of entries) {
92
- if (entry.isDirectory()) {
93
- const delegationId = entry.name;
94
- // Only clean directories not currently tracked
95
- if (!this.exports.has(delegationId)) {
96
- await rm(join(baseDir, delegationId), { recursive: true, force: true });
97
- cleaned++;
98
- }
99
- }
100
- }
101
- }
102
- catch {
103
- // Base directory may not exist yet
104
- }
105
- return cleaned;
106
- }
107
- }
108
- //# sourceMappingURL=export-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-view.js","sourceRoot":"","sources":["../../src/delegator/export-view.ts"],"names":[],"mappings":"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"}